pax_global_header00006660000000000000000000000064152344766400014525gustar00rootroot0000000000000052 comment=917017d75a5dfa7e304fb94855b577d85e19f1bc bazaar-org-bazaar-917017d/000077500000000000000000000000001523447664000152665ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.clang-format000066400000000000000000000007531523447664000176460ustar00rootroot00000000000000BasedOnStyle: GNU AlwaysBreakAfterDefinitionReturnType: All BreakBeforeBinaryOperators: None BinPackParameters: false SpaceAfterCStyleCast: true PointerAlignment: Right ColumnLimit: 0 AlignArrayOfStructures: Right AlignAfterOpenBracket: Align AlignConsecutiveAssignments: true AlignConsecutiveBitFields: true AlignConsecutiveDeclarations: true AlignConsecutiveMacros: true AllowShortCaseLabelsOnASingleLine: true AlignEscapedNewlines: true AlignOperands: true AlignTrailingComments: Always bazaar-org-bazaar-917017d/.devcontainer/000077500000000000000000000000001523447664000200255ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.devcontainer/Dockerfile000066400000000000000000000010321523447664000220130ustar00rootroot00000000000000FROM fedora:rawhide RUN dnf update -y && dnf install -y \ meson \ ninja \ cmake \ just \ git \ blueprint-compiler \ desktop-file-utils \ gtk4-devel \ libadwaita-devel \ libdex-devel \ flatpak-devel \ libxmlb-devel \ appstream-devel \ glycin-devel \ glycin-gtk4-devel \ libyaml-devel \ libsoup3-devel \ json-glib-devel \ md4c-devel \ webkitgtk6.0-devel \ libsecret-devel \ libproxy-devel \ gtksourceview5-devel \ glib-networking \ clangd bazaar-org-bazaar-917017d/.devcontainer/devcontainer.json000066400000000000000000000017551523447664000234110ustar00rootroot00000000000000{ "name": "Bazaar devcontainer", "build": { "dockerfile": "Dockerfile" }, "runArgs": [ "--device=/dev/dri", "--network=host" ], "features": { "ghcr.io/devcontainers/features/common-utils:2": { "installZsh": "false", "username": "vscode", "userUid": "1000", "userGid": "1000", "upgradePackages": "true" } }, "remoteUser": "vscode", "customizations": { "vscode": { "extensions": [ "ms-vscode.cpptools-extension-pack", "bodil.blueprint-gtk" ] } }, // Wayland support "containerEnv": { "WAYLAND_DISPLAY": "${localEnv:WAYLAND_DISPLAY}", "XDG_RUNTIME_DIR": "${localEnv:XDG_RUNTIME_DIR}", "XDG_SESSION_TYPE": "${localEnv:XDG_SESSION_TYPE}", "DBUS_SYSTEM_BUS_ADDRESS": "unix:path=/var/run/dbus/system_bus_socket" }, "mounts": [ "source=${localEnv:XDG_RUNTIME_DIR},target=${localEnv:XDG_RUNTIME_DIR},type=bind,consistency=cached", "source=/var/run/dbus/system_bus_socket,target=/var/run/dbus/system_bus_socket,type=bind,consistency=cached" ] }bazaar-org-bazaar-917017d/.foundry/000077500000000000000000000000001523447664000170325ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.foundry/.gitignore000066400000000000000000000000221523447664000210140ustar00rootroot00000000000000tmp/ user/ cache/ bazaar-org-bazaar-917017d/.github/000077500000000000000000000000001523447664000166265ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.github/CODEOWNERS000066400000000000000000000001761523447664000202250ustar00rootroot00000000000000# All files * @kolunmi @AlexanderVanhee .github/workflows/ @renner0e @tulilirockz build-aux/flatpak/ @renner0e @tulilirockz bazaar-org-bazaar-917017d/.github/FUNDING.yml000066400000000000000000000001201523447664000204340ustar00rootroot00000000000000github: [kolunmi] ko_fi: kolunmi custom: - https://ko-fi.com/alexandervanhee bazaar-org-bazaar-917017d/.github/ISSUE_TEMPLATE/000077500000000000000000000000001523447664000210115ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.github/ISSUE_TEMPLATE/bug_form.yml000066400000000000000000000040001523447664000233260ustar00rootroot00000000000000name: Bug Report description: Report an issue about using Bazaar body: - type: markdown attributes: value: | Thank you for taking the time to fill out this bug report! - type: textarea id: describe-bug attributes: label: Describe the bug description: A clear and concise description of what the bug is. If you are reporting a crash please take a look at https://github.com/bazaar-org/bazaar/blob/debug-symbols/docs/debugging.md#debugging-crashes placeholder: Tell us what happened! value: "When I entered 2 + 2, I got the answer 6." validations: required: true - type: input id: os attributes: label: OS description: Operating system (and desktop environment) placeholder: , validations: required: true - type: textarea id: version attributes: label: Version description: | Please check the current version of Bazaar (Main Window > About Bazaar) so we can more easily indentify issues. Output of `flatpak info io.github.kolunmi.Bazaar`. If you are on Bazzite or secureblue please run `rpm -qi bazaar` validations: required: true - type: textarea id: flatpak-remotes attributes: label: Configured Flatpak Remotes description: | Currently there are issues with user remotes. Please run `flatpak remotes`. placeholder: | Name Options flathub system validations: required: true - type: textarea id: hardware attributes: label: Hardware description: | If you are reporting performance issues or crashes then please fill this out. placeholder: | CPU: Ryzen 5 7600 GPU: RX 6750 XT RAM: 16GB validations: required: false - type: textarea id: extra-context attributes: label: Extra information or context description: Add any other context about the problem here. bazaar-org-bazaar-917017d/.github/workflows/000077500000000000000000000000001523447664000206635ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.github/workflows/build-flatpak.yml000066400000000000000000000036311523447664000241300ustar00rootroot00000000000000on: push: branches: [main] pull_request: paths-ignore: - "**.md" - "docs/*" - "screenshots/*" - "translators.sh" - ".github/ISSUE_TEMPLATE/**" workflow_dispatch: permissions: {} name: CI Build Flatpak jobs: flatpak: name: "Flatpak" container: image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-50 options: --privileged strategy: matrix: variant: - arch: x86_64 runner: ubuntu-latest # no latest for ARM :( - arch: aarch64 runner: ubuntu-24.04-arm runs-on: ${{ matrix.variant.runner }} steps: - name: Git Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: submodules: recursive persist-credentials: false - name: Restore cache uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: .flatpak-builder key: flatpak-builder-046f9ec-${{ matrix.variant.arch }}-${{ github.run_id }} restore-keys: | flatpak-builder-046f9ec-${{ matrix.variant.arch }}- - name: Build Flatpak uses: flatpak/flatpak-github-actions/flatpak-builder@401fe28a8384095fc1531b9d320b292f0ee45adb # v6.7 with: bundle: Bazaar.flatpak manifest-path: build-aux/flatpak/io.github.kolunmi.Bazaar.json # caching is broken upstream # https://github.com/flatpak/flatpak-github-actions/issues/239 # this is only true because there is no other way to call fb with --ccache cache: true restore-cache: false arch: ${{ matrix.variant.arch }} verbose: true - name: Write new cache uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: .flatpak-builder key: flatpak-builder-046f9ec-${{ matrix.variant.arch }}-${{ github.run_id }} bazaar-org-bazaar-917017d/.github/workflows/flatpak-external-data-checker.yml000066400000000000000000000020521523447664000271600ustar00rootroot00000000000000name: Check for Flatpak dependency updates on: schedule: - cron: "0 0 * * *" # every day workflow_dispatch: jobs: flatpak-external-data-checker: runs-on: ubuntu-latest strategy: matrix: branch: [ main ] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ matrix.branch }} - uses: docker://ghcr.io/flathub/flatpak-external-data-checker:latest env: GIT_AUTHOR_NAME: Flatpak External Data Checker GIT_COMMITTER_NAME: Flatpak External Data Checker # email sets "github-actions[bot]" as commit author, see https://github.community/t/github-actions-bot-email-address/17204/6 GIT_AUTHOR_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com GIT_COMMITTER_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: args: --update --never-fork --require-important-update build-aux/flatpak/io.github.kolunmi.Bazaar.json bazaar-org-bazaar-917017d/.gitignore000066400000000000000000000000151523447664000172520ustar00rootroot00000000000000build .cache bazaar-org-bazaar-917017d/.gitmodules000066400000000000000000000002141523447664000174400ustar00rootroot00000000000000[submodule "flatpak-builder-tools"] path = build-aux/flatpak/flatpak-builder-tools url = https://github.com/flatpak/flatpak-builder-tools bazaar-org-bazaar-917017d/.well-known/000077500000000000000000000000001523447664000174415ustar00rootroot00000000000000bazaar-org-bazaar-917017d/.well-known/funding-manifest-urls000066400000000000000000000000601523447664000236010ustar00rootroot00000000000000https://www.kolunmi.net/ https://usebazaar.org/ bazaar-org-bazaar-917017d/CODESTYLE.md000066400000000000000000000042131523447664000171430ustar00rootroot00000000000000# Bazaar Code Style Rules Thanks for your interest in contributing to Bazaar! Here are the code style rules which you must adhere to in order to keep a clean and consistent codebase: ## Formatting Bazaar uses the GNU C style. The `.clang-format` file at the root project directory will configure `clang-format` to follow the proper conventions. ## General Rules * _Always_ prefer using `g_auto`, `g_autofree`, `g_autoptr`, `g_autolist`, and `g_autoslist` over calling `*_unref` or `*_free` manually. If a variable needs to escape the scope, either increment its reference count or use `g_steal_pointer`. * When you are otherwise forced to call `*_unref` or `*_free` manually, _always_ use `g_clear_pointer` or `g_clear_object`. This prevents use-after-free bugs. * _Always_ prefer using the libdex API over the older GTask API for async operations. It is cleaner and easier to read, and it prevents callbacks from cluttering the source file. This often means spawning a fiber and using `dex_await`. To wrap a call to a function which uses GTask, use [dex_async_pair_new](https://gnome.pages.gitlab.gnome.org/libdex/libdex-1/class.AsyncPair.html). See `src/bz-download-worker.c` for an example of this. * _Always_ declare variables first and initialize them to `0` or `NULL`. Function calls must not be made in the declaration section of a scope. * The general layout of a `.c` file must be in this order: 1. License comment with your name mentioned 2. `#include "config.h"` 3. Include external headers, like `#include ` 4. Include internal headers, like `#include "env.h"` 5. If applicable, define the class's internal struct 6. If applicable, `G_DEFINE_TYPE (...)` or equivalent 7. If applicable, the property enums and `static GParamSpec *props[LAST_PROP] = { 0 };` 8. Declare static functions (which are not virtual methods) 9. If applicable, define class virtual methods (`dispose`, `class_init`, `snapshot`, etc) 10. Define the public API (non-`static` functions which were declared in this `.c` file's associated `.h` header file) 11. Define the static functions which were previously declared in this file bazaar-org-bazaar-917017d/CONTRIBUTING.md000066400000000000000000000067731523447664000175340ustar00rootroot00000000000000# Contributing Guide Thank you for contributing to Bazaar! Here are some instructions to get you started. * [New Contributor Guide](#contributing-guide) * [Ways to Contribute](#ways-to-contribute) * [Find an Issue](#find-an-issue) * [Ask for Help](#ask-for-help) * [Pull Request Lifecycle](#pull-request-lifecycle) * [Development Environment Setup](#development-environment-setup) * [Sign Your Commits](#sign-your-commits) * [Pull Request Checklist](#pull-request-checklist) Welcome! We are glad that you are here! 💖 As you get started, you are in the best position to give us feedback on areas of our project that we need help with including: * Problems found during setting up a new developer environment * Documentation * Bugs in our automation scripts and actions If anything doesn't make sense, or doesn't work when you run it, please open a bug report and let us know! ## Ways to Contribute We welcome many different types of contributions including: * New features * Builds, CI/CD * Bug fixes * Documentation * Issue Triage * Answering questions in Discussions * Release management * [Translations](https://github.com/bazaar-org/bazaar/blob/master/TRANSLATORS.md) - follow the dedicated instructions in that document ## Find an Issue These are the issues that need the most amount of attention and would be an effective way to get started: - [Help Wanted issues](https://github.com/bazaar-org/bazaar/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22help%20wanted%22) - [Good first issues](https://github.com/bazaar-org/bazaar/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22) Sometimes there won’t be any issues with these labels. That’s ok! There is likely still something for you to work on. If you want to contribute but you don’t know where to start or can't find a suitable issue then feel free to post on the [discussion forum](https://github.com/bazaar-org/bazaar/discussions) Once you see an issue that you'd like to work on, please post a comment saying that you want to work on it. Something like "I want to work on this" is fine. ## Ask for Help The best way to reach us with a question when contributing is to ask on: * The original github issue you want to contribute to * The [discussions](https://github.com/bazaar-org/bazaar/discussions) area ## Building GNOME Builder or ```sh just build-flatpak ``` See [Flatpak Docs](https://docs.flatpak.org/en/latest/flatpak-builder.html) ### Find out which version is installed for bug reports ```sh flatpak info io.github.kolunmi.Bazaar ``` ### Verbose output ```sh G_MESSAGES_DEBUG=all flatpak run io.github.kolunmi.Bazaar ``` ## Pull Request Lifecycle [Instructions](https://contribute.cncf.io/maintainers/github/templates/required/contributing/#pull-request-lifecycle) ⚠️ **Explain your pull request process** ## Sign Your Commits [Instructions](https://contribute.cncf.io/maintainers/github/templates/required/contributing/#sign-your-commits) ## Pull Request Checklist When you submit your pull request, or you push new commits to it, our automated systems will run some checks on your new code. We require that your pull request passes these checks, but we also have more criteria than just that before we can accept and merge it. We recommend that you check the following things locally before you submit your code: - [ ] Use the GNU Style Guide - [ ] Format your commits using `clang-format`; see [.clang-format](/.clang-format) - [ ] Follow the [GNOME Commit Style](https://handbook.gnome.org/development/commit-messages.html) bazaar-org-bazaar-917017d/COPYING000066400000000000000000001045201523447664000163230ustar00rootroot00000000000000 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 . bazaar-org-bazaar-917017d/Justfile000066400000000000000000000051151523447664000170000ustar00rootroot00000000000000# These are just convenience scripts, NOT a build system! appid := env("BAZAAR_APPID", "io.github.kolunmi.Bazaar") manifest := "./build-aux/flatpak/" + appid + ".json" branch := env("BAZAAR_BRANCH", "master") just := just_executable() alias run := run-base run-base: build-base ./build/src/bazaar build-base: meson setup build --wipe ninja -C build build-flatpak $manifest=manifest $branch=branch: #!/usr/bin/env bash set -xeuo pipefail flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo FLATPAK_BUILDER_DIR="$(realpath ".flatpak-builder")" BUILDER_ARGS+=(--default-branch="${branch}") BUILDER_ARGS+=(--state-dir="${FLATPAK_BUILDER_DIR}/flatpak-builder") BUILDER_ARGS+=("--user") BUILDER_ARGS+=("--ccache") BUILDER_ARGS+=("--force-clean") BUILDER_ARGS+=("--install") BUILDER_ARGS+=("--disable-updates") BUILDER_ARGS+=("--disable-rofiles-fuse") BUILDER_ARGS+=("${FLATPAK_BUILDER_DIR}/build-dir") BUILDER_ARGS+=("${manifest}") if which flatpak-builder &>/dev/null ; then flatpak-builder "${BUILDER_ARGS[@]}" else flatpak run org.flatpak.Builder "${BUILDER_ARGS[@]}" fi build-flatpak-bundle $appid=appid: build-flatpak #!/usr/bin/env bash set -euo pipefail FLATPAK_BUILDER_DIR="$(realpath ".flatpak-builder")" flatpak build-export repo "${FLATPAK_BUILDER_DIR}/build-dir" flatpak build-bundle repo "${appid}".flatpak "${appid}" build-rpm: #!/usr/bin/env bash mkdir -p rpmbuild podman run --rm -i -v .:/build:Z -v ./rpmbuild:/root/rpmbuild:Z registry.fedoraproject.org/fedora:latest <<'EOF' set -xeuo pipefail dnf install -y rpmdevtools mkdir -p $HOME/rpmbuild/SOURCES RPMDIR="/build/build-aux/rpm" cp "${RPMDIR}"/* $HOME/rpmbuild/SOURCES spectool -agR "${RPMDIR}"/bazaar.spec dnf builddep -y "${RPMDIR}"/bazaar.spec rpmbuild -bb "${RPMDIR}"/bazaar.spec EOF [private] default: @{{ just }} --list # Check just Syntax [group('just')] check: #!/usr/bin/bash find . -type f -name "*.just" | while read -r file; do echo "Checking syntax: $file" {{ just }} --unstable --fmt --check -f $file done echo "Checking syntax: Justfile" {{ just }} --unstable --fmt --check -f Justfile # Fix {{ just }} Syntax [group('{{ just }}')] fix: #!/usr/bin/bash find . -type f -name "*.just" | while read -r file; do echo "Checking syntax: $file" {{ just }} --unstable --fmt -f $file done echo "Checking syntax: Justfile" {{ just }} --unstable --fmt -f Justfile || { exit 1; } bazaar-org-bazaar-917017d/README.md000066400000000000000000000161521523447664000165520ustar00rootroot00000000000000


Bazaar

Discover and install apps

Screenshot showing Bazaar's Flathub page
> [!NOTE] > If you are a distributor/packager who would like to learn how to > customize Bazaar, take a look at the [docs](/docs/overview.md). > [!NOTE] > If you are interested in contributing code to Bazaar (Thank you!), > please see the [style rules](/CODESTYLE.md). > [!NOTE] > If you are interested in contributing translations to Bazaar (Thank > you!), please see the [Damned Lies Module](https://l10n.gnome.org/module/bazaar/). Bazaar is a new app store for GNOME with a focus on discovering and installing apps and add-ons from Flatpak remotes, particularly [Flathub](https://flathub.org/). It emphasizes supporting the developers who make the Linux desktop possible. Bazaar features a "curated" tab that can be configured by distributors to allow for a more localized experience. Bazaar is fast and highly multi-threaded, guaranteeing a smooth experience in the user interface. You can queue as many downloads as you wish and run them while perusing Flathub's latest releases. This is due to the UI being completely decoupled from all backend operations. It runs as a service, meaning state will be maintained even if you close all windows, and implements the gnome-shell search provider dbus interface. A krunner [plugin](https://github.com/ublue-os/krunner-bazaar) is available for use on the KDE Plasma desktop. Thanks to [Tobias Bernard](https://tobiasbernard.com/), [Jakub Steiner](http://jimmac.eu), and [Sam Hewitt](https://snwh.org) for designing Bazaar's market stall icon. ### Installing Pre-built binaries are distributed via Flathub and GitHub actions: Get it on Flathub [![Build Flatpak and Upload Artifact](https://github.com/bazaar-org/bazaar/actions/workflows/build-flatpak.yml/badge.svg)](https://github.com/bazaar-org/bazaar/actions/workflows/build-flatpak.yml) There also exist packages for [Debian](https://tracker.debian.org/pkg/bazaar) and [Arch](https://archlinux.org/packages/extra/x86_64/bazaar/). These are not directly supported but should work fine. If you encounter a bug on any package of Bazaar other than the flatpak, ensure the bug also exists on the flatpak before reporting it here. ### Supporting If you would like to support me and the development of this app (Thank you!), I have a ko-fi here! [![Ko-Fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/kolunmi) Thanks to everyone in the GNOME development community for creating such an awesome desktop environment! ### Contributing If you would like to try this project on your local machine, clone it on the cli and type these commands inside the project root: ```sh meson setup build --prefix=/usr --libdir=/usr/lib64 ninja -C build sudo ninja -C build install bazaar ``` You will need the following dependencies installed, along with a C compiler, meson, and ninja: | Dep Name | `pkg-config` Name | Min Version | Justification | |-------------------------------------------------------------------|-------------------|-------------|-----------------------------------------------------| | [gtk4](https://gitlab.gnome.org/GNOME/gtk/) | `gtk4` | `4.22.1` | GUI | | [libadwaita](https://gitlab.gnome.org/GNOME/libadwaita) | `libadwaita-1` | `1.8` | GNOME styling | | [libdex](https://gitlab.gnome.org/GNOME/libdex) | `libdex-1` | `1.0` | Async helpers | | [flatpak](https://github.com/flatpak/flatpak) | `flatpak` | `1.9` | Flatpak installation management | | [appstream](https://github.com/ximion/appstream) | `appstream` | `1.0` | Interpret application metadata | | [xmlb](https://github.com/hughsie/libxmlb) | `xmlb` | `0.3.4` | Handle binary xml appstream bundles/Parse plain xml | | [glycin](https://gitlab.gnome.org/GNOME/glycin) | `glycin-2` | `2.0` | Decode image URIs | | [glycin-gtk4](https://gitlab.gnome.org/GNOME/glycin) | `glycin-gtk4-2` | `2.0` | Convert glycin frames to texture representations | | [libyaml](https://github.com/yaml/libyaml) | `yaml-0.1` | `0.2.5` | Parse YAML configs | | [libsoup](https://gitlab.gnome.org/GNOME/libsoup) | `libsoup-3.0` | `3.6.0` | HTTP operations | | [json-glib](https://gitlab.gnome.org/GNOME/json-glib) | `json-glib-1.0` | `1.10.0` | Parse some HTTP replies | | [md4c](https://github.com/mity/md4c) | `md4c` | `0.5.1` | Parse markdown (.md) | | [gtksourceview](https://gitlab.gnome.org/GNOME/gtksourceview) | `gtksourceview-5` | `5.17` | Render markdown code blocks | | [webkitgtk](https://webkitgtk.org/) | `webkitgtk-6.0` | `2.50.2` | Render web views | | [libsecret](https://gitlab.gnome.org/GNOME/libsecret) | `libsecret-1` | `0.20` | Store Flathub account information | | [libproxy](https://github.com/libproxy/libproxy) | `libproxy-1.0` | `0.5` | Parse proxies for networking operations | | [malcontent](https://gitlab.freedesktop.org/pwithnall/malcontent) | `malcontent-0` | `0.12.0` | Adhere to system parental controls settings | #### Code of Conduct This project adheres to the [GNOME Code of Conduct](https://conduct.gnome.org/). By participating through any means, including PRs, Issues or Discussions, you are expected to uphold this code. ### What people are saying - [Why Bazaar Is the Best Flatpak App Store You’re Not Using](https://fossforce.com/2025/10/why-bazaar-is-the-best-flatpak-app-store-youre-not-using/) - [Bazaar is a game changer](https://gardinerbryant.com/linux-software-management-is-about-to-change-with-bazaar/) - [Bazaar is a Slick New Desktop Flathub Frontend](https://www.omgubuntu.co.uk/2025/08/bazaar-new-flatpak-app-store-gnome-linux) - [Bazaar Is the Flatpak Store GNOME Always Needed](https://linuxiac.com/bazaar-is-the-flatpak-store-gnome-always-needed/) bazaar-org-bazaar-917017d/bazaar.doap000066400000000000000000000026111523447664000173730ustar00rootroot00000000000000 bazaar Discover and install applications A new app store for Linux with a focus on discovering and installing apps and add-ons from Flatpak remotes, particularly Flathub. C GTK 4 Libadwaita Kolunmi kolunmi bazaar-org-bazaar-917017d/bge/000077500000000000000000000000001523447664000160235ustar00rootroot00000000000000bazaar-org-bazaar-917017d/bge/README.md000066400000000000000000000000301523447664000172730ustar00rootroot00000000000000# Bazaar GTK Extensions bazaar-org-bazaar-917017d/bge/bge-animation-private.h000066400000000000000000000032341523447664000223600ustar00rootroot00000000000000/* bge-animation-private.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include /* Copied with modifications from libadwaita */ double spring_oscillate (double damping, double mass, double stiffness, double from, double to, double time, double *velocity); /* Copied with modifications from libadwaita */ double spring_get_first_zero (double damping, double mass, double stiffness, double from, double to); /* Copied with modifications from libadwaita */ double spring_calculate_duration (double damping, double mass, double stiffness, double from, double to, gboolean clamp); gboolean bge_should_animate (GtkWidget *widget); bazaar-org-bazaar-917017d/bge/bge-animation.c000066400000000000000000000543111523447664000207050ustar00rootroot00000000000000/* bge-animation.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ /* This animation implementation was originally from my other project, libpastry: https://github.com/kolunmi/libpastry */ /** * BgeAnimation: * * Manages animations for a widget. Individual value animations are tracked in a * hash map with string keys, allowing them to be easily restarted or replaced. */ #define G_LOG_DOMAIN "BGE::ANIMATION" #define DELTA 0.001 #define EPSILON 0.00001 #include "bge.h" #include "bge-animation-private.h" enum { PROP_0, PROP_WIDGET, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; struct _BgeAnimation { GObject parent_instance; GtkWidget *widget; GWeakRef wr; guint tag; GHashTable *data; GPtrArray *anonymous; }; G_DEFINE_FINAL_TYPE (BgeAnimation, bge_animation, G_TYPE_OBJECT) typedef struct { double from; double to; double damping_ratio; double mass; double stiffness; double damping; gboolean clamp; BgeAnimationCallback cb; gpointer user_data; GDestroyNotify destroy_data; double est_duration; GTimer *timer; double velocity; GCancellable *cancellable; } SpringData; static gboolean tick_cb (GtkWidget *widget, GdkFrameClock *frame_clock, GWeakRef *wr); static void ensure_tick (BgeAnimation *self, GtkWidget *widget); static void destroy_spring_data (gpointer ptr); static void destroy_wr (gpointer ptr); static void dispose (GObject *object) { BgeAnimation *self = BGE_ANIMATION (object); g_autoptr (GtkWidget) widget = NULL; widget = g_weak_ref_get (&self->wr); if (widget != NULL) { gtk_widget_remove_tick_callback (widget, self->tag); self->tag = 0; } g_clear_object (&widget); g_weak_ref_clear (&self->wr); g_clear_object (&self->widget); g_clear_pointer (&self->data, g_hash_table_unref); g_clear_pointer (&self->anonymous, g_ptr_array_unref); G_OBJECT_CLASS (bge_animation_parent_class)->dispose (object); } static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BgeAnimation *self = BGE_ANIMATION (object); switch (prop_id) { case PROP_WIDGET: g_value_take_object (value, bge_animation_dup_widget (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BgeAnimation *self = BGE_ANIMATION (object); switch (prop_id) { case PROP_WIDGET: g_clear_object (&self->widget); self->widget = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void constructed (GObject *object) { BgeAnimation *self = BGE_ANIMATION (object); g_weak_ref_init (&self->wr, self->widget); g_clear_object (&self->widget); } static void bge_animation_class_init (BgeAnimationClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->constructed = constructed; object_class->set_property = set_property; object_class->get_property = get_property; object_class->dispose = dispose; /** * BgeAnimation:widget: * * The widget on which this animation is attached. */ props[PROP_WIDGET] = g_param_spec_object ( "widget", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bge_animation_init (BgeAnimation *self) { g_weak_ref_init (&self->wr, NULL); self->data = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, destroy_spring_data); self->anonymous = g_ptr_array_new_with_free_func ( destroy_spring_data); } /** * bge_animation_new: * @widget: The widget onto which to attach the tick callback * * Creates a new `BgeAnimation` object. * * Returns: The newly created `BgeAnimation` object. */ BgeAnimation * bge_animation_new (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); return g_object_new ( BGE_TYPE_ANIMATION, "widget", widget, NULL); } /** * bge_animation_dup_widget: * @self: a `BgeAnimation` * * Gets the widget on which @self is attached. * * Returns: (nullable) (transfer full): the widget for @self */ GtkWidget * bge_animation_dup_widget (BgeAnimation *self) { g_return_val_if_fail (BGE_IS_ANIMATION (self), NULL); return g_weak_ref_get (&self->wr); } /** * bge_animation_add_spring: * @self: a `BgeAnimation` * @key: (nullable): a string ID to replace, or NULL for anonymous * @from: the start value * @to: the end value * @damping_ratio: the damping ratio * @mass: the mass * @stiffness: the stiffness * @cb: a tick callback * @user_data: (nullable): the user data pointer to be passed to @cb * @destroy_data: (nullable): the destruction function for @user_data * @cancellable: (nullable): a cancellable to cancel the operation * * Adds a one shot spring animation to @self. If @key is already running in * @self, then the old animation is replaced, maintaining the current velocity. * */ void bge_animation_add_spring (BgeAnimation *self, const char *key, double from, double to, double damping_ratio, double mass, double stiffness, BgeAnimationCallback cb, gpointer user_data, GDestroyNotify destroy_data, GCancellable *cancellable) { g_autoptr (GtkWidget) widget = NULL; g_return_if_fail (BGE_IS_ANIMATION (self)); g_return_if_fail (cb != NULL); widget = g_weak_ref_get (&self->wr); if (widget != NULL) { if (bge_should_animate (widget)) { SpringData *data = NULL; if (key != NULL) /* reuse old data if possible */ data = g_hash_table_lookup (self->data, key); if (data != NULL) { if (data->user_data != NULL && data->destroy_data != NULL) /* we are going to overwrite this */ data->destroy_data (data->user_data); g_clear_pointer (&data->timer, g_timer_destroy); g_clear_object (&data->cancellable); /* old velocity is retained */ } else { data = g_new0 (typeof (*data), 1); if (key != NULL) g_hash_table_replace (self->data, g_strdup (key), data); else g_ptr_array_add (self->anonymous, data); } data->from = from; data->to = to; data->damping_ratio = damping_ratio; data->mass = mass; data->stiffness = stiffness; data->cb = cb; data->user_data = user_data; data->destroy_data = destroy_data; data->damping = damping_ratio * (/* critical damping */ 2 * sqrt (mass * stiffness)); /* We'll fill this in on the first iteration */ data->timer = NULL; if (cancellable != NULL) data->cancellable = g_object_ref (cancellable); data->est_duration = spring_calculate_duration ( data->damping, data->mass, data->stiffness, data->from, data->to, data->clamp); cb (widget, key, from, user_data); ensure_tick (self, widget); } else /* If we shouldn't animate, just invoke the callback at the final value */ { cb (widget, key, to, user_data); if (user_data != NULL && destroy_data != NULL) destroy_data (user_data); } } else { if (user_data != NULL && destroy_data != NULL) destroy_data (user_data); } } /** * bge_animation_has_key: * @self: a `BgeAnimation` * @key: a string ID * * Determines whether @key exists and represents an active animation on @self. * * Returns: a boolean representing whether the string ID exists */ gboolean bge_animation_has_key (BgeAnimation *self, const char *key) { g_return_val_if_fail (BGE_IS_ANIMATION (self), FALSE); g_return_val_if_fail (key != NULL, FALSE); return g_hash_table_contains (self->data, key); } /** * bge_animation_cancel: * @self: a `BgeAnimation` * @key: a string ID to remove * * If @key exists on @self, cancel the associated animation. */ void bge_animation_cancel (BgeAnimation *self, const char *key) { SpringData *data = NULL; g_autoptr (GtkWidget) widget = NULL; g_return_if_fail (BGE_IS_ANIMATION (self)); g_return_if_fail (key != NULL); data = g_hash_table_lookup (self->data, key); if (data == NULL) return; widget = g_weak_ref_get (&self->wr); if (widget != NULL) data->cb (widget, key, data->to, data->user_data); g_hash_table_remove (self->data, key); } /** * bge_animation_cancel_all: * @self: a `BgeAnimation` * * Cancel all animations on @self. */ void bge_animation_cancel_all (BgeAnimation *self) { GHashTableIter iter = { 0 }; g_autoptr (GtkWidget) widget = NULL; g_return_if_fail (BGE_IS_ANIMATION (self)); g_hash_table_iter_init (&iter, self->data); widget = g_weak_ref_get (&self->wr); for (;;) { char *key = NULL; SpringData *data = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &key, (gpointer *) &data)) break; if (widget != NULL) data->cb (widget, key, data->to, data->user_data); g_hash_table_iter_remove (&iter); } } static gboolean tick_cb (GtkWidget *widget, GdkFrameClock *frame_clock, GWeakRef *wr) { g_autoptr (BgeAnimation) self = NULL; gboolean cancel = FALSE; GHashTableIter iter = { 0 }; self = g_weak_ref_get (wr); if (self == NULL) return G_SOURCE_REMOVE; cancel = !bge_should_animate (widget); #define UPDATE(_data, _out_value, _out_finished, _out_cancelled) \ G_STMT_START \ { \ if (cancel || \ ((_data)->cancellable != NULL && \ g_cancellable_is_cancelled ((_data)->cancellable))) \ (_out_finished) = (_out_cancelled) = TRUE; \ else \ { \ double elapsed = 0.0; \ \ if ((_data)->timer == NULL) \ { \ (_data)->timer = g_timer_new (); \ (_out_value) = (_data)->from; \ } \ else \ { \ elapsed = g_timer_elapsed ((_data)->timer, NULL); \ (_out_value) = spring_oscillate ( \ data->damping, \ data->mass, \ data->stiffness, \ data->from, \ data->to, \ elapsed, \ &(_data)->velocity); \ } \ \ (_out_finished) = elapsed >= (_data)->est_duration; \ } \ if ((_out_finished)) \ (_out_value) = (_data)->to; \ } \ G_STMT_END /* Named anims */ g_hash_table_iter_init (&iter, self->data); for (;;) { char *key = NULL; SpringData *data = NULL; double value = 0.0; gboolean finished = FALSE; gboolean cancelled = FALSE; if (!g_hash_table_iter_next ( &iter, (gpointer *) &key, (gpointer *) &data)) break; UPDATE (data, value, finished, cancelled); if (!cancelled || cancel) data->cb (widget, key, value, data->user_data); if (finished) g_hash_table_iter_remove (&iter); } /* Anonymous anims */ for (guint i = 0; i < self->anonymous->len;) { SpringData *data = NULL; double value = 0.0; gboolean finished = FALSE; gboolean cancelled = FALSE; data = g_ptr_array_index (self->anonymous, i); UPDATE (data, value, finished, cancelled); if (!cancelled || cancel) data->cb (widget, NULL, value, data->user_data); if (finished) g_ptr_array_remove_index (self->anonymous, i); else i++; } #undef UPDATE if (g_hash_table_size (self->data) == 0 && self->anonymous->len == 0) { gtk_widget_remove_tick_callback (widget, self->tag); self->tag = 0; return G_SOURCE_REMOVE; } return G_SOURCE_CONTINUE; } /* COPIED FROM LIBADWAITA */ /* Based on RBBSpringAnimation from RBBAnimation, MIT license. * https://github.com/robb/RBBAnimation/blob/master/RBBAnimation/RBBSpringAnimation.m * * @offset: Starting value of the spring simulation. Use -1 for regular animations, * as the formulas are tailored to rest at 0 and the resulting evolution between * -1 and 0 will be lerped to the desired range afterwards. Otherwise use 0 for in-place * animations which already start at equilibrium */ double spring_oscillate (double damping, double mass, double stiffness, double from, double to, double time, double *velocity) { double b = damping; double m = mass; double k = stiffness; double v0 = 0.0; double beta = 0.0; double omega0 = 0.0; double x0 = 0.0; double envelope = 0.0; beta = b / (2 * m); omega0 = sqrt (k / m); x0 = from - to; envelope = exp (-beta * time); /* * Solutions of the form C1*e^(lambda1*x) + C2*e^(lambda2*x) * for the differential equation m*ẍ+b*áş‹+kx = 0 */ /* Critically damped */ /* DBL_EPSILON is too small for this specific comparison, so we use * FLT_EPSILON even though it's doubles */ if (G_APPROX_VALUE (beta, omega0, FLT_EPSILON)) { if (velocity != NULL) *velocity = envelope * (-beta * time * v0 - beta * beta * time * x0 + v0); return to + envelope * (x0 + (beta * x0 + v0) * time); } /* Underdamped */ if (beta < omega0) { double omega1 = 0.0; omega1 = sqrt ((omega0 * omega0) - (beta * beta)); if (velocity != NULL) *velocity = envelope * (v0 * cos (omega1 * time) - (x0 * omega1 + (beta * beta * x0 + beta * v0) / (omega1)) * sin (omega1 * time)); return to + envelope * (x0 * cos (omega1 * time) + ((beta * x0 + v0) / omega1) * sin (omega1 * time)); } /* Overdamped */ if (beta > omega0) { double omega2 = 0.0; omega2 = sqrt ((beta * beta) - (omega0 * omega0)); if (velocity != NULL) *velocity = envelope * (v0 * coshl (omega2 * time) + (omega2 * x0 - (beta * beta * x0 + beta * v0) / omega2) * sinhl (omega2 * time)); return to + envelope * (x0 * coshl (omega2 * time) + ((beta * x0 + v0) / omega2) * sinhl (omega2 * time)); } g_assert_not_reached (); } double spring_get_first_zero (double damping, double mass, double stiffness, double from, double to) { /* The first frame is not that important and we avoid finding the trivial 0 * for in-place animations. */ for (int i = 0; i < 20000; i++) { double y = 0.0; y = spring_oscillate ( damping, mass, stiffness, from, to, (double) i / 1000.0, NULL); if (!((to - from > DBL_EPSILON && to - y > EPSILON) || (from - to > DBL_EPSILON && y - to > EPSILON))) return y; } return 0.0; } double spring_calculate_duration (double damping, double mass, double stiffness, double from, double to, gboolean clamp) { double beta = 0.0; double omega0 = 0.0; double x0 = 0.0; double y0 = 0.0; double x1 = 0.0; double y1 = 0.0; double m = 0.0; beta = damping / (2 * mass); if (G_APPROX_VALUE (beta, 0, DBL_EPSILON) || beta < 0) return G_MAXDOUBLE; if (clamp) { if (G_APPROX_VALUE (to, from, DBL_EPSILON)) return 0; return spring_get_first_zero (damping, mass, stiffness, from, to); } omega0 = sqrt (stiffness / mass); /* * As first ansatz for the overdamped solution, * and general estimation for the oscillating ones * we take the value of the envelope when it's < epsilon */ x0 = -log (EPSILON) / beta; /* DBL_EPSILON is too small for this specific comparison, so we use * FLT_EPSILON even though it's doubles */ if (G_APPROX_VALUE (beta, omega0, FLT_EPSILON) || beta < omega0) return x0; /* * Since the overdamped solution decays way slower than the envelope * we need to use the value of the oscillation itself. * Newton's root finding method is a good candidate in this particular case: * https://en.wikipedia.org/wiki/Newton%27s_method */ y0 = spring_oscillate (damping, mass, stiffness, from, to, x0, NULL); m = (spring_oscillate ( damping, mass, stiffness, from, to, (x0 + DELTA), NULL) - y0) / DELTA; x1 = (to - y0 + m * x0) / m; y1 = spring_oscillate ( damping, mass, stiffness, from, to, x1, NULL); for (int i = 0; ABS (to - y1) > EPSILON && i < 1000; i++) { x0 = x1; y0 = y1; m = (spring_oscillate ( damping, mass, stiffness, from, to, x0 + DELTA, NULL) - y0) / DELTA; x1 = (to - y0 + m * x0) / m; y1 = spring_oscillate ( damping, mass, stiffness, from, to, x1, NULL); } if (ABS (to - y1) <= EPSILON) return x1; else return 0.0; } /* ///COPIED FROM LIBADWAITA */ static void ensure_tick (BgeAnimation *self, GtkWidget *widget) { GWeakRef *wr = NULL; if (self->tag > 0) return; wr = g_new0 (typeof (*wr), 1); g_weak_ref_init (wr, self); self->tag = gtk_widget_add_tick_callback ( widget, (GtkTickCallback) tick_cb, wr, destroy_wr); } static void destroy_spring_data (gpointer ptr) { SpringData *data = ptr; if (data->destroy_data != NULL && data->user_data != NULL) data->destroy_data (data->user_data); g_clear_pointer (&data->timer, g_timer_destroy); g_clear_object (&data->cancellable); g_free (ptr); } static void destroy_wr (gpointer ptr) { GWeakRef *wr = ptr; g_weak_ref_clear (wr); g_free (ptr); } gboolean bge_should_animate (GtkWidget *widget) { GtkSettings *settings = NULL; gboolean enable_animations = FALSE; if (!gtk_widget_get_mapped (widget)) return FALSE; settings = gtk_widget_get_settings (widget); g_object_get ( settings, "gtk-enable-animations", &enable_animations, NULL); return enable_animations; } bazaar-org-bazaar-917017d/bge/bge-animation.h000066400000000000000000000044311523447664000207100ustar00rootroot00000000000000/* bge-animation.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #ifndef BGE_INSIDE #error "Only can be included directly." #endif G_BEGIN_DECLS #define BGE_TYPE_ANIMATION (bge_animation_get_type ()) G_DECLARE_FINAL_TYPE (BgeAnimation, bge_animation, BGE, ANIMATION, GObject) typedef void (*BgeAnimationCallback) (GtkWidget *widget, const char *key, double value, gpointer user_data); BGE_AVAILABLE_IN_ALL BgeAnimation * bge_animation_new (GtkWidget *widget); BGE_AVAILABLE_IN_ALL GtkWidget * bge_animation_dup_widget (BgeAnimation *self); BGE_AVAILABLE_IN_ALL void bge_animation_add_spring (BgeAnimation *self, const char *key, double from, double to, double damping_ratio, double mass, double stiffness, BgeAnimationCallback cb, gpointer user_data, GDestroyNotify destroy_data, GCancellable *cancellable); BGE_AVAILABLE_IN_ALL gboolean bge_animation_has_key (BgeAnimation *self, const char *key); BGE_AVAILABLE_IN_ALL void bge_animation_cancel (BgeAnimation *self, const char *key); BGE_AVAILABLE_IN_ALL void bge_animation_cancel_all (BgeAnimation *self); G_END_DECLS bazaar-org-bazaar-917017d/bge/bge-carousel.c000066400000000000000000001126061523447664000205450ustar00rootroot00000000000000/* bge-carousel.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ /** * BgeCarousel: * * Arranges widgets into a horizontal carousel */ #define G_LOG_DOMAIN "BGE::CAROUSEL" #include "bge.h" #include "bge-marshalers.h" #include "util.h" #define RAISE_FACTOR 0.025 /* `ratio < 1.0` means it overshoots */ #define ANIMATION_DAMPING_RATIO 1.15 struct _BgeCarousel { GtkWidget parent_instance; GtkEventController *motion; double motion_x; double motion_y; GtkEventController *scroll; gboolean scrolling; int hscroll_start; int hscroll_current; GtkGesture *drag; gboolean dragging; double drag_x; double drag_y; BgeAnimation *animation; gboolean allow_mouse_drag; gboolean allow_overshoot; gboolean allow_scroll_wheel; gboolean allow_raise; GtkSingleSelection *model; GPtrArray *mirror; GPtrArray *widgets; }; G_DEFINE_FINAL_TYPE (BgeCarousel, bge_carousel, GTK_TYPE_WIDGET); enum { PROP_0, PROP_ALLOW_MOUSE_DRAG, PROP_ALLOW_OVERSHOOT, PROP_ALLOW_SCROLL_WHEEL, PROP_ALLOW_RAISE, PROP_MODEL, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_CREATE_WIDGET, SIGNAL_REMOVE_WIDGET, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; BGE_DEFINE_DATA ( carousel_widget, CarouselWidget, { GtkWidget *widget; int width; graphene_rect_t rect; graphene_rect_t target; gboolean raised; GCancellable *cancellable; }, BGE_RELEASE_DATA (widget, gtk_widget_unparent); BGE_RELEASE_DATA (cancellable, g_object_unref)) static void items_changed (BgeCarousel *self, guint position, guint removed, guint added, GListModel *model); static void model_selected_changed (BgeCarousel *self, GParamSpec *pspec, GtkSingleSelection *selection); static void move_to_idx (BgeCarousel *self, guint idx, /* damping_ratio <= 0.0 means no animation */ double damping_ratio); static void animate (BgeCarousel *self, const char *key, double value, CarouselWidgetData *data); static void ensure_viewport (BgeCarousel *self, GtkSingleSelection *model, gboolean animate); static void motion_enter (BgeCarousel *self, gdouble x, gdouble y, GtkEventControllerMotion *controller); static void motion_event (BgeCarousel *self, gdouble x, gdouble y, GtkEventControllerMotion *controller); static void motion_leave (BgeCarousel *self, GtkEventControllerMotion *controller); static void update_motion (BgeCarousel *self, gdouble x, gdouble y); static void scroll_begin (BgeCarousel *self, GtkEventControllerScroll *controller); static void scroll_end (BgeCarousel *self, GtkEventControllerScroll *controller); static gboolean scroll (BgeCarousel *self, gdouble dx, gdouble dy, GtkEventControllerScroll *controller); static void drag_begin (BgeCarousel *self, gdouble start_x, gdouble start_y, GtkGestureDrag *gesture); static void drag_end (BgeCarousel *self, gdouble offset_x, gdouble offset_y, GtkGestureDrag *gesture); static void drag_update (BgeCarousel *self, gdouble offset_x, gdouble offset_y, GtkGestureDrag *gesture); static void finish_horizontal_gesture (BgeCarousel *self, int offset_x, int offset_y); static void bge_carousel_dispose (GObject *object) { BgeCarousel *self = BGE_CAROUSEL (object); if (self->model != NULL) { g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_signal_handlers_disconnect_by_func (self->model, model_selected_changed, self); } g_clear_pointer (&self->animation, g_object_unref); g_clear_pointer (&self->model, g_object_unref); g_clear_pointer (&self->mirror, g_ptr_array_unref); g_clear_pointer (&self->widgets, g_ptr_array_unref); G_OBJECT_CLASS (bge_carousel_parent_class)->dispose (object); } static void bge_carousel_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BgeCarousel *self = BGE_CAROUSEL (object); switch (prop_id) { case PROP_ALLOW_MOUSE_DRAG: g_value_set_boolean (value, bge_carousel_get_allow_mouse_drag (self)); break; case PROP_ALLOW_OVERSHOOT: g_value_set_boolean (value, bge_carousel_get_allow_overshoot (self)); break; case PROP_ALLOW_SCROLL_WHEEL: g_value_set_boolean (value, bge_carousel_get_allow_scroll_wheel (self)); break; case PROP_ALLOW_RAISE: g_value_set_boolean (value, bge_carousel_get_allow_raise (self)); break; case PROP_MODEL: g_value_set_object (value, bge_carousel_get_model (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_carousel_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BgeCarousel *self = BGE_CAROUSEL (object); switch (prop_id) { case PROP_ALLOW_MOUSE_DRAG: bge_carousel_set_allow_mouse_drag (self, g_value_get_boolean (value)); break; case PROP_ALLOW_OVERSHOOT: bge_carousel_set_allow_overshoot (self, g_value_get_boolean (value)); break; case PROP_ALLOW_SCROLL_WHEEL: bge_carousel_set_allow_scroll_wheel (self, g_value_get_boolean (value)); break; case PROP_ALLOW_RAISE: bge_carousel_set_allow_raise (self, g_value_get_boolean (value)); break; case PROP_MODEL: bge_carousel_set_model (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_carousel_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BgeCarousel *self = BGE_CAROUSEL (widget); for (guint i = 0; i < self->widgets->len; i++) { CarouselWidgetData *child = NULL; int tmp_minimum = 0; int tmp_natural = 0; int tmp_minimum_baseline = 0; int tmp_natural_baseline = 0; child = g_ptr_array_index (self->widgets, i); gtk_widget_measure ( child->widget, orientation, for_size, &tmp_minimum, &tmp_natural, &tmp_minimum_baseline, &tmp_natural_baseline); if (tmp_minimum > 0 && tmp_minimum > *minimum) *minimum = tmp_minimum; if (tmp_natural > 0 && tmp_natural > *natural) *natural = tmp_natural; if (tmp_minimum_baseline > 0 && tmp_minimum_baseline > *minimum_baseline) *minimum_baseline = tmp_minimum_baseline; if (tmp_natural_baseline > 0 && tmp_natural_baseline > *natural_baseline) *natural_baseline = tmp_natural_baseline; } } static void bge_carousel_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BgeCarousel *self = BGE_CAROUSEL (widget); ensure_viewport (self, self->model, FALSE); for (guint i = 0; i < self->widgets->len; i++) { CarouselWidgetData *child = NULL; g_autoptr (GskTransform) transform = NULL; child = g_ptr_array_index (self->widgets, i); transform = gsk_transform_translate ( gsk_transform_new (), &child->rect.origin); gtk_widget_allocate ( child->widget, child->rect.size.width, child->rect.size.height, baseline, g_steal_pointer (&transform)); } } static void bge_carousel_class_init (BgeCarouselClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bge_carousel_set_property; object_class->get_property = bge_carousel_get_property; object_class->dispose = bge_carousel_dispose; /** * BgeCarousel:allow-mouse-drag: * * Whether to allow dragging with the mouse. */ props[PROP_ALLOW_MOUSE_DRAG] = g_param_spec_boolean ( "allow-mouse-drag", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeCarousel:allow-overshoot: * * Whether to allow overshooting the ends of the carousel with drag/touchpad * input. Once the event completes, the carousel offset value will go back to * that of the start/end widget. Setting this value to FALSE will prevent this * widget from capturing input events which would result in an overshoot. */ props[PROP_ALLOW_OVERSHOOT] = g_param_spec_boolean ( "allow-overshoot", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeCarousel:allow-scroll-wheel: * * Whether to allow moving the carousel contents with the horizontal scroll * wheel. */ props[PROP_ALLOW_SCROLL_WHEEL] = g_param_spec_boolean ( "allow-scroll-wheel", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeCarousel:allow-raise: * * Whether to allow raise animations when motion input events hover over them * carousel widgets. */ props[PROP_ALLOW_RAISE] = g_param_spec_boolean ( "allow-raise", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeCarousel:model: * * The selection model for the carousel contents. */ props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, GTK_TYPE_SINGLE_SELECTION, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); /** * BgeCarousel::create-widget: * @carousel: the object that received the signal * @object: a list item object from [property@Bge.Carousel:model] * * Emitted when an object is being bound to the carousel * * Return: a newly allocated widget to add to the carousel */ signals[SIGNAL_CREATE_WIDGET] = g_signal_new ( "create-widget", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, bge_marshal_OBJECT__OBJECT, GTK_TYPE_WIDGET, 1, G_TYPE_OBJECT); g_signal_set_va_marshaller ( signals[SIGNAL_CREATE_WIDGET], G_TYPE_FROM_CLASS (klass), bge_marshal_OBJECT__OBJECTv); /** * BgeCarousel::remove-widget: * @carousel: the object that received the signal * @widget: the widget which was created by [signal@Bge.Carousel::create-widget] * @object: a list item object from [property@Bge.Carousel:model] * * Emitted when an object is being unbound from the carousel */ signals[SIGNAL_REMOVE_WIDGET] = g_signal_new ( "remove-widget", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, bge_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GTK_TYPE_WIDGET, G_TYPE_OBJECT); g_signal_set_va_marshaller ( signals[SIGNAL_REMOVE_WIDGET], G_TYPE_FROM_CLASS (klass), bge_marshal_VOID__OBJECT_OBJECTv); widget_class->measure = bge_carousel_measure; widget_class->size_allocate = bge_carousel_size_allocate; } static void bge_carousel_init (BgeCarousel *self) { self->animation = bge_animation_new (GTK_WIDGET (self)); self->mirror = g_ptr_array_new_with_free_func ( (GDestroyNotify) g_object_unref); self->widgets = g_ptr_array_new_with_free_func ( carousel_widget_data_unref); gtk_widget_set_overflow (GTK_WIDGET (self), GTK_OVERFLOW_HIDDEN); self->motion = gtk_event_controller_motion_new (); g_signal_connect_swapped (self->motion, "enter", G_CALLBACK (motion_enter), self); g_signal_connect_swapped (self->motion, "motion", G_CALLBACK (motion_event), self); g_signal_connect_swapped (self->motion, "leave", G_CALLBACK (motion_leave), self); gtk_widget_add_controller (GTK_WIDGET (self), self->motion); self->scroll = gtk_event_controller_scroll_new ( GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL | GTK_EVENT_CONTROLLER_SCROLL_KINETIC); g_signal_connect_swapped (self->scroll, "scroll-begin", G_CALLBACK (scroll_begin), self); g_signal_connect_swapped (self->scroll, "scroll-end", G_CALLBACK (scroll_end), self); g_signal_connect_swapped (self->scroll, "scroll", G_CALLBACK (scroll), self); gtk_widget_add_controller (GTK_WIDGET (self), self->scroll); self->drag = gtk_gesture_drag_new (); gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (self->drag), GTK_PHASE_CAPTURE); g_signal_connect_swapped (self->drag, "drag-begin", G_CALLBACK (drag_begin), self); g_signal_connect_swapped (self->drag, "drag-end", G_CALLBACK (drag_end), self); g_signal_connect_swapped (self->drag, "drag-update", G_CALLBACK (drag_update), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (self->drag)); } /** * bge_carousel_new: * * Creates a new `BgeCarousel` object. * * Returns: The newly created `BgeCarousel` object. */ GtkWidget * bge_carousel_new (void) { return g_object_new (BGE_TYPE_CAROUSEL, NULL); } /** * bge_carousel_get_allow_mouse_drag: * @self: a `BgeCarousel` * * Gets [property@Bge.Carousel:allow-mouse-drag]. * * Returns: the value of the property */ gboolean bge_carousel_get_allow_mouse_drag (BgeCarousel *self) { g_return_val_if_fail (BGE_IS_CAROUSEL (self), FALSE); return self->allow_mouse_drag; } /** * bge_carousel_get_allow_overshoot: * @self: a `BgeCarousel` * * Gets [property@Bge.Carousel:allow-overshoot]. * * Returns: the value of the property */ gboolean bge_carousel_get_allow_overshoot (BgeCarousel *self) { g_return_val_if_fail (BGE_IS_CAROUSEL (self), FALSE); return self->allow_overshoot; } /** * bge_carousel_get_allow_scroll_wheel: * @self: a `BgeCarousel` * * Gets [property@Bge.Carousel:allow-scroll-wheel]. * * Returns: the value of the property */ gboolean bge_carousel_get_allow_scroll_wheel (BgeCarousel *self) { g_return_val_if_fail (BGE_IS_CAROUSEL (self), FALSE); return self->allow_scroll_wheel; } /** * bge_carousel_get_allow_raise: * @self: a `BgeCarousel` * * Gets [property@Bge.Carousel:allow-raise]. * * Returns: the value of the property */ gboolean bge_carousel_get_allow_raise (BgeCarousel *self) { g_return_val_if_fail (BGE_IS_CAROUSEL (self), FALSE); return self->allow_raise; } /** * bge_carousel_get_model: * @self: a `BgeCarousel` * * Gets [property@Bge.Carousel:model]. * * Returns: (nullable): the value of the property */ GtkSingleSelection * bge_carousel_get_model (BgeCarousel *self) { g_return_val_if_fail (BGE_IS_CAROUSEL (self), NULL); return self->model; } /** * bge_carousel_get_nth_page: * @self: a `BgeCarousel` * @index: Index of the page. * * Returns: (nullable) (transfer none): the page at @index, or NULL if out of bounds */ GtkWidget * bge_carousel_get_nth_page (BgeCarousel *self, guint index) { CarouselWidgetData *data = NULL; g_return_val_if_fail (BGE_IS_CAROUSEL (self), NULL); if (index >= self->widgets->len) return NULL; data = g_ptr_array_index (self->widgets, index); return data->widget; } /** * bge_carousel_set_allow_mouse_drag: * @self: a `BgeCarousel` * @allow_mouse_drag: a boolean * * Sets [property@Bge.Carousel:allow-mouse-drag]. */ void bge_carousel_set_allow_mouse_drag (BgeCarousel *self, gboolean allow_mouse_drag) { g_return_if_fail (BGE_IS_CAROUSEL (self)); if (!!allow_mouse_drag == !!self->allow_mouse_drag) return; self->allow_mouse_drag = allow_mouse_drag; if (!allow_mouse_drag && self->dragging) { self->dragging = FALSE; finish_horizontal_gesture (self, self->drag_x, self->drag_y); self->drag_x = 0.0; self->drag_y = 0.0; } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALLOW_MOUSE_DRAG]); } /** * bge_carousel_set_allow_overshoot: * @self: a `BgeCarousel` * @allow_overshoot: a boolean * * Sets [property@Bge.Carousel:allow-overshoot]. */ void bge_carousel_set_allow_overshoot (BgeCarousel *self, gboolean allow_overshoot) { g_return_if_fail (BGE_IS_CAROUSEL (self)); if (!!allow_overshoot == !!self->allow_overshoot) return; self->allow_overshoot = allow_overshoot; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALLOW_OVERSHOOT]); } /** * bge_carousel_set_allow_scroll_wheel: * @self: a `BgeCarousel` * @allow_scroll_wheel: a boolean * * Sets [property@Bge.Carousel:allow-scroll-wheel]. */ void bge_carousel_set_allow_scroll_wheel (BgeCarousel *self, gboolean allow_scroll_wheel) { g_return_if_fail (BGE_IS_CAROUSEL (self)); if (!!allow_scroll_wheel == !!self->allow_scroll_wheel) return; self->allow_scroll_wheel = allow_scroll_wheel; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALLOW_SCROLL_WHEEL]); } /** * bge_carousel_set_allow_raise: * @self: a `BgeCarousel` * @allow_raise: a boolean * * Sets [property@Bge.Carousel:allow-raise]. */ void bge_carousel_set_allow_raise (BgeCarousel *self, gboolean allow_raise) { g_return_if_fail (BGE_IS_CAROUSEL (self)); if (!!allow_raise == !!self->allow_raise) return; self->allow_raise = allow_raise; if (self->model != NULL) ensure_viewport (self, self->model, TRUE); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALLOW_RAISE]); } /** * bge_carousel_set_model: * @self: a `BgeCarousel` * @model: a `GtkSingleSelection` object * * Sets [property@Bge.Carousel:model]. */ void bge_carousel_set_model (BgeCarousel *self, GtkSingleSelection *model) { g_return_if_fail (BGE_IS_CAROUSEL (self)); g_return_if_fail (model == NULL || GTK_IS_SINGLE_SELECTION (model)); if (model == self->model) return; if (self->model != NULL) { g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_signal_handlers_disconnect_by_func (self->model, model_selected_changed, self); items_changed ( self, 0, g_list_model_get_n_items (G_LIST_MODEL (self->model)), 0, G_LIST_MODEL (self->model)); } g_clear_pointer (&self->model, g_object_unref); if (model != NULL) { self->model = g_object_ref (model); items_changed ( self, 0, 0, g_list_model_get_n_items (G_LIST_MODEL (model)), G_LIST_MODEL (model)); g_signal_connect_swapped ( model, "items-changed", G_CALLBACK (items_changed), self); g_signal_connect_swapped ( model, "notify::selected", G_CALLBACK (model_selected_changed), self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); } static void items_changed (BgeCarousel *self, guint position, guint removed, guint added, GListModel *model) { for (guint i = 0; i < removed; i++) { GObject *object = NULL; CarouselWidgetData *child = NULL; object = g_ptr_array_index (self->mirror, position + i); child = g_ptr_array_index (self->widgets, position + i); if (child->cancellable != NULL) g_cancellable_cancel (child->cancellable); g_signal_emit (self, signals[SIGNAL_REMOVE_WIDGET], 0, child->widget, object); } if (removed > 0) { g_ptr_array_remove_range (self->mirror, position, removed); g_ptr_array_remove_range (self->widgets, position, removed); } for (guint i = 0; i < added; i++) { g_autoptr (GObject) object = NULL; GtkWidget *child = NULL; CarouselWidgetData *data = NULL; object = g_list_model_get_item (model, position + i); g_signal_emit (self, signals[SIGNAL_CREATE_WIDGET], 0, object, &child); if (child == NULL) { g_critical ("Failed to populate child for carousel widget"); child = gtk_fixed_new (); } if (position + i == 0) gtk_widget_set_parent (child, GTK_WIDGET (self)); else { CarouselWidgetData *prev = NULL; prev = g_ptr_array_index (self->widgets, position + i - 1); gtk_widget_insert_after (child, GTK_WIDGET (self), prev->widget); } data = carousel_widget_data_new (); data->widget = child; g_ptr_array_insert (self->mirror, position + i, g_object_ref (object)); g_ptr_array_insert (self->widgets, position + i, data); } ensure_viewport (self, GTK_SINGLE_SELECTION (model), FALSE); } static void model_selected_changed (BgeCarousel *self, GParamSpec *pspec, GtkSingleSelection *selection) { guint idx = 0; idx = gtk_single_selection_get_selected (selection); if (idx != G_MAXUINT) move_to_idx (self, idx, ANIMATION_DAMPING_RATIO); gtk_widget_queue_allocate (GTK_WIDGET (self)); } static void move_to_idx (BgeCarousel *self, guint idx, /* damping_ratio <= 0.0 means no animation */ double damping_ratio) { int width = 0; int height = 0; int offset = 0; width = gtk_widget_get_width (GTK_WIDGET (self)); height = gtk_widget_get_height (GTK_WIDGET (self)); if (width == 0 || height == 0) { gtk_widget_queue_allocate (GTK_WIDGET (self)); return; } offset = width / 2; if (self->scrolling) offset += self->hscroll_start - self->hscroll_current; if (self->dragging) offset += self->drag_x; for (guint i = 0; i <= idx; i++) { CarouselWidgetData *child = NULL; int hminimum = 0; int hnatural = 0; int unused = 0; int child_width = 0; child = g_ptr_array_index (self->widgets, i); gtk_widget_measure ( child->widget, GTK_ORIENTATION_HORIZONTAL, height, &hminimum, &hnatural, &unused, &unused); if (gtk_widget_get_hexpand (child->widget)) child_width = MAX (hminimum, width); else child_width = CLAMP (hnatural, hminimum, width); if (i == idx) offset -= child_width / 2; else offset -= child_width; } for (guint i = 0; i < self->widgets->len; i++) { CarouselWidgetData *child = NULL; int hminimum = 0; int hnatural = 0; int unused = 0; int rect_width = 0; int child_width = 0; int child_height = 0; int child_x = 0; int child_y = 0; graphene_rect_t target = { 0 }; gboolean avoid_animation = FALSE; child = g_ptr_array_index (self->widgets, i); gtk_widget_measure ( child->widget, GTK_ORIENTATION_HORIZONTAL, height, &hminimum, &hnatural, &unused, &unused); if (gtk_widget_get_hexpand (child->widget)) rect_width = MAX (hminimum, width); else rect_width = CLAMP (hnatural, hminimum, width); if (child->raised || !self->allow_raise) { child_width = rect_width; child_height = height; child_x = offset; child_y = 0; } else { child_height = round ((double) height * (1.0 - RAISE_FACTOR)); gtk_widget_measure ( child->widget, GTK_ORIENTATION_HORIZONTAL, child_height, &hminimum, &hnatural, &unused, &unused); child_width = CLAMP (hnatural, hminimum, width); child_x = offset + round ((double) (rect_width - child_width) * 0.5); child_y = round ((double) height * (0.5 * RAISE_FACTOR)); } target = GRAPHENE_RECT_INIT (child_x, child_y, child_width, child_height); avoid_animation = graphene_rect_equal (&target, &child->target); if (child->width != rect_width || (damping_ratio < 0.0 && !avoid_animation)) { if (child->cancellable != NULL) g_cancellable_cancel (child->cancellable); child->width = rect_width; child->rect = target; child->target = target; } else if (avoid_animation) child->target = target; else { char buf[64] = { 0 }; g_clear_object (&child->cancellable); child->cancellable = g_cancellable_new (); #define MASS 1.0 #define STIFFNESS 800.0 /* pointer is to ensure a unique identifier so as not to overwrite any other child's key */ g_snprintf (buf, sizeof (buf), "x%p", child); bge_animation_add_spring ( self->animation, buf, child->rect.origin.x, target.origin.x, damping_ratio, MASS, STIFFNESS, (BgeAnimationCallback) animate, carousel_widget_data_ref (child), carousel_widget_data_unref, child->cancellable); g_snprintf (buf, sizeof (buf), "y%p", child); bge_animation_add_spring ( self->animation, buf, child->rect.origin.y, target.origin.y, damping_ratio, MASS, STIFFNESS, (BgeAnimationCallback) animate, carousel_widget_data_ref (child), carousel_widget_data_unref, child->cancellable); g_snprintf (buf, sizeof (buf), "w%p", child); bge_animation_add_spring ( self->animation, buf, child->rect.size.width, target.size.width, damping_ratio, MASS, STIFFNESS, (BgeAnimationCallback) animate, carousel_widget_data_ref (child), carousel_widget_data_unref, child->cancellable); g_snprintf (buf, sizeof (buf), "h%p", child); bge_animation_add_spring ( self->animation, buf, child->rect.size.height, target.size.height, damping_ratio, MASS, STIFFNESS, (BgeAnimationCallback) animate, carousel_widget_data_ref (child), carousel_widget_data_unref, child->cancellable); #undef STIFFNESS #undef MASS child->target = target; } offset += rect_width; } gtk_widget_queue_allocate (GTK_WIDGET (self)); } static void animate (BgeCarousel *self, const char *key, double value, CarouselWidgetData *data) { switch (*key) { case 'x': data->rect.origin.x = value; break; case 'y': data->rect.origin.y = value; break; case 'w': data->rect.size.width = value; break; case 'h': data->rect.size.height = value; break; default: g_assert_not_reached (); } gtk_widget_queue_allocate (GTK_WIDGET (self)); } static void ensure_viewport (BgeCarousel *self, GtkSingleSelection *model, gboolean animate) { guint n_items = 0; n_items = g_list_model_get_n_items (G_LIST_MODEL (model)); if (n_items > 0) { guint selected = 0; selected = gtk_single_selection_get_selected (model); if (selected == G_MAXUINT) { gtk_single_selection_set_selected (model, 0); move_to_idx (self, 0, animate ? ANIMATION_DAMPING_RATIO : -1.0); } else move_to_idx (self, selected, animate ? ANIMATION_DAMPING_RATIO : -1.0); } gtk_widget_queue_allocate (GTK_WIDGET (self)); } static void motion_enter (BgeCarousel *self, gdouble x, gdouble y, GtkEventControllerMotion *controller) { self->motion_x = x; self->motion_y = y; update_motion (self, x, y); } static void motion_event (BgeCarousel *self, gdouble x, gdouble y, GtkEventControllerMotion *controller) { self->motion_x = x; self->motion_y = y; update_motion (self, x, y); } static void motion_leave (BgeCarousel *self, GtkEventControllerMotion *controller) { if (self->dragging) return; self->motion_x = -1.0; self->motion_y = -1.0; update_motion (self, -1.0, -1.0); } static void update_motion (BgeCarousel *self, gdouble x, gdouble y) { graphene_point_t point = { 0 }; gboolean ensure = FALSE; point = GRAPHENE_POINT_INIT (x, y); if (self->scrolling) return; for (guint i = 0; i < self->widgets->len; i++) { CarouselWidgetData *child = NULL; gboolean contained = FALSE; child = g_ptr_array_index (self->widgets, i); contained = graphene_rect_contains_point (&child->target, &point); if (!!contained != !!child->raised) { child->raised = contained; ensure = TRUE; } } if (self->dragging) return; if (ensure) ensure_viewport (self, self->model, TRUE); } static void scroll_begin (BgeCarousel *self, GtkEventControllerScroll *controller) { self->scrolling = TRUE; self->hscroll_start = self->motion_x; self->hscroll_current = self->motion_x; } static void scroll_end (BgeCarousel *self, GtkEventControllerScroll *controller) { self->scrolling = FALSE; finish_horizontal_gesture ( self, self->hscroll_start - self->hscroll_current, 0); self->hscroll_start = -1; self->hscroll_current = -1; update_motion (self, self->motion_x, self->motion_y); } static gboolean scroll (BgeCarousel *self, gdouble dx, gdouble dy, GtkEventControllerScroll *controller) { guint n_items = 0; GdkDevice *device = NULL; GdkInputSource source = 0; if (self->model == NULL) { self->scrolling = FALSE; return FALSE; } n_items = g_list_model_get_n_items (G_LIST_MODEL (self->model)); if (n_items == 0) { self->scrolling = FALSE; return FALSE; } device = gtk_event_controller_get_current_event_device ( GTK_EVENT_CONTROLLER (controller)); source = gdk_device_get_source (device); switch (source) { case GDK_SOURCE_TOUCHPAD: case GDK_SOURCE_TRACKPOINT: { if (self->widgets->len > 0 && !self->allow_overshoot) { guint selection = 0; selection = gtk_single_selection_get_selected (self->model); if ((selection == 0 && self->hscroll_current + dx < 0) || (selection == self->widgets->len - 1 && self->hscroll_current + dx > 0)) { self->scrolling = FALSE; return FALSE; } } self->hscroll_current += dx; ensure_viewport (self, self->model, FALSE); } break; case GDK_SOURCE_MOUSE: case GDK_SOURCE_PEN: case GDK_SOURCE_KEYBOARD: case GDK_SOURCE_TOUCHSCREEN: case GDK_SOURCE_TABLET_PAD: default: { guint selected = 0; guint new_selected = 0; if (!self->allow_scroll_wheel) break; selected = gtk_single_selection_get_selected (self->model); if (dx > 0) new_selected = MIN (selected + 1, n_items - 1); else { if (selected == 0) new_selected = 0; else new_selected = selected - 1; } gtk_single_selection_set_selected (self->model, new_selected); } break; } return TRUE; } static void drag_begin (BgeCarousel *self, gdouble start_x, gdouble start_y, GtkGestureDrag *gesture) { if (!self->allow_mouse_drag) return; self->dragging = TRUE; if (self->model == NULL) return; ensure_viewport (self, self->model, TRUE); } static void drag_end (BgeCarousel *self, gdouble offset_x, gdouble offset_y, GtkGestureDrag *gesture) { if (!self->dragging) /* This situation will happen if the `allow-mouse-drag` prop is set to FALSE while a drag is taking place */ return; self->dragging = FALSE; finish_horizontal_gesture (self, self->drag_x, self->drag_y); self->drag_x = 0.0; self->drag_y = 0.0; if (offset_x < -3 || offset_x > 3 || offset_y < -3 || offset_y > 3) gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED); } static void drag_update (BgeCarousel *self, gdouble offset_x, gdouble offset_y, GtkGestureDrag *gesture) { if (!self->dragging) return; self->drag_x = offset_x; self->drag_y = offset_y; if (self->model == NULL) return; if (self->widgets->len > 0 && !self->allow_overshoot) { guint selected = 0; selected = gtk_single_selection_get_selected (self->model); if (selected == 0) self->drag_x = MIN (self->drag_x, 0.0); if (selected == self->widgets->len - 1) self->drag_x = MAX (self->drag_x, 0.0); } ensure_viewport (self, self->model, FALSE); } static void finish_horizontal_gesture (BgeCarousel *self, int offset_x, int offset_y) { guint selected = 0; double width = 0.0; guint new_selected = G_MAXUINT; int min_distance = G_MAXINT; if (self->model == NULL || self->widgets->len == 0) return; if (offset_x == 0) return; selected = gtk_single_selection_get_selected (self->model); width = gtk_widget_get_width (GTK_WIDGET (self)); for (guint i = 0; i < self->widgets->len; i++) { CarouselWidgetData *child = NULL; int left_distance = 0; int right_distance = 0; int distance_from_center = 0; child = g_ptr_array_index (self->widgets, i); if (child->rect.origin.x > width / 2.0) left_distance = child->rect.origin.x - width / 2.0; else left_distance = width / 2.0 - child->rect.origin.x; if ((child->rect.origin.x + child->rect.size.width) > width / 2.0) right_distance = (child->rect.origin.x + child->rect.size.width) - width / 2.0; else right_distance = width / 2.0 - (child->rect.origin.x + child->rect.size.width); distance_from_center = MIN (left_distance, right_distance); if (distance_from_center < min_distance) { new_selected = i; min_distance = distance_from_center; } } if (new_selected == selected) { /* Ensure dragging is not too stiff; meaning if we drag the content at least 15 pixels in either direction, it will automatically snap to the next widget */ if (offset_x > 15 && selected > 0) new_selected--; else if (offset_x < -15 && selected < self->widgets->len - 1) new_selected++; } if (new_selected == G_MAXUINT || new_selected == selected) ensure_viewport (self, self->model, TRUE); else gtk_single_selection_set_selected (self->model, new_selected); } /* End of bge-carousel.c */ bazaar-org-bazaar-917017d/bge/bge-carousel.h000066400000000000000000000044511523447664000205500ustar00rootroot00000000000000/* bge-carousel.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #ifndef BGE_INSIDE #error "Only can be included directly." #endif G_BEGIN_DECLS #define BGE_TYPE_CAROUSEL (bge_carousel_get_type ()) G_DECLARE_FINAL_TYPE (BgeCarousel, bge_carousel, BGE, CAROUSEL, GtkWidget) BGE_AVAILABLE_IN_ALL GtkWidget * bge_carousel_new (void); BGE_AVAILABLE_IN_ALL gboolean bge_carousel_get_allow_mouse_drag (BgeCarousel *self); BGE_AVAILABLE_IN_ALL gboolean bge_carousel_get_allow_overshoot (BgeCarousel *self); BGE_AVAILABLE_IN_ALL gboolean bge_carousel_get_allow_scroll_wheel (BgeCarousel *self); BGE_AVAILABLE_IN_ALL gboolean bge_carousel_get_allow_raise (BgeCarousel *self); BGE_AVAILABLE_IN_ALL GtkSingleSelection * bge_carousel_get_model (BgeCarousel *self); BGE_AVAILABLE_IN_ALL GtkWidget * bge_carousel_get_nth_page (BgeCarousel *self, guint index); BGE_AVAILABLE_IN_ALL void bge_carousel_set_allow_mouse_drag (BgeCarousel *self, gboolean allow_mouse_drag); BGE_AVAILABLE_IN_ALL void bge_carousel_set_allow_overshoot (BgeCarousel *self, gboolean allow_overshoot); BGE_AVAILABLE_IN_ALL void bge_carousel_set_allow_scroll_wheel (BgeCarousel *self, gboolean allow_scroll_wheel); BGE_AVAILABLE_IN_ALL void bge_carousel_set_allow_raise (BgeCarousel *self, gboolean allow_raise); BGE_AVAILABLE_IN_ALL void bge_carousel_set_model (BgeCarousel *self, GtkSingleSelection *model); G_END_DECLS /* End of bge-carousel.h */ bazaar-org-bazaar-917017d/bge/bge-markdown-render.c000066400000000000000000000771331523447664000220340ustar00rootroot00000000000000/* bge-markdown-render.c * * Copyright 2025 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ /** * BgeMarkdownRender: * * Renders markdown input using regular GTK widgets. * * For code blocks with a specified language, BgeMarkdownRender will attempt to * apply gtksourceview styling. */ #define G_LOG_DOMAIN "BGE::MARKDOWN-RENDER" #include #include #include "bge-marshalers.h" #include "bge.h" struct _BgeMarkdownRender { GtkWidget parent_instance; char *markdown; gboolean dark; gboolean wrap_tables; int spacing; GtkWidget *box; GPtrArray *box_children; GPtrArray *source_views; }; G_DEFINE_FINAL_TYPE (BgeMarkdownRender, bge_markdown_render, GTK_TYPE_WIDGET); enum { PROP_0, PROP_MARKDOWN, PROP_DARK, PROP_WRAP_TABLES, PROP_SPACING, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_BIND_INLINE_URI, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void regenerate (BgeMarkdownRender *self); typedef struct { BgeMarkdownRender *self; GtkBox *box; GPtrArray *box_children; char *beginning; GString *markup; GArray *block_stack; GPtrArray *container_stack; int indent; int list_index; MD_CHAR list_prefix; GPtrArray *source_views; GString *alt_text; gboolean in_image; GtkWidget *grid; guint grid_rows; guint grid_columns; guint grid_row_idx; guint grid_column_idx; } ParseCtx; static GtkBox * current_container (ParseCtx *ctx) { if (ctx->container_stack->len > 0) return g_ptr_array_index (ctx->container_stack, ctx->container_stack->len - 1); return ctx->box; } static int enter_block (MD_BLOCKTYPE type, void *detail, void *user_data); static int leave_block (MD_BLOCKTYPE type, void *detail, void *user_data); static int enter_span (MD_SPANTYPE type, void *detail, void *user_data); static int leave_span (MD_SPANTYPE type, void *detail, void *user_data); static int text (MD_TEXTTYPE type, const MD_CHAR *buf, MD_SIZE size, void *user_data); static const MD_PARSER parser = { .flags = MD_FLAG_COLLAPSEWHITESPACE | MD_FLAG_NOHTMLBLOCKS | MD_FLAG_NOHTMLSPANS | MD_FLAG_STRIKETHROUGH | MD_FLAG_TABLES, .enter_block = enter_block, .leave_block = leave_block, .enter_span = enter_span, .leave_span = leave_span, .text = text, }; static int terminate_block (MD_BLOCKTYPE type, void *detail, void *user_data); static void check_dark_mode (BgeMarkdownRender *self); static void bge_markdown_render_dispose (GObject *object) { BgeMarkdownRender *self = BGE_MARKDOWN_RENDER (object); g_clear_pointer (&self->markdown, g_free); g_clear_pointer (&self->box, gtk_widget_unparent); g_clear_pointer (&self->box_children, g_ptr_array_unref); g_clear_pointer (&self->source_views, g_ptr_array_unref); G_OBJECT_CLASS (bge_markdown_render_parent_class)->dispose (object); } static void bge_markdown_render_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BgeMarkdownRender *self = BGE_MARKDOWN_RENDER (object); switch (prop_id) { case PROP_MARKDOWN: g_value_set_string (value, bge_markdown_render_get_markdown (self)); break; case PROP_DARK: g_value_set_boolean (value, bge_markdown_render_get_dark (self)); break; case PROP_WRAP_TABLES: g_value_set_boolean (value, bge_markdown_render_get_wrap_tables (self)); break; case PROP_SPACING: g_value_set_int (value, bge_markdown_render_get_spacing (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_markdown_render_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BgeMarkdownRender *self = BGE_MARKDOWN_RENDER (object); switch (prop_id) { case PROP_MARKDOWN: bge_markdown_render_set_markdown (self, g_value_get_string (value)); break; case PROP_DARK: bge_markdown_render_set_dark (self, g_value_get_boolean (value)); break; case PROP_WRAP_TABLES: bge_markdown_render_set_wrap_tables (self, g_value_get_boolean (value)); break; case PROP_SPACING: bge_markdown_render_set_spacing (self, g_value_get_int (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static GtkSizeRequestMode bge_markdown_render_get_request_mode (GtkWidget *widget) { return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } static void bge_markdown_render_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BgeMarkdownRender *self = BGE_MARKDOWN_RENDER (widget); gtk_widget_measure ( self->box, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline); } static void bge_markdown_render_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BgeMarkdownRender *self = BGE_MARKDOWN_RENDER (widget); if (gtk_widget_should_layout (self->box)) gtk_widget_allocate (self->box, width, height, baseline, NULL); } static void bge_markdown_render_class_init (BgeMarkdownRenderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bge_markdown_render_set_property; object_class->get_property = bge_markdown_render_get_property; object_class->dispose = bge_markdown_render_dispose; /** * BgeMarkdownRender:markdown: * * Raw markdown text. */ props[PROP_MARKDOWN] = g_param_spec_string ( "markdown", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeMarkdownRender:dark: * * Whether to apply dark styling to widgets where applicable. */ props[PROP_DARK] = g_param_spec_boolean ( "dark", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeMarkdownRender:wrap-tables: * * Whether if table elements should scroll horizontally or wrap. */ props[PROP_WRAP_TABLES] = g_param_spec_boolean ( "wrap-tables", NULL, NULL, TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); /** * BgeMarkdownRender:spacing: * * Vertical spacing between rendered block-level elements, in pixels. */ props[PROP_SPACING] = g_param_spec_int ( "spacing", NULL, NULL, 0, G_MAXINT, 7, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); /** * BgeMarkdownRender::bind-inline-uri: * @markdown: the object that received the signal * @title: a string title * @src: a string source uri * * Emitted when an inline image is encountered during parsing. The callback * should respond with a new widget to add to represent the uri. If no * callback is registered for this signal, or if the callback returns NULL, a * [class@Gtk.Picture] is automatically constructed and used. * * Return: a newly allocated widget to add to the markdown view */ signals[SIGNAL_BIND_INLINE_URI] = g_signal_new ( "bind-inline-uri", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, bge_marshal_OBJECT__STRING_STRING, GTK_TYPE_WIDGET, 2, G_TYPE_STRING, G_TYPE_STRING); g_signal_set_va_marshaller ( signals[SIGNAL_BIND_INLINE_URI], G_TYPE_FROM_CLASS (klass), bge_marshal_OBJECT__STRING_STRINGv); widget_class->get_request_mode = bge_markdown_render_get_request_mode; widget_class->measure = bge_markdown_render_measure; widget_class->size_allocate = bge_markdown_render_size_allocate; } static void bge_markdown_render_init (BgeMarkdownRender *self) { self->spacing = 7; self->wrap_tables = TRUE; self->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, self->spacing); gtk_widget_set_parent (self->box, GTK_WIDGET (self)); self->box_children = g_ptr_array_new (); self->source_views = g_ptr_array_new (); } /** * bge_markdown_render_new: * * Creates a new `BgeMarkdownRender` object. * * Returns: The newly created `BgeMarkdownRender` object. */ GtkWidget * bge_markdown_render_new (void) { return g_object_new (BGE_TYPE_MARKDOWN_RENDER, NULL); } /** * bge_markdown_render_get_markdown: * @self: a `BgeMarkdown` * * Gets [property@Bge.MarkdownRender:markdown]. * * Returns: (nullable) (transfer none): the value of the property */ const char * bge_markdown_render_get_markdown (BgeMarkdownRender *self) { g_return_val_if_fail (BGE_IS_MARKDOWN_RENDER (self), NULL); return self->markdown; } /** * bge_markdown_render_get_dark: * @self: a `BgeMarkdown` * * Gets [property@Bge.MarkdownRender:dark]. * * Returns: the value of the property */ gboolean bge_markdown_render_get_dark (BgeMarkdownRender *self) { g_return_val_if_fail (BGE_IS_MARKDOWN_RENDER (self), FALSE); return self->dark; } /** * bge_markdown_render_set_markdown: * @self: a `BgeMarkdownRender` * @markdown: a string * * Sets [property@Bge.MarkdownRender:markdown]. */ void bge_markdown_render_set_markdown (BgeMarkdownRender *self, const char *markdown) { g_return_if_fail (BGE_IS_MARKDOWN_RENDER (self)); g_clear_pointer (&self->markdown, g_free); if (markdown != NULL) self->markdown = g_strdup (markdown); regenerate (self); check_dark_mode (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MARKDOWN]); } /** * bge_markdown_render_set_dark: * @self: a `BgeMarkdownRender` * @dark: a boolean * * Sets [property@Bge.MarkdownRender:dark]. */ void bge_markdown_render_set_dark (BgeMarkdownRender *self, gboolean dark) { g_return_if_fail (BGE_IS_MARKDOWN_RENDER (self)); if (!!dark == !!self->dark) return; self->dark = dark; check_dark_mode (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DARK]); } /** * bge_markdown_render_get_wrap_tables: * @self: a `BgeMarkdownRender` * * Gets [property@Bge.MarkdownRender:wrap-tables]. * * Returns: the value of the property */ gboolean bge_markdown_render_get_wrap_tables (BgeMarkdownRender *self) { g_return_val_if_fail (BGE_IS_MARKDOWN_RENDER (self), FALSE); return self->wrap_tables; } /** * bge_markdown_render_set_wrap_tables: * @self: a `BgeMarkdownRender` * @wrap_tables: a boolean * * Sets [property@Bge.MarkdownRender:wrap-tables]. */ void bge_markdown_render_set_wrap_tables (BgeMarkdownRender *self, gboolean wrap_tables) { g_return_if_fail (BGE_IS_MARKDOWN_RENDER (self)); wrap_tables = !!wrap_tables; if (self->wrap_tables == wrap_tables) return; self->wrap_tables = wrap_tables; regenerate (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WRAP_TABLES]); } /** * bge_markdown_render_get_spacing: * @self: a `BgeMarkdownRender` * * Gets [property@Bge.MarkdownRender:spacing]. * * Returns: the value of the property */ int bge_markdown_render_get_spacing (BgeMarkdownRender *self) { g_return_val_if_fail (BGE_IS_MARKDOWN_RENDER (self), 0); return self->spacing; } /** * bge_markdown_render_set_spacing: * @self: a `BgeMarkdownRender` * @spacing: spacing in pixels * * Sets [property@Bge.MarkdownRender:spacing]. */ void bge_markdown_render_set_spacing (BgeMarkdownRender *self, int spacing) { g_return_if_fail (BGE_IS_MARKDOWN_RENDER (self)); g_return_if_fail (spacing >= 0); if (spacing == self->spacing) return; self->spacing = spacing; gtk_box_set_spacing (GTK_BOX (self->box), spacing); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SPACING]); } static void regenerate (BgeMarkdownRender *self) { int iresult = 0; ParseCtx ctx = { 0 }; for (guint i = 0; i < self->box_children->len; i++) { GtkWidget *child = NULL; child = g_ptr_array_index (self->box_children, i); gtk_box_remove (GTK_BOX (self->box), child); } g_ptr_array_set_size (self->box_children, 0); g_ptr_array_set_size (self->source_views, 0); if (self->markdown == NULL) return; ctx.self = self; ctx.box = GTK_BOX (self->box); ctx.box_children = self->box_children; ctx.beginning = self->markdown; ctx.markup = NULL; ctx.block_stack = g_array_new (FALSE, TRUE, sizeof (int)); ctx.indent = 0; ctx.list_index = 0; ctx.list_prefix = '\0'; ctx.source_views = self->source_views; ctx.container_stack = g_ptr_array_new (); iresult = md_parse ( self->markdown, strlen (self->markdown), &parser, &ctx); if (ctx.markup != NULL) g_string_free (ctx.markup, TRUE); if (ctx.alt_text != NULL) g_string_free (ctx.alt_text, TRUE); if (ctx.grid != NULL) g_object_unref (ctx.grid); g_array_unref (ctx.block_stack); g_ptr_array_unref (ctx.container_stack); if (iresult != 0) { g_warning ("Failed to parse markdown text"); return; } } static int enter_block (MD_BLOCKTYPE type, void *detail, void *user_data) { ParseCtx *ctx = user_data; if (ctx->markup != NULL) { int current_type = 0; current_type = g_array_index (ctx->block_stack, int, ctx->block_stack->len - 1); terminate_block (current_type, NULL, user_data); g_array_index (ctx->block_stack, int, ctx->block_stack->len - 1) = -1; } if (type == MD_BLOCK_UL) { MD_BLOCK_UL_DETAIL *ul_detail = detail; ctx->indent++; ctx->list_index = 0; ctx->list_prefix = ul_detail->mark; } else if (type == MD_BLOCK_OL) { MD_BLOCK_OL_DETAIL *ol_detail = detail; ctx->indent++; ctx->list_index = 0; ctx->list_prefix = ol_detail->mark_delimiter; } else if (type == MD_BLOCK_LI) { GtkWidget *prefix = NULL; GtkWidget *row = NULL; GtkWidget *content_box = NULL; int parent = -1; if (ctx->block_stack->len > 0) parent = g_array_index (ctx->block_stack, int, ctx->block_stack->len - 1); if (parent == MD_BLOCK_OL) { g_autofree char *prefix_text = NULL; prefix_text = g_strdup_printf ("%d%c", ctx->list_index, ctx->list_prefix); prefix = gtk_label_new (prefix_text); gtk_widget_add_css_class (prefix, "caption"); } else { prefix = gtk_image_new_from_icon_name ("circle-filled-symbolic"); gtk_image_set_pixel_size (GTK_IMAGE (prefix), 6); gtk_widget_set_margin_top (prefix, 6); } gtk_widget_add_css_class (prefix, "dimmed"); gtk_widget_set_valign (prefix, GTK_ALIGN_START); content_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_widget_set_hexpand (content_box, TRUE); row = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_widget_set_margin_start (row, 10); gtk_box_append (GTK_BOX (row), prefix); gtk_box_append (GTK_BOX (row), content_box); gtk_box_append (current_container (ctx), row); g_ptr_array_add (ctx->box_children, row); g_ptr_array_add (ctx->container_stack, content_box); ctx->list_index++; ctx->markup = g_string_new (NULL); } else if (type == MD_BLOCK_TABLE) { MD_BLOCK_TABLE_DETAIL *table_detail = detail; g_assert (ctx->grid == NULL); ctx->grid = gtk_grid_new (); gtk_widget_add_css_class (ctx->grid, "markdown-table"); gtk_widget_set_halign (ctx->grid, GTK_ALIGN_START); ctx->grid_rows = table_detail->head_row_count + table_detail->body_row_count; ctx->grid_columns = table_detail->col_count; ctx->grid_row_idx = 0; ctx->grid_column_idx = 0; } else ctx->markup = g_string_new (NULL); g_array_append_val (ctx->block_stack, type); return 0; } static int leave_block (MD_BLOCKTYPE type, void *detail, void *user_data) { ParseCtx *ctx = user_data; g_assert (ctx->block_stack->len > 0); if (type == MD_BLOCK_LI) { if (ctx->markup != NULL) terminate_block (type, detail, user_data); if (ctx->container_stack->len > 0) g_ptr_array_set_size (ctx->container_stack, ctx->container_stack->len - 1); } else { if (g_array_index (ctx->block_stack, int, ctx->block_stack->len - 1) >= 0) terminate_block (type, detail, user_data); } g_array_set_size (ctx->block_stack, ctx->block_stack->len - 1); return 0; } static int enter_span (MD_SPANTYPE type, void *detail, void *user_data) { ParseCtx *ctx = user_data; g_assert (ctx->markup != NULL); switch (type) { case MD_SPAN_EM: g_string_append (ctx->markup, ""); break; case MD_SPAN_STRONG: g_string_append (ctx->markup, ""); break; case MD_SPAN_A: { MD_SPAN_A_DETAIL *a_detail = detail; g_autofree char *href = NULL; g_autofree char *title = NULL; href = g_strndup (a_detail->href.text, a_detail->href.size); if (a_detail->title.text != NULL) title = g_strndup (a_detail->title.text, a_detail->title.size); g_string_append_printf ( ctx->markup, "", href, title != NULL ? title : href); } break; case MD_SPAN_IMG: ctx->in_image = TRUE; ctx->alt_text = g_string_new (NULL); break; case MD_SPAN_CODE: g_string_append (ctx->markup, ""); break; case MD_SPAN_DEL: g_string_append (ctx->markup, ""); break; case MD_SPAN_U: g_string_append (ctx->markup, ""); break; case MD_SPAN_LATEXMATH: case MD_SPAN_LATEXMATH_DISPLAY: case MD_SPAN_WIKILINK: default: g_warning ("Unsupported markdown event (Did you use latex/wikilinks?)"); return 1; break; } return 0; } static int leave_span (MD_SPANTYPE type, void *detail, void *user_data) { ParseCtx *ctx = user_data; g_assert (ctx->markup != NULL); switch (type) { case MD_SPAN_EM: g_string_append (ctx->markup, ""); break; case MD_SPAN_STRONG: g_string_append (ctx->markup, ""); break; case MD_SPAN_A: g_string_append (ctx->markup, ""); break; case MD_SPAN_IMG: { MD_SPAN_IMG_DETAIL *img_detail = detail; g_autofree char *title = NULL; g_autofree char *src = NULL; g_autofree char *alt = NULL; GtkWidget *widget = NULL; if (img_detail->title.text != NULL) title = g_strndup (img_detail->title.text, img_detail->title.size); if (img_detail->src.text != NULL) src = g_strndup (img_detail->src.text, img_detail->src.size); if (ctx->alt_text != NULL) { alt = g_string_free (ctx->alt_text, FALSE); ctx->alt_text = NULL; } ctx->in_image = FALSE; g_signal_emit (ctx->self, signals[SIGNAL_BIND_INLINE_URI], 0, title != NULL ? title : alt, src, &widget); if (widget != NULL) { gtk_box_append (current_container (ctx), widget); g_ptr_array_add (ctx->box_children, widget); } } break; case MD_SPAN_CODE: g_string_append (ctx->markup, ""); break; case MD_SPAN_DEL: g_string_append (ctx->markup, ""); break; case MD_SPAN_U: g_string_append (ctx->markup, ""); break; case MD_SPAN_LATEXMATH: case MD_SPAN_LATEXMATH_DISPLAY: case MD_SPAN_WIKILINK: default: g_warning ("Unsupported markdown event (Did you use latex/wikilinks?)"); return 1; break; } return 0; } static int text (MD_TEXTTYPE type, const MD_CHAR *buf, MD_SIZE size, void *user_data) { ParseCtx *ctx = user_data; int block = -1; g_assert (ctx->markup != NULL); if (ctx->in_image) { g_string_append_len (ctx->alt_text, buf, size); return 0; } if (ctx->block_stack->len > 0) block = g_array_index (ctx->block_stack, int, ctx->block_stack->len - 1); if (type == MD_TEXT_SOFTBR && ctx->markup->len > 0) g_string_append_c (ctx->markup, ' '); else if (type == MD_TEXT_BR && ctx->markup->len > 0) g_string_append_c (ctx->markup, '\n'); else if (block == MD_BLOCK_CODE) g_string_append_len (ctx->markup, buf, size); else { g_autofree char *escaped = NULL; escaped = g_markup_escape_text (buf, size); g_string_append (ctx->markup, escaped); } return 0; } static int terminate_block (MD_BLOCKTYPE type, void *detail, void *user_data) { ParseCtx *ctx = user_data; GtkWidget *child = NULL; g_assert (ctx->block_stack->len > 0); if (ctx->markup != NULL && ctx->markup->len > 0) { const char *end = ctx->markup->str + ctx->markup->len; const char *prev = g_utf8_find_prev_char (ctx->markup->str, end); if (prev != NULL) { gunichar last_char = g_utf8_get_char (prev); if (!g_unichar_isgraph (last_char)) g_string_truncate (ctx->markup, prev - ctx->markup->str); } } #define SET_DEFAULTS(_label_widget) \ G_STMT_START \ { \ gtk_label_set_use_markup (GTK_LABEL (_label_widget), TRUE); \ gtk_label_set_wrap (GTK_LABEL (_label_widget), TRUE); \ gtk_label_set_wrap_mode (GTK_LABEL (_label_widget), PANGO_WRAP_WORD_CHAR); \ gtk_label_set_xalign (GTK_LABEL (_label_widget), 0.0); \ gtk_label_set_selectable (GTK_LABEL (_label_widget), TRUE); \ } \ G_STMT_END switch (type) { case MD_BLOCK_DOC: { g_assert (ctx->markup != NULL); if (ctx->markup->len == 0) break; child = gtk_label_new (ctx->markup->str); SET_DEFAULTS (child); } break; case MD_BLOCK_QUOTE: { GtkWidget *bar = NULL; GtkWidget *label = NULL; g_assert (ctx->markup != NULL); if (ctx->markup->len == 0) break; bar = gtk_separator_new (GTK_ORIENTATION_VERTICAL); gtk_widget_set_size_request (bar, 10, -1); gtk_widget_set_margin_end (bar, 20); label = gtk_label_new (ctx->markup->str); SET_DEFAULTS (label); child = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_append (GTK_BOX (child), bar); gtk_box_append (GTK_BOX (child), label); } break; case MD_BLOCK_UL: { if (ctx->markup == NULL) ctx->indent--; } break; case MD_BLOCK_OL: { if (ctx->markup == NULL) ctx->indent--; } break; case MD_BLOCK_LI: { if (ctx->markup != NULL && ctx->markup->len > 0) { GtkWidget *label = gtk_label_new (ctx->markup->str); SET_DEFAULTS (label); gtk_widget_add_css_class (label, "body"); gtk_box_append (current_container (ctx), label); g_ptr_array_add (ctx->box_children, label); } } break; case MD_BLOCK_HR: child = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); break; case MD_BLOCK_H: { MD_BLOCK_H_DETAIL *h_detail = detail; const char *css_class = NULL; g_assert (ctx->markup != NULL); if (ctx->markup->len == 0) break; child = gtk_label_new (ctx->markup->str); SET_DEFAULTS (child); switch (h_detail->level) { case 1: css_class = "title-1"; break; case 2: css_class = "title-2"; break; case 3: css_class = "title-3"; break; case 4: css_class = "title-4"; break; case 5: css_class = "heading"; break; case 6: default: css_class = "caption-heading"; break; } gtk_widget_add_css_class (child, css_class); } break; case MD_BLOCK_CODE: { MD_BLOCK_CODE_DETAIL *code_detail = detail; g_autofree char *lang_id = NULL; GtkSourceLanguage *language = NULL; g_autoptr (GtkSourceBuffer) buffer = NULL; GtkWidget *view = NULL; GtkWidget *window = NULL; g_assert (ctx->markup != NULL); if (ctx->markup->len == 0) break; if (code_detail->lang.text != NULL) { lang_id = g_strndup (code_detail->lang.text, code_detail->lang.size); language = gtk_source_language_manager_get_language ( gtk_source_language_manager_get_default (), lang_id); } if (language != NULL) buffer = gtk_source_buffer_new_with_language (language); else buffer = gtk_source_buffer_new (NULL); gtk_text_buffer_set_text ( GTK_TEXT_BUFFER (buffer), ctx->markup->str, ctx->markup->len); view = gtk_source_view_new_with_buffer (buffer); g_ptr_array_add (ctx->source_views, view); gtk_text_view_set_editable (GTK_TEXT_VIEW (view), FALSE); gtk_text_view_set_monospace (GTK_TEXT_VIEW (view), TRUE); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (view), 16); gtk_text_view_set_right_margin (GTK_TEXT_VIEW (view), 16); gtk_text_view_set_top_margin (GTK_TEXT_VIEW (view), 12); gtk_text_view_set_bottom_margin (GTK_TEXT_VIEW (view), 12); gtk_widget_add_css_class (view, "monospace"); window = gtk_scrolled_window_new (); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (window), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (window), view); child = gtk_frame_new (NULL); gtk_frame_set_child (GTK_FRAME (child), window); gtk_widget_add_css_class (child, "code-block"); } break; case MD_BLOCK_P: { g_assert (ctx->markup != NULL); if (ctx->markup->len == 0) break; child = gtk_label_new (ctx->markup->str); SET_DEFAULTS (child); gtk_widget_add_css_class (child, "body"); } break; case MD_BLOCK_TABLE: break; case MD_BLOCK_THEAD: case MD_BLOCK_TBODY: case MD_BLOCK_TR: break; case MD_BLOCK_TH: case MD_BLOCK_TD: { GtkWidget *label = NULL; g_assert (ctx->markup != NULL); label = gtk_label_new (ctx->markup->str); SET_DEFAULTS (label); gtk_label_set_wrap (GTK_LABEL (label), ctx->self->wrap_tables); if (type == MD_BLOCK_TH) gtk_widget_add_css_class (label, "heading"); if (ctx->grid_row_idx % 2 == 1) gtk_widget_add_css_class (label, "row-odd"); gtk_grid_attach ( GTK_GRID (ctx->grid), label, ctx->grid_column_idx * 2, ctx->grid_row_idx, 1, 1); ctx->grid_column_idx++; if (ctx->grid_column_idx >= ctx->grid_columns) { ctx->grid_row_idx++; ctx->grid_column_idx = 0; if (ctx->grid_row_idx >= ctx->grid_rows) { GtkWidget *grid = g_steal_pointer (&ctx->grid); if (!ctx->self->wrap_tables) { GtkWidget *scrolled = NULL; scrolled = gtk_scrolled_window_new (); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); gtk_scrolled_window_set_propagate_natural_height ( GTK_SCROLLED_WINDOW (scrolled), TRUE); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolled), grid); child = scrolled; } else child = grid; } } } break; case MD_BLOCK_HTML: default: g_warning ("Unsupported markdown event (Did you use html?)"); return 1; } #undef SET_DEFAULTS if (child != NULL) { gtk_box_append (current_container (ctx), child); g_ptr_array_add (ctx->box_children, child); } if (ctx->markup != NULL) { g_string_free (ctx->markup, TRUE); ctx->markup = NULL; } return 0; } static void check_dark_mode (BgeMarkdownRender *self) { const char *id = NULL; GtkSourceStyleScheme *scheme = NULL; if (self->dark) id = "Adwaita-dark"; else id = "Adwaita"; scheme = gtk_source_style_scheme_manager_get_scheme ( gtk_source_style_scheme_manager_get_default (), id); for (guint i = 0; i < self->source_views->len; i++) { GtkSourceView *view = NULL; GtkTextBuffer *buffer = NULL; view = g_ptr_array_index (self->source_views, i); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); if (scheme != NULL) { gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (buffer), TRUE); gtk_source_buffer_set_style_scheme (GTK_SOURCE_BUFFER (buffer), scheme); } else gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (buffer), FALSE); } } /* End of bge-markdown-render.c */ bazaar-org-bazaar-917017d/bge/bge-markdown-render.h000066400000000000000000000035561523447664000220370ustar00rootroot00000000000000/* bge-markdown-render.h * * Copyright 2025 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #ifndef BGE_INSIDE #error "Only can be included directly." #endif G_BEGIN_DECLS #define BGE_TYPE_MARKDOWN_RENDER (bge_markdown_render_get_type ()) G_DECLARE_FINAL_TYPE (BgeMarkdownRender, bge_markdown_render, BGE, MARKDOWN_RENDER, GtkWidget) GtkWidget * bge_markdown_render_new (void); const char * bge_markdown_render_get_markdown (BgeMarkdownRender *self); gboolean bge_markdown_render_get_dark (BgeMarkdownRender *self); void bge_markdown_render_set_markdown (BgeMarkdownRender *self, const char *markdown); void bge_markdown_render_set_dark (BgeMarkdownRender *self, gboolean dark); int bge_markdown_render_get_spacing (BgeMarkdownRender *self); void bge_markdown_render_set_spacing (BgeMarkdownRender *self, int spacing); gboolean bge_markdown_render_get_wrap_tables (BgeMarkdownRender *self); void bge_markdown_render_set_wrap_tables (BgeMarkdownRender *self, gboolean wrap_tables); G_END_DECLS /* End of bge-markdown-render.h */ bazaar-org-bazaar-917017d/bge/bge-marshalers.list000066400000000000000000000034211523447664000216140ustar00rootroot00000000000000# see glib-genmarshal(1) for a detailed description of the file format, # possible parameter types are: # VOID indicates no return type, or no extra # parameters. if VOID is used as the parameter # list, no additional parameters may be present. # BOOLEAN for boolean types (gboolean) # CHAR for signed char types (char) # UCHAR for unsigned char types (guchar) # INT for signed integer types (int) # UINT for unsigned integer types (guint) # LONG for signed long integer types (glong) # ULONG for unsigned long integer types (gulong) # INT64 for signed 64bit integer types (gint64) # UINT64 for unsigned 64bit integer types (guint64) # ENUM for enumeration types (int) # FLAGS for flag enumeration types (guint) # FLOAT for single-precision float types (float) # DOUBLE for double-precision float types (double) # STRING for string types (char *) # BOXED for boxed (anonymous but reference counted) types (GBoxed*) # PARAM for GParamSpec or derived types (GParamSpec*) # POINTER for anonymous pointer types (gpointer) # OBJECT for GObject or derived types (GObject*) # VARIANT for GVariant types (GVariant*) # NONE deprecated alias for VOID # BOOL deprecated alias for BOOLEAN OBJECT:VOID OBJECT:STRING,STRING OBJECT:OBJECT VOID:OBJECT,OBJECT # for wdgt stuff # graphene types DOUBLE:DOUBLE DOUBLE:DOUBLE,DOUBLE DOUBLE:DOUBLE,DOUBLE,DOUBLE DOUBLE:DOUBLE,DOUBLE,DOUBLE,DOUBLE DOUBLE:DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE BOXED:DOUBLE,DOUBLE BOXED:DOUBLE,DOUBLE,DOUBLE BOXED:DOUBLE,DOUBLE,DOUBLE,DOUBLE BOXED:DOUBLE,ENUM,ENUM,DOUBLE INT:DOUBLE OBJECT:DOUBLE UINT:DOUBLE OBJECT:OBJECT,UINT,DOUBLE bazaar-org-bazaar-917017d/bge/bge-version-macros.h000066400000000000000000000046201523447664000217000ustar00rootroot00000000000000/* bge-version-macros.h * * Copyright 2026 Eva M * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include #include "bge-version.h" #ifndef _BGE_EXTERN #define _BGE_EXTERN extern #endif #define BGE_VERSION_CUR_STABLE (G_ENCODE_VERSION (BGE_MAJOR_VERSION, 0)) #ifdef BGE_DISABLE_DEPRECATION_WARNINGS #define BGE_DEPRECATED _BGE_EXTERN #define BGE_DEPRECATED_FOR(f) _BGE_EXTERN #define BGE_UNAVAILABLE(maj, min) _BGE_EXTERN #else #define BGE_DEPRECATED G_DEPRECATED _BGE_EXTERN #define BGE_DEPRECATED_FOR(f) G_DEPRECATED_FOR (f) _BGE_EXTERN #define BGE_UNAVAILABLE(maj, min) G_UNAVAILABLE (maj, min) _BGE_EXTERN #endif #define BGE_VERSION_1_0 (G_ENCODE_VERSION (1, 0)) #if BGE_MAJOR_VERSION == BGE_VERSION_1_0 #define BGE_VERSION_PREV_STABLE (BGE_VERSION_1_0) #else #define BGE_VERSION_PREV_STABLE (G_ENCODE_VERSION (BGE_MAJOR_VERSION - 1, 0)) #endif #ifndef BGE_VERSION_MIN_REQUIRED #define BGE_VERSION_MIN_REQUIRED (BGE_VERSION_CUR_STABLE) #endif #ifndef BGE_VERSION_MAX_ALLOWED #if BGE_VERSION_MIN_REQUIRED > BGE_VERSION_PREV_STABLE #define BGE_VERSION_MAX_ALLOWED (BGE_VERSION_MIN_REQUIRED) #else #define BGE_VERSION_MAX_ALLOWED (BGE_VERSION_CUR_STABLE) #endif #endif #define BGE_AVAILABLE_IN_ALL _BGE_EXTERN #if BGE_VERSION_MIN_REQUIRED >= BGE_VERSION_1_0 #define BGE_DEPRECATED_IN_1_0 BGE_DEPRECATED #define BGE_DEPRECATED_IN_1_0_FOR(f) BGE_DEPRECATED_FOR (f) #else #define BGE_DEPRECATED_IN_1_0 _BGE_EXTERN #define BGE_DEPRECATED_IN_1_0_FOR(f) _BGE_EXTERN #endif #if BGE_VERSION_MAX_ALLOWED < BGE_VERSION_1_0 #define BGE_AVAILABLE_IN_1_0 BGE_UNAVAILABLE (1, 0) #else #define BGE_AVAILABLE_IN_1_0 _BGE_EXTERN #endif bazaar-org-bazaar-917017d/bge/bge-version.h.in000066400000000000000000000047571523447664000210360ustar00rootroot00000000000000/* bge-version.h.in * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #if !defined(BGE_INSIDE) && !defined(BGE_COMPILATION) # error "Only can be included directly." #endif /** * SECTION:bgeversion * @short_description: bge version checking * * bge provides macros to check the version of the library * at compile-time */ /** * BGE_MAJOR_VERSION: * * bge major version component (e.g. 1 if %BGE_VERSION is 1.2.3) */ #define BGE_MAJOR_VERSION (@MAJOR_VERSION@) /** * BGE_MINOR_VERSION: * * bge minor version component (e.g. 2 if %BGE_VERSION is 1.2.3) */ #define BGE_MINOR_VERSION (@MINOR_VERSION@) /** * BGE_MICRO_VERSION: * * bge micro version component (e.g. 3 if %BGE_VERSION is 1.2.3) */ #define BGE_MICRO_VERSION (@MICRO_VERSION@) /** * BGE_VERSION * * bge version. */ #define BGE_VERSION (@VERSION@) /** * BGE_VERSION_S: * * bge version, encoded as a string, useful for printing and * concatenation. */ #define BGE_VERSION_S "@VERSION@" #define BGE_ENCODE_VERSION(major,minor,micro) \ ((major) << 24 | (minor) << 16 | (micro) << 8) /** * BGE_VERSION_HEX: * * bge version, encoded as an hexadecimal number, useful for * integer comparisons. */ #define BGE_VERSION_HEX \ (BGE_ENCODE_VERSION (BGE_MAJOR_VERSION, BGE_MINOR_VERSION, BGE_MICRO_VERSION)) /** * BGE_CHECK_VERSION: * @major: required major version * @minor: required minor version * @micro: required micro version * * Compile-time version checking. Evaluates to %TRUE if the version * of bge is greater than the required one. */ #define BGE_CHECK_VERSION(major,minor,micro) \ (BGE_MAJOR_VERSION > (major) || \ (BGE_MAJOR_VERSION == (major) && BGE_MINOR_VERSION > (minor)) || \ (BGE_MAJOR_VERSION == (major) && BGE_MINOR_VERSION == (minor) && \ BGE_MICRO_VERSION >= (micro))) bazaar-org-bazaar-917017d/bge/bge.h000066400000000000000000000021441523447664000167320ustar00rootroot00000000000000/* bge.h - Bazaar GTK Extensions * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include G_BEGIN_DECLS #define BGE_INSIDE #include "bge-version-macros.h" #include "bge-animation.h" #include "bge-carousel.h" #include "bge-markdown-render.h" #include "wdgt/bge-easing.h" #include "wdgt/bge-wdgt-renderer.h" #include "wdgt/bge-wdgt-spec.h" #undef BGE_INSIDE BGE_AVAILABLE_IN_ALL void bge_init (void); G_END_DECLS bazaar-org-bazaar-917017d/bge/demo/000077500000000000000000000000001523447664000167475ustar00rootroot00000000000000bazaar-org-bazaar-917017d/bge/demo/demo.c000066400000000000000000000156531523447664000200510ustar00rootroot00000000000000/* demo.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include static BgeWdgtRenderer *wdgt = NULL; static GtkLabel *error_lbl = NULL; static void on_activate (GtkApplication *app); static GtkWidget * on_carousel_create_widget (BgeCarousel *carousel, GtkStringObject *string, gpointer user_data); static void on_buffer_changed (GtkTextBuffer *buffer, gpointer user_data); int main (int argc, char **argv) { g_autoptr (GtkApplication) app = NULL; g_autoptr (GtkCssProvider) provider = NULL; bge_init (); app = gtk_application_new ( "io.github.kolunmi.BgeDemo", G_APPLICATION_NON_UNIQUE); g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL); provider = gtk_css_provider_new (); gtk_css_provider_load_from_resource (provider, "/io/github/kolunmi/BgeDemo/style.css"); gtk_style_context_add_provider_for_display ( gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); return g_application_run (G_APPLICATION (app), argc, argv); } static void on_activate (GtkApplication *app) { GtkWidget *window = NULL; GtkWidget *root = NULL; GtkTextBuffer *buffer = NULL; BgeMarkdownRender *markdown = NULL; GtkBox *carousel_box = NULL; g_autoptr (GtkBuilder) builder = NULL; g_autoptr (GtkBuilderScope) scope = NULL; window = gtk_application_window_new (app); gtk_window_set_default_size (GTK_WINDOW (window), 1000, 800); scope = gtk_builder_cscope_new (); builder = gtk_builder_new (); gtk_builder_set_scope (builder, scope); gtk_builder_add_from_resource (builder, "/io/github/kolunmi/BgeDemo/window.ui", NULL); root = GTK_WIDGET (gtk_builder_get_object (builder, "root")); buffer = GTK_TEXT_BUFFER (gtk_builder_get_object (builder, "buffer")); wdgt = BGE_WDGT_RENDERER (gtk_builder_get_object (builder, "wdgt")); error_lbl = GTK_LABEL (gtk_builder_get_object (builder, "error_lbl")); markdown = BGE_MARKDOWN_RENDER (gtk_builder_get_object (builder, "markdown")); carousel_box = GTK_BOX (gtk_builder_get_object (builder, "carousel_box")); { GtkIconTheme *theme = NULL; g_auto (GStrv) icons = NULL; GtkStringList *string_lists[16] = { 0 }; theme = gtk_icon_theme_get_for_display (gdk_display_get_default ()); icons = gtk_icon_theme_get_icon_names (theme); for (guint i = 0; i < G_N_ELEMENTS (string_lists); i++) { string_lists[i] = gtk_string_list_new (NULL); } for (guint i = 0; icons[i] != NULL; i++) { if (g_str_has_suffix (icons[i], "-symbolic")) { gtk_string_list_append (string_lists[i % G_N_ELEMENTS (string_lists)], icons[i]); } } for (guint i = 0; i < G_N_ELEMENTS (string_lists); i++) { g_autoptr (GtkSingleSelection) selection = NULL; GtkWidget *carousel = NULL; selection = gtk_single_selection_new (G_LIST_MODEL (string_lists[i])); carousel = bge_carousel_new (); bge_carousel_set_allow_mouse_drag (BGE_CAROUSEL (carousel), TRUE); bge_carousel_set_allow_overshoot (BGE_CAROUSEL (carousel), TRUE); g_signal_connect (carousel, "create-widget", G_CALLBACK (on_carousel_create_widget), NULL); bge_carousel_set_model (BGE_CAROUSEL (carousel), selection); gtk_box_append (carousel_box, carousel); if (i < G_N_ELEMENTS (string_lists) - 1) gtk_box_append (carousel_box, gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)); } } { g_autoptr (GBytes) markdown_bytes = NULL; gsize markdown_buffer_size = 0; gconstpointer markdown_buffer = NULL; markdown_bytes = g_resources_lookup_data ( "/io/github/kolunmi/BgeDemo/example-markdown.md", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); g_assert (markdown_bytes != NULL); markdown_buffer = g_bytes_get_data (markdown_bytes, &markdown_buffer_size); bge_markdown_render_set_markdown (markdown, markdown_buffer); } { g_autoptr (GtkStringObject) reference = NULL; g_autoptr (GBytes) wdgt_bytes = NULL; gsize wdgt_buffer_size = 0; gconstpointer wdgt_buffer = NULL; reference = gtk_string_object_new ("Hello from demo.c!!"); bge_wdgt_renderer_set_reference (wdgt, G_OBJECT (reference)); g_signal_connect ( buffer, "changed", G_CALLBACK (on_buffer_changed), NULL); wdgt_bytes = g_resources_lookup_data ( "/io/github/kolunmi/BgeDemo/test.wdgt", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); g_assert (wdgt_bytes != NULL); wdgt_buffer = g_bytes_get_data (wdgt_bytes, &wdgt_buffer_size); gtk_text_buffer_set_text (buffer, wdgt_buffer, wdgt_buffer_size); } gtk_window_set_child (GTK_WINDOW (window), g_object_ref_sink (root)); gtk_window_present (GTK_WINDOW (window)); } static GtkWidget * on_carousel_create_widget (BgeCarousel *carousel, GtkStringObject *string_object, gpointer user_data) { const char *icon_name = NULL; GtkWidget *button = NULL; icon_name = gtk_string_object_get_string (string_object); button = gtk_button_new_from_icon_name (icon_name); gtk_widget_set_margin_start (button, 2); gtk_widget_set_margin_end (button, 2); return button; } static void on_buffer_changed (GtkTextBuffer *buffer, gpointer user_data) { g_autoptr (GError) local_error = NULL; g_autofree char *text = NULL; GtkTextIter start_iter = { 0 }; GtkTextIter end_iter = { 0 }; g_autoptr (BgeWdgtSpec) spec = NULL; gtk_text_buffer_get_start_iter (buffer, &start_iter); gtk_text_buffer_get_end_iter (buffer, &end_iter); text = gtk_text_buffer_get_text (buffer, &start_iter, &end_iter, FALSE); spec = bge_wdgt_spec_new_for_string (text, &local_error); if (spec != NULL) gtk_widget_set_visible (GTK_WIDGET (error_lbl), FALSE); else { gtk_label_set_label (error_lbl, local_error->message); gtk_widget_set_visible (GTK_WIDGET (error_lbl), TRUE); } bge_wdgt_renderer_set_spec (wdgt, spec); } bazaar-org-bazaar-917017d/bge/demo/demo.gresource.xml000066400000000000000000000004301523447664000224070ustar00rootroot00000000000000 window.ui style.css test.wdgt ../../docs/overview.md bazaar-org-bazaar-917017d/bge/demo/meson.build000066400000000000000000000010431523447664000211070ustar00rootroot00000000000000demo_sources = files( 'demo.c', ) blueprints = custom_target( 'blueprints', input: files( 'window.blp', ), output: '.', command: [ find_program('blueprint-compiler', version: '>= 0.20.0'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@' ], ) demo_sources += gnome.compile_resources('demo-resources', 'demo.gresource.xml', c_name: 'demo', dependencies: blueprints ) demo_deps = [ bge_dep, ] demo = executable( 'bge-demo', demo_sources, dependencies: demo_deps, install: true, ) bazaar-org-bazaar-917017d/bge/demo/style.css000066400000000000000000000003421523447664000206200ustar00rootroot00000000000000.source-edit { font-family: monospace; font-size: large; } .debug { background-color: alpha(pink, 0.25); } .gradient { background-image: linear-gradient(to bottom left, #1f2d8f, #159eff); color: white; } bazaar-org-bazaar-917017d/bge/demo/test.wdgt000066400000000000000000000057001523447664000206170ustar00rootroot00000000000000defwidget "My Widget" { reference ref-string : "GtkStringObject"; var box : "GtkBox"; var cx : "gdouble"; var cy : "gdouble"; var w : "gdouble"; var h : "gdouble"; var corner : "gdouble"; var x : "gdouble"; var y : "gdouble"; var start : "gdouble"; var end : "gdouble"; var outline : "GskPath"; var measure : "GskPathMeasure"; init { set box = #child/(""("gradient") orientation = vertical; _=#child/GtkLabel(""() margin-start = 10; margin-end = 10; margin-top = 10; margin-bottom = 10; label = ref-string:string; wrap = true; ); ); measure 200, 300, 200, 300; set x = #eval(#(cx)-#(w)/2.0); set y = #eval(#(cy)-#(h)/2.0); allocate box w, h, #(translate(#GraphenePoint(x, y));); set outline = #GskPath( move-to(#eval(#(x)+#(corner)), y); rel-line-to(#eval(#(w)-#(corner)*2.0), 0.0); rel-arc-to(corner, 0.0, corner, corner); rel-line-to(0.0, #eval(#(h)-#(corner)*2.0)); rel-arc-to(0.0, corner, #eval(-#(corner)), corner); rel-line-to(#eval(-(#(w)-#(corner)*2.0)), 0.0); rel-arc-to(#eval(-#(corner)), 0.0, #eval(-#(corner)), #eval(-#(corner))); rel-line-to(0.0, #eval(-(#(h)-#(corner)*2.0))); rel-arc-to(0.0, #eval(-#(corner)), corner, #eval(-#(corner))); close(); ); set measure = #measure-path(outline); snapshot { with fill( outline, #GskFillRule(winding), ) { do-child box; } add stroke( #GskPath( add-segment( outline, #path-point(measure, start), #path-point(measure, end), ); ), #GskStroke(6.0, round, round, 0.0), #GdkRGBA("#101432"), ); } } state-default "1" { set w = 100.0; set h = 100.0; set corner = 10.0; set cx = #eval(30.0*sin(#(%tick%)) + #(%width%)/2.0); set cy = #eval(#(%height%)/2.0); set start = #eval(#(#path-length(measure))*(0.333*sin(#(%tick%))+0.333)); set end = #eval(#(#path-length(measure))*(0.333*sin(#(%tick%))+0.666)); transition-spring w 1.0, 0.5, 100.0; transition-spring h 1.0, 0.5, 100.0; transition-spring corner 1.0, 0.5, 100.0; transition-spring cx 1.0, 0.5, 100.0; transition-spring cy 1.0, 0.5, 100.0; transition-spring start 0.5, 0.5, 5.0; transition-spring end 0.5, 0.5, 5.0; } state "2" { set w = 200.0; set h = 200.0; set corner = 20.0; set cx = #eval(#(%width%)/2.0); set cy = #eval(#(%height%)/2.0); set start = 0.0; set end = #path-length(measure); transition-spring w 0.9, 0.5, 100.0; transition-spring h 0.9, 0.5, 100.0; transition-spring corner 0.9, 0.5, 100.0; transition-spring cx 0.9, 0.5, 100.0; transition-spring cy 0.9, 0.5, 100.0; transition-spring start 1.1, 0.2, 10.0; transition-spring end 1.1, 0.2, 10.0; } } bazaar-org-bazaar-917017d/bge/demo/window.blp000066400000000000000000000033631523447664000207620ustar00rootroot00000000000000using Gtk 4.0; Box root { orientation: horizontal; StackSidebar { stack: stack; } Stack stack { transition-type: none; StackPage { name: "markdown"; title: "Markdown"; child: ScrolledWindow { child: $BgeMarkdownRender markdown { margin-start: 10; margin-end: 10; }; }; } StackPage { name: "carousel"; title: "Carousel"; child: ScrolledWindow { hscrollbar-policy: never; child: Box carousel_box { valign: center; orientation: vertical; spacing: 4; }; }; } StackPage { name: "wdgt"; title: "Wdgt"; child: Paned { orientation: vertical; position: 400; wide-handle: true; start-child: ScrolledWindow { child: TextView { styles ["source-edit"] monospace: true; buffer: TextBuffer buffer { }; }; }; end-child: Box { orientation: vertical; Label error_lbl { styles ["error"] visible: false; wrap: true; } $BgeWdgtRenderer wdgt { styles ["debug"] halign: center; valign: center; hexpand: true; vexpand: true; state: bind states.selected-item as <$GtkStringObject>.string as ; } Separator { orientation: horizontal; } DropDown states { margin-start: 3; margin-end: 3; margin-top: 3; margin-bottom: 3; model: bind wdgt.spec; } }; shrink-end-child: false; }; } } } bazaar-org-bazaar-917017d/bge/libbge.c000066400000000000000000000021431523447664000174130ustar00rootroot00000000000000/* libbge.c * * Copyright 2025 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BGE::CORE" #include "bge.h" /** * bge_init: * * Initializes BGE (And GTK). * * This function must be called before using any other BGE functions. */ void bge_init (void) { gtk_init (); g_type_ensure (BGE_TYPE_ANIMATION); g_type_ensure (BGE_TYPE_CAROUSEL); g_type_ensure (BGE_TYPE_MARKDOWN_RENDER); g_type_ensure (BGE_TYPE_WDGT_RENDERER); } bazaar-org-bazaar-917017d/bge/meson.build000066400000000000000000000033171523447664000201710ustar00rootroot00000000000000api_version = bz_version bge_sources = [ 'libbge.c', 'bge-animation.c', 'bge-carousel.c', 'bge-markdown-render.c', ] bge_headers = [ 'bge.h', 'bge-animation.h', 'bge-carousel.h', ] subdir('wdgt') version_split = api_version.split('.') version_conf = configuration_data() version_conf.set('VERSION', api_version) version_conf.set('MAJOR_VERSION', version_split[0]) version_conf.set('MINOR_VERSION', version_split[1]) version_conf.set('MICRO_VERSION', version_split[2]) configure_file( input: 'bge-version.h.in', output: 'bge-version.h', configuration: version_conf, install: true, install_dir: get_option('includedir') / 'bge' ) bge_deps = [ cc.find_library('m', required: true), dependency('gtk4', version: '>= 4.22.1'), dependency('gtksourceview-5', version: '>= 5.17'), dependency('md4c', version: '>= 0.5.1'), ] bge_marshalers = gnome.genmarshal('bge-marshalers', sources: 'bge-marshalers.list', prefix: 'bge_marshal', valist_marshallers: true, ) bge_lib = shared_library( 'bge', bge_sources, bge_marshalers, dependencies: bge_deps, version: api_version, soversion: version_split[0], install: true, ) install_headers( bge_headers + files('bge-version-macros.h'), subdir: 'bge') pkg = import('pkgconfig') pkg.generate( description: 'Bazaar GTK Extensions', libraries: bge_lib, name: 'libbge', filebase: 'bge', version: api_version, subdirs: 'bge', requires: ['gtk4', 'md4c', 'gtksourceview-5'], install_dir: get_option('libdir') / 'pkgconfig' ) bge_dep = declare_dependency( link_with: bge_lib, dependencies: [bge_deps], include_directories : include_directories('..', '.'), ) subdir('demo') bazaar-org-bazaar-917017d/bge/util.h000066400000000000000000000076521523447664000171630ustar00rootroot00000000000000/* util.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #define BGE_RELEASE_DATA(name, unref) \ if ((unref) != NULL) \ { \ g_clear_pointer (&self->name, (unref)); \ } #define BGE_RELEASE_UTAG(name, remove) \ if ((remove) != NULL) \ { \ g_clear_handle_id (&self->name, (remove)); \ } /* va args = releases */ #define BGE_DEFINE_DATA(name, Name, layout, ...) \ typedef struct _##Name##Data Name##Data; \ struct _##Name##Data \ { \ gatomicrefcount rc; \ struct layout; \ }; \ G_GNUC_UNUSED \ static inline Name##Data * \ name##_data_new (void) \ { \ Name##Data *data = NULL; \ data = g_new0 (typeof (*data), 1); \ g_atomic_ref_count_init (&data->rc); \ return data; \ } \ G_GNUC_UNUSED \ static inline Name##Data * \ name##_data_ref (gpointer ptr) \ { \ Name##Data *self = ptr; \ g_atomic_ref_count_inc (&self->rc); \ return self; \ } \ G_GNUC_UNUSED \ static void \ name##_data_unref (gpointer ptr); \ G_GNUC_UNUSED \ static void \ name##_data_deinit (gpointer ptr) \ { \ Name##Data *self = ptr; \ __VA_ARGS__ \ } \ G_GNUC_UNUSED \ static void \ name##_data_unref (gpointer ptr) \ { \ Name##Data *self = ptr; \ if (g_atomic_ref_count_dec (&self->rc)) \ { \ name##_data_deinit (self); \ g_free (self); \ } \ } \ G_GNUC_UNUSED \ static void \ name##_data_unref_closure (gpointer data, \ GClosure *closure) \ { \ name##_data_unref (data); \ } \ G_DEFINE_AUTOPTR_CLEANUP_FUNC (Name##Data, name##_data_unref); bazaar-org-bazaar-917017d/bge/wdgt/000077500000000000000000000000001523447664000167705ustar00rootroot00000000000000bazaar-org-bazaar-917017d/bge/wdgt/bge-easing.c000066400000000000000000000400231523447664000211340ustar00rootroot00000000000000/* TAKEN FROM LIBADWAITA */ /* * Copyright (C) 2021 Manuel GenovĂ©s * Copyright (C) 2021 Purism SPC * * SPDX-License-Identifier: LGPL-2.1-or-later */ #define G_LOG_DOMAIN "BGE::EASING" #include "bge.h" G_DEFINE_ENUM_TYPE ( BgeEasing, bge_easing, G_DEFINE_ENUM_VALUE (BGE_LINEAR, "linear"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_QUAD, "in-quad"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_QUAD, "out-quad"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_QUAD, "in-out-quad"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_CUBIC, "in-cubic"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_CUBIC, "out-cubic"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_CUBIC, "in-out-cubic"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_QUART, "in-quart"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_QUART, "out-quart"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_QUART, "in-out-quart"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_QUINT, "in-quint"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_QUINT, "out-quint"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_QUINT, "in-out-quint"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_SINE, "in-sine"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_SINE, "out-sine"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_SINE, "in-out-sine"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_EXPO, "in-expo"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_EXPO, "out-expo"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_EXPO, "in-out-expo"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_CIRC, "in-circ"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_CIRC, "out-circ"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_CIRC, "in-out-circ"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_ELASTIC, "in-elastic"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_ELASTIC, "out-elastic"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_ELASTIC, "in-out-elastic"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_BACK, "in-back"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_BACK, "out-back"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_BACK, "in-out-back"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_BOUNCE, "in-bounce"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT_BOUNCE, "out-bounce"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT_BOUNCE, "in-out-bounce"), G_DEFINE_ENUM_VALUE (BGE_EASE, "ease"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN, "ease-in"), G_DEFINE_ENUM_VALUE (BGE_EASE_OUT, "ease-out"), G_DEFINE_ENUM_VALUE (BGE_EASE_IN_OUT, "ease-in-out")); #include /* * Copied from: * https://gitlab.gnome.org/GNOME/clutter/-/blob/a236494ea7f31848b4a459dad41330f225137832/clutter/clutter-easing.c * https://gitlab.gnome.org/GNOME/clutter/-/blob/a236494ea7f31848b4a459dad41330f225137832/clutter/clutter-enums.h * * Copyright (C) 2011 Intel Corporation */ /** * BgeEasing: * @BGE_LINEAR: Linear tweening. * @BGE_EASE_IN_QUAD: Quadratic tweening. * @BGE_EASE_OUT_QUAD: Quadratic tweening, inverse of * [enum@Bge.Easing.ease-in-quad]. * @BGE_EASE_IN_OUT_QUAD: Quadratic tweening, combining * [enum@Bge.Easing.ease-in-quad] and [enum@Bge.Easing.ease-out-quad]. * @BGE_EASE_IN_CUBIC: Cubic tweening. * @BGE_EASE_OUT_CUBIC: Cubic tweening, inverse of * [enum@Bge.Easing.ease-in-cubic]. * @BGE_EASE_IN_OUT_CUBIC: Cubic tweening, combining * [enum@Bge.Easing.ease-in-cubic] and [enum@Bge.Easing.ease-out-cubic]. * @BGE_EASE_IN_QUART: Quartic tweening. * @BGE_EASE_OUT_QUART: Quartic tweening, inverse of * [enum@Bge.Easing.ease-in-quart]. * @BGE_EASE_IN_OUT_QUART: Quartic tweening, combining * [enum@Bge.Easing.ease-in-quart] and [enum@Bge.Easing.ease-out-quart]. * @BGE_EASE_IN_QUINT: Quintic tweening. * @BGE_EASE_OUT_QUINT: Quintic tweening, inverse of * [enum@Bge.Easing.ease-in-quint]. * @BGE_EASE_IN_OUT_QUINT: Quintic tweening, combining * [enum@Bge.Easing.ease-in-quint] and [enum@Bge.Easing.ease-out-quint]. * @BGE_EASE_IN_SINE: Sine wave tweening. * @BGE_EASE_OUT_SINE: Sine wave tweening, inverse of * [enum@Bge.Easing.ease-in-sine]. * @BGE_EASE_IN_OUT_SINE: Sine wave tweening, combining * [enum@Bge.Easing.ease-in-sine] and [enum@Bge.Easing.ease-out-sine]. * @BGE_EASE_IN_EXPO: Exponential tweening. * @BGE_EASE_OUT_EXPO: Exponential tweening, inverse of * [enum@Bge.Easing.ease-in-expo]. * @BGE_EASE_IN_OUT_EXPO: Exponential tweening, combining * [enum@Bge.Easing.ease-in-expo] and [enum@Bge.Easing.ease-out-expo]. * @BGE_EASE_IN_CIRC: Circular tweening. * @BGE_EASE_OUT_CIRC: Circular tweening, inverse of * [enum@Bge.Easing.ease-in-circ]. * @BGE_EASE_IN_OUT_CIRC: Circular tweening, combining * [enum@Bge.Easing.ease-in-circ] and [enum@Bge.Easing.ease-out-circ]. * @BGE_EASE_IN_ELASTIC: Elastic tweening, with offshoot on start. * @BGE_EASE_OUT_ELASTIC: Elastic tweening, with offshoot on end, inverse of * [enum@Bge.Easing.ease-in-elastic]. * @BGE_EASE_IN_OUT_ELASTIC: Elastic tweening, with offshoot on both ends, * combining [enum@Bge.Easing.ease-in-elastic] and * [enum@Bge.Easing.ease-out-elastic]. * @BGE_EASE_IN_BACK: Overshooting cubic tweening, with backtracking on start. * @BGE_EASE_OUT_BACK: Overshooting cubic tweening, with backtracking on end, * inverse of [enum@Bge.Easing.ease-in-back]. * @BGE_EASE_IN_OUT_BACK: Overshooting cubic tweening, with backtracking on both * ends, combining [enum@Bge.Easing.ease-in-back] and * [enum@Bge.Easing.ease-out-back]. * @BGE_EASE_IN_BOUNCE: Exponentially decaying parabolic (bounce) tweening, * on start. * @BGE_EASE_OUT_BOUNCE: Exponentially decaying parabolic (bounce) tweening, * with bounce on end, inverse of [enum@Bge.Easing.ease-in-bounce]. * @BGE_EASE_IN_OUT_BOUNCE: Exponentially decaying parabolic (bounce) tweening, * with bounce on both ends, combining [enum@Bge.Easing.ease-in-bounce] and * [enum@Bge.Easing.ease-out-bounce]. * * Describes the available easing functions for use with * [class@TimedAnimation]. * * New values may be added to this enumeration over time. */ /** * BGE_EASE: * * Cubic bezier tweening, with control points in (0.25, 0.1) and (0.25, 1.0). * * Increases in velocity towards the middle of the animation, slowing back down * at the end. * * Since: 1.7 */ /** * BGE_EASE_IN: * * Cubic bezier tweening, with control points in (0.42, 0.0) and (1.0, 1.0). * * Starts off slowly, with the speed of the animation increasing until complete. * * Since: 1.7 */ /** * BGE_EASE_OUT: * * Cubic bezier tweening, with control points in (0.0, 0.0) and (0.58, 1.0). * * Starts quickly, slowing down the animation until complete. * * Since: 1.7 */ /** * BGE_EASE_IN_OUT: * * Cubic bezier tweening, with control points in (0.42, 0.0) and (0.58, 1.0). * * Starts off slowly, speeds up in the middle, and then slows down again. * * Since: 1.7 */ static inline double linear (double t, double d) { return t / d; } static inline double ease_in_quad (double t, double d) { double p = t / d; return p * p; } static inline double ease_out_quad (double t, double d) { double p = t / d; return -1.0 * p * (p - 2); } static inline double ease_in_out_quad (double t, double d) { double p = t / (d / 2); if (p < 1) return 0.5 * p * p; p -= 1; return -0.5 * (p * (p - 2) - 1); } static inline double ease_in_cubic (double t, double d) { double p = t / d; return p * p * p; } static inline double ease_out_cubic (double t, double d) { double p = t / d - 1; return p * p * p + 1; } static inline double ease_in_out_cubic (double t, double d) { double p = t / (d / 2); if (p < 1) return 0.5 * p * p * p; p -= 2; return 0.5 * (p * p * p + 2); } static inline double ease_in_quart (double t, double d) { double p = t / d; return p * p * p * p; } static inline double ease_out_quart (double t, double d) { double p = t / d - 1; return -1.0 * (p * p * p * p - 1); } static inline double ease_in_out_quart (double t, double d) { double p = t / (d / 2); if (p < 1) return 0.5 * p * p * p * p; p -= 2; return -0.5 * (p * p * p * p - 2); } static inline double ease_in_quint (double t, double d) { double p = t / d; return p * p * p * p * p; } static inline double ease_out_quint (double t, double d) { double p = t / d - 1; return p * p * p * p * p + 1; } static inline double ease_in_out_quint (double t, double d) { double p = t / (d / 2); if (p < 1) return 0.5 * p * p * p * p * p; p -= 2; return 0.5 * (p * p * p * p * p + 2); } static inline double ease_in_sine (double t, double d) { return -1.0 * cos (t / d * G_PI_2) + 1.0; } static inline double ease_out_sine (double t, double d) { return sin (t / d * G_PI_2); } static inline double ease_in_out_sine (double t, double d) { return -0.5 * (cos (G_PI * t / d) - 1); } static inline double ease_in_expo (double t, double d) { return G_APPROX_VALUE (t, 0, DBL_EPSILON) ? 0.0 : pow (2, 10 * (t / d - 1)); } static double ease_out_expo (double t, double d) { return G_APPROX_VALUE (t, d, DBL_EPSILON) ? 1.0 : -pow (2, -10 * t / d) + 1; } static inline double ease_in_out_expo (double t, double d) { double p; if (G_APPROX_VALUE (t, 0, DBL_EPSILON)) return 0.0; if (G_APPROX_VALUE (t, d, DBL_EPSILON)) return 1.0; p = t / (d / 2); if (p < 1) return 0.5 * pow (2, 10 * (p - 1)); p -= 1; return 0.5 * (-pow (2, -10 * p) + 2); } static inline double ease_in_circ (double t, double d) { double p = t / d; return -1.0 * (sqrt (1 - p * p) - 1); } static inline double ease_out_circ (double t, double d) { double p = t / d - 1; return sqrt (1 - p * p); } static inline double ease_in_out_circ (double t, double d) { double p = t / (d / 2); if (p < 1) return -0.5 * (sqrt (1 - p * p) - 1); p -= 2; return 0.5 * (sqrt (1 - p * p) + 1); } static inline double ease_in_elastic (double t, double d) { double p = d * .3; double s = p / 4; double q = t / d; if (G_APPROX_VALUE (q, 1, DBL_EPSILON)) return 1.0; q -= 1; return -(pow (2, 10 * q) * sin ((q * d - s) * (2 * G_PI) / p)); } static inline double ease_out_elastic (double t, double d) { double p = d * .3; double s = p / 4; double q = t / d; if (G_APPROX_VALUE (q, 1, DBL_EPSILON)) return 1.0; return pow (2, -10 * q) * sin ((q * d - s) * (2 * G_PI) / p) + 1.0; } static inline double ease_in_out_elastic (double t, double d) { double p = d * (.3 * 1.5); double s = p / 4; double q = t / (d / 2); if (G_APPROX_VALUE (q, 2, DBL_EPSILON)) return 1.0; if (q < 1) { q -= 1; return -.5 * (pow (2, 10 * q) * sin ((q * d - s) * (2 * G_PI) / p)); } else { q -= 1; return pow (2, -10 * q) * sin ((q * d - s) * (2 * G_PI) / p) * .5 + 1.0; } } static inline double ease_in_back (double t, double d) { double p = t / d; return p * p * ((1.70158 + 1) * p - 1.70158); } static inline double ease_out_back (double t, double d) { double p = t / d - 1; return p * p * ((1.70158 + 1) * p + 1.70158) + 1; } static inline double ease_in_out_back (double t, double d) { double p = t / (d / 2); double s = 1.70158 * 1.525; if (p < 1) return 0.5 * (p * p * ((s + 1) * p - s)); p -= 2; return 0.5 * (p * p * ((s + 1) * p + s) + 2); } static inline double ease_out_bounce (double t, double d) { double p = t / d; if (p < (1 / 2.75)) { return 7.5625 * p * p; } else if (p < (2 / 2.75)) { p -= (1.5 / 2.75); return 7.5625 * p * p + .75; } else if (p < (2.5 / 2.75)) { p -= (2.25 / 2.75); return 7.5625 * p * p + .9375; } else { p -= (2.625 / 2.75); return 7.5625 * p * p + .984375; } } static inline double ease_in_bounce (double t, double d) { return 1.0 - ease_out_bounce (d - t, d); } static inline double ease_in_out_bounce (double t, double d) { if (t < d / 2) return ease_in_bounce (t * 2, d) * 0.5; else return ease_out_bounce (t * 2 - d, d) * 0.5 + 1.0 * 0.5; } static inline double x_for_t (double t, double x_1, double x_2) { double omt = 1.0 - t; return 3.0 * omt * omt * t * x_1 + 3.0 * omt * t * t * x_2 + t * t * t; } static inline double y_for_t (double t, double y_1, double y_2) { double omt = 1.0 - t; return 3.0 * omt * omt * t * y_1 + 3.0 * omt * t * t * y_2 + t * t * t; } static inline double t_for_x (double x, double x_1, double x_2) { double min_t = 0, max_t = 1; int i; for (i = 0; i < 30; ++i) { double guess_t = (min_t + max_t) / 2.0; double guess_x = x_for_t (guess_t, x_1, x_2); if (x < guess_x) max_t = guess_t; else min_t = guess_t; } return (min_t + max_t) / 2.0; } static double ease_cubic_bezier (double t, double d, double x_1, double y_1, double x_2, double y_2) { double p = t / d; if (G_APPROX_VALUE (p, 0.0, DBL_EPSILON)) return 0.0; if (G_APPROX_VALUE (p, 1.0, DBL_EPSILON)) return 1.0; return y_for_t (t_for_x (p, x_1, x_2), y_1, y_2); } /** * bge_easing_ease: * @self: an easing value * @value: a value to ease * * Computes easing with @easing for @value. * * @value should generally be in the [0, 1] range. * * Returns: the easing for @value */ double bge_easing_ease (BgeEasing self, double value) { switch (self) { case BGE_LINEAR: return linear (value, 1); case BGE_EASE_IN_QUAD: return ease_in_quad (value, 1); case BGE_EASE_OUT_QUAD: return ease_out_quad (value, 1); case BGE_EASE_IN_OUT_QUAD: return ease_in_out_quad (value, 1); case BGE_EASE_IN_CUBIC: return ease_in_cubic (value, 1); case BGE_EASE_OUT_CUBIC: return ease_out_cubic (value, 1); case BGE_EASE_IN_OUT_CUBIC: return ease_in_out_cubic (value, 1); case BGE_EASE_IN_QUART: return ease_in_quart (value, 1); case BGE_EASE_OUT_QUART: return ease_out_quart (value, 1); case BGE_EASE_IN_OUT_QUART: return ease_in_out_quart (value, 1); case BGE_EASE_IN_QUINT: return ease_in_quint (value, 1); case BGE_EASE_OUT_QUINT: return ease_out_quint (value, 1); case BGE_EASE_IN_OUT_QUINT: return ease_in_out_quint (value, 1); case BGE_EASE_IN_SINE: return ease_in_sine (value, 1); case BGE_EASE_OUT_SINE: return ease_out_sine (value, 1); case BGE_EASE_IN_OUT_SINE: return ease_in_out_sine (value, 1); case BGE_EASE_IN_EXPO: return ease_in_expo (value, 1); case BGE_EASE_OUT_EXPO: return ease_out_expo (value, 1); case BGE_EASE_IN_OUT_EXPO: return ease_in_out_expo (value, 1); case BGE_EASE_IN_CIRC: return ease_in_circ (value, 1); case BGE_EASE_OUT_CIRC: return ease_out_circ (value, 1); case BGE_EASE_IN_OUT_CIRC: return ease_in_out_circ (value, 1); case BGE_EASE_IN_ELASTIC: return ease_in_elastic (value, 1); case BGE_EASE_OUT_ELASTIC: return ease_out_elastic (value, 1); case BGE_EASE_IN_OUT_ELASTIC: return ease_in_out_elastic (value, 1); case BGE_EASE_IN_BACK: return ease_in_back (value, 1); case BGE_EASE_OUT_BACK: return ease_out_back (value, 1); case BGE_EASE_IN_OUT_BACK: return ease_in_out_back (value, 1); case BGE_EASE_IN_BOUNCE: return ease_in_bounce (value, 1); case BGE_EASE_OUT_BOUNCE: return ease_out_bounce (value, 1); case BGE_EASE_IN_OUT_BOUNCE: return ease_in_out_bounce (value, 1); case BGE_EASE: return ease_cubic_bezier (value, 1, 0.25, 0.1, 0.25, 1.0); case BGE_EASE_IN: return ease_cubic_bezier (value, 1, 0.42, 0.0, 1.0, 1.0); case BGE_EASE_OUT: return ease_cubic_bezier (value, 1, 0.0, 0.0, 0.58, 1.0); case BGE_EASE_IN_OUT: return ease_cubic_bezier (value, 1, 0.42, 0.0, 0.58, 1.0); default: g_assert_not_reached (); } } bazaar-org-bazaar-917017d/bge/wdgt/bge-easing.h000066400000000000000000000023611523447664000211440ustar00rootroot00000000000000/* TAKEN FROM LIBADWAITA */ /* * Copyright (C) 2021 Manuel GenovĂ©s * Copyright (C) 2021 Purism SPC * * SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #ifndef BGE_INSIDE #error "Only can be included directly." #endif G_BEGIN_DECLS typedef enum { BGE_LINEAR, BGE_EASE_IN_QUAD, BGE_EASE_OUT_QUAD, BGE_EASE_IN_OUT_QUAD, BGE_EASE_IN_CUBIC, BGE_EASE_OUT_CUBIC, BGE_EASE_IN_OUT_CUBIC, BGE_EASE_IN_QUART, BGE_EASE_OUT_QUART, BGE_EASE_IN_OUT_QUART, BGE_EASE_IN_QUINT, BGE_EASE_OUT_QUINT, BGE_EASE_IN_OUT_QUINT, BGE_EASE_IN_SINE, BGE_EASE_OUT_SINE, BGE_EASE_IN_OUT_SINE, BGE_EASE_IN_EXPO, BGE_EASE_OUT_EXPO, BGE_EASE_IN_OUT_EXPO, BGE_EASE_IN_CIRC, BGE_EASE_OUT_CIRC, BGE_EASE_IN_OUT_CIRC, BGE_EASE_IN_ELASTIC, BGE_EASE_OUT_ELASTIC, BGE_EASE_IN_OUT_ELASTIC, BGE_EASE_IN_BACK, BGE_EASE_OUT_BACK, BGE_EASE_IN_OUT_BACK, BGE_EASE_IN_BOUNCE, BGE_EASE_OUT_BOUNCE, BGE_EASE_IN_OUT_BOUNCE, BGE_EASE, BGE_EASE_IN, BGE_EASE_OUT, BGE_EASE_IN_OUT } BgeEasing; GType bge_easing_get_type (void); #define BGE_TYPE_EASING (bge_easing_get_type ()) BGE_AVAILABLE_IN_ALL double bge_easing_ease (BgeEasing self, double value); G_END_DECLS bazaar-org-bazaar-917017d/bge/wdgt/bge-wdgt-renderer.h000066400000000000000000000046411523447664000224520ustar00rootroot00000000000000/* bge-wdgt-renderer.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #ifndef BGE_INSIDE #error "Only can be included directly." #endif #include "bge-wdgt-spec.h" G_BEGIN_DECLS #define BGE_TYPE_WDGT_RENDERER (bge_wdgt_renderer_get_type ()) G_DECLARE_FINAL_TYPE (BgeWdgtRenderer, bge_wdgt_renderer, BGE, WDGT_RENDERER, GtkWidget) BGE_AVAILABLE_IN_ALL BgeWdgtRenderer * bge_wdgt_renderer_new (void); BGE_AVAILABLE_IN_ALL BgeWdgtSpec * bge_wdgt_renderer_get_spec (BgeWdgtRenderer *self); BGE_AVAILABLE_IN_ALL const char * bge_wdgt_renderer_get_state (BgeWdgtRenderer *self); BGE_AVAILABLE_IN_ALL GObject * bge_wdgt_renderer_get_reference (BgeWdgtRenderer *self); BGE_AVAILABLE_IN_ALL GtkWidget * bge_wdgt_renderer_get_child (BgeWdgtRenderer *self); BGE_AVAILABLE_IN_ALL void bge_wdgt_renderer_set_spec (BgeWdgtRenderer *self, BgeWdgtSpec *spec); BGE_AVAILABLE_IN_ALL void bge_wdgt_renderer_set_state (BgeWdgtRenderer *self, const char *state); BGE_AVAILABLE_IN_ALL void bge_wdgt_renderer_set_reference (BgeWdgtRenderer *self, GObject *reference); BGE_AVAILABLE_IN_ALL void bge_wdgt_renderer_set_child (BgeWdgtRenderer *self, GtkWidget *child); BGE_AVAILABLE_IN_ALL void bge_wdgt_renderer_set_state_take (BgeWdgtRenderer *self, char *state); #define bge_wdgt_renderer_set_state_take_printf(self, ...) bge_wdgt_renderer_set_state_take (self, g_strdup_printf (__VA_ARGS__)) BGE_AVAILABLE_IN_ALL gpointer bge_wdgt_renderer_lookup_object (BgeWdgtRenderer *self, const char *name); G_END_DECLS /* End of bge-wdgt-renderer.h */ bazaar-org-bazaar-917017d/bge/wdgt/bge-wdgt-spec-private.h000066400000000000000000000232541523447664000232470ustar00rootroot00000000000000/* bge-wdgt-spec-private.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bge.h" G_BEGIN_DECLS typedef enum { BGE_WDGT_SNAPSHOT_INSTR_APPEND = 0, BGE_WDGT_SNAPSHOT_INSTR_PUSH, BGE_WDGT_SNAPSHOT_INSTR_POP, BGE_WDGT_SNAPSHOT_INSTR_SAVE, BGE_WDGT_SNAPSHOT_INSTR_TRANSFORM, BGE_WDGT_SNAPSHOT_INSTR_RESTORE, BGE_WDGT_SNAPSHOT_INSTR_SNAPSHOT_CHILD, } BgeWdgtSnapshotInstrKind; typedef enum { BGE_WDGT_MEASURE_MINIMUM_WIDTH, BGE_WDGT_MEASURE_NATURAL_WIDTH, BGE_WDGT_MEASURE_MINIMUM_HEIGHT, BGE_WDGT_MEASURE_NATURAL_HEIGHT, } BgeWdgtMeasureKind; gboolean bge_wdgt_spec_add_constant_source_value (BgeWdgtSpec *self, const char *name, const GValue *constant, GError **error); gboolean bge_wdgt_spec_add_component_source_value (BgeWdgtSpec *self, const char *name, GType type, const char *const *components, guint n_components, GError **error); gboolean bge_wdgt_spec_add_transform_source_value (BgeWdgtSpec *self, const char *name, const char *next, const char *instruction, const char *const *args, guint n_args, GError **error); gboolean bge_wdgt_spec_add_path_source_value (BgeWdgtSpec *self, const char *name, const char *const *instructions, const char *const *const *argss, const guint *n_argss, guint n_args, GError **error); gboolean bge_wdgt_spec_add_instance_source_value (BgeWdgtSpec *self, const char *name, GType type, GError **error); gboolean bge_wdgt_spec_add_child_source_value (BgeWdgtSpec *self, const char *name, GType type, const char *parent_widget, const char *builder_type, const char *const *css_classes, guint n_css_classes, GError **error); gboolean bge_wdgt_spec_add_cclosure_source_value (BgeWdgtSpec *self, const char *name, GType type, GClosureMarshal marshal, GCallback func, const char *const *args, const GType *arg_types, guint n_args, gpointer user_data, GDestroyNotify destroy_user_data, GError **error); gboolean bge_wdgt_spec_add_measure_for_size_source_value (BgeWdgtSpec *self, const char *name, GError **error); gboolean bge_wdgt_spec_add_widget_width_source_value (BgeWdgtSpec *self, const char *name, GError **error); gboolean bge_wdgt_spec_add_widget_height_source_value (BgeWdgtSpec *self, const char *name, GError **error); gboolean bge_wdgt_spec_add_tick_time_source_value (BgeWdgtSpec *self, const char *name, GError **error); gboolean bge_wdgt_spec_add_track_transition_source_value (BgeWdgtSpec *self, const char *name, const char *src, const char *damping_ratio, const char *mass, const char *stiffness, GError **error); gboolean bge_wdgt_spec_add_variable_value (BgeWdgtSpec *self, GType type, const char *name, GError **error); gboolean bge_wdgt_spec_add_reference_object_value (BgeWdgtSpec *self, GType type, const char *name, GError **error); gboolean bge_wdgt_spec_add_property_value (BgeWdgtSpec *self, const char *name, const char *object, const char *property, GType *type_out, GError **error); gboolean bge_wdgt_spec_add_allocation_width_value (BgeWdgtSpec *self, const char *name, const char *child, GError **error); gboolean bge_wdgt_spec_add_allocation_height_value (BgeWdgtSpec *self, const char *name, const char *child, GError **error); gboolean bge_wdgt_spec_add_allocation_transform_value (BgeWdgtSpec *self, const char *name, const char *child, GError **error); gboolean bge_wdgt_spec_add_measure_value (BgeWdgtSpec *self, const char *name, BgeWdgtMeasureKind kind, GError **error); gboolean bge_wdgt_spec_add_state (BgeWdgtSpec *self, const char *name, gboolean default_state, GError **error); gboolean bge_wdgt_spec_set_value (BgeWdgtSpec *self, const char *state, const char *dest_value, const char *src_value, GError **error); gboolean bge_wdgt_spec_transition_value (BgeWdgtSpec *self, const char *state, const char *value, const char *seconds, const char *easing, GError **error); gboolean bge_wdgt_spec_transition_value_spring (BgeWdgtSpec *self, const char *state, const char *value, const char *damping_ratio, const char *mass, const char *stiffness, GError **error); gboolean bge_wdgt_spec_append_snapshot_instr (BgeWdgtSpec *self, const char *state, BgeWdgtSnapshotInstrKind kind, const char *instr, const char *const *args, guint n_args, guint *n_pops_out, GError **error); gboolean bge_wdgt_spec_push_foreach (BgeWdgtSpec *self, const char *model, const char *value_iterator, const char *index_iterator, GType iterator_type, GError **error); gboolean bge_wdgt_spec_pop_foreach (BgeWdgtSpec *self); G_END_DECLS /* End of bge-wdgt-spec-private.h */ bazaar-org-bazaar-917017d/bge/wdgt/bge-wdgt-spec.c000066400000000000000000006260341523447664000215770ustar00rootroot00000000000000/* bge-wdgt-spec.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BGE::WDGT" #include "../bge-animation-private.h" #include "bge-marshalers.h" #include "bge-wdgt-spec-private.h" #include "bge.h" #include "fmt/parser.h" #include "graphene-gobject.h" #include "lookup/lookup.h" #include "util.h" #include "util/marshal.h" typedef enum { VALUE_ALLOCATION_HEIGHT = 0, VALUE_ALLOCATION_TRANSFORM, VALUE_ALLOCATION_WIDTH, VALUE_CHILD, VALUE_CLOSURE, VALUE_COERCION, VALUE_COMPONENT, VALUE_CONSTANT, VALUE_ITERATOR, VALUE_MEASURE_FOR_SIZE, VALUE_MEASURE_MINIMUM_HEIGHT, VALUE_MEASURE_MINIMUM_WIDTH, VALUE_MEASURE_NATURAL_HEIGHT, VALUE_MEASURE_NATURAL_WIDTH, VALUE_OBJECT, VALUE_PATH, VALUE_PROPERTY, VALUE_REFERENCE_OBJECT, VALUE_TICK_TIME, VALUE_TRACK_TRANSITION, VALUE_TRANSFORM, VALUE_VARIABLE, VALUE_WIDGET_HEIGHT, VALUE_WIDGET_WIDTH, } ValueKind; typedef enum { TRANSITION_EASE = 0, TRANSITION_SPRING, } TransitionKind; typedef struct _ForeachData ForeachData; static void deinit_value (gpointer ptr); BGE_DEFINE_DATA ( value, Value, { char *name; GType type; ValueKind kind; union { struct { GValue value; } constant; struct { GPtrArray *params; } component; struct { ForeachData *context; } iterator; struct { TransformCallFunc func; ValueData *next; GPtrArray *args; } transform; struct { GPtrArray *funcs; GPtrArray *argss; } path; struct { GPtrArray *args; GClosureMarshal marshal; GCallback func; gpointer user_data; GDestroyNotify destroy_user_data; } closure; struct { ValueData *src; struct { ValueData *damping_ratio; ValueData *mass; ValueData *stiffness; } spring; } track_transition; struct { ValueData *value; } coercion; struct { ValueData *object; char *prop_name; GParamFlags pspec_flags; } property; struct { ValueData *parent_widget; char *builder_type; GPtrArray *css_classes; } child; struct { ValueData *widget; } allocation; }; }, deinit_value (self);) BGE_DEFINE_DATA ( foreach, Foreach, { ValueData *model; GHashTable *values; ForeachData *parent; }, BGE_RELEASE_DATA (model, value_data_unref); BGE_RELEASE_DATA (values, g_hash_table_unref); BGE_RELEASE_DATA (parent, foreach_data_unref)) static void deinit_value (gpointer ptr) { ValueData *value = ptr; g_clear_pointer (&value->name, g_free); switch (value->kind) { case VALUE_CONSTANT: g_value_unset (&value->constant.value); break; case VALUE_ITERATOR: g_clear_pointer (&value->iterator.context, foreach_data_unref); break; case VALUE_COMPONENT: g_clear_pointer (&value->component.params, g_ptr_array_unref); break; case VALUE_TRANSFORM: g_clear_pointer (&value->transform.next, value_data_unref); g_clear_pointer (&value->transform.args, g_ptr_array_unref); break; case VALUE_PATH: g_clear_pointer (&value->path.funcs, g_ptr_array_unref); g_clear_pointer (&value->path.argss, g_ptr_array_unref); break; case VALUE_CLOSURE: g_clear_pointer (&value->closure.args, g_ptr_array_unref); if (value->closure.destroy_user_data != NULL) g_clear_pointer (&value->closure.user_data, value->closure.destroy_user_data); break; case VALUE_COERCION: g_clear_pointer (&value->coercion.value, value_data_unref); break; case VALUE_TRACK_TRANSITION: g_clear_pointer (&value->track_transition.src, value_data_unref); g_clear_pointer (&value->track_transition.spring.damping_ratio, value_data_unref); g_clear_pointer (&value->track_transition.spring.mass, value_data_unref); g_clear_pointer (&value->track_transition.spring.stiffness, value_data_unref); break; case VALUE_PROPERTY: g_clear_pointer (&value->property.object, value_data_unref); g_clear_pointer (&value->property.prop_name, g_free); break; case VALUE_CHILD: g_clear_pointer (&value->child.parent_widget, value_data_unref); g_clear_pointer (&value->child.builder_type, g_free); g_clear_pointer (&value->child.css_classes, g_ptr_array_unref); break; case VALUE_ALLOCATION_WIDTH: case VALUE_ALLOCATION_HEIGHT: case VALUE_ALLOCATION_TRANSFORM: g_clear_pointer (&value->allocation.widget, value_data_unref); break; case VALUE_MEASURE_FOR_SIZE: case VALUE_MEASURE_MINIMUM_HEIGHT: case VALUE_MEASURE_MINIMUM_WIDTH: case VALUE_MEASURE_NATURAL_HEIGHT: case VALUE_MEASURE_NATURAL_WIDTH: case VALUE_OBJECT: case VALUE_REFERENCE_OBJECT: case VALUE_TICK_TIME: case VALUE_VARIABLE: case VALUE_WIDGET_HEIGHT: case VALUE_WIDGET_WIDTH: break; default: g_assert_not_reached (); } } static void deinit_transition (gpointer ptr); BGE_DEFINE_DATA ( transition, Transition, { TransitionKind kind; union { struct { ValueData *seconds; ValueData *easing; } ease; struct { ValueData *damping_ratio; ValueData *mass; ValueData *stiffness; } spring; }; }, deinit_transition (self);) static void deinit_transition (gpointer ptr) { TransitionData *transition = ptr; switch (transition->kind) { case TRANSITION_EASE: g_clear_pointer (&transition->ease.seconds, value_data_unref); g_clear_pointer (&transition->ease.easing, value_data_unref); break; case TRANSITION_SPRING: g_clear_pointer (&transition->spring.damping_ratio, value_data_unref); g_clear_pointer (&transition->spring.mass, value_data_unref); g_clear_pointer (&transition->spring.stiffness, value_data_unref); break; default: g_assert_not_reached (); } } BGE_DEFINE_DATA ( snapshot_call, SnapshotCall, { BgeWdgtSnapshotInstrKind kind; SnapshotCallFunc func; GPtrArray *args; GPtrArray *rest; ValueData *child; ForeachData *foreach_context; }, BGE_RELEASE_DATA (args, g_ptr_array_unref); BGE_RELEASE_DATA (rest, g_ptr_array_unref); BGE_RELEASE_DATA (child, value_data_unref); BGE_RELEASE_DATA (foreach_context, foreach_data_unref)) BGE_DEFINE_DATA ( snapshot, Snapshot, { GPtrArray *calls; }, BGE_RELEASE_DATA (calls, g_ptr_array_unref)) BGE_DEFINE_DATA ( state, State, { char *name; GHashTable *setters; GHashTable *transitions; SnapshotData *snapshot; GHashTable *expressions; GPtrArray *snapshot_deps; GHashTable *values_need_tick; gboolean needs_tick; }, BGE_RELEASE_DATA (name, g_free); BGE_RELEASE_DATA (setters, g_hash_table_unref); BGE_RELEASE_DATA (transitions, g_hash_table_unref); BGE_RELEASE_DATA (snapshot, snapshot_data_unref); BGE_RELEASE_DATA (expressions, g_hash_table_unref); BGE_RELEASE_DATA (snapshot_deps, g_ptr_array_unref); BGE_RELEASE_DATA (values_need_tick, g_hash_table_unref);); /* --------------------------- */ /* Spec Builder Implementation */ /* --------------------------- */ struct _BgeWdgtSpec { GObject parent_instance; char *name; GtkStringList *state_names; GHashTable *values; GPtrArray *values_stack; GPtrArray *foreaches; GPtrArray *foreach_stack; GPtrArray *anon_values; GPtrArray *track_transition_values; GHashTable *states; GPtrArray *children; GPtrArray *nonchildren; StateData *init_state; StateData *default_state; ValueData *reference; gboolean ready; }; static void list_model_iface_init (GListModelInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BgeWdgtSpec, bge_wdgt_spec, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, list_model_iface_init)); enum { PROP_0, PROP_NAME, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static gboolean check_can_coerce_type (GType dest, GType src); static void coerce_value (const GValue *in, GType dest_type, GValue *out); static ValueData * wrap_coerce_value (BgeWdgtSpec *self, ValueData *value, GType dest_type); static void ensure_state_snapshot (StateData *state); static void bge_wdgt_spec_dispose (GObject *object) { BgeWdgtSpec *self = BGE_WDGT_SPEC (object); g_clear_pointer (&self->name, g_free); g_clear_object (&self->state_names); g_clear_pointer (&self->values, g_hash_table_unref); g_clear_pointer (&self->values_stack, g_ptr_array_unref); g_clear_pointer (&self->foreaches, g_ptr_array_unref); g_clear_pointer (&self->foreach_stack, g_ptr_array_unref); g_clear_pointer (&self->anon_values, g_ptr_array_unref); g_clear_pointer (&self->track_transition_values, g_ptr_array_unref); g_clear_pointer (&self->states, g_hash_table_unref); g_clear_pointer (&self->children, g_ptr_array_unref); g_clear_pointer (&self->nonchildren, g_ptr_array_unref); g_clear_pointer (&self->init_state, state_data_unref); g_clear_pointer (&self->default_state, state_data_unref); g_clear_pointer (&self->reference, value_data_unref); G_OBJECT_CLASS (bge_wdgt_spec_parent_class)->dispose (object); } static void bge_wdgt_spec_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BgeWdgtSpec *self = BGE_WDGT_SPEC (object); switch (prop_id) { case PROP_NAME: g_value_set_string (value, bge_wdgt_spec_get_name (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_wdgt_spec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BgeWdgtSpec *self = BGE_WDGT_SPEC (object); switch (prop_id) { case PROP_NAME: bge_wdgt_spec_set_name (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_wdgt_spec_class_init (BgeWdgtSpecClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bge_wdgt_spec_set_property; object_class->get_property = bge_wdgt_spec_get_property; object_class->dispose = bge_wdgt_spec_dispose; props[PROP_NAME] = g_param_spec_string ( "name", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BGE_TYPE_EASING); /* Make sure these names are available for the parser */ g_type_ensure (GRAPHENE_TYPE_POINT); g_type_ensure (GRAPHENE_TYPE_POINT3D); g_type_ensure (GRAPHENE_TYPE_SIZE); g_type_ensure (GRAPHENE_TYPE_RECT); g_type_ensure (GRAPHENE_TYPE_VEC2); g_type_ensure (GRAPHENE_TYPE_VEC3); g_type_ensure (GRAPHENE_TYPE_VEC4); g_type_ensure (GRAPHENE_TYPE_QUAD); g_type_ensure (GRAPHENE_TYPE_QUATERNION); g_type_ensure (GRAPHENE_TYPE_MATRIX); g_type_ensure (GRAPHENE_TYPE_PLANE); g_type_ensure (GRAPHENE_TYPE_FRUSTUM); g_type_ensure (GRAPHENE_TYPE_SPHERE); g_type_ensure (GRAPHENE_TYPE_BOX); g_type_ensure (GRAPHENE_TYPE_TRIANGLE); g_type_ensure (GRAPHENE_TYPE_EULER); g_type_ensure (GRAPHENE_TYPE_RAY); g_type_ensure (GSK_TYPE_PATH); g_type_ensure (GSK_TYPE_PATH_POINT); g_type_ensure (GSK_TYPE_PATH_MEASURE); g_type_ensure (GSK_TYPE_TRANSFORM); g_type_ensure (GSK_TYPE_FILL_RULE); g_type_ensure (GSK_TYPE_LINE_CAP); g_type_ensure (GSK_TYPE_LINE_JOIN); /* Ensure GTK names are available for the parser */ g_type_ensure (gtk_at_context_get_type ()); g_type_ensure (gtk_about_dialog_get_type ()); g_type_ensure (gtk_accessible_get_type ()); g_type_ensure (gtk_accessible_announcement_priority_get_type ()); g_type_ensure (gtk_accessible_autocomplete_get_type ()); g_type_ensure (gtk_accessible_invalid_state_get_type ()); g_type_ensure (gtk_accessible_list_get_type ()); g_type_ensure (gtk_accessible_platform_state_get_type ()); g_type_ensure (gtk_accessible_property_get_type ()); g_type_ensure (gtk_accessible_range_get_type ()); g_type_ensure (gtk_accessible_relation_get_type ()); g_type_ensure (gtk_accessible_role_get_type ()); g_type_ensure (gtk_accessible_sort_get_type ()); g_type_ensure (gtk_accessible_state_get_type ()); g_type_ensure (gtk_accessible_text_get_type ()); g_type_ensure (gtk_accessible_text_content_change_get_type ()); g_type_ensure (gtk_accessible_text_granularity_get_type ()); g_type_ensure (gtk_accessible_tristate_get_type ()); g_type_ensure (gtk_action_bar_get_type ()); g_type_ensure (gtk_actionable_get_type ()); g_type_ensure (gtk_activate_action_get_type ()); g_type_ensure (gtk_adjustment_get_type ()); g_type_ensure (gtk_alert_dialog_get_type ()); g_type_ensure (gtk_align_get_type ()); g_type_ensure (gtk_alternative_trigger_get_type ()); g_type_ensure (gtk_any_filter_get_type ()); g_type_ensure (gtk_app_chooser_get_type ()); g_type_ensure (gtk_app_chooser_button_get_type ()); g_type_ensure (gtk_app_chooser_dialog_get_type ()); g_type_ensure (gtk_app_chooser_widget_get_type ()); g_type_ensure (gtk_application_get_type ()); g_type_ensure (gtk_application_inhibit_flags_get_type ()); g_type_ensure (gtk_application_window_get_type ()); g_type_ensure (gtk_arrow_type_get_type ()); g_type_ensure (gtk_aspect_frame_get_type ()); g_type_ensure (gtk_assistant_get_type ()); g_type_ensure (gtk_assistant_page_get_type ()); g_type_ensure (gtk_assistant_page_type_get_type ()); g_type_ensure (gtk_baseline_position_get_type ()); g_type_ensure (gtk_bin_layout_get_type ()); g_type_ensure (gtk_bitset_get_type ()); g_type_ensure (gtk_bitset_iter_get_type ()); g_type_ensure (gtk_bookmark_list_get_type ()); g_type_ensure (gtk_bool_filter_get_type ()); g_type_ensure (gtk_border_get_type ()); g_type_ensure (gtk_border_style_get_type ()); g_type_ensure (gtk_box_get_type ()); g_type_ensure (gtk_box_layout_get_type ()); g_type_ensure (gtk_buildable_get_type ()); g_type_ensure (gtk_builder_get_type ()); g_type_ensure (gtk_builder_cscope_get_type ()); g_type_ensure (gtk_builder_closure_flags_get_type ()); g_type_ensure (gtk_builder_error_get_type ()); g_type_ensure (gtk_builder_list_item_factory_get_type ()); g_type_ensure (gtk_builder_scope_get_type ()); g_type_ensure (gtk_button_get_type ()); g_type_ensure (gtk_buttons_type_get_type ()); g_type_ensure (gtk_cclosure_expression_get_type ()); g_type_ensure (gtk_calendar_get_type ()); g_type_ensure (gtk_callback_action_get_type ()); g_type_ensure (gtk_cell_area_get_type ()); g_type_ensure (gtk_cell_area_box_get_type ()); g_type_ensure (gtk_cell_area_context_get_type ()); g_type_ensure (gtk_cell_editable_get_type ()); g_type_ensure (gtk_cell_layout_get_type ()); g_type_ensure (gtk_cell_renderer_get_type ()); g_type_ensure (gtk_cell_renderer_accel_get_type ()); g_type_ensure (gtk_cell_renderer_accel_mode_get_type ()); g_type_ensure (gtk_cell_renderer_combo_get_type ()); g_type_ensure (gtk_cell_renderer_mode_get_type ()); g_type_ensure (gtk_cell_renderer_pixbuf_get_type ()); g_type_ensure (gtk_cell_renderer_progress_get_type ()); g_type_ensure (gtk_cell_renderer_spin_get_type ()); g_type_ensure (gtk_cell_renderer_spinner_get_type ()); g_type_ensure (gtk_cell_renderer_state_get_type ()); g_type_ensure (gtk_cell_renderer_text_get_type ()); g_type_ensure (gtk_cell_renderer_toggle_get_type ()); g_type_ensure (gtk_cell_view_get_type ()); g_type_ensure (gtk_center_box_get_type ()); g_type_ensure (gtk_center_layout_get_type ()); g_type_ensure (gtk_check_button_get_type ()); g_type_ensure (gtk_closure_expression_get_type ()); g_type_ensure (gtk_collation_get_type ()); g_type_ensure (gtk_color_button_get_type ()); g_type_ensure (gtk_color_chooser_get_type ()); g_type_ensure (gtk_color_chooser_dialog_get_type ()); g_type_ensure (gtk_color_chooser_widget_get_type ()); g_type_ensure (gtk_color_dialog_get_type ()); g_type_ensure (gtk_color_dialog_button_get_type ()); g_type_ensure (gtk_column_view_get_type ()); g_type_ensure (gtk_column_view_cell_get_type ()); g_type_ensure (gtk_column_view_column_get_type ()); g_type_ensure (gtk_column_view_row_get_type ()); g_type_ensure (gtk_column_view_sorter_get_type ()); g_type_ensure (gtk_combo_box_get_type ()); g_type_ensure (gtk_combo_box_text_get_type ()); g_type_ensure (gtk_constant_expression_get_type ()); g_type_ensure (gtk_constraint_get_type ()); g_type_ensure (gtk_constraint_attribute_get_type ()); g_type_ensure (gtk_constraint_guide_get_type ()); g_type_ensure (gtk_constraint_layout_get_type ()); g_type_ensure (gtk_constraint_layout_child_get_type ()); g_type_ensure (gtk_constraint_relation_get_type ()); g_type_ensure (gtk_constraint_strength_get_type ()); g_type_ensure (gtk_constraint_target_get_type ()); g_type_ensure (gtk_constraint_vfl_parser_error_get_type ()); g_type_ensure (gtk_content_fit_get_type ()); g_type_ensure (gtk_corner_type_get_type ()); g_type_ensure (gtk_css_provider_get_type ()); g_type_ensure (gtk_css_section_get_type ()); g_type_ensure (gtk_custom_filter_get_type ()); g_type_ensure (gtk_custom_layout_get_type ()); g_type_ensure (gtk_custom_sorter_get_type ()); g_type_ensure (gtk_debug_flags_get_type ()); g_type_ensure (gtk_delete_type_get_type ()); g_type_ensure (gtk_dialog_get_type ()); g_type_ensure (gtk_dialog_error_get_type ()); g_type_ensure (gtk_dialog_flags_get_type ()); g_type_ensure (gtk_direction_type_get_type ()); g_type_ensure (gtk_directory_list_get_type ()); g_type_ensure (gtk_drag_icon_get_type ()); g_type_ensure (gtk_drag_source_get_type ()); g_type_ensure (gtk_drawing_area_get_type ()); g_type_ensure (gtk_drop_controller_motion_get_type ()); g_type_ensure (gtk_drop_down_get_type ()); g_type_ensure (gtk_drop_target_get_type ()); g_type_ensure (gtk_drop_target_async_get_type ()); g_type_ensure (gtk_editable_get_type ()); g_type_ensure (gtk_editable_label_get_type ()); g_type_ensure (gtk_editable_properties_get_type ()); g_type_ensure (gtk_emoji_chooser_get_type ()); g_type_ensure (gtk_entry_get_type ()); g_type_ensure (gtk_entry_buffer_get_type ()); g_type_ensure (gtk_entry_completion_get_type ()); g_type_ensure (gtk_entry_icon_position_get_type ()); g_type_ensure (gtk_event_controller_get_type ()); g_type_ensure (gtk_event_controller_focus_get_type ()); g_type_ensure (gtk_event_controller_key_get_type ()); g_type_ensure (gtk_event_controller_legacy_get_type ()); g_type_ensure (gtk_event_controller_motion_get_type ()); g_type_ensure (gtk_event_controller_scroll_get_type ()); g_type_ensure (gtk_event_controller_scroll_flags_get_type ()); g_type_ensure (gtk_event_sequence_state_get_type ()); g_type_ensure (gtk_every_filter_get_type ()); g_type_ensure (gtk_expander_get_type ()); g_type_ensure (gtk_expression_get_type ()); g_type_ensure (gtk_expression_watch_get_type ()); g_type_ensure (gtk_file_chooser_get_type ()); g_type_ensure (gtk_file_chooser_action_get_type ()); g_type_ensure (gtk_file_chooser_dialog_get_type ()); g_type_ensure (gtk_file_chooser_error_get_type ()); g_type_ensure (gtk_file_chooser_native_get_type ()); g_type_ensure (gtk_file_chooser_widget_get_type ()); g_type_ensure (gtk_file_dialog_get_type ()); g_type_ensure (gtk_file_filter_get_type ()); g_type_ensure (gtk_file_launcher_get_type ()); g_type_ensure (gtk_filter_get_type ()); g_type_ensure (gtk_filter_change_get_type ()); g_type_ensure (gtk_filter_list_model_get_type ()); g_type_ensure (gtk_filter_match_get_type ()); g_type_ensure (gtk_fixed_get_type ()); g_type_ensure (gtk_fixed_layout_get_type ()); g_type_ensure (gtk_fixed_layout_child_get_type ()); g_type_ensure (gtk_flatten_list_model_get_type ()); g_type_ensure (gtk_flow_box_get_type ()); g_type_ensure (gtk_flow_box_child_get_type ()); g_type_ensure (gtk_font_button_get_type ()); g_type_ensure (gtk_font_chooser_get_type ()); g_type_ensure (gtk_font_chooser_dialog_get_type ()); g_type_ensure (gtk_font_chooser_level_get_type ()); g_type_ensure (gtk_font_chooser_widget_get_type ()); g_type_ensure (gtk_font_dialog_get_type ()); g_type_ensure (gtk_font_dialog_button_get_type ()); g_type_ensure (gtk_font_level_get_type ()); g_type_ensure (gtk_font_rendering_get_type ()); g_type_ensure (gtk_frame_get_type ()); g_type_ensure (gtk_gl_area_get_type ()); g_type_ensure (gtk_gesture_get_type ()); g_type_ensure (gtk_gesture_click_get_type ()); g_type_ensure (gtk_gesture_drag_get_type ()); g_type_ensure (gtk_gesture_long_press_get_type ()); g_type_ensure (gtk_gesture_pan_get_type ()); g_type_ensure (gtk_gesture_rotate_get_type ()); g_type_ensure (gtk_gesture_single_get_type ()); g_type_ensure (gtk_gesture_stylus_get_type ()); g_type_ensure (gtk_gesture_swipe_get_type ()); g_type_ensure (gtk_gesture_zoom_get_type ()); g_type_ensure (gtk_graphics_offload_get_type ()); g_type_ensure (gtk_graphics_offload_enabled_get_type ()); g_type_ensure (gtk_grid_get_type ()); g_type_ensure (gtk_grid_layout_get_type ()); g_type_ensure (gtk_grid_layout_child_get_type ()); g_type_ensure (gtk_grid_view_get_type ()); g_type_ensure (gtk_header_bar_get_type ()); g_type_ensure (gtk_im_context_get_type ()); g_type_ensure (gtk_im_context_simple_get_type ()); g_type_ensure (gtk_im_multicontext_get_type ()); g_type_ensure (gtk_icon_lookup_flags_get_type ()); g_type_ensure (gtk_icon_paintable_get_type ()); g_type_ensure (gtk_icon_size_get_type ()); g_type_ensure (gtk_icon_theme_get_type ()); g_type_ensure (gtk_icon_theme_error_get_type ()); g_type_ensure (gtk_icon_view_get_type ()); g_type_ensure (gtk_icon_view_drop_position_get_type ()); g_type_ensure (gtk_image_get_type ()); g_type_ensure (gtk_image_type_get_type ()); g_type_ensure (gtk_info_bar_get_type ()); g_type_ensure (gtk_input_hints_get_type ()); g_type_ensure (gtk_input_purpose_get_type ()); g_type_ensure (gtk_inscription_get_type ()); g_type_ensure (gtk_inscription_overflow_get_type ()); g_type_ensure (gtk_interface_color_scheme_get_type ()); g_type_ensure (gtk_interface_contrast_get_type ()); g_type_ensure (gtk_justification_get_type ()); g_type_ensure (gtk_keyval_trigger_get_type ()); g_type_ensure (gtk_label_get_type ()); g_type_ensure (gtk_layout_child_get_type ()); g_type_ensure (gtk_layout_manager_get_type ()); g_type_ensure (gtk_level_bar_get_type ()); g_type_ensure (gtk_level_bar_mode_get_type ()); g_type_ensure (gtk_license_get_type ()); g_type_ensure (gtk_link_button_get_type ()); g_type_ensure (gtk_list_base_get_type ()); g_type_ensure (gtk_list_box_get_type ()); g_type_ensure (gtk_list_box_row_get_type ()); g_type_ensure (gtk_list_header_get_type ()); g_type_ensure (gtk_list_item_get_type ()); g_type_ensure (gtk_list_item_factory_get_type ()); g_type_ensure (gtk_list_scroll_flags_get_type ()); g_type_ensure (gtk_list_store_get_type ()); g_type_ensure (gtk_list_tab_behavior_get_type ()); g_type_ensure (gtk_list_view_get_type ()); g_type_ensure (gtk_lock_button_get_type ()); g_type_ensure (gtk_map_list_model_get_type ()); g_type_ensure (gtk_media_controls_get_type ()); g_type_ensure (gtk_media_file_get_type ()); g_type_ensure (gtk_media_stream_get_type ()); g_type_ensure (gtk_menu_button_get_type ()); g_type_ensure (gtk_message_dialog_get_type ()); g_type_ensure (gtk_message_type_get_type ()); g_type_ensure (gtk_mnemonic_action_get_type ()); g_type_ensure (gtk_mnemonic_trigger_get_type ()); g_type_ensure (gtk_mount_operation_get_type ()); g_type_ensure (gtk_movement_step_get_type ()); g_type_ensure (gtk_multi_filter_get_type ()); g_type_ensure (gtk_multi_selection_get_type ()); g_type_ensure (gtk_multi_sorter_get_type ()); g_type_ensure (gtk_named_action_get_type ()); g_type_ensure (gtk_native_get_type ()); g_type_ensure (gtk_native_dialog_get_type ()); g_type_ensure (gtk_natural_wrap_mode_get_type ()); g_type_ensure (gtk_never_trigger_get_type ()); g_type_ensure (gtk_no_selection_get_type ()); g_type_ensure (gtk_notebook_get_type ()); g_type_ensure (gtk_notebook_page_get_type ()); g_type_ensure (gtk_notebook_tab_get_type ()); g_type_ensure (gtk_nothing_action_get_type ()); g_type_ensure (gtk_number_up_layout_get_type ()); g_type_ensure (gtk_numeric_sorter_get_type ()); g_type_ensure (gtk_object_expression_get_type ()); g_type_ensure (gtk_ordering_get_type ()); g_type_ensure (gtk_orientable_get_type ()); g_type_ensure (gtk_orientation_get_type ()); g_type_ensure (gtk_overflow_get_type ()); g_type_ensure (gtk_overlay_get_type ()); g_type_ensure (gtk_overlay_layout_get_type ()); g_type_ensure (gtk_overlay_layout_child_get_type ()); g_type_ensure (gtk_pack_type_get_type ()); g_type_ensure (gtk_pad_action_type_get_type ()); g_type_ensure (gtk_pad_controller_get_type ()); g_type_ensure (gtk_page_orientation_get_type ()); g_type_ensure (gtk_page_set_get_type ()); g_type_ensure (gtk_page_setup_get_type ()); g_type_ensure (gtk_pan_direction_get_type ()); g_type_ensure (gtk_paned_get_type ()); g_type_ensure (gtk_paper_size_get_type ()); g_type_ensure (gtk_param_expression_get_type ()); g_type_ensure (gtk_password_entry_get_type ()); g_type_ensure (gtk_password_entry_buffer_get_type ()); g_type_ensure (gtk_pick_flags_get_type ()); g_type_ensure (gtk_picture_get_type ()); g_type_ensure (gtk_policy_type_get_type ()); g_type_ensure (gtk_popover_get_type ()); g_type_ensure (gtk_popover_menu_get_type ()); g_type_ensure (gtk_popover_menu_bar_get_type ()); g_type_ensure (gtk_popover_menu_flags_get_type ()); g_type_ensure (gtk_position_type_get_type ()); g_type_ensure (gtk_print_context_get_type ()); g_type_ensure (gtk_print_dialog_get_type ()); g_type_ensure (gtk_print_duplex_get_type ()); g_type_ensure (gtk_print_error_get_type ()); g_type_ensure (gtk_print_operation_get_type ()); g_type_ensure (gtk_print_operation_action_get_type ()); g_type_ensure (gtk_print_operation_preview_get_type ()); g_type_ensure (gtk_print_operation_result_get_type ()); g_type_ensure (gtk_print_pages_get_type ()); g_type_ensure (gtk_print_quality_get_type ()); g_type_ensure (gtk_print_settings_get_type ()); g_type_ensure (gtk_print_setup_get_type ()); g_type_ensure (gtk_print_status_get_type ()); g_type_ensure (gtk_progress_bar_get_type ()); g_type_ensure (gtk_propagation_limit_get_type ()); g_type_ensure (gtk_propagation_phase_get_type ()); g_type_ensure (gtk_property_expression_get_type ()); g_type_ensure (gtk_range_get_type ()); g_type_ensure (gtk_recent_info_get_type ()); g_type_ensure (gtk_recent_manager_get_type ()); g_type_ensure (gtk_recent_manager_error_get_type ()); g_type_ensure (gtk_requisition_get_type ()); g_type_ensure (gtk_response_type_get_type ()); g_type_ensure (gtk_revealer_get_type ()); g_type_ensure (gtk_revealer_transition_type_get_type ()); g_type_ensure (gtk_root_get_type ()); g_type_ensure (gtk_scale_get_type ()); g_type_ensure (gtk_scale_button_get_type ()); g_type_ensure (gtk_scroll_info_get_type ()); g_type_ensure (gtk_scroll_step_get_type ()); g_type_ensure (gtk_scroll_type_get_type ()); g_type_ensure (gtk_scrollable_get_type ()); g_type_ensure (gtk_scrollable_policy_get_type ()); g_type_ensure (gtk_scrollbar_get_type ()); g_type_ensure (gtk_scrolled_window_get_type ()); g_type_ensure (gtk_search_bar_get_type ()); g_type_ensure (gtk_search_entry_get_type ()); g_type_ensure (gtk_section_model_get_type ()); g_type_ensure (gtk_selection_filter_model_get_type ()); g_type_ensure (gtk_selection_mode_get_type ()); g_type_ensure (gtk_selection_model_get_type ()); g_type_ensure (gtk_sensitivity_type_get_type ()); g_type_ensure (gtk_separator_get_type ()); g_type_ensure (gtk_settings_get_type ()); g_type_ensure (gtk_shortcut_get_type ()); g_type_ensure (gtk_shortcut_action_get_type ()); g_type_ensure (gtk_shortcut_action_flags_get_type ()); g_type_ensure (gtk_shortcut_controller_get_type ()); g_type_ensure (gtk_shortcut_label_get_type ()); g_type_ensure (gtk_shortcut_manager_get_type ()); g_type_ensure (gtk_shortcut_scope_get_type ()); g_type_ensure (gtk_shortcut_trigger_get_type ()); g_type_ensure (gtk_shortcut_type_get_type ()); g_type_ensure (gtk_shortcuts_group_get_type ()); g_type_ensure (gtk_shortcuts_section_get_type ()); g_type_ensure (gtk_shortcuts_shortcut_get_type ()); g_type_ensure (gtk_shortcuts_window_get_type ()); g_type_ensure (gtk_signal_action_get_type ()); g_type_ensure (gtk_signal_list_item_factory_get_type ()); g_type_ensure (gtk_single_selection_get_type ()); g_type_ensure (gtk_size_group_get_type ()); g_type_ensure (gtk_size_group_mode_get_type ()); g_type_ensure (gtk_size_request_mode_get_type ()); g_type_ensure (gtk_slice_list_model_get_type ()); g_type_ensure (gtk_snapshot_get_type ()); g_type_ensure (gtk_sort_list_model_get_type ()); g_type_ensure (gtk_sort_type_get_type ()); g_type_ensure (gtk_sorter_get_type ()); g_type_ensure (gtk_sorter_change_get_type ()); g_type_ensure (gtk_sorter_order_get_type ()); g_type_ensure (gtk_spin_button_get_type ()); g_type_ensure (gtk_spin_button_update_policy_get_type ()); g_type_ensure (gtk_spin_type_get_type ()); g_type_ensure (gtk_spinner_get_type ()); g_type_ensure (gtk_stack_get_type ()); g_type_ensure (gtk_stack_page_get_type ()); g_type_ensure (gtk_stack_sidebar_get_type ()); g_type_ensure (gtk_stack_switcher_get_type ()); g_type_ensure (gtk_stack_transition_type_get_type ()); g_type_ensure (gtk_state_flags_get_type ()); g_type_ensure (gtk_statusbar_get_type ()); g_type_ensure (gtk_string_filter_get_type ()); g_type_ensure (gtk_string_filter_match_mode_get_type ()); g_type_ensure (gtk_string_list_get_type ()); g_type_ensure (gtk_string_object_get_type ()); g_type_ensure (gtk_string_sorter_get_type ()); g_type_ensure (gtk_style_context_get_type ()); g_type_ensure (gtk_style_context_print_flags_get_type ()); g_type_ensure (gtk_style_provider_get_type ()); g_type_ensure (gtk_switch_get_type ()); g_type_ensure (gtk_symbolic_color_get_type ()); g_type_ensure (gtk_symbolic_paintable_get_type ()); g_type_ensure (gtk_system_setting_get_type ()); g_type_ensure (gtk_text_get_type ()); g_type_ensure (gtk_text_buffer_get_type ()); g_type_ensure (gtk_text_buffer_notify_flags_get_type ()); g_type_ensure (gtk_text_child_anchor_get_type ()); g_type_ensure (gtk_text_direction_get_type ()); g_type_ensure (gtk_text_extend_selection_get_type ()); g_type_ensure (gtk_text_iter_get_type ()); g_type_ensure (gtk_text_mark_get_type ()); g_type_ensure (gtk_text_search_flags_get_type ()); g_type_ensure (gtk_text_tag_get_type ()); g_type_ensure (gtk_text_tag_table_get_type ()); g_type_ensure (gtk_text_view_get_type ()); g_type_ensure (gtk_text_view_layer_get_type ()); g_type_ensure (gtk_text_window_type_get_type ()); g_type_ensure (gtk_toggle_button_get_type ()); g_type_ensure (gtk_tooltip_get_type ()); g_type_ensure (gtk_tree_expander_get_type ()); g_type_ensure (gtk_tree_iter_get_type ()); g_type_ensure (gtk_tree_list_model_get_type ()); g_type_ensure (gtk_tree_list_row_get_type ()); g_type_ensure (gtk_tree_list_row_sorter_get_type ()); g_type_ensure (gtk_tree_model_get_type ()); g_type_ensure (gtk_tree_model_filter_get_type ()); g_type_ensure (gtk_tree_model_flags_get_type ()); g_type_ensure (gtk_tree_model_sort_get_type ()); g_type_ensure (gtk_tree_path_get_type ()); g_type_ensure (gtk_tree_row_reference_get_type ()); g_type_ensure (gtk_tree_selection_get_type ()); g_type_ensure (gtk_tree_sortable_get_type ()); g_type_ensure (gtk_tree_store_get_type ()); g_type_ensure (gtk_tree_view_get_type ()); g_type_ensure (gtk_tree_view_column_get_type ()); g_type_ensure (gtk_tree_view_column_sizing_get_type ()); g_type_ensure (gtk_tree_view_drop_position_get_type ()); g_type_ensure (gtk_tree_view_grid_lines_get_type ()); g_type_ensure (gtk_unit_get_type ()); g_type_ensure (gtk_uri_launcher_get_type ()); g_type_ensure (gtk_video_get_type ()); g_type_ensure (gtk_viewport_get_type ()); g_type_ensure (gtk_volume_button_get_type ()); g_type_ensure (gtk_widget_get_type ()); g_type_ensure (gtk_widget_paintable_get_type ()); g_type_ensure (gtk_window_get_type ()); g_type_ensure (gtk_window_controls_get_type ()); g_type_ensure (gtk_window_gravity_get_type ()); g_type_ensure (gtk_window_group_get_type ()); g_type_ensure (gtk_window_handle_get_type ()); g_type_ensure (gtk_wrap_mode_get_type ()); } static void bge_wdgt_spec_init (BgeWdgtSpec *self) { self->state_names = gtk_string_list_new (NULL); self->values = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, value_data_unref); self->values_stack = g_ptr_array_new_with_free_func ((GDestroyNotify) g_hash_table_unref); self->foreaches = g_ptr_array_new_with_free_func (foreach_data_unref); self->foreach_stack = g_ptr_array_new_with_free_func (foreach_data_unref); self->anon_values = g_ptr_array_new_with_free_func (value_data_unref); self->track_transition_values = g_ptr_array_new_with_free_func (value_data_unref); self->states = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, state_data_unref); self->children = g_ptr_array_new_with_free_func (value_data_unref); self->nonchildren = g_ptr_array_new_with_free_func (value_data_unref); self->init_state = state_data_new (); self->init_state->name = g_strdup ("init"); self->init_state->setters = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, value_data_unref); self->init_state->transitions = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, transition_data_unref); self->init_state->expressions = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, (GDestroyNotify) gtk_expression_unref); self->init_state->snapshot_deps = g_ptr_array_new_with_free_func ( (GDestroyNotify) gtk_expression_unref); self->init_state->values_need_tick = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, NULL); ensure_state_snapshot (self->init_state); g_hash_table_replace (self->states, g_strdup ("init"), state_data_ref (self->init_state)); self->ready = FALSE; } static GType list_model_get_item_type (GListModel *list) { return GTK_TYPE_STRING_OBJECT; } static guint list_model_get_n_items (GListModel *list) { BgeWdgtSpec *self = BGE_WDGT_SPEC (list); return g_list_model_get_n_items (G_LIST_MODEL (self->state_names)); } static gpointer list_model_get_item (GListModel *list, guint position) { BgeWdgtSpec *self = BGE_WDGT_SPEC (list); return g_list_model_get_item (G_LIST_MODEL (self->state_names), position); } static void list_model_iface_init (GListModelInterface *iface) { iface->get_item_type = list_model_get_item_type; iface->get_n_items = list_model_get_n_items; iface->get_item = list_model_get_item; } BgeWdgtSpec * bge_wdgt_spec_new (void) { return g_object_new (BGE_TYPE_WDGT_SPEC, NULL); } BgeWdgtSpec * bge_wdgt_spec_new_for_string (const char *string, GError **error) { g_return_val_if_fail (string != NULL, NULL); return bge_wdgt_parse_string (string, error); } BgeWdgtSpec * bge_wdgt_spec_new_for_resource (const char *resource, GError **error) { g_autoptr (GBytes) bytes = NULL; gsize size = 0; gconstpointer data = NULL; g_return_val_if_fail (resource != NULL, NULL); bytes = g_resources_lookup_data (resource, G_RESOURCE_LOOKUP_FLAGS_NONE, error); if (bytes == NULL) return NULL; data = g_bytes_get_data (bytes, &size); return bge_wdgt_parse_string ((const char *) data, error); } const char * bge_wdgt_spec_get_name (BgeWdgtSpec *self) { g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), NULL); return self->name; } void bge_wdgt_spec_set_name (BgeWdgtSpec *self, const char *name) { g_return_if_fail (BGE_IS_WDGT_SPEC (self)); if (name == self->name || (name != NULL && self->name != NULL && g_strcmp0 (name, self->name) == 0)) return; g_clear_pointer (&self->name, g_free); if (name != NULL) self->name = g_strdup (name); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NAME]); } void bge_wdgt_spec_set_name_take (BgeWdgtSpec *self, char *name) { g_return_if_fail (BGE_IS_WDGT_SPEC (self)); if (name != NULL && self->name != NULL && g_strcmp0 (name, self->name) == 0) { g_free (name); return; } g_clear_pointer (&self->name, g_free); if (name != NULL) self->name = name; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NAME]); } gboolean bge_wdgt_spec_add_constant_source_value (BgeWdgtSpec *self, const char *name, const GValue *constant, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (constant != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = constant->g_type; value->kind = VALUE_CONSTANT; g_value_copy (constant, g_value_init (&value->constant.value, constant->g_type)); g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_component_source_value (BgeWdgtSpec *self, const char *name, GType type, const char *const *components, guint n_components, GError **error) { GType expected_types[ARGBUF_SIZE] = { 0 }; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (components != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } if (type == GRAPHENE_TYPE_POINT) { if (n_components != 2) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "composed point value needs 2 arguments"); return FALSE; } expected_types[0] = G_TYPE_DOUBLE; expected_types[1] = G_TYPE_DOUBLE; } else if (type == GRAPHENE_TYPE_POINT3D) { if (n_components != 3) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "composed 3d point value needs 3 arguments"); return FALSE; } expected_types[0] = G_TYPE_DOUBLE; expected_types[1] = G_TYPE_DOUBLE; expected_types[2] = G_TYPE_DOUBLE; } else if (type == GRAPHENE_TYPE_SIZE) { if (n_components != 2) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "composed 2d size value needs 2 arguments"); return FALSE; } expected_types[0] = G_TYPE_DOUBLE; expected_types[1] = G_TYPE_DOUBLE; } else if (type == GRAPHENE_TYPE_RECT) { if (n_components != 4) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "composed rectangle value needs 4 arguments"); return FALSE; } expected_types[0] = G_TYPE_DOUBLE; expected_types[1] = G_TYPE_DOUBLE; expected_types[2] = G_TYPE_DOUBLE; expected_types[3] = G_TYPE_DOUBLE; } else if (type == GSK_TYPE_STROKE) { if (n_components != 4) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "composed rectangle value needs 4 arguments"); return FALSE; } expected_types[0] = G_TYPE_DOUBLE; /* line width */ expected_types[1] = GSK_TYPE_LINE_CAP; expected_types[2] = GSK_TYPE_LINE_JOIN; expected_types[3] = G_TYPE_DOUBLE; /* miter limit */ } else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' is not elligible for a component value", g_type_name (type)); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = type; value->kind = VALUE_COMPONENT; value->component.params = g_ptr_array_new_with_free_func (value_data_unref); for (guint i = 0; i < n_components; i++) { ValueData *value_data = NULL; value_data = g_hash_table_lookup (self->values, components[i]); if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", components[i]); return FALSE; } if (!g_type_is_a (value_data->type, expected_types[i])) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "component %u for type %s " "must be of type %s, got %s", i, g_type_name (type), g_type_name (expected_types[i]), g_type_name (value_data->type)); return FALSE; } g_ptr_array_add (value->component.params, value_data_ref (value_data)); } g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_transform_source_value (BgeWdgtSpec *self, const char *name, const char *next, const char *instruction, const char *const *args, guint n_args, GError **error) { gboolean result = FALSE; ValueData *next_data = NULL; g_autoptr (ValueData) value = NULL; TransformInstr match = { 0 }; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (next != NULL, FALSE); g_return_val_if_fail (instruction != NULL, FALSE); g_return_val_if_fail (n_args == 0 || args != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } next_data = g_hash_table_lookup (self->values, next); if (next_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", next); return FALSE; } if (next_data->type != GSK_TYPE_TRANSFORM) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' must be of type %s to " "build a transform, got %s", next, g_type_name (GSK_TYPE_TRANSFORM), g_type_name (next_data->type)); return FALSE; } result = lookup_transform_instr (instruction, &match); if (!result) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "\"%s\" is not a valid transform builder instruction", instruction); return FALSE; } if (n_args != match.n_args) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transform builder function %s requires %u " "arguments, got %u", match.name, match.n_args, n_args); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = GSK_TYPE_TRANSFORM; value->kind = VALUE_TRANSFORM; value->transform.func = match.call; value->transform.next = value_data_ref (next_data); value->transform.args = g_ptr_array_new_with_free_func (value_data_unref); for (guint i = 0; i < n_args; i++) { ValueData *value_data = NULL; value_data = g_hash_table_lookup (self->values, args[i]); if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", args[i]); return FALSE; } if (!g_type_is_a (value_data->type, match.args[i])) { if (check_can_coerce_type (match.args[i], value_data->type)) g_ptr_array_add (value->transform.args, wrap_coerce_value (self, value_data, match.args[i])); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "argument %u for snapshot instruction %s " "must be of type %s, got %s", i, match.name, g_type_name (match.args[i]), g_type_name (value_data->type)); return FALSE; } } else g_ptr_array_add (value->transform.args, value_data_ref (value_data)); } g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_path_source_value (BgeWdgtSpec *self, const char *name, const char *const *instructions, const char *const *const *argss, const guint *n_argss, guint n_args, GError **error) { gboolean result = FALSE; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (instructions != NULL, FALSE); g_return_val_if_fail (argss != NULL, FALSE); g_return_val_if_fail (n_argss != NULL, FALSE); g_return_val_if_fail (n_args > 0, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = GSK_TYPE_PATH; value->kind = VALUE_PATH; value->path.funcs = g_ptr_array_new (); value->path.argss = g_ptr_array_new_with_free_func ( (GDestroyNotify) g_ptr_array_unref); for (guint i = 0; i < n_args; i++) { PathBuilderInstr match = { 0 }; g_autoptr (GPtrArray) args = NULL; result = lookup_path_builder_instr (instructions[i], &match); if (!result) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "\"%s\" is not a valid path builder instruction", instructions[i]); return FALSE; } if (n_argss[i] != match.n_args) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "path builder instructions %s requires %u " "arguments, got %u", match.name, match.n_args, n_argss[i]); return FALSE; } args = g_ptr_array_new_with_free_func (value_data_unref); for (guint j = 0; j < n_argss[i]; j++) { ValueData *value_data = NULL; value_data = g_hash_table_lookup (self->values, argss[i][j]); if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", argss[i][j]); return FALSE; } if (!g_type_is_a (value_data->type, match.args[j])) { if (check_can_coerce_type (match.args[j], value_data->type)) g_ptr_array_add (args, wrap_coerce_value (self, value_data, match.args[j])); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "argument %u for path builder instruction %s " "must be of type %s, got %s", j, match.name, g_type_name (match.args[j]), g_type_name (value_data->type)); return FALSE; } } else g_ptr_array_add (args, value_data_ref (value_data)); } g_ptr_array_add (value->path.funcs, match.call); g_ptr_array_add (value->path.argss, g_steal_pointer (&args)); } g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_instance_source_value (BgeWdgtSpec *self, const char *name, GType type, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } if (!g_type_is_a (type, G_TYPE_OBJECT)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' is not an object type", g_type_name (type)); return FALSE; } if (!G_TYPE_IS_INSTANTIATABLE (type) || G_TYPE_IS_ABSTRACT (type)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' is not instantiable", g_type_name (type)); return FALSE; } value = value_data_new (); value->kind = VALUE_OBJECT; value->type = type; value->name = g_strdup (name); g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); g_ptr_array_add (self->nonchildren, value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_child_source_value (BgeWdgtSpec *self, const char *name, GType type, const char *parent, const char *builder_type, const char *const *css_classes, guint n_css_classes, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } if (!g_type_is_a (type, GTK_TYPE_WIDGET)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' does not derive from GtkWidget", g_type_name (type)); return FALSE; } if (!G_TYPE_IS_INSTANTIATABLE (type) || G_TYPE_IS_ABSTRACT (type)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' is not instantiable", g_type_name (type)); return FALSE; } value = value_data_new (); value->kind = VALUE_CHILD; value->type = type; value->name = g_strdup (name); value->child.builder_type = builder_type != NULL ? g_strdup (builder_type) : NULL; if (n_css_classes > 0 && css_classes != NULL) { value->child.css_classes = g_ptr_array_new_with_free_func (g_free); g_ptr_array_set_size (value->child.css_classes, n_css_classes); for (guint i = 0; i < n_css_classes; i++) { g_ptr_array_index (value->child.css_classes, i) = g_strdup (css_classes[i]); } } if (parent != NULL) { ValueData *parent_data = NULL; parent_data = g_hash_table_lookup (self->values, parent); if (parent_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", parent); return FALSE; } if (!g_type_is_a (parent_data->type, GTK_TYPE_BUILDABLE)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "parent widget '%s' is not of type %s", g_type_name (GTK_TYPE_BUILDABLE), parent); return FALSE; } value->child.parent_widget = value_data_ref (parent_data); } g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); g_ptr_array_add (self->children, value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_cclosure_source_value (BgeWdgtSpec *self, const char *name, GType type, GClosureMarshal marshal, GCallback func, const char *const *args, const GType *arg_types, guint n_args, gpointer user_data, GDestroyNotify destroy_user_data, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (func != NULL, FALSE); g_return_val_if_fail (args != NULL, FALSE); g_return_val_if_fail (n_args > 0, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); if (user_data != NULL && destroy_user_data != NULL) destroy_user_data (user_data); return FALSE; } if (!G_TYPE_IS_VALUE (type)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "invalid type '%s'", g_type_name (type)); if (user_data != NULL && destroy_user_data != NULL) destroy_user_data (user_data); return FALSE; } value = value_data_new (); value->kind = VALUE_CLOSURE; value->name = g_strdup (name); value->type = type; value->closure.marshal = marshal; value->closure.func = func; value->closure.args = g_ptr_array_new_with_free_func (value_data_unref); value->closure.user_data = user_data; value->closure.destroy_user_data = destroy_user_data; for (guint i = 0; i < n_args; i++) { ValueData *value_data = NULL; value_data = g_hash_table_lookup (self->values, args[i]); if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", args[i]); return FALSE; } if (arg_types != NULL && !g_type_is_a (value_data->type, arg_types[i])) { if (check_can_coerce_type (arg_types[i], value_data->type)) g_ptr_array_add (value->closure.args, wrap_coerce_value (self, value_data, arg_types[i])); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "component %u for type %s " "must be of type %s, got %s", i, g_type_name (type), g_type_name (arg_types[i]), g_type_name (value_data->type)); return FALSE; } } else g_ptr_array_add (value->closure.args, value_data_ref (value_data)); } g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_measure_for_size_source_value (BgeWdgtSpec *self, const char *name, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->kind = VALUE_MEASURE_FOR_SIZE; value->type = G_TYPE_INT; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_widget_width_source_value (BgeWdgtSpec *self, const char *name, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->kind = VALUE_WIDGET_WIDTH; value->type = G_TYPE_DOUBLE; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_widget_height_source_value (BgeWdgtSpec *self, const char *name, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->kind = VALUE_WIDGET_HEIGHT; value->type = G_TYPE_DOUBLE; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_tick_time_source_value (BgeWdgtSpec *self, const char *name, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->kind = VALUE_TICK_TIME; value->type = G_TYPE_DOUBLE; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_track_transition_source_value (BgeWdgtSpec *self, const char *name, const char *src, const char *damping_ratio, const char *mass, const char *stiffness, GError **error) { ValueData *src_value = NULL; g_autoptr (ValueData) coerced_src_value = NULL; ValueData *damping_ratio_value = NULL; g_autoptr (ValueData) coerced_damping_ratio_value = NULL; ValueData *mass_value = NULL; g_autoptr (ValueData) coerced_mass_value = NULL; ValueData *stiffness_value = NULL; g_autoptr (ValueData) coerced_stiffness_value = NULL; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (src != NULL, FALSE); g_return_val_if_fail (damping_ratio != NULL, FALSE); g_return_val_if_fail (mass != NULL, FALSE); g_return_val_if_fail (stiffness != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } /* TODO clean up type checking process */ src_value = g_hash_table_lookup (self->values, src); if (src_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", src); return FALSE; } if (src_value->type != G_TYPE_DOUBLE) { if (check_can_coerce_type (G_TYPE_DOUBLE, src_value->type)) coerced_src_value = wrap_coerce_value (self, src_value, src_value->type); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "source type %s cannot be transitioned", g_type_name (src_value->type)); return FALSE; } } damping_ratio_value = g_hash_table_lookup (self->values, damping_ratio); if (damping_ratio_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", damping_ratio); return FALSE; } if (damping_ratio_value->type != G_TYPE_DOUBLE) { if (check_can_coerce_type (G_TYPE_DOUBLE, damping_ratio_value->type)) coerced_damping_ratio_value = wrap_coerce_value (self, damping_ratio_value, damping_ratio_value->type); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "damping ratio must be a double, got type %s", g_type_name (damping_ratio_value->type)); return FALSE; } } mass_value = g_hash_table_lookup (self->values, mass); if (mass_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", mass); return FALSE; } if (mass_value->type != G_TYPE_DOUBLE) { if (check_can_coerce_type (G_TYPE_DOUBLE, mass_value->type)) coerced_mass_value = wrap_coerce_value (self, mass_value, mass_value->type); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "mass must be a double, got type %s", g_type_name (mass_value->type)); return FALSE; } } stiffness_value = g_hash_table_lookup (self->values, stiffness); if (stiffness_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", stiffness); return FALSE; } if (stiffness_value->type != G_TYPE_DOUBLE) { if (check_can_coerce_type (G_TYPE_DOUBLE, stiffness_value->type)) coerced_stiffness_value = wrap_coerce_value (self, stiffness_value, stiffness_value->type); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "stiffness must be a double, got type %s", g_type_name (stiffness_value->type)); return FALSE; } } value = value_data_new (); value->name = g_strdup (name); value->kind = VALUE_TRACK_TRANSITION; value->type = G_TYPE_DOUBLE; value->track_transition.src = coerced_src_value != NULL ? value_data_ref (coerced_src_value) : value_data_ref (src_value); value->track_transition.spring.damping_ratio = coerced_damping_ratio_value != NULL ? value_data_ref (coerced_damping_ratio_value) : value_data_ref (damping_ratio_value); value->track_transition.spring.mass = coerced_mass_value != NULL ? value_data_ref (coerced_mass_value) : value_data_ref (mass_value); value->track_transition.spring.stiffness = coerced_stiffness_value != NULL ? value_data_ref (coerced_stiffness_value) : value_data_ref (stiffness_value); g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); g_ptr_array_add (self->track_transition_values, value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_variable_value (BgeWdgtSpec *self, GType type, const char *name, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (!G_TYPE_IS_VALUE (type)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' cannot be stored in value '%s'", g_type_name (type), name); return FALSE; } if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = type; value->kind = VALUE_VARIABLE; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_reference_object_value (BgeWdgtSpec *self, GType type, const char *name, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (self->reference != NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "an object reference value has already been defined"); return FALSE; } if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } if (!g_type_is_a (type, G_TYPE_OBJECT)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type '%s' cannot be stored in reference object value '%s'", g_type_name (type), name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = type; value->kind = VALUE_REFERENCE_OBJECT; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); self->reference = value_data_ref (value); return TRUE; } gboolean bge_wdgt_spec_add_property_value (BgeWdgtSpec *self, const char *name, const char *object, const char *property, GType *type_out, GError **error) { ValueData *object_value = NULL; ValueData *existing_value = NULL; g_autoptr (GTypeClass) type_class = NULL; GParamSpec *pspec = NULL; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (object != NULL, FALSE); g_return_val_if_fail (property != NULL, FALSE); object_value = g_hash_table_lookup (self->values, object); if (object_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", object); return FALSE; } if (!g_type_is_a (object_value->type, G_TYPE_OBJECT)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is not an object", object); return FALSE; } existing_value = g_hash_table_lookup (self->values, name); if (existing_value != NULL) { if (existing_value->kind == VALUE_PROPERTY && existing_value->property.object == object_value && g_strcmp0 (existing_value->property.prop_name, property) == 0) return TRUE; else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } } type_class = g_type_class_ref (object_value->type); pspec = g_object_class_find_property (G_OBJECT_CLASS (type_class), property); if (pspec == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "property '%s' doesn't exist on type %s", property, g_type_name (object_value->type)); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = pspec->value_type; value->kind = VALUE_PROPERTY; value->property.object = value_data_ref (object_value); value->property.prop_name = g_strdup (property); value->property.pspec_flags = pspec->flags; g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); if (type_out != NULL) *type_out = pspec->value_type; return TRUE; } gboolean bge_wdgt_spec_add_allocation_width_value (BgeWdgtSpec *self, const char *name, const char *child, GError **error) { ValueData *child_value = NULL; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (child != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } child_value = g_hash_table_lookup (self->values, child); if (child_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", child); return FALSE; } if (!g_type_is_a (child_value->type, GTK_TYPE_WIDGET)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is not a widget", child); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = G_TYPE_INT; value->kind = VALUE_ALLOCATION_WIDTH; value->allocation.widget = value_data_ref (child_value); g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_allocation_height_value (BgeWdgtSpec *self, const char *name, const char *child, GError **error) { ValueData *child_value = NULL; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (child != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } child_value = g_hash_table_lookup (self->values, child); if (child_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", child); return FALSE; } if (!g_type_is_a (child_value->type, GTK_TYPE_WIDGET)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is not a widget", child); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = G_TYPE_INT; value->kind = VALUE_ALLOCATION_HEIGHT; value->allocation.widget = value_data_ref (child_value); g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_allocation_transform_value (BgeWdgtSpec *self, const char *name, const char *child, GError **error) { ValueData *child_value = NULL; g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (child != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } child_value = g_hash_table_lookup (self->values, child); if (child_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", child); return FALSE; } if (!g_type_is_a (child_value->type, GTK_TYPE_WIDGET)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is not a widget", child); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = GSK_TYPE_TRANSFORM; value->kind = VALUE_ALLOCATION_TRANSFORM; value->allocation.widget = value_data_ref (child_value); g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_measure_value (BgeWdgtSpec *self, const char *name, BgeWdgtMeasureKind kind, GError **error) { g_autoptr (ValueData) value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->values, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", name); return FALSE; } value = value_data_new (); value->name = g_strdup (name); value->type = G_TYPE_INT; switch (kind) { case BGE_WDGT_MEASURE_MINIMUM_WIDTH: value->kind = VALUE_MEASURE_MINIMUM_WIDTH; break; case BGE_WDGT_MEASURE_NATURAL_WIDTH: value->kind = VALUE_MEASURE_NATURAL_WIDTH; break; case BGE_WDGT_MEASURE_MINIMUM_HEIGHT: value->kind = VALUE_MEASURE_MINIMUM_HEIGHT; break; case BGE_WDGT_MEASURE_NATURAL_HEIGHT: value->kind = VALUE_MEASURE_NATURAL_HEIGHT; break; default: { g_critical ("Passed an invalid measure kind"); return FALSE; } } g_hash_table_replace (self->values, g_strdup (name), value_data_ref (value)); return TRUE; } gboolean bge_wdgt_spec_add_state (BgeWdgtSpec *self, const char *name, gboolean default_state, GError **error) { g_autoptr (StateData) state = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (name != NULL, FALSE); if (g_hash_table_contains (self->states, name)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "state '%s' already exists", name); return FALSE; } if (default_state && self->default_state != NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "default state already specified"); return FALSE; } state = state_data_new (); state->name = g_strdup (name); state->setters = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, value_data_unref); state->transitions = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, transition_data_unref); state->expressions = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, (GDestroyNotify) gtk_expression_unref); state->snapshot_deps = g_ptr_array_new_with_free_func ( (GDestroyNotify) gtk_expression_unref); state->values_need_tick = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, NULL); g_hash_table_replace (self->states, g_strdup (name), state_data_ref (state)); if (default_state) self->default_state = state_data_ref (state); gtk_string_list_append (self->state_names, name); return TRUE; } gboolean bge_wdgt_spec_set_value (BgeWdgtSpec *self, const char *state, const char *dest_value, const char *src_value, GError **error) { StateData *state_data = NULL; ValueData *dest_data = NULL; ValueData *src_data = NULL; g_autoptr (ValueData) coerced_src_data = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (dest_value != NULL, FALSE); g_return_val_if_fail (src_value != NULL, FALSE); if (state != NULL) state_data = g_hash_table_lookup (self->states, state); else state_data = self->init_state; dest_data = g_hash_table_lookup (self->values, dest_value); src_data = g_hash_table_lookup (self->values, src_value); if (state_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "state '%s' is undefined", state); return FALSE; } if (dest_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", dest_value); return FALSE; } if (src_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", src_value); return FALSE; } if (dest_data == src_data) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "cannot assign '%s' to itself", src_value); return FALSE; } if (!g_type_is_a (src_data->type, dest_data->type)) { if (check_can_coerce_type (dest_data->type, src_data->type)) coerced_src_data = wrap_coerce_value (self, src_data, dest_data->type); else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "source type %s cannot be assigned to destination type %s", g_type_name (src_data->type), g_type_name (dest_data->type)); return FALSE; } } if (dest_data->kind == VALUE_CONSTANT) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "cannot assign to a constant source value"); return FALSE; } if (dest_data->kind == VALUE_PROPERTY && !(dest_data->property.pspec_flags & G_PARAM_WRITABLE)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "property %s on type %s is not writable", dest_data->property.prop_name, g_type_name (dest_data->type)); return FALSE; } if (src_data->kind == VALUE_PROPERTY && !(src_data->property.pspec_flags & G_PARAM_READABLE)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "property %s on type %s is not writable", src_data->property.prop_name, g_type_name (src_data->type)); return FALSE; } g_hash_table_replace ( state_data->setters, value_data_ref (dest_data), coerced_src_data != NULL ? value_data_ref (coerced_src_data) : value_data_ref (src_data)); return TRUE; } gboolean bge_wdgt_spec_transition_value (BgeWdgtSpec *self, const char *state, const char *value, const char *seconds, const char *easing, GError **error) { StateData *state_data = NULL; ValueData *value_data = NULL; ValueData *seconds_data = NULL; ValueData *easing_data = NULL; g_autoptr (TransitionData) transition = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); /* state is required for transitions */ g_return_val_if_fail (state != NULL, FALSE); g_return_val_if_fail (value != NULL, FALSE); g_return_val_if_fail (seconds != NULL, FALSE); g_return_val_if_fail (easing != NULL, FALSE); state_data = g_hash_table_lookup (self->states, state); if (state_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "state '%s' is undefined", state); return FALSE; } value_data = g_hash_table_lookup (self->values, value); seconds_data = g_hash_table_lookup (self->values, seconds); easing_data = g_hash_table_lookup (self->values, easing); if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", value); return FALSE; } if (value_data->type != G_TYPE_DOUBLE) /* TODO: support more types */ { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s cannot be transitioned", g_type_name (value_data->type)); return FALSE; } if (seconds_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", value); return FALSE; } if (seconds_data->type != G_TYPE_DOUBLE) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transition ease seconds value must be a double, got %s", g_type_name (seconds_data->type)); return FALSE; } if (easing_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", value); return FALSE; } if (easing_data->type != BGE_TYPE_EASING) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transition ease easing value must be of type %s, got %s", g_type_name (BGE_TYPE_EASING), g_type_name (easing_data->type)); return FALSE; } transition = transition_data_new (); transition->kind = TRANSITION_EASE; transition->ease.seconds = value_data_ref (seconds_data); transition->ease.easing = value_data_ref (easing_data); g_hash_table_replace ( state_data->transitions, value_data_ref (value_data), transition_data_ref (transition)); /* We want the init state to track the transition as well in case of value overlays */ g_hash_table_replace ( self->init_state->transitions, value_data_ref (value_data), transition_data_ref (transition)); return TRUE; } gboolean bge_wdgt_spec_transition_value_spring (BgeWdgtSpec *self, const char *state, const char *value, const char *damping_ratio, const char *mass, const char *stiffness, GError **error) { StateData *state_data = NULL; ValueData *value_data = NULL; ValueData *damping_ratio_data = NULL; ValueData *mass_data = NULL; ValueData *stiffness_data = NULL; g_autoptr (TransitionData) transition = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); /* state is required for transitions */ g_return_val_if_fail (state != NULL, FALSE); g_return_val_if_fail (value != NULL, FALSE); g_return_val_if_fail (damping_ratio != NULL, FALSE); g_return_val_if_fail (mass != NULL, FALSE); g_return_val_if_fail (stiffness != NULL, FALSE); state_data = g_hash_table_lookup (self->states, state); value_data = g_hash_table_lookup (self->values, value); damping_ratio_data = g_hash_table_lookup (self->values, damping_ratio); mass_data = g_hash_table_lookup (self->values, mass); stiffness_data = g_hash_table_lookup (self->values, stiffness); if (state_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "state '%s' is undefined", state); return FALSE; } if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", value); return FALSE; } if (damping_ratio_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", damping_ratio); return FALSE; } if (mass_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", mass); return FALSE; } if (stiffness_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", stiffness); return FALSE; } if (value_data->type != G_TYPE_DOUBLE) /* TODO: support more types */ { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s cannot be transitioned", g_type_name (value_data->type)); return FALSE; } if (damping_ratio_data->type != G_TYPE_DOUBLE) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transition damping ratio must of type %s, got %s", g_type_name (G_TYPE_DOUBLE), g_type_name (damping_ratio_data->type)); return FALSE; } if (mass_data->type != G_TYPE_DOUBLE) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transition mass must of type %s, got %s", g_type_name (G_TYPE_DOUBLE), g_type_name (mass_data->type)); return FALSE; } if (stiffness_data->type != G_TYPE_DOUBLE) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transition stiffness must of type %s, got %s", g_type_name (G_TYPE_DOUBLE), g_type_name (stiffness_data->type)); return FALSE; } transition = transition_data_new (); transition->kind = TRANSITION_SPRING; transition->spring.damping_ratio = value_data_ref (damping_ratio_data); transition->spring.mass = value_data_ref (mass_data); transition->spring.stiffness = value_data_ref (stiffness_data); g_hash_table_replace ( state_data->transitions, value_data_ref (value_data), transition_data_ref (transition)); /* We want the init state to track the transition as well in case of value overlays */ g_hash_table_replace ( self->init_state->transitions, value_data_ref (value_data), transition_data_ref (transition)); return TRUE; } gboolean bge_wdgt_spec_append_snapshot_instr (BgeWdgtSpec *self, const char *state, BgeWdgtSnapshotInstrKind kind, const char *instr, const char *const *args, guint n_args, guint *n_pops_out, GError **error) { gboolean result = FALSE; StateData *state_data = NULL; ForeachData *foreach_context = NULL; SnapshotInstr match = { 0 }; guint match_rest_start = 0; g_autoptr (SnapshotCallData) call = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (instr != NULL, FALSE); g_return_val_if_fail (n_args == 0 || args != NULL, FALSE); if (state != NULL) { state_data = g_hash_table_lookup (self->states, state); if (state_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "state '%s' is undefined", state); return FALSE; } } else state_data = self->init_state; if (self->foreach_stack->len > 0) foreach_context = g_ptr_array_index ( self->foreach_stack, self->foreach_stack->len - 1); switch (kind) { case BGE_WDGT_SNAPSHOT_INSTR_PUSH: result = lookup_snapshot_push_instr (instr, &match); if (!result) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "\"%s\" is not a valid snapshot push instruction", instr); return FALSE; } if (n_pops_out != NULL) *n_pops_out = match.n_pops; break; case BGE_WDGT_SNAPSHOT_INSTR_TRANSFORM: result = lookup_snapshot_transform_instr (instr, &match); if (!result) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "\"%s\" is not a valid snapshot transform instruction", instr); return FALSE; } break; case BGE_WDGT_SNAPSHOT_INSTR_APPEND: result = lookup_snapshot_append_instr (instr, &match); if (!result) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "\"%s\" is not a valid snapshot append instruction", instr); return FALSE; } break; case BGE_WDGT_SNAPSHOT_INSTR_POP: case BGE_WDGT_SNAPSHOT_INSTR_SAVE: case BGE_WDGT_SNAPSHOT_INSTR_RESTORE: { call = snapshot_call_data_new (); call->kind = kind; if (foreach_context != NULL) call->foreach_context = foreach_data_ref (foreach_context); ensure_state_snapshot (state_data); g_ptr_array_add (state_data->snapshot->calls, snapshot_call_data_ref (call)); } return TRUE; case BGE_WDGT_SNAPSHOT_INSTR_SNAPSHOT_CHILD: { ValueData *child = NULL; if (n_args != 1) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "child snapshot instruction requires " "a single argument"); return FALSE; } child = g_hash_table_lookup (self->values, args[0]); if (child == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", args[0]); return FALSE; } if (!g_type_is_a (child->type, GTK_TYPE_WIDGET)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is not a child", args[0]); return FALSE; } call = snapshot_call_data_new (); call->kind = kind; call->child = value_data_ref (child); if (foreach_context != NULL) call->foreach_context = foreach_data_ref (foreach_context); ensure_state_snapshot (state_data); g_ptr_array_add (state_data->snapshot->calls, snapshot_call_data_ref (call)); } return TRUE; default: g_critical ("invalid snapshot instruction kind specified"); return FALSE; } match_rest_start = match.n_args - match.n_rest; if (n_args != match.n_args) { if (match.n_rest > 0 && n_args > match.n_args) { if ((n_args - match.n_args) % match.n_rest != 0) g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "snapshot instruction %s cannot handle %u " "trailing arguments", match.name, n_args - match.n_args); } else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "snapshot instruction %s requires %u " "arguments, got %u", match.name, match.n_args, n_args); return FALSE; } } call = snapshot_call_data_new (); call->kind = kind; call->func = match.call; call->args = g_ptr_array_new_with_free_func (value_data_unref); call->rest = g_ptr_array_new_with_free_func (value_data_unref); if (foreach_context != NULL) call->foreach_context = foreach_data_ref (foreach_context); for (guint i = 0; i < n_args; i++) { ValueData *value_data = NULL; gboolean in_rest = FALSE; GType expected_type = 0; value_data = g_hash_table_lookup (self->values, args[i]); if (value_data == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", args[i]); return FALSE; } in_rest = i >= match_rest_start; if (in_rest) expected_type = match.args[match_rest_start + ((i - match_rest_start) % match.n_rest)]; else expected_type = match.args[i]; if (!g_type_is_a (value_data->type, expected_type)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "argument %u for snapshot instruction %s " "must be of type %s, got %s", i, match.name, g_type_name (expected_type), g_type_name (value_data->type)); return FALSE; } if (in_rest) g_ptr_array_add (call->rest, value_data_ref (value_data)); else g_ptr_array_add (call->args, value_data_ref (value_data)); } ensure_state_snapshot (state_data); g_ptr_array_add (state_data->snapshot->calls, snapshot_call_data_ref (call)); return TRUE; } gboolean bge_wdgt_spec_push_foreach (BgeWdgtSpec *self, const char *model, const char *value_iterator, const char *index_iterator, GType iterator_type, GError **error) { ValueData *model_value = NULL; g_autoptr (GHashTable) values_copy = NULL; GHashTableIter iter = { 0 }; g_autoptr (ForeachData) foreach_context = NULL; g_autoptr (ValueData) value_iterator_value = NULL; g_autoptr (ValueData) index_iterator_value = NULL; g_return_val_if_fail (BGE_IS_WDGT_SPEC (self), FALSE); g_return_val_if_fail (!self->ready, FALSE); g_return_val_if_fail (model != NULL, FALSE); g_return_val_if_fail (value_iterator != NULL, FALSE); g_return_val_if_fail (index_iterator != NULL, FALSE); model_value = g_hash_table_lookup (self->values, model); if (model_value == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' is undefined", model); return FALSE; } if (!g_type_is_a (model_value->type, G_TYPE_LIST_MODEL)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' does not implement GListModel", model); return FALSE; } if (g_hash_table_contains (self->values, value_iterator)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", value_iterator); return FALSE; } if (g_hash_table_contains (self->values, index_iterator)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "value '%s' already exists", index_iterator); return FALSE; } if (!g_type_is_a (iterator_type, G_TYPE_OBJECT)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "iterator type does not derive from GObject"); return FALSE; } values_copy = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, value_data_unref); g_hash_table_iter_init (&iter, self->values); for (;;) { char *name = NULL; ValueData *value = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &name, (gpointer *) &value)) break; g_hash_table_replace (values_copy, g_strdup (name), value_data_ref (value)); } g_ptr_array_add (self->values_stack, g_steal_pointer (&self->values)); self->values = g_hash_table_ref (values_copy); foreach_context = foreach_data_new (); foreach_context->model = value_data_ref (model_value); foreach_context->values = g_hash_table_ref (values_copy); if (self->foreach_stack->len > 0) { ForeachData *parent = NULL; parent = g_ptr_array_index ( self->foreach_stack, self->foreach_stack->len - 1); foreach_context->parent = foreach_data_ref (parent); } g_ptr_array_add (self->foreach_stack, foreach_data_ref (foreach_context)); g_ptr_array_add (self->foreaches, foreach_data_ref (foreach_context)); value_iterator_value = value_data_new (); value_iterator_value->kind = VALUE_ITERATOR; value_iterator_value->name = g_strdup (value_iterator); value_iterator_value->type = iterator_type; value_iterator_value->iterator.context = foreach_data_ref (foreach_context); g_hash_table_replace (values_copy, g_strdup (value_iterator), value_data_ref (value_iterator_value)); index_iterator_value = value_data_new (); index_iterator_value->kind = VALUE_ITERATOR; index_iterator_value->name = g_strdup (index_iterator); index_iterator_value->type = G_TYPE_UINT; index_iterator_value->iterator.context = foreach_data_ref (foreach_context); g_hash_table_replace (values_copy, g_strdup (index_iterator), value_data_ref (index_iterator_value)); return TRUE; } gboolean bge_wdgt_spec_pop_foreach (BgeWdgtSpec *self) { GHashTable *restore_values = NULL; g_return_val_if_fail (self->foreach_stack->len > 0, FALSE); g_assert (self->values_stack->len > 0); g_clear_pointer (&self->values, g_hash_table_unref); restore_values = g_ptr_array_index (self->values_stack, self->values_stack->len - 1); self->values = g_hash_table_ref (restore_values); g_ptr_array_set_size (self->values_stack, self->values_stack->len - 1); g_ptr_array_set_size (self->foreach_stack, self->foreach_stack->len - 1); return TRUE; } static gboolean check_can_coerce_type (GType dest, GType src) { const struct { GType dest; GType src; } valid_pairings[] = { { G_TYPE_INT, G_TYPE_UINT }, { G_TYPE_INT, G_TYPE_FLOAT }, { G_TYPE_INT, G_TYPE_DOUBLE }, { G_TYPE_UINT, G_TYPE_INT }, { G_TYPE_UINT, G_TYPE_FLOAT }, { G_TYPE_UINT, G_TYPE_DOUBLE }, { G_TYPE_INT64, G_TYPE_INT }, { G_TYPE_INT64, G_TYPE_UINT }, { G_TYPE_INT64, G_TYPE_FLOAT }, { G_TYPE_INT64, G_TYPE_DOUBLE }, { G_TYPE_UINT64, G_TYPE_INT }, { G_TYPE_UINT64, G_TYPE_UINT }, { G_TYPE_UINT64, G_TYPE_INT64 }, { G_TYPE_UINT64, G_TYPE_FLOAT }, { G_TYPE_UINT64, G_TYPE_DOUBLE }, { G_TYPE_FLOAT, G_TYPE_INT }, { G_TYPE_FLOAT, G_TYPE_UINT }, { G_TYPE_FLOAT, G_TYPE_DOUBLE }, { G_TYPE_DOUBLE, G_TYPE_INT }, { G_TYPE_DOUBLE, G_TYPE_UINT }, { G_TYPE_DOUBLE, G_TYPE_FLOAT }, { G_TYPE_STRING, G_TYPE_INT }, { G_TYPE_STRING, G_TYPE_UINT }, { G_TYPE_STRING, G_TYPE_INT64 }, { G_TYPE_STRING, G_TYPE_UINT64 }, { G_TYPE_STRING, G_TYPE_FLOAT }, { G_TYPE_STRING, G_TYPE_DOUBLE }, }; for (guint i = 0; i < G_N_ELEMENTS (valid_pairings); i++) { if (dest == valid_pairings[i].dest && src == valid_pairings[i].src) return TRUE; } return FALSE; } static void coerce_value (const GValue *in, GType dest_type, GValue *out) { /* Not a switch for style, though not the case here GType macros can sometimes be non-compile-time constants */ if (dest_type == G_TYPE_INT) { int val = 0; if (in->g_type == G_TYPE_UINT) val = g_value_get_uint (in); else if (in->g_type == G_TYPE_FLOAT) val = round (g_value_get_float (in)); else if (in->g_type == G_TYPE_DOUBLE) val = round (g_value_get_double (in)); g_value_set_int (out, val); } else if (dest_type == G_TYPE_UINT) { guint val = 0; if (in->g_type == G_TYPE_INT) val = g_value_get_int (in); else if (in->g_type == G_TYPE_FLOAT) val = round (g_value_get_float (in)); else if (in->g_type == G_TYPE_DOUBLE) val = round (g_value_get_double (in)); g_value_set_uint (out, val); } else if (dest_type == G_TYPE_INT64) { gint64 val = 0; if (in->g_type == G_TYPE_INT) val = g_value_get_int (in); else if (in->g_type == G_TYPE_UINT) val = g_value_get_uint (in); else if (in->g_type == G_TYPE_FLOAT) val = round (g_value_get_float (in)); else if (in->g_type == G_TYPE_DOUBLE) val = round (g_value_get_double (in)); g_value_set_int64 (out, val); } else if (dest_type == G_TYPE_UINT64) { guint64 val = 0; if (in->g_type == G_TYPE_INT) val = g_value_get_int (in); else if (in->g_type == G_TYPE_UINT) val = g_value_get_uint (in); else if (in->g_type == G_TYPE_INT64) val = g_value_get_int64 (in); else if (in->g_type == G_TYPE_UINT64) val = round (g_value_get_float (in)); else if (in->g_type == G_TYPE_DOUBLE) val = round (g_value_get_double (in)); g_value_set_uint64 (out, val); } else if (dest_type == G_TYPE_FLOAT) { float val = 0; if (in->g_type == G_TYPE_INT) val = g_value_get_int (in); else if (in->g_type == G_TYPE_UINT) val = g_value_get_uint (in); else if (in->g_type == G_TYPE_DOUBLE) val = round (g_value_get_double (in)); g_value_set_float (out, val); } else if (dest_type == G_TYPE_DOUBLE) { double val = 0; if (in->g_type == G_TYPE_INT) val = g_value_get_int (in); else if (in->g_type == G_TYPE_UINT) val = g_value_get_uint (in); else if (in->g_type == G_TYPE_FLOAT) val = round (g_value_get_float (in)); g_value_set_double (out, val); } else if (dest_type == G_TYPE_STRING) { g_autofree char *val = NULL; if (in->g_type == G_TYPE_INT) val = g_strdup_printf ("%d", g_value_get_int (in)); else if (in->g_type == G_TYPE_UINT) val = g_strdup_printf ("%u", g_value_get_uint (in)); else if (in->g_type == G_TYPE_INT64) val = g_strdup_printf ("%zd", g_value_get_int64 (in)); else if (in->g_type == G_TYPE_UINT64) val = g_strdup_printf ("%zu", g_value_get_uint64 (in)); else if (in->g_type == G_TYPE_FLOAT) val = g_strdup_printf ("%f", g_value_get_float (in)); else if (in->g_type == G_TYPE_DOUBLE) val = g_strdup_printf ("%f", g_value_get_double (in)); g_value_take_string (out, g_steal_pointer (&val)); } } static ValueData * wrap_coerce_value (BgeWdgtSpec *self, ValueData *value, GType dest_type) { g_autoptr (ValueData) coerced = NULL; g_assert (!g_type_is_a (value->type, dest_type)); coerced = value_data_new (); coerced->type = dest_type; coerced->kind = VALUE_COERCION; coerced->coercion.value = value_data_ref (value); g_ptr_array_add (self->anon_values, value_data_ref (coerced)); return g_steal_pointer (&coerced); } static void ensure_state_snapshot (StateData *state) { if (state->snapshot != NULL) return; state->snapshot = snapshot_data_new (); state->snapshot->calls = g_ptr_array_new_with_free_func ( snapshot_call_data_unref); } /* ------------------------------ */ /* Widget Renderer Implementation */ /* ------------------------------ */ #define BGE_TYPE_WDGT_NOTIFIER (bge_wdgt_notifier_get_type ()) G_DECLARE_FINAL_TYPE (BgeWdgtNotifier, bge_wdgt_notifier, BGE, WDGT_NOTIFIER, GObject) struct _BgeWdgtNotifier { GObject parent_instance; double value; }; G_DEFINE_FINAL_TYPE (BgeWdgtNotifier, bge_wdgt_notifier, G_TYPE_OBJECT); enum { NOTIFIER_PROP_0, NOTIFIER_PROP_VALUE, LAST_NOTIFIER_PROP }; static GParamSpec *notifier_props[LAST_NOTIFIER_PROP] = { 0 }; static void bge_wdgt_notifier_dispose (GObject *object) { BgeWdgtNotifier *self = BGE_WDGT_NOTIFIER (object); (void) self; G_OBJECT_CLASS (bge_wdgt_notifier_parent_class)->dispose (object); } static void bge_wdgt_notifier_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BgeWdgtNotifier *self = BGE_WDGT_NOTIFIER (object); switch (prop_id) { case NOTIFIER_PROP_VALUE: g_value_set_double (value, self->value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_wdgt_notifier_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BgeWdgtNotifier *self = BGE_WDGT_NOTIFIER (object); switch (prop_id) { case NOTIFIER_PROP_VALUE: self->value = g_value_get_double (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_wdgt_notifier_class_init (BgeWdgtNotifierClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bge_wdgt_notifier_set_property; object_class->get_property = bge_wdgt_notifier_get_property; object_class->dispose = bge_wdgt_notifier_dispose; notifier_props[NOTIFIER_PROP_VALUE] = g_param_spec_double ( "value", NULL, NULL, G_MININT, G_MAXINT, 0.0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, notifier_props); } static void bge_wdgt_notifier_init (BgeWdgtNotifier *self) { } /* --- */ BGE_DEFINE_DATA ( foreach_instance, ForeachInstance, { guint current_idx; BgeWdgtNotifier *notifier; }, BGE_RELEASE_DATA (notifier, g_object_unref)) BGE_DEFINE_DATA ( state_instance, StateInstance, { GHashTable *transitions; }, BGE_RELEASE_DATA (transitions, g_hash_table_unref)); struct _BgeWdgtRenderer { GtkWidget parent_instance; BgeWdgtSpec *spec; char *state; GObject *reference; GtkWidget *child; StateInstanceData *init_instance; GPtrArray *init_watches; StateData *active_state; StateInstanceData *active_instance; SnapshotData *active_snapshot; StateData *last_state; StateInstanceData *last_instance; GTimer *since_last_state; guint tick; gboolean had_tick_since_state_switch; GHashTable *objects; GPtrArray *nonchildren; GPtrArray *children; GHashTable *allocations; GHashTable *foreach_instances; GHashTable *state_instances; GHashTable *transition_instances; GHashTable *transition_closure_instances; GHashTable *track_transition_closure_instances; GPtrArray *track_transitions; GPtrArray *bindings; GPtrArray *watches; BgeWdgtNotifier *reference_notifier; int measure_minimum_width; int measure_natural_width; int measure_minimum_height; int measure_natural_height; int current_measure_for_size; BgeWdgtNotifier *measure_for_size_notifier; int widget_width; int widget_height; BgeWdgtNotifier *widget_width_notifier; BgeWdgtNotifier *widget_height_notifier; GTimer *tick_time; BgeWdgtNotifier *tick_time_notifier; }; G_DEFINE_FINAL_TYPE (BgeWdgtRenderer, bge_wdgt_renderer, GTK_TYPE_WIDGET); enum { RENDERER_PROP_0, RENDERER_PROP_SPEC, RENDERER_PROP_RESOURCE, RENDERER_PROP_STATE, RENDERER_PROP_REFERENCE, RENDERER_PROP_CHILD, LAST_RENDERER_PROP }; static GParamSpec *renderer_props[LAST_RENDERER_PROP] = { 0 }; BGE_DEFINE_DATA ( watch_setter, WatchSetter, { BgeWdgtRenderer *self; StateData *state; StateInstanceData *instance; ValueData *dest; ValueData *src; }, BGE_RELEASE_DATA (state, state_data_unref); BGE_RELEASE_DATA (instance, state_instance_data_unref); BGE_RELEASE_DATA (dest, value_data_unref); BGE_RELEASE_DATA (src, value_data_unref)) BGE_DEFINE_DATA ( allocation, Allocation, { ValueData *width; ValueData *height; ValueData *transform; }, BGE_RELEASE_DATA (width, value_data_unref); BGE_RELEASE_DATA (height, value_data_unref); BGE_RELEASE_DATA (transform, value_data_unref)) typedef struct { double velocity; double est_duration; double cache_damping_ratio; double cache_mass; double cache_stiffness; } SpringCache; BGE_DEFINE_DATA ( transition_instance, TransitionInstance, { double value; double elapsed; BgeWdgtNotifier *notifier; struct { BgeEasing easing; double seconds; } ease; SpringCache spring; }, BGE_RELEASE_DATA (notifier, g_object_unref)) BGE_DEFINE_DATA ( transition_closure, TransitionClosure, { StateData *state; StateInstanceData *instance; ValueData *value; }, BGE_RELEASE_DATA (state, state_data_unref); BGE_RELEASE_DATA (instance, state_instance_data_unref); BGE_RELEASE_DATA (value, value_data_unref)); BGE_DEFINE_DATA ( track_transition_closure, TrackTransitionClosure, { ValueData *value; GTimer *timer; BgeWdgtNotifier *notifier; double elapsed; double current; double target; double last; SpringCache spring; }, BGE_RELEASE_DATA (value, value_data_unref); BGE_RELEASE_DATA (notifier, g_object_unref); BGE_RELEASE_DATA (timer, g_timer_destroy)); static void regenerate (BgeWdgtRenderer *self); static void spawn_nonchild (BgeWdgtRenderer *self, ValueData *value); static void spawn_child (BgeWdgtRenderer *self, ValueData *value, GtkBuilder *dummy_builder); static void apply_state (BgeWdgtRenderer *self); static GtkExpression * ensure_expressions (BgeWdgtSpec *self, ValueData *value, StateData *state, gboolean *value_needs_tick); static void set_value (BgeWdgtRenderer *self, StateData *state, StateInstanceData *instance, ValueData *dest, ValueData *src, GPtrArray *watches); static int resolve_value_int (BgeWdgtRenderer *self, ValueData *value, StateData *state); static double resolve_value_double (BgeWdgtRenderer *self, ValueData *value, StateData *state); static gint resolve_value_enum (BgeWdgtRenderer *self, ValueData *value, StateData *state); static gpointer resolve_value_boxed_dup (BgeWdgtRenderer *self, ValueData *value, StateData *state); static gpointer resolve_value_object_dup (BgeWdgtRenderer *self, ValueData *value, StateData *state); static void discard_binding (gpointer ptr); static void discard_watch (gpointer ptr); static void prop_change_queue_draw (BgeWdgtRenderer *self); static void reset_setter (WatchSetterData *data); static void wdgt_renderer_set_from_resource (BgeWdgtRenderer *self, const char *resource); static void bge_wdgt_renderer_dispose (GObject *object) { BgeWdgtRenderer *self = BGE_WDGT_RENDERER (object); if (self->tick > 0) { gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick); self->tick = 0; } g_clear_pointer (&self->spec, g_object_unref); g_clear_pointer (&self->state, g_free); g_clear_pointer (&self->reference, g_object_unref); g_clear_pointer (&self->child, gtk_widget_unparent); g_clear_pointer (&self->init_instance, state_instance_data_unref); g_clear_pointer (&self->init_watches, g_ptr_array_unref); g_clear_pointer (&self->active_state, state_data_unref); g_clear_pointer (&self->active_instance, state_instance_data_unref); g_clear_pointer (&self->active_snapshot, snapshot_data_unref); g_clear_pointer (&self->last_state, state_data_unref); g_clear_pointer (&self->last_instance, state_instance_data_unref); g_clear_pointer (&self->since_last_state, g_timer_destroy); g_clear_pointer (&self->objects, g_hash_table_unref); g_clear_pointer (&self->children, g_ptr_array_unref); g_clear_pointer (&self->allocations, g_hash_table_unref); g_clear_pointer (&self->nonchildren, g_ptr_array_unref); g_clear_pointer (&self->foreach_instances, g_hash_table_unref); g_clear_pointer (&self->state_instances, g_hash_table_unref); g_clear_pointer (&self->transition_instances, g_hash_table_unref); g_clear_pointer (&self->transition_closure_instances, g_hash_table_unref); g_clear_pointer (&self->track_transition_closure_instances, g_hash_table_unref); g_clear_pointer (&self->track_transitions, g_ptr_array_unref); g_clear_pointer (&self->bindings, g_ptr_array_unref); g_clear_pointer (&self->watches, g_ptr_array_unref); g_clear_pointer (&self->reference_notifier, g_object_unref); g_clear_pointer (&self->measure_for_size_notifier, g_object_unref); g_clear_pointer (&self->widget_width_notifier, g_object_unref); g_clear_pointer (&self->widget_height_notifier, g_object_unref); g_clear_pointer (&self->tick_time, g_timer_destroy); g_clear_pointer (&self->tick_time_notifier, g_object_unref); G_OBJECT_CLASS (bge_wdgt_renderer_parent_class)->dispose (object); } static void bge_wdgt_renderer_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BgeWdgtRenderer *self = BGE_WDGT_RENDERER (object); switch (prop_id) { case RENDERER_PROP_SPEC: g_value_set_object (value, bge_wdgt_renderer_get_spec (self)); break; case RENDERER_PROP_STATE: g_value_set_string (value, bge_wdgt_renderer_get_state (self)); break; case RENDERER_PROP_REFERENCE: g_value_set_object (value, bge_wdgt_renderer_get_reference (self)); break; case RENDERER_PROP_CHILD: g_value_set_object (value, bge_wdgt_renderer_get_child (self)); break; case RENDERER_PROP_RESOURCE: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_wdgt_renderer_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BgeWdgtRenderer *self = BGE_WDGT_RENDERER (object); switch (prop_id) { case RENDERER_PROP_SPEC: bge_wdgt_renderer_set_spec (self, g_value_get_object (value)); break; case RENDERER_PROP_RESOURCE: wdgt_renderer_set_from_resource (self, g_value_get_string (value)); break; case RENDERER_PROP_STATE: bge_wdgt_renderer_set_state (self, g_value_get_string (value)); break; case RENDERER_PROP_REFERENCE: bge_wdgt_renderer_set_reference (self, g_value_get_object (value)); break; case RENDERER_PROP_CHILD: bge_wdgt_renderer_set_child (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bge_wdgt_renderer_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BgeWdgtRenderer *self = BGE_WDGT_RENDERER (widget); gboolean wdgt_measured = FALSE; self->current_measure_for_size = for_size; /* This will update our measurement values in self */ g_object_notify_by_pspec ( G_OBJECT (self->measure_for_size_notifier), notifier_props[NOTIFIER_PROP_VALUE]); switch (orientation) { case GTK_ORIENTATION_HORIZONTAL: if (self->measure_minimum_width > 0 || self->measure_natural_width > 0) { *minimum = self->measure_minimum_width; *natural = self->measure_natural_width; wdgt_measured = TRUE; } break; case GTK_ORIENTATION_VERTICAL: if (self->measure_minimum_height > 0 || self->measure_natural_height > 0) { *minimum = self->measure_minimum_height; *natural = self->measure_natural_height; wdgt_measured = TRUE; } break; default: g_assert_not_reached (); } if (!wdgt_measured) { GtkWidget *child = NULL; child = gtk_widget_get_first_child (GTK_WIDGET (self)); if (child != NULL) gtk_widget_measure ( GTK_WIDGET (child), orientation, for_size, minimum, natural, minimum_baseline, natural_baseline); } } static void bge_wdgt_renderer_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BgeWdgtRenderer *self = BGE_WDGT_RENDERER (widget); self->widget_width = width; self->widget_height = height; g_object_notify_by_pspec ( G_OBJECT (self->widget_width_notifier), notifier_props[NOTIFIER_PROP_VALUE]); g_object_notify_by_pspec ( G_OBJECT (self->widget_height_notifier), notifier_props[NOTIFIER_PROP_VALUE]); if (self->child != NULL && gtk_widget_should_layout (self->child)) gtk_widget_allocate (self->child, width, height, baseline, NULL); for (guint i = 0; i < self->children->len; i++) { GtkWidget *child = NULL; AllocationData *allocation = NULL; int alloc_width = width; int alloc_height = height; g_autoptr (GskTransform) transform = NULL; child = g_ptr_array_index (self->children, i); allocation = g_hash_table_lookup (self->allocations, child); alloc_width = resolve_value_int ( self, allocation->width, self->active_instance != NULL ? self->active_state : self->spec->init_state); alloc_height = resolve_value_int ( self, allocation->height, self->active_state != NULL ? self->active_state : self->spec->init_state); transform = resolve_value_boxed_dup ( self, allocation->transform, self->active_state != NULL ? self->active_state : self->spec->init_state); gtk_widget_allocate ( child, MAX (alloc_width, 0.0), MAX (alloc_height, 0.0), baseline, g_steal_pointer (&transform)); } } static gboolean recurse_snapshot (BgeWdgtRenderer *self, GtkSnapshot *snapshot, GPtrArray *calls, guint *idx, ForeachData *foreach_context, ForeachData *parent_foreach, gboolean skip_foreach) { gboolean result = FALSE; guint start_idx = 0; guint n_iters = 0; ForeachData *next_foreach = NULL; ForeachInstanceData *foreach_instance = NULL; g_autoptr (GListModel) model = NULL; start_idx = *idx; if (foreach_context != NULL) { for (ForeachData *data = foreach_context->parent; data != NULL && data != parent_foreach; data = data->parent) { next_foreach = foreach_context; foreach_context = data; } foreach_instance = g_hash_table_lookup ( self->foreach_instances, foreach_context); g_assert (foreach_instance != NULL); model = resolve_value_object_dup ( self, foreach_context->model, self->active_state); if (model != NULL) n_iters = g_list_model_get_n_items (model); else { n_iters = 1; skip_foreach = TRUE; } } else n_iters = 1; for (guint i = 0; i < n_iters; i++) { if (foreach_instance != NULL) { foreach_instance->current_idx = i; g_object_notify_by_pspec ( G_OBJECT (foreach_instance->notifier), notifier_props[NOTIFIER_PROP_VALUE]); } *idx = start_idx; if (next_foreach != NULL) { result = recurse_snapshot ( self, snapshot, calls, idx, next_foreach, foreach_context, skip_foreach); if (!result) return FALSE; } for (; *idx < calls->len; (*idx)++) { SnapshotCallData *call = NULL; call = g_ptr_array_index (calls, *idx); if ((call->foreach_context != NULL || parent_foreach != NULL) && call->foreach_context == parent_foreach) break; else if (call->foreach_context != foreach_context) { result = recurse_snapshot ( self, snapshot, calls, idx, call->foreach_context, foreach_context, skip_foreach); if (!result) return FALSE; } else if (!skip_foreach) { switch (call->kind) { case BGE_WDGT_SNAPSHOT_INSTR_POP: gtk_snapshot_pop (snapshot); break; case BGE_WDGT_SNAPSHOT_INSTR_SAVE: gtk_snapshot_save (snapshot); break; case BGE_WDGT_SNAPSHOT_INSTR_RESTORE: gtk_snapshot_restore (snapshot); break; case BGE_WDGT_SNAPSHOT_INSTR_APPEND: case BGE_WDGT_SNAPSHOT_INSTR_PUSH: case BGE_WDGT_SNAPSHOT_INSTR_TRANSFORM: { GValue arg_values[ARGBUF_SIZE] = { 0 }; guint n_arg_values = 0; GValue rest_values[ARGBUF_SIZE] = { 0 }; guint n_rest_values = 0; n_arg_values = MIN (call->args->len, G_N_ELEMENTS (arg_values)); n_rest_values = MIN (call->rest->len, G_N_ELEMENTS (rest_values)); for (guint j = 0; j < n_arg_values; j++) { ValueData *value = NULL; GtkExpression *expression = NULL; value = g_ptr_array_index (call->args, j); expression = g_hash_table_lookup (self->active_state->expressions, value); result = gtk_expression_evaluate (expression, self, &arg_values[j]); if (!result) return FALSE; } for (guint j = 0; j < n_rest_values; j++) { ValueData *value = NULL; GtkExpression *expression = NULL; value = g_ptr_array_index (call->rest, j); expression = g_hash_table_lookup (self->active_state->expressions, value); result = gtk_expression_evaluate (expression, self, &rest_values[j]); if (!result) return FALSE; } call->func (snapshot, arg_values, rest_values, n_rest_values); for (guint j = 0; j < n_rest_values; j++) { g_value_unset (&rest_values[j]); } for (guint j = 0; j < n_arg_values; j++) { g_value_unset (&arg_values[j]); } } break; case BGE_WDGT_SNAPSHOT_INSTR_SNAPSHOT_CHILD: { GtkExpression *expression = NULL; GValue child_value = G_VALUE_INIT; GtkWidget *child = NULL; expression = g_hash_table_lookup ( self->active_state->expressions, call->child); gtk_expression_evaluate (expression, self, &child_value); child = g_value_get_object (&child_value); if (child != NULL) { if (gtk_widget_get_parent (child) == GTK_WIDGET (self)) gtk_widget_snapshot_child (GTK_WIDGET (self), child, snapshot); else g_critical ("Trying to snapshot a widget which is " "not a direct child of this spec! Skipping"); } g_value_unset (&child_value); } break; default: break; } } } } return TRUE; } static void bge_wdgt_renderer_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BgeWdgtRenderer *self = BGE_WDGT_RENDERER (widget); GPtrArray *calls = NULL; guint call_idx = 0; if (self->active_state == NULL || self->active_instance == NULL || self->active_snapshot == NULL) goto done; calls = self->active_snapshot->calls; recurse_snapshot (self, snapshot, calls, &call_idx, NULL, NULL, FALSE); done: if (self->child != NULL) gtk_widget_snapshot_child (GTK_WIDGET (self), self->child, snapshot); // for (guint i = 0; i < self->children->len; i++) // { // GtkWidget *child = NULL; // // child = g_ptr_array_index (self->children, i); // gtk_widget_snapshot_child (GTK_WIDGET (self), child, snapshot); // } } static void bge_wdgt_renderer_class_init (BgeWdgtRendererClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bge_wdgt_renderer_set_property; object_class->get_property = bge_wdgt_renderer_get_property; object_class->dispose = bge_wdgt_renderer_dispose; renderer_props[RENDERER_PROP_SPEC] = g_param_spec_object ( "spec", NULL, NULL, BGE_TYPE_WDGT_SPEC, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); renderer_props[RENDERER_PROP_RESOURCE] = g_param_spec_string ( "resource", NULL, NULL, NULL, G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); renderer_props[RENDERER_PROP_STATE] = g_param_spec_string ( "state", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); renderer_props[RENDERER_PROP_REFERENCE] = g_param_spec_object ( "reference", NULL, NULL, G_TYPE_OBJECT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); renderer_props[RENDERER_PROP_CHILD] = g_param_spec_object ( "child", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_RENDERER_PROP, renderer_props); widget_class->measure = bge_wdgt_renderer_measure; widget_class->size_allocate = bge_wdgt_renderer_size_allocate; widget_class->snapshot = bge_wdgt_renderer_snapshot; g_type_ensure (BGE_TYPE_WDGT_NOTIFIER); } static gboolean tick_cb (BgeWdgtRenderer *self, GdkFrameClock *frame_clock, gpointer user_data) { gboolean should_animate = FALSE; GHashTableIter iter = { 0 }; gboolean finished_all_state_transitions = TRUE; self->had_tick_since_state_switch = TRUE; g_object_notify_by_pspec ( G_OBJECT (self->tick_time_notifier), notifier_props[NOTIFIER_PROP_VALUE]); should_animate = bge_should_animate (GTK_WIDGET (self)); for (guint i = 0; i < self->track_transitions->len;) { TrackTransitionClosureData *data = NULL; double elapsed = 0.0; data = g_ptr_array_index (self->track_transitions, i); elapsed = g_timer_elapsed (data->timer, NULL); g_object_notify_by_pspec ( G_OBJECT (data->notifier), notifier_props[NOTIFIER_PROP_VALUE]); if (should_animate && elapsed <= data->spring.est_duration) i++; else g_ptr_array_remove_index (self->track_transitions, i); } if (should_animate && self->spec != NULL && self->active_state != NULL && self->active_instance != NULL && self->last_state != NULL && self->last_instance != NULL) { double elapsed = 0.0; elapsed = g_timer_elapsed (self->since_last_state, NULL); g_hash_table_iter_init (&iter, self->active_state->transitions); for (;;) { ValueData *value = NULL; TransitionData *transition = NULL; TransitionInstanceData *transition_instance = NULL; TransitionInstanceData *init_transition_instance = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &value, (gpointer *) &transition)) break; transition_instance = g_hash_table_lookup (self->active_instance->transitions, value); if (transition_instance != NULL) g_object_notify_by_pspec ( G_OBJECT (transition_instance->notifier), notifier_props[NOTIFIER_PROP_VALUE]); init_transition_instance = g_hash_table_lookup (self->init_instance->transitions, value); if (init_transition_instance != NULL) g_object_notify_by_pspec ( G_OBJECT (init_transition_instance->notifier), notifier_props[NOTIFIER_PROP_VALUE]); switch (transition->kind) { case TRANSITION_EASE: if (elapsed <= transition_instance->ease.seconds) finished_all_state_transitions = FALSE; break; case TRANSITION_SPRING: if (transition_instance->spring.est_duration < 0.0 || elapsed <= transition_instance->spring.est_duration) finished_all_state_transitions = FALSE; break; default: g_assert_not_reached (); } } } if (finished_all_state_transitions) { g_clear_pointer (&self->last_state, state_data_unref); g_clear_pointer (&self->last_instance, state_instance_data_unref); } if ((self->active_state == NULL || !self->active_state->needs_tick) && self->track_transitions->len == 0 && finished_all_state_transitions) { gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick); self->tick = 0; return G_SOURCE_REMOVE; } return G_SOURCE_CONTINUE; } static void bge_wdgt_renderer_init (BgeWdgtRenderer *self) { self->init_watches = g_ptr_array_new_with_free_func (discard_watch); self->objects = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, g_object_unref); self->children = g_ptr_array_new_with_free_func ( (GDestroyNotify) gtk_widget_unparent); self->nonchildren = g_ptr_array_new_with_free_func ( (GDestroyNotify) g_object_unref); self->allocations = g_hash_table_new_full ( g_direct_hash, g_direct_equal, g_object_unref, allocation_data_unref); self->foreach_instances = g_hash_table_new_full ( g_direct_hash, g_direct_equal, foreach_data_unref, NULL); self->state_instances = g_hash_table_new_full ( g_direct_hash, g_direct_equal, state_data_unref, state_instance_data_unref); self->transition_instances = g_hash_table_new_full ( g_direct_hash, g_direct_equal, transition_data_unref, transition_instance_data_unref); self->transition_closure_instances = g_hash_table_new_full ( g_direct_hash, g_direct_equal, transition_data_unref, transition_closure_data_unref); self->track_transition_closure_instances = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, track_transition_closure_data_unref); self->track_transitions = g_ptr_array_new_with_free_func ( track_transition_closure_data_unref); self->bindings = g_ptr_array_new_with_free_func (discard_binding); self->watches = g_ptr_array_new_with_free_func (discard_watch); self->since_last_state = g_timer_new (); self->tick_time = g_timer_new (); self->reference_notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); self->measure_for_size_notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); self->widget_width_notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); self->widget_height_notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); self->tick_time_notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); } BgeWdgtRenderer * bge_wdgt_renderer_new (void) { return g_object_new (BGE_TYPE_WDGT_RENDERER, NULL); } BgeWdgtSpec * bge_wdgt_renderer_get_spec (BgeWdgtRenderer *self) { g_return_val_if_fail (BGE_IS_WDGT_RENDERER (self), NULL); return self->spec; } const char * bge_wdgt_renderer_get_state (BgeWdgtRenderer *self) { g_return_val_if_fail (BGE_IS_WDGT_RENDERER (self), NULL); return self->state; } GObject * bge_wdgt_renderer_get_reference (BgeWdgtRenderer *self) { g_return_val_if_fail (BGE_IS_WDGT_RENDERER (self), NULL); return self->reference; } GtkWidget * bge_wdgt_renderer_get_child (BgeWdgtRenderer *self) { g_return_val_if_fail (BGE_IS_WDGT_RENDERER (self), NULL); return self->child; } void bge_wdgt_renderer_set_spec (BgeWdgtRenderer *self, BgeWdgtSpec *spec) { GBinding *name_binding = NULL; g_return_if_fail (BGE_IS_WDGT_RENDERER (self)); g_return_if_fail (spec == NULL || BGE_IS_WDGT_SPEC (spec)); if (spec == self->spec) return; g_clear_pointer (&self->spec, g_object_unref); if (spec != NULL) self->spec = g_object_ref (spec); regenerate (self); apply_state (self); if (spec != NULL) { name_binding = g_object_bind_property (spec, "name", self, "name", G_BINDING_SYNC_CREATE); g_ptr_array_add (self->bindings, g_object_ref (name_binding)); } else gtk_widget_set_name (GTK_WIDGET (self), NULL); g_object_notify_by_pspec (G_OBJECT (self), renderer_props[RENDERER_PROP_SPEC]); } void bge_wdgt_renderer_set_state (BgeWdgtRenderer *self, const char *state) { g_return_if_fail (BGE_IS_WDGT_RENDERER (self)); if (state == self->state || (state != NULL && self->state != NULL && g_strcmp0 (state, self->state) == 0)) return; g_clear_pointer (&self->state, g_free); if (state != NULL) self->state = g_strdup (state); apply_state (self); g_object_notify_by_pspec (G_OBJECT (self), renderer_props[RENDERER_PROP_STATE]); } void bge_wdgt_renderer_set_reference (BgeWdgtRenderer *self, GObject *reference) { g_return_if_fail (BGE_IS_WDGT_RENDERER (self)); if (reference == self->reference) return; g_clear_pointer (&self->reference, g_object_unref); if (reference != NULL) self->reference = g_object_ref (reference); g_object_notify_by_pspec (G_OBJECT (self), renderer_props[RENDERER_PROP_REFERENCE]); g_object_notify_by_pspec (G_OBJECT (self->reference_notifier), notifier_props[NOTIFIER_PROP_VALUE]); } void bge_wdgt_renderer_set_child (BgeWdgtRenderer *self, GtkWidget *child) { g_return_if_fail (BGE_IS_WDGT_RENDERER (self)); if (self->child == child) return; if (child != NULL) g_return_if_fail (gtk_widget_get_parent (child) == NULL); g_clear_pointer (&self->child, gtk_widget_unparent); self->child = child; if (child != NULL) gtk_widget_set_parent (child, GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), renderer_props[RENDERER_PROP_CHILD]); } void bge_wdgt_renderer_set_state_take (BgeWdgtRenderer *self, char *state) { g_return_if_fail (BGE_IS_WDGT_RENDERER (self)); if (state != NULL && self->state != NULL && g_strcmp0 (state, self->state) == 0) { g_free (state); return; } g_clear_pointer (&self->state, g_free); if (state != NULL) self->state = state; g_object_notify_by_pspec (G_OBJECT (self), renderer_props[RENDERER_PROP_STATE]); } gpointer bge_wdgt_renderer_lookup_object (BgeWdgtRenderer *self, const char *name) { ValueData *value = NULL; g_return_val_if_fail (BGE_IS_WDGT_RENDERER (self), NULL); g_return_val_if_fail (name != NULL, NULL); if (self->spec == NULL) return NULL; value = g_hash_table_lookup (self->spec->values, name); if (value == NULL) return NULL; if (!g_type_is_a (value->type, G_TYPE_OBJECT)) return NULL; return resolve_value_object_dup ( self, value, self->active_state != NULL ? self->active_state : self->spec->init_state); } static void regenerate (BgeWdgtRenderer *self) { BgeWdgtSpec *spec = self->spec; g_autoptr (GtkBuilder) dummy_builder = NULL; GHashTableIter state_iter = { 0 }; GHashTableIter setters_iter = { 0 }; g_clear_pointer (&self->init_instance, state_instance_data_unref); g_ptr_array_set_size (self->init_watches, 0); g_hash_table_remove_all (self->state_instances); g_hash_table_remove_all (self->objects); g_ptr_array_set_size (self->children, 0); g_ptr_array_set_size (self->nonchildren, 0); g_hash_table_remove_all (self->allocations); g_hash_table_remove_all (self->foreach_instances); g_ptr_array_set_size (self->track_transitions, 0); g_clear_pointer (&self->last_state, state_data_unref); g_clear_pointer (&self->last_instance, state_instance_data_unref); g_clear_pointer (&self->active_state, state_data_unref); g_clear_pointer (&self->active_instance, state_instance_data_unref); g_clear_pointer (&self->active_snapshot, snapshot_data_unref); g_ptr_array_set_size (self->bindings, 0); g_ptr_array_set_size (self->watches, 0); self->measure_minimum_width = -1; self->measure_natural_width = -1; self->measure_minimum_height = -1; self->measure_natural_height = -1; if (self->spec == NULL) return; for (guint i = 0; i < spec->foreaches->len; i++) { ForeachData *data = NULL; g_autoptr (ForeachInstanceData) foreach_instance = NULL; data = g_ptr_array_index (spec->foreaches, i); foreach_instance = foreach_instance_data_new (); foreach_instance->notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); g_hash_table_replace (self->foreach_instances, foreach_data_ref (data), foreach_instance_data_ref (foreach_instance)); } for (guint i = 0; i < spec->nonchildren->len; i++) { ValueData *value = NULL; value = g_ptr_array_index (spec->nonchildren, i); spawn_nonchild (self, value); } dummy_builder = gtk_builder_new (); for (guint i = 0; i < spec->children->len; i++) { ValueData *value = NULL; value = g_ptr_array_index (spec->children, i); spawn_child (self, value, dummy_builder); } g_hash_table_iter_init (&state_iter, spec->states); for (;;) { char *state_name = NULL; StateData *state = NULL; g_autoptr (StateInstanceData) instance = NULL; GHashTableIter transitions_iter = { 0 }; if (!g_hash_table_iter_next ( &state_iter, (gpointer *) &state_name, (gpointer *) &state)) break; instance = state_instance_data_new (); instance->transitions = g_hash_table_new_full ( g_direct_hash, g_direct_equal, value_data_unref, transition_instance_data_unref); g_hash_table_replace (self->state_instances, state_data_ref (state), state_instance_data_ref (instance)); g_hash_table_iter_init (&transitions_iter, state->transitions); for (;;) { ValueData *value = NULL; TransitionData *transition = NULL; g_autoptr (BgeWdgtNotifier) notifier_object = NULL; g_autoptr (TransitionInstanceData) instance_data = NULL; g_autoptr (TransitionClosureData) closure_data = NULL; if (!g_hash_table_iter_next ( &transitions_iter, (gpointer *) &value, (gpointer *) &transition)) break; notifier_object = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); instance_data = transition_instance_data_new (); instance_data->notifier = g_object_ref (notifier_object); switch (transition->kind) { case TRANSITION_EASE: instance_data->elapsed = G_MAXINT; break; case TRANSITION_SPRING: instance_data->spring.est_duration = -1.0; break; default: g_assert_not_reached (); } g_hash_table_replace (instance->transitions, value_data_ref (value), transition_instance_data_ref (instance_data)); g_hash_table_replace (self->transition_instances, transition_data_ref (transition), transition_instance_data_ref (instance_data)); closure_data = transition_closure_data_new (); closure_data->state = state_data_ref (state); closure_data->instance = state_instance_data_ref (instance); closure_data->value = value_data_ref (value); g_hash_table_replace (self->transition_closure_instances, transition_data_ref (transition), transition_closure_data_ref (closure_data)); } for (guint i = 0; i < spec->track_transition_values->len; i++) { ValueData *value = NULL; g_autoptr (TrackTransitionClosureData) closure_data = NULL; value = g_ptr_array_index (spec->track_transition_values, i); closure_data = track_transition_closure_data_new (); closure_data->value = value_data_ref (value); closure_data->timer = g_timer_new (); closure_data->notifier = g_object_new (BGE_TYPE_WDGT_NOTIFIER, NULL); g_hash_table_replace (self->track_transition_closure_instances, value_data_ref (value), track_transition_closure_data_ref (closure_data)); } if (state == spec->init_state) self->init_instance = state_instance_data_ref (instance); } /* Separate to ensure `self->init_instance` has been set */ if (!spec->ready) { g_hash_table_iter_init (&state_iter, spec->states); for (;;) { GHashTableIter value_iter = { 0 }; char *state_name = NULL; StateData *state = NULL; if (!g_hash_table_iter_next ( &state_iter, (gpointer *) &state_name, (gpointer *) &state)) break; g_hash_table_iter_init (&value_iter, spec->values); for (;;) { char *value_name = NULL; ValueData *value = NULL; g_autoptr (GtkExpression) expression = NULL; if (!g_hash_table_iter_next ( &value_iter, (gpointer *) &value_name, (gpointer *) &value)) break; expression = ensure_expressions (spec, value, state, NULL); } for (guint i = 0; i < spec->anon_values->len; i++) { ValueData *value = NULL; g_autoptr (GtkExpression) expression = NULL; value = g_ptr_array_index (spec->anon_values, i); expression = ensure_expressions (spec, value, state, NULL); } for (guint i = 0; i < spec->foreaches->len; i++) { ForeachData *data = NULL; data = g_ptr_array_index (spec->foreaches, i); { g_autoptr (GtkExpression) expression = ensure_expressions (spec, data->model, state, NULL); } g_hash_table_iter_init (&value_iter, data->values); for (;;) { char *value_name = NULL; ValueData *value = NULL; g_autoptr (GtkExpression) expression = NULL; if (!g_hash_table_iter_next ( &value_iter, (gpointer *) &value_name, (gpointer *) &value)) break; expression = ensure_expressions (spec, value, state, NULL); } } } g_hash_table_iter_init (&state_iter, spec->states); for (;;) { char *state_name = NULL; StateData *state = NULL; StateData *snapshot_state = NULL; if (!g_hash_table_iter_next ( &state_iter, (gpointer *) &state_name, (gpointer *) &state)) break; g_hash_table_iter_init ( &setters_iter, state->setters); for (;;) { ValueData *dest = NULL; ValueData *src = NULL; if (!g_hash_table_iter_next ( &setters_iter, (gpointer *) &dest, (gpointer *) &src)) break; if (g_hash_table_contains (state->values_need_tick, src)) state->needs_tick = TRUE; } if (state->snapshot != NULL) snapshot_state = state; else /* If this state doesn't have snapshot instructions specified, fallback on using the init state */ snapshot_state = self->spec->init_state; for (guint i = 0; i < snapshot_state->snapshot->calls->len; i++) { SnapshotCallData *call = NULL; call = g_ptr_array_index (snapshot_state->snapshot->calls, i); if (call->args == NULL) /* pop, save, restore... */ continue; for (guint j = 0; j < call->args->len; j++) { ValueData *arg = NULL; gboolean found = FALSE; GtkExpression *expression = NULL; arg = g_ptr_array_index (call->args, j); expression = g_hash_table_lookup (state->expressions, arg); g_assert (expression != NULL); for (guint k = 0; k < state->snapshot_deps->len; k++) { GtkExpression *other = NULL; other = g_ptr_array_index (state->snapshot_deps, k); if (expression == other) { found = TRUE; break; } } if (found) /* Ensure we don't duplicate deps */ continue; if (g_hash_table_contains (state->values_need_tick, arg)) state->needs_tick = TRUE; g_ptr_array_add (state->snapshot_deps, gtk_expression_ref (expression)); } } } spec->ready = TRUE; } g_hash_table_iter_init ( &setters_iter, self->spec->init_state->setters); for (;;) { ValueData *dest = NULL; ValueData *src = NULL; if (!g_hash_table_iter_next ( &setters_iter, (gpointer *) &dest, (gpointer *) &src)) break; set_value ( self, self->spec->init_state, self->init_instance, dest, src, self->init_watches); } gtk_widget_queue_allocate (GTK_WIDGET (self)); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void spawn_nonchild (BgeWdgtRenderer *self, ValueData *value) { g_autoptr (GObject) object = NULL; g_assert (value->kind == VALUE_OBJECT); object = g_object_new (value->type, NULL); if (g_type_is_a (value->type, G_TYPE_INITIALLY_UNOWNED)) g_object_ref_sink (object); g_hash_table_replace (self->objects, value_data_ref (value), g_object_ref (object)); g_ptr_array_add (self->nonchildren, g_object_ref (object)); } static void spawn_child (BgeWdgtRenderer *self, ValueData *value, GtkBuilder *dummy_builder) { GtkWidget *widget = NULL; g_autoptr (AllocationData) allocation = NULL; g_assert (value->kind == VALUE_CHILD); widget = g_object_new ( value->type, "name", value->name, NULL); if (value->child.css_classes != NULL) { for (guint j = 0; j < value->child.css_classes->len; j++) { const char *class = NULL; class = g_ptr_array_index (value->child.css_classes, j); gtk_widget_add_css_class (widget, class); } } if (value->child.parent_widget != NULL) { GtkWidget *parent_widget = NULL; g_autoptr (GtkBuilder) tmp_builder = NULL; parent_widget = g_hash_table_lookup ( self->objects, value->child.parent_widget); g_assert (parent_widget != NULL); if (dummy_builder == NULL) tmp_builder = gtk_builder_new (); GTK_BUILDABLE_GET_IFACE (parent_widget) ->add_child ( GTK_BUILDABLE (parent_widget), dummy_builder != NULL ? dummy_builder : tmp_builder, G_OBJECT (widget), value->child.builder_type); } else { gtk_widget_set_parent (widget, GTK_WIDGET (self)); g_ptr_array_add (self->children, g_object_ref (widget)); } g_hash_table_replace (self->objects, value_data_ref (value), g_object_ref (widget)); allocation = allocation_data_new (); g_hash_table_replace (self->allocations, g_object_ref (widget), allocation_data_ref (allocation)); } static void apply_state (BgeWdgtRenderer *self) { BgeWdgtSpec *spec = self->spec; StateData *state = NULL; StateInstanceData *instance = NULL; GHashTableIter iter = { 0 }; if (self->had_tick_since_state_switch) { g_clear_pointer (&self->last_state, state_data_unref); g_clear_pointer (&self->last_instance, state_instance_data_unref); if (self->active_state != NULL && self->active_instance != NULL) { self->last_state = g_steal_pointer (&self->active_state); self->last_instance = g_steal_pointer (&self->active_instance); } g_timer_start (self->since_last_state); self->had_tick_since_state_switch = FALSE; } g_clear_pointer (&self->active_state, state_data_unref); g_clear_pointer (&self->active_instance, state_instance_data_unref); g_clear_pointer (&self->active_snapshot, snapshot_data_unref); g_ptr_array_set_size (self->bindings, 0); g_ptr_array_set_size (self->watches, 0); gtk_widget_queue_draw (GTK_WIDGET (self)); if (self->spec == NULL || self->state == NULL) return; state = g_hash_table_lookup (spec->states, self->state); if (state == NULL) { g_critical ("state \"%s\" doesn't exist on spec \"%s\"", self->state, spec->name); return; } instance = g_hash_table_lookup (self->state_instances, state); g_assert (instance != NULL); self->active_state = state_data_ref (state); self->active_instance = state_instance_data_ref (instance); if (state->snapshot != NULL) self->active_snapshot = snapshot_data_ref (state->snapshot); else if (self->spec->init_state->snapshot != NULL) self->active_snapshot = snapshot_data_ref (self->spec->init_state->snapshot); g_hash_table_iter_init (&iter, state->setters); for (;;) { ValueData *dest = NULL; ValueData *src = NULL; TransitionInstanceData *transition_instance = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &dest, (gpointer *) &src)) break; set_value ( self, state, instance, dest, src, self->watches); transition_instance = g_hash_table_lookup (instance->transitions, dest); if (transition_instance != NULL) transition_instance->spring.est_duration = -1.0; } g_hash_table_iter_init (&iter, spec->init_state->setters); for (;;) { ValueData *dest = NULL; ValueData *src = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &dest, (gpointer *) &src)) break; set_value ( self, state, instance, dest, src, self->watches); } for (guint i = 0; i < state->snapshot_deps->len; i++) { GtkExpression *expression = NULL; GtkExpressionWatch *watch = NULL; expression = g_ptr_array_index (state->snapshot_deps, i); watch = gtk_expression_watch ( expression, self, (GtkExpressionNotify) prop_change_queue_draw, self, NULL); g_ptr_array_add (self->watches, watch); } gtk_widget_queue_allocate (GTK_WIDGET (self)); gtk_widget_queue_draw (GTK_WIDGET (self)); if (self->tick == 0) self->tick = gtk_widget_add_tick_callback ( GTK_WIDGET (self), (GtkTickCallback) tick_cb, NULL, NULL); } static graphene_point_t * expression_create_point (gpointer object, double x, double y, gpointer user_data) { graphene_point_t *point = NULL; point = graphene_point_alloc (); point->x = x; point->y = y; return point; } static graphene_size_t * expression_create_size (gpointer object, double width, double height, gpointer user_data) { graphene_size_t *size = NULL; size = graphene_size_alloc (); size->width = width; size->height = height; return size; } static graphene_point3d_t * expression_create_point3d (gpointer object, double x, double y, double z, gpointer user_data) { graphene_point3d_t *point3d = NULL; point3d = graphene_point3d_alloc (); point3d->x = x; point3d->y = y; point3d->z = z; return point3d; } static graphene_rect_t * expression_create_rect (gpointer object, double x, double y, double width, double height, gpointer user_data) { graphene_rect_t *rect = NULL; rect = graphene_rect_alloc (); rect->origin.x = x; rect->origin.y = y; rect->size.width = width; rect->size.height = height; return rect; } static GskStroke * expression_create_stroke (gpointer object, double line_width, GskLineCap line_cap, GskLineJoin line_join, double miter_limit, gpointer user_data) { GskStroke *stroke = NULL; stroke = gsk_stroke_new (line_width); gsk_stroke_set_line_cap (stroke, line_cap); gsk_stroke_set_line_join (stroke, line_join); gsk_stroke_set_miter_limit (stroke, miter_limit); return stroke; } static void expression_coerce_type (gpointer this, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer dest_type_ptr) { GType dest_type = GPOINTER_TO_SIZE (dest_type_ptr); coerce_value (¶m_values[0], dest_type, return_value); } static gpointer expression_lookup_object (BgeWdgtRenderer *this, ValueData *value) { return g_object_ref (g_hash_table_lookup (this->objects, value)); } static gpointer expression_get_reference_notifier (BgeWdgtRenderer *this, gpointer user_data) { return g_object_ref (this->reference_notifier); } static gpointer expression_get_measure_for_size_notifier (BgeWdgtRenderer *this, gpointer user_data) { return g_object_ref (this->measure_for_size_notifier); } static gpointer expression_get_widget_width_notifier (BgeWdgtRenderer *this, gpointer user_data) { return g_object_ref (this->widget_width_notifier); } static gpointer expression_get_widget_height_notifier (BgeWdgtRenderer *this, gpointer user_data) { return g_object_ref (this->widget_height_notifier); } static gpointer expression_get_tick_time_notifier (BgeWdgtRenderer *this, gpointer user_data) { return g_object_ref (this->tick_time_notifier); } static gpointer expression_get_foreach_instance_notifier (BgeWdgtRenderer *this, ForeachData *data) { ForeachInstanceData *instance = NULL; instance = g_hash_table_lookup (this->foreach_instances, data); g_assert (instance != NULL); return g_object_ref (instance->notifier); } static gpointer expression_get_transition_instance_notifier (BgeWdgtRenderer *this, TransitionData *data) { TransitionInstanceData *instance = NULL; instance = g_hash_table_lookup (this->transition_instances, data); g_assert (instance != NULL); return g_object_ref (instance->notifier); } static gpointer expression_get_track_transition_closure_instance_notifier (BgeWdgtRenderer *this, ValueData *value) { TrackTransitionClosureData *instance = NULL; instance = g_hash_table_lookup (this->track_transition_closure_instances, value); g_assert (instance != NULL); return g_object_ref (instance->notifier); } static guint expression_get_foreach_index (BgeWdgtRenderer *this, double notify, ForeachData *data) { ForeachInstanceData *instance = NULL; instance = g_hash_table_lookup (this->foreach_instances, data); g_assert (instance != NULL); return instance->current_idx; } static gpointer expression_get_model_item (BgeWdgtRenderer *this, GListModel *model, guint idx, double notify, gpointer user_data) { return g_list_model_get_item (model, idx); } static int expression_get_measure_for_size (BgeWdgtRenderer *this, double notify, gpointer user_data) { return this->current_measure_for_size; } static double expression_get_widget_width (BgeWdgtRenderer *this, double notify, gpointer user_data) { return (double) this->widget_width; } static double expression_get_widget_height (BgeWdgtRenderer *this, double notify, gpointer user_data) { return (double) this->widget_height; } static double expression_get_tick_time (BgeWdgtRenderer *this, double notify, gpointer user_data) { return g_timer_elapsed (this->tick_time, NULL); } static gpointer expression_get_reference_object (BgeWdgtRenderer *this, double notify, gpointer user_data) { return this->reference != NULL ? g_object_ref (this->reference) : NULL; } static double expression_adjust_state_transition (BgeWdgtRenderer *this, double in, double notifier, TransitionData *data) { TransitionClosureData *closure_data = NULL; TransitionData *transition = NULL; TransitionData *last_transition = NULL; TransitionInstanceData *transition_instance = NULL; TransitionInstanceData *last_transition_instance = NULL; ValueData *last_in_value = NULL; double last_in = 0.0; double elapsed = 0.0; double progress = 0.0; double interpolated_number = 0.0; closure_data = g_hash_table_lookup (this->transition_closure_instances, data); g_assert (closure_data != NULL); g_assert (closure_data->value->type == G_TYPE_DOUBLE); if (!bge_should_animate (GTK_WIDGET (this))) return in; if (this->active_state == NULL || this->active_instance == NULL || this->last_state == NULL || this->last_instance == NULL) return in; transition = g_hash_table_lookup ( this->active_state->transitions, closure_data->value); if (transition == NULL) return in; last_transition = g_hash_table_lookup ( this->last_state->transitions, closure_data->value); transition_instance = g_hash_table_lookup ( this->active_instance->transitions, closure_data->value); g_assert (transition_instance != NULL); last_transition_instance = g_hash_table_lookup ( this->last_instance->transitions, closure_data->value); if (last_transition != NULL && last_transition_instance != NULL && last_transition->kind == TRANSITION_EASE && last_transition_instance->elapsed < last_transition_instance->ease.seconds) last_in = last_transition_instance->value; else { last_in_value = g_hash_table_lookup (this->last_state->setters, closure_data->value); if (last_in_value == NULL) return in; last_in = resolve_value_double (this, last_in_value, this->last_state); } elapsed = g_timer_elapsed (this->since_last_state, NULL); transition_instance->elapsed = elapsed; switch (transition->kind) { case TRANSITION_EASE: { BgeEasing easing = 0; double seconds = 0.0; easing = resolve_value_enum ( this, transition->ease.easing, this->active_state); seconds = resolve_value_double ( this, transition->ease.seconds, this->active_state); if (elapsed >= seconds) interpolated_number = in; else { progress = bge_easing_ease (easing, elapsed / seconds); interpolated_number = last_in + progress * (in - last_in); } transition_instance->ease.easing = easing; transition_instance->ease.seconds = seconds; } break; case TRANSITION_SPRING: { double damping_ratio = 0.0; double mass = 0.0; double stiffness = 0.0; double damping = 0.0; damping_ratio = resolve_value_double ( this, transition->spring.damping_ratio, this->active_state); mass = resolve_value_double ( this, transition->spring.mass, this->active_state); stiffness = resolve_value_double ( this, transition->spring.stiffness, this->active_state); damping = damping_ratio * (/* critical damping */ 2 * sqrt (mass * stiffness)); if (transition_instance->spring.est_duration < 0.0 || damping_ratio != transition_instance->spring.cache_damping_ratio || mass != transition_instance->spring.cache_mass || stiffness != transition_instance->spring.cache_stiffness) { if (last_transition != NULL && last_transition->kind == TRANSITION_SPRING) transition_instance->spring.velocity = last_transition_instance->spring.velocity; else transition_instance->spring.velocity = 0.0; transition_instance->spring.est_duration = spring_calculate_duration ( damping, mass, stiffness, last_in, in, FALSE); transition_instance->spring.cache_damping_ratio = damping_ratio; transition_instance->spring.cache_mass = mass; transition_instance->spring.cache_stiffness = stiffness; } if (elapsed >= transition_instance->spring.est_duration) interpolated_number = in; else interpolated_number = spring_oscillate ( damping, mass, stiffness, last_in, in, elapsed, &transition_instance->spring.velocity); } break; default: g_assert_not_reached (); } transition_instance->value = interpolated_number; return interpolated_number; } static double expression_adjust_track_transition (BgeWdgtRenderer *this, double in, double damping_ratio, double mass, double stiffness, double notifier, ValueData *value) { TrackTransitionClosureData *closure_data = NULL; guint idx = 0; gboolean registered = FALSE; double damping = 0.0; g_assert (value->type == G_TYPE_DOUBLE); if (!bge_should_animate (GTK_WIDGET (this))) return in; closure_data = g_hash_table_lookup (this->track_transition_closure_instances, value); g_assert (closure_data != NULL); registered = g_ptr_array_find (this->track_transitions, closure_data, &idx); if (!registered) { g_ptr_array_add (this->track_transitions, track_transition_closure_data_ref (closure_data)); if (this->tick == 0) this->tick = gtk_widget_add_tick_callback ( GTK_WIDGET (this), (GtkTickCallback) tick_cb, NULL, NULL); } damping = damping_ratio * (/* critical damping */ 2 * sqrt (mass * stiffness)); if (!registered || closure_data->target != in || damping_ratio != closure_data->spring.cache_damping_ratio || mass != closure_data->spring.cache_mass || stiffness != closure_data->spring.cache_stiffness) { closure_data->target = in; closure_data->last = closure_data->current; closure_data->elapsed = 0.0; g_timer_start (closure_data->timer); closure_data->spring.est_duration = spring_calculate_duration ( damping, mass, stiffness, closure_data->last, closure_data->target, FALSE); closure_data->spring.cache_damping_ratio = damping_ratio; closure_data->spring.cache_mass = mass; closure_data->spring.cache_stiffness = stiffness; } else closure_data->elapsed = g_timer_elapsed (closure_data->timer, NULL); if (closure_data->elapsed >= closure_data->spring.est_duration) { closure_data->current = closure_data->target; closure_data->last = closure_data->target; } else closure_data->current = spring_oscillate ( damping, mass, stiffness, closure_data->last, closure_data->target, closure_data->elapsed, &closure_data->spring.velocity); return closure_data->current; } static GskTransform * expression_perform_transform (gpointer this, guint n_param_values, const GValue *param_values, TransformCallFunc func) { return func (g_value_dup_boxed (¶m_values[0]), param_values + 1); } static GskPath * expression_perform_path_build (gpointer this, guint n_param_values, const GValue *param_values, ValueData *path_value) { g_autoptr (GskPathBuilder) builder = NULL; const GValue *cursor = 0; g_assert (path_value->kind == VALUE_PATH); builder = gsk_path_builder_new (); cursor = param_values; for (guint i = 0; i < path_value->path.argss->len; i++) { PathBuilderCallFunc func = NULL; GPtrArray *args = NULL; func = g_ptr_array_index (path_value->path.funcs, i); args = g_ptr_array_index (path_value->path.argss, i); func (builder, cursor); cursor += args->len; } return gsk_path_builder_to_path (builder); } static GtkExpression * ensure_expressions (BgeWdgtSpec *self, ValueData *value, StateData *state, gboolean *value_needs_tick) { GtkExpression *cached = NULL; g_autoptr (GtkExpression) expression = NULL; TransitionData *transition = NULL; gboolean need_tick = FALSE; cached = g_hash_table_lookup (state->expressions, value); if (cached != NULL) { if (value_needs_tick != NULL && g_hash_table_contains (state->values_need_tick, value)) *value_needs_tick = TRUE; return gtk_expression_ref (cached); } switch (value->kind) { case VALUE_CONSTANT: expression = gtk_constant_expression_new_for_value (&value->constant.value); break; case VALUE_OBJECT: case VALUE_CHILD: expression = gtk_cclosure_expression_new ( value->type, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_lookup_object), value_data_ref (value), value_data_unref_closure); break; case VALUE_REFERENCE_OBJECT: { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_reference_notifier), NULL, NULL); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_OBJECT__DOUBLE, 1, (GtkExpression *[]){ notify_expression }, G_CALLBACK (expression_get_reference_object), GSIZE_TO_POINTER (value->type), NULL); } break; case VALUE_ITERATOR: { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_foreach_instance_notifier), foreach_data_ref (value->iterator.context), foreach_data_unref_closure); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( G_TYPE_UINT, bge_marshal_UINT__DOUBLE, 1, (GtkExpression *[]){ notify_expression }, G_CALLBACK (expression_get_foreach_index), foreach_data_ref (value->iterator.context), foreach_data_unref_closure); if (value->type != G_TYPE_UINT) { GtkExpression *model_expression = NULL; g_assert (g_type_is_a (value->type, G_TYPE_OBJECT)); model_expression = ensure_expressions ( self, value->iterator.context->model, state, &need_tick); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_OBJECT__OBJECT_UINT_DOUBLE, 3, (GtkExpression *[]){ model_expression, expression, notify_expression }, G_CALLBACK (expression_get_model_item), NULL, NULL); } } break; case VALUE_VARIABLE: case VALUE_ALLOCATION_WIDTH: case VALUE_ALLOCATION_HEIGHT: case VALUE_ALLOCATION_TRANSFORM: case VALUE_MEASURE_MINIMUM_WIDTH: case VALUE_MEASURE_NATURAL_WIDTH: case VALUE_MEASURE_MINIMUM_HEIGHT: case VALUE_MEASURE_NATURAL_HEIGHT: { ValueData *holds = NULL; holds = g_hash_table_lookup (state->setters, value); if (holds == NULL) holds = g_hash_table_lookup (self->init_state->setters, value); if (holds != NULL) expression = ensure_expressions ( self, holds, state, &need_tick); else { GValue empty_value = G_VALUE_INIT; g_value_init (&empty_value, value->type); expression = gtk_constant_expression_new_for_value (&empty_value); g_value_unset (&empty_value); } } break; case VALUE_MEASURE_FOR_SIZE: { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_measure_for_size_notifier), NULL, NULL); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_INT__DOUBLE, 1, (GtkExpression *[]){ notify_expression }, G_CALLBACK (expression_get_measure_for_size), GSIZE_TO_POINTER (value->type), NULL); } break; case VALUE_WIDGET_WIDTH: { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_widget_width_notifier), NULL, NULL); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_DOUBLE__DOUBLE, 1, (GtkExpression *[]){ notify_expression }, G_CALLBACK (expression_get_widget_width), GSIZE_TO_POINTER (value->type), NULL); } break; case VALUE_WIDGET_HEIGHT: { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_widget_height_notifier), NULL, NULL); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_DOUBLE__DOUBLE, 1, (GtkExpression *[]){ notify_expression }, G_CALLBACK (expression_get_widget_height), GSIZE_TO_POINTER (value->type), NULL); } break; case VALUE_TICK_TIME: { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_tick_time_notifier), NULL, NULL); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_DOUBLE__DOUBLE, 1, (GtkExpression *[]){ notify_expression }, G_CALLBACK (expression_get_tick_time), GSIZE_TO_POINTER (value->type), NULL); need_tick = TRUE; } break; case VALUE_COERCION: { expression = ensure_expressions ( self, value->coercion.value, state, &need_tick); expression = gtk_cclosure_expression_new ( value->type, _marshal_DIRECT__ARGS_DIRECT, 1, (GtkExpression *[]){ expression }, G_CALLBACK (expression_coerce_type), GSIZE_TO_POINTER (value->type), NULL); } break; case VALUE_TRACK_TRANSITION: { g_autoptr (BgeWdgtNotifier) notifier_object = NULL; GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; GtkExpression *damping_ratio_expression = NULL; GtkExpression *mass_expression = NULL; GtkExpression *stiffness_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_track_transition_closure_instance_notifier), value_data_ref (value), value_data_unref_closure); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); damping_ratio_expression = ensure_expressions ( self, value->track_transition.spring.damping_ratio, state, &need_tick); mass_expression = ensure_expressions ( self, value->track_transition.spring.mass, state, &need_tick); stiffness_expression = ensure_expressions ( self, value->track_transition.spring.stiffness, state, &need_tick); expression = ensure_expressions ( self, value->track_transition.src, state, &need_tick); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_DOUBLE__DOUBLE_DOUBLE_DOUBLE_DOUBLE_DOUBLE, 5, (GtkExpression *[]){ expression, damping_ratio_expression, mass_expression, stiffness_expression, notify_expression }, G_CALLBACK (expression_adjust_track_transition), value_data_ref (value), value_data_unref_closure); } break; case VALUE_COMPONENT: { g_autoptr (GPtrArray) params = NULL; GClosureMarshal marshal = NULL; GCallback callback = NULL; params = g_ptr_array_new (); for (guint i = 0; i < value->component.params->len; i++) { ValueData *member = NULL; g_autoptr (GtkExpression) member_expr = NULL; member = g_ptr_array_index (value->component.params, i); member_expr = ensure_expressions (self, member, state, &need_tick); g_ptr_array_add (params, g_steal_pointer (&member_expr)); } if (value->type == GRAPHENE_TYPE_POINT) { marshal = bge_marshal_BOXED__DOUBLE_DOUBLE; callback = G_CALLBACK (expression_create_point); } else if (value->type == GRAPHENE_TYPE_SIZE) { marshal = bge_marshal_BOXED__DOUBLE_DOUBLE; callback = G_CALLBACK (expression_create_size); } else if (value->type == GRAPHENE_TYPE_POINT3D) { marshal = bge_marshal_BOXED__DOUBLE_DOUBLE_DOUBLE; callback = G_CALLBACK (expression_create_point3d); } else if (value->type == GRAPHENE_TYPE_RECT) { marshal = bge_marshal_BOXED__DOUBLE_DOUBLE_DOUBLE_DOUBLE; callback = G_CALLBACK (expression_create_rect); } else if (value->type == GSK_TYPE_STROKE) { marshal = bge_marshal_BOXED__DOUBLE_ENUM_ENUM_DOUBLE; callback = G_CALLBACK (expression_create_stroke); } else g_assert_not_reached (); expression = gtk_cclosure_expression_new ( value->type, marshal, params->len, (GtkExpression **) params->pdata, callback, self, NULL); } break; case VALUE_TRANSFORM: { g_autoptr (GPtrArray) params = NULL; g_autoptr (GtkExpression) next_expr = NULL; params = g_ptr_array_new (); next_expr = ensure_expressions (self, value->transform.next, state, &need_tick); g_ptr_array_add (params, g_steal_pointer (&next_expr)); for (guint i = 0; i < value->transform.args->len; i++) { ValueData *arg = NULL; g_autoptr (GtkExpression) arg_expr = NULL; arg = g_ptr_array_index (value->transform.args, i); arg_expr = ensure_expressions (self, arg, state, &need_tick); g_ptr_array_add (params, g_steal_pointer (&arg_expr)); } expression = gtk_cclosure_expression_new ( value->type, _marshal_BOXED__ARGS_DIRECT, params->len, (GtkExpression **) params->pdata, G_CALLBACK (expression_perform_transform), value->transform.func, NULL); } break; case VALUE_PATH: { g_autoptr (GPtrArray) params = NULL; g_autoptr (GtkExpression) next_expr = NULL; params = g_ptr_array_new (); g_assert (value->path.funcs->len == value->path.argss->len); for (guint i = 0; i < value->path.argss->len; i++) { GPtrArray *args = NULL; args = g_ptr_array_index (value->path.argss, i); for (guint j = 0; j < args->len; j++) { ValueData *arg = NULL; g_autoptr (GtkExpression) arg_expr = NULL; arg = g_ptr_array_index (args, j); arg_expr = ensure_expressions (self, arg, state, &need_tick); g_ptr_array_add (params, g_steal_pointer (&arg_expr)); } } expression = gtk_cclosure_expression_new ( value->type, _marshal_BOXED__ARGS_DIRECT, params->len, (GtkExpression **) params->pdata, G_CALLBACK (expression_perform_path_build), value_data_ref (value), value_data_unref_closure); } break; case VALUE_CLOSURE: { g_autoptr (GPtrArray) params = NULL; params = g_ptr_array_new (); for (guint i = 0; i < value->closure.args->len; i++) { ValueData *arg = NULL; g_autoptr (GtkExpression) arg_expr = NULL; arg = g_ptr_array_index (value->closure.args, i); arg_expr = ensure_expressions (self, arg, state, &need_tick); g_ptr_array_add (params, g_steal_pointer (&arg_expr)); } expression = gtk_cclosure_expression_new ( value->type, value->closure.marshal, params->len, (GtkExpression **) params->pdata, value->closure.func, value->closure.user_data, NULL); } break; case VALUE_PROPERTY: { g_autoptr (GtkExpression) object_expression = NULL; /* Mark subproperty values as dependencies as well */ object_expression = ensure_expressions ( self, value->property.object, state, &need_tick); expression = gtk_property_expression_new ( value->property.object->type, g_steal_pointer (&object_expression), value->property.prop_name); } break; default: g_assert_not_reached (); break; } transition = g_hash_table_lookup (state->transitions, value); if (value->type == G_TYPE_DOUBLE && transition != NULL) { GtkExpression *notifier_constant = NULL; GtkExpression *notify_expression = NULL; notifier_constant = gtk_cclosure_expression_new ( BGE_TYPE_WDGT_NOTIFIER, bge_marshal_OBJECT__VOID, 0, (GtkExpression *[]){}, G_CALLBACK (expression_get_transition_instance_notifier), transition_data_ref (transition), transition_data_unref_closure); notify_expression = gtk_property_expression_new_for_pspec ( notifier_constant, notifier_props[NOTIFIER_PROP_VALUE]); expression = gtk_cclosure_expression_new ( value->type, bge_marshal_DOUBLE__DOUBLE_DOUBLE, 2, (GtkExpression *[]){ expression, notify_expression }, G_CALLBACK (expression_adjust_state_transition), transition_data_ref (transition), transition_data_unref_closure); } g_hash_table_replace ( state->expressions, value_data_ref (value), gtk_expression_ref (expression)); if (need_tick) { /* We need to track this so we know not to remove the animation tick callback when transitions are not active */ g_hash_table_replace ( state->values_need_tick, value_data_ref (value), NULL); if (value_needs_tick != NULL) *value_needs_tick = TRUE; } return gtk_expression_ref (expression); } static void set_value (BgeWdgtRenderer *self, StateData *state, StateInstanceData *instance, ValueData *dest, ValueData *src, GPtrArray *watches) { GtkExpression *src_expression = NULL; GtkExpression *dest_expression = NULL; src_expression = g_hash_table_lookup (state->expressions, src); g_assert (src_expression != NULL); dest_expression = g_hash_table_lookup (state->expressions, dest); g_assert (dest_expression != NULL); switch (dest->kind) { case VALUE_PROPERTY: { GtkExpression *dest_obj_expression = NULL; GValue dest_obj_resolved = G_VALUE_INIT; GObject *dest_obj = NULL; dest_obj_expression = g_hash_table_lookup (state->expressions, dest->property.object); g_assert (dest_obj_expression != NULL); gtk_expression_evaluate ( dest_obj_expression, self, &dest_obj_resolved); dest_obj = g_value_get_object (&dest_obj_resolved); if (dest_obj != NULL) { gboolean resolved = FALSE; GValue src_resolved = G_VALUE_INIT; resolved = gtk_expression_evaluate ( src_expression, self, &src_resolved); if (resolved) g_object_set_property ( dest_obj, dest->property.prop_name, &src_resolved); g_value_unset (&src_resolved); } g_value_unset (&dest_obj_resolved); } break; case VALUE_ALLOCATION_WIDTH: case VALUE_ALLOCATION_HEIGHT: case VALUE_ALLOCATION_TRANSFORM: { GtkExpression *dest_widget_expression = NULL; GValue dest_widget_resolved = G_VALUE_INIT; GtkWidget *dest_widget = NULL; dest_widget_expression = g_hash_table_lookup (state->expressions, dest->allocation.widget); g_assert (dest_widget_expression != NULL); gtk_expression_evaluate ( dest_widget_expression, self, &dest_widget_resolved); dest_widget = g_value_get_object (&dest_widget_resolved); if (dest_widget != NULL) { AllocationData *allocation = NULL; allocation = g_hash_table_lookup (self->allocations, dest_widget); if (allocation != NULL) { switch (dest->kind) { case VALUE_ALLOCATION_WIDTH: g_clear_pointer (&allocation->width, value_data_unref); allocation->width = value_data_ref (src); break; case VALUE_ALLOCATION_HEIGHT: g_clear_pointer (&allocation->height, value_data_unref); allocation->height = value_data_ref (src); break; case VALUE_ALLOCATION_TRANSFORM: g_clear_pointer (&allocation->transform, value_data_unref); allocation->transform = value_data_ref (src); break; case VALUE_CHILD: case VALUE_CLOSURE: case VALUE_COERCION: case VALUE_COMPONENT: case VALUE_CONSTANT: case VALUE_ITERATOR: case VALUE_MEASURE_FOR_SIZE: case VALUE_MEASURE_MINIMUM_HEIGHT: case VALUE_MEASURE_MINIMUM_WIDTH: case VALUE_MEASURE_NATURAL_HEIGHT: case VALUE_MEASURE_NATURAL_WIDTH: case VALUE_OBJECT: case VALUE_PATH: case VALUE_PROPERTY: case VALUE_REFERENCE_OBJECT: case VALUE_TICK_TIME: case VALUE_TRACK_TRANSITION: case VALUE_TRANSFORM: case VALUE_VARIABLE: case VALUE_WIDGET_HEIGHT: case VALUE_WIDGET_WIDTH: default: g_assert_not_reached (); } gtk_widget_queue_allocate (GTK_WIDGET (self)); } } g_value_unset (&dest_widget_resolved); } break; case VALUE_MEASURE_MINIMUM_WIDTH: case VALUE_MEASURE_NATURAL_WIDTH: case VALUE_MEASURE_MINIMUM_HEIGHT: case VALUE_MEASURE_NATURAL_HEIGHT: { GValue src_resolved = G_VALUE_INIT; gtk_expression_evaluate ( src_expression, self, &src_resolved); switch (dest->kind) { case VALUE_MEASURE_MINIMUM_WIDTH: self->measure_minimum_width = g_value_get_int (&src_resolved); break; case VALUE_MEASURE_NATURAL_WIDTH: self->measure_natural_width = g_value_get_int (&src_resolved); break; case VALUE_MEASURE_MINIMUM_HEIGHT: self->measure_minimum_height = g_value_get_int (&src_resolved); break; case VALUE_MEASURE_NATURAL_HEIGHT: self->measure_natural_height = g_value_get_int (&src_resolved); break; case VALUE_ALLOCATION_HEIGHT: case VALUE_ALLOCATION_TRANSFORM: case VALUE_ALLOCATION_WIDTH: case VALUE_CHILD: case VALUE_CLOSURE: case VALUE_COERCION: case VALUE_COMPONENT: case VALUE_CONSTANT: case VALUE_ITERATOR: case VALUE_MEASURE_FOR_SIZE: case VALUE_OBJECT: case VALUE_PATH: case VALUE_PROPERTY: case VALUE_REFERENCE_OBJECT: case VALUE_TICK_TIME: case VALUE_TRACK_TRANSITION: case VALUE_TRANSFORM: case VALUE_VARIABLE: case VALUE_WIDGET_HEIGHT: case VALUE_WIDGET_WIDTH: default: g_assert_not_reached (); } g_value_unset (&src_resolved); gtk_widget_queue_resize (GTK_WIDGET (self)); } break; case VALUE_CHILD: case VALUE_CLOSURE: case VALUE_COERCION: case VALUE_COMPONENT: case VALUE_CONSTANT: case VALUE_ITERATOR: case VALUE_MEASURE_FOR_SIZE: case VALUE_OBJECT: case VALUE_PATH: case VALUE_REFERENCE_OBJECT: case VALUE_TICK_TIME: case VALUE_TRACK_TRANSITION: case VALUE_TRANSFORM: case VALUE_VARIABLE: case VALUE_WIDGET_HEIGHT: case VALUE_WIDGET_WIDTH: break; default: g_assert_not_reached (); } if (watches != NULL) { g_autoptr (WatchSetterData) watch_data = NULL; GtkExpressionWatch *watch = NULL; watch_data = watch_setter_data_new (); watch_data->self = self; watch_data->state = state_data_ref (state); watch_data->instance = state_instance_data_ref (instance); watch_data->dest = value_data_ref (dest); watch_data->src = value_data_ref (src); watch = gtk_expression_watch ( src_expression, self, (GtkExpressionNotify) reset_setter, watch_setter_data_ref (watch_data), watch_setter_data_unref); g_ptr_array_add (watches, watch); } } static int resolve_value_int (BgeWdgtRenderer *self, ValueData *value, StateData *state) { GtkExpression *expression = NULL; GValue resolved = G_VALUE_INIT; int ret = 0.0; expression = g_hash_table_lookup (state->expressions, value); g_assert (expression != NULL); gtk_expression_evaluate ( expression, self, &resolved); ret = g_value_get_int (&resolved); g_value_unset (&resolved); return ret; } static double resolve_value_double (BgeWdgtRenderer *self, ValueData *value, StateData *state) { GtkExpression *expression = NULL; GValue resolved = G_VALUE_INIT; double ret = 0.0; expression = g_hash_table_lookup (state->expressions, value); g_assert (expression != NULL); gtk_expression_evaluate ( expression, self, &resolved); ret = g_value_get_double (&resolved); g_value_unset (&resolved); return ret; } static gint resolve_value_enum (BgeWdgtRenderer *self, ValueData *value, StateData *state) { GtkExpression *expression = NULL; GValue resolved = G_VALUE_INIT; gint ret = 0; expression = g_hash_table_lookup (state->expressions, value); g_assert (expression != NULL); gtk_expression_evaluate ( expression, self, &resolved); ret = g_value_get_enum (&resolved); g_value_unset (&resolved); return ret; } static gpointer resolve_value_boxed_dup (BgeWdgtRenderer *self, ValueData *value, StateData *state) { GtkExpression *expression = NULL; GValue resolved = G_VALUE_INIT; gpointer ret = NULL; expression = g_hash_table_lookup (state->expressions, value); g_assert (expression != NULL); gtk_expression_evaluate ( expression, self, &resolved); ret = g_value_dup_boxed (&resolved); g_value_unset (&resolved); return ret; } static gpointer resolve_value_object_dup (BgeWdgtRenderer *self, ValueData *value, StateData *state) { GtkExpression *expression = NULL; GValue resolved = G_VALUE_INIT; gpointer ret = NULL; expression = g_hash_table_lookup (state->expressions, value); g_assert (expression != NULL); gtk_expression_evaluate ( expression, self, &resolved); ret = g_value_dup_object (&resolved); g_value_unset (&resolved); return ret; } static void discard_binding (gpointer ptr) { GBinding *binding = ptr; g_binding_unbind (binding); g_object_unref (binding); } static void discard_watch (gpointer ptr) { GtkExpressionWatch *watch = ptr; /* unrefs for us */ gtk_expression_watch_unwatch (watch); } static void prop_change_queue_draw (BgeWdgtRenderer *self) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void reset_setter (WatchSetterData *data) { BgeWdgtRenderer *self = data->self; /* Active state watchers are "overlayed" over the permanent init state. Thus, if this is the init state and the active state also sets this value, we should avoid touching it */ if (self->active_state != NULL /* ? */ && data->state == self->spec->init_state && g_hash_table_contains ( self->active_state->setters, data->dest)) return; set_value ( data->self, data->state, data->instance, data->dest, data->src, NULL); } static GHashTable *renderer_resource_cache = NULL; // static void // cache_weak_notify (char *resource, // GObject *where_the_object_was) // { // g_hash_table_remove (renderer_resource_cache, resource); // g_free (resource); // } static void wdgt_renderer_set_from_resource (BgeWdgtRenderer *self, const char *resource) { g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; BgeWdgtSpec *cached = NULL; gsize buffer_size = 0; gconstpointer buffer = NULL; g_autoptr (BgeWdgtSpec) spec = NULL; if (g_once_init_enter_pointer (&renderer_resource_cache)) { GHashTable *tmp = NULL; tmp = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, g_object_unref); g_once_init_leave_pointer (&renderer_resource_cache, tmp); } cached = g_hash_table_lookup ( renderer_resource_cache, resource); if (cached == NULL) { bytes = g_resources_lookup_data ( resource, G_RESOURCE_LOOKUP_FLAGS_NONE, &local_error); if (bytes == NULL) { g_critical ("failed to set renderer spec from resource: %s", local_error->message); bge_wdgt_renderer_set_spec (self, NULL); return; } buffer = g_bytes_get_data (bytes, &buffer_size); spec = bge_wdgt_spec_new_for_string (buffer, &local_error); if (spec == NULL) { g_critical ("failed to set renderer spec from resource %s: %s", resource, local_error->message); bge_wdgt_renderer_set_spec (self, NULL); return; } g_hash_table_replace ( renderer_resource_cache, g_strdup (resource), g_object_ref (spec)); // g_object_weak_ref ( // G_OBJECT (spec), // (GWeakNotify) cache_weak_notify, // g_strdup (resource)); cached = spec; } bge_wdgt_renderer_set_spec (self, cached); } /* End of bge-wdgt-spec.c */ bazaar-org-bazaar-917017d/bge/wdgt/bge-wdgt-spec.h000066400000000000000000000034141523447664000215730ustar00rootroot00000000000000/* bge-wdgt-spec.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #ifndef BGE_INSIDE #error "Only can be included directly." #endif G_BEGIN_DECLS #define BGE_TYPE_WDGT_SPEC (bge_wdgt_spec_get_type ()) G_DECLARE_FINAL_TYPE (BgeWdgtSpec, bge_wdgt_spec, BGE, WDGT_SPEC, GObject) BGE_AVAILABLE_IN_ALL BgeWdgtSpec * bge_wdgt_spec_new (void); BGE_AVAILABLE_IN_ALL BgeWdgtSpec * bge_wdgt_spec_new_for_string (const char *string, GError **error); BGE_AVAILABLE_IN_ALL BgeWdgtSpec * bge_wdgt_spec_new_for_resource (const char *resource, GError **error); BGE_AVAILABLE_IN_ALL const char * bge_wdgt_spec_get_name (BgeWdgtSpec *self); BGE_AVAILABLE_IN_ALL void bge_wdgt_spec_set_name (BgeWdgtSpec *self, const char *name); BGE_AVAILABLE_IN_ALL void bge_wdgt_spec_set_name_take (BgeWdgtSpec *self, char *name); #define bge_wdgt_spec_set_name_take_printf(self, ...) bge_wdgt_spec_set_name_take (self, g_strdup_printf (__VA_ARGS__)) G_END_DECLS /* End of bge-wdgt-spec.h */ bazaar-org-bazaar-917017d/bge/wdgt/fmt/000077500000000000000000000000001523447664000175565ustar00rootroot00000000000000bazaar-org-bazaar-917017d/bge/wdgt/fmt/meson.build000066400000000000000000000000461523447664000217200ustar00rootroot00000000000000bge_sources += files( 'parser.c', ) bazaar-org-bazaar-917017d/bge/wdgt/fmt/parser.c000066400000000000000000003302731523447664000212260ustar00rootroot00000000000000/* parser.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BGE::WDGT-PARSE" #include #include #include "../bge-wdgt-spec-private.h" #include "../util/marshal.h" #include "bge-marshalers.h" #include "parser.h" #include "util.h" #define IS_EOF(_p) ((_p) == NULL || *(_p) == '\0') #define SINGLE_CHAR_TOKENS "{}()=:;," #define EVAL_SINGLE_CHAR_TOKENS "#(),+-*/^%" #define STR_DEFARRAY "defarray" #define STR_DEFWIDGET "defwidget" #define STR_FOREACH "%FOREACH" #define STR_VARIABLE "var" #define STR_REFERENCE "reference" #define STR_INIT "init" #define STR_STATE "state" #define STR_DEFAULT_STATE "state-default" #define STR_SET "set" #define STR_TRANSITION "transition" #define STR_TRANSITION_SPRING "transition-spring" #define STR_ALLOCATE "allocate" #define STR_MEASURE "measure" #define STR_SNAPSHOT "snapshot" typedef enum { TOKEN_PARSE_DEFAULT = 0, TOKEN_PARSE_QUOTED = 1 << 0, } TokenParseFlags; typedef enum { ARGS_PARSE_PARENS = 0, ARGS_PARSE_LEFT_ASSIGN, ARGS_PARSE_RIGHT_ASSIGN, } ArgsParseKind; typedef enum { OPERATOR_ADD = 0, OPERATOR_SUBTRACT, OPERATOR_MULTIPLY, OPERATOR_DIVIDE, OPERATOR_MODULUS, OPERATOR_POWER, } Operator; static const int operator_precedence[] = { [OPERATOR_ADD] = 0, [OPERATOR_SUBTRACT] = 0, [OPERATOR_MULTIPLY] = 1, [OPERATOR_DIVIDE] = 1, [OPERATOR_MODULUS] = 1, [OPERATOR_POWER] = 2, }; typedef struct { Operator op; guint pos; } EvalOperator; BGE_DEFINE_DATA ( eval_closure, EvalClosure, { GArray *ops; gdouble *workbuf0; gdouble *workbuf1; }, BGE_RELEASE_DATA (ops, g_array_unref); BGE_RELEASE_DATA (workbuf0, g_free); BGE_RELEASE_DATA (workbuf1, g_free)); static BgeWdgtSpec * parse_string_inner (const char *string, guint *line, guint *column, GError **error); static const char * parse_widget_block (const char *p, BgeWdgtSpec *spec, GHashTable *macro_arrays, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, GError **error); static const char * parse_snapshot_block (const char *p, BgeWdgtSpec *spec, const char *state, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, GError **error); static const char * parse_eval (const char *p, BgeWdgtSpec *spec, const char *state, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, char **value_out, GError **error); static const char * parse_args (const char *p, BgeWdgtSpec *spec, const char *state, const char *enclosing_object, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, const char *const *destinations, GType destinations_types[], guint n_destinations, char ***values_out, GType **types_out, guint *n_out, ArgsParseKind parse_kind, GError **error); static char * parse_token_fundamental (const char *token, BgeWdgtSpec *spec, guint *n_anon_vals, guint *line, guint *column, GError **error); static char * consume_token (const char **pp, const char *single_chars, TokenParseFlags flags, gboolean *was_quoted, GHashTable *macro_replacements, guint *line, guint *column, GError **error); static char * consume_token_inner (const char **pp, const char *single_chars, TokenParseFlags flags, gboolean *was_quoted, guint *line, guint *column, GError **error); static gdouble eval_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data); static char * make_object_property_name (const char *object, const char *property, guint n); static char * make_widget_allocation_name (const char *widget, guint n); static char * make_widget_measurement_name (guint n); static char * make_anon_name (guint n); static gint cmp_operator (EvalOperator *a, EvalOperator *b); BgeWdgtSpec * bge_wdgt_parse_string (const char *string, GError **error) { g_autoptr (GError) local_error = NULL; guint line = 0; guint column = 0; g_autoptr (BgeWdgtSpec) spec = NULL; g_return_val_if_fail (string != NULL, FALSE); spec = parse_string_inner (string, &line, &column, &local_error); if (spec == NULL) { g_set_error ( error, local_error->domain, local_error->code, "wdgt parser error in string input " "at line:%u, offset:%u : %s", line, column, local_error->message); return NULL; } return g_steal_pointer (&spec); } static BgeWdgtSpec * parse_string_inner (const char *string, guint *line, guint *column, GError **error) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autoptr (BgeWdgtSpec) spec = NULL; g_autoptr (GHashTable) macro_arrays = NULL; g_autoptr (GHashTable) macro_replacements = NULL; guint n_anon_vals = 0; g_autoptr (GHashTable) type_hints = NULL; spec = bge_wdgt_spec_new (); macro_arrays = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_ptr_array_unref); macro_replacements = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, g_free); type_hints = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, NULL); #define RETURN_ERROR_UNLESS(_cond) \ G_STMT_START \ { \ if (!(_cond)) \ { \ g_set_error ( \ error, \ G_IO_ERROR, \ G_IO_ERROR_UNKNOWN, \ "%s", \ local_error != NULL \ ? local_error->message \ : "???"); \ return NULL; \ } \ } \ G_STMT_END #define EXPECT_TOKEN(_string, _token) \ G_STMT_START \ { \ if (g_strcmp0 ((_string), (_token)) != 0) \ { \ g_set_error ( \ error, \ G_IO_ERROR, \ G_IO_ERROR_UNKNOWN, \ "expected token \"%s\", got \"%s\"", \ (_token), (_string)); \ return NULL; \ } \ } \ G_STMT_END #define UNEXPECTED_TOKEN(_token) \ G_STMT_START \ { \ g_set_error ( \ error, \ G_IO_ERROR, \ G_IO_ERROR_UNKNOWN, \ "unexpected token \"%s\"", (_token)); \ return NULL; \ } \ G_STMT_END result = bge_wdgt_spec_add_measure_for_size_source_value ( spec, "%for-size%", &local_error); RETURN_ERROR_UNLESS (result); g_hash_table_replace ( type_hints, g_strdup ("%for-size%"), GSIZE_TO_POINTER (G_TYPE_INT)); result = bge_wdgt_spec_add_widget_width_source_value ( spec, "%width%", &local_error); RETURN_ERROR_UNLESS (result); g_hash_table_replace ( type_hints, g_strdup ("%width%"), GSIZE_TO_POINTER (G_TYPE_INT)); result = bge_wdgt_spec_add_widget_height_source_value ( spec, "%height%", &local_error); RETURN_ERROR_UNLESS (result); g_hash_table_replace ( type_hints, g_strdup ("%height%"), GSIZE_TO_POINTER (G_TYPE_INT)); result = bge_wdgt_spec_add_tick_time_source_value ( spec, "%tick%", &local_error); RETURN_ERROR_UNLESS (result); g_hash_table_replace ( type_hints, g_strdup ("%tick%"), GSIZE_TO_POINTER (G_TYPE_DOUBLE)); for (const char *p = string; !IS_EOF (p);) { g_autofree char *token = NULL; token = consume_token ( &p, SINGLE_CHAR_TOKENS, TOKEN_PARSE_DEFAULT, NULL, NULL, line, column, NULL); if (token == NULL) break; #define GET_TOKEN_FULL(_token_out, _flags, _single_chars, _was_quoted) \ G_STMT_START \ { \ g_clear_pointer ((_token_out), g_free); \ *(_token_out) = consume_token ( \ &p, \ (_single_chars), \ (_flags), \ (_was_quoted), \ macro_replacements, \ line, column, \ &local_error); \ RETURN_ERROR_UNLESS (*(_token_out) != NULL); \ } \ G_STMT_END #define GET_TOKEN(_token_out, _flags) \ GET_TOKEN_FULL (_token_out, _flags, SINGLE_CHAR_TOKENS, NULL) #define GET_TOKEN_EXPECT(_token_out, _flags, _expect) \ G_STMT_START \ { \ GET_TOKEN ((_token_out), (_flags)); \ EXPECT_TOKEN (*(_token_out), (_expect)); \ } \ G_STMT_END if (g_strcmp0 (token, STR_DEFWIDGET) == 0) { g_autofree char *widget_name = NULL; GET_TOKEN (&widget_name, TOKEN_PARSE_QUOTED); bge_wdgt_spec_set_name (spec, widget_name); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); p = parse_widget_block ( p, spec, macro_arrays, macro_replacements, &n_anon_vals, type_hints, line, column, &local_error); RETURN_ERROR_UNLESS (p != NULL); } else if (g_strcmp0 (token, STR_DEFARRAY) == 0) { g_autofree char *array_name = NULL; guint n_elements = 0; g_auto (GStrv) elements = NULL; g_autoptr (GPtrArray) array = NULL; GET_TOKEN (&array_name, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, NULL, NULL, macro_replacements, &n_anon_vals, type_hints, line, column, NULL, NULL, 0, &elements, NULL, &n_elements, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); array = g_ptr_array_new_take_null_terminated ( (gpointer *) g_steal_pointer (&elements), g_free); g_hash_table_replace ( macro_arrays, g_steal_pointer (&array_name), g_steal_pointer (&array)); } else UNEXPECTED_TOKEN (token); } return g_steal_pointer (&spec); } static const char * parse_widget_block (const char *p, BgeWdgtSpec *spec, GHashTable *macro_arrays, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, GError **error) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *token = NULL; for (;;) { GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (token, "}") == 0) return p; else if (g_strcmp0 (token, STR_FOREACH) == 0) { g_autofree char *var_name = NULL; g_autofree char *iterator_name = NULL; g_autofree char *iterator_paste_name = NULL; g_autofree char *array_name = NULL; GPtrArray *array = NULL; const char *fixed_p = NULL; GET_TOKEN (&var_name, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ","); GET_TOKEN (&iterator_name, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ","); GET_TOKEN (&iterator_paste_name, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "IN"); GET_TOKEN (&array_name, TOKEN_PARSE_DEFAULT); array = g_hash_table_lookup (macro_arrays, array_name); if (array == NULL) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "macro array \"%s\" is undefined", array_name); return NULL; } GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); fixed_p = p; for (guint i = 0; i < array->len; i++) { const char *element = NULL; g_autofree char *iterator = NULL; g_autofree char *iterator_paste = NULL; GValue iter_value = G_VALUE_INIT; element = g_ptr_array_index (array, i); g_hash_table_replace ( macro_replacements, g_strdup (var_name), g_strdup (element)); iterator = make_anon_name ((*n_anon_vals)++); g_value_set_uint (g_value_init (&iter_value, G_TYPE_UINT), i); result = bge_wdgt_spec_add_constant_source_value ( spec, iterator, &iter_value, &local_error); g_value_unset (&iter_value); RETURN_ERROR_UNLESS (result); g_hash_table_replace ( macro_replacements, g_strdup (iterator_name), g_steal_pointer (&iterator)); iterator_paste = g_strdup_printf ("%u", i); g_hash_table_replace ( macro_replacements, g_strdup (iterator_paste_name), g_steal_pointer (&iterator_paste)); p = parse_widget_block ( fixed_p, spec, macro_arrays, macro_replacements, n_anon_vals, type_hints, line, column, &local_error); RETURN_ERROR_UNLESS (p != NULL); } g_hash_table_remove (macro_replacements, var_name); g_hash_table_remove (macro_replacements, iterator_name); g_hash_table_remove (macro_replacements, iterator_paste_name); } else if (g_strcmp0 (token, STR_VARIABLE) == 0) { g_autofree char *name = NULL; g_autofree char *type_string = NULL; GType type = 0; GET_TOKEN (&name, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ":"); GET_TOKEN (&type_string, TOKEN_PARSE_QUOTED); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ";"); type = g_type_from_name (type_string); result = bge_wdgt_spec_add_variable_value ( spec, type, name, &local_error); RETURN_ERROR_UNLESS (result); g_hash_table_replace (type_hints, g_steal_pointer (&name), GSIZE_TO_POINTER (type)); } else if (g_strcmp0 (token, STR_REFERENCE) == 0) { g_autofree char *name = NULL; g_autofree char *type_string = NULL; GType type = 0; GET_TOKEN (&name, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ":"); GET_TOKEN (&type_string, TOKEN_PARSE_QUOTED); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ";"); type = g_type_from_name (type_string); result = bge_wdgt_spec_add_reference_object_value ( spec, type, name, &local_error); RETURN_ERROR_UNLESS (result); g_hash_table_replace (type_hints, g_steal_pointer (&name), GSIZE_TO_POINTER (type)); } else if (g_strcmp0 (token, STR_INIT) == 0 || g_strcmp0 (token, STR_STATE) == 0 || g_strcmp0 (token, STR_DEFAULT_STATE) == 0) { g_autofree char *state_name = NULL; if (g_strcmp0 (token, STR_INIT) != 0) { GET_TOKEN (&state_name, TOKEN_PARSE_QUOTED); result = bge_wdgt_spec_add_state ( spec, state_name, g_strcmp0 (token, STR_DEFAULT_STATE) == 0, &local_error); /* TODO: allow states to be redefined for macros, so they are just concatenated */ g_clear_error (&local_error); // RETURN_ERROR_UNLESS (result); } GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); for (;;) { GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (token, "}") == 0) break; else if (g_strcmp0 (token, STR_SNAPSHOT) == 0) { GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); p = parse_snapshot_block (p, spec, state_name, macro_replacements, n_anon_vals, type_hints, line, column, &local_error); RETURN_ERROR_UNLESS (p != NULL); } else if (g_strcmp0 (token, STR_SET) == 0) { guint n_dest_values = 0; g_auto (GStrv) dest_values = NULL; g_autofree GType *dest_types = NULL; guint n_src_values = 0; g_auto (GStrv) src_values = NULL; p = parse_args (p, spec, state_name, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, NULL, 0, &dest_values, &dest_types, &n_dest_values, ARGS_PARSE_LEFT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_dest_values == 0) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Left assignment needs at least one argument"); return NULL; } p = parse_args (p, spec, state_name, NULL, macro_replacements, n_anon_vals, type_hints, line, column, (const char *const *) dest_values, dest_types, n_dest_values, &src_values, NULL, &n_src_values, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_src_values != n_dest_values) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Right assignment needs %d argument(s) " "to match the left side", n_dest_values); return NULL; } for (guint i = 0; i < n_dest_values; i++) { result = bge_wdgt_spec_set_value ( spec, state_name, dest_values[i], src_values[i], &local_error); RETURN_ERROR_UNLESS (result); } } else if (g_strcmp0 (token, STR_TRANSITION) == 0) { g_autofree char *transition_value = NULL; guint n_spec_values = 0; g_auto (GStrv) spec_values = NULL; GET_TOKEN (&transition_value, TOKEN_PARSE_DEFAULT); p = parse_args (p, spec, state_name, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_DOUBLE, BGE_TYPE_EASING }, 2, &spec_values, NULL, &n_spec_values, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_spec_values != 2) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "transition spec needs 2 arguments " "(animation length in seconds, easing type), got %u", n_spec_values); return NULL; } result = bge_wdgt_spec_transition_value ( spec, state_name, transition_value, spec_values[0], spec_values[1], &local_error); RETURN_ERROR_UNLESS (result); } else if (g_strcmp0 (token, STR_TRANSITION_SPRING) == 0) { g_autofree char *transition_value = NULL; guint n_spec_values = 0; g_auto (GStrv) spec_values = NULL; GET_TOKEN (&transition_value, TOKEN_PARSE_DEFAULT); p = parse_args (p, spec, state_name, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE }, 3, &spec_values, NULL, &n_spec_values, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_spec_values != 3) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "spring transition spec needs 3 arguments " "(damping-ratio, mass, stiffness), got %u", n_spec_values); return NULL; } result = bge_wdgt_spec_transition_value_spring ( spec, state_name, transition_value, spec_values[0], spec_values[1], spec_values[2], &local_error); RETURN_ERROR_UNLESS (result); } else if (g_strcmp0 (token, STR_ALLOCATE) == 0) { g_autofree char *child_value = NULL; guint n_allocation_values = 0; g_auto (GStrv) allocation_values = NULL; GET_TOKEN (&child_value, TOKEN_PARSE_DEFAULT); p = parse_args (p, spec, state_name, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_INT, G_TYPE_INT, GSK_TYPE_TRANSFORM }, 3, &allocation_values, NULL, &n_allocation_values, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_allocation_values != 2 && n_allocation_values != 3) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "allocation needs 2 or 3 values, a width " "and height and one transform, got %u", n_allocation_values); return NULL; } for (guint i = 0; i < n_allocation_values; i++) { g_autofree char *allocation_key = NULL; allocation_key = make_widget_allocation_name (child_value, (*n_anon_vals)++); switch (i) { case 0: result = bge_wdgt_spec_add_allocation_width_value ( spec, allocation_key, child_value, &local_error); break; case 1: result = bge_wdgt_spec_add_allocation_height_value ( spec, allocation_key, child_value, &local_error); break; case 2: result = bge_wdgt_spec_add_allocation_transform_value ( spec, allocation_key, child_value, &local_error); break; default: g_assert_not_reached (); } RETURN_ERROR_UNLESS (result); result = bge_wdgt_spec_set_value ( spec, state_name, allocation_key, allocation_values[i], &local_error); RETURN_ERROR_UNLESS (result); } } else if (g_strcmp0 (token, STR_MEASURE) == 0) { guint n_measurement_values = 0; g_auto (GStrv) measurement_values = NULL; p = parse_args (p, spec, state_name, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT }, 4, &measurement_values, NULL, &n_measurement_values, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_measurement_values != 4) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "measurement needs 4 values, a " "minimum width, " "natural width, " "minimum height, " "and " "natural height, " "got %u", n_measurement_values); return NULL; } for (guint i = 0; i < n_measurement_values; i++) { g_autofree char *measurement_key = NULL; measurement_key = make_widget_measurement_name ((*n_anon_vals)++); switch (i) { case 0: result = bge_wdgt_spec_add_measure_value ( spec, measurement_key, BGE_WDGT_MEASURE_MINIMUM_WIDTH, &local_error); break; case 1: result = bge_wdgt_spec_add_measure_value ( spec, measurement_key, BGE_WDGT_MEASURE_NATURAL_WIDTH, &local_error); break; case 2: result = bge_wdgt_spec_add_measure_value ( spec, measurement_key, BGE_WDGT_MEASURE_MINIMUM_HEIGHT, &local_error); break; case 3: result = bge_wdgt_spec_add_measure_value ( spec, measurement_key, BGE_WDGT_MEASURE_NATURAL_HEIGHT, &local_error); break; default: g_assert_not_reached (); } RETURN_ERROR_UNLESS (result); result = bge_wdgt_spec_set_value ( spec, state_name, measurement_key, measurement_values[i], &local_error); RETURN_ERROR_UNLESS (result); } } else UNEXPECTED_TOKEN (token); } } else UNEXPECTED_TOKEN (token); } return p; } static const char * parse_snapshot_block (const char *p, BgeWdgtSpec *spec, const char *state, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, GError **error) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *token = NULL; for (;;) { g_autofree char *action = NULL; BgeWdgtSnapshotInstrKind kind = 0; g_autofree char *instr = NULL; guint n_args = 0; g_auto (GStrv) args = NULL; guint n_pops = 0; GET_TOKEN (&action, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (action, "}") == 0) break; else if (g_strcmp0 (action, "foreach") == 0) { g_autofree char *var = NULL; g_autofree char *element_type_string = NULL; g_autofree char *idx_var = NULL; g_autofree char *model = NULL; GType element_type = G_TYPE_INVALID; GET_TOKEN (&var, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ":"); GET_TOKEN (&element_type_string, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ","); GET_TOKEN (&idx_var, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "in"); GET_TOKEN (&model, TOKEN_PARSE_DEFAULT); element_type = g_type_from_name (element_type_string); result = bge_wdgt_spec_push_foreach ( spec, model, var, idx_var, element_type, &local_error); RETURN_ERROR_UNLESS (result); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); p = parse_snapshot_block (p, spec, state, macro_replacements, n_anon_vals, type_hints, line, column, &local_error); RETURN_ERROR_UNLESS (p != NULL); bge_wdgt_spec_pop_foreach (spec); continue; } else if (g_strcmp0 (action, "save") == 0) kind = BGE_WDGT_SNAPSHOT_INSTR_SAVE; else if (g_strcmp0 (action, "with") == 0) kind = BGE_WDGT_SNAPSHOT_INSTR_PUSH; else if (g_strcmp0 (action, "add") == 0) kind = BGE_WDGT_SNAPSHOT_INSTR_APPEND; else if (g_strcmp0 (action, "move") == 0) kind = BGE_WDGT_SNAPSHOT_INSTR_TRANSFORM; else if (g_strcmp0 (action, "do-child") == 0) kind = BGE_WDGT_SNAPSHOT_INSTR_SNAPSHOT_CHILD; else UNEXPECTED_TOKEN (action); if (kind == BGE_WDGT_SNAPSHOT_INSTR_SAVE) { result = bge_wdgt_spec_append_snapshot_instr ( spec, state, BGE_WDGT_SNAPSHOT_INSTR_SAVE, "save", NULL, 0, NULL, &local_error); RETURN_ERROR_UNLESS (result); } else if (kind == BGE_WDGT_SNAPSHOT_INSTR_SNAPSHOT_CHILD) { p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, NULL, 0, &args, NULL, &n_args, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); result = bge_wdgt_spec_append_snapshot_instr ( spec, state, BGE_WDGT_SNAPSHOT_INSTR_SNAPSHOT_CHILD, "do-child", (const char *const *) args, n_args, NULL, &local_error); RETURN_ERROR_UNLESS (result); } else { GET_TOKEN (&instr, TOKEN_PARSE_DEFAULT); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, NULL, 0, &args, NULL, &n_args, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); result = bge_wdgt_spec_append_snapshot_instr ( spec, state, kind, instr, (const char *const *) args, n_args, &n_pops, &local_error); RETURN_ERROR_UNLESS (result); } if (kind == BGE_WDGT_SNAPSHOT_INSTR_APPEND || kind == BGE_WDGT_SNAPSHOT_INSTR_TRANSFORM) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ";"); else if (kind == BGE_WDGT_SNAPSHOT_INSTR_PUSH) { for (guint i = 0; i < n_pops; i++) { if (i > 0) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "then"); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); p = parse_snapshot_block (p, spec, state, macro_replacements, n_anon_vals, type_hints, line, column, &local_error); RETURN_ERROR_UNLESS (p != NULL); result = bge_wdgt_spec_append_snapshot_instr ( spec, state, BGE_WDGT_SNAPSHOT_INSTR_POP, "pop", NULL, 0, NULL, &local_error); RETURN_ERROR_UNLESS (result); } } else if (kind == BGE_WDGT_SNAPSHOT_INSTR_SAVE) { GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "{"); p = parse_snapshot_block (p, spec, state, macro_replacements, n_anon_vals, type_hints, line, column, &local_error); RETURN_ERROR_UNLESS (p != NULL); result = bge_wdgt_spec_append_snapshot_instr ( spec, state, BGE_WDGT_SNAPSHOT_INSTR_RESTORE, "restore", NULL, 0, NULL, &local_error); RETURN_ERROR_UNLESS (result); } } return p; } static gdouble floor_closure (gpointer this, gdouble x, gpointer data) { return floor (x); } static gdouble ceil_closure (gpointer this, gdouble x, gpointer data) { return ceil (x); } static gdouble sin_closure (gpointer this, gdouble x, gpointer data) { return sin (x); } static gdouble cos_closure (gpointer this, gdouble x, gpointer data) { return cos (x); } static const char * parse_eval (const char *p, BgeWdgtSpec *spec, const char *state, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, char **value_out, GError **error) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *token = NULL; g_autoptr (GPtrArray) values = NULL; g_autoptr (GArray) ops = NULL; g_autoptr (GArray) value_types = NULL; g_autofree char *key = NULL; g_autoptr (EvalClosureData) data = NULL; values = g_ptr_array_new_with_free_func (g_free); ops = g_array_new (FALSE, FALSE, sizeof (EvalOperator)); value_types = g_array_new (FALSE, FALSE, sizeof (GType)); #define GET_TOKEN_EVAL(_token_out, _flags) \ GET_TOKEN_FULL (_token_out, _flags, EVAL_SINGLE_CHAR_TOKENS, NULL) #define GET_TOKEN_EVAL_EXPECT(_token_out, _flags, _expect) \ G_STMT_START \ { \ GET_TOKEN_EVAL ((_token_out), (_flags)); \ EXPECT_TOKEN (*(_token_out), (_expect)); \ } \ G_STMT_END for (gboolean apply_negative = FALSE;;) { g_autofree char *value = NULL; Operator op = -1; gboolean expected_value = FALSE; GET_TOKEN_EVAL (&token, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (token, ")") == 0) break; else if (g_strcmp0 (token, "(") == 0) { p = parse_eval (p, spec, state, macro_replacements, n_anon_vals, type_hints, line, column, &value, &local_error); RETURN_ERROR_UNLESS (p != NULL); } else if (g_strcmp0 (token, "#") == 0) { g_auto (GStrv) escape_args = NULL; guint n_escape_args = 0; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_DOUBLE }, 1, &escape_args, NULL, &n_escape_args, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_escape_args != 1) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "evaluation escape " "needs a single argument"); return NULL; } value = g_strdup (escape_args[0]); } else if (g_strcmp0 (token, "ceil") == 0 || g_strcmp0 (token, "floor") == 0 || g_strcmp0 (token, "sin") == 0 || g_strcmp0 (token, "cos") == 0) { GCallback cb = NULL; g_autofree char *arg = NULL; g_autofree char *math_func_key = NULL; if (g_strcmp0 (token, "ceil") == 0) cb = G_CALLBACK (ceil_closure); else if (g_strcmp0 (token, "floor") == 0) cb = G_CALLBACK (floor_closure); else if (g_strcmp0 (token, "sin") == 0) cb = G_CALLBACK (sin_closure); else if (g_strcmp0 (token, "cos") == 0) cb = G_CALLBACK (cos_closure); GET_TOKEN_EVAL_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_eval (p, spec, state, macro_replacements, n_anon_vals, type_hints, line, column, &arg, &local_error); RETURN_ERROR_UNLESS (p != NULL); math_func_key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, math_func_key, G_TYPE_DOUBLE, bge_marshal_DOUBLE__DOUBLE, cb, (const char *const[]){ arg }, (GType[]){ G_TYPE_DOUBLE }, 1, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (result); value = g_steal_pointer (&math_func_key); } else if (g_strcmp0 (token, "+") == 0) op = OPERATOR_ADD; else if (g_strcmp0 (token, "-") == 0) op = OPERATOR_SUBTRACT; else if (g_strcmp0 (token, "*") == 0) op = OPERATOR_MULTIPLY; else if (g_strcmp0 (token, "/") == 0) op = OPERATOR_DIVIDE; else if (g_strcmp0 (token, "%") == 0) op = OPERATOR_MODULUS; else if (g_strcmp0 (token, "^") == 0) op = OPERATOR_POWER; else { value = parse_token_fundamental ( token, spec, n_anon_vals, line, column, &local_error); RETURN_ERROR_UNLESS (value != NULL); } expected_value = values->len == ops->len; if (value != NULL) { GType type_double = G_TYPE_DOUBLE; if (!expected_value) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Expected operator, got \"%s\"", token); return NULL; } if (apply_negative) { GValue gvalue = G_VALUE_INIT; g_autofree char *negative_key = NULL; EvalOperator append = { 0 }; g_value_set_double (g_value_init (&gvalue, G_TYPE_DOUBLE), -1.0); negative_key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_constant_source_value ( spec, negative_key, &gvalue, &local_error); g_value_unset (&gvalue); RETURN_ERROR_UNLESS (result); g_ptr_array_add (values, g_steal_pointer (&negative_key)); g_array_append_val (value_types, type_double); append.op = OPERATOR_MULTIPLY; append.pos = ops->len; g_array_append_val (ops, append); apply_negative = FALSE; } g_ptr_array_add (values, g_steal_pointer (&value)); g_array_append_val (value_types, type_double); } else if (op >= 0) { EvalOperator append = { 0 }; if (expected_value) { if (op == OPERATOR_SUBTRACT) apply_negative = !apply_negative; else if (op != OPERATOR_ADD) /* Allow adding `+` in front of numbers for alignment with negatives etc */ { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Expected value, got \"%s\"", token); return NULL; } } else { append.op = op; append.pos = ops->len; g_array_append_val (ops, append); } } } if (values->len == 0) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Empty evaluation block"); return NULL; } if (ops->len != values->len - 1) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Invalid syntax in evaluation block"); return NULL; } if (values->len == 1) { *value_out = g_ptr_array_steal_index (values, 0); return p; } g_array_sort (ops, (GCompareFunc) cmp_operator); data = eval_closure_data_new (); data->ops = g_array_ref (ops); data->workbuf0 = g_malloc0_n (values->len, sizeof (gdouble)); data->workbuf1 = g_malloc0_n (values->len, sizeof (gdouble)); key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, key, G_TYPE_DOUBLE, _marshal_DOUBLE__ARGS_DIRECT, G_CALLBACK (eval_closure), (const char *const *) values->pdata, (const GType *) (void *) value_types->data, values->len, eval_closure_data_ref (data), eval_closure_data_unref, &local_error); RETURN_ERROR_UNLESS (result); *value_out = g_steal_pointer (&key); return p; } static gboolean not_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { for (guint i = 0; i < n_param_values; i++) { if (!g_value_get_boolean (¶m_values[i])) return TRUE; } return FALSE; } static gboolean and_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { for (guint i = 0; i < n_param_values; i++) { if (!g_value_get_boolean (¶m_values[i])) return FALSE; } return TRUE; } static gboolean or_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { for (guint i = 0; i < n_param_values; i++) { if (g_value_get_boolean (¶m_values[i])) return TRUE; } return FALSE; } static gboolean lt_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(cmp_with < g_value_get_double (¶m_values[i]))) return FALSE; } return TRUE; } static gboolean gt_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(cmp_with > g_value_get_double (¶m_values[i]))) return FALSE; } return TRUE; } static gboolean lte_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(cmp_with <= g_value_get_double (¶m_values[i]))) return FALSE; } return TRUE; } static gboolean gte_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(cmp_with >= g_value_get_double (¶m_values[i]))) return FALSE; } return TRUE; } static gboolean eq_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(cmp_with == g_value_get_double (¶m_values[i]))) return FALSE; } return TRUE; } static gboolean neq_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(cmp_with != g_value_get_double (¶m_values[i]))) return FALSE; } return TRUE; } static gboolean aeq_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(G_APPROX_VALUE (cmp_with, g_value_get_double (¶m_values[i]), 0.00001))) return FALSE; } return TRUE; } static gboolean aneq_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { gdouble cmp_with = 0.0; cmp_with = g_value_get_double (param_values); for (guint i = 1; i < n_param_values; i++) { if (!(!G_APPROX_VALUE (cmp_with, g_value_get_double (¶m_values[i]), 0.00001))) return FALSE; } return TRUE; } static void ifelse_closure (gpointer this, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer dest_type_ptr) { if (g_value_get_boolean (param_values)) g_value_copy (¶m_values[1], return_value); else g_value_copy (¶m_values[2], return_value); } static void measure_path_closure (gpointer this, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer dest_type_ptr) { GskPathMeasure *measure = NULL; measure = gsk_path_measure_new ( g_value_get_boxed (param_values)); g_value_take_boxed (return_value, measure); } static void path_length_closure (gpointer this, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer dest_type_ptr) { gdouble length = 0.0; length = gsk_path_measure_get_length ( g_value_get_boxed (param_values)); g_value_set_double (return_value, length); } static void path_point_closure (gpointer this, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer dest_type_ptr) { gboolean result = FALSE; GskPathPoint point = { 0 }; result = gsk_path_measure_get_point ( g_value_get_boxed (¶m_values[0]), g_value_get_double (¶m_values[1]), &point); if (!result) return; g_value_set_boxed (return_value, &point); } static const char * parse_args (const char *p, BgeWdgtSpec *spec, const char *state, const char *enclosing_object, GHashTable *macro_replacements, guint *n_anon_vals, GHashTable *type_hints, guint *line, guint *column, const char *const *destinations, GType destinations_types[], guint n_destinations, char ***values_out, GType **types_out, guint *n_out, ArgsParseKind parse_kind, GError **error) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *token = NULL; guint n_args = 0; g_autoptr (GStrvBuilder) builder = NULL; g_autoptr (GArray) types_array = NULL; builder = g_strv_builder_new (); types_array = g_array_new (FALSE, TRUE, sizeof (GType)); for (gboolean need_comma = FALSE, get_token = TRUE, was_quoted = FALSE; ;) { if (get_token) GET_TOKEN_FULL (&token, TOKEN_PARSE_DEFAULT, SINGLE_CHAR_TOKENS, &was_quoted); get_token = TRUE; if (was_quoted) { g_autofree char *tmp_token = NULL; g_autofree char *key = NULL; GValue value = { 0 }; g_value_set_string (g_value_init (&value, G_TYPE_STRING), token); key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_constant_source_value ( spec, key, &value, &local_error); g_value_unset (&value); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if ((parse_kind == ARGS_PARSE_LEFT_ASSIGN && g_strcmp0 (token, "=") == 0) || (parse_kind == ARGS_PARSE_RIGHT_ASSIGN && g_strcmp0 (token, ";") == 0) || (parse_kind == ARGS_PARSE_PARENS && g_strcmp0 (token, ")") == 0)) break; else if (need_comma) { if (g_strcmp0 (token, ",") == 0) { need_comma = FALSE; continue; } else { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Arguments must be comma-separated"); return NULL; } } else if (g_strcmp0 (token, "_") == 0 || g_strcmp0 (token, "C_") == 0) /* gettext translations */ { gboolean have_context = FALSE; g_autofree char *context_text = NULL; g_autofree char *source_text = NULL; GValue value = G_VALUE_INIT; g_autofree char *key = NULL; have_context = g_strcmp0 (token, "C_") == 0; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); if (have_context) { GET_TOKEN (&context_text, TOKEN_PARSE_QUOTED); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ","); } GET_TOKEN (&source_text, TOKEN_PARSE_QUOTED); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ")"); g_value_init (&value, G_TYPE_STRING); if (have_context) { g_autofree char *query = NULL; query = g_strdup_printf ("%s\004%s", context_text, source_text); g_value_set_string (&value, g_dpgettext (NULL, query, strlen (context_text) + 1)); } else g_value_set_string (&value, gettext (source_text)); key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_constant_source_value ( spec, key, &value, &local_error); g_value_unset (&value); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#eval") == 0) { g_autofree char *key = NULL; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_eval (p, spec, state, macro_replacements, n_anon_vals, type_hints, line, column, &key, &local_error); RETURN_ERROR_UNLESS (p != NULL); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#not") == 0 || g_strcmp0 (token, "#!") == 0 || g_strcmp0 (token, "#and") == 0 || g_strcmp0 (token, "#or") == 0 || g_strcmp0 (token, "#<") == 0 || g_strcmp0 (token, "#>") == 0 || g_strcmp0 (token, "#eq") == 0 || g_strcmp0 (token, "#eq") == 0 || g_strcmp0 (token, "#neq") == 0 || g_strcmp0 (token, "#~eq") == 0 || g_strcmp0 (token, "#~neq") == 0) { g_autofree char *key = NULL; GCallback cb = NULL; GType all_type = G_TYPE_INVALID; guint require_n_cmp_values = 0; guint n_cmp_values = 0; g_auto (GStrv) cmp_values = NULL; g_autofree GType *all_types = NULL; if (g_strcmp0 (token, "#not") == 0 || g_strcmp0 (token, "#!") == 0) { cb = G_CALLBACK (not_closure); all_type = G_TYPE_BOOLEAN; require_n_cmp_values = 1; } else if (g_strcmp0 (token, "#and") == 0) { cb = G_CALLBACK (and_closure); all_type = G_TYPE_BOOLEAN; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#or") == 0) { cb = G_CALLBACK (or_closure); all_type = G_TYPE_BOOLEAN; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#<") == 0) { cb = G_CALLBACK (lt_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#>") == 0) { cb = G_CALLBACK (gt_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#eq") == 0) { cb = G_CALLBACK (gte_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#eq") == 0) { cb = G_CALLBACK (eq_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#neq") == 0) { cb = G_CALLBACK (neq_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#~eq") == 0) { cb = G_CALLBACK (aeq_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else if (g_strcmp0 (token, "#~neq") == 0) { cb = G_CALLBACK (aneq_closure); all_type = G_TYPE_DOUBLE; require_n_cmp_values = 2; } else g_assert_not_reached (); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, NULL, 0, &cmp_values, NULL, &n_cmp_values, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_cmp_values < require_n_cmp_values) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "%s() needs at least %u argument(s), " "got %u", token, require_n_cmp_values, n_cmp_values); return NULL; } all_types = g_new (GType, n_cmp_values); for (guint i = 0; i < n_cmp_values; i++) { all_types[i] = all_type; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, key, G_TYPE_BOOLEAN, _marshal_BOOL__ARGS_DIRECT, cb, (const char *const *) cmp_values, all_types, n_cmp_values, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#ifelse") == 0) { g_autofree char *key = NULL; GType type_hint = G_TYPE_INVALID; guint n_expr_values = 0; g_auto (GStrv) expr_values = NULL; g_autofree GType *expr_types = NULL; if (n_args < n_destinations) { if (destinations != NULL) type_hint = GPOINTER_TO_SIZE (g_hash_table_lookup ( type_hints, destinations[n_args])); if (type_hint == G_TYPE_INVALID && destinations_types != NULL) type_hint = destinations_types[n_args]; } GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_BOOLEAN }, 1, &expr_values, &expr_types, &n_expr_values, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_expr_values != 3) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#ifelse() needs exactly 3 argument(s), " "got %u", n_expr_values); return NULL; } if (type_hint == G_TYPE_INVALID) /* Use the return type of the TRUE value and coerce the FALSE value to this if necessary */ type_hint = expr_types[1]; key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, key, type_hint, _marshal_DIRECT__ARGS_DIRECT, G_CALLBACK (ifelse_closure), (const char *const *) expr_values, (GType[]){ G_TYPE_BOOLEAN, type_hint, type_hint }, n_expr_values, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#measure-path") == 0) { g_autofree char *key = NULL; guint n_expr_values = 0; g_auto (GStrv) expr_values = NULL; g_autofree GType *expr_types = NULL; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ GSK_TYPE_PATH }, 1, &expr_values, &expr_types, &n_expr_values, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_expr_values != 1) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#measure-path() needs exactly 1 argument of type %s," "got %u", g_type_name (GSK_TYPE_PATH), n_expr_values); return NULL; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, key, GSK_TYPE_PATH_MEASURE, _marshal_DIRECT__ARGS_DIRECT, G_CALLBACK (measure_path_closure), (const char *const *) expr_values, (GType[]){ GSK_TYPE_PATH }, n_expr_values, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#path-length") == 0) { g_autofree char *key = NULL; guint n_expr_values = 0; g_auto (GStrv) expr_values = NULL; g_autofree GType *expr_types = NULL; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ GSK_TYPE_PATH_MEASURE }, 1, &expr_values, &expr_types, &n_expr_values, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_expr_values != 1) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#path-length() needs exactly 1 argument of type %s," "got %u", g_type_name (GSK_TYPE_PATH_MEASURE), n_expr_values); return NULL; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, key, G_TYPE_DOUBLE, _marshal_DIRECT__ARGS_DIRECT, G_CALLBACK (path_length_closure), (const char *const *) expr_values, (GType[]){ GSK_TYPE_PATH_MEASURE }, n_expr_values, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#path-point") == 0) { g_autofree char *key = NULL; guint n_expr_values = 0; g_auto (GStrv) expr_values = NULL; g_autofree GType *expr_types = NULL; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ GSK_TYPE_PATH_MEASURE, G_TYPE_DOUBLE }, 2, &expr_values, &expr_types, &n_expr_values, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_expr_values != 2) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#path-point() needs exactly 2 arguments " "of types %s and %s," "got %u", g_type_name (GSK_TYPE_PATH_MEASURE), g_type_name (G_TYPE_DOUBLE), n_expr_values); return NULL; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_cclosure_source_value ( spec, key, GSK_TYPE_PATH_POINT, _marshal_DIRECT__ARGS_DIRECT, G_CALLBACK (path_point_closure), (const char *const *) expr_values, (GType[]){ GSK_TYPE_PATH_MEASURE, G_TYPE_DOUBLE }, n_expr_values, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else if (g_strcmp0 (token, "#transition") == 0) { g_autofree char *key = NULL; guint n_spec_values = 0; g_auto (GStrv) spec_values = NULL; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, NULL, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE }, 4, &spec_values, NULL, &n_spec_values, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_spec_values != 4) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#transition() needs 4 arguments " "(variable, damping-ratio, mass, stiffness), " "got %u", n_spec_values); return NULL; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_track_transition_source_value ( spec, key, spec_values[0], spec_values[1], spec_values[2], spec_values[3], &local_error); RETURN_ERROR_UNLESS (result); g_strv_builder_take (builder, g_steal_pointer (&key)); n_args++; need_comma = TRUE; } else { g_autofree char *key = NULL; GType type = G_TYPE_INVALID; if (g_hash_table_contains (type_hints, token) || /* A macro placed this here */ g_utf8_strchr (token, -1, '@') != NULL) key = g_steal_pointer (&token); else { GType type_hint = G_TYPE_INVALID; gboolean expect_closing_paren = FALSE; gboolean is_child = FALSE; gboolean constant = FALSE; GValue value = G_VALUE_INIT; if (n_args < n_destinations) { if (destinations != NULL) type_hint = GPOINTER_TO_SIZE (g_hash_table_lookup ( type_hints, destinations[n_args])); if (type_hint == G_TYPE_INVALID && destinations_types != NULL) type_hint = destinations_types[n_args]; } if (g_str_has_prefix (token, "#")) { const char *type_name = token + 1; if (g_str_has_prefix (type_name, "child/")) { is_child = TRUE; type_name += strlen ("child/"); } if (*type_name == '\0') { if (type_hint == G_TYPE_INVALID) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unable to guess type for value"); return NULL; } type = type_hint; } else { type = g_type_from_name (type_name); if (type == G_TYPE_INVALID) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unknown type name \"%s\"", type_name); return NULL; } } GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); expect_closing_paren = TRUE; } else type = type_hint; if (is_child && !g_type_is_a (type, GTK_TYPE_WIDGET)) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Children must be a widget type"); return NULL; } if (type == G_TYPE_INVALID) { if (expect_closing_paren) GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); key = parse_token_fundamental (token, spec, n_anon_vals, line, column, &local_error); RETURN_ERROR_UNLESS (key != NULL); } else if (type == G_TYPE_STRING) { if (expect_closing_paren) GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); g_value_set_string (g_value_init (&value, G_TYPE_STRING), token); constant = TRUE; if (expect_closing_paren) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ")"); } else if (type == G_TYPE_BOOLEAN) { if (expect_closing_paren) GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (token, "true") == 0) g_value_set_boolean (g_value_init (&value, G_TYPE_BOOLEAN), TRUE); else if (g_strcmp0 (token, "false") == 0) g_value_set_boolean (g_value_init (&value, G_TYPE_BOOLEAN), FALSE); else { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "a boolean value must be 'true' " "or 'false', got \"%s\"", token); return NULL; } constant = TRUE; if (expect_closing_paren) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ")"); } else if (type == G_TYPE_INT || type == G_TYPE_INT64 || type == G_TYPE_UINT || type == G_TYPE_UINT64 || type == G_TYPE_FLOAT || type == G_TYPE_DOUBLE) { const GVariantType *variant_type = NULL; g_autoptr (GVariant) variant = NULL; if (type == G_TYPE_INT) variant_type = G_VARIANT_TYPE_INT32; else if (type == G_TYPE_INT64) variant_type = G_VARIANT_TYPE_INT64; else if (type == G_TYPE_UINT) variant_type = G_VARIANT_TYPE_UINT32; else if (type == G_TYPE_UINT64) variant_type = G_VARIANT_TYPE_UINT64; else if (type == G_TYPE_FLOAT || type == G_TYPE_DOUBLE) variant_type = G_VARIANT_TYPE_DOUBLE; if (expect_closing_paren) GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); variant = g_variant_parse (variant_type, token, NULL, NULL, &local_error); RETURN_ERROR_UNLESS (variant != NULL); if (type == G_TYPE_INT) g_value_set_int (g_value_init (&value, G_TYPE_INT), g_variant_get_int32 (variant)); else if (type == G_TYPE_INT64) g_value_set_int64 (g_value_init (&value, G_TYPE_INT64), g_variant_get_int64 (variant)); else if (type == G_TYPE_UINT) g_value_set_uint (g_value_init (&value, G_TYPE_UINT), g_variant_get_uint32 (variant)); else if (type == G_TYPE_UINT64) g_value_set_uint64 (g_value_init (&value, G_TYPE_UINT64), g_variant_get_uint64 (variant)); else if (type == G_TYPE_FLOAT) g_value_set_float (g_value_init (&value, G_TYPE_FLOAT), g_variant_get_double (variant)); else if (type == G_TYPE_DOUBLE) g_value_set_double (g_value_init (&value, G_TYPE_DOUBLE), g_variant_get_double (variant)); constant = TRUE; if (expect_closing_paren) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ")"); } else if (g_type_is_a (type, G_TYPE_ENUM)) { g_autoptr (GEnumClass) enum_class = NULL; GEnumValue *enum_value = NULL; if (expect_closing_paren) GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); enum_class = g_type_class_ref (type); enum_value = g_enum_get_value_by_nick (enum_class, token); if (enum_value == NULL) enum_value = g_enum_get_value_by_name (enum_class, token); if (enum_value == NULL) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "\"%s\" not found in enum type %s", token, g_type_name (type)); return NULL; } g_value_set_enum (g_value_init (&value, type), enum_value->value); constant = TRUE; if (expect_closing_paren) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ")"); } else if (type == GDK_TYPE_RGBA) { GdkRGBA rgba = { 0 }; if (expect_closing_paren) GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); result = gdk_rgba_parse (&rgba, token); if (!result) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#color() specifier failed to " "parse color from string"); return NULL; } g_value_set_boxed (g_value_init (&value, GDK_TYPE_RGBA), &rgba); constant = TRUE; if (expect_closing_paren) GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ")"); } else if (type == GRAPHENE_TYPE_POINT || type == GRAPHENE_TYPE_SIZE || type == GRAPHENE_TYPE_RECT) { g_auto (GStrv) component_args = NULL; guint n_component_args = 0; GType component_type = 0; if (!expect_closing_paren) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s must be wrapped in #(...)", g_type_name (type)); return NULL; } p = parse_args (p, spec, state, enclosing_object, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE }, 4, &component_args, NULL, &n_component_args, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (type == GRAPHENE_TYPE_POINT) { switch (n_component_args) { case 2: component_type = GRAPHENE_TYPE_POINT; break; case 3: component_type = GRAPHENE_TYPE_POINT3D; break; default: g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#point() specifier can have 2 or 3 arguments, got %u", n_component_args); return NULL; } } else if (type == GRAPHENE_TYPE_SIZE) { switch (n_component_args) { case 2: component_type = GRAPHENE_TYPE_SIZE; break; default: g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#size() specifier can have 2 arguments, got %u", n_component_args); return NULL; } } else if (type == GRAPHENE_TYPE_RECT) { switch (n_component_args) { case 4: component_type = GRAPHENE_TYPE_RECT; break; default: g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "#rect() specifier can have 4 arguments, got %u", n_component_args); return NULL; } } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_component_source_value ( spec, key, component_type, (const char *const *) component_args, n_component_args, &local_error); RETURN_ERROR_UNLESS (result); } else if (g_type_is_a (type, G_TYPE_OBJECT)) { if (!expect_closing_paren) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s must be wrapped in #(...)", g_type_name (type)); return NULL; } key = make_anon_name ((*n_anon_vals)++); if (is_child) { g_autofree char *builder_type = NULL; g_autoptr (GPtrArray) css_classes = NULL; GET_TOKEN (&builder_type, TOKEN_PARSE_QUOTED); if (*builder_type == '\0') g_clear_pointer (&builder_type, g_free); css_classes = g_ptr_array_new_with_free_func (g_free); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); for (;;) { GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (token, ")") == 0) break; g_ptr_array_add (css_classes, g_steal_pointer (&token)); } result = bge_wdgt_spec_add_child_source_value ( spec, key, type, enclosing_object, builder_type, (const char *const *) css_classes->pdata, css_classes->len, &local_error); RETURN_ERROR_UNLESS (result); } else { result = bge_wdgt_spec_add_instance_source_value ( spec, key, type, &local_error); RETURN_ERROR_UNLESS (result); } for (;;) { g_autofree char *property_name = NULL; g_autofree char *set_key = NULL; GType prop_type = G_TYPE_INVALID; g_auto (GStrv) value_args = NULL; guint n_value_args = 0; GET_TOKEN (&property_name, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (property_name, ")") == 0) break; else if (g_strcmp0 (property_name, "%set") == 0) { GET_TOKEN (&set_key, TOKEN_PARSE_DEFAULT); prop_type = GPOINTER_TO_SIZE (g_hash_table_lookup (type_hints, set_key)); } else if (g_strcmp0 (property_name, "_") != 0) { set_key = make_object_property_name (key, property_name, (*n_anon_vals)++); result = bge_wdgt_spec_add_property_value ( spec, set_key, key, property_name, &prop_type, &local_error); RETURN_ERROR_UNLESS (result); } GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "="); p = parse_args (p, spec, state, key, macro_replacements, n_anon_vals, type_hints, line, column, NULL, (GType[]){ prop_type }, 1, &value_args, NULL, &n_value_args, ARGS_PARSE_RIGHT_ASSIGN, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_value_args != 1) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "property/child assignment " "needs a single argument, got %u", n_value_args); return NULL; } if (set_key != NULL) { result = bge_wdgt_spec_set_value (spec, state, set_key, value_args[0], &local_error); RETURN_ERROR_UNLESS (result); } } } else if (type == GSK_TYPE_TRANSFORM) { g_autofree char *last_key = NULL; if (!expect_closing_paren) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s must be wrapped in #(...)", g_type_name (type)); return NULL; } last_key = make_anon_name ((*n_anon_vals)++); g_value_take_boxed (g_value_init (&value, GSK_TYPE_TRANSFORM), gsk_transform_new ()); result = bge_wdgt_spec_add_constant_source_value ( spec, last_key, &value, error); g_value_unset (&value); if (!result) return NULL; for (;;) { g_autofree char *instr = NULL; g_auto (GStrv) value_args = NULL; guint n_value_args = 0; g_autofree char *tmp_key = NULL; GET_TOKEN (&instr, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (instr, ")") == 0) break; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, enclosing_object, macro_replacements, n_anon_vals, type_hints, line, column, NULL, NULL, 0, &value_args, NULL, &n_value_args, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ";"); tmp_key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_transform_source_value ( spec, tmp_key, last_key, instr, (const char *const *) value_args, n_value_args, &local_error); RETURN_ERROR_UNLESS (result); g_clear_pointer (&last_key, g_free); last_key = g_steal_pointer (&tmp_key); } key = g_steal_pointer (&last_key); } else if (type == GSK_TYPE_PATH) { g_autoptr (GPtrArray) instrs = NULL; g_autoptr (GPtrArray) argss = NULL; g_autoptr (GArray) n_argss = NULL; instrs = g_ptr_array_new_with_free_func (g_free); argss = g_ptr_array_new_with_free_func ((GDestroyNotify) g_strfreev); n_argss = g_array_new (FALSE, FALSE, sizeof (guint)); if (!expect_closing_paren) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s must be wrapped in #(...)", g_type_name (type)); return NULL; } for (;;) { g_autofree char *instr = NULL; g_auto (GStrv) call_args = NULL; guint n_call_args = 0; GET_TOKEN (&instr, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (instr, ")") == 0) break; GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, "("); p = parse_args (p, spec, state, enclosing_object, macro_replacements, n_anon_vals, type_hints, line, column, NULL, NULL, 0, &call_args, NULL, &n_call_args, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); GET_TOKEN_EXPECT (&token, TOKEN_PARSE_DEFAULT, ";"); g_ptr_array_add (instrs, g_steal_pointer (&instr)); g_ptr_array_add (argss, g_steal_pointer (&call_args)); g_array_append_val (n_argss, n_call_args); } if (instrs->len == 0) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "not enough path builder instructions"); return NULL; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_path_source_value ( spec, key, (const char *const *) instrs->pdata, (const char *const *const *) argss->pdata, (const guint *) (void *) n_argss->data, instrs->len, &local_error); RETURN_ERROR_UNLESS (result); } else if (type == GSK_TYPE_STROKE) { g_auto (GStrv) component_args = NULL; guint n_component_args = 0; GType types[] = { G_TYPE_DOUBLE, /* line width */ GSK_TYPE_LINE_CAP, GSK_TYPE_LINE_JOIN, G_TYPE_DOUBLE, /* miter limit */ }; if (!expect_closing_paren) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "type %s must be wrapped in #(...)", g_type_name (type)); return NULL; } p = parse_args (p, spec, state, enclosing_object, macro_replacements, n_anon_vals, type_hints, line, column, NULL, types, G_N_ELEMENTS (types), &component_args, NULL, &n_component_args, ARGS_PARSE_PARENS, &local_error); RETURN_ERROR_UNLESS (p != NULL); if (n_component_args != G_N_ELEMENTS (types)) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "%s type initializer can have %d arguments, got %u", g_type_name (GSK_TYPE_STROKE), (int) G_N_ELEMENTS (types), n_component_args); return NULL; } key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_component_source_value ( spec, key, GSK_TYPE_STROKE, (const char *const *) component_args, n_component_args, &local_error); RETURN_ERROR_UNLESS (result); } else { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Can't parse type %s", g_type_name (type)); return NULL; } if (constant) { key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_constant_source_value ( spec, key, &value, &local_error); g_value_unset (&value); RETURN_ERROR_UNLESS (result); } } for (;;) { GET_TOKEN (&token, TOKEN_PARSE_DEFAULT); if (g_strcmp0 (token, ":") == 0) { g_autofree char *property = NULL; g_autofree char *name = NULL; GET_TOKEN (&property, TOKEN_PARSE_DEFAULT); name = make_object_property_name (key, property, (*n_anon_vals)++); result = bge_wdgt_spec_add_property_value ( spec, name, key, property, &type, &local_error); RETURN_ERROR_UNLESS (result); g_clear_pointer (&key, g_free); key = g_steal_pointer (&name); } else break; } get_token = FALSE; g_strv_builder_add (builder, key); g_array_append_val (types_array, type); n_args++; need_comma = TRUE; } } if (n_out != NULL) *n_out = n_args; if (values_out != NULL) *values_out = g_strv_builder_end (builder); if (types_out != NULL) *types_out = g_array_steal (types_array, NULL); return p; } static char * parse_token_fundamental (const char *token, BgeWdgtSpec *spec, guint *n_anon_vals, guint *line, guint *column, GError **error) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; gunichar ch = 0; GValue value = { 0 }; g_autofree char *key = NULL; ch = g_utf8_get_char (token); if (ch == '-' || g_unichar_isdigit (ch)) { gboolean is_double = FALSE; g_autoptr (GVariant) variant = NULL; is_double = g_utf8_strchr (token, -1, '.') != NULL; if (is_double) variant = g_variant_parse (G_VARIANT_TYPE_DOUBLE, token, NULL, NULL, &local_error); else variant = g_variant_parse (G_VARIANT_TYPE_INT32, token, NULL, NULL, &local_error); if (variant == NULL) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unable to parse number value '%s': %s", token, local_error->message); return NULL; } if (is_double) g_value_set_double (g_value_init (&value, G_TYPE_DOUBLE), g_variant_get_double (variant)); else g_value_set_int (g_value_init (&value, G_TYPE_INT), g_variant_get_int32 (variant)); } else if (g_strcmp0 (token, "true") == 0) g_value_set_boolean (g_value_init (&value, G_TYPE_BOOLEAN), TRUE); else if (g_strcmp0 (token, "false") == 0) g_value_set_boolean (g_value_init (&value, G_TYPE_BOOLEAN), FALSE); else return g_strdup (token); if (key == NULL) key = make_anon_name ((*n_anon_vals)++); result = bge_wdgt_spec_add_constant_source_value ( spec, key, &value, error); g_value_unset (&value); if (!result) return NULL; return g_steal_pointer (&key); } static char * consume_token (const char **pp, const char *single_chars, TokenParseFlags flags, gboolean *was_quoted, GHashTable *macro_replacements, guint *line, guint *column, GError **error) { g_autofree char *token = NULL; token = consume_token_inner (pp, single_chars, flags, was_quoted, line, column, error); if (token == NULL) return NULL; if (macro_replacements != NULL) { const char *replacement = NULL; replacement = g_hash_table_lookup (macro_replacements, token); if (replacement != NULL) return g_strdup (replacement); else { const char *replace_start = NULL; replace_start = g_utf8_strchr (token, -1, '@'); if (replace_start != NULL) { const char *last_end = token; g_autoptr (GString) string = NULL; string = g_string_new (NULL); for (;;) { g_autofree char *replace = NULL; const char *with = NULL; if (replace_start - last_end > 0) g_string_append_len (string, last_end, replace_start - last_end); replace_start++; last_end = g_utf8_strchr (replace_start, -1, '@'); if (last_end == NULL) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "error in macro expansion: " "unterminated replacement"); return NULL; } replace = g_strndup (replace_start, last_end - replace_start); with = g_hash_table_lookup (macro_replacements, replace); if (with == NULL) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "error in macro expansion: " "undefined string \"%s\"", replace); return NULL; } g_string_append (string, with); last_end++; replace_start = g_utf8_strchr (last_end, '@', -1); if (replace_start == NULL) break; } if (*last_end != '\0') g_string_append (string, last_end); return g_string_free_and_steal (g_steal_pointer (&string)); } } } return g_steal_pointer (&token); } static char * consume_token_inner (const char **pp, const char *single_chars, TokenParseFlags flags, gboolean *was_quoted, guint *line, guint *column, GError **error) { const char *p = *pp; gboolean hit_non_space = FALSE; if (was_quoted != NULL) *was_quoted = FALSE; #define UNEXPECTED_EOF \ G_STMT_START \ { \ g_set_error ( \ error, \ G_IO_ERROR, \ G_IO_ERROR_UNKNOWN, \ "Unexpected EOF"); \ return NULL; \ } \ G_STMT_END #define RETURN_TOKEN \ G_STMT_START \ { \ g_autofree char *_ret = NULL; \ \ _ret = g_strndup (*pp, p - *pp); \ *pp = p; \ return g_steal_pointer (&_ret); \ } \ G_STMT_END #define RETURN_TOKEN_ADJUST_NEXT_CHAR \ G_STMT_START \ { \ g_autofree char *_ret = NULL; \ \ _ret = g_strndup (*pp, p - *pp); \ *pp = g_utf8_next_char (p); \ return g_steal_pointer (&_ret); \ } \ G_STMT_END if (IS_EOF (p)) UNEXPECTED_EOF; for (; !IS_EOF (p); p = g_utf8_next_char (p)) { gunichar ch = 0; gboolean is_whitespace = FALSE; gboolean is_quotes = FALSE; ch = g_utf8_get_char (p); if (ch == '\n') { (*line)++; *column = 0; } else (*column)++; is_whitespace = ch == '\n' || g_unichar_isspace (ch); is_quotes = ch == '"'; if (is_whitespace) { if (!(flags & TOKEN_PARSE_QUOTED) && hit_non_space) RETURN_TOKEN; } else { if (is_quotes) { if (hit_non_space) { if (was_quoted != NULL) *was_quoted = TRUE; if (flags & TOKEN_PARSE_QUOTED) RETURN_TOKEN_ADJUST_NEXT_CHAR; else RETURN_TOKEN; } else { flags |= TOKEN_PARSE_QUOTED; *pp = g_utf8_next_char (p); if (IS_EOF (*pp)) UNEXPECTED_EOF; hit_non_space = TRUE; } } else if (flags & TOKEN_PARSE_QUOTED) { if (!hit_non_space) { g_set_error ( error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Expected quote"); return NULL; } } else if (single_chars != NULL && g_utf8_strchr (single_chars, -1, ch) != NULL) { if (hit_non_space) RETURN_TOKEN; else { char buf[16] = { 0 }; g_unichar_to_utf8 (ch, buf); *pp = g_utf8_next_char (p); return g_strdup (buf); } } if (!hit_non_space) { *pp = p; hit_non_space = TRUE; } } } if (!(flags & TOKEN_PARSE_QUOTED) && hit_non_space) RETURN_TOKEN; UNEXPECTED_EOF; #undef RETURN_TOKEN_ADJUST_NEXT_CHAR #undef RETURN_TOKEN #undef UNEXPECTED_EOF } static gdouble eval_closure (gpointer this, guint n_param_values, const GValue *param_values, EvalClosureData *data) { GArray *ops = data->ops; gdouble *workbuf0 = data->workbuf0; gdouble *workbuf1 = data->workbuf1; gdouble result = 0.0; for (guint i = 0; i < n_param_values; i++) { workbuf0[i] = g_value_get_double (¶m_values[i]); workbuf1[i] = 1.0; } for (guint i = 0; i < ops->len; i++) { EvalOperator *op = NULL; guint left_idx = 0; guint right_idx = 0; gdouble left = 0.0; gdouble right = 0.0; op = &g_array_index (ops, EvalOperator, i); left_idx = op->pos; while (workbuf1[left_idx] < 0.0) { left_idx--; } right_idx = op->pos + 1; while (workbuf1[right_idx] < 0.0) { right_idx++; } left = workbuf0[left_idx]; right = workbuf0[right_idx]; switch (op->op) { case OPERATOR_ADD: result = left + right; break; case OPERATOR_SUBTRACT: result = left - right; break; case OPERATOR_MULTIPLY: result = left * right; break; case OPERATOR_DIVIDE: result = left / right; break; case OPERATOR_MODULUS: result = fmod (left, right); break; case OPERATOR_POWER: result = pow (left, right); break; default: g_assert_not_reached (); } workbuf0[left_idx] = result; workbuf1[left_idx] = 1.0; workbuf1[right_idx] = -1.0; } return result; } static char * make_object_property_name (const char *object, const char *property, guint n) { return g_strdup_printf ("prop@%u(%s).%s", n, object, property); } static char * make_widget_allocation_name (const char *widget, guint n) { return g_strdup_printf ("allocation@%u(%s)", n, widget); } static char * make_widget_measurement_name (guint n) { return g_strdup_printf ("measurement@%u", n); } static char * make_anon_name (guint n) { return g_strdup_printf ("anon@%u", n); } static gint cmp_operator (EvalOperator *a, EvalOperator *b) { int a_prec = 0; int b_prec = 0; a_prec = operator_precedence[a->op]; b_prec = operator_precedence[b->op]; return a_prec > b_prec ? -1 : 1; } bazaar-org-bazaar-917017d/bge/wdgt/fmt/parser.h000066400000000000000000000015701523447664000212260ustar00rootroot00000000000000/* parser.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bge.h" G_BEGIN_DECLS BgeWdgtSpec * bge_wdgt_parse_string (const char *string, GError **error); G_END_DECLS bazaar-org-bazaar-917017d/bge/wdgt/lookup/000077500000000000000000000000001523447664000203015ustar00rootroot00000000000000bazaar-org-bazaar-917017d/bge/wdgt/lookup/lookup.h000066400000000000000000000047171523447664000217740ustar00rootroot00000000000000/* lookup.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include #include "bge.h" G_BEGIN_DECLS #define ARGBUF_SIZE 128 typedef GskTransform *(*TransformCallFunc) (GskTransform *next, const GValue args[]); typedef struct { const char *name; guint n_args; GType args[16]; gpointer func; TransformCallFunc call; } TransformInstr; gboolean lookup_transform_instr (const char *lookup_name, TransformInstr *out); typedef void (*PathBuilderCallFunc) (GskPathBuilder *builder, const GValue args[]); typedef struct { const char *name; guint n_args; GType args[16]; gpointer func; PathBuilderCallFunc call; } PathBuilderInstr; gboolean lookup_path_builder_instr (const char *lookup_name, PathBuilderInstr *out); typedef void (*SnapshotCallFunc) (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest); typedef struct { const char *name; guint n_args; guint n_rest; GType args[16]; gpointer func; SnapshotCallFunc call; /* for push instrs only */ guint n_pops; } SnapshotInstr; gboolean lookup_snapshot_push_instr (const char *lookup_name, SnapshotInstr *out); gboolean lookup_snapshot_transform_instr (const char *lookup_name, SnapshotInstr *out); gboolean lookup_snapshot_append_instr (const char *lookup_name, SnapshotInstr *out); G_END_DECLS bazaar-org-bazaar-917017d/bge/wdgt/lookup/meson.build000066400000000000000000000001151523447664000224400ustar00rootroot00000000000000bge_sources += files( 'path-builder.c', 'snapshot.c', 'transform.c', ) bazaar-org-bazaar-917017d/bge/wdgt/lookup/path-builder.c000066400000000000000000000322151523447664000230300ustar00rootroot00000000000000/* path-builder.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "lookup.h" static void path_builder_instr_add_circle (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_add_circle ( builder, g_value_get_boxed (&args[0]), g_value_get_double (&args[1])); } static void path_builder_instr_add_layout (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_add_layout ( builder, g_value_get_object (&args[0])); } static void path_builder_instr_add_path (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_add_path ( builder, g_value_get_boxed (&args[0])); } static void path_builder_instr_add_rect (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_add_rect ( builder, g_value_get_boxed (&args[0])); } static void path_builder_instr_add_reverse_path (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_add_reverse_path ( builder, g_value_get_boxed (&args[0])); } static void path_builder_instr_add_rounded_rect (GskPathBuilder *builder, const GValue args[]) { GskRoundedRect rrect = { 0 }; rrect.bounds = *(graphene_rect_t *) g_value_get_boxed (&args[0]); rrect.corner[0] = *(graphene_size_t *) g_value_get_boxed (&args[1]); rrect.corner[1] = *(graphene_size_t *) g_value_get_boxed (&args[2]); rrect.corner[2] = *(graphene_size_t *) g_value_get_boxed (&args[3]); rrect.corner[3] = *(graphene_size_t *) g_value_get_boxed (&args[4]); gsk_path_builder_add_rounded_rect ( builder, &rrect); } static void path_builder_instr_add_segment (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_add_segment ( builder, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_boxed (&args[2])); } static void path_builder_instr_arc_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_arc_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3])); } static void path_builder_instr_close (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_close (builder); } static void path_builder_instr_conic_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_conic_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4])); } static void path_builder_instr_cubic_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_cubic_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4]), g_value_get_double (&args[5])); } static void path_builder_instr_rel_arc_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_arc_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3])); } static void path_builder_instr_html_arc_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_html_arc_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4])); } static void path_builder_instr_line_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_line_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static void path_builder_instr_move_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_move_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static void path_builder_instr_quad_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_quad_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3])); } static void path_builder_instr_rel_conic_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_conic_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4])); } static void path_builder_instr_rel_cubic_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_cubic_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4]), g_value_get_double (&args[5])); } static void path_builder_instr_rel_html_arc_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_html_arc_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4])); } static void path_builder_instr_rel_line_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_line_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static void path_builder_instr_rel_move_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_move_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static void path_builder_instr_rel_quad_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_quad_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3])); } static void path_builder_instr_svg_arc_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_svg_arc_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_boolean (&args[3]), g_value_get_boolean (&args[4]), g_value_get_double (&args[5]), g_value_get_double (&args[6])); } static void path_builder_instr_rel_svg_arc_to (GskPathBuilder *builder, const GValue args[]) { gsk_path_builder_rel_svg_arc_to ( builder, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_boolean (&args[3]), g_value_get_boolean (&args[4]), g_value_get_double (&args[5]), g_value_get_double (&args[6])); } gboolean lookup_path_builder_instr (const char *lookup_name, PathBuilderInstr *out) { PathBuilderInstr instrs[] = { { "add-circle", 2, { GRAPHENE_TYPE_POINT, G_TYPE_DOUBLE, }, gsk_path_builder_add_circle, path_builder_instr_add_circle, }, { "add-layout", 1, { PANGO_TYPE_LAYOUT, }, gsk_path_builder_add_layout, path_builder_instr_add_layout, }, { "add-path", 1, { GSK_TYPE_PATH, }, gsk_path_builder_add_path, path_builder_instr_add_path, }, { "add-rect", 1, { GRAPHENE_TYPE_RECT, }, gsk_path_builder_add_rect, path_builder_instr_add_rect, }, { "add-reverse-path", 1, { GSK_TYPE_PATH, }, gsk_path_builder_add_reverse_path, path_builder_instr_add_reverse_path, }, { "add-rounded-rect", 5, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, }, gsk_path_builder_add_rounded_rect, path_builder_instr_add_rounded_rect, }, { "add-segment", 3, { GSK_TYPE_PATH, GSK_TYPE_PATH_POINT, GSK_TYPE_PATH_POINT, }, gsk_path_builder_add_segment, path_builder_instr_add_segment, }, { "arc-to", 4, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_arc_to, path_builder_instr_arc_to, }, { "close", 0, {}, gsk_path_builder_close, path_builder_instr_close, }, { "conic-to", 5, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_conic_to, path_builder_instr_conic_to, }, { "cubic-to", 6, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_cubic_to, path_builder_instr_cubic_to, }, { "html-arc-to", 5, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_html_arc_to, path_builder_instr_html_arc_to, }, { "line-to", 2, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_line_to, path_builder_instr_line_to, }, { "move-to", 2, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_move_to, path_builder_instr_move_to, }, { "quad-to", 4, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_quad_to, path_builder_instr_quad_to, }, { "rel-arc-to", 4, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_arc_to, path_builder_instr_rel_arc_to, }, { "rel-conic-to", 5, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_conic_to, path_builder_instr_rel_conic_to, }, { "rel-cubic-to", 6, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_cubic_to, path_builder_instr_rel_cubic_to, }, { "rel-html-arc-to", 5, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_html_arc_to, path_builder_instr_rel_html_arc_to, }, { "rel-line-to", 2, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_line_to, path_builder_instr_rel_line_to, }, { "rel-move-to", 2, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_move_to, path_builder_instr_rel_move_to, }, { "rel-quad-to", 4, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_quad_to, path_builder_instr_rel_quad_to, }, { "rel-svg-arc-to", 7, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_rel_svg_arc_to, path_builder_instr_rel_svg_arc_to, }, { "svg-arc-to", 7, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_path_builder_svg_arc_to, path_builder_instr_svg_arc_to, }, }; for (guint i = 0; i < G_N_ELEMENTS (instrs); i++) { if (g_strcmp0 (lookup_name, instrs[i].name) == 0) { *out = instrs[i]; return TRUE; } } return FALSE; } bazaar-org-bazaar-917017d/bge/wdgt/lookup/snapshot.c000066400000000000000000000731561523447664000223200ustar00rootroot00000000000000/* snapshot.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "lookup.h" static void snapshot_push_instr_opacity (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_opacity ( snapshot, g_value_get_double (&args[0])); } static void snapshot_push_instr_isolation (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_isolation ( snapshot, g_value_get_flags (&args[0])); } static void snapshot_push_instr_blur (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_blur ( snapshot, g_value_get_double (&args[0])); } static void snapshot_push_instr_color_matrix (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_color_matrix ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_push_instr_component_transfer (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_component_transfer ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_boxed (&args[2]), g_value_get_boxed (&args[3])); } static void snapshot_push_instr_repeat (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_repeat ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_push_instr_clip (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_clip ( snapshot, g_value_get_boxed (&args[0])); } static void snapshot_push_instr_rounded_clip (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { GskRoundedRect rrect = { 0 }; rrect.bounds = *(graphene_rect_t *) g_value_get_boxed (&args[0]); rrect.corner[0] = *(graphene_size_t *) g_value_get_boxed (&args[1]); rrect.corner[1] = *(graphene_size_t *) g_value_get_boxed (&args[2]); rrect.corner[2] = *(graphene_size_t *) g_value_get_boxed (&args[3]); rrect.corner[3] = *(graphene_size_t *) g_value_get_boxed (&args[4]); gtk_snapshot_push_rounded_clip ( snapshot, &rrect); } static void snapshot_push_instr_fill (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_fill ( snapshot, g_value_get_boxed (&args[0]), g_value_get_enum (&args[1])); } static void snapshot_push_instr_stroke (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_stroke ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_push_instr_shadow (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { guint n_shadows = 0; GskShadow shadows[ARGBUF_SIZE] = { 0 }; n_shadows = MIN (n_rest / 4, G_N_ELEMENTS (shadows)); for (guint i = 0; i < n_shadows; i++) { shadows[i].color = *(GdkRGBA *) g_value_get_boxed (&rest[i * 4 + 0]); shadows[i].dx = g_value_get_double (&rest[i * 4 + 1]); shadows[i].dy = g_value_get_double (&rest[i * 4 + 2]); shadows[i].radius = g_value_get_double (&rest[i * 4 + 3]); } gtk_snapshot_push_shadow ( snapshot, shadows, n_shadows); } static void snapshot_push_instr_blend (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_blend ( snapshot, g_value_get_enum (&args[0])); } static void snapshot_push_instr_mask (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_mask ( snapshot, g_value_get_enum (&args[0])); } static void snapshot_push_instr_copy (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_copy ( snapshot); } static void snapshot_push_instr_composite (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_composite ( snapshot, g_value_get_enum (&args[0])); } static void snapshot_push_instr_cross_fade (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_push_cross_fade ( snapshot, g_value_get_double (&args[0])); } gboolean lookup_snapshot_push_instr (const char *lookup_name, SnapshotInstr *out) { SnapshotInstr instrs[] = { { "opacity", 1, 0, { G_TYPE_DOUBLE, }, gtk_snapshot_push_opacity, snapshot_push_instr_opacity, 1, }, { "isolation", 1, 0, { GSK_TYPE_ISOLATION, }, gtk_snapshot_push_isolation, snapshot_push_instr_isolation, 1, }, { "blur", 1, 0, { G_TYPE_DOUBLE, }, gtk_snapshot_push_blur, snapshot_push_instr_blur, 1, }, { "color-matrix", 2, 0, { GRAPHENE_TYPE_MATRIX, GRAPHENE_TYPE_VEC4, }, gtk_snapshot_push_color_matrix, snapshot_push_instr_color_matrix, 2, }, { "component-transfer", 4, 0, { GSK_TYPE_COMPONENT_TRANSFER, GSK_TYPE_COMPONENT_TRANSFER, GSK_TYPE_COMPONENT_TRANSFER, GSK_TYPE_COMPONENT_TRANSFER, }, gtk_snapshot_push_component_transfer, snapshot_push_instr_component_transfer, 2, }, { "repeat", 2, 0, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_RECT, }, gtk_snapshot_push_repeat, snapshot_push_instr_repeat, 2, }, { "clip", 1, 0, { GRAPHENE_TYPE_RECT, }, gtk_snapshot_push_clip, snapshot_push_instr_clip, 1, }, { "rounded-clip", 5, 0, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, }, gtk_snapshot_push_rounded_clip, snapshot_push_instr_rounded_clip, 1, }, { "fill", 2, 0, { GSK_TYPE_PATH, GSK_TYPE_FILL_RULE, }, gtk_snapshot_push_fill, snapshot_push_instr_fill, 1, }, { "stroke", 2, 0, { GSK_TYPE_PATH, GSK_TYPE_STROKE, }, gtk_snapshot_push_stroke, snapshot_push_instr_stroke, 1, }, { "shadow", 4, 4, { GDK_TYPE_RGBA, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gtk_snapshot_push_shadow, snapshot_push_instr_shadow, 1, }, { "blend", 1, 0, { GSK_TYPE_BLEND_MODE, }, gtk_snapshot_push_blend, snapshot_push_instr_blend, 2, }, { "mask", 1, 0, { GSK_TYPE_MASK_MODE, }, gtk_snapshot_push_mask, snapshot_push_instr_mask, 2, }, { "copy", 0, 0, {}, gtk_snapshot_push_copy, snapshot_push_instr_copy, 1, }, { "composite", 1, 0, { GSK_TYPE_PORTER_DUFF, }, gtk_snapshot_push_composite, snapshot_push_instr_composite, 2, }, { "cross-fade", 1, 0, { G_TYPE_DOUBLE, }, gtk_snapshot_push_cross_fade, snapshot_push_instr_cross_fade, 2, }, }; for (guint i = 0; i < G_N_ELEMENTS (instrs); i++) { if (g_strcmp0 (lookup_name, instrs[i].name) == 0) { *out = instrs[i]; return TRUE; } } return FALSE; } static void snapshot_transform_instr_transform (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_transform ( snapshot, g_value_get_boxed (&args[0])); } static void snapshot_transform_instr_transform_matrix (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_transform_matrix ( snapshot, g_value_get_boxed (&args[0])); } static void snapshot_transform_instr_translate (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_translate ( snapshot, g_value_get_boxed (&args[0])); } static void snapshot_transform_instr_translate_3d (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_translate_3d ( snapshot, g_value_get_boxed (&args[0])); } static void snapshot_transform_instr_rotate (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_rotate ( snapshot, g_value_get_double (&args[0])); } static void snapshot_transform_instr_rotate_3d (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_rotate_3d ( snapshot, g_value_get_double (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_transform_instr_scale (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_scale ( snapshot, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static void snapshot_transform_instr_scale_3d (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_scale_3d ( snapshot, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2])); } static void snapshot_transform_instr_perspective (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_scale_3d ( snapshot, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2])); } gboolean lookup_snapshot_transform_instr (const char *lookup_name, SnapshotInstr *out) { SnapshotInstr instrs[] = { { "transform", 1, 0, { GSK_TYPE_TRANSFORM, }, gtk_snapshot_transform, snapshot_transform_instr_transform, }, { "transform-matrix", 1, 0, { GRAPHENE_TYPE_MATRIX, }, gtk_snapshot_transform_matrix, snapshot_transform_instr_transform_matrix, }, { "translate", 1, 0, { GRAPHENE_TYPE_POINT, }, gtk_snapshot_translate, snapshot_transform_instr_translate, }, { "translate-3d", 1, 0, { GRAPHENE_TYPE_POINT3D, }, gtk_snapshot_translate_3d, snapshot_transform_instr_translate_3d, }, { "rotate", 1, 0, { G_TYPE_DOUBLE, }, gtk_snapshot_rotate, snapshot_transform_instr_rotate, }, { "rotate-3d", 2, 0, { G_TYPE_DOUBLE, GRAPHENE_TYPE_VEC3, }, gtk_snapshot_rotate_3d, snapshot_transform_instr_rotate_3d, }, { "scale", 2, 0, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gtk_snapshot_scale, snapshot_transform_instr_scale, }, { "scale-3d", 3, 0, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gtk_snapshot_scale_3d, snapshot_transform_instr_scale_3d, }, { "perspective", 1, 0, { G_TYPE_DOUBLE, }, gtk_snapshot_perspective, snapshot_transform_instr_perspective, }, }; for (guint i = 0; i < G_N_ELEMENTS (instrs); i++) { if (g_strcmp0 (lookup_name, instrs[i].name) == 0) { *out = instrs[i]; return TRUE; } } return FALSE; } static void snapshot_append_instr_node (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_node ( snapshot, g_value_get_boxed (&args[0])); } static void snapshot_append_instr_texture (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_texture ( snapshot, g_value_get_object (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_append_instr_scaled_texture (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_scaled_texture ( snapshot, g_value_get_object (&args[0]), g_value_get_enum (&args[1]), g_value_get_boxed (&args[2])); } static void snapshot_append_instr_color (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_color ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_append_instr_linear_gradient (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { guint n_stops = 0; GskColorStop stops[ARGBUF_SIZE] = { 0 }; n_stops = MIN (n_rest / 2, G_N_ELEMENTS (stops)); for (guint i = 0; i < n_stops; i++) { stops[i].offset = g_value_get_double (&rest[i * 2 + 0]); stops[i].color = *(GdkRGBA *) g_value_get_boxed (&rest[i * 2 + 1]); } gtk_snapshot_append_linear_gradient ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_boxed (&args[2]), stops, n_stops); } static void snapshot_append_instr_repeating_linear_gradient (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { guint n_stops = 0; GskColorStop stops[ARGBUF_SIZE] = { 0 }; n_stops = MIN (n_rest / 2, G_N_ELEMENTS (stops)); for (guint i = 0; i < n_stops; i++) { stops[i].offset = g_value_get_double (&rest[i * 2 + 0]); stops[i].color = *(GdkRGBA *) g_value_get_boxed (&rest[i * 2 + 1]); } gtk_snapshot_append_repeating_linear_gradient ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_boxed (&args[2]), stops, n_stops); } static void snapshot_append_instr_radial_gradient (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { guint n_stops = 0; GskColorStop stops[ARGBUF_SIZE] = { 0 }; n_stops = MIN (n_rest / 2, G_N_ELEMENTS (stops)); for (guint i = 0; i < n_stops; i++) { stops[i].offset = g_value_get_double (&rest[i * 2 + 0]); stops[i].color = *(GdkRGBA *) g_value_get_boxed (&rest[i * 2 + 1]); } gtk_snapshot_append_radial_gradient ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4]), g_value_get_double (&args[5]), stops, n_stops); } static void snapshot_append_instr_repeating_radial_gradient (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { guint n_stops = 0; GskColorStop stops[ARGBUF_SIZE] = { 0 }; n_stops = MIN (n_rest / 2, G_N_ELEMENTS (stops)); for (guint i = 0; i < n_stops; i++) { stops[i].offset = g_value_get_double (&rest[i * 2 + 0]); stops[i].color = *(GdkRGBA *) g_value_get_boxed (&rest[i * 2 + 1]); } gtk_snapshot_append_repeating_radial_gradient ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4]), g_value_get_double (&args[5]), stops, n_stops); } static void snapshot_append_instr_conic_gradient (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { guint n_stops = 0; GskColorStop stops[ARGBUF_SIZE] = { 0 }; n_stops = MIN (n_rest / 2, G_N_ELEMENTS (stops)); for (guint i = 0; i < n_stops; i++) { stops[i].offset = g_value_get_double (&rest[i * 2 + 0]); stops[i].color = *(GdkRGBA *) g_value_get_boxed (&rest[i * 2 + 1]); } gtk_snapshot_append_conic_gradient ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_double (&args[2]), stops, n_stops); } static void snapshot_append_instr_border (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { GskRoundedRect rrect = { 0 }; float border_width[4] = { 0 }; GdkRGBA border_color[4] = { 0 }; rrect.bounds = *(graphene_rect_t *) g_value_get_boxed (&args[0]); rrect.corner[0] = *(graphene_size_t *) g_value_get_boxed (&args[1]); rrect.corner[1] = *(graphene_size_t *) g_value_get_boxed (&args[2]); rrect.corner[2] = *(graphene_size_t *) g_value_get_boxed (&args[3]); rrect.corner[3] = *(graphene_size_t *) g_value_get_boxed (&args[4]); border_width[0] = g_value_get_double (&args[5]); border_width[1] = g_value_get_double (&args[6]); border_width[2] = g_value_get_double (&args[7]); border_width[3] = g_value_get_double (&args[8]); border_color[0] = *(GdkRGBA *) g_value_get_boxed (&args[9]); border_color[1] = *(GdkRGBA *) g_value_get_boxed (&args[10]); border_color[2] = *(GdkRGBA *) g_value_get_boxed (&args[11]); border_color[3] = *(GdkRGBA *) g_value_get_boxed (&args[12]); gtk_snapshot_append_border ( snapshot, &rrect, border_width, border_color); } static void snapshot_append_instr_inset_shadow (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { GskRoundedRect rrect = { 0 }; rrect.bounds = *(graphene_rect_t *) g_value_get_boxed (&args[0]); rrect.corner[0] = *(graphene_size_t *) g_value_get_boxed (&args[1]); rrect.corner[1] = *(graphene_size_t *) g_value_get_boxed (&args[2]); rrect.corner[2] = *(graphene_size_t *) g_value_get_boxed (&args[3]); rrect.corner[3] = *(graphene_size_t *) g_value_get_boxed (&args[4]); gtk_snapshot_append_inset_shadow ( snapshot, &rrect, g_value_get_boxed (&args[5]), g_value_get_double (&args[6]), g_value_get_double (&args[7]), g_value_get_double (&args[8]), g_value_get_double (&args[9])); } static void snapshot_append_instr_outset_shadow (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { GskRoundedRect rrect = { 0 }; rrect.bounds = *(graphene_rect_t *) g_value_get_boxed (&args[0]); rrect.corner[0] = *(graphene_size_t *) g_value_get_boxed (&args[1]); rrect.corner[1] = *(graphene_size_t *) g_value_get_boxed (&args[2]); rrect.corner[2] = *(graphene_size_t *) g_value_get_boxed (&args[3]); rrect.corner[3] = *(graphene_size_t *) g_value_get_boxed (&args[4]); gtk_snapshot_append_outset_shadow ( snapshot, &rrect, g_value_get_boxed (&args[5]), g_value_get_double (&args[6]), g_value_get_double (&args[7]), g_value_get_double (&args[8]), g_value_get_double (&args[9])); } static void snapshot_append_instr_layout (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_layout ( snapshot, g_value_get_object (&args[0]), g_value_get_boxed (&args[1])); } static void snapshot_append_instr_fill (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_fill ( snapshot, g_value_get_boxed (&args[0]), g_value_get_enum (&args[1]), g_value_get_boxed (&args[2])); } static void snapshot_append_instr_stroke (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_stroke ( snapshot, g_value_get_boxed (&args[0]), g_value_get_boxed (&args[1]), g_value_get_boxed (&args[2])); } static void snapshot_append_instr_paste (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { gtk_snapshot_append_paste ( snapshot, g_value_get_boxed (&args[0]), g_value_get_uint64 (&args[1])); } static void snapshot_append_instr_paintable (GtkSnapshot *snapshot, const GValue args[], const GValue rest[], guint n_rest) { graphene_rect_t rect = { 0 }; rect = *(graphene_rect_t *) g_value_get_boxed (&args[1]); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &rect.origin); gdk_paintable_snapshot ( g_value_get_object (&args[0]), snapshot, rect.size.width, rect.size.height); gtk_snapshot_restore (snapshot); } gboolean lookup_snapshot_append_instr (const char *lookup_name, SnapshotInstr *out) { SnapshotInstr instrs[] = { { "node", 1, 0, { GSK_TYPE_RENDER_NODE, }, gtk_snapshot_append_node, snapshot_append_instr_node, }, { "texture", 2, 0, { GDK_TYPE_TEXTURE, GRAPHENE_TYPE_RECT, }, gtk_snapshot_append_texture, snapshot_append_instr_texture, }, { "scaled-texture", 3, 0, { GDK_TYPE_TEXTURE, GSK_TYPE_SCALING_FILTER, GRAPHENE_TYPE_RECT, }, gtk_snapshot_append_scaled_texture, snapshot_append_instr_scaled_texture, }, { "color", 2, 0, { GDK_TYPE_RGBA, GRAPHENE_TYPE_RECT, }, gtk_snapshot_append_color, snapshot_append_instr_color, }, { "linear-gradient", 5, 2, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_POINT, GRAPHENE_TYPE_POINT, G_TYPE_DOUBLE, GDK_TYPE_RGBA, }, gtk_snapshot_append_linear_gradient, snapshot_append_instr_linear_gradient, }, { "repeating-linear-gradient", 5, 2, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_POINT, GRAPHENE_TYPE_POINT, G_TYPE_DOUBLE, GDK_TYPE_RGBA, }, gtk_snapshot_append_repeating_linear_gradient, snapshot_append_instr_repeating_linear_gradient, }, { "radial-gradient", 8, 2, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_POINT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, GDK_TYPE_RGBA, }, gtk_snapshot_append_radial_gradient, snapshot_append_instr_radial_gradient, }, { "repeating-radial-gradient", 8, 2, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_POINT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, GDK_TYPE_RGBA, }, gtk_snapshot_append_repeating_radial_gradient, snapshot_append_instr_repeating_radial_gradient, }, { "conic-gradient", 5, 2, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_POINT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, GDK_TYPE_RGBA, }, gtk_snapshot_append_conic_gradient, snapshot_append_instr_conic_gradient, }, { "border", 13, 0, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, GDK_TYPE_RGBA, GDK_TYPE_RGBA, GDK_TYPE_RGBA, GDK_TYPE_RGBA, }, gtk_snapshot_append_border, snapshot_append_instr_border, }, { "inset-shadow", 10, 0, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GDK_TYPE_RGBA, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gtk_snapshot_append_inset_shadow, snapshot_append_instr_inset_shadow, }, { "outset-shadow", 10, 0, { GRAPHENE_TYPE_RECT, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GRAPHENE_TYPE_SIZE, GDK_TYPE_RGBA, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gtk_snapshot_append_outset_shadow, snapshot_append_instr_outset_shadow, }, { "layout", 2, 0, { PANGO_TYPE_LAYOUT, GDK_TYPE_RGBA, }, gtk_snapshot_append_layout, snapshot_append_instr_layout, }, { "fill", 3, 0, { GSK_TYPE_PATH, GSK_TYPE_FILL_RULE, GDK_TYPE_RGBA, }, gtk_snapshot_append_fill, snapshot_append_instr_fill, }, { "stroke", 3, 0, { GSK_TYPE_PATH, GSK_TYPE_STROKE, GDK_TYPE_RGBA, }, gtk_snapshot_append_stroke, snapshot_append_instr_stroke, }, { "paste", 2, 0, { GRAPHENE_TYPE_RECT, G_TYPE_UINT64, }, gtk_snapshot_append_paste, snapshot_append_instr_paste, }, { "paintable", 2, 0, { GDK_TYPE_PAINTABLE, GRAPHENE_TYPE_RECT, }, gdk_paintable_snapshot, snapshot_append_instr_paintable, }, }; for (guint i = 0; i < G_N_ELEMENTS (instrs); i++) { if (g_strcmp0 (lookup_name, instrs[i].name) == 0) { *out = instrs[i]; return TRUE; } } return FALSE; } bazaar-org-bazaar-917017d/bge/wdgt/lookup/transform.c000066400000000000000000000131641523447664000224650ustar00rootroot00000000000000/* transform.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "lookup.h" static GskTransform * transform_instr_transform (GskTransform *next, const GValue args[]) { return gsk_transform_transform ( next, g_value_get_boxed (&args[0])); } static GskTransform * transform_instr_invert (GskTransform *next, const GValue args[]) { return gsk_transform_transform ( next, g_value_get_boxed (&args[0])); } static GskTransform * transform_instr_matrix (GskTransform *next, const GValue args[]) { return gsk_transform_matrix ( next, g_value_get_boxed (&args[0])); } static GskTransform * transform_instr_matrix_2d (GskTransform *next, const GValue args[]) { return gsk_transform_matrix_2d ( next, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2]), g_value_get_double (&args[3]), g_value_get_double (&args[4]), g_value_get_double (&args[5])); } static GskTransform * transform_instr_translate (GskTransform *next, const GValue args[]) { return gsk_transform_translate ( next, g_value_get_boxed (&args[0])); } static GskTransform * transform_instr_translate_3d (GskTransform *next, const GValue args[]) { return gsk_transform_translate_3d ( next, g_value_get_boxed (&args[0])); } static GskTransform * transform_instr_skew (GskTransform *next, const GValue args[]) { return gsk_transform_skew ( next, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static GskTransform * transform_instr_rotate (GskTransform *next, const GValue args[]) { return gsk_transform_rotate ( next, g_value_get_double (&args[0])); } static GskTransform * transform_instr_rotate_3d (GskTransform *next, const GValue args[]) { return gsk_transform_rotate_3d ( next, g_value_get_double (&args[0]), g_value_get_boxed (&args[1])); } static GskTransform * transform_instr_scale (GskTransform *next, const GValue args[]) { return gsk_transform_scale ( next, g_value_get_double (&args[0]), g_value_get_double (&args[1])); } static GskTransform * transform_instr_scale_3d (GskTransform *next, const GValue args[]) { return gsk_transform_scale_3d ( next, g_value_get_double (&args[0]), g_value_get_double (&args[1]), g_value_get_double (&args[2])); } static GskTransform * transform_instr_perspective (GskTransform *next, const GValue args[]) { return gsk_transform_perspective ( next, g_value_get_double (&args[0])); } gboolean lookup_transform_instr (const char *lookup_name, TransformInstr *out) { TransformInstr instrs[] = { { "transform", 1, { GSK_TYPE_TRANSFORM, }, gsk_transform_transform, transform_instr_transform, }, { "invert", 0, {}, gsk_transform_invert, transform_instr_invert, }, { "matrix", 1, { GRAPHENE_TYPE_MATRIX, }, gsk_transform_matrix, transform_instr_matrix, }, { "matrix-2d", 6, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_transform_matrix_2d, transform_instr_matrix_2d, }, { "translate", 1, { GRAPHENE_TYPE_POINT, }, gsk_transform_translate, transform_instr_translate, }, { "translate-3d", 1, { GRAPHENE_TYPE_POINT3D, }, gsk_transform_translate_3d, transform_instr_translate_3d, }, { "skew", 2, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_transform_skew, transform_instr_skew, }, { "rotate", 1, { G_TYPE_DOUBLE, }, gsk_transform_rotate, transform_instr_rotate, }, { "rotate-3d", 2, { G_TYPE_DOUBLE, GRAPHENE_TYPE_VEC3, }, gsk_transform_rotate_3d, transform_instr_rotate_3d, }, { "scale", 2, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_transform_scale, transform_instr_scale, }, { "scale-3d", 3, { G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, }, gsk_transform_scale_3d, transform_instr_scale_3d, }, { "perspective", 1, { G_TYPE_DOUBLE, }, gsk_transform_perspective, transform_instr_perspective, }, }; for (guint i = 0; i < G_N_ELEMENTS (instrs); i++) { if (g_strcmp0 (lookup_name, instrs[i].name) == 0) { *out = instrs[i]; return TRUE; } } return FALSE; } bazaar-org-bazaar-917017d/bge/wdgt/meson.build000066400000000000000000000003061523447664000211310ustar00rootroot00000000000000bge_sources += files( 'bge-wdgt-spec.c', 'bge-easing.c', ) bge_headers += files( 'bge-wdgt-spec.h', 'bge-wdgt-renderer.h', 'bge-easing.h', ) subdir('util') subdir('lookup') subdir('fmt') bazaar-org-bazaar-917017d/bge/wdgt/util/000077500000000000000000000000001523447664000177455ustar00rootroot00000000000000bazaar-org-bazaar-917017d/bge/wdgt/util/marshal.c000066400000000000000000000154011523447664000215410ustar00rootroot00000000000000/* marshal.c * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "marshal.h" void _marshal_DIRECT__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef void (*GMarshalFunc_DIRECT__ARGS_DIRECT) (gpointer data1, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer data2); GCClosure *cc = (GCClosure *) closure; gpointer data1, data2; GMarshalFunc_DIRECT__ARGS_DIRECT callback; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values >= 1); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_DIRECT__ARGS_DIRECT) (marshal_data ? marshal_data : cc->callback); callback (data1, return_value, n_param_values - 1, param_values + 1, data2); } void _marshal_BOXED__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef gpointer (*GMarshalFunc_BOXED__ARGS_DIRECT) (gpointer data1, guint n_param_values, const GValue *param_values, gpointer data2); GCClosure *cc = (GCClosure *) closure; gpointer data1, data2; GMarshalFunc_BOXED__ARGS_DIRECT callback; gpointer v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values >= 1); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOXED__ARGS_DIRECT) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, n_param_values - 1, param_values + 1, data2); g_value_take_boxed (return_value, v_return); } void _marshal_BOOL__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOL__ARGS_DIRECT) (gpointer data1, guint n_param_values, const GValue *param_values, gpointer data2); GCClosure *cc = (GCClosure *) closure; gpointer data1, data2; GMarshalFunc_BOOL__ARGS_DIRECT callback; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values >= 1); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOL__ARGS_DIRECT) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, n_param_values - 1, param_values + 1, data2); g_value_set_boolean (return_value, v_return); } void _marshal_DOUBLE__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef gdouble (*GMarshalFunc_DOUBLE__ARGS_DIRECT) (gpointer data1, guint n_param_values, const GValue *param_values, gpointer data2); GCClosure *cc = (GCClosure *) closure; gpointer data1, data2; GMarshalFunc_DOUBLE__ARGS_DIRECT callback; gdouble v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values >= 1); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_DOUBLE__ARGS_DIRECT) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, n_param_values - 1, param_values + 1, data2); g_value_set_double (return_value, v_return); } bazaar-org-bazaar-917017d/bge/wdgt/util/marshal.h000066400000000000000000000046341523447664000215540ustar00rootroot00000000000000/* marshal.h * * Copyright 2026 Eva M * * 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 . * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bge.h" G_BEGIN_DECLS void _marshal_DIRECT__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data); void _marshal_BOXED__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data); void _marshal_BOOL__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data); void _marshal_DOUBLE__ARGS_DIRECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data); G_END_DECLS bazaar-org-bazaar-917017d/bge/wdgt/util/meson.build000066400000000000000000000000471523447664000221100ustar00rootroot00000000000000bge_sources += files( 'marshal.c', ) bazaar-org-bazaar-917017d/build-aux/000077500000000000000000000000001523447664000171605ustar00rootroot00000000000000bazaar-org-bazaar-917017d/build-aux/flatpak/000077500000000000000000000000001523447664000206025ustar00rootroot00000000000000bazaar-org-bazaar-917017d/build-aux/flatpak/flatpak-builder-tools/000077500000000000000000000000001523447664000250065ustar00rootroot00000000000000bazaar-org-bazaar-917017d/build-aux/flatpak/fuse-2.9.2-closefrom.patch000066400000000000000000000007001523447664000252170ustar00rootroot00000000000000--- fuse-2.9.2/util/ulockmgr_server.c.closefromfix 2019-01-04 05:33:33.000000000 -0800 +++ fuse-2.9.2/util/ulockmgr_server.c 2022-07-12 12:29:56.445402244 -0700 @@ -124,7 +124,7 @@ return res; } -static int closefrom(int minfd) +static int _closefrom(int minfd) { DIR *dir = opendir("/proc/self/fd"); if (dir) { @@ -384,7 +384,7 @@ dup2(nullfd, 1); } close(3); - closefrom(5); + _closefrom(5); while (1) { char c; int sock; bazaar-org-bazaar-917017d/build-aux/flatpak/fuse-2.9.2-namespace-conflict-fix.patch000066400000000000000000000010641523447664000275510ustar00rootroot00000000000000diff -up fuse-2.9.2/include/fuse_kernel.h.conflictfix fuse-2.9.2/include/fuse_kernel.h --- fuse-2.9.2/include/fuse_kernel.h.conflictfix 2013-06-26 09:31:57.862198038 -0400 +++ fuse-2.9.2/include/fuse_kernel.h 2013-06-26 09:32:19.679198365 -0400 @@ -88,12 +88,16 @@ #ifndef _LINUX_FUSE_H #define _LINUX_FUSE_H -#include +#ifdef __linux__ +#include +#else +#include #define __u64 uint64_t #define __s64 int64_t #define __u32 uint32_t #define __s32 int32_t #define __u16 uint16_t +#endif /* * Version negotiation: bazaar-org-bazaar-917017d/build-aux/flatpak/fuse-disable-sys-mount-under-flatpak.patch000066400000000000000000000011671523447664000307020ustar00rootroot00000000000000From 1ec935f4abecd08957affc7b21bae6bf5be78931 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Thu, 12 Apr 2018 01:47:57 -0700 Subject: [PATCH] libfuse: disable sys mount under flatpak --- lib/mount.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/mount.c b/lib/mount.c index 7a18c11..1667db2 100644 --- a/lib/mount.c +++ b/lib/mount.c @@ -392,6 +392,9 @@ static int fuse_mount_sys(const char *mnt, struct mount_opts *mo, int fd; int res; + /* disable in flatpak */ + return -2; + if (!mnt) { fprintf(stderr, "fuse: missing mountpoint parameter\n"); return -1; -- 2.17.0.rc2 bazaar-org-bazaar-917017d/build-aux/flatpak/fusermount-wrapper.sh000066400000000000000000000006431523447664000250260ustar00rootroot00000000000000#!/bin/sh set -eo pipefail echo "Running fusermount wrapper, redirecting to host..." export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/flatpak/bus binary="fusermount" if flatpak-spawn --host fusermount3 --version &> /dev/null ; then binary="fusermount3" fi [ ! -z "$_FUSE_COMMFD" ] && export FD_ARGS="--env=_FUSE_COMMFD=${_FUSE_COMMFD} --forward-fd=${_FUSE_COMMFD}" exec flatpak-spawn --host ${FD_ARGS} "$binary" "$@" bazaar-org-bazaar-917017d/build-aux/flatpak/io.github.kolunmi.Bazaar.json000066400000000000000000000425161523447664000262510ustar00rootroot00000000000000{ "id": "io.github.kolunmi.Bazaar", "runtime": "org.gnome.Platform", "runtime-version": "50", "sdk": "org.gnome.Sdk", "command": "bazaar-daemon", "sdk-extensions": [ "org.freedesktop.Sdk.Extension.llvm20" ], "tags": [ "nightly" ], "desktop-file-name-suffix": " (Nightly)", "finish-args": [ "--share=network", "--share=ipc", "--socket=fallback-x11", "--socket=wayland", "--device=dri", "--filesystem=/var/lib/flatpak", "--filesystem=xdg-data/flatpak", "--talk-name=org.freedesktop.Flatpak", "--system-talk-name=org.freedesktop.Flatpak.SystemHelper", "--filesystem=/var/tmp", "--filesystem=~/.var/app", "--system-talk-name=org.freedesktop.Accounts", "--talk-name=org.freedesktop.impl.portal.PermissionStore" ], "cleanup": [ "/share/zsh", "/share/gettext", "/include", "/lib/pkgconfig", "/lib/cmake", "/share/applications/mimeinfo.cache", "/share/bash-completion", "/share/zsh/site-functions", "/share/icons/hicolor/icon-theme.cache", "/share/man", "/share/pkgconfig", "*.la", "*.a" ], "modules": [ { "name": "bazaar", "buildsystem": "meson", "build-options": { "append-path": "/usr/lib/sdk/llvm20/bin", "prepend-ld-library-path": "/usr/lib/sdk/llvm20/lib" }, "config-opts": [ "-Ddevelopment=true", "-Dsandboxed_libflatpak=true", "-Dhardcoded_main_config_path=/run/host/etc/bazaar/bazaar.yaml", "-Dhardcoded_content_config_path=/run/host/etc/bazaar/config.yaml", "-Dhardcoded_blocklist_path=/run/host/etc/bazaar/blocklist.txt" ], "sources": [ { "type": "dir", "path": "../.." } ], "modules": [ { "name": "md4c", "buildsystem": "cmake", "config-opts": [ "-DBUILD_MD2HTML_EXECUTABLE=Off" ], "sources": [ { "type": "git", "url": "https://github.com/mity/md4c.git", "commit": "472c417005c2c71b8617de4f7b8d6b30411d78f4", "tag": "release-0.5.3", "x-checker-data": { "type": "git", "tag-pattern": "^release-([\\d.]+)$" } } ] }, { "name": "malcontent", "buildsystem": "meson", "config-opts": [ "-Dui=disabled", "-Dinstalled_tests=false" ], "sources": [ { "type": "git", "url": "https://gitlab.freedesktop.org/pwithnall/malcontent.git", "commit": "3ba80995bb25b7aeda7e21d547f9e39ff9a81736", "tag": "0.12.0" }, { "type": "shell", "commands": [ "sed -i \"/subdir('tests')/d\" libmalcontent/meson.build", "sed -i \"/subdir('tests')/d\" meson.build", "sed -i \"/subdir('pam')/d\" meson.build" ] } ] }, { "name": "flatpak", "buildsystem": "meson", "config-opts": [ "-Dgtkdoc=disabled", "-Ddocbook_docs=disabled", "-Dtests=false", "-Dman=disabled", "-Dseccomp=disabled", "-Dselinux_module=disabled", "-Dmalcontent=enabled", "-Dsandboxed_triggers=false", "-Dsystem_helper=enabled", "-Dsystemd=disabled", "-Dsystem_install_dir=/var/lib/flatpak", "-Dsystem_bubblewrap=bwrap", "-Dsystem_dbus_proxy=xdg-dbus-proxy", "--sysconfdir=/var/run/host/etc" ], "cleanup": [ "/bin/flatpak-bisect", "/bin/flatpak-coredumpctl", "/etc/profile.d", "/lib/systemd", "/share/dbus-1/interfaces/org.freedesktop.*", "/share/dbus-1/services/org.freedesktop.*", "/share/flatpak/triggers", "/share/gdm", "/share/zsh", "/share/fish", "/lib/sysusers.d", "/lib/tmpfiles.d" ], "post-install": [ "install -Dpm0755 -t /app/bin /usr/bin/update-{mime,desktop}-database" ], "sources": [ { "type": "git", "url": "https://github.com/flatpak/flatpak", "commit": "5de2b58bdafde88515d9d6b9189bd1cfd3b88c46", "tag": "1.18.0", "x-checker-data": { "type": "git", "url-template": "$version", "is-important": true } } ], "modules": [ { "name": "python3-pyparsing", "buildsystem": "simple", "cleanup": [ "*" ], "build-commands": [ "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} pyparsing" ], "sources": [ { "type": "file", "url": "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", "sha256": "c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", "x-checker-data": { "type": "pypi", "name": "pyparsing" } }, { "type": "file", "url": "https://files.pythonhosted.org/packages/69/59/b6fc2188dfc7ea4f936cd12b49d707f66a1cb7a1d2c16172963534db741b/flit_core-3.12.0.tar.gz", "sha256": "18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2", "x-checker-data": { "type": "pypi", "name": "flit_core" } } ] }, { "name": "python3-babel", "buildsystem": "simple", "cleanup": [ "*" ], "build-commands": [ "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation babel" ], "sources": [ { "type": "file", "url": "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", "sha256": "b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", "x-checker-data": { "type": "pypi", "name": "babel" } } ] }, { "name": "polkit", "buildsystem": "meson", "config-opts": [ "-Dlibs-only=true", "-Dintrospection=false", "-Dauthfw=shadow" ], "rm-configure": true, "build-options": { "env": { "CFLAGS": "-Wno-implicit-function-declaration" } }, "cleanup": [ "/bin/*", "/etc/dbus-1", "/etc/pam.d", "/include", "/lib/pkgconfig", "/lib/polkit-1", "/share/dbus-1/system-services/*", "/share/polkit-1" ], "sources": [ { "type": "git", "url": "https://github.com/polkit-org/polkit", "commit": "9e4894c969eecf26a3ba762f4f7a268aa0fb3e51", "tag": "127", "x-checker-data": { "type": "git", "tag-pattern": "^([\\d.]+)$" } } ], "modules": [ { "name": "ostree", "build-options": { "env": { "BASH_COMPLETIONSDIR": "/app/share/bash-completion/completions" }, "config-opts": [ "--disable-man", "--enable-introspection=no", "--with-curl", "--without-libsystemd" ] }, "cleanup": [ "/bin", "/etc/grub.d", "/etc/ostree", "/share/ostree", "/libexec" ], "sources": [ { "type": "git", "url": "https://github.com/ostreedev/ostree", "tag": "v2026.2", "commit": "4672e91445451660eaa4405630692ade1b48c914", "x-checker-data": { "type": "anitya", "project-id": 10899, "tag-template": "v$version", "is-important": true } } ], "modules": [ { "name": "libfuse", "build-options": { "env": { "MOUNT_FUSE_PATH": "../tmp/" } }, "config-opts": [ "UDEV_RULES_PATH=/app/etc/udev/rules.d", "INIT_D_PATH=/app/etc/init.d" ], "cleanup": [ "/bin/ulockmgr_server", "/etc" ], "post-install": [ "install -Dpm0755 ./fusermount-wrapper.sh /app/bin/fusermount" ], "sources": [ { "type": "archive", "url": "https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz", "sha256": "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5" }, { "type": "patch", "path": "fuse-2.9.2-namespace-conflict-fix.patch" }, { "type": "patch", "path": "fuse-disable-sys-mount-under-flatpak.patch" }, { "type": "patch", "path": "fuse-2.9.2-closefrom.patch" }, { "type": "file", "path": "fusermount-wrapper.sh" } ] } ] }, { "name": "xdg-dbus-proxy", "buildsystem": "meson", "config-opts": [ "-Dman=disabled", "-Dtests=false" ], "sources": [ { "type": "git", "url": "https://github.com/flatpak/xdg-dbus-proxy", "commit": "6a170fa77e3cbecb48f9dd2478fe5c0a119eb467", "tag": "0.1.7", "x-checker-data": { "type": "git", "url-template": "$version" } } ] } ] } ] } ] }, { "name": "bubblewrap", "buildsystem": "meson", "config-opts": [ "-Dman=disabled", "-Dselinux=disabled", "-Dtests=false" ], "sources": [ { "type": "git", "url": "https://github.com/containers/bubblewrap", "commit": "1b80120ef26a28e065e67f89bfef873f13bdd317", "tag": "v0.11.2", "x-checker-data": { "type": "git", "url-template": "$version" } } ] } ] } bazaar-org-bazaar-917017d/data/000077500000000000000000000000001523447664000161775ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/dbus/000077500000000000000000000000001523447664000171345ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/dbus/io.github.kolunmi.Bazaar.SearchProvider.service.in000066400000000000000000000001451523447664000306060ustar00rootroot00000000000000[D-BUS Service] Name=io.github.kolunmi.Bazaar.SearchProvider Exec=@bindir@/bazaar-daemon --no-window bazaar-org-bazaar-917017d/data/dbus/meson.build000066400000000000000000000005261523447664000213010ustar00rootroot00000000000000service_conf = configuration_data() service_conf.set('bindir', get_option('prefix') / get_option('bindir')) configure_file( input: 'io.github.kolunmi.Bazaar.SearchProvider.service.in', output: 'io.github.kolunmi.Bazaar.SearchProvider.service', configuration: service_conf, install_dir: get_option('datadir') / 'dbus-1' / 'services' ) bazaar-org-bazaar-917017d/data/icons/000077500000000000000000000000001523447664000173125ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/000077500000000000000000000000001523447664000207515ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/scalable/000077500000000000000000000000001523447664000225175ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/scalable/apps/000077500000000000000000000000001523447664000234625ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/scalable/apps/io.github.kolunmi.Bazaar.Devel.svg000066400000000000000000000102551523447664000320100ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/scalable/apps/io.github.kolunmi.Bazaar.svg000066400000000000000000000103051523447664000307460ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/symbolic/000077500000000000000000000000001523447664000225725ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/symbolic/apps/000077500000000000000000000000001523447664000235355ustar00rootroot00000000000000bazaar-org-bazaar-917017d/data/icons/hicolor/symbolic/apps/io.github.kolunmi.Bazaar-symbolic.svg000066400000000000000000000047301523447664000326450ustar00rootroot00000000000000 bazaar-org-bazaar-917017d/data/icons/io.github.kolunmi.Bazaar.Source.svg000066400000000000000000007446121523447664000260540ustar00rootroot00000000000000 Adwaita Icon Template image/svg+xml GNOME Design Team Adwaita Icon Template Hicolor Symbolic bazaar-org-bazaar-917017d/data/icons/meson.build000066400000000000000000000010731523447664000214550ustar00rootroot00000000000000application_id = 'io.github.kolunmi.Bazaar' scalable_dir = 'hicolor' / 'scalable' / 'apps' if get_option('development') icon_file = '@0@.Devel.svg'.format(application_id) else icon_file = '@0@.svg'.format(application_id) endif install_data( scalable_dir / icon_file, install_dir: get_option('datadir') / 'icons' / scalable_dir, rename: '@0@.svg'.format(application_id) ) symbolic_dir = 'hicolor' / 'symbolic' / 'apps' install_data( symbolic_dir / ('@0@-symbolic.svg').format(application_id), install_dir: get_option('datadir') / 'icons' / symbolic_dir ) bazaar-org-bazaar-917017d/data/io.github.kolunmi.Bazaar.desktop.in000066400000000000000000000011371523447664000247450ustar00rootroot00000000000000[Desktop Entry] Name=Bazaar GenericName=App Store Comment=Add, remove or update flatpak software on this computer Exec=bazaar-daemon %U Icon=io.github.kolunmi.Bazaar Terminal=false Type=Application Categories=GTK;Utility; Keywords=System;Package;Manager;Discover;Flatpak;Software;App;Store; StartupNotify=true MimeType=x-scheme-handler/appstream;x-scheme-handler/flatpak;x-scheme-handler/flatpak+https;application/vnd.flatpak;application/vnd.flatpak.ref;application/metainfo+xml; Actions=new-window; X-Purism-FormFactor=Workstation;Mobile; [Desktop Action new-window] Name=New Window Exec=bazaar-daemon %U bazaar-org-bazaar-917017d/data/io.github.kolunmi.Bazaar.gschema.xml000066400000000000000000000102131523447664000250700ustar00rootroot00000000000000 true Hide EOL Entries Hide EOL entries and entries depending on them false Only Show Free Software Hide proprietary software false Show Only Flathub Content Hide apps which do not originate from Flathub false Show Only Verified Content Hide apps which are not verified on Flathub 'accent-color' Global Progress Bar Theme Describes the look of the global progress bar (1220, 900) Saved Window Dimensions The window dimensions to be used by the next Bazaar window true Force Adwaita Icon Theme Override the icon theme with Adwaita true Show Permission Warning Banner Show a warning banner on the permissions page true Check For Ubuntu Whether to check for and warn about Ubuntu's broken apparmor permissions on startup false Automatic Updates Whether to auto check for and install app updates in the background true Auto Update Notifications Show a notification after apps are automatically updated in the background 0 Last Update Check Unix timestamp of the last automatic update check -1 Update Check Hour Offset Randomized hour offset added to the daily update check window, to avoid all clients checking at once 0 Last Refresh Time timestamp of the last successful refresh bazaar-org-bazaar-917017d/data/io.github.kolunmi.Bazaar.metainfo.xml.in000066400000000000000000000630171523447664000257020ustar00rootroot00000000000000 io.github.kolunmi.Bazaar CC0-1.0 GPL-3.0-or-later Bazaar Discover and install apps

A fast and modern app store for Linux with a focus on discovering and installing Flatpak apps and add-ons, particularly from Flathub.

  • Queue multiple installs and keep browsing
  • Easily view app permissions
  • Sign in to Flathub to view and manage your favorites
  • Search apps directly from GNOME Shell
pointing keyboard touch 360 The Bazaar Contributors https://usebazaar.org/ https://github.com/bazaar-org/bazaar https://github.com/bazaar-org/bazaar/issues https://l10n.gnome.org/module/bazaar/ https://github.com/bazaar-org/bazaar/blob/master/README.md https://github.com/bazaar-org/bazaar/discussions https://github.com/sponsors/kolunmi https://github.com/kolunmi https://github.com/bazaar-org/bazaar bazaar io.github.kolunmi.Bazaar.desktop #ffbe6f #c11c2b https://github.com/user-attachments/assets/e67f35f0-9566-4068-93f5-cb814db0aedd The home page displaying Flathub apps https://github.com/user-attachments/assets/3de5d9a0-9c5d-461a-964c-7d680cc5f1a2 Exhibit app page https://github.com/user-attachments/assets/18424ebc-73a1-41b5-956e-57dcbcb592e6 Library page https://github.com/user-attachments/assets/73fa606d-9a54-4169-a692-a14375183b0c Search page https://github.com/user-attachments/assets/e38681c0-a064-4075-8a11-3d5f5d84703c Category page https://github.com/bazaar-org/bazaar/releases/tag/v0.9.2

New Features

  • Added an optional auto-update system
  • Greatly reduced memory usage when the app is running in the background
  • Metainfo files can now be opened in Bazaar directly from the file manager
  • Added scrollbars to the screenshot viewer

Bug Fixes

  • Fixed an issue where EOL rebases were not handled properly
  • Reduced the clunkiness of the "Leftover User Data" page

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.9.1

New Features

  • Added a "Similar Apps" section

Bug Fixes

  • Fixed a crash when opening a second window while logged in
  • Only start on the Curated section if it is not empty
  • Stopped the carousel from changing the layout while screenshots are loading

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.9.0

New Features

  • Added three new tabs to the "We ❤️ Games" section
  • App links can now span two columns
  • Improved the apps startup time
  • Improved the image viewer opening animation
  • Made many accessibility improvements

Bug Fixes

  • Fixed an issue where the app page would sometimes not update when busy refreshing

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.8.2

Maintenance Release

  • Add mobile search filter
  • Fix infinite fetching of user data folder size
  • Add Network subcategories
  • Remove tag list SEO-ism
  • Rework some UI components

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.8.1

Hot fix for an issue where updates would not show. Also adds a cancel button to the app tiles on the search page.

Other Fixes

  • Fix Flathub page svg graphics being rendered with a solid fill
  • Disable broken graphs for very new Flathub apps
  • Add workaround for KRunner sending broken app IDs

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.8.0

New Features

  • Add support for installing (.flatpak) bundles
  • New progress indicators
  • The ability to view and delete app caches

Fixes

  • Fix the download context tile not displaying a label for non-Flathub apps
  • Reduce RAM usage when no windows are open
  • Fix an issue where a window could open at the wrong size while a transaction was running
  • Many other bug fixes

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.15

New Features

  • Add support for previewing metainfo files
  • Show total installed apps number in the library view
  • Make exported desktop search provider app icon sizes adjustable

Fixes

  • Fix download timeline graph rerendering too much
  • Fix animated widget ticks not being in sync with fps
  • Fix progress animation for vertical pride flag stripes
  • Many other bug fixes

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.14

New Features

  • Rework the add-ons dialog
  • Add a gradient under the download timeline
  • Add a filter button to the search page
  • Add a button to show the EULA for some proprietary apps
  • Make the names of verified developers clickable links

Fixes

  • Fix the colours of the update card
  • Make the update banner follow the accent colour

Thanks for reading, and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.13

Changes

  • Update to GNOME 50 Runtime
  • Force Adwaita icon theme to ensure consistency
  • Add support for clickable links in app descriptions
  • Add timed lingering cache to async textures, thereby reducing image flickering
  • Add ability to sort installed apps by size in library view
  • Add BAZAAR_N_DOWNLOAD_WORKERS envvar support

Bug Fixes

  • Fix double shadow around update cards
  • Fix global progress button displaying a focus ring when invisible
  • Fix incorrect total size displayed on update tasks
  • Fix empty UI when Flathub hasn't finished syncing yet

Thanks for reading and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.11

This release contains many technical improvements. This changelog reflects roughly 2 weeks of work.

Changes

  • Respect system parental controls settings
  • Reap download workers when all windows are closed, reducing total memory usage
  • Add mnemonics to full app view
  • Many updates to language translations

Bug Fixes

  • Fix broken library page when backing installed apps model is empty
  • Fix int casting bug that was causing RetroDeck to appear to be 18.4 exabytes
  • Make "all apps" category pages respect global filters
  • Fix some text wrapping issues

Thanks for reading and have a great day!

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.10

This release fixes some bugs and greatly improves search functionality.

If you missed the previous release, in 0.7.9 we also added the ability to cancel transactions in the library view, a brand new screenshots carousel, search suggestion buttons, and app runtime size information. You can also now skip confirmation dialogs by holding shift as you start a transaction.

Thanks for reading!

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.9

**New Features**

  • Search suggestion pills
  • **Cancel installation** transactions
  • Skip dialogs by pressing shift
  • Runtime size info for app pages

**Updated**

  • Redesigned "What's New" dialog
  • Improved search results by utilizing Flathub rankings
  • Improved screenshots carousel
https://github.com/bazaar-org/bazaar/releases/tag/v0.7.8

This release lets you view and remove user-scoped installed apps from the library page in the Flatpak version of the app. Installing from user remotes is not supported yet.

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.7

This release comes with the following improvements:

  • Merges the task sidebar and install page into the library page
  • Add installed version numbers of each app on the library and app pages
  • Add donations dialog
  • Fix broken add-on and runtime eol detection
  • Add `enable-bulk-install` key to curated sections
  • Add `override-eol-markings` main config string list
https://github.com/bazaar-org/bazaar/releases/tag/v0.7.6

This release comes with the following improvements:

  • Improve context dialogs
  • Fix leftover data bar being shown prematurely
  • Have a rotation toggle for flags
  • Add hard check to prevent removing Bazaar flatpak
  • Improve download statistics tooltips
  • Add read support for flatpak bundles
  • Fix critical output sometimes during transactions
  • Fix error popover refusing to spawn in transaction sidebar
https://github.com/bazaar-org/bazaar/releases/tag/v0.7.5

Minor bugfix release

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.4

This release comes with the following improvements:

  • Fix issue where installed page is empty on opening second window
  • Fix screenshot flickering in search results
  • Fix pride flags sometimes not showing on certain locales
  • Add "Install all" to favorites page
https://github.com/bazaar-org/bazaar/releases/tag/v0.7.3

This release comes with the following improvements:

  • Trash user data instead of deleting
  • Tweaks to permissions dialog
  • Fix broken EOL filtering
  • Add text filter to installed page
  • Add optional translations mappings for string properties in YAML configs
  • Hide EOL apps by default
  • Many other minor bug fixes and improvements
https://github.com/bazaar-org/bazaar/releases/tag/v0.7.2

This small release ensures the new icon is rendered correctly on KDE Plasma.

https://github.com/bazaar-org/bazaar/releases/tag/v0.7.1

This release comes with the following improvements:

  • New market stall icon
  • Remove Flathub styling
  • Add horizontal versions of pride flags
  • Text selection in app descriptions can be made across paragraph breaks
  • Support YAML anchors and aliases in config parsing
  • Drastically reduce disk cache writes over time by skipping unchanged entries
  • Show background status in popover
  • Add app permission system
  • Add back release URLs
  • Fix sync-remotes action in shortcut dialog
  • Fix visual hiccups in comet animations
https://github.com/bazaar-org/bazaar/releases/tag/v0.7.0

This release comes with the following improvements:

  • Flathub account support with the ability to manage bookmarks
  • Flathub bookmarks replace star count; you can add or remove bookmarks from app pages
  • An "Only Show Verified" option
  • Exhaustive category pages for most categories
  • An "Adwaita" or "KDE" category shown based on desktop environment
  • Updated installed indicator for app tiles
  • 3 new flag options
  • Fixed GNOME search provider to show the app page instead of search
  • Fixed issue where flatpakref URIs did not open when the app wasn't running in the background
  • Fixed issue where some proprietary apps were marked as "Special License"
  • Fixed issue where graphs did not work with touch
https://github.com/bazaar-org/bazaar/releases/tag/v0.6.3

Another quick release to restore alphabetical sorting on the installed page

https://github.com/bazaar-org/bazaar/releases/tag/v0.6.2

Quick release to allow manual refresh if flathub is being flaky

https://github.com/bazaar-org/bazaar/releases/tag/v0.6.1

This release comes with the following improvements:

  • Fix frequent disk writes; set refresh frequency to 1 day rather than 1 hour
  • Add "Delete User Data" option when uninstalling an app
  • Version cache to prevent incompatibility between Bazaar versions
https://github.com/bazaar-org/bazaar/releases/tag/v0.6.0

This release comes with the following improvements:

  • Reworked loading to be substantially faster after first start via async loading
  • A gaming section on the Flathub page
  • Improved UI on mobile, especially on app pages
  • Verified badges next to most places where apps are shown
  • A popover that explains what verification and non-verification mean
  • An "other apps by" page for when a developer has more than 6 apps
  • Tags that show other apps with the same tag when pressed
  • An age rating dialog
  • Changed search filters into global content filters
  • 5 new pride flags
https://github.com/bazaar-org/bazaar/releases/tag/v0.5.10 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.9 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.8 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.7 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.6 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.5 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.4 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.3 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.2 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.1 https://github.com/bazaar-org/bazaar/releases/tag/v0.5.0 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.11 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.10 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.9 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.8 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.7 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.6 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.5 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.4 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.3 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.2 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.1 https://github.com/bazaar-org/bazaar/releases/tag/v0.4.0 https://github.com/bazaar-org/bazaar/releases/tag/v0.3.2 https://github.com/bazaar-org/bazaar/releases/tag/v0.3.1 https://github.com/bazaar-org/bazaar/releases/tag/v0.3.0 https://github.com/bazaar-org/bazaar/releases/tag/v0.2.3 https://github.com/bazaar-org/bazaar/releases/tag/v0.2.2 https://github.com/bazaar-org/bazaar/releases/tag/v0.2.1 https://github.com/bazaar-org/bazaar/releases/tag/v0.2.0 https://github.com/bazaar-org/bazaar/releases/tag/v0.1.0
bazaar-org-bazaar-917017d/data/io.github.kolunmi.Bazaar.search-provider.ini.in000066400000000000000000000002601523447664000271430ustar00rootroot00000000000000[Shell Search Provider] DesktopId=io.github.kolunmi.Bazaar.desktop BusName=io.github.kolunmi.Bazaar.SearchProvider ObjectPath=/io/github/kolunmi/Bazaar/SearchProvider Version=2bazaar-org-bazaar-917017d/data/io.github.kolunmi.Bazaar.service.in000066400000000000000000000002451523447664000247330ustar00rootroot00000000000000[Unit] Description=Bazaar Service PartOf=graphical-session.target [Service] Type=dbus BusName=io.github.kolunmi.Bazaar ExecStart=@bindir@/bazaar-daemon --no-window bazaar-org-bazaar-917017d/data/meson.build000066400000000000000000000034411523447664000203430ustar00rootroot00000000000000desktop_file = i18n.merge_file( input: 'io.github.kolunmi.Bazaar.desktop.in', output: 'io.github.kolunmi.Bazaar.desktop', type: 'desktop', po_dir: '../po', install: true, install_dir: get_option('datadir') / 'applications' ) desktop_utils = find_program('desktop-file-validate', required: false) if desktop_utils.found() test('Validate desktop file', desktop_utils, args: [desktop_file]) endif appstream_file = i18n.merge_file( input: 'io.github.kolunmi.Bazaar.metainfo.xml.in', output: 'io.github.kolunmi.Bazaar.metainfo.xml', po_dir: '../po', install: true, install_dir: get_option('datadir') / 'metainfo' ) appstreamcli = find_program('appstreamcli', required: false, disabler: true) test('Validate appstream file', appstreamcli, args: ['validate', '--no-net', '--explain', appstream_file]) install_data('io.github.kolunmi.Bazaar.gschema.xml', install_dir: get_option('datadir') / 'glib-2.0' / 'schemas' ) compile_schemas = find_program('glib-compile-schemas', required: false, disabler: true) test('Validate schema file', compile_schemas, args: ['--strict', '--dry-run', meson.current_source_dir()]) service_conf = configuration_data() service_conf.set('bindir', get_option('prefix') / get_option('bindir')) configure_file( input: 'io.github.kolunmi.Bazaar.service.in', output: 'io.github.kolunmi.Bazaar.service', configuration: service_conf, install_dir: get_option('prefix') / 'lib' / 'systemd' / 'user' ) service_conf = configuration_data() configure_file( input: 'io.github.kolunmi.Bazaar.search-provider.ini.in', output: 'io.github.kolunmi.Bazaar.search-provider.ini', configuration: service_conf, install_dir: get_option('datadir') / 'gnome-shell' / 'search-providers' ) subdir('icons') subdir('dbus') bazaar-org-bazaar-917017d/docs/000077500000000000000000000000001523447664000162165ustar00rootroot00000000000000bazaar-org-bazaar-917017d/docs/debugging.md000066400000000000000000000040301523447664000204700ustar00rootroot00000000000000# Debugging Bazaar ## Running Bazaar with Debug Messages Enabled You do this the same as with any other GLib application: ```sh pkill bazaar; env G_MESSAGES_DEBUG=all bazaar ``` This will produce a flood of output. If you know the specific log domain you want to see, you can replace `all` with that domain name, such as `flatpak` or `BAZAAR::CORE`. ## Bazaar Inspector Bazaar has its own inspector window, which you can spawn with the key combo `control+alt+shift+i`. This is meant to be useful for developers and distributors. The global debug mode toggle in this window basically just enables a bottom bar in each Bazaar window which displays useful information particular to that window and allows you to easily inspect the UI entry for the visible application. You can also disable blocklists from this window. This is a temporary internal property, not a configuration option; It will not be saved for the next Bazaar process. The rest of the contents of this window should be self-explanatory. ## Debugging Crashes ### Flatpak #### Installing the Debug Symbols This is mostly based on [flatpak docs](https://docs.flatpak.org/en/latest/debugging.html). Installing debug extensions so the stacktrace is actually useful for developers: ```sh flatpak install --include-debug --include-sdk io.github.kolunmi.Bazaar ``` You can remove all the gnome sdk and debug extensions again when you are finished with debugging. This is quite a big download, please have patience. #### Actually Start Debugging Bazaar starts a background service once started, make sure it is not running first: ```sh flatpak kill io.github.kolunmi.Bazaar ``` ```sh flatpak run --devel --command=bash io.github.kolunmi.Bazaar ``` This will get you a shell inside the flatpak sandbox: run this: `gdb /app/bin/bazaar-daemon` ```sh [📦 io.github.kolunmi.Bazaar ~]$ gdb /app/bin/bazaar-daemon ``` Actually run bazaar: ```sh $ (gdb) run ``` (reproduce the bug here so it crashes) after it crashed, retrieve the useful information: ```sh $ (gdb) thread apply all backtrace ``` bazaar-org-bazaar-917017d/docs/example.yaml000066400000000000000000000107101523447664000205340ustar00rootroot00000000000000rows: - banner: height: 250 image: light-uri: https://www.mibatcontrol.com/wp-content/uploads/2026/04/Raccoon-Removal-Services-1.png # regular "uri" option is also available dark-uri: https://cdn.answeroverflow.com/1233140484017487952/image.png # you can also use file:// fit: contain # contain, fill, cover or scale-down alt: "Raccoon" can-shrink: true halign: center dark-color: "#2b1f3d" light-color: "linear-gradient(135deg, #2b1f3d 0%, #778cf7 100%)" # Can also be a type of gradient # light-color: "url('file:///var/home/xander/Downloads/Conservation-Quest-at-Windsor-Great-Park-3.jpg') center / cover no-repeat" # Even an image should be possible - section: title: "Welcome to Bazaar" subtitle: string: | # Basic markdown is supported here. Discover apps you'll love. Here's one to get you started: [GNOME Calculator](appstream://org.gnome.Calculator). overflow-count: 8 # Will automatically create a "Show More" button, if there are more apps than the count (except if enable-bulk-install is true) appids: list: - org.gnome.Calendar - org.gnome.Contacts - org.gnome.Maps - org.gnome.Calculator - org.gnome.TextEditor - org.gnome.Loupe - org.mozilla.firefox - org.gnome.Boxes - org.gnome.Weather - org.gnome.clocks - org.gnome.Music - org.gnome.Showtime - org.gnome.Characters - org.gnome.Connections - org.gnome.Software - org.gnome.SimpleScan - org.gnome.font-viewer - org.gnome.Logs - articles: aspect-ratio: 1.777 # aspect ratio of the thumbnails, per articles section uri: https://usebazaar.org/curated/articles.yaml # Can be used as a feed. list: # Used only if URI fails, or is not given. - title: "Introducing GNOME 50, “Tokyo”" # Also used as the title on the article page subtitle: "First Half of 2026" image: https://release.gnome.org/50.webp # Always in 16:9 uri: file:///var/home/xander/test-article.md - title: "#254 Commit Graph" subtitle: "This Week in GNOME" image: https://thisweek.gnome.org/posts/2026/06/twig-254/cover.webp uri: file:///var/home/xander/twig.md - title: "Introducing GNOME 50, “Tokyo”" subtitle: "First Half of 2026" image: https://release.gnome.org/50.webp uri: file:///var/home/xander/test-article.md - title: "HTTPS Test" subtitle: "This Week in GNOME" image: https://thisweek.gnome.org/posts/2026/06/twig-254/cover.webp uri: https://gist.githubusercontent.com/allysonsilva/85fff14a22bbdf55485be947566cc09e/raw/fa8048a906ebed3c445d08b20c9173afd1b4a1e5/Full-Markdown.md - featured-carousel: # A carousel, like the one seen at the top of the "Explore" page disable-auto-rotate: true appids: list: - io.github.kolunmi.Bazaar - be.alexandervanhee.gradia - section: title: "Web Browsers" list-type: rich # Directly features an install button on the card, use when a section has little apps. appids: list: - org.mozilla.firefox - com.google.Chrome - com.brave.Browser - org.chromium.Chromium - section: title: "Creative & Media" appids: list: # Sections of 12 apps look nice at all window widths - org.gnome.Music - org.gnome.Showtime - org.gnome.Loupe - org.gimp.GIMP - org.inkscape.Inkscape - org.blender.Blender - org.kde.krita - org.audacityteam.Audacity - org.kde.kdenlive - com.obsproject.Studio - org.shotcut.Shotcut - com.github.PintaProject.Pinta - section: title: "Developer Tools" subtitle: string: | Install these to become the *ultimate* developer list-type: rich appids: list: - me.iepure.devtoolbox - org.gnome.Builder - com.jetbrains.IntelliJ-IDEA-Community - re.sonny.Workbench enable-bulk-install: true - banner: image: uri: https://images.unsplash.com/photo-1612287230202-1ff1d85d1bdf?q=80&w=1471&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D fit: cover can-shrink: true bazaar-org-bazaar-917017d/docs/overview.md000066400000000000000000000703131523447664000204120ustar00rootroot00000000000000# Bazaar Overview These docs are intended for distributors of Bazaar to learn how to configure the application. ## Features Here is a short list of some of the things Bazaar can do, beyond the basics of managing software through the GUI: * Queue an arbitrary number of transactions (a catch-all term for installations, updates, and removals) during which you may close all windows or continue to append new transactions freely * Display a "Curated" page which you may extensively customize with YAML. * This is a way to highlight applications which you believe might be of interest. * Curated configuration files are constantly monitored for filesystem events, changes immediately reflected in the GUI * Any number of curated configuration files; they will concatenate in the GUI in the order they were provided * Access data from [Flathub](https://flathub.org/), such as the latest or most popular applications, and allow users to sign in to Flathub to manage bookmarked applications * Run in the background and respond to desktop search queries with application info, using the same search routine as in-application - GNOME will work out of the box, as Bazaar implements the `org.gnome.Shell.SearchProvider2` dbus interface - KDE Plasma will require a [krunner plugin](https://github.com/ublue-os/krunner-bazaar) * Hide applications you do not want users to see with blocklists, which is useful for discouraging the use of certain packages which you deem to be broken. * Manage an arbitrary amount of windows and keep them synchronized * Communicate with, and invoke operations on, the main daemon through the command line ## CLI Usage You can start the bazaar daemon like this: ``` bazaar-daemon [ARGS] [PACKAGE PATH/URI] ``` `[PACKAGE PATH/URI]` could be a `.flatpakref` file. flatpak+https and regular https is supported. To avoid spawning an initial window, use: ``` bazaar-daemon --no-window ``` ## Comptime Configuration The only compile time meson option you should concern yourself with for production is `hardcoded_main_config_path`. This embeds a path to the main configuration file into Bazaar. If this is not defined at compile time, Bazaar will never attempt to read a main config. See the next section of this document to see an example config file. ## Environment Variables Bazaar reads the following environment variables, which may be of interest: * `BAZAAR_DESKTOP_SEARCH_PROVIDER_ICON_SIZE`: may be read as an unsigned integer from 1 to 256 to specify the square pixel size of icons sent to the desktop search provider. This should be configured to be a higher value than its default value of 24x24 when on KDE, as krunner paints result icons as much larger than gnome-shell does. This way, the images will not appear blurry. * `BAZAAR_N_DOWNLOAD_WORKERS`: may be read as an unsigned integer greater than 0 to specify the number of image download worker subprocesses that should be spawned and managed by Bazaar to fetch screenshots, icons, and other images. By default, Bazaar spawns 8 download workers. Download workers are always killed when Bazaar has no active windows and ensured when Bazaar returns to having 1 or more windows. ## Main Configuration This is the primary YAML configuration file for bazaar, as designated by the `hardcoded_main_config_path` meson option. Here, you will point bazaar to where your other configs are located. You can also define hooks in this file. See the "Hooks" section of this document for an overview of the hooks system and an example of integration into the main config. ### Example ```yaml yaml-blocklist-paths: - /path/to/yaml/blocklist.yaml - /path/to/another/yaml/blocklist.yaml # Flatpak path with host-etc permission - /run/host/etc/bazaar/blocklist.yaml txt-blocklist-paths: - /path/to/txt/blocklist.txt - /path/to/another/txt/blocklist.txt # Flatpak path with host-etc permission - /run/host/etc/bazaar/blocklist.txt curated-config-paths: - /path/to/yaml/file.yaml - /path/to/another/yaml/file.yaml # Flatpak path with host-etc permission - /run/host/etc/bazaar/curated.yaml # Make the app start on the curated page instead of the explore page, try to only use if you have an interesting news section start-on-curated: true # Hide the auto update options in the preferences dialog, useful when you want to avoid confusion if your distro handles auto-updates of Flatpaks already. hide-auto-update-options: true ``` ### EOL Overrides In this file, you can also specify a list of apps for which to hide EOL warnings and therefore prevent users from being deterred from installing them: ```yaml override-eol-markings: - com.obsproject.Studio - net.lutris.Lutris ``` (At the time of writing, the projects listed above rely on EOL runtimes but are otherwise widely used) ## Blocklists Blocklists are a way to ensure that users will never interact with a certain application inside Bazaar by searching or browsing, either on the Flathub page or via search. Blocked applications which are already installed still appear in the library or when there are updates available for them and via the system's flatpak configuration. Under no circumstance does Bazaar touch the underlying flatpak configuration in order to block or allow apps. The `flatpak` command line tool is unaffected. ### Blocklist Types There are two kinds of blocklists supported by Bazaar: #### YAML Blocklists For those who are learn more effectively by seeing an example: ```yaml blocklists: - priority: 0 block-regex: # block all ids matching this regex unconditionally - com\.place\..* - priority: -1 # lower number = more priority conditions: - match-locale: # only apply this rule if we have the Arabic locale regex: ar allow: - com.place.App3 - com.place.App5 allow-regex: - com\.place\..*\.ar - priority: -1 conditions: - match-locale: regex: en.* # invert the result of this condition; so all locales which don't match # the regex post-process: invert - match-envvar: var: PATH regex: .*/usr/local/bin.* block: - com.other.App1 allow: - com.place.App1 - com.place.App2 ``` YAML blocklists files are comprised of a list of sub "blocklists," which to Bazaar means a **list of appids to block or allow**. These are optionally **applied based on a list of provided conditions** and **composed with other blocklists in the list based on a priority**. Each blocklist may contain these fields: * `priority`: a number which tells Bazaar how to layer this blocklist with the others, or how "important" this blocklist is. **A lower number means more priority**. * `conditions`: a list of conditions to apply. Two condition types exist at the moment: `match-locale` and `match-envvar`. TODO: describe these * `block`: a list of appids to block. These are matched without regex. * `block-regex`: a list of appids to block. These allow regex syntax for special matching. * `allow`: a list of appids to allow. These are matched without regex. * `allow-regex`: a list of appids to allow. These allow regex syntax for special matching. #### Basic Newline Separated TXT Blocklists This type of blocklist is what Bazaar originally supported. They still function, but it is encouraged to use YAML blocklists if any sort of pattern matching or conditional inclusion is required. ``` # comments are supported com.jetbrains.CLion com.valvesoftware.Steam # empty lines are allowed io.neovim.nvim net.lutris.Lutris ``` Warning: **Incorrect Buzzer** TXT blocklists do not support regular expressions. This matches the literal text provided ``` com\.place\..* ``` ### Blocklist FAQ #### No Worky Check that the path of the blocklist exists and that Bazaar can access it. This command is useful for debugging this: ``` flatpak run --command=bash io.github.kolunmi.Bazaar ``` The `/etc` of the host system accessed from a Flatpak requires the `host-etc` permission. This means `/etc/bazaar/banner.png` turns into `/run/host/etc/bazaar/banner.png`. #### I want to to block a list of applications all the time, and also another list only on desktop environment X: Say you want to block Bazaar and Steam unconditionally and Kate and KWrite if the desktop is Plasma. You can use an environment variable condition to check the value of `XDG_CURRENT_DESKTOP`: ```yaml blocklists: - block: - io.github.kolunmi.Bazaar - com.valvesoftware.Steam - block: - org.kde.kate - org.kde.kwrite conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: KDE ``` Let's add another for GNOME: ```yaml blocklists: - block: - io.github.kolunmi.Bazaar - com.valvesoftware.Steam - block: - org.kde.kate - org.kde.kwrite conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: KDE - block: - org.gnome.eog - org.gnome.Extensions conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: GNOME ``` #### What about blocking an application by default, but allowing it if a condition resolves to true? Taking from the previous example, let's allow Steam on KDE and GNOME, but block it on other desktops. We'll need to give the DE-specific blocklists more priority: ```yaml blocklists: - priority: 1 block: - io.github.kolunmi.Bazaar - com.valvesoftware.Steam - block: - org.kde.kate - org.kde.kwrite allow: - com.valvesoftware.Steam conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: KDE - block: - org.gnome.eog - org.gnome.Extensions allow: - com.valvesoftware.Steam conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: GNOME ``` You could also make a new blocklist matching both `KDE` and `GNOME`: ```yaml blocklists: - priority: 1 block: - io.github.kolunmi.Bazaar - com.valvesoftware.Steam - block: - org.kde.kate - org.kde.kwrite conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: KDE - block: - org.gnome.eog - org.gnome.Extensions conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: GNOME - allow: - com.valvesoftware.Steam conditions: - match-envvar: var: XDG_CURRENT_DESKTOP regex: KDE|GNOME ``` ## Curated Section If Bazaar is provided a non-zero amount of curated configs, an extra tab will appear on the window's header bar called "Curated". This section is intended for distributors to curate applications for users with a customizable interface. Curated configs are YAML files. They are constantly monitored by Bazaar for filesystem events, so when the config changes, Bazaar will automatically reload the content. Right now, curated configs are essentially composed of a vertical list of elements which appear stacked on top of each other inside of a scrollable viewport in the order they appear in the YAML. Each element has certain properties you can customize. Bazaar maps the appids you provide to the best matching "entry group" from the table of applications it was able to pull from remote sources (Simply put, an entry group in Bazaar is a collection of applications which share the same appid but come from different sources or installations). The entry group has a designated "ui entry" which was determined to have the most useful content associated with it as it pertains to presenting things like icons, descriptions, screenshots, etc to the user, usually from Flathub when available. When the user selects an app, they are brought to a "full view" where they can see a bunch of information stored inside or referenced by the ui entry and choose to invoke transactions on the entry group, like installation or removal. ### Example An example can be found in docs/example.yaml ### Integrate the curated section + blocklist with the official Flatpak for Administrators/Vendors For more practical examples check out the configuration from [Bluefin](https://github.com/projectbluefin/common/tree/a868eba107b91c4eae60b6d1d6d2e2cdf05eb1c8/system_files/bluefin/etc/bazaar) and [Aurora](https://github.com/get-aurora-dev/common/tree/0d86028dd0d737d1d0eee08205c33fc91997f155/system_files/shared/etc/bazaar). Bazaar by default looks for a config file in `/etc/bazaar` or `/run/host/etc/bazaar` inside the sandbox, this is [configured on build time](https://github.com/flathub/io.github.kolunmi.Bazaar/blob/709faccd8c4198c5fdabf20eb4a98db98a5aa1c6/io.github.kolunmi.Bazaar.yaml#L43-L46) This needs permission to `/etc` which can be granted with the `filesystem=host-etc` permission, the build on Flathub doesn't have this permission by default. This is not super straightforward to setup currently as Flatpak doesn't support overriding permissions in `/etc` or `/usr` yet, so you have to resort to `systemd-tmpfiles` to create this permission override in `/var/lib/flatpak/overrides/io.github.kolunmi.Bazaar`. Here is how they did it: - [tmpfiles](https://github.com/get-aurora-dev/common/blob/0d86028dd0d737d1d0eee08205c33fc91997f155/system_files/shared/usr/lib/tmpfiles.d/bazaar-flatpak.conf) - [actual permission override](https://github.com/get-aurora-dev/common/blob/0d86028dd0d737d1d0eee08205c33fc91997f155/system_files/shared/usr/share/ublue-os/flatpak-overrides/io.github.kolunmi.Bazaar), the filepath for this doesn't really matter, just a way for you to ship the symlink with tmpfiles ## Article markdown Curated articles support standard markdown, rendered with GTK widgets (so its not a webview). **Supported:** - Basic markdown - Inline code - Code blocks (with syntax highlighting if language is specified) - Ordered and unordered lists - Tables - Horizontal rules - Links **Not supported**: - Raw HTML - Latex - Other weird things - Column alignment in tables ### Inline images & app tiles Regular image syntax (`![title](https://example.com/image.png)`) renders a normal image/screenshot. Two special URI schemes can be used instead to render app tiles inline: * `appstream://`: looks up a real app by its appid and renders like any other app button. * `bazaar-hook://?id=&title=&subtitle=<subtitle>&icon=<icon-uri>`: renders a fake tile that is not backed by a real app. Clicking it runs an `article-app` hook instead of opening a full app view. You can mix multiple tiles of either kind into one row by comma-separating them inside a single image tag: ```markdown ![](appstream://org.gnome.Calculator,bazaar-hook://?id=neovim&title=Neovim&subtitle=Vim-fork%20focused%20on%20extensibility%20and%20useablitiy&icon=https://gitlab.com/uploads/-/system/project/avatar/56714943/nvim-icon.png) ``` Every curated article already shows the title from the curated section at the top, so please do not include it in the markdown itself. ## Hooks Hooks are an advanced feature of Bazaar. In essence, they allow you to programmatically react to events and define dialogs with which you can query user input. Currently, these are the event signals you can subscribe to: * `view-app`: run the hook when the user clicks on an app tile or otherwise views an application in the main app page * `article-app`: run the hook when the user clicks a `bazaar-hook://` tile inside a curated article * `before-transaction`: run the hook right as the user invokes a transaction * `after-transaction`: run the hook after a transaction completes Hooks are run like a signal emission. After an event occurs, hooks that are found to be of the appropriate type are evaluated in an order of priority. Higher priority hooks have the ability to stop the emission from propagating further downwards. In the case of some events, like "before-transaction", a hook can also hint to Bazaar some action to take, in this case whether the transaction should be aborted. A shell snippet which is defined by you is evaluated with `/bin/sh -c` multiple times over the course of a hook's execution. An invocation of the shell snippet is referred to as a "stage". Your shell snippet (which of course could just invoke another script written in whatever language you prefer) will be provided a number of environment variables which together will describe the current stage. Your snippet must react accordingly by printing a response to stdout, which Bazaar will read back. This opens up a lot of possibilities for customization; here are a few examples: * You would like a certain appid to be added to steam after the user installs it, so you register a hook on "after-transaction" to query the user's permission with a custom dialog. If they confirm, your script will go forward with the task of setting up a steam shortcut. * You would like to prevent users from installing a certain appid, as some other method of installation, such as a system package, would provide a superior experience. A blocklist could achieve this, but you don't like the idea of hiding anything from the user. A hook subscribed to the "before-transaction" event could issue a warning and ask for extra confirmation. If the user decides to listen to the warning, you can signal to Bazaar that the transaction should be aborted. Here is an overview of the environment variables the shell snippet will receive: * `BAZAAR_HOOK_INITIATED_UNIX_STAMP`: the unix timestamp in seconds at which this hook was first invoked (the number of seconds that have elapsed since 1970-01-01 00:00:00 UTC) * `BAZAAR_HOOK_INITIATED_UNIX_STAMP_USEC`: the unix timestamp in microseconds at which this hook was first invoked (the number of microseconds that have elapsed since 1970-01-01 00:00:00 UTC) * `BAZAAR_HOOK_STAGE_IDX`: the number of stages this hook has run so far * `BAZAAR_HOOK_ID`: the value of the "id" mapping * `BAZAAR_HOOK_TYPE`: the value of the "when" mapping * `BAZAAR_HOOK_WAS_ABORTED`: "true" if a dialog aborted the hook * `BAZAAR_HOOK_DIALOG_ID`: if applicable, the id of the current dialog * `BAZAAR_HOOK_DIALOG_RESPONSE_ID`: if applicable, the user response given through the current dialog * `BAZAAR_APPID`: if applicable, the appid of the entry Bazaar is currently dealing with. Use this for hooks that are not related to transactions. If your hook deals with transactions, such as `before-transaction` or `after-transaction`, use `BAZAAR_TS_APPID` instead. * `BAZAAR_TS_APPID`: if applicable, the appid of the entry Bazaar is currently dealing with. Use this for hooks that are related to transactions. If your hook does not deal with transactions, such as `view-app`, use `BAZAAR_APPID` instead. * `BAZAAR_TS_TYPE`: if applicable, the type of transaction being run. Can be "install", "update", or "removal". * `BAZAAR_HOOK_STAGE`: the stage at which the hook is running. This will indicate what the shell body is instructed to do at this time. The shell body must respond by outputting to stdout with a valid answer; the structure of a valid answer will depend on the stage, and if the structure is not valid the hook will be abandoned. The shell body might be run multiple times by Bazaar over the course of a hook with this variable set to differing values in order know how to orchestrate events in the UI, so the shell body must be able to branch depending on the value. The value may be any of the following: * `setup`: the hook is starting. Respond with "ok" to continue the execution of this hook, or "pass" to skip it and move on to the next registered hook * `setup-dialog` Bazaar is ready to ask the user a question with one of the dialogs you've defined inside the "dialogs" mapping. `BAZAAR_HOOK_DIALOG_ID` will tell you which one. Respond with "ok" to spawn the dialog, or "pass" to skip the dialog. * `teardown-dialog` Bazaar has received input from the user after asking them a question with one of the dialogs you've defined inside the "dialogs" mapping. `BAZAAR_HOOK_DIALOG_ID` will tell you which one. `BAZAAR_HOOK_DIALOG_RESPONSE_ID` will tell you the response the user chose. Respond with "ok" to continue, or "abort" to stop the execution of this hook. * `catch` One of your dialogs has aborted. This is your chance to handle the error. Respond with "recover" to continue, or "abort" to confirm that the execution of this hook should indeed skip to the teardown stage. * `action` Everything so far has gone according to plan, so it is time to take whatever external action this hook exists for. Bazaar requires no response at this time. * `teardown` The hook is cleaning up. Respond with "continue" to propagate the signal emission to lower priority hooks, or "stop" to indicate the emission should stop. Alternatively, if this hook type should hint to Bazaar an action to take (such as the "before-transaction" hook), respond with "confirm" to hint that the action should be taken, or "deny" to prevent the action from being taken. Both "confirm" and "deny" imply the effect of "stop", and "stop" implies "confirm". ### Example Hooks are defined in the main yaml config as indicated by the `hardcoded_main_config_path` comptime var. Here is a basic example demonstrating how to define a hook: `hardcoded_main_config_path`: ```yaml hooks: - id: handle-jetbrains when: before-transaction dialogs: - id: jetbrains-warning title: >- JetBrains IDEs are not supported in this format # If true, render inline markup commands in body; see # https://docs.gtk.org/Pango/pango_markup.html body-use-markup: true body: >- This is a <a href="https://www.jetbrains.com/">JetBrains</a> application and is not officially supported on Flatpak. We recommend using the Toolbox app to manage JetBrains IDEs. # Determines which option will be assumed if the user hits the # escape key or otherwise cancels the dialog default-response-id: cancel options: - id: cancel string: "Cancel" - id: goto-web string: "Download JetBrains Toolbox" # can be "destructive" or "suggested" or omit for no # styling style: suggested shell: exec /absolute/path/to/bazaar-jetbrains-hook.bash # This gives you the opportunity to add a basic regex check on an incoming # appid before incurring the overhead of spawning a subprocess. This # improves performance and reduces script boilerplate for long lists of # hooks that execute on specific appids. check-appid-regex: ^com\.jetbrains\..*$ ``` `/absolute/path/to/bazaar-jetbrains-hook.bash`: ```bash #!/usr/bin/env bash handle_setup_stage() { # only proceed if the user is installing something if [ "$BAZAAR_TS_TYPE" = install ]; then case "$BAZAAR_TS_APPID" in com\.jetbrains\.*) # since the appid belongs to jetbrains, we continue # with the hook echo 'ok' ;; *) # otherwise, skip this hook echo 'pass' ;; esac else echo 'pass' fi } handle_setup_dialog_stage() { # we don't need to do anything here right now, just let Bazaar # know we should continue setting up the dialog echo 'ok' } handle_teardown_dialog_stage() { case "$BAZAAR_HOOK_DIALOG_RESPONSE_ID" in goto-web) # if the user pressed "Download JetBrains Toolbox", # continue echo 'ok' ;; *) # otherwise, let's not do anything echo 'abort' ;; esac } handle_catch_stage() { # this only happens if the `teardown-dialog` stage echoed "abort", # we could echo "recover" at this point to still go to the # `action` stage, but we have no reason to do that right now echo 'abort' } handle_action_stage() { # this is where we do the thing! it is important to use `nohup` # here so bazaar doesn't hang nohup xdg-open 'https://www.jetbrains.com/toolbox-app/' } handle_teardown_stage() { # Let's always prevent the user from installing JetBrains stuff echo 'deny' } # Branch based on the stage case "$BAZAAR_HOOK_STAGE" in setup) handle_setup_stage ;; setup-dialog) handle_setup_dialog_stage ;; teardown-dialog) handle_teardown_dialog_stage ;; catch) handle_catch_stage ;; action) handle_action_stage ;; teardown) handle_teardown_stage ;; esac # exit successfully exit 0 ``` ## Search Biases Search biases are a mechanism provided by Bazaar to influence search results. Given a regex string with which to match a search query, a bias can replace the matched text with a new string and/or adjust the scores of certain appids according to a defined function if a match occurs. This is particularly useful in the following cases: * An application is, for example, an image editor, but doesn't show up in the results for "image editor" because its metadata doesn't contain those search tokens for whatever reason. A search bias can ensure that the app appears despite this. * You want an abbreviation or phrase to be expanded into a version which is more likely to yield better results. For example, Bazaar hardcodes the expansion of the abbreviation `dl` to `download`, which is more helpful when searching metadata. ### Boost Functions Right now, there are two kinds of boost functions you can specify to influence the score of certain appids in the event of a regex match: linear and exponential: #### Linear Linear functions require a `slope` and a `y-intercept` and are evaluated like this: ``` new-score = y-intercept + (slope * original-score) ``` #### Exponential Exponential functions require a `factor` and a `y-intercept` and are evaluated like this: ``` new-score = y-intercept * (factor ^ original-score) ``` ### Examples Search biases are defined in the main yaml config as indicated by the `hardcoded_main_config_path` comptime var. Here is a basic example demonstrating how to define search biases: ```yaml search-biases: # Brief regex review: # `^` indicates the beginning of the string # `$` indicates the end of the string # `\b` indicates a word boundary # `(?i)` means case insensitive # Convert queries like "smb server" to "samba server" - regex: \b(?i)smb\b convert-to: samba # Give your favorite matrix clients a simple boost of 100.0 to their score - regex: \b(?i)matrix\b boost-appids: - org.gnome.Fractal - im.riot.Riot linear-boost: slope: 1.0 y-intercept: 100.0 # Convert the search _and_ boost appids - regex: ^(?i)deck$ convert-to: steam deck boost-appids: - com.github.Matoking.protontricks - com.steamgriddb.steam-rom-manager - com.valvesoftware.SteamLink linear-boost: slope: 1.2 y-intercept: 20.0 # Biases are applied in the order that you specify them, so in both the case # that the user types "deck" or "steam deck launcher", the following will be # applied: - regex: \bsteam deck\b boost-appids: - net.retrodeck.retrodeck exponential-boost: factor: 2.0 y-intercept: 5.0 ``` Pro tip: pressing `ctrl-alt-d` in Bazaar activates debug mode, which enables you to see the scores of app results on the search page. This is useful for debugging search biases! ## Translations in YAML Configs For any string scalar property in YAML configs parsed by bazaar, you can optionally provide a map of language code ids -> translated strings. This is for strings only, thus it doesn't apply to scalars which are explicitly parsed as numbers, etc. For instance, this is valid: ```yaml # ... category: title: "My Favorite Apps" subtitle: "These are really good and you should download them!" # ... ``` This is also valid: ```yaml # ... category: title: en: "My Favorite Apps" es: "Mis Aplicaciones Favoritas" ko: "ë‚´ę°€ 가장 좋아í•는 앱들" subtitle: en: "These are really good and you should download them!" es: "¡Son realmente buenos y deberĂ­as descargarlos!" ko: "ěť´ę˛ë“¤ěť€ ě •ë§ ě˘‹ěśĽë‹ ęĽ­ 다운로드í•세요!" # ... ``` (I just used google translate for these, sorry if they are bad) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/funding.json��������������������������������������������������������������0000664�0000000�0000000�00000006401�15234476640�0017614�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{ "$schema": "https://fundingjson.org/schema/v1.1.0.json", "version": "v1.0.0", "entity": { "type": "individual", "role": "maintainer", "name": "Adam Masciola", "email": "kolunmi@posteo.net", "phone": "", "description": "Adam is the creator and lead programmer of Bazaar.", "webpageUrl": { "url": "https://www.kolunmi.net/" } }, "projects": [ { "guid": "bazaar", "name": "Bazaar", "description": "Bazaar is a vertically-integrated App Store for Linux desktop applications, tightly integrating with Flatpak application packages and flathub.org, the central Flatpak repository. It provides a beautiful and high-performance frontend to these open standards and open infrastructure for Linux desktop apps.", "webpageUrl": { "url": "https://usebazaar.org/" }, "repositoryUrl": { "url": "https://github.com/bazaar-org/bazaar", "wellKnown": "https://github.com/bazaar-org/bazaar/blob/main/.well-known/funding-manifest-urls" }, "licenses": ["spdx:GPL-3.0"], "tags": ["app-store", "flatpak"] } ], "funding": { "channels": [ { "guid": "kolunmi-bank", "type": "bank", "address": "", "description": "Direct bank transfers to USA bank. Please e-mail me for details." } ], "plans": [ { "guid": "curation", "status": "active", "name": "Curation", "description": "Bazaar acts as both a software frontend and a curated frontend to flathub.org, which requires a small amount of continuous curation of applications (in the form of presentation layer tweaks) as they flow through Flathub.", "amount": 200, "currency": "USD", "frequency": "monthly", "channels": ["kolunmi-bank"] }, { "guid": "developer-time", "status": "active", "name": "Developer Compensation", "description": "This will cover the cost of kolunmi's full-time contribution to Bazaar and integration with other projects.", "amount": 2000, "currency": "USD", "frequency": "monthly", "channels": ["kolunmi-bank"] }, { "guid": "donations", "status": "active", "name": "Donation GUI Enhancements", "description": "Because Bazaar is increasingly the default Linux App Store, and many desktop Linux applications are F/OSS, carefully-designed donation opportunities to those projects will grow the overall Linux desktop.", "amount": 300, "currency": "USD", "frequency": "monthly", "channels": ["kolunmi-bank"] }, { "guid": "gnome-core", "status": "active", "name": "GNOME Circle and Core", "description": "This is an ongoing task to get Bazaar into GNOME Circle and, ultimately, GNOME Core. This will require code review, security concerns, code cleanup, etc. in conjunction with the GNOME Core teams. Some of this work has already begun with the GNOME Design Team. Bazaar is already the default App Store on Bazzite, Nobara, and the other Universal Blue distributions.", "amount": 500, "currency": "USD", "frequency": "monthly", "channels": ["kolunmi-bank"] } ], "history": [] } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/meson.build���������������������������������������������������������������0000664�0000000�0000000�00000011712�15234476640�0017432�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������project('bazaar', 'c', version: run_command('version.sh', 'get-vcs').stdout().strip(), meson_version: '>= 1.0.0', default_options: [ 'warning_level=2', 'werror=false', 'c_std=gnu11', ], ) # can't have statements before `project` ... bz_vcs_version = run_command('version.sh', 'get-vcs').stdout().strip() bz_version = run_command('version.sh', 'get-version').stdout().strip() bz_cache_version = run_command('version.sh', 'get-cache').stdout().strip() python3 = find_program('python3') i18n = import('i18n') if get_option('im_a_translator') subdir('po') else gnome = import('gnome') cc = meson.get_compiler('c') project_c_args = [] test_c_args = [ '-Wcast-align', '-Wdeclaration-after-statement', '-Werror=address', '-Werror=array-bounds', '-Werror=empty-body', '-Werror=implicit', '-Werror=implicit-function-declaration', '-Werror=incompatible-pointer-types', '-Werror=init-self', '-Werror=int-conversion', '-Werror=int-to-pointer-cast', '-Werror=main', '-Werror=misleading-indentation', '-Werror=missing-braces', '-Werror=missing-include-dirs', '-Werror=nonnull', '-Werror=overflow', '-Werror=parenthesis', '-Werror=pointer-arith', '-Werror=pointer-to-int-cast', '-Werror=redundant-decls', '-Werror=return-type', '-Werror=sequence-point', '-Werror=shadow', '-Werror=strict-prototypes', '-Werror=trigraphs', '-Werror=undef', '-Werror=write-strings', '-Wformat-nonliteral', '-Wignored-qualifiers', '-Wimplicit-function-declaration', '-Wlogical-op', '-Wmissing-declarations', '-Wmissing-format-attribute', '-Wmissing-include-dirs', '-Wmissing-noreturn', '-Wnested-externs', '-Wno-cast-function-type', '-Wno-dangling-pointer', '-Wno-missing-field-initializers', '-Wno-sign-compare', '-Wno-unused-parameter', '-Wold-style-definition', '-Wpointer-arith', '-Wredundant-decls', '-Wstrict-prototypes', '-Wswitch-default', '-Wswitch-enum', '-Wundef', '-Wuninitialized', '-Wunused', '-fno-strict-aliasing', ['-Werror=format-security', '-Werror=format=2'], ] if get_option('buildtype') != 'plain' test_c_args += '-fstack-protector-strong' endif foreach arg: test_c_args if cc.has_multi_arguments(arg) project_c_args += arg endif endforeach add_project_arguments(project_c_args, language: 'c') if get_option('bge_only') subdir('bge') else config_h = configuration_data() config_h.set_quoted('PACKAGE_VERSION', bz_version) config_h.set_quoted('PACKAGE_VCS_VERSION', bz_vcs_version) config_h.set_quoted('CACHE_VERSION', bz_cache_version) config_h.set_quoted('GETTEXT_PACKAGE', 'bazaar') config_h.set_quoted('APPLICATION_ID', 'io.github.kolunmi.Bazaar') config_h.set_quoted('LOCALEDIR', get_option('prefix') / get_option('localedir')) config_h.set_quoted('DONATE_LINK', 'https://ko-fi.com/kolunmi') config_h.set_quoted('RELEASE_PAGE', run_command('version.sh', 'get-gh-release').stdout().strip()) bazaar_bin_name = 'bazaar' config_h.set_quoted('BAZAAR_BIN_NAME', bazaar_bin_name) config_h.set_quoted('REFRESH_WORKER_CLI_OPTION', '--run-refresh-worker') config_h.set_quoted('UPDATE_WORKER_CLI_OPTION', '--run-update-worker') dl_worker_bin_name = 'bazaar-dl-worker' config_h.set_quoted('DL_WORKER_BIN_NAME', dl_worker_bin_name) daemon_bin_name = 'bazaar-daemon' config_h.set_quoted('DAEMON_BIN_NAME', daemon_bin_name) bazaar_bin_name = 'bazaar' config_h.set_quoted('BAZAAR_BIN_NAME', bazaar_bin_name) config_h.set_quoted('BAZAAR_BIN_PATH', get_option('prefix') / get_option('bindir') / bazaar_bin_name) if get_option('hardcoded_main_config_path') != '' config_h.set_quoted('HARDCODED_MAIN_CONFIG', get_option('hardcoded_main_config_path')) endif if get_option('hardcoded_blocklist_path') != '' config_h.set_quoted('HARDCODED_BLOCKLIST', get_option('hardcoded_blocklist_path')) endif if get_option('hardcoded_content_config_path') != '' config_h.set_quoted('HARDCODED_CONTENT_CONFIG', get_option('hardcoded_content_config_path')) endif if get_option('sandboxed_libflatpak') config_h.set_quoted('SANDBOXED_LIBFLATPAK', '1') endif if get_option('development') config_h.set10('DEVELOPMENT_BUILD', get_option('development')) config_h.set_quoted('DEVELOPMENT_EXAMPLE_YAML', get_option('prefix') / get_option('datadir') / 'bazaar' / 'example.yaml') install_data( 'docs/example.yaml', install_dir: get_option('datadir') / 'bazaar', ) endif configure_file(output: 'config.h', configuration: config_h) add_project_arguments(['-I' + meson.project_build_root()], language: 'c') subdir('bge') subdir('data') subdir('src') subdir('po') gnome.post_install( glib_compile_schemas: true, gtk_update_icon_cache: true, update_desktop_database: true, ) endif endif ������������������������������������������������������bazaar-org-bazaar-917017d/meson_options.txt���������������������������������������������������������0000664�0000000�0000000�00000002123�15234476640�0020721�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������option('bge_only', type: 'boolean', value: false, description: 'Whether to restrict the build to libbge') option('hardcoded_main_config_path', type: 'string', value: '', description: 'Hardcoded absolute path to a main yaml config which will be read at runtime') option('hardcoded_blocklist_path', type: 'string', value: '', description: 'Hardcoded absolute path to a package name blocklist which will be read at runtime') option('hardcoded_content_config_path', type: 'string', value: '', description: 'Hardcoded absolute path to a yaml content configuration which will be read at runtime') option('im_a_translator', type: 'boolean', value: false, description: 'Whether to set up the environment for translation work') option('sandboxed_libflatpak', type: 'boolean', value: false, description: 'Whether to treat libflatpak as being sandboxed or not') option('development', type: 'boolean', value: false, description: 'If this is a development build') ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/�����������������������������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0015704�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/.gitignore�������������������������������������������������������������0000664�0000000�0000000�00000000012�15234476640�0017665�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar.pot����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/LINGUAS����������������������������������������������������������������0000664�0000000�0000000�00000000217�15234476640�0016731�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Please keep this file sorted alphabetically. ar be bg bs cs de el es eu fa_IR fr ga hu id it ja kw nl pl pt_BR pt_PT ru tr uk vi zh_CN zh_TW ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/POTFILES.in������������������������������������������������������������0000664�0000000�0000000�00000007333�15234476640�0017467�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# List of source files containing translatable strings. # Please keep this file sorted alphabetically. data/io.github.kolunmi.Bazaar.desktop.in data/io.github.kolunmi.Bazaar.metainfo.xml.in src/bz-addon-tile.blp src/bz-addon-tile.c src/bz-addons-dialog.blp src/bz-addons-dialog.c src/bz-age-rating-dialog.blp src/bz-age-rating-dialog.c src/bz-all-apps-page.blp src/bz-all-apps-page.c src/bz-app-permissions.c src/bz-app-size-dialog.blp src/bz-app-size-dialog.c src/bz-app-tile.blp src/bz-app-tile.c src/bz-application-map-factory.c src/bz-application.c src/bz-apps-page.blp src/bz-apps-page.c src/bz-appstream-parser.c src/bz-article-list-view.c src/bz-article-tile.blp src/bz-article-tile.c src/bz-article.blp src/bz-article.c src/bz-async-texture.c src/bz-backend.c src/bz-banner-view.blp src/bz-banner-view.c src/bz-bundle-install-dialog.blp src/bz-bundle-install-dialog.c src/bz-content-provider.c src/bz-context-tile.blp src/bz-context-tile.c src/bz-curated-view.blp src/bz-curated-view.c src/bz-data-graph.c src/bz-decorated-screenshot.blp src/bz-decorated-screenshot.c src/bz-developer-badge.blp src/bz-developer-badge.c src/bz-donations-dialog.blp src/bz-donations-dialog.c src/bz-download-worker.c src/bz-dynamic-list-view.c src/bz-entry-cache-manager.c src/bz-entry-group-util.c src/bz-entry-group.c src/bz-entry-inspector.blp src/bz-entry-inspector.c src/bz-entry-selection-row.blp src/bz-entry-selection-row.c src/bz-entry.c src/bz-error-dialog.blp src/bz-error-dialog.c src/bz-favorite-button.blp src/bz-favorite-button.c src/bz-favorites-page.blp src/bz-favorites-page.c src/bz-favorites-tile.blp src/bz-favorites-tile.c src/bz-featured-carousel-view.c src/bz-featured-carousel.blp src/bz-featured-tile.blp src/bz-flathub-category-section.c src/bz-flathub-category.c src/bz-flathub-page.blp src/bz-flathub-page.c src/bz-flathub-state.c src/bz-flatpak-entry.c src/bz-flatpak-instance.c src/bz-full-view.blp src/bz-full-view.c src/bz-group-tile-css-watcher.c src/bz-hardware-support-dialog.blp src/bz-hardware-support-dialog.c src/bz-inspector.blp src/bz-inspector.c src/bz-install-controls.blp src/bz-install-controls.c src/bz-install-controls.wdgt src/bz-installed-tile.blp src/bz-installed-tile.c src/bz-library-page.blp src/bz-library-page.c src/bz-license-dialog.blp src/bz-license-dialog.c src/bz-license-dialog.h src/bz-login-page.blp src/bz-login-page.c src/bz-login-page.h src/bz-metainfo-preview.c src/bz-preferences-dialog.blp src/bz-preferences-dialog.c src/bz-progress-bar.blp src/bz-progress-bar.c src/bz-releases-dialog.blp src/bz-releases-list.blp src/bz-releases-list.c src/bz-result.c src/bz-rich-app-tile.blp src/bz-rich-app-tile.c src/bz-safety-dialog.blp src/bz-safety-dialog.c src/bz-screenshot-page.blp src/bz-screenshot-page.c src/bz-screenshot.c src/bz-screenshots-carousel.blp src/bz-screenshots-carousel.c src/bz-search-bar.blp src/bz-search-engine.c src/bz-search-filter-popover.blp src/bz-search-filter-popover.c src/bz-search-page.blp src/bz-search-page.c src/bz-search-pill-list.c src/bz-section-view.blp src/bz-section-view.c src/bz-serializable.c src/bz-share-list.c src/bz-stats-dialog.blp src/bz-stats-dialog.c src/bz-subcategory-list.c src/bz-transact-icon.wdgt src/bz-transaction-dialog.c src/bz-transaction-list-dialog.blp src/bz-transaction-list-dialog.c src/bz-transaction-manager.c src/bz-transaction-tile.blp src/bz-transaction-tile.c src/bz-transaction.c src/bz-updates-card.blp src/bz-updates-card.c src/bz-user-data-page.blp src/bz-user-data-page.c src/bz-user-data-tile.blp src/bz-user-data-tile.c src/bz-window.blp src/bz-window.c src/bz-world-map.c src/bz-yaml-parser.c src/context-tile-callbacks.c src/dl-worker.c src/env.c src/error.c src/global-net.c src/io.c src/main.c src/safety-calculator.c src/shortcuts-dialog.blp src/update-worker.c �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/ar.po������������������������������������������������������������������0000664�0000000�0000000�00000304051�15234476640�0016651�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Arabic translations for bazaar package. # Copyright (C) 2025 bazaar's COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Ahmed Najmawi <iramosu@protonmail.com>, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-02-14 09:05+0300\n" "PO-Revision-Date: 2026-02-14 13:41+0300\n" "Last-Translator: Ahmed Najmawi <iramosu@protonmail.com>\n" "Language-Team: Arabic\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: Poedit 3.8\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:6 #: src/bz-window.blp:111 msgid "Bazaar" msgstr "بازار" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "أضŮŮŘŚ أ٠أزل، ŘŁŮ Ř­ŘŻŘ« برمجيات Ůلاتبا٠على هذا الحاسŮب" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTKŘ› النظام؛ مدير الحزم؛ اŮتشاŮŘ› Ůلات باŮŘ› البرامج؛ المتجر؛" #: data/io.github.kolunmi.Bazaar.desktop.in:15 msgid "New Window" msgstr "ناŮذة جديدة" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "استŮŘ´Ů ŮنصّŮب التطبيقات" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A new app store for Linux with a focus on discovering and installing " "applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "متجر تطبيقات جديد للينŮŮŘł يرŮز على استŮشا٠Ůتنصيب التطبيقات ŮالإضاŮات من " "ŮلاتباŮŘŚ Ůبالأخص مستŮŘŻŘą Ůلاتهَب." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. " "Bazaar features a \"curated\" tab that can be configured by distributors to " "allow for a more localized experience." msgstr "" "ŮŠŮŹŘ´ŘŻŮ‘ŮŘŻ «بازار» على دعم المطŮرين الŮاقŮين Ůراء إتاحة سطح Ů…Ůتب لينŮس، Ůيضم لسانًا " "للمحتŮى المنتقى ŮŠŮ…Ůن للمŮزّŮعين إعداده لتŮŮير تجربة استخدام ŘŁŮثر Ů…Ůاءمة." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:29 src/bz-application.c:703 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 msgid "The home page displaying Flathub apps" msgstr "الصŮŘ­Ř© الرئيسية Ůهي تعرض تطبيقات Ůلاتهَب" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Exhibit app page" msgstr "صŮŘ­Ř© معرض التطبيق" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 msgid "Library page" msgstr "صŮŘ­Ř© المŮتبة" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:66 msgid "Search page" msgstr "صŮŘ­Ř© البحث" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:70 msgid "Category page" msgstr "صŮŘ­Ř© التصنيŮات" #: src/bz-addons-dialog.blp:16 src/bz-full-view.blp:708 #: src/bz-installed-tile.blp:101 msgid "Manage Add-ons" msgstr "ŘŁŘŻŮر الإضاŮات" #: src/bz-addons-dialog.c:94 src/bz-full-view.blp:495 #: src/bz-installed-tile.blp:119 src/bz-transaction-dialog.c:231 msgid "Remove" msgstr "أزŮŮ„" #: src/bz-addons-dialog.c:99 src/bz-favorites-tile.c:174 #: src/bz-full-view.blp:262 src/bz-full-view.blp:482 #: src/bz-transaction-dialog.c:202 msgid "Install" msgstr "نصّŮب" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:726 src/bz-full-view.c:338 src/bz-full-view.c:345 msgid "Age Rating" msgstr "التصني٠العمري" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "عن٠الرسŮŮ… المتحرŮŘ©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "لا ŘŞŮجد معلŮمات بخصŮص العن٠ŮŮŠ الرسŮŮ… المتحرŮŘ©" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "عن٠خيالي" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "لا ŘŞŮجد معلŮمات بخصŮص العن٠الخيالي" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "عن٠Ůاقعي" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "لا ŘŞŮجد معلŮمات بخصŮص العن٠الŮاقعي" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "العن٠الذي يصŮر إراقة الدماء" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "لا ŘŞŮجد معلŮمات بخصŮص العن٠الذي يصŮر إراقة الدماء" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "عن٠الجنسي" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "لا ŘŞŮجد معلŮمات بخصŮص العن٠الجنسي" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "ŮŘ­ŮŮ„" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الŮŘ­ŮŮ„" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "المخدرات" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الإشارات إلى المخدرات غير المشرŮعة" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "تبغ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "لا ŘŞŮجد معلŮمات بخصŮص استخدام التبغ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "تعري" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "لا ŘŞŮجد معلŮمات بخصŮص التعري بأي Ř´ŮŮ„" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "المŮاضيع الجنسية" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "لا ŘŞŮجد معلŮمات بخصŮص المŮاضيع الجنسية" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "ŘŁŮ„Ůاظ بذيئة" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الألŮاظ البذيئة بأي Ř´ŮŮ„ من الأشŮال" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "ŮŮاهة غير لائقة" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الŮŮاهة الغير لائقة" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "تمييز" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "لا ŘŞŮجد معلŮمات بخصŮص استخدام لغة التمييز بأي Ř´ŮŮ„" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "إعلانات" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الإعلانات بأي Ř´ŮŮ„" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "مقامرة" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "لا ŘŞŮجد معلŮمات بخصŮص المقامرة بأي Ř´ŮŮ„" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "شراء" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "لا ŘŞŮجد معلŮمات بخصŮص القدرة على ŘŻŮŘą الأمŮاب" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "الدردشة بين المستخدمين" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الدردشة بين المستخدمين" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "المحادثة الصŮŘŞŮŠŘ© بين المستخدمين" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "لا ŘŞŮجد معلŮمات بخصŮص المحادثة الصŮŘŞŮŠŘ© بين المستخدمين" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "معلŮمات التŮاصل" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "لا ŘŞŮجد معلŮمات بخصŮص مشارŮŘ© معلŮمات اسم المستخدم أ٠البريد الإلŮترŮني" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "معلŮمات التعريŮ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "لا ŘŞŮجد معلŮمات بخصŮص مشارŮŘ© معلŮمات المستخدم Ů…Řą طر٠ثالث" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "مشارŮŘ© المŮقع" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "لا ŘŞŮجد معلŮمات بخصŮص مشارŮŘ© المŮقع Ů…Řą مستخدمين آخرين" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "دعارة" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الدعارة" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "الزنا" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "لا ŘŞŮجد معلŮمات بخصŮص الزنا" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "شخصيات ذات طابع جنسي" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "لا ŘŞŮجد معلŮمات بخصŮص شخصيات ذات طابع جنسي" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "تدنيس" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "لا ŘŞŮجد معلŮمات بخصŮص التدنيس" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "بقايا بشرية" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "لا ŘŞŮجد معلŮمات بخصŮص البقايا البشرية" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "عبŮŘŻŮŠŘ©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "لا ŘŞŮجد معلŮمات بخصŮص العبŮŘŻŮŠŘ©" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "لا يتضمن إشارات إلى المخدرات" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "لا يتضمن قذŮ, Ř´ŘŞŮ…, ŮŘŁŮŠ Ř´ŮŮ„ من ŘŁŘ´Ůال التعدي اللŮظي" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "لا يتضمن إعلانات أ٠المعاملات المالية" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "لا يتضمن جنس أ٠تعري" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "لا يتضمن دردشة غير قابلة للتحŮŮ…" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "لا يتضمن عنŮ" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "مخدرات" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "تعدي Ů„Ůظي" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "مال" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "إجتماعي" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "عنŮ" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:676 src/bz-full-view.c:328 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:701 msgctxt "Age rating" msgid "All" msgstr "جميع الأعمار" #: src/bz-age-rating-dialog.c:737 #, c-format msgid "%s has an unknown age rating" msgstr "%s التصني٠العمري غير Ů…Ř­ŘŻŘŻ" #: src/bz-age-rating-dialog.c:743 #, c-format msgid "%s is suitable for everyone" msgstr "%s مناسب للجميع" #: src/bz-age-rating-dialog.c:746 #, c-format msgid "%s is suitable for young children" msgstr "%s مناسب للأطŮال الصغار" #: src/bz-age-rating-dialog.c:749 #, c-format msgid "%s is suitable for children" msgstr "%s مناسب للأطŮال" #: src/bz-age-rating-dialog.c:752 #, c-format msgid "%s is suitable for teenagers" msgstr "%s مناسب للمراهقين" #: src/bz-age-rating-dialog.c:755 #, c-format msgid "%s is suitable for adults" msgstr "%s مناسب للبالغين" #: src/bz-age-rating-dialog.c:758 #, c-format msgid "%s is suitable for %s" msgstr "%s مناسب للـ %s" #: src/bz-age-rating-dialog.c:852 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-all-apps-page.blp:13 src/bz-apps-page.blp:14 src/bz-full-view.blp:29 #: src/bz-user-data-page.blp:15 src/bz-window.blp:292 msgid "Main Menu" msgstr "القائمة الرئيسة" #: src/bz-all-apps-page.blp:18 src/bz-apps-page.blp:18 #: src/bz-user-data-page.blp:19 src/bz-window.blp:384 msgid "_Donate to Bazaar ❤️" msgstr "ŘŞ_برَّع إلى بازار ❤️" #: src/bz-all-apps-page.blp:25 src/bz-apps-page.blp:25 #: src/bz-user-data-page.blp:26 src/bz-window.blp:391 msgid "_Preferences" msgstr "ال_ŘŞŮضيلات" #: src/bz-all-apps-page.blp:30 src/bz-apps-page.blp:30 #: src/bz-user-data-page.blp:31 src/bz-window.blp:396 msgid "_Login with Flathub" msgstr "_تسجيل الدخŮŮ„ بŮلاتهب" #: src/bz-all-apps-page.blp:36 src/bz-apps-page.blp:36 #: src/bz-user-data-page.blp:37 src/bz-window.blp:402 msgid "_Manage Leftover User Data" msgstr "_أدر معلŮماتŮ" #: src/bz-all-apps-page.blp:41 src/bz-apps-page.blp:41 #: src/bz-user-data-page.blp:42 src/bz-window.blp:407 msgid "_Synchronize Remotes" msgstr "مزامنة" #: src/bz-all-apps-page.blp:46 src/bz-apps-page.blp:46 #: src/bz-user-data-page.blp:47 src/bz-window.blp:412 msgid "_Keyboard Shortcuts" msgstr "ا_ختصارات Ů„ŮŘ­Ř© المŮاتيح" #: src/bz-all-apps-page.blp:51 src/bz-apps-page.blp:51 #: src/bz-user-data-page.blp:52 src/bz-window.blp:417 msgid "_About Bazaar" msgstr "_عَنْ بازار" #: src/bz-all-apps-page.blp:58 src/bz-apps-page.blp:58 #: src/bz-user-data-page.blp:59 src/bz-window.blp:424 msgid "_Quit Bazaar" msgstr "_أخرج من بازار" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "مجلد النظام %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "المجلد ضمن الرئيسي %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "مجلدات نظام المستضيŮ" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "ŘŞŮŮين نظام المضي٠من /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "المجلد ضمن سطح المŮتب %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "مجلد سطح المŮتب" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "المجلد ضمن المستندات %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "مجلد المستندات" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "المجلد ضمن المŮسيقا %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "مجلد المŮسيقا" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "المجلد ضمن الصŮر %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "مجلد الصŮر" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "المجلد ضمن المشارŮŘ© العامة %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "مجلد المشارŮŘ© العامة" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "المجلد ضمن الŮŮŠŘŻŮŠŮ %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "مجلد الŮŮŠŘŻŮŠŮ" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "المجلد ضمن القŮالب %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "مجلد القŮالب" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "المجلد ضمن ذاŮرة التخزين المؤقت %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "مجلد الذاŮرة المؤقتة للمستخدم" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "المجلد ضمن لإعدادات المستخدم %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "مجلد إعدادات المستخدم" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "المجلد ضمن بيانات المستخدم %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "مجلد بيانات المستخدم" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "المجلد ضمن Ůقت تشغيل المستخدم %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "مجلد Ůقت تشغيل المستخدم" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "صلاحيات Ů…Ů„Ůات النظام لـ %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "مسار مل٠النظام غير معرŮŮ" #: src/bz-app-size-dialog.blp:29 src/bz-app-size-dialog.blp:55 msgid "Download Size" msgstr "حجم التنزيل" #: src/bz-app-size-dialog.blp:56 msgid "Amount to download from the internet" msgstr "الŮŮ…ŮŠŘ© المطلŮب تنزيلها من الإنترنت" #: src/bz-app-size-dialog.blp:76 msgid "Installed Size" msgstr "حجم التنصيب" #: src/bz-app-size-dialog.blp:77 msgid "Size on Disk" msgstr "الحجم على القرص" #: src/bz-app-size-dialog.blp:99 msgid "User Data Size" msgstr "حجم بيانات المستخدم" #: src/bz-app-size-dialog.blp:100 msgid "Caches, settings, and other app data" msgstr "الذاŮرة المؤقتة, الإعدادات, ŮمعلŮمات التطبيق الأخرى" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:86 src/bz-full-view.c:287 src/bz-releases-list.c:178 msgid "Installed" msgstr "المنصَّبة" #: src/bz-apps-page.blp:142 msgid "Show All" msgstr "عرض الŮŮ„" #: src/bz-apps-page.c:243 #, c-format msgid "All \"%s\"" msgstr "ŮŮ„ \"%s\"" #: src/bz-apps-page.c:530 src/bz-tag-list.c:109 #, c-format msgid "%d Applications" msgstr "%d تطبيقات" #: src/bz-application.c:674 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:675 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:706 msgid "translator-credits" msgstr "" "ŘŁŘ­Ů…ŘŻ النجماŮŮŠ <iramosu@protonmail.com>\n" "أنس داŮŮŘŻ آغا <anasagha2001@gmail.com>" #: src/bz-application.c:717 msgid "Special Thanks" msgstr "Ř´Ůر خاص" #: src/bz-application.c:775 msgid "Logged Out Successfully!" msgstr "نجح تسجيل الخرŮج!" #: src/bz-application.c:898 msgid "Performing setup..." msgstr "ŮŠŘŞŮ… التنصيب..." #: src/bz-application.c:981 src/bz-application.c:990 msgid "Set Up Flathub" msgstr "نصّŮب Ůلاتهب" #: src/bz-application.c:984 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Ůلاتهب لم ŮŠŘŞŮ… تنصيبه على النظام. لن تستطيع تصŮŘ­ ٠تنصيب تطبيقات بازار اذا لم " "ŘŞŮجد.\n" "\n" "ŮŠŮ…Ůن٠استخدام بازار لتصŮŘ­ Ůحذ٠التطبيقات المحملة." #: src/bz-application.c:989 msgid "Later" msgstr "لاحقًا" #: src/bz-application.c:1399 src/bz-application.c:3116 msgid "Synchronizing..." msgstr "يُزامن..." #: src/bz-application.c:1546 src/bz-application.c:3112 #, c-format msgid "Receiving %d entries..." msgstr "استلام %d المدخلات..." #: src/bz-application.c:1551 msgid "Checking for updates" msgstr "التحقق من التحديثات" #: src/bz-application.c:3118 msgid "Indexing Data..." msgstr "Ůهرسة البيانات..." #: src/bz-appstream-parser.c:265 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "صŮŘ­Ř© Ůلاتهَب" #: src/bz-appstream-parser.c:286 msgctxt "Project URL Type" msgid "Project Website" msgstr "Ů…Ůقع المشرŮŘą" #: src/bz-appstream-parser.c:290 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "متعقب العلل" #: src/bz-appstream-parser.c:294 msgctxt "Project URL Type" msgid "FAQ" msgstr "الأسئلة الشائعة" #: src/bz-appstream-parser.c:298 msgctxt "Project URL Type" msgid "Help" msgstr "المساعدة" #: src/bz-appstream-parser.c:302 msgctxt "Project URL Type" msgid "Donate" msgstr "التبرع" #: src/bz-appstream-parser.c:308 msgctxt "Project URL Type" msgid "Translate" msgstr "الترجمة" #: src/bz-appstream-parser.c:312 msgctxt "Project URL Type" msgid "Contact" msgstr "التŮاصل" #: src/bz-appstream-parser.c:316 msgctxt "Project URL Type" msgid "Source Code" msgstr "المصدر البرمجي" #: src/bz-appstream-parser.c:322 msgctxt "Project URL Type" msgid "Contribute" msgstr "المساهمة" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:68 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:61 #: src/bz-library-page.blp:59 src/bz-user-data-page.blp:86 msgid "Empty" msgstr "Ůارغ" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "لا ŮŠŮجد تنسيق" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "لا ŘŞŘŞŮŮر معلŮمات عن التنسيق ŮŮŠ هذا النظام. لا يزال بإمŮان٠تصŮŘ­ التطبيقات " "على Ůلاتهب" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "تصŮŘ­ Ůلاتهَب" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "غير متصل" #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:49 msgid "Browser" msgstr "المتصŮŘ­" #: src/bz-developer-badge.c:131 msgid "Developer information not available." msgstr "معلŮمات المطŮر غير متاحة." #: src/bz-developer-badge.c:137 src/bz-developer-badge.c:151 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "لم ŮŠŘŞŮ… التحقق من Ů…Ů„ŮŮŠŘ© معر٠التطبيق %s Ůقد ŮŠŮŮن حزمة مجتمعية." #: src/bz-developer-badge.c:155 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "ŘŞŮ… التحقق ŮŠŘŻŮيًا من Ů…Ů„ŮŮŠŘ© معر٠التطبيق %s بŮاسطة Ůريق Ůلاتهب." #: src/bz-developer-badge.c:161 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "ŘŞŮ… التحقق من Ů…Ů„ŮŮŠŘ© معر٠التطبيق %1$s بŮاسطة <b>%2$s</b> ŮŮŠ <b>%3$s</b>." #: src/bz-developer-badge.c:168 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "ŘŞŮ… التحقق من Ů…Ů„ŮŮŠŘ© معر٠التطبيق %1$s باستخدام %2$s." #: src/bz-developer-badge.c:172 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "ŘŞŮ… التحقق من Ů…Ů„ŮŮŠŘ© معر٠التطبيق %s." #: src/bz-donations-dialog.blp:47 msgid "View the Release Page" msgstr "أظهŮر صŮŘ­Ř© الاطلاق" #: src/bz-donations-dialog.blp:69 msgid "This Bazaar Release Was Made Possible By Users Like You!" msgstr "ŘŞŮ… إطلاق هذا الإصدار من بازار بŮضل مستخدمين مثلŮ!" #: src/bz-donations-dialog.blp:77 msgid "" "I love making Bazaar, but I cannot do it alone. If you would like to help " "support further development, please consider donating to the project at my " "ko-fi:" msgstr "" "أحبّ تصميم بازار، Ů„Ůنني لا أستطيع القيام بذل٠بمŮردي. إذا Ůنتم ترغبŮن ŮŮŠ دعم " "ŘŞŘ·Ůيره، يُرجى التبرع للمشرŮŘą عبر حسابي على Ko-fi:" #: src/bz-donations-dialog.blp:87 msgid "Donate to Bazaar" msgstr "تبرَّع إلى بازار" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:156 #, c-format msgid "What's New in Version %s?" msgstr "ما الجديد ŮŮŠ هذا الإصدار %sŘź" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "اختر تنصيبًا" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "لدي٠عدة إصدارات منصَّبة من هذا التطبيق. ŘŁŮŠ Ůاحد ستشرع به؟" #: src/bz-entry-group-util.c:80 src/bz-transaction-dialog.c:201 #: src/bz-transaction-dialog.c:230 src/bz-transaction-dialog.c:275 #: src/bz-transaction-dialog.c:578 msgid "Cancel" msgstr "إلغاء" #: src/bz-entry-selection-row.blp:17 msgid "For this user only" msgstr "لهذا المستخدم Ůقط" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "هذا المستخدم" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "جميع المستخدمين" #: src/error.c:68 msgid "An Error Occurred" msgstr "Ř­ŘŻŘ« خطأ" #: src/error.c:89 msgid "Close" msgstr "أغلŮŮ‚" #: src/error.c:90 msgid "Copy and Close" msgstr "انسخ ŮأغلŮŮ‚" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "سجّل الدخŮŮ„ باستخدام Ůلاتهب لإدارة المŮضلة" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "تسجيل الدخŮŮ„" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "عدد المŮضلة" #: src/bz-favorites-tile.c:172 msgid "Uninstall" msgstr "إزالة" #: src/bz-favorites-tile.blp:70 src/bz-installed-tile.blp:77 msgid "Support this application" msgstr "ادعم هذا التطبيق" #: src/bz-favorites-tile.blp:119 msgid "Remove from Favorites" msgstr "حذ٠من المŮضلة" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:78 #: src/bz-window.blp:442 msgid "Favorites" msgstr "المŮضلة" #: src/bz-favorites-page.blp:22 src/bz-full-view.blp:44 src/bz-window.blp:307 msgid "Open App Library" msgstr "اŮŘŞŘ­ Ů…Ůتبة التطبيقات" #: src/bz-favorites-page.blp:39 src/bz-section-view.blp:144 #: src/bz-transaction-dialog.c:579 msgid "Install All" msgstr "نصّŮب الŮŮ„" #: src/bz-favorites-page.blp:56 src/bz-user-data-page.blp:75 msgid "Loading" msgstr "ŮŠŘ­Ů…Ů‘ŮŮ„" #: src/bz-favorites-page.blp:71 msgid "No Favorites" msgstr "لا ŮŠŮجد ŘŞŮضلات" #: src/bz-favorites-page.blp:72 msgid "Applications you mark as favorite will appear here" msgstr "ستظهر التطبيقات التي تضع عليها علامة \"Ů…Ůضلة\" هنا" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "السابق" #: src/bz-featured-carousel.blp:53 msgid "Next" msgstr "التالي" #: src/bz-featured-tile.blp:88 msgid "App of the Day" msgstr "تطبيق اليŮŮ…" #: src/bz-flathub-category.c:89 msgid "Editing" msgstr "يعدل" #: src/bz-flathub-category.c:90 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:91 msgid "Mixer" msgstr "خلاط" #: src/bz-flathub-category.c:92 msgid "Music" msgstr "Ů…Ůسيقا" #: src/bz-flathub-category.c:93 msgid "Player" msgstr "مشغل" #: src/bz-flathub-category.c:94 msgid "Recorder" msgstr "مسجل" #: src/bz-flathub-category.c:95 msgid "Sequencer" msgstr "جهاز التسلسل" #: src/bz-flathub-category.c:96 msgid "Tuner" msgstr "Ů…ŮالŮ" #: src/bz-flathub-category.c:97 msgid "TV" msgstr "ŘŞŮ„Ůاز" #: src/bz-flathub-category.c:102 msgid "Emulation" msgstr "محاŮاة" #: src/bz-flathub-category.c:103 msgid "Action" msgstr "حماسي" #: src/bz-flathub-category.c:104 msgid "Adventure" msgstr "مغامرة" #: src/bz-flathub-category.c:105 msgid "Arcade" msgstr "آرŮŮŠŘŻ" #: src/bz-flathub-category.c:106 msgid "Blocks" msgstr "Ů…Ůعبات" #: src/bz-flathub-category.c:107 msgid "Board" msgstr "طاŮلة" #: src/bz-flathub-category.c:108 msgid "Card" msgstr "Ůرق" #: src/bz-flathub-category.c:109 msgid "Kids" msgstr "ŘŁŘ·Ůال" #: src/bz-flathub-category.c:110 msgid "Logic" msgstr "منطق" #: src/bz-flathub-category.c:111 msgid "Role Playing" msgstr "لعب الأدŮار" #: src/bz-flathub-category.c:112 msgid "Shooter" msgstr "رماية" #: src/bz-flathub-category.c:113 msgid "Simulation" msgstr "محاŮاة" #: src/bz-flathub-category.c:114 msgid "Sports" msgstr "رياضة" #: src/bz-flathub-category.c:115 msgid "Strategy" msgstr "استراتيجية" #: src/bz-flathub-category.c:120 msgid "Audio & Video" msgstr "صŮŘŞ ŮŮŮŠŘŻŮŠŮ" #: src/bz-flathub-category.c:120 msgid "Media" msgstr "Ůسائط متعددة" #: src/bz-flathub-category.c:120 msgid "More Audio & Video" msgstr "المزيد من الصŮŘŞ ŮŮŮŠŘŻŮŠŮ" #: src/bz-flathub-category.c:121 msgid "Developer Tools" msgstr "ŘŁŘŻŮات المطŮريين" #: src/bz-flathub-category.c:121 msgid "Develop" msgstr "ŘŞŘ·Ůير" #: src/bz-flathub-category.c:121 msgid "More Developer Tools" msgstr "المزيد من ŘŁŘŻŮات المطŮريين" #: src/bz-flathub-category.c:122 msgid "Education" msgstr "تعليمية" #: src/bz-flathub-category.c:122 msgid "Learn" msgstr "تعلَّم" #: src/bz-flathub-category.c:122 msgid "More Education" msgstr "المزيد من التطبيقات التعليمية" #: src/bz-flathub-category.c:123 msgid "Gaming" msgstr "ألعاب" #: src/bz-flathub-category.c:123 msgid "Play" msgstr "لعب" #: src/bz-flathub-category.c:123 msgid "More Gaming" msgstr "المزيد من الألعاب" #: src/bz-flathub-category.c:124 msgid "Graphics & Photography" msgstr "الرسŮمات ŮالصŮر" #: src/bz-flathub-category.c:124 msgid "Create" msgstr "صمّŮŮ…" #: src/bz-flathub-category.c:124 msgid "More Graphics & Photography" msgstr "المزيد من الرسŮمات ŮالصŮر" #: src/bz-flathub-category.c:125 msgid "Networking" msgstr "شبŮŮŠ" #: src/bz-flathub-category.c:125 msgid "Internet" msgstr "شبŮŮŠ" #: src/bz-flathub-category.c:125 msgid "More Networking" msgstr "المزيد من التطبيقات الشبŮŮŠŘ©" #: src/bz-flathub-category.c:126 msgid "Productivity" msgstr "إنتاجية" #: src/bz-flathub-category.c:126 msgid "Work" msgstr "عمل" #: src/bz-flathub-category.c:126 msgid "More Productivity" msgstr "المزيد من تطبيقات الإنتاجية" #: src/bz-flathub-category.c:127 msgid "Science" msgstr "علمي" #: src/bz-flathub-category.c:127 msgid "More Science" msgstr "المزيد من التطبيقات العلمية" #: src/bz-flathub-category.c:128 msgid "System" msgstr "نظام" #: src/bz-flathub-category.c:128 msgid "More System" msgstr "المزيد من تطبيقات النظام" #: src/bz-flathub-category.c:129 msgid "Utilities" msgstr "ŘŁŘŻŮات" #: src/bz-flathub-category.c:129 msgid "Tools" msgstr "ŘŁŘŻŮات" #: src/bz-flathub-category.c:129 msgid "More Utilities" msgstr "المزيد من الأدŮات" #: src/bz-flathub-category.c:130 src/bz-flathub-page.blp:119 #: src/bz-flathub-page.blp:152 msgid "Trending" msgstr "الرائجة" #: src/bz-flathub-category.c:130 msgid "More Trending" msgstr "المزيد من التطبيقات الرائجة" #: src/bz-flathub-category.c:131 src/bz-flathub-page.blp:125 #: src/bz-flathub-page.blp:185 msgid "Popular" msgstr "الشائعة" #: src/bz-flathub-category.c:131 msgid "More Popular" msgstr "المزيد من التطبيقات الشائعة" #: src/bz-flathub-category.c:132 src/bz-flathub-page.blp:174 msgid "Recently Added" msgstr "أُضيŮŘŞ مؤخرًا" #: src/bz-flathub-category.c:132 src/bz-flathub-page.blp:131 msgid "New" msgstr "جديد" #: src/bz-flathub-category.c:132 msgid "More New" msgstr "المزيد من الجديد" #: src/bz-flathub-category.c:133 src/bz-flathub-page.blp:163 msgid "Recently Updated" msgstr "Ř­ŮŹŘŻŮ‘Ůثت مؤخرًا" #: src/bz-flathub-category.c:133 src/bz-flathub-page.blp:137 msgid "Updated" msgstr "حدثَّ مؤخرا" #: src/bz-flathub-category.c:133 msgid "More Updated" msgstr "المزيد من التطبيقات المُحدَّثة مؤخرا" #: src/bz-flathub-category.c:134 msgid "Mobile" msgstr "جهاز الهاتŮ" #: src/bz-flathub-category.c:134 msgid "More Mobile" msgstr "المزيد من التطبيقات أجهزة الهاتŮ" #: src/bz-flathub-category.c:135 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:135 msgid "More Adwaita" msgstr "المزيد من Adwaita" #: src/bz-flathub-category.c:136 msgid "KDE Apps" msgstr "تطبيقات بيئة سطح Ů…Ůتب KDE" #: src/bz-flathub-category.c:136 msgid "More KDE Apps" msgstr "المزيد من تطبيقات بيئة سطح Ů…Ůتب KDE" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "لم يُض٠Ůلاتهَب" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "لم ŮŠŘŞŮ… العثŮر على جهاز التحŮŮ… عن بعد Ůلاتهب ŮŮŠ ŘŁŮŠ من عمليات تثبيت Ůلاتبا٠" "الخاصة بŮ" #: src/bz-flathub-page.blp:35 msgid "Flathub returned an error" msgstr "حصل خطأ ŮŮŠ Ůلاتهب" #: src/bz-flathub-page.blp:41 msgid "Retry Flathub Connection" msgstr "أعد محاŮلة الاتصال بŮلاتهب" #: src/bz-flathub-page.blp:57 msgid "Flathub Unavailable" msgstr "Ůلاتهب غير Ů…ŘŞŮŮر" #: src/bz-flathub-page.blp:58 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "" "لم نتمŮن من الاتصال بـŮلاتهب. لا يزال بإمŮان٠إدارة التطبيقات Ůالبحث عنها." #: src/bz-flathub-page.blp:61 msgid "Search Apps" msgstr "ابحث التطبيقات" #: src/bz-flathub-page.blp:270 msgid "On the Go" msgstr "أثناء التنقل" #: src/bz-flathub-page.blp:282 msgid "Apps for your Linux phones and tablets" msgstr "تطبيقات لأجل هŮات٠لينŮŘł Ůأجهزتها اللŮŘ­ŮŠŘ©" #: src/bz-flathub-page.blp:293 src/bz-flathub-page.blp:328 msgid "More Mobile Apps" msgstr "المزيد من تطبيقات هŮات٠لينŮŘł" #: src/bz-flathub-page.blp:388 msgid "We​ ♥​ Games" msgstr "نحن ♥ الألعاب" #: src/bz-flathub-page.blp:401 msgid "Games and apps to run your favorite titles" msgstr "ألعاب Ůتطبيقات لتشغل عناŮين٠المŮضلة" #: src/bz-flathub-page.blp:435 msgid "More Games" msgstr "المزيد من الألعاب" #: src/bz-full-view.blp:65 src/bz-library-page.blp:70 #: src/bz-library-page.blp:74 msgid "No Results" msgstr "لا ŘŞŮجد نتائج" #: src/bz-full-view.blp:66 msgid "Try a different search query" msgstr "جرّŮب عبارة بحث مختلŮŘ©" #: src/bz-full-view.blp:72 msgid "Content" msgstr "المحتŮى" #: src/bz-full-view.blp:130 msgid "Installing .flatpak bundles is not yet supported" msgstr "تثبيت حزم Ůلاتبا٠غير Ů…ŘŻŘąŮŮ… حاليًا" #: src/bz-full-view.blp:223 msgid "Support" msgstr "ادعَم" #: src/bz-full-view.blp:246 src/bz-full-view.blp:506 msgid "Open" msgstr "اŮŘŞŘ­" #: src/bz-full-view.blp:259 src/bz-full-view.blp:479 msgid "Download & Install Application" msgstr "نزّŮŮ„ التطبيق ŮنصّŮبه" #: src/bz-full-view.blp:274 msgid "Uninstall Application" msgstr "أزŮŮ„ التطبيق" #: src/bz-full-view.blp:289 src/bz-full-view.blp:521 msgid "Install Other Version" msgstr "نصّŮب إصدارًا آخر" #: src/bz-full-view.blp:443 msgid "Downloads/Month" msgstr "تنزيلات\\شهر" #: src/bz-full-view.blp:540 msgid "Stopped Receiving Core Updates" msgstr "ŘŞŮق٠عن تلقي التحديثات الأساسية" #: src/bz-full-view.blp:554 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "يستخدم هذا التطبيق بيئة تشغيل لم تعد تتلقى تحديثات أ٠إصلاحات أمنية. قد يصبح " "استخدامه غير آمن." #: src/bz-full-view.blp:643 msgid "Trash Data" msgstr "بيانات المهملات" #: src/bz-full-view.blp:784 msgid "Tags:" msgstr "الŮŘłŮŮ…:" #: src/bz-full-view.c:227 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-full-view.c:234 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-full-view.c:241 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-full-view.c:251 #, c-format msgid "%d downloads in the last 30 days" msgstr "عدد التنزيلات %d ŮŮŠ آخر 30 ŮŠŮمًا" #: src/bz-full-view.c:263 src/bz-full-view.c:597 src/bz-full-view.c:614 msgid "N/A" msgstr "غير Ů…ŘŞŮŮر" #. Translators: . #: src/bz-full-view.c:287 msgid "Download" msgstr "ŘŞŘ­Ů…ŮŠŮ„" #: src/bz-full-view.c:307 msgid "Size information unavailable" msgstr "معلŮمات المقاس غير Ů…ŘŞŮŮرة" #: src/bz-full-view.c:310 #, c-format msgid "Download size of %s" msgstr "حجم التنزيل %s" #: src/bz-full-view.c:343 msgid "All Ages" msgstr "جميع الأعمار" #: src/bz-full-view.c:355 msgid "Age rating information unavailable" msgstr "لا ŘŞŮجد معلŮمات للتصني٠العمري" #: src/bz-full-view.c:360 msgid "Suitable for all ages" msgstr "مناسب لجميع الأعمار" #: src/bz-full-view.c:362 #, c-format msgid "Suitable for ages %d and up" msgstr "مناسب للأعمار من %d سنŮات Ůما ŮŮŮ‚" #: src/bz-full-view.c:395 src/bz-full-view.c:400 src/bz-full-view.c:428 #: src/bz-full-view.c:439 msgid "Unknown" msgstr "مجهŮŮ„" #: src/bz-full-view.c:405 #, c-format msgid "Free software licensed under %s" msgstr "برامج مجانية مرخصة بمŮجب %s" #: src/bz-full-view.c:410 msgid "Free software" msgstr "برمجية مجانية" #: src/bz-full-view.c:413 msgid "Proprietary Software" msgstr "برمجية Ů…Ř­ŘŞŮرة" #: src/bz-full-view.c:416 #, c-format msgid "Special License: %s" msgstr "رخصة خاصة: %s" #: src/bz-full-view.c:433 msgid "Free" msgstr "مجاني" #: src/bz-full-view.c:436 src/bz-license-dialog.c:132 msgid "Proprietary" msgstr "Ů…Ř­ŘŞŮرة" #: src/bz-full-view.c:441 src/bz-license-dialog.c:134 msgid "Special License" msgstr "ترخيص خاص" #: src/bz-full-view.c:461 msgid "Adaptive" msgstr "Ů…ŘŞŮŮŠŮ" #: src/bz-full-view.c:461 msgid "Desktop Only" msgstr "سطح المŮتب Ůقط" #: src/bz-full-view.c:467 msgid "Works on desktop, tablets, and phones" msgstr "يعمل على أجهزة الŮمبيŮتر المŮتبية Ůالأجهزة اللŮŘ­ŮŠŘ© ŮالهŮاتŮ" #: src/bz-full-view.c:468 msgid "May not work on mobile devices" msgstr "قد لا يعمل على أجهزة الهاتŮ" #: src/bz-full-view.c:479 msgid "No URL" msgstr "لا رابط" #: src/bz-full-view.c:497 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "هذا التطبيق مرخص ŘŞŘ­ŘŞ رخصة حرَّة، مما يعني أنه ŮŠŮ…Ůن Ůحص المصدر البرمجي أمنيًا." #: src/bz-full-view.c:498 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "هذا التطبيق مرخص ŘŞŘ­ŘŞ رخصة احتŮارية، مما يعني أنه ŮŠŘ·Ůَّر بشŮŮ„ خاص Ůلا ŮŠŮ…Ůن " "الŮصŮŮ„ للمصدر البرمجي ŘŁŮ Ůحصه أمنيًا بŮاسطة طر٠ثالث." #: src/bz-full-view.c:505 msgid "More Apps" msgstr "المزيد من التطبيقات" #: src/bz-full-view.c:506 #, c-format msgid "More Apps by %s" msgstr "المزيد من تطبيقات %s" #: src/bz-full-view.c:513 msgid "Other Apps by this Developer" msgstr "تطبيقات أخرى من هذا المطŮر" #: src/bz-full-view.c:515 src/bz-full-view.c:715 #, c-format msgid "Other Apps by %s" msgstr "تطبيقات أخرى من %s" #: src/bz-full-view.c:524 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "لم ŮŠŘŞŮ… تثبيت %sŘŚ ŮŮ„Ůن لا يزال ŮŠŘ­ŘŞŮŮŠ على <b>%s</b> من البيانات." #: src/bz-full-view.c:604 src/bz-safety-dialog.blp:31 msgid "Safe" msgstr "آمن" #: src/bz-full-view.c:606 src/bz-full-view.c:608 msgid "Low Risk" msgstr "خطŮرة متدنية" #: src/bz-full-view.c:610 msgid "Medium Risk" msgstr "خطŮرة Ů…ŘŞŮسطة" #: src/bz-full-view.c:612 msgid "High Risk" msgstr "خطŮرة عالية" #: src/bz-full-view.c:717 msgid "Other Apps" msgstr "تطبيقات أخرى" #: src/bz-full-view.c:719 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d تطبيق" msgstr[1] "%d تطبيق" msgstr[2] "%d تطبيقات" msgstr[3] "%d تطبيقات" msgstr[4] "%d تطبيقات" msgstr[5] "%d تطبيقات" #: src/bz-full-view.c:1058 msgid "Show Less" msgstr "عرض أقل" #: src/bz-full-view.c:1058 msgid "Show More" msgstr "عرض المزيد" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "دعم الأجهزة" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "دعم Ů„ŮŘ­Ř© المŮاتيح" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "يتطلب استخدام Ů„ŮŘ­Ř© Ů…Ůاتيح" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "ŮŠŮضل استخدام Ů„ŮŘ­Ř© Ů…Ůاتيح" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "يدعم استخدام Ů„ŮŘ­Ř© المŮاتيح" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "لا ŘŞŮجد معلŮمات دعم Ů„ŮŘ­Ř© المŮاتيح" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "دعم الŮأرة" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "يتطلب استخدام الŮأرة أ٠أجهزة تأشير" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "ŮŠŮضَّل استخدام الŮأرة أ٠أجهزة تأشير" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "يدعم الŮأرة أ٠أجهزة التأشير" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "لا ŘŞŮجد معلŮمات دعم الŮأرة أ٠أجهزة التأشير" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "دعم شاشة اللمس" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "يتطلب استخدام شاشة اللمس" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "ŮŠŮŹŮضَّل استخدام شاشة اللمس" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "يدعم شاشة اللمس" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "لا ŘŞŮجد معلŮمات دعم شاشة اللمس" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "دعم أجهزة الهاتŮ" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "يعمل على أجهزة الهاتŮ" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "قد لا يعمل على أجهزة الهاتŮ" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "دعم أجهزة سطح المŮتب" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "يعمل على الشاشة Ůبيرة الحجم" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "يعمل %s بشŮŮ„ ŘŁŮضل على أجهزة Ů…Ř­ŘŻŘŻŘ©" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "يعمل %s على معظم الأجهزة" #: src/bz-installed-tile.blp:63 src/bz-rich-app-tile.blp:136 msgid "Stopped Receiving Updates" msgstr "ŘŞŮق٠عن استقبال التحديثات" #: src/bz-library-page.blp:29 msgid "Search installed apps" msgstr "ابحث ŮŮŠ التطبيقات المنصبة" #: src/bz-library-page.blp:63 msgid "No Apps Found" msgstr "لا ŘŞŮجد تطبيقات" #. Translators: . #: src/bz-library-page.blp:82 src/bz-window.blp:179 msgid "Library" msgstr "المŮتبة" #: src/bz-library-page.blp:110 msgid "Pending Updates" msgstr "التحديثات المنتظرة" #: src/bz-library-page.blp:137 msgid "Downloads" msgstr "التنزيلات" #: src/bz-library-page.blp:180 msgid "Recently Uninstalled" msgstr "حذŮŘŞ مؤخرًا" #: src/bz-library-page.blp:231 msgid "Clear Finished Tasks" msgstr "امحُ ŮŮ„ العمليات المنتهية" #: src/bz-library-page.blp:242 msgid "Installed Apps" msgstr "التطبيقات المنصَّبة" #: src/bz-library-page.c:153 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "لا ŮŠŮجد نتائج للبحث عن \"%s\" ŮŮŠ التطبيقات المنصبة" #: src/bz-library-page.c:166 src/bz-updates-card.c:257 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u ŘŞŘ­ŘŻŮŠŘ« Ů…ŘŞŮŮر" msgstr[1] "%u ŘŞŘ­ŘŻŮŠŘ« Ů…ŘŞŮŮر" msgstr[2] "%u تحديثات Ů…ŘŞŮŮر" msgstr[3] "%u تحديثات Ů…ŘŞŮŮر" msgstr[4] "%u تحديثات Ů…ŘŞŮŮر" msgstr[5] "%u تحديثات Ů…ŘŞŮŮر" #: src/bz-license-dialog.blp:95 msgid "Get Involved" msgstr "شارŮ" #: src/bz-license-dialog.c:126 msgid "Unknown License" msgstr "الترخيص غير معرŮŮ" #: src/bz-license-dialog.c:129 msgid "Community Built" msgstr "من إنشاء المجتمع" #: src/bz-license-dialog.c:202 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "ŘŞŮ… ŘŞŘ·Ůير هذا التطبيق من قبل مجتمع ŘŻŮلي.\n" "\n" "ŮŠŮ…Ůن٠المساعدة ŮŮŠ جعله ŘŁŮضل." #: src/bz-license-dialog.c:205 msgid "The license of this app is not known" msgstr "ترخيص هذا التطبيق غير معرŮŮ" #: src/bz-license-dialog.c:211 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "ŘŞŮ… ŘŞŘ·Ůير هذا التطبيق من قبل مجتمع ŘŻŮلي, Ůإطلاقه ŘŞŘ­ŘŞ ترخيص %s.\n" "\n" "ŮŠŮ…Ůن٠المساعدة ŮŮŠ جعله ŘŁŮضل." #: src/bz-license-dialog.c:219 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "هذا التطبيق ليس Ů…ŮŘŞŮŘ­ المصدر، لذا لا يعر٠طريقة عمله إلا Ů…Ř·ŮرŮه. قد ŮŠŮŮن غير " "آمن بطرق يصعب اŮتشاŮها، Ůقد يتغير ŘŻŮن رقابة.\n" "\n" "قد ŘŞŘŞŮ…Ůن أ٠لا ŘŞŘŞŮ…Ůن من المساهمة ŮŮŠ ŘŞŘ·Ůير هذا التطبيق." #: src/bz-license-dialog.c:225 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "ŘŞŮ… ŘŞŘ·Ůير هذا التطبيق بمŮجب ترخيص خاص %s.\n" "\n" "قد ŘŞŘŞŮ…Ůن أ٠لا ŘŞŘŞŮ…Ůن من المساهمة ŮŮŠ هذا التطبيق." #: src/bz-login-page.blp:5 src/bz-login-page.blp:42 msgid "Connect to Flathub" msgstr "اربط بŮلاتهب" #: src/bz-login-page.blp:32 msgid "Something Went Wrong" msgstr "Ř­ŘŻŘ« خطأ" #: src/bz-login-page.blp:43 msgid "Connect your Flathub account to Bazaar to manage your favorited apps." msgstr "اربط حساب٠على Ůلاتهب ببازار لادارة تطبيقات٠المŮضلة." #: src/bz-login-page.blp:108 msgid "Finish" msgstr "انتهاء" #: src/bz-login-page.c:664 #, c-format msgid "Hello, %s!" msgstr "مرحبا, %s!" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "التŮضيلات" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data sync is paused" msgstr "" "ŮŠŘŞŮ… ŘŞŘ­ŘŻŮŠŘŻ ŘŞŮŮ„ŮŘ© الاتصال بالشبŮŘ© - ŘŞŮ… إيقا٠مزامنة بيانات المتجر التلقائية " "مؤقتًا" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:334 msgid "Sync Manually" msgstr "زامن" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Ůلاتر المحتŮى" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "برمجيات مجانية Ůقط" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "ŘĄŘ®Ůاء التطبيقات المحتŮرة من نتائج البحث" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "نتائج من Ůلاتهب Ůقط" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "قيّŮŘŻ نتائج البحث إلى التطبيقات المتŮŮرة على Ůلاتهَب Ůقط" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "نتائج Ů…Ůثقة Ůقط" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "استبعŮŘŻ النتائج التي ليست Ů…Ůثقة من Ůلاتهَب" #: src/bz-preferences-dialog.blp:49 msgid "Hide EOL Apps" msgstr "ŘĄŘ®Ůاء تطبيقات نهاية العمر الاŮتراضي" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "أخ٠التطبيقات التي لم تعد Ů…ŘŻŘąŮŮ…Ř© من Ů…Ř·Ůريها" #: src/bz-preferences-dialog.blp:55 src/bz-window.blp:197 msgid "Search" msgstr "ابحث" #: src/bz-preferences-dialog.blp:58 msgid "Delay Search Results" msgstr "تأخير نتائج البحث" #: src/bz-preferences-dialog.blp:59 msgid "Improve results performance by debouncing search terms" msgstr "تحسين أداء نتائج البحث عن طريق تقليل ارتداد مصطلحات البحث" #: src/bz-preferences-dialog.blp:64 msgid "Progress Bar" msgstr "شريط التقدم" #: src/bz-preferences-dialog.blp:65 msgid "Choose a theme for the progress bar!" msgstr "Ř­ŘŻŘŻ سمة لشريط التحميل العام!" #: src/bz-preferences-dialog.blp:89 msgid "Vertical Stripes" msgstr "خطŮŘ· عمŮŘŻŮŠŘ©" #: src/bz-preferences-dialog.blp:90 msgid "Display flag colors from left to right" msgstr "اعرض ŘŁŮ„Ůان العلم من اليسار إلى اليمين" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Ů„Ůن النظام" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "الŮان الŮخر" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "الŮان Ůخر السحاقيات" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر المثليين الذŮŮر" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر المتحŮلين جنسياً" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر غير الثنائيين" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر ثنائيي الجنس" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر اللاجنسيين" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الجنسانية الشاملة" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر اللاجنسيين" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الهŮŮŠŘ© الجندرية المتغيرة" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر تعدد الميŮŮ„ الجنسية" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الجنس الشامل" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الأرŮمانسيين Ůاللا رŮمانسيين" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر اللاجنسيين" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الجندر ŮŮير" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر ثنائيي الجنس" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الجنس الجزئي" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر ثنائيي الميŮŮ„ الرŮمانسية" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر ذŮŮŠ الإعاقة" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر الŮيمبŮŮŠ" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "ŘŁŮ„Ůان Ůخر النيŮترŮا" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:28 #: src/bz-updates-card.blp:150 msgid "Version History" msgstr "تاريخ الاصدارات" #: src/bz-releases-list.c:168 #, c-format msgid "Version %s" msgstr "الإصدار %s" #: src/bz-releases-list.c:220 msgid "No details for this release" msgstr "لا ŘŞŮاصيل لهذه الإصدارة" #: src/bz-releases-list.c:232 msgid "Get More Information" msgstr "احصل على معلŮمات اضاŮŮŠŘ©" #: src/bz-rich-app-tile.blp:153 msgid "Get" msgstr "يحصل" #: src/safety-calculator.c:82 msgid "Unknown Permissions" msgstr "أذŮنات غير معرŮŮŘ©" #: src/safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "أذŮنات Ů…ŮŮ‚ŮŘŻŘ© للتطبيق." #: src/safety-calculator.c:96 msgid "No Permissions" msgstr "لا أذŮنات" #: src/safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "التطبيق معزŮŮ„ بالŮامل" #: src/safety-calculator.c:103 msgid "Network Access" msgstr "اتصال بالشبŮŘ©" #: src/safety-calculator.c:104 msgid "Can access the internet" msgstr "قادر على الŮصŮŮ„ للشبŮŘ©" #: src/safety-calculator.c:106 msgid "No Network Access" msgstr "لا ŮŠŮجد ŮصŮŮ„ للشبŮŘ©" #: src/safety-calculator.c:107 msgid "Cannot access the internet" msgstr "غير قادر على الŮصŮŮ„ للشبŮŘ©" #: src/safety-calculator.c:112 msgid "User Device Access" msgstr "الŮصŮŮ„ لجهاز المستخدم" #: src/safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "قادر على الŮصŮŮ„ للأجهزة مثل الŮاميرا Ůأيادي اللعب" #: src/safety-calculator.c:115 msgid "No User Device Access" msgstr "غير قادر على الŮصŮŮ„ لجهاز المستخدم" #: src/safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "غير قادر على الŮصŮŮ„ لأجهزة ŮالŮاميرا ŘŁŮ ŮŮنترŮلر الألعاب" #: src/safety-calculator.c:121 msgid "Input Device Access" msgstr "الŮصŮŮ„ لأجهزة الدخل" #: src/safety-calculator.c:122 msgid "Can access input devices" msgstr "قادر على الŮصŮŮ„ لأجهزة الدخل" #: src/safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "الŮصŮŮ„ للميŮرŮŮŮن Ůتشغيل الصŮŘŞ" #: src/safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "قادر على الاستماع باستخدام الميŮرŮŮŮنات Ůتشغيل الصŮŘŞ ŘŻŮن طلب إذن" #: src/safety-calculator.c:135 msgid "System Device Access" msgstr "الŮصŮŮ„ إلى أجهزة النظام" #: src/safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "ŮŠŮ…Ůنه الŮصŮŮ„ إلى أجهزة النظام التي تتطلب صلاحيات Ů…Ůسعة" #: src/safety-calculator.c:142 msgid "Screen Contents Access" msgstr "الŮصŮŮ„ إلى Ů…Ř­ŘŞŮيات الشاشة" #: src/safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "ŮŠŮ…Ůن الŮصŮŮ„ إلى Ů…Ř­ŘŞŮيات الشاشة أ٠النŮاŮذ الأخرى" #: src/safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "نظام نŮاŮذ قديم" #: src/safety-calculator.c:150 msgid "Always uses a legacy windowing system (X11)" msgstr "دائما يستخدم نظام النŮاŮذ (X11) القديم" #: src/safety-calculator.c:156 msgid "Arbitrary Permissions" msgstr "أذŮنات تعسŮŮŠŘ©" #: src/safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "ŮŠŮ…Ůن الحصŮŮ„ على أذŮنات تعسŮŮŠŘ©" #: src/safety-calculator.c:163 msgid "User Settings" msgstr "إعدادات المستخدم" #: src/safety-calculator.c:164 msgid "Can access and change user settings" msgstr "قادر على الŮصŮŮ„ Ůتعديل إعدادات المستخدم" #: src/safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "ŮصŮŮ„ Ůامل لقراءة ŮŮتابة Ů…Ů„Ůات النظام" #: src/safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "قادر على قراءة ŮŮتابة جميع البيانات التي على بيانات النظام" #: src/safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "ŘĄŮ…Ůانية الŮصŮŮ„ للقراءة/الŮتابة إلى المجلد الرئيسي" #: src/safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "ŮŠŮ…Ůن٠قراءة ŮŮتابة جميع البيانات ŮŮŠ دليل المستخدم الخاص بŮ" #: src/safety-calculator.c:186 msgid "Full File System Read Access" msgstr "ŮصŮŮ„ Ůامل لقراءة Ů…Ů„Ůات النظام" #: src/safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "ŮŠŮ…Ůن قراءة جميع البيانات المŮجŮŘŻŘ© على نظام الملŮات" #: src/safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "ŘĄŮ…Ůانية قراءة المجلد الرئيسي" #: src/safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "ŮŠŮ…Ůن قراءة جميع البيانات ŮŮŠ مجلد٠الرئيسي" #: src/safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "ŘĄŮ…Ůانية قراءة/Ůتابة مجلد التنزيل" #: src/safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "ŮŠŮ…Ůن٠قراءة ŮŮتابة جميع البيانات ŮŮŠ مجلد التنزيلات الخاص بŮ" #: src/safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "ŘĄŮ…Ůانية قراءة مجلد التنزيل" #: src/safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "قادر على قراءة جميع البيانات ŮŮŠ مجلد التحميلات" #: src/safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "قادر على قراءة ŮŮتابة البيانات ضمن هذا المجلد" #: src/safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "قادر على قراءة البيانات ضمن هذا المجلد" #: src/safety-calculator.c:258 msgid "No File System Access" msgstr "لا ŮŠŮجد ŮصŮŮ„ لملŮات النظام" #: src/safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "غير قادر على الŮصŮŮ„ لملŮات النظام على الإطلاق" #: src/safety-calculator.c:266 msgid "Uses System Services" msgstr "يستخدم خدمات النظام" #: src/safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "ŮŠŮ…Ůن طلب البيانات من خدمات النظام غير التابعة للبŮابة" #: src/safety-calculator.c:273 msgid "Uses Session Services" msgstr "يستخدم خدمات الجلسة" #: src/safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "ŮŠŮ…Ůن طلب البيانات من خدمات جلسات غير تابعة للبŮابة" #: src/safety-calculator.c:322 msgid "No Service Access" msgstr "لا ŮŠŮجد ŮصŮŮ„ للخدمات" #: src/safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "" "لا ŮŠŮ…Ůن الŮصŮŮ„ إلى جلسات أ٠خدمات النظام غير التابعة للبŮابة على الإطلاق" #: src/safety-calculator.c:331 msgid "Verified App Developer" msgstr "Ů…Ř·Ůر تطبيقات Ů…Ůثق" #: src/safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "ŘŞŮ… التحقق من هŮŮŠŘ© Ů…Ř·Ůر هذا التطبيق" #: src/safety-calculator.c:341 msgid "Proprietary Code" msgstr "ŮŮŘŻ Ů…Ř­ŘŞŮر" #: src/safety-calculator.c:342 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "الŮŮŘŻ المصدري غير متاح للعامة ŮŮŠŮ…Ůن مراجعته بشŮŮ„ مستقل، مما يعني أن التطبيق " "قد ŮŠŮŮن غير آمن" #: src/safety-calculator.c:352 msgid "Auditable Code" msgstr "ŮŮŘŻ قابل للتدقيق" #: src/safety-calculator.c:353 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "الŮŮŘŻ المصدري متاح للعامة ŮŮŠŮ…Ůن مراجعته بشŮŮ„ مستقل، مما يجعل التطبيق ŘŁŮثر " "أمانًا" #: src/safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "ŮŠŮ…Ůنه استخدام خدمة النظام: %s" #: src/safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "ŮŠŮ…Ůنه استخدام جلسة الخدمة: %s" #: src/safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "ŮŠŮ…Ůنه استخدام خدمة: %s" #: src/safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "ŮŠŮ…Ůنه رؤية الخدمة غير التابعة للبŮابة" #: src/safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "ŮŠŮ…Ůنه التحدث Ů…Řą الخدمة غير التابعة للبŮابة" #: src/safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "ŮŠŮ…Ůنه امتلا٠الخدمة غير التابعة للبŮابة" #: src/safety-calculator.c:530 msgid "Global Menu Integration" msgstr "ŘŞŮامل القŮائم العامة" #: src/safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "قادر على عرض Ů‚Ůائمه ŮŮŠ شريط القŮائم العام" #: src/safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "ŘŞŮامل إعدادات KDE" #: src/safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "قادر على ŘŞŘ­ŘŻŮŠŘŻ التغيرات ŮŮŠ إعدادات سطح Ů…Ůتب KDE" #: src/safety-calculator.c:542 msgid "KDE Global Settings" msgstr "الإعدادات العامة لـKDE" #: src/safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "قادر على قراءة ŘŞŮضيلات سطح Ů…Ůتب KDE مثل الخطŮŘ· ŮالألŮان" #: src/safety-calculator.c:548 msgid "Secret Storage Service" msgstr "خدمة تخزين الأسرار" #: src/safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "قادر على تخزين Ůاستعادة Ůلمات المرŮر الخاصة به باستخدام سلسلة Ů…Ůاتيح النظام" #: src/safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "خدمة إشعارات سطح المŮتب" #: src/safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "يستطيع إرسال إشعارات لسطح المŮتب" #: src/safety-calculator.c:561 msgid "System Tray Integration" msgstr "ŘŞŮامل شريط النظام" #: src/safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "قادر على عرض ŘŁŮŠŮ‚Ůنة ŮŮŠ شريط النظام" #: src/safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "ŘŞŮامل KDE Connect" #: src/safety-calculator.c:568 msgid "Can interact with devices paired via KDE Connect" msgstr "قادر على التŮاعل Ů…Řą الأجهزة المرتبطة عن طريق KDE Connect" #: src/bz-safety-dialog.blp:7 msgid "Safety" msgstr "الأمن" #: src/bz-safety-dialog.blp:50 msgid "Details" msgstr "التŮاصيل" #: src/bz-safety-dialog.blp:53 msgid "License" msgstr "الرخصة" #: src/bz-safety-dialog.blp:63 msgid "App ID" msgstr "معر٠التطبيق" #: src/bz-safety-dialog.blp:73 msgid "SDK" msgstr "حزمة التطŮير البرمجية" #: src/bz-safety-dialog.blp:101 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "يستخدم هذا التطبيق إصدارًا قديمًا من منصة البرامج (حزمة ŘŞŘ·Ůير برمجية) Ůقد " "ŮŠŘ­ŘŞŮŮŠ على أخطاء أ٠ثغرات أمنية لن ŮŠŘŞŮ… إصلاحها." #: src/bz-safety-dialog.c:227 #, c-format msgid "%s is Safe" msgstr "%s آمن" #: src/bz-safety-dialog.c:232 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s لا يمل٠أذŮنات آمنة" #: src/bz-safety-dialog.c:237 #, c-format msgid "%s is Probably Safe" msgstr "%s آمن غالبا" #: src/bz-safety-dialog.c:242 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s ŮŠŮ…Ůن أن ŮŠŮŮن آمن" #: src/bz-safety-dialog.c:247 #, c-format msgid "%s is Unsafe" msgstr "%s غير آمن" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "لقطات الشاشة" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "لقطة الشاشة السابقة" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "لقطة الشاشة التالية" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "نسخ الصŮرة" #: src/bz-screenshot-page.blp:147 msgid "Reset View" msgstr "إعادة ضبط" #: src/bz-screenshot-page.blp:158 msgid "Zoom Out" msgstr "تصغير" #: src/bz-screenshot-page.blp:168 msgid "Zoom In" msgstr "ŘŞŮبير" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "عرض لقطات الشاشة" #: src/bz-screenshots-carousel.blp:112 msgid "Open Screenshot Viewer" msgstr "اŮŘŞŘ­ عارض لقطات الشاشة" #: src/bz-search-widget.blp:57 msgid "Search Apps, Games, Software" msgstr "ابحث عن التطبيقات, الألعاب, البرامج" #: src/bz-search-widget.blp:96 msgid "Categories Unavailable" msgstr "التصني٠غير Ů…ŘŞŮŮر" #: src/bz-search-widget.blp:97 msgid "Search for apps using the search bar above." msgstr "ابحث عن التطبيقات من خلال حقل البحث ŮŮŠ الأعلى." #: src/bz-search-widget.blp:181 msgid "No Applications Found" msgstr "لم ŮŠŘŞŮ… العثŮر على تطبيق" #: src/bz-search-widget.c:241 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "لا ŮŠŮجد نتائج لـ \"%s\" ŮŮŠ Ůلاتهب" #: src/bz-share-list.c:64 msgid "Copied!" msgstr "نُسŮŘ®!" #: src/bz-share-list.c:116 msgid "Copy Link" msgstr "انسخ الŮصلة" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "اŮŘŞŘ­ الŮصلة" #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "الخط الزمني" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "التنصيبات:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "العالم" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:124 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM Ůامل التنزيلات" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:127 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK Ůامل التنزيلات" #: src/bz-stats-dialog.c:129 #, c-format msgid "%'d Total Installs" msgstr "%'d Ůامل التنزيلات" #: src/bz-tag-list.c:96 msgid "No Results Found" msgstr "لا ŘŞŮجد نتائج" #: src/bz-tag-list.c:108 #, c-format msgid "Apps Tagged \"%s\"" msgstr "التطبيقات المŮŘłŮŮ…Ř© \"%s\"" #: src/bz-tag-list.c:124 msgid "Search failed" msgstr "ŮŘ´Ů„ البحث" #: src/bz-transaction-dialog.c:155 msgid "Keep Data" msgstr "الحŮاظ على المعلŮمات" #: src/bz-transaction-dialog.c:156 msgid "Allow restoring settings and content" msgstr "السماح باستعادة الإعدادات ŮالمحتŮى" #: src/bz-transaction-dialog.c:165 msgid "Delete Data" msgstr "حذ٠المعلŮمات" #: src/bz-transaction-dialog.c:166 msgid "Permanently remove app data to save space" msgstr "أزŮŮ„ معلŮمات التطبيق نهائيا للحŮاظ على مساحة التخزين" #: src/bz-transaction-dialog.c:191 #, c-format msgid "Install %s?" msgstr "أتُنصّŮب %sŘź" #: src/bz-transaction-dialog.c:196 msgid "" "Select which version to install. May install additional shared components" msgstr "Ř­ŘŻŘŻ الإصدار الذي ترغب ŮŮŠ تنصيبه. قد تُنصَّب Ů…ŮŮنات إضاŮŮŠŘ© مشترŮŘ©" #: src/bz-transaction-dialog.c:198 msgid "May install additional shared components" msgstr "قد تُنصَّب Ů…ŮŮنات إضاŮŮŠŘ© مشترŮŘ©" #: src/bz-transaction-dialog.c:219 #, c-format msgid "Remove %s?" msgstr "أتُزيل %sŘź" #: src/bz-transaction-dialog.c:222 msgid "Select which version to remove." msgstr "Ř­ŘŻŘŻ الإصدار الذي ŘŞŮŘŻ حذŮه." #: src/bz-transaction-dialog.c:224 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "لن تستطيع استخدام %s بعد إزالته." #: src/bz-transaction-dialog.c:247 #, c-format msgid "“%s” is High Risk" msgstr "“%s” خطر جدا" #: src/bz-transaction-dialog.c:251 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "هذا التطبيق يمل٠صلاحيات Ůاملة على نظام٠منها <b>Ů…Ů„ŮاتŮ, معلŮمات تصŮŘ­Ů, " "Ůلمات مرŮر٠المحŮŮظة</b>,٠المزيد. Ůأيضا يمل٠صلاحية ŮصŮŮ„ للشبŮŘ©, قد يعني " "ذل٠إرسال معلŮمات٠لجهات خارجية.\n" "\n" "لأن التطبيق Ů…Ř­ŘŞŮر، Ůلا ŮŠŮ…Ůن تدقيقه لمعرŮŘ© ما ŮŠŮعله بهذه الأذŮنات." #: src/bz-transaction-dialog.c:260 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "هذا التطبيق يستخدم نظام النŮاŮذ X11, مما يسمح له بـ <b>تسجيل جميع ضغطات " "الأزرار, تسجيل لقطات الشاشة, Ůمراقبة التطبيقات الأخرى</b>. Ůما ŮŠŮ…Ůنه أيضا " "الŮصŮŮ„ للشبŮŘ©, مما يعني ŘĄŮ…Ůانية إرسال بيانات٠الشخصية لأطرا٠خارجية.\n" "لأن التطبيق Ů…Ř­ŘŞŮر، Ůلا ŮŠŮ…Ůن تدقيقه لمعرŮŘ© ما ŮŠŮعله بهذه الأذŮنات." #: src/bz-transaction-dialog.c:276 msgid "Install Anyway" msgstr "نصّŮب على ŮŮ„ حال" #: src/bz-transaction-dialog.c:549 msgid "All apps are already installed" msgstr "ŘŞŮ… تنصيب جميع التطبيقات" #: src/bz-transaction-dialog.c:551 msgid "OK" msgstr "حسناً" #: src/bz-transaction-dialog.c:567 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "أتُنصّŮب %u التطبيق؟" msgstr[1] "أتُنصّŮب %u التطبيق؟" msgstr[2] "أتُنصّŮب %u التطبيقات؟" msgstr[3] "أتُنصّŮب %u التطبيقات؟" msgstr[4] "أتُنصّŮب %u التطبيقات؟" msgstr[5] "أتُنصّŮب %u التطبيقات؟" #: src/bz-transaction-dialog.c:575 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "سيتم تنصيب التالي. برمجيات تشارŮŮŠŘ© إضاŮŮŠŘ© قد ŮŠŘŞŮ… تنصيبها" #: src/bz-transaction-dialog.c:576 #, c-format msgid "%d addons will be installed." msgstr "%d إضاŮات ستنصَّب." #: src/bz-transaction-dialog.c:577 msgid "Additionally, addons will be installed." msgstr "بالإضاŮŘ© إلى ذلŮŘŚ ستنصَّب %d من بيئات التشغيل Ů\\أ٠الإضاŮات." #: src/bz-transaction-manager.c:1251 #, c-format msgid "Finished in %.02f seconds" msgstr "انتهى خلال %.02f ثانية" #: src/bz-transaction-tile.blp:125 msgid "App Add-on" msgstr "إضاŮات التطبيق" #: src/bz-transaction-tile.blp:154 msgid "Runtime" msgstr "Ůقت التشغيل" #: src/bz-transaction-tile.blp:178 msgid "In Queue" msgstr "ŮŮŠ الطابŮر" #: src/bz-transaction-tile.blp:202 msgid "Done" msgstr "انتهاء" #: src/bz-transaction-tile.blp:226 msgid "Error" msgstr "خطأ" #: src/bz-transaction-tile.blp:267 msgid "Open App" msgstr "اŮŘŞŘ­ التطبيق" #: src/bz-transaction-tile.c:110 #, c-format msgid "%s Freed" msgstr "%s ذاŮرة محررة" #: src/bz-transaction.c:342 msgid "Pending" msgstr "ينتظر" #: src/bz-updates-card.blp:36 msgid "Update All" msgstr "Ř­ŘŻŮ‘ŮŘ« الŮŮ„" #: src/bz-updates-card.blp:161 src/bz-updates-card.blp:186 msgid "Update" msgstr "Ř­ŘŻŮ‘ŮŘ«" #: src/bz-updates-card.c:293 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u ŘŞŘ­ŘŻŮŠŘ« Ůقت التشغيل" msgstr[1] "%u ŘŞŘ­ŘŻŮŠŘ« Ůقت التشغيل" msgstr[2] "%u تحديثات Ůقت التشغيل" msgstr[3] "%u تحديثات Ůقت التشغيل" msgstr[4] "%u تحديثات Ůقت التشغيل" msgstr[5] "%u تحديثات Ůقت التشغيل" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "أدر معلŮماتŮ" #: src/bz-user-data-page.blp:89 msgid "No User Data found" msgstr "لم ŮŠŘŞŮ… العثŮر على معلŮمات المستخدم" #: src/bz-user-data-page.blp:94 msgid "User Data" msgstr "معلŮمات المستخدم" #: src/bz-user-data-tile.c:144 #, c-format msgid "Trashed User Data for %s" msgstr "معلŮمات المستخدم المهملة لـ %s" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "معلŮمات المستخدم المهملة" #: src/bz-window.blp:135 msgid "Refreshing Store Content" msgstr "ŘŞŘ­ŘŻŮŠŘ« Ů…Ř­ŘŞŮى المتجر" #: src/bz-window.blp:153 msgid "Curated" msgstr "المنتقاة" #: src/bz-window.blp:166 msgid "Flathub" msgstr "Ůلاتهَب" #: src/bz-window.blp:273 msgid "No background tasks!" msgstr "لا ŘŞŮجد مهمات ŮŮŠ الخلŮŮŠŘ©!" #: src/bz-window.blp:325 msgid "You are running a new version of Bazaar!" msgstr "انت تشغل نسخة حديثة من بازار!" #: src/bz-window.blp:326 msgid "See What's New" msgstr "تعر٠على ŘŁŘ­ŘŻŘ« التطبيقات" #: src/bz-window.blp:333 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "لدي٠اتصال بالشبŮŘ© ŮŮ„Ůن ŮŠŘŞŮ… عرض نسخة مسجلة من Ůلاتهب" #: src/bz-window.blp:449 msgid "Log Out" msgstr "تسجيل الخرŮج" #: src/bz-window.c:683 msgid "You can't remove Bazaar from Bazaar!" msgstr "لا ŮŠŮ…Ůن٠حذ٠بازار من بازار!" #: src/bz-window.c:891 src/bz-window.c:925 msgid "Can't do that right now!" msgstr "لا ŮŠŮ…Ůن Ůعل ذل٠الآن!" #: src/bz-world-map.c:587 msgctxt "As in, \"100 Downloads\"" msgid "Downloads" msgstr "التنزيلات" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "عام" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "اŮŘŞŘ­ البحث" #: src/gtk/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Preferences" msgstr "اŮŘŞŘ­ التŮضيلات" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Synchronize Remotes" msgstr "المزامنة" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Open Library" msgstr "اŮŘŞŘ­ المŮتبة" #: src/gtk/shortcuts-dialog.blp:30 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "أظهŮر الاختصارات" #: src/gtk/shortcuts-dialog.blp:35 msgctxt "shortcut window" msgid "Quit" msgstr "الخرŮج" #~ msgid "Show Git Forge Star Counts" #~ msgstr "إظهار نجŮŮ… مستŮŘŻŘą جŮŘŞ" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "أيظهر مقدار نجŮŮ… مستŮŘŻŘą جŮŘŞ للمشرŮŘą ŘŁŮ… لا؟" #~ msgid "Only Show Free Software" #~ msgstr "إظهار البرمجيات الحرة حصرًا" #~ msgid "Hide proprietary software when searching" #~ msgstr "ŮŠŘ®ŮŮŠ البرمجيات المحتŮرة عند البحث" #~ msgid "Filter search results to only show applications available on Flathub" #~ msgstr "يرشّŮŘ­ نتائج البحث لتظهر التطبيقات المتŮŮرة على Ůلاتهَب حصرًا" #~ msgid "Debounce Search Inputs" #~ msgstr "تجاهل ارتداد مدخلات البحث" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "يؤخر إظهار النتائج لمنع ظهŮرها ŮŮريًا أثناء الŮتابة" #~ msgid "Global Progress Bar Theme" #~ msgstr "سمة شريط التقدم العامة" #~ msgid "Describes the look of the global progress bar" #~ msgstr "يشرح المظهر العام لشريط التقدم" #~ msgid "Saved Window Dimensions" #~ msgstr "أبعاد الناŮذة المحŮŮظة" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "أبعاد الناŮذة التي ستستخدمها ناŮذة بازار التالية" #~ msgid "Nucleus app page" #~ msgstr "صŮŘ­Ř© تطبيق «Nucleus»" #~ msgid "Manage Addons" #~ msgstr "ŘŁŘŻŮر الإضاŮات" #~ msgid "Of the size of human DNA" #~ msgstr "من حجم الحمض الريبي النŮŮŮŠ منزŮŘą الأŮسجين للإنسان" #~ msgid "3 billion base pairs" #~ msgstr "3 مليارات زŮج قاعدي" #~ msgid "Of the Linux Kernel" #~ msgstr "من نŮاة لينŮŘł" #~ msgid "linux-6.17.tar.xz" #~ msgstr "linux-6.17.tar.xz" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "من حاسŮب ŘŞŮجيه أبŮل٠11" #~ msgid "Total ROM and RAM" #~ msgstr "إجمالي ذاŮرة القراءة ŮالذاŮرة العشŮائية" #~ msgid "Of the original Super Mario Bros" #~ msgstr "من لعبة «سŮبر ماري٠برŮز» الأصلية" #~ msgid "Of the size of Wikipedia" #~ msgstr "من حجم ŮŮŠŮيبيديا" #~ msgid "Without any media" #~ msgstr "ŘŻŮن ŘŁŮŠ Ůسائط" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "هذه الŮظيŮŘ© معطَّلة حاليًا. ينصح بتنصيب «Ůلاتسيل» لإدارة أذŮنات التطبيق." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "ŘŁŘ­Ů…ŘŻ النجماŮŮŠ" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Goudarz Jafari" #~ msgstr "Goudarz Jafari" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore (Lumaeris)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "JoĂŁo Victor (Leal)" #~ msgstr "JoĂŁo Victor (Leal)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "KiKaraage" #~ msgstr "KiKaraage" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "LĂ©ane GRASSER" #~ msgstr "LĂ©ane GRASSER" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Marcel MrĂłwka (Microwave)" #~ msgstr "Marcel MrĂłwka (Microwave)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Peter Dave Hello" #~ msgstr "Peter Dave Hello" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Pietro F." #~ msgstr "Pietro F." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shinsei" #~ msgstr "Shinsei" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "camegone" #~ msgstr "camegone" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgid "Constructing Flatpak instance..." #~ msgstr "تُبنى نسخة ŮلاتباŮ..." #~ msgid "Reusing last Flatpak instance..." #~ msgstr "يعاد استخدام آخر نسخة ŮلاتباŮ..." #~ msgid "Flathub is not registered on this system" #~ msgstr "لم يُسجّŮŮ„ Ůلاتهَب على هذا النظام" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "ŘŁŘŞŮŘŻ إضاŮŘ© Ůلاتهَب ŮمستŮدع؟ لن ŘŞŘŞŮŮر صŮŘ­Ř© Ůلاتهَب إن رŮضت ذلŮ. ŮŠŮ…Ůن٠تغيير " #~ "ذل٠لاحقًا." #~ msgid "Add Flathub" #~ msgstr "أضŮŮ Ůلاتهَب" #, c-format #~ msgid "Identifying installed entries..." #~ msgstr "يتعر٠على المدخلات المنصَّبة..." #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "يبدأ جلب مدخلات المستŮŘŻŘą أثناء إحالة %d قائمة حجب..." #, c-format #~ msgid "%'d of %'d" #~ msgstr "%'d من %'d" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "ينتظر اŮتمال مهام Ůهرسة الخلŮŮŠŘ©..." #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "اŮŘŞŮ…Ů„ التمهيد خلال %0.2f ثانية" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "لم يُزŮَّد بازار بإعدادات Ů…Ř­ŘŞŮى منتقى. ŘŞŮاصل Ů…Řą قنŮات دعم نظام تشغيل٠للحصŮŮ„ " #~ "على المساعدة." #~ msgid "Entry Inspector" #~ msgstr "Ůاحص المدخلات" #~ msgid "Serialize" #~ msgstr "سَلسŮŮ„" #~ msgid "Convert to JSON" #~ msgstr "Ř­ŮŮ‘ŮŮ„ إلى JSON" #~ msgid "Graphics" #~ msgstr "رسŮميات" #~ msgid "Office" #~ msgstr "Ů…Ůتب" #~ msgctxt "Project URL Type" #~ msgid "Homepage" #~ msgstr "الصŮŘ­Ř© الرئيسة" #~ msgid "This flatpak is verified by the original developers of the software." #~ msgstr "Ůثَّق Ů…Ř·ŮرŮا البرمجية Ůلاتبا٠هذا." #~ msgid "Repository Star Count" #~ msgstr "نجŮŮ… المستŮŘŻŘą" #~ msgid "Share this application" #~ msgstr "شارŮ٠هذا التطبيق" #~ msgid "Excludes shared components" #~ msgstr "يستبعد المŮŮنات المشترŮŘ©" #~ msgid "Source code may not be available" #~ msgstr "قد لا ŮŠŘŞŮŮر المصدر البرمجي" #~ msgid "Click for details" #~ msgstr "انقر للتŮاصيل" #~ msgid "Repositories" #~ msgstr "المستŮدعات" #~ msgid "Open in browser" #~ msgstr "اŮŘŞŘ­ ŮŮŠ المتصŮŘ­" #, c-format #~ msgid "%'d Monthly Downloads" #~ msgstr "%'d تنزيل شهري" #~ msgid "%B %-d, %Y" #~ msgstr "%-Od %BŘŚ %OY" #~ msgid "%B %-d" #~ msgstr "%-Od %B" #~ msgid "Bazaar Inspector" #~ msgstr "متعقب «بازار»" #~ msgid "Active Blocklists" #~ msgstr "Ů‚Ůائم الحجب النشطة" #~ msgid "Active Curated-Configs" #~ msgstr "ضبط التطبيقات «المنتقاة» النشط" #~ msgid "All Entry Groups" #~ msgstr "جميع مجمŮعات المدخلات" #~ msgid "Filter..." #~ msgstr "رشّŮŘ­..." #~ msgid "Decache and Inspect" #~ msgstr "امحُ الاختزان ŮاŮحص" #~ msgid "No Flatpaks Installed" #~ msgstr "لا حزم Ůلاتبا٠منصَّبة" #~ msgid "Run this application" #~ msgstr "شغّŮŮ„ هذا التطبيق" #~ msgid "Run" #~ msgstr "شغّŮŮ„" #~ msgid "Application Details" #~ msgstr "ŘŞŮاصيل التطبيق" #~ msgid "Git Forge Star Counts" #~ msgstr "نجŮŮ… مستŮŘŻŘą جŮŘŞ" #~ msgid "Not having a GitHub access token may trigger rate limits" #~ msgstr "قد ŮŠŮŹŘ­ŘŻŮ‘ ŮصŮل٠إن لم ŮŠŮن لدي٠رمز ŮصŮŮ„ جŮت‌هَب" #~ msgid "Show Only Flathub Apps" #~ msgstr "إظهار تطبيقات Ůلاتهَب حصرًا" #~ msgid "Wait for a brief pause to reduce system load" #~ msgstr "ينتظر Ůهلة لتخŮŮŠŮ Ř­ŮŮ…Ů„ النظام عند البحث" #~ msgid "Theme" #~ msgstr "السمة" #~ msgid "Pride Rainbow Flag" #~ msgstr "علم Ůخر Ů‚ŮŘł قزح" #~ msgid "Bisexual Flag" #~ msgstr "علم ازدŮاج التŮجه الجنسي" #~ msgid "Asexual Flag" #~ msgstr "علم اللاجنسية" #~ msgid "Share" #~ msgstr "شارŮŮ" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "نُقŮŮ„ %s حتى الآن" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "التطبيقات التالية متاحة للتحديث. أتنصبها؟" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "ŘŞŘŞŮŮر تحديثات ل‍ %d من بيئات التشغيل Ů\\أ٠الإضاŮات. أتنصبها؟" #~ msgid "Transactions" #~ msgstr "العمليات" #~ msgid "Toggle transaction sidebar" #~ msgstr "بدّŮŮ„ الشريط الجانبي للعمليات" #~ msgid "Stop Active Tasks" #~ msgstr "ŘŁŮق٠المهام النشطة" #~ msgid "Clear History" #~ msgstr "امحُ التأريخ" #~ msgid "No Tasks Yet" #~ msgstr "لا ŘŞŮجد مهام حتى الآن" #~ msgid "Browse" #~ msgstr "تصŮَّح" #~ msgid "App View" #~ msgstr "منظŮر التطبيق" #~ msgid "Go Back" #~ msgstr "ارجŮŘą" #~ msgid "View curated applications" #~ msgstr "اعرŮض التطبيقات المنتقاة" #~ msgid "View the latest on Flathub" #~ msgstr "اعرŮض آخر المستجدات على Ůلاتهَب" #~ msgid "_Quit Service" #~ msgstr "ŘŁ_نه٠الخدمة" #~ msgid "Up to date!" #~ msgstr "مُحدَّث!" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "قابلة Ůحص Ůتنصيب Ů…Ů„Ůات حزم .flatpak قادمة. أثناء ذلŮŘŚ ŮŠŮ…Ůن٠تشغيل\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "ŮŮŠ الطرŮŮŠŘ©." #~ msgid "Settings & user data will be kept" #~ msgstr "ستبقى الإعدادات Ůبيانات المستخدم مخزَّنة" #~ msgid "Resume Current Tasks" #~ msgstr "استأن٠المهام الحالية" #~ msgid "Pause Current Tasks" #~ msgstr "ألبث المهام الحالية" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u تنزيل" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "ŘŁŘąŮŘŻ التحميل" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "بدّŮŮ„ مدير المعاملات" #~ msgid "Calligraphy application page" #~ msgstr "صŮŘ­Ř© تطبيق «ŮالŮغرَŮي»" #~ msgid "Download graph for Blender" #~ msgstr "تنزيل رسم بياني ل‍«بلندر»" #~ msgid "Open this image in the default image viewer" #~ msgstr "اŮŘŞŘ­ هذه الصŮرة ŮŮŠ عارض الصŮر المبدئي" #~ msgid "Copy this image to the clipboard" #~ msgstr "انسخ هذه الصŮرة إلى الحاŮظة" #~ msgid "Download Statistics" #~ msgstr "إحصاءات التنزيل" #~ msgid "Show Downloads Over Time" #~ msgstr "أظهŮر التنزيلات عبر الزمن" #~ msgid "Remote repo name" #~ msgstr "اسم المستŮŘŻŘą" #~ msgid "Updated Size" #~ msgstr "الحجم المحدَّث" #~ msgid "Freed Space" #~ msgstr "المساحة المŮرغة" #~ msgid "Transactions Will Appear Here" #~ msgstr "ستظهر العمليات هنا" #~ msgid "Halt the execution of transactions" #~ msgstr "ŘŁŮŮ‚Ů٠تنŮيذ العمليات" #~ msgid "Resume the execution of transactions" #~ msgstr "استَئن٠تنŮيذ العمليات" #~ msgid "Pause the execution of transactions" #~ msgstr "ŘŁŮŮ‚Ů٠تنŮيذ العمليات مؤقتًا" #~ msgid "Apps Of The Week" #~ msgstr "تطبيقات الأسبŮŘą" #, c-format #~ msgid "Released %x" #~ msgstr "أُصدŮر ŮŮŠ %x" #~ msgid "Downloads Over Time" #~ msgstr "التنزيلات عبر الزمن" #~ msgid "Minimize Lower Bound" #~ msgstr "صغّŮر الحد الأدنى" #~ msgid "Maximize Upper Bound" #~ msgstr "ŮبّŮر الحد الأعلى" #~ msgid "Confirm Action" #~ msgstr "ŘŞŘŁŮŮŠŘŻ الإجراء" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "أنت على Ůش٠إزالة حزمة Ůلاتبا٠التالية:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "ŘŁŮ…ŘŞŘŁŮŘŻŘź" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "أنت على Ůش٠تنصيب حزمة Ůلاتبا٠التالية:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "ŘŁŮ…ŘŞŘŁŮŘŻŘź" #~ msgctxt "Project URL Type" #~ msgid "VCS Browser" #~ msgstr "المستŮŘŻŘą" #~ msgid "Full Application View" #~ msgstr "عرض التطبيق الŮامل" #~ msgid "Change what content is shown when viewing applications" #~ msgstr "يغيّŮر المحتŮى المعرŮض عند إظهار التطبيقات" #~ msgid "" #~ "If you do not have an access token, turning this setting on may cause " #~ "GitHub to eventually rate limit you." #~ msgstr "" #~ "قد يؤدي ŘŞŮعيل هذا الإعداد إلى Ř­ŘŻŮ‘Ů٠من الŮصŮŮ„ إلى GitHub إن لم ŮŠŮن لدي٠رمز " #~ "ŮصŮŮ„." #~ msgid "Type to filter" #~ msgstr "اŮتب للترشيح" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "استبعŮŘŻ النتائج ذات الرخص الاحتŮارية" #~ msgid "Advanced" #~ msgstr "متقدم" #~ msgid "Open this link externally" #~ msgstr "اŮŘŞŘ­ هذه الŮصلة خارجيًا" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "استُلمت %'d من أصل %'d (انقضت %0.1f ثانية)" #~ msgid "Installing" #~ msgstr "ينصَّب" #~ msgid "Removing" #~ msgstr "يُزال" #~ msgid "Show Animated Background" #~ msgstr "إظهار الخلŮŮŠŘ© المتحرŮŘ©" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "أتُعرَض خلŮŮŠŘ© الأيقŮنات المتحرŮŘ© ŮŮŠ الصŮŘ­Ř© الرئيسة ŘŁŮ… لا" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "عدد التنزيلات ŮŮŠ آخر 30 ŮŠŮمًا. انقر لعرض إحصائيات تنزيل هذا التطبيق." #~ msgid "How the application looks" #~ msgstr "Ůي٠يبد٠التطبيق" #~ msgid "Appearance" #~ msgstr "المظهر" #~ msgid "Show animated background" #~ msgstr "إظهار الخلŮŮŠŘ© المتحرŮŘ©" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "أبق٠الملخص مختصرًا، بين 10 Ů 35 حرŮًا" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "ناŮذة بازار الرئيسية تعرض تطبيق بلندر" #~ msgid "Match using regular expressions" #~ msgstr "طابŮŮ‚ باستخدام التعابير النمطية" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "ŘŁŘ®Ů٠الترشيح ŮالŮرز خل٠تأثير التلاشي المتداخل" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/be.po������������������������������������������������������������������0000664�0000000�0000000�00000305573�15234476640�0016647�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Belarusian translations for bazaar package. # Copyright (C) 2026 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-01 06:45+0100\n" "PO-Revision-Date: 2026-03-01 21:34+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 3.8\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:6 #: src/bz-window.blp:110 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Дадавайце, выдаляйце або абнаўляйце праграмы Ńž фармаце flatpak на гэтым камп’ютары" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;PackageManager;Discover;Flatpak;Software;Store;СіŃтэма;ПакетныМенеджар;Пакеты;Магазін;Крама;Флатпак;Праграмы;ПЗ;" #: data/io.github.kolunmi.Bazaar.desktop.in:15 msgid "New Window" msgstr "Новае акно" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "Знаходзьце Ń– ŃžŃталёўвайце праграмы" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A new app store for Linux with a focus on discovering and installing applications and addons from Flatpak remotes, particularly " "Flathub." msgstr "" "Новая крама праграм для Linux Đ· фокŃŃам на тым, каб адкрываць Ń– ŃžŃталёўваць праграмы Ń– дадаткі Đ· аддаленых Ńервераў Flatpak (Ń " "прыватнаŃці — Flathub)." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. Bazaar features a \"curated\" tab that can be " "configured by distributors to allow for a more localized experience." msgstr "" "Яна робіць акцэнт на падтрымцы раŃпрацоўŃчыкаў, якія робяць магчымым Linux для наŃтольных камп’ютараў. Bazaar вылŃчае ŃžĐşĐ»Đ°Đ´ĐşŃ " "\"падабраныя\" праграмы, ŃŹĐşŃŃŽ могŃць канфігŃраваць паŃтаўŃчыкі для Đ±ĐľĐ»ŃŚŃ Ń†ŃŤĐ»Đ°Ńнага Đ˛ĐľĐżŃ‹Ń‚Ń ĐşĐ°Ń€Ń‹Ńтання Đ´Ń‹ŃтрыбŃтывам." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:29 src/bz-application.c:699 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 msgid "The home page displaying Flathub apps" msgstr "Галоўная Ńтаронка паказвае праграмы Đ· Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Exhibit app page" msgstr "ДэманŃтрацыйная Ńтаронка праграмы" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 msgid "Library page" msgstr "Старонка бібліятэкі" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:66 msgid "Search page" msgstr "Старонка поŃŃĐşŃ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:70 msgid "Category page" msgstr "Старонка катэгорыі" #: src/bz-addons-dialog.blp:16 src/bz-full-view.blp:606 src/bz-installed-tile.blp:101 msgid "Manage Add-Ons" msgstr "Кіраваць дадаткамі" #: src/bz-addons-dialog.c:94 src/bz-install-controls.blp:78 src/bz-install-controls.blp:128 src/bz-installed-tile.blp:119 #: src/bz-transaction-dialog.c:231 msgid "Remove" msgstr "Выдаліць" #: src/bz-addons-dialog.c:99 src/bz-favorites-tile.c:159 src/bz-install-controls.blp:34 src/bz-transaction-dialog.c:202 msgid "Install" msgstr "ĐŁŃталяваць" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 src/bz-age-rating-dialog.c:726 src/bz-full-view.c:333 #: src/bz-full-view.c:340 msgid "Age Rating" msgstr "УзроŃтавы рэйтынг" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "ĐśŃльтыплікацыйны гвалт" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Няма звеŃтак наконт Ńцэн ĐłĐ˛Đ°Đ»Ń‚Ń ĐĽŃльтыплікацыйнага характарŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Фантазійны гвалт" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Няма звеŃтак наконт Ńцэн ĐłĐ˛Đ°Đ»Ń‚Ń Ń„Đ°Đ˝Ń‚Đ°Đ·Ń–ĐąĐ˝Đ°ĐłĐ° характарŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "РэаліŃтычны гвалт" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Няма звеŃтак наконт Ńцэн Đ· рэаліŃтычным гвалтам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Гвалт Đ· кровапраліццем" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Няма звеŃтак наконт Ńцэн ĐłĐ˛Đ°Đ»Ń‚Ń Đ· кровапраліццем" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "СекŃŃальны гвалт" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Няма звеŃтак наконт Ńцэн Đ· ŃекŃŃальным гвалтам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Đлкаголь" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Няма звеŃтак наконт згадвання алкагольных напояў" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Наркотыкі" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Няма звеŃтак наконт згадвання забароненых наркотыкаў" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Табак" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Няма звеŃтак наконт згадвання тытŃнёвых вырабаў" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "ĐголенаŃць" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Няма звеŃтак наконт Ńцэн агалення" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "СекŃŃальныя Ńцэны" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Няма звеŃтак наконт згадванняў або выяў ŃекŃŃальнага характарŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "НецэнзŃрная лекŃіка" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Няма звеŃтак наконт нецэнзŃрнай лекŃікі любога ĐşŃталтŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Недарэчны ĐłŃмар" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Няма звеŃтак наконт недарэчнага ĐłŃмарŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "ДыŃкрымінацыя" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Няма звеŃтак наконт моўнай Đ´Ń‹Ńкрымінацыі любога ĐşŃталтŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Рэклама" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Няма звеŃтак наконт рэкламы любога ĐşŃталтŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Đзартныя ĐłŃльні" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Няма звеŃтак наконт азартных ĐłŃльняў любога ĐşŃталтŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "ĐšŃпля за рэальныя гроŃŃ‹" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Няма звеŃтак наконт магчымаŃці траціць гроŃŃ‹" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Чат паміж карыŃтальнікамі" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Няма звеŃтак наконт магчымаŃці вядзення размоў Ń Ń‡Đ°Ń†Đµ Đ· Ń–Đ˝Ńымі карыŃтальнікамі" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Đўдыячат паміж карыŃтальнікамі" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Няма звеŃтак наконт магчымаŃці вядзення размоў Ń Đ°ŃžĐ´Ń‹ŃŹŃ‡Đ°Ń†Đµ Đ· Ń–Đ˝Ńымі карыŃтальнікамі" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Кантактныя звеŃткі" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "No information regarding sharing of social network usernames or email addresses" msgstr "Няма звеŃтак наконт абагŃльвання імёнаў карыŃтальнікаў Ńацыяльнай Ńеткі або адраŃоў электроннай поŃты" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Ідэнфікацыйныя звеŃткі" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "Няма звеŃтак наконт перадачы даных карыŃтальніка Ńтароннім аŃобам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "ĐбагŃльванне меŃцазнаходжання" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Няма звеŃтак наконт перадачы фізічнага меŃцазнаходжання Ń–Đ˝Ńым карыŃтальнікам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "ПраŃтытŃцыя" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Няма звеŃтак наконт згадвання праŃтытŃцыі" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Сямейная нявернаŃць" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Няма звеŃтак наконт згадвання Ńямейнай нявернаŃці" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "СекŃŃалізаваныя перŃанажы" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Няма звеŃтак наконт ŃекŃŃалізаваных перŃанажаў" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Đпаганьванне" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Няма звеŃтак наконт згадванняў пра апаганьванне" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "ПарэŃткі памерлых людзей" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Няма звеŃтак наконт бачных парэŃткаў памерлых людзей" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "РабŃтва" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Няма звеŃтак наконт згадвання пра рабŃтва" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Не ўтрымлівае згадванняў пра наркотыкі" #: src/bz-age-rating-dialog.c:426 msgid "Does not include swearing, profanity, and other kinds of strong language" msgstr "Не ўтрымлівае лаянкі, нецэнзŃрнай Ń– непрыŃтойнай лекŃікі" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Не ўтрымлівае рэкламы або граŃовых аперацый" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Не ўтрымлівае Ńцэн ŃекŃŃ Đ°Đ±Đľ агалення" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Не ўтрымлівае беŃкантрольных Ń„Ńнкцый чата" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Не ўтрымлівае Ńцэн гвалтŃ" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Наркотыкі" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Лаянка" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "ГроŃŃ‹" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "СŃвязь" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Гвалт" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:676 src/bz-full-view.c:323 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:701 msgctxt "Age rating" msgid "All" msgstr "ĐŁŃе" #: src/bz-age-rating-dialog.c:737 #, c-format msgid "%s has an unknown age rating" msgstr "УзроŃтавы рэйтынг \"%s\" невядомы" #: src/bz-age-rating-dialog.c:743 #, c-format msgid "%s is suitable for everyone" msgstr "\"%s\" прыдатна для ŃžŃŃ–Ń…" #: src/bz-age-rating-dialog.c:746 #, c-format msgid "%s is suitable for young children" msgstr "\"%s\" прыдатна для дзяцей Ńкольнага ўзроŃŃ‚Ń (6+)" #: src/bz-age-rating-dialog.c:749 #, c-format msgid "%s is suitable for children" msgstr "\"%s\" прыдатна для дзяцей Ńкольнага ўзроŃŃ‚Ń (12+)" #: src/bz-age-rating-dialog.c:752 #, c-format msgid "%s is suitable for teenagers" msgstr "\"%s\" прыдатна для дзяцей ŃтарэйŃага ўзроŃŃ‚Ń (16+)" #: src/bz-age-rating-dialog.c:755 #, c-format msgid "%s is suitable for adults" msgstr "\"%s\" прыдатна для дароŃлых (18+)" #: src/bz-age-rating-dialog.c:758 #, c-format msgid "%s is suitable for %s" msgstr "\"%s\" прыдатна для %s" #: src/bz-age-rating-dialog.c:852 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-all-apps-page.blp:13 src/bz-apps-page.blp:14 src/bz-full-view.blp:29 src/bz-user-data-page.blp:15 src/bz-window.blp:285 msgid "Main Menu" msgstr "Галоўнае меню" #: src/bz-all-apps-page.blp:18 src/bz-apps-page.blp:18 src/bz-user-data-page.blp:19 src/bz-window.blp:374 msgid "_Donate to Bazaar ❤️" msgstr "Па_дтрымаць Bazaar ❤️" #: src/bz-all-apps-page.blp:25 src/bz-apps-page.blp:25 src/bz-user-data-page.blp:26 src/bz-window.blp:381 msgid "_Refresh" msgstr "_Đбнавіць" #: src/bz-all-apps-page.blp:30 src/bz-apps-page.blp:30 src/bz-user-data-page.blp:31 src/bz-window.blp:386 msgid "_Preferences" msgstr "_Параметры" #: src/bz-all-apps-page.blp:35 src/bz-apps-page.blp:35 src/bz-user-data-page.blp:36 src/bz-window.blp:391 msgid "_Login With Flathub" msgstr "_УвайŃці праз Flathub" #: src/bz-all-apps-page.blp:41 src/bz-apps-page.blp:41 src/bz-user-data-page.blp:42 src/bz-window.blp:397 msgid "_Manage Leftover User Data" msgstr "_Кіраваць аŃтаткамі даных карыŃтальніка" #: src/bz-all-apps-page.blp:46 src/bz-apps-page.blp:46 src/bz-user-data-page.blp:47 src/bz-window.blp:402 msgid "_Keyboard Shortcuts" msgstr "_СпалŃчэнні клавіŃ" #: src/bz-all-apps-page.blp:51 src/bz-apps-page.blp:51 src/bz-user-data-page.blp:52 src/bz-window.blp:407 msgid "_About Bazaar" msgstr "Đź_ра Bazaar" #: src/bz-all-apps-page.blp:58 src/bz-apps-page.blp:58 src/bz-user-data-page.blp:59 src/bz-window.blp:414 msgid "_Quit Bazaar" msgstr "_ВыйŃці Đ· Bazaar" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "СіŃтэмная папка %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Падпапка Ńž папцы \"Галоўная\" %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Папкі ŃŃ–Ńтэмы-Ń…ĐľŃта" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "КанфігŃрацыя ŃŃ–Ńтэмы-Ń…ĐľŃта Đ· /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Падпапка Ńž папцы працоўнага Ńтала %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Папка працоўнага Ńтала" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Падпапка Ńž папцы \"ДакŃменты\" %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Папка \"ДакŃменты\"" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Падпапка Ńž папцы \"ĐśŃзыка\" %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Папка \"ĐśŃзыка\"" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Падпапка Ńž папцы \"ВідарыŃŃ‹\" %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Папка \"ВідарыŃŃ‹\"" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Падпапка Ńž папцы \"ĐźŃблічныя файлы\" %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Папка \"ĐźŃблічныя файлы\"" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Падпапка \"Відэа\" %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Папка \"Відэа\"" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Падпапка \"Шаблоны\" %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Папка \"Шаблоны\"" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Падпапка Đ· кэŃам карыŃтальніка %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Папка Đ· кэŃам карыŃтальніка" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Падпапка Ńž папцы канфігŃрацыі карыŃтальніка %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Папка канфігŃрацыі карыŃтальніка" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Падпапка Ńž папцы даных карыŃтальніка %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Папка даных карыŃтальніка" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Падпапка Ńž папцы карыŃтальніцкага аŃяроддзя выканання %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Папка карыŃтальніцкага аŃяроддзя выканання" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "ДоŃŃ‚ŃĐż файлавай ŃŃ–Ńтэмы да %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Невядомы Ńлях Ń Ń„Đ°ĐąĐ»Đ°Đ˛Đ°Đą ŃŃ–Ńтэме" #: src/bz-app-size-dialog.blp:29 src/bz-app-size-dialog.blp:55 msgid "Download Size" msgstr "Памер Ńпампоўвання" #: src/bz-app-size-dialog.blp:56 msgid "Amount to download from the internet" msgstr "Па даных да Ńпампоўвання Đ· інтэрнэтŃ" #: src/bz-app-size-dialog.blp:76 msgid "Installed Size" msgstr "Памер ŃŃталёўкі" #: src/bz-app-size-dialog.blp:77 msgid "Size on Disk" msgstr "Памер на Đ´Ń‹ŃĐşŃ" #: src/bz-app-size-dialog.blp:125 msgid "Open user data folder" msgstr "Đдкрыць ĐżĐ°ĐżĐşŃ Đ´Đ°Đ˝Ń‹Ń… карыŃтальніка" #: src/bz-app-size-dialog.blp:135 msgid "User Data Size" msgstr "Памер даных карыŃтальніка" #: src/bz-app-size-dialog.blp:136 msgid "Caches, settings, and other app data" msgstr "КэŃ, налады Ń– Ń–Đ˝Ńыя даныя праграм" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Памер ŃŃталяванага аŃяроддзя выканання" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Памер Ńпрампаванага аŃяроддзя выканання" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 src/bz-rich-app-tile.blp:103 src/bz-rich-app-tile.c:275 msgid "Verified" msgstr "Спраўджана" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:89 src/bz-full-view.c:282 src/bz-releases-list.c:178 msgid "Installed" msgstr "ĐŁŃталявана" #: src/bz-apps-page.blp:141 msgid "Show All" msgstr "Паказаць ŃŃŃ‘" #: src/bz-apps-page.c:229 #, c-format msgid "All \"%s\"" msgstr "ĐŁŃŃ‘ \"%s\"" #: src/bz-apps-page.c:498 src/bz-tag-list.c:109 #, c-format msgid "%d Applications" msgstr "КолькаŃць праграм: %d" #: src/bz-application.c:678 #, fuzzy msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:679 #, fuzzy msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:702 msgid "translator-credits" msgstr "ĐлякŃандр Клюеў <katoshrodingera@protonmail.ch>, 2026" #: src/bz-application.c:712 msgid "Special Thanks" msgstr "ĐŃаблівая падзяка" #: src/bz-application.c:770 msgid "Logged Out Successfully!" msgstr "Выхад выкананы!" #: src/bz-application.c:893 msgid "Performing setup…" msgstr "Выконваецца наладжванне…" #: src/bz-application.c:977 msgid "Set Up System Flathub?" msgstr "Наладзіць Flathub на ўзроўні ŃŃ–Ńтэмы?" #: src/bz-application.c:980 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be configured on the system Flatpak installation to browse " "and install applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Đддалены Ńервер Flathub не наладжаны для гэтай ŃŃ–Ńтэмы. Для ĐżŃ€Đ°ĐłĐ»ŃŹĐ´Ń Ń– ŃžŃталёўвання праграм, Bazaar патрабŃе канфігŃрацыі Flathub " "Ń ŃŃ–Ńтэмнай ŃžŃталёўцы Flatpak.\n" "\n" "Đ’Ń‹ ŃžŃŃ‘ ŃŹŃчэ зможаце выкарыŃтоўваць Bazaar для ĐżŃ€Đ°ĐłĐ»ŃŹĐ´Ń Ń– выдалення ўжо ŃžŃталяваных праграм." #: src/bz-application.c:987 msgid "Set Up Flathub?" msgstr "Наладзіць Flathub?" #: src/bz-application.c:990 msgid "" "Flathub is not set up on this system. You will not be able to browse and install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub не наладжаны для гэтай ŃŃ–Ńтэмы. Đ’Ń‹ не зможаце праглядаць Ń– ŃžŃталёўваць праграм Ń Bazaar, калі гэты ŃĐµŃ€Đ˛Ń–Ń Đ˝Đµ бŃдзе " "даŃŃ‚Ńпны.\n" "\n" "Đ’Ń‹ ŃžŃŃ‘ ŃŹŃчэ зможаце выкарыŃтоўваць Bazaar для ĐżŃ€Đ°ĐłĐ»ŃŹĐ´Ń Ń– выдалення ўжо ŃžŃталяваных праграм." #: src/bz-application.c:996 msgid "Later" msgstr "Пазней" #: src/bz-application.c:997 msgid "Set Up Flathub" msgstr "Наладзіць Flathub" #: src/bz-application.c:1280 msgid "A backend error occurred" msgstr "ĐдбылаŃŃŹ памылка на Ńервернай чаŃтцы" #: src/bz-application.c:1406 src/bz-application.c:3178 src/bz-window.blp:134 msgid "Refreshing…" msgstr "Ідзе абнаўленне…" #: src/bz-application.c:1552 src/bz-application.c:3176 #, c-format msgid "Loading %d apps…" msgstr "Ідзе загрŃзка праграм (%d)…" #: src/bz-application.c:1556 msgid "Checking for updates…" msgstr "Ідзе праверка абнаўленняў…" #: src/bz-application.c:1612 msgid "Failed to open .flatpakref" msgstr "Не ўдалоŃŃŹ адкрыць .flatpakref" #: src/bz-application.c:1666 msgid "An initialization error occurred" msgstr "ĐдбылаŃŃŹ памылка ініцыялізацыі" #: src/bz-application.c:2004 msgid "Failed to check for updates" msgstr "Не ўдалоŃŃŹ праверыць абнаўленні" #: src/bz-application.c:2961 msgid "Could not find app" msgstr "Не ўдалоŃŃŹ знайŃці праграмŃ" #: src/bz-application.c:3180 msgid "Writing to cache…" msgstr "Ідзе Đ·Đ°ĐżŃ–Ń Ń ĐşŃŤŃ…" #: src/bz-appstream-parser.c:304 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Старонка Flathub" #: src/bz-appstream-parser.c:325 msgctxt "Project URL Type" msgid "Project Website" msgstr "Вэб-Ńайт праекта" #: src/bz-appstream-parser.c:329 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Трэкер памылак" #: src/bz-appstream-parser.c:333 msgctxt "Project URL Type" msgid "FAQ" msgstr "Пытанні Ń– адказы" #: src/bz-appstream-parser.c:337 msgctxt "Project URL Type" msgid "Help" msgstr "Даведка" #: src/bz-appstream-parser.c:341 msgctxt "Project URL Type" msgid "Donate" msgstr "Đхвяраваць" #: src/bz-appstream-parser.c:347 msgctxt "Project URL Type" msgid "Translate" msgstr "ПераклаŃці" #: src/bz-appstream-parser.c:351 msgctxt "Project URL Type" msgid "Contact" msgstr "Звязацца" #: src/bz-appstream-parser.c:355 msgctxt "Project URL Type" msgid "Source Code" msgstr "Зыходны код" #: src/bz-appstream-parser.c:361 msgctxt "Project URL Type" msgid "Contribute" msgstr "Зрабіць ŃнёŃак" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:68 src/bz-flathub-page.blp:19 src/bz-full-view.blp:61 #: src/bz-library-page.blp:65 src/bz-user-data-page.blp:86 msgid "Empty" msgstr "ĐźŃŃта" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Няма падборкі" #: src/bz-curated-view.blp:16 msgid "There is no curation information provided on this system. You can still browse applications on Flathub" msgstr "На гэтай ŃŃ–Ńтэме не падаецца інфармацыі адноŃна падабраных праграм. Đ’Ń‹ ŃžŃŃ‘ ŃŹŃчэ можаце праглядаць праграмы Ńž Flathub" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Праглядзець Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "Па-за Ńеткай" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:49 src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Вэб-браўзер" #: src/bz-developer-badge.c:92 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Не Ńпраўджана" #: src/bz-developer-badge.c:145 msgid "Developer information not available." msgstr "ЗвеŃткі пра раŃпрацоўŃчыка недаŃŃ‚Ńпныя." #: src/bz-developer-badge.c:151 src/bz-developer-badge.c:165 #, c-format msgid "The ownership of the %s app ID has not been verified and it may be a community package." msgstr "Правы ўлаŃнаŃці для ідэнтыфікатара праграмы \"%s\" не Ńпраўджаны, тамŃ, імаверна, гэта пакет ад ŃŃпольнаŃці." #: src/bz-developer-badge.c:169 #, c-format msgid "The ownership of the %s app ID has been manually verified by the Flathub team." msgstr "Правы ўлаŃнаŃці для ідэнтыфікатара праграмы \"%s\" былі Ńпраўджаны ўрŃчнŃŃŽ камандай Flathub." #: src/bz-developer-badge.c:175 #, c-format msgid "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on <b>%3$s</b>." msgstr "Правы ўлаŃнаŃці для ідэнтыфікатара праграмы \"%1$s\" былі Ńпраўджаны <b>%2$s</b> <b>%3$s</b>." #: src/bz-developer-badge.c:182 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "Правы ўлаŃнаŃці для ідэнтыфікатара праграмы \"%1$s\" былі Ńпраўджаны Đ· дапамогай %2$s." #: src/bz-developer-badge.c:186 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Правы ўлаŃнаŃці для ідэнтыфікатара праграмы \"%s\" былі Ńпраўджаны." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Поўныя нататкі да выпŃŃĐşŃ" #: src/bz-donations-dialog.blp:105 msgid "This release was made possible by users like you!" msgstr "Гэты выпŃŃĐş Bazaar Ńтаў магчымым Đ´Đ·ŃŹĐşŃючы такім людзям, ŃŹĐş вы!" #: src/bz-donations-dialog.blp:113 msgid "I love making Bazaar, but I cannot do it alone. Help support further development by donating on Ko-Fi." msgstr "" "Мне падабаецца Ńтвараць Bazaar, але ŃŹ не ĐĽĐ°ĐłŃ Ń€Đ°Đ±Ń–Ń†ŃŚ гэта ўадзіночкŃ. Падтрымайце развіццё праекта Ńž бŃĐ´Ńчыні, пакінŃŃžŃŃ‹ " "ахвяраванне на Ńтаронцы Ko-Fi." #: src/bz-donations-dialog.blp:128 msgid "Donate to Bazaar" msgstr "Падтрымаць Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Што новага Ńž верŃŃ–Ń– %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "ВыпŃŃчана %e %B %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Выберыце ŃžŃталёўкŃ" #: src/bz-entry-group-util.c:76 msgid "You have multiple versions of this app installed. Which one would you like to proceed with?" msgstr "ĐŁ Đ˛Đ°Ń ŃŃталявана некалькі верŃŃ–Đą гэтай праграмы. ĐŻĐşŃŃŽ Đ· Ń–Ń… вы хацелі бы пакінŃць на бŃĐ´Ńчыню?" #: src/bz-entry-group-util.c:80 src/bz-transaction-dialog.c:201 src/bz-transaction-dialog.c:230 src/bz-transaction-dialog.c:275 #: src/bz-transaction-dialog.c:578 msgid "Cancel" msgstr "СкаŃаваць" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Толькі для гэтага карыŃтальніка" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "гэты карыŃтальнік" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "ŃŃе карыŃтальнікі" #: src/error.c:69 src/error.c:88 src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:50 msgid "Details" msgstr "Падрабязныя звеŃткі" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Скапіяваць" #: src/bz-error-dialog.c:56 src/bz-share-list.c:64 msgid "Copied!" msgstr "Скапіявана!" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Не ўдалоŃŃŹ абнавіць ŃĐżŃ–Ń Ńпадабаных" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Увайдзіце Ńž Flathub, каб кіраваць абранымі" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "УвайŃці" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "КолькаŃць Ńпадабанняў" #: src/bz-favorites-tile.c:157 src/bz-rich-app-tile.blp:171 msgid "Uninstall" msgstr "Выдаліць" #: src/bz-favorites-tile.c:357 msgid "Failed to remove favorite" msgstr "Не ўдалоŃŃŹ выдаліць Đ· Ńпадабаных" #: src/bz-favorites-tile.blp:70 src/bz-installed-tile.blp:77 msgid "Support This Application" msgstr "Падтрымаць ĐłŃŤŃ‚Ń ĐżŃ€Đ°ĐłŃ€Đ°ĐĽŃ" #: src/bz-favorites-tile.blp:119 msgid "Remove From Favorites" msgstr "Выдаліць Đ· Ńпадабаных" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:78 src/bz-window.blp:432 msgid "Favorites" msgstr "Упадабаныя" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 src/bz-transaction-dialog.c:579 msgid "Install All" msgstr "ĐŁŃталяваць ŃŃе" #: src/bz-favorites-page.blp:34 src/bz-full-view.blp:44 src/bz-window.blp:301 msgid "Open App Library" msgstr "Đдкрыць Đ±Ń–Đ±Đ»Ń–ŃŹŃ‚ŃŤĐşŃ ĐżŃ€Đ°ĐłŃ€Đ°ĐĽ" #: src/bz-favorites-page.blp:56 src/bz-user-data-page.blp:75 msgid "Loading" msgstr "Ідзе загрŃзка" #: src/bz-favorites-page.blp:71 msgid "No Favorites" msgstr "Няма ўпадабаных" #: src/bz-favorites-page.blp:72 msgid "Applications you mark as favorite will appear here" msgstr "ТŃŃ‚ бŃĐ´Ńць паказвацца праграмы, якія вы пазначылі ŃŹĐş Ńпадабаныя" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "Папярэдняя" #: src/bz-featured-carousel.blp:53 msgid "Next" msgstr "НаŃŃ‚Ńпная" #: src/bz-featured-tile.blp:88 msgid "App of the Day" msgstr "Праграмы дня" #: src/bz-flathub-category.c:89 msgid "Editing" msgstr "Рэдагаванне" #: src/bz-flathub-category.c:90 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:91 msgid "Mixer" msgstr "МікŃар" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:92 src/bz-search-pill-list.c:77 msgid "Music" msgstr "ĐśŃзыка" #: src/bz-flathub-category.c:93 msgid "Player" msgstr "Прайгравальнік" #: src/bz-flathub-category.c:94 msgid "Recorder" msgstr "Праграма запіŃŃ ĐłŃĐşŃ" #: src/bz-flathub-category.c:95 msgid "Sequencer" msgstr "СеквенŃар" #: src/bz-flathub-category.c:96 msgid "Tuner" msgstr "Цюнер" #: src/bz-flathub-category.c:97 msgid "TV" msgstr "Тэлебачанне" #: src/bz-flathub-category.c:102 msgid "Emulation" msgstr "Đ­ĐĽŃляцыя" #: src/bz-flathub-category.c:103 msgid "Action" msgstr "Đ­ĐşŃĐ˝" #: src/bz-flathub-category.c:104 msgid "Adventure" msgstr "Прыгоды" #: src/bz-flathub-category.c:105 msgid "Arcade" msgstr "Đркады" #: src/bz-flathub-category.c:106 msgid "Blocks" msgstr "Блокі" #: src/bz-flathub-category.c:107 msgid "Board" msgstr "НаŃтольныя" #: src/bz-flathub-category.c:108 msgid "Card" msgstr "Картачныя" #: src/bz-flathub-category.c:109 msgid "Kids" msgstr "Для дзяцей" #: src/bz-flathub-category.c:110 msgid "Logic" msgstr "На логікŃ" #: src/bz-flathub-category.c:111 msgid "Role Playing" msgstr "Ролевыя" #: src/bz-flathub-category.c:112 msgid "Shooter" msgstr "ШŃтары" #: src/bz-flathub-category.c:113 msgid "Simulation" msgstr "СімŃлятары" #: src/bz-flathub-category.c:114 msgid "Sports" msgstr "Спорт" #: src/bz-flathub-category.c:115 msgid "Strategy" msgstr "Стратэгіі" #: src/bz-flathub-category.c:120 msgid "Audio & Video" msgstr "Đўдыя Ń– відэа" #: src/bz-flathub-category.c:120 msgid "Media" msgstr "ĐśŃльтымедыя" #: src/bz-flathub-category.c:120 msgid "More Audio & Video" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ°ŃžĐ´Ń‹ŃŹ Ń– відэа" #: src/bz-flathub-category.c:121 msgid "Developer Tools" msgstr "ІнŃтрŃменты раŃпрацоўŃчыка" #: src/bz-flathub-category.c:121 msgid "Develop" msgstr "РаŃпрацоўка" #: src/bz-flathub-category.c:121 msgid "More Developer Tools" msgstr "Đ‘ĐľĐ»ŃŚŃ Ń–Đ˝ŃтрŃментаў раŃпрацоўŃчыка" #: src/bz-flathub-category.c:122 msgid "Education" msgstr "ĐĐ´Ńкацыя" #: src/bz-flathub-category.c:122 msgid "Learn" msgstr "НавŃчанне" #: src/bz-flathub-category.c:122 msgid "More Education" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ· адŃкацыі" #: src/bz-flathub-category.c:123 msgid "Gaming" msgstr "Đ“Ńльні" #: src/bz-flathub-category.c:123 msgid "Play" msgstr "Đ“Ńляць" #: src/bz-flathub-category.c:123 msgid "More Gaming" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐłŃльняў" #: src/bz-flathub-category.c:124 msgid "Graphics & Photography" msgstr "Графіка Ń– фатаграфія" #: src/bz-flathub-category.c:124 msgid "Create" msgstr "ТворчаŃць" #: src/bz-flathub-category.c:124 msgid "More Graphics & Photography" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐłŃ€Đ°Ń„Ń–ĐşŃ– Ń– фатаграфіі" #: src/bz-flathub-category.c:125 msgid "Networking" msgstr "Сеткі" #: src/bz-flathub-category.c:125 msgid "Internet" msgstr "Інтэрнэт" #: src/bz-flathub-category.c:125 msgid "More Networking" msgstr "Đ‘ĐľĐ»ŃŚŃ Ńеткавага" #: src/bz-flathub-category.c:126 msgid "Productivity" msgstr "ПрадŃкцыйнаŃць" #: src/bz-flathub-category.c:126 msgid "Work" msgstr "Для працы" #: src/bz-flathub-category.c:126 msgid "More Productivity" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ´Đ»ŃŹ прадŃкцыйнаŃці" #: src/bz-flathub-category.c:127 msgid "Science" msgstr "НавŃка" #: src/bz-flathub-category.c:127 msgid "More Science" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ˝Đ°Đ˛Ńковага" #: src/bz-flathub-category.c:128 msgid "System" msgstr "СіŃтэмнае" #: src/bz-flathub-category.c:128 msgid "More System" msgstr "Đ‘ĐľĐ»ŃŚŃ ŃŃ–Ńтэмнага" #: src/bz-flathub-category.c:129 msgid "Utilities" msgstr "Утыліты" #: src/bz-flathub-category.c:129 msgid "Tools" msgstr "ІнŃтрŃменты" #: src/bz-flathub-category.c:129 msgid "More Utilities" msgstr "Đ‘ĐľĐ»ŃŚŃ Ńтыліт" #: src/bz-flathub-category.c:130 src/bz-flathub-page.blp:118 src/bz-flathub-page.blp:151 msgid "Trending" msgstr "ĐŁ трэндзе" #: src/bz-flathub-category.c:130 msgid "More Trending" msgstr "Đ‘ĐľĐ»ŃŚŃ Ń Ń‚Ń€ŃŤĐ˝Đ´Đ·Đµ" #: src/bz-flathub-category.c:131 src/bz-flathub-page.blp:124 src/bz-flathub-page.blp:181 msgid "Popular" msgstr "ПапŃлярныя" #: src/bz-flathub-category.c:131 msgid "More Popular" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐżĐ°ĐżŃлярных" #: src/bz-flathub-category.c:132 src/bz-flathub-page.blp:171 msgid "Recently Added" msgstr "Нядаўна дададзеныя" #: src/bz-flathub-category.c:132 src/bz-flathub-page.blp:130 msgid "New" msgstr "Новыя" #: src/bz-flathub-category.c:132 msgid "More New" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ˝ĐľĐ˛Ń‹Ń…" #: src/bz-flathub-category.c:133 src/bz-flathub-page.blp:161 msgid "Recently Updated" msgstr "Нядаўна абноўленыя" #: src/bz-flathub-category.c:133 src/bz-flathub-page.blp:136 msgid "Updated" msgstr "Đбноўленыя" #: src/bz-flathub-category.c:133 msgid "More Updated" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ°Đ±Đ˝ĐľŃžĐ»ĐµĐ˝Ń‹Ń…" #: src/bz-flathub-category.c:134 msgid "Mobile" msgstr "Мабільныя" #: src/bz-flathub-category.c:134 msgid "More Mobile" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐĽĐ°Đ±Ń–Đ»ŃŚĐ˝Ń‹Ń…" #: src/bz-flathub-category.c:135 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:135 msgid "More Adwaita" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ· тэмай Adwaita" #: src/bz-flathub-category.c:136 msgid "KDE Apps" msgstr "Праграмы KDE" #: src/bz-flathub-category.c:136 msgid "More KDE Apps" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐżŃ€Đ°ĐłŃ€Đ°ĐĽ KDE" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub не дададзены" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Đддалены Ńервер Flathub не быў знойдзены на якой-небŃĐ´Đ·ŃŚ Đ· ваŃых ŃŃталёвак Flatpak" #: src/bz-flathub-page.blp:35 msgid "Flathub returned an error" msgstr "Flathub вярнŃŃž памылкŃ" #: src/bz-flathub-page.blp:41 msgid "Retry Flathub Connection" msgstr "Паўтарыце ŃĐżŃ€ĐľĐ±Ń Đ·Đ»Ńчэння Đ· Flathub" #: src/bz-flathub-page.blp:57 msgid "Flathub Unavailable" msgstr "Flathub не даŃŃ‚Ńпны" #: src/bz-flathub-page.blp:58 msgid "We could not connect to Flathub. You can still manage and search for applications." msgstr "Не атрымалаŃŃŹ падключыцца да Flathub. Đ’Ń‹ ŃžŃŃ‘ ŃŹŃчэ можаце кіраваць праграмамі Ń– ŃŃкаць Ń–Ń…." #: src/bz-flathub-page.blp:61 msgid "Search Apps" msgstr "ШŃкаць праграмы" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "На хадŃ" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "Праграмы для ваŃых тэлефонаў Ń– планŃэтаў на Linux" #: src/bz-flathub-page.blp:284 src/bz-flathub-page.blp:319 msgid "More Mobile Apps" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐĽĐ°Đ±Ń–Đ»ŃŚĐ˝Ń‹Ń… праграм" #: src/bz-flathub-page.blp:377 msgid "We​ ♥​ Games" msgstr "Мы​ ♥​ гŃльні" #: src/bz-flathub-page.blp:390 msgid "Games and apps to run your favorite titles" msgstr "Đ“Ńльні Ń– праграмы для запŃŃĐşŃ Đ˛Đ°Ńых любімых ĐłŃльняў" #: src/bz-flathub-page.blp:424 msgid "More Games" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐłŃльняў" #: src/bz-full-view.blp:65 src/bz-library-page.blp:76 src/bz-library-page.blp:80 msgid "No Results" msgstr "Нічога не знойдзена" #: src/bz-full-view.blp:66 msgid "Try a different search query" msgstr "ПаŃпрабŃйце Ń–Đ˝ŃŃ‹ запыт" #: src/bz-full-view.blp:72 msgid "Content" msgstr "ЗмеŃціва" #: src/bz-full-view.blp:130 msgid "Installing .flatpak bundles is not yet supported" msgstr "ĐŁŃталяванне .flatpak-набораў ŃŹŃчэ не падтрымліваецца" #: src/bz-full-view.blp:234 msgid "Support" msgstr "Падтрымаць" #: src/bz-full-view.blp:404 msgid "Downloads/Month" msgstr "Спампоўванняў Ń ĐĽĐµŃяц" #: src/bz-full-view.blp:440 msgid "Stopped Receiving Core Updates" msgstr "Đтрыманне абнаўленняў ядра Ńпынена" #: src/bz-full-view.blp:454 msgid "This app uses a runtime that no longer receives updates or security fixes. It may become unsafe to use." msgstr "" "ĐŃяроддзе выканання гэтай праграмы Đ±ĐľĐ»ŃŚŃ Đ˝Đµ атрымлівае абнаўленняў Ń– выпраўленняў, звязаных Đ· бяŃпекай. Праграма можа Ńтаць " "небяŃпечнай для выкарыŃтання." #: src/bz-full-view.blp:541 msgid "Trash Data" msgstr "Смеццевыя даныя" #: src/bz-full-view.blp:682 msgid "Tags:" msgstr "Цэтлікі:" #: src/bz-full-view.c:215 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-full-view.c:222 #, c-format msgid "%.*fM" msgstr "%.*f млн." #. Translators: K is the suffix for thousands #: src/bz-full-view.c:229 #, c-format msgid "%.*fK" msgstr "%.*f тыŃ." #: src/bz-full-view.c:239 #, c-format msgid "%d downloads in the last 30 days" msgstr "Спампоўванняў за апоŃнія 30 дзён: %d" #: src/bz-full-view.c:251 src/bz-full-view.c:592 src/bz-full-view.c:609 msgid "N/A" msgstr "N/A" #: src/bz-full-view.c:279 #, c-format msgid "+%s runtime" msgstr "+%s аŃяроддзе выканання" #: src/bz-full-view.c:282 msgid "Download" msgstr "Спампаваць" #: src/bz-full-view.c:302 msgid "Size information unavailable" msgstr "Інфармацыя пра памер недаŃŃ‚Ńпна" #: src/bz-full-view.c:305 #, c-format msgid "Download size of %s" msgstr "Памер Ńпампоўвання для %s" #: src/bz-full-view.c:338 msgid "All Ages" msgstr "Для ŃžŃŃ–Ń… ŃзроŃтаў" #: src/bz-full-view.c:350 msgid "Age rating information unavailable" msgstr "Інфармацыя пра ўзроŃтавы рэйтынг недаŃŃ‚Ńпна" #: src/bz-full-view.c:355 msgid "Suitable for all ages" msgstr "ПаŃŃе для ŃžŃŃ–Ń… ŃзроŃтаў" #: src/bz-full-view.c:357 #, c-format msgid "Suitable for ages %d and up" msgstr "ПаŃŃе для ŃžŃŃ–Ń… ŃзроŃтаў ад %d гадоў" #: src/bz-full-view.c:390 src/bz-full-view.c:395 src/bz-full-view.c:423 src/bz-full-view.c:434 msgid "Unknown" msgstr "Невядомы" #: src/bz-full-view.c:400 #, c-format msgid "Free software licensed under %s" msgstr "Свабоднае ПЗ пад ліцэнзіяй %s" #: src/bz-full-view.c:405 msgid "Free software" msgstr "Свабоднае ПЗ" #: src/bz-full-view.c:408 msgid "Proprietary Software" msgstr "Прапрыетарнае ПЗ" #: src/bz-full-view.c:411 #, c-format msgid "Special License: %s" msgstr "Спецыяльная ліцэнзія: %s" #: src/bz-full-view.c:428 msgid "Free" msgstr "Вольная" #: src/bz-full-view.c:431 src/bz-license-dialog.c:132 msgid "Proprietary" msgstr "Прапрыетарная" #: src/bz-full-view.c:436 src/bz-license-dialog.c:134 msgid "Special License" msgstr "Спецыяльная ліцэнзія" #: src/bz-full-view.c:456 msgid "Adaptive" msgstr "Đдаптыўная" #: src/bz-full-view.c:456 msgid "Desktop Only" msgstr "Толькі для наŃтольных камп’ютараў" #: src/bz-full-view.c:462 msgid "Works on desktop, tablets, and phones" msgstr "ПрацŃе на наŃтольных камп’ютарах, планŃэтах Ń– тэлефонах" #: src/bz-full-view.c:463 msgid "May not work on mobile devices" msgstr "Можа не працаваць на мабільных прыладах" #: src/bz-full-view.c:474 msgid "No URL" msgstr "Няма URL-адраŃа" #: src/bz-full-view.c:492 msgid "This application has a FLOSS license, meaning the source code can be audited for safety." msgstr "" "Гэта праграма мае FLOSS-ліцэнзію (Ńвабоднае ПЗ Đ· адкрытым зыходным кодам). Гэта азначае, Ńто магчымы аўдыт бяŃпекі для зыходнага " "кода праграмы." #: src/bz-full-view.c:493 msgid "" "This application has a proprietary license, meaning the source code is developed privately and cannot be audited by an " "independent third party." msgstr "" "Ліцэнзія гэтай праграмы — прапрыетарная. Гэта азначае, Ńто зыходны код праграмы раŃпрацоўваецца прыватна, а незалежны аўдыт для " "яго немагчымы." #: src/bz-full-view.c:500 msgid "More Apps" msgstr "Đ‘ĐľĐ»ŃŚŃ ĐżŃ€Đ°ĐłŃ€Đ°ĐĽ" #: src/bz-full-view.c:501 #, c-format msgid "More Apps by %s" msgstr "Боль праграм ад %s" #: src/bz-full-view.c:508 msgid "Other Apps by this Developer" msgstr "ІнŃыя праграмы ад гэтага раŃпрацоўŃчыка" #: src/bz-full-view.c:510 src/bz-full-view.c:700 #, c-format msgid "Other Apps by %s" msgstr "ІнŃыя праграмы ад %s" #: src/bz-full-view.c:519 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "Праграма \"%s\" не ŃžŃталявана, але на прыладзе ŃžŃŃ‘ ŃŹŃчэ заŃтаецца <b>%s</b> звязаных Đ· ёю даных." #: src/bz-full-view.c:599 src/bz-safety-dialog.blp:31 msgid "Safe" msgstr "БяŃпечная" #: src/bz-full-view.c:601 src/bz-full-view.c:603 msgid "Low Risk" msgstr "Нізкая рызыка" #: src/bz-full-view.c:605 msgid "Medium Risk" msgstr "Сярэдняя рызыка" #: src/bz-full-view.c:607 msgid "High Risk" msgstr "Đ’Ń‹Ńокая рызыка" #: src/bz-full-view.c:702 msgid "Other Apps" msgstr "ІнŃыя праграмы" #: src/bz-full-view.c:704 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d праграма" msgstr[1] "%d праграмы" msgstr[2] "%d праграм" #: src/bz-full-view.c:931 src/bz-transaction-tile.c:340 msgid "Failed to launch application" msgstr "Не ўдалоŃŃŹ запŃŃціць праграмŃ" #: src/bz-full-view.c:996 msgid "Show Less" msgstr "Паказаць менŃ" #: src/bz-full-view.c:996 msgid "Show More" msgstr "Паказаць больŃ" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Падтрымка абŃталявання" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Падтрымка клавіятŃŃ€" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "ПатрабŃюцца клавіятŃры" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "РэкамендŃецца ўжыванне клавіятŃŃ€" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "КлавіятŃры падтрымліваюцца" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Няма звеŃтак пра ĐżĐ°Đ´Ń‚Ń€Ń‹ĐĽĐşŃ ĐşĐ»Đ°Đ˛Ń–ŃŹŃ‚ŃŃ€" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Падтрымка ĐĽŃ‹ŃŃ‹" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "ПатрабŃецца ĐĽŃ‹Ń Đ°Đ±Đľ ўказальныя прылады" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "РэкамендŃецца ўжыванне ĐĽŃ‹ŃŃ‹ або ўказальных прылад" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "ĐśŃ‹Ń Đ°Đ±Đľ ўказальныя прылады падтрымліваюцца" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Няма звеŃтак пра ĐżĐ°Đ´Ń‚Ń€Ń‹ĐĽĐşŃ ĐĽŃ‹ŃŃ‹ або ўказальных прылад" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Падтрымка ŃŃŤĐ˝Ńарнага экрана" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Патрэбны ŃŃŤĐ˝Ńарны экран" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "РэкамендŃецца ўжыванне ŃŃŤĐ˝Ńарнага экрана" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "СэнŃарныя экраны падтрымліваюцца" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Невядома пра ĐżĐ°Đ´Ń‚Ń€Ń‹ĐĽĐşŃ ŃŃŤĐ˝Ńарных экранаў" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Мабільныя прылад" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "ПрацŃе на мабільных прыладах" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Можа працаваць не лепŃым чынам на мабільных прыладах" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Падтрымка Ńтацыянарных прылад" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Добра працŃе на вялікіх экранах" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s працŃе на аŃаблівым абŃталяванні" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s працŃе на больŃаŃці прылад" #: src/bz-install-controls.blp:32 msgid "Download & Install Application" msgstr "Спампаваць Ń– ŃžŃталяваць праграмŃ" #: src/bz-install-controls.blp:54 msgid "Open" msgstr "Đдкрыць" #: src/bz-install-controls.blp:68 src/bz-install-controls.blp:118 msgid "Uninstall Application" msgstr "Выдаліць праграмŃ" #: src/bz-install-controls.blp:105 src/bz-updates-card.blp:161 src/bz-updates-card.blp:186 msgid "Update" msgstr "Đбнавіць" #: src/bz-install-controls.blp:155 msgid "Install Other Version" msgstr "ĐŁŃталяваць Ń–Đ˝ŃŃŃŽ верŃŃ–ŃŽ" #: src/bz-installed-tile.blp:63 src/bz-rich-app-tile.blp:139 msgid "Stopped Receiving Updates" msgstr "Спынена атрыманне абнаўленняў" #: src/bz-library-page.blp:31 msgid "Search installed apps" msgstr "ПоŃŃĐş ŃŃталяваных праграм" #: src/bz-library-page.blp:48 msgid "Clear search" msgstr "ĐчыŃціць поŃŃĐş" #: src/bz-library-page.blp:69 msgid "No Apps Found" msgstr "Праграм не знойдзена" #. Translators: . #: src/bz-library-page.blp:98 src/bz-window.blp:176 msgid "Library" msgstr "Бібліятэка" #: src/bz-library-page.blp:126 msgid "Pending Updates" msgstr "Đбнаўленні Ńž чаканні" #: src/bz-library-page.blp:153 msgid "Downloads" msgstr "Спампоўкі" #: src/bz-library-page.blp:196 msgid "Recently Uninstalled" msgstr "Нядаўна выдаленае" #: src/bz-library-page.blp:247 msgid "Clear Finished Tasks" msgstr "ĐчыŃціць заверŃаныя задачы" #: src/bz-library-page.blp:258 msgid "Installed Apps" msgstr "ĐŁŃталяваныя праграмы" #: src/bz-library-page.c:175 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "ĐŁ ŃпіŃе ŃžŃталяваных праграм нічога не знойдзена для Đ·Đ°ĐżŃ‹Ń‚Ń \"%s\"" #: src/bz-library-page.c:188 src/bz-updates-card.c:257 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "ДаŃŃ‚Ńпна %u абнаўленне" msgstr[1] "ДаŃŃ‚Ńпна %u абнаўленні" msgstr[2] "ДаŃŃ‚Ńпна %u абнаўленняў" #: src/bz-license-dialog.blp:95 msgid "Get Involved" msgstr "Прыняць Ńдзел" #: src/bz-license-dialog.c:126 msgid "Unknown License" msgstr "Невядомая ліцэнзія" #: src/bz-license-dialog.c:129 msgid "Community Built" msgstr "Зборка ад ŃŃпольнаŃці" #: src/bz-license-dialog.c:202 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Гэта праграма раŃпрацоўваецца адкрытай міжнароднай ŃŃпольнаŃцю.\n" "\n" "Đ’Ń‹ можаце прыняць Ńдзел Ń Ń€Đ°Ńпрацоўцы Ń– дапамагчы палепŃыць яе." #: src/bz-license-dialog.c:205 msgid "The license of this app is not known" msgstr "Ліцэнзія для гэтай праграмы невядомая" #: src/bz-license-dialog.c:211 #, c-format msgid "" "This app is developed in the open by an international community, and released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Гэта праграма раŃпрацоўваецца адкрытай міжнароднай ŃŃпольнаŃцю Ń– раŃпаўŃюджваецца пад ліцэнзіяй %s.\n" "\n" "Đ’Ń‹ можаце прыняць Ńдзел Ń Ń€Đ°Ńпрацоўцы Ń– дапамагчы палепŃыць яе." #: src/bz-license-dialog.c:219 msgid "" "This app is not developed in the open, so only its developers know how it works. It may be insecure in ways that are hard to " "detect, and it may change without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Гэта праграма раŃпрацоўваецца закрытым чынам, Ń‚Đ°ĐĽŃ Ń‚ĐľĐ»ŃŚĐşŃ– яе Ńтваральнікі ведаюць, ŃŹĐş яна працŃе. Гэта можа неŃці Đ· Ńабой " "небяŃпекŃ, ŃŹĐşŃŃŽ цяжка выявіць, а Ńама праграма можа змяняцца без наглядŃ.\n" "\n" "ĐŁ Đ˛Đ°Ń ĐĽĐľĐ¶Đ° ŃŹĐş быць, так Ń– не быць магчымаŃці ŃžĐ´Đ·ĐµĐ»Ń Ńž раŃпрацоўцы гэтай праграмы." #: src/bz-license-dialog.c:225 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Гэта праграма раŃпрацоўваецца пад Ńпецыяльнай ліцэнзіяй %s.\n" "\n" "Đ’Ń‹ не зможаце прыняць ŃĐ´Đ·ĐµĐ»Ń Ńž яе раŃпрацоўцы." #: src/bz-login-page.blp:5 src/bz-login-page.blp:42 msgid "Connect to Flathub" msgstr "Đ—Đ»Ńчыцца Đ· Flathub" #: src/bz-login-page.blp:32 msgid "Something Went Wrong" msgstr "НеŃта пайŃло не так" #: src/bz-login-page.blp:43 msgid "Connect your Flathub account to Bazaar to manage your favorited apps." msgstr "Падключыце Ńвой Ńліковы Đ·Đ°ĐżŃ–Ń Flathub да Bazaar, каб кіраваць Ńваімі праграмамі Ńž ŃпіŃе абраных." #: src/bz-login-page.blp:108 msgid "Finish" msgstr "Скончыць" #: src/bz-login-page.c:664 #, c-format msgid "Hello, %s!" msgstr "Вітаем, %s!" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Параметры" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "Падключэнне да Ńеткі Đ· падлікам трафіка — аўтаматычная Ńінхранізацыя даных крамы прыпынена" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:328 msgid "Refresh Manually" msgstr "Сінхранізаваць ŃŃ€ŃчнŃŃŽ" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Фільтры змеŃціва" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Толькі Ńвабоднае праграмнае забеŃпячэ" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "Схаваць ĐżĐ°Đ´Ń‡Đ°Ń ĐżŃ€Đ°ĐłĐ»ŃŹĐ´Ń Ń– поŃŃĐşŃ ĐżŃ€Đ°ĐżŃ€Ń‹ĐµŃ‚Đ°Ń€Đ˝Ń‹ŃŹ праграмы" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Толькі вынікі Đ· Flathub" #: src/bz-preferences-dialog.blp:40 msgid "Limit search and browse results to applications only available on Flathub" msgstr "Đбмежаваць поŃŃĐş Ń– прагляд вынікаў праграмамі, якія даŃŃ‚Ńпныя толькі на Flathub" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Толькі Ńпраўджаныя вынікі" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Схаваць вынікі, якія не Ńпраўджаны на Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide EOL Apps" msgstr "Схаваць праграмы напрыканцы Ń‚ŃŤŃ€ĐĽŃ–Đ˝Ń ŃĐ»Ńжбы" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Схаваць праграмы, якія Đ±ĐľĐ»ŃŚŃ Đ˝Đµ падтрымліваюцца Ń–Ń… раŃпрацоўŃчыкамі" #: src/bz-preferences-dialog.blp:55 src/bz-window.blp:191 msgid "Search" msgstr "ПоŃŃĐş" #: src/bz-preferences-dialog.blp:58 msgid "Delay Search Results" msgstr "Đдкладваць паказванне вынікаў поŃŃĐşŃ" #: src/bz-preferences-dialog.blp:59 msgid "Improve results performance by debouncing search terms" msgstr "ПалепŃыце якаŃць поŃŃĐşŃ Đ· прадŃхіленнем поŃŃĐşŃ ĐżĐ°ĐĽŃ‹Đ»ĐşĐľĐ˛Ń‹Ń… значэнняў" #: src/bz-preferences-dialog.blp:64 msgid "Progress Bar" msgstr "Індыкатар выканання" #: src/bz-preferences-dialog.blp:65 msgid "Choose a theme for the progress bar!" msgstr "Выберыце Ń‚ŃŤĐĽŃ Ń–Đ˝Đ´Ń‹ĐşĐ°Ń‚Đ°Ń€Đ° выканання!" #: src/bz-preferences-dialog.blp:89 msgid "Vertical Stripes" msgstr "Вертыкальныя палоŃŃ‹" #: src/bz-preferences-dialog.blp:90 msgid "Display flag colors from left to right" msgstr "Паказваць колеры Ńцяга злева направа" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Колер акцэнтŃ" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Колеры гонарŃ" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Колеры гонарŃ — леŃбіянкі" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Колеры гонарŃ — ĐĽŃжчыны гомаŃекŃŃалы" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Колеры гонарŃ — транŃгендары" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Колеры гонарŃ — небінарныя аŃобы" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Колеры гонарŃ — біŃекŃŃалы" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Колеры гонарŃ — аŃекŃŃалы" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Колеры гонарŃ — панŃекŃŃалы" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Колеры гонарŃ — арамантычныя аŃобы" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Колеры гонарŃ — гендарфлюідныя аŃобы" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Колеры гонарŃ — поліŃекŃŃальныя аŃобы" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Колеры гонарŃ — омніŃекŃŃальныя аŃобы" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Колеры гонарŃ — арамантычныя аŃекŃŃальныя аŃобы" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Колеры гонарŃ — агендарныя аŃобы" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Колеры гонарŃ — гендарквіры" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Колеры гонарŃ — інтэрŃекŃŃалы" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Колеры гонарŃ — дэмігендарныя аŃобы" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Колеры гонарŃ — бірамантычныя аŃобы" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Колеры гонарŃ — аŃобы Đ· аŃаблівымі патрэбамі" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Колеры гонарŃ — фембоі" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Колеры гонарŃ — пазагендарныя аŃобы" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:28 src/bz-updates-card.blp:150 msgid "Version History" msgstr "ГіŃторыя верŃŃ–Đą" #. Translators: This is a date format for timestamps from the current year. Used in the app releases section. #. * %B is the full month name, %e is the day. #. * Example: "October 1" #. * See https://docs.gtk.org/glib/method.DateTime.format.html for format options #. * Please modify to make it sound natural in your locale. #. * #: src/bz-releases-list.c:121 msgid "%e %B" msgstr "%e %B" #. Translators: This is a date format for timestamps from previous years. Used in the app releases section. #. * %B is the full month name, %e is the day, %Y is the year. #. * Example: "October 1, 2025" #. * See https://docs.gtk.org/glib/method.DateTime.format.html for format options #. * Please modify to make it sound natural in your locale. #. * #: src/bz-releases-list.c:129 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:168 #, c-format msgid "Version %s" msgstr "ВерŃŃ–ŃŹ %s" #: src/bz-releases-list.c:220 msgid "No details for this release" msgstr "Пра гэта выданне няма звеŃтак" #: src/bz-releases-list.c:232 msgid "Get More Information" msgstr "Đтрымаць Đ±ĐľĐ»ŃŚŃ Ń–Đ˝Ń„Đ°Ń€ĐĽĐ°Ń†Ń‹Ń–" #: src/bz-rich-app-tile.blp:156 msgid "Get" msgstr "Đтрымаць" #: src/safety-calculator.c:82 msgid "Unknown Permissions" msgstr "Дазволы невядомыя" #: src/safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "Не хапае дазволаў для гэтай праграмы." #: src/safety-calculator.c:96 msgid "No Permissions" msgstr "Не патрабŃе дазволаў" #: src/safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "Праграма цалкам выконваецца Ńž «пяŃочніцы»" #: src/safety-calculator.c:103 msgid "Network Access" msgstr "ДоŃŃ‚ŃĐż да Ńеткі" #: src/safety-calculator.c:104 msgid "Can access the internet" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да інтэрнэтŃ" #: src/safety-calculator.c:106 msgid "No Network Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° Ńеткі" #: src/safety-calculator.c:107 msgid "Cannot access the internet" msgstr "Не мае Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° інтэрнэтŃ" #: src/safety-calculator.c:112 msgid "User Device Access" msgstr "ДоŃŃ‚ŃĐż да прылад карыŃтальніка" #: src/safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да прылад накŃталт вэб-камер або ĐłŃльнявых кантролераў" #: src/safety-calculator.c:115 msgid "No User Device Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° прылад карыŃтальніка" #: src/safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "Не мае Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° прылад накŃталт вэб-камер або ĐłŃльнявых кантролераў" #: src/safety-calculator.c:121 msgid "Input Device Access" msgstr "ДоŃŃ‚ŃĐż да прылад ŃводŃ" #: src/safety-calculator.c:122 msgid "Can access input devices" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да прылад ŃводŃ" #: src/safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "ДоŃŃ‚ŃĐż да мікрафона Ń– прайгравання аўдыя" #: src/safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "Можа веŃці праŃĐ»Ńхоўванне праз мікрафон Ń– прайграваць аўдыя не пытаючы дазволŃ" #: src/safety-calculator.c:135 msgid "System Device Access" msgstr "ДоŃŃ‚ŃĐż да ŃŃ–Ńтэмных прылад" #: src/safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да ŃŃ–Ńтэмных прылад, якія патрабŃюць павыŃанага ўзроўню дазволаў" #: src/safety-calculator.c:142 msgid "Screen Contents Access" msgstr "ДоŃŃ‚ŃĐż да змеŃціва экрана" #: src/safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да змеŃціва экрана або Ń–Đ˝Ńых акон" #: src/safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "СаŃтарэлы аконны інтэрфейŃ" #: src/safety-calculator.c:150 msgid "Always uses a legacy windowing system (X11)" msgstr "ЗаўŃёды выкарыŃтоўвае ŃаŃтарэлŃŃŽ ŃŃ–ŃŃ‚ŃŤĐĽŃ ĐşŃ–Ń€Đ°Đ˛Đ°Đ˝Đ˝ŃŹ вокнамі (X11)" #: src/safety-calculator.c:156 msgid "Arbitrary Permissions" msgstr "Đдвольныя дазволы" #: src/safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "Можа атрымліваць адвольныя дазволы" #: src/safety-calculator.c:163 msgid "User Settings" msgstr "Налады карыŃтальніка" #: src/safety-calculator.c:164 msgid "Can access and change user settings" msgstr "Можа праглядаць Ń– змяняць налады карыŃтальніка" #: src/safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "Чытанне Ń– Đ·Đ°ĐżŃ–Ń Đ´Đ°Đ˝Ń‹Ń… ва ŃŃёй файлавай ŃŃ–Ńтэме" #: src/safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання Ń– запіŃŃ Đ´Đ°Đ˝Ń‹Ń… ва ŃŃёй файлавай ŃŃ–Ńтэме" #: src/safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "Чытанне Ń– Đ·Đ°ĐżŃ–Ń Đ´Đ°Đ˝Ń‹Ń… Ńž галоўнай папцы" #: src/safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання Ń– запіŃŃ Đ´Đ°Đ˝Ń‹Ń… Ńž галоўнай папцы" #: src/safety-calculator.c:186 msgid "Full File System Read Access" msgstr "Чытанне даных ва ŃžŃёй файлавай ŃŃ–Ńтэме" #: src/safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання даных ва ŃŃёй файлавай ŃŃ–Ńтэме" #: src/safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "Чытанне даных Ń ĐłĐ°Đ»ĐľŃžĐ˝Đ°Đą папцы" #: src/safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання Ńž галоўнай папцы" #: src/safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "Чытанне Ń– Đ·Đ°ĐżŃ–Ń Đ´Đ°Đ˝Ń‹Ń… Ń ĐżĐ°ĐżŃ†Ń‹ Ńпамповак" #: src/safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання Ń– запіŃŃ Đ´Đ°Đ˝Ń‹Ń… Ń ĐżĐ°ĐżŃ†Ń‹ Ńпамповак" #: src/safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "Чытанне даных Ńž папцы Ńпамповак" #: src/safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання даных Ńž папцы Ńпамповак" #: src/safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання Ń– запіŃŃ Đ´Đ°Đ˝Ń‹Ń… Ń ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ" #: src/safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "Мае Đ´ĐľŃŃ‚ŃĐż да чытання даных Ń ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ" #: src/safety-calculator.c:258 msgid "No File System Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° файлавай ŃŃ–Ńтэмы" #: src/safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "Не мае Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° ŃžŃёй файлавай ŃŃ–Ńтэмы" #: src/safety-calculator.c:266 msgid "Uses System Services" msgstr "ВыкарыŃтоўвае ŃŃ–Ńтэмныя ŃэрвіŃŃ‹" #: src/safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "Можа запытваць даныя Đ· ŃŃ–Ńтэмных ŃэрвіŃаў, якія не звязаны Đ· парталам" #: src/safety-calculator.c:273 msgid "Uses Session Services" msgstr "ВыкарыŃтоўвае ŃэрвіŃŃ‹ ŃеанŃа" #: src/safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "Можа запытваць даныя Đ· ŃэрвіŃаў ŃеанŃа, якія не звязаны Đ· парталам" #: src/safety-calculator.c:322 msgid "No Service Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ° ŃэрвіŃаў" #: src/safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "Не можа запытваць даныя Đ· ŃэрвіŃаў ŃеанŃа або ŃŃ–Ńтэмных ŃэрвіŃаў, якія не звязаны Đ· парталам" #: src/safety-calculator.c:331 msgid "Verified App Developer" msgstr "Спраўджаны раŃпрацоўŃчык" #: src/safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "РаŃпрацоўŃчык гэтай праграмы прайŃоў Ńпраўджанне аŃобы" #: src/safety-calculator.c:341 msgid "Proprietary Code" msgstr "Прапрыетарны код" #: src/safety-calculator.c:342 msgid "The source code is not public, so it cannot be independently audited and might be unsafe" msgstr "Зыходны код праграмы не даŃŃ‚Ńпны для ĐżŃблікі, яго нельга праверыць незалежна, Ń‚Đ°ĐĽŃ ĐżŃ€Đ°ĐłŃ€Đ°ĐĽĐ° можа быць небяŃпечнай" #: src/safety-calculator.c:352 msgid "Auditable Code" msgstr "Правяральны код" #: src/safety-calculator.c:353 msgid "The source code is public and can be independently audited, which makes the app more likely to be safe" msgstr "Зыходны код праграмы даŃŃ‚Ńпны для ĐżŃблікі, яго можна праверыць незалежна, Ń‚Đ°ĐĽŃ Đ· больŃай верагоднаŃцю праграма бяŃпечная" #: src/safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "ВыкарыŃтоўвае ŃŃ–Ńтэмны ŃŃŤŃ€Đ˛Ń–Ń %s" #: src/safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "ВыкарыŃтоўвае ŃŃŤŃ€Đ˛Ń–Ń ŃеанŃа %s" #: src/safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "ВыкарыŃтоўвае ŃĐµŃ€Đ˛Ń–Ń %s" #: src/safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "Можа праглядаць ŃэрвіŃ, які не звязаны Đ· парталам" #: src/safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "Можа адпраўляць паведамленні ŃэрвіŃŃ, які не звязаны Đ· парталам" #: src/safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "Можа валодаць ŃэрвіŃам, які не звязаны Đ· парталам" #: src/safety-calculator.c:530 msgid "Global Menu Integration" msgstr "Інтэграцыя Đ· глабальным меню" #: src/safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "Можа паказваць Ńвае меню Ńž панэлі глабальнага меню" #: src/safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "Інтэграцыя Ńž наладамі KDE" #: src/safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "Можа адŃочваць змены Ńž наладах аŃяроддзя KDE" #: src/safety-calculator.c:542 msgid "KDE Global Settings" msgstr "Глабальныя налады KDE" #: src/safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Можа чытаць такія параметры аŃяроддзя KDE, ŃŹĐş выбар Ńрыфтоў Ń– колераў" #: src/safety-calculator.c:548 msgid "Secret Storage Service" msgstr "СлŃжба ŃховіŃча Ńакрэтаў" #: src/safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Можа захоўваць Ń– атрымліваць ŃлаŃныя паролі Đ· дапамогай Đ˝Đ°Đ±ĐľŃ€Ń ŃŃ–Ńтэмных ключоў" #: src/safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "ĐˇŃŤŃ€Đ˛Ń–Ń Đ°ĐżĐ°Đ˛ŃŹŃчэнняў на працоўным Ńтале" #: src/safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "Можа адпраўляць апавяŃчэнні на працоўным Ńтале" #: src/safety-calculator.c:561 msgid "System Tray Integration" msgstr "Інтэграцыя Đ· панэллю заданняў" #: src/safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "Можа паказваць значок Ń ĐżĐ°Đ˝ŃŤĐ»Ń– заданняў" #: src/safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "Інтэграцыя Đ· KDE Connect" #: src/safety-calculator.c:568 msgid "Can interact with devices paired via KDE Connect" msgstr "Можа ўзаемадзейнічаць Đ· прыладамі, ŃпалŃчанымі праз KDE Connect" #: src/bz-safety-dialog.blp:7 msgid "Safety" msgstr "БяŃпека" #: src/bz-safety-dialog.blp:53 msgid "License" msgstr "Ліцэнзія" #: src/bz-safety-dialog.blp:63 msgid "App ID" msgstr "ID праграмы" #: src/bz-safety-dialog.blp:73 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:104 msgid "" "This app uses an outdated version of the software platform (SDK) and might contain bugs or security vulnerabilities which will " "not be fixed." msgstr "" "Гэта праграма выкарыŃтоўвае ŃаŃтарэлŃŃŽ верŃŃ–ŃŽ праграмнай платформы (SDK) Ń–, імаврна, Ńтрымлівае памылкі або пагрозы для бяŃпекі, " "якія немагчыма выправіць." #: src/bz-safety-dialog.c:227 #, c-format msgid "%s is Safe" msgstr "%s Ń Đ±ŃŹŃпецы" #: src/bz-safety-dialog.c:232 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s не мае небяŃпечных дазволаў" #: src/bz-safety-dialog.c:237 #, c-format msgid "%s is Probably Safe" msgstr "%s імаверна бяŃпечная" #: src/bz-safety-dialog.c:242 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s можа неŃці небяŃпекŃ" #: src/bz-safety-dialog.c:247 #, c-format msgid "%s is Unsafe" msgstr "%s небяŃпечная" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Здымкі экрана" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Папярэдні здымак" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "НаŃŃ‚Ńпны здымак" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Скапіяваць відарыŃ" #: src/bz-screenshot-page.blp:147 msgid "Reset View" msgstr "СкінŃць від" #: src/bz-screenshot-page.blp:158 msgid "Zoom Out" msgstr "ПаменŃыць" #: src/bz-screenshot-page.blp:168 msgid "Zoom In" msgstr "Павялічыць" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "КарŃŃель здымкаў экрана" #: src/bz-screenshots-carousel.blp:112 msgid "Open Screenshot Viewer" msgstr "Đдкрыць прагляд здымкаў экрана" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Відэа" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "ОфіŃ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Каляндар" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Паведамленні" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Steam" msgstr "Steam" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "Paint" msgstr "Маляванне" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:122 msgid "Minecraft" msgstr "Minecraft" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:127 msgid "Emulator" msgstr "Đ­ĐĽŃлятар" #: src/bz-search-widget.blp:57 msgid "Search Apps, Games, Software" msgstr "ПоŃŃĐş праграм Ń– ĐłŃльняў" #: src/bz-search-widget.blp:79 msgid "Clear Search" msgstr "ĐчыŃціць поŃŃĐş" #: src/bz-search-widget.blp:167 msgid "Categories Unavailable" msgstr "Катэгорыі не даŃŃ‚Ńпныя" #: src/bz-search-widget.blp:168 msgid "Search for apps using the search bar above." msgstr "ШŃкайце праграмы, выкарыŃтоўваючы панэль зверхŃ." #: src/bz-search-widget.blp:193 msgid "Browse Categories" msgstr "Đгляд катэгорый" #: src/bz-search-widget.blp:316 msgid "No Applications Found" msgstr "Праграм не знойдзена" #: src/bz-search-widget.c:243 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Для Đ·Đ°ĐżŃ‹Ń‚Ń \"%s\" на Flathub нічога не знайŃлоŃŃŹ" #: src/bz-share-list.c:116 msgid "Copy Link" msgstr "Скапіяваць ŃпаŃылкŃ" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "Đдкрыць ŃпаŃылкŃ" #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "ЧаŃавая Ńкала" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "ĐŁŃталяванняў:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "ĐŁ Ńвеце" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:124 #, c-format msgid "%.2fM Total Installs" msgstr "ĐŁŃяго ŃžŃталяванняў — %.2f млн." #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:127 #, c-format msgid "%.2fK Total Installs" msgstr "ĐŁŃяго ŃžŃталяванняў — %.2f тыŃ." #: src/bz-stats-dialog.c:129 #, c-format msgid "%'d Total Installs" msgstr "ĐŁŃяго ŃžŃталяванняў — %'d" #: src/bz-tag-list.c:96 msgid "No Results Found" msgstr "Няма вынікаў" #: src/bz-tag-list.c:108 #, c-format msgid "Apps Tagged \"%s\"" msgstr "Праграмы Đ· цэтлікам \"%s\"" #: src/bz-tag-list.c:124 msgid "Search failed" msgstr "Памылка поŃŃĐşŃ" #: src/bz-transaction-dialog.c:155 msgid "Keep User Data" msgstr "ПакінŃць даныя карыŃтальніка" #: src/bz-transaction-dialog.c:156 msgid "Allow restoring personal settings & content" msgstr "Дазволіць аднаўляць перŃанальныя налады Ń– змеŃціва" #: src/bz-transaction-dialog.c:165 msgid "Delete All Data" msgstr "Выдаліць ŃŃе даныя" #: src/bz-transaction-dialog.c:166 msgid "Permanently erase user data to save space" msgstr "Незваротна выдаліць даныя карыŃтальніка, каб зберагчы меŃца" #: src/bz-transaction-dialog.c:191 #, c-format msgid "Install %s?" msgstr "ĐŁŃталяваць \"%s\"?" #: src/bz-transaction-dialog.c:196 msgid "Select which version to install. May install additional shared components" msgstr "Выберыце, ŃŹĐşŃŃŽ верŃŃ–ŃŽ ŃžŃталяваць. МогŃць ŃŃталявацца дадатковыя абагŃленыя кампаненты" #: src/bz-transaction-dialog.c:198 msgid "May install additional shared components" msgstr "Можа ŃžŃталяваць дадатковыя абагŃленыя кампаненты" #: src/bz-transaction-dialog.c:219 #, c-format msgid "Remove %s?" msgstr "Выдаліць \"%s\"?" #: src/bz-transaction-dialog.c:222 msgid "Select which version to remove." msgstr "Выберыце, ŃŹĐşŃŃŽ верŃŃ–ŃŽ выдаліць." #: src/bz-transaction-dialog.c:224 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "ĐźŃ€Đ°ĐłŃ€Đ°ĐĽŃ %s нельга бŃдзе выкарыŃтоўваць паŃля выдалення." #: src/bz-transaction-dialog.c:247 #, c-format msgid "“%s” is High Risk" msgstr "Праграма \"%s\" няŃе выŃокія рызыкі" #: src/bz-transaction-dialog.c:251 msgid "" "This app has full access to your system, including all <b>your files, browser history, saved passwords</b>, and more. It also has " "access to the internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with these permissions." msgstr "" "Гэта праграма мае поўны Đ´ĐľŃŃ‚ŃĐż да ŃŃ–Ńтэмы, Ń Ń‚Ń‹ĐĽ Đ»Ń–ĐşŃ Đ´Đ° ŃžŃŃ–Ń… <b>ваŃых файлаў, гіŃторыі браўзера, захаваных пароляў</b> Ń– не " "толькі. ТакŃама, яна мае Đ´ĐľŃŃ‚ŃĐż да інтэрнэтŃ, Ńто азначае, Ńто яна можа адпраўляць ваŃŃ‹ даныя знеŃнім ŃŃб’ектам.\n" "\n" "Đ—-за таго, Ńто праграма з’яўляецца прапрыетарнай, немагчыма правеŃці ĐżŃ€Đ°Đ˛ĐµŃ€ĐşŃ Ń‚Đ°ĐłĐľ, Ńто яна робіць Đ· гэтымі дазволамі." #: src/bz-transaction-dialog.c:260 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record all keystrokes, capture screenshots, and monitor " "other applications</b>. It also has access to the internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with these permissions." msgstr "" "Гэта праграма выкарыŃтоўвае ŃаŃтарэлŃŃŽ верŃŃ–ŃŽ ŃŃ–Ńтэмы кіравання вокнамі X11, Ń ŃŹĐşĐľĐą Ń‘Ńць дазвол на <b>запіŃванне ŃžŃŃ–Ń… ŃпалŃчэнняў " "клавіŃ, Ńтварэнне здымкаў экрана Ń– Ńачыць за Ń–Đ˝Ńымі праграмамі</b>. ТакŃама, яна мае Đ´ĐľŃŃ‚ŃĐż да інтэрнэтŃ, Ńто азначае, Ńто яна " "можа адпраўляць ваŃŃ‹ даныя знеŃнім ŃŃб’ектам.\n" "\n" "Đ—-за таго, Ńто праграма з’яўляецца прапрыетарнай, немагчыма правеŃці ĐżŃ€Đ°Đ˛ĐµŃ€ĐşŃ Ń‚Đ°ĐłĐľ, Ńто яна робіць Đ· гэтымі дазволамі." #: src/bz-transaction-dialog.c:276 msgid "Install Anyway" msgstr "ĐŁŃŃ‘ адно ŃžŃталяваць" #: src/bz-transaction-dialog.c:331 msgid "Failed to load transaction dialog" msgstr "Не ўдалоŃŃŹ загрŃзіць дыялог транŃакцыі" #: src/bz-transaction-dialog.c:549 msgid "All apps are already installed" msgstr "ĐŁŃе праграмы ŃžŃталяваны" #: src/bz-transaction-dialog.c:551 msgid "OK" msgstr "OK" #: src/bz-transaction-dialog.c:567 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "ĐŁŃталяваць %u праграмŃ?" msgstr[1] "ĐŁŃталяваць %u праграмы?" msgstr[2] "ĐŁŃталяваць %u праграм?" #: src/bz-transaction-dialog.c:575 msgid "The following will be installed. Additional shared components may also be installed" msgstr "Đ‘ŃĐ´Ńць ŃŃталяваны наŃŃ‚Ńпныя праграмы. Разам Đ· Ń–ĐĽŃ– могŃць ŃŃталявацца дадатковыя агŃльныя кампаненты" #: src/bz-transaction-dialog.c:576 #, c-format msgid "%d addons will be installed." msgstr "Đ‘Ńдзе ŃžŃталявана Ńтолькі дадаткаў: %d." #: src/bz-transaction-dialog.c:577 msgid "Additionally, addons will be installed." msgstr "ТакŃама бŃĐ´Ńць ŃŃталяваны дадаткі." #: src/bz-transaction-manager.c:766 #, c-format msgid "Finished in %.02f seconds" msgstr "ЗаверŃана за %.02f Ńек" #: src/bz-transaction-tile.blp:126 msgid "App Add-On" msgstr "Дадатак да праграмы" #: src/bz-transaction-tile.blp:155 msgid "Runtime" msgstr "ĐŃяроддзе выканання" #: src/bz-transaction-tile.blp:179 msgid "In Queue" msgstr "ĐŁ чарзе" #: src/bz-transaction-tile.blp:203 msgid "Done" msgstr "Зроблена" #: src/bz-transaction-tile.blp:227 msgid "Error" msgstr "Памылка" #: src/bz-transaction-tile.blp:271 msgid "Open App" msgstr "Đдкрыць праграмŃ" #: src/bz-transaction-tile.blp:285 msgid "Cancel Transaction" msgstr "СкаŃаваць транŃакцыю" #: src/bz-transaction-tile.blp:409 msgid "Show Error Info" msgstr "Паказаць звеŃткі пра памылкŃ" #: src/bz-transaction-tile.c:112 #, c-format msgid "%s Freed" msgstr "Вызвалена меŃца: %s" #: src/bz-transaction-tile.c:398 src/bz-transaction-tile.c:401 msgid "Transaction Error" msgstr "Памылка транŃакцыі" #: src/bz-transaction.c:342 msgid "Pending" msgstr "ĐŁ чаканні" #: src/bz-updates-card.blp:36 msgid "Update All" msgstr "Đбнавіць ŃŃе" #: src/bz-updates-card.c:293 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u абнаўленне аŃяроддзя выканання" msgstr[1] "%u абнаўленні аŃяроддзя выканання" msgstr[2] "%u абнаўленняў аŃяроддзя выканання" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Кіраваць аŃтаткамі даных карыŃтальніка" #: src/bz-user-data-page.blp:89 msgid "No User Data Found" msgstr "Даных карыŃтальніка не знойдзена" #: src/bz-user-data-page.blp:94 msgid "User Data" msgstr "Даныя карыŃтальніка" #: src/bz-user-data-tile.c:144 #, c-format msgid "Trashed User Data for %s" msgstr "ПерамеŃчаныя даныя карыŃтальніка для %s" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "ПерамяŃціць даныя карыŃтальніка Ńž ŃметніцŃ" #: src/bz-window.blp:152 msgid "Curated" msgstr "Падабраныя" #: src/bz-window.blp:164 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:266 msgid "Refresh completed!" msgstr "Đбнаўленне Ńкончана!" #: src/bz-window.blp:319 msgid "You are running a new version of Bazaar!" msgstr "Đ’Ń‹ запŃŃцілі новŃŃŽ верŃŃ–ŃŽ Bazaar!" #: src/bz-window.blp:320 msgid "See What's New" msgstr "Паглядзець, Ńто новага" #: src/bz-window.blp:327 msgid "You have a network connection but are viewing a cached version of Flathub" msgstr "ĐŁ Đ˛Đ°Ń Ń‘Ńць Đ·Đ»Ńчэнне Đ· Ńеткай, але вы праглядаеце верŃŃ–ŃŽ Flathub Ń ĐşŃŤŃŃ‹" #: src/bz-window.blp:439 msgid "Log Out" msgstr "ВыйŃці" #: src/bz-window.c:473 msgid "Failed to load add-ons" msgstr "Не ўдалоŃŃŹ загрŃзіць дадаткі" #: src/bz-window.c:763 msgid "You can't remove Bazaar from Bazaar!" msgstr "Đ’Ń‹ не можаце выдаліць Bazaar, карыŃтаючыŃŃŹ Bazaar!" #: src/bz-window.c:1055 src/bz-window.c:1089 msgid "Can't do that right now!" msgstr "ĐŁ гэты момант дзеянне немагчымае!" #: src/bz-world-map.c:587 msgctxt "As in, \"100 Downloads\"" msgid "Downloads" msgstr "Спампоўкі" #: src/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "ĐŃноўнае" #: src/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Refresh" msgstr "Đбнавіць" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Đдкрыць параметры" #: src/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Đдкрыць дыялог поŃŃĐşŃ" #: src/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Open Library" msgstr "Đдкрыць бібліятэкŃ" #: src/shortcuts-dialog.blp:30 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Паказаць ŃпалŃчэнні клавіŃ" #: src/shortcuts-dialog.blp:35 msgctxt "shortcut window" msgid "Close Window" msgstr "Закрыць акно" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "ВыйŃці Đ· Bazaar" #~ msgid "_Synchronize Remotes" #~ msgstr "Сін_хранізацыя Đ· аддаленымі Ńерверамі" #~ msgid "Synchronizing..." #~ msgstr "Ідзе Ńінхранізацыя..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "Ідзе атрыманне запіŃаў (%d)..." #~ msgid "Indexing Data..." #~ msgstr "Ідзе індэкŃаванне даных..." #~ msgid "View the Release Page" #~ msgstr "Праглядзець ŃŃ‚Đ°Ń€ĐľĐ˝ĐşŃ Đ˛Ń‹ĐżŃŃĐşŃ" #~ msgid "Close" #~ msgstr "Закрыць" #~ msgid "Copy and Close" #~ msgstr "Скапіяваць Ń– закрыць" #~ msgid "Keep Data" #~ msgstr "ПакінŃць даныя" #~ msgid "Refreshing Store Content" #~ msgstr "Ідзе абнаўленне змеŃціва крамы" #~ msgid "No background tasks!" #~ msgstr "Няма фонавых задач!" #~ msgctxt "shortcut window" #~ msgid "Synchronize Remotes" #~ msgstr "Сінхранізацыя Đ· аддаленымі Ńерверамі" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "ВыйŃці" �������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/bg.po������������������������������������������������������������������0000664�0000000�0000000�00000110250�15234476640�0016633�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # twlvnn kraftwerk <kraft_werk@tutanota.com>, 2025 # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-18 06:40+0200\n" "PO-Revision-Date: 2025-10-19 11:04+0200\n" "Last-Translator: twlvnn kraftwerk <kraft_werk@tutanota.com>\n" "Language-Team: Bulgarian\n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.8\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 src/bz-window.blp:51 msgid "Bazaar" msgstr "Базар" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Добавяйте, премахвайте или обновете flatpak ŃофтŃер на този компютър" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;PackageManager;Discover;Flatpak;Software;Store;ŃиŃтема;мениджър на пакети;откриване;ŃофтŃер;програми;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Show Git Forge Star Counts" msgstr "Показване на броя на звездите в Git Forge" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "Whether to attempt to detect and show \"star counts\" for projects in the full view" msgstr "Дали да Ńе опита да Ńе заŃече и покаже „броя на звездите“ за проектите в пълния изглед" #: data/io.github.kolunmi.Bazaar.gschema.xml:11 src/bz-preferences-dialog.blp:25 msgid "Only Show Free Software" msgstr "Показване Ńамо на Ńвободен ŃофтŃер" #: data/io.github.kolunmi.Bazaar.gschema.xml:12 msgid "Hide proprietary software when searching" msgstr "Скриване на ŃобŃтвеничеŃки ŃофтŃер при търŃене" #: data/io.github.kolunmi.Bazaar.gschema.xml:16 msgid "Show Only Flathub Content" msgstr "Показване Ńамо на Flathub Ńъдържание" #: data/io.github.kolunmi.Bazaar.gschema.xml:17 msgid "Filter search results to only show applications available on Flathub" msgstr "Филтриране на резŃлтатите от търŃенето, за да Ńе показват Ńамо програмите, налични в Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:21 msgid "Debounce Search Inputs" msgstr "Забавяне на входа за търŃене" #: data/io.github.kolunmi.Bazaar.gschema.xml:22 msgid "Add a delay before searching to prevent instant replies while typing" msgstr "Добавяне на закъŃнение преди търŃенето, за да Ńе предотвратят незабавни резŃлтати по време на пиŃане" #: data/io.github.kolunmi.Bazaar.gschema.xml:40 msgid "Global Progress Bar Theme" msgstr "Тема за глобалната лента за напредък" #: data/io.github.kolunmi.Bazaar.gschema.xml:41 msgid "Describes the look of the global progress bar" msgstr "ОпиŃва вида на глобалната лента за напредък" #: data/io.github.kolunmi.Bazaar.gschema.xml:45 msgid "Saved Window Dimensions" msgstr "Запазени размери на прозореца" #: data/io.github.kolunmi.Bazaar.gschema.xml:46 msgid "The window dimensions to be used by the next Bazaar window" msgstr "Размерите на прозореца, които ще Ńе използват от Ńледващия прозорец на Базар" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "Открийте и инŃталирайте програми" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "A new app store for GNOME with a focus on discovering and installing applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "Нов магазин за програми за GNOME, предназначен за откриването и инŃталирането на програми и добавки от Flatpak отдалечени хранилища, по-" "Ńпецифично Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. Bazaar features a \"curated\" tab that can be configured by " "distributors to allow for a more localized experience." msgstr "" "Той взема под внимание подкрепата на разработчиците, които правят Đ›ŃĐ˝Đ¸ĐşŃ Đ·Đ° наŃтолни компютри възможен. Bazaar разполага Ń Ń€Đ°Đ·Đ´ĐµĐ» „подбрани“, " "който може да бъде наŃтроен от диŃтрибŃторите, за да позволи по-Ńпециализирано потребителŃко изживяване." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:22 src/bz-application.c:496 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:47 msgid "The home view displaying Flathub apps" msgstr "Началната Ńтраница, показваща програми на Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:51 msgid "Nucleus app page" msgstr "Страницата на Nucleus" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "Searching for Blender" msgstr "ТърŃене за Blender" #: src/bz-addons-dialog.blp:13 msgid "Manage Addons" msgstr "Управление на добавки" #: src/bz-app-size-dialog.c:55 msgid "Of the size of human DNA" msgstr "" #: src/bz-app-size-dialog.c:55 msgid "3 billion base pairs" msgstr "" #: src/bz-app-size-dialog.c:56 msgid "Of the Linux Kernel" msgstr "" #: src/bz-app-size-dialog.c:56 msgid "linux-6.17.tar.xz" msgstr "linux-6.17.tar.xz" #: src/bz-app-size-dialog.c:57 msgid "Of the Apollo 11 guidance computer" msgstr "" #: src/bz-app-size-dialog.c:57 msgid "Total ROM and RAM" msgstr "" #: src/bz-app-size-dialog.c:58 msgid "Of the original Super Mario Bros" msgstr "" #: src/bz-app-size-dialog.c:58 msgid "On the NES" msgstr "" #: src/bz-app-size-dialog.c:59 msgid "Of the size of Wikipedia" msgstr "" #: src/bz-app-size-dialog.c:59 msgid "Without any media" msgstr "" #: src/bz-app-size-dialog.blp:43 msgid "--- MB" msgstr "--- МБ" #: src/bz-app-size-dialog.blp:53 src/bz-full-view.blp:351 msgid "Download Size" msgstr "Размер за изтегляне" #: src/bz-application.c:392 msgid "This functionality is currently disabled. It is recommended you download and install Flatseal to manage app permissions." msgstr "Тази Ń„ŃнкционалноŃŃ‚ е деактивирана в момента. Препоръчваме да изтеглите и инŃталирате Flatseal, за да Ńправлявате права̀та на програмите." #: src/bz-application.c:456 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:457 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:481 msgid "translator-credits" msgstr "twlvnn kraftwerk" #: src/bz-application.c:462 msgctxt "About Dialog Translator Credit" msgid "Ahmed Najmawi" msgstr "Ahmed Najmawi" #: src/bz-application.c:463 msgctxt "About Dialog Translator Credit" msgid "AtomHare" msgstr "AtomHare" #: src/bz-application.c:464 msgctxt "About Dialog Translator Credit" msgid "Azenyr" msgstr "Azenyr" #: src/bz-application.c:465 msgctxt "About Dialog Translator Credit" msgid "Goudarz Jafari" msgstr "Goudarz Jafari" #: src/bz-application.c:466 msgctxt "About Dialog Translator Credit" msgid "Jill Fiore (Lumaeris)" msgstr "Jill Fiore (Lumaeris)" #: src/bz-application.c:467 msgctxt "About Dialog Translator Credit" msgid "JoĂŁo Victor (Leal)" msgstr "JoĂŁo Victor (Leal)" #: src/bz-application.c:468 msgctxt "About Dialog Translator Credit" msgid "KiKaraage" msgstr "KiKaraage" #: src/bz-application.c:469 msgctxt "About Dialog Translator Credit" msgid "Lucosec" msgstr "Lucosec" #: src/bz-application.c:470 msgctxt "About Dialog Translator Credit" msgid "LĂ©ane GRASSER" msgstr "LĂ©ane GRASSER" #: src/bz-application.c:471 msgctxt "About Dialog Translator Credit" msgid "Marcel MrĂłwka (Microwave)" msgstr "Marcel MrĂłwka (Microwave)" #: src/bz-application.c:472 msgctxt "About Dialog Translator Credit" msgid "Peter Dave Hello" msgstr "Peter Dave Hello" #: src/bz-application.c:473 msgctxt "About Dialog Translator Credit" msgid "Pietro F." msgstr "Pietro F." #: src/bz-application.c:474 msgctxt "About Dialog Translator Credit" msgid "Shihfu Juan" msgstr "Shihfu Juan" #: src/bz-application.c:475 msgctxt "About Dialog Translator Credit" msgid "Shinsei" msgstr "Shinsei" #: src/bz-application.c:476 msgctxt "About Dialog Translator Credit" msgid "Vlastimil DÄ›dek" msgstr "Vlastimil DÄ›dek" #: src/bz-application.c:477 msgctxt "About Dialog Translator Credit" msgid "asen23" msgstr "asen23" #: src/bz-application.c:478 msgctxt "About Dialog Translator Credit" msgid "camegone" msgstr "camegone" #: src/bz-application.c:479 msgctxt "About Dialog Translator Credit" msgid "renner" msgstr "renner" #: src/bz-application.c:480 msgctxt "About Dialog Translator Credit" msgid "robotta" msgstr "robotta" #: src/bz-application.c:1019 msgid "Constructing Flatpak instance..." msgstr "Đзграждане на Flatpak инŃтанция..." #: src/bz-application.c:1036 msgid "Reusing last Flatpak instance..." msgstr "Преизползване на поŃледната Flatpak инŃтанция…" #: src/bz-application.c:1061 msgid "Flathub is not registered on this system" msgstr "Flathub не е региŃтриран в тази ŃиŃтема" #: src/bz-application.c:1064 msgid "Would you like to add Flathub as a remote? If you decline, the Flathub page will not be available. You can change this later." msgstr "" "ĐŃкате ли да добавите Flathub като отдалечено хранилище? Đко откажете, Ńтраницата на Flathub няма да бъде Đ´ĐľŃтъпна. Може да промените това по-" "къŃно." #: src/bz-application.c:1069 src/bz-update-dialog.blp:6 msgid "Later" msgstr "По-къŃно" #: src/bz-application.c:1070 msgid "Add Flathub" msgstr "Добавяне на Flathub" #: src/bz-application.c:1102 #, c-format msgid "Identifying installed entries..." msgstr "Đдентифициране на инŃталираните запиŃи..." #: src/bz-application.c:1114 #, c-format msgid "Beginning remote entry retrieval while referencing %d blocklist(s)..." msgstr "ПолŃчаване на отдалечените запиŃи и четене от %d ŃпиŃŃŠĐş(а) за блокиране..." #: src/bz-application.c:1262 #, c-format msgid "Receiving Entries" msgstr "ПолŃчаване на запиŃите" #: src/bz-application.c:1263 #, c-format msgid "%'d of %'d" msgstr "%'d от %'d" #: src/bz-application.c:1273 #, c-format msgid "Waiting for background indexing tasks to catch up..." msgstr "Đзчакване на задачите за индекŃиране във фона да наŃтигнат…" #: src/bz-application.c:1309 #, c-format msgid "Completed initialization in %0.2f seconds" msgstr "Đнициализацията завърŃи за %0.2f ŃекŃнди" #: src/bz-application.c:1314 msgid "Checking for updates..." msgstr "Проверяване за обновления..." #: src/bz-application.c:1353 msgid "Synchronizing..." msgstr "Синхронизиране..." #: src/bz-browse-widget.blp:11 src/bz-flathub-page.blp:11 src/bz-full-view.blp:10 src/bz-installed-page.blp:11 src/bz-window.blp:151 msgid "Empty" msgstr "Празно" #: src/bz-browse-widget.blp:15 msgid "No Curated Applications" msgstr "Няма подбрани програми" #: src/bz-browse-widget.blp:16 msgid "Bazaar was not provided a curated content configuration. Contact your operating system's support channels for assistance." msgstr "Bazaar не разполага Ń Đ˝Đ°Ńтройки за подбрано Ńъдържание. Свържете Ńе Ń ĐşĐ°Đ˝Đ°Đ»Đ¸Ń‚Đµ за поддръжка на ваŃата операционна ŃиŃтема за помощ." #: src/bz-browse-widget.blp:22 src/bz-flathub-page.blp:22 msgid "Browser" msgstr "БраŃĐ·ŃŠŃ€" #: src/bz-entry-inspector.blp:5 msgid "Entry Inspector" msgstr "ĐĐ˝Ńпектор на запиŃите" #: src/bz-entry-inspector.blp:76 msgid "Serialize" msgstr "Сериализиране" #: src/bz-entry-inspector.blp:80 msgid "Convert to JSON" msgstr "ПреобразŃване в JSON" #: src/error.c:68 msgid "An Error Occurred" msgstr "Възникна греŃка" #: src/error.c:89 msgid "Close" msgstr "Затваряне" #: src/error.c:90 msgid "Copy and Close" msgstr "Копиране и затваряне" #: src/bz-flathub-category.c:290 msgid "Audio & Video" msgstr "ĐŃдио & видео" #: src/bz-flathub-category.c:292 msgid "Development" msgstr "Разработка" #: src/bz-flathub-category.c:294 msgid "Education" msgstr "Образование" #: src/bz-flathub-category.c:296 msgid "Games" msgstr "Đгри" #: src/bz-flathub-category.c:298 msgid "Graphics" msgstr "Графика" #: src/bz-flathub-category.c:300 msgid "Networking" msgstr "Đнтернет" #: src/bz-flathub-category.c:302 msgid "Office" msgstr "ОфиŃ" #: src/bz-flathub-category.c:304 msgid "Science" msgstr "НаŃка" #: src/bz-flathub-category.c:306 msgid "System" msgstr "СиŃтема" #: src/bz-flathub-category.c:308 msgid "Utilities" msgstr "ĐĐ˝ŃтрŃменти" #: src/bz-flathub-page.blp:15 msgid "Flathub Not Added" msgstr "Flathub не беŃе добавен" #: src/bz-flathub-page.blp:16 msgid "The Flathub remote was not found on any of your flatpak installations" msgstr "Отдалеченото Flathub хранилище не беŃе намерено в нито една от ваŃите инŃталации на flatpak" #: src/bz-flathub-page.blp:70 src/bz-flathub-page.c:185 msgid "Trending" msgstr "ПопŃлярни" #: src/bz-flathub-page.blp:101 msgid "More Trending" msgstr "Още набиращи попŃлярноŃŃ‚" #: src/bz-flathub-page.blp:117 msgid "Categories" msgstr "Категории" #: src/bz-flathub-page.blp:154 src/bz-flathub-page.c:195 msgid "Recently Updated" msgstr "НаŃкоро обновени" #: src/bz-flathub-page.blp:185 msgid "More Updated" msgstr "Още обновени" #: src/bz-flathub-page.blp:206 src/bz-flathub-page.c:205 msgid "Recently Added" msgstr "НаŃкоро добавени" #: src/bz-flathub-page.blp:237 msgid "More Added" msgstr "Още добавени" #: src/bz-flathub-page.blp:258 src/bz-flathub-page.c:215 msgid "Popular" msgstr "ПопŃлярни" #: src/bz-flathub-page.blp:289 msgid "More Popular" msgstr "Още попŃлярни" #: src/bz-flatpak-entry.c:507 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub Ńтраницата" #: src/bz-flatpak-entry.c:526 msgctxt "Project URL Type" msgid "Homepage" msgstr "Начална Ńтраница" #: src/bz-flatpak-entry.c:529 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "СиŃтема за проблеми" #: src/bz-flatpak-entry.c:532 msgctxt "Project URL Type" msgid "FAQ" msgstr "ЧЗВ" #: src/bz-flatpak-entry.c:535 msgctxt "Project URL Type" msgid "Help" msgstr "Помощ" #: src/bz-flatpak-entry.c:538 msgctxt "Project URL Type" msgid "Donate" msgstr "Дарете" #: src/bz-flatpak-entry.c:543 msgctxt "Project URL Type" msgid "Translate" msgstr "Превод" #: src/bz-flatpak-entry.c:546 msgctxt "Project URL Type" msgid "Contact" msgstr "Контакти" #: src/bz-flatpak-entry.c:549 msgctxt "Project URL Type" msgid "Source Code" msgstr "Đзходен код" #: src/bz-flatpak-entry.c:554 msgctxt "Project URL Type" msgid "Contribute" msgstr "ДопринеŃете" #: src/bz-full-view.blp:14 msgid "No Results" msgstr "Няма резŃлтати" #: src/bz-full-view.blp:15 msgid "Try a different search query" msgstr "Oпитайте различно търŃене" #: src/bz-full-view.blp:21 src/bz-window.blp:161 msgid "Content" msgstr "Съдържание" #: src/bz-full-view.blp:129 msgid "This flatpak is verified by the original developers of the software." msgstr "Този flatpak е проверен от оригиналните разработчици на ŃофтŃера." #: src/bz-full-view.blp:156 msgid "Support" msgstr "Подкрепи" #: src/bz-full-view.blp:176 msgid "Repository Star Count" msgstr "Брой звезди на хранилището" #: src/bz-full-view.blp:207 msgid "Run Application" msgstr "Đзпълняване на програмата" #: src/bz-full-view.blp:221 msgid "Download & Install Application" msgstr "Đзтегляне и инŃталиране на програмата" #: src/bz-full-view.blp:224 src/bz-transaction-view.blp:108 src/bz-window.c:1071 msgid "Install" msgstr "ĐĐ˝Ńталиране" #: src/bz-full-view.blp:236 msgid "Uninstall Application" msgstr "ДеинŃталиране на програмата" #: src/bz-full-view.blp:251 src/bz-installed-page.blp:125 msgid "Manage Add-ons" msgstr "Управление на добавки" #: src/bz-full-view.blp:264 msgid "Install Other Version" msgstr "ĐĐ˝Ńталиране на Đ´Ń€Ńга верŃия" #: src/bz-full-view.blp:279 msgid "Share this application" msgstr "Споделете тази програма" #: src/bz-full-view.blp:362 msgid "Excludes shared components" msgstr "Đзключва Ńподелени компоненти" #: src/bz-full-view.blp:418 msgid "Free Software" msgstr "Свободен ŃофтŃер" #: src/bz-full-view.blp:460 msgid "Proprietary" msgstr "СобŃтвеничеŃки" #: src/bz-full-view.blp:471 msgid "Source code may not be available" msgstr "Đзходният код може да не е наличен" #: src/bz-full-view.blp:526 msgid "Click for details" msgstr "НатиŃнете за подробноŃти" #: src/bz-full-view.blp:592 msgid "Repositories" msgstr "Хранилища" #: src/bz-full-view.blp:623 src/bz-full-view.blp:631 msgid "Project Website" msgstr "Уеб Ńайт на проекта" #: src/bz-full-view.blp:639 msgid "Open in browser" msgstr "Отваряне в Đнтернет браŃĐ·ŃŠŃ€" #: src/bz-full-view.c:213 #, c-format msgid "%'d Monthly Downloads" msgstr "%'d меŃечни изтегляния" #: src/bz-full-view.c:215 msgid "--- Downloads" msgstr "--- изтегляния" #: src/bz-full-view.c:241 msgid "Unknown" msgstr "НеизвеŃтно" #. Translators: This is a date format for timestamps from previous years. Used in the app releases section. #. * %B is the full month name, %e is the day, %Y is the year. #. * Example: "October 1, 2025" #. * See https://docs.gtk.org/glib/method.DateTime.format.html for format options #. * Please modify to make it sound natural in your locale. #. * #: src/bz-full-view.c:268 msgid "%B %-d, %Y" msgstr "%-d %B, %Y" #. Translators: This is a date format for timestamps from the current year. Used in the app releases section. #. * %B is the full month name, %e is the day. #. * Example: "October 1" #. * See https://docs.gtk.org/glib/method.DateTime.format.html for format options #. * Please modify to make it sound natural in your locale. #. * #: src/bz-full-view.c:276 msgid "%B %-d" msgstr "%-d %B" #: src/bz-full-view.c:287 msgid "No URL" msgstr "Няма адреŃ" #: src/bz-full-view.c:305 msgid "This application has a FLOSS license, meaning the source code can be audited for safety." msgstr "Това приложение има FLOSS лиценз, което означава, че изходният код може да бъде проверен за ŃигŃрноŃŃ‚." #: src/bz-full-view.c:306 msgid "" "This application has a proprietary license, meaning the source code is developed privately and cannot be audited by an independent third party." msgstr "" "Тази програма има ŃобŃтвеничеŃки лиценз, което означава, че изходният код е разработен чаŃтно и не може да бъде проверен от незавиŃими трети " "лица." #: src/bz-full-view.c:596 #, c-format msgid "Version %s" msgstr "ВерŃия %s" #: src/bz-full-view.c:621 msgid "No details for this release" msgstr "Няма подробноŃти за това издание" #: src/bz-inspector.blp:5 msgid "Bazaar Inspector" msgstr "Базар инŃпектор" #: src/bz-inspector.blp:22 msgid "Active Blocklists" msgstr "Đктивни ŃпиŃъци за блокиране" #: src/bz-inspector.blp:44 msgid "Active Curated-Configs" msgstr "" #: src/bz-inspector.blp:66 msgid "All Entry Groups" msgstr "Đ’Ńички грŃпи за запиŃ" #: src/bz-inspector.blp:69 msgid "Filter..." msgstr "Филтриране…" #: src/bz-inspector.blp:110 msgid "Decache and Inspect" msgstr "ДекаŃиране и изŃледване" #: src/bz-installed-page.blp:15 msgid "No Flatpaks Installed" msgstr "Няма инŃталирани Flatpak програми" #: src/bz-installed-page.blp:21 src/bz-window.blp:302 src/bz-window.blp:395 msgid "Installed" msgstr "ĐĐ˝Ńталирани" #: src/bz-installed-page.blp:101 msgid "Support this application" msgstr "Подкрепете тази програма" #: src/bz-installed-page.blp:151 src/bz-window.c:1093 msgid "Remove" msgstr "Премахване" #: src/bz-installed-page.blp:178 msgid "More actions" msgstr "Допълнителни дейŃтвия" #: src/bz-installed-page.blp:197 msgid "Run this application" msgstr "Đзпълняване на тази програма" #: src/bz-installed-page.blp:209 msgid "Run" msgstr "Đзпълняване" #: src/bz-installed-page.blp:221 src/bz-installed-page.blp:232 msgid "View Store Page" msgstr "Вижте Ńтраницата в магазина" #: src/bz-installed-page.c:649 msgid "Choose an Installation" msgstr "Đзберете инŃталация" #: src/bz-installed-page.c:652 msgid "You have multiple versions of this app installed. Which one would you like to proceed with? " msgstr "Đмате инŃталирани няколко верŃии на тази програма. Коя от тях иŃкате да използвате? " #: src/bz-installed-page.c:656 src/bz-window.c:1070 src/bz-window.c:1092 msgid "Cancel" msgstr "Отказване" #: src/bz-preferences-dialog.blp:9 msgid "Preferences" msgstr "НаŃтройки" #: src/bz-preferences-dialog.blp:13 msgid "Application Details" msgstr "ПодробноŃти за програмата" #: src/bz-preferences-dialog.blp:16 msgid "Git Forge Star Counts" msgstr "Брой звезди в Git Forge" #: src/bz-preferences-dialog.blp:17 msgid "Not having a GitHub access token may trigger rate limits" msgstr "ЛипŃата на токен за Đ´ĐľŃтъп Đ´Đľ GitHub може да доведе Đ´Đľ ограничения на ŃкороŃтта" #: src/bz-preferences-dialog.blp:22 src/bz-window.blp:43 src/bz-window.blp:58 src/bz-window.blp:334 msgid "Search" msgstr "ТърŃене" #: src/bz-preferences-dialog.blp:26 msgid "Hide proprietary applications from search results" msgstr "Скриване на ŃобŃтвеничеŃките програми от резŃлтатите от търŃенето" #: src/bz-preferences-dialog.blp:30 msgid "Show Only Flathub Apps" msgstr "Показване Ńамо на Flathub програми" #: src/bz-preferences-dialog.blp:31 msgid "Limit search results to applications available on Flathub" msgstr "Ограничаване на резŃлтатите от търŃенето Đ´Đľ програмите, налични в Flathub" #: src/bz-preferences-dialog.blp:35 msgid "Debounce Search Results" msgstr "Забавяне на резŃлтатите за търŃене" #: src/bz-preferences-dialog.blp:36 msgid "Wait for a brief pause to reduce system load" msgstr "Đзчакване за кратко, за да Ńе намали натоварването на ŃиŃтемата" #: src/bz-preferences-dialog.blp:41 msgid "Global Progress Bar" msgstr "Глобална лента за напредъка" #: src/bz-preferences-dialog.blp:44 msgid "Theme" msgstr "Тема" #: src/bz-preferences-dialog.blp:45 msgid "Choose a fun theme for the global progress bar!" msgstr "Đзберете забавна тема за глобалната лента за напредъка!" #: src/bz-preferences-dialog.blp:48 msgid "Accent Color" msgstr "Đкцентиращ цвят" #: src/bz-preferences-dialog.blp:49 msgid "Pride Rainbow Flag" msgstr "Прайд ЛГБТ флаг" #: src/bz-preferences-dialog.blp:50 msgid "Lesbian Pride Flag" msgstr "" #: src/bz-preferences-dialog.blp:51 msgid "Transgender Flag" msgstr "" #: src/bz-preferences-dialog.blp:52 msgid "Nonbinary Flag" msgstr "" #: src/bz-preferences-dialog.blp:53 msgid "Bisexual Flag" msgstr "" #: src/bz-preferences-dialog.blp:54 msgid "Asexual Flag" msgstr "" #: src/bz-preferences-dialog.blp:55 msgid "Pansexual Flag" msgstr "" #: src/bz-preferences-dialog.blp:56 msgid "Aromantic Flag" msgstr "" #: src/bz-preferences-dialog.blp:57 msgid "Genderfluid Flag" msgstr "" #: src/bz-preferences-dialog.blp:58 msgid "Polysexual Flag" msgstr "" #: src/bz-preferences-dialog.blp:59 msgid "Omnisexual Flag" msgstr "" #: src/bz-search-widget.blp:69 msgid "Search Apps" msgstr "ТърŃете програми" #: src/bz-share-dialog.blp:13 msgid "Share" msgstr "Споделяне" #: src/bz-share-dialog.c:62 msgid "Copied!" msgstr "Копирано!" #: src/bz-share-dialog.c:106 msgid "Copy Link" msgstr "Копиране на връзката" #: src/bz-share-dialog.c:117 msgid "Open Link" msgstr "Отваряне на връзката" #: src/bz-stats-dialog.blp:26 msgid "Timeline" msgstr "Хронология" #: src/bz-stats-dialog.blp:31 msgid "Installs:" msgstr "ĐĐ˝Ńталации:" #: src/bz-stats-dialog.blp:37 msgid "World" msgstr "Глобално" #: src/bz-transaction-manager.c:1140 #, c-format msgid "Finished in %.02f seconds" msgstr "ЗавърŃи за %.02f ŃекŃнди" #: src/bz-transaction-view.blp:95 msgid "Install Size" msgstr "Размер за инŃталирани" #: src/bz-transaction-view.blp:238 msgid "Error Details" msgstr "ПодробноŃти за греŃката" #: src/bz-transaction-view.c:139 #, c-format msgid "Transferred %s so far" msgstr "Прехвърлени Ńа %s Đ´Đľ момента" #: src/bz-transaction.c:336 msgid "Pending" msgstr "Đ’ опаŃката" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "ĐĐ˝Ńталиране Ńега" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "Налични Ńа обновления" #: src/bz-update-dialog.blp:11 msgid "The following applications are eligible for updates. Would you like to install them?" msgstr "Следните програми имат обновления. ĐŃкате ли да ги инŃталирате?" #: src/bz-update-dialog.c:134 #, c-format msgid "%d runtimes and/or addons are eligible for updates. Would you like to install them?" msgstr "%d Ńреди за изпълнение и/или добавки имат обновления. ĐŃкате ли да ги инŃталирате?" #: src/bz-update-dialog.c:142 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "ĐžŃвен това, %d Ńреди за изпълнение и/или добавки ще бъдат обновени." #: src/bz-window.blp:80 msgid "Transactions" msgstr "Операции" #: src/bz-window.blp:95 src/bz-window.blp:414 msgid "Toggle transaction sidebar" msgstr "Превключване на Ńтраничната лента за операции" #: src/bz-window.blp:131 msgid "Stop Active Tasks" msgstr "Спиране на работещите задачи" #: src/bz-window.blp:139 msgid "Clear History" msgstr "ĐзчиŃтване на иŃторията" #: src/bz-window.blp:155 msgid "No Tasks Yet" msgstr "Đ’Ńе още няма задачи" #: src/bz-window.blp:210 src/bz-window.blp:214 msgid "Offline" msgstr "Няма връзка" #: src/bz-window.blp:220 msgid "Loading" msgstr "Зареждане" #: src/bz-window.blp:268 msgid "Browse" msgstr "Разглеждане" #: src/bz-window.blp:278 msgid "App View" msgstr "Đзглед на програмата" #: src/bz-window.blp:292 src/bz-window.blp:388 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:322 msgid "Go Back" msgstr "Назад" #: src/bz-window.blp:347 msgid "Update" msgstr "Обновяване" #: src/bz-window.blp:377 msgid "View curated applications" msgstr "Вижте подбрани програми" #: src/bz-window.blp:381 msgid "Curated" msgstr "Подбрани" #: src/bz-window.blp:385 msgid "View the latest on Flathub" msgstr "Вижте най-новите програми във Flathub" #: src/bz-window.blp:392 msgid "View installed applications" msgstr "Вижте инŃталираните програми" #: src/bz-window.blp:437 msgid "Main Menu" msgstr "ĐžŃновно меню" #: src/bz-window.blp:471 msgid "_Quit Service" msgstr "_Спиране на ŃŃĐ»Ńгата" #: src/bz-window.blp:476 msgid "_Refresh Content" msgstr "_ОпреŃняване на Ńъдържанието" #: src/bz-window.blp:481 msgid "_Preferences" msgstr "_НаŃтройки" #: src/bz-window.blp:486 msgid "_Keyboard Shortcuts" msgstr "_КлавиŃни комбинации" #: src/bz-window.blp:491 msgid "_About Bazaar" msgstr "_ОтноŃно Базар" #: src/bz-window.blp:496 msgid "_Donate to Bazaar ❤️" msgstr "_Дарете за Базар ❤️" #: src/bz-window.c:628 msgid "Up to date!" msgstr "Đ’Ńичко е обновено!" #: src/bz-window.c:800 msgid "" "The ability to inspect and install local .flatpak bundle files is coming soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "ФŃнкцията за проверяване и инŃталиране на локални .flatpak пакетни файлове ще бъде Đ´ĐľŃтъпна Ńкоро! МеждŃвременно, опитайте да изпълните\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "в командния ред." #: src/bz-window.c:935 msgid "Can't do that right now!" msgstr "Това дейŃтвие не може да Ńе извърŃи Ńега!" #: src/bz-window.c:1064 #, c-format msgid "Install %s?" msgstr "ĐĐ˝Ńталиране на %s?" #: src/bz-window.c:1067 msgid "May install additional shared components" msgstr "Може да инŃталира допълнителни Ńподелени компоненти" #: src/bz-window.c:1086 #, c-format msgid "Remove %s?" msgstr "Премахване на %s?" #: src/bz-window.c:1089 msgid "Settings & user data will be kept" msgstr "НаŃтройките и потребителŃките данни ще бъдат запазени" #: src/bz-window.c:1257 msgid "Resume Current Tasks" msgstr "Възобновяване на текŃщите задачи" #: src/bz-window.c:1263 msgid "Pause Current Tasks" msgstr "ПаŃза на текŃщите задачи" #: src/bz-world-map.c:523 #, c-format msgid "%s: %'u downloads" msgstr "%s: %'u изтегляния" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "Общи" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Отваряне на търŃачката" #: src/gtk/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Refresh" msgstr "ОпреŃняване" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "Превключване на мениджъра на операциите" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Показване на клавиŃните комбинации" #: src/gtk/shortcuts-dialog.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Спиране на програмата" #~ msgid "Show Animated Background" #~ msgstr "Animierten Hintergrund anzeigen" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "Den animierten Hintergrund auf der Startseite anzeigen" #~ msgid "It emphasizes supporting the developers who make the Linux desktop possible." #~ msgstr "Es legt Wert darauf, die Entwickler zu unterstĂĽtzen, die den Linux-Desktop möglich machen." #~ msgid "Calligraphy application page" #~ msgstr "Calligraphy" #~ msgid "Download graph for Blender" #~ msgstr "Downloadkurve fĂĽr Blender" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "%'d Einträge von %'d empfangen (%0.1f Sekunden vergangen)" #~ msgid "Apps Of The Week" #~ msgstr "Anwendungen der Woche" #~ msgid "Show More" #~ msgstr "Mehr anzeigen" #~ msgid "The number of downloads in the last 30 days. Click to view this application's download statistics." #~ msgstr "Die Anzahl der Downloads in den letzten 30 Tagen. Klicken Sie hier, um die Download-Statistiken fĂĽr diese Anwendung anzuzeigen." #~ msgid "Support this developer" #~ msgstr "Diesen Entwickler unterstĂĽtzen" #~ msgid "Remote repo name" #~ msgstr "Namen des Repository" #, c-format #~ msgid "Released %x" #~ msgstr "Veröffentlicht %x" #~ msgid "Edit Permissions" #~ msgstr "Berechtigungen bearbeiten" #~ msgid "How the application looks" #~ msgstr "Wie die Anwendung aussieht" #~ msgid "Appearance" #~ msgstr "Erscheinungsbild" #~ msgid "Show animated background" #~ msgstr "Animierten Hintergrund anzeigen" #~ msgid "Type to filter" #~ msgstr "Zum Filtern hier tippen" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Ergebnisse mit proprietären Lizenzen ausschlieĂźen" #~ msgid "Exclude results not originating from Flathub" #~ msgstr "Ergebnisse ausschlieĂźen, die nicht von Flathub stammen" #~ msgid "Advanced" #~ msgstr "Erweitert" #~ msgid "Open this link externally" #~ msgstr "Diesen Link extern öffnen" #~ msgid "Downloads Over Time" #~ msgstr "Downloads im Laufe der Zeit" #~ msgid "Minimize Lower Bound" #~ msgstr "Untere Grenze verringern" #~ msgid "Maximize Upper Bound" #~ msgstr "Obere Grenze vergrößern" #~ msgid "Installing" #~ msgstr "Wird installiert" #~ msgid "Updating" #~ msgstr "Wird aktualisiert" #~ msgid "Removing" #~ msgstr "Wird entfernt" #~ msgid "Transactions Will Appear Here" #~ msgstr "Transaktionen werden hier erscheinen" #~ msgid "Halt the execution of transactions" #~ msgstr "Die AusfĂĽhrung von Transaktionen anhalten" #~ msgid "Clear all finished transactions" #~ msgstr "Alle abgeschlossenen Transaktionen leeren" #~ msgid "Confirm Action" #~ msgstr "Aktion bestätigen" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Sie sind dabei, die folgende Anwendung zu entfernen:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Sind Sie sich sicher?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Sie sind dabei, die folgende Anwendung zu installieren:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Sind Sie sich sicher?" #~ msgid "Resume the execution of transactions" #~ msgstr "Die AusfĂĽhrung von Transaktionen fortsetzen" #~ msgid "Pause the execution of transactions" #~ msgstr "Die AusfĂĽhrung von Transaktionen pausieren" #~ msgid "No description" #~ msgstr "Keine Beschreibung" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Bazaar-Hauptfenster zeigt Blender" #~ msgid "Match using regular expressions" #~ msgstr "Ăśbereinstimmung mit regulären AusdrĂĽcken" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "Filterung und Sortierung hinter einem Ăśberblendungseffekt verstecken" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/bs.po������������������������������������������������������������������0000664�0000000�0000000�00000034700�15234476640�0016654�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Bosnian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Manually modified from a previous translation, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-09-02 08:40+0200\n" "PO-Revision-Date: 2025-09-02 09:06+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 3.6\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Dodajte, uklonite ili aĹľurirajte flatpak softver na ovom raÄŤunaru" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Sistem;UpraviteljPaketa;Otkrijte;Flatpak;Softver;Prodavnica;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Show Animated Background" msgstr "PrikaĹľi animiranu pozadinu" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "Whether to show the animated icon background on the home page" msgstr "Da li već prikazati animiranu pozadinu ikone na poÄŤetnoj stranici" #. FIXME: add descriptions and summary #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:9 msgid "Keep the summary shorter, between 10 and 35 characters" msgstr "SaĹľetak neka bude kraći, izmeÄ‘u 10 i 35 znakova" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:11 msgid "No description" msgstr "Nema opisa" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 src/bz-application.c:1215 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:41 msgid "Main Bazaar window showing Blender" msgstr "Glavni prozor Bazaara koji prikazuje Blender" #: src/bz-addons-dialog.blp:13 src/bz-installed-page.blp:162 #: src/bz-installed-page.blp:174 msgid "Manage Addons" msgstr "Upravljanje dodacima" #: src/bz-app-tile.blp:65 src/bz-full-view.blp:139 msgid "This flatpak is verified by the original developers of the software." msgstr "Ovaj flatpak je verifikovan od strane originalnih programera softvera." #: src/bz-application.c:1186 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:481 msgid "translator-credits" msgstr "SecularSteve" #: src/bz-application.c:1191 msgctxt "About Dialog Translator Credit" msgid "Ahmed Najmawi" msgstr "Ahmed Najmawi" #: src/bz-application.c:1192 msgctxt "About Dialog Translator Credit" msgid "AtomHare" msgstr "AtomHare" #: src/bz-application.c:1193 msgctxt "About Dialog Translator Credit" msgid "Jill Fiore" msgstr "Jill Fiore" #: src/bz-application.c:1194 msgctxt "About Dialog Translator Credit" msgid "Lucosec" msgstr "Lucosec" #: src/bz-application.c:1195 msgctxt "About Dialog Translator Credit" msgid "Shihfu Juan" msgstr "Shihfu Juan" #: src/bz-application.c:1196 msgctxt "About Dialog Translator Credit" msgid "Vlastimil DÄ›dek" msgstr "Vlastimil DÄ›dek" #: src/bz-application.c:1197 msgctxt "About Dialog Translator Credit" msgid "asen23" msgstr "asen23" #: src/bz-application.c:1198 msgctxt "About Dialog Translator Credit" msgid "renner" msgstr "renner" #: src/bz-application.c:1199 msgctxt "About Dialog Translator Credit" msgid "robotta" msgstr "robotta" #: src/bz-browse-widget.blp:11 src/bz-full-view.blp:11 #: src/bz-installed-page.blp:11 src/bz-window.blp:32 msgid "Empty" msgstr "Prazno" #: src/bz-browse-widget.blp:15 msgid "No Curated Applications" msgstr "Nema izloĹľenih aplikacija" #: src/bz-browse-widget.blp:16 msgid "Bazaar was not provided a curated content configuration. Contact your operating system's support channels for assistance." msgstr "Bazaaru nije pruĹľena konfiguracija izloĹľenog sadrĹľaja. Za pomoć kontaktirajte kanale podrške vašeg operativnog sistema." #: src/bz-browse-widget.blp:22 src/bz-flathub-page.blp:11 msgid "Browser" msgstr "PretraĹľivaÄŤ" #: src/error.c:45 msgid "An Error Occurred" msgstr "Došlo je do greške" #: src/error.c:51 msgid "Close" msgstr "Zatvori" #: src/error.c:52 msgid "Copy and Close" msgstr "Kopiraj i zatvori" #: src/bz-flathub-page.blp:41 msgid "Apps Of The Week" msgstr "Aplikacije sedmice" #: src/bz-flathub-page.blp:85 msgid "Trending" msgstr "U trendu" #: src/bz-flathub-page.blp:117 msgid "Recently Updated" msgstr "Zadnje aĹľurirano" #: src/bz-flathub-page.blp:149 msgid "Recently Added" msgstr "Zadnje dodano" #: src/bz-flathub-page.blp:181 msgid "Popular" msgstr "Popularno" #: src/bz-full-view.blp:15 msgid "No Results" msgstr "Nema rezultata" #: src/bz-full-view.blp:16 msgid "Try a different search query" msgstr "Pokušajte s drugim upitom za pretragu" #: src/bz-full-view.blp:22 src/bz-window.blp:42 msgid "Content" msgstr "SadrĹľaj" #: src/bz-full-view.blp:180 msgid "Run this application" msgstr "Pokreni ovu aplikaciju" #: src/bz-full-view.blp:204 msgid "Download and install this application" msgstr "Preuzmite i instalirajte ovu aplikaciju" #: src/bz-full-view.blp:222 src/bz-window.c:987 msgid "Install" msgstr "Instaliraj" #: src/bz-full-view.blp:236 msgid "Uninstall this application" msgstr "Deinstalirajte ovu aplikaciju" #: src/bz-full-view.blp:262 msgid "Share this application" msgstr "Podijelite ovu aplikaciju" #: src/bz-full-view.blp:274 msgid "The number of downloads in the last 30 days. Click to view this application's download statistics." msgstr "Broj preuzimanja u posljednjih 30 dana. Kliknite za pregled statistike preuzimanja ove aplikacije." #: src/bz-full-view.blp:316 msgid "Support this developer" msgstr "PodrĹľite ovog programera" #: src/bz-full-view.blp:329 msgid "Support" msgstr "Podrška" #: src/bz-full-view.blp:387 msgid "Remote repo name" msgstr "Naziv udaljenog repozitorija" #: src/bz-full-view.blp:400 msgid "Project URL" msgstr "URL projekta" #: src/bz-full-view.blp:412 msgid "Download size" msgstr "VeliÄŤina preuzimanja" #: src/bz-full-view.c:214 #, c-format msgid "Released %x" msgstr "Objavljeno %x" #: src/bz-full-view.c:225 msgid "No URL" msgstr "Nema URL-a" #: src/bz-full-view.c:233 msgid "This application has a FLOSS license, meaning the source code can be audited for safety." msgstr "Ova aplikacija ima FLOSS licencu, što znaÄŤi da se izvorni kod moĹľe revidirati radi sigurnosti." #: src/bz-full-view.c:234 msgid "This application has a proprietary license, meaning the source code is developed privately and cannot be audited by an independent third party." msgstr "Ova aplikacija ima vlasniÄŤku licencu, što znaÄŤi da je izvorni kod razvijen privatno i ne moĹľe ga revidirati nezavisna treća strana." #: src/bz-installed-page.blp:15 msgid "No Flatpaks Installed" msgstr "Nema instaliranih Flatpak ureÄ‘aja" #: src/bz-installed-page.blp:21 src/bz-window.blp:201 src/bz-window.blp:336 msgid "Installed" msgstr "Instalirano" #: src/bz-installed-page.blp:143 msgid "More actions" msgstr "Više akcija" #: src/bz-installed-page.blp:187 src/bz-installed-page.blp:198 msgid "Edit Permissions" msgstr "Uredi dozvole" #: src/bz-preferences-dialog.blp:9 msgid "Preferences" msgstr "Postavke" #: src/bz-preferences-dialog.blp:13 msgid "How the application looks" msgstr "Kako izgleda aplikacija" #: src/bz-preferences-dialog.blp:14 msgid "Appearance" msgstr "Izgled" #: src/bz-preferences-dialog.blp:17 msgid "Show animated background" msgstr "PrikaĹľi animiranu pozadinu" #: src/bz-search-widget.blp:69 msgid "Type to filter" msgstr "Upišite tekst za filtriranje" #: src/bz-search-widget.blp:98 src/bz-search-widget.blp:115 msgid "Search Options" msgstr "Opcije pretrage" #: src/bz-search-widget.blp:119 msgid "Exclude results with proprietary licenses" msgstr "IskljuÄŤi rezultate s vlasniÄŤkim licencama" #: src/bz-search-widget.blp:124 msgid "Exclude results not originating from Flathub" msgstr "IskljuÄŤi rezultate koji ne potiÄŤu sa Flathub-a" #: src/bz-search-widget.blp:139 msgid "Advanced" msgstr "Napredno" #: src/bz-search-widget.blp:143 msgid "Match using regular expressions" msgstr "Uparivanje pomoću obiÄŤnih izraza" #: src/bz-search-widget.blp:148 msgid "Hide filtering and sorting behind a crossfade effect" msgstr "Sakrij filtriranje i sortiranje iza efekta prelaza" #: src/bz-search-widget.blp:153 msgid "Debounce input to prevent instant replies" msgstr "OtodskoÄŤite unos kako bi se sprijeÄŤili brzi odgovori" #: src/bz-share-dialog.blp:13 msgid "Share" msgstr "Podijeli" #: src/bz-share-dialog.blp:64 msgid "Copy this link" msgstr "Kopiraj ovu vezu" #: src/bz-share-dialog.blp:71 msgid "Open this link externally" msgstr "Otvorite ovu vezu eksterno" #: src/bz-stats-dialog.blp:15 msgid "Downloads Over Time" msgstr "Preuzimanja tokom vremena" #: src/bz-stats-dialog.blp:31 msgid "Minimize Lower Bound" msgstr "Minimiziraj donju granicu" #: src/bz-stats-dialog.blp:36 msgid "Maximize Upper Bound" msgstr "Maksimiziraj gornju granicu" #: src/bz-transaction-manager.c:451 #, c-format msgid "Finished in %.02f seconds" msgstr "Završeno za %.02f sekundi" #: src/bz-transaction-view.blp:34 msgid "Installing" msgstr "Instaliranje" #: src/bz-transaction-view.blp:63 msgid "Updating" msgstr "AĹľuriranje" #: src/bz-transaction-view.blp:92 msgid "Removing" msgstr "Uklanjanje" #: src/bz-transaction.c:268 msgid "Pending" msgstr "Na ÄŤekanju" #: src/bz-update-dialog.blp:6 msgid "Later" msgstr "Kasnije" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "Instaliraj odmah" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "Dostupna su aĹľuriranja" #: src/bz-update-dialog.blp:11 msgid "The following applications are eligible for updates. Would you like to install them?" msgstr "Sljedeće aplikacije ispunjavaju uslove za aĹľuriranja. Ĺ˝elite li ih instalirati?" #: src/bz-update-dialog.c:135 #, c-format msgid "%d runtimes and/or addons are eligible for updates. Would you like to install them?" msgstr "%d okruĹľenja za izvršavanje i/ili dodaci ispunjavaju uslove za aĹľuriranja. Ĺ˝elite li ih instalirati?" #: src/bz-update-dialog.c:143 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "Pored toga, aĹľurirat će se i sljedeći broj runtime okruĹľenja i/ili dodataka: %d." #: src/bz-window.blp:36 msgid "Transactions Will Appear Here" msgstr "Transakcije će se pojaviti ovdje" #: src/bz-window.blp:97 msgid "Halt the execution of transactions" msgstr "Zaustaviti izvršenje transakcija" #: src/bz-window.blp:105 msgid "Clear all finished transactions" msgstr "Obriši sve završene transakcije" #: src/bz-window.blp:136 src/bz-window.blp:140 msgid "Offline" msgstr "Bez mreĹľe" #: src/bz-window.blp:146 msgid "Loading" msgstr "UÄŤitavanje" #: src/bz-window.blp:170 msgid "Browse" msgstr "Pregledaj" #: src/bz-window.blp:180 msgid "App View" msgstr "Prikaz aplikacije" #: src/bz-window.blp:191 src/bz-window.blp:315 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:220 msgid "Go Back" msgstr "Idi nazad" #: src/bz-window.blp:228 msgid "Refresh" msgstr "OsvjeĹľi" #: src/bz-window.blp:237 msgid "Search" msgstr "PretraĹľi" #: src/bz-window.blp:249 msgid "Update" msgstr "AĹľuriraj" #: src/bz-window.blp:263 msgid "Checking for updates" msgstr "Provjera aĹľuriranja" #: src/bz-window.blp:279 msgid "View curated applications" msgstr "Pogledajte izloĹľene aplikacije" #: src/bz-window.blp:294 msgid "Curated" msgstr "IzloĹľeno" #: src/bz-window.blp:300 msgid "View the latest on Flathub" msgstr "Pogledajte najnovije na Flathub-u" #: src/bz-window.blp:321 msgid "View installed applications" msgstr "Pogledajte instalirane aplikacije" #: src/bz-window.blp:350 msgid "Main Menu" msgstr "Glavni meni" #: src/bz-window.blp:361 msgid "Toggle transaction sidebar" msgstr "UkljuÄŤi/iskljuÄŤi boÄŤnu traku transakcija" #: src/bz-window.blp:400 msgid "Up to date!" msgstr "AĹľurno!" #: src/bz-window.blp:425 msgid "_Keyboard Shortcuts" msgstr "_PreÄŤice na tastaturi" #: src/bz-window.blp:430 msgid "_About Bazaar" msgstr "_O Bazaar-u" #: src/bz-window.blp:435 msgid "_Donate to Bazaar ❤️" msgstr "_Donirajte Bazaaru ❤️" #: src/bz-window.c:856 msgid "" "The ability to inspect and install local .flatpak bundle files is coming soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "Mogućnost pregleda i instaliranja lokalnih .flatpak datoteka paketa uskoro stiĹľe! U meÄ‘uvremenu, pokušajte pokrenuti\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "u komandnom redu." #: src/bz-window.c:927 msgid "Can't do that right now!" msgstr "To se sada ne moĹľe uraditi!" #: src/bz-window.c:940 msgid "Confirm Action" msgstr "Potvrdi radnju" #: src/bz-window.c:958 #, c-format msgid "" "You are about to remove the following Flatpak:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "Are you sure?" msgstr "" "Namjeravate ukloniti sljedeći Flatpak:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "Jeste li sigurni?" #: src/bz-window.c:966 src/bz-window.c:986 msgid "Cancel" msgstr "OtkaĹľi" #: src/bz-window.c:967 msgid "Remove" msgstr "Ukloni" #: src/bz-window.c:978 #, c-format msgid "" "You are about to install the following Flatpak:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "Are you sure?" msgstr "" "Instalirat ćete sljedeći Flatpak:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "Jeste li sigurni?" #: src/bz-window.c:1012 msgid "More details" msgstr "Više detalja" #: src/bz-window.c:1138 msgid "Resume the execution of transactions" msgstr "Nastavite izvršavanje transakcija" #: src/bz-window.c:1144 msgid "Pause the execution of transactions" msgstr "Pauzirajte izvršavanje transakcija" #: src/gtk/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Općenito" #: src/gtk/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Otvori dijalog za pretragu" #: src/gtk/help-overlay.blp:19 msgctxt "shortcut window" msgid "Refresh" msgstr "OsvjeĹľi" #: src/gtk/help-overlay.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "UkljuÄŤi/iskljuÄŤi Upravitelja za transakcije" #: src/gtk/help-overlay.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "PrikaĹľi preÄŤice" #: src/gtk/help-overlay.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "Odustani" ����������������������������������������������������������������bazaar-org-bazaar-917017d/po/cs.po������������������������������������������������������������������0000664�0000000�0000000�00000275223�15234476640�0016664�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Czech translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Vlastimil DÄ›dek <dedek.vlastimil2@proton.me>, 2025. # Pavel Borecki <pavel@borecki.cz>, 2026. # Daniel Rusek <mail@asciiwolf.com>, 2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: https://github.com/bazaar-org/bazaar/issues\n" "POT-Creation-Date: 2026-08-02 22:44+0000\n" "PO-Revision-Date: 2026-08-03 13:48+0200\n" "Last-Translator: Daniel Rusek <mail@asciiwolf.com>\n" "Language-Team: Czech\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Poedit 3.9\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "App Store" msgstr "Obchod s aplikacemi" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "" "PĹ™idávejte, odstraĹujte nebo aktualizujte software z flatpakĹŻ na tomto " "poÄŤĂ­taÄŤi" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "System;Package;Manager;Discover;Flatpak;Software;App;Store;" msgstr "SystĂ©m;Správce;BalĂ­ÄŤkĹŻ;Discover;Flatpak;Software;Aplikace;Obchod;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "NovĂ© okno" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Objevujte a instalujte aplikace" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "RychlĂ˝ a modernĂ­ obchod s aplikacemi pro Linux se zaměřenĂ­m na objevovánĂ­ a " "instalaci aplikacĂ­ a doplĹkĹŻ Flatpaku, zejmĂ©na z Flathubu." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "ZaĹ™aÄŹte vĂ­ce instalacĂ­ do fronty a pokraÄŤujte v prohlĂ­ĹľenĂ­" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Jednoduše si zobrazte oprávnÄ›nĂ­ aplikacĂ­" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "" "PĹ™ihlaste se pomocĂ­ Flathubu pro zobrazenĂ­ a správu oblĂ­benĂ˝ch aplikacĂ­" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Vyhledávejte aplikace přímo z GNOME Shellu" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:766 msgid "The Bazaar Contributors" msgstr "PĹ™ispÄ›vatelĂ© aplikace Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Domovská stránka zobrazujĂ­cĂ­ aplikace Flathubu" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Stránka aplikace Exhibit" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Stránka knihovny" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Stránka hledánĂ­" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Stránka kategoriĂ­" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Příjem aktualizacĂ­ zastaven" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Odinstalovat" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Instalovat" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Spravovat doplĹky" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "ŽádnĂ© viditelnĂ© doplĹky" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Vaše aktuálnĂ­ nastavenĂ­ filtrĹŻ skrĂ˝vajĂ­ všechny známĂ© doplĹky. Zkuste je " "upravit." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Stránka doplĹkĹŻ" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:408 msgid "Downloads/Month" msgstr "StaĹľenĂ­/mÄ›sĂ­c" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:444 msgid "Stopped Receiving Core Updates" msgstr "Příjem základnĂ­ch aktualizacĂ­ zastaven" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Tento doplnÄ›k používá bÄ›hovĂ© prostĹ™edĂ­, kterĂ© jiĹľ nedostává aktualizace ani " "opravy zabezpeÄŤenĂ­. Jeho používánĂ­ nemusĂ­ bĂ˝t bezpeÄŤnĂ©." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "DoplnÄ›k pro %s" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "Zobrazit mĂ©nÄ›" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Zobrazit vĂ­ce" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "Statistiky stahovánĂ­" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:187 #: src/context-tile-callbacks.c:194 msgid "Age Rating" msgstr "VhodnĂ© od vÄ›ku" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "KreslenĂ© násilĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Bez informacĂ­ o kreslenĂ©m násilĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "NásilĂ­ ve fantasy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Bez informacĂ­ o násilĂ­ ve fantasy" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "RealistickĂ© násilĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Bez informacĂ­ o realistickĂ©m násilĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "NásilĂ­ zobrazujĂ­cĂ­ krvácenĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Bez informacĂ­ o krvácenĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "SexuálnĂ­ násilĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Bez informacĂ­ o sexuálnĂ­m násilĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alkohol" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Bez informacĂ­ o odkazech na alkohol" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Narkotika" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Bez informacĂ­ o odkazech na nezákonnĂ© drogy" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabák" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Bez informacĂ­ o odkazech na tabákovĂ© produkty" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nahota" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Bez informacĂ­ o nahotÄ› jakĂ©hokoliv typu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "SexuálnĂ­ tĂ©matika" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Bez informacĂ­ o odkazech na nebo vyobrazenĂ­ sexuálnĂ­ tĂ©matiky" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Vulgarismy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Bez informacĂ­ o vulgaritách jakĂ©hokoliv typu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "NepĹ™iměřenĂ˝ humor" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Bez informacĂ­ o nepĹ™iměřenĂ©m humoru" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Diskriminace" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Bez informacĂ­ o diskriminaÄŤnĂ­ch projevech jakĂ©hokoliv typu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Reklamy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Bez informacĂ­ o reklamách jakĂ©hokoliv typu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Hazard" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Bez informacĂ­ o hazardu jakĂ©hokoliv typu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "NakupovánĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Bez informacĂ­ o moĹľnosti utrácet penĂ­ze" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Konverzace mezi uĹľivateli" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Bez informacĂ­ o zpĹŻsobech konverzace mezi uĹľivateli" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Hlasová konverzace mezi uĹľivateli" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Bez informacĂ­ o zpĹŻsobech hlasovĂ© komunikace mezi uĹľivateli" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "KontaktnĂ­ Ăşdaje" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Bez informacĂ­ o sdĂ­lenĂ­ uĹľivatelskĂ˝ch jmen ze sociálnĂ­ch sĂ­tĂ­ nebo e-" "mailovĂ˝ch adres" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "IdentifikaÄŤnĂ­ Ăşdaje" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "Bez informacĂ­ o sdĂ­lenĂ­ ĂşdajĹŻ o uĹľivatelĂ­ch se tĹ™etĂ­mi stranami" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "SdĂ­lenĂ­ polohy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Bez informacĂ­ o sdĂ­lenĂ­ fyzickĂ© polohy s ostatnĂ­mi uĹľivateli" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostituce" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Bez informacĂ­ o odkazech na prostituci" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "CizoloĹľstvĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Bez informacĂ­ o odkazech na cizoloĹľstvĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "SexualizovanĂ© postavy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Bez informacĂ­ o sexualizovanĂ˝ch postavách" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "ZnesvÄ›cenĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Bez informacĂ­ o odkazech na znesvÄ›cenĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "LidskĂ© ostatky" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Bez informacĂ­ o viditelnĂ˝ch ostatcĂ­ch mrtvĂ˝ch lidĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "OtroctvĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Bez informacĂ­ o odkazech na otroctvĂ­" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Neobsahuje odkazy na drogy" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "Neobsahuje nadávky, vulgarity ani jinĂ© hrubĂ© vĂ˝razy" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Neobsahuje reklamy ani peněžnĂ­ operace" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Neobsahuje sex a nahotu" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Neobsahuje funkci neusmÄ›rĹovanĂ© konverzace" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Neobsahuje násilĂ­" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogy" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "HrubĂ© vĂ˝razy" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "PenĂ­ze" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "SociálnĂ­ sĂ­tÄ›" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "NásilĂ­" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:177 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Vše" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "Aplikace %s má neznámĂ© vÄ›kovĂ© hodnocenĂ­" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "Aplikace %s je vhodná pro kaĹľdĂ©ho" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "Aplikace %s je vhodná pro malĂ© dÄ›ti" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "Aplikace %s je vhodná pro dÄ›ti" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "Aplikace %s je vhodná pro dospĂ­vajĂ­cĂ­ mládeĹľ" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "Aplikace %s je vhodná pro dospÄ›lĂ©" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "Aplikace %s je vhodná pro %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "SystĂ©mová sloĹľka %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "PodsloĹľka %s v domovskĂ© sloĹľce" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "SloĹľky hostitelskĂ©ho systĂ©mu" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Konfigurace hostitelskĂ©ho systĂ©mu z /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce plochy" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "SloĹľka plochy" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce dokumentĹŻ" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "SloĹľka dokumentĹŻ" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce hudby" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "SloĹľka hudby" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce obrázkĹŻ" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "SloĹľka obrázkĹŻ" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce veĹ™ejnÄ› sdĂ­lenĂ˝ch" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "SloĹľka veĹ™ejnÄ› sdĂ­lenĂ˝ch" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce videĂ­" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "SloĹľka videĂ­" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce šablon" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "SloĹľka šablon" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce uĹľivatelskĂ© mezipamÄ›ti" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "SloĹľka uĹľivatelskĂ© mezipamÄ›ti" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce uĹľivatelskĂ© konfigurace" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "SloĹľka uĹľivatelskĂ© konfigurace" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "PodsloĹľka %s ve sloĹľce uĹľivatelskĂ˝ch dat" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "SloĹľka uĹľivatelskĂ˝ch dat" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "PodsloĹľka %s v uĹľivatelskĂ© sloĹľce pro bÄ›h aplikacĂ­" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "UĹľivatelská sloĹľka pro bÄ›h aplikacĂ­" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Přístup k souborovĂ©mu systĂ©mu v %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Neznámá cesta souborovĂ©ho systĂ©mu" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "Stahovaná velikost" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "Instalovaná velikost" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "Velikost ke staĹľenĂ­ z internetu" #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "Velikost na disku" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "Otevřít sloĹľku uĹľivatelskĂ˝ch dat" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "Vaše uĹľivatelská data" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "MezipamÄ›ti, nastavenĂ­ a další data aplikacĂ­" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "Mezipaměť" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "DoÄŤasná data v mezipamÄ›ti" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "Vymazat mezipaměť" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Instalovaná velikost prostĹ™edĂ­" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Stahovaná velikost prostĹ™edĂ­" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:394 #: src/context-tile-callbacks.c:416 msgid "N/A" msgstr "N/A" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "Velikost aplikace" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Ověřeno" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:136 msgid "Installed" msgstr "Nainstalováno" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:769 msgid "translator-credits" msgstr "" "Vlastimil DÄ›dek <dedek.vlastimil2@proton.me>, 2025\n" "Pavel Borecki <pavel@borecki.cz>, 2026\n" "Daniel Rusek <mail@asciiwolf.com>, 2026" #: src/bz-application.c:779 msgid "Special Thanks" msgstr "ZvláštnĂ­ podÄ›kovánĂ­ patří" #: src/bz-application.c:837 msgid "Logged Out Successfully!" msgstr "ĂšspěšnÄ› odhlášeni!" #: src/bz-application.c:1027 msgid "Ubuntu Troubles!" msgstr "ProblĂ©my s Ubuntu!" #: src/bz-application.c:1030 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "NovÄ›jší verze Ubuntu majĂ­ porušená vĂ˝chozĂ­ bezpeÄŤnostnĂ­ pravidla, takĹľe " "<b>nenĂ­ moĹľnĂ© instalovat aplikace</b> z Flatpak verze Bazaaru. ProzatĂ­m " "prosĂ­m pouĹľijte normálnĂ­ balĂ­ÄŤek pomocĂ­\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "Tuto Flatpak verzi pak mĹŻĹľete odstranit pomocĂ­\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1036 msgid "Continue Anyway" msgstr "PĹ™esto pokraÄŤovat" #: src/bz-application.c:1052 msgid "Performing setup…" msgstr "ProvádĂ­ se nastavení…" #: src/bz-application.c:1145 msgid "Set Up System Flathub?" msgstr "Nastavit systĂ©movĂ˝ Flathub?" #: src/bz-application.c:1148 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "SystĂ©movĂ˝ repozitář Flathub nenĂ­ nastaven. Bazaar vyĹľaduje, aby byl Flathub " "nastaven na systĂ©movĂ© Flatpak instalaci pro procházenĂ­ a instalaci " "aplikacĂ­.\n" "\n" "Bazaar mĹŻĹľete i nadále používat k procházenĂ­ a odstraĹovánĂ­ jiĹľ " "nainstalovanĂ˝ch aplikacĂ­." #: src/bz-application.c:1155 msgid "Set Up Flathub?" msgstr "Nastavit Flathub?" #: src/bz-application.c:1158 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub nenĂ­ v tomto systĂ©mu nastaven. Pokud nenĂ­ k dispozici, nebudete moci " "procházet a instalovat aplikace v Bazaaru.\n" "\n" "Bazaar mĹŻĹľete i nadále používat k procházenĂ­ a odstraĹovánĂ­ jiĹľ " "nainstalovanĂ˝ch aplikacĂ­." #: src/bz-application.c:1164 msgid "Later" msgstr "PozdÄ›ji" #: src/bz-application.c:1165 msgid "Set Up Flathub" msgstr "Nastavit Flathub" #: src/bz-application.c:1698 msgid "A backend error occurred" msgstr "Došlo k chybÄ› backendu" #: src/bz-application.c:1906 src/bz-application.c:4153 msgid "Refreshing…" msgstr "Obnovuje se…" #: src/bz-application.c:2070 src/bz-application.c:4151 #, c-format msgid "Loading %d apps…" msgstr "NaÄŤĂ­tá se %d aplikací…" #: src/bz-application.c:2123 src/bz-application.c:2197 msgid "Failed to open file" msgstr "NezdaĹ™ilo se otevřít soubor" #: src/bz-application.c:2211 msgid "Failed to load metainfo" msgstr "NezdaĹ™ilo se naÄŤĂ­st metainfo" #: src/bz-application.c:2305 msgid "An initialization error occurred" msgstr "Došlo k chybÄ› inicializace" #: src/bz-application.c:2704 msgid "Checking for updates…" msgstr "KontrolujĂ­ se aktualizace…" #: src/bz-application.c:2760 msgid "Failed to check for updates" msgstr "NezdaĹ™ilo se zkontrolovat aktualizace" #: src/bz-application.c:3926 msgid "Malformed Link" msgstr "Ĺ patnÄ› formátovanĂ˝ odkaz" #: src/bz-application.c:3927 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Odkaz pouĹľitĂ˝ k otevĹ™enĂ­ tĂ©to aplikace má nesprávnĂ© velkĂ© pĂ­smeno a v " "budoucnu mĹŻĹľe pĹ™estat fungovat.\n" "\n" "To je pravdÄ›podobnÄ› zpĹŻsobeno tĂ­m, Ĺľe KRunner odesĂ­lá nesprávná ID aplikacĂ­" #: src/bz-application.c:3935 msgid "Could not find app" msgstr "NezdaĹ™ilo se najĂ­t aplikaci" #: src/bz-application.c:4155 msgid "Writing to cache…" msgstr "Zapisuje se do mezipamÄ›ti…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Zobrazit vše" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Všechny „%s“" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d aplikacĂ­" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "NezdaĹ™ilo se naÄŤĂ­st ÄŤlánek" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Instalace balĂ­ÄŤku" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "DodateÄŤnĂ© závislosti mohou zabĂ­rat další mĂ­sto" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Instalace tĂ©to aplikace mĹŻĹľe vyĹľadovat pĹ™idánĂ­ novĂ©ho zdroje softwaru. " "OstatnĂ­ aplikace z tohoto zdroje se zobrazĂ­ v Bazaaru.\n" "\n" "Tento zdroj pĹ™idejte, pouze pokud jste si jisti, Ĺľe mu dĹŻvěřujete." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "ĂšspěšnÄ› nainstalováno!" #. TRANSLATORS: Button to launch an installed app #: src/bz-bundle-install-dialog.blp:438 src/bz-bundle-install-dialog.blp:524 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:299 msgid "Open" msgstr "Otevřít" #: src/bz-bundle-install-dialog.blp:448 src/bz-bundle-install-dialog.blp:534 msgid "Show App Details" msgstr "Zobrazit podrobnosti o aplikaci" #: src/bz-bundle-install-dialog.blp:499 msgid "Already Installed" msgstr "JiĹľ nainstalováno" #: src/bz-bundle-install-dialog.blp:546 msgid "Installation Failed" msgstr "Instalace se nezdaĹ™ila" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Neznámá velikost instalace" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "PĹ™ibliĹľnÄ› %s k instalaci" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Žádná zvláštnĂ­ oprávnÄ›nĂ­" #: src/bz-curated-view.blp:27 msgid "No Curation" msgstr "ŽádnĂ© vybranĂ© aplikace" #: src/bz-curated-view.blp:29 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "V tomto systĂ©mu nejsou k dispozici žádnĂ© informace o vybranĂ˝ch aplikacĂ­ch. " "Aplikace si stále mĹŻĹľete prohlĂ­Ĺľet na Flathubu" #: src/bz-curated-view.blp:33 msgid "Browse Flathub" msgstr "Procházet Flathub" #: src/bz-curated-view.blp:49 msgid "Offline" msgstr "Off-line" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Neověřeno" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Informace o vĂ˝vojáři nejsou k dispozici." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "VlastnictvĂ­ ID aplikace %s nebylo ověřeno a mĹŻĹľe se jednat o komunitnĂ­ " "balĂ­ÄŤek." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "VlastnictvĂ­ ID aplikace %s bylo ruÄŤnÄ› ověřeno tĂ˝mem Flathubu." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "VlastnictvĂ­ ID aplikace %1$s bylo ověřeno uĹľivatelem <b>%2$s</b> na <b>%3$s</" "b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "VlastnictvĂ­ ID aplikace %1$s bylo ověřeno pomocĂ­ %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "VlastnictvĂ­ ID aplikace %s bylo ověřeno." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "ĂšplnĂ© poznámky k vydánĂ­" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Toto vydánĂ­ bylo moĹľnĂ© dĂ­ky uĹľivatelĹŻm, jako jste vy!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Miluji vytvářenĂ­ Bazaaru, ale nedokážu to sám. Pomozte podpoĹ™it další vĂ˝voj " "darovánĂ­m na Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "PodpoĹ™it Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:228 #, c-format msgid "What's New in %s?" msgstr "Co je novĂ©ho ve verzi %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:244 msgid "Released %B %-e, %Y" msgstr "Vydáno %-e. %B %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Vyberte instalaci" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Máte nainstalováno nÄ›kolik verzĂ­ tĂ©to aplikace. S kterou chcete pokraÄŤovat?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Zrušit" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Pouze pro tohoto uĹľivatele" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "tento uĹľivatel" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "všichni uĹľivatelĂ©" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "Podrobnosti" #. TRANSLATORS: tooltip for a button that copies text to the clipboard #: src/bz-error-dialog.blp:48 msgid "Copy" msgstr "KopĂ­rovat" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "ZkopĂ­rováno!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "PoÄŤet oblĂ­benĂ˝ch" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Aktualizace oblĂ­benĂ˝ch se nezdaĹ™ila" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "PĹ™ihlaste se pomocĂ­ Flathubu pro správu oblĂ­benĂ˝ch aplikacĂ­" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "PĹ™ihlásit se" #: src/bz-favorites-page.blp:5 src/bz-window.blp:348 msgid "Favorites" msgstr "OblĂ­benĂ©" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "Instalovat vše" #: src/bz-favorites-page.blp:47 msgid "No Favorites" msgstr "ŽádnĂ© oblĂ­benĂ© aplikace" #: src/bz-favorites-page.blp:48 msgid "Applications you mark as favorite will appear here" msgstr "Aplikace, kterĂ© oznaÄŤĂ­te jako oblĂ­benĂ©, se zobrazĂ­ zde" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "PodpoĹ™it tuto aplikaci" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Odebrat z oblĂ­benĂ˝ch" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "OdebránĂ­ z oblĂ­benĂ˝ch se nezdaĹ™ilo" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "PĹ™edchozĂ­" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Další" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Ăšprava" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mixer" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Hudba" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "PĹ™ehrávaÄŤ" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "ZáznamnĂ­k" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Sekvencer" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Tuner" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Emulace" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "AkÄŤnĂ­" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Adventury" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "ArkádovĂ©" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "BlokovĂ©" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "DeskovĂ©" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "KaretnĂ­" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "DÄ›tskĂ©" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "LogickĂ©" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Na hrdiny" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "StříleÄŤky" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Simulace" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Sporty" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "StrategickĂ©" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "ProhlĂ­ĹľeÄŤe" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Konverzace" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Pošta" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "SdĂ­lenĂ­ souborĹŻ" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Audio a video" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "MultimĂ©dia" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "VĂ­ce z Audio a video" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "VĂ˝vojářskĂ© nástroje" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "VĂ˝voj" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "VĂ­ce z VĂ˝vojářskĂ© nástroje" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "VzdÄ›lávánĂ­" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "UÄŤenĂ­" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "VĂ­ce z VzdÄ›lávánĂ­" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "HranĂ­ her" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "HranĂ­" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "VĂ­ce z HranĂ­ her" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Grafika a fotografie" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "VytvářenĂ­" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "VĂ­ce z Grafika a fotografie" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "SĂ­ĹĄ" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "VĂ­ce z SĂ­ĹĄ" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Produktivita" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Práce" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "VĂ­ce z Produktivita" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "VÄ›da" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "VĂ­ce z VÄ›da" #: src/bz-flathub-category.c:142 msgid "System" msgstr "SystĂ©m" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "VĂ­ce z SystĂ©m" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Utility" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:434 msgid "Tools" msgstr "Nástroje" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "VĂ­ce z Utility" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:106 #: src/bz-flathub-page.blp:138 msgid "Trending" msgstr "Trendy" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "VĂ­ce z TrendĹŻ" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:112 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "PopulárnĂ­" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "VĂ­ce z PopulárnĂ­ch" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:160 msgid "Recently Added" msgstr "Nedávno pĹ™idanĂ©" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:118 msgid "New" msgstr "NovĂ©" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "VĂ­ce z NovĂ˝ch" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:149 msgid "Recently Updated" msgstr "Nedávno aktualizovanĂ©" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:124 msgid "Updated" msgstr "AktualizovanĂ©" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "VĂ­ce z AktualizovanĂ˝ch" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "MobilnĂ­" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "VĂ­ce z MobilnĂ­ch" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "VĂ­ce z Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "KDE aplikace" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "VĂ­ce z KDE aplikacĂ­" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:416 msgid "Games" msgstr "Hry" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:476 msgid "More Games" msgstr "VĂ­ce z Her" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:422 msgid "Emulators" msgstr "Emulátory" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "VĂ­ce z EmulátorĹŻ" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:428 msgid "Launchers" msgstr "Spouštěče" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "VĂ­ce z HernĂ­ch spouštěčů" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "HernĂ­ nástroje" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "VĂ­ce z HernĂ­ch nástrojĹŻ" #: src/bz-flathub-page.blp:22 msgid "Flathub Not Added" msgstr "Flathub nebyl pĹ™idán" #: src/bz-flathub-page.blp:23 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Repozitář Flathubu nebyl nalezen v žádnĂ© z vašich instalacĂ­ Flatpaku" #: src/bz-flathub-page.blp:32 msgid "Can't Reach Flathub" msgstr "Nelze se pĹ™ipojit k Flathubu" #: src/bz-flathub-page.blp:33 msgid "You can still manage and search for apps." msgstr "Stále však mĹŻĹľete spravovat a vyhledávat aplikace." #: src/bz-flathub-page.blp:39 msgid "Search Apps" msgstr "Hledat aplikace" #: src/bz-flathub-page.blp:50 msgid "Reconnect" msgstr "Znovu pĹ™ipojit" #: src/bz-flathub-page.blp:199 msgid "App of the Day" msgstr "Aplikace dne" #: src/bz-flathub-page.blp:262 msgid "On the Go" msgstr "Na cestách" #: src/bz-flathub-page.blp:274 msgid "Apps for your Linux phones and tablets" msgstr "Aplikace pro vaše linuxovĂ© telefony a tablety" #: src/bz-flathub-page.blp:285 src/bz-flathub-page.blp:320 msgid "More Mobile Apps" msgstr "VĂ­ce z MobilnĂ­ch aplikacĂ­" #: src/bz-flathub-page.blp:378 msgid "We​ ♥​ Games" msgstr "Máme ♥​ hry" #: src/bz-flathub-page.blp:391 msgid "Games and apps to run your favorite titles" msgstr "Hry a aplikace pro spuštÄ›nĂ­ vašich oblĂ­benĂ˝ch titulĹŻ" #: src/bz-full-view.blp:33 msgid "No Results" msgstr "ŽádnĂ© vĂ˝sledky" #: src/bz-full-view.blp:34 msgid "Try a different search query" msgstr "Zkuste jinĂ˝ dotaz" #: src/bz-full-view.blp:103 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Toto je mĂ­stnĂ­ náhled, nÄ›kterĂ© podrobnosti se mohou lišit od zveĹ™ejnÄ›nĂ© verze" #: src/bz-full-view.blp:106 msgid "Preview Store Appearance" msgstr "Náhled vzhledu obchodu" #: src/bz-full-view.blp:233 msgid "_Support" msgstr "_PodpoĹ™it" #: src/bz-full-view.blp:458 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Tato aplikace používá bÄ›hovĂ© prostĹ™edĂ­, kterĂ© jiĹľ nedostává aktualizace ani " "opravy zabezpeÄŤenĂ­. JejĂ­ používánĂ­ nemusĂ­ bĂ˝t bezpeÄŤnĂ©." #: src/bz-full-view.blp:536 msgid "Trash Data" msgstr "Vymazat data" #: src/bz-full-view.blp:599 msgid "Add-ons" msgstr "DoplĹky" #: src/bz-full-view.blp:634 msgid "More Add-Ons" msgstr "VĂ­ce doplĹkĹŻ" #: src/bz-full-view.blp:645 msgid "Links" msgstr "Odkazy" #: src/bz-full-view.blp:676 msgid "Similar Apps" msgstr "PodobnĂ© aplikace" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Žádná adresa URL" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Tato aplikace má licenci FLOSS. To znamená, Ĺľe jejĂ­ zdrojovĂ˝ kĂłd mĹŻĹľe bĂ˝t " "ověřen pro bezpeÄŤnost." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Tato aplikace má proprietárnĂ­ licenci. To znamená, Ĺľe jejĂ­ zdrojovĂ˝ kĂłd je " "vyvĂ­jen v soukromĂ­ a nemĹŻĹľe bĂ˝t ověřen nezávislou tĹ™etĂ­ stranou." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "VĂ­ce aplikacĂ­" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "VĂ­ce aplikacĂ­ od %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Další aplikace od tohoto vĂ˝vojáře" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "Další aplikace od %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "Aplikace %s nenĂ­ nainstalována, ale má stále k dispozici <b>%s</b> dat." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "Další aplikace" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d aplikace" msgstr[1] "%d aplikace" msgstr[2] "%d aplikacĂ­" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:160 msgid "Failed to Remove User Data" msgstr "NezdaĹ™ilo se odstranit uĹľivatelská data" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Podpora hardwaru" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Podpora klávesnice" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "VyĹľaduje klávesnice" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "DoporuÄŤuje klávesnice" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Podporuje klávesnice" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Neznámá podpora klávesnic" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Podpora myši" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "VyĹľaduje myši nebo ukazovátka" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "DoporuÄŤuje myši nebo ukazovátka" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Podporuje myši nebo ukazovátka" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Neznámá podpora myší nebo ukazovátek" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Podpora dotykovĂ˝ch obrazovek" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "VyĹľaduje dotykovĂ© obrazovky" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "DoporuÄŤuje dotykovĂ© obrazovky" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Podporuje dotykovĂ© obrazovky" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Neznámá podpora dotykovĂ˝ch obrazovek" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Podpora pro mobilnĂ­ zařízenĂ­" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Funguje na mobilnĂ­ch zařízenĂ­ch" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "NemusĂ­ fungovat dobĹ™e na mobilnĂ­ch zařízenĂ­ch" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Podpora pro PC" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Funguje dobĹ™e na velkĂ˝ch obrazovkách" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "Aplikace %s funguje nejlĂ©pe na konkrĂ©tnĂ­m hardware" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "Aplikace %s funguje na vÄ›tšinÄ› zařízenĂ­" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "NabĂ­dka inspektora" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Otevřít" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Odinstalovat aplikaci" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "Odeb_rat" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Aktualizovat" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Odebrat" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Nainstalovat %s od %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Nainstalovat %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Zrušit" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Ruší se" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "TlaÄŤĂ­tko darovánĂ­" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "hledat nainstalovanĂ© aplikace" #: src/bz-library-page.blp:32 msgid "No Apps Found" msgstr "Nenalezeny žádnĂ© aplikace" #: src/bz-library-page.blp:49 msgid "Search Store Instead" msgstr "Hledat v obchodÄ›" #: src/bz-library-page.blp:86 msgid "Pending Updates" msgstr "ÄŚekajĂ­cĂ­ aktualizace" #: src/bz-library-page.blp:113 msgid "Downloads" msgstr "StaĹľenĂ­" #: src/bz-library-page.blp:156 msgid "Recently Uninstalled" msgstr "Nedávno odinstalovanĂ©" #: src/bz-library-page.blp:207 msgid "Clear Finished Tasks" msgstr "Vymazat dokonÄŤenĂ© Ăşlohy" #: src/bz-library-page.blp:234 msgid "Sort Options" msgstr "MoĹľnosti Ĺ™azenĂ­" #: src/bz-library-page.blp:293 msgid "Sort By" msgstr "Ĺadit podle" #: src/bz-library-page.blp:307 msgid "Name" msgstr "Název" #: src/bz-library-page.blp:313 msgid "Size" msgstr "Velikost" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "ŽádnĂ© shody pro vĂ˝raz „%s“ v seznamu nainstalovanĂ˝ch aplikacĂ­" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u dostupná aktualizace" msgstr[1] "%u dostupnĂ© aktualizace" msgstr[2] "%u dostupnĂ˝ch aktualizacĂ­" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u nainstalovaná aplikace" msgstr[1] "%u nainstalovanĂ© aplikace" msgstr[2] "%u nainstalovanĂ˝ch aplikacĂ­" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Nenalezeny žádnĂ© aplikace" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "Nalezena jedna aplikace" msgstr[1] "Nalezeny %u aplikace" msgstr[2] "Nalezeno %u aplikacĂ­" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Zapojit se" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Zjistit vĂ­ce" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Neznámá licence" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Vybudováno komunitou" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:289 msgid "Proprietary" msgstr "UzavĹ™enĂ©" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:291 msgid "Special License" msgstr "ZvláštnĂ­ licence" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Tato aplikace je otevĹ™enÄ› vyvĂ­jena mezinárodnĂ­ komunitou.\n" "\n" "MĹŻĹľete se zapojit a pomoci ji ještÄ› vylepšit." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Licence tĂ©to aplikace nenĂ­ známa" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Tato aplikace je otevĹ™enÄ› vyvĂ­jena mezinárodnĂ­ komunitou a je uvolnÄ›na pod " "licencĂ­ %s.\n" "\n" "MĹŻĹľete se zapojit a pomoci ji ještÄ› vylepšit." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Tato aplikace nenĂ­ vyvĂ­jena otevĹ™enÄ›, takĹľe o jejĂ­m fungovánĂ­ vÄ›dĂ­ pouze " "jejĂ­ vĂ˝vojáři. MĹŻĹľe bĂ˝t nezabezpeÄŤena zpĹŻsobem, kterĂ˝ je těžkĂ© odhalit, a " "mĹŻĹľe se mÄ›nit, aniĹľ byste o tom vÄ›dÄ›li.\n" "\n" "MĹŻĹľete nebo nemusĂ­te bĂ˝t schopni do tĂ©to aplikace pĹ™ispĂ­vat." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Tato aplikace je vyvĂ­jena pod zvláštnĂ­ licencĂ­ %s.\n" "\n" "MĹŻĹľete nebo nemusĂ­te bĂ˝t schopni do tĂ©to aplikace pĹ™ispĂ­vat." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Licence" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "PĹ™ipojit se k Flathubu" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "NÄ›co se pokazilo" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "PĹ™ihlaste se a synchronizujte svĂ© oblĂ­benĂ© aplikace napříč zařízenĂ­mi" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "DokonÄŤit" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Ahoj, %s!" #: src/bz-metainfo-preview.c:105 msgid "Add Icon to Metainfo Preview?" msgstr "PĹ™idat ikonu do náhledu Metainfo?" #: src/bz-metainfo-preview.c:108 msgid "" "Metainfo files don't include app icons by themselves. Would you like to " "select one manually?" msgstr "" "Soubory Metainfo neobsahujĂ­ ikony aplikacĂ­ samy o sobÄ›. Chcete jednu vybrat " "ruÄŤnÄ›?" #: src/bz-metainfo-preview.c:111 msgid "Skip" msgstr "PĹ™eskoÄŤit" #: src/bz-metainfo-preview.c:112 src/bz-metainfo-preview.c:163 msgid "Select Icon" msgstr "Vyberte ikonu" #: src/bz-metainfo-preview.c:166 msgid "Image Files" msgstr "Soubory obrázkĹŻ" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "PĹ™edvolby" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "PĹ™ipojenĂ­ k sĂ­ti je měřenĂ© – automatickĂ© obnovenĂ­ dat obchodu je pozastaveno" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Obnovit ruÄŤnÄ›" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Aktualizace aplikacĂ­" #: src/bz-preferences-dialog.blp:47 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "Kontrola a stahovánĂ­ aktualizacĂ­ aplikacĂ­ spotĹ™ebovává data a energii. " "Funkce automatickĂ˝ch aktualizacĂ­ aplikacĂ­ jsou proto pozastaveny, kdyĹľ " "používáte měřená sĂ­ĹĄová pĹ™ipojenĂ­ a kdyĹľ je zapnutĂ˝ ĂşspornĂ˝ reĹľim." #: src/bz-preferences-dialog.blp:53 msgid "_Automatic" msgstr "_AutomatickĂ©" #: src/bz-preferences-dialog.blp:54 msgid "Automatically check for and download app updates" msgstr "Automaticky kontrolovat a stahovat aktualizace aplikacĂ­" #: src/bz-preferences-dialog.blp:65 msgid "_Manual" msgstr "_RuÄŤnĂ­" #: src/bz-preferences-dialog.blp:66 msgid "Checking for and downloading app updates must be done manually" msgstr "Kontrola a stahovánĂ­ aktualizacĂ­ aplikacĂ­ musĂ­ bĂ˝t provedeno ruÄŤnÄ›" #: src/bz-preferences-dialog.blp:83 msgid "Automatic Update _Notifications" msgstr "Oz_namovat automatickĂ© aktualizace" #: src/bz-preferences-dialog.blp:84 msgid "Notify when updates have been automatically installed" msgstr "Oznámit, kdyĹľ jsou automaticky nainstalovány aktualizace" #: src/bz-preferences-dialog.blp:89 msgid "Content Filters" msgstr "Filtry obsahu" #: src/bz-preferences-dialog.blp:92 msgid "_Free Software Only" msgstr "Pouze svobodnĂ˝ so_ftware" #: src/bz-preferences-dialog.blp:93 msgid "Hide proprietary apps when browsing and searching" msgstr "SkrĂ˝t uzavĹ™enĂ© aplikace z vĂ˝sledkĹŻ vyhledávánĂ­" #: src/bz-preferences-dialog.blp:98 msgid "F_lathub Results Only" msgstr "Pouze vĂ˝sledky z F_lathubu" #: src/bz-preferences-dialog.blp:99 msgid "Limit search and browse results to apps only available on Flathub" msgstr "Omezit vĂ˝sledky vyhledávánĂ­ pouze na aplikace dostupnĂ© na Flathubu" #: src/bz-preferences-dialog.blp:104 msgid "_Verified Results Only" msgstr "Pouze o_věřenĂ© vĂ˝sledky" #: src/bz-preferences-dialog.blp:105 msgid "Hide results that are not verified on Flathub" msgstr "SkrĂ˝t vĂ˝sledky, kterĂ© nejsou ověřeny na Flathubu" #: src/bz-preferences-dialog.blp:110 msgid "Hide _End-of-Life Apps" msgstr "SkrĂ˝t zastaralĂ© aplikac_e" #: src/bz-preferences-dialog.blp:111 msgid "Hide apps which are no longer supported by their developers" msgstr "SkrĂ˝t aplikace, kterĂ© jiĹľ nejsou podporovanĂ© jejich vĂ˝vojáři" #: src/bz-preferences-dialog.blp:117 msgid "Progress Bar Theme" msgstr "Motiv ukazatele postupu" #: src/bz-preferences-dialog.c:39 msgid "Accent Color" msgstr "BarevnĂ˝ odstĂ­n" #: src/bz-preferences-dialog.c:40 msgid "Pride Colors" msgstr "Barvy hrdosti" #: src/bz-preferences-dialog.c:41 msgid "Lesbian Pride Colors" msgstr "Barvy lesbickĂ© hrdosti" #: src/bz-preferences-dialog.c:42 msgid "Male Homosexual Pride Colors" msgstr "Barvy muĹľskĂ© homosexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:43 msgid "Transgender Pride Colors" msgstr "Barvy transgender hrdosti" #: src/bz-preferences-dialog.c:44 msgid "Nonbinary Pride Colors" msgstr "Barvy nebinárnĂ­ hrdosti" #: src/bz-preferences-dialog.c:45 msgid "Bisexual Pride Colors" msgstr "Barvy bisexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:46 msgid "Asexual Pride Colors" msgstr "Barvy asexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:47 msgid "Pansexual Pride Colors" msgstr "Barvy pansexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:48 msgid "Aromantic Pride Colors" msgstr "Barvy aromatickĂ© hrdosti" #: src/bz-preferences-dialog.c:49 msgid "Genderfluid Pride Colors" msgstr "Barvy genderfluidnĂ­ hrdosti" #: src/bz-preferences-dialog.c:50 msgid "Polysexual Pride Colors" msgstr "Barvy polysexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:51 msgid "Omnisexual Pride Colors" msgstr "Barvy omnisexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:52 msgid "Aroace Pride Colors" msgstr "Barvy aroace hrdosti" #: src/bz-preferences-dialog.c:53 msgid "Agender Pride Colors" msgstr "Barvy agenderovĂ© hrdosti" #: src/bz-preferences-dialog.c:54 msgid "Genderqueer Pride Colors" msgstr "Barvy genderqueer hrdosti" #: src/bz-preferences-dialog.c:55 msgid "Intersex Pride Colors" msgstr "Barvy intersexuálnĂ­ hrdosti" #: src/bz-preferences-dialog.c:56 msgid "Demigender Pride Colors" msgstr "Barvy demigenderovĂ© hrdosti" #: src/bz-preferences-dialog.c:57 msgid "Biromantic Pride Colors" msgstr "Barvy biromantickĂ© hrdosti" #: src/bz-preferences-dialog.c:58 msgid "Disability Pride Colors" msgstr "Barvy hrdosti invalidĹŻ" #: src/bz-preferences-dialog.c:59 msgid "Femboy Pride Colors" msgstr "Barvy hrdosti femboyĹŻ" #: src/bz-preferences-dialog.c:60 msgid "Neutrois Pride Colors" msgstr "Barvy neutrois hrdosti" #: src/bz-preferences-dialog.c:280 msgid "Bazaar needs to run in the background to check for app updates" msgstr "Bazaar musĂ­ běžet na pozadĂ­, aby mohl kontrolovat aktualizace aplikacĂ­" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Historie verzĂ­" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "Historie _verzĂ­" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "dnes" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "vÄŤera" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "pĹ™ed %d dnem" msgstr[1] "pĹ™ed %d dny" msgstr[2] "pĹ™ed %d dny" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "pĹ™ed %d tĂ˝dnem" msgstr[1] "pĹ™ed %d tĂ˝dny" msgstr[2] "pĹ™ed %d tĂ˝dny" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "pĹ™ed %d mÄ›sĂ­cem" msgstr[1] "pĹ™ed %d mÄ›sĂ­ci" msgstr[2] "pĹ™ed %d mÄ›sĂ­ci" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "pĹ™ed %d rokem" msgstr[1] "pĹ™ed %d roky" msgstr[2] "pĹ™ed %d lety" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e. %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Verze %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "ŽádnĂ© informace o tĂ©to verzi" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "ZĂ­skat vĂ­ce informacĂ­" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Odinstalovat" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "ZĂ­skat" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Libovolná oprávnÄ›nĂ­" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Tato aplikace má oprávnÄ›nĂ­, kterĂ© jĂ­ nepřímo umoĹľĹuje udÄ›lit si <b>jakĂ©koli " "jinĂ© oprávnÄ›nĂ­, kterĂ© chce</b>, a obejĂ­t tak izolovanĂ© prostĹ™edĂ­ Flatpaku.\n" "\n" "MĹŻĹľe tedy dÄ›lat cokoli, co normálnĂ­ aplikace bez izolovanĂ©ho prostĹ™edĂ­, " "například pĹ™istupovat ke všem vašim souborĹŻm a pĹ™ipojenĂ­m k internetu.\n" "\n" "ZobrazenĂ­ dalších oprávnÄ›nĂ­ vám mĹŻĹľe stále poskytnout lepší pĹ™edstavu o tom, " "co aplikace pravdÄ›podobnÄ› udÄ›lá." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Zobrazit další oprávnÄ›nĂ­" #. TRANSLATORS: short app safety rating label #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:402 msgid "Safe" msgstr "BezpeÄŤnĂ©" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "ID aplikace" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Tato aplikace používá zastaralou verzi softwarovĂ© platformy (SDK) a mĹŻĹľe " "obsahovat chyby nebo slabá mĂ­sta zabezpeÄŤenĂ­, která nebudou opravena." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "BezpeÄŤnost" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "Aplikace %s je bezpeÄŤná" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "Aplikace %s nemá žádná nebezpeÄŤná oprávnÄ›nĂ­" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "Aplikace %s je pravdÄ›podobnÄ› bezpeÄŤná" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "Aplikace %s pravdÄ›podobnÄ› nenĂ­ bezpeÄŤná" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "Aplikace %s nenĂ­ bezpeÄŤná" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "ZpÄ›t" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "PĹ™edchozĂ­ snĂ­mek obrazovky" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "NásledujĂ­cĂ­ snĂ­mek obrazovky" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "KopĂ­rovat obrázek" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "PĹŻvodnĂ­" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Oddálit" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "PĹ™iblĂ­Ĺľit" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "ProhlĂ­ĹľeÄŤ snĂ­mkĹŻ obrazovky" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "ŽádnĂ© snĂ­mky obrazovky" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Otevřít prohlĂ­ĹľeÄŤ snĂ­mkĹŻ obrazovky" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "SnĂ­mek %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "SnĂ­mek %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "Vymazat hledánĂ­" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "Filtry" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "O_věřenĂ©" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_SvobodnĂ©/otevĹ™enĂ©" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "N_ezastaralĂ©" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Filtrovat zastaralĂ© aplikace" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_MobilnĂ­ aplikace" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Kategorie" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "hledat aplikace, hry, software" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Filtry vyhledávánĂ­" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "Procházet kategorie" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "Kategorie nejsou k dispozici" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Vyhledejte aplikace pomocĂ­ vyhledávacĂ­ho panelu výše." #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Nenalezeny žádnĂ© aplikace" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "ŽádnĂ© vĂ˝sledky pro „%s“ v Flathubu" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "ProhlĂ­ĹľeÄŤ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Video" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Kancelář" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Kalendář" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "ZasĂ­lánĂ­ zpráv" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "MalovánĂ­" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulátor" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Stránka na Flathubu" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Stránky projektu" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "SledovánĂ­ problĂ©mĹŻ" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "ÄŚastĂ© otázky" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "NápovÄ›da" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "VÄ›novat dar" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "PĹ™eklad" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Kontakt" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "ZdrojovĂ˝ kĂłd" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "PĹ™ispÄ›t" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifest" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "KopĂ­rovat odkaz" #. TRANSLATORS: page in the statistics dialog #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "ÄŚasová osa" #. TRANSLATORS: label prefix shown in graph tooltips, for example: "Installs: 42" #: src/bz-stats-dialog.blp:48 msgid "Installs:" msgstr "PoÄŤet instalacĂ­:" #. TRANSLATORS: page in the statistics dialog #: src/bz-stats-dialog.blp:58 msgid "World" msgstr "SvÄ›t" #: src/bz-stats-dialog.blp:72 msgid "Since 4/15/2024" msgstr "Od 15. 4. 2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2f mil. celkovĂ˝ch instalacĂ­" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2f tis. celkovĂ˝ch instalacĂ­" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d celkovĂ˝ch instalacĂ­" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Nenalezeny žádnĂ© vĂ˝sledky" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "HledánĂ­ se nezdaĹ™ilo" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Ponechat uĹľivatelská data" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Povolit obnovenĂ­ uĹľivatelskĂ˝ch nastavenĂ­ a obsahu" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Odstranit všechna data" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Trvale odstranit uĹľivatelská data, aby se ušetĹ™ilo mĂ­sto" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Nainstalovat %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Vyberte verzi, kterou chcete nainstalovat. MĹŻĹľe dojĂ­t k instalaci dalších " "sdĂ­lenĂ˝ch komponent" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "MĹŻĹľe nainstalovat dodateÄŤnĂ© sdĂ­lenĂ© komponenty" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Zrušit" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Instalovat" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Odebrat %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Vyberte, kterou verzi chcete odebrat." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Po odinstalovánĂ­ nebude moĹľnĂ© aplikaci %s používat." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "Aplikace „%s“ je vysoce riziková" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Tato aplikace má plnĂ˝ přístup k vašemu systĂ©mu, vÄŤetnÄ› všech <b>vašich " "souborĹŻ, historie prohlĂ­ĹľenĂ­, uloĹľenĂ˝ch hesel</b> a dalších ĂşdajĹŻ. Má takĂ© " "přístup k internetu, coĹľ znamená, Ĺľe mĹŻĹľe odesĂ­lat vaše data externĂ­m " "stranám.\n" "\n" "ProtoĹľe je aplikace uzavĹ™enĂ˝ software, nelze auditovat, co s tÄ›mito " "oprávnÄ›nĂ­mi dÄ›lá." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Tato aplikace používá starší okennĂ­ systĂ©m X11, kterĂ˝ jĂ­ umoĹľĹuje " "<b>zaznamenávat všechny stisky kláves, poĹ™izovat snĂ­mky obrazovky a " "monitorovat další aplikace</b>. Má takĂ© přístup k internetu, coĹľ znamená, Ĺľe " "mĹŻĹľe odesĂ­lat vaše data externĂ­m stranám.\n" "\n" "ProtoĹľe je aplikace uzavĹ™enĂ˝ software, nelze auditovat, co s tÄ›mito " "oprávnÄ›nĂ­mi dÄ›lá." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "PĹ™esto na_instalovat" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "NezdaĹ™ilo se naÄŤĂ­st dialogovĂ© okno transakce" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Všechny aplikace jsou jiĹľ nainstalovány" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_BudiĹľ" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Nainstalovat %u aplikaci?" msgstr[1] "Nainstalovat %u aplikace?" msgstr[2] "Nainstalovat %u aplikacĂ­?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "NásledujĂ­cĂ­ aplikace budou nainstalovány. Mohou bĂ˝t takĂ© nainstalovány další " "sdĂ­lenĂ© komponenty" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Bude nainstalováno %d doplĹkĹŻ." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "KromÄ› toho budou nainstalovány doplĹky." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Instalovat vše" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "DokonÄŤeno v %.02f sekundách" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "DoplnÄ›k aplikace" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "ProstĹ™edĂ­" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Ve frontÄ›" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Hotovo" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Zrušeno" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Chyba" #: src/bz-transaction-tile.blp:313 msgid "Cancel Transaction" msgstr "Zrušit transakci" #: src/bz-transaction-tile.blp:323 msgid "Show Details" msgstr "Zobrazit podrobnosti" #: src/bz-transaction-tile.blp:438 msgid "Show Error Info" msgstr "Zobrazit informace o chybÄ›" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s uvolnÄ›no" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Chyba transakce" #: src/bz-transaction.c:344 msgid "Pending" msgstr "ÄŚeká" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "Akt_ualizovat vše" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u aktualizace prostĹ™edĂ­" msgstr[1] "%u aktualizace prostĹ™edĂ­" msgstr[2] "%u aktualizacĂ­ prostĹ™edĂ­" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Správa zbylĂ˝ch uĹľivatelskĂ˝ch dat" #: src/bz-user-data-page.blp:32 msgid "No Leftover User Data Found" msgstr "Nenalezena žádná zbylá uĹľivatelská data" #: src/bz-user-data-page.blp:33 msgid "Personal data left behind by apps that were removed will show up here" msgstr "Zde se zobrazĂ­ vlastnĂ­ data, která zanechaly odstranÄ›nĂ© aplikace" #: src/bz-user-data-page.c:229 #, c-format msgid "Trashed User Data for %u App" msgid_plural "Trashed User Data for %u Apps" msgstr[0] "UĹľivatelská data %u aplikace byla vymazána" msgstr[1] "UĹľivatelská data %u aplikacĂ­ byla vymazána" msgstr[2] "UĹľivatelská data %u aplikacĂ­ byla vymazána" #: src/bz-user-data-page.c:233 #, c-format msgid "Trashed User Data for %s" msgstr "UĹľivatelská data aplikace %s byla vymazána" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "Otevřít sloĹľku uĹľivatelskĂ˝ch dat" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "Vymazat uĹľivatelská data" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Obnovuje se" #: src/bz-window.blp:90 msgid "Curated" msgstr "VybranĂ©" #: src/bz-window.blp:102 msgid "Explore" msgstr "Procházet" #. Translators: . #: src/bz-window.blp:114 msgid "Library" msgstr "Knihovna" #: src/bz-window.blp:129 msgid "Search" msgstr "VyhledávánĂ­" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "HlavnĂ­ nabĂ­dka" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Používáte novou verzi Bazaaru!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "PodĂ­vejte se, co je novĂ©ho" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Máte pĹ™ipojenĂ­ k sĂ­ti, ale prohlížíte si verzi Flathubu uloĹľenou v mezipamÄ›ti" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "PĹ™ipojenĂ­ k sĂ­ti je měřenĂ© – automatická obnovenĂ­ jsou zakázána" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "Po_dpoĹ™it Bazaar" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Obnovit" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "PĹ™ih_lásit se pomocĂ­ Flathubu" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "Sp_ravovat zbylá uĹľivatelská data" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_PĹ™edvolby" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_KlávesovĂ© zkratky" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "O _aplikaci Bazaar" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_UkonÄŤit Bazaar" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Odhlásit se" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar – %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Aplikaci se nezdaĹ™ilo spustit" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Bazaar nelze odstranit z Bazaaru!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "Toto teÄŹ nelze provĂ©st!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "instalace" msgstr[1] "instalace" msgstr[2] "instalacĂ­" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f mil." #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f tis." #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d staĹľenĂ­ za poslednĂ­ mÄ›sĂ­c" #. TRANSLATORS: %s is a formatted file size, for example: "128 MB" #: src/context-tile-callbacks.c:133 #, c-format msgid "+%s Runtime" msgstr "+ prostĹ™edĂ­ %s" #: src/context-tile-callbacks.c:136 msgid "Download" msgstr "Stáhnout" #: src/context-tile-callbacks.c:156 msgid "Size information unavailable" msgstr "Informace o velikosti nejsou k dispozici" #: src/context-tile-callbacks.c:159 #, c-format msgid "Download size of %s" msgstr "Stahovaná velikost %s" #: src/context-tile-callbacks.c:192 msgid "All Ages" msgstr "LibovolnĂ˝ vÄ›k" #: src/context-tile-callbacks.c:204 msgid "Age rating information unavailable" msgstr "HodnocenĂ­ vÄ›ku nenĂ­ k dispozici" #: src/context-tile-callbacks.c:209 msgid "Suitable for all ages" msgstr "VhodnĂ© pro všechny vÄ›kovĂ© skupiny" #: src/context-tile-callbacks.c:211 #, c-format msgid "Suitable for ages %d and up" msgstr "VhodnĂ© pro vÄ›k %d a vĂ­ce" #: src/context-tile-callbacks.c:244 src/context-tile-callbacks.c:249 #: src/context-tile-callbacks.c:277 src/context-tile-callbacks.c:286 msgid "Unknown" msgstr "NeznámĂ©" #: src/context-tile-callbacks.c:254 #, c-format msgid "Free software licensed under %s" msgstr "SvobodnĂ˝ software licencovanĂ˝ pod %s" #: src/context-tile-callbacks.c:259 msgid "Free software" msgstr "SvobodnĂ˝ software" #: src/context-tile-callbacks.c:262 msgid "Proprietary Software" msgstr "UzavĹ™enĂ˝ software" #: src/context-tile-callbacks.c:265 #, c-format msgid "Special License: %s" msgstr "ZvláštnĂ­ licence: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:283 msgid "Free Software" msgstr "SvobodnĂ©" #: src/context-tile-callbacks.c:311 msgid "Adaptive" msgstr "AdaptivnĂ­" #: src/context-tile-callbacks.c:311 msgid "Desktop Only" msgstr "Pouze pro PC" #: src/context-tile-callbacks.c:317 msgid "Works on desktop, tablets, and phones" msgstr "Funguje na PC, tabletech a telefonech" #: src/context-tile-callbacks.c:318 msgid "May not work on mobile devices" msgstr "MoĹľná nefunguje na mobilnĂ­ch zařízenĂ­ch" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:405 src/context-tile-callbacks.c:408 msgid "Low Risk" msgstr "NĂ­zkĂ© riziko" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:411 msgid "Medium Risk" msgstr "StĹ™ednĂ­ riziko" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:414 msgid "High Risk" msgstr "VysokĂ© riziko" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Neznámá oprávnÄ›nĂ­" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Pro tuto aplikaci chybĂ­ oprávnÄ›nĂ­." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Žádná oprávnÄ›nĂ­" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikace je v plnÄ› izolovanĂ©m prostĹ™edĂ­" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Přístup k sĂ­ti" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "MĹŻĹľe pĹ™istupovat k internetu" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "ŽádnĂ˝ přístup k sĂ­ti" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "NemĹŻĹľe pĹ™istupovat k internetu" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Přístup k uĹľivatelskĂ˝m zařízenĂ­m" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "MĹŻĹľe pĹ™istupovat k zařízenĂ­m jako jsou webkamery nebo hernĂ­ ovladaÄŤe" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "ŽádnĂ˝ přístup k uĹľivatelskĂ˝m zařízenĂ­m" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "NemĹŻĹľe pĹ™istupovat k zařízenĂ­m jako jsou webkamery nebo hernĂ­ ovladaÄŤe" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Přístup ke vstupnĂ­m zařízenĂ­m" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "MĹŻĹľe pĹ™istupovat ke vstupnĂ­m zařízenĂ­m" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Přístup k mikrofonu a pĹ™ehrávánĂ­ zvuku" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "MĹŻĹľe poslouchat pomocĂ­ mikrofonĹŻ a pĹ™ehrávat zvuk bez žádosti o povolenĂ­" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Přístup k systĂ©movĂ˝m zařízenĂ­m" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "MĹŻĹľe pĹ™istupovat k systĂ©movĂ˝m zařízenĂ­m, která vyĹľadujĂ­ zvýšená oprávnÄ›nĂ­" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Přístup k obsahu obrazovky" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "MĹŻĹľe pĹ™istupovat k obsahu obrazovky nebo jinĂ˝ch oken" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "ZastaralĂ˝ zobrazovacĂ­ systĂ©m" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "VĹľdy používá starĂ˝ zobrazovacĂ­ systĂ©m (X11)" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "MĹŻĹľe zĂ­skat libovolná oprávnÄ›nĂ­" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "NastavenĂ­ uĹľivatele" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "MĹŻĹľe zobrazovat a mÄ›nit uĹľivatelská nastavenĂ­" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "PlnĂ˝ přístup k souborovĂ©mu systĂ©mu pro ÄŤtenĂ­/zápis" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "MĹŻĹľe ÄŤĂ­st a zapisovat všechna data v souborovĂ©m systĂ©mu" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Přístup k domovskĂ© sloĹľce pro ÄŤtenĂ­/zápis" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "MĹŻĹľe ÄŤĂ­st a zapisovat všechna data ve vaší domovskĂ© sloĹľce" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "PlnĂ˝ přístup k souborovĂ©mu systĂ©mu pro ÄŤtenĂ­" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "MĹŻĹľe ÄŤĂ­st všechna data v souborovĂ©m systĂ©mu" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Přístup k domovskĂ© sloĹľce pro ÄŤtenĂ­" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "MĹŻĹľe ÄŤĂ­st všechna data ve vaší domovskĂ© sloĹľce" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Přístup ke sloĹľce se staĹľenĂ˝mi soubory pro ÄŤtenĂ­/zápis" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "MĹŻĹľe ÄŤĂ­st a zapisovat všechna data ve vaší sloĹľce se staĹľenĂ˝mi soubory" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Přístup ke sloĹľce se staĹľenĂ˝mi soubory pro ÄŤtenĂ­" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "MĹŻĹľe ÄŤĂ­st všechna data ve vaší sloĹľce se staĹľenĂ˝mi soubory" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "MĹŻĹľe ÄŤĂ­st a zapisovat všechna data ve sloĹľce" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "MĹŻĹľe ÄŤĂ­st všechna data ve sloĹľce" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "ŽádnĂ˝ přístup k souborovĂ©mu systĂ©mu" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "VĹŻbec nemĹŻĹľe pĹ™istupovat k souborovĂ©mu systĂ©mu" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Využívá sluĹľby systĂ©mu" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "MĹŻĹľe si vyžádat data ze sluĹľeb systĂ©mu mimo portál" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Využívá sluĹľby sezenĂ­" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "MĹŻĹľe si vyžádat data ze sluĹľeb sezenĂ­ mimo portál" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "ŽádnĂ˝ přístup ke sluĹľbám" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "NemĹŻĹľe pĹ™istupovat ke sluĹľbám sezenĂ­ nebo systĂ©mu mimo portál" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "OvěřenĂ˝ vĂ˝vojář aplikace" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "VĂ˝vojář tĂ©to aplikace byl ověřen jako ten, za koho se vydává" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "UzavĹ™enĂ˝ kĂłd" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "ZdrojovĂ˝ kĂłd nenĂ­ veĹ™ejnĂ˝, takĹľe jej nelze nezávisle zkontrolovat a nemusĂ­ " "bĂ˝t bezpeÄŤnĂ˝" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "OtevĹ™enĂ˝ kĂłd" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "ZdrojovĂ˝ kĂłd je veĹ™ejnĂ˝ a mĹŻĹľe bĂ˝t nezávisle kontrolován, coĹľ zvyšuje " "pravdÄ›podobnost, Ĺľe je aplikace bezpeÄŤná" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Použít sluĹľbu systĂ©mu %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Použít sluĹľbu sezenĂ­ %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Použít sluĹľbu %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "MĹŻĹľe vidÄ›t sluĹľbu mimo portál" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "MĹŻĹľe komunikovat se sluĹľbou mimo portál" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "MĹŻĹľe vlastnit sluĹľbu mimo portál" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integrace globálnĂ­ nabĂ­dky" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "MĹŻĹľe zobrazit svĂ© nabĂ­dky v globálnĂ­m panelu nabĂ­dek" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integrace nastavenĂ­ KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "MĹŻĹľe detekovat zmÄ›nu nastavenĂ­ plochy KDE" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "GlobálnĂ­ nastavenĂ­ KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "MĹŻĹľe ÄŤĂ­st nastavenĂ­ plochy KDE, jako jsou pĂ­sma a barvy" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "ĂšloĹľištÄ› sluĹľby utajenĂ­" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "MĹŻĹľe ukládat a naÄŤĂ­tat vlastnĂ­ hesla pomocĂ­ systĂ©movĂ© klĂ­ÄŤenky" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "SluĹľba upozornÄ›nĂ­ plochy" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "MĹŻĹľe zasĂ­lat upozornÄ›nĂ­ plochy" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integrace do oznamovacĂ­ oblasti systĂ©mu" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "MĹŻĹľe zobrazit ikonu v systĂ©movĂ© oznamovacĂ­ oblasti" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integrace KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "MĹŻĹľe komunikovat se zařízenĂ­mi spárovanĂ˝mi pĹ™es KDE Connect" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navigace" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Otevřít stránku procházenĂ­" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Otevřít stránku knihovny" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Otevřít stránku vyhledávánĂ­" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Repozitáře" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Synchronizovat repozitáře" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "ObecnĂ©" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Otevřít pĹ™edvolby" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Zobrazit zkratky" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Zavřít okno" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "UkonÄŤit Bazaar" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "Byla aktualizována %u aplikace" msgstr[1] "Byly aktualizovány %u aplikace" msgstr[2] "Bylo aktualizováno %u aplikacĂ­" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "Aplikace %s byla aktualizována." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "Aplikace %s a %s byly aktualizovány." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "VÄŤetnÄ› %s, %s a %s." �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/de.po������������������������������������������������������������������0000664�0000000�0000000�00000274075�15234476640�0016653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # # SPDX-FileCopyrightText: 2025, 2026 renner <renner0@posteo.de> # renner <renner0@posteo.de>, 2025. # # SPDX-FileCopyrightText: 2026 min7-i <min7@noreply.codeberg.org> msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-06-11 17:58+0200\n" "PO-Revision-Date: 2026-06-20 14:43+0200\n" "Last-Translator: min7-i <min7@noreply.codeberg.org>\n" "Language-Team: German <>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 26.04.2\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:46 #: src/bz-window.blp:202 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "HinzufĂĽgen, Entfernen oder Aktualisieren von Apps auf diesem Computer" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;Paketverwaltung;Discover;Flatpak;Software;Store;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Neues Fenster" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and manage applications" msgstr "Apps entdecken und verwalten" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and addons, particularly from Flathub." msgstr "" "Ein schneller und moderner App-Store fĂĽr Linux mit Schwerpunkt auf dem " "Entdecken und der Installation von Flatpak-Apps und -Erweiterungen, " "insbesondere von Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "" "Melden Sie sich bei Flathub an, um Ihre Favoriten zu sehen und zu verwalten" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:784 msgid "The Bazaar Contributors" msgstr "Die Bazaar Mitwirkenden" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Die Startseite mit den Flathub-Apps" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Bibliotheksseite" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Suchseite" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Kategorienseite" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:141 msgid "Stopped Receiving Updates" msgstr "Erhält keine Aktualisierungen mehr" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Deinstallieren" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:145 #: src/bz-bundle-install-dialog.blp:159 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Installieren" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:92 msgid "Manage Add-Ons" msgstr "Erweiterungen verwalten" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Keine Erweiterungen sichtbar" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Ihre aktuellen Filtereinstellungen blenden alle bekannten Erweiterungen aus. " "Versuche Sie, sie anzupassen." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Erweiterungsseite" #: src/bz-addons-dialog.blp:202 src/bz-full-view.blp:410 msgid "Downloads/Month" msgstr "Downloads/Monat" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:446 msgid "Stopped Receiving Core Updates" msgstr "" #: src/bz-addons-dialog.blp:243 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Diese Erweiterung verwendet eine Laufzeitumgebung, die keine Updates oder " "Sicherheitsaktualisierungen mehr erhält. Die Nutzung könnte unsicher werden." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "Erweiterung fĂĽr %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "Weniger anzeigen" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show More" msgstr "Mehr anzeigen" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "Downloadstatistiken" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Alterseinstufung" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Cartoon-Gewalt" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Keine Informationen ĂĽber Cartoon-Gewalt" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Fantasie-Gewalt" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Keine Informationen ĂĽber Fantasie-Gewalt" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Realistische Gewalt" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Keine Informationen ĂĽber realistische Gewaltdarstellung" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Darstellung von BlutvergieĂźen" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Keine Informationen ĂĽber BlutvergieĂźen" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Sexuelle Gewalt" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Keine Informationen ĂĽber Sexuelle Gewalt" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alkohol" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Keine Informationen ĂĽber Alkohol" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Betäubungsmittel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Keine Informationen ĂĽber unerlaubten Drogen/Medikamente" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Keine Informationen ĂĽber Tabakprodukte" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nacktheit" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Keine Informationen ĂĽber Nacktszenen irgendeiner Form" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Sexuelle Themen" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Keine Informationen ĂĽber Anspielungen oder Darstellungen sexueller Natur" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Obszönität" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Keine Informationen ĂĽber Obszönität irgendeiner Art" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Unangemessener Humor" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Keine Informationen ĂĽber unangemessenen Humor" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Diskriminierung" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Keine Informationen ĂĽber diskriminierender Sprache irgendeiner Art" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Werbung" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Keine Informationen ĂĽber Werbung irgendeiner Art" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "GlĂĽcksspiel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Keine Informationen ĂĽber GlĂĽcksspiel irgendeiner Art" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Einkauf" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Keine Informationen ĂĽber die Möglichkeit, reales Geld auszugeben" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Mit anderen Nutzern chatten" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "" "Keine Informationen ĂĽber die Möglichkeit, mit anderen Nutzern zu chatten." #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Audio-Chat zwischen Nutzern" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "" "Keine Informationen ĂĽber die Möglichkeit, mit anderen Nutzern zu sprechen" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Kontaktdetails" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Keine Informationen ĂĽber das Teilen von Benutzernamen und E-Mail-Adressen " "ĂĽber soziale Netzwerke" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Identifizierende Informationen" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Keine Informationen ĂĽber das Teilen von Benutzerinformationen mit Dritten" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Standortfreigabe" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Keine Informationen ĂĽber das Teilen des physischen Aufenthaltsortes mit " "anderen Nutzern" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostitution" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Keine Informationen ĂĽber die Erwähnung von Prostitution" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Ehebruch" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Keine Informationen ĂĽber die Erwähnung von Ehebruch" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Sexualisierten Figuren" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Keine Informationen ĂĽber sexualisierte Figuren" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Schändung" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Keine Informationen ĂĽber Erwähnungen von Schändung" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Menschliche Ăśberreste" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Keine Informationen ĂĽber sichtbare menschliche Ăśberreste" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Sklaverei" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Keine Informationen ĂĽber die Erwähnung von Sklaverei" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Enthält keine Erwähnungen von Drogen" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "" "Enthält keine Schimpfwörter, Obszönitäten und andere Arten von vulgärer " "Sprache" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Enthält keine Werbung oder Geldtransaktionen" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Enthält keine sexuellen Inhalte oder Nacktheit" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Enthält keine unkontrollierte Chat-Funktion" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Enthält keine Gewalt" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogen" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "KraftausdrĂĽcke" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Geld" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Soziales" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Gewalt" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Alle" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s hat ein unbekannte Alterseinstufung" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s ist fĂĽr alle geeignet" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s ist fĂĽr junge Kinder geeignet" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s ist fĂĽr Kinder geeignet" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s ist fĂĽr Jugendliche geeignet" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s ist fĂĽr Erwachsene geeignet" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s is geeignet fĂĽr %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Systemordner %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Desktop-Unterordner %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Desktopordner" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Dokumentenordner" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Musik-Unterordner %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Musikordner" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Bilderordner" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Ă–ffentlicher Ordner" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Video-Unterordner %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Videoordner" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Vorlagenordner" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Downloadgröße" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Installierte Größe" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Ihre Benutzerdaten" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Cache" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "Cache leeren" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Installierte Größe der Laufzeitumgebung" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Downloadgröße der Laufzeitumgebung" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:392 #: src/context-tile-callbacks.c:409 msgid "N/A" msgstr "N/V" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "App-Größe" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:105 src/bz-rich-app-tile.c:429 msgid "Verified" msgstr "Verifiziert" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Installiert" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:787 msgid "translator-credits" msgstr "" "renner\n" "Mandarinoo\n" "min7-i" #: src/bz-application.c:797 msgid "Special Thanks" msgstr "Besonderer Dank" #: src/bz-application.c:855 msgid "Logged Out Successfully!" msgstr "Erfolgreich abgemeldet!" #: src/bz-application.c:993 msgid "Performing setup…" msgstr "Einrichtung wird durchgefĂĽhrt…" #: src/bz-application.c:1085 msgid "Set Up System Flathub?" msgstr "" #: src/bz-application.c:1088 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" #: src/bz-application.c:1095 msgid "Set Up Flathub?" msgstr "Flathub einrichten?" #: src/bz-application.c:1098 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" #: src/bz-application.c:1104 msgid "Later" msgstr "Später" #: src/bz-application.c:1105 msgid "Set Up Flathub" msgstr "Flathub einrichten" #: src/bz-application.c:1623 msgid "A backend error occurred" msgstr "Ein Backend-Fehler ist aufgetreten" #: src/bz-application.c:1823 src/bz-application.c:4003 msgid "Refreshing…" msgstr "Wird aktualisiert..." #: src/bz-application.c:1987 src/bz-application.c:4001 #, c-format msgid "Loading %d apps…" msgstr "%d Apps werden geladen..." #: src/bz-application.c:2040 msgid "Failed to open file" msgstr "" #: src/bz-application.c:2138 msgid "An initialization error occurred" msgstr "Ein Intitialisierungsfehler ist aufgetreten" #: src/bz-application.c:2532 msgid "Checking for updates…" msgstr "Wird auf Aktualisierungen geprĂĽft…" #: src/bz-application.c:2588 msgid "Failed to check for updates" msgstr "PrĂĽfung auf Aktualisierungen ist fehlgeschlagen" #: src/bz-application.c:3714 msgid "Malformed Link" msgstr "" #: src/bz-application.c:3715 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" #: src/bz-application.c:3723 msgid "Could not find app" msgstr "App konnte nicht gefunden werden" #: src/bz-application.c:3754 msgid "Failed to load metainfo" msgstr "" #: src/bz-application.c:4005 msgid "Writing to cache…" msgstr "" #: src/bz-apps-page.blp:99 msgid "Show All" msgstr "Alle anzeigen" #: src/bz-apps-page.c:237 #, c-format msgid "All \"%s\"" msgstr "Alle \"%s\"" #: src/bz-apps-page.c:487 #, c-format msgid "%d Applications" msgstr "%d Apps" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Bundle-Installation" #: src/bz-bundle-install-dialog.blp:195 msgid "Additional dependencies may take extra space" msgstr "" #: src/bz-bundle-install-dialog.blp:229 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" #: src/bz-bundle-install-dialog.blp:406 msgid "Successfully Installed!" msgstr "Erfolgreich installiert!" #: src/bz-bundle-install-dialog.blp:430 src/bz-bundle-install-dialog.blp:513 #: src/bz-rich-app-tile.blp:198 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Ă–ffnen" #: src/bz-bundle-install-dialog.blp:440 src/bz-bundle-install-dialog.blp:523 msgid "Show App Details" msgstr "App-Details anzeigen" #: src/bz-bundle-install-dialog.blp:490 msgid "Already Installed" msgstr "Bereits installiert" #: src/bz-bundle-install-dialog.blp:535 msgid "Installation Failed" msgstr "Installation fehlgeschlagen" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Unbekannte Installationsgöße" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Keine Spezialberechtigungen" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d Downloads im letzten Monat" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s Laufzeitumgebung" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Download" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Information ĂĽber Größe nicht verfĂĽgbar" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Downloadgröße von %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Alle Altersgruppen" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Geeignet fĂĽr alle Altersgruppen" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:284 msgid "Unknown" msgstr "Unbekannt" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Freie Software lizenziert unter %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Freie Software" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Proprietäre Software" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Besondere Lizenz: %s" #: src/context-tile-callbacks.c:281 msgid "Free" msgstr "Frei" #: src/context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Proprietär" #: src/context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Besondere Lizenz" #: src/context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Adaptiv" #: src/context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Nur Desktop" #: src/context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Funktioniert auf Desktops, Tablets und Smartphones" #: src/context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "" #: src/context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Sicher" #: src/context-tile-callbacks.c:401 src/context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Geringes Risiko" #: src/context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Mittleres Risiko" #: src/context-tile-callbacks.c:407 msgid "High Risk" msgstr "Hohes Risiko" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Leer" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Keine vorgestellten Apps" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Flathub durchsuchen" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 msgid "Offline" msgstr "Offline" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Browser" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Nicht verifiziert" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "" #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "" #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "" #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "An Bazaar spenden" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Was ist neu in %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Veröffentlicht %B %-e, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Installationsart auswählen" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Sie haben mehrere Versionen dieser App installiert. Mit welcher möchten Sie " "fortfahren?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:232 msgid "Cancel" msgstr "Abbrechen" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Nur fĂĽr diesen Benutzer" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "dieser Benutzer" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "alle Benutzer" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:46 msgid "Details" msgstr "Details" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Kopieren" #: src/bz-error-dialog.c:56 src/bz-share-list.c:364 msgid "Copied!" msgstr "Kopiert." #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Mit Flathub anmelden, um Favoriten zu verwalten" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Anmelden" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:335 msgid "Favorites" msgstr "Favoriten" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Alle installieren" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Wird geladen" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Keine Favoriten" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Diese App unterstĂĽtzen" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Aus Favoriten entfernen" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "ZurĂĽck" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "Weiter" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "" #: src/bz-flathub-category.c:95 msgid "Mixer" msgstr "" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Musik" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "Emulation" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "Action" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "Adventure" #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "Arcade" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "Logik" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "Shooter" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "Simulation" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "Sport" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "Strategie" #: src/bz-flathub-category.c:124 msgid "Browsers" msgstr "Browser" #: src/bz-flathub-category.c:125 msgid "Chat" msgstr "Chat" #: src/bz-flathub-category.c:126 msgid "Mail" msgstr "E-Mail" #: src/bz-flathub-category.c:127 msgid "File Sharing" msgstr "Dateifreigabe" #: src/bz-flathub-category.c:132 msgid "Audio & Video" msgstr "Audio & Video" #: src/bz-flathub-category.c:132 msgid "Media" msgstr "Media" #: src/bz-flathub-category.c:132 msgid "More Audio & Video" msgstr "Mehr Audio & Video" #: src/bz-flathub-category.c:133 msgid "Developer Tools" msgstr "Entwicklungswerkzeuge" #: src/bz-flathub-category.c:133 msgid "Develop" msgstr "Entwickeln" #: src/bz-flathub-category.c:133 msgid "More Developer Tools" msgstr "Mehr Entwicklerwerkzeuge" #: src/bz-flathub-category.c:134 msgid "Education" msgstr "Bildung" #: src/bz-flathub-category.c:134 msgid "Learn" msgstr "Lernen" #: src/bz-flathub-category.c:134 msgid "More Education" msgstr "Mehr Bildung" #: src/bz-flathub-category.c:135 msgid "Gaming" msgstr "Gaming" #: src/bz-flathub-category.c:135 msgid "Play" msgstr "Spielen" #: src/bz-flathub-category.c:135 msgid "More Gaming" msgstr "Mehr Gaming" #: src/bz-flathub-category.c:136 msgid "Graphics & Photography" msgstr "Grafik & Fotografie" #: src/bz-flathub-category.c:136 msgid "Create" msgstr "Erstellen" #: src/bz-flathub-category.c:136 msgid "More Graphics & Photography" msgstr "Mehr Grafik & Fotografie" #: src/bz-flathub-category.c:137 msgid "Networking" msgstr "Netzwerk" #: src/bz-flathub-category.c:137 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:137 msgid "More Networking" msgstr "Mehr Netzwerk" #: src/bz-flathub-category.c:138 msgid "Productivity" msgstr "Produktivität" #: src/bz-flathub-category.c:138 msgid "Work" msgstr "Arbeit" #: src/bz-flathub-category.c:138 msgid "More Productivity" msgstr "Mehr Produktivität" #: src/bz-flathub-category.c:139 msgid "Science" msgstr "Wissenschaft" #: src/bz-flathub-category.c:139 msgid "More Science" msgstr "Mehr Wissenschaft" #: src/bz-flathub-category.c:140 msgid "System" msgstr "System" #: src/bz-flathub-category.c:140 msgid "More System" msgstr "Mehr System" #: src/bz-flathub-category.c:141 msgid "Utilities" msgstr "Dienstprogramme" #: src/bz-flathub-category.c:141 msgid "Tools" msgstr "Werkzeuge" #: src/bz-flathub-category.c:141 msgid "More Utilities" msgstr "Mehr Dienstprogramme" #: src/bz-flathub-category.c:142 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Im Trend" #: src/bz-flathub-category.c:142 msgid "More Trending" msgstr "Mehr von „Im Trend“" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "Beliebt" #: src/bz-flathub-category.c:143 msgid "More Popular" msgstr "Mehr von „Beliebt“" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:161 msgid "Recently Added" msgstr "KĂĽrzlich hinzugefĂĽgt" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:121 msgid "New" msgstr "Neu" #: src/bz-flathub-category.c:144 msgid "More New" msgstr "Mehr Neues" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:151 msgid "Recently Updated" msgstr "KĂĽrzlich aktualisiert" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Aktualisiert" #: src/bz-flathub-category.c:145 msgid "More Updated" msgstr "Mehr von „Aktualisiert“" #: src/bz-flathub-category.c:146 msgid "Mobile" msgstr "Mobil" #: src/bz-flathub-category.c:146 msgid "More Mobile" msgstr "Mehr Mobil" #: src/bz-flathub-category.c:147 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:147 msgid "More Adwaita" msgstr "Mehr Adwaita" #: src/bz-flathub-category.c:148 msgid "KDE Apps" msgstr "KDE-Apps" #: src/bz-flathub-category.c:148 msgid "More KDE Apps" msgstr "Mehr KDE-Apps" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub wurde nicht hinzugefĂĽgt" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Flathub wurde auf keiner Ihrer Flatpak-Installationen gefunden." #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub nicht erreichbar" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Flathub nicht erreichbar" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for applications." msgstr "" #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Apps suchen" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "" #: src/bz-flathub-page.blp:198 msgid "App of the Day" msgstr "App des Tages" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "Unterwegs" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "" #: src/bz-flathub-page.blp:284 src/bz-flathub-page.blp:319 msgid "More Mobile Apps" msgstr "Mehr Mobile Apps" #: src/bz-flathub-page.blp:375 msgid "We​ ♥​ Games" msgstr "Wir ♥​ Spiele" #: src/bz-flathub-page.blp:388 msgid "Games and apps to run your favorite titles" msgstr "" #: src/bz-flathub-page.blp:422 msgid "More Games" msgstr "Mehr Spiele" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Keine Ergebnisse" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Versuchen Sie eine andere Suchanfrage" #: src/bz-full-view.blp:41 msgid "Content" msgstr "Inhalt" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Vorschau des Store-Erscheinungsbilds" #: src/bz-full-view.blp:235 msgid "_Support" msgstr "_UnterstĂĽtzen" #: src/bz-full-view.blp:460 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Diese App verwendet eine Laufzeitumgebung, die keine Updates und " "Sicherheitsaktualisierungen mehr enthält. Sie könnte unsicher zu verwenden " "werden." #: src/bz-full-view.blp:545 msgid "Trash Data" msgstr "" #: src/bz-full-view.blp:607 msgid "Add-ons" msgstr "Erweiterungen" #: src/bz-full-view.blp:642 msgid "More Add-Ons" msgstr "Mehr Erweiterungen" #: src/bz-full-view.blp:653 msgid "Links" msgstr "" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Keine URL" #: src/bz-full-view.c:199 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Diese App steht unter einer FLOSS-Lizenz, was bedeutet, dass der Quellcode " "auf Sicherheit geprĂĽft werden kann." #: src/bz-full-view.c:200 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Diese App hat eine proprietäre Lizenz, das bedeute, dass der Quellcode " "privat entwickelt wird und kann nicht von einer unabhängigen dritten Partei " "ĂĽberprĂĽft werden." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Mehr Apps" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Mehr Apps von %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Andere Apps von diesem Entwickler" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "Andere Apps von %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "Andere Apps" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d App" msgstr[1] "%d Apps" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "HardwareunterstĂĽtzung" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "TastaturunterstĂĽtzung" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Benötigt Tastatur" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Tastatur empfohlen" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "UnterstĂĽtzt Tastaturen" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "TastaturunterstĂĽtzung unbekannt" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "MausunterstĂĽtzung" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Benötigt Maus oder anderes Zeigegerät" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Maus oder anderes Zeigegerät empfohlen" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "UnterstĂĽtzt Mäuse und andere Zeigegeräte" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "MausunterstĂĽtzung unbekannt" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Touchscreen-UnterstĂĽtzung" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Benötigt einen Touchscreen" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Empfiehlt Touchscreen" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "UnterstĂĽtzt Touchscreens" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Touchscreen-UnterstĂĽtzung unbekannt" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "MobilgeräteunterstĂĽtzung" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Funktioniert auf Mobilgeräten" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Könnte auf Mobilgeräten nicht gut funktionieren" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Desktop-UnterstĂĽtzung" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Funktioniert gut auf groĂźen Bildschirmen" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s funktioniert auf den meisten Geräten" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Ă–ffnen" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "App deinstallieren" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Entfernen" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "Aktualisieren" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:105 msgid "Remove" msgstr "Entfernen" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Abbrechen" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Wird abgebrochen" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "Installierte Apps anzeigen" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Suche löschen" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Keine Apps gefunden" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "Bibliothek" #: src/bz-library-page.blp:128 msgid "Pending Updates" msgstr "Anstehende Aktualisierungen" #: src/bz-library-page.blp:155 msgid "Downloads" msgstr "Downloads" #: src/bz-library-page.blp:198 msgid "Recently Uninstalled" msgstr "KĂĽrzlich deinstalliert" #: src/bz-library-page.blp:249 msgid "Clear Finished Tasks" msgstr "Abgeschlossene Aufgaben löschen" #: src/bz-library-page.blp:334 msgid "Sort By" msgstr "Sortieren nach" #: src/bz-library-page.blp:348 msgid "Name" msgstr "Name" #: src/bz-library-page.blp:354 msgid "Size" msgstr "Größe" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "" #: src/bz-library-page.c:193 src/bz-updates-card.c:433 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u verfĂĽgbare Aktualisierung" msgstr[1] "%u verfĂĽgbare Aktualisierungen" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u installierte App" msgstr[1] "%u installierte Apps" #: src/bz-license-dialog.blp:94 msgid "Get Involved" msgstr "Machen Sie mit" #: src/bz-license-dialog.blp:111 msgid "Learn More" msgstr "Mehr erfahren" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Unbekannte Lizenz" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Entwickelt von der Gemeinschaft" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:49 msgid "License" msgstr "Lizenz" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Mit Flathub verbinden" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Leider ist ein Fehler aufgetreten" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Fertigstellen" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Hallo %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Bilddateien" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Vorschau" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Einstellungen" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:235 msgid "Refresh Manually" msgstr "Manuell aktualisieren" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Inhaltsfilter" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Nur freie Software" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "" "Proprietäre Apps beim Durchsuchen und in den Suchergebnissen ausblenden" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Nur Flathub Ergebnisse" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "" "Suchergebnisse und Inhalte auf nur in Flathub verfĂĽgbare Apps beschränken" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Nur verifizierte Ergebnisse" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Apps ausschlieĂźen, die nicht von Flathub verifiziert wurden" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Veraltete Apps ausblenden" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Apps ausschlieĂźen, die nicht mehr aktiv weiterentwickelt werden" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "Fortschrittsbalken-Design" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Akzentfarbe" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Pride-Farben" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Lesbian Pride-Farben" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Gay Pride-Farben" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Transgender Pride-Farben" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Nichtbinäre Pride-Farben" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Bisexuelle Pride-Farben" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Asexuelle Pride-Farben" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Pansexuelle Pride-Farben" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Aromantische Pride-Farben" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Genderfluide Pride-Farben" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Polysexuelle Pride-Farben" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Omnisexuelle Pride-Farben" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Aroace Pride-Farben" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Agender Pride-Farben" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Genderqueere Pride-Farben" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Intersexuelle Pride-Farben" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Demigender-Pride-Farben" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Bi-romantische Pride-Farben" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Pride-Farben der Behindertenbewegung" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Femboy-Pride-Farben" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Neutrois-Pride-Farben" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:155 msgid "Version History" msgstr "Versionsverlauf" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Versionsverlauf" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Heute" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Gestern" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Vor %d Tag" msgstr[1] "Vor %d Tagen" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Vor %d Woche" msgstr[1] "Vor %d Wochen" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "Vor %d Monat" msgstr[1] "Vor %d Monaten" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "Vor %d Jahr" msgstr[1] "Vor %d Jahren" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Version: %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Keine Details fĂĽr diese Veröffentlichung" #: src/bz-releases-list.c:263 msgid "Get More Information" msgstr "Weitere Informationen erhalten" #: src/bz-rich-app-tile.blp:217 msgid "Uninstall" msgstr "Deinstallieren" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:369 msgid "Get" msgstr "Installieren" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Unbekannte Berechtigungen" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "" #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Keine Berechtigungen" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "App ist vollständig isoliert" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Netzwerk-Zugriff" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Hat Zugriff auf das Internet" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Kein Netzwerk-Zugriff" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Hat keinen Zugriff auf das Internet" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "" #: src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "WillkĂĽrliche Berechtigungen" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Benutzereinstellungen" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Kein Dateisystemzugriff" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Verifizierter App-Entwickler" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Proprietärer Code" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Auditierbarer Code" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect-Integration" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "" #: src/bz-safety-dialog.blp:60 msgid "App ID" msgstr "App-ID" #: src/bz-safety-dialog.blp:70 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:101 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" #: src/bz-safety-dialog.c:167 msgid "Safety" msgstr "Sicherheit" #: src/bz-safety-dialog.c:226 #, c-format msgid "%s is Safe" msgstr "%s ist sicher" #: src/bz-safety-dialog.c:231 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s hat keine unsicheren Berechtigungen" #: src/bz-safety-dialog.c:236 #, c-format msgid "%s is Probably Safe" msgstr "" #: src/bz-safety-dialog.c:241 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s ist möglicherweise unsicher" #: src/bz-safety-dialog.c:246 #, c-format msgid "%s is Unsafe" msgstr "%s ist unsicher" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Bild kopieren" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Ansicht zurĂĽcksetzen" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Verkleinern" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "Vergrößern" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Filter" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Verifiziert" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Nicht-_EOL" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Kategorien" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "Nach Apps, Spielen und Software suchen" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Suchfilter" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Suche löschen" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Kategorien durchsuchen" #: src/bz-search-page.blp:242 msgid "Categories Unavailable" msgstr "Kategorien nicht verfĂĽgbar" #: src/bz-search-page.blp:243 msgid "Search for apps using the search bar above." msgstr "" #: src/bz-search-page.blp:362 msgid "No Applications Found" msgstr "Keine App gefunden" #: src/bz-search-page.c:247 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Video" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "BĂĽro" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Kalender" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulator" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub-Seite" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Projekt-Webseite" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Bugtracker" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Hilfe" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Spenden" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Ăśbersetzen" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Kontakt" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Quellcode" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Mitmachen" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Link kopieren" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Zeitleiste" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Installationen:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Welt" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Seit 15.4.2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM Installationen gesamt" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK Installationen gesamt" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d Installationen gesamt" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Benutzerdaten behalten" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Alle Daten löschen" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "%s installieren?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Wählen Sie die zu installierende Version. Es können zusätzliche gemeinsam genu" "tzte Komponenten installiert werden" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "" "Es könnten zusätzliche gemeinsam genutzte Komponenten installiert werden" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Abbrechen" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Installieren" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "%s entfernen?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Wählen Sie die Version, die entfernt werden soll." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "" "Es wird nicht mehr möglich sein, %s nach der Deinstallation auszufĂĽhren." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Trotzdem installieren" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Alle Apps sind bereits installiert" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_OK" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "%u App installieren?" msgstr[1] "%u Apps installieren?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d Erweiterungen werden installiert." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Zusätzlich werden Erweiterungen installiert." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Alle installieren" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "In %.02f Sekunden abgeschlossen" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "App-Erweiterung" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Laufzeitumgebung" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "In der Warteschlange" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Abgeschlossen" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Abgebrochen" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Fehler" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Vorgang abbrechen" #: src/bz-transaction-tile.blp:436 msgid "Show Error Info" msgstr "Fehlerinformationen anzeigen" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s Freigegeben" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Transaktionsfehler" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Ausstehend" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_ Alle aktualisieren" #: src/bz-updates-card.c:211 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "" msgstr[1] "" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Benutzerdaten bereinigen" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "Keine Benutzerdaten gefunden" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Benutzerdaten" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Benutzerdaten löschen" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "Wird aktualisiert" #: src/bz-window.blp:89 msgid "Curated" msgstr "Vorgestellt" #: src/bz-window.blp:101 msgid "Explore" msgstr "Erkunden" #: src/bz-window.blp:128 msgid "Search" msgstr "Suchen" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "HauptmenĂĽ" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "Sie verwenden eine neue Version von Bazaar!" #: src/bz-window.blp:227 msgid "See What's New" msgstr "Neuerungen ansehen" #: src/bz-window.blp:234 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" #: src/bz-window.blp:279 msgid "_Donate to Bazaar" msgstr "_An Bazaar spenden" #: src/bz-window.blp:285 msgid "_Refresh" msgstr "_Aktualisieren" #: src/bz-window.blp:289 msgid "_Login With Flathub" msgstr "_Mit Flathub anmelden" #: src/bz-window.blp:295 msgid "_Manage Leftover User Data" msgstr "_Benutzerdaten bereinigen" #: src/bz-window.blp:301 msgid "_Preferences" msgstr "_Einstellungen" #: src/bz-window.blp:306 msgid "_Keyboard Shortcuts" msgstr "_Tastaturkurzbefehle" #: src/bz-window.blp:311 msgid "_About Bazaar" msgstr "_Ăśber Bazaar" #: src/bz-window.blp:317 msgid "_Quit Bazaar" msgstr "_Bazaar beenden" #: src/bz-window.blp:342 msgid "Log Out" msgstr "Abmelden" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "Start der App fehlgeschlagen" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "" #: src/bz-window.c:1127 src/bz-window.c:1161 msgid "Can't do that right now!" msgstr "Das kann momentan nicht getan werden." #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Installation" msgstr[1] "Installationen" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navigation" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Erkunden-Seite öffnen" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Bibliothek-Seite öffnen" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Such-Seite öffnen" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Remotes synchronisieren" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Allgemein" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Einstellungen öffnen" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Kurzbefehle anzeigen" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Fenster schlieĂźen" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Bazaar beenden" #~ msgid "Retry Flathub Connection" #~ msgstr "Nur Flathub-Apps anzeigen" #~ msgid "Tags:" #~ msgstr "Stichwörter:" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "Verbinden Sie Ihr Flathub-Konto mit Bazaar, um Ihre favorisierten Apps zu " #~ "verwalten." #~ msgid "Delay Search Results" #~ msgstr "Suchergebnisse verzögern" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "Ergebnis-Performance durch Debouncing der Suchbegriffe verbessern" #~ msgid "Progress Bar" #~ msgstr "Fortschrittsbalken" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Wählen Sie ein Design fĂĽr den Fortschrittsbalken!" #~ msgid "Open Link" #~ msgstr "Link öffnen" #~ msgid "No Results Found" #~ msgstr "Keine Ergebnisse gefunden" #~ msgid "Search failed" #~ msgstr "Suchen fehlgeschlagen" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "Es legt Wert darauf, die Entwickler zu unterstĂĽtzen, die den Linux-" #~ "Desktop möglich machen. Bazaar verfĂĽgt ĂĽber ein „vorgestellt”-" #~ "Unterfenster, der von Distributoren eingerichtet werden kann, um eine " #~ "lokalisiertere Erfahrung zu ermöglichen." #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "Nucleus app page" #~ msgstr "Seite der Nucleus App" #, fuzzy #~ msgid "_Refresh Content" #~ msgstr "Store-Inhalt aktualisieren" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Synchronizing..." #~ msgstr "Abgleichen …" #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "%d Einträge empfangen …" #~ msgid "Close" #~ msgstr "SchlieĂźen" #~ msgid "Copy and Close" #~ msgstr "Kopieren und SchlieĂźen" #~ msgid "Toggle transaction sidebar" #~ msgstr "Seitenleiste fĂĽr Transaktionen anzeigen" #~ msgid "Download & Install Application" #~ msgstr "Apps herunterladen & installieren" #~ msgid "Install Other Version" #~ msgstr "Andere Version installieren" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "%s bis jetzt ĂĽbertragen" #~ msgid "Tasks" #~ msgstr "Aufgaben" #~ msgid "Stop Active Tasks" #~ msgstr "Aktiven Aufgaben stoppen" #~ msgid "No Tasks Yet" #~ msgstr "Noch keine Aufgaben" #~ msgid "Refreshing Store Content" #~ msgstr "Store-Inhalt aktualisieren" #~ msgid "Flathub" #~ msgstr "Flathub" #, fuzzy, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "Es sind Aktualisierungen verfĂĽgbar" #~ msgstr[1] "Es sind Aktualisierungen verfĂĽgbar" #~ msgid "Updates Are Available" #~ msgstr "Es sind Aktualisierungen verfĂĽgbar" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "FĂĽr die folgenden Apps sind Aktualisierungen erhältlich. Möchten Sie " #~ "diese installieren?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "%d Laufzeitumgebungen und/oder Erweiterungen haben neue Aktualisierungen " #~ "erhalten. Möchten Sie diese installieren?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "" #~ "Zusätzlich werden %d Laufzeitumgebungen und/oder Erweiterungen " #~ "aktualisiert." #~ msgid "Update Now" #~ msgstr "Jetzt aktualisieren" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "Die Möglichkeit, lokale .flatpak-Bundle-Dateien zu ĂĽberprĂĽfen und zu " #~ "installieren, wird in KĂĽrze verfĂĽgbar sein!\n" #~ "In der Zwischenzeit können Sie versuchen, folgenden Befehl in der " #~ "Befehlszeile auszufĂĽhren:\n" #~ "\n" #~ "flatpak install --bundle dein-bundle.flatpak" #~ msgid "Resume Current Tasks" #~ msgstr "Die aktuelle Ausgabe fortsetzen" #~ msgid "Pause Current Tasks" #~ msgstr "Die aktuelle Aufgabe pausieren" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "Transaktionsverwaltung umschalten" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "Beenden" #~ msgid "Hide EOL Entries" #~ msgstr "EOL-Einträge ausblenden" #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "EOL-Einträge und davon abhängige Einträge ausblenden" #~ msgid "Show Git Forge Star Counts" #~ msgstr "Git Forge Sterneanzahl anzeigen" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "" #~ "Ob versucht werden soll, die Sternanzahl fĂĽr Projekte in der Vollansicht " #~ "anzuzeigen" #~ msgid "Only Show Free Software" #~ msgstr "Nur freie Software anzeigen" #~ msgid "Hide proprietary software" #~ msgstr "Proprietäre Software ausblenden" #~ msgid "Debounce Search Inputs" #~ msgstr "Sucheingaben verzögern" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "" #~ "Eine Verzögerung hinzufĂĽgen, um sofortige Antworten während der Eingabe " #~ "zu verhindern" #~ msgid "Describes the look of the global progress bar" #~ msgstr "Beschreibt das Aussehen des globalen Fortschrittsbalkens" #~ msgid "Saved Window Dimensions" #~ msgstr "Gespeicherte Fensterabmessungen" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "" #~ "Die Fensterabmessungen, die vom nächsten Bazaar-Fenster verwendet werden " #~ "sollen" #~ msgid "?" #~ msgstr "?" #, c-format #~ msgid "%s is suitable for toddlers" #~ msgstr "%s ist fĂĽr Kleinkinder geeignet" #~ msgid "--- MB" #~ msgstr "--- MB" #~ msgid "Of the size of human DNA" #~ msgstr "Der Größe der menschlichen DNA" #~ msgid "3 billion base pairs" #~ msgstr "3 Milliarden Basenpaare" #~ msgid "Of the Linux Kernel" #~ msgstr "Des Linux Kernels" #~ msgid "linux-6.17.tar.xz" #~ msgstr "linux-6.17.tar.xz" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "Des Apollo 11 Guidance-Computers" #~ msgid "Total ROM and RAM" #~ msgstr "Gesamt-ROM und RAM" #~ msgid "Of the original Super Mario Bros" #~ msgstr "Des ursprĂĽnglichen Super Mario Bros." #~ msgid "On the NES" #~ msgstr "Auf dem NES" #~ msgid "Of the size of Wikipedia" #~ msgstr "Der Größe von Wikipedia" #~ msgid "Without any media" #~ msgstr "Ohne jegliche Medien" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "Diese Funktion ist derzeit nicht freigeschaltet. Es wird empfohlen, " #~ "Flatseal herunterzuladen und zu installieren, um Berechtigungen von " #~ "Anwendungen einzustellen." #~ msgid "Entry Inspector" #~ msgstr "Eintragsinspektor" #~ msgid "Serialize" #~ msgstr "Serialisierung der Anfrage ist fehlgeschlagen" #~ msgid "Convert to JSON" #~ msgstr "In JSON umwandeln" #~ msgid "We ♥ Games" #~ msgstr "Wir ♥ Spiele" #~ msgid "Repository Star Count" #~ msgstr "Repository Sterneanzahl" #~ msgid "Bazaar Inspector" #~ msgstr "Bazaar-Inspektor" #~ msgid "Active Blocklists" #~ msgstr "Aktive Blocklisten" #~ msgid "Active Curated-Configs" #~ msgstr "Aktive Vorgestellte Einrichtung" #~ msgid "All Entry Groups" #~ msgstr "Alle Eintragsgruppen" #~ msgid "Decache and Inspect" #~ msgstr "Entcachen und Inspizieren" #~ msgid "No Flatpaks Installed" #~ msgstr "Keine Anwendungen installiert" #~ msgid "Display Star Count" #~ msgstr "Sterneanzahl anzeigen" #~ msgid "Open Bazaar Inspector" #~ msgstr "Bazaar-Inspektor öffnen" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %u Downloads" #~ msgid "Hide proprietary software when searching" #~ msgstr "Proprietäre Anwendungen in Suchergebnissen ausblenden" #~ msgid "Filter search results to only show applications available on Flathub" #~ msgstr "" #~ "Suchergebnisse auf Anwendungen beschränken, die auf Flathub verfĂĽgbar sind" #~ msgid "Constructing Flatpak instance..." #~ msgstr "Flatpak-Instanz wird erstellt …" #~ msgid "Reusing last Flatpak instance..." #~ msgstr "Letzte Flatpak-Instanz wiederverwenden …" #~ msgid "Flathub is not registered on this system" #~ msgstr "Flathub ist auf diesem System nicht eingerichtet" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "Möchten Sie Flathub hinzufĂĽgen? Wenn Sie ablehnen, ist die Flathub-Seite " #~ "nicht verfĂĽgbar. Sie können dies später ändern." #~ msgid "Add Flathub" #~ msgstr "Flathub hinzufĂĽgen" #~ msgid "Identifying installed entries..." #~ msgstr "Installierte Einträge werden erkannt …" #, c-format #~ msgid "%'d of %'d" #~ msgstr "%'d von %'d" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "Warten auf Hintergrund-Indizierung …" #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "Initialisierung in %0.2f Sekunden abgeschlossen" #~ msgid "Verified by the original developers" #~ msgstr "" #~ "Diese Anwendung wurde von den ursprĂĽnglichen Entwicklern der Software " #~ "verifiziert." #~ msgid "Manage Addons" #~ msgstr "Erweiterungen verwalten" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "Azenyr" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Goudarz Jafari" #~ msgstr "Goudarz Jafari" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore (Lumaeris)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "JoĂŁo Victor (Leal)" #~ msgstr "JoĂŁo Victor (Leal)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "KiKaraage" #~ msgstr "KiKaraage" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "LĂ©ane GRASSER" #~ msgstr "LĂ©ane GRASSER" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Marcel MrĂłwka (Microwave)" #~ msgstr "Marcel MrĂłwka (Microwave)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Peter Dave Hello" #~ msgstr "Peter Dave Hello" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Pietro F." #~ msgstr "Pietro F." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shinsei" #~ msgstr "Shinsei" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "camegone" #~ msgstr "camegone" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "" #~ "Abfragenbeginn der Gegenstelleneinträge unter Bezugnahme auf %d " #~ "Blockliste(n) …" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "Bazaar wurde nicht mit vorgestellten Inhalten eingerichtet. Nehmen Sie " #~ "Kontakt mit den Entwicklern Ihres Betriebssystems auf, um Hilfe zu " #~ "erhalten." #~ msgid "Games" #~ msgstr "Spiele" #~ msgid "Graphics" #~ msgstr "Grafik" #~ msgctxt "Project URL Type" #~ msgid "Homepage" #~ msgstr "Startseite" #~ msgid "Excludes shared components" #~ msgstr "Gemeinsame Komponenten ausgeschlossen" #~ msgid "Source code may not be available" #~ msgstr "Der Quellcode ist möglicherweise nicht verfĂĽgbar." #~ msgid "Click for details" #~ msgstr "Klicken Sie, um Details anzusehen" #~ msgid "Repositories" #~ msgstr "Repositories" #~ msgid "Open in browser" #~ msgstr "Im Webbrowser öffnen" #, c-format #~ msgid "%'d Monthly Downloads" #~ msgstr "%'d monatliche Downloads" #~ msgid "%B %-d" #~ msgstr "%B %-d" #~ msgid "Run this application" #~ msgstr "Diese Anwendung ausfĂĽhren" #~ msgid "Run" #~ msgstr "AusfĂĽhren" #~ msgid "Git Forge Star Counts" #~ msgstr "Git Forge Sterneanzahl" #~ msgid "Not having a GitHub access token may trigger rate limits" #~ msgstr "" #~ "Wenn Sie keinen GitHub-Token haben, kann dies zu Ratenbegrenzungen fĂĽhren." #~ msgid "Show Only Flathub Apps" #~ msgstr "Nur Flathub-Anwendungen anzeigen" #~ msgid "Wait for a brief pause to reduce system load" #~ msgstr "EIne kurze Weile warten, um die Systemlast zu verringern" #~ msgid "Theme" #~ msgstr "Design" #~ msgid "Pride Rainbow Flag" #~ msgstr "Pride-Regenbogenflagge" #~ msgid "Bisexual Flag" #~ msgstr "Bisexuellenflagge" #~ msgid "Asexual Flag" #~ msgstr "Asexuellenflagge" #~ msgid "Share" #~ msgstr "Teilen" #~ msgid "Browse" #~ msgstr "Durchsuchen" #~ msgid "Go Back" #~ msgstr "ZurĂĽck" #~ msgid "View curated applications" #~ msgstr "Vorgestellte Anwendungen ansehen" #~ msgid "View the latest on Flathub" #~ msgstr "Das neueste auf Flathub ansehen" #~ msgid "_Quit Service" #~ msgstr "Dienst _beenden" #~ msgid "Up to date!" #~ msgstr "Auf neuestem Stand" #~ msgid "Settings & user data will be kept" #~ msgstr "Einstellungen und Benutzerdaten werden beibehalten" #~ msgid "Show Animated Background" #~ msgstr "Animierten Hintergrund anzeigen" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "Den animierten Hintergrund auf der Startseite anzeigen" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible." #~ msgstr "" #~ "Es legt Wert darauf, die Entwickler zu unterstĂĽtzen, die den Linux-" #~ "Desktop möglich machen." #~ msgid "Calligraphy application page" #~ msgstr "Calligraphy" #~ msgid "Download graph for Blender" #~ msgstr "Downloadkurve fĂĽr Blender" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "%'d Einträge von %'d empfangen (%0.1f Sekunden vergangen)" #~ msgid "Apps Of The Week" #~ msgstr "Anwendungen der Woche" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "" #~ "Die Anzahl der Downloads in den letzten 30 Tagen. Klicken Sie hier, um " #~ "die Download-Statistiken fĂĽr diese Anwendung anzuzeigen." #~ msgid "Remote repo name" #~ msgstr "Namen des Repository" #~ msgid "How the application looks" #~ msgstr "Wie die Anwendung aussieht" #~ msgid "Appearance" #~ msgstr "Erscheinungsbild" #~ msgid "Show animated background" #~ msgstr "Animierten Hintergrund anzeigen" #~ msgid "Type to filter" #~ msgstr "Zum Filtern hier tippen" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Ergebnisse mit proprietären Lizenzen ausschlieĂźen" #~ msgid "Advanced" #~ msgstr "Erweitert" #~ msgid "Open this link externally" #~ msgstr "Diesen Link extern öffnen" #~ msgid "Downloads Over Time" #~ msgstr "Downloads im Laufe der Zeit" #~ msgid "Minimize Lower Bound" #~ msgstr "Untere Grenze verringern" #~ msgid "Maximize Upper Bound" #~ msgstr "Obere Grenze vergrößern" #~ msgid "Installing" #~ msgstr "Wird installiert" #~ msgid "Removing" #~ msgstr "Wird entfernt" #~ msgid "Transactions Will Appear Here" #~ msgstr "Transaktionen werden hier erscheinen" #~ msgid "Halt the execution of transactions" #~ msgstr "Die AusfĂĽhrung von Transaktionen anhalten" #~ msgid "Confirm Action" #~ msgstr "Aktion bestätigen" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Sie sind dabei, die folgende Anwendung zu entfernen:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Sind Sie sich sicher?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Sie sind dabei, die folgende Anwendung zu installieren:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Sind Sie sich sicher?" #~ msgid "Resume the execution of transactions" #~ msgstr "Die AusfĂĽhrung von Transaktionen fortsetzen" #~ msgid "Pause the execution of transactions" #~ msgstr "Die AusfĂĽhrung von Transaktionen pausieren" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Bazaar-Hauptfenster zeigt Blender" #~ msgid "Match using regular expressions" #~ msgstr "Ăśbereinstimmung mit regulären AusdrĂĽcken" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "" #~ "Filterung und Sortierung hinter einem Ăśberblendungseffekt verstecken" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/el.po������������������������������������������������������������������0000664�0000000�0000000�00000175556�15234476640�0016667�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Greek translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-18 02:22+0200\n" "PO-Revision-Date: 2025-12-18 04:30+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.8\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 #: src/bz-window.blp:234 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "" "ΠĎÎżĎθήκη, αφαίĎεĎη ή ενημέĎωĎη λογιĎμικού flatpak Ďε αυτόν τον υπολογιĎτή" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;ÎŁĎŤĎτημα;ΔιαχειĎÎąĎτής πακέτων;ΑνακάλυĎη;Flatpak;ΛογιĎμικό;ΚατάĎτημα;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Hide EOL Entries" msgstr "ΑπόκĎĎ…Ďη καταχωĎήĎεων EOL" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "Hide EOL entries and entries depending on them" msgstr "ΑπόκĎĎ…Ďη καταχωĎήĎεων EOL και καταχωĎήĎεων που εξαĎτώνται από αυτές" #: data/io.github.kolunmi.Bazaar.gschema.xml:11 msgid "Only Show Free Software" msgstr "ΕμφάνιĎη μόνο δωĎεάν λογιĎμικού" #: data/io.github.kolunmi.Bazaar.gschema.xml:12 msgid "Hide proprietary software" msgstr "ΑπόκĎĎ…Ďη ιδιόκτητου λογιĎμικού" #: data/io.github.kolunmi.Bazaar.gschema.xml:16 msgid "Show Only Flathub Content" msgstr "ΕμφάνιĎη μόνο πεĎιεχομένου Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:17 msgid "Hide applications which do not originate from Flathub" msgstr "ΑπόκĎĎ…Ďη εφαĎμογών που δεν Ď€ĎοέĎχονται από το Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:21 msgid "Debounce Search Inputs" msgstr "ΑναζήτηĎη ειĎόδων χωĎÎŻĎ‚ αναπήδηĎη" #: data/io.github.kolunmi.Bazaar.gschema.xml:22 msgid "Add a delay before searching to prevent instant replies while typing" msgstr "" "ΠĎÎżĎθέĎτε μια καθυĎτέĎηĎη Ď€Ďιν από την αναζήτηĎη για να αποτĎέĎετε τις " "άμεĎες απαντήĎεις κατά την πληκτĎολόγηĎη" #: data/io.github.kolunmi.Bazaar.gschema.xml:46 msgid "Global Progress Bar Theme" msgstr "Καθολικό θέμα μπάĎας Ď€Ďοόδου" #: data/io.github.kolunmi.Bazaar.gschema.xml:47 msgid "Describes the look of the global progress bar" msgstr "ΠεĎιγĎάφει την εμφάνιĎη της καθολικής μπάĎας Ď€Ďοόδου" #: data/io.github.kolunmi.Bazaar.gschema.xml:51 msgid "Saved Window Dimensions" msgstr "Αποθηκευμένες διαĎτάĎεις παĎαθύĎου" #: data/io.github.kolunmi.Bazaar.gschema.xml:52 msgid "The window dimensions to be used by the next Bazaar window" msgstr "" "Οι διαĎτάĎεις του παĎαθύĎου που θα χĎηĎιμοποιηθούν από το επόμενο παĎάθυĎÎż " "Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "ΑνακαλύĎτε και εγκαταĎτήĎτε εφαĎμογές" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A new app store for GNOME with a focus on discovering and installing " "applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "Îνα νέο κατάĎτημα εφαĎμογών για το GNOME με έμφαĎη Ďτην αναζήτηĎη και " "εγκατάĎταĎη εφαĎμογών και Ď€ĎĎŚĎθετων από απομακĎĎ…Ďμένους διακομιĎτές Flatpak, " "ιδίως το Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. " "Bazaar features a \"curated\" tab that can be configured by distributors to " "allow for a more localized experience." msgstr "" "Δίνει έμφαĎη Ďτην υποĎτήĎιξη των Ď€ĎογĎαμματιĎτών που καθιĎτούν δυνατή τη " "λειτουĎγία του Linux desktop. Το Bazaar διαθέτει μια καĎτέλα \"curated\" που " "μποĎεί να διαμοĎφωθεί από τους διανομείς ĎŽĎτε να Ď€ĎÎżĎφέĎει μια πιο τοπική " "εμπειĎία." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 msgid "The home page displaying Flathub apps" msgstr "Η αĎχική Ďελίδα που εμφανίζει τις εφαĎμογές Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Nucleus app page" msgstr "Σελίδα εφαĎμογής Nucleus" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 msgid "Search page" msgstr "Σελίδα αναζήτηĎης" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:66 msgid "Category page" msgstr "Σελίδα κατηγοĎίας" #: src/bz-addons-dialog.blp:14 src/bz-full-view.blp:711 #: src/bz-installed-tile.blp:99 msgid "Manage Add-ons" msgstr "ΔιαχείĎÎąĎη Ď€ĎĎŚĎθετων" #: src/bz-addons-dialog.c:90 src/bz-full-view.blp:502 #: src/bz-installed-tile.blp:117 src/bz-transaction-view.blp:213 #: src/bz-window.c:1294 msgid "Remove" msgstr "ΚατάĎγηĎη" #: src/bz-addons-dialog.c:95 src/bz-full-view.blp:274 src/bz-full-view.blp:489 #: src/bz-transaction-view.blp:187 src/bz-window.c:1271 msgid "Install" msgstr "ΕγκατάĎταĎη" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:50 #: src/bz-full-view.c:373 src/bz-full-view.c:380 msgid "Age Rating" msgstr "Βαθμολογία ηλικίας" #: src/bz-age-rating-dialog.blp:40 src/bz-age-rating-dialog.c:790 msgid "?" msgstr "?" #: src/bz-age-rating-dialog.c:139 msgid "Cartoon Violence" msgstr "Βία Ďτα κινούμενα Ďχέδια" #: src/bz-age-rating-dialog.c:140 msgid "No information regarding cartoon violence" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με τη βία Ďτα κινούμενα Ďχέδια" #: src/bz-age-rating-dialog.c:143 msgid "Fantasy Violence" msgstr "ΦανταĎτική βία" #: src/bz-age-rating-dialog.c:144 msgid "No information regarding fantasy violence" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με τη φανταĎτική βία" #: src/bz-age-rating-dialog.c:147 msgid "Realistic Violence" msgstr "ΡεαλιĎτική βία" #: src/bz-age-rating-dialog.c:148 msgid "No information regarding realistic violence" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με ĎεαλιĎτική βία" #: src/bz-age-rating-dialog.c:151 msgid "Violence Depicting Bloodshed" msgstr "Βία που απεικονίζει αιματοχυĎία" #: src/bz-age-rating-dialog.c:152 msgid "No information regarding bloodshed" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με βία που απεικονίζει αιματοχυĎία" #: src/bz-age-rating-dialog.c:155 msgid "Sexual Violence" msgstr "Σεξουαλική βία" #: src/bz-age-rating-dialog.c:156 msgid "No information regarding sexual violence" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με Ďεξουαλική βία" #: src/bz-age-rating-dialog.c:159 msgid "Alcohol" msgstr "Αλκοόλ" #: src/bz-age-rating-dialog.c:160 msgid "No information regarding references to alcohol" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďτο αλκοόλ" #: src/bz-age-rating-dialog.c:163 msgid "Narcotics" msgstr "ΝαĎκωτικά" #: src/bz-age-rating-dialog.c:164 msgid "No information regarding references to illicit drugs" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďε παĎάνομες ναĎκωτικές ουĎίες" #: src/bz-age-rating-dialog.c:167 msgid "Tobacco" msgstr "Καπνός" #: src/bz-age-rating-dialog.c:168 msgid "No information regarding references to tobacco products" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďε Ď€Ďοϊόντα καπνού" #: src/bz-age-rating-dialog.c:171 src/bz-age-rating-dialog.c:358 msgid "Nudity" msgstr "Γυμνότητα" #: src/bz-age-rating-dialog.c:172 msgid "No information regarding nudity of any sort" msgstr "Καμία πληĎοφοĎία Ďχετικά με γυμνότητα οποιουδήποτε είδους" #: src/bz-age-rating-dialog.c:175 msgid "Sexual Themes" msgstr "Σεξουαλικά θέματα" #: src/bz-age-rating-dialog.c:176 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές ή απεικονίĎεις Ďεξουαλικού " "χαĎακτήĎα" #: src/bz-age-rating-dialog.c:179 msgid "Profanity" msgstr "Βωμολοχίες" #: src/bz-age-rating-dialog.c:180 msgid "No information regarding profanity of any kind" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με οποιαδήποτε ÎĽÎżĎφή βωμολοχίας" #: src/bz-age-rating-dialog.c:183 msgid "Inappropriate Humor" msgstr "Ακατάλληλο χιούμοĎ" #: src/bz-age-rating-dialog.c:184 msgid "No information regarding inappropriate humor" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με ακατάλληλο χιούμοĎ" #: src/bz-age-rating-dialog.c:187 msgid "Discrimination" msgstr "ΔιακĎÎŻĎεις" #: src/bz-age-rating-dialog.c:188 msgid "No information regarding discriminatory language of any kind" msgstr "Καμία πληĎοφοĎία Ďχετικά με διακĎιτική γλώĎĎα οποιουδήποτε είδους" #: src/bz-age-rating-dialog.c:191 msgid "Advertising" msgstr "ΔιαφήμιĎη" #: src/bz-age-rating-dialog.c:192 msgid "No information regarding advertising of any kind" msgstr "Καμία πληĎοφοĎία Ďχετικά με διαφημίĎεις οποιουδήποτε είδους" #: src/bz-age-rating-dialog.c:195 msgid "Gambling" msgstr "ΤυχεĎά παιχνίδια" #: src/bz-age-rating-dialog.c:196 msgid "No information regarding gambling of any kind" msgstr "Καμία πληĎοφοĎία Ďχετικά με τυχεĎά παιχνίδια οποιουδήποτε είδους" #: src/bz-age-rating-dialog.c:199 msgid "Purchasing" msgstr "ΑγοĎές" #: src/bz-age-rating-dialog.c:200 msgid "No information regarding the ability to spend money" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με τη δυνατότητα δαπάνης χĎημάτων" #: src/bz-age-rating-dialog.c:203 msgid "Chat Between Users" msgstr "Συνομιλία μεταξύ χĎηĎτών" #: src/bz-age-rating-dialog.c:204 msgid "No information regarding ways to chat with other users" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με τους Ď„Ďόπους επικοινωνίας με άλλους " "χĎήĎτες" #: src/bz-age-rating-dialog.c:207 msgid "Audio Chat Between Users" msgstr "Ηχητική Ďυνομιλία μεταξύ χĎηĎτών" #: src/bz-age-rating-dialog.c:208 msgid "No information regarding ways to talk with other users" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με τους Ď„Ďόπους επικοινωνίας με άλλους " "χĎήĎτες" #: src/bz-age-rating-dialog.c:211 msgid "Contact Details" msgstr "Στοιχεία επικοινωνίας" #: src/bz-age-rating-dialog.c:212 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με την κοινοποίηĎη ονομάτων χĎήĎτη " "κοινωνικών δικτύων ή διευθύνĎεων ηλεκτĎονικού ταχυδĎομείου" #: src/bz-age-rating-dialog.c:215 msgid "Identifying Information" msgstr "ΠληĎοφοĎίες ταυτοποίηĎης" #: src/bz-age-rating-dialog.c:216 msgid "No information regarding sharing of user information with third parties" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με την κοινοποίηĎη πληĎοφοĎιών χĎηĎτών Ďε " "Ď„Ďίτους" #: src/bz-age-rating-dialog.c:219 msgid "Location Sharing" msgstr "Κοινή χĎήĎη τοποθεĎίας" #: src/bz-age-rating-dialog.c:220 msgid "No information regarding sharing of physical location with other users" msgstr "" "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με την κοινοποίηĎη της φυĎικής τοποθεĎίας " "Ďε άλλους χĎήĎτες" #: src/bz-age-rating-dialog.c:223 msgid "Prostitution" msgstr "ΠοĎνεία" #: src/bz-age-rating-dialog.c:224 msgid "No information regarding references to prostitution" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďε ποĎνεία" #: src/bz-age-rating-dialog.c:227 msgid "Adultery" msgstr "Μοιχεία" #: src/bz-age-rating-dialog.c:228 msgid "No information regarding references to adultery" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďε μοιχεία" #: src/bz-age-rating-dialog.c:231 msgid "Sexualized Characters" msgstr "Σεξουαλικοποιημένοι χαĎακτήĎες" #: src/bz-age-rating-dialog.c:232 msgid "No information regarding sexualized characters" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με Σεξουαλικοποιημένους χαĎακτήĎες" #: src/bz-age-rating-dialog.c:235 msgid "Desecration" msgstr "ΒεβήλωĎη" #: src/bz-age-rating-dialog.c:236 msgid "No information regarding references to desecration" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďε βεβήλωĎη" #: src/bz-age-rating-dialog.c:239 msgid "Human Remains" msgstr "ΑνθĎώπινα λείĎανα" #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με ÎżĎατά ανθĎώπινα λείĎανα" #: src/bz-age-rating-dialog.c:243 msgid "Slavery" msgstr "Δουλεία" #: src/bz-age-rating-dialog.c:244 msgid "No information regarding references to slavery" msgstr "Δεν υπάĎχουν πληĎοφοĎίες Ďχετικά με αναφοĎές Ďτη δουλεία" #: src/bz-age-rating-dialog.c:307 msgid "Does not include references to drugs" msgstr "Δεν πεĎιλαμβάνει αναφοĎές Ďε φάĎμακα" #: src/bz-age-rating-dialog.c:309 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "" "Δεν πεĎιλαμβάνει βĎÎąĎιές, χυδαίες εκφĎάĎεις και άλλα είδη ĎκληĎής γλώĎĎας" #: src/bz-age-rating-dialog.c:311 msgid "Does not include ads or monetary transactions" msgstr "Δεν πεĎιλαμβάνει διαφημίĎεις ή χĎηματικές Ďυναλλαγές" #: src/bz-age-rating-dialog.c:313 msgid "Does not include sex or nudity" msgstr "Δεν πεĎιλαμβάνει Ďεξ ή γυμνότητα" #: src/bz-age-rating-dialog.c:315 msgid "Does not include uncontrolled chat functionality" msgstr "Δεν πεĎιλαμβάνει λειτουĎγία ανεξέλεγκτης Ďυνομιλίας" #: src/bz-age-rating-dialog.c:317 msgid "Does not include violence" msgstr "Δεν πεĎιλαμβάνει βία" #: src/bz-age-rating-dialog.c:352 msgid "Drugs" msgstr "ΝαĎκωτικά" #: src/bz-age-rating-dialog.c:354 msgid "Strong Language" msgstr "ΣκληĎή γλώĎĎα" #: src/bz-age-rating-dialog.c:356 msgid "Money" msgstr "ΧĎήματα" #: src/bz-age-rating-dialog.c:360 msgid "Social" msgstr "Κοινωνικά" #: src/bz-age-rating-dialog.c:362 msgid "Violence" msgstr "Βία" #: src/bz-age-rating-dialog.c:564 #, c-format msgid "%s • %s" msgstr "%s • %s" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:752 src/bz-full-view.c:363 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:782 msgctxt "Age rating" msgid "All" msgstr "Όλα" #: src/bz-age-rating-dialog.c:846 #, c-format msgid "%s has an unknown age rating" msgstr "Το %s έχει άγνωĎτη ηλικιακή βαθμολογία" #: src/bz-age-rating-dialog.c:854 #, c-format msgid "%s is suitable for everyone" msgstr "Το %s είναι κατάλληλο για όλους" #: src/bz-age-rating-dialog.c:857 #, c-format msgid "%s is suitable for toddlers" msgstr "Το %s είναι κατάλληλο για νήπια" #: src/bz-age-rating-dialog.c:860 #, c-format msgid "%s is suitable for young children" msgstr "Το %s είναι κατάλληλο για μικĎά παιδιά" #: src/bz-age-rating-dialog.c:863 #, c-format msgid "%s is suitable for children" msgstr "Το %s είναι κατάλληλο για παιδιά" #: src/bz-age-rating-dialog.c:866 #, c-format msgid "%s is suitable for teenagers" msgstr "Το %s είναι κατάλληλο για εφήβους" #: src/bz-age-rating-dialog.c:869 #, c-format msgid "%s is suitable for adults" msgstr "Το %s είναι κατάλληλο για ενήλικες" #: src/bz-age-rating-dialog.c:872 #, c-format msgid "%s is suitable for %s" msgstr "Το %s είναι κατάλληλο για %s" #: src/bz-app-size-dialog.blp:43 msgid "--- MB" msgstr "--- MB" #: src/bz-app-size-dialog.blp:53 msgid "Download Size" msgstr "Μέγεθος λήĎης" #: src/bz-app-size-dialog.c:55 msgid "Of the size of human DNA" msgstr "Του μεγέθους του ανθĎώπινου DNA" #: src/bz-app-size-dialog.c:55 msgid "3 billion base pairs" msgstr "3 διĎεκατομμύĎια ζεύγη βάĎεων" #: src/bz-app-size-dialog.c:56 msgid "Of the Linux Kernel" msgstr "Του πυĎήνα Linux" #: src/bz-app-size-dialog.c:56 msgid "linux-6.17.tar.xz" msgstr "linux-6.17.tar.xz" #: src/bz-app-size-dialog.c:57 msgid "Of the Apollo 11 guidance computer" msgstr "Του υπολογιĎτή πλοήγηĎης του Apollo 11" #: src/bz-app-size-dialog.c:57 msgid "Total ROM and RAM" msgstr "Συνολική ROM και RAM" #: src/bz-app-size-dialog.c:58 msgid "Of the original Super Mario Bros" msgstr "Από το αĎχικό Super Mario Bros" #: src/bz-app-size-dialog.c:58 msgid "On the NES" msgstr "Στο NES" #: src/bz-app-size-dialog.c:59 msgid "Of the size of Wikipedia" msgstr "Του μεγέθους της Wikipedia" #: src/bz-app-size-dialog.c:59 msgid "Without any media" msgstr "ΧωĎÎŻĎ‚ κανένα πολυμέĎÎż" #: src/bz-app-tile.blp:84 src/bz-installed-page.blp:25 src/bz-window.blp:298 msgid "Installed" msgstr "ΕγκατεĎτημένες" #: src/bz-apps-page.blp:14 src/bz-full-view.blp:43 src/bz-user-data-page.blp:15 #: src/bz-window.blp:443 msgid "Main Menu" msgstr "ΚύĎιο μενού" #: src/bz-apps-page.blp:17 src/bz-user-data-page.blp:18 src/bz-window.blp:522 msgid "_Donate to Bazaar ❤️" msgstr "_ΔωĎÎŻĎτε Ďτο Bazaar ❤️" #: src/bz-apps-page.blp:18 src/bz-user-data-page.blp:19 msgid "_Refresh Content" msgstr "_ΑνανέωĎη πεĎιεχομένου" #: src/bz-apps-page.blp:22 src/bz-user-data-page.blp:22 src/bz-window.blp:529 msgid "_Preferences" msgstr "_ΠĎοτιμήĎεις" #: src/bz-apps-page.blp:23 src/bz-user-data-page.blp:23 src/bz-window.blp:550 msgid "_Keyboard Shortcuts" msgstr "_ΣυντομεύĎεις πληκτĎολογίου" #: src/bz-apps-page.blp:24 src/bz-user-data-page.blp:24 src/bz-window.blp:555 msgid "_About Bazaar" msgstr "_Σχετικά με το Bazaar" #: src/bz-apps-page.blp:28 src/bz-user-data-page.blp:27 src/bz-window.blp:562 msgid "_Quit Bazaar" msgstr "_ΚλείĎτε το Bazaar" #: src/bz-application.c:577 msgid "" "This functionality is currently disabled. It is recommended you download and " "install Flatseal to manage app permissions." msgstr "" "Αυτή η λειτουĎγία είναι Ď€Ďος το παĎόν απενεĎγοποιημένη. ΣυνιĎτάται να " "κατεβάĎετε και να εγκαταĎτήĎετε το Flatseal για να διαχειĎÎąĎτείτε τις άδειες " "της εφαĎμογής." #: src/bz-application.c:659 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:660 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #: src/bz-application.c:682 msgid "Adam Masciola" msgstr "Adam Masciola" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:685 msgid "translator-credits" msgstr "Xarishark-Zacharias Xenakis" #: src/bz-application.c:749 msgid "Logged Out Successfully!" msgstr "ΑποĎύνδεĎη με επιτυχία!" #: src/bz-application.c:855 msgid "Performing setup..." msgstr "ΕκτέλεĎη εγκατάĎταĎης..." #: src/bz-application.c:934 src/bz-application.c:943 msgid "Set Up Flathub" msgstr "ΡύθμιĎη του Flathub" #: src/bz-application.c:937 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Το Flathub δεν είναι εγκατεĎτημένο Ďε αυτό το ĎĎŤĎτημα. Δεν θα μποĎείτε να " "πεĎιηγηθείτε και να εγκαταĎτήĎετε εφαĎμογές Ďτο Bazaar εάν δεν είναι " "διαθέĎιμο.\n" "\n" "ΜποĎείτε ακόμα να χĎηĎιμοποιήĎετε το Bazaar για να πεĎιηγηθείτε και να " "καταĎγήĎετε ήδη εγκατεĎτημένες εφαĎμογές." #: src/bz-application.c:942 src/bz-update-dialog.blp:6 msgid "Later" msgstr "ΑĎγότεĎα" #: src/bz-application.c:1344 msgid "Synchronizing..." msgstr "ΣυγχĎονιĎÎĽĎŚĎ‚..." #: src/bz-application.c:1483 #, c-format msgid "Receiving %d entries..." msgstr "ΛήĎη %d καταχωĎήĎεων..." #: src/bz-application.c:1488 msgid "Checking for updates" msgstr "Îλεγχος για ενημεĎĎŽĎεις" #: src/bz-curated-view.blp:11 src/bz-flathub-page.blp:19 #: src/bz-full-view.blp:53 src/bz-installed-page.blp:15 #: src/bz-user-data-page.blp:52 src/bz-window.blp:183 msgid "Empty" msgstr "Άδειο" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "ΧωĎÎŻĎ‚ επιμέλεια" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "Δεν παĎέχονται πληĎοφοĎίες Ďχετικά με την επιμέλεια Ďε αυτό το ĎĎŤĎτημα. " "ΜποĎείτε να ĎυνεχίĎετε να πεĎιηγείĎτε Ďτις εφαĎμογές Ďτο Flathub" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "ΠεĎιήγηĎη Ďτο Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "Εκτός ĎύνδεĎης" #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:49 msgid "Browser" msgstr "ΠĎĎŚÎłĎαμμα πεĎιήγηĎης" #: src/bz-developer-badge.c:131 msgid "Developer information not available." msgstr "Οι πληĎοφοĎίες για τον Ď€ĎογĎαμματιĎτή δεν είναι διαθέĎιμες." #: src/bz-developer-badge.c:137 src/bz-developer-badge.c:151 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "Η ιδιοκτηĎία του αναγνωĎÎąĎτικού εφαĎμογής %s δεν έχει επαληθευτεί και " "ενδέχεται να Ď€Ďόκειται για πακέτο κοινότητας." #: src/bz-developer-badge.c:155 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "Η ιδιοκτηĎία του αναγνωĎÎąĎτικού εφαĎμογής %s έχει επαληθευτεί χειĎοκίνητα " "από την ομάδα του Flathub." #: src/bz-developer-badge.c:161 #, c-format msgid "" "The ownership of the %s app ID has been verified by <b>%s</b> on <b>%s</b>." msgstr "" "Η ιδιοκτηĎία του αναγνωĎÎąĎτικού εφαĎμογής %s έχει επαληθευτεί από τον <b>%s</" "b> Ďτις <b>%s</b>." #: src/bz-developer-badge.c:168 #, c-format msgid "The ownership of the %s app ID has been verified using %s." msgstr "" "Η ιδιοκτηĎία του αναγνωĎÎąĎτικού εφαĎμογής %s έχει επαληθευτεί " "χĎηĎιμοποιώντας το %s." #: src/bz-developer-badge.c:172 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Η ιδιοκτηĎία του αναγνωĎÎąĎτικού εφαĎμογής %s έχει επαληθευτεί." #: src/bz-entry-inspector.blp:5 msgid "Entry Inspector" msgstr "ΕπιθεωĎητής ειĎόδου" #: src/bz-entry-inspector.blp:76 msgid "Serialize" msgstr "ΣειĎιοποίηĎη" #: src/bz-entry-inspector.blp:80 msgid "Convert to JSON" msgstr "ΜετατĎοπή Ďε JSON" #: src/error.c:68 msgid "An Error Occurred" msgstr "ΠαĎουĎιάĎτηκε Ďφάλμα" #: src/error.c:89 msgid "Close" msgstr "ΚλείĎιμο" #: src/error.c:90 msgid "Copy and Close" msgstr "ΑντιγĎαφή και κλείĎιμο" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "ΠĎοηγούμενο" #: src/bz-featured-carousel.blp:53 msgid "Next" msgstr "Επόμενο" #: src/bz-featured-tile.blp:88 msgid "App of the Day" msgstr "ΕφαĎμογή της ημέĎας" #: src/bz-flathub-category.c:78 msgid "Audio & Video" msgstr "Ήχος & Βίντεο" #: src/bz-flathub-category.c:78 msgid "Media" msgstr "ΠολυμέĎα" #: src/bz-flathub-category.c:78 msgid "More Audio & Video" msgstr "ΠεĎÎąĎĎότεĎα Ήχος & Βίντεο" #: src/bz-flathub-category.c:79 msgid "Developer Tools" msgstr "ΕĎγαλεία Ď€ĎογĎαμματιĎτή" #: src/bz-flathub-category.c:79 msgid "Develop" msgstr "ΠĎογĎαμματιĎÎĽĎŚĎ‚" #: src/bz-flathub-category.c:79 msgid "More Developer Tools" msgstr "ΠεĎÎąĎĎότεĎα εĎγαλεία Ď€ĎογĎαμματιĎτή" #: src/bz-flathub-category.c:80 msgid "Education" msgstr "ΕκπαίδευĎη" #: src/bz-flathub-category.c:80 msgid "Learn" msgstr "ΜάθηĎη" #: src/bz-flathub-category.c:80 msgid "More Education" msgstr "ΠεĎÎąĎĎότεĎη ΜάθηĎη" #: src/bz-flathub-category.c:81 msgid "Gaming" msgstr "Παιχνίδια" #: src/bz-flathub-category.c:81 msgid "Play" msgstr "Παιχνίδι" #: src/bz-flathub-category.c:81 msgid "More Gaming" msgstr "ΠεĎÎąĎĎότεĎα παιχνίδια" #: src/bz-flathub-category.c:82 msgid "Graphics & Photography" msgstr "ΓĎαφικά & ΦωτογĎαφία" #: src/bz-flathub-category.c:82 msgid "Create" msgstr "ΔημιουĎγία" #: src/bz-flathub-category.c:82 msgid "More Graphics & Photography" msgstr "ΠεĎÎąĎĎότεĎα ΓĎαφικά & ΦωτογĎαφία" #: src/bz-flathub-category.c:83 msgid "Networking" msgstr "ΔικτύωĎη" #: src/bz-flathub-category.c:83 msgid "Internet" msgstr "Διαδίκτυο" #: src/bz-flathub-category.c:83 msgid "More Networking" msgstr "ΠεĎÎąĎĎότεĎη ΔικτύωĎη" #: src/bz-flathub-category.c:84 msgid "Productivity" msgstr "ΠαĎαγωγικότητα" #: src/bz-flathub-category.c:84 msgid "Work" msgstr "ΕĎγαĎία" #: src/bz-flathub-category.c:84 msgid "More Productivity" msgstr "ΠεĎÎąĎĎότεĎη ΠαĎαγωγικότητα" #: src/bz-flathub-category.c:85 msgid "Science" msgstr "ΕπιĎτήμη" #: src/bz-flathub-category.c:85 msgid "More Science" msgstr "ΠεĎÎąĎĎότεĎη ΕπιĎτήμη" #: src/bz-flathub-category.c:86 msgid "System" msgstr "ÎŁĎŤĎτημα" #: src/bz-flathub-category.c:86 msgid "More System" msgstr "ΠεĎÎąĎĎότεĎÎż ÎŁĎŤĎτημα" #: src/bz-flathub-category.c:87 msgid "Utilities" msgstr "Βοηθητικά Ď€ĎογĎάμματα" #: src/bz-flathub-category.c:87 msgid "Tools" msgstr "ΕĎγαλεία" #: src/bz-flathub-category.c:87 msgid "More Utilities" msgstr "ΠεĎÎąĎĎότεĎα βοηθητικά Ď€ĎογĎάμματα" #: src/bz-flathub-category.c:88 src/bz-flathub-page.blp:119 #: src/bz-flathub-page.blp:152 msgid "Trending" msgstr "ΤάĎεις" #: src/bz-flathub-category.c:88 msgid "More Trending" msgstr "ΠεĎÎąĎĎότεĎες ΤάĎεις" #: src/bz-flathub-category.c:89 src/bz-flathub-page.blp:125 #: src/bz-flathub-page.blp:185 msgid "Popular" msgstr "Δημοφιλείς" #: src/bz-flathub-category.c:89 msgid "More Popular" msgstr "ΠεĎÎąĎĎότεĎα Δημοφιλή" #: src/bz-flathub-category.c:90 src/bz-flathub-page.blp:174 msgid "Recently Added" msgstr "ΠĎĎŚĎφατα ΠĎÎżĎτέθηκαν" #: src/bz-flathub-category.c:90 src/bz-flathub-page.blp:131 msgid "New" msgstr "Νέες" #: src/bz-flathub-category.c:90 msgid "More New" msgstr "ΠεĎÎąĎĎότεĎες Νέες" #: src/bz-flathub-category.c:91 src/bz-flathub-page.blp:163 msgid "Recently Updated" msgstr "ΠĎĎŚĎφατα ΕνημεĎωμένες" #: src/bz-flathub-category.c:91 src/bz-flathub-page.blp:137 msgid "Updated" msgstr "ΕνημεĎωμένες" #: src/bz-flathub-category.c:91 msgid "More Updated" msgstr "ΠεĎÎąĎĎότεĎες ΕνημεĎωμένες" #: src/bz-flathub-category.c:92 msgid "Mobile" msgstr "Κινητό" #: src/bz-flathub-category.c:92 msgid "More Mobile" msgstr "ΠεĎÎąĎĎότεĎα για κινητό" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Το Flathub δεν έχει Ď€ĎÎżĎτεθεί" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "O απομακĎĎ…Ďμένος διακομιĎτής Flathub δεν βĎέθηκε Ďε καμία από τις " "εγκαταĎτάĎεις Flatpak Ďας" #: src/bz-flathub-page.blp:35 msgid "Flathub returned an error" msgstr "Το Flathub επέĎĎ„ĎεĎε ένα Ďφάλμα" #: src/bz-flathub-page.blp:41 msgid "Retry Flathub Connection" msgstr "ΕπανάληĎη ĎύνδεĎης με το Flathub" #: src/bz-flathub-page.blp:57 msgid "Flathub Unavailable" msgstr "Το Flathub δεν είναι διαθέĎιμο" #: src/bz-flathub-page.blp:58 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "" "Δεν μποĎέĎαμε να Ďυνδεθούμε Ďτο Flathub. ΜποĎείτε ακόμα να διαχειĎÎąĎτείτε " "και να αναζητήĎετε εφαĎμογές." #: src/bz-flathub-page.blp:61 msgid "Search Apps" msgstr "ΑναζήτηĎη εφαĎμογών" #: src/bz-flathub-page.blp:270 msgid "On the Go" msgstr "Εν κινήĎει" #: src/bz-flathub-page.blp:282 msgid "Apps for your Linux phones and tablets" msgstr "ΕφαĎμογές για τα τηλέφωνα και τα tablet Ďας με Linux" #: src/bz-flathub-page.blp:293 msgid "More Mobile Apps" msgstr "ΠεĎÎąĎĎότεĎες εφαĎμογές για κινητά" #: src/bz-flathub-page.blp:328 msgid "More Mobile apps" msgstr "ΠεĎÎąĎĎότεĎες εφαĎμογές για κινητά" #: src/bz-flathub-page.blp:388 msgid "We​ ♥​ Games" msgstr "♥ τα παιχνίδια" #: src/bz-flathub-page.blp:401 msgid "Games and apps to run your favorite titles" msgstr "Παιχνίδια και εφαĎμογές για να Ď„Ďέξετε τους αγαπημένους Ďας τίτλους" #: src/bz-flathub-page.blp:435 msgid "More Games" msgstr "ΠεĎÎąĎĎότεĎα παιχνίδια" #: src/bz-flatpak-entry.c:600 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Σελίδα Flathub" #: src/bz-flatpak-entry.c:621 msgctxt "Project URL Type" msgid "Project Website" msgstr "ΙĎτοĎελίδα του έĎγου" #: src/bz-flatpak-entry.c:625 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "ΠαĎακολούθηĎη ζητημάτων" #: src/bz-flatpak-entry.c:629 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-flatpak-entry.c:633 msgctxt "Project URL Type" msgid "Help" msgstr "Βοήθεια" #: src/bz-flatpak-entry.c:637 msgctxt "Project URL Type" msgid "Donate" msgstr "ΔωĎεά" #: src/bz-flatpak-entry.c:643 msgctxt "Project URL Type" msgid "Translate" msgstr "ΜετάφĎαĎη" #: src/bz-flatpak-entry.c:647 msgctxt "Project URL Type" msgid "Contact" msgstr "Επικοινωνία" #: src/bz-flatpak-entry.c:651 msgctxt "Project URL Type" msgid "Source Code" msgstr "Πηγαίος κώδικας" #: src/bz-flatpak-entry.c:657 msgctxt "Project URL Type" msgid "Contribute" msgstr "ΣυνειĎφέĎετε" #: src/bz-full-view.blp:20 src/bz-window.blp:126 src/bz-window.blp:420 msgid "Toggle transaction sidebar" msgstr "Εναλλαγή πλευĎικής ÎłĎαμμής Ďυναλλαγών" #: src/bz-full-view.blp:57 msgid "No Results" msgstr "Κανένα αποτέλεĎμα" #: src/bz-full-view.blp:58 msgid "Try a different search query" msgstr "ΔοκιμάĎτε μια διαφοĎετική αναζήτηĎη" #: src/bz-full-view.blp:64 src/bz-window.blp:193 msgid "Content" msgstr "ΠεĎιεχόμενο" #: src/bz-full-view.blp:210 msgid "Support" msgstr "ΥποĎτήĎιξη" #: src/bz-full-view.blp:226 msgid "Favorite Count" msgstr "ΑĎιθμός αγαπημένων" #: src/bz-full-view.blp:258 src/bz-full-view.blp:513 msgid "Open" msgstr "Ανοιχτό" #: src/bz-full-view.blp:271 src/bz-full-view.blp:486 msgid "Download & Install Application" msgstr "ΛήĎη και εγκατάĎταĎη εφαĎμογής" #: src/bz-full-view.blp:286 msgid "Uninstall Application" msgstr "ΑπεγκατάĎταĎη εφαĎμογής" #: src/bz-full-view.blp:301 src/bz-full-view.blp:528 msgid "Install Other Version" msgstr "ΕγκατάĎταĎη άλλης έκδοĎης" #: src/bz-full-view.blp:325 msgid "Size" msgstr "Μέγεθος" #: src/bz-full-view.blp:430 msgid "Downloads /mo" msgstr "ΛήĎεις /mo" #: src/bz-full-view.blp:547 msgid "Stopped Receiving Core Updates" msgstr "Δεν λαμβάνετε πλέον βαĎικές ενημεĎĎŽĎεις" #: src/bz-full-view.blp:561 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Αυτή η εφαĎμογή χĎηĎιμοποιεί ένα πεĎιβάλλον εκτέλεĎης που δεν λαμβάνει πλέον " "ενημεĎĎŽĎεις ή διοĎθώĎεις αĎφαλείας. Η χĎήĎη της ενδέχεται να μην είναι " "αĎφαλής." #: src/bz-full-view.blp:644 src/bz-window.c:1240 msgid "Delete Data" msgstr "ΔιαγĎαφή δεδομένων" #: src/bz-full-view.blp:778 msgid "Tags:" msgstr "Ετικέτες:" #: src/bz-full-view.c:289 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-full-view.c:296 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-full-view.c:303 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-full-view.c:313 #, c-format msgid "%d downloads in the last 30 days" msgstr "%d λήĎεις τις τελευταίες 30 ημέĎες" #: src/bz-full-view.c:345 #, c-format msgid "Download size of %s" msgstr "Μέγεθος λήĎης του %s" #: src/bz-full-view.c:378 msgid "All Ages" msgstr "Όλες οι ηλικίες" #: src/bz-full-view.c:390 msgid "Age rating information unavailable" msgstr "ΠληĎοφοĎίες Ďχετικά με την ηλικιακή βαθμολογία δεν είναι διαθέĎιμες" #: src/bz-full-view.c:395 msgid "Suitable for all ages" msgstr "Κατάλληλο για όλες τις ηλικίες" #: src/bz-full-view.c:397 #, c-format msgid "Suitable for ages %d and up" msgstr "Κατάλληλο για ηλικίες %d και άνω" #: src/bz-full-view.c:430 src/bz-full-view.c:435 src/bz-full-view.c:463 #: src/bz-full-view.c:474 msgid "Unknown" msgstr "ΆγνωĎτο" #: src/bz-full-view.c:440 #, c-format msgid "Free software licensed under %s" msgstr "ΕλεύθεĎÎż λογιĎμικό με άδεια χĎήĎης %s" #: src/bz-full-view.c:445 msgid "Free software" msgstr "ΕλεύθεĎÎż λογιĎμικό" #: src/bz-full-view.c:448 msgid "Proprietary Software" msgstr "Ιδιόκτητο λογιĎμικό" #: src/bz-full-view.c:451 #, c-format msgid "Special License: %s" msgstr "Ειδική άδεια: %s" #: src/bz-full-view.c:468 msgid "Free" msgstr "ΕλεύθεĎÎż" #: src/bz-full-view.c:471 src/bz-license-dialog.c:118 msgid "Proprietary" msgstr "Ιδιόκτητο" #: src/bz-full-view.c:476 src/bz-license-dialog.c:120 msgid "Special License" msgstr "Ειδική άδεια" #: src/bz-full-view.c:496 msgid "Adaptive" msgstr "ΠĎÎżĎαĎÎĽÎżĎτικό" #: src/bz-full-view.c:496 msgid "Desktop Only" msgstr "Μόνο για επιτĎαπέζιους υπολογιĎτές" #: src/bz-full-view.c:502 msgid "Works on desktop, tablets, and phones" msgstr "ΛειτουĎγεί Ďε επιτĎαπέζιους υπολογιĎτές, tablet και κινητά τηλέφωνα" #: src/bz-full-view.c:503 msgid "May not work on mobile devices" msgstr "Ενδέχεται να μην λειτουĎγεί Ďε κινητές ĎĎ…Ďκευές" #: src/bz-full-view.c:514 msgid "No URL" msgstr "ΧωĎÎŻĎ‚ διεύθυνĎη URL" #: src/bz-full-view.c:532 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Αυτή η εφαĎμογή διαθέτει άδεια FLOSS, που Ďημαίνει ότι Îż πηγαίος κώδικας " "μποĎεί να ελεγχθεί για λόγους αĎφαλείας." #: src/bz-full-view.c:533 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Αυτή η εφαĎμογή διαθέτει ιδιόκτητη άδεια χĎήĎης, που Ďημαίνει ότι Îż πηγαίος " "κώδικας έχει αναπτυχθεί ιδιωτικά και δεν μποĎεί να ελεγχθεί από ανεξάĎτητο " "Ď„Ďίτο μέĎος." #: src/bz-full-view.c:540 msgid "More Apps" msgstr "ΠεĎÎąĎĎότεĎες εφαĎμογές" #: src/bz-full-view.c:541 #, c-format msgid "More Apps by %s" msgstr "ΠεĎÎąĎĎότεĎες εφαĎμογές από %s" #: src/bz-full-view.c:548 msgid "Other Apps by this Developer" msgstr "Άλλες εφαĎμογές από αυτόν τον Ď€ĎογĎαμματιĎτή" #: src/bz-full-view.c:550 src/bz-full-view.c:658 #, c-format msgid "Other Apps by %s" msgstr "Άλλες εφαĎμογές από %s" #: src/bz-full-view.c:558 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "Το %s δεν είναι εγκατεĎτημένο, αλλά εξακολουθεί να πεĎιέχει <b>%s</b> " "δεδομένων." #: src/bz-full-view.c:660 msgid "Other Apps" msgstr "Άλλες εφαĎμογές" #: src/bz-full-view.c:662 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d ΕφαĎμογή" msgstr[1] "%d ΕφαĎμογές" #: src/bz-full-view.c:1010 msgid "Show Less" msgstr "ΕμφάνιĎη λιγότεĎων" #: src/bz-full-view.c:1010 msgid "Show More" msgstr "ΕμφάνιĎη πεĎÎąĎĎότεĎων" #: src/bz-hardware-support-dialog.blp:6 src/bz-hardware-support-dialog.blp:47 msgid "Hardware Support" msgstr "ΥποĎτήĎιξη υλικού" #: src/bz-hardware-support-dialog.c:69 msgid "Keyboard support" msgstr "ΥποĎτήĎιξη πληκτĎολογίου" #: src/bz-hardware-support-dialog.c:71 msgid "Requires keyboards" msgstr "Απαιτεί πληκτĎολόγια" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends keyboards" msgstr "ΣυνιĎτά πληκτĎολόγια" #: src/bz-hardware-support-dialog.c:73 msgid "Supports keyboards" msgstr "ΥποĎτηĎίζει πληκτĎολόγια" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for keyboards" msgstr "ΆγνωĎτη υποĎτήĎιξη για πληκτĎολόγια" #: src/bz-hardware-support-dialog.c:76 msgid "Mouse support" msgstr "ΥποĎτήĎιξη ποντικιού" #: src/bz-hardware-support-dialog.c:78 msgid "Requires mice or pointing devices" msgstr "Απαιτεί ποντίκια ή ĎĎ…Ďκευές κατάδειξης" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends mice or pointing devices" msgstr "ΣυνιĎτά ποντίκια ή ĎĎ…Ďκευές κατάδειξης" #: src/bz-hardware-support-dialog.c:80 msgid "Supports mice or pointing devices" msgstr "ΥποĎτηĎίζει ποντίκια ή ĎĎ…Ďκευές κατάδειξης" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for mice or pointing devices" msgstr "ΆγνωĎτη υποĎτήĎιξη για ποντίκια ή ĎĎ…Ďκευές κατάδειξης" #: src/bz-hardware-support-dialog.c:83 msgid "Touchscreen support" msgstr "ΥποĎτήĎιξη οθόνης αφής" #: src/bz-hardware-support-dialog.c:85 msgid "Requires touchscreens" msgstr "Απαιτεί οθόνες αφής" #: src/bz-hardware-support-dialog.c:86 msgid "Recommends touchscreens" msgstr "ΣυνιĎτά οθόνες αφής" #: src/bz-hardware-support-dialog.c:87 msgid "Supports touchscreens" msgstr "ΥποĎτηĎίζει οθόνες αφής" #: src/bz-hardware-support-dialog.c:88 msgid "Unknown support for touchscreens" msgstr "ΆγνωĎτη υποĎτήĎιξη για οθόνες αφής" #: src/bz-hardware-support-dialog.c:192 msgid "Mobile support" msgstr "ΥποĎτήĎιξη για κινητά" #: src/bz-hardware-support-dialog.c:193 msgid "Works on mobile devices" msgstr "ΛειτουĎγεί Ďε κινητές ĎĎ…Ďκευές" #: src/bz-hardware-support-dialog.c:193 msgid "May not work well on mobile devices" msgstr "ΜποĎεί να μην λειτουĎγεί καλά Ďε κινητές ĎĎ…Ďκευές" #: src/bz-hardware-support-dialog.c:198 msgid "Desktop support" msgstr "ΥποĎτήĎιξη επιτĎαπέζιων υπολογιĎτών" #: src/bz-hardware-support-dialog.c:199 msgid "Works well on large screens" msgstr "ΛειτουĎγεί καλά Ďε μεγάλες οθόνες" #: src/bz-hardware-support-dialog.c:233 #, c-format msgid "%s works best on specific hardware" msgstr "Το %s λειτουĎγεί καλύτεĎα Ďε ĎυγκεκĎιμένο υλικό" #: src/bz-hardware-support-dialog.c:240 #, c-format msgid "%s works on most devices" msgstr "Το %s λειτουĎγεί Ďτις πεĎÎąĎĎότεĎες ĎĎ…Ďκευές" #: src/bz-inspector.blp:5 msgid "Bazaar Inspector" msgstr "ΕπιθεωĎητής Bazaar" #: src/bz-inspector.blp:33 msgid "Background Task Info:" msgstr "ΠληĎοφοĎίες για την εĎγαĎία παĎαĎκηνίου:" #: src/bz-inspector.blp:43 msgid "Enable Global Debug Mode" msgstr "ΕνεĎγοποίηĎη καθολικής λειτουĎγίας αποĎφαλμάτωĎης" #: src/bz-inspector.blp:50 msgid "Active Blocklists" msgstr "ΕνεĎγές λίĎτες αποκλειĎμένων" #: src/bz-inspector.blp:67 msgid "Active Curated-Configs" msgstr "ΕνεĎγές Επιμελημένες-ΡυθμίĎεις" #: src/bz-inspector.blp:85 msgid "All Entry Groups" msgstr "Όλες οι ομάδες ειĎόδου" #: src/bz-inspector.blp:93 msgid "Filter..." msgstr "ΦίλτĎÎż..." #: src/bz-inspector.blp:134 msgid "Decache and Inspect" msgstr "ΚαθαĎÎąĎÎĽĎŚĎ‚ cache και Îλεγχος" #: src/bz-installed-page.blp:19 msgid "No Flatpaks Installed" msgstr "Δεν έχουν εγκαταĎταθεί Flatpaks" #: src/bz-installed-page.c:395 msgid "Choose an Installation" msgstr "Επιλέξτε μια εγκατάĎταĎη" #: src/bz-installed-page.c:398 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with? " msgstr "" "Îχετε εγκαταĎτήĎει πολλές εκδόĎεις αυτής της εφαĎμογής. Με ποια από αυτές " "θέλετε να ĎυνεχίĎετε; " #: src/bz-installed-page.c:402 src/bz-window.c:1270 src/bz-window.c:1293 msgid "Cancel" msgstr "ΑκύĎωĎη" #: src/bz-installed-tile.blp:61 src/bz-rich-app-tile.blp:137 msgid "Stopped Receiving Updates" msgstr "Δεν λαμβάνετε πλέον ενημεĎĎŽĎεις" #: src/bz-installed-tile.blp:75 msgid "Support this application" msgstr "ΥποĎτηĎίξτε αυτήν την εφαĎμογή" #: src/bz-license-dialog.blp:160 msgid "Get Involved" msgstr "Συμμετέχε" #: src/bz-license-dialog.c:107 src/bz-license-dialog.c:112 msgid "Unknown License" msgstr "ΆγνωĎτη άδεια χĎήĎης" #: src/bz-license-dialog.c:115 msgid "Community Built" msgstr "ΔημιουĎγήθηκε από την Κοινότητα" #: src/bz-license-dialog.c:148 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Αυτή η εφαĎμογή έχει αναπτυχθεί ανοιχτά από μια διεθνή κοινότητα και " "διατίθεται με άδεια χĎήĎης %s.\n" "\n" "ΜποĎείτε να ĎυμμετάĎχετε και να βοηθήĎετε να γίνει ακόμα καλύτεĎη." #: src/bz-license-dialog.c:156 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Αυτή η εφαĎμογή έχει αναπτυχθεί ανοιχτά από μια διεθνή κοινότητα.\n" "\n" "ΜποĎείτε να ĎυμμετάĎχετε και να βοηθήĎετε να γίνει ακόμα καλύτεĎη." #: src/bz-license-dialog.c:161 msgid "The license of this app is not known" msgstr "Η άδεια χĎήĎης αυτής της εφαĎμογής δεν είναι γνωĎτή" #: src/bz-license-dialog.c:165 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Αυτή η εφαĎμογή δεν έχει αναπτυχθεί ανοιχτά, επομένως μόνο οι " "Ď€ĎογĎαμματιĎτές της γνωĎίζουν πώς λειτουĎγεί. ΜποĎεί να είναι αναĎφαλής με " "Ď„Ďόπους που είναι δύĎκολο να εντοπιĎτούν και μποĎεί να αλλάξει χωĎÎŻĎ‚ " "εποπτεία.\n" "\n" "ΜποĎεί να έχετε ή να μην έχετε τη δυνατότητα να ĎυνειĎφέĎετε Ďε αυτήν την " "εφαĎμογή." #: src/bz-license-dialog.c:174 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Αυτή η εφαĎμογή έχει αναπτυχθεί με την ειδική άδεια %s.\n" "\n" "ΜποĎεί να έχετε ή να μην έχετε τη δυνατότητα να ĎυνειĎφέĎετε Ďε αυτήν την " "εφαĎμογή." #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "ΠĎοτιμήĎεις" #: src/bz-preferences-dialog.blp:23 msgid "Content Filters" msgstr "ΦίλτĎα πεĎιεχομένου" #: src/bz-preferences-dialog.blp:26 msgid "Free Software Only" msgstr "Μόνο ελεύθεĎÎż λογιĎμικό" #: src/bz-preferences-dialog.blp:27 msgid "Hide proprietary applications when browsing and searching" msgstr "ΑπόκĎĎ…Ďη ιδιόκτητων εφαĎμογών κατά την πεĎιήγηĎη και την αναζήτηĎη" #: src/bz-preferences-dialog.blp:31 msgid "Flathub Results Only" msgstr "ΑποτελέĎματα μόνο από το Flathub" #: src/bz-preferences-dialog.blp:32 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "" "ΠεĎιοĎÎŻĎτε τα αποτελέĎματα αναζήτηĎης και πεĎιήγηĎης Ďε εφαĎμογές που είναι " "διαθέĎιμες μόνο Ďτο Flathub" #: src/bz-preferences-dialog.blp:36 msgid "Hide EOL Apps" msgstr "ΑπόκĎĎ…Ďη εφαĎμογών EOL" #: src/bz-preferences-dialog.blp:37 msgid "Hide apps which are no longer supported by their developers" msgstr "" "ΑπόκĎĎ…Ďη εφαĎμογών που δεν υποĎτηĎίζονται πλέον από τους Ď€ĎογĎαμματιĎτές τους" #: src/bz-preferences-dialog.blp:42 src/bz-window.blp:313 msgid "Search" msgstr "ΑναζήτηĎη" #: src/bz-preferences-dialog.blp:45 msgid "Delay Search Results" msgstr "Αναβολή αποτελεĎμάτων αναζήτηĎης" #: src/bz-preferences-dialog.blp:46 msgid "Improve results performance by debouncing search terms" msgstr "" "ΒελτιώĎτε την απόδοĎη των αποτελεĎμάτων με την απομάκĎυνĎη των ĎŚĎων " "αναζήτηĎης" #: src/bz-preferences-dialog.blp:51 msgid "Progress Bar" msgstr "ΜπάĎα Ď€Ďοόδου" #: src/bz-preferences-dialog.blp:52 msgid "Choose a theme for the progress bar!" msgstr "Επιλέξτε ένα θέμα για τη μπάĎα Ď€Ďοόδου!" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "ΧĎώμα έμφαĎης" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "ΧĎώματα υπεĎηφάνειας" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας ΛεĎβιών" #: src/bz-preferences-dialog.c:35 msgid "Transgender Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας ΤĎανς" #: src/bz-preferences-dialog.c:36 msgid "Nonbinary Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Nonbinary" #: src/bz-preferences-dialog.c:37 msgid "Bisexual Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Bisexual" #: src/bz-preferences-dialog.c:38 msgid "Asexual Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Asexual" #: src/bz-preferences-dialog.c:39 msgid "Pansexual Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Pansexual" #: src/bz-preferences-dialog.c:40 msgid "Aromantic Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Aromantic" #: src/bz-preferences-dialog.c:41 msgid "Genderfluid Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Genderfluid" #: src/bz-preferences-dialog.c:42 msgid "Polysexual Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Polysexual" #: src/bz-preferences-dialog.c:43 msgid "Omnisexual Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Omnisexual" #: src/bz-preferences-dialog.c:44 msgid "Aroace Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Aroace" #: src/bz-preferences-dialog.c:45 msgid "Agender Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Agender" #: src/bz-preferences-dialog.c:46 msgid "Genderqueer Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Genderqueer" #: src/bz-preferences-dialog.c:47 msgid "Intersex Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Intersex" #: src/bz-preferences-dialog.c:48 msgid "Demigender Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Demigender" #: src/bz-preferences-dialog.c:49 msgid "Biromantic Pride Colors" msgstr "ΧĎώματα ΥπεĎηφάνειας Biromantic" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:26 msgid "Version History" msgstr "ΙĎτοĎικό εκδόĎεων" #: src/bz-releases-list.c:128 #, c-format msgid "Version %s" msgstr "ÎκδοĎη %s" #: src/bz-releases-list.c:153 msgid "No details for this release" msgstr "Δεν υπάĎχουν λεπτομέĎειες για αυτήν την έκδοĎη" #: src/bz-rich-app-tile.blp:154 msgid "Get" msgstr "ΛήĎη" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Στιγμιότυπα οθόνης" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "ΠĎοηγούμενο Ďτιγμιότυπο οθόνης" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "Επόμενο Ďτιγμιότυπο οθόνης" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "ΑντιγĎαφή εικόνας" #: src/bz-screenshot-page.blp:147 msgid "Reset View" msgstr "ΕπαναφοĎά Ď€Ďοβολής" #: src/bz-screenshot-page.blp:158 msgid "Zoom Out" msgstr "ÎŁÎĽÎŻÎşĎυνĎη" #: src/bz-screenshot-page.blp:168 msgid "Zoom In" msgstr "ΜεγέθυνĎη" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "ΚαĎουζέλ Στιγμιότυπων Οθόνης" #: src/bz-screenshots-carousel.blp:104 msgid "Open Screenshot Viewer" msgstr "Άνοιγμα Ď€ĎογĎάμματος Ď€Ďοβολής Ďτιγμιότυπων οθόνης" #: src/bz-search-widget.blp:106 msgid "Search Apps, Games, Software" msgstr "ΑναζήτηĎη εφαĎμογών, παιχνιδιών, λογιĎμικού" #: src/bz-search-widget.blp:150 msgid "Categories Unavailable" msgstr "ΚατηγοĎίες Μη διαθέĎιμες" #: src/bz-search-widget.blp:151 msgid "Search for apps using the search bar above." msgstr "ΑναζητήĎτε εφαĎμογές χĎηĎιμοποιώντας τη ÎłĎαμμή αναζήτηĎης παĎαπάνω." #: src/bz-search-widget.blp:235 msgid "No Applications Found" msgstr "Δεν βĎέθηκαν εφαĎμογές" #: src/bz-search-widget.c:241 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Δεν βĎέθηκαν αποτελέĎματα για το \"%s\" Ďτο Flathub" #: src/bz-share-list.c:64 msgid "Copied!" msgstr "ΑντιγĎάφηκε!" #: src/bz-share-list.c:116 msgid "Copy Link" msgstr "ΑντιγĎαφή ĎυνδέĎμου" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "Άνοιγμα ĎυνδέĎμου" #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "ΧĎονοδιάγĎαμμα" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "ΕγκαταĎτάĎεις:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "ΚόĎμος" #: src/bz-tag-list.c:96 msgid "No Results Found" msgstr "Δεν βĎέθηκαν αποτελέĎματα" #: src/bz-tag-list.c:108 #, c-format msgid "Apps Tagged \"%s\"" msgstr "ΕφαĎμογές με ετικέτα \"%s\"" #: src/bz-tag-list.c:109 #, c-format msgid "%d Applications" msgstr "%d ΕφαĎμογές" #: src/bz-tag-list.c:124 msgid "Search failed" msgstr "Η αναζήτηĎη απέτυχε" #: src/bz-transaction-manager.c:1135 #, c-format msgid "Finished in %.02f seconds" msgstr "ΟλοκληĎώθηκε Ďε %.02f δευτεĎόλεπτα" #: src/bz-transaction-view.blp:95 msgid "App Add-on" msgstr "ΠĎĎŚĎθετο εφαĎμογής" #: src/bz-transaction-view.blp:120 msgid "Runtime" msgstr "ΠεĎιβάλλον εκτέλεĎης" #: src/bz-transaction-view.blp:146 src/bz-transaction-view.blp:172 msgid "Install Size" msgstr "Μέγεθος εγκατάĎταĎης" #: src/bz-transaction-view.blp:200 msgid "Update" msgstr "ΕνημέĎωĎη" #: src/bz-transaction-view.c:139 #, c-format msgid "Transferred %s so far" msgstr "ΜεταφέĎθηκαν %s μέχĎÎą τώĎα" #: src/bz-transaction.c:336 msgid "Pending" msgstr "Σε εκκĎεμότητα" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "ΕγκατάĎταĎη τώĎα" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "Διατίθενται ενημεĎĎŽĎεις" #: src/bz-update-dialog.blp:11 msgid "" "The following applications are eligible for updates. Would you like to " "install them?" msgstr "" "Οι ακόλουθες εφαĎμογές είναι επιλέξιμες για ενημεĎĎŽĎεις. Îέλετε να τις " "εγκαταĎτήĎετε;" #: src/bz-update-dialog.c:134 #, c-format msgid "" "%d runtimes and/or addons are eligible for updates. Would you like to " "install them?" msgstr "" "%d πεĎιβάλλοντα εκτέλεĎης και/ή Ď€ĎĎŚĎθετα είναι επιλέξιμα για ενημεĎĎŽĎεις. " "Îέλετε να τα εγκαταĎτήĎετε;" #: src/bz-update-dialog.c:142 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "Επιπλέον, θα ενημεĎωθούν %d πεĎιβάλλοντα εκτέλεĎης και/ή Ď€ĎĎŚĎθετα." #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "ΔιαχείĎÎąĎη υπολειπόμενων δεδομένων χĎήĎτη" #: src/bz-user-data-page.blp:41 msgid "Loading" msgstr "ΦόĎτωĎη" #: src/bz-user-data-page.blp:55 msgid "No User Data found" msgstr "Δεν βĎέθηκαν δεδομένα χĎήĎτη" #: src/bz-user-data-page.blp:60 msgid "User Data" msgstr "Δεδομένα χĎήĎτη" #: src/bz-user-data-tile.c:144 #, c-format msgid "Removed User Data for %s" msgstr "ΔιαγĎάφηκαν τα δεδομένα χĎήĎτη για %s" #: src/bz-user-data-tile.blp:74 msgid "Remove User Data" msgstr "ΚατάĎγηĎη δεδομένων χĎήĎτη" #: src/bz-window.blp:66 msgid "Inspect UI Entry" msgstr "ΕπιθεώĎηĎη ειĎόδου UI" #: src/bz-window.blp:73 msgid "All Debug Actions" msgstr "Όλες οι ενέĎγειες εντοπιĎμού Ďφαλμάτων" #: src/bz-window.blp:107 msgid "Tasks" msgstr "ΕĎγαĎίες" #: src/bz-window.blp:163 msgid "Stop Active Tasks" msgstr "Διακοπή ενεĎγών εĎγαĎιών" #: src/bz-window.blp:171 msgid "Clear History" msgstr "ΕκκαθάĎÎąĎη ÎąĎτοĎικού" #: src/bz-window.blp:187 msgid "No Tasks Yet" msgstr "Δεν υπάĎχουν ακόμη εĎγαĎίες" #: src/bz-window.blp:258 msgid "Refreshing Store Content" msgstr "ΑνανέωĎη πεĎιεχομένου καταĎτήματος" #: src/bz-window.blp:273 msgid "Curated" msgstr "Επιμελημένες" #: src/bz-window.blp:286 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:450 msgid "Network connection is metered — automatic store data sync is paused" msgstr "" "Η ĎύνδεĎη δικτύου μετĎάται — η αυτόματη ĎυγχĎονιĎÎĽĎŚĎ‚ δεδομένων του " "καταĎτήματος έχει παυθεί" #: src/bz-window.blp:451 src/bz-window.blp:460 msgid "Sync Manually" msgstr "ΧειĎοκίνητος ĎυγχĎονιĎÎĽĎŚĎ‚" #: src/bz-window.blp:459 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Îχετε ĎύνδεĎη Ďτο δίκτυο, αλλά βλέπετε μια Ď€ĎÎżĎωĎινά αποθηκευμένη έκδοĎη του " "Flathub" #: src/bz-window.blp:534 msgid "_Login with Flathub" msgstr "_ΣύνδεĎη με το Flathub" #: src/bz-window.blp:540 msgid "_Manage Leftover User Data" msgstr "_ΔιαχείĎÎąĎη υπολειπόμενων δεδομένων χĎήĎτη" #: src/bz-window.blp:545 msgid "_Synchronize Remotes" msgstr "_ΣυγχĎονιĎÎĽĎŚĎ‚ απομακĎĎ…Ďμένου διακομιĎτής" #: src/bz-window.blp:571 msgid "Open Bazaar Inspector" msgstr "Άνοιγμα ΕπιθεωĎητή Bazaar" #: src/bz-window.blp:580 msgid "Log Out" msgstr "ΑποĎύνδεĎη" #: src/bz-window.c:475 #, c-format msgid "%d Update Available" msgid_plural "%d Updates Available" msgstr[0] "%d ΔιαθέĎιμη ενημέĎωĎη" msgstr[1] "%d ΔιαθέĎιμες ενημεĎĎŽĎεις" #: src/bz-window.c:973 msgid "" "The ability to inspect and install local .flatpak bundle files is coming " "soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "Η δυνατότητα ελέγχου και εγκατάĎταĎης τοπικών αĎχείων πακέτων .flatpak θα " "είναι διαθέĎιμη Ďύντομα! Εν τω μεταξύ, δοκιμάĎτε να εκτελέĎετε την εντολή\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "Ďτη ÎłĎαμμή εντολών." #: src/bz-window.c:1100 msgid "Can't do that right now!" msgstr "Δεν μποĎεί να γίνει αυτή τη Ďτιγμή!" #: src/bz-window.c:1231 msgid "Keep Data" msgstr "ΔιατήĎηĎη δεδομένων" #: src/bz-window.c:1232 msgid "Allow restoring settings and content" msgstr "ΕπιτĎέĎτε την επαναφοĎά ĎυθμίĎεων και πεĎιεχομένου" #: src/bz-window.c:1241 msgid "Permanently remove app data to save space" msgstr "ΔιαγĎάĎτε μόνιμα τα δεδομένα των εφαĎμογών για να εξοικονομήĎετε χώĎÎż" #: src/bz-window.c:1264 #, c-format msgid "Install %s?" msgstr "ΕγκατάĎταĎη %s?" #: src/bz-window.c:1267 msgid "May install additional shared components" msgstr "ΜποĎεί να εγκαταĎτήĎει επιπλέον κοινόχĎηĎτα Ďτοιχεία" #: src/bz-window.c:1286 #, c-format msgid "Remove %s?" msgstr "ΑφαίĎεĎη %s?" #: src/bz-window.c:1290 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Δεν θα είναι δυνατή η χĎήĎη του %s μετά την απεγκατάĎταĎή του." #: src/bz-window.c:1353 msgid "Resume Current Tasks" msgstr "ΣυνέχιĎη Ď„ĎεχουĎών εĎγαĎιών" #: src/bz-window.c:1359 msgid "Pause Current Tasks" msgstr "ΠαύĎη Ď„ĎέχουĎων εĎγαĎιών" #: src/bz-world-map.c:572 #, c-format msgid "%s: %'u downloads" msgstr "%s: %'u λήĎεις" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "Γενικά" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Άνοιγμα Διαλόγου ΑναζήτηĎης" #: src/gtk/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Άνοιγμα ΠĎοτιμήĎεων" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Refresh" msgstr "ΑνανέωĎη" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "Εναλλαγή ΔιαχειĎÎąĎτή Συναλλαγών" #: src/gtk/shortcuts-dialog.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "ΕμφάνιĎη ĎυντομεύĎεων" #: src/gtk/shortcuts-dialog.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "Îξοδος" ��������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/es.po������������������������������������������������������������������0000664�0000000�0000000�00000265767�15234476640�0016702�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# SPDX-FileCopyrightText: 2025 Spanish translations for bazaar package # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025 robotta <chriserizodos@gmail.com> # robotta <>, 2025. # Ă“scar Fernández DĂ­az <oscfdezdz@tuta.io>, 2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-06-27 10:28+0200\n" "PO-Revision-Date: 2026-06-27 21:26+0200\n" "Last-Translator: Ă“scar Fernández DĂ­az <oscfdezdz@tuta.io>\n" "Language-Team: Spanish\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 50.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:46 #: src/bz-window.blp:202 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Bazar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Añada, elimine o actualice programas flatpak en este ordenador" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Sistema;GestorDePaquetes;Discover;Flatpak;Software;Store;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Ventana nueva" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Descubrir e instalar aplicaciones" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Una tienda de aplicaciones rápida y moderna para Linux enfocada en descubrir " "e instalar aplicaciones y complementos Flatpak, particularmente de Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Poner en cola varias instalaciones y seguir explorando" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Ver fácilmente los permisos de la aplicaciĂłn" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Inicie sesiĂłn en Flathub para ver y gestionar sus favoritos" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Buscar aplicaciones directamente desde GNOME Shell" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:786 msgid "The Bazaar Contributors" msgstr "Los colaboradores de Bazar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "La página de inicio que muestra las aplicaciones de Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Página de exhibiciĂłn de la aplicaciĂłn" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Página de la biblioteca" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Página de bĂşsqueda" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Página de categorĂ­a" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "DejĂł de recibir actualizaciones" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Desinstalar" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Instalar" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Gestionar complementos" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "No hay complementos visibles" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Sus preferencias de filtrado actuales ocultan todos los complementos " "conocidos. Intente ajustarlas." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Página del complemento" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "Descargas por mes" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "DejĂł de recibir actualizaciones del sistema" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Este complemento usa un entorno de ejecuciĂłn que ya no recibe " "actualizaciones ni correcciones de seguridad. Puede llegar a ser inseguro " "usarlo." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "Complemento para %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "Mostrar menos" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 src/bz-section-view.blp:71 msgid "Show More" msgstr "Mostrar más" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "EstadĂ­sticas de descarga" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "CalificaciĂłn por edades" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Violencia de dibujos animados" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "No hay informaciĂłn sobre violencia de dibujos animados" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Violencia fantástica" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "No hay informaciĂłn sobre violencia fantástica" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Violencia realista" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "No hay informaciĂłn sobre violencia realista" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Violencia con derramamiento de sangre" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "No hay informaciĂłn sobre derramamiento de sangre" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Violencia sexual" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "No hay informaciĂłn sobre violencia sexual" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alcohol" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "No hay informaciĂłn sobre referencias al alcohol" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Estupefacientes" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "No hay informaciĂłn sobre referencias a drogas ilegales" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabaco" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "No hay informaciĂłn sobre referencias a productos de tabaco" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Desnudez" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "No hay informaciĂłn sobre desnudez de ningĂşn tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Temas sexuales" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "No hay informaciĂłn sobre referencias o descripciones de naturaleza sexual" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Lenguaje soez" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "No hay informaciĂłn sobre lenguaje soez de ningĂşn tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Humor inapropiado" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "No hay informaciĂłn sobre humor inapropiado" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "DiscriminaciĂłn" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "No hay informaciĂłn sobre lenguaje discriminatorio de ningĂşn tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Publicidad" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "No hay informaciĂłn sobre publicidad de ningĂşn tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Apuestas y juego" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "No hay informaciĂłn sobre juego o apuestas de ningĂşn tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Compras" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "No hay informaciĂłn sobre la posibilidad de gastar dinero" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "ConversaciĂłn entre usuarios" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "No hay informaciĂłn sobre formas de conversar con otros usuarios" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "ConversaciĂłn de sonido entre usuarios" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "No hay informaciĂłn sobre formas de hablar con otros usuarios" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Detalles de contacto" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "No hay informaciĂłn sobre compartir nombres de usuario de redes sociales o " "direcciones de correo electrĂłnico" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "InformaciĂłn de identificaciĂłn" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "No hay informaciĂłn sobre compartir informaciĂłn de usuario con terceros" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Compartir ubicaciĂłn" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "No hay informaciĂłn sobre compartir la ubicaciĂłn fĂ­sica con otros usuarios" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "ProstituciĂłn" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "No hay informaciĂłn sobre referencias a la prostituciĂłn" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Adulterio" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "No hay informaciĂłn sobre referencias al adulterio" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Personajes sexualizados" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "No hay informaciĂłn sobre personajes sexualizados" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "ProfanaciĂłn" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "No hay informaciĂłn sobre referencias a la profanaciĂłn" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Restos humanos" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "No hay informaciĂłn sobre restos visibles de personas fallecidas" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Esclavitud" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "No hay informaciĂłn sobre referencias a la esclavitud" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "No incluye referencias a drogas" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "No incluye juramentos, lenguaje soez ni otros tipos de lenguaje fuerte" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "No incluye anuncios ni transacciones monetarias" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "No incluye sexo ni desnudez" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "No incluye una funcionalidad de conversaciĂłn sin control" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "No incluye violencia" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogas" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Lenguaje fuerte" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Dinero" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Social" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Violencia" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Todas" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s tiene una clasificaciĂłn por edades desconocida" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s es adecuado para todos" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s es adecuado para niños pequeños" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s es adecuado para niños" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s es adecuado para adolescentes" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s es adecuado para adultos" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s es adecuado para %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Carpeta del sistema %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Subcarpeta personal %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Carpetas del sistema anfitriĂłn" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "ConfiguraciĂłn del sistema anfitriĂłn desde /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Subcarpeta de escritorio %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Carpeta de escritorio" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Subcarpeta de documentos %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Carpeta de documentos" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Subcarpeta de mĂşsica %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Carpeta de mĂşsica" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Subcarpeta de imágenes %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Carpeta de imágenes" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Subcarpeta de comparticiĂłn pĂşblica %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Carpeta de comparticiĂłn pĂşblica" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Subcarpeta de vĂ­deos %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Carpeta de vĂ­deos" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Subcarpeta de plantillas %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Carpeta de plantillas" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Subcarpeta de cachĂ© de usuario %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Carpeta de cachĂ© de usuario" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Subcarpeta de configuraciĂłn de usuario %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Carpeta de configuraciĂłn de usuario" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Subcarpeta de datos de usuario %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Carpeta de datos de usuario" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Subcarpeta del entorno de ejecuciĂłn de usuario %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Carpeta del entorno de ejecuciĂłn de usuario" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Acceso al sistema de archivos para %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Ruta del sistema de archivos desconocida" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Tamaño de la descarga" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Tamaño instalado" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Cantidad que descargar de internet" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Tamaño en disco" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Abrir la carpeta de datos de usuario" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Sus datos de usuario" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "CachĂ©s, ajustes y otros datos de la aplicaciĂłn" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "CachĂ©" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Datos temporales en cachĂ©" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "Limpiar cachĂ©" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Tamaño del entorno de ejecuciĂłn instalado" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Tamaño de descarga del entorno de ejecuciĂłn" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "N/D" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Tamaño de la aplicaciĂłn" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Verificado" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Instalado" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:789 msgid "translator-credits" msgstr "" "robotta\n" "Ă“scar Fernández DĂ­az <oscfdezdz@tuta.io>" #: src/bz-application.c:799 msgid "Special Thanks" msgstr "Agradecimientos especiales" #: src/bz-application.c:857 msgid "Logged Out Successfully!" msgstr "¡SesiĂłn cerrada correctamente!" #: src/bz-application.c:995 msgid "Performing setup…" msgstr "Realizando la configuraciĂłn…" #: src/bz-application.c:1087 msgid "Set Up System Flathub?" msgstr "ÂżConfigurar Flathub en el sistema?" #: src/bz-application.c:1090 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "El repositorio remoto Flathub del sistema no está configurado. Bazar " "requiere que Flathub estĂ© configurado en la instalaciĂłn de Flatpak del " "sistema para explorar e instalar aplicaciones.\n" "\n" "AĂşn puede usar Bazar para explorar y eliminar aplicaciones ya instaladas." #: src/bz-application.c:1097 msgid "Set Up Flathub?" msgstr "ÂżConfigurar Flathub?" #: src/bz-application.c:1100 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub no está configurado en este sistema. No podrá explorar e instalar " "aplicaciones en Bazar si no está disponible.\n" "\n" "AĂşn puede usar Bazar para explorar y eliminar aplicaciones ya instaladas." #: src/bz-application.c:1106 msgid "Later" msgstr "Más tarde" #: src/bz-application.c:1107 msgid "Set Up Flathub" msgstr "Configurar Flathub" #: src/bz-application.c:1626 msgid "A backend error occurred" msgstr "OcurriĂł un error en el motor de soporte" #: src/bz-application.c:1826 src/bz-application.c:4045 msgid "Refreshing…" msgstr "Actualizando…" #: src/bz-application.c:1990 src/bz-application.c:4043 #, c-format msgid "Loading %d apps…" msgstr "Cargando %d aplicaciones…" #: src/bz-application.c:2043 msgid "Failed to open file" msgstr "FallĂł al abrir el archivo" #: src/bz-application.c:2159 msgid "An initialization error occurred" msgstr "OcurriĂł un error de inicializaciĂłn" #: src/bz-application.c:2553 msgid "Checking for updates…" msgstr "Comprobando actualizaciones…" #: src/bz-application.c:2609 msgid "Failed to check for updates" msgstr "FallĂł al comprobar las actualizaciones" #: src/bz-application.c:3755 msgid "Malformed Link" msgstr "Enlace malformado" #: src/bz-application.c:3756 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "El enlace usado para abrir esta aplicaciĂłn tiene mayĂşsculas incorrectas y " "podrĂ­a dejar de funcionar en el futuro.\n" "\n" "Esto se debe probablemente a que KRunner envĂ­a identificadores de aplicaciĂłn " "incorrectos." #: src/bz-application.c:3764 msgid "Could not find app" msgstr "No se pudo encontrar la aplicaciĂłn" #: src/bz-application.c:3795 msgid "Failed to load metainfo" msgstr "FallĂł al cargar la metainformaciĂłn" #: src/bz-application.c:4047 msgid "Writing to cache…" msgstr "Escribiendo en la caché…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Mostrar todo" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Todo sobre «%s»" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d aplicaciones" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "FallĂł al cargar el artĂ­culo" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "InstalaciĂłn de paquete independiente" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Las dependencias adicionales pueden requerir espacio extra" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Instalar esta aplicaciĂłn puede requerir añadir una nueva fuente de software. " "Otras aplicaciones de esta fuente aparecerán en Bazar.\n" "\n" "Solo añada esta fuente si está seguro de que confĂ­a en ella." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "¡Instalado correctamente!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Abrir" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Mostrar detalles de la aplicaciĂłn" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "Ya instalado" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "InstalaciĂłn fallida" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Tamaño de instalaciĂłn desconocido" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Cerca de %s por instalar" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Sin permisos especiales" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f M" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f K" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d descargas en el Ăşltimo mes" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s entorno de ejecuciĂłn" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Descargar" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "InformaciĂłn de tamaño no disponible" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Tamaño de la descarga de %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Para todas las edades" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "InformaciĂłn de clasificaciĂłn por edades no disponible" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Apto para todas las edades" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Apto para mayores de %d" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Desconocido" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Software libre licenciado bajo %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Software libre" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Software propietario" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Licencia especial: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Software libre" #: src/context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Propietario" #: src/context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Licencia especial" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptativo" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Solo para escritorio" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Funciona en escritorios, tabletas y telĂ©fonos" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "PodrĂ­a no funcionar en dispositivos mĂłviles" #: src/context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Seguro" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Riesgo bajo" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Riesgo medio" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Riesgo alto" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "VacĂ­o" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Sin selecciĂłn dedicada" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "No se proporciona informaciĂłn de selecciĂłn dedicada en este sistema. AĂşn " "puede explorar aplicaciones en Flathub" #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "Explorar Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Sin conexiĂłn" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Navegador" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "No verificado" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "InformaciĂłn del desarrollador no disponible." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "La propiedad del identificador de aplicaciĂłn %s no ha sido verificada y " "podrĂ­a ser un paquete de la comunidad." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "La propiedad del identificador de aplicaciĂłn %s ha sido verificada " "manualmente por el equipo de Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "La propiedad del identificador de aplicaciĂłn %1$s ha sido verificada por " "<b>%2$s</b> en <b>%3$s</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "" "La propiedad del identificador de aplicaciĂłn %1$s ha sido verificada usando " "%2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "La propiedad del identificador de aplicaciĂłn %s ha sido verificada." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Notas de lanzamiento completas" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "¡Este lanzamiento fue posible gracias a usuarios como usted!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Me encanta crear Bazar, pero no puedo hacerlo solo. Ayude a apoyar el " "desarrollo continuo haciendo una donaciĂłn en Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Donar a Bazar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "ÂżQuĂ© hay de nuevo en %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Lanzado el %-e de %B de %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Elija una instalaciĂłn" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Tiene varias versiones instaladas de esta aplicaciĂłn. ÂżCon cuál quiere " "proceder?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Cancelar" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Solo para este usuario" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "este usuario" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "todos los usuarios" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:98 msgid "Details" msgstr "Detalles" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Copiar" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:408 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "¡Copiado!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Recuento de favoritos" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "FallĂł al actualizar el favorito" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Inicie sesiĂłn con Flathub para gestionar los favoritos" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Iniciar sesiĂłn" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:346 msgid "Favorites" msgstr "Favoritos" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:86 msgid "Install All" msgstr "Instalar todo" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Cargando" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Sin favoritos" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Las aplicaciones que marque como favoritas aparecerán aquĂ­" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Apoyar esta aplicaciĂłn" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Quitar de favoritos" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "FallĂł al quitar de favoritos" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Anterior" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Siguiente" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "EdiciĂłn" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "MIDI" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mezclador" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "MĂşsica" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Reproductor" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Grabadora" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Secuenciador" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Sintonizador" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TelevisiĂłn" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "EmulaciĂłn" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "AcciĂłn" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Aventura" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Arcade" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Bloques" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Tablero" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Cartas" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Infantil" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "LĂłgica" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Juegos de rol" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Disparos" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "SimulaciĂłn" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Deportes" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Estrategia" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Navegadores" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "ConversaciĂłn" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Correo electrĂłnico" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "ComparticiĂłn de archivos" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Sonido y vĂ­deo" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Multimedia" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Más sonido y vĂ­deo" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "Herramientas de desarrollo" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Desarrollo" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Más herramientas de desarrollo" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "EducaciĂłn" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Aprendizaje" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "Más educaciĂłn" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Juegos" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Jugar" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Más juegos" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "FotografĂ­a y ediciĂłn de gráficos" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "CreaciĂłn" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Más fotografĂ­a y ediciĂłn de gráficos" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "Conexiones y redes" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "Más conexiones y redes" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Productividad" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Trabajo" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Más productividad" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Ciencia" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Más ciencia" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Sistema" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Más sistema" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Utilidades" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "Herramientas" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Más utilidades" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Tendencia" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Más tendencias" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "Populares" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Ver más populares" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "ReciĂ©n añadidas" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Novedades" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Ver más novedades" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Actualizadas recientemente" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Actualizado" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Ver más actualizadas recientemente" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "MĂłvil" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Más para mĂłviles" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Más Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "Aplicaciones de KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "Más aplicaciones de KDE" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Juegos" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "Más juegos" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Emuladores" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Más emuladores" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "Lanzadores" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Más lanzadores de juegos" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Herramientas de juegos" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Más herramientas de juegos" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub no está añadido" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "El repositorio remoto de Flathub no se encontrĂł en ninguna de sus " "instalaciones de Flatpak." #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub no está disponible" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "No se puede conectar con Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "AĂşn puede buscar y gestionar aplicaciones." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Buscar aplicaciones" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Volver a conectar" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "AplicaciĂłn del dĂ­a" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Para llevar" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Aplicaciones para sus telĂ©fonos y tabletas con Linux" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "Más aplicaciones mĂłviles" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "Nosotros​ ♥​ juegos" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Juegos y aplicaciones para ejecutar sus tĂ­tulos favoritos" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Sin resultados" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Prueba con un tĂ©rmino de bĂşsqueda diferente" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Contenido" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Esta es una vista previa local, algunos detalles pueden diferir de la lista " "publicada" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Vista previa de la apariencia en la tienda" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Soporte" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Esta aplicaciĂłn usa un entorno de ejecuciĂłn que ya no recibe actualizaciones " "ni correcciones de seguridad. Puede llegar a ser inseguro usarlo." #: src/bz-full-view.blp:540 msgid "Trash Data" msgstr "Enviar datos a la papelera" #: src/bz-full-view.blp:603 msgid "Add-ons" msgstr "Complementos" #: src/bz-full-view.blp:638 msgid "More Add-Ons" msgstr "Más complementos" #: src/bz-full-view.blp:649 msgid "Links" msgstr "Enlaces" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Sin enlace" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Esta aplicaciĂłn tiene una licencia de cĂłdigo abierto (FLOSS), lo que " "significa que el cĂłdigo fuente se puede auditar por seguridad." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Esta aplicaciĂłn tiene una licencia propietaria, lo que significa que el " "cĂłdigo fuente se desarrolla de forma privada y no puede ser auditado por un " "tercero independiente." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Más aplicaciones" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Más aplicaciones de %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Otras aplicaciones de este desarrollador" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "Otras aplicaciones de %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s no está instalada, pero todavĂ­a tiene <b>%s</b> de datos guardados." #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "Otras aplicaciones" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d aplicaciĂłn" msgstr[1] "%d aplicaciones" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "FallĂł al eliminar los datos de usuario" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Soporte de hardware" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Soporte de teclado" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Requiere teclado" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Recomienda teclado" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Soporta teclado" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Soporte desconocido de teclado" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Soporte de ratĂłn" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Requiere ratĂłn o dispositivo de puntero" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Recomienda ratĂłn o dispositivo de puntero" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Soporta ratĂłn o dispositivo de puntero" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Soporte desconocido de ratĂłn o dispositivo de puntero" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Soporte de pantalla táctil" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Requiere pantalla táctil" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Recomienda pantalla táctil" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Soporta pantalla táctil" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Soporte desconocido de pantalla táctil" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Soporte de mĂłviles" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Funciona en mĂłviles" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Puede no funcionar bien en mĂłviles" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Soporte de escritorio" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Funciona bien en pantallas grandes" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s funciona mejor en hardware especĂ­fico" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s funciona en la mayorĂ­a de dispositivos" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Abrir" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Desinstalar la aplicaciĂłn" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Quitar" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Actualizar" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Quitar" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Instalar %s desde %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Instalar %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Cancelar" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Cancelando" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "BotĂłn de donaciĂłn" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "Buscar aplicaciones instaladas" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Limpiar bĂşsqueda" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "No se encontraron aplicaciones" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Buscar en la tienda en su lugar" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "Biblioteca" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "Actualizaciones pendientes" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "Descargas" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "Desinstaladas recientemente" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "Limpiar tareas completadas" #: src/bz-library-page.blp:277 msgid "Sort Options" msgstr "Opciones de ordenaciĂłn" #: src/bz-library-page.blp:336 msgid "Sort By" msgstr "Ordenar por" #: src/bz-library-page.blp:350 msgid "Name" msgstr "Nombre" #: src/bz-library-page.blp:356 msgid "Size" msgstr "Tamaño" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "" "No se encontraron coincidencias para «%s» en la lista de aplicaciones " "instaladas" #: src/bz-library-page.c:193 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u actualizaciĂłn disponible" msgstr[1] "%u actualizaciones disponibles" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u aplicaciĂłn instalada" msgstr[1] "%u aplicaciones instaladas" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Participe" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Saber más" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Licencia desconocida" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Creado por la comunidad" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Esta aplicaciĂłn se desarrolla en cĂłdigo abierto por una comunidad " "internacional.\n" "\n" "Puede contribuir a esta aplicaciĂłn y ayudar a mejorarla." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Se desconoce la licencia de esta aplicaciĂłn" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Esta aplicaciĂłn se desarrolla en cĂłdigo abierto por una comunidad " "internacional, y se lanza bajo la licencia %s.\n" "\n" "Puede contribuir a esta aplicaciĂłn y ayudar a mejorarla." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Esta aplicaciĂłn no se desarrolla en cĂłdigo abierto, asĂ­ que solo sus " "desarrolladores saben cĂłmo funciona. Puede ser insegura de maneras difĂ­ciles " "de detectar, y puede cambiar sin previo aviso.\n" "\n" "Puede que no pueda contribuir a esta aplicaciĂłn." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Esta aplicaciĂłn se desarrolla bajo la licencia especial %s.\n" "\n" "Puede o no ser capaz de colaborar con esta aplicaciĂłn." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Licencia" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Conectar a Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Algo saliĂł mal" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "" "Inicie sesiĂłn para sincronizar sus aplicaciones favoritas entre dispositivos" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Finalizar" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "¡Hola, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Seleccionar archivo de metainformaciĂłn" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Archivos de metainformaciĂłn" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Seleccionar icono (opcional)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Archivos de imagen" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Vista previa" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Preferencias" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "La conexiĂłn de red es medida: se ha pausado la actualizaciĂłn automática de " "datos de la tienda" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:235 src/bz-window.blp:246 msgid "Refresh Manually" msgstr "Actualizar manualmente" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Filtros de contenido" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Solo software libre" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary apps when browsing and searching" msgstr "Ocultar software propietario al explorar y buscar" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Solo resultados de Flathub" #: src/bz-preferences-dialog.blp:40 msgid "Limit search and browse results to apps only available on Flathub" msgstr "" "Limitar los resultados de bĂşsqueda y exploraciĂłn a aplicaciones disponibles " "en Flathub" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Solo resultados verificados" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Ocultar los resultados que no estĂ©n verificados en Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Ocultar aplicaciones al final de su vida Ăştil" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "" "Ocultar aplicaciones que ya no cuentan con el soporte de sus desarrolladores" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "Tema de la barra de progreso" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Color de realce personal" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Colores del Orgullo" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Colores del Orgullo LĂ©sbico" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Colores del orgullo homosexual masculino" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Colores del Orgullo TransgĂ©nero" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Colores del Orgullo No Binario" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Colores del Orgullo Bisexual" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Colores del Orgullo Asexual" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Colores del Orgullo Pansexual" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Colores del Orgullo Arromántico" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Colores del Orgullo de GĂ©nero fluido" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Colores del Orgullo Polisexual" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Colores del Orgullo Omnisexual" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Colores del orgullo aroace" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Colores del orgullo agĂ©nero" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Colores del orgullo genderqueer" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Colores del orgullo intersexual" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Colores del orgullo demigĂ©nero" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Colores del orgullo biromántico" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Colores del orgullo de la discapacidad" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Colores del orgullo femboy" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Colores del orgullo neutrois" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Historial de versiones" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Historial de versiones" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Hoy" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Ayer" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hace %d dĂ­a" msgstr[1] "hace %d dĂ­as" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "hace %d semana" msgstr[1] "hace %d semanas" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "hace %d mes" msgstr[1] "hace %d meses" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "hace %d año" msgstr[1] "hace %d años" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e de %B de %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "VersiĂłn %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "No hay detalles de este lanzamiento" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Obtener más informaciĂłn" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Desinstalar" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Obtener" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Permisos desconocidos" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Faltan los permisos para esta aplicaciĂłn." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Sin permisos" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "La aplicaciĂłn está completamente aislada en un entorno protegido" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Acceso a la red" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Puede acceder a internet" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Sin acceso a la red" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "No puede acceder a internet" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Acceso a dispositivos de usuario" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Puede acceder a dispositivos como cámaras web o mandos de juego" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Sin acceso a dispositivos de usuario" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "No puede acceder a dispositivos como cámaras web o mandos de juego" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Acceso a dispositivos de entrada" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Puede acceder a dispositivos de entrada" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Acceso al micrĂłfono y reproducciĂłn de sonido" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "Puede escuchar usando micrĂłfonos y reproducir sonido sin pedir permiso" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Acceso a dispositivos del sistema" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Puede acceder a dispositivos del sistema que requieren permisos elevados" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Acceso al contenido de la pantalla" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Puede acceder al contenido de la pantalla u otras ventanas" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Sistema de ventanas heredado" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Siempre usa un sistema de ventanas heredado (X11)" #: src/safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Permisos arbitrarios" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Puede adquirir permisos arbitrarios" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Ajustes de usuario" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Puede acceder y cambiar los ajustes de usuario" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Acceso completo de lectura/escritura al sistema de archivos" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Puede leer y escribir todos los datos en el sistema de archivos" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Acceso de lectura/escritura a la carpeta personal" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Puede leer y escribir todos los datos en su directorio personal" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Acceso completo de lectura al sistema de archivos" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Puede leer todos los datos en el sistema de archivos" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Acceso de lectura a la carpeta personal" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Puede leer todos los datos en su directorio personal" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Acceso de lectura/escritura a la carpeta de descargas" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Puede leer y escribir todos los datos en su directorio de descargas" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Acceso de lectura a la carpeta de descargas" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Puede leer todos los datos en su directorio de descargas" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Puede leer y escribir todos los datos en el directorio" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Puede leer todos los datos en el directorio" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Sin acceso al sistema de archivos" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "No puede acceder al sistema de archivos en absoluto" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Usa servicios del sistema" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Puede solicitar datos de servicios del sistema que no sean portales" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Usa servicios de sesiĂłn" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Puede solicitar datos de servicios de sesiĂłn que no sean portales" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Sin acceso a servicios" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "No puede acceder a servicios de sesiĂłn o del sistema que no sean portales en " "absoluto" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Desarrollador de aplicaciones verificado" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" "Se ha verificado que el desarrollador de esta aplicaciĂłn es quien dice ser" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "CĂłdigo propietario" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "El cĂłdigo fuente no es pĂşblico, por lo que no se puede auditar de forma " "independiente y podrĂ­a ser inseguro" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "CĂłdigo auditable" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "El cĂłdigo fuente es pĂşblico y se puede auditar de forma independiente, lo " "que hace que la aplicaciĂłn sea probablemente más segura" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Usa el servicio del sistema %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Usa el servicio de sesiĂłn %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Usa el servicio %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Puede ver el servicio que no es portal" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Puede comunicarse con el servicio que no es portal" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Puede poseer el servicio que no es portal" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "IntegraciĂłn con el menĂş global" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Puede mostrar sus menĂşs en una barra de menĂşs global" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "IntegraciĂłn con los ajustes de KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Puede detectar cuándo cambian los ajustes del escritorio de KDE" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Ajustes globales de KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "" "Puede leer las preferencias del escritorio de KDE como tipografĂ­as y colores" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Servicio de almacenamiento secreto" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Puede almacenar y recuperar sus propias contraseñas usando el depĂłsito de " "claves del sistema" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Servicio de notificaciones del escritorio" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Puede enviar notificaciones del escritorio" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "IntegraciĂłn con la bandeja del sistema" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Puede mostrar un icono en la bandeja del sistema" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "IntegraciĂłn con KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "Puede interactuar con dispositivos vinculados mediante KDE Connect" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Esta aplicaciĂłn tiene un permiso que le permite indirectamente otorgarse " "<b>cualquier otro permiso que desee</b>, eludiendo el entorno protegido de " "Flatpak.\n" "\n" "Por lo tanto, puede hacer cualquier cosa que una aplicaciĂłn normal sin " "aislamiento pueda hacer, como acceder a todos sus archivos y conectarse a " "internet.\n" "\n" "Ver los otros permisos aĂşn puede dar una mejor idea de lo que es probable " "que haga la aplicaciĂłn." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Ver otros permisos" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "ID de la aplicaciĂłn" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Esta aplicaciĂłn usa una versiĂłn obsoleta de la plataforma de software (SDK) " "y podrĂ­a contener errores o vulnerabilidades de seguridad que no se " "solucionarán." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "Seguridad" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s es seguro" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s no tiene permisos inseguros" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s es probablemente seguro" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s es posiblemente inseguro" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s es inseguro" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Capturas de pantalla" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Captura de pantalla anterior" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "Captura de pantalla siguiente" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Copiar imagen" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Restablecer vista" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Alejar" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "Acercar" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Carrusel de capturas de pantalla" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Sin capturas de pantalla" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Abrir el visor de capturas de pantalla" #: src/bz-screenshots-carousel.c:301 #, c-format msgid "Screenshot %u %s" msgstr "Captura de pantalla %u %s" #: src/bz-screenshots-carousel.c:303 #, c-format msgid "Screenshot %u" msgstr "Captura de pantalla %u" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Filtros" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Verificado" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Libre/Abierto" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Sin fin de vida Ăş_til" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Filtrar aplicaciones al final de su vida Ăştil" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "Adaptado a _mĂłviles" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "CategorĂ­as" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "Buscar aplicaciones, juegos, programas" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Filtros de bĂşsqueda" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Limpiar bĂşsqueda" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Explorar categorĂ­as" #: src/bz-search-page.blp:245 msgid "Categories Unavailable" msgstr "CategorĂ­as no disponibles" #: src/bz-search-page.blp:246 msgid "Search for apps using the search bar above." msgstr "Busque aplicaciones usando la barra de bĂşsqueda de arriba." #: src/bz-search-page.blp:364 msgid "No Applications Found" msgstr "No se encontraron aplicaciones" #: src/bz-search-page.c:248 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "No se encontraron resultados para «%s» en Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "VĂ­deo" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Ofimática" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Calendario" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "MensajerĂ­a" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Dibujo" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulador" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Página de Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Página del proyecto" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Rastreador de problemas" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "Preguntas frecuentes" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Ayuda" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Donar" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Traducir" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Contactar" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "CĂłdigo fuente" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Contribuir" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifiesto" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Copiar enlace" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "LĂ­nea de tiempo" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Instalaciones:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Global" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Desde el 15/4/2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2f M instalaciones totales" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2f K instalaciones totales" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d instalaciones totales" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "No se encontraron resultados" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "La bĂşsqueda fallĂł" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Conservar los datos de usuario" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Permitir restaurar los ajustes personales y el contenido" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Eliminar todos los datos" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Borrar permanentemente los datos de usuario para ahorrar espacio" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "ÂżInstalar %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Seleccione quĂ© versiĂłn instalar. PodrĂ­a instalar componentes compartidos " "adicionales." #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Puede que instale componentes compartidos adicionales" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Cancelar" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Instalar" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "ÂżEliminar %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Seleccione quĂ© versiĂłn quitar." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "No será posible usar %s despuĂ©s de desinstalarla." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "«%s» es de alto riesgo" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Esta aplicaciĂłn tiene acceso completo a su sistema, incluyendo todos <b>sus " "archivos, historial de navegaciĂłn, contraseñas guardadas</b> y más. TambiĂ©n " "tiene acceso a internet, lo que significa que podrĂ­a enviar sus datos a " "terceros externos.\n" "\n" "Debido a que la aplicaciĂłn es propietaria, no se puede auditar quĂ© hace con " "estos permisos." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Esta aplicaciĂłn usa el sistema de ventanas heredado X11, lo que le permite " "<b>registrar todas las pulsaciones de teclas, capturar capturas de pantalla " "y monitorizar otras aplicaciones</b>. TambiĂ©n tiene acceso a internet, lo " "que significa que podrĂ­a enviar sus datos a terceros externos.\n" "\n" "Debido a que la aplicaciĂłn es propietaria, no se puede auditar quĂ© hace con " "estos permisos." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "Instalar de _todos modos" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "FallĂł al cargar el diálogo de transacciĂłn" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Todas las aplicaciones ya están instaladas" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Aceptar" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "ÂżInstalar %u aplicaciĂłn?" msgstr[1] "ÂżInstalar %u aplicaciones?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Se instalará lo siguiente. TambiĂ©n se podrĂ­an instalar componentes " "compartidos adicionales." #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Se instalarán %d complementos." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Adicionalmente, se instalarán complementos." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Instalar todo" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "Terminado en %.02f segundos" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Complemento de la aplicaciĂłn" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Entorno de ejecuciĂłn" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "En cola" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Hecho" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Cancelado" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Error" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Cancelar transacciĂłn" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Mostrar detalles" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Mostrar informaciĂłn del error" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s liberados" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Error de transacciĂłn" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Pendiente" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Actualizar todo" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u actualizaciĂłn del entorno de ejecuciĂłn" msgstr[1] "%u actualizaciones del entorno de ejecuciĂłn" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Gestionar los datos de usuario restantes" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "No se encontraron datos de usuario" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Datos de usuario" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Enviar datos de usuario a la papelera" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "Se enviaron a la papelera los datos de usuario de %s" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "Actualizando" #: src/bz-window.blp:89 msgid "Curated" msgstr "Seleccionado" #: src/bz-window.blp:101 msgid "Explore" msgstr "Explorar" #: src/bz-window.blp:128 msgid "Search" msgstr "Buscar" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "MenĂş principal" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "¡Está ejecutando una nueva versiĂłn de Bazar!" #: src/bz-window.blp:227 msgid "See What's New" msgstr "Ver las novedades" #: src/bz-window.blp:234 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Tiene una conexiĂłn de red pero está viendo una versiĂłn en cachĂ© de Flathub" #: src/bz-window.blp:245 msgid "Network connection is metered — automatic refreshes disabled" msgstr "" "La conexiĂłn de red es medida: se han desactivado las actualizaciones " "automáticas" #: src/bz-window.blp:290 msgid "_Donate to Bazaar" msgstr "_Donar a Bazar" #: src/bz-window.blp:296 msgid "_Refresh" msgstr "Ac_tualizar" #: src/bz-window.blp:300 msgid "_Login With Flathub" msgstr "Iniciar sesiĂłn con _Flathub" #: src/bz-window.blp:306 msgid "_Manage Leftover User Data" msgstr "_Gestionar los datos de usuario restantes" #: src/bz-window.blp:312 msgid "_Preferences" msgstr "_Preferencias" #: src/bz-window.blp:317 msgid "_Keyboard Shortcuts" msgstr "Atajos del _teclado" #: src/bz-window.blp:322 msgid "_About Bazaar" msgstr "_Acerca de Bazar" #: src/bz-window.blp:328 msgid "_Quit Bazaar" msgstr "_Salir de Bazaar" #: src/bz-window.blp:353 msgid "Log Out" msgstr "Cerrar sesiĂłn" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "FallĂł al iniciar la aplicaciĂłn" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "¡No puede quitar Bazaar desde el propio Bazaar!" #: src/bz-window.c:1132 src/bz-window.c:1166 msgid "Can't do that right now!" msgstr "¡No se puede hacer eso ahora mismo!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "InstalaciĂłn" msgstr[1] "Instalaciones" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "NavegaciĂłn" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Abrir la página de exploraciĂłn" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Abrir la página de la biblioteca" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Abrir la página de bĂşsqueda" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Repositorios remotos" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Sincronizar repositorios remotos" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "General" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Abrir preferencias" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostrar atajos" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Cerrar ventana" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Salir de Bazaar" ���������bazaar-org-bazaar-917017d/po/eu.po������������������������������������������������������������������0000664�0000000�0000000�00000276146�15234476640�0016675�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Basque translations for bazaar package. # Copyright (C) 2026 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2026. # Ibai Oihanguren Sala <ibaios@disroot.org>, 2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-20 11:09+0200\n" "PO-Revision-Date: 2026-07-21 22:54+0200\n" "Last-Translator: Ibai Oihanguren Sala <ibaios@disroot.org>\n" "Language-Team: Basque\n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 50.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Gehitu, kendu edo eguneratu ordenagailuko flatpak softwarea" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Sistema;Pakete;Kudeatzailea;Deskubritu;Flatpak;Softwarea;Denda;Biltegia;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Leiho berria" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Deskubritu eta instalatu aplikazioak" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Aplikazio biltegi bizkor eta modernoa Linuxerako, Flatpak aplikazio eta " "gehigarriak (bereziki Flathub-etik) deskubritu eta instalatzera bideratua." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Gehitu hainbat instalazio ilarara eta jarraitu nabigatzen" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Ikusi aplikazioen baimenak era errazean" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Hasi saioa Flathub-en zure gogokoak ikusi eta kudeatzeko" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Bilatu aplikazioak zuzenean GNOME Shell-etik" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:780 msgid "The Bazaar Contributors" msgstr "Bazaarren kolaboratzaileak" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Flathub aplikazioak erakusten dituen orri nagusia" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Aplikazio baten orria" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Liburutegi orria" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Bilaketa orria" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Kategoria orria" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Eguneratzeak jasotzeari utzi dio" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Desinstalatu" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Instalatu" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Kudeatu gehigarriak" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Ez dago gehigarririk ikusgai" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Uneko iragazki hobespenek gehigarri erabilgarri guztiak ezkutatu dituzte. " "Doitu hobespenak gehigarriak ikusteko." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Gehigarriaren orria" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "Deskarga hileko" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "Oinarrizko eguneratzeak jasotzari utzi dio" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Gehigarri honek eguneratzerik edo segurtasun-konponketarik jasotzen ez duen " "exekuzio-ingurune bat darabil. Baliteke berau erabiltzea ez izatea segurua." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "%s(r)entzako gehigarria" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "Gutxiago erakutsi" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Gehiago erakutsi" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "Deskargen estatistikak" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Adin balorazioa" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Marrazki bizidunetako indarkeria" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Ez dago informaziorik marrazki bizidunetako indarkeriari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Fantasiazko indarkeria" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Ez dago informaziorik fantasiazko indarkeriari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Indarkeria errealista" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Ez dago informaziorik indarkeria errealistari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Sarraskia irudikatzen duen indarkeria" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "" "Ez dago informaziorik sarraskia irudikatzen duen indarkeriari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Indarkeria sexuala" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Ez dago informaziorik indarkeria sexualari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alkohola" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Ez dago informaziorik alkohola aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Legez kanpoko drogak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Ez dago informaziorik legez kanpoko drogak aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabakoa" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Ez dago informaziorik tabakoa aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Biluztasuna" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Ez dago informaziorik biluztasunari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Gai sexualak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Ez dago informaziorik gai sexualak aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Hizkera zakarra" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Ez dago informaziorik edonolako hizkera zakarrari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Umore ezegokia" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Ez dago informaziorik umore ezegokiari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Bereizkeria" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Ez dago informaziorik edonolako bereizkeriari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Publizitatea" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Ez dago informaziorik edonolako publizitateari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Jokoa (apustuak)" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Ez dago informaziorik edonolako apustuei dagokienean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Erosketak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Ez dago informaziorik diruz erosketak egiteko aukerari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Erabiltzaileen arteko txatak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "" "Ez dago informaziorik beste erabiltzaileekin berriketan aritzeko bideei " "dagokienean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Erabiltzaileen arteko audio txatak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "" "Ez dago informaziorik beste erabiltzaileekin hitz egiteko bideei dagokienean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Harremanetarako xehetasunak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Ez dago informaziorik sare sozialetako erabiltzaileak edo email helbideak " "partekatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Identifikatzeko informazioa" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Ez dago informaziorik erabiltzailearen datuak hirugarren batekin " "partekatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Kokapena partekatzea" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Ez dago informaziorik beste erabiltzaileekin kokapen fisikoa partekatzeari " "dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostituzioa" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Ez dago informaziorik prostituzioa aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Adulterioa" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Ez dago informaziorik adulterioa aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Pertsonaia sexualizatuak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Ez dago informaziorik pertsonaia sexualizatuei dagokienean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Profanazioa" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Ez dago informaziorik profanazioa aipatzeari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Giza hondakinak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Ez dago informaziorik giza hondakinak erakusteari dagokionean" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Esklabotza" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Ez dago informaziorik esklabotza aipatzeari dagokionean" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Ez die drogei aipamenik egiten" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "Ez du biraorik, juramenturik edo bestelako hizkera zakarrik erabiltzen" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Ez du iragarkirik edo diru-trukerik" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Ez du sexu edukirik edo biluztasunik erakusten" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Ez du kontrolik gabeko txat funtzionalitaterik" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Ez du indarkeriarik erakusten" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogak" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Hizkera zakarra" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Dirua" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Soziala" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Indarkeria" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Guztiak" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s(e)k adin balorazio ezezaguna dauka" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s edonorentzako da egokia" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s egokia da haur txikientzako" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s egokia da haurrentzako" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s egokia da nerabeentzako" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s egokia da helduentzako" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s egokia da %s urte bitartekoentzako" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "%s sistemako karpeta" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Karpeta nagusiko %s azpikarpeta" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Ostalari sistemako karpetak" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Ostalari sistemako konfigurazioa /etc direktoriotik" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Mahaigaineko %s azpikarpeta" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Mahaigaina karpeta" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Dokumentuetako %s azpikarpeta" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Dokumentuak karpeta" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Musikako %s azpikarpeta" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Musika karpeta" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Irudietako %s azpikarpeta" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Irudiak karpeta" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Publikoki partekatutako %s azpikarpeta" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Publikoa karpeta" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Bideoetako %s azpikarpeta" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Bideoak karpeta" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Txantiloietako %s azpikarpeta" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Txantiloiak karpeta" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Erabiltzailearen cacheko %s azpikarpeta" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Erabiltzailearen cache karpeta" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Erabiltzailearen konfigurazioko %s azpikarpeta" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Erabiltzailearen konfigurazio karpeta" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Erabiltzailearen datuetako %s azpikarpeta" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Erabiltzailearen datuen karpeta" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Erabiltzailearen exekuzio-inguruneko %s azpikarpeta" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Erabiltzailearen exekuzio-ingurune karpeta" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Fitxategi-sisteman sarbidea %s karpetara" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Fitxategi-sistemako bide ezezaguna" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "Deskargaren tamaina" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "Instalazioaren tamaina" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "Internetetik deskargatu beharrekoaren tamaina" #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "Diskoan hartzen duen tamaina" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "Ireki erabiltzaile-datuen karpeta" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "Zure erabiltzaile-datuak" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "Cachea, ezarpenak eta aplikazioaren bestelako datuak" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "Cachea" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "Aldi baterako cacheratutako datuak" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "Garbitu cachea" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Instalatutako exekuzio-ingurunearen tamaina" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Exekuzio-ingurunearen deskarga tamaina" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "E/E" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "Aplikazioaren tamaina" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Egiaztatua" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:135 msgid "Installed" msgstr "Instalatua" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:783 msgid "translator-credits" msgstr "Ibai Oihanguren Sala" #: src/bz-application.c:793 msgid "Special Thanks" msgstr "Eskerrak" #: src/bz-application.c:851 msgid "Logged Out Successfully!" msgstr "Behar bezala amaitu da saioa!" #: src/bz-application.c:1042 msgid "Ubuntu Troubles!" msgstr "Arazoak Ubuntun!" #: src/bz-application.c:1045 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "Ubunturen azken bertsioek segurtasun arau lehenentsiak nahastu dituzte, " "Bazaarren Flatpak bertsioa erabiliz <b>aplikazioak instalatzea ezinezko</b> " "bihurtuz. Oraingoz, erabili pakete arrunta honakoa exekutatuz:\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "Flatpak bertsio hau ezaba dezakezu honakoa exekutatuz:\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1051 msgid "Continue Anyway" msgstr "Jarraitu halere" #: src/bz-application.c:1067 msgid "Performing setup…" msgstr "Konfigurazioa osatzen…" #: src/bz-application.c:1159 msgid "Set Up System Flathub?" msgstr "Sistemako Flathub konfiguratu?" #: src/bz-application.c:1162 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Sistemako Flathub urruneko biltegia ez dago konfiguratuta. Bazaar erabilita " "aplikazioak arakatu eta instalatzeko, Flathub konfiguratuta egon behar da " "sistemako Flatpak instalazioan.\n" "\n" "Bestela, Bazaar soilik instalatutako aplikazioak nabigatu eta kentzeko " "erabili ahalko duzu." #: src/bz-application.c:1169 msgid "Set Up Flathub?" msgstr "Flathub konfiguratu?" #: src/bz-application.c:1172 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub ez dago sisteman konfiguratuta. Ezin izango dituzu aplikazioak " "nabigatu eta instalatu Bazaar erabilita.\n" "\n" "Bazaar dagoeneko instalatutako aplikazioak nabigatu eta kentzeko erabili " "ahalko duzu." #: src/bz-application.c:1178 msgid "Later" msgstr "Geroago" #: src/bz-application.c:1179 msgid "Set Up Flathub" msgstr "Konfiguratu Flathub" #: src/bz-application.c:1712 msgid "A backend error occurred" msgstr "Backendeko errorea gertatu da" #: src/bz-application.c:1912 src/bz-application.c:4150 msgid "Refreshing…" msgstr "Berritzen…" #: src/bz-application.c:2076 src/bz-application.c:4148 #, c-format msgid "Loading %d apps…" msgstr "%d aplikazioak kargatzen…" #: src/bz-application.c:2129 msgid "Failed to open file" msgstr "Ezin izan da fitxategia ireki" #: src/bz-application.c:2258 msgid "An initialization error occurred" msgstr "Hasieratze-errore bat gertatu da" #: src/bz-application.c:2657 msgid "Checking for updates…" msgstr "Eguneratzeak bilatzen…" #: src/bz-application.c:2713 msgid "Failed to check for updates" msgstr "Ezin izan dira eguneratzeak bilatu" #: src/bz-application.c:3852 msgid "Malformed Link" msgstr "Gaizki eratutako esteka" #: src/bz-application.c:3853 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Aplikazio hau irekitzeko erabilitako estekak maiuskulen okerreko erabilera " "dauka, eta baliteke noizbait funtzionatzeari uztea.\n" "\n" "Seguruenera hau KRunner-ek okerreko aplikazio IDak bidaltzen dituelako " "izango da." #: src/bz-application.c:3861 msgid "Could not find app" msgstr "Ez da aplikazioa aurkitu" #: src/bz-application.c:3892 msgid "Failed to load metainfo" msgstr "Ezin izan da meta informazioa kargatu" #: src/bz-application.c:4152 msgid "Writing to cache…" msgstr "Cachean idazten…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Erakutsi dena" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "\"%s\" aplikazio guztiak" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d aplikazio" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Ezin izan da artikulua kargatu" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Sortaren instalazioa" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Menpekotasun gehigarriek leku gehiago har dezakete" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Baliteke aplikazio hau instalatzeko software-iturri berri bat gehitu behar " "izatea. Iturri honetako beste aplikazioak ere Bazaarren azalduko dira.\n" "\n" "Ez gehitu iturri hau ez bazaude bere fidagarritasunaz ziur." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "Behar bezala instalatu da!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Ireki" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Erakutsi aplikazioaren xehetasunak" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "Dagoeneko instalatua" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "Instalazioak huts egin du" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Instalazio tamaina ezezaguna" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "%s inguru instalatzeko" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Baimen berezirik ez" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:29 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Hutsik" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Aukeraketarik gabe" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "Ez dago aukeraketa informaziorik sistema honetan. Halere, Flathub-eko " "aplikazioak araka ditzakezu." #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "Arakatu Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Lineaz kanpo" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Nabigatzailea" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Egiaztatu gabea" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Garatzailearen informazioa ez dago eskuragarri." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "%s aplikazio IDaren jabetza ez da egiaztatu, eta baliteke komunitateko " "paketea izatea." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "%s aplikazio IDaren jabetza eskuz egiaztatu du Flathub-eko lantaldeak." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "%1$s aplikazio IDaren jabetza <b>%2$s</b>(e)k egiaztatu du <b>%3$s</b>(e)an." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "%1$s aplikazio IDaren jabetza %2$s erabiliz egiaztatu da." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "%s aplikazio IDaren jabetza egiaztatua izan da." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Bertsio-ohar osoak" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Bertsio hau zu moduko erabiltzaileei esker sortu da!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Maite dut Bazaar garatzea, baina ezin dut lan hau bakarrik egin. Lagundu " "aplikazioaren garapena Ko-Fi erabilita dohaintza bat eginez." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Lagundu Bazaar diruz" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Zer berri %s bertsioan?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "%Y(e)ko %Bren %-e(e)an argitaratua" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Aukeratu instalazio bat" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Aplikazio honen hainbat bertsio dituzu instalatuta. Zeinekin egin nahi duzu " "aurrera?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Utzi" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Erabiltzaile honentzat soilik" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "erabiltzaile hau" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "erabiltzaile guztiak" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "Xehetasunak" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Kopiatu" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Kopiatuta!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Gogokoen kopurua" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Huts egin du gogokoa eguneratzeak" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Hasi saioa Flathub-ekin gogokoak kudeatzeko" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Hasi saioa" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:348 msgid "Favorites" msgstr "Gogokoak" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "Instalatu dena" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:17 msgid "Loading" msgstr "Kargatzen" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Gogokorik ez" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Gogoko gisa markatzen dituzun aplikazioak hemen azalduko dira" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Babestu aplikazio hau" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Kendu gogokoetatik" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Huts egin du gogokoa kentzeak" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Aurrekoa" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Hurrengoa" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Edizioa" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Nahasketa" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Musika" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Erreproduzitzailea" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Grabatzailea" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Sekuentziadorea" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Afinagailua / Sintonizadorea" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TB" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Emulazioa" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Akzioa" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Abentura" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Arkade" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Blokeak" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Mahai-jokoa" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Kartak" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Haurrak" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "Logika" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Rol jokoa" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Tiroak" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Simulazioa" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Kirolak" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Estrategia" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Nabigatzaileak" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Txata" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Posta" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Fitxategiak partekatzea" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Audioa eta bideoa" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Multimedia" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Audio / bideo aplikazio gehiago" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "Garapen tresnak" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Garapena" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Garapen tresna gehiago" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Hezkuntza" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Ikasi" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "Hezkuntza aplikazio gehiago" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Jokoak" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Jolastu" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Joko gehiago" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Grafikoak eta argazkigintza" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "Sortu" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Grafiko / argazkigintzako aplikazio gehiago" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "Sareak" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "Sareko aplikazio gehiago" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Produktibitatea" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Lana" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Produktibitate aplikazio gehiago" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Zientzia" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Zientzia aplikazio gehiago" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Sistema" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Sistema aplikazio gehiago" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Tresnak" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "Tresnak" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Tresna gehiago" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Pil-pilean" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Pil-pilean dauden aplikazio gehiago" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "Ezagunak" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Aplikazio ezagun gehiago" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "Azkena gehituak" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Berriak" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Aplikazio berri gehiago" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Berriki eguneratuak" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Eguneratuak" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Eguneratutako aplikazio gehiago" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Mugikorrerako" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Mugikorrerako aplikazio gehiago" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Adwaita aplikazio gehiago" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "KDE aplikazioak" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "KDE aplikazio gehiago" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Jokoak" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "Joko gehiago" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Emulatzaileak" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Emulatzaile gehiago" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "Abiarazleak" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Joko-abiarazle gehiago" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Joko-tresnak" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Joko-tresna gehiago" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Ez da Flathub gehitu" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Ez da Flathub urrunekorik aurkitu zure Flatpak instalazioetan" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub ez dago eskuragarri" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Ezin da Flathub atzitu" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "Halere, aplikazioak kudeatu eta bila ditzakezu oraindik." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Bilatu aplikazioak" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Birkonektatu" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Eguneko aplikazioa" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Aldean" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Linux mugikor eta tabletentzako aplikazioak" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "Aplikazio mugikor gehiago" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "Guk ere ♥​ ditugu jokoak" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Gogokoen dituzun jokoak eta hauentzako aplikazioak" #: src/bz-full-view.blp:34 src/bz-library-page.blp:40 #: src/bz-library-page.blp:44 msgid "No Results" msgstr "Emaitzarik ez" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Saiatu beste bilaketa batekin" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Edukia" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Hau tokiko aurrebista da, baliteke xehetasun batzuk argitaratutako " "zerrendarekin bat ez etortzea" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Aurreikusi biltegiaren itxura" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Babestu" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Aplikazio honek eguneratzerik edo segurtasun-konponketarik jasotzen ez duen " "exekuzio-ingurune bat darabil. Baliteke berau erabiltzea ez izatea segurua." #: src/bz-full-view.blp:539 msgid "Trash Data" msgstr "Bota datuak zakarrontzira" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Gehigarriak" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "Gehigarri gehiago" #: src/bz-full-view.blp:648 msgid "Links" msgstr "Estekak" #: src/bz-full-view.blp:679 msgid "Similar Apps" msgstr "Antzeko aplikazioak" #: src/bz-full-view.c:181 msgid "No URL" msgstr "URLrik ez" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Aplikazio honek lizentzia libre eta irekia dauka, eta ondorioz, bere " "iturburu kodea segurtasun ikuspegitik audita daiteke." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Aplikazio honek lizentzia pribatiboa dauka, eta ondorioz, bere iturburu " "kodea pribatuki garatzen da eta ezin du hirugarren independente batek " "auditatu." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Aplikazio gehiago" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "%s(r)en aplikazio gehiago" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Garatzailearen beste aplikazioak" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "%s(r)en beste aplikazioak" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "%s ez dago instalatua, baina oraindik <b>%s</b> daude gordeta datuetan." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "Bestelako aplikazioak" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "Aplikazio %d" msgstr[1] "%d aplikazio" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:141 msgid "Failed to Remove User Data" msgstr "Huts egin du erabiltzaile-datuak ezabatzeak" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Hardware euskarria" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Teklatu euskarria" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Teklatua behar du" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Teklatua gomendatzen du" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Teklatua onartzen du" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Teklatuentzako euskarria ezezaguna" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Sagu euskarria" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Sagua edo gailu erakuslea behar du" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Sagua edo gailu erakuslea gomendatzen du" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Sagua edo gailu erakuslea onartzen du" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Sagu edo gailu erakusleentzako euskarria ezezaguna" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Ukipen-pantaila euskarria" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Ukipen-pantaila behar du" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Ukipen-pantaila gomendatzen du" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Ukipen-pantaila onartzen du" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Ukipen-pantailentzako euskarria ezezaguna" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Mugikor euskarria" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Gailu mugikorretan funtzionatzen du" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Baliteke gailu mugikorretan behar bezala ez funtzionatzea" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Mahaigain euskarria" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Behar bezala funtzionatzen du pantaila handietan" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s hobeto dabil hardware batzuetan" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s(e)k gailu gehienetan funtzionatzen du" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "Ikuskatze-menua" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Ireki" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Desinstalatu aplikazioa" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Kendu" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Eguneratu" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Kendu" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Instalatu %s %s(e)tik" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Instalatu %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Utzi" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Uzten" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Dohaintza botoia" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "Bilatu instalatutako aplikazioak" #: src/bz-library-page.blp:33 msgid "No Apps Found" msgstr "Ez da aplikaziorik aurkitu" #: src/bz-library-page.blp:52 msgid "Search Store Instead" msgstr "Bilatu biltegian" #. Translators: . #: src/bz-library-page.blp:62 src/bz-window.blp:114 msgid "Library" msgstr "Liburutegia" #: src/bz-library-page.blp:91 msgid "Pending Updates" msgstr "Zain dauden eguneratzeak" #: src/bz-library-page.blp:118 msgid "Downloads" msgstr "Deskargak" #: src/bz-library-page.blp:161 msgid "Recently Uninstalled" msgstr "Berriki desinstalatuak" #: src/bz-library-page.blp:212 msgid "Clear Finished Tasks" msgstr "Garbitu amaitutako atazak" #: src/bz-library-page.blp:239 msgid "Sort Options" msgstr "Ordenatze-aukerak" #: src/bz-library-page.blp:298 msgid "Sort By" msgstr "Ordenatu honela" #: src/bz-library-page.blp:312 msgid "Name" msgstr "Izena" #: src/bz-library-page.blp:318 msgid "Size" msgstr "Tamaina" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "" "Ez da \"%s\" bilaketarekin bat datorren emaitzarik aurkitu instalatutako " "aplikazioen zerrendan" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "Eguneratze %u erabilgarri" msgstr[1] "%u eguneratze erabilgarri" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "Aplikazio %u instalatuta" msgstr[1] "%u aplikazio instalatuta" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Ez da aplikaziorik aurkitu" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "Aplikazio bat aurkitu da" msgstr[1] "%u aplikazio aurkitu dira" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Hartu parte" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Informazio gehiago" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Lizentzia ezezaguna" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Komunitateak eraikia" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:288 msgid "Proprietary" msgstr "Pribatiboa" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:290 msgid "Special License" msgstr "Lizentzia berezia" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Aplikazio hau nazioarteko komunitate batek eraiki du modu irekian.\n" "\n" "Parte hartuz hobetzen lagun dezakezu." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Ez da aplikazio honen lizentzia ezagutzen" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Aplikazio hau nazioarteko komunitate batek eraiki du modu irekian, eta %s " "lizentziapean askatu du.\n" "\n" "Parte hartuz hobetzen lagun dezakezu." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Aplikazio hau ez da modu irekian garatu eta, beraz, bere garatzaileek soilik " "dakite nola funtzionatzen duen. Baliteke segurua ez izatea antzemateko zaila " "den eran, eta inork ikuskatu gabe alda daiteke.\n" "\n" "Ezin dugu ziurtatu aplikazio honen garapenean lagun dezakezunik." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Aplikazio hau %s lizentzia berezipean garatu da.\n" "\n" "Ezin dugu ziurtatu aplikazio honen garapenean lagun dezakezunik." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Lizentzia" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Konektatu Flathub-era" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Zerbaitek ez du funtzionatu" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "Hasi saioa zure gogoko aplikazioak gailuetan zehar partekatzeko" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Amaitu" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Kaixo, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Hautatu metainfo fitxategia" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Metainfo fitxategiak" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Hautatu ikonoa (aukerakoa)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Irudi fitxategiak" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Aurrebista" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Hobespenak" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "Sareko konexioa neurtua da — biltegiko datuen berritze automatikoa pausatu da" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Berritu eskuz" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Aplikazio eguneratzeak" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "Aplikazio eguneratzeak bilatu eta deskargatzeak datuak eta argindarra " "erabiltzea dakar. Ondorioz, aplikazioen eguneratze automatikorako eginbideak " "pausatu egiten dira sareko konexio neurtua erabiltzean edo energia " "aurrezpena aktibatuta dagoenean." #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "_Automatikoa" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "Bilatu eta deskargatu aplikazio eguneratzeak automatikoki\t" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "_Eskuzkoa" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "Aplikazio eguneratzeak eskuz bilatu eta deskargatu behar dira" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "Eguneratze _jakinarazpen automatikoak" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "Jakinarazi eguneratzeak automatikoki instalatu direnean" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "Eduki iragazkiak" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "Software _librea soilik" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "Ezkutatu aplikazio pribatiboak nabigatzean eta bilatzean" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "_Flathub-eko emaitzak soilik" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "" "Mugatu bilaketa eta nabigazioko emaitzak Flathub-en erabilgarri dauden " "aplikazioetara" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "_Egiaztatutako emaitzak soilik" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "Ezkutatu Flathub-ek egiaztatu gabeko emaitzak" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "Ezkutatu bizirik e_z dauden aplikazioak" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "Ezkutatu garatzaileek mantentzen ez dituzten aplikazioak" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "Aurrerapen barraren gaia" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Kolore orokorra" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Harrotasunaren koloreak" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Harrotasun lesbianaren koloreak" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Gay harrotasunaren koloreak" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Trans harrotasunaren koloreak" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Ez-bitar harrotasunaren koloreak" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Harrotasun bisexualaren koloreak" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Harrotasun asexualaren koloreak" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Harrotasun pansexualaren koloreak" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Harrotasun arromantikoaren koloreak" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Genero fluido harrotasunaren koloreak" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Harrotasun polisexualaren koloreak" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Harrotasun omnisexualaren koloreak" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Harrotasun arromantiko asexualaren koloreak" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Genero gabeko harrotasunaren koloreak" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Kuir harrotasunaren koloreak" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Intersex harrotasunaren koloreak" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Demigenero harrotasunaren koloreak" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Harrotasun birromantikoaren koloreak" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Ezgaitasun harrotasunaren koloreak" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Femboy harrotasunaren koloreak" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Genero neutroko harrotasunaren koloreak" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Bertsioen historia" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Bertsioen historia" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Gaur" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Atzo" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Duela egun %d" msgstr[1] "Duela %d egun" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Duela astebete" msgstr[1] "Duela %d aste" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "Duela hilabete" msgstr[1] "Duela %d hilabete" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "Duela urtebete" msgstr[1] "Duela %d urte" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%Y %b %e" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "%s bertsioa" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Xehetasunik ez argitaratze honentzat" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Eskuratu informazio gehiago" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Desinstalatu" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Eskuratu" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Baimen arbitrarioak" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Aplikazio honek duen baimen batek bere buruari <b>nahi duen beste edozein " "baimen</b> ematea ahalbidetzen dio, Flatpak-en isolazioa saltatuz.\n" "\n" "Ondorioz, isolatu gabeko aplikazio arrunt batek egin dezakeen edozer egin " "dezake, hala nola, zure fitxategi guztiak atzitu edo Internetera konektatu.\n" "\n" "Beste baimenak ikusteak aplikazioak egin dezakeena hobeto ulertzen lagun " "zaitzake." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Ikusi beste baimenak" #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:400 msgid "Safe" msgstr "Segurua" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "Aplikazioaren IDa" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Aplikazio honek software plataformaren (SDK) bertsio zaharkitua darabil, eta " "baliteke konpondu gabeko akatsak edo segurtasun-zaurgarritasunak izatea." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "Segurtasuna" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s segurua da" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s(e)k ez dauka baimen ez segururik" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s segurua da, segur aski" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s beharbada segurua da" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s ez da segurua" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Atzera" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Aurreko pantaila-argazkia" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "Hurrengo pantaila-argazkia" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Kopiatu irudia" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "Berrezarri ikuspegia" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Urrundu" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "Gerturatu" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Pantaila-argazkien aurkezpena" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Pantaila-argazkirik ez" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Ireki pantaila-argazki ikustailea" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "%u %s pantaila-argazkia" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "%u pantaila-argazkiak" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "Garbitu bilaketa" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "Iragazkiak" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Egiaztatua" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Librea/Irekia" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Bizirik" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Ez erakutsi bizirik ez dauden aplikazioak" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Mugikorrerako egokitua" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Kategoriak" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "Bilatu aplikazioak, jokoak, softwarea" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Bilaketa iragazkiak" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "Arakatu kategoriak" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "Kategoriarik ez erabilgarri" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Bilatu aplikazioak goiko bilaketa-barra erabiliz." #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Ez da aplikaziorik aurkitu" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Ez da emaitzarik aurkitu \"%s\" bilaketarentzat Flathub-en" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Bideoa" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Bulegoa" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDFak" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Egutegia" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Mezularitza" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Margoketa" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPNa" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrentak" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulatzailea" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub-eko orria" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Proiektuaren webgunea" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Akatsen aztarnaria" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "Ohiko galderak" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Laguntza" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Eman dirua" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Itzuli" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Kontaktua" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Iturburu kodea" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Lagundu" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifestua" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Kopiatu esteka" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Denbora-lerroa" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Instalazioak:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Mundua" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "2024/04/15etik" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM instalazio guztira" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK instalazio guztira" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d instalazio guztira" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Ez da emaitzarik aurkitu" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "Huts egin du bilaketak" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Mantendu erabiltzaile-datuak" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Baimendu ezarpen eta eduki pertsonalak berrezartzea" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Ezabatu datu guztiak" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Ezabatu betiko erabiltzaile-datuak lekua libratzeko" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "%s instalatu?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Hautatu zein bertsio instalatu nahi duzun. Baliteke partekatutako beste " "osagai batzuk ere instalatzea." #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Baliteke partekatutako osagai gehigarriak instalatzea" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Utzi" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Instalatu" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "%s kendu?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Hautatu kendu beharreko bertsioa." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Ezin izango duzu %s erabili desinstalatu ondoren." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "\"%s\" arrisku handikoa da" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Aplikazio honek sistemara sarbide osoa dauka, zure <b>fitxategi guztiak, " "nabigatze-historia, gordetako pasahitzak</b> eta gehiago atzitzeko baimena " "barne. Internetera sarbidea ere badauka, eta ondorioz, zure datuak kanpoko " "norbaiti bidal diezazkioke.\n" "\n" "Aplikazio hau pribatiboa denez, ezin da auditatu baimen hauekin zer egiten " "duen aztertzeko." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Aplikazio honek X11 leiho-sistema legatua darabil, eta honek <b>teklatuko " "sakatze guztiak grabatu, pantaila-argazkiak atera eta beste aplikazioak " "monitorizatzea</b> ahalbidetzen dio. Internetera sarbidea ere badauka, eta " "ondorioz, zure datuak kanpoko norbaiti bidal diezazkioke.\n" "\n" "Aplikazio hau pribatiboa denez, ezin da auditatu baimen hauekin zer egiten " "duen aztertzeko." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Instalatu halere" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Huts egin du transakzioaren leihoa kargatzeak" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Aplikazio guztiak instalatu dira dagoeneko" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Ados" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Aplikazioa instalatu?" msgstr[1] "%u aplikazioak instalatu?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Ondorengoa instalatuko da. Baliteke partekatutako osagai gehigarriak ere " "instalatzea." #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d gehigarri instalatuko dira." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Gainera, gehigarriak instalatuko dira." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Instalatu dena" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "%.02f segundoan amaitua" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Aplikazioaren gehigarria" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Exekuzio-ingurunea" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Ilaran" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Egina" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Utzita" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Errorea" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Eten transakzioa" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Erakutsi xehetasunak" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Erakutsi errore-informazioa" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s libratuta" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Transakzio-errorea" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Zain" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Eguneratu dena" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "Exekuzio-ingurunearen eguneratze %u" msgstr[1] "Exekuzio-ingurunearen %u eguneratze" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Kudeatu soberako erabiltzaile-datuak" #: src/bz-user-data-page.blp:34 msgid "No User Data Found" msgstr "Ez da erabiltzaile-daturik aurkitu" #: src/bz-user-data-page.blp:40 msgid "User Data" msgstr "Erabiltzaile-datuak" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "Ireki erabiltzaile-datuen karpeta" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "Bota erabiltzaile-datuak zakarrontzira" #: src/bz-user-data-tile.c:147 #, c-format msgid "Trashed User Data for %s" msgstr "%s(r)en erabiltzaile-datuak zakarrontzira bota dira" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Berritzen" #: src/bz-window.blp:90 msgid "Curated" msgstr "Aukeratua" #: src/bz-window.blp:102 msgid "Explore" msgstr "Arakatu" #: src/bz-window.blp:129 msgid "Search" msgstr "Bilaketa" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Menu nagusia" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Bazaarren bertsio berria ari zara erabiltzen!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "Ikusi berritasunak" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Sareko konexioa daukazu, baina Flathub-en bertsio cacheratua ari zara ikusten" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "Sareko konexioa neurtua da — berritze automatikoa ezgaitu da" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "_Lagundu Bazaar diruz" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Berritu" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "Hasi saioa _Flathub-en" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "_Kudeatu soberako erabiltzaile-datuak" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_Hobespenak" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_Teklatuko lasterbideak" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "B_azaarri buruz" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_Irten" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Amaitu saioa" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Huts egin du aplikazioa abiarazteak" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Ezin duzu Bazaar kendu Bazaar erabilita!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "Orain ezin duzu hori egin!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "instalazio" msgstr[1] "instalazio" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d deskarga azken hilean" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s exekuzio-ingurunea" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Deskargatzeko" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Ez dago tamainaren informaziorik" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "%sko deskarga tamaina" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Adin guztiak" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Ez dago adin balorazioaren informaziorik" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Egokia adin guztietakoentzat" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Egokia %d urtetik gorakoentzat" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Ezezaguna" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Software librea %s lizentziapean" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Software librea" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Software pribatiboa" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Lizentzia berezia: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Software librea" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Moldakorra" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Mahaigainerako soilik" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Mahaigainean, tabletetan eta mugikorretan dabil" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Baliteke gailu mugikorretan ez ibiltzea" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Arrisku txikia" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Arrisku ertaina" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Arrisku handia" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Baimen ezezagunak" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Aplikazio honen baimenak ezezagunak dira." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Baimenik ez" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikazioa guztiz isolatua dago" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Sarera sarbidea" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Internetera sarbidea dauka" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Sarera sarbiderik ez" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Ez dauka Internetera sarbiderik" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Erabiltzailearen gailuetara sarbidea" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Web kamera eta joko-aginteen erako gailuetara sarbidea dauka" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Erabiltzailearen gailuetara sarbiderik ez" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "Ez dauka web kamera eta joko-aginteen erako gailuetara sarbiderik" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Sarrerako gailuetara sarbidea" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Sarrerako gailuetara sarbidea dauka" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Mikrofonora eta audio erreprodukziora sarbidea" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "Mikrofonotik entzun eta audioa erreproduzitu dezake baimenik eskatu gabe" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Sistemako gailuetara sarbidea" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Goragoko baimenak behar dituzten sistemako gailuetara sarbidea dauka" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Pantailako edukietara sarbidea" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Pantailako edo beste leihoetako edukia ikus dezake" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Leiho-sistema legatua" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Leiho-sistema legatua (X11) darabil beti" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Baimen arbitrarioak eskura ditzake" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Erabiltza ezarpenak" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Erabiltzaile ezarpenak atzitu eta alda ditzake" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Fitxategi-sistema osoan irakurri/idazteko sarbidea" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Fitxategi-sistemako datu guztiak irakurri eta idatz ditzake" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Karpeta nagusian irakurri/idazteko sarbidea" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Karpeta nagusiko datu guztiak irakurri eta idatz ditzake" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Fitxategi-sistema osoa irakurtzeko sarbidea" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Fitxategi-sistemako datu guztiak irakur ditzake" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Karpeta nagusian irakurtzeko sarbidea" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Karpeta nagusiko datu guztiak irakur ditzake" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Deskarga karpetan irakurri/idazteko sarbidea" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Deskarga karpetako datu guztiak irakurri eta idatz ditzake" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Deskarga karpeta irakurtzeko sarbidea" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Deskarga karpetako datu guztiak irakur ditzake" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Direktorioko datu guztiak irakurri eta idatz ditzake" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Direktorioko datu guztiak irakur ditzake" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Fitxategi-sistemara sarbiderik ez" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Ezin du fitxategi-sistema inola ere atzitu" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Sistemako zerbitzuak darabiltza" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Sistemako zerbitzu zuzenei datuak eska diezazkieke" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Saioko zerbitzuak darabiltza" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Saioko zerbitzu zuzenei datuak eska diezazkieke" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Ez du zerbitzuetara sarbiderik" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Ez dauka sistemako edo saioko zerbitzu zuzenetara inolako sarbiderik" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Aplikazio garatzaile egiaztatua" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "Aplikazio honen garatzailea berak dioen hura dela egiaztatu da" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Kode pribatiboa" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Iturburu kodea ez da publikoa, ezin da era independentean auditatu, eta " "baliteke segurua ez izatea" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Kode auditagarria" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Iturburu kodea publikoa da, independenteki audita daiteke, eta aplikazioa " "segurua izatea errazten du" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "%s sistemako zerbitzuaren erabilera" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "%s saioko zerbitzuaren erabilera" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "%s zerbitzuaren erabilera" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Zuzeneko zerbitzua ikus dezake" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Zuzeneko zerbitzuarekin hitz egin dezake" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Zuzeneko zerbitzua beregana dezake" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Menu orokorrarekin integrazioa" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Bere menuak menu orokorraren barran erakuts ditzake" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDEren ezarpenekin integrazioa" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "KDE mahaigaineko ezarpenen aldaketak antzeman ditzake" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDEren ezarpen orokorrak" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "" "KDE mahaigaineko hobespenak irakur ditzake, esaterako letra-tipo eta " "koloreei buruzkoak" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Biltegiratze sekretuaren zerbitzua" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Bere pasahitzak sistemako gako-sorta erabiliz gorde eta eskura ditzake" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Mahaigaineko jakinarazpenen zerbitzua" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Mahaigaineko jakinarazpenak bidal ditzake" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Sistemako erretiluarekin integrazioa" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Sistemako erretiluan ikono bat erakuts dezake" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect-ekin integrazioa" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "KDE Connect bidez parekatutako gailuekin interaktua dezake" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Nabigazioa" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Ireki Arakatu orria" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Ireki Liburutegia orria" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Ireki Bilaketa orria" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Urrunekoak" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Sinkronizatu urrunekoak" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Orokorra" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Ireki hobespenak" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Erakutsi laster-teklak" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Itxi leihoa" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Irten" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "Aplikazio %u eguneratu da" msgstr[1] "%u aplikazio eguneratu dira" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "%s eguneratu da." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "%s eta %s eguneratu dira." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "%s, %s eta %s barne." #~ msgid "Free" #~ msgstr "Librea" #~ msgid "Clear search" #~ msgstr "Garbitu bilaketa" #~ msgid "Tags:" #~ msgstr "Etiketak:" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "Konektatu zure Flathub kontua Bazaarrera gogoko aplikazioak kudeatzeko." #~ msgid "Delay Search Results" #~ msgstr "Atzeratu bilaketen emaitzak" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "" #~ "Hobetu emaitzak erakusteko errendimendua, bilaketako hitzak berehala ez " #~ "prozesatuz" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Aukeratu aurrerapen barrarako gaia!" #~ msgid "Vertical Stripes" #~ msgstr "Marra bertikalak" #~ msgid "Display flag colors from left to right" #~ msgstr "Erakutsi banderen koloreak ezkerretik eskuinerantz" #~ msgid "Open Link" #~ msgstr "Ireki esteka" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "\"%s\" etiketadun aplikazioak" #~ msgid "Flathub returned an error" #~ msgstr "Flathub-ek errorea itzuli du" #~ msgid "Retry Flathub Connection" #~ msgstr "Saiatu Flathub-era berriro konektatzen" #~ msgid "User Data Size" #~ msgstr "Erabiltzaile-datuen tamaina" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Open App Library" #~ msgstr "Ireki aplikazioen liburutegia" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "Oraingoz ez dago .flatpak sortak instalatzeko aukerarik" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" #~ msgid "Refresh completed!" #~ msgstr "Berrituta!" #~ msgctxt "As in, \"100 Installs\"" #~ msgid "Installs" #~ msgstr "instalazio" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "Berritu" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "_Lagundu diruz Bazaar ❤️" #~ msgid "Flathub" #~ msgstr "Flathub" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/fa_IR.po���������������������������������������������������������������0000664�0000000�0000000�00000041141�15234476640�0017225�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Persian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Goudarz Jafari <me@goudarzjafari.com>, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-14 09:23+0330\n" "PO-Revision-Date: 2025-07-14 16:34+0330\n" "Last-Translator: Goudarz Jafari <me@goudarzjafari.com>\n" "Language-Team: none\n" "Language: fa_IR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.6\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 msgid "Bazaar" msgstr "بازار" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "اŮزŮدن، حذ٠یا به‌رŮزرسانی نرم‌اŮزارهای Flatpak در این رایانه" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;سیستم;مدیر بسته‌ها;Ú©Ř´Ů ;کردن;Flatpak;نرم‌اŮزار;ŮرŮشگاه;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Show Animated Background" msgstr "نمایش پس‌زمینه متحرک" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "Whether to show the animated icon background on the home page" msgstr "آیا پس‌زمینه‌ی نماد متحرک در صŮحه‌ی اصلی نمایش داده Ř´ŮŘŻ" #. FIXME: add descriptions and summary #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:9 msgid "Keep the summary shorter, between 10 and 35 characters" msgstr "خلاصه را Ú©Ůتاه نگه دارید، بین ۱۰ تا ۳۵ نŮیسه" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:11 msgid "No description" msgstr "بدŮن ŘŞŮضیح" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:41 msgid "Main Bazaar window showing Blender" msgstr "پنجره‌ی اصلی بازار که Blender را نمایش می‌دهد" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:50 msgid "Release description" msgstr "ŘŞŮضیح‌های نگارش" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:52 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:53 msgid "List of changes" msgstr "Ůهرست تغییرات" #: src/bz-addons-dialog.blp:13 src/bz-installed-page.blp:162 #: src/bz-installed-page.blp:174 msgid "Manage Addons" msgstr "مدیریت اŮزŮنه‌ها" #: src/bz-app-tile.blp:65 src/bz-full-view.blp:139 msgid "This flatpak is verified by the original developers of the software." msgstr "این Flatpak ŘŞŮسط ŘŞŮسعه‌دهندگان اصلی نرم‌اŮزار تایید شده است." #: src/bz-application.c:1194 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:481 msgid "translator-credits" msgstr "Goudarz Jafari" #: src/bz-application.c:1199 msgctxt "About Dialog Translator Credit" msgid "Ahmed Najmawi" msgstr "Ahmed Najmawi" #: src/bz-application.c:1200 msgctxt "About Dialog Translator Credit" msgid "AtomHare" msgstr "AtomHare" #: src/bz-application.c:1201 msgctxt "About Dialog Translator Credit" msgid "Jill Fiore" msgstr "Jill Fiore" #: src/bz-application.c:1202 msgctxt "About Dialog Translator Credit" msgid "Lucosec" msgstr "Lucosec" #: src/bz-application.c:1203 msgctxt "About Dialog Translator Credit" msgid "Shihfu Juan" msgstr "Shihfu Juan" #: src/bz-application.c:1204 msgctxt "About Dialog Translator Credit" msgid "Vlastimil DÄ›dek" msgstr "Vlastimil DÄ›dek" #: src/bz-application.c:1205 msgctxt "About Dialog Translator Credit" msgid "asen23" msgstr "asen23" #: src/bz-application.c:1206 msgctxt "About Dialog Translator Credit" msgid "renner" msgstr "renner" #: src/bz-application.c:1207 msgctxt "About Dialog Translator Credit" msgid "robotta" msgstr "robotta" #: src/bz-application.c:1223 msgid "Adam Masciola" msgstr "Adam Masciola" #: src/bz-browse-widget.blp:11 src/bz-full-view.blp:11 #: src/bz-installed-page.blp:11 src/bz-window.blp:32 msgid "Empty" msgstr "خالی" #: src/bz-browse-widget.blp:15 msgid "No Curated Applications" msgstr "هنŮز هیچ برنامه‌ی پیشنهادی‌ای ŮجŮŘŻ ندارد" #: src/bz-browse-widget.blp:16 msgid "" "Bazaar was not provided a curated content configuration. Contact your " "operating system's support channels for assistance." msgstr "" "هیچ پیکربندی‌ای برای Ů…Ř­ŘŞŮای انتخاب‌شده به بازار ارائه نشده است. برای دریاŮŘŞ " "Ú©Ů…Ú© با پشتیبانی سیستم‌عامل Ř®ŮŘŻ تماس بگیرید." #: src/bz-browse-widget.blp:22 src/bz-flathub-page.blp:11 msgid "Browser" msgstr "مرŮرگر" #: src/error.c:45 msgid "An Error Occurred" msgstr "ŰŚÚ© خطا رخ داد" #: src/error.c:51 msgid "Close" msgstr "بستن" #: src/error.c:52 msgid "Copy and Close" msgstr "رŮنŮŘ´ŘŞ ٠بستن" #: src/bz-flathub-page.blp:41 msgid "Apps Of The Week" msgstr "برنامه‌های هŮته" #: src/bz-flathub-page.blp:85 msgid "Trending" msgstr "محبŮب‌ها" #: src/bz-flathub-page.blp:117 msgid "Recently Updated" msgstr "اخیرا به‌رŮزرسانی‌شده" #: src/bz-flathub-page.blp:149 msgid "Recently Added" msgstr "اخیرا اŮزŮده‌شده" #: src/bz-flathub-page.blp:181 msgid "Popular" msgstr "پرطرŮدار" #: src/bz-full-view.blp:15 msgid "No Results" msgstr "نتیجه‌ای یاŮŘŞ نشد" #: src/bz-full-view.blp:16 msgid "Try a different search query" msgstr "از ŰŚÚ© عبارت دیگر برای جستج٠استŮاده کنید" #: src/bz-full-view.blp:22 src/bz-window.blp:42 msgid "Content" msgstr "Ů…Ř­ŘŞŮا" #: src/bz-full-view.blp:180 msgid "Run this application" msgstr "اجرای این برنامه" #: src/bz-full-view.blp:204 msgid "Download and install this application" msgstr "بارگیری ٠نصب این برنامه" #: src/bz-full-view.blp:222 src/bz-window.c:987 msgid "Install" msgstr "نصب" #: src/bz-full-view.blp:236 msgid "Uninstall this application" msgstr "این برنامه را حذ٠کن" #: src/bz-full-view.blp:262 msgid "Share this application" msgstr "هم‌رسانی این برنامه" #: src/bz-full-view.blp:274 msgid "" "The number of downloads in the last 30 days. Click to view this " "application's download statistics." msgstr "" "تعداد بارگیری در ۳۰ رŮز گذشته. برای مشاهده‌ی آمار بارگیری این برنامه کلیک " "کنید." #: src/bz-full-view.blp:316 msgid "Support this developer" msgstr "حمایت از این ŘŞŮسعه‌دهنده" #: src/bz-full-view.blp:329 msgid "Support" msgstr "پشتیبانی" #: src/bz-full-view.blp:387 msgid "Remote repo name" msgstr "نام مخزن راه‌دŮر" #: src/bz-full-view.blp:400 msgid "Project URL" msgstr "نشانی اینترنتی پرŮÚه" #: src/bz-full-view.blp:412 msgid "Download size" msgstr "اندازه‌ی بارگیری" #: src/bz-full-view.c:214 #, c-format msgid "Released %x" msgstr "منتشر شده در %x" #: src/bz-full-view.c:225 msgid "No URL" msgstr "بدŮن نشانی اینترنتی" #: src/bz-full-view.c:233 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "این برنامه دارای مجŮز FLOSS است، به این معنا که Ú©ŘŻ منبع آن برای ایمنی قابل " "بررسی است." #: src/bz-full-view.c:234 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "این برنامه دارای مجŮز مالکیتی است، به این معنا که Ú©ŘŻ منبع آن به‌صŮرت خصŮصی " "ŘŞŮسعه یاŮته Ů ŘŞŮسط طر٠ثالث مستقل قابل بررسی نیست." #: src/bz-installed-page.blp:15 msgid "No Flatpaks Installed" msgstr "هیچ FlatpakŰŚ نصب نشده است" #: src/bz-installed-page.blp:21 src/bz-window.blp:201 src/bz-window.blp:336 msgid "Installed" msgstr "نصب شده" #: src/bz-installed-page.blp:143 msgid "More actions" msgstr "اقدام‌های بیشتر" #: src/bz-installed-page.blp:187 src/bz-installed-page.blp:198 msgid "Edit Permissions" msgstr "Ůیرایش مجŮزها" #: src/bz-preferences-dialog.blp:9 msgid "Preferences" msgstr "تنظیمات" #: src/bz-preferences-dialog.blp:13 msgid "How the application looks" msgstr "ظاهر برنامه" #: src/bz-preferences-dialog.blp:14 msgid "Appearance" msgstr "ظاهر" #: src/bz-preferences-dialog.blp:17 msgid "Show animated background" msgstr "نمایش پس‌زمینه متحرک" #: src/bz-search-widget.blp:69 msgid "Type to filter" msgstr "برای Ůیلتر کردن تایپ کنید" #: src/bz-search-widget.blp:98 src/bz-search-widget.blp:115 msgid "Search Options" msgstr "گزینه‌های جستجŮ" #: src/bz-search-widget.blp:119 msgid "Exclude results with proprietary licenses" msgstr "حذ٠نتایج دارای مجŮز مالکیتی" #: src/bz-search-widget.blp:124 msgid "Exclude results not originating from Flathub" msgstr "حذ٠نتایجی که از Flathub منشا نگرŮته‌اند" #: src/bz-search-widget.blp:139 msgid "Advanced" msgstr "پیشرŮته" #: src/bz-search-widget.blp:143 msgid "Match using regular expressions" msgstr "همسان‌سازی با استŮاده از عبارات باقاعده" #: src/bz-search-widget.blp:148 msgid "Hide filtering and sorting behind a crossfade effect" msgstr "پنهان‌سازی Ůیلتر ٠مرتب‌سازی با اŮÚ©ŘŞ Ů…Ř­ŮŘ´Ůنده" #: src/bz-search-widget.blp:153 msgid "Debounce input to prevent instant replies" msgstr "Ů…Ú©Ř« ŮرŮŘŻŰŚ برای جلŮگیری از پاسخ ŮŮری" #: src/bz-share-dialog.blp:13 msgid "Share" msgstr "هم‌رسانی" #: src/bz-share-dialog.blp:64 msgid "Copy this link" msgstr "رŮنŮŘ´ŘŞ این پیŮند" #: src/bz-share-dialog.blp:71 msgid "Open this link externally" msgstr "این پیŮند را در بیرŮن از این برنامه باز کنید" #: src/bz-stats-dialog.blp:15 msgid "Downloads Over Time" msgstr "بارگیری‌ها در Ř·ŮŮ„ زمان" #: src/bz-stats-dialog.blp:31 msgid "Minimize Lower Bound" msgstr "کاهش Ř­ŘŻ پایین" #: src/bz-stats-dialog.blp:36 msgid "Maximize Upper Bound" msgstr "اŮزایش Ř­ŘŻ بالا" #: src/bz-transaction-manager.c:451 #, c-format msgid "Finished in %.02f seconds" msgstr "اتمام در %.02f ثانیه" #: src/bz-transaction-view.blp:34 msgid "Installing" msgstr "در حال نصب" #: src/bz-transaction-view.blp:63 msgid "Updating" msgstr "در حال به‌رŮزرسانی" #: src/bz-transaction-view.blp:92 msgid "Removing" msgstr "در حال حذŮ" #: src/bz-transaction.c:268 msgid "Pending" msgstr "در انتظار" #: src/bz-update-dialog.blp:6 msgid "Later" msgstr "بعداً" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "اکنŮن نصب Ř´ŮŘŻ" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "به‌رŮزرسانی‌ها در دسترس‌اند" #: src/bz-update-dialog.blp:11 msgid "" "The following applications are eligible for updates. Would you like to " "install them?" msgstr "برنامه‌های زیر Ůاجد شرایط به‌رŮزرسانی هستند. آیا مایل به نصب آن‌ها هستید؟" #: src/bz-update-dialog.c:135 #, c-format msgid "" "%d runtimes and/or addons are eligible for updates. Would you like to " "install them?" msgstr "" "%d Ů…Ř­ŰŚŘ· اجرایی Ů/یا اŮزŮنه برای به‌رŮزرسانی Ůاجد شرایط هستند. آیا مایل به نصب " "آن‌ها هستید؟" #: src/bz-update-dialog.c:143 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "علاŮه بر این، %d Ů…Ř­ŰŚŘ· اجرایی Ů/یا اŮزŮنه به‌رŮزرسانی Ř®Ůاهند Ř´ŘŻ." #: src/bz-window.blp:36 msgid "Transactions Will Appear Here" msgstr "تراکنش‌ها اینجا ظاهر Ř®Ůاهند Ř´ŘŻ" #: src/bz-window.blp:97 msgid "Halt the execution of transactions" msgstr "ŘŞŮق٠اجرای تراکنش‌ها" #: src/bz-window.blp:105 msgid "Clear all finished transactions" msgstr "پاک‌سازی همه‌ی تراکنش‌های پایان‌یاŮته" #: src/bz-window.blp:136 src/bz-window.blp:140 msgid "Offline" msgstr "آŮلاین" #: src/bz-window.blp:146 msgid "Loading" msgstr "در حال بارگذاری" #: src/bz-window.blp:170 msgid "Browse" msgstr "مرŮر" #: src/bz-window.blp:180 msgid "App View" msgstr "نمایش برنامه" #: src/bz-window.blp:191 src/bz-window.blp:315 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:220 msgid "Go Back" msgstr "بازگشت" #: src/bz-window.blp:228 msgid "Refresh" msgstr "تازه‌سازی" #: src/bz-window.blp:237 msgid "Search" msgstr "جست‌ŮجŮ" #: src/bz-window.blp:249 msgid "Update" msgstr "به‌رŮزرسانی" #: src/bz-window.blp:263 msgid "Checking for updates" msgstr "در حال بررسی برای به‌رŮزرسانی‌ها" #: src/bz-window.blp:279 msgid "View curated applications" msgstr "مشاهده‌ی برنامه‌های منتخب" #: src/bz-window.blp:294 msgid "Curated" msgstr "منتخب" #: src/bz-window.blp:300 msgid "View the latest on Flathub" msgstr "مشاهده‌ی آخرین‌ها در Flathub" #: src/bz-window.blp:321 msgid "View installed applications" msgstr "مشاهده‌ی برنامه‌های نصب‌شده" #: src/bz-window.blp:350 msgid "Main Menu" msgstr "منŮŰŚ اصلی" #: src/bz-window.blp:361 msgid "Toggle transaction sidebar" msgstr "نمایش یا پنهان کردن نŮار جانبی تراکنش‌ها" #: src/bz-window.blp:400 msgid "Up to date!" msgstr "به‌رŮز است!" #: src/bz-window.blp:425 msgid "_Keyboard Shortcuts" msgstr "_میان‌برهای صŮحه‌کلید" #: src/bz-window.blp:430 msgid "_About Bazaar" msgstr "_درباره‌ی بازار" #: src/bz-window.blp:435 msgid "_Donate to Bazaar ❤️" msgstr "_به بازار اهدا کنید ❤️" #: src/bz-window.c:856 msgid "" "The ability to inspect and install local .flatpak bundle files is coming " "soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "قابلیت بررسی ٠نصب پرŮنده‌های محلی .flatpak به‌زŮŘŻŰŚ ارائه Ř®Ůاهد Ř´ŘŻ! در این " "Ůاصله، دستŮر\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" " را در خط Ůرمان امتحان کنید." #: src/bz-window.c:927 msgid "Can't do that right now!" msgstr "Ůعلا امکان انجام این کار ŮجŮŘŻ ندارد!" #: src/bz-window.c:940 msgid "Confirm Action" msgstr "تایید عملیات" #: src/bz-window.c:958 #, c-format msgid "" "You are about to remove the following Flatpak:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "Are you sure?" msgstr "" "شما در حال حذ٠Flatpak زیر هستید:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "آیا مطمئن هستید؟" #: src/bz-window.c:966 src/bz-window.c:986 msgid "Cancel" msgstr "لغŮ" #: src/bz-window.c:967 msgid "Remove" msgstr "حذŮ" #: src/bz-window.c:978 #, c-format msgid "" "You are about to install the following Flatpak:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "Are you sure?" msgstr "" "شما در حال نصب Flatpak زیر هستید:\n" "\n" "<b>%s</b>\n" "<tt>%s</tt>\n" "\n" "آیا مطمئن هستید؟" #: src/bz-window.c:1012 msgid "More details" msgstr "جزئیات بیشتر" #: src/bz-window.c:1138 msgid "Resume the execution of transactions" msgstr "ادامه دادن اجرای تراکنش‌ها" #: src/bz-window.c:1144 msgid "Pause the execution of transactions" msgstr "ŘŞŮق٠اجرای تراکنش‌ها" #: src/gtk/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "عمŮŮ…ŰŚ" #: src/gtk/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "باز کردن پنجره جست‌ŮجŮ" #: src/gtk/help-overlay.blp:19 msgctxt "shortcut window" msgid "Refresh" msgstr "تازه‌سازی" #: src/gtk/help-overlay.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "نمایش یا پنهان کردن مدیر تراکنش" #: src/gtk/help-overlay.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "نمایش میان‌برها" #: src/gtk/help-overlay.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "خرŮج" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/fr.po������������������������������������������������������������������0000664�0000000�0000000�00000305033�15234476640�0016657�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# French translations for Bazaar. # Copyright (C) 2025-2026 The Bazaar Contributors # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Atom <29772841+AtomHare@users.noreply.github.com>, 2025. # LĂ©ane GRASSER <leane.grasser@proton.me>, 2025. # IrĂ©nĂ©e THIRION <irenee.thirion@e.email>, 2026. # Mimolet <themimolet@proton.me>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-22 17:51+0200\n" "PO-Revision-Date: 2026-07-23 00:53+0200\n" "Last-Translator: Mimolet <themimolet@proton.me>\n" "Language-Team: French <>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Gtranslator 50.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "App Store" msgstr "Logithèque" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "Ajouter, enlever ou mettre Ă  jour les applications flatpak" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "System;Package;Manager;Discover;Flatpak;Software;App;Store;" msgstr "System;PackageManager;Discover;Flatpak;Software;App;Store;Système;Gestionnaire;Paquets;Applis;Logiciel;Magasin;Logithèque;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "Nouvelle fenĂŞtre" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "DĂ©couvrez et installez des applis" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Une logithèque rapide et moderne pour Linux, spĂ©cialement conçue pour " "dĂ©couvrir et installer des applis et des extensions Flatpak, notamment " "celles disponibles sur Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "GĂ©rez plusieurs installations en mĂŞme temps tout en naviguant" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Consultez facilement les autorisations des applications" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Connectez-vous Ă  Flathub pour consulter et gĂ©rer vos favoris" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Recherchez des applications directement depuis le Shell GNOME" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:766 msgid "The Bazaar Contributors" msgstr "Les Contributeurs de Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Page d’accueil affichant les applis de Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Page de l’appli Exhibit" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Page Bibliothèque" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Page Recherche" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Page CatĂ©gorie" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Utilise un environnement en fin de vie" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "DĂ©sinstaller" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Installer" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "GĂ©rer les extensions" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Aucune extension visible" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Toutes extensions connues de cette appli sont cachĂ©s par vos prĂ©fĂ©rences de " "filtrage. Ajustez les pour voir les extensions cachĂ©es. " #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Page des extensions" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "TĂ©lĂ©chargements/mois" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "Utilise un environnement en fin de vie" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "L’environnement d’exĂ©cution utilisĂ© par cette extension ne reçoit plus de " "mises Ă  jour ni de correctifs de sĂ©curitĂ©.\n" "Son utilisation pourrait devenir risquĂ©e." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "Extension pour %s" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "Montrer moins" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Montrer plus" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "Statistiques de tĂ©lĂ©chargement" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Classification" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Violence animĂ©e" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Aucune information Ă  propos de la violence animĂ©e" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Violence fantastique" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Aucune information concernant la violence fantastique" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Violence rĂ©aliste" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Aucune information concernant la violence rĂ©aliste" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Violence sanglante" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Aucune information concernant la violence sanglante" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Violence sexuelle" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Aucune information concernant la violence sexuelle" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alcool" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Aucune information concernant les rĂ©fĂ©rences Ă  l'alcool" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "StupĂ©fiants" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Aucune information concernant les rĂ©fĂ©rences Ă  des drogues illicites" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabac" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Aucune information concernant les rĂ©fĂ©rences aux produits du tabac" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "NuditĂ©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Aucune information concernant la nuditĂ©" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Thèmes sexuels" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Aucune information concernant les rĂ©fĂ©rences ou scènes Ă  caractère sexuel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "VulgaritĂ©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Aucune information concernant la vulgaritĂ©" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Humour inappropriĂ©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Aucune information concernant l'humour inappropriĂ©" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Discrimination" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Aucune information concernant le langage discriminatoire" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "PublicitĂ©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Aucune information concernant la publicitĂ©" # Fait parti du système d'estimation d'âge et n'est pas une catĂ©gorie # (d'oĂą l'utilisation du singuler par rapport au pluriel) #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Jeu d’argent" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Aucune information concernant les jeux d’argent" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Achat" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Aucune information concernant les achats intĂ©grĂ©s" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Discussions Ă©crites entre utilisateurs" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "" "Aucune information concernant les fonctionnalitĂ©s de discussion entre " "utilisateurs" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Discussions vocales entre utilisateurs" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "" "Aucune information concernant les fonctionnalitĂ©s d'appels ou de messages " "vocaux entre utilisateurs" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "DĂ©tails des contacts" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Aucune information concernant le partage d’identifiants ou d’adresses e-mail" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Informations personnelles" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Aucune information concernant le partage de donnĂ©es personnelles avec des " "tiers" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Partage de position" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Aucune information concernant le partage de localisation avec d’autres " "utilisateurs" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostitution" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Aucune information concernant les rĂ©fĂ©rences Ă  la prostitution" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Adultère" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Aucune information concernant les rĂ©fĂ©rences Ă  l’adultère" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Personnage sexualisĂ©s" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Aucune information concernant les personnages sexualisĂ©s" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Profanation" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Aucune information concernant les rĂ©fĂ©rences Ă  la profanation" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Restes humains" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Aucune information concernant l'affichage de restes humains" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Esclavage" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Aucune information concernant les rĂ©fĂ©rences Ă  l’esclavage" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Ne contient aucune rĂ©fĂ©rence Ă  de la drogue" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "" "Ne contient aucune insulte, injure ou d’autres types de langage grossier" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Ne contient pas de publicitĂ© ou de transactions monĂ©taires" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Ne contient pas de sexe ou de nuditĂ©" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Ne contient pas de fonctionnalitĂ© de discussion non modĂ©rĂ©es" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Ne contient aucune violence" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogues" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Langage grossier" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "MonĂ©tisation" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Social" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Violence" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Tout" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s a une limite d’âge inconnue" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s convient Ă  tout le monde" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s convient aux jeunes enfants" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s convient aux enfants" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s convient aux adolescents" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s convient aux adultes" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s convient aux %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Accès au rĂ©pertoire %s (Système)" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Sous-dossier %s (Dossier Personnel)" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Dossiers du système hĂ´te" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Configuration du système hĂ´te Ă  partir de /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Sous-dossier %s (Bureau)" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Dossier Bureau" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Sous-dossier %s (Documents)" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Dossier Documents" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Sous-dossier %s (Musique)" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Dossier Musique" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Sous-dossier %s (Images)" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Dossier Images" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Sous-dossier %s (Public)" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Dossier Public" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Sous-dossier %s (VidĂ©os)" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Dossier VidĂ©os" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Sous-dossier %s (Modèles)" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Dossier Modèles" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Sous-dossier %s (cache utilisateur)" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Dossier du cache utilisateur" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Sous-dossier %s (configuration utilisateur)" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Dossier de configuration utilisateur" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Sous-dossier %s (donnĂ©es utilisateur)" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Dossier des donnĂ©es utilisateur" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Sous-dossier %s (environnement d’exĂ©cution utilisateur)" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Dossier d’envionnement d’exĂ©cution utilisateur" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Accès Ă  %s dans le système de fichiers" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Chemin d’accès au système de fichiers inconnu" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "Taille du tĂ©lĂ©chargement" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "Taille après installation" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "Volume Ă  tĂ©lĂ©charger depuis Internet" #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "Taille sur le disque" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "Ouvrir le dossier des donnĂ©es utilisateur" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "Vos donnĂ©es" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "Caches, paramètres et autres donnĂ©es" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "Cache" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "DonnĂ©es mises en cache temporairement" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "Effacer le cache" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Taille de l'environnement d’exĂ©cution" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Taille du tĂ©lĂ©chargement de l'environnement d’exĂ©cution" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "Inconnu" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "Taille de l'appli" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "VĂ©rifiĂ©" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:135 msgid "Installed" msgstr "InstallĂ©e" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:769 msgid "translator-credits" msgstr "" "Atom <29772841+AtomHare@users.noreply.github.com>, 2025\n" "LĂ©ane GRASSER <leane.grasser@proton.me>, 2025\n" "Mimolet <theMimolet@proton.me>, 2025-2026\n" "IrĂ©nĂ©e THIRION <irenee.thirion@e.email>, 2026" #: src/bz-application.c:779 msgid "Special Thanks" msgstr "Remerciements particuliers Ă " #: src/bz-application.c:837 msgid "Logged Out Successfully!" msgstr "DĂ©connexion rĂ©ussie !" #: src/bz-application.c:1027 msgid "Ubuntu Troubles!" msgstr "Ă€ l'attention des utilisateurs d'Ubuntu" #: src/bz-application.c:1030 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "Les versions rĂ©centes d'Ubuntu ont mis du dĂ©sordre dans les règles de " "sĂ©curitĂ© par dĂ©faut, ce qui <b>rend impossible l'installation " "d'applications</b> depuis la version Flatpak de Bazaar. Pour le moment, " "veuillez utiliser le paquet apt Ă  la place – installez-le avec \n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "Vous pourrez ensuite enlever la version Flatpak avec\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1036 msgid "Continue Anyway" msgstr "Continuer quand mĂŞme" #: src/bz-application.c:1052 msgid "Performing setup…" msgstr "Configuration en cours…" #: src/bz-application.c:1144 msgid "Set Up System Flathub?" msgstr "Configurer Flathub sur le système ? " #: src/bz-application.c:1147 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Le dĂ©pĂ´t d'applications Flathub n’a pas Ă©tĂ© configurĂ© sur ce système. Bazaar " "a besoin que Flathub soit configurĂ© pour parcourir et installer des " "applications.\n" "\n" "Vous pouvez toujours utiliser Bazaar pour parcourir et dĂ©sinstaller des " "applis dĂ©jĂ  installĂ©es." #: src/bz-application.c:1154 msgid "Set Up Flathub?" msgstr "Configurer Flathub ?" #: src/bz-application.c:1157 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub n’a pas Ă©tĂ© configurĂ© sur ce système. Vous ne pourrez pas parcourir " "et installer des applications dans Bazaar s’il est indisponible.\n" "\n" "Vous pouvez toujours utiliser Bazaar pour parcourir et dĂ©sinstaller des " "applis dĂ©jĂ  installĂ©es." #: src/bz-application.c:1163 msgid "Later" msgstr "Plus tard" #: src/bz-application.c:1164 msgid "Set Up Flathub" msgstr "Configurer Flathub" #: src/bz-application.c:1697 msgid "A backend error occurred" msgstr "Une erreur de backend est survenue" #: src/bz-application.c:1905 src/bz-application.c:4152 msgid "Refreshing…" msgstr "Actualisation…" #: src/bz-application.c:2069 src/bz-application.c:4150 #, c-format msgid "Loading %d apps…" msgstr "Chargement de %d applis…" #: src/bz-application.c:2122 src/bz-application.c:2196 msgid "Failed to open file" msgstr "Échec de l’ouverture du fichier" #: src/bz-application.c:2210 msgid "Failed to load metainfo" msgstr "Échec du chargement des mĂ©tainfos" #: src/bz-application.c:2304 msgid "An initialization error occurred" msgstr "Une erreur d'initialisation s'est produite" #: src/bz-application.c:2703 msgid "Checking for updates…" msgstr "Recherche de mises Ă  jour…" #: src/bz-application.c:2759 msgid "Failed to check for updates" msgstr "Échec de la vĂ©rification des mises Ă  jour" #: src/bz-application.c:3925 msgid "Malformed Link" msgstr "Lien corrigĂ©" #: src/bz-application.c:3926 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Le lien utilisĂ© pour ouvrir cette application a une majuscule incorrecte et " "a Ă©tĂ© corrigĂ© par Bazaar.\n" "\n" "Il s'agit très probablement de KRunner qui envoie des identifiants " "d'application incorrects." #: src/bz-application.c:3934 msgid "Could not find app" msgstr "Impossible de trouver l'application" #: src/bz-application.c:4154 msgid "Writing to cache…" msgstr "Écriture dans le cache…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Tout afficher" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Toutes les applis « %s »" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d applications" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Échec du chargement de l'article" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Installation de paquet" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "" "Des dĂ©pendances additionnelles pourraient nĂ©cessiter de l'espace disque " "supplĂ©mentaire" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Installer cette application pourrait nĂ©cessiter l'ajout d'une nouvelle " "source de logiciels.\n" "D'autres applis de cette source apparaĂ®tront alors dans Bazaar.\n" "\n" "N'ajoutez cette source que si vous lui faites confiance." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "Application installĂ©e avec succès!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Ouvrir" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Voir les dĂ©tails" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "DĂ©jĂ  installĂ©e" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "Échec de l'installation" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Taille d'installation inconnue" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Environ %s Ă  installer" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Aucune autorisation spĂ©ciale" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:29 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Vide" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Aucune sĂ©lection" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "Votre système ne possède pas de sĂ©lection d'applications. Vous pouvez " "toujours en chercher dans la logithèque" #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "Parcourir Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Hors-ligne" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Navigateur" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Non-vĂ©rifiĂ©" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Informations sur le dĂ©veloppeur non disponibles." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "La propriĂ©tĂ© de l'identifiant %s n’a pas Ă©tĂ© vĂ©rifiĂ©e et il pourrait s’agir " "d’un paquet gĂ©rĂ© par la communautĂ©." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "La propriĂ©tĂ© de l'identifiant %s a Ă©tĂ© vĂ©rifiĂ©e par l’équipe Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "La propriĂ©tĂ© de l'identifiant %1$s a Ă©tĂ© vĂ©rifiĂ©e par <b>%2$s</b> sur " "<b>%3$s</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "La propriĂ©tĂ© de l'identifiant %1$s a Ă©tĂ© vĂ©rifiĂ©e en utilisant %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "La propriĂ©tĂ© de l'identifiant %s a Ă©tĂ© vĂ©rifiĂ©e." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Notes de version complètes" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Bazaar existe grâce Ă  vous !" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "J'adore travailler sur Bazaar, mais je ne peux pas y arriver seule. Vous " "pouvez m'aider Ă  continuer le projet en faisant un don sur Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Faire un don Ă  Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Quoi de neuf en %s ?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "PubliĂ© le %-e %B %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Choisissez une installation" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Plusieurs versions de cette application sont installĂ©es. Avec quelle version " "souhaitez-vous poursuivre ?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Annuler" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Pour cet utilisateur seulement" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "cet utilisateur" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "tous les utilisateurs" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "DĂ©tails" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Copier" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Copié !" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Nombre de favoris" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Échec de la mise Ă  jour des favoris" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Connectez-vous avec Flathub pour gĂ©rer vos favoris" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Se connecter" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:348 msgid "Favorites" msgstr "Favoris" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "Tout installer" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:17 msgid "Loading" msgstr "Chargement" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Pas de favoris" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Les applications que vous marquerez comme favorites apparaĂ®tront ici" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Soutenez cette application" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Retirer des favoris" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Échec de la suppression du favori" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "PrĂ©cĂ©dent" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Suivant" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Montage" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mixage" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Musique" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Lecteurs" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Enregistreurs" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "SĂ©quenceurs" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Accordeurs" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Émulateurs" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Action" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Aventure" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Arcade" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Blocs" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Plateau" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Jeux de cartes" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Jeux pour enfants" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "Logique" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Jeux de rĂ´le" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Jeux de tir" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Simulation" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Sports" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Jeux de stratĂ©gie" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Navigateurs" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Messageries" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Emails" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Partage de fichiers" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Audio & VidĂ©o" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "MĂ©dia" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Plus d’applis audio & vidĂ©o" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "Outils de DĂ©veloppement" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Coder" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Plus d’outils de dĂ©veloppement" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Éducation" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Apprendre" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "Plus d’applis Ă©ducatives" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Jeux vidĂ©os" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Jouer" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Plus de jeux" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Graphisme & Photographie" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "CrĂ©er" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Plus d’applis de graphisme et photographie" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "RĂ©seau" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "Plus d’applis rĂ©seau" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "ProductivitĂ©" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Travailler" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Plus d’applis de productivitĂ©" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Sciences" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Plus d’applis scientifiques" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Système" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Plus d’applis système" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Utilitaires" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "Outils" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Plus d’utilitaires" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Tendances" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Plus de tendances" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "Populaires" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Plus d’applis populaires" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "AjoutĂ©es rĂ©cemment" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "NouveautĂ©s" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Plus de nouveautĂ©s" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Mises Ă  jour rĂ©cemment" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Mises Ă  jour" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Plus d’applis mises Ă  jour" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Mobile" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Plus d’applis mobiles" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Plus d’applis Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "Plus d’applis KDE" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Jeux" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "Plus de jeux" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Émulateurs" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Plus d'Ă©mulateurs" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "Lanceurs" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Plus de lanceurs de jeux" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Outils de jeu" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Plus d'outils de jeu" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub n’a pas Ă©tĂ© ajoutĂ©" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "Le dĂ©pĂ´t Flathub n’a Ă©tĂ© trouvĂ© dans aucune de vos installations Flatpak" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub est indisponible" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Connexion Ă  Flathub impossible" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "Vous pouvez toujours gĂ©rer et cherchez des applis." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Rechercher des applis" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Se reconnecter" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Appli du jour" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Sur tous vos Ă©crans" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Applis pour vos tĂ©lĂ©phones et tablettes Linux" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "Plus d’applis mobiles" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "Nous + jeux = ♥" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Jeux et applis pour lancer vos titres prĂ©fĂ©rĂ©s" #: src/bz-full-view.blp:34 src/bz-library-page.blp:40 #: src/bz-library-page.blp:44 msgid "No Results" msgstr "Aucun rĂ©sultat" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Essayez une autre recherche" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Contenu" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Ceci est un aperçu local, quelques dĂ©tails pourraient ĂŞtre " "diffĂ©rents du rĂ©sultat publiĂ©" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Aperçu dans la logithèque" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Soutenir" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "L’environnement d’exĂ©cution utilisĂ© par cette application ne reçoit plus de " "mises Ă  jour ni de correctifs de sĂ©curitĂ©.\n" "Son utilisation pourrait devenir risquĂ©e." #: src/bz-full-view.blp:539 msgid "Trash Data" msgstr "Supprimer les donnĂ©es" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Extensions" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "Plus d'extensions" #: src/bz-full-view.blp:648 msgid "Links" msgstr "Liens" #: src/bz-full-view.blp:679 msgid "Similar Apps" msgstr "Applications similaires" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Aucune URL" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Cette appli a une licence FLOSS, la fiabilitĂ© de son code source peut donc " "ĂŞtre vĂ©rifiĂ©e." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Cette appli a une licence propriĂ©taire, son code source est donc privĂ© et " "n'est pas vĂ©rifiable par un tiers indĂ©pendant." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Plus d’applis" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Plus d’applis par %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "D’autres applis de ce dĂ©veloppeur" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "D’autres applis par %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s n’est pas installĂ©, mais a toujours <b>%s</b> de donnĂ©es prĂ©sentes." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "D’autres applis" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d application" msgstr[1] "%d applications" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:141 msgid "Failed to Remove User Data" msgstr "Échec de la suppression des donnĂ©es utilisateurs" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Support matĂ©riel" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Prise en charge des claviers" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Requiert un clavier" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Recommande l’utilisation d’un clavier" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Prend en charge les claviers" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Prise en charge des claviers inconnue" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Prise en charge des souris" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "NĂ©cessite une souris ou un pointeur" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Recommande l’utilisation d’une souris ou d’un pointeur" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Prend en charge les souris et pointeurs" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Prise en charge des souris et pointeurs inconnue" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Prise en charge des Ă©crans tactiles" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Requiert un Ă©cran tactile" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Recommande l’utilisation d’un Ă©cran tactile" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Prend en charge les Ă©crans tactiles" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Prise en charge des Ă©crans tactiles inconnue" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Prise en charge des appareils mobiles" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Fonctionne sur les appareils mobiles" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Peut ne pas fonctionner correctement sur les appareils mobiles" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Prise en charge des ordinateurs" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "AdaptĂ© aux grands Ă©crans" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s fonctionne mieux sur certains appareils" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s fonctionne sur la plupart des appareils" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "Menu de l'inspecteur" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Ouvrir" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "DĂ©sinstaller l’application" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_DĂ©sinstaller" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Mettre Ă  jour" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "DĂ©sinstaller" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Installer %s depuis %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Installer %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Annuler" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Annulation" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Bouton Faire un don" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "Rechercher des applis installĂ©es" #: src/bz-library-page.blp:33 msgid "No Apps Found" msgstr "Aucune appli trouvĂ©e" #: src/bz-library-page.blp:52 msgid "Search Store Instead" msgstr "Rechercher plutĂ´t dans la logithèque" # "Bibliothèque" est trop long sous un format "mobile" #. Translators: . #: src/bz-library-page.blp:62 src/bz-window.blp:114 msgid "Library" msgstr "Bibliothèque" #: src/bz-library-page.blp:91 msgid "Pending Updates" msgstr "Mises Ă  jour en attente" #: src/bz-library-page.blp:118 msgid "Downloads" msgstr "TĂ©lĂ©chargements" #: src/bz-library-page.blp:161 msgid "Recently Uninstalled" msgstr "DĂ©sinstallĂ©es rĂ©cemment" #: src/bz-library-page.blp:212 msgid "Clear Finished Tasks" msgstr "Effacer les tâches effectuĂ©es" #: src/bz-library-page.blp:239 msgid "Sort Options" msgstr "Options de tri" #: src/bz-library-page.blp:298 msgid "Sort By" msgstr "Trier par" #: src/bz-library-page.blp:312 msgid "Name" msgstr "Nom" #: src/bz-library-page.blp:318 msgid "Size" msgstr "Taille" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Aucune application installĂ©e ne correspond Ă  « %s »" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u mise Ă  jour disponible" msgstr[1] "%u mises Ă  jour disponibles" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u appli installĂ©e" msgstr[1] "%u applis installĂ©es" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Aucune application trouvĂ©e" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "Une application trouvĂ©e" msgstr[1] "%u applications trouvĂ©es" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "S'impliquer" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "En savoir plus" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Licence inconnue" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Créée par la communautĂ©" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:288 msgid "Proprietary" msgstr "PropriĂ©taire" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:290 msgid "Special License" msgstr "Licence spĂ©ciale" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Cette appli est un projet open source dĂ©veloppĂ© par une communautĂ© " "internationale.\n" "\n" "Vous pouvez contribuer Ă  son amĂ©lioration." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "La licence de cette appli est inconnue" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Cette appli est un projet open source dĂ©veloppĂ© par une communautĂ© " "internationale et publiĂ© sous la licence %s.\n" "\n" "Vous pouvez contribuer Ă  son amĂ©lioration." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Cette appli n'est pas un projet open source, donc seuls ses dĂ©veloppeurs " "connaissent son fonctionnement. Elle est susceptible de comporter des " "failles de sĂ©curitĂ© difficiles Ă  dĂ©tecter et peut ĂŞtre modifiĂ©e sans aucun " "contrĂ´le prĂ©alable.\n" "\n" "Vous ne pourrez peut-ĂŞtre pas contribuer Ă  cette application." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Cette appli est dĂ©veloppĂ©e sous la licence spĂ©ciale %s.\n" "\n" "Vous ne pourrez peut-ĂŞtre pas contribuer Ă  cette application." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Licence" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Se connecter Ă  Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Une erreur s’est produite" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "" "Connectez-vous pour synchroniser vos applications favorites d'un appareil Ă  " "l'autre" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Terminer" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Bonjour, %s !" #: src/bz-metainfo-preview.c:105 msgid "Add Icon to Metainfo Preview?" msgstr "Ajouter une icĂ´ne Ă  l'aperçu des mĂ©tainfos ?" #: src/bz-metainfo-preview.c:108 msgid "" "Metainfo files don't include app icons by themselves. Would you like to " "select one manually?" msgstr "" "Les fichiers mĂ©tainfo n'incluent pas les icĂ´nes des applis directement. " "Souhaitez-vous en sĂ©lectionner une manuellement ?" #: src/bz-metainfo-preview.c:111 msgid "Skip" msgstr "Passer" #: src/bz-metainfo-preview.c:112 src/bz-metainfo-preview.c:163 msgid "Select Icon" msgstr "SĂ©lectionner une icĂ´ne" #: src/bz-metainfo-preview.c:166 msgid "Image Files" msgstr "Fichiers image" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "PrĂ©fĂ©rences" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "La connexion rĂ©seau est limitĂ©e — l’actualisation automatique de la " "logithèque est suspendue" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Actualiser manuellement" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Mise Ă  jour des applications" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "VĂ©rifier et tĂ©lĂ©charger les mises Ă  jour des applications utilise du rĂ©seau " "et de l'Ă©nergie. Les mises Ă  jour automatique des applications sont donc " "mises en pause si vous utilisez une connexion limitĂ©e et si votre appareil " "est en Ă©conomie d'Ă©nergie." #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "_Automatique" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "" "Les mises Ă  jour des applications seront vĂ©rifiĂ©es et tĂ©lĂ©chargĂ©es " "automatiquement" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "_Manuelle" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "" "Les mises Ă  jour des applications devront ĂŞtre vĂ©rifiĂ©es et tĂ©lĂ©chargĂ©es " "manuellement" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "_Notifications de mise Ă  jour automatique" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "Notifie lorsque les mises Ă  jour sont installĂ©es automatiquement" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "Filtres de contenu" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "N'afficher que les logiciels _libres" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "Masque les applis propriĂ©taires pendant la navigation et la recherche" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "N'afficher que les rĂ©sultats issus de _Flathub" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "" "Restreint les rĂ©sultats des recherches aux applis disponibles sur Flathub" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "N'afficher que les dĂ©veloppeurs _vĂ©rifiĂ©s" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "Masque les rĂ©sultats non vĂ©rifiĂ©s sur Flathub" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "Masquer les applications _en fin de vie" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "" "Masque les applis qui ne sont plus prises en charge par leurs dĂ©veloppeurs" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "Thème de la barre de progression" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Couleur d’accentuation" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Couleurs de la fiertĂ©" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Couleurs de la fiertĂ© lesbienne" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Couleurs de la fiertĂ© homosexuelle" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Couleurs de la fiertĂ© transgenre" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Couleurs de la fiertĂ© non binaire" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Couleurs de la fiertĂ© bisexuelle" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Couleurs de la fiertĂ© asexuelle" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Couleurs de la fiertĂ© pansexuelle" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Couleurs de la fiertĂ© aromantique" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Couleurs de la fiertĂ© fluide" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Couleurs de la fiertĂ© polysexuelle" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Couleurs de la fiertĂ© omnisexuelle" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Couleurs de la fiertĂ© aroace" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Couleurs du drapeau agenre" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Couleurs du drapeau genderqueer" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Couleurs du drapeau intersexe" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Couleurs du drapeau demi-genre" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Couleurs du drapeau biromantique" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Couleurs de la fiertĂ© des personnes en situation de handicap" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Couleurs de la fiertĂ© femboy" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Couleurs du drapeau neutrois" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Historique des versions" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Historique des versions" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Aujourd'hui" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Hier" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Il y a %d jour" msgstr[1] "Il y a %d jours" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Il y a %d semaine" msgstr[1] "Il y a %d semaines" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "Il y a %d mois" msgstr[1] "Il y a %d mois" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "Il y a %d an" msgstr[1] "Il y a %d ans" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Version %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Aucun dĂ©tail Ă  propos de cette version" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Obtenir plus d’informations" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "DĂ©sinstaller" # Dans le contexte d'App Store - "Get" serait plutĂ´t traduit en "TĂ©lĂ©charger" ou comme ici en "Installer" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "/" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Autorisations arbitraires" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Cette appli possède des autorisations qui lui permettent indirectement de " "s'octroyer <b>n'importe quelle autorisation qu'elle souhaite</b>, " "contournant le bac Ă  sable Flatpak.\n" "\n" "Par consĂ©quent, elle peut agir comme une application normale, non-isolĂ©e qui " "peut accĂ©der tous vos fichiers et se connecter Ă  Internet, par exemple.\n" "\n" "Voir les autres autorisations peut donner une meilleure idĂ©e de ce que " "l'appli pourrait faire. " #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Voir les autres autorisations" #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:400 msgid "Safe" msgstr "Fiable" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "Identifiant" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "Plateforme logicielle (SDK)" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Cette application utilise une version obsolète de la plateforme logicielle " "(SDK) et peut contenir des bogues ou des failles de sĂ©curitĂ© qui ne seront " "pas corrigĂ©s." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "SĂ©curitĂ©" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s est fiable" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s n’a pas d’autorisations Ă  risque" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s est probablement fiable" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s n'est peut-ĂŞtre pas fiable" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s n’est pas fiable" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Retour" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Capture d’écran prĂ©cĂ©dente" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "Capture d’écran suivante" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Copier l’image" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "RĂ©initialiser l’affichage" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Zoom arrière" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "Zoom avant" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Carrousel de captures d’écran" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Aucune capture d’écran" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Ouvrir la visionneuse de captures d’écran" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "Captures d’écran %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "Captures d’écran %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "Effacer la recherche" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "Filtres" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_VĂ©rifiĂ©es" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Libres" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Ă€ _jour" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Affiche/Masque les applications en fin de vie" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Disponibles sur mobile" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "CatĂ©gories" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "Rechercher applis, jeux et logiciels" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Filtres de recherche" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "Parcourir les catĂ©gories" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "CatĂ©gories non disponibles" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Cherchez des applis en utilisant la barre de recherche ci-dessus." #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Aucune application trouvĂ©e" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Aucun rĂ©sultat pour « %s » dans la logithèque" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "VidĂ©o" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Bureautique" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Calendrier" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Messagerie" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Dessin" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Émulateur" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Page Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Site web du projet" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Signaler un problème" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Aide" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Faire un don" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Contribuer aux traductions" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Contacter" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Code Source" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Contribuer" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifeste" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Copier le lien" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Chronologie" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Installations :" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Monde" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Depuis le 15 Avril 2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2f Mio installations en tout" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2f mil. installations en tout" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d tĂ©lĂ©chargements en tout" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Aucun rĂ©sultat trouvĂ©" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "La recherche a Ă©chouĂ©" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Conserver les donnĂ©es utilisateur" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Permet la restauration des paramètres et du contenu" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Supprimer les donnĂ©es" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "" "Supprime dĂ©finitivement les donnĂ©es de l’appli pour libĂ©rer de l’espace" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Installer %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "SĂ©lectionnez la version Ă  installer.\n" "Elle pourrait installer des composants partagĂ©s supplĂ©mentaire" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Pourrait installer des composants partagĂ©s supplĂ©mentaires" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Annuler" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Installer" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "DĂ©sinstaller %s ?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "SĂ©lectionnez la version Ă  dĂ©sinstaller." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Il ne sera plus possible d’utiliser %s après sa dĂ©sinstallation." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "« %s » prĂ©sente un risque Ă©levĂ©" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Cette application dispose d’un accès complet Ă  votre système, y compris Ă  " "tous <b>vos fichiers, Ă  l’historique de votre navigateur, Ă  vos mots de " "passe enregistrĂ©s</b>, etc. Elle a Ă©galement accès Ă  Internet, ce qui " "signifie qu’elle pourrait envoyer vos donnĂ©es Ă  des tiers.\n" "\n" "Comme cette application est propriĂ©taire, il est impossible de vĂ©rifier ce " "qu’elle fait avec ces autorisations." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Cette application utilise l’ancien système de fenĂŞtrage X11, qui lui permet " "d’<b>enregistrer toutes les frappes au clavier, de faire des captures " "d’écran et de surveiller d’autres applications</b>. Elle a Ă©galement accès Ă  " "Internet, ce qui signifie qu’elle pourrait envoyer vos donnĂ©es Ă  des tiers.\n" "\n" "Comme cette application est propriĂ©taire, il est impossible de vĂ©rifier ce " "qu’elle fait avec ces autorisations." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Installer quand mĂŞme" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Échec du chargement du dialogue de la transaction" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Toutes les applis sont dĂ©jĂ  installĂ©es" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "D’_accord" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Installer %u appli ?" msgstr[1] "Installer %u applis ?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Les applications suivantes seront installĂ©es. Des composants partagĂ©s " "supplĂ©mentaires pourraient Ă©galement ĂŞtre installĂ©s" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d extensions seront installĂ©es." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Des extensions seront aussi installĂ©es." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Tout installer" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "TerminĂ© en %.02f secondes" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Extension d'application" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Environnement d’exĂ©cution" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "En attente" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Tâche terminĂ©e" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Tâche annulĂ©e" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Erreur" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Annuler la tâche" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Voir les dĂ©tails" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Afficher les informations sur l'erreur" # Pluriel car on parle d'octets #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s libĂ©rĂ©s" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Erreur de transaction" #: src/bz-transaction.c:344 msgid "Pending" msgstr "En attente" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "Tout _mettre Ă  jour" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u mise Ă  jour d'environnement d’exĂ©cution " msgstr[1] "%u mises Ă  jour d'environnement d’exĂ©cution " #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Nettoyer les donnĂ©es orphelines" #: src/bz-user-data-page.blp:34 msgid "No User Data Found" msgstr "Pas de donnĂ©es orphelines trouvĂ©es" #: src/bz-user-data-page.blp:40 msgid "User Data" msgstr "DonnĂ©es utilisateur" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "Ouvrir le dossier des donnĂ©es utilisateur" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "Mettre les donnĂ©es utilisateurs Ă  la corbeille" #: src/bz-user-data-tile.c:147 #, c-format msgid "Trashed User Data for %s" msgstr "Les donnĂ©es utilisateur de %s ont Ă©tĂ© mise Ă  la corbeille" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Actualisation" #: src/bz-window.blp:90 msgid "Curated" msgstr "SĂ©lection" #: src/bz-window.blp:102 msgid "Explore" msgstr "Explorer" #: src/bz-window.blp:129 msgid "Search" msgstr "Recherche" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Menu principal" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Bazaar a Ă©tĂ© mis Ă  jour !" #: src/bz-window.blp:228 msgid "See What's New" msgstr "Voir les nouveautĂ©s" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Votre appareil est connectĂ© Ă  Internet, mais vous consultez une version hors-" "ligne de la logithèque" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "Connexion rĂ©seau limitĂ©e — l’actualisation automatique est dĂ©sactivĂ©e" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "Faire un _don Ă  Bazaar" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Actualiser" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "Se _connecter avec Flathub" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "_GĂ©rer les donnĂ©es utilisateurs orphelines" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_PrĂ©fĂ©rences" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_Raccourcis clavier" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "Ă€ propos de _Bazaar" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_Quitter Bazaar" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Se dĂ©connecter" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Échec du lancement de l'application" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Vous ne pouvez supprimer Bazaar depuis Bazaar !" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "Impossible de faire ceci pour le moment !" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Installation" msgstr[1] "Installations" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f Mio." #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f mil." #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d tĂ©lĂ©chargements au cours du dernier mois" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s d'environnement" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Ă€ tĂ©lĂ©charger" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informations sur la taille non disponibles" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Taille du tĂ©lĂ©chargement de %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Tout public" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Informations sur la classification d’âge non disponibles" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Convient Ă  tout public" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "AppropriĂ© dès %d ans et plus" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Inconnue" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Logiciel libre sous licence %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Logiciel libre" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Logiciel propriĂ©taire" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Licence spĂ©ciale : %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Logiciel libre" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptative" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "PC uniquement" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Fonctionne sur ordinateur, tablette et tĂ©lĂ©phone" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Peut ne pas fonctionner sur les appareils mobiles" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Risque faible" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Risque moyen" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Risque Ă©levĂ©" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Autorisations inconnues" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Des autorisations sont manquantes pour cette application." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Aucune autorisation" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "L’application est entièrement sandboxĂ©e" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Accès au rĂ©seau" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Peut accĂ©der Ă  Internet" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Aucun accès au rĂ©seau" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Ne peut pas accĂ©der Ă  Internet" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Accès Ă  l’appareil de l’utilisateur" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "Peut accĂ©der Ă  des pĂ©riphĂ©riques tels que des webcams ou des manettes de jeu" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Aucun accès aux pĂ©riphĂ©riques" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Ne peut pas accĂ©der aux pĂ©riphĂ©riques système qui nĂ©cessitent des " "autorisations Ă©levĂ©es" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Accès aux pĂ©riphĂ©riques d’entrĂ©e" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Peut accĂ©der aux pĂ©riphĂ©riques d’entrĂ©e" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Accès au microphone et Ă  la lecture audio" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "A accès aux microphones connectĂ©s et peut lire des fichiers audio sans " "demander l’autorisation" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Accès aux pĂ©riphĂ©riques du système" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Peut accĂ©der aux pĂ©riphĂ©riques du système qui nĂ©cessitent des autorisations " "Ă©levĂ©es" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Accès au contenu de l’écran" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Peut accĂ©der au contenu de l’écran ou d’autres fenĂŞtres" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Système de fenĂŞtrage ancien" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Utilise toujours un ancien système de fenĂŞtrage (X11)" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Peut obtenir des autorisations arbitraires" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Paramètres utilisateur" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Peut accĂ©der aux paramètres utilisateur et les modifier" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Accès complet en lecture/Ă©criture au système de fichiers" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Peut lire et Ă©crire tout le contenu du système de fichiers" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Accès en lecture/Ă©criture au dossier personnel" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Peut lire et Ă©crire tout le contenu de votre dossier personnel" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Accès complet en lecture au système de fichiers" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Peut lire tout le contenu du système de fichiers" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Accès en lecture au dossier personnel" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Peut lire tout le contenu de votre dossier personnel" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Accès en lecture/Ă©criture au dossier TĂ©lĂ©chargements" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Peut lire et Ă©crire tout le contenu de votre dossier TĂ©lĂ©chargements" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Accès en lecture au dossier TĂ©lĂ©chargements" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Peut lire tout le contenu de votre dossier TĂ©lĂ©chargements" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Peut lire et Ă©crire tout le contenu du rĂ©pertoire" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Peut lire tout le contenu du rĂ©pertoire" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Aucun accès au système de fichiers" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Ne peut pas accĂ©der au système de fichiers" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Utilise les services système" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Peut demander des donnĂ©es Ă  des services système hors portail" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Utilise les services de la session utilisateur" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Peut demander des donnĂ©es Ă  des services de session hors portail" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Aucun accès aux services" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "Ne peut ni accĂ©der Ă  des services de session, ni Ă  des services système hors " "portail" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "DĂ©veloppeur vĂ©rifiĂ©" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "L’identitĂ© du dĂ©veloppeur de cette application a Ă©tĂ© vĂ©rifiĂ©e" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Code propriĂ©taire" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Le code source n’est pas public, il ne peut donc pas ĂŞtre vĂ©rifiĂ© de manière " "indĂ©pendante et pourrait ne pas ĂŞtre sĂ©curisĂ©" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Code vĂ©rifiable" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Le code source est public et peut ĂŞtre vĂ©rifiĂ© de manière indĂ©pendante, ce " "qui rend l’application plus sĂ»re" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Utilise le service système %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Utilise le service de session %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Utilise le service %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Peut dĂ©tecter ce service hors portail" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Peut communiquer Ă  ce service hors portail" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Peut possĂ©der ce service hors portail" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "IntĂ©gration au menu global" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Peut afficher ses menus dans une barre de menus globale" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "IntĂ©gration aux paramètres KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Peut dĂ©tecter lorsque les paramètres du bureau KDE changent" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Paramètres gĂ©nĂ©raux KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "" "Peut lire les prĂ©fĂ©rences du bureau KDE telles que les polices et les " "couleurs" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Service de stockage secret" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Peut stocker et rĂ©cupĂ©rer ses propres mots de passe Ă  l’aide du trousseau " "système" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Service de notifications sur le bureau" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Peut envoyer des notifications sur le bureau" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "IntĂ©gration dans la barre d’état système" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Peut afficher une icĂ´ne dans la barre d’état système" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "IntĂ©gration de KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "Peut interagir avec les appareils connectĂ©s avec KDE Connect" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navigation" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Ouvrir la page Explorer" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Ouvrir la page Bibliothèque" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Ouvrir la page Recherche" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Sources" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Synchroniser les sources" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "GĂ©nĂ©ral" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Ouvrir les prĂ©fĂ©rences" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Afficher les raccourcis" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Fermer la fenĂŞtre" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Quitter Bazaar" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "%u application mise Ă  jour" msgstr[1] "%u applications mises Ă  jour" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "%s a Ă©tĂ© mis Ă  jour." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "%s et %s ont Ă©tĂ© mis Ă  jour." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "Inclus %s, %s et %s." #~ msgid "Select Metainfo File" #~ msgstr "SĂ©lectionner un fichier mĂ©tainfo" #~ msgid "Metainfo Files" #~ msgstr "Fichiers mĂ©tainfo" #~ msgid "Preview" #~ msgstr "Aperçu" #~ msgid "Screenshots" #~ msgstr "Captures d’écran" #~ msgid "Free" #~ msgstr "Libre" #~ msgid "Flathub returned an error" #~ msgstr "Flathub a renvoyĂ© une erreur" #~ msgid "Retry Flathub Connection" #~ msgstr "RĂ©essayer de se connecter Ă  Flathub" #~ msgid "Tags:" #~ msgstr "Étiquettes :" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "Connectez votre compte Flathub Ă  Bazaar pour gĂ©rer vos applications " #~ "favorites." #~ msgid "Delay Search Results" #~ msgstr "Retarder l’affichage des rĂ©sultats de recherche" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "AmĂ©liore la performance des rĂ©sultats en rajoutant un anti-rebond" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Choisissez un thème pour la barre de progression !" #~ msgid "Vertical Stripes" #~ msgstr "Motifs verticaux" #~ msgid "Display flag colors from left to right" #~ msgstr "Affiche les couleurs des drapeaux de gauche Ă  droite" #~ msgid "Open Link" #~ msgstr "Ouvrir le lien" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "Applis Ă©tiquetĂ©es « %s »" #~ msgid "Refresh completed!" #~ msgstr "Actualisation terminĂ©e !" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "Actualiser" #~ msgid "User Data Size" #~ msgstr "Taille des donnĂ©es utilisateur" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgctxt "As in, \"100 Installs\"" #~ msgid "Installs" #~ msgstr "installations" #~ msgid "Open App Library" #~ msgstr "Ouvrir la bibliothèque" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "L’installation de lots .flatpak n’est pas encore prise en charge" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/ga.po������������������������������������������������������������������0000664�0000000�0000000�00000276665�15234476640�0016661�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Irish translations for bazaar package. # Copyright (C) 2026 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2026. # # AindriĂş Mac Giolla Eoin <aindriu80@yahoo.com>, 2026. msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-05-24 13:42+0100\n" "PO-Revision-Date: 2026-05-24 13:17+0000\n" "Last-Translator: AindriĂş Mac Giolla Eoin <aindriu80@yahoo.com>\n" "Language-Team: Irish <http://weblate.amgelocalnet.duckdns.org/projects/" "bazaar-translations/bazaar/ga/>\n" "Language: ga\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n" "X-Generator: Weblate 2026.5\n" #: data/io.github.kolunmi.Bazaar.desktop.in:3 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:45 #: src/bz-window.blp:199 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "" "BogearraĂ­ flatpak a chur leis, a bhaint nĂł a nuashonrĂş ar an rĂ­omhaire seo" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;CĂłras;Bainisteoir PacáistĂ­;Faigh Amach;Flatpak;BogearraĂ­;StĂłr;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "Fuinneog Nua" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and manage applications" msgstr "Aimsigh agus bainistigh feidhmchláir" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and addons, particularly from Flathub." msgstr "" "Siopa aipeanna gasta agus nua-aimseartha do Linux le fĂłcas ar aipeanna agus " "breiseáin Flatpak a aimsiĂş agus a shuiteáil, go háirithe Ăł Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Cuir ilshuiteálacha i scuaine agus lean ort ag brabhsáil" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "FĂ©ach go hĂ©asca ar cheadanna aipeanna" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "" "SĂ­nigh isteach chuig Flathub chun do rogha pearsanta a fheiceáil agus a " "bhainistiĂş" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Cuardaigh aipeanna go dĂ­reach Ăł GNOME Shell" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:762 msgid "The Bazaar Contributors" msgstr "Rannpháirtithe an Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "An leathanach baile a thaispeánann aipeanna Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Leathanach aip taispeántais" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Leathanach na leabharlainne" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Leathanach cuardaigh" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Leathanach catagĂłire" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:141 msgid "Stopped Receiving Updates" msgstr "Stopadh ag fáil nuashonruithe" #: src/bz-addon-tile.c:167 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "DĂ­shuiteáil" #: src/bz-addon-tile.c:169 src/bz-bundle-install-dialog.blp:126 #: src/bz-favorites-tile.c:157 src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Suiteáil" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-full-view.blp:583 #: src/bz-installed-tile.blp:92 msgid "Manage Add-Ons" msgstr "Bainistigh Breiseáin" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Gan Breiseáin le Feiceáil" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Tá do chuid roghanna scagaire reatha ag cur breiseáin aitheanta i bhfolach. " "Bain triail as iad a choigeartĂş." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Leathanach Breiseáin" #: src/bz-addons-dialog.blp:202 src/bz-full-view.blp:381 msgid "Downloads/Month" msgstr "ĂŤoslĂłdálacha/MĂ­" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:417 msgid "Stopped Receiving Core Updates" msgstr "Stopadh ag fáil nuashonruithe lárnacha" #: src/bz-addons-dialog.blp:243 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Ăšsáideann an breiseán seo am rith nach bhfaigheann nuashonruithe ná " "socruithe slándála a thuilleadh. D’fhĂ©adfadh sĂ© a bheith neamhshábháilte le " "hĂşsáid." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "Breiseán do %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:600 msgid "Show Less" msgstr "Taispeáin NĂ­os LĂş" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:600 msgid "Show More" msgstr "Taispeáin Tuilleadh" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "StaitisticĂ­ ĂŤoslĂłdála" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Rátáil Aois" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "ForĂ©igean CartĂşin" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Gan aon eolas maidir le forĂ©igean cartĂşin" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "ForĂ©igean FantaisĂ­ochta" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Gan aon eolas maidir le forĂ©igean fantaisĂ­ochta" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "ForĂ©igean RĂ©alaĂ­och" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Gan aon fhaisnĂ©is maidir le forĂ©igean rĂ©alaĂ­och" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "ForĂ©igean a lĂ©irĂ­onn fuildhoirteadh" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Gan aon eolas faoi fhuildhoirteadh" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "ForĂ©igean GnĂ©asach" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Gan aon eolas maidir le forĂ©igean gnĂ©asach" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "AlcĂłl" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ d'alcĂłl" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Támhshuanacha" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ do dhrugaĂ­ mĂ­dhleathacha" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tobac" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ do tháirgĂ­ tobac" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nochtacht" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Gan aon fhaisnĂ©is maidir le nochtas de chineál ar bith" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "TĂ©amaĂ­ GnĂ©is" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ nĂł lĂ©irithe de chineál gnĂ©asach" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "MaslaĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Gan aon fhaisnĂ©is maidir le maslaĂ­ de chineál ar bith" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Greann MĂ­chuĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Gan aon eolas maidir le greann mĂ­chuĂ­" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "IdirdhealĂş" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Gan aon fhaisnĂ©is maidir le teanga idirdhealaitheach d'aon chineál" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "FĂłgraĂ­ocht" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Gan aon fhaisnĂ©is maidir le fĂłgraĂ­ocht d'aon chineál" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Cearrbhachas" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Gan aon fhaisnĂ©is maidir le cearrbhachas d'aon chineál" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Ceannach" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Gan aon eolas maidir leis an gcumas airgead a chaitheamh" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Comhrá idir ĂšsáideoirĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "" "Gan aon eolas maidir le bealaĂ­ chun comhrá a dhĂ©anamh le hĂşsáideoirĂ­ eile" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Comhrá Fuaime Idir ĂšsáideoirĂ­" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Gan aon eolas maidir le bealaĂ­ chun labhairt le hĂşsáideoirĂ­ eile" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "SonraĂ­ Teagmhála" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Gan aon fhaisnĂ©is maidir le hainmneacha Ăşsáideora ná seoltaĂ­ rĂ­omhphoist " "lĂ­onraĂ­ sĂłisialta a roinnt" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "FaisnĂ©is Aitheantais" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Gan aon fhaisnĂ©is maidir le faisnĂ©is Ăşsáideora a roinnt le trĂ­Ăş páirtithe" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Comhroinnt SuĂ­mh" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Gan aon fhaisnĂ©is maidir le suĂ­omh fisiceach a roinnt le hĂşsáideoirĂ­ eile" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Striapachas" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ do striapachas" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Adaltranas" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ d'adhaltranas" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Carachtair GhnĂ©asaithe" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Gan aon fhaisnĂ©is maidir le carachtair ghnĂ©asaithe" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "MĂ­-naomhĂş" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ do dhĂ­-sheacracht" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "IarsmaĂ­ Daonna" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Gan aon fhaisnĂ©is maidir le hiarsmaĂ­ daonna marbha infheicthe" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "SclábhaĂ­ocht" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Gan aon fhaisnĂ©is maidir le tagairtĂ­ don sclábhaĂ­ocht" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "NĂ­ áirĂ­tear tagairtĂ­ do dhrugaĂ­" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "NĂ­ chuimsĂ­onn sĂ© mionnĂş, maslaĂ­, agus cineálacha eile teanga ghĂ©ar" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "NĂ­ áirĂ­tear fĂłgraĂ­ ná idirbhearta airgid" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "NĂ­ chuimsĂ­onn sĂ© gnĂ©as ná nochtas" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "NĂ­ chuimsĂ­onn sĂ© feidhmiĂşlacht comhrá neamhrialaithe" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "NĂ­ áirĂ­tear forĂ©igean" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "DrugaĂ­" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Teanga Láidir" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Airgead" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "SĂłisialta" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "ForĂ©igean" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Gach" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "Tá rátáil aoise anaithnid ag %s" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "Tá %s oiriĂşnach do gach duine" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "Tá %s oiriĂşnach do leanaĂ­ Ăłga" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "Tá %s oiriĂşnach do pháistĂ­" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "Tá %s oiriĂşnach do dhĂ©agĂłirĂ­" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "Tá %s oiriĂşnach do dhaoine fásta" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "Tá %s oiriĂşnach do %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Fillteán cĂłrais %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Fo-fhillteán baile %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Fillteáin chĂłrais Ăłstach" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "CumraĂ­ocht an chĂłrais Ăłstach Ăł /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Fo-fhillteán deisce %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Fillteán deisce" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Fo-fhillteán doicimĂ©ad %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Fillteán na ndoicimĂ©ad" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Fo-fhillteán ceoil %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Fillteán ceoil" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Fo-fhillteán pictiĂşr %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Fillteán pictiĂşr" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Fo-fhillteán Comhroinnte PoiblĂ­ %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Fillteán Comhroinnte PoiblĂ­" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Fo-fhillteán fĂ­seáin %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Fillteán fĂ­seáin" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Fo-fhillteán teimplĂ©id %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Fillteán teimplĂ©id" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Fo-fhillteán taisce Ăşsáideora %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Fillteán taisce Ăşsáideora" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Fo-fhillteán cumraĂ­ochta Ăşsáideora %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Fillteán cumraĂ­ochta Ăşsáideora" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Fo-fhillteán sonraĂ­ Ăşsáideora %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Fillteán sonraĂ­ Ăşsáideora" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Fo-fhillteán ama rite Ăşsáideora %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Fillteán rith-ama Ăşsáideora" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Rochtain ar chĂłras comhad ar %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Cosán anaithnid cĂłras comhad" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "MĂ©id ĂŤoslĂłdála" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "MĂ©id Suiteáilte" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "MĂ©id le hĂ­oslĂłdáil Ăłn idirlĂ­on" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "MĂ©id ar Diosca" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Oscail fillteán sonraĂ­ Ăşsáideora" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Do ShonraĂ­ Ăšsáideora" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Taisceáin, socruithe, agus sonraĂ­ eile aipeanna" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Taisce" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "SonraĂ­ taisceáilte sealadacha" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "Glan an Taisce" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "MĂ©id Ama Rith Suiteáilte" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "MĂ©id ĂŤoslĂłdála Am Rithime" #: src/bz-app-size-dialog.c:220 msgid "App Size" msgstr "MĂ©id an Aipe" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:105 src/bz-rich-app-tile.c:429 msgid "Verified" msgstr "FĂ­oraithe" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Suiteáilte" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:765 msgid "translator-credits" msgstr "AindriĂş Mac Giolla Eoin" #: src/bz-application.c:775 msgid "Special Thanks" msgstr "BuĂ­ochas Speisialta" #: src/bz-application.c:833 msgid "Logged Out Successfully!" msgstr "Logáilte Amach go RathĂşil!" #: src/bz-application.c:969 msgid "Performing setup…" msgstr "Ag dĂ©anamh an socraithe…" #: src/bz-application.c:1055 msgid "Set Up System Flathub?" msgstr "CĂłras Flathub a Chur Ar Bun?" #: src/bz-application.c:1058 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "NĂ­l an cianrialtán Flathub cĂłrais socraithe. ÉilĂ­onn Bazaar go mbeidh " "Flathub cumraithe ar shuiteáil Flatpak an chĂłrais chun brabhsáil agus " "feidhmchláir a shuiteáil.\n" "\n" "Is fĂ©idir leat Bazaar a Ăşsáid fĂłs chun brabhsáil agus aipeanna atá " "suiteáilte cheana fĂ©in a bhaint." #: src/bz-application.c:1065 msgid "Set Up Flathub?" msgstr "Suiteáil Flathub?" #: src/bz-application.c:1068 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "NĂ­l Flathub socraithe ar an gcĂłras seo. NĂ­ bheidh tĂş in ann brabhsáil agus " "feidhmchláir a shuiteáil i Bazaar mura bhfuil sĂ© ar fáil.\n" "\n" "Is fĂ©idir leat Bazaar a Ăşsáid fĂłs chun brabhsáil agus aipeanna atá " "suiteáilte cheana fĂ©in a bhaint." #: src/bz-application.c:1074 msgid "Later" msgstr "NĂ­os dĂ©anaĂ­" #: src/bz-application.c:1075 msgid "Set Up Flathub" msgstr "Socraigh Flathub" #: src/bz-application.c:1431 msgid "A backend error occurred" msgstr "Tharla earráid chĂşltaca" #: src/bz-application.c:1631 src/bz-application.c:3790 msgid "Refreshing…" msgstr "Ag athnuachan…" #: src/bz-application.c:1795 src/bz-application.c:3788 #, c-format msgid "Loading %d apps…" msgstr "Ag lĂłdáil %d aip…" #: src/bz-application.c:1848 msgid "Failed to open file" msgstr "Theip ar an gcomhad a oscailt" #: src/bz-application.c:1953 msgid "An initialization error occurred" msgstr "Tharla earráid tosaithe" #: src/bz-application.c:2319 msgid "Checking for updates…" msgstr "Ag seiceáil le haghaidh nuashonruithe…" #: src/bz-application.c:2375 msgid "Failed to check for updates" msgstr "Theip ar sheiceáil le haghaidh nuashonruithe" #: src/bz-application.c:3501 msgid "Malformed Link" msgstr "Nasc MĂ­fhoirmithe" #: src/bz-application.c:3502 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Tá caipitliĂş mĂ­cheart ar an nasc a Ăşsáideadh chun an aip seo a oscailt agus " "d'fhĂ©adfadh sĂ© stopadh ag obair amach anseo.\n" "\n" "Is dĂłichĂ­ gur tharla sĂ© seo mar gheall ar aitheantais aipeanna mĂ­chearta a " "sheoladh ag KRunner" #: src/bz-application.c:3510 msgid "Could not find app" msgstr "NĂ­orbh fhĂ©idir an aip a aimsiĂş" #: src/bz-application.c:3541 msgid "Failed to load metainfo" msgstr "Theip ar an meiteafhaisnĂ©is a lĂłdáil" #: src/bz-application.c:3792 msgid "Writing to cache…" msgstr "Ag scrĂ­obh chuig an taisce…" #: src/bz-apps-page.blp:99 msgid "Show All" msgstr "Taispeáin Gach Rud" #: src/bz-apps-page.c:237 #, c-format msgid "All \"%s\"" msgstr "Gach \"%s\"" #: src/bz-apps-page.c:487 src/bz-tag-list.c:91 #, c-format msgid "%d Applications" msgstr "%d Feidhmchlár" #: src/bz-bundle-install-dialog.blp:8 src/bz-bundle-install-dialog.blp:14 msgid "Bundle Installation" msgstr "Suiteáil Pacáiste" #: src/bz-bundle-install-dialog.blp:147 msgid "Additional dependencies may take extra space" msgstr "D’fhĂ©adfadh spleáchais bhreise spás breise a thĂłgáil" #: src/bz-bundle-install-dialog.blp:181 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "B’fhĂ©idir go mbeadh gá le foinse bogearraĂ­ nua a chur leis agus an aip seo á " "shuiteáil. Beidh aipeanna eile Ăłn bhfoinse seo le feiceáil i Bazaar.\n" "\n" "Ná cuir an fhoinse seo leis ach amháin má tá tĂş cinnte go bhfuil muinĂ­n agat " "aisti." #: src/bz-bundle-install-dialog.blp:357 msgid "Successfully Installed!" msgstr "Suiteáilte go rathĂşil!" #: src/bz-bundle-install-dialog.blp:381 src/bz-bundle-install-dialog.blp:463 #: src/bz-rich-app-tile.blp:198 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Oscail" #: src/bz-bundle-install-dialog.blp:391 src/bz-bundle-install-dialog.blp:473 msgid "Show App Details" msgstr "Taispeáin SonraĂ­ an Aipe" #: src/bz-bundle-install-dialog.blp:440 msgid "Already Installed" msgstr "Suiteáilte cheana fĂ©in" #: src/bz-bundle-install-dialog.blp:485 msgid "Installation Failed" msgstr "Theip ar an Suiteáil" #: src/bz-bundle-install-dialog.c:169 msgid "Unknown install size" msgstr "MĂ©id suiteála anaithnid" #: src/bz-bundle-install-dialog.c:172 #, c-format msgid "About %s to install" msgstr "Thart ar %s le suiteáil" #: src/bz-bundle-install-dialog.c:186 src/context-tile-callbacks.c:104 #: src/context-tile-callbacks.c:392 src/context-tile-callbacks.c:409 msgid "N/A" msgstr "N/B" #: src/bz-bundle-install-dialog.c:215 msgid "No special permissions" msgstr "Gan ceadanna speisialta" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d Ă­oslĂłdálacha sa mhĂ­ seo caite" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s am rith" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "ĂŤoslĂłdáil" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "NĂ­l faisnĂ©is mhĂ©ide ar fáil" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "MĂ©id Ă­oslĂłdála %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Gach Aois" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "NĂ­l faisnĂ©is faoi rátáil aoise ar fáil" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "OiriĂşnach do gach aois" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "OiriĂşnach do dhaoine aois %d agus os a chionn" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:284 msgid "Unknown" msgstr "Anaithnid" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "BogearraĂ­ saor in aisce ceadĂşnaithe faoi %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "BogearraĂ­ saor in aisce" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "BogearraĂ­ DĂ­lseánaigh" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "CeadĂşnas Speisialta: %s" #: src/context-tile-callbacks.c:281 msgid "Free" msgstr "Saor in aisce" #: src/context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "DĂ­lseánaigh" #: src/context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "CeadĂşnas Speisialta" #: src/context-tile-callbacks.c:309 msgid "Adaptive" msgstr "OiriĂşnaitheach" #: src/context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Deasc Amháin" #: src/context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "OibrĂ­onn sĂ© ar dheasc, táiblĂ©id agus fĂłin" #: src/context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "B’fhĂ©idir nach n-oibreoidh sĂ© ar ghlĂ©asanna soghluaiste" #: src/context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Sábháilte" #: src/context-tile-callbacks.c:401 src/context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Riosca ĂŤseal" #: src/context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Riosca Meánach" #: src/context-tile-callbacks.c:407 msgid "High Risk" msgstr "Ardriosca" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Folamh" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Gan Coimeádadh" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "NĂ­l aon fhaisnĂ©is choimeádta curtha ar fáil ar an gcĂłras seo. Is fĂ©idir leat " "brabhsáil a dhĂ©anamh ar fheidhmchláir ar Flathub fĂłs" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Brabhsáil Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "As lĂ­ne" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:49 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "BrabhsálaĂ­" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Gan FĂ­orĂş" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "NĂ­l faisnĂ©is forbrĂłra ar fáil." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "NĂ­l ĂşinĂ©ireacht an aitheantais aip %s fĂ­oraithe agus d'fhĂ©adfadh gur " "pacáiste pobail atá ann." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "Tá ĂşinĂ©ireacht an aitheantais aip %s fĂ­oraithe de láimh ag foireann Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "Tá ĂşinĂ©ireacht an aitheantais aip %1$s fĂ­oraithe ag <b>%2$s</b> ar <b>%3$s</" "b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "Tá ĂşinĂ©ireacht ID an aip %1$s fĂ­oraithe ag baint Ăşsáide as %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Tá ĂşinĂ©ireacht an aitheantais aip %s fĂ­oraithe." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "NĂłtaĂ­ EisiĂşna Iomlána" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "" "Rinneadh an eisiĂşint seo indĂ©anta a bhuĂ­ochas d’úsáideoirĂ­ cosĂşil leatsa!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Is breá liom Bazaar a chruthĂş, ach nĂ­ fĂ©idir liom Ă© a dhĂ©anamh liom fĂ©in. " "Cabhraigh le forbairt bhreise a chothĂş trĂ­ bhronnadh a thabhairt ar Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Tabhair sĂ­ntiĂşs don Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Cad atá Nua i %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Scaoilte %B %-e, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Roghnaigh Suiteáil" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Tá roinnt leaganacha den aip seo suiteáilte agat. CĂ© acu ceann ar mhaith " "leat leanĂşint ar aghaidh leis?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:232 msgid "Cancel" msgstr "Cealaigh" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Don Ăšsáideoir seo Amháin" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "an t-Ăşsáideoir seo" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "gach Ăşsáideoir" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:46 msgid "Details" msgstr "SonraĂ­" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "CĂłipeáil" #: src/bz-error-dialog.c:56 src/bz-share-list.c:94 msgid "Copied!" msgstr "CĂłipeáilte!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "LĂ­on na bhFear is Ansa liom" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Theip ar an rogha is fearr leat a nuashonrĂş" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Logáil isteach le Flathub chun na cinn is fearr leat a bhainistiĂş" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Logáil Isteach" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:334 msgid "Favorites" msgstr "Ceanáin" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Suiteáil Uile" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Ag luchtĂş" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Gan aon Ceanáin" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Beidh feidhmchláir a mharcálann tĂş mar is fearr leat le feiceáil anseo" #: src/bz-favorites-tile.blp:60 src/bz-installed-tile.blp:69 msgid "Support This Application" msgstr "Tacaigh leis an bhFeidhmchlár seo" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Bain as na Ceanáin" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "NĂ­orbh fhĂ©idir an ceanán a bhaint" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "Roimhe Seo" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "Ar Aghaidh" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "EagarthĂłireacht" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:95 msgid "Mixer" msgstr "MeascthĂłir" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Ceol" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "Seinnteoir" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "Taifeadán" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "SeicheamhĂłir" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "TiĂşnĂłir" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "TeilifĂ­s" #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "Aithris" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "GnĂ­omh" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "EachtraĂ­ochta" #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "Stuara" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "Bloic" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "Bord" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "Cárta" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "PáistĂ­" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "LĂłighic" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "RĂłlghlacadh" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "LámhachĂłir" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "Insamhalta" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "SpĂłirt" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "StraitĂ©is" #: src/bz-flathub-category.c:124 msgid "Audio & Video" msgstr "Fuaim & FĂ­seán" #: src/bz-flathub-category.c:124 msgid "Media" msgstr "Meáin" #: src/bz-flathub-category.c:124 msgid "More Audio & Video" msgstr "Tuilleadh Fuaime & FĂ­seáin" #: src/bz-flathub-category.c:125 msgid "Developer Tools" msgstr "UirlisĂ­ ForbrĂłra" #: src/bz-flathub-category.c:125 msgid "Develop" msgstr "Forbair" #: src/bz-flathub-category.c:125 msgid "More Developer Tools" msgstr "Tuilleadh UirlisĂ­ ForbrĂłra" #: src/bz-flathub-category.c:126 msgid "Education" msgstr "Oideachas" #: src/bz-flathub-category.c:126 msgid "Learn" msgstr "Foghlaim" #: src/bz-flathub-category.c:126 msgid "More Education" msgstr "Tuilleadh Oideachais" #: src/bz-flathub-category.c:127 msgid "Gaming" msgstr "CluichĂ­ocht" #: src/bz-flathub-category.c:127 msgid "Play" msgstr "Imir" #: src/bz-flathub-category.c:127 msgid "More Gaming" msgstr "Tuilleadh CluichĂ­ocht" #: src/bz-flathub-category.c:128 msgid "Graphics & Photography" msgstr "GrafaicĂ­ & GrianghrafadĂłireacht" #: src/bz-flathub-category.c:128 msgid "Create" msgstr "Cruthaigh" #: src/bz-flathub-category.c:128 msgid "More Graphics & Photography" msgstr "Tuilleadh GrafaicĂ­ & GrianghrafadĂłireachta" #: src/bz-flathub-category.c:129 msgid "Networking" msgstr "LĂ­onrĂş" #: src/bz-flathub-category.c:129 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:129 msgid "More Networking" msgstr "Tuilleadh LĂ­onraithe" #: src/bz-flathub-category.c:130 msgid "Productivity" msgstr "TáirgiĂşlacht" #: src/bz-flathub-category.c:130 msgid "Work" msgstr "Obair" #: src/bz-flathub-category.c:130 msgid "More Productivity" msgstr "Tuilleadh TáirgiĂşlachta" #: src/bz-flathub-category.c:131 msgid "Science" msgstr "EolaĂ­ocht" #: src/bz-flathub-category.c:131 msgid "More Science" msgstr "Tuilleadh EolaĂ­ochta" #: src/bz-flathub-category.c:132 msgid "System" msgstr "CĂłras" #: src/bz-flathub-category.c:132 msgid "More System" msgstr "Tuilleadh CĂłras" #: src/bz-flathub-category.c:133 msgid "Utilities" msgstr "FĂłntais" #: src/bz-flathub-category.c:133 msgid "Tools" msgstr "UirlisĂ­" #: src/bz-flathub-category.c:133 msgid "More Utilities" msgstr "Tuilleadh FĂłntais" #: src/bz-flathub-category.c:134 src/bz-flathub-page.blp:116 #: src/bz-flathub-page.blp:148 msgid "Trending" msgstr "Ag treochtáil" #: src/bz-flathub-category.c:134 msgid "More Trending" msgstr "Tuilleadh TreochtaĂ­" #: src/bz-flathub-category.c:135 src/bz-flathub-page.blp:122 #: src/bz-flathub-page.blp:178 msgid "Popular" msgstr "Coitianta" #: src/bz-flathub-category.c:135 msgid "More Popular" msgstr "NĂ­os Coitianta" #: src/bz-flathub-category.c:136 src/bz-flathub-page.blp:168 msgid "Recently Added" msgstr "Curtha leis le DĂ©anaĂ­" #: src/bz-flathub-category.c:136 src/bz-flathub-page.blp:128 msgid "New" msgstr "Nua" #: src/bz-flathub-category.c:136 msgid "More New" msgstr "Tuilleadh Nua" #: src/bz-flathub-category.c:137 src/bz-flathub-page.blp:158 msgid "Recently Updated" msgstr "Nuashonraithe le DĂ©anaĂ­" #: src/bz-flathub-category.c:137 src/bz-flathub-page.blp:134 msgid "Updated" msgstr "Nuashonraithe" #: src/bz-flathub-category.c:137 msgid "More Updated" msgstr "Tuilleadh Nuashonraithe" #: src/bz-flathub-category.c:138 msgid "Mobile" msgstr "Soghluaiste" #: src/bz-flathub-category.c:138 msgid "More Mobile" msgstr "NĂ­os Soghluaiste" #: src/bz-flathub-category.c:139 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:139 msgid "More Adwaita" msgstr "Tuilleadh Adwaita" #: src/bz-flathub-category.c:140 msgid "KDE Apps" msgstr "Aipeanna KDE" #: src/bz-flathub-category.c:140 msgid "More KDE Apps" msgstr "Tuilleadh Aipeanna KDE" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "NĂ­or Cuireadh Flathub Leis" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "NĂ­ bhfuarthas an cianrialtán Flathub ar aon cheann de do shuiteálacha Flatpak" #: src/bz-flathub-page.blp:35 msgid "Flathub returned an error" msgstr "Thug Flathub earráid ar ais" #: src/bz-flathub-page.blp:41 msgid "Retry Flathub Connection" msgstr "DĂ©an iarracht eile ar nasc Flathub" #: src/bz-flathub-page.blp:57 msgid "Flathub Unavailable" msgstr "Flathub Gan Fáil" #: src/bz-flathub-page.blp:58 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "" "NĂ­ raibh muid in ann ceangal le Flathub. Is fĂ©idir leat feidhmchláir a " "bhainistiĂş agus a chuardach fĂłs." #: src/bz-flathub-page.blp:61 msgid "Search Apps" msgstr "Cuardaigh Aipeanna" #: src/bz-flathub-page.blp:205 msgid "App of the Day" msgstr "Aip an Lae" #: src/bz-flathub-page.blp:268 msgid "On the Go" msgstr "Ar an mBĂłthar" #: src/bz-flathub-page.blp:280 msgid "Apps for your Linux phones and tablets" msgstr "Aipeanna do do ghutháin agus táiblĂ©id Linux" #: src/bz-flathub-page.blp:291 src/bz-flathub-page.blp:326 msgid "More Mobile Apps" msgstr "Tuilleadh Aipeanna Soghluaiste" #: src/bz-flathub-page.blp:382 msgid "We​ ♥​ Games" msgstr "Is breá linn ♥ CluichĂ­" #: src/bz-flathub-page.blp:395 msgid "Games and apps to run your favorite titles" msgstr "CluichĂ­ agus aipeanna chun do theidil is fearr leat a rith" #: src/bz-flathub-page.blp:429 msgid "More Games" msgstr "Tuilleadh CluichĂ­" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Gan TorthaĂ­" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Bain triail as ceist chuardaigh dhifriĂşil" #: src/bz-full-view.blp:41 msgid "Content" msgstr "Ăbhar" #: src/bz-full-view.blp:103 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "RĂ©amhamharc áitiĂşil atá anseo, d'fhĂ©adfadh roinnt sonraĂ­ a bheith difriĂşil " "Ăłn liostĂş foilsithe" #: src/bz-full-view.blp:106 msgid "Preview Store Appearance" msgstr "RĂ©amhamharc ar Chuma an tSiopa" #: src/bz-full-view.blp:232 msgid "_Support" msgstr "_TacaĂ­ocht" #: src/bz-full-view.blp:431 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Ăšsáideann an aip seo am rith nach bhfaigheann nuashonruithe ná socruithe " "slándála a thuilleadh. D’fhĂ©adfadh sĂ© a bheith neamhshábháilte le hĂşsáid." #: src/bz-full-view.blp:518 msgid "Trash Data" msgstr "SonraĂ­ Bruscair" #: src/bz-full-view.blp:658 msgid "Tags:" msgstr "Clibeanna:" #: src/bz-full-view.c:180 msgid "No URL" msgstr "Gan URL" #: src/bz-full-view.c:198 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Tá ceadĂşnas FLOSS ag an bhfeidhmchlár seo, rud a chiallaĂ­onn gur fĂ©idir an " "cĂłd foinse a iniĂşchadh ar mhaithe le sábháilteacht." #: src/bz-full-view.c:199 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Tá ceadĂşnas dĂ­lseánaigh ag an bhfeidhmchlár seo, rud a chiallaĂ­onn go " "bhforbraĂ­tear an cĂłd foinse go prĂ­obháideach agus nach fĂ©idir le trĂ­Ăş páirtĂ­ " "neamhspleách Ă© a iniĂşchadh." #: src/bz-full-view.c:206 msgid "More Apps" msgstr "Tuilleadh Aipeanna" #: src/bz-full-view.c:207 #, c-format msgid "More Apps by %s" msgstr "Tuilleadh Aipeanna Ăł %s" #: src/bz-full-view.c:214 msgid "Other Apps by this Developer" msgstr "Aipeanna Eile Ăłn bhForbrĂłir seo" #: src/bz-full-view.c:216 src/bz-full-view.c:316 #, c-format msgid "Other Apps by %s" msgstr "Aipeanna Eile Ăł %s" #: src/bz-full-view.c:225 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "NĂ­l %s suiteáilte, ach tá <b>%s</b> sonraĂ­ ann fĂłs." #: src/bz-full-view.c:318 msgid "Other Apps" msgstr "Aipeanna Eile" #: src/bz-full-view.c:320 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d Feidhmchlár" msgstr[1] "%d Feidhmchláir" msgstr[2] "%d Feidhmchláir" #: src/bz-full-view.c:536 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "Theip ar ShonraĂ­ Ăšsáideora a Bhaint" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "TacaĂ­ocht Crua-earraĂ­" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "TacaĂ­ocht mĂ©archláir" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "ÉilĂ­onn mĂ©archláir" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Molann mĂ©archláir" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "TacaĂ­onn mĂ©archláir" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "TacaĂ­ocht anaithnid do mhĂ©archláir" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "TacaĂ­ocht luiche" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "TeastaĂ­onn lucha nĂł glĂ©asanna pointeála" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Molann lucha nĂł glĂ©asanna pointeála" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "TacaĂ­onn sĂ© le lucha nĂł le glĂ©asanna pointeála" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "TacaĂ­ocht anaithnid do lucha nĂł do ghlĂ©asanna pointeála" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "TacaĂ­ocht scáileáin tadhaill" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "ÉilĂ­onn scáileáin tadhaill" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Molann scáileáin tadhaill" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "TacaĂ­onn sĂ© le scáileáin tadhaill" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "TacaĂ­ocht anaithnid do scáileáin tadhaill" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "TacaĂ­ocht shoghluaiste" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "OibrĂ­onn sĂ© ar ghlĂ©asanna soghluaiste" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "B’fhĂ©idir nach n-oibreoidh sĂ© go maith ar ghlĂ©asanna soghluaiste" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "TacaĂ­ocht deisce" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "OibrĂ­onn go maith ar scáileáin mhĂłra" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "OibrĂ­onn %s is fearr ar chrua-earraĂ­ sonracha" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "OibrĂ­onn %s ar an gcuid is mĂł de na glĂ©asanna" #: src/bz-install-controls.blp:62 msgid "_Open" msgstr "_Oscail" #: src/bz-install-controls.blp:77 src/bz-install-controls.blp:134 msgid "Uninstall Application" msgstr "DĂ­shuiteáil Feidhmchlár" #: src/bz-install-controls.blp:87 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Bain" #: src/bz-install-controls.blp:121 src/bz-updates-card.c:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "NuashonrĂş" #: src/bz-install-controls.blp:144 src/bz-installed-tile.blp:105 msgid "Remove" msgstr "Bain" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Cealaigh" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Ag cealĂş" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "Cuardaigh aipeanna suiteáilte" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Glan an cuardach" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "NĂ­or aimsĂ­odh aon aipeanna" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Cuardaigh Siopa Ina Ionad" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:112 msgid "Library" msgstr "Leabharlann" #: src/bz-library-page.blp:128 msgid "Pending Updates" msgstr "Nuashonruithe ar Feitheamh" #: src/bz-library-page.blp:155 msgid "Downloads" msgstr "ĂŤoslĂłdálacha" #: src/bz-library-page.blp:198 msgid "Recently Uninstalled" msgstr "DĂ­shuiteáilte le DĂ©anaĂ­" #: src/bz-library-page.blp:249 msgid "Clear Finished Tasks" msgstr "Glan na Tascanna CrĂ­ochnaithe" #: src/bz-library-page.blp:334 msgid "Sort By" msgstr "SĂłrtáil De rĂ©ir" #: src/bz-library-page.blp:348 msgid "Name" msgstr "Ainm" #: src/bz-library-page.blp:354 msgid "Size" msgstr "MĂ©id" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "" "NĂ­or aimsĂ­odh aon mheaitseálacha do \"%s\" i liosta na n-aipeanna suiteáilte" #: src/bz-library-page.c:193 src/bz-updates-card.c:433 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u NuashonrĂş atá ar Fáil" msgstr[1] "%u Nuashonruithe atá ar Fáil" msgstr[2] "%u Nuashonruithe atá ar Fáil" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u Aip Suiteáilte" msgstr[1] "%u Aipeanna Suiteáilte" msgstr[2] "%u Aipeanna Suiteáilte" #: src/bz-license-dialog.blp:94 msgid "Get Involved" msgstr "BĂ­gĂ­ Páirteach" #: src/bz-license-dialog.blp:111 msgid "Learn More" msgstr "Foghlaim Tuilleadh" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "CeadĂşnas Anaithnid" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "TĂłgtha ag an bPobal" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "ForbraĂ­odh an aip seo go hoscailte ag pobal idirnáisiĂşnta.\n" "\n" "Is fĂ©idir leat páirt a ghlacadh agus cabhrĂş le feabhas a chur uirthi." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "NĂ­l ceadĂşnas an aip seo ar eolas" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "ForbraĂ­odh an aip seo go hoscailte ag pobal idirnáisiĂşnta, agus eisĂ­odh Ă­ " "faoin gceadĂşnas %s.\n" "\n" "Is fĂ©idir leat páirt a ghlacadh agus cabhrĂş le feabhas a chur uirthi." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "NĂ­or forbraĂ­odh an aip seo go hoscailte, mar sin nĂ­l a fhios ag ach a " "forbrĂłirĂ­ conas a oibrĂ­onn sĂ©. D’fhĂ©adfadh sĂ© a bheith neamhshábháilte ar " "bhealaĂ­ atá deacair a bhrath, agus d’fhĂ©adfadh sĂ© athrĂş gan mhaoirseacht.\n" "\n" "B’fhĂ©idir go mbeidh tĂş in ann cur leis an aip seo nĂł nach mbeidh." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "ForbraĂ­odh an aip seo faoin gceadĂşnas speisialta %s.\n" "\n" "B’fhĂ©idir go mbeidh tĂş in ann cur leis an aip seo nĂł nach mbeidh." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:49 msgid "License" msgstr "CeadĂşnas" #: src/bz-login-page.blp:5 src/bz-login-page.blp:42 msgid "Connect to Flathub" msgstr "Ceangail le Flathub" #: src/bz-login-page.blp:32 msgid "Something Went Wrong" msgstr "Chuaigh rud Ă©igin mĂ­cheart" #: src/bz-login-page.blp:43 msgid "Connect your Flathub account to Bazaar to manage your favorited apps." msgstr "" "Ceangail do chuntas Flathub le Bazaar chun do chuid aipeanna is fearr leat a " "bhainistiĂş." #: src/bz-login-page.blp:110 msgid "Finish" msgstr "CrĂ­ochnaigh" #: src/bz-login-page.c:664 #, c-format msgid "Hello, %s!" msgstr "Haigh, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Roghnaigh Comhad MeiteafhaisnĂ©ise" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Comhaid MeiteafhaisnĂ©ise" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Roghnaigh DeilbhĂ­n (Roghnach)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Comhaid ĂŤomhá" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "RĂ©amhamharc" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Roghanna" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "Tá an nasc lĂ­onra mĂ©adraithe — tá athnuachan uathoibrĂ­och sonraĂ­ stĂłrála ar " "sos" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:232 msgid "Refresh Manually" msgstr "Athnuachan de Láimh" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "ScagairĂ­ Ăbhair" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "BogearraĂ­ Saor in Aisce Amháin" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "" "Folaigh feidhmchláir dhĂ­lseánaigh agus tĂş ag brabhsáil agus ag cuardach" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "TorthaĂ­ Flathub Amháin" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "" "Teorainn a chur le cuardach agus torthaĂ­ brabhsála d’fheidhmchláir atá ar " "fáil ar Flathub amháin" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "TorthaĂ­ FĂ­oraithe Amháin" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Folaigh torthaĂ­ nach bhfuil fĂ­oraithe ar Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Folaigh Aipeanna Deireadh Saoil" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Folaigh aipeanna nach dtacaĂ­onn a bhforbrĂłirĂ­ leo a thuilleadh" #: src/bz-preferences-dialog.blp:55 src/bz-window.blp:127 msgid "Search" msgstr "Cuardaigh" #: src/bz-preferences-dialog.blp:58 msgid "Delay Search Results" msgstr "Moill ar ThorthaĂ­ Cuardaigh" #: src/bz-preferences-dialog.blp:59 msgid "Improve results performance by debouncing search terms" msgstr "" "Feabhas a chur ar fheidhmĂ­ocht na dtorthaĂ­ trĂ­ thĂ©armaĂ­ cuardaigh a dhĂ­-" "bhreabadh" #: src/bz-preferences-dialog.blp:64 msgid "Progress Bar" msgstr "Barra Dul Chun Cinn" #: src/bz-preferences-dialog.blp:65 msgid "Choose a theme for the progress bar!" msgstr "Roghnaigh tĂ©ama don bharra dul chun cinn!" #: src/bz-preferences-dialog.blp:89 msgid "Vertical Stripes" msgstr "StrĂ­oca Ingearacha" #: src/bz-preferences-dialog.blp:90 msgid "Display flag colors from left to right" msgstr "Taispeáin dathanna na mbratach Ăł chlĂ© go deas" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Dath Aicinn" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Dathanna BrĂłd" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Dathanna BrĂłd Leispiach" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Dathanna BrĂłd Fir HomaighnĂ©asacha" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Dathanna BrĂłd Trasinscne" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Dathanna BrĂłd NeamhdhĂ©nártha" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Dathanna BrĂłd DĂ©ghnĂ©asacha" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Dathanna BrĂłd NeamhghnĂ©asacha" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Dathanna BrĂłd PanghnĂ©asacha" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Dathanna BrĂłd Cumhra" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Dathanna BrĂłd Inscnefluid" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Dathanna BrĂłd IlghnĂ©asacha" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Dathanna BrĂłd UileghnĂ©asacha" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Dathanna BrĂłd Aroace" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Dathanna BrĂłd Agender" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Dathanna BrĂłd Inscnequeer" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Dathanna BrĂłd IdirghnĂ©asacha" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Dathanna BrĂłd Demi-Inscne" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Dathanna BrĂłd Birománsacha" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Dathanna BrĂłd MĂ­chumais" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Dathanna BrĂłd Femboy" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Dathanna BrĂłd Neutrois" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:155 msgid "Version History" msgstr "Stair Leagan" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Stair Leagan" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Inniu" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "InnĂ©" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d lá Ăł shin" msgstr[1] "%d lá Ăł shin" msgstr[2] "%d lá Ăł shin" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d seachtain Ăł shin" msgstr[1] "%d seachtain Ăł shin" msgstr[2] "%d seachtain Ăł shin" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d mĂ­ Ăł shin" msgstr[1] "%d mĂ­ Ăł shin" msgstr[2] "%d mĂ­ Ăł shin" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d bliain Ăł shin" msgstr[1] "%d bliain Ăł shin" msgstr[2] "%d bliain Ăł shin" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Leagan %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Gan aon sonraĂ­ don eisiĂşint seo" #: src/bz-releases-list.c:263 msgid "Get More Information" msgstr "Faigh Tuilleadh Eolais" #: src/bz-rich-app-tile.blp:217 msgid "Uninstall" msgstr "DĂ­shuiteáil" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:369 msgid "Get" msgstr "Faigh" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Ceadanna Anaithnid" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Tá ceadanna ar iarraidh don aip seo." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Gan Ceadanna" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Tá an aip bosca gainimh go hiomlán" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Rochtain LĂ­onra" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Is fĂ©idir rochtain a fháil ar an idirlĂ­on" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Gan Rochtain LĂ­onra" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "NĂ­ fĂ©idir rochtain a fháil ar an idirlĂ­on" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Rochtain GlĂ©as Ăšsáideora" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "Is fĂ©idir rochtain a fháil ar fheistĂ­ ar nĂłs ceamaraĂ­ grĂ©asáin nĂł rialtĂłirĂ­ " "cearrbhachais" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Gan Rochtain ar GhlĂ©as Ăšsáideora" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "NĂ­ fĂ©idir rochtain a fháil ar fheistĂ­ ar nĂłs ceamaraĂ­ grĂ©asáin nĂł rialtĂłirĂ­ " "cearrbhachais" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Rochtain ar GhlĂ©as Ionchuir" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Is fĂ©idir rochtain a fháil ar fheistĂ­ ionchuir" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Rochtain MicreafĂłin agus Athsheinm Fuaime" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "Is fĂ©idir Ă©isteacht le micreafĂłin agus fuaim a sheinm gan cead a iarraidh" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Rochtain ar GhlĂ©as an ChĂłrais" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Is fĂ©idir rochtain a fháil ar ghlĂ©asanna cĂłrais a bhfuil ceadanna ardaithe " "ag teastáil uathu" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Rochtain ar Ăbhar an Scáileáin" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Is fĂ©idir rochtain a fháil ar ábhar an scáileáin nĂł fuinneoga eile" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "CĂłras Fuinneoige Oidhreachta" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Ăšsáideann sĂ© cĂłras fuinneoige oidhreachta i gcĂłnaĂ­ (X11)" #: src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Ceadanna Treallacha" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Is fĂ©idir ceadanna treallacha a fháil" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Socruithe Ăšsáideora" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Is fĂ©idir rochtain a fháil ar shocruithe Ăşsáideora agus iad a athrĂş" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Rochtain LĂ©itheoireachta/ScrĂ­ofa ar an gCĂłras Comhad Iomlán" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "" "Is fĂ©idir leis na sonraĂ­ go lĂ©ir ar an gcĂłras comhad a lĂ©amh agus a scrĂ­obh" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Rochtain LĂ©itheoireachta/ScrĂ­ofa ar Fhillteán Baile" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "" "Is fĂ©idir leat na sonraĂ­ go lĂ©ir i do eolaire baile a lĂ©amh agus a scrĂ­obh" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Rochtain LĂ©itheoireachta Iomlán an ChĂłrais Comhad" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Is fĂ©idir leis na sonraĂ­ go lĂ©ir ar an gcĂłras comhad a lĂ©amh" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Rochtain LĂ©itheoireachta Fillteán Baile" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Is fĂ©idir leat na sonraĂ­ go lĂ©ir i do eolaire baile a lĂ©amh" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Rochtain LĂ©itheoireachta/ScrĂ­ofa ar an bhFillteán ĂŤoslĂłdála" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "" "Is fĂ©idir leat na sonraĂ­ go lĂ©ir i do eolaire Ă­oslĂłdálacha a lĂ©amh agus a " "scrĂ­obh" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "ĂŤoslĂłdáil Rochtain LĂ©itheoireachta Fillteáin" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Is fĂ©idir leat na sonraĂ­ go lĂ©ir i do chomhadlann Ă­oslĂłdálacha a lĂ©amh" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Is fĂ©idir na sonraĂ­ go lĂ©ir san eolaire a lĂ©amh agus a scrĂ­obh" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Is fĂ©idir na sonraĂ­ go lĂ©ir san eolaire a lĂ©amh" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Gan Rochtain ar ChĂłras Comhad" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "NĂ­ fĂ©idir rochtain a fháil ar an gcĂłras comhad ar chor ar bith" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Ăšsáideann SeirbhĂ­sĂ­ CĂłrais" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Is fĂ©idir sonraĂ­ a iarraidh Ăł sheirbhĂ­sĂ­ cĂłrais neamh-thairsĂ­" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Ăšsáideann SeirbhĂ­sĂ­ SeisiĂşin" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Is fĂ©idir sonraĂ­ a iarraidh Ăł sheirbhĂ­sĂ­ seisiĂşin neamh-thairseach" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Gan Rochtain SeirbhĂ­se" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "NĂ­ fĂ©idir rochtain a fháil ar sheirbhĂ­sĂ­ seisiĂşin nĂł cĂłrais neamh-thairseach " "ar chor ar bith" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "ForbrĂłir Aipeanna FĂ­oraithe" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" "Tá sĂ© fĂ­oraithe gurb Ă© forbrĂłir an aip seo an duine a deir siad a bheith" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "CĂłd DĂ­lseánaigh" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "NĂ­l an cĂłd foinse poiblĂ­, mar sin nĂ­ fĂ©idir Ă© a iniĂşchadh go neamhspleách " "agus d'fhĂ©adfadh sĂ© a bheith neamhshábháilte" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "CĂłd IniĂşchta" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Tá an cĂłd foinse poiblĂ­ agus is fĂ©idir Ă© a iniĂşchadh go neamhspleách, rud a " "fhágann go bhfuil an aip nĂ­os dĂłchĂşla a bheith sábháilte" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Bain Ăşsáid as an SeirbhĂ­s CĂłrais %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Bain Ăşsáid as an tSeirbhĂ­s SeisiĂşin %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Bain Ăşsáid as an tseirbhĂ­s %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Is fĂ©idir an tseirbhĂ­s neamh-thairseach a fheiceáil" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Is fĂ©idir labhairt leis an tseirbhĂ­s neamh-thairseach" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Is fĂ©idir leis an tseirbhĂ­s neamh-thairsĂ­ a bheith i seilbh" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "ComhtháthĂş Roghchláir Dhomhanda" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Is fĂ©idir a bhiachláir a thaispeáint i mbarra roghchláir domhanda" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "ComhtháthĂş Socruithe KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Is fĂ©idir a bhrath nuair a athraĂ­onn socruithe deisce KDE" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Socruithe Domhanda KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Is fĂ©idir roghanna deisce KDE a lĂ©amh ar nĂłs clĂłnna agus dathanna" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "SeirbhĂ­s StĂłrála RĂşnda" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Is fĂ©idir leis a phasfhocail fĂ©in a stĂłráil agus a aisghabháil ag baint " "Ăşsáide as eochairfháinne an chĂłrais" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "SeirbhĂ­s FĂłgraĂ­ Deisce" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Is fĂ©idir fĂłgraĂ­ deisce a sheoladh" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "ComhtháthĂş Tráidire an ChĂłrais" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Is fĂ©idir deilbhĂ­n a thaispeáint sa tráidire cĂłrais" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "ComhtháthĂş KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "Is fĂ©idir idirghnĂ­omhĂş le glĂ©asanna atá pĂ©ireáilte trĂ­ KDE Connect" #: src/bz-safety-dialog.blp:59 msgid "App ID" msgstr "Aitheantas Aipe" #: src/bz-safety-dialog.blp:69 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:100 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Ăšsáideann an aip seo leagan atá as dáta den ardán bogearraĂ­ (SDK) agus " "d'fhĂ©adfadh fabhtanna nĂł leochaileachtaĂ­ slándála a bheith ann nach ndĂ©anfar " "a shocrĂş." #: src/bz-safety-dialog.c:167 msgid "Safety" msgstr "Sábháilteacht" #: src/bz-safety-dialog.c:226 #, c-format msgid "%s is Safe" msgstr "Tá %s sábháilte" #: src/bz-safety-dialog.c:231 #, c-format msgid "%s has no Unsafe Permissions" msgstr "NĂ­l aon Cheadanna Neamhshábháilte ag %s" #: src/bz-safety-dialog.c:236 #, c-format msgid "%s is Probably Safe" msgstr "Is dĂłcha go bhfuil %s sábháilte" #: src/bz-safety-dialog.c:241 #, c-format msgid "%s is Possibly Unsafe" msgstr "B’fhĂ©idir go bhfuil %s neamhshábháilte" #: src/bz-safety-dialog.c:246 #, c-format msgid "%s is Unsafe" msgstr "Tá %s neamhshábháilte" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Seat scáileáin" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "An seat scáileán roimhe seo" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "An seat scáileán eile" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "CĂłipeáil Ă­omhá" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Athshocraigh an Amharc" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "SĂşmáil amach" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "SĂşmáil isteach" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "Roithleagán Seat scáileáin" #: src/bz-screenshots-carousel.blp:117 msgid "Open Screenshot Viewer" msgstr "Oscail AmharcĂłir Seat scáileáin" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "ScagairĂ­" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_FĂ­oraithe" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Saor in Aisce/Oscailte" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Neamh-_EOL" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Scag amach aipeanna atá ag deireadh a saoil" #: src/bz-search-filter-popover.blp:57 msgid "Categories" msgstr "CatagĂłirĂ­" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "Cuardaigh Aipeanna, CluichĂ­, BogearraĂ­" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "ScagairĂ­ Cuardaigh" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Glan an Chuardach" #: src/bz-search-page.blp:192 msgid "Categories Unavailable" msgstr "CatagĂłirĂ­ Gan Fáil" #: src/bz-search-page.blp:193 msgid "Search for apps using the search bar above." msgstr "Cuardaigh aipeanna ag baint Ăşsáide as an mbarra cuardaigh thuas." #: src/bz-search-page.blp:219 msgid "Browse Categories" msgstr "Brabhsáil CatagĂłirĂ­" #: src/bz-search-page.blp:361 msgid "No Applications Found" msgstr "NĂ­or aimsĂ­odh aon fheidhmchláir" #: src/bz-search-page.c:247 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "NĂ­or aimsĂ­odh aon torthaĂ­ le haghaidh \"%s\" i Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "FĂ­seán" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Oifig" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "FĂ©ilire" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "TeachtaireachtaĂ­" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "PĂ©int" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Aithriseoir" #: src/bz-share-list.c:55 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Leathanach Flathub" #: src/bz-share-list.c:56 msgctxt "Project URL Type" msgid "Project Website" msgstr "SuĂ­omh GrĂ©asáin an Tionscadail" #: src/bz-share-list.c:57 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Rianaitheoir Fadhbanna" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "FAQ" msgstr "Ceisteanna Coitianta" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Help" msgstr "Cabhair" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Donate" msgstr "Tabhair SĂ­ntiĂşs" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "Translate" msgstr "Aistrigh" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Contact" msgstr "Teagmháil" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Source Code" msgstr "CĂłd Foinse" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Contribute" msgstr "Cuir leis" #: src/bz-share-list.c:153 msgid "Copy Link" msgstr "CĂłipeáil Nasc" #: src/bz-share-list.c:164 msgid "Open Link" msgstr "Oscail an Nasc" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "AmlĂ­ne" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Suiteálacha:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Domhan" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Ă“ 15/4/2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM Suiteálacha Iomlána" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK Suiteálacha Iomlána" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d Suiteálacha Iomlána" #: src/bz-tag-list.c:78 msgid "No Results Found" msgstr "NĂ­or aimsĂ­odh aon torthaĂ­" #: src/bz-tag-list.c:90 #, c-format msgid "Apps Tagged \"%s\"" msgstr "Aipeanna atá tagáilte \"%s\"" #: src/bz-tag-list.c:103 msgid "Search failed" msgstr "Theip ar an gcuardach" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Coinnigh SonraĂ­ Ăšsáideora" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Ceadaigh socruithe pearsanta & ábhar a athchĂłiriĂş" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Scrios na SonraĂ­ Uile" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Scrios sonraĂ­ Ăşsáideora go buan chun spás a shábháil" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Suiteáil %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Roghnaigh cĂ©n leagan atá le suiteáil. FĂ©adfaidh comhpháirteanna comhroinnte " "breise a shuiteáil" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "FĂ©adfaidh sĂ© comhpháirteanna comhroinnte breise a shuiteáil" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Cealaigh" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Suiteáil" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Bain %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Roghnaigh cĂ©n leagan atá le baint." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "NĂ­ bheidh sĂ© indĂ©anta %s a Ăşsáid tar Ă©is Ă© a dhĂ­shuiteáil." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "Tá “%s” i mbaol ard" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Tá rochtain iomlán ag an aip seo ar do chĂłras, lena n-áirĂ­tear <b>do chuid " "comhad go lĂ©ir, stair bhrabhsálaĂ­, pasfhocail shábháilte</b>, agus " "tuilleadh. Tá rochtain aici ar an idirlĂ­on freisin, rud a chiallaĂ­onn go " "bhfĂ©adfadh sĂ­ do shonraĂ­ a sheoladh chuig páirtithe seachtracha.\n" "\n" "Ă“s rud Ă© gur aip dhĂ­lseánaigh Ă­, nĂ­ fĂ©idir iniĂşchadh a dhĂ©anamh uirthi " "maidir leis an mĂ©id a dhĂ©anann sĂ­ leis na ceadanna seo." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Ăšsáideann an aip seo an seanchĂłras fuinneoige X11, rud a ligeann di <b>gach " "eochairbhuille a thaifeadadh, scáileáin a ghabháil, agus monatĂłireacht a " "dhĂ©anamh ar fheidhmchláir eile</b>. Tá rochtain aici ar an idirlĂ­on freisin, " "rud a chiallaĂ­onn gur fĂ©idir lĂ©i do shonraĂ­ a sheoladh chuig páirtithe " "seachtracha.\n" "\n" "Ă“s rud Ă© gur aip dhĂ­lseánaigh Ă­, nĂ­ fĂ©idir iniĂşchadh a dhĂ©anamh uirthi " "maidir leis an mĂ©id a dhĂ©anann sĂ­ leis na ceadanna seo." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Suiteáil Ar Aon SlĂ­" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Theip ar an dialĂłg idirbhirt a lĂłdáil" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Tá na haipeanna go lĂ©ir suiteáilte cheana fĂ©in" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Ceart go leor" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Suiteáil an aip %u?" msgstr[1] "Suiteáil %u Aipeanna?" msgstr[2] "Suiteáil %u Aipeanna?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Suiteálfar an mĂ©id seo a leanas. FĂ©adfar comhpháirteanna comhroinnte breise " "a shuiteáil freisin" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Suiteálfar %d breiseán." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Ina theannta sin, suiteálfar breiseáin." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Suiteáil Uile" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "CrĂ­ochnaithe i %.02f soicind" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Breiseán Aipe" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Am rith" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Sa Scuaine" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "DĂ©anta" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Cealaithe" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Earráid" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Cealaigh an tIdirbheart" #: src/bz-transaction-tile.blp:436 msgid "Show Error Info" msgstr "Taispeáin Eolas Earráide" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s Saortha" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Earráid Idirbhirt" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Ar feitheamh" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Nuashonraigh Gach Rud" #: src/bz-updates-card.c:211 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "NuashonrĂş Ama Rith %u" msgstr[1] "Nuashonruithe Rith-ama %u" msgstr[2] "Nuashonruithe Rith-ama %u" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Bainistigh SonraĂ­ Ăšsáideora atá Fágtha" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "NĂ­or aimsĂ­odh aon sonraĂ­ Ăşsáideora" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "SonraĂ­ Ăšsáideora" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Bruscar SonraĂ­ Ăšsáideora" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "SonraĂ­ Ăšsáideora Bruscair do %s" #: src/bz-window.blp:70 msgid "Refreshing" msgstr "Athnuachan" #: src/bz-window.blp:88 msgid "Curated" msgstr "Coimeádta" #: src/bz-window.blp:100 msgid "Explore" msgstr "TaiscĂ©al" #: src/bz-window.blp:212 msgid "Main Menu" msgstr "PrĂ­omh-Roghchlár" #: src/bz-window.blp:223 msgid "You are running a new version of Bazaar!" msgstr "Tá leagan nua de Bazaar á rith agat!" #: src/bz-window.blp:224 msgid "See What's New" msgstr "FĂ©ach Cad atá Nua" #: src/bz-window.blp:231 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Tá nasc lĂ­onra agat ach tá leagan taisceáilte de Flathub á fheiceáil agat" #: src/bz-window.blp:276 msgid "_Donate to Bazaar" msgstr "_Tabhair SĂ­ntiĂşs do Bazaar" #: src/bz-window.blp:283 msgid "_Refresh" msgstr "_Athnuachan" #: src/bz-window.blp:288 msgid "_Preferences" msgstr "_Sainroghanna" #: src/bz-window.blp:293 msgid "_Login With Flathub" msgstr "_Logáil Isteach Le Flathub" #: src/bz-window.blp:299 msgid "_Manage Leftover User Data" msgstr "_Bainistigh SonraĂ­ Ăšsáideora atá Fágtha" #: src/bz-window.blp:304 msgid "_Keyboard Shortcuts" msgstr "_AicearraĂ­ MĂ©archláir" #: src/bz-window.blp:309 msgid "_About Bazaar" msgstr "_Maidir le Bazaar" #: src/bz-window.blp:316 msgid "_Quit Bazaar" msgstr "_Scoir den Bazaar" #: src/bz-window.blp:341 msgid "Log Out" msgstr "Logáil Amach" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "Theip ar an bhfeidhmchlár a sheoladh" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "NĂ­ fĂ©idir leat Bazaar a bhaint as Bazaar!" #: src/bz-window.c:1127 src/bz-window.c:1161 msgid "Can't do that right now!" msgstr "NĂ­ fĂ©idir liom Ă© sin a dhĂ©anamh faoi láthair!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Suiteáil" msgstr[1] "Suiteálacha" msgstr[2] "Suiteálacha" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Loingseoireacht" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Oscail an Leathanach IniĂşchta" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Oscail Leathanach na Leabharlainne" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Oscail Leathanach Cuardaigh" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Cianrialtáin" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Cianrialtáin SioncrĂłnaithe" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Ginearálta" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Oscail Roghanna" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Taispeáin AicearraĂ­" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "DĂşn an Fhuinneog" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Scoir den Bazaar" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "Leagann sĂ© bĂ©im ar thacaĂ­ocht a thabhairt do na forbrĂłirĂ­ a chuireann ar " #~ "chumas an deasc Linux a bheith indĂ©anta. Tá cluaisĂ­n \"coimeádta\" ar " #~ "fáil i Bazaar ar fĂ©idir le dáileoirĂ­ Ă© a chumrĂş chun eispĂ©ireas nĂ­os " #~ "logánta a cheadĂş." #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "Nucleus app page" #~ msgstr "Leathanach aip Nucleus" #~ msgid "User Data Size" #~ msgstr "MĂ©id SonraĂ­ Ăšsáideora" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Synchronizing..." #~ msgstr "Ag sioncrĂłnĂş..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "Ag fáil %d iontráil..." #~ msgid "Indexing Data..." #~ msgstr "Ag InnĂ©acsĂş SonraĂ­..." #~ msgid "Close" #~ msgstr "DĂşn" #~ msgid "Copy and Close" #~ msgstr "CĂłipeáil agus DĂşn" #~ msgid "Download & Install Application" #~ msgstr "ĂŤoslĂłdáil & Suiteáil Feidhmchlár" #~ msgid "Install Other Version" #~ msgstr "Suiteáil Leagan Eile" #~ msgid "Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd (Cothrománach)" #~ msgid "Lesbian Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Leispiach (Cothrománach)" #~ msgid "Male Homosexual Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Fir HomaighnĂ©asacha (Cothrománach)" #~ msgid "Transgender Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Trasinscne (Cothrománach)" #~ msgid "Nonbinary Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd NeamhdhĂ©nártha (Cothrománach)" #~ msgid "Bisexual Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd DĂ©ghnĂ©asacha (Cothrománach)" #~ msgid "Asexual Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Asexual (Cothrománach)" #~ msgid "Pansexual Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd PanghnĂ©asacha (Cothrománach)" #~ msgid "Aromantic Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Cumhra (Cothrománach)" #~ msgid "Genderfluid Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Inscnefluid (Cothrománach)" #~ msgid "Polysexual Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd IlghnĂ©asacha (Cothrománach)" #~ msgid "Omnisexual Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd UileghnĂ©asacha (Cothrománach)" #~ msgid "Aroace Pride Colors (Horizontal)" #~ msgstr "Dathanna Aroace Pride (Cothrománach)" #~ msgid "Agender Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Agender (Cothrománach)" #~ msgid "Genderqueer Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Inscnequeer (Cothrománach)" #~ msgid "Intersex Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd IdirghnĂ©asacha (Cothrománach)" #~ msgid "Demigender Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Demigender (Cothrománach)" #~ msgid "Biromantic Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Biormantach (Cothrománach)" #~ msgid "Disability Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd MĂ­chumais (Cothrománach)" #~ msgid "Femboy Pride Colors (Horizontal)" #~ msgstr "Dathanna BrĂłd Femboy (Cothrománach)" #~ msgid "Keep Data" #~ msgstr "Coinnigh SonraĂ­" #~ msgid "Ongoing" #~ msgstr "Ar siĂşl" #~ msgid "Finished" #~ msgstr "CrĂ­ochnaithe" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "AistrĂ­odh %s go dtĂ­ seo" #~ msgid "Update Now" #~ msgstr "Nuashonraigh Anois" #~ msgid "Updates Are Available" #~ msgstr "Tá Nuashonruithe ar Fáil" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "Tá na feidhmchláir seo a leanas incháilithe le haghaidh nuashonruithe. Ar " #~ "mhaith leat iad a shuiteáil?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "Tá %d rith-am agus/nĂł breiseán incháilithe le haghaidh nuashonruithe. Ar " #~ "mhaith leat iad a shuiteáil?" #~ msgid "Tasks" #~ msgstr "Tascanna" #~ msgid "Stop Active Tasks" #~ msgstr "Stop Tascanna GnĂ­omhacha" #~ msgid "No Tasks Yet" #~ msgstr "Gan aon tascanna fĂłs" #~ msgid "Refreshing Store Content" #~ msgstr "Ăbhar an tSiopa á Athnuachan" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgid "No background tasks!" #~ msgstr "Gan aon tascanna cĂşlra!" #~ msgid "_Synchronize Remotes" #~ msgstr "_SioncrĂłnaigh Cianrialtáin" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d NuashonrĂş Ar Fáil" #~ msgstr[1] "%d Nuashonruithe Ar Fáil" #~ msgstr[2] "%d Nuashonruithe Ar Fáil" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "Beidh an cumas comhaid phacáiste .flatpak áitiĂşla a iniĂşchadh agus a " #~ "shuiteáil ag teacht go luath! Idir an dá linn, bain triail as\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "a rith ar an lĂ­ne ordaithe." #~ msgid "Resume Current Tasks" #~ msgstr "Lean ar aghaidh le Tascanna Reatha" #~ msgid "Pause Current Tasks" #~ msgstr "Cuir Tascanna Reatha ar Sos" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u Ă­oslĂłdálacha" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "Bainisteoir Idirbheart a AthrĂş" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "Scoir" ���������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/hu.po������������������������������������������������������������������0000664�0000000�0000000�00000103162�15234476640�0016663�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Hungarian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Benedek DĂ©vĂ©nyi <rdbende@proton.me>, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-31 23:45+0100\n" "PO-Revision-Date: 2025-11-02 20:12+0100\n" "Last-Translator: Benedek DĂ©vĂ©nyi <rdbende@proton.me>\n" "Language-Team: Hungarian\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 49.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 #: src/bz-window.blp:56 msgid "Bazaar" msgstr "Bazár" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Flatpak alkalmazások telepĂ­tĂ©se, eltávolĂ­tása Ă©s frissĂ­tĂ©se" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;PackageManager;Discover;Flatpak;Software;Store;rendszer;csomagkezelĹ‘;felfedezĂ©s;szoftver;áruház;bolt;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Show Git Forge Star Counts" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "" "Whether to attempt to detect and show \"star counts\" for projects in the " "full view" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:11 msgid "Only Show Free Software" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:12 msgid "Hide proprietary software when searching" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:16 msgid "Show Only Flathub Content" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:17 msgid "Filter search results to only show applications available on Flathub" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:21 msgid "Debounce Search Inputs" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:22 msgid "Add a delay before searching to prevent instant replies while typing" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:40 msgid "Global Progress Bar Theme" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:41 msgid "Describes the look of the global progress bar" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:45 msgid "Saved Window Dimensions" msgstr "" #: data/io.github.kolunmi.Bazaar.gschema.xml:46 msgid "The window dimensions to be used by the next Bazaar window" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "Alkalmazások felfedezĂ©se Ă©s telepĂ­tĂ©se" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A new app store for GNOME with a focus on discovering and installing " "applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "Egy Ăşj alkalmazásbolt GNOME-ra, amelynek fĂłkuszában a Flatpak adattárakbĂłl, " "kifejezetten a FlathubrĂłl származĂł alkalmazások Ă©s kiegĂ©szĂ­tĹ‘k felfedezĂ©se " "Ă©s telepĂ­tĂ©se áll." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. " "Bazaar features a \"curated\" tab that can be configured by distributors to " "allow for a more localized experience." msgstr "" "HangsĂşlyozza a Linuxos asztali rendszereket lĂ©trehozĂł fejlesztĹ‘k " "támogatását. A Bazár egy „válogatott” fĂĽllel is rendelkezik, amelyet a " "disztrĂłk konfigurálhatnak, hogy lokalizáltabb Ă©lmĂ©nyt nyĂşjtsanak." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:29 src/bz-application.c:506 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 msgid "The home view displaying Flathub apps" msgstr "A kezdĹ‘kĂ©pernyĹ‘ Flathub alkalmazásokkal" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Nucleus app page" msgstr "Alkalmazásoldal a Nucleus alkalmazással" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 msgid "Searching for Blender" msgstr "KeresĂ©s a Blenderre" #: src/bz-addons-dialog.blp:14 src/bz-full-view.blp:527 #: src/bz-installed-page.blp:132 msgid "Manage Add-ons" msgstr "KiegĂ©szĂ­tĹ‘k kezelĂ©se" #: src/bz-addons-dialog.c:88 src/bz-installed-page.blp:158 #: src/bz-transaction-view.blp:212 src/bz-window.c:1125 msgid "Remove" msgstr "EltávolĂ­tás" #: src/bz-addons-dialog.c:95 src/bz-full-view.blp:244 #: src/bz-transaction-view.blp:186 src/bz-window.c:1103 msgid "Install" msgstr "TelepĂ­tĂ©s" #: src/bz-app-size-dialog.c:55 msgid "Of the size of human DNA" msgstr "Az emberi DNS mĂ©retĂ©hez kĂ©pest" #: src/bz-app-size-dialog.c:55 msgid "3 billion base pairs" msgstr "3 milliárd bázispár" #: src/bz-app-size-dialog.c:56 msgid "Of the Linux Kernel" msgstr "A Linux Kernelhez kĂ©pest" #: src/bz-app-size-dialog.c:56 msgid "linux-6.17.tar.xz" msgstr "linux-6.17.tar.xz" #: src/bz-app-size-dialog.c:57 msgid "Of the Apollo 11 guidance computer" msgstr "Az Apollo 11 irányĂ­tĂł számĂ­tĂłgĂ©pĂ©hez kĂ©pest" #: src/bz-app-size-dialog.c:57 msgid "Total ROM and RAM" msgstr "A teljes ROM Ă©s RAM" #: src/bz-app-size-dialog.c:58 msgid "Of the original Super Mario Bros" msgstr "Az eredeti Super Mario Bros mĂ©retĂ©hez kĂ©pest" #: src/bz-app-size-dialog.c:58 msgid "On the NES" msgstr "A NES-en" #: src/bz-app-size-dialog.c:59 msgid "Of the size of Wikipedia" msgstr "A WikipĂ©dia mĂ©retĂ©hez kĂ©pest" #: src/bz-app-size-dialog.c:59 msgid "Without any media" msgstr "Minden mĂ©dia nĂ©lkĂĽl" #: src/bz-app-size-dialog.blp:43 msgid "--- MB" msgstr "--- MB" #: src/bz-app-size-dialog.blp:53 msgid "Download Size" msgstr "LetöltĂ©si mĂ©ret" #: src/bz-application.c:401 msgid "" "This functionality is currently disabled. It is recommended you download and " "install Flatseal to manage app permissions." msgstr "" "Ez a funkciĂł jelenleg nem elĂ©rhetĹ‘. Javasoljuk, hogy telepĂ­tsd a Flatseal " "alkalmazást az alkalmazások engedĂ©lyeinek kezelĂ©sĂ©hez." #: src/bz-application.c:465 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:466 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:481 msgid "translator-credits" msgstr "Benedek DĂ©vĂ©nyi <rdbende@proton.me>, 2025" #: src/bz-application.c:471 msgctxt "About Dialog Translator Credit" msgid "Ahmed Najmawi" msgstr "Ahmed Najmawi" #: src/bz-application.c:472 msgctxt "About Dialog Translator Credit" msgid "AtomHare" msgstr "AtomHare" #: src/bz-application.c:473 msgctxt "About Dialog Translator Credit" msgid "Azenyr" msgstr "Azenyr" #: src/bz-application.c:474 msgctxt "About Dialog Translator Credit" msgid "Goudarz Jafari" msgstr "Goudarz Jafari" #: src/bz-application.c:475 msgctxt "About Dialog Translator Credit" msgid "Jill Fiore (Lumaeris)" msgstr "Jill Fiore (Lumaeris)" #: src/bz-application.c:476 msgctxt "About Dialog Translator Credit" msgid "JoĂŁo Victor (Leal)" msgstr "JoĂŁo Victor (Leal)" #: src/bz-application.c:477 msgctxt "About Dialog Translator Credit" msgid "KiKaraage" msgstr "KiKaraage" #: src/bz-application.c:478 msgctxt "About Dialog Translator Credit" msgid "Lucosec" msgstr "Lucosec" #: src/bz-application.c:479 msgctxt "About Dialog Translator Credit" msgid "LĂ©ane GRASSER" msgstr "LĂ©ane GRASSER" #: src/bz-application.c:480 msgctxt "About Dialog Translator Credit" msgid "Marcel MrĂłwka (Microwave)" msgstr "Marcel MrĂłwka (Microwave)" #: src/bz-application.c:481 msgctxt "About Dialog Translator Credit" msgid "Peter Dave Hello" msgstr "Peter Dave Hello" #: src/bz-application.c:482 msgctxt "About Dialog Translator Credit" msgid "Pietro F." msgstr "Pietro F." #: src/bz-application.c:483 msgctxt "About Dialog Translator Credit" msgid "Sabri Ăśnal" msgstr "Sabri Ăśnal" #: src/bz-application.c:484 msgctxt "About Dialog Translator Credit" msgid "Shihfu Juan" msgstr "Shihfu Juan" #: src/bz-application.c:485 msgctxt "About Dialog Translator Credit" msgid "Shinsei" msgstr "Shinsei" #: src/bz-application.c:486 msgctxt "About Dialog Translator Credit" msgid "Vlastimil DÄ›dek" msgstr "Vlastimil DÄ›dek" #: src/bz-application.c:487 msgctxt "About Dialog Translator Credit" msgid "asen23" msgstr "asen23" #: src/bz-application.c:488 msgctxt "About Dialog Translator Credit" msgid "camegone" msgstr "camegone" #: src/bz-application.c:489 msgctxt "About Dialog Translator Credit" msgid "renner" msgstr "renner" #: src/bz-application.c:490 msgctxt "About Dialog Translator Credit" msgid "robotta" msgstr "robotta" #: src/bz-application.c:1033 msgid "Constructing Flatpak instance..." msgstr "Flatpak pĂ©ldány lĂ©trehozása…" #: src/bz-application.c:1050 msgid "Reusing last Flatpak instance..." msgstr "LegutĂłbbi Flatpak pĂ©ldány Ăşjrafelhasználása…" #: src/bz-application.c:1075 msgid "Flathub is not registered on this system" msgstr "A Flathub nincs beállĂ­tva ezen a rendszeren" #: src/bz-application.c:1078 msgid "" "Would you like to add Flathub as a remote? If you decline, the Flathub page " "will not be available. You can change this later." msgstr "" "SzeretnĂ©d engedĂ©lyezni a Flathub távoli adattárat? Ha ezt nem teszed meg, a " "Flathub fĂĽl nem lesz elĂ©rhetĹ‘. KĂ©sĹ‘bb ezt bármikor megváltoztathatod." #: src/bz-application.c:1083 src/bz-update-dialog.blp:6 msgid "Later" msgstr "KĂ©sĹ‘bb" #: src/bz-application.c:1084 msgid "Add Flathub" msgstr "Flathub engedĂ©lyezĂ©se" #: src/bz-application.c:1116 #, c-format msgid "Identifying installed entries..." msgstr "TelepĂ­tett tĂ©telek beazonosĂ­tása…" #: src/bz-application.c:1128 #, c-format msgid "Beginning remote entry retrieval while referencing %d blocklist(s)..." msgstr "Távoli tĂ©telek lekĂ©rĂ©sĂ©nek megkezdĂ©se, %d tiltĂłlista hivatkozásával…" #: src/bz-application.c:1276 #, c-format msgid "Receiving Entries" msgstr "TĂ©telek fogadása" #: src/bz-application.c:1277 #, c-format msgid "%'d of %'d" msgstr "%'d/%'d" #: src/bz-application.c:1288 #, c-format msgid "Waiting for background indexing tasks to catch up..." msgstr "Várakozás a háttĂ©rben futĂł indexelĂ©si feladatok befejezĂ©sĂ©re…" #: src/bz-application.c:1329 #, c-format msgid "Completed initialization in %0.2f seconds" msgstr "Az indĂ­tás %0.2f másodperc alatt befejezĹ‘dött" #: src/bz-application.c:1334 src/bz-application.c:1489 msgid "Checking for updates..." msgstr "FrissĂ­tĂ©sek keresĂ©se…" #: src/bz-application.c:1373 msgid "Synchronizing..." msgstr "Szinkronizálás…" #: src/bz-browse-widget.blp:11 src/bz-flathub-page.blp:19 #: src/bz-full-view.blp:10 src/bz-installed-page.blp:15 src/bz-window.blp:161 msgid "Empty" msgstr "Ăśres" #: src/bz-browse-widget.blp:15 msgid "No Curated Applications" msgstr "Nincsenek válogatott alkalmazások" #: src/bz-browse-widget.blp:16 msgid "" "Bazaar was not provided a curated content configuration. Contact your " "operating system's support channels for assistance." msgstr "" "A Bazaar nem talál válogatott tartalomkonfiguráciĂłt. SegĂ­tsĂ©gĂ©rt fordulj az " "operáciĂłs rendszer támogatási csatornáihoz." #: src/bz-browse-widget.blp:22 src/bz-flathub-page.blp:30 msgid "Browser" msgstr "BöngĂ©szĹ‘" #: src/bz-entry-inspector.blp:5 msgid "Entry Inspector" msgstr "" #: src/bz-entry-inspector.blp:76 msgid "Serialize" msgstr "" #: src/bz-entry-inspector.blp:80 msgid "Convert to JSON" msgstr "" #: src/error.c:68 msgid "An Error Occurred" msgstr "Hiba törtĂ©nt" #: src/error.c:89 msgid "Close" msgstr "Bezárás" #: src/error.c:90 msgid "Copy and Close" msgstr "Másolás Ă©s bezárás" #: src/bz-featured-tile.blp:89 msgid "App of the Day" msgstr "A nap alkalmazása" #: src/bz-flathub-category.c:325 msgid "Audio & Video" msgstr "Hang Ă©s videĂł" #: src/bz-flathub-category.c:327 msgid "Developer Tools" msgstr "FejlesztĹ‘i eszközök" #: src/bz-flathub-category.c:329 msgid "Education" msgstr "Oktatás" #: src/bz-flathub-category.c:331 msgid "Gaming" msgstr "JátĂ©k" #: src/bz-flathub-category.c:333 msgid "Graphics & Photography" msgstr "Grafika Ă©s fĂ©nykĂ©pezĂ©s" #: src/bz-flathub-category.c:335 msgid "Networking" msgstr "HálĂłzat" #: src/bz-flathub-category.c:337 msgid "Productivity" msgstr "Produktivitás" #: src/bz-flathub-category.c:339 msgid "Science" msgstr "Tudomány" #: src/bz-flathub-category.c:341 msgid "System" msgstr "Rendszer" #: src/bz-flathub-category.c:343 msgid "Utilities" msgstr "SegĂ©dprogramok" #: src/bz-flathub-category-section.c:137 #, c-format msgid "%d applications" msgstr "%d alkalmazás" #: src/bz-flathub-category-section.c:336 #, c-format msgid "More %s" msgstr "MĂ©g több %s" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "A Flathub nincs engedĂ©lyezve" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "A Flathub adattár nem találhatĂł egyik Flatpak telepĂ­tĂ©seden sem" #: src/bz-flathub-page.blp:80 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.c:168 msgid "Trending" msgstr "Felkapott" #: src/bz-flathub-page.blp:85 src/bz-flathub-page.blp:235 #: src/bz-flathub-page.c:198 msgid "Popular" msgstr "NĂ©pszerű" #: src/bz-flathub-page.blp:90 msgid "New" msgstr "Ăšj" #: src/bz-flathub-page.blp:95 msgid "Updated" msgstr "FrissĂ­tett" #: src/bz-flathub-page.blp:141 msgid "More Trending" msgstr "MĂ©g több felkapott" #: src/bz-flathub-page.blp:151 src/bz-flathub-page.c:178 msgid "Recently Updated" msgstr "NemrĂ©g frissĂ­tett" #: src/bz-flathub-page.blp:183 msgid "More Updated" msgstr "MĂ©g több frissĂ­tett" #: src/bz-flathub-page.blp:193 src/bz-flathub-page.c:188 msgid "Recently Added" msgstr "NemrĂ©g hozzáadott" #: src/bz-flathub-page.blp:225 msgid "More New" msgstr "MĂ©g több Ăşj" #: src/bz-flathub-page.blp:267 msgid "More Popular" msgstr "MĂ©g több nĂ©pszerű" #: src/bz-flathub-page.blp:356 msgid "On the go" msgstr "Ăštközben" #: src/bz-flathub-page.blp:368 msgid "Apps for your Linux phones and tablets" msgstr "Alkalmazások Linux telefonokra Ă©s táblagĂ©pekre" #: src/bz-flathub-page.blp:379 src/bz-flathub-page.blp:414 msgid "More Mobile apps" msgstr "MĂ©g több mobilapp" #: src/bz-flathub-page.c:208 msgid "Mobile Apps" msgstr "Mobilappok" #: src/bz-flatpak-entry.c:552 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub oldal" #: src/bz-flatpak-entry.c:573 msgctxt "Project URL Type" msgid "Project Website" msgstr "Projekt honlapja" #: src/bz-flatpak-entry.c:577 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Hiba bejelentĂ©se" #: src/bz-flatpak-entry.c:581 msgctxt "Project URL Type" msgid "FAQ" msgstr "GYIK" #: src/bz-flatpak-entry.c:585 msgctxt "Project URL Type" msgid "Help" msgstr "SegĂ­tsĂ©g" #: src/bz-flatpak-entry.c:589 msgctxt "Project URL Type" msgid "Donate" msgstr "Adományozás" #: src/bz-flatpak-entry.c:595 msgctxt "Project URL Type" msgid "Translate" msgstr "SegĂ­tsĂ©g a fordĂ­tásban" #: src/bz-flatpak-entry.c:599 msgctxt "Project URL Type" msgid "Contact" msgstr "Kapcsolat" #: src/bz-flatpak-entry.c:603 msgctxt "Project URL Type" msgid "Source Code" msgstr "ForráskĂłd" #: src/bz-flatpak-entry.c:609 msgctxt "Project URL Type" msgid "Contribute" msgstr "Hozzájárulás" #: src/bz-full-view.blp:14 msgid "No Results" msgstr "Nincs találat" #: src/bz-full-view.blp:15 msgid "Try a different search query" msgstr "PrĂłbálkozz más keresĹ‘kifejezĂ©ssel" #: src/bz-full-view.blp:21 src/bz-window.blp:171 msgid "Content" msgstr "Tartalom" #: src/bz-full-view.blp:151 msgid "Verified by the original developers" msgstr "Az eredeti fejlesztĹ‘k által hitelesĂ­tve" #: src/bz-full-view.blp:178 msgid "Support" msgstr "Támogatás" #: src/bz-full-view.blp:198 msgid "Repository Star Count" msgstr "Adattár csillagszámlálĂłja" #: src/bz-full-view.blp:228 msgid "Open" msgstr "Megnyitás" #: src/bz-full-view.blp:241 msgid "Download & Install Application" msgstr "Alkalmazás letöltĂ©se Ă©s telepĂ­tĂ©se" #: src/bz-full-view.blp:256 msgid "Uninstall Application" msgstr "Alkalmazás eltávolĂ­tása" #: src/bz-full-view.blp:271 msgid "Install Other Version" msgstr "Másik verziĂł telepĂ­tĂ©se" #: src/bz-full-view.blp:295 msgid "Download" msgstr "LetöltĂ©s" #: src/bz-full-view.blp:411 msgid "Downloads/mo" msgstr "LetöltĂ©s/hĂł" #: src/bz-full-view.c:261 msgid "---" msgstr "---" #. Translators: M is the suffix for millions, \xC2\xA0 is a non-breaking space #: src/bz-full-view.c:265 #, c-format msgid "%.2f M" msgstr "%.2f m" #. Translators: K is the suffix for thousands, \xC2\xA0 is a non-breaking space #: src/bz-full-view.c:268 #, c-format msgid "%.2f K" msgstr "%.2f e" #: src/bz-full-view.c:277 #, c-format msgid "%d downloads in the last 30 days" msgstr "%d letöltĂ©s az elmĂşlt 30 napban" #: src/bz-full-view.c:298 #, c-format msgid "Download size of %s" msgstr "LetöltĂ©s mĂ©rete: %s" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-full-view.c:308 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-full-view.c:316 msgid "All Ages" msgstr "Minden Ă©letkor" #: src/bz-full-view.c:318 msgid "Age Rating" msgstr "Korhatár" #: src/bz-full-view.c:326 msgid "Suitable for all ages" msgstr "Minden korosztály számára alkalmas" #: src/bz-full-view.c:328 #, c-format msgid "Suitable for ages %d and up" msgstr "%d Ă©ves kortĂłl ajánlott" #: src/bz-full-view.c:348 msgid "Unknown" msgstr "Ismeretlen" #: src/bz-full-view.c:351 msgid "Proprietary Software" msgstr "Zárt forráskĂłdĂş szoftver" #: src/bz-full-view.c:355 #, c-format msgid "Free software licensed under %s" msgstr "Szabad szoftver a(z) %s licenc alatt" #: src/bz-full-view.c:363 msgid "Free" msgstr "Szabad" #: src/bz-full-view.c:363 msgid "Proprietary" msgstr "VĂ©dett" #: src/bz-full-view.c:383 msgid "Adaptive" msgstr "AlkalmazkodĂł" #: src/bz-full-view.c:383 msgid "Desktop Only" msgstr "Csak asztali" #: src/bz-full-view.c:389 msgid "Works on desktop, tablets, and phones" msgstr "Működik asztali számĂ­tĂłgĂ©pen, táblagĂ©pen Ă©s mobiltelefonon" #: src/bz-full-view.c:390 msgid "May not work on mobile devices" msgstr "Lehet, hogy nem működik mobileszközökön" #: src/bz-full-view.c:401 msgid "No URL" msgstr "Nincs URL" #: src/bz-full-view.c:419 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Ez az alkalmazás Szabad Ă©s NyĂ­lt ForráskĂłdĂş licenccel rendelkezik, ami azt " "jelenti, hogy által a forráskĂłd biztonsági szempontbĂłl bárki által " "ellenĹ‘rizhetĹ‘." #: src/bz-full-view.c:420 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Ez az alkalmazás kereskedelmi licenccel rendelkezik, ami azt jelenti, hogy a " "forráskĂłd magántulajdonban van, Ă©s fĂĽggetlen harmadik fĂ©l nem ellenĹ‘rizheti." #: src/bz-full-view.c:676 msgid "Show Less" msgstr "Kevesebb mutatása" #: src/bz-full-view.c:676 msgid "Show More" msgstr "Több mutatása" #: src/bz-hardware-support-dialog.c:69 msgid "Keyboard support" msgstr "Billentyűzet támogatás" #: src/bz-hardware-support-dialog.c:71 msgid "Requires keyboards" msgstr "Billentyűzet szĂĽksĂ©ges" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends keyboards" msgstr "Billentyűzet ajánlott" #: src/bz-hardware-support-dialog.c:73 msgid "Supports keyboards" msgstr "Billentyűzet használhatĂł" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for keyboards" msgstr "Billentyűzet támogatás ismeretlen" #: src/bz-hardware-support-dialog.c:76 msgid "Mouse support" msgstr "EgĂ©r támogatás" #: src/bz-hardware-support-dialog.c:78 msgid "Requires mice or pointing devices" msgstr "EgĂ©r vagy mutatĂłeszköz szĂĽksĂ©ges" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends mice or pointing devices" msgstr "EgĂ©r vagy mutatĂłeszköz ajánlott" #: src/bz-hardware-support-dialog.c:80 msgid "Supports mice or pointing devices" msgstr "EgĂ©r vagy mutatĂłeszköz használhatĂł" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for mice or pointing devices" msgstr "EgĂ©r vagy mutatĂłeszköz támogatás ismeretlen" #: src/bz-hardware-support-dialog.c:83 msgid "Touchscreen support" msgstr "ÉrintĹ‘kĂ©pernyĹ‘ támogatás" #: src/bz-hardware-support-dialog.c:85 msgid "Requires touchscreens" msgstr "ÉrintĹ‘kĂ©pernyĹ‘ szĂĽksĂ©ges" #: src/bz-hardware-support-dialog.c:86 msgid "Recommends touchscreens" msgstr "ÉrintĹ‘kĂ©pernyĹ‘ ajánlott" #: src/bz-hardware-support-dialog.c:87 msgid "Supports touchscreens" msgstr "ÉrintĹ‘kĂ©pernyĹ‘ használhatĂł" #: src/bz-hardware-support-dialog.c:88 msgid "Unknown support for touchscreens" msgstr "ÉrintĹ‘kĂ©pernyĹ‘ támogatás ismeretlen" #: src/bz-hardware-support-dialog.c:192 msgid "Mobile support" msgstr "Mobil támogatás" #: src/bz-hardware-support-dialog.c:193 msgid "Works on mobile devices" msgstr "Működik mobileszközökön" #: src/bz-hardware-support-dialog.c:193 msgid "May not work well on mobile devices" msgstr "Lehet, hogy nem működik jĂłl mobileszközökön" #: src/bz-hardware-support-dialog.c:198 msgid "Desktop support" msgstr "Asztali támogatás" #: src/bz-hardware-support-dialog.c:199 msgid "Works well on large screens" msgstr "JĂłl működik nagy kijelzĹ‘kön" #: src/bz-hardware-support-dialog.c:233 #, c-format msgid "%s works best on specific hardware" msgstr "%s csak bizonyos eszközökön működik jĂłl" #: src/bz-hardware-support-dialog.c:240 #, c-format msgid "%s works on most devices" msgstr "%s a legtöbb eszközön működik" #: src/bz-hardware-support-dialog.blp:6 src/bz-hardware-support-dialog.blp:47 msgid "Hardware Support" msgstr "Hardver támogatás" #: src/bz-inspector.blp:5 msgid "Bazaar Inspector" msgstr "" #: src/bz-inspector.blp:22 msgid "Active Blocklists" msgstr "" #: src/bz-inspector.blp:44 msgid "Active Curated-Configs" msgstr "" #: src/bz-inspector.blp:66 msgid "All Entry Groups" msgstr "" #: src/bz-inspector.blp:69 msgid "Filter..." msgstr "" #: src/bz-inspector.blp:110 msgid "Decache and Inspect" msgstr "" #: src/bz-installed-page.blp:19 msgid "No Flatpaks Installed" msgstr "Nincs telepĂ­tett Flatpak" #: src/bz-installed-page.blp:25 src/bz-window.blp:305 src/bz-window.blp:399 msgid "Installed" msgstr "TelepĂ­tve" #: src/bz-installed-page.blp:108 msgid "Support this application" msgstr "Alkalmazás támogatása" #: src/bz-installed-page.blp:185 msgid "More actions" msgstr "További lehetĹ‘sĂ©gek" #: src/bz-installed-page.blp:204 msgid "Run this application" msgstr "Alkalmazás futtatása" #: src/bz-installed-page.blp:216 msgid "Run" msgstr "Futtatás" #: src/bz-installed-page.blp:228 src/bz-installed-page.blp:239 msgid "View Store Page" msgstr "Alkalmazásoldal megnyitása" #: src/bz-installed-page.c:649 msgid "Choose an Installation" msgstr "TelepĂ­tĂ©s kiválasztása" #: src/bz-installed-page.c:652 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with? " msgstr "" "Ennek az alkalmazásnak több verziĂłja is telepĂ­tve van. Melyikkel szeretnĂ©d " "folytatni?" #: src/bz-installed-page.c:656 src/bz-window.c:1102 src/bz-window.c:1124 msgid "Cancel" msgstr "MĂ©gse" #: src/bz-license-dialog.c:115 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may not be able to contribute to this app." msgstr "" "Ez az alkalmazás zárt fejlesztĂ©sű, ezĂ©rt csak a fejlesztĹ‘i ismerik a belsĹ‘ " "működĂ©sĂ©t. Lehetnek olyan biztonsági hiányosságai, amelyek nehezen " "Ă©szlelhetĹ‘k, illetve a működĂ©se Ă©szrevĂ©tlenĂĽl megváltozhat.\n" "\n" "Nem tudsz hozzájárulni az alkalmazás fejlesztĂ©sĂ©hez." #: src/bz-license-dialog.c:124 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Ezt az alkalmazást egy nemzetközi közössĂ©g nyĂ­ltan fejleszti.\n" "\n" "Te is csatlakozhatsz Ă©s segĂ­thetsz mĂ©g jobbá tenni." #: src/bz-license-dialog.c:135 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the <a href=\"%s\">%s</a> license.\n" "\n" "You can participate and help make it even better." msgstr "" "Ezt az alkalmazást egy nemzetközi közössĂ©g nyĂ­ltan fejleszti, Ă©s a(z) <a " "href=\"%s\">%s</a> teszi elĂ©rhetĹ‘vĂ©.\n" "\n" "Te is csatlakozhatsz Ă©s segĂ­thetsz mĂ©g jobbá tenni." #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "BeállĂ­tások" #: src/bz-preferences-dialog.blp:23 src/bz-window.blp:48 src/bz-window.blp:337 msgid "Search" msgstr "KeresĂ©s" #: src/bz-preferences-dialog.blp:26 msgid "Free Software Only" msgstr "Csak szabad szoftver" #: src/bz-preferences-dialog.blp:27 msgid "Hide proprietary applications from search results" msgstr "Zárt forráskĂłdĂş alkalmazások elrejtĂ©se a keresĂ©si eredmĂ©nyekbĹ‘l" #: src/bz-preferences-dialog.blp:31 msgid "Flathub Results Only" msgstr "Csak Flathub eredmĂ©nyek" #: src/bz-preferences-dialog.blp:32 msgid "Limit search results to applications only available on Flathub" msgstr "KeresĂ©s korlátozása a Flathubon elĂ©rhetĹ‘ alkalmazásokra" #: src/bz-preferences-dialog.blp:36 msgid "Delay Search Results" msgstr "KeresĂ©s kĂ©sleltetĂ©se" #: src/bz-preferences-dialog.blp:37 msgid "Improve results performance by debouncing search terms" msgstr "" "KeresĂ©s teljesĂ­tmĂ©nyĂ©nek javĂ­tása a keresĹ‘kifejezĂ©sek pergĂ©smentesĂ­tĂ©sĂ©vel" #: src/bz-preferences-dialog.blp:42 msgid "Application Details" msgstr "Alkalmazás rĂ©szletei" #: src/bz-preferences-dialog.blp:45 msgid "Display Star Count" msgstr "CsillagszámlálĂł mutatása" #: src/bz-preferences-dialog.blp:46 msgid "Show the star count of an application's source code repository" msgstr "Az alkalmazás forráskĂłd-adattára csillagszámának megjelenĂ­tĂ©se" #: src/bz-preferences-dialog.blp:71 msgid "Progress Bar" msgstr "FolyamatjelzĹ‘" #: src/bz-preferences-dialog.blp:72 msgid "Choose a theme for the progress bar!" msgstr "Válassz tĂ©mát a folyamatjelzĹ‘ sávoknak" #: src/bz-preferences-dialog.blp:107 msgid "" "Bazaar can fetch and display the star count from an application's source " "code repository on a remote Git forge. \n" " For projects on GitHub, rate limits may cause them not to appear." msgstr "" "A Bazár letölti Ă©s megjelenĂ­ti a csillagok számát egy alkalmazás forráskĂłd-" "adattárábĂłl a távoli Git forge-on. \n" " A GitHubon találhatĂł projektek esetĂ©ben a használati korlát miatt " "elĹ‘fordulhat, hogy nem mindig sikerĂĽl betölteni." #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "KiemelĹ‘szĂ­n" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Pride szĂ­nek" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Lezbikus szĂ­nek" #: src/bz-preferences-dialog.c:35 msgid "Transgender Pride Colors" msgstr "Transzgender szĂ­nek" #: src/bz-preferences-dialog.c:36 msgid "Nonbinary Pride Colors" msgstr "Nonbináris szĂ­nek" #: src/bz-preferences-dialog.c:37 msgid "Bisexual Pride Colors" msgstr "Biszexuális szĂ­nek" #: src/bz-preferences-dialog.c:38 msgid "Asexual Pride Colors" msgstr "Aszexuális szĂ­nek" #: src/bz-preferences-dialog.c:39 msgid "Pansexual Pride Colors" msgstr "Pánszexuális szĂ­nek" #: src/bz-preferences-dialog.c:40 msgid "Aromantic Pride Colors" msgstr "Aromantikus szĂ­nek" #: src/bz-preferences-dialog.c:41 msgid "Genderfluid Pride Colors" msgstr "Genderfluid szĂ­nek" #: src/bz-preferences-dialog.c:42 msgid "Polysexual Pride Colors" msgstr "Poliszexuális szĂ­nek" #: src/bz-preferences-dialog.c:43 msgid "Omnisexual Pride Colors" msgstr "Omniszexuális szĂ­nek" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:26 msgid "Version History" msgstr "VerziĂłtörtĂ©net" #: src/bz-releases-list.c:128 #, c-format msgid "Version %s" msgstr "%s verziĂł" #: src/bz-releases-list.c:153 msgid "No details for this release" msgstr "Nincsenek rĂ©szletek ehhez a kiadáshoz" #: src/bz-search-widget.blp:69 msgid "Search Apps" msgstr "Alkalmazások keresĂ©se" #: src/bz-share-list.c:64 msgid "Copied!" msgstr "Másolva!" #: src/bz-share-list.c:116 msgid "Copy Link" msgstr "Hivatkozás másolása" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "Hivatkozás megnyitása" #: src/bz-stats-dialog.blp:26 msgid "Timeline" msgstr "IdĹ‘vonal" #: src/bz-stats-dialog.blp:31 msgid "Installs:" msgstr "TelepĂ­tĂ©s:" #: src/bz-stats-dialog.blp:37 msgid "World" msgstr "TĂ©rkĂ©p" #: src/bz-transaction-manager.c:1140 #, c-format msgid "Finished in %.02f seconds" msgstr "Befejezve %.02f másodperc alatt" #: src/bz-transaction-view.blp:94 msgid "App Add-on" msgstr "Alkalmazás kiegĂ©szĂ­tĹ‘" #: src/bz-transaction-view.blp:119 msgid "Runtime" msgstr "FuttatĂłkörnyezet" #: src/bz-transaction-view.blp:145 src/bz-transaction-view.blp:171 msgid "Install Size" msgstr "TelepĂ­tett mĂ©ret" #: src/bz-transaction-view.blp:199 src/bz-window.blp:350 msgid "Update" msgstr "FrissĂ­tĂ©s" #: src/bz-transaction-view.c:139 #, c-format msgid "Transferred %s so far" msgstr "Eddig átvĂ­ve: %s" #: src/bz-transaction.c:336 msgid "Pending" msgstr "FĂĽggĹ‘ben" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "TelepĂ­tĂ©s most" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "FrissĂ­tĂ©sek elĂ©rhetĹ‘k" #: src/bz-update-dialog.blp:11 msgid "" "The following applications are eligible for updates. Would you like to " "install them?" msgstr "" "A következĹ‘ alkalmazások frissĂ­tĂ©sre várnak. SzeretnĂ©d telepĂ­teni Ĺ‘ket?" #: src/bz-update-dialog.c:134 #, c-format msgid "" "%d runtimes and/or addons are eligible for updates. Would you like to " "install them?" msgstr "" "%d futtatĂłkörnyezet Ă©s/vagy kiegĂ©szĂ­tĹ‘höz Ă©rhetĹ‘ el frissĂ­tĂ©s. SzeretnĂ©d " "telepĂ­teni ezeket?" #: src/bz-update-dialog.c:142 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "További %d futtatĂłkörnyezet Ă©s/vagy kiegĂ©szĂ­tĹ‘ frissĂ­tve lesz." #: src/bz-window.blp:63 msgid "Go Home" msgstr "Vissza a kezdĹ‘oldalra" #: src/bz-window.blp:86 msgid "Tasks" msgstr "Feladatok" #: src/bz-window.blp:105 src/bz-window.blp:418 msgid "Toggle transaction sidebar" msgstr "TranzakciĂłk megjelenĂ­tĂ©se/elrejtĂ©se" #: src/bz-window.blp:141 msgid "Stop Active Tasks" msgstr "FutĂł feladatok leállĂ­tása" #: src/bz-window.blp:149 msgid "Clear History" msgstr "ElĹ‘zmĂ©nyek törlĂ©se" #: src/bz-window.blp:165 msgid "No Tasks Yet" msgstr "Nincsenek feladatok" #: src/bz-window.blp:219 src/bz-window.blp:223 msgid "Offline" msgstr "Offline" #: src/bz-window.blp:229 msgid "Loading" msgstr "BetöltĂ©s" #: src/bz-window.blp:270 msgid "Browse" msgstr "BöngĂ©szĂ©s" #: src/bz-window.blp:280 msgid "App View" msgstr "Alkalmazás nĂ©zet" #: src/bz-window.blp:295 src/bz-window.blp:392 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:325 msgid "Go Back" msgstr "Vissza" #: src/bz-window.blp:381 msgid "View curated applications" msgstr "Válogatott alkalmazások megtekintĂ©se" #: src/bz-window.blp:385 msgid "Curated" msgstr "Válogatott" #: src/bz-window.blp:389 msgid "View the latest on Flathub" msgstr "LegĂşjabb Flathub alkalmazások megtekintĂ©se" #: src/bz-window.blp:396 msgid "View installed applications" msgstr "TelepĂ­tett alkalmazások megtekintĂ©se" #: src/bz-window.blp:441 msgid "Main Menu" msgstr "FĹ‘menĂĽ" #: src/bz-window.blp:486 msgid "_Donate to Bazaar ❤️" msgstr "A Bazár _támogatása ❤️" #: src/bz-window.blp:491 msgid "_Refresh Content" msgstr "Ăš_jratöltĂ©s" #: src/bz-window.blp:498 msgid "_Preferences" msgstr "_BeállĂ­tások" #: src/bz-window.blp:503 msgid "_Keyboard Shortcuts" msgstr "_Gyorsbillentyűk" #: src/bz-window.blp:508 msgid "_About Bazaar" msgstr "A Bazár _nĂ©vjegye" #: src/bz-window.blp:515 msgid "_Quit Bazaar" msgstr "_KilĂ©pĂ©s" #: src/bz-window.c:827 msgid "" "The ability to inspect and install local .flatpak bundle files is coming " "soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "Hamarosan elĂ©rhetĹ‘ lesz a helyi .flatpak csomagfájlok ellenĹ‘rzĂ©sĂ©nek Ă©s " "telepĂ­tĂ©sĂ©nek lehetĹ‘sĂ©ge! Addig is prĂłbáld meg futtatni a\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "parancsot a parancssorban." #: src/bz-window.c:967 msgid "Can't do that right now!" msgstr "Ezt most nem lehetsĂ©ges!" #: src/bz-window.c:1096 #, c-format msgid "Install %s?" msgstr "%s telepĂ­tĂ©se" #: src/bz-window.c:1099 msgid "May install additional shared components" msgstr "További megosztott összetevĹ‘k telepĂ­thetĹ‘k" #: src/bz-window.c:1118 #, c-format msgid "Remove %s?" msgstr "Remove %s?" #: src/bz-window.c:1121 msgid "Settings & user data will be kept" msgstr "A beállĂ­tások Ă©s a felhasználĂłi adatok megmaradnak" #: src/bz-window.c:1289 msgid "Resume Current Tasks" msgstr "Feladatok folytatása" #: src/bz-window.c:1295 msgid "Pause Current Tasks" msgstr "Feladatok szĂĽneteltetĂ©se" #: src/bz-world-map.c:523 #, c-format msgid "%s: %'u downloads" msgstr "%s: %'u downloads" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "Ăltalános" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "KeresĹ‘ablak megnyitása" #: src/gtk/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Preferences" msgstr "BeállĂ­tások megnyitása" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Refresh" msgstr "ĂšjratöltĂ©s" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "TranzakciĂłkezelĹ‘ megjelenĂ­tĂ©se/elrejtĂ©se" #: src/gtk/shortcuts-dialog.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Gyorsbillentyűk" #: src/gtk/shortcuts-dialog.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "KilĂ©pĂ©s" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/id.po������������������������������������������������������������������0000664�0000000�0000000�00000316317�15234476640�0016653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Indonesian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025 asen23 <andersenlim23@gmail.com> # KiKaraage <kikaraage@tuta.io>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-03 15:21+0700\n" "PO-Revision-Date: 2026-07-03 17:38+0700\n" "Last-Translator: KiKaraage <kikaraage@tuta.io>\n" "Language-Team: Indonesian\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Gtranslator 50.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:386 src/bz-window.c:387 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Tambah, hapus atau perbarui aplikasi Flatpak pada komputer ini" # Added "Aplikasi" and "Pusat Aplikasi" (App Center) to search queries #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Sistem;PackageManager;Discover;Flatpak;Aplikasi;Toko;PerangkatLunak;PusatAplikasi;ManajerPaket;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Jendela Baru" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Temukan dan pasang aplikasi" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Toko aplikasi Linux yang cepat dan modern, berfokus pada kemudahan menemukan " "serta memasang aplikasi dan modul tambahan Flatpak, terutama dari Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Pasang beberapa aplikasi sekaligus dan lanjut menjelajah" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Dapat melihat izin aplikasi secara mudah" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Masuk dengan Flathub untuk lihat dan kelola aplikasi favoritmu" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Cari aplikasi langsung dari bilah pencarian GNOME" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:787 msgid "The Bazaar Contributors" msgstr "Kontributor Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Tampilan muka dengan daftar aplikasi dari Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Tampilan halaman detail aplikasi" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Halaman pustaka aplikasi" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Tampilan pencarian aplikasi" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Tampilan kategori aplikasi" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Berhenti Menerima Pembaruan" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Hapus" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Pasang" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Kelola Modul Tambahan" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Tiada Modul Tambahan Nampak" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Opsi saringan Anda saat ini menyembunyikan semua modul tambahan. Coba atur " "ulang kembali." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Halaman Modul Tambahan" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "Unduhan/Bulan" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "Berhenti Menerima Pembaruan Utama" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Modul tambahan ini menggunakan tempokerja (runtime) yang sudah tidak " "menerima pembaruan maupun perbaikan keamanan, dan kemungkinan tidak aman " "untuk digunakan." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "Modul Tambahan untuk %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 msgid "Show Less" msgstr "Sembunyikan" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 src/bz-section-view.blp:72 msgid "Show More" msgstr "Tampilkan Lebih Banyak" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "Statistik Unduhan" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Peringkat Usia" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Kekerasan (Kartun)" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Tidak ada info mengenai penggambaran kekerasan berbentuk kartun" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Kekerasan (Fantasi)" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Tidak ada info mengenai penggambaran kekerasan berbentuk fantasi" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Kekerasan (Nyata)" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Tidak ada info mengenai penggambaran kekerasan realistik" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Kekerasan Menggambarkan Pertumpahan Darah" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Tidak ada info mengenai penggambaran pertumpahan darah" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Kekerasan Seksual" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Tidak ada info mengenai penggambaran kekerasan seksual" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Minuman Keras" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "" "Tidak ada info mengenai penggambaran/penyebutan terkait minuman beralkohol" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Narkotika" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "" "Tidak ada info mengenai referensi terkait narkotika dan obat-obatan terlarang" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Rokok" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Tidak ada info mengenai referensi terkait rokok " #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Ketelanjangan" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Tidak ada info mengenai segala bentuk ketelanjangan" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Tema Seksual" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Tidak ada info mengenai segala bentuk referensi atau penggambaran seksual " #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Kata-Kata Kasar" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Tidak ada info mengenai segala penggunaan kata-kata kasar" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Humor Tidak Pantas" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Tidak ada info mengenai penggunaan humor yang tidak pantas" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Diskriminasi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Tidak ada info mengenai segala penggunaan bahasa yang diskriminatif" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Iklan" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Tidak ada info mengenai semua bentuk iklan" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Judi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "" "Tidak ada info mengenai segala penyebutan dan penggambaran terkait judi" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Jual Beli" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Tidak ada info mengenai kemampuan transaksi atau pembelian" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Obrolan Antar Pengguna" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Tidak ada info mengenai cara melakukan obrolan dengan pengguna lain" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Panggilan Antar Pengguna" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "" "Tidak ada info mengenai cara melakukan panggilan suara dengan pengguna lain" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Rincian Kontak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Tidak ada info terkait tindakan berbagi nama pengguna di media sosial atau " "alamat email" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Informasi Identifikasi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Tidak ada info terkait tindakan membagikan info pengguna dengan pihak ketiga " #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Berbagi Lokasi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Tidak ada info mengenai tindakan berbagi lokasi dengan pengguna lain" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostitusi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Tidak ada info mengenai penyebutan referensi terkait prostitusi" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Zina" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Tidak ada info mengenai penyebutan referensi terkait perzinaan" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Karakter yang Diseksualisasi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Tidak ada info mengenai karakter yang diseksualisasikan" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Penistaan" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Tidak ada info mengenai penyebutan referensi terkait penistaan" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Jasad Manusia" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Tidak ada info mengenai terlihatnya sisa-sisa jasad manusia" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Perbudakan" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Tidak ada info mengenai penyebutan referensi terkait perbudakan" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Tidak memuat referensi terkait obat-obatan terlarang" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "Tidak memuat penggunaan kata-kata kasar dan umpatan" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Tidak memuat iklan atau transaksi keuangan" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Tidak memuat konten seksual" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Tidak memuat kemampuan obrolan tanpa moderasi" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Tidak memuat konten kekerasan" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Obat Terlarang" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Kata-Kata Kasar" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Uang" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Sosial" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Kekerasan" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Semua" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "Peringkat usia untuk %s tidak diketahui" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s cocok untuk semua usia" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s diperbolehkan untuk usia balita" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s diperbolehkan untuk usia anak-anak" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s diperbolehkan untuk usia remaja" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s diperbolehkan untuk usia dewasa" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s diperbolehkan untuk usia %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Folder sistem %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Subfolder beranda %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Folder sistem utama" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Konfigurasi sistem utama dari /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Subfolder desktop %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Folder desktop" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Subfolder dokumen %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Folder dokumen" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Subfolder musik %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Folder musik" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Subfolder gambar %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Folder gambar" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Subfolder Berkas Publik %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Folder Berkas Publik" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Subfolder video %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Folder video" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Subfolder templat %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Folder templat" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Subfolder cache pengguna %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Folder cache pengguna" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Subfolder konfigurasi pengguna %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Folder konfigurasi pengguna" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Subfolder data pengguna %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Folder data pengguna" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Subfolder tempokerja pengguna %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Folder tempokerja pengguna" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Akses sistem file ke %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Jalur sistem file tidak diketahui" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Ukuran Unduh" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Ukuran Terpasang" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Ukuran yang diunduh dari internet" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Ukuran Tersimpan" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Buka folder data pengguna" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Data Pengguna" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Cache, konfigurasi, dan data aplikasi lainnya" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Cache" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Data cache temporer" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "Bersihkan cache" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Ukuran Tempokerja Terpasang" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Ukuran Unduh Tempokerja" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "Nihil" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Ukuran Aplikasi" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Terverifikasi" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Terpasang" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:790 msgid "translator-credits" msgstr "KiKaraage <kikaraage@tuta.io>, 2025" #: src/bz-application.c:800 msgid "Special Thanks" msgstr "Terima Kasih Khusus" #: src/bz-application.c:858 msgid "Logged Out Successfully!" msgstr "Akun Berhasil Dikeluarkan!" #: src/bz-application.c:1038 msgid "Ubuntu Troubles!" msgstr "Masalah dengan Ubuntu!" #: src/bz-application.c:1041 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "Versi terbaru Ubuntu telah merubah peraturan keamanan umum, sehingga " "instalasi aplikasi tidak dapat dilakukan melalui versi Flatpak pada Bazaar. " "Saat ini Anda dapat memasang ulang Bazaar dengan\n" "\n" "<tt>sudo apt install bazaar<tt>\n" "\n" "Kemudian Anda dapat menghapus versi Flatpak ini dengan\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1047 msgid "Continue Anyway" msgstr "Tetap Pasang" #: src/bz-application.c:1063 msgid "Performing setup…" msgstr "Melakukan pengaturan..." #: src/bz-application.c:1155 msgid "Set Up System Flathub?" msgstr "Atur Flathub pada Sistem?" #: src/bz-application.c:1158 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub belum diatur sebagai sumber Flatpak pada sistem ini. Bazaar " "membutuhkan Flathub terkonfigurasi sebagai sumber Flatpak sistem untuk " "mencari dan memasang aplikasi.\n" "\n" "Anda masih dapat menggunakan Bazaar untuk mencari dan menghapus aplikasi " "terpasang." #: src/bz-application.c:1165 msgid "Set Up Flathub?" msgstr "Atur Flathub?" #: src/bz-application.c:1168 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub belum diatur pada sistem ini. Anda tidak dapat mencari dan memasang " "aplikasi lewat Bazaar jika Flathub belum tersedia.\n" "\n" "Anda masih dapat menggunakan Bazaar untuk mencari dan menghapus aplikasi " "terpasang." #: src/bz-application.c:1174 msgid "Later" msgstr "Nanti" #: src/bz-application.c:1175 msgid "Set Up Flathub" msgstr "Atur Flathub" #: src/bz-application.c:1699 msgid "A backend error occurred" msgstr "Terjadi kegagalan latar belakang" #: src/bz-application.c:1899 src/bz-application.c:4114 msgid "Refreshing…" msgstr "Memuat ulang..." #: src/bz-application.c:2063 src/bz-application.c:4112 #, c-format msgid "Loading %d apps…" msgstr "%d aplikasi dimuat..." #: src/bz-application.c:2116 msgid "Failed to open file" msgstr "Gagal membuka berkas" #: src/bz-application.c:2237 msgid "An initialization error occurred" msgstr "Terjadi kegagalan initialisasi" #: src/bz-application.c:2631 msgid "Checking for updates…" msgstr "Memeriksa pembaruan..." #: src/bz-application.c:2687 msgid "Failed to check for updates" msgstr "Gagal memeriksa pembaruan" #: src/bz-application.c:3824 msgid "Malformed Link" msgstr "Format Tautan Salah" #: src/bz-application.c:3825 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Tautan untuk membuka aplikasi ini memiliki format kapitalisasi yang salah, " "dan mungkin tak berfungsi optimal di masa depan.\n" "\n" "Hal ini kemungkinan disebabkan oleh terkirimnya ID aplikasi yang tidak tepat " "oleh KRunner" #: src/bz-application.c:3833 msgid "Could not find app" msgstr "Tidak dapat mencari aplikasi" #: src/bz-application.c:3864 msgid "Failed to load metainfo" msgstr "Gagal memuat berkas metainfo" #: src/bz-application.c:4116 msgid "Writing to cache…" msgstr "Menulis cache..." #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Tunjukkan Semua" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Semua \"%s\"" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d Aplikasi" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Gagal Memuat Artikel" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Pemasangan Sekaligus" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Dependensi tambahan mungkin membutuhkan ruang tambahan" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Pemasangan aplikasi ini mungkin membutuhkan sumber aplikasi tambahan. " "Aplikasi lain dari sumber yang sama akan muncul di Bazaar.\n" "\n" "Tambahkan sumber aplikasi ini hanya jika Anda yakin mempercayainya." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "Sukses Terpasang!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Buka" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Lihat Detail Aplikasi" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "Telah Terpasang" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "Pemasangan Gagal" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Ukuran tidak diketahui" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Sekitar %s untuk memasang" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Tidak ada izin khusus" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fjt" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*frb" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d unduhan dalam sebulan terakhir" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s Tempokerja (Runtime)" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Ukuran Unduh" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Info ukuran apl tidak tersedia" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Ukuran unduhan %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Semua Usia" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Info panduan usia tidak tersedia" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Cocok untuk semua usia" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Cocok untuk usia %d ke atas" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Tidak Diketahui" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Aplikasi bebas di bawah lisensi %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Aplikasi bebas" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Aplikasi dengan hak cipta khusus" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Lisensi Khusus: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Aplikasi Bebas" #: src/context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Proprietari" #: src/context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Lisensi Khusus" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptif" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Hanya Desktop" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Bekerja di desktop, tablet dan ponsel" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Mungkin tidak bekerja optimal di ponsel" #: src/context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Aman" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Risiko Rendah" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Risiko Sedang" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Risiko Tinggi" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Kosong" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Pilihan Belum Tersedia" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "Info kurasi tidak tersedia pada sistem ini. Anda masih dapat menjelajahi " "aplikasi dari Flathub" #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "Jelajah Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Tidak Ada Jaringan" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Peramban" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Tidak Terverifikasi" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Informasi pengembang tidak tersedia." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "Kepemilikan ID aplikasi %s belum diverifikasi, kemungkinan dikemas dalam " "skala komunitas." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "Kepemilikan ID aplikasi %s telah diverifikasi secara manual \n" " tim Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "Kepemilikan ID aplikasi %1$s telah diverifikasi oleh <b>%2$s</b> di <b>%3$s</" "b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "Kepemilikan ID aplikasi %1$s telah diverifikasi menggunakan %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Kepemilikan ID aplikasi %s telah diverifikasi." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Catatan Rilis Lengkap" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Versi ini dapat rilis karena dukungan Anda!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Saya cinta Bazaar, namun saya tidak dapat mengembangkannya sendiri. Jika " "Anda ingin membantu pengembangan lebih lanjut, mari berdonasi lewat Ko-fi:" #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Donasi ke Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Apa Yang Baru di %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Dirilis pada %-e %B %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Pilih Pemasangan" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Anda telah memasang beberapa versi aplikasi ini. Versi mana yang ingin Anda " "gunakan?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Batal" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Hanya untuk pengguna ini" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "pengguna ini" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "semua pengguna" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:98 msgid "Details" msgstr "Rincian" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Salin" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:415 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Tersalin!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Jumlah Favorit" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Gagal memperbarui daftar favorit" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Masuk dengan Flathub dan kelola aplikasi favorit" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Masuk" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:348 msgid "Favorites" msgstr "Aplikasi Favorit" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "Pasang Semua" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Memuat" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Tidak Ada Favorit" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Aplikasi yang Anda tandai sebagai favorit akan muncul di sini" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Dukung Aplikasi Ini" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Hapus dari Favorit" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Gagal melepas status favorit" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Sebelumnya" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Selanjutnya" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Penyunting" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mixer" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Musik" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Pemutar" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Perekam" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Pengurut" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Pengontrol" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Emulasi" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Aksi" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Petualangan" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Arkade" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Blok" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Papan" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Kartu" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Anak-Anak" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "Logika" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Bermain Peran" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Penembak" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Simulasi" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Olahraga" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Strategi" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Peramban Web" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Obrolan" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Surat" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Berbagi Berkas" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Audio & Video" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Putar Media" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Apl Audio & Video Lain" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "Alat Pengembangan" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Kembangkan" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Apl Pengembangan Lain" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Edukasi" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Belajar" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "Apl Edukasi Lain" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Permainan" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Bermain" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Permainan Lainnya" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Grafis & Fotografi" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "Berkreasi" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Apl Grafis & Foto Lain" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "Jaringan" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "Apl Jaringan Lain" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Produktivitas" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Bekerja" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Apl Produktivitas Lain" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Ilmu Pengetahuan" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Apl Ilmu Pengetahuan Lain" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Sistem" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Apl Sistem Lain" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Utilitas" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "Alat" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Apl Utilitas Lain" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Sedang Tren" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Aplikasi Tren Lainnya" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "Populer" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Apl Populer Lainnya" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "Baru Saja Rilis" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Baru" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Apl Baru Lainnya" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Baru Dimutakhirkan" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Diperbarui" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Apl Mutakhir Lainnya" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Untuk Ponsel" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Apl Ponsel Lainnya" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Apl Adwaita Lainnya" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "Aplikasi KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "Apl KDE Lainnya" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Permainan" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "Permainan Lainnya" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Emulator" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Emulator Lainnya" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "Peluncur" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Peluncur Permainan Lainnya" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Alat Permainan" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Alat Permainan Lainnya" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub Belum Ditambahkan" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Remote Flathub tidak ditemukan pada seluruh pemasangan Flatpak Anda" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub Tidak Tersedia" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Tidak Dapat Menjangkau Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "Anda masih dapat mencari dan mengelola aplikasi." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Cari Aplikasi" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Tautkan Kembali" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Aplikasi Hari Ini" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Di Mana Saja" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Aplikasi untuk ponsel dan tablet Linux Anda" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "Apl Ponsel Lainnya" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "Kita ♥​ Main" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Permainan dan aplikasi untuk memainkan judul-judul favoritmu" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Tidak Ada Hasil" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Coba gunakan kata kunci lainnya" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Konten" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Ini merupakan pratinjau lokal, beberapa detail mungkin berbeda dari entri " "daftar setelah terbit" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Pratinjau Tampilan Toko" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Dukung" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Aplikasi ini menggunakan tempokerja (runtime) yang sudah tidak menerima " "pembaruan maupun perbaikan keamanan. Aplikasi ini mungkin tidak aman saat " "digunakan." #: src/bz-full-view.blp:539 msgid "Trash Data" msgstr "Buang Data" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Modul Tambahan" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "Lebih Banyak Modul Tambahan" #: src/bz-full-view.blp:648 msgid "Links" msgstr "Tautan" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Tidak ada URL" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Aplikasi ini memiliki lisensi FLOSS, sehingga kode sumbernya dapat diaudit " "untuk memastikan keamanannya." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Aplikasi ini memiliki lisensi proprietari, dikembangkan secara tertutup " "dengan kode sumber aplikasi yang tidak bisa diaudit secara independen." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Aplikasi Lainnya" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Aplikasi Lain dari %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Jelajah lebih dari pengembang ini" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "Jelajah lebih dari %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "%s sudah tidak terpasang, namun masih memiliki <b>%s</b> data tersimpan." #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "Aplikasi Lain" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d Aplikasi" #: src/bz-full-view.c:506 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "Gagal Menghapus Data Pengguna" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Dukungan Perangkat" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Pintasan papan tik" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Membutuhkan papan tik" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Direkomendasikan menggunakan papan tik" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Mendukung papan tik" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Dukungan papan tik tidak diketahui" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Dukungan tetikus" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Membutuhkan tetikus atau alat penunjuk" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Direkomendasikan menggunakan tetikus atau alat penunjuk" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Mendukung tetikus atau alat penunjuk" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Dukungan untuk tetikus atau alat penunjuk tidak diketahui" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Dukungan layar sentuh" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Membutuhkan layar sentuh" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Direkomedasikan menggunakan layar sentuh" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Mendukung layar sentuh" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Dukungan untuk layar sentuh tidak diketahui" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Dukungan ponsel" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Bekerja di ponsel" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Mungkin tidak bekerja optimal di ponsel" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Dukungan desktop" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Bekerja optimal di layar lebar" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s bekerja optimal pada perangkat tertentu" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s bekerja baik pada sebagian besar perangkat" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Buka" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Hapus Pemasangan Aplikasi" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Hapus" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Perbarui" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Hapus" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Pasang %s dari %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Pasang %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Batal" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Membatalkan" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Tombol Sumbang" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "Cari aplikasi terpasang" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Bersihkan pencarian" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Tidak Ada Aplikasi Tersedia" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Coba Cari di Toko" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:114 msgid "Library" msgstr "Pustaka" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "Pembaruan Tertunda" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "Unduhan" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "Baru Dihapus" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "Bersihkan Transaksi Lama" #: src/bz-library-page.blp:277 msgid "Sort Options" msgstr "Opsi Saring" #: src/bz-library-page.blp:336 msgid "Sort By" msgstr "Urutkan" #: src/bz-library-page.blp:350 msgid "Name" msgstr "Nama" #: src/bz-library-page.blp:356 msgid "Size" msgstr "Ukuran" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Tidak ada hasil yang cocok untuk \"%s\" dari aplikasi terpasang" #: src/bz-library-page.c:193 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u Pembaruan Tersedia" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u Aplikasi Terpasang" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Mari Berpartisipasi" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Cek Selengkapnya" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Lisensi Tidak Diketahui" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Dibangun Bersama" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Aplikasi ini dikembangkan secara terbuka oleh komunitas dari seluruh dunia.\n" "\n" "Anda dapat berpartisipasi dan ikut membuatnya lebih baik." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Lisensi aplikasi ini tidak diketahui" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Aplikasi ini dikembangkan secara terbuka oleh komunitas dari seluruh dunia, " "dan dirilis di bawah lisensi %s.\n" "\n" "Anda dapat berpartisipasi membuat aplikasi ini lebih baik." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Aplikasi ini tidak dikembangkan secara terbuka, sehingga hanya pihak " "pengembang yang memahami penuh cara kerjanya. Pengawasan keamanan aplikasi " "ini mungkin lebih sulit, dan statusnya dapat berubah sewaktu-waktu.\n" "\n" "Anda mungkin tidak dapat berkontribusi pada aplikasi ini." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Aplikasi ini dikembangkan di bawah lisensi khusus %s.\n" "\n" "Anda mungkin dapat atau tidak dapat berkontribusi pada aplikasi ini." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Lisensi" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Hubungkan ke Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Terjadi Kesalahan" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "Masuk untuk sinkronkan aplikasi favorit pada semua perangkat Anda" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Selesai" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Halo, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Pilih Berkas Metainfo" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Berkas Metainfo" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Pilih Ikon (Opsional)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Berkas Gambar" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Pratinjau" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Preferensi" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "Koneksi jaringan dibatasi — sinkronisasi data otomatis saat ini dijeda" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Segarkan Langsung" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Saringan Konten" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Sembunyikan Aplikasi Sumber Tertutup" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary apps when browsing and searching" msgstr "Hanya tampilkan aplikasi bersumber terbuka pada hasil cari/jelajah" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Hanya Tampilkan Aplikasi Flathub" #: src/bz-preferences-dialog.blp:40 msgid "Limit search and browse results to apps only available on Flathub" msgstr "Batasi hasil cari/jelajah hanya pada aplikasi dari Flathub" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Hanya Tampilkan Apl Terverifikasi" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Sembunyikan aplikasi tanpa verifikasi Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Sembunyikan Aplikasi Tanpa Dukungan" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Sembunyikan aplikasi yang sudah tidak didukung oleh para pengembangnya" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "Tema Bilah Kemajuan" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Warna Aksen" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Warna Kebanggaan" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Warna Bangga Lesbian" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Warna Bangga Homoseksual Pria" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Warna Bangga Transgender" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Warna Bangga Nonbiner" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Warna Bangga Biseksual" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Warna Bangga Aseksual" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Warna Bangga Panseksual" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Warna Bangga Aromantik" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Warna Bangga Fluiditas Gender " #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Warna Bangga Poliseksual" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Warna Bangga Omniseksual" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Warna Bangga Aromantik-Aseksual" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Warna Bangga Agender" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Warna Bangga Genderqueer" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Warna Bangga Interseks" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Warna Bangga Demigender" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Warna Bangga Biromantik" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Warna Bangga Disabilitas" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Warna Bangga Waria" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Warna Bangga Netrois" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Riwayat Versi" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Riwayat Versi" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Hari Ini" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Kemarin" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d hari lalu" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d minggu lalu" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d bulan lalu" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d tahun lalu" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Versi %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Tidak ada detail untuk rilisan ini" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Info Lebih Lanjut" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Bongkar" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Pasang" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Izin Tidak Jelas" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Izin aplikasi ini tidak diketahui" #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Tidak Ada Izin" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikasi ini sepenuhnya terisolasi" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Akses Jaringan" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Dapat mengakses internet" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Tidak Ada Akses Jaringan" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Tidak dapat mengakses internet" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Akses Perangkat Pengguna" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Dapat mengakses perangkat seperti kamera atau pengontrol mainan" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Tidak Ada Akses Perangkat Pengguna" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "Tidak dapat mengakses perangkat seperti kamera atau pengontrol mainan" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Akses Perangkat Masukan" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Dapat mengakses perangkat masukan" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Akses Mikrofon dan Pemutaran Suara" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "Dapat mengakses mikrofon dan memutar suara tanpa permintaan izin" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Akses Perangkat Sistem" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Dapat mengakses perangkat sistem yang membutuhkan izin lebih lanjut" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Akses Konten Layar" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Dapat mengakses konten dari layar, termasuk jendela aplikasi lain" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Sistem Jendela Lawas" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Selalu menggunakan sistem jendela lawas X11" #: src/safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Izin Sewenang-wenang" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Dapat memperoleh izin sewenang-wenang" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Akses Konfigurasi Pengguna" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Dapat mengakses dan mengubah konfigurasi pengguna" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Akses Baca/Tulis Penuh pada Sistem Berkas" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "" "Memiliki akses baca dan tulis untuk semua data pada sistem perangkat ini" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Akses Baca/Tulis Direktori Rumah" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "" "Memiliki akses baca dan tulis untuk semua data pada direktori Rumah " "perangkat ini" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Akses Baca Penuh dalam Sistem Berkas" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Memiliki akses baca untuk semua data pada sistem perangkat ini" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Akses Baca Direktori Rumah" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "" "Memiliki akses baca untuk semua data pada direktori Rumah perangkat ini" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Akses Baca/Tulis Folder Unduhan" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "" "Memiliki akses baca dan tulis untuk semua data pada direktori Unduhan " "perangkat ini" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Akses Baca Folder Unduhan" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Memiliki akses baca untuk semua data di direktori Unduhan Anda" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Memiliki akses baca dan tulis untuk semua data pada direktori ini" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Memiliki akses baca untuk semua data pada direktori ini" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Tidak Ada Akses Sistem Berkas" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Tidak dapat mengakses sistem berkas sama sekali" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Menggunakan Layanan Sistem" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Dapat meminta data dari layanan sistem di luar portal XDG" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Menggunakan Layanan Sesi" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Dapat meminta data dari layanan sesi di luar portal XDG" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Tidak Ada Akses Layanan" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Tidak dapat mengakses layanan sistem atau sesi non-portal sama sekali" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Pengembang Terverifikasi" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "Pengembang aplikasi ini sudah terverifikasi oleh Flathub" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Kode Proprietari" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Kode sumber aplikasi ini tidak bersifat publik, sehingga aplikasi ini tidak " "dapat diaudit secara independen dan mungkin tidak aman" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Kode Dapat Diaudit" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Kode sumber aplikasi ini bersifat publik dan dapat diaudit secara " "independen, sehingga kemungkinan besar aplikasi ini aman" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Menggunakan Layanan Sistem %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Menggunakan Layanan Sesi %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Menggunakan Layanan %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Dapat melihat layanan di luar portal XDG" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Dapat berkomunikasi dengan layanan di luar portal XDG" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Dapat memiliki layanan di luar portal XDG" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integrasi Menu Global" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Dapat menampilkan opsi aplikasi pada bilah menu global" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integrasi Pengaturan KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Dapat mendeteksi ketika terdapat perubahan konfigurasi desktop KDE" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Pengaturan Global KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Dapat membaca preferensi desktop KDE, seperti font dan tema warna" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Layanan Penyimpanan Sandi" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Dapat menyimpan dan mengambil kata sandi menggunakan penyimpanan kunci sistem" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Layanan Notifikasi Desktop" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Dapat mengirim notifikasi desktop" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integrasi Baki Sistem" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Dapat menampilkan ikon pada baki sistem" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integrasi KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "" "Dapat berinteraksi dengan perangkat yang terkoneksi melalui KDE Connect" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Aplikasi ini memiliki izin yang secara tidak langsung memungkinkannya " "mendapatkan <b>izin sewenang-wenang</b>, melewati isolasi Flatpak.\n" "\n" "Maka aplikasi ini dapat <b>melakukan aksi apapun tanpa isolasi</b>, seperti " "mengakses berkas Anda atau berkomunikasi melalui jaringan internet.\n" "\n" "Anda dapat melihat detail izin lainnya untuk mendapatkan gambaran apa saja " "yang dapat dilakukan aplikasi ini." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Lihat Izin Lainnya" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "ID Aplikasi" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Aplikasi ini menggunakan versi platform aplikasi (SDK) usang dan mungkin " "memiliki gangguan atau kerentanan keamanan yang tak diperbaiki." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "Keamanan" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s aman untuk dipasang" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s tidak memiliki izin berbahaya" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s mungkin aman untuk dipasang" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s mungkin tidak aman untuk dipasang" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s tidak aman untuk dipasang" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Kembali" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Tangkapan Layar Sebelumnya" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "Tangkapan Layar Selanjutnya" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Salin Gambar" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "Kembalikan Skala Tampilan" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Perkecil Tampilan" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "Perbesar Tampilan" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Karosel Tangkapan Layar" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Tidak Ada Tangkapan Layar" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Tampilkan Tangkapan Layar" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "Tangkapan Layar %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "Tangkapan Layar %u" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Saring" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Terverifikasi" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Bebas/Terbuka" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Tidak _Kedaluwarsa" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Sembunyikan aplikasi tanpa dukungan" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Ramah Telepon" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Kategori" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "Cari Aplikasi dan Permainan" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Saringan Pencarian" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Bersihkan Pencarian" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Jelajahi Kategori" #: src/bz-search-page.blp:245 msgid "Categories Unavailable" msgstr "Kategori Tidak Tersedia" #: src/bz-search-page.blp:246 msgid "Search for apps using the search bar above." msgstr "Cari aplikasi menggunakan bilah pencarian di atas. " #: src/bz-search-page.blp:364 msgid "No Applications Found" msgstr "Tidak Ada Aplikasi Tersedia" #: src/bz-search-page.c:248 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Tidak ada hasil untuk \"%s\" di Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Video" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Perkantoran" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Kalender" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Komunikasi" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Seni Lukis" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulator" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Halaman Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Situs Web Proyek" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Pelacak Masalah" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "Pertanyaan Jamak" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Bantuan" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Sumbang" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Terjemahkan" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Kontak" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Kode Sumber" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Berkontribusi" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Berkas Manifes" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Salin Tautan" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Linimasa" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Jumlah Pemasangan:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Dunia" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Sejak 15/4/2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM Pemasangan Total" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2frb Pemasangan Total" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d Pemasangan Total" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Tidak Ada Hasil" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "Pencarian gagal" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Simpan Data Pengguna" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Izinkan pemulihan data & pengaturan personal" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Hapus Semua Data" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Hapus permanen data aplikasi untuk menghemat ruang" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Pasang %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Pilih versi pemasangan. Mungkin membutuhkan pemasangan komponen tambahan" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Mungkin membutuhkan pemasangan komponen tambahan" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Batal" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Pasang" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Hapus %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Pilih versi aplikasi yang akan dihapus." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Setelah dihapus, aplikasi %s tidak akan bisa digunakan." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "\"%s\" memiliki risiko tinggi" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Aplikasi ini memiliki akses penuh pada sistem Anda, termasuk semua <b>file, " "riwayat peramban, kata sandi tersimpan</b>, dan data lainnya. Aplikasi ini " "juga memiliki akses internet, yang memungkinkannya mengirim data Anda ke " "pihak luar. \n" "\n" "Karena kode sumbernya tidak terbuka, aplikasi ini tidak dapat diaudit " "terkait penggunaan izin-izin tersebut." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Aplikasi ini menggunakan sistem jendela lawas X11, yang memungkinkannya " "<b>merekam semua penekanan tombol, mengambil tangkapan layar, dan memantau " "aplikasi lain</b>. Aplikasi ini juga memiliki akses internet, yang " "memungkinkannya mengirim data Anda ke pihak luar.\n" "\n" "Karena kode sumbernya tidak terbuka, aplikasi ini tidak dapat diaudit " "terkait penggunaan izin-izin tersebut." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Tetap Pasang" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Gagal memuat dialog" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Semua aplikasi sudah terpasang." #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Ya" # %u is the number of apps to install, so the strings might have singular and plural versions depend on your language. #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Pasang %u Aplikasi?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Aplikasi berikut akan dipasang, termasuk komponen tambahan jika tersedia" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d komponen tambahan akan dipasang." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Selain itu, komponen tambahan juga akan dipasang." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Pasang Semua" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "Selesai dalam %.02f detik" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Modul Aplikasi" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Tempokerja (Runtime)" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Dalam Antrian" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Selesai" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Dibatalkan" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Terjadi Kesalahan" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Batalkan Proses" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Lihat Rincian" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Tampilkan Info Galat" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s Bebas" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Terjadi Kegagalan" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Ditunda" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Perbarui Semua" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u Tempokerja Baru" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Kelola Sisa Data Pengguna" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "Data Pengguna Tidak Ditemukan" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Data Pengguna" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Hapus Data Pengguna" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "Data aplikasi %s telah dihapus." #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Memuat ulang" #: src/bz-window.blp:90 msgid "Curated" msgstr "Pilihan" #: src/bz-window.blp:102 msgid "Explore" msgstr "Jelajah" #: src/bz-window.blp:129 msgid "Search" msgstr "Cari" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Menu Utama" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Versi terbaru Bazaar telah terpasang!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "Lihat Yang Baru" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "Saat ini Bazaar belum memuat halaman Flathub terbaru" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "Koneksi jaringan dibatasi — pemuatan ulang otomatis dinonaktifkan" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "_Donasi ke Bazaar" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Muat Ulang" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "_Masuk Dengan Flathub" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "_Kelola Sisa Data Pengguna" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_Pengaturan" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_Pintasan Papan Tik" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "_Tentang Bazaar" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_Tutup Bazaar" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Keluar" #. Translators: %s is the title of the current page #: src/bz-window.c:389 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:609 src/bz-window.c:647 msgid "Failed to launch application" msgstr "Gagal menjalankan aplikasi" #: src/bz-window.c:860 msgid "You can't remove Bazaar from Bazaar!" msgstr "Anda tidak dapat menghapus Bazaar dari dalam Bazaar." #: src/bz-window.c:1166 src/bz-window.c:1200 msgid "Can't do that right now!" msgstr "Tunggu hingga Bazaar selesai memuat" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Pemasangan" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navigasi" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Buka Halaman Jelajah" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Buka Halaman Pustaka" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Buka Halaman Pencarian" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Sumber Aplikasi" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Sinkronkan Sumber Aplikasi" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Umum" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Buka Pengaturan" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Tampilkan Pintasan" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Tutup Jendela" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Keluar dari Bazaar" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "_Donasi ke Bazaar ❤️" #~ msgid "User Data Size" #~ msgstr "Ukuran Data Pengguna" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Open App Library" #~ msgstr "Buka Pustaka Aplikasi" #~ msgid "Flathub returned an error" #~ msgstr "Terdapat kesalahan pada Flathub" #~ msgid "Retry Flathub Connection" #~ msgstr "Hubungkan Kembali Flathub" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "Saat ini pemasangan bundel .flatpak belum didukung" #~ msgid "Tags:" #~ msgstr "Label:" #~ msgid "Free" #~ msgstr "Bebas" #~ msgid "Download & Install Application" #~ msgstr "Unduh & Pasang Aplikasi" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "Hubungkan akun Flatpak ke Bazaar untuk mengelola aplikasi favorit Anda." #~ msgid "Delay Search Results" #~ msgstr "Tunda Hasil Pencarian" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "" #~ "Tingkatkan performa pencarian dengan menunda pemuatan istilah pencarian" #~ msgid "Progress Bar" #~ msgstr "Bilah Kemajuan" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Pilihlah tema favorit Anda!" #~ msgid "Vertical Stripes" #~ msgstr "Strip Vertikal" #~ msgid "Display flag colors from left to right" #~ msgstr "Tampilkan warna bendera dari kiri ke kanan" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" #~ msgid "Open Link" #~ msgstr "Buka Tautan" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "Aplikasi Berlabel \"%s\"" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgid "Refresh completed!" #~ msgstr "Penyegaran berhasil!" #~ msgctxt "As in, \"100 Downloads\"" #~ msgid "Downloads" #~ msgstr "Unduhan" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "Muat ulang" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "Bazaar menekankan pentingnya mendukung para pengembang yang telah " #~ "memajukan desktop Linux. Bazaar juga memberi ruang distributor untuk " #~ "melakukan kurasi aplikasi \"pilihan\" untuk pengguna. " #~ msgid "_Synchronize Remotes" #~ msgstr "_Sinkronkan Dengan Server" #~ msgid "Synchronizing..." #~ msgstr "Mengsinkronkan..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "%d entri tersisa..." #~ msgid "Indexing Data..." #~ msgstr "Mengindeks Data..." #~ msgid "Install Other Version" #~ msgstr "Pasang Versi Lain" #~ msgid "Keep Data" #~ msgstr "Simpan Data" #~ msgid "Open App" #~ msgstr "Buka Aplikasi" #~ msgid "Refreshing Store Content" #~ msgstr "Memuat Ulang Konten Bazaar" #~ msgid "No background tasks!" #~ msgstr "Tidak ada proses latar belakang!" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "Keluar" #~ msgid "Nucleus app page" #~ msgstr "Tampilan halaman detail aplikasi" #~ msgid "Close" #~ msgstr "Tutup" #~ msgid "Copy and Close" #~ msgstr "Salin dan Tutup" #~ msgid "Toggle transaction sidebar" #~ msgstr "Tampil/sembunyikan bilah samping transaksi" #~ msgid "Ongoing" #~ msgstr "Saat Ini" #~ msgid "Finished" #~ msgstr "Selesai" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "Telah mentransfer %s sejauh ini" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d Pemutakhiran Tersedia" #~ msgid "Updates Are Available" #~ msgstr "Terdapat Pemutakhiran" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "Aplikasi berikut memiliki pemutakhiran. Apakah anda ingin memasangnya?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "%d tempokerja dan/atau modul tambahan memiliki pemutakhiran. Apakah Anda " #~ "ingin memasangnya?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "" #~ "Selain itu, %d tempokerja dan/atau modul tambahan akan dimutakhirkan." #~ msgid "Update Now" #~ msgstr "Mutakhirkan Sekarang" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "Tampilkan/sembunyikan Manajer Transaksi" #~ msgid "Hide EOL Entries" #~ msgstr "Sembunyikan Aplikasi Tanpa Dukungan" #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "Sembunyikan aplikasi dan dependensi tanpa dukungan mutakhir" #~ msgid "Show Git Forge Star Counts" #~ msgstr "Tunjukkan Jumlah Bintang Repo" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "" #~ "Deteksi dan tampilkan data \"jumlah bintang\" repositori git saat memuat " #~ "halaman detail aplikasi" #~ msgid "Only Show Free Software" #~ msgstr "Sembunyikan Aplikasi Sumber Tertutup" #~ msgid "Hide proprietary software" #~ msgstr "Hanya tampilkan aplikasi dengan lisensi sumber terbuka" #~ msgid "Debounce Search Inputs" #~ msgstr "Tunda Masukan Pencarian" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "" #~ "Tunda masukan saat mengetik untuk mencegah hasil pencarian muncul terlalu " #~ "cepat" #~ msgid "Describes the look of the global progress bar" #~ msgstr "Pilih tampilan bilah kemajuan Bazaar" #~ msgid "Saved Window Dimensions" #~ msgstr "Dimensi Jendela Tersimpan" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "Dimensi jendela saat membuka jendela Bazaar berikutnya" #~ msgid "?" #~ msgstr "?" #, c-format #~ msgid "%s is suitable for toddlers" #~ msgstr "%s cocok untuk usia batita" #~ msgid "--- MB" #~ msgstr "--- MB" #~ msgid "Of the size of human DNA" #~ msgstr "Dari ukuran DNA manusia" #~ msgid "3 billion base pairs" #~ msgstr "3 miliar pasangan basa" #~ msgid "Of the Linux Kernel" #~ msgstr "Dari ukuran kernel Linux" #~ msgid "linux-6.17.tar.xz" #~ msgstr "linux-6.17.tar.xz" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "Dari ukuran RAM dan ROM komputer pemandu Apollo 11" #~ msgid "Total ROM and RAM" #~ msgstr "Pada misi pendaratan manusia pertama di Bulan" #~ msgid "Of the original Super Mario Bros" #~ msgstr "Dari ukuran gim Super Mario Bros asli" #~ msgid "On the NES" #~ msgstr "pada konsol NES" #~ msgid "Of the size of Wikipedia" #~ msgstr "Dari ukuran seluruh artikel Wikipedia" #~ msgid "Without any media" #~ msgstr "Tanpa file media sama sekali" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "Fitur ini sedang dinonaktifkan. Silahkan unduh dan pasang Flatseal untuk " #~ "mengatur perizinan aplikasi. " #~ msgid "Entry Inspector" #~ msgstr "Periksa Masukan" #~ msgid "Serialize" #~ msgstr "Serialisasikan" #~ msgid "Convert to JSON" #~ msgstr "Ubah ke JSON" #~ msgid "More Mobile apps" #~ msgstr "Aplikasi Ponsel lainnya" #~ msgid "We ♥ Games" #~ msgstr "Kami ♥ Main" #~ msgid "Repository Star Count" #~ msgstr "Jumlah Bintang Repositori" #, c-format #~ msgid "%.2fM" #~ msgstr "%.2fM" #, c-format #~ msgid "%.2fK" #~ msgstr "%.2fK" #~ msgid "Bazaar Inspector" #~ msgstr "Pemeriksa Bazaar" #~ msgid "Enable Global Debug Mode" #~ msgstr "Nyalakan Mode Debug Global" #~ msgid "Active Blocklists" #~ msgstr "Daftar Blok Aktif" #~ msgid "Active Curated-Configs" #~ msgstr "Konfigurasi Kurasi Aktif" #~ msgid "All Entry Groups" #~ msgstr "Seluruh Grup Masukan" #~ msgid "Decache and Inspect" #~ msgstr "Hapus Cache dan Periksa" #~ msgid "No Flatpaks Installed" #~ msgstr "Tidak Ada Flatpak Terpasang" #~ msgid "Display Star Count" #~ msgstr "Tunjukkan Jumlah Bintang Repo" #~ msgid "Show the star count of an application's source code repository" #~ msgstr "Tunjukkan jumlah bintang dari repositori sumber aplikasi" #~ msgid "" #~ "Bazaar can fetch and display the star count from an application's source " #~ "code repository on a remote Git forge. \n" #~ " For projects on GitHub, rate limits may cause them not to appear." #~ msgstr "" #~ "Bazaar dapat mengambil dan menampilkan jumlah bintang dari repositori Git " #~ "sumber kode aplikasi.\n" #~ "Untuk aplikasi dari GitHub, terdapat potensi terbatasnya muatan yang " #~ "mungkin menghambat munculnya data ini." #~ msgid "Inspect UI Entry" #~ msgstr "Periksa Masukan Antarmuka" #~ msgid "All Debug Actions" #~ msgstr "Semua Tindakan Debug" #~ msgid "Tasks" #~ msgstr "Proses" #~ msgid "Stop Active Tasks" #~ msgstr "Hentikan Proses Aktif" #~ msgid "No Tasks Yet" #~ msgstr "Tidak ada proses berlangsung" #~ msgid "Sync" #~ msgstr "Sinkronisasi" #~ msgid "Open Bazaar Inspector" #~ msgstr "Buka Pemeriksa Bazaar" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "Kemampuan membuka dan memasang file .flatpak secara lokal segera hadir! " #~ "Saat ini, coba jalankan\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "pada baris perintah." #~ msgid "Resume Current Tasks" #~ msgstr "Lanjutkan Proses Ini" #~ msgid "Pause Current Tasks" #~ msgstr "Jeda Proses Ini" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u unduhan" #~ msgid "Show Animated Background" #~ msgstr "Tampilkan Animasi Latar Belakang" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "Tampilkan animasi ikon latar belakang pada halaman utama" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "Buat ringkasan pendek berkisar antara 10-35 karakter" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Jendela utama Bazaar yang menampilkan Blender" #~ msgid "This flatpak is verified by the original developers of the software." #~ msgstr "Flatpak ini telah diverifikasi oleh pengembang perangkat lunak asli" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore" #~ msgstr "Jill Fiore" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "Konfigurasi kurasi konten Bazaar saat ini belum tersedia. Hubungi sistem " #~ "operasi anda untuk mendukung fitur ini." #~ msgid "Apps Of The Week" #~ msgstr "Aplikasi Minggu Ini" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "" #~ "Jumlah unduhan pada 30 hari terakhir. Klik untuk melihat statistik " #~ "unduhan aplikasi ini." #~ msgid "Remote repo name" #~ msgstr "Nama repo remote" #~ msgid "How the application looks" #~ msgstr "Tampilan aplikasi" #~ msgid "Appearance" #~ msgstr "Tampilan" #~ msgid "Show animated background" #~ msgstr "Tampilkan animasi latar belakang" #~ msgid "Type to filter" #~ msgstr "Ketik untuk mencari" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Sembunyikan aplikasi berlisensi proprietari" #~ msgid "Advanced" #~ msgstr "Opsi Lanjutan" #~ msgid "Match using regular expressions" #~ msgstr "Cocokkan dengan ekspresi reguler (regex)" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "Sembunyikan hasil pencarian dan sortir di balik transisi pemuatan" #~ msgid "Share" #~ msgstr "Bagikan" #~ msgid "Open this link externally" #~ msgstr "Buka tautan ini secara eksternal" #~ msgid "Downloads Over Time" #~ msgstr "Unduhan seiring waktu" #~ msgid "Minimize Lower Bound" #~ msgstr "Perkecil batas bawah" #~ msgid "Maximize Upper Bound" #~ msgstr "Perbesar batas atas" #~ msgid "Installing" #~ msgstr "Sedang dipasang" #~ msgid "Removing" #~ msgstr "Sedang dihapus" #~ msgid "Transactions Will Appear Here" #~ msgstr "Transaksi akan muncul di sini" #~ msgid "Halt the execution of transactions" #~ msgstr "Hentikan proses transaksi" #~ msgid "Browse" #~ msgstr "Telusuri" #~ msgid "View curated applications" #~ msgstr "Lihat aplikasi pilihan" #~ msgid "View the latest on Flathub" #~ msgstr "Lihat yang terbaru dari Flathub" #~ msgid "Up to date!" #~ msgstr "Versi terkini sudah dimuat!" #~ msgid "Confirm Action" #~ msgstr "Konfirmasi Aksi" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Anda akan menghapus Flatpak berikut:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Apakah Anda yakin?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Anda akan memasang Flatpak berikut:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Apakah Anda yakin?" #~ msgid "Resume the execution of transactions" #~ msgstr "Lanjutkan proses transaksi" #~ msgid "Pause the execution of transactions" #~ msgstr "Hentikan sementara proses transaksi" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/it.po������������������������������������������������������������������0000664�0000000�0000000�00000131743�15234476640�0016671�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Italian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Pietro F. <pfwork@tutamail.com>, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-11-11 10:39+0100\n" "PO-Revision-Date: 2025-11-11 11:25+0100\n" "Last-Translator: Pietro F. <pfwork@tutamail.com>\n" "Language-Team: Italian\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 49.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 #: src/bz-window.blp:225 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "" "Aggiunge, rimuove o aggiorna le applicazioni flatpak su questo computer" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Hide EOL Entries" msgstr "Nascondi voci EOL" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "Hide EOL entries and entries depending on them" msgstr "Nascondi voci EOL e voci che dipendono da esse" #: data/io.github.kolunmi.Bazaar.gschema.xml:11 msgid "Show Git Forge Star Counts" msgstr "Mostra il numero di stelle su Git Forge" #: data/io.github.kolunmi.Bazaar.gschema.xml:12 msgid "" "Whether to attempt to detect and show \"star counts\" for projects in the " "full view" msgstr "" "Se tentare di rilevare e mostrare il “numero di stelle” per i progetti nella " "vista completa" #: data/io.github.kolunmi.Bazaar.gschema.xml:16 msgid "Only Show Free Software" msgstr "Mostra solo Free Software" #: data/io.github.kolunmi.Bazaar.gschema.xml:17 msgid "Hide proprietary software when searching" msgstr "nascondi software proprietario durante la ricerca" #: data/io.github.kolunmi.Bazaar.gschema.xml:21 msgid "Show Only Flathub Content" msgstr "Mostra solo i contenuti di Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:22 msgid "Filter search results to only show applications available on Flathub" msgstr "" "Filtra i risultati della ricerca per mostrare solo le applicazioni " "disponibili su Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:26 msgid "Debounce Search Inputs" msgstr "Ricerca senza rimbalzo" #: data/io.github.kolunmi.Bazaar.gschema.xml:27 msgid "Add a delay before searching to prevent instant replies while typing" msgstr "" "Aggiungere un ritardo nell'elaborazione dei dati per evitare risultati " "immediati" #: data/io.github.kolunmi.Bazaar.gschema.xml:45 msgid "Global Progress Bar Theme" msgstr "Tema barra di avanzamento globale" #: data/io.github.kolunmi.Bazaar.gschema.xml:46 msgid "Describes the look of the global progress bar" msgstr "Descrive l'aspetto della barra di avanzamento globale" #: data/io.github.kolunmi.Bazaar.gschema.xml:50 msgid "Saved Window Dimensions" msgstr "Dimensioni finestra salvate" #: data/io.github.kolunmi.Bazaar.gschema.xml:51 msgid "The window dimensions to be used by the next Bazaar window" msgstr "" "Le dimensioni della finestra da utilizzare per la prossima finestra Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "Scopri e installa applicazioni" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A new app store for GNOME with a focus on discovering and installing " "applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "Un nuovo app store per GNOME incentrato sulla ricerca e l'installazione di " "applicazioni e componenti aggiuntivi dai repository remoti Flatpak, in " "particolare Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. " "Bazaar features a \"curated\" tab that can be configured by distributors to " "allow for a more localized experience." msgstr "" "Sottolinea l'importanza di supportare gli sviluppatori che rendono possibile " "il desktop Linux. Bazaar presenta una scheda “Consigliate” che può essere " "configurata dai distributori per consentire un'esperienza piĂą personalizzata." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:29 src/bz-application.c:494 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 msgid "The home page displaying Flathub apps" msgstr "La schermata iniziale che mostra le app di Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Nucleus app page" msgstr "Pagina dell'app Nucleus" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 msgid "Search page" msgstr "Pagina di Ricerca" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:66 msgid "Category page" msgstr "Pagina delle Categorie" #: src/bz-addons-dialog.blp:14 src/bz-full-view.blp:582 msgid "Manage Add-ons" msgstr "Gestisce estensioni" #: src/bz-addons-dialog.c:88 src/bz-transaction-view.blp:212 #: src/bz-window.c:1101 msgid "Remove" msgstr "Rimuovi" #: src/bz-addons-dialog.c:93 src/bz-full-view.blp:289 #: src/bz-transaction-view.blp:186 src/bz-window.c:1077 msgid "Install" msgstr "Installa" #: src/bz-app-size-dialog.c:55 msgid "Of the size of human DNA" msgstr "Delle dimensioni del DNA umano" #: src/bz-app-size-dialog.c:55 msgid "3 billion base pairs" msgstr "3 miliardi di coppie di basi" #: src/bz-app-size-dialog.c:56 msgid "Of the Linux Kernel" msgstr "Del kernel Linux" #: src/bz-app-size-dialog.c:56 msgid "linux-6.17.tar.xz" msgstr "linux-6.17.tar.xz" #: src/bz-app-size-dialog.c:57 msgid "Of the Apollo 11 guidance computer" msgstr "Del computer di bordo dell'Apollo 11" #: src/bz-app-size-dialog.c:57 msgid "Total ROM and RAM" msgstr "ROM e RAM totali" #: src/bz-app-size-dialog.c:58 msgid "Of the original Super Mario Bros" msgstr "Dell'originale Super Mario Bros." #: src/bz-app-size-dialog.c:58 msgid "On the NES" msgstr "Su NES" #: src/bz-app-size-dialog.c:59 msgid "Of the size of Wikipedia" msgstr "Delle dimensioni di Wikipedia" #: src/bz-app-size-dialog.c:59 msgid "Without any media" msgstr "Senza alcun media" #: src/bz-app-size-dialog.blp:43 msgid "--- MB" msgstr "--- MB" #: src/bz-app-size-dialog.blp:53 msgid "Download Size" msgstr "Dimensione Download" #: src/bz-application.c:416 msgid "" "This functionality is currently disabled. It is recommended you download and " "install Flatseal to manage app permissions." msgstr "" "Questa funzionalitĂ  è attualmente disabilitata. Si consiglia di scaricare e " "installare Flatseal per gestire le autorizzazioni delle app." #: src/bz-application.c:479 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:480 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:497 msgid "translator-credits" msgstr "Pietro F. <pfwork@tutamail.com>, 2025" #: src/bz-application.c:1069 msgid "Constructing Flatpak instance..." msgstr "Creazione dell'istanza Flatpak..." #: src/bz-application.c:1086 msgid "Reusing last Flatpak instance..." msgstr "Riutilizzo dell'ultima istanza Flatpak..." #: src/bz-application.c:1111 msgid "Flathub is not registered on this system" msgstr "Flathub non è registrato su questo sistema" #: src/bz-application.c:1114 msgid "" "Would you like to add Flathub as a remote? If you decline, the Flathub page " "will not be available. You can change this later." msgstr "" "Vuoi aggiungere Flathub come repository remoto? Se rifiuti, la pagina " "Flathub non sarĂ  disponibile. Puoi cambiare questa impostazione in un " "secondo momento." #: src/bz-application.c:1119 src/bz-update-dialog.blp:6 msgid "Later" msgstr "Dopo" #: src/bz-application.c:1120 msgid "Add Flathub" msgstr "Aggiungi Flathub" #: src/bz-application.c:1152 msgid "Identifying installed entries..." msgstr "Identificazione delle voci installate..." #: src/bz-application.c:1176 msgid "Receiving Entries" msgstr "Ricezione delle voci" #: src/bz-application.c:1333 #, c-format msgid "%'d of %'d" msgstr "%'d di %'d" #: src/bz-application.c:1346 #, c-format msgid "Waiting for background indexing tasks to catch up..." msgstr "" "In attesa che le attivitĂ  di indicizzazione in background vengano " "completate..." #: src/bz-application.c:1388 #, c-format msgid "Completed initialization in %0.2f seconds" msgstr "Inizializzazione completata in %0.2f secondi" #: src/bz-application.c:1393 src/bz-application.c:1548 msgid "Checking for updates..." msgstr "Controllo degli aggiornamenti..." #: src/bz-application.c:1432 msgid "Synchronizing..." msgstr "Sincronizzazione..." #: src/bz-browse-widget.blp:11 src/bz-flathub-page.blp:19 #: src/bz-full-view.blp:53 src/bz-installed-page.blp:15 src/bz-window.blp:174 msgid "Empty" msgstr "Vuoto" #: src/bz-browse-widget.blp:15 msgid "No Curation" msgstr "Non ci sono Applicazioni Consigliate" #: src/bz-browse-widget.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "Non sono disponibili informazioni sulle app consigliate per questo sistema. " "Ă comunque possibile sfogliare le applicazioni su Flathub" #: src/bz-browse-widget.blp:18 msgid "Browse Flathub" msgstr "Esplora Flathub" #: src/bz-browse-widget.blp:29 src/bz-browse-widget.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "Nessuna connessione" #: src/bz-browse-widget.blp:39 src/bz-flathub-page.blp:40 msgid "Browser" msgstr "Browser" #: src/bz-entry-inspector.blp:5 msgid "Entry Inspector" msgstr "Ispettore delle voci" #: src/bz-entry-inspector.blp:76 msgid "Serialize" msgstr "Serializza" #: src/bz-entry-inspector.blp:80 msgid "Convert to JSON" msgstr "Converti in JSON" #: src/error.c:68 msgid "An Error Occurred" msgstr "Si è verificato un errore" #: src/error.c:89 msgid "Close" msgstr "Chiudi" #: src/error.c:90 msgid "Copy and Close" msgstr "Copia e Chiudi" #: src/bz-featured-tile.blp:88 msgid "App of the Day" msgstr "App del Giorno" #: src/bz-flathub-category.c:66 msgid "Audio & Video" msgstr "Audio & Video" #: src/bz-flathub-category.c:66 msgid "Media" msgstr "Media" #: src/bz-flathub-category.c:66 msgid "More Audio & Video" msgstr "PiĂą Audio & Video" #: src/bz-flathub-category.c:67 msgid "Developer Tools" msgstr "Strumenti per Sviluppatori" #: src/bz-flathub-category.c:67 msgid "Develop" msgstr "Sviluppa" #: src/bz-flathub-category.c:67 msgid "More Developer Tools" msgstr "PiĂą Strumenti per Sviluppatori" #: src/bz-flathub-category.c:68 msgid "Education" msgstr "Educazione" #: src/bz-flathub-category.c:68 msgid "Learn" msgstr "Impara" #: src/bz-flathub-category.c:68 msgid "More Education" msgstr "PiĂą Educazione" #: src/bz-flathub-category.c:69 msgid "Gaming" msgstr "Gaming" #: src/bz-flathub-category.c:69 msgid "Play" msgstr "Gioca" #: src/bz-flathub-category.c:69 msgid "More Gaming" msgstr "PiĂą Gaming" #: src/bz-flathub-category.c:70 msgid "Graphics & Photography" msgstr "Grafica & Fotografia" #: src/bz-flathub-category.c:70 msgid "Create" msgstr "Crea" #: src/bz-flathub-category.c:70 msgid "More Graphics & Photography" msgstr "PiĂą Grafica & Fotografia" #: src/bz-flathub-category.c:71 msgid "Networking" msgstr "Networking" #: src/bz-flathub-category.c:71 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:71 msgid "More Networking" msgstr "PiĂą Networking" #: src/bz-flathub-category.c:72 msgid "Productivity" msgstr "ProduttivitĂ " #: src/bz-flathub-category.c:72 msgid "Work" msgstr "Lavoro" #: src/bz-flathub-category.c:72 msgid "More Productivity" msgstr "PiĂą ProduttivitĂ " #: src/bz-flathub-category.c:73 msgid "Science" msgstr "Scienza" #: src/bz-flathub-category.c:73 msgid "More Science" msgstr "PiĂą Scienza" #: src/bz-flathub-category.c:74 msgid "System" msgstr "Sistema" #: src/bz-flathub-category.c:74 msgid "More System" msgstr "PiĂą Sistema" #: src/bz-flathub-category.c:75 msgid "Utilities" msgstr "UtilitĂ " #: src/bz-flathub-category.c:75 msgid "Tools" msgstr "Strumenti" #: src/bz-flathub-category.c:75 msgid "More Utilities" msgstr "PiĂą UtilitĂ " #: src/bz-flathub-category.c:76 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:142 msgid "Trending" msgstr "In Tendenza" #: src/bz-flathub-category.c:76 msgid "More Trending" msgstr "PiĂą In Tendenza" #: src/bz-flathub-category.c:77 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:175 msgid "Popular" msgstr "Popolari" #: src/bz-flathub-category.c:77 msgid "More Popular" msgstr "PiĂą Popolari" #: src/bz-flathub-category.c:78 src/bz-flathub-page.blp:164 msgid "Recently Added" msgstr "Aggiunte Recentemente" #: src/bz-flathub-category.c:78 src/bz-flathub-page.blp:121 msgid "New" msgstr "Nuove" #: src/bz-flathub-category.c:78 msgid "More New" msgstr "PiĂą Nuove" #: src/bz-flathub-category.c:79 src/bz-flathub-page.blp:153 msgid "Recently Updated" msgstr "Aggiornate Recentemente" #: src/bz-flathub-category.c:79 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Aggiornate" #: src/bz-flathub-category.c:79 msgid "More Updated" msgstr "PiĂą Aggiornate Recentemente" #: src/bz-flathub-category.c:80 msgid "Mobile" msgstr "Mobile" #: src/bz-flathub-category.c:80 msgid "More Mobile" msgstr "PiĂą Mobile" #: src/bz-flathub-category-section.c:132 src/bz-search-widget.c:314 #, c-format msgid "%d applications" msgstr "%d applicazioni" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub non aggiunto" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "Il repository remoto Flathub non è stato trovato in nessuna delle tue " "installazioni Flatpak" #: src/bz-flathub-page.blp:48 msgid "Flathub Unavailable" msgstr "Flathub non disponibile" #: src/bz-flathub-page.blp:49 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "" "Impossibile connettersi a Flathub. Ă comunque possibile gestire e cercare le " "applicazioni." #: src/bz-flathub-page.blp:52 msgid "Search Apps" msgstr "Cerca Applicazioni" #: src/bz-flathub-page.blp:266 msgid "On the go" msgstr "On the go" #: src/bz-flathub-page.blp:278 msgid "Apps for your Linux phones and tablets" msgstr "App per il tuo telefono o tablet Linux" #: src/bz-flathub-page.blp:289 src/bz-flathub-page.blp:324 msgid "More Mobile apps" msgstr "PiĂą App Mobile" #: src/bz-flathub-page.c:204 msgid "Mobile Apps" msgstr "App Mobile" #: src/bz-flatpak-entry.c:554 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Pagina Flathub" #: src/bz-flatpak-entry.c:575 msgctxt "Project URL Type" msgid "Project Website" msgstr "Sito del Progetto" #: src/bz-flatpak-entry.c:579 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Segnala un problema" #: src/bz-flatpak-entry.c:583 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-flatpak-entry.c:587 msgctxt "Project URL Type" msgid "Help" msgstr "Aiuto" #: src/bz-flatpak-entry.c:591 msgctxt "Project URL Type" msgid "Donate" msgstr "Dona" #: src/bz-flatpak-entry.c:597 msgctxt "Project URL Type" msgid "Translate" msgstr "Traduci" #: src/bz-flatpak-entry.c:601 msgctxt "Project URL Type" msgid "Contact" msgstr "Contatta" #: src/bz-flatpak-entry.c:605 msgctxt "Project URL Type" msgid "Source Code" msgstr "Codice Sorgente" #: src/bz-flatpak-entry.c:611 msgctxt "Project URL Type" msgid "Contribute" msgstr "Contribuisci" #: src/bz-full-view.blp:20 src/bz-window.blp:117 src/bz-window.blp:394 msgid "Toggle transaction sidebar" msgstr "Mostra o Nasconde il menu delle operazioni" #: src/bz-full-view.blp:43 src/bz-window.blp:417 msgid "Main Menu" msgstr "Menu Principale" #: src/bz-full-view.blp:57 msgid "No Results" msgstr "Nessun risultato" #: src/bz-full-view.blp:58 msgid "Try a different search query" msgstr "Prova con una ricerca diversa" #: src/bz-full-view.blp:64 src/bz-window.blp:184 msgid "Content" msgstr "Contenuto" #: src/bz-full-view.blp:196 msgid "Verified by the original developers" msgstr "Verificato dagli sviluppatori originali" #: src/bz-full-view.blp:223 msgid "Support" msgstr "Supporta" #: src/bz-full-view.blp:243 msgid "Repository Star Count" msgstr "Numero di stelle del repository" #: src/bz-full-view.blp:273 msgid "Open" msgstr "Apri" #: src/bz-full-view.blp:286 msgid "Download & Install Application" msgstr "Installa questa applicazione" #: src/bz-full-view.blp:301 msgid "Uninstall Application" msgstr "Disinstalla questa applicazione" #: src/bz-full-view.blp:316 msgid "Install Other Version" msgstr "Installa altra versione" #: src/bz-full-view.blp:340 msgid "Size" msgstr "Peso" #: src/bz-full-view.blp:456 msgid "Downloads /mo" msgstr "Download /mo" #: src/bz-full-view.c:284 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-full-view.c:288 #, c-format msgid "%.2fM" msgstr "%.2fM" #. Translators: K is the suffix for thousands #: src/bz-full-view.c:291 #, c-format msgid "%.2fK" msgstr "%.2fK" #: src/bz-full-view.c:300 #, c-format msgid "%d downloads in the last 30 days" msgstr "%'d download negli ultimi 30 giorni" #: src/bz-full-view.c:321 #, c-format msgid "Download size of %s" msgstr "Dimensioni Download di %s" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-full-view.c:331 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-full-view.c:339 msgid "All Ages" msgstr "Tutte le EtĂ " #: src/bz-full-view.c:341 msgid "Age Rating" msgstr "Fascia d'EtĂ " #: src/bz-full-view.c:349 msgid "Suitable for all ages" msgstr "Adatto per tutte le etĂ " #: src/bz-full-view.c:351 #, c-format msgid "Suitable for ages %d and up" msgstr "Adatto per %d anni in sĂą" #: src/bz-full-view.c:375 msgid "Unknown" msgstr "Sconosciuto" #: src/bz-full-view.c:378 msgid "Proprietary Software" msgstr "Software Propietario" #: src/bz-full-view.c:382 #, c-format msgid "Free software licensed under %s" msgstr "Free software sotto licenza %s" #: src/bz-full-view.c:390 msgid "Free" msgstr "Free" #: src/bz-full-view.c:390 msgid "Proprietary" msgstr "Propietario" #: src/bz-full-view.c:410 msgid "Adaptive" msgstr "Adattiva" #: src/bz-full-view.c:410 msgid "Desktop Only" msgstr "Solo Desktop" #: src/bz-full-view.c:416 msgid "Works on desktop, tablets, and phones" msgstr "Funziona su desktop, tablet e telefoni" #: src/bz-full-view.c:417 msgid "May not work on mobile devices" msgstr "Potrebbe non funzionare su dispositvi mobili" #: src/bz-full-view.c:428 msgid "No URL" msgstr "Nessun URL" #: src/bz-full-view.c:446 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Questa applicazione ha una licenza FLOSS, il che significa che il codice " "sorgente può essere controllato per sicurezza." #: src/bz-full-view.c:447 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Questa applicazione ha una licenza proprietaria, il che significa che il " "codice sorgente è sviluppato privatamente e non può essere verificato da una " "terza parte indipendente." #: src/bz-full-view.c:454 msgid "Other Apps by this Developer" msgstr "Altre App di questo Sviluppatore" #: src/bz-full-view.c:456 #, c-format msgid "Other Apps by %s" msgstr "Altre App di %s" #: src/bz-full-view.c:828 msgid "Show Less" msgstr "Mostra di meno" #: src/bz-full-view.c:828 msgid "Show More" msgstr "Mostra di piĂą" #: src/bz-hardware-support-dialog.c:69 msgid "Keyboard support" msgstr "Supporto per le tastiere" #: src/bz-hardware-support-dialog.c:71 msgid "Requires keyboards" msgstr "Richiede le tastiere" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends keyboards" msgstr "Raccomanda le tastiere" #: src/bz-hardware-support-dialog.c:73 msgid "Supports keyboards" msgstr "Supporto per le tastiere" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for keyboards" msgstr "Supporto sconosciuto per le tastiere" #: src/bz-hardware-support-dialog.c:76 msgid "Mouse support" msgstr "Supporto Mouse" #: src/bz-hardware-support-dialog.c:78 msgid "Requires mice or pointing devices" msgstr "Richiede mouse o dispositivi di puntamento" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends mice or pointing devices" msgstr "Raccomanda mouse o dispositivi di puntamento" #: src/bz-hardware-support-dialog.c:80 msgid "Supports mice or pointing devices" msgstr "Supporto per mouse o dispositivi di puntamento" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for mice or pointing devices" msgstr "Supporto sconosciuto per mouse o dispositivi di puntamento" #: src/bz-hardware-support-dialog.c:83 msgid "Touchscreen support" msgstr "Supporto per schermi touchscreen" #: src/bz-hardware-support-dialog.c:85 msgid "Requires touchscreens" msgstr "Richiede schermi touchscreen" #: src/bz-hardware-support-dialog.c:86 msgid "Recommends touchscreens" msgstr "Raccomanda schermi touchscreen" #: src/bz-hardware-support-dialog.c:87 msgid "Supports touchscreens" msgstr "Supporto touchscreen" #: src/bz-hardware-support-dialog.c:88 msgid "Unknown support for touchscreens" msgstr "Supporto sconosciuto per schermi touchscreen" #: src/bz-hardware-support-dialog.c:192 msgid "Mobile support" msgstr "Supporto per dispositivi mobili" #: src/bz-hardware-support-dialog.c:193 msgid "Works on mobile devices" msgstr "Funziona su dispositivi mobili" #: src/bz-hardware-support-dialog.c:193 msgid "May not work well on mobile devices" msgstr "Potrebbe non funzionare su dispositivi mobili" #: src/bz-hardware-support-dialog.c:198 msgid "Desktop support" msgstr "Supporto Desktop" #: src/bz-hardware-support-dialog.c:199 msgid "Works well on large screens" msgstr "Ottimizzato per grandi schermi" #: src/bz-hardware-support-dialog.c:233 #, c-format msgid "%s works best on specific hardware" msgstr "%s funziona al meglio su hardware specifico" #: src/bz-hardware-support-dialog.c:240 #, c-format msgid "%s works on most devices" msgstr "%s funziona sulla maggior parte dei dispositivi" #: src/bz-hardware-support-dialog.blp:6 src/bz-hardware-support-dialog.blp:47 msgid "Hardware Support" msgstr "Supporto Hardware" #: src/bz-inspector.blp:5 msgid "Bazaar Inspector" msgstr "Ispettore di Bazaar" #: src/bz-inspector.blp:22 msgid "Enable Global Debug Mode" msgstr "Abilita ModalitĂ  di Debug globale" #: src/bz-inspector.blp:29 msgid "Active Blocklists" msgstr "Blocklist attive" #: src/bz-inspector.blp:46 msgid "Active Curated-Configs" msgstr "Configurazioni attive per Consigliate" #: src/bz-inspector.blp:64 msgid "All Entry Groups" msgstr "Tutti i gruppi di voci" #: src/bz-inspector.blp:72 msgid "Filter..." msgstr "Filtra..." #: src/bz-inspector.blp:113 msgid "Decache and Inspect" msgstr "Elimina la cache ed Ispeziona" #: src/bz-installed-page.blp:19 msgid "No Flatpaks Installed" msgstr "Nessun Flatpak Installato" #: src/bz-installed-page.blp:25 src/bz-window.blp:319 msgid "Installed" msgstr "Installate" #: src/bz-installed-page.c:406 msgid "Choose an Installation" msgstr "Scegli un installazione" #: src/bz-installed-page.c:409 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with? " msgstr "" "Hai installato piĂą versioni di questa app. Con quale desideri procedere? " #: src/bz-installed-page.c:413 src/bz-window.c:1076 src/bz-window.c:1100 msgid "Cancel" msgstr "Annulla" #: src/bz-license-dialog.c:115 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may not be able to contribute to this app." msgstr "" "Questa app non è sviluppata in modo trasparente, quindi solo i suoi " "sviluppatori sanno come funziona. Potrebbe essere insicura in modi difficili " "da rilevare e potrebbe cambiare senza preavviso o supervisione." #: src/bz-license-dialog.c:124 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Questa app è sviluppata apertamente da una comunitĂ  internazionale.\n" "\n" "Puoi partecipare e contribuire a renderla ancora migliore." #: src/bz-license-dialog.c:135 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the <a href=\"%s\">%s</a> license.\n" "\n" "You can participate and help make it even better." msgstr "" "Questa applicazione è sviluppata apertamente da una comunitĂ  internazionale " "e rilasciata con licenza <a href=\"%s\">%s</a>.\n" "\n" "Puoi partecipare e contribuire a migliorarla." #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Preferenze" #: src/bz-preferences-dialog.blp:23 src/bz-window.blp:334 msgid "Search" msgstr "Cerca" #: src/bz-preferences-dialog.blp:26 msgid "Free Software Only" msgstr "Solo Free Software" #: src/bz-preferences-dialog.blp:27 msgid "Hide proprietary applications from search results" msgstr "Nascondi applicazioni proprietarie dai risultati di ricerca" #: src/bz-preferences-dialog.blp:31 msgid "Flathub Results Only" msgstr "Solo risultati da Flathub" #: src/bz-preferences-dialog.blp:32 msgid "Limit search results to applications only available on Flathub" msgstr "" "Limita i risultati della ricerca alle applicazioni disponibili su Flathub" #: src/bz-preferences-dialog.blp:36 msgid "Delay Search Results" msgstr "Mostra Risultati di Ricerca" #: src/bz-preferences-dialog.blp:37 msgid "Improve results performance by debouncing search terms" msgstr "" "Migliorare le prestazioni dei risultati applicando il debouncing ai termini " "di ricerca" #: src/bz-preferences-dialog.blp:42 msgid "Application Details" msgstr "Dettagli dell'app" #: src/bz-preferences-dialog.blp:45 msgid "Display Star Count" msgstr "Mostra conteggio stelle" #: src/bz-preferences-dialog.blp:46 msgid "Show the star count of an application's source code repository" msgstr "" "Mostra il numero di stelle del repository del codice sorgente di " "un'applicazione" #: src/bz-preferences-dialog.blp:71 msgid "Progress Bar" msgstr "Barra di avanzamento" #: src/bz-preferences-dialog.blp:72 msgid "Choose a theme for the progress bar!" msgstr "Scegli un tema per la barra di avanzamento!" #: src/bz-preferences-dialog.blp:98 msgid "End of Life Apps" msgstr "App Obsolete" #: src/bz-preferences-dialog.blp:101 msgid "Hide EOL Apps" msgstr "Nascondi App obsolete" #: src/bz-preferences-dialog.blp:102 msgid "Hide apps which are no longer supported by their developers" msgstr "Nascondi le app non piĂą supportate dagli sviluppatori" #: src/bz-preferences-dialog.blp:116 msgid "" "Bazaar can fetch and display the star count from an application's source " "code repository on a remote Git forge. \n" " For projects on GitHub, rate limits may cause them not to appear." msgstr "" "Bazaar può recuperare e visualizzare il numero di stelle dal repository del " "codice sorgente di un'applicazione su una piattaforma Git remota.\n" "Per i progetti su GitHub, i limiti di richieste potrebbero impedirne la " "visualizzazione." #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Colore d'accento" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Colori Pride" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Colori lesbian pride" #: src/bz-preferences-dialog.c:35 msgid "Transgender Pride Colors" msgstr "Colori transgender pride" #: src/bz-preferences-dialog.c:36 msgid "Nonbinary Pride Colors" msgstr "Colori nonbinary pride" #: src/bz-preferences-dialog.c:37 msgid "Bisexual Pride Colors" msgstr "Colori bisexual pride" #: src/bz-preferences-dialog.c:38 msgid "Asexual Pride Colors" msgstr "Colori asexual pride" #: src/bz-preferences-dialog.c:39 msgid "Pansexual Pride Colors" msgstr "" "Non sono disponibili informazioni sulla curatela per questo sistema. Ă " "comunque possibile sfogliare le applicazioni su Flathub" #: src/bz-preferences-dialog.c:40 msgid "Aromantic Pride Colors" msgstr "Colori aromantic pride" #: src/bz-preferences-dialog.c:41 msgid "Genderfluid Pride Colors" msgstr "Colori genderfluid pride" #: src/bz-preferences-dialog.c:42 msgid "Polysexual Pride Colors" msgstr "Colori polysexual pride" #: src/bz-preferences-dialog.c:43 msgid "Omnisexual Pride Colors" msgstr "Colori omnisexual pride" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:26 msgid "Version History" msgstr "Cronologia delle Versioni" #: src/bz-releases-list.c:128 #, c-format msgid "Version %s" msgstr "Versione %s" #: src/bz-releases-list.c:153 msgid "No details for this release" msgstr "Nessun dettaglio per questa versione" #: src/bz-rich-app-tile.blp:103 msgid "Get" msgstr "Ottieni" #: src/bz-search-widget.blp:105 msgid "Search Apps, Games, Software" msgstr "Cerca App, Giochi, Software" #: src/bz-search-widget.blp:149 msgid "Categories Unavailable" msgstr "Categorie non disponibili" #: src/bz-search-widget.blp:150 msgid "Search for apps using the search bar above." msgstr "Cerca le app digitando nella barra di ricerca superiore." #: src/bz-search-widget.blp:233 msgid "No Applications Found" msgstr "Nessuna Applicazione Trovata" #: src/bz-search-widget.c:225 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Nessun risultato per \"%s\" in Flathub" #: src/bz-share-list.c:64 msgid "Copied!" msgstr "Copiato!" #: src/bz-share-list.c:116 msgid "Copy Link" msgstr "Copia Link" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "Apri Link" #: src/bz-stats-dialog.blp:26 msgid "Timeline" msgstr "Cronologia" #: src/bz-stats-dialog.blp:31 msgid "Installs:" msgstr "Installazioni:" #: src/bz-stats-dialog.blp:37 msgid "World" msgstr "Mondiale" #: src/bz-transaction-manager.c:1140 #, c-format msgid "Finished in %.02f seconds" msgstr "Finito in %.02f secondi" #: src/bz-transaction-view.blp:94 msgid "App Add-on" msgstr "Estensioni dell'App" #: src/bz-transaction-view.blp:119 msgid "Runtime" msgstr "Runtime" #: src/bz-transaction-view.blp:145 src/bz-transaction-view.blp:171 msgid "Install Size" msgstr "Dimensione di Installazione" #: src/bz-transaction-view.blp:199 src/bz-window.blp:355 msgid "Update" msgstr "Aggiorna" #: src/bz-transaction-view.c:139 #, c-format msgid "Transferred %s so far" msgstr "Trasferito %s finora" #: src/bz-transaction.c:336 msgid "Pending" msgstr "In attesa" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "Installa ora" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "Sono disponibili aggiornamenti" #: src/bz-update-dialog.blp:11 msgid "" "The following applications are eligible for updates. Would you like to " "install them?" msgstr "Le seguenti applicazioni possono essere aggiornate. Vuoi installarle?" #: src/bz-update-dialog.c:134 #, c-format msgid "" "%d runtimes and/or addons are eligible for updates. Would you like to " "install them?" msgstr "" "%d I runtime e/o i componenti aggiuntivi possono essere aggiornati. Vuoi " "installarli?" #: src/bz-update-dialog.c:142 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "Inoltre, verranno aggiornati %d runtime e/o componenti aggiuntivi." #: src/bz-window.blp:66 msgid "Inspect UI Entry" msgstr "Ispeziona voci UI" #: src/bz-window.blp:73 msgid "All Debug Actions" msgstr "Tutte le Azioni di Debug" #: src/bz-window.blp:98 msgid "Tasks" msgstr "AttivitĂ " #: src/bz-window.blp:154 msgid "Stop Active Tasks" msgstr "Interrompi attivitĂ  attive" #: src/bz-window.blp:162 msgid "Clear History" msgstr "Cancella cronologia" #: src/bz-window.blp:178 msgid "No Tasks Yet" msgstr "Nessuna attivitĂ  ancora" #: src/bz-window.blp:293 msgid "Curated" msgstr "Consigliate" #: src/bz-window.blp:306 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:481 msgid "_Donate to Bazaar ❤️" msgstr "_Dona a Bazaar ❤️" #: src/bz-window.blp:486 msgid "_Refresh Content" msgstr "_Ricarica Contenuto" #: src/bz-window.blp:493 msgid "_Preferences" msgstr "_Preferenze" #: src/bz-window.blp:498 msgid "_Keyboard Shortcuts" msgstr "_Scorciatoie da tastiera" #: src/bz-window.blp:503 msgid "_About Bazaar" msgstr "_Info su Bazaar" #: src/bz-window.blp:510 msgid "_Quit Bazaar" msgstr "_Chiude Bazaar" #: src/bz-window.blp:519 msgid "Open Bazaar Inspector" msgstr "Apri Ispettore di Bazaar" #: src/bz-window.c:819 msgid "" "The ability to inspect and install local .flatpak bundle files is coming " "soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "La possibilitĂ  di ispezionare e installare i file bundle .flatpak locali è " "in arrivo! Nel frattempo, provate a eseguire\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "alla riga di comando." #: src/bz-window.c:941 msgid "Can't do that right now!" msgstr "Non posso farlo adesso!" #: src/bz-window.c:1070 #, c-format msgid "Install %s?" msgstr "Installare %s?" #: src/bz-window.c:1073 msgid "May install additional shared components" msgstr "Ă possibile installare componenti condivisi aggiuntivi" #: src/bz-window.c:1092 #, c-format msgid "Remove %s?" msgstr "Rimuovere %s?" #: src/bz-window.c:1096 #, c-format msgid "" "It will not be possible to use %s after it is uninstalled.\n" "\n" "Settings and user data will be kept." msgstr "" "Non sarĂ  possibile usare %s dopo la disinstallazione.\n" "\n" "Le impostazioni e i dati utente verranno conservati." #: src/bz-window.c:1262 msgid "Resume Current Tasks" msgstr "Riprendi attivitĂ  correnti" #: src/bz-window.c:1268 msgid "Pause Current Tasks" msgstr "Sospendi attivitĂ  correnti" #: src/bz-world-map.c:523 #, c-format msgid "%s: %'u downloads" msgstr "%s: %'u download" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "Generali" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Apre la barra di ricerca" #: src/gtk/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Apri le Preferenze" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Refresh" msgstr "Ricarica" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "Mostra o Nasconde menu delle operazioni" #: src/gtk/shortcuts-dialog.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostra scorciatoie da tastiera" #: src/gtk/shortcuts-dialog.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "Esce" #~ msgid "Searching for Blender" #~ msgstr "Ricerca di Blender" #~ msgid "Manage Addons" #~ msgstr "Gestione delle estensioni" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "Azenyr" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Goudarz Jafari" #~ msgstr "Goudarz Jafari" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore (Lumaeris)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "JoĂŁo Victor (Leal)" #~ msgstr "JoĂŁo Victor (Leal)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "KiKaraage" #~ msgstr "KiKaraage" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "LĂ©ane GRASSER" #~ msgstr "LĂ©ane GRASSER" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Marcel MrĂłwka (Microwave)" #~ msgstr "Marcel MrĂłwka (Microwave)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Peter Dave Hello" #~ msgstr "Peter Dave Hello" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Pietro F." #~ msgstr "Pietro F." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shinsei" #~ msgstr "Shinsei" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "camegone" #~ msgstr "camegone" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "" #~ "Avvio recupero delle voci remote facendo riferimento a %d blocklist..." #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "Non è stata fornita alcuna configurazione di contenuti consigliati per " #~ "Bazaar. Per assistenza, contattare il supporto del sistema operativo." #~ msgid "Games" #~ msgstr "Giochi" #~ msgid "Graphics" #~ msgstr "Grafica e Fotografia" #~ msgid "Office" #~ msgstr "ProduttivitĂ " #~ msgctxt "Project URL Type" #~ msgid "Homepage" #~ msgstr "Sito del Progetto" #~ msgid "Share this application" #~ msgstr "Condividi questa applicazione" #~ msgid "Excludes shared components" #~ msgstr "Esclude componenti condivisi" #~ msgid "Source code may not be available" #~ msgstr "Il codice sorgente potrebbe non essere disponibile" #~ msgid "Click for details" #~ msgstr "Clicca per maggiori dettagli" #~ msgid "Repositories" #~ msgstr "Repository" #~ msgid "Open in browser" #~ msgstr "Apri nel browser" #, c-format #~ msgid "%'d Monthly Downloads" #~ msgstr "%'d Download Mensili" #~ msgid "%B %-d, %Y" #~ msgstr "%B %-d, %Y" #~ msgid "%B %-d" #~ msgstr "%B %-d" #~ msgid "Support this application" #~ msgstr "Supporta questa applicazione" #~ msgid "Run this application" #~ msgstr "Avvia questa applicazione" #~ msgid "Run" #~ msgstr "Avvia" #~ msgid "View Store Page" #~ msgstr "Mostra dettagli nello Store" #~ msgid "Git Forge Star Counts" #~ msgstr "Numero di stelle Git Forge" #~ msgid "Not having a GitHub access token may trigger rate limits" #~ msgstr "" #~ "La mancanza di un token di accesso GitHub può causare limiti di velocitĂ " #~ msgid "Show Only Flathub Apps" #~ msgstr "Mostra solo applicazioni da Flathub" #~ msgid "Wait for a brief pause to reduce system load" #~ msgstr "Attendere una breve pausa per ridurre il carico del sistema." #~ msgid "Theme" #~ msgstr "Tema" #~ msgid "Pride Rainbow Flag" #~ msgstr "Bandiera arcobaleno" #~ msgid "Bisexual Flag" #~ msgstr "Bandiera bisessuale" #~ msgid "Asexual Flag" #~ msgstr "Bandiera asessuale" #~ msgid "Share" #~ msgstr "Condividi" #~ msgid "Error Details" #~ msgstr "Dettagli dell'errore" #~ msgid "Transactions" #~ msgstr "Transazioni" #~ msgid "Loading" #~ msgstr "Caricamento" #~ msgid "Browse" #~ msgstr "Esplora" #~ msgid "App View" #~ msgstr "Vista dell'App" #~ msgid "Go Back" #~ msgstr "Vai indietro" #~ msgid "View curated applications" #~ msgstr "Visualizza applicazioni consigliate" #~ msgid "View the latest on Flathub" #~ msgstr "Visualizza le ultime novitĂ  di Flathub" #~ msgid "View installed applications" #~ msgstr "Visualizza applicazioni installate" #~ msgid "_Quit Service" #~ msgstr "_Esce dal servizio" #~ msgid "Up to date!" #~ msgstr "Aggiornato!" #~ msgid "Settings & user data will be kept" #~ msgstr "Le impostazioni e i dati utente saranno conservati" #~ msgid "Calligraphy application page" #~ msgstr "Pagina dell'applicazione Calligraphy" #~ msgid "Download graph for Blender" #~ msgstr "Grafico dei download di Blender" #~ msgid "Open this image in the default image viewer" #~ msgstr "Apri questa immagine nel visualizzatore di immagini di default" #~ msgid "Copy this image to the clipboard" #~ msgstr "Copia questa immagine negli appunti" #~ msgid "App Details" #~ msgstr "Dettagli dell'app" #~ msgid "License" #~ msgstr "Licenza" #~ msgid "Download Statistics" #~ msgstr "Statistiche di Download" #~ msgid "Show Downloads Over Time" #~ msgstr "Mostra download nel tempo" #~ msgid "Remote repo name" #~ msgstr "Nome del repository remoto" #~ msgid "Updated Size" #~ msgstr "Dimensione dell'aggiornamento" #~ msgid "Freed Space" #~ msgstr "Spazio liberato" #~ msgid "Transactions Will Appear Here" #~ msgstr "Le operazioni appariranno qui" #~ msgid "Halt the execution of transactions" #~ msgstr "Ferma l'esecuzione delle operazioni" #~ msgid "Clear all finished transactions" #~ msgstr "Cancella tutte le operazioni completate" #~ msgid "Resume the execution of transactions" #~ msgstr "Riprende l'esecuzione delle operazioni" #~ msgid "Pause the execution of transactions" #~ msgstr "Mette in pausa l'esecuzione delle operazioni" #~ msgid "Downloads Over Time" #~ msgstr "Download nel tempo" #~ msgid "Confirm Action" #~ msgstr "Conferma Azione" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Stai per disinstallare il seguente Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Sei sicuro?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Stai per installare il seguente Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Sei sicuro?" #~ msgid "Apps Of The Week" #~ msgstr "Applicazioni della Settimana" #, c-format #~ msgid "Released %x" #~ msgstr "Rilasciata il %x" #~ msgid "Minimize Lower Bound" #~ msgstr "Minimizzare il limite inferiore" #~ msgid "Maximize Upper Bound" #~ msgstr "Massimizzare il limite superiore" #~ msgctxt "Project URL Type" #~ msgid "VCS Browser" #~ msgstr "Sfoglia il codice sorgente" #~ msgid "Full Application View" #~ msgstr "Vista completa dell'applicazione" #~ msgid "Change what content is shown when viewing applications" #~ msgstr "" #~ "Modifica i contenuti visualizzati durante la visualizzazione delle " #~ "applicazioni" #~ msgid "" #~ "If you do not have an access token, turning this setting on may cause " #~ "GitHub to eventually rate limit you." #~ msgstr "" #~ "Se non disponi di un token di accesso, attivando questa impostazione " #~ "GitHub potrebbe eventualmente limitare la tua velocitĂ  di accesso." #~ msgid "Type to filter" #~ msgstr "Digita per cercare" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Escludi risultati con licenza proprietaria" #~ msgid "Exclude results not originating from Flathub" #~ msgstr "Escludi risultati non provenienti da Flathub" #~ msgid "Advanced" #~ msgstr "Avanzate" #~ msgid "Open this link externally" #~ msgstr "Aprire questo link in un'applicazione esterna" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "Ricevute %'d voci su %'d (%.1f secondi trascorsi)" #~ msgid "Finished Tasks" #~ msgstr "Operazioni Completate" #, c-format #~ msgid "%s to install" #~ msgstr "%s da installare" #~ msgid "Open in Image Viewer" #~ msgstr "Apri nel Visualizzatore Immagini" #~ msgid "Installing" #~ msgstr "Installazione" #~ msgid "Updating" #~ msgstr "Aggiornamento" #~ msgid "Removing" #~ msgstr "Rimozione" #~ msgid "Show Animated Background" #~ msgstr "Mostra sfondo animato" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "Mostrare o nascondere lo sfondo animato sulla pagina iniziale" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "" #~ "Il numero di download negli ultimi 30 giorni. Clicca per vedere le " #~ "statistiche." #~ msgid "This application does not provide a donation link" #~ msgstr "Questa applicazione non fornisce un link per le donazioni" #~ msgid "Edit Permissions" #~ msgstr "Modifica le autorizzazioni" #, c-format #~ msgid "" #~ "\"%s\" does not provide a donations link. This does not mean you cannot " #~ "support them! Try looking at their <a href=\"%s\">project page</a> for " #~ "more information." #~ msgstr "" #~ "“%s” non fornisce un link per le donazioni. Ciò non significa che non " #~ "puoi sostenerli! Prova a consultare la loro <a href=\"%s\">pagina del " #~ "progetto</a> per ulteriori informazioni." #, c-format #~ msgid "" #~ "\"%s\" does not provide a donations link. This does not mean you cannot " #~ "support them! Try finding their project page for more information." #~ msgstr "" #~ "“%s” non fornisce un link per le donazioni. Ciò non significa che non " #~ "puoi sostenerli! Prova a cercare la pagina del loro progetto per " #~ "ulteriori informazioni." #~ msgid "How the application looks" #~ msgstr "Aspetto dell'applicazione" #~ msgid "Appearance" #~ msgstr "Aspetto" #~ msgid "Show animated background" #~ msgstr "Mostra sfondo animato" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "Mantenere la descrizione breve, tra i 10 e i 35 caratteri." #~ msgid "No description" #~ msgstr "Nessuna descrizione" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Finestra principale di Bazaar nella pagina di Blender" #~ msgid "Match using regular expressions" #~ msgstr "Corrispondenza tramite espressioni regolari" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "" #~ "Nascondere il filtro e l'ordinamento con un effetto di dissolvenza " #~ "incrociata" �����������������������������bazaar-org-bazaar-917017d/po/ja.po������������������������������������������������������������������0000664�0000000�0000000�00000434524�15234476640�0016652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# SPDX-FileCopyrightText: 2025 Japanese translations for bazaar package # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025 camegone <hoge_huga@example.com> msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-29 14:19+0900\n" "PO-Revision-Date: 2026-07-29 17:12+0900\n" "Last-Translator: camegone <hoge_huga@example.com>\n" "Language-Team: Japanese <kde-i18n-doc@kde.org>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" #: data/io.github.kolunmi.Bazaar.desktop.in:3 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "App Store" msgstr "アă—ăŞă‚ąăア" #: data/io.github.kolunmi.Bazaar.desktop.in:5 msgid "Add, remove or update flatpak software on this computer" msgstr "Flatpakă®ă‚˝ă•ăウェアをă“ă®ă‚łăłă”ăĄăĽă‚żăĽă«čż˝ĺŠ ă€ĺ‰Šé™¤ă—ăľă™" #: data/io.github.kolunmi.Bazaar.desktop.in:11 msgid "System;Package;Manager;Discover;Flatpak;Software;App;Store;" msgstr "" #: data/io.github.kolunmi.Bazaar.desktop.in:18 msgid "New Window" msgstr "ć–°ă—ă„ウィăłă‰ă‚¦" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłă‚’検索ă—ăźă‚Šă€ç®ˇç†ă—ăźă‚Šă™ă‚‹" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Linux 用ă®é«é€źă§ă˘ă€ăłăŞă‚˘ă—ăŞă‚ąăアă§ă™ă€‚Flatpak ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚„アă‰ă‚Ş" "ăłă‚’検索ă€ă‚¤ăłă‚ąăăĽă«ă™ă‚‹ă“ă¨ă«ç‰ąĺŚ–ă—ă¦ă„ă¦ă€ä¸»ă« Flathub ă‚’ĺ©ç”¨ă—ăľă™ă€‚" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "ă€ă‚¦ăłă­ăĽă‰ă‚żă‚ąă‚Żă‚’ă‚­ăĄăĽă«ĺ…Ąă‚Śă¦ă€ă–ă©ă‚¦ă‚¸ăłă‚°ă‚’続行ă—ă‚ă†" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "ç°ˇĺŤă«ă‚˘ă—ăŞă®ć¨©é™ă‚’表示ă—ă¦ă€ç·¨é›†ă™ă‚‹" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Flathub ă«ă­ă‚°ă‚¤ăłă—ă¦ăŠć°—ă«ĺ…Ąă‚Šă‚’管ç†ă€čˇ¨ç¤şă™ă‚‹" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "GNOME ă‚·ă‚§ă«ă‹ă‚‰ç›´ćŽĄć¤śç´˘ă™ă‚‹" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Flathub ă®ă‚˘ă—ăŞă‚’表示ă—ă¦ă„ă‚‹ă›ăĽă ăšăĽă‚¸" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Exhibit ă®ă‚˘ă—ăŞăšăĽă‚¸" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "ă©ă‚¤ă–ă©ăŞăĽăšăĽă‚¸" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "検索ăšăĽă‚¸" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "ă‚«ă†ă‚´ăŞăĽăšăĽă‚¸" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:79 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:101 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:162 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:187 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:212 msgid "<em>New Features</em>" msgstr "<em>新機č˝</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:83 msgid "Added a \"Similar Apps\" section" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:85 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:111 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:248 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:278 msgid "<em>Bug Fixes</em>" msgstr "<em>ăグ修正</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:89 msgid "Fixed a crash when opening a second window while logged in" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:90 msgid "Only start on the Curated section if it is not empty" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:91 msgid "" "Stopped the carousel from changing the layout while screenshots are loading" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:93 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:117 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:135 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:154 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:179 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:204 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:229 msgid "Thanks for reading, and have a great day!" msgstr "読んă§ăŹă‚Śă¦ă‚りăŚă¨ă†! 良ă„一日を!" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:105 msgid "Added three new tabs to the \"We ❤️ Games\" section" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:106 msgid "App links can now span two columns" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:107 msgid "Improved the apps startup time" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:108 msgid "Improved the image viewer opening animation" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:109 msgid "Made many accessibility improvements" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:115 msgid "" "Fixed an issue where the app page would sometimes not update when busy " "refreshing" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:125 msgid "<em>Maintenance Release</em>" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:129 msgid "Add mobile search filter" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:130 msgid "Fix infinite fetching of user data folder size" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:131 msgid "Add Network subcategories" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:132 msgid "Remove tag list SEO-ism" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:133 msgid "Rework some UI components" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:143 msgid "" "Hot fix for an issue where updates would not show. Also adds a cancel button " "to the app tiles on the search page." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:146 msgid "<em>Other Fixes</em>" msgstr "<em>ăťă®ä»–ă®äż®ć­Ł</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:150 msgid "Fix Flathub page svg graphics being rendered with a solid fill" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:151 msgid "Disable broken graphs for very new Flathub apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:152 msgid "Add workaround for KRunner sending broken app IDs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:166 msgid "Add support for installing (.flatpak) bundles" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:167 msgid "New progress indicators" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:168 msgid "The ability to view and delete app caches" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:170 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:195 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:222 msgid "<em>Fixes</em>" msgstr "<em>ăグ修正</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:174 msgid "" "Fix the download context tile not displaying a label for non-Flathub apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:175 msgid "Reduce RAM usage when no windows are open" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:176 msgid "" "Fix an issue where a window could open at the wrong size while a transaction " "was running" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:177 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:202 msgid "Many other bug fixes" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:191 msgid "Add support for previewing metainfo files" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:192 msgid "Show total installed apps number in the library view" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:193 msgid "Make exported desktop search provider app icon sizes adjustable" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:199 msgid "Fix download timeline graph rerendering too much" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:200 msgid "Fix animated widget ticks not being in sync with fps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:201 msgid "Fix progress animation for vertical pride flag stripes" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:216 msgid "Rework the add-ons dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:217 msgid "Add a gradient under the download timeline" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:218 msgid "Add a filter button to the search page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:219 msgid "Add a button to show the EULA for some proprietary apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:220 msgid "Make the names of verified developers clickable links" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:226 msgid "Fix the colours of the update card" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:227 msgid "Make the update banner follow the accent colour" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:237 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:269 msgid "<em>Changes</em>" msgstr "<em>変更点</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:241 msgid "Update to GNOME 50 Runtime" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:242 msgid "Force Adwaita icon theme to ensure consistency" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:243 msgid "Add support for clickable links in app descriptions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:244 msgid "" "Add timed lingering cache to async textures, thereby reducing image " "flickering" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:245 msgid "Add ability to sort installed apps by size in library view" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:246 msgid "Add BAZAAR_N_DOWNLOAD_WORKERS envvar support" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:252 msgid "Fix double shadow around update cards" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:253 msgid "Fix global progress button displaying a focus ring when invisible" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:254 msgid "Fix incorrect total size displayed on update tasks" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:255 msgid "Fix empty UI when Flathub hasn't finished syncing yet" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:257 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:287 msgid "Thanks for reading and have a great day!" msgstr "読んă§ăŹă‚Śă¦ă‚りăŚă¨ă†! 良ă„一日を!" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:265 msgid "" "This release contains many technical improvements. This changelog reflects " "roughly 2 weeks of work." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:273 msgid "Respect system parental controls settings" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:274 msgid "" "Reap download workers when all windows are closed, reducing total memory " "usage" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:275 msgid "Add mnemonics to full app view" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:276 msgid "Many updates to language translations" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:282 msgid "Fix broken library page when backing installed apps model is empty" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:283 msgid "" "Fix int casting bug that was causing RetroDeck to appear to be 18.4 exabytes" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:284 msgid "Make \"all apps\" category pages respect global filters" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:285 msgid "Fix some text wrapping issues" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:295 msgid "This release fixes some bugs and greatly improves search functionality." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:299 msgid "" "If you missed the previous release, in 0.7.9 we also added the ability to " "cancel transactions in the library view, a brand new screenshots carousel, " "search suggestion buttons, and app runtime size information. You can also " "now skip confirmation dialogs by holding shift as you start a transaction." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:306 msgid "Thanks for reading!" msgstr "読んă§ăŹă‚Śă¦ă‚りăŚă¨ă†!" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:314 msgid "**New Features**" msgstr "**新機č˝**" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:316 msgid "Search suggestion pills" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:317 #, fuzzy msgid "**Cancel installation** transactions" msgstr "現在進行中ă®ă€ă‚¦ăłă­ăĽă‰ă‚’ĺść­˘" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:318 msgid "Skip dialogs by pressing shift" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:319 msgid "Runtime size info for app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:321 msgid "**Updated**" msgstr "**更新点**" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:323 msgid "Redesigned \"What's New\" dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:324 msgid "Improved search results by utilizing Flathub rankings" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:325 #, fuzzy msgid "Improved screenshots carousel" msgstr "スクăŞăĽăłă‚·ă§ăă ă‚«ă«ăĽă‚»ă«" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:332 msgid "" "This release lets you view and remove user-scoped installed apps from the " "library page in the Flatpak version of the app. Installing from user remotes " "is not supported yet." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:341 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:355 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:377 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:389 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:410 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:429 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:460 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:471 msgid "This release comes with the following improvements:" msgstr "ă“ă®ăŞăŞăĽă‚ąă«ăŻä»Ąä¸‹ă®ć”ąĺ–„点ăŚĺ«ăľă‚Śă¦ă„ăľă™:" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:343 msgid "Merges the task sidebar and install page into the library page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:344 msgid "Add installed version numbers of each app on the library and app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:345 #, fuzzy msgid "Add donations dialog" msgstr "年齢ă¬ăĽă†ă‚Łăłă‚°ă€ă‚¤ă‚˘ă­ă‚°" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:346 msgid "Fix broken add-on and runtime eol detection" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:347 msgid "Add `enable-bulk-install` key to curated sections" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:348 msgid "Add `override-eol-markings` main config string list" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:357 msgid "Improve context dialogs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:358 msgid "Fix leftover data bar being shown prematurely" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:359 msgid "Have a rotation toggle for flags" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:360 msgid "Add hard check to prevent removing Bazaar flatpak" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:361 #, fuzzy msgid "Improve download statistics tooltips" msgstr "ă€ă‚¦ăłă­ăĽă‰ă®çµ±č¨" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:362 msgid "Add read support for flatpak bundles" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:363 msgid "Fix critical output sometimes during transactions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:364 msgid "Fix error popover refusing to spawn in transaction sidebar" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:371 msgid "Minor bugfix release" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:379 msgid "Fix issue where installed page is empty on opening second window" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:380 msgid "Fix screenshot flickering in search results" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:381 msgid "Fix pride flags sometimes not showing on certain locales" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:382 msgid "Add \"Install all\" to favorites page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:391 msgid "Trash user data instead of deleting" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:392 msgid "Tweaks to permissions dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:393 msgid "Fix broken EOL filtering" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:394 msgid "Add text filter to installed page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:395 msgid "" "Add optional translations mappings for string properties in YAML configs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:396 msgid "Hide EOL apps by default" msgstr "更新終了ă®ă‚˘ă—ăŞă‚’ă‡ă•ă‚©ă«ăă§éťžčˇ¨ç¤ş" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:397 msgid "Many other minor bug fixes and improvements" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:404 msgid "" "This small release ensures the new icon is rendered correctly on KDE Plasma." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:412 msgid "New market stall icon" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:413 msgid "Remove Flathub styling" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:414 msgid "Add horizontal versions of pride flags" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:415 msgid "Text selection in app descriptions can be made across paragraph breaks" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:416 msgid "Support YAML anchors and aliases in config parsing" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:417 msgid "" "Drastically reduce disk cache writes over time by skipping unchanged entries" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:418 msgid "Show background status in popover" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:419 msgid "Add app permission system" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:420 msgid "Add back release URLs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:421 msgid "Fix sync-remotes action in shortcut dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:422 msgid "Fix visual hiccups in comet animations" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:431 msgid "Flathub account support with the ability to manage bookmarks" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:432 msgid "" "Flathub bookmarks replace star count; you can add or remove bookmarks from " "app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:433 msgid "An \"Only Show Verified\" option" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:434 msgid "Exhaustive category pages for most categories" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:435 msgid "An \"Adwaita\" or \"KDE\" category shown based on desktop environment" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:436 msgid "Updated installed indicator for app tiles" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:437 msgid "3 new flag options" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:438 msgid "Fixed GNOME search provider to show the app page instead of search" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:439 msgid "" "Fixed issue where flatpakref URIs did not open when the app wasn't running " "in the background" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:440 msgid "" "Fixed issue where some proprietary apps were marked as \"Special License\"" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:441 msgid "Fixed issue where graphs did not work with touch" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:448 msgid "" "Another quick release to restore alphabetical sorting on the installed page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:454 msgid "Quick release to allow manual refresh if flathub is being flaky" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:462 msgid "" "Fix frequent disk writes; set refresh frequency to 1 day rather than 1 hour" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:463 msgid "Add \"Delete User Data\" option when uninstalling an app" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:464 msgid "Version cache to prevent incompatibility between Bazaar versions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:473 msgid "" "Reworked loading to be substantially faster after first start via async " "loading" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:474 msgid "A gaming section on the Flathub page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:475 msgid "Improved UI on mobile, especially on app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:476 msgid "Verified badges next to most places where apps are shown" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:477 msgid "A popover that explains what verification and non-verification mean" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:478 msgid "An \"other apps by\" page for when a developer has more than 6 apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:479 msgid "Tags that show other apps with the same tag when pressed" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:480 msgid "An age rating dialog" msgstr "年齢ă¬ăĽă†ă‚Łăłă‚°ă€ă‚¤ă‚˘ă­ă‚°" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:481 msgid "Changed search filters into global content filters" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:482 msgid "5 new pride flags" msgstr "" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "ć›´ć–°ă®ćŹäľ›çµ‚了" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "アăłă‚¤ăłă‚ąăăĽă«" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "イăłă‚ąăăĽă«" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "アă‰ă‚Şăłă‚’管ç†ă™ă‚‹" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "表示ă§ăŤă‚‹ă‚˘ă‰ă‚ŞăłăŚă‚りăľă›ă‚“" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "現在ă®ă•ィă«ă‚żăĽă®č¨­ĺ®šă§ăŻă€ĺ…¨ă¦ă®çŹľĺ­ă™ă‚‹ă‚˘ă‰ă‚ŞăłăŚéťžčˇ¨ç¤şă«ăŞăŁă¦ă„ăľă™ă€‚設" "定を変更ă—ă¦ă‚‚ă†ä¸€ĺş¦ăŠč©¦ă—ăŹă ă•ă„。" #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "アă‰ă‚Şăł ăšăĽă‚¸" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:408 msgid "Downloads/Month" msgstr "ćśă‚ăźă‚Šă®ă€ă‚¦ăłă­ăĽă‰ć•°" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:444 msgid "Stopped Receiving Core Updates" msgstr "コアアăă—ă‡ăĽăă®ćŹäľ›çµ‚了" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "ă“ă®ă‚˘ă‰ă‚ŞăłăŻć›´ć–°ă‚„セキăĄăŞă†ă‚Łäż®ć­Łă®ćŹäľ›ăŚçµ‚了ă—ăźă©ăłă‚żă‚¤ă ă‚’使用ă—ă¦ă„ăľ" "ă™ă€‚ 将来的ă«ä˝żç”¨ă™ă‚‹ă“ă¨ăŚĺ®‰ĺ…¨ă§ăŞăŹăŞă‚‹ĺŹŻč˝ć€§ăŚă‚りăľă™ă€‚" #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "%s 用ă®ă‚˘ă‰ă‚Şăł" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "ćŠă‚Šç•łă‚€" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "ă€ă‚¦ăłă­ăĽă‰çжㅋ" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:187 #: src/context-tile-callbacks.c:194 msgid "Age Rating" msgstr "年齢ă¬ăĽă†ă‚Łăłă‚°" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "ă‚«ăĽăゥăĽăłčŞżă®ćš´ĺŠ›" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "ă‚«ăĽăゥăĽăłčŞżă®ćš´ĺŠ›ă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "ă•ァăłă‚żă‚¸ăĽé˘¨ă®ćš´ĺŠ›" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "ă•ァăłă‚żă‚¸ăĽé˘¨ă®ćš´ĺŠ›ă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "ăŞă‚˘ă«ăŞćš´ĺŠ›" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "ăŞă‚˘ă«ăŞćš´ĺŠ›ă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "ćµčˇ€čˇ¨çŹľă‚’ĺ«ă‚€ćš´ĺŠ›" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "ćµčˇ€čˇ¨çŹľă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "性的暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "性的暴力ă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "アă«ă‚łăĽă«" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "アă«ă‚łăĽă«ă«é–˘ă™ă‚‹ćŹŹĺ†™ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "麻薬" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "麻薬ă«é–˘ă™ă‚‹ćŹŹĺ†™ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "タăコ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "タăコă«é–˘ă™ă‚‹ćŹŹĺ†™ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "ăŚăĽă‰" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "ă‚らゆるăŚăĽă‰ćŹŹĺ†™ă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "性的ăŞă†ăĽăž" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "性的ăŞč¦ç´ ă‚„描写ă«é–˘ă™ă‚‹ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "不é©ĺ‡ăŞč¨€č‘‰" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "ă‚らゆる不é©ĺ‡ăŞč¨€č‘‰ă€čˇŚĺ‹•ă«é–˘ă™ă‚‹ćŹŹĺ†™ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "不é©ĺ‡ăŞă¦ăĽă˘ă‚˘" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "不é©ĺ‡ăŞă¦ăĽă˘ă‚˘ă«ĺŹŤă™ă‚‹ćŹŹĺ†™ăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "ĺ·®ĺĄ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "ă‚らゆる差ĺĄçš„ăŞč¨€č‘‰ă«é–˘ă™ă‚‹ćŹŹĺ†™ăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "ĺşĺ‘Š" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "ă‚らゆるĺşĺ‘ŠăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "ă‚®ăŁăłă–ă«" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "ă‚らゆる種類ă®ă‚®ăŁăłă–ă«ćŹŹĺ†™ăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "購入" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "ăŠé‡‘を払ă†ă“ă¨ăŚă§ăŤă‚‹ă‹ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "ă¦ăĽă‚¶ăĽĺŚĺŁ«ă®ăăŁăă" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "ä»–ă®ă¦ăĽă‚¶ăĽă¨ăăŁăăă‚’ă™ă‚‹ć–ąćł•ăŚă‚ă‚‹ă‹ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "ă¦ăĽă‚¶ăĽĺŚĺŁ«ă®ăśă‚¤ă‚ąăăŁăă" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "ä»–ă®ă¦ăĽă‚¶ăĽă¨äĽšč©±ă‚’ă™ă‚‹ć–ąćł•ăŚă‚ă‚‹ă‹ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "連絡ĺ…" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "SNS ă®ă¦ăĽă‚¶ăĽăŤăĽă ă‚„ă€e-ăˇăĽă«ă‚˘ă‰ă¬ă‚ąă‚’共有ă™ă‚‹ă“ă¨ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľ" "ă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "特定可č˝ăŞć…ĺ ±" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "ă¦ăĽă‚¶ăĽă®ć…報を第三者ă¨ĺ…±ćś‰ă™ă‚‹ă“ă¨ă«é–˘ă—ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "位置ć…ĺ ±ă®ĺ…±ćś‰" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "ä»–ă®ă¦ăĽă‚¶ăĽă¨ç‰©ç†çš„ăŞä˝Ťç˝®ć…報を共有ă™ă‚‹ă“ă¨ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "売ćĄ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "売ćĄă«é–˘ă™ă‚‹ćŹŹĺ†™ă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "姦通" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "姦通 (不倫) ă«é–˘ă™ă‚‹ćŹŹĺ†™ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "性的特徴ä»ă‘られăźă‚­ăŁă©ă‚Żă‚żăĽ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "性的特徴ä»ă‘られăźă‚­ăŁă©ă‚Żă‚żăĽă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "冒涜" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "" "冒涜的ăŞćŹŹĺ†™ăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă®ĺ†’ć¶śçš„ăŞćŹŹĺ†™ăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "äşşă®ć­»ä˝“" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "äşşă®ć­»ä˝“ă«é–˘ă™ă‚‹čˇ¨ç¤şă«ă¤ă„ă¦ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "奴隷ĺ¶ĺş¦" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "奴隷ă«é–˘ă™ă‚‹ćŹŹĺ†™ăŚĺ«ăľă‚Śă¦ă„ă‚‹ă‹ă®ć…ĺ ±ăŻă‚りăľă›ă‚“" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "ă‰ă©ăă‚°ă®ćŹŹĺ†™ăŻĺ«ăľă‚Śă¦ă„ăľă›ă‚“" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "汚ă„言葉や不é©ĺ‡ăŞč¨€č‘‰ă€äą±ćš´ăŞč¨€č‘‰ăŻĺ«ăľă‚Śă¦ă„ăľă›ă‚“" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "ĺşĺ‘Šă‚„アă—ăŞĺ†…ă§ă®ĺŹ–ĺĽ•ăŻĺ«ăľă‚Śă¦ă„ăľă›ă‚“" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "性的描写やăŚăĽă‰ăŻĺ«ăľă‚Śă¦ă„ăľă›ă‚“" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "無ĺ¶é™ă®ăăŁăă機č˝ăŻĺ«ăľă‚Śă¦ă„ăľă›ă‚“" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "暴力描写ăŻĺ«ăľă‚Śă¦ă„ăľă›ă‚“" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "ă‰ă©ăă‚°" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "乱暴ăŞč¨€č‘‰" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "ăŠé‡‘" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "ă‚˝ăĽă‚·ăŁă«" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "暴力" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:177 #, c-format msgid "%d+" msgstr "" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "全年齢" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s ă®ĺą´é˝˘ă¬ăĽă†ă‚Łăłă‚°ăŻä¸ŤćŽă§ă™" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s ăŻĺ…¨ă¦ă®ĺą´é˝˘ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s ăŻĺ°Źă•ăŞĺ­äľ›ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s ăŻĺ­äľ›ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s ăŻă†ă‚ŁăĽăłă‚¨ă‚¤ă‚¸ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s ăŻĺ¤§äşşă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s 㯠%s ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "シスă†ă ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "ă›ăĽă ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "ă›ă‚ąăシスă†ă ă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "/etc ă‡ă‚Łă¬ă‚ŻăăŞă«ă‚ă‚‹ă›ă‚ąăシスă†ă ă®č¨­ĺ®š" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "ă‡ă‚ąă‚Żăăă—内ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "ă‡ă‚ąă‚Żăăă—ă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "ă‰ă‚­ăĄăˇăłă内ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "ă‰ă‚­ăĄăˇăłăă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "ăźăĄăĽă‚¸ăク内ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "ăźăĄăĽă‚¸ăクă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "ă”クăăŁĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "ă”クăăŁă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "公開ă•ă‚©ă«ă€ăĽĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "公開ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "ă“ă‡ă‚Şĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "ă“ă‡ă‚Şă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "ă†ăłă—ă¬ăĽă内ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "ă†ăłă—ă¬ăĽăă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "ă¦ăĽă‚¶ăĽă‚­ăŁăă‚·ăĄĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "ă¦ăĽă‚¶ăĽă®ă‚­ăŁăă‚·ăĄă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "ă¦ăĽă‚¶ăĽč¨­ĺ®šĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "ă¦ăĽă‚¶ăĽč¨­ĺ®šă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "ă¦ăĽă‚¶ăĽă©ăłă‚żă‚¤ă ĺ†…ă®ă‚µă–ă•ă‚©ă«ă€ăĽ %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "ă¦ăĽă‚¶ăĽă©ăłă‚żă‚¤ă ă®ă•ă‚©ă«ă€ăĽ" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "%s ă¸ă®ă•ァイă«ă‚·ă‚ąă†ă  アクセス" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "不ćŽăŞă•ァイă«ă‚·ă‚ąă†ă ă®ă‘ス" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "ă€ă‚¦ăłă­ăĽă‰ă‚µă‚¤ă‚ş" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "イăłă‚ąăăĽă«ć¸ăżă®ă‚µă‚¤ă‚ş" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "イăłă‚żăĽăŤăăă‹ă‚‰ă€ă‚¦ăłă­ăĽă‰ă™ă‚‹ă‡ăĽă‚żă®é‡Ź" #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "ă‡ă‚Łă‚ąă‚Żä¸Šă®ă‚µă‚¤ă‚ş" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă®ă•ă‚©ă«ă€ăĽă‚’é–‹ăŹ" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "ă‚ăŞăźă®ă¦ăĽă‚¶ăĽă‡ăĽă‚ż" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "ă‚­ăŁăă‚·ăĄă‚„設定ă€ăťă®ä»–ă®ă‚˘ă—ăŞă‡ăĽă‚ż" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "ă‚­ăŁăă‚·ăĄ" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "一時的ăŞă‚­ăŁăă‚·ăĄă‡ăĽă‚ż" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "ă‚­ăŁăă‚·ăĄă‚’削除" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "イăłă‚ąăăĽă«ć¸ăżă©ăłă‚żă‚¤ă ă®ă‚µă‚¤ă‚ş" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "ă©ăłă‚żă‚¤ă ă®ă€ă‚¦ăłă­ăĽă‰ă‚µă‚¤ă‚ş" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:394 #: src/context-tile-callbacks.c:416 msgid "N/A" msgstr "ĺ©ç”¨ä¸Ťč˝" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "アă—ăŞă®ă‚µă‚¤ă‚ş" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "認証ć¸ăż" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:136 msgid "Installed" msgstr "イăłă‚ąăăĽă«ć¸ăż" #: src/bz-application.c:766 msgid "The Bazaar Contributors" msgstr "Bazzar ă®č˛˘çڮ者ăźăˇ" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:769 msgid "translator-credits" msgstr "camegone, 2025, 2026" #: src/bz-application.c:779 msgid "Special Thanks" msgstr "スăšă‚·ăŁă«ă‚µăłă‚Żă‚ą" #: src/bz-application.c:837 msgid "Logged Out Successfully!" msgstr "正常ă«ă­ă‚°ă‚˘ă‚¦ăă•れăľă—ăź!" #: src/bz-application.c:1027 msgid "Ubuntu Troubles!" msgstr "Ubuntu ă®ăă©ă–ă«!" #: src/bz-application.c:1030 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "Ubuntu ă®ćś€ć–°ăăĽă‚¸ă§ăłă§ăŻă‡ă•ă‚©ă«ăă®ă‚»ă‚­ăĄăŞă†ă‚Łč¨­ĺ®šă®ă›ă„ă§ă€Flatpak ç‰" "ă® Bazaar ă§<b>アă—ăŞă‚’イăłă‚ąăăĽă«ă™ă‚‹ă“ă¨ăŚä¸ŤĺŹŻč˝</b>ă«ăŞăŁă¦ă„ăľă™ă€‚ăťă®ăź" "ă‚ă€ä»ŠăŻé€šĺ¸¸ă®ă‘ăケăĽă‚¸ă‚’以下ă®ă‚łăžăłă‰ă§ă‚¤ăłă‚ąăăĽă«ă—ă¦ä˝żç”¨ă—ă¦ăŹă ă•ă„\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "ăťă®ĺľŚă«ă€Flatpak ç‰ă‚’次ă®ă‚łăžăłă‰ă§ĺ‰Šé™¤ă—ă¦ăŹă ă•ă„\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1036 msgid "Continue Anyway" msgstr "ăťă‚Śă§ă‚‚続行ă™ă‚‹" #: src/bz-application.c:1052 msgid "Performing setup…" msgstr "ă‚»ăăアăă—ă®ĺ®źčˇŚä¸­â€¦" #: src/bz-application.c:1144 msgid "Set Up System Flathub?" msgstr "シスă†ă ă« Flathub ă‚’ă‚»ăăアăă—ă—ăľă™ă‹?" #: src/bz-application.c:1147 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub ăŞă˘ăĽăăŻă‚ăŞăźă®ă‚·ă‚ąă†ă ă§ă‚»ăăアăă—ă•れă¦ă„ăľă›ă‚“。Bazaar ă§ă‚˘ă—" "ăŞă‚’検索ă—ăźă‚Šă‚¤ăłă‚ąăăĽă«ă™ă‚‹ăźă‚ă«ăŻă€ă‚·ă‚ąă†ă ă« Flathub ă‚’ă‚»ăăアăă—ă™ă‚‹" "ĺż…č¦ăŚă‚りăľă™ă€‚ \n" "\n" "ă‚ăŞăźăŻĺĽ•ăŤç¶šăŤ Bazaar ă§ă‚¤ăłă‚ąăăĽă«ć¸ăżă®ă‚˘ă—ăŞă‚’検索ă—ăźă‚Šĺ‰Šé™¤ă™ă‚‹ă“ă¨ăŚ" "ă§ăŤăľă™ă€‚" #: src/bz-application.c:1154 msgid "Set Up Flathub?" msgstr "Flathub ă‚’ă‚»ăăアăă—ă—ăľă™ă‹?" #: src/bz-application.c:1157 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub ăŻă‚ăŞăźă®ă‚·ă‚ąă†ă ă§ă‚»ăăアăă—ă•れă¦ă„ăľă›ă‚“。Flathub ăŚĺ©ç”¨ă§ăŤăŞ" "ă„ĺ ´ĺă€ă‚˘ă—ăŞă‚’検索ă—ăźă‚Šă‚¤ăłă‚ąăăĽă«ă™ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“。\n" "\n" "ă‚ăŞăźăŻĺĽ•ăŤç¶šăŤ Bazaar ă§ă‚¤ăłă‚ąăăĽă«ć¸ăżă®ă‚˘ă—ăŞă‚’検索ă—ăźă‚Šĺ‰Šé™¤ă™ă‚‹ă“ă¨ăŚ" "ă§ăŤăľă™ă€‚" #: src/bz-application.c:1163 msgid "Later" msgstr "後ă§" #: src/bz-application.c:1164 msgid "Set Up Flathub" msgstr "Flathub ă‚’ă‚»ăăアăă—ă™ă‚‹" #: src/bz-application.c:1697 msgid "A backend error occurred" msgstr "ăăクエăłă‰ă®ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź" #: src/bz-application.c:1905 src/bz-application.c:4152 msgid "Refreshing…" msgstr "再読ăżčľĽăżä¸­â€¦" #: src/bz-application.c:2069 src/bz-application.c:4150 #, c-format msgid "Loading %d apps…" msgstr "%d 個ă®ă‚˘ă—ăŞă‚’ă­ăĽă‰ä¸­â€¦" #: src/bz-application.c:2122 src/bz-application.c:2196 msgid "Failed to open file" msgstr "ă•ァイă«ă‚’é–‹ă‘ăľă›ă‚“ă§ă—ăź" #: src/bz-application.c:2210 msgid "Failed to load metainfo" msgstr "ăˇă‚żć…ĺ ±ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź" #: src/bz-application.c:2304 msgid "An initialization error occurred" msgstr "ĺťćśźĺږ䏭ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź" #: src/bz-application.c:2703 msgid "Checking for updates…" msgstr "更新を確認中…" #: src/bz-application.c:2759 msgid "Failed to check for updates" msgstr "ć›´ć–°ă®ç˘şčŞŤă«ĺ¤±ć•—ă—ăľă—ăź" #: src/bz-application.c:3925 msgid "Malformed Link" msgstr "正常ă§ăŞă„ăŞăłă‚Ż" #: src/bz-application.c:3926 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "ă“ă®ă‚˘ă—ăŞă‚’é–‹ăŹăźă‚ă«ä˝żă‚Źă‚ŚăźăŞăłă‚ŻăŻčޤăŁăźç®‡ć‰€ăŚĺ¤§ć–‡ĺ­—ă«ăŞăŁă¦ăŠă‚Šă€ĺ°†ćťĄçš„" "ă«ĺ‹•作ă—ăŞăŹăŞă‚‹ĺŹŻč˝ć€§ăŚă‚りăľă™ă€‚\n" "\n" "ă“れăŻăŠă‚‚ă« KRunner ăŚčޤăŁăźă‚˘ă—㪠ID ă‚’é€äżˇă™ă‚‹ăźă‚ă«čµ·ă“りăľă™" #: src/bz-application.c:3934 msgid "Could not find app" msgstr "アă—ăŞăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź" #: src/bz-application.c:4154 msgid "Writing to cache…" msgstr "ă‚­ăŁăă‚·ăĄă‚’書ăŤčľĽăżä¸­â€¦" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "ă™ăąă¦čˇ¨ç¤ş" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "ĺ…¨ă¦ă®ă€Ś%s」" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłç·Źć•°: %d" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "č¨äş‹ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "ăăłă‰ă«ă®ă‚¤ăłă‚ąăăĽă«" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "追加ă®äľťĺ­é–˘äż‚ăŚă€čż˝ĺŠ ă®ă‡ă‚Łă‚ąă‚Żĺ®ąé‡Źă‚’使用ă™ă‚‹ĺŹŻč˝ć€§ăŚă‚りăľă™" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "ă“ă®ă‚˘ă—ăŞă‚’イăłă‚ąăăĽă«ă™ă‚‹ăźă‚ă«ăŻă€ć–°ă—ă„ă‚˝ă•ăウェアă®ă‚˝ăĽă‚ąă‚’追加ă™ă‚‹ĺż…" "č¦ăŚă‚りăľă™ă€‚ăťă®ă‚˝ăĽă‚ąă«ĺ«ăľă‚Śă‚‹ä»–ă®ă‚˘ă—ăŞăŚ Bazaar ă«čˇ¨ç¤şă•れるă‚ă†ă«ăŞă‚Š" "ăľă™ă€‚\n" "\n" "ă“ă®ă‚˝ăĽă‚ąă‚’確実ă«äżˇç”¨ă§ăŤă‚‹ĺ ´ĺă®ăżă€čż˝ĺŠ ă—ă¦ăŹă ă•ă„。" #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "イăłă‚ąăăĽă«ă«ć功ă—ăľă—ăź!" #. TRANSLATORS: Button to launch an installed app #: src/bz-bundle-install-dialog.blp:438 src/bz-bundle-install-dialog.blp:524 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:299 msgid "Open" msgstr "é–‹ăŹ" #: src/bz-bundle-install-dialog.blp:448 src/bz-bundle-install-dialog.blp:534 msgid "Show App Details" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłă®č©łç´°ă‚’é–‹ăŹ" #: src/bz-bundle-install-dialog.blp:499 msgid "Already Installed" msgstr "ă™ă§ă«ă‚¤ăłă‚ąăăĽă«ć¸ăż" #: src/bz-bundle-install-dialog.blp:546 msgid "Installation Failed" msgstr "イăłă‚ąăăĽă«ă«ĺ¤±ć•—" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "イăłă‚ąăăĽă«ă‚µă‚¤ă‚şä¸ŤćŽ" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "イăłă‚ąăăĽă«ăľă§ă‚㨠%s" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "特ĺĄăŞć¨©é™ăŞă—" #: src/bz-curated-view.blp:27 msgid "No Curation" msgstr "特é¸ă‚˘ă—ăŞăŞă—" #: src/bz-curated-view.blp:29 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "特é¸ă‚˘ă—ăŞă®ć…ĺ ±ăŚă“ă®ă‚·ă‚ąă†ă ĺ‘ă‘ă«ćŹäľ›ă•れă¦ă„ăľă›ă‚“。ă§ă™ăŚ Flathub ă®ă‚˘ă—" "ăŞă‚’閲覧ă™ă‚‹ă“ă¨ăŻă§ăŤăľă™" #: src/bz-curated-view.blp:33 msgid "Browse Flathub" msgstr "Flathub を閲覧" #: src/bz-curated-view.blp:49 msgid "Offline" msgstr "オă•ă©ă‚¤ăł" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "認証ăŞă—" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "開発者ă«é–˘ă™ă‚‹ć…ĺ ±ăŚă‚りăľă›ă‚“。" #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "ă“ă®ă‚˘ă—㪠IDă€%s ă®ć‰€ćś‰ć¨©ăŻć¤śč¨Ľă•れă¦ăŠă‚‰ăšă€ă‚łăźăĄă‹ă†ă‚Łă®ă‘ăケăĽă‚¸ă§ă‚ă‚‹" "可č˝ć€§ăŚă‚りăľă™ă€‚" #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "ă“ă®ă‚˘ă—㪠IDă€%s ă®ć‰€ćś‰ć¨©ăŻ Flathub ă®ăăĽă ăŚć‰‹ĺ‹•ă§ć¤śč¨Ľć¸ăżă§ă™ă€‚" #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "ă“ă®ă‚˘ă—㪠IDă€%1$s ă®ć‰€ćś‰ć¨©ăŻ <b>%3$s</b> ă«ć‰€ĺ±žă™ă‚‹ <b>%2$s</b> ă«ă‚ăŁă¦ć¤ś" "証ć¸ăżă§ă™ă€‚" #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "ă“ă®ă‚˘ă—㪠IDă€%1$s ă®ć‰€ćś‰ć¨©ăŻă€%2$s を使ăŁă¦ć¤śč¨Ľć¸ăżă§ă™ă€‚" #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "ă“ă®ă‚˘ă—㪠IDă€%s ă®ć‰€ćś‰ć¨©ăŻć¤śč¨Ľć¸ăżă§ă™ă€‚" #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "更新履歴ă®ĺ…¨ć–‡" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "ă“ă®ć–°ăăĽă‚¸ă§ăłăŻă‚ăŞăźă®ă‚ă†ăŞă¦ăĽă‚¶ăĽă®ăŠă‹ă’ă§ĺ®źçŹľă—ăľă—ăź!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "ç§ăŻ Bazaar ă®é–‹ç™şăŚĺĄ˝ăŤă§ă™ăŚă€ăťă‚ŚăŻç§ä¸€äşşă ă‘ă§ăŻă§ăŤăľă›ă‚“。もă—ă‚ăŞăźăŚ" "将来的ăŞé–‹ç™şă®ç¶™ç¶šă‚’支援ă—ăźă„ăŞă‚‰ă€ko-fi ă§ă—ă­ă‚¸ă‚§ă‚Żăを支援ă™ă‚‹ă“ă¨ă‚’検討" "ă—ă¦ăŹă ă•ă„。" #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Bazaar ă«ĺŻ„ä»ă™ă‚‹" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "ăăĽă‚¸ă§ăł %s ă§ă®ĺ¤‰ć›´ç‚ąăŻä˝•?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "ăŞăŞăĽă‚ąć—Ą: %Y/%0m/%0d" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "イăłă‚ąăăĽă«ă®é¸ćŠž" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "ă‚ăŞăźăŻă“ă®ă‚˘ă—ăŞă®č¤‡ć•°ă®ăăĽă‚¸ă§ăłă‚’イăłă‚ąăăĽă«ă—ă¦ă„ăľă™ă€‚ă©ă‚Śă‚’é¸ćŠžă—ă¦" "ç¶šă‘ăľă™ă‹?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "ă‚­ăŁăłă‚»ă«" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "ă“ă®ă¦ăĽă‚¶ăĽă®ăż" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "ă“ă®ă¦ăĽă‚¶ăĽ" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "ĺ…¨ă¦ă®ă¦ăĽă‚¶ăĽ" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "詳細" #. TRANSLATORS: tooltip for a button that copies text to the clipboard #: src/bz-error-dialog.blp:48 msgid "Copy" msgstr "コă”ăĽă™ă‚‹" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "コă”ăĽă—ăľă—ăź!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "ăŠć°—ă«ĺ…Ąă‚Šă•れăźć•°" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "ăŠć°—ă«ĺ…Ąă‚Šă‚’ć›´ć–°ă§ăŤăľă›ă‚“ă§ă—ăź" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Flathub ă«ă­ă‚°ă‚¤ăłă—ă¦ăŠć°—ă«ĺ…Ąă‚Šă‚’管ç†ă™ă‚‹" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "ă­ă‚°ă‚¤ăł" #: src/bz-favorites-page.blp:5 src/bz-window.blp:348 msgid "Favorites" msgstr "ăŠć°—ă«ĺ…Ąă‚Š" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "ĺ…¨ă¦ă‚¤ăłă‚ąăăĽă«" #: src/bz-favorites-page.blp:47 msgid "No Favorites" msgstr "ăŠć°—ă«ĺ…Ąă‚ŠăŚă‚りăľă›ă‚“" #: src/bz-favorites-page.blp:48 msgid "Applications you mark as favorite will appear here" msgstr "ă‚ăŞăźăŚăŠć°—ă«ĺ…Ąă‚ŠăžăĽă‚Żă‚’ă¤ă‘ăźă‚˘ă—ăŞăŚă“ă“ă«čˇ¨ç¤şă•れăľă™" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "ă“ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚’支援ă™ă‚‹" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "ăŠć°—ă«ĺ…Ąă‚Šă‹ă‚‰ĺ‰Šé™¤" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "ăŠć°—ă«ĺ…Ąă‚Šă‹ă‚‰ĺ‰Šé™¤ă§ăŤăľă›ă‚“ă§ă—ăź" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "前ă¸" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "次ă¸" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "編集" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "ăźă‚­ă‚µăĽ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "音楽" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "ă—ă¬ăĽă¤ăĽ" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "ă¬ă‚łăĽă€ăĽ" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "ă‚·ăĽă‚±ăłă‚µăĽ" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "ăăĄăĽăŠăĽ" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "ă†ă¬ă“" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "エăźăĄă¬ăĽă‚żăĽ" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "アクシă§ăł" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "アă‰ă™ăłăăŁăĽ" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "アăĽă‚±ăĽă‰" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "ă–ă­ăク" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "ăśăĽă‰ă‚˛ăĽă " #: src/bz-flathub-category.c:114 msgid "Card" msgstr "ă‚«ăĽă‰ă‚˛ăĽă " #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "ĺ­äľ›ĺ‘ă‘" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "č«–ç†" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "ă­ăĽă«ă—ă¬ă‚¤ăłă‚°" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "ĺ°„ć’çł»" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "ă‚·ăźăĄă¬ăĽă‚·ă§ăł" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "スăťăĽă„" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "ć¦ç•Ą" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "ă–ă©ă‚¦ă‚¶ăĽ" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "ăăŁăă" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "ăˇăĽă«" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "ă•ァイă«ă®ĺ…±ćś‰" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "ć ĺŹă‚„音楽" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "ăˇă‡ă‚Łă‚˘" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "ć ĺŹă‚„音楽をもăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "開発ă„ăĽă«" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "開発" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "開発ă„ăĽă«ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "教育" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "ĺ­¦ă¶" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "教育アă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "ゲăĽă " #: src/bz-flathub-category.c:137 msgid "Play" msgstr "éŠă¶" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "ゲăĽă ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "ç”»ĺŹă‚„写真" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "創作ă™ă‚‹" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "ç”»ĺŹă‚„写真関連ă®ă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "ăŤăăăŻăĽă‚Ż" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "イăłă‚żăĽăŤăă" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "ăŤăăăŻăĽă‚Żé–˘é€Łă®ă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "生産性ĺ‘上" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "ĺŤăŹ" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "生産性ĺ‘上アă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "ç§‘ĺ­¦" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "科学アă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:142 msgid "System" msgstr "シスă†ă " #: src/bz-flathub-category.c:142 msgid "More System" msgstr "シスă†ă ă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "äľżĺ©ă„ăĽă«" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:434 msgid "Tools" msgstr "ă„ăĽă«" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "äľżĺ©ă„ăĽă«ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:106 #: src/bz-flathub-page.blp:138 msgid "Trending" msgstr "話題ă®ă‚˘ă—ăŞ" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "話題ă®ă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:112 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "äşşć°—ă®ă‚˘ă—ăŞ" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "人気アă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:160 msgid "Recently Added" msgstr "最近追加ă•れăźă‚˘ă—ăŞ" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:118 msgid "New" msgstr "ć–°ă—ă„アă—ăŞ" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "新着アă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:149 msgid "Recently Updated" msgstr "最近更新ă•れăźă‚˘ă—ăŞ" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:124 msgid "Updated" msgstr "ć›´ć–°ă•れăźă‚˘ă—ăŞ" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "ć›´ć–°ă•れăźă‚‚ă®ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "ă˘ăイă«" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "ă˘ăイă«ĺŻľĺżśă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Adwaita ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "KDE アă—ăŞ" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "KDE ă®ă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:416 msgid "Games" msgstr "ゲăĽă " #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:476 msgid "More Games" msgstr "ゲăĽă ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:422 msgid "Emulators" msgstr "エăźăĄă¬ăĽă‚żăĽ" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "エăźăĄă¬ăĽă‚żăĽă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:428 msgid "Launchers" msgstr "ă©ăłăăŁăĽ" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "ゲăĽă ă©ăłăăŁăĽă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "ゲăĽă ç”¨ă„ăĽă«" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "ゲăĽă ç”¨ă„ăĽă«ă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-page.blp:22 msgid "Flathub Not Added" msgstr "Flathub ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“" #: src/bz-flathub-page.blp:23 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "ă“ă®ă‚łăłă”ăĄăĽă‚żăĽä¸Šă®ă©ă® Flatpak ă«ă‚‚ Flathub ăŞă˘ăĽăă¬ăťă‚¸ăăŞăŚč¦‹ă¤ă‹ă‚Š" "ăľă›ă‚“ă§ă—ăź" #: src/bz-flathub-page.blp:32 msgid "Can't Reach Flathub" msgstr "Flathub ă«ćŽĄç¶šă§ăŤăľă›ă‚“ă§ă—ăź" #: src/bz-flathub-page.blp:33 msgid "You can still manage and search for apps." msgstr "アă—ăŞă®ç®ˇç†ă¨ć¤śç´˘ăŻä»Šă§ă‚‚ă™ă‚‹ă“ă¨ăŚă§ăŤăľă™ă€‚" #: src/bz-flathub-page.blp:39 msgid "Search Apps" msgstr "アă—ăŞć¤śç´˘" #: src/bz-flathub-page.blp:50 msgid "Reconnect" msgstr "再接続" #: src/bz-flathub-page.blp:199 msgid "App of the Day" msgstr "今日ă®ă‚˘ă—ăŞ" #: src/bz-flathub-page.blp:262 msgid "On the Go" msgstr "ă©ă“ă§ă‚‚一緒" #: src/bz-flathub-page.blp:274 msgid "Apps for your Linux phones and tablets" msgstr "Linux ă•ă‚©ăłă‚„タă–ă¬ăăĺ‘ă‘ă®ă‚˘ă—ăŞ" #: src/bz-flathub-page.blp:285 src/bz-flathub-page.blp:320 msgid "More Mobile Apps" msgstr "ă˘ăイă«ĺŻľĺżśă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-flathub-page.blp:378 msgid "We​ ♥​ Games" msgstr "" #: src/bz-flathub-page.blp:391 msgid "Games and apps to run your favorite titles" msgstr "ゲăĽă ă‚„ăŠć°—ă«ĺ…Ąă‚Šă®ă‚żă‚¤ăă«ă‚’éŠă¶ăźă‚ă®ă‚˘ă—ăŞ" #: src/bz-full-view.blp:33 msgid "No Results" msgstr "çµćžśç„ˇă—" #: src/bz-full-view.blp:34 msgid "Try a different search query" msgstr "ĺĄă®čŞžĺŹĄă§ć¤śç´˘ă—ă¦ăżă¦ăŹă ă•ă„" #: src/bz-full-view.blp:103 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "ă“れăŻă­ăĽă‚«ă«ă®ă—ă¬ă“ăĄăĽă§ă™ă€‚ç´°ă‹ăŞé¨ĺ†ăŻĺ…¬é–‹ă®ăŞă‚ąăă®ăšăĽă‚¸ă¨ç•°ăŞă‚‹ĺŹŻč˝" "性ăŚă‚りăľă™" #: src/bz-full-view.blp:106 msgid "Preview Store Appearance" msgstr "スăアă®ĺ¤–観をă—ă¬ă“ăĄăĽ" #: src/bz-full-view.blp:233 msgid "_Support" msgstr "支援ă™ă‚‹(_S)" #: src/bz-full-view.blp:458 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻć›´ć–°ă‚„セキăĄăŞă†ă‚Łäż®ć­Łă®ćŹäľ›ăŚçµ‚了ă—ăźă©ăłă‚żă‚¤ă ă‚’使用ă—ă¦ă„ăľ" "ă™ă€‚ 将来的ă«ä˝żç”¨ă™ă‚‹ă“ă¨ăŚĺ®‰ĺ…¨ă§ăŞăŹăŞă‚‹ĺŹŻč˝ć€§ăŚă‚りăľă™ă€‚" #: src/bz-full-view.blp:536 msgid "Trash Data" msgstr "ă‡ăĽă‚żă‚’ă‚´ăźç®±ă«ç§»ĺ‹•" #: src/bz-full-view.blp:599 msgid "Add-ons" msgstr "アă‰ă‚Şăł" #: src/bz-full-view.blp:634 msgid "More Add-Ons" msgstr "アă‰ă‚Şăłă‚’ă•らă«čˇ¨ç¤ş" #: src/bz-full-view.blp:645 msgid "Links" msgstr "ăŞăłă‚Ż" #: src/bz-full-view.blp:676 msgid "Similar Apps" msgstr "似ăźă‚˘ă—ăŞ" #: src/bz-full-view.c:181 msgid "No URL" msgstr "URL ăŚă‚りăľă›ă‚“" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "ă“ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłăŻă•ăŞăĽă® FLOSS ă©ă‚¤ă‚»ăłă‚ąă§ĺ…¬é–‹ă•れă¦ăŠă‚Šă€ĺ®‰ĺ…¨ă®ăźă‚ă«" "ă‚˝ăĽă‚ąă‚łăĽă‰ă‚’確認ă™ă‚‹ă“ă¨ăŚă§ăŤăľă™ă€‚" #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "ă“ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłăŻă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞăŞă©ă‚¤ă‚»ăłă‚ąă§ĺ…¬é–‹ă•れă¦ăŠă‚Šă€ă‚˝ăĽă‚ą" "コăĽă‰ăŻă—ă©ă‚¤ă™ăĽăă§é–‹ç™şă•れă¦ă„ă‚‹ăźă‚ă€ç‹¬ç«‹ă—ăźç¬¬ä¸‰č€…ă«ă‚る検査を受ă‘ă‚‹ă“" "ă¨ăŚă§ăŤăľă›ă‚“。" #: src/bz-full-view.c:207 msgid "More Apps" msgstr "アă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "%s ă®ă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "ă“ă®é–‹ç™şč€…ă®ĺĄă®ă‚˘ă—ăŞ" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "%s ă®ĺĄă®ă‚˘ă—ăŞ" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "%s ăŻă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“ăŚă€<b>%s</b> ă®ă‡ăĽă‚żăŻć®‹ĺ­ă—ă¦ă„ăľă™ă€‚" #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "ä»–ă®ă‚˘ă—ăŞ" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "アă—ăŞă‚±ăĽă‚·ă§ăłç·Źć•°: %d" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:160 msgid "Failed to Remove User Data" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’削除ă§ăŤăľă›ă‚“ă§ă—ăź" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ă®ă‚µăťăĽă" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "ă‚­ăĽăśăĽă‰ă®ă‚µăťăĽă" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "ă‚­ăĽăśăĽă‰ă®ä˝żç”¨ăŚĺż…é " #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "ă‚­ăĽăśăĽă‰ă®ä˝żç”¨ă‚’推奨" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "ă‚­ăĽăśăĽă‰ăŚä˝żç”¨ĺŹŻč˝" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "ă‚­ăĽăśăĽă‰ă®ă‚µăťăĽă状ćłăŚä¸ŤćŽ" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "ăžă‚¦ă‚ąă®ă‚µăťăĽă" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "ăžă‚¦ă‚ąç­‰ă®ăťă‚¤ăłă†ă‚Łăłă‚°ă‡ăイスă®ä˝żç”¨ăŚĺż…é " #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "ăžă‚¦ă‚ąç­‰ă®ăťă‚¤ăłă†ă‚Łăłă‚°ă‡ăイスă®ä˝żç”¨ă‚’推奨" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "ăžă‚¦ă‚ąç­‰ă®ăťă‚¤ăłă†ă‚Łăłă‚°ă‡ăイスăŚä˝żç”¨ĺŹŻč˝" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "ăžă‚¦ă‚ąç­‰ă®ăťă‚¤ăłă†ă‚Łăłă‚°ă‡ăイスă®ă‚µăťăĽă状ćłăŚä¸ŤćŽ" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "タăăスクăŞăĽăłă®ă‚µăťăĽă" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "タăăスクăŞăĽăłă®ä˝żç”¨ăŚĺż…é " #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "タăăスクăŞăĽăłă®ä˝żç”¨ă‚’推奨" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "タăăスクăŞăĽăłăŚä˝żç”¨ĺŹŻč˝" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "タăăスクăŞăĽăłă®ă‚µăťăĽă状ćłăŚä¸ŤćŽ" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "ă˘ăイă«ç«Żćś«ă®ă‚µăťăĽă" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "ă˘ăイă«ç«Żćś«ă§ä˝żç”¨ĺŹŻč˝" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "ă˘ăイă«ç«Żćś«ă§ăŻĺ‹•ă‹ăŞă„可č˝ć€§ăŚă‚りăľă™" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "ă‡ă‚ąă‚Żăăă—ă®ă‚µăťăĽă" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "大ăŤăŞç”»éť˘ă§ĺż«é©ă«ĺ‹•作ă—ăľă™" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s ăŻç‰ąĺ®šă®ă‡ăイスăŚć­čĽ‰ă•れăźç«Żćś«ă§ĺż«é©ă«ĺ‹•作ă—ăľă™" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s ăŻă»ă¨ă‚“ă©ă®ă‡ăイスă§ĺ‹•作ă—ăľă™" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "イăłă‚ąăšă‚Żă‚żăĽă®ăˇă‹ăĄăĽ" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "é–‹ăŹ(_O)" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "ă“ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚’アăłă‚¤ăłă‚ąăăĽă«" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "削除ă™ă‚‹(_R)" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "ć›´ć–°" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "削除ă™ă‚‹" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "%s ă‚’ %s ă‹ă‚‰ă‚¤ăłă‚ąăăĽă«" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "%s をイăłă‚ąăăĽă«" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "ă‚­ăŁăłă‚»ă«" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "ă‚­ăŁăłă‚»ă«ä¸­" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "寄ä»ăśă‚żăł" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "イăłă‚ąăăĽă«ć¸ăżă®ă‚˘ă—ăŞă‚’検索" #: src/bz-library-page.blp:32 msgid "No Apps Found" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłăŚă‚りăľă›ă‚“" #: src/bz-library-page.blp:49 msgid "Search Store Instead" msgstr "代わりă«ă‚ąăアを検索" #: src/bz-library-page.blp:86 msgid "Pending Updates" msgstr "実行待ăˇă®ć›´ć–°" #: src/bz-library-page.blp:113 msgid "Downloads" msgstr "ă€ă‚¦ăłă­ăĽă‰ä¸€č¦§" #: src/bz-library-page.blp:156 msgid "Recently Uninstalled" msgstr "最近アăłă‚¤ăłă‚ąăăĽă«ă•れăźă‚˘ă—ăŞ" #: src/bz-library-page.blp:207 msgid "Clear Finished Tasks" msgstr "完了ă—ăźă‚żă‚ąă‚Żă‚’削除" #: src/bz-library-page.blp:234 msgid "Sort Options" msgstr "ă‚˝ăĽă設定" #: src/bz-library-page.blp:293 msgid "Sort By" msgstr "ă‚˝ăĽăé †" #: src/bz-library-page.blp:307 msgid "Name" msgstr "ĺŤĺ‰Ť" #: src/bz-library-page.blp:313 msgid "Size" msgstr "サイズ" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "" "イăłă‚ąăăĽă«ć¸ăżă®ă‚˘ă—ăŞä¸€č¦§ă«ăŻă€ă€Ś%s」ă¨ă„ă†ĺŤčŞžăŻč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u ä»¶ă®ĺ©ç”¨ĺŹŻč˝ăŞă‚˘ăă—ă‡ăĽă" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u ä»¶ă®ă‚¤ăłă‚ąăăĽă«ć¸ăżă®ă‚˘ă—ăŞ" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "参加ă™ă‚‹" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "詳細を表示" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "不ćŽăŞă©ă‚¤ă‚»ăłă‚ą" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "コăźăĄă‹ă†ă‚ŁăĽă«ă‚ăŁă¦ä˝śă‚‰ă‚Śăľă—ăź" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:289 msgid "Proprietary" msgstr "ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞ" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:291 msgid "Special License" msgstr "特ĺĄăŞă©ă‚¤ă‚»ăłă‚ą" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻĺ›˝éš›çš„ăŞă‚łăźăĄă‹ă†ă‚Łă«ă‚ăŁă¦ă‚ŞăĽă—ăłă«é–‹ç™şă•れă¦ă„ăľă™ă€‚\n" "\n" "ă‚ăŞăźăŻé–‹ç™şă«ĺŹ‚ĺŠ ă—ă¦ć©źč˝ć”ąĺ–„ă®ć‰‹ĺŠ©ă‘ăŚă§ăŤăľă™ă€‚" #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "ă“ă®ă‚˘ă—ăŞă®ă©ă‚¤ă‚»ăłă‚ąăŻä¸ŤćŽă§ă™" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻĺ›˝éš›çš„ăŞă‚łăźăĄă‹ă†ă‚Łă«ă‚ăŁă¦ă‚ŞăĽă—ăłă«é–‹ç™şă•れă¦ă„ă¦ă€%s ă©ă‚¤ă‚»ăł" "スă®ă‚‚ă¨ă§ĺ…¬é–‹ă•れă¦ă„ăľă™ă€‚\n" "\n" "ă‚ăŞăźăŻé–‹ç™şă«ĺŹ‚ĺŠ ă—ă¦ć©źč˝ć”ąĺ–„ă®ć‰‹ĺŠ©ă‘ăŚă§ăŤăľă™ă€‚" #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻă‚ŞăĽă—ăłă‚˝ăĽă‚ąă¨ă—ă¦é–‹ç™şă•れă¦ă„ăŞă„ăźă‚ă€é–‹ç™şč€…ă—ă‹ă©ă‚“ăŞĺ‡¦ç†ă‚’" "行ăŁă¦ă„ă‚‹ă‹ă‚’知るă“ă¨ăŚă§ăŤăľă›ă‚“。ă“れă«ă‚ăŁă¦ă‚»ă‚­ăĄăŞă†ă‚Łä¸Šă®č„…ĺ¨ă‚’発見ă™" "ă‚‹ă“ă¨ăŚé›Łă—ăŹăŞăŁăźă‚Šă€ĺ¤–é¨ă®ç›Łč¦–無ă—ă«ć‚Şć„Źă®ă‚るコăĽă‰ă«ĺ¤‰ć›´ă•れる可č˝ć€§ăŚ" "ă‚りăľă™ă€‚\n" "\n" "ă‚ăŞăźăŻă“ă®ă‚˘ă—ăŞă«ĺŻľă—ă¦ă®č˛˘çŚ®ă‚’čˇŚă†ă“ă¨ăŚă§ăŤăŞă„ă‹ă‚‚ă—れăľă›ă‚“。" #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻç‰ąĺĄăŞă©ă‚¤ă‚»ăłă‚ąă€%s ă®ä¸‹é–‹ç™şă•れă¦ă„ăľă™ă€‚\n" "ă‚ăŞăźăŻă“ă®ă‚˘ă—ăŞă«ĺŻľă—ă¦č˛˘çŚ®ă‚’čˇŚă†ă“ă¨ăŚă§ăŤăŞă„ă‹ă‚‚ă—れăľă›ă‚“。" #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "ă©ă‚¤ă‚»ăłă‚ą" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Flathub ă«ćŽĄç¶šă™ă‚‹" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "不ćŽăŞă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "ă­ă‚°ă‚¤ăłă—ă¦ă€ăŠć°—ă«ĺ…Ąă‚Šă®ă‚˘ă—ăŞă‚’ă‡ăイス間ă§ĺŚćśźă—ă‚ă†" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "完了" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "ă‚ă†ă“ăťă€%s!" #: src/bz-metainfo-preview.c:105 msgid "Add Icon to Metainfo Preview?" msgstr "アイコăłă‚’ăˇă‚żć…ĺ ±ă®ă—ă¬ă“ăĄăĽă«čż˝ĺŠ ă—ăľă™ă‹?" #: src/bz-metainfo-preview.c:108 msgid "" "Metainfo files don't include app icons by themselves. Would you like to " "select one manually?" msgstr "" "ăˇă‚żć…ĺ ±ă•ァイă«č‡Şä˝“ă«ăŻă‚˘ă—ăŞă‚˘ă‚¤ă‚łăłăŚĺ«ăľă‚Śă¦ă„ăľă›ă‚“。手動ă§é¸ćŠžă—ăľă™ă‹?" #: src/bz-metainfo-preview.c:111 msgid "Skip" msgstr "スキăă—" #: src/bz-metainfo-preview.c:112 src/bz-metainfo-preview.c:163 msgid "Select Icon" msgstr "アイコăłă‚’é¸ćŠž" #: src/bz-metainfo-preview.c:166 msgid "Image Files" msgstr "ç”»ĺŹă•ァイă«" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "設定" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "従量課金ă®ăŤăăăŻăĽă‚Żă«ćŽĄç¶šă—ă¦ă„ăľă™ — スăアć…ĺ ±ă®č‡Şĺ‹•読ăżčľĽăżăŻä¸€ć™‚ĺść­˘ă•" "れă¦ă„ăľă™" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "手動ă§ĺŚćśźă™ă‚‹" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "アă—ăŞă®ć›´ć–°" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "自動ă§ă‚˘ă—ăŞă®ć›´ć–°ă‚’確認ă—ă¦ă€ă‚¦ăłă­ăĽă‰ă™ă‚‹ă®ăŻé€šäżˇé‡Źă¨é›»ĺŠ›ă‚’ä˝żç”¨ă—ăľă™ă€‚ăť" "ă®ăźă‚ă€ă‚˘ă—ăŞă®č‡Şĺ‹•更新機č˝ăŻĺľ“量課金ĺ¶ă®ăŤăăăŻăĽă‚Żă«ćŽĄç¶šă—ă¦ă„ă‚‹ă¨ăŤă‚„ă€" "çśé›»ĺŠ›ć©źč˝ăŚă‚Şăłă«ăŞăŁă¦ă„ă‚‹ă¨ăŤă«ăŻä¸€ć™‚ĺść­˘ă•れăľă™ă€‚" #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "自動(_A)" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "自動ă§ă‚˘ă—ăŞă®ć›´ć–°ă‚’確認ă—ă¦ă€ă‚¦ăłă­ăĽă‰ă—ăľă™" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "手動(_M)" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "アă—ăŞă®ć›´ć–°ă®ç˘şčŞŤă¨ă€ă‚¦ăłă­ăĽă‰ă‚’手動ă§čˇŚă†ĺż…č¦ăŚă‚りăľă™" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "自動ă®ć›´ć–°ă‚’通知(N)" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "ć›´ć–°ăŚč‡Şĺ‹•ă§ă‚¤ăłă‚ąăăĽă«ă•れăźć™‚ă«é€šçźĄă—ăľă™" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "コăłă†ăłă„ă•ィă«ă‚żăĽ" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "ă•ăŞăĽă®ă‚˝ă•ăウェアă®ăżčˇ¨ç¤ş(_F)" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞă®ă‚˝ă•ăウェアを探索タă–や検索çµćžśă‹ă‚‰é™¤ĺ¤–ă™ă‚‹" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "Flathub ă‹ă‚‰ă®ć¤śç´˘çµćžśă®ăżčˇ¨ç¤ş(_L)" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "探索タă–や検索çµćžśă‚’ Flathub ă§ĺ©ç”¨ĺŹŻč˝ăŞă‚˘ă—ăŞă®ăżă«é™ĺ®šă™ă‚‹" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "検証ć¸ăżă®ć¤śç´˘çµćžśă®ăżčˇ¨ç¤ş(_V)" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "Flathub ă§ć¤śč¨Ľă•れă¦ă„ăŞă„アă—ăŞă‚±ăĽă‚·ă§ăłă‚’非表示ă«ă™ă‚‹" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "更新終了ă—ăźă‚˘ă—ăŞă‚’非表示(_E)" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "開発者ă«ă‚るサăťăĽăăŚçµ‚了ă—ăźă‚˘ă—ăŞă‚’非表示ă«ă™ă‚‹" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "ă—ă­ă‚°ă¬ă‚ąăăĽă®ă†ăĽăž" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "アクセăłăă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "ă—ă©ă‚¤ă‰ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "ă¬ă‚şă“ア㳠ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "男性 ă›ă˘ă‚»ă‚Żă‚·ăŁă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "ăă©ăłă‚ąă‚¸ă‚§ăłă€ăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "ăŽăłăイăŠăŞăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "ăイセクシăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "アセクシăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "ă‘ăłă‚»ă‚Żă‚·ăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "アă­ăžăłă†ă‚Łăク ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "ジェăłă€ăĽă•ă«ă‚¤ă‰ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "ăťăŞă‚»ă‚Żă‚·ăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "オă ă‹ă‚»ă‚Żă‚·ăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "アă­ă‚¨ăĽă‚ą ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "アジェăłă€ăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "ジェăłă€ăĽă‚Żă‚Łă‚˘ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "イăłă‚żăĽă‚»ăクス ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "ă‡ăźă‚¸ă‚§ăłă€ăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "ăイă­ăžăłă†ă‚Łăク ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "ă‡ă‚Łă‚ąă‚˘ă“ăŞă†ă‚ŁăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "ă•ă‚§ă ăśăĽă‚¤ ă—ă©ă‚¤ă‰ă‚«ă©ăĽ" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "ă‹ăĄăĽăă­ăŻ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "ăăĽă‚¸ă§ăłĺ±Ąć­´" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "ăăĽă‚¸ă§ăłĺ±Ąć­´(_V)" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "今日" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "ć¨ć—Ą" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 日前" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 週間前" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d ă¶ćśĺ‰Ť" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d 年前" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%Y/%0m/%0d" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "ăăĽă‚¸ă§ăł %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "ă“ă®ăŞăŞăĽă‚ąă®č©łç´°ć…ĺ ±ăŚă‚りăľă›ă‚“" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "詳細ć…報を確認ă™ă‚‹" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "アăłă‚¤ăłă‚ąăăĽă«" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "入手" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "任意ă®ć¨©é™" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻ Flatpak ă®ă‚µăłă‰ăśăクスを迂回ă—ă¦ă€<b>任意ă®ĺŹ–ĺľ—ă—ăźă„権é™</b>" "を自らă«ä»ä¸Žă§ăŤă‚‹ć¨©é™ă‚’ćŚăŁă¦ă„ăľă™ă€‚\n" "\n" "ăťă®ăźă‚ă€ă“ă®ă‚˘ă—ăŞăŻă‚µăłă‰ăśăクス化ă•れă¦ă„ăŞă„ä»–ă®ă‚˘ă—ăŞăŚă§ăŤă‚‹é€šĺ¸¸ă®ă“" "ă¨ăŚă™ăąă¦ă§ăŤăľă™ă€‚äľ‹ăă°ă€ă‚ăŞăźă®ă‚·ă‚ąă†ă ă®ă™ăąă¦ă®ă•ァイă«ă«ă‚˘ă‚Żă‚»ă‚ąă—ăź" "りă€ă‚¤ăłă‚żăĽăŤăăă«ćŽĄç¶šă—ăźă‚ŠăŞă©ă§ă™ă€‚\n" "\n" "権é™ă®ä¸€č¦§ă‚’見るă“ă¨ă§ă€ă“ă®ă‚˘ă—ăŞăŚä˝•ă‚’ă™ă‚‹ă‹ă‚’äşć¸¬ă™ă‚‹ĺŠ©ă‘ă«ăŞă‚Šăľă™ă€‚" #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "ä»–ă®ć¨©é™ă®ä¸€č¦§ă‚’見る" #. TRANSLATORS: short app safety rating label #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:402 msgid "Safe" msgstr "安全" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "アă—㪠ID" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻĺʤă„ăăĽă‚¸ă§ăłă®ă‚˝ă•ăウェア開発キăă (SDK) を使用ă—ă¦ăŠă‚Šă€ăă‚°" "や脆弱性ăŞă©ă®äż®ć­ŁăŚćŹäľ›ă•れăŞă„ăľăľă«ăŞăŁă¦ă„る可č˝ć€§ăŚă‚りăľă™ă€‚" #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "安全性" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s ăŻĺ®‰ĺ…¨ă§ă™" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s ăŻĺŤ±é™şăŞć¨©é™ă‚’使用ă—ă¦ă„ăľă›ă‚“" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s ăŻăŠăťă‚‰ăŹĺ®‰ĺ…¨ă§ă™" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s ăŻăŠăťă‚‰ăŹĺ®‰ĺ…¨ă§ăŻă‚りăľă›ă‚“" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s ăŻĺ®‰ĺ…¨ă§ăŻă‚りăľă›ă‚“" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "ć»ă‚‹" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "前ă®ă‚ąă‚ŻăŞăĽăłă‚·ă§ăă" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "次ă®ă‚ąă‚ŻăŞăĽăłă‚·ă§ăă" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "ç”»ĺŹă‚’コă”ăĽ" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "表示をăŞă‚»ăă" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "ズăĽă ă‚˘ă‚¦ă" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "ズăĽă ă‚¤ăł" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "スクăŞăĽăłă‚·ă§ăă ă‚«ă«ăĽă‚»ă«" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "スクăŞăĽăłă‚·ă§ăăăŞă—" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "スクăŞăĽăłă‚·ă§ăăă“ăĄăĽă‚˘ă‚’é–‹ăŹ" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "スクăŞăĽăłă‚·ă§ăă %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "スクăŞăĽăłă‚·ă§ăă %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "検索を削除" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "ă•ィă«ă‚żăĽ" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "認証ć¸ăż(_V)" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "ă•ăŞăĽ/オăĽă—ăł(_F)" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "サăťăĽă中(_E)" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "更新終了ă—ăźă‚˘ă—ăŞă‚’除外ă™ă‚‹" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "ă˘ăイă«ĺŻľĺżś(_M)" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "ă‚«ă†ă‚´ăŞăĽä¸€č¦§" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "アă—ăŞă€ă‚˛ăĽă ă€ă‚˝ă•ăウェアを検索" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "検索ă•ィă«ă‚żăĽ" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "ă‚«ă†ă‚´ăŞăĽä¸€č¦§" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "ă‚«ă†ă‚´ăŞăĽăŚĺ©ç”¨ä¸Ťč˝ă§ă™" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "画面上ĺ´ă«ă‚る検索ăăĽă‚’使用ă—ă¦ă‚˘ă—ăŞă‚’検索ă™ă‚‹ă€‚" #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłăŚă‚りăľă›ă‚“" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "「%s」ă¨ă„ă†ć¤śç´˘čŞžĺŹĄă«ĺ致ă™ă‚‹ă‚˘ă—ăŞăŻă€Flathub ă«ă‚りăľă›ă‚“ă§ă—ăź" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "ă–ă©ă‚¦ă‚¶ăĽ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "ĺ‹•ç”»" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "オă•ィス" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "ă‚«ă¬ăłă€ăĽ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "ăˇăă‚»ăĽă‚¸" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "ăŠçµµćŹŹăŤ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "エăźăĄă¬ăĽă‚żăĽ" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub ăšăĽă‚¸" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "ă—ă­ă‚¸ă‚§ă‚Żăă®ă‚¦ă‚§ă–サイă" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "ăă‚°ăă©ăă‚«ăĽ" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "ă‚ăŹă‚る質問" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "ăă«ă—" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "寄ä»" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "翻訳" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "連絡ĺ…" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "ă‚˝ăĽă‚ąă‚łăĽă‰" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "貢献ă™ă‚‹" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "ăžă‹ă•ェスă" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "ăŞăłă‚Żă‚’コă”ăĽă™ă‚‹" #. TRANSLATORS: page in the statistics dialog #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "時系ĺ—" #. TRANSLATORS: label prefix shown in graph tooltips, for example: "Installs: 42" #: src/bz-stats-dialog.blp:48 msgid "Installs:" msgstr "イăłă‚ąăăĽă«ć•°:" #. TRANSLATORS: page in the statistics dialog #: src/bz-stats-dialog.blp:58 msgid "World" msgstr "ĺś°ĺźźĺĄ" #: src/bz-stats-dialog.blp:72 msgid "Since 4/15/2024" msgstr "2024/04/15 ă‹ă‚‰" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "ç·Źă€ă‚¦ăłă­ăĽă‰ĺ›žć•°: %.2fM 回" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "ç·Źă€ă‚¦ăłă­ăĽă‰ĺ›žć•°: %.2fK 回" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "ç·Źă€ă‚¦ăłă­ăĽă‰ĺ›žć•°: %'d 回" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "検索çµćžśç„ˇă—" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "検索ă«ĺ¤±ć•—ă—ăľă—ăź" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’äżťćŚ" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "設定やコăłă†ăłă„ă‚’ăľăźä˝żă†ă“ă¨ă®ă§ăŤă‚‹ă‚ă†ă«äżťćŚă™ă‚‹" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "ĺ…¨ă¦ă®ă‡ăĽă‚żă‚’削除" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "アă—ăŞă®ă‡ăĽă‚żă‚’永久ă«ĺ‰Šé™¤ă—ă¦ĺ®ąé‡Źă‚’確保ă™ă‚‹" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "%s をイăłă‚ąăăĽă«ă—ăľă™ă‹?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "ă©ă®ăăĽă‚¸ă§ăłă‚’イăłă‚ąăăĽă«ă™ă‚‹ă‹ă‚’é¸ćŠžă—ă¦ăŹă ă•ă„。追加ă®ĺ…±ćś‰ă®ă‚łăłăťăĽăŤ" "ăłăăŚă‚¤ăłă‚ąăăĽă«ă•れるă“ă¨ăŚă‚りăľă™" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "追加ă®ĺ…±ćś‰ă‚łăłăťăĽăŤăłăăŚă‚¤ăłă‚ąăăĽă«ă•れるă“ă¨ăŚă‚りăľă™" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "ă‚­ăŁăłă‚»ă«(_C)" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "イăłă‚ąăăĽă«(_I)" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "%s を削除ă—ăľă™ă‹?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "削除ă™ă‚‹ăăĽă‚¸ă§ăłă‚’é¸ćŠžă—ă¦ăŹă ă•ă„。" #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "%s をアăłă‚¤ăłă‚ąăăĽă«ă—ăźĺľŚăŻă€ĺ©ç”¨ă§ăŤăŞăŹăŞă‚Šăľă™ă€‚" #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "「%s」ăŻé«ăŞă‚ąă‚Żă§ă™" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻă‚ăŞăźă®ă‚·ă‚ąă†ă ă«ĺ®Śĺ…¨ăŞă‚˘ă‚Żă‚»ă‚ąăŚĺŹŻč˝ă§ă‚りă€ă“れăŻ<b>ă‚ăŞăźă®" "ă•ァイă«ă€ă–ă©ă‚¦ă‚¶ă®é–˛č¦§ĺ±Ąć­´ă€äżťĺ­ă—ăźă‘スăŻăĽă‰</b> ă«ă‚˘ă‚Żă‚»ă‚ąĺŹŻč˝ăŞă†ăă€ă‚¤" "ăłă‚żăĽăŤăăă«ćŽĄç¶šă—ă¦ç¬¬ä¸‰č€…ă¸ă‚ăŞăźă®ă‡ăĽă‚żă‚’é€äżˇĺŹŻč˝ă§ă‚ă‚‹ă“ă¨ă‚’意味ă—ăľ" "ă™ă€‚\n" "\n" "ă“ă®ă‚˘ă—ăŞăŻă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞă§ă‚りă€ĺŹ–ĺľ—ă—ăźć¨©é™ă§ä˝•を行ăŁă¦ă„ă‚‹ă‹ă‚’検査ă™ă‚‹" "ă“ă¨ăŚă§ăŤăľă›ă‚“。" #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "ă“ă®ă‚˘ă—ăŞăŻĺŹ¤ă„ X11 ウィăłă‰ă‚¦ă‚·ă‚ąă†ă ă‚’使用ă—ă¦ăŠă‚Šă€<b>ĺ…¨ă¦ă®ă‚­ăĽă‚ąăă­ăĽ" "クをč¨éڞă—ăźă‚Šă€ă‚ąă‚ŻăŞăĽăłă‚·ă§ăăă‚’ć’®ăŁăźă‚Šă€ä»–ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚’監視ă™ă‚‹" "</b>ă“ă¨ăŚă§ăŤăľă™ă€‚ă•らă«ă€ă‚¤ăłă‚żăĽăŤăăă«ćŽĄç¶šĺŹŻč˝ăŞăźă‚ă€ç¬¬ä¸‰č€…ă«ă‚ăŞăźă®" "ă‡ăĽă‚żă‚’é€äżˇĺŹŻč˝ăŞă“ă¨ă‚’意味ă—ăľă™ă€‚\n" "\n" "ă“ă®ă‚˘ă—ăŞăŻă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞă§ă‚りă€ĺŹ–ĺľ—ă—ăźć¨©é™ă§ä˝•を行ăŁă¦ă„ă‚‹ă‹ă‚’検査ă™ă‚‹" "ă“ă¨ăŚă§ăŤăľă›ă‚“。" #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "ăťă‚Śă§ă‚‚イăłă‚ąăăĽă«ă™ă‚‹(_I)" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "ă•ァイă«ć“Ťä˝śă®ă€ă‚¤ă‚˘ă­ă‚°ă‚’読ăżčľĽă‚€ă“ă¨ăŚă§ăŤăľă›ă‚“ă§ă—ăź" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "ĺ…¨ă¦ă®ă‚˘ă—ăŞăŚă™ă§ă«ă‚¤ăłă‚ąăăĽă«ć¸ăżă§ă™" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "OK(_O)" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "%u 個ă®ă‚˘ă—ăŞă‚’イăłă‚ąăăĽă«ă—ăľă™ă‹?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "以下ă®ă‚‚ă®ăŚă‚¤ăłă‚ąăăĽă«ă•れăľă™ă€‚追加ă®ĺ…±ćś‰ă‚łăłăťăĽăŤăłăăŚă‚¤ăłă‚ąăăĽă«ă•れ" "ă‚‹ă“ă¨ăŚă‚りăľă™" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d 個ă®ă‚˘ă‰ă‚ŞăłăŚă‚¤ăłă‚ąăăĽă«ă•れăľă™ă€‚" #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "追加ă§ă€ă„ăŹă¤ă‹ă®ă‚˘ă‰ă‚ŞăłăŚă‚¤ăłă‚ąăăĽă«ă•れăľă™ă€‚" #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "ĺ…¨ă¦ă‚¤ăłă‚ąăăĽă«(_I)" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "%.02f ç§’ă§ĺ®Śäş†ă—ăľă—ăź" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "アă—㪠アă‰ă‚Şăł" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "ă©ăłă‚żă‚¤ă " #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "順番待ăˇ" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "完了" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "ă‚­ăŁăłă‚»ă«ć¸" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "エă©ăĽ" #: src/bz-transaction-tile.blp:313 msgid "Cancel Transaction" msgstr "ă•ァイă«ć“Ťä˝śă‚’ă‚­ăŁăłă‚»ă«" #: src/bz-transaction-tile.blp:323 msgid "Show Details" msgstr "詳細を開ăŹ" #: src/bz-transaction-tile.blp:438 msgid "Show Error Info" msgstr "エă©ăĽă®č©łç´°ă‚’表示" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s を解放ă—ăľă—ăź" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "ă•ァイă«ć“Ťä˝śă®ă‚¨ă©ăĽ" #: src/bz-transaction.c:344 msgid "Pending" msgstr "一時ĺść­˘ä¸­" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "ĺ…¨ă¦ć›´ć–°(_U)" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u ä»¶ă®ă©ăłă‚żă‚¤ă ă®ă‚˘ăă—ă‡ăĽă" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "残ĺ­ă™ă‚‹ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’管ç†" #: src/bz-user-data-page.blp:32 msgid "No Leftover User Data Found" msgstr "残ĺ­ă—ăźă¦ăĽă‚¶ăĽă‡ăĽă‚żăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź" #: src/bz-user-data-page.blp:33 msgid "Personal data left behind by apps that were removed will show up here" msgstr "削除ć¸ăżă®ă‚˘ă—ăŞăŚć®‹ă—ăźĺ€‹äşşç”¨ă‡ăĽă‚żăŚă“ă“ă«čˇ¨ç¤şă•れăľă™" #: src/bz-user-data-page.c:229 #, c-format msgid "Trashed User Data for %u Apps" msgstr "%u 個ă®ă‚˘ă—ăŞă®ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’ă‚´ăźç®±ă«ç§»ĺ‹•ă—ăľă—ăź" #: src/bz-user-data-page.c:230 #, c-format msgid "Trashed User Data for %s" msgstr "%s ă®ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’ă‚´ăźç®±ă«ç§»ă™" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă®ă•ă‚©ă«ă€ăĽă‚’é–‹ăŹ" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’ă‚´ăźç®±ă«ç§»ĺ‹•" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "再読ăżčľĽăżä¸­" #: src/bz-window.blp:90 msgid "Curated" msgstr "特é¸ă‚˘ă—ăŞ" #: src/bz-window.blp:102 msgid "Explore" msgstr "探索" #. Translators: . #: src/bz-window.blp:114 msgid "Library" msgstr "ă©ă‚¤ă–ă©ăŞăĽ" #: src/bz-window.blp:129 msgid "Search" msgstr "検索" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "ăˇă‚¤ăłăˇă‹ăĄăĽ" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Bazaar ă®ăăĽă‚¸ă§ăłăŚć–°ă—ăŹăŞă‚Šăľă—ăź!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "変更点を見る" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "ăŤăăăŻăĽă‚Żă«ćŽĄç¶šă•れă¦ă„ăľă™ăŚă€ă‚­ăŁăă‚·ăĄă•れ㟠Flathub を表示ă—ă¦ă„ăľă™" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "" "従量課金ă®ăŤăăăŻăĽă‚Żă«ćŽĄç¶šă—ă¦ă„ăľă™ — スăアć…ĺ ±ă®č‡Şĺ‹•読ăżčľĽăżăŻä¸€ć™‚ĺść­˘ă•" "れă¦ă„ăľă™" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "Bazaar ă«ĺŻ„ä»ă™ă‚‹(_D)" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "再読ăżčľĽăż(_R)" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "Flathub ă«ă­ă‚°ă‚¤ăł(_L)" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "残ĺ­ă—ă¦ă„ă‚‹ă¦ăĽă‚¶ăĽă‡ăĽă‚żă‚’管ç†(_M)" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "設定(_P)" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "ă‚­ăĽăśăĽă‰ă‚·ă§ăĽăă‚«ăă(_K)" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "Bazaar ă«ă¤ă„ă¦(_A)" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "Bazaar を終了(_Q)" #: src/bz-window.blp:355 msgid "Log Out" msgstr "ă­ă‚°ă‚˘ă‚¦ă" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłă®čµ·ĺ‹•失敗" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Bazaar を使ăŁă¦ Bazaar を削除ă™ă‚‹ă“ă¨ăŻă§ăŤăľă›ă‚“!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "今ă™ăă«ăŻă§ăŤăľă›ă‚“!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "ä»¶ă®ă‚¤ăłă‚ąăăĽă«" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "éŽĺŽ»1ă¶ćśă®é–“ă« %d ă€ă‚¦ăłă­ăĽă‰" #. TRANSLATORS: %s is a formatted file size, for example: "128 MB" #: src/context-tile-callbacks.c:133 #, c-format msgid "+%s runtime" msgstr "+%s ă©ăłă‚żă‚¤ă " #: src/context-tile-callbacks.c:136 msgid "Download" msgstr "ă€ă‚¦ăłă­ăĽă‰" #: src/context-tile-callbacks.c:156 msgid "Size information unavailable" msgstr "サイズă®ć…ĺ ±ăŚă‚りăľă›ă‚“" #: src/context-tile-callbacks.c:159 #, c-format msgid "Download size of %s" msgstr "ă€ă‚¦ăłă­ăĽă‰ă‚µă‚¤ă‚ş: %s" #: src/context-tile-callbacks.c:192 msgid "All Ages" msgstr "全年齢" #: src/context-tile-callbacks.c:204 msgid "Age rating information unavailable" msgstr "年齢ă¬ăĽă†ă‚Łăłă‚°ă®ć…ĺ ±ăŚă‚りăľă›ă‚“" #: src/context-tile-callbacks.c:209 msgid "Suitable for all ages" msgstr "ĺ…¨ă¦ă®ĺą´é˝˘ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/context-tile-callbacks.c:211 #, c-format msgid "Suitable for ages %d and up" msgstr "%d 歳以上ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #: src/context-tile-callbacks.c:244 src/context-tile-callbacks.c:249 #: src/context-tile-callbacks.c:277 src/context-tile-callbacks.c:286 msgid "Unknown" msgstr "不ćŽ" #: src/context-tile-callbacks.c:254 #, c-format msgid "Free software licensed under %s" msgstr "%s ă©ă‚¤ă‚»ăłă‚ąă®ă‚‚ă¨ĺ…¬é–‹ă•れă¦ă„ă‚‹ă•ăŞăĽă‚˝ă•ă" #: src/context-tile-callbacks.c:259 msgid "Free software" msgstr "ă•ăŞăĽă®ă‚˝ă•ăウェア" #: src/context-tile-callbacks.c:262 msgid "Proprietary Software" msgstr "ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞ ă‚˝ă•ăウェア" #: src/context-tile-callbacks.c:265 #, c-format msgid "Special License: %s" msgstr "特ĺĄăŞă©ă‚¤ă‚»ăłă‚ą: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:283 msgid "Free Software" msgstr "ă•ăŞăĽă®ă‚˝ă•ăウェア" #: src/context-tile-callbacks.c:311 msgid "Adaptive" msgstr "ĺą…ĺşă„ă‡ăイスă«ĺŻľĺżś" #: src/context-tile-callbacks.c:311 msgid "Desktop Only" msgstr "ă‡ă‚ąă‚Żăăă—ă®ăż" #: src/context-tile-callbacks.c:317 msgid "Works on desktop, tablets, and phones" msgstr "ă‡ă‚ąă‚Żăăă—ă€ă‚żă–ă¬ăăă€ćşĺ¸Żé›»č©±ă§ĺ‹•ăŤăľă™" #: src/context-tile-callbacks.c:318 msgid "May not work on mobile devices" msgstr "ă˘ăイă«ç«Żćś«ă§ăŻĺ‹•ă‹ăŞă„可č˝ć€§ăŚă‚りăľă™" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:405 src/context-tile-callbacks.c:408 msgid "Low Risk" msgstr "低ă„ăŞă‚ąă‚Ż" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:411 msgid "Medium Risk" msgstr "中間ă®ăŞă‚ąă‚Ż" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:414 msgid "High Risk" msgstr "é«ă„ăŞă‚ąă‚Ż" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "不ćŽăŞć¨©é™" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "ă“ă®ă‚˘ă—ăŞă®ĺ‹•作ă«ĺż…č¦ăŞć¨©é™ăŚč¨±ĺŹŻă•れă¦ă„ăľă›ă‚“。" #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "使用ă™ă‚‹ć¨©é™ăŞă—" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "アă—ăŞăŻĺ®Śĺ…¨ă«ă‚µăłă‰ăśăクス化 (隔離) ă•れă¦ă„ăľă™" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "ăŤăăăŻăĽă‚Ż ă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "イăłă‚żăĽăŤăăă«ćŽĄç¶šă™ă‚‹" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "ăŤăăăŻăĽă‚Ż ă‚˘ă‚Żă‚»ă‚ąăŞă—" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "イăłă‚żăĽăŤăăă«ćŽĄç¶šă—ăŞă„" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "ă¦ăĽă‚¶ăĽă‡ăイスă¸ă®ă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "ウェă–ă‚«ăˇă©ă‚„ゲăĽă ç”¨ă‚łăłăă­ăĽă©ăĽă®ă‚ă†ăŞă‡ăイスă«ă‚˘ă‚Żă‚»ă‚ąă§ăŤăľă™" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "ă¦ăĽă‚¶ăĽă‡ăイスă¸ă®ă‚˘ă‚Żă‚»ă‚ąăŞă—" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "ウェă–ă‚«ăˇă©ă‚„ゲăĽă ç”¨ă‚łăłăă­ăĽă©ăĽă®ă‚ă†ăŞă‡ăイスă«ă‚˘ă‚Żă‚»ă‚ąă§ăŤăľă›ă‚“" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "入力ă‡ăイスă¸ă®ă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "入力ă‡ăイスă¸ă‚˘ă‚Żă‚»ă‚ąă§ăŤăľă™" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "ăžă‚¤ă‚Żă¸ă®ă‚˘ă‚Żă‚»ă‚ąă¨éźłĺŁ°ĺ†Ťç”ź" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "ăžă‚¤ă‚Żă®ĺ…ĄĺŠ›ă¸ă®ă‚˘ă‚Żă‚»ă‚ąă¨éźłĺŁ°ĺ†Ťç”źă‚’č¨±ĺŹŻăŞăŹčˇŚăăľă™" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "シスă†ă ă‡ăイスă¸ă®ă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "特権をč¦ć±‚ă•れるシスă†ă ă‡ăイスă«ă‚˘ă‚Żă‚»ă‚ąă™ă‚‹ă“ă¨ăŚă§ăŤăľă™" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "画面ă®ĺ†…容ă¸ă®ă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "画面や他ă®ă‚¦ă‚Łăłă‰ă‚¦ă«čˇ¨ç¤şă•れă¦ă„る内容ă¸ă®ă‚˘ă‚Żă‚»ă‚ąăŚă§ăŤăľă™" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "古ă„ウィăłă‰ă‚¦ă‚·ă‚ąă†ă " #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "常ă«ĺʤă„ウィăłă‰ă‚¦ă‚·ă‚ąă†ă  (X11) を使用ă—ăľă™" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "任意ă®ă‚らゆる権é™ă‚’取得ă™ă‚‹ă“ă¨ăŚă§ăŤăľă™" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "ă¦ăĽă‚¶ăĽč¨­ĺ®š" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "ă¦ăĽă‚¶ăĽă®č¨­ĺ®šă¸ă®ă‚˘ă‚Żă‚»ă‚ąă¨ĺ¤‰ć›´ăŚă§ăŤăľă™" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "ă•ァイă«ă‚·ă‚ąă†ă ĺ…¨ä˝“ă®čŞ­ăżć›¸ăŤă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "ă•ァイă«ă‚·ă‚ąă†ă ä¸Šĺ…¨ă¦ă®ă•ァイă«ă®čŞ­ăżć›¸ăŤăŚă§ăŤăľă™" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "ă›ăĽă ă•ă‚©ă«ă€ăĽă®čŞ­ăżć›¸ăŤă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "ă‚ăŞăźă®ă›ăĽă ă‡ă‚Łă¬ă‚ŻăăŞĺ†…ă®ĺ…¨ă¦ă®ă‡ăĽă‚żă‚’読ăżć›¸ăŤă§ăŤăľă™" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "ă•ァイă«ă‚·ă‚ąă†ă ĺ…¨ä˝“ă®čŞ­ăżčľĽăżă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "ă•ァイă«ă‚·ă‚ąă†ă ä¸Šĺ…¨ă¦ă®ă‡ăĽă‚żă‚’読ăżčľĽăżă§ăŤăľă™" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "ă›ăĽă ă•ă‚©ă«ă€ăĽă®čŞ­ăżčľĽăżă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "ă‚ăŞăźă®ă›ăĽă ă‡ă‚Łă¬ă‚ŻăăŞĺ†…ă®ĺ…¨ă¦ă®ă‡ăĽă‚żă®čŞ­ăżčľĽăżăŚă§ăŤăľă™" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "ă€ă‚¦ăłă­ăĽă‰ă•ă‚©ă«ă€ăĽă®čŞ­ăżć›¸ăŤă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "ă‚ăŞăźă®ă€ă‚¦ăłă­ăĽă‰ ă‡ă‚Łă¬ă‚ŻăăŞĺ†…ă®ĺ…¨ă¦ă®ă‡ăĽă‚żă‚’読ăżć›¸ăŤă§ăŤăľă™" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "ă€ă‚¦ăłă­ăĽă‰ă•ă‚©ă«ă€ăĽă®čŞ­ăżčľĽăżă‚˘ă‚Żă‚»ă‚ą" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "ă‚ăŞăźă®ă€ă‚¦ăłă­ăĽă‰ ă‡ă‚Łă¬ă‚ŻăăŞĺ†…ă®ĺ…¨ă¦ă®ă‡ăĽă‚żă‚’読ăżă“ăżă§ăŤăľă™" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "ă“ă®ă‡ă‚Łă¬ă‚ŻăăŞĺ†…ă®ĺ…¨ă¦ă®ă‡ăĽă‚żă‚’読ăżć›¸ăŤă§ăŤăľă™" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "ă“ă®ă‡ă‚Łă¬ă‚ŻăăŞĺ†…ă®ĺ…¨ă¦ă®ă‡ăĽă‚żă®čŞ­ăżčľĽăżăŚă§ăŤăľă™" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "ă•ァイă«ă‚·ă‚ąă†ă ă¸ă®ă‚˘ă‚Żă‚»ă‚ąăŞă—" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "ă•ァイă«ă‚·ă‚ąă†ă ă¸ă®ă‚˘ă‚Żă‚»ă‚ąăŻĺ…¨ăŹčˇŚă„ăľă›ă‚“" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "シスă†ă ă‚µăĽă“スを使用" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Portal 以外ă®ă‚·ă‚ąă†ă ă‚µăĽă“スă¸ă‡ăĽă‚żă‚’ăŞă‚Żă‚¨ă‚ąăă§ăŤăľă™" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "ă‚»ăă‚·ă§ăł サăĽă“スを使用" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Portal 以外ă®ă‚»ăă‚·ă§ăł サăĽă“スă¸ă‡ăĽă‚żă‚’ăŞă‚Żă‚¨ă‚ąăă§ăŤăľă™" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "サăĽă“スă¸ă®ă‚˘ă‚Żă‚»ă‚ąăŞă—" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "Portal 以外ă®ă‚·ă‚ąă†ă ă‚„ă‚»ăă‚·ă§ăłă®ă‚µăĽă“スă¸ă®ă‚˘ă‚Żă‚»ă‚ąă‚’ĺ…¨ăŹčˇŚă„ăľă›ă‚“" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "検証ć¸ăżă‚˘ă—ăŞé–‹ç™şč€…" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "ă“ă®ă‚˘ă—ăŞă®é–‹ç™şč€…ăŻăŞă‚Šă™ăľă—ă§ăŻăŞă„ă“ă¨ăŚç˘şčŞŤă•れă¦ă„ăľă™" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞăŞă‚łăĽă‰" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "ă‚˝ăĽă‚ąă‚łăĽă‰ăŚĺ…¬é–‹ă•れă¦ă„ăŞă„ăźă‚ă€ĺ€‹ĺĄă«ç›Łćź»ă™ă‚‹ă“ă¨ăŚă§ăŤăšă€č„†ĺĽ±ă§ă‚る可" "č˝ć€§ăŚă‚りăľă™" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "検査可č˝ăŞă‚łăĽă‰" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "ă“ă®ă‚˘ă—ăŞă®ă‚˝ăĽă‚ąă‚łăĽă‰ăŻĺ…¬é–‹ă•れă¦ăŠă‚Šă€č‡Şä¸»çš„ă«ć¤śćź»ĺŹŻč˝ăŞăźă‚ă€ĺ®‰ĺ…¨ăŞĺŹŻč˝" "性ăŚé«ă„ă§ă™" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "シスă†ă ă‚µăĽă“ス %s を使用" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "ă‚»ăă‚·ă§ăł サăĽă“ス %s を使用" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "サăĽă“ス %s を使用" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Portal 以外ă®ă‚µăĽă“スを見るă“ă¨ăŚă§ăŤăľă™" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Portal 以外ă®ă‚µăĽă“スă¨é€šäżˇă§ăŤăľă™" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Portal 以外ă®ă‚µăĽă“スを保有ă§ăŤăľă™" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "ă‚°ă­ăĽăă« ăˇă‹ăĄăĽçµ±ĺ" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "ă‚°ă­ăĽăă«ăŞăˇă‹ăĄăĽăăĽă«čż˝ĺŠ ă®ăˇă‹ăĄăĽă‚’表示ă§ăŤăľă™" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE 設定統ĺ" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "KDE ă‡ă‚ąă‚Żăăă—ă®č¨­ĺ®šăŚĺ¤‰ć›´ă•れăźă¨ăŤă«ć¤śçźĄă§ăŤăľă™" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDE ă®ă‚°ă­ăĽăă«č¨­ĺ®š" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "KDE ă‡ă‚ąă‚Żăăă—ă®č¨­ĺ®š (ă•ă‚©ăłăă‚„ă‚«ă©ăĽăŞă©) を読ăżčľĽă‚€ă“ă¨ăŚă§ăŤăľă™" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "ă‚·ăĽă‚Żă¬ăă スăă¬ăĽă‚¸ サăĽă“ス" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "シスă†ă ă®ă‚­ăĽăŞăłă‚°ă‚’使用ă—ă¦ă€ă‘スăŻăĽă‰ă‚’äżťĺ­ăľăźăŻĺĽ•ăŤĺ‡şă™ă“ă¨ăŚă§ăŤăľă™" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "ă‡ă‚ąă‚Żăăă—通知サăĽă“ス" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "ă‡ă‚ąă‚Żăăă—ă«é€šçźĄă‚’é€äżˇă§ăŤăľă™" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "シスă†ă ăă¬ă‚¤çµ±ĺ" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "シスă†ă ăă¬ă‚¤ă«ă‚˘ă‚¤ă‚łăłă‚’表示ă§ăŤăľă™" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE コăŤă‚Żăçµ±ĺ" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "KDE コăŤă‚Żăă§ăšă‚˘ăŞăłă‚°ă•れăźă‡ăイスă¨é€šäżˇă™ă‚‹ă“ă¨ăŚă§ăŤăľă™" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "ăŠă“ゲăĽă‚·ă§ăł" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "探索ăšăĽă‚¸ă‚’表示" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "ă©ă‚¤ă–ă©ăŞ ăšăĽă‚¸ă‚’é–‹ăŹ" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "検索ăšăĽă‚¸ă‚’表示" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "ăŞă˘ăĽă" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "ăŞă˘ăĽăă¨ĺŚćśź" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "一č¬" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "設定を開ăŹ" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "ă‚·ă§ăĽăă‚«ăăを表示" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "ウィăłă‰ă‚¦ă‚’é–‰ăă‚‹" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Bazaar を終了" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "%u 個ă®ă‚˘ă—ăŞăŚć›´ć–°ă•れăľă—ăź" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "%s ăŻć›´ć–°ă•れăľă—ăźă€‚" #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "%s 㨠%s ăŻć›´ć–°ă•れăľă—ăźă€‚" #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "%s ă€%s 㨠%s ă‚’ĺ«ă‚€" #~ msgid "Free" #~ msgstr "ă•ăŞăĽ" #~ msgid "Empty" #~ msgstr "空" #~ msgid "Loading" #~ msgstr "読ăżčľĽăżä¸­" #~ msgid "Flathub Unavailable" #~ msgstr "Flathub ăŚĺ©ç”¨ä¸ŤĺŹŻ" #~ msgid "Content" #~ msgstr "内容" #~ msgid "Clear search" #~ msgstr "検索を削除" #~ msgid "Select Metainfo File" #~ msgstr "ăˇă‚żć…ĺ ±ă•ァイă«ă‚’é¸ćŠž" #~ msgid "Metainfo Files" #~ msgstr "ăˇă‚żć…ĺ ±ă•ァイă«" #~ msgid "Preview" #~ msgstr "ă—ă¬ă“ăĄăĽ" #~ msgid "User Data" #~ msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚ż" #~ msgid "Add pending state to the global progress bar" #~ msgstr "全体ă®ă—ă­ă‚°ă¬ă‚ąăăĽă«ä¸­ć­˘ă®çŠ¶ć…‹ă‚’čż˝ĺŠ ă—ăľă—ăź" #~ msgid "More improvements:" #~ msgstr "改善点:" #~ msgid "Some improvements:" #~ msgstr "改善点:" #~ msgid "This release includes:" #~ msgstr "今回ă®ăŞăŞăĽă‚ąă«ĺ«ăľă‚Śă‚‹ĺ¤‰ć›´:" #~ msgid "User Data Size" #~ msgstr "ă¦ăĽă‚¶ăĽă‡ăĽă‚żă®ă‚µă‚¤ă‚ş" #~ msgid "Open App Library" #~ msgstr "アă—㪠ă©ă‚¤ă–ă©ăŞă‚’é–‹ăŹ" #~ msgid "Flathub returned an error" #~ msgstr "Flathub ăŚă‚¨ă©ăĽă‚’čż”ă—ăľă—ăź" #~ msgid "Retry Flathub Connection" #~ msgstr "Flathub ă¸ă®ćŽĄç¶šă‚’ĺ†Ťč©¦čˇŚ" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "" #~ ".flatpak 形式ă®ăăłă‰ă«ă‚’イăłă‚ąăăĽă«ă™ă‚‹ć©źč˝ăŻăľă ă‚µăťăĽăă•れă¦ă„ăľă›ă‚“" #~ msgid "Tags:" #~ msgstr "タグ:" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "ă‚ăŞăźă® Flathub アカウăłăă‚’ Bazzar ă¸ćŽĄç¶šă—ă¦ă€ăŠć°—ă«ĺ…Ąă‚Šă®ă‚˘ă—ăŞă‚’管ç†" #~ "ă—ă‚ă†ă€‚" #~ msgid "Delay Search Results" #~ msgstr "検索ă®é…ĺ»¶" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "" #~ "入力ă‹ă‚‰ć¤śç´˘ăľă§ă‚’わăšă‹ă«é…ĺ»¶ă•ă›ă‚‹ă“ă¨ă§ć¤śç´˘ă®ă‘ă•ă‚©ăĽăžăłă‚ąă‚’ĺ‘上ă•ă›ă‚‹" #~ msgid "Progress Bar" #~ msgstr "ă—ă­ă‚°ă¬ă‚ąăăĽ" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "ă—ă­ă‚°ă¬ă‚ąăăĽă‚’好ăŤăŞă†ăĽăžă§ĺ˝©ă‚Šăľă—ょă†!" #~ msgid "Vertical Stripes" #~ msgstr "垂直ă®ă‚ąăă©ă‚¤ă—" #~ msgid "Display flag colors from left to right" #~ msgstr "ć——ă®č‰˛ă‚’ĺ·¦ă‹ă‚‰ĺŹłă¸ă¨čˇ¨ç¤şă—ăľă™" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" #~ msgid "Open Link" #~ msgstr "ăŞăłă‚Żă‚’é–‹ăŹ" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "\"%s\" タグă®ă¤ă„ăźă‚˘ă—ăŞ" #~ msgid "Refresh completed!" #~ msgstr "再読ăżčľĽăżĺ®Śäş†!" #~ msgctxt "As in, \"100 Installs\"" #~ msgid "Installs" #~ msgstr "イăłă‚ąăăĽă«" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "再読ăżčľĽăż" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "Bazaar ă«ĺŻ„ä»ă™ă‚‹âť¤ď¸Ź(_D)" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgctxt "As in, \"100 Downloads\"" #~ msgid "Downloads" #~ msgstr "ă€ă‚¦ăłă­ăĽă‰" #~ msgid "Download & Install Application" #~ msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłă‚’ă€ă‚¦ăłă­ăĽă‰ă—ă¦ă‚¤ăłă‚ąăăĽă«ă™ă‚‹" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "Linux ă®ă‡ă‚ąă‚Żăăă—を開発ă—ă¦ă„る開発者ăźăˇă‚’支援ă™ă‚‹ă“ă¨ăŻé‡Ťč¦ă§ă™ă€‚" #~ "Bazaar ă§ăŻă‡ă‚Łă‚ąăăŞă“ăĄăĽă‚żăĽăŚç®ˇç†ă§ăŤă‚‹ă€Śç‰ąé¸ă‚˘ă—ăŞă€Ťă‚żă–ă«ă‚ăŁă¦ă¦ăĽ" #~ "ă‚¶ăĽă®ä˝“験を最é©ĺŚ–ă™ă‚‹ă“ă¨ă‚’可č˝ă«ă—ăľă™ă€‚" #~ msgid "Install Other Version" #~ msgstr "ă»ă‹ă®ăăĽă‚¸ă§ăłă‚’イăłă‚ąăăĽă«" #~ msgid "%e %B" #~ msgstr "%0m/%0d" #~ msgid "Keep Data" #~ msgstr "ă‡ăĽă‚żă‚’äżťćŚ" #~ msgid "Open App" #~ msgstr "アă—ăŞă‚’é–‹ăŹ" #~ msgid "Support this application" #~ msgstr "ă“ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚’支援ă™ă‚‹" #~ msgid "Manage Add-ons" #~ msgstr "アă‰ă‚Şăłă‚’管ç†ă™ă‚‹" #~ msgid "_Login with Flathub" #~ msgstr "Flathub ă«ă­ă‚°ă‚¤ăł(_L)" #~ msgid "_Synchronize Remotes" #~ msgstr "ăŞă˘ăĽăă¨ĺŚćśź(_S)" #~ msgid "Synchronizing..." #~ msgstr "ĺŚćśźä¸­..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "%d ä»¶ă®ă‚¨ăłăăŞă‚’受信中..." #~ msgid "Indexing Data..." #~ msgstr "ă‡ăĽă‚żă‚’イăłă‡ăクス中..." #~ msgid "View the Release Page" #~ msgstr "ăŞăŞăĽă‚ąăšăĽă‚¸ă‚’表示" #~ msgid "Close" #~ msgstr "é–‰ăă‚‹" #~ msgid "Copy and Close" #~ msgstr "コă”ăĽă—ă¦é–‰ăă‚‹" #~ msgid "Refreshing Store Content" #~ msgstr "スăアă®ĺ†…容を再読ăżčľĽăżä¸­" #~ msgid "No background tasks!" #~ msgstr "ăăクグă©ă‚¦ăłă‰ă‚żă‚ąă‚ŻăŚă‚りăľă›ă‚“!" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "アă—ăŞă‚’é–‰ăă‚‹" #~ msgid "Nucleus app page" #~ msgstr "Nucleus アă—ăŞăšăĽă‚¸" #, fuzzy #~ msgid "Better track installed versions of apps" #~ msgstr "イăłă‚ąăăĽă«ć¸ăżă®ă‚˘ă—ăŞă‚’検索" #~ msgid "Toggle transaction sidebar" #~ msgstr "ă€ă‚¦ăłă­ăĽă‰ă®ă‚µă‚¤ă‰ăăĽă‚’表示/非表示" #~ msgid "Ongoing" #~ msgstr "進行中" #~ msgid "Finished" #~ msgstr "完了ć¸ăż" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "%s 転é€ć¸ăż" #~ msgid "Tasks" #~ msgstr "タスク" #~ msgid "Stop Active Tasks" #~ msgstr "現在進行中ă®ă‚żă‚ąă‚Żă‚’ĺść­˘" #~ msgid "No Tasks Yet" #~ msgstr "タスクăŚă‚りăľă›ă‚“" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d ä»¶ă®ć›´ć–°ăŚĺ©ç”¨ĺŹŻč˝ă§ă™" #~ msgid "Updates Are Available" #~ msgstr "ć›´ć–°ăŚĺ©ç”¨ĺŹŻč˝ă§ă™" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "以下ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłăŚć›´ć–°ă®ĺŻľč±ˇă«ăŞăŁă¦ă„ăľă™ă€‚イăłă‚ąăăĽă«ă—ă¦ă‚‚ă‚ろă—" #~ "ă„ă§ă™ă‹?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "%d 個ă®ă©ăłă‚żă‚¤ă ă‚„アă‰ă‚ŞăłăŚć›´ć–°ă®ĺŻľč±ˇă«ăŞăŁă¦ă„ăľă™ă€‚イăłă‚ąăăĽă«ă—ă¦ă‚‚" #~ "ă‚ろă—ă„ă§ă™ă‹?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "ă•ら㫠%d 個ă®ă©ăłă‚żă‚¤ă ă‚„ă€ă‚˘ă‰ă‚ŞăłăŚć›´ć–°ă•れăľă™ă€‚" #~ msgid "Update Now" #~ msgstr "今ă™ăć›´ć–°" #~ msgid "Resume Current Tasks" #~ msgstr "中止中ă®ă‚żă‚ąă‚Żă‚’再開" #~ msgid "Pause Current Tasks" #~ msgstr "現在ă®ă‚żă‚ąă‚Żă‚’一時ĺść­˘" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "ă€ă‚¦ăłă­ăĽă‰ăžăŤăĽă‚¸ăŁăĽă®čˇ¨ç¤ş/非表示" #~ msgid "Pride Colors (Horizontal)" #~ msgstr "ă—ă©ă‚¤ă‰ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Lesbian Pride Colors (Horizontal)" #~ msgstr "ă¬ă‚şă“ア㳠ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Male Homosexual Pride Colors (Horizontal)" #~ msgstr "男性 ă›ă˘ă‚»ă‚Żă‚·ăŁă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Transgender Pride Colors (Horizontal)" #~ msgstr "ăă©ăłă‚ąă‚¸ă‚§ăłă€ăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Nonbinary Pride Colors (Horizontal)" #~ msgstr "ăŽăłăイăŠăŞăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Bisexual Pride Colors (Horizontal)" #~ msgstr "ăイセクシăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Asexual Pride Colors (Horizontal)" #~ msgstr "アセクシăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Pansexual Pride Colors (Horizontal)" #~ msgstr "ă‘ăłă‚»ă‚Żă‚·ăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Aromantic Pride Colors (Horizontal)" #~ msgstr "アă­ăžăłă†ă‚Łăク ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Genderfluid Pride Colors (Horizontal)" #~ msgstr "ジェăłă€ăĽă•ă«ă‚¤ă‰ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Polysexual Pride Colors (Horizontal)" #~ msgstr "ăťăŞă‚»ă‚Żă‚·ăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Omnisexual Pride Colors (Horizontal)" #~ msgstr "オă ă‹ă‚»ă‚Żă‚·ăĄă‚˘ă« ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Aroace Pride Colors (Horizontal)" #~ msgstr "アă­ă‚¨ăĽă‚ą ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Agender Pride Colors (Horizontal)" #~ msgstr "アジェăłă€ăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Genderqueer Pride Colors (Horizontal)" #~ msgstr "ジェăłă€ăĽă‚Żă‚Łă‚˘ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Intersex Pride Colors (Horizontal)" #~ msgstr "イăłă‚żăĽă‚»ăクス ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Demigender Pride Colors (Horizontal)" #~ msgstr "ă‡ăźă‚¸ă‚§ăłă€ăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Biromantic Pride Colors (Horizontal)" #~ msgstr "ăイă­ăžăłă†ă‚Łăク ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Disability Pride Colors (Horizontal)" #~ msgstr "ă‡ă‚Łă‚ąă‚˘ă“ăŞă†ă‚ŁăĽ ă—ă©ă‚¤ă‰ ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "Femboy Pride Colors (Horizontal)" #~ msgstr "ă•ă‚§ă ăśăĽă‚¤ ă—ă©ă‚¤ă‰ă‚«ă©ăĽ (ć°´ĺął)" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "ă­ăĽă‚«ă«ă® flatpak ăăłă‰ă«ă•ァイă«ă‚’表示ă€ă‚¤ăłă‚ąăăĽă«ă™ă‚‹ć©źč˝ăŻčż‘日追加" #~ "äşĺ®šă§ă™! ă—ă°ă‚‰ăŹă®é–“ăŻä»Łă‚Źă‚Šă«ă€\n" #~ "\n" #~ "flatpak install --bundle ăăłă‰ă«ă•ァイă«ĺŤ.flatpak\n" #~ "\n" #~ "をコăžăłă‰ă©ă‚¤ăłă§ĺ®źčˇŚă—ă¦ăŹă ă•ă„。" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u ă€ă‚¦ăłă­ăĽă‰" #~ msgid "Hide EOL Entries" #~ msgstr "更新終了ă®ă‚¨ăłăăŞă‚’非表示" #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "ć›´ć–°ăŚçµ‚了ă—ăźă‚¨ăłăăŞă‚„ă€ăťă‚Śă«äľťĺ­ă—ă¦ă„るエăłăăŞă‚’非表示ă«ă™ă‚‹" #~ msgid "Only Show Free Software" #~ msgstr "ă•ăŞăĽă®ă‚˝ă•ăウェアă®ăżčˇ¨ç¤ş" #~ msgid "Hide proprietary software" #~ msgstr "ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞ ă‚˝ă•ăウェアを非表示" #~ msgid "Show Only Flathub Content" #~ msgstr "Flathub ă®ĺ†…容ă®ăżčˇ¨ç¤ş" #~ msgid "Debounce Search Inputs" #~ msgstr "検索ă®é…ĺ»¶" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "" #~ "入力ă—ă¦ă‹ă‚‰ć¤śç´˘ă•れるăľă§ă«é…延を設ă‘ă€ĺŤłĺş§ă«çµćžśăŚčˇ¨ç¤şă•れăŞă„ă‚ă†ă«ă™ă‚‹" #~ msgid "Describes the look of the global progress bar" #~ msgstr "全体ă®ă—ă­ă‚°ă¬ă‚ąăăĽă®č¦‹ăźç›®ă‚’変更ă™ă‚‹" #~ msgid "Saved Window Dimensions" #~ msgstr "äżťĺ­ă—ăźă‚¦ă‚Łăłă‰ă‚¦ă‚µă‚¤ă‚ş" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "次回 Bazaar ă®ă‚¦ă‚Łăłă‰ă‚¦ă‚’表示ă™ă‚‹ć™‚ă«ä˝żç”¨ă•れるウィăłă‰ă‚¦ă®ĺŻ¸ćł•" #, c-format #~ msgid "%s is suitable for toddlers" #~ msgstr "%s ăŻĺąĽĺ…ă®ă¦ăĽă‚¶ăĽă«é©ă—ă¦ă„ă‚‹" #~ msgid "Of the size of human DNA" #~ msgstr "äşşé–“ă®DNAă®ă‚µă‚¤ă‚şă«ĺŻľă™ă‚‹ĺ‰˛ĺ" #~ msgid "3 billion base pairs" #~ msgstr "30億塩基対" #~ msgid "Of the Linux Kernel" #~ msgstr "linuxă®ă‚«ăĽăŤă«ă«ĺŻľă™ă‚‹ĺ‰˛ĺ" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "アăťă­11号ă®ă‚¬ă‚¤ă€ăłă‚ąă‚łăłă”ăĄăĽă‚żă«ĺŻľă™ă‚‹ĺ‰˛ĺ" #~ msgid "Total ROM and RAM" #~ msgstr "ROMă¨RAMă®ĺč¨" #~ msgid "Of the original Super Mario Bros" #~ msgstr "ĺťä»Łă‚ąăĽă‘ăĽăžăŞă‚Şă–ă©ă‚¶ăĽă‚şă«ĺŻľă™ă‚‹ĺ‰˛ĺ" #~ msgid "On the NES" #~ msgstr "ă•ァăźă‚łăłç‰" #~ msgid "Of the size of Wikipedia" #~ msgstr "Wikipedia ă®ă‚µă‚¤ă‚şă«ĺŻľă™ă‚‹ĺ‰˛ĺ" #~ msgid "Without any media" #~ msgstr "ç”»ĺŹă‚„音声ăŞă©ă‚’除ă„ăźă‚µă‚¤ă‚ş" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "ă“ă®ć©źč˝ăŻçŹľĺś¨ç„ˇĺŠąă«ăŞăŁă¦ă„ăľă™ă€‚アă—ăŞă®ć¨©é™ă‚’管ç†ă™ă‚‹ăźă‚ă«ăŻă€" #~ "Flatseal をイăłă‚ąăăĽă«ă™ă‚‹ă“ă¨ă‚’推奨ă—ăľă™ă€‚" #~ msgid "Serialize" #~ msgstr "ă‚·ăŞă‚˘ă©ă‚¤ă‚ş" #~ msgid "Convert to JSON" #~ msgstr "JSON ă«ĺ¤‰ćŹ›ă™ă‚‹" #~ msgid "More Mobile apps" #~ msgstr "ă˘ăイă«ĺŻľĺżśă‚˘ă—ăŞă‚’ă‚‚ăŁă¨č¦‹ă‚‹" #~ msgid "Bazaar Inspector" #~ msgstr "Bazaar イăłă‚ąăšă‚Żă‚żăĽ" #~ msgid "Enable Global Debug Mode" #~ msgstr "全域ă®ă‡ăăă‚°ă˘ăĽă‰ă‚’有効化" #~ msgid "Active Blocklists" #~ msgstr "有効ăŞă–ă©ăクăŞă‚ąă" #~ msgid "Active Curated-Configs" #~ msgstr "有効ăŞç‰ąé¸ă‚˘ă—ăŞă®č¨­ĺ®š" #~ msgid "All Entry Groups" #~ msgstr "ĺ…¨ă¦ă®ă‚¨ăłăăŞă‚°ă«ăĽă—" #~ msgid "No Flatpaks Installed" #~ msgstr "Flatpak ăŚă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“" #~ msgid "Inspect UI Entry" #~ msgstr "UI エăłăăŞă‚’検査" #~ msgid "All Debug Actions" #~ msgstr "ă™ăąă¦ă®ă‡ăăグオă—ă‚·ă§ăł" #~ msgid "Open Bazaar Inspector" #~ msgstr "Bazaar イăłă‚ąăšă‚Żă‚żăĽă‚’é–‹ăŹ" #~ msgid "Show Git Forge Star Counts" #~ msgstr "Git Forge ă®ă‚ąă‚żăĽć•°ă‚’表示" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "「スタăĽă®ć•°ă€Ťă‚’ă—ă­ă‚¸ă‚§ă‚Żăă®č©łç´°ç”»éť˘ă§čˇ¨ç¤şă™ă‚‹ă‹ă©ă†ă‹" #~ msgid "Repository Star Count" #~ msgstr "ăŞăťă‚¸ăăŞăĽă®ă‚ąă‚żăĽć•°" #~ msgid "Display Star Count" #~ msgstr "スタăĽă®ć•°ă‚’表示" #~ msgid "Show the star count of an application's source code repository" #~ msgstr "アă—ăŞă®ă‚˝ăĽă‚ąă‚łăĽă‰ăŚă‚ă‚‹ăŞăťă‚¸ăăŞă®ă‚ąă‚żăĽă®ć•°ă‚’表示ă™ă‚‹" #~ msgid "" #~ "Bazaar can fetch and display the star count from an application's source " #~ "code repository on a remote Git forge. \n" #~ " For projects on GitHub, rate limits may cause them not to appear." #~ msgstr "" #~ "Bazzar㯠Git forge ă®ăŞă˘ăĽăă«ă‚るアă—ăŞă‚±ăĽă‚·ă§ăłă®ăŞăťă‚¸ăăŞă«ä»ă‘られ" #~ "ăźă‚ąă‚żăĽă®ć•°ă‚’取得ă—ă¦ă€čˇ¨ç¤şă§ăŤăľă™ă€‚\n" #~ "GitHub ă®ă—ă­ă‚¸ă‚§ă‚Żăă§ăŻă€ă¬ăĽăĺ¶é™ă«ă‚り表示ă•れăŞă„ă“ă¨ăŚă‚りăľă™ă€‚" #~ msgid "Mobile Apps" #~ msgstr "ă˘ăイă«ĺŻľĺżśă‚˘ă—ăŞ" #~ msgid "Verified by the original developers" #~ msgstr "オăŞă‚¸ăŠă«ă®é–‹ç™şč€…ă«ă‚ăŁă¦ć¤śč¨Ľć¸ăżă§ă™" #~ msgid "Hide proprietary software when searching" #~ msgstr "検索çµćžśă‹ă‚‰ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞă®ă‚˝ă•ăウェアを除外ă—ăľă™" #~ msgid "Filter search results to only show applications available on Flathub" #~ msgstr "検索çµćžśă‚’ Flathub ă§ĺ©ç”¨ĺŹŻč˝ăŞă‚˘ă—ăŞă®ăżă«é™ĺ®šă™ă‚‹" #~ msgid "Constructing Flatpak instance..." #~ msgstr "Flatpak ă®ă‚¤ăłă‚ąă‚żăłă‚ąă‚’生ć中..." #~ msgid "Reusing last Flatpak instance..." #~ msgstr "Flatpak ă®ă‚¤ăłă‚ąă‚żăłă‚ąă‚’再ĺ©ç”¨ä¸­..." #~ msgid "Flathub is not registered on this system" #~ msgstr "Flathub ăŚă‚·ă‚ąă†ă ă«ç™»éڞă•れă¦ă„ăľă›ă‚“" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "Flathub ă‚’ăŞă˘ăĽăă®ăŞăťă‚¸ăăŞă«čż˝ĺŠ ă—ăľă™ă‹? ć‹’ĺ¦ă—ăźĺ ´ĺă€Flathub ăšăĽă‚¸" #~ "ăŻĺ©ç”¨ă§ăŤăľă›ă‚“。ă“れăŻă€ă‚ă¨ă‹ă‚‰ĺ¤‰ć›´ĺŹŻč˝ă§ă™ă€‚" #~ msgid "Add Flathub" #~ msgstr "Flathub を追加" #, c-format #~ msgid "Identifying installed entries..." #~ msgstr "イăłă‚ąăăĽă«ć¸ăżă®ă‚¨ăłăăŞă‚’特定中..." #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "" #~ "%d ä»¶ă®ă–ă­ăクăŞă‚ąăを参照ă—ăŞăŚă‚‰ăŞă˘ăĽăă®ă‚¨ăłăăŞă®ĺŹ–ĺľ—é–‹ĺ§‹ä¸­..." #, c-format #~ msgid "%'d of %'d" #~ msgstr "%'d / %'d" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "ăăクグă©ă‚¦ăłă‰ă®ă‚¤ăłă‡ăクス処ç†ăŚçµ‚了ă™ă‚‹ă®ă‚’ĺľ…ăŁă¦ă„ăľă™..." #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "%0.2f ă§ĺťćśźĺŚ–ă‚’ĺ®Śäş†ă—ăľă—ăź" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "Bazaar ăŚčŞ­ăżčľĽă‚る特é¸ă‚˘ă—ăŞă®ć…ĺ ±ăŚă‚りăľă›ă‚“ă§ă—ăźă€‚ă‚ăŞăźăŚä˝żç”¨ă—ă¦ă„" #~ "ă‚‹ OS ă®ă‚µăťăĽăăăŁăłăŤă«ă«é€Łçµˇă—ă¦ăŹă ă•ă„。" #~ msgid "Run this application" #~ msgstr "ă“ă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚’実行ă™ă‚‹" #~ msgid "Run" #~ msgstr "実行" #~ msgid "Git Forge Star Counts" #~ msgstr "Git Forge ă®ă‚ąă‚żăĽć•°" #~ msgid "Not having a GitHub access token may trigger rate limits" #~ msgstr "" #~ "GitHub ă®ă‚˘ă‚Żă‚»ă‚ąăăĽă‚Żăłç„ˇă—ă§ăŻă¬ăĽăĺ¶é™ă®ĺŽźĺ› ă¨ăŞă‚‹ĺŹŻč˝ć€§ăŚă‚りăľă™" #~ msgid "Show Only Flathub Apps" #~ msgstr "Flathub ă®ă‚˘ă—ăŞă®ăżčˇ¨ç¤ş" #~ msgid "Wait for a brief pause to reduce system load" #~ msgstr "シスă†ă ă®č˛ čŤ·ă‚’減らă™ăźă‚ă€ĺ°‘ă—ă®ĺľ…ăˇć™‚間を追加ă™ă‚‹" #~ msgid "Go Home" #~ msgstr "ă›ăĽă ă«ć»ă‚‹" #~ msgid "Browse" #~ msgstr "ă–ă©ă‚¦ă‚ş" #~ msgid "View curated applications" #~ msgstr "厳é¸ă•れăźă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłă‚’表示ă™ă‚‹" #~ msgid "View the latest on Flathub" #~ msgstr "Flathub ă®ćś€ć–°ă®ă‚˘ă—ăŞă‚’表示ă™ă‚‹" #~ msgid "Settings & user data will be kept" #~ msgstr "設定ă¨ă¦ăĽă‚¶ăĽă‡ăĽă‚żăŻäżťćŚă•れăľă™" #~ msgid "Pride Rainbow Flag" #~ msgstr "ă—ă©ă‚¤ă‰ă¬ă‚¤ăłăśăĽ ă•ă©ăă‚°" #~ msgid "Bisexual Flag" #~ msgstr "ăイセクシăĄă‚˘ă« ă•ă©ăă‚°" #~ msgid "Asexual Flag" #~ msgstr "アセクシăĄă‚˘ă« ă•ă©ăă‚°" #~ msgid "_Quit Service" #~ msgstr "_サăĽă“スă®ĺść­˘" #~ msgid "Graphics" #~ msgstr "ă‚°ă©ă•ィăク" #~ msgctxt "Project URL Type" #~ msgid "Homepage" #~ msgstr "ă›ăĽă ăšăĽă‚¸" #~ msgid "Excludes shared components" #~ msgstr "共有ă®ă‚łăłăťăĽăŤăłăを除ăŹ" #~ msgid "Source code may not be available" #~ msgstr "ă‚˝ăĽă‚ąă‚łăĽă‰ă‚’入手ă§ăŤăŞă„ă“ă¨ăŚă‚りăľă™" #~ msgid "Click for details" #~ msgstr "クăŞăクă§č©łç´°ă‚’é–‹ăŹ" #~ msgid "Repositories" #~ msgstr "ăŞăťă‚¸ăăŞăĽ" #~ msgid "Open in browser" #~ msgstr "ă–ă©ă‚¦ă‚¶ăĽă§é–‹ăŹ" #, c-format #~ msgid "%'d Monthly Downloads" #~ msgstr "ćśé–“ %'d ă€ă‚¦ăłă­ăĽă‰" #~ msgid "Theme" #~ msgstr "ă†ăĽăž" #~ msgid "Share" #~ msgstr "共有" #~ msgid "Manage Addons" #~ msgstr "アă‰ă‚Şăłă‚’管ç†ă™ă‚‹" #~ msgid "%B %-d" #~ msgstr "%0m/%0d" #~ msgid "Up to date!" #~ msgstr "最新ă§ă™!" #~ msgid "Calligraphy application page" #~ msgstr "ă‚«ăŞă‚°ă©ă•ィăĽă®ă‚˘ă—ăŞă‚±ăĽă‚·ă§ăłăšăĽă‚¸" #~ msgid "Download graph for Blender" #~ msgstr "Blender ă®ă‚°ă©ă•ă‚’ă€ă‚¦ăłă­ăĽă‰" #~ msgid "Open this image in the default image viewer" #~ msgstr "ă“ă®ç”»ĺŹă‚’ă‡ă•ă‚©ă«ăă®ç”»ĺŹă“ăĄăĽă‚˘ăĽă§é–‹ăŹ" #~ msgid "Copy this image to the clipboard" #~ msgstr "ă“ă®ç”»ĺŹă‚’クăŞăă—ăśăĽă‰ă«ă‚łă”ăĽă™ă‚‹" #~ msgid "Show Downloads Over Time" #~ msgstr "éŽĺŽ»ă®ćśźé–“ă«ĺŻľă™ă‚‹ă€ă‚¦ăłă­ăĽă‰ć•°ă®ă‚°ă©ă•を表示ă™ă‚‹" #~ msgid "Remote repo name" #~ msgstr "ăŞă˘ăĽăă®ăŞăťă‚¸ăăŞăĽă®ĺŤĺ‰Ť" #~ msgid "Updated Size" #~ msgstr "更新後ă®ă‚µă‚¤ă‚ş" #~ msgid "Freed Space" #~ msgstr "解放ă•れăźĺ®ąé‡Ź" #~ msgid "Transactions Will Appear Here" #~ msgstr "ă€ă‚¦ăłă­ăĽă‰ăŻă“ă“ă«čˇ¨ç¤şă•れăľă™" #~ msgid "Resume the execution of transactions" #~ msgstr "ă€ă‚¦ăłă­ăĽă‰ă‚’再開ă™ă‚‹" #~ msgid "Pause the execution of transactions" #~ msgstr "実行中ă®ă€ă‚¦ăłă­ăĽă‰ă‚’一時ĺść­˘ă™ă‚‹" #~ msgid "Downloads Over Time" #~ msgstr "ă€ă‚¦ăłă­ăĽă‰ć•°ă®ćŽ¨ç§»" #~ msgid "Minimize Lower Bound" #~ msgstr "ă‚°ă©ă•ă®ä¸‹é™ă‚’最小化" #~ msgid "Maximize Upper Bound" #~ msgstr "ă‚°ă©ă•ă®ä¸Šé™ă‚’最大化" #~ msgid "Confirm Action" #~ msgstr "操作ă®ç˘şčŞŤ" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "ă‚ăŞăźăŻä»Ąä¸‹ă® Flatpak をアăłă‚¤ăłă‚ąăăĽă«ă—ă‚ă†ă¨ă—ă¦ă„ăľă™:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "アăłă‚¤ăłă‚ąăăĽă«ă—ă¦ă‚‚ă‚ろă—ă„ă§ă™ă‹?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "ă‚ăŞăźăŻä»Ąä¸‹ă® Flatpak をイăłă‚ąăăĽă«ă—ă‚ă†ă¨ă—ă¦ă„ăľă™:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "イăłă‚ąăăĽă«ă—ă¦ă‚‚ă‚ろă—ă„ă§ă™ă‹?" #~ msgid "Apps Of The Week" #~ msgstr "今週ă®ă‚˘ă—ăŞ" #~ msgctxt "Project URL Type" #~ msgid "VCS Browser" #~ msgstr "VCS ă–ă©ă‚¦ă‚¶ăĽ" #~ msgid "Full Application View" #~ msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłăšăĽă‚¸ă®čˇ¨ç¤ş" #~ msgid "Change what content is shown when viewing applications" #~ msgstr "アă—ăŞă‚±ăĽă‚·ă§ăłă‚’見ă¦ă„ă‚‹ă¨ăŤă«čˇ¨ç¤şă•れる内容を変更ă—ăľă™" #~ msgid "" #~ "If you do not have an access token, turning this setting on may cause " #~ "GitHub to eventually rate limit you." #~ msgstr "" #~ "ă‚ăŞăźăŚă‚˘ă‚Żă‚»ă‚ąăăĽă‚Żăłă‚’ćŚăŁă¦ă„ăŞă„ĺ ´ĺă€ă“ă®č¨­ĺ®šă‚’オăłă«ă—ă¦ă„る㨠" #~ "Github ă‹ă‚‰ă¬ăĽăĺ¶é™ă‚’ă•れるćれăŚă‚りăľă™ă€‚" #~ msgid "Type to filter" #~ msgstr "入力ă—ă¦ć¤śç´˘" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "ă—ă­ă—ă©ă‚¤ă‚¨ă‚żăŞăŞă©ă‚¤ă‚»ăłă‚ąă®çµćžśă‚’除外" #~ msgid "Advanced" #~ msgstr "é«ĺş¦ăŞă‚Şă—ă‚·ă§ăł" #~ msgid "Open this link externally" #~ msgstr "ă“ă®ăŞăłă‚Żă‚’外é¨ă§é–‹ăŹ" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/kw.po������������������������������������������������������������������0000664�0000000�0000000�00000312472�15234476640�0016676�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Cornish translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Flynn Peck <cirilla@tuta.io>, 2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: https://github.com/bazaar-org/bazaar/issues\n" "POT-Creation-Date: 2026-07-29 19:11+0000\n" "PO-Revision-Date: 2026-07-30 16:52+0100\n" "Last-Translator: Flynn Peck <cirilla@tuta.io>\n" "Language-Team: kw\n" "Language: kw\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 50.0\n" "X-DL-VCS-Web: https://github.com/bazaar-org/bazaar\n" "X-DL-Lang: kw\n" "X-DL-Module: bazaar\n" "X-DL-Branch: main\n" "X-DL-Domain: po\n" "X-DL-State: Translating\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Basar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "App Store" msgstr "Gwerthji App" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "Keworra, dilea, po nowedhi medhelweyth flatpak war'n amontyell ma" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "System;Package;Manager;Discover;Flatpak;Software;App;Store;" msgstr "System;DyghtyerFardellow;Trovya;Flatpak;Medhelweyth;App;Gwerthji;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "Fenester Nowydh" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Trovya ha lea appys" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Gwerthji appys snell hag arnowydh rag Linux gans fog war drovya ha lea appys " "hag ystynansow Flatpak, dres oll dhyworth Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Lostya meur a leyansow ha pesya ow peuri" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Gweles kummyasow app yn es" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Omgelmi dhe Flathub rag gweles ha dyghtya agas appys drudh" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Hwilas appys dhyworth GNOME Shell didro" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:766 msgid "The Bazaar Contributors" msgstr "An Kevriysi Vasar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "An folen dre ow tispletya appys Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Folen app diskwedhyn" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Folen lyverva" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Folen hwithrans" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Folen glass" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Nowedhys Namoy" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Dilea" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Lea" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Dyghtya Ystynansow" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Nyns eus Ystynansow Weladow" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Agas dewisyow sidhlans a-lemmyn yw ow kudha oll ystynansow aswonys. " "Assayewgh ow chanjya dhedha." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Folen Ystynnans" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:408 msgid "Downloads/Month" msgstr "Iskargow/Mis" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:444 msgid "Stopped Receiving Core Updates" msgstr "Ow Receva Nowedhyansow Kolonnen Na Fella" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "An app ma a dhevnydh kerghynnedh nag ow receva nowedhyansow po ewnheansow " "sawder na fella. Yth a yll bydh diantel dhe dhevnydhya." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "Ystynnans rag %s" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "Diskwedhes Le" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Diskwedhes Moy" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "Statystygyon Iskargow" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:187 #: src/context-tile-callbacks.c:194 msgid "Age Rating" msgstr "Gwiwder Bloodh" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Garowder Komik" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Nyns eus kedhlow yn-kever garowder komik" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Garowder Fantasi" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Nyns eus kedhlow yn-kever garowder fantasi" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Garowder Gwirvosek" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Nyns eus kedhlow yn-kever garowder gwirvosek" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Garowder rag Krow" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Nyns eus kedhlow vyth yn-kever krow" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Garowder Reydhel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Nyns eus kedhlow yn-kever garowder reydhel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Las" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Nyns eus kedhlow yn-kever kampollans dhe las" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Droggya Anlaghel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Nyns eus kedhlow yn-kever kampollans dhe droggya anlaghel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tobacko" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Nyns eus kedhlow yn-kever kampollans dhe wara tobacko" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nothedh" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Nyns eus kedhlow yn-kever kampollans dhe nothedh" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Themow Reydhel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Nyns eus kedhlow yn-kever kampollans dhe bo portrayansow a nas reydhel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Koss" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Nyns eus kedhlow yn-kever kossyans" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Hwarthuster Anwiw" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Nyns eus kedhlow yn-kever hwarthuster anwiw" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Disfaveryans" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Nyns eus kedhlow yn-kever keskows disfaveryans a neb eghen" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Argemynnow" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Nyns eus kedhlow yn-kever argemynnow" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Hapwaryans" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Nyns eus kedhlow yn-kever hapwaryans" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Prenyans" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Nyns eus kedhlow yn-kever prenyans" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Keskows ynter Devnydhyoryon" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Nyns eus kedhlow yn-kever keskows ynter devnydhyoryon" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Galow Pellgows ynter Devnydhyoryon" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Nyns eus kedhlow yn-kever keskows ynter devnydhyoryon" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Kedhlow Kestav" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "Nyns eus kedhlow yn-kever kevrans a henwyn devnydhyer po ebost" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Kedhlow Privedh" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Nyns eus kedhlow yn-kever kevrans a gedhlow privedh gans partiow-tressa" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Kevrans Tyller" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Nyns eus kedhlow yn-kever kevrans tyller gans devnydhyoryon erel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Horyans" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Nyns eus kedhlow yn-kever kampollans dhe horyans" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Avoutri" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Kedhlow vyth yn-kever kampollans dhe avoutri" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Warioryon Reydhel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Nyns eus kedhlow yn-kever warioryon reydhel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Defolyans" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Nyns eus kedhlow yn-kever kampollans dhe dhefolyans" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Korf Marow" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Nyns eus kedhlow yn-kever korf marow gweladow" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Kethneth" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Nyns eus kedhlow yn-kever kampollans dhe gethneth" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Nyns eus kampollans dhe dhroggys ynno" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "Nyns eus kossya ynno" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Nyns eus argemynnow po treuswriansow monesek ynno" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Nyns eus kyjyans po nothedh ynno" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Nyns eus keskows heb musur ynno" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Nyns eus garowder ynno" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Droggys" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Koss" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Mona" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Kowethasek" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Garowder" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:177 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Oll" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "Yma gwiwder bloodh ankoth dhe %s" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s yw gwiw rag oll" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s yw gwiw rag fleghes yowynk" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s yw gwiw rag fleghes" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s yw gwiw rag degowogyon" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s yw gwiw rag tevesigesow" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s yw gwiw rag %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Restrenva system %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Isrestrenva dre %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Restrenvaow system ost" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Selyans system ost dhyworth /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Isrestrenva dhesktop %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Restrenva dhesktop" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Isrestrenva skrifow %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Restrenva skrifow" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Isrestrenva ilow %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Restrenva ilow" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Isrestrenva skeusennow %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Restrenva skeusennow" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Isrestrenva Gevren Poblek %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Restrenva Gevren Poblek" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Isrestrenva wydhyowyow %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Restrenva wydhyowyow" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Isrestrenva ensamplys %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Restrenva ensamplys" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Isrestrenva sorn devnydhyer %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Restrenva sorn devnydhyer" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Isrestrenva selyans devnydhyer %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Restrenva selyans devnydhyer" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Isrestrenva dhata devnydhyer %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Restrenva Dhata Devnydhyer" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Isrestrenva gerghynnedh devnydhyer %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Restrenva gerghynnedh devnydhyer" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Hedhas restrenva dhe %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Tyller restren ankoth" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "Braster a'n Iskarg" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "Braster pan Leys" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "Myns dhe iskarga dhyworth an kesrosweyth" #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "Braster war Blasen" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "Ygeri restrenva dhata devnydhyer" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "Agas Data Devnydhyer" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "Sornow, settyansow, ha data app erel" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "Sorn" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "Data yn sorn yn servadow" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "Dilea Sorn" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Braster Leys Kerghynnedh" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Braster Iskarg Kerghynnedh" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:394 #: src/context-tile-callbacks.c:416 msgid "N/A" msgstr "Ankavadow" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "Braster App" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Gwirhes" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:136 msgid "Installed" msgstr "Leys" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:769 msgid "translator-credits" msgstr "Flynn <cirilla@tuta.io>" #: src/bz-application.c:779 msgid "Special Thanks" msgstr "Grassow Arbennik" #: src/bz-application.c:837 msgid "Logged Out Successfully!" msgstr "Omdhigelmys yn Sewen!" #: src/bz-application.c:1027 msgid "Ubuntu Troubles!" msgstr "Kudynnow Ubuntu!" #: src/bz-application.c:1030 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "An versyons moy diwettha a Ubuntu re skombla an rewlys diogeledh defowt, ow " "kul <b>analladow dhe lea appys</b> dhyworth an versyon Flatpak a Vasar, " "devnydhyewgh an fardel normal rag lemmyn mar pleg ow devnydhya\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "Hwi a yll dilea an versyon Flatpak ma gans\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1036 msgid "Continue Anyway" msgstr "Pesya yn Neb Kas" #: src/bz-application.c:1052 msgid "Performing setup…" msgstr "Ow kwruthyl selyans…" #: src/bz-application.c:1144 msgid "Set Up System Flathub?" msgstr "Selya Flathub System?" #: src/bz-application.c:1147 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "An withva system Flathub nag yw selys na hwath. Res yw dhe Vasar rag Flathub " "bos selys war'n leyans Flatpak system dhe peuri ha lea appys.\n" "\n" "Hwi a yll devnydhya Basar hwath rag peuri ha remova appys leys seulabrys." #: src/bz-application.c:1154 msgid "Set Up Flathub?" msgstr "Selya Flathub?" #: src/bz-application.c:1157 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub nag yw selys war'n system ma. Ny yllowgh peuri ha lea appys yn Basar " "mars ankavadow yw.\n" "\n" "Hwi a yll devnydhya Basar hwath rag peuri ha remova appys leys seulabrys." #: src/bz-application.c:1163 msgid "Later" msgstr "Wosa Henna" #: src/bz-application.c:1164 msgid "Set Up Flathub" msgstr "Selya Flathub" #: src/bz-application.c:1697 msgid "A backend error occurred" msgstr "Yth esa error a-bervedh" #: src/bz-application.c:1905 src/bz-application.c:4152 msgid "Refreshing…" msgstr "Ow Tisegha…" #: src/bz-application.c:2069 src/bz-application.c:4150 #, c-format msgid "Loading %d apps…" msgstr "Ow karga %d appys…" #: src/bz-application.c:2122 src/bz-application.c:2196 msgid "Failed to open file" msgstr "Ny yllir ygeri restren" #: src/bz-application.c:2210 msgid "Failed to load metainfo" msgstr "Ny yllir karga metakedhlow" #: src/bz-application.c:2304 msgid "An initialization error occurred" msgstr "Yth esa error dalleth" #: src/bz-application.c:2703 msgid "Checking for updates…" msgstr "Ow checkya rag nowedhyansow…" #: src/bz-application.c:2759 msgid "Failed to check for updates" msgstr "Ny yllir checkya rag nowedhyansow" #: src/bz-application.c:3925 msgid "Malformed Link" msgstr "Gorgrevren Gamm" #: src/bz-application.c:3926 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Yma lytherennans anewn y'n worgevren devnydhys rag ygeri an app ma hag yth a " "yll astel owth oberi yn termyn a dheu.\n" "\n" "Dell yw gwirhaval, hemm yw drefen KRunner ow tanvon IDys app anewn" #: src/bz-application.c:3934 msgid "Could not find app" msgstr "Ny yllir kavos app" #: src/bz-application.c:4154 msgid "Writing to cache…" msgstr "Ow skrifa dhe sorn…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Diskwedhes Oll" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Oll \"%s\"" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d Appys" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Ny Yllir Karga Erthygel" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Leyans Fardel" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Medhelweyth serghek keworransel a yll kemeres moy spas" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Ow lea an app ma a yll rekwirya ow keworra devedhyans medhelweyth nowydh. " "Appys erel dhyworth an devedhyans ma a wra diskwedhes yn Basar.\n" "\n" "Keworra an devedhyans ma hepken mar sur owgh hwi a'n fydhya." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "Leys yn Sewen!" #. TRANSLATORS: Button to launch an installed app #: src/bz-bundle-install-dialog.blp:438 src/bz-bundle-install-dialog.blp:524 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:299 msgid "Open" msgstr "Ygeri" #: src/bz-bundle-install-dialog.blp:448 src/bz-bundle-install-dialog.blp:534 msgid "Show App Details" msgstr "Diskwedhes Manylyon App" #: src/bz-bundle-install-dialog.blp:499 msgid "Already Installed" msgstr "Leys Seulabrys" #: src/bz-bundle-install-dialog.blp:546 msgid "Installation Failed" msgstr "Leyans re Fyllis" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Braster leyans ankoth" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "A-dro dhe %s rag lea" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Nyn eus kummyasow arbennik" #: src/bz-curated-view.blp:27 msgid "No Curation" msgstr "Nyns eus Dyghtyans" #: src/bz-curated-view.blp:29 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "Nyns eus kedhlow dyghtyans provys war'n system ma. Hwi a yll peuri appys war " "Flathub hwath" #: src/bz-curated-view.blp:33 msgid "Browse Flathub" msgstr "Peuri Flathub" #: src/bz-curated-view.blp:49 msgid "Offline" msgstr "Dhywarlinen" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Na Wirhys" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Kedhlow awtour nag yw kavadow." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "An berghenogeth a'n %s ID app nag yw gwirys ha martesen fardel gemeneth yw." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "An berghenogeth a'n %s ID app re beu gwirys dre dhorn gans an bagas Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "An berghenogeth a'n %1$s ID app re beu gwirys gans <b>%2$s</b> war <b>%3$s</" "b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "An berghenogeth a'n %1$s ID app re beu gwirys ow tevnydhya %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "An berghenogeth a'n %s ID app re beu gwirys." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Notennow Dyllans Leun" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "An dyllans ma o gwrys possybyl gans devnydhyoryon avel hwi!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "My a gar ow kwruthyl Basar, mes ny allav vy gul henna yn unsel. Gweresewgh " "skoodhya displegyans pella gans owth argevri war Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Argevri dhe Vasar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Pyth yw Nowydh yn %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Dyllys %-e ves %B, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Dewis Leyans" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Yma dhywgh versyons liesek a'n app ma leys. Pyneyl a vynnowgh procedya gans?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Hedhi" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Rag An Devnydhyer Ma Hepken" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "an devnydhyer" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "oll devnydhyoryon" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "Manylyon" #. TRANSLATORS: tooltip for a button that copies text to the clipboard #: src/bz-error-dialog.blp:48 msgid "Copy" msgstr "Kopia" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Kopys!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Somm Drudhyow" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Ny yllir nowedhi drudh" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Omgelmi gans Flathub rag dyghtya drudhyow" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Omgelmi" #: src/bz-favorites-page.blp:5 src/bz-window.blp:348 msgid "Favorites" msgstr "Drudhyow" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "Lea Oll" #: src/bz-favorites-page.blp:47 msgid "No Favorites" msgstr "Drudhyow Vyth" #: src/bz-favorites-page.blp:48 msgid "Applications you mark as favorite will appear here" msgstr "Appys hwi a verkya avel drudh a wra diskwedhes omma" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Skoodhya An App Ma" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Dilea Dhyworth Drudhyow" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Ny yllir remova drudh" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Kyns" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Nessa" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Ow Pennskrifa" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Kemyskell" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Ilow" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Gwarier" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Rekordyer" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Kevreser" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Tonyer" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "Pellwolok" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Omhevelians" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Gwrians" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Aventur" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Arkade" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Stockow" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Bordh" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Karten" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Fleghes" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "Lojyk" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Gwari Rann" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Sether" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Hevelebyans" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Sportys" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Strateji" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Peurellow" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Keskows" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Post" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Kevrennans Restren" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Son & Gwydhyow" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Media" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Moy Son & Gwydhyow" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "Toulys Amontydh" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Displegya" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Moy Toulys Amontydh" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Adhyskans" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Dyski" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "Moy Adhyskans" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Gwariow" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Gwari" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Moy Gwariow" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Grafek & Skeusenieth" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "Gwruthyl" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Moy Grafek & Skeusenieth" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "Rosweythyans" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Kesrosweyth" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "Moy Rosweythyans" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Askorruster" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Ober" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Moy Askorruster" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Godhonieth" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Moy Godhonieth" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Kevreyth" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Moy Kevreyth" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Lesow" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:434 msgid "Tools" msgstr "Toulys" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Moy Lesow" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:106 #: src/bz-flathub-page.blp:138 msgid "Trending" msgstr "Gerys-da Lemmyn" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Moy Gerys-da Lemmyn" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:112 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "Gerys-da" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Moy Gerys-da" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:160 msgid "Recently Added" msgstr "Keworrys A-dhiwedhes" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:118 msgid "New" msgstr "Nowydh" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Moy Nowydh" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:149 msgid "Recently Updated" msgstr "Nowedhys A-dhiwedhes" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:124 msgid "Updated" msgstr "Nowedhys" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Moy Nowedhys" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Gwayadow" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Moy Gwayadow" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Moy Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "Appys KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "Moy Appys KDE" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:416 msgid "Games" msgstr "Gwariow" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:476 msgid "More Games" msgstr "Moy Gwariow" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:422 msgid "Emulators" msgstr "Omhevelyellyow" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Moy Omhevelyellyow" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:428 msgid "Launchers" msgstr "Lonchyoryon" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Moy Lonchoryon Gwariow" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Toulys Gwari" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Moy Toulys Gwari" #: src/bz-flathub-page.blp:22 msgid "Flathub Not Added" msgstr "Flathub nag yw Keworrys" #: src/bz-flathub-page.blp:23 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "An gwerthji Flathub nag o kevys war neb a'gas leyansow Flatpak" #: src/bz-flathub-page.blp:32 msgid "Can't Reach Flathub" msgstr "Ny Yllir Drehedhes Flathub" #: src/bz-flathub-page.blp:33 msgid "You can still manage and search for apps." msgstr "Hwi a yll dyghtya ha hwilas appys hwath." #: src/bz-flathub-page.blp:39 msgid "Search Apps" msgstr "Hwilas Appys" #: src/bz-flathub-page.blp:50 msgid "Reconnect" msgstr "Dasjunya" #: src/bz-flathub-page.blp:199 msgid "App of the Day" msgstr "App a'n Jydh" #: src/bz-flathub-page.blp:262 msgid "On the Go" msgstr "Gwayadow" #: src/bz-flathub-page.blp:274 msgid "Apps for your Linux phones and tablets" msgstr "Appys rag agas klapkodhow ha leghennow Linux" #: src/bz-flathub-page.blp:285 src/bz-flathub-page.blp:320 msgid "More Mobile Apps" msgstr "Moy Appys Gwayadow" #: src/bz-flathub-page.blp:378 msgid "We​ ♥​ Games" msgstr "Ni ♥ Gwariow​" #: src/bz-flathub-page.blp:391 msgid "Games and apps to run your favorite titles" msgstr "Gwariow hag appys rag eksekutya agas titlys dhrudh" #: src/bz-full-view.blp:33 msgid "No Results" msgstr "Sewyansow Vyth" #: src/bz-full-view.blp:34 msgid "Try a different search query" msgstr "Assayewgh hwithrans aral" #: src/bz-full-view.blp:103 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Hemm yw ragwolok leel, nebes manylyon a yll bos dihaval dhe'n rolyans dyllys" #: src/bz-full-view.blp:106 msgid "Preview Store Appearance" msgstr "Gis Gwerthji Ragwolok" #: src/bz-full-view.blp:233 msgid "_Support" msgstr "_Skoodhya" #: src/bz-full-view.blp:458 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "An app ma a dhevnydh kerghynnedh na fella ow receva nowedhyansow po " "ewnheansow sawder. Yth a yll bydh rag devnydh." #: src/bz-full-view.blp:536 msgid "Trash Data" msgstr "Data Atal" #: src/bz-full-view.blp:599 msgid "Add-ons" msgstr "Ystynansow" #: src/bz-full-view.blp:634 msgid "More Add-Ons" msgstr "Moy Ystynansow" #: src/bz-full-view.blp:645 msgid "Links" msgstr "Kevrennow" #: src/bz-full-view.blp:676 msgid "Similar Apps" msgstr "Appys Haval" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Gorgevren Vyth" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Yma leshyans rydh dhe'n app ma, ytho an goden a yll bos arhwilys rag " "salowder." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Yma leshyans perghenogel dhe'n app ma, ytho an goden yw displegys yn privedh " "ha ny yllir bos arhwilys gans parti tressa anserghek." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Moy Appys" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Moy Appys gans %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Appys Erel gans an Awtour ma" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "Appys Erel gans %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s nag yw leys, mes yma <b>%s</b> a dhata remenant hwath." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "Appys Erel" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d App" msgstr[1] "%d Appys" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:160 msgid "Failed to Remove User Data" msgstr "Ny yllir remova data devnydhyer" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Skoodhyans kalesweyth" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Skoodhyans bysowek" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Bysowegi a res" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Bysowegi komendys" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Bysowegi skoodhys" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Skoodhyans ankoth rag bysowegi" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Skoodhyans logosen" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Logosen po devisyow boyntya a res" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Logosen po devisyow boyntya komendys" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Logosen po devisyow boyntya skoodhys" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Skoodhyans ankoth rag logosen po devisyow boyntya" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Skoodhyans tochskrin" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Tochskrinyow a res" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Tochskrinyow gomendys" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Tochskrinyow skoodhys" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Skoodhyans ankoth rag tochskrinyow" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Skoodhyans klapkodh" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Gweythresek war dhevisyow wayadow" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Martesen angweythresek war dhevisyow wayadow" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Skoodhyans amontyell" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Gweythresek war skrinyow vras" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s gweythresek gwella war galesweyth komparek" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s yw gweythresek war an rann vrassa a dhevisyow" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "Rol Hwithrer" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Ygeri" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Dilea App" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Remova" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Nowedhyans" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Remova" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Lea %s dhyworth %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Lea %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Hedhi" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Ow Hedhi" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Boton Argevri" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "Hwilas appys leys" #: src/bz-library-page.blp:32 msgid "No Apps Found" msgstr "Nyns eus Appys Kevys" #: src/bz-library-page.blp:49 msgid "Search Store Instead" msgstr "Hwilas Gwerthji Yn Le" #: src/bz-library-page.blp:86 msgid "Pending Updates" msgstr "Nowedhyansow Ow Gortos" #: src/bz-library-page.blp:113 msgid "Downloads" msgstr "Iskargow" #: src/bz-library-page.blp:156 msgid "Recently Uninstalled" msgstr "Dileys A-Dhiwedhes" #: src/bz-library-page.blp:207 msgid "Clear Finished Tasks" msgstr "Dilea Oberennow Deu" #: src/bz-library-page.blp:234 msgid "Sort Options" msgstr "Dewisyow Sortya" #: src/bz-library-page.blp:293 msgid "Sort By" msgstr "Sortya Orth" #: src/bz-library-page.blp:307 msgid "Name" msgstr "Hanow" #: src/bz-library-page.blp:313 msgid "Size" msgstr "Braster" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Nyns eus parow rag \"%s\" y'n rol appys leys" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u Nowedhyans Kavadow" msgstr[1] "%u Nowedhyansow Gavadow" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u App Leys" msgstr[1] "%u Appys Leys" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Nyns eus appys kevys" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "Unn app kevys" msgstr[1] "%u appys kevys" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Bos Omvyskys" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Dyski Moy" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Leshyans Ankoth" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Byldys gans an Gemeneth" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:289 msgid "Proprietary" msgstr "Perghenogel" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:291 msgid "Special License" msgstr "Leshyans Arbennik" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "An app ma yw gwrys y'n poblek gans kemeneth geswlasek.\n" "\n" "Hwi a yll kemeres rann ha gweres dhe wellhe." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "An leshyans rag an app ma yw ankoth" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "An app ma yw gwrys y'n poblek gans kemeneth geswlasek, ha dyllys a-woles " "dhe'n leshyans %s.\n" "\n" "Hwi a yll kemeres rann ha gweres ow kwellhe." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "An app ma nag yw gwyrs y'n poblek, ytho an awtours hepken a aswon fatel yth " "a ober. Martesen, yth yw andhiogel yn agwedhow kales dhe helergi, hag yth a " "yll chanja heb ankov.\n" "\n" "Ny wodhon mar hwi a yll kevri dhe'n app ma." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "An app ma yw gwyrs a-woles dhe'n leshyans arbennik %s.\n" "\n" "Ny wodhon mar hwi a yll kevri dhe'n app ma." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Leshyans" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Junya dhe Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Yth esa Hager Vargen" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "Omgelmi rag kettermynyegi agas appys drudh yntra devisyow" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Finsya" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Dydh dha, %s!" #: src/bz-metainfo-preview.c:105 msgid "Add Icon to Metainfo Preview?" msgstr "Keworra Arwodhik dhe Ragwolok Metainfo?" #: src/bz-metainfo-preview.c:108 msgid "" "Metainfo files don't include app icons by themselves. Would you like to " "select one manually?" msgstr "" "Ny gomprehend restrennow Metainfo arwodhigow app y'ga honan. A vynnowgh " "dewis onan dre dhorn?" #: src/bz-metainfo-preview.c:111 msgid "Skip" msgstr "Skyppya" #: src/bz-metainfo-preview.c:112 src/bz-metainfo-preview.c:163 msgid "Select Icon" msgstr "Dewis Arwodhik" #: src/bz-metainfo-preview.c:166 msgid "Image Files" msgstr "Restrennow Skeusen" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Dewisyow" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "Junyans kesrosweyth yw strothys — diseghans awtomatek synsas gwerthji yw " "powesys" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Disegha dre Dhorn" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Nowedhyansow App" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "Yma data ha gallosedh a res rag checkya hag iskarga nowedhyansow app. Rag " "henna, nasyow awto-nowedhi yw powesys war junyansow rosweyth finwethys ha " "dres Sawya Batri." #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "_Awtomatek" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "Checkya hag iskarga nowedhyansow app yn awtomatek" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "_Dre Dhorn" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "Checkya hag iskarga nowedhyansow app dre dhorn" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "_Gwarnyansow Nowedhyans Awtomatek" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "Gwarnya pan vo leys nowedhyansow yn awtomatek" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "Sidhlow Synsas" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "Medhelweyth _Rydh Hepken" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "Kudha appys perghenogel hag ow peuri hag ow hwilas" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "Sewyansow F_lathub Hepken" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "" "Finwetha sewyansow hwithrans ha peuryans dhe appys kavadow war Flathub hepken" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "Sewyansow _Wirhes Hepken" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "Kudha sewyansow nag yw gwirhes war Flathub" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "Kudha Appys _Marow" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "Kudha appys skoodhys na fella gans aga awtours" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "Thema Barr Avonsyans" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Liw Devnydhyer" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Liwyow Wooth" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Liwyow Wooth Lesbian" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Liwyow Wooth Gourkethreydhel" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Liwyow Wooth Treusreydhek" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Liwyow Wooth Andhewek" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Liwyow Wooth Dewreydhel" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Liwyow Wooth Anreydhel" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Liwyow Wooth Pubreydhel" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Liwyow Wooth Anromansek" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Liwyow Wooth Reydh Linyel" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Liwyow Wooth Liesreydhel" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Liwyow Wooth Ollreydhel" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Liwyow Wooth Anromansek hag Anreydhel" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Liwyow Wooth Anreydh" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Liwyow Gooth Reydhkwir" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Liwyow Wooth Kesreydh" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Liwyow Wooth Hanterreydh" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Liwyow Wooth Dewromansek" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Liwyow Wooth Evredhyon" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Liwyow Wooth Maw-Gwregel" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Liwyow Wooth Newtroys" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Istori Dyllansow" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "Istori _Dyllansow" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Hedhyw" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "De" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Nans yw %d dydh" msgstr[1] "Nans yw %d dedhyow" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Nans yw %d seythen" msgstr[1] "Nans yw %d seythennyow" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "Nans yw %d mis" msgstr[1] "Nans yw %d misyow" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "Nans yw %d bledhen" msgstr[1] "Nans yw %d bledhynnyow" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Dyllans %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Nyns eus manylyon rag an dyllans ma" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Kerghes Moy Kedhlow" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Dilea" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Kerghes" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Kummyas Siansek" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Yma dhe'n app ma kummyas neb a as dhe wrontya dh'y honan <b>neb kummyas " "aral</b>, ow skyppya an lestryn Flatpak.\n" "\n" "Ytho y hyll gul neppyth app normal heb lestryn a yll gul, kepar hag ow " "trehedhes oll a'gas restrennow hag ow junya dhe'n kesrosweyth.\n" "\n" "Ow kweles an kumyasow erel a yll ri tybyans gwella a'n pyth an app yw " "gwirhaval dhe wul." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Gweles Kumyasow Erel" #. TRANSLATORS: short app safety rating label #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:402 msgid "Safe" msgstr "Saw" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "ID App" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "An app ma a dhevnydh dyllans anterrus a'n kerghynnedh medhelweyth (SDK) hag " "a yll synsi kudynnow po goliadewderow sawder may na vydh ewnhys." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "Sawder" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s yw Saw" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "Nyns eus Kummyasow Dhiantel dhe %s" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s yw Saw Dell Hevel" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s yw Saw Martesen" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s yw Diantel" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Dehweles" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Skeusen Gyns" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "Skeusen Nessa" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Kopia Skeusen" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "Dasgorra Gwel" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Lehe" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "Moghhe" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Res A-dro Skeusennow" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Skrinskeusennow Vyth" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Ygeri Gwelell Skeusennow" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "Skrinskeusen %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "Skrinskeusen %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "Dilea Hwithrans" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "Sidhlow" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Gwirhes" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Rydh/Ygor" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "_Anmarow" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Sidhla rag appys Varow" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Klapkodh-Kowethek" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Klassys" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "Hwilas Appys, Gwariow, Medhelweyth" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Sidhlow Hwithrans" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "Peuri Klassys" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "Klassys Ankavadow" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Hwilas rag appys gans an barr hwithrans a-ugh." #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Appys Kevys Vyth" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Sewyansow kevys vyth rag \"%s\" yn Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Peurell" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Gwydhyow" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Buro" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Kalender" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Messajys" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Liwa" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Keynres" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Omhevelians" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Folen Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Gwiasva Ragdres" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Rol Gudynnow" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "Govynnow Gemmyn" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Gweres" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Argevri" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Treylya" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Kestava" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Pennfenten God" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Kevri" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Rol" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Kopia Gorgevren" #. TRANSLATORS: page in the statistics dialog #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "Linen Dermyn" #. TRANSLATORS: label prefix shown in graph tooltips, for example: "Installs: 42" #: src/bz-stats-dialog.blp:48 msgid "Installs:" msgstr "Leyansow:" #. TRANSLATORS: page in the statistics dialog #: src/bz-stats-dialog.blp:58 msgid "World" msgstr "Bys" #: src/bz-stats-dialog.blp:72 msgid "Since 4/15/2024" msgstr "A-dhia 15/4/2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM Somm Leyansow" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fk Somm Leyansow" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d Somm Leyansow" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Sewyansow Kevys Vyth" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "Hwithrans re fyllis" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Gwitha Data Devnydhyer" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Alowa ow taskor settyansow & synsas personel" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Dilea Oll Data" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Dilea yn fast data devnydhyer rag erbysi dalghuster" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Lea %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Dewis py dyllans dhe lea. Martesen a wra lea darnow gevrennys keworransel" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Martesen a wra lea darnow geworransel poblek" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Hedhi" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Lea" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Remova %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Dewis py dyllans dhe remova." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Ny vydh galladow dhe dhevnydhya %s wosa dileys yw." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "\"%s\" yw Peryl Ughel" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Yma hedhas leun dh'gas system dhe'n app ma, ow synsi oll <b>a'gas " "restrennow, istori peurell, geryow-tremena sawys</b> ha moy. Ynwedh, yma " "hedhas dhe'n kesrosweyth, ytho yth a yll danvon agas data dhe bartiow " "tressa.\n" "\n" "Drefen perghenogel yw an app, ny allas bos arwhilys rag an pyth yth a wul " "gans an gummyasow ma." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "An app ma a dhevnydh an system fenestri anterrus X11, ytho yth a yll " "<b>rekordya oll jynnskrifow, kemeres skrinskeusennow, ha helerghi appys " "erel</b>. Ynwedh, yth a yll drehedhes an kesrosweyth, ytho yth a yll danvon " "agas data dhe bartiow tressa.\n" "\n" "Drefen perghenogel yw an app, ny allas bos arwhilys rag an pyth yth a wul " "gans an gummyasow ma." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Lea yn neb Kas" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Ny yllir karga fenester negys" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Oll appys yw leys seulabrys" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Da Lowr" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Lea %u App?" msgstr[1] "Lea %u Appys?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "An pyth a sew a vydh leys. Ynwedh, darnow gevrennys keworransel a vydh leys " "martesen" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d ystynansow a vydh leys." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Ynwedh, ystyanansow a vydh leys." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Lea Oll" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "Deu yn %.02f eylennow" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Ystynnans rag App" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Kerghynnedh rag App" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Yn Lost" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Deu" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Hedhys" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Error" #: src/bz-transaction-tile.blp:313 msgid "Cancel Transaction" msgstr "Hedhi Negys" #: src/bz-transaction-tile.blp:323 msgid "Show Details" msgstr "Diskwedhes Manylyon" #: src/bz-transaction-tile.blp:438 msgid "Show Error Info" msgstr "Diskwedhes Kedhlow Error" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s Rythhes" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Error Negys" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Ow Gortos" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Nowedhi Oll" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u Nowedhyans Kerghynnedh" msgstr[1] "%u Nowedhyansow Gerghynnedh" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Dyghtya Data Devnydhyer Remenant" #: src/bz-user-data-page.blp:32 msgid "No Leftover User Data Found" msgstr "Gesigow Data Devnydhyer Kevys Vyth" #: src/bz-user-data-page.blp:33 msgid "Personal data left behind by apps that were removed will show up here" msgstr "Data personel gesys gans appys neb o removys a vydh omdhiskwedhes omma" #: src/bz-user-data-page.c:229 #, c-format msgid "Trashed User Data for %u Apps" msgstr "Data Devnydhhyer Removys rag %u Appys" #: src/bz-user-data-page.c:230 #, c-format msgid "Trashed User Data for %s" msgstr "Data Devnydhhyer Removys rag %s" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "Ygeri Restrenva Dhata Devnydhyer" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "Remova Data Devnydhyer" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Ow Tisegha" #: src/bz-window.blp:90 msgid "Curated" msgstr "Dyghtys" #: src/bz-window.blp:102 msgid "Explore" msgstr "Trovya" #. Translators: . #: src/bz-window.blp:114 msgid "Library" msgstr "Lyverva" #: src/bz-window.blp:129 msgid "Search" msgstr "Hwithrans" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Pennrol" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Owth eksekutya owgh hwi dyllans nowydh a Vasar!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "Pyth yw Nowydh" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Yma dhywgh junyans kewrosweyth mes ow kweles owgh hwi dyllans koth a Flathub" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "Junyans kesrosweyth yw strothys — diseghansow awtomatek yw marow" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "_Argevri dhe Vasar" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Disegha" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "_Omgelmi gans Flathub" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "_Dyghtya Data Devnydhyer Remenant" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_Dewisyow" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_Kesunyansow Vysowek" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "_A-dro dhe Vasar" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_Kwytya Basar" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Omdhigelmi" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Basar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Ny yllir lonchya app" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Ny yllowgh remova Basar dhyworth Basar!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "Ny yllir gul an re na y'n eur ma" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Leyans" msgstr[1] "Leyansow" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d iskargow y'n mis yw passys" #. TRANSLATORS: %s is a formatted file size, for example: "128 MB" #: src/context-tile-callbacks.c:133 #, c-format msgid "+%s Runtime" msgstr "+%s Kerghynnedh App" #: src/context-tile-callbacks.c:136 msgid "Download" msgstr "Iskarg" #: src/context-tile-callbacks.c:156 msgid "Size information unavailable" msgstr "Kedhlow braster ankavadow" #: src/context-tile-callbacks.c:159 #, c-format msgid "Download size of %s" msgstr "Braster iskarg a %s" #: src/context-tile-callbacks.c:192 msgid "All Ages" msgstr "Oll Bloodh" #: src/context-tile-callbacks.c:204 msgid "Age rating information unavailable" msgstr "Kedhlow gwiwder bloodh ankavadow" #: src/context-tile-callbacks.c:209 msgid "Suitable for all ages" msgstr "Gwiw rag oll bloodh" #: src/context-tile-callbacks.c:211 #, c-format msgid "Suitable for ages %d and up" msgstr "Gwiw rag %d bloodh hag a-ugh" #: src/context-tile-callbacks.c:244 src/context-tile-callbacks.c:249 #: src/context-tile-callbacks.c:277 src/context-tile-callbacks.c:286 msgid "Unknown" msgstr "Ankoth" #: src/context-tile-callbacks.c:254 #, c-format msgid "Free software licensed under %s" msgstr "Medhelweyth rydh a-woles dhe'n leshyans %s" #: src/context-tile-callbacks.c:259 msgid "Free software" msgstr "Medhelweyth rydh" #: src/context-tile-callbacks.c:262 msgid "Proprietary Software" msgstr "Medhelweyth Perghenogel" #: src/context-tile-callbacks.c:265 #, c-format msgid "Special License: %s" msgstr "Leshyans Arbennik: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:283 msgid "Free Software" msgstr "Medhelweyth Rydh" #: src/context-tile-callbacks.c:311 msgid "Adaptive" msgstr "Desedhadow" #: src/context-tile-callbacks.c:311 msgid "Desktop Only" msgstr "Amontyell yn Unnik" #: src/context-tile-callbacks.c:317 msgid "Works on desktop, tablets, and phones" msgstr "Gweythresek war amontyellow, leghennow, ha klapkodhow" #: src/context-tile-callbacks.c:318 msgid "May not work on mobile devices" msgstr "Martesen angweythresek war dhevisyow wayadow" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:405 src/context-tile-callbacks.c:408 msgid "Low Risk" msgstr "Peryl Isel" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:411 msgid "Medium Risk" msgstr "Peryl Kresek" #. TRANSLATORS: short app safety rating label #: src/context-tile-callbacks.c:414 msgid "High Risk" msgstr "Peryl Ughel" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Kummyasow Ankoth" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Kummyasow yw fyllis rag an app ma." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Kummyasow Vyth" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "App yw kontaynys yn leun" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Hedhas Kesrosweyth" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "A yll drehedhes an kesrosweyth" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Hedhas Kesrosweyth Vyth" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Ny yllir drehedhes an kesrosweyth" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Hedhas Devis Devnydhyer" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "A yll drehedhes devisyow kepar ha kameras po konsolen wariow gwydhyow" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Hedhas Devis Devnydhyer Vyth" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Ny yllir drehedhes devisyow kepar ha kameras po konsolen wariow gwydhyow" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Hedhas Devis Ynworrans" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "A yll drehedhes devisyow ynworrans" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Hedhas Korrgewsell ha Seni Son" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "A yll goslowes ow tevnydhya korrgewsellow ha seni son heb ow peji" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Hedhas Devis System" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "A yll drehedhes devisyow system may a rekwir kummyasow ughelhys" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Hedhas Synsas Skrin" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "A yll drehedhes an synsas a'n skrin po fenestri erel" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "System Fenester Anterrus" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "A dhevnydh prest system fenester anterrus (X11)" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "A yll kavos kummyasow siansek" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Settyansow Dhevnydhyer" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "A yll drehedhes ha chanjya settyansow dhevnydhyer" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Hedhas rag Redya/Skrifa System Restrenva Leun" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "A yll redya ha skrifa oll data war'n system restrenva" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Hedhas rag Redya/Skrifa Restrenva Dre" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "A yll redya ha skrifa oll data y'gas restrenva dre" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Hedhas rag Redya System Restrenva Leun" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "A yll redya oll data y'n system restrenva" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Hedhas rag Redya Restrenva Dre" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "A yll redya oll data y'gas restrenva dre" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Hedhas rag Redya/Skrifa yn Restrenva Iskargow" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "A yll redya ha skrifa oll data y'gas restrenva iskargow" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Hedhas rag Redya yn Restrenva Iskargow" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "A yll redya oll data y'gas restrenva iskargow" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "A yll redya ha skrifa oll data y'n restrenva" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "A yll redya oll data y'n restrenva" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Hedhas System Restrenva Vyth" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Ny yllir drehedhes an system restrenva banna" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "A dhevnydh Gonisyow System" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "A yll govyn data dhyworth gonisyow anportal system" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "A dhevnydh Gonisyow Esedhek" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "A yll govyn data dhyworth gonisyow anportal esedhek" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Hedhas Gonis Vyth" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Ny yllir drehedhes gonisyow anportal system po esedhek banna" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Awtour App Gwirhes" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "An awtour a'n app ma yw gwirhes rag bos piw i onwul" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Kod Perghenogel" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "An kod nag yw poblek, ytho ny allas bos arhwilys yn anserghek ha martesen " "diantel yw" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Kod Arhwiladow" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "An kod yw poblek hag a yll bos arhwilys yn anserghek, ytho an app ma yw saw " "moy gwirhaval" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Devnydhya an Gonis System %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Devnydhya an Gonis Esedhek %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Devnydhya an Gonis %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "A yll gweles an gonis anportal" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "A yll kewsel dhe'n gonis anportal" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "A yll perghenna an gonis anportal" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Oberyans Rol Olldalghus" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "A yll diskwedhes rolyow yn barr rol olldalghus" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Oberyans Settyansow KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "A yll helerghi pan settyansow KDE chanjya" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Settyansow Olldalghus KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "A yll redya settyansow desktop KDE kepar ha fontow ha liwyow" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Gonis Gwithyans Kevrinyow" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "A yll gwitha ha kerghes an eryow-tremena y honan ow tevnydhya an alhwedhow-" "kylgh system" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Gonis Gwarnyansow Dhesktop" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "A yll danvon gwarnyansow dhesktop" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Oberyans Tallyour System" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "A yll diskwedhes arwodhik y'n tallyour system" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Oberyans KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "A yll keskomunya gans devisyow junys dre KDE Connect" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navigacyon" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Ygeri Folen Drovya" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Ygeri Folen Lyverva" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Ygeri Folen Hwithrans" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Pellwithvaow" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Kettermynyegi Gwerthjiow" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Ollgemmyn" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Ygeri Dewisyow" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Diskwedhes Kesunyansow Vysowek" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Degea Fenester" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Kwytya Basar" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "%u App Nowedhys" msgstr[1] "%u Appys Nowedhys" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "%s re beu nowedhys." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "%s hag %s re beu nowedhys." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "A gomprehend %s, %s, hag %s." #~ msgid "Free" #~ msgstr "Rydh" #~ msgid "Empty" #~ msgstr "Gwag" #~ msgid "Loading" #~ msgstr "Ow karga" #~ msgid "Flathub Unavailable" #~ msgstr "Flathub Ankavadow" #~ msgid "Content" #~ msgstr "Synsas" #~ msgid "Clear search" #~ msgstr "Dilea hwithrans" #~ msgid "Select Metainfo File" #~ msgstr "Dewis Restren Vetakedhlow" #~ msgid "Metainfo Files" #~ msgstr "Restrennow Metakedhlow" #~ msgid "Preview" #~ msgstr "Ragwolok" #~ msgid "User Data" #~ msgstr "Data Devnydhyer" #~ msgid "Flathub returned an error" #~ msgstr "Flathub ros tre error" #~ msgid "Retry Flathub Connection" #~ msgstr "Assaya Junyans Flathub Arta" #~ msgid "Tags:" #~ msgstr "Taggys:" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "Junya agas akont Flathub dhe Vasar rag dyghtya agas appys dhrudh." #~ msgid "Delay Search Results" #~ msgstr "Delatya Sewyansow Hwithrans" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "Gwellhe skavder sewyasow gans ow kesunya geryow hwithrans" #~ msgid "Progress Bar" #~ msgstr "Barr Avonsyans" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Dewis thema rag an barr avonsyans!" #~ msgid "Vertical Stripes" #~ msgstr "Linennow Plommwedhek" #~ msgid "Display flag colors from left to right" #~ msgstr "Diskwedhes liwyow vaner a-gledh dhe a-dhyghow" #~ msgid "Open Link" #~ msgstr "Ygeri Gorgevren" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "Appys Taggys avel \"%s\"" #~ msgid "User Data Size" #~ msgstr "Braster Data Devnydhyer" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Installing" #~ msgstr "Ow Lea" #~ msgid "Refresh completed!" #~ msgstr "Diseghans deu!" #~ msgctxt "As in, \"100 Installs\"" #~ msgid "Installs" #~ msgstr "Leyansow" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "Disegha" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "_Argevri dhe Vasar ❤️" #~ msgid "Open App Library" #~ msgstr "Ygeri Lyverva Appys" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "Ow lea fardellow .flatpak yw anskoodhys hwath" #~ msgid "Download & Install Application" #~ msgstr "Iskarga & Lea App" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgctxt "As in, \"100 Downloads\"" #~ msgid "Downloads" #~ msgstr "Iskargow" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "Yth posleva ow skoodhya an awtours neb a gul an ekokevreyth Linux. Basar " #~ "omdhiskwedhes an tabb \"dyghtys\" dre konfigurys gans lesrenyadesow dhe " #~ "alowa rag eksperyans leel." #~ msgid "%e %B" #~ msgstr "%e %B" #~ msgid "Install Other Version" #~ msgstr "Lea Versyon Aral" #~ msgid "Support this application" #~ msgstr "Skoodhya an app ma" #~ msgid "Manage Add-ons" #~ msgstr "Dyghtya Ystynansow" #~ msgid "Keep Data" #~ msgstr "Gwitha Data" #~ msgid "Open App" #~ msgstr "Ygeri App" #~ msgid "_Login with Flathub" #~ msgstr "_Omgelmi gans Flathub" #~ msgid "Nucleus app page" #~ msgstr "Folen app Nuklesen" #~ msgid "_Synchronize Remotes" #~ msgstr "_Kerghes Gwerthjiow" #~ msgid "Synchronizing..." #~ msgstr "Ow Kettermynyegi..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "Ow receva %d enworrans manylyon..." #~ msgid "Indexing Data..." #~ msgstr "Ow Kevernya Data..." #~ msgid "Bazaar is a Passion Project" #~ msgstr "Basar yw Ragdres Passyon" #~ msgid "Support the Future of Linux App Distribution" #~ msgstr "Skoodhya an Termyn a Dheu a Lesrannans Appys Linux" #~ msgid "Disable the donations banner on startup" #~ msgstr "Ungallosegi an baner argevrohow dres dalleth" #~ msgid "Close" #~ msgstr "Kwytya" #~ msgid "Copy and Close" #~ msgstr "Dasskrifa ha Kwytya" #~ msgid "Refreshing Store Content" #~ msgstr "Ow Diseghow Dalgh Gwerthji" #~ msgid "No background tasks!" #~ msgstr "Oberennow vyth yn kilva!" #~ msgid "See More" #~ msgstr "Gweles Moy" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "Dewis Dyghtyer Treuswrians" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "Kwytya" #~ msgid "Ongoing" #~ msgstr "Didorr" #~ msgid "Finished" #~ msgstr "Deu" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "Treusperthi %s bys lemmyn" #~ msgid "Tasks" #~ msgstr "Oberennow" #~ msgid "Stop Active Tasks" #~ msgstr "Hedhi Oberennow Byw" #~ msgid "No Tasks Yet" #~ msgstr "Oberennow Vyth Hwath" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d Nowedh Kavadow" #~ msgstr[1] "%d Nowedhow Kavadow" #~ msgid "Updates Are Available" #~ msgstr "Nowedhow Kavadow" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "An appys a sew yw dewisadow rag nowedhow. A vynnsowgh lea y's?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "%d kerghynnedhow ha/po ystynnans yw dewisadow rag nowedhow. A vynnsowgh " #~ "lea y's?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "Dres hemma, %d kerghynnedhow ha/po ystyannans yw nowedhys." #~ msgid "Update Now" #~ msgstr "Nowedhi Lemmyn" #~ msgid "Resume Current Tasks" #~ msgstr "Daskemeres Oberennow A-Lemmyn" #~ msgid "Pause Current Tasks" #~ msgstr "Powes Oberennow A-Lemmyn" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "An Gallos dhe hwithra ha lea restrennow .flatpak leel ow tos yn skon! Yn " #~ "kettermyn, tria owth eksekutya\n" #~ "\n" #~ "flatpak install --bundle agas-gronn.flatpak\n" #~ "\n" #~ "yn an linen arghadow." #~ msgid "Hide EOL Entries" #~ msgstr "Keles appys marow" #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "Keles appys marow hag appys serghek" #~ msgid "Only Show Free Software" #~ msgstr "Diskwedhes appys dhe wari hepken" #~ msgid "Hide proprietary software" #~ msgstr "Keles appys perghenogel" #~ msgid "Show Only Flathub Content" #~ msgstr "Diskwedhes synsas Flathub hepken" #~ msgid "Hide applications which do not originate from Flathub" #~ msgstr "Kudha appys may na dalleth dhyworth Flathub" #~ msgid "Show Only Verified Content" #~ msgstr "Diskwedhes Dalgh Flathub Hepken" #~ msgid "Hide applications which are not verified on Flathub" #~ msgstr "Kudha appys may na gwirys war Flathub" #~ msgid "Debounce Search Inputs" #~ msgstr "Kesunya Ynworransow Hwithrans" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "" #~ "Addya unn ardak dherag hwilas rag preventya gorthebow desempis dres " #~ "jynnskrifa" #~ msgid "Describes the look of the global progress bar" #~ msgstr "Deskrifa an mir a an Barr Avonsyans Olldalghus" #~ msgid "Saved Window Dimensions" #~ msgstr "Sawys Braster Fenester" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "An braster fenester rag devnydh gans an fenester Basar nessa" #~ msgid "?" #~ msgstr "?" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "An nas ma usi evredhek y'n eur ma. Y usi komendya dhe iskarga ha lea " #~ "Flatseal dhe dyghtya grontow appys." #~ msgid "Serialize" #~ msgstr "Kedreylya yn Baytys" #~ msgid "Convert to JSON" #~ msgstr "Kedreylya yn JSON" #~ msgid "More Mobile apps" #~ msgstr "Moy Appys Gwayadow" #~ msgid "Bazaar Inspector" #~ msgstr "Hwithrer Basar" #~ msgid "Background Task Info:" #~ msgstr "Kedhlow Oberennow Kilva:" #~ msgid "Enable Global Debug Mode" #~ msgstr "Gallosegi Prevessa Olldalghus" #~ msgid "Active Blocklists" #~ msgstr "Rol a Lettys Byw" #~ msgid "Active Curated-Configs" #~ msgstr "Settyansow Dyghtys Byw" #~ msgid "All Entry Groups" #~ msgstr "Oll Bagasow Enworrans Manylyon" #~ msgid "Decache and Inspect" #~ msgstr "Dissorn ha Hwithra" #~ msgid "No Flatpaks Installed" #~ msgstr "Vyth Flatpakow Ynstallys" #~ msgid "Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth (Gorwelyek)" #~ msgid "Lesbian Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Lesbian (Gorwelyek)" #~ msgid "Male Homosexual Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Gourkethreydhel (Gorwelyek)" #~ msgid "Transgender Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Treusreydhek (Gorwelyek)" #~ msgid "Nonbinary Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth na Den na Ben (Gorwelyek)" #~ msgid "Bisexual Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Dewreydhel (Gorwelyek)" #~ msgid "Asexual Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Anreydhel (Gorwelyek)" #~ msgid "Pansexual Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Pubreydhek (Gorwelyek)" #~ msgid "Aromantic Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Anromansek (Gorwelyek)" #~ msgid "Genderfluid Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Reydh Chanjus (Gorwelyek)" #~ msgid "Polysexual Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Liesreydhek (Gorwelyek)" #~ msgid "Omnisexual Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Ollreydhek (Gorwelyek)" #~ msgid "Aroace Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Anromansek hag Anreydhel (Gorwelyek)" #~ msgid "Agender Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Anreydh (Gorwelyek)" #~ msgid "Genderqueer Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth na Den na Ben (Gorwelyek)" #~ msgid "Intersex Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Hermaphroditek (Gorwelyek)" #~ msgid "Demigender Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Hanterreydh (Gorwelyek)" #~ msgid "Biromantic Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Dewromansek (Gorwelyek)" #~ msgid "Disability Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Evredhyon (Gorwelyek)" #~ msgid "Femboy Pride Colors (Horizontal)" #~ msgstr "Kolors Gooth Maw-Gwregel (Gorwelyek)" #~ msgid "Inspect UI Entry" #~ msgstr "Hwithra Elven Ynterfas" #~ msgid "All Debug Actions" #~ msgstr "Oll Gwriansow Prevessa" #~ msgid "Open Bazaar Inspector" #~ msgstr "Ygeri Hwithrer Basar" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u iskargow" #, c-format #~ msgid "%s is suitable for toddlers" #~ msgstr "%s usi fytti rag fleghes vyghan" #~ msgid "--- MB" #~ msgstr "--- MB" #~ msgid "Of the size of human DNA" #~ msgstr "a an braster a DNA den" #~ msgid "3 billion base pairs" #~ msgstr "3 bilvil koplow ben" #~ msgid "Of the Linux Kernel" #~ msgstr "a an Bewyn Linux" #~ msgid "linux-6.17.tar.xz" #~ msgstr "linux-6.17.tar.xz" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "a an amontyell Apollo 11" #~ msgid "Total ROM and RAM" #~ msgstr "Somm rag ROM ha RAM" #~ msgid "Of the original Super Mario Bros" #~ msgstr "a Super Mario Bros" #~ msgid "On the NES" #~ msgstr "yn an NES" #~ msgid "Of the size of Wikipedia" #~ msgstr "a an braster rag Wikipedya" #~ msgid "Without any media" #~ msgstr "Heb neb media" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/meson.build������������������������������������������������������������0000664�0000000�0000000�00000000047�15234476640�0020047�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������i18n.gettext('bazaar', preset: 'glib') �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/nl.po������������������������������������������������������������������0000664�0000000�0000000�00000251662�15234476640�0016671�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Dutch translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-06-04 14:01+0200\n" "PO-Revision-Date: 2026-06-06 15:40+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 #: src/bz-window.blp:46 src/bz-window.blp:202 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Voeg Flatpak software toe, verwijder deze of update deze op deze computer" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Systeem;Pakketbeheer;Ontdekken;Flatpak;Software;Winkel;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Nieuw venster" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and manage applications" msgstr "Ontdek en installeer applicaties" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and installing Flatpak apps and " "addons, particularly from Flathub." msgstr "" "Een snelle en moderne appstore voor Linux, gericht op het ontdekken en installeren van applicaties en " "add-ons van Flatpak, specifiek van Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Zet meerdere installaties in een wachtrij en ga door met bladeren" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Bekijk eenvoudig de app-toestemmingen" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Log in met Flathub om je favorieten te beheren" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Zoek apps rechtstreeks vanuit GNOME Shell" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:762 msgid "The Bazaar Contributors" msgstr "De bijdragers aan Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "De startpagina met Flathub-apps" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Exhibit app-pagina" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Bibliotheekpagina" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Zoekpagina" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Categoriepagina" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 src/bz-rich-app-tile.blp:141 msgid "Stopped Receiving Updates" msgstr "Ontvangt geen updates meer" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Verwijderen" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:145 src/bz-bundle-install-dialog.blp:159 #: src/bz-favorites-tile.c:157 src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Installeren" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 src/bz-addons-dialog.blp:70 #: src/bz-installed-tile.blp:92 msgid "Manage Add-Ons" msgstr "Add-ons beheren" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Geen add-ons zichtbaar" #: src/bz-addons-dialog.blp:81 msgid "Your current filter preferences are hiding all known add-ons. Try adjusting them." msgstr "Jouw huidige filters verbergen alle bekende add-ons. Probeer ze te aan te passen." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Add-onpagina" #: src/bz-addons-dialog.blp:202 src/bz-full-view.blp:410 msgid "Downloads/Month" msgstr "Downloads/maand" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:446 msgid "Stopped Receiving Core Updates" msgstr "Onvangt geen core-updates meer" #: src/bz-addons-dialog.blp:243 msgid "" "This add-on uses a runtime that no longer receives updates or security fixes. It may become unsafe to " "use." msgstr "" "Deze add-on gebruikt een runtime die geen updates of beveiligingsupdates meer ontvangt. Deze app kan " "onveilig worden om te gebruiken." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "Add-on voor %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "Minder weergeven" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show More" msgstr "Meer weergeven" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "Downloadstatistieken" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 src/bz-age-rating-dialog.c:736 #: src/context-tile-callbacks.c:186 src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Leeftijdsadvies" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Cartoongeweld" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Geen informatie over cartoongeweld" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Fantasiegeweld" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Geen informatie over fantasiegeweld" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Realistisch geweld" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Geen informatie over realistisch geweld" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Geweld met bloedvergieten" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Geen informatie over geweld met bloedvergieten" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Seksueel geweld" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Geen informatie over seksueel geweld" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alcohol" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Geen informatie over verwijzingen naar alcohol" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Drugs" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Geen informatie over verwijzingen naar illegale drugs" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabak" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Geen informatie over verwijzingen naar tabaksproducten" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Naaktheid" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Geen informatie over enige naaktheid" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Seksuele thema’s" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Geen informatie over seksuele verwijzingen of afbeeldingen" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Grof taalgebruik" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Geen informatie over grof taalgebruik" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Ongepaste humor" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Geen informatie over ongepaste humor" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Discriminatie" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Geen informatie over discriminerend taalgebruik" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Reclame" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Geen informatie over enige reclame" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Gokken" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Geen informatie over gokken" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Aankopen" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Geen informatie over de mogelijkheid om echt geld uit te geven" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Gesprekken tussen gebruikers" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Geen informatie over mogelijkheden om met andere gebruikers te chatten" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Audiogesprekken tussen gebruikers" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Geen informatie over mogelijkheden om met andere gebruikers te praten" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Contactgegevens" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "No information regarding sharing of social network usernames or email addresses" msgstr "Geen informatie over het delen van gebruikersnamen van sociale netwerken of e-mailadressen" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Identificerende informatie" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "Geen informatie over het delen van gebruikersinformatie met derden" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Locatie delen" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Geen informatie over het delen van de fysieke locatie met andere gebruikers" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostitutie" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Geen informatie over verwijzingen naar prostitutie" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Overspel" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Geen informatie over verwijzingen naar overspel" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Geseksualiseerde personages" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Geen informatie over geseksualiseerde personages" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Heiligschennis" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Geen informatie over verwijzingen naar heiligschennis" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Menselijke overblijfselen" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Geen informatie over zichtbare overblijfselen van dode mensen" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Slavernij" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Geen informatie over verwijzingen naar slavernij" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Bevat geen verwijzingen naar drugs" #: src/bz-age-rating-dialog.c:426 msgid "Does not include swearing, profanity, and other kinds of strong language" msgstr "Bevat geen scheldwoorden of ander grof taalgebruik" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Bevat geen reclame of geldtransacties" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Bevat geen seks of naaktheid" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Bevat geen niet-gecontroleerde gespreksfunctionaliteit tussen gebruikers" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Bevat geen geweld" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drugs" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Grof taalgebruik" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Geld" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Sociaal" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Geweld" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Alle" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s heeft een onbekende leeftijdsclassificatie" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s is geschikt voor iedereen" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s is geschikt voor jonge kinderen" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s is geschikt voor kinderen" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s is geschikt voor tieners" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s is geschikt voor volwassenen" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s is geschikt voor %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Systeemmap %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Home-submap %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Systeemmappen van host" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Systeemconfiguratie van host in /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Bureaublad-submap %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Bureaubladmap" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Bureaublad-submap %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Documentenmap" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Muziek-submap %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Muziekmap" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Afbeeldingen-submap %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Afbeeldingenmap" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Openbare submap %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Openbare map" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Video’s-submap %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Video's-map" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Sjablonen-submap %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Sjablonenmap" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Cache-submap %s van de gebruiker" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Cachemap van de gebruiker" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Configuratie-submap %s van de gebruiker" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Configuratiemap van de gebruiker" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Gegevens-submap %s van de gebruiker" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Gegevensmap van de gebruiker" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Runtime-submap %s van de gebruiker" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Runtime-map van de gebruiker" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Toegang tot %s in bestandssysteem" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Onbekend bestandspad" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Downloadgrootte" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "GeĂŻnstalleerde grootte" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Te downloaden hoeveelheid van internet" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Grootte op schijf" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Open gebruikersgegevensmap" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Jouw gebruikersgegevens" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Caches, instellingen en andere app-data" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Cache" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Tijdelijke gecachte data" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "Cache legen" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Grootte geĂŻnstalleerde runtime" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Downloadgrootte runtime" #: src/bz-app-size-dialog.c:220 msgid "App Size" msgstr "App-grootte" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 src/bz-rich-app-tile.blp:105 #: src/bz-rich-app-tile.c:429 msgid "Verified" msgstr "Geverifieerd" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 src/bz-releases-list.c:206 msgid "Installed" msgstr "GeĂŻnstalleerd" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:765 msgid "translator-credits" msgstr "" "Alexander Vanhee, 2025\n" "SKBotNL, 2026" #: src/bz-application.c:775 msgid "Special Thanks" msgstr "Speciale dank" #: src/bz-application.c:833 msgid "Logged Out Successfully!" msgstr "Succesvol uitgelogd!" #: src/bz-application.c:969 msgid "Performing setup…" msgstr "Setup aan het uitvoeren…" #: src/bz-application.c:1055 msgid "Set Up System Flathub?" msgstr "Flathub van het systeem instellen?" #: src/bz-application.c:1058 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be configured on the system Flatpak " "installation to browse and install applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "De Flathub-bron van het systeem is niet ingesteld. Bazaar vereist dat Flathub is geconfigureerd in de " "Flatpak-installatie van het systeem om applicaties te kunnen bladeren en installeren\n" "\n" "Je kunt Bazaar nog steeds gebruiken om reeds geĂŻnstalleerde apps te bladeren en verwijderen." #: src/bz-application.c:1065 msgid "Set Up Flathub?" msgstr "Flathub instellen?" #: src/bz-application.c:1068 msgid "" "Flathub is not set up on this system. You will not be able to browse and install applications in Bazaar " "if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub is niet ingesteld op dit systeem. Je kunt geen applicaties in Bazaar bladeren en installeren " "als het niet beschikbaar is.\n" "\n" "Je kunt Bazaar nog steeds gebruiken om reeds geĂŻnstalleerde apps te bladeren en verwijderen." #: src/bz-application.c:1074 msgid "Later" msgstr "Later" #: src/bz-application.c:1075 msgid "Set Up Flathub" msgstr "Flathub instellen" #: src/bz-application.c:1431 msgid "A backend error occurred" msgstr "Er is een backend-fout opgetreden" #: src/bz-application.c:1631 src/bz-application.c:3783 msgid "Refreshing…" msgstr "Verversen…" #: src/bz-application.c:1795 src/bz-application.c:3781 #, c-format msgid "Loading %d apps…" msgstr "%d apps laden…" #: src/bz-application.c:1848 msgid "Failed to open file" msgstr "Kan bestand niet openen" #: src/bz-application.c:1946 msgid "An initialization error occurred" msgstr "Een initialisatiefout is opgetreden" #: src/bz-application.c:2312 msgid "Checking for updates…" msgstr "Controleren op updates…" #: src/bz-application.c:2368 msgid "Failed to check for updates" msgstr "Het controleren op updates is mislukt" #: src/bz-application.c:3494 msgid "Malformed Link" msgstr "Onjuiste link" #: src/bz-application.c:3495 msgid "" "The link used to open this app has incorrect capitalization and may stop working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "De link die wordt gebruikt om deze app te openen, bevat fouten in het gebruik van hoofdletters en werkt " "in de toekomst mogelijk niet meer.\n" "\n" "Dit wordt hoogstwaarschijnlijk veroorzaakt doordat KRunner onjuiste app-ID’s verstuurt" #: src/bz-application.c:3503 msgid "Could not find app" msgstr "Kan app niet vinden" #: src/bz-application.c:3534 msgid "Failed to load metainfo" msgstr "Het laden van de metainfo is mislukt" #: src/bz-application.c:3785 msgid "Writing to cache…" msgstr "Schrijven naar cache…" #: src/bz-apps-page.blp:99 msgid "Show All" msgstr "Toon alle" #: src/bz-apps-page.c:237 #, c-format msgid "All \"%s\"" msgstr "Alle \"%s\"" #: src/bz-apps-page.c:487 #, c-format msgid "%d Applications" msgstr "%d applicaties" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Bundelinstallatie" #: src/bz-bundle-install-dialog.blp:195 msgid "Additional dependencies may take extra space" msgstr "Extra afhankelijkheden kunnen extra ruimte in beslag nemen" #: src/bz-bundle-install-dialog.blp:229 msgid "" "Installing this app may require adding a new software source. Other apps from this source will show up " "in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Voor het installeren van deze app moet je mogelijk een nieuwe softwarebron toevoegen. Andere apps uit " "deze bron worden dan in Bazaar weergegeven.\n" "\n" "Voeg deze bron alleen toe als je er zeker van bent dat je deze kunt vertrouwen." #: src/bz-bundle-install-dialog.blp:406 msgid "Successfully Installed!" msgstr "Successvol geĂŻnstalleerd!" #: src/bz-bundle-install-dialog.blp:430 src/bz-bundle-install-dialog.blp:513 src/bz-rich-app-tile.blp:198 #: src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Openen" #: src/bz-bundle-install-dialog.blp:440 src/bz-bundle-install-dialog.blp:523 msgid "Show App Details" msgstr "Appgegevens tonen" #: src/bz-bundle-install-dialog.blp:490 msgid "Already Installed" msgstr "Al geĂŻnstalleerd" #: src/bz-bundle-install-dialog.blp:535 msgid "Installation Failed" msgstr "Installatie mislukt" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Onbekende installatiegrootte" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Ongeveer %s om te installeren" #: src/bz-bundle-install-dialog.c:185 src/context-tile-callbacks.c:104 #: src/context-tile-callbacks.c:392 src/context-tile-callbacks.c:409 msgid "N/A" msgstr "N.v.t." #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Geen speciale machtigingen" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d downloads in de afgelopen maand" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s runtime" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Download" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Grootte-informatie onbeschikbaar" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Downloadgrootte van %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Alle leeftijden" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Leeftijdsclassificatie niet beschikbaar" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Geschikt voor alle leeftijden" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Geschikt voor %d-jarigen en ouder" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:284 msgid "Unknown" msgstr "Onbekend" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Vrije software gelicentieerd onder %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Alleen vrije software" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "PropriĂ«taire software" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Speciale licentie: %s" #: src/context-tile-callbacks.c:281 msgid "Free" msgstr "Vrij" #: src/context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "PropriĂ«tair" #: src/context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Speciale licentie" #: src/context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Adaptief" #: src/context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Alleen desktop" #: src/context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Werkt op desktop, tablets en telefoons" #: src/context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "Werkt mogelijk niet op mobiele apparaten" #: src/context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Veilig" #: src/context-tile-callbacks.c:401 src/context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Laag risico" #: src/context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Gemiddeld risico" #: src/context-tile-callbacks.c:407 msgid "High Risk" msgstr "Hoog risico" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:46 src/bz-flathub-page.blp:19 #: src/bz-full-view.blp:30 src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Leeg" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Geen gecureerde apps" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still browse applications on Flathub" msgstr "Er is geen curatie-info beschikbaar op dit systeem. Je kan nog steeds apps op Flathub bladeren" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Flathub bladeren" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 msgid "Offline" msgstr "Offline" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:61 src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Browser" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Niet geverifieerd" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Ontwikkelaarsinformatie niet beschikbaar." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "The ownership of the %s app ID has not been verified and it may be a community package." msgstr "Het eigendom van het %s app-ID is niet geverifieerd en het kan een communitypakket zijn." #: src/bz-developer-badge.c:237 #, c-format msgid "The ownership of the %s app ID has been manually verified by the Flathub team." msgstr "Het eigendom van het %s app-ID is handmatig geverifieerd door het Flathub-team." #: src/bz-developer-badge.c:253 #, c-format msgid "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on <b>%3$s</b>." msgstr "Het eigendom van het %1$s app-ID is geverifieerd door <b>%2$s</b> op <b>%3$s</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "Het eigendom van het %1$s app-ID is geverifieerd met %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Het eigendom van het %s app-ID is geverifieerd." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Volledige release-opmerkingen" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Deze release is mogelijk gemaakt door gebruikers zoals jij!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further development by donating on Ko-Fi." msgstr "" "Ik vind het geweldig om Bazaar te maken, maar ik kan het niet in mijn eentje. Steun de verdere " "ontwikkeling door een donatie te doen via Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Doneer aan Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Wat is er nieuw in %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Uitgebracht op %B %-e, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Kies een installatie" #: src/bz-entry-group-util.c:76 msgid "You have multiple versions of this app installed. Which one would you like to proceed with?" msgstr "Je hebt meerdere versies van deze app geĂŻnstalleerd. Met welke wil je verdergaan?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:232 msgid "Cancel" msgstr "Annuleren" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Alleen voor deze gebruiker" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "deze gebruiker" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "alle gebruikers" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 src/bz-safety-dialog.blp:46 msgid "Details" msgstr "Details" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "KopiĂ«ren" #: src/bz-error-dialog.c:56 src/bz-share-list.c:364 msgid "Copied!" msgstr "GekopieĂ«rd!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Aantal favorieten" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Updaten van favorieten is mislukt" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Log in met Flathub om favorieten te beheren" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Log in" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 src/bz-window.blp:335 msgid "Favorites" msgstr "Favorieten" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Alles installeren" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Laden" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Geen favorieten" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Applicaties die je als favoriet markeert verschijnen hier" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Deze applicatie steunen" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Van favorieten verwijderen" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Verwijderen van favorieten is mislukt" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "Vorige" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "Volgende" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "Bewerken" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:95 msgid "Mixer" msgstr "Mixer" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Muziek" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "Muziekspeler" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "Geluidsrecorder" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "Muzieksequencer" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "Tuner" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "Emulatie" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "Actie" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "Avontuur" #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "Arcade" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "Blokken" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "Bord" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "Kaart" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "Kinderen" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "Logica" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "Rollenspel" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "Shooter" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "Simulatie" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "Sport" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "Strategie" #: src/bz-flathub-category.c:124 msgid "Browsers" msgstr "Browsers" #: src/bz-flathub-category.c:125 msgid "Chat" msgstr "Chat" #: src/bz-flathub-category.c:126 msgid "Mail" msgstr "Mail" #: src/bz-flathub-category.c:127 msgid "File Sharing" msgstr "Bestanden delen" #: src/bz-flathub-category.c:132 msgid "Audio & Video" msgstr "Audio & video" #: src/bz-flathub-category.c:132 msgid "Media" msgstr "Media" #: src/bz-flathub-category.c:132 msgid "More Audio & Video" msgstr "Meer audio & video" #: src/bz-flathub-category.c:133 msgid "Developer Tools" msgstr "Ontwikkeltools" #: src/bz-flathub-category.c:133 msgid "Develop" msgstr "Ontwikkel" #: src/bz-flathub-category.c:133 msgid "More Developer Tools" msgstr "Meer ontwikkeltools" #: src/bz-flathub-category.c:134 msgid "Education" msgstr "Educatie" #: src/bz-flathub-category.c:134 msgid "Learn" msgstr "Leren" #: src/bz-flathub-category.c:134 msgid "More Education" msgstr "Meer educatie" #: src/bz-flathub-category.c:135 msgid "Gaming" msgstr "Gaming" #: src/bz-flathub-category.c:135 msgid "Play" msgstr "Spelen" #: src/bz-flathub-category.c:135 msgid "More Gaming" msgstr "Meer gaming" #: src/bz-flathub-category.c:136 msgid "Graphics & Photography" msgstr "Grafisch & fotografie" #: src/bz-flathub-category.c:136 msgid "Create" msgstr "CreĂ«ren" #: src/bz-flathub-category.c:136 msgid "More Graphics & Photography" msgstr "Meer grafisch & fotografie" #: src/bz-flathub-category.c:137 msgid "Networking" msgstr "Netwerken" #: src/bz-flathub-category.c:137 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:137 msgid "More Networking" msgstr "Meer netwerken" #: src/bz-flathub-category.c:138 msgid "Productivity" msgstr "Productiviteit" #: src/bz-flathub-category.c:138 msgid "Work" msgstr "Werk" #: src/bz-flathub-category.c:138 msgid "More Productivity" msgstr "Meer productiviteit" #: src/bz-flathub-category.c:139 msgid "Science" msgstr "Wetenschap" #: src/bz-flathub-category.c:139 msgid "More Science" msgstr "Meer wetenschap" #: src/bz-flathub-category.c:140 msgid "System" msgstr "Systeem" #: src/bz-flathub-category.c:140 msgid "More System" msgstr "Meer systeem" #: src/bz-flathub-category.c:141 msgid "Utilities" msgstr "Hulpprogramma’s" #: src/bz-flathub-category.c:141 msgid "Tools" msgstr "Hulpmiddelen" #: src/bz-flathub-category.c:141 msgid "More Utilities" msgstr "Meer hulpprogramma’s" #: src/bz-flathub-category.c:142 src/bz-flathub-page.blp:109 src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Trending" #: src/bz-flathub-category.c:142 msgid "More Trending" msgstr "Meer trending" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:115 src/bz-flathub-page.blp:171 msgid "Popular" msgstr "Populair" #: src/bz-flathub-category.c:143 msgid "More Popular" msgstr "Meer populair" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:161 msgid "Recently Added" msgstr "Recent toegevoegd" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:121 msgid "New" msgstr "Nieuw" #: src/bz-flathub-category.c:144 msgid "More New" msgstr "Meer nieuwe" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:151 msgid "Recently Updated" msgstr "Onlangs bijgewerkt" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Bijgewerkt" #: src/bz-flathub-category.c:145 msgid "More Updated" msgstr "Meer bijgewerkt" #: src/bz-flathub-category.c:146 msgid "Mobile" msgstr "Onderweg" #: src/bz-flathub-category.c:146 msgid "More Mobile" msgstr "Meer onderweg" #: src/bz-flathub-category.c:147 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:147 msgid "More Adwaita" msgstr "Meer Adwaita" #: src/bz-flathub-category.c:148 msgid "KDE Apps" msgstr "KDE-apps" #: src/bz-flathub-category.c:148 msgid "More KDE Apps" msgstr "Meer KDE-apps" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub niet toegevoegd" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "De Flathub-bron is op geen van je Flatpak installaties teruggevonden" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub is onbeschikbaar" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Flathub is niet bereikbaar" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for applications." msgstr "Je kunt nog steeds applicaties beheren en zoeken." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Apps zoeken" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Opnieuw verbinden" #: src/bz-flathub-page.blp:198 msgid "App of the Day" msgstr "App van de dag" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "Onderweg" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "Apps voor je Linux-telefoons en -tablets" #: src/bz-flathub-page.blp:284 src/bz-flathub-page.blp:319 msgid "More Mobile Apps" msgstr "Meer mobiele apps" #: src/bz-flathub-page.blp:375 msgid "We​ ♥​ Games" msgstr "Wij​ ♥​ games" #: src/bz-flathub-page.blp:388 msgid "Games and apps to run your favorite titles" msgstr "Spellen en apps om je favoriete titels te spelen" #: src/bz-flathub-page.blp:422 msgid "More Games" msgstr "Meer spellen" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 src/bz-library-page.blp:82 msgid "No Results" msgstr "Geen resultaten" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Probeer een andere zoekterm" #: src/bz-full-view.blp:41 msgid "Content" msgstr "Content" #: src/bz-full-view.blp:106 msgid "This is a local preview, some details may differ from the published listing" msgstr "Dit is een voorvertoning, sommige details kunnen afwijken van de gepubliceerde vermelding" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Voorvertoning winkel openen" #: src/bz-full-view.blp:235 msgid "_Support" msgstr "_Steunen" #: src/bz-full-view.blp:460 msgid "" "This app uses a runtime that no longer receives updates or security fixes. It may become unsafe to use." msgstr "" "Deze app gebruikt een runtime die geen updates of beveiligingsupdates meer ontvangt. Het kan onveilig " "worden om te gebruiken." #: src/bz-full-view.blp:548 msgid "Trash Data" msgstr "Gegevens verwijderen" #: src/bz-full-view.blp:610 msgid "Add-ons" msgstr "Add-ons" #: src/bz-full-view.blp:645 msgid "More Add-Ons" msgstr "Meer add-ons" #: src/bz-full-view.blp:656 msgid "Links" msgstr "Links" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Geen URL" #: src/bz-full-view.c:199 msgid "This application has a FLOSS license, meaning the source code can be audited for safety." msgstr "" "Deze applicatie heeft een FLOSS licentie, wat betekent dat de broncode gecontroleerd kan worden op " "veiligheid." #: src/bz-full-view.c:200 msgid "" "This application has a proprietary license, meaning the source code is developed privately and cannot " "be audited by an independent third party." msgstr "" "Deze applicatie heeft een propriĂ«taire licentie, wat betekent dat de broncode privĂ© wordt ontwikkeld en " "niet gecontroleerd kan worden door een onafhankelijke derde partij." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Meer apps" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Andere apps van %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Andere apps van deze ontwikkelaar" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "Andere apps van %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s is niet geĂŻnstalleerd, maar heeft nog <b>%s</b> aan gegevens." #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "Andere apps" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d applicatie" msgstr[1] "%d applicaties" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "Verwijderen van gebruikersgegevens is mislukt" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Hardwareondersteuning" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Toetsenbordondersteuning" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Vereist toetsenbord" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Toetsenbord aanbevolen" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Ondersteunt toetsenborden" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Onbekende ondersteuning voor toetsenborden" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Muisondersteuning" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Vereist muis of aanwijzingsapparaat" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Muis of aanwijzingsapparaat aanbevolen" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Ondersteunt muis of aanwijzingsapparaten" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Onbekende ondersteuning voor muis of aanwijzingsapparaten" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Touchscreen-ondersteuning" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Vereist touchscreen" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Touchscreens aanbevolen" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Ondersteunt touchscreens" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Onbekende ondersteuning voor touchscreens" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Mobiele ondersteuning" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Werkt op mobiele apparaten" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Werkt mogelijk niet goed op mobiele apparaten" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Desktopondersteuning" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Werkt goed op grote schermen" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s werkt het beste op specifieke hardware" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s werkt op de meeste apparaten" #: src/bz-install-controls.blp:62 msgid "_Open" msgstr "_Openen" #: src/bz-install-controls.blp:77 src/bz-install-controls.blp:134 msgid "Uninstall Application" msgstr "Applicatie verwijderen" #: src/bz-install-controls.blp:87 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Verwijderen" #: src/bz-install-controls.blp:121 src/bz-updates-card.c:164 src/bz-updates-card.c:183 msgid "Update" msgstr "Updaten" #: src/bz-install-controls.blp:144 src/bz-installed-tile.blp:105 msgid "Remove" msgstr "Verwijderen" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Annuleren" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Bezig met annuleren" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "GeĂŻnstalleerde apps zoeken" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Geschiedenis wissen" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Geen applicaties gevonden" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "In plaats daarvan in winkel zoeken" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "Bibliotheek" #: src/bz-library-page.blp:128 msgid "Pending Updates" msgstr "Wachtende updates" #: src/bz-library-page.blp:155 msgid "Downloads" msgstr "Downloads" #: src/bz-library-page.blp:198 msgid "Recently Uninstalled" msgstr "Onlangs verwijderd" #: src/bz-library-page.blp:249 msgid "Clear Finished Tasks" msgstr "Afgeronde taken wissen" #: src/bz-library-page.blp:334 msgid "Sort By" msgstr "Sorteren op" #: src/bz-library-page.blp:348 msgid "Name" msgstr "Naam" #: src/bz-library-page.blp:354 msgid "Size" msgstr "Grootte" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Geen resultaten gevonden voor \"%s\" in de lijst met geĂŻnstalleerde apps" #: src/bz-library-page.c:193 src/bz-updates-card.c:433 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u beschikbare update" msgstr[1] "%u beschikbare updates" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u geĂŻnstalleerde app" msgstr[1] "%u geĂŻnstalleerde apps" #: src/bz-license-dialog.blp:94 msgid "Get Involved" msgstr "Doe mee" #: src/bz-license-dialog.blp:111 msgid "Learn More" msgstr "Leer meer" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Onbekende licentie" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Door de community gebouwd" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Deze app wordt openbaar ontwikkeld door een internationale community.\n" "\n" "Je kunt dus deelnemen en helpen om de app nog beter te maken." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "De licentie van deze app is niet bekend" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Deze app wordt openbaar ontwikkeld door een internationale community en uitgebracht onder de %s " "licentie.\n" "\n" "Je kunt deelnemen en helpen om de app nog beter te maken." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it works. It may be insecure in " "ways that are hard to detect, and it may change without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Deze app wordt niet in het openbaar ontwikkeld, dus alleen de ontwikkelaars weten hoe het werkt. De app " "kan op moeilijk te detecteren manieren onveilig zijn en kan zonder toezicht veranderen.\n" "\n" "Je kunt mogelijk niet bijdragen aan deze app." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Deze app is ontwikkeld onder de speciale licentie %s.\n" "\n" "Je kunt mogelijk niet bijdragen aan deze app." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:49 msgid "License" msgstr "Licentie" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Verbinden met Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Er ging iets mis" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "Log in om je favoriete apps op al je apparaten te synchroniseren" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Voltooien" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Hallo, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Selecteer een metainfo-bestand" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Metainfo-bestanden" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Selecteer een icoon (optioneel)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Fotobestanden" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Voorbeeld" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Voorkeuren" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "De netwerkverbinding is gelimiteerd — automatisch vernieuwen van de winkelgegevens is gepauzeerd" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:235 msgid "Refresh Manually" msgstr "Handmatig verversen" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Contentfilters" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Alleen vrije software" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "Verberg propriĂ«taire applicaties bij bladeren en zoeken" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Alleen resultaten van Flathub" #: src/bz-preferences-dialog.blp:40 msgid "Limit search and browse results to applications only available on Flathub" msgstr "Beperk de zoek- en bladerresultaten tot applicaties die alleen op Flathub beschikbaar zijn" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Alleen geverifieerde resultaten" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Verberg resultaten die niet geverifieerd zijn op Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Verberg end-of-life-apps" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Verberg apps die niet langer ondersteund worden door hun ontwikkelaars" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "Voortgangsbalkthema" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Accentkleur" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Pride kleuren" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Lesbische pride kleuren" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Mannelijke homoseksuele pride kleuren" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Transgender pride kleuren" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Nonbinaire pride kleuren" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Biseksuele pride kleuren" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Aseksuele pride kleuren" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Panseksuele pride kleuren" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Aromantische pride kleuren" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "GenderfluĂŻde pride kleuren" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Polyseksuele pride kleuren" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Omniseksuele pride kleuren" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Aroace pride kleuren" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Agender pride kleuren" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Genderqueer pride kleuren" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Intersekse pride kleuren" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Demigender pride kleuren" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Biromantische pride kleuren" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Disability pride kleuren" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Femboy pride kleuren" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Neutrois pride kleuren" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:155 msgid "Version History" msgstr "Versie geschiedenis" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_Versiegeschiedenis" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Vandaag" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Gisteren" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag geleden" msgstr[1] "%d dagen geleden" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d week geleden" msgstr[1] "%d weken geleden" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d maand geleden" msgstr[1] "%d maanden geleden" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d jaar geleden" msgstr[1] "%d jaren geleden" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Versie %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Geen details voor deze versie" #: src/bz-releases-list.c:263 msgid "Get More Information" msgstr "Meer informatie" #: src/bz-rich-app-tile.blp:217 msgid "Uninstall" msgstr "Verwijderen" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:369 msgid "Get" msgstr "/" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Onbekende machtigingen" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Machtigingen ontbreken voor deze app." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Geen machtigingen" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "App is volledig gesandboxt" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Netwerktoegang" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Heeft toegang tot het internet" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Geen netwerktoegang" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Heeft geen toegang tot het internet" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Toegang tot gebruikersapparaten" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Heeft toegang tot apparaten zoals webcams of spelcontrollers" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Geen toegang tot gebruikersapparaten" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "Heeft geen toegang tot apparaten zoals webcams of spelcontrollers" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Toegang tot invoerapparaten" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Heeft toegang tot invoerapparaten" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Toegang tot microfoon en audio-afspelen" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "Kan audio opnemen en afspelen zonder toestemming te vragen" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Toegang tot systeemapparaten" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Heeft toegang tot systeemapparaten waarvoor verhoogde rechten vereist zijn" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Toegang tot scherminhoud" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Heeft toegang tot de inhoud van het scherm of andere vensters" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Verouderd venstersysteem" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Gebruikt een verouderd venstersysteem (X11)" #: src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Alle mogelijke machtigingen" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Kan alle mogelijke machtigingen verkrijgen" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Gebruikersinstellingen" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Kan gebruikersinstellingen bekijken en wijzigen" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Lees- en schrijftoegang tot het volledige bestandssysteem" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Kan alle gegevens op het bestandssysteem lezen en schrijven" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Lees- en schrijftoegang tot de persoonlijke map" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Kan alle gegevens in jouw persoonlijke map lezen en schrijven" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Leestoegang tot het volledig bestandssysteem" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Kan alle gegevens op het bestandssysteem lezen" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Leestoegang tot de persoonlijke map" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Kan alle gegevens in jouw persoonlijke map lezen" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Lees- en schrijftoegang tot de downloadmap" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Kan alle gegevens in jouw downloadmap lezen en schrijven" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Leestoegang tot de downloadmap" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Kan alle gegevens in jouw downloadmap lezen" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Kan alle gegevens in de map lezen en schrijven" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Kan alle gegevens in de map lezen" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Geen toegang tot het bestandssysteem" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Heeft geen enkele toegang tot het bestandssysteem" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Gebruikt systeemdiensten" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Kan buiten het portaal om gegevens opvragen van systeemdiensten" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Gebruikt sessiediensten" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Kan buiten het portaal om gegevens opvragen van sessiediensten" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Geen diensttoegang" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Heeft buiten het portaal om geen enkele toegang tot sessie- of systeemdiensten" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Geverifieerde app-ontwikkelaar" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "De ontwikkelaar van deze app is geverifieerd en zijn wie ze zeggen dat ze zijn" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "PropriĂ«taire code" #: src/safety-calculator.c:365 msgid "The source code is not public, so it cannot be independently audited and might be unsafe" msgstr "" "De broncode is niet publiek, dus het kan niet onafhankelijk gecontroleerd worden en kan onveilig zijn" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Controleerbare code" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the app more likely to be safe" msgstr "" "De broncode is publiek en kan onafhankelijk gecontroleerd worden, wat de app waarschijnlijk veiliger " "maakt" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Gebruikt de %s-systeemdienst" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Gebruikt de %s-sessiedienst" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Gebruikt de %s-dienst" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Kan buiten het portaal om de dienst zien" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Kan buiten het portaal om praten met de dienst" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Kan buiten het portaal om eigenaar zijn van de dienst" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Globale menu-integratie" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Kan menu’s in de globale menubalk tonen" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE-instellingen integratie" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Kan detecteren wanneer de instellingen van het KDE-bureaublad veranderen" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Globale KDE-instellingen" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Kan KDE-bureaubladvoorkeuren zoals lettertypen en kleuren lezen" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Beveiligde opslagservice" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Kan zijn eigen wachtwoorden opslaan en ophalen via de systeemsleutelbeheerder" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Bureaubladnotificatiedienst" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Kan bureaubladmeldingen sturen" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Systeemvakintegratie" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Kan een icoon tonen in het systeemvak" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect-integratie" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "Kan communiceren met gekoppelde apparaten via KDE Connect" #: src/bz-safety-dialog.blp:59 msgid "App ID" msgstr "App ID" #: src/bz-safety-dialog.blp:69 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:100 msgid "" "This app uses an outdated version of the software platform (SDK) and might contain bugs or security " "vulnerabilities which will not be fixed." msgstr "" "Deze app gebruikt een verouderde versie van het softwareplatform (SDK) en kan bugs of " "beveiligingskwetsbaarheden bevatten die niet zullen worden opgelost." #: src/bz-safety-dialog.c:167 msgid "Safety" msgstr "Veiligheid" #: src/bz-safety-dialog.c:226 #, c-format msgid "%s is Safe" msgstr "%s is veilig" #: src/bz-safety-dialog.c:231 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s geeft geen onveilige machtigingen" #: src/bz-safety-dialog.c:236 #, c-format msgid "%s is Probably Safe" msgstr "%s is waarschijnlijk veilig" #: src/bz-safety-dialog.c:241 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s is mogelijk onveilig" #: src/bz-safety-dialog.c:246 #, c-format msgid "%s is Unsafe" msgstr "%s is onveilig" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Schermafbeeldingen" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Vorige schermafbeelding" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "Volgende schermafbeelding" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Afbeelding kopiĂ«ren" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Weergave resetten" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Uitzoomen" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "Inzoomen" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "Schermafbeeldingen-carrousel" #: src/bz-screenshots-carousel.blp:117 msgid "Open Screenshot Viewer" msgstr "Schermafbeeldingsviewer openen" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Filters" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Geverifieerd" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Vrij" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Niet-_EOL" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Verberg end-of-life-apps" #: src/bz-search-filter-popover.blp:57 msgid "Categories" msgstr "CategorieĂ«n" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "Apps, games en software zoeken" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Zoekfilters" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Zoekopdracht wissen" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "CategorieĂ«n bladeren" #: src/bz-search-page.blp:242 msgid "Categories Unavailable" msgstr "CategorieĂ«n zijn niet beschikbaar" #: src/bz-search-page.blp:243 msgid "Search for apps using the search bar above." msgstr "Zoek naar apps met de zoekbalk hierboven." #: src/bz-search-page.blp:360 msgid "No Applications Found" msgstr "Geen applicaties gevonden" #: src/bz-search-page.c:247 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Geen resultaten voor \"%s\" op Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Video" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Kantoor" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Agenda" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Berichten" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Tekenen" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulator" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub-pagina" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Projectwebsite" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Probleemtracker" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "Veelgestelde vragen" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Hulp" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Doneer" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Vertalen" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Contact" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Broncode" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Bijdragen" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifest" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Kopieer link" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Tijdlijn" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Installaties:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Kaart" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Sinds 15/4/2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM totale installaties" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK totale installaties" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d totale installaties" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Gebruikersgegevens behouden" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Herstel van persoonlijke instellingen en inhoud toestaan" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Alle data verwijderen" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Gebruikersgegevens permanent verwijderen om ruimte te besparen" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "%s installeren?" #: src/bz-transaction-dialog.c:195 msgid "Select which version to install. May install additional shared components" msgstr "" "Selecteer de versie die je wilt installeren. Mogelijk worden er extra gedeelde componenten geĂŻnstalleerd" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Mogelijk worden er extra gedeelde componenten geĂŻnstalleerd" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 src/bz-transaction-dialog.c:274 #: src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Annuleren" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Installeren" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "%s verwijderen?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Selecteer de versie die je wilt verwijderen." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Het zal niet mogelijk zijn om %s te gebruiken na deĂŻnstallatie." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "“%s” heeft een hoog risico" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, browser history, saved passwords</" "b>, and more. It also has access to the internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with these permissions." msgstr "" "Deze app heeft volledige toegang tot je systeem, inclusief al <b>je bestanden, browsergeschiedenis, " "opgeslagen wachtwoorden</b> en meer. Het heeft ook toegang tot internet, wat betekent dat het je " "gegevens naar externe partijen kan versturen.\n" "\n" "Omdat de app propriĂ«tair is, kan het ook niet gecontroleerd worden wat het doet met deze machtigingen." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record all keystrokes, capture " "screenshots, and monitor other applications</b>. It also has access to the internet, meaning it could " "send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with these permissions." msgstr "" "Deze app maakt gebruik van het verouderde X11-venstersysteem, waardoor deze <b>alle toetsaanslagen kan " "registreren, schermafbeeldingen kan maken en andere applicaties kan monitoren</b>. De app heeft ook " "toegang tot het internet, wat betekent dat deze je gegevens naar derden zou kunnen verzenden.\n" "\n" "Omdat de app propriĂ«tair is, kan er geen controle worden uitgevoerd op wat deze met deze machtigingen " "doet." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "Toch _installeren" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Het laden van de transactievenster is mislukt" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Alle apps zijn al geĂŻnstalleerd" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_OK" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "%u app installeren?" msgstr[1] "%u apps installeren?" #: src/bz-transaction-dialog.c:573 msgid "The following will be installed. Additional shared components may also be installed" msgstr "" "Het volgende wordt geĂŻnstalleerd. Mogelijk worden er ook nog extra gedeelde onderdelen geĂŻnstalleerd" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Er worden %d add-ons geĂŻnstalleerd." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Daarnaast worden er add-ons geĂŻnstalleerd." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "Alles _installeren" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "Geslaagd in %.02f seconden" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "App-add-on" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Runtime" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "In wachtrij" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Gereed" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Geannuleerd" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Fout" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Transactie annuleren" #: src/bz-transaction-tile.blp:436 msgid "Show Error Info" msgstr "Foutinformatie tonen" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s vrijgemaakt" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Transactiefout" #: src/bz-transaction.c:344 msgid "Pending" msgstr "In afwachting" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "Alles _updaten" #: src/bz-updates-card.c:211 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u runtime-update" msgstr[1] "%u runtime-updates" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Achtergebleven gebruikersgegevens beheren" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "Geen gebruikersgegevens gevonden" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Gebruikersgegevens" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Gebruikersgegevens verwijderen" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "Gebruikersgegevens verwijderd voor %s" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "Verversen…" #: src/bz-window.blp:89 msgid "Curated" msgstr "Gecureerd" #: src/bz-window.blp:101 msgid "Explore" msgstr "Ontdekken" #: src/bz-window.blp:128 msgid "Search" msgstr "Zoeken" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "Hoofdmenu" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "Je gebruikt een nieuwe versie van Bazaar!" #: src/bz-window.blp:227 msgid "See What's New" msgstr "Zie wat er nieuw is" #: src/bz-window.blp:234 msgid "You have a network connection but are viewing a cached version of Flathub" msgstr "Je hebt een netwerkverbinding maar bekijkt een gecachte versie van Flathub" #: src/bz-window.blp:279 msgid "_Donate to Bazaar" msgstr "_Doneer aan Bazaar" #: src/bz-window.blp:285 msgid "_Refresh" msgstr "Ve_rversen" #: src/bz-window.blp:289 msgid "_Login With Flathub" msgstr "_Inloggen met Flathub" #: src/bz-window.blp:295 msgid "_Manage Leftover User Data" msgstr "Overgebleven _gebruikersgegevens beheren" #: src/bz-window.blp:301 msgid "_Preferences" msgstr "_Voorkeuren" #: src/bz-window.blp:306 msgid "_Keyboard Shortcuts" msgstr "Snel_toetsen" #: src/bz-window.blp:311 msgid "_About Bazaar" msgstr "_Over Bazaar" #: src/bz-window.blp:317 msgid "_Quit Bazaar" msgstr "Bazaar _sluiten" #: src/bz-window.blp:342 msgid "Log Out" msgstr "Uitloggen" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "Het opstarten van de applicatie is mislukt" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "Je kan Bazaar niet verwijderen vanuit Bazaar!" #: src/bz-window.c:1127 src/bz-window.c:1161 msgid "Can't do that right now!" msgstr "Dit is nu niet mogelijk!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Installatie" msgstr[1] "Installaties" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navigatie" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Ontdekpagina openen" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Bibliotheekpagina openen" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Zoekpagina openen" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Bronnen" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Bronnen synchroniseren" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Algemeen" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Voorkeuren openen" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Sneltoetsen tonen" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Venster sluiten" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Bazaar sluiten" ������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/pl.po������������������������������������������������������������������0000664�0000000�0000000�00000356013�15234476640�0016667�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# SPDX-FileCopyrightText: 2025 Polish translations for bazaar package # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025-2026 Microwave <micro.mail88@gmail.com> msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-22 17:51+0200\n" "PO-Revision-Date: 2026-07-24 20:01+0200\n" "Last-Translator: Marcel MrĂłwka <micro.mail88@gmail.com>\n" "Language-Team: Polish <>\n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 |" "| n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 26.04.1\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "App Store" msgstr "Sklep z aplikacjami" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "ZarzÄ…dzaj oprogramowaniem flatpak na tym komputerze" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "System;Package;Manager;Discover;Flatpak;Software;App;Store;" msgstr "" "System;Package;Manager;Discover;Flatpak;Software;Store;Marketplace;Pakiet;Pacz" "ka;ZarzÄ…dzanieOprogramowaniem;Odkryj;Odkrywaj;Odkrywca;Oprogramowanie;Sklep;Ba" "zar;AppStore;Play;Aplikacja;Aplikacje;Rynek;Targ;Bazar;GieĹ‚da;Apki;Apka;Progra" "m;Programy;Pobieranie;Pobierz;Instalowanie;Instaluj;Instalacja;Flathub;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "Nowe okno" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Odkrywaj i zarzÄ…dzaj aplikacjami" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Nowoczesny, szybki sklep z aplikacjami na Linuxa z naciskiem na odkrywanie " "oraz instalowanie aplikacji i dodatkĂłw z repozytoriĂłw Flatpak, głównie z " "Flathuba" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Ustawiaj w kolejce kilka instalacji i dalej przeglÄ…daj" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Ĺatwo przeglÄ…daj uprawnienia aplikacji" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Zaloguj siÄ™ do konta Flathub, aby zarzÄ…dzać ulubionymi" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Wyszukuj aplikacje proĹ›ciutko z GNOME Shell" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:766 msgid "The Bazaar Contributors" msgstr "Kontrybutorzy Bazaaru" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Widok domowy pokazujÄ…cy aplikacje z Flathuba" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Strona aplikacji Exhibit" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Strona biblioteki" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Strona wyszukiwania" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Strona kategorii" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Zatrzymano otrzymywanie wystÄ…pieĹ„" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Odinstaluj" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Zainstaluj" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "ZarzÄ…dzaj dodatkami" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Brak widocznych dodatkĂłw" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "Twoje aktualne preferencje filtrowania ukrywajÄ… wszystkie znane dodatki. " "SprĂłbuj dostosować je." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Strona dodatkĂłw" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "PobraĹ„/m-c" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "Nie otrzymuje podstawowych aktualizacji" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Ten dodatek wykorzystuje bibliotekÄ™, ktĂłra juĹĽ nie otrzymuje aktualizacji " "lub poprawek zabezpieczeĹ„. MoĹĽe siÄ™ stać niebezpieczny." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "Dodatek dla aplikacji %s" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "PokaĹĽ mniej" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "PokaĹĽ wiÄ™cej" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "Statystyki pobraĹ„" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "PrĂłg wiekowy" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "KreskĂłwkowa przemoc" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Brak informacji o wystÄ™powaniu kreskĂłwkowej przemocy" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Fantastyczna przemoc" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Brak informacji o wystÄ™powaniu fantastycznej przemocy" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Realistyczna przemoc" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Brak informacji o wystÄ™powaniu realistycznej przemocy" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Przemoc z ukazaniem krwawienia" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Brak informacji o wystÄ™powaniu przemocy z krwawieniem" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Przemoc seksualna" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Brak informacji o wystÄ™powaniu przemocy seksualnej" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alkohol" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do alkoholu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Narkotyki" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do narkotykĂłw" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "TytoĹ„" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do tytoniu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nagość" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Brak informacji o wystÄ™powaniu nagoĹ›ci" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Motywy seksualne" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Brak informacji o wystÄ™powaniu odniesieĹ„ lub przedstawieĹ„ natury seksualnej" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Wulgaryzmy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Brak informacji o wystÄ™powaniu wulgaryzmĂłw" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Nieodpowiedni humor" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Brak informacji o wystÄ™powaniu nieodpowiedniego humoru" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Dyskryminacja" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Brak informacji o wystÄ™powaniu dyskryminacji" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Reklamy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Brak informacji o wystÄ™powaniu reklam" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Hazard" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Brak informacji o wystÄ™powaniu hazardu" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Zakupy" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Brak informacji o moĹĽliwoĹ›ci robienia zakupĂłw" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Rozmowy miÄ™dzy uĹĽytkownikami" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Brak informacji o moĹĽliwoĹ›ci rozmawiania z innymi uĹĽytkownikami" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Rozmowy gĹ‚osowe miÄ™dzy uĹĽytkownikami" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "" "Brak informacji o moĹĽliwoĹ›ci prowadzenia rozmĂłw gĹ‚osowych z innymi " "uĹĽytkownikami" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Przekazywanie informacji kontaktowych" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Brak informacji o przekazywaniu nazw uĹĽytkownikĂłw na portalach " "spoĹ‚ecznoĹ›ciowych, czy teĹĽ adresĂłw e-mail" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Przekazywanie danych osobowych" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Brak informacji o wysyĹ‚aniu osobom trzecim danych osobowych uĹĽytkownikĂłw" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "UdostÄ™pnianie lokalizacji" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Brak informacji o udostÄ™pnianiu lokalizacji uĹĽytkownika z innymi" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostytucja" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do prostytucji" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Cudzołóstwo" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do cudzołóstwa" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Seksualizowanie postacie" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Brak informacji o wystÄ™powaniu seksualizowanych postaci" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Profanacja" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do profanacji" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "ZwĹ‚oki" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Brak informacji o wystÄ™powaniu zwĹ‚ok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Niewolnictwo" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Brak informacji o wystÄ™powaniu odniesieĹ„ do niewolnictwa" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Nie zawiera odniesieĹ„ do narkotykĂłw" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "Nie zawiera przekleĹ„stw, profanacji i innych rodzajĂłw mocnego jÄ™zyka" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Nie zawiera reklam i moĹĽliwoĹ›ci wykonywania zakupĂłw" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Nie zawiera seksu i nagoĹ›ci" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Nie zawiera niekontrolowanej funkcji chatu" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Nie zawiera przemocy" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "UĹĽywki" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Mocny jÄ™zyk" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "PieniÄ…dze" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "SpoĹ‚eczność" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Przemoc" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "3+" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "Aplikacja %s nie posiada progu wiekowego" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "Aplikacja %s jest odpowiednia dla wszystkich" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "Aplikacja %s jest odpowiednia dla mĹ‚odszych dzieci" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "Aplikacja %s jest odpowiednia dla dzieci" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "Aplikacja %s jest odpowiednia dla nastolatkĂłw" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "Aplikacja %s jest odpowiednia dla dorosĹ‚ych" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "Aplikacja %s jest odpowiednia dla %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Folder systemowy %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Podfolder katalogu domowego %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Foldery systemu hostowego" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Konfiguracja systemu hostowego z /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Podfolder pulpitu %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Folder pulpitu" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Podfolder dokumentĂłw %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Folder dokumentĂłw" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Podfolder muzyki %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Folder muzyki" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Podfolder obrazĂłw %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Folder obrazĂłw" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Podfolder publicznego udostÄ™pniania %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Folder publicznego udostÄ™pniania" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Podfolder filmĂłw %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Folder filmĂłw" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Podfolder szablonĂłw %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Folder szablonĂłw" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Podfolder pamiÄ™ci podrÄ™cznej uĹĽytkownika %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Folder pamiÄ™ci podrÄ™cznej uĹĽytkownika" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Podfolder konfiguracji uĹĽytkownika %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Folder konfiguracji uĹĽytkownika" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Podfolder danych uĹĽytkownika %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Folder danych uĹĽytkownika" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Podfolder bibliotek uĹĽytkownika %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Folder bibliotek uĹĽytkownika" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "DostÄ™p systemu plikĂłw do %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Nieznana Ĺ›cieĹĽka systemu plikĂłw" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "Rozmiar do pobrania" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "Rozmiar po instalacji" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "Ilość do pobrania z internetu" #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "Rozmiar na dysku" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "OtwĂłrz folder danych uĹĽytkownika" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "Twoje dane uĹĽytkownika" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "Pamięć podrÄ™czna, ustawienia i inne dane aplikacji" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "Pamięć podrÄ™czna" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "Tymczasowo przechowywane dane w pamiÄ™ci podrÄ™cznej" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "Wyczyść pamięć podrÄ™cznÄ…" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Rozmiar bibliotek po instalacji" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Rozmiar bibliotek do pobrania" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "NiedostÄ™pne" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "Rozmiar aplikacji" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Zweryfikowano" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:135 msgid "Installed" msgstr "Zainstalowano" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:769 msgid "translator-credits" msgstr "Marcel MrĂłwka (Microwave) <micro.mail88@gmail.com>, 2025, 2026" #: src/bz-application.c:779 msgid "Special Thanks" msgstr "Specjalne podziÄ™kowania" #: src/bz-application.c:837 msgid "Logged Out Successfully!" msgstr "Wylogowano pomyĹ›lnie!" #: src/bz-application.c:1027 msgid "Ubuntu Troubles!" msgstr "KĹ‚opoty Ubuntu!" #: src/bz-application.c:1030 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "Niedawne wydania Ubuntu spartaczyĹ‚y domyĹ›lne zasady bezpieczeĹ„stwa, " "spowodowaĹ‚o to, ĹĽe <b>aplikacje sÄ… niemoĹĽliwe do zainstalowania</b> z " "Flatpakowej wersji Bazaaru, na razie proszÄ™ uĹĽywać normalnego pakietu " "uruchamiajÄ…c w terminalu komendÄ™\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "FlatpakowÄ… wersjÄ™ aplikacji moĹĽna usunąć komendÄ…\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1036 msgid "Continue Anyway" msgstr "Kontynuuj mimo to" #: src/bz-application.c:1052 msgid "Performing setup…" msgstr "Konfigurowanie…" #: src/bz-application.c:1144 msgid "Set Up System Flathub?" msgstr "Skonfigurować Flathub systemowo?" #: src/bz-application.c:1147 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Repozytorium Flathuba na poziomie systemu nie jest skonfigurowane. Bazaar " "wymaga Flathuba skonfigurowanego na systemowej instalacji Flatpaka, aby mĂłc " "przeglÄ…dać oraz instalować aplikacje.\n" "\n" "Nadal moĹĽna uĹĽywać Bazaaru do przeglÄ…dania i usuwania juĹĽ zainstalowanych " "aplikacji." #: src/bz-application.c:1154 msgid "Set Up Flathub?" msgstr "Skonfigurować Flathub?" #: src/bz-application.c:1157 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub nie jest skonfigurowany na tym urzÄ…dzeniu. Nie bÄ™dziesz mĂłgĹ‚ " "przeglÄ…dać i instalować aplikacji w Bazaarze, jeĹ›li jest niedostÄ™pny.\n" "\n" "Nadal moĹĽna uĹĽywać Bazaaru do przeglÄ…dania i usuwania juĹĽ zainstalowanych " "aplikacji." #: src/bz-application.c:1163 msgid "Later" msgstr "Później" #: src/bz-application.c:1164 msgid "Set Up Flathub" msgstr "Skonfiguruj Flathub" #: src/bz-application.c:1697 msgid "A backend error occurred" msgstr "WystÄ…piĹ‚ błąd w backendzie" #: src/bz-application.c:1905 src/bz-application.c:4152 msgid "Refreshing…" msgstr "OdĹ›wieĹĽanie…" #: src/bz-application.c:2069 src/bz-application.c:4150 #, c-format msgid "Loading %d apps…" msgstr "Ĺadowanie %d aplikacji…" #: src/bz-application.c:2122 src/bz-application.c:2196 msgid "Failed to open file" msgstr "Otwieranie pliku nie powiodĹ‚o siÄ™" #: src/bz-application.c:2210 msgid "Failed to load metainfo" msgstr "Ĺadowanie metainfo nie powiodĹ‚o siÄ™" #: src/bz-application.c:2304 msgid "An initialization error occurred" msgstr "WystÄ…piĹ‚ błąd inicjalizacji" #: src/bz-application.c:2703 msgid "Checking for updates…" msgstr "Sprawdzanie dostÄ™pnoĹ›ci aktualizacji…" #: src/bz-application.c:2759 msgid "Failed to check for updates" msgstr "Sprawdzanie dostÄ™pnoĹ›ci aktualizacji nie powiodĹ‚o siÄ™" #: src/bz-application.c:3925 msgid "Malformed Link" msgstr "ZnieksztaĹ‚cone złącze" #: src/bz-application.c:3926 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "ĹÄ…cze uĹĽyte do otwarcia ma niepoprawnÄ… kapitalizacjÄ™ i moĹĽe przestać dziaĹ‚ać " "w przyszĹ‚oĹ›ci.\n" "\n" "Jest to prawdopodobnie spowodowane KRunnerem nie dajÄ…cym poprawnych " "identyfikatorĂłw" #: src/bz-application.c:3934 msgid "Could not find app" msgstr "Nie moĹĽna znaleźć aplikacji" #: src/bz-application.c:4154 msgid "Writing to cache…" msgstr "Zapisywanie do pamiÄ™ci podrÄ™cznej…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "PokaĹĽ wszystkie" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Wszystkie aplikacje dot. „%s”" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d aplikacji" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Otwieranie artykuĹ‚u nie powiodĹ‚o siÄ™" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Instalacja pakietu" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Dodatkowe zaleĹĽnoĹ›ci mogÄ… zająć dodatkowe miejsce" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Instalacja tej aplikacji moĹĽe wymagać dodania nowego ĹşrĂłdĹ‚a oprogramowania. " "Inne aplikacje z tego ĹşrĂłdĹ‚a bÄ™dÄ… pojawiać siÄ™ w Bazaarze.\n" "\n" "Tylko dodaj to ĹşrĂłdĹ‚o, majÄ…c pewność, ĹĽe moĹĽna mu zaufać." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "PomyĹ›lnie zainstalowano!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "OtwĂłrz" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "PokaĹĽ szczegóły aplikacji" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "JuĹĽ zainstalowano" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "Instalacja nie powiodĹ‚a siÄ™" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Nieznany rozmiar instalacji" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "OkoĹ‚o %s do zainstalowania" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Brak specjalnych uprawnieĹ„" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:29 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Puste" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Brak polecanych" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "Plik konfiguracji polecanych nie jest dostÄ™pny na tym urzÄ…dzeniu. Nadal " "moĹĽna przeglÄ…dać aplikacje na Flathubie." #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "PrzeglÄ…daj Flathuba" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Offline" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "PrzeglÄ…darka" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Nie zweryfikowano" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Informacja o twĂłrcy jest niedostÄ™pna" #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "WĹ‚asność identyfikatora aplikacji %s nie zostaĹ‚a zweryfikowana, wiÄ™c moĹĽe " "być pakietem zbudowanym przez spoĹ‚eczność." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "WĹ‚asność identyfikatora aplikacji %s zostaĹ‚a zweryfikowana rÄ™cznie przez " "zespół Flathub" #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "WĹ‚asność identyfikatora aplikacji %1$s zostaĹ‚a zweryfikowana przez <b>%2$s</" "b> na <b>%3$s</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "" "WĹ‚asność identyfikatora aplikacji %1$s zostaĹ‚a zweryfikowana przy uĹĽyciu " "%2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "WĹ‚asność identyfikatora aplikacji %s zostaĹ‚a zweryfikowana." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "PeĹ‚ne notatki o wydaniu" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "To wydanie byĹ‚o moĹĽliwe dziÄ™ki uĹĽytkownikom takim jak ty!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Kocham tworzyć Bazaar, lecz nie mogÄ™ robić tego bez niczyjej pomocy. Wspomóż " "dalszy rozwĂłj aplikacji, przekazujÄ…c darowiznÄ™ na Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Wesprzyj Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Co nowego w wersji %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Wydano %-e %B, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Wybierz instalacjÄ™" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Masz zainstalowanych kilka wersji tej aplikacji. Z ktĂłrÄ… chciaĹ‚byĹ› " "kontynuować?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Anuluj" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Tylko dla tego uĹĽytkownika" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "ten uĹĽytkownik" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "wszyscy uĹĽytkownicy" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "Szczegóły" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Kopiuj" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Skopiowano!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Liczba polubieĹ„" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Aktualizacja polubienia nie powiodĹ‚a siÄ™" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Zaloguj siÄ™ do konta Flathub, aby zarzÄ…dzać ulubionymi" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Zaloguj" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:348 msgid "Favorites" msgstr "Ulubione" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "Zainstaluj wszystkie" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:17 msgid "Loading" msgstr "Ĺadowanie" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Brak ulubionych" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Aplikacje oznaczone jako ulubione bÄ™dÄ… siÄ™ tutaj ukazywać" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Wesprzyj tÄ™ aplikacjÄ™" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "UsuĹ„ z ulubionych" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "UsuniÄ™cie z ulubionych nie powiodĹ‚o siÄ™" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Wstecz" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Dalej" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Edytowanie" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mikser" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Muzyka" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Gracz" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Nagrywarka" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Sekwencer" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Tuner" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "Telewizja" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Emulacja" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Akcja" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Przygoda" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Automatowe" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Klocki" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "PlanszĂłwki" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Karciane" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Dla dzieci" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "Logiczne" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "RPG" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Strzelanki" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Symulacja" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Sporty" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Strategiczne" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "PrzeglÄ…darki" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Rozmowy" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Poczta" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "UdostÄ™pnianie plikĂłw" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Audio i wideo" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Multimedia" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "WiÄ™cej aplikacji multimedialnych" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "NarzÄ™dzia programistyczne" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Programowanie" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "WiÄ™cej narzÄ™dzi programistycznych" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Edukacja" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Ucz siÄ™" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "WiÄ™cej aplikacji dot. edukacji" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Gry" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Graj" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "WiÄ™cej gier" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Grafika i fotografia" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "TwĂłrz" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "WiÄ™cej aplikacji dot. grafiki i fotografii" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "NarzÄ™dzia sieciowe" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "WiÄ™cej narzÄ™dzi sieciowych" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Produktywność" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Pracuj" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "WiÄ™cej aplikacji dot. produktywnoĹ›ci" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Nauka" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "WiÄ™cej aplikacji dot. nauki" #: src/bz-flathub-category.c:142 msgid "System" msgstr "System" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "WiÄ™cej aplikacji dot. systemu" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "NarzÄ™dzia" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "NarzÄ™dzia" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "WiÄ™cej narzÄ™dzi" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "TrendujÄ…ce" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "WiÄ™cej trendujÄ…cych" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "Popularne" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "WiÄ™cej popularnych" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "Niedawno dodane" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Nowe" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "WiÄ™cej nowych" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Niedawno zaktualizowane" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Zaktualizowane" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "WiÄ™cej zaktualizowanych" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Mobilne" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "WiÄ™cej mobilnych" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "WiÄ™cej aplikacji Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "Od KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "WiÄ™cej aplikacji od KDE" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Gry" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "WiÄ™cej gier" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Emulatory" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "WiÄ™cej emulatorĂłw" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "Launchery" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "WiÄ™cej launcherĂłw gier" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "WiÄ™cej narzÄ™dzi" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "WiÄ™cej narzÄ™dzi do gier" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub nie zostaĹ‚ dodany" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Nie znaleziono Flathuba na ĹĽadnej z twoich instalacji flatpaka" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub jest niedostÄ™pny" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Nie moĹĽna osiÄ…gnąć Flathuba" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "Nadal moĹĽna zarzÄ…dzać i wyszukiwać aplikacje." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Wyszukuj aplikacji" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Połącz ponownie" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Aplikacja dnia" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "W biegu" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Aplikacje na twoje urzÄ…dzenia mobilne z Linuxem" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "WiÄ™cej aplikacji mobilnych" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "My ♥ gry" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Gry i aplikacje do uruchamiania twoich ulubionych pozycji" #: src/bz-full-view.blp:34 src/bz-library-page.blp:40 #: src/bz-library-page.blp:44 msgid "No Results" msgstr "Brak wynikĂłw" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "SprĂłbuj wyszukać coĹ› innego" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Zawartość" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "To jest lokalny podglÄ…d, niektĂłre szczegóły mogÄ… siÄ™ różnić od opublikowanej " "pozycji" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "WyglÄ…d podglÄ…du sklepu" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "We_sprzyj" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Ta aplikacja wykorzystuje bibliotekÄ™, ktĂłra juĹĽ nie otrzymuje aktualizacji " "lub poprawek zabezpieczeĹ„. MoĹĽe siÄ™ stać niebezpieczna." #: src/bz-full-view.blp:539 msgid "Trash Data" msgstr "PrzenieĹ› dane do kosza" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Dodatki" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "WiÄ™cej dodatkĂłw" #: src/bz-full-view.blp:648 msgid "Links" msgstr "ĹÄ…cza" #: src/bz-full-view.blp:679 msgid "Similar Apps" msgstr "Podobne aplikacje" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Brak adresu URL" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Ta aplikacja ma licencjÄ™ FLOSS — oznacza to, ĹĽe jej kod ĹşrĂłdĹ‚owy moĹĽe być " "audytowany pod kÄ…tem bezpieczeĹ„stwa." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Ta aplikacja ma licencjÄ™ wĹ‚asnoĹ›ciowÄ… — oznacza to, ĹĽe jej kod ĹşrĂłdĹ‚owy jest " "tworzony prywatnie i niezaleĹĽne osoby trzecie nie mogÄ… go audytować." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "WiÄ™cej aplikacji" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "WiÄ™cej aplikacji od %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Inne aplikacje od tego twĂłrcy" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "Inne aplikacje od %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "Aplikacja %s nie jest zainstalowana, lecz nadal ma <b>%s</b> obecnych danych." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "Inne aplikacje" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d aplikacja" msgstr[1] "%d aplikacje" msgstr[2] "%d aplikacji" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:141 msgid "Failed to Remove User Data" msgstr "UsuniÄ™cie danych uĹĽytkownika nie powiodĹ‚o siÄ™" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Wsparcie sprzÄ™tu" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Wsparcie klawiatury" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Wymaga posiadania klawiatury" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Zaleca posiadanie klawiatury" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Wspiera klawiaturÄ™" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Wsparcie klawiatur jest nieznane" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Wsparcie myszki" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Wymaga myszki lub innego urzÄ…dzenia wskazujÄ…cego" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Zaleca korzystanie z myszki lub innego urzÄ…dzenia wskazujÄ…cego" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Wspiera myszki i inne urzÄ…dzenia wskazujÄ…ce" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Wsparcie myszek i innych urzÄ…dzeĹ„ wskazujÄ…cych jest nieznane" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Wsparcie ekranĂłw dotykowych" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Wymaga ekranu dotykowego" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Zaleca korzystanie z ekranu dotykowego" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Wspiera ekrany dotykowe" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Wsparcie ekranĂłw dotykowych jest nieznane" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Wsparcie urzÄ…dzeĹ„ mobilnych" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "DziaĹ‚a na urzÄ…dzeniach mobilnych" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "MoĹĽe nie dziaĹ‚ać najlepiej na urzÄ…dzeniach mobilnych" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Wsparcie komputerĂłw" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Doskonale dziaĹ‚a na duĹĽych ekranach" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "Aplikacja %s dziaĹ‚a najlepiej na konkretnym sprzÄ™cie" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "Aplikacja %s dziaĹ‚a na wiÄ™kszoĹ›ci urzÄ…dzeĹ„" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "Menu inspektora" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_OtwĂłrz" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Odinstaluj aplikacjÄ™" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_UsuĹ„" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Aktualizuj" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "UsuĹ„" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "Zainstaluj aplikacjÄ™ %s ze ĹşrĂłdĹ‚a %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "Zainstaluj aplikacjÄ™ %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Anuluj" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Anulowanie" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Przycisk „PrzekaĹĽ darowiznę”" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "Wyszukuj wĹ›rĂłd zainstalowanych aplikacji" #: src/bz-library-page.blp:33 msgid "No Apps Found" msgstr "Nie znaleziono aplikacji" #: src/bz-library-page.blp:52 msgid "Search Store Instead" msgstr "W zamian wyszukaj w sklepie" #. Translators: . #: src/bz-library-page.blp:62 src/bz-window.blp:114 msgid "Library" msgstr "Biblioteka" #: src/bz-library-page.blp:91 msgid "Pending Updates" msgstr "Aktualizacje w toku" #: src/bz-library-page.blp:118 msgid "Downloads" msgstr "Pobrania" #: src/bz-library-page.blp:161 msgid "Recently Uninstalled" msgstr "Niedawno odinstalowane" #: src/bz-library-page.blp:212 msgid "Clear Finished Tasks" msgstr "Wyczyść zakoĹ„czone zadania" #: src/bz-library-page.blp:239 msgid "Sort Options" msgstr "Opcje sortowania" #: src/bz-library-page.blp:298 msgid "Sort By" msgstr "Sortuj wg" #: src/bz-library-page.blp:312 msgid "Name" msgstr "Nazwy" #: src/bz-library-page.blp:318 msgid "Size" msgstr "Rozmiaru" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Brak wynikĂłw dla „%s” na liĹ›cie zainstalowanych aplikacji" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u aktualizacja dostÄ™pna" msgstr[1] "%u aktualizacje dostÄ™pne" msgstr[2] "%u aktualizacji dostÄ™pnych" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u zainstalowana aplikacja" msgstr[1] "%u zainstalowane aplikacje" msgstr[2] "%u zainstalowanych aplikacji" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Nie znaleziono aplikacji" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "Znaleziono jednÄ… aplikacjÄ™" msgstr[1] "Znaleziono %u aplikacje" msgstr[2] "Znaleziono %u aplikacji" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Miej wkĹ‚ad" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Dowiedz siÄ™ wiÄ™cej" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Nieznana licencja" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Stworzone przez spoĹ‚eczność" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:288 msgid "Proprietary" msgstr "WĹ‚asnoĹ›ciowe" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:290 msgid "Special License" msgstr "Licencja specjalna" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Ta aplikacja jest tworzona jako wolna przez miÄ™dzynarodowÄ… spoĹ‚eczność.\n" "\n" "MoĹĽesz mieć wkĹ‚ad w proces tworzenia i ulepszania jej." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Licencja tej aplikacji jest nieznana." #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Ta aplikacja jest tworzona jako wolna przez miÄ™dzynarodowÄ… spoĹ‚eczność i " "jest wydawana z licencjÄ… %s.\n" "\n" "MoĹĽesz mieć wkĹ‚ad w ulepszaniu jej." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Ta aplikacja nie jest tworzona jako wolna, zatem tylko jej twĂłrcy wiedzÄ… jak " "dziaĹ‚a. MoĹĽe być niewykrywalnie niebezpieczna, oraz zmieniać siÄ™ bez " "ostrzeĹĽenia.\n" "\n" "Nie bÄ™dziesz mĂłgĹ‚ mieć wkĹ‚adu w procesie tworzenia tej aplikacji." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Ta aplikacja jest tworzona i wydawana pod licencjÄ… specjalnÄ… %s\n" "\n" "Nie wiemy, czy bÄ™dziesz mĂłgĹ‚ mieć wkĹ‚adu w procesie tworzenia jej." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Licencja" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Połącz z Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "CoĹ› poszĹ‚o nie tak" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "" "Zaloguj siÄ™, aby synchronizować swoje ulubione aplikacje pomiÄ™dzy " "urzÄ…dzeniami" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "ZakoĹ„cz" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Cześć, %s!" #: src/bz-metainfo-preview.c:105 msgid "Add Icon to Metainfo Preview?" msgstr "Dodać ikonÄ™ do podglÄ…du Metainfo?" #: src/bz-metainfo-preview.c:108 msgid "" "Metainfo files don't include app icons by themselves. Would you like to " "select one manually?" msgstr "" "Pliki Metainfo nie zawierajÄ… same w sobie ikon. Czy chcesz wybrać jakÄ…Ĺ› rÄ™czni" "e?" #: src/bz-metainfo-preview.c:111 msgid "Skip" msgstr "PomiĹ„" #: src/bz-metainfo-preview.c:112 src/bz-metainfo-preview.c:163 msgid "Select Icon" msgstr "Wybierz ikonÄ™" #: src/bz-metainfo-preview.c:166 msgid "Image Files" msgstr "Pliki obrazĂłw" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Preferencje" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "Wykryto taryfowe połączenie internetowe — zatrzymano automatyczne " "odĹ›wieĹĽanie danych sklepowych" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "OdĹ›wieĹĽ rÄ™cznie" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Aktualizacje aplikacji" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "Sprawdzanie dostÄ™pnoĹ›ci i pobieranie aktualizacji zuĹĽywa dane oraz energiÄ™. " "Automatyczne aktualizowanie zatem jest wyłączone, gdy włączone jest " "oszczÄ™dzanie i/lub wykryto taryfowe połączenie internetowe." #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "_Automatycznie" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "Automatycznie sprawdzaj dostÄ™pność i pobieraj aktualizacje" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "_RÄ™cznie" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "" "Sprawdzanie dostÄ™pnoĹ›ci oraz pobieranie aktualizacji musi być zrobione " "rÄ™cznie" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "Powiadomie_nia o automatycznych aktualizacjach" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "Powiadom o automatycznym zainstalowaniu aktualizacji" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "Filtry zawartoĹ›ci" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "Tylko _wolne oprogramowanie" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "Ukrywaj aplikacje wĹ‚asnoĹ›ciowe podczas przeglÄ…dania i wyszukiwania" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "Tylko wyniki z F_lathuba" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "" "Limituj wyniki wyszukiwania i przeglÄ…dania, tak aby pokazywać tylko " "aplikacje dostÄ™pne na Flathubie" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "Tylko _zweryfikowane wyniki" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "Ukrywaj niezweryfikowane aplikacje" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "Ukrywaj aplikacj_e z brakiem wsparcia" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "Ukrywaj aplikacje nie otrzymujÄ…ce juĹĽ aktualizacji od swoich twĂłrcĂłw" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "Motyw paska postÄ™pu" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Kolor akcentowy" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Kolory dumy" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Kolory dumy lesbijek" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Kolory dumy mężczyzn homoseksualnych" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Kolory dumy osĂłb transpĹ‚ciowych" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Kolory dumy osĂłb niebinarnych" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Kolory dumy osĂłb biseksualnych" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Kolory dumy osĂłb aseksualnych" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Kolory dumy osĂłb panseksualnych" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Kolory dumy osĂłb aromantycznych" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Kolory dumy osĂłb genderfluidalnych" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Kolory dumy osĂłb polyseksualnych" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Kolory dumy osĂłb omniseksualnych" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Kolory dumy osĂłb aromantyczno-seksualnych" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Kolory dumy osĂłb bezpĹ‚ciowych" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Kolory dumy osĂłb genderqueerowych" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Kolory dumy osĂłb interseksualnych" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Kolory dumy osĂłb półpĹ‚ciowych" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Kolory dumy osĂłb biromantycznych" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Kolory dumy osĂłb niepeĹ‚nosprawnych" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Kolory dumy fembojĂłw" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Kolory dumy osĂłb neutroidalnych" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "Historia wersji" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "Historia _wersji" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Dzisiaj" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Wczoraj" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dzieĹ„ temu" msgstr[1] "%d dni temu" msgstr[2] "%d dni temu" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d tydzieĹ„ temu" msgstr[1] "%d tygodnie temu" msgstr[2] "%d tygodni temu" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d miesiÄ…c temu" msgstr[1] "%d miesiÄ…ce temu" msgstr[2] "%d miesiÄ™cy temu" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d rok temu" msgstr[1] "%d lata temu" msgstr[2] "%d lat temu" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "Wersja %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Brak szczegółów dla tego wydania" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Dowiedz siÄ™ wiÄ™cej" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Odinstaluj" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Pobierz" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Samowolne uprawnienia" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Ta aplikacja ma uprawnienie do pozwalajÄ…ce jej okrężnie przyznać sobie " "<b>jakiekolwiek inne uprawnienia</b>, obchodzÄ…c piaskownicÄ™ Flatpaka.\n" "\n" "Zatem moĹĽe ona robić wszystko co normalna niesandboxowana aplikacja w tym " "mieć dostÄ™p do twoich plikĂłw oraz łączyć siÄ™ z internetem.\n" "\n" "Obejrzenie innych uprawnieĹ„ nadal jest dobrym pomysĹ‚em, by dowiedzieć siÄ™ co " "aplikacja najprawdopodobniej bÄ™dzie robić." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "PokaĹĽ inne uprawnienia" #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:400 msgid "Safe" msgstr "Bezpieczna" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "Identyfikator aplikacji" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Ta aplikacja wykorzystuje przestarzałą wersjÄ™ Ĺ›rodowiska programowania (SDK) " "i moĹĽe zawierać błędy i luki bezpieczeĹ„stwa, ktĂłre nie zostanÄ… naprawione." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "BezpieczeĹ„stwo" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "Aplikacja %s jest bezpieczna" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "Aplikacja %s nie posiada niebezpiecznych uprawnieĹ„" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "Aplikacja %s jest prawdopodobnie bezpieczna" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "Aplikacja %s jest prawdopodobnie niebezpieczna" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "Aplikacja %s jest niebezpieczna" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Wstecz" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Poprzedni zrzut ekranu" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "NastÄ™pny zrzut ekranu" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Kopiuj obraz" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "Zresetuj widok" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Oddal" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "PrzybliĹĽ" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Karuzela zrzutĂłw ekranu" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Brak zrzutĂłw ekranu" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "OtwĂłrz przeglÄ…darkÄ™ zrzutĂłw ekranu" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "Zrzut ekranu numer %u podpisany %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "Zrzut ekranu numer %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "Wyczyść wyszukiwanie" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "Filtry" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Zweryfikowane" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Wolne" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Wspi_erane" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Odfiltruj aplikacje z brakiem wsparcia" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "Przyjazne ko_mĂłrkom" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Kategorie" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "Wyszukuj aplikacje, gry i oprogramowanie" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Filtry wyszukiwania" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "PrzeglÄ…daj kategorie" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "Kategorie sÄ… niedostÄ™pne" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Wyszukuj aplikacji korzystajÄ…c z powyĹĽszego paska wyszukiwania" #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Nie znaleziono aplikacji" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Brak wynikĂłw dotyczÄ…cych „%s” na Flathubie" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Filmy" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Biuro" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Kalendarz" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Komunikatory" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Rysowanie" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emulator" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Strona na Flathubie" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Strona projektu" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Ĺšledzenie problemĂłw" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Pomoc" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "PrzekaĹĽ darowiznÄ™" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "TĹ‚umacz" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Skontaktuj siÄ™" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Kod ĹşrĂłdĹ‚owy" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Miej wkĹ‚ad" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifest" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Kopiuj łącze" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "OĹ› czasowa" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Instalacje:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Ĺšwiat" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Od 15.04.2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "Suma instalacji: %.2f mln" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "Suma instalacji: %.2f tys." #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "Suma instalacji: %'d" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Brak wynikĂłw" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "Wyszukiwanie nie powiodĹ‚o siÄ™" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "UsuĹ„ dane uĹĽytkownika" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "PozwĂłl na przywracanie ustawieĹ„ i zawartoĹ›ci" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "UsuĹ„ wszystkie dane" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "UsuĹ„ dane aplikacji na zawsze, aby zaoszczÄ™dzić miejsce" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Zainstalować aplikacjÄ™ %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Wybierz wersjÄ™ do zainstalowania. MoĹĽe zainstalować dodatkowe współdzielone " "komponenty" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "MoĹĽe zainstalować dodatkowe współdzielone komponenty" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Anuluj" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "Za_instaluj" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Usunąć aplikacjÄ™ %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Wybierz wersjÄ™ do usuniÄ™cia." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Nie bÄ™dzie moĹĽna korzystać z aplikacji %s po odinstalowaniu jej." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "Aplikacja %s jest wysokim zagroĹĽeniem" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Ta aplikacja ma peĹ‚ny dostÄ™p do twojego systemu, w tym <b>twoich plikĂłw, " "historii przeglÄ…dania, zapisanych haseĹ‚</b> i wielu innych. Posiada rĂłwnieĹĽ " "dostÄ™p do internetu, co oznacza, ĹĽe moĹĽe wysyĹ‚ać twoje dane do osĂłb " "trzecich.\n" "\n" "PoniewaĹĽ ta aplikacja jest wĹ‚asnoĹ›ciowa, nie moĹĽe być audytowana pod " "wzglÄ™dem tego co robi z tymi uprawnieniami." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Ta aplikacja wykorzystuje przestarzaĹ‚y system okien X11, ktĂłry pozwala jej " "na <b>rejestrowanie wszystkich wciĹ›nięć klawiszy, robienia zrzutĂłw ekranu i " "monitorowania innych aplikacji</b> Posiada rĂłwnieĹĽ dostÄ™p do internetu, co " "oznacza, ĹĽe moĹĽe wysyĹ‚ać twoje dane do osĂłb trzecich.\n" "\n" "PoniewaĹĽ ta aplikacja jest wĹ‚asnoĹ›ciowa, nie moĹĽe być audytowana pod " "wzglÄ™dem tego co robi z tymi uprawnieniami." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "Za_instaluj mimo to" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Ĺadowanie okna transakcji nie powiodĹ‚o siÄ™" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Wszystkie aplikacje sÄ… juĹĽ zainstalowane" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_OK" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Zainstalować %u aplikacjÄ™?" msgstr[1] "Zainstalować %u aplikacje?" msgstr[2] "Zainstalować %u aplikacji?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "NastÄ™pujÄ…ce zostanÄ… zainstalowane. Dodatkowe współdzielone skĹ‚adniki mogÄ… " "rĂłwnieĹĽ być zainstalowane." #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Dodatki do zainstalowania: %d" #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Dodatkowo, nastÄ™pujÄ…ca liczba dodatkĂłw zostanie zainstalowana: %d." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "Za_instaluj wszystkie" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "UkoĹ„czono w %.02f sek." #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Dodatek aplikacji" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Biblioteka" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "W kolejce" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Gotowe" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Anulowane" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Błąd" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Anuluj transakcjÄ™" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "PokaĹĽ szczegóły" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "PokaĹĽ szczegóły błędu" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "Zwolniono %s" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Błąd transakcji" #: src/bz-transaction.c:344 msgid "Pending" msgstr "OczekujÄ…ce" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "Akt_ualizuj wszystkie" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u aktualizacja biblioteki" msgstr[1] "%u aktualizacje bibliotek" msgstr[2] "%u aktualizacji bibliotek" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "ZarzÄ…dzaj pozostaĹ‚ymi danymi" #: src/bz-user-data-page.blp:34 msgid "No User Data Found" msgstr "Nie znaleziono pozostaĹ‚ych danych" #: src/bz-user-data-page.blp:40 msgid "User Data" msgstr "Dane uĹĽytkownika" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "OtwĂłrz folder danych uĹĽytkownika" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "PrzenieĹ› do kosza dane uĹĽytkownika" #: src/bz-user-data-tile.c:147 #, c-format msgid "Trashed User Data for %s" msgstr "Przeniesiono do kosza dane uĹĽytkownika aplikacji %s" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "OdĹ›wieĹĽanie" #: src/bz-window.blp:90 msgid "Curated" msgstr "Polecane" #: src/bz-window.blp:102 msgid "Explore" msgstr "Odkrywaj" #: src/bz-window.blp:129 msgid "Search" msgstr "Wyszukaj" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Menu główne" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "OdpaliĹ‚eĹ› nowiutkÄ… wersjÄ™ Bazaaru!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "Zobacz co nowego" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Masz połączenie z internetem, ale przeglÄ…dasz wersjÄ™ Flathuba, ktĂłra zostaĹ‚a " "zapisana w pamiÄ™ci twojego komputera" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "" "Wykryto taryfowe połączenie internetowe — zatrzymano automatyczne odĹ›wieĹĽanie" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "_Wesprzyj Bazaar" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_OdĹ›wieĹĽ" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "Za_loguj siÄ™ do Flathub" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "ZarzÄ…dzaj pozostaĹ‚y_mi danymi" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_Preferencje" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "SkrĂłty _klawiszowe" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "O _aplikacji Bazaar" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_ZakoĹ„cz Bazaar" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Wyloguj siÄ™" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Uruchomienie aplikacji nie powiodĹ‚o siÄ™" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Nie moĹĽna usunąć Bazaaru z poziomu Bazaaru!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "Nie moĹĽna tego teraz zrobić!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "instalacja" msgstr[1] "instalacje" msgstr[2] "instalacji" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f mln" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f tys." #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d pobraĹ„ w ciÄ…gu zeszĹ‚ego miesiÄ…ca" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s bibliotek" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Rozmiar do pobrania" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informacja o rozmiarze jest niedostÄ™pna" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Rozmiar do pobrania aplikacji %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "PrĂłg wiekowy" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Informacja o progu wiekowym jest niedostÄ™pna" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Odpowiednie od 3 lat" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Odpowiednie od %d lat" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Nieznane" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Wolne oprogramowanie pod licencjÄ… %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Wolne oprogramowanie" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Oprogramowanie wĹ‚asnoĹ›ciowe" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Licencja specjalna: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Wolne" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "" "Na różne\n" "urzÄ…dzenia" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "" "Tylko na\n" "komputery" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "DziaĹ‚a na komputerach, tabletach i telefonach" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "MoĹĽe nie dziaĹ‚ać na urzÄ…dzeniach mobilnych" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Niskie ryzyko" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Ĺšrednie ryzyko" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Wysokie ryzyko" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Nieznane uprawnienia" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Brakuje uprawnieĹ„ tej aplikacji." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Brak uprawnieĹ„" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikacja jest w peĹ‚ni uruchamiana w Ĺ›rodowisku piaskownicy" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "DostÄ™p do sieci" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Ma dostÄ™p do internetu" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Brak dostÄ™pu do sieci" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Nie ma dostÄ™pu do internetu" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "DostÄ™p do urzÄ…dzeĹ„ uĹĽytkownika" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "MoĹĽe uzyskać dostÄ™p do urzÄ…dzeĹ„ takich jak kamerki internetowe i kontrolery " "do gier" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Brak dostÄ™pu do urzÄ…dzeĹ„ uĹĽytkownika" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Nie moĹĽe uzyskać dostÄ™p do urzÄ…dzeĹ„ takich jak kamerki internetowe i " "kontrolery do gier" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "DostÄ™p do urzÄ…dzeĹ„ wprowadzania" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Ma dostÄ™p do urzÄ…dzeĹ„ wprowadzania" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "DostÄ™p do mikrofonu i odtwarzania dĹşwiÄ™ku" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "MoĹĽe sĹ‚uchać przy uĹĽyciu mikrofonĂłw i odtwarzać dĹşwiÄ™k bez proszenia o " "pozwolenie" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "DostÄ™p do urzÄ…dzeĹ„ systemowych" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "MoĹĽe uzyskać dostÄ™p do urzÄ…dzeĹ„ systemowych, ktĂłre wymagajÄ… wysokich " "uprawnieĹ„" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "DostÄ™p do zawartoĹ›ci ekranu" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Ma dostÄ™p do zawartoĹ›ci ekranu i innych okien" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "PrzestarzaĹ‚y system okien" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Zawsze wykorzystuje przestarzaĹ‚y system okien (X11)" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "MoĹĽe uzyskać samowolne uprawnienia" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Ustawienia uĹĽytkownika" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Ma dostÄ™p do ustawieĹ„ uĹĽytkownika i moĹĽe je zmieniać" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "PeĹ‚ny dostÄ™p do systemu plikĂłw" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "MoĹĽe odczytywać i zapisywać wszystkie dane na systemie plikĂłw" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "DostÄ™p do katalogu domowego" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "MoĹĽe odczytywać i zapisywać wszystkie dane w twoim katalogu domowym" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "PeĹ‚ny dostÄ™p do odczytu systemu plikĂłw" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "MoĹĽe odczytywać wszystkie dane na systemie plikĂłw" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "DostÄ™p do odczytu katalogu domowego" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "MoĹĽe odczytywać dane w twoim katalogu domowym" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "DostÄ™p do folderu pobranych" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "MoĹĽe odczytywać i zapisywać wszystkie dane w twoim folderze pobranych" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "DostÄ™p do odczytu folderu pobranych" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "MoĹĽe odczytywać dane w twoim folderze pobranych" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "MoĹĽe odczytywać i zapisywać wszystkie dane w katalogu" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "MoĹĽe odczytywać wszystkie dane w katalogu" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Brak dostÄ™pu do systemu plikĂłw" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Absolutnie nie ma dostÄ™pu do systemu plikĂłw" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Wykorzystuje usĹ‚ugi systemowe" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "MoĹĽe prosić o dane z poza-portalowych usĹ‚ug systemowych" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "UsĹ‚ugi sesji uĹĽytkownika" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "MoĹĽe prosić o dane z poza-portalowych usĹ‚ug" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Brak dostÄ™pu do usĹ‚ug" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Absolutnie nie ma dostÄ™pu do usĹ‚ug systemowych, ani sesji" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Zweryfikowany twĂłrca aplikacji" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" "TwĂłrca tej aplikacji zostaĹ‚ zweryfikowany pod wzglÄ™dem czy sÄ… kim za kogo " "siÄ™ podajÄ…" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "WĹ‚asnoĹ›ciowy kod" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Kod ĹşrĂłdĹ‚owy nie jest publiczny, wiÄ™c nie moĹĽe być niezaleĹĽnie audytowany, " "co sprawia, ĹĽe aplikacja moĹĽe być niebezpieczna" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Audytowalny" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Kod ĹşrĂłdĹ‚owy jest publiczny i moĹĽe być niezaleĹĽnie audytowany, co sprawia, " "ĹĽe aplikacja jest raczej bardziej bezpieczna" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Korzysta z usĹ‚ugi systemowej %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Korzysta z usĹ‚ugi sesji %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Korzysta z usĹ‚ugi %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "MoĹĽe widzieć poza-portalowe usĹ‚ugi" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "MoĹĽe rozmawiać z poza-portalowymi usĹ‚ugami" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "MoĹĽe posiadać poza-portalowe usĹ‚ugi" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integracja z globalnym menu" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "MoĹĽe wyĹ›wietlać swoje menu w globalnym pasku menu" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integracja z ustawieniami KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "MoĹĽe wykryć kiedy ustawienia pulpitu KDE siÄ™ zmieniajÄ…" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Globalne ustawienia KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "MoĹĽe odczytywać preferencje pulpitu KDE, rzeczy jak czcionki i kolory" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "UsĹ‚uga tajemnej pamiÄ™ci" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "MoĹĽe przechowywać i otrzymywać swoje hasĹ‚a korzystajÄ…c z systemowego pÄ™ku " "kluczy" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "UsĹ‚uga powiadomieĹ„ pulpitowych" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "MoĹĽe wysyĹ‚ać powiadomienia pulpitowe" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integracja z zasobnikiem systemowym" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "MoĹĽe wyĹ›wietlać ikonÄ™ w zasobniku systemowym" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integracja z KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "MoĹĽe komunikować siÄ™ z urzÄ…dzeniami połączonymi przez KDE Connect" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Nawigacja" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Otwieranie strony „Odkrywaj”" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Otwieranie strony biblioteki" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Otwieranie stronÄ™ wyszukiwania" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Repozytoria" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Zsynchronizowanie repozytoriĂłw" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "OgĂłlne" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Otwieranie preferencji" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Pokazanie skrĂłtĂłw klawiszowych" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "ZamkniÄ™cie okna" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "KoĹ„czenie pracy Bazaaru" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "%u aplikacja zaktualizowana" msgstr[1] "%u aplikacje zaktualizowane" msgstr[2] "%u aplikacji zaktualizowanych" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "Zaktualizowano aplikcjÄ™ %s." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "Zaktualizowano aplikacje %s and %s." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "Obejmuje aplikacje %s, %s oraz %s." #~ msgid "Select Metainfo File" #~ msgstr "Wybierz plik Metainfo" #~ msgid "Metainfo Files" #~ msgstr "Pliki Metainfo" #~ msgid "Preview" #~ msgstr "PodglÄ…d" #~ msgid "Clear search" #~ msgstr "Wyczyść wyszukiwanie" #~ msgid "Free" #~ msgstr "Wolne" #~ msgid "Tags:" #~ msgstr "Identyfikatory:" #~ msgid "Progress Bar" #~ msgstr "Pasek postÄ™pu" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Wybierz motyw paska postÄ™pu!" #~ msgid "Open Link" #~ msgstr "OtwĂłrz łącze" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "Aplikacje z identyfikatorem \"%s\"" #~ msgid "Flathub returned an error" #~ msgstr "Flathub zwrĂłciĹ‚ błąd" #~ msgid "Retry Flathub Connection" #~ msgstr "SprĂłbuj ponownie połączyć siÄ™ z Flathub" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "Zaloguj siÄ™ swoim kontem Flathub w Bazaarze, aby zarzÄ…dzać swoimi " #~ "ulubionymi aplikacjami." #~ msgid "Delay Search Results" #~ msgstr "Opóźniaj wyniki wyszukiwania" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "Ulepsz wydajność wyszukiwania opóźniajÄ…c wyniki" #~ msgid "Vertical Stripes" #~ msgstr "Pionowe paski" #~ msgid "Display flag colors from left to right" #~ msgstr "WyĹ›wietlaj kolory flag od lewej do prawej" #~ msgid "User Data Size" #~ msgstr "Rozmiar danych uĹĽytkownika" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Open App Library" #~ msgstr "OtwĂłrz bibliotekÄ™ aplikacji" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "Instalowanie pakietĂłw .flatpak nie jest jeszcze wspierane" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" #~ msgid "Refresh completed!" #~ msgstr "UkoĹ„czono odĹ›wieĹĽanie!" #~ msgctxt "As in, \"100 Installs\"" #~ msgid "Installs" #~ msgstr "zainstalowaĹ„" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "OdĹ›wieĹĽ" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "PrzekaĹĽ _darowiznÄ™ ❤️" #~ msgid "Hide EOL Apps" #~ msgstr "Ukrywaj aplikacje z brakiem wsparcia" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgid "Download & Install Application" #~ msgstr "Pobierz i zainstaluj aplikacjÄ™" #~ msgctxt "As in, \"100 Downloads\"" #~ msgid "Downloads" #~ msgstr "PobraĹ„" #~ msgid "%e %B" #~ msgstr "%e %B" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "PodkreĹ›la teĹĽ potrzebÄ™ wspierania twĂłrcĂłw aplikacji na Linuxa. Bazaar " #~ "posiada stronÄ™ \"polecane\", ktĂłra moĹĽe być konfigurowana przez " #~ "dystrybutorĂłw pozwalajÄ…c na bardziej lokalne doĹ›wiadczenia." #~ msgid "Install Other Version" #~ msgstr "Zainstaluj innÄ… wersjÄ™" #~ msgid "Keep Data" #~ msgstr "Zachowaj dane" #~ msgid "Open App" #~ msgstr "OtwĂłrz aplikacjÄ™" #~ msgid "_Synchronize Remotes" #~ msgstr "Z_synchronizuj repozytoria" #~ msgid "Synchronizing..." #~ msgstr "Synchronizowanie..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "Otrzymywanie %d wystÄ…pieĹ„..." #~ msgid "Indexing Data..." #~ msgstr "Indeksowanie danych..." #~ msgid "Refreshing Store Content" #~ msgstr "OdĹ›wieĹĽanie zawartoĹ›ci" #~ msgid "No background tasks!" #~ msgstr "Brak zadaĹ„ w tle!" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "WyjdĹş" #~ msgid "View the Release Page" #~ msgstr "PokaĹĽ stronÄ™ wydania" #~ msgid "Close" #~ msgstr "Zamknij" #~ msgid "Copy and Close" #~ msgstr "Kopiuj i zamknij" #~ msgid "Nucleus app page" #~ msgstr "Strona aplikacji Nucleus" #~ msgid "Toggle transaction sidebar" #~ msgstr "Włącz pasek boczny transakcji" #~ msgid "Ongoing" #~ msgstr "TrwajÄ…ce" #~ msgid "Finished" #~ msgstr "ZakoĹ„czone" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "Do tej pory przeniesiono %s" #~ msgid "Tasks" #~ msgstr "Zadania" #~ msgid "Stop Active Tasks" #~ msgstr "Zatrzymaj aktywne zadania" #~ msgid "No Tasks Yet" #~ msgstr "Brak zadaĹ„" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d aktualizacja dostepna" #~ msgstr[1] "%d aktualizacje dostÄ™pne" #~ msgstr[2] "%d aktualizacji dostÄ™pnych" #~ msgid "Updates Are Available" #~ msgstr "DostÄ™pne sÄ… aktualizacje" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "NastÄ™pujÄ…ce aplikacje majÄ… dostÄ™pne aktualizacje. Czy chcesz je " #~ "zainstalować?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "Jest dostÄ™pna nastÄ™pujÄ…ca liczba aktualizacji dla bibliotek i/lub " #~ "dodatkĂłw: %d. Czy chcesz je zainstalować?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "" #~ "Dodatkowo, nastÄ™pujÄ…ca liczba bibliotek i/lub dodatkĂłw zostanie " #~ "zaktualizowana: %d." #~ msgid "Update Now" #~ msgstr "Aktualizuj teraz" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "MoĹĽliwość wyĹ›wietlania i instalowania lokalnych plikĂłw .flatpak bÄ™dzie " #~ "niedĹ‚ugo dostÄ™pna! Tymczasem, moĹĽesz uruchomić z poziomu terminala\n" #~ "\n" #~ "flatpak install --bundle twoj-pakiet.flatpak" #~ msgid "Resume Current Tasks" #~ msgstr "Kontynuuj wykonywanie zadaĹ„" #~ msgid "Pause Current Tasks" #~ msgstr "Zapauzuj wykonywanie zadaĹ„" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "Włącz menedĹĽera transakcji" #~ msgid "Pride Colors (Horizontal)" #~ msgstr "Kolory dumy (poziome)" #~ msgid "Lesbian Pride Colors (Horizontal)" #~ msgstr "Kolory dumy lesbijek (poziome)" #~ msgid "Male Homosexual Pride Colors (Horizontal)" #~ msgstr "Kolory dumy mężczyzn homoseksualnych (poziome)" #~ msgid "Transgender Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb transpĹ‚ciowych (poziome)" #~ msgid "Nonbinary Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb niebinarnych (poziome)" #~ msgid "Bisexual Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb biseksualnych (poziome)" #~ msgid "Asexual Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb aseksualnych (poziome)" #~ msgid "Pansexual Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb panseksualnych (poziome)" #~ msgid "Aromantic Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb aromantycznych (poziome)" #~ msgid "Genderfluid Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb genderfluidalnych (poziome)" #~ msgid "Polysexual Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb polyseksualnych (poziome)" #~ msgid "Omnisexual Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb omniseksualnych (poziome)" #~ msgid "Aroace Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb aromantyczno-seksualnych (poziome)" #~ msgid "Agender Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb bezpĹ‚ciowych (poziome)" #~ msgid "Genderqueer Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb genderqueerowych (poziome)" #~ msgid "Intersex Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb interseksualnych (poziome)" #~ msgid "Demigender Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb półpĹ‚ciowych (poziome)" #~ msgid "Biromantic Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb biomantycznych (poziome)" #~ msgid "Disability Pride Colors (Horizontal)" #~ msgstr "Kolory dumy osĂłb niepeĹ‚nosprawnych (poziome)" #~ msgid "Femboy Pride Colors (Horizontal)" #~ msgstr "Kolory dumy fembojĂłw (poziome)" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u pobraĹ„" #~ msgid "Hide EOL Entries" #~ msgstr "Ukrywaj wystÄ…pienia z brakiem wsparcia" #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "Ukrywaj wystÄ…pienia z brakiem wsparcia" #~ msgid "Only Show Free Software" #~ msgstr "Pokazuj tylko wolne oprogramowanie" #~ msgid "Hide proprietary software" #~ msgstr "Ukrywaj oprogramowanie wĹ‚asnoĹ›ciowe" #~ msgid "Show Only Flathub Content" #~ msgstr "Pokazuj tylko zawartość z Flathuba" #~ msgid "Hide applications which do not originate from Flathub" #~ msgstr "Ukrywaj aplikacje nie pochodzÄ…ce z Flathuba" #~ msgid "Show Only Verified Content" #~ msgstr "Pokazuj tylko zawartość zweryfikowanÄ…" #~ msgid "Hide applications which are not verified on Flathub" #~ msgstr "Ukrywaj aplikacje nie bÄ™dÄ…ce zweryfikowane na Flathubie" #~ msgid "Debounce Search Inputs" #~ msgstr "Opóźniaj wyszukiwanie podczas wpisywania" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "" #~ "Dodaj opóźnienie przed wyszukiwaniem, aby zapobiec natychmiastowym " #~ "odpowiedziom podczas wpisywania" #~ msgid "Describes the look of the global progress bar" #~ msgstr "OkreĹ›la wyglÄ…d paska postÄ™pu w caĹ‚ej aplikacji" #~ msgid "Saved Window Dimensions" #~ msgstr "Zapisane wymiary okna" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "" #~ "Wymiary okna, ktĂłre zostanÄ… uĹĽyte przy nastÄ™pnym uruchomieniu Bazaaru" #~ msgid "?" #~ msgstr "?" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "Ta funkcja jest na ten moment wyłączona. Zalecamy, abyĹ› zainstalowaĹ‚ " #~ "Flatseal, aby zarzÄ…dzać uprawnieniami twoich aplikacji." #~ msgid "Serialize" #~ msgstr "Serializuj" #~ msgid "Convert to JSON" #~ msgstr "Przekonwertuj na JSON" #~ msgid "More Mobile apps" #~ msgstr "WiÄ™cej aplikacji mobilnych" #~ msgid "Bazaar Inspector" #~ msgstr "Inspektor Bazaaru" #~ msgid "Background Task Info:" #~ msgstr "Informacje o zadaniu w tle:" #~ msgid "Enable Global Debug Mode" #~ msgstr "Włącz globalny tryb debugowania" #~ msgid "Active Blocklists" #~ msgstr "Aktywne listy blokowania" #~ msgid "Active Curated-Configs" #~ msgstr "Aktywne konfiguracje strony \"Polecane\"" #~ msgid "All Entry Groups" #~ msgstr "Wszystkie grupy wystÄ…pieĹ„" #~ msgid "Decache and Inspect" #~ msgstr "Wyczyść pamięć podrÄ™cznÄ… i inspektuj" #~ msgid "No Flatpaks Installed" #~ msgstr "Nie zainstalowano ĹĽadnych FlatpakĂłw" #~ msgid "Inspect UI Entry" #~ msgstr "Zbadaj element interfejsu" #~ msgid "All Debug Actions" #~ msgstr "Wszystkie dziaĹ‚ania debugowania" #~ msgid "Open Bazaar Inspector" #~ msgstr "OtwĂłrz inspektora Bazaaru" #, c-format #~ msgid "%s is suitable for toddlers" #~ msgstr "%s jest odpowiednie dla maĹ‚ych dzieci" #~ msgid "--- MB" #~ msgstr "--- MB" #~ msgid "Of the size of human DNA" #~ msgstr "rozmiaru DNA czĹ‚owieka" #~ msgid "3 billion base pairs" #~ msgstr "3 miliardy par zasadowych" #~ msgid "Of the Linux Kernel" #~ msgstr "jÄ…dra Linuksa" #~ msgid "linux-6.17.tar.xz" #~ msgstr "linux-6.17.tar.xz" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "komputera naprowadzajÄ…cego Apollo 11" #~ msgid "Total ROM and RAM" #~ msgstr "RAMu i ROMu razem" #~ msgid "Of the original Super Mario Bros" #~ msgstr "oryginalnej wersji Super Mario Bros" #~ msgid "On the NES" #~ msgstr "na konsoli NES" #~ msgid "Of the size of Wikipedia" #~ msgstr "rozmiaru Wikipedii" #~ msgid "Without any media" #~ msgstr "bez ĹĽadnych multimediĂłw" #~ msgid "Show Git Forge Star Counts" #~ msgstr "PokaĹĽ ilość gwiazdek na git" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "" #~ "StwierdĹş, czy Bazaar ma prĂłbwać wykryć i pokazać \"ilość gwiazdek\" dla " #~ "projektĂłw w peĹ‚wnym widoku" #~ msgid "Mobile Apps" #~ msgstr "Aplikacje mobilne" #~ msgid "Repository Star Count" #~ msgstr "Liczba gwiazdek repozytorium" #, c-format #~ msgid "%.2fM" #~ msgstr "%.2f mln" #, c-format #~ msgid "%.2fK" #~ msgstr "%.2f tys." #~ msgid "Display Star Count" #~ msgstr "PokaĹĽ liczbÄ™ gwiazdek repozytorium" #~ msgid "Show the star count of an application's source code repository" #~ msgstr "PokaĹĽ licznik ukazujÄ…cy liczbÄ™ gwiazdek repozytorium aplikacji" #~ msgid "" #~ "Bazaar can fetch and display the star count from an application's source " #~ "code repository on a remote Git forge. \n" #~ " For projects on GitHub, rate limits may cause them not to appear." #~ msgstr "" #~ "Bazaar moĹĽe pokazywać ilość gwiazdek z repozytorium aplikacji na " #~ "serwisach Git. Projekty z repozytoriamu na GitHubie, mogÄ… zostać " #~ "ograniczone,\n" #~ "wiÄ™c licznik moĹĽe siÄ™ nie pokazać." #~ msgid "Hide proprietary software when searching" #~ msgstr "Ukrywaj oprogramowanie wĹ‚asnoĹ›ciowe podczas wyszukiwania" #~ msgid "Filter search results to only show applications available on Flathub" #~ msgstr "" #~ "Filtruj wyniki wyszukiwania, tak aby pokazywać tylko aplikacje dostÄ™pne " #~ "na Flathubie" #~ msgid "Verified by the original developers" #~ msgstr "Zweryfikowane przez oryginalnych twĂłrcĂłw " #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "Azenyr" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Goudarz Jafari" #~ msgstr "Goudarz Jafari" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore (Lumaeris)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "JoĂŁo Victor (Leal)" #~ msgstr "JoĂŁo Victor (Leal)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "KiKaraage" #~ msgstr "KiKaraage" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "LĂ©ane GRASSER" #~ msgstr "LĂ©ane GRASSER" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Marcel MrĂłwka (Microwave)" #~ msgstr "Marcel MrĂłwka (Microwave)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Peter Dave Hello" #~ msgstr "Peter Dave Hello" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Pietro F." #~ msgstr "Pietro F." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Sabri Ăśnal" #~ msgstr "Sabri Ăśnal" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shinsei" #~ msgstr "Shinsei" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "camegone" #~ msgstr "camegone" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgid "Constructing Flatpak instance..." #~ msgstr "Przygotywywanie instancji Flatpaka..." #~ msgid "Reusing last Flatpak instance..." #~ msgstr "Ponowne wykorzystywanie ostatniej instancji Flatpaka..." #~ msgid "Flathub is not registered on this system" #~ msgstr "Flathub nie jest zarejestrwowany na tym komputerze" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "Czy chcesz dodać Flathub do listy repozytoriĂłw flatpak? JeĹ›li tego nie " #~ "zrobisz strona \"Flathub\" nie bÄ™dzie dostÄ™pna. MoĹĽesz to zmienić w " #~ "dowolnym momencie." #~ msgid "Add Flathub" #~ msgstr "Dodaj Flathub" #, c-format #~ msgid "Identifying installed entries..." #~ msgstr "Identyfikowanie zainstalowanych wystÄ…pieĹ„..." #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "" #~ "Rozpoczynanie otrzymywania zdalnych wystÄ…pieĹ„ odnoszÄ…c siÄ™ do %d list(y) " #~ "blokowania..." #, c-format #~ msgid "%'d of %'d" #~ msgstr "%'d z %'d" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "Oczekiwanie na zakoĹ„czenie indeksowania w tle..." #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "ZakoĹ„czono inicjalizacjÄ™ w %0.2f sek." #~ msgid "Run this application" #~ msgstr "Uruchom tÄ… aplikacjÄ™" #~ msgid "Run" #~ msgstr "Uruchom" #~ msgid "Settings & user data will be kept" #~ msgstr "Ustawiania i dane uĹĽytkownika zostanÄ… zachowane" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "Nie dołączono konfiguracji polecanych aplikacji do Bazaaru. Skontakuj siÄ™ " #~ "z kanaĹ‚ami pomocy swojej dystrybucji, aby uzyskać pomoc." #~ msgid "Visual" #~ msgstr "Grafika" #~ msgid "Git Forge Star Counts" #~ msgstr "Licznik gwiazdek na git" #~ msgid "Not having a GitHub access token may trigger rate limits" #~ msgstr "" #~ "Nie posiadanie tokenu dostÄ™pu Githuba moĹĽe spowodoać blokowanie próśb" #~ msgid "Show Only Flathub Apps" #~ msgstr "Pokazuj tylko aplikacje z Flathuba" #~ msgid "Wait for a brief pause to reduce system load" #~ msgstr "Poczekaj przez chilkÄ™, aby zmniejszyć obciÄ…ĹĽenie systemu" #~ msgid "Pride Rainbow Flag" #~ msgstr "TÄ™czowa flaga dumy" #~ msgid "Bisexual Flag" #~ msgstr "Flaga osĂłb biseksualnych" #~ msgid "Asexual Flag" #~ msgstr "Flaga osĂłb aseksualnych" #~ msgid "Go Home" #~ msgstr "Powróć do strony domowej" #~ msgid "Browse" #~ msgstr "PrzeglÄ…daj" #~ msgid "View curated applications" #~ msgstr "PrzeglÄ…daj polecane aplikacje" #~ msgid "View the latest on Flathub" #~ msgstr "PrzeglÄ…daj najnowsze z Flathuba" #~ msgid "_Quit Service" #~ msgstr "_ZakoĹ„cz usĹ‚ugÄ™" #~ msgid "Graphics" #~ msgstr "Grafika" #~ msgctxt "Project URL Type" #~ msgid "Homepage" #~ msgstr "Strona domowa" #~ msgid "Excludes shared components" #~ msgstr "Wyklucza współdzielone komponenty" #~ msgid "Source code may not be available" #~ msgstr "Kod ĹşrĂłdĹ‚owy, moĹĽe nie być dostÄ™pny" #~ msgid "Click for details" #~ msgstr "Kliknij, aby uzyskać informacje" #~ msgid "Repositories" #~ msgstr "Repozytoria" #~ msgid "Open in browser" #~ msgstr "OtwĂłrz w przeglÄ…darce" #, c-format #~ msgid "%'d Monthly Downloads" #~ msgstr "%'d miesiÄ™cznych pobraĹ„" #~ msgid "Theme" #~ msgstr "Motyw" #~ msgid "Share" #~ msgstr "Podziel siÄ™" #~ msgid "Calligraphy application page" #~ msgstr "Strona aplikacji Calligraphy" #~ msgid "Download graph for Blender" #~ msgstr "Wykres pobraĹ„ Blendera" #~ msgid "Manage Addons" #~ msgstr "ZarzÄ…dzaj dodatkami" #~ msgid "Open this image in the default image viewer" #~ msgstr "OtwĂłrz ten obraz w domyĹ›lnej przeglÄ…darce zdjęć" #~ msgid "Copy this image to the clipboard" #~ msgstr "Skopiuj ten obraz do schowka" #~ msgid "Show Downloads Over Time" #~ msgstr "PokaĹĽ pobrania na przestrzeni czasu" #~ msgid "Remote repo name" #~ msgstr "Nazwa repozytorium" #~ msgid "%B %-d" #~ msgstr "%-d %B" #~ msgid "Downloads Over Time" #~ msgstr "Pobrania na przestrzeni czasu" #~ msgid "Updated Size" #~ msgstr "Rozmiar po aktualizacji" #~ msgid "Freed Space" #~ msgstr "Zwolnione miejsce" #~ msgid "Transactions Will Appear Here" #~ msgstr "Tutaj pojawiÄ… siÄ™ transakcje" #~ msgid "Halt the execution of transactions" #~ msgstr "Zatrzymaj wykonywanie transakcji" #~ msgid "Up to date!" #~ msgstr "Wszystko zaktualizowane!" #~ msgid "Confirm Action" #~ msgstr "ZatwierdĹş zadanie" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Masz zamiar usunąć nastÄ™pujÄ…cy Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Czy na pewno chcesz to zrobić?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Masz zamiar zainstalować nastÄ™pujÄ…cy Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Czy na pewno chcesz to zrobić?" #~ msgid "Resume the execution of transactions" #~ msgstr "WznĂłw wykonywanie transakcji" #~ msgid "Pause the execution of transactions" #~ msgstr "Zatrzymaj wykonywanie transakcji" #~ msgid "Apps Of The Week" #~ msgstr "Polecane w tym tygodniu" #~ msgid "Minimize Lower Bound" #~ msgstr "Zminimalizuj dolnÄ… granicÄ™" #~ msgid "Maximize Upper Bound" #~ msgstr "Zmaksymalizuj gĂłrnÄ… granicÄ™" #~ msgctxt "Project URL Type" #~ msgid "VCS Browser" #~ msgstr "PrzeglÄ…darka VCS" #~ msgid "Full Application View" #~ msgstr "PeĹ‚ny widok aplikacji" #~ msgid "Change what content is shown when viewing applications" #~ msgstr "ZmieĹ„ co siÄ™ pokazuje podczas wyĹ›wietlania aplikacji" #~ msgid "" #~ "If you do not have an access token, turning this setting on may cause " #~ "GitHub to eventually rate limit you." #~ msgstr "" #~ "JeĹ›li nie posiadasz tokenu dostÄ™pu włączenie tego ustawienia moĹĽe " #~ "sprawić, ĹĽe Github moĹĽe zacząć blokować twoje ĹĽÄ…dania" #~ msgid "Type to filter" #~ msgstr "Pisz, aby filtrować" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Odrzuć wyniki z licencjami wĹ‚asnoĹ›ciowymi" #~ msgid "Advanced" #~ msgstr "Zaawansowane" #~ msgid "Open this link externally" #~ msgstr "OtwĂłrz to łącze w przeglÄ…darce" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "Otrzymano %'d z %'d wystÄ…pieĹ„ (minęło %0.1f sek.)" #~ msgid "VCS Forge Star Count" #~ msgstr "Licznik gwiazdek na VCS" #~ msgid "This application does not provide a donation link" #~ msgstr "Ta aplikacja nie posiada łącza do strony przekazywania darowizny" #, c-format #~ msgid "" #~ "\"%s\" does not provide a donations link. This does not mean you cannot " #~ "support them! Try looking at their <a href=\"%s\">project page</a> for " #~ "more information." #~ msgstr "" #~ "\"%s\" nie posiada łącza do strony przekazywaina darowizny. Oznacza to, " #~ "ĹĽe nie moĹĽesz wesprzeć tej aplikacji. Zajrzyj do a href=\"%s\">strony " #~ "projektu</a>, aby dowiedzieć siÄ™ wiÄ™cej." #, c-format #~ msgid "" #~ "\"%s\" does not provide a donations link. This does not mean you cannot " #~ "support them! Try finding their project page for more information." #~ msgstr "" #~ "\"%s\" nie posiada łącza do strony przekazywaina darowizny. Oznacza to, " #~ "ĹĽe nie moĹĽesz wesprzeć tej aplikacji. SprĂłbĂłj znaleźć stronÄ™ projektu tej " #~ "aplikacji, aby dowiedzieć siÄ™ wiÄ™cej." #~ msgid "Installing" #~ msgstr "Instalowanie" #~ msgid "Removing" #~ msgstr "Usuwanie" #~ msgid "Show Animated Background" #~ msgstr "PokaĹĽ animowane tĹ‚a" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "" #~ "Wybierz czy chcesz, aby pokazywać animowane tĹ‚a ikon na stronie domowej" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "" #~ "Jest to liczba pobraĹ„ z ostatnich 30 dni. NaciĹ›nij, aby zobaczyć " #~ "statystyki pobraĹ„ tej aplikacji." #~ msgid "How the application looks" #~ msgstr "Jak aplikacja siÄ™ prezentuje" #~ msgid "Appearance" #~ msgstr "WyglÄ…d" #~ msgid "Show animated background" #~ msgstr "PokaĹĽ animowane tĹ‚a" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "ProszÄ™ skrĂłcić podsumowanie, powinno mieć miÄ™dzy 10 a 35 znakĂłw." #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Główne okno Bazaaru pokazujÄ…ce Blendera" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Microwave" #~ msgstr "Microwave" #~ msgid "Match using regular expressions" #~ msgstr "PorĂłwnywaj uĹĽywajÄ…c zwyczajnych wyraĹĽeĹ„" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "Ukryj filtrowanie i sortowanie za efektem przejĹ›cia" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/pt_BR.po���������������������������������������������������������������0000664�0000000�0000000�00000335424�15234476640�0017265�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Portuguese translations for bazaar package # Traduções em portuguĂŞs brasileiro para o pacote bazaar. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Rin Koito <mouichidouryuuseigun@gmail.com>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-06-21 09:59-0400\n" "PO-Revision-Date: 2026-06-21 14:39-0400\n" "Last-Translator: Rin Koito <mouichidouryuuseigun@gmail.com>\n" "Language-Team: Brazilian Portuguese\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Gtranslator 50.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:46 #: src/bz-window.blp:202 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Adicione, remova ou atualize flatpaks neste computador" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Sistema;GerenciadorDePacotes;Discover;Flatpak;Aplicativos;Loja;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Nova Janela" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Descobrir e instalar aplicativos" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "Uma loja de aplicativos rápida e moderna para Linux, focada em descobrir e " "instalar aplicativos e extensões Flatpak, particularmente do Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Enfileire mĂşltiplas instalações e continuar navegando" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Veja permissões de aplicativos facilmente" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Faça login com o Flathub para ver e gerenciar seus favoritos" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Pesquise aplicativos diretamente do GNOME Shell" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:786 msgid "The Bazaar Contributors" msgstr "Contribuidores do Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "A página inicial exibindo aplicativos do Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Exibir página do app" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Página da Biblioteca" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Página de Pesquisa" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Página de Catergorias" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "Parou de Receber Atualizações" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Desinstalar" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Instalar" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Gerenciar Extensões" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Sem Extensões VisĂ­veis" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "As suas preferĂŞncias de filtro atuais estĂŁo escondendo todos as extensões " "conhecidas. Tente ajustá-las" #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Página de Extensões" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "Downloads/MĂŞs" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "Parou de receber atualizações crĂ­ticas" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Esta extensĂŁo utiliza um runtime que nĂŁo recebe mais atualizações ou " "atualizações de segurança. Talvez se torne insegura para uso." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "ExtensĂŁo para %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "Mostrar Menos" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show More" msgstr "Mostrar Mais" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "EstatĂ­sticas de Download" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Classificação Indicativa" # https://pt.wikipedia.org/wiki/Sistema_de_Classifica%C3%A7%C3%A3o_Indicativa_Brasileiro #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "ViolĂŞncia Caricata" # https://pt.wikipedia.org/wiki/Sistema_de_Classifica%C3%A7%C3%A3o_Indicativa_Brasileiro #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Sem informações acerca de violĂŞncia caricata" # https://pt.wikipedia.org/wiki/Sistema_de_Classifica%C3%A7%C3%A3o_Indicativa_Brasileiro #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "ViolĂŞncia Fantasiosa" # https://pt.wikipedia.org/wiki/Sistema_de_Classifica%C3%A7%C3%A3o_Indicativa_Brasileiro #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Sem informações acerca de violĂŞncia fantasiosa" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "ViolĂŞncia Realista" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Sem informações acerca de violĂŞncia realista" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "ViolĂŞncia com Presença de Sangue" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Sem informações acerca de violĂŞncia com presença de sangue" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "ViolĂŞncia Sexual" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Sem informações acerca de violĂŞncia sexual" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Ălcool" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Sem informações acerca de referĂŞncias Ă  álcool" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "NarcĂłticos" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Sem informações acerca de referĂŞncias a drogas ilĂ­citas" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabaco" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Sem informações acerca de referĂŞncias a produtos de tabaco" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nudez" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Sem informações acerca de nenhum tipo de nudez" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Temas Sexuais" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Sem informações acerca de referĂŞncias ou retratações a nenhum tipo de " "natureza sexual" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Profanidade" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Sem informações acerca de nenhum tipo de profanidade" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Humor Inapropriado" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Sem informações acerca de humor inapropriado" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Discriminação" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Sem informações acerca de nenhum tipo de linguagem discriminatĂłria" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Propaganda" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Sem informações acerca de nenhum tipo de propaganda" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Apostas ou Jogos de Azar" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Sem informações acerca de nenhum tipo de apostas ou jogos de azar" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Compras" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Sem informações acerca de possibilidades de gastar dinheiro" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Mensagens Entre Usuários" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Sem informações acerca de formas de se comunicar com outros usuários" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Comunicações de Ăudio Entre Usuários" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "" "Sem informações acerca de formas de se comunicar por áudio com outros " "usuários" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Detalhes de Contato" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Sem informações acerca de compartilhamento de nomes de usuário de redes " "sociais ou endereços de e-mail" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Informações de Identidade" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Sem informações acerca de compartilhamento de informações de usuário com " "terceiros" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Compartilhamento de Localização" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Sem informações acerca de compartilhamento de localização com outros usuários" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostituição" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Sem informações acerca de referĂŞncias a prostituição" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "AdultĂ©rio" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Sem informações acerca de referĂŞncias a adultĂ©rio" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "Personagens Sexualizados" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Sem informações acerca de personagens sexualizados" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Profanação" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Sem informações acerca de referĂŞncias a profanação" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Restos Humanos" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Sem informações acerca de restos humanos mortos visĂ­veis" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "EscravidĂŁo" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Sem informações acerca de referĂŞncias a escravidĂŁo" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "NĂŁo inclui referĂŞncias a drogas" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "" "NĂŁo inclui linguagem de teor ofensivo, profanidade e nenhum outro tipo de " "linguagem inapropriada" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "NĂŁo inclui anĂşncios ou transações monetárias" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "NĂŁo inclui sexo ou nudez" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "NĂŁo inclui funcionalidade nĂŁo controlada de comunicação" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "NĂŁo inclui violĂŞncia" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogas" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Linguagem ImprĂłpria" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Dinheiro" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Social" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "ViolĂŞncia" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Livre" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s possui classificação indicativa desconhecida" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s Ă© adequado para todos" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s Ă© adequado para crianças pequenas" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s Ă© adequado para crianças" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s Ă© adequado para adolecentes" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s Ă© adequado para adultos" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s Ă© adequado para %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Pasta do Sistema %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Subpasta da Pasta pessoal %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Pastas host do sistema" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Configurações host do sistema de /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Subpasta do Desktop %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Pasta do Desktop" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Subpasta de Documentos %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Pasta de Documentos" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Subpasta de MĂşsicas %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Pasta de MĂşsicas" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Subpasta de images %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Pasta de imagens" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Subpasta de Compartilhamento PĂşblico %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Pasta de Compartilhamento PĂşblico" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Subpasta de VĂ­deos %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Pasta de VĂ­deos" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Subpasta de Modelos %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Pasta de Modelos" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Subpasta de cache de usuário %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Pasta de cache de usuário" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Subpasta de configuração de usuário %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Pasta de configuração de usuário" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Subpasta de dados de usuário %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Pasta de dados de usuário" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Subpasta de runtime de usuário %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Pasta de runtime de usuário" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Acesso ao sistema de arquivos para %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "DiretĂłrio do sistema de arquivos desconhecido" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Tamanho do Download" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Tamanho Instalado" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Quantidade a ser baixada da internet" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Tamanho no Disco" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Abrir pasta de dados de usuário" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Seus Dados de Usuário" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Caches, configurações e outros dados do app" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Cache" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Dados de cache temporários" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "Limpar Cache" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Tamanho do Runtime Instalado" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Tamanho de Download do Runtime" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "N/A" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Tamanho do App" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Verificado" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Instalado" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:789 msgid "translator-credits" msgstr "" "JoĂŁo Victor <victorsouzaleal@gmail.com>, 2025\n" "Rin Koito <mouichidouryuuseigun@gmail.com>, 2025" #: src/bz-application.c:799 msgid "Special Thanks" msgstr "Agradecimentos Especiais" #: src/bz-application.c:857 msgid "Logged Out Successfully!" msgstr "Desconectado com Sucesso!" #: src/bz-application.c:995 msgid "Performing setup…" msgstr "Realizando configuração..." #: src/bz-application.c:1087 msgid "Set Up System Flathub?" msgstr "Configurar Flathub do Sistema?" #: src/bz-application.c:1090 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "O repositĂłrio Flathub do sistema nĂŁo está configurado. O Bazaar precisa que " "o Flahub esteja configurado na instalação Flatpak do sistema para navegar e " "instalar aplicações.\n" "\n" "VocĂŞ ainda pode utilizar o Bazaar para navegar e remover aplicativos já " "instalados." #: src/bz-application.c:1097 msgid "Set Up Flathub?" msgstr "Configurar Flathub?" #: src/bz-application.c:1100 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub nĂŁo configurado neste sistema. VocĂŞ nĂŁo poderá navegar e instalar " "aplicativos no Bazaar se estiver indisponĂ­vel.\n" "\n" "VocĂŞ ainda pode utilizar o Bazaar para navegador e remover aplicativos já " "instalados." #: src/bz-application.c:1106 msgid "Later" msgstr "Depois" #: src/bz-application.c:1107 msgid "Set Up Flathub" msgstr "Configurando Flathub" #: src/bz-application.c:1626 msgid "A backend error occurred" msgstr "Ocorreu um erro no backend" #: src/bz-application.c:1826 src/bz-application.c:4006 msgid "Refreshing…" msgstr "Atualizando..." #: src/bz-application.c:1990 src/bz-application.c:4004 #, c-format msgid "Loading %d apps…" msgstr "Carregando %d aplicativos..." #: src/bz-application.c:2043 msgid "Failed to open file" msgstr "Falha ao abrir arquivo" #: src/bz-application.c:2141 msgid "An initialization error occurred" msgstr "Ocorreu Um Erro de Iniciazalição" #: src/bz-application.c:2535 msgid "Checking for updates…" msgstr "Procurando por atualizações..." #: src/bz-application.c:2591 msgid "Failed to check for updates" msgstr "Falha ao procurar por atualizações" #: src/bz-application.c:3717 msgid "Malformed Link" msgstr "Link Malformado" #: src/bz-application.c:3718 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "O link usado para abrir este aplicativo possui capitalização incorreta e " "pode parar de funcionar no futuro.\n" "\n" "Isto costuma ocorrer quando o KRunner está enviando incorretamente IDs de " "aplicativos" #: src/bz-application.c:3726 msgid "Could not find app" msgstr "NĂŁo foi possĂ­vel encontrar o app" #: src/bz-application.c:3757 msgid "Failed to load metainfo" msgstr "Falha ao carregar metainfo" #: src/bz-application.c:4008 msgid "Writing to cache…" msgstr "Escrevendo no cache" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Mostrar Tudo" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Todos \"%s\"" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d Aplicativos" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Instalação de Bundle" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "DependĂŞncias adicionais podem ocupar mais espaço" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Instalar este aplicativo pode exigir adicionar uma nova fonte de software. " "Outros aplicativos desta fonte aparecerĂŁo no Bazaar.\n" "\n" "Somente adicione esta fonte se vocĂŞ tem certeza de que confia nela." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "Instalado com Sucesso!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Abrir" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Mostrar Detalhes do App" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "Já Instalado" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "Falha ao Instalar" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Tamanho de instalação desconhecido" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Cerca de %s para instalar" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Sem permissões especiais" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d downloads no Ăşltimo mĂŞs" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s runtime" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Download" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informação sobre o tamanho nĂŁo disponĂ­vel" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Tamanho do download de %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Todas as idades" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Classificação indicativa indisponĂ­vel" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Adequado para todas as idades" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Adequado para idades de %d anos ou mais" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Desconhecido" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Software livre sob a licença %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Software Livre" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Software Proprietário" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Licença Especial: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Software Livre" #: src/context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Proprietário" #: src/context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Licença Especial" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptativo" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Somente Desktop" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Funciona em desktops, tablets e celulares" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Talvez nĂŁo funcione em dispositivos mĂłveis" #: src/context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Seguro" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Baixo Risco" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "MĂ©dio Risco" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Alto Risco" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Vazio" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Sem Recomendações" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "NĂŁo há informação curada provida para este sistema. VocĂŞ ainda pode navegar " "por aplicativos no Flathub" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Navegar Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 msgid "Offline" msgstr "Offline" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Navegador" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "NĂŁo Verificado" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Informações sobre desenvolveres nĂŁo está disponĂ­vel" #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "A propriedade do ID do aplicativo %s nĂŁo foi verificada e talvez seja um " "pacote da comunidade." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "A propriedade do ID do aplicativo %s foi manualmente verificada pelo time do " "Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "A propriedade do ID do aplicativo %1$s foi verificada por <b>%2$s</b> em " "<b>%3$s</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "A propriedade do ID do aplicativo %1$s foi verificada utilizando %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "A propriedade do ID do aplicativo %s foi verificada." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Notas de Lançamento Completas" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Esta versĂŁo do Bazaar foi possĂ­vel graças a usuários como vocĂŞ!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Eu amo fazer o Bazaar, mas eu nĂŁo consigo fazĂŞ-lo sem ajuda. Ajude o " "desenvolvimento doando para o projeto no Ko-Fi:" #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Doar para o Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "O Que Tem de Novo na %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Lançado em %B %-e, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Escolha uma Instalação" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "VocĂŞ tem várias versões deste aplicativo instaladas. Com qual vocĂŞ gostaria " "de prosseguir?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Cancelar" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Somente Para Este Usuário" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "este usuário" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "todos os usuários" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:98 msgid "Details" msgstr "Detalhes" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Copiar" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:408 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Copiado!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Contagem de Favoritos" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Falha ao atualizar favorito" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Faça login com o Flathub para gerenciar seus favoritos" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Entrar" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:335 msgid "Favorites" msgstr "Favoritos" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Instalar Todos" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Carregando" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Sem Favoritos" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Aplicativos que vocĂŞ marcar como favoritos aparecerĂŁo aqui" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Apoiar Esta Aplicação" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Remover dos Favoritos" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Falha ao remover favorito" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Anterior" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "PrĂłximo" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Editação" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mixagem" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "MĂşsica" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Reprodutor de MĂ­dia" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Gravador" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Sequenciador" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Sintonizador" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Emulação" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Ação" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Aventura" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Arcade" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Blocos" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Tabuleiro" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Carta" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Crianças" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "LĂłgica" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Role Playing" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Tiro" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Simulação" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Estportes" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "EstratĂ©gia" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Navegadores" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Chat" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "E-mail" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Compartilhamento de Arquivos" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Ăudio & VĂ­deo" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "MĂ­dia" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Mais Ăudio e VĂ­deo" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "Ferramentas de desenvolvedores" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Desenvolver" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Mais Ferramentas de desenvolvedores" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Educação" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Aprender" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "Mais Educação" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Jogos" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Jogar" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Mais Jogos" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Gráficos e Fotografia" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "Criar" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Mais Gráficos e Fotografia" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "Conectividade" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Comunicação" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "Mais Comunicação" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Produtividade" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Trabalho" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Mais Produtividade" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "CiĂŞncia" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Mais CiĂŞncia" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Sistema" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Mais Sistema" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Utilitários" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "Ferramentas" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Mais Utilitários" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Em Alta" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Mais Em Alta" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "Populares" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Mais Populares" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "Recentemente Adicionados" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Novos" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Mais Novos" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Recentemente Atualizados" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Atualizados" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Mais Atualizados" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Aplicativos MĂłveis" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Mais Aplicativos MĂłveis" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Mais Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "Aplicativos KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "Mais Aplicativos KDE" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Jogos" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "Mais Jogos" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Emuladores" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Mais Emuladores" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "Inicializadores de Jogo" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Mais Inicializadores de Jogo" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Ferramentas de Jogo" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Mais Ferramentas de Jogo" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub NĂŁo Adicionado" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "O repositĂłrio do Flathub nĂŁo foi encontrado por nenhuma de suas instalações " "de Flatpak" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub IndisponĂ­vel" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Falha ao se conectar ao Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "VocĂŞ ainda pode gerenciar e procurar por aplicativos" #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Procurar Aplicativos" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Reconectar" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Aplicativo do Dia" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Em movimento" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Aplicativos para seus telefones e tablets Linux" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "Mais Aplicativos MĂłveis" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "NĂłs♥Jogos" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Jogos e aplicativos para rodar seus tĂ­tulos favoritos" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Sem Resultados" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Tente outro termo de pesquisa" #: src/bz-full-view.blp:47 msgid "Content" msgstr "ConteĂşdo" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Esta Ă© uma prĂ©-visualização local, alguns detalhes podem estar diferentes da " "listagem publicada" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "Pre-visualizar AparĂŞncia da Loja" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Apoiar" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Este aplicativo utiliza um runtime que nĂŁo recebe mais atualizações ou " "atualizações de segurança. Talvez se torne inseguro para uso." #: src/bz-full-view.blp:540 msgid "Trash Data" msgstr "Deletar dados" #: src/bz-full-view.blp:603 msgid "Add-ons" msgstr "Extensões" #: src/bz-full-view.blp:638 msgid "More Add-Ons" msgstr "Mais Extensões" #: src/bz-full-view.blp:649 msgid "Links" msgstr "Links" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Sem URL" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Este aplicativo tem uma licença livre e de cĂłdigo aberto (FLOSS), o que " "significa que o cĂłdigo fonte pode ser auditável por segurança." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Este aplicativo tem uma licença proprietária, o que significa que o cĂłdigo " "fonte Ă© desenvolvido de maneira privada e nĂŁo pode ser auditável " "independentemente por terceiros." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Mais Aplicativos" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Mais Aplicativos de %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Outros Aplicativos Deste Desenvolvedor" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "Outros Aplicativos de %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s nĂŁo está instalado, mas ainda possui <b>%s</b> de dados presentes." #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "Outros Aplicativos" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d Aplicativo" msgstr[1] "%d Aplicativos" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "Falha ao Remover Dados de Usuário" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Suporte a Hardware" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Suporte a Teclado" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Precisa de teclado" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Teclado recomendado" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Suporta teclados" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Suporte a teclado desconhecido" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Suporte a mouse" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Precisa de mouse ou dispositivo de indicação" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Recomenda mouse ou dispositivo de indicação" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Suporta mouse ou dispositivo de indicação" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Suporte para mouses ou dispositivos de indicação desconhecido" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Suporte a tela sensĂ­vel ao toque" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Precisa de tela sensĂ­vel ao toque" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Recomenda tela sensĂ­vel ao toque" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Suporta tela sensĂ­vel ao toque" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Suporte a telas sensĂ­veis ao toque desconhecido" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Suporte a dispositivos mĂłveis" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Funciona em dispositivos mĂłveis" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Talvez nĂŁo funcione bem em dispositivos mĂłveis" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Suporte a Desktop" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Funciona bem em telas grandes" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s funciona melhor em hardwares especĂ­ficos" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s funciona na maioria dos dispositivos" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Abrir" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Desinstalar Aplicativo" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Remover" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "Atualizar" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Remover" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Cancelar" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "Cancelando" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Doar Button" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "Pesquisar aplicativos instalados" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Limpar pesquisa" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Nenhum App Encontrado" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Tentar Pesquisar na Loja" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "Biblioteca" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "Atualizações pendentes" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "Downloads" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "Recentemente Desinstalado" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "Limpar Tarefas Finalizadas" #: src/bz-library-page.blp:277 msgid "Sort Options" msgstr "Opções de Filtro" #: src/bz-library-page.blp:336 msgid "Sort By" msgstr "Ordenar Por" #: src/bz-library-page.blp:350 msgid "Name" msgstr "Nome" #: src/bz-library-page.blp:356 msgid "Size" msgstr "Tamanho" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "" "Nenhum resultado encontrado para \"%s\" na lista de aplicativos instalados" #: src/bz-library-page.c:193 src/bz-updates-card.c:433 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u Atualização DisponĂ­vel" msgstr[1] "%u Atualizações DisponĂ­veis" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u Aplicativos Instalados" msgstr[1] "%u Aplicativos Instalados" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Envolva-se" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Aprender Mais" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Licença Desconhecida" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Feito pela Comunidade" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Este app Ă© desenvolvido em aberto por uma comunidade internacional.\n" "\n" "VocĂŞ pode participar e ajudar a torná-lo ainda melhor." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "A licença deste app Ă© desconhecida" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Este app Ă© desenvolvido em aberto por uma comunidade internacional e Ă© " "distribuĂ­do sob a licença %s.\n" "\n" "VocĂŞ pode participar e ajudar a torná-lo ainda melhor." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Este app nĂŁo Ă© desenvolvido em cĂłdigo aberto, entĂŁo somente os " "desenvolvedores sabem como ele funciona. Ele talvez seja inseguro de formas " "que sĂŁo difĂ­ceis de detectar e pode mudar sem supervisĂŁo.\n" "\n" "VocĂŞ talvez nĂŁo possa contribuir para este app." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Este app Ă© desenvolvido sob a licença especial %s.\n" "\n" "VocĂŞ talvez nĂŁo possa contribuir para este aplicativo." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Licença" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Conectar-se ao Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Algo Deu Errado" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "" "Conecte-se para sincronizar seus aplicativos favoritos entre dispositivos" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Finalizar" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Olá, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Selecionar Arquivo de Metainfo" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Arquivos de Metainfo" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Selecionar ĂŤcone (Opcional)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Arquivos de Imagem" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "PrĂ©-visualizar" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "PreferĂŞncias" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "Sua conexĂŁo Ă© limitada — atualização automática de dados da loja pausada" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:235 msgid "Refresh Manually" msgstr "Atualizar Manualmente" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Filtros de ConteĂşdo" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Somente Software Livre" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary apps when browsing and searching" msgstr "Ocultar aplicativos proprietários dos durante navegação e pesquisa" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Somente Resultados do Flathub" #: src/bz-preferences-dialog.blp:40 msgid "Limit search and browse results to apps only available on Flathub" msgstr "" "Limitar resultados de navegação e pesquisa a aplicativos disponĂ­veis no " "Flathub" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Somente Resultados Verificados" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Ocultar resultados que nĂŁo sĂŁo verificados no Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Ocultar Aplicativos em fim-de-vida (EOL)" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "" "Ocultar aplicativos que nĂŁo sĂŁo mais suportados por seus desenvolvedores" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "Tema da Barra de Progresso" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Cor de destaque" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Cores de Orgulho" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Cores do Orgulho LĂ©sbico" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Cores do Orgulho Homossexual Masculino" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Cores do Orgulho TransgĂŞnero" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Cores do Orgulho NĂŁo Binário" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Cores do Orgulho Bisexual" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Cores do Orgulho Asexual" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Cores do Orgulho Pansexual" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Cores do Orgulho Arromântico" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Cores do Orgulho GĂŞnero FluĂ­do" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Cores do Orgulho Polissexual" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Cores do Orgulho Omnissexual" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Cores do Orgulho Aroace" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Cores do Orgulho AgĂŞnero" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Cores do Orgulho Genderqueer" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Cores do Orgulho Intersexo" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Cores do Orgulho DemigĂŞnero" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Cores do Orgulho Birromântico" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Cores do Orgulho da DeficiĂŞncia" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Cores do Orgulho Femboy" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Cores do Orgulho Neutrois" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:155 msgid "Version History" msgstr "HistĂłrico de VersĂŁo" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_HistĂłrico de VersĂŁo" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Hoje" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Ontem" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Há %d dia" msgstr[1] "Há %d dias" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Há %d semana" msgstr[1] "Há %d semanas" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "Há %d mĂŞs" msgstr[1] "Há %d meses" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "Há %d ano" msgstr[1] "Há %d anos" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "VersĂŁo %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "NĂŁo há detalhes para este lançamento" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Obter mais informações" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Desinstalar" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Obter" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Permissões Desconhecidas" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "EstĂŁo faltando permissões para este app." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Sem Permissões" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "O app Ă© completamente isolado" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "Acesso Ă  Internet" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Pode acessar a internet" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Sem Acesso Ă  Rede" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "NĂŁo pode acessar a internet" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Acesso a Dispositivos de Usuário" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Pode acessar dispositivos como webcams ou controles de jogos" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Sem Acesso a Dispositivos de Usuário" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "NĂŁo pode acessar dispositivos como webcams ou controles de jogos" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Acesso a Dispositivos de Entrada" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Pode acessar dispositivos de entrada" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Acesso a Microfone e Tocar Ăudio" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "Pode ouvir usando microfones e tocar áudio sem pedir permissĂŁo" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Acesso a Dispositivo do Sistema" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Pode acessar dispositivos do sistema que requerem permissões elevadas" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Acesso a ConteĂşdos da Tela" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Pode acessar os conteĂşdos da tela e de outras janelas" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Sistema de Janelas Legado" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Sempre usa um sistema de janelas legado (X11)" #: src/safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Permissões Arbitrárias" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Pode adquirir permissões arbitrárias" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Configurações de Usuário" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Pode acessar e mudar configurações de usuário" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Acesso Total de Leitura/Escrita ao Sistema de Arquivos" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Pode ler e escrever todos os dados no sistema de arquivos" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Acesso de Leitura/Escrita Ă  Pasta Pessoal" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Pode ler e escrever todos os dados na sua pasta pessoal" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Acesso Total de Leitura ao Sistema de Arquivos" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Pode ler todos os dados no sistema de arquivos" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Acesso de Leitura Ă  Pasta Pessoal" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Pode ler todos os dados na sua pasta pessoal" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Acesso de Leitura/Escrita Ă  Pasta de Download" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Pode ler e escrever todos os dados na sua pasta de downloads" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Acesso de Leitura Ă  Pasta de Downloads" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Pode ler todos os dados na sua pasta de downloads" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Pode ler e escrever todos os dados na sua pasta de downloads" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Pode ler todos os dados no diretĂłrio" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Sem Acesso ao Sistema de Arquivos" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "NĂŁo pode acessar o sistema de arquivos de maneira alguma" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Usa Serviços do Sistema" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Pode solicitar dados de serviços do sistema que nĂŁo utilizam portais" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Usa Serviços de SessĂŁo" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Pode solicitar dados de serviços de sessĂŁo que nĂŁo utilizam portais" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Sem Acesso a Serviços" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "NĂŁo pode acessar servições de sessĂŁo ou do sistema de maneira alguma" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Desenvolvedor do App Verificado" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "O desenvolvedor deste app foi verificado e Ă© quem diz ser" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "CĂłdigo Proprietário" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "O cĂłdigo fonte nĂŁo Ă© pĂşblico, entĂŁo nĂŁo pode ser auditado independentemente " "e pode ser inseguro" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "CĂłdigo Auditável" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "O cĂłdigo fonte Ă© pĂşblico e pode ser auditado independentemente, o que torna " "o app potencialmente seguro" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Usa o Serviço do Sistema %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Usa a Serviço de SessĂŁo %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Usa o Serviço %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Pode ver serviços que nĂŁo usam portais" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Pode se comunicar com serviços que nĂŁo utilizam portais" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Pode ter um serviço que nĂŁo utiliza portais" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integração de Menu Global" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Pode mostrar seus menus em uma menu de barra global" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integração de Configurações do KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Pode detectar quando configurações do desktop KDE mudam" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Configurações Globais do KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Pode ler preferĂŞncia do desktop KDE como fontes e cores" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Serviço de Armazenamento Secreto" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Pode guardar e recuperar suas prĂłprias senhas usando o keyring do sistema" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Serviço de Notificações do Desktop" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Pode mandar notificações de desktop" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integração com a Bandeja do Sistema" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Pode mostrar um Ă­cone na bandeja do sistema" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integração com KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "Pode interagir com dispositivos pareados via KDE Connect" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Este aplicativo possui uma permissĂŁo que, indiretamente, o autoriza " "conseguir </b>qualquer outra permissĂŁo que este aplicativo quiser</b>, " "burlando o isolamento do Flatpak.\n" "\n" "Portanto, ele pode fazer qualquer coisa que uma aplicação normal e sem " "isolamento consegue fazer, como acessar todos os seus arquivos e conectar Ă  " "internet.\n" "\n" "Verificar as outras permissões pode esclarecer o que este aplicativo " "provavelmente fará." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "Ver Outras Permissões" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "ID do App" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Este app utiliza uma versĂŁo desatualizada da plataforma de software (SDK) e " "pode conter bugs ou vunerabilidades de segurança que talvez nĂŁo estejam " "consertadas." #: src/bz-safety-dialog.c:278 msgid "Safety" msgstr "Segurança" #: src/bz-safety-dialog.c:344 #, c-format msgid "%s is Safe" msgstr "%s Ă© Seguro" #: src/bz-safety-dialog.c:349 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s nĂŁo possui Permissões Inseguras" #: src/bz-safety-dialog.c:354 #, c-format msgid "%s is Probably Safe" msgstr "%s Ă© Provavelmente Seguro" #: src/bz-safety-dialog.c:359 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s Ă© Possivelmente Inseguro" #: src/bz-safety-dialog.c:364 #, c-format msgid "%s is Unsafe" msgstr "%s Ă© Inseguro" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Capturas de tela" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Captura de tela anterior" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "PrĂłxima captura de tela" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Copiar Image" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Redefinir Visualização" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Diminuir Zoom" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "Aumentar Zoom" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Carrossel de Capturas de Tela" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Sem Capturas de Tela" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Abrir Visualizador de Capturas de Tela" #: src/bz-screenshots-carousel.c:301 #, c-format msgid "Screenshot %u %s" msgstr "Captura de tela %u %s" #: src/bz-screenshots-carousel.c:303 #, c-format msgid "Screenshot %u" msgstr "Captura de tela %u" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Filtros" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Verificado" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Livre/Aberto" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "NĂŁo-_EOL" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Filtrar aplicativos em fim-de-vida (EOL)" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Amigável para Dispositivos MĂłveis" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Catergorias" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "Pesquisar Aplicativos, Jogos e Softwares" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Filtros de Pesquisa" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Limpar Pesquisa" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Navegar por Categorias" #: src/bz-search-page.blp:245 msgid "Categories Unavailable" msgstr "Atualizações IndisponĂ­veis" #: src/bz-search-page.blp:246 msgid "Search for apps using the search bar above." msgstr "Pesquise aplicativos utilizando a barra de pesquisa acima." #: src/bz-search-page.blp:364 msgid "No Applications Found" msgstr "Nenhuma Aplicação Encontrada" #: src/bz-search-page.c:248 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Sem resultados para \"%s\" no Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "VĂ­deo" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Produtividade" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Calendário" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Mensagens" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Pintura" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Emuladores" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Página do Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Site do Projeto" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Rastreador de problemas" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "Perguntas Mais Frequentes" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Ajuda" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Doar" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Traduzir" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Contatar" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "CĂłdigo Fonte" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Contribuir" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifesto" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Copiar Link" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Linha do tempo" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Instalações:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Mundo" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Desde 15/04/2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM de Instalações Totais" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK de Instalações Totais" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d de Instalações Totais" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Nenhum Resultado Encontrado" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "A pesquisa falhou" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Manter Dados de Usuário" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Habilitar restauração de configurações pessoais & conteĂşdos" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Excluir Todos os Dados" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Remover permanentemente dados de usuário para liberar espaço" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Instalar %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Selecione qual versĂŁo para instalar. Talvez haja a instalação de componente " "compartilhados adicionais" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Pode instalar componentes compartilhados adicionais" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Cancelar" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Instalar" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Remover %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Selecione qual versĂŁo para remover." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "NĂŁo será possĂ­vel utilizar %s apĂłs ser desinstalado." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "\"%s\" Ă© de Alto Risco" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Este app possui acesso total ao seu sistema, incluindo todos <b>os seus " "arquivos, histĂłrico de navegação, senhas salvas<b> e mais. TambĂ©m possui " "acesso Ă  internet, o que significa que tambĂ©m pode enviar seus dados para " "terceiros.\n" "\n" "Por este app ser proprietário, nĂŁo Ă© possĂ­vel auditar o que faz com estas " "permissões." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Este app utiliza o sistema de janelas legado X11, o qual permite <b>gravar " "todas as teclas pressionadas, capturar tela e monitorar outros " "aplicativos<b>. TambĂ©m possui acesso Ă  internet, o que significa que tambĂ©m " "pode enviar os seus dados para terceiros.\n" "\n" "Por este app ser proprietário, nĂŁo Ă© possĂ­vel auditar o que faz com estas " "permissões." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Instalar de Qualquer Maneira" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Falha ao carregar o diálogo de transação" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Todos os aplicativos já estĂŁo instalados" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_OK" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Instalar Aplicativo %u?" msgstr[1] "Instalar Aplicativos %u?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Os seguintes aplicativos serĂŁo instalados. Componentes compartilhados " "adicionais tambĂ©m podem ser instalados" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d addons serĂŁo instalados." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Adicionalmente, %d addons serĂŁo instalados." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Instalar Todos" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "ConcluĂ­do em %.02f segundos" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Extensões do App" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Runtime" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Em Fila" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "ConcluĂ­do" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Cancelado" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Erro" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Cancelar Transação" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Mostrar Detalhes" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Mostrar Informações do Erro" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s Liberados" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Erro de Transação" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Pendente" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Atualizar Todos" #: src/bz-updates-card.c:211 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u Atualização de Runtime" msgstr[1] "%u Atualizações de Runtime" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Gerenciar Dados de Usuário Restantes" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "Nenhum Dado de Usuário Encontrado" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Dados de Usuário" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Apagar Dados de Usuário" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "Apagar Dados de Usuário de %s" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "Atualizando" #: src/bz-window.blp:89 msgid "Curated" msgstr "Recomendados" #: src/bz-window.blp:101 msgid "Explore" msgstr "Explorar" #: src/bz-window.blp:128 msgid "Search" msgstr "Pesquisa" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "Menu Principal" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "VocĂŞ está utilizando a nova versĂŁo do Bazaar!" #: src/bz-window.blp:227 msgid "See What's New" msgstr "Veja O Que Há de Novo" #: src/bz-window.blp:234 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "VocĂŞ possui conexĂŁo Ă  internet, mas está vendo uma versĂŁo em cache do Flathub" #: src/bz-window.blp:279 msgid "_Donate to Bazaar" msgstr "_Doar para o Bazaar" #: src/bz-window.blp:285 msgid "_Refresh" msgstr "_Atualizar" #: src/bz-window.blp:289 msgid "_Login With Flathub" msgstr "_Entrar com Flathub" #: src/bz-window.blp:295 msgid "_Manage Leftover User Data" msgstr "_Gerenciar Dados de Usuário Restantes" #: src/bz-window.blp:301 msgid "_Preferences" msgstr "_PreferĂŞncias" #: src/bz-window.blp:306 msgid "_Keyboard Shortcuts" msgstr "_Atalhos de Teclado" #: src/bz-window.blp:311 msgid "_About Bazaar" msgstr "_Sobre o Bazaar" #: src/bz-window.blp:317 msgid "_Quit Bazaar" msgstr "_Sair do Bazaar" #: src/bz-window.blp:342 msgid "Log Out" msgstr "Desconectar" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "Falha ao iniciar a aplicação" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "VocĂŞ nĂŁo pode remover o Bazaar pelo Bazaar!" #: src/bz-window.c:1127 src/bz-window.c:1161 msgid "Can't do that right now!" msgstr "NĂŁo Ă© possĂ­vel fazer isso agora!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Instalação" msgstr[1] "Instalações" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Navegação" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Abrir a Página Explorar" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Abrir a Página da Biblioteca" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Abrir a Página de Pesquisa" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "RepositĂłrios" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Sincronizar RepositĂłrios" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Geral" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Abrir PreferĂŞncias" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostrar Atalhos" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Fechar Janela" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Sair do Bazaar" #~ msgid "Free" #~ msgstr "Livre" #~ msgid "Tags:" #~ msgstr "Etiquetas:" #~ msgid "Progress Bar" #~ msgstr "Barra de Progresso" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "Escolha um tema para a barra de progresso!" #~ msgid "Open Link" #~ msgstr "Abrir Link" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "Aplicativos com a etiqueta \"%s\"" #~ msgid "Flathub returned an error" #~ msgstr "Flathub retornou um erro" #~ msgid "Retry Flathub Connection" #~ msgstr "Tentar conexĂŁo ao Flathub novamente" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "" #~ "Connect sua conta do Flathub ao Bazaar para gerenciar seus apps favoritos." #~ msgid "Delay Search Results" #~ msgstr "Atrasar Resultados de Pesquisa" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "" #~ "Melhorar resultados de performance utilizando debouncing nos termos " #~ "pesquisados" #~ msgid "Vertical Stripes" #~ msgstr "Listras Verticais" #~ msgid "Display flag colors from left to right" #~ msgstr "Mostrar as cores das bandeiras da esquerda para a direita" #~ msgid "User Data Size" #~ msgstr "Tamanho dos Dados de Usuário" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Installing" #~ msgstr "Instalando" #~ msgid "Refresh completed!" #~ msgstr "Atualização completa!" #~ msgctxt "As in, \"100 Installs\"" #~ msgid "Installs" #~ msgstr "Instalações" #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "Atualizar" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "_Doar para o Bazaar ❤️" #~ msgid "Open App Library" #~ msgstr "Abrir Biblioteca de Apps" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "Instalar bundles .flatpak ainda nĂŁo Ă© suportado" #~ msgid "Steam" #~ msgstr "Steam" #~ msgid "Minecraft" #~ msgstr "Minecraft" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "Isso enfatiza o apoio aos desenvolvedores que tornam o desktop Linux " #~ "possĂ­vel. Bazaar provĂŞ uma seção de \"recomendados\" que pode ser " #~ "configurada por distribuidores para entregar uma experiĂŞncia mais " #~ "localizada." #~ msgid "_Synchronize Remotes" #~ msgstr "_Sincronizar RepositĂłrios" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "Synchronizing..." #~ msgstr "Sincronizando..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "Obtendo %d entradas" #~ msgid "Indexing Data..." #~ msgstr "Indexando Dados..." #~ msgid "View the Release Page" #~ msgstr "Visualizar Página de Lançamento" #~ msgid "Close" #~ msgstr "Fechar" #~ msgid "Copy and Close" #~ msgstr "Copiar e Fechar" #~ msgid "Download & Install Application" #~ msgstr "Baixar & Instalar Aplicativo" #~ msgid "Install Other Version" #~ msgstr "Instalar Outra VersĂŁo" #~ msgid "Keep Data" #~ msgstr "Manter Dados" #~ msgid "Open App" #~ msgstr "Abrir App" #~ msgid "Refreshing Store Content" #~ msgstr "Recarregando o ConteĂşdo da Loja" #~ msgid "No background tasks!" #~ msgstr "Sem atividades em segundo plano!" #~ msgctxt "As in, \"100 Downloads\"" #~ msgid "Downloads" #~ msgstr "Downloads" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "Sair" #~ msgid "Nucleus app page" #~ msgstr "Página do aplicativo Nucleus" #~ msgid "Toggle transaction sidebar" #~ msgstr "Alternar barra lateral de transações" #, fuzzy #~ msgid "Finished" #~ msgstr "Tarefas finalizadas" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "%s transferidos atĂ© agora" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d Atualização DisponĂ­vel" #~ msgstr[1] "%d Atualizações DisponĂ­veis" #~ msgid "Updates Are Available" #~ msgstr "Atualizações EstĂŁo DisponĂ­veis" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "Os seguintes aplicativos podem ser atualizados. VocĂŞ gostaria de instalá-" #~ "los?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "" #~ "%d runtimes e/ou extensões podem ser atualizados. VocĂŞ gostaria de " #~ "instalá-los?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "Adicionalmente, %d runtimes e/ou extensões serĂŁo atualizados." #~ msgid "Update Now" #~ msgstr "Atualizar Agora" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "Alternar Gerenciador de Transações" # https://pt.wikipedia.org/wiki/Fim_de_vida_(produto) #~ msgid "Hide EOL Entries" #~ msgstr "Esconder entradas em fim de vida (EOL)" # https://pt.wikipedia.org/wiki/Fim_de_vida_(produto) #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "Esconder entradas em fim de vida (EOL) e entradas dependentes delas" #~ msgid "Show Git Forge Star Counts" #~ msgstr "Exibir a contagem de estrelas de plataformas Git" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "" #~ "Se deve fazer a tentativa de detectar e mostrar a \"contagem de " #~ "estrelas\" para projetos na visualização completa" #~ msgid "Only Show Free Software" #~ msgstr "Mostrar apenas softwares livres" #~ msgid "Hide proprietary software" #~ msgstr "Ocultar softwares proprietários" #~ msgid "Show Only Flathub Content" #~ msgstr "Mostrar Apenas ConteĂşdos do Flathub" #~ msgid "Debounce Search Inputs" #~ msgstr "Entrada de Pesquisa com Atraso" #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "" #~ "Adiciona um delay antes de pesquisar para evitar mĂşltiplas respostas " #~ "enquanto digita" #~ msgid "Describes the look of the global progress bar" #~ msgstr "Descreve a aparĂŞncia da barra de progresso global" #~ msgid "Saved Window Dimensions" #~ msgstr "Dimensões da Janela Salvas" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "" #~ "As dimensões da janela a serem utilizadas pela prĂłxima janela do Bazaar" #~ msgid "?" #~ msgstr "?" #, c-format #~ msgid "%s is suitable for toddlers" #~ msgstr "%s Ă© adequado para crianças de um a trĂŞs anos" #~ msgid "--- MB" #~ msgstr "--- MB" #~ msgid "Of the size of human DNA" #~ msgstr "Do tamanho do DNA humano" #~ msgid "3 billion base pairs" #~ msgstr "3 bilhões de pares de bases" #~ msgid "Of the Linux Kernel" #~ msgstr "Do Kernel Linux" #~ msgid "linux-6.17.tar.xz" #~ msgstr "linux-6.17.tar.xz" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "Do computador de orientação da Apollo 11" #~ msgid "Total ROM and RAM" #~ msgstr "Total de ROM e RAM" #~ msgid "Of the original Super Mario Bros" #~ msgstr "Do Super Mario Bros original" #~ msgid "On the NES" #~ msgstr "No NES" #~ msgid "Of the size of Wikipedia" #~ msgstr "Do tamanho da Wikipedia" #~ msgid "Without any media" #~ msgstr "Sem nenhuma mĂ­dia" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "Esta funcionalidade está atualmente desativada. É recomendado baixar e " #~ "instalar o Flatseal para gerenciar permissões de aplicativos." #~ msgid "Entry Inspector" #~ msgstr "Inspetor de entrada" #~ msgid "Serialize" #~ msgstr "Serializar" #~ msgid "Convert to JSON" #~ msgstr "Converter para JSON" #~ msgid "More Mobile apps" #~ msgstr "Mais Aplicativos MĂłveis" #~ msgid "Repository Star Count" #~ msgstr "Contagem de Estrelas do RepositĂłrio" #~ msgid "Bazaar Inspector" #~ msgstr "Inspetor do Bazaar" #~ msgid "Enable Global Debug Mode" #~ msgstr "Habilitar Modo de Depuração Global" #~ msgid "Active Blocklists" #~ msgstr "Listas de Bloqueio Ativas" #~ msgid "Active Curated-Configs" #~ msgstr "Configurações de Listas Recomendadas Ativas" #~ msgid "All Entry Groups" #~ msgstr "Todos os Grupos de Entradas" #~ msgid "Decache and Inspect" #~ msgstr "Limpar Cache e Inspecionar" #~ msgid "No Flatpaks Installed" #~ msgstr "Sem Flatpaks Instalados" #~ msgid "Display Star Count" #~ msgstr "Mostrar Contagem de Estrelas" #~ msgid "Show the star count of an application's source code repository" #~ msgstr "" #~ "Mostrar a contagem de estrelas do repositĂłrio cĂłdigo fonte da aplicação" #~ msgid "" #~ "Bazaar can fetch and display the star count from an application's source " #~ "code repository on a remote Git forge. \n" #~ " For projects on GitHub, rate limits may cause them not to appear." #~ msgstr "" #~ "Bazaar pode verificar e mostrar a contagem de estrelas do repositĂłrio " #~ "cĂłdigo fonte da aplicação em uma forja git externa.\n" #~ " Para projetos no GitHub, limites de taxa talvez façam com que elas nĂŁo " #~ "apareçam." #~ msgid "Inspect UI Entry" #~ msgstr "Inspecionar Entrada de UI" #~ msgid "All Debug Actions" #~ msgstr "Depurar todas as ações" #~ msgid "Tasks" #~ msgstr "Tarefas" #~ msgid "Stop Active Tasks" #~ msgstr "Parar Tarefas Ativas" #~ msgid "No Tasks Yet" #~ msgstr "Nenhuma Tarefa Ainda" #~ msgid "Open Bazaar Inspector" #~ msgstr "Abrir Inspetor do Bazaar" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "A funcionalidade de inspecionar e instalar pacotes .flatpak está chegando " #~ "em breve! Por enquanto, insira\n" #~ "\n" #~ "flatpak install --bundle seu-pacote.flatpak\n" #~ "\n" #~ "em seu terminal." #~ msgid "Resume Current Tasks" #~ msgstr "Retomar Tarefas Atuais" #~ msgid "Pause Current Tasks" #~ msgstr "Pausar Tarefas Atuais" #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u downloads" #~ msgid "We ♥ Games" #~ msgstr "NĂłs ♥ Jogos" #, c-format #~ msgid "%.2fM" #~ msgstr "%.2fM" #, c-format #~ msgid "%.2fK" #~ msgstr "%.2fK" #~ msgid "Sync" #~ msgstr "Sincronizar" #~ msgid "Filter search results to only show applications available on Flathub" #~ msgstr "" #~ "Filtra resultados de pesquisa para exibir apenas aplicativos disponĂ­veis " #~ "no Flathub" #~ msgid "Manage Addons" #~ msgstr "Gerenciar Extensões" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "Azenyr" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Goudarz Jafari" #~ msgstr "Goudarz Jafari" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore (Lumaeris)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "JoĂŁo Victor (Leal)" #~ msgstr "JoĂŁo Victor (Leal)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "KiKaraage" #~ msgstr "KiKaraage" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "LĂ©ane GRASSER" #~ msgstr "LĂ©ane GRASSER" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Marcel MrĂłwka (Microwave)" #~ msgstr "Marcel MrĂłwka (Microwave)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Peter Dave Hello" #~ msgstr "Peter Dave Hello" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Pietro F." #~ msgstr "Pietro F." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Sabri Ăśnal" #~ msgstr "Sabri Ăśnal" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shinsei" #~ msgstr "Shinsei" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "camegone" #~ msgstr "camegone" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgid "Constructing Flatpak instance..." #~ msgstr "Construindo instância de Flatpak..." #~ msgid "Reusing last Flatpak instance..." #~ msgstr "Reutilizando Ăşltima instância de Flatpak..." #~ msgid "Flathub is not registered on this system" #~ msgstr "Flathub nĂŁo está registrado neste sistema" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "VocĂŞ gostaria de adicionar o repositĂłrio do Flathub? Se recusar, a página " #~ "do Flathub nĂŁo estará disponĂ­vel. VocĂŞ pode alterar isso depois." #~ msgid "Add Flathub" #~ msgstr "Adicionar Flathub" #, c-format #~ msgid "Identifying installed entries..." #~ msgstr "Identificando entradas instaladas..." #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "" #~ "Iniciando a obtenção de entradas remotas, consultando %d lista(s) de " #~ "bloqueio..." #, c-format #~ msgid "%'d of %'d" #~ msgstr "%'d de %'d" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "Aguardando tarefas de indexação em segundo plano..." #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "Inicialização completada em %0.2f segundos" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "O Bazaar nĂŁo recebeu uma configuração de conteĂşdo recomendado. Contate os " #~ "canais de suporte do seu sistema operacional para receber assistĂŞncia." #~ msgid "Graphics" #~ msgstr "Gráficos" #~ msgctxt "Project URL Type" #~ msgid "Homepage" #~ msgstr "Página Inicial" #~ msgid "This flatpak is verified by the original developers of the software." #~ msgstr "" #~ "Este flatpak foi verificado pelos desenvolvedores originais do software." #~ msgid "Excludes shared components" #~ msgstr "Exclui componentes compartilhados" #~ msgid "Source code may not be available" #~ msgstr "O cĂłdigo-fonte pode nĂŁo estar disponĂ­vel" #~ msgid "Click for details" #~ msgstr "Clique para mais detalhes" #~ msgid "Repositories" #~ msgstr "RepositĂłrios" #~ msgid "Open in browser" #~ msgstr "Abrir no navegador" #, c-format #~ msgid "%'d Monthly Downloads" #~ msgstr "%'d Downloads Mensais" #~ msgid "%B %-d" #~ msgstr "%-d de %B" #~ msgid "Run this application" #~ msgstr "Executar este aplicativo" #~ msgid "Run" #~ msgstr "Executar" #~ msgid "Git Forge Star Counts" #~ msgstr "Contagem de Estrelas de Plataformas Git" #~ msgid "Not having a GitHub access token may trigger rate limits" #~ msgstr "NĂŁo ter um token de acesso do GitHub pode acionar limites de taxa" #~ msgid "Show Only Flathub Apps" #~ msgstr "Mostrar Apenas Apps Flathub" #~ msgid "Wait for a brief pause to reduce system load" #~ msgstr "Aguarde uma breve pausa para reduzir a carga do sistema" #~ msgid "Theme" #~ msgstr "Tema" #~ msgid "Pride Rainbow Flag" #~ msgstr "Bandeira do Orgulho Arco-ĂŤris" #~ msgid "Bisexual Flag" #~ msgstr "Bandeira Bissexual" #~ msgid "Asexual Flag" #~ msgstr "Bandeira Assexual" #~ msgid "Share" #~ msgstr "Compartilhar" #~ msgid "Browse" #~ msgstr "Navegar" #~ msgid "Go Back" #~ msgstr "Voltar" #~ msgid "View curated applications" #~ msgstr "Ver aplicativos recomendados" #~ msgid "View the latest on Flathub" #~ msgstr "Ver os Ăşltimos do Flathub" #~ msgid "_Quit Service" #~ msgstr "_Sair do Serviço" #~ msgid "Settings & user data will be kept" #~ msgstr "As configurações e os dados do usuário serĂŁo mantidos" #~ msgid "Calligraphy application page" #~ msgstr "Página de aplicativo de caligragia" #~ msgid "Download graph for Blender" #~ msgstr "Gráfico de Downloads para o Blender" #~ msgid "Open this image in the default image viewer" #~ msgstr "Abra essa imagem no visualizador de imagens padrĂŁo" #~ msgid "Copy this image to the clipboard" #~ msgstr "Copiar para área de transferĂŞncia" #~ msgid "Apps Of The Week" #~ msgstr "Aplicativos da Semana" #~ msgid "Show Downloads Over Time" #~ msgstr "Mostrar downloads ao longo do tempo" #~ msgid "Remote repo name" #~ msgstr "Nome do repositĂłrio remoto" #~ msgid "Downloads Over Time" #~ msgstr "Downloads ao Longo do Tempo" #~ msgid "Minimize Lower Bound" #~ msgstr "Minimizar o Limite Inferior" #~ msgid "Maximize Upper Bound" #~ msgstr "Maximizar o Limite Superior" #~ msgid "Updated Size" #~ msgstr "Tamanho Atualizado" #~ msgid "Freed Space" #~ msgstr "Espaço Liberado" #~ msgid "Halt the execution of transactions" #~ msgstr "Interromper a execução das transações" #~ msgid "Up to date!" #~ msgstr "Já está atualizado!" #~ msgid "Confirm Action" #~ msgstr "Confirmar Ação" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "VocĂŞ está prestes a remover o seguinte Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "VocĂŞ tem certeza?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "VocĂŞ está prestes a instalar o seguinte Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "VocĂŞ tem certeza?" #~ msgid "Resume the execution of transactions" #~ msgstr "Retomar a execução de transações" #~ msgid "Pause the execution of transactions" #~ msgstr "Pausar a execução de transações" #~ msgctxt "Project URL Type" #~ msgid "VCS Browser" #~ msgstr "Navegador" #~ msgid "Full Application View" #~ msgstr "Visualização Completa do Aplicativo" #~ msgid "Change what content is shown when viewing applications" #~ msgstr "Mudar qual conteĂşdo Ă© mostrado ao visualizar aplicativos" #~ msgid "" #~ "If you do not have an access token, turning this setting on may cause " #~ "GitHub to eventually rate limit you." #~ msgstr "" #~ "Se vocĂŞ nĂŁo tiver um token de acesso, ativar esta configuração pode fazer " #~ "com que o GitHub eventualmente limite suas requisições." #~ msgid "Type to filter" #~ msgstr "Digite para filtrar" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Excluir resultados com licenças proprietárias" #~ msgid "Advanced" #~ msgstr "Avançado" #~ msgid "Open this link externally" #~ msgstr "Abrir este link externamente" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "" #~ "%'d entradas recebidas de um total de %'d (%0.1f segundos decorridos)" #~ msgid "VCS Forge Star Count" #~ msgstr "Contagem de Estrelas da Plataforma de VCS" #~ msgid "This application does not provide a donation link" #~ msgstr "Este aplicativo nĂŁo provĂŞ um link para doações" #, c-format #~ msgid "" #~ "\"%s\" does not provide a donations link. This does not mean you cannot " #~ "support them! Try looking at their <a href=\"%s\">project page</a> for " #~ "more information." #~ msgstr "" #~ "\"%s\" nĂŁo provĂŞ um link para doações. Isso nĂŁo quer dizer que vocĂŞ nĂŁo " #~ "possá apoiá-lo! Tente procurar na <a href=\"%s\">página do projeto</a> " #~ "para mais informações." #, c-format #~ msgid "" #~ "\"%s\" does not provide a donations link. This does not mean you cannot " #~ "support them! Try finding their project page for more information." #~ msgstr "" #~ "\"%s\" nĂŁo provĂŞ um link para doações. Isso nĂŁo quer dizer que vocĂŞ nĂŁo " #~ "possá apoiá-lo! Tente procurar na página do projeto para mais informações." #~ msgid "Removing" #~ msgstr "Removendo" #~ msgid "Show Animated Background" #~ msgstr "Mostrar Plano de Fundo Animado" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "Se deseja mostrar Ă­cone de plano de fundo animado na página inicial" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "Mantenha o resumo curto, entre 10 e 35 caracteres" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Janela principal do Bazaar mostrando o Blender" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "" #~ "O nĂşmero de downloads dos Ăşltimos 30 dias. Clique para ver as " #~ "estatĂ­sticas de download deste aplicativo." #~ msgid "How the application looks" #~ msgstr "Como o aplicativo se parece" #~ msgid "Appearance" #~ msgstr "AparĂŞncia" #~ msgid "Show animated background" #~ msgstr "Mostrar plano de fundo animado" #~ msgid "Match using regular expressions" #~ msgstr "Corresponder utilizando expressões regulares" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "" #~ "Ocultar filtragem e ordenação usando um efeito de transição crossfade" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/pt_PT.po���������������������������������������������������������������0000664�0000000�0000000�00000256055�15234476640�0017307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Portuguese translations for bazaar package # Tradução portuguesa (Portugal) para o pacote bazaar. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-27 19:32+0000\n" "PO-Revision-Date: 2025-07-15 11:36+0100\n" "Last-Translator: Eduardo Correia (Azenyr)\n" "Language-Team: Portuguese (Portugal)\n" "Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 #: src/bz-window.blp:233 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "Adicionar, remover ou atualizar software flatpak neste computador" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;Sistema;GestorDePacotes;Discover;Flatpak;Aplicações;Loja;" #: data/io.github.kolunmi.Bazaar.desktop.in:15 msgid "New Window" msgstr "Nova Janela" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "Descobrir e instalar aplicações" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 #, fuzzy msgid "" "A new app store for Linux with a focus on discovering and installing " "applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "Uma nova loja de aplicações para Linux com foco em descobrir e instalar " "aplicações e extensões (add-ons) a partir de repositĂłrios Flatpak, " "principalmente do Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 #, fuzzy msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. " "Bazaar features a \"curated\" tab that can be configured by distributors to " "allow for a more localized experience." msgstr "" "Prioritiza o suporte aos desenvolvedores que juntos tornam o Linux em " "computadores possĂ­vel. O Bazaar apresenta a secção \"Recomendadas\" que pode " "ser configurada pelos distribuidores para permitir uma experiĂŞncia mais " "personalizada." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:29 src/bz-application.c:706 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 #, fuzzy msgid "The home page displaying Flathub apps" msgstr "A vista inicial a demonstrar apps do Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Nucleus app page" msgstr "Página da app Nucleus" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 #, fuzzy msgid "Search page" msgstr "Página de pesquisa" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:66 msgid "Category page" msgstr "Página das categorias" #: src/bz-addons-dialog.blp:14 src/bz-full-view.blp:701 #: src/bz-installed-tile.blp:99 #, fuzzy msgid "Manage Add-ons" msgstr "Gerir Extensões" #: src/bz-addons-dialog.c:90 src/bz-full-view.blp:488 #: src/bz-installed-tile.blp:117 src/bz-transaction-dialog.c:242 #: src/bz-transaction-view.blp:277 msgid "Remove" msgstr "Remover" #: src/bz-addons-dialog.c:95 src/bz-favorites-tile.c:174 #: src/bz-full-view.blp:255 src/bz-full-view.blp:475 #: src/bz-transaction-dialog.c:213 src/bz-transaction-view.blp:225 msgid "Install" msgstr "Instalar" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:726 src/bz-full-view.c:346 src/bz-full-view.c:353 msgid "Age Rating" msgstr "classificação etária" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "ViolĂŞncia em desenhos animados" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Sem informação sobre violĂŞncia em desenhos animados" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "ViolĂŞncia em fantasia" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Sem informação sobre violĂŞncia em fantasia" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "ViolĂŞncia realista" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Sem informação sobre violĂŞncia realista" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "ViolĂŞncia que mostre sangue" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Sem informação sobre violĂŞncia que mostre sangue" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "ViolĂŞncia sexual" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Sem informação sobre violĂŞncia sexual" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Ălcool" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Sem informação sobre referĂŞncias a álcool" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "NarcĂłticos (Drogas)" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Sem informação sobre referĂŞncias a drogas" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Tabaco" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Sem informação sobre referĂŞncias a produtos de tabaco" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Nudez" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Sem informação sobre nudez de qualquer tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Temas sexuais" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Sem informação sobre referĂŞncias ou representações de temas sexuais" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Linguagem obscena" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Sem informação sobre uso de linguagem obscena de qualquer tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Humor inapropriado" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Sem informação sobre uso de humor inapropriado" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Discriminação" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Sem informação sobre liguagem discriminatĂłria de qualquer tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Publicidades" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Sem informação sobre publicidade de qualquer tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Apostas (Jogos de azar)" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Sem informação sobre apostas ou jogos de azar de qualquer tipo" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Compras" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Sem informação sobre a possibilidade de gastar dinheiro" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Conversas entre utilizadores" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "" "Sem informação sobre a possibilidade de conversar com outros utilizadores" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Conversas por áudio entre utilizadores" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Sem informação sobre conversas por áudio entre utilizadores" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 #, fuzzy msgid "Contact Details" msgstr "Detalhes de contacto" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Sem informação sobre a partilha social de nomes de utilizador ou emails" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Informação pessoal identificável" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "Sem informação sobre a partilha de informação pessoal com terceiros" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Partilha de localização" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Sem informação sobre a possibilidade de partilhar a localização fĂ­sica com " "outros utilizadores" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "Prostituição" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Sem informação sobre referĂŞncias a prostituição" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "AdultĂ©rio" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Sem informação sobre referĂŞncias a adultĂ©rio" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "ConteĂşdos sexualizados" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Sem informação sobre referĂŞncias a conteĂşdos sexualizados" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 #, fuzzy msgid "Desecration" msgstr "Profanação" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Sem informação sobre referĂŞncias a profanação" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "Visibilidade de restos humanos" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Sem informação sobre restos humanos visĂ­veis" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "EscravidĂŁo" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Sem informação sobre referĂŞncias a escravidĂŁo" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "NĂŁo inclui referĂŞncias a uso de drogas" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "" "NĂŁo inclui liguagem palavrões, asneiras, ou qualquer outro tipo de liguagem " "obscena" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "NĂŁo inclui publicidade ou transações monetárias" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "NĂŁo inclui sexo nem nudez" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "NĂŁo inclui capacidade de conversas por chat sem controlo" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "NĂŁo inclui violĂŞncia" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Drogas" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Linguagem obscena" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Dinheiro" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Social" #: src/bz-age-rating-dialog.c:479 #, fuzzy msgid "Violence" msgstr "ViolĂŞncia" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:676 src/bz-full-view.c:336 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:701 msgctxt "Age rating" msgid "All" msgstr "Todas as idades" #: src/bz-age-rating-dialog.c:737 #, c-format msgid "%s has an unknown age rating" msgstr "%s tem uma classificação etária desconhecida" #: src/bz-age-rating-dialog.c:743 #, c-format msgid "%s is suitable for everyone" msgstr "%s Ă© apropriado para todas as idades" #: src/bz-age-rating-dialog.c:746 #, c-format msgid "%s is suitable for young children" msgstr "%s Ă© apropriado para crianças pequenas" #: src/bz-age-rating-dialog.c:749 #, c-format msgid "%s is suitable for children" msgstr "%s Ă© apropriado para crianças" #: src/bz-age-rating-dialog.c:752 #, fuzzy, c-format msgid "%s is suitable for teenagers" msgstr "%s Ă© apropriado para adolescentes" #: src/bz-age-rating-dialog.c:755 #, fuzzy, c-format msgid "%s is suitable for adults" msgstr "%s Ă© apropriado para adultos" #: src/bz-age-rating-dialog.c:758 #, fuzzy, c-format msgid "%s is suitable for %s" msgstr "%s Ă© apropriado para %s" #: src/bz-age-rating-dialog.c:852 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-all-apps-page.blp:13 src/bz-apps-page.blp:14 src/bz-full-view.blp:43 #: src/bz-user-data-page.blp:15 src/bz-window.blp:483 msgid "Main Menu" msgstr "Menu Principal" #: src/bz-all-apps-page.blp:17 src/bz-apps-page.blp:17 #: src/bz-user-data-page.blp:18 src/bz-window.blp:556 msgid "_Donate to Bazaar ❤️" msgstr "_Efetuar uma doação para o Bazaar ❤️" #: src/bz-all-apps-page.blp:18 src/bz-apps-page.blp:18 #: src/bz-user-data-page.blp:19 #, fuzzy msgid "_Refresh Content" msgstr "_Recarregar conteĂşdo" #: src/bz-all-apps-page.blp:22 src/bz-apps-page.blp:22 #: src/bz-user-data-page.blp:22 src/bz-window.blp:563 #, fuzzy msgid "_Preferences" msgstr "_Definições" #: src/bz-all-apps-page.blp:23 src/bz-apps-page.blp:23 #: src/bz-user-data-page.blp:23 src/bz-window.blp:584 msgid "_Keyboard Shortcuts" msgstr "_Atalhos de teclado" #: src/bz-all-apps-page.blp:24 src/bz-apps-page.blp:24 #: src/bz-user-data-page.blp:24 src/bz-window.blp:589 msgid "_About Bazaar" msgstr "_Acerca do bazaar" #: src/bz-all-apps-page.blp:28 src/bz-apps-page.blp:28 #: src/bz-user-data-page.blp:27 src/bz-window.blp:596 #, fuzzy msgid "_Quit Bazaar" msgstr "_Sair do bazaar" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Pasta do sistema %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Subpasta pessoal %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Pastas do sistema principal" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "Definições do sistema principal provenientes de /etc" #: src/bz-app-permissions.c:169 #, fuzzy, c-format msgid "Desktop subfolder %s" msgstr "Subpasta do ambiente de trabalho %s" #: src/bz-app-permissions.c:170 #, fuzzy msgid "Desktop folder" msgstr "Pasta do computador" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Subpasta documentos %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Pasta documentos" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Subpasta mĂşsica %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Pasta mĂşsica" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Subpasta imagens %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Pasta imagens" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Subpasta partilha %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Pasta partilha" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Subpasta vĂ­deos %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Pasta vĂ­deos" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Subpasta templates %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Pasta templates" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Subpasta cache do utilizador %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Pasta cache do utilizador" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Subpasta das definições do utilizador %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Pasta das definições do utilizador" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Subpasta dos dados do utilizador %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Pasta dos dados do utilizador" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Subpasta runtime do utilizador %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Pasta runtime do utilizador" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Acesso ao sistema de ficheiros para %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Caminho de localização desconhecido" #: src/bz-app-size-dialog.blp:29 src/bz-app-size-dialog.blp:55 #, fuzzy msgid "Download Size" msgstr "Tamanho da transferĂŞncia" #: src/bz-app-size-dialog.blp:56 msgid "Amount to download from the internet" msgstr "Tamanho para transferĂŞncia da internet" #: src/bz-app-size-dialog.blp:76 #, fuzzy msgid "Installed Size" msgstr "Tamanho da instalação" #: src/bz-app-size-dialog.blp:77 msgid "Size on Disk" msgstr "Tamanho no disco" #: src/bz-app-size-dialog.blp:99 #, fuzzy msgid "User Data Size" msgstr "Dados de utilizador" #: src/bz-app-size-dialog.blp:100 msgid "Caches, settings, and other app data" msgstr "Ficheiros temporários, definições e outros dados da app" #. Translators: As in 'The app is installed'. #. Translators: . #: src/bz-app-tile.blp:86 src/bz-full-view.c:295 src/bz-installed-page.blp:86 #: src/bz-window.blp:299 msgid "Installed" msgstr "Instalado" #: src/bz-apps-page.blp:110 msgid "Show All" msgstr "Mostrar tudo" #: src/bz-apps-page.c:243 #, fuzzy, c-format msgid "All \"%s\"" msgstr "Todas de \"%s\"" #: src/bz-apps-page.c:530 src/bz-tag-list.c:109 #, fuzzy, c-format msgid "%d Applications" msgstr "%d aplicações" #: src/bz-application.c:677 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:678 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:709 msgid "translator-credits" msgstr "" #: src/bz-application.c:720 msgid "Special Thanks" msgstr "Agradecimentos especiais" #: src/bz-application.c:778 msgid "Logged Out Successfully!" msgstr "SessĂŁo terminada com sucesso!" #: src/bz-application.c:906 msgid "Performing setup..." msgstr "A configurar..." #: src/bz-application.c:985 src/bz-application.c:994 #, fuzzy msgid "Set Up Flathub" msgstr "Adicionar o Flathub" #: src/bz-application.c:988 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "O Flathub nĂŁo está configurado neste sistema. Pode ainda assim navegar e " "instalar apps no Bazaar.\n" "\n" "Pode mesmo assim utilizar o Bazzar para navegar e remover apps já instaladas." #: src/bz-application.c:993 src/bz-window.c:875 msgid "Later" msgstr "Mais tarde" #: src/bz-application.c:1393 src/bz-application.c:3072 msgid "Synchronizing..." msgstr "A sincronizar..." #: src/bz-application.c:1534 src/bz-application.c:3068 #, fuzzy, c-format msgid "Receiving %d entries..." msgstr "A receber %d itens..." #: src/bz-application.c:1539 #, fuzzy msgid "Checking for updates" msgstr "A procurar atualizações..." #: src/bz-application.c:3074 msgid "Indexing Data..." msgstr "A indexar dados..." #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:75 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:53 #: src/bz-installed-page.blp:63 src/bz-user-data-page.blp:52 #: src/bz-window.blp:183 msgid "Empty" msgstr "Vazio" #: src/bz-curated-view.blp:15 #, fuzzy msgid "No Curation" msgstr "Sem Aplicações Recomendadas" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "De momento, nĂŁo existe sistema de recomendações configurado neste sistema. " "Pode mesmo assim navegar e instalar aplicações na tab Flathub." #: src/bz-curated-view.blp:18 #, fuzzy msgid "Browse Flathub" msgstr "Navegar pelo Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "Sem Ligação (Offline)" #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:49 msgid "Browser" msgstr "Explorador" #: src/bz-developer-badge.c:131 msgid "Developer information not available." msgstr "Informações de desenvolvedor nĂŁo disponĂ­veis." #: src/bz-developer-badge.c:137 src/bz-developer-badge.c:151 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "A propriedade do ID da app %s nĂŁo foi verificada pelo que poderá ser uma " "aplicação da comunidade." #: src/bz-developer-badge.c:155 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "A propriedade do ID da app %s foi verificada manualmente pela equipa do " "Flathub." #: src/bz-developer-badge.c:161 #, fuzzy, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "A propriedade do ID da app %s foi verificada por <b>%s</b> em <b>%s</b>" #: src/bz-developer-badge.c:168 #, fuzzy, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "A propriedade do ID da app %s foi verificada usando %s" #: src/bz-developer-badge.c:172 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "A propriedade do ID da app %s foi verificado." #: src/bz-entry-group-util.c:73 #, fuzzy msgid "Choose an Installation" msgstr "Escolha uma instalação" #: src/bz-entry-group-util.c:76 #, fuzzy msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Parece que tem mĂşltiplas versões desta app instaladas. Com qual delas " "gostaria de continuar? " #: src/bz-entry-group-util.c:80 src/bz-transaction-dialog.c:212 #: src/bz-transaction-dialog.c:241 src/bz-transaction-dialog.c:286 #: src/bz-transaction-dialog.c:595 msgid "Cancel" msgstr "Cancelar" #: src/bz-entry-selection-row.blp:17 msgid "For this user only" msgstr "Apenas para este utilizador" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "este utilizador" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "todos os utilizadores" #: src/error.c:68 msgid "An Error Occurred" msgstr "Ocorreu Um Erro" #: src/error.c:89 msgid "Close" msgstr "Fechar" #: src/error.c:90 msgid "Copy and Close" msgstr "Copiar e Fechar" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Entre com a conta Flathub para gerir os seus favoritos" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Entrar" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Contagem de favoritos" #: src/bz-favorites-tile.c:172 #, fuzzy msgid "Uninstall" msgstr "Desinstalar" #: src/bz-favorites-tile.blp:70 src/bz-installed-tile.blp:75 #, fuzzy msgid "Support this application" msgstr "Apoiar esta aplicação" #: src/bz-favorites-tile.blp:119 msgid "Remove from Favorites" msgstr "Remover dos favoritos" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:85 #: src/bz-window.blp:614 msgid "Favorites" msgstr "Favoritos" #: src/bz-favorites-page.blp:22 src/bz-full-view.blp:20 src/bz-window.blp:126 #: src/bz-window.blp:460 msgid "Toggle transaction sidebar" msgstr "Alternar a barra lateral de transações" #: src/bz-favorites-page.blp:46 src/bz-transaction-dialog.c:596 #, fuzzy msgid "Install All" msgstr "Instalar" #: src/bz-favorites-page.blp:63 src/bz-user-data-page.blp:41 msgid "Loading" msgstr "A carregar" #: src/bz-favorites-page.blp:78 msgid "No Favorites" msgstr "Sem favoritos" #: src/bz-favorites-page.blp:79 msgid "Applications you mark as favorite will appear here" msgstr "Aplicações que marque como favoritas irĂŁo aparecer aqui" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "Anterior" #: src/bz-featured-carousel.blp:53 msgid "Next" msgstr "Seguinte" #: src/bz-featured-tile.blp:88 msgid "App of the Day" msgstr "App do Dia" #: src/bz-flathub-category.c:89 #, fuzzy msgid "Editing" msgstr "Edição" #: src/bz-flathub-category.c:90 msgid "Midi" msgstr "MIDI" #: src/bz-flathub-category.c:91 msgid "Mixer" msgstr "Mixagem" #: src/bz-flathub-category.c:92 msgid "Music" msgstr "MĂşsica" #: src/bz-flathub-category.c:93 #, fuzzy msgid "Player" msgstr "Jogar" #: src/bz-flathub-category.c:94 msgid "Recorder" msgstr "Gravador" #: src/bz-flathub-category.c:95 #, fuzzy msgid "Sequencer" msgstr "Sequenciador" #: src/bz-flathub-category.c:96 msgid "Tuner" msgstr "Sintetizador" #: src/bz-flathub-category.c:97 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:102 #, fuzzy msgid "Emulation" msgstr "Emulação" #: src/bz-flathub-category.c:103 #, fuzzy msgid "Action" msgstr "Ação" #: src/bz-flathub-category.c:104 msgid "Adventure" msgstr "Aventura" #: src/bz-flathub-category.c:105 msgid "Arcade" msgstr "Arcada" #: src/bz-flathub-category.c:106 msgid "Blocks" msgstr "Blocos" #: src/bz-flathub-category.c:107 msgid "Board" msgstr "Tabuleiro" #: src/bz-flathub-category.c:108 msgid "Card" msgstr "Cartas" #: src/bz-flathub-category.c:109 msgid "Kids" msgstr "Crianças" #: src/bz-flathub-category.c:110 msgid "Logic" msgstr "LĂłgica" #: src/bz-flathub-category.c:111 msgid "Role Playing" msgstr "Atuação (Role Playing)" #: src/bz-flathub-category.c:112 msgid "Shooter" msgstr "Tiros" #: src/bz-flathub-category.c:113 #, fuzzy msgid "Simulation" msgstr "Simulação" #: src/bz-flathub-category.c:114 #, fuzzy msgid "Sports" msgstr "Desporto" #: src/bz-flathub-category.c:115 msgid "Strategy" msgstr "EstratĂ©gia" #: src/bz-flathub-category.c:120 msgid "Audio & Video" msgstr "Ăudio e VĂ­deo" #: src/bz-flathub-category.c:120 msgid "Media" msgstr "MultimĂ©dia" #: src/bz-flathub-category.c:120 msgid "More Audio & Video" msgstr "Ver mais áudio e vĂ­deo" #: src/bz-flathub-category.c:121 msgid "Developer Tools" msgstr "Ferramentas para desenvolvedores" #: src/bz-flathub-category.c:121 msgid "Develop" msgstr "Desenvolver" #: src/bz-flathub-category.c:121 msgid "More Developer Tools" msgstr "Ver mais ferramentas para desenvolvedores" #: src/bz-flathub-category.c:122 msgid "Education" msgstr "Educação" #: src/bz-flathub-category.c:122 msgid "Learn" msgstr "Aprender" #: src/bz-flathub-category.c:122 #, fuzzy msgid "More Education" msgstr "Ver mais educação" #: src/bz-flathub-category.c:123 msgid "Gaming" msgstr "Jogos" #: src/bz-flathub-category.c:123 msgid "Play" msgstr "Jogar" #: src/bz-flathub-category.c:123 #, fuzzy msgid "More Gaming" msgstr "Ver mais jogos" #: src/bz-flathub-category.c:124 msgid "Graphics & Photography" msgstr "Gráficos e fotografia" #: src/bz-flathub-category.c:124 msgid "Create" msgstr "Criar" #: src/bz-flathub-category.c:124 msgid "More Graphics & Photography" msgstr "Ver mais gráficos e fotografia" #: src/bz-flathub-category.c:125 msgid "Networking" msgstr "Redes e comunicações" #: src/bz-flathub-category.c:125 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:125 msgid "More Networking" msgstr "Ver mais redes e comunicações" #: src/bz-flathub-category.c:126 msgid "Productivity" msgstr "Produtividade" #: src/bz-flathub-category.c:126 msgid "Work" msgstr "Trabalhar" #: src/bz-flathub-category.c:126 msgid "More Productivity" msgstr "Ver mais produtividade" #: src/bz-flathub-category.c:127 msgid "Science" msgstr "CiĂŞncia" #: src/bz-flathub-category.c:127 #, fuzzy msgid "More Science" msgstr "Ver mais ciĂŞncia" #: src/bz-flathub-category.c:128 msgid "System" msgstr "Sistema" #: src/bz-flathub-category.c:128 msgid "More System" msgstr "Mais sistema" #: src/bz-flathub-category.c:129 msgid "Utilities" msgstr "Utilitários" #: src/bz-flathub-category.c:129 msgid "Tools" msgstr "Ferramentas" #: src/bz-flathub-category.c:129 #, fuzzy msgid "More Utilities" msgstr "Ver mais utilitários" #: src/bz-flathub-category.c:130 src/bz-flathub-page.blp:119 #: src/bz-flathub-page.blp:152 msgid "Trending" msgstr "TendĂŞncias" #: src/bz-flathub-category.c:130 #, fuzzy msgid "More Trending" msgstr "Mais tendĂŞncias" #: src/bz-flathub-category.c:131 src/bz-flathub-page.blp:125 #: src/bz-flathub-page.blp:185 msgid "Popular" msgstr "Populares" #: src/bz-flathub-category.c:131 #, fuzzy msgid "More Popular" msgstr "Mais Populares" #: src/bz-flathub-category.c:132 src/bz-flathub-page.blp:174 msgid "Recently Added" msgstr "Adicionadas Recentemente" #: src/bz-flathub-category.c:132 src/bz-flathub-page.blp:131 msgid "New" msgstr "Novas" #: src/bz-flathub-category.c:132 #, fuzzy msgid "More New" msgstr "Ver mais adicionadas recentemente" #: src/bz-flathub-category.c:133 src/bz-flathub-page.blp:163 msgid "Recently Updated" msgstr "Atualizadas Recentemente" #: src/bz-flathub-category.c:133 src/bz-flathub-page.blp:137 #, fuzzy msgid "Updated" msgstr "Atualizadas" #: src/bz-flathub-category.c:133 #, fuzzy msgid "More Updated" msgstr "Ver mais atualizadas recentemente" #: src/bz-flathub-category.c:134 msgid "Mobile" msgstr "Mobile" #: src/bz-flathub-category.c:134 #, fuzzy msgid "More Mobile" msgstr "Ver mais mobile" #: src/bz-flathub-category.c:135 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:135 #, fuzzy msgid "More Adwaita" msgstr "Ver mais adwaita" #: src/bz-flathub-category.c:136 msgid "KDE Apps" msgstr "Apps KDE" #: src/bz-flathub-category.c:136 #, fuzzy msgid "More KDE Apps" msgstr "Ver mais apps KDE" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "O repositĂłrio Flathub nĂŁo foi adicionado" #: src/bz-flathub-page.blp:24 #, fuzzy msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "" "O repositĂłrio Flathub nĂŁo foi encontrado em nenhuma das suas instalações " "Flatpak" #: src/bz-flathub-page.blp:35 msgid "Flathub returned an error" msgstr "O Flathub devolveu um erro" #: src/bz-flathub-page.blp:41 #, fuzzy msgid "Retry Flathub Connection" msgstr "Tentar novamente a conexĂŁo com o Flathub" #: src/bz-flathub-page.blp:57 #, fuzzy msgid "Flathub Unavailable" msgstr "Flathub nĂŁo disponĂ­vel" #: src/bz-flathub-page.blp:58 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "" "NĂŁo foi possĂ­vel conectar com o Flathub. Pode ainda assim gerir e pesquisar " "por aplicações." #: src/bz-flathub-page.blp:61 #, fuzzy msgid "Search Apps" msgstr "Pesquisar aplicações" #: src/bz-flathub-page.blp:270 #, fuzzy msgid "On the Go" msgstr "Fora de casa" #: src/bz-flathub-page.blp:282 msgid "Apps for your Linux phones and tablets" msgstr "Apps para o seu telemĂłvel e tablet Linux" #: src/bz-flathub-page.blp:293 src/bz-flathub-page.blp:328 #, fuzzy msgid "More Mobile Apps" msgstr "Mais apps mobile" #: src/bz-flathub-page.blp:388 msgid "We​ ♥​ Games" msgstr "Todos ♥ Jogos" #: src/bz-flathub-page.blp:401 msgid "Games and apps to run your favorite titles" msgstr "Jogos e apps para gerir e correr os seus jogos favoritos" #: src/bz-flathub-page.blp:435 #, fuzzy msgid "More Games" msgstr "Ver mais jogos" #: src/bz-full-view.blp:57 src/bz-installed-page.blp:74 #: src/bz-installed-page.blp:78 msgid "No Results" msgstr "Sem Resultados" #: src/bz-full-view.blp:58 msgid "Try a different search query" msgstr "Tente termos de pesquisa diferentes" #: src/bz-full-view.blp:64 src/bz-window.blp:193 msgid "Content" msgstr "ConteĂşdo" #: src/bz-full-view.blp:123 msgid "Installing .flatpak bundles is not yet supported" msgstr "A instalação de pacotes .flatpak ainda nĂŁo Ă© suportada." #: src/bz-full-view.blp:216 msgid "Support" msgstr "Apoiar" #: src/bz-full-view.blp:239 src/bz-full-view.blp:499 msgid "Open" msgstr "Abrir" #: src/bz-full-view.blp:252 src/bz-full-view.blp:472 #, fuzzy msgid "Download & Install Application" msgstr "Transferir e instalar a aplicação" #: src/bz-full-view.blp:267 #, fuzzy msgid "Uninstall Application" msgstr "Desinstalar a aplicação" #: src/bz-full-view.blp:282 src/bz-full-view.blp:514 msgid "Install Other Version" msgstr "Instalar outra versĂŁo" #: src/bz-full-view.blp:436 #, fuzzy msgid "Downloads/Month" msgstr "TransferĂŞncias/MĂŞs" #: src/bz-full-view.blp:533 msgid "Stopped Receiving Core Updates" msgstr "Deixou de receber atualizações base" #: src/bz-full-view.blp:547 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Esta app usa um runtime (serviço de execução) que já nĂŁo está a receber " "atualizações nem correções de segurança. Pode tornar-se perigoso a usar no " "futuro." #: src/bz-full-view.blp:636 #, fuzzy msgid "Trash Data" msgstr "Dados de utilizador" #: src/bz-full-view.blp:776 msgid "Tags:" msgstr "Etiquetas:" #: src/bz-full-view.c:235 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-full-view.c:242 #, c-format msgid "%.*fM" msgstr "%.*f M" #. Translators: K is the suffix for thousands #: src/bz-full-view.c:249 #, c-format msgid "%.*fK" msgstr "%.*f mil" #: src/bz-full-view.c:259 #, c-format msgid "%d downloads in the last 30 days" msgstr "%d transferĂŞncias nos Ăşltimos 30 dias" #: src/bz-full-view.c:271 src/bz-full-view.c:605 src/bz-full-view.c:622 msgid "N/A" msgstr "N/A" #. Translators: . #: src/bz-full-view.c:295 #, fuzzy msgid "Download" msgstr "Transferir" #: src/bz-full-view.c:315 #, fuzzy msgid "Size information unavailable" msgstr "Classificação etária nĂŁo disponĂ­vel" #: src/bz-full-view.c:318 #, fuzzy, c-format msgid "Download size of %s" msgstr "%s de tamanho da transferĂŞncia" #: src/bz-full-view.c:351 msgid "All Ages" msgstr "Todas as idades" #: src/bz-full-view.c:363 msgid "Age rating information unavailable" msgstr "Classificação etária nĂŁo disponĂ­vel" #: src/bz-full-view.c:368 msgid "Suitable for all ages" msgstr "Adequado a todas as idades" #: src/bz-full-view.c:370 #, c-format msgid "Suitable for ages %d and up" msgstr "Adequado a %d anos ou acima" #: src/bz-full-view.c:403 src/bz-full-view.c:408 src/bz-full-view.c:436 #: src/bz-full-view.c:447 msgid "Unknown" msgstr "Desconhecido" #: src/bz-full-view.c:413 #, c-format msgid "Free software licensed under %s" msgstr "Software livre licenciado sob %s" #: src/bz-full-view.c:418 #, fuzzy msgid "Free software" msgstr "Software livre" #: src/bz-full-view.c:421 msgid "Proprietary Software" msgstr "Software proprietário" #: src/bz-full-view.c:424 #, c-format msgid "Special License: %s" msgstr "Licença Especial: %s" #: src/bz-full-view.c:441 msgid "Free" msgstr "Livre" #: src/bz-full-view.c:444 src/bz-license-dialog.c:132 msgid "Proprietary" msgstr "Proprietário" #: src/bz-full-view.c:449 src/bz-license-dialog.c:134 msgid "Special License" msgstr "Licença Especial" #: src/bz-full-view.c:469 msgid "Adaptive" msgstr "Adaptável" #: src/bz-full-view.c:469 msgid "Desktop Only" msgstr "Apenas computador" #: src/bz-full-view.c:475 msgid "Works on desktop, tablets, and phones" msgstr "Funciona em computador, tablets e telemĂłveis" #: src/bz-full-view.c:476 msgid "May not work on mobile devices" msgstr "Poderá nĂŁo funcionar em telemĂłveis" #: src/bz-full-view.c:487 msgid "No URL" msgstr "Sem URL" #: src/bz-full-view.c:505 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Esta aplicação tem uma licença livre de cĂłdigo aberto (FOSS), o que " "significa que o cĂłdigo fonte pode ser auditável para verificações de " "segurança." #: src/bz-full-view.c:506 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Esta aplicação tem uma licença proprietária, o que significa que o cĂłdigo " "fonte Ă© privado e nĂŁo pode ser auditável nem verificado por terceiros." #: src/bz-full-view.c:513 #, fuzzy msgid "More Apps" msgstr "Mais apps" #: src/bz-full-view.c:514 #, fuzzy, c-format msgid "More Apps by %s" msgstr "Mais apps de %s" #: src/bz-full-view.c:521 msgid "Other Apps by this Developer" msgstr "Outras apps deste desenvolvedor" #: src/bz-full-view.c:523 src/bz-full-view.c:723 #, c-format msgid "Other Apps by %s" msgstr "Outras apps de %s" #: src/bz-full-view.c:532 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s nĂŁo está instalado(a), mais ainda tem <b>%s</b> de dados presentes." #: src/bz-full-view.c:612 src/bz-safety-dialog.blp:31 msgid "Safe" msgstr "Seguro" #: src/bz-full-view.c:614 src/bz-full-view.c:616 msgid "Low Risk" msgstr "Baixo Risco" #: src/bz-full-view.c:618 msgid "Medium Risk" msgstr "MĂ©dio Risco" #: src/bz-full-view.c:620 msgid "High Risk" msgstr "Alto Risco" #: src/bz-full-view.c:725 msgid "Other Apps" msgstr "Outras apps" #: src/bz-full-view.c:727 #, fuzzy, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d aplicação" msgstr[1] "%d aplicações" #: src/bz-full-view.c:1066 msgid "Show Less" msgstr "Mostrar menos" #: src/bz-full-view.c:1066 #, fuzzy msgid "Show More" msgstr "Mostrar mais" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 #, fuzzy msgid "Hardware Support" msgstr "Suporte de hardware" #: src/bz-hardware-support-dialog.c:62 #, fuzzy msgid "Keyboard support" msgstr "Suporte de teclado" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Requer um teclado" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Recomenda um teclado" #: src/bz-hardware-support-dialog.c:66 #, fuzzy msgid "Supports keyboards" msgstr "Suporta teclados" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Suporte a teclados desconhecido" #: src/bz-hardware-support-dialog.c:69 #, fuzzy msgid "Mouse support" msgstr "Suporte a rato" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Requer um rato ou dispositivo de apontar" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Recomenda um rato ou dispostivo de apontar" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Suporta ratos ou dispostivos de apontar" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Suporte a ratos ou dispostivos de apontar desconhecido" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Suporte a ecrĂŁ táctil" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Requer ecrĂŁ táctil" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Recomenda ecrĂŁ táctil" #: src/bz-hardware-support-dialog.c:80 #, fuzzy msgid "Supports touchscreens" msgstr "Suporta ecrĂŁs tácteis" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Suporte a ecrĂŁs tácteis desconhecido" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Suporte a dispositivos mĂłveis" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Funciona em todos os dispositivos mĂłveis" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Pode nĂŁo funcionar perfeitamente em alguns dispositivos mĂłveis" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Suporte a computador desktop" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Funciona bem em ecrĂŁs grandes" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s funciona melhor em hardware especĂ­fico" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s funciona bem na maior parte dos dispositivos" #: src/bz-installed-page.blp:28 #, fuzzy msgid "Search installed apps" msgstr "Ver as aplicações instaladas" #: src/bz-installed-page.blp:67 #, fuzzy msgid "No Apps Found" msgstr "NĂŁo foram encontradas aplicações" #: src/bz-installed-page.c:157 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Sem resultados para \"%s\" na lista de apps instaladas" #: src/bz-installed-tile.blp:61 src/bz-rich-app-tile.blp:136 #, fuzzy msgid "Stopped Receiving Updates" msgstr "A transferir itens" #: src/bz-license-dialog.blp:95 msgid "Get Involved" msgstr "Envolver-se" #: src/bz-license-dialog.c:126 #, fuzzy msgid "Unknown License" msgstr "Licença desconhecida" #: src/bz-license-dialog.c:129 msgid "Community Built" msgstr "Feito pela comunidade" #: src/bz-license-dialog.c:202 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Esta app Ă© desenvolvida em cĂłdigo aberto por uma comunidade internacional de " "desenvolvedores e apoiantes como vocĂŞ.\n" "\n" "Poderá participar e ajudar a tornar esta app ainda melhor." #: src/bz-license-dialog.c:205 msgid "The license of this app is not known" msgstr "A licença desta app nĂŁo Ă© conhecida" #: src/bz-license-dialog.c:211 #, fuzzy, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Esta app Ă© desenvolvida em cĂłdigo aberto por uma comunidade internacional de " "desenvolvedores e apoiantes como vocĂŞ, e publicada sob a licença %s.\n" "\n" "Poderá participar e ajudar a tornar esta app ainda melhor." #: src/bz-license-dialog.c:219 #, fuzzy msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Esta app nĂŁo Ă© desenvolvida com o cĂłdigo aberto, pelo que apenas os seus " "desenvolvedores tĂŞm acesso Ă  forma como a mesma funciona. Isto pode ser " "inseguro em certas formas difĂ­ceis de detectar, e o funcionamento pode mudar " "sem aviso prĂ©vio.\n" "\n" "Poderá ou nĂŁo conseguir contribuir para o desenvolvimento desta app." #: src/bz-license-dialog.c:225 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Esta app foi desenvolvida sub a licença especial %s.\n" "\n" "Poderá ou nĂŁo conseguir contribuir para o desenvolvimento desta app." #: src/bz-login-page.blp:5 src/bz-login-page.blp:42 #, fuzzy msgid "Connect to Flathub" msgstr "Navegar pelo Flathub" #: src/bz-login-page.blp:32 msgid "Something Went Wrong" msgstr "Algo correu mal" #: src/bz-login-page.blp:43 msgid "Connect your Flathub account to Bazaar to manage your favorited apps." msgstr "" "Conecte a sua conta Flathub ao Bazaar para gerir as suas apps favoritas." #: src/bz-login-page.blp:108 msgid "Finish" msgstr "Terminar" #: src/bz-login-page.c:663 #, c-format msgid "Hello, %s!" msgstr "Olá, %s!" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Definições" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data sync is paused" msgstr "" "A conexĂŁo de internet atual está definida como limitada - a sincronização " "automática de dados da loja foi pausada" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:494 msgid "Sync Manually" msgstr "Sincronizar manualmente" #: src/bz-preferences-dialog.blp:31 #, fuzzy msgid "Content Filters" msgstr "Filtragem de ConteĂşdo" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Apenas software livre" #: src/bz-preferences-dialog.blp:35 #, fuzzy msgid "Hide proprietary applications when browsing and searching" msgstr "Ocultar software proprietário dos resultados de pesquisa" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Apenas resultados do Flathub" #: src/bz-preferences-dialog.blp:40 #, fuzzy msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "Limitar a pesquisa e navegação apenas a apps disponĂ­veis no Flathub" #: src/bz-preferences-dialog.blp:44 #, fuzzy msgid "Verified Results Only" msgstr "Apenas apps verificadas do Flathub" #: src/bz-preferences-dialog.blp:45 #, fuzzy msgid "Hide results that are not verified on Flathub" msgstr "Excluir da pesquisa resultados que nĂŁo sejam do Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide EOL Apps" msgstr "Ocultar apps em fim de vida (EOL)" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "" "Ocultar apps que já nĂŁo estejam a receber suporte dos seus desenvolvedores" #: src/bz-preferences-dialog.blp:55 src/bz-window.blp:314 msgid "Search" msgstr "Pesquisar" #: src/bz-preferences-dialog.blp:58 msgid "Delay Search Results" msgstr "Atrasar resultados de pesquisa" #: src/bz-preferences-dialog.blp:59 msgid "Improve results performance by debouncing search terms" msgstr "" "Melhorar o desempenho da lista de resultados ao atrasar a entrada de texto " "da pesquisa" #: src/bz-preferences-dialog.blp:64 msgid "Progress Bar" msgstr "Barra de progresso" #: src/bz-preferences-dialog.blp:65 msgid "Choose a theme for the progress bar!" msgstr "Escolha um tema para a barra de progresso" #: src/bz-preferences-dialog.blp:89 msgid "Vertical Stripes" msgstr "Riscas Verticais" #: src/bz-preferences-dialog.blp:90 msgid "Display flag colors from left to right" msgstr "Mostrar as cores das bandeiras da esquerda para a direita" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Cor de destaque" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:28 msgid "Version History" msgstr "HistĂłrico de versões" #: src/bz-releases-list.c:136 #, c-format msgid "Version %s" msgstr "VersĂŁo %s" #: src/bz-releases-list.c:173 msgid "No details for this release" msgstr "Sem detalhes sobre esta versĂŁo" #: src/bz-releases-list.c:185 #, fuzzy msgid "Get More Information" msgstr "Obter mais informações" #: src/bz-rich-app-tile.blp:153 msgid "Get" msgstr "Obter" #: src/safety-calculator.c:82 #, fuzzy msgid "Unknown Permissions" msgstr "Permissões Desconhecidas" #: src/safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "As permissões estĂŁo em falta para esta app." #: src/safety-calculator.c:96 #, fuzzy msgid "No Permissions" msgstr "Sem Permissões" #: src/safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "A app Ă© completamente sandboxed (isolada do sistema)" #: src/safety-calculator.c:103 msgid "Network Access" msgstr "Acesso Ă  internet" #: src/safety-calculator.c:104 msgid "Can access the internet" msgstr "Pode aceder Ă  internet" #: src/safety-calculator.c:106 msgid "No Network Access" msgstr "Sem acesso Ă  internet" #: src/safety-calculator.c:107 msgid "Cannot access the internet" msgstr "NĂŁo pode aceder Ă  internet" #: src/safety-calculator.c:112 msgid "User Device Access" msgstr "Acesso a dispositivos do utilizador" #: src/safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "Pode aceder a dispositivos como câmaras ou comandos de jogos" #: src/safety-calculator.c:115 msgid "No User Device Access" msgstr "Sem acesso a dispositivos do utilizador" #: src/safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "NĂŁo pode aceder a dispositivos como câmaras ou comandos de jogos" #: src/safety-calculator.c:121 msgid "Input Device Access" msgstr "Acesso a dispositivos de introdução" #: src/safety-calculator.c:122 msgid "Can access input devices" msgstr "Pode aceder a dispositivos de introdução como rato e teclado" #: src/safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "Acesso a microfone e reprodução de áudio" #: src/safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "Pode aceder a microfones e reproduzir som sem necessitar de permissĂŁo" #: src/safety-calculator.c:135 msgid "System Device Access" msgstr "Acesso a dispositivos de sistema" #: src/safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "" "Pode aceder a dispositivos de sistema que requeiram permissões elevadas" #: src/safety-calculator.c:142 msgid "Screen Contents Access" msgstr "Acesso ao conteĂşdo do ecrĂŁ" #: src/safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "Pode aceder ao conteĂşdo do ecrĂŁ ou de outras janelas" #: src/safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "Sistema de janelas antigo (legacy)" #: src/safety-calculator.c:150 #, fuzzy msgid "Always uses a legacy windowing system (X11)" msgstr "Usa um sistema de janelas antigo (legacy)" #: src/safety-calculator.c:156 #, fuzzy msgid "Arbitrary Permissions" msgstr "Permissões arbitrárias" #: src/safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "Pode obter permissões arbitrárias" #: src/safety-calculator.c:163 msgid "User Settings" msgstr "Definições do utilizador" #: src/safety-calculator.c:164 msgid "Can access and change user settings" msgstr "Pode aceder e alterar definições do utilizador" #: src/safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "Acesso completo de leitura e escrita ao sistema de ficheiros" #: src/safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "Pode aceder, alterar ou apagar quaisquer dados no sistema de ficheiros" #: src/safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "Acesso de leitura/escrita Ă  pasta pessoal (Home)" #: src/safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "Pode aceder, alterar ou apagar quaisquer dados na pasta pessoal" #: src/safety-calculator.c:186 msgid "Full File System Read Access" msgstr "Acesso de leitura a todo o sistema" #: src/safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "" "Pode ler e aceder (mas nĂŁo alterar/apagar) a quaisquer dados em qualquer " "parte do sistema de ficheiros" #: src/safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "Acesso de leitura Ă  pasta pessoal (Home)" #: src/safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "" "Pode ler e aceder (mas nĂŁo alterar/apagar) a quaisquer dados na pasta " "pessoal do seu utilizador" #: src/safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "Acesso completo de leitura/escrita Ă  pasta TransferĂŞncias" #: src/safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "" "Pode aceder, alterar ou apagar quaisquer dados na sua pasta TransferĂŞncias" #: src/safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "Acesso de leitura Ă  pasta TransferĂŞncias" #: src/safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "" "Pode ler e aceder (mas nĂŁo alterar/apagar) a quaisquer dados na sua pasta " "TransferĂŞncias" #: src/safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "" "Pode aceder, alterar ou apagar quaisquer dados nesta pasta ou diretĂłrio" #: src/safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "" "Pode ler e aceder (mas nĂŁo alterar/apagar) a quaisquer dados nesta pasta ou " "diretĂłrio" #: src/safety-calculator.c:258 msgid "No File System Access" msgstr "Sem acesso completo ao sistema de ficheiros" #: src/safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "NĂŁo pode aceder de todo ao sistema de ficheiros" #: src/safety-calculator.c:266 msgid "Uses System Services" msgstr "Usa serviços de sistema" #: src/safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "Pode pedir dados para serviços de sistema fora do portal" #: src/safety-calculator.c:273 msgid "Uses Session Services" msgstr "Usa serviços de sessĂŁo" #: src/safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "Pode pedir dados para serviços de sessĂŁo fora do portal" #: src/safety-calculator.c:322 msgid "No Service Access" msgstr "Sem acesso a serviços" #: src/safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "" "NĂŁo pode de todo aceder a serviços fora do portal sejam de sistema ou de " "sessĂŁo" #: src/safety-calculator.c:331 #, fuzzy msgid "Verified App Developer" msgstr "" "Este flatpak foi verificado pelos desenvolvedores originais do software." #: src/safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "O desenvolvedor desta app foi verificado como sendo quem realmente diz" #: src/safety-calculator.c:341 #, fuzzy msgid "Proprietary Code" msgstr "CĂłdigo Proprietário" #: src/safety-calculator.c:342 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "O cĂłdigo-fonte nĂŁo Ă© pĂşblico, pelo que nĂŁo pode ser verificado nem testado " "por terceiros e poderá ser inseguro" #: src/safety-calculator.c:352 msgid "Auditable Code" msgstr "CĂłdigo-fonte auditável" #: src/safety-calculator.c:353 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Este cĂłdigo-fonte Ă© pĂşblico e pode ser testado e verificado de forma " "independente o que ajuda a verificar se esta app Ă© segura" #: src/safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "Usa o serviço de sistema %s" #: src/safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "Usa o serviço de sessĂŁo %s" #: src/safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "Usa o serviço %s" #: src/safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "Pode ver o serviço fora do portal" #: src/safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "Pode comunicar com o serviço fora do portal" #: src/safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "Pode ser proprietário do serviço fora do portal" #: src/safety-calculator.c:530 #, fuzzy msgid "Global Menu Integration" msgstr "Integração com o menu global" #: src/safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "Pode mostrar os seus prĂłprios menus na barra de menu global" #: src/safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "Integração com as definições do KDE" #: src/safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "Pode detectar quando definições do KDE sĂŁo alteradas" #: src/safety-calculator.c:542 msgid "KDE Global Settings" msgstr "Definições globais do KDE" #: src/safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Pode ler personalizações do KDE como fontes ou tema de cores" #: src/safety-calculator.c:548 #, fuzzy msgid "Secret Storage Service" msgstr "Serviço de armazenamento secreto" #: src/safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Pode guardar e obter as suas prĂłprias passwords atravĂ©s do chaveiro do sistema" #: src/safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "Notificações do ambiente de trabalho" #: src/safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "Pode enviar notificações de ambiente de trabalho" #: src/safety-calculator.c:561 msgid "System Tray Integration" msgstr "Integração com a barra de estado" #: src/safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "Pode mostrar um Ă­cone na barra de estado" #: src/safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "Integração KDE Connect" #: src/safety-calculator.c:568 msgid "Can interact with devices paired via KDE Connect" msgstr "Pode interagir com dispositivos via KDE Connect" #: src/bz-safety-dialog.blp:7 msgid "Safety" msgstr "Segurança" #: src/bz-safety-dialog.blp:50 msgid "Details" msgstr "Detalhes" #: src/bz-safety-dialog.blp:53 msgid "License" msgstr "Licença" #: src/bz-safety-dialog.blp:63 msgid "App ID" msgstr "ID da app" #: src/bz-safety-dialog.blp:73 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:101 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Esta app usa uma versĂŁo de software de desenvolvimento (SDK) desatualizada e " "pode por isso conter problemas ou vulnerabilidades de segurança que nunca " "serĂŁo resolvidas." #: src/bz-safety-dialog.c:227 #, c-format msgid "%s is Safe" msgstr "%s Ă© seguro(a)" #: src/bz-safety-dialog.c:232 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s tem permissões inseguras" #: src/bz-safety-dialog.c:237 #, c-format msgid "%s is Probably Safe" msgstr "%s Ă© provavelmente seguro(a)" #: src/bz-safety-dialog.c:242 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s poderá ser inseguro(a)" #: src/bz-safety-dialog.c:247 #, c-format msgid "%s is Unsafe" msgstr "%s Ă© inseguro(a)" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Capturas de ecrĂŁ" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Captura anterior" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "Captura seguinte" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Copiar imagem" #: src/bz-screenshot-page.blp:147 msgid "Reset View" msgstr "Redefinir vista" #: src/bz-screenshot-page.blp:158 msgid "Zoom Out" msgstr "Afastar o zoom" #: src/bz-screenshot-page.blp:168 msgid "Zoom In" msgstr "Aproximar o zoom" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "Carrossel de capturas de ecrĂŁ" #: src/bz-screenshots-carousel.blp:103 msgid "Open Screenshot Viewer" msgstr "Abrir o visualizador de capturas de ecrĂŁ" #: src/bz-search-widget.blp:57 msgid "Search Apps, Games, Software" msgstr "Procure apps, jogos e software" #: src/bz-search-widget.blp:96 #, fuzzy msgid "Categories Unavailable" msgstr "Categorias nĂŁo disponĂ­veis" #: src/bz-search-widget.blp:97 msgid "Search for apps using the search bar above." msgstr "Pesquise por apps usando a barra de pesquisa acima." #: src/bz-search-widget.blp:181 #, fuzzy msgid "No Applications Found" msgstr "NĂŁo foram encontradas aplicações" #: src/bz-search-widget.c:241 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Sem resultados para \"%s\" no Flathub" #: src/bz-share-list.c:64 msgid "Copied!" msgstr "Copiado!" #: src/bz-share-list.c:116 #, fuzzy msgid "Copy Link" msgstr "Copiar a ligação" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "Abrir a ligação" #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "Linha do tempo" #: src/bz-stats-dialog.blp:46 #, fuzzy msgid "Installs:" msgstr "Instalações:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Mundo" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:124 #, c-format msgid "%.2fM Total Installs" msgstr "%.2f milhões de instalações totais" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:127 #, c-format msgid "%.2fK Total Installs" msgstr "%.2f mil instalações totais" #: src/bz-stats-dialog.c:129 #, c-format msgid "%'d Total Installs" msgstr "%'d instalações totais" #: src/bz-tag-list.c:96 #, fuzzy msgid "No Results Found" msgstr "Sem Resultados" #: src/bz-tag-list.c:108 #, c-format msgid "Apps Tagged \"%s\"" msgstr "Apps etiquetadas com \"%s\"" #: src/bz-tag-list.c:124 #, fuzzy msgid "Search failed" msgstr "A pesquisa falhou" #: src/bz-transaction-dialog.c:166 msgid "Keep Data" msgstr "Manter dados" #: src/bz-transaction-dialog.c:167 msgid "Allow restoring settings and content" msgstr "Permitir o restauro de definições e conteĂşdo" #: src/bz-transaction-dialog.c:176 msgid "Delete Data" msgstr "Apagar dados" #: src/bz-transaction-dialog.c:177 msgid "Permanently remove app data to save space" msgstr "Remover permanentemente todos os dados da app para poupar espaço" #: src/bz-transaction-dialog.c:202 #, fuzzy, c-format msgid "Install %s?" msgstr "Instalar %s ?" #: src/bz-transaction-dialog.c:207 #, fuzzy msgid "" "Select which version to install. May install additional shared components" msgstr "Poderá instalar componentes adicionais" #: src/bz-transaction-dialog.c:209 msgid "May install additional shared components" msgstr "Poderá instalar componentes adicionais" #: src/bz-transaction-dialog.c:230 #, fuzzy, c-format msgid "Remove %s?" msgstr "Remover %s ?" #: src/bz-transaction-dialog.c:233 msgid "Select which version to remove." msgstr "Selecione qual versĂŁo a remover." #: src/bz-transaction-dialog.c:235 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "NĂŁo será mais possĂ­vel usar %s apĂłs ser desinstalado(a)." #: src/bz-transaction-dialog.c:258 #, c-format msgid "“%s” is High Risk" msgstr "“%s” Ă© de alto risco" #: src/bz-transaction-dialog.c:262 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Esta app tem acesso completo de leitura e escrita ao sistema, incluindo " "<b>todos os seus ficheiros, histĂłricos, passes guardadas</b>, e muito mais. " "TambĂ©m tem acesso Ă  internet, pelo que poderá enviar estes e quaisquer dados " "para terceiros.\n" "\n" "Por a app ser proprietária de cĂłdigo fechado, nĂŁo se pode verificar o que Ă© " "que a mesma faz com estas permissões e estes dados." #: src/bz-transaction-dialog.c:271 #, fuzzy msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Esta app tem acesso completo de leitura e escrita ao sistema, incluindo " "<b>todos os seus ficheiros, histĂłricos, passes guardadas</b>, e muito mais. " "TambĂ©m tem acesso Ă  internet, pelo que poderá enviar estes e quaisquer dados " "para terceiros.\n" "\n" "Por a app ser proprietária de cĂłdigo fechado, nĂŁo se pode verificar o que Ă© " "que a mesma faz com estas permissões e estes dados." #: src/bz-transaction-dialog.c:287 #, fuzzy msgid "Install Anyway" msgstr "Instalar mesmo assim" #: src/bz-transaction-dialog.c:566 msgid "All apps are already installed" msgstr "As apps já estĂŁo todas instaladas" #: src/bz-transaction-dialog.c:568 msgid "OK" msgstr "OK" #: src/bz-transaction-dialog.c:584 #, fuzzy, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Instalar %s ?" msgstr[1] "Instalar %s ?" #: src/bz-transaction-dialog.c:592 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "Os seguintes itens serĂŁo instalados. Componentes partilhados adicionais " "tambĂ©m poderĂŁo ser instalados, conforme necessário." #: src/bz-transaction-dialog.c:593 #, c-format msgid "%d addons will be installed." msgstr "%d extensĂŁo(ões) será(ĂŁo) instalada(s)." #: src/bz-transaction-dialog.c:594 #, fuzzy msgid "Additionally, addons will be installed." msgstr "" "%d serviços de execução (runtimes) e/ou extensões relacionados(as) tambĂ©m " "serĂŁo atualizados(as)." #: src/bz-transaction-manager.c:1150 #, c-format msgid "Finished in %.02f seconds" msgstr "ConcluĂ­do em %.02f segundos" #: src/bz-transaction-view.blp:95 msgid "App Add-on" msgstr "Extras da app" #: src/bz-transaction-view.blp:120 msgid "Runtime" msgstr "Serviço de execução (Runtime)" #: src/bz-transaction-view.blp:146 src/bz-transaction-view.blp:172 #, fuzzy msgid "Install Size" msgstr "Tamanho da instalação" #: src/bz-transaction-view.blp:187 src/bz-transaction-view.blp:238 #: src/bz-transaction-view.blp:264 src/bz-transaction.c:342 msgid "Pending" msgstr "Pendente" #: src/bz-transaction-view.blp:199 msgid "Ongoing" msgstr "Em andamento" #: src/bz-transaction-view.blp:212 msgid "Finished" msgstr "Terminado" #: src/bz-transaction-view.blp:251 msgid "Update" msgstr "Atualizar" #: src/bz-transaction-view.c:135 #, c-format msgid "Transferred %s so far" msgstr "%s transferidos atĂ© agora" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Gerir Dados Obsoletos(as)" #: src/bz-user-data-page.blp:55 msgid "No User Data found" msgstr "NĂŁo foram encontrados dados de utilizador" #: src/bz-user-data-page.blp:60 msgid "User Data" msgstr "Dados de utilizador" #: src/bz-user-data-tile.c:144 #, fuzzy, c-format msgid "Trashed User Data for %s" msgstr "Removido os dados de utilizador de %s" #: src/bz-user-data-tile.blp:74 #, fuzzy msgid "Trash User Data" msgstr "Dados de utilizador" #: src/bz-window.blp:107 msgid "Tasks" msgstr "Tarefas" #: src/bz-window.blp:163 msgid "Stop Active Tasks" msgstr "Parar as tarefas ativas" #: src/bz-window.blp:171 msgid "Clear History" msgstr "Limpar o histĂłrico de tarefas" #: src/bz-window.blp:187 msgid "No Tasks Yet" msgstr "Ainda sem tarefas" #: src/bz-window.blp:257 #, fuzzy msgid "Refreshing Store Content" msgstr "Recarregar o conteĂşdo da loja" #: src/bz-window.blp:273 msgid "Curated" msgstr "Recomendadas" #: src/bz-window.blp:286 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:435 msgid "No background tasks!" msgstr "Sem tarefas de fundo!" #: src/bz-window.blp:493 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Tem uma conexĂŁo Ă  internet ativa mas está a ver uma versĂŁo anterior em cache " "do Flathub" #: src/bz-window.blp:568 #, fuzzy msgid "_Login with Flathub" msgstr "_Entrar com uma conta no Flathub" #: src/bz-window.blp:574 msgid "_Manage Leftover User Data" msgstr "_Gerir dados deixados para trás" #: src/bz-window.blp:579 msgid "_Synchronize Remotes" msgstr "_Sincronizar os repositĂłrios" #: src/bz-window.blp:620 msgid "Log Out" msgstr "Terminar sessĂŁo" #: src/bz-window.c:440 #, fuzzy, c-format msgid "%d Update Available" msgid_plural "%d Updates Available" msgstr[0] "%d atualização disponĂ­vel" msgstr[1] "%d atualizações disponĂ­veis" #: src/bz-window.c:734 msgid "You can't remove Bazaar from Bazaar!" msgstr "NĂŁo pode remover o Bazaar pelo Bazaar!" #: src/bz-window.c:871 msgid "Updates Are Available" msgstr "EstĂŁo DisponĂ­veis Atualizações" #: src/bz-window.c:872 msgid "" "The following applications are eligible for updates. Would you like to " "install them?" msgstr "" "As seguintes aplicações tĂŞm atualizações disponĂ­veis. Deseja instalá-las " "agora?" #: src/bz-window.c:873 #, c-format msgid "" "%d runtimes and/or addons are eligible for updates. Would you like to " "install them?" msgstr "" "Existe(m) %d serviços de execução (runtimes) e/ou extensões com atualizações " "disponĂ­veis. Deseja atualizá-los(as) agora?" #: src/bz-window.c:874 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "" "%d serviços de execução (runtimes) e/ou extensões relacionados(as) tambĂ©m " "serĂŁo atualizados(as)." #: src/bz-window.c:876 #, fuzzy msgid "Update Now" msgstr "Atualizar agora" #: src/bz-window.c:1036 src/bz-window.c:1086 msgid "Can't do that right now!" msgstr "NĂŁo Ă© possĂ­vel fazer isso neste momento!" #: src/bz-window.c:1161 msgid "Resume Current Tasks" msgstr "Retomar as tarefas atuais" #: src/bz-window.c:1167 msgid "Pause Current Tasks" msgstr "Pausar as tarefas atuais" #: src/bz-world-map.c:587 #, fuzzy msgid "Downloads" msgstr "Transferir" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "Geral" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Abrir a Janela de Pesquisa" #: src/gtk/shortcuts-dialog.blp:14 #, fuzzy msgctxt "shortcut window" msgid "Open Preferences" msgstr "Abrir as definições" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Synchronize Remotes" msgstr "Sincronizar os repositĂłrios" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "Alternar o Gestor de Transações" #: src/gtk/shortcuts-dialog.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostrar os Atalhos" #: src/gtk/shortcuts-dialog.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "Sair" #~ msgid "Hide EOL Entries" #~ msgstr "Ocultar apps em fim de vida (EOL)" #~ msgid "Hide EOL entries and entries depending on them" #~ msgstr "Ocultar apps em fim de vida (EOL) e items que dependam destas" #~ msgid "Only Show Free Software" #~ msgstr "Mostrar apenas software livre" #, fuzzy #~ msgid "Hide proprietary software" #~ msgstr "Ocultar software proprietário" #~ msgid "Show Only Flathub Content" #~ msgstr "Mostrar apenas conteĂşdo do Flathub" #, fuzzy #~ msgid "Hide applications which do not originate from Flathub" #~ msgstr "Ocultar apps que nĂŁo sejam do Flathub" #, fuzzy #~ msgid "Show Only Verified Content" #~ msgstr "Mostrar apenas apps verificadas" #~ msgid "Hide applications which are not verified on Flathub" #~ msgstr "Ocultar apps que nĂŁo estejam verificadas no Flathub" #~ msgid "Debounce Search Inputs" #~ msgstr "Suavizar a entrar de texto na pesquisa" #, fuzzy #~ msgid "Add a delay before searching to prevent instant replies while typing" #~ msgstr "Atrasar a entrada de texto para evitar resultados instantâneos" #~ msgid "Global Progress Bar Theme" #~ msgstr "Tema da barra de progresso global" #~ msgid "Describes the look of the global progress bar" #~ msgstr "Descreve o aspeto da barra de progresso global" #~ msgid "Saved Window Dimensions" #~ msgstr "Guardar dimensões da janela" #~ msgid "The window dimensions to be used by the next Bazaar window" #~ msgstr "As dimensões a serem usadas por novas janelas do Bazaar" #~ msgid "?" #~ msgstr "?" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "" #~ "Esta funcionalidade está atualmente desativada. É recomendado que " #~ "transfira e instale a aplicação Flatseal para gerir as permissões das " #~ "aplicações Flatpak." #~ msgid "Entry Inspector" #~ msgstr "Inspetor de Itens" #~ msgid "Serialize" #~ msgstr "Serializar" #~ msgid "Convert to JSON" #~ msgstr "Converter para JSON" #~ msgid "More Mobile apps" #~ msgstr "Mais apps mobile" #, fuzzy #~ msgctxt "Project URL Type" #~ msgid "Flathub Page" #~ msgstr "Página do Flathub" #, fuzzy #~ msgctxt "Project URL Type" #~ msgid "Project Website" #~ msgstr "Página do Projeto" #~ msgctxt "Project URL Type" #~ msgid "Issue Tracker" #~ msgstr "Issue Tracker" #~ msgctxt "Project URL Type" #~ msgid "FAQ" #~ msgstr "Perguntas Frequentes (FAQ)" #~ msgctxt "Project URL Type" #~ msgid "Help" #~ msgstr "Ajuda" #~ msgctxt "Project URL Type" #~ msgid "Donate" #~ msgstr "Donativos" #~ msgctxt "Project URL Type" #~ msgid "Translate" #~ msgstr "Traduções" #, fuzzy #~ msgctxt "Project URL Type" #~ msgid "Contact" #~ msgstr "Contacto" #~ msgctxt "Project URL Type" #~ msgid "Source Code" #~ msgstr "CĂłdigo-fonte" #~ msgctxt "Project URL Type" #~ msgid "Contribute" #~ msgstr "Contruibuir" #~ msgid "Size" #~ msgstr "Tamanho" #~ msgid "Bazaar Inspector" #~ msgstr "Inspector do Bazaar" #~ msgid "Background Task Info:" #~ msgstr "Info da tarefa em plano de fundo:" #~ msgid "Enable Global Debug Mode" #~ msgstr "Ligar o Modo de Depuração Global" #~ msgid "Active Blocklists" #~ msgstr "Listas de bloqueio ativas" #~ msgid "Active Curated-Configs" #~ msgstr "Configurações ativas de recomendações de apps" #~ msgid "All Entry Groups" #~ msgstr "Todos os grupos de itens" #~ msgid "Filter..." #~ msgstr "Filtrar..." #~ msgid "Decache and Inspect" #~ msgstr "Retirar da cache e inspeccionar" #~ msgid "No Flatpaks Installed" #~ msgstr "NĂŁo Existem Flatpaks Instalados" #~ msgid "Connect with Flathub" #~ msgstr "Conectar com o Flathub" #, fuzzy #~ msgid "Remove User Data" #~ msgstr "Remover os dados de utilizador" #~ msgid "Inspect UI Entry" #~ msgstr "Inspecionar o item de UI" #~ msgid "All Debug Actions" #~ msgstr "Todas as ações de depuração" #, fuzzy #~ msgid "Open Bazaar Inspector" #~ msgstr "Abrir o inspector do Bazaar" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "A funcionalidade de verificar e instalar ficheiros/conjuntos .flatpak " #~ "está a caminho! Enquanto nĂŁo está disponĂ­vel, experimente executar o " #~ "comando\n" #~ "\n" #~ "flatpak install --bundle <nome_do_ficheiro>.flatpak\n" #~ "\n" #~ "a partir do terminal." #, c-format #~ msgid "%s: %'u downloads" #~ msgstr "%s: %'u transferĂŞncias" #~ msgid "Show Git Forge Star Counts" #~ msgstr "Ver o total de estrelas do Git Forge" #~ msgid "" #~ "Whether to attempt to detect and show \"star counts\" for projects in the " #~ "full view" #~ msgstr "" #~ "Tentar detectar e mostrar a contagem de estrelas para projetos na vista " #~ "completa" #~ msgid "Hide proprietary software when searching" #~ msgstr "Ocultar software proprietário ao pesquisar" #~ msgid "Filter search results to only show applications available on Flathub" #~ msgstr "" #~ "Mostrar apenas resultados de pesquisa para aplicações disponĂ­veis no " #~ "Flathub" #~ msgid "Of the size of human DNA" #~ msgstr "Do tamanho do ADN humano" #~ msgid "3 billion base pairs" #~ msgstr "3 mil milhões de pares-base" #~ msgid "Of the Linux Kernel" #~ msgstr "Do Kernel do Linux" #~ msgid "Of the Apollo 11 guidance computer" #~ msgstr "Do computador guia Apollo 11" #~ msgid "Total ROM and RAM" #~ msgstr "MemĂłria ROM e RAM total" #~ msgid "Of the original Super Mario Bros" #~ msgstr "Do Super Mario Bros original" #~ msgid "On the NES" #~ msgstr "Na consola NES" #~ msgid "Of the size of Wikipedia" #~ msgstr "Do tamanho da Wikipedia" #~ msgid "Without any media" #~ msgstr "Sem nenhuma multimĂ©dia" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "Eduardo Correia (Azenyr)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgid "Constructing Flatpak instance..." #~ msgstr "A construir a instância Flatpak..." #~ msgid "Reusing last Flatpak instance..." #~ msgstr "A reutilizar a Ăşltima instância Flatpak..." #~ msgid "Flathub is not registered on this system" #~ msgstr "O Flathub nĂŁo está configurado neste sistema" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "Gostaria de adicionar o repositĂłrio Flathub a este sistema? Se recusar, a " #~ "página do Flathub ficará indisponĂ­vel. Pode alterar esta escolha mais " #~ "tarde." #~ msgid "Add Flathub" #~ msgstr "Adicionar o Flathub" #, c-format #~ msgid "Identifying installed entries..." #~ msgstr "A identificar conteĂşdo instalado..." #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "" #~ "A iniciar a obtenção de dados dos repositĂłrios enquanto se referencia %d " #~ "lista(s) de bloqueio..." #, c-format #~ msgid "%'d of %'d" #~ msgstr "%'d de %'d" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "" #~ "A esperar que as tarefas de indexação a decorrer de fundo avancem..." #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "Inicialização terminada em %0.2f segundos" #~ msgid "Repository Star Count" #~ msgstr "Contagem de estrelas do repositĂłrio" #, c-format #~ msgid "%.2f M" #~ msgstr "%.2f M" #, c-format #~ msgid "%.2f K" #~ msgstr "%.2f K" #~ msgid "Run this application" #~ msgstr "Executar a aplicação" #~ msgid "Run" #~ msgstr "Executar" #~ msgid "View Store Page" #~ msgstr "Ver a página na loja" #~ msgid "Application Details" #~ msgstr "Detalhes da aplicação" #~ msgid "Display Star Count" #~ msgstr "Mostrar a contagem de estrelas" #~ msgid "Show the star count of an application's source code repository" #~ msgstr "Mostrar o total de estrelas do repositĂłrio do cĂłdigo da aplicação" #~ msgid "" #~ "Bazaar can fetch and display the star count from an application's source " #~ "code repository on a remote Git forge. \n" #~ " For projects on GitHub, rate limits may cause them not to appear." #~ msgstr "" #~ "O Bazaar pode obter e mostrar a contagem de estrelas do respetivo " #~ "repositĂłrio Git de cĂłdigo fonte de uma aplicação. \n" #~ "Para projetos do Github, poderĂŁo ser aplicados limites de pedidos pelo " #~ "mesmo que poderĂŁo fazer com que as estrelas deixem de aparecer " #~ "temporariamente." #~ msgctxt "shortcut window" #~ msgid "Refresh" #~ msgstr "Recarregar" #~ msgid "Show Animated Background" #~ msgstr "Mostrar Imagem de Fundo Animada" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "Mostrar o Ă­cone de imagem de fundo animada na página inicial" #~ msgid "Calligraphy application page" #~ msgstr "Página da aplicação Calligraphy" #~ msgid "Download graph for Blender" #~ msgstr "Gráfico de transferĂŞncias para o Blender" #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "" #~ "Foram recebidos %'d itens de um total de %'d (%0.1f segundos decorridos)" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "" #~ "O Bazaar nĂŁo tem uma definição para conteĂşdo recomendado. Contacte os " #~ "canais de suporte do seu sistema operativo para mais ajuda. " #~ msgid "Apps Of The Week" #~ msgstr "Aplicações da Semana" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "" #~ "NĂşmero de transferĂŞncias dos Ăşltimos 30 dias. Clique para ver as " #~ "estatĂ­sticas desta aplicação." #~ msgid "Remote repo name" #~ msgstr "Nome do repositĂłrio remoto" #, c-format #~ msgid "Released %x" #~ msgstr "Lançado a %x" #~ msgid "How the application looks" #~ msgstr "A aparĂŞncia da aplicação" #~ msgid "Appearance" #~ msgstr "AparĂŞncia" #~ msgid "Show animated background" #~ msgstr "Mostrar imagem de fundo animada" #~ msgid "Type to filter" #~ msgstr "Escreva para procurar" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "Excluir da pesquisa resultados com licenças proprietárias" #~ msgid "Advanced" #~ msgstr "Avançado" #~ msgid "Share" #~ msgstr "Partilhar" #~ msgid "Open this link externally" #~ msgstr "Abrir a ligação externamente" #~ msgid "Downloads Over Time" #~ msgstr "TransferĂŞncias ao Longo do Tempo" #~ msgid "Minimize Lower Bound" #~ msgstr "Minimizar o limite inferior" #~ msgid "Maximize Upper Bound" #~ msgstr "Maximizar o limite superior" #~ msgid "Installing" #~ msgstr "A Instalar" #~ msgid "Removing" #~ msgstr "A Remover" #~ msgid "Transactions Will Appear Here" #~ msgstr "As Transações IrĂŁo Aparecer Aqui" #~ msgid "Halt the execution of transactions" #~ msgstr "Interromper a execução das transações" #~ msgid "Clear all finished transactions" #~ msgstr "Limpar as transações finalizadas" #~ msgid "Browse" #~ msgstr "Explorar" #~ msgid "App View" #~ msgstr "Vista de Aplicação" #~ msgid "Go Back" #~ msgstr "Voltar" #~ msgid "View the latest on Flathub" #~ msgstr "Ver as novidades do Flathub" #~ msgid "Up to date!" #~ msgstr "Atualizado!" #~ msgid "Confirm Action" #~ msgstr "Confirmar Ação" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Irá a remover a seguinte aplicação Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Deseja continuar?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "Irá instalar a seguinte aplicação Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Deseja continuar?" #~ msgid "Resume the execution of transactions" #~ msgstr "Retomar a execução das transações" #~ msgid "Pause the execution of transactions" #~ msgstr "Colocar a execução das transações em pausa" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "Mantenha o resumo curto, entre 10 e 35 caracteres" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Janela principal do Bazaar a mostrar o Blender" #~ msgid "Match using regular expressions" #~ msgstr "Corresponder atravĂ©s de expressões regulares" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "" #~ "Ocultar filtragem e ordenação atravĂ©s de um efeito visual de transição " #~ "crossfade" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/ru.po������������������������������������������������������������������0000664�0000000�0000000�00000337233�15234476640�0016705�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Russian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025, 2026 Jill Fiore <contact@lumaeris.com> # Jill Fiore <contact@lumaeris.com>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: https://github.com/bazaar-org/bazaar/issues\n" "POT-Creation-Date: 2026-07-19 11:41+0300\n" "PO-Revision-Date: 2026-07-19 12:40+0300\n" "Last-Translator: Vladimir Kosolapov\n" "Language-Team: \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "" "ĐŁŃтановка, Ńдаление или обновление приложений Flatpak на этом компьютере" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;СиŃтема;УправлениеПакетами;Discover;Flatpak;Приложения;Магазин;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Новое окно" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "ПоиŃĐş и ŃŃтановка приложений" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "БыŃтрый и Ńовременный магазин приложений для Linux Ń Đ°ĐşŃ†ĐµĐ˝Ń‚ĐľĐĽ на поиŃке и " "ŃŃтановке приложений Flatpak и дополнений, в первŃŃŽ очередь Ń Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "" "Добавляйте приложения в очередь ŃŃтановки и продолжайте проŃмотр" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "С лёгкоŃтью проŃматривайте разреŃения приложений" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "" "Войдите в Flathub и Ńправляйте избранными приложениями" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Находите приложения прямо из GNOME Shell" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:780 msgid "The Bazaar Contributors" msgstr "Разработчики Bazaar" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Главная Ńтраница, отображающая приложения Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Страница приложения Exhibit" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Страница библиотеки" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Страница поиŃка" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Страница категорий" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "БольŃе не полŃчает обновлений" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Удалить" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "ĐŁŃтановить" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Управление дополнениями" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Не найдено дополнений" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "ВаŃи параметры фильтрации Ńкрывают вŃе извеŃтные дополнения. ПопробŃйте " "внеŃти изменения." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Страница дополнения" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "ЗагрŃзок в меŃяц" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "БольŃе не полŃчает ĐľŃновных обновлений" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Это дополнение иŃпользŃет ŃŃ€ĐµĐ´Ń Đ˛Ń‹ĐżĐľĐ»Đ˝ĐµĐ˝Đ¸ŃŹ, которая больŃе не полŃчает " "обновлений и иŃправлений безопаŃноŃти. Его иŃпользование может Ńтать " "небезопаŃным." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "Дополнение Đş %s" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "Показать меньŃе" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Показать больŃе" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "СтатиŃтика загрŃзок" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "ВозраŃтной рейтинг" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "ĐśŃльтипликационное наŃилие" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Нет информации Đľ ĐĽŃльтипликационном наŃилии" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Фэнтезийное наŃилие" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Нет информации Đľ фэнтезийном наŃилии" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "РеалиŃтичное наŃилие" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Нет информации Đľ реалиŃтичном наŃилии" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Кровопролитие" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Нет информации Đľ кровопролитии" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "СекŃŃальное наŃилие" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Нет информации Đľ ŃекŃŃальном наŃилии" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Đлкоголь" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Нет информации об Ńпоминании алкоголя" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Наркотики" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Нет информации об Ńпоминании наркотичеŃких ŃредŃтв" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Табак" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Нет информации об Ńпоминании табачных изделий" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Нагота" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Нет информации Đľ наготе любого рода" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "СекŃŃальные темы" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "" "Нет информации об Ńпоминании или изображении Ńцен ŃекŃŃального характера" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Ненормативная лекŃика" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Нет информации Đľ ненормативной лекŃике в любом виде" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Неприемлемый юмор" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Нет информации Đľ неприемлемом юморе" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "ДиŃкриминация" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Нет информации Đľ диŃкриминации в любом виде" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Реклама" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Нет информации Đľ рекламе в любом виде" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Đзартные игры" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Нет информации об азартных играх в любом виде" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "ПокŃпка" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Нет информации Đľ возможноŃти тратить деньги" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Общение ĐĽĐµĐ¶Đ´Ń ĐżĐľĐ»ŃŚĐ·ĐľĐ˛Đ°Ń‚ĐµĐ»ŃŹĐĽĐ¸" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Нет информации Đľ возможноŃти общения Ń Đ´Ń€Ńгими пользователями" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "ĐŃдиочат ĐĽĐµĐ¶Đ´Ń ĐżĐľĐ»ŃŚĐ·ĐľĐ˛Đ°Ń‚ĐµĐ»ŃŹĐĽĐ¸" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Нет информации Đľ возможноŃти разговаривать Ń Đ´Ń€Ńгими пользователями" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Контактная информация" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Нет информации Đľ передаче имён пользователей ŃоцŃетей или адреŃов " "электронной почты" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "ĐдентифицирŃющая информация" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "" "Нет информации Đľ передаче пользовательŃких данных третьим лицам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Передача меŃтоположения" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "" "Нет информации Đľ передаче физичеŃкого меŃтоположения Đ´Ń€Ńгим пользователям" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "ПроŃтитŃция" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Нет информации об Ńпоминании проŃтитŃции" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Прелюбодеяние" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Нет информации об Ńпоминании прелюбодеяния" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "СекŃŃализированные перŃонажи" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Нет информации Đľ ŃекŃŃализированных перŃонажах" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "ĐžŃквернение" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Нет информации об ĐľŃквернении" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "ЧеловечеŃкие ĐľŃтанки" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Нет информации об изображении человечеŃких ĐľŃтанков" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "РабŃтво" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Нет информации об Ńпоминании рабŃтва" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Не Ńодержит Ńпоминаний наркотичеŃких ŃредŃтв" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "" "Не Ńодержит Ń€ŃгательŃтв, ненормативной лекŃики и Đ´Ń€Ńгих видов грŃбой речи" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Не Ńодержит рекламы и денежных операций" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Не Ńодержит Ńцен ŃекŃа и наготы" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Не Ńодержит немодерирŃемого чата" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Не Ńодержит Ńцен наŃилия" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Наркотики" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "ГрŃбая речь" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Деньги" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Общение" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "НаŃилие" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Đ’Ńе" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s имеет неизвеŃтный возраŃтной рейтинг" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s подходит для вŃех возраŃтов" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s подходит для маленьких детей" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s подходит для детей" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s подходит для подроŃтков" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s подходит для взроŃлых" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s подходит для %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "СиŃтемная папка %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Подпапка %s домаŃней папки" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "СиŃтемные папки Ń…ĐľŃта" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "СиŃтемная конфигŃрация Ń…ĐľŃта из /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Подпапка рабочего Ńтола %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Папка рабочего Ńтола" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Подпапка докŃментов %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Папка докŃментов" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Подпапка ĐĽŃзыки %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Папка ĐĽŃзыки" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Подпапка изображений %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Папка изображений" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Подпапка общего Đ´ĐľŃŃ‚Ńпа %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Папка общего Đ´ĐľŃŃ‚Ńпа" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Подпапка Ń Đ˛Đ¸Đ´ĐµĐľ %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Папка Ń Đ˛Đ¸Đ´ĐµĐľ" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Подпапка Ńаблонов %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Папка Ńаблонов" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Подпапка пользовательŃкого кэŃа %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Папка пользовательŃкого кэŃа" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Подпапка пользовательŃкой конфигŃрации %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Папка пользовательŃкой конфигŃрации" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Подпапка пользовательŃких данных %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Папка пользовательŃких данных" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Подпапка пользовательŃкой Ńреды выполнения %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Папка пользовательŃкой Ńреды выполнения" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "ДоŃŃ‚ŃĐż Đş файловой ŃиŃтеме в %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "НеизвеŃтный ĐżŃть файловой ŃиŃтемы" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Размер Ńкачивания" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Размер ŃŃтановки" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Размер Ńкачивания из интернета" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Размер на диŃке" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Открыть ĐżĐ°ĐżĐşŃ ĐżĐľĐ»ŃŚĐ·ĐľĐ˛Đ°Ń‚ĐµĐ»ŃŚŃких данных" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "ВаŃи пользовательŃкие данные" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "КэŃ, наŃтройки и Đ´Ń€Ńгие данные приложения" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "КэŃ" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Временные кэŃированные данные" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "ОчиŃтить кэŃ" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Размер ŃŃтановленной Ńреды выполнения" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Размер Ńкачивания Ńреды выполнения" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "Đť/Đ”" #: src/bz-app-size-dialog.c:208 msgid "App Size" msgstr "Размер приложения" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "Подтверждено" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 #: src/context-tile-callbacks.c:135 msgid "Installed" msgstr "ĐŁŃтановлено" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:783 msgid "translator-credits" msgstr "" "Jill Fiore <contact@lumaeris.com>, 2025, 2026\n" "Vladimir Kosolapov https://github.com/vmkspv" #: src/bz-application.c:793 msgid "Special Thanks" msgstr "ĐžŃобая благодарноŃть" #: src/bz-application.c:851 msgid "Logged Out Successfully!" msgstr "Выход из аккаŃнта выполнен ŃŃпеŃно!" #: src/bz-application.c:1042 msgid "Ubuntu Troubles!" msgstr "Проблемы в Ubuntu!" #: src/bz-application.c:1045 msgid "" "The more recent versions of Ubuntu have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version of " "Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "Đ’ поŃледних верŃиях Ubuntu нарŃŃены Ńтандартные правила безопаŃноŃти, из-за " "чего ŃŃтановка приложений из Flatpak-верŃии Bazaar Ńтала <b>невозможной</b>. " "ПожалŃĐąŃта, пока иŃпользŃйте обычный пакет, ŃŃтановив его командой:\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "ПоŃле этого Flatpak-верŃию можно Ńдалить:\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1051 msgid "Continue Anyway" msgstr "Đ’ŃŃ‘ равно продолжить" #: src/bz-application.c:1067 msgid "Performing setup…" msgstr "ВыполняетŃŃŹ наŃтройка…" #: src/bz-application.c:1159 msgid "Set Up System Flathub?" msgstr "Добавить ŃиŃтемный Flathub?" #: src/bz-application.c:1162 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "СиŃтемный репозиторий Flathub не наŃтроен. Для проŃмотра и ŃŃтановки " "приложений Bazaar требŃетŃŃŹ, чтобы Flathub был наŃтроен в ŃиŃтемной " "ŃŃтановке Flatpak.\n" "\n" "Đ’Ń‹ по-ĐżŃ€ĐµĐ¶Đ˝ĐµĐĽŃ ĐĽĐľĐ¶ĐµŃ‚Đµ иŃпользовать Bazaar для проŃмотра и Ńдаления Ńже " "ŃŃтановленных приложений." #: src/bz-application.c:1169 msgid "Set Up Flathub?" msgstr "Добавить Flathub?" #: src/bz-application.c:1172 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub не наŃтроен в этой ŃиŃтеме. Пока он недоŃŃ‚Ńпен, вы не Ńможете " "проŃматривать и ŃŃтанавливать приложения в Bazaar.\n" "\n" "Đ’Ń‹ по-ĐżŃ€ĐµĐ¶Đ˝ĐµĐĽŃ ĐĽĐľĐ¶ĐµŃ‚Đµ иŃпользовать Bazaar для проŃмотра и Ńдаления Ńже " "ŃŃтановленных приложений." #: src/bz-application.c:1178 msgid "Later" msgstr "Позже" #: src/bz-application.c:1179 msgid "Set Up Flathub" msgstr "Добавить Flathub" #: src/bz-application.c:1712 msgid "A backend error occurred" msgstr "ПроизоŃла внŃтренняя ĐľŃибка" #: src/bz-application.c:1912 src/bz-application.c:4150 msgid "Refreshing…" msgstr "Обновление…" #: src/bz-application.c:2076 src/bz-application.c:4148 #, c-format msgid "Loading %d apps…" msgstr "ЗагрŃзка %d приложений…" #: src/bz-application.c:2129 msgid "Failed to open file" msgstr "Не ŃдалоŃŃŚ открыть файл" #: src/bz-application.c:2258 msgid "An initialization error occurred" msgstr "ПроизоŃла ĐľŃибка инициализации" #: src/bz-application.c:2657 msgid "Checking for updates…" msgstr "Проверка обновлений…" #: src/bz-application.c:2713 msgid "Failed to check for updates" msgstr "Не ŃдалоŃŃŚ проверить обновления" #: src/bz-application.c:3852 msgid "Malformed Link" msgstr "Неверный формат ŃŃылки" #: src/bz-application.c:3853 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Đ’ ŃŃылке, по которой было открыто это приложение, неверно раŃŃтавлены " "заглавные бŃквы, и в бŃĐ´Ńщем она может переŃтать работать.\n" "\n" "Скорее вŃего, это Ńвязано Ń Ń‚ĐµĐĽ, что KRunner отправляет неверные ID " "приложений" #: src/bz-application.c:3861 msgid "Could not find app" msgstr "Не ŃдалоŃŃŚ найти приложение" #: src/bz-application.c:3892 msgid "Failed to load metainfo" msgstr "Не ŃдалоŃŃŚ загрŃзить метаданные" #: src/bz-application.c:4152 msgid "Writing to cache…" msgstr "ЗапиŃŃŚ в кэŃ…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "Показать вŃе" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "Đ’Ńе «%s»" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d приложений" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Не ŃдалоŃŃŚ загрŃзить Ńтатью" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "ĐŁŃтановка пакета" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Дополнительные завиŃимоŃти могŃŃ‚ занять больŃе меŃта" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Для ŃŃтановки может потребоватьŃŃŹ добавить новый иŃточник приложений. " "ДрŃгие приложения из этого иŃточника бŃĐ´ŃŃ‚ отображатьŃŃŹ в Bazaar.\n" "\n" "Добавляйте этот иŃточник, только еŃли вы Ńверены, что доверяете емŃ." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "ĐŁŃпеŃно ŃŃтановлено!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Открыть" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Показать Ńведения Đľ приложении" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "Уже ŃŃтановлено" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "ĐžŃибка ŃŃтановки" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "НеизвеŃтный размер ŃŃтановки" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Для ŃŃтановки потребŃетŃŃŹ около %s" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Нет Ńпециальных разреŃений" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:29 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "ĐźŃŃто" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Нет подборок" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "" "Đ’ этой ŃиŃтеме нет информации Đľ подборках. Đ’Ń‹ по-ĐżŃ€ĐµĐ¶Đ˝ĐµĐĽŃ ĐĽĐľĐ¶ĐµŃ‚Đµ " "проŃматривать приложения на Flathub" #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "Открыть Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Нет интернета" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "БраŃзеры" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Не подтверждено" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "Đнформация Đľ разработчике недоŃŃ‚Ńпна." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "Владелец ID приложения %s не подтверждён — это может быть пакет, Ńобранный " "ŃообщеŃтвом." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "Владелец ID приложения %s был врŃчнŃŃŽ подтверждён командой Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on <b>" "%3$s</b>." msgstr "" "Владелец ID приложения %1$s был подтверждён <b>%2$s</b> через <b>%3$s</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "" "Владелец ID приложения %1$s был подтверждён Ń ĐżĐľĐĽĐľŃ‰ŃŚŃŽ %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Владелец ID приложения %s был подтверждён." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Полный ŃпиŃок изменений" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Этот выпŃŃĐş ŃĐľŃтоялŃŃŹ благодаря таким пользователям, как вы!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "Мне нравитŃŃŹ работать над Bazaar, но в ĐľĐ´Đ¸Đ˝ĐľŃ‡ĐşŃ ĐĽĐ˝Đµ не ŃправитьŃŃŹ. " "Поддержите дальнейŃŃŃŽ Ń€Đ°Đ·Ń€Đ°Đ±ĐľŃ‚ĐşŃ ĐżĐľĐ¶ĐµŃ€Ń‚Đ˛ĐľĐ˛Đ°Đ˝Đ¸ĐµĐĽ на Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "Поддержать Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Что нового в %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "ВыпŃщено %-e %B %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Выбор ŃŃтановки" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "ĐŁ Đ˛Đ°Ń ŃŃтановлено неŃколько верŃий этого приложения. С какой из них " "продолжить?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "Отмена" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Только для этого пользователя" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "этот пользователь" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "вŃе пользователи" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 #: src/error.c:88 msgid "Details" msgstr "Детали" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Скопировать" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "Скопировано!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "ЧиŃло добавлений в избранное" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Не ŃдалоŃŃŚ обновить избранное" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Войдите в Flathub для Ńправления избранным" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Войти" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:348 msgid "Favorites" msgstr "Đзбранное" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "ĐŁŃтановить вŃе" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:17 msgid "Loading" msgstr "ЗагрŃзка" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Нет избранного" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "ЗдеŃŃŚ бŃĐ´ŃŃ‚ отображатьŃŃŹ приложения, добавленные в избранное" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Поддержать это приложение" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Удалить из избранного" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Не ŃдалоŃŃŚ Ńдалить из избранного" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "ПредыдŃщий" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "СледŃющий" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "Монтаж" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "МикŃеры" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "ĐśŃзыка" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Проигрыватели" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "ЗвŃкозапиŃŃŚ" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "СеквенŃоры" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "Тюнеры" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "ТВ" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Đ­ĐĽŃляторы" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Đ­ĐşŃен" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Приключения" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Đркады" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Блоки" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "НаŃтольные" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Карточные" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Для детей" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "ЛогичеŃкие" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Ролевые" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "ШŃтеры" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "СимŃляторы" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Спортивные" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Стратегии" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "БраŃзеры" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Общение" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Почта" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Обмен файлами" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "ĐŃдио и видео" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Медиа" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "БольŃе приложений для аŃдио и видео" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "ĐĐ˝ŃтрŃменты разработчика" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "Разработчикам" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "БольŃе приложений для разработки" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "Образование" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "ОбŃчение" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "БольŃе образовательных приложений" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Đгры" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Đгры" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "БольŃе игр" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Графика и фотография" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "ТворчеŃтво" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "БольŃе приложений для графики" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "Сеть" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "Сеть" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "БольŃе Ńетевых приложений" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "ПродŃктивноŃть" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "Работа" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "БольŃе приложений для продŃктивноŃти" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "НаŃка" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "БольŃе наŃчных приложений" #: src/bz-flathub-category.c:142 msgid "System" msgstr "СиŃтема" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "БольŃе ŃиŃтемных приложений" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Утилиты" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "ĐĐ˝ŃтрŃменты" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "БольŃе Ńтилит" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Đ’ тренде" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "БольŃе трендовых" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "ПопŃлярное" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "БольŃе попŃлярных" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "Недавно добавленные" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Новое" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "БольŃе новинок" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Недавно обновлённые" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Обновлённые" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "БольŃе обновлённых" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Мобильные" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "БольŃе мобильных приложений" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "БольŃе Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "Приложения KDE" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "БольŃе приложений KDE" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Đгры" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "БольŃе игр" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Đ­ĐĽŃляторы" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "БольŃе ŃŤĐĽŃляторов" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "ЛаŃнчеры" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "БольŃе игровых лаŃнчеров" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "ĐĐ˝ŃтрŃменты для игр" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "БольŃе инŃтрŃментов для игр" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub не добавлен" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Репозиторий Flathub не найден ни в одной из ваŃих ŃŃтановок Flatpak" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub недоŃŃ‚Ńпен" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Невозможно подключитьŃŃŹ Đş Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "Đ’Ń‹ по-ĐżŃ€ĐµĐ¶Đ˝ĐµĐĽŃ ĐĽĐľĐ¶ĐµŃ‚Đµ иŃкать приложения и Ńправлять ими." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "ПоиŃĐş приложений" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "ПереподключитьŃŃŹ" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Приложение дня" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Đ’Ńегда под Ń€Ńкой" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Приложения для ваŃих телефонов и планŃетов на Linux" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "БольŃе мобильных приложений" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "Мы ♥ игры" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "Đгры и приложения для запŃŃка ваŃих любимых проектов" #: src/bz-full-view.blp:34 src/bz-library-page.blp:40 #: src/bz-library-page.blp:44 msgid "No Results" msgstr "Нет резŃльтатов" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "ПопробŃйте изменить поиŃковый запроŃ" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Содержимое" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Это локальный предпроŃмотр — некоторые детали могŃŃ‚ отличатьŃŃŹ от " "опŃбликованной Ńтраницы" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "ПредпроŃмотр Ńтраницы в магазине" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Поддержать" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Это приложение иŃпользŃет ŃŃ€ĐµĐ´Ń Đ˛Ń‹ĐżĐľĐ»Đ˝ĐµĐ˝Đ¸ŃŹ, которая больŃе не полŃчает " "обновления или иŃправления ĐľŃибок безопаŃноŃти. Оно может Ńтать небезопаŃным " "для иŃпользования." #: src/bz-full-view.blp:539 msgid "Trash Data" msgstr "Отправить в корзинŃ" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Дополнения" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "БольŃе дополнений" #: src/bz-full-view.blp:648 msgid "Links" msgstr "СŃылки" #: src/bz-full-view.blp:679 msgid "Similar Apps" msgstr "Похожие приложения" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Нет URL" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "Это приложение имеет лицензию FLOSS, а значит, его иŃходный код можно " "проверить на безопаŃноŃть." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "" "Это приложение имеет проприетарнŃŃŽ лицензию, а значит, его иŃходный код " "разрабатываетŃŃŹ закрыто и не может быть проверен незавиŃимой третьей " "Ńтороной." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "БольŃе приложений" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "БольŃе приложений от %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "ДрŃгие приложения от этого разработчика" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "ДрŃгие приложения от %s" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "%s не ŃŃтановлено, но на диŃке вŃŃ‘ ещё ĐľŃтаётŃŃŹ <b>%s</b> его данных." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "ДрŃгие приложения" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d приложение" msgstr[1] "%d приложения" msgstr[2] "%d приложений" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:141 msgid "Failed to Remove User Data" msgstr "Не ŃдалоŃŃŚ Ńдалить пользовательŃкие данные" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Поддержка оборŃдования" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Поддержка клавиатŃры" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "ТребŃетŃŃŹ клавиатŃра" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "РекомендŃетŃŃŹ клавиатŃра" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Поддерживает клавиатŃŃ€Ń" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Поддержка клавиатŃры неизвеŃтна" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Поддержка ĐĽŃ‹Ńи" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "ТребŃетŃŃŹ ĐĽŃ‹ŃŃŚ или Ńказательное ŃŃтройŃтво" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "РекомендŃетŃŃŹ ĐĽŃ‹ŃŃŚ или Ńказательное ŃŃтройŃтво" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Поддерживает ĐĽŃ‹Ńи и Ńказательные ŃŃтройŃтва" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Поддержка ĐĽŃ‹Ńи и Ńказательных ŃŃтройŃтв неизвеŃтна" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Поддержка ŃенŃорного экрана" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "ТребŃетŃŃŹ ŃенŃорный экран" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "РекомендŃетŃŃŹ ŃенŃорный экран" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Поддерживает ŃенŃорные экраны" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Поддержка ŃенŃорных экранов неизвеŃтна" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Поддержка мобильных ŃŃтройŃтв" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Работает на мобильных ŃŃтройŃтвах" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Может плохо работать на мобильных ŃŃтройŃтвах" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Поддержка наŃтольных компьютеров" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "ХороŃĐľ работает на больŃих экранах" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s Đ»ŃчŃе вŃего работает на определённых ŃŃтройŃтвах" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s работает на больŃинŃтве ŃŃтройŃтв" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "Меню инŃпектора" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Открыть" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Удалить приложение" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Удалить" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "Обновить" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Удалить" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "ĐŁŃтановить %s из %s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "ĐŁŃтановить %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "Отмена" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "ОтменяетŃŃŹ" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Кнопка пожертвования" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "ПоиŃĐş ŃŃтановленных приложений" #: src/bz-library-page.blp:33 msgid "No Apps Found" msgstr "Приложения не найдены" #: src/bz-library-page.blp:52 msgid "Search Store Instead" msgstr "ĐŃкать в магазине" #. Translators: . #: src/bz-library-page.blp:62 src/bz-window.blp:114 msgid "Library" msgstr "Библиотека" #: src/bz-library-page.blp:91 msgid "Pending Updates" msgstr "Ожидают обновления" #: src/bz-library-page.blp:118 msgid "Downloads" msgstr "ЗагрŃзки" #: src/bz-library-page.blp:161 msgid "Recently Uninstalled" msgstr "Недавно Ńдалённые" #: src/bz-library-page.blp:212 msgid "Clear Finished Tasks" msgstr "ОчиŃтить выполненные задачи" #: src/bz-library-page.blp:239 msgid "Sort Options" msgstr "Параметры Ńортировки" #: src/bz-library-page.blp:298 msgid "Sort By" msgstr "Сортировка" #: src/bz-library-page.blp:312 msgid "Name" msgstr "Название" #: src/bz-library-page.blp:318 msgid "Size" msgstr "Размер" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Нет резŃльтатов по запроŃŃ Â«%s» в ŃпиŃке ŃŃтановленных приложений" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "ДоŃŃ‚Ńпно %u обновление" msgstr[1] "ДоŃŃ‚Ńпно %u обновления" msgstr[2] "ДоŃŃ‚Ńпно %u обновлений" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u ŃŃтановленное приложение" msgstr[1] "%u ŃŃтановленных приложения" msgstr[2] "%u ŃŃтановленных приложений" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Приложения не найдены" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "Найдено %u приложение" msgstr[1] "Найдено %u приложения" msgstr[2] "Найдено %u приложений" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "ВнеŃти вклад" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Узнать больŃе" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "НеизвеŃтная лицензия" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Сделано ŃообщеŃтвом" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:288 msgid "Proprietary" msgstr "Проприетарное" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:290 msgid "Special License" msgstr "Специальная лицензия" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Это приложение разрабатываетŃŃŹ открыто междŃнародным ŃообщеŃтвом.\n" "\n" "Đ’Ń‹ можете внеŃти Ńвой вклад и Ńделать это приложение ещё Đ»ŃчŃе." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Лицензия этого приложения неизвеŃтна" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Это приложение открыто разрабатываетŃŃŹ междŃнародным ŃообщеŃтвом и " "выпŃŃкаетŃŃŹ под лицензией %s.\n" "\n" "Đ’Ń‹ можете внеŃти Ńвой вклад и Ńделать это приложение ещё Đ»ŃчŃе." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Это приложение не разрабатываетŃŃŹ открыто, ĐżĐľŃŤŃ‚ĐľĐĽŃ Ń‚ĐľĐ»ŃŚĐşĐľ его разработчики " "знают как оно работает. Оно может быть небезопаŃным в некоторых меŃтах, " "которые Ńложно опознать, и оно может изменитьŃŃŹ без предŃпреждения.\n" "\n" "Đ’Ń‹ можете не иметь возможноŃти внеŃти вклад в это приложение." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Это приложение разрабатываетŃŃŹ под Ńпециальной лицензией %s.\n" "\n" "Đ’Ń‹ можете не иметь возможноŃти внеŃти вклад в это приложение." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Лицензия" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "Подключение Đş Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Что-то поŃло не так" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "" "Войдите, чтобы Ńинхронизировать избранные приложения ĐĽĐµĐ¶Đ´Ń ŃŃтройŃтвами" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "ЗаверŃить" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "ПриветŃтвŃем, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Выбрать файл метаданных" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Файлы метаданных" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Выбрать Đ¸ĐşĐľĐ˝ĐşŃ (необязательно)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Файлы изображений" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Предварительный проŃмотр" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Параметры" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "" "Сетевое Ńоединение ограничено — автоматичеŃкое обновление данных магазина " "приоŃтановлено" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Обновить врŃчнŃŃŽ" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Обновления приложений" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app " "update features are therefore paused when on metered network connections and " "when power saver is on." msgstr "" "Проверка наличия и загрŃзка обновлений раŃходŃŃŽŃ‚ трафик и энергию. ĐźĐľŃŤŃ‚ĐľĐĽŃ " "автоматичеŃкое обновление приложений приоŃтанавливаетŃŃŹ при иŃпользовании " "Ńетей Ń ĐľĐłŃ€Đ°Đ˝Đ¸Ń‡ĐµĐ˝Đ˝ĐľĐą тарификацией и при включённом режиме энергоŃбережения." #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "_ĐвтоматичеŃки" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "ĐвтоматичеŃки проверять наличие обновлений и загрŃжать их" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "_Đ’Ń€ŃчнŃŃŽ" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "" "ĐźŃ€ĐľĐ˛ĐµŃ€ĐşŃ Đ˝Đ°Đ»Đ¸Ń‡Đ¸ŃŹ и загрŃĐ·ĐşŃ ĐľĐ±Đ˝ĐľĐ˛Đ»ĐµĐ˝Đ¸Đą необходимо выполнять врŃчнŃŃŽ" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "Уведомления об _автоматичеŃких обновлениях" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "Уведомлять, когда обновления были ŃŃтановлены автоматичеŃки" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "Фильтры Ńодержимого" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "_Только Ńвободные приложения" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "Скрыть проприетарные приложения при обзоре и поиŃке" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "Только резŃльтаты из F_lathub" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "Ограничить обзор и резŃльтаты поиŃка только приложениями из Flathub" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "_Только подтверждённые резŃльтаты" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "Скрыть приложения, которые не являютŃŃŹ подтверждёнными на Flathub" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "Скрыть _неподдерживаемые приложения" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "Скрыть приложения, которые больŃе не поддерживаютŃŃŹ разработчиками" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "Тема полоŃŃ‹ прогреŃŃа" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Цвет акцента" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Цвета гордоŃти" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Цвета гордоŃти леŃбиянок" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Цвета гордоŃти ĐĽŃжчин гомоŃекŃŃалов" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Цвета гордоŃти транŃгендеров" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Цвета гордоŃти небинарных людей" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Цвета гордоŃти биŃекŃŃалов" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Цвета гордоŃти аŃекŃŃалов" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Цвета гордоŃти панŃекŃŃалов" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Цвета гордоŃти аромантиков" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Цвета гордоŃти гендерфлюид" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Цвета гордоŃти полиŃекŃŃалов" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Цвета гордоŃти омниŃекŃŃалов" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Цвета гордоŃти ароэйŃ" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Цвета гордоŃти агендеров" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Цвета гордоŃти гендерквиров" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Цвета гордоŃти интерŃекŃ" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Цвета гордоŃти демигендеров" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Цвета гордоŃти биромантиков" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Цвета гордоŃти людей Ń ĐľĐłŃ€Đ°Đ˝Đ¸Ń‡ĐµĐ˝Đ˝Ń‹ĐĽĐ¸ возможноŃтями" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Цвета гордоŃти фембоев" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Цвета гордоŃти нейтроиŃ" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "ĐŃтория верŃий" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_ĐŃтория верŃий" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Сегодня" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Вчера" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d день назад" msgstr[1] "%d дня назад" msgstr[2] "%d дней назад" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d неделю назад" msgstr[1] "%d недели назад" msgstr[2] "%d недель назад" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d меŃяц назад" msgstr[1] "%d меŃяца назад" msgstr[2] "%d меŃяцев назад" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d год назад" msgstr[1] "%d года назад" msgstr[2] "%d лет назад" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "ВерŃия %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Нет Ńведений об этом выпŃŃке" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "ПолŃчить дополнительнŃŃŽ информацию" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Удалить" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Скачать" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Произвольные разреŃения" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "Это приложение имеет разреŃение, которое коŃвенно позволяет ĐµĐĽŃ Đ˛Ń‹Đ´Đ°Đ˛Đ°Ń‚ŃŚ " "Ńебе <b>любые Đ´Ń€Ńгие разреŃения</b>, обходя пеŃĐľŃ‡Đ˝Đ¸Ń†Ń Flatpak.\n" "\n" "ĐźĐľŃŤŃ‚ĐľĐĽŃ ĐľĐ˝Đľ может делать вŃŃ‘ то же, что и обычное приложение вне пеŃочницы, " "например полŃчать Đ´ĐľŃŃ‚ŃĐż ко вŃем ваŃим файлам и подключатьŃŃŹ Đş интернетŃ.\n" "\n" "Тем не менее проŃмотр ĐľŃтальных разреŃений может дать предŃтавление Đľ том, " "что приложение, Ńкорее вŃего, бŃдет делать." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "ПоŃмотреть Đ´Ń€Ńгие разреŃения" #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:400 msgid "Safe" msgstr "БезопаŃно" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "ID приложения" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Это приложение иŃпользŃет ŃŃтаревŃŃŃŽ верŃию платформы разработки (SDK) и " "может Ńодержать ĐľŃибки или ŃязвимоŃти, которые не бŃĐ´ŃŃ‚ иŃправлены." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "БезопаŃноŃть" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s безопаŃно" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s не имеет небезопаŃных разреŃений" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s, вероятно, безопаŃно" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s, возможно, небезопаŃно" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s небезопаŃно" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Назад" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "ПредыдŃщий ŃкринŃот" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "СледŃющий ŃкринŃот" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Скопировать изображение" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "СброŃить вид" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "Отдалить" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "Приблизить" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "КарŃŃель ŃкринŃотов" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Нет ŃкринŃотов" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Открыть проŃмотрщик ŃкринŃотов" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "СкринŃот %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "СкринŃот %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "ОчиŃтить поиŃĐş" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "Фильтры" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Подтверждённые" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Свободные" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Đź_оддерживаемые" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Отфильтровать неподдерживаемые приложения" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Для мобильных" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Категории" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "ПоиŃĐş приложений, игр, ПО" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Фильтры поиŃка" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "Обзор категорий" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "Категории недоŃŃ‚Ńпны" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Đщите приложения Ń ĐżĐľĐĽĐľŃ‰ŃŚŃŽ Ńтроки поиŃка выŃе." #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Приложения не найдены" #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Нет резŃльтатов по запроŃŃ Â«%s» в Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Видео" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "ОфиŃ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Календарь" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "Общение" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "РиŃование" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Торрент" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Đ­ĐĽŃляторы" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Страница Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Веб-Ńайт проекта" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "ОтŃлеживание ĐľŃибок" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "ЧаŃто задаваемые вопроŃŃ‹" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Помощь" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Пожертвовать" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Перевод" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "СвязатьŃŃŹ" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "ĐŃходный код" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "ВнеŃти вклад" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "МанифеŃŃ‚" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "Скопировать ŃŃылкŃ" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Временная Ńкала" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "ĐŁŃтановок:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Карта мира" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "С 15 апреля 2024" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "Đ’Ńего ŃŃтановок: %.2f млн" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "Đ’Ńего ŃŃтановок: %.2f тыŃ." #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "Đ’Ńего ŃŃтановок: %'d" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "РезŃльтаты не найдены" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "ĐžŃибка поиŃка" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "ĐžŃтавить пользовательŃкие данные" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Позволяет воŃŃтановить личные наŃтройки и данные" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Удалить вŃе данные" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Безвозвратно Ńдаляет пользовательŃкие данные, ĐľŃвобождая меŃто" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "ĐŁŃтановить %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Выберите, какŃŃŽ верŃию ŃŃтановить. Также могŃŃ‚ быть ŃŃтановлены " "дополнительные общие компоненты" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Также могŃŃ‚ быть ŃŃтановлены дополнительные общие компоненты" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_Отмена" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_ĐŁŃтановить" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Удалить %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Выберите, какŃŃŽ верŃию Ńдалить." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "ПоŃле Ńдаления иŃпользовать %s бŃдет невозможно." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "«%s» — приложение выŃокого риŃка" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Это приложение имеет полный Đ´ĐľŃŃ‚ŃĐż Đş ваŃей ŃиŃтеме, включая вŃе <b>ваŃи " "файлы, иŃторию браŃзера, Ńохранённые пароли</b> и многое Đ´Ń€Ńгое. Оно также " "имеет Đ´ĐľŃŃ‚ŃĐż Đş интернетŃ, а значит, может отправлять ваŃи данные третьим " "лицам.\n" "\n" "Так как приложение проприетарное, невозможно проверить, что оно делает Ń " "этими разреŃениями." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Это приложение иŃпользŃет ŃŃтаревŃŃŃŽ оконнŃŃŽ ŃиŃŃ‚ĐµĐĽŃ X11, которая позволяет " "ĐµĐĽŃ <b>запиŃывать вŃе нажатия клавиŃ, делать Ńнимки экрана и Ńледить за " "Đ´Ń€Ńгими приложениями</b>. Оно также имеет Đ´ĐľŃŃ‚ŃĐż Đş интернетŃ, а значит, " "может отправлять ваŃи данные третьим лицам.\n" "\n" "Так как приложение проприетарное, невозможно проверить, что оно делает Ń " "этими разреŃениями." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Đ’ŃŃ‘ равно ŃŃтановить" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Не ŃдалоŃŃŚ загрŃзить диалог транзакции" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "Đ’Ńе приложения Ńже ŃŃтановлены" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_ОК" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "ĐŁŃтановить %u приложение?" msgstr[1] "ĐŁŃтановить %u приложения?" msgstr[2] "ĐŁŃтановить %u приложений?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "Đ‘Ńдет ŃŃтановлено ŃледŃющее. Также могŃŃ‚ быть ŃŃтановлены дополнительные " "общие компоненты" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Đ‘Ńдет ŃŃтановлено дополнений: %d." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Также бŃĐ´ŃŃ‚ ŃŃтановлены дополнения." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_ĐŁŃтановить вŃе" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "ЗаверŃено за %.02f Ń" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Дополнение Đş приложению" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Среда выполнения" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Đ’ очереди" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Готово" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "Отменено" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "ĐžŃибка" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "Отменить транзакцию" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Показать детали" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Показать информацию об ĐľŃибке" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "ĐžŃвобождено %s" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "ĐžŃибка транзакции" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Đ’ ожидании" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Обновить вŃе" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u обновление Ńреды выполнения" msgstr[1] "%u обновления Ńред выполнения" msgstr[2] "%u обновлений Ńред выполнения" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Управление ĐľŃтавŃимиŃŃŹ пользовательŃкими данными" #: src/bz-user-data-page.blp:34 msgid "No User Data Found" msgstr "ПользовательŃкие данные не найдены" #: src/bz-user-data-page.blp:40 msgid "User Data" msgstr "ПользовательŃкие данные" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "Открыть ĐżĐ°ĐżĐşŃ ĐżĐľĐ»ŃŚĐ·ĐľĐ˛Đ°Ń‚ĐµĐ»ŃŚŃких данных" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "Отправить в корзинŃ" #: src/bz-user-data-tile.c:147 #, c-format msgid "Trashed User Data for %s" msgstr "ПользовательŃкие данные %s отправлены в корзинŃ" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Обновление" #: src/bz-window.blp:90 msgid "Curated" msgstr "ĐšŃрирŃемое" #: src/bz-window.blp:102 msgid "Explore" msgstr "Обзор" #: src/bz-window.blp:129 msgid "Search" msgstr "ПоиŃĐş" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Главное меню" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Đ’Ń‹ иŃпользŃете новŃŃŽ верŃию Bazaar!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "ПоŃмотреть что нового" #: src/bz-window.blp:235 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "" "Сетевое подключение еŃть, но вы проŃматриваете кэŃированнŃŃŽ верŃию Flathub" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "" "Сетевое Ńоединение ограничено — автоматичеŃкое обновление отключено" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "_Поддержать Bazaar" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Обновить" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "_Войти в Flathub" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "_Управлять ĐľŃтавŃимиŃŃŹ данными" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "Đź_араметры" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_Комбинации клавиŃ" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "_Đž приложении" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "_ЗаверŃить Bazaar" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Выйти" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Не ŃдалоŃŃŚ запŃŃтить приложение" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Đ’Ń‹ не можете Ńдалить Bazaar из Bazaar!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "ĐˇĐµĐąŃ‡Đ°Ń ŃŤŃ‚Đľ Ńделать нельзя!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "ŃŃтановка" msgstr[1] "ŃŃтановки" msgstr[2] "ŃŃтановок" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f млн" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f тыŃ." #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d загрŃзок за поŃледний меŃяц" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s на ŃŃ€ĐµĐ´Ń Đ˛Ń‹ĐżĐľĐ»Đ˝ĐµĐ˝Đ¸ŃŹ" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Скачивание" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Đнформация Đľ размере недоŃŃ‚Ńпна" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Размер Ńкачивания %s" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Для вŃех" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Đнформация Đľ возраŃтном ограничении недоŃŃ‚Ńпна" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Подходит для вŃех возраŃтов" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Подходит для лиц ŃтарŃе %d лет" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "НеизвеŃтно" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Свободное программное обеŃпечение, лицензированное под %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Свободное программное обеŃпечение" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Проприетарное программное обеŃпечение" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Специальная лицензия: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Свободное приложение" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Đдаптивное" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Только для ПК" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Работает на наŃтольных компьютерах, планŃетах и телефонах" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Может не работать на мобильных ŃŃтройŃтвах" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Низкий риŃĐş" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Средний риŃĐş" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "Đ’Ń‹Ńокий риŃĐş" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "НеизвеŃтные разреŃения" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "РазреŃения для этого приложения отŃŃŃ‚ŃтвŃŃŽŃ‚." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Нет разреŃений" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Приложение полноŃтью изолировано" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "ДоŃŃ‚ŃĐż Đş Ńети" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş интернетŃ" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Нет Đ´ĐľŃŃ‚Ńпа Đş Ńети" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Не может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş интернетŃ" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "ДоŃŃ‚ŃĐż Đş ŃŃтройŃтвам пользователя" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "Может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş таким ŃŃтройŃтвам, как веб-камеры или игровые " "контроллеры" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Нет Đ´ĐľŃŃ‚Ńпа Đş ŃŃтройŃтвам пользователя" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Не может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş таким ŃŃтройŃтвам, как веб-камеры или игровые " "контроллеры" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "ДоŃŃ‚ŃĐż Đş ŃŃтройŃтвам ввода" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş ŃŃтройŃтвам ввода" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "ДоŃŃ‚ŃĐż Đş ĐĽĐ¸ĐşŃ€ĐľŃ„ĐľĐ˝Ń Đ¸ воŃпроизведение звŃка" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "Может проŃĐ»ŃŃивать звŃĐş через микрофон и воŃпроизводить аŃдио, не запраŃивая " "разреŃения" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "ДоŃŃ‚ŃĐż Đş ŃиŃтемным ŃŃтройŃтвам" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş ŃиŃтемным ŃŃтройŃтвам, требŃющим повыŃенных " "разреŃений" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "ДоŃŃ‚ŃĐż Đş ŃĐľĐ´ĐµŃ€Đ¶Đ¸ĐĽĐľĐĽŃ ŃŤĐşŃ€Đ°Đ˝Đ°" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş ŃĐľĐ´ĐµŃ€Đ¶Đ¸ĐĽĐľĐĽŃ ŃŤĐşŃ€Đ°Đ˝Đ° или Đ´Ń€Ńгих окон" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "ĐŁŃтаревŃая оконная ŃиŃтема" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Đ’Ńегда иŃпользŃет ŃŃтаревŃŃŃŽ оконнŃŃŽ ŃиŃŃ‚ĐµĐĽŃ (X11)" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Может полŃчить произвольные разреŃения" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "ПользовательŃкие наŃтройки" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Может проŃматривать и изменять пользовательŃкие наŃтройки" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Полный Đ´ĐľŃŃ‚ŃĐż Đş файловой ŃиŃтеме на чтение/запиŃŃŚ" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Может читать и запиŃывать вŃе данные в файловой ŃиŃтеме" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "ДоŃŃ‚ŃĐż Đş домаŃней папке для чтения/запиŃи" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Может читать и запиŃывать вŃе данные в ваŃей домаŃней папке" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Полный Đ´ĐľŃŃ‚ŃĐż Đş файловой ŃиŃтеме на чтение" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Может читать вŃе данные в файловой ŃиŃтеме" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "ДоŃŃ‚ŃĐż на чтение домаŃней папки" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Может читать вŃе данные в ваŃей домаŃней папке" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "ДоŃŃ‚ŃĐż для чтения/запиŃи в ĐżĐ°ĐżĐşŃ Đ·Đ°ĐłŃ€Ńзки" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Может читать и запиŃывать вŃе данные в ваŃей папке загрŃзки" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "ДоŃŃ‚ŃĐż на чтение папки загрŃзки" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Может читать вŃе данные в ваŃей папке загрŃзки" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Может читать и запиŃывать вŃе данные в папке" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Может читать вŃе данные в папке" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Нет Đ´ĐľŃŃ‚Ńпа Đş файловой ŃиŃтеме" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Не может полŃчить Đ´ĐľŃŃ‚ŃĐż Đş файловой ŃиŃтеме" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "ĐŃпользŃет ŃиŃтемные ŃĐ»Ńжбы" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Может запраŃивать данные Ń ŃиŃтемных ŃĐ»Ńжб, не отноŃящихŃŃŹ Đş порталŃ" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "ĐŃпользŃет ŃĐ»Ńжбы ŃеанŃа" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Может запраŃивать данные Ń ŃĐ»Ńжб ŃеанŃа, не отноŃящихŃŃŹ Đş порталŃ" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Нет Đ´ĐľŃŃ‚Ńпа Đş ŃĐ»Ńжбам" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "Не имеет Đ´ĐľŃŃ‚Ńпа Đş ŃĐ»Ńжбам ŃеанŃа или ŃиŃтемным, не отноŃящимŃŃŹ Đş порталŃ" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Подтверждённый разработчик приложения" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" "Разработчик этого приложения подтвердил, что являетŃŃŹ тем, за кого Ńебя " "выдает" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Проприетарный код" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "ĐŃходный код не являетŃŃŹ открытым, ĐżĐľŃŤŃ‚ĐľĐĽŃ Đ˝Đµ может быть подвергнŃŃ‚ " "незавиŃĐ¸ĐĽĐľĐĽŃ Đ°ŃĐ´Đ¸Ń‚Ń Đ¸ может быть небезопаŃным" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Проверяемый код" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "ĐŃходный код являетŃŃŹ открытым и может быть подвергнŃŃ‚ незавиŃĐ¸ĐĽĐľĐĽŃ Đ°ŃдитŃ, " "что повыŃает вероятноŃть того, что приложение безопаŃно" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "ĐŃпользŃет ŃиŃтемнŃŃŽ ŃĐ»ŃĐ¶Đ±Ń %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "ĐŃпользŃет ŃĐ»ŃĐ¶Đ±Ń ŃеанŃа %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "ĐŃпользŃет ŃĐ»ŃĐ¶Đ±Ń %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Может проŃматривать ŃĐ»ŃжбŃ, не отноŃящŃŃŽŃŃŹ Đş порталŃ" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Может обращатьŃŃŹ Đş ŃĐ»Ńжбе, не отноŃящейŃŃŹ Đş порталŃ" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Может быть владельцем ŃĐ»Ńжбы, не отноŃящейŃŃŹ Đş порталŃ" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Đнтеграция Ń ĐłĐ»ĐľĐ±Đ°Đ»ŃŚĐ˝Ń‹ĐĽ меню" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Может показывать Ńвоё меню в глобальной панели меню" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Đнтеграция Ń Đ˝Đ°Ńтройками KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Может определять изменение в наŃтройках рабочего Ńтола KDE" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Глобальные параметры KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "" "Может читать параметры рабочего Ńтола KDE, такие как Ńрифты и цвета" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "СлŃжба хранения Ńекретов" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Может Ńохранять и полŃчать Ńвои пароли, иŃпользŃŃŹ ŃиŃтемнŃŃŽ ŃĐ˛ŃŹĐ·ĐşŃ ĐşĐ»ŃŽŃ‡ĐµĐą" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "СлŃжба Ńведомлений рабочего Ńтола" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Может отправлять Ńведомления на рабочий Ńтол" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Đнтеграция Ń ŃиŃтемным треем" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Может отображать значок в ŃиŃтемном трее" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Đнтеграция Ń KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "" "Может взаимодейŃтвовать Ń ŃŃтройŃтвами, Ńопряжёнными через KDE Connect" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Навигация" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Открыть ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń ĐľĐ±Đ·ĐľŃ€Đ°" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Открыть ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ±Đ¸Đ±Đ»Đ¸ĐľŃ‚ĐµĐşĐ¸" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Открыть ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń ĐżĐľĐ¸Ńка" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Репозитории" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Синхронизировать репозитории" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Общее" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Открыть параметры" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Показать комбинации клавиŃ" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Закрыть окно" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "ЗаверŃить Bazaar" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "Обновлено %u приложение" msgstr[1] "Обновлено %u приложения" msgstr[2] "Обновлено %u приложений" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "Приложение %s обновлено." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "Приложения %s и %s обновлены." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "Đ’ том чиŃле %s, %s и %s." #~ msgid "Clear search" #~ msgstr "ОчиŃтить поиŃĐş" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/tr.po������������������������������������������������������������������0000664�0000000�0000000�00000270126�15234476640�0016701�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Turkish translation for io.github.kolunmi.Bazaar. # Copyright (C) 2025-2026 io.github.kolunmi.Bazaar's COPYRIGHT HOLDER # This file is distributed under the same license as the io.github.kolunmi.Bazaar package. # # Sabri Ăśnal <yakushabb@gmail.com>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: io.github.kolunmi.Bazaar master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-22 18:51+0300\n" "PO-Revision-Date: 2026-07-25 23:14+0300\n" "Last-Translator: Sabri Ăśnal <yakushabb@gmail.com>\n" "Language-Team: Turkish <takim@gnome.org.tr>\n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.9\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:47 #: src/bz-window.blp:203 src/bz-window.c:387 src/bz-window.c:388 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "App Store" msgstr "Uygulama MaÄźazası" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "Bu bilgisayara flatpak yazılımı ekle, kaldır ya da gĂĽncelle" #: data/io.github.kolunmi.Bazaar.desktop.in:10 #| msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgid "System;Package;Manager;Discover;Flatpak;Software;App;Store;" msgstr "System;Package;Manager;Discover;Flatpak;Software;App;Store;Paket;Yönetici;KeĹźfet;Yazılım;Uygulama;MaÄźaza;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "Yeni Pencere" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "Uygulamaları keĹźfet ve kur" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and installing Flatpak apps and add-ons, " "particularly from Flathub." msgstr "" "Ă–zellikle FlathubĘĽdan Flatpak uygulamalarını ve eklentilerini keĹźfetmeye ve kurmaya odaklanan, Linux için hızlı " "ve modern uygulama maÄźazası." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "Birden çok kurulumu kuyruklar ve gezinmeye devam et" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Uygulama izinlerini kolayca görĂĽntĂĽle" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Gözdelerinizi görĂĽntĂĽlemek ve yönetmek için Flathub ile oturum açın" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "Uygulamaları GNOME Shell ĂĽstĂĽnden ara" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:766 msgid "The Bazaar Contributors" msgstr "Bazaar Katkıcıları" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "Flathub uygulamalarını görĂĽntĂĽleyen ana görĂĽnĂĽm" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Uygulama sergisi sayfası" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Kitaplık sayfası" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Arama sayfası" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Kategori sayfası" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "GĂĽncellemelerin Alınması Durduruldu" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Kaldır" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 src/bz-bundle-install-dialog.blp:162 #: src/bz-favorites-tile.c:157 src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Kur" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 src/bz-addons-dialog.blp:70 #: src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "Eklentileri Yönet" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "GörĂĽnĂĽn Eklenti Yok" #: src/bz-addons-dialog.blp:81 msgid "Your current filter preferences are hiding all known add-ons. Try adjusting them." msgstr "Geçerli sĂĽzgeçleriniz, bilinen tĂĽm eklentileri gizliyor. SĂĽzgeç ayarlarını dĂĽzenleyin." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Eklenti Sayfası" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "İndirme/Ay" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "Çekirdek GĂĽncellemelerinin Alınması Durduruldu" #: src/bz-addons-dialog.blp:245 msgid "This add-on uses a runtime that no longer receives updates or security fixes. It may become unsafe to use." msgstr "" "Bu eklenti, artık gĂĽncelleme ya da gĂĽvenlik dĂĽzeltmesi almayan bir çalışma zamanı kullanıyor. Kullanımı gĂĽvenli " "olmayabilir." #: src/bz-addons-dialog.c:346 #, c-format msgid "Add-on for %s" msgstr "%s Eklentisi" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 msgid "Show Less" msgstr "Daha Az Göster" #: src/bz-addons-dialog.c:360 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Daha Çok Göster" #: src/bz-addons-dialog.c:410 msgid "Download Stats" msgstr "İndirme İstatistikleri" # ArayĂĽzde sığmadığı için new line eklendi #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 src/bz-age-rating-dialog.c:736 #: src/context-tile-callbacks.c:186 src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "" "YaĹź\n" "Derecelendirmesi" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Çizgi Dizisi Ĺžiddeti" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Çizgi dizisi Ĺźiddetiyle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Fantezi Ĺžiddeti" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Fantezi Ĺźiddetiyle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "Gerçekçi Ĺžiddet" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Gerçekçi Ĺźiddetle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "Kan DökĂĽlmesini Betimleyen Ĺžiddet" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Kan dökĂĽlmesiyle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "Cinsel Ĺžiddet" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Cinsel Ĺźiddetle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Alkol" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Alkole atıflarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "UyuĹźturucu" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Yasadışı ilaçlara atıflarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "TĂĽtĂĽn" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "TĂĽtĂĽn ĂĽrĂĽnlerine atıflarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Çıplaklık" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Herhangi biçimde çıplaklıkla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "Cinsel Temalar" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Cinsel doÄźaya atıf ya da betimlemelerle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "SövgĂĽ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Herhangi tĂĽrde kĂĽfĂĽrlerle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Uygunsuz Mizah" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Uygunsuz mizahla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "Ayrımcılık" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Herhangi tĂĽrde ayrımcı dille ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Reklam" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Herhangi tĂĽrde reklamla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Kumar" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Herhangi tĂĽrde kumarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "Satın Alım" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Para harcama yeteneÄźiyle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Kullanıcılar Arası Sohbet" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "DiÄźer kullanıcılarla sohbet etme yollarıyla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "Kullanıcılar Arası Sesli Sohbet" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "DiÄźer kullanıcılarla konuĹźma yollarıyla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "KiĹźi Ayrıntıları" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "No information regarding sharing of social network usernames or email addresses" msgstr "Sosyal aÄź kullanıcı adlarının ya da e-posta adreslerinin paylaşımıyla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Tanımlayıcı Bilgiler" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "ÜçüncĂĽ Ĺźahıslarla kullanıcı bilgisi paylaşımıyla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "Konum Paylaşımı" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "DiÄźer kullanıcılarla fiziksel konum paylaşımıyla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "FuhuĹź" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "FuhĹźa atıflarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "Zina" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "EĹź aldatmaya atıflarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "CinselleĹźtirilmiĹź Karakterler" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "CinselleĹźtirilmiĹź karakterlerle ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "Saygısızlık" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Kutsala saygısızlığa atıflarla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "İnsan Kalıntıları" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "GörĂĽnĂĽnĂĽr ölĂĽ insan kalıntılarıyla ilgili bilgi yok" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "Kölelik" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "KöleliÄźe atıflarla ilgili bilgi yok" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Yasadışı ilaçlara atıf içermez" #: src/bz-age-rating-dialog.c:426 msgid "Does not include swearing, profanity, and other kinds of strong language" msgstr "KĂĽfĂĽr, sövgĂĽ ve diÄźer tĂĽrlerde sert dil içermez" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Reklam ya da parasal iĹźlemler içermez" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Cinsellik ya da çıplaklık içermez" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Denetimsiz sohbet iĹźlevi içermez" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Ĺžiddet içermez" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "UyuĹźturucu" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "Sert Dil" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "Para" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "Sosyal" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "Ĺžiddet" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "TĂĽmĂĽ" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s yaĹź derecelendirmesi bilinmiyor" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s, herkese uygundur" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s, küçük çocuklara uygundur" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s, çocuklara uygundur" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s, ergenlere uygundur" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s, yetiĹźkinlere uygundur" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s, %s için uygundur" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "Sistem klasörĂĽ %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "Ev alt klasörĂĽ %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "Ana makine sistem klasörleri" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "/etc dizininden ana makine sistem yapılandırması" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "MasaĂĽstĂĽ alt klasörĂĽ %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "MasaĂĽstĂĽ klasörĂĽ" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Belgeler alt klasörĂĽ %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Belgeler klasörĂĽ" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "MĂĽzik alt klasörĂĽ %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "MĂĽzik klasörĂĽ" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Resimler alt klasörĂĽ %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Resimler klasörĂĽ" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Paylaşılanlar alt klasörĂĽ %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Paylaşılanlar klasörĂĽ" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Videolar alt klasörĂĽ %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Videolar klasörĂĽ" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Ĺžablonlar alt klasörĂĽ %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Ĺžablonlar klasörĂĽ" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Kullanıcı ön bellek alt klasörĂĽ %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Kullanıcı ön bellek klasörĂĽ" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Kullanıcı yapılandırma alt klasörĂĽ %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Kullanıcı yapılandırma klasörĂĽ" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Kullanıcı verisi alt klasörĂĽ %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Kullanıcı veri klasörĂĽ" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Kullanıcı çalışma zamanı alt klasörĂĽ %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Kullanıcı çalışma zamanı klasörĂĽ" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "Dosya sistemi eriĹźimi %s" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Bilinmeyen dosya sistemi yolu" #: src/bz-app-size-dialog.blp:30 src/bz-app-size-dialog.blp:71 msgid "Download Size" msgstr "İndirme Boyutu" #: src/bz-app-size-dialog.blp:40 src/bz-app-size-dialog.blp:99 msgid "Installed Size" msgstr "Kurulum Boyutu" #: src/bz-app-size-dialog.blp:72 msgid "Amount to download from the internet" msgstr "İnternetten indirilecek miktar" # Kasten daha açıklayıcı bir çeviri kullanıldı #: src/bz-app-size-dialog.blp:100 msgid "Size on Disk" msgstr "Diskteki kapladığı alan" #: src/bz-app-size-dialog.blp:203 msgid "Open user data folder" msgstr "Kullanıcı veri klasörĂĽnĂĽ aç" #: src/bz-app-size-dialog.blp:213 msgid "Your User Data" msgstr "Kullanıcı Veriniz" #: src/bz-app-size-dialog.blp:214 msgid "Caches, settings, and other app data" msgstr "Ă–nbellekler, ayarlar ve diÄźer uygulama verileri" #: src/bz-app-size-dialog.blp:234 msgid "Cache" msgstr "Ă–nbellek" #: src/bz-app-size-dialog.blp:235 msgid "Temporary cached data" msgstr "Geçici önbellekli veri" #: src/bz-app-size-dialog.blp:247 msgid "Clear Cache" msgstr "Ă–nbelleÄźi Temizle" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Çalışma Zamanı Kurulum Boyutu" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Çalışma Zamanı İndirme Boyutu" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 src/context-tile-callbacks.c:104 #: src/context-tile-callbacks.c:393 src/context-tile-callbacks.c:410 msgid "N/A" msgstr "Yok" #: src/bz-app-size-dialog.c:207 msgid "App Size" msgstr "Uygulama Boyutu" #: src/bz-app-tile.blp:56 src/bz-developer-badge.c:98 src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "DoÄźrulanmış" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:87 src/bz-releases-list.c:206 src/context-tile-callbacks.c:135 msgid "Installed" msgstr "Kurulu" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:769 msgid "translator-credits" msgstr "Sabri Ăśnal <yakushabb@gmail.com>, 2025-2026" #: src/bz-application.c:779 msgid "Special Thanks" msgstr "Ă–zel TeĹźekkĂĽrler" #: src/bz-application.c:837 msgid "Logged Out Successfully!" msgstr "Oturum Kapatıldı!" #: src/bz-application.c:1027 msgid "Ubuntu Troubles!" msgstr "Ubuntu Sorunları!" #: src/bz-application.c:1030 msgid "" "The more recent versions of Ubuntu have messed up default security rules, making it <b>impossible to install " "apps</b> from the Flatpak version of Bazaar, please just use the normal package for now by using\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "You can then remove this Flatpak version with\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" msgstr "" "UbuntuĘĽnun son sĂĽrĂĽmlerinde öntanımlı gĂĽvenlik kurallarının bozuk olmasından kaynaklı Bazaarʼın Flatpak " "sĂĽrĂĽmĂĽnden <b>uygulama kurmak imkansız</b> hale gelmiĹźtir. LĂĽtfen Ĺźimdilik aĹźağıdaki komutu kullanarak normal " "paketi kullanın:\n" "\n" "<tt>sudo apt install bazaar</tt>\n" "\n" "Ardından bu Flatpak sĂĽrĂĽmĂĽnĂĽ aĹźağıdaki komutla kaldırabilirsiniz:\n" "\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>" #: src/bz-application.c:1036 msgid "Continue Anyway" msgstr "Yine De SĂĽrdĂĽr" #: src/bz-application.c:1052 msgid "Performing setup…" msgstr "Kurulum gerçekleĹźtiriliyor…" #: src/bz-application.c:1144 msgid "Set Up System Flathub?" msgstr "Sistem Flathubʼı Kurulsun Mu?" #: src/bz-application.c:1147 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be configured on the system Flatpak " "installation to browse and install applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub sistem uzağı kurulmamış. Bazaar, uygulamalara göz atmak ve kurmak için Flatpak kurulumunda Flathubʼın " "sistem geneli olarak yapılandırılmış olmasını gerektirir. \n" "\n" "Yine de Bazaarʼı kullanarak zaten kurulmuĹź uygulamalara göz atabilir ve kaldırabilirsiniz." #: src/bz-application.c:1154 msgid "Set Up Flathub?" msgstr "Flathub Kurulsun Mu?" #: src/bz-application.c:1157 msgid "" "Flathub is not set up on this system. You will not be able to browse and install applications in Bazaar if its " "unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub bu sistemde kurulmamış. Bu sebeple Bazaar uygulamalara göz atamaz ve kuramaz.\n" "\n" "Yine de Bazaarʼı kullanarak zaten kurulmuĹź uygulamalara göz atabilir ve kaldırabilirsiniz." #: src/bz-application.c:1163 msgid "Later" msgstr "Sonra" #: src/bz-application.c:1164 msgid "Set Up Flathub" msgstr "Flathubʼı Kur" #: src/bz-application.c:1697 msgid "A backend error occurred" msgstr "Arka uç hatası oluĹźtu" #: src/bz-application.c:1905 src/bz-application.c:4152 msgid "Refreshing…" msgstr "Yenileniyor…" #: src/bz-application.c:2069 src/bz-application.c:4150 #, c-format msgid "Loading %d apps…" msgstr "%d uygulama yĂĽkleniyor…" #: src/bz-application.c:2122 src/bz-application.c:2196 msgid "Failed to open file" msgstr "Dosya açılamadı" #: src/bz-application.c:2210 msgid "Failed to load metainfo" msgstr "Metainfo yĂĽklenemedi" #: src/bz-application.c:2304 msgid "An initialization error occurred" msgstr "İlklendirme hatası oluĹźtu" #: src/bz-application.c:2703 msgid "Checking for updates…" msgstr "GĂĽncellemeler denetleniyor…" #: src/bz-application.c:2759 msgid "Failed to check for updates" msgstr "GĂĽncellemeler denetlenemedi" #: src/bz-application.c:3925 msgid "Malformed Link" msgstr "Hatalı BaÄźlantı" #: src/bz-application.c:3926 msgid "" "The link used to open this app has incorrect capitalization and may stop working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "Uygulamayı açmak için kullanılan baÄźlantıda bĂĽyĂĽk harf kullanımı hatalı ve ileride çalışmayabilir.\n" "\n" "Bunun en olası nedeni, KRunnerʼın hatalı uygulama kimliÄźi göndermesidir" #: src/bz-application.c:3934 msgid "Could not find app" msgstr "Uygulama bulunamadı" #: src/bz-application.c:4154 msgid "Writing to cache…" msgstr "Ă–n belleÄźe yazılıyor…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "TĂĽmĂĽnĂĽ Göster" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "TĂĽm \"%s\"" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d Uygulama" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "Makale YĂĽklenemedi" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Derleme Kur" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "Ek bağımlılıklar fazladan alan kaplayabilir" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps from this source will show up in " "Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Bu uygulamayı kurmak için yeni yazılım kaynağı eklemeniz gerekebilir. Bu kaynaktan gelen diÄźer uygulamalar " "BazaarĘĽda görĂĽnecek.\n" "\n" "Bu kaynağı yalnızca gĂĽveniyorsanız ekleyin." #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "Kuruldu!" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 src/bz-rich-app-tile.blp:199 #: src/bz-transaction-tile.blp:298 msgid "Open" msgstr "Aç" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Uygulama Ayrıntılarını Göster" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "Zaten Kurulu" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "Kurulamadı" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Kurulum boyutu bilinmiyor" # size_str = g_format_size (installed_size); # return g_strdup_printf (_ ("About %s to install"), size_str); #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Yaklaşık kurulum boyutu: %s" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Ă–zel izin yok" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 #: src/bz-full-view.blp:41 src/bz-library-page.blp:29 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "BoĹź" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "Uygulama Seçkisi Yok" #: src/bz-curated-view.blp:30 msgid "There is no curation information provided on this system. You can still browse apps on Flathub" msgstr "Bu sistemde uygulama seçkisi bilgisi saÄźlanmamaktadır. FlathubĘĽda uygulamalara yine de göz atabilirsiniz" #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "FlathubĘĽa Göz At" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Çevrim Dışı" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Tarayıcı" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "DoÄźrulanmamış" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "GeliĹźtirici bilgisi yok." #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "The ownership of the %s app ID has not been verified and it may be a community package." msgstr "%s uygulama kimliÄźinin sahipliÄźi doÄźrulanmadı ve topluluk paketlemesi olabilir." #: src/bz-developer-badge.c:237 #, c-format msgid "The ownership of the %s app ID has been manually verified by the Flathub team." msgstr "%s uygulama kimliÄźinin sahipliÄźi Flathub ekibi tarafından elle doÄźrulandı." #: src/bz-developer-badge.c:253 #, c-format msgid "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on <b>%3$s</b>." msgstr "%1$s uygulama kimliÄźinin sahipliÄźi <b>%2$s</b> tarafından <b>%3$s</b> sitesinden doÄźrulandı." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "%1$s uygulama kimliÄźinin sahipliÄźi %2$s kullanılarak doÄźrulandı." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "%s uygulama kimliÄźinin sahipliÄźi doÄźrulandı." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Tam SĂĽrĂĽm Notları" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "Bu sĂĽrĂĽm, sizin gibi kullanıcılar sayesinde mĂĽmkĂĽn oldu!" #: src/bz-donations-dialog.blp:116 msgid "I love making Bazaar, but I cannot do it alone. Help support further development by donating on Ko-Fi." msgstr "" "Bazaar uygulamasını geliĹźtirmeyi çok seviyorum, yine de bunu tek başıma yapamam. Ko-Fi ile bağış yaparak " "geliĹźtirilmesine destek olun." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "BazaarĘĽa Bağış Yap" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "%s ile neler yeni?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "Yayın tarihi: %-e %B %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Kurulum Seç" #: src/bz-entry-group-util.c:76 msgid "You have multiple versions of this app installed. Which one would you like to proceed with?" msgstr "Bu uygulamanın birden çok sĂĽrĂĽmĂĽ kurulu. Hangisiyle devam etmek istersiniz?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "İptal" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "Yalnızca Bu Kullanıcı İçin" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "bu kullanıcı" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "tĂĽm kullanıcılar" #: src/bz-error-dialog.blp:36 src/bz-safety-dialog.blp:98 src/error.c:69 src/error.c:88 msgid "Details" msgstr "Ayrıntılar" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Kopyala" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:446 src/bz-share-list.c:364 msgid "Copied!" msgstr "Kopyalandı!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "Gözde Sayısı" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Gözde gĂĽncellenemedi" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Gözdeleri yönetmek için Flathub ile oturum aç" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Oturum Aç" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 src/bz-window.blp:348 msgid "Favorites" msgstr "Gözdeler" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:87 msgid "Install All" msgstr "TĂĽmĂĽnĂĽ Kur" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:17 msgid "Loading" msgstr "YĂĽkleniyor" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Gözde Yok" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Gözde olarak imlediÄźiniz uygulamalar burada görĂĽnecek" # "Bu Uygulamayı Destekle" diye de çevirmek mĂĽmkĂĽn fakat bağış daha doÄźru ve yerelleĹźtirilmiĹź çeviri olacaktır. İşin içinde zaten para var. #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "Bağış Yap" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Gözdelerden Kaldır" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Gözdelerden kaldırılamadı" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "Ă–nceki" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "Sonraki" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "DĂĽzenleme" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "Mixer" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "MĂĽzik" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "Oynatıcı" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "Kaydedici" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "Ardışımlayıcı" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "İnce Ayar" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "TV" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "Ă–ykĂĽnme" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "Aksiyon" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "Macera" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "Atari" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "Bloklar" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "Tahta" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "Kart" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "Çocuk" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "Mantık" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "Rol Yapma" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "Atış" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "Simulasyon" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "Spor" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "Strateji" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "Tarayıcılar" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "Sohbet" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "Posta" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "Dosya Paylaşımı" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "Ses ve Video" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "Ortam" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "Ses ve Video" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "GeliĹźtirici Araçları" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "GeliĹźtir" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "Daha Çok GeliĹźtirici Araçları" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "EÄźitim" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "Ă–Äźren" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "EÄźitim" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "Oyun" # Oyun Oyna anlamında Oyna, Oynat deÄźil! #: src/bz-flathub-category.c:137 msgid "Play" msgstr "Oyna" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "Daha Çok Oyun" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "Grafikler ve FotoÄźrafçılık" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "OluĹźtur" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "Daha Çok Grafikler ve FotoÄźrafçılık" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "AÄź" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "İnternet" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "AÄź" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "Verimlilik" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "İş" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "Daha Çok Verimlilik" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "Bilim" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "Bilim" #: src/bz-flathub-category.c:142 msgid "System" msgstr "Sistem" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "Sistem" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "Araçlar" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "Araçlar" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "Daha Çok Araçlar" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Trend" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "Daha Çok Trend" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 src/bz-flathub-page.blp:174 msgid "Popular" msgstr "PopĂĽler" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "Daha Çok PopĂĽler" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "Son Eklenenler" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "Yeni" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "Daha Çok Yeni" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "Son GĂĽncellenenler" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "GĂĽncellendi" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "Daha Çok GĂĽncellenenler" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "Mobil" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "Daha Çok Mobil" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "Daha Çok Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "KDE Uygulamaları" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "Daha Çok KDE Uygulaması" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "Oyunlar" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "Daha Çok Oyun" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "Ă–ykĂĽnĂĽcĂĽler" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "Daha Çok Ă–ykĂĽnĂĽcĂĽ" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "BaĹźlatıcılar" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "Daha Çok Oyun BaĹźlatıcı" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "Oyun Araçları" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "Daha Çok Oyun Aracı" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub Eklenmedi" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Flatpak kurulumlarınızda Flathub uzağı bulunamadı" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub Kullanılamıyor" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "FlathubĘĽa BaÄźlanamadı" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "Yine de uygulamaları yönetebilir ve arayabilirsiniz." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Uygulamaları Ara" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Yeniden BaÄźlan" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "GĂĽnĂĽn Uygulaması" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Hareket Halindeyken" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Linux telefonlarınız ve tabletleriniz için uygulamalar" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "Daha Çok Mobil Uygulama" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "Oyunları ♥​ Severiz" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "SevdiÄźiniz oyunları çalıştırabileceÄźiniz oyunlar ve uygulamalar" #: src/bz-full-view.blp:34 src/bz-library-page.blp:40 src/bz-library-page.blp:44 msgid "No Results" msgstr "Sonuç Yok" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "BaĹźka arama deneyin" #: src/bz-full-view.blp:47 msgid "Content" msgstr "İçerik" #: src/bz-full-view.blp:106 msgid "This is a local preview, some details may differ from the published listing" msgstr "Bu, yerel bir ön izlemedir; kimi ayrıntılar yayınlanan listelemeden farklı olabilir" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "MaÄźaza GörĂĽnĂĽmĂĽnĂĽ Ă–n İzle" # Bkz: Support This App çevirisiyle ilgili not. #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Bağış Yap" #: src/bz-full-view.blp:461 msgid "This app uses a runtime that no longer receives updates or security fixes. It may become unsafe to use." msgstr "" "Bu uygulama, artık gĂĽncelleme ya da gĂĽvenlik dĂĽzeltmesi almayan bir çalışma zamanı kullanıyor. Kullanımı " "gĂĽvenli olmayabilir." #: src/bz-full-view.blp:539 msgid "Trash Data" msgstr "Çöp Verisi" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Eklentiler" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "Daha Çok Eklenti" #: src/bz-full-view.blp:648 msgid "Links" msgstr "BaÄźlantılar" #: src/bz-full-view.blp:679 msgid "Similar Apps" msgstr "Benzer Uygulamalar" #: src/bz-full-view.c:181 msgid "No URL" msgstr "URL Yok" #: src/bz-full-view.c:199 msgid "This app has a FLOSS license, meaning the source code can be audited for safety." msgstr "" "Bu uygulama Ă–zgĂĽr ya da Açık Kaynak Yazılım lisansına sahip, yani kaynak kodu gĂĽvenlik açısından denetlenebilir." #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed privately and cannot be audited by an " "independent third party." msgstr "" "Bu uygulama sahipli lisansa sahip, yani kaynak kodu özel olarak geliĹźtirilmiĹźtir ve bağımsız üçüncĂĽ tarafca " "denetlenemez." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "Daha Çok Uygulama" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "Daha Çok %s Uygulamaları" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "Bu GeliĹźtiricinin DiÄźer Uygulamaları" #: src/bz-full-view.c:217 src/bz-full-view.c:309 #, c-format msgid "Other Apps by %s" msgstr "DiÄźer %s Uygulamaları" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s kurulmamış, ancak yine de <b>%s</b> verisi var." #: src/bz-full-view.c:311 msgid "Other Apps" msgstr "DiÄźer Uygulamalar" #: src/bz-full-view.c:313 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d Uygulama" #: src/bz-full-view.c:498 src/bz-user-data-tile.c:141 msgid "Failed to Remove User Data" msgstr "Kullanıcı Verisi Kaldırılamadı" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Donanım DesteÄźi" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Klavye desteÄźi" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Klavye gerektirir" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Klavye kullanımı önerilir" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "Klavyeleri destekler" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "Klavye desteÄźi bilinmiyor" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Fare desteÄźi" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Fare ya da iĹźaretleme aygıtları gerektirir" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Fare ya da iĹźaretleme aygıtları önerilir" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "Fare ve iĹźaretleme aygıtlarını destekler" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "Fare ya da iĹźaretleme aygıtları desteÄźi bilinmiyor" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Dokunmatik ekran desteÄźi" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Dokunmatik ekran gerektirir" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Dokunmatik ekran önerilir" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "Dokunmatik ekranı destekler" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "Dokunmatik ekran desteÄźi bilinmiyor" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Mobil desteÄźi" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Mobil aygıtlarda çalışır" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Mobil aygıtlarda iyi çalışmayabilir" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "MasaĂĽstĂĽ desteÄźi" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "BĂĽyĂĽk ekranlarda iyi çalışır" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s belirli donanımlarda daha iyi çalışır" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s çoÄźu aygıtta çalışır" #: src/bz-inspector.blp:23 msgid "Inspector Menu" msgstr "İnceleyiciyi MenĂĽsĂĽ" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "_Aç" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "Uygulamayı Kaldır" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Kaldır" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 src/bz-updates-card.c:187 msgid "Update" msgstr "GĂĽncelle" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "Kaldır" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "%s, %s kaynağıdan kur" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "%s kur" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "İptal" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "İptal ediliyor" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "Bağış Yap DĂĽÄźmesi" #: src/bz-library-page.blp:17 msgid "Search installed apps" msgstr "Kurulu uygulamaları ara" #: src/bz-library-page.blp:33 msgid "No Apps Found" msgstr "Uygulama Bulunamadı" #: src/bz-library-page.blp:52 msgid "Search Store Instead" msgstr "MaÄźazada Ara" #. Translators: . #: src/bz-library-page.blp:62 src/bz-window.blp:114 msgid "Library" msgstr "Kitaplık" #: src/bz-library-page.blp:91 msgid "Pending Updates" msgstr "GĂĽncellemeler Bekliyor" #: src/bz-library-page.blp:118 msgid "Downloads" msgstr "İndirmeler" #: src/bz-library-page.blp:161 msgid "Recently Uninstalled" msgstr "Son Kaldırılanlar" #: src/bz-library-page.blp:212 msgid "Clear Finished Tasks" msgstr "Tamamlanan Görevleri Temizle" #: src/bz-library-page.blp:239 msgid "Sort Options" msgstr "Sıralama Seçenekleri" #: src/bz-library-page.blp:298 msgid "Sort By" msgstr "Sırala" #: src/bz-library-page.blp:312 msgid "Name" msgstr "Ad" #: src/bz-library-page.blp:318 msgid "Size" msgstr "Boyut" #: src/bz-library-page.c:181 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Kurulu uygulamalar listesinde \"%s\" ile eĹźleĹźen hiçbir öge bulunamadı" #: src/bz-library-page.c:194 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u GĂĽncelleme Var" #: src/bz-library-page.c:204 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u Uygulama Kurulu" #: src/bz-library-page.c:629 src/bz-search-page.c:786 msgid "No applications found" msgstr "Hiçbir uygulama bulunamadı" #: src/bz-library-page.c:629 src/bz-search-page.c:788 #, c-format msgid "One application found" msgid_plural "%u applications found" msgstr[0] "%u uygulama bulundu" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "Katılım SaÄźlayın" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "Daha ÇoÄźunu Ă–Äźren" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Bilinmeyen Lisans" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Topluluk İnĹźası" #: src/bz-license-dialog.c:133 src/context-tile-callbacks.c:288 msgid "Proprietary" msgstr "Sahipli" #: src/bz-license-dialog.c:135 src/context-tile-callbacks.c:290 msgid "Special License" msgstr "Ă–zel Lisans" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Bu uygulama, uluslararası bir topluluk tarafından açık Ĺźekilde geliĹźtirilmiĹźtir. \n" "\n" "Katılarak daha iyi olmasını saÄźlayabilirsiniz." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Uygulamanın lisansı bilinmiyor" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Bu uygulama, uluslararası bir topluluk tarafından açık Ĺźekilde geliĹźtirilmiĹź ve %s lisansıyla dağıtılmıştır.\n" "\n" "Katılarak daha iyi olmasını saÄźlayabilirsiniz." #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it works. It may be insecure in ways " "that are hard to detect, and it may change without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Bu uygulama açık olarak geliĹźtirilmemiĹźtir, nasıl çalıştığını yalnızca kendi geliĹźtiricileri bilir. Saptanması " "zor biçimde gĂĽvensiz olabilir ve gözetimsizce deÄźiĹźebilir.\n" "\n" "Bu uygulamaya katkıda bulunabilir ya da bulunamayabilirsiniz." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Bu uygulama özel “%s” lisansı altında geliĹźtirilmiĹźtir.\n" "\n" "Bu uygulamaya katkıda bulunabilir ya da bulunamayabilirsiniz." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "Lisans" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "FlathubĘĽa BaÄźlan" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "Bir Ĺžeyler Yanlış Gitti" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "Gözde uygulamalarınızı aygıtlar arasında eĹźzamanlamak için oturum açın" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "Bitti" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "Merhaba, %s!" #: src/bz-metainfo-preview.c:105 msgid "Add Icon to Metainfo Preview?" msgstr "Metainfo Ă–nizlemesine Simge Eklensin Mi?" #: src/bz-metainfo-preview.c:108 msgid "Metainfo files don't include app icons by themselves. Would you like to select one manually?" msgstr "Metainfo dosyaları kendi baĹźlarına uygulama simgeleri içermez. Elle bir tane seçmek ister misiniz?" #: src/bz-metainfo-preview.c:111 msgid "Skip" msgstr "Atla" #: src/bz-metainfo-preview.c:112 src/bz-metainfo-preview.c:163 msgid "Select Icon" msgstr "Simge Seç" #: src/bz-metainfo-preview.c:166 msgid "Image Files" msgstr "Resim Dosyaları" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "Tercihler" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "AÄź baÄźlantısı ölçülĂĽ — kendiliÄźinden maÄźaza verilerinin yenilenmesi duraklatıldı" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:236 src/bz-window.blp:247 msgid "Refresh Manually" msgstr "Elle Yenile" #: src/bz-preferences-dialog.blp:31 msgid "App Updates" msgstr "Uygulama GĂĽncellemeleri" #: src/bz-preferences-dialog.blp:46 msgid "" "Checking for and downloading app updates uses data and power. Automatic app update features are therefore " "paused when on metered network connections and when power saver is on." msgstr "" "Uygulama gĂĽncellemelerini denetlemek ve indirmek veri ve pil tĂĽketir. Bu sebeple, kotalı aÄź baÄźlantılarında ve " "pil tasarrufu kipi etkinken kendiliÄźinden uygulama gĂĽncelleme duraklatılır." #: src/bz-preferences-dialog.blp:52 msgid "_Automatic" msgstr "_KendiliÄźinden" #: src/bz-preferences-dialog.blp:53 msgid "Automatically check for and download app updates" msgstr "Uygulama gĂĽncellemelerini kendiliÄźinden denetle ve indir" #: src/bz-preferences-dialog.blp:62 msgid "_Manual" msgstr "_Elle" #: src/bz-preferences-dialog.blp:63 msgid "Checking for and downloading app updates must be done manually" msgstr "Uygulama gĂĽncellemelerinin denetlenmesi ve indirilmesi elle yapılmalıdır" #: src/bz-preferences-dialog.blp:78 msgid "Automatic Update _Notifications" msgstr "KendiliÄźinden GĂĽncelleme _Bildirimleri" #: src/bz-preferences-dialog.blp:79 msgid "Notify when updates have been automatically installed" msgstr "GĂĽncellemeler kendiliÄźinden kurulduÄźunda bildir" #: src/bz-preferences-dialog.blp:84 msgid "Content Filters" msgstr "İçerik SĂĽzgeçleri" #: src/bz-preferences-dialog.blp:87 msgid "_Free Software Only" msgstr "Yalnızca Ă–_zgĂĽr Yazılımlar" #: src/bz-preferences-dialog.blp:88 msgid "Hide proprietary apps when browsing and searching" msgstr "Göz atarken ve arama yaparken sahipli uygulamaları gizle" #: src/bz-preferences-dialog.blp:93 msgid "F_lathub Results Only" msgstr "Yalnızca _Flathub Sonuçları" #: src/bz-preferences-dialog.blp:94 msgid "Limit search and browse results to apps only available on Flathub" msgstr "Arama ve gözatma sonuçlarını yalnızca FlathubĘĽda bulunan uygulamalarla sınırla" #: src/bz-preferences-dialog.blp:99 msgid "_Verified Results Only" msgstr "Yalnızca _DoÄźrulanmış Sonuçlar" #: src/bz-preferences-dialog.blp:100 msgid "Hide results that are not verified on Flathub" msgstr "FlathubĘĽda doÄźrulanmamış sonuçları gizle" #: src/bz-preferences-dialog.blp:105 msgid "Hide _End-of-Life Apps" msgstr "Ă–mrĂĽnĂĽn _Sonuna GelmiĹź Uygulamaları Gizle" #: src/bz-preferences-dialog.blp:106 msgid "Hide apps which are no longer supported by their developers" msgstr "GeliĹźtiricilerince artık desteklenmeyen uygulamaları gizle" #: src/bz-preferences-dialog.blp:112 msgid "Progress Bar Theme" msgstr "İlerleme ÇubuÄźu Teması" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Vurgu Rengi" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Pride Colors" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Lesbian Pride Colors" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Male Homosexual Pride Colors" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Transgender Pride Colors" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Nonbinary Pride Colors" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Bisexual Pride Colors" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Asexual Pride Colors" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Pansexual Pride Colors" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Aromantic Pride Colors" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Genderfluid Pride Colors" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Polysexual Pride Colors" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Omnisexual Pride Colors" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Aroace Pride Colors" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Agender Pride Colors" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Genderqueer Pride Colors" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Intersex Pride Colors" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Demigender Pride Colors" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Biromantic Pride Colors" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Disability Pride Colors" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Femboy Pride Colors" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Neutrois Pride Colors" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "SĂĽrĂĽm GeçmiĹźi" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_SĂĽrĂĽm GeçmiĹźi" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "BugĂĽn" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "DĂĽn" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d gĂĽn önce" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d hafta önce" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d ay önce" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d yıl önce" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "SĂĽrĂĽm %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Bu sĂĽrĂĽm için ayrıntı yok" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "Daha Çok Bilgi" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "Kaldır" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "Al" #: src/bz-safety-dialog.blp:31 src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "İsteÄźe BaÄźlı İzinler" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any other permission it wants</b>, " "bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, such as accessing all your files and " "connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app is likely to do." msgstr "" "Bu uygulamanın, Flatpak korumalı alanını atlayarak <b>istediÄźi herhangi bir izni</b> kullanma izni var.\n" "\n" "Bu nedenle, korumalı alanda çalışmayan bir uygulamanın yapabileceÄźi her Ĺźeyi, tĂĽm dosyalarınıza eriĹźmek ve " "internete baÄźlanmak gibi, yapabilir.\n" "\n" "DiÄźer izinleri görĂĽntĂĽlemek, uygulamanın yapabilecekleri hakkında daha iyi fikir verebilir." #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "DiÄźer İzinleri GörĂĽntĂĽle" #: src/bz-safety-dialog.blp:79 src/context-tile-callbacks.c:400 msgid "Safe" msgstr "GĂĽvenli" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "Uygulama KimliÄźi" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" # SDK vurgusu hatalı. Yazılımları genelde Platform ile paketleniyor, SDK ise derlenirken kullanılıyor. #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might contain bugs or security " "vulnerabilities which will not be fixed." msgstr "" "Bu uygulama, çalışma ortamının eski sĂĽrĂĽmĂĽnĂĽ kullanıyor ve dĂĽzeltilmeyecek hatalar ya da gĂĽvenlik açıkları " "içerebilir." #: src/bz-safety-dialog.c:287 msgid "Safety" msgstr "GĂĽvenlik" #: src/bz-safety-dialog.c:347 #, c-format msgid "%s is Safe" msgstr "%s GĂĽvenilir" #: src/bz-safety-dialog.c:352 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s GĂĽvenli Olmayan İzinleri Yok" #: src/bz-safety-dialog.c:357 #, c-format msgid "%s is Probably Safe" msgstr "%s Muhtemelen GĂĽvenli" #: src/bz-safety-dialog.c:362 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s GĂĽvenilir Olmayabilir" #: src/bz-safety-dialog.c:367 #, c-format msgid "%s is Unsafe" msgstr "%s GĂĽvenilir DeÄźil" #: src/bz-screenshot-page.blp:41 msgid "Back" msgstr "Geri" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Ă–nceki Ekran GörĂĽntĂĽsĂĽ" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "Sonraki Ekran GörĂĽntĂĽsĂĽ" #: src/bz-screenshot-page.blp:97 msgid "Copy Image" msgstr "Resmi Kopyala" #: src/bz-screenshot-page.blp:160 msgid "Reset View" msgstr "GörĂĽnĂĽmĂĽ Sıfırla" #: src/bz-screenshot-page.blp:171 msgid "Zoom Out" msgstr "UzaklaĹźtır" #: src/bz-screenshot-page.blp:181 msgid "Zoom In" msgstr "YakınlaĹźtır" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "Ekran GörĂĽntĂĽsĂĽ Sergisi" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "Ekran GörĂĽntĂĽsĂĽ Yok" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "Ekran GörĂĽntĂĽsĂĽ GörĂĽntĂĽleyiciyi Aç" #: src/bz-screenshots-carousel.c:308 #, c-format msgid "Screenshot %u %s" msgstr "Ekran görĂĽntĂĽsĂĽ %u %s" #: src/bz-screenshots-carousel.c:310 #, c-format msgid "Screenshot %u" msgstr "Ekran görĂĽntĂĽsĂĽ %u" #: src/bz-search-bar.blp:55 msgid "Clear Search" msgstr "Aramayı Temizle" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:66 msgid "Filters" msgstr "SĂĽzgeçler" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_DoÄźrulanmış" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "Ă–_zgĂĽr/Açık Kaynak" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "_YaĹźam DöngĂĽsĂĽnde" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Ă–mrĂĽnĂĽn Sonuna GelmiĹź Uygulamaları SĂĽz" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "_Mobil Uyumlu" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "Kategoriler" #: src/bz-search-page.blp:45 msgid "Search Apps, Games, Software" msgstr "Uygulamaları, Oyunları, Yazılımları Ara" #: src/bz-search-page.blp:52 msgid "Search Filters" msgstr "Arama SĂĽzgeçleri" #: src/bz-search-page.blp:170 msgid "Browse Categories" msgstr "Kategorilere Göz At" #: src/bz-search-page.blp:206 msgid "Categories Unavailable" msgstr "Kategoriler Kullanılamıyor" #: src/bz-search-page.blp:207 msgid "Search for apps using the search bar above." msgstr "Yukarıdaki arama çubuÄźunu kullanarak uygulamaları ara." #: src/bz-search-page.blp:325 msgid "No Applications Found" msgstr "Uygulama Bulunamadı." #: src/bz-search-page.c:249 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "FlathubĘĽda \"%s\" için sonuç bulunamadı" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Video" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "Ofis" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Takvim" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "İletiĹźim" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Boyama" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "Ă–ykĂĽnĂĽcĂĽ" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub Sayfası" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "Proje Web Sitesi" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Sorun İzleyici" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "SSS" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Yardım" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Bağış" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Çevir" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "İletiĹźim" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Kaynak Kodu" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "Katkı Ver" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifesto" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "BaÄźlantıyı Kopyala" # Konumu gereÄźi baĹźlık dĂĽzeni kullanıldı. Ayrıca Zaman Çizgisi yerine Zaman Çizelgesi çevirisi yeÄźlendi. #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Zaman Çizelgesi" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Kurulum Sayısı:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "DĂĽnya" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "15 Nisan 2024 tarihinden beri" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM Toplam Kurulum" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK Toplam Kurulum" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d Toplam Kurulum" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "Hiçbir Sonuç Bulunamadı" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "Arama baĹźarısız" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "Kullanıcı Verisini Tut" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "KiĹźisel ayarların ve içeriÄźin geri yĂĽklenmesine izin ver" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "TĂĽm Verileri Sil" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Disk alanını korumak için kullanıcı verisini sil" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "%s Kurulsun Mu?" #: src/bz-transaction-dialog.c:195 msgid "Select which version to install. May install additional shared components" msgstr "Hangi sĂĽrĂĽmĂĽn kurulacağını seç. Ek paylaşımlı bileĹźenler kurabilir" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "Ek paylaşımlı bileĹźenler kurabilir" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 src/bz-transaction-dialog.c:274 #: src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "İ_ptal" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Kur" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "%s Kaldırılsın Mı?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Hangi sĂĽrĂĽmĂĽn kaldırılacağını seç." #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "Kaldırıldıktan sonra %s artık kullanılamayacak." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "“%s” Çok Riskli" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, browser history, saved passwords</b>, and " "more. It also has access to the internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with these permissions." msgstr "" "Bu uygulama, <b>tĂĽm dosyalarınız, tarayıcı geçmiĹźiniz, kaydedilmiĹź parolalarınız</b> ve daha fazlası ĂĽzerinde " "sisteminize tam eriĹźimi var. Ayrıca internete de eriĹźebilir, yani verilerinizi dış taraflara gönderebilir.\n" "\n" "Uygulama sahipli olduÄźundan, bu izinlerle ne yaptığı denetlenemez." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record all keystrokes, capture " "screenshots, and monitor other applications</b>. It also has access to the internet, meaning it could send your " "data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with these permissions." msgstr "" "Bu uygulama, <b>tĂĽm tuĹź darbelerini kaydetmeye, ekran görĂĽntĂĽlerini yakalamaya ve diÄźer uygulamaları izlemeye</" "b> izin veren eski X11 pencere sistemini kullanır. Ayrıca internete eriĹźimi var, yani verilerinizi dış " "taraflara gönderebilir.\n" "\n" "Uygulama sahipli olduÄźundan, bu izinlerle ne yaptığı denetlenemez." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "Yine De _Kur" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "İşlem iletiĹźim kutusu yĂĽklenemedi" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "TĂĽm uygulamalar zaten kurulmuĹź" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Tamam" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "%u Uygulama Kurulsun Mu?" #: src/bz-transaction-dialog.c:573 msgid "The following will be installed. Additional shared components may also be installed" msgstr "AĹźağıdakiler yĂĽklenecek. Ek ortak bileĹźenler de kurulabilir" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d eklenti kurulacak." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Ayrıca, uzantılar kurulacak." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "TĂĽmĂĽnĂĽ _Kur" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "%.02f saniyede bitti" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "Uygulama Eklentisi" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Çalışma Zamanı" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "Kuyrukta" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Bitti" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "İptal edildi" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Hata" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "İşlemi İptal Et" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Ayrıntıları Göster" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "Hata Bilgisini Göster" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s Temizlendi" # Transaction dese de para ile ilgisi yok. O sebeple sadece İşlemler diye çevirdim. #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "İşlem Hatası" #: src/bz-transaction.c:344 msgid "Pending" msgstr "Beklemede" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "TĂĽmĂĽnĂĽ _GĂĽncelle" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u Çalışma Zamanı GĂĽncellemesi" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "Artık Kullanıcı Verisini Yönet" #: src/bz-user-data-page.blp:34 msgid "No User Data Found" msgstr "Kullanıcı Verisi bulunamadı" #: src/bz-user-data-page.blp:40 msgid "User Data" msgstr "Kullanıcı Verisi" #: src/bz-user-data-tile.blp:92 msgid "Open User Data Folder" msgstr "Kullanıcı Veri KlasörĂĽnĂĽ Aç" #: src/bz-user-data-tile.blp:103 msgid "Trash User Data" msgstr "Kullanıcı Verisini Çöpe Taşı" #: src/bz-user-data-tile.c:147 #, c-format msgid "Trashed User Data for %s" msgstr "%s İçin Kullanıcı Verisi Çöpe Taşındı" #: src/bz-window.blp:72 msgid "Refreshing" msgstr "Yenileniyor" #: src/bz-window.blp:90 msgid "Curated" msgstr "Ă–zelleĹźtirilmiĹź" #: src/bz-window.blp:102 msgid "Explore" msgstr "KeĹźfet" #: src/bz-window.blp:129 msgid "Search" msgstr "Ara" #: src/bz-window.blp:216 msgid "Main Menu" msgstr "Ana MenĂĽ" #: src/bz-window.blp:227 msgid "You are running a new version of Bazaar!" msgstr "Bazaarʼın yeni bir sĂĽrĂĽmĂĽnĂĽ kullanıyorsunuz!" #: src/bz-window.blp:228 msgid "See What's New" msgstr "Neler Yeni Gör" #: src/bz-window.blp:235 msgid "You have a network connection but are viewing a cached version of Flathub" msgstr "AÄź baÄźlantınız var ancak Flathubʼın önbelleklenmiĹź sĂĽrĂĽmĂĽnĂĽ görĂĽntĂĽlĂĽyorsunuz" #: src/bz-window.blp:246 msgid "Network connection is metered — automatic refreshes disabled" msgstr "AÄź baÄźlantısı ölçülĂĽ — kendiliÄźinden yenilenmeler devre dışı bırakıldı" #: src/bz-window.blp:292 msgid "_Donate to Bazaar" msgstr "BazaarĘĽa _Bağış Yap" #: src/bz-window.blp:298 msgid "_Refresh" msgstr "_Yenile" #: src/bz-window.blp:302 msgid "_Login With Flathub" msgstr "Flathub İle _Oturum Aç" #: src/bz-window.blp:308 msgid "_Manage Leftover User Data" msgstr "Artık Kullanıcı Verisini _Yönet" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_Tercihler" #: src/bz-window.blp:319 msgid "_Keyboard Shortcuts" msgstr "_Klavye Kısayolları" #: src/bz-window.blp:324 msgid "_About Bazaar" msgstr "Bazaar _Hakkında" #: src/bz-window.blp:330 msgid "_Quit Bazaar" msgstr "BazaarĘĽdan Çı_k" #: src/bz-window.blp:355 msgid "Log Out" msgstr "Oturumu Kapat" #. Translators: %s is the title of the current page #: src/bz-window.c:390 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:635 src/bz-window.c:673 msgid "Failed to launch application" msgstr "Uygulama baĹźlatılamadı" #: src/bz-window.c:925 msgid "You can't remove Bazaar from Bazaar!" msgstr "Bazaarʼı Bazaar ile kaldıramazsınız!" #: src/bz-window.c:1238 src/bz-window.c:1272 msgid "Can't do that right now!" msgstr "Ĺžimdi yapma!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Kurulum" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "Son ay içinde %d indirme" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s çalışma zamanı" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "İndirme Boyutu" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Boyut bilgisi yok" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "%s İndirme Boyutu" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "TĂĽm YaĹźlar" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "YaĹź derecelendirme bilgisi yok" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "TĂĽm yaĹźlar için uygun" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "%d ve ĂĽstĂĽ yaĹźlar için uygun" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 src/context-tile-callbacks.c:276 #: src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "Bilinmiyor" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "%s altında lisanslanmış özgĂĽr yazılım" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Ă–zgĂĽr yazılım" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Sahipli Yazılım" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Ă–zel Lisans: %s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "Ă–zgĂĽr Yazılım" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Uyarlanır" # ArayĂĽzde sığmadığı için new line eklendi #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "" "Yalnızca\n" "MasaĂĽstĂĽ" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Telefonlarda, tabletlerde ve masaĂĽstĂĽlerde çalışır" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Mobil aygıtlarda çalışmayabilir" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Düşük Risk" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Orta Risk" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "YĂĽksek Risk" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Bilinmeyen İzinler" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Bu uygulama için izinler eksik." #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "İzin Yok" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Uygulama tĂĽmĂĽyle yalıtılmış alandadır" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "AÄź EriĹźimi" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "İnternete eriĹźebilir" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "AÄź EriĹźimi Yok" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "İnternete eriĹźemez" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "Kullanıcı Aygıtı EriĹźimi" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Web kameraları veya oyun denetçileri gibi aygıtlara eriĹźebilir" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Kullanıcı Aygıtı EriĹźimi Yok" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "Web kameraları veya oyun denetçileri gibi aygıtlara eriĹźemez" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "Girdi Aygıtı EriĹźimi" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Girdi aygıtlarına eriĹźebilir" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Mikrofon EriĹźimi ve Ses Oynatımı" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "İzin istemeden mikrofonlarla dinleyebilir ve sesleri oynatabilir" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "Sistem Aygıtı EriĹźimi" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "YĂĽkseltilmiĹź izinler gerektiren sistem aygıtlarına eriĹźebilir" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Ekran İçerikleri EriĹźimi" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Ekranın ya da diÄźer pencerelerin içeriklerine eriĹźebilir" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Eski Pencereleme Sistemi" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Daima eski pencereleme sistemi kullanır (X11)" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "İsteÄźe baÄźlı izinler edinir" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "Kullanıcı Ayarları" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Kullanıcı ayarlarına eriĹźebilir ve deÄźiĹźtirebilir" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "TĂĽm Dosya Sistemini Okuma/Yazma EriĹźimi" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Dosya sistemindeki tĂĽm veriyi okuyabilir ve yazabilir" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Ev KlasörĂĽ Okuma/Yazma EriĹźimi" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Ev dizininizdeki tĂĽm veriyi okuyabilir ve yazabilir" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "TĂĽm Dosya Sistemini Okuma EriĹźimi" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Dosya sistemindeki tĂĽm veriyi okuyabilir" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Ev KlasörĂĽ Okuma EriĹźimi" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Ev dizininizdeki tĂĽm verinizi okuyabilir" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "İndirilenler KlasörĂĽ Okuma/Yazma EriĹźimi" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "İndirilenler dizininizdeki tĂĽm veriyi okuyabilir ve yazabilir" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "İndirilenler KlasörĂĽ Okuma EriĹźimi" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "İndirilenler dizininizdeki tĂĽm veriyi okuyabilir" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Dizindeki tĂĽm veriyi okuyabilir ve yazabilir" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Dizindeki tĂĽm veriyi okuyabilir" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Dosya Sistemi EriĹźimi Yok" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Dosya sistemine asla eriĹźemez" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "Sistem Hizmetlerini Kullanır" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Kapı dışı sistem hizmetlerinden veri isteyebilir" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "Oturum Hizmetlerini Kullanır" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Kapı dışı oturum hizmetlerinden veri isteyebilir" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Hizmet EriĹźimi Yok" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Kapı dışı oturum ya da sistem hizmetlerine asla eriĹźemez" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "DoÄźrulanmış Uygulama GeliĹźtiricileri" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "Bu uygulamanın geliĹźtiricisinin söylediÄźi kiĹźi olduÄźu doÄźrulandı" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "Sahipli Kod" #: src/safety-calculator.c:365 msgid "The source code is not public, so it cannot be independently audited and might be unsafe" msgstr "Kaynak kod halka açık deÄźildir, bu nedenle bağımsızca denetlenemez ve gĂĽvenilir olmayabilir" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "Denetlenebilir Kod" #: src/safety-calculator.c:376 msgid "The source code is public and can be independently audited, which makes the app more likely to be safe" msgstr "Kaynak kod halka açıktır ve bağımsızca denetlenebilir, bu uygulamayı daha gĂĽvenilir kılar" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "%s Sistem Hizmetini Kullan" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "%s Oturum Hizmetini Kullan" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "%s Hizmetini Kullan" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Kapı dışı hizmetleri görebilir" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Kapı dışı hizmetlere konuĹźabilir" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Kapı dışı hizmet edinebilir" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "KĂĽresel MenĂĽ TĂĽmleĹźimi" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "MenĂĽlerini genel menĂĽ çubuÄźunda görĂĽntĂĽleyebilir" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE Ayarları TĂĽmleĹźimi" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "KDE masaĂĽstĂĽ ayarları deÄźiĹźtiÄźinde algılayabilir" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDE Genel Ayarlar" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "KDE masaĂĽstĂĽ tercihlerini (yazı tipleri ve renkler gibi) okuyabilir" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Gizli Depolama Hizmeti" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Sistem anahtarlığı kullanarak kendi parolalarını saklayabilir ve geri getirebilir" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "MasaĂĽstĂĽ Bildirim Hizmeti" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "MasaĂĽstĂĽ bildirimleri gönderebilir" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "Sistem Tepsisi TĂĽmleĹźimi" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Sistem tepsisinde simge gösterebilir" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect TĂĽmleĹźimi" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "KDE Connect aracılığıyla eĹźleĹźtirilen aygıtlarla etkileĹźime girebilir" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Gezinti" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "KeĹźfet Sayfasını Aç" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Kitaplık Sayfasını Aç" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Arama Sayfasını Aç" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Uzaklar" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "Uzakları EĹźzamanla" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Genel" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Tercihleri Aç" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Kısayolları Göster" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Pencereyi Kapat" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "BazaarĘĽdan Çık" #: src/update-worker.c:358 #, c-format msgid "%u App Updated" msgid_plural "%u Apps Updated" msgstr[0] "%u Uygulama GĂĽncellendi" #: src/update-worker.c:361 #, c-format msgid "%s has been updated." msgstr "%s gĂĽncellendi." #: src/update-worker.c:364 #, c-format msgid "%s and %s have been updated." msgstr "%s ve %s gĂĽncellendi." #: src/update-worker.c:368 #, c-format msgid "Includes %s, %s and %s." msgstr "%s, %s ve %s içerir." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/uk.po������������������������������������������������������������������0000664�0000000�0000000�00000315203�15234476640�0016667�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Ukrainian translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025-2026 faoquad <faoquad@noreply.codeberg.org> msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-06-01 10:04+0300\n" "PO-Revision-Date: 2026-06-01 14:48+0300\n" "Last-Translator: faoquad <faoquad@noreply.codeberg.org>\n" "Language-Team: Ukrainian <>\n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" "4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 26.04.1\n" #: data/io.github.kolunmi.Bazaar.desktop.in:3 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:45 #: src/bz-window.blp:199 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Базар" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "Đ’Ńтановлюйте, видаляйте та оновлюйте пакŃнки Flatpak на Đ’Đ°Ń ĐşĐľĐĽĐżĘĽŃŽŃ‚ĐµŃ€" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;System;PackageManager;Discover;Flatpak;Software;Store;Магазин;Крамниця;" "Флатпак;ПакŃнки;Програми;" #: data/io.github.kolunmi.Bazaar.desktop.in:17 msgid "New Window" msgstr "Нове вікно" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and manage applications" msgstr "Знаходьте та керŃйте заŃтоŃŃнками" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and addons, particularly from Flathub." msgstr "" "Швидка та ŃŃчаŃна крамниця заŃтоŃŃнків для Linux, Đ·ĐľŃереджена на знаходженні Ń‚" "а вŃтановленні заŃтоŃŃнків Ń– розŃирень Đ·Ń– Ńховищ Flatpak, зокрема Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "ШŃкайте та завантажŃйте водночаŃ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "Легко переглядайте дозволи заŃтоŃŃнків" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "Увійдіть Ń–Đ· допомогою Flathub, аби керŃвати вподобаннями" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "ШŃкайте заŃтоŃŃнки безпоŃередньо Đ· оболонки GNOME" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "ДомаŃня Ńторінка Ń–Đ· заŃтоŃŃнками Đ· Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "Сторінка заŃтоŃŃĐ˝ĐşŃ Exhibit" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "Сторінка бібліотеки" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "Сторінка поŃŃĐşŃ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "Сторінка поŃŃĐşŃ Đ· категоріями" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:141 msgid "Stopped Receiving Updates" msgstr "БільŃe не отримŃŃ” оновлень" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "Видалити" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:145 #: src/bz-bundle-install-dialog.blp:159 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "Đ’Ńтановити" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:92 msgid "Manage Add-Ons" msgstr "КерŃвати розŃиреннями" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "Не видно жодного розŃирення" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "" "ВаŃŃ– налаŃŃ‚Ńвання відŃіювання Ńховали вŃŃ– відомі розŃирення. СпробŃйте відкори" "ĐłŃвати Ń—Ń…." #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "Сторінка розŃирень" #: src/bz-addons-dialog.blp:202 src/bz-full-view.blp:410 msgid "Downloads/Month" msgstr "зав/ĐĽŃ–Ń" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:446 msgid "Stopped Receiving Core Updates" msgstr "БільŃе не отримŃŃ” оновлень Ńередовища виконання" #: src/bz-addons-dialog.blp:243 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "Це розŃирення викориŃтовŃŃ” Ńередовище виконання, котре більŃе не отримŃŃ” оновл" "ень або безпекових виправлень. Đ’Ń–Đ˝ може Ńтати небезпечним Đ´Đľ викориŃтання." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "РозŃирення для %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "ЗгорнŃти" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show More" msgstr "РозгорнŃти" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "Звіт щодо завантажень" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "Вікове обмеження" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "Đнімована жорŃтокіŃть" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "Без даних щодо зображення анімованої жорŃтокоŃти" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "Вигадана жорŃтокіŃть" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "Без даних щодо зображення вигаданої жорŃтокоŃти" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "РеаліŃтична жорŃтокіŃть" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "Без даних щодо зображення реаліŃтичної жорŃтокоŃти" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "ЖорŃтокіŃть Ń–Đ· зображенням кровопролиття" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "Без даних щодо зображення кровопролиття" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "СекŃŃальне наŃильŃтво" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "Без даних щодо згадок або зображення ŃекŃŃального наŃильŃтва" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "Đлкоголь" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "Без даних щодо згадок або зображення алкоголю" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "Заборонені речовини" # ТŃŃ‚ поняття включає ŃŹĐş заборонені, так Ń– незаборонені речовини (алкоголь, тютюн тощо) #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "Без даних щодо згадок або зображення пʼянких речовин" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "Тютюн" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "Без даних щодо згадок або зображення тютюнових виробів" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "Оголення" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "Без даних щодо зображення оголення" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "СекŃŃальні теми" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "Без даних щодо згадок або зображення ŃекŃŃального характерŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "Лайка" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "Без даних щодо грŃбощів або недоречного ĐłŃморŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "Недоречний ĐłŃмор" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "Без даних щодо викориŃтання недоречного ĐłŃморŃ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "ДиŃкримінація" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "Без даних щодо викориŃтання диŃкримінаційної мови" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "Реклама" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "Без даних щодо рекламного вміŃŃ‚Ń" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "Đзартний вміŃŃ‚" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "Без даних щодо азартного вміŃŃ‚Ń" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "ПокŃпки" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "Без даних щодо можливоŃті витрачати гроŃŃ–" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "Розмови між кориŃŃ‚Ńвачами" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "Без даних щодо можливоŃті ŃпілкŃватиŃŃŹ Đ· Ń–Đ˝Ńими кориŃŃ‚Ńвачами" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "ГолоŃові розмови між кориŃŃ‚Ńвачами" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "Без даних щодо голоŃового Đ·Đ˛ĘĽŃŹĐ·ĐşŃ Đ· Ń–Đ˝Ńими кориŃŃ‚Ńвачами" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "Контактні дані" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "Без даних щодо розголоŃення облікових даних Ńоцмереж або Đ°Đ´Ń€ĐµŃ ĐµĐ»ĐµĐşŃ‚Ń€ĐľĐ˝Đ˝ĐľŃ— " "поŃти" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "Виявні дані" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "Без даних щодо розголоŃення кориŃŃ‚Ńвацьких даних третім Ńторонам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "МіŃцезнаходження" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "Без даних щодо розголоŃення розтаŃŃвання Ń–Đ˝Ńим кориŃŃ‚Ńвачам" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "ПроŃтитŃція" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "Без даних щодо згадок або зображення проŃтитŃції" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "ПодрŃжня зрада" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "Без даних щодо згадок або зображення подрŃжньої зради" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "СекŃŃалізовані перŃонажі" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "Без даних щодо зображення ŃекŃŃалізованих перŃонажів" # По-наŃĐľĐĽŃ Đ˝Đµ «кощŃĐ˝Ńтво». #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "БлюзнірŃтво" # По-наŃĐľĐĽŃ Đ˝Đµ «кощŃĐ˝Ńтво». #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "Без даних щодо блюзнірŃтва" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "ЛюдŃькі реŃтки" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "Без даних щодо зображення людŃьких реŃток" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "РабŃтво" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "Без даних щодо згадок або зображення рабŃтва" # ТŃŃ‚ поняття включає ŃŹĐş заборонені, так Ń– незаборонені речовини (алкоголь, тютюн тощо) #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "Не ĐĽŃ–Ńтить згадок або зображення пʼянких речовин" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "Не ĐĽŃ–Ńтить грŃбощів або недоречного ĐłŃморŃ" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "Не ĐĽŃ–Ńтить реклами або гроŃових операцій" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "Не ĐĽŃ–Ńтить оголеноŃти або ŃекŃŃ" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "Не має можливоŃті ŃпілкŃватиŃŃŹ Đ· Ń–Đ˝Ńими кориŃŃ‚Ńвачами" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "Не ĐĽŃ–Ńтить жорŃтокоŃти" # ТŃŃ‚ поняття включає ŃŹĐş заборонені, так Ń– незаборонені речовини (алкоголь, тютюн тощо) #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "Речовини" # ĐŻĐş розŃĐĽŃ–ŃŽ, це включає Đ»Đ°ĐąĐ»Đ¸Đ˛Ń ĐĽĐľĐ˛Ń Ń‚Đ° Ń–Đ˝ŃŃ– форми міцної мови. #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "ГрŃбощі" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "ГроŃŃ–" # ТŃŃ‚ маєтьŃŃŹ на Ńвазі чат та Ń–Đ˝ŃŃ– види Đ·Đ˛ĘĽŃŹĐ·ĐşŃ Đ· Ń–Đ˝Ńими людьми. #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "СпілкŃвання" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "ЖорŃтокіŃть" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "Без обмежень" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s не вказŃŃ” вікове обмеження" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s паŃŃŃ” вŃŃ–ĐĽ" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s паŃŃŃ” малим дітям" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s паŃŃŃ” дітям" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s паŃŃŃ” підліткам" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s паŃŃŃ” дороŃлим" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s паŃŃŃ” %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "СиŃтемна тека %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "ДомаŃня підтека %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "СиŃтемні теки приŃтрою" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "СиŃтемні налаŃŃ‚Ńвання приŃтрою Đ· /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "Підтека Ńтільниці %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "Тека Ńтільниці" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "Підтека Đ· докŃментами %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "Тека Đ· докŃментами" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "Підтека Đ· ĐĽŃзикою %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "Тека Đ· ĐĽŃзикою" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "Підтека зображень %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "Тека зображень" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "Прилюдна підтека %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "Прилюдна тека" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "Підтека відео %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "Тека відео" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "Підтека Ńаблонів %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "Тека Ńаблонів" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "Підтека кориŃŃ‚Ńвацького кеŃŃ %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "Тека кориŃŃ‚Ńвацького кеŃŃ" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "Підтека налаŃŃ‚Ńвань кориŃŃ‚Ńвача %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "Тека налаŃŃ‚Ńвань кориŃŃ‚Ńвача" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "Підтека даних кориŃŃ‚Ńвача %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "Тека даних кориŃŃ‚Ńвача" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "Підтека Ńередовища виконання кориŃŃ‚Ńвача %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "Тека Ńередовища виконання кориŃŃ‚Ńвача" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ %s Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń–Đą ŃиŃтемі" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "Невідомий Ńлях" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Розмір завантаження" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Розмір вŃтановлення" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "ОбŃŃŹĐł даних Đ´Đľ завантаження" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Розмір на диŃĐşŃ" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Відкрити Ń‚ĐµĐşŃ ĐşĐľŃ€Đ¸ŃŃ‚Ńвацьких даних" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "ВаŃŃ– кориŃŃ‚Ńвацькі дані" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "КеŃ, налаŃŃ‚Ńвання, та Ń–Đ˝ŃŃ– дані заŃтоŃŃнкŃ" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "КеŃ" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "ТимчаŃово кеŃовані дані" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "ОчиŃтити кеŃ" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "Розмір вŃтановленого Ńередовища виконання" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "Розмір Ńередовища виконання Đ´Đľ завантаження" #: src/bz-app-size-dialog.c:220 msgid "App Size" msgstr "Розмір заŃтоŃŃнкŃ" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:105 src/bz-rich-app-tile.c:429 msgid "Verified" msgstr "Підтверджено" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Đ’Ńтановлені" #: src/bz-application.c:762 msgid "The Bazaar Contributors" msgstr "ВнеŃники БазарŃ" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:765 msgid "translator-credits" msgstr "faoquad <faoquad@noreply.codeberg.org>, 2025" #: src/bz-application.c:775 msgid "Special Thanks" msgstr "ĐžŃобливі подяки" #: src/bz-application.c:833 msgid "Logged Out Successfully!" msgstr "Ви вийŃли Đ· Flathub" #: src/bz-application.c:969 msgid "Performing setup…" msgstr "НалаŃтовŃємо…" #: src/bz-application.c:1055 msgid "Set Up System Flathub?" msgstr "НалаŃŃ‚Ńвати Ńховище Flathub вŃеŃиŃтемно?" #: src/bz-application.c:1058 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Сховище Flathub не налаŃтовано на цій ŃиŃтемі. Базар вимагає налаŃтованого ŃŃ…Đľ" "вища Flathub Ń ŃиŃтемі для поŃŃĐşŃ Ń‚Đ° вŃтановлення заŃтоŃŃнків.\n" "\n" "Проте, Ви зможете кориŃтати Базар для ĐľĐłĐ»ŃŹĐ´Ń Ń‚Đ° керŃвання вже вŃтановленими за" "ŃтоŃŃнками." #: src/bz-application.c:1065 msgid "Set Up Flathub?" msgstr "НалаŃŃ‚Ńвати Flathub?" #: src/bz-application.c:1068 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub не налаŃтовано на цій ŃиŃтемі. Ви не зможете ŃŃкати та вŃтановлювати " "заŃтоŃŃнки в Базарі. Проте, Ви зможете кориŃтати Базар для ĐľĐłĐ»ŃŹĐ´Ń Ń‚Đ° " "керŃвання вже вŃтановленими заŃтоŃŃнками." #: src/bz-application.c:1074 msgid "Later" msgstr "ПізніŃе" #: src/bz-application.c:1075 msgid "Set Up Flathub" msgstr "НалаŃŃ‚Ńвати Flathub" #: src/bz-application.c:1431 msgid "A backend error occurred" msgstr "Виникла помилка на боці ŃерверŃ" #: src/bz-application.c:1631 src/bz-application.c:3783 msgid "Refreshing…" msgstr "ĐžŃвіжаємо…" #: src/bz-application.c:1795 src/bz-application.c:3781 #, c-format msgid "Loading %d apps…" msgstr "ПровантажŃємо %d заŃтоŃŃнків…" #: src/bz-application.c:1848 msgid "Failed to open file" msgstr "Не вдалоŃŃŹ відкрити файл" #: src/bz-application.c:1946 msgid "An initialization error occurred" msgstr "Виникла помилка ініціалізації" #: src/bz-application.c:2312 msgid "Checking for updates…" msgstr "ШŃкаємо оновлення…" #: src/bz-application.c:2368 msgid "Failed to check for updates" msgstr "Помилка поŃŃĐşŃ ĐľĐ˝ĐľĐ˛Đ»ĐµĐ˝ŃŚ" #: src/bz-application.c:3494 msgid "Malformed Link" msgstr "Хибне поŃилання" #: src/bz-application.c:3495 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "ПоŃилання, за котрим бŃло відкрито цей заŃтоŃŃнок, ĐĽŃ–Ńтить хибне викориŃтання " "малих Ń– великих літер та може переŃтати працювати в майбŃтньомŃ.\n" "\n" "НайвірогідніŃою причиною може бŃти KRunner, котрий надŃилає хибні ID заŃтоŃŃнк" "ів." #: src/bz-application.c:3503 msgid "Could not find app" msgstr "Не вдалоŃŃŹ знайти заŃтоŃŃнок" #: src/bz-application.c:3534 msgid "Failed to load metainfo" msgstr "Не вдалоŃŃŹ завантажити метадані" #: src/bz-application.c:3785 msgid "Writing to cache…" msgstr "КеŃŃємо…" #: src/bz-apps-page.blp:99 msgid "Show All" msgstr "Показати вŃŃ–" #: src/bz-apps-page.c:237 #, c-format msgid "All \"%s\"" msgstr "ĐŁŃŃ– «%s»" #: src/bz-apps-page.c:487 #, c-format msgid "%d Applications" msgstr "%d заŃтоŃŃнків" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Đ’Ńтановлення пакŃнкŃ" #: src/bz-bundle-install-dialog.blp:195 msgid "Additional dependencies may take extra space" msgstr "Додаткові залежноŃті можŃть зайняти більŃе ĐĽŃ–Ńця" #: src/bz-bundle-install-dialog.blp:229 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "Đ’Ńтановлення цього заŃтоŃŃĐ˝ĐşŃ ĐĽĐľĐ¶Đµ потребŃвати додання нового джерела для зава" "нтажень. ІнŃŃ– заŃтоŃŃнки Đ· цього джерела ŃтанŃть Đ´ĐľŃŃ‚Ńпні в Базарі.\n" "\n" "Додавайте це джерело лиŃе якщо довіряєте йомŃ." #: src/bz-bundle-install-dialog.blp:406 msgid "Successfully Installed!" msgstr "ĐŁŃпіŃно вŃтановлено!" #: src/bz-bundle-install-dialog.blp:430 src/bz-bundle-install-dialog.blp:513 #: src/bz-rich-app-tile.blp:198 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "ЗапŃŃтити" #: src/bz-bundle-install-dialog.blp:440 src/bz-bundle-install-dialog.blp:523 msgid "Show App Details" msgstr "ДокладніŃе про заŃтоŃŃнок" #: src/bz-bundle-install-dialog.blp:490 msgid "Already Installed" msgstr "Вже вŃтановлені" #: src/bz-bundle-install-dialog.blp:535 msgid "Installation Failed" msgstr "Помилка вŃтановлення" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "Невідомий розмір вŃтановлення" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "Близько %s Đ´Đľ вŃтановлення" #: src/bz-bundle-install-dialog.c:185 src/context-tile-callbacks.c:104 #: src/context-tile-callbacks.c:392 src/context-tile-callbacks.c:409 msgid "N/A" msgstr "Đť/Đ”" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Без ĐľŃобливих дозволів" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f млн" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f тиŃ." #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d завантажень за ĐľŃтанній ĐĽŃ–Ńяць" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+ Ńередовище виконання %s" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "Завантажити" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Дані про розмір недоŃŃ‚Ńпні" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Розмір завантаження" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "Без обмежень" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Дані щодо вікового обмеження недоŃŃ‚Ńпні" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Без обмежень за віком" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "%d та ŃтарŃе" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:284 msgid "Unknown" msgstr "Невідомо" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Вільне ПЗ за ліцензією %s" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "Вільне ПЗ" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "ВлаŃницька ліцензія" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "ВлаŃна ліцензія: %s" #: src/context-tile-callbacks.c:281 msgid "Free" msgstr "Вільна ліцензія" #: src/context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "ВлаŃницька ліцензія" #: src/context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "ВлаŃна ліцензія" #: src/context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Đдаптивний" #: src/context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "ЛиŃе для Ńтільниць" #: src/context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Працює на Ńтільницях, планŃетах Ń– Ńмартфонах" #: src/context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "Може не працювати на мобільних приŃтроях" #: src/context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Безпечний" #: src/context-tile-callbacks.c:401 src/context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Низький ризик" #: src/context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Помірний ризик" #: src/context-tile-callbacks.c:407 msgid "High Risk" msgstr "ВиŃокий ризик" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "Порожньо" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Жодного підібраного вміŃŃ‚Ń" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "ВаŃа операційна ŃиŃтема не надає підібранoго вміŃŃ‚Ń. Ви вŃе ще можете ŃŃкати " "заŃтоŃŃнки на Flathub" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "ОглянŃти Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 msgid "Offline" msgstr "Поза мережею" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "Оглядач" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "Не підтверджено" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "ВідомоŃті щодо розробників недоŃŃ‚Ńпні" #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "Володіння ідентифікатором цього заŃтоŃŃĐ˝ĐşŃ Đ˝Đµ бŃло підтверджено. Можливо, " "цей пакŃнок бŃло вивантажено Ńпільнотою." #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "" "Володіння ідентифікатором %s бŃло підтверджено влаŃнорŃч командою Flathub." #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "" "Володіння ідентифікатором %1$s бŃло підтверджено <b>%2$s</b> Ńтаном на <b>%3%s" "</b>." #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "Володіння ідентифікатором %1$s бŃло підтверджено Đ· допомогою %2$s." #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Володіння ідентифікатором %s бŃло підтверджено." #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "Повна примітка Đ´Đľ випŃŃĐşŃ" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "" "ВипŃŃĐş цієї крамниці Ńтав можливим завдяки таким Ńамим кориŃŃ‚Ńвачам, що Ń– Ви!" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "ĐŻ люблю Ńтворювати Базар, та не ĐĽĐľĐ¶Ń Ń€ĐľĐ±Đ¸Ń‚Đ¸ це без допомоги. Підтримайте подал" "ŃŚŃŃ Ń€ĐľĐ·Ń€ĐľĐ±ĐşŃ ĐłŃ€Đ¸Đ˛Đ˝ĐµŃŽ на Ko-Fi." #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "ПожертŃвати БазарŃ" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "Що нового Ń %s?" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "ВипŃщено %-e %B %Y Ń€." #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "Оберіть вŃтановлення" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "" "Ви маєте декілька вŃтановлених верŃŃ–Đą цього заŃтоŃŃнкŃ. Đ— котрою Đ· них Ви " "бажаєте продовжити?" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:232 msgid "Cancel" msgstr "СкаŃŃвати" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "ЛиŃе для цього кориŃŃ‚Ńвача" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "цей кориŃŃ‚Ńвач" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "ŃŃŃ– кориŃŃ‚Ńвачі" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:46 msgid "Details" msgstr "ДокладніŃе" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Копіювати" #: src/bz-error-dialog.c:56 src/bz-share-list.c:363 msgid "Copied!" msgstr "Скопійовано!" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "КількіŃть Ńподобань" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "Не вдалоŃŃŹ оновити вподобані" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "Увійдіть Ń–Đ· допомогою Flathub, аби керŃвати вподобаннями" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "Увійти" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:334 msgid "Favorites" msgstr "Вподобані" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Đ’Ńтановити вŃŃ–" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "ШŃкаємо" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Нічого не вподобано" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "Вподобані заŃтоŃŃнки опинятимŃтьŃŃŹ Ń‚ŃŃ‚" #: src/bz-favorites-tile.blp:60 src/bz-installed-tile.blp:69 msgid "Support This Application" msgstr "Підтримати цей заŃтоŃŃнок" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "Прибрати Đ· Ńподобаних" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "Не вдалоŃŃŹ прибрати Đ· Ńподобаних" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "Назад" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "Далі" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "Редактори" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "MIDI" #: src/bz-flathub-category.c:95 msgid "Mixer" msgstr "МікŃŃвання" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "ĐśŃзика" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "Програвачі" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "ЗапиŃ" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "СеквенŃори" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "Тюнер" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "ТБ" # Сторінка повертає різні ігрові емŃлятори #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "ЕмŃлятори" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "Бойовики" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "Пригоди" #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "Đркади" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "Блоки" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "НаŃтільні" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "Карткові" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "Дитячі" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "Головоламки" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "Рольові" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "Стрілянки" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "СимŃлятори" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "Спортивні" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "Стратеґії" #: src/bz-flathub-category.c:124 msgid "Audio & Video" msgstr "ЗвŃĐş та відео" #: src/bz-flathub-category.c:124 msgid "Media" msgstr "Медіа" #: src/bz-flathub-category.c:124 msgid "More Audio & Video" msgstr "Показати більŃе" #: src/bz-flathub-category.c:125 msgid "Developer Tools" msgstr "Розробка" #: src/bz-flathub-category.c:125 msgid "Develop" msgstr "Розробка" #: src/bz-flathub-category.c:125 msgid "More Developer Tools" msgstr "Показати більŃе" #: src/bz-flathub-category.c:126 msgid "Education" msgstr "ĐžŃвіта" #: src/bz-flathub-category.c:126 msgid "Learn" msgstr "ĐžŃвіта" #: src/bz-flathub-category.c:126 msgid "More Education" msgstr "Показати більŃе" #: src/bz-flathub-category.c:127 msgid "Gaming" msgstr "Ігри" #: src/bz-flathub-category.c:127 msgid "Play" msgstr "Ігри" #: src/bz-flathub-category.c:127 msgid "More Gaming" msgstr "Показати більŃе" #: src/bz-flathub-category.c:128 msgid "Graphics & Photography" msgstr "Графіка та фотографія" #: src/bz-flathub-category.c:128 msgid "Create" msgstr "ТворчіŃть" #: src/bz-flathub-category.c:128 msgid "More Graphics & Photography" msgstr "Показати більŃе" #: src/bz-flathub-category.c:129 msgid "Networking" msgstr "Мережа" #: src/bz-flathub-category.c:129 msgid "Internet" msgstr "Інтернет" #: src/bz-flathub-category.c:129 msgid "More Networking" msgstr "Показати більŃе" #: src/bz-flathub-category.c:130 msgid "Productivity" msgstr "ПродŃктивніŃть" #: src/bz-flathub-category.c:130 msgid "Work" msgstr "Робота" #: src/bz-flathub-category.c:130 msgid "More Productivity" msgstr "Показати більŃе" #: src/bz-flathub-category.c:131 msgid "Science" msgstr "НаŃка" #: src/bz-flathub-category.c:131 msgid "More Science" msgstr "Показати більŃе" #: src/bz-flathub-category.c:132 msgid "System" msgstr "СиŃтема" #: src/bz-flathub-category.c:132 msgid "More System" msgstr "Показати більŃе" #: src/bz-flathub-category.c:133 msgid "Utilities" msgstr "Утиліти" #: src/bz-flathub-category.c:133 msgid "Tools" msgstr "Утиліти" #: src/bz-flathub-category.c:133 msgid "More Utilities" msgstr "Показати більŃе" #: src/bz-flathub-category.c:134 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Набирають попŃлярніŃть" #: src/bz-flathub-category.c:134 msgid "More Trending" msgstr "Показати більŃе" #: src/bz-flathub-category.c:135 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "ПопŃлярні" #: src/bz-flathub-category.c:135 msgid "More Popular" msgstr "Показати більŃе" #: src/bz-flathub-category.c:136 src/bz-flathub-page.blp:161 msgid "Recently Added" msgstr "Нещодавно додані" #: src/bz-flathub-category.c:136 src/bz-flathub-page.blp:121 msgid "New" msgstr "Нові" #: src/bz-flathub-category.c:136 msgid "More New" msgstr "Показати більŃе" #: src/bz-flathub-category.c:137 src/bz-flathub-page.blp:151 msgid "Recently Updated" msgstr "Нещодавно оновлені" #: src/bz-flathub-category.c:137 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Оновлені" #: src/bz-flathub-category.c:137 msgid "More Updated" msgstr "Показати більŃе" #: src/bz-flathub-category.c:138 msgid "Mobile" msgstr "Мобільні приŃтрої" #: src/bz-flathub-category.c:138 msgid "More Mobile" msgstr "Показати більŃе" #: src/bz-flathub-category.c:139 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:139 msgid "More Adwaita" msgstr "Показати більŃе" #: src/bz-flathub-category.c:140 msgid "KDE Apps" msgstr "ЗаŃтоŃŃнки KDE" #: src/bz-flathub-category.c:140 msgid "More KDE Apps" msgstr "Показати більŃе" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub не додано" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Сховище Flathub не бŃло знайдено на Đ¶ĐľĐ´Đ˝ĐľĐĽŃ Đ· ВаŃих вŃтановлень" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub недоŃŃ‚Ńпний" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Не вдалоŃŃŹ зʼєднатиŃŃŹ Đ· Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for applications." msgstr "Ви вŃе ще можете ŃŃкати заŃтоŃŃнки та керŃвати ними." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "ШŃкати заŃтоŃŃнки" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "ЗʼєднатиŃŃŹ знов" #: src/bz-flathub-page.blp:198 msgid "App of the Day" msgstr "ЗаŃтоŃŃнок дня" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "На ходŃ" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "ЗаŃтоŃŃнки для ВаŃих Ńмартфонів та планŃетів на Linux" #: src/bz-flathub-page.blp:284 src/bz-flathub-page.blp:319 msgid "More Mobile Apps" msgstr "Показати більŃе" #: src/bz-flathub-page.blp:375 msgid "We​ ♥​ Games" msgstr "Ми​ ♥​ ігри" #: src/bz-flathub-page.blp:388 msgid "Games and apps to run your favorite titles" msgstr "Улюблені ігри та заŃтоŃŃнки для них" #: src/bz-flathub-page.blp:422 msgid "More Games" msgstr "Показати більŃе" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Нічого не знайдено" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "СпробŃйте Ń–Đ˝Ńий запит" #: src/bz-full-view.blp:41 msgid "Content" msgstr "Đ’ĐĽŃ–ŃŃ‚" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "" "Це передпрогляд на приŃтрої; деякі дрібниці можŃть відрізнятиŃŃŹ від оприлюднен" "ої верŃŃ–Ń—" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "ПередпроглянŃти вигляд Ń ĐşŃ€Đ°ĐĽĐ˝Đ¸Ń†Ń–" #: src/bz-full-view.blp:235 msgid "_Support" msgstr "_Підтримати" #: src/bz-full-view.blp:460 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Цей заŃтоŃŃнок викориŃтовŃŃ” Ńередовище виконання, котре більŃе не отримŃŃ” " "оновлень або безпекових виправлень. Đ’Ń–Đ˝ може Ńтати небезпечним Đ´Đľ " "викориŃтання." #: src/bz-full-view.blp:548 msgid "Trash Data" msgstr "ПереміŃтити дані в Ńмітник" #: src/bz-full-view.blp:610 msgid "Add-ons" msgstr "РозŃирення" #: src/bz-full-view.blp:645 msgid "More Add-Ons" msgstr "БільŃе розŃирень" #: src/bz-full-view.blp:656 msgid "Links" msgstr "ПоŃилання" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Без URL" #: src/bz-full-view.c:199 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Цей заŃтоŃŃнок має Đ˛Ń–Đ»ŃŚĐ˝Ń Đ»Ń–Ń†ĐµĐ˝Đ·Ń–ŃŽ. Це означає, що початковий код може бŃти " "перевірено на безпечніŃть." #: src/bz-full-view.c:200 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Цей заŃтоŃŃнок має Đ˝ĐµĐ˛Ń–Đ»ŃŚĐ˝Ń (влаŃницькŃ) ліцензію. Це означає, що початковий " "код не Ń” ĐżŃблічно Đ´ĐľŃŃ‚Ńпним Ń– не може бŃти перевіреним на безпечніŃть." #: src/bz-full-view.c:207 msgid "More Apps" msgstr "БільŃе заŃтоŃŃнків" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "БільŃе від %s" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "БільŃе від розробників" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "БільŃе від %s" # Трохи довŃий переклад, аби зберегти ŃŃ‚Đ°Ń‚ĐµĐ˛Ń Đ˝ĐµĐąŃ‚Ń€Đ°Đ»ŃŚĐ˝Ń–Ńть назви Ńамого заŃтоŃŃнкŃ. #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "" "ЗаŃтоŃŃнок %s не вŃтановлено, проте він має <b>%s</b> залиŃкових даних." #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "ІнŃŃ– заŃтоŃŃнки" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d заŃтоŃŃнок" msgstr[1] "%d заŃтоŃŃнки" msgstr[2] "%d заŃтоŃŃнків" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "Не вдалоŃŃŹ видалити кориŃŃ‚Ńвацькі дані" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "Підтримка приŃтроїв" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "Підтримка клавіатŃри" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "Вимагає клавіатŃŃ€Ń" # Позначає, що заŃтоŃŃнок ліпŃе працює Đ· такими приŃтроями # Стан підтримки загалом опиŃŃєтьŃŃŹ Ń–Đ˝Ńим рядком #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "Бажана клавіатŃра" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "ПідтримŃŃ” клавіатŃŃ€Ń" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· клавіатŃрами на вказана" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "Підтримка миŃŃ–" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "Вимагає миŃŃ Đ°Đ±Đľ вказівний приŃтрій" # Позначає, що заŃтоŃŃнок ліпŃе працює Đ· такими приŃтроями # Стан підтримки загалом опиŃŃєтьŃŃŹ Ń–Đ˝Ńим рядком #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "Бажані миŃа або вказівний приŃтрій" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "ПідтримŃŃ” миŃŃ Đ°Đ±Đľ вказівний приŃтрій" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· миŃами або вказівними приŃтроями не вказана" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "Підтримка ŃенŃорних екранів" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "Вимагає ŃенŃорний екран" # Позначає, що заŃтоŃŃнок ліпŃе працює Đ· такими приŃтроями # Стан підтримки загалом опиŃŃєтьŃŃŹ Ń–Đ˝Ńим рядком #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "Бажаний ŃенŃорний екран" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "ПідтримŃŃ” ŃенŃорний екран" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· ŃенŃорними екранами на вказана" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "Підтримка мобільних приŃтроїв" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "Працює на мобільних приŃтроях" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "Обмежена підтримка на мобільних приŃтроях" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "Підтримка Ńтільниць" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "Працює добре на великих екранах" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s найліпŃе працює на певних приŃтроях" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s працює на більŃĐľŃті приŃтроїв" #: src/bz-install-controls.blp:62 msgid "_Open" msgstr "_ЗапŃŃтити" #: src/bz-install-controls.blp:77 src/bz-install-controls.blp:134 msgid "Uninstall Application" msgstr "Видалити цей заŃтоŃŃнок" #: src/bz-install-controls.blp:87 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_Видалити" #: src/bz-install-controls.blp:121 src/bz-updates-card.c:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "Оновлення" #: src/bz-install-controls.blp:144 src/bz-installed-tile.blp:105 msgid "Remove" msgstr "Видалити" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "СкаŃŃвати" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "СкаŃовŃємо" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "ШŃкати вŃтановлені заŃтоŃŃнки" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "ОчиŃтити поŃŃĐş" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Не знайдено жодного заŃтоŃŃнкŃ" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "ШŃкати в крамниці" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:112 msgid "Library" msgstr "Бібліотека" #: src/bz-library-page.blp:128 msgid "Pending Updates" msgstr "Оновлення в черзі" #: src/bz-library-page.blp:155 msgid "Downloads" msgstr "Завантажень" #: src/bz-library-page.blp:198 msgid "Recently Uninstalled" msgstr "Нещодавно видалені" #: src/bz-library-page.blp:249 msgid "Clear Finished Tasks" msgstr "ОчиŃтити заверŃені завдання" #: src/bz-library-page.blp:334 msgid "Sort By" msgstr "УпорядкŃвати за" #: src/bz-library-page.blp:348 msgid "Name" msgstr "Назва" #: src/bz-library-page.blp:354 msgid "Size" msgstr "Розмір" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "Жодного Đ·Đ±Ń–ĐłŃ Đ·Đ° «%s» Ń ĐżĐµŃ€ĐµĐ»Ń–ĐşŃ Đ˛Ńтановлених заŃтоŃŃнків" #: src/bz-library-page.c:193 src/bz-updates-card.c:433 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "ДоŃŃ‚Ńпне %u оновлення" msgstr[1] "ДоŃŃ‚Ńпні %u оновлення" msgstr[2] "ДоŃŃ‚Ńпні %u оновлень" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u вŃтановлений заŃтоŃŃнок" msgstr[1] "%u вŃтановлені заŃтоŃŃнки" msgstr[2] "%u вŃтановлених заŃтоŃŃнків" #: src/bz-license-dialog.blp:94 msgid "Get Involved" msgstr "ДолŃчитиŃŃŹ" #: src/bz-license-dialog.blp:111 msgid "Learn More" msgstr "ДізнатиŃŃŹ більŃе" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "Невідома ліцензія" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "Розроблено Ńпільнотою" # Згідно ĐżĐµŃ€ĐµĐşĐ»Đ°Đ´Ń Đ˝Đ° Flathub #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Цей заŃтоŃŃнок розробляєтьŃŃŹ Ń Đ˛Ń–Đ´ĐşŃ€Đ¸Ń‚ĐľĐĽŃ Đ´ĐľŃŃ‚Ńпі міжнародною Ńпільнотою.\n" "\n" "Ви можете долŃчитиŃŃŹ Đ´Đľ ĐżŃ€ĐľŃ”ĐşŃ‚Ń Ń‚Đ° зробити його ліпŃим." #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "Ліцензія цього заŃтоŃŃĐ˝ĐşŃ Đ˝ĐµĐ˛Ń–Đ´ĐľĐĽĐ°" # Згідно ĐżĐµŃ€ĐµĐşĐ»Đ°Đ´Ń Đ˝Đ° Flathub #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "Цей заŃтоŃŃнок розробляєтьŃŃŹ Ń Đ˛Ń–Đ´ĐşŃ€Đ¸Ń‚ĐľĐĽŃ Đ´ĐľŃŃ‚Ńпі міжнародною Ńпільнотою та " "випŃŃкаєтьŃŃŹ під %s.\n" "\n" "Ви можете долŃчитиŃŃŹ Đ´Đľ ĐżŃ€ĐľŃ”ĐşŃ‚Ń Ń‚Đ° зробити його ліпŃим." # Згідно ĐżĐµŃ€ĐµĐşĐ»Đ°Đ´Ń Đ˝Đ° Flathub #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Цей заŃтоŃŃнок не розробляєтьŃŃŹ Ń Đ˛Ń–Đ´ĐşŃ€Đ¸Ń‚ĐľĐĽŃ Đ´ĐľŃŃ‚Ńпі, Ń‚ĐľĐĽŃ Đ»Đ¸Ńе його " "розробники знають, ŃŹĐş він працює. Đ’Ń–Đ˝ може мати вразливоŃті, які важко " "виявити, Ń– може змінюватиŃŃŹ без наглядŃ.\n" "\n" "Ви можете не мати можливоŃті долŃчитиŃŃŹ Đ´Đľ проєктŃ." #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "Цей заŃтоŃŃнок розробляєтьŃŃŹ на Ńмовах влаŃної ліцензії %s.\n" "\n" "Ви можете не мати можливоŃті долŃчитиŃŃŹ Đ´Đľ проєктŃ." #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:49 msgid "License" msgstr "Ліцензія" #: src/bz-login-page.blp:5 src/bz-login-page.blp:44 msgid "Connect to Flathub" msgstr "ЗʼєднатиŃŃŹ Đ· Flathub" #: src/bz-login-page.blp:34 msgid "Something Went Wrong" msgstr "ЩоŃŃŚ трапилоŃŃŚ" #: src/bz-login-page.blp:45 msgid "Log in to sync your favorited apps across devices" msgstr "Увійдіть, аби ŃинхронізŃвати Ńподобані заŃтоŃŃнки між приŃтроями" #: src/bz-login-page.blp:112 msgid "Finish" msgstr "ЗаверŃити" #: src/bz-login-page.c:664 #, c-format msgid "Hello, %s!" msgstr "Вітаємо, %s!" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "Оберіть файл metainfo" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Файли metainfo" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Обрати піктограми (необовʼязково)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Файли зображень" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Передпрогляд" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "НалаŃŃ‚Ńвання" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "Платне зʼєднання — автоматичне ĐľŃвіження вміŃŃ‚Ń ĐşŃ€Đ°ĐĽĐ˝Đ¸Ń†Ń– призŃпинено" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:232 msgid "Refresh Manually" msgstr "ĐžŃвіжити влаŃнорŃч" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Đ’Ń–Đ´Ńіяти вміŃŃ‚" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Вільна ліцензія" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "Ховати влаŃницькі (пропрієтарні) заŃтоŃŃнки Đ· ĐľĐłĐ»ŃŹĐ´Ń Ń‚Đ° поŃŃĐşŃ" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Надходження лиŃе Đ· Flathub" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "" "Обмежити надходження Ń ĐżĐľŃŃĐşŃ Ń‚Đ° огляді лиŃе Đ´Đľ тих, що походять Đ· Flathub" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "ЛиŃе підтверджені надходження" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Ховати надходження, котрі не Ń” підтвердженими на Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Сховати ĐľŃиротілі заŃтоŃŃнки" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "" "Сховати заŃтоŃŃнки, котрі більŃе не підтримŃютьŃŃŹ влаŃними розробниками" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "Вигляд ŃĐĽŃжки поŃŃ‚ŃĐżŃ" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "Đкцентний колір" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Барви ГордоŃті" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "ЛеŃбійŃький прапор" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Барви ГордоŃті чоловічої гомоŃекŃŃальноŃті" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "ТранŃґендерний прапор" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Небінарний прапор" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "БіŃекŃŃальні барви ГордоŃті" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "ĐŃекŃŃальні барви ГордоŃті" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "ПанŃекŃŃальний прапор" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Đромантичний прапор" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Ňендерфлюїдний прапор" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "ПоліŃекŃŃальний прапор" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "ОмніŃекŃŃальний прапор" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Прапор ароейŃ" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Đґендерний прапор" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Ňендерквірний прапор" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "ІнтерŃекŃŃальний прапор" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Деміґендерний прапор" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Біромантичний прапор" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Барви НезламноŃті" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Барви ГордоŃті фембоїв" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Барви ГордоŃті нейтроїв" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:155 msgid "Version History" msgstr "ІŃторія верŃŃ–Đą" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_ІŃторія верŃŃ–Đą" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "Сьогодні" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "Учора" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d день томŃ" msgstr[1] "%d дні томŃ" msgstr[2] "%d днів томŃ" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d тиждень томŃ" msgstr[1] "%d тижні томŃ" msgstr[2] "%d тижнів томŃ" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d ĐĽŃ–Ńяць томŃ" msgstr[1] "%d ĐĽŃ–Ńяці томŃ" msgstr[2] "%d ĐĽŃ–Ńяців томŃ" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d рік томŃ" msgstr[1] "%d роки томŃ" msgstr[2] "%d років томŃ" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "ВерŃŃ–ŃŹ %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "Без подробиць" #: src/bz-releases-list.c:263 msgid "Get More Information" msgstr "ДокладніŃе про випŃŃĐş" #: src/bz-rich-app-tile.blp:217 msgid "Uninstall" msgstr "Видалити" # Сирець підказŃŃ”, що це кнопка завантаження #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:369 msgid "Get" msgstr "Завантажити" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Невідомі дозволи" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Цей заŃтоŃŃнок не має дозволів" #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "Немає дозволів" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "ЗаŃтоŃŃнок повніŃтю закритий Ń ĐżŃ–Ńочниці" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ мережі" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ мережі" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ мережі" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Не може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ мережі" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ приŃтроїв" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ таких приŃтроїв, ŃŹĐş вебкамера або ігрові контролери" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ приŃтроїв" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Не може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ таких приŃтроїв, ŃŹĐş вебкамера або ігрові контролери" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ приŃтроїв Ńведення" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ приŃтроїв Ńведення" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ ĐĽŃ–ĐşŃ€ĐľŃ„ĐľĐ˝Ń Ń‚Đ° відтворення звŃĐşŃ" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ ĐĽŃ–ĐşŃ€ĐľŃ„ĐľĐ˝Ń Ń‚Đ° програвати звŃки без додаткових запитів" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ ŃиŃтемних приŃтроїв" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ ŃиŃтемних приŃтроїв, котрі вимагають підвищених " "повноважень" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ вміŃŃ‚Ń ĐµĐşŃ€Đ°Đ˝Ń" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ вміŃŃ‚Ń Đ˝Đ° екрані та Ń–Đ˝Ńих вікон" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "ЗаŃтаріла ŃиŃтема вікон" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Завжди кориŃŃ‚ŃŃ” заŃŃ‚Đ°Ń€Ń–Đ»Ń ŃиŃŃ‚ĐµĐĽŃ Đ˛Ń–ĐşĐľĐ˝ (X11)" #: src/safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "ВлаŃні дозволи" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Може набŃвати влаŃних дозволів" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "НалаŃŃ‚Ńвання кориŃŃ‚Ńвача" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Може Đ´ĐľŃŃ‚ŃпатиŃŃŹ Đ´Đľ та правити кориŃŃ‚Ńвацькі налаŃŃ‚Ńвання" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Повний Đ´ĐľŃŃ‚ŃĐż Đ´Đľ читання та запиŃŃ Đ·/Đ´Đľ файлової ŃиŃтеми" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Може читати та запиŃŃвати бŃĐ´ŃŚ-яке ĐĽŃ–Ńце Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń–Đą ŃиŃтемі" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ читання та запиŃŃ Đ´ĐľĐĽĐ°Ńньої теки" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Може читати та запиŃŃвати бŃĐ´ŃŚ-яке ĐĽŃ–Ńце ВаŃої домаŃньої теки" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Повний Đ´ĐľŃŃ‚ŃĐż Đ´Đľ читання файлової ŃиŃтеми" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Може читати бŃĐ´ŃŚ-яке ĐĽŃ–Ńце Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń–Đą ŃиŃтемі" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ читання домаŃньої теки" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Може читати бŃĐ´ŃŚ-яке ĐĽŃ–Ńце ВаŃої домаŃньої теки" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ читання та запиŃŃ Ń‚ĐµĐşĐ¸ завантажень" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Може читати та запиŃŃвати Đ´Đľ ВаŃої теки завантажень" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "ДоŃŃ‚ŃĐż Đ´Đľ читання теки завантажень" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Може читати Đ· ВаŃої теки завантажень" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Може читати та запиŃŃвати бŃĐ´ŃŚ-яке ĐĽŃ–Ńце Ń Ń‚ĐµŃ†Ń–" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Може читати бŃĐ´ŃŚ-яке ĐĽŃ–Ńце Ń Ń‚ĐµŃ†Ń–" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ файлової ŃиŃтеми" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Не може Đ´ĐľŃŃ‚ŃпатиŃŃŹ файлової ŃиŃтеми" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "КориŃŃ‚ŃŃ” ŃиŃтемні ŃервіŃи" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Може запитŃвати дані від ŃиŃтемних ŃервіŃів Ń ĐľĐ±Ń…Ń–Đ´ порталів" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "КориŃŃ‚ŃŃ” ŃеŃійні ŃервіŃи" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Може запитŃвати дані від ŃеŃійних ŃервіŃів Ń ĐľĐ±Ń…Ń–Đ´ порталів" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "Без Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ ŃервіŃів" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Не може запитŃвати дані в обхід порталів" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "Підтверджені розробники" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "ПриналежніŃть заŃтоŃŃĐ˝ĐşŃ Đ´Đľ заявлених розробників бŃло підтверджено" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "ВлаŃницький код" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Початковий код не оприлюднено, відтак не може бŃти перевіреним та може бŃти не" "безпечним" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "ДоŃŃ‚Ńпний кодŃ" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "" "Початковий код Ń” оприлюдненим, що дозволяє перевірити його на безпечніŃть та Đ·" "більŃŃŃ” імовірніŃть, що він Ń” безпечним" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "КориŃŃ‚ŃŃ” ŃиŃтемний ŃĐµŃ€Đ˛Ń–Ń %s" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "КориŃŃ‚ŃŃ” ŃеŃійний ŃĐµŃ€Đ˛Ń–Ń %s" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "КориŃŃ‚ŃŃ” ŃĐµŃ€Đ˛Ń–Ń %s" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Може бачити ŃĐµŃ€Đ˛Ń–Ń Ń ĐľĐ±Ń…Ń–Đ´ порталŃ" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Може звʼязŃватиŃŃŹ Ń–Đ· ŃервіŃом поза порталом" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Може володіти ŃервіŃом поза порталом" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· глобальним меню" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Може показŃвати влаŃні меню на глобальній панелі" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· налаŃŃ‚Ńваннями KDE" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Може бачити зміни Ń Đ˝Đ°Đ»Đ°ŃŃ‚Ńваннях Ńтільниці KDE" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Загальні налаŃŃ‚Ńвання KDE" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Може читати деякі налаŃŃ‚Ńвання Ńтільниці KDE, ŃŹĐş-от Ńрифти та кольори" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "ĐˇĐµŃ€Đ˛Ń–Ń Ń‚Đ°Ń”ĐĽĐ˝ĐľĐłĐľ ŃховкŃ" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Може зберігати та отримŃвати влаŃні паролі Đ· допомогою ŃиŃтемної звʼязки ключі" "в" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Сповіщення" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Може надŃилати Ńтільничні Ńповіщення" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· ŃиŃтемним лотком" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Може показŃвати Ń–ĐşĐľĐ˝ĐşŃ Đ˛ ŃиŃŃ‚ĐµĐĽĐ˝ĐľĐĽŃ Đ»ĐľŃ‚ĐşŃ" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "СŃĐĽŃ–ŃніŃть Ń–Đ· KDE Connect" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "Може взаємодіяти Đ· приŃтроями, зʼєднаними через KDE Connect" #: src/bz-safety-dialog.blp:59 msgid "App ID" msgstr "ID заŃтоŃŃнкŃ" #: src/bz-safety-dialog.blp:69 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:100 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "Цей заŃтоŃŃнок кориŃŃ‚ŃŃ” заŃŃ‚Đ°Ń€Ń–Đ»Ń Đ˛ĐµŃ€ŃŃ–ŃŽ Ńередовища виконання (SDK) Ń– може " "ĐĽŃ–Ńтити помилки та/або прогалини безпеки, котрі вже не бŃĐ´Ńть полагоджені." #: src/bz-safety-dialog.c:167 msgid "Safety" msgstr "БезпечніŃть" #: src/bz-safety-dialog.c:226 #, c-format msgid "%s is Safe" msgstr "%s Ń” безпечним" #: src/bz-safety-dialog.c:231 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s не має небезпечних дозволів" #: src/bz-safety-dialog.c:236 #, c-format msgid "%s is Probably Safe" msgstr "%s радŃе безпечний" #: src/bz-safety-dialog.c:241 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s імовірно небезпечний" #: src/bz-safety-dialog.c:246 #, c-format msgid "%s is Unsafe" msgstr "%s Ń” небезпечним" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Знімки" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Попередній знімок" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "НаŃŃ‚Ńпний знімок" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Копіювати знімок" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Відновити маŃŃтаб" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Віддалити" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "Наблизити" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "КарŃŃель знімків" #: src/bz-screenshots-carousel.blp:117 msgid "Open Screenshot Viewer" msgstr "Відкрити переглядач знімків" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Đ’Ń–Đ´Ńіяти" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_Підтверджені" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_Вільні/БезкоŃтовні" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "Без _ĐľŃиротілих" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "Đ’Ń–Đ´Ńіяти ĐľŃиротілі заŃтоŃŃнки" #: src/bz-search-filter-popover.blp:57 msgid "Categories" msgstr "Категорії" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "ШŃкайте заŃтоŃŃнки, ігри та програми" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Đ’Ń–Đ´Ńіяти поŃŃĐş" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "ОчиŃтити поŃŃĐş" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "ШŃкати в категоріях" #: src/bz-search-page.blp:242 msgid "Categories Unavailable" msgstr "Категорії недоŃŃ‚Ńпні" #: src/bz-search-page.blp:243 msgid "Search for apps using the search bar above." msgstr "ШŃкайте заŃтоŃŃнки за допомогою рядка згори." #: src/bz-search-page.blp:360 msgid "No Applications Found" msgstr "Жодного підібраного заŃтоŃŃнкŃ" #: src/bz-search-page.c:247 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "Не знайдено збігів для «%s» на Flathub" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "Відео" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "ОфіŃ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "Календар" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "СпілкŃвання" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "Малювання" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Торент" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "ЕмŃлятори" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Сторінка Flathub" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "URL проєктŃ" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Đ’Ń–Đ´Ńтеження помилок" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "ЧаПи" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "Допомога" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "Пожертви" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "Переклад" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "Звʼязок" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "Початковий код" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "ДолŃчитиŃŃŹ" #: src/bz-share-list.c:325 msgid "Copy Link" msgstr "Копіювати поŃилання" # https://slovotvir.org.ua/words/taimlain #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "ЧаŃоряд" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Đ’Ńтановлень:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Світ" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "Đ’Ń–Đ´ 15 квітня 2024 Ń€." #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM вŃтановлень загалом" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK вŃтановлень загалом" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "%'d вŃтановлень загалом" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "ЛиŃити кориŃŃ‚Ńвацькі дані" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "Надає можливіŃть відновити налаŃŃ‚Ńвання та вміŃŃ‚ Ń ĐĽĐ°ĐąĐ±ŃтньомŃ" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "Видалити ŃŃŃ– дані" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "Назавжди видалити кориŃŃ‚ŃĐ˛Đ°Ń†ŃŚĐşŃ Đ´Đ°Đ˝Ń– цього заŃтоŃŃнкŃ" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "Đ’Ńтановити %s?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "" "Оберіть верŃŃ–ŃŽ Đ´Đľ вŃтановлення. Також може бŃти вŃтановлено додаткові компонен" "ти." #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "МожŃть бŃти вŃтановлені додаткові компоненти" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_СкаŃŃвати" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_Đ’Ńтановити" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "Видалити %s?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "Оберіть верŃŃ–ŃŽ Đ´Đľ видалення" #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "%s не можна бŃде кориŃтати піŃля видалення." #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "«%s» має виŃокий ризик" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Цей заŃтоŃŃнок має повний Đ´ĐľŃŃ‚ŃĐż Đ´Đľ ВаŃої ŃиŃтеми, Ń–Ńторії оглядача, збережени" "Ń… паролів, тощо. Đ’Ń–Đ˝ також має Đ´ĐľŃŃ‚ŃĐż Đ´Đľ " "мережі, що Ńтворює ĐąĐľĐĽŃ ĐĽĐľĐ¶Đ»Đ¸Đ˛Ń–Ńть надŃилати ВаŃŃ– дані Ńтороннім ĐľŃобам.\n" "\n" "ĐžŃкільки заŃтоŃŃнок Ń” закритим (влаŃницьким), то неможливо перевірити, що " "він робить Ń–Đ· цими дозволами." #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "Цей заŃтоŃŃнок кориŃŃ‚ŃŃ” заŃтарілий Ńервер керŃвання вікнами X11, що дозволяє Đ·" "аŃтоŃŃĐ˝ĐşŃ Đ·Đ°ĐżĐ¸ŃŃвати ŃŃŃ– натиŃкання клавіŃ, отримŃвати знімки екранŃ, та Ńтежи" "ти за Ń–Đ˝Ńими заŃтоŃŃнками. Đ’Ń–Đ˝ також має Đ´ĐľŃŃ‚ŃĐż Đ´Đľ " "мережі, що дає ĐąĐľĐĽŃ ĐĽĐľĐ¶Đ»Đ¸Đ˛Ń–Ńть надŃилати ВаŃŃ– дані Ńтороннім ĐľŃобам.\n" "\n" "ĐžŃкільки заŃтоŃŃнок Ń” закритим (влаŃницьким), то неможливо перевірити, що " "він робить Ń–Đ· цими дозволами." #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_Đ’Ńтановити попри це" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "Не вдалоŃŃŹ завантажити віконце операцій" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "ĐŁŃŃ– заŃтоŃŃнки вже вŃтановлені" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_Гаразд" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "Đ’Ńтановити %u заŃтоŃŃнок?" msgstr[1] "Đ’Ńтановити %u заŃтоŃŃнки?" msgstr[2] "Đ’Ńтановити %u заŃтоŃŃнків?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "" "ĐŁŃе зазначене бŃде вŃтановлено. Також може бŃти вŃтановлено додаткові компонен" "ти." #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "Đ‘Ńде вŃтановлено %d розŃирень." #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "Крім того, бŃĐ´Ńть ŃŃтановлені розŃирення." #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_Đ’Ńтановити вŃŃ–" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "ЗаверŃено за %.02f Ńек" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "РозŃирення заŃтоŃŃнків" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "Середовище виконання" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "ĐŁ черзі" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "Готово" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "СкаŃовано" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "Помилка" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "СкаŃŃвати Đ´Ń–ŃŽ" #: src/bz-transaction-tile.blp:436 msgid "Show Error Info" msgstr "ДокладніŃе про помилкŃ" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "Звільнено %s" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "Помилка Đ´Ń–Ń—" #: src/bz-transaction.c:344 msgid "Pending" msgstr "ĐŁ черзі" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "_Оновити вŃŃ–" #: src/bz-updates-card.c:211 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u оновлення Ńередовища виконання" msgstr[1] "%u оновлення Ńередовищ виконання" msgstr[2] "%u оновлень Ńередовищ виконання" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "КерŃвати залиŃковими даними" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "КориŃŃ‚Ńвацьких даних не знайдено" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "КориŃŃ‚Ńвацькі дані" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "ПереŃŃĐ˝Ńти кориŃŃ‚Ńвацькі дані Đ´Đľ Ńмітника" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "КориŃŃ‚Ńвацькі дані %s бŃло переŃŃĐ˝Ńто Đ´Đľ Ńмітника" #: src/bz-window.blp:70 msgid "Refreshing" msgstr "ĐžŃвіження" #: src/bz-window.blp:88 msgid "Curated" msgstr "Підібрані" #: src/bz-window.blp:100 msgid "Explore" msgstr "Огляд" #: src/bz-window.blp:127 msgid "Search" msgstr "ПоŃŃĐş" #: src/bz-window.blp:212 msgid "Main Menu" msgstr "Головне меню" #: src/bz-window.blp:223 msgid "You are running a new version of Bazaar!" msgstr "Ви запŃŃтили Đ˝ĐľĐ˛Ń Đ˛ĐµŃ€ŃŃ–ŃŽ БазарŃ!" #: src/bz-window.blp:224 msgid "See What's New" msgstr "Огляньте зміни" #: src/bz-window.blp:231 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "Ви маєте зʼєднання Đ· мережею, але переглядаєте кеŃĐľĐ˛Đ°Đ˝Ń Đ˛ĐµŃ€ŃŃ–ŃŽ Flathub" #: src/bz-window.blp:276 msgid "_Donate to Bazaar" msgstr "_ПожертŃвати БазарŃ" #: src/bz-window.blp:283 msgid "_Refresh" msgstr "_ĐžŃвіжити" #: src/bz-window.blp:288 msgid "_Preferences" msgstr "_НалаŃŃ‚Ńвання" #: src/bz-window.blp:293 msgid "_Login With Flathub" msgstr "_Увійти Đ· допомогою Flathub" #: src/bz-window.blp:299 msgid "_Manage Leftover User Data" msgstr "_КерŃвати залиŃковими даними" #: src/bz-window.blp:304 msgid "_Keyboard Shortcuts" msgstr "_КлавіатŃрні Ńкорочення" #: src/bz-window.blp:309 msgid "_About Bazaar" msgstr "_Про Базар" #: src/bz-window.blp:316 msgid "_Quit Bazaar" msgstr "_Вийти" #: src/bz-window.blp:341 msgid "Log Out" msgstr "Вийти" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Базар — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "Не вдалоŃŃŹ запŃŃтити заŃтоŃŃнок" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "Ви не можете видалити Базар Ń Đ‘Đ°Đ·Đ°Ń€Ń–!" #: src/bz-window.c:1127 src/bz-window.c:1161 msgid "Can't do that right now!" msgstr "Наразі цього не можна зробити!" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "Đ’Ńтановлення" msgstr[1] "Đ’Ńтановлення" msgstr[2] "Đ’Ńтановлень" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Навігація" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "Відкрити огляд" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "Відкрити бібліотекŃ" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "Відкрити вікно поŃŃĐşŃ" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "Віддалені Ńховища" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "ĐžŃвіжити віддалені Ńховища" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "Загальні" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "НалаŃŃ‚Ńвання" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Показати клавіатŃрні Ńкорочення" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Закрити вікно" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Вийти Đ· БазарŃ" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/vi.po������������������������������������������������������������������0000664�0000000�0000000�00000137575�15234476640�0016704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Vietnamese translations for bazaar package. # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # Loc Huynh <https://github.com/hthienloc>, 2025. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-02 18:34+0700\n" "PO-Revision-Date: 2025-12-10 18:23+0700\n" "Last-Translator: Loc Huynh <https://github.com/hthienloc>\n" "Language-Team: Vietnamese <https://github.com/linux-l10n-vi>\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Gtranslator 49.0\n" #: data/io.github.kolunmi.Bazaar.desktop.in:3 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:5 #: src/bz-window.blp:234 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:4 msgid "Add, remove or update flatpak software on this computer" msgstr "ThĂŞm, xĂła hoáş·c cáş­p nháş­t pháş§n má»m Flatpak trĂŞn máy tĂ­nh nĂ y" #: data/io.github.kolunmi.Bazaar.desktop.in:10 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;System;PackageManager;Discover;Flatpak;Software;Store;Trình quản lĂ˝ gĂłi; " "Khám phá; Pháş§n má»m; Cá»­a hĂ ng;" #: data/io.github.kolunmi.Bazaar.gschema.xml:6 msgid "Hide EOL Entries" msgstr "Ẩn các mục EOL" #: data/io.github.kolunmi.Bazaar.gschema.xml:7 msgid "Hide EOL entries and entries depending on them" msgstr "Ẩn các mục EOL vĂ  các mục phụ thuá»™c vĂ o chĂşng" #: data/io.github.kolunmi.Bazaar.gschema.xml:11 msgid "Show Git Forge Star Counts" msgstr "Hiá»n thị số sao trĂŞn Git Forge" #: data/io.github.kolunmi.Bazaar.gschema.xml:12 msgid "" "Whether to attempt to detect and show \"star counts\" for projects in the " "full view" msgstr "" "CĂł cố gắng phát hiện vĂ  hiá»n thị \"số sao\" cho các dá»± án trong cháşż độ xem " "chi tiáşżt hay khĂ´ng" #: data/io.github.kolunmi.Bazaar.gschema.xml:16 msgid "Only Show Free Software" msgstr "Chỉ hiá»n thị pháş§n má»m miá»…n phĂ­" #: data/io.github.kolunmi.Bazaar.gschema.xml:17 msgid "Hide proprietary software" msgstr "Ẩn pháş§n má»m độc quyá»n" #: data/io.github.kolunmi.Bazaar.gschema.xml:21 msgid "Show Only Flathub Content" msgstr "Chỉ hiá»n thị ná»™i dung Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:22 msgid "Hide applications which do not originate from Flathub" msgstr "Ẩn các ứng dụng khĂ´ng cĂł nguồn gốc từ Flathub" #: data/io.github.kolunmi.Bazaar.gschema.xml:26 msgid "Debounce Search Inputs" msgstr "Trì hoĂŁn tìm kiáşżm" #: data/io.github.kolunmi.Bazaar.gschema.xml:27 msgid "Add a delay before searching to prevent instant replies while typing" msgstr "ThĂŞm độ trá»… trước khi tìm kiáşżm đỠtránh phản hồi tức thì khi Ä‘ang gõ" #: data/io.github.kolunmi.Bazaar.gschema.xml:51 msgid "Global Progress Bar Theme" msgstr "Chá»§ đỠthanh tiáşżn trình toĂ n cục" #: data/io.github.kolunmi.Bazaar.gschema.xml:52 msgid "Describes the look of the global progress bar" msgstr "MĂ´ tả giao diện cá»§a thanh tiáşżn trình toĂ n cục" #: data/io.github.kolunmi.Bazaar.gschema.xml:56 msgid "Saved Window Dimensions" msgstr "KĂ­ch thước cá»­a sổ đã lưu" #: data/io.github.kolunmi.Bazaar.gschema.xml:57 msgid "The window dimensions to be used by the next Bazaar window" msgstr "KĂ­ch thước cá»­a sổ sáş˝ được sá»­ dụng cho cá»­a sổ Bazaar tiáşżp theo" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install applications" msgstr "Khám phá vĂ  cĂ i đặt ứng dụng" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A new app store for GNOME with a focus on discovering and installing " "applications and addons from Flatpak remotes, particularly Flathub." msgstr "" "Má»™t cá»­a hĂ ng ứng dụng má»›i cho GNOME táş­p trung vĂ o việc khám phá vĂ  cĂ i đặt " "ứng dụng cĂąng tiện Ă­ch mở rá»™ng từ các remote Flatpak, đặc biệt lĂ  Flathub." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:14 msgid "" "It emphasizes supporting the developers who make the Linux desktop possible. " "Bazaar features a \"curated\" tab that can be configured by distributors to " "allow for a more localized experience." msgstr "" "NĂł nhấn mạnh việc há»— trợ các nhĂ  phát triá»n lĂ m nĂŞn mĂ´i trường desktop " "Linux. Bazaar cĂł tab \"chọn lọc\" cĂł thỠđược nhĂ  phân phối cấu hình đỠmang " "lại trải nghiệm địa phương hĂła tốt hơn." #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:29 src/bz-application.c:661 msgid "Adam Masciola" msgstr "Adam Masciola" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:54 msgid "The home page displaying Flathub apps" msgstr "Trang chá»§ hiá»n thị các ứng dụng Flathub" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:58 msgid "Nucleus app page" msgstr "Trang ứng dụng Nucleus" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:62 msgid "Search page" msgstr "Trang tìm kiáşżm" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:66 msgid "Category page" msgstr "Trang danh mục" #: src/bz-addons-dialog.blp:14 src/bz-full-view.blp:668 msgid "Manage Add-ons" msgstr "Quản lĂ˝ tiện Ă­ch mở rá»™ng" #: src/bz-addons-dialog.c:90 src/bz-full-view.blp:505 #: src/bz-transaction-view.blp:212 src/bz-window.c:1125 msgid "Remove" msgstr "Gỡ bỏ" #: src/bz-addons-dialog.c:95 src/bz-full-view.blp:277 src/bz-full-view.blp:492 #: src/bz-transaction-view.blp:186 src/bz-window.c:1102 msgid "Install" msgstr "CĂ i đặt" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:50 #: src/bz-full-view.c:385 src/bz-full-view.c:392 msgid "Age Rating" msgstr "Xáşżp hạng độ tuổi" #: src/bz-age-rating-dialog.blp:40 src/bz-age-rating-dialog.c:790 msgid "?" msgstr "?" #: src/bz-age-rating-dialog.c:139 msgid "Cartoon Violence" msgstr "Bạo lá»±c hoạt hình" #: src/bz-age-rating-dialog.c:140 msgid "No information regarding cartoon violence" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» bạo lá»±c hoạt hình" #: src/bz-age-rating-dialog.c:143 msgid "Fantasy Violence" msgstr "Bạo lá»±c giả tưởng" #: src/bz-age-rating-dialog.c:144 msgid "No information regarding fantasy violence" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» bạo lá»±c giả tưởng" #: src/bz-age-rating-dialog.c:147 msgid "Realistic Violence" msgstr "Bạo lá»±c thá»±c táşż" #: src/bz-age-rating-dialog.c:148 msgid "No information regarding realistic violence" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» bạo lá»±c thá»±c táşż" #: src/bz-age-rating-dialog.c:151 msgid "Violence Depicting Bloodshed" msgstr "Bạo lá»±c cĂł máu" #: src/bz-age-rating-dialog.c:152 msgid "No information regarding bloodshed" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» cảnh đổ máu" #: src/bz-age-rating-dialog.c:155 msgid "Sexual Violence" msgstr "Bạo lá»±c tình dục" #: src/bz-age-rating-dialog.c:156 msgid "No information regarding sexual violence" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» bạo lá»±c tình dục" #: src/bz-age-rating-dialog.c:159 msgid "Alcohol" msgstr "Rượu bia" #: src/bz-age-rating-dialog.c:160 msgid "No information regarding references to alcohol" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến rượu bia" #: src/bz-age-rating-dialog.c:163 msgid "Narcotics" msgstr "Ma tĂşy" #: src/bz-age-rating-dialog.c:164 msgid "No information regarding references to illicit drugs" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến ma tĂşy" #: src/bz-age-rating-dialog.c:167 msgid "Tobacco" msgstr "Thuốc lá" #: src/bz-age-rating-dialog.c:168 msgid "No information regarding references to tobacco products" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến sản pháş©m thuốc lá" #: src/bz-age-rating-dialog.c:171 src/bz-age-rating-dialog.c:358 msgid "Nudity" msgstr "Khỏa thân" #: src/bz-age-rating-dialog.c:172 msgid "No information regarding nudity of any sort" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» cảnh khỏa thân" #: src/bz-age-rating-dialog.c:175 msgid "Sexual Themes" msgstr "Chá»§ đỠtình dục" #: src/bz-age-rating-dialog.c:176 msgid "No information regarding references to or depictions of sexual nature" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p hoáş·c mĂ´ tả tĂ­nh chất tình dục" #: src/bz-age-rating-dialog.c:179 msgid "Profanity" msgstr "NgĂ´n từ thĂ´ tục" #: src/bz-age-rating-dialog.c:180 msgid "No information regarding profanity of any kind" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» ngĂ´n từ thĂ´ tục" #: src/bz-age-rating-dialog.c:183 msgid "Inappropriate Humor" msgstr "HĂ i khĂ´ng phĂą hợp" #: src/bz-age-rating-dialog.c:184 msgid "No information regarding inappropriate humor" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» hĂ i khĂ´ng phĂą hợp" #: src/bz-age-rating-dialog.c:187 msgid "Discrimination" msgstr "Kỳ thị" #: src/bz-age-rating-dialog.c:188 msgid "No information regarding discriminatory language of any kind" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» ngĂ´n ngữ kỳ thị" #: src/bz-age-rating-dialog.c:191 msgid "Advertising" msgstr "Quảng cáo" #: src/bz-age-rating-dialog.c:192 msgid "No information regarding advertising of any kind" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» quảng cáo" #: src/bz-age-rating-dialog.c:195 msgid "Gambling" msgstr "Cờ bạc" #: src/bz-age-rating-dialog.c:196 msgid "No information regarding gambling of any kind" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» cờ bạc" #: src/bz-age-rating-dialog.c:199 msgid "Purchasing" msgstr "Mua hĂ ng" #: src/bz-age-rating-dialog.c:200 msgid "No information regarding the ability to spend money" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» khả nÄng chi tiĂŞu tiá»n" #: src/bz-age-rating-dialog.c:203 msgid "Chat Between Users" msgstr "Trò chuyện giữa người dĂąng" #: src/bz-age-rating-dialog.c:204 msgid "No information regarding ways to chat with other users" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» cách trò chuyện vá»›i người dĂąng khác" #: src/bz-age-rating-dialog.c:207 msgid "Audio Chat Between Users" msgstr "Trò chuyện âm thanh giữa người dĂąng" #: src/bz-age-rating-dialog.c:208 msgid "No information regarding ways to talk with other users" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» cách nĂłi chuyện vá»›i người dĂąng khác" #: src/bz-age-rating-dialog.c:211 msgid "Contact Details" msgstr "ThĂ´ng tin liĂŞn hệ" #: src/bz-age-rating-dialog.c:212 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "" "KhĂ´ng cĂł thĂ´ng tin vá» việc chia sáş» tĂŞn người dĂąng mạng xĂŁ há»™i hoáş·c địa chỉ " "email" #: src/bz-age-rating-dialog.c:215 msgid "Identifying Information" msgstr "ThĂ´ng tin nháş­n dạng" #: src/bz-age-rating-dialog.c:216 msgid "No information regarding sharing of user information with third parties" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» việc chia sáş» thĂ´ng tin người dĂąng vá»›i bĂŞn thứ ba" #: src/bz-age-rating-dialog.c:219 msgid "Location Sharing" msgstr "Chia sáş» vị trĂ­" #: src/bz-age-rating-dialog.c:220 msgid "No information regarding sharing of physical location with other users" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» việc chia sáş» vị trĂ­ thá»±c vá»›i người dĂąng khác" #: src/bz-age-rating-dialog.c:223 msgid "Prostitution" msgstr "Mại dâm" #: src/bz-age-rating-dialog.c:224 msgid "No information regarding references to prostitution" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến mại dâm" #: src/bz-age-rating-dialog.c:227 msgid "Adultery" msgstr "Ngoại tình" #: src/bz-age-rating-dialog.c:228 msgid "No information regarding references to adultery" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến ngoại tình" #: src/bz-age-rating-dialog.c:231 msgid "Sexualized Characters" msgstr "Nhân váş­t tình dục hĂła" #: src/bz-age-rating-dialog.c:232 msgid "No information regarding sexualized characters" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» nhân váş­t tình dục hĂła" #: src/bz-age-rating-dialog.c:235 msgid "Desecration" msgstr "Báng bổ" #: src/bz-age-rating-dialog.c:236 msgid "No information regarding references to desecration" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến báng bổ" #: src/bz-age-rating-dialog.c:239 msgid "Human Remains" msgstr "Xác người" #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "KhĂ´ng cĂł thĂ´ng tin vá» hiá»n thị xác người cháşżt" #: src/bz-age-rating-dialog.c:243 msgid "Slavery" msgstr "NĂ´ lệ" #: src/bz-age-rating-dialog.c:244 msgid "No information regarding references to slavery" msgstr "KhĂ´ng cĂł thĂ´ng tin vỠđỠcáş­p đến cháşż độ nĂ´ lệ" #: src/bz-age-rating-dialog.c:307 msgid "Does not include references to drugs" msgstr "KhĂ´ng đỠcáş­p đến ma tĂşy" #: src/bz-age-rating-dialog.c:309 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "KhĂ´ng chứa chá»­i thá», ngĂ´n từ thĂ´ tục vĂ  các loại ngĂ´n ngữ mạnh khác" #: src/bz-age-rating-dialog.c:311 msgid "Does not include ads or monetary transactions" msgstr "KhĂ´ng chứa quảng cáo hoáş·c giao dịch tiá»n tệ" #: src/bz-age-rating-dialog.c:313 msgid "Does not include sex or nudity" msgstr "KhĂ´ng chứa tình dục hoáş·c khỏa thân" #: src/bz-age-rating-dialog.c:315 msgid "Does not include uncontrolled chat functionality" msgstr "KhĂ´ng cĂł chức nÄng trò chuyện khĂ´ng kiá»m soát" #: src/bz-age-rating-dialog.c:317 msgid "Does not include violence" msgstr "KhĂ´ng chứa bạo lá»±c" #: src/bz-age-rating-dialog.c:352 msgid "Drugs" msgstr "Ma tĂşy" #: src/bz-age-rating-dialog.c:354 msgid "Strong Language" msgstr "NgĂ´n ngữ mạnh" #: src/bz-age-rating-dialog.c:356 msgid "Money" msgstr "Tiá»n bạc" #: src/bz-age-rating-dialog.c:360 msgid "Social" msgstr "XĂŁ há»™i" #: src/bz-age-rating-dialog.c:362 msgid "Violence" msgstr "Bạo lá»±c" #: src/bz-age-rating-dialog.c:564 #, c-format msgid "%s • %s" msgstr "%s • %s" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:752 src/bz-full-view.c:375 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:782 msgctxt "Age rating" msgid "All" msgstr "Mọi lứa tuổi" #: src/bz-age-rating-dialog.c:846 #, c-format msgid "%s has an unknown age rating" msgstr "%s cĂł xáşżp hạng độ tuổi khĂ´ng xác định" #: src/bz-age-rating-dialog.c:854 #, c-format msgid "%s is suitable for everyone" msgstr "%s phĂą hợp vá»›i mọi người" #: src/bz-age-rating-dialog.c:857 #, c-format msgid "%s is suitable for toddlers" msgstr "%s phĂą hợp vá»›i tráş» máş«u giáo" #: src/bz-age-rating-dialog.c:860 #, c-format msgid "%s is suitable for young children" msgstr "%s phĂą hợp vá»›i tráş» nhỏ" #: src/bz-age-rating-dialog.c:863 #, c-format msgid "%s is suitable for children" msgstr "%s phĂą hợp vá»›i tráş» em" #: src/bz-age-rating-dialog.c:866 #, c-format msgid "%s is suitable for teenagers" msgstr "%s phĂą hợp vá»›i thiáşżu niĂŞn" #: src/bz-age-rating-dialog.c:869 #, c-format msgid "%s is suitable for adults" msgstr "%s phĂą hợp vá»›i người lá»›n" #: src/bz-age-rating-dialog.c:872 #, c-format msgid "%s is suitable for %s" msgstr "%s phĂą hợp vá»›i %s" #: src/bz-app-size-dialog.blp:43 msgid "--- MB" msgstr "--- MB" #: src/bz-app-size-dialog.blp:53 msgid "Download Size" msgstr "KĂ­ch thước tải vá»" #: src/bz-app-size-dialog.c:55 msgid "Of the size of human DNA" msgstr "KĂ­ch thước cá»§a DNA người" #: src/bz-app-size-dialog.c:55 msgid "3 billion base pairs" msgstr "3 tá»· cáş·p base" #: src/bz-app-size-dialog.c:56 msgid "Of the Linux Kernel" msgstr "KĂ­ch thước cá»§a Linux Kernel" #: src/bz-app-size-dialog.c:56 msgid "linux-6.17.tar.xz" msgstr "linux-6.17.tar.xz" #: src/bz-app-size-dialog.c:57 msgid "Of the Apollo 11 guidance computer" msgstr "KĂ­ch thước cá»§a máy tĂ­nh dáş«n đường Apollo 11" #: src/bz-app-size-dialog.c:57 msgid "Total ROM and RAM" msgstr "Tổng ROM vĂ  RAM" #: src/bz-app-size-dialog.c:58 msgid "Of the original Super Mario Bros" msgstr "KĂ­ch thước cá»§a Super Mario Bros gốc" #: src/bz-app-size-dialog.c:58 msgid "On the NES" msgstr "TrĂŞn NES" #: src/bz-app-size-dialog.c:59 msgid "Of the size of Wikipedia" msgstr "KĂ­ch thước cá»§a Wikipedia" #: src/bz-app-size-dialog.c:59 msgid "Without any media" msgstr "KhĂ´ng cĂł media" #: src/bz-application.c:556 msgid "" "This functionality is currently disabled. It is recommended you download and " "install Flatseal to manage app permissions." msgstr "" "Chức nÄng nĂ y hiện bị tắt. Khuyáşżn nghị bạn tải vĂ  cĂ i Flatseal đỠquản lĂ˝ " "quyá»n ứng dụng." #: src/bz-application.c:638 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:639 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:664 msgid "translator-credits" msgstr "Loc Huynh <huynhloc.contact@gmail.com>, 2025" #: src/bz-application.c:788 msgid "Performing setup..." msgstr "Äang thá»±c hiện thiáşżt láş­p..." #: src/bz-application.c:817 src/bz-application.c:826 msgid "Set Up Flathub" msgstr "Thiáşżt láş­p Flathub" #: src/bz-application.c:820 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub chưa được thiáşżt láş­p trĂŞn hệ thống nĂ y. Bạn sáş˝ khĂ´ng thá» duyệt vĂ  cĂ i " "đặt ứng dụng trong Bazaar náşżu nĂł khĂ´ng khả dụng.\n" "\n" "Bạn váş«n cĂł thá» dĂąng Bazaar đỠduyệt vĂ  gỡ bỏ các ứng dụng đã cĂ i." #: src/bz-application.c:825 src/bz-update-dialog.blp:6 msgid "Later" msgstr "Äá» sau" #: src/bz-application.c:1225 msgid "Synchronizing..." msgstr "Äang đồng bá»™ hĂła..." #: src/bz-application.c:1364 #, c-format msgid "Receiving %d entries..." msgstr "Äang nháş­n %d mục..." #: src/bz-application.c:1369 msgid "Checking for updates..." msgstr "Äang kiá»m tra cáş­p nháş­t..." #: src/bz-curated-view.blp:11 src/bz-flathub-page.blp:19 #: src/bz-full-view.blp:54 src/bz-installed-page.blp:15 src/bz-window.blp:183 msgid "Empty" msgstr "Trống" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "KhĂ´ng cĂł lá»±a chọn" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "KhĂ´ng cĂł thĂ´ng tin chọn lọc trĂŞn hệ thống nĂ y. Bạn váş«n cĂł thá» duyệt ứng dụng " "trĂŞn Flathub" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Duyệt Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "Ngoại tuyáşżn" #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:40 msgid "Browser" msgstr "Trình duyệt" #: src/bz-developer-badge.c:131 msgid "Developer information not available." msgstr "ThĂ´ng tin nhĂ  phát triá»n khĂ´ng khả dụng." #: src/bz-developer-badge.c:137 src/bz-developer-badge.c:151 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "" "Quyá»n sở hữu ID ứng dụng %s chưa được xác minh vĂ  cĂł thá» lĂ  gĂłi cá»™ng đồng." #: src/bz-developer-badge.c:155 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "Quyá»n sở hữu ID ứng dụng %s đã được đội ngĹ© Flathub xác minh thá»§ cĂ´ng." #: src/bz-developer-badge.c:161 #, c-format msgid "" "The ownership of the %s app ID has been verified by <b>%s</b> on <b>%s</b>." msgstr "Quyá»n sở hữu ID ứng dụng %s đã được <b>%s</b> xác minh trĂŞn <b>%s</b>." #: src/bz-developer-badge.c:168 #, c-format msgid "The ownership of the %s app ID has been verified using %s." msgstr "Quyá»n sở hữu ID ứng dụng %s đã được xác minh báş±ng %s." #: src/bz-developer-badge.c:172 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "Quyá»n sở hữu ID ứng dụng %s đã được xác minh." #: src/bz-entry-inspector.blp:5 msgid "Entry Inspector" msgstr "Trình kiá»m tra mục" #: src/bz-entry-inspector.blp:76 msgid "Serialize" msgstr "Chuyá»n thĂ nh chuá»—i" #: src/bz-entry-inspector.blp:80 msgid "Convert to JSON" msgstr "Chuyá»n sang JSON" #: src/error.c:68 msgid "An Error Occurred" msgstr "ÄĂŁ xảy ra lá»—i" #: src/error.c:89 msgid "Close" msgstr "ÄĂłng" #: src/error.c:90 msgid "Copy and Close" msgstr "Sao chĂ©p vĂ  đóng" #: src/bz-featured-tile.blp:88 msgid "App of the Day" msgstr "Ứng dụng cá»§a ngĂ y" #: src/bz-flathub-category.c:78 msgid "Audio & Video" msgstr "Ă‚m thanh & Video" #: src/bz-flathub-category.c:78 msgid "Media" msgstr "Äa phương tiện" #: src/bz-flathub-category.c:78 msgid "More Audio & Video" msgstr "ThĂŞm Ă‚m thanh & Video" #: src/bz-flathub-category.c:79 msgid "Developer Tools" msgstr "CĂ´ng cụ phát triá»n" #: src/bz-flathub-category.c:79 msgid "Develop" msgstr "Phát triá»n" #: src/bz-flathub-category.c:79 msgid "More Developer Tools" msgstr "ThĂŞm CĂ´ng cụ phát triá»n" #: src/bz-flathub-category.c:80 msgid "Education" msgstr "Giáo dục" #: src/bz-flathub-category.c:80 msgid "Learn" msgstr "Học táş­p" #: src/bz-flathub-category.c:80 msgid "More Education" msgstr "ThĂŞm Giáo dục" #: src/bz-flathub-category.c:81 msgid "Gaming" msgstr "Trò chơi" #: src/bz-flathub-category.c:81 msgid "Play" msgstr "Chơi" #: src/bz-flathub-category.c:81 msgid "More Gaming" msgstr "ThĂŞm Trò chơi" #: src/bz-flathub-category.c:82 msgid "Graphics & Photography" msgstr "Äồ họa & Nhiáşżp ảnh" #: src/bz-flathub-category.c:82 msgid "Create" msgstr "Sáng tạo" #: src/bz-flathub-category.c:82 msgid "More Graphics & Photography" msgstr "ThĂŞm Äồ họa & Nhiáşżp ảnh" #: src/bz-flathub-category.c:83 msgid "Networking" msgstr "Mạng" #: src/bz-flathub-category.c:83 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:83 msgid "More Networking" msgstr "ThĂŞm Mạng" #: src/bz-flathub-category.c:84 msgid "Productivity" msgstr "NÄng suất" #: src/bz-flathub-category.c:84 msgid "Work" msgstr "CĂ´ng việc" #: src/bz-flathub-category.c:84 msgid "More Productivity" msgstr "ThĂŞm NÄng suất" #: src/bz-flathub-category.c:85 msgid "Science" msgstr "Khoa học" #: src/bz-flathub-category.c:85 msgid "More Science" msgstr "ThĂŞm Khoa học" #: src/bz-flathub-category.c:86 msgid "System" msgstr "Hệ thống" #: src/bz-flathub-category.c:86 msgid "More System" msgstr "ThĂŞm Hệ thống" #: src/bz-flathub-category.c:87 msgid "Utilities" msgstr "Tiện Ă­ch" #: src/bz-flathub-category.c:87 msgid "Tools" msgstr "CĂ´ng cụ" #: src/bz-flathub-category.c:87 msgid "More Utilities" msgstr "ThĂŞm Tiện Ă­ch" #: src/bz-flathub-category.c:88 src/bz-flathub-page.blp:110 #: src/bz-flathub-page.blp:143 msgid "Trending" msgstr "Thịnh hĂ nh" #: src/bz-flathub-category.c:88 msgid "More Trending" msgstr "ThĂŞm Thịnh hĂ nh" #: src/bz-flathub-category.c:89 src/bz-flathub-page.blp:116 #: src/bz-flathub-page.blp:176 msgid "Popular" msgstr "Phổ biáşżn" #: src/bz-flathub-category.c:89 msgid "More Popular" msgstr "ThĂŞm Phổ biáşżn" #: src/bz-flathub-category.c:90 src/bz-flathub-page.blp:165 msgid "Recently Added" msgstr "Má»›i thĂŞm gáş§n đây" #: src/bz-flathub-category.c:90 src/bz-flathub-page.blp:122 msgid "New" msgstr "Má»›i" #: src/bz-flathub-category.c:90 msgid "More New" msgstr "ThĂŞm Má»›i" #: src/bz-flathub-category.c:91 src/bz-flathub-page.blp:154 msgid "Recently Updated" msgstr "Má»›i cáş­p nháş­t gáş§n đây" #: src/bz-flathub-category.c:91 src/bz-flathub-page.blp:128 msgid "Updated" msgstr "ÄĂŁ cáş­p nháş­t" #: src/bz-flathub-category.c:91 msgid "More Updated" msgstr "ThĂŞm ÄĂŁ cáş­p nháş­t" #: src/bz-flathub-category.c:92 msgid "Mobile" msgstr "Di động" #: src/bz-flathub-category.c:92 msgid "More Mobile" msgstr "ThĂŞm Di động" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub chưa được thĂŞm" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "Remote Flathub khĂ´ng được tìm thấy trong bất kỳ cĂ i đặt Flatpak nĂ o" #: src/bz-flathub-page.blp:48 msgid "Flathub Unavailable" msgstr "Flathub khĂ´ng khả dụng" #: src/bz-flathub-page.blp:49 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "" "KhĂ´ng thá» káşżt nối đến Flathub. Bạn váş«n cĂł thá» quản lĂ˝ vĂ  tìm kiáşżm ứng dụng." #: src/bz-flathub-page.blp:52 msgid "Search Apps" msgstr "Tìm kiáşżm ứng dụng" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "Di động" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "Ứng dụng cho Ä‘iện thoại vĂ  máy tĂ­nh bảng Linux" #: src/bz-flathub-page.blp:284 msgid "More Mobile Apps" msgstr "ThĂŞm Ứng dụng di động" #: src/bz-flathub-page.blp:319 msgid "More Mobile apps" msgstr "ThĂŞm ứng dụng di động" #: src/bz-flathub-page.blp:379 msgid "We ♥ Games" msgstr "We ♥ Games" #: src/bz-flathub-page.blp:392 msgid "Games and apps to run your favorite titles" msgstr "Trò chơi vĂ  ứng dụng đỠchạy các tá»±a game yĂŞu thĂ­ch" #: src/bz-flathub-page.blp:426 msgid "More Games" msgstr "ThĂŞm Trò chơi" #: src/bz-flatpak-entry.c:574 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Trang Flathub" #: src/bz-flatpak-entry.c:595 msgctxt "Project URL Type" msgid "Project Website" msgstr "Trang web dá»± án" #: src/bz-flatpak-entry.c:599 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "Theo dõi lá»—i" #: src/bz-flatpak-entry.c:603 msgctxt "Project URL Type" msgid "FAQ" msgstr "Câu hỏi thường gáş·p" #: src/bz-flatpak-entry.c:607 msgctxt "Project URL Type" msgid "Help" msgstr "Trợ giĂşp" #: src/bz-flatpak-entry.c:611 msgctxt "Project URL Type" msgid "Donate" msgstr "QuyĂŞn gĂłp" #: src/bz-flatpak-entry.c:617 msgctxt "Project URL Type" msgid "Translate" msgstr "Dịch thuáş­t" #: src/bz-flatpak-entry.c:621 msgctxt "Project URL Type" msgid "Contact" msgstr "LiĂŞn hệ" #: src/bz-flatpak-entry.c:625 msgctxt "Project URL Type" msgid "Source Code" msgstr "MĂŁ nguồn" #: src/bz-flatpak-entry.c:631 msgctxt "Project URL Type" msgid "Contribute" msgstr "ÄĂłng gĂłp" #: src/bz-full-view.blp:21 src/bz-window.blp:126 src/bz-window.blp:380 msgid "Toggle transaction sidebar" msgstr "Báş­t/tắt thanh bĂŞn giao dịch" #: src/bz-full-view.blp:44 src/bz-window.blp:403 msgid "Main Menu" msgstr "Menu chĂ­nh" #: src/bz-full-view.blp:58 msgid "No Results" msgstr "KhĂ´ng cĂł káşżt quả" #: src/bz-full-view.blp:59 msgid "Try a different search query" msgstr "Thá»­ truy vấn tìm kiáşżm khác" #: src/bz-full-view.blp:65 src/bz-window.blp:193 msgid "Content" msgstr "Ná»™i dung" #: src/bz-full-view.blp:211 msgid "Support" msgstr "Há»— trợ" #: src/bz-full-view.blp:231 msgid "Repository Star Count" msgstr "Số sao kho lưu trữ" #: src/bz-full-view.blp:261 src/bz-full-view.blp:516 msgid "Open" msgstr "Mở" #: src/bz-full-view.blp:274 src/bz-full-view.blp:489 msgid "Download & Install Application" msgstr "Tải xuống & cĂ i đặt ứng dụng" #: src/bz-full-view.blp:289 msgid "Uninstall Application" msgstr "Gỡ cĂ i đặt ứng dụng" #: src/bz-full-view.blp:304 src/bz-full-view.blp:531 msgid "Install Other Version" msgstr "CĂ i đặt phiĂŞn bản khác" #: src/bz-full-view.blp:328 msgid "Size" msgstr "KĂ­ch thước" #: src/bz-full-view.blp:433 msgid "Downloads /mo" msgstr "Lượt tải/tháng" #: src/bz-full-view.blp:550 msgid "Stopped Receiving Core Updates" msgstr "Ngừng nháş­n cáş­p nháş­t lõi" #: src/bz-full-view.blp:564 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "Ứng dụng nĂ y dĂąng runtime khĂ´ng còn nháş­n cáş­p nháş­t hoáş·c vá bảo máş­t. CĂł thá» " "trở nĂŞn khĂ´ng an toĂ n khi sá»­ dụng." #: src/bz-full-view.blp:735 msgid "Tags:" msgstr "Tháş»:" #: src/bz-full-view.c:301 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-full-view.c:308 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-full-view.c:315 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-full-view.c:325 #, c-format msgid "%d downloads in the last 30 days" msgstr "%d lượt tải trong 30 ngĂ y qua" #: src/bz-full-view.c:357 #, c-format msgid "Download size of %s" msgstr "KĂ­ch thước tải vá» %s" #: src/bz-full-view.c:390 msgid "All Ages" msgstr "Mọi lứa tuổi" #: src/bz-full-view.c:402 msgid "Age rating information unavailable" msgstr "ThĂ´ng tin xáşżp hạng độ tuổi khĂ´ng khả dụng" #: src/bz-full-view.c:407 msgid "Suitable for all ages" msgstr "PhĂą hợp vá»›i mọi lứa tuổi" #: src/bz-full-view.c:409 #, c-format msgid "Suitable for ages %d and up" msgstr "PhĂą hợp từ %d tuổi trở lĂŞn" #: src/bz-full-view.c:440 msgid "Unknown" msgstr "KhĂ´ng xác định" #: src/bz-full-view.c:443 msgid "Proprietary Software" msgstr "Pháş§n má»m độc quyá»n" #: src/bz-full-view.c:447 #, c-format msgid "Free software licensed under %s" msgstr "Pháş§n má»m miá»…n phĂ­ theo giấy phĂ©p %s" #: src/bz-full-view.c:455 msgid "Free" msgstr "Miá»…n phĂ­" #: src/bz-full-view.c:455 src/bz-license-dialog.blp:135 msgid "Proprietary" msgstr "Äá»™c quyá»n" #: src/bz-full-view.c:475 msgid "Adaptive" msgstr "ThĂ­ch ứng" #: src/bz-full-view.c:475 msgid "Desktop Only" msgstr "Chỉ máy tĂ­nh đỠbĂ n" #: src/bz-full-view.c:481 msgid "Works on desktop, tablets, and phones" msgstr "Hoạt động trĂŞn máy tĂ­nh đỠbĂ n, máy tĂ­nh bảng vĂ  Ä‘iện thoại" #: src/bz-full-view.c:482 msgid "May not work on mobile devices" msgstr "CĂł thá» khĂ´ng hoạt động tốt trĂŞn thiáşżt bị di động" #: src/bz-full-view.c:493 msgid "No URL" msgstr "KhĂ´ng cĂł URL" #: src/bz-full-view.c:511 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Ứng dụng nĂ y cĂł giấy phĂ©p FLOSS, nghÄ©a lĂ  mĂŁ nguồn cĂł thỠđược kiá»m tra đỠ" "đảm bảo an toĂ n." #: src/bz-full-view.c:512 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "Ứng dụng nĂ y cĂł giấy phĂ©p độc quyá»n, nghÄ©a lĂ  mĂŁ nguồn được phát triá»n riĂŞng " "tư vĂ  khĂ´ng thỠđược kiá»m tra bởi bĂŞn thứ ba độc láş­p." #: src/bz-full-view.c:519 msgid "More Apps" msgstr "ThĂŞm Ứng dụng" #: src/bz-full-view.c:520 #, c-format msgid "More Apps by %s" msgstr "ThĂŞm Ứng dụng từ %s" #: src/bz-full-view.c:527 msgid "Other Apps by this Developer" msgstr "Ứng dụng khác từ nhĂ  phát triá»n nĂ y" #: src/bz-full-view.c:529 src/bz-full-view.c:629 #, c-format msgid "Other Apps by %s" msgstr "Ứng dụng khác từ %s" #: src/bz-full-view.c:631 msgid "Other Apps" msgstr "Ứng dụng khác" #: src/bz-full-view.c:633 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d ứng dụng" #: src/bz-full-view.c:972 msgid "Show Less" msgstr "Thu gọn" #: src/bz-full-view.c:972 msgid "Show More" msgstr "Hiện thĂŞm" #: src/bz-hardware-support-dialog.blp:6 src/bz-hardware-support-dialog.blp:47 msgid "Hardware Support" msgstr "Há»— trợ pháş§n cứng" #: src/bz-hardware-support-dialog.c:69 msgid "Keyboard support" msgstr "Há»— trợ bĂ n phĂ­m" #: src/bz-hardware-support-dialog.c:71 msgid "Requires keyboards" msgstr "YĂŞu cáş§u bĂ n phĂ­m" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends keyboards" msgstr "Khuyáşżn nghị bĂ n phĂ­m" #: src/bz-hardware-support-dialog.c:73 msgid "Supports keyboards" msgstr "Há»— trợ bĂ n phĂ­m" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for keyboards" msgstr "Há»— trợ bĂ n phĂ­m khĂ´ng xác định" #: src/bz-hardware-support-dialog.c:76 msgid "Mouse support" msgstr "Há»— trợ chuá»™t" #: src/bz-hardware-support-dialog.c:78 msgid "Requires mice or pointing devices" msgstr "YĂŞu cáş§u chuá»™t hoáş·c thiáşżt bị trỏ" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends mice or pointing devices" msgstr "Khuyáşżn nghị chuá»™t hoáş·c thiáşżt bị trỏ" #: src/bz-hardware-support-dialog.c:80 msgid "Supports mice or pointing devices" msgstr "Há»— trợ chuá»™t hoáş·c thiáşżt bị trỏ" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for mice or pointing devices" msgstr "Há»— trợ chuá»™t hoáş·c thiáşżt bị trỏ khĂ´ng xác định" #: src/bz-hardware-support-dialog.c:83 msgid "Touchscreen support" msgstr "Há»— trợ mĂ n hình cảm ứng" #: src/bz-hardware-support-dialog.c:85 msgid "Requires touchscreens" msgstr "YĂŞu cáş§u mĂ n hình cảm ứng" #: src/bz-hardware-support-dialog.c:86 msgid "Recommends touchscreens" msgstr "Khuyáşżn nghị mĂ n hình cảm ứng" #: src/bz-hardware-support-dialog.c:87 msgid "Supports touchscreens" msgstr "Há»— trợ mĂ n hình cảm ứng" #: src/bz-hardware-support-dialog.c:88 msgid "Unknown support for touchscreens" msgstr "Há»— trợ mĂ n hình cảm ứng khĂ´ng xác định" #: src/bz-hardware-support-dialog.c:192 msgid "Mobile support" msgstr "Há»— trợ di động" #: src/bz-hardware-support-dialog.c:193 msgid "Works on mobile devices" msgstr "Hoạt động trĂŞn thiáşżt bị di động" #: src/bz-hardware-support-dialog.c:193 msgid "May not work well on mobile devices" msgstr "CĂł thá» khĂ´ng hoạt động tốt trĂŞn thiáşżt bị di động" #: src/bz-hardware-support-dialog.c:198 msgid "Desktop support" msgstr "Há»— trợ máy tĂ­nh đỠbĂ n" #: src/bz-hardware-support-dialog.c:199 msgid "Works well on large screens" msgstr "Hoạt động tốt trĂŞn mĂ n hình lá»›n" #: src/bz-hardware-support-dialog.c:233 #, c-format msgid "%s works best on specific hardware" msgstr "%s hoạt động tốt nhất trĂŞn pháş§n cứng cụ thá»" #: src/bz-hardware-support-dialog.c:240 #, c-format msgid "%s works on most devices" msgstr "%s hoạt động trĂŞn háş§u háşżt thiáşżt bị" #: src/bz-inspector.blp:5 msgid "Bazaar Inspector" msgstr "Trình kiá»m tra Bazaar" #: src/bz-inspector.blp:33 msgid "Background Task Info:" msgstr "ThĂ´ng tin tác vụ ná»n:" #: src/bz-inspector.blp:43 msgid "Enable Global Debug Mode" msgstr "Báş­t cháşż độ gỡ lá»—i toĂ n cục" #: src/bz-inspector.blp:50 msgid "Active Blocklists" msgstr "Danh sách cháş·n hoạt động" #: src/bz-inspector.blp:67 msgid "Active Curated-Configs" msgstr "Cấu hình chọn lọc hoạt động" #: src/bz-inspector.blp:85 msgid "All Entry Groups" msgstr "Tất cả nhĂłm mục" #: src/bz-inspector.blp:93 msgid "Filter..." msgstr "Lọc..." #: src/bz-inspector.blp:134 msgid "Decache and Inspect" msgstr "XĂła bá»™ đệm vĂ  kiá»m tra" #: src/bz-installed-page.blp:19 msgid "No Flatpaks Installed" msgstr "Chưa cĂ i Flatpak nĂ o" #: src/bz-installed-page.blp:25 src/bz-window.blp:298 msgid "Installed" msgstr "ÄĂŁ cĂ i đặt" #: src/bz-installed-page.c:395 msgid "Choose an Installation" msgstr "Chọn cĂ i đặt" #: src/bz-installed-page.c:398 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with? " msgstr "" "Bạn đã cĂ i nhiá»u phiĂŞn bản cá»§a ứng dụng nĂ y. Bạn muốn tiáşżp tục vá»›i phiĂŞn bản " "nĂ o? " #: src/bz-installed-page.c:402 src/bz-window.c:1101 src/bz-window.c:1124 msgid "Cancel" msgstr "Há»§y" #: src/bz-license-dialog.blp:77 msgid "Community Built" msgstr "Do cá»™ng đồng xây dá»±ng" #: src/bz-license-dialog.blp:176 msgid "Get Involved" msgstr "Tham gia" #: src/bz-license-dialog.c:115 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may not be able to contribute to this app." msgstr "" "Ứng dụng nĂ y khĂ´ng được phát triá»n cĂ´ng khai, chỉ nhĂ  phát triá»n biáşżt cách " "nĂł hoạt động. CĂł thá» khĂ´ng an toĂ n theo cách khĂł phát hiện vĂ  cĂł thá» thay " "đổi mĂ  khĂ´ng được giám sát.\n" "\n" "Bạn cĂł thá» khĂ´ng đóng gĂłp được cho ứng dụng nĂ y." #: src/bz-license-dialog.c:124 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "Ứng dụng nĂ y được cá»™ng đồng quốc táşż phát triá»n cĂ´ng khai.\n" "\n" "Bạn cĂł thá» tham gia vĂ  giĂşp nĂł tốt hơn." #: src/bz-license-dialog.c:135 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the <a href=\"%s\">%s</a> license.\n" "\n" "You can participate and help make it even better." msgstr "" "Ứng dụng nĂ y được cá»™ng đồng quốc táşż phát triá»n cĂ´ng khai vĂ  phát hĂ nh theo " "giấy phĂ©p <a href=\"%s\">%s</a>.\n" "\n" "Bạn cĂł thá» tham gia vĂ  giĂşp nĂł tốt hơn." #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "TĂąy chỉnh" #: src/bz-preferences-dialog.blp:23 msgid "Content Filters" msgstr "Bá»™ lọc ná»™i dung" #: src/bz-preferences-dialog.blp:26 msgid "Free Software Only" msgstr "Chỉ pháş§n má»m miá»…n phĂ­" #: src/bz-preferences-dialog.blp:27 msgid "Hide proprietary applications when browsing and searching" msgstr "Ẩn ứng dụng độc quyá»n khi duyệt vĂ  tìm kiáşżm" #: src/bz-preferences-dialog.blp:31 msgid "Flathub Results Only" msgstr "Chỉ káşżt quả Flathub" #: src/bz-preferences-dialog.blp:32 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "Giá»›i hạn káşżt quả tìm kiáşżm vĂ  duyệt chỉ ở ứng dụng cĂł trĂŞn Flathub" #: src/bz-preferences-dialog.blp:36 msgid "Hide EOL Apps" msgstr "Ẩn ứng dụng EOL" #: src/bz-preferences-dialog.blp:37 msgid "Hide apps which are no longer supported by their developers" msgstr "Ẩn ứng dụng khĂ´ng còn được nhĂ  phát triá»n há»— trợ" #: src/bz-preferences-dialog.blp:42 src/bz-window.blp:313 msgid "Search" msgstr "Tìm kiáşżm" #: src/bz-preferences-dialog.blp:45 msgid "Delay Search Results" msgstr "Trì hoĂŁn káşżt quả tìm kiáşżm" #: src/bz-preferences-dialog.blp:46 msgid "Improve results performance by debouncing search terms" msgstr "Cải thiện hiệu suất káşżt quả báş±ng cách trì hoĂŁn từ khĂła tìm kiáşżm" #: src/bz-preferences-dialog.blp:51 msgid "Application Details" msgstr "Chi tiáşżt ứng dụng" #: src/bz-preferences-dialog.blp:54 msgid "Display Star Count" msgstr "Hiá»n thị số sao" #: src/bz-preferences-dialog.blp:55 msgid "Show the star count of an application's source code repository" msgstr "Hiá»n thị số sao cá»§a kho mĂŁ nguồn ứng dụng" #: src/bz-preferences-dialog.blp:80 msgid "Progress Bar" msgstr "Thanh tiáşżn trình" #: src/bz-preferences-dialog.blp:81 msgid "Choose a theme for the progress bar!" msgstr "Chọn chá»§ đỠcho thanh tiáşżn trình!" #: src/bz-preferences-dialog.blp:116 msgid "" "Bazaar can fetch and display the star count from an application's source " "code repository on a remote Git forge. \n" " For projects on GitHub, rate limits may cause them not to appear." msgstr "" "Bazaar cĂł thá» lấy vĂ  hiá»n thị số sao từ kho mĂŁ nguồn ứng dụng trĂŞn git forge " "từ xa.\n" "Äối vá»›i dá»± án trĂŞn GitHub, giá»›i hạn tốc độ cĂł thá» khiáşżn chĂşng khĂ´ng xuất " "hiện." #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "MĂ u nổi báş­t" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "MĂ u cờ LGBT+" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "MĂ u cờ Lesbian" #: src/bz-preferences-dialog.c:35 msgid "Transgender Pride Colors" msgstr "MĂ u cờ Transgender" #: src/bz-preferences-dialog.c:36 msgid "Nonbinary Pride Colors" msgstr "MĂ u cờ Nonbinary" #: src/bz-preferences-dialog.c:37 msgid "Bisexual Pride Colors" msgstr "MĂ u cờ Bisexual" #: src/bz-preferences-dialog.c:38 msgid "Asexual Pride Colors" msgstr "MĂ u cờ Asexual" #: src/bz-preferences-dialog.c:39 msgid "Pansexual Pride Colors" msgstr "MĂ u cờ Pansexual" #: src/bz-preferences-dialog.c:40 msgid "Aromantic Pride Colors" msgstr "MĂ u cờ Aromantic" #: src/bz-preferences-dialog.c:41 msgid "Genderfluid Pride Colors" msgstr "MĂ u cờ Genderfluid" #: src/bz-preferences-dialog.c:42 msgid "Polysexual Pride Colors" msgstr "MĂ u cờ Polysexual" #: src/bz-preferences-dialog.c:43 msgid "Omnisexual Pride Colors" msgstr "MĂ u cờ Omnisexual" #: src/bz-preferences-dialog.c:44 msgid "Aroace Pride Colors" msgstr "MĂ u cờ Aroace" #: src/bz-preferences-dialog.c:45 msgid "Agender Pride Colors" msgstr "MĂ u cờ Agender" #: src/bz-preferences-dialog.c:46 msgid "Genderqueer Pride Colors" msgstr "MĂ u cờ Genderqueer" #: src/bz-preferences-dialog.c:47 msgid "Intersex Pride Colors" msgstr "MĂ u cờ Intersex" #: src/bz-preferences-dialog.c:48 msgid "Demigender Pride Colors" msgstr "MĂ u cờ Demigender" #: src/bz-preferences-dialog.c:49 msgid "Biromantic Pride Colors" msgstr "MĂ u cờ Biromantic" #: src/bz-releases-dialog.blp:5 src/bz-releases-list.blp:26 msgid "Version History" msgstr "Lịch sá»­ phiĂŞn bản" #: src/bz-releases-list.c:128 #, c-format msgid "Version %s" msgstr "PhiĂŞn bản %s" #: src/bz-releases-list.c:153 msgid "No details for this release" msgstr "KhĂ´ng cĂł chi tiáşżt cho bản phát hĂ nh nĂ y" #: src/bz-rich-app-tile.blp:137 msgid "Stopped Receiving Updates" msgstr "Ngừng nháş­n cáş­p nháş­t" #: src/bz-rich-app-tile.blp:154 msgid "Get" msgstr "Tải" #: src/bz-search-widget.blp:105 msgid "Search Apps, Games, Software" msgstr "Tìm kiáşżm ứng dụng, trò chơi, pháş§n má»m" #: src/bz-search-widget.blp:149 msgid "Categories Unavailable" msgstr "Danh mục khĂ´ng khả dụng" #: src/bz-search-widget.blp:150 msgid "Search for apps using the search bar above." msgstr "Tìm kiáşżm ứng dụng báş±ng thanh tìm kiáşżm phĂ­a trĂŞn." #: src/bz-search-widget.blp:234 msgid "No Applications Found" msgstr "KhĂ´ng tìm thấy ứng dụng" #: src/bz-search-widget.c:241 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "KhĂ´ng tìm thấy káşżt quả cho \"%s\" trĂŞn Flathub" #: src/bz-share-list.c:64 msgid "Copied!" msgstr "ÄĂŁ sao chĂ©p!" #: src/bz-share-list.c:116 msgid "Copy Link" msgstr "Sao chĂ©p liĂŞn káşżt" #: src/bz-share-list.c:127 msgid "Open Link" msgstr "Mở liĂŞn káşżt" #: src/bz-stats-dialog.blp:28 msgid "Timeline" msgstr "Dòng thời gian" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "CĂ i đặt:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Tháşż giá»›i" #: src/bz-tag-list.c:96 msgid "No Results Found" msgstr "KhĂ´ng tìm thấy káşżt quả" #: src/bz-tag-list.c:108 #, c-format msgid "Apps Tagged \"%s\"" msgstr "Ứng dụng cĂł tháş» \"%s\"" #: src/bz-tag-list.c:109 #, c-format msgid "%d Applications" msgstr "%d ứng dụng" #: src/bz-tag-list.c:124 msgid "Search failed" msgstr "Tìm kiáşżm thất bại" #: src/bz-transaction-manager.c:1132 #, c-format msgid "Finished in %.02f seconds" msgstr "HoĂ n thĂ nh trong %.02f giây" #: src/bz-transaction-view.blp:94 msgid "App Add-on" msgstr "Tiện Ă­ch mở rá»™ng ứng dụng" #: src/bz-transaction-view.blp:119 msgid "Runtime" msgstr "Runtime" #: src/bz-transaction-view.blp:145 src/bz-transaction-view.blp:171 msgid "Install Size" msgstr "KĂ­ch thước cĂ i đặt" #: src/bz-transaction-view.blp:199 src/bz-window.blp:346 msgid "Update" msgstr "Cáş­p nháş­t" #: src/bz-transaction-view.c:139 #, c-format msgid "Transferred %s so far" msgstr "ÄĂŁ truyá»n %s" #: src/bz-transaction.c:336 msgid "Pending" msgstr "Äang chờ" #: src/bz-update-dialog.blp:7 msgid "Install Now" msgstr "CĂ i đặt ngay" #: src/bz-update-dialog.blp:10 msgid "Updates Are Available" msgstr "CĂł bản cáş­p nháş­t" #: src/bz-update-dialog.blp:11 msgid "" "The following applications are eligible for updates. Would you like to " "install them?" msgstr "" "Các ứng dụng sau đủ Ä‘iá»u kiện cáş­p nháş­t. Bạn cĂł muốn cĂ i đặt chĂşng khĂ´ng?" #: src/bz-update-dialog.c:134 #, c-format msgid "" "%d runtimes and/or addons are eligible for updates. Would you like to " "install them?" msgstr "" "%d runtime vĂ /hoáş·c tiện Ă­ch mở rá»™ng đủ Ä‘iá»u kiện cáş­p nháş­t. Bạn cĂł muốn cĂ i " "đặt chĂşng khĂ´ng?" #: src/bz-update-dialog.c:142 #, c-format msgid "Additionally, %d runtimes and/or addons will be updated." msgstr "NgoĂ i ra, %d runtime vĂ /hoáş·c tiện Ă­ch mở rá»™ng sáş˝ được cáş­p nháş­t." #: src/bz-window.blp:66 msgid "Inspect UI Entry" msgstr "Kiá»m tra mục giao diện" #: src/bz-window.blp:73 msgid "All Debug Actions" msgstr "Tất cả hĂ nh động gỡ lá»—i" #: src/bz-window.blp:107 msgid "Tasks" msgstr "Tác vụ" #: src/bz-window.blp:163 msgid "Stop Active Tasks" msgstr "Dừng tác vụ Ä‘ang chạy" #: src/bz-window.blp:171 msgid "Clear History" msgstr "XĂła lịch sá»­" #: src/bz-window.blp:187 msgid "No Tasks Yet" msgstr "Chưa cĂł tác vụ" #: src/bz-window.blp:258 msgid "Refreshing Store Content" msgstr "Äang lĂ m má»›i ná»™i dung cá»­a hĂ ng" #: src/bz-window.blp:273 msgid "Curated" msgstr "Chọn lọc" #: src/bz-window.blp:286 msgid "Flathub" msgstr "Flathub" #: src/bz-window.blp:330 msgid "Sync" msgstr "Äồng bá»™" #: src/bz-window.blp:466 msgid "_Donate to Bazaar ❤️" msgstr "_QuyĂŞn gĂłp cho Bazaar ❤️" #: src/bz-window.blp:473 msgid "_Preferences" msgstr "_TĂąy chỉnh" #: src/bz-window.blp:478 msgid "_Keyboard Shortcuts" msgstr "_PhĂ­m tắt" #: src/bz-window.blp:483 msgid "_About Bazaar" msgstr "_Giá»›i thiệu Bazaar" #: src/bz-window.blp:490 msgid "_Quit Bazaar" msgstr "Thoát _Bazaar" #: src/bz-window.blp:499 msgid "Open Bazaar Inspector" msgstr "Mở Trình kiá»m tra Bazaar" #: src/bz-window.c:844 msgid "" "The ability to inspect and install local .flatpak bundle files is coming " "soon! In the meantime, try running\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "on the command line." msgstr "" "Khả nÄng kiá»m tra vĂ  cĂ i đặt táş­p tin .flatpak bundle cục bá»™ sáş˝ sá»›m cĂł! Trong " "lĂşc chờ đợi, hĂŁy thá»­ chạy\n" "\n" "flatpak install --bundle your-bundle.flatpak\n" "\n" "trĂŞn dòng lệnh." #: src/bz-window.c:966 msgid "Can't do that right now!" msgstr "Hiện khĂ´ng thá» thá»±c hiện!" #: src/bz-window.c:1095 #, c-format msgid "Install %s?" msgstr "CĂ i đặt %s?" #: src/bz-window.c:1098 msgid "May install additional shared components" msgstr "CĂł thá» cĂ i đặt thĂŞm thĂ nh pháş§n chia sáş»" #: src/bz-window.c:1117 #, c-format msgid "Remove %s?" msgstr "Gỡ bỏ %s?" #: src/bz-window.c:1121 #, c-format msgid "" "It will not be possible to use %s after it is uninstalled.\n" "\n" "Settings and user data will be kept." msgstr "" "Sáş˝ khĂ´ng thá» sá»­ dụng %s sau khi gỡ bỏ.\n" "\n" "CĂ i đặt vĂ  dữ liệu người dĂąng sáş˝ được giữ lại." #: src/bz-window.c:1286 msgid "Resume Current Tasks" msgstr "Tiáşżp tục tác vụ hiện tại" #: src/bz-window.c:1292 msgid "Pause Current Tasks" msgstr "Tạm dừng tác vụ hiện tại" #: src/bz-world-map.c:523 #, c-format msgid "%s: %'u downloads" msgstr "%s: %'u lượt tải" #: src/gtk/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "Chung" #: src/gtk/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Dialog" msgstr "Mở há»™p thoại tìm kiáşżm" #: src/gtk/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Mở tĂąy chỉnh" #: src/gtk/shortcuts-dialog.blp:19 msgctxt "shortcut window" msgid "Refresh" msgstr "LĂ m má»›i" #: src/gtk/shortcuts-dialog.blp:24 msgctxt "shortcut window" msgid "Toggle Transaction Manager" msgstr "Báş­t/tắt quản lĂ˝ giao dịch" #: src/gtk/shortcuts-dialog.blp:29 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Hiá»n thị phĂ­m tắt" #: src/gtk/shortcuts-dialog.blp:34 msgctxt "shortcut window" msgid "Quit" msgstr "Thoát" �����������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/zh_CN.po���������������������������������������������������������������0000664�0000000�0000000�00000254575�15234476640�0017267�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # <>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-05-06 14:13+0800\n" "PO-Revision-Date: 2026-05-09 19:20+0800\n" "Last-Translator: <>\n" "Language-Team: Abkhazian\n" "Language: ab\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Gtranslator 50.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:45 #: src/bz-window.c:374 src/bz-window.c:375 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "添加ă€ĺŤ¸č˝˝ĺ’Ść›´ć–°ć­¤ç”µč„‘上的 Flatpak 软件" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "新窗口" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and manage applications" msgstr "发现和管ç†ĺş”用" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and addons, particularly from Flathub." msgstr "" "一款专为 Linux 设计的快速且现代的应用商店,致力于从 Flatpak 远程仓库ďĽç‰ąĺ«ćŻ " "Flathub)中发现并安装应用程序及插件。" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "排éźĺ®‰čŁ…ĺ¤šä¸Şç¨‹ĺşŹďĽŚĺŚć—¶ç»§ç»­ćµŹč§" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "轻松地检查应用ćťé™" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "登录 Flathub 以管ç†ć”¶č—Źéˇąç›®" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "直接从GNOME Shell中ćśç´˘ĺş”用" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:30 src/bz-application.c:758 msgid "The Bazaar Contributors" msgstr "Bazaar 的贡献者们" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "展示 Flathub 应用程序的主页" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "展示应用页面" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "ĺş“" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "ćśç´˘éˇµ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "ĺ†ç±»éˇµ" #: src/bz-addon-tile.blp:49 src/bz-installed-tile.blp:64 #: src/bz-rich-app-tile.blp:140 msgid "Stopped Receiving Updates" msgstr "ĺść­˘ćŽĄć”¶ć›´ć–°" #: src/bz-addon-tile.c:155 src/bz-favorites-tile.c:157 #: src/bz-rich-app-tile.blp:172 msgid "Uninstall" msgstr "卸载" #: src/bz-addon-tile.c:157 src/bz-favorites-tile.c:159 msgid "Install" msgstr "安装" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-full-view.blp:606 #: src/bz-installed-tile.blp:101 msgid "Manage Add-Ons" msgstr "管ç†é™„加组件" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "无可č§é™„加组件" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "您当前的过滤ĺŹĺĄ˝č®ľç˝®éšč—Źäş†ć‰€ćś‰ĺ·˛çźĄçš„附加组件。请尝试č°ć•´ĺ®ä»¬ă€‚" #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "附加组件" #: src/bz-addons-dialog.blp:202 src/bz-full-view.blp:404 msgid "Downloads/Month" msgstr "次下载/ćś" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:440 msgid "Stopped Receiving Core Updates" msgstr "ĺść­˘ćŽĄć”¶ć ¸ĺżć›´ć–°" #: src/bz-addons-dialog.blp:243 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "此应用使用的čżčˇŚć—¶çŽŻĺ˘ĺ·˛ä¸Ťĺ†ŤćŽĄć”¶ć›´ć–°ć–安全修复,继续使用可č˝ĺ­ĺś¨ĺ®‰ĺ…¨éšć‚Ł" #: src/bz-addons-dialog.c:330 #, c-format msgid "Add-on for %s" msgstr "%s 的附加组件" #: src/bz-addons-dialog.c:344 src/bz-full-view.c:568 msgid "Show Less" msgstr "ćľç¤şć›´ĺ°‘" #: src/bz-addons-dialog.c:344 src/bz-full-view.c:568 msgid "Show More" msgstr "ćľç¤şć›´ĺ¤š" #: src/bz-addons-dialog.c:394 msgid "Download Stats" msgstr "下载状ć€" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "ĺą´éľ„ĺ†çş§" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "卡通暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "无卡通暴力相关信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "ĺą»ćłćš´ĺŠ›" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "无关于幻ćłćš´ĺŠ›çš„äżˇćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "写实暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "无关于写实暴力的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "暴力描ç»ćµčˇ€ĺśşéť˘" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "无关于血腥的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "性暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "无关于性暴力的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "酒精" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "无关于酒精的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "毒ĺ“" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "无使用非法药物的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "çźčŤ‰" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "无关于çźčŤ‰äş§ĺ“的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "裸露" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "无任何种类的裸体信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "性主é˘" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "无关于ćŹĺŹŠĺ’ŚćŹŹç»ć€§çš„信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "脏话" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "不ĺ«ä»»ä˝•种类的脏话信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "不适当幽é»" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "无关于不当幽é»çš„信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "歧视" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "无关于歧视语言的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "广告" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "无任任何广告信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "赌博" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "无任何赌博内容" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "č´­äą°" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "无关于花钱č˝ĺŠ›çš„äżˇćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "用ć·é—´äş¤ćµ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "无关于与其他用ć·ć–‡ĺ­—交ćµć–ąĺĽŹçš„信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "用ć·č§čŻ­éźłäş¤ćµ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "无关于与其他用ć·čŻ­éźłäş¤ćµć–ąĺĽŹçš„信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "č”系详ć…" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "未ćŹäľ›ćś‰ĺ…łĺ†äş«ç¤ľäş¤ĺŞ’ä˝“ç”¨ć·ĺŤć–电ĺ­é‚®ä»¶ĺś°ĺť€çš„信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "识ĺ«äżˇćŻ" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "未ćŹäľ›ä¸Žç¬¬ä¸‰ć–ąĺ…±äş«ç”¨ć·äżˇćŻçš„相关信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "位置共享" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "未ćŹäľ›ä¸Žĺ…¶ä»–用ć·ĺ…±äş«ç‰©ç†ä˝Ťç˝®çš„信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "卖淫" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "未ćŹĺŹŠćś‰ĺ…łĺŤ–ć·«çš„äżˇćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "通奸" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "没有关于通奸相关信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "性化角色" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "未ćŹäľ›ćś‰ĺ…łć€§ĺŚ–č§’č‰˛çš„äżˇćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "亵渎" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "没有关于亵渎行为的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "äşşç±»é—骸" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "没有关于可č§çš„äşşç±»é—骸的信ćŻ" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "奴隶ĺ¶" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "不ĺ«ćŹĺŹŠĺĄ´éš¶ĺ¶çš„信ćŻ" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "不包括对毒ĺ“çš„ćŹĺŹŠ" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "不包括咒骂ă€č„ŹčŻťĺŹŠĺ…¶ä»–ç±»ĺž‹çš„ĺĽşç言辞" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "不包括广告ć–č´§ĺ¸äş¤ć“" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "不包ĺ«ć€§ĺ†…容ć–裸露镜头" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "不包ĺ«ä¸ŤĺŹ—ćŽ§ĺ¶çš„čŠĺ¤©ĺŠźč˝" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "不包ĺ«ćš´ĺŠ›" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "药ĺ“" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "粗俗语言" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "金钱" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "社交" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "暴力" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "所有" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s 的年龄ĺ†çş§ćśŞçźĄ" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s 适ĺ所有人" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s 适ĺ幼儿使用" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s 适ĺ儿童" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s 适ĺéť’ĺ°‘ĺą´" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s 适ĺć人用ć·" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s 适ĺ %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "系统文件夹 %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "用ć·ä¸»ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "主机系统文件夹" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "主机系统配置来自 /etc" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "桌面ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "桌面文件夹" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "文档ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "文档文件夹" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "éźłäąĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "éźłäąć–‡ä»¶ĺ¤ą" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "图片ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "图片文件夹" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "公共共享ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "公共共享文件夹" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "视频ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "视频文件夹" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "模板ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "模板文件夹" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "用ć·çĽ“ĺ­ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "用ć·çĽ“ĺ­ć–‡ä»¶ĺ¤ą" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "用ć·é…Ťç˝®ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "用ć·é…Ťç˝®ć–‡ä»¶ĺ¤ą" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "用ć·ć•°ćŤ®ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "用ć·ć•°ćŤ®ć–‡ä»¶ĺ¤ą" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "用ć·čżčˇŚć—¶ĺ­ć–‡ä»¶ĺ¤ą %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "用ć·čżčˇŚć—¶ć–‡ä»¶ĺ¤ą" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "对 %s 的文件系统访问" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "未知文件系统路径" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:52 msgid "Download Size" msgstr "下载大小" #: src/bz-app-size-dialog.blp:53 msgid "Amount to download from the internet" msgstr "从互č”网下载的大小" #: src/bz-app-size-dialog.blp:73 msgid "Installed Size" msgstr "已安装占用" #: src/bz-app-size-dialog.blp:74 msgid "Size on Disk" msgstr "硬ç›ĺŤ ç”¨" #: src/bz-app-size-dialog.blp:121 msgid "Open user data folder" msgstr "打开用ć·ć•°ćŤ®ć–‡ä»¶ĺ¤ą" #: src/bz-app-size-dialog.blp:131 msgid "User Data Size" msgstr "用ć·ć•°ćŤ®ĺ¤§ĺ°Ź" #: src/bz-app-size-dialog.blp:132 msgid "Caches, settings, and other app data" msgstr "缓ĺ­ă€č®ľç˝®ĺ’Śĺ…¶ä»–应用数据" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "已安装čżčˇŚć—¶ĺŤ ç”¨" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "čżčˇŚć—¶ä¸‹č˝˝ĺ¤§ĺ°Ź" #: src/bz-app-size-dialog.c:204 msgid "App Size" msgstr "应用大小" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:104 src/bz-rich-app-tile.c:304 msgid "Verified" msgstr "已验čŻ" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "已安装" #: src/bz-application.c:737 msgctxt "About Dialog Developer Credit" msgid "Adam Masciola <kolunmi@posteo.net>" msgstr "Adam Masciola <kolunmi@posteo.net>" #: src/bz-application.c:738 msgctxt "About Dialog Developer Credit" msgid "Alexander Vanhee" msgstr "Alexander Vanhee" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:761 msgid "translator-credits" msgstr "Shinsei <shinsei@anche.no>, 2025" #: src/bz-application.c:771 msgid "Special Thanks" msgstr "特ĺ«ć„źč°˘" #: src/bz-application.c:829 msgid "Logged Out Successfully!" msgstr "登出ć功ďĽ" #: src/bz-application.c:968 msgid "Performing setup…" msgstr "正在执行设置..." #: src/bz-application.c:1054 msgid "Set Up System Flathub?" msgstr "在系统配置 Flathub?" #: src/bz-application.c:1057 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "未设置 Flathub 远程仓库。Bazaar 需č¦ĺś¨çł»ç»ź Flatpak 安装中配置 Flathub 才č˝ćµŹ" "č§ĺ’Śĺ®‰čŁ…ĺş”ç”¨ç¨‹ĺşŹă€‚\n" "\n" "您仍然可以使用 Bazaar 来浏č§ĺ’Śç§»é™¤ĺ·˛ĺ®‰čŁ…çš„ĺş”ç”¨ă€‚" #: src/bz-application.c:1064 msgid "Set Up Flathub?" msgstr "注册 Flathub?" #: src/bz-application.c:1067 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "此系统未设置 Flathub。如果 Flathub 不可用,您将无法在 Bazaar 中浏č§ĺ’Śĺ®‰čŁ…ĺş”ç”¨" "程序。\n" "\n" "您仍可使用 Bazaar 浏č§ĺ’ŚĺŤ¸č˝˝ĺ·˛ĺ®‰čŁ…çš„ĺş”ç”¨ç¨‹ĺşŹă€‚" #: src/bz-application.c:1073 msgid "Later" msgstr "稍ĺŽ" #: src/bz-application.c:1074 msgid "Set Up Flathub" msgstr "注册 Flathub" #: src/bz-application.c:1291 src/bz-application.c:1778 msgid "Checking for updates…" msgstr "正在检查更新" #: src/bz-application.c:1411 msgid "A backend error occurred" msgstr "ĺŽç«ŻĺŹ‘ç”źé”™čŻŻ" #: src/bz-application.c:1611 src/bz-application.c:3655 src/bz-window.blp:69 msgid "Refreshing…" msgstr "正在ĺ·ć–°â€¦â€¦" #: src/bz-application.c:1775 src/bz-application.c:3653 #, c-format msgid "Loading %d apps…" msgstr "正在加载 %d 应用" #: src/bz-application.c:1833 msgid "Failed to open file" msgstr "文件打开文件失败" #: src/bz-application.c:1918 msgid "An initialization error occurred" msgstr "一个ĺťĺ§‹ĺŚ–é”™čŻŻĺŹ‘ç”źäş†" #: src/bz-application.c:2339 msgid "Failed to check for updates" msgstr "无法检查更新" #: src/bz-application.c:3373 msgid "Could not find app" msgstr "无法找ĺ°ĺş”用" #: src/bz-application.c:3406 msgid "Failed to load metainfo" msgstr "无法加载ĺ…信ćŻ" #: src/bz-application.c:3657 msgid "Writing to cache…" msgstr "正在写入缓ĺ­" #: src/bz-apps-page.blp:86 msgid "Show All" msgstr "展示所有" #: src/bz-apps-page.c:229 #, c-format msgid "All \"%s\"" msgstr "所有 \"%s\"" #: src/bz-apps-page.c:478 src/bz-tag-list.c:91 #, c-format msgid "%d Applications" msgstr "%d 个应用" #: src/bz-appstream-parser.c:303 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub 页面" #: src/bz-appstream-parser.c:324 msgctxt "Project URL Type" msgid "Project Website" msgstr "项目网站" #: src/bz-appstream-parser.c:328 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "é—®é˘čż˝č¸Şĺ™¨" #: src/bz-appstream-parser.c:332 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-appstream-parser.c:336 msgctxt "Project URL Type" msgid "Help" msgstr "帮助" #: src/bz-appstream-parser.c:340 msgctxt "Project URL Type" msgid "Donate" msgstr "ćŤĺŠ©" #: src/bz-appstream-parser.c:346 msgctxt "Project URL Type" msgid "Translate" msgstr "翻译" #: src/bz-appstream-parser.c:350 msgctxt "Project URL Type" msgid "Contact" msgstr "č”çł»" #: src/bz-appstream-parser.c:354 msgctxt "Project URL Type" msgid "Source Code" msgstr "ćşä»Łç " #: src/bz-appstream-parser.c:360 msgctxt "Project URL Type" msgid "Contribute" msgstr "贡献" #: src/bz-bundle-install-dialog.c:240 msgid "Installing" msgstr "正在安装" #: src/bz-bundle-install-dialog.c:254 msgid "Installed!" msgstr "已安装ďĽ" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "过去 30 天内下载 %d 次" #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:389 #: src/context-tile-callbacks.c:406 msgid "N/A" msgstr "N/A" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s čżčˇŚć—¶" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "下载" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "大小信ćŻä¸ŤĺŹŻç”¨" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "%s 的下载大小" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "全年龄" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "ĺą´éľ„ĺ†çş§äżˇćŻä¸ŤĺŹŻç”¨" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "适ĺ全年龄段" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "适ĺ年龄为 %d ĺ˛ĺŹŠä»Ąä¸Š" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:284 msgid "Unknown" msgstr "未知" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "根据 %s 许可čŻćŽćťçš„自由软件" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "自由软件" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "专有软件" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "特殊许可čŻďĽš %s" #: src/context-tile-callbacks.c:281 msgid "Free" msgstr "自由" #: src/context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "专有" #: src/context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "特殊许可" #: src/context-tile-callbacks.c:309 msgid "Adaptive" msgstr "自适应" #: src/context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "仅桌面端" #: src/context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "适用于台式机ă€ĺąłćťżç”µč„‘和手机" #: src/context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "可č˝ć— ćł•在移动设备上使用" #: src/context-tile-callbacks.c:396 src/bz-safety-dialog.blp:31 msgid "Safe" msgstr "安全" #: src/context-tile-callbacks.c:398 src/context-tile-callbacks.c:400 msgid "Low Risk" msgstr "低风险" #: src/context-tile-callbacks.c:402 msgid "Medium Risk" msgstr "中等风险" #: src/context-tile-callbacks.c:404 msgid "High Risk" msgstr "é«éŁŽé™©" #: src/bz-curated-view.blp:11 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "空" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "无精选应用程序" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "该系统未ćŹäľ›ç­–展信ćŻă€‚您仍可在 Flathub 上浏č§ĺş”用程序。" #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "ćµŹč§ Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 #: src/bz-flathub-page.blp:30 src/bz-flathub-page.blp:34 msgid "Offline" msgstr "离线" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:39 src/bz-flathub-page.blp:49 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "浏č§ĺ™¨" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "未验čŻ" #: src/bz-developer-badge.c:210 msgid "Developer information not available." msgstr "无法获取开发者信ćŻ" #: src/bz-developer-badge.c:216 src/bz-developer-badge.c:230 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "该 %s 应用 ID 的所有ćťĺ°šćśŞéŞŚčŻďĽŚĺŹŻč˝ćŻä¸€ä¸Şç¤ľĺŚşĺŚ…ă€‚" #: src/bz-developer-badge.c:234 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "该 %s 应用 ID 的所有ćťĺ·˛ç”± Flathub 团éźć‰‹ĺŠ¨éŞŚčŻă€‚" #: src/bz-developer-badge.c:250 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "%1$s 应用 ID 的所有ćťĺ·˛éŞŚčŻä¸şćŻ <b>%3$s</b> 上的 <b>%2$s</b>。" #: src/bz-developer-badge.c:257 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "%1$s 应用 ID 的所有ćťĺ·˛é€ščż‡ %2$s 验čŻă€‚" #: src/bz-developer-badge.c:261 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "该 %s 应用 ID 的所有ćťĺ·˛é€ščż‡éŞŚčŻă€‚" #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "完整发ĺ¸čŻ´ćŽ" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "ć­ŁćŻćś‰äş†ĺŹć‚¨čż™ć ·çš„用ć·ďĽŚBazaar 才č˝éˇşĺ©ĺŹ‘čˇŚďĽ" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "ć‘ç­ç±ĺĽ€ĺŹ‘ Bazaar,但ć‘一个人的力量有é™ă€‚如果您愿意支ćŚĺŽç»­çš„开发工作,请č€č™‘" "在 Ko-Fi ćŤĺŠ©ć‘:" #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "ĺ‘ Bazaar ćŤĺŠ© ❤️" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "看看 %s 更新了啥" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "发ĺ¸äşŽ %B %-e, %Y" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "选择和安装" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "您已安装此应用的多个ç‰ćś¬ă€‚您希望用哪一个继续?" #: src/bz-entry-group-util.c:80 msgid "Cancel" msgstr "取ć¶" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "仅适用于当前用ć·" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "当前用ć·" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "所有用ć·" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:50 msgid "Details" msgstr "详细信ćŻ" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "复ĺ¶" #: src/bz-error-dialog.c:56 src/bz-share-list.c:62 msgid "Copied!" msgstr "已复ĺ¶ďĽ" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "ć”¶č—Źć•°" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "无法更新已收藏" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "登录 Flathub 以管ç†ć”¶č—Źéˇąç›®" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "登录" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:360 msgid "Favorites" msgstr "ć”¶č—Ź" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "安装全é¨" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "加载中" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "ć— ć”¶č—Ź" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "您标记为收藏的应用程序将在此处ćľç¤ş" #: src/bz-favorites-tile.blp:70 src/bz-installed-tile.blp:78 msgid "Support This Application" msgstr "支ćŚć­¤ĺş”用程序" #: src/bz-favorites-tile.blp:119 msgid "Remove From Favorites" msgstr "从收藏中移除" #: src/bz-favorites-tile.c:357 msgid "Failed to remove favorite" msgstr "无法从收藏中移除" #: src/bz-featured-carousel.blp:31 msgid "Previous" msgstr "上一页" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "下一页" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "编辑" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "MIDI" #: src/bz-flathub-category.c:95 msgid "Mixer" msgstr "č°éźł" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "éźłäą" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "播放器" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "录音" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "ç§‘ĺ­¦" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "č°č°ĺ™¨" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "电视" #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "模拟器" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "动作" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "冒险" # 不用“街机“éµä»Ž https://flathub.org/zh-Hans/apps/category/game/subcategories/ArcadeGame 的翻译 #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "游äąä¸­ĺż" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "ć–ąĺť—" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "图板" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "卡片" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "儿童" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "逻辑" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "角色扮演" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "射手" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "模拟" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "体育" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "ć略" #: src/bz-flathub-category.c:124 msgid "Audio & Video" msgstr "音频与视频" #: src/bz-flathub-category.c:124 msgid "Media" msgstr "媒体" #: src/bz-flathub-category.c:124 msgid "More Audio & Video" msgstr "更多音频与视频" #: src/bz-flathub-category.c:125 msgid "Developer Tools" msgstr "开发者工具" #: src/bz-flathub-category.c:125 msgid "Develop" msgstr "开发" #: src/bz-flathub-category.c:125 msgid "More Developer Tools" msgstr "更多开发者工具" #: src/bz-flathub-category.c:126 msgid "Education" msgstr "教育" #: src/bz-flathub-category.c:126 msgid "Learn" msgstr "学习" #: src/bz-flathub-category.c:126 msgid "More Education" msgstr "更多教育" #: src/bz-flathub-category.c:127 msgid "Gaming" msgstr "游ćŹ" #: src/bz-flathub-category.c:127 msgid "Play" msgstr "游玩" #: src/bz-flathub-category.c:127 msgid "More Gaming" msgstr "更多游ćŹ" #: src/bz-flathub-category.c:128 msgid "Graphics & Photography" msgstr "图形与摄影" #: src/bz-flathub-category.c:128 msgid "Create" msgstr "ĺ›é€ " #: src/bz-flathub-category.c:128 msgid "More Graphics & Photography" msgstr "更多图形与摄影" #: src/bz-flathub-category.c:129 msgid "Networking" msgstr "网络" #: src/bz-flathub-category.c:129 msgid "Internet" msgstr "äş’č”网" #: src/bz-flathub-category.c:129 msgid "More Networking" msgstr "更多网络应用" #: src/bz-flathub-category.c:130 msgid "Productivity" msgstr "生产力" #: src/bz-flathub-category.c:130 msgid "Work" msgstr "工作" #: src/bz-flathub-category.c:130 msgid "More Productivity" msgstr "更多生产力" #: src/bz-flathub-category.c:131 msgid "Science" msgstr "ç§‘ĺ­¦" #: src/bz-flathub-category.c:131 msgid "More Science" msgstr "更多科学" #: src/bz-flathub-category.c:132 msgid "System" msgstr "系统" #: src/bz-flathub-category.c:132 msgid "More System" msgstr "更多系统" #: src/bz-flathub-category.c:133 msgid "Utilities" msgstr "实用工具" #: src/bz-flathub-category.c:133 msgid "Tools" msgstr "ĺ·Ąĺ…·" #: src/bz-flathub-category.c:133 msgid "More Utilities" msgstr "更多实用工具" #: src/bz-flathub-category.c:134 src/bz-flathub-page.blp:116 #: src/bz-flathub-page.blp:148 msgid "Trending" msgstr "飙升" #: src/bz-flathub-category.c:134 msgid "More Trending" msgstr "更多飙升应用" #: src/bz-flathub-category.c:135 src/bz-flathub-page.blp:122 #: src/bz-flathub-page.blp:178 msgid "Popular" msgstr "äşşć°”" #: src/bz-flathub-category.c:135 msgid "More Popular" msgstr "更多人气应用" #: src/bz-flathub-category.c:136 src/bz-flathub-page.blp:168 msgid "Recently Added" msgstr "最近添加" #: src/bz-flathub-category.c:136 src/bz-flathub-page.blp:128 msgid "New" msgstr "新应用" #: src/bz-flathub-category.c:136 msgid "More New" msgstr "更多新应用" #: src/bz-flathub-category.c:137 src/bz-flathub-page.blp:158 msgid "Recently Updated" msgstr "最近更新" #: src/bz-flathub-category.c:137 src/bz-flathub-page.blp:134 msgid "Updated" msgstr "最近更新" #: src/bz-flathub-category.c:137 msgid "More Updated" msgstr "更多最近更新应用" #: src/bz-flathub-category.c:138 msgid "Mobile" msgstr "移动应用" #: src/bz-flathub-category.c:138 msgid "More Mobile" msgstr "更多移动应用" #: src/bz-flathub-category.c:139 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:139 msgid "More Adwaita" msgstr "更多 Adwaita 应用" #: src/bz-flathub-category.c:140 msgid "KDE Apps" msgstr "KDE 应用" #: src/bz-flathub-category.c:140 msgid "More KDE Apps" msgstr "更多 KDE 应用" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub 未添加" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "您的 Flatpak ĺ®‰čŁ…ä¸­ćśŞć‰ľĺ° Flathub 远程仓库" #: src/bz-flathub-page.blp:35 msgid "Flathub returned an error" msgstr "Flathub 返回错误" #: src/bz-flathub-page.blp:41 msgid "Retry Flathub Connection" msgstr "重试 Flathub 连接" #: src/bz-flathub-page.blp:57 msgid "Flathub Unavailable" msgstr "Flathub 不可用" #: src/bz-flathub-page.blp:58 msgid "" "We could not connect to Flathub. You can still manage and search for " "applications." msgstr "ć‘ä»¬ć— ćł•čżžćŽĄĺ° Flathub。您仍然可以管ç†ĺ’Śćśç´˘ĺş”用程序。" #: src/bz-flathub-page.blp:61 msgid "Search Apps" msgstr "ćśç´˘ĺş”用程序" #: src/bz-flathub-page.blp:200 msgid "App of the Day" msgstr "每日应用" #: src/bz-flathub-page.blp:264 msgid "On the Go" msgstr "随时随地" #: src/bz-flathub-page.blp:276 msgid "Apps for your Linux phones and tablets" msgstr "适用于您的 Linux 手机和平板电脑的应用" #: src/bz-flathub-page.blp:287 src/bz-flathub-page.blp:322 msgid "More Mobile Apps" msgstr "更多移动应用" #: src/bz-flathub-page.blp:378 msgid "We​ ♥​ Games" msgstr "ć‘们 ♥ 游ćŹ" #: src/bz-flathub-page.blp:391 msgid "Games and apps to run your favorite titles" msgstr "čżčˇŚć‚¨ĺ–śç±çš„游ćŹĺ’Śĺş”用" #: src/bz-flathub-page.blp:425 msgid "More Games" msgstr "更多游ćŹ" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "无结果" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "尝试不ĺŚçš„ćśç´˘ĺ…łé”®ĺ­—" #: src/bz-full-view.blp:41 msgid "Content" msgstr "内容" #: src/bz-full-view.blp:105 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "čż™ćŻä¸€ä¸Şćś¬ĺś°é˘„č§ďĽŚé¨ĺ†ç»†čŠ‚ĺŹŻč˝ä¸Žĺ·˛ĺŹ‘ĺ¸çš„ĺ—表有所不ĺŚ" #: src/bz-full-view.blp:108 msgid "Preview Store Appearance" msgstr "预č§ĺ•†ĺş—外观" #: src/bz-full-view.blp:234 msgid "_Support" msgstr "_支ćŚ" #: src/bz-full-view.blp:454 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "此应用使用的čżčˇŚć—¶çŽŻĺ˘ĺ·˛ä¸Ťĺ†ŤćŽĄć”¶ć›´ć–°ć–安全修复,继续使用可č˝ĺ­ĺś¨ĺ®‰ĺ…¨éšć‚Ł" #: src/bz-full-view.blp:541 msgid "Trash Data" msgstr "ĺžĺśľć•°ćŤ®" #: src/bz-full-view.blp:681 msgid "Tags:" msgstr "标签:" #: src/bz-full-view.c:180 msgid "No URL" msgstr "无链接" #: src/bz-full-view.c:198 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "该应用程序具有 FLOSS 许可čŻďĽŚčż™ć„Źĺ‘łçť€ĺŹŻä»Ąĺ®ˇć ¸ćşä»Łç çš„安全性。" #: src/bz-full-view.c:199 msgid "" "This application has a proprietary license, meaning the source code is " "developed privately and cannot be audited by an independent third party." msgstr "" "该应用程序具有专有许可čŻďĽŚčż™ć„Źĺ‘łçť€ćşä»Łç ćŻç§äşşĺĽ€ĺŹ‘çš„ďĽŚä¸Ťč˝ç”±ç‹¬ç«‹çš„第三方审" "核。" #: src/bz-full-view.c:206 msgid "More Apps" msgstr "更多应用" #: src/bz-full-view.c:207 #, c-format msgid "More Apps by %s" msgstr "来自 %s 的更多应用" #: src/bz-full-view.c:214 msgid "Other Apps by this Developer" msgstr "该开发者的其他应用" #: src/bz-full-view.c:216 src/bz-full-view.c:315 #, c-format msgid "Other Apps by %s" msgstr "来自 %s 的其他应用" #: src/bz-full-view.c:225 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s 未安装,但仍ĺ­ĺś¨ <b>%s</b> 的数据。" #: src/bz-full-view.c:317 msgid "Other Apps" msgstr "其他应用" #: src/bz-full-view.c:319 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d 个应用" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "硬件支ćŚć…况" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "é”®ç›ć”ŻćŚć…况" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "需č¦é”®ç›" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "推čŤé”®ç›" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "支ćŚé”®ç›" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "é”®ç›ć”ŻćŚć…况未知" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "鼠标支ćŚć…况" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "需č¦éĽ ć ‡ć–指é’设备" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "推čŤéĽ ć ‡ć–指é’设备" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "支ćŚéĽ ć ‡ć–指é’设备" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "鼠标ć–指é’设备支ćŚć…况未知" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "触控支ćŚć…况" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "需č¦č§¦ćާ" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "推čŤč§¦ćާ" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "支ćŚč§¦ćާ" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "触控支ćŚć…况未知" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "移动设备支ćŚć…况" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "可čżčˇŚäşŽç§»ĺŠ¨č®ľĺ¤‡" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "可č˝ä¸Ťć”ŻćŚç§»ĺŠ¨č®ľĺ¤‡" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "桌面端支ćŚć…况" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "大屏上čżčˇŚč‰ŻĺĄ˝" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s 在特定硬件上čżčˇŚćś€ä˝ł" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s 在大多数设备正常工作" #: src/bz-install-controls.blp:62 msgid "_Open" msgstr "_打开" #: src/bz-install-controls.blp:77 src/bz-install-controls.blp:134 msgid "Uninstall Application" msgstr "卸载此应用程序" #: src/bz-install-controls.blp:87 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "_卸载" #: src/bz-install-controls.blp:121 src/bz-updates-card.c:161 #: src/bz-updates-card.c:180 msgid "Update" msgstr "ć›´ć–°" #: src/bz-install-controls.blp:144 src/bz-installed-tile.blp:114 msgid "Remove" msgstr "卸载" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "ćśç´˘ĺ·˛ĺ®‰čŁ…çš„ĺş”ç”¨ç¨‹ĺşŹ" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "清除历史" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "未找ĺ°ĺş”用程序" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "在商店中ćśç´˘" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:111 msgid "Library" msgstr "ĺş“" #: src/bz-library-page.blp:128 msgid "Pending Updates" msgstr "等待更新" #: src/bz-library-page.blp:155 msgid "Downloads" msgstr "下载" #: src/bz-library-page.blp:198 msgid "Recently Uninstalled" msgstr "最近卸载" #: src/bz-library-page.blp:249 msgid "Clear Finished Tasks" msgstr "清除所有已完ć的事务" #: src/bz-library-page.blp:334 msgid "Sort By" msgstr "筛选" #: src/bz-library-page.blp:348 msgid "Name" msgstr "ĺŤç§°" #: src/bz-library-page.blp:354 msgid "Size" msgstr "大小" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "在已安装应用ĺ—表中未找ĺ°ä¸Ž “%s” 匹配的项目" #: src/bz-library-page.c:193 src/bz-updates-card.c:426 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u 个可用更新" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u 已安装应用" #: src/bz-license-dialog.blp:94 msgid "Get Involved" msgstr "参与进来" #: src/bz-license-dialog.blp:111 msgid "Learn More" msgstr "了解更多" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "未知许可čŻ" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "社区共建" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "此应用由一个国际社区以开ćşć–ąĺĽŹĺĽ€ĺŹ‘č€Ść。\n" "\n" "您可以参与进来,帮助ĺ®ĺŹĺľ—更好。" #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "此应用的许可čŻćśŞçźĄ" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "此应用由国际社区开放开发,并根据 %s 许可čŻĺŹ‘ĺ¸ă€‚\n" "\n" "您可以参与进来,帮助ĺ®ĺŹĺľ—更好。" #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "此应用未采用开放开发,因此只有开发者知é“ĺ…¶čżä˝śćśşĺ¶ă€‚ĺ®ĺŹŻč˝ĺ­ĺś¨éšľä»ĄĺŻźč§‰çš„ĺ®‰ĺ…¨" "漏洞,且可č˝ĺś¨çĽşäąŹç›‘管的ć…况下进行更改。\n" "\n" "您可č˝ć— ćł•为本应用ĺšĺ‡şč´ˇçŚ®ă€‚" #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "ćś¬ĺş”ç”¨ĺźşäşŽç‰ąć®Šč®¸ĺŹŻčŻ %s 开发。\n" "\n" "您可č˝ć— ćł•为本应用ĺšĺ‡şč´ˇçŚ®ă€‚" #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:53 msgid "License" msgstr "许可čŻ" #: src/bz-login-page.blp:5 src/bz-login-page.blp:42 msgid "Connect to Flathub" msgstr "čżžćŽĄĺ° Flathub" #: src/bz-login-page.blp:32 msgid "Something Went Wrong" msgstr "发生错误" #: src/bz-login-page.blp:43 msgid "Connect your Flathub account to Bazaar to manage your favorited apps." msgstr "将您的 Flathub č´¦ć·čżžćŽĄĺ° Bazaar,以便管ç†ć‚¨ć”¶č—Źçš„应用程序。" #: src/bz-login-page.blp:110 msgid "Finish" msgstr "完ć" #: src/bz-login-page.c:664 #, c-format msgid "Hello, %s!" msgstr "你好,%sďĽ" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "选择ĺ…信ćŻć–‡ä»¶" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "ĺ…信ćŻć–‡ä»¶" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "选择图标ďĽĺŹŻé€‰ďĽ‰" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "图片文件" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "预č§" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "ĺŹĺĄ˝č®ľç˝®" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "正在使用计费网络 - 自动储ĺ­ć•°ćŤ®ĺŚć­Ąĺ·˛ćš‚ĺś" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:258 msgid "Refresh Manually" msgstr "手动ĺŚć­Ą" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "内容筛选" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "仅自由软件" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "浏č§ĺ’Śćśç´˘ć—¶éšč—Źä¸“有软件" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "ä»…ĺŚ…ĺ« Flathub 结果" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "é™ĺ¶ćśç´˘ĺ’ŚćµŹč§çš„应用仅可从 Flathub 获取" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "ä»…ćľç¤şĺ·˛éŞŚčŻç»“ćžś" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "éšč—ŹćśŞĺś¨ Flathub 上验čŻçš„结果" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "éšč—Źç»ć­˘ć”ŻćŚçš„应用" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "éšč—ŹĺĽ€ĺŹ‘č€…ä¸Ťĺ†Ťć”ŻćŚçš„应用" #: src/bz-preferences-dialog.blp:55 src/bz-window.blp:126 msgid "Search" msgstr "ćśç´˘" #: src/bz-preferences-dialog.blp:58 msgid "Delay Search Results" msgstr "ĺ»¶čżźćśç´˘ç»“ćžś" #: src/bz-preferences-dialog.blp:59 msgid "Improve results performance by debouncing search terms" msgstr "通过é˛ćŠ–ćśç´˘čŻŤćŹĺŤ‡ç»“果性č˝" #: src/bz-preferences-dialog.blp:64 msgid "Progress Bar" msgstr "进度条" #: src/bz-preferences-dialog.blp:65 msgid "Choose a theme for the progress bar!" msgstr "为进度条选择主é˘ďĽ" #: src/bz-preferences-dialog.blp:89 msgid "Vertical Stripes" msgstr "竖条纹" #: src/bz-preferences-dialog.blp:90 msgid "Display flag colors from left to right" msgstr "从左至右ćľç¤şć——帜颜色" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "强č°č‰˛" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "骄傲色" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "女ĺŚć€§ć‹éŞ„ĺ‚˛č‰˛ĺ˝©" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "ç”·ĺŚć€§ć‹éŞ„ĺ‚˛č‰˛ĺ˝©" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "跨性ĺ«éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "非二ĺ…性ĺ«éŞ„ĺ‚˛č‰˛ĺ˝©" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "双性ć‹éŞ„ĺ‚˛č‰˛ĺ˝©" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "无性ć‹éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "泛性ć‹éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "无浪漫倾ĺ‘骄傲色" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "性ĺ«ćµĺŠ¨éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "多性ć‹éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "全性ć‹éŞ„ĺ‚˛č‰˛ĺ˝©" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "无浪漫无性ć‹č€…骄傲色" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "无性ĺ«éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "性ĺ«é…·ĺ„żéŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "双性ć‹éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "半性ĺ«éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "双浪漫骄傲色" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "残疾人骄傲色" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "伪ĺ¨éŞ„ĺ‚˛č‰˛" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "中性骄傲色" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:152 msgid "Version History" msgstr "ç‰ćś¬ĺŽ†ĺŹ˛" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "_ç‰ćś¬ĺŽ†ĺŹ˛" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "今天" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "ć¨ĺ¤©" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 周前" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d ćśĺ‰Ť" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d 年前" #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%e %B %Y" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "ç‰ćś¬ %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "未ćŹäľ›ĺŹć›´ć—Ąĺż—" #: src/bz-releases-list.c:263 msgid "Get More Information" msgstr "获得更多信ćŻ" #: src/bz-rich-app-tile.blp:157 msgid "Get" msgstr "获取" #: src/bz-rich-app-tile.blp:185 src/bz-transaction-tile.blp:296 msgid "Open" msgstr "打开" #: src/safety-calculator.c:82 msgid "Unknown Permissions" msgstr "未知ćťé™" #: src/safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "此应用缺少必č¦çš„ćťé™ă€‚" #: src/safety-calculator.c:96 msgid "No Permissions" msgstr "没有ćťé™" #: src/safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "应用已完全沙盒化" #: src/safety-calculator.c:103 msgid "Network Access" msgstr "网络访问" #: src/safety-calculator.c:104 msgid "Can access the internet" msgstr "可访问网络" #: src/safety-calculator.c:106 msgid "No Network Access" msgstr "无网络访问" #: src/safety-calculator.c:107 msgid "Cannot access the internet" msgstr "不č˝č®żé—®äş’č”网" #: src/safety-calculator.c:112 msgid "User Device Access" msgstr "用ć·č®ľĺ¤‡č®żé—®" #: src/safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "可以访问网络摄ĺŹĺ¤´ć–游ćŹćާĺ¶ĺ™¨ç­‰çˇ¬ä»¶č®ľĺ¤‡" #: src/safety-calculator.c:115 msgid "No User Device Access" msgstr "无用ć·č®ľĺ¤‡č®żé—®" #: src/safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "应用不č˝č®żé—®ç˝‘络摄ĺŹĺ¤´ć–游ćŹćާĺ¶ĺ™¨ç­‰ä»»ä˝•用ć·č®ľĺ¤‡" #: src/safety-calculator.c:121 msgid "Input Device Access" msgstr "输入设备访问" #: src/safety-calculator.c:122 msgid "Can access input devices" msgstr "可以访问输入设备" #: src/safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "麦克风访问和音频播放" #: src/safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "无需请求ćťé™ĺŤłĺŹŻä˝żç”¨éş¦ĺ…‹éŁŽć”¶ĺ¬ĺ’Ść’­ć”ľéźłé˘‘" #: src/safety-calculator.c:135 msgid "System Device Access" msgstr "系统设备访问" #: src/safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "可以访问需č¦ćŹĺŤ‡ćťé™çš„系统设备" #: src/safety-calculator.c:142 msgid "Screen Contents Access" msgstr "屏幕内容访问" #: src/safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "可以访问屏幕ć–其他窗口的内容" #: src/safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "过时窗口系统" #: src/safety-calculator.c:150 msgid "Always uses a legacy windowing system (X11)" msgstr "ĺ§‹ç»ä˝żç”¨čż‡ć—¶çš„窗口系统ďĽX11)" #: src/safety-calculator.c:156 msgid "Arbitrary Permissions" msgstr "任意ćťé™" #: src/safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "可以获取任意ćťé™" #: src/safety-calculator.c:163 msgid "User Settings" msgstr "用ć·č®ľç˝®" #: src/safety-calculator.c:164 msgid "Can access and change user settings" msgstr "可以访问和更改用ć·č®ľç˝®" #: src/safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "完全的文件系统读写ćťé™" #: src/safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "可以读取和写入文件系统上的所有数据" #: src/safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "主文件夹读写ćťé™" #: src/safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "可以读取和写入您主目录中的所有数据" #: src/safety-calculator.c:186 msgid "Full File System Read Access" msgstr "完整文件系统读取访问" #: src/safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "可以读取文件系统上的所有数据" #: src/safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "主文件夹读取ćťé™" #: src/safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "可以读取您主目录中的所有数据" #: src/safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "下载文件夹读写ćťé™" #: src/safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "可以读写下载文件夹中的所有数据" #: src/safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "下载文件夹读取ćťé™" #: src/safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "可以读取您下载目录中的所有数据" #: src/safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "可以读写目录中的所有数据" #: src/safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "可以读取目录中的所有数据" #: src/safety-calculator.c:258 msgid "No File System Access" msgstr "无文件系统访问ćťé™" #: src/safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "完全无法访问文件系统" #: src/safety-calculator.c:266 msgid "Uses System Services" msgstr "使用系统服务" #: src/safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "可从非门ć·çł»ç»źćśŤĺŠˇčŻ·ć±‚ć•°ćŤ®" #: src/safety-calculator.c:273 msgid "Uses Session Services" msgstr "使用会话服务" #: src/safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "可从非门ć·äĽščŻťćśŤĺŠˇčŻ·ć±‚ć•°ćŤ®" #: src/safety-calculator.c:322 msgid "No Service Access" msgstr "无服务访问" #: src/safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "完全无法访问非门ć·äĽščŻťć–系统服务" #: src/safety-calculator.c:331 msgid "Verified App Developer" msgstr "软件开发者已验čŻ" #: src/safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "软件开发者的身份已通过验čŻďĽŚä˝żĺş”用更安全" #: src/safety-calculator.c:341 msgid "Proprietary Code" msgstr "专有代ç " #: src/safety-calculator.c:342 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "ćşä»Łç ćśŞĺ…¬ĺĽ€ďĽŚĺ› ć­¤ć— ćł•进行独立审计,可č˝ĺ­ĺś¨ĺ®‰ĺ…¨éšć‚Ł" #: src/safety-calculator.c:352 msgid "Auditable Code" msgstr "可审计代ç " #: src/safety-calculator.c:353 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "ćşä»Łç ĺ…¬ĺĽ€ä¸”可独立审计,这使得此应用更可č˝ĺ®‰ĺ…¨ĺŹŻéť " #: src/safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "使用 %s 系统服务" #: src/safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "使用 %s 会话服务" #: src/safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "使用 %s 服务" #: src/safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "可以看ĺ°éťžé—¨ć·ćśŤĺЎ" #: src/safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "可与非门ć·ćśŤĺŠˇčż›čˇŚĺŻąčŻť" #: src/safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "可以拥有非门ć·ćśŤĺЎ" #: src/safety-calculator.c:530 msgid "Global Menu Integration" msgstr "全局菜单集ć" #: src/safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "可在全局菜单栏中ćľç¤şĺ…¶čŹśĺŤ•" #: src/safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "KDE 设置集ć" #: src/safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "可检测 KDE 桌面设置何时发生ĺŹĺŚ–" #: src/safety-calculator.c:542 msgid "KDE Global Settings" msgstr "KDE 全局设置" #: src/safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "可读取 KDE 桌面ĺŹĺĄ˝č®ľç˝®ďĽŚĺ¦‚字体和颜色" #: src/safety-calculator.c:548 msgid "Secret Storage Service" msgstr "ç§ĺ݆ĺ­ĺ‚¨ćśŤĺЎ" #: src/safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "可使用系统密钥管ç†ĺ™¨ĺ­ĺ‚¨ĺ’ŚćŁ€ç´˘č‡Şčş«ĺŻ†ç " #: src/safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "桌面通知服务" #: src/safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "可以发é€ćˇŚéť˘é€šçźĄ" #: src/safety-calculator.c:561 msgid "System Tray Integration" msgstr "系统ć‰ç›é›†ć" #: src/safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "可在系统ć‰ç›ä¸­ćľç¤şĺ›ľć ‡" #: src/safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "KDE Connect 集ć" #: src/safety-calculator.c:568 msgid "Can interact with devices paired via KDE Connect" msgstr "可与通过 KDE Connect 配对的设备进行交互" #: src/bz-safety-dialog.blp:7 msgid "Safety" msgstr "安全性" #: src/bz-safety-dialog.blp:63 msgid "App ID" msgstr "App ID" #: src/bz-safety-dialog.blp:73 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:104 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "此应用使用了过时的软件平台ďĽSDK)ç‰ćś¬ďĽŚĺŹŻč˝ĺŚ…ĺ«ć— ćł•修复的错误ć–安全漏洞。" #: src/bz-safety-dialog.c:227 #, c-format msgid "%s is Safe" msgstr "%s ćŻĺ®‰ĺ…¨çš„" #: src/bz-safety-dialog.c:232 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s 没有不安全ćťé™" #: src/bz-safety-dialog.c:237 #, c-format msgid "%s is Probably Safe" msgstr "%s ĺľĺŹŻč˝ĺ®‰ĺ…¨" #: src/bz-safety-dialog.c:242 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s 可č˝ä¸Ťĺ®‰ĺ…¨" #: src/bz-safety-dialog.c:247 #, c-format msgid "%s is Unsafe" msgstr "%s ćŻä¸Ťĺ®‰ĺ…¨çš„" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "屏幕ćŞĺ›ľ" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "上一个ćŞĺ›ľ" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "下一个ćŞĺ›ľ" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "复ĺ¶ĺ›ľç‰‡" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "重置视图" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "缩小" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "放大" #: src/bz-screenshots-carousel.blp:5 msgid "Screenshots Carousel" msgstr "ćŞĺ›ľč˝®ć’­" #: src/bz-screenshots-carousel.blp:117 msgid "Open Screenshot Viewer" msgstr "打开ćŞĺ›ľćźĄçś‹ĺ™¨" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "筛选" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "_已验čŻ" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "_自由及开放ćşä»Łç " #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "非已中止支ćŚ" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "筛掉已中止支ćŚçš„应用" #: src/bz-search-filter-popover.blp:57 msgid "Categories" msgstr "ĺ†ç±»" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "ćśç´˘ĺş”用ă€ć¸¸ćŹă€č˝Żä»¶" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "ćśç´˘ç­›é€‰" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "清除ćśç´˘" #: src/bz-search-page.blp:192 msgid "Categories Unavailable" msgstr "ĺ†ç±»ä¸ŤĺŹŻç”¨" #: src/bz-search-page.blp:193 msgid "Search for apps using the search bar above." msgstr "使用上方ćśç´˘ć Źćśç´˘ĺş”用。" #: src/bz-search-page.blp:219 msgid "Browse Categories" msgstr "浏č§ĺ†ç±»" #: src/bz-search-page.blp:361 msgid "No Applications Found" msgstr "未找ĺ°ĺş”用" #: src/bz-search-page.c:247 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "在 Flathub ä¸­ćśŞć‰ľĺ° â€ś%s” 的结果" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "视频" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "办公" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "日历" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "通讯" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "ç»ç”»" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "模拟器" #: src/bz-share-list.c:123 msgid "Copy Link" msgstr "复ĺ¶é“ľćŽĄ" #: src/bz-share-list.c:134 msgid "Open Link" msgstr "打开链接" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "ć—¶é—´çşż" #: src/bz-stats-dialog.blp:45 msgid "Installs:" msgstr "安装:" #: src/bz-stats-dialog.blp:54 msgid "World" msgstr "世界" #: src/bz-stats-dialog.blp:68 msgid "Since 4/15/2024" msgstr "自2024ĺą´4ćś15日开始" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:125 #, c-format msgid "%.2fM Total Installs" msgstr "%.2fM 总安装量" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:128 #, c-format msgid "%.2fK Total Installs" msgstr "%.2fK 总安装量" #: src/bz-stats-dialog.c:130 #, c-format msgid "%'d Total Installs" msgstr "%'d 总安装量" #: src/bz-tag-list.c:78 msgid "No Results Found" msgstr "无结果" #: src/bz-tag-list.c:90 #, c-format msgid "Apps Tagged \"%s\"" msgstr "标记为 “%s” 的应用" #: src/bz-tag-list.c:103 msgid "Search failed" msgstr "ćśç´˘ĺ¤±č´Ą" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "保留用ć·ć•°ćŤ®" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "ĺ…许ć˘ĺ¤Ťä¸Şäşşč®ľç˝® & 内容" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "ĺ é™¤ć‰€ćś‰ć•°ćŤ®" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "永久ĺ é™¤ç”¨ć·ć•°ćŤ®ä»ĄčŠ‚çśç©şé—´" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "安装 %s ?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "选择你č¦ĺ®‰čŁ…çš„ç‰ćś¬ă€‚可č˝čżč¦ĺ®‰čŁ…ĺ…±äş«ç»„ä»¶" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "可č˝čżč¦ĺ®‰čŁ…é˘ťĺ¤–çš„ĺ…±äş«ç»„ä»¶" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "_取ć¶" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "_安装" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "卸载 %s ?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "选择你č¦ĺŤ¸č˝˝çš„ç‰ćś¬" #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "卸载ĺŽĺ°†ć— ćł•使用 %s" #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "“%s” ćŻé«éŁŽé™©çš„" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "此应用拥有对您系统的完全访问ćťé™ďĽŚĺڅ㋬<b>您的所有文件ă€ćµŹč§ĺŽ†ĺŹ˛ă€ĺ·˛äżťĺ­ĺ݆ç </" "b>等。ĺ®čżč˝č®żé—®äş’č”网,这意味着ĺ®ĺŹŻč˝ĺ°†ć‚¨çš„数据发é€ç»™ç¬¬ä¸‰ć–ąă€‚\n" "\n" "由于该应用ćŻä¸“有的,其如何ĺ©ç”¨ćťé™äąźć— ćł•审查。\t" #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "此应用使用传统的 X11 窗口系统,这使其č˝ĺ¤ź<b>记录所有按键ă€ćŞĺŹ–ĺ±Źĺą•ćŞĺ›ľĺą¶ç›‘控" "其他应用程序</b>。ĺŚć—¶ďĽŚčŻĄĺş”ç”¨ĺ…·ĺ¤‡ç˝‘ç»śč®żé—®ćťé™ďĽŚčż™ć„Źĺ‘łçť€ĺ®ĺŹŻč˝ĺ°†ć‚¨çš„数据发é€" "给外é¨ă€‚\n" "\n" "由于该应用ćŻä¸“有的,其如何ĺ©ç”¨ćťé™äąźć— ćł•审查。" #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "_ĺťšćŚĺ®‰čŁ…" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "无法加载事务对话框" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "所有应用é˝ĺ·˛ç»Źč˘«ĺ®‰čŁ…" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "_好的" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "安装 %u 应用?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "下ĺ—组件会被安装。可č˝čżč¦ĺ®‰čŁ…ĺ…±äş«ç»„ä»¶" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "%d 附加组件将被安装" #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "此外,附加组件将被安装" #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "_安装全é¨" #: src/bz-transaction-manager.c:784 #, c-format msgid "Finished in %.02f seconds" msgstr "在 %.02f 秒内完ć" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "应用附加组件" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "čżčˇŚć—¶" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "éźĺ—中" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "已完ć" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "取ć¶" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "错误" #: src/bz-transaction-tile.blp:310 msgid "Cancel Transaction" msgstr "撤销事务" #: src/bz-transaction-tile.blp:434 msgid "Show Error Info" msgstr "ćľç¤şé”™čŻŻäżˇćŻ" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "%s 已释放" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "事务错误" #: src/bz-transaction.c:344 msgid "Pending" msgstr "等待中" #: src/bz-updates-card.blp:22 msgid "_Update All" msgstr "_ć›´ć–°ĺ…¨é¨" #: src/bz-updates-card.c:208 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u 个čżčˇŚć—¶çŽŻĺ˘ć›´ć–°" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "管ç†é—留用ć·ć•°ćŤ®" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "未找ĺ°ç”¨ć·ć•°ćŤ®" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "用ć·ć•°ćŤ®" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "清除用ć·ć•°ćŤ®" #: src/bz-user-data-tile.c:144 #, c-format msgid "Trashed User Data for %s" msgstr "ĺ·˛ĺ é™¤ %s 的用ć·ć•°ćŤ®" #: src/bz-window.blp:87 msgid "Curated" msgstr "精选" #: src/bz-window.blp:99 msgid "Explore" msgstr "探索" #: src/bz-window.blp:219 msgid "Refresh completed!" msgstr "ĺ·ć–°ĺ®ŚćďĽ" #: src/bz-window.blp:238 msgid "Main Menu" msgstr "主菜单" #: src/bz-window.blp:249 msgid "You are running a new version of Bazaar!" msgstr "你正在čżčˇŚć–°ç‰ćś¬çš„ BazaarďĽ" #: src/bz-window.blp:250 msgid "See What's New" msgstr "看看更新了啥" #: src/bz-window.blp:257 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "您已连接网络,但正在查看 Flathub 的缓ĺ­ç‰ćś¬" #: src/bz-window.blp:302 msgid "_Donate to Bazaar" msgstr "_ĺ‘ Bazaar ćŤĺŠ© ❤️" #: src/bz-window.blp:309 msgid "_Refresh" msgstr "_ĺ·ć–°" #: src/bz-window.blp:314 msgid "_Preferences" msgstr "_首选项" #: src/bz-window.blp:319 msgid "_Login With Flathub" msgstr "_用 Flathub 登录" #: src/bz-window.blp:325 msgid "_Manage Leftover User Data" msgstr "_管ç†é—留用ć·ć•°ćŤ®" #: src/bz-window.blp:330 msgid "_Keyboard Shortcuts" msgstr "_é”®ç›ĺż«ćŤ·é”®" #: src/bz-window.blp:335 msgid "_About Bazaar" msgstr "_关于 Bazaar" #: src/bz-window.blp:342 msgid "_Quit Bazaar" msgstr "_退出 Bazaar" #: src/bz-window.blp:367 msgid "Log Out" msgstr "登出" #. Translators: %s is the title of the current page #: src/bz-window.c:377 #, c-format msgid "Bazaar — %s" msgstr "Bazaar - %s" #: src/bz-window.c:586 src/bz-window.c:624 msgid "Failed to launch application" msgstr "ĺŻĺŠ¨ĺş”ç”¨ç¨‹ĺşŹĺ¤±č´Ą" #: src/bz-window.c:825 msgid "You can't remove Bazaar from Bazaar!" msgstr "你无法用 Bazaar 卸载 BazaarďĽ" #: src/bz-window.c:1110 src/bz-window.c:1144 msgid "Can't do that right now!" msgstr "现在čżä¸Ťč˝čż™äąĺšďĽ" #: src/bz-world-map.c:603 msgctxt "As in, \"100 Installs\"" msgid "Installs" msgstr "安装" #: src/shortcuts-dialog.blp:6 msgctxt "shortcut window" msgid "General" msgstr "一č¬" #: src/shortcuts-dialog.blp:9 msgctxt "shortcut window" msgid "Open Search Page" msgstr "打开ćśç´˘éˇµ" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "打开库" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Refresh" msgstr "ĺ·ć–°" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Open Preferences" msgstr "打开ĺŹĺĄ˝č®ľç˝®" #: src/shortcuts-dialog.blp:30 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "展示快捷键" #: src/shortcuts-dialog.blp:35 msgctxt "shortcut window" msgid "Close Window" msgstr "关闭窗口" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "退出 Bazaar" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "其强č°ć”ŻćŚé‚Łäş›ä˝ż Linux 桌面ć为可č˝çš„开发者。Bazaar 设有一个\"精选\"标签," #~ "可由发行商配置,以ćŹäľ›ć›´ćś¬ĺś°ĺŚ–çš„ä˝“éŞŚă€‚" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "Nucleus app page" #~ msgstr "Nucleus 应用页" #~ msgid "_Donate to Bazaar ❤️" #~ msgstr "_ĺ‘ Bazaar ćŤĺŠ© ❤️" #~ msgid "_Synchronize Remotes" #~ msgstr "_ĺŚć­Ąčżśç¨‹" #~ msgid "Synchronizing..." #~ msgstr "ĺŚć­Ąä¸­â€¦â€¦" #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "正在接收 %d 个条目..." #~ msgid "Indexing Data..." #~ msgstr "正在索引数据……" #~ msgid "Close" #~ msgstr "ĺ…łé—­" #~ msgid "Copy and Close" #~ msgstr "复ĺ¶ĺą¶ĺ…łé—­" #, fuzzy #~ msgid "Open App Library" #~ msgstr "打开应用库" #~ msgid "Installing .flatpak bundles is not yet supported" #~ msgstr "安装 .flatpak 包暂不支ćŚ" #~ msgid "Download & Install Application" #~ msgstr "下载并安装应用程序" #~ msgid "Install Other Version" #~ msgstr "安装其他ç‰ćś¬" #~ msgid "Keep Data" #~ msgstr "保留数据" #~ msgid "Open App" #~ msgstr "打开" #~ msgid "Refreshing Store Content" #~ msgstr "正在ĺ·ć–°ĺ•†ĺş—内容" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgid "No background tasks!" #~ msgstr "ć— ĺŽĺŹ°ä»»ĺŠˇďĽ" #~ msgctxt "As in, \"100 Downloads\"" #~ msgid "Downloads" #~ msgstr "次下载" #~ msgctxt "shortcut window" #~ msgid "Synchronize Remotes" #~ msgstr "从远程端ĺŚć­Ą" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "退出" #~ msgid "Toggle transaction sidebar" #~ msgstr "ĺ‡ćŤ˘äş‹ĺŠˇäľ§éť˘ćťż" #~ msgid "Install Size" #~ msgstr "安装大小" #~ msgid "Ongoing" #~ msgstr "进行中" #~ msgid "Finished" #~ msgstr "已完ć" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "目前已传输 %s" #~ msgid "Tasks" #~ msgstr "任务" #~ msgid "Stop Active Tasks" #~ msgstr "ĺść­˘ĺ˝“前任务" #~ msgid "No Tasks Yet" #~ msgstr "当前无任务" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "%d 个更新" #~ msgid "Updates Are Available" #~ msgstr "有可用更新" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "以下应用可进行更新。您ćłč¦ĺ®‰čŁ…ĺ®ä»¬ĺ—?" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "%d 个čżčˇŚć—¶ĺ’Ś/ć–插件可进行更新。您č¦ĺ®‰čŁ…ĺ®ä»¬ĺ—?" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "此外,%d 个čżčˇŚć—¶ĺ’Ś/ć–插件也将被更新" #~ msgid "Update Now" #~ msgstr "立即更新" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "检查和安装本地 .flatpak 包文件的功č˝ĺŤłĺ°†ćŽ¨ĺ‡şďĽĺś¨ć­¤ćśźé—´ďĽŚčŻ·ĺ°ťčŻ•ĺś¨ĺ‘˝ä»¤čˇŚčż" #~ "行\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "以上命令。" #~ msgid "Resume Current Tasks" #~ msgstr "ć˘ĺ¤Ťĺ˝“前任务" #~ msgid "Pause Current Tasks" #~ msgstr "ćš‚ĺśĺ˝“前任务" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "ĺ‡ćŤ˘äş‹ĺŠˇç®ˇç†ĺ™¨" #~ msgid "Show Animated Background" #~ msgstr "展示动画čŚć™Ż" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "ćŻĺ¦ĺś¨é¦–页展示动画图标čŚć™Ż" #~ msgid "Keep the summary shorter, between 10 and 35 characters" #~ msgstr "äżťćŚć‘č¦ç®€çź­ďĽŚĺś¨ 10 至 35 字之间" #~ msgid "Main Bazaar window showing Blender" #~ msgstr "Bazaar 主窗口正在展示 Blender" #~ msgid "This flatpak is verified by the original developers of the software." #~ msgstr "ć­¤ Flatpak 已由软件原开发者认čŻă€‚" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore" #~ msgstr "Jill Fiore" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "Bazaar 未被ćŹäľ›ç˛ľé€‰ĺ†…容配置。č”系您的操作系统的支ćŚé˘‘é“寻求协助。" #~ msgid "Apps Of The Week" #~ msgstr "本周ç­é—¨ĺş”用程序" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "过去 30 天的下载次数。点击查看此应用程序的下载统计信ćŻă€‚" #~ msgid "Remote repo name" #~ msgstr "远程仓库ĺŤ" #~ msgid "No Flatpaks Installed" #~ msgstr "没有已安装的 Flatpak" #~ msgid "How the application looks" #~ msgstr "这个应用程序看起来怎äąć ·" #~ msgid "Appearance" #~ msgstr "外观" #~ msgid "Show animated background" #~ msgstr "展示动画čŚć™Ż" #~ msgid "Type to filter" #~ msgstr "输入以筛选" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "排除有专有许可čŻçš„结果" #~ msgid "Advanced" #~ msgstr "é«çş§" #~ msgid "Match using regular expressions" #~ msgstr "使用正ĺ™čˇ¨čľľĺĽŹĺŚąé…Ť" #~ msgid "Hide filtering and sorting behind a crossfade effect" #~ msgstr "éšč—Źäş¤ĺŹ‰ć·ˇĺ…Ąć·ˇĺ‡şć•ćžśčŚĺŽçš„过滤和排序" #~ msgid "Debounce input to prevent instant replies" #~ msgstr "ć¶é™¤čľ“入抖动以é˛ć­˘ç«‹ĺŤłĺ›žĺ¤Ť" #~ msgid "Share" #~ msgstr "ĺ†äş«" #~ msgid "Open this link externally" #~ msgstr "在外é¨ć‰“开链接" #~ msgid "Downloads Over Time" #~ msgstr "下载趋势" #~ msgid "Minimize Lower Bound" #~ msgstr "č°ä˝Žä¸‹é™" #~ msgid "Maximize Upper Bound" #~ msgstr "č°ä˝Žä¸Šé™" #~ msgid "Removing" #~ msgstr "正在卸载" #~ msgid "Halt the execution of transactions" #~ msgstr "ĺść­˘ć‰§čˇŚäş‹ĺЎ" #~ msgid "Browse" #~ msgstr "浏č§" #~ msgid "Go Back" #~ msgstr "返回" #~ msgid "View curated applications" #~ msgstr "查看精选的应用程序" #~ msgid "View the latest on Flathub" #~ msgstr "在 Flathub 查看最新的" #~ msgid "Up to date!" #~ msgstr "最新ďĽ" #~ msgid "Confirm Action" #~ msgstr "确认操作" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "您将č¦ĺŤ¸č˝˝ä»Ąä¸‹ Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "您确定ĺ—?" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "您将安装以下 Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "您确定ĺ—?" #~ msgid "Resume the execution of transactions" #~ msgstr "ć˘ĺ¤Ťäş‹ĺŠˇć‰§čˇŚ" #~ msgid "Pause the execution of transactions" #~ msgstr "ćš‚ĺśäş‹ĺŠˇć‰§čˇŚ" �����������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/po/zh_TW.po���������������������������������������������������������������0000664�0000000�0000000�00000300477�15234476640�0017312�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Traditional Chinese translations for bazaar package # Copyright (C) 2025 THE bazaar'S COPYRIGHT HOLDER # This file is distributed under the same license as the bazaar package. # Automatically generated, 2025. # # SPDX-FileCopyrightText: 2025–2026 Shihfu Juan <xlion@xlion.tw> # SPDX-FileCopyrightText: 2025 Peter Dave Hello <hsu@peterdavehello.org> # SPDX-FileCopyrightText: 2026 Kisaragi Hiu <mail@kisaragi-hiu.com> msgid "" msgstr "" "Project-Id-Version: bazaar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-06-26 02:45+0900\n" "PO-Revision-Date: 2026-06-25 22:43+0900\n" "Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n" "Language-Team: none\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Lokalize 26.07.70\n" #: data/io.github.kolunmi.Bazaar.desktop.in:2 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:7 src/bz-window.blp:46 #: src/bz-window.blp:202 src/bz-window.c:373 src/bz-window.c:374 msgid "Bazaar" msgstr "Bazaar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 msgid "Add, remove or update flatpak software on this computer" msgstr "新增ă€ç§»é™¤ć–更新此電腦上的 Flatpak 軟體" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;System;PackageManager;Discover;Flatpak;Software;Store;套件管ç†;探索;軟體;" "商店;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "新視窗" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and install apps" msgstr "探索č‡ĺ®‰čŁťć‡‰ç”¨ç¨‹ĺĽŹ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:10 msgid "" "A fast and modern app store for Linux with a focus on discovering and " "installing Flatpak apps and add-ons, particularly from Flathub." msgstr "" "為 Linux 打造的é«ć•č˝çŹľä»Łć‡‰ç”¨ç¨‹ĺĽŹĺ•†ĺş—ďĽŚč‘—é‡ŤćŽ˘ç´˘č‡ĺ®‰čŁťäľ†č‡Ş Flatpak é ç«ŻďĽç‰ąĺĄ" "ćŻ Flathub)的應用程式č‡é™„加ĺ…件。" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:15 msgid "Queue multiple installs and keep browsing" msgstr "ĺ°‡č¦ĺ®‰čŁťçš„ć‡‰ç”¨ç¨‹ĺĽŹĺŠ ĺ…Ąä˝‡ĺ—然後繼續瀏覽" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:16 msgid "Easily view app permissions" msgstr "輕ć“檢視應用程式權é™" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:17 msgid "Sign in to Flathub to view and manage your favorites" msgstr "登入至 Flathub 以檢視č‡ç®ˇç†ćś€ć„›" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:18 msgid "Search apps directly from GNOME Shell" msgstr "直接從 GNOME Shell ćśĺ°‹ć‡‰ç”¨ç¨‹ĺĽŹ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:55 msgid "The home page displaying Flathub apps" msgstr "展示 Flathub 應用程式的首é " #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:59 msgid "Exhibit app page" msgstr "展示應用程式é éť˘" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:63 msgid "Library page" msgstr "程式庫é éť˘" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:67 msgid "Search page" msgstr "ćśĺ°‹é éť˘" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:71 msgid "Category page" msgstr "ĺ†éˇžé éť˘" #: src/bz-addon-tile.blp:64 src/bz-installed-tile.blp:55 #: src/bz-rich-app-tile.blp:142 msgid "Stopped Receiving Updates" msgstr "ĺ·˛ĺść­˘ćŽĄć”¶ć›´ć–°" #: src/bz-addon-tile.c:168 src/bz-favorites-tile.c:155 msgctxt "Install Controls" msgid "Uninstall" msgstr "解除安裝" #: src/bz-addon-tile.c:170 src/bz-bundle-install-dialog.blp:148 #: src/bz-bundle-install-dialog.blp:162 src/bz-favorites-tile.c:157 #: src/bz-install-controls.wdgt:29 msgctxt "Install Controls" msgid "Install" msgstr "安裝" #: src/bz-addons-dialog.blp:14 src/bz-addons-dialog.blp:21 #: src/bz-addons-dialog.blp:70 src/bz-installed-tile.blp:96 msgid "Manage Add-Ons" msgstr "管ç†é™„加ĺ…ä»¶" #: src/bz-addons-dialog.blp:80 msgid "No Add-Ons Visible" msgstr "沒有可見的附加ĺ…ä»¶" #: src/bz-addons-dialog.blp:81 msgid "" "Your current filter preferences are hiding all known add-ons. Try adjusting " "them." msgstr "您目前的éŽćżľč¨­ĺ®šä˝żĺľ—所有已知附加ĺ…件皆已被隱藏。請試著調整éŽćżľč¨­ĺ®šă€‚" #: src/bz-addons-dialog.blp:88 msgid "Add-on Page" msgstr "附加ĺ…ä»¶é éť˘" #: src/bz-addons-dialog.blp:204 src/bz-full-view.blp:411 msgid "Downloads/Month" msgstr "每ćśä¸‹čĽ‰ć¬ˇć•¸" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 msgid "Stopped Receiving Core Updates" msgstr "ĺ·˛ĺść­˘ćŽĄć”¶ć ¸ĺżć›´ć–°" #: src/bz-addons-dialog.blp:245 msgid "" "This add-on uses a runtime that no longer receives updates or security " "fixes. It may become unsafe to use." msgstr "" "此應用程式使用的執行環ĺ˘ĺ·˛ä¸Ťĺ†ŤćŽĄć”¶ć›´ć–°ć–安全修補,使用上可č˝ĺ­ĺś¨ĺ®‰ĺ…¨é˘¨éšŞă€‚" #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "%s 的附加ĺ…ä»¶" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "顯示更少" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 src/bz-section-view.blp:71 msgid "Show More" msgstr "顯示更多" #: src/bz-addons-dialog.c:397 msgid "Download Stats" msgstr "下載統č¨ć•¸ć“š" #: src/bz-age-rating-dialog.blp:7 src/bz-age-rating-dialog.blp:31 #: src/bz-age-rating-dialog.c:736 src/context-tile-callbacks.c:186 #: src/context-tile-callbacks.c:193 msgid "Age Rating" msgstr "年齡ĺ†ç´š" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:88 msgid "Cartoon Violence" msgstr "卡通暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:90 msgid "No information regarding cartoon violence" msgstr "未ćŹäľ›ä»»ä˝•關於卡通暴力的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:94 msgid "Fantasy Violence" msgstr "ĺą»ćłćš´ĺŠ›" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:96 msgid "No information regarding fantasy violence" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľĺą»ćłćš´ĺŠ›çš„čł‡č¨Š" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:100 msgid "Realistic Violence" msgstr "寫實暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:102 msgid "No information regarding realistic violence" msgstr "未ćŹäľ›ä»»ä˝•關於寫實暴力的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:106 msgid "Violence Depicting Bloodshed" msgstr "ĺ«ćµčˇ€ćŹŹĺŻ«çš„ćš´ĺŠ›ĺ…§ĺ®ą" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:108 msgid "No information regarding bloodshed" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľćµčˇ€ĺ ´éť˘çš„資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:112 msgid "Sexual Violence" msgstr "性暴力" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:114 msgid "No information regarding sexual violence" msgstr "未ćŹäľ›ä»»ä˝•關於性暴力的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:118 msgid "Alcohol" msgstr "酒精" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:120 msgid "No information regarding references to alcohol" msgstr "未ćŹäľ›ä»»ä˝•關於酒精相關內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:124 msgid "Narcotics" msgstr "毒ĺ“" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:126 msgid "No information regarding references to illicit drugs" msgstr "未ćŹäľ›ä»»ä˝•關於非法藥物的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:130 msgid "Tobacco" msgstr "菸草" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:132 msgid "No information regarding references to tobacco products" msgstr "未ćŹäľ›ä»»ä˝•關於菸草製ĺ“的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:136 src/bz-age-rating-dialog.c:475 msgid "Nudity" msgstr "裸露" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:138 msgid "No information regarding nudity of any sort" msgstr "未ćŹäľ›ä»»ä˝•關於裸露內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:142 msgid "Sexual Themes" msgstr "性相關主題" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:144 msgid "No information regarding references to or depictions of sexual nature" msgstr "未ćŹäľ›ä»»ä˝•關於性相關描寫ć–暗示的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:148 msgid "Profanity" msgstr "粗俗用語" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:150 msgid "No information regarding profanity of any kind" msgstr "未ćŹäľ›ä»»ä˝•關於粗俗用語的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:154 msgid "Inappropriate Humor" msgstr "不當幽é»" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:156 msgid "No information regarding inappropriate humor" msgstr "未ćŹäľ›ä»»ä˝•關於不當幽é»çš„資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:160 msgid "Discrimination" msgstr "歧視" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:162 msgid "No information regarding discriminatory language of any kind" msgstr "未ćŹäľ›ä»»ä˝•關於歧視性言語的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:166 msgid "Advertising" msgstr "廣告" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:168 msgid "No information regarding advertising of any kind" msgstr "未ćŹäľ›ä»»ä˝•關於廣告內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:172 msgid "Gambling" msgstr "賭博" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:174 msgid "No information regarding gambling of any kind" msgstr "未ćŹäľ›ä»»ä˝•關於賭博內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:178 msgid "Purchasing" msgstr "ä»č˛»čłĽč˛·" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:180 msgid "No information regarding the ability to spend money" msgstr "未ćŹäľ›ä»»ä˝•關於金錢花費功č˝çš„資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:184 msgid "Chat Between Users" msgstr "使用者之間的文字čŠĺ¤©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:186 msgid "No information regarding ways to chat with other users" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľč‡ĺ…¶ä»–使用者čŠĺ¤©ć–ąĺĽŹçš„資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:190 msgid "Audio Chat Between Users" msgstr "使用者之間的語音čŠĺ¤©" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:192 msgid "No information regarding ways to talk with other users" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľč‡ĺ…¶ä»–使用者語音交談方式的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:196 msgid "Contact Details" msgstr "čŻçµˇčł‡č¨Š" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:198 msgid "" "No information regarding sharing of social network usernames or email " "addresses" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľĺ†äş«ç¤ľçľ¤ĺ¸łč™źć–é›»ĺ­éµä»¶ĺś°ĺť€çš„資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:202 msgid "Identifying Information" msgstr "可č­ĺĄĺ€‹äşşčş«ĺ†çš„資訊" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:204 msgid "No information regarding sharing of user information with third parties" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľč‡ç¬¬ä¸‰ć–ąĺ†äş«ä˝żç”¨č€…資訊的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:208 msgid "Location Sharing" msgstr "位置ĺ†äş«" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:210 msgid "No information regarding sharing of physical location with other users" msgstr "未ćŹäľ›ä»»ä˝•é—ść–Ľč‡ĺ…¶ä»–使用者ĺ†äş«ĺŻ¦éš›ä˝Ťç˝®çš„čł‡č¨Š" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:214 msgid "Prostitution" msgstr "性交ć“" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:216 msgid "No information regarding references to prostitution" msgstr "未ćŹäľ›ä»»ä˝•關於性交ć“相關內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:220 msgid "Adultery" msgstr "通姦" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:222 msgid "No information regarding references to adultery" msgstr "未ćŹäľ›ä»»ä˝•關於通姦相關內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:226 msgid "Sexualized Characters" msgstr "性化角色" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:228 msgid "No information regarding sexualized characters" msgstr "未ćŹäľ›ä»»ä˝•關於性化角色的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:232 msgid "Desecration" msgstr "褻瀆" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:234 msgid "No information regarding references to desecration" msgstr "未ćŹäľ›ä»»ä˝•關於褻瀆相關內容的資訊" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:238 msgid "Human Remains" msgstr "人類éşé޸" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:240 msgid "No information regarding visible dead human remains" msgstr "未ćŹäľ›ä»»ä˝•關於可見人類éşéŞ¸çš„čł‡č¨Š" #. TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:244 msgid "Slavery" msgstr "奴役" #. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ #: src/bz-age-rating-dialog.c:246 msgid "No information regarding references to slavery" msgstr "未ćŹäľ›ä»»ä˝•關於奴役相關內容的資訊" #: src/bz-age-rating-dialog.c:424 msgid "Does not include references to drugs" msgstr "不包ĺ«ä»»ä˝•č‡ćŻ’ĺ“相關的內容" #: src/bz-age-rating-dialog.c:426 msgid "" "Does not include swearing, profanity, and other kinds of strong language" msgstr "不包ĺ«é«’話ă€ç˛—俗用語ć–其他強ç語言" #: src/bz-age-rating-dialog.c:428 msgid "Does not include ads or monetary transactions" msgstr "不包ĺ«ĺ»Łĺ‘Šć–金錢交ć“" #: src/bz-age-rating-dialog.c:430 msgid "Does not include sex or nudity" msgstr "不包ĺ«ć€§ĺ…§ĺ®ąć–裸露描寫" #: src/bz-age-rating-dialog.c:432 msgid "Does not include uncontrolled chat functionality" msgstr "不包ĺ«ćśŞĺŹ—ćŽ§ç®ˇçš„é€šč¨ŠĺŠźč˝" #: src/bz-age-rating-dialog.c:434 msgid "Does not include violence" msgstr "不包ĺ«ćš´ĺŠ›ĺ…§ĺ®ą" #: src/bz-age-rating-dialog.c:469 msgid "Drugs" msgstr "毒ĺ“" #: src/bz-age-rating-dialog.c:471 msgid "Strong Language" msgstr "強ç語言" #: src/bz-age-rating-dialog.c:473 msgid "Money" msgstr "金錢" #: src/bz-age-rating-dialog.c:477 msgid "Social" msgstr "社交" #: src/bz-age-rating-dialog.c:479 msgid "Violence" msgstr "暴力" #. Translators: Age rating format, e.g. "12+" for ages 12 and up #: src/bz-age-rating-dialog.c:686 src/context-tile-callbacks.c:176 #, c-format msgid "%d+" msgstr "%d+" #: src/bz-age-rating-dialog.c:711 msgctxt "Age rating" msgid "All" msgstr "所有年齡層" #: src/bz-age-rating-dialog.c:747 #, c-format msgid "%s has an unknown age rating" msgstr "%s 的年齡ĺ†ç´šćśŞçźĄ" #: src/bz-age-rating-dialog.c:753 #, c-format msgid "%s is suitable for everyone" msgstr "%s é©ĺ所有年齡層" #: src/bz-age-rating-dialog.c:756 #, c-format msgid "%s is suitable for young children" msgstr "%s é©ĺ幼童" #: src/bz-age-rating-dialog.c:759 #, c-format msgid "%s is suitable for children" msgstr "%s é©ĺ兒童" #: src/bz-age-rating-dialog.c:762 #, c-format msgid "%s is suitable for teenagers" msgstr "%s é©ĺéť’ĺ°‘ĺą´" #: src/bz-age-rating-dialog.c:765 #, c-format msgid "%s is suitable for adults" msgstr "%s é©ĺćäşş" #: src/bz-age-rating-dialog.c:768 #, c-format msgid "%s is suitable for %s" msgstr "%s é©ĺ %s" #: src/bz-age-rating-dialog.c:862 #, c-format msgid "%s • %s" msgstr "%s • %s" #: src/bz-app-permissions.c:160 #, c-format msgid "System folder %s" msgstr "系統資料夾 %s" #: src/bz-app-permissions.c:162 #, c-format msgid "Home subfolder %s" msgstr "家目錄ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:164 msgid "Host system folders" msgstr "主機系統資料夾" #: src/bz-app-permissions.c:166 msgid "Host system configuration from /etc" msgstr "來自主機系統 /etc 中的系統設定" #: src/bz-app-permissions.c:169 #, c-format msgid "Desktop subfolder %s" msgstr "桌面ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:170 msgid "Desktop folder" msgstr "桌面資料夾" #: src/bz-app-permissions.c:173 #, c-format msgid "Documents subfolder %s" msgstr "文件ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:174 msgid "Documents folder" msgstr "文件資料夾" #: src/bz-app-permissions.c:177 #, c-format msgid "Music subfolder %s" msgstr "音樂ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:178 msgid "Music folder" msgstr "音樂資料夾" #: src/bz-app-permissions.c:181 #, c-format msgid "Pictures subfolder %s" msgstr "圖片ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:182 msgid "Pictures folder" msgstr "圖片資料夾" #: src/bz-app-permissions.c:185 #, c-format msgid "Public Share subfolder %s" msgstr "公開資料夾ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:186 msgid "Public Share folder" msgstr "公開資料夾" #: src/bz-app-permissions.c:189 #, c-format msgid "Videos subfolder %s" msgstr "影片ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:190 msgid "Videos folder" msgstr "影片資料夾" #: src/bz-app-permissions.c:193 #, c-format msgid "Templates subfolder %s" msgstr "模ç‰ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:194 msgid "Templates folder" msgstr "模ç‰čł‡ć–™ĺ¤ľ" #: src/bz-app-permissions.c:197 #, c-format msgid "User cache subfolder %s" msgstr "使用者快取ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:198 msgid "User cache folder" msgstr "使用者快取資料夾" #: src/bz-app-permissions.c:201 #, c-format msgid "User configuration subfolder %s" msgstr "使用者設定ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:202 msgid "User configuration folder" msgstr "使用者設定資料夾" #: src/bz-app-permissions.c:205 #, c-format msgid "User data subfolder %s" msgstr "使用者資料ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:206 msgid "User data folder" msgstr "使用者資料資料夾" #: src/bz-app-permissions.c:209 #, c-format msgid "User runtime subfolder %s" msgstr "使用者執行環ĺ˘ĺ­ç›®éŚ„ %s" #: src/bz-app-permissions.c:210 msgid "User runtime folder" msgstr "使用者執行環ĺ˘čł‡ć–™ĺ¤ľ" #: src/bz-app-permissions.c:212 #, c-format msgid "Filesystem access to %s" msgstr "ĺ°Ť %s 的檔ćˇçł»çµ±ĺ­ĺŹ–" #: src/bz-app-permissions.c:214 msgid "Unknown filesystem path" msgstr "未知的檔ćˇçł»çµ±ç›®éŚ„" #: src/bz-app-size-dialog.blp:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "下載大小" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "安裝大小" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "從網際網路下載的大小" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "çŁç˘źä¸Šçš„大小" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "開啟使用者資料資料夾" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "您的使用者資料" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "快取ă€č¨­ĺ®šä»ĄĺŹŠĺ…¶ä»–ć‡‰ç”¨ç¨‹ĺĽŹčł‡ć–™" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "快取" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "暫時快取的資料" #: src/bz-app-size-dialog.blp:176 msgid "Clear Cache" msgstr "清除快取" #: src/bz-app-size-dialog.c:99 msgid "Installed Runtime Size" msgstr "安裝後的執行環ĺ˘ĺ¤§ĺ°Ź" #: src/bz-app-size-dialog.c:99 msgid "Runtime Download Size" msgstr "執行環ĺ˘çš„下載大小" #: src/bz-app-size-dialog.c:111 src/bz-bundle-install-dialog.c:185 #: src/context-tile-callbacks.c:104 src/context-tile-callbacks.c:393 #: src/context-tile-callbacks.c:410 msgid "N/A" msgstr "N/A" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "應用程式大小" #: src/bz-app-tile.blp:57 src/bz-developer-badge.c:98 #: src/bz-rich-app-tile.blp:106 src/bz-rich-app-tile.c:443 msgid "Verified" msgstr "已驗證" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "已安裝" #: src/bz-application.c:786 msgid "The Bazaar Contributors" msgstr "Bazaar 貢獻者" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:789 msgid "translator-credits" msgstr "" "Shihfu Juan <xlion@xlion.tw>, 2025,2026\n" "Peter Dave Hello <hsu@peterdavehello.org>, 2025\n" "Kisaragi Hiu <mail@kisaragi-hiu.com>, 2026" #: src/bz-application.c:799 msgid "Special Thanks" msgstr "特ĺĄć„źč¬ť" #: src/bz-application.c:857 msgid "Logged Out Successfully!" msgstr "ĺ·˛ć功登出ďĽ" #: src/bz-application.c:995 msgid "Performing setup…" msgstr "正在進行設定…" #: src/bz-application.c:1087 msgid "Set Up System Flathub?" msgstr "設定系統 Flathub?" #: src/bz-application.c:1090 msgid "" "The system Flathub remote is not set up. Bazaar requires Flathub to be " "configured on the system Flatpak installation to browse and install " "applications.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "未設定系統 Flathub é ç«Żă€‚Bazaar 需č¦çł»çµ± Flatpak 有設定好 Flathub 才č˝ç€Źč¦˝č‡" "安裝應用程式。\n" "\n" "您仍可使用 Bazaar 來瀏覽ć–移除已安裝的應用程式。" #: src/bz-application.c:1097 msgid "Set Up Flathub?" msgstr "č¦č¨­ĺ®š Flathub 嗎?" #: src/bz-application.c:1100 msgid "" "Flathub is not set up on this system. You will not be able to browse and " "install applications in Bazaar if its unavailable.\n" "\n" "You can still use Bazaar to browse and remove already installed apps." msgstr "" "Flathub 未在此系統上設定完ć。若無法使用 Flathub,您將無法在 Bazaar 中瀏覽ć–" "安裝應用程式。\n" "\n" "您仍可使用 Bazaar 來瀏覽ć–移除已安裝的應用程式。" #: src/bz-application.c:1106 msgid "Later" msgstr "稍後" #: src/bz-application.c:1107 msgid "Set Up Flathub" msgstr "設定 Flathub" #: src/bz-application.c:1626 msgid "A backend error occurred" msgstr "發生後端錯誤" #: src/bz-application.c:1826 src/bz-application.c:4024 msgid "Refreshing…" msgstr "重新整ç†ä¸­â€¦" #: src/bz-application.c:1990 src/bz-application.c:4022 #, c-format msgid "Loading %d apps…" msgstr "正在載入 %d 個應用程式…" #: src/bz-application.c:2043 msgid "Failed to open file" msgstr "開啟檔ćˇĺ¤±ć•—" #: src/bz-application.c:2141 msgid "An initialization error occurred" msgstr "發生ĺťĺ§‹ĺŚ–éŚŻčŞ¤" #: src/bz-application.c:2535 msgid "Checking for updates…" msgstr "正在檢查更新…" #: src/bz-application.c:2591 msgid "Failed to check for updates" msgstr "檢查更新失敗" #: src/bz-application.c:3735 msgid "Malformed Link" msgstr "不正確的連çµ" #: src/bz-application.c:3736 msgid "" "The link used to open this app has incorrect capitalization and may stop " "working in the future.\n" "\n" "This is most likely caused by KRunner sending incorrect app IDs" msgstr "" "用來開啟此應用程式的連çµçš„大小寫不正確,可č˝ĺś¨ćśŞäľ†ćśä¸Ťĺ†Ťč˝ĺ¤ ä˝żç”¨ă€‚\n" "\n" "這通常ćŻĺ› ç‚ş KRunner 傳é€äş†ä¸Ťć­Łç˘şçš„應用程式 ID 所造ćçš„" #: src/bz-application.c:3744 msgid "Could not find app" msgstr "找不ĺ°ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-application.c:3775 msgid "Failed to load metainfo" msgstr "載入 metainfo 失敗" #: src/bz-application.c:4026 msgid "Writing to cache…" msgstr "正在寫入快取…" #: src/bz-apps-page.blp:97 msgid "Show All" msgstr "顯示全é¨" #: src/bz-apps-page.c:214 #, c-format msgid "All \"%s\"" msgstr "ĺ…¨é¨ ă€Ś%s」" #: src/bz-apps-page.c:462 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d 個應用程式" #: src/bz-article.blp:86 msgid "Failed to Load Article" msgstr "載入文章失敗" #: src/bz-bundle-install-dialog.blp:21 src/bz-bundle-install-dialog.blp:27 msgid "Bundle Installation" msgstr "Bundle 安裝" #: src/bz-bundle-install-dialog.blp:198 msgid "Additional dependencies may take extra space" msgstr "額外依賴可č˝ćśéś€č¦ć›´ĺ¤šç©şé–“" #: src/bz-bundle-install-dialog.blp:232 msgid "" "Installing this app may require adding a new software source. Other apps " "from this source will show up in Bazaar.\n" "\n" "Only add this source if you're sure you trust it." msgstr "" "安裝此應用程式可č˝éś€č¦ĺŠ ĺ…Ąć–°çš„č»źé«”äľ†ćşă€‚加入後此來ćşçš„應用程式ćśĺ‡şçŹľĺś¨ " "Bazaar 當中。\n" "\n" "請確定ĺ…在信任該來ćşć™‚才將ĺ®ĺŠ ĺ…Ąă€‚" #: src/bz-bundle-install-dialog.blp:412 msgid "Successfully Installed!" msgstr "ć功安裝ďĽ" #: src/bz-bundle-install-dialog.blp:437 src/bz-bundle-install-dialog.blp:522 #: src/bz-rich-app-tile.blp:199 src/bz-transaction-tile.blp:298 msgid "Open" msgstr "開啟" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "顯示應用程式詳細資訊" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "已安裝" #: src/bz-bundle-install-dialog.blp:544 msgid "Installation Failed" msgstr "安裝失敗" #: src/bz-bundle-install-dialog.c:168 msgid "Unknown install size" msgstr "未知安裝大小" #: src/bz-bundle-install-dialog.c:171 #, c-format msgid "About %s to install" msgstr "安裝需č¦ĺ¤§ç´„ %s" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "無特殊權é™" #: src/context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "在éŽĺŽ»ä¸€ĺ€‹ćśĺ…§ćś‰ %d 次下載" #: src/context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s 執行環ĺ˘" #: src/context-tile-callbacks.c:135 msgid "Download" msgstr "下載" #: src/context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "大小資訊未知" #: src/context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "下載 %s 的大小" #: src/context-tile-callbacks.c:191 msgid "All Ages" msgstr "所有年齡層" #: src/context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "年齡ĺ†ç´ščł‡č¨ŠćśŞçźĄ" #: src/context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "é©ĺ所有年齡層" #: src/context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "é©ĺ %d 歲以上" #: src/context-tile-callbacks.c:243 src/context-tile-callbacks.c:248 #: src/context-tile-callbacks.c:276 src/context-tile-callbacks.c:285 msgid "Unknown" msgstr "未知" #: src/context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "äľť %s ćŽć¬Šçš„自由軟體" #: src/context-tile-callbacks.c:258 msgid "Free software" msgstr "自由軟體" #: src/context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "ĺ°ćś‰č»źé«”" #: src/context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "特殊ćŽć¬ŠďĽš%s" #. TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis" #: src/context-tile-callbacks.c:282 msgid "Free Software" msgstr "自由軟體" #: src/context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "ĺ°ćś‰" #: src/context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "特殊ćŽć¬Š" #: src/context-tile-callbacks.c:310 msgid "Adaptive" msgstr "支援多裝置" #: src/context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "ĺ…é™ćˇŚéť˘" #: src/context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "可在電腦ă€ĺąłćťżč‡ć‰‹ć©źä¸Šä˝żç”¨" #: src/context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "可č˝ç„ˇćł•在行動裝置上使用" #: src/context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "安全" #: src/context-tile-callbacks.c:402 src/context-tile-callbacks.c:404 msgid "Low Risk" msgstr "低風險" #: src/context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "中度風險" #: src/context-tile-callbacks.c:408 msgid "High Risk" msgstr "é«é˘¨éšŞ" #: src/bz-curated-view.blp:24 src/bz-favorites-page.blp:46 #: src/bz-flathub-page.blp:19 src/bz-full-view.blp:30 src/bz-full-view.blp:41 #: src/bz-library-page.blp:67 src/bz-user-data-page.blp:30 msgid "Empty" msgstr "無內容" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "未經人工策é¸" #: src/bz-curated-view.blp:30 msgid "" "There is no curation information provided on this system. You can still " "browse apps on Flathub" msgstr "此系統未ćŹäľ›äşşĺ·Ąç­–é¸čł‡č¨Šă€‚你仍可瀏覽 Flathub 上的應用程式" #: src/bz-curated-view.blp:34 msgid "Browse Flathub" msgstr "瀏覽 Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "離線" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-curated-view.blp:57 src/bz-flathub-page.blp:61 #: src/bz-search-pill-list.c:67 msgid "Browser" msgstr "瀏覽" #: src/bz-developer-badge.c:94 src/bz-developer-badge.c:98 msgid "Not Verified" msgstr "未驗證" #: src/bz-developer-badge.c:213 msgid "Developer information not available." msgstr "無法取得開發者資訊。" #: src/bz-developer-badge.c:219 src/bz-developer-badge.c:233 #, c-format msgid "" "The ownership of the %s app ID has not been verified and it may be a " "community package." msgstr "應用程式 ID %s 的所有權尚未經éŽé©—證,可č˝ç‚şç¤ľçľ¤ćŹäľ›çš„套件。" #: src/bz-developer-badge.c:237 #, c-format msgid "" "The ownership of the %s app ID has been manually verified by the Flathub " "team." msgstr "應用程式 ID %s 的所有權已由 Flathub ĺśéšŠäşşĺ·Ąé©—證。" #: src/bz-developer-badge.c:253 #, c-format msgid "" "The ownership of the %1$s app ID has been verified by <b>%2$s</b> on " "<b>%3$s</b>." msgstr "應用程式 ID %1$s 的所有權已由 <b>%2$s</b> ć–Ľ <b>%3$s</b> 驗證。" #: src/bz-developer-badge.c:260 #, c-format msgid "The ownership of the %1$s app ID has been verified using %2$s." msgstr "應用程式 ID %1$s çš„ć‰€ćś‰ć¬Šĺ·˛é€ŹéŽ %2$s 驗證。" #: src/bz-developer-badge.c:264 #, c-format msgid "The ownership of the %s app ID has been verified." msgstr "應用程式 ID %s 的所有權已完ć驗證。" #: src/bz-donations-dialog.blp:74 msgid "Full Release Notes" msgstr "完整發行註č¨" #: src/bz-donations-dialog.blp:108 msgid "This release was made possible by users like you!" msgstr "這個ç‰ćś¬ç”±ĺ¦‚ĺŚć‚¨çš„使用者支ćŚč€Śč®Šĺľ—可č˝ďĽ" #: src/bz-donations-dialog.blp:116 msgid "" "I love making Bazaar, but I cannot do it alone. Help support further " "development by donating on Ko-Fi." msgstr "" "ć‘熱愛製作 Bazaar,但ć‘沒辦法靠自己一個人獨自完ćă€‚č«‹ĺ° Ko-Fi ćŤć¬ľäľ†ć”ŻćŚćŚçşŚ" "的開發。" #: src/bz-donations-dialog.blp:131 msgid "Donate to Bazaar" msgstr "ćŤć¬ľçµ¦ Bazaar" #. Translators: the %s format specifier will be something along the lines of "0.7.6" etc #: src/bz-donations-dialog.c:227 #, c-format msgid "What's New in %s?" msgstr "%s 有什麼新功č˝ďĽź" #. Translators: this is a release date label, like "Released February 9, 2026" #: src/bz-donations-dialog.c:243 msgid "Released %B %-e, %Y" msgstr "ć–Ľ%Yĺą´%mćś%d日釋出" #: src/bz-entry-group-util.c:73 msgid "Choose an Installation" msgstr "é¸ć“‡č¦ä˝żç”¨çš„安裝項目" #: src/bz-entry-group-util.c:76 msgid "" "You have multiple versions of this app installed. Which one would you like " "to proceed with?" msgstr "您已安裝此應用程式的多個ç‰ćś¬ă€‚č¦çąĽçşŚä˝żç”¨ĺ“Şä¸€ĺ€‹ç‰ćś¬ďĽź" #: src/bz-entry-group-util.c:80 src/bz-rich-app-tile.blp:233 msgid "Cancel" msgstr "取ć¶" #: src/bz-entry-selection-row.blp:17 msgid "For This User Only" msgstr "ĺ…此使用者" #: src/bz-entry-selection-row.c:112 msgid "this user" msgstr "這個使用者" #: src/bz-entry-selection-row.c:112 msgid "all users" msgstr "所有使用者" #: src/bz-error-dialog.blp:36 src/error.c:69 src/error.c:88 #: src/bz-safety-dialog.blp:98 msgid "Details" msgstr "詳細資訊" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "複製" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:408 #: src/bz-share-list.c:364 msgid "Copied!" msgstr "已複製ďĽ" #: src/bz-favorite-button.blp:14 msgid "Favorite Count" msgstr "收藏數量" #: src/bz-favorite-button.c:388 msgid "Failed to update favorite" msgstr "更新收藏失敗" #: src/bz-favorite-button.c:434 msgid "Log in with Flathub to manage favorites" msgstr "登入至 Flathub 以管ç†ćś€ć„›" #: src/bz-favorite-button.c:440 msgid "Log In" msgstr "登入" #: src/bz-favorites-page.blp:5 src/bz-favorites-page.blp:56 #: src/bz-window.blp:335 msgid "Favorites" msgstr "ć”¶č—Ź" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:86 msgid "Install All" msgstr "安裝全é¨" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "載入中" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "沒有收藏" #: src/bz-favorites-page.blp:50 msgid "Applications you mark as favorite will appear here" msgstr "您所收藏的應用程式將ćśéˇŻç¤şĺś¨é€™čَ" #: src/bz-favorites-tile.blp:60 msgid "Support This Application" msgstr "支援此應用程式" #: src/bz-favorites-tile.blp:109 msgid "Remove From Favorites" msgstr "從收藏中移除" #: src/bz-favorites-tile.c:353 msgid "Failed to remove favorite" msgstr "移除收藏失敗" #: src/bz-featured-carousel.blp:32 msgid "Previous" msgstr "上一個" #: src/bz-featured-carousel.blp:55 msgid "Next" msgstr "下一個" #: src/bz-flathub-category.c:95 msgid "Editing" msgstr "編輯" #: src/bz-flathub-category.c:96 msgid "Midi" msgstr "MIDI" #: src/bz-flathub-category.c:97 msgid "Mixer" msgstr "ć··éźł" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-flathub-category.c:98 src/bz-search-pill-list.c:77 msgid "Music" msgstr "音樂" #: src/bz-flathub-category.c:99 msgid "Player" msgstr "播放程式" #: src/bz-flathub-category.c:100 msgid "Recorder" msgstr "錄音機" #: src/bz-flathub-category.c:101 msgid "Sequencer" msgstr "音序器" #: src/bz-flathub-category.c:102 msgid "Tuner" msgstr "調諧器" #: src/bz-flathub-category.c:103 msgid "TV" msgstr "電視" #: src/bz-flathub-category.c:108 msgid "Emulation" msgstr "模擬器" #: src/bz-flathub-category.c:109 msgid "Action" msgstr "動作" #: src/bz-flathub-category.c:110 msgid "Adventure" msgstr "冒險" #: src/bz-flathub-category.c:111 msgid "Arcade" msgstr "街機" #: src/bz-flathub-category.c:112 msgid "Blocks" msgstr "方塊" #: src/bz-flathub-category.c:113 msgid "Board" msgstr "棋盤" #: src/bz-flathub-category.c:114 msgid "Card" msgstr "卡片" #: src/bz-flathub-category.c:115 msgid "Kids" msgstr "兒童" #: src/bz-flathub-category.c:116 msgid "Logic" msgstr "邏輯" #: src/bz-flathub-category.c:117 msgid "Role Playing" msgstr "角色扮演" #: src/bz-flathub-category.c:118 msgid "Shooter" msgstr "射擊" #: src/bz-flathub-category.c:119 msgid "Simulation" msgstr "模擬" #: src/bz-flathub-category.c:120 msgid "Sports" msgstr "é‹ĺ‹•" #: src/bz-flathub-category.c:121 msgid "Strategy" msgstr "策略" #: src/bz-flathub-category.c:126 msgid "Browsers" msgstr "瀏覽器" #: src/bz-flathub-category.c:127 msgid "Chat" msgstr "čŠĺ¤©" #: src/bz-flathub-category.c:128 msgid "Mail" msgstr "éµä»¶" #: src/bz-flathub-category.c:129 msgid "File Sharing" msgstr "檔ćˇĺ†äş«" #: src/bz-flathub-category.c:134 msgid "Audio & Video" msgstr "影音" #: src/bz-flathub-category.c:134 msgid "Media" msgstr "媒體" #: src/bz-flathub-category.c:134 msgid "More Audio & Video" msgstr "更多影音" #: src/bz-flathub-category.c:135 msgid "Developer Tools" msgstr "開發者工具" #: src/bz-flathub-category.c:135 msgid "Develop" msgstr "開發" #: src/bz-flathub-category.c:135 msgid "More Developer Tools" msgstr "更多開發者工具" #: src/bz-flathub-category.c:136 msgid "Education" msgstr "教育" #: src/bz-flathub-category.c:136 msgid "Learn" msgstr "學習" #: src/bz-flathub-category.c:136 msgid "More Education" msgstr "更多教育" #: src/bz-flathub-category.c:137 msgid "Gaming" msgstr "éŠć˛" #: src/bz-flathub-category.c:137 msgid "Play" msgstr "éŠçŽ©" #: src/bz-flathub-category.c:137 msgid "More Gaming" msgstr "更多éŠć˛" #: src/bz-flathub-category.c:138 msgid "Graphics & Photography" msgstr "ĺ˝±ĺŹč‡ć”ťĺ˝±" #: src/bz-flathub-category.c:138 msgid "Create" msgstr "創作" #: src/bz-flathub-category.c:138 msgid "More Graphics & Photography" msgstr "更多影ĺŹč‡ć”ťĺ˝±" #: src/bz-flathub-category.c:139 msgid "Networking" msgstr "網路" #: src/bz-flathub-category.c:139 msgid "Internet" msgstr "網際網路" #: src/bz-flathub-category.c:139 msgid "More Networking" msgstr "更多網路" #: src/bz-flathub-category.c:140 msgid "Productivity" msgstr "生產力" #: src/bz-flathub-category.c:140 msgid "Work" msgstr "工作" #: src/bz-flathub-category.c:140 msgid "More Productivity" msgstr "更多生產力" #: src/bz-flathub-category.c:141 msgid "Science" msgstr "ç§‘ĺ­¸" #: src/bz-flathub-category.c:141 msgid "More Science" msgstr "更多科學" #: src/bz-flathub-category.c:142 msgid "System" msgstr "系統" #: src/bz-flathub-category.c:142 msgid "More System" msgstr "更多系統" #: src/bz-flathub-category.c:143 msgid "Utilities" msgstr "工具程式" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:437 msgid "Tools" msgstr "ĺ·Ąĺ…·" #: src/bz-flathub-category.c:143 msgid "More Utilities" msgstr "更多工具程式" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "近期熱門" #: src/bz-flathub-category.c:144 msgid "More Trending" msgstr "更多近期熱門" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:174 msgid "Popular" msgstr "最受歡迎" #: src/bz-flathub-category.c:145 msgid "More Popular" msgstr "更多最受歡迎" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:163 msgid "Recently Added" msgstr "最近新增" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 msgid "New" msgstr "最新" #: src/bz-flathub-category.c:146 msgid "More New" msgstr "更多最新" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:152 msgid "Recently Updated" msgstr "最近更新" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "已更新" #: src/bz-flathub-category.c:147 msgid "More Updated" msgstr "更多更新" #: src/bz-flathub-category.c:148 msgid "Mobile" msgstr "行動裝置" #: src/bz-flathub-category.c:148 msgid "More Mobile" msgstr "更多行動裝置" #: src/bz-flathub-category.c:149 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:149 msgid "More Adwaita" msgstr "更多 Adwaita" #: src/bz-flathub-category.c:150 msgid "KDE Apps" msgstr "KDE 應用程式" #: src/bz-flathub-category.c:150 msgid "More KDE Apps" msgstr "更多 KDE 應用程式" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:419 msgid "Games" msgstr "éŠć˛" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "更多éŠć˛" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 msgid "Emulators" msgstr "模擬器" #: src/bz-flathub-category.c:152 msgid "More Emulators" msgstr "更多模擬器" #: src/bz-flathub-category.c:153 src/bz-flathub-page.blp:431 msgid "Launchers" msgstr "啟動器" #: src/bz-flathub-category.c:153 msgid "More Game Launchers" msgstr "更多éŠć˛ĺ•źĺ‹•器" #: src/bz-flathub-category.c:154 msgid "Game Tools" msgstr "éŠć˛ĺ·Ąĺ…·" #: src/bz-flathub-category.c:154 msgid "More Game Tools" msgstr "更多éŠć˛ĺ·Ąĺ…·" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "尚未加入 Flathub" #: src/bz-flathub-page.blp:24 msgid "The Flathub remote was not found on any of your Flatpak installations" msgstr "在您的任何 Flatpak 安裝中é˝ć‰ľä¸Ťĺ° Flathub é ç«Ż" #: src/bz-flathub-page.blp:30 msgid "Flathub Unavailable" msgstr "Flathub 無法使用" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "無法連線至 Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for apps." msgstr "您仍可管ç†ć–ćśĺ°‹ć‡‰ç”¨ç¨‹ĺĽŹă€‚" #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "ćśĺ°‹ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "重新連線" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "今日精é¸ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "隨時隨地" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "é©ç”¨ć–Ľć‚¨çš„ Linux 手機č‡ĺąłćťżçš„應用程式" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "更多行動應用程式" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "ć‘們 ♥ éŠć˛" #: src/bz-flathub-page.blp:394 msgid "Games and apps to run your favorite titles" msgstr "用來執行您最愛作ĺ“çš„éŠć˛č‡ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "沒有çµćžś" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "č«‹ĺ—試不ĺŚçš„ćśĺ°‹é—śéŤµĺ­—" #: src/bz-full-view.blp:47 msgid "Content" msgstr "內容" #: src/bz-full-view.blp:106 msgid "" "This is a local preview, some details may differ from the published listing" msgstr "這ćŻćś¬ĺś°é č¦˝ďĽŚä¸€äş›ç´°çŻ€ĺŹŻč˝č‡ç™Ľä˝ĺľŚçš„é éť˘ä¸ŤĺŚ" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "é č¦˝ĺ•†ĺş—外觀" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "贊助(_S)" #: src/bz-full-view.blp:461 msgid "" "This app uses a runtime that no longer receives updates or security fixes. " "It may become unsafe to use." msgstr "" "此應用程式使用的執行環ĺ˘ĺ·˛ä¸Ťĺ†ŤćŽĄć”¶ć›´ć–°ć–安全修補,使用上可č˝ĺ­ĺś¨ĺ®‰ĺ…¨é˘¨éšŞă€‚" #: src/bz-full-view.blp:540 msgid "Trash Data" msgstr "將資料移至ĺžĺśľćˇ¶" #: src/bz-full-view.blp:603 msgid "Add-ons" msgstr "附加ĺ…ä»¶" #: src/bz-full-view.blp:638 msgid "More Add-Ons" msgstr "更多附加ĺ…ä»¶" #: src/bz-full-view.blp:649 msgid "Links" msgstr "連çµ" #: src/bz-full-view.c:181 msgid "No URL" msgstr "沒有網址" #: src/bz-full-view.c:199 msgid "" "This app has a FLOSS license, meaning the source code can be audited for " "safety." msgstr "" "此應用程式具有 FLOSSďĽč‡Şç”±ä¸”é–‹ćşďĽ‰ćŽć¬ŠďĽŚé€™ć„Źĺ‘łč‘—其原始碼可供審查以確保安全" "性。" #: src/bz-full-view.c:200 msgid "" "This app has a proprietary license, meaning the source code is developed " "privately and cannot be audited by an independent third party." msgstr "此應用程式採用ĺ°ćś‰ćŽć¬ŠďĽŚčˇ¨ç¤şĺ…¶ĺŽźĺ§‹ç˘Ľç‚şç§ćś‰ďĽŚç„ˇćł•由第三方獨立審查。" #: src/bz-full-view.c:207 msgid "More Apps" msgstr "更多應用程式" #: src/bz-full-view.c:208 #, c-format msgid "More Apps by %s" msgstr "更多由 %s 製作的應用程式" #: src/bz-full-view.c:215 msgid "Other Apps by this Developer" msgstr "其他由此開發者製作的應用程式" #: src/bz-full-view.c:217 src/bz-full-view.c:317 #, c-format msgid "Other Apps by %s" msgstr "ĺ…¶ä»–ç”± %s 製作的應用程式" #: src/bz-full-view.c:226 #, c-format msgid "%s is not installed, but it still has <b>%s</b> of data present." msgstr "%s 並未安裝,但仍保留 <b>%s</b> 的資料。" #: src/bz-full-view.c:319 msgid "Other Apps" msgstr "其他應用程式" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d 個應用程式" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 msgid "Failed to Remove User Data" msgstr "移除使用者資料失敗" #: src/bz-hardware-support-dialog.blp:7 src/bz-hardware-support-dialog.blp:31 msgid "Hardware Support" msgstr "硬體支援" #: src/bz-hardware-support-dialog.c:62 msgid "Keyboard support" msgstr "鍵盤支援" #: src/bz-hardware-support-dialog.c:64 msgid "Requires keyboards" msgstr "需č¦éŤµç›¤" #: src/bz-hardware-support-dialog.c:65 msgid "Recommends keyboards" msgstr "建議ć­é…ŤéŤµç›¤ä˝żç”¨" #: src/bz-hardware-support-dialog.c:66 msgid "Supports keyboards" msgstr "支援鍵盤" #: src/bz-hardware-support-dialog.c:67 msgid "Unknown support for keyboards" msgstr "鍵盤支援ć…ćłćśŞçźĄ" #: src/bz-hardware-support-dialog.c:69 msgid "Mouse support" msgstr "滑鼠支援" #: src/bz-hardware-support-dialog.c:71 msgid "Requires mice or pointing devices" msgstr "需č¦ć»‘鼠ć–指ĺ‘性裝置" #: src/bz-hardware-support-dialog.c:72 msgid "Recommends mice or pointing devices" msgstr "建議ć­é…Ťć»‘鼠ć–指ĺ‘性裝置" #: src/bz-hardware-support-dialog.c:73 msgid "Supports mice or pointing devices" msgstr "支援滑鼠ć–指ĺ‘性裝置" #: src/bz-hardware-support-dialog.c:74 msgid "Unknown support for mice or pointing devices" msgstr "滑鼠ć–指ĺ‘性裝置支援ć…ćłćśŞçźĄ" #: src/bz-hardware-support-dialog.c:76 msgid "Touchscreen support" msgstr "觸控螢幕支援" #: src/bz-hardware-support-dialog.c:78 msgid "Requires touchscreens" msgstr "需č¦č§¸ćŽ§čž˘ĺą•" #: src/bz-hardware-support-dialog.c:79 msgid "Recommends touchscreens" msgstr "建議ć­é…Ťč§¸ćŽ§čž˘ĺą•" #: src/bz-hardware-support-dialog.c:80 msgid "Supports touchscreens" msgstr "支援觸控螢幕" #: src/bz-hardware-support-dialog.c:81 msgid "Unknown support for touchscreens" msgstr "觸控螢幕支援ć…ćłćśŞçźĄ" #: src/bz-hardware-support-dialog.c:160 msgid "Mobile support" msgstr "行動裝置支援" #: src/bz-hardware-support-dialog.c:161 msgid "Works on mobile devices" msgstr "可在行動裝置上使用" #: src/bz-hardware-support-dialog.c:161 msgid "May not work well on mobile devices" msgstr "在行動裝置上的使用體驗可č˝ä¸Ťä˝ł" #: src/bz-hardware-support-dialog.c:166 msgid "Desktop support" msgstr "桌面電腦支援" #: src/bz-hardware-support-dialog.c:167 msgid "Works well on large screens" msgstr "在大螢幕上é‹ä˝śč‰ŻĺĄ˝" #: src/bz-hardware-support-dialog.c:201 #, c-format msgid "%s works best on specific hardware" msgstr "%s 在特定硬體上可發揮最佳ć•č˝" #: src/bz-hardware-support-dialog.c:209 #, c-format msgid "%s works on most devices" msgstr "%s 可在多數裝置上使用" #: src/bz-install-controls.blp:58 msgid "_Open" msgstr "開啟(_O)" #: src/bz-install-controls.blp:73 src/bz-install-controls.blp:128 msgid "Uninstall Application" msgstr "移除應用程式" #: src/bz-install-controls.blp:83 src/bz-transaction-dialog.c:230 msgid "_Remove" msgstr "移除(_R)" #: src/bz-install-controls.blp:115 src/bz-updates-card.c:168 #: src/bz-updates-card.c:187 msgid "Update" msgstr "ć›´ć–°" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:109 msgid "Remove" msgstr "移除" #: src/bz-install-controls.c:638 #, c-format msgid "Install %s from %s" msgstr "ĺľž %2$s 安裝 %1$s" #: src/bz-install-controls.c:640 #, c-format msgid "Install %s" msgstr "安裝 %s" #: src/bz-install-controls.wdgt:32 msgctxt "Install Controls" msgid "Cancel" msgstr "取ć¶" #: src/bz-install-controls.wdgt:35 msgctxt "Install Controls" msgid "Cancelling" msgstr "正在取ć¶" #: src/bz-installed-tile.blp:80 msgid "Donate Button" msgstr "ćŤć¬ľćډé•" #: src/bz-library-page.blp:32 msgid "Search installed apps" msgstr "ćśĺ°‹ĺ·˛ĺ®‰čŁťçš„ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "清除ćśĺ°‹" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "找不ĺ°ä»»ä˝•應用程式" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "改ćśĺ°‹ĺ•†ĺş—" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "程式庫" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "待處ç†çš„ć›´ć–°" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "下載次數" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "最近解除安裝" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "清除已完ć的作業" #: src/bz-library-page.blp:277 msgid "Sort Options" msgstr "排序é¸é …" #: src/bz-library-page.blp:336 msgid "Sort By" msgstr "排序依據" #: src/bz-library-page.blp:350 msgid "Name" msgstr "ĺŤç¨±" #: src/bz-library-page.blp:356 msgid "Size" msgstr "大小" #: src/bz-library-page.c:180 #, c-format msgid "No matches found for \"%s\" in the list of installed apps" msgstr "在已安裝的應用程式清單中找不ĺ°ç¬¦ĺ「%s」的項目" #: src/bz-library-page.c:193 src/bz-updates-card.c:437 #, c-format msgid "%u Available Update" msgid_plural "%u Available Updates" msgstr[0] "%u 個可用更新" #: src/bz-library-page.c:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u 個已安裝的應用程式" #: src/bz-license-dialog.blp:87 msgid "Get Involved" msgstr "ĺŹč‡č˛˘çŤ»" #: src/bz-license-dialog.blp:114 msgid "Learn More" msgstr "了解更多" #: src/bz-license-dialog.c:127 msgid "Unknown License" msgstr "未知ćŽć¬Š" #: src/bz-license-dialog.c:130 msgid "Community Built" msgstr "社群打造" #: src/bz-license-dialog.c:203 msgid "" "This app is developed in the open by an international community.\n" "\n" "You can participate and help make it even better." msgstr "" "此應用程式由國際社群以開放方式開發。\n" "\n" "您可以ĺŹč‡č˛˘çŤ»ďĽŚĺŤ”助讓ĺ®č®Šĺľ—更好。" #: src/bz-license-dialog.c:206 msgid "The license of this app is not known" msgstr "此應用程式的ćŽć¬Ščł‡č¨ŠćśŞçźĄ" #: src/bz-license-dialog.c:212 #, c-format msgid "" "This app is developed in the open by an international community, and " "released under the %s license.\n" "\n" "You can participate and help make it even better." msgstr "" "此應用程式由國際社群以開放方式開發,並以 %s ćŽć¬Šé‡‹ĺ‡şă€‚\n" "\n" "您可以ĺŹč‡č˛˘çŤ»ďĽŚĺŤ”助讓ĺ®č®Šĺľ—更好。" #: src/bz-license-dialog.c:220 msgid "" "This app is not developed in the open, so only its developers know how it " "works. It may be insecure in ways that are hard to detect, and it may change " "without oversight.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "此應用程式並非以開放方式開發,因此只有開發者知é“ĺ…¶é‹ä˝ść–ąĺĽŹă€‚ĺ®ĺŹŻč˝ĺ­ĺś¨é›Łä»ĄĺŻź" "覺的安全風險,且可č˝ĺś¨çĽşäąŹç›ŁçťŁçš„ć…ćłä¸‹č®Šć›´ă€‚\n" "\n" "您可č˝ĺŹŻä»ĄďĽŚäąźĺŹŻč˝ç„ˇćł•對此應用程式ĺšĺ‡şč˛˘çŤ»ă€‚" #: src/bz-license-dialog.c:226 #, c-format msgid "" "This app is developed under the special license %s.\n" "\n" "You may or may not be able to contribute to this app." msgstr "" "此應用程式採用特殊ćŽć¬Š %s 開發。\n" "\n" "您可č˝ĺŹŻä»ĄďĽŚäąźĺŹŻč˝ç„ˇćł•對此應用程式ĺšĺ‡şč˛˘çŤ»ă€‚" #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:101 msgid "License" msgstr "ćŽć¬Š" #: src/bz-login-page.blp:6 src/bz-login-page.blp:45 msgid "Connect to Flathub" msgstr "連çµč‡ł Flathub" #: src/bz-login-page.blp:35 msgid "Something Went Wrong" msgstr "發生問題" #: src/bz-login-page.blp:46 msgid "Log in to sync your favorited apps across devices" msgstr "登入來在裝置之間ĺŚć­Ąć‚¨ć”¶č—Źĺ“Şäş›ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-login-page.blp:113 msgid "Finish" msgstr "完ć" #: src/bz-login-page.c:665 #, c-format msgid "Hello, %s!" msgstr "您好,%sďĽ" #: src/bz-metainfo-preview.c:84 msgid "Select Metainfo File" msgstr "é¸ĺŹ– Metainfo 檔ćˇ" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Metainfo 檔ćˇ" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "é¸ĺŹ–ĺś–ç¤şďĽéťžĺż…č¦ďĽ‰" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "ĺ˝±ĺŹćŞ”ćˇ" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "é č¦˝" #: src/bz-preferences-dialog.blp:19 msgid "Preferences" msgstr "ĺŹĺĄ˝č¨­ĺ®š" #: src/bz-preferences-dialog.blp:25 msgid "Network connection is metered — automatic store data refresh is paused" msgstr "目前的網路連線為č¨é‡Źé€Łç·š —— 已暫ĺśĺ•†ĺş—資料的自動重新整ç†" #: src/bz-preferences-dialog.blp:26 src/bz-window.blp:235 msgid "Refresh Manually" msgstr "手動重新整ç†" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "內容篩é¸" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "ĺ…顯示自由軟體" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary apps when browsing and searching" msgstr "在瀏覽č‡ćśĺ°‹ć™‚隱藏ĺ°ćś‰ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "ĺ…顯示 Flathub çµćžś" #: src/bz-preferences-dialog.blp:40 msgid "Limit search and browse results to apps only available on Flathub" msgstr "在瀏覽č‡ćśĺ°‹ć™‚ĺ…顯示在 Flathub 上ćŹäľ›çš„應用程式" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "ĺ…顯示已驗證的çµćžś" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "隱藏未經 Flathub 驗證的çµćžś" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "隱藏已終止支援的應用程式" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "隱藏已不再由開發者支援的應用程式" #: src/bz-preferences-dialog.blp:55 msgid "Progress Bar Theme" msgstr "進度ĺ—主題" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "強調色" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "驕傲旗配色" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "女ĺŚĺż—驕傲旗配色" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "ç”·ĺŚĺż—驕傲旗配色" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "跨性ĺĄé©•傲旗配色" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "非二ĺ…性ĺĄé©•傲旗配色" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "雙性ć€é©•傲旗配色" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "無性ć€é©•傲旗配色" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "泛性ć€é©•傲旗配色" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "無浪漫傾ĺ‘驕傲旗配色" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "性ĺĄćµĺ‹•驕傲旗配色" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "多ĺ…性ĺ‘驕傲旗配色" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "全性ĺ‘驕傲旗配色" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "無浪漫/無性ć€é©•傲旗配色" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "無性ĺĄé©•傲旗配色" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "性ĺĄé…·ĺ…’驕傲旗配色" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "雙性人驕傲旗配色" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "半性ĺĄé©•傲旗配色" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "雙浪漫傾ĺ‘驕傲旗配色" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "čş«ĺżéšśç¤™é©•傲旗配色" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "女性氣質男性驕傲旗配色" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "中性性ĺĄé©•傲旗配色" #: src/bz-releases-dialog.blp:5 src/bz-updates-card.c:159 msgid "Version History" msgstr "ç‰ćś¬ç´€éŚ„" #: src/bz-releases-list.blp:27 msgid "_Version History" msgstr "ç‰ćś¬ç´€éŚ„(_V)" #. Translators: something happened less than a day ago #: src/bz-releases-list.c:122 msgid "Today" msgstr "今天" #. Translators: something happened more than a day ago but less than 2 days ago #: src/bz-releases-list.c:125 msgid "Yesterday" msgstr "ć¨ĺ¤©" #. Translators: something happened days ago #: src/bz-releases-list.c:128 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" #. Translators: something happened weeks ago #: src/bz-releases-list.c:131 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 週前" #. Translators: something happened months ago #: src/bz-releases-list.c:134 #, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d 個ćśĺ‰Ť" #. Translators: something happened years ago #: src/bz-releases-list.c:137 #, c-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d 年前" # ćśč®Šć "2026ĺą´6ćś25ć—Ą"。ďĽ%B ćŻćĽ˘ĺ­—數字「六ćśă€ŤďĽŚ%b ćŻĺ‰Ťéť˘ćś‰ç©şć Ľä˝†čŁˇéť˘ć˛’ćś‰çš„ " 6ćś")--Kisaragi #. TRANSLATORS: This is the date string with: day number, month name, year. #. i.e. "22 March 2026" #: src/bz-releases-list.c:155 msgid "%e %B %Y" msgstr "%Yĺą´%mćś%dć—Ą" #: src/bz-releases-list.c:196 #, c-format msgid "Version %s" msgstr "ç‰ćś¬ %s" #: src/bz-releases-list.c:251 msgid "No details for this release" msgstr "ć­¤ç‰ćś¬ć˛’有詳細資訊" #: src/bz-releases-list.c:264 msgid "Get More Information" msgstr "取得更多資訊" #: src/bz-rich-app-tile.blp:218 msgid "Uninstall" msgstr "解除安裝" #. Translators: If you can't find a short enough translation, use "/" to use an icon instead. #: src/bz-rich-app-tile.c:383 msgid "Get" msgstr "取得" #: src/safety-calculator.c:87 msgid "Unknown Permissions" msgstr "未知的權é™" #: src/safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "此應用程式缺少權é™čł‡č¨Šă€‚" #: src/safety-calculator.c:101 msgid "No Permissions" msgstr "無權é™éś€ć±‚" #: src/safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "此應用程式已完全沙箱化" #: src/safety-calculator.c:108 msgid "Network Access" msgstr "網路ĺ­ĺŹ–" #: src/safety-calculator.c:109 msgid "Can access the internet" msgstr "可ĺ­ĺŹ–ç¶˛éš›ç¶˛č·Ż" #: src/safety-calculator.c:111 msgid "No Network Access" msgstr "無網路ĺ­ĺŹ–" #: src/safety-calculator.c:112 msgid "Cannot access the internet" msgstr "無法ĺ­ĺŹ–ç¶˛éš›ç¶˛č·Ż" #: src/safety-calculator.c:117 msgid "User Device Access" msgstr "使用者裝置ĺ­ĺŹ–" #: src/safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "可ĺ­ĺŹ–ĺ¦‚ç¶˛č·Żć”ťĺ˝±ć©źć–éŠć˛ćާĺ¶ĺ™¨ç­‰čŁťç˝®" #: src/safety-calculator.c:120 msgid "No User Device Access" msgstr "無使用者裝置ĺ­ĺŹ–" #: src/safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "無法ĺ­ĺŹ–ĺ¦‚ç¶˛č·Żć”ťĺ˝±ć©źć–éŠć˛ćާĺ¶ĺ™¨ç­‰čŁťç˝®" #: src/safety-calculator.c:126 msgid "Input Device Access" msgstr "輸入裝置ĺ­ĺŹ–" #: src/safety-calculator.c:127 msgid "Can access input devices" msgstr "可ĺ­ĺŹ–čĽ¸ĺ…ĄčŁťç˝®" #: src/safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "麥克風ĺ­ĺŹ–č‡éźłč¨Šć’­ć”ľ" #: src/safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "可在未詢問權é™çš„ć…ćłä¸‹ä˝żç”¨éşĄĺ…‹é˘¨ć”¶éźłä¸¦ć’­ć”ľéźłč¨Š" #: src/safety-calculator.c:140 msgid "System Device Access" msgstr "系統裝置ĺ­ĺŹ–" #: src/safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "可ĺ­ĺŹ–éś€č¦čĽé«ć¬Šé™çš„系統裝置" #: src/safety-calculator.c:147 msgid "Screen Contents Access" msgstr "螢幕內容ĺ­ĺŹ–" #: src/safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "可ĺ­ĺŹ–čž˘ĺą•ć–其他視窗的內容" #: src/safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "čŠĺĽŹč¦–窗系統" #: src/safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "一律使用čŠĺĽŹč¦–窗系統ďĽX11)" #: src/safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "任意權é™" #: src/safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "可取得任意權é™" #: src/safety-calculator.c:168 msgid "User Settings" msgstr "使用者設定" #: src/safety-calculator.c:169 msgid "Can access and change user settings" msgstr "可ĺ­ĺŹ–ä¸¦č®Šć›´ä˝żç”¨č€…č¨­ĺ®š" #: src/safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "完整檔ćˇçł»çµ±č®€ĺŹ–ďĽŹĺŻ«ĺ…Ąć¬Šé™" #: src/safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "可讀取č‡ĺŻ«ĺ…ĄćŞ”ćˇçł»çµ±ä¸­çš„所有資料" #: src/safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "家目錄讀取/寫入權é™" #: src/safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "可讀取č‡ĺŻ«ĺ…Ąć‚¨ĺ®¶ç›®éŚ„ä¸­çš„ć‰€ćś‰čł‡ć–™" #: src/safety-calculator.c:191 msgid "Full File System Read Access" msgstr "完整檔ćˇçł»çµ±č®€ĺŹ–ć¬Šé™" #: src/safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "可讀取檔ćˇçł»çµ±ä¸­çš„所有資料" #: src/safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "家目錄讀取權é™" #: src/safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "可讀取您家目錄中的所有資料" #: src/safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "下載資料夾讀取/寫入權é™" #: src/safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "可讀取č‡ĺŻ«ĺ…Ąć‚¨ä¸‹čĽ‰čł‡ć–™ĺ¤ľä¸­çš„ć‰€ćś‰čł‡ć–™" #: src/safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "下載資料夾讀取權é™" #: src/safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "可讀取您下載資料夾中的所有資料" #: src/safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "可讀取č‡ĺŻ«ĺ…Ąč©˛ç›®éŚ„ä¸­çš„ć‰€ćś‰čł‡ć–™" #: src/safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "可讀取該目錄中的所有資料" #: src/safety-calculator.c:281 msgid "No File System Access" msgstr "無檔ćˇçł»çµ±ĺ­ĺŹ–ć¬Šé™" #: src/safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "完全無法ĺ­ĺŹ–ćŞ”ćˇçł»çµ±" #: src/safety-calculator.c:289 msgid "Uses System Services" msgstr "使用系統服務" #: src/safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "可ĺ‘非入口ďĽnon-portal)的系統服務請求資料" #: src/safety-calculator.c:296 msgid "Uses Session Services" msgstr "使用工作階段服務" #: src/safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "可ĺ‘非入口ďĽnon-portal)的工作階段服務請求資料" #: src/safety-calculator.c:345 msgid "No Service Access" msgstr "無服務ĺ­ĺŹ–ć¬Šé™" #: src/safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "完全無法ĺ­ĺŹ–éťžĺ…ĄĺŹŁďĽnon-portal)的工作階段ć–系統服務" #: src/safety-calculator.c:354 msgid "Verified App Developer" msgstr "已驗證的應用程式開發者" #: src/safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "此應用程式的開發者身ĺ†ĺ·˛é€šéŽé©—證,確認č‡ĺ…¶ć‰€č˛ç¨±çš„čş«ĺ†ç›¸ç¬¦" #: src/safety-calculator.c:364 msgid "Proprietary Code" msgstr "ĺ°ćś‰ç¨‹ĺĽŹç˘Ľ" #: src/safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "原始碼未公開,無法進行獨立稽核,可č˝ĺ­ĺś¨ĺ®‰ĺ…¨é˘¨éšŞ" #: src/safety-calculator.c:375 msgid "Auditable Code" msgstr "可稽核的程式碼" #: src/safety-calculator.c:376 msgid "" "The source code is public and can be independently audited, which makes the " "app more likely to be safe" msgstr "原始碼已公開,且可進行獨立稽核,使此應用程式更可č˝ćŻĺ®‰ĺ…¨çš„" #: src/safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "使用 %s 系統服務" #: src/safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "使用 %s 工作階段服務" #: src/safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "使用 %s 服務" #: src/safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "可查看非入口ďĽnon-portal)服務" #: src/safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "可č‡éťžĺ…ĄĺŹŁďĽnon-portal)服務通訊" #: src/safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "可ć“有非入口ďĽnon-portal)服務" #: src/safety-calculator.c:553 msgid "Global Menu Integration" msgstr "全域é¸ĺ–®ć•´ĺ" #: src/safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "可將é¸ĺ–®éˇŻç¤şć–Ľĺ…¨ĺźźé¸ĺ–®ĺ—" #: src/safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE 設定整ĺ" #: src/safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "可ĺµć¸¬ KDE 桌面設定的變更" #: src/safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDE 全域設定" #: src/safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "可讀取 KDE 桌面ĺŹĺĄ˝č¨­ĺ®šďĽĺ¦‚ĺ­—ĺž‹č‡č‰˛ĺ˝©ďĽ‰" #: src/safety-calculator.c:571 msgid "Secret Storage Service" msgstr "祕密儲ĺ­ćśŤĺ‹™" #: src/safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "可使用系統鑰匙ĺśĺ„˛ĺ­ä¸¦ĺŹ–ĺ›žč‡Şčş«çš„ĺŻ†ç˘Ľ" #: src/safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "桌面通知服務" #: src/safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "可傳é€ćˇŚéť˘é€šçźĄ" #: src/safety-calculator.c:584 msgid "System Tray Integration" msgstr "系統匣整ĺ" #: src/safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "可在系統匣中顯示圖示" #: src/safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect ć•´ĺ" #: src/safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "可č‡é€ŹéŽ KDE Connect 配對的裝置互動" #: src/bz-safety-dialog.blp:48 msgid "" "This app has a permission that indirectly allows it to grant itself <b>any " "other permission it wants</b>, bypassing the Flatpak sandbox.\n" "\n" "It can therefore do anything a normal, non-sandboxed application can do, " "such as accessing all your files and connecting to the internet.\n" "\n" "Viewing the other permissions may still give a better idea of what the app " "is likely to do." msgstr "" "這個應用程式的其中一個權é™é–“接ĺ…許其ćŹäľ›č‡Şĺ·±<b>任何其他的權é™</b>ďĽŚä¸¦çąžéŽ " "Flatpak 沙箱機ĺ¶ă€‚\n" "\n" "ĺ› ć­¤ĺ®ĺŹŻä»Ąĺšä»»ä˝•非沙箱化應用程式č˝ĺ¤ ĺšçš„äş‹ć…,ĺŹćŻĺ­ĺŹ–ć‚¨çš„ć‰€ćś‰ćŞ”ćˇć–ćŻé€Łç·šĺ°" "網際網路。\n" "\n" "ĺ…¶ä»–ĺ®ć‰€ćŽç˘şč¦ć±‚的權é™ĺŹŻč˝é‚„ćŻĺ€Ľĺľ—ĺŹč€ä»Ąĺľ—知ĺ®ćŻ”čĽćś‰ĺŹŻč˝ćśĺšçš„äş‹ć…。" #: src/bz-safety-dialog.blp:52 msgid "View Other Permissions" msgstr "檢視其他權é™" #: src/bz-safety-dialog.blp:112 msgid "App ID" msgstr "應用程式 ID" #: src/bz-safety-dialog.blp:122 msgid "SDK" msgstr "SDK" #: src/bz-safety-dialog.blp:156 msgid "" "This app uses an outdated version of the software platform (SDK) and might " "contain bugs or security vulnerabilities which will not be fixed." msgstr "" "此應用程式使用éŽć™‚的軟體平台ďĽSDK),可č˝ĺŚ…ĺ«ä¸Ťćśĺ†Ťäż®ĺľ©çš„錯誤ć–安全漏洞。" #: src/bz-safety-dialog.c:278 msgid "Safety" msgstr "安全性" #: src/bz-safety-dialog.c:344 #, c-format msgid "%s is Safe" msgstr "%s ćŻĺ®‰ĺ…¨çš„" #: src/bz-safety-dialog.c:349 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s 沒有不安全的權é™" #: src/bz-safety-dialog.c:354 #, c-format msgid "%s is Probably Safe" msgstr "%s 可č˝ćŻĺ®‰ĺ…¨çš„" #: src/bz-safety-dialog.c:359 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s 可č˝ä¸Ťĺ®‰ĺ…¨" #: src/bz-safety-dialog.c:364 #, c-format msgid "%s is Unsafe" msgstr "%s 不安全" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "螢幕ćŞĺś–" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "上一張ćŞĺś–" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "下一張ćŞĺś–" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "複製圖片" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "重設檢視" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "縮小" #: src/bz-screenshot-page.blp:171 msgid "Zoom In" msgstr "放大" #: src/bz-screenshots-carousel.blp:6 msgid "Screenshots Carousel" msgstr "螢幕ćŞĺś–輪播" #: src/bz-screenshots-carousel.blp:104 msgid "No Screenshots" msgstr "沒有螢幕ćŞĺś–" #: src/bz-screenshots-carousel.blp:128 msgid "Open Screenshot Viewer" msgstr "開啟ćŞĺś–檢視器" #: src/bz-screenshots-carousel.c:301 #, c-format msgid "Screenshot %u %s" msgstr "螢幕ćŞĺś– %u %s" #: src/bz-screenshots-carousel.c:303 #, c-format msgid "Screenshot %u" msgstr "螢幕ćŞĺś– %u" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "éŽćżľĺ™¨" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "已驗證(_V)" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "自由/é–‹ćş(_F)" #: src/bz-search-filter-popover.blp:49 msgid "Non-_EOL" msgstr "沒有終止支援" #: src/bz-search-filter-popover.blp:52 msgid "Filter out End-of-Life apps" msgstr "éŽćżľćŽ‰ĺ·˛çµ‚ć­˘ć”ŻćŹ´çš„ć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-search-filter-popover.blp:57 msgid "_Mobile Friendly" msgstr "行動裝置友善(_M)" #: src/bz-search-filter-popover.blp:64 msgid "Categories" msgstr "ĺ†éˇž" #: src/bz-search-page.blp:58 msgid "Search Apps, Games, Software" msgstr "ćśĺ°‹ć‡‰ç”¨ç¨‹ĺĽŹă€éŠć˛č‡č»źé«”" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "ćśĺ°‹éŽćżľĺ™¨" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "清除ćśĺ°‹" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "瀏覽ĺ†éˇž" #: src/bz-search-page.blp:245 msgid "Categories Unavailable" msgstr "ĺ†éˇžç„ˇćł•使用" #: src/bz-search-page.blp:246 msgid "Search for apps using the search bar above." msgstr "請使用上方的ćśĺ°‹ĺ—ćśĺ°‹ć‡‰ç”¨ç¨‹ĺĽŹă€‚" #: src/bz-search-page.blp:364 msgid "No Applications Found" msgstr "找不ĺ°ä»»ä˝•應用程式" #: src/bz-search-page.c:248 #, c-format msgid "No results found for \"%s\" in Flathub" msgstr "在 Flathub 中找不ĺ°ç¬¦ĺ「%s」的çµćžś" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:72 msgid "Video" msgstr "影片" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:82 msgid "Office" msgstr "辦公室" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:87 msgid "PDF" msgstr "PDF" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:92 msgid "Calendar" msgstr "行事曆" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:97 msgid "Messaging" msgstr "訊ćŻ" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:102 msgid "Paint" msgstr "塗繪" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:107 msgid "VPN" msgstr "VPN" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:112 msgid "Torrent" msgstr "Torrent" #. Translators: Search suggestion: the english text will be used for the #. search regardless of what you put here, so don't worry about the string #. yielding poor search results. Focus on correctness and friendliness, #. etc #: src/bz-search-pill-list.c:117 msgid "Emulator" msgstr "模擬器" #: src/bz-share-list.c:58 msgctxt "Project URL Type" msgid "Flathub Page" msgstr "Flathub é éť˘" #: src/bz-share-list.c:59 msgctxt "Project URL Type" msgid "Project Website" msgstr "ĺ°ćˇç¶˛ĺť€" #: src/bz-share-list.c:60 msgctxt "Project URL Type" msgid "Issue Tracker" msgstr "問題追蹤器" #: src/bz-share-list.c:61 msgctxt "Project URL Type" msgid "FAQ" msgstr "FAQ" #: src/bz-share-list.c:62 msgctxt "Project URL Type" msgid "Help" msgstr "幫助" #: src/bz-share-list.c:63 msgctxt "Project URL Type" msgid "Donate" msgstr "ćŤć¬ľ" #: src/bz-share-list.c:64 msgctxt "Project URL Type" msgid "Translate" msgstr "翻譯" #: src/bz-share-list.c:65 msgctxt "Project URL Type" msgid "Contact" msgstr "čŻçµˇć–ąĺĽŹ" #: src/bz-share-list.c:66 msgctxt "Project URL Type" msgid "Source Code" msgstr "原始碼" #: src/bz-share-list.c:67 msgctxt "Project URL Type" msgid "Contribute" msgstr "貢獻" #: src/bz-share-list.c:68 msgctxt "Project URL Type" msgid "Manifest" msgstr "Manifest" #: src/bz-share-list.c:326 msgid "Copy Link" msgstr "複製連çµ" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "時間軸" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "安裝次數:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "ĺ…¨ç" #: src/bz-stats-dialog.blp:69 msgid "Since 4/15/2024" msgstr "2024ĺą´4ćś15日以來" #. Translators: M is the suffix for millions #: src/bz-stats-dialog.c:126 #, c-format msgid "%.2fM Total Installs" msgstr "總安裝次數 %.2fM" #. Translators: K is the suffix for thousands #: src/bz-stats-dialog.c:129 #, c-format msgid "%.2fK Total Installs" msgstr "總安裝次數 %.2fK" #: src/bz-stats-dialog.c:131 #, c-format msgid "%'d Total Installs" msgstr "總安裝次數 %'d" #: src/bz-subcategory-list.c:78 msgid "No Results Found" msgstr "沒有找ĺ°çµćžś" #: src/bz-subcategory-list.c:100 msgid "Search failed" msgstr "ćśĺ°‹ĺ¤±ć•—" #: src/bz-transaction-dialog.c:154 msgid "Keep User Data" msgstr "保留使用者資料" #: src/bz-transaction-dialog.c:155 msgid "Allow restoring personal settings & content" msgstr "ĺ…許還原個人設定č‡ĺ…§ĺ®ą" #: src/bz-transaction-dialog.c:164 msgid "Delete All Data" msgstr "ĺŞé™¤ć‰€ćś‰čł‡ć–™" #: src/bz-transaction-dialog.c:165 msgid "Permanently erase user data to save space" msgstr "永久移除應用程式的使用者資料以節çśç©şé–“" #: src/bz-transaction-dialog.c:190 #, c-format msgid "Install %s?" msgstr "č¦ĺ®‰čŁť %s 嗎?" #: src/bz-transaction-dialog.c:195 msgid "" "Select which version to install. May install additional shared components" msgstr "é¸ĺŹ–č¦ĺ®‰čŁťĺ“Şĺ€‹ç‰ćś¬ă€‚可č˝ćśĺ®‰čŁťéˇŤĺ¤–çš„ĺ…±ç”¨ĺ…ä»¶" #: src/bz-transaction-dialog.c:197 msgid "May install additional shared components" msgstr "可č˝ćśĺ®‰čŁťéˇŤĺ¤–çš„ĺ…±ç”¨ĺ…ä»¶" #: src/bz-transaction-dialog.c:200 src/bz-transaction-dialog.c:229 #: src/bz-transaction-dialog.c:274 src/bz-transaction-dialog.c:576 msgid "_Cancel" msgstr "取ć¶(_C)" #: src/bz-transaction-dialog.c:201 msgid "_Install" msgstr "安裝(_I)" #: src/bz-transaction-dialog.c:218 #, c-format msgid "Remove %s?" msgstr "č¦ç§»é™¤ %s 嗎?" #: src/bz-transaction-dialog.c:221 msgid "Select which version to remove." msgstr "é¸ĺŹ–č¦ç§»é™¤çš„ç‰ćś¬ă€‚" #: src/bz-transaction-dialog.c:223 #, c-format msgid "It will not be possible to use %s after it is uninstalled." msgstr "解除安裝後將無法再使用 %s。" #: src/bz-transaction-dialog.c:246 #, c-format msgid "“%s” is High Risk" msgstr "「%s」屬於é«é˘¨éšŞć‡‰ç”¨ç¨‹ĺĽŹ" #: src/bz-transaction-dialog.c:250 msgid "" "This app has full access to your system, including all <b>your files, " "browser history, saved passwords</b>, and more. It also has access to the " "internet, meaning it could send your data to outside parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "此應用程式對您的系統具有完整ĺ­ĺŹ–ć¬Šé™ďĽŚĺŚ…ć‹¬ć‰€ćś‰<b>檔ćˇă€ç€Źč¦˝ç´€éŚ„ă€ĺ·˛ĺ„˛ĺ­çš„密碼" "</b>等。ĺŚć™‚也可ĺ­ĺŹ–ç¶˛éš›ç¶˛č·ŻďĽŚä»Łčˇ¨ĺŹŻč˝ćśĺ°‡ć‚¨çš„資料傳é€çµ¦ç¬¬ä¸‰ć–ąă€‚\n" "\n" "由於此應用程式為ĺ°ćś‰č»źé«”,無法對其如何使用這些權é™é€˛čˇŚçŤ¨ç«‹ĺŻ©ć ¸ă€‚" #: src/bz-transaction-dialog.c:259 msgid "" "This app uses the legacy X11 windowing system, which allows it to <b>record " "all keystrokes, capture screenshots, and monitor other applications</b>. It " "also has access to the internet, meaning it could send your data to outside " "parties.\n" "\n" "Because the app is proprietary, it can not be audited for what it does with " "these permissions." msgstr "" "此應用程式使用čŠĺĽŹçš„ X11 視窗系統,這使其č˝ĺ¤ <b>č¨éŚ„ć‰€ćś‰éŤµç›¤čĽ¸ĺ…Ąă€ć“·ĺŹ–čž˘ĺą•ç•«" "面,並監控其他應用程式</b>。ĺŚć™‚也可ĺ­ĺŹ–ç¶˛éš›ç¶˛č·ŻďĽŚä»Łčˇ¨ĺŹŻč˝ćśĺ°‡ć‚¨çš„資料傳é€çµ¦" "第三方。\n" "\n" "由於此應用程式為ĺ°ćś‰č»źé«”,無法對其如何使用這些權é™é€˛čˇŚçŤ¨ç«‹ĺŻ©ć ¸ă€‚" #: src/bz-transaction-dialog.c:275 msgid "_Install Anyway" msgstr "仍č¦ĺ®‰čŁť(_I)" #: src/bz-transaction-dialog.c:330 msgid "Failed to load transaction dialog" msgstr "載入作業對話框失敗" #: src/bz-transaction-dialog.c:547 msgid "All apps are already installed" msgstr "所有應用程式皆已安裝" #: src/bz-transaction-dialog.c:549 msgid "_OK" msgstr "確認(_O)" #: src/bz-transaction-dialog.c:565 #, c-format msgid "Install %u App?" msgid_plural "Install %u Apps?" msgstr[0] "č¦ĺ®‰čŁť %u 個應用程式嗎?" #: src/bz-transaction-dialog.c:573 msgid "" "The following will be installed. Additional shared components may also be " "installed" msgstr "ĺ°‡ćśĺ®‰čŁťä»Ąä¸‹é …ç›®ďĽŚä¸¦ä¸”ĺŹŻč˝ĺŚć™‚安裝額外的共用ĺ…ä»¶" #: src/bz-transaction-dialog.c:574 #, c-format msgid "%d addons will be installed." msgstr "ĺ°‡ćśĺ®‰čŁť %d 個附加ĺ…件。" #: src/bz-transaction-dialog.c:575 msgid "Additionally, addons will be installed." msgstr "此外,還ćśĺ®‰čŁťé™„ĺŠ ĺ…件。" #: src/bz-transaction-dialog.c:577 msgid "_Install All" msgstr "安裝全é¨(_I)" #: src/bz-transaction-manager.c:795 #, c-format msgid "Finished in %.02f seconds" msgstr "ć–Ľ %.02f 秒完ć" #: src/bz-transaction-tile.blp:129 msgid "App Add-On" msgstr "應用程式附加ĺ…ä»¶" #: src/bz-transaction-tile.blp:158 msgid "Runtime" msgstr "執行環ĺ˘" #: src/bz-transaction-tile.blp:182 msgid "In Queue" msgstr "在佇ĺ—中" #: src/bz-transaction-tile.blp:206 msgid "Done" msgstr "完ć" #: src/bz-transaction-tile.blp:230 msgid "Cancelled" msgstr "已取ć¶" #: src/bz-transaction-tile.blp:254 msgid "Error" msgstr "錯誤" #: src/bz-transaction-tile.blp:312 msgid "Cancel Transaction" msgstr "取ć¶ä˝śćĄ­" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "顯示詳細資料" #: src/bz-transaction-tile.blp:437 msgid "Show Error Info" msgstr "顯示錯誤資訊" #: src/bz-transaction-tile.c:107 #, c-format msgid "%s Freed" msgstr "已釋出 %s" #: src/bz-transaction-tile.c:360 src/bz-transaction-tile.c:363 msgid "Transaction Error" msgstr "作業錯誤" #: src/bz-transaction.c:344 msgid "Pending" msgstr "等待中" #: src/bz-updates-card.blp:23 msgid "_Update All" msgstr "ć›´ć–°ĺ…¨é¨(_U)" #: src/bz-updates-card.c:215 #, c-format msgid "%u Runtime Update" msgid_plural "%u Runtime Updates" msgstr[0] "%u 個執行環ĺ˘ć›´ć–°" #: src/bz-user-data-page.blp:5 msgid "Manage Leftover User Data" msgstr "管ç†ć®ç•™çš„使用者資料" #: src/bz-user-data-page.blp:33 msgid "No User Data Found" msgstr "找不ĺ°ä˝żç”¨č€…資料" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "使用者資料" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "將使用者資料移至ĺžĺśľćˇ¶" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "已將 %s 的使用者資料移至ĺžĺśľćˇ¶" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "重新整ç†ä¸­â€¦" #: src/bz-window.blp:89 msgid "Curated" msgstr "精é¸" #: src/bz-window.blp:101 msgid "Explore" msgstr "探索" #: src/bz-window.blp:128 msgid "Search" msgstr "ćśĺ°‹" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "主é¸ĺ–®" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "您已更新ĺ°ć–°ç‰ćś¬ BazaarďĽ" #: src/bz-window.blp:227 msgid "See What's New" msgstr "查看更新內容" #: src/bz-window.blp:234 msgid "" "You have a network connection but are viewing a cached version of Flathub" msgstr "您目前有網路連線,但正在檢視 Flathub 的快取ç‰ćś¬" #: src/bz-window.blp:279 msgid "_Donate to Bazaar" msgstr "ćŤć¬ľçµ¦ Bazaar(_D)" #: src/bz-window.blp:285 msgid "_Refresh" msgstr "重新整ç†(_R)" #: src/bz-window.blp:289 msgid "_Login With Flathub" msgstr "使用 Flathub 登入(_L)" #: src/bz-window.blp:295 msgid "_Manage Leftover User Data" msgstr "管ç†ć®ç•™çš„使用者資料(_M)" #: src/bz-window.blp:301 msgid "_Preferences" msgstr "ĺŹĺĄ˝č¨­ĺ®š(_P)" #: src/bz-window.blp:306 msgid "_Keyboard Shortcuts" msgstr "鍵盤快捷鍵(&K)" #: src/bz-window.blp:311 msgid "_About Bazaar" msgstr "é—ść–Ľ Bazaar(&A)" #: src/bz-window.blp:317 msgid "_Quit Bazaar" msgstr "退出 Bazaar(&Q)" #: src/bz-window.blp:342 msgid "Log Out" msgstr "登出" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Bazaar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "啟動應用程式失敗" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "您無法在 Bazaar 中移除 Bazaar 本身ďĽ" #: src/bz-window.c:1127 src/bz-window.c:1161 msgid "Can't do that right now!" msgstr "目前無法執行此動作ďĽ" #. Translators: As in, "1 Install" / "100 Installs" #: src/bz-world-map.c:604 msgid "Install" msgid_plural "Installs" msgstr[0] "次安裝" #: src/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "導覽" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "開啟探索é éť˘" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "開啟程式庫é éť˘" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "開啟ćśĺ°‹é éť˘" #: src/shortcuts-dialog.blp:25 msgctxt "shortcut window" msgid "Remotes" msgstr "é ç«Ż" #: src/shortcuts-dialog.blp:27 msgctxt "shortcut window" msgid "Sync Remotes" msgstr "ĺŚć­Ąé ç«Ż" #: src/shortcuts-dialog.blp:33 msgctxt "shortcut window" msgid "General" msgstr "一č¬" #: src/shortcuts-dialog.blp:36 msgctxt "shortcut window" msgid "Open Preferences" msgstr "開啟ĺŹĺĄ˝č¨­ĺ®š" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "顯示快捷鍵" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "關閉視窗" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "退出 Bazaar" #~ msgid "" #~ "It emphasizes supporting the developers who make the Linux desktop " #~ "possible. Bazaar features a \"curated\" tab that can be configured by " #~ "distributors to allow for a more localized experience." #~ msgstr "" #~ "著重支援讓 Linux 桌面ć真的開發者。Bazaar ćŹäľ›ă€Śç˛ľé¸ă€Ťĺ†é ďĽŚç™ĽčˇŚĺ•†ĺŹŻč¨­ĺ®šä»Ą" #~ "ćŹäľ›ć›´ĺś¨ĺś°ĺŚ–çš„é«”é©—ă€‚" #~ msgid "Adam Masciola" #~ msgstr "Adam Masciola" #~ msgid "Nucleus app page" #~ msgstr "Nucleus 應用程式é éť˘" #~ msgid "_Refresh Content" #~ msgstr "重新整ç†ĺ…§ĺ®ą(&R)" #~ msgid "User Data Size" #~ msgstr "使用者資料大小" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Adam Masciola <kolunmi@posteo.net>" #~ msgstr "Adam Masciola <kolunmi@posteo.net>" #~ msgctxt "About Dialog Developer Credit" #~ msgid "Alexander Vanhee" #~ msgstr "Alexander Vanhee" #~ msgid "Synchronizing..." #~ msgstr "ĺŚć­Ąä¸­..." #, c-format #~ msgid "Receiving %d entries..." #~ msgstr "正在接收 %d 筆項目…" #~ msgid "Indexing Data..." #~ msgstr "正在索引資料…" #~ msgid "Close" #~ msgstr "é—śé–‰" #~ msgid "Copy and Close" #~ msgstr "複製並關閉" #~ msgid "Toggle transaction sidebar" #~ msgstr "ĺ‡ćŹ›ä˝śćĄ­ĺ´é‚Šć¬„" #~ msgid "Flathub returned an error" #~ msgstr "Flathub 回傳了錯誤" #~ msgid "Retry Flathub Connection" #~ msgstr "重新ĺ—試連線至 Flathub" #~ msgid "Download & Install Application" #~ msgstr "下載並安裝應用程式" #~ msgid "Install Other Version" #~ msgstr "安裝其他ç‰ćś¬" #~ msgid "Tags:" #~ msgstr "標籤:" #~ msgid "" #~ "Connect your Flathub account to Bazaar to manage your favorited apps." #~ msgstr "將您的 Flathub 帳號連çµč‡ł Bazaar,以管ç†ć‚¨ĺŠ ĺ…Ąć”¶č—Źçš„ć‡‰ç”¨ç¨‹ĺĽŹă€‚" #~ msgid "Delay Search Results" #~ msgstr "ĺ»¶é˛éˇŻç¤şćśĺ°‹çµćžś" #~ msgid "Improve results performance by debouncing search terms" #~ msgstr "透éŽĺ»¶é˛č™•ç†ćśĺ°‹čĽ¸ĺ…Ąä»ĄćŹĺŤ‡çµćžść•č˝" #~ msgid "Choose a theme for the progress bar!" #~ msgstr "é¸ć“‡é€˛ĺş¦ĺ—的主題ďĽ" #~ msgid "Vertical Stripes" #~ msgstr "垂直條紋" #~ msgid "Display flag colors from top to bottom" #~ msgstr "由上而下顯示旗幟配色" #~ msgid "Open Link" #~ msgstr "開啟連çµ" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "標č¨ç‚şă€Ś%s」的應用程式" #~ msgid "Keep Data" #~ msgstr "保留資料" #~ msgid "Ongoing" #~ msgstr "進行中" #~ msgid "Finished" #~ msgstr "已完ć" #, c-format #~ msgid "Transferred %s so far" #~ msgstr "目前已傳輸 %s" #~ msgid "Tasks" #~ msgstr "工作" #~ msgid "Stop Active Tasks" #~ msgstr "ĺść­˘é€˛čˇŚä¸­çš„工作" #~ msgid "No Tasks Yet" #~ msgstr "目前尚無工作" #~ msgid "Refreshing Store Content" #~ msgstr "正在重新整ç†ĺ•†ĺş—內容" #~ msgid "Flathub" #~ msgstr "Flathub" #~ msgid "No background tasks!" #~ msgstr "沒有čŚć™Żĺ·Ąä˝śďĽ" #~ msgid "_Synchronize Remotes" #~ msgstr "ĺŚć­Ąé ç«Ż(_S)" #, c-format #~ msgid "%d Update Available" #~ msgid_plural "%d Updates Available" #~ msgstr[0] "有 %d 項更新可用" #~ msgid "Updates Are Available" #~ msgstr "有可用的更新" #~ msgid "" #~ "The following applications are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "下ĺ—應用程式可更新。ćŻĺ¦č¦ĺ®‰čŁťďĽź" #, c-format #~ msgid "" #~ "%d runtimes and/or addons are eligible for updates. Would you like to " #~ "install them?" #~ msgstr "%d 個執行環ĺ˘č‡ďĽŹć–附加ĺ…件可更新。ćŻĺ¦č¦ĺ®‰čŁťďĽź" #, c-format #~ msgid "Additionally, %d runtimes and/or addons will be updated." #~ msgstr "此外,還有 %d 個執行環ĺ˘č‡ďĽŹć–附加ĺ…ä»¶ĺ°‡ćść›´ć–°ă€‚" #~ msgid "Update Now" #~ msgstr "現在更新" #~ msgid "" #~ "The ability to inspect and install local .flatpak bundle files is coming " #~ "soon! In the meantime, try running\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "on the command line." #~ msgstr "" #~ "檢視č‡ĺ®‰čŁťćś¬ć©ź .flatpak ĺ°čŁťćŞ”çš„ĺŠźč˝ĺŤłĺ°‡ćŽ¨ĺ‡şďĽĺś¨ć­¤äą‹ĺ‰ŤďĽŚč«‹ć–Ľĺ‘˝ä»¤ĺ—執行下ĺ—" #~ "指令:\n" #~ "\n" #~ "flatpak install --bundle your-bundle.flatpak\n" #~ "\n" #~ "。" #~ msgid "Resume Current Tasks" #~ msgstr "繼續目前的工作" #~ msgid "Pause Current Tasks" #~ msgstr "ćš«ĺśç›®ĺ‰Ťçš„工作" #~ msgctxt "shortcut window" #~ msgid "Toggle Transaction Manager" #~ msgstr "ĺ‡ćŹ›ä˝śćĄ­ç®ˇç†ĺ™¨" #~ msgctxt "shortcut window" #~ msgid "Quit" #~ msgstr "離開" #~ msgid "Show Animated Background" #~ msgstr "顯示動畫čŚć™Ż" #~ msgid "Whether to show the animated icon background on the home page" #~ msgstr "ćŻĺ¦ĺś¨é¦–é éˇŻç¤şĺ‹•態圖示čŚć™Ż" #~ msgid "Calligraphy application page" #~ msgstr "書法應用程式é éť˘" #~ msgid "Download graph for Blender" #~ msgstr "Blender 的下載圖表" #~ msgid "This flatpak is verified by the original developers of the software." #~ msgstr "ć­¤ Flatpak 已由該軟體原始開發者驗證。" #~ msgid "" #~ "This functionality is currently disabled. It is recommended you download " #~ "and install Flatseal to manage app permissions." #~ msgstr "此功č˝ç›®ĺ‰Ťĺśç”¨ă€‚建議下載並安裝 Flatseal 以管ç†ć‡‰ç”¨ç¨‹ĺĽŹć¬Šé™ă€‚" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Ahmed Najmawi" #~ msgstr "Ahmed Najmawi" #~ msgctxt "About Dialog Translator Credit" #~ msgid "AtomHare" #~ msgstr "AtomHare" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Azenyr" #~ msgstr "Azenyr" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Goudarz Jafari" #~ msgstr "Goudarz Jafari" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Jill Fiore (Lumaeris)" #~ msgstr "Jill Fiore (Lumaeris)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "KiKaraage" #~ msgstr "KiKaraage" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Lucosec" #~ msgstr "Lucosec" #~ msgctxt "About Dialog Translator Credit" #~ msgid "LĂ©ane GRASSER" #~ msgstr "LĂ©ane GRASSER" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Marcel MrĂłwka (Microwave)" #~ msgstr "Marcel MrĂłwka (Microwave)" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Pietro F." #~ msgstr "Pietro F." #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shihfu Juan" #~ msgstr "Shihfu Juan" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Shinsei" #~ msgstr "Shinsei" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Vlastimil DÄ›dek" #~ msgstr "Vlastimil DÄ›dek" #~ msgctxt "About Dialog Translator Credit" #~ msgid "asen23" #~ msgstr "asen23" #~ msgctxt "About Dialog Translator Credit" #~ msgid "renner" #~ msgstr "renner" #~ msgctxt "About Dialog Translator Credit" #~ msgid "robotta" #~ msgstr "robotta" #~ msgctxt "About Dialog Translator Credit" #~ msgid "Peter Dave Hello" #~ msgstr "Peter Dave Hello" #~ msgid "Constructing Flatpak instance..." #~ msgstr "正在建立 Flatpak 執行個體..." #~ msgid "Reusing last Flatpak instance..." #~ msgstr "正在沿用上一個 Flatpak 執行個體..." #~ msgid "Flathub is not registered on this system" #~ msgstr "此系統未註冊 Flathub" #~ msgid "" #~ "Would you like to add Flathub as a remote? If you decline, the Flathub " #~ "page will not be available. You can change this later." #~ msgstr "" #~ "ćŻĺ¦č¦ĺŠ ĺ…Ą Flathub 作為é ç«ŻďĽźč‹Ąé¸ć“‡ç•ĄéŽďĽŚĺ°‡ç„ˇćł•使用 Flathub é éť˘ă€‚之後仍可" #~ "變更。" #~ msgid "Add Flathub" #~ msgstr "加入 Flathub" #, c-format #~ msgid "" #~ "Beginning remote entry retrieval while referencing %d blocklist(s)..." #~ msgstr "開始擷取é ç«Żé …目,並ĺŹč€ %d ä»˝ĺ°éŽ–ć¸…ĺ–®..." #, c-format #~ msgid "Received %'d entries out of %'d (%0.1f seconds elapsed)" #~ msgstr "已接收 %'d 個項目,共 %'d 個ďĽč€—時 %0.1f 秒)" #, c-format #~ msgid "Waiting for background indexing tasks to catch up..." #~ msgstr "正在等待čŚć™Żç´˘ĺĽ•作業追上進度..." #, c-format #~ msgid "Completed initialization in %0.2f seconds" #~ msgstr "ĺťĺ§‹ĺŚ–ĺ®ŚćďĽ%0.2f 秒)" #~ msgid "" #~ "Bazaar was not provided a curated content configuration. Contact your " #~ "operating system's support channels for assistance." #~ msgstr "未ćŹäľ› Bazaar 的精é¸ĺ…§ĺ®ąč¨­ĺ®šă€‚č«‹čŻçµˇä˝śćĄ­çł»çµ±çš„支援管é“以取得協助。" #~ msgid "Apps Of The Week" #~ msgstr "本週精é¸ć‡‰ç”¨ç¨‹ĺĽŹ" #~ msgid "" #~ "The number of downloads in the last 30 days. Click to view this " #~ "application's download statistics." #~ msgstr "éŽĺŽ» 30 天的下載次數。請點é¸ä»ĄćŞ˘č¦–ć­¤ć‡‰ç”¨ç¨‹ĺĽŹçš„ä¸‹čĽ‰çµ±č¨čł‡ć–™ă€‚" #~ msgid "VCS Forge Star Count" #~ msgstr "VCS 平台ćźćźć•¸" #~ msgid "Remote repo name" #~ msgstr "é ç«Żĺ„˛ĺ­ĺş«ĺŤç¨±" #~ msgid "No Flatpaks Installed" #~ msgstr "未安裝任何 Flatpak" #~ msgid "How the application looks" #~ msgstr "應用程式的外觀" #~ msgid "Appearance" #~ msgstr "外觀" #~ msgid "Show animated background" #~ msgstr "顯示動畫čŚć™Ż" #~ msgid "Type to filter" #~ msgstr "輸入以篩é¸" #~ msgid "Exclude results with proprietary licenses" #~ msgstr "排除具有ĺ°ćś‰ćŽć¬Šçš„çµćžś" #~ msgid "Advanced" #~ msgstr "進階" #~ msgid "Debounce input to prevent instant replies" #~ msgstr "對輸入套用去抖動,éżĺ…Ťç«‹ĺŤłĺ›žć‡‰" #~ msgid "Share" #~ msgstr "ĺ†äş«" #~ msgid "Open this link externally" #~ msgstr "在外é¨é–‹ĺ•źć­¤é€Łçµ" #~ msgid "Downloads Over Time" #~ msgstr "下載趨勢" #~ msgid "Minimize Lower Bound" #~ msgstr "降低下é™" #~ msgid "Maximize Upper Bound" #~ msgstr "ćŹé«ä¸Šé™" #~ msgid "Installing" #~ msgstr "正在安裝" #~ msgid "Removing" #~ msgstr "正在移除" #~ msgid "Halt the execution of transactions" #~ msgstr "ĺść­˘ĺź·čˇŚä¸­çš„作業" #~ msgid "Browse" #~ msgstr "瀏覽" #~ msgid "Go Back" #~ msgstr "上一é " #~ msgid "View curated applications" #~ msgstr "檢視精é¸ć‡‰ç”¨ç¨‹ĺĽŹ" #~ msgid "View the latest on Flathub" #~ msgstr "檢視 Flathub 最新內容" #~ msgid "Up to date!" #~ msgstr "ĺ·˛ćŻćś€ć–°ďĽ" #~ msgid "Confirm Action" #~ msgstr "確認動作" #, c-format #~ msgid "" #~ "You are about to remove the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "ĺŤłĺ°‡ç§»é™¤ä¸‹ĺ— Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "ćŻĺ¦ç˘şĺ®šďĽź" #, c-format #~ msgid "" #~ "You are about to install the following Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "Are you sure?" #~ msgstr "" #~ "ĺŤłĺ°‡ĺ®‰čŁťä¸‹ĺ— Flatpak:\n" #~ "\n" #~ "<b>%s</b>\n" #~ "<tt>%s</tt>\n" #~ "\n" #~ "ćŻĺ¦ç˘şĺ®šďĽź" #~ msgid "Resume the execution of transactions" #~ msgstr "ć˘ĺľ©ĺź·čˇŚä¸­çš„作業" #~ msgid "Pause the execution of transactions" #~ msgstr "ćš«ĺśĺź·čˇŚä¸­çš„作業" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/��������������������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0017626�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/bazaar-dark.png�����������������������������������������������0000664�0000000�0000000�00000646570�15234476640�0022535�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��c��¶���LůZ���sRGBŮÉ,���gAMA��±Ź üa��� cHRM��z&��€„��ú���€č��u0��ę`��:��pśşQ<���bKGD�T�T�T3cÁő��� pHYs�� �� �šś���tIMEęžŐ�� �IDATxÚěÝwśu˝˙ń÷Ěś˛˝gÓ릑Nč ‚€Š….˝öką^»xýÉEAĄ‰€¨˘ -Ô$@BŇIŻ[˛ý”™ďďŹ9çě9۲»Ůž×óńĎž9sćĚÎ ›Çyűů~ľ��������������������������������hĂâ����Ŕ0cóÁY�����ćU8cq�����ŕ 2ŕÁŚ5„>źŔ�����tĆôѶ˝Ę¤źk “ß�����tŹéçýő{(c ˘ĎłŃq����€ˇÉôÁk˝Ş?C«ë­ApĽ�����`č0ÝXoşąŹ^Ő_áFW«ď�����şşĽ§×őG¸ŃťĐĹęĆűâw�����§»ý_L~îĘó^Ő×FW‚—®„1TÉ�����€ÖöWٲżź»Đôšľ 4ö¬t¶®;ˇL_˙�����`đčJż—΂—î„2}ČXý°Ď®„.]}ÜßqĘ�����0<uµé®9ŔÇÎöŮ+z;Ľč(4iďń@¦Á����ŕŕŃŐ)©{Ŕt%śŮß1tK OLgC‹öĆ´÷łÝÎ{ÚŰżş°����� mÝž”|ôŇžůąéâgY­öŐŐ÷î—ŐűčJđŇŃkv;ëív>‡†ľ�����|şÚ°·u“\×QEŚQתe:;Ž.;ĐĘ®VĂtôĽő’ĽŘĽżőgµ÷����� Oű›ľÚ¨%SH`,e/¦Ő{;Ş|éő*™ž†1=­†é(€I˙9yÂZ?v·™/�����žö×´×kç1=ŚńÔy0ÓŃg¦‡0VDz_= 2şÄt%„I.V«źĄ¶!ŤŇÖČń����€ˇ/=ńZýśş(ígŻŐĎ…25˝2l©»•1ť1]†”Ľ8j?IŻŠé¨— �����€Ô~oôŞö‚W~ĆĐzű®|VëaJݶԝ0¦§ALë G™!Ś“¶$Ź­ßk‰!J�����Ŕ×^uJú’ Yâ’b‰G7m±Őʸ­öáuđyV«ź{ČhĎöšövÖ Ćig JĘ’ś1cÖńápřđ@Ŕ™cŚ5Á˛T¬ĚaI������űăŁjË2›ăq÷ťH$˛xőę•/ĘešŹÉ&™]¸j©š±Ő~(ÓşoŹůZ=Ř®+=bŇdL íç`âçěüüüâ‰+ÎçĆăńŇx<®x<.ĎódŚáö�����ÝfY–lŰV H.•±XěÁM›Ö˙±®®®ZR“ü�&¦– ™xÚĎ]iöŰ^™ý†] cö7<iÍyÓ€Z†"ĺĚš5ď#ápřKŃh´4ŤĘu]î�����ĐëÇQ(R(ŞŚD"7Ż\ąěIIŤj”Ć” dşÚäWęfC_§ ÇŰŐŞözĂ´ÄdIĘť;wÁ—ÇůbcccN4Ą �����ôcŚŁqrÂáđÉĺĺ#óvďŢą$ńrúp¤ôˇGű YÚkă˛_ű cşSÓŢLIÉ&ů%)gÁ‚ĂżëyŢŮ „0����� ßcŤF çŤ3nôΝ۩{ł)uE§áLwÂŽŞbÚ«IöŠI1ÁÄ’3wî‚/{žwvcc#w������±XLŽăĚ9rTîîÝ;_WćŚJÉÇô&˝ő…évuLOĂýUĹ´®Ś JĘ>äyg:Žó…††®:�����P±XLápx^IÉ­{÷îZŻöűĂHÝlĐ»?ťMmusť•¶żÖˇL0??ż8++üŦ¦&®6�����ššš”•ţb~~~±ZfNĎ5¤–"©űyIvŹ­ł ™Ö?·×;&4qbĹyŃh´”“�����Ŕ`áş®˘ŃhéĉçI )3ŚI/<é(i/3é”ÝĂcµ:ůąő°%GR8 žŤFąĘ�����`PI4ô=WRX-aLë>ąIÝ_Złđx;šâ:cŇŚłŽ‰ÇăTĹ�����€AÇu]ĹăńŇ3fŁö‡*ĄçRC¤@7¶ílšëŽ^·$9ˇPčx<ÎŐ�����Ýâ8ŽÂá°Bˇ€lŰŹ<Ď(Ź+Ť*‰č@ @âń¸BˇĐ’žSŰj)3˙HźeI­ÖďWGaĚţžŽ‚—öĘxś`00»ą9Â�����şÄqĺćć*++Üîë¶m) * *//WÍÍ544ô8”‰ÇăĘÎĎ–_Ó^ÎŃ“�¦Ý×»RÓ^Oö^k˝.ĆcMđ<Ź; �����ěWvv¶ňóóşőž¬¬°˛˛ÂŞ««WOfrö<OĆX”ĆHg¦Ő릝×Úe÷Â9ę¨J&•"Y–ŠŤ1ÜM����� S999ÝbŇĺçç)''§Űď3ĆȲT¬¶=b:®Ôcv/ť«Ž°·?����� SŮŮŮĘËË=ŕýäĺĺ*;;»'oí(żŘ_îŃ+Ň]é+cőÇĹ*--ŐăŹ˙E>řî\�����† Çq¨"¦µüü<9ŽÓÓ·w%ÓčqćŃW+˝6ÝÓţ”––ę÷żżWsćĚV8ćî����`ĘÍÍ,űlÝ ·×hcuq]ź())Ńý÷˙NÓ§OÓúőtŐUźáî����`q§ĂY“DVVř@Şc’z=űčíĘ~ b~˙ű{5cĆt­_żA^x‘öěŮË ����Ŕłż‘.ŻĽň’~ó›_©¨¨(µ®°°P·ÝöK˝ňĘK´ď.ęŐĽĂî…č—áHéb�����>BˇP§ŻoذQóçĎÓ­·Ţ˘˘˘"ę—żüą.<T›6m: }wC{ůGʞ@/Pź#����`x :Ź'ľřĹ/ë¶Ű~ˇŠŠ Ýzë-2Fš:µB;věĐżř•Úw7Y’ĚîdČM9}Ď=wiĆŚéZłf­Î?˙Ó1����� q¶ÝyŤÇîÝ»uÝuźÓÖ­[UQQˇ©S+´k×.ÝpĂçµcÇŽÚ÷€üľCíc¸K����8ČÄb1E"‘ÔóH$ŞH$:$—!Ć\~ůUZ˝zŤ¦Oź¦?ţń÷*/Á ����Ŕćyť^”––č¶Ű~©ŠŠ mÚ´I›6mŇ„ ăuë­·¨´´ä€ö=†\SUUĄOú­^˝FSôűßßG ����ŔŹÇ;}ýć›˙O“'OҦM›tÝu7čşënЦM›4qâDýěg?= }{(^$�����†Źh´óáFÓ§O×ÚµkuÝu7¨˛˛J••Uşîş´víZM›6í€ö=¬.¬·”9}“%?ÄI>&'±KHRPRŃÂ…GĽZSłŻ×ľőĚJźţôĹÚ˝{w1�����Că8űnÔS••Ur]·KŰjéŇ7Ž–T#)&)*)žXÜÄâĄ-&í19*ýg©ťŮ—ěˇ|±ŞŞŞtŃE—jÍšµŞ¨˘;îř w0�����CŚëşjnŽôú~››#]bú“=Ô/XeeĄ>ýéK´|ů;]•����ŔĐŃĐĐ0$öŮĂá‚UVVꬳ>Éť ����Ŕĺş®ęęꕟź×+ű«««”U1Ň0¨Ś�����ĂCSS“ę뼚ĄľľAMMMö÷$Ś�����FccŁęęę{üţşşz566ęß1Ŕe�����ISS“˘Ń¨rss••îŇ{š›#jhh´C“ŇĆ�����€AÇu]ŐÖÖŞˇÁQ8V(R m[’$Ď3ŠÇăŠFŁŠD"C"„I"Ś�����–ëşjllôCŹşž1������ý0����� Ć������ô#Â�����€~D�����ĐŹc������úa �����@?"Ś�����čG„1������ý0����� Ć������ô#Â�����€~D�����ĐŹc������úa �����@?"Ś�����čG„1������ý0����� Ć�����€†ç55E´sgĄšš"ň<ÓďÇ@�����‘HTcÇŽŃ)§Ľ_cÇŽQ$í÷c Ś����� Ďó4fĚ(IŇ1Łäy^ża �����@?"Ś�����čG„1������ý0����� Ć������ô#Â�����€~D�����ĐŹc������úa �����@?"Ś�����čG„1������ý0����� Ć������ô#Â�����€~ŕ`01Ćp†�˲8 ����ĐC„1PĆÔ‚ˇÇ˛¬Ô����č  Ś>5şHU˘©yYĘqziÔÜ­÷÷í_QßîŁëim}łžŘYĄ‡wV+ΨG����č 2GşcÁTMĎËâd Q9Ž­ů…9š_ŁOŤ)ŐgŢŢ J—ó����űĂ˙•Ťţżé\Ww,¨ FfćgëöůSdąqN����ěď{1§�ýÉOçŤ+#†fćgëܱe2Ćăd����@'cĐŻ\×Ó# 9ĂÔ#‹äş„1����ĐÂôĆ$KąTĹ WÓň˛$YĚŽ����ť ŚA?3Ę 8ś†aĘż¶1����ĐÂ�����€~ÄÔÖč [98ŻąeY}˛ďď~÷Űşč˘ ;|Ýu]ŐÔÔhűözńĹ—ôŕÖ֭۸(����*c� ;Žă¨´´TsçÎŃg?{Ťž~ú)]pÁůś����a €a/ëűß˙ŽN8áýś ����ŽaJ�†…%K–¦~./ˇńăÇgĽnY–®ąćj=˙ü ś,����Š0Ŕçş®Î9'sŇÉ'ź¤_˙úV9NËě]sćĚćd���p„1�†ĄgžyVŻľúšŽ;îŘ´µí7ž7o®Î=÷luÔQ*/ˇP(¤ęę­\ąRO>ů”üŻr]7ă=_üi}ç;ßęňńüđ‡?Ň=÷Ü›±.++KçťwŽN9ĺdMť:UĹĹEŠD"Ú˛e«^yĺUýáÔ† ;ÜgOŽű‡?üžÎ?˙ĽÔó·Ţz[çśsľ>˙ůôÉO~\#GŽÔwÜĄźüä˙¸‰���€>B`ŘĘËËËxľxń’Śç–eé›ßü†.˝ôâ63?•—ŹPyů :ńÄtŮeëĘ+?Ł]»v÷Ú±Í1]wß}‡FŹťůG9ĐĚ™34sć ]tŃ…şńĆëľűîďÓăţú׿ŞË/ż”���č'4đ0¬X–ĄńăÇëŰßţ¦ćĎź—ZŤFőӟޜ±í5×\­Ë.»dżSpĎš5KżůÍŻdŰ˝ó'ł  @÷ÝwO› ¦µ@  ď|çtňÉ'őŮq—––ę ™i ���čOTĆ�ňÇŃúő«;|}ýú úć7żĄwŢY‘Z—••ĄĎ~öÚŚíÖ­[݇~DÍÍÍúÔ§>™ŃcfŢĽą:î¸cőâ‹/I’6oޢ˙ű™6źe۶>đ3‚’ĆĆĆŚĆÁ—\r‘ĘĘĘRĎ]×ŐC=˘eË–©˘˘B—\r‘–?Ď×^{µžyćŮ^9îÖĆŹ—:†Ť7J˛ÔÔÔÄM���ô!Â�ĂÚš5kuď˝÷iĹŠë‹‹‹őđĂŹ¨¬¬LeeĄĘĎĎ×…^¤}űj%IO>ů”^ýĺŚPeîÜ9©Păąçž×sĎ=ßćóľţőŻę¤“>±îßřźŚŢ/»wďÖĂ?˘#F¨¬¬TO>ů”nżýÎÔëÁ`P_üéÔó9sćȲ,cř¸Űłző]}ő5Úşu7 ���Đc� kÓ§OÓŤ7ţ@źűÜ şúękRŐ1;věĐ÷ľ÷vß uĚ1G·ÔşMk§źţ!]uŐëîż˙ýíoOf¬{đÁ‡ôŕµ»Ź1cĆhĆŚémŽ' )‰ôÉqő«_'���úa €!Ďu]]pÁE©çYYY:účŁtĹ—) I’FŽ,×wüZúĐGTWW—Ú6ëĂ>] .ĐŚ34fĚh•——gL‰ÝS§Vč'?ůqĆşĺËßŃŤ7ţo‡ď™>}šN?ý4rČLMž<I#GŽT~~~—>Ż·Ž»±±1cř���€ľG`Xh=SŇK/-Ň–-[ôŁý0µnäČ‘úřÇ?¦űîű˝$ż’ĺ»ßývF˙–žČÍÍŐŻ}›rrrRëöí«Őő×N±X¬Íöůůůşé¦ë<ĄGź×[Ç-ůa ���€ţĹlJ�†­ż˙ýmÖ-\x¨$ićĚşĺ–źµ 4Ö­[§G}\ßúÖw»TÜtÓŹ5eĘäÔscŚţëżľÖáĐźýč‡m‚††˝ôŇ"ÝqÇ]zčˇG:ü¬Ţ<n����Ę�ĂVYYi›uÉę•sĎ=;cHĎÎť;uÉ%WhÝşu©ußřĆW÷ű×\sµ>ôˇS3ÖÝqÇ]©ŮŹZ+..Öi§enűíwęć›®x<.IşňĘË;üĽŢ:n����‡Ę�ĂRII‰ľýí˙ił~űö’¤ńăÇg¬ţů3Ť3¦g ;jĎqÇ«/}é ë^ý ýô§?ëđ=ăĆŤ•mgţé˝÷ŢűSAŚÔR˝ÓžŢ8n����‹Ę�Cžă8züńż¤žçććjܸ± m¶}úéI’ęëë3ÖźtŇtüńďÓÚµë4kÖ!úÖ·ţ»ÓĎ3fŚnąĺć6 s-ËŇ/~Ń6ŚyýőĹş÷ŢűÚ|®$]ýµşë®{8:ďĽsŰTÚ¤;Đă���0đc� sćĚŢď6Ď?˙‚^~ůIŇ+ŻĽŞŹ~ôŚÔk#F”éwż»;cűĆĆĆ«L®¸â2·Yć·»}$•$mŢĽEŰ·o×1cRŻ]pÁůşŕ‚óSĎ”››Űî~ô¸��� <†)8(<÷ÜóúÜçľzţ裏·™)Ýí·ß©U«ŢíđőîN!ťäş®ľűÝČuÝv_Ż®®Ö÷żc‡ď?Đă���0đc� KMMMÚ˛e«ž|ňďúĚg®ŐW\ť1Ä'Ťę˘‹.ŐM7ýT«V˝«ĆĆ&íŰW«·Ţz[_úŇWtÓM?íłc{ć™gőÉOžŁ§žú§öîÝ«X,¦-[¶čˇ‡ŃgśĄ;vtřŢ<n����˝ĂęÂz+íyňg;í1ą8‰%XB’‚’Š.<âŐšš}śí1F’_đîÉóűöĂn˝żo÷ýE'f>óvŞjIJ,n~����JCC“Ž:ŞĄ˝ŔkŻ-Vnn¶$©¨¨PK—ľq´¤I1IQIńÄâ&/m1iŹ&ů8ígµúY•1������ýŠ0����� Ć������ô#Â�����€~D�����ĐŹc������úa �����@?"Ś�����čG„1������ý0����� Ć������ô#Â�����€~D�����ĐŹśô/K•oďTŽŐ79`łeTżi‚á¬>ŮÜrU°¶ZÁ¦Xźě?©nűm§oößܨ˘ĺ»2VźěżŢó$YÜć@7… ĘUńÁĎŞtę1’¤Ęµ/kÝż~ĄhÝN��Ŕ0D~f´;îjR°oÂ:ۨľ¦Z%#G÷ÉţS 8W…M5}˛˙ÚÂ<Ő{®Jú(کݩ–m•őQłŰu%ns  ,' 1 ĎTqĹ‘*3KˇĽ’Ôkĺs>¨Â‰ U·c•Ş×˝¦ío>!ăĆ9i���Ăa úçK‡eÉ#Ë’¶¸1M űäs*mOŤ{wôYÓ`GĄŃ…*ÜŢ7aLeiˇă•B}˛˙š˝»s\•y}†m‰ÇeY-׼/”N?NsĎűľľoËr˝yϵ5˙Ăšzęőzé¦÷ęç˙őË µT^ĹšjUµöe­űç-Š5Ő É˙>Cy%šôţËU:ýX˛ Ô\˝];Ţ|BŰ?:`ŔŘ#?©ńÇśŻ%w]ĄXCµŽţü#ÚňĘ´íőG†ÇßD' yüTĹ“ëp›p~©ÂůďSŮô÷©ěµě/Ëx2���Ăa ú÷ eéůćfź•Ó'ű_Š)öÎUĚ^Ř'űßjíSxá$Ť_˛©oŽ˙)Š4Ő©"+żOöżfůbe…âšë›0ě…HŁ,«o[QŐlzK‹ď¸,őüĐKĄmo<˘Ý+ž‘$ąŃ¦>żŹ7˝xŻö¬zN’”U8JĽN3Ďú––˙ń«CîżÉpÁH-Ľü׊Gęµé…ß©ąvŹňGĎĐÄ÷_®‚qsµň/ß‘LďU;Íţä÷äy®V=úýN·«ßąV•«_”ičŐß÷Ř/˙U˙s§v,}b@ĎűC?ÚiÓZńäĂ4záÚľř1ţ!��cĐŻ,ËÖóŃľaŚś^®śđ$­ ĆdŢzC<ű Ůvď†Ć’¶¨N:bšŽ»űŮ^ďÇńl[ËgO•ŰPŻŮ˝|~ŚçiíŰoČ Ću¦zż{wÜ=ŤĘ 8}zą‘Őď\Űň{W‘ş=ëúZ¤¶ĺó’ŹsÎů‘ś`¶ÜXÓúorÚé_T¬±VoţîąŃfIRŐşWTąövŐť*]~¬*×,ę÷ăÚ·y™öm^6l˙–TŮý÷L9’0��` ŚAżŰkIŹ6ÔëSy˝[ýńz8Ş}¶‘Ş÷jŮ+ĎjÁq§ôęţ×Z•ŞWL^IžVť8Kłź]Ń«űőČąŞÎĎ—ŤéÍşVPÜ«űsŃżUWS)ŮŇâpTGFzw(ÔĂőőŞ´$gÝocŹ<[ăŹ9WˇĽRŐnyG«źř‘šŞw¤^/›ţ>M:ńrĺ”NTsínm_ü¨¶˝ţ°Śńşüž—1®ŚqSëF/řĆ}®˛KĆ)Z_ĄoţU›^ĽO’”?f¦»ň®6ű©ßąN‹ď¸T’T8aľ&źx…ňÇĚ”qăÚóî‹Z˙ô/ŹÔK’˛ŠFiň®VIĹ‘˛YÚ·i™Öýë—jÜłQ’4ócß”e;ňb•Ďý 6>{‡¶ľöçŚĎ ĺ–¨tú±Zńŕ§‚–cY­µżYĆk99e“5őÔT8a®ŚÓŢ5/iýÓżL Ď5˙ĂštâZ˙ô/5ĺäk.(WíÖz÷Ż7Şąf§ŽľáAeŹ•$Ťś{Ş–=đe5VnŇŃź{X«űˇ&ľďbs‹µč¦ÓŰff;!Í<ó*ź}ŠâŃí|ëďÚđěťR⼷7”iÁĹżTÝŽwµőµ‡tĚţ"IšqĆ×4㌯é…ť$/UŮŚ÷iŇ —+§l’˘ ŐÚ±ô m^tżŚçvz.‹&Ş)§\«ĽQÓä6×këŃćďÝď˝.(WţŘŮťncÜv-ZŁćXɱůcg+”?‚¦ľ���Ă�S[Łß${8ŽŁŰęjŐŕy˝¶ďfËč_Ů‘Ôóźř“˘‘Ţ«PÉŐŰÖNĎ’ń,˝|ö±Šfő^Ńë§'×XňŚ­g*÷*Ň‹ç'Ňܨ˙ö`ęůż˛›±zݞ§Ţót{cťÇɸÖ-] ňY'ęÝÇnÔ˛ľ˘P~™f|ô©×‹§ˇŮçܨ]ËžÖâ;/׆g~­I'^®I'^ŃĺĎČ)›¬Š^«]Ëţ)/ő†y§iÚGľ˘í‹Őâ;.ÓĆgďĐÄă/Uůl? lÜłIoţîł©ĺÝÇ~ ăąÚąě)IRvÉ8-¸ř5ěŮ 7ďąVďüů›*ž´@SNą&ń“ŁůźţąÂ#´üO_×›ż˝FĆ‹iÎŮ7fŰ™'(ÖT«7űí\öŹ6Çž7jš,ËVőĆ%íţnŰ—<¦ŞuŻřÁM^‰^v›â‘z˝uďőzçĎßTNŮ$Í»đg’ŐÁ…óJ4böÉZţÇŻjńťW(•§ég|M’´äî«UóŢ›ŞŢ¸D/ß|¦ŞßkůÜ Ç^ uO˙BKᆰĂs=Ḡ©Ý­%w_Ąu˙řąĆ,<SSO˝®K×)Z·W/ß|¦$iăîŇË7ź)/UIĹ‘š}öŤÚłę-ąëJmř×­wä'UńÁë;=—ÁśBÍ»ŕ˙TóŢR˝~ëůZńđ·5U>w˙!pĹ?›Ń¬·=ž˝SţsWFŔÎ/UĹ)×ňŹ ��Ŕ0@e Äľ Ł/UíŃŻJËx¸’±¤?ĺ6©În /jkŞôč˙§łŻűćW22zŃޢĎ•‘ä©¶(OO|ţ#úřMŹđp%cYş˙‚ʍ&?WžgÉ©:×¶oŐ%cÇđp%c<=ţŰ[TżŻşĺüŰFä5ęŇşÜNd=I_­ÜŁ}Ž=čŇ]c<-đŠ7ŐJ’6=ŹfžĺW9ĎŐÄ÷]¬­ŻýY[^ý“’ěݤŤ#4é„+őŢswwXá0íô/jęiź—%Ér‚ŞŰľJ˙sgęő]ËţˇšŤ‹©Ű›ÚďĂĎRá„yÚ˝âßrcM©!8v ¤i§}^•kië«~`ÖTµUŻÜrvFÄ®wţĄ˛™ďOüb®–Üu•ŚKU´l}íĎšŃ- ć*Ö¸O’Ô°÷=mxćמź`vˇŚëŇĐŞ±‡\ńh“Vţĺ{©J”wüşŽůÂŁ*ťvtËP&ËÖężţŻÜhŁ$ió˘űuČÇż-Y–bŤűk¨’繊ÖWµ nWŐşW;=†Úm+µâP¦�� �IDATńą»ýßm÷9á\MűĐ´ń?w´©ěiď^ÖW)ÚPĄhCeęó'Ľďbí^ńŚ6˝ř»Ô~ŤŚf}â»ÚôÂoSU?­ĎenůŮÁ°ö¬üŹš÷íTóľťzíç¤*—:“śľş#Ő—hË«jţ§o–egţ3]:íţ�� Śş'9«’mŰz-׏kŞôŤâ҉7–ôל&­ ĹÚĽ¶nĹ›ú÷C÷čç\Ö㦲FFoX;´Iu2Ć’ńü0Ćx–ÖÍť˘g/<Q'?đś¬2Ʋô—Źť¤e3§Ęx–<ů˝R=OZYߨ'víÖ™#Ë{\ibڧýů·Z»ěŤ6Ż˝Śë‰ś&ťŮ”­žÉx’~T]©—M\'şĆ…Ű\ź b$)R·G–íČvBr˝&M:TE“Őč…můŁΓ$9YyďM·éĹßi÷Šgý@#§P“OĽR ŻĽ[‹ożD±F¦­pÁŤ^řQ匢ś’qĘYˇĆĘÍí;_R +_ď>ţůŚő¶ăhÜŃç*Ô4eŹUţ¨éŠÖďMż¸qČI*7KŮĹă”7jj"Ü §6i®ŮŃéů‰5í“ĺ»Ôë&oÔtŐnY– b$)Z_Ą¦Ş­Ę==Ƹ‘†TăoS-ËČv‚©Ęˇö4×lßďő¬Ýş2óů–ĺ˛aeŹSý®u=şGňGĎĐ®ĺ˙ĘX·oÓ2Yv@ąĺSUłéÍvĎeĂžŤÚóîóZpémŞŮđ†Ş7˝Ą˝«žďRcZM˙n<WŻÝv¦žz˝Š&Ě×»Źý@ăŹ>·[ ~��@tíć ôçhł¶íÝĄ›JF(·›,Í–Ńs›´Şť &éŤ˙<©}U{ô±Ë?ŻP8»[űŹÉŐ ömQťŚç‡$ţbÉ$B“7NY¨ĘŇB}ü7W¨9Ú˝ăĎ ëţóĎĐňC¦úűWÚgČfžŻŞŃžX\——tűř#ÍŤzěîźkÝňĹnł(+ŞjÇčüúl…M÷B”zĎÓUîŐË^LÁ>šŞĽŻyń¨6ţçNíYőź¶AN'łřDë«Ő¸·eF­eü/ű…GU>çdm{ýŤ?ćM:ńríXú„ŞÖĽ¤­•[4ńřKÚěgÔükäĽiéÝ×d|‰/š¸@s/ř?U­Y¤ŞŤKŐüöS*7WŁśž€ŠtŘ•w)ZżW»W<«ĘµŻČ¸qÍ»đ§Ý»†;×ĘOĹ“ÓŢ5/µy}Ěag©yß.¨R'!›1sýŚşpĎö l K:ůĹŚŃŠ?Sůcfޤâ(•M?NSNľF+ţ–ö®~©ÓýW­{55dM’,ŰŃŘĂ?®Ky#§*[Ş)'µ?\«rí+üă��0 Đ3ý.˝r" ęăéC;·ęţşZĹ»đ­ÎXŇŇPT7ÖwÄ$­yűuÝöÍkőĆžĚhFÚńw,O¬j=ć¬ŃfS'ĎSb±üž.‰ç®‘\ciőü©úĹŹŻŇk'/”×…@ÉŘ–6[?üŻ+µě©rŤ_mă%*b<cůëź±l_}·Źů«Ďé7ßąˇÓ &ie0¦˙WX§EYQuĄKŤ'éŻ uúđÎmzUnF3Şbş˘nű*eŤTsÍÎÔbłĚ)J5oíj¨Ź6Ę ú٨§iŰëkÝ?oŃÎe˙Tí¶• ĺ—eĽ'oäTM˙đ—µî·¨~çęŚ×FĚ:Iő»ÖkĹ#ßŃŽĄŹ«ză˛ňZšI .ˇ·ď˙‚¶ľögU®Y$Űé~ m¨Rĺš—5éÄ+儲2ŹoÔtMűđ—d%ú�ŐďX­‚qseŮ-ýaBą%Ę.§†nĚdeÔóä¦püěVĎçÉŤ5«©j«$ÉŤ6(”[šv?ÚĘ.Ýú�2ď«U8a^Ćş˘ óeĽ¸vŻďđXśPŽ ĆÎRÝöwµéĹ{őÖ}źSĺšEsŘYűý=Ö˙ëWŠÔUf¬ĚyšrŇ5jŞŢ¦Yźř¶¬v®g¤®Rë˙ýkţ��¨ŚÁ€sGM¶­›ętw]Ťî9mŠw6)ÜW¸)î É(’Pͨ=°iŁ?kR74Ö×ęéďÖ+˙|LÓ©©sWqią Šý/nµŐ•ŞŮ»Kk—/Ńš·_WÁO>ďIň¬TźäđˇTőJ˘ż‹ń¤úĽl=yŢIzáÔ#5óÍušľ|˝JöÖŞ°ĆćRST ĘŇB­<¤BËfOUu~?$ÉkŮ·1-Ă”2ŞpL÷Źż®¦˛[ç§Ţ6z<§IĎe5ë‚ “:=˙—>ő¦Şl[Áp¨×§'ďo›^şWsĎű‰"µ{UąöeeŤÖ´Óľ¨š÷–čÝżţo‡ď ŚPިiţŃpžF-8]áüŞ\ëŐiÜ»YĄÓŽŐŢŐ/ÉŤ6hÜ‘źRNé„Ô4ŘpžćśsŁölPý®µ*ç‡ ĆóT·}•+7iÔĽ©tĆűÔ´włŠ§©Q >"·ą6µËv4ćđO¨rí"唌WĹ©×÷č¬}ęg:ěŠßháwhëk)R»Gů٧kÜŃçiďęSĂŹ¶/yLcŽř¤9ë´ůĺ?)ÎÖ”“ŻQĂîuÚŰŤjŤHí^O9Bą#&©ąfW·Ž5·ĽB“?pĄvŻxVą#¦hĘÉ×hűâÇäĆü~15・1‡źĄú«©ŰٱG~*Ą¨ú=*7Gű6/SăŢMÚĽč>Í=ď&5î}O•k)§t‚¦ťţ%m_ühŞ_L{ňGĎĐü‹oŃşü\Ő+§t‚ ÇĎÓ®v%·=»Uż}ĄÂ3ŽoČŚ;ęěŚŔ+]í¶wI ��€0čądďôçˇPP5qK»¦äkהާ˝Ţ·Ąç˙Ďz]MĄ–<÷”–<÷T§Űĺ™ô¤%„Iö‹ń!LKPăWĚÔćkŃ ‡ęĄăMĽĎJ{_˶möiŇöŮj]z1LWŹż§öŮfżçż&P(h÷š5Uë^×;ţ·&ťp™&ťpąÜhŁvĽőw˝÷üÝťľoâń—¤†ąŃf5ě^§ĺüŞvűÓJŻţŰ˙ÓŚŹ~] .şEńćZm[ňWU­}9őţâ©G)«x¬˛ŠÇjáĺ·§Ö»Ńf˝řăS´ýŤGĘ-ŐĚ3˙[’ĄŞuŻhËËż×…ţl@ »7hĺ#ßÖ”S®Ó¤/WÝöwµáßżÖěsněö9ÔîŇ’»®Ň¤.Óä.W «@MŐŰ´ůĹű´őŤ‡Sc"u•zóžë4őÔt襷&¦¶^¤őO˙"ŁŹĚţl}őO*;K‡]}ŹÖ<ńcŐl~»Ëď}ď…{ý÷^q§âŃíXúWmxöŽÔëź˝CˇÜÍüř·o®×¦~—QQ$Iëţy«f|ôk:bî©zí¶óý{ŕˇojň —kŇű/S´ˇJŰŢř‹6/şżÓc©Ůô¦V=úM8îÓŞřŕőŠ5Őj×ňjĂîčŇďRąţ5•¶ c$uÄHRőú7řÇ��`¸|'îÂz+íyňg;í1ą8‰%XB’‚’Š.<âŐšš}śmd0í Ir]WżľęčNß÷—–őů±ŤúÍZ‚O™U,iĎ; \’5‰m\/-pi̤B™dß´°'ąý¸_}­ß®Ë'Ţ?ŻÓׯ˝óŐÔÖC=Śě_' yü´ËMz«7,Ö˛?|EĆ‹sň���PCC“Ž:ęđÔó×^[¬Ü\ż˘ş¨¨PK—ľq´¤I1IQIńÄâ&/m1iŹéÍÓżđ¶ůňKe îËH«ęÁÄőZ‚7=@‘2YíTĎd1©uíUä.~Ŕ“Ř(ńš;4®%€®3n\Ëř˛F/<C%G©`ěl…ňJ2¶‰ÔUŞnűJU­{M;ŢüA ��Ŕ0B´ĂŤ{2¶ť¨~±RáHˬJ­—´`ĆkÜÓ*pQfŕŇ2‹’Ő©© Đě¦MoĚѤ÷ߢÂ`™BV¶\Ϩ>VŻęćÝÚ]żY[kŢŃ–ĘĄjŽR} %Ć‹kűâÇ´}ńc ĺŹPĹ)תtú±’¤Ę5/kýżMŹ��€aŠ0j0TÇ„KźZP¨Ů‡){dXŠ5¬x@ďĆFés> f;ŘŞyof?d±Z=o5|I­*d”Y!“Ţ$xz4O§6”kN<_¶ńgŹRy©LÜ“‰{râž ť"ĺ„ 4"żBÓGť¨çę˝˝KôΖǵ·öÝ~ż†�L´nŹV=ú}N��ŔA‚0µqyÝpĺĺNÉń‡ĹŤLÔSA–ѱšąňÝ=ú#ÚY<"sHRr‘Z.ň§»n©‚I«‘Ő˛.ýý‰×ËÜÎoŻąnˇäXţť‰ŤŤkdKƱäŮ–ś'ĹýŮwŚ$Ďv4±ěpŤ*=L›+—ę­őżUcón.0���� B„1r*FőĘ~ËŇ•g—(gV®źÄ©ŠcůŹ–”W*]±íIÝ”sYU-Íw[ő†iz”ÖCĆtĽîČćb]Ô<QŮ€¬ %Y–ß";±s7© ƶüPÇ1FÄtŘž‘\Ë’c¤±%‡Ş¤ŕ'Úş÷ŐŐ3ű ���� 66§�«Ď +÷\YŽ%ىđò”ucY–,IąEžÎzű_ň<“jÚ’—lľ+?ń‹—˘ä7ţu“ëL«íŇŢwjăH]™¬śPPvŘń—lGv–#;+ +vd…Ů![VĐ–´el,KË’cůá’cI¶,ś,ŤqąŠ‹?Ć…���€A†Ę”F„Ą)'Ë‹YĆČ2~5Ś1F&˝É‹$ËHóŠviÄšÍÚš;2s*jŻŐTÔ^ňŃjiě›\g¬ŚçĆH ŽÓYyce‡Y![vĐ‘´%ÇJĆ´TĹËz,O’kd9F–ăÉŽŮ–%Ű$-#ŰřŹE…RĚ‹Ş~ßS\t����$¨ŚÁ€°§‘+,)fd˘F^Ô“‰żgŚëO'í%ÂyF¶íéü˝/úŐ0žäą‰Ĺł2ź··.Îd>—ŽV™>–=^VŔň— -+dËJUÇd‡~P“¨„±–_É“¶Ř–%[~ELňŃĺä:…EQ8ç°así����`¨#ŚÁAgFľĄ˛ąůRÔHQOŠř‹‰z2q?‘ë7ČUĽeęę Ąő:|窴ŔĹXÜŚ&3tq=Kžke„0ž+•yYş(<Ů•X,Ç\ě ť˘äd1Ž-ËöĂ˶dŮ~b+5ÂĘL_ˇL^Éy˛Ą\|����cppÝđĆŇńGĺË$*bLÄó—hb‰xRÜŻ’1n"I„3žkôńŘbY®iU Ó~ĺK*„qÓ«iüpćB{ś˛l;¤’”d0°ý &Ľ¤§+Jü¬Ä{”zH=i]Żb[Y }Š�����ĂwSN&ÇŤv”=*$Ĺ<ż*&-„1QOеTČXQ#ĎőˇŚ$WĘĎŠęĚÍ‹Z…0‰ ŻučŇ̸Éuž4ÍËÓ»0cÖĄÔ/9{’'/âúSZ{&±ŤR}ld˙“ţ4É´zžx=5[V¸‚›�����a ąŽŃěCó¤dʍç?F’ˇŚ‘ő+fóäĹ=şëVU2¬VQS]»ĂŹ’•/mÖĄő‘9Í+k= “Ŕ¸žÂÄ<yÍ®żD\™żŢ¸ž̤µLµ­–<'ĤŻóźŮąŕF����€ĆlJrJň˛zôľËŤś ü Ç’±Ť?•µü<ÄČO6,Ďoâ+Ď“‰«e¨RÜźŻ:hy:Űsşe™íΠÔ2ËRŰ”ňĽ ćŘ-Š›ś-ÉH¶'#ËŻli=›R<ČÄýç‰yłýáSĆřŮŽŇżŹÎT0ceÍRQ~©lÓŔŤ����„0…¶§Q“Â2#9’“ę»bR Vü0Ć$¦Ž6^2đLĚb’3.Í nŐŚęÍZ™7ˇMăO}mµ jüułMľ?CSÜó§«v,Ű’gűejž‘,׋$K2ÉŔĆó+dbnK•Lb•_dÓę1Ȥ?úÁŚĄ¨3CYńĄÜ����0@¦„Âa#-<O˘WL˛qoĆlJÍ-=düíM~Łž?ĺu41őuĚ“ízşpĎsţlILcí¶ł®Âd+nŚ?mv"`ńbnbČ”?,É‹$†(5Çĺ5Çe"q™+uSpűC™LÜ“kŚâĆ$ eüGĎ´ b<Ó22* ����Ę {Sť KÂň"ž,G’mÉX–,ËČX-Sc$ăWŁx‰ˇJ–güˇJÉFľ1%ŤĆY5:qÇR=S¶°Ý!IžIW˛•1Ň;¬¸‘lcŠyň¬´ŠĎČŠ{˛«evĄDS_ă&zĘ$'×5Š%¸ŚĆ(̤=¶1~ŐŚkŤŕ¦����€Dá}ŁYe¶_ăX’#Ű;<K’e”>JÉd’MuÁ‹'żOK˛š%ŃGĆÄ=ťÝřš^(ś«&+”Ö'&­‡LF(#ZĹŤ‘•%Śz-AŚkRSY§¦±6~ŁŢÔg»iAŚ—Ć“hm“V)“ĚąJTĎXĹÜ����0ßU9Îć91…TÓ^9–ü$¤%đđ«$ iËď~›ę“űă÷ŽqŤ¬¸‘—d ÜFťłĺ9Ý3öTć˘TeڕƴTČŘK1ă)Ů$ĆH Ä<Ůn˛*Ć–eűÇ•dRł-ůŐ1n"„ioIVÉřŚI ]JţěÉ(¦đ°żîÁ° YĘuBʲl§eZptŹe)îąjö\5¸QŐĆ›U‹ôÉGeŮŮ Ű9 Ůa¬€+ŕ¤CętYrM\qWÔ‹(â5ŞŮkâ>��@ [yžŃ„bËďăH–ëO’-)˝úD‰éźó@c$ŻĄy®ĺIžçÉŠ+Qˇâ÷ޱâţë§4/×S ‡i[¸4U “ŮĐ·ĄÁoÜEedäůŤeɵ,Ś%ǵd[žd[éYLbF^˘ş%YýK{Śyé2i•2É`FJô—ń‡«ňp®ĘĂy [Nć 1=gŚ–­<ÇVžÔČP®"ĆŐîH˝vGzgV®Ľ@ňś9 ¶úh3O—‘-G!ËQČ +Ď)«ęÝZŐÇkąź��� ‰0ĂءŠČq-yĆögP˛ĺ—ŔŘÉ~1‰‘@JL#-?ڱĽ–áJĆM&”†Zž¤¸'/ŃC&čĆuéć§ő)d IJΠ”>ŁR­çʱ­ÄĚFţ®’A‰mYţ$OĆ’•ţĺNiý^Ú Z’Ă•˘Uʤ-~v×:Ç j|v‘ňś 7~?[ŽĆgŞ8Ł-M5jtc=ÚOĐ «(XŞ5Ľ«µUč”*ŰÎSM¬R1á&��8ČĆ`X‹iDŽ‘‰H–ăQ2vbx’ťhŘ’`ÉJ>&“|ôÚöŽ‘›čă%fVJ4ó]ŕnÔW×üL;s:¬Ŕ— NgůĹ7®%9–Qܲä$˶aŚü@&˝L2”i _ĽvB´>2ňvÜŞau­‹Ůš’[BőË�Čs‚:$ż\ŞTëŢPśl;OĄˇň!YýŇS!+¬‘ᱪŚîV“WĎ ��p#ŚÁ°cÉh~<*M IrL˘WŚRC€<Ëo“ b”Şd%Ć%ĂůĎ]vĄd…LňąĺúŤu“fE´+»Đ ŐćŘ9ńţtÓ˛äĘ’c,9–Ä؉ &˝6Ćř5;‰¶5-=`’•1ńÖ1^ű2Éǰ·{Ř\ëâ`¶¦äÄ $c4%§XŐĺ@&ŰÎSIpÄAÄ´ś.Ł’ŕUĹD ��p#ŚÁ°3µ>˘\ÇHŃDăĘźĘÚö«bL˛An"wI”1˛ŚßČWž?DÉJ WRjV#I®—jč›lę›—&U7kcIv‡Ç‰®S0ëp?1ÉžÂFޱd[ţ€)[JÍňd”lec’ß2;’é L«!KńŚj)Űl×9Ç R3LÉ-ŃŞşÝű˛´Â]EL{JCĺÚ‰1d ��ŕ Ea%äzšŤČ8–Ś-YŽ%“¨ńe4îő{ƤrD0“¬i©Ž1ÉJ×kiô÷Ő1ž< ¦ďiЖ°âŽÝîńŢ«Ôěą ZŽ\ËČITĆŘ–‘ť düĎNUë(1=¶üˇFéĂ•ZEj3Ă’çe<wM\îšaq­ÇgÄ &Ćh|v‘V×ďétł˘`i·‚Űr47ďMĚž®Ý~o™¨Ń–ćőZV÷Ş\ă‘ÓeT,Őžčvî��€a ×9ť ő±l[ĆóÚ}mVuŁBqOƶü¦˝‰0Ʋ-]˘yŻdµôŚ‘˙čCňżTZ˛dĽ– ™´˛żoŚçQ’›6l)ntŤŮVŻĺ :řV§htĄĽĐląĆ’cIv˘2Ć’i™äIił<Ą Sňd2†+%›ňĆŐ¶:¦őpĄ¸1ĘńÖ(¨ĆŽżřÚV§×ĆëŕĽ÷·ňp.Ízˇ<'¨ňpn‡ł,ĺ şÝ¬wNŢš–;·ÓmBvX9ł$IoÖ.2ç+d…•(`–%��€a 7ćĘ u|kf…‚jjn[Úźß׸ş? ÉI›Aɶdl/1ťu"l°Z5ń•ZĘPU(ĆKΤ$x’I†1‰ő®_“ń—ĆďlĐĆ9ŞĎn˙w7='70Kn˘Ʊ,ŮÉ &1“’Ą–Ę–™—L›@&Ţj¸RĽťáIéC–ĘÝ—;=÷YˇP§ŻÇă%ŚÉëö{¦ĺ–éăcfirn©ęă˝ZµYݱJFŇé#§ëř˛‰*dkkÓ>=¶c…Ţ©ÝŐĄýW:Q'–MѬy2ÚÔP­'w˝«Uu{Ę˙~ËĂy‡1NA·÷7!{Ş$éŮĘÇUkżßQA D§–}R˛+ôVíˉř˛-KREÎlMÎ>DůĹML;#Ű´˘ţu5¸~˙–OŚĽ\vë©ŃVÖ/ŃĘúĄţqeMŐôĽyĘwŠő"ÚŢĽQď4,VĚ‹vë÷Ësc���c€A wę$Ś)ĚĎU$•çe~áš»ŁNVĚ]Śë%†(%›÷żgŚ•¶”čÓR{’L>¬d“mb’?N(Ń´7Q!ă%fTňűČÔ KV\šµ¦JŻĎ/o˙ a|Łb‘•Їń÷ËA•¨ŽIZňLŰ@&˝‘Ż_Ó6i=l)7ţ® ĚćĎ«mŰ**ě<äÄă~Ă wđeął ćKÓŽW ĆłtÚČéš‘7Bž<Uä–¦¶ťS¤*ŽŐ­ë_ŃňÚťťî÷ŁŁŃ™Ł‘$UE›°lÍȡéy#tËúEZQ·kHý·7#„ľ2őxŐÄšô_ď<ŐŁ}„-GÁ°jc™i–ť-GÝŻfJMމííp›Úx•<y ZażŞ­0fNţQš‘;Ož<ŐÄö*ÇÉÓ„ě ŤŹŇ?÷<¤¸‰©&^%ŰĘfXŕɶśÔ~§ćĚŃ‚‚cź]Ł'WąłU*×*˙ščđÔ5ނƞłŐě5ńÇ��€08őŤMĘËéx(C0ĐȲRŐÔŐ)Ň•gŚFW5©¤6"϶e%fO2qKv˘2F¶ü©­eµôŚIühü¬&Ń;ĆŻ€±ýbŚ,YžI듨I eLÜď#“ţX¶ÇUůîfí.Ďj˙ Xóăj L’ceĄúĹ$‡)ÉX­¦¶6©FľÉ)®=%‚Ą2ÉEĘ c<#Ď4k’i˙˵mYĘ ‡TT'Çvö{m<Ś duű=3+Ĥ›ś[Üţ9‘ĄłFĎę4Śq,[§Źš.IşóR˝Půž,Y:oÜ<ť4˘B§Ťš>dÂÎŚž^ŁÖaLŘÎŕßŃÖ´śŮ’¤EU˙Đ®č69V@§–ť­\'OŁÂ´µy˝ž­|,ă}ąNN+;GFFŰšßSČknţ’¤Ąµ/iCă*e;9:ąô* ŽĐ¤śéÚŘřn·Ž-lçĆ���Ć�«¶±IŁLQfyHë×±UVTزb´ôöěÁő{„%Ťďt‹ŰŕĘ{ün#©®ˇyŔĎk®ęö{&ćwű=ăł‹äČ’ŰAH´l:Í^<qŽŚţ˛c…žŻÜ(7Ń_ç‚ń ô˛)ú÷îuzpŰ2IŇ)#¦ęÜqó´˘n—~ľn‘+«k&Ą ŤUzaďFť1r¦ňa-ŻŰĄ¶Ľ©úxTy~6÷ IŇMk_ĐąăćiT8_››öéŹ[ŢŇ榚ԱQ4N9]ŁłóŐŹkYí=˛ýŐÇý!4ßťyŠĆfč[ŢŇ eSTĘŃ[ŢŇ“—$łu硟Đ}›—ęĹĘ÷zĺuÔ|·K7žuŕŰyzt×ďR?K’IŤCT‡łÍĚ[ ˲´­ů=ŐĆ«5>kŠ+ fŻIWI’šÜF˝×´Z3sh\xr·Ăź��� Y6§�M,‘˙—x°©khRĚř™j˛l§ŰďiG»˙/Úa#ůĚęD_+&ˇë+ŽŃI#*”ç„´˝©V»"őÝţĚQá|ť5z–Ö7T©ŮÄuxŃX]7ĺŘ6Ű]5éHín®×žh˝¦ć–čËSß§‚ ˙…ţýĄ“tőä#5.»Pëęö*ęĹőľŇIúÚ´juîÎ3[ŮNP››j´'Ú ĘhKsçW*7kg¤®×®QŔřěßřý4*<^Gž¨SG|JŮNžÖ7®Ô®ČÖ6Űç8yš=M’´*Ń+&?ŕ{űb•wGM´R’Tě~đ7Î ���úa ĄŞÚ†nM‹ľĺŁęÚúAq,„1ŻTmîö{^Ţ»iżŰüć˝×ôjŐyFš_0Z珛ŻĎ>MWO>RYv÷ż`‡í€n^ű’îÚô†~¶v‘§]“!�� �IDATŚ‘¦ć–hBvQĆvŹďX©Űß{]?Zýś*ŁŤĘ „tTńxٲtćVˇ?o]¦ź­_¤ď˝űŚŞcŤ••§cJ&fěgeÝn}}Ĺ?tÓÚ´ľˇR÷l^â ±&ývób­­Żěµkäô8pHü°¬^ÚN* –jbö4ĺ9…jtëTŻi·¨fFî|ٲµ#˛Y5q˙\-żďML™_ňyĐę~ĺ–C��pĐ!ŚÁ w]Uî«—Čc…ęÚzĹ]oČ˙ßv­ŇŠÚÝ]ŢţÝú=zlçŠýnWŹęîMočËË˙¦Űß{]/WnRĚótDŃ8]0~A·Źsw¤^;Ő(Űš÷iOÔŔĆdeÎB´lßIRÔsµ˛nwj›âP¶ =uďó+=š˝¸ŢŮç÷®™ś›ę,©ŮÖ«˝búBňč¬^ÚN’V׿ĄżěĽ[ĎU=ˇ€Ôü‚c5=/ózeŮŮš”=#q?Ľ™Z31IRP™ˇKňyĚDů��€ý"ŚÁ ŐŤ©ˇ9‰`őMÍjŠÄÍńĽyžnݰHŻVmŮď¶Kk¶ë–u/+ću>ŤÎĘש#§é’ jtcZ\˝U÷l^˘ßm^,Iš_0*c{+­bñŰ˙Ók·Şęp’łúX¦Ă}Ć»©ĚýÇŤ×o×Č5;WĐ «,8ň˙łwßńQŔ?{5˝š„ŢA:iţ¤÷.)˘`Ă"bÁ‚ Ź€4Q¤"Jď %ô$$@IH%ÉĺĘŢ>\räR/ír!ź÷ëu»ÝŰ237;űÝŮYx)Mă&aÄcÝ#Ü×›ňSe9ÂS=çç!äÔ…#&Ă#µ“DÓŘ<îĘr•é‰\Oôqů޶’N""""˛=cČ®i´:htz°‹LÉHŐé‘jG�H5lÜ$aUŘ9lx3ÇyEcyči¤Ľ×á(SbXĺ&xÍ·%jąNĨîT� MŰN­h:Ń®éTr ‰k…l—éŁrAÍ´ď×vöB9•#�ŕ&Ńbľvžľ��ą ŤÜLË OMDśNiĺ–îU��rĄ†î¦ä(0¦g‚ĽČóČPŔ€CzĎ!C I€`ĘiľŚdNxŃ«?ţç5�Ţ*SÚČĽU•Ҷ9Ů<ŻJć€N¦G–ßJ+&Ý#m8 ’2'ó<Žr'Ôp4=YëAjhĘ&1DDDDe oT'»'Š" ˘ 2A™L`‚Ř€$I0Ť0ŘÁ€˝™%‹:¸Č•>±ßńč&RD†Wij^D‚„oaÇŁ›V/+$%7źDŁ«7>©Óq: T2ś¦mŰŔ4.KĎ uQĂŮß4ę A Ëˇ×ŤĆ¨ÇäZ/ŕ^jj8zB€€ŰIŹń@“�ĹÓŰbşůÔÁóá­r†›RŤ$Q‡€Ř{0BÂöíŰĂź{MÝ+ĂÇÁĺTŽx”š„S±ąŹóX« . >®Ű {âjbdň(3ťQ •ĽpO R *<çX µťA%S#Ts!)7‘"ć=Đđ1á©wQš:yöB’12'(5 ’·’.›ç­ăÔ A‰ÇşGÖ=Ę´©¸žtM]ۢ…[Ôvj 'ą3‚ńú„jó˝_:#{�•5 ĆP©a”$hRő$ ™ r™ 2… ršÂ% F˘d„A4B¨•ö[5$RQAĺ\¨eŠFŚ^ Ő[CVß;‹€Řů^ÎO!'Ń«B]´ô|ĺ•Î0JF„$ÇâßÇ!ćAo>‰Â_×Đͧ6śĺJ\ŹŔµ'‘P˝u–ĺĹęR°/ę6V2=§ý\ܬż)Ë|?‡ťÁ°ĘMŕ¤P!(9<¸d~lő±Pč$Ý}ę ®«RENĆ„aKÄ5čňčU§OÁĆWĐ«B=ÔtňBUGŹc Y®5¦ŔEî–ďeĄ˙ş[{ţ•Tľ O;tÖwnŠzNĎăˇödé·k ȱ#]@üaÔsn _Ç:p–»Ă é® ĹŤäóH0Ä�”2%j;›Aľ™|1ŰĺÜIľ ťQ‹şNMŕ˘p‡ÎŠ{Ú \{rFä˙Ö/­1…1D%I€Ţ`„C$‘$)íÖ´:=RuúR=°¬]TrTJ8¨”P«UpPĺÜëDk0Âş!R‹1Ł×B+‰PňVšKńř1č?Č!Ă­¤č-Cg±íáMl{{Źš}‘·±/ň¶Ĺggⲿćtěý<ǶąźŹ9‡sśž×2fŢ:ă´ĂŃÁ8\ŕtŐJ"őY{z¤5ˇ‡ůëŐ”~űQuuH0"B†”›%j86ŔsŐQ١Z†$çňi„7“/ćd�˝QŹm‘kóÜ®0Ím„inş<‹Đ#Ő¨aEDDDDTÖÎĂd_$<ŃŠpubJŘŁ¤Těaüž(mŞ:¸z9}t3ĺž79–1îrŻ|/S#&#,5wSn Y|şühÝC\LTŁŞcMÔvj7EąŇ÷›YhĘ cČ.‚�I’ @BŠ•=Ť±G )ó8+B ŢĄM†§Ň©ŔcÇPńHőŇ&ç<ÝG™ T‚őcÇśŚ?h]8$)ű  ^Ň"$ĺ&î¦ÜByUE%±Ô¤—NŇ"ÉŔ` QYÄ` ŮAĄA*L ;t7:‚`a»Ż‰GW@*ýOÚ:Ž ·ć:O’A—ç<%üăĹ}M|žłĹëcPA]%ÇŕJfQZëĆň‘ !Z÷°TŐuń:öĚ""""*«řhk˛łB§Â(ńQÖöĆh”p÷±¶D{Äd”"ę’ËŚ±!ɱHó~ ş^Ň"FUćÓ+F˝Ä§(•U ĆÝŃ€Ëa L;s14©ű ’Ĺé5I‰řD­’#I‰CśŢúAh5Ć$ÄęŁí&°gŰ䫏†ĆIJCDDDT†1Cvu’�rąÇcˇŐ‹L;ˇŐ‹8ą\n‘Wö NŻÁÍ'QH˛˘W­$QŹ›O˘ňI§1&!R]ꢓ´Ô†3CDDDD Ć}ŇK2l:uź·+ŮI’°ůô}čŚöŰ‹!EÔ#0)÷S •Ä+nZIÄýÔ&E[ukRÎżs-˘uHc âŮ ¦‰Đ#AŚA´.‚·&�ŕKv&ý©J2™ a±Zl?÷�ĂŰ×Č:“Ę&$I¶ł“ …BiÎ#{ĄMF”6nJ5Üp–«ŕ “C!“?ý–ĐŹŁTŁdQ‡DC*őEPH2$"É™#Ô2'¨dj(ä‚Âę~í©% ’:ŁZc RŤ–#""""˛Ŕ` ŮoáT(p6$‰)·ńF÷pP±¸§Ě§Ľť+ößĆťČd(•Ąë҉zm‘ ¨řĄ5 \QŮ8ße˝Iď�JĄw˘4±á,z·đEŰşŢL b&INFbËéPhEÁ"#p \"""""˘Bc0†ěRĆ€Ś\.‡A’aKŔ}ě˝p_ŹjQ!EĽa©đ$@/ŠĐ§Hy‚?N†#Y/A©TB.,ň„ ŹÁ*A€JĄ„Ć`€Z©�śˇR*á v€Vo€Vo€Ng0˙­Ő‹ćż˙>˙2YŮ«Úh4â×·;e›.é镬Ő[|®MiMDDDDDDĹÁ˛[{Ç<ýLŤÎ�™•ť4ôz ŽŽŽËËf0FŤůN/Ae›DDDDDDT4řhk˛k™�‚ áţăd«żźj€ He8ý ź^ Ä-cČîe ‚ '#­ţîýXm¶==ĘNÚ.˝!"""""*z ĆP©gCbq;"1ĎďD&ę™$ZPˇT˝¬Ý§‚¦1DDDDDDĹÁ*5Ň …żşŤŔ„ç ŹKĹ© (Ş—Uŕ†˝Ą‡5űPôb †¨řp�_*UŇő•d üz(u+ą˘±Ż;Ü•ĐëED&¤ŕfxîÇĄB­VgůnYHźt?ÎOz1CDDDDDTĽڎR'=X vp@Čc-n? 7A€Bˇ„C–ůËj:I’A¬J/bŠ1T*=˝eIžíc«TČ>-ärär5ÓŠ¨1CĄ L+"""""˘Ň„řŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6¤`ĺM¨Őj¨T*Čĺr(r‚`Óm$ QˇÓé Őj!I3‡ĺĺ¤ €»R„‹B„ŁĚ•L‚B›ĺŤ 0ťQ€Ć(C’AŽ˝"‹F™©Xǰ|1™Ç¬;ě 1Dąť@Éĺpvv†Ú.ČJĄJĄ"m{\‘šŞErr2DQdf•ńňÁrbźĺFx« đR‰Yť¶lJ’ą�8Ę%8ĘŤ(§4@pŁ“#Z«€FdGŮg˝n`ĂňĹüełî ˛/ ĆĺŔĹĹNNŽv˝Ťj88¨‘’˘ARR3ŤĺĺÄŽTvĐĂG­`ŰŔ‹µ$IB9Ąĺ”Di•HU2ÓĘXÝŔ:†ĺ‹ůË<fÝATrŚ!ĘD.—ĂÍÍ Jeéůy899B©T"11‘WX>XNJŁÜ_GĺĆRłÍ>j=\"îiTě%SëÖ1,_Ě_ć1ë"Űc‹‹(ĄR‰rĺ<KĺP©T¤m;Żnł|°ś”…µťµĄ*“ÎQnÚv…‘YëÖ1,_Ě_ć1Ë‘m1C”F.—ĂĂĂ˝T®(<<Ü!—Ë™ˇ,,'6ć(7˘†“rˇôH($Ôp*ťÁ$Ö ¬cXľżĚcÖDĄ 1DiÜÜÜž™m777f(ËˉŤů:ęJu Ć|b HđuÔ1CËhÝŔ:†ĺ‹ůË<fŮ"˛ c`,íYęŞT*ŕââÂŚeů`9±‘ĘúgŞ7‰ŁÜĘzfl­Xǰ|1™Ç,[DĹŹż~*óärů39j˝““#4 Bł“ň1qâ4h $IÂîÝ{°lŮ čőúBm׾}»!—ËŃ»w?h4–“â(7šźš”5«x˘kŰęhRÇĺ=ś I˘bSpĺvžą‹{Ktż|ÔzÄéĺĐ·Ś;x,bůbţ2ŹY¶lÁ*óśťťó5ż§§'FŤ‰ŽŰŁbĹŠĐëő¸{÷.vďŢ‹íŰwŘŐAĂŮى‰‰Ěd–Źśôë××Üíö•WF@,\¸ŘęďËd28;;ĂËË uęÔĆŕÁÍ۶|ůlܸ 7oŢBLL ž<yÂrbCŢjCľćW*d0¸9^jS™{¦W­č†ŞÝĐ«c-ě;‚ŐŰ®Ŕ s\ÎČ^ŤŃ±EUxş9XL ŤÁ7żžDRŠ®Đűv/EĹL.†şˇ|y/¨Őj‹Ď˘ŁC§łÍ-bŢŢŢP©¬(3&&©©©<ŮqůňđpÇ«ŻŽB‡íQ©R%čt:c۶íŘ·o?$I*ÖmeţÚ_»¸¸Ŕß4^zéEřřř )) /^ÂÚµëxŰŞu6hĐ�ţţŻ˘qăĆpuuAdd$<Ś?ţŘhń(ęNť:bîÜo�sć|]»v›§9::`ůňĄ¨[·.�ŕ‡ţýµ…e‹€`ĹçB†÷éË2üźţ’§˝i/�%�Ź-ZźŽŹO`j“ýý�ŢŢĺóŐx]ąr*TđÉvú‰'1uę´bmôäWtôc»Úžgą|�¦'"Lđ:zőę�Ř˝{/~ůĺW”+W …*ř`É’ĹŹŹGŻ^}­Zć/żüŚFŤćk;®]»† &˛ś3ą�<ď®±:í” ľxł#Ö4•«ł×˘˘—3ŞV|z|BR*\ťŐ ®EaÎĎ'˛ ČŚĐ}:ŐÎq]wÄcćŠă… Č‚€+ ŽY4 ]7¤sssĂ˙ýß|4lő7­×ë1oŢرcg–i …uęÔ‹KŢ'pIIɸsç †¬ÂFŤ⫯fˇrĺJVołŃhĶmŰ1ţŤ»ŹuLń•ŻJ•*aĹŠĄđööÎvúćÍaÁ‚ŮÖ(CyěĺUK—.ŻoŐ,óŠ˘3>ÇŃŁÇr]g§N1gÎWŮ>Ý($$ďĽ3qqqącd2ľűîtěŘ�°aĂF,^üËŮ…äd üüZ™ßśłł©·š‡‡;.\8Ű@<�=��CÚKL{3Ľ¤ ˙§ŘŚ#Óߦc;łĘ˛ĚW%ó2jÔ+ć@ĚęŐkđĎ?Űáě쌏>ú�-Z4Gűö/ M›6°«},ĚM–Źü™0áuŚ=ĘüŢß˙U�Ŕ˛eË�+VČ÷2őz]Ú VâââŽ#GţĹôéÓ��3g~…nÝş˘jŐŞ(WÎ...Đéô,'6ŕ®óŐH?¨Ö,ŹdŤ?¬;Ť¤d>›`j¤FÇ%ĂËĂ ź,:‚ÚĎ•Ă[/·@“Ú>3ŕyü˛őR–eunĺ I¦-<ŚŕűqćĎËą9`Ö¤N¨ńśÖĚîgńťx ź Ĺć· ZqR-IÜ•"bu|˛Eaë†tÆ EÆ qęÔi´lŮ*•©çѵk×PąreL™ň!öíŰoŃCĆÉÉ Ë—/Eť:µ­^Ďť;A4ém$''[|ţŐWłŕăăŤC‡ăÉ“$«–ŐĽyS 4×®]ÇîÝ{x,˛łň5qâđöö†ŃhÄoż­Ć©S§áć憷ޚ„ÚµkačĐ!ŘĽů/Üż˙ Ëw[´hŽ-šăÁpěÝ»ŹmŤg$Ź?ţx*|}«B’$üóĎ6\Ľx •*UÂčŃŁŕââ‚éÓ§áäÉS9Ţ.íîîŽ3¦C©TBŁIŲeËŠ>}zŁGŹî¨Ył&Ţ{ďĚš5;×í~ď˝wĚÇŹŕ§ź–°l1Cd’޶–‡‡�Ŕ`0ŕ—_V™oIÚ°á´hŃ<mw»ŰGÄlS>� WŻžiA™‰?˙Ľ ˝{÷IJeËQŻ^],Zdşr•± o^&MzăĆŤ�¬ZµÚüyz0fßľýŘ·o?�d;ËIńqQX[bµJîčÚ¦:Ś’„ďWźÂµ hth^n.jDD=Á”‡°á»čßą.bâ5Řy,C»ÖGŹjbßÉÜdŮUŰĹÉT>ż˙%«·ÁËĂĂş7€(IŘĽ˙¦ŐűČ`Láë†téŮůó@­ZµĐ¤I¤¦jđ÷ßŰđöۓЧOo”/ď…‡ćďôčŃuęÔƱcÇv/ď˛VÍť:uDϞݱeËßćĎË—÷BĺĘ•đďżGńŮg_X˝Í5kÖÄúőkńüóM ŚaS|ĺëÚµëŔŁG‘ضműÓß®‹ ľúj&A@… r ĆŚ?… Ć0í'Ź«V}ť:u�¬_żK–,3ĎöěYÔ©S�ŕŕŕc0¦wď^ć[«/ţ ˙ý�ŕÜąó¨RĄ 7n„=şcѢźĚ˝cŇĄ_ 4h †9műŻaÖ¬Ůęá²E Ć=Łäňüť`>|=zt‡BˇŔ+ŻŚŔÖ­ĂĹĹC† �$&&" ŕL®ŤY�ÇСĂÍÓš4i‚ź6,CBîbÔ¨Ń:t>účó<z˝AAAX¸p1._ľRlűH…M;SCCˇPÇIo|ÄĆĆáćÍ[¸pá"V¬ř9_K}ńĹÎ$)Ď ‹µó±ś G™ő·ltń«A&ŕŘů0\ ŠĆs\ŃŐŻşé$ŮÓ Łű5Ab’żţ} éíŐJŢ.čĐĽ*şřUÇęmY÷z#¦ýmő64©ă™;âĹVŐ¬ĆägY7äĎńă˙ářń˙˛śÄdV®\9�Ŕ¦M›qţü…<—۬Y3tęÔŃü=sŁOaşÝ %%%_Ű™>v·+°Ž)ůňµyó_ďe2jŐŞ‰—_�xüř1nܸY*~ĚăÂçq۶mÍóíÚµŻ˝ćŹîÝ»ÁŰ»<°nÝz;v<×őůůµ`şE1c.ý!Ť7‚ hÓ¦µůbP:ŁŃfÍš™Ű°<ŔÔ©Ó <Ë1Cô¬ţ�ů«ŕŹ;Ž/żś…ńăÇâí·'áí·'™§śÁ˘E¦±@ň’~UáÚµë�€îÝ»AŻ×gŰĐ=ţoŁJ•ĘčÜąćÍ›‹ţýY}• żűH…K»]»văµ×ü±lŮÓ{˘wî4ő‚‰ŽŽĆ믿‘ďe–/ď… *˙~ü8¦P󱜕Ěú«|MëšňćČŮ{P*dývg¸9›şŞ«”rřVtÇó ăůřÁ€Pth^MëT(’í˝u÷1�ŔËݱXö‘u1ÍJ6­fĎž…®]»�0Ť rŕŔA¬XńłE�ÎÇÇÇ|‚[©R%ó˙é@TTTľHŔüµź<®QŁş9p2~üXóĽ�иqcĚťű-ľűî{‹6™U¬X�™ĺiŤ!!!YćËČĹĹsćĽm.cÓ§Ď@aĆe٢gźWIeš ů< (ĐŞUK‹KşúőëˇYłfy.ăŇ%ÓŘ=zt7ýe2téň?\ąr5ŰůŹ˙‹˙„O>ů×®]‡««+ĽĽĽŠm©pi÷Ë/«°jŐoxôč=z„_5˝€ź^†S§ţĂŃŁ‡±xńBÔ¬YÓŞe¶mŰgÎśĹŮłçŕççWčůXNаAťŹŁhyS�ÄA%ÇÜ÷_2bŇ]ą‰ř'Z‹Ďî?25`˝=KĹ>˛n ¦™ý¤•\.GłfMŃľ}űLǩغu3¶nÝŚŢ˝{�|}}ÍźmÝş>>>ĚßRšÇ...ću´më‡iӦ㥗şâç@Ł1]Č{ď˝wŕŕŕăr]\\ K �RRž~ćęę’eúL†—×Ó^yýúőeÝA”6±ňáĂßGż~}ˇP(°dÉ2ĽôR7ôď?'Nś„»»;¦NýÝ»wËuŃŃŹqďŢ=tíÚrąmÚ´†§§'.\¸íüJĄŽŽŽhܸ1ŞWŻ†Ű·o#""‚™a§ V®ü Ĺ ACńË/«ĚO41M= T*Zµj‰ß~űĹŞ€L»vmqęÔiś:uíÚµ-ô|T2ŇoAquRÁËÝ)ËtźrÎć[Űz¶Ż‰Ułú`ÉôžL8"˛Ú矉:Ăß .\¸ooo|đÁdóţčŮĎăŚăŔ¬^˝ÇއF“ŠS§NcĹŠ�L‚7mú|ŽëHJz�ppČz!ŔÉéégŮ .“ÉeKfذˇhٲ3Ž( ĆOެäęęŠú�Nť:Ťß_ŤFččh|ţůćßđáĂr]Ž\.DZcÇáááćÍ›ˇsçÎ�€Ó§łÓŰoOÂáðrĺr$''cîÜůůÚn>Đ6ĺ�jŐŞ…Ĺ‹âčŃĂ8uęż,˝`&N| íÚu@·n=±sç.¨T*|đÁäÜ+i™ -[¶Ŕ™3gpúôi´nÝ*Űű§­ťŹĺ¤hň1śJL‚éŠäŁdĽýíŢ,Ź«îâWŻôl�x±U5¸»8ŔAmş›8:NS*ö‘u˝o·Ń|Ęą\Včýfc»´EwîaĆŚĎÍźĄ÷Ć€ţýˇ]»h×®~ýu� ŔüY»vđđáCćo)Í㌷(ßľ}Űâ{ÁÁ!íÚś<z Ŕ4รŁeš5j˙ŽŚŚĚöű“'÷Ţ{‚ ŕłĎ>…““ë"c2śd¬żÚŮŮ2™Ě|ĚĽcÚcbÓGźĎ‰ Řż˙ � U«–hÝş%BBîâîÝ»ŮÎżiÓfLśř¦M›Ž” –.]ŚúőëË>RÁÓ®V­ZXµj%Zµjiń”„ězÁ$%%aŃ"Ó2Ď?ß$×ĺľúę(¤¤h Óéˇ×’’‚‘#Gx>–“˘Ą3Zß}úr ©ŃÚˇyU$Ąč Ď&ĘQ>ív$•ŇňdůňťČR±Ź¬ě[tôc$''Łm[? ţ2ěoŐkҤ‰�€Đа2—fö^ľśśś°gĎ.ěÝ» 3g~‘ĄÝbnđËäüM”‘<ľrĺé`ďMšX¶1š6mjţ;ăŰ2;sćLÚ2ečŃŁ‡E¶Oź^ć ÉŮłgł|÷ź¶!44AAÁX˝zmZP§"Ţ˙=–-˘L8€/•i˘(B©´îg…‡¨\ąÚ·C‡ÁŢ˝űŕě쌷ߞµÚ4ţĂąsy?éâÎť;¸{7ť;wB•*U°|yÎOÖ‰xh~zŇsĎUÁ»ďoÍp�� �IDATľöíŰăÖ­@«÷‘Šż||đÁd¨T*ěر‹ý„¤$S×]Lžü.úöí>Śwß5ő„yňä‰9X“›qăĆB­Vaßľ§ŹÂ?~Ö­[_ ůXNŠ–Ć(ŁÜş®#ĎÜEŻŽµĐŐŻśÎ>řę׸ ¦ř›óMg”$Ěa~[í#Ľn°'FŁ?ţ¸ź|ňqľOŚîÜ 2?޶ iFE_ľRRRކ ˘GŹîHMMĹńă˙ÁĂĂcÇľfž/§'=ĺ6“}äńéÓG•*U0nÜÄÇÇăüů hÝş%ĆŤ�¸wďnŢ4=}©GŹî1c:‚‚‚đÖ[ď"55»wďÁ1ŻÁŐŐď˝÷.ÔjBCďˇwďžhܸ±évđbbbłloúĂ)�`ÍšµčÜąęÔ©Ť~ýúâčŃc8qâ$Ë1D€N§ÚęFěěŮs°`Á|8::⣏>°xô4�›ďÇÍËđĆŇhsśŻcÇđńńłłştyÉĚÉĎ>Rń—Ź&MLŤ“Śŕi/ľ}űdésůň•<»ßÎńüýGŁV-SŻš»Xłfmçc9)ZI9Ę) VÍ{ďa"öť AŻöµ0ăőöPČł9Ô ´kúśĹg{ţ ĆČ'Yם˘łŁ 5«x"$<ÎŞm¨_˝<� 6Q“Ż}¤‚× 9„¬ůźŢű2sµpâÄ ÄÄ<FXŘ=«–ýŕÁ}Ěťű=og™¶sç.\Ľx Mš4¶z>|„ .ZŚEQ4Łâ)_ß}÷=–,Ylľť:ý–ętçÎťĎňhät¦ńęVáÁđBo3ŮG‹˘/żś…… ˙ÎÎÎ:ő#‹y“““1sćWćöGŻ^= T*Ń AÔ­[W®\E||ľţú[Ěž= ŽŽx˙}Ë[ŞCCC±pá˘<·Ű`0`ö쯱jŐJ( |ňÉ4Ś5‰‰‰,[D ĆPY§Őj¸Z=˙ĄK—ńĘ+ŻbôčWáç×>>>0  »‡Ă‡Ź`óćżŇ–™·ýűMÁë×o <<ŽŽŮ?-ĄeËhٲŚF#"##±ző;v<źűHĹ]>Ň{¸d Ĥ˩ĚĉoĺąÜ'NZuÉÚůXNŠV‚^ÁI°úžöŐŰ®ŕ9W4©cÝ“J®ÜŽÄšW˛ťöďů0ôíXó>|)ßŰ}äL¨• zc {ěČ|�sç~ŘXË ZăĆŤ””„ččh�¦Ç Oź>Í<ýĄ—ň—×éóűí\‹1@ÂĂĂ'''Lš4ŐŞůf{´uëß8yňT¦Gůşs'ŁFůĂß˙U´k×>>>Đjµ ą‹={öbűöć[©ł Ćäô�ćoéÍăë×o`Ěń;ö5´iÓ‹‹C@Ŕ¬^˝ááO±mŰ4jÔ·-z]=z oľůüý_E“&Mŕęę‚GŹ"qäȬ_˙‡ąm“÷¶ßÁÚµë0nÜX”/ď…©S?ÂçźɲE@°âs!ĂűôżeţOÉÓ^Š´— €€G‹­OćůňDĹÉÍÍ­ĐW8íUjŞ6_W¨ŕĺcůňĄ$ “&˝] éÖř嗟ѨQĂ\çąví&LČrbCľN:«{Ç�€B.ĂĎŁÇ 5!ËᑝFIž˙‚±fÇböĄB†‘˝ŁSK_x¸ZW‡Ĺ&hp( ›Ü‚hĚűöŞX˝÷RTĚä"<v¨Őj|ö٧čÔ©c–�íÇ1ţs�DL›6˝{÷‚R©Ě÷şôz=öěŮ‹ďľű>Ű€ářńăđúëăr©RŃ«W_¤¦¦ňXĶ ó—íO–-z¦$'kŕç×Ęü> ŕśťMÇ=<ÜqáÂٶ�âčč�Ň^bÚËá%eř?ý€›ńodú›Á"ŔôT /ŻrĎäľĹÄÄň^Űg¨|,[öš5k–ë<.\ÄŰożËrbCŽr#ęąä˙dµjE7tń«Ž¦u*Ŕ§śé)Q±)¸|;îf{k’­&9@#r̲věŕ±ĺ‹ůË<f٢gť=cx›•y˘("%E''ÇgjżRR4<€=cĺcҤwXNěF”!J«„Ź:ăiÜ”ŐŰ®Ří~Ei• Ä”Ácë–/ć/óe‹Č6ŘĘ"‚iś˝ŢđĚěŹ^oČvěbů`9)©ĎVŕB#Ę‘ŞdĆ–Ńşu Ëó—y̲ETüŚ!J“hő śöL’$Ţ_ËňÁrRîiT%ˇÔď‡( ¸§á81eµn`ĂňĹüełlŮ1Dé' ˘řř„R}@”$ ńń ěÖÉňÁrR4˘ wSÔĄ: #Jy{R­Xǰ|1™Ç,[D¶ĂÖQz˝±±qĄ˛Ë¨^oHŰv=3’ĺ处$dJ.ťÁ ŤhÚö$›e±n`ĂňĹüełlŮ[\D™˘¸¸8¤¤hJÍ6§¤hÇ+ ,,'v@#Ęä€(més%J«ä““ĘpÝŔ:†ĺ‹ůË<fÝAd{|šQ’’’ Ńhŕěě µ]ncjŞÉÉÉ<x±|°śŘˇT%âôrx« đR‰v×]ÄčäÖ*„)Łuë–/ć/óuQÉa0†(˘("11OžP«ŐP©TËĺP(äŰŽ !I ˘(B§ÓA«Őňţb––;§e¸—˘B¸pWŠpQp”ˇ’IPČ`łĽ# 3 ĐeH2Č‘ —CdŃ(3uë–/ć/óu‘}a0†ČĘHjj*RSS™ÄňAůoXK@¬NŽXťś‰Áşĺ‹ÇDÄ1cl‰Á""""""""b0†Č†Ś!"""""""˛!clÁ""""""""b0†Č†Ś!"""""""˛!clÁ""""""""b0†¨µmë‡7ßś�AJ|[ŞV­Š?|žžžĚg󚊒nܸ‚Nť:01¬Ä` •IţţŻ"88Đüşpá,~˙} ^|±s‰lŹZ­Fpp †Vlë8Ź?žÂĚ·±óç,ĘZú«bĹŠL;µdÉ"â·ß~Í2ÍËË AA·ľ}űÉď±S§Ž1âe¨T*›í[úëâĹłX±bŞWŻ�¨WŻ.††ŞUźËsY[¶l‚óY`ňańâ…ħź~’缵jŐDpp :uęX$ëîÔ©#ĆŽ}Íü>?yM¶S»v-âöíYeť:uDpp ŞU«–íűśĽúęHbűö­L`¶‹­Ýčç×’$! ŕ,ęÖ­cN«ćÍ›e™÷óĎg 88ě-˛í9ňtëÖŐüţ㏧ŕر#,ĽÄ` ‘˝š0a"†‰éÓg ..żţú3^ye†ŠÔŽ;1pŕ‹×ăÇŹłVČ2VÉö"&&;¶‡ŻŻŻĹçC‡FTTt‘®ëűďçă˙ë­Vk“}»{7Á AC1}úg¨_żV­Z ™L†ÁĎŻ=®\ąĘBPÄ<<ÜѵëK8vě? <JĄŇ¦ëďܹƎc~ĎĽ¶OÆ ĹŤ7€AŮ2ŹűŤ5BÆ ™Čl7‹_ě„Ó§,Že1115ę‹ůÔj5 ČȨ"]˙Č‘#Đ˝{Wf•*lůS™vîÜyś;wűöíÇ»ďNĆźnƧźN““#� |ůňX¸p.]:‡Ë—ĎcéŇĹć “&˝‰›7ŻÂŃŃ4oŻ^=ˇC‡��”J%®^˝„?ślľ‚1~üXlܸ7n\ÁŢ˝;ѬYÓ·mĐ Ř·o7nŢĽŠ÷aÄ—-¦żúęH8°7o^šCű1xđ ó4gggĚ›÷®\ą€sçNcذ!Ěě=±ŹĹŐ«×,^<ěŧź~‚k×.aĐ P(2ĺCś:ő._>Ź_ý5jT7/+ŻéT4oăÁpŚ9Üü™ 1âe9byĄ-Ż<Éë÷řńÇSpňä1�Ů_éž7ď;l۶Őbz˙ţýpřđ~\ştţţŁŃ©SGěßż7n\Á˛e?™ë°ě¤¦¦âęŐk¸rĺ*öî݇_]…jŐŞˇRĄŠYÖ_µęsXąr9Îź?Ó§Oŕ›oćŔŮŮ9Ë2ťťť±eË&ěŘńÜÝÝX€˛1`Ŕ�˘9sľ†§§'şuëb1˝fÍذanܸ‚öâůçź·^µjU,[öÎź?«W/bůň%(W®śůä&88oľ97®Ç­[×°wďNóUűyóľĂ1ţ¨RĄ2‚Ń«W‹Ľţŕɸqă \\\Ěë<x‚Q»v­´cŇ@ěßżׯ_Ćöí[y+B1Ëĺ8°?öď?C‡ŽI݇zőę˘qăFXľ|îßżźe™NNŽřöŰŻqůňyś?ŻĽ2GŽŔôéÓĚó4kÖţą×®]Âż˙ÄŘ±Ż™o«trrĬY_âĉُtéVŻţŐÜÓŽíĆg§ÝhM>wîÜ GŹ·řěŕÁĂčÝ»<<ÜÍźőéÓJĄóć–vyĄÇ±cGĐ A}s˝•±WŮ€ýpňäq\ąr3g~Á _Ä` ‘˝úý÷ prrB«V­ V­úŤ5ÂoL¸qP«V-¬Ył …ű÷€JĄB۶~�€:¤ý˙� U«–prrÄţýÍË=z-ú Æ˝ŁQÂ÷ß—ívtíÚóçŹ={öbŕŔ!řűďđő׳1`@?�@“&ŤńŢ{ďŕ×_WˇgϾضm;ľ˙ţ[4hP�0kÖ—čÓ§7¦O˙ cÇľŽž={p\�;U­š/\\\0zô9ň/>ýt^ye8¦Oź—_~‚ ŕŹ?ÖĂÉÉ �ňśNEwR´cÇN :Ä|űP‡¦ž2{öěł7Ż<)Žßcűöí0vě,^Ľ3f|‚×_‡·Ţzo˝ő.ţ÷żáď?ÚŞĺT¨ŕž={ŕÉ“'xü8&Ëô… ˙žž1bĆŽŹfÍš˘gĎó888`ĺĘĺpqqÁkŻŤCBB" P6†ŚŁGŹ!88—.]ĆË/łč­Zµ>>>;öu|ńĹLLšô¦Ĺ÷ß˙=¸ąąÁß,FŽŤúőëaÎśYóĽůćXştştéŽ[·±lŮOđőőĹś9ß`ďŢ}EíŰwĆ‘#G-ľ·iÓf(•Jôęő4oěŹóç/ ((Ý»wĂ÷ß‹őë˙@˙ţpôčqüňËĎąžRţ˝ôŇ˙Pľ|yěŰ·»wďAíڵѼyóB-óĺ—‡!&&çÎťÇîÝ{Ńż_888§ůĺç4h�ľřb&ĆŚ‡îÝ»ZÜF[ąre¬]űBCC1pŕPĚ›·�Ó¦MĹřńc�ďľűúőë‹?śŠ>}úC«Ő™§±Ýřě´óĘg___T«V GŹłŘ®Ă‡Ź@’$sŔ �FŽŽBŻ×›?Ë+íňJŹ!C†!>>'OžBűöť‘��¨X±Ú´i÷ß˙k×ţŽŃŁGˇWŻž¬lÁ"{ �đň*‡-šŁQŁFřę«98sć,Îźż€/żś…Úµká…Ú"88!!wÍW;thŹU«VŁ}ű :thʇâÚµëćĺoܸ 'OžÂőë×±aèU«f¶ăDřűżŠK—.ăÇ!0đ6–,Y†€€3=úU�ŔŐ«×Đ¦Í Ř´é/čőzÜ»w‚  víÚP©TčŰ·7Ö¬Y‡]»văęŐkř裏!—Ë™Á%dĚ‹{Í—,Ydž–ššŠĎ?˙/^Bbb"^~y–,Y†˙=ŠŔŔŰ>ý3x{—Ç˙ţ× …"×éT´ÁM›6ĂĂĂ˝{÷Lk@ŽŔąsçjqť[ž×ďqÍšu Æ ˇP(°gĎ>ăߏâîÝĐ\{K5hPß\Ož<?ż6<ůĂlo“...pqqAPP0z÷î‡-[žŽ;ˇT*±lŮO¨U«&üýÇ 66–…'¦ŰC`űöť�€mŰv }űPĄJe�@Ë–-PµjUĚžý5ÎŕÔ©ÓX°ŕG‹e|ôŃTŚ台°0čőzDD<DÝşu3U6áر˙O?ý rąýúőABB"=ŠL{=BjjŞĹ÷ÂĂ#pâÄI 8Ŕ¤k×®-ţüs3�ÓőÇ˙Ĺš5k‚~ř?<xđŔâĘ:ްaCx·oßÁ‰'ńřńăBőŽQ*•0 víÚ Q±mŰv¸ąą™nJĄýúőĹÚµżc۶¸ző¦L™fŃ.4ČÔŁkúôĎ„]»vcëÖ0lŘĐ´:P«UpuuEBB"Ţ|s>˙|&ŰŤĎX»1Ż|~ńĹN CXXĹvĄ¤¤`×®Ý9rA@ýúőĐĽyslŢĽĹbĐúĽŇ.ŻôŽ~ڇáŃ#ÓËh4�ôz=ľürÎś9‹ůó >> 6`eCvCÁ$ z*ýjPLL *W65’ÍÓo€yÚÁ‡ĐĄËK¨^˝*V¬€eËV`Äá¨_ż:vlŹY,?..Îü·F“j>™EŃbľĘ•+ăÂ… źÝľ}Ý»w�řřxcöěYxá…vŚŚ2źĘĺ2xzz@©T"$$ÄüÝřřx‹u“mmßľ+W> 61ńiϤ¤$sţ—+ç GGGĚ1oľ9!K™Čk:Ap˙ţ?~/ż< ÇŽý‡.]^´iÓ-ćË+OŠë÷śś�ć§N§3OE1×nŘZ­C‡‡««+6lX‡Ý»÷fąš™1�0uęGX»Ötuňĉ“3焆šÜéŞÄÄ0““1cL=•–.] QÍ'9Æ ĹŹ?.B… ��!!wÍß ±XĆđáĂ0qâpuuEhh\]] —[ćóáN‚4ŽŽ†ŹŹŹUŰřçź›°xńBTŞT }úôBJJ vďŢ�hذ<==pÂ<ůňĺ-¶— ÇŰ»<şty)íx#í.ǰaC0{ö×HNNÎ÷2»uëOOOřűŹĆ¨Q#͟ϟ˙=ţţ{Ę•ó„Z­Ćť;wĚÓbbb,ę§Ę•+ÁÍÍ §N·Čűôŕí’%Ëáŕŕ9sľ‚—W9ܸq?üđ8vě8ŰŤĎP»1Ż|6ݢt,Űcéü‰!CŁM›ÖčŃŁîÝ»‡S§N[ډdMÚĺ–Ź%$$Ŕ`0X;3ö´!b0†ČŽŚő ’““qöěy4jdä®V­ZŹ��Ô­[Ç|â�ű÷ÄoĽŽ~ýúâĚ™łŤŤĹÉ“§Đµk4hĐ�ß}7Ż@ŰńđáCÔ¬YÓâłşuë×űŢ{ď ^˝şčÔé%ÄĹšrĺĘ8~üĹ´U<t:j×®ťá„±oS*A±±q¸qăfžóĹĹĹC’$¬]»Ë–­Čtňť ˝Ţët*z6ü%KačĐÁHJJĆîÝ{áí]Ţę<3Ä|ýÓŤÎÎNNŇĽ‹tźBBîšËăüů đŃG aƸqăF–yĂÂîaňäa0аa,]úľúj&üýÇš—őńÇÓ±~ýĚ1łfÍfˇÉD­VŁ[·®8ţ>űě óçK—ţ„ˇCcѢźĚW×ëÔ©Ťű÷ď§ý]ËâDý›oćŕ믿ŪU«�sç~6mZg:N<í)ăááDEY7H懇ž=»Łwď^Řľ}4Ťů¤ÎÝÝcĆŚłřNN'@”齌ƎŹGŹ"Íůąpáôë×7nĘ÷2‡  QŃ·ďÓ“Ţ×^Ť#†ŁFŤęxQQµjUótWWWxxxdhŹ<� 0˘řô¤V’L˙?yňsçÎĂĚ™_ˇjŐç0sćXşt1š5keqĚvcén7ć–Ď2™ ~~m°nÝúl·íâĹK¸qă&zôč†îÝ»aÝşőŇ P†íĎ+ížEĽM‰Ę´V­Z˘uëVčŮł–,Y„áÇá믿…FŁÁ… qăĆM|ńĹgđók6mZ㫯ľDppNž< �¸t颢˘1~üX9ň/�ŕČ‘1fĚkxň$ g¬ÚÁ�QѰaCxxx`ÝşőhŢĽ>ř`26l€·ßž?ż6Xż~�Ó•µÚľľUQż~=‹Ç¤ęt:ěÜą ţţŻ˘_żľhҤ1ćÍűŽŤćR@Ż×cÝşő4h Ú´iwww 2›7o„››{žÓ©č>|Ź?Ć´iSńĎ?˙dą•'Ż<Éďď1((˘(bĘ”áç×&ĽŽ¦Mź/¶ý[˝z-?ŽÁÔ©e™&—ËqüřżXşt1ęÔ© ™LI’đäÉó<WŻ^ĂĹ‹ńĺ—łŕď˙* ČB“I÷îÝŕęꊹsçáöí;ć×·ßÎEĄJ•бcś;waaařüóOáç×íÚµĹäÉď>m¬ĄĄ˝ŹŹ|}}ŃŻ__ôčŃ=Ëş č‡A I“Ćřż˙›Á€ť;w0őČ+_Ţ ­Zµ„««k¶Çˇ-[ţưaCńüóM°qăfó´µkG˝zu1tčxzz˘E‹ŘĽůO´lŮ’\D†‚'Nâر˙ĚedçÎ]¸~ýşy|ˇôú§eËpppČň>Ł * C‡öX¸p±Eą›7oôz=^~y´Z-vďޱcÇ k×.¨S§ľýöksŹ;�řçźmHIIÁ´iSP±bET«V Ë–-ÁčŃŁ�׾wď.´lŮÂü„°””‹e°ÝXúŰŤąĺłź_Čd˛\·ýŹ?ţÄkŻůĂŰŰý•őëÖ¤]^Qż~=4jÔô1DĄÁʕ˱qăz|ýől¸¸¸`ěŘńć{äŤF#ĆŤ{7nÜŔŠK±rĺr„„ÜĹkŻŤ3_í‘$ ‡‚««+>b>¨zx¸ăČ‘łt#͉(ŠXłf†ډßŔţý0eĘ4ôěŮ[¶l A1cĆřűďm�€~řW®\ĹÚµżaĹŠe8tč°Ĺňľüň+ěرsćĚÂŇĄ‹±sç.<zô^ |óÍwřăŹ?1cĆtl۶}űöÁÜąóĚů—×t*Z˘(šë„?ţŘT <ËĎď1**ź~ú9ęׯŹ_~1=•)}ś‘â Ńh°dÉRtęÔ~~m˛ěűĉoÁŮŮ›7oÄš5«půňe|ńŬ,ËŮĽy 6nü_ý5jÄ‚“Á°aCp˙ţ}ś?oy Áż˙5Ź "Š"ĆŹ>ÂŞU+ńé§ź`ŢĽĚóFFFá㏧ŁGŹnصkúôé…;˛–‹ĺËFż~}±aĂď¨T©"Ţ|ó-ó7nÂÍ›·đűďkЧOŻl·uӦͨWŻ.nŢĽ…ëןŽ[±wď>L›ö)€m۶búôiزekŽ··Qţ´lŮ5kÖ0ă3ú믭hÚôyÔ«W—/_A@Ŕ|űí´o˙B–÷–ÁťÁ˙ücąĚřřx:t›žŢ÷ůç3±oß~,X07®Ç‰'Í=s�Ó­oţţcQ©R%lܸK–,Bhh(Ö¬Y�={.]ş„eË~ÂÎťŰŕää„×_ó™ Ć”ŐvcnůÜąs'ś5÷¤ËζmŰ‘’˘Á‡“u°xkŇ./‹/««+¶lů“O™¤RC°âs!ĂűôżeţOÉÓ^Š´— €€G‹­OÇÇ'0µ‰ŠZ­ĆŤWđé§ź™O ‰¬ĄP(,NxĎźŔúő°`ÁB&ĺéŔ˝Ř°áüöŰ&•*ÉÉřůµ2ż8ggÓŁç=<ÜqáÂٶ�âčč�Ň^bÚËá%eř?ý>ĽŚ#Óߦú—Ů@DDDDTöĽ˙ţ{čŐ«ľřb""bđŕđđđ°úÖ˘nÝř¨h˘‚b0†¨ úý÷ xîą*řńÇđôô@XX¦Ný§O0qŠ1DDDDĄV«E­Ző”oŹ?Ć”)ÓDD%€řŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC ĆŮ1DDDDDDDD6Ä` ‘ 1CDDDDDDDdC [¬¤z•JxâęÂÔ&""""""˘‹ç*ř߇z•Cďr��W7W\¸PüŰ`“`LXč=$ÄÇ3lj¨D%Ąha~…”' ��w›loS""""""""˛!clÁ""""""""b0†,Ućl�� �IDATȆŚ!"""""""˛!clÁ""""""""b0†Č†Ś!"""""""˛!clÁ""""""""b0†Č†Ś!"""""""˛!clÁ""""""""b0†Č†Ś!"""""""˛!clÁ""""""""b0†Č†L"˘’#AĘös‚Ĺ´ĚďóúĽ 2.ËÚőĺôťÂnWa—[”ŰbMzç¶ŽâJŁÂ–â*SÖîŻ-ĘtAö×eş¸ňÎVż5{©Źlő[+Ę2]ő‘5۟ݲ<Hçuü–DĄ÷7 H’”ý{É6?ncŠ#¸"ŃrňÚĺIkĆeY»ľśľSŘí*ěr‹r[ ›Ĺ•F…-ĹU¦¬Ý_[”邬Ďeş¸ňÎVż5{©Źlő[+Ę2]ő‘5۟ݲ$HČŹapĆňÄŤ¨°Ś!"bŤ(›[Ć?ÓŢé˙•ťŕLćc<{Ĺ=?lË@´$™ë{ĆŮ{5űĆeĹÎt""˘RL0ý#d:®Ą÷śy–2ŹóéKé‰P4a‰¨„3_ŇßÓŢŚ!"˛ăZ¦{L‘ąÁfŮš#""z6d ÎHĎnPĆ|…P©Tprr‚«›”JÁ´ż‚ń;¦÷Y˙ R–Ďł®3C2[|ďé÷3Ż3ó÷2NĎî{Ů­;§ĺf·MÖNϸŻŮďSÁŇ*ó>e]oÎieúL°hĺ4=űmËi›˛ßל¦ç'˙2okvëÎizú÷­Ýö¬Ű•ľţ§ËÉë{ŮĄ`Ę“‚¦Uzžć–VŮ•ĺĽŇęQT,|«U3Ďv˙!*ú”$nn®¸tă*1DDv×@Ë|ź˝ô´f@2f¬ěs¬1˝1—Ţč!×®‘™çĎižŚÓóűľ°ë,Č6ćwJKş”¶Ľ+HްLłLłL?űeZ� Č„´“)­{˙Óĺ@$Azf21’ČäŞ×¨˝zˇQăĆpuu… “?ݤž¦«é,Ńň3)SP kţfÎŻěĘ < Xžhf˙ݧßËţűůŻÇ,ŁtÖîCĆíxšČe;sŰ˙¬ëÎí{™×cľ¤–Cţĺž—RĆeŽżŮś~o9 ¬ýÝf—·/sdÝ')ŰňcMť“yýéyS}i™çȱüćç8”[úĺUo ‚€C‡ţE˙ţ˝ÍźUö­‰®]^4I lŮţ1DDv„‘˛ţ­P*áâęŠÚuęŔ××*µ*ËŰšF_NŤ€ŚÓ26Zňłüś——˙eX»üÜľ“źíÍ©ATŘĺç–îM—śÓÚ˛ˇTŘĽł6?Š"Ý‹:m‹*Ýsj¤UŢe™Î|˛Q\yWÔi[\y—]cĽŕi[°ú#˙ËËýd»°ë˛E}TŘă€N«CXX‚ďÜÁ“'O`ĐëMËJďóŚd$Hţ “ hÓ¶->úx*ž«ę µZ ™LV$ĺ•JNŕí Ô¨YÓüľjŐçаQĂŐŹ Ć Í"#ČdP«Őh޲%^ó 4hĐ�*•ÚÔ0Ítµ ä68·ŕEÉo[vWKlľ%Y¶ˇ$ÓNú`qĄ2óȬ÷ż –5_źĺĽĚ쯞"‡ułLgw…°ÄJ’Ý”ikň®$ŇĹ~·Íľň.­^2:ť·nÝÄ/+VâÂąsĐjµŚFËjĄ´Ç(¤§˙+• TŻYN™‚ÚuęŔŃщm!˘g„R©„JĄ˛xŻV«mş ĆY× }ÚFKk¨©ŐjôĐďN~žĺĘóJŮÉXi{:— ,űDe€Z·ńCÍšµđÓ˘EŘąm;R5Ëž7(˝˝c2ë%�N.ÎčÖŁ;ŞV«Ć@ 9c¬kˇĄź)‚é^Ň–­[áť÷ŢWyo(J¦Š(Š0 Чwý/%Ň1 … …rąĽ KAzŻ˝(!I+Á JpR pT ĄŤÇDD%,íç]ľĽ7Ţ™<#Âpę4 ĂÓ ĚłĐ;&m\7774nŇÄćWˉ¨l`0†(Ď&YÖ[7\\]1nÂë ÄP‘0ŤHMM…V«…Ńh,•ű K»mĎÉÉ)˙˝d҆`ŇŚ8¦Çą0-RtFTt—ŁC-ÔôV@Îh QÉ 3ô~Q(đňňÂŘ×ÇăúµëŹ‹7_¬H?n–ę±cŇűJĄň˙Ů{Óç8Î;Ďóó<Ouá € ’ x¤nK”L[¶,«mË–[-·=íŢž]ďDô‹ŢťŽŘ펝W±1űěěôLĚFlOwôF·űđŐ:}č˛(Q¦H]ĽŔ n ÎĚ|ž}‘U… Š7ůűDŞP•™őÔ“OfţžoţZ[ŰĐZ_tŃb±Ččč(7nĽär‚pkŮŽJĄB­ZĂ9GKk ĆśsDQ„BˇµĆó=&'& Ă�”"“É`Ką\&Ě„ő›02î?µí$] ‚°ZŰlÁyhË=lÝşýŽ+ĺ)Üâ8Ns/¸Ű·şµ–jµJEWľ˛rD‰c˙É˙őŤyF¦b<Łůűţż_—85Ë „ë}Ťs®y‹Eććć(‹T«U’$ąđ°E±mŰv†¶ Ѹmq©ę·É…~ÉKĄÚfçŐj•ýű÷óꫯ޶Bşpwbm©“§ů˙á˙ćżü—˙‡ąŮyjŐJąĘ‰ă#ĽúęĎ)KDµźţôg>ü!ż~ëmJĹ2““Süň—żâüŘ8'Nś¸­m—›ŤxĆ‚ \q–ţŁÜ@†(-bŚpő 8Ž/›+&I’ş±ż4dG)ŐĚWÔŘĆň¤Ësş4˶֗»TuçÜŞďöZk‰˘ß÷›ß{ąßŢH\¬ÂSÇ'b˛ćÁjlyďt•Îůlč0Ͷ.î«[-_ŤµvI˙Bę5´ĽË5Ú˙i+ý\n wĎy¤y\¸Q¤16Vs [k)•JDQ´DXĐZăű>ą\nI˘ŇŠ0 äí·ŢŇóÓÝBEĽöÚkŚŚŚđĚ3ĎWŚp›‰1–™ŮÖ­[ÇŢ˝Ź1;;ÇÇó<FFFeçÎť8çśśäŔ9r„íŰ·3??Ď÷ż˙}2Ůßű˝E>ź—ë1‚ ×Y”©ÇÂű~ ášO¤.Ĺřó˙÷/Čĺrü«ßűd~®ČS_ţëÖőáyI’P­V©V«Í.�A4_;çšÂN’$cŇ*`+ÜŃn„Me2™UO4V.5™‰˘ĎóM”¤Y; `”Â:(U#*G¤%eOź>MWWWłmŤßv+ěÇR©Ä?ýÓ?ńňË/Ł”â‹_ü"_úŇ—hoo_˛\ą\¦Z­AŕűţźS˘("ŽcÂ0ü”ąz„;ibU*•¨Ő"l˛ ô/ Ěfł—<†ÖŻ­řY­–†2 …%ŰQJ5Ĺ×ćuňV*uťŹ÷·ß~›|PrĘ·çy#Iç“O>桇ćÝwßĺ­·Ţâ˙đ9qâkÖ¬áŕÁ>|Çß÷ń<Ź—^z ­5;vě T.Ţ2×`cAî"D‹n$Żýę Îś9‹çyĽţÚDQÄ믿ÁŮłgůź˙íŃÖÖĆää$ß˙ţ÷9sć ­­­ěÝ»—7ß|“?üĂ?¤\.“$ arŕŔjµJ)Ž?Î3Ď<C&“iNĽŚ1DQÄßýÝß144ÄöíŰikk#®ťŮđúă?ţcžţňÓlŰą›.Ň™ éi81Ó•7ôµj>~ó§“ľüôSřľĎO~ňSÖ­ëăĉ|ő«_Ą«« ĄŐjµ)jT«Ő¦4??Ź©‡dłŮćwçóůkz7Ű9ÇŹücŽ=ĘźüÉźP­VůŃŹ~Ä»ďľËăŹ?Ţ4XgggůáČ{ď˝GGGßűŢ÷hiiiŠ3a6sełY¬µÄqŚďűMďŁl6Ë‹/ľH±Xäńǧ»»;őÖ“Ó]Ë‹/ľČ+ŻĽJ'M%Äó5_ůĘWřâżxÉu¤"ěřř8ů|žb±Ř[Ťă‹…‡»y¸)ĄxňÉ'yë­·Řľ};ů|^ˇp[Ťß ń}c ĺr Ď󚥞{{{ٰacccőe*• ÇŽŁłł“JĄÂşuë8zôt¦1‚ ‚pgłeËGŹĂ÷}††63:6ĆđđN>ó™‡Éd2Í|…BĎ}îsl۶ŤóçĎ“$ ÓÓÓ|ôŃGLLL°yóf^yĺ˘(bxx‘‘~üăłyóf|ßgvv–ţţ~Nś8ÁÔÔ$}”pěŘ1†‡‡ą˙ţűŻ©FÇ‹%Nž:ÍŹň3ľđĄ§y¸s§kÝL•ňÜ»ÁçKŰBţ޵ÖZ¬MĂš*• ###üěg?ŁŻŻŹŢŢ^Ţzë×lßľ c §Oź¦ĄĄ…­[·ňŹ˙řŹlÝş•b±Čđđ0�ěÝ»÷š‡ĽóÎ;|ď{ßcýúőXką˙ţű9ţ<Ĺb‘ÖÖVśsĚĚĚ055Ĺ}÷ÝG&“avv–ßüć7ŚŽŽ˛fÍvěŘÁˇC‡žž¦˝˝ť0 9yň$CCC?~Ďóčííenn®ą_wďŢÍŢ˝{ĺĺ]<±zôŃGٶmÖ.xąŁ›bĺĺŽĹFčÜěě,ß˙ţŁ­­•ŮŮYžţyzzzšË]Ô ä.đ†YŚďű c­ĺĺ—_ćůçź—P%á¶ÁĂĆŤÄńcXk Ăçž{Žçž{Žééičěě$—Ëqß}÷ŃŐŐEoo/ÖZúűű™ §§‡ŽÎvÉ#bŚ ‚ Ü٬ë_ÇúőýAŔŕĆAúÖ­c×đ0šaŤ„’Ť {>źÇZËěě,GŽáÜąs”J%ÚÚÚH’„l6K&“Á÷}:DOOçĎź'›Í222B­---ĽňĘ+<đŔ×öGą…°©¨Q)ÎŇ×z‚}†}{źdM{†¬Ż8T_&Ž´Nx˙ŕ!~řa<ăÓRhĺ_ţĺľň•Żprä${ÝˡÇ8yň$ÇŽăßü›>Ž?Á“_ü‡ćđáŘż?ż˙ÝßG«k?qĘĺrŚŤŤŃ××G­Vcjjꂜ…B;v022©S§X»v-?üáéëëăüůóň˝ëűß~‡]»vQ©V™ź+ňŢßđüóĎS‹jŕą\žŔyőŐ_°wď^9PîbΞ=ˇ~„ł®®‹(´†Ý{vÓŐŐuéCqQ¨d†tuuňâ‹/ňůĎľé5·špĘ»‰FÖŽ;X·nť1Âm7~[Z[¸÷ŢÝXç0ZŁë7[ş×t5sŃĺr tuu ´Fmí­őmljnO1FAîH˝ÇٵfëÖ­ôőőqöě9˛ŮąÜó€L&COO[¶larr’R©Ä™3gŔó<˘(˘­­Ť±±ó8çčîîfppây'Nś@kMĄRA)(•ŠXk—ć…¸vć ]ŻJćŔ9Ú[ňĽůć›ô|í‹2¦>ůSś9}šżyźúťEµ155ŤVś˘ŁŁ“|ľŔÔdú^ĄRĹZG{[ń<źżýŰżĄVŤÜ6\ăę/O>ů$?řÁ8yň$•J…×_ť'žxb‰ÇĘüü<cccär9Nś8Á¦M›ęą{Z[[cff–ÎÎNjµ$±ôöôŃßżžjµĆĚĚ,łłł€bÝş~Ö¬éćäÉSrÜĺ ĐŢŢ[TÔGhkk[ŐĬA©TbllŚ'ź|’ŃŃѦ€+‰˘W&›Í’ÍfĄ#„ŰNŚń<Ţ…Ţ®KJUKŮjcAángľXd~ľXĎR¤X,25=M±XçĐÚP(fÍš5¬]»–ÎÎN}ôQÖ¬YĂ<€µ–®®.Ö®]Ëčî»›ŢŢ^�îąçžf^™Bˇ@±&曜śä©§žşćżIÝŚQo$îíí% CĆĆĆš9¶n˝‡jµÂéÓ§éîîć‰'ž`pp°Y˝á±Ç#“É˝˝˝Üwß}‹EÖŻ_O___3ńŕúőý8çŘ·o_š[ć:·÷ß?===Ľ˙ţűär9ľýíoóć›oň›ßü†‡z­5===ěŢ˝›O>ů„o~ó›<řŕlßľť#GްqăFzÖöbŚGKK 7n¤ŻŻŹBˇŔćÍ›ůÎwľĂččhę-S©'…Bg‘;ów1Î9^~ůe^xá’xˇ’’6đěłĎňĄ/}é’BŠçyc°ÖŇŮŮÉwżű]Â0¤V«ŃŇŇ’ŻőŞJ‚ ‚1‚ ‚p×đĐP«Fh­xŕ{ikkgÝş>ÚŰ;0^šś¶P(°gĎžćDĚó<žzę)¬µlßľ}Éd¬ŻŻŻ9ÁRJŃßź ËEç\3O̵ľ+îyĎëyz{zٲe ýýýôôôđĚ3ĎĐŇ҂á•fĎž= ďD©´­›7oÂ9^r·~hh­5Ź<ňÖ&ő÷}}˝$‰ĺĄ—^"—ËńČ#Ź\áB©´Ôďŕŕ ýýýͶ 6“Ł6–fűöíÍţokkcçÎťő-iľöµŻaťEˇ–”/衇šű- I@9†6oŻ…»Ą_ůĘWxę©/c“†Z+<ß»ěŘhTI©ŐjřľOww÷Ű_\ˇMA1FAî‰Ôĺص{;‡w6'řJ)ZŰZQ* öAĄŰi„ő46©”şlŇÝ…ő®®ť‹Ű¶šmĎ3Ď|uI›•R¬íé®oŔb<…6Ţ*·ëĐŠfě{m _ůęÓüÖWľ\3(wÝöçb‚ úOk}YAȰđ€rú6”‚t—™+GÂť{ Ă ¸°´üjŽI­5ą\­5µz˛ěĆv1—+Ź-‚ \"Ć‚ ÂÍľ{Zk¬µźłŞJFË']«ť _‹‰üâ0†Őloµ»+ÍUq±eo”X±š}đi۲|’-źćYNĂ.—Ëáű>Q5ĹĎóđ}_„A„km˙I‚ ÂÍťDyžG&“ˇR©\RąŐG†xž'" ܆Ç/¤iK<»äxA¸>#‚ 7‘ĆÝçl6۬vÔ(!{;L‚śsh­/¸{~»´_„ĄÇ3�#‚p#1FAn" ‰XľďßvŐJOŢ$„FAau#‚ 7‘K݉ľTRÝ[MěXśX„AA„K#bŚ ‚ ܢÜ.˘†jVřFAa5HZtAA>5"Ŕ‚ ‚ \9"Ć‚ ‚ ‚ ‚ Ü@DŚAáš!ž2‚ ‚ —GrĆ‚ ‚p͸TŇaAî ĆÇÇQJřF:CáS"bŚ ‚ ‚ «&Š"�|/#ť!‚đ)‘0%AAAA„xĆ‚ ÜD$¤CA¸YHŽ'A„›‡1‚ 7 k-ÖZ’$†(ŁÔÂëkůÂ÷.m]_ßĺoĆwJżÜľý"űNúEöÝ-Ů/Ćó0ZŁ´8Ę ‚ Ü DŚA¸Á¸8ĆV*päĚáĂŃQ° …Â-yľŔ–^ô9P¬j˝ËÚč,čW˛˝ĺË]ěůJÚŃü}WÓçpji?-ßÖŞÚłx;Ë÷ă•ü®U´çŠÚĹĘ“˛+íëúJͶ]m{®f,|Ú}~Ůö,ęű+Óע=—ÚΕŤĂ+ÝWkÇ•loń2WÓWkÇ•no5űü¦ťŹ®bź_‹í­¸žR¸ž^’ťĂ¨ˇ!t&ňdZ ‚ bŚ Âť*ÄXK<7‡úĺ/đŢ|5?Ö^ýOAAX-JáFFP‡ŢÇ>ň(vßç0­­©÷ŚpçŮKl Eă®ŔMŰÝnQSá.FÄA„b÷*l’W*đŢü×~ĺ˛1wú~Ż?¬t… ·Öě•$čbýúkT[Zq?ŚÉd$léŽŰŐ®ţhŘ# ^‘‹Ką,Ît%ůěV“whůöś[Đa$o‘p7#bŚ ÂŤ2†¬ĹNMá> Ţ0wËľ—.áÖĽ0MPóóx"Ú˛ÝÓ#bĚH”8¦‹1cł-CgާŐ\©kŠsîS‹'qb©D–s3Î:: í9ϤăMDánDÄA„bó:\’ĚĚž;+BĚݲߥ A¸UQ`q(çĐçΑĚĚ`şşPĆČÄřN˛=śž¬ňßŢ-stÜxŽŻ ‡<˛) ZáŤV'`L*ĎÔb‹ŻëjŘ›¤ąíŚďˇLúđŚÂ:p <­H’4_“ŻSH)…§ˇĹĚU,żř¨Ä/Ź%$vö*ľýP ­9ŁeĽ w'"Ć‚ Ü ¬µŘ(‚JE:CA¸É(+T*بvEá)Âmb{8Çż*rčléÍpv&ćŐŹ+äLÄ٢á3CfJ1'&÷o9;]ćÜlĚýë|ΞžbnäAyŽ(¶ÄĆĂäó[»éîëdcO–÷NGô´(Ö´Ľ{˛Ę¦NM!뱤ʎďiމUĚ?ŚŘÜ›%JŕGk<:Xb熌ľü”Ô9‡µvÉuΡµĆłâňŤ‡Öş)0.ߤ^9şî¶x˝Ĺď Âő@ÄA„‰“1‚ ­vmr"ÄÜq»ta&q„ł†$qX›†MGµ8ňŔŞŐ q \˘)NM1óń9Nľs;>Cd5ó: fBj&$2Ö/“K¬-l \Şbł>Îj˘j—’ŘŐj¸Ä#vš8Şg-ÎAâ ±`»ę@©jµĘąsç8{ö,Q …b`p€ xsÍÍÍqöěY<ĎŁżżźL&µ–ééiŢxă şşşčííe~~žîînşşş0ĆE###8p€‡zÁÁALÂuCÄAAA„; ç Çă[BÎMĎqf<ÁÚű=v ¶±=ŽÉç:ň>ë[KčŮqÖŤü†ŕČQl ‘uHÍST”ˇ¦=ŞÖ#‰5ĄÓó”‚ivoiˇ·+K6ôřě=Y|ßÇ3Š'¶BxFÓšR¤9;3Ă{çŠX«ŘŐłľ««.˘¤Őť.EEĽđ‹ĽüŇË(­Éfłŕŕ«_ý*=k{�ĐZăHC«ćfçůł?űĎ ďÜÉ׿ńőtâëyÄqÂG}̦M1ĺr…żűŰżăţőż&fÉd3Xëšść>dp`#SS3>|{îŮž=»ń<OĽe„k†1‚ ‚ ‚ w(C=Yţ»G-źśšdmGžők ä3ZŕŔĹ1ŮĘó/˙ !kJ^–H+ĺ‘(ŹX{Ô´—zÇhźŘzś:ZbVey¶Cˇ•˘%źi~gk![Ąh+d)XËď<ÜÎŽă8kŮ´®¶ĽŹV ^<J)”R+zi%IBĄ\ĄV‹ůîwŹM›6˘”˘˝˝ť_˙úmâ8f۶mŚŚśäüů1úűű)Η™™ĺťýď>;‡‡Q(6ŇÚŇFµRcnnž™é~ţó_°qăFÖŻ_O.źçž-[©TŞĽüăźňĆŻłgĎn:;;1F¸f#‚ ‚ ‚p‡áś#Iâ¸F%¶žiŁŁ-"‰J‹e”ŇÇč© ˘źü3śëጏ §Vie•G¤|Ş: ŞĘÎăĹŹJÉßÜăQ ąx{»8pXÇébHd›]Ť(ň1:\’óĺŇárŽ(ŞqâÄ jµą\–L&Ëěě,ţçÎľ}űxď˝÷Řłg6l Z­ňú믳˙~*Ő*>đ�_˙ú×y饗ؾ};‹Eţâ/ţ­ĺr…gź}–|>Ď /ĽŔľ}ű8wî,QTăěŮłŚŹŹł~ýzXÂ5Cd=AAA„;„FZk-ĄŇ<ĄůYBĘ<¸®J{&&®•¨”‹TJsD§Źăýô‡řÇŹ˘ŞŐ´Üů˛Z€‹E™Xj: ęĄ9dć#ĹO?rüÍţ*§Ć‹‹ó”Ks”Kó”ËséŁ4Oą<O­Zd¨3b{w•™ź›¦R)§ylꕟ.Mę9óĆođꫯň«_˝F±X䡇˘§§‡źýě_žžfßľ}äry<cŕ[żű-úz{yë­·¨T*ÄqLÇ8—†R}öłźĺwżýmňů<ß˙ţŇ:qL6›ĺţűď'“Érď˝÷˛m۶“ §E<cAAAî0â8¦XśÇŮ@;ú ŽŔ¤Ţ*Î:T­BöĐŻńŹ|€‹=”Ń(ťć™i< îßâRQĆ*E˘5±ö¨:źš…JÍń“Ź5Ö|ůž|ĂCf™¸â€ÎLşAĄ,qśP.—‚,Z.™;¦ľ-Ďóů?ř††6cڎ­­ĄCCC|řá‡ř~š°wnvĎ÷ŘŔžÝ»řäăOřđñÖ.ůĎóŮ´iëׯ§ĄĄ•3gÎ’Ô A@gg'A’/Čĺr˘$\SDŚA„kŽZ°ť»Đ"˝[¬”ě6A¸Îç„%łJA¸î8lÝÓe˛lřůń˝Öć-ž‹ÉśůĚČ!”­˘h,Šíě’‡"}hÚ9”§:˛čŞĄ¨F𣏠•ľą3"ë/YJ±öźó©ĆŠ˝*řâ$ÂÚçôeŻCÎA­Vĺ׿ţ5##'�صk7aňâ‹/qĎ=÷055Ĺ /ĽŔđđđâ \sý…zî)ĄR‘ýčÇôô¬ĺÔ©“lŢĽĎóP*˝.†aH’Ä\čjÁ�� �IDATůä###lذ dh ×cAáZšľ©Sźnąć´ëV—:¬• ˘ \-+ç Őb–Ě á:]\óyqţ•–вw BGÖˇ±č¸JţČkę N%h—`\‚ÁĄĎÍ˙<—ŕ9‹±1Ć&ř6ĆŹj¸1G.ňH€ŞďQŞi^9¦Ŕ9žŢÓ™]*Čh`kW€Ż7çěeWtt´łvíZŽ;Ć©S§�hoogtôĂ»vđě7ľÁ+ŻľĘ‡}ŔöŰčěj§«»“Bˇ@Ww›6 ŇÝÝEgW;k{ÖĐÝÝEOO/|üÉGÜ{ßľńŤo011Nww'kÖt188Č»ďŢĎčŘccc Č ®"Ć‚ Â53‚ŚaË"řÓnOşTn—Łżaˇę’Ś"}­ę(�Ą-F¸ĺ=ĐʡmLvâc‚ąSŕŞ$^ęĺbl‚×x¸¤ţŚgc|Ř‘őHb‹`v"&ď…8ëŔ9ŞľÇ<š>ńÉđ…M1íY· @ŞT„aáßU„Ď~óYž~úi’$ˇqŔů‡ď{8ç0ưsx'•Jß÷ůw˙îĂ9‡ďű<˙üó|ík_#“Éđ§úż’$­<ţýż˙?Ň$ÇID&“Á÷}††6óŕbŚ!›ÍňG˙Óa­% S®)"Ć‚ ÂµŠąúT±ÖbëÖ­9±Ĺ‰#·×I .¶,1©gŚQ* {XxW<d„ëŽr śSeĂ«Ç3<6Xať_%śü­#śoŃFᔟĎFxnA€‰’_Çx6·†01¸šÂž®’/*¬oQÖˇśĹ¸ eĺSrš<ě3_Uüî®ĐOkáŕX¦ôŘ@…Ŕ¬>Ś×ó<ňyŹ|.»dŤ•ŽŁ|>Á{a’Ëĺ–†BąĹŠ]QRJŃÚÚşäA¸V#‚ W5S8Ň*Ö9,±sDIB $(’¦ öň —7C‹Ś Ün“`ĄĐuÁĹ8…xZa´BˇŃ ”S›ŚpÝĆŕ’+ ´g-_ÚR"çCPš&¨Ť˘<‡ó ]±8ĆKb<᫾öńm•81„JcŃŘXÁDLrJÓŞT¦.ú�Ú)”s”‚€*Š_ś0~kkD[& YÚݡpő0%…rjy—KW\•wŮBĘ’/V«_O®"Ć‚ ÂUZĽÎAâ,‰łTŞ6¸ţőC›1…–TtiŘrő»ç &ňĄHCLφ‡ÍĹ*N,ĄŚ5«]÷RË^Ëu/ÖÎ+ůľů]Wđ}‹öő•÷˙§Ůw‹?żšßy˝ű“ľk5ýr±‰ÓÍÓ+żŻ�ŤÂÎÍQ9ň úěYÂ$Á‹Gš0C‹#\WÜ’ÓQ±¦Čx “9ŚťCy Ę�Ă· ±‹đm ßzř‰G  ‰őHŤµŕŠ1ö¸%3â‚Řtăşî…ŁRQĘx«šź~ě‘ `ß`D{ÖQ‹Ö)r~ŇlžÜoDŚAáĘMÝz’ÄÄYjÎRv ÷ě¦í™oŕµw€ç§bŠr Ieë®b&ž1×aZ˛X$Y.\é˙+0rU€EC,Š©MŽ3ű˙@é7ď“·Ąˇî;#áJ a¦˘ůŐH†Ç+´Ůt„ *pč�’ĐA”ŕE5ë[ŹÄzŘÄ`•Ië)UއĘŹP·¤‘=ő|1Ú)t]”‡VYJJQtŠĽďS‹áŮá‡Ç=j‰âń„@»Ôłô&®ńGśÔ„›„1‚ ‚pUĆśk扉Đ$ýëé|ö·ńşşÁ™ßd¬sT*â(ÂÚ +v8·*˙¤ŐOŔëłpŁ5A†a:”ş@ŚîÄóiuć€PhĎ'ě]Gűo˙ç'¦¨ž:…ÁA}"ÚČăDČ®#ą„Żm+‡+ćIÂ,&C.ÍhÄ›DÄşVb4‰…¸T¦t´™ÖřäQĆKKa+çФyc¸P.Ŕ…U4G'ĄšâţŢž†@ł?iíŻĹŽbÍ’4Gl!ë§!Ö9j x: ĽôAިYË\Ĺňćń ďźIčmŐÜ·ÁgS·OŢ7\*nęJüW¸:\䪢–mX®"Ć‚ ‚pىWš¸7MŇá˝»0í(ĎkŢ·Ö6+=7–$Ž©V«őęKĆÄ7Iâ8Ć9‡çyWµź”R©§T]€ń|Ďóšó%ăÇ9â8&I|ßGkÝ\qe‚~“ŹsçšăÇ9‡ÖşąŻVZ®±OµÖřľŹ1ĺyxídwď$>}*Mň Ídż‚p˝‰Ĺ™YC_‹% »¨ĺ×ă'ĐaŚŞ9*˛čHáUk‰&qŠ(N`fŠřt 5éđUgbp6}`Óđ$\úš4TIŰFȒنTkŽR Ҥą}- Wr¦Mě?Ń•×td5µÄŇŰę1_sB­XBٱr˘X…–ŚÂ:)[ÚsŠ\şŔT"ÇĎ>¨ńëă5ë,)NM'üÎýš{ÖčUK*Wn1\NâFÄAAVo[)WcŔj…×Ý™ 1‹¨V«ŚŽŽ200 e1ođ$ş11ľ”×ÁÄÄ'Ož$IÚÚÚ"IŞŐ*Ćx8gÉçó«E{ÚXkWôĆYĽěéÓ§y÷Ýwyä‘GX»v-ĆJĄ333´¶¶âśŁĄĄEvćÍśÄĆ1GގV«áśŁ˝˝ťŢŢ^‚ hމ†S.—›Ë)Ą‚ -—ëů(ăc:»¨éôNľk¦đ9F¸ţĚŐ Î…ä‚*Ů\âšÇÉÎ}‚ŠfP±$AEť(Lě’*µZDetšĘČ,¶âatgb¬KKK+×`ę¢sh :uüJEkńđđcEśŔ±YŹÄ)Öä´NŹŐJˇ—Š&ĄšĄ-Ł8p:˘%ŁřpÔ˛±Ksl<¦§Ĺ0]JĄÎ©rĂ!ŃqôĽĺ±!­gfŽśŹ©Äó÷¬ńxçTĚéé„-k<®kú‹ňĘ]pŁ@1FA„KZU ë4ťiZZÖZŞŐ*ăăăĽńĆ´¶¶’Ďç ĂPşî1Ë=Lš6ď˘ tµZĺĉĚÎ΢”bjjŠöövjµ¤łłk-(ĄČd2M/šuëÖ‘ÍfWÜörafĄö•Ëe:Ä_˙ő_ÓÖÖFKK ů|ýű÷377GGG“““l۶ ­5ĺr™ ‚€ůůyÂ0$ŽcÚŰŰYłfÍŠŢÂŐc­eff†b±ŘôŚYłfÍËEQD­Vă“O>ˇ\.ăy;věŔó<<ă”N}$dM¸Átfcľ¶-N«)C5ŰĎůÁߥuäřöĘú$6!˛Uj.a~¦ĚĚä,µ™í4~ lę ăphş.(6Kh;×e–{δ%Z3†‡ 5ڦYMiµaJ©ŞâxdcŔ/?©âkĂ謣żMóÁŮ„îĽb¦äě„ÄÂń‰Sż÷‘XhÍčzž&0Ęb´Ł-Łî3>—¤íP w}ĄKjŻrţ1FA„O!É,<&YI’pâÄ 8ŔÁÉfłěŮł‡Ť7J§]kűV-Lp/ ńYŮýŰŐóÉDQÄúőë ‚€ńńqĆÇÇŃZ366ƱcÇhmmellŚîînÂ0äüůó ľńŤoÍf?µXtćĚNž<IµZĺäÉ“ °ys­5çĎźgrr’ÉÉIĘĺ •J™$IČfłŚŽŽ’$ISذaťťťâuu˝Žoç`~~ça. {k,“$ ÖZ’$áď˙ţďůÂľzÍŮşgŽF0‡H1ÂŤ¦kŽNyllŹ(ŕ´O”ßÄôş}„É_ˇőIŮJ’Pó,* ¦ đs Şâpq*®Ä€ÂÖ…‘­”K߯‹0ÚA` K˛ćěś!¶0Řă]Aâ\ŁÝyC>Đě\çc- ÷)櫎=ý>ťyM!„É˘Ł·UÓ]€8q´ç4óUKKF7#E{[5[ÖxĽwŞĘˇs1qëŰ=ÖµńSDŚA„ŰY”i^d=ʎˇ!Z[[‰˘/|á d2é¨ Ě,eVÎť«”˘P( ”b||śŽŽFFFxâ‰'źźgÇŽś9s†L&1†žž´Ö8çČfłÍu?m{zzhiiáÉ'ź¤˝˝ť®®®¦7UEtttÉdX»v çÎťc~~ž­[·rúôi¶lŮB&“ˇ\.DZěôë(Ä(Ąđ<Ź pÎáűţű])ŐôLŠ˘çž{Ž(Š�ĐJ<–„›O)Ň|2áŃť‹ÉůŁNg‰Ű 1ü#˙;ÎN’X‹˛ “ř8 Niśv -j(;t’žW®é±˘ťeQX´KPΦ–P Šýچłó†j¬XßcÔęC”|ŁŘ˛ÖÇhęö°nAfWŤó<Šuí­ąT|1 ˘Ä`ôBÚ®\ ůňŽÖŢ;ł¶ ydłĎ†]÷‹ąF |/±p#Ů·śDŚAá1+M¸}ß§ŁŁ‡~xŐyG„«ź</f.&xžÇîÝ»9zô(ÓÓÓěŰ·ŹŽŽÚÚÚčííe÷îÝ@ŞŇp7^{ާ7ŁBĐÓO?ÍË/żĚç?˙y …Zk{ě1|đA‚ ŔZ‹1¦éuáű>CCCÍďn|n¤r×uA)…1†­[·R­Vhii!‚ – ‚€(ŠnŽCß÷ńü´Ľ˝»üaż_ĆÜíCg. Sň‰N:‹+ oúSĚÉ˙Q˘´NËŻk‡R:ővQĄ˘´ tTdQ6Aą…#"­¤ÔQ \úĆ)Z[|6ôűhĺx°Ż–Š$ZĄáM«>SaE‘®«—­ëęŠIU˘ôąľ^°ěK´†|hřüÖ,źÝ’.ăkĐZ]˛’ŽŐ•˘żŚbăVq}DŚAáÉdŘşu«^×Y„YnÜ6”‡0­D>źg×®]‹ uÝś„Ż$đ¬Fčil§áIłŇňZk:::řć7żą¤­a®8Ům´cĄśC2¶®Ł±ěy 4÷A#lyźcČĺrÔj5¬µčzyó4_Ě 3±ŰybßŮ™&,.e€Ü&”jšĂç}¶v×h Ý‚¨ 4č IëĐ˙?`쟡ŐžŠë‚ŚIÓ©şˇ@Í% ‰­ËŚ\R/ëŢČ“ŠľV ?ÚCľEăÓ‘…­]Ţž¶Ô2qć‚ĎÔĘ Ż´¬Q`®¦W±ü’ ÖjńyaµjŹ bŚ ‚ «łÇĸşa‚Ěňľö<ŹL&CE7,ijCT ‚ŕ˛++ĺyąX9kG7ŹŐĺăI˝Ą<ĎkŽE•ĆNÜqIbÄC· µD3^Ô ¶+\¸l@* &OŇţ8ÎkĹ;úbô(JǨzi$Ą h•Š4XÔĽ„EL=ŚKP€o íĂ]toĚŕi&™ŮŞ˘–¨zl{u‡Ćr”ë}ś©«]uYłE^8®ńŮŠ˘Śd™şS1FA„;f‚Ř/Îőˇµ& Ăz™éë;\< —ęFw b ěwáVŁ#óĺ{b´}±ái˛ŘÂ.j˙ ţČ˙…¶G@ŸF<QýyÁK¦EP±E9KSytIęĹ·¦Ťţ/¬!ČP©–soo-=?*PNz}ĂąEGÝűń:véw,Č*?8”kşĄď5W°+\»Ňľip,Mt&§“;cA„ &ł—Xâ–ź 2†?7Äc Z›ë~'ßIBĆ»~ě­xÚt”•á¦1WŐ8˛«§J{Ö^DQ 3Ř–(őţŹdĎü'´:ާ-čš^2eŇ×Ps" *őŚŃ‚ŢNşż>Dn]U˛>šđ©ĆŠ]=5|ý)m‹fůÂ4ęFĺcR€kxĽ©…w‹n°ŕűâę"QúXégŞzhW=rý­´U3ôjI±mw›cÂŞ1FAX2‘ĽÔ˙·ßäHö©pcÇ1‚ ÜŠX§ťĂ^ Ę+`[f.qäG˙ OťĂPK=c…*5ţWĘÁśDˇL€ëĎSxî^ň÷tăgĽ%çĹŘ6ô„F¶uĄ?˘W‹°ŐeíBŕĎ•:şb hcŔ3hßŔĂ ZŐĹ–ş ă‘r-ˇZsD¬§í«Wˇr ˇĄ~ó€´,¸§žŻÉřš¬ŻŇJPKĽeä:s§ bŚ ‚p)«Lş@áŞ'ÂkíUQI¸˝hĎ$<±)a‰SÇĹ®üJá­ÔZb&¶´ť˙Źřî4ZY”± bP®ľ¤(­ Ł·ô>˙١ d 9ŚYc´‚]kŁf)ꦕáVik8‡›-ăfçqŐlšsĆÝ@SĹÖ{ĎzUČ Ú 4ĘݧrJ9qŚÍ&ĚT’„%ib.›ă¦.Ö(,ˇŻXS0´ç žFî0Ý#‚ ¬dď¤FEÝP°Ö.M*ç.óÜŘHă˝ oĺ÷~aC.\wĄĎëˤ±ěşąĽx*‚psϧŽjµJT«.ş}/7–éŠć­ÓYč«Ň™‹/ž7¦>fµ1řŮV’ö‡Ź-ť“˙ź“2Í%´‚LHĽ¦·í1‚#×·Ž0›ÁoŠu[ÂÁ{Ł!µDq__Ő㍔]… âp•vr’8bśK]m’eęn' đLĂxÁEIj F_‹#:}Š’ŮFT‡AiŤS8Ëč\Â\Ů‘ÔC¨¦‹–Ăçb¬…š…ˇnŹ  ałÖA”Řş‰ŁĐ*ő†!rśť±d|E.HßDŚAîx!&}NśĄV,c犨$ązűĺzŰJáÂ�żµ€ő¤~r3I„›K’$DQ´Bn ÖA-ç,ŐŘ%ŠĐ»t~8ĄŔźLľçbVŐhťý{L4¦†ö<l'nď¤ćm˘şţ3dÖo!ßŢI&›E/«$×ĐMb›ćP©% ă9V-ŹX‹›-A’¤?Č:¨ÔH><Ą*ŞÁ+ Ýčő]©=P‰°źĹyÓŰ*dš´4·Io޸¸.ÚÔU*WŹçRFá,P­A5†ÎĘč4)q¸bŐšĂiŤsPŤ3e›†Ő»ř—GjäE[V“T‡ĎŬk3x˘ÄqfÚrj:¦ŻŐprÚ˛ˇĂcC‡F+°‰cl.aC‡‡62–EŚAîA&5–*3sŘŃ ¨TQÖŢú W ç*•*¬í"‚zR=dA„»“؉iŇç-Ĺšâł°¶pÉKiý9­H—o]K-|ŠůÖťŘňYâę<6QĶ€ »ńňÝtĺó„™Ě’°¤%ZŠń˘âýł©FŃ–Ńlé´4łÔ^Î.‰b¨Tq.-ŠŤu¸‰9ě;Gq3ĄÔCG)ěČ8á·Ł TĹžÇl]‡›+cOO ×wcĎN¦aN•řčŤkß9†Ęˇ>Ül‰äĚzM+x;9ź¶áô$ŢÓ÷ˇ Ůf“]śŕj1Ę7$&‹›,öS”jŽ{×ű¬k÷8?—př\„u…a˛đË#Uśsd<Ĺ|Ĺr~>a]›Ć7©lT©Ab©˙/#‚ ÜÉJ Î9˘Z ;>Ĺ2jy¸Đâç[ ˝ áJ•XÜÄ ĺlßŃŽ2¦ń‘¤ŔAî®K:đá¸ćź?ĘĐ’óůőŮ„(©ňôÖ„(Qäü´ u©¦Čç•H‘ ,Ö)Ş1ä|EMµP ·’Ém ©Z Y_QsĆóĐľf6Ňx ĆQŠ4žvĆQŚ4sřÇ<ŠI€żz7âß>féZílÔĄŚŞ‡P+­P-YTg nľÖ˘Úň=©0c>ş§ťřĐ)to®Ł»ŰpÓ%¨Fˇ^ěůYÜt •X”ď“:Ęámě!>tşZ0›{ \K“őŢ…¶DÝq@-q«ţ9qby˙tĚÚ|tŢŃjJáâ3 űP|ęDŚAîĂ Őr [Ť0Ëó˛ř>*B‚1Š4Î^¨z,Î#łś‹~ćHË5,˙l‘Şb-nn*•cČJ’™"¶˝ś®ßxS˘Ĺ‚ wJáP5 4ý!Ž(Ő87o81ĺóđú2łUÍń)źűú*ś/ĆŠ{z+ŚLŠ‘fxMÄŃé�Ł`K§ÇŃIʶŚ#&|4°ľ5FË{Ł[»bBϱ˙lŔžžJ oźńéČ$śžŐěđ¨ĆŠCń٪˘+żĘ+łÖŕ\ś¤Ő›HĹďÁ!bŁqł%ĚîA̦žÔFP. CŇ:őpq¤áE“sÍMÚůşíŕ›ÔS¦TEu·@ąŠťšGwäqľˇźć„qÓÍbHi˙ÖZ7Í™¬Ż­,UOb çf,Óĺrä’´Š’EŃݢ93íĐ*MďúŠŔcINźŐ$]DŚAî IF[{a]ĎCoÄűᅨ޵Ľ+ĽŚ,żásá  +j#Ą2ń_ý ÉĎ^ÂÍĎCҸäę>˛'ݏWëť¶ŘÍĽńÚI‡ ‚ ÜâúKZ^Ą°’IJĄŚZŽťŻ26›đ@ô·Ćôb˛ľ%ç[:2 ß±ľ-bm!T6uÄÄVxŽ­]ÖoĂkc”J=`öôÖ0Ęákx°Ż†oFÁgÖU ˝ôőŢ ŽŮ ¬-(ŽŚĄŰ´‰Łԯ嫸´(Ďŕ2!Şš€KR±ĹhT'~W;_A·çSĎ•şˇ ظŁ@…~ë'¨µm$ś†Ö,şż´F…>f[?Ş#źćʉ’4°VéşÖb¶öŁŚ©—ä®—Ąö<đŇ|1FAg^s~Ţ’,ş^ÖbÇŁ1;ű '§,ˇQ(ĄđŤâŢ »×ĂLŮ’őSárd…‘XkcA„»ŔGmĆű˝oa¸|˙ć†*9 ńľűmČdH~ř#ÜÜÜjí:a‘řbU)�­őńţŤĎµÖŇa‚ · µZ•óăăléčäąť–÷ÇbvvÁŢ y!ś"Vgţ°ţÚ÷\˝X3xžkúĄz~ýµ‚ĽďšŰČ 1ZôÂëVťőż3ńÖIKd{Ö%äL•RŃŇÖÚ„—ţ1F§‰rKŐ´$QCěP ˛:ôą D”§ˇ=×ôŽ­_ôP‰Ĺl[my”oŔ:ĚîATWçTŕ±ÄýE©TiiÍâęąiTÝ#F·dęË«ş˘čÎ&Š q= đł÷fńŤÂÓ°­×áiU[ę!W@k&]?04űV+𫢧Ĺ["Î"Ć‚ w JŃčŤńľó-Ěý÷Bąe|fU[+ŢóߥHţáÇ0=Č1«gjjŠC‡1::F ďfý†őő*ćéNŽă·÷żÍđđ.ňů\ZEB©úŁ^ŠsGA¸—íÔ;Ć:ÇěĚ,aŕ1Ô2Oő ”K—K¤v-?OÝ`;<xb mźÁ1=9‡g<úűőj~*ô0Ý­ŘŮ®R…UP+5Ó9ToÇBüʵľ«®»¨ŐµĹ÷Q-(d—Ü2@WAŁ•cşl‰-t̢ŢXÉ>ą h 9_Ó‘3„ž„)Ý©#‚ ¬Â�Ę`ö=†Ůűđo±K‡1¨ÖĽg~ wü$ÉĎ•†q;1^V×}† xýµ×ů⟤X,ńĘËŻ†!÷Üs'Nś`bbśýűß!ź+055@ww7Ĺb‘ˇ-›8uę۶m#—ˉ #‚p‹ 3´·w23=Íüü,Ĺbé&…›j!Ä ĐĆËć1~Ȇ aŘř/ż¬.źAg}\5•jő<u—0a¸·g|ťĎ€—–ďvK›HĆWô¶jşňŠ™Jš#fˇŰݲ¶©%˙(íČ‡ŠśŻńŚZ´ž\_ď4DŚA.ŔNĄirş¶0 Ięn-ß•&nÉËλB …›6m"źĎłuëVŢzë-¦¦¦PJqâÄ Nź>ÍŢ˝{™źźgzjšóçĎóî»طﳼůć|!z‚ŃŃQ†‡‡Ą3áBµdş%×yĚ)E†lÝş•łgNáy!APÂŮFč‘»d ·+ý˙JŽm4ů\5=˝ôőőٵ·¤PăĹô"Gşă´AeuZL`­P×ă®—äľŘ·+­ńtVú=î˛-[ś´7őF•1}'"bŚ ‚pYX‹‹ă´˘Ŕ&Ů•×b]µô=k!I°V“®­5ľďăžç1??O{{;ĺr™ÉÉ �ÖŻ_ŹďűŚśadd„ůůYZZZČç Ľúę«|îsź# CéLA¸ľďŁpTĄ+„„R c …BŤ¬íé#Žâ‹ Ą™Ż´î`ÓXě¸á.Ô.ź+@)Ťń ą\ĎóĐzAÚą”çNs)µTąu÷ÁĹš¨®x_ w&"Ć‚ —6´ś#Ž#ĆNžaâť÷ęŢ2Şi„-~}ˇą±ôł•Ö[ɨS‹îŮ­´ ·ÄÍWˇśĹ«TX;>A—ě˛%mł˛VHjĽďű›7o¤Đ’ăńĎîĺ?˙…–źyä‹<x×^ű%›6ŇßßG×hďhĄŁłŤmŰďáŤ7Ţ`ëÖ­ŇáÂUŤŐ•ĆćĹ&e·ŰÄD)…xžˇÚL`!±pcĆžRŠ0“!¸Ś`ľřx»QÇŘâÜcR¬O¸1FAXÁBŞ?ąÔ@«UküřG?áĺ—_]Qr©›r‹ţw«řěrË^ę;–~¦ť#g-ß)—ůĽ¸ó.™Đ^̰^ř 2™ Ď>ű <ϧµµ•ÁÁÁÔHđ<¶lŮB’$Xkń<ŹG÷>J’$Ôj5Ž9Âç?˙yÚÚڤÅ««+ŹÍ;ç@^ä 7ĺ[íńt˝sĘ,o‡x}w3"Ć‚ K ±e“�ëq}înÁé„|k±I";p#wąçÁrŁŰC6›[ň˙ĺ¨V«<đŔtuu‘É~@Ű�� �IDATdn/2y„[ďů4Ű_|]Z|ó@î&DŚAVi9ĄnÄîJÜ띪וäňŐÝ"wśĺë^l–nZląŐĘ‹KS§˙'uCxqÜţŶ•>G__oÝ˝ÜÖóő¸eëɤY¸ÔLÇKc"¶0LŐ céÂ1بĽ"⌠\żëĹŤÚľÇÂÝ1‚ Â53®´nN÷qNaíÂÄJ鋬ět}vUź€á�‹Ň4cÉ3ç.[ĹRXܵ+xÄ,ĎÚç,Ćt}~Ú;”Zk1¨…+ź ÂĘâ×—ĂZ[Ďe•ÔǬŚ9A¸VÇäÍČg$^1ÂÝŠ1‚ ÂUăű>7đŰżý,;wnăŘńüíß|źĂ‡>Ä:Gkk ÝkşĐËcŵ˘ŻŻ›|! &&¦9ôţŠĹą\†Ď}n_ýęÓ ŕĄ_ág?{ąą˘xŔ¬Š‹' mx"X›z´ŁI’„©©)Ęĺ2µZŤ$I.™gŔZŰoŰěîµUDaU“/Ąß w—ÍsÔŔÓLđÇ­Y2Ař”WŤ[Ľ:‘ Üi#‚ \5íím<óĚWyđˇűČ„>­m»H’„łg˙ÓÓÓ(ƨzůĘ´J/CAŕśĂ÷}´ÖhĄŘ˛eď|ç[´µ·€s|ë[Ď12r’ýo q—Ë Ó¨ŔtWOw/:ˇ]Z5#ťČž={–żüËżdlt”÷ßźR©ÔěCµ$ý¨[’Ti Îáů>ż˙űżĎwľóňůĽÂe&}+'ń\śçčrë§Ś¸Ę Âmueş U›áVEÄAáŞéěě gm7ľgĐZˇ”¦Ł­ŤµkÖ073‹r ĺ©^—°µŘĦď×ĘVŠ{¶l!› Roa°yÓFĽ{ëěĘ“5µXŠ÷™KM‚ž1 ±sŁĄâťýď091Ů\NkÝ oj,ßxÝř ŕČ‘#T*rąÜ OȸبżŃŐ@„k3A[Čse•_$ÄAnżk "Ć‚ ×€™éĆÇÇŮĽy#Z+’Ř233ÇÔäÎY../p*­ŢtâÄqţöŢ,F®,˝ďüť»Ć˝±/ą3“™Ü‹UĹÚKÝ]Kw©ÔínKd÷H™†m <@ŔŔ°Śý2/z= ćmŚy˛Ç€4c¸muK˛¤v«»ş[*©Ôµ±ŞH™\“ągFDĆv×3q3rc’,2™,žČĚ7îrî9ßůźoé´;Ř–EÇt:>·nÎ!cµţ0Ă .`­V+™ŕĆ˝ëÝKÚ.Ćô_Blw<ĎŁ^ŻŁiťNĂ0Čd24›MLÓ¤Ýn“N§1 #ŮŻ¦ičşÎĘĘ ĂĂĂÉ~4MCÓ4â8&ęUĚjµZd2 Ă@×uŤÍf˲đ<]×Éd2¤R)VVV‚ É‹Ó˙\2_­V±,‹(Šp'9f!–eÝĐţ9[–uW§÷7AŰ«ú—BˇP(_&”ŁP(Š/ĚęęňÇ˙™\.Ď™3§ťťĺOţäOYYYM&ó{ašćŽmQóŮgůĂ?ü#~ý7ţ.ađÓźüŚĎ>»H†IQ%Ĺţě?±íŠ'Apůňeęő:ťNç OŰí6.\ Őjaš&™L†v»M§ÓÁ¶mVVVHfłI±Xdrr’7nP.—Y]]ĺňĺËčşN>ź§ÝnÓl6aIJ,ŠĹ"GŽáâĹ‹,,,P(đ}źR©ÄĐĐ•J…[·n±°°@&“Á˛,„čşž-‹‹‹´Z-Ž9‚eYT«U¤”čşNE„aëşÉ1ś8q‚Bˇ ×µQ…BˇP(ľ|(1FˇP(_0 ąpé ˙űďý¦It:a!€ÚF“Ťf{[µ”nĄ¤+ł7¶x\ARŇjwřÁ˙”˙ňăwăĎó»"šłÝaIy96C;zĺéz¶„a¸g؇”ÝjWBlZâŘ­¶E«Ű57MÓp×ui4´Z-Â0$•JŃéxd2Yćç±,+ht]§ÓéžçqëÖ-––V( ¬Żß ťNł¸¸D&“&›Íây«««ŚŽŽ˛˛˛’$^^^Nśţqt:<Ď#ź/†kk«LNN233C«Ő& cęőů|ŽL&ÇŇŇ ź V«Ńl¶©×AŔČȨc Í*ŠçA†ý†gů~Ďç°öCw:źÇĄďü2śc …BqhcI‡Ôjőť. ăx_™íDQL«ŐJÉ*Ľ!Ô-Úíőía#›ŰÉóg=ľ÷›5ţŕY~ú®ł#ŤŞmŰLNN˘ë:Íf€Z­t6×jś:Uˇ^ŻS(äBŕ8©TŠrąĚçźÎČȦiS*•đ}ź\.K±XŔqt]§Ýnáş.†apîÜ9˘(bhh(ů×uŃuťŃŃQR©ľďcŰ)jµ:ŁŁ#d2YZ­6ăăăT*CčşN*•BČĺrH“Ď( =¨CĹdłYŐ ŰŤď(ŠăĂ0”0ŁP žçáyuó® jö™Ű·ĎĄĹÎ߲L씍mYʤ@SI|ĎŁÓń’Ú]ŹyŰfMÓ°S©”}¨ÂQűyŢşâhk"dÓ4I96¦y¸űÍ0ńĽžçoćüÝ%!ÓěµŰÜ×.QbŚBˇP(ŠC+¶ěg´lőŽŮĺ0ńŞé˝˝Z׸pĹd˝fnzĹ ěƲ,†††RR,¸« ů©S§’óßňzą\ÚQŤCÁŘŘXňżmŰ[>S,) »®Ć ~ďök6xĹŞ2ĘŻÝö'„—/_ć©§žR‚ŚBq@“üŤzj­J§ÝéyH~±ýš¦AĘqČçňäň4M;gąźk¬ş^§Ůlây^’kěnB`§lŇ®K©TÂNYŹĽŠ˘v»MµZĄŮláoTÓ4q›B±@&sp×űné IëkUÚíľďoY  Ă$•˛ÉrdłŮ$·Űnăłc …Bń¨L'r™©_BÖ¶LŇ®bÇ‚’Řö÷ÝĽöŕö!@JRq„Ç |â[ČnFË^۱»-7*‘.]µ¸r=GÄ»T´Ů­Tń–ﻏU®;‰!wUúŰ=‚öÚ˙öăV<šIÇěě,ÇŽKň)Ї7I®V«Üž[ îy±ö¶÷_ď˙=؇î÷\FQ„çůÔku&™ —ĎŁë÷Y–R†!‹ ‹ll4˘8ŮE1QbšćŽcŹcI…I’÷°Ňj¶h4šLĎLašć–ĘjńII§ÓannŽv»Ý˝?QLÉ-6Z†x^‡FłÁŘŘů|ţĐxöôĎáöíŰtÚAî‰î&đďz Ö7ę9r„B!˙Ą_üPbŚBˇP<~SížŮ“˛mŢúŐŻsîĺAh;'1ĐŽM"·ü‡©ýŔ®ÄťO[nľ?yŻÄ1z«ÍÄţüíŹć:=flzzôd-ą»p±ósÝßľ/c MŰý˝}ُżňŐétĐuťt:M†t:R©¦in ÚyA „ ÝnŁiétz‹¨†!B-«hw:–0 q'Ů®ë:aEAÉd”đ(z¶^ŘÜgź}Ć'ź|ÂÔÔĎ=÷śş0 ĹC¤Ůl˛´´”„ň„aČÂÂŮl˲X\\dhhĂ0X[[CŃőéy î7Î�,..cV7ÄS<ĽŠQł¶şN˝ľAË-âŃňňź~ú)Żľúj2†!˘FŁÁ§ź~ĘĚĚ ĂĂĂÉŘăůËK+ŚŚŚ íŔÍŠ®±°°€çyČXĐl´ů裏XZZBJ‰ëşś8q‚™™„Đ ĄĹel;E:íŠ6+Ëk´šÝâ�·oßćĂ?Ä÷ý$Yţđđ0O=őT׋5–,--c[6éŚűĄ~ţ”ŁP(Ź ±”Ä"ˇ ó€V ݲľÇŽÍpâ+ŻŔaś Ę6„żü©šĘ®ÝvĎ‘±Âw§]ÄqL˝^'Ž»9V|ß§Ńh`š&őzß÷i6›†AEDQD:ÝMĚŰ/s-Ą¤Őj±´´ÔKüŰ!źĎă8­V‹FŁ‘0ş®ăy®ë’ÉdvËňň2abŰv˛"'Ądii‰t:ÍĆĆRJR©žç144¤ÄîăâFŁ®ëŚŚŚ i­V‹t:­BĂî@ÇÄR˘ ~ Ĺög.đ¤ě Ő—.]âç?˙9Ď?˙<žçńŃGńöŰoÓét8ţ<š¦qöěŮ$OW,‰Â(+úÉÚűb»ďűT«U2™ĚC5!‚  Z­őĽFşß{ĺĘ>ýěS¦&§¸uëgĎž%ťNÝŞů—ÉňĘ2s·ćťť%ťNóío۶‰ŁjµF©TŢSěŘc÷ĆĆťN'—Z­·nÝâÔÉStĽźţ9/^äw~çwĐu˝ç…âŃn·qśÔˇč;Ű퍍dÜ]\\$Žă$Ż\Űü|·""?`ee…tfęŽöŚc …Bńđd ’’ĎÖëü‡+Wů_^|¶'ĆLČ’M×0 ă¤(Ž‘şN¬iDŞąě+¸ ®Ę~y*ŃŐŮ4 „±)¶ ţ}·hš†eYA$ń-•J‰J>źgii‰fłÉää$ťN'1Ükµ…B(ЍŐj4 ,ËJViłŮ,ťN‡z˝žxSضMÇA@*•Jž~Ůěµµ52™ Žă°ĽĽLĄRÁó<šÍ&ív»;™"|ßß3żŚâáł°°Ŕüü<Ůl–ŮŮY …®ëŞ sÂXň»ż<Ďoť8ÂéBC娸«‰~×KŃ#–1 őúÍ‘‘šÍ&®ëâş.ëëë\şt©'¦¤Ź­Őj\ľ|™cÇŽ1;;‹ëş‰—ÍłĎ>ËččhŇGA@EčB{h‚LłŐ" ú®ža2;;KĘNńÉ'źP,1 0Ś0ŚnHR.—c||śv«ÍsĎ=Ç…‹ /đ„axŔâ›÷Čó|d,“˙ Ŕ˛,fŽÍ°¶¶Ć… X]]íŻčŤ×’z˝F>ź;bLµşNF‰]˘iccc<űěłŘ¶ŤçyřľŹď{Ég˘(Âóý/ýs¨Ä…Bˇ8äÄHü(â—ËËüÇŮ[ü“ł§0“8ŕĂlr?ČɬšZÜŹ·=OËŕk›Űd/qž¤RŠAJd‚vZm‰Zď}bÇľ·äa[ż#Úí6¶mă8ΖŐČ••˛Ů,š¦Ńl6±m›(ŠĐ4Ťb±|—ëşřľźxĘô'–e‘Ďw«0ůľŹeYIě|_ęG*•J’Ż®®bšÝJ ¦i&űč݆aJĄ”'Ć#@Ó4Nź>͉'’6ĄÂĹöÇŇ5ľwę(˙úÓ‹üć±)^ĆŇ44ˇ=ŕ~XńeŁ/Z#»ýťeY?~ŚĹĹś”ĂĚĚ W®\I’Ż —.]bjjŠjµĘ|@ÇüčG?â™gžáňĺË”ËeĆĆĆNň–ěŤ}„A@Ľ-Éřř8çĎźgrr’8ŽůĹ/~Á믿N>ź§Z­Ňjµ( čşÎŇŇů\ß÷qgÓ‹»căÁ«1€ě-šH‘\·ĺĺe~řĂ>###ÉŘŮĎéŕyţ=W±|Xxľż% ţ=2űćzSbŚBˇP(ň¤>]«ňç7çůŻNL3ťÍ˘đ $ăü�Ůîě: JşFJ„FÔ­Qř¦�; 5‰&% äÖ奈Áó TÉ{ďJÚÚEśŃ„ŕ•s—®D˛OciUçňuť8Ö‘rgâÜ~bÇÝʆ !Čfł¤Óé¤dt˙óĹb‘l6‹®ë‹Ĺ$f|»ű±¦iäóů¤”tßŕÔuťl6›„#m7ÖŹł_]i||ś8Ž“˛É}Af||<•ú?»%xT ş®Şr˛ŹšLgłü×'fřáő[8şÉs•˛bwőĽúÖŠ5ÉŹ&Űq˛Ůlâ%ŇIă8¦R©pńâEĘĺrvšÉd¨ŐjÄqś<ĎÉ~˘˘ŃO´ŰŻžÔĎ3::Ęúú:ÇŽăĂ?$ +Ŕݬ¬0?ż�Ŕüü<ĄR‰Ë—/óôÓO'Ç®u]FŮ3%’1QËĺ( X–…뱺şĘ׿ţőăsʶ͢Bʶé´;[ŞZ]˝z•fł‰®ëÄqĚęę*Ď>űě®gţeŹ•ŁP(‡^Ś‘4‚�SÓHé:ŰF ň<˘_Ľ‹\XčŬlł¤$‚Ď2Y®;)b!čzŐ 4!’•Şí•DďµÝŞ' R<Î6›Ă˝ç®‹& 0Ś|źřóËŞÁܧ8#ŃX®MĐňjäŠ9âP’Jw‡ŐŐ¬­­ˇë:•J…Z­†ßs!v‡›7onąo u·‡L z®ěghő˝#Eqy1úűÜÇnß­DĹc÷üöÚmJ7°4ŤFĐ«R˘Ú˛bź>Ń0 씍¶!{ăi_$w]Ó4ˇT*ń+żň+ĽóÎ;X–ĹkŻ˝†iš¸®ËÔÔóóóŚŹŹ'9N<ĎŁ\.ôůÓ4Ńő‡›7ťNcšć–J=ăăăĽřâ‹,//SŻ×yóÍ7ÉfłÉ‚Á‘#Gh6›\»vŤŃŃQŠĹ"“““×HÇ0ôGăź+–e"4 ˘nO&“áĺ—_ć'?ů őzť™™&&&v,BäQ5ĄB±HŁŃ$ęťĂŃŁGY[[caa!Y�yć™g8rdr‹ť`ŰÖ—~ŚVbŚBˇPr4!xa¨L;ŚřĂk×I›“™ ¦&ö.‚†Äď@üáG»~_Śŕ¶móăáa®ĄSHň[& i®ŻózµŠ3$pŕ »JNâˇńčV°¶» ËX°^/Đhů´Ľ!Â(¤ŃZòšV§R©Đét=ŁĘĺ2qcYV’ßennnÇýŢŻÜôýLô>”řňx·aE7ďÍFď_˝ÁËĂ^*¸÷¤â1µ/4Ťl6C˝Vëć&‘ÝPĄçź>ŃßxăŤ$LôčŃŁ‰ŢĎű166¶ĺY|ńĹoÇľ@`Y&…bnG1ĆŤiY‹E:ťnŐžBˇŔ«ŻľŠă8¸®›$qďźC6›ĺĉÜľ}›R©„a=z”´›Ń˝>…bĂ4¶şĺŘýä 9ÖÖW C)»‹ ÓÓÓŚŚŚŕyŮlĂ0<C©”ë8‡Ć3ĆIĄČd2Iő¤|>Ďąsç’Dľ–eqâĉ-ÇkY•ˇˇ/ý3¨Ä…Bˇx ÄŚińúř)Cç._ĺźž;‹©™w˘Ă@Ŕ”IvŹ?…ĆĹlŽy]Ç%đ`ă”ëŢw\^\YÇ Â}Ť"9(Ĺ<ÁşĚ~'›$‚ë×oR«Ő_XH*eÄqĚ/ůˤÄôââbREóóó˝/%n(m{?Žř·—®đćřŻ ă†Ę˛Ą¸k\×exd…ů%‚ H¬nCúĚv1gżgŇ4MFÇF$·¦ …ťN‡Z­„Tiš¶E´č_>ź'“É$çÝ IĂ0p]‡JĄŇőčyD}š®ëLLLpăĆM:m/9Î~rĺÁű¤i¦i244„ŐťCź¨ë:ĺr™ h4H))—ËI˛üţýé˙6M“ŃŃQRvJ‰1 …Bˇ8“ ŔŃ ľ6:ÂWGGxŘfAW̸űĽj\uÚš@#đT ’eËâšc“‹<Ś}ňčuíµjľß„µűwW8;}ęoľů&WŻ^% C]ď&Ç˝äĽÝ’J†l’Ȱl›Ż}í5U†XńĐé·ßî/ąeŰ“­éü‹Îu'nŞ’’â>&ĘÝDćµjŤŽ×!Žâ/4‚ @ÓuR)›Bľ@6›9™~XŃČČ0¦itËv‡a/)ýÝcš&éL†b±€mŰŹţ·m&Źaeu•N»C8PRĽ˝u]ǶínN¶\.©Şt(ěMrlĆĆFYYYˇÝé „’ ¶E۶)úmćËź„\‰1 …Bń  q ®ç}#ŚcD/iî'FŔśťb>ewM°‡0xjH!ů źçL«ĹwptÓúĆ*„aWfđww{·ügˇXä_ţ«•T_¸źzşˇo©śˇP<,úey»©QÄí‘ehý*+Şz’âţčć‰)Ëu“ôŢKž˝Ľ/t]Ç0ŚÎ["X¶ÉČč0ĺ°DF]»` `Ň_Č­ O˘W€ 쇥_Ń4 7írÄI†aâµÚżţý÷üőľűű˘iÇM1qd<9‡Áţ|÷6#÷÷ľ_‰1 …BˇŘ•v D1™ž‰żűđ m]çf*EŐ0‘âŢ<jîe —Hf]‡EËćh§wěGQD3É«‰ÉžÂČ`|yR«‰®{v"ŘÜë÷„aő<“úńab[‹wĽĎw÷ą{ů0-ôÝ~˙ÝĎÝç^źaËűvśw»qŹŻßëuľ˙çůŢÚÁÎkEÝĘXŞň»´Q…âţ'ý‡Áä<˝ĹýDň÷:föEŢĂ4áď‡đô«î7ŢĆľqżsxŇús%Ć( …bÓ^ )IĹm×Ŕ#A, .%7€ęFýá“”´Ąä’‰ăyÇÎ H'ŠM”Ăţľč˝˛¦aőrý(ŻĹaź0ösQô˙V(FŔPçł3WÎadît‡]ů˛¶ł/‚c …B±ë@YČ8l¸~uŽďŃđĽm“tA,«†Á˛Đ¨‡áĂ=&Ŕ”’ąŤ7ęč[Än[7ȧl<Ë$]Ě#45ŕďoő«^l /R‚Śâ°Ň`¶ôÝüGĘČW(WŤp·D˝űMţ÷ős9X=đ~ÂCż˛×9|‘ózÇ÷ňËÝé8¶ć«»s» •Űë|ż (1FˇP(»M’”a0<9Ę‚r5Ćób˘-ŃŐR@ ŔÔ5ňšŘ7đaż íŻ±m›N7oNĐ’wlQ¬L§HŹT(ćłčBCHµ łŹ™Ů3t¶LbŹ»°UŰýNîőúnű•;Žçî¶)žŘ»ëó,Ős®PÜ'ľď3;;KµZ%•JńôÓOď›3%ŽcjµZwń¦PŘsż‹‹‹ ?Ňđ§őőu._ľŚ®ëś>}št:˝oŃ ‹WLłŮäúőëxžÇčč(ăăă�4 ććnsâÄńű Ézmgqq‘……,Ëâرcd2™ÉţŤÍf“R©D†!HĄR{^Ű+W®°ľľN6›ezzÇqRR«Őđ<Ź‘‘%Ć( …âË=ŮÉą)ÜăGYoa!RĆ˝Ľ0ý ˛ �ücńC ę~«6”CŰĂkĂĐ4ŠvŠśi˘ďRšSqŻ“ÝÝ®Ý~Űîôş¸Ç÷ď·MˇP(_xt•’›7obŐjo‹'¬ĆÔÔ/^Ä2MfŽăŇĹ‹Mcbb‚ęú:ívÓ4™žžćĘě Ý T*qőęUjőßúÖ7©ÓétxçťwxńĹ©×ëĽ÷Ţ{8ŽCŁŃ R©ëëëś:uŠÉÉI4M;tŤFŮŮYňů< ‹,-.Óh4°,‹óçĎcšłłW(—K<˙üóVŐ0Š"®]»F*•bee…t:Íůóç©×7xć™g¸xá"vʦT*ńчqúĚiÖ×Ö™ššâÖ­[¤3i&Ć'8˙Éyś”Ó=v]pýúuŇnšŢ˙Ă0ąví:†®3==ÍÇç?ćĄ_B7t<ĎăčŃ)%Ć( …âKc–%� ĆŇé®a"AŠÍ©±Üń© öúBŃŻ'"”�ŁP( ĹÝŽ«=/…ÉÉIÂ0äűß˙>oľů&–eńáS«ÖX[[gmm…‘‘Q<ĎçĘ•+ U†¸xń“““ř~ŔĄKźSŻ×YXX ^ŻóőŻť ‰ăGëŮ(Ą¤ŮlrůňeŽ=JÇüěg?#›Í2??ĎçźÎĐЦi211q`BĆ˝Ď癞žć˝÷ŢcllË´™źźg||śgź=ÇĄ‹—¸qó:?řÁrîÜą;)»ˇÎ§Nť˘^Ż3;;ËýŃqęäięµ nܸÁ /ĽŔĘň*?úŃák_{ C7ąqă&###\Ľx‘Ŕą=7O6›eccĂÔĄ\*sĺĘUÖV×Y]YĄZ­222Ў›üÍ߼‡”’o|ăÍÇúŮSbŚBˇP(¶d[Ŕ1°*ÔŹ×Ý.жsŘő? P<Ně·*ýeË P<j4MăĘ•+řľĎwľó–——i6›ĽýöŰüâżŕřńc ‘Éd˘ÝncŰ6cccřľŹa¦‰ă8LOO#„`}}!şţhĹŤT*ĹK/˝Ä7ľń |ß§ÓéđňË/ăű>•J…rąŚ‚©©©CZZ­Őj•™™jµ:™t–™™2™4®›&—ËaŰĎ=wî@Ĺ$]×q‡÷ßź xá…h4d39&&ŽP(X\\ä…^ŕ;ßůsssd2Ęĺ2W®\!›Í222Â_˙ő_“Ëĺp—tĆáâĹ‹¬ŻŻ3>>Îđđ0ž×!ťNăş.®ëâű>A`ZÖcýÜ)1FˇP([ĺ‹-ÉCÄ>bÇa<ţ]·Ş«P<®ýĐ}Ľ®P(îmB}ćĚ<ĎĂq2™L’“ŁX,ńkß|]׉ă۶IgN0=sÓ4)—KDq„”۲čt:IůâŽç!„ŔqśGz~®ëňĆoŕş.¦i233ñcÇX__Çu]Nź>M­V#—ËÚľ%—ËńôÓOăű>NĘé ¦‰n躎ŚcĘ•"¶mč9†ÁÉ“'Y__OÄ’×^{Ť(ŠHŮ)˛Ů4¦eacăŁřľŹĽě�� �IDATŐP†‡+ضŤ¦ë?>Ă+ŻľŠ›v0 ^xŤŤŽă`ĄR0а- ;eńţ/ÉoľžěëqE‰1 …Bˇ¸ŹCŇTš—Ý?Őj•[·n111A»Ýfyy™§žz ]×·taŇh4ĐuťL&łcR<X…éý÷ßçäÉ“dłŮg)Ą*G¬Řżç‘Ę›Mˇ8H1¦\.oŮV©T’żKĄâ]ď+›Ën ‡äüÇIˇÁÉűŘŘXň·ëş‡ú™¦I©Tşă{Ü´űHÚN&“Ůb¤R©äďt&˝çgóů\Ňßçď~gK%Żt:M:ťŢó<żů­oî›dz?Ęĺ2łłł;vŚŮŮŮĎŔA Ä…BˇP<Ö¨ůÚ#Š"Ţ}÷]Ž;Ƨź~ĘĚĚLRŁR©Đn·YZZ"›ÍňÓźţ˲xë­·’Şą\ŽĹĹEŇ˝ĽBžçńýďźď}ď{IŠ۶‰˘rąĚüü<ĂĂÇŢđU<ęçZ=Ř …Bń¤ô÷÷˛HÓď'^xá9Ţ˙Cţů?˙üłö?ň Ďřą+1FˇP(jBô“Ďçy饗řŹß˙O´ŰmÎ>ő ˙ú˙úżq\‡gž~†O?ý”b±ëş¬­­!‘üÁď˙xžÇňň2oĽůďüôΞ=ËÜÜĺr™µŐ*7oĚńŮgźQ­V9sć ×®]ă×ý×ůŮĎŢá{ßűoď«mI©Ę[+ …Bń¤Ű›Â>Íçs|ăođŤoĽńČÎ[S·^ˇP(Š']×9yň$ŽëňŐŻ~•fłAŁŃ Žbâ8&—ËQ­V‰˘ńńq˛™,ŐZ•V«…eY4MFGG™žž&—Ëńâ‹/bőňřľßM4ÉÇ1ögĆôô ¶ťBJyĎ? …BˇP(_”gŚBˇP(O0B,ËâÔÉ“LOĎN§©Őę8ŽĂńăÇIĄRT«Ut]gll MÓz• <�Nť:…mŰ=z”ĹĹE®]»Ćôô4ŽăP(ČĺrŚŽŽŇjµřůĎÎo˙öocšĘüP( …Bńd٬!…BˇP(žpt]çµ×ľ†m§°m›\. Ć'ĆŘŘŘ źĎŁë:íÖ ě”M˝^Ç0 ňą<ăcäóyľţő7iwÚĽňĘ˸i—S§OvŤ ĂŕâĹ Ľöú×® 4ţ¦¸3ŞtµBˇP(ľě(1FˇP(Š'MÓ¨ mVÎJţvÓ.ĺňf‡\ŻRFˇO¶Ą3ÝdĽĺĘÖJĹb7p†ĽýkżJ:ťNĽbTŘ‘ânŘ­ťlhߣÄ…BˇP<.(1FˇP( 5Ů%Žă‡ H¤ěNű%9Ł(R°ű´ÉÝ·÷«g VŃPâ‹BˇP(W”ŁP(Š-ÄR˛lýiŽ.4҆AÚ4şˇ»ÜO#h…9ËÄŃŤ: ʤ$–M´»<&Ĺnßnr\]×’˙ď—{)M©PÜą]n–­ďţí¤ěЇq,H‰S…b×vÇ„~›Ŕk˘ üůŠ'S”ŁP(Š-óFđď.]áßĎ^EC‚śeńÚč(˙řQ&ŇiLíNĹřşźi†żů*|ý˙ôÜSĽ6:†©ßíŕ&“É×^Ün¶řl˝ĘT&ͱ\S [îă çŔnŐ„Äq·b’®kÄqÄíŰ·©ŐjıěÝ-źŘeŰćkş®111A©TR“cĹĂ4‘{mY'Â-m}đo…âÁ!:Ň[Cb!•ŁP<!CÍÁťVbŚBˇP(6'ńtW¤ý(˘áĽudŚÇáŁŐu~4w›BĘâ›F0ßjÓ " ¶Éë`ëaS÷}ć[-b)i!í0Ä‹"Â8" fľŃ¦Fä-7Ť!4bSó}[m�FÝ;@+ YjwhiĂd"ăĆ’?ż5Çż»t…×Ɔůű33ś*fi‡·›-")J9Tś¦Đž¸°˝&¤}af7ćććř˝ßű=nܸAE[ŰĹ“ÜÁí†ađÝď~—ď~÷»¤Óiő0):š¦EˇJö«xx})`1¶c(1Fˇxrţ@‰1 …BˇŘsâţí©)^.óăąţĎŹ>áúFŤą°Ä/—Öh!Ĺ”Ĺß™çWŹLp»Ńäß^şĚŐúÓÂŹ#"wž8ćWođÎíůžcňÓGys|”«ő:pů*Wëc®Ă˙đôSdL‹^żÉ»‹‹l®aňňp™Ż ńłŰ 4€w—‰¤ŕť>Ćď_ľĘĄjŤXJ*ŽĂ?<yšç*ô'8Śi7ŹÝŢsůňe~𰸸HE‰Đr·ż†‡‡ůö·żŤă8čş®"ĹC뛺íşy‰v¶E…â÷¤ę(ŠŽc …B±ç$ľ†¬{«5b)Héď.,ńÇ×nQq^­đă[·ůŁë79’vůÉí~>żÄd6Ë‘ŚËß.Ż ÄHŢ_^ć?Ě^'cęś+ůd­ĘżżrŤ—‡Ę\XݞÚńxˇRa±ŐćĺU~xíoŽŹóĂk7Č[ż61Á‡«ë\©Öř•á!Î \ŞÖ9‘ËńŐ‘ ,ŻňWóKś*ä9S,đŃę:®®đüPA哹Ă=†î6‚ Š"˘8B]1%ŽAFŃ֬ބˇ#ČH@Ď“Ć÷}â8î}.¦Őj†Q/ *FĘ\.GłŮ" CâX⺆ˇ'ˇMqÜť\7 \×EÓ°öÇ1Íf“L&iDQ´%oE1AĐjµÉĺ˛[rŮH)ŮŘŘŔó<rąš¦%ÂQ†š&Đ´ÍP®ĺĺUrąl·Ľw»ă¤0MM˝&ß÷©V«är9R){ób%ąÍăkµÚhš`cŁA:í’ÉdˇaóŢlNă8fuu )»UŞLÓL¶×j5LÓ¤PČ?AbD˙şŁB+@‘JQ(JŚQ( ĹÁ™ź˙Ű{  AKF]—§Šyţvi••v‡˙é…§9S(É?»y›+µ ~ąĽF'ŠřGgŽs"—Ăđç·ć‰Ąä/n/ăÇo™âďMĺRµJ;ŚĐ…Ć·'Źp¶”瓵×61Ül4âHJ–Z®ÖšĽ1:ÂkcCT\›ąf‹?˝9Ç™bžŻŽ ń㹼(ćfŁÁDÚĺĚĺ+c•~ÚOP’Ě!f·\2�şk“=3‘wi^Ł˝PEFďÓ…§± š×–iÍ."ĂxË>â8ćúőÜşu‹rąD*•B×u\7Í… ©Őj‰řpěŘ BlŰf~~ž IĄR¤R)1M“JĄÂúú:…BŹ?ţ“'OpćĚi—¸uë““SĚĎĎ344„®ë|üńÇlll066ĆĚĚ kkk”Ëerą,ń?abb‚fł‰”’\.‡a|ňÉ'ĽôŇK´Z-Nś8ď{ܸqL&Ă_ýŐ»ĽőÖ[\˝z•7n066ĆéÓ§ŮŘŘ@Ó4ĆÇÇ9ţ<–e1;{•rąŚçyضÍĘĘ ĂĂC¬®®qćĚ|ßăłĎ.ŕyĺr™V«ĹÔÔµZŤL&CŁŃ`llŚ«WŻR*•đ<Ź řôÓO9~ü8KKKčşNÇhšĆÜÜ'Ož$źĎ=1bŚ[EĺŁ8QQµ3…BˇÄ…BˇP<ěÉpşcČq(Ů6ŻŤ ńT©ÄËk $¶¦÷ćĺHA(%˘÷9Chţk=ă5–ŔĐ4BSqRQŚGü›Kłüěö"“Ů ‘Ś0´î{G]‡ďť:Á{KK¬z-ţÍĄţß+Wů__>GËm@ăŐá!VOx|˛¶Î‡+ëüxn‘§oů—/źĂ5 ´Š,OäýÜs˛şs»fK˘ëdµšăâyq'űi^XŔË9¤¦K´®-[ĹĎói44 LÓDĘ®çI­VŁŃhŕű>A0==ÍĹ‹—HĄR¸®KµZĄÓéŕ8Ůl!ŤF€ŤŤ Čd2čşÁÚÚ:KKˡqţüy\×eee…ńńqňů<a2<<Ě|@§Óćřń¤Ó.SSS,,,P.—ń}ź••,Ë"źĎóńÇS©TźźÇ÷}�—žž&źĎQ(äY]M3>>ÎG}D˝^gllŚ\.—xŘ,//EőúétM6ę jµW®\áůçźç•W^áÂ… †W®\!Š"jµív›FŁÁĘĘ ­V‹őőuJĄ###�,,,0>>ÎÜÜů|ž—_~ů óŠŮ:A~đ%ŮŠ=Z›jkŹ`ŚR÷IńhĆ%Ć( …âQZFüă3§řÚčpw&łiҦÁŹnÍń|eó«ëT›‰´ËT.ĂŤF“ż»ÍíBž‹ŐZ7Ź‚s•®.óáĘގóÎíE6ü€˙ů…gř›ĹUҦÉ[c\©ŐąVo‚čVdšk6yşTd(eó˙\şĘş×aľŐAצ&¸Ýjňy­†A; y}l”šçń7™­×đăW w÷Lě…T¬43G'ét:Ôj5<Ďë +’j­ĆJ˝z‡ĹbI±X ›ÍB„ MLL†µZťv»ÍŘŘ(ívMŚŚ !¦iŕ8BD¸‰ă\.G&“¦P(`Ű6ą\–ĺĺeŽ=Ц ŁűąB!O*eS,™Ŕó:”J% ĂŔ0t*• ą\–őő*ŽăĎç±m›ŃŃ4M§Réz¬,//säȢ(ě 69&&Ć)•Št:ĘĺŮlŽl6CĄRauu•ééiÚí6…BĎóI9(ňäó9 CG×SŚŹŹ1??OÇLLŚÓl¶ C§X,öBĄt\ץX,&%Č'EĄR&ŠB2™,Ůl7dëË4áí š¦ÝEWĄĽoBÇ1QF¤jkZ€¬ü}[CŢwß1čńąë~vł¤ÓÓÝ×˝|~3öˇ}ţŽ÷c·ĎßëůÉ/řů‡ô}B%đU( ĹCŇXşy¶ŤĄ;ŢhôɆäÍń–:mţfa…wWH›ß9z„3Ą"–ˇ±ćuřéíy>[ŻuK` ‰&ŻŹŤp«Ńâťůy>^]#g™|kjś1×ĺĺá ?_Xä?Ě^Ă5 şN/¦¦!ĄäĎnŢ&c‚(櫣C<S*°ŇépŞXŕý•5ÚQČ?<u†ąV›wć—H˛†Éß9:IĆ´ÔdíFđ®+˛kÄjšNĘN‘Íf9{öl&đŮ… ¬ť˙`O‹Ĺu]Nś8ľiKzů_ş9Ov‘Ú™_Ąű™ÚĐÍĺŇ?ţ\.ÇĚĚô>—;ÓűĽ¤\.vŰoŻ-?űě3)p¶&€Ľ6ĄR‘‰‰ń-űťššbrr T*•äô…ĚĚezzjŕśwVůéçµBcll”Ńё߷˘ĂččČ–óú˛1žçqíÚ5Ž?®Ę¤+)q,ń|źv§C$ÍC#Ć|Ńą÷ˇ8Vş®Łkš®#z 7RČű4¤”ÝśgQDÜtżü2•Ëč!]Yí`Š(1FˇP(ž¤ÁĄo ő ąmYC p ťoNNp˘çD>·ÍÍfůŢÉăĽ62B; )X3ąEŰâéR‰ßyú,· \ÓÂÖ46‚€ăů,EŰâż9yś—†J´ŁŚip¦XŔ2tľ{|š‡ĘqLÎ2Ů –Íăđ['¦ye¸B#q ťél†×!oYü÷Oťb±ŐĆÖ5N˛ü“§NqłŃ –’ĽeqşXč…L©ÉÜ ÁşUŘű˝ťN۶iµ»ˇ2őz=Iô;77×kPbWł{ű$ú‹TşŮM,éŁëĐصŮMôx÷ ˙=_&!ĺÁL~cÚí6źţ9SSSčş®ÄĹ###–Wjdóë†q_ß˝uyWď—˝±y°żîz+­}n/ɰÜ}Ôß|mźůűŕ÷ß‹ăŘăřĹ€oEňZŻÂˇn¤]‹L:Eʲ»Ď{ďÝw;nK)‰Ą$ C<ßÇóÂX…ŃcÄŔŮí˛–śéĂÖGz•亡±JŚyhúÁČ$JŚQ(Š'F‰‘Ä€˝•'ˇíĂ…�K×9[*ňT©¸«)dj‚ÉLš#™LbôŤ&G7xŞXŕL±°Í@ěţ5â »Ł;Ś­#™4G2é-‡Ó˙î¬i1‘Î1Ť´©ńL©ÄÓĄž©*bNrś,äÎG*·ň} Ů˝­ę( Ń4‘$¸íçu±,‹‰ZŤ…ęĘ®BĚvѡ?ÉîW5ÜľßD»˛˘őĽ¤¶¶×Í Kwłźí•жKß[ça �J\¸łsůňe®]»Ć•+W8{ö¬ş(ŠG†ç…|ryťĺ†Ťˇ?¨•ňž"wFÄn Č@~4­ű‘ô#b@ü”;Bh;ú@)şůŰäĎĂm}ĄŘ˝—ŰXlůnϡuEfŰ2Ń„ ٤ęť-ÝürٌɉŁy&†r8N Ă0öS±vGQŇîxtB ÓÁDÇčźśÜS›ÚűöČ;¨K»ŚobŔÝGĆqWlbwuk»Ň»»É;+]ş®“ɤ»wF‚”ń@UA5Ć<.ă´c …≙u‹ä—†2Ţ&•ě>öď4{6ŤÁ˝Ţ%îřß@8‰ĽÓç¶Z+›Żi»î©í܇bö50vµ7zł”1ŤFŁ—Źd}}ťFŁeY,.-őĘXďnŃFQÄęę*qă8N’$wtt”Z­F˝^'“ÉÉd’ĐÇq°m»7éТjµĘęę*…BFى”03s”0 ń}?É)ÓÍc ëzŻ<ő¦đŇétX\\IJ¬¤őČČČ@ÉęŐj•8Ž1 l6Cą\NÂŞÔEőîUżD¸®ëřľŹmŰĘHńH"ÉFÓĂ®wĐĐJą”Ú¦ ł§0Đ ‰=ˇC ľă„;ń<Ůöş”Ý™XöĽjäÎ`» ĄDxµě)-őBź5 CŁRÎQ®1tťzmĄĄu:ľOK SǶş}tËit:aD!cbZš¦%ĎűÝxTĘ8&B:~Śž*ˇ™4!xŕJ˝‹Ól6Řh4pR)Â(BZOlŠ“Đ¨±±±Ţ7ö=nD/LW×tRN–(Ščt:x^a8)Ë2·Ś÷’Kq°(1FˇP(ž´‰¸”]ĎžVŃUdŻ’Ľă绫_ńS–w-üě%ËHvô Ľ;ÜÇL&K©T"Š»ÂJ«Ő˘Ýn“Ëĺ|˙ŽIűĄŞ=ĎŁV«áű>š¦%ešËĺ2kkk,,,ŕşnb$Z–EłŮ$“É$Ő…Â0¤Z­öňÎčDQÄňň2KKKhš†eYضM»Ý&›Í266–ä°,+©N”Ëĺ˘t:M˝^Çu]šÍ&žç%ąşÇě'ůiGÇ\»vŤ›7o2==ÍÇL*•âčŃŁęâ(IźůĹű„(É5){#;GĽîkÉH}ÇqSl&±JĆŮľGŚ –]o¤ď–[Gbąí3;žQ$šÜ&Ä 8€hšA©Xŕř±)ż”’ńń –mqýĆ<Apdláˇ<ÁíĹU–WÖŮhĆ´Ľ€lyďc”‚XjZ7GśĽĂâě§(Ž»}›«Wݞ±±Áđđ0aÝ1Iă8)~ó73©®÷ 菅ÝĹ‚lď%Q,i4[ܸqµµ5rą,GŽLP,1M¤¤ăy\ż~ťÉÉIŇé´z•ŁP(ŠGŁÄH˘8˘ć”,_J6|Ź‚mcô\—ŰQ€cX{1D±D×÷ë4ĐŹ\ŹbÉR«Íă`hÚľvS$cV:m2¦…kěĺĐÄacë:šĐÔtúFě~´;ćçç™96aIš8Ž©V«Ěo SÚą˙0 ‚�˲’ Ó41 FŁă8�‰Ó÷hé˙ŻiŮl·Sż<¶çy!H§Ó 'ž1¶măşnb�÷˝d„¤R)ňů<¦ia’Éd0Mł[zZëşôűľŹe™X–ňň>xt]çôéÓĚĚĚ Ąě†:(ŻĹ“2D†őr‚ČP›nhŹÜ·_O]¶(˝đ$Ů]ÎŘžąedŢ[ —[$¤E•M­]Ó®”źŮËWźéŁGÉç3–”’ˇJ–ĺĄ:ťC#cÔj b {^%÷šçEr0Ézű×¶R©$‹ ¶mŁëaQ.—±l<ÄĄďŃ9x}„ÄqLłŮä˝÷Ţ#źĎséŇE˛ŮL2ľůAŔĄK—ŘŘŘŕÖ­[ĽýöŰ*„I‰1 …Bˇx4ło%|ĽşĆccřQĚr»C,ˇęűä-‹wř•‘ÚaDŞ7‘m…>şĐw]Ş~ŔĄjť“ů,A€Žf3qL' q •އ­k¬u<†ś�)Ý`ÝëĆ ëĂŽÍůµu®Ő7xk|śůV‹‚máč:¦¦ŃCb`Í (§,ÚaĄiÜj6Yl­r¦PÄ1u‚(f4í`jŤ `ˇŐ!Ąi¬vÚhšĆ‰\Žv±îyä-‹”nP|жMŐóp őŽÇHÚĹ5Ś'·aě˘é®I+řŕłó\úü†aŕyş®Łé-±‡2hBvUşmŽě}Ä4ÍÄCƲ,,Ë"—Ëáy¶m“Ďç ĂnŮčţçú9t]'źĎăşn×°ô}4MGÓ42™ ©T*1T'ěş®oqsOĄR˝ĘG]#4 CŇé4RĘ^)k­çI†®ë(őŃo# Ĺaę"Ądo‘bŹÄ[›“ćmŻ$jƦ·‹Ř–4¤ëťŇëŚĺće_řônŮ+ůK’IFöť^/rŰ9ěxş)ĽÄ=Ů-_#Ĺ€0!D7ÔT×ôîáĹ˝ó–’8îţH 2î…ßlËçuŹJ¶6őî"Śçy´ŰmLÓL’‹ëş˛{m‡‡‡1-]×ðJ40}!ˇN‚ ŘĹŰF&ý¦®ëضµĺFQŔ/~ń Îť;§že%Ć( …âŃ!ĄdĄí!?ŠXétXíx2ĆĐ`±í±îyĚ5›XšÎR»Ăń\ŽËőß<r„HJ:qČŐŤÍ0Ŕ14ü8fÂu¸T­’3-ŰŞžĎ¨ëpłŃ `YŚąiŢ]Z"ŠŻOŚÉ ßg2“f±Ő¦áG\Ş®0™IÓ †]‡÷WV8žËňńę ĂNŠcą MŹŐŽGŐőąŃđ eŚ©Ă°“ć/—s~ĚR»Ť”?Šą±ŃŕHĆe¶¶ÁxÚáĂ•5ΖŠ\ÝŘ`ÂMăEyŰÂ5Ś^Ř–�ůdW':a­Ť0u:^‡ęň 2(9­é¸GK®Eűć*2ŠwěCÓ´-.Ń}ď�۶·ü'tprnš›qđ}Oš»1bu]ÇuÝ]_w]gǤJ 1 …bsşŰĎﲿ âc¤Ü+·_ÎPvCÝś09>$˝IţfżÚö´‚Íńjs·ÝĚjbS@Ů KŰÎL Cm 6âNĘÔćµÉyv÷! K+ ťäÔ™Ó %†©qűö*ľç…!ó +LŚŹ k×n.áů>¶ĄÓ=ęűuą}ř%ž›Í&sssT*Z­aâ8VŻ TµşŽ®‹<ĎŰ’đţ‹˘ë:•JeK>ť~5ĄL&ĂWľň•Ţ‚‡I±XHrŻőó´}ë[ߢ\.«‡Y‰1 …Bˇx”ÄB)ń˘NâE#®Ëű+«dLK×Yëx\XŻs$ăŇ FÜ×66đăKd ‹…V‹Élš‚mpµŢâh&M'ŚąŐ¨ňĘĐ0?mĚ“łr¬ű>AH&Ř,M§ś˛%ŘşNÁ˛9żVĄBĂŹ"®n4ĘféD!9ˢćÍfp “vâ:±Śůd˝JŢ28™Ď"Ąd&“ĺŐRšÎPĘÁéyé4ü´aŇ bn7ŰŘşÁ‡+kÉd(¦,Ţ]XfČIQHŮčr üç“ÜN:ÍëË]s/Š»BĚŕjjŃşµŽGawµö.D‘;ýwööĂI”óO•¦xxjĚ]·?Ř* ôšÁv){"ĚŢĺrş^$qRĹ$§˝$ľÚ^zßě^ e’vÇwöňcI)“&ąWr~ą)ň9XŞş7vÄ’Z­ÉĹK×(sčşN«Ůbaq•(Š–Wk¬×›hBŕ!RĆ€~ho˙ŢĄÓéÄ#&›Í}ď0 qśabŰ6©TjÓsćC?¬wł-‰^Č®®ws×čz?tJO"*• Ĺb1©f¨PbŚBˇP(!5?ä?Í^'o›¤tťĹV‹ŤŔC &&mčBK†şůWD7ÜČď0šNńW‹KXBă;ÓGĐ…ĆXÚa®Ů"k¤ ťWÖ8‘ĎsłŮŕr­ŽchŘ†Ž††Db !‘ i!9Ë$eŚ8)2¦Ž.tţfi™r*…Ąël]#kYÜj´sjľŹ®éHŕzىŁ l]Ç1 µL~ą˛ÂÉ|f'ŕT1ÇOo/đt©ČŐúF/Üęáş9?ô Ç®ńŘ=ęŮę[ܬ{«˘Q÷šičWwxČ%ˇŠý&L Ĺ#Őmî”p…­aAbŔ»ełHőV}%–r—†Ý-»űęČ­#Y/„H|nđ d?ďöDľńnĎXßÓfŰq&˘L·Z“„,,¬˛¶Vë…ěDÝrĎ=‚0" ٤:”ŘötHŮ;„R`í’uřA÷I»UBě†őšd2F’tľż˝˙™) )”ŁP(Š/bLč:˙Ý™ý…04 ’’ŻŤŤ˘Ď”J ᕡáÍAřµ#ăÝŐ8!xk|śXĆ<S*!�SÓ¤4Ζ 8¦ÁoLO!č&ů=W)v]®č˝r›:đ\ĄŚ”’#ą4Q,ŃčBă™R‰ä·ŽĎl BCđí©ÉÄŘíË'¦¦1á�� �IDATˇ_ݲ:.€™|6Y]˝íxŞXD‚ŠcóÂP©·í‰őŃ4Ť'NđúëŻsűöm˘(JĘ:ws%ě–°çEÔ{M×u^}őU2™ŚJ¸ŞP(ž(ᥟ |W79 ] EJdâĺ÷úŘľâŃ•6ú^1[ĄoöÄ~7Ńdz ,ýJM›BŠŘq|RöňĹČÍ>pŇĄ˘{ůezÇ.·)3I$žďwË0ýTú[Ľ:Žý‹Č»]ő~)çÝĘ{†Ý‹`rç÷>:1¸” ­Ä…BˇPrt!Đ· Ř÷:š`»Kq,»BĎh:…Ąkű–ž,żŮUv6»—vcĂĽCDS �=z”ßýÝßí–ç IÚĹ`Ý^͡źtwzzzĎÜ, ĹžK)ŐĹPěÄWö… ą™·źde›÷Ë–ńN”’îWJúzyX6ß&{ĺšă$Ź‹tE!{ž¬»Ë˘'uh‰83P;IţŰ;†^b˙x ąo˙˙AµŁV%]ydw1gó{%ÝÚščîCëeŢ)Éä|¤† v»ÍĄK—'“É$Uü<Ď#Š˘$ˇ|?໦iĘ{DˇÄ…BˇP<ľčš`2ă&ÉŹÝ!`||śŃŃŃűŢKż*‘š$+&Iĺ—8&Ž»“S…â�Z^R Iěxe°uâÜBß71Kf· v›e§ăž—J$%qĽ)”@O„]QfËqôrĹ1ŕiŇl´%DĘľďĘf˛Ţţ÷Ų[ő(îUL¬aÝÄ´ľ3¸ź3F“˝$Ă˝p% ”˝đgŃKÜ–zףúôŕ’ď şŐňŢ}÷]f¦Ź%ůSç˙gďÍ‚$»îóÎß9wÍĄ˛2««z_Ş»±@$h"i‘”†¶¬±fB!YŠp8&Âáe†Šˇ,Sv„Í šy°Â/~r8b&‡g(CâČ#)(‚¶( +Et赺kËő®çĚĂ]ňfVVٍę®ĎG6Ş*—›7Ď=÷ÜsľűýżŻFš¦ôú}Z­ŁáŃh„R óí6gĎžăČ‘ĂF]bpÇaČ]™�™IĚÁFQZdîěűńFLŁš±Ç`ď ¨üźÜţX¦ UÖ%K2ńR=ąů fgLh”Ö!ŁĹ–——†ľU…Ś.b˛s©Î<˝TˇĚ©l{s]1"<7đŐrjłOQB焌žü>ůvdľ-INú(Đr{]ܰÉö?˙©w7ŔPJɱcÇR2 iµZAHŚ˘$N°m‡4„áĘ KKK,--šëźÁ‡!c Ć>/e<ęgÇ Ťq*‡(¤ě{µLÖĂĂÜýŽČ™"VÄÄP9&*ćÁRx¶(­QŞ(ŇcBDgţjŐŹ+U+‚˛ěGŤ–c‚¤ZBUl_kAŠ.=bT• ©8řNŞX˛˙ü“¨Ľ¦P÷LN"÷o‘ą˘§š:U”PéÝÍ0ô}ź/|á %I›)6ÉS›@ś*ŇĄý\-cĽÎ î c``````@Ą¬\ G)JŤ'ŐŰ*Č«·D)ť#­)ó;§w°zĨ# ö¶¤MëŮżWÓ¬‹°ˇLĄ˘ÇĺB ŇâĹŞř‘:™I~áß•m»đ‰IóŤ‰)KćCS)‡R˘¤WÔ„‘oĹpXŹÉY!Ź*aPhtfć›ď¦Ě÷ł(źBé’zş0Iٵµkĺ­–eÝ–wYńÚp ©úµ|4`ČúÝ·_íŤŇRĆľł” UN°A}ÎĆődůŘvěí&“·3Ů4Ţ4w}\%}‡Ö˘|NTX=sDŐĄoVšT(c&Ťu‹—ľ0…Inž^Ťz¬„AŁ•)dL)_(U7j&?ŻęQśmC”ץN©Ľ dţýµ%łżÇ×1Ńjĺvy,/ĘĹDĆwő›Ěúąă­Ďü;߆ŘŇ{vÜ×rĹ”ÁG†Ś1000000 ‰*-5ňĄä}§ňq­5:™,ţOÓ”8Ž‘R2Ťđ<ĄZkjµÚDĨĘo g±Ú˛¬ÝO’۶ËT§ę{Ň4%I¤”¸®kîě=ů2-o©/TČ“±¸DĎ|oîś•e#mZI3RR˝•t.*ÄŚČMweˇLAB„*ěłÇ”Ră%=eęËd)ŃY ňŇ"]ˇ*¤˝¨>‘łDRe„Lń}…Î ·«ŞËěĺ»K0řľ‡çyH)>BýŇTŃď÷ !cČŹŠĚÓÜ źL‹ń´{ëäM¨#Ö˘5ęÔ9ŞkĺÔ])Ĺęę—/_¦V«‘$IIş¸®Ë‘#‡ËŘQ˲X__GJIĹ� ‡#lۢŰíŇl6éőz´Űmâ8ćСCôz=Ň4%MSlŰćÔ©“†Ś100ŘýE0”ľ*Ő…ńäHýWU^[}ŤŘŽÔ)•‚)J“Ô,Qz*3[1×é" c\ť)R„hBj„Ξ/”¬4)Sͨę~Šń÷,˙`ś|E¬vu7ň«CA •l”Čů©Ü;Lg%K˛ŇÓQ×ĺç~hÂ"ó‚ÉR”ä»&lŽ˝@'YsHŽ„…†Äłұ°,›4ŤŚ2Ô1ťGq4#L†Ă>Žmăyţ¶Z…bEŻń\úIĎsź>\>!ďĽó.WŻ^Á÷kś={– .`YI’ŕ86ŁŃŤŤ Ξ=Ë`0Ŕ¶m67»\ĽřçĎźçĺ—_¦Ńh0??Ď`0`}}ĄĄ%^|ń%†Ă!išrčĐ!šÍ&'Ož0ÇĐŔŔ`)™b±/&üN ˇH"*ÓŠň˛1•˛´ť·ą.U1b\ŞT)-*>އ."¤äéEY©ą˘FP1™:¦ŘDާ• 6¤ü^żŻÂŚćVm’ÇB)ÔČ|[Jdż——üł˛ÍŠmČ­¬ŠKVAŘŹË–ĆĘJČüe gúXH)﩯Ұ>Hů8âů !ŁXŃ®ŰÜ{Äa±)9·hńŕQÇfŹÚĚŔ1ww±ˇQv» .˝ß^D,,!¤FY)ł4 !©˘˛nőKjo„ĚĐ·Vó°m‹FŁĆőëר×}l;›z´Z-ćççYXXŔ¶m”R\»v !$Žă°¶¶FEś>}ŠFŁN‡X–͡C.]z—8ń<ß÷ËɶÁďĆśŇ`_÷OĘéBQ"*ąŞBÄž/UŇBTů ÄťAi¤[ÄY—ž.Z§Ýiˇ =Lfś›'Q3…JEŤ•-…Li\GąçWFÄl-J­şŞL¤Fĺż 1Eb©˛§ś”)“”rr'SđLXřî>Áˇ«««\şt‰v»ŤĎóđ}ź7näŠĘSlnn"Ą¤ßďcYsssܸqĄĄ%ŤFyÍÚK±ćĎŢ řżźďqłź˘´ä|Ęăo>VĂuúĆv]pzÁ1'˘!c >Ş„LsťŤĽ„x÷]úíaÝ%ö-R­ŃžŹíŐp<Ysą&7x>yŹ·¦SďL,˘}ßçÁäţűďx_ĎăÇŹÓn·±,›ĄĄ.?řÁ¸çžó|ěc!ĄäôéÓ!p‡§žzŠ8ÎĽd,ËF)CĆ|P|¦iĘh4˘Ńhăj°ß†Č˛śhŇX7K0Ňj\ 4V.L‘Śš‰Hv]’rBŁ”Ę+GÇŢ-eś{%UI‰ÂŔ·`CĆBG1A$鱟Mnš;ÄÓyuR5'‰’Š©č*DŤČö-gj´`¬®)ÎÉ"ĆÜŠ2ŘzĽM˝7ăIQ"ë8.««k4)ď˝w)/‡ŐÔë úý~YV;?ßââĹw8yň/^äÜąsĚÍÍÝ‘®u˝›&+@%iIj.řŽähK˛>Pś^0§ !c >Ş«aZťCű˘7?OśĆ¬D×xă\źÖ…~ěăQcŢęd­ĆˇĂÇ86lă9Ţ„2(eŢZkšÍćÄ$yz‘íy®ëĐh48zô0BŇČ×qĆw-ËÂ÷)—B8fŃţÂp8ä»ßý.źűÜçpsl î>S–˛ädLa€+Ęç3>AiMŞ2RfěÁRŚ{•l%1Yč”oĄ4íUZ•ę›1ß3vk) ÍĄô±Ń9ÓSú·Ě4wˆĘv«¤Đňh˛”h “¤ÇĆĽşđ†A$ĺŘ@XëÜô·(y•Ҩr_÷†Śń<Źĺĺejµ:ľďă8ŤFŁôB”Ş™z˝N˝^çčŃŁ(•˘”*Ż?{ KÂ#'ž»hg¦ÍJóꥀóK.ľ“pm-ŕÉ{çţ™”űĆ˙ŞDĄ˛ś3ü$Ťů†Ś1000000(çŮ˝~ŹŐÁ€@H67n°Öx[_ágüe<ĺŃ©/pϱ±=ŹKú&‚÷8ĺśëW'^Őß ¦XŘLO¸Šż-K`YrË6¦_7ýYŰ=>ëďęk§›H<™Aě”Rܸq••VVV8~ü¸i»>.d‰ÎŐ EůPa®[%cĘHęŞ:F4ĚXŮ2IÄ0áá˘*ĆÓdL9–R$'&ĽĹřĄ**śj2Ň8ÖşJ UźŻ>˘g(x ç9Ů#Šń3'x”ŇIŢ^…%Í´mďŚŮe¸®ËáĂ™—ŮÜ\vC`~~>?â–¤Áâââ{\[đä9ź†+xíJD€-5Ż^Qwźş·ÉbÓ:ا‘ÖÄqLżßgss“n·Kšf†ý¶mÓhĚ1??OÇĽţúëĽů曼ű®®2¨×ë:tÓ§Os˙ý÷óŘcʱ°p°ĺB†Ś1000000@�©JąřÎ_ňĂĽ„R ˘n±ţ€Ă⺏çĎłmp˛µŔ|뽤Ď_ňGzsj.l!=”Rôz= S˝lnnâ8ív›~żO·ŰĄŐjQŻ×QJ•Ö…BRŠ~żOżß§ŃhRJ:TŢaÓZ—ńÖE$ö´ébš¦ôz=,Ë"Š"Â0¤Óé0Ťp]ß÷ąyó&ťN‡0 év»!p]—N§3ˇĘ1ŘŰÉşÖšőőu®^˝Ę`00‰!ű¦oRĆMgD‰ŇL¤ž2©Ňĺď…J•‡3^&ȱaďŘ`W”ę=5bâ•óŠŮÚďŃz’řŃł©‘“Ű‘×UâZŠ1‘S5–yŞRő#˛R&˝g$Ç´ićµNŔű%7ÝiX�¶<xÜăüa·‹ž ß‘yL÷Á“$áʕ˼ňĘËŁÁ€••â8˛DEĄ4oĽů&ď˝w‰v»ëş[®ĺĹ|ŕťwŢáŮgźŕńÇç‹_ü"Ź>ú¨!c .Ň4ĺ˝+—ęAAÓćfÍăÓĂűąçĐ˝ôF=ÚÍnF«<{ůżpá̀όÎâ´ěmU)I’0 ŘÜÜ,eŕĂáĎóŘŘŘ`uu×uŃZÓjµp‡ đ}ĄÁ€7n”)Lý~źN§Ăćć&h­q×u ‚€FŁÁˇC‡J´ëş!ă(ŠĘ&Čaçy ‡C˘(b4Ç1Zkęő:sssĄśÝ`ďĽ?úŃŹxóÍ7±m›^xˇ,300¸;ťrěCA(=6č­.:/1JőX)źČ$ĹĘ[0& Âc’“ž4ůďşJč)ĺĘ-Hť«rJ•Ę Ë\]ő†)M /§­ž1Šr¤âź,AĹź&7ň%…tË}ÝŤqDĺîÉmÜv$8î,ŞFĎL}:Hs‹Ë—Żđă˙×±óřqßlnnňüóßçŇĺË–´üZY¶ü~xá…xá…xüńÇůŐ_ýUNś8XÉŠ†Ś1000000ȦČRśŇD§ZzČČŹĆ›\J/Ń]Ů�Żő^cŐîq}°‚Zm0ě-rÝľĆňás“ÓÇÜď%I’$ˇÝnÓëőHÓ¬_Q5§Nť"Š"lŰžPĽf®µZŤ hµZ¬ŻŻ—D‹)eI°H) Ă$I&ďÜJ‰mŰÄqŚeY ćććp‡(О ‘mO;…b§ř˝‡”’x€x`˘ÜýÁq¬Ś)JŠ´¤*™’ęq‰’šd*}ylú;±`ŐŐR¤qÉ’.Ę•&„Eć·"Dc]ĽĆ9S%m s_QUČJ¦ţ_e TI×L«c˛mIDFé"U©š¨¤Kł_Qm×=8˝‹ëÂ^ř˝Ü}2ä`އZkFŁ!Ř–c;X–Ĺ…‹oóÝżx­Çg‹¶2ňćvŰú…^ŕĹ_äďüťżĂĎţěĎ2ĆŔŔŔŔ`› ©Y\|´ŽçT ýA^q¶ďRK|ZŮ„}(Ž`”&ŮÝX©i*wá4"µXkô!ľHkŘâ¸hLLľŇ4%Ié÷ű?~śz˝ŽeYôz=Ž=JE$IBłŮ,‰“z˝^–*u:™\ąŃh09qâ¶m377‡çy%©cYVůž,ei<O’¤$bZ­®ë˛°°ŔúúzYŢtčĐ!Z­–e•*×uń<Ďtó;yFUH´Ź&#*AÇb_¶˝ÁV.&3ë÷ëDU1Ç-/üdŇ w"©(cf¨K˛ÔčqI’Ňc%KY~¤E-­EFŚČ˘éqŚuF„K,K ĄŔ¶,ę5—šďŕşҲ¨ű6¶-Ůرş1dŁDié3ŃCuůc’¦bĽ[ôh•c’!óHëüA•ç( @’3IbWĎ„±]ÎŘ,vZÝ86ĄĽvL“łÎ‡»ŽLeLaĐ›±e}úŻĽĚkŻ˝6îmşŇŃ> ”Rü›óoX]]ĺ—ů— c````0uArlp]ŤLc컇-ţę±ĎĹ1J+D5Ő ŹT•ů¤Zi…@`Ë,^Úu˝‰I””’N§SţÝhډšZ­†ďűe‚Ĺv“]!ŤFŁ|ouľďăg‘JčYf۶9räČ–ď\;iO†¸“äĚľ€ë"ň«!e¦ĆFÍD”u‘r”/"¦0ő-«ĺńđ¨f/$+&čĹgdcłŢf-®(ÚMŹ#‡çi4|jľKÍwiÔ<ĎÎ|¸l‰ď9x®…mK,iá:– F!ÝAÄF7ŕĆÚ€őnŔz7`8  Qś’$)išďEŐXlŤbĘ”< e%ú»ZęU1’g÷ϦńF»Ý.ׯ_Dz¬’\‚×uév»DQL«ŐÂó\!¶ťöýţ€ZÍg0°´´XŢ ŘKŢiiš–ĘâšVÜÄ8¨R–7O�^yĺ^ýő-ž0E_˙°‰JßřĆ7�!cČ;·ş@4š¤K‡±77M{ě»Eˇ’Fmކ?işXL’D•ZYZT}>Čb»ją xcřj`pűH—#šM„e™Ć`’ű/ŠÇŢ1…gLŞ™đaQŞx˝0ÔU#í6cT}ť—üPń]©4ş|©@0ÂÓ]"áÜ‘“9Öaˇ=‡ë8X¶…eI¤ŞúCŹŔóó5Ž“+^ňň«0J¸ąŃçĘJźwŻlrmĄÇzoHkŇT‘¦ UFwW}LtiŘ›Ą'em µČʶdfę;Áśä¤Î^ŤÚRJ®_żN­V#Š"ćććĂz˝Á•+W8|ř0++׉ă­5¶m3 ‘R–eµµZFüď%R$ %I‚ëşÄqś§ eţfQŃn·,!cŰ6GŹĄŮlňü€W_}uËő:KS(!©ŐjšüúĆ7ľÁˇC‡ö}É’!c î,Ű&iµďąëĘeDPťÜeČ,›Y1qÔĹ„ť0ˇ¦92^¶’¨ą=rf7ď8š»úű}q/&—úÜUuŚ”hß'ľ÷^ä|;űű#["öÁ 4¤yTłŞ$*Ąšś|©¤iň˛%56đ%+ËŐ‘3÷y)z€‚FݧŐpi4\ćç|‚ !ŇD‘*Ew˛˛6,˝W¤Ö$*euuŤÍőĽőŁ·ń\żćŃškŇYhł´ŘáčŃ#>ĽČÜ\Ë’ tYb¤«N1"«&ň|‹c‡[>4ÇĂ÷!ŠR‚0a0Šč÷CV7FÜXrýfŹëC†Ă4U Ŕηˇ‹ä¦Ľ=„©«ľ7˘ôŃ™e&Ľ[ׂFŁÁăŹ?N’$8ŽS–ˇÚ¶ÍéÓ'q—4MĂ$I"SIĺŻ7o®ŇjÍoQpěŇ4ĹuÝ<ćąÁ`0"I2ϲ0ډăôŔ’1EÉqaĚ^”íZMŹ’–,Ť÷?,ţíżý·Ü˙ýűÚÔ×1wčB„ea5›$Ź<B´ąűŇKS®d°O`9`9‚(¨”űÜĆSH°lA¦´7 9;6şŽ{á~%&"§L\ďö®yá#Ź’|ěaÜZ-7‚5çoĄS•ÉHBjěgaâ[¨U2µH®QYz`YוxŽŤëZŘ–M«éŇnŐ¨Ő\:­őšC˝fSóm\Gâ:’8ÉT(IŞP©âő·oňźżs•VK2˘F%1a1�ëpUÜŔ±-<ߣŮlĐškŇnĎqřČKK‡XčĚăű.őz ۶ÇdCNY–Ŕ˛ŔŢî;ĺ‚Y)E+Â(a0ŠéöCşý€k7z¬m¬oă0ĚĘ›´Rc3_-Ń•ľ/JUŃŢô7Ąa˘µ¦V«•ßQNŽY¬r˝^Ëă•Uyýł,‹Ă‡—z˝>®ëbY˛4u/^kŰŮrşjźµSŚçy%7“*'] űEŃ„J¦:‡´¬}^Z–ĹóĎ?_~źâ;OŹŮ¶Dişüű˙ďůęWżjČCČdé2,"úŮ/’ś<…űúkX×®e–ň>ŮĚĄn>y)ó%ÇŻßćĆę–íM˝N†‚bĆÂAÜbĆ«Š÷ÝŢm}F.kžŢçYŹmůŚ]\ŘĽßöŠçK)6šT+HR@ —TkHÓq$¨Ř2żżĄŹóű=żĂ5ĶĺýĹd°¨KOÓ„úśÍ}ʶ ’¬‘Ĺm¬uv7k~ÁˇHSS*d°÷ČJ&&˝ö/“Ý˙×® ŮâݤÂB‹©ä1E6Ýr ť>QߏěÉMÇĄD;NřŔ¨űîÇi6±,)˛2sW›:÷‰AŁt5ňYb[dĺB2#±¤-±- KJ\ϱ-:ó>‡—ć8Ô©st±I«éăçţ-ŮŔ¬P:…4Íť—kh™Z#„ĹĘzKĘĽĎW8ľ‰řë|ʵ&Śał±ŃÍćR"- DZé´[ś<u„sgOł´´HŁQÇu]\7SŹĺMlY( <ĎÂu-ćG—e˙NŇ”ţ0äÚJŹKW»üřť›\»Ń+Ż•jŠ,ÍJľDŮĆ»Ýë”Rôz=úý>¶mS«e„Kh­óźăů١C‹t»›ÄqR>fŰ6JeÄ’çą4›™‘ĽmŰe2 eYĚÍÍqýúőňűĹqŚ”ăr›FŁQĂűľO„aH­VŁÓéP«e¤XŻ×c0EB\×AA«Ő*IźŠţđ‡\¸pa‹/Ü,Ňf7ń /đňË/ó裏2ĆŔŔŔŔ2Űó¶Mňř y4» €?ýłÎ*–8>™ĄâĆććÄÄr7Č•CĘd}ď–+Ĺ,—C‚;§ßg17kq—m|„¦ܑє§ŔŇŔŮsxżńż�ý»ô  ¤Ŕ˛mlÇÁsś,U,_|›3xň)5&`t®tńm‡fłĆb§Nk®ĆŇBfÓĂ÷l<϶$®K©fČC˛¶ ©JPq…8«ÝŢ-Q† aÓžob[ŕŘ‚(®ĺÉNZWłgÁTe*š4IX‰bn®®óÚk?Ć÷=ęő:ľď˛°Đâř±#ś>u‚…CťĽ\dLn$I’'ĄFłyöiŞojšçxNĘúć L˛˛*U|˙,HIçž1J妿»<˛,‹N§ĂÜÜ\N$eÉyŤFŁô+IÓ4WhdĆŐŽc#ĄdĎIKĹw. ĺ'IĄLS”ÂTÉá‚Xp]·l»bŠç‹Ďp‡N§S*bĆź!°íďĺô­o}«l÷Y*Ćâ±B1óŐŻ~۶ů×˙ú_Óëő>Ôg˙ń˙±!c ÉĘü®‹ÎgS…Ęb'érvw“3Á6000řɆ`\¤ĄU˙LÂ÷–Ou8wĎYÚó jľEłááű6¶“•9¶Ä˛s剨\oµš(Ë)Ó–”&Iâ8f4Š GôűCş›}ÖÖ»ÜX]çúő5Vn®2Śxŕľ“üżţß!eöĄĘ¤b,\n˝…™^ü*@§™'ŽFŁőő.¶mqőę .\¸Â‹µ×8ł|‚űî[Ć’˛$'Šífj‘¸ü>Qˇ”Ę|YdVöŁQIŁ4JhˇRVb°§Qíz_Ďóđ<o˘=¶ëçŮk< ĺŞÚ®úűvĘŤr>·ÍľďŰn_ŠsĐuÝmöíŕbmmŤ_|ń}żS•ČĘ|}Nó•Ż|…őŻţŐ‡"d^xáÖÖÖXXX0dŚA˶‘zrâ´“ Án,V͵ćÖhÔ\ž|â,>tĎu¤EĘŘü6[D¦$©F«Ěë%NR’$S¶ÄqÂp8b4 čő‡¬ŻwYßčrĺę ®]_çĘŐ¬­oŇë ŁT)@g‘Ôž`XÂ.•6Zi@ŤŻ•¤ĄI‚f’PĄL(<P’$%IFچ#ş¶Ks®ÎĆfˇq„!q^>$1 q×u˛rkĎĄÝ>„çş(ĺ©S¬Ě#FĺÜ”¤^ÜWşŰýPĚ<?ŞżĎšŁí&Q˛Ý¶t^ŞxPýś^z饙„KµoĎĹqLüŢďý_ýáę\é�� �IDATęW9yň$żńżÁďýŢď±9#‰TTj;…Řľ˝řâ÷ůŮżúłYYˇŘýÍ1űn2ü~dŚIą00000Ř­…žąžě ÝČĽ‰’TÎ|–’PPAÄĆFŹ«×nđöŰ—xçŇUŢyç ë›}ú˝!Af欹)o”¦aQđ':3˛¤@ëlé1*UH)°-™'B—5IŚą]ţśĄŚ)ŽwUU]ŹM|©NŃ*% †ô6n"„ım<+3’u ËöBcI iI@"„Äul„Äń¸[kA*téŁ!cfň%˝Çˇb;éç;9ŞíVĚÇn÷şŐëĹ”_TŃ,™Ź“>°ç7ß|s‚śîźĹĎ4MY__'F¸®Ë?úGżÉżřżĂ™3gř˙ŕđőŻ˙s666Ćýą raD]<NĺŘ!řţ÷żĎ“źú$žçcŰYÍ c````°ó ĂnËUÍdÜŔŔŔ`÷ĆÓýZR`ĆúHĆhŤR)a¨Ž67zllöŘÜěłş¶ÁúFŹŐ›ë¬otY[Ű ×1 "‚ "#Â(Ěʞ¦l›oŤČŚęőô±ĘŠŽFaL˘Tćµ"Ƒѓ¤‹fÖZ˝Şŕ™î›Ő›;Ó(™?LJYjM$Üdţ7cÓbQa’t¬Ę‰cMŞD©Ö:KRJg/´$30ÖeâµŘĹă6ŤX]]enn®LWŞ×ë$I2Q$ĄäĆŤ›xž‡ďű8ŽM†Ř¶ŤeYDQDżßÇ÷},ËÂ÷}ęőú.ö±ěç{)—×S‚(E#p,AÓÜsءéÜó÷ÝwßE)5á3TíSE2Uš¦ąůqvüVV®ó[˙č7ůÝ˙őcyy™öĎţ9żýŰ_cc}}‚Á*Ę/'ÔCSę—˙ú_˙ çΞÁqś2>ü§?óYÇ1dŚÁ­'Íw+)DoI?0Î3{ŃĆfˇd``ý‡8Žąpáożs•őő V×6¸vý&×WÖ¸ą¶ÉĆFŹ(LPiF0d ĚÂŇML”2Q<NŐř]”ĬK€Ö„i˘n¦Ś) –\i˘őX3&`¶^łÇżÎîŁEąRöÚĽJ)<ßGN)iD%ְꋌBüşÂâT‘*ť•&ĺeUBČ á"(P2+eÚĺSGkÍÍ›7ąqăAÇ1ÝnĎó‰ăfł‰ď{DQÄÂÂWŻ^ËS•!„.S«”Jév»APĆbßsĎ=eRŇn@i¸Ľó|wŔ÷.†aĘńŽÍOź«ŃiHÖ‡)式ośyBš¦$qĚ(qńâEÖÖVév»Äq\Ž—"?!4Y_ËŇ©$–´Ę¶ÝŘÜäk_ű-~÷w3Bćé§źćk_űmÖ×WÇÝyV ÜÄC‚ŐŐU677°mÇqŤ’$6dŚÁö ô;±Í[KfljŐ$…ڤ™uŐ»UÄęvYÉł·¸şęĘóŐźĚرÍďŰmóVßeÖçÝî÷ťÜź±d7ź®›…ÜĚ>hĚE B?•ą\ľš˛®%ćÜůŕ ţż?ůsľ˙Ă1Ů5QŚiX¸‡môu…5Rh„ –+@ ŇP!ÔÉ\`¦n´TJ‹¶ccÂ0$ISjRŕز\}jµ•XŃy,vőR2MÂTýc¶ľwż—=ť‘>ČlŃ<íYR¨hâ8‹îőG4ç ť‘1J#ČJ±¤P(kr+ZkҢÖj9ĄŤFfł‰‚(Š�›k†!®ëŃhÔčőz8ŽĂŇŇ"ŽăŇínŇlÎáű5’$Ąßďăş>ss­Ś(°¬r›»… ŃüŮ[!ßykÄú0­ř»?3Ď_{¤Ž-áĎŢri-ážĂÎľ=W¦ç/˝^—7ß|·Ţ|ťýč-Â0$ ’8* ›‹k»˶¨ůµÜ:WÍäý°ŰíňO˙éoóôÓżËéÓgřú×˙9_ůĘ˙Ľ 39·dfĺišRŻ×qX–M’¤w}Ś4dŚÁOĐbáLfâ8Î&9c°ű ¸ânj1q6k§jewi“$%MŐ‡ęĎ{ )%¶măyŽăÜő~z;źo äg·źë»´ÎŐ8rz·aă/Řř –+q›.מ_Çöm´R´NÔq6—ľłĘĺďÜ$ĄcäV,`¦Ź†ŇYRQ’$¶-ËçcÜ _]%aĆdőłýÍJµ‚eIFAŔĆzšyÂhĐ©BH‰´$Zé,"]ĘÜPXÓiwĘňź0J2oť)idNHIHPąľF+ŤŞDsďVť’˘Śµ¶, ­5ťNg˘Ń-K2??ŹÖ:Ź›?~´˛#şś÷T㪠…Ě´ ň=oŞqH¦� ©VxR` M§Ŕţ$c ăÝ7V¸vý*«««¬­®2ö FB€ë8Ř–…Ş×Çť´rłEVoĽ%qÜŞOm۲(WĘă˛ôRiY8ŽWŮgE·»I­Vöď%bČm‰ ‚`ËdäĂLÔ§·ń“vç¶PůľO­–Ő¦W'wăv2¤LµÍ’$!BˇY0Ţčô]NٰŘy_Ťă4Mń}ĎóĆƨwi‘´“óŨňfCJAk®AËŻqěsm,ÇBŘ`×’0Áťs9öd‡ZËcă˝>"…ţŐ!˝«TŞ&Çô[ť>zűăF1I’äDźś$Zr_™1µ2ťĐ8ţ�=áIłą¨xŇض…%%*ÍJG¤%ą2IJ-lŰ*Ë—Š÷%©]öł8É˝`”FUm<´F(BĺŢ1y™Ň­›âˇßďÇqyŤu§Św]­5¶m“¦)…ZµÚöYuFv ‡C”RÔj5|ßg4ĘLfă8;>…NkŤçyÔëőmc°·,Č%üÔi‡—ßsyűFZňĂË!Ççmš®&RŽÍűűö<IÓ”••žűŢwąyóIśdT›!ń<ź0 ‘y{l%YŞäŕV˘p~~žßůť§9}ú —.˝Ç׿ţu ŐË4 # ?#!'2ĎË$Ióľ`ăyţ]ż®2ĆŔŔŔŔ`ö0 wťůI_@mY«ůĚÍ5·Ô*Wď¶ý¤/~«“â")Áq˛ZM㵳‡}túŻ!bnżď¦iĘh4Ŕ÷ďŢ„§ź»1˝ 2FŇš«“\H­Ô:uęm·a3\W¨8%¸qńŻqăőM˘ő•P3ÚR–Ľ;?VZk˘8! ¤8ŽŤV”Jť“,ɱU3Ířlś'"†ضMgˇĹ\ÝÚŃţfĄ@1ľŇ91“{Ćţ3˛H‚ˇu¶hF€TTE·»iŕ+„Ŕqúý>Zkęő:qŁrĄŽă0 Bć7J<â8.ßkYĂáŃhTŞY…¤iJ†ŚF#Ň4-/J·<ĎŰ1ăÚ‚GNzüÓżfsŁ—’&ŤB…cÁç¬ă9’ý§T1/Ľ“·XҶ˛›MµZŤ0+J©ľÄ¤zLO1O?ý»ś9łĚĄKďńµŻ}ŤőőµqO)U0)d¦Ü’r|ľĺ˘«fłI'lln27×â§?óťNgÇÇČ1w I’†á– Ű´zăĂLŠß‹m~Ô|ŮMăş6ó󭙲XS&0Ů‹ü.e˝^CkĹĆĆ& w­_dĂß÷ )¸KÄV%‘x`ŽőV2¦Ůl˘đç|ü¶Çú…:҄ÛIOsóµÁZ©`KNsaPz[M+J#`•fĄJBdĄCeąąŁ·/[1Ĺ:©şÜnÜĚĚTS’8¬[÷ť•EqĚ`ÓlĄyrNć]٧ĆuĄň±J_­Ô¸}vi(·,‹ůůy�Z­ÖÄ~OĎC˛çE™Uő×b\ĘT1ŐmlGl}E\§!™ŻÉ-nt–%¶U3í—qĂó<DEĺ¤TJ’(PŻ7XYą1s|GQO&! óíy~çwŞDĚoł±±˛ô“)Ę‘dYŢ$¦M'H!yőŐ×HŇ”'žx‚ĹĹĹ»ŞZ4dŚÁ¶ áBv;}ÁÜŤoőb,„(Ő"A0Ë đÜÜÜŽëxu^W_ôą®[JR÷K›f7MŁQßö{íŐB( şÝ¶mS«Őp]wÇ“BžmŰ6®ëŢ‘ĹÚv¶ľďăű!ŁQPzÜm¤iZ.Ľm;‹Eµ,k_őĂť[&Ę{¨š(ŇJ2OŚĽĽ!ŽËŮíúŁëş·EpÄqLÇ·u·z·úEÇĺ9·ń n—Ś45’®âÂ^Á«»tŻ H‡)Q/&ŘLĐi¦T™0Ô•¤!±Ő•VTIQ.ý§_Ö™—Hf×6ǶĘÇE©'¨$6Mű1#Ę„§ęĎ*qS4U”Qŕ{ăE˛R Žc˘8ƶěLů˘–mÓ¨Ď!Ą…F¤™BD“GykÁôU§ŘóŞġﭺŚOžu>Ěú}ë°U8kÜ–ĚĘŐqčú7Ł Tš@kÍ~TÇH)Ëň­~ż?ž÷ä„ČÂÂ/^śHězżń©ÝnóôÓżËňň2ďľű.żő[żU*b2™“^blř[źŇ<J;ŠB˘(뫣áż^ËŤ|ť}162ĆŔŔŔŔ`ËâašŮ‹ ~uišrážţyâ8¦ŐjńĄ/}©L,+%$ŐÔˇB‘¦)W®\á•W^áرct:Îť;71‰Ş&E¦ąwšŚ‘Râűµµĺî-˘4ď˝w‰?ř?¤Óépţü9>ůÉOâ8ÎDIJµmŞ“LĄň'ĘŮłË<řŕ3 ’zđv‰™˘MlŰĆ÷}†ĂŃľYl&IÂłĎ>‹ëş|úÓ…ď˙Ećççyčˇó¶ś!Í®Lđ÷ó‚yoÉ®ěü}ůĺ—iµZ,..ňń|ć3źˇŮlNô/•O®źyćľřĹ/–fśBnŢĽ‰ÖšĄĄĄ eUAř^¸pk×®ńéOúŽËŇ óó»Ąŕ2%}n‘ŮhÔIú)+ßYEUBd$Śž\¤k‘G?çőC…NF~»9‡"ŞŚ„Üş/Ť\Ś‚�”ÂłĺĵL‹Rw2CŁ·nOLţ,úĹôcˇ´ąŃĄßíf~5ąQo˝áÓhř´ŰóąR§˛ßŇĎG Je‹qĄłr¤ŞŻMőÚ¬ňżő.·»]~˛7çňîĐU{qťžźźgqq‘ŤŤ ‚ ČűEvÝ;zôč„Ęu'sť§ź~šłgĎrńâE~ó7“ŤŤŤ19%–Ö™A/UFWĘDRá-…dii)3äv]šÍćľPĹ2ĆŔŔŔŔ`&iđAďč|ĐE¶eY,..277Çőë×Y^^ćµ×^Łßď3??OÇlllđŔ†!ďľű.RJÎź?ŹÖš7Ţx^ŻÇ… XXX`mmŤË—/“$ išňŘcŹńŢ{ď±¶¶F„<őÔgźźżŁ“5Ąľ_CJ±m;T'&»µpŇZ°ąŮĺćŤ5Nž<É3Ďü!çÎťçµ×^ŁŰí˛ĽĽL†lnn2 x衇Đ:#iÂ0ŻĽňĽ­.\ ŮlrćĚi^|ń%:<účŁ:tčŽ÷™ý˘Š)Ĺ×_ť«W®ŃškóöŹ/°°ĐÁ˛$—.]¦^ݱ°°@·ŰĄ^Ż—FÎív›S§Ní›(ä[‘`{5ć¤iĘ»ďľËáÇ©ŐjĽöÚkś={–·ß~×uiµZś?źőŮ0 yîąçx衇xőŐW‰ăĺĺežyć”RüŇ/ýWŻ^ĄŰíňđĂ#„ŕĺ—_ććÍ›!xâ‰'Ę´—;Ů7ĆýTcîEĆš Ż·«cs©"›ňEzS¤KţR1Ë8WbFÜ4©Ś”Jqśl«Ë˙Vť`Č=côLőĆ­"­g=çąs-ŹĄCs™!jţa…AjV*2ąĄÇ\N"j!Ą5Rd J"Oa*I)& |w“k8hdQQ6űş¦÷ńy’•r}ţóźgqq‘gžy&+Q˘(GĚĎ·ąqcĄ<‡Ş˙f· xë­·ř'˙äźL1“MˇË˙©T†Q’*5ŃďŹ;F»Ý.“î ˘ß1ű’yżëÝśŕŰj·;9r”(Š9}ú4đČ ?ŕÄÉĽţúëÄqÄ{ď˝Ç±cÇřŃ[IgˇCż7`ee˶pl‡(Śąxń\ÇᇯľĘSźyŠ^ř>asĺňe: ľóť˙Â'>ń‰˛†üN¶«mż˙‚{/&ŹZkFÁ(/UrxăŤ7ůło}›ĺłg¸té2k«k,.-â86ßřĆ78{öžçŇíöp»Ś7_]]ĺŐW_çúµëüÂßřëü‡˙đůű˙ďŢ• oaX,>îö¤»Pmś?ż˙űżĎŃŁGI’„K—/±ľ¶ÎúĆ?˙ó?ÇłĎ>Ë©“§ăµő5~áŻ˙u3ćä~JI’’$)qś°ľ¶ÁţÁ7ůň_ű2oż}Ë—®pĺĘÎť?G„ ‡#._şÂ… X_Ű(ŁĎ˙ňG?ćĎżűç(ĄGt»Ý˛Ę’Vľ8ĽóßoĽ00×!Ťz «»g@]!dr˛Mż?©0í R%F&ÇÍpffł–(Vëe’RAÂĽßb}Úădű13OSru×±·ě´Č ™ńggŰO”ĘĆJ— âL(˛k‘El ])ÇQ{ç…R˝ĹŤ—i˘ŞJ°íöŤŰA˘4›CĹź˝đÚ•Ą5 ‹cm›NMpϒá9IÝ•űr )« Üwß}SFÉ­gÎśćĆŤ•óK±ĺş‚ř˙§ łßńq±§5R‹ňšÇI’nńŢ“RrĎ˝÷`ŮČĚ”9‹1ß'D–f fMLîâä '›'NŇi/přđaľôĄ/ńŕbۧNťćĚéeFŁ€••,ź9˱cÇ3uA>Ĺł¤ĹŁŹ>ĘŇŇa®\ľ‚”{čaőâ_ţĆ“˝»cŔ§”¦ßďÓhÔů[ëWéőzX–Ĺ#„0Ś ‡?~śŹ}ěc\ľ|Ąôע°ś8 ‡#Ţ|ó-šÍF©8ŞŐę<ůä“´Űí»´ßçÎ#Ź|śĄĄ%Ţxă úý>IśňÉO~ŠĎţĚg9wî<i˘čőú ‡#67ş>|xß©bfőÝ˝Ü?!¶e±ąŃec}3'LRZ<p˙8¶ËĹ‹ďĐlÎńđÇ>Z°zsŤ›7WétŤŽ=ΑĂGH’”ĹCK|ůżů2gN/síęuî˝ç>Nž8ĹÝ’÷sé}=ĚH‰˘ZÖ°M,´ĹâRß’„Qĺ?F ¦<J&”-Ŕp˘´Â±%GFžbk‰Q±Ť[ő˝íĽO2ňD#%X¶U’ĄJéĚ·Hµ&ŠRR©ŇDQB’ ÇC PZ'j"b[Oí×ř1P{`…˘µf4±˛˛Â`0d8±¶¶NÇ\»vŤK—.qíÚ5z˝˝^ŹőőuşÝ.aÎ 0ŘKÄ)<1ŕ˙ó>đĘoľĐ 4Źźvř©S5ţüí«}µ…ĽŘoČJ±ýň_­VŁŃ¨Ól6Y^^ćĉĄŻZ¦nµó˛ń1!–¦Š4MĘ9Hv<˘LőĹĄ_Q'„aÄp8d0ÇÉÄ5«řścÇŽ1??ĎúĆQaYľżbÂŤ2ĆŔŔŔŔ`_1–%q]×up]—zĂg®ŐŕŢűÎóŢĄwřö·żÍg>ó|ßC)•×­×xę©§řă?ţcŽ9BłŮ¤Ţhäw>šÔjujµsssܸq?úŁ?˘×ëݵ MEh­•N±wÇ\Çáŕçţçh4?~Ś—^z‰˙çßŕ‰Çź@ xůĺ—X[[çń©×kü§˙ô RJ>ýéOóđĂó˝ď}ʏź÷ŢËJÄćšMšÍúm™ď.Á”Ą}ěĂqęő:­V‹_űµ_ă_ţËÉňň2�Ď=÷‹‹‹|ţóźç(ăT[­ÍćÜľ"bfŐóď%ˇPÄÇ~â§>Ářżţ#Ď=÷O=ő­V !ßüć7i·Ű|éK_â[ßúĎ<ó óómććć h­9|ř0gÎśá›ßü&çϟǶmľýíoó…/|/~ń‹üŃý­V‹cÇŽíŘ|·(ĆŻĺ@_iĎĎcY—Iăd’´¨ĽFŚťx'4…ę‚ÂnWL& U”íƇٕjG’Ş•¦ą‹BËŚśÉ-â¶Ď÷­ź™Q@AECť0čŹđk5RťÇ­V Űs°m»ĽŃŕŘNć‹$$:I3ňFgß6‹Ť.xŞIâ'K!Ţýń%Žc._ľĚp8¤ß0$I©S'xűí·‡8ŽW–ŚÚ¶,ˢOź>ÍÂÂÂ3`O•ć­k Ł Eäţ9ź8éplŢÁ¶ŕŢ%—ŢPĂÂÁCş®[¶k•|řá‡YYY™ęwâ}ÂIös|Ęd}5›艱¶đ ‹˘v»Íęę*őz˲pg_ë2ĆŔŔŔŔ` cYÖńŤ™$c,žxüqžxü š_ů•_)źűŰűoßb6)řÂľPüQ>ü7~á�ÁŻýÚŻ±ąąÉřC677P*ĄŃhÜq©oáÁ˘”şăĆ‚Ź}âQűÄŁĺß‹‹‡řú×˙�Łá÷ďţO~ćłOńÄ?UŞ4>űŮź™ŘĆ/˙ň?ÝđüôO˙•=™Dďd‘©sÔ]Y\Ď‚çyü˝ż÷÷rwNÁÓO?]>÷‹żř‹ĺďżţëżľĄ÷łŔ^—€w0Ďž=Ë?ţÇ˙8'ÚR.^|‡ĄĄEľň•Ż”çË#Ź<2ńŢĎ}îsęSźŕóź˙üÄăO>ůä]mďbÁj™{adľ=‡%e™b¤+fĽ˘˛ Ü¦ ]đ4Zl‰zžŽY®’2‰# G(ĄpťĚ°´ôµt’“·&b¦}anu^kťĹi;¶‹ăř8žÇB­S–I á�ßóčvc––ŽF žă`ÉBIŁĐŞČŃÖeŠbLZiA´Kiĺb=›Çt:r•LFĆX–Ĺ}÷ÝÇęę*–e!JĄĚĎĎăű>Zk666X\\Ľsc„<|Ňĺ[? ÄšTiž»8ädGâ9‚7.őůÂcť3Ź“t“dĚÜÜŹ<ň/żüň–r˘éyčväĚôk˛ąŞ(EK’„0 Y^^¦ÝnS«Ő¨ŐjX–U&J2ĆŔŔŔŔ`_BJ‰ă8Äq|çĺő‚Ű_(‰[-®4BjćZ Îť_ćúőë<ţÄOŃlÖďxš’‚4Őt»}ÚűGŃáş|ţŻ~–v»}›wđEţqGďYŚyLż?Řź \±żÉ•ťL¤«Çń޶ŻČdřBÂŇáCüÍ_ú›HküřAlËba˛_’; >Řql·›HË*É”¬@H�rËŮ^„ZOřąäę‘÷»FL.>EÉ[ †#R•âąER‘B P$YLÓ‡8MgŹŮĎuđ\—ѨŹë:ąH‚ďąÔ\ :¤»ŮŁÓ9Äh±rmťóçŽc' I"KSŢj©R§Ť@h 2'Şö`Č,‚¶Ă‘#G¶}îرcwôśumÁc§=~ĺ“Mţë_ŽHRĹć0ĺ[Ż÷YlÂŁË ćýAćn—dU2gĎž% CŢx㍉ǧI™Yץ÷»n%IR¦×ť9s†ĺĺeZ­®ë–7šćçç÷ÍMCĆĚĽ¨9Žs÷™=ř>¶msâÄ Nś8qW¸Bž—•´ě‡šm[Ü{ď˝»F˘ě5“¦)››Y]żQě>Ç™ZŢůD!sss<öŘŁľ=mŰĆqÓGň5DB»ÝÄ*Ë!*1ÔyI‰Ĺ •ňŁňuÓŮôß5ó\ËĘź‚ M<ÇÍŤsJ+â$DYë6»×LNĺ:eŰR€ ¦YĎúŻç¸€[–%ĹI’— ÂÜ\Z­†đlÖdH˛ŞsSít†ď”Č”<+g$Jď/ÂőN_›Ą€VMđß>Zăçňň´ó¬˝™‘5ÓIŚűuľUUĆTűZ1 !řřÇ?Ž”’×_=+mË ĄÔŽ|ĘŞ¦ËĹż$É|f„Üwß}ś={ $b 2¦Őjí«ŘsCĆlA!ĺTJ‘$‰i]"(,Ë"IbÖÖÖPJŃl6÷ŐóBČÜÉ$Ł0 ŮŘŘ`4 Jă?Ý'c¦Źç¬IµÁÎBoÚń�CC{ţ}p9GŁÇ'ÍŘ>FŹ‹ăÄ$•S–.m7žęśě ‚Ě4˝nˇTš•» ĐE9qfě»UŢvýŻúŮRZh Ž#Â4ÍĚE™’%QJĺĆ«2O†Űd08qę(66AŁÔdźŻŞíJâGŽâ'ý¬°„Ŕrž#oűŘí·ůN•Ś)ö»č/Eßůň—żĚââ"Ď>űlŮ7,Ëzß4ĎYmR(şµÖ<řŕś={¶$-Ëšđ’i·Ű†Ś100008ÓFŁÁ`0 MÓ‰;if1ńÁÚ4“ďÚ¤iÂÚÚÁFŁŽďű&tŐ‰VfÄ8Ťč÷(•bYv9Á:H“ÔÓćúŔ-�öË9^ŚŹŽăP«ŐJĄŃN˘‡ öéqŐ0?ßBZr‚P©$fEKŚYˇR^nTUÍŃ×Ó™KĹ6¶2d~,I˘p=+WŢ(4™‰ůn„ăN°2ßÉ4MHă×ő° )–-B˘44 ´Ö\ąrťasüř\W'Š$MKďąj l9žä~1©PűNcđáŕyŢ–ČđB3 8věO>ůd9·|ýő×YYY)Żë!łÓ=…¦ÓéŕyŢé3AţĺŞKCĆB¦Őj†a.“NÍÂěC"»;”% ŚF#Až ¤&ŇvzŚfŰm·ŤŰ}ýN·±WűXÜŐ*~Z–…m;¦4É`_źßžçe%¦”” QÓwÚĹÚíV®Ń)fŇjcÚX"3AÄ”„ĚÔ¦CÝ�� �IDATű´|b˘źEÇ$iŠëXůu)"v1°4ř%+qÝnŁž·q$µR)I˘BRó}~ę/ű’*R•…u‹Ţęµ­ş0–2/żą‹§ÄvĺŰĚĽ˙XŻ×'®ĺ†!Ăá'N°ĽĽĚźţéźŇétřô§?ÍŹüc®_żÎúúú‰s«¶×ZsôčQî»ď>~îç~Žď}ď{ŚFŁň}…§ú÷~S$2ĆŔŔŔŔŕ– i!žçáyI’LÔč|¸ `µNzV»N“»ˇJÚI©Än•S|ŘýŻJÚgÝáÚIâÂű)şvňšÓ.;ůÎ;m—ŰÝżť~çť´Ýnő™Ň'vă¸ěô5ď·oŰ˝¦JN÷Óé ‡zÍÇőÜĽhĘ7†)¦¬AÓśNfzž—é\8ŁŃePUa“ůÎ� ˘0&Ž#,)qm+ó\Q ÂÚÁXPMUúć,jhLEQLŻPoÔH“ÇőHÓ\ő`Y8¶ŕĚBs†J‚0%b˘8Â’Ős˘÷Î>Siéިďâ8ćúőëh­ ‚Á`X~ďNgáp@FÜĽyĎó8wî,›››$IJ«5Ç`0$IbŇ4ĺüů{hµšąówv´ąŘńë·G]×Ý’¤µ&Žcęő:‹‹‹ôű}z˝ [ µäČ‘#t:jµ\˝z•~żO†ĄLˇ8l·Ű9r„……,ë»V«mQă(Ą&<ĐŠR¦i˘Ü1űĹ]Ťj !c>=1©]Ť}4xiúw؇ Ǣ٨çĄGcţbÂűĄBFäŁ}ţÜT “G]—ŞIĘf‚Ń91…RhlTš˘u (’í¤%·"23¨(¶šÜ†”Ů·ŮlăćqĎžççs€ńulvżÎ˘™ËR¬„&‚ĚFh•¦{rܢ("Š"Ţyç=‚ ŕČ‘ĂY‰•RlllróćÍŇ[d4 ˘۶ISEEy‚Tš—í=1’¦)QMÜś±,«,˝ŮËqi'D̬ůʬż b¤ř»řgŰ6Ífß÷yë­·Đ*Ų$iްr/"­5ËËËś>}š ¨Őj3oĆضÍh4" ĂRSý¬jŚ{ńţb[Űݤ0dŚÁYLĹĹiKŹ& ŃúŃ€ëÚ4›Ťń˘µ¤Yrň%?ĚZ�ĹÝyƵGĹ{„(˘śuIĘTIí®q†!Mł^ĂuCŇ8ÉIž­dőÖ›ŮŃÚŰ-ŔĄ”Ě͵XXXąý5j»÷k­ąGZ5íFkBăŘŽí”m%ĺî{x8ŽĂąsçňI>A0âÁ,ŰëĚ™3yűLĆnowŢNżćĂŽÓDHÇ„aeYÄqLżß/˝SŤ&íöü®2ŰíĂvÄ]•„™&dŇÜÜąşĄľďO¨!+Yk44 úý>/^D)ťűčEĺq)Ú˘?]lżš¶T}ζíś8S3÷µ dęőzY>MĘ2ĆŔŔŔŔŔŔŔŔŔŕ#FƲőŕömęŤZ®qÉd-Z§DÁ$Ž&”BÚHÇÁőX¶Ă´~FW÷EíR^LTjhĆKÄě·8QDa–lčŘ­Bk6…đ­K §í‚ UĚÖľY–…VĽ\v®$ĐyěuJ'Äq¶Č¶,«’Ô–m+IÓ|Q,c »L\*•©[¤”ĚĎĎŃl6X__ŁV«†Q^¢±¬ŚŕH’$O<L°m۶óDÉ”$Is~‰ëş¤ą9ńh4Âó<'K÷+Ň' Ň  +lŰ& Ă< <SŔ4›MÚívI°$I‚çyضŤëşAHF!‚(Jđ}wWǦ[•śWź.«®–Hń3I’- P¶CĽôâ÷éőşeě´Ö“$S’$eIQÇ[”1Óă«”’ H’¤,§/¶Qś®ëRŻ×ËíWűpŐ`řNŹ×†Ś1000000000ŘĚRµĚA;ŕŘÍF-/Ň(•ŤÄŃ=Ĺ+Đ©‚ÜkÄŻÍaŮn®”ˇ$´ž"e2:Ą¤_Ć”E¶�M•f†h ŽĄA§ť"mD’+6DI†líoŐ…¬ži.=îŻŮżÉ˝™˝XŻz&M?—•ŽŚ |3bbĽí‚𑹑ďnCkÍp8Ě•)ý~˲đýŁŃn·K«Ő$ŠtąŕŻîëüü<Ýn—4ÍÔqś’¸Ť�z˝.E­ćS«Ő eÜwď, ĂNgž«WŻ–M±_ív{b ň&­$QŤ ńˇÚbZ-R‹f=_}]Q>TUć¤Ěô¶¦Éš­ăźâćÍ›YęśëVTcb‚đ)ÇqŢöÖ–Ď+~w]—őőu‚ (Ă&¤¤žKĚŘc®^ŻAůwAČçG•ąS¤Ś!c î2¶sň7¸ó‹¦ńäâĂË‘ vű<)ääłď\íÄÖŕÎŤif<»őxżźÇ@s=š>hE‰E­ôډـ8N(O„™ŮJľL˘Po¶«Ś´Ö…ďdťR¦Š)‰™ĘÇ H’”0Ś�Ťď;H Pi ť«;„@Ą‚4USăeNéÉ í[â˘ČŠŠz¦ôË©˛TŠś±—LšjR•˘µB)=Aô(5&e¤”H!÷¤L©@EŚFAîU’yŻ4u¤´ŤضŤă8„aëşřľ_ú¶8Ž‹)ľź)VşÝ.ľďcŰVîź“™Ä$Ju1oŰAŇh4°m‡'NĐív©ŐjĄĚtąÍ`0Ŕ÷}z˝J©ü5ĐhÔq{GăË,o—i˛eÚĎeú5!U”ôضť+X¶–)UŐ%Ueűë´Ŕó|â8Ş$†‰- cĹ|L)µí5˝hkĎó¸|ů2Ýn7'ol--R«eĺRB:Ąď`0ČI31AxůľŹÖ`Y2÷·q c```đ“´8™ľŕě-¦kŻ«ÇhúPM߉1¸s‹Ăéß·KPš&]ŞwÍ îŢqŰÉXhڬďîqŞ.Ě yą…‡ÉÎ’fŁ–)ZŇ8 rJ¦x‘–Ĺüü<źúÔ§xńĹYYYÉ”IL…¸nmlâ+ôdôő”đâNeЉ Ph|×Ćs$BşF€ĘʎĞ˛Ň" AĹ%A2IL_ă¶&C%JY˘“®ÖT1öźŃeĚv68Ž•§CeęˇTĄ™•/ć…ŘÚ*Ű*ŤI… Šö&jŘq”RĚĎĎ3ŽH’„Á ŹëşůO§,Mň}ź8Žh·ŰĄ’˘:f‹ű‚ň}oâó ˘ĄÚ¶B CNů<ëôýĚ 9I:ťNů9B«lf{óǶÚg %KA¦sžio—‚đ¨ľĆĄFŐ¤¬ä˙gďMě<łűľßó<ďv×Ţ74 4@ขäl”g±\Ź$G§ٱ¬’eŮ·¤\®$NUĘ©J9•|ČRVĹ–ě¤,{di$Ť–‘-iFÖp†ĂáN‚$�‚Ř—FŁ÷î»ßű.Ď“ďŇ÷6şI®sOUŁŃ}owżďűlçüĎ9˙öĽż»ú%Š˘ěgRđćÖ3Űds5·ÔVĹX<kzÔ%ßÔٺ捍 Ţzë-Çf˙ě e\ĎĹčXN;ŚâĎoľy†çž{ßoă:.®ă`%U7JJ¤’I;•"—´4őÁľő­o}ű'Ýeý@äĂȶ;(»É<¦ĺĂýqú ×ÍVŇ-o˝ÓÚÚŚUł\~{Ýö¬ďN{aw0Đ:?xK¬í{`ßz ŚŃXJQČç0FaŹşŽe)Ľ\Ž/}ůKtÚ:ťN&KmŚF‡>ÚvB¶ę’ěżfg~–4@ #M§ÝA,ą”rĘč®÷j¤q@©uĚm“fű{aź[ĺ®Ó}7›&mŰŃŁF„A†HaĹ­<B’Ď›$ 7(i!U„0…!aR ˇ¤D8čµU´Ű–őľĚď(Š’ ËŠ••ŤŁŁŁ€ˇŃhP*•h4¸®›í]JÝNĄŽxO{ăŰ]oĘ«ňN~ËÖ׺çŚK÷Ńôľ»ĎÍîj—nňÚ´ý(ý™ôZ{T[űzę»úľ@»ÝFJ™)(Ążż¬y§jVŮőlß-QąuŻ!óó×±m‹™™˝ ”q]‡0Ô´Űťäľ ív›3gΆ!…|ž|ˇ€ëzXĘŠ+µR&g Úňů\Śé[ßúÖ·O* q©®É˛LďâX—ď˙H„i;\óíÜÇ–"Ĺť»gŃ㜼9\Úç®”ěQ]س̑~o ĂÇ-şťkŢ陼×{˝ť±ÚĘ�nĎôš`~~Ü×âíÜ‹ŘĺyîĽnvжĆĘ Ąč ĚĽ·÷:vź¤ńĽý=0Ďú•d·`1hmJ‘Ëç" Z»Ş”eń…/~ŮŮ}üćדŤŤŤ­gŚIŔÓ }l[:‚í q\C63"%jJš±A×2´;>9;ĺ°ŃH©߸ĹE޸eHĐlwŻŰť‚ŕt>h­i4}ęŤĆ@jl;‡Öq%Žă¸·«t:MlŰĂqA¨éř>Qß»R ‰Šź�ŚFÄHR)¬Ćś;uF †††˛Żă¶˘-+—ËŮóřHĚýwÓ¶ž®Ýîj¶î1îŢ{»ŰÓJ–î6¤hIˇťř`şAóôg!®JŻ% cŇć0 n©Tížo·ÜßvY˛mgÉn*OĆÄײ,ĆÇDzVŁFŁM„IrFiť(۶˝%+o ÚhŚŮ“6'Ę_}0¦o}ë[ß>Y–X–Ą°m«ďř~ČNŹ1’ ł`¤Ű J丟\őe¨?ô±2D‘¦Óń±,ë–l~úIO¸ÓEt¸ĹiđnángľoĽ§g†Q˘¤˘2>íUfŽcő8ćďuśúcöŁď©’ĚťÎý„=Ą,ő×vh‹(ÉŞń ­fÇv‘r‹dc0B é&ďMůb¶Ŕ´X&…ÔL&™˝ßčHÓîřDFhÁfS ­ľnÓhV(ć%¶ @HDe:ŃÓŢ­t'ł•B ď‡ĚĎ/Ól:?‘¦†Ľ—'çy ÇA ’ÓEIĺŻN@ŮDľ:%jU ~H ”‰0NŚÎ�°Ę>JűĹ­ŕĹî׾AV8 n÷^ŰÝVÔ]=š'J©¬G‘€)AĆò]-)U!J+xş!A°şşĘňňJÖňսǛm„|b<¦{~v1Ű«'Sź ý-Ë&Š4ÍV\™¦ŁťHd�TĚůc%Ŕ“H*ÁDĽnńć|0±Ćô­o}ëŰxČĆY ~$ ¦ÜY'ĚqlZ­vOv¸»"&«ţóý(ŚU,Źja˘‚@¶®Â0¤P($ÎŐV–ëťĆěíÖÓíËąöm»¬nÜŹUÚ’°ŐB¦ă�î]´Çě¨|\­Źň¸9NL4š‚d}@¦{Ţmń­¸žŤăŘXĘ&čšďaňü€|>ĎĂ?Ěćć&Őj5KôKąU cv'[ Ěöú�c ‘Ö´Ű>:!ç #M‚HPëHW6*» 9×Á˛ăŞ)$R ´yűu±ťÇDH‰@˘ Aď'< 2V ±”E†T*•Lž8—÷J†(2XR‘ł,ě°n g"š–MNk:Ž‹Q —óŢm×Ď'öś»ťý­lIÁ”´Z%áŇĎÝ>M*ůś‚)éZO)eęřľźi5M*Ńť‚6JĹäËJI*Ő*×®^eii‘ĄĄ%´ŢNĽađ­ŕçvëľĆî5Ń]Ő—Ëĺ3îź-ŁŢ˝¬€J+€ş?ş©Ň÷öÁľő­o}ű˛éÁáy^?Hř9?¶mŃju2&-ÝŤ3÷Ü"ŁŘ·s¬l|?ŘĘú&ëĘqś‰ď|pÖź·~¤­Q¤{8â€_d*!·óLű<&ď˙Y–E»Ýé1;Ě˝4‰âą®kŁ,;ćIÁĎ‚ĽfłÉź˙ůźsěřńŚ{@H‰TVÄž6:ş(dLO*e©ŹĆµĚ16: <ĎÉ*l7‡íäA7ńjMJąĺ’G>ď`©(k‰ÖZlSX˘K9p›Ň’#bM%­ –R„ˇ&Ś Ŕs=JĹb;quŘÂĂv·ÓF>ů0 ’ŠH)j*Od4ľí Eü\,)ŃBýXέt~íÔ&‚'»µĆíÓ[U»ÝŇÜiuK†ŮçôĚLÁ›ÔßéömŇŹN§“;qőMok««¬­ŻŇn·p]Źbˇ€Á°˛˛B˝Ö`mmťĺĺeĆĆ'Č÷੾˝4a˛˝Eu;˙ÍvŔ¨űů¤Ď.őŇŹne«nĐ4U¨J¦»•vëۦX*ôÁľő­o}ű$şqĐbY2sxŇt1!¶ČF·gHz3ĐŮĎ bâżwd{ř(†„¸­Ë1„nFĽŻYł”.şĺŔŹ ´ç—9’ň™Ţ{élűB|T†©{$>ÄŔqëswO{äóĄŰ ${2sI1l·ŃŤ´š†ńts\D>Ź*‘I°±›lśŮů™Ä­A–YMAiË’=Źr·ç×ă”kŤŢ\‡ęDěDę(”ʡ„eßŔôÇi÷y«”Dëc¬>ŕ¸m¦r×uđ\7ć8±ÝäyEY�\«Őřá3Ďtíűe9X–ÝŚ(ÝrÖÂdŚIĄŰ–ěťá‘ŽđÄŁ÷łßEŰ!—s�Cř8ÂRY§źÍ ÍÂĹy†ËŠńń<ĎÁµm˘( şÍ­çĎö?!ď5Éů‡Ś!­falá…b!źâß+čjíj¨ńQ´ňą­VE@eRŰšŔhGža~Ěć•ďű4›Íl˝ …¬âłÓéĐn·3đ P(ěJ*śú—Ý•†)Ń­p”Vľu·b§`D nÄŔM@Ą˛IłŮ¤V«á¸µZ•••eÚÍ&ŤF“z˝†eY Điµh4›¬®®RŻ5h4Z4-˘®Ę’̇MI¬Ůňůn·1éµnŻŚ Ă0dşď­”Úţţn ¦„‘¤%)s rąĹb©Ćô­o}ëŰŹĂśJ¦GRšąÚ:Śâ2é >¤Ztüřk%Ž Ą"ä<…ĄdBůîén2·TҰÝn'*ď˝­Ş»ô=s’{ZohB cE‰”ĆŇĆôäO> `{勹sđCġucZ(5VÖô<_#c9Ń],u¬şť“Čď8NićVJI.—{GĐÂĐĆĐ ëMMŮä‰â#ÝZę|űnĽI㏠|üµUÂkWč\żN¸0ëkv;vĐJ%ÔŘ8Öô ÖĚ>ś™YěRaY1Tö.ÖĂöňńÝ”†vëíęŰźEúű»_OťÍŹÂXmwŠog¸˛q5ńş 77ĐöMäŻ@ŕ#to$8ú3”":pâ«˙9ÖĚŇMĄ,ĽŰ3©o=A\fŠ<žç"„BŮ.¶1~;dL’é¸8^> @w W…m[”Š&'†Ů»gśýű&9t`š™˝ )óH)étB–V6¸zm)V3üŽŹak_qsy„Éáxy°ÉŐ›xv“rޢwni‘Ţ­eIŠ051˙K8¶ĂääĘ’XV¬Ö±B‘m+,[b[‘Ń!Qž‡čřa�±DH‘ý Ą®ăŕ9w^ą& ä],ě[­V¶Oş®KEI«ŤÂNäŤăçÜa}}ťÁÁAFFF’ö×÷¶—A@ĄRˇP(PŻ×)•J¸®‹Ne[­ťN×uł1„XˇhmmŤőőuöîÝ‹”’BˇpKŰO7'L†YőGjiËQ7!s÷yÔ]yív›«WŻpíÚUjµp Ł… ~»RŠrąŚRŠÍÍMÖ×6¨Öęńߎ4~ÄŐ4]¤Á=‰Ĺť—BŹzb7�ł›Ú^ĘIăűţ-ÜcŰçuĘwăşn˛Ž=ňů9Ď#—ó°m۶°,;ă’ů ÎĎ>Ó·ľő­oš“—TĂťĄ.ÓöŐą>ďsö‚áÚĽˇVt:iPŠEĂôÜsěźq),„Ün ˘µ¦ŃhđŻ˙őż& #fffřěg?ĂĺË—™ŕŔ»feşÚťěňĺËś?ž/|á ™šÁJ-ä•yźs‹A‡Çmś±™˛˛’í­rńŤ=%»[ĄłćGdL,/ęű›h˙{ ×ŃąźÄv÷Ć`śéM˛Ą»˙ŐŤŤMţâ/ľËŤ7Bđ䓟caa/ůË;:«««|ç;ßáŔ<üđĂض˝«Ś$@.­Ľr-ŕúFÄp^rτͣűKđaƶĆô<ľłý5­5­ĺ%šßýÁ+/]»‚Ů\G„aVm‘r&h% \91Agî.ěÇ?‹÷ĐŁ8ĄĽ‹˛úĄĄ%žzę)–––8zô(ź˙üç{Hß.‚€7Ţx!GŹÍ€ŃtÝůľĎ÷ż˙}Nť:ĹÄÄÇŹçćÍ›ĚÍͱ˙ţwý|·_Ďť�2¶g4Ó1ĽEPŁű}]ÁB´±Fří?ŔýŁŹ\YDDáVuŚ1`"D«f¨WžŁÓiţ—żŚ56gďy?Hśł˘¸ž ŁÄ|Lk“¨˛'c$B(l7‡Š(ôŃ:Üjő eŮ(ÇE¨­3- ÇĆsmĘĺăcťfv߇ćfť™dh°”´ôi|?`cłNĄŇ`e­Ćą+ëśż˛‰ß‰É奱LBXŠÖ(ËB9^\Ńgç©W7hm4ńjuĘ…ĽJwŰ”Ąâ+)Čç]¤´“ŞTŕŘ Ű‰9ĽlŰĘ䥔ŕÇ׫Ni"ľĆxa#‰É~…±üőűk­YYYAkÍŤ7h·;‹EŔ066ĆÂÂBĆw“&ť”R,--±¶¶ĆsÔjuŽąç=+ŤĄ ‹”’µµµ IAß÷ŮÜÜdppĎó2pEkMµZĺüůóŚŹŹÁ-k)Č$ĄĚÚ¶ËY÷‚7¦Gć:nÚí6`hµÚT«U^~ů ćőęt:4[MšŤQ‘s]ĆĆÇq;űűľřńç0 ‰Âřľş«W{÷Ý”obRp3ýÜM&Üét‚ ´Ů)!!•DII©T¤<Pbdhb±HľĂéá¶Č{!"„čsĆô­o}ëŰ'ÚÄVËxW5LJĘAhX\jóĂCŢ<««‚ZC`ôÇ—€3ç 'OÁ]s$bß^ב=ś'»;±Ăů˝§žć—˙ŢßeaagžyĎó(KĚĎßŕÚŐkLďťfbb‚K—.QŮÜäS÷݇”‚Ë—/‚ąąś;w>Ë>t:mŢzë/^âÉ'źĚ�Źł‹˙éL‹z[c,lDŁ™´i•1^Đ÷{DîH ł]2~-" ÚŤ?Ćłž|:­1¤DZyŚȬ-ÉĽă•´[-.]ĽĚŘř Š4őz“Ë—Ż°˛ĽÂäÔ$arăĆ <ČŮłońĚ3Ď200ȵ«×ą>ŤýűçČç=VVV3Ő„çRRiiž˝Řáĺk>íPăHÉr5bĎ€d˙¨ť”™¨aăŰÍ·>‰""ß§öúIšßümÂÓo`6ÖbyŐdAŠî>(‘t”uÚčZ…đÚU˘soś{“ü_ţ îô^¤e#2Yćťw­5ßţł?§Őnrß}G9}ęMfföáy×®]ăŔ qóć"7oŢäŔý ręÔ)ǡÝnsůŇ”ĄÝ7Ż/ĎĺŢ{Ź ”âô©3Ľüň«<úč#ĚĎĎó˝ď=MF,/­°ĽĽÂý÷ĺ­·ÎaڎT*R©Tđ;÷˝Ź………Ś€S I˝ŃŕŽSŻ×8wî<SS“LOOcŰö{–Ţm€obť\üĹë3Ż`šmXšÇýţwP«‹ŕű D¤SvŐ¸B& F#7Ö°˙ô÷źhć�‘롏>Śsŕ"—[ĺ¦(Џté2W®\%—ó;p€±ń± 8{'ŕj§ď#X­Gśąésa%äŕĹ‘I‡Ń˘ÄR%TFôśK}ŰšŹ~€18¶…—K¸©„Ŕ ±ÜĘőşömCř‚xO7€ĐDU,ďą<tüOś¸—Gľ‡ńŃaŰF™ĺ|?`y­Âüü KKëřaH©črc±Í‹§Ö’J™µű¨´-C:A‡v§IEäóyÇĹß‚N‹ůŐ›„ÍkĚîI@ź[“6B¬•ж-ffÇă@>•ĽN+[¶Iw·żlVčTĄP¬„‹Cĭ٤ÍÄǶŚq¸Ó­ą¶mł˙ţäďŞŐ*ÇŽÝŹ1GŇěě,–eő´ůc8pŕ@"ŹÜŔ÷]×˙í^Ăčč(ZköîÝ›q›Ą€I±XĚ*^ş u…LOO36Ë5ď”@1ĆĐn·©Őj!ÎνîJß÷3 ©»˝'ýlŰv2Îśy……ë”JeĘĺr RDšz˝«®yŰŽ[—G144ÄČđ0‘Ö4M–––Y\\¦Ýiˇ»T¶'TŘŽ1=;é5¦÷ĐýZ†YUŃÖ÷·�Ë‹JĄĂĂĂ伹\۶˛Š˘”;atćźúť€FŁŽm;}0¦o}ë[ß>ŮNYXoőED Îś­ó[ż/X^•áîŮó´˝Ń´Z‚7 ŻťöůĎ~ŞĹĂ–pl«ç¸{»ěŽçĺx챜;wž_|‰ĺ夔ü›óÜ}ř666yůĄW8óć›ŚŽŽđ‹/±oß oĽńAňéO?ÁÓO˙€ááaĆĆF9{ö,¶íbŇŚ°ÖĐś]ô©45–<˛ĎáÜrČĄ••JČř€…Ňr‘”çýĆŐNň‹: hVž~˙‘“�� �IDAT§lý$ †(ü6íú~ Ą{@Z‘¨2ňś]ď[Ä™Ćv»Ť1šÍŤ Ď?÷"íV‡Ó§OóŘă'8yň$łłłüöoýé ?*•*˙ň_ţ:Gᅬo~óřÚ×ţ:Żľr’·Ţ:Çßţ…ż•ýúĹjÄkó:ˇ&o)žsxńšĎÉyź˝ĂJ~ŰŰ·ąě6&A»MĺOŃü7˙ }ő2DQdކ´˛sý*áÍÔ®]%ü;ŹüĚ,VYçN·Ńhpýú<?ó3Ř–ÍŇâ/Ľř"Žcó›żůďů‡˙đđ/ţĹż`ďŢžţy†††yýő×9xpŽ‹.qĎ=GČĺs|ăżG«Ő ąví:?ńOröě[>|'NđÄŹssa‘Żýßłľ±Áwźú>?˙ó˙ß˙ŢÓä 9”RÔj5:í6/Ľđ"®ëqĺęÂ0bbbśK/Ńj59uę­VÜ®ő•Żü‡ßuG3×o·ÜLŃ^ĽŠűkuń$„´<¨DóeĄÁ°É¤|‰¶ŞÉě•E¬ßţW±T®R„Ół´ţ»˙ďÓ©'ŘąeŽĎ=ű—/_&—÷xőŐ×ř_ű9FFGnÉđn˙¶W Ëo65ż˛Ák×;„ÚđÚuÉÜĎßx¸ŔžAĹGOB¦ŹĆôĚ K:kcp‹ĽhÚô¶“Čç"bĐB*E!ç2łw‚ű§Ů·w’}łěťcxpBÁĂum0P©5ŘܬłQ©Óh´ ŁŰV4›Íkź«7۬nˇ&:¤•6v§sÎs=Śă&2ÁaÄűޞ°-—ŃŃi -—ćú&׫XŽ`` O!ďö¬Ť”ŚW*‰ŁěždŽÉÉdâ5¨ŁäumŁĘúFťJSPkFQĚ©# ®R‰BSWĚ�X–ÂN§sÇ%­Óv$Çq8xđ� ’ʦ-2řťö\.n™*ň=ĽqďĹRu˘íץ”"źĎ'gx"ťîyŮäóů¬}I)µŁđCL^+¶d®c2îv67»ÉÓ›ÍfĆ c[­f›7X]]ˇV«Đ¨×(—ŠTk5\×ÍȨcŕ&$Ś´‰ø F´ýd®Ä­y#Ł# yJĄ<ą|®'Aµý|ľ¨éôRŢś”ł©›&}-ćÚÉS((”(äóär9ňů¶W;ĹŐ¤2«6ËxjŚ! ăVµ0Šb˛ů´ýŰÄÚ}0¦o}ë[ß>ů®^ĎEšvŰđÂ+~÷[.ŐZśô5໤_ă0E‡‚Őu‹Ż˙ž¤ŮŞđřŁäsŠwŠĄ„DZłąYˇR©d%ĐFŽ?Î«ŻĽFÇď†3{÷ňŮĎ~š yć™r÷ÝwÓn·YZZ"|>ó™Oł°p“©©)f÷Írúô›ŮýZ2î“/ş‚GgsTÚÍ©%cgÖ|ŚŇłFhżŇBXů¤ Aô´:µ›«ä:ßDfęrಀn˙;Zęŕä¦PĘŽŰ“ľś· ŇĚZ„a„*qÂGî=ÂččÍf“7np×]w1<<Ěţýq«ŮŔŔ�Ź>ú0/\¤Ůlâ¸BH†‡‡łą(Xîw˛yîR©Ŕ’1ŃÝÇěL˛^QDĐjRůÁ÷©ýżżóW!Qšx§2€[Ŕ­ăĘŚW^ ůČż˙ŹČMNˇg×ßĺ8B –WVh·;<÷ěó áş.Ź=v‚S§NsöěY,Ëć±ÇNđüó/pńâEîľű0Ź<ň.\Ś3śQÄĄK—đ<ŹÁˇňů<–Ą(•K,--łľľĆćć&—/_ˇ<PćľOÝË+Żśd}}×uxřá‡xăŤ78tč ą\žo˙Ů·yŕ8rä+Ë+;~4ă7¸té2…BŃŃŃ[TŞŢĎń2Ćŕ/\@}ăB]y6…™Ú‡:uh6b@f|Ü÷F xó5Äů3…Ď/7ç×.A»‰uéúW˙üB ÷ľă]4C†”J%FF‡i6šüá}‹«WŻrčĐA\×ăĺ—_ćرc¬®®räČ&''ř?řCîż˙(ĎüŕĆĆÇůĹ_ü; ˇ‘\ßą±b�Çě’ܬ\]0¦oeÓI¦ÜeY 9 n‰‹÷‰RǶČĺ\JĹ<ccC:0Í]‡ö13=ÎěĚ$%,KemO­¶ĎŇň•JťjµN«Ů! ĘR„‘ Ń†›‹UÖ7kTęAh˘řô°”DÖQ`I%“Š•¤ýObb A‡tČ·Z„ĘĆ‘ Ýy§„ÖĐhש-U(Z ”ňx®mwUѲJ‚0ŠßŹŻżŢč°¸´J­ŢaaqŤz3¤”;@*”TI…C5ľ!ĄÂN‚\!–˛‘Jâ9wFe2KiE:ćíIŞxzU}vOÂt/QŇ–ĘťZ+”dŹeYärů X‹¸:6nꞒÖ"ŃĄ(´Ő˛K:»x‘*% !˛öťN§mŰ„aH»ÝŽ+a,E¤5Ë‹‹Ü\ĽA­VŁŐj!ťŽŹ1ĐnµiÔq‹Y’¸đýR ü ČęŔzů‡ę.ˡ\Ķí*˛o•¸Ţ ¤ Ăß÷©×ë‰4ĽČŞĽ ůĺRL˛ë¸.…B>!Ü- e˘<Eo{Vüˇ“us …Q„ц0áęö­\ŰfŚé[ßúÖ·ŹcڎӉ8ůj‹ßý–ÍFĺÖ÷޶©ˇZ—üî·\¤¬óŘĂ ëm])%CC|űŰߡŐjĆüĘ"źĎł¶¶Ę±cGi¶šLŚŹ±pó&˙é/ľ‹ëşĚÎîăÔ©SřľĎcŹ=ĆĘĘ X–Ĺ[oťĺü… är^–mĘKîž°9{3ŕ•ů6µ¶&ďHŚYŚ–UvŠDYâ#íÇ̵E‚Ë„.Ä™~5ĐAUܱBIX}ĎżĆljPa"râ ÍÚoĐ1?Ź››D('–AÝFd·“7˝g÷»źŁG?ĹÉ“Ż32:L©T"Ňłłű›;Ŕŕŕ í¶Ďřř8Ł#ĂŘżź……^|ń%”Ą(buŽ˝3Ó¬¬¬pŕŔ~„Ś—$źš˛99˛P‰čD0]˛¸oÚF~ś€2c0aHăějßř:úâąÝ{˙ÄHSęôuŻ;kͦć·'_˘ţď~ůw~…ÜÄž]{ÇqxâńÇxúO3::F©\â±ÇăôéSĽôŇKĚĚěĺţűďçôé3ś<y’‘‘8ŔkŻ˝†eťDkÍđđ•J…#÷!đ}JĄ"ăضÍ<ŔoýÖoóGôGlnV8|řn†)•JŚŽŤP,äbppÇsúôi:źÇźxÇqbţ‚(˘\*366ĘŔ@™‡zFŁÎŘŘŘ®¤Đď×xé‹/c_züV\W,!ľô7á+˙-FHX[Š÷†‰i°lDJň»xŃiÂřtĽ§ţÇ߆_ýgů+żŤşôţKO>‚帻,ŻXáĺĘŐ«´ZMĆÇÇi¶šěŰ·Źżö×~–ďďćäúőś›ăągźcdt”ÉÉIÎś~“ńń Ö××™źżÁŕ`#$›-MĂ7ěPL(«šşoŘlęţř1ŮCÚľŹŃqG©”GČx«PJâşcĂĚíźćĉű8ńđ§Ý;‰TŠ´KÉhשּׂWY]ÝäÚőEŞŐ&A©śŁT,P(:\şľÁąË+,­5‘˛L&`‹eRáX‰F °ŚŃš0č ŤĆqllžöń˘6^äJ‹H*VKcDŔfŕÇ€ŽeŁ”¤ś$Ô“ll.ső­+LŹ—ž! â�µŐnŃéřllTYYÝäâĄ\ľ¶ÄĄ+‹´|(ŽR( ăx„tp,é1>QŻM!Dú; WI€1p`şÉ”¶#*ď Ť‰÷÷FŁIˇĎxqŢ+ň^€î÷îôóÝ˙ď&­MůPŇ×»_‹˘řµ0Ś2š4é“’Ľo)Ř‘µV஋ďű=RŐËK«ÜĽy“z˝žťN‡0ŚŰâżŃfss# @'71‡Rúu+%m^Z,ŰÉŞŠ¶sńĄÜ,Űýß”Ł/–Óö CǵŤĎ±Á¸BÓ-öŻôÖď3"®Âf«ĺ?}>AM©ÔwÚ¦»ćÇÉ„DňZŚé[ßúÖ·O°m•nŠě€:ŃçOľ/¨7ä-§vŹŘŽéń=zÇnkuŕĎľ+)—Z<x,ż«ŠKś9ĘńËżüKĂĂ#LLŚsđŕ…|cÇŹ˛°°ŔĐĐĂĂĂ,..ŃhÔŮż?ŢÓ ~jjŠéé=LLL`Ű6ĂĂCYŮlVŞ+źÚ÷‡ź_ö3ß{§ě. &ý÷çľKpě¶|+¸řµU˘W˙?Üß qči™ ś›ßŁmAîř/!•CĐé Ş§QZ;ęÂňúj‡Íúăä‹ă8…C(eŘťăg` Ěçźü,!›ŰĎĎýÜĎR.�011ÎO˙ôWY^^fĎž=¸®›őNď?0ËÍ›7ůâcBĺ™™éĚ IťŞÁĽâó‡sŚć7"FŠŠą1›˝ §ĎÇ%ŇZÓ®UYúăßEť;“]{FöGÂ{ %ĆsP“S¨„Ŕ_BF+`ik2 PH…Yř:oL` ý¶ăfü1ŰŐJ>ý™'Ř7;CµZezzšááaććöłĽĽĚää$Ĺb‘_üĹ_`cc‰‰ ŞŐ:—.]b}}ť}űöń™Ď>AŁŃ`hhĹĹE”˛8p`?–ełgĎ$űo˙M®]»ĆŔŔ�ăăălllP,ź#—ËqđĐĂĂĂ<xŮŮ}„aČěě,H)ń}źrąĚřÄĹb‘‡zůůy}ßÁî}+ťE–ư6o",óđWźţ€A47ŔUPMÚ$ÇŰĘT7^ńĹźÁ\»‚ů·˙QŻ í;Şľ­“WyžG«Ý&B†‡ ř~‡§źŽŰ˝<Ďăž#‡yîąg©T*üÝ_ţ%žţ–––8|÷a¦¦&“¬<Ě +ĆK’•ŞĆVš…͉‹Ů‹ŹVKy× ˙Źľbt„ëŘĚLŹńȇ™šeîŔ^öNO0>:ÄĐP™śçâ:IŁŐbłRg}­Ććf-ăť±-…Ł;¬mÔxëŠC­ih·uRý˘‰´�ZŘJŕX2i_Ő&Dikň‘ŹcB¤$ćőAMË@ËĘŁÝ!$#:ŮŔlŰM*]B‚¤ B(†Čy:a‹+‹mV+xó‘‘‘ ŐŽBŤ´\„er˙D×üíĢ(ćÚ±”…Jř¦Ň=$•NÁ‡0 ü6ť6IŰáŹ6ÓĘÔ0 ©TŞź8Rj!Čž_Úf“¶ËĄÖ)źJš đ<×u©T*\ąr…ÍŤ|ß§Z­R­Ö¶üPâqs‡±Ń"­QJ Dś¨óý•J5!&«TŮžŕHů^ş {�™.?Ş—äW ĄŠ Ł#xž“€.%$RH ٫DźÓ]ë4Šb˘m­uʤ'Şş}ŕ´'666X¸qV»ť3<đ@Śé[ßúÖ·'‡ołđÂIÍüMI˘Z™¨Ë‚‰qÉčd~!bqY#eL‰0:"™ťQllj—4›š0ŚÝÁŇ*<ű’fvĆgtÄCě䧇öC=Řóýn5–´/ŕŕÁąž÷•JĄě˙‡Îţ×]wíxż#ĹgIŽLÚh ăĄ,Đěâ||”ü̉:řŻ}‹ü©o˘Ä2ňÚ3pĺNí"͉‡ń«ZË›ç;¨…}TĺăäĆV)Í]Çđ–ą.Ś&§ź§QݤŢÚGYĺą˝YyőNćş.űöíËľdpp°ç=SSSLMMe_—ËĺěóäääŽăšš­sc6S›MÍ@Nłe –}ŚŔ@‡Ľzó4×NńHčs źRP(`Ýó)śGGLďb ¤Ć —°Z§k† .#t;^p˘+‹':ú~ĺ ¬Ńű8=`O÷x:t¨çOOLL011‘}===Íôôt¶<úč#„aČŢ˝ÓLNNfżoddä–{íÇt=¦­gÝÖ˝> …BĎkÝď칏·'�żs&ý2 â±™8„řÉ˙Ęcpĺ$śţ.fă&Gŕ®ÇŕŘ@HĚËĎ"^z– PBśř<ř8üő_€·Ţ€ďý)"đQÍĆŰgRJNś8Áđđ¶m3331&!$wřéźţ«4[MĘĺ2{÷Nó׿öst:mśĂqlÎźżŔŔ@9)—Ź©ŧşĽxĹçÚzÄ=“÷ďuŘ;ÔwÁ?.ű߉Ľ\ŢĺÉĎ>̉‡>E©\¤\.b'°AŇîř¬­­R©ÖŮجŃh$$¦Z0T+UVV–XY]ĄR­Ńń#P#„ÖFÄ’Ůđµ�BGHBTôÚĆ'‚RĐÄ6BZ*‡PË“DÚ&2iM¤##¬DÍIę(†*´ÁH‘e˙E×z°/W@ë–ߦ±WäXvĚK#ݸm9 C”"#ů•I•BZýjb¤“€"Ý’ÍŰŐ}âu§î¸šŇ;©<~<ŃsoZGW§|*ÝŐi˘%mSZ]]Ĺ÷}0±ĚsˇQŻ7ŃF٤DH…´mňů޶±(Šh4Ôë üvă’ů(Ý\Cݻ鸧DÂŮš’ôTót˙xxˇˇ!rą\—ď'bźÁ¤S9%ÝŤÁť–ë¤@Q6/·ž_7'ŤÖšV«EŁŃŕěŮłDaóÄĐQH­Vë1}ë[ßúöăbA ąx9ŕÜCś@Kz•ŕľ#źy̡X¸´Ú†v'U‹×|NŕĐh^xĹ祓ivJ†půšäÍs!'Ňärň#qĎBF‹Şpů űtgHG!ŤĄkäź˙M”_×"żú"ÂłPőçż~ŤÚ«Ł„›*x)ž ršĽĹÜ˙„áý×QžF(eZÄE•°6˛ a—?°�x—»Ĺł“eÉÇÉLC­Uç7ţ‚ęśÍÔ%ŹąĄfď ˙ĘĎâ~ů+\b‚ď^¸|^c[‚ă3GxňSźaL}®ţoXŐ˙ÚO MJ$«­ËtVżEX>„“sz‚¸÷:vŁŁ#|öłźąĹü°ćű±&Ól޸örý:Âr_ţľ”…Ů{/o>Ťyę7ŕúY8|¤‹řżxíĚż ź˙+0˝ňEL®€ř˙ž µ± g^%úÜ—Pąťů#lŰćČ‘#>|wdvŹĺ‰ÇAë­l>’`zŠýű°oßľě5™”ay¶ŕ‘ýG¦šČ»‚‚#q¬>QîÇŚéř!‘Ö8®ĂŢé‰D–X!ŐjťőÍ*KK묮Ui·;XJ’Ďą¸¶d˝¶ÉĹ‹—ąxé2›haŰŽcă8ga Úf„Čx Á6HĄCĘAi4R@Ĺ.Z.ŐÂĆ#2€Ř,G˘C2V,Š4ív­5–mˇ„B%\p–WđőHGA¬äćKIP+0č„§$ć/±,7«je–Ą’9ű%1�ZK"ÇĆkEĆĽ1‰”t*÷mŮ=ťˇwh˙źTy°$!Ő7ÁÉákŤ‘ ĎË‘ó<"«ÍĄ*)8†!ëëX–˘÷(—cŐ¤´š&Úz«—ŇýO© ·ŐjBÂcł]B;]3·´iťůzFo]×ÖgŤm;”ËelŰÎľźŽŁÖi˘D› lŮ„dŕ·Ű¸÷´.ą\ŽË—/Ój5•ĄÄu˝l(ű`LßúÖ·ľ}N^úąŐŽ8)duĂJZb˘ÔŃÁĂÇmöLnˇűž·ó!ăyP* Žµąą¤™żĄ#TŞ’ó—B>uOç©· ¸¶«&lĆŢŤsóNéö—vjńř Á‡Ű/Đ~^ř¬ő5„€…’>alIIžf<řu6ë—¨5Š„Ú5ˬťvZ†{˙ę34{”eČËFEíú'v»>Ă÷:&ďôó˝ă˙ŁÍííżw§y÷>®0έ]âtí*ŃĹsw—Ů»ćă¤Á´—ĂţĚO ćçůúY‡ßz9`ą® Âx*|ű¬ć÷^“üŁ/ŢĹw˙źč3 §ý:čvŇÜ”>Ł6Şń2aó¶7°Ł2Sę�ŢîÜŢÉÁý°÷©ěďů>&Ś€FöÄ*5J! #\Ff`˙qÄźýKLa�ÚÄŔúżůź‘G†ˇ¸Ş~3: B"˘üXUĽMđÖědÝ/ugó•?Eď®"p-kIF ĺéÎĘ ’Îi?đéř|ß§ŮjłĽ¸ÁÚz…j˝AFx®…ëÚ” «K7ązíkkk4›MÚťtΉD˘ŘÂó<r9ĎËQČyäň\Ç%¨EĚßlŇđÂń„ĹŞ;śpĎHŚqµI”He …m;D: Úť¶c$8v=ŹDä)«*–Ńlµ¤s?nŰ𠂸ýĎJ@“TŢ^lŰ»”’ŚĺŮ3Qdßô®ë°Ym3s“k7Öhµ¤�ĎsQRĆęKš,ضm;Ý®“ů'É4ľűö6§D–‡Ą5ŮŞaZ5Âbc»Ş Ě(—Ë;vŚüŕÔj5Úí6J)lËÂólŠĹB\bR°1ČČ‚ăýN`YŠÍŤ :™Ý­?ÝűaZyâ8NčbŚD z*xŇ3¦X, ”ĘŞpş+kŇŞ«¬ĺMLb˝ű<}»JÎîj¬nĄX,011A©ĂqÜŚ<ąT,öÁľő­o}űqqö*ŐKW5QصAŰ‚Ăs{§ĺmĹBŔÔ„äî»,VVˇŃ ÂČpu^ł¶12Ľspݵ¦^Żăű>–÷n© šÍfv0ş®űŽbYćáv‚Jß÷‰˘hG Ç;a©<bJl÷ُAíŤ5ś3Ď#š\…q4Â(ĐŃ1XÔŮ»ď?âz›\x㿢şt7Q;Ź”c÷_`ö'žF:aÓBYidĄŻQm,`{ű0"V„ŘîX¤c†±´e©TÚµĚ;L2I™Ó›ÎąJ%ëéÎĺrŮëq?¸É$-wšŻAě( ±“U©TPJő\W»Ý¦Őj#Ą$źĎÝ"÷y§×”6š×–ޢĄ}:Ľ1“çŘŹ{n¶PBaíťÁúÚ/đ­‹9~í™6˵^BŐ–oظ˘ůţPń­ČÝţ ćüŻ ü›[±±|¬ôݎ›ç0w#¤ęA±RyëV«;ľIpŁ”Úőc¨×ëäóů·îH éűYUČöńLťqß÷ÉĺňŁw÷ Híht–¨0Ś]˝żóO1`ę0FÚe“Ú2LiŇ÷ŔőËG?‡P2p´†ĺ%ř_˙1´[ĺ!˘™9ś\ţŁŐűŘ·Ź´i­i5Ű\¸ĽŔ…K tÚ10c´A©¸JrţúM®]˝ÂââŐj•V«WŁ$ F.ďáą1�“Ëĺ’—\ Ęär¸Ž‹ŔˇĺÔY»Z'Hd‹·ÚU5c0ˇ!®Ě éř×qp•EH,5m[K)@ĆjŚÉ~eŚ! CBßď|łóE<79'D ĽWĸvt'Ü"†Cű8rp„ˇÓSĂq‹žeřšÍZ›SgyóÂ2+kq[V|ćÄ;h…t:-”T„‘ęâÂwdoKÉŘo7ađq3ÇuŔµă*>![.ĘRčz•`s,Y,ÇŐPI[ÚČČwß}7/ľř"őz3‘~V´Ú ǶńĽ¸jKI…ňâ3*‚Ě/ô<!Őj˲{�™nŕ$­Ž±“×·†%‘(sE«~ b)+S€J×O÷<MyŢâąĘމŹÝ »1 ĄPȡdJl­@X𢡊ŇcúÖ·ľőí#Äc¨7"–WÚlą"9Wp˙˝–J‘ţ^Đeëwô~_Y‚{î˛x퍀f+-6¬oŞU˝k¦Ű÷}žţyÎś9Ăěě,>ř`Öo\,yę©§ššB)ĹáÇc‰ÁB!+AmµZY˙íŘŘ ĚĎĎóŔP­V)‹Y–$ÍŔu›çÎťăĘ•+?~śŃŃQ´Öllld@A§ÓˇŮl2<<Śă8T*:ťĺr9»ŽfłÉÚÚĺr™\.G§ÓÁu]jµWŻ^% CŽ=şŁĚĺíŤWR‚»poŁť„Św4ŔŚ*Č9 „qÝÄČSäöţ_ĽţüݰpöÓ@Ń:ý�iđ©ŻüĘőM Ó1ÄÜBEDÍ«áGwĺ/®Őj|÷»O“<řŕqŤZk ‚€Z­F±XäÜąs„aČC=Ô¸|ó›ßdjjŠV«ĹáÇÉś jµĘÜÜą\LŘW.—X__Ď2l§NťâŢ{ďe``€őőuőc ‹‹‹üţď˙>|ő«_͸jľ˙ý§iµZ1ˇěÁLMMfDłĺrůŽs„aČůÚUBa"Ăü Ăs‡ĘLmŚ’ü’y†řć«6šf7ÜŤůuÍŻ>đüµĂ¨ÁĎĂň7�Ý%=.á&ş˝@¤5BŞž! ĂłgĎňěłĎ266–ń€ŕСC †!««« P.— ‚€o}ëŹ9qâů|Ž‘‘ęő:µZŤ‰‰ *• Zk …BbÔëuhµZX–•¬ąą\ŽÍÍ ˘(b`` [G###cxýő×ń}źĂ‡344DµZĄ\.ăű>««kÔj5^}ő$źţô§9{öM|đ.˘; ČÉCÁ ¨.ŔüÄoücĚĎýŹpđŃť[Ś#�� �IDATX]­]…ďü+xč§I+„™Ú‡ü·˙=ćˇ'ŕ7®Á˙óĎOý)„!fhć#mçmďz˝Îňň2J)†††Ţvnv¤ÍfÜ’Ďç{Ţ˙Ł}»ýlET«U”R”Ëe*•J¶OŠ>Đt‡÷‘µµu~řĚËĚÎîax°„$bu}…«W®sńŇejŐŘVRˇ,•Í®ë&Ŕ‹G>—ĂKţďy.žëຎëapč„’µŞO3°°Ć|+AÜänµI”% u„6®ăŃhŁ "ŤK ”!a!,—ČZÍ&ťŽŹť\§ëş8¶Š9_Ś!ŚtŇ’çâ&mu–eé(Ś_„ČpŤ×kT7 4UĆÇ™fxpɱQîÚ?ĘŁ‹Uľőç§9ýÖ"Ae@¶Lř<Â0¤ă·ąS=Jie…1Ďó20 ]Oq›Y\ńŃpwKFÇď'«vÝUKËÚj'ÂqA)¬‘ ˘NÓ¨Ő6‚€Đv1BŃ #öLNphnŽ×O˝Ał' ,Ë·š­6–Š ĚǶ®ëáy^ň˝¸Ť'>ę´>T±:VĚ;#łjTn;őű¤”()Ń‘Ć÷; ĺň�–mc’¤Ťďűٸmß˙L2G·Ç ´€IźU7·MJpŚŃ ĺŚ Šâ5ĐcúÖ·ľő퓿ěĆřM˝ˇ0:AúeLĚ;9.ł˛řFĂpăfDˇ ™šżE°Ľ˘Ů¬j¦'Ą’@I‘ŚŹ)VV5&‘űk4%­¶Îąí–ËĺřÜç>G«ŮâřÇq‡Ë—ŻpăĆ Ž=ŠďAHłŮâä«'9xč`F�jŚa~ţWŻ^ˇT*qéŇe&''đý€+W®R©l˛ĽĽÂ#Ź<ÂÍ›7DëC‡e×Ňn·™źżA„?~śv»ĹŇŇRJ<ĎŁZ­%$™ąűî»8sć ľď311Áý÷ߏ֚3gޤZ­ŕ8SS{X\\äŢ{ďĺäÉרT*Ď=÷Üó#hbyŃĐH°Ħ†|€qÚ¶ sy6Zű©w¦htö˛č î¸H!:W^ż—ńĂĎSzd)L;mú×[ˇäč°w,·MÉîFFFťťˇŮlňć›ob Ap_ąrß÷9vě¶moőŹ ĹcŹ=Ć믿ÁÚÚ:§NťfĎž=LNN°ľľA]`zzš×_ťűďżźłgĎf ÂŮło111ÁkŻ˝^ŽcÇŽá86a±şşĆŘŘxŹZB»Ýfppááa<Ďăڵ묬¬°ľľÎWľňSwŚIU&–ý„ĐĆĐQš÷ç8zÝchQc?t‚K›pf!"Đ]™g¶�Qř!üŕbÄrłĚtá8RüNÜ2Đ%{-tˇ73nÁnłm›ŁGʞĽĽĚˇC‡ç‡?ü!•J•ĺĺež|ňóĽöÚh‘Ďçą÷Ţ{q› ąpážç1<ĽĆââZGÔë b^7¤¤”Ľţúëüĺżü“ś>}Ўˇa666Ł\.óÖ[gQĘbrr’ůůy …B¦ÄUŻ×“Ś~ŤcÇŽń /đĄ/}‘k×®Q©TÉĺrALfxúôćććŢW0ĆŰG4ş3˙:"hÁé§nóµ “‡ Ý€vsăâŤďC(áÜiŚaeß ×ŕßţsÄź š5Śč±IĚÁ{IeÜnëęüůó\ąr%Q„s2iďîě.Ť+++ĚÍ@)Ĺüü<ľp×][{ZŁŃd}}Ťńńq<ĎëiWËĘéŐŹn~šÔnÜXŔq&''n!ÓüáźexxÇ;Á«ŻľĘ±cDz1˝gS߶椲,šÍWŻ\ç\§ÍęĘ"őFťŔ÷ŃĆ/°“*×ułŔ5ź�/ąśC.cJĹ"ĹŇ�M_píF…ů 5Ş źVG†0Ôas~°Ő $\.éGw@ž0™ŃńۉňŚÂQÚD´[>‘6 E Çş9¶íb[NB˛«ńý:*©’Y»Á€F3JŔ&‰i0˝…äě:9w“ůů%JĄcŁĚÎěa˙ţ=Ś ±wj€GŹOsîÂMęő62 ÚĄHĄ°l‹|FŘŞAčřďżGk6›üáţ!arđŕÁ¬ĘSA ęő:őz=KůľO˝^Ď€ c řľŹă88ŽĂˇC‡Čĺr™ą™&Âv›,Ë"*”Ń^Zµ‚ëظ¶Ť:zs™#EVF†ą±ĽFFD‘Ć÷cŔɶ-ÂČ Ú ™´ض…ăŘ‹EŠĹ"ÓÓ{céóV‹Z­ÎĘĘ*ŤzJ­'%P/‚ đRJĹ€ĄJÁźÁˇň…"B|ßÇ÷ý TN÷ĘÔ‡x; ş÷őťÚ“Čdş»ÁŘWH˛^ĆdR×Ć€eő+cúÖ·ľőí“ ÇěŔŐiAvóŔěŚDČ­Şç^ňyăLČŔ ä'˙’ËžIÉęšć»OwX\ÖÜ5gńWľä ”%U§%oťa|°„‘$Śn#“@|ř­­­łĽĽÂĺËWFk1‚—_~•={¦xđˇ{úskµ–ĺpĎ=Gřć7źR©„Ö†ĺĺeŞŐ/Ľđ"÷ß? ‹T+U&§&{PŰv™™Áu=nŢ\¤Ůl°şú˙ł÷Ţ?–^çťççś7Ýś*çÔ9°ŮÍL*™¤%‘”fdŹaÉc 0Ř1v˙€Áţ<ż,fĹ,Ö Ś!Ś­Ăز=¦"EIT3´Ř ťcĺt«n~ăŮŢP·B7›b“j[őŤîşU÷Ö˝ď9ď9Ďó=ßçű]ĄŮ ÝK*• ŕŰţäó9LÓ˘X,ŃnwđĽ$şví:Ď=÷,Żľú”¬®®pŕŔŞŐ Ęĺ2ą\–T*őŃŠlÚШ LÚämŞkc>ÍrŽW/|™›Ő§°Ő _F5ˡřťôŃ´›Şł=x4R` ČřĐ– ·QĘż§d ĚÍÍăűkkkôôô°¸¸„‚ńńqšÍ&©Tz[vłŮć»ßýą\ž™™in\żÉˇC™››§Óé�‚ąąyJĄ"kkkĚÍ-`Űz{űF×M~đrćĚ Ă`ff†B!ĎĺË—cee•k×®sřđ!2™ źţô§¸}{–……EŞŐ*J)VVVyăŤ7xńĹL lßAů>JřŔjVňĂCym6čëfá=‰Żö¶PW]_{ľĆ\Íd$;€±É–«>ByI+Ŕ6ę˙Ĺ]č†5Ƶk7h4šüĂß˙N=üPd5>Fą\ŽĆnßwąző*€‡đć›oqćĚ:ť6‹‹K�,//á8/^Â÷ÚíKKË�\Ľx‘ĄĄ%ňůş®S­V9qâ8©T*J|M&&&q]—ëׯsűv*lll˛¶¶N.—KX8ccŁ |¬ú?F&Gsě!Ô»˙v\ŢqöŻŕůĄˇůÉ_Áţ÷¨–€áŁđďţ=ś~¤„łŻ ţú[P«†ŽWş7<Ő?„¸ Ë%^dž††9~üľŻxĺ•S­V9xđ ů|ž×_ťŢŢ^lŰćÝwßĺßř˝ČŽ<Ô`řŢ÷ľź„üä'?ĺů矣V«QŻ×1M“ńńń]vśwŢy—\6Nź>ÍĹ‹©V«ĚĚLóĂľBĄ\á_~ýkIkhÜZvůň:ČĆĆ K=ęÜ}ź}@fgx>l4$B‹E©<ĚT¬0|M L#ăMY1đ’ÂJĹ@L†T*C€Żt6}ć/­°ľŃˇVoÓluÂÂV˘â7·Ťď-]םŤnáÔ¤Ź MĄ\!𤆡¤¬ Čđ¶°,Ť|Ö"źł(—r^ŔÂrŤŐjf«ăy8¶î+‘F‡&5„ �$e_„­ >Ő¦F]Ó0›–`n6X\m1·TăĆÜ #ĂC ,Ţ|gŰ Âś&Z?ă–“¸ŕGě]Lčâ6ĆJĄ)č86ą\~ŕ™N§Ń4 ×u"ÜCă˘?•J%ND𦱰°@&“yŕĚG%¶‹Ť+Ąkë HesQŢŁ0u•ÉQn68(ö{lÖ긞‡€°5Őíj?¸^č¦i2y\× |>G®ëbŰ6őz#ÔKęŘÉőu]Ďuń„Î)†©ÓŰ׏®i »:fĎěu­»[϶î I¬w Houô©. &Ô*Úf±­T”×*” ¶41hłĆěÇ~ěÇ~üú@4o4á¦28 “ś$`n!dŔ8¬W†%›µ€•µ€Íşâ欿­e©Ż7dĎx~ű„Â{wń °”’ĄĄ%JĹ"ét:qń<—#Gް¸¸@µZŲ,´h#UJ±şşJ­Vöm Ă Óiă8.CCCId™&ËË«ś8y"aihš†iň¬”…çzĽűî{<öŘŁ\ąrmx3™,2ŇÝ{óŰčşťbh¦ÁĘĘ JärYÎź?ĎÚÚ›››ô÷÷ß—qR<[GŮ&"0 ÝĘ7PxíĘĽzĺ Ƥň膅…‡%|,<ŚŔĎĄ]ő�%AÖ5”ô!p ‹  ďÔĄ‰Îĺgxx—_ţ.ɵĎfsLMe8wîO=ő$8Žť8ÉmdqňäIzz*XVŠ|>O:¶XdłYLÓâŇĄ‹<ôĐ ŢxăMX]]Ĺ0t|ßĂ4 ňů<ăăcضM*•BJÉüü?|Š7ß|“·Ţ:ÇńăÇ�řîwżÇ©S§Bpűö,ĺr‰ľľŢD“dvv6iuj·Űôôôűz;ť9Tôßůa‹×'aŇw0µ±+Ržě,Lc›Ż�K÷A9($ŕwµ))ZôřťAł-—ťé•Ϣ6=IĄ§‡ŃŃŃ0qNĄĐ´đgWV–I§ÓH)1-‹L&KĄRaii Ë {űĄ”ř~ŔO<ÁwľówüÎďüµZŤ©©IŢ}÷]fff°m›‘‘˛ŮlÔ:‘IZBm§6­V‹©©ILÓLXKš¦#蚎ëzčşA«Ő˘Őj‘ĎçX\\d||śĹĹE¦¦¦>ňÝ%�a٬ 4×#Ĺl t#d˘~ rýĐňÁvá…?@Ěś„t*¤ęJ „R!+&›Ă?pŚ´iîŇóé“âDüÍ7ߢZÝŕřńc‹%VWWyĺ•óŘcʱ˛˛Ę źÁm'ĺJÜľ=Ë3Ď<Í­[·Y\\btt„z˝ÎůóďÍfź_„\ ĘĺŐj•Ó§OńÚk?çâĹ‹ĽőÖ9ňů<KKË S*¦MLý˙ý÷™šš$ťNsăĆM|ßŰVDěÇý ߇چCĐŃɦzĘ@i¬L]şčZ@.c‘ËZ¤RfÔĘaaZ)„4i;‚•şd~ąÉÜâ&›u»«�Ś‹ľ°ťŘ:qěRWhšD)đ}Ďs‘B"µPL\°Ĺj0ôĐÝČĐ52™ý=ű3ôVR ÷*ăy6ľďłşnóîĺE~ńŢ-Ö7ÚtěPëM¶›QłSP|Ë9Iář>m[!: 50uÁj˝ÍÜĘo_ÜŔötęMßWX†…ř(?;ÂŹ€µ%âű|-ËâË_ţň.ő¸ČÁ­'NěpŇ’vęrąś´Ű<q>ĺű>ťN‡\.aböL 5ôLŽL*Ăp®Či‘âő×ßH4ä¶@ž­V®đłG-FšŚr]'Í5ťT*íQ=±%â­f‹ŽÝÁóB "ĄZbĆşjńď ßF·č}¬?N¤;´Ě$Âë"b¸~ ť?ŘÄ„‡”ńűŰ ŇÄkí>łű±űńkRH#€ŔB JEąĄJ!`r\cnÁ§XŚ …Éů@źFOYRoř> Łi[‚u…ś@Č­çëşźčĎÜ)4MăĐÁ ENž<É›oľÉ©S1::ŠmŰ,..rňäqž|â1.]ľÄąsç8qâĂĂĂ!`’ÉđÚĎ~Ć׾öŐ$‘ń<ŹĹĹ%ľôĄ—(äó”+%t]g` ź?ů“?áw÷wI§ÓôöőΤ˘Ŕ€ÁˇAÎź?ĎńăDZ,‹b±e™<ţŘ#ĚĚLS«Ő¸qăăcˇťlˇPäÉ'žäěëg9věSS“8ŽĂµk×xâ‰Çčçňĺ+´Űí;ŠÓŢ+ ăÇ$đt¤çC`"°˘QmZ¬5<ěl ĄűčZÓ×Éx×ő±é´Ń©˘5Â3PM=-T[ ÚJä¸Űé`*•bjj’rąŚ®ë<óĚ3|ď{ßc żŹrĄ‚¦i\şt‰/~ńó”ËÖ××yůĺď144Č™3§Ń4ŤG=ĂääDb#yôč,+l‰¨TĘQ+KJĄ‡çž{–żňcFGG¤cŰ´Űmţđ˙€łgĎrôčŠĹĐŠűk_ű*ßýîËŚŽŽ2::J§ccš&żńźăŐW_%ź/đŇK/°°°ČÍ›7yá…/&˘żq˛Űl6)>šµ·’Ś2·ő–+ a ľ}şŔ‹ 7ě9…a€ăŠ”Ůč HYŠ™ą> R YôĘ‹ľ˛°’Äp/0ćŔ”Ëĺ„ýbš&şnP,–řĂ?ř}^ýÉ«‘†L… đ9yňx˘ýó™Ď|†Ő•UJĄĎ?˙,?ýéĎp]—Ç ۶cbbśZ­ĆčČ0s.\çsźű,##Łś;wŽfłÉää$Ůl–t:d‡éşÎôô£ˇA<H?o˝őŁŁŁd2YR)‹©éInܸÁ‰Ǹ}űv4ď4666 ŃhÜżµPÓŃ&OâĄňH@ ůTß$BŹŔÍ€L1đőmT©L#9#¨ÔFřů"ţá۬Pď4Ż„<ýôS=z”‹/1;{›ăÇOđ÷˙÷LNNN§yűí·&—ËîXKÂSőžž µZŤN§MĄRA×u&''xôŃGi·;ÔëµÄݤX,ŇŰŰ›M333<ţřcř~ŔĄ‹—ČF#q‘ä8ßűŢ÷0ÍP ëÔ©‡#‘î­˘s_7ć>†řşEM¤Řě(„#CAT)ĐDŠrĆĂ25Ňé<=˝yňůµ–Îą÷¸97O»ă&Ŕş”:BH4©ˇ˘C±­�înÓ—ŁřÔ>t¤!˙6@ă؆‰aşŽeé ôć9yl„“‡†č)§IĄ LCC×d Ăć¦ÇúÚ&“#=ĚLVřÍĎáÇgońÓׯ˛ľŃŠf°<<x‘Ia*p]!5 ÓHśpl×Ă  ăh¸H ş¸†ş¦!u=rV [uż«őS|Ä|JŢC;Q+u ŰďµčşÎččči“ş©Ä˛zmmŤ\.zEí«ńĽ‰÷Ö  ʲ,Ž?FǶůůĎŽë¸{k¬(…ăzŃU )BŕĎ@×5|?Ŕ¶ÝD`·ëś"\®5 ÓJ‘J‡-ź(ëąxAx¨Ńl6ťxľ+%b\%şî*ůwü¸”[ď#ĆG„ADfď‡ŔLşěľt?[űĚýŘŹýŘŹ_›\OÍę”ó-–¸WZ—ŰňAž|ÔŕŕŚN!/HYán—Í ľöĄµ†˘\Üî i]ŁBQČ{äłÖ]µ94MăŔ™ä—>űěo$'J�ÓÓSHM"…äŃGĺGŻüŃ‘Q„äó9rŮ,SSSfŕ”K%‚’,ĄFŁ^§Z]硓á8.GŹĂ0ÍP˙¤·—JĄ’$J)ĆĆF“k'BŹ<z†µµuÖ׫†ÉäÔ¦&Żý}|ţ󿙸Ő<ňČ™mď˙ńÇ»‹;Í=$ZQ± ÷Ńj÷PRu„žÜ«@€Żq¦˙=~Şź˘aK|áŕzme€'Cˇ^·MozŽ^c˝ŞŔ×!Ű�Ď…Ť t :Ą~ Ҹă{˛,‹‰‰‰äšd2^zńŰ“!$ÓÓSąCđĚ3Osýú L#|MMjś<y2jčşŕđáC(Ąčď돊ZAą\ “ @ńů/|!rĐaQŤÓK/˝¸Mh/›Íđ /žäjɵ/•JĽřâ‹ÉĎĺóůd®I)y衇v%ÔĺžŇuŤˇt?ďÔ®!‚ů3U=ŕ[ëođ‘Ł<Ääű<ZÎ×Z(Š)Á=if‘ öR‰Sˇ‘x˛L` l{ĎŰO‘%ÓÓÓÉď Ż·!éTŠ_x©…šÄ'µ~śLçsą$AţÔ3Ď$cťĎçéíéEˇxúé§�g||,|RňŘcŹ&üJĄś°tt]gllŚááá.§4“/|áóŰî;Ą##Ă»>[oo/�ÇŹż/kˇ"<·rš'0—®˘±ąŚ¸ţx¬ jůüčŰ7˙š ę6|ýßŔđ8iÁĄw‹óŕűa‹RßúĚáíżkÍMÓ(‹dłY Cgp°źŮŮŰ\˝z•ááa666xď˝wčëëáŔi^}őU666$›Í`Y&}d2ˇ&ʦ…˘âą\Žz˝ÁkŻýË29rä0ľďˇë}}Ňé˝˝&&&¸ző*?řÁ÷9qâNsöěYJĄ†a099‰RŠŃŃQľúŐŻ˛ľľÎüü<®k“JYĽúę«<ńÄwiĹü€ĹmßÚzĎ9pĎCJü Ŕs<¤ÔФ`Ą®Qm nŻ7)ÚvŤVÇŁÝqńĽ�Ą4 tĹb‹}'„¤»Ő±›­aŰv˛Ç !$–1Őt‰ięä2•RšR1MOž‘ˇ2Ů”N6­ňŃd‹ůů†Gɤň¶áůĎĆfťf˦Ů^ıtĂŕá#eŽxś‹WWąpe‘ąĹ M!dhwí(4¶-I)Ń5 =• ?á5ŇHXžë#E@ ‚¤ő))x»ÖG]×ɤł]lĂűqŔłąŹóúWË<‹™±ţ‰‚ÍÍŤd=‹EĽc¶qĽĆĹ L7ÓÍ|ˇV;ĚĹ —pś°ÝQÝ!3Š!5?Ç!śBn9Žç­”‚ Px~7»E$SżcŰt:N¤Ó#ńŹîű„¶íGÝöÖš®c)+…¦ëŃő± 7e|ßßĆ€ą†čs‡ąźÓpŚŮŹýŘŹýx�Ŕ\F2<¨X­‚ď‡gHÍVŘăŇ=ˇŮRä˛+:öŁďY)A6€FSˇˇ€o@»­w&)ˇż' X¸űéN\„ۡBjw>5’šĆsĎ?ź|}xa\ąř(UĘĽřŇKÉ×O=őÔ¶ _ŢŁŤo_űÚW’$dë3iŰŔ–»ťzýRcĄ‹é©Aęéqňë‹HÝ'ôČ `lĄÎ_ĺď>ÍZÝ'ĐŰ8čŕ ´äMŽ˝Á€XAlHČ: T]Ř7‹,ŽÇ<Ü»ŽSś*hşĆnÁCą-•:třĐÖó5ąű“i»Sáäk-1{Úö=…ÚEÝ–RbY»…ď>iŠ·¦i-MóýĺłĘ‹@ÁĘŤĎ?¬üś“gřú#łŢTś»íăx*aH9Kđ›Gu~űŚŽ˝ú˛Ťóáµá qşé`ô#RcwtŰHŔÄčdOíHě3 TŃiyě̲sţÝmnî,şÓďZéŰĆćă´Ňľ—µP‰®řźD˝űw× E{_ůÓ°ÂĘÂĺź‚–E}őß‚#á­7ŕ?ý: Ą^Äwţ V—˘•tŽť&—ËoÓLÚ ěÓ4ŤÓ§O'_ňĄ/˝´ígwÝGăăăÉżŹ= ŔÉ“'8věč¶ç=ôĐÉm_ONNđÜsĎđąĎ}`W»×ŕŕ ×®]K,ČłŮ,ßřĆ7"0>ËŘŘO<ńľďł¶¶¶Çš¸˝ léRȨČsńŁÂ°ă(ZÉĘF#)Ă?±thEQ+±Ö}űŰŔÁx­ ‚�Ę)ÓŔ˛L2)“bޢż7OO)CoŽJ)MĄśĹî4¨TĘl¬Wi67 ­Ł ¤Ôk 6Ö«äsyÖ«,-Ż˘ëA” †‰S«(Źt*Íă§9z°ź W–xóüm–Wktlç…íEń>Z*GşKő°ŕ–şŽÂVß÷đşÚâ{OÓ4D䮲îc«ë¤Rf˛Vó¬›íßŮ[Ź ńÉ1ńŻbëëřýx^@«ŐÚŇérŠ™Č1č çvëułeÇIÜ2ě1\Çĺúő‘fÜ˝ĽĎpf _l¸Ą”]@˘Ř}PK­HۆH«Ď­-4Ftíˇ[̱ t#şˇnŤmŰ8Ž˝ ŚŮ‹ٶ(…ż2¸mŚŮŹýŘŹýx�"źÓ™Ô¸xŐ§ŮŇq]ĹOĎş¸>ŚŹjčş V‡w/8™ŚŔĐžŻh·¶'Žęň ×…Ůyź7Ďą8NX\šFŔä¤TŇ>0IPř*ŔW7ISt%şÔĐ…|ŔG*Ljҕ˟:DăO®Ď»h@x Ýőůtę ŮŚĎ­CÜô†i«ĺ2n¬rşt…“Ĺ díĘş‚M% üvŽÍŢI˛ĺˇč$u/§€­Ü! P O¨;¦÷·(“4)Ń„@> 'éˇ(¤äôŕ1 Wł¬zö¶ŐWU»Ć·Ţ˙+ţčDš˙ůŮĽzYçÍ›K5…!a˛WňäŚÁgy\_ů>'«˙©:QVĽ5o&ľ9Ť–™ú€™® ]Iî6Z÷s®Jšˇçou2R">Žo¦‘n;'­ÎÁwţO8ň4âŮ?‚O˘2e„őÜ×áý_Ŕßüň[˙7tÚQY¨@“¨ÓO"#Ü;ÝO;‹Śť?·—đú‡+°~9€DÓ4FFF>$“Rň©�mĎń�� �IDATO}jßŢúc*Ž}?@ TжȄ…›Ý,ÎpQ1ď†BŔ !"-Ž-]hşÄ2MŠůăĂ9NźbzĽźţľ,íVťN«ĂÂÂ"ÍFŤĺĹ6R‚mw%“ŁZÝŕĆÍYtCçý÷/ŃŰŰĂňJË2`n~žVłĂŔ@?ťN‡l6‹ď4›-fçćâŮgđŮ'rö7ůŢ«X«¶|•hr„�axč!#„IĆ…¶ďăů~biłe|ßO�¤E+T[˝OcĄ"‹ůttMď˙úôńĎ7uÇßkˇC‘ă8‘ČłÚnm…ŤF ]–i6›t:ňů|ć!xâ‰'ń<ź«WŻ&n^÷´6Ćď± p Ź­ö"ŰťbÇ"Áv6Xé»ěÚ ˘µmw{iř9]×Bŕ-0ĆĆó\<ĎíjďŰ:ŚŮĄŻĄöŢŹ?©utŚŮŹýŘŹýř�©”ÎÁiťˇóWojř>\Ľę±QSŚŹJÎčضâť÷˝Ł® ü�\LFGݏrÍçú-źĄ•�ßO®zĘ>GI2ăŽi\¤nzmĎĹ ü®äP$}»[¦ż{ś;ż§¶ýkŹłýč%u©‘Ő RŇ@"ďC¸¦úŔßďßFʢđ…‡XůË·6jhŕ{H_qOčײVX1JŘBÇ”=Ú&}f•tĐv¨Ş¬ ŻťŁmTPźĆĘW'­;Y:z* éŰ´}'DT„ n4V÷Ň}ż—@°şŰXE?/…$­dőP+GüŠî›*NÇ{FxŞňłđ#Ŕ{ĆŁď۞Åęţßóßâ Óźĺ+Ź<Ƨ§¨µš€ž|€¦ÍńňŤp¤ő·dS‹áçzřZ $ľVÄÉ>C1Ó{‡b_á+EËwhxü@DsMjw‰Ý×]ÝÓv‡cJťśfˇIq_[î÷xn%ú’Ôŕ$­ľ[?ŹGܬÝB)Č–ÁH‡vĄRC+ČĄh5Áő ””¸ŮÚÉGš~Os'jµKKK8p i'q]Źąą9Š…Dí^A°´´D1:żÓë/..’ËĺÉf3Z{BJyOBÖBŹ(Rľ/ţ{Ç9ˇ|´µ%„ž�±�şn{»…˘*jµĆSh ¨cDĚ´lƤż7Ď`_ľJ–ţŢ…ś…!Ň)ßsČZ.ş¦X[[…ŔÓý…~Úť)ËbyeŤĺ•U„ä YrąLMOŕű=• ¶mS,ěŁV«łşşŽi8®ÍäČťN›LÖ˘XĚ#„Oˇá3ONshŞ—|寽qŃa‘D…°łÍ� ĽÝÎhčbŢŞ ¸B uź¦ŕ«Dt1KÔď» Pwl>iP3ş.1›%“É$L—ť6ÎÝî}1ó%ÖPńĽp-ět:4ŤdL …BâĐ??źĎńđçđ}źŮŮYÜ®÷p7Ŕh×ú˝cçŠß®żĎ=ö6şX‹;GdGÎ[a‡“Gi)ٶC,&íűľďmî_v1;5rş÷đb±¸ĆěÇ~ěÇ~üş�2ş.™·8zČavÁŶM|O±°äł˛pţ˝P ±ÝQŃ)ب„ŞéŠżýMS8x^,v¦0 źCÓ.‡0tyÇ#P5·CĂë0_[ĺőŮ÷)Y9=BÚ´şś~ąSá»=W)p;đ(‚Ś4HÎEüţ5]Łgj„Őß’Í˙XGT}˛ů6š)Ŕ“-ŔІ´Z=/ J!Ý�ˇ4”+˛$Ž›ĂmW¨ź>„yřz*u×ë hř5§Íz§ĆĎnľŻ>5ńĹt.ěÝ'jyąĂ•Tb‹™´˝$‹Ş»Ź€„­?9=…¶e˙ńŔ„’¬™ć_ú<?^|“UUĹŹ;{o§Í[Ëďs±zľÔçXĎ!Ć ŘžË•k׹˛qŤ#ú2_ąIőJ*âś$¶śĆě˙š–Ú<CĐô:ÔÜ6 ×ćç·ŢŁf785rŃb_eIÁ]®yÜě ¶Áe±MÚÇ8'ňĽ°˘“kő‘ć˙Ç~ŹI‰™ÉÓ<öÜ:»µHř.Ě]„˙ç…ţžűźÂOřă—˙ńC]˝¬^‚@Ó©=C®·ĎČ˝Ř*žçsîÜŰ\˝z…b±DOOJ)Z­Żýě5:ŠĹžçqţü;;v”ÁÁÁm_÷š÷Ţ{ď355ŤeŤ ëÚĚ\Ůdö^KÂ"Wm;” eb—ž¸"iÓ[Ų¦…lM×HY:¦!I§ †úóŚ –(Óßź#mJ˛)ťv«¦iÜľ=‡!‹xž‹ë¦i·C'3Ç �ÍfZ-jQŞÖđ˝�×s8’?ČčŘ˝˝4]#—Ë7oÜfii™b±ë: `;6žëÓÓSB Ë ×3Ď]irY‹ŢJ&’Ł–ĄBÖOw{f\ěîa¶ş˛K´8bqŘvçľÎáŘÍgcc#rË' ‘D A°7nŇŰŰî~˘˝Ňh4H§ÓÉXĆ6×EËěr¤€1 #a°„"˝ˇë]%çßľ~ív‹A\ß÷“żŰívbç ˇ.‘ëşI‹j¬ďŇßßĎ“O>ÁőëýĚÎα^­Ňétvw[GďvDpŻkß6Ŕ¤+Q ¤DuÝgˇuvŘŠĎÉđŹÚxQj[KŇ^źG×tĘĺ§NťÚcöc?öc?~}�Čd,žz´ĹŤŰ—®š8NxÂáŕ¸;6)B‰¤ŘVľ Ó ¶9B†TgĹčĂgž’d2fdGąwţŇń=ęžÍŐµ9ţňťr¸oś…Ć/_=Ëhˇź‡†płş�FK}J¨Ć1ítľ¶JĆĚPJenĹĄŐŰôfKś›żŔç¦ iË2t”đĎ÷xkáOŽť�mßĹúݲ$¤@·L&ľô8W/-Ŕű^P#›m˘›RóŔ Z�Z€AHQ’*´Ţ%ü;;ăőŃÂ}üiz‡†‘w9ĹBŕůmßćÖć"˙őÜw9Ü?ŽĄüĂĺź3«đą™3\^˝Ť‚ˇ|OX FîGýä¶ç˛Ü¬2śďIlQ›N‹K+sT2yrfŠr¦�€©* n·XiTéË•)§ ÔĽ)Í@ }ËJúŞ35Mcr`śŻŽ?Ëąőn3¤$'É ßełSçfm.iç S9|ibŤ‚ć;'Eĺ I 4JŔ@ľ!÷n#qʆgÓôţ÷}‹ńr?=ą"go˝ËÍl™GÇŽ#…âěí÷9=rRG‹ĆH)EËíŕ+źb*őé+jť&ŐvŤ¶k3U!źĘŕů^Ô–$±}‡×g/đ©ÉSÝWR#Ą™,hş0L䣿EűÇ˙©ĆŇs¶l®×n·˙Üľ ˘€řoŠş=‹rě­é'^®ó•o˘§Rp‡{ig TŔÍ›7™äúő븮ËßţíwĐ4IłŃdhxsç~Áëośĺé§źˇŮlR«Őąví:W®\Ą§§‡Ď}îłüŐ_ý%B<HŁŃd~~žüÇä_˙ëoŢÓË~<Ő–«‹Úöť-ö€H� MÓ„÷˘®K2i“LĆ \ÎňđŃĎ 06T$e…­N–e˘Ixűü®­WÉĺrôö”9xhË4i4´ZmŢ»p™r©‡V«‰ˇnëxT«5 C'›Ípůň#ĂCd3Yň…<›¸®KŁŢdii•ńńÖ×Öčí­P*CĆV(ţ‚ďxžO»íŇî8ÔK+ Ţ~o‰÷.Íaw´Â COŔ¦$‘‰ÖW۶Ń5-ržÚ\QQ:)…`ŚŚm‰ @DřčÚUAP­VYZZÂu]ňů<kkk(Ą¨T*8p€z˝A§cGmWa{K­VŁŮlQ«mbY)ňů`jjęcc dĆ„.{:†aĐjµfKÜš®[N\BČ„ÝŇ ŚÄěšFŁA*•˘\.oo‹4VjµZȲJĄ"€JŁżżŹZ­6óóóśűĹąčš4CÝ `ĘÄw†ĽKóA�ĚÝĆ4?»Ź§ÂďĹ‚Řjo–M Đt:í¤q !Čň<ňČ#»ô»öÁýŘŹýŘŹÖ`L¸# xéůUjőłóYüŕö«±`žŠ«ß]€A@ĄÍWľŕ1>ÖwzĽ�'đéxçć/slpŠÇÇŽqiĺwńg<öä1ĽŔçęÚ,›ťW«sÔ;MĆJ”¬ď,]cşw”ďĽ÷*e+ϋǞć —éË–¸ş¶Ŕ‰Ái^ľ|–“3ś_¸‚®ä˝ĺ›4í&ď,^ĺĚČat]Çö=-Řż’Ѹ§ńŇLťě`…Á?x–Ą ÷‡W°× 2ů–ĺbH©ű ¤ &×1°7s8v™ö‘ę/|ŠŃÓ'0-sĎÓÄîDËÜŔçőŰ868ÉéáĂ؞ß˝ý]&J(W×f‘Bňł[ďPNĺ©d dŚWŞsŚćű¨wšüčę9^<ö +­*)Íd¬ÜÇŮŮ÷é&k¤đý€M§ÉS'Ż­raů&nŕóôÄ Š©\ئ mńiPj;ŕ^“±ű}OI)I›/ű ®7fůţŇYŐmßąEQ(lßI’˛´ řŤb‡ă‡´ O…Ś?‰«ň,[żOďŘgRŰóţRJá>Nŕqöö;Ś—úřÔäĂ^ľ|6»D€íąüđę[¸ĎrcťˇB‡{ÇyůňYz3Ešn›ëŐľxäI.-ßĆ \†s˝,5Şl´käSYŢ[ĽĆz{“ÉňšÔ¸¸z‹źÜx›§ĆO K/p€”ä7ÍB uüč kżńo)˙đ?‘޸Ť‚p~ů>¬/ÁźýPWĐ�aw9ŞJ‰›/˛ňĺoPúĚłMżçö ¸č€°daa§ź~ŠÁÁAţüĎ˙!gÎśćđáĂ|ç;G:ťbeeÇqříßţ:ńÉĺËWHĄRĽ9ś]ľü׼ňĘ+üń˙»VŘÜ•ßߌwWľ‡çą ĎŁn­ŽpŢĘČéH’ĎYLŤö1>\ft°DOOš”Ą“¶ –——Ń‚oż}ťľŢ|ß§·ŻB!—gldÁ>fç®^˝EĄRbnnžrąBĘĘ`ŰÇqČfÁq]Jĺ"ťNĎ÷™žždu­Š•˛Đ5ťjµJ.—˘XĘóČŁa™:ş>‚ĘJŃé8¸®OłŮaiĄĆÍą*ł ¬®7٬µiŰŽ#đ}‰aÂC ÷Z޵ö[–•XW{ž›XuKęă1Š4Ë |ĆÇý›š¦100@>źÇ˛,<ĎcxxN§C&¶ Dă¦%‡Uív›µµőÄ)-ŮËÜâćáXt°,‹N§“vC(j®ëFrŤb›gß’Ö¤¬h·ŰI{S±XLÚ‘âü!ÖĐĺ0fĺřľŹmŰ!¦ëř~@oo…Ď˙ćó8ŽĂĘĘ*++«ÜĽu‹z˝ľĺĽt‡}~'óDt+ ¦űubé·jî˛čîŇ…ą“&Ź•˛žšâرc ôaYĆ'˛Äě1ű±ű±żb�¦{3Ň4ɡ˝|ýKËüĂ÷ë\ľ‘Ćqô¤)IV" &<I˘Ó¦8ŮQčşĎÔX›/>ëqâř Ú]Ú“bҵŠN\ße˝eó×ď˝BĂnq¤‚÷—nđÔÄ Š†Ý˘n·xzňţ‹—yţŕăÔí6ëÍMú˛eŽ Lsµ:˛(šUjťŠ)”Ü®­đóą Śäűhąf7—ůâ‘§xíö»á©„%üJNî9qÍŢ#ü<ŐÁöËqćÖ0¤Ťixh†‹.ýQ¨@#$žmâşiělö“#őŁź=I&—ŮFíŢ™4ěš3"dH|çâO¨wZ zY¨­mű™óóWřÚÉĎqłşąsč\ZąĹ“Çé_-cűŽçňęµ·ůťÓĎŕă>ď,]Ă:ş¦óăosmmŽĎNźáęúÜö©(ö� Ő–+Đ%Z{˘Ł —ů˝ăż…ë{Ľ¶vžş×LŇĽmom ™aÜňyˇÜ¦×P(! ›FҦźzć‹”gľi¦±ĺ]÷XW÷VÓuČXľ{ůu>RjT[ <?@!pŹĺF•ţl…óóWH&k­M҆…’#}l´xľÇ­Í%jí&…TŽ�¨¶j|űťďóüÁGůÁµ·Ę÷Ň—+% {tw‡Éč? &.ôT†Ňsßd3[ÄţŮ·ČÍţÝ®m}†čłmąĄJ<ä=s„öżNî·ţfľ€Đ´c” …1Ďž=ËĐĐPČ$hÔ1M‹ŮŮ9ęőz"9?ż€çyôőő!´Zíđ^;]×)•Š´Űm.\¸@±XÄ4 Nť:Ĺąsç(—Käóů[dW‰}\¦»$†őŃ"'şťÎiš&Ég->>Ěá™&G{Ég R–F±&e,,¬˛Y[‡ŔÁó}††Đ5‰iĄ¸ukŽ‘áafgçČçsÔj rą<++k–A±XÂîŘQËŚA§cÓŰ×C§Ýfh¨Ą ŻŻ‚í8ŚŹŹŃj6IĄLňů…b6iQQJṍ¦M«ăR«uX\ŮŕúíU––›¬¬Ő©Ő;´:Ţ0r«‘RGH‰ŔŚ!i–FĽ–Š®4Bmč•!Ĺ®6¦9 ä}[Kňů<ů|ţŽűP©´{˘‹E*• J©„ĄňI„a´Űíd­‰[!BÝ(]ßX…@—Ol†łg„Ű4¬b°&fĆÄŹ)Ą0 ß÷#ki•€8ťN'ą~RJňů<…BÉÉ Ž9Ěüü·nÝbm}=Žl»ď®öĄ.á{§ö\v.ť»~.^Tü˙îvĄ®ö^]×Éd29r„cGŹR,â“ËYöÁýŘŹýŘŹ¨‘RbpâXŮĚ?úY‹w.lÖRřč˛8ÜQď RˇIE>ksä Ăgž28|°}ł«^K—CÓ™Ş óó[ď˘i•L‘…ÍU>=y*,ŽdŘ3ťµ2ôeK(iĂbµą.5Ę™77Ѥäfu‰B*CJ7Yin3ŇT[5Zn‡M»ÁtĎšÔ¸ľ>OÚ0‘BF-ÚR/!f&ĹŕÉŚb–ŐCC¬÷}Ě·çIݶíđQČY@选“KŃ>TF<5Eꥣ ť űÓĄ¸c"Óý¸”MH&Jübţ2vŕ‘6SŘžËLĎhó ‰.5҆Eo¦Äb}ť´arłşČrmĎĚ<Ś,Ö׹±ľ@˵IéµN ?đńEËiâřS•!Ö›5ëk šI"łĺŇ#čÖxîÖ1ůUžB$`&džń‡ü ˛ď¦ůţňYš^ ?*$şOĎ$đtÁćἇŃec­„NK ĐĘ˙™‘ŻÎ–ĂeE|[˘%$şĐ810Ĺźľő?*ôҰđ}ú{ĘšŽăąčR#ge(T¸¸r‹”aá>׫ î§nwpý€+ks¸ĘŁ']Ŕń]<ĺłŢ®“ŇM.­Ü¦/[F×4–U4©%¶ˇ2ú,˙tBęVe€Âg~›Ćŕ kŻţWJo˙ fł ŇGÄ~oB 4 /“cý‘OÁWżIćégIŠHMűP:?~!ŕÖ­ŰčşĆÂÂ"J){ě1†††›ŮG9ă8Ôj5 Ă`ii‰‡>ĹđđGŹM4Nź>Mą\âĘ•«w<ŐÝŹw_Ö4 ©éHAŕí9ź¤P” ‡'r<vb€VVÖąuë&­ž ˝ôöU0 Ťôř u Ýäżx‡R©Äâü*™t× PJb&‹KËdŇi,Óduuť|>G˝Vgddz=ü[ʰđö× [ůň…eˇ}µçű8ŽO§nSo´Yßh2»°ÁĄëËܸąĆňÚ&ŰĆÔM Ý@Óő­vÚěaőŹŽÂ —{ĺřj[QŻI‰fę]®9^"vś0M„ŘJdîvG˘\w˘¶ťOzž™¦‰iš `r§ýż<îtB 8T˛Ůl" ěşî.'˘nMšř{ńšÔn·q]—L&C.—CÓ4Z­ťN‡N§“čě‹z{{8zô0kkë\»~ťŮŰłlln`ŰvÄ8UŰôî6. Ŕtż†ÚM¬ŮË )j…ŰÚÚŐ®ĽWČ0çŕĉ:x0ŇĐQZh}ŚŮŹýŘŹýřg’ôʼn€a¦§*T*NiňÖů.^KQÝȡ” Ź˘cn!C·R¶Îé6§Ępp¦@ĄśF×ĹžBz{l¤ĄAÖ°898 ®WçI/yŠáB/Á™‘#F“…T–ožyrşŔ×N~–Ś™B—u»EĆHńŘŘati K‰‡{GČši÷M II%ťg¦g!Sĺ!,Ý ai„Îż˛qřŕqÚI˝ŐuťŢ±!˛_+Qâ�µKs,_śĂż´Ś\Ş#ś�%”Ň0ŃCúřĹCĂ”&űÉ”r膾ë´đ®›·”XšÁ‰iLÍŕÂĘ-Ą8Ô7Ę‘Ţ ‚GFŹ L”*ôRLgńźŁ}“ř ä*|ĺř§15ÇÇŽĐń&JCüîĂżIŃĚ⌅n®çÓ›Ëstp’¶ă`j:•t]HŇŇH´}’·,î$}R N7ĂBAĘ´81z„J¶Ä±Ë3|űňßsÍžÇW~wţ†&`Ę xľěSÔ4T p1©Ş3ČţŻ’ď?Ť™.!w´'íül!uRšÁpˇŹ/˙4—VnaJÉdyă3Xš.5ľqú RYŇFŠ/Í‘·2|ůřg04IÎĘĐr ©ńĐČ4 ČęéČÖÜ'­›í%H)¤4ť @!¸ij†ÔîhăůaÖ¨Źű>ëľÇ¤”XŮ<úɧé N±:óÖ?ţ_”gßGĂ ç›Ô¨ޱń/ţÂżBjtÍJ…§ř÷T !0 Ó§N~~z:Ô ŰF“Ô6çĄ33ÓQŃ)xä‘Gv]łžžžO4ÉߏűUŮoÍYM“‘ľżŤăŠzŁĂĹKł4uczr“'Ńi{ś?ľľ^:ť• ÄÜěą|]7±m›l.K ‚Đ]ÉĐčt:ŚŹŹpóÖ,éLšŃ±!*•2Ę÷1M‹ľŢ–e„¶ŇR˘i*ČDş/ť–‹ăv¨7lnέqĺĆ ó ¬­5i´l×Ç÷\?@Ó 2i#Kľëbj2d”mŐU×őpAyř4„0"ˇc/iÉŤ]rD$([š& ę@ ëa>Łş/¸řH Ë^BÚ˙d@čÔĄŮî  4›M ĂŰÄbçĹH8v’2lqp‡V«•0ebQ|Í2™L2VńkA@ŁŃŔ4Múúz)ň;z„ëׯS«ŐX^^aeuĎ Eţ÷bř~ ;fÇ>őÁ&;’TWňîV©ÁXâČ‘#a+Z6K§ÓЬľu4MKôzöÁýŘŹýŘŹ_Ùޞ ůśÉ™,Ë+-nĎ®17°Y8®Â4Ĺ, ꌎ¦$›ŐHYĆž…ýÝ6@MHzŚ R)=Ěáţq ©“6,´¨ŔčÉ”¶=ç@ĎXXdd·,�űłĺ¸ôŘQ†{â@nkk,¦r‰ţŤ†$Ł[d4ő˛ó 2Ýv[«;šÎě•či†F¶%•MSš ďé#¸ő6^ŁCŕ‡źĹH[ąf>Ť™2ĂDz§Ó„ř`Fަ$-…°ŕäŔ&ËC( g¦#{kčÍ„c҉đfŤÝ'}Óĺá]ŹŽĆtg”�‘ )ÓIF3ČëÖŻLŮçn ™ŘăšĆNă˝#|-˙ENOśŕ•‹ŻńŁů7¸Ů^ Ř(˛ZŔç{ä ”0čy6üĽŇłT†&•D7ĚŮ9fŰ�' lçŚ4BHŽôŤ3QŔő\҆…Ą‡ ´3=#Ékä"'“b:»uu?¬ćkND'ÚSÓ)4>Y ࣴ§Ĺ‰R ©é©‘ÇüÜשŹeţo˙3?˙{¤ X=ńţ7˙z:…YěIś“b¶á/[}4ŤůOpç‰Öµ»¸°ýÚă2jËŞ7d ÉfÓăęlÇu©×[T×k?>M©§T.ráÂzń\źÁQ%# ę9RÖëkëôéúúĘ,--sâÄ2) Â4uŇ醡'­‘10ÔîřضK˝ŃałŢćö|•›sëÜ]ĄşŃ Őöp=*b5Ć IÄHIÄý%¨Hä5lťŢáŢ•¶AŕGëŞB!…BG4B¸ b!^µ | éş ňHÄ×q쮢Y}äu'v¶ú8€äâN˲B%vŐ!%žç%mi1 É÷} ĂH�!ËËËQ+Ąą‹QÓ˝Ć×4•J%Żíş.Őjçਵµ5nÝşÍÚú:­f ×uC«÷»hĚěÂ|=EípKŚîC)%ą\–ŃŃ1Nť:E©T"e™[KĐétpÝhŠ«}0f?öc?öăź×zGˇOq‡˘Ü˛t,K§RÎpř`O˘/„ýmé¦Uîi%y/'ĂQQŘkĺČ›)ÜTŹŰ'֩ѤD—:)at±•E¤Qüńôîîb1ěÁxů0,™­ MK…4ç• ‘Úă5ďFCţ °4CfÉ™)zRŮ®JńqJ´!0ĄŽ)4’Qwż¶÷3!ŽŻáöÖ;¶%\{ŮÝßϧs>ÄáÁi~Żůn-ĚňîâenŐć‚&Oô–)˛hN$Ů—¤�� �IDAT“«ĚĐ×?„aÄŔ‰LwťG‰‚”ş™&mx¦żĺäpáĂÝ%ň/WX›BÇĐ5´OŘÉ€[UßťÝîá^•š†™ÉS9ţ­‘Ü<óĘńčyôSôôô€¦!ĄÖ5OÄ'ĘĆú§^ÜmÎű×kŻ}*śŰA°ĹňPŕ*¸®`nŐˇŢňk†ŔČzµÎĂbb|„|>Ë»ç/âz.Ł#ĂŚŚŚ01>Ęęj•TƲLR)‹TÚbrň87®ß„Ŕ'źË’ÉZˇö‡‚ŔŰńčt\Zm‡ŤZ“Őő&s \ľľÂŤŮu66[¨$7¨ ,ĘĄÖe-M(ń"ş–p …ş.ľďă8n—NN|kčşŃĄőBŘľ¤JYa‰©„đ€ i±Tä-I‹”÷O—%25ŘÖő�Ďé»1>öżUj{NfY©ÄĆ; …BjµťN‡t:ŤmŰ ‹*¶µ‚€ŢŢި‰Ů3ńÜŽ5Ýš3ń~ď©ńsMÓLZĄĘĺ2<xjµĘőë7_X Z Űb ďÎZ/żüuÜţš]‡eš†eYTĘeNś8ÁÔô)ËJ杦ÉäłĆş=ź”ëÝ>łű±űń §uÝ›ÚÎŤöŽ'ěÄ'Kâ.Ą›řŔ׼—H,a`é÷Q´NܡĘd{»‚čĘ3b&ŤŘůCcB´ó±»ŕ|@Oú@I°Dř(`E îXhłËĂ^CůaOÎw&ťĹi)¤ZwÝrĎűęÎ`ÎÖ)™Q08’Ér`r†@…:$zôšB„ZBČm- {±Ív·(u#E!O"%tĐtÔ':Vâ·ß  ę6Ňř0�ë.@E„Ąo¦Xaüł/„NVRn1•v�rűŔ½EČ"¸łöѯ펵hhÉÜÚÔô=)5‚Íf@ç¶ÍF# ă¬°Yëp`fc‡'řô§çćÍŰ\Ľx™‘Ńa¦¦Ç0-t&Eą\¤ŻżL:m‘2Mž‰ŢÄvBG'Űv٨u¸~{• Wąvs…Z˝CÇvq˝PV7P EbŻ13B)… žç&,A!DĆ ŘĆJQ$,)š&ńýPŃ»ź+‰ "^ŇŽdG  X(ˇMT2 ¤‘ťu¸ Rh{,žżěús÷üçA™ß±‹Q7{Ą›ábۡ嶮릹k] ™+!ŕ1(d€„ş/1SŻ×©Őj¤R)2™ ů|>ůÝ1˙ľř54-l™KĄR8Ž“°ešÍ&AN§ť›-Łi›››!( ś<y‚Ó§fuuŤŮąy®_żÎĆF5rcęZ细~§¶Öĺ »Ű”čb$ĂCĂ<ôĐI‡ČĺłhŃ=!ĄŔqś„1dŰ6Búúú>1ç»}0f?öc?öă+PÂŹŞŃm‘yOEČťKrî[˝„Ř*ăřČ•ăη§îüv»M<bJô'‘ŢKř$TDëŐ?h°×Ý/�fŰó’ö}ńÉ7Dl×î­Ň˙0×äÎcę!Ä'ÓqÄ c6›˝ă=łĐßc–iba&˝ć Ś!~9€s‹µ˝”�ˇş\¦öĽ>^@äWQhřľiklÉÂuOěł˝×BfH4#Ôš /l7KëWéäőŕďI[Žëştá]űŃuűJ!“yµsĆ‚úš¦¨�ĺ‡f@G˛¸PoşlÔÍ%sâč$CC”JEęŤ&čap¨Ë4C‹ŰőétÂçml¶Y]o0żĽÉüÂs‹›ll¶i¶:´;vHŠĐšY b°$ÇPJ!…  K=B†m —Í"¶ żn1!5@)RÉ­µNtY'…´Ź ĽH¸Ţŕ˙gďMěČÎôĽçäz·şµU@a_Kw˝ws8C6ÉRĂ!ÇšU ŽlK#…dKV„˙ů§#d‡Ăv8а#ˡK#JĂ!9$5Ă­6{ďF/@Łn4ÖÂV(ÔroÝ-·sü#óäÍ{« Kcé-?tUŢĽ™yNžsľ÷Ľßű ĂĆ !$=V„!ĎííxQŃn·‘RâşnOŮŤľ·NÇ#ŠbQáb±L@(€b±·r ZüVqy‘ Ăġ­;ĆéďkµZ´ZqyŹfhh]l„ae™ËŔ ÍZŃ?×cńŘŘXjcÝjµRQ^ €čg¤Ů.ȉ˘X[Í÷}Ťĺr9ý¬pÂ0Lď­Z­¦ ŚfŮŚŹŹQ¬˛uÇVÎ]>ËĚĺšó-šŤ&ťN'-źZyĚV×`şÇĄ:q–ÉČčŰwîbűöm‹ĄäúşĎ§Óé`Ű6ľď§@L©Tş©ňÖŚÉ#Ź<ňřÄ,| LÓÂ÷CL3²ŚU“řO n=Á˝îYo÷Â\\űW=÷~1aâűÝéxńI˛ŁäcŰÖM-ČîZ,îLóÜô5¨;ßFzˇ*Ą˘Ůlőěě†eYt:m,ËÇuť›JĆď‹Bô/!UH#ÄGŢzwĽ˝:ťNşčÍ ”‡aH§ăQ(¸7üĚW>Nd´(ň¸ő1Đ\fŮśÇĘósż®R1¨”D†%$R„‘¤íKęí€zÓca1döěŢĚĆ ëP"Í BI»ĐiÔ®.4¸tyéKó\¸TçŇ•:µĄaĹş`I;™¦“°8#”23ŔeŻx©ę+ŰB$ şL¦i¤îcËK>ăyQHF©lúnKý<dwnÂ�ÓP@§ťÂŽÇB$‚¨ëx}ş\†ś9s†(ŠĆ0aáy®ëR­Vi4ĚĚĚŕű>CCCi›¶ZMöěŮCµZ˝Ąk‚€ąą99wîĂĂĂLLL`QĄlŚBˇĐSúćyWŻ^ĺÜąsěßż?µŘÎöÁ<énčsjqiÍ®Ń/ضť¶ť.WŇ@‹išéZ§{ţxťęyťN'vŮéůľlÉR?»fhh(ţ.ßĂ <U|&¶¬aŰÖ-xő€ůą®\™ˇV«Óh4đ}ßRÝźlI“R˛@Ě̦i`Y6ĺr‰R©ĚÚ›'Ö0ľ~N©€éŘȤd2)«Š]©bŔĚuÝ[ŕr0&Ź<ňČăc ĆtkoŰíXµÝ˛ĚU|˝?_é|}×âS´ ¬â›–âÎ҉ ¤Ýn#„‘Šŕé?–eEŤF“R©ÚAć‰Ęň¦w°Űé…XĽË'÷ŮE©NđmŰN“×unĘNsµd? ,ÜěůV»—[=ÇÇ9YŐ!Ą˘ÝŽGŰvzŔ˝[ëy±`gˇŕŢ} 3Źt^‰˘0yŻb˝«\ggĄ1NĄ]V',NXŁ®Mn˘'e`&Ú( ” —çj Éb#˘Ůňhw|îżo¶íŕ‡! µ6ďp‰ŁÇ/qâôk­ř©6Äš¸f?`&bGEDa„”ъɤNŔu‚­x @F’HF‰®ÔuDľEěDŁÇĺX{$JĆ`ý®ë±Óź‰Htw1B °‘Ş€!|PŃŚÖ‚˛1ĎHgCCĂHŹ?žç111ÉĄK—’’›XP8Łnčśťť%‚¤,gů¸ż CŻcĆšHA‰Őć©ÁsĂ ÓéĐjµ(—Ë Ç!‚´ÝLÓÄqś”٢Ů2šÉR*•Ă1Ôn·S§%ýY}oz˝”-“ ĂBˇĐŁcŁPDNÄ‹LkQmEłŃÄ‚M7°}Ű–Ô†˝Ńh #Éb­Ć­V )%ÍfĄĄQaš&kĆÇ�E©T˘Z­211㸠$ď RbŃÜEüĄćĐQy»X"JJŃ›Íf i€IŻs0&Ź<ňČăSĆhM‹ XZZJę±Íä˙VÁź†݇$RńǶc{Đ~˝˝X /i+c٢éF“ëOsbŁ„@ܱ~»|ČÄÝòś”nŢż3 ě´ZmÚív*:y·Ţ‹ĺ»ćI¶{#6žź’ńMßrĽkĄ‹ýţ÷JiqÂĐLDcVAwŚ=šfĆ…*ŹĚs’ŠH† EOycÜźµ¨iW¤Uś\Ę�eŇńÓ—;4[!ˇşČ•EÉâ’ĎĄË‹ĚÎ7h4=:? C B`"a–\.1¬Řş^[ňö‹ůëłgěTdć6E…H)zúB”VRőŚs1›BŻadâ6•°kč– aÄó„ÉĽ[c+e!ĄM$ÍŰ^µiY6;věHž‡ &'×R,–veüFF†B01±6ĂxR·,ŕ*„ P(°cÇLÓdÝşu} ÜxHŐf†•ä8ĂĂĂ<xB!6č_Äm"şš@ ŁF3]— ™ër"č2a´&Śçy ¦lťN§“Šňj†>‡ďűé†:5iÇ%íČ$ A'ęЦMGµg ;˛±K6Vb!­Ů; ÖÇđĐ ¶í066š˛‡âľkžçQ,)‹é=čgf¤Z0n Bš®oYŘĂ“ČĐĂh/6k1ŔÓj3492ÂLôÇúKľr0&Ź<ňČăS’¨dwô„¦wŞbQËnţv+Éë'?AČÜ‹JőđoÇ™3‹YeZŽ‘Şč÷/˛»mUŔ˛l˘¨k÷ąüZŻ}Ťźî\\Ý1ĺ!J¦ŤťŘI÷'ŚŮňýwüNĹÚ2ýîwŁßö÷áOŤęî„®—ö­šĄÂɉłG–Š.s,ć.ĚEÝ1Đ0L')OÉË“®9+)c}®út* Ő˙™$áŤÁś…A$—ç|ćë—ŕ­Ëx~–]tKNLLË@Jłc$}ßŮđfô©ôĎłB®q ’ąÚ”é‰.L~§Z1(¤VŘýZ2ú»ĄŚµ T”‰]¬ŤĚw‰D¤?.«ŠE~¤a!qn_GëřXÖŤ*wÂ<' dôĎ–e÷8ý鵡‚ôQo Ą€XZk;f-¬5h´xŻH4[E÷›¬ ’fšj¶‰._®FŤÎJĄRޱ§™/YŹh %Í A.#bKÄŔŻÖč ĂR©„”2e !hµš8Žë:ض•ş@¬]»6˝f׍™MŮgĄŻ+ Ă®ËSˇł´TYŞâ-ŐˇYc°RĆh-5kĄ Ęv1MòîÚ¬ť1yä‘Gw`PË@= /[XĺqÇŰ ż-VÓęÉ.8 C¦ ›<î^ô'?ײ®Î&”zŃ™ż[w7iŐÉŮj6ăŮ6Ô»Ây[ÝývZm ĚcĺçeZV¬t"ŐjůOÄe1É36ăÄU»Ń¦™ş~Ĺ,’¬µxślk ËÂ$YΖŁtż+ž“„!b‡"ÓŔT]7%]v±LK©D4?ë„ÔeĹÄe5˶±m«§Ü°g,NÎaÝ´2 C eźJd4ß2ě–KĹ@±öm¨wÉuAa8˙~eZË@ ”ş®ŮuKĂşĚ§ąą«)366Fą\Ćq:ťŽă¤ýDZ¸Yný FłŮ¤^Ż399™–éňŞ0 ©×ëH)©T*=Ą<±p”`XW«4Ă› ›‰Čµv˛›'Đý]©TJE‹Űí6ŤF#Őµ1 ŃŃŃ`)‹´Z­t]¦¦Bˇ@ŁŃŔuÝô~SŤ›  ŮjaąJCĂiů–)Ŕ»zsö�{tЍ[[ç‘Gy|ęż+-†óäî·ÁJÉýjm‘e^dkłó¸»mw­dqU{éüýúHÚi5«ř•ąěkŢVwŚÉăúˇ’˙A ČÔöŮXÖżł,†6Ę”žt™+ ĂP}şTNčݤ1LeXŰ%VúÝŽ´3™č3iÓżK &%”Z G[Wk`Hł1ôRĆ@G¦Ě¦ÇUŻk0… ›¤ÇeO SFvsŁdżmť€FŁçŮźg°^=.Ý˙4 ‘č<ĎĂ÷ý´ŻiŚÖžÉ2¤´[’‚z˝žö­5kÖ ĄL,ŮMŽÁÁÁÔ2«5S*•bń`"Ú˛Ť'=lełą´ ˘Äj]u]Ś4+2«?”ŐkŃýO—ă8ضťŠíęßeĹű’˛4ú<ív×uSˇŢHJDR˘çŽN Ç1d„ô:^#cňČ#Ź<>u‹ş>G†¸”B—)ĺ‰ČťOBŇĄ ‚yîşťâ?y;ÝíÄQ/Ş˛”îkE·üOő8ź\żťóç}«mµ’¶Ňj‰ż|ěÚ™fýŔłŤq˝˙^őŠnňs·úűŰ}ž[˝˙ţc{˙—hćĺIׂ"éíŽI¤»őýs{:×$šgYĐAł˛ŕH˙ř#26Úݵ‚JĎ•M^…ÖUKO"R†Ič0’’Ďn"Źi"¤.ΰx2 »H.Fłf¤RLiJVtWeÜâ”č:ßÄÖŕ�ZOĆXĆĚŇźż=mŐxoU€÷ăÄhqĺ¬z©TNK­”uŇn·S¦,0—ŹuéRłŮLĘKÝÔĐ`šţL–ɤA ţ!h¶šH!i›m,Ű•.Őb•Ŕ böMŘu]r]—v»ť2Z˛÷ăű~ şh-™jµšęúéw.kîşî˛űÓ,Ý´±Ö™ÉęěÄź5QÂ@ ۲Ý"¶qwĆĹŚÉ#Ź<ň¸ă�LwBíZôĆš¦i¦“eݶE˙żł éţcVúűV–2«}ÇJÇÜ©ëYéó+]G˙˘E¬đßj…ăc L»†ą˘u©vˢ0úuňý¤BRŞ”b˝˘ö˝®K–ebYö‡H2s4ćVŰ*¦łG)~µĐZ1¦i,ł#żýÉŚ¸‰cV;ţZçąŮď¸ŮăÔ*cއyÝqQJ•ó´® žĺÁ2K¶ôhYŮ—Z>¦d­Ą5 “ý¬ţł`L·ĚB¤6Šşl$Ë4IżMő2M´ó˘žë˘(Ö±M 'ŃnŇÇe™ ­U“€wF×!¨_‡F J¦żú÷†ő9Ó÷Ţ0¦čĽnc|¬qż=:)$Ń`D­VKşußłm;ިT*©Řş.MŇ6ÖŮÍ*Í¤Ń J*r, 4©…5Tڶ[vńÚ^Ú·u{8Ž“.Y@N[L벩z˝žÚŹgAL˲ŇR&ĄťN‡ĄĄ%Â0L‘bG¬®®Žçy´Z-FFFzú¬Ełĺç˛, u—úPĆä‘GyÜy8&]ŘęÁ_–Ůďö.´oćß«ý}+€ ×9§¸ ×#®s˙׺îë}ż�ŚtâŤ"ťä÷ $Ć`MĽŕČu>ĘE'XV,¨Eűµ~4¸»N¬®tíD+/A»]IB…řľ—ŠTfŰBŃŽc÷ěęćq·ŰIašž×;ćí±rôŰ ëŇŁ, Żg<Éěô3?4%+®š-݉Ř>(~‰Ň±Ę0»ě˛4±…G ^v` ¬¤Ś‰äŽEŇăßgY7=ŕ]R•$2 Eťkg"Ă00Ě„ý’\«˛%U¨ÄčzP'Ź›gĄŚzXRQá8Nâ(h222’ęI)©Őj©›ťvlŇŚ“¬Ű’E4¸ˇ×CZ[&uU’>5oĂ6(eJ%,ÓBFńwúľO­Vc`` =§î[ľďS(Ňs´Z-šÍ&Őjµ¤ÔbĂÚÉ) îčr:­ťÓl6{®Ő¶m†‡‡S@'[~ŐĘčçw7™ę9“Gyäq&Ě,ŽăfDűňřH ˛d‹Ýy„a„e‰ž<Ą…‚{M-Ś<îlĚÎlĽXŠ]˛ &Ą$ž×ˇ\.§Ž$Ůč›éy|řvę>sm›*‰˘�°{�iírˇ)=Ëăδı%®Ěă•@%€˘żŻęg¶RéQ\¶ÓfVŢí+=Ę–P¬ôZ,â%6â÷Oˇ˝ĄL);!jbaáQ’(R©`pé”Ht` ‘0fô;_«ě"ÎzKőłM»k˘¸śI)…Ś˘´dęöÍú>oëĂÝwĆË–ovíču˙ÉŽˇó<ݧDzbw;ĎóRW"Ă0R˝™¬ćŠ#4h˘®ÁŤ(аl ‰¤#Ű\ńŻ0ęŚB p .Fâ¨'T*ŤŐj•v»M»ÝNmş=ĎK-°őćŠÖtKőd˛šb¶m÷°cłPú÷RJZ­–e1;;K±XLmÁ HY?zý Á-ěşnęHĄ]Ąr0&Ź<ňČăSô뿣(ÄqěL‚™ÇGť¤;<~ĐÓfRFéҵ/•ößV˝{ź7'’Ů[Ú/z!ď$ËŰĚu]ŤfZĂ®Ý%lŰéÍVJ˛ďcżŘf6ůŻzŕ©qHŢ&×dôżăW™.¬őÚ0¶mćB˛“6Ómĺűq٦iź~7ö›CDä“ÝŚz‰,C&)ľI1=âľ}ÚJý%ĚýZ4+–*ó2b ÔÄ0»çîeş–2i€&dzp=üIĄşKĎoe®[ö|Ţ+[Ú÷_·čŠăÁí.]’bŃ˝ĺJ⿏ýëÇ^ ˇ0ڍח’ţ`ôl>h†‹f~dť[­�•J%9Úí6­V+ŐŠénNuzú§>§ďűX¶E,EK4Ł&“î:T¨p\§§TXĺr9=´îââ"¶mÓétBŕy^jť=22–•"ú:4cFřµqď®LNNbŰvĘÎŃ,6m»nĹ`hôď Hµhr0&Ź<ňČăSČčIĘ4 ëűněRŻT×ţQFĽéô$řńä.®ß®�ÉbT˘$íkě˘ő>_µârďF&>oBĐÓVaR,–WLîŻ%«˙Ž˘(q‰E*L#q˙0Ít·/Űr�ëöí, Ľ?˝ŮçדüfQłL#>í˛šł×Ç=,ˢťh<äLĄĺó•PýVWʬĽŃ㊡Ç#-Ľj,®Í~> &Ç,%c#3Ë‚ČţĚČŘ ëď73¬^š”ĄŁ1˙ě;ŮS6e´©ß˝÷şŤx’*Bi—§ţ˛·’RĆȆi×Ô—ú0ď ë:jśůhÇzJŢtëçż§fĘr‰A;»Ç]©_äV»iŔ%+š[©TR€D3žçaYVZB§Ů(RJ„)h„ –Â%Ęf‰qĆ1•‰á şş.Y;í´/&ç+‹‹ĹôÚšÍfĘž)‹éµér©ě9łýS˙;�“űŤ~Qjń-„ P(P,Sç'€v»Ť”’Bˇ>·l˙Ń"Â9“Gyäń)c˛;^%ríkT};i«/˛@ÂŤ\sB Ao´h ôGź@ö×ýßPĹŠ’ ť°Ílç4mYgĐ\GŐÇ6m a"’éęß˝đ"2ĚŚ<Vz7˛ýU37sž0Šh·;ś:s–ĂGŽńţÉł\˝ş@Ç‹w몕 ““ăěŮ˝űďÝËÚń1,ŰJś›Işłý곤=ÔßVý Ę­d-]¦A·,B]şŮqđfŰ*«Ý‘˘>YÉ ę‚ůpł| †žRĽ¬ĆĘJĎQJŐdNłŚ­·8E2µ«Î‚<Ůľ™ť«Ór˘d’ŤÂĐÁ`ąÓS¦•űßÍž˛©>íŐ�OCëĘdőń"ą"“H(0„‰¶—!Śën|\*îŽ :ˇ×@{FضŐóNjđB'â˝6ĺ eŻ…¸�4#Ë–Ľ]ďžv€ŠŮžAŕ§cÜŔ@×u{0˝}D¤ě(­†±Ps±XH™Y€..Ĺ.†!ĺr ÇşÓé`^äá ?ôY[\Kŕ8vr>a¦Ś čf-ŕűm¦µ ŔÚµkRM¸rąÜ#¬?Ł-¨ÉŽ·A¤"˙®ë¦¬f˝6ĐŚŻ¬K”îZ#Gź ň2Ą<ňČ#ŹOaRr=°%ť`mťj78ëŘ…lQčóÔĎź“““ěÚµ3™ü»»ŰAôŘeNOO٤bó–M];ĚU˝× Ç/ůąŕ‚ű6Řl·±ÍŹşl+®ËľŃD1KC"źłŤĂný –(ĘjŚ1{+kťíڏëq¬†0“?şn_sŹ*Y'˛‹]'q}ŕL/,–QŘoz‡^%‹Đ.s)Âýřě’gË Ő™LŮă}?Ţ)<ňîqľóýźńćáŁĚÍ/PŻ7čtĽtfŰ6ĹbˇÁÖ®]Ă“ź”Żő‹lZŹăXX–yĂďÝâbŤĂoFˇ¸˙ţűpÝBşĂŮßN+•Qő?Źc‚żR9ĹJ»řŮÄďZ÷Ń˙™PE„2—ťČgΫ1-!„`ب0ę R°]\ĂĆ&Ů$8CŻóŘ´žÍ[oľM§Óf×î]ŚŽŽ®XNŇßOž<E§ă1<4ÄSO?Ăç>÷8Ű·o»-ăóݵ…r™™Aď ¬ŕ¶·ŇxŰ3gt)eĄńy%0VU=ŔK?;%=ňi˛ťÚQ/O„őÝI™h’íśd¤čúľS–Źa¤ ´ž~˝šMvłĎE˙éÚf‹DąŐɡ[^ŚAR’«WݦĚjµÚÜ7Kt:ĺr9eqč’Ę R`òL––H)Ŕql ĂÄuÝëĽÓjůE^s ćĄÚ'J šÍfĘÎÝ‚{„uă{é¦ňš%Ňjµčt:©>‹BÂ0ě™s4°ˇťď4€˘×}­v+¬¬ĹNŤR…{(Ëééżú™e™ĹÝpżG“F‘–(e„‹Ĺbę|”s …BzÝŃÂĎZH:‚”é˘Kś˛@vHŇ ť¸éëń}źFŁ‘^ŻÎÁ<ňČ#ŹĎҢ/«-Ł$żTŰ´q-'Ý•ş‹{Ą$ív›óoţ-_˙­żĹëŻbaá }ô‘tb»pá"?úáćŢűîĺ™gžĺË_~’ ç/F!ëÖO¦“c¶†WďÖ ‘‚·¦}ţôĄĄDđĎŕ…S>˙ŕ‰űÖ»âăÖ×_<?Ăy�� �IDATJĄh†KślfFN#‰éľŽŢÂđ JKì±v±ÁşŹ‰Â.J…2¦°bZ·‘čä;”‚l*$®q}aĹ Ď8Đ`ŘŤ�5+ź"K^ıK>ăŤ#ÎÇ�(»™´I¬úNé?—g®đŻţäßńďżóc:íhFT’¸čf˘–×dľÖâÔôe^;ôßů«źđßüĂżËßúő/0<T˝!ńYĄú§ĘR˝0 ^|áe¦¦Ö30Páëżő›i˛˘™YQBý;˝;j"]P~\g!VPţ°L? h-^^:ÎŹ–^ăUy’%Őî:Ô(¨Š"™Űřzĺ!©ŢĂ SÁŔŔŚMwQB\“ˇ¦ËÝžzęi~ňăź1ąn‚ŁďľË7żůMFF†{Ţ%ÝNRJľ÷˝ďS*•yčÁ)—Jüň—/°¸¸ČččhŹŘä'K'‡czž„Š7Hş`ŻBĘ^Đd5&Ôňr ±*Ř«Ł2–ŮŞ‡Ń°ŞŁXl—dĚ0�™&ť†aÄ�MŚ^cşŞž5FúţńĎ"‹÷—shˇÜ¬kT–a«™ýŽOY`k%€çfIеî6M“V«•8)lŰ!Š$őÚR,ĆśZ‹Çżó<ź p;ž#™–ę(a(qÝBňŢK<ĎG0Ś–ÇýmŞŰ$n÷»KĎóS††fx�´Ű:ťN̸Jćm­ç‹z˝ÎĐĐ@ é±Íqś0Ńź×�MöçZďĄT)qµ=(Ö”×Đi´©‹ĂĂ#i)›ëş=ëĐ.‹éćť|ßO@°¸®›>»rąL˝^OďYż3¶msőęU,ËJ™;AP*•h·ŰÉóňR‘^×uiµZ=VŢY ' JúľźÚdkW¦(ŠXXX T*Ąöß9“GyäńYe€VŁÉ˙1˙# –Í”ă+Ă+W‘ š^„Ę Ž%(»ćuiľ×K´pŕÄĵZ )%˙é?}‡ééi@qđŔĽţú\ť›cúÜy~đrŕţ´Zm~úÓźńŇK/ăş.üÇĚźýŮźŃn·yôŃGxňÉ') „šî`…e ÖT f/źöŮ»ÎůD&� E3¨3śÇW2^t E$bJł"ó4üW9ĽIŃ«0˛´‰qk ŁÎFĘÎ EŁŠk–° aĩْ¤‚‘+E«Őćé§źćĺ—_ˇ\.ówţÎ299A˝^ÇqůŢ÷ľĎ7żů[ Q.— ĂĎóŇ:jí¸P.—1-‹ R<w˘ĂĎŹwčŰ4¸w}Č×ö®XâăÝ×D͇Ţ:Ężüż˙ś_?B»»ÇtS.±üELu•ˇPĽú"˙ă˙ú'|púßúýŻłqĂ$N˛Łx-¶[©T"Š${÷ěÁ˛~öÓźQ((W*<ýôÓ(Ąřâż@ĄRáé§źˇÓéđÇü÷ů˙âfűöí´ŰmlۦT*ńŹţŃ?¤T*~ Fąëż[ArŐ[äµćűüeă%Ţ §i)Ź€HÉL.&X¤É3ŃQ^­źb_sŠ˙bŕ1©ěbÔŚß­aâdÄ Z­˛oď^6lÜŔ_üĹwXŞ/Ńń:ěÚµ‹Ť7đüó/ŕű_úŇ—yůĄ×Ł^_bqq‘3§OÓlµyöŮ_pęÔ)žxâqNś8ÁWżúŚŹŹçÜ'´§Š  "Ňäzĺ÷=Ţ2Ý\©"b>[ÎÓ÷łkşâŔQŹ iĐ™Ľdô`´¸®.cŃl ťp›ÂHÇNŃ­źę‚&]K¤Ǩn‰Tň¦Ş¸L(űőkĚô�MY†Orĺę)ŐWIľËó<Ú­Nú|Pk,ńÁ†!Űwlgpp0óü$(Aˇč¦®R¨Őj\¸pJĄÂÄÄDĘɶÝJqęÔiZÍ•Ę�ë§&S ćkE»Ýfzzšz­ÁÖm[\VBĄŰ*臫Őj*¸›íWşäH—â辦 ^Hł˛}áÓňŰí"EQDIIaĐEJÉŇŇRř˘Y+şźj—$]r5‹EEú:tYU@QJQ,iµZ §`Žf¬ĚĎĎ'˘ă~ę ĄË¤ŠĹb¦Ś+t˛�ŤfÄhëk Bi}mť3cňČ#Ź<>‹ żdwËë´ůŻÔ#¨ ^`ŮA„Ś"$‚ŽÍsěRÇ2ŮľĆâ {‡pŤĺe 7ł /Ö"Nź>M»ÝâĘ•YNž<ÉýŃ·řÎwţ’óÎóŕą˙Ŕý<űĚł|ůË_âô™3,..pőęĆĆĆč´;ś>Óő·lŢBˇP$ (Ąb® e×`ÓE).«Ëő(-Čú¤µ•’’Zgžąŕ ˇčj "Ţ›Bˇ0…xtd“E1ĂéđUśN‰A1Á˝•1g#ö%k„˘UĹ6, ec°2«ĄŐjqîÜy¶mŰÎřř8ťN‡7Ţx“÷Ţ{ʎˇ!&ÖN°¸°ČK/ľL<ţřăLOźgff†±ŃQÖ¬]ĂË/żĚž=÷đŕR4-ćš’§ßóo†Ř†‰mŔá {×YTK&†)>mŇefhQáűŻĽ~„˙ĺ_ţ[^űmĎKz›±bżÓ;·†X¶‰eaI.Î,ň'ö}jµ˙ý?ý{¬›Xe­.z*ĄäŕÁś=sŽ_ţňEJĄ"{÷îÁqlNť<Eą<ŔÄÄZŢ{ď}îż˙~vďŢÍ3Ď<ËŮłç‰BÉűpěřq6oÚČ+ŻľF@ńă?ŽÝÄĎW:.ŚB.´®đźăí׸¬Ż ÜDJ!ńTČóň8ďĚźă÷˝Çůˇ_c˛8†e Ěkކa°mŰ6ęyçNž:ĹâBŤM›6±{÷nţőżţ<ŔîÝ»čt<Ţ}÷]¸Źˇáa,+¦ÚďŮ»Ă0xřá‡8uę$żřĹ/¸çž{Č'¸OpÄ.SĆMő˙,ßC‹ÜJ)reĆX9\.„ ĹgJmRVŚčĘĆ÷°#…ěqĚJj¤bŤ#)„Ş'Éď3Ëf$�Ź”qŐ’ľĎxŢ3®ÉʲćâŇ'#-ŮRÜjť’JËŔtOÝó^ąr…7ß|3MÜ÷íŰ×3čÇnTNĎX.eĚ>|ř0ĂĂà ިpúÔi‹‹5Ć׌Ţ0ó /06:Nˇč28X]őŘŘ)¨“0€$ĄR©Çâ9 îiĐ$Ű?űĹuĄ’(CŃ”M:˛Ă3„-lT¨0m—0Ś zčR#íľ¤K˘˛çÔĄIŞV«iűč>Ż›¬KR–ÍŁÁ ¦4ŤT€·R©¤ż×ŽHٵ€fśjˇŢ,@Łť”ô56›MJĄRĘ>˝[,ĆŚÉ#Ź<ňřX%1’ ÓÄž}…Bg„BaB´™Đه4 Dť%JÉÄ于đ‘Q@dX)»%ž€µú~·~vőÉE¤Î ľď†ĹbŃŃž{î9‚ `ëÖ-Ľ˙ţ ._ľDe Ěˇ7±aĂšÍ&ăăă,..26>ĆÔÔÖŻ_Çů ç €űî»—Ş8–âŔ”ĂSÇC®6"^ě<ôŘVç#§îk]‰¸nŔA)ůăG>—ZçiKż›ĐĄ‚‹Zď"]ďźŇ©‘čŕ‹sĚ8ĺżD٦bŚ1`ŻaÄÚŔ”{…5†µlq[*•¸÷Ţýśüŕ$ďŹjµÂwżű}ľôĄ/1=}Ž+3łř~Ŕşőëxö™_Ňjv8{ö,•Ę�|pŠG~>8Ĺ׾öŐtńr©á’±˛ÁÔEÓS\ŞG\\”ě[÷ 2éęé÷Ŕ÷}ŽĽ{‚˙ë˙ýK^{űA¨ÂZĺݤ|rÍďÝÁÖM“\‡ĹzcďťáíwOŃęxü§ď?Cą\ćźýŁ?d|lxŐ$D)8}ú4W®\ˇ:XÁqŞLOO366Ćěě,ľď±{÷.Ξ=ËéÓ§A)lËĶ- ×up]Ë2?e.·˘]ĄĹ•O5/ň˙Ě˙”źú‡iŞ›ˇ‹ÇçX¤Éź·žg6\⟌|Ť©ŇšDŻéÚ×xńâEÎś9ť˛ĆjLOO37?ÇÎ];ٸq#'Nś ŐjńđĂÓé´9u꣣c©ŽešT«lÝşŤgžy†/}éI …BîPô b˛÷‹čöÁ]˝•ǨT·Ź=Ň/PľZIRŹ.[§ú.=ÖňÂ0S`9˝Ă�©őQ̸îůnC¤29ŮëŞKĚ–ÂýĎ•®Aúőq˛Ą"Qa ŐW ű!ßqí1(ë&݉V˛’îm4˲�`ëÖ­ Ýđ{„!µĹ“““7ü۶™dćňöîÝłŞ0˝.łq'e‚¦I˝^GA©TJÁ ÍTŃ€ś.CŇ%=–e€ČëĚ3Rˇ¤ĘXI‘§éš‰Ë’Ť”]ŃăÔ‰) Cp]7ëtźźźO-«łeLşĽH—Đi†ŽIô÷hö‹f׆‘ş2AĚŞ×ë ô€9ŮĎęséçˇ5u´ĄöÂÂăăă)P“ulĘÁ<ňČ#ŹĎ ŁQĺ=ŢŔ jń‚GxťKĺq<{Śťc÷m°),ÇÂó%ťv ¤Ëěě ťvÓ2ql˶ĆMęiűxŮ˙v›ţĎ˙Q$)—KlÝş•˝{÷2;;Ë<ŔÔÔzÖŻ_Ź‚ýű÷±¸Xcrr‚uë&)K,,ĚS(âá‡Â÷}FGG@° Á›,ę›®D • öNÚÜŕް@ńÇŞ˝t˘çŰgńŁx!u‡†H˙ŰH3`D˙C(B!dx4d“Yq+4)‰.·Nđůń?°—'ŕapőę,–e1;;ËĺË38ŽĂŇŇAâ:.J‘ůµp\۶(– ¸Ž‹0CCCLMMĄ‹Ňu&eWF‚¦3K–!Ř0lňÉkž.Ey©ŃäĎţă_óÂkGńtC­˛ü(lÓdë¦ ţđ·żČ÷í¤T*ŕ‡EÇĺňĚUžzţ?üéË\ťođçß}š-›¦řÖď DZW\ĽY–ĹĂ?ÄŮłgšÚ€mŰlÝş…ÁÁ!6oŢŚ”’Ť7°uëV¶mŰ ŔćÍ›řŻ˙ţÉÔÔkÖ®ˇT*2ąn×u?cŰŤÉš·Äż]|ŠűoÓTdvË{™Ąu& ËäŔ E]µř˙MŠ‹˙Ôü:cćđuíŻ÷îÝ›&iSSSüđM©\bűö­lذXĐ9|vďŢM„¬_żŽb±„mYqů¨i$;®’uëÖ±aĂĆůÔ3±řm˛Ü#PťtĆ® {Š•˙Ő@•ŽMő9’˛!#uř}n*eËdÁC ÓL]ËA µ"QŞ×z[ëťéâ˘Řɨ¸JE}ĹŞ::B„ź%Ö ůpÖŠ‚„•C”aĹĎCĘŘ5Ż^Żá8Ź?ţRF Ť%ŠĹbĆ!©`ó<ŹŮŮxžýüç?ŹmŰÔëu|ßghhhU¦K,,,°oď^</Ö%‰Â(OV )%­V‹fłÉöíŰŘąsŐÁj ¬ô ÇÁ¶Í”…¤eJÚmH3F˛˝YÇ Ű±ńĄO'ꀣîF``fÚ˘(Ķl"ĄŽDQĄ€‡‘‰˘V«•>!D `é~é8NZ2­Ů*Y—$ ¦č>®ďA)E»ÝĆ4MŠĹbúy ÎA€ďű=#Ú)* éďÖÎUív›áááÔŇúzĺg9“Gyäńé„b�đ[5¬™×°‚V*Â'”Äi_ 5ó. …]é")Íęő:FµĘĹé ,ĚÍcŰ6nÁĹ-¨”Ë8‰PÚj@ڦ~îsźë©ýa۶­éqĂĂĂé$§Ź[·nÝ2{ďÝżlQhX[5ůíű+xaĽř+رćÍ'1OQ(–:u.zÓ$"})ó%Ö B%€L˛ří)e")e XŁPH!KĆçäŰxľ‡cz`J)Ęĺ2ű÷ďçČ‘wřÜçžŕ‘GᑇĺőCŻsŕţűŮ´i#SSSD2â׾đk<řŕLOOsćô¶nŰšî¤eéč#e'wů›wÚś[0<´ÉfĂ…i|2¨·KÂ0â­7Ţç{˙ů-O/ŰYmĹ/„bhp€ü÷ľÁΛyö…·xţ•#xa@ąŕđ;_˙Uľő»_% ŕ/˙úEć›üńs~ő‰lŮ´~Ĺ]LťÔŻ[·®çY·n ůąJÔ›6mLŹY»v-J)&&&PJ±~ýú›˛đţ$ŇíĐçŻ_ă12a´Ŕ˛ęËÄtłö%s č(źźtŢbŰâÇýbF°t{^Ă`hhÇ{4m<ŔĐŕ;vnOuFF†{‘ńń±eÉrłŮ˘T*ń»żű;ŚŽŽäSÜ'ég4 #WdÎ>gŁ.¸Ńkoť–ěd4b˛Â¸Ý% 2¬ Î(ča§ô:8ĄÔ—ž‘Ż{Ţřřşc™XBĄ;_-Ó±ŃVÖÉĆvŤĘ–P­T}ÜëBĄ@Ĺö۶ebj†Mö™«÷ăkT±ÜfĽV[äíÇ© 022B»ÝN“ö}űöĄ ‹eŔpńÖ[obš)ä^ŻóąĎ}nŐëń}źcÇŽQ,– ü€‘‘Î_fÆ)&''Wűęő:GŹĄŐj±víZfggc۶m+<»ĺemš]˘ŻS3IÂ0Ä÷}\×M•¬°¤–(šE\UŔ6¬DÂHâşNZň•uČŇ€ŚŢpĐĎKŹ‘ ‹E¤”©›R¬ťŁÁ!}Y‹iýeť<MÓ¤V«Ą¶ŐZtX[ş<  Óé¤@PłŮIJ¬T,X»3iqŢz˝NµZM?Ż…Śó2Ą<ňČ#ŹĎ ÓS»!ŻžŔ]:fb™¬D "ě+‡F×P]›î X–CDxŤ­‹3Śüé·)ÎĎbm¬’Ur ~ĺ‹„O~;©=^ÍŐCO˘ý?ű0‘u\Č®fMCPvˇě~ňŰ.’’sőS,¨Ś¦Ћ"Ýnd1"y¤ŕT\3ŻbPĆâŨ©E�sÍĘ–e±eËf6mÚ’ ˶` &×­Á0 ,ÓbÝúÉ*üĐĐű÷ďKűśf`č5Że<¶­ŔŢő.ďÍ„ŚU 6Ž8¦řD¨ůôöç8iYj4ůż˙ü‡,5:ČH ¸¶fiY<xďÜ·‹§~ů&Ófřo˙ţ×ää©‹üě—oS(¸|éWňňˇś<s‰łÓWřŃO_ä|ë颴˙z´ÓŘĘďĘ­żoź†1o9ۺ̏ڇ— "?‚®´P'—P3m䜇đ“ńŃ2ڏő%Ř\Şp pM„)†dŽ%~â˝ĹÍ=lŞL`‹Ő—żýăŕ#Ź<‚R˛ÇĹęzí¦%ľň•/ß°›Yź F-ZcöEĆ=P÷Á2W?ń2q;ŠűXď1šą¨Kµ˝or.2 l˙Ě–6©eceWŚ8.A †•”łh›ë®ÔnVÔXô<!bŤ®lRž˝÷¬Ąw<7Ĺ�ŹmYŚ P*ÚńµuÓzw¦a „DĘ(qŕ=›J?ô RŞ„Mâű†!z쩳˘ÂŠřŘGy4Ő>ŃíśuüY) …»víB%fJ•J?Ł\.]sÜfĎž==çqg™öPÖšşX,% H×–şŮlöŘZëŇ›Z­Fř Źŕa˛d.1bŽ"˝Ň@1öGǢŮjS,şČ(Äfú µđ­.őŃĺOÍf“Z-ÖŮŇZ2†a°´´Äěě,ĂĂĂ4ŤdýjĄĄC`Ńş/şÄ* CJĄ333© ¶ťJĄR ¶dĐrą[r'÷Ýh4źźÇ˛,†‡‡YZZ²,ŤĂĂĂ)¦Ńhôô‡»ĹÉÁ<ňČ#ŹŹI„a„Q;Ů™C”ĘŃ7@AŮ»BŐô¨âËńdDA�KMÂ˙ý_1vî,VŃFTLßĎÂűË˙H#R ţíżťîŠäÉÁíH"%'—NᇑJ˘ c$ÔC Т-I(EĘ1’Ý<Ă “F$ßâlmiŢł»*R@ćZ c:7u?†�ÇŚUcçÜ.1{BJÉŃă§yíĐ{(‹_^óţ AÁuyěá{ťŻ3·°Äo~ĺ1öîÚŚm[L®#R‚×ßú€ßţęălß:Ĺą Wi4;ĽřĘ»|ý×…r9wľ…v ŁW:'8^$ŚBÄąá˙tyşŽĐÎWJˇŚ^‘ć4M¶ Ä– ĆĂk0Gl¨ŔK$$gÂ+ĽŘ:ÎDq۸ńĺo¬cŢ40¸Ňű™Ç'/ ®Ĺ¦uĂ”*YWˇ!_şÚ)ŞO‡D,Çr=L—´')Jëš–>ń14Ů_ęů<s !Â0zľ7f˛ÄÇwË8R'˛¨d.ÉşFéů‰žŠŔ,ăgEČ^ÄÚu= ‘ gN3 Áäř�Ý»žjĄŚmŮ™±úzk ¸X¦IѱđüT 0°Ě…eZ” şR¬‡-d2�ÓP„~D”&ăŠJÉIŰ7űťaĐB†+#wJ)Ş•BFăGb[BůřťţuźşPŠáˇRň}ZgNâ{K«Ž—˘ń]!~Gbľ×H\¦d\ć lS‚‚Z}–FŘŔÄ` PE‚vłF$#˘0Äq] Ä4 :-Cü„ńŐôš1X"%Q[ĄľÄëxH% ŐX@*…Ś$–mae—Vc!ŤN·ŕ¦:6^'NP’v«ŤmĹ,€ąŮĺľ×52~®Ťz!Ŕ÷:1S'Ś0 Ač+Ś„ięwX–IÁ†˘¶8KE,¶Ú Ź ăw¦A˝ÓŔ0 Ú­–iŢŐ1&ź)ňČ#Ź<>&!ĄÄ[*@i{ĘĚÂK )ŇŚ—€Ú)!ůcÍ\Á:s&ůŚJ5Bµ:ňđQÂo|cŐ]ZMeťžž&멥^@ Y\\d` Ęâ⸮ËĚĚ ĄR©GĚ-­V‹0Ś(—K«2>ě3ět:,--Q­Vo»hfŹK… ™clPŰćhM"#H¨Ý ‹IscÖ8µpĄpž–±Dhy(%eJCJ„ęҬĄĘfŞ´;@Ěă&ۉ2ýüËďĐń#„0Ż[ješŁCUvnť"đB,Ăbdd0}gLĂdtdç‡ Vb;Ě0âě…«Ľę<[7ŻÇdy›ÍĎĎS.—S[ńQ±°°îŢČńsss¦™Zu^«O·ŰmÂ0L)Űw}üSŠżÎńÎyꪍ2@µ"”!;ŞaQµEĺ$÷)đ"T3DÔ|óQ3m˘ż:‡|ć2ĆţaŚ/L"§fµ8Ú9Ë“Á}”­â5ź[­VŁV«188Čŕŕ`úĽ•Rxž‡ďű©ľ@±XĽíĎ«Ńh�P.—ŻkŮľL46ŹŰŐJßüÂ=lÜ4•�l©ß}š_Ë%,[ŇŰ=nyin Ędě˘SŕĄßyiĺYqÝšžnIŇjŇ,ËşPßqú;®ĺ}¸ěy$óśJ€"!ŚžóÚŽÍpµÄČ`‰BRFsł}YźĹAÖP*Ţ…2o Ţ)„(pwG ÍČź÷r.S”…\őŚýĎ9WůŚJt´™”©.;+ěŃ’ —Ś˙2ÂPVBŢ"RX9q„“JᇱӕďÇ@•ÔĚŞLTšĺd± “T2Â2 "ݦIÉdm·ąT*”B©Č3bfXŇůŁHkŃ@©sc"݉Eć˛÷H*EÄŹ1R1¨i™V˘C220”©°… =ж‚`%%aś.ą—@3ľŚ»Ęä`Lyä‘ÇÇ!yL©Ćń4 Ŭ †Á¸„‘(ž~… Q¤„0Š÷k•R­f,k˝ĽR €N'ĄÚöşÎt'í0 ůůĎźâž{îáâĹKlÝşĄGŁ˘á/„Ŕó<Žy‡}űöńŇK/±qă&ö칇_ţňyyäaŞŐjęć”Ҥ•âÂ… t:¶mŰŽë:Ër+±w˛ G–ž]ř…aÄ©S§©×ęěżwßcI%™k-0îL0RŁ5™óg™í\áJ8KŰlQ´Šř{†ö˛ŘY`ÎźĺJç";g9§> 4˝®ă’ę.ZĄ€9Čäŕćaă~Ć(’= AVź§ß˝âzý®W´±Ws ű|µEfÍ~Ë ěoŰk}öfŢ#}ÍańÎńsHBX†Ę¬±EO"¸ŽĹ7~ă16mŕę\ Ă0X\l±níJ ‚0b~ˇIŃu) Ô›ťŘ•D(ćć—8a)C cąďáĂGŘ·oo ЬDÎ>ë•Ú/ C^ýu>˙ůϧTę:ŻŇs•$;¦ÓĹ_yĺŐŘÍl` §>űĎÎÎŇh´|źFŁÁ˝÷í_öľ®TúpŰß)$WÂŁy˘$ýŰ0ţh[\Ž´¦�C˘lĄĚ�< Ť�ć}i#Ď-ˇŢ«ˇŢ«ýň2ňއspŚŔŠ8]a6¬±Ž±űš”’ĄĄ%^|ń%*‚0dßľ}ŚŤŤĄ‰ÍŐ«sĚÍÍQ©”Ŕ¶íž11¶ŇU=Z4łżżw“kz¬}—–âťđ,ś=—î Ôj±[K¶OôŹÓ9PóáŁTtصu’]»7á:NŇNę#ą–>^ĚMÔęc÷l`š¦a`ĂřđnqZ‡Ä4MÜ($’RuYGꆴgşW¦”ú„őÔ¬žű]~›Ć ő¦Ţ~h~krV„°ÔµJ‰űş˙2-÷eÎX+3|+Ĺ?r0&Ź<ňČăłÄť”ŔQÇä/  ¶EŠßlL Dj×�� �IDAT„ŠC§}^<Őá±mEîOf%Ő§\IL{Íčü®š Ç5éŠZm‰ýű÷qôč»=ú.—.]bĎž=üâϱk×.^|ńE …">ř�›7oJ“'Nŕűď˝÷>´Űm.^ĽĚąsÓÔj5<Ďcbb’Í›7ńüóĎS«ŐŮ´i#ArâÄ8ŽĂúőë°mĎóX\\äľűîăđáĂ”Ëe.^ĽČ=÷ÜĂîÝ»PJqäČ;ś<y’Í›7322ÂoĽ7nŕđá#‹Eöě˝çŽ´“¶´~eć/Íż‚kşŚŰ#LŮ“<PŢBÁ.Đě4dŔ®‘]  Q­VŮŔ</gë§©Ď,1#/ P˘TĚcĆ&ĘĹĘŞ oť0ÎÎ^ŲL~őW•W^y™o|ă+‚+ý€Š>&¶™Śx÷ÝŁŚŹŹ311ŃřË�ÇŽcçΝضÍÂÂŻľúµZŤŻ}íkT*塽•v곌˘V«Ĺôô4ăăăŚŚŚ¤Iëj ܇¤R´;Žĺ€JćRöî2'˙ď8&Ź=¸‹o|ő1†Ë”J.ë'GůéłoE’‰ńŽ?Ă[GOóëżv€ĄF›sć� C4; µć˛ç¦ďe~nĎóÓú…^¤Óîpŕŕý=zŚ'źü5.]šáâĹ‹4›MZ­…B‘ÇŚçźĎÓÖ×çřÁ~RŠ/|á ś9s†S§NłnÝ:¦¦ÖóÜsĎq˙ý÷sđŕ>¡×ß`óćM=zŚz˝ĆćÍ›q]—S§N˛uëVöěŮĂ{ďťŕ­·Ţfű¶mś8ń'>8ÁşuëظqGŽĽCŁŃŕK_z’ŃŃŃ;Č(Ą”d>\b.Zęv{×D<0 sÔÉ%xµŤ\đQť0®«+áĆD ±ąÇ0CŐ<8×Dž‡ 0ÉŐ¨N-l®BjvŕˇC‡X3ľ–-[7óĆoréâ%ž{î9JĄ2AŕłeËęő: ŚŽŽňóź?EĄRˇT*±oß>Ţ|óMšÍ&kÖ¬á‘GĆ0 ž{î—ÔjőTçŔu&&&°m›©©őüô'?cßţ}ĽýöŰLLL „`ppĄĄ‡˝Áđđ0ÜĎš5ăĚĚĚđ‹_ü‚Je�)%ďż˙>_ţň—yóÍ·XËÔÔo˝ő6k×®áŕÁ aš9óˇ!b‹yÇÁuěüÜîç›”SÝа €ÚĘú*y|ĽŢýŚÉ#Ź<ňřl‚3ŔS¶Á–/`A(vă ‚H2żđ‹÷aë¸Ë[ç=FĚR¨°Őµ©µ×űVĄőZŤźýěçt:[¶láęŐ9<Ďgzú<6lŔu]Ö­›`ff† bÚöřř8/˝ô2{÷îáرă>|;vĐé´YZZ˘X,±˙~ľűÝďáű>kÖ¬all Ąŕ…^ŕ›ßü&óós:ô&›6mâüůóÔjµDôÔbff†b±ÄđđH*dxůňe Ădll”—^z…8išĽđ lذjµJ©TęQ®FÝDÖ@Űëpxţ;łDDśç9jľOŮ*2nŤ˛ŁĽŤ#ű,%‹C3.'+ظťRČČ&"Ś©Î"FĚ !P†ÁúŇ6lcő’–  ‚€]»vrĺĘ,gÎśáÜąi<ĎçěŮł\ľ|™˝{÷röěYî˝w ­_ż>ô«×ë>|$qm¸ĘěěUŽ}—G}„ 9věccŁH)ůö·żÍ·ľő-vîÜÉěěUÂ0äňĺÚí6•J)%ív›wŢyĄ÷Ýwďż˙>©]gĆe6Ű·oăęŐ9Ęĺ2 ‹ś9s† =z”©©)‚ äěŮł<řমŽ|¨63ü˙ÝďđÔ/ŹđłçsúÜe|?$LŘ$©k‚M›Ćů»żóEÖMŚâ8®ëđ…_9€ăřÉ/ޢ¶ÔdblŻ=ů ›7Nđ§ń —f—PÂBŠH)üP&¬€ˇ„ŰwÚŚŹŻáŤ7ŢäĚ™łś9s6uč™™ˇ\.łgĎ~ň“ź˛aĂ�zčD¤ĐŕŃGáäÉSĽúę«\ľ<(ž}öYľůÍoŕş6oŢ ŔúőëŮĽy3Őę —.˝ÎO<ÎéÓgi6ŚŤŤ±yóf Ă Z`óćÍ”Ëe6lâŢűöóěłĎâű>|đRJ>Âľđk7Änş@¦vhËNĚS±e.oĚŁţýId­ ‚Hv‰ Füľ(Ë@ą&Ć– âńµűGáŔ(Ćţa„m Ěř#Ť¨C+ň®y333Üł{ĄR‘JąLÇó8ţż÷{żÇńăÇ™žž¦R©¤"™.\ä÷˙÷8}ú4/ľř".\ \.sôčQ|đA@ĐnwŘşu ó7?ć÷~ďw9věçÎťctt”5kÖpćĚYÖN¬ˇŐj3>>ÎĺË—iµZ<ýô3üöoÓ4qśX»bqq‘Ë—/ó+ż˛3u9)Š4›MöďßÇŹüS<ŻĂĄK—Ř´i#ŐÔšřvµŐg*!K�aÓ0nkImw¦/fŮyäqkť)cňČ#Ź<>ł`L¶NX?‚ďjňJPÇ)UůŁÇřwŻ´ů?QcËń) vďynö›×e׮ݼ˙ţű¬Ył†ąą«´Űm</VËŻT*”Ë:ťNś ŽăŇét(\ŠĹďľ{Ś'žxścÇŽ±“ŔđđpR ,7Xé^‹·†ĹđđJI|ߣZŕřńăüÁüťŽÇ;ďáŐW_á+_ů2…B‘rěŘń”ˇˇÝj,ˢ\*Q,RŰŬő¨>îĂ.�U’4^iĚqŮźĂń˘µ Áef9ךfŘ`rxr™%j‰ ›ýťČbÁĽJ€O(”Bŕ„%ÖƉ˛!Ś­úąŮ¶M»Ý˘\Ţ€R±Măüü<őúoż}'ŢgíÚ5Ľ÷Ţ{ěر3] úľĎwżű]{ô ––,,Ô( LMMńWőC<€eŮ:ô&Ź<ňĄR)µäâµ×^gçÎť8ÉNq†Ľđ ¦EłŮäůç_Ŕu]ž{îyî˝w?çÎMłcÇ&&&řŃŹţšíŰ·qöě9®\ąÂř˙áŰ<öŘŁś>}†R©Â|Ŕţýűřö·żÍ?ů'˙řĂ1†ÁÖÍ“lśZĂď˙öçxůŤ“|˙ÇŻđîű¨7Úa„m›”ŠűëżÂvPtí”8362ČoýúŁüÖW#’’0đąşŘŕ?;ÄOž;BÓŹ¶J»*›«‚ˇ¬jµZĚĚĚđć›o˛fÍ8Ží`&­V KS*‰pllź\(Eˇŕ244LµZĺęŐ9¦¦¦ŘµkgRc044:v‹EĘ• ŽăbY…BÓŚK¤(—Ë1Ąßu)‹Ř¶ÍŔ@…LÓ˘\.sđŕA¦¦¦RkćI¦ŕ‰.ąş-ś,ŁuâN®RÂ’ŹjK+Á–2b]QpâgÝ Q—[ČęŮ6ňµ«¨çg[*żłăńµP´Rą űJżS†a°}űvŽľű.űöíen~žőë×S*¤R©PŻ×Ă0e9ŽĂčč(—.]¦ÓńŘ˝űvěŘA…ض…”q»U«±žVą\Jma}ß§^ŻŁ yź ĽöÚëX–•şťY–…m[©«ÍÔÔżńżÁoĽEE¬]»۶(‹”J%FFFŘ»w/Žă066’ŚÍ…Ô^b7ϢsׇOđÉË˝îôşG­ Yó1yňřŚľř9“GyäńŮ řu/˘aD4 Á–H˛; 1ĄäřĹ6Ż4: řß~Răü‚âĘUTâ†ŐôXÇa÷îl߾À( (—Ë9r„ŃŃQ™XËđđPjkŰF±wď=ŚŤŤq˙ý@Q.—ˇPpÄu¶ü˙ě˝y\×ućů»÷mą/µď @a'@€ .")R$EQ‹µŰ3w¸5á »űw8äžž°{‰Ű=퉙é{lŤ-Ů’mY¶(Q¶µP)@ ÂJlU(TjÍÚr{Ëť?^fVVˇ�@�¨÷EdTUV®ďĽ{ß=ß=çűş;ٸq#űöíĂó<:;;yüńÇŘż¦iňŔ»!‘“L&9rä¦irîÜY˛Ůş»»1MPŚŽŽ’ÉLŃŃŃÎ}÷ÝÇáÇB°{÷nl»iš;vŚ–––Ňk&( ´´´N§ßsÂxrö™b‘˘ç·Ž Ň-ą(ˇČ ĐE‚SD ­Ô†Stm&ěIšŰét»)äňL§S—QÓä˝őz#‰PMjW]#ĚÍÍ39ŮO__íím€/Â:44ÄÔÔ4­­-Ü˙ýĽúę^ß ¨ąiIĽ‹Ĺ" ŤőŘvб±1z{×ĐŃŃÎľ}o055Í… CŚŤM †UIŢNž<Ĺ˝;îe``żřóżä·ţŐ˙ŔÂÂSD›0 ÇqIĄRś??H}}]ĹV´LŐ×דH$Çă(Ąhll˘X,’™žář±“444UlRod1.„Ŕ˛L,Ë䉇6s˙ö5ś:}‰WŢ<Áą‹—čh©§ą1Í÷¬%lYč†V|ô<_čüđ'Î^bdlš‡ĎpřÄ Ů¬ŤŇÍJy˝ˇë„ÂÖ×néš$GŹösöl„žž°m‡x"ÎCďáµ×Ţ ‹ŃŇŇB"'‹ŃŮŮAOO7ĂĂůůĎÎşuëhiiÁ˛,R©$}}ë|]śţŁÔÖÖŇŐŐAccCĹĹ'ŃŇâŹ×¶¶V>B[[őőőÄă± )YWWËČČš.ih¬' ÓŃŃF[[+ÇŹçČ‘Ă<üđĂľ‹ĆÂX–E.—٦¦†ááavíÚőŢç=!k!a–O :‡›Đ¶×˘t‰ĐKsś[jí”e‡`"‡ŰźAš@]Ěâľ0X—DÄ}ÂP ‹°f]1Q“R˛}űv^zé'ěÝű őôôt166Še™ÔÔ¤1 ßUÓôŇqďÄ0tjjҤRŰşH?ét’îî.„𨫫%ŹÓÝÝI$ˇ±±X,Ι3g8~ü8ÝÝ]ĚĚĚrńâmm­„ĂajjŇ|üăĎłoß>jkkٲes%'Ož$‘ÓŮŮÉÄ„_©ÖÖÖB$aëÖ-9r„t:M*•ä•W~ĘSO=Ĺ›oľI[[žçŃÓÓ\hü"ć˝Üyçţ*îŻ22«ü.«~–oeď?˝t3HÝ»ĺž}3™Lp´pW˘Z_@)…’Ď~áóüΗżL8˛:7 ˛A±'‘H\&Š«”˘X, ëŇk¨HŠq]c\ =Em±@v.Ç—ßŢÍK ÷˘Ě$!ËŔÔ%˘0ĎşwÂďůK’!‰5‘Q-f MŤÂĄśm÷ůŹżŹeY+ y1Vd2łX–…&u\ĎÁuB!«Ô"*+…b˙§˙oxyě ®˛K–U …çŰR kŰŮTłž¶Hőá4 3F&?Ă×O˙ ç ´XM´E[i 5'‚( Š^x$Άć ÄB± ©Pý|ÍcÇŽÓŢŢNss…Bď|ç6lŘŔŔŔ †ˇ“JĄŘ¸q#_ůĘź°gĎz{{Đu?,‹ěÝ»Ë ałłs¬_żŽ¦¦Fţţď˙ÖÖ6l»Čää»wßÇOú Ź=ö!Z[[9~üĂĂ#ŚŽŽ2==Ĺżü—żŽ¦iś8q‚éé ŽăĐÓÓĂůóçq‡h4ʉă'éěę@×ulŰƲ,tÝ`vv†x<Îää$}}}ŚŹŹÓŢŢÎńăljĹâhšdçÎ{—1J)ććć‘ŇŻ ň«N˛ĄĘ*UŃ1˛m›Lf¦"‚Z9|J PĚĚů•(‡Ž 2:5Ăšö¶­oÇ0üž–ą…<‡Žň—ßÝÇŢ·NbŰľËĂrŐ@)ÉXßţOó/>ó!4]ŻT4c ˛Ů¶íV„ş‹Ĺ"†ˇUâRž˙lĎáčěyţ`âŰě÷Ţ-e{0’E gaÎöoyÇ—45¶ a_ä·ŕâ˝=…š. ?ÔŚ¨µ�0ĐŘJ˙¶áłěH­[q\-žcżxI˘çyĚÎÎů•TšÁjŚÜ\×%—ťçŹţŕůŰoţ ŞT…xµc{7]ď=ĄXŰŰÉúżÍ¦ k—ÍŕÎ’hÉ5» `EŔ)ÝÜŇÍ«ş©ŞźŐ&ZŐ‹†Ë¶LĘ�¸Ż@˝§¨őTEdÔŇĎď±+VN`š~Ĺ…˝ ŁGăčÇŐĺjňÁˇĽ©p•ÇÄ C ăd»â†„PH„/Ä+AáđfćGfOSc$© %©3S¸žËéě9•ç´{óů‹čB'ĄÇH)ş"í<ďňEgŻ@Ā߂˛~ýzÂáPI`Ňŕ‰'ž@Q©şD" Q__O_ßz†††*-ş®óŕ266^ŕŐ‡CčşÎcŹ}P(Äěě,}}:étš§žz Ăđ— ˝˝kH$ôööTÚ4McýúőLNNâ8.ŤŤŤ„ĂˇŠ¶ĆŮłçčîîFJICCŮl)ýD|ff†-[¶ Ą_ĄŤF ‡ĂĚĚdhllĽˇ„Îo9Ń›š™Ł˝)Ť®ůăĄ<0jÓ \×cۆNÄ© üŕŤăÔŐ$ioJ1>=Ď /żĂ‹?}‡ó§pŃA/íC)µd}%uŤşú$­Í5>ŃI@Ŕܤ4é)Zµ¤+p…o…˘& żDőOú‡?Ş# ¤Ŕ+ş¨yÇ×IČÎÜ[‹¸§ÖÁ”U ^Ť­ž:-ąš”|Ůl @€�Ü|dL€�ܡdLąüJř®Ő;ŰĂhí¬Ż; ¤$; “C¬\ #Jiŵi…ďľTÖz\Y˙îfÓ;eŰ'Qr}’TŰ5ßiđ<ŹůQĆó ]*mI˙w)@xŕ…-l°™*Îs.;ŚŽoßé ×okÂE!ŠĚ9Y.Ć):6»ęv\Ó’V×uR©Ĺ¤RÓ4ęëë–<Ćq”ňřČGž$ŤŇŐŐY©ňŃ4Ťp8LGG{ĺX—w„H&“UäO¨ň»iš´µµ^ö™LÓ¬čĘTżŽiš<ţř‡¨««Ă0ŚË^ݦ¦¦ň{Ytą¶¶¦˘SrĂcH Ç叾ń ë»xâľőlčj"2ŃużÉ0­a‹X,Ě™Ńiż€‚˙ë[ݰďíłŚMΗxe$UÎÜRhtCŁłµžŢŽFßęz…Ń"*fgjŃjuY’/nĺdRŇcÜąŐpAÚJ°No&‘3#s(*˘Ă}uM)DŤ… •Ú•„đŰ•˛ęRut÷ÍqÄń ňŁmđL˘ĘE(á…Ůdu˛â•ö˛«ÍnşMy‹±ąěöeî^ĺń´n @@Ć @€÷J”’9ź°X$WĘ+uŻ’đ-O-÷ﯝEŇ+ĺś"ónŰs/ŰVU÷ĚMŞó‹rÂ!¤Ä: =Ś!ä»]tNĎ 3™Ëb{­Q"b¤đ!„,ýď&p=…Ť‹ć‰’¤+?ľ,}‘4Ň$Í$RČ›bó™L&ń<Äb±ËÚ}ĽŞ¶‚r»HąŤí¦-4tý†+\Ţ!hkmÄulţňoó·?ígko3żöŃűŘłµËÔ‘ĄďnšÉD”Ůůoô_ŕ‡ožˇ`;xUm ⲑU"â!vlꤹˇöŠ”ŠBQt]ćÜ<§ţyŁ*źtYkLéuÔ #L VĽĄç ŔŇ ÂşIDW$!Ţo”?“©ě őňĂě;ô‹ ńqîŻCx %DI,Y,9¶ÂůˇfÎŁ^E„Ť%JA»VÇá>šɊľsŞ4§ °ńČÚň^W•çQµČŔ]Îu­j^\é~eť˙?MhÄt‹°ô{Şś�Ü řî~Ş" ´ÔdL€�¸sµEy©ś_,_ő şŽgčx×ҵQŕ˘wňLç™-dY(äBE15MjĄýü+_¸ËŐŐ˙WJU%‡+<Wrláâz)#Ś)µ;˛ÝĂó\&ó Ě;Ž«UŞ\@ˇ‰j× đĘÄŚçWÍ®,ąX—Yvy` łd(±ÄEéJ )_¨Xq˛m×u±, ˲đ<Źo~ó›€@Ótz{{ٲe3®ë ë:ą\ŽýčÇ<ýôG0M“ŃŃQ>ĚłĎ>[y-Ó4KvĚ:ŽăTt>®7Ń~?zR ˘‘0_xj;‡˙ěef {Ź109Ďű7µĚç ´ÔÄ1Mť‰Ě<NŹňɇ6ó·/˝-%žľ4ˇ_ú«_]˘KAks-Ů˝‘e^vĆ–I–śk3]Ě’),0[őI3LÄaHßíÇ+‘+k¨JŇľt\ůçžD\^FQ"×\ĺRô”&Ş™%îČŠ‹ň÷^›hçÉ™Í ¸cL Ç˙ĘşDů’ľ—Í/(…ŇAYŠÂ§»š¨T—hB’ň"<nldMŞíŠcË'{Š®ĂdqąÂÓ…9”R„ “¨ĆĐô%'•bUM˛\kř$»‡B(ÇvQF0ĐD`Ą @€÷°v,i•çšr{đÜÜ<ç/ŇP_C]mMĄjŐń<P ˝´f,oŇxĄk¦ÉË^WV]ăŻDň”Ý-{ř€Ś  @€»y+î|S%«®ŞrÄĹ]ŰĘż5ŤÂú ĚÖfđÚ[]%(x3Ĺ<ĂłüđÔ†gÇ15{ZÖ˛±±‹¦x™Ü<š”¤Ăń?_&?GH·f%‘[&lXŚĚN°¦¶ ˝*ÁBŕ)ŹÁĚ(©FňžÍ‚«aČĐMÓi ×’1Ü)\áł+đJ1>Ѣ|2¦ě´Tzڬ$Ü‹mM‰‚”Ą1Ü€i\Ű&ضmÎś9ËĹ‹CD"Qz{×°wďkÄb1Ůşu Žăŕ8.źüä'§ż˙(ˇĹĄK٦Ewwcccě߀x<N$ˇP(255ĹŃŁGq]—5kz˘»»›ÁÁîż˙ţŠ[Ďťĺöß!ÓŕÁëyä­Óüŕđ0ů˘ÇĹLž?ýç·řđŽţq˙)LK'3—csO ĂÓóĽvę"ži§®\áP"Ô"!ťŹďéc]w3¦.“ëŞĎââ±ŕ™-ćxńä^ÎM ‚žšV¶·®Ą«¶ É…éqÚSŤ‚®z1ťł xĘ#j†BC)Ź…bŽl1Źí:ÔF“„ k äâ1ąDWşŹy§€!$–4îčé/˘‡řDíôŹžç‡˘GR!Qľ•Ľ\±bźá űç§W"ÍLĄłG­ă™ô. ˝dé,Vžv]Ąw ĚłĽ1ŘĎÁc(Ąč¬m¦3ÝČ®¶ ś"y»H2+‘3ËRĺ16?ESĽ®R­XtŠŚ/Ě6L\ĎĄ!–^$uDI@<ď?µ‘$łv]HBZ A @€‡ëz\›`fnîŽÂáJ)^߯ăzşŰů­ßřęQJqńâ(33sl޸)ž§Čdf¸0<J]Mš¶Ö¦ŇÄáÂđ(®ëŃŮŢŚeúU¤—Ć'§­Ąš_«Íó<NžŔ0tz»Ű*ś€Ś  @€;6•D)PŐĄĚOgU!úĹC”ŇUb`‰…r]śh 'kă™ÖU].Š‚gSôlŽŤž%büĘŽ§žçµó‡iIÖQMsdä4ł…j" ĎĄ&'fFšŁ!^ËçŹPK±±ˇ› ™K¤ÂqŽŤťc[s/ůÖř׎—Îcj:é&ÎMŤ�ŠWĎľÍo?ňB†EŃsń”źWÝ)—ěňn·Ą<ÖľŤ„ qtj s e'™pćČŞ"®ňÂĂĂ*ÂĹ+Ą^ŐdL™’d(Mkd±ťçjÚsssś={–5kzxóÍ466qîěy>úÜł ’ĎŻ®«8xđ ™L†X,Ćŕŕ kÖôpâÄI� ä˝˝ťţţŁ477Ł”âĚ™ł8ŽK8ftt”P(Ě_ýŐ7xâ‰ÇoČbúý&e±żúô.Ćóű9pvWľűÖr ¶v5 €T2ĆĄŮ/ľÜϬ'QVČ/iQËĆ!ţ`“†äąüŇŁ[|‚jť…˘č9äś§&Î3š™ŕ[E)ĹţŁ d.Ńžn˘ŕů»Ă/ńhď˝ĚäćH…ă´$ęé=KÜŚs Ld3ÜӞގĚ8 ʰa2>?M&·Ŕž®­\ZĆő\Ňá8†¦32;ÉOíç?<őëŇŔQ.¶r±„qÇĆ |{éÚD _*<3é±—S䤍WLľIÍR’Z"z!ö8kůRĂÓ4'ęçż•fá)óvŃŮINŚťçą  ExůĚ[»4ŔŽÖő\śçěÔ0†¦1Ăd 967­a 3‚«<˘fŹíĺ—·?ÍđĚŽrI†Ł9MWş‘ńąÖ7v06;Ms˛ŕÂĚX‰Ŕ©ĺ‰Ţť¸Ąó&¤Áe1@€�ďeő‚§<”ňJ-Ë> …¢“ťíT®W®ëˇ”_É"ĄBá–ZťmÇY˛&RžByĘ[ĽPşŽ‹ÇőJ•ˇ‹ŽˇĘóĎ€Ś  @€;RJrů"˘čbz KĹ˝ĄtÁó”BVi}”ws=ákĘxB”Dp%ÂSDěGŤÍP°ĺ5íF•ň/ş“ŮYt©ńłło3™ťˇ1QÇÄB†îšVl×a|~š‹łă¬«kçOľÁÎÖ>öăÁ®­d˛sÄCa&ł %b…p<Ź˘kc»ÓŁüă‰× [š×0:7ɶćµdí<Žç—±zĘ»s/šRŁ>‘ćÉčś&Tą�� �IDAT.öä6qivЎůIfĆ873ĘéąQ†í óp•‡đ+fĘäL•(gYcF0Đi°j©ŹÖ¬rˇâ?ĆqĽŠîN*ť&‹aYˇJ+’^iâĹu}{fÇqJ.H˛˛@“Râ8B\wńľ\.G2™$—ËÝ}ô¦şĆÖŢ6~ő‰ćěw81‘#ç)ľwx€“Ô'",䋌NgÉm<M‡•*©…çë7 AÔ<±ľŽßxî>jSH©]1nžňp•ËĐĚ˝őíĽvî®ňĐ„$ďp<OąĚsś@“Ç.ťçÁîÍüŕä>¶4­!‰“+ć™+dy{ř$ă Óô5t6, ®ÍD6Ăw˙”úxÇsé­kĂ:yŰ'ŤŠę‰âNW†őŰż4új»řMů1â?će÷=‡·^\qT’¸cńa¶đ+őʱ¶¶S3®:–ĹŤ=ĺ‘s ›Á™1Ţ=sĆXšáŮI<ĎoĄ,:6.ăˇîmĽ3rC7xkčńPMŤkĚÎPt‹śŕěôE¶6ŻĹvŠ®ĂL~ž—Ţ=Č\!G]4E&?ÇŽ–ő§¤Ó%�/¸(ŕ=Ż+kŇ)’‰8¦ąčҸ±Ż—=rk×tHÄKkIC} éT˘˛~BLÄ1 Łâ¨ ëMŤu(ĄĐ«îŻI'‰DÂDJNŹľłˇ¤µą)ĺ]łˇ1𠆲ĂM>ÚMfđűDŹBxN%őP(<4&ś-äě¤QŞt”mSźGzŇv P„ĐBÓđŇ5$¶ożF{‰@‰&%M‰ZNŽ ĐQÓD[ş‘źž~‹=][ĐJ˘˛RHj" 67­á•s‡¨‹Ąčkędtn‚°iQIrtôÝ5-LĺfÉ;Yl×EˇJŐ4 65ő Eą0=JM$AŢ)VD)äo#˘i±hŚp8L{C3÷ÚąbžŮb–KÓĽ;>ÄáÉóĽ›cÜ] ŤŢń^ßQ „đФAW´…YŐű'“ úúú8ţ<›7o"ťNÓ×·žX,JKK3†a i7ö±yó&ćç#Ž088H{{;k×öbŰ6¬YÓCGG;““tuuqúôiǡłł“ááa>űŮOóî»§±m«JÔö®XŚ AIJxtëZL]ăżľ|śwFłŘ\Ę9Śĺgń(!Q†µHN.SÄöV1žßŘČŻ=¶•ö¦:4)Żrş tˇah›{řłßĺĂëv1WČ3ąÁŇLtˇa+ ŠŇ™nb|aOyěîÚL¶X`&ż@"çäŘyÖÖµ#Ą o14Çs±=GąěîÚČĄŮiO‘ů-1‹Ä?Ćďt"¦˛@ŐtÖÖtđ[ćÇŮ<ÖÁßçöqĆš ‡oe­V b¤’JcmˇO…îçŃĆí4ĹęĐ„¶*2Z&5bf°aá᱾ˇťB±Xj[¬~ŇĄĆşÚv†gĆAŔúĆ.ÎN\ŔĂÂQł…Ző8®íÚ�\Cęlnî&Žńúů~’á(禪›’ $-x/đµ["%÷Âę9°wM=Ý— öG#á%Ź•B`Y&¦i\¶Š–Ü«§Ôp8\rK\Ô&ó ťXŽ€Ś  @€;4Y”~u‚”’ô†‡™Lw‘ÉLBŮͨlł˘hznÔłÓÂÚ±ţë×ő[j”B”.˛ˇXŚĆ®®+»ä”ZgšAX3ŮŇŇËŘ|†ź:Jńü–GčH5Rt¦›H…cX†IÔ óhĎ˝ÔFR LŤŇŰŘN:g˙`?{ş·rxř4›zY!r9>±éQ !Ůݵ…˘cłą±›aqjlçúÄ:IX3ĐT•>Ζ$V˙.ĄÄ�B†E<ˇÎKŃ™nd{çz>ZČ3>=É©± ?ĂŃÜ—Ô¶ňwוP8€†‡iFX—hÇ4ŚĘNŇU/ŢşNWWg•5µd÷îűBH$R˘”âţűďCÓ4âń8 ĄžđÎÎ4ÍONzhOĺ; !řČGžňŰDjk*çdssBvîĽ÷®ß«nRB‘†ylűzšÓ1ţď—óĘp‚ăâxĄŽ$żđeŃŽşĽ kASDňą-ŤüŇ›h®I˘i˛2®*ç…*iśżŞM–0čH5ó܆‡řŰ#?F)ŘŮÚÇ=-ë04ßnüˇîm´&ë© 'ŘŐŢGwŞ•ˇ™)Zq64tqbě<këÚ81zŽÍŤk¨‰$(¸¶ë`HŤ_ŰůQNŤ˛µuÁń±ó|xÝNź@bJí®Š›) ÚŤ|*ü(»2ëŮ;v„—ť#ś O’—ÎQܰgĐ“­ĺamŹ7î %Ő@H7ŃKÇ÷jDĚâ˘XÓMăivwnć;ý/3™ťĄ·¶ť˙áľgĐ„Fm$ uEH„clm^K2c`j„Ţú:ŇÍ<¶ć^ňvž őťäě"»87=LWŞ…Ů\–MM=;GK¬Ž_»÷ŁĽrö}ő´$ę€!µ;^Űç&ťUP,şŠ+7ÉU†ý/ŚşĎ{ů®ŐĎ˝]Ç콾çť[qĹď·ňŇI±’ˇëş×ř~bŮ««Ëî÷č«_eůăŲ«ŞşěQwâŘRÝćH^ů~±ě(ŠŇlTţYľiĄ›^ş™€¤îÝrĎľ™L&Ńp—.ĆTĺ§*‘źýÂçůť/™p$˛ŞU)UrżÉ/I–«őA€JO­*µěPJčĘż«+MÝĺǬ°],…@ČĹńÝmJÂľëË.%Ý…ŻR#|ăkĄVĚžXů«¸U=MaÍ$n„0„v[7đ•Rd2łX–…&u\ĎÁuB! ]×/×ŘYö}«ĎŔw([â*…ă:ĚÎÍqîŇoŤťáČÜíifß±jGŞ‹ßŰýË$âq´«´Ľ¬vuŹ_ęvµü{¬t˙ťÖß]v‚RĂ0 <Ď#—Ë’N§®ř™«űÖ]Ďc~!ËOß9Ĺ?§ĘfĆvČ»`WÉÄhĄELÄ€Ú°Á#M!>ą˝“-=톹Ä-b©»ĎĺC´ŕ9dě<·Pq ¸â1_ľŞ~Ź ‚Cj$Ťa©ßöxfł9lŰ­TT‹E C»¦3WµľŻy pńČ-d™šb4;ɸ;‹DP«ĹiŽÖQ“NŤD}B“Ąńąę÷VĺÁźrJ-^ „»d ,®âe˝$)*Ď +Ä©ňY–˝–CÓIęai oŁ›’çyĚÎÎašşf°šÂ×uÉeçůŁ?řCţö›*µĎ®–üşÓŻ÷žRôööđď˙Óďłqă†Ň9ü‹@ą,?koőßnOLo] V¸_]áńj•´Ăť !áXj7l 8Ą›[şyU7UőS]»,AeL€�ĽŹ}őďe˘çjšâßçJ•Ë—Fai YqňnqQł@á ßÂő“@`Jť4Đ„D ß±¦ÜŽđţ\ÂĹŞbWMŞ•ă¨-K°5)©MĄI&lę^Ë\.ËČĚçf.‘u‹ěné#Ť^ć¤síŘ^ßY±<öWJ–îľ$ęęçwő}š”ĢžÜą™ëć852Á‰±y.Ě™.@Áő"š¤>,éJYliJÓÓROŘ2±t!W™l–LÎL©‘6Â䤆­ÜŰzd ˇ’†ÔŢ·ĄËßV\׹*‘%Í%‰Ť GiS­xĄö.ż˝H–¬[ĺő“„ň™)$5F”ś0(*§Džů{ż>łĘ¤F]×ńĎM! ISj‹Ňť2łH ͢[qtË H€�n*2&@€�nsҸĽ¤śĚW™kíâŢ$čňÜČwţ ˇŇôĹ\B±č$s«ˇ|!âËš[üćKŽ»¨®XzÇ´Šś€Ô4tM#dÄÂQškęŮÁ†“Ôĺ,V:eĹŠ1ĽV¬*šaŤHȤ­ľ†G‡Bˇ@ˇPŔu}ť]×±B–e!ĹŇ˙jÉľ/’[ŐźŻüäۦ~˙zŢr…T×Ô+ąŠUt ¤ĽâöZÄóŐ™ňYĄ!‰!V· |Ą//.ęőĚ·9`~¨îôĆ�ř`! cŕv%ŹÂĐôťlĚ%âf«MîoWb»$¸­â-%˝!üdDÜžýa۶Kń©N—ZA^O¡˛<Ć«x~€+'ř®ëˇi‹ ş®käóů«¶ľ\)ąWJaş®‰D.ű5°š-ŃŽ)µˇÜďGśÜ’EęŇvß­ku ˙ŤŚ‡›7†ÄŤHńŢŢövWĆ”ťÔüů*gŕv cŕvĺBĄ…®Ż™ SvćXž *ĄnŮűßiip‹mxUÉ&ĽP(–ŽOuŐ¬ÄęŠâÇ×8Ţ·*–ż¨đ<Źl6·Ä"Ów"ÓÉçs¦yÝ-*Wµ;^ˇĘâzb*”/¬~›N”ňINĎó0 } ©ĺ8¶mcĆűL¶Xś %—·ŕŘ ŔíBŕ› @€�·…c•ÖÇqYXČâ•ÄzWzÜ­¸Ý=ŮÁíIşĘIH6›Ĺu˝%B˝ĺXyž"›ÍâyjUU1nmŇËĺ|‚L7*„LŮ}JJŤąąąRŐŵÇâňvŁë!o®JČ,7›P <ßžľZHřVßŢďXŮv‘l6‡¦i÷®ęełYÇ Ë;€ńç@]7îľëE€�ÜĹ*cŕ/WŇJĐ4 Ó4±m›ůůLÓ¨¸1U™&]ç‚úňç\­ äJŹ_üś7ţľ7ó3ÝČ{Żţ~QŮ ö<…išKŞ-ŔßÁ/ÇjvvË2Ńuíş?Ďőť;7ďř\ďąt+ĎŁkź«Nçą‹E<Oa&š®!e•(ݦašŽc3??Źiščş^5„˙Ďz•*Ą(l\×ńťy–%řĺů®XT•9Đ0ĚJśndž¸YóÇ­ž»®6ĎŢĚď°ş9aůh]6 @€€Ś  @€» +1Őú!şî·˝Ř¶M>_Ŕu˝«dܢ´±ŞJI×uLsĺ6¤2y&„Ŕu] …" Îe:2nm¬Ę ˘®ëX–qYÂXŽ›a•bŃ&—Ëăşn0®n[¬üÖ>)%†a`Yˇ“űň¸˛, ×uq‡|~Ďó‚±u‡ÍŕÖ" cŕ6/‚Áß–RâyĆÓZđ‹ęv•r –k”cĄiZĄ¬?ŔíŤU9QĽZ …RŞBř-f^0®no´bĺX­łňă4MĂ0Ś%± ô–îŚ90@€�ÜZdL€�Ü\ŹËÎrťŠĺIG„ÜžddĄxT'őˉź<ó‚2ţŰ,^iě\O\ńtâUČQ¨%"°×r¶ŞXż ¨eBć´—˝s`@Č Ŕ­G@Ć ŔMLŻ”�.&‹ Üĺ1«MEňőŁúŘ®äłüďĺ;ÄŐ1 ’űŰłë!b–Ç(×mŠŞâF¶ÚŘVŃBPÉâuóŻMKçżŐÍŕÖ# cŕ%ýWJ’>‚[őĽRJs AS!DĐ&sCqY<®ľđĺbâX.ŐŻ&`–—í;ŽSzN,ŢÎxA™ÄôŻn©&kĘăb±ŤLQ¶2ZŚWÉÚhq4qíĘ‹ëyÎj^ď=ĄŐKľ×Í{ěŤ<÷ňǔǕR~l4MrE‚şż˛NĚň±TfÜŠ±Ä’8-Ćqĺ90@€�ÜzdL€�ÜôĹďĘ‹YˇK…„Yꤤ‚ń[‹«%ť®ëR,ÚK,wcĄJ ľW‰U–Ű?ŽĘ?}ç—"JQ±!ŻNŢ=ĎĹó< CŻú9ůŽçí„ç)ŠEĎsĐ4˝Ąd´ë:čş/ä[=&XÝÎ1Fɩ̮/מ�¸}ßŕ&ăjŁžç»»†ľ˘#ĚŐžŕĆbqĺhšÄ4u<Ď­8ď”ürőRŮŇ:Ëű3ŽŞE|-ËüJĄj˛Ćó<Ç®¸Ă,>w‘QĄĘłj~Nš$·fq)–e 8Ž˝ä®ëVĂ0.“n'|},Ó4*s`€�¸Ť×Ëŕ ŔMXŇ®˘uE)…ëşhšDÓV·8-Ýú„żě–TměďÜ»•ňýŰuޏvĽ,ËÄq-ĆËmdľ“’~Ťx)J´ŚµtŚ]íŕúˇëzeŢ[ZmĆŇěFÇSź÷>žĘâ䚦áşnĄÝ/@€�܆ëdpŕć,j«îĺIFu’ŻëÚu%îŐ˝ü+˝v€Oć“Fb±Rz%NeWĄŐŠ’®ć˝‚ľ÷qVnĄ¨NîÇ!‹¬Řę§”˘¬¤UR;Y6®V3ľ¬~L•ö?×u+•€ţ¸%Ą{í•b¶ŇŘ âv ®“ĎŢ3I @€�®cî A€�ÜÜdq%ĘĹ\wU Ýĺ®KŐ¨vYÉăÎ^H«›BnܬX-&ŤŕşŢ’Ö—Ý^’4:6v!‹çRGGš†D{ĎUe›íEńÚE§”jAŰjă“ě«%6ăŐÉţŠq.ťv˘ę4¬nQR,j:-}.Čk­wúńşÝźw%"ş|.ú祋”úuÇüJYË-č—ĎĂ׳j‚ݬ_SÝFµü3]ϱ˝Ňçń<đJçž I±ô\˝M1óĹÍ—Ž«�wď<ąxłDřüz_Łüü÷Ő×0)e©ĘΫŚË˛ćŢŤ'đ\!—^—o~äd€€Ś  @€»ŚąRRr˝‹řjw‹ędĶ …¦iTt®•ÝDĚťEȬî3ßŘçUŔěđ)2/ţ{Śáźâę1ôOý9 vńŢ‘®ë2??O8Ć0 fff1M“b±@,Ç0tŠĹ" ¸®G$&Ť}`49”ZNR®<N*d(jÉéç …đ@!PĘŁčz\…í*׺XşÄŇ$†¶ÔĹénYś/­ZňźŰň=V2gŐóŔeN®KѶ) ¦Š¦X–ĺχĄŠśIbłŮ, !0M !áphÉ<ëë޸†±Ş÷)·Ňĺr9"‘HĄýŃS°P´ťő8=I§)ˇaęň} ŃŞçč�w;3??ĎĚĚ �‰x‚x"~]ëŽ|>Ďěě,étÓ4ß—ďQ,™™™AJŤt:M±Xd||€x,F*•ňÇß ŽĄ<.ŤŤ‰DHĄ’Kľ˙ÂB–|>O:•B7‚t9@@Ć Ŕ]·ş’ŁŇjD‹–Żţâßq=ćr ŤNrćâg†&élNł®=I{s Ńp¨" ĽÜúwµÉÂÄÄ ضM6›%‹­j!6;;‹ă8$“Éw«<ĄÍ{Lg=ň6ÔD$©ÄĐňŽÍkŐ{ŠżëÚ,\x5v€AÉ,÷ý5Ý[‘şqŐ„őZŕ[ßú;w§‡?ř?äK_úůęWżĘ˙üo—x"ÎkŻ˝Î믿‚µk×ňÜsωD>Ŕ»|âŠD@Ů€y1±WŘŽËDÖćœͻ™çg.ĺ<˛žDâ’0$-ťuIIg2D{Ü 204y]ăĘu]&''Éçó�X–E}}=𦎔"—Ë‘Íf©­­˝%±q=EÁö\Pd‹SR„L Ë棛EĐ܌שŢÝ·m›B>GˇÇó<4©Raů˝ŠĹ…b]×1Mó˛–›«}¦r¬^řÎ <řÍ--ô®éáÂĐ>ýéO‹EÉfł„Ă8{ö<đ�†ˇ“Ďç‰ÇăX–E&“A)E:]műÉd8ćâĹaľő­oń»żűe4MĂSÉzüĂŰYŽŰŘüě´dĎ‹GzĂÄCÁn|€CˇPŕÍ7ß䥗^Ćq4©ńkżö«´··űë))ŘŐd˘”˛2ŢŘ»w/Ď?˙<uuu8ŽS©F) =—+.ËZC–eUôĽLÓĶ}ńnĂđŰ€…躎ëş"Ő¶í%ŻS&* …ßţö·9vôBj|ňźŔó_˙ú׉D"D"aÜł‡GyË´|jĎ«\¶…~Ĺ‹H)JŽaĂ0*kŞ……ţä+ÂÎť;yć٧+źË¶m~~đ-Ž?Îg>óR©¤˙?)0M#8ÁdL€�Üńiáý«ŮYŻĄô<?™››çÄŮ!Ž Îó滳\Č7@ü^¸p–C§ŮŮ›dK»ĹĆ5m$“É’VXŐg*żg>źçkńu~ó·~“ŃŃQŽ=Ęý÷ßGCCĂ5‰ť‘‘ňů|)Ů—•ŤŞ˛˝đ\Ţĺ‡GsśĽd“É)Ö5<ܢ·ÁŔÔ?xI‡RŠb>Oqô$Úü"ä"5 ÷ü~˛™qĚh˘˘[r#‡ĂÄă Îś9Kfz†––6bŃů\žbŃfvvŽźýl/Ď<ó4ťť=zŚůůBˇ0š&îęqµrűŘŐťxTŐÍSŠů\ž·.ĺyeŘćÍI›±˘ŔöJç¸ň[T „%ˇ3”ăŃ&“=-aúę"şŽ” ĘĐUŢ;źĎóÎ;‡9|ř„Đčë[ĎcŹ}P(„RŠAě“_ůďľxÍ*‹r+Ëňo§ÔJc\THÝźäŮwÎáŇśKsBcW§Ć˝ôeď÷^[ç®Tx=sdőëyžG.—caaǶ‘R ůľRÉQn±ńuh‰çąäó9 ĂŔ2-?ů\Ĺg*“Ţëׯç‰'ömÎť;OˇPŕčŃcLMM‰Dă­·ŃÔÔÄáÇIĄRtvv`š'Ož$›Írß}»(mŽ9L"‘¤®¶ŽBľ€mۦ‰«ŕŘ͉Q‡ąĽ"b$pp Čş“x(h pcp]—©©)\×ĺ‰Çźŕ…^ŕő×÷ŃÜ<P"[ ¬]·–'N ë:7näÔ©wiii&™L˛oß>ęëë ‡ĂLLL044Ä™3ghiiˇ®®žŁGűŮ´içĎť§ŁŁů…yFFFxîąç8yň$gÎśá±Çăđ;‡™śšdÇŽ=zÇqX·n¦i200ȦMŮ»w/ är9fffhnnćž{îa~~×uyäŃGŮżď�Żľú3¶lŮÂđđ0˙îůwzëmľůŤo˛óŢť ŕťwŢatt!uőux®G6›eóćÍ‹EŽ;†¦iôőő‹Ey÷ÝÓLLLpňä)š[š™ššâç‘ĎçX·n“““ŚŚŚ0==Í©S§¸xń"mm­lݶ…p8´ňČ�¸Ű’H?‘\]YľçyţÎýÔ4??z–·/8 ,$-4 [!T ťĆL¶qÉčâĹÁ ŢťˇăŘ ¶5KîÝÔEc} ¦ˇ!Ą¶ŞČq\:ĚÂÂSSSś??HKK /żü ů|žőë×aŰ6gĎžeÆ ś?žl6dž }‹EňůůĽź´Äb1>ôˇGhhhŔqG/:Ľv:OŃ…!9;nŁIhNéws3´b*IäüsŽFŞůŠ"‡™8F+ăă$Zz*ůűŤ$ŔˇP5kÖđöˇwčď?ΓO>i™(%p]'—Ăó\Ňé4şnĐÝÝE(ú�[/ŐY1.ž‡§2 Ľp.Ë«#sPt=<Űg–żBAŔ†Ď;Ľ59Ë3E>Ô§&l"J€ŕĘäk(˘Żo=ÇŹÇ4,ş»»Řż˙�çÎť§łł)5N?ÉŔŔ ű÷ďÇó<xŕFGG9vě‰D‚††ććć¸té;wîäřńă8ŽËĆŤ}Ś Ź’ËĺČdfhjn˘PČóŔ»ijjˇ1•őřÁń<“s¦cs/ťrékQ“Ü,nîfşŽ•ÇĐÂÂ< (Ď­"[ źj-Śj{lQJ”»ë¸D"Q–ëŻüy}bëâĹ‹é?J}}=žç'·ýýGÉç ärYZ[Zhnj!•J100ČČČ…B‘‰‰ fgg‘RŇß Ă08sćů|Ý÷ß_ŃĄ*ϱ9Ç… MQS02ë‘Éz,˝ŕ˘ŕ=ĂĐur9ź”ô<—W_}•ááaîąg?Ű»—‰‰ rą»víŕСCÔÖÖňłWĆÇ?ńqöíŰO<–ŕŻ˙úŻ©«Ż#źËóä“Oň˝żÇůóś9s†¶ÖV¤ÔD"8Ž‹m;üŕ? ľľď˝ř"‘p„wO˝Ët&”’üŕ‡|ěcăŕÁ444đÝď~ŹŤ72“É008ŔÇ>ö16oÚL}}źúÔ/ńÂw^ŕÜąs|îsź+9ćtvtâŘŻżţłłł(Ą8đćö˝±Źx<^úŽ÷páÂ~řaΞ=‹eYضÍoĽÁž={řîwżKSS™L†…ů,ßüć_łßŇF–ĆG>ňJ)†‡‡ůă?ţcÖ­[ÇŮłgI$¬í]‹iim}2&@€�îÖÔq1ÇęŠéĚ,?ţŮ>޸ dÜ$„k!d˘<—ěô»Śüęv|ŠXű=D;Ă^g'8¶0ÇË§Ź˛«Éĺ™GwRS“B_…Đťçy yľň•?annË ±ďŤś<uŠt:M˙Qş»»RráÂ'NśäÁŕ'?ů 55µ†ÁŹ~t‚‡~]םťŁˇˇOA˙°‹ă)šaSc6ďqbÔ![ôHG>x;LĘóË™JmCkÝBA‚í)2Ó6Ůy›.×}O®%ş®ÓŃŃÁľ}űąték{× ëůBŽ#ýG*;ś˙üĎ˙Lss ccc|á źçîŃęąąđ”‡ă).ÍdůóăóüdÄaÖ. §^}Aí.`»Š·mÉć(:.Ď®Iµ 4 ÚUâ¨ë:őő $“)Bˇš¦óă˝DѶ9tčO<ńa …Żżţ:,Śb �� �IDATţĽdÓ­±wď^žzę)Ξ=ËÄÄ$ăcôö®Á4MrągÎśarr’Lf†Í›7qâä)tĂOľNž<E}}=R“u™+(b!AsBc®�ÓYŹ“—\ŚéwÜĽX&b˛Ů,sss <_Dy™®/ĚĽ´ThąŘ®”۶Éĺr„#ák’FBřZ3íílß~ĹbŰ.2>>ÁŃţŁěŢ}?çć GÂ)Éç DŁQ"‘ĂĂĂhš$‰ř9–Ĺąsg‰D"äó„ds9ćçýöO!íiť¨%™^PĹÔ‚GkŤN*¤ Ŕ{ĹĹ‹Éç ôôtsßý÷1>1Acc#Ź<ňöŐ?Ł­µťD"AoďZÚŰÚůÚ׾ĆÔä46l •L#…FˇP¤X,ŇŃŢI4Ą±±‘Úš:Nž8EWWýýý¤Ói>óŮĎ …FG{mmm|ó›M!_ŕˇçćG?üO?í·ýéźţ)®ăáŘ.ů\ÇvQhšAWW{öěÁ4-¦¦¦ş0Ć ™ä•W^a×®](ĺ‘Í.0==M>ź/iD tÍż&nÝş•ţđ‡|ń‹_äk_űĂĂ9wî_úŇ—źźçßřMMM´´´đěłĎrřđaÇadd„¦¦&źÄ®šŹ‰Ź=ö'Nś ›Í291IO÷š»Kú.@@Ć @€+-ţ/żšŰŽĂ˙úG˙Gë>Ť¬íĹD)Ż0ĎÄńď3Ľď«hŃ(VSz8‰Đ ”^Ď,u,ĐÁéóďňłźüGţĎ˙ýC†B—µ-­Ó4ůŇ—~ťsçÎóĆ›ź§Ł˝ÇŚŃŃQ.ŃÔÔ®D"aÚŰŰyĺ•W‰Ĺ|ť†™™ZZš—}GhNI_„!00ĺŃQc`hĚŐŚë)¦gPŃzĽt’˘8®Âs¦ĎÉfłÄăń~})%--Í<ôĐ6oÚLm]-JÁ>ŔŘĄ1"‘0ź˙üç8~üóóó<˙üÇHĄ’«:>h¤gŮ%ibľŔ_śśăÇĂ6sEO­~_łĽî¶=¸Uü§ Äe†'zkŃŚë!}-!Ă4ŮóĐC¦Ž*ąéär9ÖŻ_Çúő}$“I^|ńEş»» X( [¬YÓĂ©“§9}ú őőňy”R´µµRS“¦®®ŽŮŮYrą\ĹŇ»-­ˇ A*,±tÉů)M´Ąµ;2^eÍŠŮ™i�4J9SňĂĺVĄe„L™dÓ¤FˇGÓ5LÓĽj ©¦ilٲ )%­­-€ŕŃG! óËżüćććYż~=­­-ś={Ó4řđ‡?Ěŕŕ�}}}466rčĐ[är9}ôQzzş¸paĂ0ظqRňů¬˙^B°±ŮŕÄÉ;CEf ɰ`g‡IC< cÜ8¤”¦IWWź˙ü¨­­ÁS.±h”D"Imm-=Ý=ضŤaĢ1şşş0M“LfšO|âă(ĺë[ĄÓiÚÚÚIĄRäóyR©4Ź<ň0˙ôO˙Äşuë$ ÓŐéoÔD"üq~˙÷ţŹ?ţ8ú60|qţţ~,Ëd۶m´´´ĎçxőŐźáş.áp×uŃ ­$JŻ“ËfůŃŹ„®éLMMQ__O,CJÉ‹/~źńńqvîÜIMŤŻÍdY&ńx‚T*E2™¤¶¶†h4J:ťf۶­ô÷÷S,Ůąs'۶măűß˙>DA"‘ ‘H000€ahšFmm ŽăÉd°m›m÷lŁ˙H?ž§‚Ą� @€�ôäqa!G.eŁkH^ˇ<—Ba”ńßĆ)d™8üO¤¶”pl˝o«$.ŕ*Ł`n~ĄVWňnY&-­ŤÄb1Ňé µ¬_ßÇK/˝Ä‹ß˙Ű·o§ľľ–T*É–-[8~ü8őWĹ}÷íÂ4- …<źů̧ů»żű6µµiľřĹ/úÉlmŐ98`0:ç ýĹB‚­m1ëF(łľXtś"ŤâIˇI<ĎÁ°BäóĆ'¦FŁ•6‹!ń Ă`×®ť¸®‡ač(Ąřâ?_YŚ !hll¬hyü˘- +•fJ‘+ŘěšĺÇ ĚÎGź«00UđJ7!ăó‚˙v2Çúş9şjâ+Ú/YléÉdÓ4ijjfË–MĽńĆklذ]»vŽX466rôčQ8Ŕ3Ď<ÍGžzš?ýżJ<gMo7u–I"™Ŕ´LŢ<x€…ě<­­-,,dI$âÔ××W·rŇ"¤˘5%Y×âĚx±yCô64%ĹÓ¶¶ÜŞz~~~ńo!Ą#Ą<\Ű'Oa>“›EMJŐcY1” ‰*Űâ …¦ů$®ë•ń±’–”’m۶.3÷ďŢu™u<@Gg{…ôٶm š¦ˇiŹ=öJ)4McÓ¦MôőőUĆăłĎ>e÷'’OďŚđh_ÁI—µ éôí­¸AhšFoo/ Ť´´6ŹĹXČ.°k×®RĄ^Ďüc:t]×éí]C$ćŮgź!›ËŇ»¶—|.ĎGž~Š5kÖđ«żúßóîéwYÓŰCWW'őőuDcQ:;;‰Ĺ˘$’ ë‘R :–"‰pßý»hkkáźü8ű÷íÇSĎ}ě9jŇ5<ýĚÓ\ş4Ć'?őIš››*ä±išHMŇŢŢΓO>É»§NŃŢŃĆž÷ËĺxöŁĎây÷ďľź{wěŔ ™ˇŘľc;słsÔŐŐńĚłO‰Dxřá‡Ĺb44ÔsđŕĎŃuť{¶ßC<ÇuFFGyţăĎłˇŻŹŽÎöîÝ‹çyô®éĄ¶¶©I˘Ń>ř�<˙ńŹqĎömč†ćkŠp Vqż¨ú»ü»¬úYľiĄ›^ş™€¤îÝrĎľ™L&8Ú¸«“şŠÍ´”|ö źçwľüeÂ%›ŇŐĽ†ëşäóy’Éře‰[ő{m‡ŻüŮźó§L;?‡’‹ĽąrŠä/˝Ë‰˙ňKgưę»XűëB¤c+šfR–¤J1˙Îwyľö˙ć_ý–i-j.\ç÷^ŢFUľďJí—˝‡ňâˇi‡c#“ .šuÖ7šDLyG$„ž§™™Ĺ˛¬ŠŁ„ë:„B֪ۉ”ňK-Ďcrrś7ĽEcc“źkÇq™›źgzr’†ş4[7o" ÝT’än˛]~/ßqnnˇ˘PyM§“—ť«J)ŠŽÇąÉyţóÁI^W«&'ýsądŁ˝äĽV†„Ovjüë]Í$Ă&r•„×j4‰ŠE›×_ť©©i2™ ›7obÇŽí2aĺ…›(ŐŠ,~v˙ý “ó8<TdhÚŁ=-ŮŇf kUcďÖť3ŮlÇq+U)…BĂĐ ‡C—gžG>źcf&ă»—T‹B€r S#d†Ž‘›ş„r|·ˇéÄęۨíŢJü˙gďÍ+;ĎôľßŮďľß ŕbk�ŤFďŮĹ7Q”8˘=#qFÎ,.k*•ńÄIUśe*©T%•x*±'NĄ§Ęů#v*qEilIcí”H‰âŢdď+ş4öĺ¸űzÖüqî= 4»›MŠ’¨Ń}«PŤľ¸g˙ľď|ďó=ďóô!Š2öVKlŰƲmüţŕ¶>÷Ię+N›~%ü űU©TFU~Ěł,‹F˝Ę_üăÂ×˙Í×pî˛˙u‹¶i9ă»ĆůG˙ó?fßţ}hšöks []Š$I¶l,Ű] QĹ«6Lđ,Ú;ŽGť>gw܉\W&Iň¶íĽď,Űu@’e×Éqm-Ç˙ţĎţ9™t†żóű_&“I»ă°®{@‘ ž=|¸ěôɨéŽ:¦iB¤q‡V«Ő¸eďĽ;ó+Çvź™( (˛‚a8Ž,ËŰÜś@Ŕ˛Lďř6L«Ą#.›N”Dďďťóí0ŽĽwăoV¨Ş|( fűÇj˙Ř[~ś-˙:wfŔŰ–vŢ7č2cşŃŤntăŰ­¨áŔŢÝŻ~[vpDgű(®iHÁ”rH0ަbËŕ*qŢů®±1͡'ŹryŃ>§ó˙d‰dc2˝Q7I’DYţĆ Ę:ŽŤc蔦Ď\|źşŮîEPü¶I°Ľ†ľ:C+ 5Ô‹Ď—ýŘŰQ7¶‡aŰĽ»\ćJŃƶ°¶X[ú— ¸vë˛(ôËěŠk †®l´¸˛ŮŔ°ÇÁpŕ'«ź[+ql8 ÂĂaóŚdYćČ‘ĂĚÍÍ …č÷’w5កRÄ'qjÔç•[Iźŕľ§ë:VŰFwŰŹăP__`sć"‹3Ő<‚cą`™(QĘoŇjTésLÂ=;$¨Ű ”†¦iźHвŰu»ńqľTUÝö™(‰ŇvëŽÍs'|>ß’Ru۶÷‹p8Ěů_ýŕ8CAŻ˙Ţ˝ďË[Źy÷uÜ}Îťë˝×9mÝÖď÷ßuü÷/˘ţ}ŽÝčĆĎÝVÖŤntŁź¸ŚF†ń×Ö°GĽă âŕŕř$äp‚qĐT,ŮÁ‘lĎFp,”ę2ăŁ_tnĹő^ÂÂ|Číî Ü€|Güáűą{ۇýě“Ć8z“üŮďÓ;÷M• š?‰¨Ş˛ŤŐ( -Ř´łÔ#’Î~¤kéhkt&şö]+Ňťďle7=H+ă^ĎđAĎő^¬®­żß­ŰqŻc]úÇ Ýäg‹uŞ:86.{ĚqÚü–;\Apiľ˛�é€Ě©ţ ÇűěIúč Čü«Ëy®mÔq,G�Ç(4L^]¬sdŔB¤´ŹŘk•$‘X,F,űXî$ň‰/}ŮŞc۶>uî™Ń¨P]»ÍęÜMŠ+‹(Š„Ď§á86­F‹b±Śn™řĂq´`5’~źĂ™·˘˙€sčh uJ’:źmeÓÜ«_ÜŹIxżżyLËm}e;HvŻ6s÷>>¨wŁżĚüď5şŃŤntÁntŁÝřÄ& wO˘EQ  3ÖgŞ´ŚDčŘS ¶*!E“îwź‚-Ů8˛Ťc»ş2N-OÜG,nOî?ŽéĐů;ç´µüę&úťD§łBµU e{ŇńÁűŘĘ�čĐŹ;4ćÎůuÎéĂ”řÜťüü04ǦQ)Ó¸öâR˙Ć>AD’Dź€í´ę"ků"őŐYě=ÇÚ÷äĂ•MlnnréŇ%OŕŰßţ6$“IĆĆĆ7ŢxŮŮYAŕôéÓ oK·ębthŘʸ{ßmΞ=ËŔ@?çÎťăąçžó(ďťm<zx;y˝ző*š¦±sçÎm×r/0íîDöˇkc;Őz«yÝÝŇQhc–vG‰i<?áńé€LXŃ$Óv¨¶,¬vq3u‡–)piS§Ąë(’˙m{kB˙°ýęă8~4:çşXôîŹcŁW6¨l¬˛ľ¶ŠŞ Ť$5<c™l,ަ9}ž|n•ôú2ˇž ”pę} ‰mŮ^ąÁ˝Ú¤eYś?žk×nđâ‹_D×uľţőżâůçź§§'ăŤM[űĎý�—­÷˝óü;}«P(ňć›o˛ąąI2™ŕńÇOóöŰďđÔSO I2˘čîďňĺËěŮłg[ŮĐÖý›¦É…  ›ÍvA™ntŁÝč‚1ÝčF7şŃŤź'A@QîÝ͕՛ř2YEnç$¶¦"†c€Š€OĂ–É lÓF_żÍřŽ~|>íˇőN,ËâÇ?ţ1­V‹ááaz{{Ńuťľľ>Ů:Ůß lLOOsţüdYćäÉž=¤ T«UVWW= “”nÝŹi𬮮ríÚ5FGG`zzšĄĄ%öěŮCOO–eńî»ď˘ë:GŹÝĆč”$Ü}~ťßkµ:ëôőő˝Ź˛üq$’ŕę‘lL]B®-"F,Űş™‚ŕ rcĘŇMôF_0‚ Ýś»W¸Z) ‹†N4ĄV«á÷ű1M“ĄĄ%ŞŐ*źýěg±m›k×®1<<Ś®ܸ1ÉŇŇ"ccc¬¬,388Čŕŕ .\ P(pęÔ)šÍ&×®]gfć6±XŚp8J˝^çúµëH˛ÄŢ˝{ …Bض͙3ďŇh4čď T* h4ś={żßO,#‰ŹÇ9ţ<\ľ|…H$ÂŽ;¸ys’z˝ÎO<ń±c–e±ĽQ˘č¨X¶8¶[Ě# ˛ŕŠĄîŠk|yO‚Ó!ü˛aŰś]«3QŮ“ôc9óĺ¦ea;‚#`aă °aŮ(VúďOń?{ö,Ůl–T*Ĺúú:ŞŞ’H$îÁ4şSj¸•1ŃIě·YîßÜ+Ý ŽmeL8ŽĂĎ~ö3vîÜÉŕŕŕ'>QßĆô`Ë˝qŔnŐ©UËŞź‰g˙.;÷Bőůq, ŁŐäć•ý\ů/©” ÍÚ¶{°.} 3ƶmJĄKKK¬®®±ľľÎúú:–e˛°°ČÍ›“LLěĆq666Čçóś>ý8ŤF“K—.’Éô0::ÂÜÜ<SSSŚŚŚĐßßĎěě,…Bž“'Oˇ(JŰýEăرc ôc&›› E&''‰FŁř|>ľúŐĂ /Ľ@  R)“Íff~~ž©©ivďž X,‹ĹątéĂĂĂÄăńîK´ÝčF7ş`L7şŃŤnt㣂1šŞq`ßnôwĺŕ§é,j;‚€ŁŞ± …˘8>GpĶ‹eÓ\źaüČ 'Hű0aW®\ĺŹţčątéׯ_§Ż/K4ŁŃhxâ}˛,ăói”Ëe"‘˛,łąéZO<xp8ÄĆƆǢ�Eɵ«-W/ZZZâÍ7ßäСCś={AČĺrĚĎĎsŕŔÎś9ĂxóÍ7" ńÎ;ďpúôiü~?­V‹rąŚ(Jí˙7]«LY& R.—ŮŘŘ`ff†h4ú c\6IîÂ+(č¸I»+íć–> ‚$9h˛Meú"ő|Ő@ř®J~żźh4ĘÚÚą\ŽÇ;Ĺôô´W˛”Ëĺčďď'Ź#Š"źţô§h6›ĽőÖ[|ţóźă«_ý*Ď?˙y¦¦¦ąvíŞŞŤFůÚ׾Ćŕŕ‘HÓ4iµtΞ=ËČČjuW\UUU8€mŰĽńĆ›<÷ÜsÜşu‹jµÂřřN–——±m‡ŐŐU–——Ń4Ť]»&¸téRŰ*Ôdnv۲ůńŹ^á?ţ˙ă Úĺ&«5Ű´°m«]š żĚá/N$x´7Oh·ň ľvŁČţ”ʧ‡]f™íŔ|ąĺ2cŔ±=ŘÄĐ[2¶Óöa~Ű8ţ/˝ôň'ÂÜÜ<Á +üm&š¦š¦b˛,cÁ`Y–iµZ”Je$I" ’ĎçŰ}ĐOłŮD’DŻš¦IĄRA×u|>ÓÓ3ĚÍÍqäČ‘_‹±ĎŐvikřlł’pK5eÍÇÄ_bĎ‘cȲ‚(I ËČŞĚľGN�Ő™3÷ebŮ%Ţ,0<<ĚĄK— üîqD‘‹/‘L&y÷Ý÷ED"I(ćÇ?~™±±1dYáňĺ+ &'oňřăźâ§?}•ÁÁAÇ& ńýďźçź޵ZßŘ`~~žÝ»włgĎǡX, gĎžă‰'>M4#›Íňć›o±oß^Îś9C(âęŐkÄă Ţzë"‘ďĽó©T’ýű÷w_ ÝđXSpżĂ¬z1v+‹ëúęVŘ}Ďż®aY–'&Ľµ¬¶3×±mŰ›+H’´ŤýÚŮ˙GŐnŮşŻŹę\xżýŢďzž±ďî2Ę­ÂĆŢ<Ł}ß; ä5¶r6¦mŰ躎,Ëú~ß]6ý RĘÎâۇ}®şç?/óôaŰ|ŚéF7şŃŤß ¦^Ś ˘VżB KVď$š„ŤB$Šăo ř 6 ŕ&Bi…±ˇýŢ$ě^Úť—©®”JeADnłŮlđĘ+?Á˛L˘ŃˇPť;wňŇK/ńđnhä7 är9ü~_űÚ_±k×.t]'“ɰľžĂ0t.^ĽD:ťfllŚ;†˝cW*52™0M Ă09wî<_ţň—‰Ĺ˘¬¬¬RŻ7(—«:tb±H ¤ŐjˇŞkkëĽöÚkX–Ĺđđ0ů|MSY_ßŕsź{Ž—_~Ąíaâ|ĚŽ”ŢÄŃr¨×lVôĆzĄŽh¶ÝÚÎ<š„R4 Tm¶mÄ©#I‰D‚µµ¶m{ŕ’®ë†A4eyy™L&ă%č{öěA‰Á`x<A"‘¤P(±ą™Ç¶ËÔë R© ¶mŹG‰F#(Š Ž@Ą\am5Gˇ°ÉĐĐ wíŞŞ‡Úަi‘Ë­ł¶–ŁR)311Áúú:ďĽs†cÇŽ399IŁŃD‘UUŁ·×e*•ËeOśŃ¶mdYFÓ´Ź<v2Đ-ËvłŔAĄüńˇ$G{„T ŰŮ’Á«s%^]¨đÜhśßŢC•Dš¦ÍR©…iŮ´É(îż‚iŮ–ýŔĽH$†mŰüô§Ż‹Ĺ©ŐjLNޤX,áóůčííEÓT–—VdccgžyMÓ¸qc’×_{ Ixć3OóµŻ}ťS§NŇŰŰÇ… çiµtľđ…ß"ťN‘ĎxőŐźˇi*ńx‚ĹĹE*•*†aüÚŚ–ĺ^Ň–:AQüa"É^2C#n"Ň)g@t$DI&;4ÂZiY nK\: €íŕiłÜoü•$‘T*ÉÜÜ<$q@`m-G˝Ţ ^Ż ééÉ ™ťťe}}ť\nťŤŤ Bˇ ©TŞ FĐő››yâqťt:Ýľ&Čd2dłYúűűÝółL …KKË¬ŻŻwH; 24›-666©”km†ŤŹĺĺvěŘá]ołŮô’;UuAľŽj·Śéo~¦ÉÍ›7™źź'ŤrđŕA‚ÁŕC=űjµJ.—ó¬:FˇP@Ó4jµ‰DâžăuĄRáÍ7ß ··żßĎÂÂ}}}”J%JĄńxśÝ»w‹ĹČçóŢâĎÂÂŁŁŁ¤ÓéŹt …–eˇ( ‘HäcI¶ǡŮlŇh4¶±ţqĎbuu•BÁuĐëíí%™L’H$¶µZŤ«WŻrčĐ!oAëa÷ßjµ÷<gĂ0řéOĘîݻٱcLJ:wĂ0XYYAQŇé´÷×uťµµ5‰~żß+Ó,‹ĚĚĚpâĉ‡>ĆĘĘŠ·ź{}=G6ŰĐvěSJô\`ÜçóąÎ—ż‚rŢ.ÓŤntŁźŔE‘p(Ŕ@Te©ľ‰ÓÎAcqץ(r5cD71 »V%)$"ˇ‡~u˘Őj±şşJ8&OP­V)Kd2 àѨÓl¶¸rĺ ýýýHmwŁ=1[_ß ŻŻp8rä0WŻ^ĄPČcYWŻ^cĎž=ěÜ9ć: l DQÄ0 Z­KKËD"aüţ�ÍfAup(—ĄĐ.%X[[#Ť …ŘÜÜddd„őőuVWWéÉdŘ`?ů—_ŁV«áói<x›7o~¬®%wĘBllËb5—Ł<xŚp_Šš9Ź çQ[dÉDTEtŮGĹŽRéíŁ(±T¨Óg;(mFŔĂžś(Šdł}LOO“ÍfŃ4ŤP(Äňň2‚ ÍfÉĺr\ąrÇqčíím[|JŢd)›ÍâóůÇc$ ŠĹ"‚ L&0 ……Ĺ6آ’íďC’%ɡp€p»=şmFgzzšp8L*•˘Z­á÷űH&“DŁQŻäâüů ŚŽŽ˘Ş*«««hšŹh4Bo_Oűx Äb1o…. ŇÓÓóŃÁvŁ É"ŽcyŕŚ$€_X­LĺÄ|2“ů?.1ťoň•C)ľ¸;ŽO�ËqX(ëÔtÔŮęY&E|@‚˛$ńäOňťď~—`pp8„$ÉLLL°¶¶ĆŘŘ(?řÁ‘$‰ą9›ˇˇˇ6sĆ ·–#•Jâř°,‹`0Ŕ#Ź<Âââ"Ůl?ׯ_ŁŮlbŰ6ŐjMS9qâ/^d` źd2ń± ˙2˘Ůj‚ă (ň–•V_,C0ĽHm}žH"$Éb[Üqh5ęÔ×ç FhŃôűô‘ Ă@7Ě–) ‚@,C–EAÓ4†‡‡Q™@ @:ťňŘLÁ`�źĎG&“n'!)4Medd„™™nÝşEłŮb÷îݤR)lŰi?W×7ťN‘ɤ …‚čşA0Ŕq’É„ç>3::J.—ŁŮl277G*•B–e˘Ń×WÂá0{öL03s›JĄB$ˇP(`Íf“D"AˇP •JŹÇ»`Ěo@ضM±X¤ŻŻŹfłÉ¨ŞĘđđ0×®]#‰´`—đűýěÜą“[·nŃh4P…±±1677ą|ů2š¦122µk×q›S§Naš&/˝ôýýý†$Id2.ż±±A<gĎž=ž ÷…B4›M˛Ů,WŻ^ŶmNž<IłŮäöíŰ9r„Z­ćó7oŢdmmŤT*Ĺčč(·nÝb``€ŮŮYBˇýýýܸqźĎÇŔŔ�–eˇi}}}˘H­VŁP(pńâE^xáü~?7oޤ^Ż“JĄ<kěőőu …~żźD"A©TƲL4M#›ÍrëÖ-ÇˇŻŻŹ©©)úúú8ţ<O>ů$łłłô÷÷322BˇP`qq‘jµęź}}}ܸqQéííevvI’@Ó\ůP(D0äĘ•+ř|>nܸ,ËX–Ĺ… hµZś:u UU9sć ˘(2??Ďúú:Á`]×)•JŚŽŽ˛ĽĽěé썍Ť±ZŐµq�� �IDAT±±ÁĘĘ {÷îĺęŐ«>|Ë—/“JĄŘ˝{7@�˲™™áµ×^#°ĽĽŚßď2/-ˢżżźJĄB˝^Gt]çČ‘#ř|>Ţzë-oLíééA×Ýů@˝Ţ`bbĹb‘÷Ţ{ŹcÇŽ133CĄRa||śŮŮYŽ;FµZĺöíŰ”ËeĆĆĆČĺrÔëuYYYÁ0 Bˇßýîw9}ú4>źŹJĄB&“ˇŃpÁqUŐxăŤ×ůíßţm2™ gÎś!›ÍRŻ×i6›d2FFFh4\ż~Ó4b~~UŐA.^Ľ®ëěŢ˝››7o>Đ]¬ ĆtŁÝčĆßŔŘ*dŠŕŕÓTĆłićóËŮťo("„Ł B0­Jž®‚#8ŘŐuă~B퇵ە$‰h4ĘŁŹ>Š,Klnćyýő7đů4®]»F*•" Óßźĺ•W~—żü{w„%Ű«EĄR‰b±HŁá–ĂX–E6›eccńńq.\¸Čęę##;Đ4Ťžž ŞŞŇÓ“fj꯾úŤF±±QR©Żżţ&>źÖfôpŕŔ~üăŹÇ‰Ĺ˘‚Ŕúú:kkk(í$JnO˛dYĆď÷S«Ő¸xń˘Guý8@ڱ-SGo¶X\\Dö‡0٧)$ tDł…$"čŽHŐ)×Měb™ĄĺeîÝ…„¬(’„(>€¦iŹ>ú’ä–fíÚµ‹t:í=ÇcÇŽ‘ĎçQ…d2é–żiGŹ& đř㏠…ńűý(ŠBą\A×[¤Ói,Ë$“I#n Ěg>ót ‹!"ŃhÄ[ĺJĄRŚŹŹ‰DĐ4Ťb±č­p*Š‚išś={ŽcÇ%đłsçX;©”Cś<y›L«Şę­îo-ýHý ×Ah0B˛×]'%Ŕt~:[âÂZŤž€L@ÉŐM*-›˙á‰,źŤ˘É‚�ZŽĂŤŤöFLŰ…I@Ŕ'Xd"ĸI’D(â·~ë·řć7żÉÄÄ.ęő:ąś ´$“ |šŹÁVVVH&“hš†mŰôeűXY]CQeÂáp›Ý�ëëĚÎÎb&˘č˛HBˇŤF“×_ŢŢ‚Á †ˇâĹ{·F˝^GîŘĚv�Ĺ&śÝIaî*ąÉw öŚ%°©— ”W¦1ëeâCűPüˇ»ŔŇöjvłőŔ1PEĆÇDZÍ4±1M�űÜç>KłŮ$¶Á·ôřqWD»R©z@Ëőë7ČĺÖ‰ĹbŚŹŹŁë:­V‹t:…$I„ĂaĆĆv˘Ş*˘(˘i*O<ńš¦RŻ7Eh4Ć3Ď<E.·N"‘`çÎq‰8Á`€'ź|]o ŰĹ*ýŢjp<ßĆŚńů|?ˬż^Ńiď·oßŕ‘GAfgg±m›+W®pňäI&''™śśÄ¶m"‘‹‹‹ Q­Vq‡÷Ţ{Źx<Îüü<Á`R©˘(äóy�Š˘x@~__ďĽó†a Š"›››ĂbuuÓ4yä‘GHĄRüŕ? ťNS*•ńů|D"Ţ}÷]oěwËc[4›MO#)‰P«Ő<fÇ­[·Ă0äŇĄKd2oáÁqŤŤFp8ě‰ÔĎÍÍ ˝r^I’™™aaa^xąą9ÖÖÖ8xđ ďľű.˛,Óh4H§Ó\ż~Ý:�Őj•ĹĹE1 R©„eYŚŚŚ0;;ËĹ‹yňÉ'iµZĽůć›<ţřăT«Uz{{Y[[#pĺĘľôĄ/088H­Vczzš}űöQ,şRŐj•˝{÷’L&‘e™‘‘VWW=ŕ`xxŤŤ šÍ&?üáůĂ?üCęő:š¦y€V"‘@UU®\ąÂO<iš^iT&“ńJ]łŮ¬§]ŹÇ9sć ÇŹGEŠĹ"ßřĆ7Ř˝{7Š˘péŇ%>ő©O‘Ďç©T*ĽýöŰ:t\î´Z-âńx»¤VâÂ…ó bY–e±±±ÁíŰ·9pŕ� 4 †††řéOJOOŹ`éşŢ^Ô»Š(ŠÜşu‹ť;w‰D™™Áq‰¶m“N§ńů|ĚĎĎ3<<Lµę˛C«Ő* ěÚµ‹ÉÉI$IbÇŽ‘ö{Ôŕ?řăăăŢ÷÷îÝÓcşŃŤntă7€ą_"©) ă=üh~Q¶˝ĺx‚>¤t6+Ć-Qp*ë ĹCľ{Zß÷… ËüŃýˇ—ĄÓ)žzę dYˇż?‹$I¨ŞĘúú:CCÄă1Źö{äčaFFGĐ4•@ H0čçčŃŁ¨ŞŠßďDzĚ6 #î‘?nÝşE,EÓ4b±§O?NĄRAUUb±‚ ´iţápH$B(t”b±„mŰ„BAÂá0¶msęÔIŞŐŞ›´)2ŞŞá÷űxńĹ/ ůěgźmŰĺĘŰX?cc[&͵iŚëß'_n˛¶BMô¬á¨AtEi'yR;±3±šMŁ‚¬4Ů\_çć7˙ORQŃá]„÷?ĺ%’ uÄ: ŮĘ ‚÷ŃeI"ŤL$p�UUÚĎ;ąĺ›Ę6:p§Mt>síŇdIćo˙­DŁ(˛ [’č@ŔĄ 7›-Nž<N$AiߏŢŢ;+Nţ¶đíÇÍŢč�Śéx”>iiCĂvLL`­b±Viy7K•Š-°±dÁ[LËáĆf ŰvÚĄNw4™ŃaH3„‚đ*xę©'P5•d2ÁWľň÷…Ü»FŁŮ¶‚ đ·ţöeĂ0Dž†ÂŘŘńxĽ ˛EřÝßý]4MăđáCLLŚ{“O·=Äxúiwňßąßťúü_‡D\E Ý@×[m†ĘvŚ(ŠSYĹOyî"ůé÷(*`c›&’Ş‘ŮŹëAÜĦIą\A| «[Đę<dgëxśÔî ŠŞîçáPĂ0yâÓ§1- MU „BˇmíC”EYŮÖV{2·DcÉĘďw©ó.&ě– ™Ě˝Ę6¶ö×íýţ—µÂŰŤONȲĚčč(‚ páÂlŰ&Ťâ8dnnÎQĎd2d2®\ąB­VóŔŰp8L©TÂqEń´Ţ:úŃh”FŁA4%‘H´™]IŹ…¨ŐjŚŚŚpňäIソgĎÖÖrčz‹Ű·ocšf›QëöÁ|>O4EEęĚ%–——=‹išłT*Q.—=`DÓ´mŰąs…‰‰ .^ĽHˇP  ąŚ9]GĘ岷€UŻ×˝ůŤ«ŰU" aYáp@ ŕ±sćçç=�4·&wžR.—ÉĺrŢ8 ąs™H$Âőë×B–]-ľÎ>:Z:ťńż#„/I>źŹ@ €ßď§Z­z/A}EQPU•T*E­Vă;ßů{÷î%`¦irâÄ nßľí•ČvžUçš"‘Á`˲¨V«(ŠB,CÓ4Z­†ax:@Š˘P©TĽë ‡Ă¬ŻŻŁë-oALUUZ­.\  {÷Ő0 O«ĄR©�n9U±X"p¸ápQ‰ÇăضÍŔŔ�ápŘ[d …B„B!‰Ífł˝HŁ^ŻP*•Ľ÷H0¤żżź÷Ţ{Źl6K«Ő˘P(xÚ<ýýýŚŹŹłcÇŽ6#¬ËŚéF7şŃŤßěÉ”(˛#ť@›ĽFS˛plŰŇl[‘{°| şUC$ÉeVPÍ3Ú'ŕ{x‘ÚŽZ:ťň’¶ŁÂq"7É×uťąą9{ě14íNrŤF˝Ő'€“'OŇŰŰóľ2©Ţ^_Ű٨Ćřř¸·Ę%I’çşłuż§§g›kSgŇ9çN’‰„ …‚Ű@ AHĄ’ídDŰ–pýĽá2bl¬f•ú»˙Ţř笗bŘŁ˙R˛QpË'ÇÄöżímmÉŃÓÔ™üÖżÄŇ X{!F2Ä&NxǸ/X×Čëü<¤ÎÇ%—ă8˘ xš÷C#4Íťţ˛�»mł}ŠĚŁ˝~ćçLtóţw eÂ?}{™×ĘüŹO2÷ŁÉ"–ăp}­†eŰXöťíEQâxOŔ+×»_DcŃ-TîL»-‰Çď<ăT*ĺUŞm˝O~żŹľľ^ďłNb­iŃhÄkÓť‰±»ç×Îć¸3řü~VW—éííń4Sî”3Ę„b‰ĎЬhVň.Ś c8‚„kiľŚ©Őj¬ol0<<ňĐşŽ€«ŃőaúŤă˛ ’éÔ–Ł  ;÷…ę¸Ówś÷wTI’Ţ7.vŁ UUŮż?ÍfAŁŮl"Š˘ěÚµ‹`0HĄRi—ľE9}ú4ŽăxŕĹáÇ=1ţx<îiůý~dYćĉ´Z-ü~?~żź§ź~UUŃuÝc\†Ăa:äŤ[ťŇ©ŃŃŃmÂľ±ůžžž¶XyČsP”e™D"á1S©ŕtúóĐĐńxśĹĹE@ ··Ç+]ĘfłŢ9'“IŽ?N @×uŹqńöŰo“N§Éd2T*’É$Ď<ó ápŘÓmé€7Á`'\F§˘(»§sŤŞŞ˛cÇ"‘Ńh”t:͉'Ľů”ĎçŁ^Żł¸¸Č‹/ľ¦ą ąD"A(â+_ů étY–©V«ŢB$ILLLĐ4ŤJĄâiNućEfK:ť&Źó{ż÷{p&î»bxx‘‘řý*• ńxUUyńĹI$Ž9B˝^ǶmvîÜI(Âď÷ ůÓ?ýSâń8˛,óůĎľÍî»Sr•Ďç˝űć–hşL×çź˲čéé!‘H ( }}}„ĂaLÓ$ Ňl61M“‘‘Ţ{®s>ť÷śeYŕÜiť{Đ) «V«ÄăqLÓôî—$IŚŚŚÍf ‡ĂÔj5Ea``ŔÓáH$=z´­ÓŐcşŃŤntă72: C*#ىL•7@‘©ü‹˙ [×ăI¤á1—ޤţÚwLüg˙=’ éčôF2ȲôˇŹiŰ6•JEq™w'�>źŹ#GŽĽOą~«˛żă8=zôľŔ‡ă8hš†aŢĘFgeâŽ{%—ťĎî•dýB“QÇƨ°ç^Ăl4hnäwPÓä šh Jŕ¸Ě, Áj!5|Ť™Ĺ7h•rčacc†Öâe̱G% AČŘŽŤéŘ4mݲ\A|Ů™ź’PD M”‘ńˇ<żxPŕţ–Ĺ>Eć™1~˛śŁ˘» öý˘a[ĽµPâ?úv‹˙đh§‡cÔM‹É\Ó˛=f €, ű žK =D»˝űH’đĐýň~�B§AUUřüU0wav rŮ]KKKŚŚŚ´Ëk¶»ˇ˘?–ĆIşŕ‹e»âŘÜqÝč�1­V‹ůůy,Óňľť—X¶MÓ1ŃMĂs`Új·ýńö[Ú„ â”v©˘đ‹Ăşń72$I"™LbY–÷˘H,óúÁVFbż'xÝaYôöö"¶ßEčÎ{){,VÇqČfłX–µmĚęĆwÚq§dv«ăÎV×#EQčééń�Ú}ş$Ëü˛mŰcŹ”J%O÷f~~żß‡mŰžhq4őĆ…Ž(îVǦV«Ĺ‘#‡Ű%şű÷ď÷ĘfA ‰ls€ę�A€wަsM– @$yßŘ\©TxüńÇ ‡Ăž«Ďçó€ťÎ~\ĺÎv6¬¦iŢ÷îŽXÜ“  †<öOgMEĆĆĆĽď¸`t›{S‡ĺ˛wď^ďśßćóyĆÇÇÚĆĘŰÚÖ:çî˛}ü^™ďÖűى*î\cç™nV¶:=©ŞJooŻ·ÝVqäÎ9uúI‡mÚcşŃŤntă78DQ$ťJŇÔ¸ľąŚŕ÷c¬ÎaUËHµ ęĐćň<ćÚ2‚¤a–Ö±ý!’˘AO&…Ľe2ô°ˇë:Żýěuú˛>|ř#%ÖúŽ+¤i2==Íüü˘(˛sç;věřőK:›fîJń&-,Ă ¶řq ˇt )»AK h!DYÁv,0먕uśÍyŚ[ďQ™ľÁŞ©čŕTs«70š5¤@x[Úw7(ă8-ۢl¶¨ču–J€Co$‰*)H?Ô:˙ýBADd"ŠUTřd<ą;ڍ­€€*KČ&x˘7ĎW§›¶đŔ=4l‹ëUţŃĎZ<6PÄrŤ&¦ĺ2.Üc€& üÁxţdQ%íײ,–—–éíí% ~2žÂGĽťçŤĹĹâln®ŁiZ{ŐŇ·}lŮúcŰ.Mi ·U'fvv–••†††Ű`Śto­ěví™e[ŤŁA®Z¤a¶H˘„4˙/ü ÔDťâ# *Űš.(ÓŤvn$I$ ±şşŠă8ŹÇ·±[;Ŕe.—óŘkkk8ŽC<î:Ŕéşî%čŐj•X,ć%­ťĎÖÖÖe™l6‹®ëř|>O/DQŠĹ˘ČttŤÖ××iµZ °±±AˇP Ť’ɸ,ÂÎ˙EÁqt]gaaĂ0Čfł^ ‘išŢuuJž;,źN©b"‘Ŕ˛,Ďq,—Ë‘L&äöíŰDŁQ†‡‡·Ů.;ŽĂňň˛wŢ®N“rßűß1î|żŃhl[Üţţ~˛Ůěű�ě­ca±X$ y×ýQÇâűmë‚ŰÇλǚÎ}‹FŁ^yRG«ęîc‚€ßďçäÉ“Ţ5ÜëŘťmlۦŃh ëúűĘ”ď~Źе¸çj`ŰŰAĂŽ–O§Ô÷îU±X¤T*188řKłşî‚1ÝčF7şń ŚÎĘR<g@2Ńß~ísż˙+˙‰»ú[ؤő“˘ť~vDzâQô×~LşąAOćŮý"鸱LMM#»ąpá‚ xV@€L&Ăââ˘W nY&ssó8ŽĂřřNnßvÝúúú0 ť\nÝ«SÖ4×Igii™ť;w˘ë:33·ńűÜşu EQdrň&ˇ`]ס­§ŤEąqă:ŽăŠŐ5 –——=Ęí/ĺĹŮq=rŔ2uśą—‘©#J Ę¶í •çńßZF]ü‚EP‚Hš ˘Ťä4 UÄ®×( Á"¤9„Ă š(͛ؕߎ$şöĺw­" ‚€éŘTĚ&ËŐMŢś˝„i[ȢÄR%G*g"=Čz­€@ÔtKЎ}ę`Ú65˝AHó»`MłĹF­„_ŃPe… âóŔphš:ŐVť€ę'¤ř�‡„&#sgâô«J·–÷l˝_’(Šřya"õü"óMó÷WlüpjÓłC¶ť;Z1AUŕł}2źŰ?„"‹˘đ@ň˝÷ŢĂ4MšÍ–— ôôô0??OłŮ¤ż�ż_ăöíY"‘©T’™™ŰH’ä9YlllÉdH&“\ąrAŔ«“W5ŤWö±XĚ+kšźźÇ4,dEćČ‘Ă?· ň/ŔéL Q(X_Ď!Š™L†PčÎ n‡Ĺçl)#rÚş>¶gç>;;Ëââ"Á`;v´¨N;·1¶ăP1[l6+\[»ÍÔć"ެ %8Ú?AË4hš:a-€,J€(íň(˶¨´ęÄüa\m%Ă4ب—ń)*¶m“ Ć<0Čm[ĄV HŁTŤ&Š*´Î.ÓŤş®sůňŻŤEŁ®pőÔÔ§Oźć•W^áńǧ§§g[Ň=99ééŁ8p�˲X[[Łżżź—^z‰S§Nxűí·‰Ĺbś?žçźŢ+3™™™ńsßzë-‚Á {÷îE’$^~ůe&&&Čĺr?~UU±,›Ű·ołĽĽL8ćöíŰäóyY\\l— »âľÇŹ÷Ę| …“““9r„rąĚĘĘ étšď}ď{ xăĂčč¨ÇŞ(—ËĽýöŰ<űěł4›M¦§§Éĺr ş L‡I355E>żÉľ}ű˝’FŁÁůóço[  ‚ž6ŤeY¦éŤM­V‹—^z‰çž{Î+‡Ú:öú|>Tę°6�Ď‚^EZ­çÎťă‘G!‰xĺ;ťąáVfeY“i뻯#ÚÝъ錙š¦yâ˝>źĎ3m ζ—/_fdd„©©)Ž=JµZE]±rEQĽëߪ)ÓŃ+s]tÝmšŞˇjŽmSoÔ™›ťciy‰Ó§O#‰†éęČhކn8ŽŤ"+¨šę†ž>˘ă.HtX5ĺrŮ˝ďëó@°ŤŤ .]şÄńăÇńi>Ő=ßÎÜʲm4MEÓ4ŤKKK‚ŔŹ~ô#Oç¨ ĆtŁÝčĆohtÄ$ dÉüőż'gę¨ç+±Ć…÷0oŁF^@zä´ęßüÚĎ~ŔÁßý2™ôŇń·c î Ő•+W™@–%–——¸qăűöíçüůó;vśĺĺ$I¦^ŻsëÖëëś8qŚÍÍMAŕüů‹D"TUâÜąóDŁLÓ¤^o°¸¸ČŽĂ‹Ĺ¶“R—/_öěKĄ33î¤čęŐkś>}š÷Ξeßľ},,.půĘÖÖV‘Ű·g‰Çă věöh´żčdÓiŻ¶ŘŽE«YCZ{AÖ „z“P*‚äȶ‰Ül!V H€¬€(; &¨‚@@‘¬CvH@ €(LáT¦±“ŁŽzß’#Ó¶hÚg®SmŐ8Úż‡ďÝx‹ĂűqäFnERPD7QLb„µ�S› dBIňµ"WnńÄčQ6ëeRÁ’(ňúěcbţ˛ QÓěÝI±YĺęÚ MŁĹľŢQüŃZމĺŘH‚ř+bî%Xłő\4UáĐ`Šż[¨đ\,rłda9NW»78週寂# Š  đ©¤ÄÍ’Ąnw7oŢddd„łgĎňŘcźbee…©)·˙H’ÄĄK—9~ü7n¸ ĆĆĆ&çĎź÷]w­ĆggçÚËiŞŐJŰŽ\$ růŇž~ćIffn·ű#ř|.]ĽĚ¶­ôţâ°JgŰŠćG)S’$×~˝żżź……9677±,‹dŇ Ź! ‚×·–8ضŤeŮčz‹µµ5fffXĎ­#J"ű÷ď'™J~ŕń­6ł^+p~ů&GúwÖĽ2u–T(ĆŢ1ÖŞy–Jë5""é!ć «č¶ ŔŹ&ßăKź˘ˇ7i-bç—n’Ť&©¶ęěëcľ°ĘpĽ—€¬ńŢŇ$şeő‡HŁčŽEË6QEĄű"ěĆG7E¦\.ÓÓÓC<÷,«]ǵ†aÜsÎѱŽD"´Z-ŹťQ©T<@ Z­ †\Áíö~¶˛Ei[«8ŽŤß$Ťrýúu&&&¶�6ׯ_çČ‘#Äb1ľ˙ýďS,IĄRT«Ut]÷\p:ĺ#Ł^Ż{`FŁŃđÜ—zzzřŢ÷ľG:ťćŔŰŔ¦FŁá zw\źŤ±XŚ\.ÇŔŔ�±XŚo|ăěÝ»ĎcÔ\ľ|™ţţ~Îť;Ç‘#G�¸ukŠĹĹEO<¶R©ĎçG}”ůůy^}őUÉd2‹%rą5z{{9pŕ�†apćĚrąśW^%Š"}}}¬­­‰DŘÜÜô,ęĎť;GłŮD×uyě±ÇږЉ8–ey, ‘‘677éëë#ťN355ĹÚÚĄR‰Z­ĆłĎ>ËŮłg‘e™ńńqVVVđűýžłÖ§>ő)†‡‡] @–‰ĹbÜĽy˲¸|ů˛'ş[,yîąç8ţĽç|tĺĘęő:‰D‚ÍÍ<›y‰o˝ý‡fÇŽavMLP©Tyçť3¬®®˘Ş*˙÷żúřô§OS«ŐY]]!s\aăÄ0 Îť;ĎęĘ*»wď¦T.Q.•‰D#ňydYahhtއR©ČŤ“T« ů˙ú˙ý˙xôŃGŰý˘‚ϧ177ĎŘŘ(ÁP]»ĆQU…ááa¦§§i4Ľűî»]0¦ÝčF7~Ó'T˛,óÔ“OŇ2LţŮ˙ő/Yř'·˙á‹N˘~á·a ‹Q\Ăü˙ńéküÉď˙>ż÷Ĺßń„q?L†ÁoĽN:Ýă: Č®{R6ۇ¦iô÷gŃőWŻ^% ˛{÷nnÝşE˝îNň>Ě»ďľGOOżßĎÔÔ4étŠd2I˝^§V«nťy.—ŁX,’NgxůĺWđůü8Ű„ňúűűÜUţ•ĺ ů§N=F8ěŇ‘UUáÖ­i._ľâ‰ţýRbl só&~ë6NŔBQˇ×ńCł ¶ ‚ĺxâś¶ ‚‚- KK@"ă Eä� ;HŇ őňUó1ĹďąÂÜ}].#Ŕ¦Ü¬Q×u.­ÎŻ—q›BÍu%¨µš(˛ÁOgÎóÄčQfó+Tő}ˇ-Ă 'ś ięÔô†eňď.˝Âg'NŻ—úĚl,óE°›…ÂË•M&ŇCäjEĆMĂ“$µ çWT¦ó°ýČqÂ~ŤĎEd†zvťąš€n;(ÚÚ^Ň% âžě‘ř§Ř;F‘DWčőÂçóŃ×ׇ˘¨mË+++ěÝ»—ÁÁjµşg%>99ÉÁxć™Ď099ÉkŻ˝ŽŞŞŢ îĆĆGŽfss“ŐŐŐö) „#aúűűÉĺrT*UĹâ\ż~ý—~Ż`®3îus…ü&µZŰ^§R© ńű}hšI±,Ă0h4äóy/ńĐuMÓŘ˝s7;wîDĄ‹b#`;îjs]o˛^-°RŮäjn۱™+¬`96-S§Ô¬đćě%>=z„sK7(7«Lĺ—Ů™$ŠPÔkř$™©ň:śĘĽq�� �IDAT«•M‚Z€błJÔ`ĄĽÉzµHPół\Ú`©śă`vś››ó켦gÚv÷%ŘŤŹ–ÜÉ2¬®®’Ëĺ°,‹h4ęiłm]€é0ú$I"“É`Ű6SSSžľRç˝jů|ž`0č$###žvĘÖ2Ź@ ŔţýűYYYńt¶vîÜÉ«ŻľĘČȧAÓĺď0<: ją\¦Ůl’ĎçiµZŢ÷·–¨ÔëuÖ×]űřZ­ć•2†á‰ĐvŔšÎut´ęŞŐ*>źĎcŕ¸,ś;eS—F×YYY٦©×)Cęďď§X,z×÷ío›˝{÷¶měÓ<x—_~™gź}–·ß~‹/|á žFK§tIÓ4đűý¤Ói …çÎťăĎţěĎxőŐW= «§§‡V«Ĺęę*Ĺb‘rąěkŤFŃŃQOř‡?ü!ăăăLLLxÂ¶ŁŁŁüčG?"{Ě–S§ăŤ7^gtt”ţţ~ľő­ońÔSOQ(ôŘ/‡ćĎ˙üĎyńĹąző*Ď=÷óóóÜĽy]×iµZ8–L&Ů˝{7­V‹üfD"A©T˘QoL&xăŤ7řë˙-®_»F±XtâÚĎűő7~F­VĂ4M mŕH4ęąvJ¦ś6“'c··×4ÍÓŽéÉdP5ŤrôČ#lnşBďéL۲âí·ß¦V«qŕ€ë,V.•‰ĹÝcuŘCş®wÁntŁÝřM`:%ŻT)ĺw^ř©D‚?˙_ţ‚é?˙Ż˙ţŠňü +ËXńßŃ·¶Âóź˙C>˙ąĎ¸Kx÷a“˘BˇŔĐĐ_ü♟źg}}AŰVŠATUm;$YXX —[ÇçÓ¸qăׯßŔ4-öďßÇO~ň|>űöíĹq\'#Űv$IôĆď~÷»4›-žţyLÓŕúőkí—ŕnż§˘ďóih>•“§NňÖ[o!Ї˘X,rëÖMvďžřĄ1®ř«m5!÷ ˛¦»¶â6(¦€Ş„€–¶î`›îf˘, k˛O@PIŔjp3‚¨:Rő=lý÷°üIÄ»’ÇN˛+Š"‚ă¶ŹŢp‚KkS8¶Íńˇý¬W íďvRLŠf(7ŞěíáFnŽŮÍ%ţŢŁ_@‘d–ĘëLm.˛ZÉ·Kr, Ť*«ĺ<~YcgfbłÂŽx/5˝á‰‹ŢA§~őń áXA%T~ëčNú"˙ë™U.”%†ĺÚ];wyŢ´•E„¸&ň…~‰?>6ĚHźrÇvůÚ^G1 ŕóąýčŕÁÜş5ĹŤ7<×’óçω¸ Ĺůóďb:»wď&—ËqóćMdYć‰'žŕ[ßúkDQdttźOCUe­M·VI$â\ľ|Ó´PŮŁq˙˛Ç±Źş­›8ůŘż?×®]ŁZ©¶©đÍfË2(‹mú˝EŁŃ$żąÉćfÓ4Đ4ŞŞđ%™+—ŻâóűČöÉdŢĎreA%‰¨?DµŐ`ľ°Ćç'NńW_Ć-ćÜ2EÇb(ÖĂĚ暪‘ 'xíö9ľ°űSh˘HÓ283Ó±™H #8n‘[ËŇ™-lĐ| G{XŻMd)5*Ű€!QčNŃ»ńѶmrąďľű.˘(211ái¶tţţĘ+Ż022J6ë˛'‚Á ››ś={Çq…‚T«xŰ(ŠÂĚĚ ’$‡Ůż_›ˇWőt`‚Á ;wîô€Ô×_ťééi:D:ť&rŮ4×®]cppp8Ěľ}űxőŐW©Őj<őÔSĽ÷Ţ{,..ˇŞnYô;FiضÍää$řý~8xđ …BÁ+ăL$LNNrúôi–——Y\\äöíŰ=z”h4ĘŘŘ_˙ú×Q…çž{Ž3g\f† důá(Š<ýôÓĚÎÎ200€a$“I>Ěęę*‹‹KLMM1<<Ěää$CCC„B!|>źgý­( ›››Ľţúë|úÓźF–e>űŮçxíµ×Čfł<ţřă�,//“Ďçéďď÷©ÇáńÇç[ßú€W¶ÔAlŰf~~Ţs¬ ȲěąužŮV§ŁÎů…ĂaŤ˙ößţźűÜç°, EQxä‘GťťĺŮg?ĂŤ7ř˙Ů»ďř6ęűŕ/ÝiK˛,ď۱ă8‹$Í ‰Ca„MYmˇ-Ą”QĘ(-#-e–/Ąe ”«@ ”„‘&„ěá8ĂŽ÷ŢZÖ–î÷Çé>–Ľb;‰HÂűůŔÄÖ¸;ÝçNşĎ[źĎűťźźĎđj4 ¤§§ă“O>Abb"–,Y‚ýë_�ÄDľjµuuuزe 233ŃÚÚŠ`0ą\ňň28XŽp( ŤV‹`0�‡ÓżßĄR ąś'“ÁçőÂëóA®PŔçO:ť–]{y˝„‚!¨Ôb0^&är~ż^LF8ťN„l6ĽµçMĽţúk<i2rsÇÁl6ŁĽĽ{öěĹbAKK V®\‰Ľü<O@(ÄÎť;ŃŇŇ‚ńăÇłňŘÇüór·Ë˘ţ–~ç˘ţ•~řČŹ<ňŁ �`š1yÚ·öHäBN4ý“BĘ8—]yîşçh´Úĺ*‘ľqńz˝0 ‡íŔőOR‡áqŕ`yě1l¬k€«h"´Őn2âî;ďÄ)§LR!Ź LڦşJôëͶ Ö"ŹĂ­z$Ën™ŃŰz$ŔpX€Ý.~»Âq\dĘCjµ*&׆XŇ:·Łü–ëˇr~übGK!Ü+@đŠÁ)żhTd¤Żł/Č Č@ĹKÄ@Ś €ś‡_“‰@É[P'˙ ¶‚LÔ6Â!tzQgkĹGĺëaŇąí®\4q!2LÉŘ\_9ĎcWsÎ*śŞ®&¸>t»ěđ‡ý8·x>9°MşÝôx\¸tÚb|Ľg=Ć'gĂáëE0DŹ×‰…㦣ÁŢŽC °č0/g*2ŚIPq XT(ă8MI8ť˝,‰˘4LÝl6ĆTúč|°i- …ŃŐcÇš˛j|VďEĄ#€Nw�Ţ €  6…‚t ©Z9&™8\XhÁś˘\čő‘;ä¨Íq>Ô’ţŰÜ˙ľ¶¶v466Âăń@ĄRböěŮŢ+Z[[ŃÝÝžBˇ ćĎźwLrĆî˝�Ün‚ÁËA ćź’CŁQ»ź¤éGҰüîînđĽ *ĄŤ‚ Žćóű}đů|¬L­Ďçcy ¤iáp­“'OCQQŰ–ţB‚€ž€ť;6TďBeW¬z3ŞşšpIÉ"äXRŃâčD­ UÝM8wÂ<ěl:“Ö€ęÎ&ôĽ8-o:ľ¨ÜŚ©i…ŘŐ\ ¤”|Ôu·˘$=[ę÷bbň8Tt6 Řš™ŚCYŰ!¨ĺJ”¤äaVÖDČe<,JT|ü’c ‚ř¨TŞF|¬„B!xÜ.<ţčcxďíw!DFŤ÷äăáó>,_8xäQ”L*‰Ix{Ľc¤sA}"ĺ4‘Ę%K#FöíۇI“&A«ŐÂëő"đC&ăXB\qĘ“‡uÚe2JĄ<ĎŁ«« ápV«^Ż …rąś•”…BP©Tlj‹BˇŔęŐ«±`Áčt:¶ťRÎi*Žôţ.Mâ8Žu’Ł÷•§;ýý“Ďn۶ ‹/�ř|>ôöö˛ęsRi›ĄĺĘd2ěŰ·Ó¦MĎóđů|,·ŠÇ㍌Čó´H× Ňô'éúAÚҲCˇ«nĄŃhŘc¤ü*Ňg™´,źĎą\Îî“®!ĄiaŇň¤`™Ävą\(//Ç´iÓXéoiZ–4ÚGŞ®X rń˝ÚÍî—öżt}+•ą–ö‡Bˇ€R©d éË:©ý”J%�ÖŻ_ŹwŢyáp(˛l>ň9-N+•ŞTIŁ—ÂáPä6�@Îó0$$ąîB!�bĺHi_÷ť»ap϶YĘ“ĂqâzŻľú”––" ÁçóbăĆM?´Z]ä3E¬0%ĺż °XĚs�Ř��ř#?ˇČO8ęGúWúZ'ú\ ` !„ÁĂ•p¬ó …ŕóűQ[WŹ˙÷ö;ŘĽ};¦L,Ć/ż&AĄR !B8Ž~0&,„Đ]_٦Aáo†Lô]Ââǵ,4LŰńâ'§L% ú>e9‚29ü“_AbÁ™ŕĺ|$�č C€'@·Ď…ŹŐÝM aŚ·dAI, ‡YY^ö:#Ł?Ä„˝bÂQ–ÔW&ćżbűRő 9ÇC€€PXĚ#çx¨xŚ 5TĽJLŕ‹ř$đ=\0&:H0X`C:ŹCˇ0Ľ :z¨n·ˇŞÇ‹Ž^?zap2Ś*)zеČIµŔ¨Ó@!çÁs˛H ńřw8Ąjd‡UB€ÜÜ6M ú1^Ż đűý?~<ű†ô»xďôxĽc ĆD—ž °Űí°Űíb‡G&v|‚ ?Á� ‚Á@¤âGěJ­Áĉ“Řţ¬ÝÂŕaó÷Âîs٦§='Ć%¦!YgfI°ĂBaA`%ÍĄŽ» „Ye-é¶0ÄŰ8Čb®Âe1Wę}ç™F®„ŽWAĎ«[2ť‚1Ś9Ň×črąŘ¨Š±,G śHď/ýląFßżť#^§ô~]nűp()đ áóůĽGµé5Hď7 l}RđE:®Ł_óńÄĺrÁívÇ”·évF6BˇPĚ´¶±XąňcĽ÷Ţ{c~~ ŕgŁ;yţč|™p饗₠–Áď÷ĂápŔlNĎsCž#*•âch $!„Ä‘4uäđŹ“ ČpŤZŤÂń¸ĺ¦źciM ˛˛2‘–š:č ÄŚµŤdýşKąĘNăŐ€ßBÉ"µr1°"cŤŽnx–ßCü/rAĚFËŹ Śš¬a·Ź ZN ™Ę�B4˝%2Ś7ú€‰îöőď ľ®¨ $„Ô·~^ĆAÍ+ á‘dŞń=ޢGĄ ×™lŠ—t›\ÎC/çˇS%!75 Ăa„BáČýrČĺ|ßT¤¨“ďsL&“A©T`âĉĂ>FŁŃ °°đ;ďđ >ęçđç^ôsĄ!úIII0™Lp»ÝđzÄŃ6áp(Ňi#!B86±Ż @* X,IĂv.8Č âä0+uPóJX4 , ĽŚ†W@ĹÉÁŁ7crLÎK)KJJ ôzýĺwR*•,ŻJWWŠ‹‹ˇP(ŕńxXÂŢ„„„çHą=F" ˛2ŃŇTťáÔ××C§Ó!)) <ĎłjJĂéčč€Z­fů\A€ĂáŮÎîîněßż'Caaz{ÝČĘĘŚßéQě/µZÍFŐŐŐ űy‘ňá8Řl6¤¦¦ĆTÜŠ~¬4Šg¨÷Óµk×Q č›fĺóůˇŃČŹř¸x÷Ýwˇ×ë1qbIäzAôőů|>¨Tʸ´c!$ľÝ)6ÝfäA~ť‡¤$ Ěfűćb¨iI#™F@bă%}űq¨@% Šy×# ‚}·=lźMč‘ há8¨4zpüŔQ1ŃadĐp ¨9yä[y!NűI Lđұ&‡ ^íÎDlÜ©˙ôşÁFÂDźÎ ®Ż#ĚóŞ!ĎÁľ<9'î·ţßEÇoŕq9ş`tô~–ňUHßtyĚ 3s2¸|Ó+ NąLŽ0 ŽÁ1Đ)űNĘY BüÎarl…B!ttt ľľ<ĎC§ÓÁăń@©T˘  �Źíííhhh`Óo�1ďG{{;Ün7233ŃŃџύFą\Ž®®.X,äĺĺ!ŕСCP«ŐذafĎžŤP(„ććf:tµµµpą\HMMEBBęęę V‹ą ‚Á ***ŘtˇŢŢ^dggĂfë߀N§ĎçËĺB €ĎçCss3T*ŇŇŇĐŇŇ‚äädÔ××CŻ×#==ŐŐŐhllÄÔ©Sa±X°cÇ8ËĺHKK‡Ëĺ„Óé„Á ŽPvą\pą\ČĚĚÄ®]»`0ťťŤ®®.¤§§ÇŠ‹‹Áó<***ŃÖÖŠŚŚ ř|>ôôô !!MçQ«UP(”čîî† ČÍÍEmm-AŔôéÓ‡±k×.¨Őj–Hą¨¨ŤŤŤp:ťHNNfÉl5 t:Kü›ťťŤŽŽÔŐŐEŞW*ŃŢŢ­V‹˛˛2dff"#77¨©+ěIŐ´śN'T*ĐĐĐ€ÔÔTdff˛jXN§mmm‡Ăhhh€ŐjEkk«}„B!”——#;;µµµP(ČĚĚÄÖ­[a±X`6›ń׿>ĂŽą„„Říbő?žçŔq<äržUů ‡…Č—,bŽ»Ýžçˇ×ëřa·ŰˇT*ˇŃ¨Áq<\.'‚Á’““#ďéü~19ł´ĎÄiJˇ¨)m„Ă!üß˙ýnżýX,TUUçyäć梼ĽYYYŘ˝{÷€)ŔŚ!„“¤Ă …Ŕq˛1wćÄůŻňA‡řRql‚Áŕ€Ŕ‡x7xGŚW(ˇ•+ťVqÄŽ‘ó—ś &Ťëté˙Bt×:ľŁb‚Á ú.°¤ę9ý;ôĂŹĆ\ˇóld¤ŽP˙ăYĘť0Ň},ť[ŃS!Ćz~Ť¤ý¸Čč5N�dÜ÷c„J(¤cű$ Ćx˝^47·ŕŔý())ANNşşşšš źĎʦ¦&ÔŐŐaÎś9ččč@vv6:ŽăP__ʦ¦&¨ŐjÍfTUUˇ˛˛‹2™ 999,Ź“Bˇ@CCBˇ ¬V+�1ɬ8EŃ­V‹ŽŽ|űí·čîîFaa!�ÚÚÚ`µZ±yófhµZ477#11V«{öěĎçĂ„ ŕv»ńůçź�:;;±téRx<lٲ]]]đx<2e2x^ÎrEŔîÝ»QXX—Ë…¬¬,ěÚµfł:ť„ĂáŔĚ™3YŁÎÎôöş±|ůňHrđ ť!Mý1›ÍčîîÇq0ŤX·nJJJĐŘŘ––L&ŁĄĄŔěŮłQWW—Ë…úúz´´´ ¨¨�°yófĚ™3]]]ČËËCSS\.jjjP]]ŤńăÇçyěŢ˝v»3g΄×ëEff&PQQYłfa˙ţýhiiN§Ăa‡R™Ç¦wÖŐŐÁl§X~ńĹČËËCII l6l6ŞŞŞČF´··#`Æ ;w.¶oߎîîn$$‘””Á�˝^‡ĂÁ86› ›6mÂňĺËńĆŻŁ˝˝ťĺľé«„äD(Br˛~ż<݆Űílj9ľ’’,čęę†Ůl‚Ăá@b˘v»€€ŽŽdddŔďŔnď„Á`@WW;’’,‘<;@8‚ĎçCWW',–¤H OśÚÖÝݵZ Žă`łŮđź˙ügťu6nÜÜÜ\AěÚµ ĄĄĄŘµk×FaQ0†BNČ`ŚŘi”¦?I‡‚:ŤG)¸5ď=zj�řý~(ň!§» Öa<™‘?ř»)f$‹tVA­Ş$;ömĺőú “őĺ&J!{˝^v5ňś‡O2MF¦‹=‚Á AÉA"“É ‰ %Gš›¤˙h§#­Ö4ÂŁ85Mďö]Ľg‹ť&˙¨ľ“ă;SSSĂ:˘rą‹…uĐľjŤ&“ áp‰‰‰8pŕ��’““ŃŢŢ…BÁ§z˝ĹĹĹ0›Í‘Ę<Kđ«V«ˇŃha4#ŐwÄü+Z­IIIčééÁ`€Őj…Á ŽäJHŤFäćć"%%&“)’ÇĂĚF‹H ku:2331cĆ V•Éçó!55Z­ǡ§§'ćV(0›ÍP*•0™L¨ŻŻcű :‘m8†R©Ä„ Ŭ2‘×ëEKK ŇÓÓˇŐjˇR©P__ʆ††H#=222°víZ466B«ŐF¦¶¨I°.–G–ÉdP©T(**ÂĉˇŐjáv»Áq›ÂeµZ±{÷n8¤§§Ł˘˘&“‰}¶i4´¶¶báÂ…P*•ČÎΆÓéÄ˙ű_Lž<'N„ŮlByů>6‚çůČč=KŕËq\äŰ4-- ÍÍÍHMMĎó¬Dµ ČĚĚD}}=A@QQ’““‘śś �Đjµ¬m¤|;R®¬¬ jµšĺŕß×Ä©ÁâľV! ŁĄĄ•%ËKŁYĄă8ÉáŠT…RŠ•)#í¬=9ŽCoŻ›µÔţ'FŁ…ÍfŹ™–´˙>Ěť;™™™:u*ŇÓÓ±oß>ŤFttt !!!nU)C!GůBz°‹÷č„oˇP>ź?R˛pôoöńîśĚ¤ŞbU%»; VéA*/ʶÓ2ă|L ĚF' Ľăě—@ Ż×ÇÚJ ś‰n·ęHÉËÁ·–Ë;qô’×ëg©˝ÄŠax˝>¨Ő2ČĺüČ×pÇűűgĽ·Oze*b‚ŇäĤP(PTT‡ĂĽĽ<6u$ş|ň”)SPPP€äädL&hµZĚś9“uÚóňňPWWÇ>˙Î>űlřý~ŤFđ<ŹĚĚĚH`5“É„‚‚h4šHŽ' ‘ťťŤäädŤFäĺ塳ł“MyŇh4(((€N§Z­†×ë…Ůś“ɵZŤYłf±€nzz:¦M›†îîn¨ŐjL&Aäć梵µ•ĺ”jllDjj*R#yôN=u,–D„B!h4L›v «b”’’ @żßŹ‚‚ŤFtvv˛é;ůůů1ŐŠÎ=÷\477çy¤¦¦˛�ÉâĹ‹ˇŃhŕóů‘‘˝Ţ�‹ĹÂö…TUIj)ÇqX˛d ŇÓÓ‘śśŚ„„””L‚ÇăF(BJJ ’““!“É0wî\řý455B­Vł�XNN˛˛˛ ×ëYđ§´´N§‰‰‰ŕ8sçÎ…ŐjE8Ć’%KŕőzŮô'łŮ •JÁ�ŤFĂ*™Íf‚�ĄR —Ë•JĹ‚Ňl“ÉÄ5Ëĺr$%%aéŇĄ8xđ ´Z-Ôj5‚Á�äňľŇ艉řâyq?H_lů|>pÇrý(•J( čt:„BA(•*¨TbŇ÷ÄÄD8ťN6"6Âd2AŻ×G*O‰±ôµř“žçYu/ž—ĂçóańâĹ,(ąhŃ"¤¤¤@§ÓEŞE©âöÉy¸Ű©š!ä{m$Ő”F’›EJ*) ËJß S‡1~F±G*˛D†"÷ĆH߸~pĄR“K&}&ę!rÁ××Vb[ÄǤjeŇ·bINŽÎ«ďŕÜ;P!ömĺáÚJ©”ăx śĹíó¬/‘Ľô ÁóŠQc¨šŇÉ!şĽp´ŞŞ*Ô××#??©©©G<u]CE#ý§,Ž6Ľëń]i´Ż'uĚ÷_ww7víÚŤÔÔŚh˙EWvŠn—-[¶`âĉ,wĚPϋޏýIÓÄĘĘĘ••…ĽĽĽAKשҨˇöů`ŰńŘcŹbďŢ˝ŁzN(‚ËĺbŁ„BˇÜn753ÔëP©”P*U,85Z“&MÂÝwß3ěc”J9US"„“) #}đIĂ,}>äC4 đrěâ…€ŚuFd2DľAá\LqǦQ„B!HňŘ趢F;ÖüľaÎ2(Ę ý“»JĂßĹ’ĆѨÔNÇţü’±ó č«„1Xç*ş­ü~ńÚVz$ńj«ľéâ{ ś¦)}Otwwł%’üü|äĺĺQ #šßď‡ßďg…p8 ŹÇĂ~¤R҇+E}]ĺ÷űáőzˇÓéĆTž[ š¨Őę!Ă­ßăńŔëőú|ŁŃ9sfł\%#át:ŮČ!)KVVfÍšĹÚa°Ńs‚ Ŕívł@·Ĺb°Ną\Žääd,^ĽxŘ6 (//G~~>ŚFă ÷ű|>čőú÷566şL)Ŕ]Y+úóŔh4˛QzR%Ăp8<h0FzGj¨mŤ7 ĆBČ1¸Đí˙a}Çq‘oîůň«Ň· äضŤôŻÔQ¬ł=F ĘHÉH©ťâKjźč1ý/$٧ŔHçUôąEâw~EźW]đ÷•—G/ ÔVÇA[Qćä ŃŃŃÖÖV¤§§Łľľ™™™P*•¬„±^ŻGKK �JĄ ‡‚ŐjEVV:;; ‘™™ ą\ŽššŚ7Žĺ˘ÉĎχŰíF[[&OžĚF ů|>´µµˇąą™%ŤµZ­hjjbąOĘËËqÎ9ç ąą™MŤéęęBkk+¦L™Â:É@�ůůůĐh4�IHÜ̦^Ůl6´··#33ÝÝÝHKKCuu5¬V+ŚF#***——Çr€Ô××#77@� HOO‡Éd¡C‡`łŮP\\ µZŤöövÔ×ף  �MMM‘)M)°X,¨­­…Z­Frr2ššš “É`2™PQQ¦¦&Ě™3:ťfłťťťĐétŘ´iňóóYNi›ü~?ŞŞA.W 55•-O•"ĺliiiBˇ@]]-ŇÓ3 ŃhŔó<l6”J%ęëëQTT˝^Ź}űöˇ¶¶)))HHH€Ĺb^ŻGmm-Ů覯żţJĄąąąP©T¨­­eÓĂš››áńxđŐW_á’K.ÁÁaa|WŰ�� �IDATµZa6›QWWÁ€ÚÚZ,\¸.—‹MłŮlhhh€JĄBOO 9 †VˇÉáp@­VÁápF¦1Y®é 1‡ĂIDě@B‚‡Ť2™xćń¸ˇ×"Á=z{Ý,xçrą Őj"yĺdĐé´P(”‡C‘€P8’›&„pXˇYYY Ż×‹qăĆA«ŐÂĺráŕÁHNNfąu(C!'P�f°@Lt&z®T–š:!ßI‹Ť¨˘U˙’áÜ÷¤˛Ęń@ě<ŞŁ/ečÜŠ;ntEtűIm$ťW±m%Mßnçá¦xöMK<˛ĺô_ÖŘŢs˘öÂ×1’}rôÚŠś¤ ‰FŁÁţýűˇÓé°zőjĚś9‚  ¦¦jµJĄ’ĺL“ŞńTVV˘¬¬ óçĎGUUZZZ””„uëÖ!??˝˝˝¨®®f#8l6¬V++»\__Ź””ěßż6› Ó¦MCee%�°˛ôv»===ظq#/^É@oŻ --­đz˝°Z­p»Ý,ăóů°k×.¤ĄĄˇŁŁűöíCVV¶lŮ‚ÔÔTlٲfłŰ·oÇĚ™3ŃĐĐ€˘˘"Atvv�ľüňK$&&bܸqŘľ};Ün7fĚććfřý~x<ÔÖÖÂjµâŰożEMM ćÎť‹úúz„ĂáHőˇjśvÚB´´´°|)Ryď@ €şş:ÔÖÖ"''ápz˝Z­–Uí©©©ÁäÉ“ŃŢާӻÝÎňŢÍfôôôŔét˛v©¬¬„ß/ć\˝z5 0~üxěÜą“%f.//g•–ôz=ű2bÍš53gššš°}űv\vŮeP(Xµj%.ąäR|óÍ7(((€ÝnÇš5kpúé§Ăívł ÍW_}…SN9•••ŕyfł---HMMEcc#8ŽCww7ęë‘‘Żżţv»‰‰fŘl6X,‰läĎ‹‰ŰÚÚY%&·»iié1ďG ¨­­Err2ÚÚÚ‘h†ËŐ @@BBşşş ŐŠÁ—ÎÎ.ŤFx˝x<^pś .— ťť]ČĚĚ„Űí†ÁŔ# ± —Ëĺ„ÍfŹ”waíÚµČĘĘb9•Ş««!—ËqčĐ!¸Ýn ĆBȉŘéßIŞĂ=‡–.OŚöĄvúnö{ôą2ÔÜóÁ*[ťČą+Nä Ůá1Cµ%; 9:”Je¤üo+]ětŠĄ…ĄŰT*4 Ľ^/rssa2™`·ŰÁqrss±gĎ´µµC.—łŠE˝˝˝p80™Lčęę‚ÍfcÉQĂá0’’’`±X�›Í—Ë…öövX,6]§˝˝íííhiiaŐŚB!1Ď”Óé„ŃhdŰ'ľGČ ˇŃh’’ÂŞ´%%%aĎž=ĐjµčěěÄřńhll„×ëEZZ”J%�:::ĐŐŐ…žžäć沭Rž˝^©Ôç…V«eIŽ�K.ŰÔÔ„ÎÎN44ÔŁ·· Đét,!­Á`@NNľüňK<xÓ§OG €Á``#„t:Ľ^/�Ŕfłˇ©© >źjµééé0 ,pYY+ •Ň6›ÍŘż?ňó °˙>pǦ—) h4čt:Lž<7nD{{;ěv; Ň�`ŁBş»»ĐŢž�§Ó‰¤¤$p«Ő ‹Ĺ­V ‡ĂĆĆF 8ťNdffBŻ×C§ÓˇŁŁ€8ĹMŻ×± Qâ �ÇÉ ŐŠŻWÚG€”ŘÝ)oźŘĆaBß^rąfł‡Rn+™LŻ×ÇŞ ‚řĄ‹`Y€×ë‰Éí§Ó‰”Bˇ0d21'k:ťŹ‚ ŔĺrÁăń°�–TÖŰçóŤyÚc!ä8é<öÎD'M†|·úÚ‹Ę m1šRČtŽ_¤‘€Ô6„;<Ď#-- :ť&“ ÄâĹ‹ˇV«QQQ’’$&&˘ŞŞ >ꉉ‰¬ŠŚÉd‚JĄ‚Z­Ć¸qă››‹ĘĘJLś82™ ČĎχÇăaů=*++Y5%©’PNNŚF#RSSŧ\ÎF†äääŔď÷cîÜą0™LlŞ˘N§Ç´iÓĐŢŢŽžž6˘äĚ3Ď„^ŻGnn.:::P\\ �¨««ĂŇĄKŃÚÚŠńăÇŁ±±%%%HKKZ­fS!SSS!—Ë‘™™‰ôôt$$$ ¨¨3gÎDMM Ěf3Ěf3t:ů3}út444 ąąăÇŹGb˘X•é?řŇÓÓQWW‡@ �«Ő …Bžžôöö‚ă8ś~úéläsNN:;;‘śś ›Í†ÂÂBđ<ŹŚŚ ôôô° LSSşşşśś ŤFÂÂBčt:h4$&&˘şş“&M‚ŐjŦM›››ťN‹şş:¤§§CˇP`„ 8tčP¤’Ź™3g";;rą‰‰fhµZ�âČ©ŽŽ,^|: *++QXXÄÄÄHa fÎś‰ŚŚ TVV"-- ÉÉɨ®®†Ů,.G Y­V¨T*(•JĚ›7ź}ößČ(źDVZZˇĂíö )) 8őHĄę+}  “qlĸ4Ĺ-55ŤM[R*•p8Ä ’LĆçĹQ4N§:ť&“™ĺ#ây±Ý55k‡pŘ…p8Ś„#?0ôX¸p!�L&xžGaa!ŞŞŞP\\ źĎź>Ăn§jJ„ęŚcřjJ„BČ÷ US:~_C(by¤˛ÄŇh)ç”/٤¤V«uŔ4j@Éŕ÷űˇV«YÂ\•JĹĹz<8ťNäääÄL7ěźOZž4Ęa° FŃŐ ĄDěRđGÚviJtżFŁaUÁ‚Á ”J%Ëń&M lČĺň©‘RU7©rôXĄR‰Ď?˙Ó§OŹ IŁ<¤˛ŰR’)nYY&Ož ŁŃ“FZż”Ř\Ú~iôEt%©h@t•&)żŠBˇ@ � ·Ąe(ŠČş‚„p¤LuˇP˝i_żú꫸đÂeHH0Ć´…´�°uD·MtűIą¦BˇË÷â÷űń“źü2™TµMs<LJPH,8$`d21áűĺ—_ŽůóçĂd2 {|Űl6¬_żďľű.ü~?Ű>1Ľ4ť‹y)Ví"·KŹăđňËgŻ›çy6=LˇP@&45US"„“5ŔCß B!äh’‚ R°C§Ó±Ž©8­HNNFrrň€Î¸TMÂlę‹ôAŘT#©"š^݇Őj°ţč¤ĐCU˙‘ CŃh4¬úŽL&R©dÓ]¤őKËč?Ą$:řpA4)'Ť$şüôŮgź=ě~î_ŞZ©TbÁ‚¶c°ő‹†î†÷ż/úďčőFß.®«ď>…B…bŕ:n¸á†ĂC# <FÓ˘«FE_ŢöĎ·7Ř—^zÎ;MÓd2Ⴀ· „ńöŰďDďíAH×ÉŤ¨ýă…‚1„rŚ‚,ý§&ŃÔ B!„ëëqäJ 2MDźĎžç٨–@ €p8 µZ —Ë…>ř�Ë—/‡FŁÇqđx<P©T,gŠR©Ś©f$ĺ‘Fˇ‚�ą\ÎňąH#°|0RpGL¤ęBCC¦NťJŁ‹ JKĹ Öď?Kř<”ÂÂńX±bJKKűcNLŚ!„‘ęéô!$Ąj.„BNÖFöąGß1BˇÚÚÚQSSŤp8ŚÔÔTôôô )) yyyđx<(//‡Ăá@iii$©ŞUUUP*•°X,¨®®†JĄBJJ šššX¦şşn·Vk2ÚÚZŮt )ŠËĺB0„JĄBrr2ôz=`łŮŔó<’’’"%µĹé)ŃSČ÷—45©˛˛ďĽó6»˝µµ·Ýv{Ěc+*Ä`ŤŮl>)^;Ą­'„1đűý‡Gdˇ*<„BNFRN’ľ<Ú'ÇC›tuu˘±±[¶lÝngŐ€A@oo/ęëë±eË–sCddd ˇˇ---hmmĹŽ;PSS˝^łŮ §Ó‰ 6 11»Ćv'Áó<Ľ^/”J%ŚF#öîÝË’Ú¶µµÁĺrAˇP ľľµµµHL4łmĄ/¬H‡+Vüa@ ćdDÁB�őuuđů|ÂtA!äűG đůüh¨Ż‡—2şćůÎÚ%R¦9##:ť*• ăĆŤCgg'Bˇ+é,%™ĺyjµµµµP(hmmEJJ2 0›ÍhkkĂŢ˝{a0pîąçb÷îÝđú|čęęFggT*ŚF#T*ěv;Ş««QXXîîn6ÂĆd2A§ÓA­VĂăń°mikkÓé¤F#1žzę)ÜvŰ­())9é_+MS"„Ă‘E®3!,rÁYuč**ŕłfA,$G „BľGť~¨¨8€ŞCUěóQýąy’6„pA9~;wr9 ĐŐŐ…¬¬,Íf´··cîÜą¬ěµL&C~~>T*Âá0–,Y‚p8ŚĽĽ<¨T*tuu!'' ĐëőĐëőP*•HOO‡×ë…ÝîŔţ}ű‘€’’$%Y P( ×ëÁqŃŮŮÉňÔHIv­V+ĆŹ·ŰÍE'J•*­­­8pŕ ž~ú/¸í¶[ńôÓÁľ}űbsĹWž4Ż—‚1„râ%¦Đ“�—Ó‰W_~ůůůHJ˛B©6@!„śě‚Á şşşđŹżż—Ó)Ö˛í÷ąy‚~ŕłA>2A,ńk·;"ĺxO <Ď#11‰‰‰ě6ŁŃČ~×jµČËË‹yNVVVĚßRŁţĎŤľÍh4BˇPŔhL`ťNÇ“ťťM' 5ijŇľ}űđôÓÁµ×^{îą÷¤}˝Ś!„Q] É�A@0Äö­Űđ·gžÁ/oý,+dAĆŃB!''!,@€€®®N<ű—g°mËVA1ôr$ň•ľ|Aäő8”ď-Ăô™ÓˇŐjé�ĐétĐj´bĐŠrâ‘#ÔÓӳٌ ŠpŕŔAvűľ}űpĎ=÷Âd2aüř‚Ą§ý~?*+Áfłť°Żť‚1„2Š 4�!ńů|XőŃJ475㆟ý&C©TE.Nއ+Rńë=©¬v˙ňÚqÝ’ëböĎńĽmÇCŰ}§[¶AÚ/ßĺţ9Üqs<o[üŰl`ŰŃűŃń·N„cZľ€ßďĂÁđ÷—^Âö­Űŕóů!}Üɢ>/O†Ď|@@ŻËŤĎWŻĆÂE‹ R©ˇŃhč‚‘Â<aČѱnÝ:\xá…xđÁcn—¦# Ä�€R©DAA¶mŰFÁBůDd�!‘‰ßz˝lův3ö—ďCţřäää@ˇTޏ“!´˘VĐ˙â»˙…řX.Ěű/Ga˛,¬ťëęŰOŇďc˝€ě[ÎŔ}1¶}+vępĺ­ý>üľ=üľî5 G¸/Đ/`~űftÇtôkřşúď‹‘íŰŘĺ ×>Ăď÷ŃGsß›cşď5 ·oßvĂ·ŰČŹéĂ/#z?Š>ű~ű1=˛};Ö÷éŃ·Ý‘Ó#o7żĎŹşş:T:‡Ă‰` Ŕž ‹ę¤ź,źőÁ`�••řóăOŕλďBVv6”J%8ŽŁ!„ôŹm:ß{ďý áp .„Ĺb°<…BpXŔ7ß|óĽyóćEîŰzc*Á xoŤĎůMÁBńő™ ‚LdÄ P‚�zzş±mËVlßşULř' Ş3*öÍ^zĚh?Ôc˘ďíßGşÎ±lăh_ɲ_N´¶KŰĐ1MÇ4Óߏcšă˘‚«R^•€ÎÉśč +ţ Řşů[Üw÷Ý8ëśsP2i2 d‘€Lt SÚ‚Đ7kKú[ t‰Ë “ Ů ąá‚býď‹^ŽpŘŕšôűPĎ?\ yŕýŃí/ xîȶC܆ţű)z;űŻ7zű[÷pϸžčŕíŔöëß–Ń·IĎíżý˝Ţţ÷÷ßC%‰~9Ű/vű†~~ôľďüîř‹9["Ď—ÉŘíöaCíĂ…â_|ń%ĽřâKî�ŹÇ �°Űí1kęv łžčű÷ď+püIűH.—Çéýćđ·Gש“~ç˘ţ•~řČŹ<ňŁ �`š1yÚ·öx.!„ô'HŁčKę;ŕoB!ä$Á/˛S‘NĆQ"R J Ě(” hµZÄĵŇk>\°#ş+z¸ŕB˙�N_@l`g»Çą° 6 &c‹Á:ŮC *ŤäţĂ˝¦ˇ.CÝ}¬I÷ľŢŘűcb»ĺCÝ?ř¶Ť®ý†ş4í×[‡ 0 vżôü‘nűŔíŠ=~÷Ľ˛}{‡ľDoĐ ~ż�ś}Î9ШŐF/Ü˝n¬^˝zđ(Ě`¨uN)™4dűęő|¸ň?s�Ř��ř#?ˇČO8ęGúWÚ a¸ŤŚ!„1^”ĆŚ’‰ž0ŹáŢv !„ćĂn`0¦ßý2śśÓud‘ŃŻ˛ČčżßżĎŹž˘ż€!„\Nç1Yî†uë0cćĚj]�ĐŰŰ‹í۶Ťy˝•+†ĽĎd2ĹeźQ0†BĆ|Ť*`„~e˛č+XšRN!ääű�<i0~Î űť_mmmřô“OŽţů=Ě>ĘC!'ŘĹ€ľ’ôŤ!„“ç®ďóîűřň#Łd;–ďőű„ě„;ŻÇrßŃDÁB9Ş×«4"†B9)?ßé‹BČQDÁB!„B!úâ…Á΋l{‡ý§‘16„B!„B+Žăh[G»tŘB!„B!d¬äĽś¶u”(C!„B!„1S*´­ŁDÁB!„B!„Ś™J©˘m% ĆB!„B!dĚä<µJ}Üo§ZĄ†śçŹ‹mˇ` !„B!„BŽNŁĄm ĆB!„B!äČy :Ăq»} :Ăq3* ` !„B!„BŽŤZ ˝VwÜm—^«F}|MŁ˘` !„B!„BŽ ťF{\ŤIĐŽË)Tr:T!„B!„r´hÔj( ôzÜđúĽßÉ6¨Ujč4ÚăjjR4 ĆB!„B!䨒ó<ŚzqTŠĎď?@0D8>&ëă8r^ĄB•RuÜaŘţˇC„B!„B!Ç‚śç!×hˇÓĐľF9c!„B!„Bâ‚1„B!„B!qDÁB!„B!„8˘` !„B!„BHQ0†B!„B!$Ž(C!„B!„GŚ!„B!„B‰#y<V’“› §ĂL{›B!„B!Ç-C‚ŰËvóőÄ%SŰÔ›ÍN­J!„B!„ă–ÉdŚËzhš!„B!„BHQ0†B!„B!$Ž(C!„B!„GŚ!„B!„B‰# ĆB!„B!„Äc!„B!„Bâ‚1„B!„B!qDÁB!„B!„8˘` !„B!„BHQ0†B!„B!$Ž(C!„B!„GŚ!„B!„B‰# ĆB!„B!„Äc!„B!„Bâ‚1„B!„B!qDÁB!„B!„8˘` !„B!„BHQ0†B!„B!$Ž(C!„B!„GŚ!„B!„B‰# ĆB!„B!„Äc!„B!„Bâ‚1„B!„B!qDÁB!„B!„8˘` !„B!„BHQ0†B!„B!$Ž(C!„B!„GŚ!„B!„B‰# ĆB!„B!„Äc!„B!„Bâ‚1„B!„B!qDÁB!„B!„8˘` 9î%%%aúôSŔó<í BNyyăP\<¶‰B!„|/Q0†ÄĹúőkQUu0槢bľţúxóÍ×qŮe—@«Ő x^AAÖ®ý˙ú×;xőŐ—iGž�V­úµńŢO;ä{*'''ć|ź7ďTvßňĺaÍš˙bŐŞŹđ‹_üü¸ŘŢăq›!„BČÉ‹‚1ä;Ăó<ŇŇŇ0wî<ňČĂXąň#Ć<fćĚĐjµ�€SOťKŁc9 ”–·L&�,X0?në˝öÚ«që­·ŕÖ[o°Ţďj›!„BČ÷cČwÂétÂëőĆÜ–››·Ţz))Éě¶Ď>ű ;vě„ŰíĆÓO˙ˇPv!'¸üău466ˇłł/ĽđRÜÖ{Í5WăWżú%~ő«_bţüyÇĹ6B!„ď'9íoŻ˝öţđ‡‡�ÉÉV\qĹĺřĺ/žça2±bĹřŮĎ~�°Ůě¸ôŇ+h§rŮ˝{.\LŰD!„Bľ·hd ůNµ·wŕ™gţ†gź}žÝ¶xń"6:ćňË/ŤÉ;=MiîÜ9xá…g±iÓ×8x°»vmĂ{m«ŻľjĐéLx䑇±nÝWŘżż ;vlĹß˙ţ"fĎž5č¶-X0/˝ô<6múű÷—aƵxňÉÇb|._~QĚöMś81f×\óĂ9Vk�qŠÖx%>řŕ=ěÜąĺĺ»ńé§+qË-7C§ÓĹ,căĆőlW]u%~üăë±yó7¨Ş:•J5äľť7ďTĽřâóزe#Ř‹˙ýďK<÷Ü_ĽŢč}üé§+ˇT*q÷ÝżÁ×_˙ĺĺ»ńÁtŕ´ŤÜÜüőŻÁöí[PV¶O?ýgL¦·ýSO=ÉÖű›ßüůxíµWP^ľëׯť—^ �ČĘĘÄ3ĎüvěŘŠ˛˛ťřÇ?ţŽĽĽq1ËâyW\q9Ţ}÷-ěÚµ {÷îÂęŐźbĹŠ‘››3äzxŕwHMMŤĽŽÍصk^|ńůĎ€qărńČ#cýúµŘżż ß~ű Ţz럸č˘eËƵçĚ™Ť·Ţú'ĘĘvaëÖM¸ăŽŰ —ËcŽ— /Ľ ć9ĄĄ đĘ+/aóćopŕŔ^¬[÷ţřLJ••5˘}:Ň6ŹŢ˙řÇ+ČĘĘÂ«ŻľŚňňÝضí[<őÔ“HKKň8üůĎŠSOť‹O>ůěņ kqçťw {<µţ÷Ţ{;ć>“É;}¶ ee»PV¶ ~ř/,_~Ń çőH^ó’%g Şę`ĚqsĂ ?FUŐAÜqÇm‡Ý&Ł1·ß.mÓNěÜą˙ţ÷ű¸îşk´}ô~:ë¬31}ú)x÷Ý·PV¶›7ř=›z}ü^~ůĄxë­bűö-8x°[¶lÄË/ż€ŇŇôAA!„r˘‘1ä¸đÖ[oă–[n†L&Çq8í´…x÷Ý ůř+®¸?Ľ"ć6Á€3¦cĆŚéX¸°?ýéM�pƧă/y jµš=^©TbѢӰhŃixůĺWđ裏łű~ýëŰ$ńLOOÇE]óÎ[Š»ďľ}´«WŻÁŠ@Ł“ź~ú"ěŰ·/&°Ô×IŰ„ŽŽN(•JĽňĘK8őÔą1Ë/**DQQ!.¸ŕ|\qĹŃŐŐ5HÇs.Î>ű¬ĂîĎoĽ÷Üó›Ű˛˛2‘••‰łÎ:Ď>űžzę/ž§P(đ§?ý]t!»mÚ´©xĺ•—qÝu?ĆĆŤ›�ÉY?üđ}Ť ěq矲łłÇ”×'++oľů Ved¤ă‘GFOŹ +V<3u­´tŢ~űMśuÖRŘl6p‡çź˙N?}qżŕ[> ňqŮe—ŕç?ż˙űßşë5đú믢  źÝvĆ‹1}ú4śsÎůčěě�Ěž= ŻĽňkg�°Z“`µ&aöěY¸ä’‹qíµ?bÓčÎ8c1ž{îol_hµÜ|óMHL4ąî¸ă6Ü|óM1·effŕĘ+ŻŔśŹ˙řFl۶ý¨·ąŃ€·ßţ' ľ¨Őj,[v>N=u.–-»mmížsĘ)ÓpÇ·±×—žžŽ›nú¦O?W_}ÂáđŢrssđĎľ†ôôôۧNť‚©S§ŕňË/Ĺ5×\żßDŻy4rrÄmĘČݦ)S&cĘ”É8˙üĄ¸îşŁ··wŔsKJ&âG?şž%'×jµ¸öÚ«QTTţđZöţôç??ŽóĎ?/ćą‹‹/ÂâĹ‹đčŁOŕĺ—˙N„B!'CŽ ťčěěŠ | yĐrîľűNö÷Ž;ńűß?gžůë¤Iť�HIIÁź˙ü8 Ä8ťN¬Ző 8Ő‘ý fÎśÁž©««ĂĘ•«ĐÝݰř#rssĐŰŰ‹/żüŠ=6:  Ńhbľť˙裏#ťî[Y Ćăńŕő×ßŔ믿Ž±ăź—7nČ*Dgź}‚Á öî-Guu ëĚőďŚţć7w°ż×¬ůŹ<ň ¤�Ŕ/~q˛˛2í _pÁůŘĽyKLP‰ă8üęWżdß˙}1ŠŠJ¬[·%%QX8~ÔíżtéąHL4ŁĄĄ…Ý&“Éđâ‹Ď!%%mmí¬m±Üůś�X¶ě|¶ß�Ţxăźxě±'PWWÇÚ롇t˝Ë–ťądűm�� �IDATŹ´´T¬_˙5š››Ů퉉‰¸ćš˛íxôчY ¦ĽĽŹ>úDL°pΜٸđÂel}üăb‚R[¶lĹŽ;qĺ•Oą;í´…1U«>ÁóϿȎQťN‡§źţ3”JĺÁ¬±¶ůÔ©S P(đÚko`ýúŻc‚Mwß}× ë;ăŚÓQQQ‰W^ů***ŮíłgĎb#šĆâé§źbç~(—_~…oľŮČîź9snĽń†QżćššZĽřâŔjl/ľř2¶nÝ6ě6ýĺ/O±@L(Â_|…Í›·Ä¦~÷»ßúÜ›núśNţ÷żupą\1űiΜّ€MIL 棏VâŢ{ďĂ|Čn»óÎŰG5ęŚB!„˙hd 9n¸\.62b¸Ž‡^ŻGBBBTÇőSĽő–8­`çÎťĐh´¨­­Em­Řżä’ĺĐëő¬3uéĄW˘˛˛<Ďăý÷ßĹ”)“‡QZş�۶mÇő×_Ë–]__ŹóÎ[·ŰŚŚt¬^ý)4 Ôj5®şęJüéOŹâŁŹVâĽó–�&M*Ar˛íí7ďT6mĂăń`őęϡV«c:ä÷ß˙>üđß�€·ß~ź}¶ �pÖYK`4&ŔnwÄĽv»Ý«Żľűöír˙ôôŘpőŐ×!== Z­Ží›U«>Ĺ7߬c†ââb444tÝwßýxçťw�Ď>ű ‰3eĘdÖ6ŃŐfľüň+üěgż€ (-]€ücôßŕű|>,[v1*++Śvxňɧđüó/bܸ\¬Ző ŞĺççG]wÝŹ‘žž†®®nkooÇź˙ü�q„É`űS\|ń娬¬„V«ÁęŐź˛`Ŕ”)SŘ>ąí¶_#== iiix˙ýápË™;w6˛łł#ťęb|đ8}N:ŽŁ·�îąç.ÜxăOĽţýč:öű|»îş7˛˙źÇš5â6ĄĄĄˇ´t>ľř⫣ÚćˇPW]u ŞŞŞ�/Ľđ,–,9�pć™g@­VH¶][[‡K.ą^ŻZ­źţRSS�\pţ°ŁÚ†2cĆtLž<)ćÜŽĂßţöüä'?�,X0Ď>űܨ^óš5źăńǟĒ%g°©J˙ű«xüń'GµM<°ożý�ŕÁďg»‹.Z†Ç{6›-ćůuuőX¶l9z{{1aBV­úUlš:u 6múéé±ÓÁ^zée8pď˝÷>ľýv :;;Q[[ÇŽ9B!„BÁBŽ*)`"v.{†|śĂá@UU5ëŚß˙}¸öÚ«±wď^ěÝ»ß|ó ¬`Źź>ýöűÁQYYÉ:ˇżţőo T*QSS źĎ7ŕń_|ńÜn� ©©;věÄĽy§˛Ž�¬[·===0›ÍÉdXĽxŢyç˝)JźţÜn7¦L™ó:źxâQ<ńÄŁ^#Ďó(,,đ­ýĘ•«† ÄHA­-[¶Âd2aĆŚéřéOo@zzú€Ľ!CŤ˛řď˙Ë~_·n= ƨT*(•JŚ7.fÔLJţ‡ŤĐYż~jkëÍą2śĘĘC¬]ľúę«`Ě'źŰSSS‹C‡Ş0iRIĚö·µµŁ­­ŮŮŮ2e2nąĺfdddŕ´ÓöőFŻ×íö`Ë–m,Ź‹ÁĐŔŰ˝{öď?€3¦ă —!##ĹĹX &zůŃ9…�ŕ˝÷Ţgż˙óźoŚ‘Ž%�¸řâĺ¸řâĺî§ & Ś9’6/+ŰË1â±ú% Ćh4dd¤ÇÜ�«WŻa·ŰŤ7aůň‹� fĘ×hLź>=ćďU«>ażżđÂKřď?CUU5 Jéq~¤Ű´rĺ*ŚQ(2e2ÖŻßóřőë׳éKD[[ Z �@yů>( �ŔÇ˙ű÷@yů>ěŮS†C‡ŞbFmB!„ ĆrÔX­IHJ˛°żŁ§« ćöŰďÄßţö4ë çćć 77'2Bĺ7Ř´é[Ü|ó-°Ű0›űňt47·Ć,§şş&ćoµZ“¤˙vD˙m±$˛ÎúŞUź˛ŽŮ˘E§áťwŢĂi§•˛Çţç?âĄčmMpJb·ŰGôÜ[o˝?ýé 19rFĘĺęË}=5GDOO÷ilG±««kÔÁ)�Á`lůňčmž«ŃhđÔSO`É’3ب‘ęźç#z]ŃËZ˛ä üáĹŚxŠŮÜ7ŞËăńÄäţinx\÷?ćF{Li›÷qŃŢ›#Ćh4ö8ŚÎ+3Öé4Ńůt\.WĚ´žîîn6MđhçcŮ&§Óő^ű^"˝ u. u|577ăž{~‹+„N§Ďó4©“&•ŕňË/E8ĆoĽÉ*ĐB!„ ĆrÔ\uŐ•¬s‡M¶­ĽĽK–śü`&ćĚ™Ť‰‹qĘ)ÓX°cîÜ9¸ăŽŰńŔĹŚ˛IOOŤYNQQ!ôz=jjjŃÝÝ Ż× ŹÇĂ:Çý+ĘD˙ÝŐŐ×9ü裕,3kÖPPŹ””śřúëo�`Ŕ4†éÓ0`ęĚ‘şč˘e,żK8Ćżţő6oŢŚňň}X˝úÓ#^~˙Î{FF:öě)cGʉ‡ř=Î<sI$HŕŔ›oţ?ěÝ[•J…§źţó/?''Ď<ól„ņ _ăłĎÖŕŔ¸ďľ{cFRőď€k4čőzX,PŃ˙»é¦_bÍšĎăÖćýŰ+;;kŘŔËŕĎéű»˙1>RÝÝ}ç©^ŻŹŮoVkŠŠŠP]]––‚pĚŹóÁ¶É`0°€LZZě{IôűÁhýç?ă‹/ľÂ‚ó0cĆ LśXŚ©S§@­Vă8\ýµŘľ};>ýô3ú° „B9IP_ňťJJJÂ/ů‹äĄk×ţoĐ .’””\sÍqď˝wăŠ+.Ă_˙ú,nĽńç3g>víÚÍ7~|�1Áo_đĄăÇ‹ fyžÇŁŹţ ď˝÷6¶nÝ„ß˙ţľŹ?ýôE¬“śžžÓńŢľ}ű}çÎť¨ŻŻ�$$$ÄäťYµęVe§˛˛’M{€sÎ9›ýn4&ŕx×_-N=uîŞŔĽyób‚DżýíďđŃG+áóůŹJ›UWWł×彥@Ú˘E§ŤhôČŃ4ţ©ě÷GyO=ő4Ö¬ůjµę¨,Ö¬™,ÓŇŇ‚ëŻ˙ Ţyç]ěŮSĆnŃjjjcţ^´č4öűyçť;č:˘Yý«eÝyçřĹ/~Ž3ÎX<`TŇŃhóÜÜ6µG.—ÇTŇr»=hllđś%KN‡Ĺ"ŽdKMMŤ)}.%ôíź\úpÓ…věŘówtRŰoĽŻżţ*6lX‹•+˙3ć×˝M#)ĂÝ›–.=7Ş-—˛ß@LŽFII nĽń'¸÷Ţ»P\\Ś?ţńO¸ęŞkPZş8fÄôľE!„BN42†ÄÝő×_‹‹/ľrą|Ŕô »Ýß˙ţÁaźĎó<~÷»ßB._«ŐŠO>ůFŁ‘`�1�Ľ˙ţ‡řéOo€^ŻĎóx÷Ý·°ví˙PX8'łÇKŁ^{í –&''üoěŢ˝ ĚgŰëóůXÂĐčá-·Ü �1IzĄ)JRçöý÷?Ŕµ×^ �xčˇP\\Śžž,]z.K.Z[[‡3Î8kLű×ăqłßçĚ™…ĄKĎR©PŞ{¬l6;6lřšĺdYĽx>űlZ[ŰX…xŠn]tŃ…čęęFnnn»íWG}ůÉÉɸöÚkĐÖÖ†Ë.»d@ąc@Ěłăv»ˇŐj#˘?bÖ¬™ŕy9–/żpĐuĽńĆ›, ˛lŮůĐé´Řłg/ćĚ™Ĺ*o…B!ś~ú™Ž¤:Ň6ýőW±iÓfäćfÇŚrY˝zuL@@b±XđŮg«°gO¦M›ĆňźHç�tvv@¨»ë®;aµ&ĹäЉ¶}ű”•íe szč~”–·Z­Fié‚çéX^sGGË5µlŮů0›MXąň|ńĹ—#Ú¦+@ié|čt:Ěźß ú÷ż?ó ĽĽq¸çž»bޱ]»vٍ¨0&`T^^N„B!'Cľa@ ¦¶¶W^ůC´µµ űÜććf<üđŁě[îŮłgaĹŠńë_ßťN@üvţąç^��´µµá׿ľ‹%5pá…Äb^}ő5V®ö«ŻÖ˛çJťĄ‹.şIIâŹ@ €{oUkęë„~<`[kjj|cţřăO˛Ń7rąW_}nąĺfq:ť¸óλ-[=«V}Šp8 @śVőĚ3OăÉ'C8B{{ÇQiż+†ÍÖ7}Ą  �óçĎCEEELIěxřřă•ě÷Ůłgáĺ—_Ŕ}÷݋ݻ÷•ĺoŘđ5ëhó<Źřž{îŻ5kvîÜ5ŕń.—+&ż‡FŁÁUW]‰Ë/ż+W®ŠU$ů˙ěÝy\OŮ˙ŔńŮ÷]Ö0b„QHىa"{˛ŤÝڱQ˛L˛'!!ŠěR ­ •ĄČh0ŁbQhńű>ú´~2MłüŢĎÇă>ú,çŢ{îąçž{?ďî9÷Ě™ł8::)Ţ÷ěŮCéčďßżgůň•Yž„TűüćÍ›<zô.]:)bâââs|ÚĐąsç)W®ÝşuĄRĄOcĘřű(žöa@ä`ĹwMšh2jÔČ\ó2{öĹDjjjôęőµR &4ôšâŐźłÍgÎśUĽ®Pˇ††ý”ž –3ł9<~ü)O˝{÷R Ä\»vť•+W}vý:qâ$§OĘ×СĆXZ.WlÓÓd7płB!„`Śů–ššĘ“'OdÁ‚Eôď?Pé)HąqrÚËČ‘Ł9sć,qqń¤¤¤đęŐ+®_ż••5ĆĆC•ĆŠńôĽŔŔĆ>|„GŹ“śśĚË—/ąté2cĆŚÇŇrµŇň×­[ϸqßrá‚ńńOINNć×_ĹÍíUü÷?ŻŔ‹»ű±,é’’’9r4Ë—[rýú ^ĽxIrr2>d˙ţôë7 ŰůŞ bÚ´ܸĆ›7ořăŹ?8uę ăĆMäÍ›¤Ůw111ĺÔ©3<ţ‚¤¤$Îś9Ëřń“x÷.ąPë‘˝ýVÖ®µáçźśśĚożýĆŽ;Y´hi,˙ĺË—Ś1š ĽHHH 11ńă#Đ'p÷î˝lç9tČ•)S¦qíÚ5“ří·ßpttbÉ’˙)ĄKNţ4 ńŠ–L™2 _ž>}JJJ Oź>ĺĚ™ł >Š}űś˙’}ţćÍ[LMÇáí}Q1ď±c <4Ç ĆÝ»÷3f<·oß!99™ÇŹeË–m|űídE€ŔÜ|.nnÇŤŤ%%%…ňĺËç:Čň1ôďoÄćÍ[¸wIĽyó†›7o˛`Á"FŚ0QÜ©ó9ŰĽoź3«VY}ź·oß’¤¸Ă.·şŢż˙@6o¶Wt3LHH ,,ś+,1Â$Ë@Đůńţý{fÍšŤ…Ĺ|xţü©©©üţűďřú^fÖ,sfĎž+' !„B˙"*|^$Ăűô×E3üMźÔ>NĹ>N%€â@ĄÖ­u2ţ]!ţëJ”(A­Zµ‰ůtU­Zµ¸|ů˘âý!#¸víZˇçÍÖÖ†űşâ 62Ďyüü|cälŢĽ[Ű ˛“…B!ÄNĄJ ÖžÉŔ; ĺă”úqJË0˝Ďđ7˝{CĆ×dz Č1BQ J•*Ĺńăn4lŘ€˘E‹âî~śŕŕ«”*U’áÇ)Ň=zô°°0)0!„B!ţ’`ŚB 7oŢpčĐa~üń�ŚŚ`d4@)Mbb"ććsł?F!„Bńß'Á!„(`;w:ÁčŃ&´n­MŐŞU?Ž­ňK—®°s§CžU !„B!ţ»dĚ!„B!„B oĚyš’B!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`Ś(Tjjj„„qďŢĘ”)ŁŇ<zzí8{ö$7oŢ K—Î˙ęí×ŇjFtt$ęęę{^ĆŹ‹·÷y©”˙ µjŐbßľ=DD\gΜٺěť;·±iÓúżß´i=NN»˙Uĺ•WžëÖ­Ctt$MšhţĄů(Q˘«V­äÚµ`Ř'9SűRştiĽĽÎ1sćŚývŤ3šK—Ľ©Zµęż2˙۶ٳzµe¶ßµjőţţ—éÜąÓß–żěŽY__oĆŚ]¨uiҤo‰ŽŽĚvĘ._'kk+6oŢ$ŤN.®_żŠ‘Ń€B;–ň“Fń˙›cDˇęرďß§ńřńŻôęŐSĄy6oŢÄŤaŚ!8řęźÎĂ_4":: Ů!BɨQ#ńóóýŰÖżpáŹT¨PSÓńěŰ·żP×}ĺŠ/úü«öWć<^ař𡅞ŹáÇbhŘ3ł9,X°H¤LŢľ}ËąsžÜ¸öŻß–[·nsţĽ'Ż^˝úĎí§'Ob9Ţ“_~yX`Ë,čc˛0ëŇóçĎéßß(Ëôo=ż!„řç)&E Ó€ýńńąÄ«WŻ8p�îîÇsM_˘D *W®Ś‡ÇI®_ż!(ţÓÔŐkâë{™k×®úş<üŻ+ŻJžŐŐŐ‰ŠŠÂ×÷’Tâl¤ĄĄaeµö?±-W݆pőjČr?ĹĆƲdÉ2©KĄ¤¤pëÖm9€…BüeäÎQhJ•*EŻ^=ńňňâÂ… těŘjŐŞĺ~őjKnßŔŃq—R÷žˇCŤ9uĘ[·Âđńńbúô©JóęéµăčŃĂÜľNP3gΠhѢ ŕÜąÓ�xyťăČ‘CŮ®»L™ŇĚťkŽŻŻ7·o‡ăááĆ×_ş“ÇŘx0ľľŢ|óMoĽĽÎqëVÎÎ{©[·ŽŇr† 1ćÂ…sÜľŽłó^jÔ¨‘kY[[akkąąÁÁţ\şäM§NŃ××ĂĂĂŤ›7opčĐęׯŻ4_Ďžxx¸qëVľľŢĚ1555Ĺ÷ĹŠcţ| ‚‚ü¸ŽĄĺrŠ/®´Ś"EŠ0yňD||ĽżŽ«ëAşuëše›MMM ňcëÖÍŠ<[[[af6“ŕ`ÂĂŻ±víjJ–,™ăvÖ­[[[‚ý‰¸ÎîÝ»ĐÔÔT*kk+¦OźJHHaaˇŘŮmRę JšěŚ= oďóDFŢÄŰűĽbż®^mÉŠ˨Ył&Ńё̛÷=�ĺË—gŐŞ•\˝@xřuöěq Ył/ó,—rĺĘaią‚«W fŰ6{7ţ"Ű< ::m¦M›Btt¤â–ęĆŤł{÷.ÂĂŻČÚµ«©T©b–:łjŐJ""®3~üŘĎ:>3ŢęžŢU {÷n¸şşpëVçÎť¦S§ŽJŰĺ¸‹ŽŽ¤L™2¨©©áęęÂÎťŰßkjjrçN}úôβţš5kpďŢ:thŻřlńâ…DGGR˝ú§vâŔ}¬\ů?Ą<«««IµjŐXµj%ŃŃ‘JőŻ}űöś<yśŰ·Ă9wîtžÝ0ňj_2a˘Ł#™:u2:::DGG*nIĎ«ŢdŢ·AA~¬^mIĹŠßg× ÂŮy/?ţřCžm]NT©Oů=žUi_2oK^ůΫlr+_MMÍŹÇ“ŽR¦OźŠż˙eEŰŘŁ‡˘]őô<ËřńcyH? 2âüů3„†g[ď?l—)?ý´‘đđë\aâÄ Jë­\ą2›6­çĆŤBB™0a¶¶6ąv_ĐŐmËţýN„……•Ő*Ę—/źŻőVŻ^ {űź %8؟ѣGĺZď3wRĄ.Ô©S›mŰě żFxř5lmm¨X±B®Ç¤ŞÇWN2Ö%UĎĹýűrţüî܉ŕŕAgÚ·×/đ.Ăąť×r:ż¤o‹­­ 7oŢ 0đ s•Îßyť/3kß^źë dôYm\z=čÔ©#®®.Üą§çYĄĺ©’ćsÚ'Uň•Űy @GGGńý… çh۶Mžű.Ż:©Ę±¤JUŻ'r«Ď%K–déŇEůqçN‡ȵ>!$#ÄÇ ß©áííź_�Ż^˝¦_żľ9¦·´\M×®�Ěťkľ~Gâââ4ČĺË—áě|€ţýŤX·n=ß}7CĂ~Š _‡řűĐŁGofΜ͸qc0ŔÓ§Ď2j”)�ÇŹâŰo'e»îĄKcd4€ĺËWĐżżŢŢ>ŘŮm¤víÚŠ45jT§_żľLś8…Ť)_ľ<––+ß÷ëׇիWrđŕ!ŚŚŚ9|řË–-ÉłśÚ·×çáĂGôěŮ'§ýŘÚZcnn†ąą˝x÷î––Ëé;wî„˝˝gÎśgĐ !XY­aěŘŃ,X0_‘fÉ’E b̲eË16Ćłgż3iŇ·Jë57źĹ”)“XąrFF9Ţ“;¶*ýp­QŁ:ť:ubĘ”é,]ú)ß|óáÇő€™6í;z÷îŷߎĎvűÔÔÔŘłg7ęę5™2e:C‡Ž %%{űź2zP·n]úőŔŕÁC©\ą;”.äTI“Q÷îÝXĽx!66ëéÚµ۶íä§ź6PŻ^],-Włi“©©©čëwÄÎΞ"EаcÇVľúŞ%łf™3b„ ńńń¸¸ěĎR2–Kú|Í›k1eĘtFŽ4!))‰C‡\˛ ť>}}ýŽ<~ü+‡ą˘Żß‘Ó§ĎR˝z5ÜOBB#GŽfúô™4nÜGGĄ‹őŢ˝żćůóç 27·cvĚš›ĎÂŇr ˝Źŕ§ź6Pşti•ćMMMeîÜĐ×ף_ż>)R++KΞ=ÇéÓgł¤ŹŤŤăćÍ[téň©ľuęÔ‘äädĹĹvٲeiÝZ‡ Ľ•捋‹C_˙C[ŰŤčëwäíŰ·ŠďgÍúŽŤbčĐÄÄÄ`g·1Ç1«ňj_˛[ďŃŁnüňË/čëwÄŇrµJő&óľ53›Ă—_6eÇŽm*ďźÜÚşě¨Zźňs<«Úľä'ßy•M^ĺ{÷î]ÂÂÂłŚ1p`ÜÜÜIMMĄS§ŽlŮb‡»űq ÄÚµ6™ÍdöěYJóLšô-+W®bĐ !9nĎŚS9sć,=z|Í–-ŰřńÇhÝúC ¨hѢěÜą &OžĆřńŃ××S :f¦ˇˇÁľ}{ŠŠbذ‘Lź>==]~řá{•׫¦¦†ŁŁµk×fҤ©|űíd:wîL›6­óŐäU6oţ‰%J`ddĚ ACiĐ@ůóČńĚĎńĄŞĽÎĹÝşueÝşµ¸şaŕŔÁ<x•+—čőM^çµěÎ/éĚĚfBçÎÝ™9s6FFWUĎ—éZ·Öaűö-¬\ą77÷?ŐĆ-[¶„őë7ѡC¶lن••%={öP9M~Ű'Uó•Űy©^˝ş89í&&ć!C†Ś`ٲĺüřăąž·ňZŻ*Ç’*iňs=‘[}677ĂŔŔ€©Sg``Đ‹»wď±e‹ťR.„ř÷nJ˘Đ Đź‹}HLLŕĚ™ł Řź={ś˛M˙ęŐ+’““ŹJ|üS�ÜÜÜńóó#66€ččűڤmŰ6ś8q’5ŞSŞT)Nź>ĂŻżţĘŻżţJ·n=HHH�ŕéÓ§Še>ţ"Űu/\¸„ *đűďż`ggĎÔ©“iŐŞ%żţú«â"{ţüĽ~ý€­[·akkC‘"Ex˙ţ=&ŚÇÝýŰ·ď 22Šš5k`a17×rzüř1®®G�صË ‹9¸ąąsďŢ=�\\)c¦OźĘ‰§ŘĽŮ^±ž÷ďßła-?ýdGJJ*Æ aáÂ%ś:uF‘¦eË–4hđá›2eJ3aÂxfÍ2ÇËË[Q®_}Ő’ŃŁM¸té˛b›ż˙~ž˘,ÓÝ˝{ŹŤ?\ţöŰo;ćAűöúŘŰoÍöGú ACHII&11 €Ý»÷°wŻ#•+WćŹ?ţ�ŕÝ»w,^Ľ”ÔÔT�ľ˙ţ._ľž^;üýTN“Q˝zőxńâ^^Ţ$%%áâr“'O)¶'>ţ)Oź~Şkúúzčę¶ĹŔ 111�XXĚçÔ)ĆŽ5eőę5Ů–‹ž^;ľúŞ%ť;wWÔˇąsçáççËŔýqppTĘ×Ű·o‰ŹK||üÇéĂúML¦đúu"ććsŰ8eĘ4®\ńĄk×.Š}uď^4k×Úř1»nÝE—©U«¬02@óćZ*wÓ‰‰aÍk,O•*U¨]»vŽP�OĎ |óMo¬¬¬©Ył&uęÔfÇŽ]tęÔ 7·ctěŘäädüüü•ćKKKSě»§O?•_şůópţĽ'�‹-ÁĎď-[¶ 00(Kňj_˛[oĆIŐzcb2*Ëľť6í;´µ[ˇ¦¦¦ř,ݎąµu™e·ÎěęS~ŽçrĺĘĺŮľä7ßy•Ť®nŰ<Ë÷đá#Ě™cĆŠ–¤¤¤ĐĽys7nĚ´iß)ÚÍÝ»÷°k×nĹ~VWŻÉěŮflŘđi0T[||rçăčQwNž<Ŕž=NŚ5‚öíŰpx7�� �IDATz ]ݶhk·˘[·ž<|řđăŹď9\ľě“ëqÓĄ‹±±±ŠĎ<<NĐ«××*Ż·cÇ|ůeSşv5ŕŃŁÇ�Ěžťűzł“W]¨WŻ'Nś$:ú>�ŁGŹáíŰw9“ů9ľTţŻbçâÉ“'rüř ¶mۡ¨źŐ«WSÜť’“jŐŞ) Ř °i“ť˘<ň{^Ë|~IÄţý� ú®\Ž­íz“T:_´hч¬[·—9n—ŞűŔÉiW®řpäČQtuŰ2qâ<=/¨”&żí“ŞůĘíĽ4räž={Š…Ĺ¤ĄĄ)®%]]?ż<T9–TI٧×Nĺë‰ÜęsýúőŠŠ"4ôÚÇ`ř2J–,ˇŇ9C!Áń˙TĹŠčÚµ sçZ(]\ţá?iÄäkyęęę > MMM4ĐŕË/›r˙ţĎ�DEÝĺěŮs¸¸ěçĘ?8sć\Ž�Ůy˙ţ=::Ú´k§KŁF ŃÔlŚšššŇíŮ Š“ĺ‡ Ď3Š+F‰%xűö-Mš4áđaWĄĺćąîŚŕiii¤¦¦ňâĹ Ąî%J”Pş�;vĚCiÁÁ!+VڦM›’HńâĹ É”—�ĹŹĄFŤQştivěŘŞTNĺË—WŇ·9»rüí·ß”Ţ?{öŚć͵r-ß>}ú ­ýŠŰt3–ďť;‘JżýöńńOiÚ´‰"ТJšŚNž<…©© /zâë{ ˙@ÎťËů‰R-Z4'..^qᔞ÷«WŻŇ˛e‹ËĄeË”*U /ŻsJË+_ľ<őęŐSą6o®Ehh¨Ň6ĆÇ?ĺÁZ´h®řńüčŃŁżä¸Í¸_ź={ö1pW&_ËŘ·Ď™qăƲlŮ&Nś’c�ŕÂ/fĎžEŤŐéÜąˇˇ×¸|ů 7~x T—.ť¸rĹOé®UBźŽŻÜeË–ý¬öEŞÔ›ěöí“'O8sć‰ĘëÉo[§j}ĘĎńܰa<Ű—üć;ݞQĄ|=<N°pá|şvíÂ… ^ $$T±őôÚˇ§×NipŮôn@*|ęĄĘ±•]y•-[F‘×řř§Š@ @RRׯ_Ďu™Ĺ‹c„qhi5Ł~ýú4o®E\\śĘëmÚ´ ±±qІéë űě6 »ş°ył=óçĎŁG‚‚‚ńôĽ@xxÄgźż?G^çâ-šăáˇčÉîüŮóçĎ15§ôY||üź:Że'"â¦Ňű7Â(UŞÜľ}GĄĺ6kö%ÇŽ%66GG§?u ő)_YňŐ»÷×*§ůśk1Uň•Űy©IM®]»®Ä�\»vť7oŢ|vy¨r,©’&?׹ŐgGG'¶oßÂŮł§¸rĺ —.]‘ńĘ„`ŚąëÓçŠ/ΦMXż~€˘+ÉŔ˛ýOSN&Mš™Ůw<x///~ţů3fLS:ąMź>“–-[ĐĄKgzô0ŔÂb.3gšáééĄŇ:¶mł§iÓ&<x77w"#Łr_&wE”ß)R(ĺýţý{Ĺßôuf^wvy8p0Ďź?Wú,99Ą@óVĄJÜÜ\‰ŹŹăäÉÓx{ű’’ÂîÝ;3ý)ží”ü¦ÉüC˘OC:thO‡úL™2 ‹ą :\é"J•ý•^Ć9‰ŹĘ!ò|ţęŐkŐkĎźX˙ß!»ü–,YRřČ8ćEvnݺͯżţJűöútčО˗ŻJéŇĄhÔ¨!;vČö”WűRPűísŰ‚Śóĺ·­ű+ęS~ÚUóťW٨˛ ś={žűăí}CĂ~ŘÚ®W jŰÚnŕĚ™łŮţ¸/W®lÔ§˘EŐHMÍÚ†¦¤äü_ěvítqpŘ——7~~=ꎎŽC† Ę׹'űr*Řs#gĎžĂŔ ;íÚµăС‰888bm˝î/;ľňżŠfŮą•˙§4Şŕ«ęy-Ű ńbĹr|Żęr544pw?ÎŔýéÝ»gĎžűÓm\ćókvçÖÜŇä·}*¨¶7»¶(·6#ďőŞr,坦 Úß  `şt1 [·®čéé˛víj˘Łď3zôXRRRBü»Č1˘P Đźk׮ѧŹ!††14HßľýąpÁ‹űçkYĆĆFěŮł—+,qs;Ćőë7”Ć-[¶,ÚÚ­Ź`óć-ŚÁËË›QŁFŞtŇ«\ą2Ý»wcáÂĹŘŮŮsęÔâăźćűŽ€ČČH:tĐWú¬}{ý/Ű›Y¨ÓŐmKJJ QQQDGß'99™öíŰç—ű÷ćÍ›7Ô©S‡GŹ+¦:uęP¬XÁöCÖÓÓĄV-uLMÇł{÷ĽĽĽł Ş|ůĺ—”*UJńľQنTŞT‰Ű·ďä+MF5kÖ aÆřú^ÂĘĘšľ}űS´húöí“mÝŹ FŤęYîfiÓ¦ 7oŢĘqoŢĽEĺĘ•xűö­Ry~ůeSĄ˙Ř©˛outt”ú‚W«VŤ 4ţö§|$&ľ¦|ůňJ寡‘őNyóćňäɦNťÁ˙ţ·„ZµjĺşÜ Ľi×N==]|||IIIáĘ? űQ·n]Ľ˝}rą ýóŰ•Wű˘ UęMvűV]]ť#†)î|KL|MőęŐ•~TÖ«WWĺ¶®0ę“*íKfyĺ;ݞQő¸<|Ř•îݻӱcĘ•+ÇÉ“§ß………S§NmĄăłté2T®\ą@o÷żwďęęęÔ¬YSél«V_ĺ8Oßľ}¸s'’YłĚqq9źźżŇŕĹŞťîPŁFuĄAĂË”)ťëzóKMM âââŮ»w?3gš±zőĆŤ“ă1YÇWţ÷A4ÚÚÚYΑ…}^ËéÚCGG;K=NJJâÁ•Ď—çĎ{2w®;věÂĆf Ť7ţÓmś¶v«LůjťĺÜš[šü¶OQ7î܉¤uëÖJw éčhçzwR^ëUĺXR%Íç^OdÖ¸qcJ—.Ĺńă,\¸“1čę¶Íőnd!„cÄ˙c5kÖDW·-Ű·ď"*ę®Ň´yó444ňu}źîÝ»ˇŁŁC“&šXZ.§QنŠď[´hÎáĂ.ššĐ¨QCzô0 M›6DFFîXHKKŁcÇJ¦Ą{ůň%Oź>ĹŘx0M›6AGG‡-[ěňýźă]»čׯ/Ó§OĄIM 2ÂČh`—ď–-[0ŔiӦдiľů¦7Ë–-a˙~gž?Áëׯqq9Äüůôíű M›6aÎśŮJ ‰‰‰888˛bĹ2 űѤ‰&#GŽ`÷îť´k×®@ó{˙ţϨ©©1z´ _|Ń= ”N—’’̆ ëhٲúúzlܸž°°p‚Żć+MF#F gß>GşwďFŁF 11IĺĘ•‰Šş |µJ•*hk·˘jŐŞĘćÍŃ××CKK +«UÔ©S'§˝9nc``ׯß`űö­tčĐ-­f,Z´�;»MT®\Yĺ˛rv>@ąrĺX·n-Í›7§];]¶nµăÎť;\Ľč“ď˛/_ľZZÍ”¦Ď}šHhč5ŇŇŇXµj%ZZZöcňäIY~›ŚbÉ’eś?ďI@@ ÖÖVąţ‡đÂ/úôů0ŕoú1{ń˘ăÇŹĺĆŤ0ĹOى‹‹Ąukľř˘Ńg×ĎĽÚU¨Ro2îŰ-šŁ§×;»Ť 6”wďŢĨQ#éÝ»ÚÚ­°±Y«4e^mÝ_]ź�•Ú—ĚňĘw^eŁęqČłgĎX´h§NťRŚW`oż…QŁF2uędš6m‚AwvîÜ–ç‡ňëŇĄËÜ˝{;»Ť05ÇĆfM®Aîű÷ٞ={ШQCĆŚ1eČă|­÷ĘnݺͦMcX­_oË›7I¶meĘ”ÁŃq'Ë–-ASS“Ö­učßßP©ţe>&ó:ľŇ»°hk·RtKHH iÓ¦Ô¬ůyA›]»v3dČ`ĆŤ¦¦&ýúőĹÔÔäOoĆ|©r^Ë|~I§ĄŐ ss3š6m‚ˇa?,,ćâěěBRR’ĘçËô�˘ŤŤ-ˇˇ×ŘşusŽw"ŞÚĆ >#Ł4i˘ÉôéSéŰ·ŹbŚ%UŇä·}*¶÷Ŕ*W®„ŤÍZ´´´čÔ©# Ě'))éłŰ|UŽ%UŇ|îőDfË—/ĹÎnÚÚ­hÚ´ cÇŽ!11‰‡˙šîĘB Ćąţýű‘”””í 7n„ńË/żdyęEn,XÄŘ·ĎGÇ]<y‹·÷EĄÂsćX0bÄpNś8ĆŠ˙ăرăŘÚnP\@­X±Š9sĚŘżO¶5cĆŚ§A¸»ÁĘĘGG§,ÝwňrúôYćÍű‘!Csü¸C‡łhŃ’/__ßËLź>“ľ}żÁÍÍ•… çłoß~,-­iV®\…łó–-[ÂŃŁ‡©Zµj–î¶¶Řľ}'sçÎĆĂĂť)S&ňż˙­Čń‰ ź+22ŠYłfcjj±cG™8qB¶Ď_Ĺß?GÇ]lßľ…_8qŠŇť%ޤÉČŢ~+..‡Xşt§Ny`j:šE‹–(~^ĽčÉ'Ů»wß?‡´´4ľýv2·°łŰČÁÎÔ®]‹#L˛íÖ”îÓ|¬_oĂŃŁ‡iÝZ‡QŁL•ú‹ç%..žáĂGQ±b%\\ö±e‹?˙ü€1cĆÖď»t鄇‡»ŇôÝwź×E 66sóą´n­Ť«« C‡łjŐ§:W®\9Ö®]Í®]» űđú%K–ˇĄĄĹ„ ăr\®ż�ĄK—ÂÇçSx_*T¨ Ó$'––V´mŰ–“'Źgy´mAµ/ŞPĄŢdÜ·ěcóćMܻ̈́ ËY·n=ţţ¬[·{{;®^ áÚµë*·uu}ĘOű’9X™[ľó*UŹË÷ďßăęz„ĆŤżŕđá#YÚÍ©SgĐ»w/ÜÜ\Yłf§OźQzJ\AHIIaěŘ <{ö ‡ť89}8˛<:Ýľ}Î89ícÍšŐ¸şB[»۶mĎ×zSSS™0a"<`ÇŽ­ěŢ˝“Ë—/T`Ű–€‰É6lŔáĂppŘAllÓ§ĎĚńĚëřzńâ%ŽŽN,]şX0ٶmß|Ókë5ź•OŹ,^Ľ”±cMńđpcěXS,-W˙éíĎ/UÎk™Ď/é¶oßIÍš59zô0‹/ŔĹĺ kÖXçë|™qż›™™S¬X1lm­ł |«ÚĆ-[¶‚#†sü¸ĆĆ™7o>.x©ś&żíSA´˝Ź=fĚńÔŞĄŽ«« Ë—/ĹĘj-/_ľüě6_•cI•4ź{=‘٬Yć<|ř­[íqssESł1ăĆMP<,ŕ‡,đńńBńďPD…Ď‹dxźţşh†żé“ÚÇ©ŘÇ©P¨Ôşµn@n6 !DFÖÖV”)S†3fý©4Bńw+^Ľ¸âÉ€éöďwâÖ­ŰůßíÚérŕŔ>ZµjĂ«WŻţ¶|ůúzłsç.śśöýcĘŞnÝ:řřxѧʎâ®ŃĎI#ţ۶m!>>ŽE‹–Jań'TŞT‘ĐĐ`}ŕ9 ĽR>N©§´ Óű Ó»Sd|M¦×€Ü#„Bń—Nśpgůňe4i˘IŁF ™:u2şşm•,ţ: ÄÓó,_Ý“zőꢯŻÇÂ…?ř·b„ř+|ńE#|}/KAń/!OSB!„ř $''3gÎĽŹÝbť(W®÷îÝcöě9ąvUÇĂă$µk×ĆÂb.uëÖáŐ«W\ĽčĂęŐkĄpÄŠššµk×RéŃíBé¦$„B!„BtSB!„B!„řO’`ŚB!„B!D!’`ŚB!„B!D!’`ŚřĎ)]ş4^^ç9sF-ÓŘx0!!˙ĺ”(Q‚U«VríZ0üýŹĂś4é[˘Ł#łťŕĂ#0ŁŁ#iŇDół×QË€ŹĂŢĽy“$B!„Bż•<MIüëmÚ´ž””TćĚů€·oßrîś'7n„ý'·wřđˇöĺ»ďĚxřđá?"OĎź?ÇÔtÜ_¶O…B!„âżD‚1â?'-- +«˙î#+ŐŐŐ‰ŠŠÂ×÷Ň?&O)))Üşu[*źB!„B¨@ş)‰BáëëÍ1ٱµµáćÍ^ÁÂb.jjjŠ4uëÖÁÖÖ†ŕ`""®ł{÷.45?uK±¶¶ÂÖÖ†U«VqťńăÇâí}ž~ýú2p`˘Ł#éŇĄłŇúŇ5nÜÝ»w~Ť  ?Vݶ¤bĹ Šőf×&::î9nÓСƜ:ĺÁ­[ařřx1}úTĄm‰ŽŽdĐ #Îź?Chhp–ů555‰ŽŽDGGGéó3¦áďY©lŕC&::’©S'ŁŁŁCtt$«W[*¶wĆŚi8;ď%*ęZZÍ�čŮÓ�7nÝ űfşŇrÓËÔÜÜŚŕ`.]ň¦S§ŽčëëáááĆÍ›78tč�őë×/Đú «Ű–ýűť %$$+«U”/_ Ç} Đľ}{Nž<ÎíŰáś;wšÎť;)ľË® ž^;˘Ł#)S¦ŚŇçăÇŹ%$$°°Pěě6QµjU9H…B!„Ś˙=ff3 ˇsçîĚś9#Łüřă�¨©©±gĎnÔŐk2eĘt†AJJ2öö?)-ŁwďŻyţü9C† ÇÍí#00??ôő;âďe˝Ő«WăŕÁý$$$0rähĚĚćđĺ—MٱcŰgoË AF,_ľ gçôďoÄşuëůî»éöSJ7iŇ·¬\ąŠA†dYĆÝ»w gĐ Jź8�77wRSS•>Ź‹‹C_ż#GŹşńË/ż ŻßKËŐJw÷côécČýű?Óąs'ěíí8sć< ÁĘj cÇŽfÁ‚ůJËmß^ź‡ŃłgośśöckkŤąąććôâÝ»wXZ./°z ˇˇÁľ}{ŠŠbذ‘Lź>==]~řáC—¤Üöé¬Yß±qăO :‚ěě6f ´äEOŻíÚé2nÜ·Lž<Ťúőëâŕ°˘EĄ9B!„Bé¦$ M``ű÷� (čwlllYąr9¶¶ëILLbĐ !¤¤$“ŔîÝ{ػבʕ+óÇ�pď^4k×Ú(-÷éÓ§¤¤¤˙4ŰőšŚâőëDĚÍç*Ó¦}‡¶v«,wź¨ĘÍÍ???bcă�ŽľŹ‰ÉHÚ¶mÉ'élllńńńÍq9‡aîÜŮ,_ľ’””ľúŞ%_|Ń)S¦eI›––F|üSĄ)Ł#GÜ8tČUń~úô©ś8qŠÍ›íŚŚâýű÷lŘ`ËO?Ůńüů �?~Ś«ë�vírŔÂbnnîÜ»w�—CycŞU«¦°7ݦMvlÜřS–´111téb@ll¬â3Źôęő5�üńGŽűtţüś?ď Ŕ˘EKđó»DË–- Ryß)R„Ůłçňöí[�fÎ4ÇËëzzí˛ ć !„B!DA“`Ś(47•Ţ߸F©RĄĐĐĐŕöí;Ľ˙ž>}ú ­ý4kö%�%K–TĚóčŃŁ|Ż·ys-BCC•î4yňä gÎ<ůSŰŁ®®ÎđáĂĐÔÔ¤A ľü˛)÷ď˙¬”&Żüzxś`áÂůtëÖOĎ 4«WCřůçůÎĎăÇŹ•Ţ·hŃścÇ<”> ˇX±b4mÚTŔČIKK#55•/^(>{űö-%J”ČuÝŮ ŕźcúâĹ‹1aÂ8´´šQż~}š7×"...Ďmډ‰QĽN„•-[6_ĺtëÖmE &}™Ďž=ŁiÓ&ŚB!„B Ć«lĹŠĺřľJ•*¸ąąÇÉ“§ńöö!%%…Ý»wţéő)R¤Ŕç™4i"ffßqđŕaĽĽĽřůçĚ1-ßëIHHŕěŮó ÄŰű"††ýXłĆć/ŰďßżWú[Pň3€o»vş88ěŔËË?ż�ŽuGGG‡!Cřöf·UýL!„B!ţ˛ßÇR˘°ččh+˝oÓ¦ III<xC·n]¨UKťoľéGR҇nJ=zä+Ŕ“› d„šššâîuuuşuëÂŃŁîĽ~ť@Ť5Šş 瀵ĆĆFěŮłkëuŠĎjÔ¨ÁÓ§Ďň].‡»˛}űVştéL©RĄ8uęT”wDÄMÚ¶m‹ËAĹgşşmIII!**ęo«}űöáÎťHfÍ2W|Ö­[×|íÓě$&ľ¦|ůň”*UŠ7oŢ� ˇ‘u?6kÖŚ’%K*îŽiذUŞTáöí;r !„B! …ŚX) Ť–V3ĚÍÍhÚ´ ††ý°°‹łł IIIÜż˙3jjjŚmÂ_4˘G,Íć$66ަM›Đ¸ńŮćęě|€rĺʱnÝZZ´hŽž^;ěě62lŘPŢ˝{ÇüATÔ]~řá{Ú¶mC‡íYľ|©Ň2(W®-Z4§xńâDGß§{÷nčččФ‰&––ËiÔ¨ažyÍĽ€€€@ž={ĆÂ…?râÄ)Ĺ9Ö–-[0ŔiӦдiľů¦7Ë–-a˙~gĹx1…!!!�míVT¨Pű÷ٞ={ШQCĆŚ1eČă|íÓ섆^#--ŤU«V˘ĄĄ…ˇa?&Ož”%ÝŰ·oظі–-[ ŻŻÇ¦M '8ř*�ýűröě©‚”B!„B¤“`Ś(4Ű·ď¤fÍš=zĹ‹ŕâr5k¬ËΚ5SSŽ;Ęĉ˛ Ô›“]»xőęîôîýu–ďăââ>|+VâŔ}lŢĽ‰{÷˘™0a˘"Ť™™9ďŢ%łwŻ#‹-ŔÎÎ^)(réŇeBBBqu=¶v+,XÄŘ·ĎGÇ]<y‹·÷Ĺ<óšy9đá.W×#4l؀Ç] ¬Ľ}}/3}úLúöý77W.śĎľ}ű±´´*ÔýţâĹKťXşt1¦¦&ěŰ猓Ó>Ö¬YŤ«ë!´µ[±mŰö|íÓěÄĆĆan>—Ö­µquuačPcV­Ęş­W®řáďŁă.¶oßBLĚ/Lś8…´´4�Ę•+GőęŐ•Ć*B!„B‚TD…Ď‹dxźţşh†żé“ÚÇ©ŘÇ©P¨Ôşµn@aţ'^üóřúzłsç.śśöIadcĆŚi ä믿‘ÂB!„BżIĄJ ÖžÉŔ; ĺă”úqJË0˝Ďđ7}Ľ…ŚŻÉô1c„ř[Ő¬Y“¦M›0v¬)¶¶¤@„B!„â˙ Ćń7š9s:††ýpw?ΡC®R B!„Bń˙€tSB!„B!„ đş)É�ľB!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1B!„B!„…H‚1â?AKK‹­[7sőj�aaˇ<čLĎž=ţ_—IÝşuŽŽ¤IÍÓlÚ´'§ÝşĚĽäwťkk+6oŢ”ăűŠńăÇâí}^ĺíř§ř§ć+łV­ľÂß˙2ť;w’FT!„B* ƽΝ;áęęBńâĹYşôĚ™ó=wďŢeË;¦L™$ôѨQ#ńóóUúěĘ?.^ô)Ô|ô:łŰ.!TńäI,çĎ{ňË/Ą0„B!Dˇ*&E ţÍJ—.ÍÚµV¸»gÁ‚EŠĎ==˝¸ÉňĺËđöľHTÔ])¬l<xř˙Ĺ:…ČNll,K–,“‚B!„…NîŚ˙jÝ»wĄjŐ*¬]kťĺ;—CüüóĎŔŘx0!!JiôôÚI™2eźőča€‡‡7oŢŔÓó,ăÇŹĄhчJNÝt˘Ł#10č®x߸ńěŢ˝‹đđkřůů˛téb*V¬ăvX[[akkąąÁÁţ\şäM§NŃ××SäĺСÔŻ__1ŹŻŻ7cĆŚVZŽłó^~üń‡,Ë_˝Ú’+–QłfM˘Ł#™7ď{ĹzÓ»“¤o[§NquuáÎť<=Ď2hQ®űŕs¶5ó:»w« ·n…qîÜi:uę¨4ĎčŃŁđö>OdäMĽ˝Ďóő×=sÝ®şuë`kkCp°?×Ů˝{ššŞw­*Y˛$K—."(ČŹ;w"8tč@®ó—)SšąsÍńőőćöíp<<ÜyLŻ{ľľŢ|óMoĽĽÎqëVÎÎ{©[·Ž"M±bĹ?ß‚  ?""®ciąśâĹ‹çëxhß^źëŠ}V¤H&OžŹŹáá×qu=H·n]óµ˙Ňë™­­ 7oŢ 0đ sQSSË3?ăÇŹ%$$°°Pěě6QµjUĄĺÎ1 gç˝DEÝBK«ŮÇü4Vä'$$µkWS©RE� čĎíŰá”.]Z±ś3gNpáÂ9ĹűRĄJqëV††ý�¨S§6۶Ů~ŤđđkŘÚÚ(¶/óńlmm…µµff3 ö'<ük×®¦dÉ’Šĺ«©©1gŽW¸yók×®ĆÔÔ$×îdB!„z-.�� �IDATBH0Füă•,Y’#†3iŇDjÖ¬‘kÚ-Zpűöž?‘í÷ţţ´lŮBĺuwęÔ‘-[ěpw?΀X»Ö3ł™Ěž=KĺeT«V —ý<{ö”!C†3sćltu۲cǶ<H?|řž={ăä´[[kĚÍÍ07·ŔŔ ďŢ˝ĂŇrůg•©Ąĺj6m˛#55}ýŽŘŮŮçvٲ%¬_ż‰ş°eË6¬¬,sçs·53sóYXZ®ÁŔ ááüôÓĹîîÝ»±xńBllÖÓµk¶mŰÉO?m ^˝şŮn—šš{öěF]˝&S¦LgčФ¤$co˙S>ňc†S§ÎŔŔ wďŢcË»K—.ĆČh�Ë—Ż #Ľ˝}°łŰHíÚµijÔ¨Nż~}™8q Sľ|y,-W(ľ_˛dC†łlŮrŚŤ‡ńěŮďLšô­ĘynÝZ‡íŰ·°rĺjÜÜÜĺ:eĘ$V®\…‘Ń`Îź÷dÇŽ­Š1RTÝff3 ˇsçîĚś9#ŁŮý2:۵Óeܸo™<yőë×ĹÁa‡"°™¬qw?Fź>†Üż˙3Ő«WăŕÁý$$$0räh¦OźIăĆŤqtt@MMŤ‹}PSSCOŻ�U«VĄQŁFÔ«W—Zµj)Ö[¬X1|}/°yóO”(Q##c JĚźźsŢżů¦÷ÇŔĎ`¦MűŽŢ˝{ńí·ăß[XĚÁÄdË—ŻŔŘx±±qLź>Mn!„B‘/ŇMIüălÝş™.]:`jj‚‘‘1ż˙ţ{¶i+V¬Čü‘ă˛^ĽxAĹŠU^÷ôéSŮ˝{»v}`6:ú>ęę5™=ŰŚ TÔÄd$żüňyó~$-- €9sľçôéhiiqëÖ­lç{üř1®®G�صË ‹9¸ąąsďŢ=ŕĂť>źŚyőęńńOyúô)ńńOsMëä´Ź+Wü�8rä(şşm™8qžž l[3[·n×®]`Ő*+ŚŚĐĽąW݆PŻ^=^Ľx——7III¸¸ääÉS$$$�d»] !%%™ÄÄ$�vďŢĂŢ˝ŽT®\9×ú’®~ýzDEEzíc d%K– 555Űô .ˇB… ŠzjggĎÔ©“iŐŞ%żţú+�E‹eţüĽ~ýúc=߆­­ EЎlٲ 6„… —pęÔ�"#Łhٲ% ÔĎ3ż-Z4ÇÁaëÖ­ÇĹĺ đánť Ć3k–9^^ŢŠúüŐW-=Ú„K—.«Ľ˙Řż˙��AAżcccËʕ˱µ]Ż(ăĚŠ)ÂěŮsyűö-�3gšăĺu=˝vřű|¬_n:äŞgęÔÉĽ~ťąů\EYO™2Ť+W|éÚµ ^^Ţ_ĄK—N\ĽčCçÎ BMMŤÎť;rč+]»v&((—/_PŻ^=Nś8Itô}�FŹĂŰ·ďr,Ë»wď±qă‡ŔÝożýƱc´oŻŹ˝ýVJ—.ÍčŃ&üď+űéÎťHZ´hNŇx !„B Ƨzőę*1đˇ‹AwE"»`K‹Ís\^ĹŠyńâ…Ęë×Ók‡ž^;†Şř¬|ůň�T¨PAĄe´hŃśV­ľ"44Hé‡iúŹüś±±±Š×iii¤¦¦*ĺýíŰ·”(Qâ/ßJďoÜŁwďŻ t[3űí·ßŻź={ö1đˇëŘÉ“§055áâEO|}/áďČąsąw y˙ţ=}úôA[ű+444hÖěK�Ąî&ąqttbűö-ś={Š+W®péŇĹť9­OGG›vítiÔ¨!ššŤQSSSZ_BB‚"đôé3Š+F‰%hذĹ‹'$$Diąycš5ű’cÇŽ‹ŁŁ“âóFŤQştivěŘŞ\Ą×çô�źŞű/"âf–:QŞT)444¸}űN¶ůşuë¶"ĂłgĎhÚ´‰"óřńcĄyš7×"44T)č˙”bhѢ9^^Ţxz^`Ô¨‘Ŕ‡;ŮQSSŁS§ÁÎť;ăě|@1˙ćÍöĚź?Ź=  ĆÓóáá*ŐĹôúŘĽą–R™†„„*Ąńó `ŚB!„`Śř÷zöěw•Ćpyřđa®‰'P©REž?AĄJ11Ĺńă<|řöíő¸x1ç'í¤˙đĚđ°µÝŔ™3gł¤MHH \ą˛y.ŕüyOV®\•ĺóśîđ)(Ůĺ%ż2ŹSRĽxîÍÄ_˝­Ďž=ŁOC:thO‡úL™2 ‹ą :śGŹgI_ĄJÜÜ\‰ŹŹăäÉÓx{ű’’ÂîÝ;U^gPP0]şĐ­[WôôtY»v5ŃŃ÷=z,)))YŇoŰfOÓ¦M8xđ0nnîDFFqäȡ|ď·ĚűO•ý©ˇˇ»űqěOďŢ˝8{öśŇ÷ćůóçJź%'§äk˙+¦\2żWµ.ćµ=ą}˙ţý{�<=/°hŃjÖ¬I‡íŮ»w?đá©Zęęę4jÔOO/Ĺ|Žś={î´k׎C‡&âŕŕµőş|×E5µ]¬RR”ďJMM‘Ć[!„B䋌#ţQ™6í;~űí7^˝z…••5A9¦÷ööá÷ß˙`Ţ< �ž?Aíڵٴi¦¦&4lŘŁGÝ>.ű5ĺË—§T©R~Č*ßuNť:µyôč±b*]ş •+W&55•ׯ¨QăÓX6Ő…wÔ­[—ÇŹU,ăŐ«W4jÔwď’ °¬^S˝zőOsѢԫW7ĎłyŃÖnĄôľM›ÖąŢýđWokÍš5hذ!ľľ—°˛˛¦oßţ-Z„ľ}űd»]zzşÔŞĄŽ©éxvďŢ——wľÂmܸ1ĄK—âřq.\‚‰ÉtuŰ*îȨrĺĘtďŢŤ… cggĎ©SgŹŞPĚKtô}’““ißľ˝ŇçíŰëç9ďůóžĚťkÁŽ»°±YCăĆŤ¸˙gŢĽyCť:u”ęsť:u(VL-_űOGG;SťhCRRÄäŻfÍš)ÝÔ°aŞT©’c]‚wŕččč(ŤÍS­Z54ĐŕÖ­Ű�<|ř»wď2t¨1%J” <<‚đđÔÔŠ2lŘîÝ»§઩©ˇŁŁC\\<{÷îgćL3VŻ^øqc>«.>xCJJ ::ĘÇ®n[iĽ…B!DľČť1âçňĺ+tęÔMĄ´IIIĚ›÷۶mˇFŤę=ꆟź?#F 㫯Zbm˝ŽČČ(�BCŻ‘––ĆŞU+ŮąÓFŤ2yň$ĄĺŮŰoaÇŽmÄĆĆáí}‘:uę°tébřá‡üńÇDEÝ凾çÍ›7”(Q‚)S”—±ż3ŁGŹÂÚz NN{)V¬ććf¨««Ó§Źa•S@@ŁFŤ$"â&±±±ŚcŞô”™ô®)ÚÚ­xň$–¸¸8ŞT©‚¶v+>|¤č”ŮđáC‰ŤŤĺÖ­ŰôěŮľ}ű0uęŚl—YŰ:bÄpFŤÁüů ‰‰‰ˇS§ŽT®\Yń¸ňĚŰu˙ţϨ©©1z´ ^^^4hĐ€ ć+-3!!/żü’ 4xđ &ËűĺË—RĽxq,-W“””Ä1¦$&&ńđáŁ,ů{ůň%Oź>ĹŘx0±±q”)S–ďż7W9řđúők\\1ľĎź˙Atô}úőëKăĆ_đîÝ»\çMďŇccc‹–V3¶nÝĚ ACHHHŔÁÁ‘+–QĽxq˘˘˘hÓ¦ ‹/`áÂ%¸ąą«Ľ˙´´šannĆ©S§ŃÔÔÄÂb.ÎÎ.$%%寷oß°qŁ-›7oˇlٲ,\ř#aaá_Íqg皎fÝşµěŘá@ٲe7o.wîÜáâEE:OO/&LĎĹ‹>бn|}/3~üXśť]éĘ”)ŁăNNś8…ŁŁĺË—ŁCE›_/_ľÄŐőóç˙@bb111ôěٶmŰđęŐ+iĽ…B!„ĘäÎńŻçë{™aĂF’––ĆŠ˙ĂĘĘRńĂ(ăر±q›ĎĄukm\]]:ÔU«¬˛,kęÔôîÝ 77WÖ¬YĹéÓgXşôÓŔąffćĽ{—ĚŢ˝Ž,Z´�;;{ĄALăââ6l$+V`ď^GöěŮÍ«WŻ05—m—ϵnÝzüýX·n-ööv\˝µk×ßżxńGG'–.]üqĚNś8ÉŢ˝{řţű99.wٲŚ1śăÇÝ06ĚĽyóąpÁ+ŰeƶÚŰoĹĹĺK—.âÔ)LMGłhŃĹŹóĚŰŬYł155áرŁLś8µkm”–éâr˛eËŕááNńâĹłĽź5Ëś‡±u«=nn®hj6fܸ Ův˝JMMeĚń4hĐ�w÷#XYYâč蔥kP^V®\…łó–-[ÂŃŁ‡©Zµ*öö[Už?5533sŠ+†­­5EŠÁÖvŰ·ďdîÜŮxx¸3eĘDţ÷żЧ-©ş˙¶oßIÍš59zô0‹/ŔĹĺ kÖXçšź+Wüđ÷ÄŃqŰ·o!&ć&Nś˘žd'..žáĂGQ±b%\\ö±e‹?˙ü€1cĆ+Ť#ăéyŠ+ŕëű© âĹ‹>T¨PAQWÓn&&chذ‡ŔÁaÇǧÍüěú¸lŮ <<N°jŐ ÜÜ\iذ۷X!„BäK>/’á}úë˘ţ¦Oj§b§@q RëÖş9=zXżĘ1Ł™>}ýú Čń.ńIÝşuđńń˘OCĹ]'Břúzłsç.śśöIađa\555Ą`ŐĚ™3čŐ«'ýű’B!„ř—«T©"ˇˇÁúŔs x¤|śR?Ni¦÷ţ¦ßźń5™^rgŚřsrÚ‡ľ~G Ä! ĚŞU+qrÚMëÖ:ÔŻ_ź~ýú0nÜÎťó”ÂB!„*“1c„B­[·ž9sfłqŁ-Ő«WçÉ“'8::±yó)!„Bˇ2é¦$„B!„BtSB!„B!„řO’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚB!„B!D!’`ŚřWkٲŃŃ‘ŮNÝ d›6­ÇÉi7�uëÖ!::’&M4˙’í)]ş4˙×Ţ}GEu´a�–Ą#{Ź%š{ďXP“X©6»bE±b76EcÁ.` @P,ŠHł€(č’5*ĹJ)űýˇlXvE‘óüÎągďÎÎť;wî\<ű:3ëďď9sfńć–łqăĚpőj�ŞU«VˇĘ"""""˘ŻŹ2›€ľÓ§ĎÂźţ)•öřń“2)űúő`hii•ËudeeÁÇÇwîÜĺM-g11÷áë뇴´´ U}}ڎŻB||<D˘ř/RöÉ“®ĺvyyy°µµă ý„‡G <<˘Â•EDDDDD_NS˘Żž¦¦,°BPP�îߏ‚—— •ÇĚĚľŤ˝‡€�_©Ď7o¶…Ă™r…B!BB®cĆ ©ôŽ;@$ŠEÓ¦MeŽqpŘgçCRijjj¸s'ff¦�€  �Śg&ůĽRĄJذaÂĂC†}űvŁiÓď��ÇĂýűQĐĐĐä÷ö>‡Ë—}$ďŐŐŐsC‡‘Ű>őë×ĂÖ­[vŃŃ·áätÍš5“şţÍ›m1sćtDD„âîÝHěÚµCj Ž"y Sôţýőŕĺĺ{÷îŔĎď&N%Ąż˙t`Ö¬pq9Џ¸´hńŁd:Ů€ýáćvQQ·±cÇ6hkkcíÚ5 »đđLź>MRޱ±""nJŢ׫WűöíFTÔ-DEÝÂÖ­[Pąň7’Ď»ví‚Ó§]q˙~BC1gÎ,I˝ —%`a1—sçÎťÁ A?K]ç‡űnŽť;·#*ę6BB®cĘ”I ÷S"""""b0†č“©©©aôčQ:u jŐŞůŮĺ­^˝ñví: f€€€+صk;ęÖ­ �čׯ/V®\Ž-[¶ˇOźţŘ·ď vîü Ô/¶ÜÜÜ\xzzÂŔ@_*ÝĐP·oßÁŁGŹdŽquuGŹÝQŁFuIÚ€zPQQÁŮłçdň 8°-[¶€…ĹLŚ3™™™8uęŞU«†ŔŔ+ …čÚµ � ZµjhҤ 4¨Ź:uęH‚ĘĘĘ ş*7 tř°j×® ‹™1b4rr˛±{÷N©|ôGýúő1dČpŤ@•*:pt< Q$Oa%Ó«WOěŮł žžg1|¸!ěě¶`îÜ97ĎRŞś‰ÇĂÓó  Šřř?$é&&F°˛ZáĂ ĐĽysxzş#!!ţ‚U«Ö`Á+tęÔQnÝvBUUĆ04FŤÂÚz � J•*pt<€7BĐż˙Ď3g&LŹáÇĘ-ËĘj.,,¦ÁŢ~ MpćĚYlßľM&2kÖtx{_B˙ţ±gĎ>,]ş:´˙¬~JDDDDD§)Q…łwŻz÷Ö�›Ź…1ţúëŻbŹńńą(őţíŰ·h×®�`ůňUřć›o$eěÚµÓ§OC۶­ńěŮ34hĐ�Ż_ż†ż�233qâÄIś?oßľ-±®§NąaęÔ)hٲ%îÝ» <vv[äćżzőRRR0lŘP8::�ôő‡ĂÇÇoŢĽ‘ÉߥKg´iÓşşý$ő_°`1‚ Ż? ŽŽÎ GďŢ˝xşş=qóf(„B!tu{âÔ)7ô飋ĐĐ0ąĺçććÂĐĐ99ŮČČČ�89ĆѣΨRĄ ^˝z�x˙ţ=V®\ŤÜÜ\�ŔÂ…KpíZ şví‚7BÎSXIÇĚś9NN‡qčЇ”E˘xÔ®] óćÍĹożí@^^�ŔÝݧNąÉ”ďârOž|X;ČËëĆŚ-)ëÂoXYÍC›6­ĺN)jĐ Îť;/™ţff6YYď�5kÖ€şş:.^ôĆłgĎđěŮ3ôíŰ_nźŃÔÔŔ¤I°nÝxy}¸ĹĆơ^˝z={&|}ý$yOźöÄůó��‡©éhtďŢ‘‘·>«ź1DEjĐ ľ$|*˘§×nnîĹWxßü/÷� ‹Ńľ};téŇMš4FłfM! ˇ¦¦�8ţĚÍÇ"0ĐAAWqăĆMřřř*Tßřř?pëÖ-ęăŢ˝{ĐÓëUUś;w^nţÜÜ\ś>í áptt†ŽŽúôéŤI“¦ĘÍßşu+¨««ĂßßG*][[ 4��řů]†©é�F’„„Ü„P(DŻ^‚1şşşpq9^ä5Ĺb 4íÚµAÆ ńăŹÍ@Ň>�đŕA¬T›>ţÉÉ)řá‡ď%EňVŇ1]»vA×®]0jÔ©k€oľů©©©� łxsľ/%űŮŮŮxóćµÔçYYYPUU•{¬ĂnX[/F˙ţz źßeDEE�âââŇ%ś8ń;®_ĆÍ›ˇđöö‘iҤ 444&•SÓŃPRR’•ž?.•çĺË—ĐŇŇüě~JDDDDD ĆéĺËż‘‘MMMIZţȆâ"E/ŕ»oßnüđĂ÷8yŇžŤŤ»ű)©/Ľ EŹÝŃŁG7XXLŢE 0bÄ(<}úg‰çvuu‡•Ő<ŘŘl‚ˇˇ>Ľ˝/ű+:®®î>}ľű® şuëŠÄÄ$ß(2rr LLFʤ§ĄĄK‚1+V,C­ZµĐŁGw=ú;�ŔÔt j×®Ť&MĂĎĎ_nŮU«V…‡‡’““pţüE\ANNśśJĺSQQ‘9VEEąÔyd?/ţ¬¬,lÝúĽ˝/ÉäűŇ#Bťqé’ôôúˇK—.8uj ť±ył=Äb1fÎśÖ­[ˇwo]ô﯇E‹`Îśą2m-ĘčŮřĽ~JDDDDD׌ˇ %##3fĚĆóçĎ‘––[Ű͸y3ô“Ë«RĄ úőë‹ĺËWb׮ݸpÁÉÉ)RÁžZµj˘qăĆ ş [ŰÍ<x””<xBç8wî´´´Đłgôî­ W×âGń$$$ <<ý‚ÁÁÝý4Äb±ÜĽ÷îĹ JdeeáéÓ?%[óć?HFS<yň>ÄĆPUUETT4˘˘˘!*aäH<zô¨Č€V×®ťQ§Nm›O„“ÓařűČ 4oŢęęę’÷Mš4†ŽŽîßPŞ<Ą-÷îÝ(Ô«WWęÚ544QĄJ©5eM(˘}űöHJJĆŃŁżcÎśą°±Ů„ Ć�´´´Đ®][DEEĂÁaĆŽ˙�ÉĄ‚D"233eÖ¦éÔ©#<x ąŹ%ůÜ~JDDDDDGĆP…síÚuôęŐ·TÇ4iŇDjZ đaęĘ›7o’’cc#$&&ASS ZI?FŹSÓѰ¶^Ž„„ôęŐUŞTA\ÜC™óäŹĆh×®-^ĽHÄ›7ožžooo¬Zµ/^Ľ™Ž"Ź««;fÎśŽúőëaÉ’ĄEć»y3·oßÁţý{±ył=RSSadd33SüüóÉ:0~~ţ4i"ŻHľÜ]Ăĉăáâr˘Čňăă˙€P(„™ŮXřűűŁQŁFX¶ĚZ&_NN6~űÍ{ ĄĄ…ĺË—âîÝ(„……—*OiËÝ˝{؇ÄÄ$˘^˝zX˝z%BBB°dɲ/Ö555áě|çÎ]€łóhkW°aC�hŐŞ%Ž;ڵk×ăúő`4nÜ;v„‡‡§LY™pv>këĹČČČÄÇŃ«WOšŽ†ĄĄ•Âu*M?%"""""cľ¸˝{dŇ,XOĎł7n"ěěláééŽÇŹź`Ë–­’ź†ţđ…/”””°ző Ô®]Ož<ĹŠ«xE¦ĚׯßŔŮůVŻ^‰5jŔÁa€ ůÂŢ~[‘Ł\ şxń"ěěl^쓼Ľ<Lž< K–,Ķm[PąreÄÄ܇©©9$ůüü.cĆ IŇŻŔŔ`8._ö/˛üŘŘ8XZÎĂ’%‹1wîlDEEĂÎn‹ĚŻ)………#44η ˘˘‚  kX˝úW©QŠä)¬¤c‚‚®aúôY°´ś KËŮHOO‡»»~űmÇíOoßľĹرă°l™5\]?¬·síZ0ÖŻßŕClţüE>}–.]‚ÔÔ×8sć,¶nýMnyööŰ––†Ĺ‹˘f͉â1oŢ|\şäŁpťJÓO‰¨b(.(đ>_©Ŕkţ&ü¸)ÜT¨�ĐéСsHjęk¶6}µ:vě€ăÇŹAW·żŞkŰĽŮššš5Ëňłň”Ĺ1DDDDDD_’ŽNeDF†u Ŕ{�9·ÜŹ[^M\ŕ5˙ć îŁĐ>�ŽŚ!ú,ZZZhŢüX[/Ćůóľş@ •=.ŕKôú÷×ĂŃŁÎHOOÇúő6l""""""*§)ˇü¦)qd Q9b0†¨1CDDDDDDDTŽŚ!"""""""*G Ć•#cĘ1DDDDDDDDĺÁú׫QŁ:lm7"44÷ďGÁŰűLMÇH>o۶ nܸ]Ý^_¬đ÷÷Áś9łţńö8xpD˘X™ÍĹĺ(� ~ýz‰bńý÷Í>ůeQ�`Ü8ł ×§*Ňýü\'ŽG@€/˙PT@ŞŞŞŘ¸q=nÝ ĂńăÇţŃşŚg†«WP­Z5Ţ"""˘r Ě& ű—™ăÇGzz:V­úIIIčŇĄ3V®\†J•´°˙AĽx‘__?<~üä‹Ő#++ >>~¸sçî'—ńÝwMŕăszz?!!!áłęt ›7o‘JKOĎřäňvě؆śś\Ěźżđżç¦¦c0{ö ôčŃ»BßO˘’Ś5C‡ĆěŮsńäÉ“´.11÷áë뇴´´ ÷Ě}Ťڎµ^˝z˘aĂoѱcWĽyó�y ŮŮŮčŮłöď?ÄÄD¬Zµć‹Ö#//¶¶v¦]Ţľ}űě _Éý¤ŻSíÚµ‡  «˙x]ÂĂ#Á›BDDDTN8M‰ţŐrrr ¤¤„ŞU«HĄ:ä„I“¦?ĄfذˇđőőĆŃ8yŇÝ»wH‹Úµk�6o¶ĹćͶ;wÂÂn *ęěěl ¦¦Vd] NąÉ?gż~}áćv11wáăs˝ző”{¬Ápřř\�řűűŔÝý�@ ŔÂb*/#&ć.Îť;A~.óvěÜą~˙ýîŢŤDDÄMŘÚn„¶¶6� ŔC† †ľţ0D±čÝ[Wr\÷îÝqţüYÜżź‹RSÁŚŤŤqSę<]»vH MMMIšŞŞ*6mÚ{÷îŕćÍëX´h„BˇÜzÚŘlŔşukP«V-D±XĽxá'µ“Ă8;’JSSSĂť;033•ąź�Đ´éňş ;�� �IDATwpr:„¨¨[ÂęŐ+Qąň7�€áÇáţý(hhhHň{{źĂĺË>’÷ęęꉹ‹ˇC‡Č­Sýúő°uë„…Ý@tôm89Błf÷YEú¤˛˛2¬­!44ŃŃ·±aĂZ¨¨¨{ď‚0eĘ$ěŘńîŢŤ„‡‡ęŐ«‹qăĚxŃŃ·±u먫«+Ô_ţn;sěÜąQQ·rS¦LR¸Ď€P(Äüůsr÷îÝťť ĚÍÇJMą6m ®\ńGTÔm¸ąťDßľ}JußŐŐŐĄî»¶¶66n\ŹđđDEÝĆáĂŽřńÇćĄę×AA5k\\Ž"..-Zü(„‰b1}ú4´oß"Q,ll6”ŘĆŤ3ĂíŰá2‡vÄÎťŰzň˙6Ŕ×ב‘a2×UÔ3_Ü3˙ ­^˝ˇˇÁxđ §N—ęĂDDDDÄ` U`jjj=z¦Nť‚Zµj›78řnßľOOw,X`…víÚBI©řnÝ·oŘŰŰÁÍÍúúF8yŇëׯ•É÷Ë/?ü˘m„3făçźÂäÉKu-VV–ذaôô~BTT4vîüMę {ľ‹/ÁÔÔ�0j”)&Ožúńřą°°{űm044Á™3g±}ű6 8 ĚÚ»aÆ8vě0âââ0räĚś9]»vĆ’%FF#qóf(‚o [·ž¸q#Dr¬Ąĺllßľ#FŚFBBvíÚ.hQ„…ĹT<ţFF#°vízŚ=K—.‘›wĂěر ąąąčÖ­'víÚýIíäęęŽ=şŁFŤę’´ô ˘˘‚łgĎÉäŻ^˝:Nśř/_¦ŔÄdćĚ™‡Îť;áŔ}�€ŔŔ+ …čÚµ � ZµjhҤ 4¨Ź:uęHľ°+++Ë! qř°j×® ‹™1b4rr˛±{÷ÎRőÉU«VŔÄÄkÖ¬…±ńHĽ|ů¦Nť\â=022ÄáĂGЧOüůç39âŚöíŰbÔ¨19r şwď†É“')Ô_ňÍš5ŢŢ—Đż˙@ěŮłK—.A‡í.cѢů;Ök×®±ńH$&&aćĚ2Ď—…ĹT¬_żFđőőĂ{‹\*˙ľ×¬YŁŔ}ď/ąď�ěE›6­aii…ŃŁÇ"99'NüŽşuë–Ş_Oś8žžg0hĐPÄÇ˙!őYRRşuë‰Ó§=đřńctëÖ6Ř”ŘÎś9 555ôďßORVŤŐŃ˝{7¸şş•ęY:u2ÖŻßCC9ýAö™/éČ?·žž¦Oź=˝źđđá#ěŮł«Čŕ*ѧ)Q…łwŻäbÍÍÇÂŔŔýő—ÜĽ9993Ć ăĆ™ÁČČ3gNGbbśśĂŃŃ ąąą2ÇL›6gϞþ}��±±q¨QŁşd”Eľ‡aűö_‚ž?Ž3gĽĐ˝{7ěŢ˝Wák±·˙ ·nÝ�lÜh áhٲ…Ět€¬¬,¤¤¤��’“Sšúšš4iÖ­Ű�/Żs’şÖ«WłgĎ„ŻŻ_‘ç2d0† ,•fjjŽ›7Ceň&$$ wo=$&&JŇĽĽÎá§ź�^˝z…””äää"99EęXkëe’z¬X± ÁÁWŃşu+ąç)Ęť;wńŰo;$×W©R%¬Zµ[·nCFF¦TŢ´´4$'§ %%ER—Oi§«WŻ!%%Æ …ŁŁ3�@_8|||%ÓÝ ;v ?~‚Ĺ‹—"//�0ţB\Ľx-Z´@LL ÂÂÂŃ»w/^®nOÜĽ ˇP]Ýž8uĘ }úč"44Lnůąąą044ANN¶äšťśăčQgT©RŻ^˝*±OVŞT #Gš`ůňU¸pÁ[Ň­[·FŁFß{ �8rä(Ž?†É“§"11 ‰‰I¸|ů2Ú´i­PÉwú´'Îźż��8|řLMGŁ{÷Ub03‹_]'ą–bŃŞUK4jÔ°Ŕ}źKK+řű��D˘x´iÓffcqőęµbďűˇCN��CC}É}ďÖ­+:wî$µnÓ˘EÖ¸pÁ ăÇ›ĂĆf“ÂýÚÝݧNąÉý,//ÉÉ)R[ľ’úŻŻôőő%í2|ř0$''ăÚµëĄz¶lŮŠ+W‚äÖOŢ3ŻČ3đí· ‡ČČ[k ¦¦*÷ď01DHőĄ¦ÁÔ«Wzzýŕćć^ä1ďßżÇÁŽ8xĐ 4ŔđáĂ`i9Ť5Äňĺ+eň·jŐ^^çĄŇ ŽöČ÷üůs©÷/_ľDË–-Ju=ËxůňĺÇ/‘ŠŤiҤ 444&•SÓŃPRR’|)*LŢľ˙ű_Ń‹«¨(cҤ hŃâG|űí·hٲ’’’J¬cÁ…†?ä×ŇŇ*UÝşuGę}DD$ÔŐŐѰaCÜż˙ŕ‹´Snn.Nźö„Áp8::CGG}úô–Lm“×gÚ¶mČČżL��đí· ?żË’_ńęŐ«'BBnB(˘WŻÁ]]]¸¸/ň:Äb1 „víÚ aÆ’©1§¤×'7nDDHúBBBJ Ć Šdgg�^ż~S XřŞŞŞĄę/ňꪥĄ©Pů÷4?@”/88DŚÉĎsŕŔ^Ľ}űV’G[[Ź=’{ťßw}:ä„jŐŞAW·&L,ąĎIIÉRýZ,#<<­[·*UżţóĎ??éo`IýŔŐŐîŽNe¤¦ľ†Áp¸»{ //Oˇg!ßÓ§OKU/Ežgç#Řż.]ş€ëׯăęŐëb=""""cJđňĺ_ČČČ X”ćWFž<y‡Ýxúô ¶l±ĂÚµëeň())!77G*-'§âýĎmţťOQš|»té GÇđ÷@ppNźöDűöíabbX.×T8I P*—vruuÇôéÓđÝwMĐ­[W$&&!8řF‘ů}}ý°~ýF™ôüQ[~~—±bĹ2ÔŞU =ztÇŃŁżřđëOµk×F“&Ťáçç/·ěŞU«ÂĂĂ ÉÉI8ţ"® ''NNKÝ…ŰăsúŃ—ę/%•!*É}. ?·� Żo„ÔÔT©´ěěśbďűŚhÖ¬zöěŽçĎ_H‚±Ĺµ•X,ţ"ĎjiűÁőëÁHJJÂŕÁqóćMüřăŹ5kîą×Ą}BCĂĐ»·úöí®];ĂÎÎ"Q<ĚĚĆ#''‡˙Ŕ1CUFFfĚ [Ű ĐÖÖĆ®]{Šťň˛l™5úôéŤA†JŤ~¨T©rrrä~xôH„víÚIM!čÜąÓ?~í…żě‰D"dff˘S§ŽřăŹ˙IŇ;uę9*¦´„baii%I+Ľjq_D‹ľ—éĐÖÖ†şş:Ţ˝{�hŘPv„Fűöí¤ŢwěŘ™™™EŽä)«vJHH@xx úÝ»w»űé"Ż3&ć>ú÷×Ăź>“äŃŃ©Ś6mÚŕĹ‹ŁJž<yЇbÄc¨ŞŞ"**ZX9ŇŹ=*2°ŘµkgÔ©Sżü2™™¦§ôďŻWŞö‰â‘ťťŤîÝ»KµC÷îÝĘ´ź*Ň_>·Ś˙ý/999hßľ-?~,÷9ŤŹ˙ďŢ˝C˝ző}Ż@[v)vÔGBBÂÂÂńóĎŃ«WO©űŤš5k AR÷ŞcÇŽ¸víz©úő§P¤äĺĺáôiO ü ŞU«ŠĐĐ0I•ĺߌÂĎ‚"Ď@Ó¦Mńöíś=ë…łg˝přđQ\Ľx-[¶ŕĎÄ1Cݵk×Ń«W_…ňşąącěŘ1pr:cÇ\žžŽ.]:ĂÂb*Žs‘»VÁˇCN°··C\\®_żďżosó±˙řu''§ //={ö@vv6ž={gç#°¶^ŚŚŚL<|ř˝ző„©éh©/±Ą•?ĄŁ]»¶xń"ńńń04ÔÇ€ýŹ^˝zÁÄÄŻ_˙=Ú 11 ={ö@Ó¦ßáŮłç ť'2ňňňň°qăz<č&McÚ4Ůi@Í›˙�+«ą¸pá"š5k†Ĺ‹ÂĹĺ„äËhaIII¨Zµ*Úµk‹'OžâĺË—źÜN®®î9s:ęׯ‡%K–™ď÷ß]`ffŠÍ›7áČ‘ŁPVV†•Ő\Ô®] •äóóóǤIxEňĹ7(č&N—E–˙„B!ĚĚĆÂßߍ5²eÖĄşŻééé8q⬭!5őD˘x 2M›~‡÷ďß—Y?U¤ż|noŢĽ››;¬­— ## 0 ?:uę´´´ŹA‘ 8::cÝş5PQQA\\:vě•+—aůňUđđđ,öľĎž=uëÖĹ‚‹$顡a„Ăvlܸ o޼Ÿqf¨WŻ.Ž9ZŞ~ýim«X?psű0Ş«Nť:’E¬?´If™ýÍ(üĚ+ň ¬]»***ذÁ™™™7Ιxňä)˙a#"""*„ż¦D˙jqqajjŽĽ<16o¶ĹˇCű1hĐϰ·ß[[;ąÇxyťĂĘ•«1~Ľ9ĽĽ<0~Ľ96l°ůÇŻĺíŰ·X·n#ćĎź‹ß? �°·ß†ańâ…8sć4ŚŚ 1oŢ|\şäóÉçyýú śťŹ`őę•07‹cÇ\päČ1lÚd7·Sh×®-öíŰ_(€ĺ´´4xyyâçź*üeÎĘj:th7·1Â7ÚĘäŰąs7jŐŞ…Ó§]±rĺ2ś8q›6m.˛ÜŔŔ+8wî<Ž=Ś… çV;]ĽxŤ5Ä­[·ńôiŃk|$%%cäČ1¨\ů=ęŚĂ‡ť––só RŁŻüü.Łrĺo$Ußoľů—/űY~ll,-çÁÜ|,Îś9Ť)S&ÁÎnK©ďíúőáârkÖ¬ÂéÓ®¨V­Z©śV„"ýĄ,ĘXłfĽĽÎaăĆuđđpCăĆŤ°żô´­­[Ăţý±`Á<xyyÂÂb ~ýu]±üűţí·ß"""ţůL’ž——‡É“§!::»vmÇÉ“.¨[·FŹ+éŠöëOˇh?xňä)nßľFŤÂŰű’Ôgeő7Łđ3ŻČ3`ii…'OžbďŢÝđđpCłfM1a¤"`'"""ú/(.(đ>_©Ŕkţ&ü¸)ÜT¨�ĐéСsHjęk¶6U***’…JkX?~ mŰţý?ďDôţă$@(J»ćĚ™…ź~€aĂ>o=#uuuÜĽyË—ŻÂąsçŮŘDDDD$ˇŁS‘‘aÝ�¤Čđ@ÎÇ-÷ă–W`xÍźë]p…öpd ýęĂĎď€ ęŁ[·®Xľ|)BBn2CTAlܸGŽ8ˇC‡öřöŰo1dČ L0>>~źUn›6­±bĹRĽz•úY#Ě>׌ˇ˙/Żó¨[·.-Z€úőë!-- W`ccÇĆ!Ş ěí·aţüyŘľ}+jÔ¨/^ŔŮůö|r™uęÔÁÉ“.HHH€Ąĺ<©ŃqDDDDDĺ‰Ó”ŔiJDDDDDDDD_%cĘ1DDDDDDDDĺÁ"""""""˘rÄ` Q9b0†¨1CDDDDDDDTŽڎ˝5ŞĂÖv#BCq˙~Ľ˝ĎÁÔtL…¨ŰćͶppŘńŐ¶}‹?B$ŠEíÚµ�;vlĂ‘#Nĺ^ŹúőëA$ŠĹ÷ß7ű¬r&L‡ŕŕ Üş†Ę•ż©m<t踻źBTÔmDD„bË–M’öÎ7uędD±6mŠÜăE˘X…B©ô_~ů®®'u aa7ŕŕ°Í›˙ •§uëV‰b$s|>‡‰b1}ú4IZTÔmD±2ŰŇĄKŠĽNXZÎF@€/<Ƶk°¶^ MMŤ2}žŚŤŤqłČ÷DDDDDĺA™M@˙fŞŞŞ8~üw¤§§cŐŞ_‘””„.]:cĺĘe¨TI ű÷d#•ŁëסĄĄőĹĎłcÇ6äääbţü…eVfłfͰrĺr¬]»xýúÍ?ŢžóçĎĂôéÓpěŘďppŘĘ•+cҤń8ţ, ŚńäÉ©üsçÎÁĄKľHHH(¶ÜŮłgÂŇr6~˙Ý{÷†FŽ4›ŰIL™béŕDŐŞUŃ«WO\ą$•®ŁSýűë!77Wć{ŕí}I*íĺË—EÖÉĆf=z÷ÖĹÖ­ż!.î!7n ++K|˙}3Lš4•}Uڎµ^˝z˘aĂoѱcWĽyóáËsdä-dggŁgĎ Ć”ł“']˙µuŻS§�ŔĹĺ8˛łł˙ńú´mŰ3gNÇÂ…‹áéyV’~ń˘7\]OŔÖvĆŽ'IúôOhh¨ĂĆf=ĆŽ±X,·ÜV­ZbîÜ9X´h‰TąçĎ_€˝ýflٲ ýú ”j«WŻaÄ™`ĚđáĂđôéźrĎóâE"bbî+t­ZZZ00Ї…ĹL\ľě/yŽ?~ŚuëÖ zőęHIIáFDDDD_ NS˘µśś())ˇjŐ*Ré‡9IýozĄJ•°aĂ:„‡‡ 22 űöíFÓ¦ßI3b„1.\đBLĚ]\ąâŹ™3§K>Ëźchh�__oDF†�,,¦"0đ2îÝ»3gNcŕŔR媩©aýú_†¨¨[°łłššZ‘פ©© ¬€ű÷Łŕĺĺ!U¦±±‚‚Đ·o^FLĚ]¸şž@۶mJ•GMM «WŻ@hh0<Ć©SÇѬYńÓ|LLŚqů˛îߏ‚‹ËQÔ¬YSęó‚ÓHŠkłiÓ¦ŕĘDE݆›ŰIôíŰGŞś¦M›ÂÉ颢n!4466$Ó†|1dČ`čëH‹Ţ˝uĄŽ … ąŽ3,¤Ň;vě�‘(M›6•஀�_89�<xŤ€�_ÉőlÝş7®GtômLś8^¦~7aggťĘR턟~Ŕ@?ÜľŽiÓ¦ ~ýzpt<€»w#áďď>}zŮÖĆĆF‰‰‘ �Ŕ»wď°eËV¨©©B[[[’ž——‹­[·Łk×.5jD‘ĺŽa‚ű÷ďË”+‹acc‹ZµjAW·—Ôgľľ~0@:::RéFF†đöľeĺĎ‹ë‹Ĺy‹Ĺ¨^˝šTzXX8~ůe¨T ¦¤çI‘gťÁ˘BÔÔÔ0zô(Lť:µjŐ,6opđ Üľ}žžîX°Ŕ íÚµ…’’t·8p`/Z¶l ‹™3f,233qęÔ T«öáËźˇˇÖ®]—ă6Ě�ööŰ0{öL :Dެ©S'cýúŤ044�XYÍ……Ĺ4ŘŰo±ńH\¸p»vmGďŢ™íׯ/�`üř‰X±b$wmŹ|«WŻ„Áp¬]»Æ ŕ víÚŽşuëJňTŻ^ Ó¦MÁ´iÓŃŻß�Ü˝…ŁGťQ§N…óXYÍ…žž¦Oź=˝źđđá#ěŮł«ČµA† ›ő8yň ŚáęęŽ5kV•x?eŰĚS±~ýFÁ××ě•�jÔ¨Ž“'ÇŰ·o1fŚćÎťŹćÍŔű>�FâćÍPß@·n=qăFÔůrssáéé }©tCC}Üľ}Ź=’©Ł‘ŃH,^Ľ�ĐłgŤ”|öóĎ‘šš “Qđđ8#Sż™3ç iÓ¦pvv”j;míoĐľ};ŹÂĚ™s0wîěŢ˝ÎÎG «Ű>>~رc444ä¶[«V-qă†üµL®\ ‚‰ÉhĽ}ű¶ŔsŁŽS§\qűöX[/.ňŮ)®ÜääD"´jŐR*ýÚµ`Ľ{÷úúĂ%iÍš5CëÖ­pö¬—Ě3WZ™pv>‚őë×bÓ¦ŤčÓ§7ÔŐŐĺć-îyRäY'""""b0†HŽ˝{°aĂZX[/‚«ëIT­ZµČĽ9993Ć »víF˙ţzpw?…k×®`ęÔ)’/Ć]ştF›6­1iŇTDDD"66 ,Fvö{čë�xxx˘oßţ8vĚ"Q<ΞőBTT4:uę(uľ-[¶âĘ• $$$@SS“&MŔ¦Mvđň:‡b±oßĚš5Ož<•s˙ţ¬X±QQŃ8sĆ gÎxˇ{÷nE^Óňĺ« Żo ??<z$®]»!жmk©€ŐŻż®C\ÜC$&&aýúŤHIIÁčŃ#Îóí· ‡ČČ[xöěV­ZáĂ ä®˙�“&M„§çěß±±qđđđĉ'KĽź˛m6‹YĂ××"Q<öí;�_™Ť�ŚkŠôô XY-@tô=ܸ‚3fĂŃŃBˇŻ^˝BJJ ’“?lň¦ť:冦MżCË–‚ ***<x0\]ÝĺÖńŐ«WHNNţHĆ«WŻ$ź=z$‚ťÝ<x‹ÔÔT™úÝĽ ‹hŃâG©‘.jjŞŘąs^ľ|) ŠDń şŠ×ŻßŕĐ!GTŞT Ť7–[§Ę•+#55UáçF(TB^^–.] üúëjąůtttŠ-75őµÔ(�ČÎ~/Żs011’¤"**qqĺ–łnÝ™|[´ř±ČónŘ`KËy¨[·.Ř‹°°¬[·UŞHŹz+îyRäY'""""޸f U( Ô—švRŻ^]čéő››{‘ÇĽ˙:âŕAG4hĐ�ÇĄĺl4jÔË—ŻDëÖ­ ®®©ă´µµŃ AÉűÚµkcÔ¨‘hÖ¬5jćÍ@|üRÇ<}úwĄI“&ĐĐĐ@hhT??©÷…SMJJ’yPX,FűöíĐĄKg4iŇÍš5…P(”šŠ‘••…‡IŤ~ř^á<ÎÎG°˙\ştׯ_ÇŐ«×tµČz}˙ý÷puu“J+ĽĐ«<ňÚěŔ˝RŁ:´µµ%#VZ¶lČČH© Đ‹/ŕíýBá~˙nÝşCC}Ü»wzzý ŞŞ‚sçΗşO¬QőKNNÁ˙ţ—€V­ZÂß?��đöí[dddč§ŮR‹ge˝—mäyýúµĚ´ 3gNăÇ›KŢOž< WŻ^“Ę÷{öěĂś9ł0hĐĎr‚-©2ĺJk*#5őµÜ�—©é´hѱ±±Đ׎ݻ÷YŽĽ| ?O…]Ľx /^BĺĘß`ŕŔ3g:tč�#ŁČĘĘ*ńyRôY'""""b0†¨€—/˙BFF455%i…1¦8Ož<Ăn<}ú[¶ŘaíÚő’/Ë&&#eň§ĄĄ�¦Nť‚ąsgăäIWřűűăŹ?ţ‡Yłf{.@đEÚ`ßľÝřá‡ďqň¤+<<<w÷SRy„BˇĚů ŻŰQRžĐĐ0ôî­‡ľ}ű k×ΰłłH3łńČÉÉ)ęŞË¤ ôőŤdFgdgç”i»şşşĂĘjll6ÁĐPŢŢ—––öŮĺWż˘ÍýŃŃ÷Đ˝{W©´9sćA]] 5kÖÄáĂŽ’ţ+/2hĐ/Xąr¶ný­ÄróŐ¨Qß}÷˘ŁďÉ|Ťb1|řPU†ŽNexyť+˛ţĄYŔ·°×ŻßŔÍÍWŻ^Cppşté,t*JIĎ:QEŔiJTˇddd`ĆŚŮxţü9ŇŇŇ`k»7o†™Ů2k\ştAfÍŠJ•*!''999¸w/UŞč ++ Oźţ)Ůš7˙yyy��cc>|ëÖm€‡ÇÜľ}GfqÚÂD"233e¦2 2-Z´ř¤ëŻRĄ úőë‹ĺËWb׮ݸpÁÉÉ)RÁ©ü JëÖ­¤/m۶ÁýűÎÓ´iShh¨ăěY/,_ľ cÇŽCçΝвĄüşÇĆƢGééUĹM·’'>ţĽ{÷őęŐ“şőęŐ˛˛P,hßľ˝Ôú+µk×ĆčŃ#ˇŞŞŞpĐăÜą ĐŇŇBĎž=Đ»·n‘S”>%HR¸~Ő«WGŁF ?9ř Ź»űi´hц†Ż}óřńcÄĹ=D›6­‘žžŽ¸¸8ąÇfggcéŇĺ¨QŁ:ĚĚLĄ>suuĂŹ?ţáRé�K—Z#11±ČŔ‡««~úi�~úi |}/ËAó) 菻Rë"€¶v%�@ff¦Bĺ(ň¬UCεk×Ń«W_…ňşąącěŘ1pr:cÇ\žžŽ.]:ĂÂb*ŽsAnn.nŢ ĹíŰw°˙^lŢlŹÔÔTÂĚĚ?˙<oŢĽHŹ~ýúÂĎĎééi?ŢMš4.öËuţ˘ŁÖÖ‹‘‘‘‰GŹAW·-Z� ‹™‰)ýµżyó)))066Bbb45µ°pˇ•Lđáýű÷X±b)¶mŰÔÔ×°°mmmś8qJá<k×®†ŠŠ 6l°Aff&ĆŤ3GFF¦Ôz7:ä]»vŕÁXřů]FË–-eÉ-IFFť±nݨ¨¨ ..;vÄʕ˰|ů*xxxÂĹĺ8ĚÍÍ`oo‡ˇĄĄ…E‹@IIIR÷ÄÄ$ôěŮM›~‡gĎžK¦<µk \^�� „IDAT×/^$âÍ›7HOO‡··7V­Z/^ČL'űTëwŕ€#´´4±xń<xđ�WĘě9¸sç.öěهM›lжm[\˝z �ýúőĹČ‘&řő×uHO/z´Gdä-;ć‚qăĚd‚I;w:ŔÎÎm۶Áիסˇˇ‘#MĐ©SGL™bQäO{{zž…µőb›ŹĹĉSŠ­íÚµdÖyő*Ďź?—É{őę5ĽxńGŹ:ĂÁaž>}ЦM›bÎśYŽľ‡ČČ[ µ™"ĎúŰ·oQ©R%´jŐ±±q2ď+ÂĎš1DZ\ÜCššcŢĽąŘĽŮjjjxüř1ěí·ÁÉé0� //“'OĂ’% ±mŰT®\11÷ajj.Ybٲ°±Ů€cÇśńúők?~%žßŢ~ŇŇҰxńBÔ¨Q"‘––VźüĄ<77ăĆM„ťť-<=ÝńřńlٲUć§y322°yóVŘÚn@­Zµsó HLLT8ŹĄĄ–-łĆŢ˝»ńÍ7ÚŽľ‡ &᯿ţ’[·‹/ańâĄ5k:,-g#2ňV¬X…ăÇŹ•ę·ný Ż_żĆ‚k}ţü9~ýu<<<�IIÉ5ĘË—/ĹńăÇ••??ŘÚn’ µmŰ^^žX¶l<<ÎŔŮůVŻ^‰5jŔÁáĂZ&§NąÁČČööŰĘl QÁúť8q ďßż‡ż�6l°)rńăOeoż qq1~Ľ9ŚŤ ‘——‡{÷b`a1S˛6Mq6o¶Ç€z2#NvěŘ‘('އ‰‰ ŢżĎBXX8FŚ]l�255>>~čÔ©#®_.öÜłfÍ™ęwę”–.].“7++ cĆaÁ+,Y˛:::HII·÷%lßľCáQ-Š<ëWŻ^CDD$ÜÜNÂÜ|‚Ěű°°pţa%"""˘/N @ş Ŕűü}ĄŻů›đă¦üqS @§C‡Î!e5śťčżÎŘŘË–-AÇŽ]?+ĎAÇŽpüř1čęö“ TÉŁŁS‘‘aÝ�¤Čđ@ÎÇ-÷ă–W`xÍ˙ŕ‚ű(´€#cč+¤ĄĄ…ćÍ€µőbś?"""""ŞP¸€/}uú÷×ĂŃŁÎHOOÇúő6l"""""ŞP8M‰ĺ7M‰#cĘ1DDDDDDDDĺÁ"""""""˘rÄ` Q9b0†¨1CDDDDDDDTŽ ĆŮTDDDDDDDDĹR(~‘1DDDDDDDDĺÁ"""""""˘rÄ` Q9b0†¨1CDDDDDDDTŽĘ*Ă_["""""""˘Ż]™Ä?”ĘŕäⲬQ$/ţńI±Ą/T1"""""""˘ŻE™Ć;”ľ@e!""""""˘ŻE™Ç>”ľ`E9}‰ţm Ć3ľHLC© *WÜç ÄŃżŤ"1ŤOŽy(•q%‹ŞHď#UpEĹ/JŠ{”JYcÄĹTP O,Ć+@Ŕ[JDDDDDDD’@ €XŚWř)Ű(čł2Šc ˙dSI?áTxnU®@ ~¬¤¤Ä;KDDDDDDD’’’ńc�ą(y-ÜŇĆJ¤ĎUDziçEIFÁzČÍÎÎą§¬¬Ě;KDDDDDDD’˛˛2˛łsîA:#/ÎQĐ'­+Sšá*EťP\Ěçb�ąďßżc0†**eeeĽ˙> ˛#cň)QČçÎ*<%)?Z”żĺČŽŤŤąˇ¬¬üR(ňîQ…" ˇ¬¬ü266ć€l|gŚo^?ćłÖŤůÔ`ڏýÂĂxrdeggźTUUĺ&""""""˘ EUUŮŮŮ'dáď@LQÓ“Jµ>Ś<ŠcäťH\Ä~Á çcŢ'$N¨ŞŞrt UBˇŞŞŞ/D'�Ľ‡ô¨üřPt¤ÔÁ™â‚1âR¦¬ ĚTĄ·oßľz÷.k›††ď4Ux÷.kŰŰ·o_Aţ%ŕďŔ Púx‰Ś’†©äě JČ#(b_ś’’řżš5kURQQi“ťťÍ;NDDDDDDD˙MMM�âc÷îÝq çă–?¸$1ßÂÓ• Ż!S*Ą Ć|/€t°(>(#‘”ô"ĽnÝúu„Bá ČŃ?ASSĘĘĘgďŢŤ´Á‡@Ě{Hb /ŕ (ö+K%RdEFÇČKČyŔ‹ϮתU[KMM­Mnn.Äb1{}qBˇZZZ�ÄÇ bňî-¸őkJŠŚŠ)6ĐQÚ`LÁ÷Č!Sřqˇ÷y�r“’^„U«V㉦¦f;%%%M±XĚ  }BˇęęęĐĐĐx™ťť˝áŢ˝;‡¤ăď19ř„É#/SŘ'ýÔµŕňÉńRxS*°/üř^ąŔľĘÇ} mmí* ~7FEEeTNNNµśśäää //ŹÁ"""""""ú$�JJJPVVÎß^fggźLH˙¸Xo&>ţčţžšTpšR~�¦¨‘1Ŕ'ţ˘’ 4×!g_Ń€ŚŇÇM(gS @ĺ‡Z誩©uRV¶‹ß ¨Ĺ~›�ňÄbĽÄŹsrrŁł˛˛Âccc®âCŕĺţţŐ¤˘¦&}±@ đéÁ‚ďĺý‚RqA™ü ŚĽ�Ť2>g”ĺ[Ňt("""""""úď·nÁ-?’Á—üiH…/ß+„S‡)—ň"ĺ­“"A'Ít %˙˘ň1ů^pMţhĄé€ü€ ý· äRň ĽĎ+”^ř“Š Ŕ”i (]0&żŕâ2%É+?+pQ*P~á5(žŹ""""""˘˙¦‚±ĽBűG¸�ŇA‚ű%`™š$ď}±>5ˇČĎX7u©¤µe çUPÂą‰čżˇ¨`HÁŃ1…_™†¤ČHĎ Ä�źČł//Sř˝ĽŔ j’ z3 CDDDDDDôßP\0¤p0%OÎľ"ÁyÁŕë•§,‚ź:JFŢgňÖ†Q’sÁş"""""""޸Ä%¤ST`FŃ�L™Ť†)¨,ŠŽ’‘—&oż¸éI‚r¸"""""""Ş8Ä ¤5]©¸`‹ĽŔK™Ź†)¨¬ŠŚ’É(GŢkIőf@†čë"Vđ3ń'Ľ–”G‘:”Ę—\·ž‹ŕ3_KŞ71DDDDDDD_'±‚éâĎ|-®Ě2ń%‚ö Ň·_^×ADDDDDDDGi¦+Ü+đYqűećK1J3JFŃýňŞ;UlŠ.č[Ô~ąŤ†)¨<‚RĽ˙śźŻfp†čë&.ĺ犎x)·@ P~ EF¶>á"""""""" äQ2ŠĽ/*­L ˱QJłŢ .DDDDDDDTâR¤‹KYF™*ď ‡ŕ |FDDDDDDD”Oü>+S˙TŁĽ×a0‡čßA\Îĺ‰Ëű˙é …ŕ_TW"""""""ŞŘÄ_(o™Ş(Z¨<˙é TÄ 3DDDDDDDT–Ä©2˙†Ŕ3DDDDDDDTb6ŃżĚ˙ Ą s^nH����IEND®B`‚����������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/bazaar-light.png����������������������������������������������0000664�0000000�0000000�00000647543�15234476640�0022724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��c��¶���LůZ���sRGBŮÉ,���gAMA��±Ź üa��� cHRM��z&��€„��ú���€č��u0��ę`��:��pśşQ<���bKGD�T�T�T3cÁő��� pHYs�� �� �šś���tIMEę0!Č´�� �IDATxÚěÝyU˝7đď©ęęmöL&3Ů'űž°%@ ě«l˘÷ŞWEŻđŕĘ"ňÜűľzEP.^ß+ú *("B @€„„ě!űľÍ>ÓÓ[UťóţQŐ=Ý=Ýłe¦gÉ÷ó<mwWwW×TŐL¬/żó;�µ#¸ŤDDDDDDD4ĨĽq‚ŰDDDDDDDDCÜ€ g·N ýĚAôý l¨#ŞŹŢŰ«Ä�ý^1D~N"""""""ę•çőĺ=”čűÄ�ÚN"""""""śTĽÖ«ňrn,`{‰hđPÝX®şąŽ^•ŻpŁ+‹čÁg€®….Şźéuů7şşn|®?~"""""""ę?Ýí˙˘şđ¸+Ď{U_] ^şưJ†2uVŮŇŮăî4˝¦/ŤÎ‚•Ž–u'”é럎®ô{é(xéN(Ó'ŚČĂ:»ştőľłíf(CDDDDDD44uµé®:ÎűŽÖŮ+z;ĽČšd»?ž@†Ó`ť8ş:%uO®„3ťmC·xzqÇt4´¨ł0&Űc-Ëg˛­]XNDDDDDDD[w†'%îeĘs'7P]ü.‘±®®~¶S˘ÖŃ•ŕ%×kZ–ĺZ–ďaC_""""""˘OWöf†0‰eą*bşV-ÓŃvtŮńVĆtµ&×óĚ[jđ˘ĺř|ćwe{NDDDDDDDCSgÓW+´e ©Ś@zđ˘2>›«ňĄ×«dzĆô´&W�“ú8±Ă2ď»ŰĚ—†¦ÎšöĘ,÷©aŚDÇÁL®ďL aDŽméTO‚Ś®1] a7‘ńhŇ eůńl? ~©!Ěxśş ĺ±Ěxś+”ÉÔôʰĄîVĆtÄtuRjđ˘#{ “Z“«— ˝7LjUL¶ Ɔ“1dľż+ß•9L©[Ă–şĆô4ɬpŃ‘Âč)7�Ă˝Ďü¬�‡(‘#[uJę-˛X�L÷ŢNąih eěŚuČß'2÷(9Ţž1ŮšövÔ FĎr3�řË—ŻX2{öŚS‚ÁÂŮ^Żgś”Ş éĂ’:#5M4ÄăÖľp8´qăĆ-«—.]˛N(uď!L"»°ŃV5Ł!{(“ŮŔ·GŤ|EŢו1©AL˘ Ć“ňŘp–.]Zö䓿˙lUUĺőRŞrž/DDDDDDDÔŰ4MÔ9rôéoĽáŹË—/o�Ŕh«±RwĄŮo¶2ť†3] c:žÔYsŢÔ Ć¶ˇHÁuëÖ]:kÖ¬o1„!""""""˘|Đ4Q·iÓ¦‡ćÍ›÷7�a´ aJ cJ2]mň tłˇowĂŽŞb˛ő†ÉÄřjjjľURRz#O"""""""Ę·¦¦Ć'+**‚S!Eö@&1t)W• ĐęÎÂîTĹd›))Â$îý�‚MMM˙Żŕˇ'""""""˘ţ‰„˙ZRRňźp*dŚŤôfż™31wuLwšăfkÚ›xžúZj(“Zc�đ×ÔÔ|‹A ő·@ xEMMÍ·ŕN,'żHÍ3Rs ă™ž»<ăsOg*ĘśjşŁž1ÉŞµk×^ơIDDDDDDD4P”””޸víÚËŕ2©“%n™™˛<ď–ŽÂŃÍe"e}™aŚqöŮg—Í™3ç›<ĚDDDDDDD4Ě™3ç›gź}vÚfNÍ5€öŐ1™şş¬ă»qŻČŘl•0:ÚĘ{Ľ� 8xó#ţť‡šcÇŽ=6fĚč˙Đ §oډö˝c2úą{ÇdíÓÓ0&WăŢÔ¦˝‰>1>�%–e˝Â)¬‰h Ň4Qçńx.Đ †öS^§Î¬ÔŐFľYĂí8·5××iC”–/_±A  TRŞň+V,BöˇJŮzĆô§ďí¬[p®Y–ôYł¦źĘĂJDDDDDDDÝeŰ6b±LÓ„mŰҤit]‡ađů|Đuý¸żkúôé§XŽÎgMR)÷ČXŢ©\aLg O®ŕ%sÚ'@/((šĹÓ‡şĘ¶m„ĂaÄb±¬ŻK)!Ą„iš‡Ăđů|ÇĘÍ‚S“-çčI�“őő®TĆdöŽ9^Ë\– cĽ^Ď8)Ď$"""""""ęT4E(ęÖgb±b± á÷ű{ô˝ŹgŇĂ wöˇ2^WY^ËJë…}”«J&™"I©Ęx*QgÂáp·TˇPáp¸Gźuó‹Ě1ą†+őÖKű*×öö÷ŃŤF{¤¤ ‡ĂFŁ=ůh®ü˘łÜŁWľ¤+şŇWFäă`Ő××ăóź˙nľůßyć B¶mWEL¦P(۶{úń®d=Î<úŞbĄ×¦{ęL}}=nąĺŘşu+âq“g/Ń Ô1˝´ÎĚ^¸˝îxĂŃĹe}˘ˇˇ·ŢúMěÚµ ăÇŹÇüg/Ń “ľş·Ĺb±ă©ŽIčő죷+cňÄÜrË7°sçNŚ?Ź=öß(//çLDDDDDD4ČtÄ\tŃeřö·ď@SSSrYss3nżý.\tŃeǵî.ęŐĽCë…ŤČËp¤T b†Óě¸íČřńă°iÓ&ÜqÇÝhjjBss3îĽóűXż~ĆŽs\ëî†lů‡8žu´<s¬”@Ű4OZĘMwo÷ć`�(ŤÇÍ÷{ë'gCDDDDDD4´Ô××CJ™óőÚÚZÜ~ű]8tč0Ş««!„ŔîÝ»QYY‰űď˙*++s~VÓ4 6¬ËŰâő 40ÄXîÍvo2ĺ¦Rî7¤Üg>v¶i° o~ó»Řąs'&Nś_üâ1DDDDDDD\GA � >÷ß/FŤ‰={ö`÷îÝ1˘÷Ý×qÓ•u÷‡AĆ!x–ť`<Ľ^_ňąa0 Ď üY]óĐC÷cҤIصkľöµ[Q[[Ë3’hÓ´Žă‰††ÜqÇ÷°gĎŚ;cÇŽÁÁ‡pçťwَˇá¸ÖÝ/?ď`;@eeexôŃźaҤIŘ»w/ľţőŰČ bş®wřú÷ż˙źŘ»wĆŽűďż÷ß/ĆŽýűŕî»˙ă¸ÖÝ´ÁxČ †atřz˘wěý÷ß‹˛˛2”••áţűďĹĉ±k×®ăZwčęlJ™3*őŰlJ©2gVúůĎĆđáĂy "¶mw:ܨ§ĘĘĘşUsśł)!ă10fSĘܡŹ<ňSLś8{÷îĹwż{Ď`""""""˘AF×uř|ľ^_ŻĎçă0Ąľ0lŘ0<účĎ0cĆ x˝Ď`""""""˘A( Šuö†A=L‰†Žh4ŠP(Ô+ë*,,„ßďďöç8L‰N~żżWŞY‚Á`Ź‚|aCDDDDDDDF0DaaaŹ?_XX8`‡'%xx‰h ńűý0 áp±X¬Kźńů|˛ao&†1DDDDDDD4ŕ躎˘˘"AÄb1¦ ۶!Ą�hš]×aĆ€ť5)†1DDDDDDD4`éş>ŕ‡u{ĆĺĂ"""""""˘<bCDDDDDDD”G cňa Q1Ś!"""""""Ę#†1DDDDDDDDyÄ0†(ŹĆĺĂ"""""""˘<bCDDDDDDD”G cňa Q1Ś!"""""""Ę#†1DDDDDDDDyÄ0†(ŹĆĺĂ"""""""˘<bCDDDDDDD”G cňa Q1Ś!"""""""Ę#†1DDDDDDDDyÄ0†(ŹĆĺĂ"""""""˘<bCDDDDDDD”G cňa Qy¸ h PJq' "Bî"""""˘`Cý†áËĐ:~ gş†a őűE|ożźzWWC–Äqb(CDDDDDÔ1†1”7…* \çqËĽ0”!"""""ęĂę× z4GwĄ"""""˘,ĆPźËŞd.cđ28Źc"lÉĘ0!"""""jŹa ĺőľ»Ďi`ĘÂd eČĄcC}¦Ł %ń8ŹĂ4MH)3ŢĎPf`j U„Đ4 ^݆a$—%Ž/"""""˘ěĆP^d1RJ4;Ľó:×"P_Ý2{çËý]ßţ0·ÜÔ·ë$Űo{ ÄËG yö|`ń2”UŚ€¦i9""""""r0ڎ>ŃQĂ^۶qdËF”?ýřęŽrg Rşe"pô G"¶n_˙ETMź]×ŮĐ—¨wőµD0Ł”‚R G@ůÓŹ3B|µG1ě©ÇqěĐÁäqN=öDDDDDDÔ†a őşŽ.ŔĂá0ŚކŻîwÔăŻ; Ďű+‡{tnť(ĆPźĘ¬D"đ­_Í3DůÖŻB$Ézě‰ČÁ0†ňF)˲hŞç΢Ťu°,› QĆPŻĘ6}uę2)%<¶Ĺ5Dyl RĘĎ"""""˘Ă"Ę+3DDDDDt˘ăÔÖÄ pęłcŢWSY?đŔOńĚ3Ďć|]Ó4”–– ˛˛ §ź~*®ĽňrŚ9’…VĆŃ#ĄD}}¶lŮ‚ßţö \ý xîąçąch@`CyĂęëţŹÇq˙ýbĺĘ÷yp¨ßqĺő˘śĚ‰yĚűj¸RŞąsç$×ÖÖáСCí¶ă‰'žÄ˘E y¨_1Ś!˘AOÓ4üęWżH[¶bĹ;¸óλaŰvrŮ'źlăÎ"""""˘~Ç0†ú+`(Ű9‘Ź ™„%KcÁ‚“°jŐGťž—[¶lĹ /ĽŹ>Zşş:¦‰’’bLť:Ë–-ĂE]�]×Ó>óĚ3Ďâ~ÚĺíůĆ7nĹg>s}Ú˛X,†çź+VĽ‹Ý»wŁ©©^ŻŁFŤÂ)§śŚ«Żľăƍ˹Ξl÷Źü<˙ü ÉçłfÍÂŻ~őţß˙ű5^~ůÔÔÔâĆoŔ׿ţUž´DDDDD}„a  Y­­‘´çóćÍI{®”ÂĂ?ЧźţS» ¦¶¶µµuxď˝÷ńôÓĆŢ‡ŠŠŠ^۶ť;wá[ßúŽ=–¶Ü˛,ěر;věŔ3Ď<‹Űn»×]wmźn÷#Ź<†§žzš' Qž°/ )J):t=ô06oŢś\îőzńŐŻŢśöŢ'žxO=őt§•\۶mĂí·RĘ^ŮĆ––Üzëmí‚L–eáÁ†+Ţéłí®ŻŻÇ_ţňO""""˘<be  zRJ,\¸8çëăÇŹÇ]wÝŽéÓ§%—Ĺb1üö·O¤˝Żşş—_~ |>^zélÝş5ůÚ–-[°jŐjś~úi�€QŁFᬳgÝ–wß]™”AśqƢäó?ýéÔ×7$źkš†Ë/ż łfÍŔîÝ{ńç??˲’Ż?ńÄ“X˛dqŻlw¦Ă‡�t]Ǹqă ”‚ßďăIEDDDDÔ‡ĆŃ6qâD\ýµ6mjÚňĆĆF\zé%hh¨G}}BˇVüüçُ¸�°lŮą¸ä’+ŇB•-[¶&CŤ3ÎX”°$<ňČcxçť÷Ň–Ýu×i˝_**†ă˛Ë.E]]-ęëqŢyçছnLľnš&žyćŮäó­[?IöÜ9ŢíÎfҤIxŕcäČ‘<aň€a  i»ví½÷ŢŹ˙ýßÇń“źÜ—¬Ž©¬¬Äwľóͬź1M«WŻi7 ¨µ5Üáw˝ńĆrüţ÷H[víµ×ŕüó—Ą-»âŠËqĹ—g]Ç‘#G±k×®vŰcš&Ľ^oźl÷=÷|ŹA Q1Ś!˘AOÓ4üâŹ&źÇb1|ôŃüńŹO#Ź�jjjqűíwâř “ďŤÇăxýő7°aĂFěÜąGŹEMMm·űĂěŮł?üáŹŇ–Í1·ÝvKÎĎěÚµoĽń&¶oߎ}ű ¦ćBˇÖ.}_omw0LľEDDDDD}Źa  óćÍM{~Úi§bôčQřŃŹîK.;v¬Żľúw\{í5�śJ–x0­KO„ĂaÜ~ű]‡Ű*PŠ‹‹đŁý_†ŃîýˇP?řÁá­·Vôčűzk»°? Q?ŕlJD4dť{î9í–­_ż�°cÇNÜsĎ´ 4&L€‹/ľwÜńÁ.}Ď~đ_Ř·o_ňą÷ÜswΡ?÷Ţ{_» & â´ÓNÁŤ7Ţ€Ë.»4çwőćvQ˙`e  Y í+G"‘�ŕ…^„mŰÉĺ#FTŕᇊ Ş“Ëyä±Nżă‰'žÄ›oľ•¶ěĆoHÎ~”©±±±ÝűoşéFÜ|ó—ŕń8’˙đ‡?ćüľŢÚn"""""ę?¬Ś!˘!©ˇˇ=ôłvË++«��‡L[ľpá´@cçÎ]iĂŽ˛Yµj5~ůË_Ą-›?˙$|ík_Éů™Ă‡Ź´ëërÝuW'�ذacÎĎ÷ĆvQ˙be  zRJ|ţó_J>ommĹ‘#G`šf»÷ž}ö�@AAAÚňwß}|đ!&L¨Ć¶mŰńÓźţw‡ßyäČQÜsĎ´ V”R¸űî{Ú˝ţü“đéO_‡Â‚vŻýć7Oŕ†>Ű–xîąÚUΤ:Ţí&""""˘ţÇ0††„­[·vúžE‹NÇ©§ž�8唓ńÚkŻ'_«««Çm·}+íýÁ`0g•É˙ř4›Ú-˙řăuYßďó9ŤrGŹŤŞŞJ9r4ůÚsĎ=Źçž{ľKß{ĽŰMDDDDDýŹĂ”č„pĆ ńĂţßäó‹.ş°Ý L©nşéFLž<)çë©}[şőGWÓđíoš–ýĎoii ľő­Űr~ţx·›ú+chHňűý(++ĂěŮ3qÁç·k¨ëőzńČ#?ĂSOý ˙řÇ?qŕŔ†cÇŽĂu×] /<7ßüď}˛mK–,ĆŻý+üîwOâăŹ×ˇĄ%„ŠŠ ,X0_ůĘżaďŢ}9?ŰźŰMDDDDD˝CtaąHyžx¬ĄÜ'nş{ó¸7/�@i<nľĎ]}bPJĺĽWJáđá#ő_ßîŰŤxôw}»ţ[nâöwŕĐÝbäČ*! „ó§#×=Ń@ăő 40ÄXîÍvo2ĺ¦RîUâŇ8ĺ12ŕ0%"""""""˘ĽbCDDDDDDD”G cňa Q1Ś!"""""""Ę#†1DDDDDDDDyÄ0†(ŹĆĺĂ"""""""˘<bC}BÁť@<'˛`CDDDDDDD”G cňa ő)M!žDDDDDDé<Ü”Oš¦ˇeK=<¦Ő'ëŹ …ĐŢ]0|ţ>Yż%loo€1űdý1ź-‡öĂĐôľY4ŚŇ GáU}†McĆKÔ]Ť‰gÖD°éó·eö(×, 4Ŕß'"""˘ˇa 博& QŘÔÜ'ßѢ)„0¬rdź¬? ž˛”DűdýÍ%…IĂú(Ś 56@ Ăű(ډˇë«aşŔ’ ďěcÓaűęm4EdňµU{ăŘv̸a:fŹ4pćd/<݆ †1”B(ĄŕńxĐRZŇgaLť&®=ÜgaL«F– äPß„1uĺ%[1 óxűdýŤµGaę6†ËľůŻí‘ŇRézň÷…őM<öV(çë“*<řîůEXą+Žg×FđŔ5%˝úý·ý©1K%źřćŚňâş~řgCSDâĺŤQ¬;`"l*Tj8s’gMéż�ŕÍm1Ľ¶9Š».*B±_Ă÷^hĆů3|8gŞoHüM´¤ÂŁË[±őŮáqŮpPbĂAk¸ui!tĘ c¨W%B—\Ľ^/§MÁ˝űűäű·xM?¤Y údýD| Ş1öŁ˝}łý3&"iÁ$Qź¬ۆŐđ{-L3Ťľą¨ź>Ă}ľNĎ‘ă1e„w_\ś|ţŔ?ZpÎ4NçX~ŁďĂKfű1¬ó}ő­6žYÁoß—řúŮ…îw¶!,qßß[đ—Í  $ °żÁĆK"ŘYcáK‹ Đ›{ôßi…¦_<Ł Ă÷Ť-Ó1¬@/ĎŰźkÂsX<ÉŰŻűýÝńL[Źxgg gOaщŽ˙ŤŤúLâ˘;őâŰď÷C-\ŐUŔfĂĶŹWAJŮëëWŘŹě8u dT HMÆY“±Ą5ŮA Őăí—Ű×­ÂfĂ‚ěă-…€Zx|)aL¶sŕx ±ezň¦i@I@K>Ż(ěű?kĄ)ß7oŚ×.`ăA1S şßÓ?® ŁĐ'pç…ĹX<Ů‹9Ł \2ŰŹoś[„5űăŘpĐě—íš\áÁ§OÂЇćМ͇»ż_·¶@DDDDC+c(ż'śÇĘŮ3°wÚToÝÖ«ëţĐG“¦€†Z¬_ůN:óĽ^]˙vQ‡LČa…زt&f˝±©W×˙ţisĐPT7±¶Ą'—őęú׾ű:Zë� Xí‹ă´XďVěť1 #ç̆Ç3°ţ¬ĽńI ˙ŘEKLabąŽ]T€ň‚¶ŔfĂA]ÁŃf‰Ň ŔŮSü8wšÝÉŹ4! i@jďâ÷vĆńĎO˘8Ö"QěX<ه‹g9ŤĄ÷Ö۸÷ŐöCőĆ”ęřţ%NŐĎöc^ÚÁŢzM`îh®[DŔëlX]«Ä ë"ŘrÄBĚRRáÁ5 Uâ űíĘ0¤RđęŔ‡{M\97€eÓÓ«*š#™ř÷ł áó¤˙Ŕă†éřÜ©éU1‡›$žYĆŽ †.0g´×Î$‡g­ÜÇ‹˘¸nYAcDaBĘ>żçŻM¨ 9Qŕ‡{â¸ui!ŞJtÜýB>ż(W6:ÇéˇkKł3łlŕ‰÷[±zŻ żWŕŚ‰^\>'ş“m(ÓCŻ·`|ąŽeÓý¸óą&�Ŕ“´âÉZńČőĄ0tőMĽ¸>‚#ÍE~ ‹'yqŃ,?™k®}ąí¨…ż|ĆF‰ !pÖ.ťíďôÜiŚHě©·;ţ[©§U{±rW‰owť…ĆdS_"""˘!€˙ŹŽň&QQQQşK/†eôŢP™¨PřG –|ľâŧŹEzmý&l¬G ¤€’ď]wâţŢ 3˘>^=ďLŘJ@* ˙¬«E¬«{bŃ0VĽôtňů?QÄDďUq†úK/FyyyÚ±îoˇÄÚýq|aQn9»Ť‰'ŢoMľľů°‰_ĽÂéŐ>|ďâb\=?€—6Fđ↮ź;‡›$ţňq§W{“UďďŽá«Ă8k˛w_\ŚOÍ ŕĺŤQ¬Ţ�TiřÎůEÉۡ `áD'D¨ Iü썌*ŐńÝó‹đ•ĹŘ~Ěąđ�[żŃ‚ĆÄW—ŕöó‹ kŔ˙ĽťŢKçăý& |§Oh˙ű¶żÁ†RŔÔŮ´%nĄ ŕô/yđőř oźçlÓá&˙ýf¶L xl¬Úkâ–ĄE¸ë˘"DL…'?t¶űŽ ‹0u„Ó« ÜwU ¦Uµ}ď?¶ÄpÝÉAÜuQqÎ}ýÚ–(†h¸ăÂ"\r�ďě'÷IgJüî»Ę v®Ŕ}W•ŔĐ66ńË·C?Ö‹;/,µóýXľ-†gÖ„;Ü—ˇÄŁËC^eŕ—ăKgŕÍmQ|¸7Öé¶<ł&’Ö¬7›+ćpĹĽ@ZŔבxvM„˙ ¬Śˇ> ]}cŹS—y<Ě^ş«>ن…{â8‡ä(<UA‹ÖvqÓÜXŹç~ő�®űúÝÇ=Ő˛‚ m?ZĄ @* ą´/Ţv)®úÉóĐäńnżŔď>w)‹ Ą€R@eá‡ŕ_GŹ…vśÁ†R/<ţ0BM mušÂď Ăř|KÁq'˛J¬9˙\śtÖ™Đu=í<Č fňŇÜĽ¤�…nĺĆĺsřÍĘVHhxuS˦űpŢ '©*ö˘a®Â‹ë#¸|N g…ĂS«ĂřÓš , T—ë¸r^ ůú >̨2PâV0T{ńÖövÔX8eĽ>C`r…óç×´ţôQsG{qž[ąRQ¨áż®,I«€8µÚ‹µűť0G×€;/'ÚĚ�� �IDAT,†®!YŃrî4~öFˇLţĽU%®:)s˙„ă  đuˇ/ËŠ1x=_<Ł Y‰ňµł q×óMŘtŘÄ\7´‘ ř—ÓÉŢ=Íňăń÷Zˇ�ú4űµäвÄo�\9/€ŮŁ:h«Ëu\6ÇůyF—ęŔźV‡qĹÜ@»ĘžlçBI@C±{K|˙+›˘8eĽ—Ěö'× üúÝV\:»­)sćľ<Řh#n+,ëEYPCYPĂ//IV.u$1}u.Ó« ,›îÇ#ËÓ.�ŘtŘä?2DDDD czÔ”””`§ŻĆú†Ě}ď2J� F°ŮŰţeǦµxýĎżÁůźţ„čYä  °JĆ^´@)%ť‹M%vĚ™7nXŠeż_!{şýąň\¬ź>J H�JR›CaĽxô®¨ŃăC)‰üéql_żŞÝk[ /#¸"@O‹d”XwĆéwý5())é—ŔĄ#^-L�ΟT€i)ř mÇ,l;fáťťńä{"qgg´ĆeÚgS]2ŰŹSĆ;ÁI(&ńâú~ôj ľqŠüÎgÂ+vÄp¨I˘¦ĹĆF•ĹZÖ`'WřćąÁ´ĺ¶^ßĂ5!űëm”R‚-�kö™Ř]gˇ¦Eâ@Ł3ěĹJąx//čxŠô WŔ’@ĚTť2űęmL®§ÍćSĐ0˘HĂľz+Ć˝ZZĺ"ź[–­:ě˙2Ľ ˝~&”§˙“5ąÂ¸­PÓ"1¦¬gÓÁď«·qZuúđ­ÉĂ=°%p°QbjĄ–u_Ž*ŐqŇX/x˝3*=RiŕäqF—ÂĚŽČš�ţĎĺ%xfŤÓ4ů ‹‚řçÖh·üâ¬LfĹLuu5˘˙z#Ţ/.©Ż/‡ÇěŢ…GT(ü± ‚-ŢÜź[őćßĐT_+żxĽľ@·ÖoÂĆŰÚ~ěG ”tBç& ÜĐdŐy PW^‚«~ů2ĽŃx÷¶ßďĂď>{6Ěě¬)ß'y«ľ5¦…1¬ŰŰ‹†ńü݆Vç|Ď»ţ8t…φđ©î…(¦a`Ő˛s0ęę+0a„¬0)ÉĆĐ®Ŕ‚qF– "w8Pě×P• V4|}i!ľ÷|3Vď3qÎT^ŰĹKŁX<É‹yŁ=QäĂ+›˘íÖłrWě1qűůEińŰŹYxdysGVe`á»jm¬Üĺ i‰Jüřď-( h8yśłGĐđČňP·~ţ±e:„�¶ł’Ă‘R­ŘGi@`ÎhŞ;éBÉĚl»ŇčşG9ŁHśÇżĺ«K °·ŢƦC&6Śăůu|eqA2ĘeÖH#9dÍů9€·¶EńĺĹAl”hŠ(üu}$çg‰hđcĎęł�¦+ŻMź> Ó?ŢúâMŘ1{&d.Ţ•�ÖxăřII¨Ă &aŰşń󻿆Uoţ Ş }X”’Ř%𼾠űT ¤„{NO÷ą­�[ |2o2ţűÇ_ĆË@vaH”ŇVź< ?üî—°~ĆdŘĘą“nEŚTÂYć~Çú¦P··ĂűËńË˙¸µĂ &ałaâľ’ĽëŹwi–%%öNž„_¸3ľp#¦OźÖíă>PT—ë¨Ű(/Đ’·ĄŠ)tgÂ,C0t$gSZą;†s§ůđé“8}‚†{ĐŃ#ä@Ť?® ăÓ 7,˝ęâŁ}qŚ.ŐńĄĹX2Ů‹éUÂń¶ĎoݱĐ–řĆą…X6Ý‡ąŁ ô¤8«8 aÎ(/¬‹ fĄŻ`Ť?¬j…tăŚńĂt쪵Ҿ§9"q¬Ebü°nTĄÇi°§>}6ˇť56ĽEÎďťĎŁĐś˛ź•jC˛ĂŻ7LÇŽšĚőZĐ5`TIîß稩°»ÖÂřa:.™íÇ7—aÎ(ooďĽg̵ )Ă´ŻoŤáůŹ#^¨áń÷BiN % ×,€?VĆPŢ™lŐ1J)TUUaŮ5WaűÜ9xuĺ±ţ5”‰Ŕ±ŕ‹8I±€± ŤUAü~ďngÖ¤n‡šńÚÓżĆĘż?Ź©'ť†ÉsNAYů—9 g›ęĐX{Ű7|„më>Dńý·9C’¤Hö‰I JVݏý]”B…üí3çâí NĂôµ;0uĂN «mFIŁ3cNci1ęĘK°yĆ$¬ź5 EĹÎ$ٶnĄÚ†)ĄUá¨îoKc]·öOHSx!ÁrźWÝáţß4{ŞO9çĚśżßß.h,U1€ÓĎä±·B(ńk3Ú@]«ÄÓ«ĂVéÁż,,ČůąĆÄţgXP$®°rw M‰ącśŞ…Şb6tú¨ř 7?‰âhłÄXw(M$®đ?+BUŞaL™r�άLŐĺ:*‹u|°;Žuă¨*ň`óaď튣Ŕ­ž©,Ň!°|[ sÇxQÓbăĎkÂ=Úź=5űţŢ‚˙˝˦PŘß`ăő­QĚăĹÜŃNŁę%“}xs[ żyŻçĎđ#f)<÷qcĘtĚěFµFi@`Ë Gš%ĘÝ;Gö×ŰxqC Ćzq¸ÉĆs‡qÖd/Ľnżi•ŢŢĂřa:JŢÜig»jLL®đ ŞXĂEłüřůňŞŠ5ĚmŕX‹Ť§VGpö_˛_L6űęmüôŤ\r3ŞśĎíŞµ°p‚· ű@Cő0ëĘvĚźÄrk†{8“â®0ť˝&„€ĎçìY3QPP€}ˇ•8:±(çz›ö÷ĽanKc>Zţ >ZţJ‡ď+T©!I[“č#ݦ-¨q*fKŠđîŮóńÎ’ůîçDĘçÚŢŰnť*eťËR‹aşşý=Ő¤)ťXÔáţźţy¨®!D—›óÔ`fÖH_]RżmŚŕoŁđ '¸|nÇŐ/oŚâĺŤÎ°#źG`t©ŽŻź]śVúĆÓřÝaüěź!˝Î´ÖsFµ}~Ó5!‰šp˙k-Éĺ>ŹŔĂź.ĹŇ)>4G$žx? Ą€ŮŁ \8ÓŹwv8UŁKu|yqž]ë ‡?LÇŐ'đË­ÝŢeA w]T„—6DđŇúÂq…Š" Ď `é4o˛’¤$ á;çă™5a<řz ]`ö(×-đ§ő‘éĚů3üŘS׊ľŇŚ›N `ň®9—Î `w­‰űţŢżW`Éd®H9VWÎ  9˘đřĘ0†ŔĄłýé/®ťÄ“¶âĂ—›đ./Á¬‘n>«�/­wŽiˇOŕ¬É>\ě6ôÍejĄ_<Ł�ŻnŠâٵ˝§U¸|®żK?ËĚQÖl_Ů×Q…ÓĚ*ţ“MDDD4d®—»°\¤<O<ÖRî7Ý˝yÜ›€ 47ßç®>qĄ2‰ÇJ©vŹ•R8rä(¶=uO‡ëűËŰëű|›«~ů¶ E"˝Š%ĺyÎŔ%QQăľÇ–)KF0“ e}cRžÄűÇ<vGŢŽ×ŐgÍíř"ô3?@UUe2ŚI­„3( –Txtyk—›ôΨ2pËŇÂn_DDDDÔ3^ݱ@#�@€ĺŢl÷&Sn*ĺ>qń›úČŇĘ˙™ŤúMfĺĚ@şh·e[pb§(@zđ‘Ąz&=I.ËV “¸8OJ`÷5{`»ŽžQÇ<šŔ­K ńÎÎ6¶°§ÎBSF_ˇ’€†ęrfŤôŕĚI>1DDDDCé˙rP>.Ü3űÄd.sHS°- Ąinő‹H†#mł*e.)ÁŚĚn”Ę\¸´Í˘$Ú"U[ĚŠcj8ęłF‰1^€-Bf Ńc8Ú‡Ť±żn ˘ń¦Ľ×ÎzĹ0¤!ĘM×€ł§řpö#Ď®‰`ăa§RfÎ(WϰG ŃĹ0†úUG}eňŧ \{R fť\Š@Ą°Z7ý[Í*Ľ:űD5#Łyoz'dĎ3†/!ŁBé2©M‚§Ć qAëĚ¶Š )gö(Ś(‡˛$”%ˇ[%z)‚ŢbTMÂÔŞĄI{j?ÂĆý/ ¶ykŢŹ!źŇ€†;ł€;‚čÁ0†ňvÁŢ•Đ%ßöc =¸őKăP01č ˛T\˘ŘŻpŞyÓ7˙ży)Ž”U¤IJ #BFŕgşë¶*” ¶e©źw_n{ńŮđX̱K�]8żťî›•­ tĄ HM@7%`J:KMÇřá§ Şüdě«[Źw>ŽpôXźËŢ|щ†a ĺ]¶ˇJÝąxź4˛´W¶C_şn‚3 śÄÄtS]8÷(,ţíŕßđ“ŕç6üiU-iÍw3zĂ´ =Jé!Łr/;-Z†›˘ăđx á´ČvW®,• b4á„:şRđ¸ÓaKŘB@WŔčaó1¬ř~¨ý=ZB«úěf{Î�†¨sŚNB\Ä_2ۇ‚ş�47ü‰MB@�((•řÔş@JĺN5- Íwá!Ň Xdr’Óř×N,SďKůÜáJ|96AŻͧ;·€ÍŻCó{ |źáŐˇy5Cfh !ŕşpÂ%]�<ş#+ľ˛˛+‡Ô1#""""" XC'¤ 0ńÜ2HKA(ˇśjĄTj“�BsKŹ˘bŰ>(¨LźŠZfLE-÷˘­±ob™iĎ•®4ĆŕS…َůtŻÍĐ! Đ…[ÓVŁ„ô ŔVş‚Đ%4KAšrď…‚¦śűŇ’ aĘ8BMŻđ  ¬ŚˇĽÉUIŃśZ�x`*¨¸‚ŚK(S9=clg:ié†3 š&ńŮÚN5ڤíޤHžm™Τ?b8® Ś…đçfh^ "Yăćó8AŤ[ #<©äIąiB@S“¸wF99NIéĄđOňÇ”h°`C'śiEĂçqÄ%sn*.ˇ,'í4Č…Ő6uő¸ňN9˛%%pq;-„I]l) m‘ÂH.ý¸É7ÁĺŢ„î.šˇąC”ôô F× 4'Śš€ĐśĐCCr„•sźzsC™Âaźć)çÁ'"""""�ĆЉuÂ+%§Aą1*&ť[Ü˝Ĺ$`9U2Ęv7ś‘¶ÂUćj[eTÂdŻ|I†0vj5ŤÎÜ Ť_Ó’I2II3Í bÁKjş÷1ÜĎ y—|’Y—˘ ?|Ą×ň """""צÜt"9s¤Ž@•0ĄS“¨¸̶ W¶tC�6PäŹăŠ}ďf„0n…ŚĚ ]Ú‚;±LSd!fk%ił.%źČÄěI2f;SZKĺľÉ>6Pî˙¤>MPĎÝ×=ţYľI< úĂ:ač łć‰1qéÜÇˇŚ‚Ś;30%¤%ťé®3ŞdÎń|‚ŇHKÖáG‰Ę—vËRúČ\$‡gNĂä0¶tBSBFm糡Lgą˛ĄĚ$oh›jmyN"I]ć<WĐ Îá‰@DDDDDÔĎ8› :Ă ý=úÜŇ ş§FPšr¦˛†“‡(8ɆN_H eˇm¨’ĺĚWm‰Ď\އÇ]‘uĄ¶Y–ÚĎ T( ĚÖŠŰ;1[’4 áT¶dΦdąŚĺ<wçÍv†O)ĺd;Hąw'śQÉ`Fřg˘´¨šjĺ‰DDDDDDÔOĆĐ ˇB“¨ŞöAĹ ĐU˛ďŠJ6XqÂĺN­d"đ�”é1‰—ć0­a6ŽkÂ8S_‹Ś ĆY6K934YŇ™®ZPš€Ôś25©�a;a �•l¤S!cÚmU2î*§Č&ăŢ dRďť`F ®OßZĂ“‚¨źpťN®Îx·WL˘qoÚlJѶ2ÎűÜ&żqéLyw§ľ6%4[↚ĺÎlI9¦±¶ł,›¤°”r¦ÍviÚî)gX’ŚąC”˘dÔ‚ŠYP1*n»Sp;C™”%a+K)·PĆą—Ş}#UŰȨg"O"""""˘~ÄĘň&ë&J†ů cB  (! „‚mS)Ą�ĺTŁHw¨’ĘŞ”häk½W#±ôđüsř‚¬C’¤J Wne Pˇů`)@S ^SBДЩ , ˇ‹¶Ů•ܦľĘv{Ę$‚S¶L7ڱ ś0n0“rßÄ8U3¶¨ŕIADDDDDÔŹĆĐĐ>Á•ÂĚášSŁ @”ć„R� ©Ł”ś@&ŃT× ^$ś>-‰j·ŹŚ˛$® €·Kć "Ľ)}bRzȤ…2@‰đŔR Â%eÄe[c«äTÖÉi¬•Ó¨7ůÝvJ#SÂĄÜÖ6)•2iÁŚ‚ ·zF”ńÄ """""ęĎkUîĘćę&|†'Ů´ş€“„´Ň]8SH §űm˛wŚ;öÇéc+KAşL±Ƨ÷/ÇoF_ŕĚ\”¬Ś)ˇL[…Ść0•D˘IŚŕ1%4;QŁAhÎv%¨älKNuŚí†0Ůn‰*'QɡK‰Ç &|Cţ¸«p Ç "q nAٲmZpę! t đz ^ čöÍ9k1 ™‡MX1ŇRN@:¨v—ó{îńéđ ř řŠ žGDDDD”†a Y…Ra\™púŔ耰ťáIĐ�¤VźŔťţŮťZ)ȶćąBRJ n…ŠÓ;FXÎëçE7ŕ•Ö“qĐWž¬†IočŰÖŕ×R q((H'°¶đ(ÝĐ„4‘šĹ¸ëSnuK˘úĹLą7ej…LJĄL"Üţ2ÎýŐÔ ŮĐ 3ů Đ[”‚˛lŔ˛ť«®Âg@++�J zĺ+ÂőQ„j"0ŁöŘ] ¶©`›±‰–c€á×QX@pźç`CCŘ|Ä ŰRiÎ Jś-Ń/Ć wi8aŚmĂ•”ť2LČť†€%!Ý2†máóű^Ă&~.mHRbĄÔ•šĄ ]îĚFÎŞA‰&„3É“©wHé÷’%hI WŠçŞ”Ią9ALlčĺŃ8TMłPßďď űH#Ds˘˘ÂďíŃzâa ͇[ íđĚŚÚhŘB¸!†â‘đůO/щŽ˙ʆ¤JÓDEPAĹ�ˇ;C””ćOŇ܆-îK"qď&$*q/Ű÷ŽíöŚ‘îĚJn3ß“ěݸ}ŰOq$Řńpáů6âĆ8HáßŘĐ…‚%t7Jµcŕ2©=`ˇL[ř"ł„0)}dŕ<Öíú!u¬esęH#‡!őŽAí«…¨*…VěÖgĂ 14î şaHÇ#2Q»Ł Ąc ,óń"""":1ڎ!G@až‡Š»C’tĺöŠArNŁdÄP%áŽ1J„1pžŰÎěJ‰ ™Äsa;Ťua3c­8(q†Bĺ5C÷Śu¦›†€ ] č b47I­ŤQN͎۶¦­L˘2Ćʬ‘Ů+d÷>ylČkن:ÜŔ“ľ?)u¸čr nˇa_Ë ş»Tňgg CDDDtâbCCÎäP şâncĂ™ĘZsŞbT˘A®›»¤ŢC)ĺ4ň…t†( w¸’ł°e˛ˇo˘©oT7D±{X ç¶Ĺâ;`řOq‚•č)¬ +M8¦4 9Ë“B˘•ŤJ|}ŰěH*G˙Ś!KVZµ P»‡ĆEm4îTÄĐŔ8GˇĽžN‡,ĹĂ÷‡NřýŐ¸?ä6ůĺ?ĂDDDD'"ţż@RĽ¶Ääx JP tĺVÄ87¤5îuzĆ$s7ITÄ´UǨDĄŚ-Ű˝XŇ­Ž‘Î L­iĹţ,]Ëş}f| ˘Ň†!tŘBAw+c4ˇ %结Ő:p§Ç†3Ô(u¸RćP¤v3,I™öÜVŠímCă⿦™C“ÔQP5Íc‡wř¶ćĂ­Ýš$-…Í/ďƵµ·fď-ă x0z~f^Z ÝĐÉîRh>ÜŠá“JxĆĐ€c+˝ˇ>BÓ ¤ĚúÚ̆0Ľ–„Ň„Ó´× c„&śenó^@´őŚsď\!9•J¶UȤ”Ą8}c¤3D vʰ%KÁ°f aøâW`-Ç7CzgÁVş�4·2F@µMň„”YžR†)I¨´áJ‰¦ĽÚWÇdW˛”BPnpÎ}«i˘ă ăű=ďšZ٬w  áĐÔšs–Ąp}´ŰÍz·Ľş»Ţ9Üá{â »ß; Ąć^5iĐěŻXČD¸>ĘY–N@ chŔ±Mş7÷©é÷DŰ_E-Śi‰9Ăô””4ĄIw:k7lM|¶2· EÉÄLJp†'©Dă.·ťĘ´{ {¤»+‚˛˙ Vd9lĎLŘn5Ś.´DăΤ$ĐV9Đ6ó’jČXĂ•¬,Ă“R‡,Ť°ßëpßű˝1±¬ĆȆÖîć`ěw·@i^čÓÇB_4€€˝j;䦽Pˇ8DE1<gN‡V=˘kçë¦}°×íęZ�]@Ś(…~úhc+NČß_ŮĐ -Gމt{}ÖÖ�–Ü2e㊲ľ§ĺHo>´?®ÁÜOMrdŠJ*ěYy{>8†ÖÚ0<^SË0óâń¸ý[^úŢ{VöĘťiçŹĹ´óÇ9۵¦;ß>PMŢ€UłË1ă˘qđř»÷Ďj¨&Â0†a Q˙‹[6Ľ„1%EĹă2ý‚iÎáÓ ]”-Ý!J‰ć˝Ęé#ÜaKn϶ړÄŐšH4iq–şC”śqBnÓ^·BFş3*9}dTr†%a3·ŐăĂyŮ/ć…µfl3,ď §qŻÎ*·:&ąi‰MRí™ÔFľNeLű@&sŘRµĹj_ÎýŞiJK ;<61Ëę÷óC…cP±îUWČu0ź]é 3€Pöęíjśs"Ą °:Öóů`|ęôNkĺ'°ß˙Ä9®E([BíŻ…<PăS ˇU®@F¨ůçw! ýđ~ů‚žź ŽAÓ›ÓĆZLQ»űÂÎ9W:ş ç{ŠŞ‚ş3bCI ‘cŕćWöbç[!t ĄŁ iŚáŕÇ5¨ŰÝ„sżł�źŽâ‘…ˇc¨& i)7ĚÝőÎ!lü«Ó{©hDá¦vżwőűZpÖ-sťż5]dFmÄZLřŠ ţń'"""bCÔBá ąg1<T/GcK bŃ8¤RYÁ°ć¤¦A¸ł')K@s+c Á™Ú˘­gŚűP9YŤŰ;Ć©€nż!UJď·b&%”Q–ÓG&ő~xŤŤǢ86"űńÖŁ/ ⩆.üÉ~1‰aJP"cjk•lä›âZ bČ$n@z#¤Š˘Z˝’=„~źĄ%…Đ5˝ÓcÓďz0<É~wK[“şos5�V Ö»[ŕí(Ś‘ öęíÎŇóćBźS (Ŕzsěu»a´}đ„1‰ĆI˝yŚ2ĂnOęőQ*ě~÷�`Ńg`ř”RXqo>¸‘†ŽnmŔčyĂqÖ­sÓ>×ZÁ?Y  jN9â [_uBÍy×LĆřÓ+mŽá­‡×Łé@űVĂřÓ*»µm±Ă""""†1Dý¬9A•*íđâĐŁk^šŇřr$°nÖŔú9|�ĆvřŽź÷ĂŤčń§€–Öh˙ç‘x÷?s´©űź©i¤„“čeyÝ´·‚BxÝ ičKf@›7ÂýśőćŘď†>"<Kg�ě5»`˝µZuŚ«An;óo«!F–BźS űým@$1ˇĆął€Äűĺß�ĆugÂzk#PF”Ŕ8gĶßůÉ!X«w@Ő·�^ô‰•đ,žá¬@ü‰7ˇęZŕ9gěő{€–<çÎ…ůęçg Eűé_á9oô9ă{tŚ2}ăáž…1"FŠó˘ÎŢ'4K¸(ůpŞÁ4·ŠĆ›cXáö7B)…‘łËQ\ÄÁŹk`ĹmřŠĽwŞóűä/öaü©•ŘöĆ~Z_Űí0¦§ű†/Ť»€Ó˛Ń2*0(MKk¦m÷˙†Ä{0TŞ“é–łĆČÄ�€đy Ť)wÎŮWÖŔ|áXkw‘8´ňb˛Âî‡ő­°ßŰ 1˛ Ę«Cn;ř_Wµ˙yĺ#’ҨCő?ó^˛bČްćË«ˇjšˇŤáŃao܇řÓďB™éűÎzo+· F”@”@·MË®Ď 1¬°×Ž‘ë˙sGhÎ÷G?iŔÚ§·ă͇Ö"ÜĂ„3F˘bji»÷GcŘż¦�0u™­¶sţ6•Ś ¦ G*ĺ Łj9îöv „}CDDDDůĹ0†¤úćîMK}K*…†ćĐ€Řewż‰°6cL·?ŁĎ×é{ŚËN6}   Č]Ga/ßřŻ_wÂXBُ ăš3`\r2Ś«9ýlŐCKŻěń,šă˛SŕůĚbâ 3ao=ŕ ŻZéô°ń,ťăšE0n\ Qä‡jAn9ľ_ĆŹ€÷ß·qÝ™#ËŕąpZúáąp>´Ńĺ˝vŚr5Ĺí”čĺ÷h>ÔŠýCkmÁ2 ‡űťˇv,?eKTÎ( ÝŻ�� �IDATC‰ŰłĆŠ:ÇU÷ĄéK<·zЧÇű†-†14 Y¶Ťş¦PJg]ęO Í!X¶´ŰďY4 Úř®÷oŃĆ ‡çĚéťż1ŕqńřnľĆe§@ź9Đ5gĐ›şź;”$«Q´áĹ%A�€ŞkIżđźXĺĽßđ$.U×ŐZť }ę(ç=>´jgŘŚ:Rźľž©#{·WLźHl ęĄ÷SÎËď]„Ĺ_›;ncĂ_wcÇ[éAU¬%Ž˝�L=·mŔab¶$;Łš%ńÜă×ů:żćŕ. ~ąĽť_Fă&ZŁ1î¬~ŠDéÂěE]9¦˝rîč=řłĄk0®<Ý©béěŹâä‘đ\ąĐ™˝ŞľöG;`oŢř hSFÁsá|Î�Č]G2>ňXć¶2«ÁďËص*őó‰¬Kű?ă=š–·c¤yú7ő1#6ęw7ŁaoKr‡M(ƨąNőĎŃ­ iďßůöAHKbř”R”Ťo›R»h„3”«ůp8­š¦éP«űz°ű˙{˙Đť`ĆĐ€‰Ĺ‰›`‰L˙ĆMDc¬ą¨·‡}Çu ĆE  /ś–ű-ó'¸ěOţ4Ć,Xoo†őÚ:ČCnʼn¤;C“0Üíô8÷ňH˝®(ąçXÖUŞĆÖä4Űň`T‹Ű;©Ľ8í}rË÷$;±®ň""?Pŕ4éµ·93©¸•ü>QUÖńĎäfĘV˝~Ś<ľžUŚ$2&•š_)´Ćő}©çrsďübVü|=jv8Ăľ¬¸Đ�@ ¸­ŻP<la÷űNUĚ´eé^ĹÔ2膆hsűVs×ĂŢťđmäěîíęéľ!"""˘Á‹ł)Ń€gŰ6,[&4h˙ r>(Ą Ą„eĽĆ˘"ŕ… ÷°bJ8C–DŔ€µ|S[%Š�ôÓ§ÁłhZ×W5˛ ÚŘ Čý50ź~˘0�eŮ@Ô™íI_0 � Ť{őv¨#Ť?ţ˙Ů»ďđ(Ş5 ŕďĚ–l6!R …Ţ{ U @š  ˘˘^ô‚í"J 赢RĽRDAĄI ˝ ¨iŇK¤%„„ôms˙Řě°›şi› yĎ3Ď–™ťrÎŮ33ßś9łÇIP*ó bčÖčď év b/Äj@Ćm6D_†éj¤ä4sÇ˝®j(Ö�ĘŽ `Ř}†§aş )9RJowŤjĽMnć€LFô«…˘]]µü‹•Gą6M«*ńă­őéÜ:•€«żÜ‚.Ă€ 6~¨�­·Kˇż­âďŠęÍ|qëTŽ|sî~dŢ×Aźa„B%˘n÷A—ˇnÂe„O-řÖö̱J4ěŠ3›ŻâÄşK¸rč2’ł`Č2ÂłşBŰý‰ej-kMDDDTŮ0Cĺ{b-vwÔk’$ddę!I”˘…(BTŠP Đ”„Q’`2`”L0M.*e‘ňС´.@Ž>TŠJѲ6„*Zč·$ Ş>-!6(z'żĘÁí`üăLoAJN7?Î:ŔŠ5ÍýÇ�CŞAٵ1 Ń—L=ÄzCý ßv,×üDW(ÚÖ…á×sćĎőŞCŢ<×tŞGŰŔpđoH™zŐ} ęŃL~lµ˘YM*% Ç.Át3P)ˇh e×&@!ů*TŃ@ńHS˙ĽÓ­{ďŢŠŚ6wpÄĹ]…”;Ĺ«#�ŕŘOçqçě=¬Zí\Úw—÷ß„_Coů–!©€Vt­źj�Źę7q#úŇâ3ˇtQ °©/ô†G`v˝Y\űí6� AxާŻÓµ:Ô®J\>t ińPą*ÔŞő -Ömt.î Ć1CTŽDQ„ ć_,%IĘľuF‡,ť™:}…îXÖ)*…ŤZŤZ54ęN *bůŢÝ(h] ¸¨ •đö)±N�TCĂ�Ł1¤jńÖEĄ„˛SC SÁťý*ÚÖ…˘m]Űđ†y·RA]Hß6˘ź'ÔOwË|!óPŹę‘yhUĘVµ‹ź?.*ycި Ň( /âÓ†¤ěX_ěéD˘€€&ľíŕ…JDĚŃ8Ü>ʏł:& íŠJőĂP?<˙´Qş(Ńďý°B×+¸­‚Űú•¸<«4 ¸Ta0†¨Ňť‡1 ČY‚�Q ¸hcÄ ‰jW(˘ă[Ăä\o7łűf)Ń|Šůčf*8oňă^Í÷®ýé5‚ÚřˇVX�\­nIŞZÇúŚ:¸u2W~˝…”Řô —^îŐ\Yh*!cČ)XnWR*•Pşz�© Ć8#•Ö …BÎłrăéá~Fńűގ˛ůk]�Ďü1Z Ňďe©ďöŁ˘j]Ď|Ë›ĘUĐţmďŹř+ÉĹ{ÚV9qqWAëŁaÁ!"""Ş„Ś!Çž¬ŇGŚZ­F•ŔşH»ÇÄrBŐëÁĹĹĄĐ<vHYŞćéźřÜŹ®€ÄúŐáRPÁąşŔeü gţsC¨ćQx tCüĄd»űŠŞVĎËÎĺ›[ĘT¤şĐŇO U>|´5•ëÉHΓwŤFĆ<§–ś)ÇܸťM0&Ż<tŘÚhÔĽ-ÎR:Ľ hÔ…N§Ö*áě^éÓË+Řj-݇UV ĆSQ*•¨Ý ľµ™Ζ7Őę˘nĂ&P*ťçRôĐBôfđ®< ‚ů1ßZ»˘ővwH•rď{¨|’K€wH»ÇMDDDD/cČ©NR� ZµjjĽjě<5…A­#ŕëëk“WN±jZ!Uó|‚•ńVë1¤j‘1ZoT­ëY©ëěâ®BŐşž Ä1T'pV'ňyÝć˘T*Ń®cg(jva‹'ˇ¨Ů mĂ:Ęť÷ć—wĺ¤4jÁUˇđ‚ŕÂÇ—yz»¨ đ‚\Ő®[“ňŁÖ*QµŽ'ĽÝˇŇ(ÚôRiđvGŐ:žĽ5‰Ěç˝LrŞ“Ľě~===Ń©Ď`ŽJ’Î枎Iĺ0żćčń<==ĺ<rZžn=ÝĚOYJĎ‚”ˇtHFÓCŃŃo9ý)ÍO(R+!¸Ş­K©·BŇúh őŃ +EʬT=téz˛Ś0$»;úu¦:LT Pş( ÖŞŕ⮂K‰Č1ä'/’$Ů<iI„††"#|Ný˛.I§!HF&VĘyĘkH÷o…–]ú fÍš…¶hrŞ2Ąu1 ­ŠK.¨r`0†Ęçdą€G\[Źkذ<==pô×�wţ† »ĘÄs€ ×@šŁkçn ´É›‚ň”ě8'¶ă{Áęłĺ˝hőjŮ2{PPđŇéôGÔ”SÎ`Śĺłő«ĺ}VV.\¸3Ç˙„ÇŤ˝HIĎ@F–é:čŤl1SJQ„B)’űYî2ő›¶@“&ŤˇŃhĚ|AČŐ&gđ…Á"""""z¨ŐŞ0�I�ô�t� Ů1{0Y ’Ő«ĺ$×ú=űF¶Śˇň“_ëś·+I’µZŤ¦M›ŔÝÝWÖ´®P«TиhĄ7 Ko€NgßgéŤňűÖŹý>>Ţ9–ńp¦iÎäLLĽ‡ę±»óLKzĄeémľŢ­jÖ µÉŹĽŢçĚ3""""""˛1T®ň Ľäg9Ń—$ ®®®0 ’…S(Ôᅦľ%G^-ŤââîŕĚĘ}EJ/WWW9}ěiĂ@ QŃ0CN%ggľ92*•• »k×ü´>~P«Uý­5ÖidýY­V9˝T*e·%1řBDDDDDT2 ĆPą+¨ELΧ,ąşşB¨ZRš}Á…Fí Őj $TôŕBÎ@ڵ˘¦WhcszĺLöCDDDDDTzD&9Âú"±´ÔpssCP‹n0h| ť§[Ő tčů¨9 ‘ŁĄ‡ő`˝¬Š4ä·ŢÖßiµZÔhŢŤŹéŚ=űËÁ«ÂZÂ0CDDDDDT< ĆÓČŻ’śAĆŤõqoµŐňť—¶j0Ú÷…ĆŤç PXżĎ+¸Q‘Ň« @Śĺ˝9˝" IŻ´ď˙,7nśgšôžŠ†·)‘ÓĘ«s_A P(ĐŁW~Żâ…›çţ�b/AH˝Q4BăYľőQ·eGtčĐJĄ˛Ŕ�ÂĂÔgL~ŰŁT*Ń=Ľ7~w÷Ä­óć™^őZuD‡ P( ÄQ Ďwíř^°úly/Z˝ZEö ĚÔ�T�Ľt:ý&55°×gË{Ëk\ÜÜĽy©©©��wwwÔ¨Qţţ~ůöŔBAéWXzŮa`†fjµ* @�=�ĚŹ§5�0f&«A˛zµś|YżGŽ÷ćóŞ|–Í` 9m@ˇ q *㣭 ›¦°ta †*Gcx›9Ąüž°d(čÖś‚‚k@ˇ t)NZ1CDDDDDT6Ś!§•W@°/°ßüJ2ŢŮäŐĘ%Żt*ę¶U¦�Qy`0†śZ΀Śĺ; ˙`D^Óu\EIkůĄSIÓŠ"""""˘ŇĹ` 9˝Ľ2–ď‹;ż‡5ť�0­śśČ$ Š 4‚‚ TŠŕBim'1DDDDDDe-c¨Â(ĘíIyýŽéĹô""""""r ĆP…Ă`Ó‹¨"ămJDDDDDDDDÄ` ‘1CDDDDDDDä@ Ć91DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć91DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć91DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć91DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć9’I@T8I’ Óé ×ëa0`4!I’C×A( (•J¨T*¨Őj‚ŔĚaů`9©LFRă!e$CĘL…¤ĎL‡•A�Q AĄ q‡ŕę Ń˝* *7•¤n`ĂňĹüełî r˛˙…ß Vź-ďE«WˠȔـ €—N§?¤¦ŠČ`0 33™™™Ną~ŤŤJ%ăŞ,,'Ny ť•SŇM’cťî�Zž˝j@pqcfUÂşu Ëó—yĚş(ojµ* @�=��Cö`ĚLVdőj9ŕł~ŹďÍÇbůŁĺxĎ` U:iiiČČȨëęęę 77žL±|°ś8ăÝ+0&^ŻëŞđ †˘ZmfZ%­Xǰ|1™Ç¬;l9"Ă0$Q©©©0 fť322 ×ëáîîΫ ,,'ĺLĘJ1ö<L™)fťŤ‰×!Ą'AĐ€­d*aÝŔ:†ĺ‹ůË<fÝAäxěŔ—ČŠ^ŻGrrr…Ü $''CŻ×3#Y>XNʉ”‘ Ăő*caĘLáú HÉĚČJX7°Žaůbţ2ŹY¶‹Á"«ťŔýű÷+t犒$áţýű<!`ů`9)ŹtÍJáćHĆŠ{ )őćmČJc†VÂşu Ëó—y̲Eä8 ĆeKMM}hN´SSS™ˇ,,'fŚ=_ˇ1rŮ0ęaŚ=Ď ­¤uë–/ć/óe‹Č1Ś!‚ął´‡) o0–Ć+Ű,,'ŽbĽ{ĄBŢš”Sf ŚwŻ0c+iÝŔ:†ĺ‹ůË<fŮ"*{ě!‰Xá eŻőpqqaGhNR>–-ű[·n čŐ«ž{nT‰ňĆh4bäČga4š°|ůwpuŐ°ś”)+­XOMʸy G¶"őâqîÝDjź�¸×k ź°Gˇ ¨Y®ŰeLĽŃĂźúV˛}÷E,_Ě_ć1Ë‘c°tSĄ—™™Y¤é“’’ńóĎëqôč¸sçT*BBBĐłgwôéÓ …©¶ÍÝÝť™ěŔň‘źť;wÉÍnׯßI^|ń_v˙Ţd2!==÷îÝĂ•+W°mۤĄĄ�&OŽÄŕÁPż~=x{{ĂÝÝŤĺÄLI7‹6˝^‡[ëç#ń÷í@ަ陱×{ żl€Oç¨>če eľó‰Ű¶IÇ÷@?Ńfś[hcÔ|q:Ú*%Ţ6…}frÔ ‰‰‰Đét6ßůúúBĄR9dýˇ×ëěšÖŰŰ...Ü9qůş˙>Ö­[ŹŁGG\ܨŐjÔ¬Šľ}ű {÷nÇ•,ŹÓŇҰfÍ:üúëo¸{7îînhҤ Fچ:ujŰµĚ .bíÚu8wîRSSQ­Z5tíÚC† ¶yő‘#GńŃGź��Ţxă?čŐ«§ÍvNš‰+W®�ĆŽ} ôgŮ" Řń˝`őŮň^´zµ ŠěA™=¨¨�xétú#LjrF’$!!!ˇHŻo˝5 ńńńyŽo×®-ţűßiezĐSTľľľNµ>sů�ĚWşV¬X‰˝{÷�zöěgžy ÷îÝÁ`D||<"#߆§§~řa™]ó|ë­I8ţB‘ÖŁaÆ=űS–“2ŹÄˇżô«Ý÷ű› z\ýz2Ň®ś�x4í]ü-dĆ^“§Qş{Áv’d‚{˝V¨őŇ'ydnmřń‡~ÎwY®AuQ{̬dA€Şng@T0ŻKX7X¤¤¤âÝwßÇ… sŤS©”xůĺ1čťgÝrĺĘU¤§§ş ­V‹ÚµkĺyEůüů 5ë3ÄĆĆٽ΢(˘oߌűobńîpgSvĺ+.î&Mš‚„„Ä<ÇŘcĆĽÄcŤJ”Ç÷îÝĂ”)Ópóć­\Ó* L™2;†¸Ě#GŽâÓOgĺyUhh(¦O˙�^^žcL&¦O˙GŹţ�2d0FŹ~e‹*µZ €€€!{0f&«A˛zµZżGŽ÷ćc>&3Uf9ŻJćçź×Ë'ž†ľ}ű == ~S§NăŹ?ţÄńăˇuëVNµŤ%ą˘ÉňQ4+V¬ÄÚµN×®]�xţůg�wďŢ-ň<-WĘÝÜÜŕéé‰Ŕ@tîÜ óć-��Lđ&8[·n!))iiiP©”,'ŽĹ¤Ć©ăĹŰëż@Ú•“P¸ş#äŮ·ˇtóŔŐE‘ćťľ·?ôIwQwÜȸ~×W}†Ô‹ÇqkăBÔúZ®yÝ;¶ Ô·�Úŕ­WôÉ ¸ňŐdܸ„3ď ±-KžŐŕÓľ/ü"ž`G€E’$Ră!zř3łKX7XlŢ… .˘mŰÖ8qâ”ü׆ "66_}µ=zt·i!“žžÉ“§âęŐ«v/§V­Z1c:´Z­Í÷łf}†řřtíÚŮćĘvANź>­[·ŁAúďÉ}‘“•ŻeË~@BB"DQÄ“OŽ@›6­‘’’Šďľ[†k×®!*j+ěŹęŐ«çúí©S§qęÔi˘GŹGx¬ńäń‚ qóć-‚€~ýú iÓ&‹‹Ăڵ둖–†yó mŰ6ů¶ÄKIIÁś9óa0 ŃhđÜsĎ 88»wďÁţý%KľĹ[oŤ/p˝—,Y*b:wî„ýëy–-"c˛OZôE{ňIrr˛ůŹŁTbäȧä[’† ŚS§N�îßOqşmäNĚ1ĺ€Ü"föěO!I&NŚÄŢ˝űđüóĎâňĺ+xűíw�˝z…Ű=ĎO?ťŽ\ �xę©ň÷–`L÷îÝĐ˝{7�Čs:–“˛#e$Ű=mćí+H8ş‚ "ôů÷ŕ^·%’˘÷– —jÁ¨÷ÖBśžŇw¬Ę«Şu{q»W ń·Mđí4 W2Ćts]siÎ+öçsň]ÄíZ(Dř÷~Öţmd0¦ÄuĹť;ć€ěرcłgĎÁĹE~ýúŕ»ďľÇîÝ{‘€€iľ˙\˝z:t@ppŤB—qăĆM9rűö@˙ţýäď‡NťÂ0yňD»×9&&Żľ:˙}¶ŘÁÖ1eWľ6¬‡€€jđóóGź>ZUĄĄĄbÖ¬˙A’$Ü˝źo0fĺʟкu«cżÎ“Ç·nÝ‘#G�C‡Á /Ś’§oٲĄÔÍĘŇĺŚŮ˝{ź|kőżţő<}´/� E‹ćŤŤĂąsç±˙AŚý/ąuŚ…ĄË֭۱qăćěőo Ć«… Ë1Cô*jö]ştĆţýa0°aĂFôë×éééŘşu�ŔÝÝ­Zµ(đ`�đÍ7 ĺqgĎžĹĉć«ăˇˇ!X°`˘˘¶`áÂoäiT*%jŐŞ…_ü7nTfŰHĄ“vQîÄrěáĺĺ…zőę˘Ył¦xö٧‹4żĂ‡Űd±w:–“R ĆdÚ˙řÍÄŁŰ�I‚W›^pŻŰYq1HüÝ\wčďÝÁí¨EPşy˘ĆcŻÉ…&+á&’˘÷"ń÷m¨>čĺ\óUj4ýt«Ýëzń8®,ś{ě˛?“ÉGŚ–Ő˙ĄC‡öčС˝őiLžÓ%%%�€ćÍ›:ßÓ§ĎŕČ‘Łňď¬ë%�puu-ŇzşşjKˇNdSVi5pŕ�›Ď&“ 111ŘĽy �ŔÇÇőęŐ«˙ ćqÉóřرhyş^˝zbőę58pŕŚaÆ ,¬CË;~ü¸y#ŠčŃŁ»U E@Ďž=pîÜyH’„żţ:!_ ’÷K˘§OźÁ×_“}Ě˙ţwj±űĂbŮ"cRFٱHÓ‡…uŔĉă±rĺj,]ş K—>čóŁU«–xńĹÁÓÓłĐůÜľ‹sçÎŁaĂ�€AĄRBŻĎ˝ĂiŢĽęÔ©ŤŘŘX>||đľ˙ţ[»Żu©di׫W8VŻ^)S¦ÉßőîmnăëëĎ>›Yäy&&&ĘWÓáăăS˘éXNJ1Ł·żĆ” Ç��Ţí"`ŇëpiÁ›0¦™[Ö YČĽ}ő'.~˝ŕÓľ’˘÷"őü±RY_mÍ&ćŰűńe˛Ť¬iVľi5cĆl:ô �sß ÝşuèQ#ˇŐ>ŔĹÇ'ČË‹‹Ë~˝¸¸;ň4U«úéĚ_çÉăë×oČ“•+’§€sçÎᣏ>Á믿jÓÂ&§;wĚeˇZµŞąžÖXłf¨ŐtąűžJKKĹ·ß~'oă´i“áááÁşÁ˘'Ečë0GçOś8-ĽX»té2Îśůˇˇ!ÎŁiÓ&8}ú öď?† Ŕd2á—_~EŁFŤpňä©\ÓwčĐ�L0çÎťGbâ=”É6RÉŇnäČ' PŘłgŻś1b�`âÄ)8{öT*7nŚ˙ű_ -tžŃŃÇŃŞUK�˘Ł˙˛yJAq¦c9)E&űŻŘé“Ě2SV.Í}UÄX¸×keo›ď,·&éîÝ©ŰČşfΓVFŁgÎűłłnYńÖ[su{óćMŚýoůó’%‹ŕďďÇü­€yśšš./#:ú8Ţ~;-[¶ŔéÓăÓOg"33‹‹îÝ»ĺ{aĎň´FŤ&w+:ŤF“k:k‹-Éd’?ďرcĆĽČş("“€Č~‹-ĆÎť»`4ńÂ Ł°fÍOřţűoŃľ};¤¤¤ŕË/âŔÎĂÇÇ5jÔŔˇC‡`4qüř $%%ŁYł¦yNo0č‘‘‘‰sçÎáúő¨]»–M_ä\”J%ž~ú)|űí7řöŰo0rä“ňM,÷Jëőzś8qoĽ1111…ÎóĎ?ŁŃ¶mk´iÓÇŽ+ńtT^Ěůoȸ}Rî–)ú{±ňŁ®~Ý„żß†sźŚb˛‘Ý&Ož€Ť×aţüĎѬYS$$$âëŻËý™ŃĂźÇ*ŐM#F CXXh4´mŰŁF™o‘ÎČČŔßźÍwnnć[ł˛r·Ś´~$·e:k&“ ľľľr_2QQ[ňĽŘHD ĆPe?5*BGb©©iŘľ}'� M›ÖxüńˇpuŐŔ×ד&˝%?˝făƨçc2ÖÉÉ÷qúôąŹŹ6mZç9ýŇĄË0|ř“0a ´ZWĽöÚ+EZo>Đ1ĺ�®]‹Á´i˙Ĺ!Ă1`Ŕc0ŕ1 2Ó¦˝‹Ěśů ˘˘6`ŐŞĐ»w/čőz,Zôm!ĺĹ„'N˘U«–hÓ¦Ž?‘g“]{§c9)í˝¨ý LU^Ő��.ľŐŃpę˛\Ź«N<ş ±Űż`~R’!5 ¦¬ �€ÚŰŻBl#ë'/®˘y˝‹Úěßd2–x»YÇ8.­ jŐŞ…)StŇĽ˙ Eß˙-˘˘6 *jFŽ|�Đşu+ů»¨¨ EjĂüu®<öö~p‹rť:µm~gÝzŰŇAo^ŞU3ďŻîÜąk|€¬¦Ë»ś|ôŃűřčŁ÷ˇT*!IćĚ™‡ôô ÖD ĆŮîĚ앞ž.7»Ěů;…BA0˙ťRR îěR’Lxä‘®�€'Náĉ“ ApppžÓ8�3g~‚·ßŽ„««+¦L™†K—.—É6RńÓîÚµŚ?~üŽ”�� �IDAT'Nś´yJB^­`ÜÜÜ0zô �€ż˙ţ»Ŕů®[·Z­+T*5”J\]]±~ý¦bOÇrRĘÔ*ŤÝÓV©ß�˝ m*u®iôŮ·#™tY6ß»7hS!¶‘usóńńV«Ĺ±cDZqăflßľÓ®áűď—�‚*]š9˙±IFŽ…§žzłg˙/×8 ëŰFřźx¸ó¸qă†ňwgĎžł™ţĚ™­aüýóoeÝşu+yžűö°:†•°gĎ>9HҲeó\żíׯ‚PłfMů6í;wîbńâoY¶rŕĺ.ŞÜ�ĄŇî^Ú«VőE@€?bcăđÇ"*j zôčŽôôt,]ş:ť�ТEáOş¨]»BB‚qřđaÜľ+7ÍK@€żüô¤Ű·c±dÉRüţű¨[·ŽÝŰHe_>-Z ˝^ŹŢ=úy¸ąą�ŇŇҰxńRěÚµ‹}‹éÓß7ź\»»ÉÁš‚üřă*čt:<őÔ3ňw+WţaÆk:–“RThÜLűgďö(~Ů€Äß·Á'¬žÓ$źţ¦eYČŚ˝ú`‚ߏ–ď6R±ëg"Š"ţýďŃ?˙K|óÍ’"ý¶V­Zčׯo‰ŇŚJż|iµ®đÇ… ±˙A¸¸¸Č­oW­Z-OgîO¬l×™ś#ŹŰ´iŤŔŔ�Üľ‹ź~Z OOO4oŢ ýu?ýdžľFŤ¨WŻ.�`˙ţ;wjŐŞ…O>ů...ďU«V#55 K–,…^ŻCPPöěŮŹsçĚž®]»ÂŰŰ;×ú6hĐ@~?bÄ0>|WŻ^ĹÎť»Đ±c´k×–e‹Á"@ĄRĺj~YĐAěřńăđŢ{ ## ~cóčiŔÜĂü¨QĎŘ5żnÝşaĹŠ˛ßwÍwşŁGG||<ŇÓÓńË/żÉÁś˘l#•}ů°\}˛Ä�ZÁěÚµ;W+ĆŤÚü62rÖ¬Y‹k×ţ$™›?ńİbOÇrRĘ WO é¶]Ójj§ó@$ü˛×–L ąq¦¬ $ź8hóťo—ÁpńĎÝŃłB[ĆŚTdÜĽ×ö=¶6ýÚs~{řm©ŘuC~ňę”R’ĚW¶sÖ íŰ·ŹŹ‚‚jŘ5ďęŐńÚkŻäşE0w*ޤIś;wYYYvÍĎßßÍš5-ŃIë˛+_Żżţ "#ßFjjvěŘ…;vŮŚoѢ ço›5kŠ‘#źD```‰×™ś#Ź &LxďĽóŇÓÓńĺ— sw´0aĽ\ĎěÝ»z˝.\Ä•+WѨQCxxx`ܸ×1cĆldffbŃ"Űŕmpp^zé»)ăÇ˙oľ9óç‰ ćˇJw–-"c¨˛S«ŐEšľI“ĆřňËůX»ögDG˙…řřx(•JŐ@—.ť0pŕ�»çŮ˝{W¬Xń4¨Ź€€�ddä˝S>yňNž<QQ­ZU<ńÄp„…u(łm¤âĄťĄ…‹u Ć"żV03g~Rč|۵kk×U${§c9)]˘{U‚`÷ÓŞzYq˙ őâq»¦wŻ×Çä9λmâ®ĂĹ˙˝\äőöj×Çľ@Ś @tŻĘŚ.Ĺ˙KHů–ÔéÓ?———͸óçĎĂÍÍ ľľć>ââî`ţüňř_~ůµH˲L˙úëŻÚô€ŔŔ�¤§g`ٲĺ¸qăfž'@ýű÷C۶mĘ=ÍXľ V«V-,X0k֬ñcǵÚ!!ÁčŮłúôé Qó Ćä÷�ćoĹÍă ęcîÜĎđÓO«qüř ÜżžžhÝş5žxb<‘łOźś?uęÔ¶iuݱcfÎük×®Ăٳ瑚š ?żjčÜą3†}L>¶)LíÚµ0|řăřńÇUHLLÄ—_.ÄäÉX¶`y´CÁß Vź-ďE«WˠȔـ €—N§?¤&g•ššZâ+śÎJŁŃŔÝť·8˘|Lš A0cĆÇĹoŹ·Ţš„óç/8MÆ 1{ö§,'dŚ»�Łť­c�@2pkăB$ţ¶In ‘;"·Ë`“«Ł_ “^‡¸mKq/z )‰v-[ĺY>íűÁ/âbá÷á+ĽˇđŻĎL.Ĺ}‡N§ĂçźĎĂ‘#GshýýýđňËcä�$Iřâ‹/±gĎľbÝĄT*ŃłgĽţzŢżŻ\ůV®ü)ßß»¸¸`ĺĘeů>ţ–u ŹMż<ţd٢‡•Z­ @@Ŕ=ł“Ő Y˝Z®ĐYżGŽ÷ Ć€Á`@RRŇCąm^^^Ľ×ö!*S¦LĂéÓg ś¦Ył¦ř䓏XNHĘJţÚźEţ]fě5$ţľ ©çŹAw/ÎĽă÷ö‡{¶đíĐ/Ď[“MUł-7fr%Űwp_ÄňĹüełlQeÇ` ‘¤ĄĄ!##ăˇÚ&WW×<o™!––“ŇgĽ{ĆÄëŐ6)|‚ˇ¨V›™[IëÖ1,_Ě_ć1ËUfŽĆđŃÖD0÷óń0EŢ•J%w`,,'¤¨V˘¦ĘCł=˘¦ 1•¸n`ĂňĹüełl9ŕx‹I@dćîî^č“m*Ax-ËËI9P4€ ¨řO}*(0C+iÝŔ:†ĺ‹ůË<fŮ"r c˛)•JxxxTč˘ đđđŕU––“ňHW7(k4©ĐAˇ2oű‰©”uë–/ć/óe‹ČqŚ!˛˘R©ŕééY!wJĄžžžP©TĚH––“ň:tő„2¸E…ĽeIÔT2¸WOfd%¬Xǰ|1™Ç,[D>n´ă{vŕK•REęTŤťś±|°ś8źŠÔ©/;ë­Üuë–/ć/óu‘->M‰¨ś dff"33Ó)×OŁŃ@ŁŃđj,Ëˉ“’˛Ň`Jş Sr,$IrŞu˘g�DŻĽ-©’Ö ¬cXľżĚcÖDyc0†ČYN¨$ :ťz˝FŁŃá'V‚ @ˇP@©TBĄRA­Vóţb––“ŠÂd„)5RF2¤ĚTHúLŔdpX9•Tw®žÝ«˘‚ySIęÖ1,_Ě_ć1ë"cś’#‚1ěŔ—ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cĘѱcŃXľ|$I*÷uąuë.\„¤¤$fĚCŽyMDĄ)++ ÝşőÄ‘#G™Dvb0†*Ąµk×!,¬‹<DDôĂkŻŤĂoż.—őŃét ë‚M›6—Ů2}t ,XČĚw°>}µ)k–áÎť;L'9 aa]đĆoć—Ž»",¬ víÚS*˙Ç#G~dž ›ˇ×ë¶m–ˇwďľ8q2®_ż�¸té26mÚŚŰ·c ť×čŃcđŢ{°ŔÁ´iď ,¬ ćÎý˘ĐicbţAXX>|¤T–}řđüôÓ*ůsQňšçÚµ„…uA§NÝrĘ>‚°°.¸qăFžźółnÝĎ ë‚çžÍćqc™7FG‡ hÝş®\ą*§ŐéÓgrMűůçóÖ#FŚ,µő]ż~8(^°`!† ĆÂK Ć9«Ůłgŕ믿DdädxzzŕÍ7'bÆŤL*U˝°téb›ÁÇÇ'×t&“‰‰ĺ$||Ľqôč¸yó¦Í÷[¶lEŐŞľĄş¬W_‹uëVA­V;dŰ‚ĺr8uj$.]ş‚ńă'Âd2ˇ[·®Řşu35jČBPĘîßżŹC‡~EXX{l۶Í!Á7kGŽüŽU«ÖČź™×ÎiÓ¦(ÔŻ_žžŘľ}G©Ěsóć­ kŹóçĎăÂ…‹Ld7–‰ß~;‚6mZŮěË||ĽńóĎëm¦ÓétضmŞU«ZŞË˙ůçŤ8xđ3‚*c¨RkѢ9Z´hŽ=şcúô1hĐ@Ě›·��ĚWÁßyç]ôęŐáጜ&·hřţűĺčÖ­'233�{÷îGXXDEm�čőzôčŃ_ýŤ|ăÇÂŘ±Ż˘[·žxę©gqćĚßů®Ű¶m;đä“Ď [·ž>ü)lܸÉfüşu?cÄ‘ňř-[¶ÉăŇÓÓńá‡ÓŃłgúöí/Ż•oo4jÔĐfP*•X°`!Fډąsż@÷î˝°mŰv |őŐ×0`0ÂĂ#đć›äV � OĄŁNťÚŔúőţw’$aÆÍčÜąłÍ´…ĺIa˙Ç bĐ !�ňľŇýá‡Óńüó/ÚŚß±c† {˝zőÁš5kqřđ<ńÄÓčÖ­'¦L™*×ayŃh4r9ěŃă<ýô“¸qăââîäZţíŰ·1aÂ$DDôC˙ţđńÇ3žžžkžééé=z ž}öÜżź(Ű·ď€(Š?ţ $%%ăŕÁ_lĆ˙óĎ?xĺ•×Ń­[OŚ12×ţáÖ­[2e*""úˇgĎLž‰{÷îÉ'7aa]°|ů Śű*şví§žzVľj˙á‡Ó±jŐjÜľ‹°°.Ř»wżM^/Z´ÝşőDZZšĽĽ-[¶!,¬ ®]‹�lÝşO<ń4y$Ď=7š·"”ŁŃíŰ·ă‘Gş˘sçÎظ1ŞÄóĽ|ů Îť;‡çž…ęŐ«căFŰ–>ýS„‡G "˘6lŘÇóć-§9sćoŚó şwď…ˇCGŕ§źVÉ·Ufdd`Ö¬˙aĐ !čŐ«ĆŤ˙Pď“*ëqŁ=ů|řđtěfó]—.]°{÷^›ý®]{ ×Đşu+›i J»ÂŇcČa¸xń˘\oY·*Űľ}'| ={F`öěĎyዌ!rVÆ Ezz:ţúë$IÂřńqîÜĚš5źţ®^ŤÁţó& şw:ťÇŽE�Žý�đűď��Nś8‰ŚŚ <ňH7yţkÖüŚŃŁ_Ŕ7ß,„(Šřŕéy®ÇÁ‡đţű"<Ľ–.]Śţýűá“Ofbűöť�€łgĎaÉ’Ąxúé'±rĺ2ôéÓ}ô1.^Ľ�5ë3ěÚµ‘‘“ńůçźaďŢ}HNć ’3şqăŇŇŇđĹsŃ©SGĚ›·�6lÄÔ©S°hŃBH’„±c_•O€ OĄĂ`0˘OźŢŠŠ‚N§“˙Ű7oŢDĎžÝm¦-,OĘâ˙řÇbÎśŮ=úĚťűV®ü3f|ŚO?ťŽ_=Ś5kÖŮ5ź»wďbĎž}pwwŻoîÖZÓ¦˝‹ääűřúëŻ0gÎ˙pćĚßŘ·ożÍ4YYYxë­IHKKĂĽy˙‡‡ P6oŢŠŽ; 44Mš4Á¦M›lzoĽ1wďĆcîÜ˙aҤ·đý÷Ëm~˙Í7K’’ŠůóçbÁ‚y¸xń2fÎśm3Íňĺ?ŕůçGaőęQŻ^L™2 7oŢĸqŻŁGŹG Š"6múť;w´ůÝŔ`0lňvűöíhŢĽjÖ ĹţýđŃGăńÇòeKѱcĽůćÄO ©č~ůĺW$&ŢCŹÝŢWŻ^Ĺ©S§K4ĎM›˘ŕăăŤ-š#<Ľ'vî܉¬¬,yügźÍÁöí;0qâĚťű98»wďĘăccăđúëoČ-ę^~y ,Xü �°dÉwصkŢ˙],_ţ=Ôj5V®\ĹăƇ츱°|ľyó&nܸ‘G0¦A° îlذÝşuR©’ż+,í KŹĹ‹ż†§§ÚµkM›~–÷Cqqwpüř_řŕ÷0|řăX»vöěŮÇʆŚ!rF–Ű’’’qęÔiś?oľ9­ZµDóćÍ0q⛸víţüóBCC‚#GěLź|ň üńÇź$ ż˙ţüýýаayţŹ=6íÚµEő1tč`ÄÄÄČ'zÖÖ¬Y‹&MšŕĄ—FŁNťÚxţůQhŐŞ%Ö®5ź`5jÔ[·nĆŔ TŞPŁF H’„«WŻA§Óa÷î˝1b8z÷GŁF ńî»ďŔh42ËÉŞU«mî5ŹŚś&ŹÓh42e"š6m‚*UŞ`Ó¦Íxá…çĐ©SGÔ©S‘‘“‘ß~;ÁPŕx*=&“ Drň}ůŔmýú hѢ9‚lN˘ Ę“˛ú?>ńÄpaČÇ`0Ţ5k†˘S§ŽĆ?˙äeúâĹ‹rY8pŽ˙ ~ř~ž·II’„ÔÔ4¤¦¦˘fÍPüđĂ÷čß˙QyĽ^ŻÇ”)Sůó?‡··7 OÎźż€‹/""˘7� oßŢřăŹcr-'OžÂ­[·äýM۶m0věżmćńî»ď`Á‚y Ş•J?\ştĹfšA!,¬9»v퇇üüüáďď???¸¸¸Řü.00�íÚµÁ¶m;ä ݱcÇ1xđ@�ć+ęť;wÄĂ‚±c˙ŤęŐ«Ű\Y§’‹ŠÚ‚:uę víZhßľ||Ľsµd) ˝^Ź;v <<˘(˘oߤ¤¤bďŢýňřť;waذÇŃ·o5jwŢ™fs\˛}ű("¦NťŚZµj˘wďpôë×›6m± Čę’’Ź*5k&OžŔăƇ𸱠|>|ř‚‚‚dóWWWôꎟŢI’péŇeś:uôđ ÓúÂŇ®°ôđőő…źź?üüĚuś(šOqU*&N|­ZµÄË/ʧ§.^ä­zä<”L˘îŢŤ�x{{!66�PłfMy|ť:µ�qqćqÝşušCżŕúőë¸{÷.ž{îlܸ —.]ĆŃŁ k×®6ó÷ňň´9 ·śĚ)•¶ĹŘŘ;hŢĽ™ÍwuęÔÁ��ńńń9s6ţü3ľľľ 1ďüŚF#’““ˇ×ëQłfü[OOO›e“cőéÓĎ<ó´üŮÝÝÍć˝ĺ !)) ™™™3g>–-[a3ʏ¸ŘBÇSé‘$ čС6oŽBXX{:ô+Ţ~{ŞÍt…ĺIYý]]Íő‡ő§…Bˇ€$ĺß [­VcÉ’EHIIÁ+ŻĽŽđđą®fZĽ˙ţ;řňË…7Î|u˛]»6xăŤ˙ 88�ä@U@€?1X˝ÚÜWKdäŰEQn&µ/˝4ZŢ÷„†>('5k†ÚĚcÓ¦ÍřţűHKKEPPŇŇŇs5· ô·9 ŞZŐWžwaŚiÓŢA\\öěŮ WW ÂĂ{fđ.!))Ź>:Pž>1ńBC™ąĄ$!!‡ý �čÔÉÜ2Âd2!*j Ţ|s´Zm‘çyđŕ/HJJĆš5k±nÝĎV˙ëŃŻ_$%%A§ÓˇNťZň8›ú)66))©0`°MŢ[‚·Ď?˙,2331cĆ,Ü»—„úőëcĚó­SxÜX1Ź Ëçß~;śož2[¶lĹ_ťŔľ}PŁF ´mŰƦO${Ň® ôČŻĎ5OO›´Ňjµ0xq’Ś!rJëÖ­‡V«EË–-pţü�Ŕµk×��¸ző�Ŕßß|ŔűČ#]±bĹŘąs7Zµjooo´mŰÂĹ‹ńÚk/k=ücóÝ•+Wäĺ.^Ľ—.]ÁĎ?݆——ů�ŕ×_—w jµW®\“{ďŢ=$%%3ˉ——7ęŐ«[čtžžžÇĂsĎ=c3N«ŐB©T8žJß!Ź!2ňmlٲnnZ„‡÷@BB‚Ýy¦P(Šô´4fddĘßĹÇÇ—ę6…††Ęĺńĺ—Ç`áÂE¸pá"ęׯ—kÚ   |đÁ{P*•¸pá""#§aćĚŮ?.� $$ďĽ3ŻľúĚ™3&ŚgˇÉA§ÓáŔhŢĽ¦L™$?yňTDEmÁčŃ/ŔĎŻZv=Ő«W—ß[ź¨üń ĽńĆëxňÉ'��}ô Ž˙ËfY—/?řMrr2âăěî$ł[·.đňňÄľ}ű±{÷>DDDČ';µk×Ćýű);÷3›ßX©d¶n5·2š3ç3řůůeççĽóλصk7TäyFEEAˇP`ůňď¬k±aĂF\ż~ţţţP(¸qăAGĺ©©©6·§XĘćwß-Bˇż�ŕîîŽ×^{&ŚÇíŰ·1kÖgŚ|»woĎ0ŕqcĹ=n,(źM&˘Ł˙°aŹçąnM›6A˝ző°oß8p�Æ •ËŹ…żż_ˇiGô0âmJT©ť8qRŽÔGFNæM›ńĆŻCŁŃ Ył¦¨WŻţ÷żąŽ>ŽăÇ˙ÂĚ™ź!44m۶‘w0U«úâÇBçÎť��ť;wÂŞU«áîî–«s˛ü(•J˘óç/"99Ź?>§OźÁ˘E‹qńâ%|÷Ý2DGÇ㏵:ŔĎ­[·qéŇeĚ›7_ţ^­VŁwďp¬]»;wîĆŮłçđá‡Óö¤*>•J…ÇŠm۶!:ú/¤¤¤bË–mx饗‘’’Rčx*}]»vAŐŞľř⋯зoß\˙ŁÂň¤¨˙ÇZµjBE|ůĺWŽ>Ž+~Ŕßź-łí{â‰áđńńĆ—_~•kśŃhÄŕÁC9 WŻ^Ëî°S€»»»<Măà ѬYSLšôÖ®]‡­[·łĐä°˙A¤¦¦áµ×^AíÚµäá?˙yqqwpôčďhŢĽ‚‚‚đůçó}ţy ‹+ĎĂd2AÜ˝›€›7obçÎÝŘż®eíر۶íŔŮłçđŢ{@©T˘W/së–*UÜ‘'N"555ĎýĐŁŹ>ŠÍ›·âěŮłxě±'˙ÇĂĺË—µÉÉ÷qňä)ĽřâXś<yŠ\J6oŢŠvíÚ ,¬\Fz÷G äŽ|-·—ť8q YYYą>[»sçŽý/˝4ڦܽüňżˇR©°qcÔj5ÂĂ{`ŐŞ58xđ®^˝†Ź?ţTnq�ýúőV«Ĺ‚_áÎť»¸qă&&OžŠµkÍ-m¦M{O=ő,Nž<%?!L«uµ™Ź+ţqcAů|üř_0™L®űС±ző$$$ÚÜęjaOÚĆÝÝ /^ĆůóŘI/UlC•Ú„ “�UаaĚ™óÂÂ:�07˙ź3g6ćĚ™‡I“¦@’$´k×ăÇŹ“Żö‚€.]ş`ÆŤňNµS§ŽřôÓYčׯŹÍU¤‚˘#†cýú Đh4xýőWđß˙ľŤeËV`ĹŠ•đ÷÷Ç”)ŃŻ_�Ŕ1/"!!Żż>žxéĄŃň=ŕ�đÖ[ă1c&ŞT©‚1cţŤ>q§"7î5¸şşbŢĽů¸?!!!xíµWä+Ą…Ť§Ň%Š" Ĺ‹żĹ!‹•gEů?V­ZS§NĆ×_·Ţš„Ţ˝{!""˘Ě:JŐh4xá…ç0{öçŽ>n3NˇP`ćĚO1oŢx饱P(D„…uŔřńărÍgŔ€ţ8}úo|úéLÔ©S Ôgá‘O˛7Łzőęąn!čÔ©#||Ľ±iÓftě†Ď?ź…O>™‰ńă' $$ŻĽ2'N�T«V oż=ß~ű֯߀víÚ wďŢrÇźŁF=‹ť;w⯿N" �3f|,÷á0hĐ�>|Ż˝6&ŚĎłÎ<x�~řa%ęŐ«g“‡=z<‚·ßŽÄňĺ+±dÉRřúúbŔ€GŃ©SGfp)8yňţůç<˙ü¨\ă|łgŽË—Ż I“ĆhŐŞ%>ůd<<Ş }űv6ź»ví"˙nëÖí$ }úDŘĚĎÓÓ]ştÂÖ­[1věK4i Ţ{ďC(• ĽňĘXś={Nž>00óć}Ž/ľřcÇľ 77-ÂÂ:`řps+ńăÇaîÜů2e*RSÓФIc|ö٬‡6SYŹ ĘçĂ‡Ź˘uë–rKşĽôéyó cÇđńńÉs{ J»ĽúÉÉiôčđńÇ3đâ‹c°bĹ÷¬X¨Běř^°úly/Z˝ZEö ĚÔ�T�Ľt:={–$"""*:ťÝşőÄÔ©“1hĐ@&IÎ>HúôyC‡Á1/1q¨P#FŚÄСĺ[(‰jµ* @�=��Cö`ĚLVdőjéťÚú=rĽŔ–1DDDDD•Ň7ß,ÁŢ˝ű1qâ›đÇÖ­Ű‘ś|ßî[CVŻ^ÉD *&c*ˇÇ‚Ű·oăż˙}ÉÉ÷„wŢ™†6mZ3qĘoS""""""""ĘćŰ”ř4%""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""ă™äu�� �IDAT""b0†ČŚ!"""""""r cHé…Ä^ű&Ł‘©MDDDDDDDNKT(˛‡c‚Ş’‰ąJDDDDDDDÎKpĚ DĽM‰ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†ČŚ!"""""""r cÁ""""""""b0†¨$Ib"Q‘0CDT‚ 0¨H”L"""""˘Â±E,QĄř§;d) Ć•ÓčČŮĺ×´2¶ µŢoŰłç~ž¨˘V|ŽY 1DDeppfďX~Ó ‚`3.ççÂľ/î·e^ö./żß”t˝J:ßŇ\{Ň» e”U•´”U™˛w{Q¦‹ł˝Ž(Óe•wŽúŻ9K}ä¨˙Zi–éň¨ŹěY˙Ľće ¶H’T`ŕĺaĘX§‹Éd˛ůľ°ĽĚk4ďn&b0†Á"˘R Ŕä ÂŘwŬ lÉ® Miž´ÚsĹ/ç÷ůý¦¤ëUŇů–ćş”4Ę*ŤJZĘŞLŮ»˝Ž(ÓĹYž#ĘtY坣ţkÎR9ężVšeş<ę#{Ö?ŻyYaň ČX‚8k@&çţÝŚ1™$»ö÷ůËČąĺ</+ Ćó�8Ż4I‚Őű˛mÂ\Ú-¬Ş ›oÎi {-î:”dľĄµNĄ‘îeµe‘.eťwÎ�VyËtIćW™ËtqÖ±´Ëki–éśÁAäďA€( •"¨` ÄXöń–�Śů˝ &Éţ}=U°`ڍ`0†Č™Î 2ň+$›é‰*"Q! ˘”1™›@Ž(ŠňűŠ ÉyK’$I0M0Ť0šŚ0Ť0™¤ěW÷ńDm˝Ç` ‘Ó¤Y_%“$Čd&É$_-3mŻ–ń@Ť*îI‰(·EQ΢…BI2ĘA™‡ĄµŚÜúĹ$AŻ×Ă`4Ŕ`0Â`4ďűMä}˝őSW$ÉÜ'ĚWKËŁśßçÝwŚőáB^Ó[ĆçümÎĂ Ëxëő�„|—ťß|óZ'{Çç\ç‚¶Éž×Âć›ßřśărĘoĽŁÖ©°üËů}^ËÎoĽőňěYw{׫ ßVf‹“VymS~e2żß5JަDD伂1FcvŕĹd„Á`>HłĽéő†2ë#€Č‘,…BQ T*ˇPX1 Eö ŹIžľ"er^p1MĐôĐéôČĘŇÁ.ZO¨5Z�Bž'vö§iÁ'Ĺ™OqćQż/(ĐQ”u(îoK˛ě’ÎŁ4ňŻ$éç ů˙°–?GŐa ĆŮq€Ř6Y6 0 Đë ĐéôĐLPąh (\ &ä솽ŕŽ-{ÁęłPč8ű;M,h~v§BżÉoţŠ×˝”} +eďh…|Ö!˙ůžŢB!énĎ| [§śi«íŠ‘î¶ó3ŔEĚ«‚ŇJ*0-Š6G”iäł,ű:-<ď¬Ë`é”é˘ý— .×y˙®đ2]´´Í?ďr˙?Q†eşheđÁ|¤¦EQŇV*Ăt/n=-ŹEIoQ4XŚF=˛Ňł RŠP©”0©LPš”P*•�D�&˘čđšŇŢç›L ó>>##P¨ŕăQáQ!ň" 1CDTÖd9ź¤` Äč zčődfé (Ôđ „ÚĹ‚|ď|IOŢJe ň=A-ŮÉIé­[ÎN$Ë+źmס<ÓV'“N–l9Čă$®¨ßĺ?Ďśĺ9ďćőË´ÍI»s<aĆyĘ´=yWéâĽëć\ygUg›LĐë2 CfŚF#4ČAs=.»"d´~5Â`4_l1J"ŞV ‚R­ (˛·ŤÇHDÄ` ‘ĂĐ,ťöYвtz(]ÜŕëATBDyZg䌏–u*Ďus†uČYÖ,AógKPÄŢ�Pęß=X¶`µNÖiX>·%8ó ‘3¬Ó§xËf}TŔú)Dh´UP­ş+â®#++Uî+FĄTe×R… ÄŘޢôŕvdŃŤ›'J9CDTZŚ!"˛ó@íA1Fčtz@Tg7[VŮśÄ ĽdFĹ`4ł›Ĺë+TxK F©Tf÷%Qś–­nôF ©Y F Z®*˘ đJ4‘Jřúăî­+ČĘŇe÷'cîÔ×d’ä€L…ÝßKćV°D¸h´DV@DTúŚ!"˛çŔĚdŐtŮ`€Ţ`DŐęą1DĹa2™™™‰¬¬,L¦Šyr&ŠpqqV«-úIdľ Bg0áĎ=ţŚÉBşÎ„�OşÔŃ v5%ŚĆ•űľĐňߢB O_Äßş˝^oîÔWTTČŰ“ňŞ“-aPH‹´´4ÄĹšfÍš6ýĺ9w—™™ ]–’$ˇŠGąSn˝^掻•*%á⢍&Ł pѸČzSń0CDT„3s§~F¨\\ˇR»2Q¨T deeUčN!M&˛˛˛ R© V«‹öcA‚Ţ !úşËʦÁÍE@€‡OdâĆ=F…ię«bA!*C–Űtôz= L&sgĽ–VoyTj ”j FóS¦ Č«ź8ëĎyMŻÓéŤË—/#$$„ÁŞ@űl#n\ż‰µk×B­VcôčŃĐjµ0Ť¸qăţůç´k×Z­;wîBÝşu‘––†Ö­[#==ŃŃŃhööŢěIŽëľ÷üśsr©­÷F/@ŁMp§D˘D‰Z,YeZ˛hËö˝ŁązëyđĽÎÓüq}ďÓ8ěq„^Y–­…&EŇ’¸I$A�7lŤĄŃŤŢ»kÍĚsć!«Ş«ŤFŘß'"»Şł2ł˛NžĚüťoţ–ýű©EU¶oß&^áźcA6hś9\ói™6iŽąůWŁŹĹqĽ®ŃiSę5ł2d§Qv¶ń4ş1µöÍŐ9]Zëĺ{ilkŁŚ´´{„ďűÍďÝČůĄ«pđtĉél yp$¤[Ţ=Sĺýs>[»Ls_[Űęf+ŁŰ¸F´¶s#|c­ĺű˙I~Cë±–k‘\Gšç…ÇĘóc#ç°µ–R©DE+<ô´ÖřľO.—[†n[ŁŤŹ­EÍűäťBEĽú꫌ŤŤńőŻ]„ác,ó ólŢĽ™caa‘255…çyŚŤŤ111Áľ}űpÎ133ĂÁ9zô(wß}7KKK<÷Üsd˛!ň'L>ź—ű1‚ W׸]Ëصւu ¸ĺ]±…›k µäŻ˙ßż!—ËńÇň,‡bi±Č—ľüE6oÄó<’$ˇZ­R­V›Oł‚ hľo„ŰYkI’c A¨FŘT&“Ůđ@c-1h˝ÁLExžGśh˘$M^ĹĄ°JŐJĹ!ZkÎś9COOOsßżíf8ŽĄR‰ý×套^B)ĹľđľřĹ/ŇŮŮąbąrąLµZ%‚ Ŕ÷ýËľ–4<Â0ü„ąz„Űi`U*•¨Ő"l˛,ô/ ĚfłëžĂËë×Öü¬VKC …Bs;Î-ß/ćUr;ßťsüö·żĺˇ‡" Cé„­wÝH¦¦¦řřăŹxřáGxçťwxóÍ7ůÁ~ŔÉ“'Ů´i‡âČ‘#<ţřăřľŹçyüâż@kÍŢ˝{)•‹7Í=XÄA„;@ŮČŔY®6ŻţúuΞÇó<^{őu˘(âµ×^g||ś˙ýżţottt033ĂsĎ=ÇŮłgiooçŔĽńĆüŕ? \.“$ arđŕAjµJ)Nś8Á׿ţu2™LsŕeŚ!Š"ţéźţ‰ť;wr÷ÝwÓŃŃAWmpŐđú‹żř ľň寰gß~zTHw&¤ż3ŕätLOŢ0Ř®ů荟cNeřňWľ„ďűüěg?góćANž<É׾ö5zzzPJ5äď"ŇŇŇƤž5Ůl¶ůÝů|ţŞ>ÍvÎńÓźţ”cÇŽń—ů—T«U~ň“źđÎ;ďđřăŹ7 Ö……~ôŁńî»ďŇŐŐĹ÷ż˙}ÚÚÚšâL†ÍBŮlkÓd˘ľď7˝Ź˛Ů,/ľř"Ĺb‘ÇśŢŢ^Â0qřćĹ_äĺ—_!‰ąĚ<_óŐŻ~•/|á ë®Űö a§¦¦Čçó‹Ĺfßj$_-<¬őŕâN@)ĹSO=Ĺ›oľÉÝwßM>ź—N(ÜRý7B|ßÇCą\ÂóĽfńŔŔ�[·nerr˛ľl@ĄRářńătwwS©TŘĽy3ÇŽ•Ć1FAnovíÚɱcÇń}źť;w019Éčč>>ő©GČd2MŻ­BˇŔg?űYöěŮĂůóçI’„ąą9>üđC¦§§Ů±c/żü2Q1::ĘŘŘ?ýéOٱcľďł°°Ŕ–-[8yň$łł3|řaÂńăÇ帪qS,–8uú ?ýŮó|ţ‹_á‘îíś©ő2[ĘsßVź/î 9ô+¨ÖjÍĽMJAĄRallŚçźžÁÁAxóÍßp÷Ý{0ĆpćĚÚÚÚŘ˝{7?ţńŹŮ˝{7Ĺb‘ŃŃQ¦§§8pŕŔU-xűí·ůţ÷żĎĐĐÖZxŕÎź?O±X¤˝˝çóóóĚÎÎr˙ý÷“ÉdXXXŕwżűlÚ´‰˝{÷rřđaćććčěě$ CNť:ĹÎť;9qâžç100Ŕââbó¸îßżźČĘ;x`ő裏˛gϬ]CŚŃM±ňRçb#tnaaçžűźtt´ł°°Ŕ·żýmúűű›Ë]Ě dĄgĚíßćľď3::е–—^z‰oűŰŞ$Ü2cضm„8~ k-aňĚ3ĎđĚ3Ď077Çđđ0ÝÝÝär9îż˙~zzzŔZË–-[žž¦żżź®îNy@)bŚ µCî1ÂÍŔć-›ÚBŚlapófîeëđp3G‹sŽjµÚ°çóy¬µ,,,pôčQÎť;G©T˘ŁŁ$IČfłd2|ßçđáĂô÷÷sţüy˛Ů,cccÔjAĐÖÖĆË/żĚ>x•O®ĺ°©¨Q).0Ř~’.}–'<ŦΠY_q¸YÉ,Aë„÷ć‘GÁ3>m…vţýß_ŕ«_ý*§ĆNqŕŃ>rS§NqüŘqţËäĉ“<ő…/räČŽyź·Ţz‹?ýŢź˘ŐŐ8ĺr9&''¤V«1;;{AÎŽBˇŔŢ˝{ăôéÓôőőńŁýÁÁAÎź?O!_ŕđ{G°ÎńÖoßćž{îˇR­˛´XäÝżăŰßţ6µ¨N‘Ëĺ üW^ů%ĺf||ś>řgÓĚ-i5Řď~zzz.qź[RÂ0¤§§›_|‘Ď}îsMŻ9ń ]‰R ß÷Ů»w/›7o!F¸ĺúo[{÷Ý·ëFktýaK咽f.ş\. „ž.”Ö( Łł˝ľŤíÍí "Ć‚ ÂmÉá÷säČ´ÖěŢ˝›ÁÁAĆÇĎ‘ÍćČĺ¶Ňd2úűűٵk333”J%Ξ=Ëôô4žçELNžÇ9Goo/###:tĎó8yň$Zk*• JA©TÄZŰ|®˛9BŁP e†Î¶<oĽńýż˙ Sü)Ξ9á߽ÇđđpýÉż˘ZŤťťC+NŃŐŐM>_`v&ťW©T±ÖŃŮŃĹČČ6<Ďç˙ń©U#FF¶ˇŤW9áčSO=ĹřCNť:EĄRáµ×^ăÉ'ź\ᱲ´´Äää$ą\Ž“'O˛}űözööv&&&™ź_ »»›Z-"I,ýlŮ2DµZc~~……@±yó6męĺÔ©Ór’Üá ÓŮŮ…[ν‹6ĐŃѱˇYR©Äää$O=őMWEŻM6›%›•ęŠÂ­'ĆxžďBo×ĄŞĄlµ1‚ ‚p§łT,˛´T¬ç@)R,™ť›ŁX,‚shm( ŚŽŽ˛iÓ&úúúčîîćŃGeÓ¦M<řŕXkéééˇŻŻŹŇŰŰKoo/�Üu×]ÍĽ2…Bb1MĚ733Ă—ľôĄ«ţ›´ŃÍőF’áÂ0drr˛™a÷V+ś9s†ŢŢ^ž|ňIFFFšŐ{ě12™ A000Ŕý÷ßO±XdhhÁÁÁfâÁˇˇ-8çxâ‰'ŇÜ2×Ŕ¸}ŕčďďç˝÷Ţ#—ËńÝď~—7Ţxßýîw<üđĂh­éďďg˙ţý|üńÇ|ë[ß⡇âî»ďćčŃŁl۶ŤţľŚńhkkc۶m R(رcĎ>ű,©·LĄBśD yśEžĚßÁ8çx饗xá…HâĺJJÚŔÓO?ÍżřĹu…Ďó0Ć`­Ą»»›ď}ď{„aH­VŁ­­-=_ëU•A„«d7l`ľjůżń^·Ľ6&SźĽú�>ĐéJç_[!Ó ‚ Ü4âç“$­:Ĺ•J•R©ŚňômŮŽÖFž W<*•J”Ëĺu—;řÎA~ýë×ŃZń{ż÷e:::Y\\¤łł‹\>MT»şäsŁ7ĘÔ®ŐW×*‹˝z˙ybË®G&“!—Ë]ň)zRUăg?ű9ýLOOłeËúűű™žž¦ŻŻŹžŢ´ŇÄqL’ÄÍrňJĄá«Ë:7ÂŇßśÔç§Ë'‰ĺůçźçđáĂüŮźý˝˝˝éSAĺ®Éµ#Žăćľť>}š8Ž›0–*O’dEű·p`ťEˇV”/O’¤y,Ňă•€r( ÚçÂť|żŞV«Äq‚M×�ĐZáůŢ%“;[k)‹ÍŞI ę <[“^§yŞ"&ĎśŔEe˛Ů ařĆŚŃşfÜ,×áƵ2ŽjQŤR©L-¶´÷ ‘+´ˇµT,„;‰ đ怨q}Ję“m™\Ëkă"ÚúÖpĹ1FAÄáĘĺ2ĄRiÝĺĺ¨üVˇAˇšwęFXŹZń˙ú\(\|ąK}Ţc6˛|ăkÝçVaĄńţrĘä®÷[ZŦk9HĽXu™ŐżérhăÖm­Ţ†\‹îěëHëÔÚVç,ZďS©T¨Ő“e7¶ÓđÉfł+x‹#‚1W&ĆH’ ‚ Ü`<Ďkzt\ŚtpséÁŔęĎFBWcŔÔư‘ím4¬ćrsU\lŮë5(ÜČ1ř¤ű˛z-źäYKŚ0ĆËĺđ}ź(ŠšbŚçyřľ/ap‚ WŰţ“&A„;ň<ŹL&CĄRYWąŮG†xž'" Ü‚ç/¤i+rĂČů,‚pm1FAn Ť§ĎŮl¶YíčrÂrn†ý×Z_đôüVŮAVžĎ Ś Âő@ÄAA¸´&Ţő}˙–«V˛V>Ě ‚ ‚ ¬Ź1‚ ‚pYďIôzI^o6±Ł5ˇ¬1‚ ‚ ë#bŚ ‚ ܤÜ*˘Fk$AAáŇHZtAA>1"Ŕ‚ ‚ \>"Ć‚ ‚ ‚ ‚ \GDŚAáŞ!ž2‚ ‚ —FrĆ‚ ‚pŐX/é° ·SSSchkËIc‚ |BDŚAAaĂDQD’$8—•ĆAř„H’ ‚ ‚ ‚ ÂuD<cAn Ň!‚ Ü($Ç“ ÂŤCÄA„„µk-I’@C”Qjůý˛µ|áĽő­ëk»üŤřNi—[·]äŘI»Č±»)ŰĹxFk”GyA„1‚ ×ÇŘJŽ~Ś9r316ÁˇP¸ŻŘŇ-źă�ņֻ¤ŤÎ˛~9Ű[˝ÜĹ^/g?šżďJöÇ9śZŮN«·µˇýiÝÎęăx9żkűsYűĹÚ˛ËmëúJÍ}»Ňýą’ľđIŹů%÷§Ąí/·O_ŤýYo;—{Ü.Ö/÷X]l?.g{­Ë\I[]l?.w{9ć7ěztÇüjloÍő”ÂőěEí܉ÎdPž ADŚA¸]…k‰Qżú%ŢŻŁ––ŔÚ+â)‚ E)ÜŘęđ{ŘO?Š}âłööÔ{F¸ýlŹ6†˘ńTŕ†nײ+‚p#bŚ Âu±{6I+x÷ ţ«ż†rY„Űý¸×'+M!ÂÍ5:G% şXDżö*Ő¶vÜ#Ź`2 [şíµ«O {dŮ+˛µ”Kkţ ËÉg·‘ĽC«·çܲ#y‹„;cA®—1d-vvďČ(E„ąSŽ˝4 7çŤ l‚ZZÂ{˙0Ń®]čţ~cnC˘Ä1WŚ™\hËşó>…¬ćr]SśsźX<‰K%˛ś›ŹpÖŃUđčĚyx&ío"Ęw""Ć‚ \›×á’„d~žđܸ1wĘq—&áfEšśCź;G2?ŹééA#ăŰÉöppf¦Ę˙|§Ě±)Kŕ9~4äÓŰł žŃhqƤňL-¶ř°Ž¨M°IšŰÎřʤ“gÖSŕiE’¤ůš|ť @J)< Ő(f±bůĺ‡%~u<!q°o@ń݇ŰhĎů-ýM¸31Fá:a­ĹFT*Ň‚  FŃXˇRÁFµË OnŰĂ9ţýp‘Ăç`×@†ńůW>Ş3ăEç¶…Ě—bNÎ8Ř2>WćÜBĚ›}ĆĎ̲8vŽ ĽH[băaňyŠí˝ôvł­?Ë»g"úŰ›ÚŢ9Ue{·¦őxk¬ĘŢ~ďi~;Ş;±c K”Ŕ/ŹŐxt¤Äľ­m}é!©skíŠ>ęśCkŤ1fÍĺ“Öş)0®Ţ¤^9şîÖş^ë|A¸#‚p=q’#FA¸ŮîMN„Űî.Ď$ŽpÖ$kÓ°é¨GXCµZ!®K4ĹŮYć?:Ç©·Ď`§ć‰¬fIÔLHÍ„D&Âúe’b‰ľÂVĘĄ*6ëă¬&ŞVq‰!‰Q­†K<b§‰ŁIpÖâ$ 6±”ŞV«ś;wŽńńq˘( ĹđČ0ĂĂ[/đćZ\\d||Ďóزe ™Lk-sssĽţúëôôô000ŔŇŇ˝˝˝ôôô`Ś!Š"ĆĆĆ8xđ ?ü0###Ň™„k†1‚ ‚ ‚ ·Î9ŽÇw…ś›[äěT‚µ1÷ŹxÜ3ŇÁÝqL>Đ•÷j/ˇ¦Ř<ö;‚ŁÇ°1D: Ö!5OQQ†šö¨ZŹ$Ö”Î,Q ćŘż«Ťž,ŮĐă3weń}Ď(žÜ AŕM{J‘f|~žwϱVqOoĚPOO]DI«;­GEĽđ‹Ľô‹—PZ“ÍfÁÁ׾ö5úűúĐZăHC«–ř«żúŚîŰÇ7ľůŤtŕëyÄq‡~Äöí1ĺr…úÇâĎ˙Ó"fÉd3Xëť™ăý÷?`dxłłó9r„»îÚĹ˝÷îÇó<ń–®"Ć‚ ‚ ‚ ܦěěĎňgŹZ>>=C_WžˇľůڇÖ8pqL¶˛ČŇK˙ÇÇČÚ€’—%ŇŠDy$Ę#Ö5íĄŢ1Ú'¶§Ź•XPYžîRhĄhËgšßŮ^ČÖß): Y Öň‡Źt˛÷Ä4ÎZ¶oî˘#ďŁŐ˛ŹR ĄÔš^ZI’P)W©Őbľ÷˝?aűöm(Ąčěěä7żů-qłgĎĆĆNqţü$[¶lˇ¸Tb~~·ßz‡ đŮ7:ŠB12ĽŤö¶Ş•‹‹KĚĎÍó˙ńK¶mŰĆĐĐą|ž»ví¦R©ňŇOÎ믿ƽ÷î§»»‹ááac„«†1‚ ‚ ‚ ·Î9’$!ŽkTbË‘ůş:"’¨D±XF) qŚžť&úŮżÁŮI°Îř8ŔˇpJa•&Q†XyDʧŞŞ* ě<^ü0ˇ”,ň­{= ˇc9o«·‹‰uś)†DV±ĂŐ"ŁĂ9_Ö—sDQŤ“'OR«ŐČĺ˛d2Yřëżţkžxâ Ţ}÷]î˝÷^¶nÝJµZĺµ×^㭷ޢR­ňĐňŤo|_üâÜ}÷ÝŚŚŚP,ů›żů´V”Ëž~úiňů</ĽđO<ńçÎŤE5ĆÇÇ™ššbhhH:–pŐYOAAá6ˇ‘€ÖZK©´Dii2m®Ň™‰‰k%*ĺ"•Ň"Ń™x?˙ţ‰c¨j5-wľŞ`«(kCMT˝4‡ĚR¤řů‡Žx«Ęé©"ĹâĺŇ"ĺŇĺňb:•–(——¨U‹ě쎸»·ŠŤĘ,-ÎQ©”Ó<6őĘOë“zÎĽţúëĽňĘ+üúׯR,yřá‡éďďçůç˙ťąą9žxâ rą<ž1 óť?úĽůć›T*â8&ŽcśKC©>ó™ĎđGßý.ů|žçžűašC'ŽÉfł<đŔd2Yî»ď>öěŮłf˛`Ař¤gŚ ‚ ‚ ÂmFÇ‹K8hÇ`ÁÔ[ĹY‡ŞUČţ ţŃ÷q±‡2ĄÓ<3Ť ęţ-.e¬R$ZkŹŞó©Y¨Ô?űHhÍ—ďŠČ7<dV‰+čΤTĘÇ ĺr‰ ȢµaÝÜ1őmyžĎź˙ůźłsçŚ1ttt˘”b3[¸Î�� �IDATçÎť|đÁř~š°wqaĎ÷ŢĘ˝űďáăŹ>ć>ŔZ»â;<Ďgűöí ŃÖÖÎŮłă$őDĂAĐÝÝM„ä rąś„( WcA᪣–mGç.´HoĆ=VJ› \ăkŠQĄ \s¶îé2S6üljĂúňĎĹdÎ~Dfě0ĘVŃ4E‚vvŤH'ŤC;‡rŕ”BG]U Ő~ň‘ˇ’Ŕ·öEdýÖĄëŕ­s>ŐXq`kß@śDXăśľä}Č9¨ŐŞüć7żalě$�÷Üłź0 yńĹ_p×]w1;;Ë /ĽŔččhë ®ąţr=÷”R©ČO~ňSúűű8}ú;věŔó<”Jď‹a’$1G?>ĘŘŘ[·n%éZÂUAÄAA¸š¦oŞŔÔ‡[®9ěşŮĄke€(WĘZçůrµăBA¸F÷ ×|mÍżŇZ WčĘ:4WÉ}SťÇ©íŚK0¸ôµů‚ç<g16ĆŘßĆřQ 7éČEIPő=J5ÍËÇ8ÇWöÄtgW 2ŘÝŕë†ÇŤĂ9{Éß]]ťôőőqüřqNź> @gg'ç˝g/Oó›ĽüĘ+|đáűÜ˝wÝ=ťôôvS(čéíbűöz{{čî餯˝˝=ô÷022ĚGČ}÷ßË7żůM¦§§číífÓ¦FFFxçťśdrr’ááaédÂ5˝g¬žŻZţoĽ×-ŻŤÉÔ'Ż>€tşŇů×ŘŔI&‚ps Nm=ůť%I˘8˘R©R*•ŃAžľ-ŰŃÚlČŁŔ9G\©Pýŕ} ÷˙ˇ*iŕŰVIŹ·ĄĹ ţ¤Ű“&„[ĺěoFX¨şŮśÍŞ.ľÔç*u·ŔM±÷Ů,‹Ďţ1™=wăe2—ĽŻŤŹŹŁµ¦»»©ń1\T&›Í†`ŚÁŤÖú–đşkäW±6 ť©E5JĄ2µŘŇŢ3D®ĐVŁąuÄk-Őj…ééI–(Ĺš˘8BW#?ůŻ?ÓU’%ERö)ë,E?OÉËSôó˝<e?GÉËSňr”Ľ,E/GYç¨F!çŽĹ,x!K™ĄL*Čŕi2ľľ/âóŰc:ł®)@:`±š†ů‹V ŤOggaY·żÄqLĄRŁR®$ ŤÎ<|ßĂ9‡1ç•Jß÷›˙űľOÇ”Ëe2™ JA’X´ňp.µńâ$"“Éŕű>Ö¦óŚ1dłi‚`k-AÉd$oĚBxŹs@Ô€¸>%őɶL®ĺŐµqn=łN<cAá* 1ÎĄľ0–şaXç°ní8řK‰-NäA¸µ.J5ź\Şş�Ł”Â¨T”QËsĹCF¸ć(Ę9P0[6Ľr"Ăc#6űU™Đ:ÂůmNYŚKđl„çb<ăŰ(‰ńuŚg#|k«)ě™*ů˘ÂúeĘYŚËPV>%§ůńźĄŞâŹî‰ýT±M¦aJŹ WĚĆĂx=Ď#ź÷Čç˛+ÖXë<ĘçóĚ Ă\.·Rěq­ů_ěšn J)ÚŰŰWü/W cAáŠ` GZÂ:G‚%vŽ(IęŹOIÓ;tu…ŠK›ˇ ÄEFnµA°RčşŕbśÂ<­0ZˇĐhĘ©›?~Q¸uűŕŠ; tf-_ÜU"çCPš#¨M <‡ó ]±8ĆKb<᫾öńm•81„JcŃŘXÁtLrZÓ®T¦.ú�Ú)”s”‚€*Š_ž4~owDG& YÚߡpő0%…rju—uÎ+š‚ç'=/WÎpk¶Ř%ׄ«„1‚ ‚p…Żs8Kâ,U Ş nËÁÎB[*ş4ląúÓóey=ŇЇeÓłáas±Š«çŻ•±fŁë®·ěŐ\÷bűy9ßw=żë2ľŻĺX_~ű’c×úů•üÎkÝž¬ń]i—‹ śntź^{~ĎŻ°‹‹TŽ~Ś'Lś±x¤ 3´¨1Â5Ĺ­¸kŠŚ:YÄŘE”— |P8|›»ßÖ𭇟xÚXŹ$ŃX ®cOX2 !.ČŐ3şî…ŁRQĘx«šźä‘ ŕ‰‘Î¬Ł+¬Säü¤ą{ňĽA1FA„Ë7uëIg©9KŮľw?_˙&^gx~*¦(·śT¦±îĆaâs †%­"ÉjÁär˙_C€‘§¨´t±(¦63ĹÂżü Ąß˝GŢZ”†şďŚ„+ ×…ůŠć×c©ĐacĐ*p¨ŔˇHBQ‚Ő¬Gl=ëaU&­§TM¨.cć=BÝ–FöXWcş.Ę€C«,%Ą(:Ĺßó©ĹđôhŤ#SµDńřpB ]ęYzÎ×ř#Nj BÄAA¸"cÎ5óÄDh’-Ct?ýx=˝`Ś Ěo0¶žĚ1Ž"¬˝°€sňOÚř�Ľ> 7Za¦}@© Ä8ávĽV‡iv…ö|ÂÍtţÁr~z–ęéÓÔ˘Ťü1N„<áŇ•Křý=%ăpĹ<IĹ‹¨ŔĄyc ˇŘb“X×ęBŚ&±—Ę”Ž1sź<Ę8pi)lĺš4oL#�Wʸ0 ŠćŘŚ˘TS<0PĂÓh–ó'm`˙k±ŁXłäŤĂ[ČúiČźuŽZžNĂ×?I5kY¬XŢ8Qέ íšű·úlďőÉű†őâ¦.ÇopŤ»ĂEî*jŐ†ĺ^!bŚ ‚ —xĄ‰{Ó$˝Ţw¦ł ĺyÍGăŤĘ\Ráú“Ä1Őjµ^}cĄ�Óř&IBÇ8çđ<“R*ő”Ş 0žďăy^s`ľ˘˙8GÇ$I‚ďűÍJ"­%i•R2@żŃçąsÍţăśC뵫5–kS­uł˘‹ň<Ľ®N˛ű÷ź9ť&ůfeÉRA¸–ĉâě‚a°Í†=ÔňCřĹitŁjb‡Š,:RxŐA˘Iś"Šź%>SBÍ8|•Ç™śM'lžT/&ŁHC•´m„,9*aHµć(Ő !Mš;Ř–p9WÚÄÁ[§"zň𮬦–XÚ=–jŽB Kh4ÖA.P«Đ–QXóeKgN‘ RJäxţýż9Q#±Ž™’âô\Â> ąk“ް¤růĂĄ$aDŚAaă¶•ru1¬Vx˝Ý©ÓBµZebb‚ááa´ÖŇn×qÝŻçu0==Í©S§H’„ŽŽvîÜI’$T«UŚIKźćóů —±oĐ(•»Ţ˛gÎśáťwŢáÓźţ4}}}c(•JĚĎĎÓŢŢŽs޶¶697rÇ=z”Z­†sŽÎÎN‚ Ů'BLą\n.§”j–Âő=e|Lw5ť>ÉwÍŢ"ÇמŚáŕą\P%›+PÜô8ŮĹŹQŃ<*v$¨HŁ…‰ARĄV‹¨LĚQ[ŔV<Ś.ŕLŚuiiiĺL]XtmA§Ž_©Hc-~¬8ľŕ‘8Ŧ|‚Öé9°Q "ôRѤTłtdĎD´eLX¶őhŽOĹô·ćJ©Ô9[n8$:Žť·<¶ÓGkÇŮů„Łçc*1ä|Ĺ]›<Ţ>sf.a×&u-ĎÉ‹ťňĘ]đ @1FA„u­ŞĺušNÄ4--k-Őj•©©)^ýuÚŰŰÉçó„a(Mw„Ő&M›·e�]­V9yň$ (ĄťťĄłł“Z­ĆˇC‡čîîĆZKWWJ)2™LÓ‹fóćÍdłŮ5·˝ZYk˙Ęĺ2‡ćď˙ţďéčč ­­Ť|ľŔ[o˝Ĺââ"]]]ĚḚ̌gĎ´Ö”Ëe‚ –––Ă8ŽéěědÓ¦MkzkW޵–ůůyŠĹbÓ3fÓ¦M,EµZŤŹ?ţrąŚçyěÝ»ĎóđŚhP:ő5á:ÓťŤůý=qZĹHŞŮ-śů#ÚÇ~oO٬Ob"[Ąć–ćËĚĎ,P›ŹŃNă'ʦž0‡Fˇë‚bł„¶sMQfµçLG’ˇ=cx¤PĂhšŐ”6¦”Ş*ŽOo řŐÇU|mXpléĐĽ?žĐ›WĚ—#ÝX81cęĎ> í]ĎÓFYŚvtdن#ç’t?”Â][)f]íU®ß"Ć‚ ‚đ $™ĺiy•$ 'OžäŕÁ:tl6Ë˝÷Ţ˶mۤѮ¶}«–¸†ř¬íţíęůd˘(bhh ššbjj ­5“““?~śööv&''éíí% CÎź?OˇPŕ›ßü&Ůlö‹EgĎžĺÔ©ST«UNť:Ĺđđ0;väŃZsţüyfff™™ˇ\®P©”I’„l6ËÄÄI’4­[·ŇÝÝ-^W×ęüvŽééi–––pΆáа·Ć2I’`­%Iţůź˙™Ďţó©×ś­{fáhs#\oޱćجǶÎB�NűDůíĚm~‚0ů;´>E˘b"SIjžEeÁ^bp.AU.NĹ•PŘş�łÜł•réüşŁz´!hĆ ±…‘Îď2ç­čÍňfßfkatP±Tuܻŧ;Ż)„0St ´kz 'ŽÎśf©jiËčf¤č@»f×&ŹwOW9|.&N`¨Ócs‡?5AÄAA¸•E™ćMÖóŘąs'íííDQÄç?˙y2™Ś4ÔufVŠ2kçÎUJQ(PJ155EWWccc<ůä“,--±wď^Ξ=K&“ÁC?ZkśsdłŮćşźtűűűikkă©§ž˘łł“žžž¦7UEtuu‘ÉdčëŰÄąsçXZZb÷îÝś9s†]»v‘Éd(—ËÄq,ý 1J)<Ď#śsřľÁqWJ5=“˘(â™gž!Š"�´Ź%áĆSŠ4O{ôćbrľĂ(…ÓYâŽIL˙č˙…ł3$Ö˘¬Â$>S§h‹šĘť¤×U…kz¬hgAY픳i…%…‚bď– FĂř’ˇ+†:bŚÚx’o»ú|چť˝Ö-ËěŞqťG±ąÓˇ•˘+—Š/FA”Ś^NŰ• 4_ŢŇ»gbú šOďđŮÚĄë~1W)ď: 7’}˵AÄAA®‚łÖ€Ű÷}şşşxä‘G6śwD¸ňÁójaćb‚çyěßżźcÇŽ177ÇO<AWW °˙~ Ui ¸ď=ď“›Q !č+_ů /˝ôźűÜç( h­yě±Çx衇‚�k-ƦׅďűěÜąłůÝŤĎŤTîş&(Ą0ư{÷nŞŐ*�mmmApÁrAEŁŁŁÍ~čű>žź–·w·‘?Lw‹ŃťKĂ”ĽQÂ)@gq…Qâí˙'ćÔèPZ§ĺ×µC)ťz»(RQZş*˛(› \‚‘VRj„(.ýăím>[·řhĺxh°–Š$ZĄáM>SaE‘®«W­ëęŠIU˘ôµľ^°ęK´†|hřÜî,źŮ•.ăkĐZ­[I ÇĆJŃ_B±q¸? "Ć‚ ‚pČd2ěŢ˝[ Żk,¬6naJ­!Lk‘Ďçąçž{Z uÝ„Ż%đlDčil§áIłÖňZkşşşřÖ·ľµb_Ă0löWç i|~ąű"\±ěy 7ŹA#lu›cČĺrÔj5¬µčzyó4_Ě#±[y`ßÝ]Áݬ[…RMsäĽĎîŢíˇ[”ť!i¶ü/űWh5†§âş cŇtGŞ.D(P @ÉBbë2Ł—ÔËş7ňŤ˘‡ŻŁŹö“oÓŕŕÄśGdawO„w™—-µJśąŕ3µöÂk-k+Ů+X~EkŐz]بÚ##‚ ÂĆě11®®› łş­=Ď#“ÉEŃuKšÚU‚ ¸¤ÇĘZy^.VÎZúŃŤccůxRo)Ďóš}QĄ±·]’Őâu ÜÔÍTQ3Ň©p᪩4<Içă8ŻďŘ˙ŤŃ(ŁęĄ‘”4 U*Ň`QKZzţ— �ß:G{čÝ–ÁŇL2 UE-Qő"ŘöĘNŤŐ(×ú<SWşęŞf-^8®ńŮš˘Śd™ş]1FA„Űf€Ř·ćúĐZ†a˝Ě´ş¦ČÖA¸„qÜi¸‘BŽ»psŃ•Ťůň]1ZľX÷4Yláj#˙ţŘ˙¶GAŸF<QýuŮK¦EP±E9KSytIęĹ·©-źßD7 R-çľZz}T śţäú†s-GÝűńźvéw,Ë*ż8”kşĄóš+Ř5î]iŰ4‹�8V&:“ËÉm‹1‚ ÂŮu–¸éC‚ôáÖ׆8bŚAksÍźä;IČxÇ÷˝5/›Î˛âJ"Ü0«šă!÷ôWéĚÚ‹2 tŰö Ą˙•ěŮ˙ŽV'đ´CÓKơLújŃBdAĄž1ZC0ĐMď7v’ŰśCŐì§}ޱâžţľţ„¶Eł|au˝ň1)Ŕ5<ŢÔň\GËC�–}_\]$J§µ~¦Ş‡vŐ“!×gĄm¨šˇW+Šm»[Ä6„1‚ Šäz˙ßz#9¦Âőí"Ä‚p3bť"v{©Űş2(Ż€m„ĹÄ‘źř+<uC-őŚi UjüŻ”E‰B™�·%Oá™űČßŐ‹źńV\cŰĐŮfÔĺţb\-ÂVc”µË?—Uęč˛ $ ŤĎ }g4hU[ꂌSDʵ„jÍY°śně_˝ •k-ő‡¤eÁ=­đ|MĆ×d}•V‚Zá-#÷™ŰcA„ő¬2iA„+;¬µ·UE%áÖ˘3“đäö„N»ó+…´SkůŘŇqţżá»3heQĆ‚ŠAąfř’R ´‚ZŚŢ5@ří/‘Ýą•L!‡1ËbŚVpO_Ô,EÝ´2Üm çp eÜ®MsθëhŞŘzëYĎ  Tg‚FąűTN)'ŽÉ…„ůJB’°"MĚ%sÜÔĹ…%ô› †ÎśÁÓȦŰcA„µěťÔ¨¨ ÖÚ•IĺÜ%^iĚ[¶đÖžßúů…;ráşk}^_&Ťe×ÍĺĹSA„{=uT«U˘Zµĺń˝ \_ć*š7Ďdyp°Jw.ľxŢzźŐĆŕgŰI:a*¶tĎü|Nat Ę4C–Đ 2!ń¦~ÜžÇzŚÜŕfÂlż)RÔm ďN„ÔĹU|UŹ7Rv*ĂUjŘ™EHâTq.uµI”©»ť(Ŕ3 ă%©m`4}5Îčô%NHJmP]Ą5NAâ,‹ ‹eGRˇš+ZŽś‹±jvözlíZ›µ˘ÄÖM…V©7 ‘c|Ţ’ńą ť/#‚ ÜöBLúš8K­XĆ.QIrĺö˵¶#”Â…~{? ęIýäa’ 7–$I˘h9/„ \G¬ZÎYޱ#Jˇ·~~8ĄŔźLľ çfAŐh_řgL4¦†ö<l'îě¦ćm§:ô)2C»Čwv“ÉfŃ«*É5t“ئ9Tj‰ÂxŽ Ë#ÖâJ$é˛*5’ÎB©Š*d°Ĺ fk/z¨'µ*öŁqś§1]¨B¦i8HKs›ôፋë˘M]Ąrőx.eÎŐTcč. ŚNĂ‘‡+VPí9śÖ8ŐČ1_¶i8X˝‰u´F.Ptd5IŐqä\Ěćg Jgç,§çbŰ §ć,[»<¶vi´›8&¶vyh#}YÄAádRc©2żť†JeíÍżăJá<CĄR…ľ‚ ¨'ŐAFA¸3‰-śśS|pŢR¬)>3}…uoĄő×´"]ľ˝ŹZř%–Ú÷aËăÄŐ%l˘möâĺ{éÉç 3™aI+´SEĹ{ă©FŃ‘Ńěę¶4łÔ^Ę.‰b¨Tq.-ŠŤu¸éEěŰÇpóĄÔCG)ěŘáwŁ TĹžšÂěŢŚ[,cĎLهz±ă3iS%B>zŰ&â·ŹŁrfç nˇDrv˝©<ŤťYJ÷áĚ ŢWîG˛Í]vq‚«Ĺ(ßX):lŇę˙¦(Ő÷ ůlîô8żpä\„u…a¦đ«ŁUśsd<ĹRĹr~)as‡Ć7©lT©Ab©˙/#‚ ÜÎJ Î9˘Z ;5 Ĺ2ju¸PëëM°żËáJ•XÜô<ĺlßŐ‰2¦ń‘¤ŔAî¬[:đÁ”ćß>ĚĐ–óůÍxB”TůĘî„(Qäü´ u©¦Čç•H‘ ,Ö)Ş1ä|EMµQ w“Ém%©Z Y_QsĆóĐľf!Ňx ĆQŠ4žvĆQŚ4‹řńűĹ$Ŕß˝ń_łôlt4ęRFŐC¨•V¨¶,Ş» ·TkQyĚ˝#©0c>şż“řđiô@®Ł{;ps%¨FťŘó ¸ą*±(ß'9|”ĂŰÖO|řô´avôCą–&ë Ľ m‰ş â€Zâ6üsâÄňŢ™ľ|xŢŃjJak‚™ĺc(>u"Ć‚ wá†ją†­FŐyY|• ! Á Eg/T=ZóȬ梟9Ňr «?kQU¬Ĺ-.AĄ˛l 9PIB2_Äv¶ÓőoJ´AáÎA)Š#”fKWH #¦K5Î-NÎú<2TfˇŞ91ës˙`…óEĂdŃăŢ cs†b¤Ýql.Ŕ(ŘŐíqlĆŁ#ăČ… N µÇhcyw"`wOLč9޸·?˘ĂoĎúteÎ,hö{TcĹábÂBUŃ“ßŕťYkđ .NŇęM¤bŚ÷ĐNbŁq %ĚţĚöţÔFP. CŇ:őpq¤áE3‹ÍMÚĄşíŕ›ÔS¦TEő¶AąŠť]Bwĺqľˇźć„qsÍbHiűÖ'­›ćLÖW,TVŞ'±…só–ąrD9rDIZEɢčmÓśťsh•¦÷}Eŕ±"§ĎF’. "Ć‚ ·‘$Ł­˝0®çˇ·ŹŕýçďˇďŮŢeŢFV?đąđĐeí#Ą2ńßýÉóżŔ--AŇx~äę>r$/»UëŤÖęfŢxď¤AAnrý%-ŻŚRXIbŮŐ ',ÇĎW™\Hxp¶´Çôb˛ľ%ç[ş2 ß1ÔŃWH•í]1±UžcwO„uŕÇh_ŚR©Ě˝5Śrř¬á‡Qđ©ÍUB/}`«cˇ}ĹŃÉt›6q‚ú˝|·ĺ\&DUpI*¶ŤÚŇŤßSŔ.UĐťůÔsĄn`¨B¶őa¨ĐOc}âŐ×AňţhϢ·tÖ¨ĐÇěŮ‚ęʧůc˘$M¬Uş®µÝ[PĆÔKr×ËR{xiľŁ ;Ż9żdIZî—µŘńţDĚľAĂ©YKhJ)|ُokŔţ!/[˛~*ÜŔrb€l 0k-bŚ ‚přčť;đţä;ďßż±ˇJCĽď}2’ý·¸¸Q»Nh_lŁ* µľ ŢżńąÖZLáˇV«r~jŠ]]Ý<łĎňŢdĚľ8°5"ď/çS¤ÂJăĘÖßűž«kĎsMżTĎŻżW÷]sů !ćC›^~ß®˛žâG#Ţ<e‰¬âŢÍ 9SĄT´t´wáú?Ćč4Qn©š–$jJA6@‡>”ň4tćšŢ±ő›*±=›ˇ#Źň X‡Ů?‚ę)ŕ< <V¸ż(•*-íY\=7ŤŞ{Äč¶L}yUQ˝yĂt1!®'~úľ,ľQxö 8<­ębK=ä hϤë†fŰjľQô·y+ÄAÄAáNA)0˝mŢłßÁ<p„™›ĆgVu´ă}ű[ Éżüćć9făĚÎÎrřđa&&& ‚€Ń}Ł mŞW1OrÇüö­ß2:zů|.­"ˇT}Ş—â\CÄAnÄm;őŽ±Î±0ż@xělΧú„ĘĄK%R»šź§n°]<9śîźÁ17łg<¶lŃůQ¨ĐĂô¶cJ¸J6PX@­µ›Îˇş–㨡žşî˘6¶/ľŹjË@!»âÁ”z ­seKlˇ·`ZZc-űä‚DkČůš®ś!ô$LévEÄAaPóÄcź˙&»ujoĂűúďáNś"ůŹ_§aÜNŚ—Ť5ź!^{ő5ľđ…§(KĽüŇ+„aČ]wÝĹÉ“'™žžâ­·Ţ&ź+0;; @oo/Ĺb‘ť»¶súôiöěŮC.—AFá&!fčěěf~nŽĄĄŠĹŇ 7Ő4B Ť!—Ícü­[‡ °)𯿬.źAg}\5•jő<uë0\Ç3ľ‡ÎgŔKËw»•»HĆW ´kzňŠůJš#fąŮÝŞ}S+ţPÚ‘9_ăŐ˛žÜ_o7DŚA.ŔNĄ“‚49]Gĺ$u7—ď‰J ·ĺĺŕ]&…BíŰ·“ĎçŮ˝{7oľů&łłł(Ą8yň$gÎśáŔ,--17;Çůóçyçť<ńÄgxăŤ×ů|ô$ŚŽŽJc Â:Bµb¸%׸Ď)E†ěŢ˝›ńł§ńĽ (ál#ôČ­›Âír˙żśsAM>W`S˙�[ĐÚ[Q¨ńbz‘# ÝqÚ ˛:-&°˝P×⌮—äľŘ·+­ńôÖú=î’{Öš´7őF•>};"bŚ ‚pIX‹‹ă´˘Ŕ&ŮĺWc]µržµ$X+áI—‹Öß÷ń�ĎóXZZ˘łł“rąĚĚĚ4�CCCřľĎŘ©1ĆĆĆXZZ ­­Ť|ľŔ+ŻĽÂg?űYÂ0”Ć„‹ŕű> GUšB¸N(Ą0ĆMu>n�� �IDATP(ŢF_˙ q_DĽX.Í|ąu›ö@«ă†»P»h|®�Ą4Ć3äry<ĎCëeig=ĎťćRjĄ ró‹í˘şěc)Üž#‚ ¬oh9GGLž:ËôŰďÖ˝eTÓk}ˇą±ňłµÖ[˨S-ĎěÖÚ†[áć«PÎâU*ôMMÓ#‡l…A۬¬Á…’ó}ßcÇŽmÚr<ţ™üň?~Iˇ­Ŕ§>ý:Ä«ŻţŠí;Fزe(®ŃŮŐNWw{îľ‹×_ťÝ»wK WÔW×ę›”ÝjĄ~ŕy†j3…ÇÂőé{J)ÂL†ŕ‚yëův˝Î±ÖÜcR¬O¸1FAXĂBŞż¸Ô@«Uküô'?㥗^YSr©›r-˙» |v©e×űŽ•źiçČYËłĺ2źwŢÚ‹ÖËźA&“áé§ż‰çů´··322’ žÇ®]»H’k-žçńčGI’„Z­ĆŃŁGůÜç>GGG‡4¸pE}uíľyűśČ-Ž‚pCαŤžO×:§ĚęýŻáNFÄAaĄ!¶jđ�`ť#®ŔÝM8śĐ€o-6Iä�®aä®ö<XmtcČfs+ţżŐj•|žž2™Ěu1âAo‚póť3źdű­÷ĄÖ‡‚p'!bŚ ‚°AË)u#v—ă^ďT˝®$—®ćčZÜqVŻ{±eXąi±ĺ6f(·–¦N˙Oę†pkÜţŶ•ľÇŕŕ@Ý˝ÜÖóő¸UëÉ YXŻO¦ýĄ1[î¦jŤľtalT^qF®Ýýâzm_ÎcáNDÄAáŞWZ7‡ű8§°vy`ĄôEVvş>şŞŔp€Eiš±äŤ™s—¬b)´6í1«çY›ŕśĹ®ŔOú„Rk-µpýsYXi})¬µő\VI˝ĎJź„«uNŢ|Fâ#Ü©#‚ \1ľďłmŰ0đOłoߎź8É?ţĂs9üÖ9ÚŰŰčÝÔ^+®˝ä Yp0==Çá÷ŽR,–Čĺ2|öłOđµŻ}üâĹ—yţůX\,Š̆¸x’І'‚µ©G‹1š$IťťĄ\.S«ŐH’dÝ<ÖÚ¦xÓŘfoo/ííí"Ę|)Őú4Ü]2ĎQcL3Áo[´fE_áŢ5nňęD‚p»!bŚ ‚pĹtvvđőŻŤ‡ľźLčÓŢqI’0>ţß™››C)0FŐËW.ŁUz ‚�çľďٵF+Ĺ®];yöŮďĐŃŮÎńťď<ĂŘŘ)ŢúíAw©Ü0Ť Lwôp÷˘Ú•U3Ňěřř8ű·ËäÄď˝÷ĄR©Ů†jEúQ·"©ŇśĂó}ţôO˙”gź}–|>/'…p‰AßÚI<[ó]jýT€W9A¸ĄîL7 j“ ܬ#‚ \1ÝÝ]ô÷őâ{­Jiş::čŰ´‰Ĺů”S(×HőŇZÂÖb›ÎŻOĘVŠ»ví"› Roa°cű6ľsëěÚ5Ő*EűĚzŕ†gLĂĂ`ňÜFivîÜÉŰo˝ÍĚôLs9­u3Ľ©±|ă}ă3€ŁGŹR©TČĺr×=!c«Q˝«Wg€¶ś;ćň*żH Üz÷ ADŚA®ósóLMM±cÇ6´V$±e~~‘Ů™Yśł\ÜGE]^ŕTZ˝éäÉTĘ ŔZKĄRăô©38+OÂŻqóţűďăyĄR©9Ŕµőön„%­cź)ĄV;Őj•……´ÖT*<ĎŁP(P,ń}źrąL>źÇóĽćvµÖcšš˘ŻŻŻą­5Zkě˙ĎŢ›ĹH–ťw~żs׸±oąWfeÖŢŐ {Én6EµČ!G@3´dŘÄĚŔĂ€^ćÁ€aĆĚ‹_ô`=~óŔO3@˛âŚHI#‰C‘MRj©ĹŢŞ»«ŞkŻĘĘ=3"2¶»?Ü›ąTVUWeeUťČĚ7îrî9ßůźo‰"Â^Ŭv»M6›Ĺ0 t]§ŮlŇjµ°, ×uŃuťl6K*•buuß÷“Ľ8ýĎő'óµZ ˲ĂÇq’cB`Y‡ĆôĎٲ¬»Ş8Ą¸ż Ú^Őż …Bˇx’PbŚBˇP(ľ0kkëüŮźţgňůgÎśâĘ•+üŮźý9««kÉd~/LÓܱ-Ś">űěüÇÂoüć?$|~ú“źńŮg‚ )Ş¤Řźý'¶±xâ>—.]˘ŃhĐívżđ„¸ÓépţüyÚí6¦i’Ífét:t»]lŰfuu•©©©D�iµZ”J%¦§§ąqă•J…µµ5.]ş„®ë :ť­V+F,ˢT*qäČ.\¸Ŕââ"ĹbĎó(—ËŚŚŚP­Vąuë‹‹‹dłY,ËB®ë‰Đ˛´´D»ÝćČ‘#X–E­VCJ‰®ë„aH¤ÓéäNś8A±XTŤëŔÚ¨BˇP(OJŚQ( Ĺ&Î_ĽĚ˙ţű˙¦iâű>Ý®K… ľŮbłŐŮV-%®”tůĘŤ!Ź ß@JÚť.?řáźó_~üQáş^,¨9Ű=1–4—c+´ŁWŘł%‚=Ă>¤Ś«] r‰cű´;í.l×Ü4MĂqŇé4Íf“v»M¤R)ş]—l6Ç–e%Ť®ët»]|ßÇu]nÝşĹňň*Ĺb‘ŤŤd2–––Éf3är9\×emmŤńńqVWW“ÄĂ+++‰€Ó?Žn·‹ëş E‚ d}}Ťééićććh·;ADŁŃ¤PČ“ÍćY^^$““SÔëuZ­ŤFß÷WbĚ´Y…Bqđ<ȰżĂđ,ßďůÖ~čNçó¸ôťOÂ9(1FˇP(‡†(’DQ@˝ŢŘ9č2ŠöőŮNF´Űí$‘¬âÁBýТÝ^ß6˛µM€ĽxÖĺ{żUçă§ď:;ҨڶÍôô4ş®Ójµ�¨×ë@ś°ą^ßäÔ©*ŤFb±€ÇqHĄRT*>˙üsĆĆĆ0M›rąŚçyäó9JĄ"Žă ë:ťN›t:ŤaĽđ „aČČČHň=ét]×'•Jáy¶ť˘^o0>>F6›ŁÝî099Iµ:‚®ë¤R)„€|>Ź”…B‘b±Řş„aD.—SŤč˛ÝřĂ(Š0 C 3 Ĺâş.®ëâ{aśwmPłĚÜľ}.-vü–eb§llËz$šÂPâą.Ý®›„ĐîzĚŰ6kš†ť˛HĄěCŽÚĎóW<ô‰ÂáDȦi’rlLóp÷›áş]\×ŰĘů%â%!ÓěµŰÜ×.QbŚBˇP(ŠC+¶ěg´ {ÇěżrxŐôŢ^khśżl˛Q7·ĽbvcY###H))•J�LMMÝŐ„üÔ©SÉyLNN˝^©”wTăB011‘üoŰöĐgJĄĹbq×Ő¸ÁďÝ~ÍŻă`˘XUFůáµŰţ„đŇĄK<óĚ3JQ(h’żŮhR«×čvş=É/¶_Ó4H9…||!‹¦iň,÷sŤŐ6´Z-\×MrŤÝ Bě”M&ť¦\.c§¬GŢ…aH§ÓˇV«Ńjµü`‡7Şiš8ŽM±T$›=¸ë}·ô…¤ŤőťNĎó†„�Ă0IĄl Ĺ<ą\.Éí¶Űř¬Ä…BˇP<*Ó‰\fę—µ-“LÚA ±cAIlűűn^{pű %©(ÄŚ"„<ő-d7ŁeŻm‰ŘŔÝ–•H ŻZ\ľž' ˘]*ÚěVŞxčűîc•ëNbČťD•ţ¶AŹ ˝öżý¸ŹfŇqĺĘŽ;–äR(o’\«Ő¸=żHÔóbí'lďżŢ˙{°Ýďą Ă×őhÔL3EľP@×îł,Ą$–—ŘÜl†Q˛= #Â0Ŕ4ÍÇE’0 ’$ďA3 ÝjÓl¶ť›Á4͡ĘjńII·Űe~~žN§ßź0" 卮ۥŮj211AˇP84ž=ýs¸}ű6ÝŽ‹ď;B˘ăţ±jcłÁ‘#G( Oüâ‡c …âń›jôĚž”móŤ_ű:/Ľú2mÇá$ÚŔ±IäĐ˙wÚěJÜů´ĺÖű“÷j@ˇ·;LýçÁßđh®ÓcĆ–§GOÖ’» ;?˙ö<AihÚîďíĹý•Żn·‹®ëd2‚  Űí’JĄ0Ms[ÔÎăđ}!ťNMÓČd2C˘N!†VŃît,Aŕ8N˛]×u‚ C|ß'›Í*ŕQôl˝°ąĎ>űŚO>ů„™™ľôĄ/© ŁP<DZ­ËËËI(O,..’Ëĺ°,‹ĄĄ%FFF0 őőu„±ÇHĎqżq`iiðâOńđ*"†AÄúÚŤĆ&Q$‡ÄŁ••e>ýôS^ýőd B†!Íf“O?ý”ąą9FGG“±Çő\V–WCÚ›±˛¸¸ëşČHĐjvř裏X^^FJI:ťćĉĚÍÍ!„NŕG,/­`Ű)2™ôˇhc˛ş˛N»¸}ű6~ř!žç%ÉňGGGyć™gb/ÖH˛ĽĽ‚mŮd˛é'úůSbŚBˇP<&DRIe&4ĚZ-Äe}Ź›ăÄ—_Ă8A•l6 ~ů!R5•] şíž#b…ďN»˘FŁAĹ9V<ĎŁŮlbš&ŤFĎóhµZ†A†„aH&'ćí—ą–RŇn·Y^^î%ţíR(p‡v»MłŮLD]×q]—t:M6›Ýq,+++A€mŰÉŠś”’ĺĺe2™ ›››H)IĄR¸®ËČČcşŹ‹"šÍ&ş®366†¦i´Űm2™Ś »~I‰.ú]x,(Űź9ßó‘2Ş/^ĽČĎţs^|ńE\×壏>âí·ß¦ŰírîÜ94MăěŮłIž®ţXa"Vô“µ÷ĹvĎó¨ŐjdłŮ‡jBřľO­VďyŤÄß{ůňe>ýěSf¦g¸uëgĎž%“É�qŐżżţëżfeu…ů[ó\ąr…L&Ă·żýmlŰ& #jµ:ĺreO±˙aŹÝ›››t»ÝD\j·ŰÜşu‹S'OŃu»|ţůç\¸pßýÝßE×őžŠK§ÓÁqR‡˘ďětşl67“qwii‰(Š’Ľrým qED$řžĎęę*™ěĚí%Ć( …âáČ@(%źm4řŁËWůź_~ľ'ĆLČ’M×0 ă¤(ŠşN¤i„Şąě+¸ ®Ę~y*ëlšBH„Ř[˙ľ[4Mò,|ßO’ř–ËĺÄĄP(°ĽĽL«Őbzzšn·›îőzťb±H†ÔëušÍ&–e%«´ą\Žn·KŁŃHĽ)lŰ&Š"|ß'•J%Ożlöúú:ŮlÇqXYYˇZ­âş.­V‹N§O&ÂĎóöĚ/Łxř,..˛°°@.—ăĘ•+‹EŇé´ş0w $ż÷Ësüö‰#ś.–0„P~Š»ščÇ^Š.‘Ś�­×oFŚŤŤŃjµH§Ó¤Ói666¸xńbOLI[Ż×ątéÇŽăĘ•+¤ÓéÄËćůçźg||<éŁ}ß' Ctˇ=4A¦Őnř>}WĎ ¸rĺ );Ĺ'ź|B©TÂ0 ‚ Ä0â¤|>Ďää$ťv‡/}éKśżp>úO ľuŹ\×CF2ůß÷},ËbîŘëëëś?žµµµŢńŠŢx-i4ę ůC!ĆÔj„AŘ%š¦111ÁóĎ?Źm۸®‹çyxž›|& C\Ď{âźC%Ć( Ĺ!'Bâ…!ż\Yá?^ąĹż8{ 3‰>Ě&÷śĚŞ©ĹýqŰó´ ľ¶µMöçIŞĺ¤DF čtˇÝ‘ˇőŢ'vě{(‹ţß÷ét:ضŤă8C«‘«««är94MŁŐjaŰ6a˘iĄR)ů®t:Ťçy‰§L2`Y…B\…Éó<,ËJbçűBP˙8R©T’Dxmm ÓŚ+5¦™ěŁot†A*•RžŹ�MÓ8}ú4'NśHÚ” ŰK×řŢ©Łü›O/đ[ÇfxedKÓĐ„ö€űaĹ“F_´FĆýťeY?~ŚĄĄEś”ĂÜÜ—/_N’ŻŽŚŚŕű>/^dff†Z­Ć|@EüčG?âąçžăŇĄKT*&&&Mň–ěŤ}ľO´-Éää$çÎťczzš(ŠřĹ/~Á›oľIˇP V«Ńn·)‹čşÎňň2…|ĎópgË‹â±ńŕŐ@öM¤H®ŰĘĘ ?üáń}ʱ±±děěçtp]ďž«X>,\ĎJ‚†ĚľąŢ”ŁP(Ї<©†O×küĺÍţ«łĚćrh<(É(ĎGvş»’ŘH Ńă…_` °ÓPÓ‘hR˘BŻ@ e® JŢ{WŇÖ.âŚ&Ż˝ŕrńrH1Ňu5–×t.]׉")w&Îí'vÜ­l¨‚\.G&“IJF÷?_*•ČĺrčşN©TJbĆ·»kšFˇPHJI÷ N]×ÉĺrI8Ňvcmđ8űŐ•&''‰˘()›Üd&''Q©˙ł[‚GĹÁ ëúˇ*'ű8  Ál.Ç}bŽ^ż…Ł›|©ZQBŚâ®ž7C®X“üh"¸Ç!—Ë%^"}‘4Š"ŞŐ*.\ R©$a§Ůl–z˝NEÉóśě÷!*ýD»ýęIý\0ăăălllpěŘ1>üđC|ßb~uu•……E�(—Ë\şt‰gź}69v-v}dĎ”HĆDA>ź§X,bYéôkkk|ýë_ß1>§lűĐ,*¤l›n§;TŐęęŐ«´Z-t]'Š"ÖÖÖxţůçw=ó'y<VbŚBˇPz1FŇô}LM#Ąëls@85Ču ń.rq±ł˛ÍB’P>Ëć¸î¤„ öŞhB$+UŰ+!‰Ţk»UO¤č»śmµ(zĎ]M@4`yŃç—TąOqF˘±Rź˘íÖÉ—ňD$•é29 kku¦¦¦X__G×uŞŐ*őzŻçBě87oŢşo u·‡L z®ěghő˝#Eqy1úűÜÇnß­DĹc÷üöÚmJ7°4Ť¦ß«R˘Ú˛bź>Ń0 씍¶)zăi_$O§Ó¦ÉŘŘĺr™_ů•_áťwŢÁ˛,Ţxă LÓ$ťN333Ă“““IŽ×u©T*}ľŔ4Mtýá&ÁÍd2¦9T©grr’—_~™••Ťo˝őą\.Y08rä­V‹k×®1>>N©Tbzzzŕé†ţhüs…Ŕ˛L„¦A‡ůdłY^}őU~ň“źĐh4››cjjjÇ"DţUS*–J4›-ÂŢ9=z”őőu“çž{Ž#G¦‡ě۶žř1Z‰1 …BqČф॑ ť 䏯]'cLgłšŘCşxbL˝˙чíú}‚۶͏GGą–I!ČxlŮ  µ±Á›µÎ@’ŔŚ•śÄCăŃ­`=.lw–‘`ŁQ¤Ůöh»#a@ł˝Že 4­AµZĄŰŤ=Ł*• QaYV’ße~~~ÇýŢŻÜôýLô>”řňx·aEśŔ÷fłÉ÷ŻŢŕŐŃ*/Ť”Ü{RńÚšF.—ĄQŻÇąIdŞôâ‹/&"ú׾öµ$LôčŃŁ‰ŢĎű1111ô,ľüňˉ·c_ °,“b)żŁăĆ´,JĄÝn\µ§X,ňúëŻă8ét:IâŢ?‡\.lj'¸}ű6ĺrĂ08zô(™tD|}ŠĄ†i »ĺŘýŠyÖ7Ö)ăE…ŮŮYĆĆĆp]—\.‡ažˇ‚TĘ!í8‡Ć3ĆIĄČfłIő¤BˇŔ /Ľ$ňµ,‹'N ŻeYTGFžřgP‰1 …Bń1YÓâÍÉ1R†Î^şĘż|á,¦f>܉CRB(!Ü=ţ8ryt/ŔŤSnHxßIóňęŽěkÉA)ć)Öeöó8Ůş@ \ż~“z˝ÎÂâ@R)#Š"~ůË_&%¦—––’˘0 YXXč­x)qCńhŰűÓ(ĐxQČż»x™·&Çxmt”´a¨,[Š»&ťN3:6ĘâÂ2ľď' V·Ź!}f»łß3iš&ăă’[ÓĹb‘n·K˝^HBŞ4M-úÇW(ČfłÉyÇ!I`é´CµZŤ=zQź¦ë:SSSܸq“nÇMŽłź\yđ>iš†išŚŚŚ`őD§ĂĐ'ęşNĄRÁ÷}šÍ&RJ*•J’,żúżMÓd||ś”ťRbŚBˇP(Á$ptŻŽŹń•ń1¶Y‹w?€×,«i‡Ž&DČ<„dŲ¸ćŘäCcź<z±]˘VÍ÷›°ĆÇÂŮéS§xë­·¸ző*a€˝›dő’óĆ%• Ů$‘/`Ů6_ýęŞ ±âˇÓożń/9´íiÄÖtţ——^'nŞ’’â>&Ęq"sŤz­N×í…ŃA é:©”M±P$—ËHČL?¬hllÓ4â˛ÝAĐKJ÷¦I&›ĄT*bŰöŁĆm›é#GX][ŁŰé ”ď_o]×±m;ÎÉ–Ď'U•…ݡ RŽÍÄÄ8«««tş]ÂP˛Á¶hŰ6ĹbżÍ<ůIČ•ŁP(Ź šâzŢ×1‚(Bô’ćŢqbĚŰ)R6Ql‚=„ÁSC É…gÚMô0şĂ„#N멆]Áßńö¸üg±Tâ_ýëťT_¸źzşˇUÎP(ý˛ĽqjńT{dZżĘŠŞž¤¸?â<1Eňů8Iď˝TáŮËűB×u Ă8ŕĽ%ˇe›ŚŤŹR ĘAŰ�“ţB/<‰^‚ţ±–~EÓ4Ň™4GśA$^«ýëßĎÁ_/š&pŇ)¦ŽL&ç0ŘźďŢfäľăŔăŢ÷+1FˇP(»Ň‰€0"Ű3ńw^ˇŁëÜLĄ¨&RÜ›GÍ˝ äÉ•´Ă’es´Ű…;LöĂ0¤ĺÔÄdOad0ľĽ?©ŐDěžť6÷ú=AH„=Ϥ~|ŘÖbÄďóÝ}î^ţL }·ß˙E÷s·Çą×gzßNón÷#îńő{˝Î÷˙<ß[;ŘyMÂ0®ŚĄ*_±KU(îŇ<AČSŃKPÜO$Żcf_ä=Lţ~Ożŕ~ăýaě÷;‡§­?WbŚBˇP(v1íÂ0Ř”’T$Ńv <DRrÓ÷©m6î1IIGJ. Á‘(w윀tĂŔ4@9ěď‹Ţ+k!a/׏ňjQö c?E˙o…Bń` u>;sĺ&AćNÇqŘ…'µť}”ŁP(Š]ĘbÖa3íŕŐ6éz.M×Ý6IDB°f¬ŤF<ÜcL)™ßlrٱ‰>$ĆÄIdlÝ ˛q-“L©€ĐÔ€żżAÔŻz1^¤ĹaĄ/Ŕ ôqţ#eä+÷GÔ«F¸[˘Ţý&˙ű Źúą¬x?aŤ‡ˇ_ŮëľČy=Čc‹zůĺîtĂůęîÜ.Cĺö:ß'%Ć( …bŁI’2 F§ÇYÔ@®E¸žOD8]-řL]Ł ‰}ö Ůţ۶éÄysş€–Ľcë" d&Ef¬J©CBŞU}ĚĚžˇłÝ`{Ü…aAn÷;ą×ë»íWî8ž»Ű¦xj[ě®ĎłTĎąBqźxžÇ•+W¨Őj¤R)ž}öŮ}s¦DQD˝^ŹoŠĹ=÷»´´Äččč# ÚŘŘŕŇĄKčşÎéÓ§Éd2űö}Áŕ°xĹ´Z-®_żŽëşŚŹŹ399 @łŮd~ţ6'NżŻ¬Ńv–––X\\IJ,Ž;F6›Ý‘ěżŮlŇjµ(—ËA€‚T*µçµ˝|ů2är9fggq)%őz×uSbŚBˇP(žěÉN>ť"}ü(Ë“m,?@ʨ—¦?A. zč!Ań·j#y´=Ľ6 MŁd§Č›&ú.Ą9÷:ŮÝíÚí·íNŻ‹{|˙~Ű …Bń…GW)ąyó&†aP«Őp‡<a5fff¸pá–i2wě/\@hSSSÔ66čt:¦Éěě,—Ż\ĆĐ Ęĺ2WŻ^ĄŢ¨ó­o}ó‘Š1Ýn—wŢy‡—_~™FŁÁ{gă84›MŞŐ*ľďł±±Á©S§žžFÓ´CçŃl6ąrĺ …BĹĹ%–—Vh6›X–Ĺąsç0M‹+W.S©”yńŬŞa†\»vŤT*Ĺęę*™L†sçÎŃhlňÜsĎqáüě”Mą\ćŁ?âô™Ól¬o033Ă­[·Čd3LMNqî“s8)'>v]pýúu2é Ľ˙!†aríÚu ]gvv–ŹĎ}Ě+/ż‚n踮ËŃŁ3JŚQ( Ĺc–%� &2™Ř0‘ ĹÖÔXîřÔ{}ˇč×J€Q( …ânÇŐž—Âôô4Ađýďź·Ţz ˲řđŹ©×꬯o°ľľĘŘŘ8®ëqůňeFŞ#\¸p‘ééi<ĎçâĹĎi4,..Ňh4řú׿ŽďDŃŁől”RŇjµ¸téGŹ%Š"~öłź‘ËĺXXXŕóĎ?gddÓ4™šš:0!ă^( ĚÎÎňŢ{ď111‰eÚ,,,099ÉóĎżŔĹ ąqó:?řÁó /Ř9H‡:ź:uŠFŁÁ•+Wř“?ůNť<MŁľÉŤ7x饗X]YăG?ú/|ő«o`č&7nÜdllŚ .ŕ{·çČĺrlnnb:ăăăTĘ._ľĘúÚk«kÔj5ĆĆĆ1t“żű»÷Rň«żúÖcýě)1FˇP(CŮP8V…úńşŰE‘Ăv»ţ§BŠÇ‰ýVĄź´Ľë5 ú�� �IDAT ĹŁFÓ4._ľŚçy|ç;ßaee…V«ĹŰożÍ/~ń Ž?ĆččŮl–‘‘:ť¶m311çy†iš8ŽĂěě,B666B ëŹVÜHĄRĽňĘ+üęŻţ*žçŃívyőŐWń<ŹjµJĄRAÁĚĚĚ!- ív›Z­ĆÜÜőzl&ÇÜÜŮl†t:C>źÇ¶-ľôĄTLŇuÇqx˙ý÷ń}ź—^z‰fłI.›gjęĹb‘ĄĄ%^zé%ľóťď0??O6›ĄR©půňerącccüíßţ-ů|ÇI“É:\¸pŤŤ &''Ĺu»d2Ňé4étĎóđ}Ó˛ëçN‰1 …Bˇ–/†’‡}ÄŽĂxü»nU7Vˇx\űˇűx]ˇPÜŰ„úĚ™3¸®‹ă8dłŮ$'G©Tć׿ů6ş®E¶m“Éž`vî(¦iR©” Ł)%¶eŃív“ňĹ]×Eă8ŹôüŇé4_űÚ×H§Ó¦ÉÜÜÇŽccct:ÍéÓ§©×ëäóůCŰ·äóyž}öY<ĎĂI9±ašč†®ëČ(˘R-aŰöžaś<y’ŤŤŤD,yăŤ7Ă”ť"—Ë`Z¦a019ŽçyX=et´ŠmŰhşÎńăsĽöúë¤3†ađŇK/±ąŮÄqLĂ \.„!¶ea§,Ţ˙ĺ/ůÚ[o&űz\QbŚBˇP(îŔă4U će÷O­VăÖ­[LMMŃétXYYá™gžA×ő!.šÍ&ş®“ÍfwLŠ«0˝˙ţűś<y’\.·câ,ĄTĺű÷<Rył))ĆT*•ˇmŐj5ů»\.ÝőľrůÜ–€pHÎĎqśDśĽOLL$§ÓéC}ŹLÓ¤\.ßń=éLú‘´ťl6;d¤R©äďL6łçg …|Ňßç~g¨’W&“!“ÉěyžßüÖ7÷M2ý8 Ä…BˇP<Ö¨ůÚ# CŢ}÷]Ž;Ƨź~ĘÜÜ\RŁZ­ŇétX^^&—ËńÓźţ˲řĆ7ľ‘TÝČçó,--‘éĺr]—ď˙ű|ď{ßK*VضM†T*=ô†ŻâQ?×ęÁV(ЧĄżż—Ešţ{ź„qB‰1 …BˇP˘§BˇŔ+ŻĽÂüţ˘Óépö™çř7˙×˙Ť“vxîŮçřôÓO)•J¤ÓiÖ×בHţđţ?\×eee…Ż˝ő5Ţůé;ś={–ůůy*• ëk5nŢçłĎ>ŁV«qćĚ®]»ĆoüĆođłź˝Ă÷ľ÷ßŢWŰ’R•·V( …âi·7źűTS·^ˇP(Ч]×9yň$N:ÍWľňZ­&Íf“(Ś˘|>O­V# C&''ÉesÔę5Úí6–eŃj¶gvv–|>ĎË/żŚŐËŕy^śh0›%Š"ţâ/ţ‚ŮŮ9l;…”ňž …BˇP(ž”gŚBˇP(O1B,ËâÔÉ“ĚÎΑÉd¨×8ŽĂńăÇIĄRÔj5t]gbbMÓz• \�Nť:…mŰ=z”ĄĄ%®]»Ćěě,ŽăP,ÉçóŚŹŹÓn·ůůĎÎďüÎď`šĘüP( …Bńt٬!…BˇP(žrt]çŤ7ľŠm§°m›|>‹çű”ŠE&§&ŘÜܤP( ë:ťö ě”MŁŃŔ0 ů“S ľţő·čt;ĽöÚ«¤3iNť>†Á… çyăÍŻ22ZEh*üMqgTéj…BˇP<é(1FˇP(ЧMÓ¨ŽlUÎIţNgŇT*[ň˝JĹb!Ů–ÉĆÉx+ŐáJĄRś8Ţţő_#“É$^1*ěHq7ěÖN¶ 4ďQâŤBˇP(”ŁP( …šěEŃCH$RĆä~IÎ0 U,Ĺ>mr÷íýęU4”ř˘P(ŠÇ%Ć( …bHJ6}źMß§?ÍŃ…FĆ0ČF<şËý4}źv’·LÝx “đPJ")Ń„@»ËcRě6ńŤ“ăęş–üżÜKiJ…âÎír«l}ü[ ´W2ŁH>1%N‡°F×Áw54MCůó)O5¦(1FˇP(Có¦ďóď/^ć?\ąJlz ň–ĹăăüăăG™Ęd0µ;ă‹?Ó |ţŕŇUţôú-ţĺ ĎđĆř¦~·›L&_{q»Ő泍3Ů Çň9L% ÝÇAĎÝŞ !˘¸b’®kDQČíŰ·©×ëD‘ěݡOě˛më5]ךš˘\.«É±âašČ˝¶¬ăűÁP[ü[ˇx0„Hżt]¤¦!•ŁP<%CÍÁťVbŚBˇP(¶&ńÄ+Ň^Ňô|ľqd‚1Çᣵ ~4›bĘâź›E°ĐîĐöCжÉXÚÁÖ ‚(˘áy,´ŰDRŇö:A€†QOÄBłC+)Xcé †ĐdDÝóXjw�O§(Ú)�ÚAŔr§KÓ÷É&SY‡ ’üĺ­yţýĹËĽ11Ę?ž›ăT)G'ąÝjJÉHʡę¤0…öÔ…Ĺě5!í 3»1??Ďď˙ţďsăĆ Â0n{Lr·†Áwżű]ľűÝď’ÉdÔäxčhšF*ŮŻâáőĄ€eDŘF„¦í&R+Š'öá?�”ŁP(Š='îßž™áµŃ ?ž_ä˙üč®o6ąŃlň׋Ëüryť¶PJYü™I~íČ·›-ţÝĹK\ml’5-Ľ($”Q,đD?¸zwn/ôēߜ=Ę[“ă\m4řĂKWąÚŘDH;üĎ>CÖ´řáő›Ľ»´Ä¦ď“6L^­đĺŃ~v{‘–ďóîŇ ˇüłÓÇřKWąX«IIŐqř§'OóĄjý)cÚÍ#f·÷\şt‰üŕ,--†a"´Üío€ŃŃQľýíoă8ş®«‡HńĐú¦¸ÝAś—hg[T(pOzpł3…BńÔ Ä…BˇPě9‰ď®Ë…ZťH RşÁ»‹Ëüéµ[T‡×Ç«üřÖmţäúMŽdŇüäö"?_Xf:—ăH6Í߯¬"DHŢ_YᏮ\'kęĽP)ńÉzŤ˙půŻŽT8żQc­ëňRµĘR»Ă+küđÚ Ţšśä‡×nP°,~}jŠ×6¸\«ó+Ł#ś)ąXkp"źç+cU>XYăo–9U,p¦T䣵 >\[ĺĹ‘˘2ˇďpŹ!žŔúľŹďű„aH…#S˘dgU !@†zž4žçEQďsív‡ {aPRFäóyZ­6AE’tÚÁ0ô$´)ŠâÉułŮ$ťNŁiŘ {Š˘V«E6›Ĺ4 Â0Ę"„a„ďű´ŰňůÜP.)%›››¸®K>źGÓ´D8ň}Ă0BCÓš¶ʵ˛˛F>ź‹Ë{wş8N Ó4Ń4ŃËa"ń<ŹZ­F>ź'•˛·.V˛šľu|ívMln6ÉdŇdłŮDhŘş7$źŤ˘µµu¤Ś«T™¦™lŻ×ë¦I±XxŠÄţuG%„V€ŁĽb …c …Bq€ćç˙öŢčBF’ńtšgJţ~yŤŐN—˙ńĄg9S,Ęż¸y›ËőM~ą˛N7 ůggŽs"źÇđ—·¤äŻnŻŕE!o™áÍĺb­F'Ń…Ć·§Źp¶\ŕ“ő:×6›řÜl6ńŁPJ–Ű]®Ö[|m|Ś7&F¨¦mć[mţüć<gJľ26ÂŹçqĂ›Í&S™4˙dî(_ž¨öÓ~˘V5w 1»ĺ’ĐÓ6ą3S…4­óótkČpŕ}š řň,V1KëÚ í+KČ ÚGE\ż~[·nQ©”IĄRčşN:ťáüů ÔëőD|8vl!¶mł°°€ď¤R)R©KKK¦IµZeccb±ČÇĚÉ“'8sć4KKËÜşu‹ééA×u>ţřc677™`nnŽőőu*• ů|Žżú«ź055E«ŐBJI>źÇ0 >ůä^yĺÚí6'NśŔó\nܸA6›ĺoţć]ľńŤopőęUnܸÁÄħOźfssMÓśśäÜąsX–Ĺ•+W©T*¸®‹m۬®®2::ÂÚÚ:gÎśÁó\>űě<®ëR©Th·ŰĚĚĚPŻ×Éfł4›M&&&¸ző*ĺr×uń}źO?ý”ăÇŹłĽĽŚ®ëDQ„¦iĚĎĎsňäI …üS#Ć1,Â(ŹĹÁŚŠŞť) %Ć( …âaOv€ÓĹ<#ŽCٶycb„gĘe>XY!±5˝7/×@ )˝ĎBCô_믑”†¦ČŞ“Â#Ľ(äß^ĽÂĎn/1ťËĘC‹ß;žvřŢ©Ľ·ĽĚšŰćß^\ĺ˙˝|•˙őŐ#9  hĽ>:ÂÚ —OÖ7řpuĎ/ńě­˙ęŐHÚ@E–§ň~î9YÝą]ł $፠rZ ÍIăş.Q%űiť_ÄÍ;¤fË´Ż­�ĂbŚëz4›MšÍ&¦i"eěyRŻ×i6›xž‡ďűĚÎÎráÂER©étšZ­F·ŰĹqrąBšÍ&�›››,..’ÍfŃuőő –—WBăÜąs¤ÓiVWW™śś¤P(ŁŁŁ|đÁt»Ž?A&“fff†ĹĹE*• žç±şşŠeY >ţřcŞŐ* xžŔŇŇ2łłł yŠĹkk&''ů裏h4LLLĎ盕•Â0¤ŃŘ$“É  ÁfŁI˝^çňĺËĽř⋼öÚkś?žŃŃ‚ äňĺË„aH˝^§ÓéĐl6Y]]ĄÝnł±±Aą\fll €ĹĹE&''™źź§P(đꫯ>e^1Ăä_’]ˇŘٵ©¶öĆ(uźŹflQbŚBˇP(ĄeÄ??sŠŻŽŹĆ«Đ$0ťË1 ~tkž«#ś[Ű ęŘLeŇĚäłÜh¶ř«ůŰÜ.¸P«ÇyĽP-ňáÚ ®®ă:ďÜ^bÓóůź^zŽż[Z#cš|cj‚Ëő×-qE¦ůV‹gË%FR6˙ĎĹ«l¸]Ú]tM`j‚Űíź×ëx!t‚€7'Ć©».?¸q“+Ť:^’VĂÝ=ąU+ĂÜŃişÝ.őz×u{ФVŻłÚ¨Ýa±XR*ÉĺrřľŹ$!CSSSO˝Ţ Óé011N§ÓEÓccŁř~€i8Ž"n˘($źĎ“Íf(‹Ř¶M>źcee…ŁGŹ˘iĂ?W,HĄlJĄSSS¸n—rąŚa†NµZ%źĎ±±QĂq …¶m3>>†¦éT«±ÇĘĘĘ GŽ! ž`“gjj’rąD·ŰĄR)“ËĺÉĺ˛T«UÖÖÖťťĄÓéP,p]Ź”ă b±@ˇÇ0tt=Ĺää DQÄÔÔ$­V!Ŕ0tJĄR/TJ'ťNS*•’䎓˘Z­†ŮlŽ\.Ůz’&Ľ}áOÓ´»čŞ”·‚âáMȢ(ŠĂ!% U[{ĐĚ`ĺ?čŰňľűŽAŹĎ]÷łŰő ťžľčľîĺó[°íówĽ»}ţ^ĎO~ÁĎ?¤ď*ŻBˇP(’ĆçYŘ6–îx  Đ&C’·&ÇXîvř»ĹUŢ]Z%c|çčΔKX†ĆşŰĺ§·řlŁ—ŔMŢśăVłÍ; |Ľ¶NŢ2ůÖĚ$é4ŻŽVůůâtĺiĂŤ^4LMCJÉ_ÜĽŤEřaÄWĆGx®\dµŰĺT©Čű«ët€zę óíď,,#ä “ptš¬i©ÉÚŚŕ]WelÄjšNĘN‘Ëĺ8{öl&đŮůó¬źű`O‹%ťNsâÄń-ŁXŇË˙ç<Ů=Djg~•ř-21´!ÎĺŇ?ţ|>ĎÜÜě>ź?ÓűĽ¤R)Ĺí·×–źţą8Ă `ŻMą\bjjrhż333LOĎ�’jµšśľ‚ąąŁĚÎÎ śóÎ*?ýĽ6BhLLŚ3>>¶ăűďVt:Ż'Eq]—k×®qüřqU&]ńH‰"‰ëy@ĐġcľčÜűP«�]×Ń5 M×˝…)ä} RĘ8çYőÝ'ßCF r=¤+«L%Ć( ĹÓ4¸ôŤˇžˇ#·-kގóÍé)N ś(ä·ŮC‚Łąß;yś7ĆĆč„EËb.ź§d[<[.ó»ĎžĺVłIÚ´°5ŤMßçx!GɶřoNç•‘2ť0$kś)± ťďźĺĺ‘ ~‘·L6}ź˘e3â8üö‰Y^­ŇôCg6—e,íP°,ţűgN±Ôî`ë'‹9ţĹ3§¸ŮlIIÁ˛8]*öB¦ÔdnĐ`ö~o·ŰÁ¶mÚť8T¦Ńh$‰~ççç{ JějvoźD‘J7»‰%}t]�Ú»6»‰ăôżçIRĚä7˘Óéđůçź333®ëJŚQ<2ü dsµ…ĐEoÎ{ďß˝uyWď—˝±y°żŽ˝ÄpźŰK2,wő·^Űgţ>řý÷âř ö8~1ŕ[‘ĽÖ«p¨™´E6“"eŮńóŢ{÷ÝŽŰRJ") ‚�×óp=ź „AřŕĹ1pv»¬%$gú°ő‘^%ą84V‰1M?™D‰1 …BńÔ(1’˛·ň$´c¸`é:gË%ž)—v5…LM0ťÍp$›MŚ€ľŃäčĎ”Šś)·ń_ciŃôřcëH6Ă‘lfčpúßť3-¦2ą3B ‘15ž+—y¶Ü3UEÄ©bž“ĹÂŔůHĺVľŻ!»·Uš&’·ýĽ.–e1UŻłX[ÝUŮ.:ô'ŮýŞFŰ÷›h÷CV´ž—Ôp{ÝŞ°t7űŮ^©hű±ô˝u¶� Ä…;‹1—.]âÚµk\ľ|™łgĎŞ‹˘xd¸nŔ'—6hu=dô &˝=Eî"ŚÝühZü‘ô#b@ü”;Bh;ú@)âümrČóp[_)vďÇĺ¶CßMâŮ"´Xd¶-M‚ LŞŢÉŃç—ËeMN-05’ÇqR†±źŠµC< €Nץhö&:F˙ääžÚÔŢ·GŢA]Úe|î>2Šb±IÝŐ­íJěî>$ď¬téşN6›‰ďŚ)ŁŞ‚jŚy\Ći%Ć( ĹS3ëÉ/ d´M*Ů}ěßiöl{˝KÜńżpy§Ď [+[Żi»î©í܇bö50vµ7zł”Íf Ł—Źdccfł‰eY,-/÷ĘXďnцaČÚÚQá8N’$w||śz˝NŁŃ ›Í’Íf“ĐÇq°m»7éĐĂZ­ĆÚÚĹb‘fł…”07w” đ</É)ç‚1Đu˝WžzKxév»,--aYVR‚zlll dužZ­FE†A.—ĄR©$aUŠę˘z÷Ş_"\×u<ĎömĺA¤x$řˇdłĺ˛Ůr‰˘Őε-AfO` 3!zB‡@tÇ wây˛íu)ă™HöĽjäÎ`» ĄDxµě)-őBź5 CŁZÉS©–0tťF}“ĺĺ şžGI SǶâ>şí4»]ü ¤51-MÓ’çýn<*eá‡]/BO•ŃĚ,š<đĄŢĹiµšl6›8©A˘ ­'6EIhÔÄÄÄďű7˘¦«k:)'G†t»]\7Ŕ0 ś”e™Ccŕ˝äŕR,JŚQ(Чm".eěÓÓ*ú˘ŠěUC’wü|Ľú}0ey×ÂĎ^˛ŚTaGŇŔ»Ă}Ěfs”ËeÂ(VÚí6ťN‡|>ŹďywL˛Ř/Uíş.őzĎóĐ4-)Ó\©TX__gqq‘t:ť‰–eŃjµČfłIuˇ ¨Őj˝Ľ3:a˛˛˛Âňň2š¦aY¶mÓétČĺrLLL$ů,ËJŞĺóyÂ0$“ÉĐh4H§Ó´Z-\×Mr ÄÇě%ůiGE\»vŤ›7o2;;ËÇL*•âčŃŁęâ(IźůĹű„0 w ‹”=Ź‘ť#^üZ2RßqÜ[I¬’q¶ďÁ!dě “ôÝrx$–Ű>łăE˘ÉmBĚ€¦”KEŽ›Á÷şH)™ś¬bŮ×o,ŕű>G&F) Ü^ZceuÍVDŰőÉ…÷>†I)¤†©Ĺ9âä˝÷`?…QČüíŰ\˝z•ÍÍMFGG ‚ŔŹÇ$I„ă¤ř­ßú­¤şŢ ?Ć‹ąŢ9JÂHŇlµąqăëëëäó9Ž™˘T*aš&HI×uą~ý:ÓÓÓd2ő+1FˇP(ŹF‰‘„QHÝó)[6ž”lz.EŰĆčą.wBǰö6"#‰® î×i ąF’ĺv‡ÇÁĐ´}í¦PF¬v;dM‹´a˛—C‡…Q„­ëhBSÓé;±űŃévYXX`î؆a$‡˘(˘V«±0¦´s˙Aŕű>–e%!A¦ibÍfÇq�1¦ďŃŇ˙_Ó4rą¸Sż<¶ëş!Čd2ŚŽŽ&ž1¶m“N§¸ď%#„ •JQ(0Mß÷ ‚€l6‹išqéi-vé÷<Ë2±,ĺĺ}đčşÎéÓ§™››CJ‡:(ŻĹÓ2D†őr‚ČP›8´GîŰŻ'‹.C"J/<IĆËCá™C#óŢ˝’U¶´"tMc´Z&ô=®\şŚď{Ě=JˇĹ´ ¤”ŚTs¬,/Ňív› ^oIŮó*ą×</’IÖŰż¶Őj5Y\°m]7üJĄ‚e›€|ŕ!.}ŹÎÁë#„ Š"Z­ď˝÷…B‹/Ëe“ńÍó}.^ĽČćć&·nÝâí·ßV!LJŚQ( ĹŁ™}C$áăµuľ61F¬tşDjžGÁ˛xwi‘_Ł„¤zŮvࡠŤÉtššçs±Öŕd!Ǧď#Łą,~Ń ҆Áj×ĹÖ5Ö».#N €”n°áv "ĐuŤQÇćÜú×›|cr’…v›˘máč:¦¦Ń "`Ýő©¤,:A€ĄiÜjµXjŻq¦XÂ1uü0b<ă`jMßg±Ý%Ąi¬u;hšĆ‰|žN˛áş,‹”nĐđ=J¶MÍuI]—±Lš´a<˝ cĹLO›´#ź>;ÇĹĎ/b®ë˘ë:šnŕŰ{$‹&d¬Ňmsdď‹ ¦i&2–eaYů|×u±m›Bˇ@ÄeŁűźëç ĐuťBˇ@:ťŽ KĎCÓt4M#›Í’JĄCup®ëú›{*•ęU>ŠŤĐ Čd2H){Ą¬µž'M@„¤ÓŽ2Xý6˘P¦.RJö)öHĽµ5iŢöJ˘fly»mICbď”^g,·>(űÂÇ wË^É_’L2˛'Ŕěôz‘ŰÎaďŔÓ-á%ęyČ}ŤÂHq¨©®éńáE˝ó–’(ФőÂo¶ĺóşGĄ‚[›zwĆu]:ť¦i&ÉĹu]_ŰŃŃQLË@×5‚ C‰Ƣ/$Ô ďű»xŰȤßÔu۶†®a†�üâżŕ…^Pϲc …BńčDR˛Úq‘€†¬v»¬u]|ah°ÔqŮp]ć[-,MgąÓĺx>ĎĄFťo9B(%Ý(ŕęf“Vŕă^1•v¸X«‘7-–:]j®ÇxÚáfłIѲHgxwy™0Ľ95F(#6=Źél†Ąv‡¦r±¶Ęt6CË÷M;ĽżşĘń|ŽŹ×VuRËçYlą¬u]jiŹMŹ@F:Ś:ţzi™‰´CÓ‹XîtRŕ…76›ɦąRßd2ăđáę:gË%®nn2•Îŕ†!Ű"m˝°-ňé®Nv}‚zaętÝ.µ•Ő䕡餏–1Óť›kČpg2MÓ†\˘űŢ1�¶mý'tprnš[qđ}Oš»1bu]'ťNďúz:íěT)!FˇPlMwĹ]Oôĺ@|Ś”{ăöËĘ8ôç„Ěń!éMň·úÝж' lŤW[»Ť3« €Ú KŰÎL Cm 6âNĘÔÖőÉyĆ{ńý€ĹĺUFFNręĚiĂÔ¸}{ Ďő€…ĹU¦&ÇĐ5Ťk7—q=Ű҉Źú~]n~‰çV«Ĺüü<Őj•v»M8ŽŐ«U«m ëĄR×u‡ŢQt]§Z­ĺÓéWSĘfł|ůË_î-x”JĹ$÷Z?OŰ·ľő-*•Šz•ŁP(ŠGI$!7 é†n2–NóţęYÓŔŇuÖ».ç7ɦi>cé×67ń˘Kä ‹Ĺv›é\†˘mpµŃćh6C7¸Ő¬ńÚČ(?m.·ňlx›~@Ö÷Ůô},M§’˛$ŘşNѲ9·^ŁřBĂ C®n6™Éĺč†yˢîůÍeI&ť0 mčD2ⓍËŕd!‡”’ąlŽÖVIi:#)§çĄÓô2†IŰŹ¸Ýę`ë®®s$›Ą”˛xwq…'E1eŁËňźOs;éú´®ŻÄć^ĹBĚŕjjŇľµ…AĽZ{˘Čťţż;{űáŠ$J„yŚ'ĚJHS<<5ć®Ű (}f°]ĘžłwąśŘ‹$JŞ‘ätŁ—ÄWŰ«"PﻢÝK!‘LŇîďřÎ^~,)eÂ$÷JÎ/·D!KU÷ĆŽHRŻ·¸pńĺR]×i·Ú,.­†!RÂĘZťŤF M<?@ĘĐííďß»L&“xÄär9 ďýc„Ž“"lŰ&•JmyÎ< cč‡őnµ%Ń ŮuĐő8wŤ®÷C§ôd!˘Z­R*•’j† %Ć( …âR÷ţÓ•ël“”®łÔnłé»hB DDdL]hIŘPśEÄáF^—ńLŠżYZĆß™=‚.4&2ó­69Ë eč|¸şÎ‰B›­`o%ˇ�� �IDAT&—ę CĂ6t44$Ch)e@ËČ[&)Ă`ĚI‘5utˇówË+TR),]Ç`ë9ËâVłÍDÚˇîy蚎®7[x!8šŔÖuĂŔ>9Ëä—««ś,iu}N•ňüôö"Ď–K\mlö­®›óă@ßpŚŤÇ~čQĎVrłî­Š†ń5ÓĐŻîđKB+űMŠGŞŰÜ)á ĂaAbŔ»e«Hő°ľIąK ĂxËîţ:rx$ë…ÉĎ ~ěgŕÝžČ7Úíë{Úl;ÎD”‰«5y~Ŕââëëő^ČN—{îá!A&ŐˇÄö°§CĘŢ!”k—¬ĂşOÚ­bÖk’ÍIŇůţöţg¤(¤PbŚBˇP(ľ1ˇëüwgNôÂĐ€PJľ:1Ž<W.„×FF·uŕ׏LĆ«qBđŤÉI"ń\ąŚ�LM#”Đ8[)âż9; NňűBµ»\ Đ{ĺ6uŕKŐ RJŽä3„‘D  ŤçĘ%$’ß>>·% MŔ·g¦c·/źš†|}r|hu\�s…\˛ş(zŰ%đL©„&UÇ楑roÚSëŁi'NśŕÍ7ßäöíŰ„a”uŽs%ě–°çEÔ{M×u^ýu˛Ů¬J¸ŞP(ž*ᥟ |W79 ] EJdâĺőúŘľâK}Ża©D …DD[=ń€ß Bô™ŢKżRÓ–"vź”˝|1r«ĎśôĂ`©č^~™Ţ±ËmĘŚDJëyqf źJČ«cŕŘżl±ŰUď—rŢ­Ľ÷`8Ř˝&w~ďŁű÷G ŇJŚQ( Ĺ!G}Ű€}ݎ ¶»G2zĆ3),]Ű·ôô`ůÍX ŘiŘěv\ÚŚ ó> ]L%�pôčQ~ď÷~/.Ď9’´‹Áş˝šC?éîěěěžąYŠ= –RŞ‹ˇ8؉Żě r+1o?ÉĘ6ď—ˇńN”’îWJúzyX¶Ţ&{嚣$Ź‹Ä"Ś=OÖÝĺ�Ń“:´Dś(ť$˙íC/±4Ü·˙˙ ÚŃ«®<2^ĚŮú^‰F\B[ń>´^ĆáťLÎ÷Ajčt:\Ľx‘ÉÉI˛ŮlRĹĎu]Â0LĘ÷“»kš¦ĽGJŚQ( Ĺă‹® ¦łé$ˇâ±›b LNN2>>~ß{éW%R“dĹĂ$©üEDQ<9U( ĺ%ĄÄŽWKP'Î-ô}Sądv«`·Uv:ęy©„RE[B ôD‹2CÇŃË#Ä€§IO°Ń”)űľ+[ÉzűßɸęQÔ«4XĂş˙i}9f )p?gŚ&{I†{áJ){áϢ—ą/,ő®Gúôŕ’ď âjyďľű.słÇ’ü)Žă†!›Í&ů|žN»M§Ó!Š Ĺ"ssÇUŢ%ŠG‰1 …Bˇx 2boúˇEjuPqčű1śUő=Ї‡Dő~î0�&U†6ËD%z«Ţý˛ł%H")cAFŠoOúzČČ~™ěž©ŚszE}Ďś}o•ąî 1˘·˝—ŔWjŰŽ1ţ–HČž #‡Ď§·­·/ŤžčÔ¶Ę^÷lâăďý–¶€ˇ¦iLLL i­V›|>O·ëŇívđ<źŔ0 “0lŃu»¸ËËŚŚŚ02RUăźâŔů˙Ů{óË®űľósÎ]ßRo©®ŢŮÝŐÝ\%Š”LĘb"Z–-ÉyÉŘ‚qĚü  ÉŚŤ‘cČ1âčźž B€Aţ2ÄČ <F9´5Ű‘E'’)R\$˛IĘb7Ů{u-ŻŢ~·s揻Ľű^˝ę…¬ę®˘Î—¬®Ş÷^Ýwßąçž{Î÷~߯!c &>/E<ęmÎŽ§“T‘KŮ vk™¬5†‡1¸÷‘ 3C¬©ˇrB>”Í)‚%÷lQZŁT^2¤'„NýŐĘoW¨VEŮŹ-'Ią„*ßľÖ‚]xĨ2ASrđťV±¤˙ĺü“(˝&W÷LN"óo‘™˘§ś:•—PéťÍ0ô}źĎ|ć3I›*6ÉR›@Ś*ŇĄýL-cĽÎ î c``````@&¬\ F JM&ŐŰ*ČË·D)íĂŤE)ł;§w±zĨ# ö¶¤Mëů?—Ó¬ó°ˇTĄ˘'ĺB ’üĹ*˙–:©I~îß•n;÷‰I˛Ť‰KęCS*‡R˘ WÔ”‘oÉpXOČY"ŹJaPhtjć›í¦Ěö3/źBé‚z¶0Iٵµcĺ­–eÝ‘wYţÚýp )űµ|0`ČúÝ·_뎒BĆ~{)ŞŽŐדĹcŰM°·›LŢÉdÓxÓÜórN–”ôZ‹â9Qb]ôÜUľiiR®Ś™6ÖÍ_šűÂä&ąYz5R艍B TŞ0Ł|ˇPÝL©e~ż˛Gqş QD\>ü9¤˛6Ůç×”Lź\ ÄT«[Řá±</_SßĺO2ďűmo}îg¸ým-˝ç¶űZ¦2řŕŔ1ġB%…FľĽß®|\kŤŽ§‹˙“$!Š"¤”ŚF#<ĎC)…ÖšJĄ21Ş˛[Ăi¬¶,j÷ă8ƶí"Ő©ü7I’Ç1RJ\×5w vź|™•·”JäÉD\˘çţmîś–Ą#mRJ3R˝•t.JÄŚČLwe®LAäB„ĘíÓÇ”R“%=cęËt)ŃY ˛Ň"]˘J¤˝(?‘±DRĄ„Lţy…N ·ËŞËôĺ;K0řľ‡çyH)>@ý’DŃď÷ !cČňĚÓĚ ›L‹É´{ëäM CÖĂuŞT9˘+ĹÔ])ĹÚÚ:—/_¦R©ÇqAş¸®ËáÇŠŘQ˲ŘŘŘ@JIF� ‡#lۢŰíRŻ×éőz´Z-˘(âŔôz=’$!IlŰćĉű c``°ó‹`(|UĘ ăé‘0ýW•^[~ŤŘŽÔÉ™•śÉK“Ô„,Qz&3[ä1×)é"rc\ť*R„hBj„NźĎ‰”´4)Uͨň~ŠÉç,~a’|y¬vy7˛«CN l”Čř©Ě;L§%K˛ÔłQ×ĹűľoÂ"ő‚IS”äľ»&lŽ˝±"ŠÓć ‹5‰g ¤caY6Ie¨!c >8+Žü.hJ ‡}ŰĆóüm'´ ĹŠ^çůä»<–śĺA}¨xn<xçťwąző ľ_áôéÓś?˲ăDZŤFt:Nź>Í`0Ŕ¶m67»\¸đgĎžĺ•W^ˇV«Ńl6 llt8xđ /˝ô2Ăá$I8pŕ�őzťűî;nގÁ.R2ůb_Lůťä$BžDT¤ee?b&ei;os]¨bĤT©TZ”żUťGH ČŇ‹ŇR%2EŤ 'bRuLľ‰DĎ$*ĺlHńąJ~_ąÍÍÚ$űŚąR©‘ٶ”H..1Ů{Ą›Ű[ď˙Xĺ—¬ś°ź”-M”•úËäÎě±RŢ5S_Ąacđ˙}oÄ çF‘˘Uµyŕ°ĂR]rfÉâ‘#.ŽÍ.µ™!c îíbC+Â8 čv\zżµ„X<ťOdĄLÓ(„`¤^ żÇ†Őc!®”ĽRCßJĹö-jµ ׯ_ŁZő±ítęŃh4h6›,..bŰ6J)®]»†ÇqX__' CNž<A­V%Š,ËćŔ6—.˝KxžŹďűĹdŰ`ź÷@cNi°§ű'EĚt®(%‡\U"brĎ—2i!Ęüb†Î 0ŇÍ㬠O­AOŇî´Pą&5Î͉ČÉ™\Ą˘&ʖܦ0ÎÉŁĚó+%b¶Ą–]U¦Rٞ…!1ÄLŮSFĘIJą“*x¦,|wžŕPеµ5.]şD«ŐBçyřľĎŤ72Eĺ 677‘RŇď÷±,‹……nܸÁÁ©ŐjĹ5k71Ž4ţÖ˙BŹŐ~‚Ň’˙ůiŹ_řh×üŮ#ZUÁÉEÇś†Ś1000000ř 2ýÍ :ß}ńî»ô[ ‚ŞKä[$ZŁ=Ű«ŕx>˛ârMvx!~‘Ź´Ą]mO-˘}ßç‘Gᡇ¸Ąg̱cÇhµZX–ÍÁ]ľűÝďr˙ýgůđ‡?„”’“'O"„Ŕqž~úi˘(ő’±,Ą óA@nň™$ ŁŃZ­fŽ«Á^"‹r˘icÝ4ÁH«I)ĐDą0C2j¦"ŮuAFČ)EŚR*«ťx·qîĄT%%rßś ™Ĺ‘¤'~6™iî$OgŐIĺś$ *¦¤˙)5"Ý·Ś©Ń‚‰ş¦x8#‹Dp+Š`ëÉ6őîŚ'y‰¬ă¸¬­­S«%\Ľx)+‡ŐT«5úý~QVŰl6¸páî»ď8.\ŕĚ™3,,,Ü•®u˝›Ä)@ĹnH*.řŽäHC˛1Pś\4§ !c >¨«aí‡>DŻŮ$J"VÂkĽq¦Oăü?ňń¨Đ´ÚDY©pŕĐQŽ[xŽ7ĄŚ ™·Öšz˝>5Iž]d{ž‡ëş�Ôj5Ž9„˘0ňuśÉA˲đ}ŠĺŽY´€0ůÖ·ľĹŹ˙řŹă8ćŘÜ{¦đVÉČÜ�Wϧ|‚ŇšDĄ¤ĚÄ%÷JŮJbşĐ)ŰJaÚ«´*ŢsÂ÷LÜZrCs)¦}ltĆôţ-"5Íťň˛ˇ´Ý2)´…<š.%ÚÂ$é‰1ŻÎ˝aDJI91Ö:3ýÍKžD©4ŞŘ×Ý!c<Ďcyy™JĄŠďű8ŽC­V+ĽĆ„…j¦Z­R­V9räJ%(ĄŠëĎnĂ’đŘ}Ď_°SÓfĄyíŇł]|'ćÚúO<°°˙ϤĚ7.˙*•BČbÎđĂ4ć2ĆŔŔŔŔŔŔ g÷ú=ÖĆB˛ŮąÁzkĚŰú ?ć/ă)Źvu‘űŹ>‚íy\Ň«.rÂ9>%×/OĽĘ?ç$L^Ł?;áĘ·,eÉ-Ű}Ýě{m÷řĽßËŻť}l*ńdqd°{PJqăĆ VVVXYYáرc¦ý îů¸“%:SäĺCąąn™Ś)"©Ëę‘Ó0eË4Ă”‡‹*EĎ’1ĹXJžś”›đćă—*©pĘÉH“Xë2T~ľüžŁŕa&ś[ddŹČÇĎŚŕQJ#$Y{ĺ–4ł¶˝sŢd‡áş.‡Ą^f é fł™qSŇ`ii鮍=®-řÄźš+xýJČ8[j^»<˘ę(~ô:KukźFZEý~źÍÍMşÝ.I’ö۶M­¶@łŮ$Š"Îť;Ç›oľÉĹ‹Y]]e8P­VYZZâĉ<ôĐC|ôŁeqqË… c``````€�•páťżâ{ß}ĄbDŐbăa‡Ą ĎoŇ ;Ü×X¤Ů8@/îóW\äpoőĹ-¤‡RŠ^Ż¤Ş—ÍÍMǡŐjŃď÷év»4 ŞŐ*J©"Â:WB!PJŃď÷é÷űÔj5Ćă1RJ8PÜaÓZńÖy$ö¬éb’$ôz=,Ë" C‚  Ýn3Ťp]ß÷Y]]ĄÝnÝn!®ëŇn·§T9»;Y×Zł±±ÁŐ«W &1Ä`őÍ<n:%J”f*u(÷”I”.~νPĘ<„(™ń2EĆL {'»˘P§č™;ż¨ŚĎPĚŹĐžú­§‰=źjY±y]&®Ą9eca™Ą*•ß"-eŇ»FrĚŞ‘ć^ëÜ*ąénŔ°Ąŕ‘cgąĄXôôXřŽĚbş÷çxÇ1W®\ćŐW_a<0 XYY!Š MTTJóĆ›orńâ%Z­6®ëną–çó .đÜsĎđÄOđŮĎ~–ÇÜ1űI’pńĘe†zŔ8 ˇnłZńxjř÷x€Ţ¨G«ľČj¸Ćs—˙+çO řäč4NĂŢV•Ç1Á€ÍÍÍB>ń<ŹN§ĂÚڮ뢵¦Ńhŕ8ăńß÷QJ1 ¸qăF‘ÂÔď÷i·ŰlnnŇétĐZă8®ë2Ź©Őj8p A»®‹‚(ŠðHa‚ô®ixžÇp8$ CFŁQˇµ¦Z­˛°°PČŮ vÁűýďź7ß|۶yńĹ‹2{Ó)K19A˘ôÄ ·D¸č¬Ä(ŃbĄx"Sä+oÁ„Č Źi"FL{Ňä„P™Đ3Ę•›:Sĺ*•9–ąşě Sç^N[=cräĺHů—,AÉź&3ň…tÓ}݉qDeîÉűmÜv$8î<ŞFĎM}ÚOs‹Ë—Żđü�×±łřqßlnnň ßáŇĺË–´ű•˘lůVxńĹyńĹyâ‰'řĄ_ú%Žß_ÉŠ†Ś1000000H§ČRźĐ„'Śő‘2Ś6ą”\˘»ŇŻ÷^gÍîq}°‚Z«1ě-qÝľĆňˇ3ÓÓÇĚď%Žcâ8¦ŐjŃëőH’´_Q5'Nś ClŰžRĽäf®•J…ńxLŁŃ`ccŁ Z„H) ‚EJIÄq<}çVJlŰ&Š",Ëb0°°°€ă8„aNl{ŠÜÉ;ůűě>¤”<üđĂ<üđĂSýČŔŕŢŽşPˇä%DyZR™LIô¤DIM3Ąľ<1ýťZ°ęr)ҤdIçĺJSÂŤ"ő["ʱÎ˙~Î9S&mrs_QVČR¦Sţ_E TA×ĚŞcŇmIDJé<U©ś¨¤ ł_Qn×]8˝óëÂnř˝Ü{2dއZkFŁ!ťNŰrpl˲8ámľő—ĎŁőälŃVJŢÜi[żř⋼ôŇKü˝ż÷÷řÉźüICĆls!5‹‹Öńś©ˇßĎ+!Ŕö]*±O#ť°ŇŚ’8˝+5uĺă.žD$ëµ>Dh µ©ÉW’$ÄqĚŇŇý~źcÇŽQ­V±,‹^ŻÇ‘#GĂ8Ž©×ëqR­V‹RĄv;•+×j5†Ă!ÇŹǶmđ<Ż u,Ë*ţ&MYšLÄă8.FŁëş,..˛±±Q”78p€FŁeY…ŠĆu]<Ď3ÝünžQ%íIÄRбؓmo°•‹Q唣’©®*™ăćŹç~2I‰;‘””1sÔ%ijô¤$I鉒Ą(?Ң–Ö"%FdŢŹô$Ć:%Â%–%R`[ŐŠKĹwp] iYT}Ű–t6G¬u†tză0)<p¦z¨.ŢbBŇ”Śwó­˛}”rBň diť=¨˛%H2&Iěč™0±Ë™ĹÎŞ'˛׎Yň`ŢůpďĎ‘ý©ŚÉ zÓ"¶´O÷ŐWxýő×'˝M—:Ú{„RŠßůťßammŤżő·ţ–!c f.HŽ ® Ł‘i =·ŕ°ĄĂOýqÂ(Bi…(§d‘Ş2›T+­l™ĆK»®75‰’RŇn·‹ßkµ QS©Tđ}żH°Řn˛+„ V«[ކďűři¤ŇÔzބٶm>Ľĺ3çĆŽŔTÚ“!î&9ł'ŕşlÁjH™™±Q—É–I˛R’{Ľ”ÜÔ·x¬t”'ĂŁšż,™ éM0]P4µPU­şÇáCMj5źŠďRń]jĎłS.[â{žkaŰKZ¸Ž…%Q@wŇ鎹±>`Ł;fŁ;f8 ŤcÂ(!Ž’$Ű‹˛1°ŘĹ”*y@ËRôw©Ô«00.‘<;6M6Úívą~ý:–eäúxŕş.Ýn—0Śh4xžË`0ĶSÂľßP©ř \*ně&rď´$I eH~MËoběWH)‹›'�Żľú*çÎťŰâ “÷ő÷›¨ôŐŻ~`_2†Ś1000¸{« D­Nrđöć¦i=·(BR«,Pó§MóI’ČŁRKK‹˛ŻŔ{Yl—M"wbo _ îÉÁCzaY¦1ć>&Lo=ńŚI4S>,JĺŻS†şjj¤ÝfŚĘŁŻł’Jľ+e‚F/FxşKMÄś9|‡Ź¶Yl-ŕ:–maY)$˘¬ţĐ“płYá™â%+ż ÂŐNź++}Ţ˝˛Éµ•˝!A¤IE’(TÝ]ö1Ń…aošž”¶Ö"-Ű’©©ďs’‘:»5jK)ą~ý:•J…0 YXX BŞŐW®\áСC¬¬\'Šb´ÖضÍ`0DJY”ŐV*)ńż›dHž4Ç1®ëEQ–6”ú›…aH«ŐÚ·„ŚmŰ9r„z˝Îwżű]^{íµ-×ë4}Lˇ„¤R©Ľoňë«_ý*Řó%K†Ś1000¸K°l›¸Ń ş˙~¬+—ă1EŃąÁ=†LłI‘%GťOŃ3jš “e‹(š;#gvňŽŁą«o°×÷bz©Ď=UÇH‰ö}˘@6[éďر÷Ą!Q“Ą<Q)ŃdäK)ýH“•-©‰/iY†(Źś™ĎKޤԪ>ŤšK­ćŇ\đŹcĆaL+ĄčVÖ‡…÷ŠÔšX%¬­­łąq·ľ˙6žëŕW< uÚ‹-.µ9rä0‡-±°Pò$]”é˛SŚH«‰<ßâ衇,đčC‡ Ă„q3…ôűkť76†\_íqccČp’$ ŘŮ6tžÜ”µ‡Đ uŮ÷F>:óĚ„węZP«Őxâ‰'ăÇqŠ2T۶9yň>Ç%Ib‚ $Ž„HU’yůëęęŤFs‹‚c7$ ®ëf1Ď5qśz–AD%ű–ŚÉKŽscöĽD,o×rz”´daĽ˙~ń•Ż|…‡zhO›ú2ĆŔŔŔŕ.]°,¬zťř±Ç7;¸/żŚ0ĺJ{––#ÇĄrź;Xb –-H•öf!gp×F×I/Ü«$ÂTňډë˝Ţ5Ď#xěqâ?Š[©dF°ćü-uŞ")7íM2ULţ{®VIŐ"™DĄéAR€eI\Wâ96®ka[6ŤşK«QˇRqi7*T+ŐŠMĹ·q‰ëH˘8UˇÄ‰B%ŠsoŻňźţâ<*)—ţ¤DŤŠ#‚ d0�6સc[xľG˝^ٱP§ŐZŕĐá<x€Ĺvßw©V+ض=!2’Ȳ–.Uß)ĚJ)˘H„1QD·Đ폹vŁÇzgĚĆć€(Š‚´ĽI+51óŐ]ęű˘PíNSJZk*•JńĺáĆ*W«•,^Y×?˲8tč B@Ż×Çu],K¦îůkm;]N—ŤăÓvŠđ<oŞäfZĺ¤ Łá|ßÂ0śRɔ疵żĎK˲xá…ŠĎ“ćŮ1űý–(Íößű˝ßă _ř‚!c !“¦Ë°x€đ'?K|ß ÜsŻc]»–NXŠűds—şŮäĄČ—śĽ~›«[¶7ó:ť Š9 q“}¬*ną˝;zŹLÖ<»ĎóŰň;¸°ąŐöňç )6šD+@ —DkH’I$¨Ř2żż©Źó­žżÍ5Ķĺýůd0ŻKO’ę‚ÍŹ7 ⴑŬuz7«ąč‚P$‰)2Ř}¤%ÓŢ {—ŚIď˙k×…ĹĹtńn aˇĹLrŤ!›n:†Îž¨·"{2Óq)QGŹ<ü0ęÁ‡pęu,ËFŠ´LĆśÁĺ¦Ö…ŚŇĺČg‰m‘– ɔǶĶ,,)q= Ƕh7}\ŕ@»Ę‘Ą:ŤşŹźů·¤łBé’$%xtV®ˇeJ`hŤ+U,)ł>_âř¦âŻł=Öš TaD§ÓMçR"- DZi·Üwâ0gNźäŕÁ%jµ*®ëâş©z$/obËBYŕy®k±Pó8r°Vôď8Ič®­ô¸tµËŢYĺÚŤ^q­T3diZň%Š6Ţé^§”˘×ëŃď÷±m›J%%\Ćă1Zëěűd~vŕŔÝî&QŹŮ¶ŤR)±äy.őzj$oŰv‘ hY \ż~˝ř|Q!ĺ¤Ü¦V«Ćđľď3Ź ‚€JĄB»Ý¦RII±^ŻÇ`0 C„¸®‚FŁQ>űßűŢ÷8ţü_¸y¤ÍNâĹ_ä•W^áńÇ7dŚ!d¶ç!l›ř‰'>öxzA1~{gť•/q|RKĹÎććÔÄr'Č•÷Cʤ}ď¦+Ĺ4—C‚» o±›·¸K7>† ÓŹ îĘhĘľS`iŕôĽ_ůßţ=úR`Ů6¶ăŕ9Nš*–-ľÍ<}Č”_LéâŰőz…Ąv•ĆB…‹5ęußłń< Ű’¸.…š! JŰ^Ä$*FE%â¬dt›{·„QDÄQD«YǶŔ±aT2ËÍ“ť´.%fĎ?‚‰JU4IłF¬®mđúë?Ŕ÷=ŞŐ*ľď˛¸ŘŕŘŃĂś<qśĹí¬\dBnÄqś%%SFłYöI˘hÖ5őł5<'acsÄ8Ó˛*•ţ4HIgž1Je¦ż;<˛,‹v»ÍÂÂBF$ĄÉyµZ­đ+I’$Sh¤ĆŐŽc#Ą¤ĎĺIKůgÎ ĺ§IĄT“—”ÉáśXp]·h»|ňçó÷p‡v»](b&ď!°íýďĺôőŻ˝h÷y*Ćü±\1ó…/|۶ů×˙ú_ÓëőŢ×{˙Éźü‰!c ’ÉĘ쮋ÎfSąĘâv&ŇĹěî&/f‚m```đĂ Á$ţ8OK+LĂ÷–O´9m¦Vő¨řőš‡ďŰŘNZRäŘËΔ'˘t˝ŐjŞ,§H[Rš8މ˘Ń(d0ŃďénöYßčrcmë××YY]c8ńđ÷ń?ýÝż‰”é{*“bŃ_Ú>z !3»řU€NR%NĹŚF]lŰâęD«�� �IDATŐś?…—*Żsjů8>¸Ś%eANäŰMŐ"QńyÂ0D)•ú˛Č´ěGŁR’Fi”Đ %B)¤,Ĺ`3IŁÚńľ.žçáyŢT{l×ĎÓ×xä&Ęeµ]ůçí”Ĺ|n›}É˙n»}ÉĎA×u·Ů·ý‹őőu^zéĄ[~¦2‘•úúśä—ů—ůW˙ę_˝/BćĹ_d}}ťĹĹECƤ°l©§'N·3a000000؉ŪąÖܵŠË'ž<Ť_uÓ.’’"eb~›."âDŁUęőĹ qś*[˘(f81Ťéő‡lltŮčtąrő×®opĺę Ö76éő‡aD˘ ÓHjO0ʱ„](m´Ň€š,^KIKÓÍ4ˇ0O™{ ÄqBŹ Gtm—úB•Îf ˇQ2˘¬| Ž#@ă8®ë¤ĺÖžK«u�ĎuQ*ĚR§4X©GŚĘ¸) ĄýÍď+Ýë~(ćžĺźçÍŃv’(Ůn[:+UÜŻ~N/żüň\ÂĄÜ7óç˘(b<óĺ/™/|á Üwß}üĘŻü _ţň—Ůś“D*JµťBlߏ^zé;üäOüdZV(öB3dŚÁž› ߊŚ1);µĐ3דŰh7Ro"5·­ĘŞĹxŇéô¸zíoż}‰w.]ĺťw®°±Ů§ß2©9kfĘ&IćEĂ„™@`IÖéŇ;G¨D!ĄŔ¶d–]Ô$1á^tń}ž2&?ŢeTy<1ń$:A«„p<¤×YE‰cŰxVj$ë8–í#„Ć’Ň’€D‰ëŘ!˘I ¶Ö‚DčÂ'FCĘĚdKz—CĹn§źßΩPn·|>v§çĐÍ^/fü˘ňfI}śôľ•8żůć›SDŕl˙Ěż'IÂĆĆăń×uů'˙äWů˙â·8uę˙čý#ľôĄN§Ó™ôc@d&Čąuţ8Ąc#„ŕ;ßůźřŃŹăy>¶ťöŃ,qŔ1·?aŘiąŞ™ŚěÜxşWK ĚX˙É­ ×áhĚf§GgłÇćfźµőťk«ltş¬ŻwčőFŚĆ!ăqČ8  M<J#Ňm–Ľy4"5Ş×łÇ*-:±R©×ŠDFO“.šykő˛‚g¶o–oîĚz ¤ţ0 q8ćđÁĆTÂMę31-%!N&Şś(Ň$JjˇÓ„)ĄtúrˇAKRc]$^‹<nŁŃµµ5ŠtĄjµJÇSĺ@RJnÜXĹó<|ßÇql‚ Ŕ¶m,Ë" Cúý>ľďcYľďS­Vw°ŹĄß/v.o$ŚĂŤŔ±uOp˙!‡ş·Ďß‹/˘”šň*÷©<™*I’Ěü8=~++×ůµň«üö˙ţ°ĽĽĚoţć?ç×ý‹t66¦¬ĽürJ=4Ł~ůo˙íżrćô)Ç)âĂ˙ú'?…ă8†Ś10000¸ů¤ů^%…č-éĆyf7ÚŘ,” c°÷E—Î_ĺíw/ł˛˛ĘÚz‡k×Wąľ˛Îęú&ťNŹ0QIJ0¤ ĚÜŇML•2‘?NŮř]ÄĽK€Ö0B’X!ÝTS,™ŇDë‰"fBŔl˝fO~śßGórĄôµY ”RxľŹśQŇR¬aŮg< đ« E˘tZš”•U !K„‹@ @É´”i‡O­5«««Ü¸qńxLEt»]<Ď'Š"ęő:ľď†!‹‹‹\˝z-KU:€şH­R*ˇŰí2Ź‹XěűďżżHJÚ ( —;żű­ßľ0޵mţú™ íšdcđ×Îúřöţ™'$IBEŚĆ#Îź?ĎúúÝn—(ŠŠńRd'„&íki:•Ä’VѶťÍMľřĹ_ă·;%džyćľřĹ_gccmŇťçĘM=$X[[csłm;8ŽĂh4&Ž#CĆlż@żŰĽądv’8PNRHIšyW˝›E¬n—•<ďqq“««.=_ţÎś}ŰüĽÝ6oöYć˝ßť~Ţéý™HvłéşYČÍíĆ\Ô`?ôS™ÉĺË ){áZbÎť÷ŽÁpĚţÓoňď˙čOŮÜě§×D!Rb¤fá˛Ń×:ĐHˇ.X®�%H…P$u™ąŃR*-ÚŽŤ ‚€8I¨HcËbő©ŐVbEg±ŘĺKÉ, SöŹŮú·“ř˝ôé”ôA¦‹ćYĎ’\EE©r¨×Qoć4:%c”F–bIˇPÖôV´Ö$y­Őr2J)jµőz!a°°Đ \ףV«Đëőp‡—p—nw“z}߯Ç ý~×őYXh¤DeŰÜ)ŚcÍźżđoŤŘ& ˙ŕÇšüĚcUl ţÖKë1÷röěą2;éőşĽůćĽőć9ľ˙ý·‚€ GaaŘś_ŰĄX¶EĹŻd&Đ™j&ë‡Ýn—ßřŤ_ç™g~›“'OńĄ/ýs~ů—˙×méąť 5+O’„jµŠă¸€Ŕ˛lâ8ąçc¤!c ~ ďe2EQ:Ěť_ŔĺwSó‰łY;•Ű(˝KÇ I˘ŢW60ŘmH)±mĎópçž÷Ó;yc ?żý\ߥq¦ÂâŃnÍĆ_´ń=,WâÖ]®˝°íŰhĄhŻâÖl.ýĹ—˙b•x”Lh›± ‚ą>J§IEq#ض,žLp§L|u™„™ýĺkĚö7G(Ô –%ŤÇt6’ÔFNBJ¤%ŃJ§éRf†Âšv«]”˙aśzăčTI#3BJ*@‚Ęô5ZiT)š{§ę”„E¬µeYh­i·ŰSŤnY’fł‰Ö:‹›;v¤´#ş÷”ăŞs…̬ ň{=o¨IH¦�1‰VxR` Í8J€˝IĆäĆ»7n¬píúUÖÖÖX_[c8ě3Ť\ÇÁ¶,Tµ:餥›-˛|ă%/‰ăf}BlŰ–yąRš—¦—JËÂqĽŇ>+şÝM*• ¶}ď(CĆlKÄŚÇcĆăń–ÉČű™¨Ďnă‡íÎm®,ň}źJ%­M/Oî&ídH™r›ĹqĚx0 Í‚ń.,@gďr…Ĺí÷Ő(ŠH’ß÷ń<obŚzŹI·sľUŢ|H)h,Ôh«°ô©:–c!l°+qă.¸ýD›JĂŁs±ŹH uHďę�•¨é1ýf§ŹŢţ¸aDÇŃ'§‰–ĚWfB­Ě&4NŢ@OyŇŔĽC.Jž4¶maI‰JŇŇiID¦ ±l ۶ŠňĄüďâÄ.úYg^0JŁĘ6Z#ˇ2ď¬LéćMńžĐď÷‰˘¨¸Ć:ŽSÄŠ»®‹Ö۶I’„\­Znű4Ž:%»†Ă!J)*• ľď3Ą&łQ”ź\ §µĆó<ŞŐę¶1Ř[ä~ä¤Ă+]Ţľ‚–|ďrŔ±¦MÝŐŚĂ„ŁMĎž'I’°˛˛Âóßţ««7Ł8ĄÚ„@‰çůA€ĚÚc+ÉR&·…Íf“ßú­g8yň—.]äK_úąęe–…‘ąź‘S™çĄDL'Y_°ń<˙ž_× c````0;NÄü°/ ó¶¬T|ę[j•ËwŰ~ŘżĺIqž”ŕ8i­w§łiĽvv±ŹÎŢá5DĚť÷Ý$IŤF�řţ˝›đßîűîFL4ŞÄ›1Łő1•v•jËĂ­Ů 7*J݆\řŁkÜ8·I¸ˇbjN[ęÜ’÷öŹ•Öš0Š ‚)ŽcŁ…Eg$KNrlUĆĚ2>Űç©a¶mÓ^l°PµnkÓR _éŚÉ<cr˙™'AĐ:‹  eŃíNř !p‡~żŹÖšjµJE¨ĚźD)…ă8 „ŮŤŹ(ŠŠżµ,‹ápČh4*Ô¬B’$!FŁI’ŹçĄ[žçÝ6ăÚ‚ÇîóřŤź±ąŃKHbF!„±ŕÓŹTńÉ^ŤSĘÉ çßÉÚ ,ia[éͦjĄJ0JJ™ľÄ´zLĎ1Ď<óŰś:µĚĄKůâżČĆĆú¤§*2UnI99ß2ŃU˝^'Šb:››,,4řëź|šv»}ŰÇČ1w qÁ– ۬zăýLňźóm~Đ|éMăş6Ífc®,Ö” L·ĂÔâ »KY­VĐZŃélrÇúĄAŠ đ}ß‚;DlŤÇă‚HÜ0Çz+SŻ×Ńcđ|ü–ÇĆů:ÔťájHÜÓ¬ľŢcĽC"Ř’Óś”ŢQÓŠÂX%i©’iéPQnDNîč-ÄËVEL>¦N«.·7S3Ő„8ŠëćýD§eFa1FÔI–ś“z×č™q]©ll‡ÂŔW+5iźĘ-ˢŮlĐh4¦ö{v’>/Ф¨˛żŽ“R¦śŚ)oc;bë˝(âÚ5Ił"·¸ŃY–ŘVÍ´WĆ Ďó%•Sš@¦@@ĄZĺúĘĘÜńeE=ť„$4[M~ë·ĘDĚŻÓétB~2y9’,Ę›Ä ى˘)$Ż˝ö:q’đä“O˛´´tOU‹†Ś10000Řv!śËng/;±ŕ-_Ś……Zd<3‹ đÂÂÂm×ńꬮ>7čs]·¤î•6M'nšZ­şíçÚ­…PŚév{ضMĄRÁuÝŰž„äňl۶q]÷®,Ö¶›°ĺđ}ߍƅŔ˝F’$ĹÂ۶ÓXT˲öT?Ľ]aËDyUyZIꉑ•7DQ!»]t]÷ŽŽ(Š˘čŽîVďTż˘¨8çďu"žÁť’1‚z­BÜUś˙O+xU—îµÉ0!ěEŚ7ct’*U¦ uE)iHluĄeŇAK˙ŮW uę%éµÍ±­âqQč J‰M3Ç~BĆ"á©ü˝LÜä$MŮe4ă{“E˛R Š"Â(¶ěTů˘–mS«. Ą…F'©BD“EykÁěU'ßó˛gĚűď­şOžw>Ěűyë°U8oÜ–ĚĘÔqďéú7§ T’@kÍ^TÇH)‹ň­~ż?™÷d„Čââ".\JěşŐřÔjµxć™ßfyy™wß}—_űµ_+1©ŚĚH/11ü͉O IĄ†aöŐŃp„_­dFľÎž c````°eń0KÄěĆżĽŤ$I8ţ</ĽđQŃh4řÜç>W$L”’ręP®H’„+W®đꫯrôčQÚí6gÎś™šD•“"rÓÜ»MĆH)ńýĘmµĺÎ-˘4/^â˙đŹh·Űś={†Źüă8Ž3U’Rn›ň$S)Ĺźţéźqúô2Ź<ňČ\‚ä˝ŢĽSb&o۶ń}źáp´g›qóÜsĎáş.O=ő×řÎw^˘Ůlňˇ=’µĺivi‚ż—Ě»KvĄçď+ŻĽBŁŃ`ii‰żü˿䓟ü$őz}Ş©lrýěłĎňŮĎ~¶0ăB°şşŠÖšN)«rÂ÷üůó\»vŤ§žzę®ËŇsóó{Ąŕ2%}ďo‘Y«U‰ű WŢZA•B¤$Śž^¤k‘E?gőCąNFć~»‡"ĘŚ„Üş/Ś\ŚĆcP Ď–S×2- ÝÉuŚŢş=1ý=ﳏĺ„Ňf§KżŰMýj2ŁŢjͧVóiµš™R§´ßŇO‰G JĄ‹qĄÓr¤˛ŻMůÚ¬˛ßő·{]~˛;çňÎĐU»qťn6›,--ŃétŹÇYżHŻ{GŽ™RąŢÎ\ç™gžáôéÓ\¸p_ýŐ_ĄÓéLČ)!°´N z)“0şT&:.ŢRH<r».őz}O¨b c````0—4xŻwtŢë"۲,–––XXXŕúőë,//óúëŻÓď÷i6›DQD§Óáá‡&Ţ}÷]¤”ś={­5oĽń˝^ŹóçĎł¸¸Čúú:—/_&Žc’$áŁý(/^d}}ťń8ŕé§?IłŮĽ«“5Ąľ_AJ±m;”'&;µpŇZ°ąŮeőĆ:÷ÝwĎ>űGś9s–×_ťn·Ëňň2A°ąąÉ`0ŕCúZ§$M€ŕŐWż›µ•ŕüůóÔëuNť:ÉK/˝Ěâb›ÇśÜő>łWT19ˇxîÜ9®^ąFcˇĹŰ?8ĎâbË’\şt™jµÂââ"Ýn—jµZ9·Z-Nś8±g˘oF‚íÖ“$ ďľű.‡˘R©đúëŻsúôiŢ~űm\ץŃhpölÚg ŕůçźçCúŻ˝öQ±ĽĽĚłĎ>‹RŠ_üĹ_äęŐ«t»]}ôQ„ĽňĘ+¬®®"„ŕÉ'ź,Ň^îfßôSaŚą÷#¨×ĽbÜ.ŹÍ…ŠlĆoTäéEĚ.ŮKĹ<ă\ Š9qÓ¤¤Ćx4F©ÇI¸şř·ěCćŁçŞ7ni=ď9ĎuXhx<°˘fo–¤¦Ą"Ó{PxĚe$R®RZ#Eš $˛¦‚”‘bĘŔw'ą†ýF@ćeóŻkzź'i)×§?ýi–––xöŮgÓ%ňrtAłŮâĆŤ•â*Í;năń·Ţz‹úO˙é3ÝşřO%Š  €D©©~ôčQZ­V‘t—ý†Ś10000Ř“„Ě­"¬wr‚“o«ŐjsřđÂ0âäÉ“üáţţ€ă÷çÜąsDQČĹ‹9zô(ßëŻh/¶é÷¬¬¬`ŮŽí.Ľë8|ďµ×xú“Oóâ‹ß!"®\ľL{±Í_üĹĺcűXQC~7ŰŐ¶o˝ŕŢŤÉŁÖšŃx”•*9ĽńĆ›üů׿ÁňéS\şt™őµu–.á86_ýęW9}ú žçŇíöp»7_[[ăµ×ÎqýÚu~îç–ß˙ýÇ?ü‡˙ŕžLxsŔ|ńqŻ'ÝąjăěŮűů?řŽ9BÇ\ş|‰Ťő 6:~ú§Šçž{Ž÷ť Š"Ö7ÖůąźýY3ćd~JqśÇ Qł±ŢáŹţđk|ţg>ĎŰoźçňĄ+\ąr…3gĎ0 ‡#._şÂůóçŮXďŃçőýđÍo}Ą4Ăán·[”@YŇʇw˙óMćłź „ V­`ĺc÷ܨK„LF¶é[“ łľ ebdzlŃ GAj6k‰|µ^$)ĺ$Ě­ëł'ŰŹ™Yš’ăP«z¸Ž˝e§EFČLŢ;Ý~¬Tş0VşX§Â@‘F\‹4b[čR9ŽÚ=/”śěÍoĽĚUe‚m§o„Ü bĄŮ*ţü­1Ż_ QZłXł8Ú˛iW÷t8° ©şrOŽ!ąbuqq‘|pĆ(YٵâÔ©“ܸ±2g~)¶\×AđŹ˙ń˙2eö;9."%ö´FjQ\3˘($Ž“-Ţ{RJîŕ~,Ű™š2§1ć{„Č2ìÁĽ‰É=Üládsüř}´[‹:tĎ}îs<ňČ#ضÉ'9ur™ŃhĚĘĘ –OťćčŃc©ş ›âYŇâńÇçŕÁC\ą|)->üˇG©Uk»|ů›LöRš~żO­Vĺo˙í_˘×ëaYŹ}ä1‚ d0rěŘ1>üásůň•Â_# bâ4ŽxóÍ·¨×k…â¨R©ň‰O|‚V«uŹń{ďÜy챏pđŕAŢxă úý>q”đńŹ˙(źú±OqćĚY’XŃëőGlvş:thĎ©bćőÝÝÜ?!¶e±ŮéŇŮŘĚ”?ôŽíráÂ;Ôë <úᏀ¬­®łşşF»˝Čh4ćč‘c>t8NX:pĎ˙wźçÔÉe®]˝Î÷?Č}ÇOpŻäýĆ\z_SR˘‚(—5l -dľ¸Ô7%aTń%ĐÔŚGÉ”˛”V8¶˛ČčÜ“Cl-1Ę·qłľ·ť÷IJžh¤˶ ˛T)ťú–�‰Ö„aB˘ Qš0ډăxJk˘XMElë™ýš<j¬P´ÖŚF#VVV † ‡#Ö×7˘k×®qéŇ%®]»FŻ×Ł×ë±±±A·Ű%‚້(.Śů7ßěó‡ŻůÚ«czcÍ'~äD…oľ=b­Ż¶{ i)¶_|U*jµ*őzťĺĺeŽ?^řŞĄęV;+źbI˘H’¸¤Ç#LU/aTřEQL„ ‡CQO]łň÷9zô(Íf“ŤN‡0 ±, ßß;1áFc````°'ČË’¸®‹ë:¸®KµćłĐ¨ńŔgąxéľńŤođÉO~ß÷PJeuëž~úiţäOţ„ÇSŻ×©ÖjŮťŹ:•J•JĄÂÂÂ7nÜŕŹ˙řŹéőz÷lB†!Z+ćĄSěŢń×qxřá‡ůéźţ)jµÇŽĺĺ—_ć?|ő«<ůÄ“ŻĽň2ëëüŤżń7¨V+üÇ˙ř,RJžzę)}ôQľýíoóđĂqńbZ"¶PŻSŻWďČ xg ¦4ícŻŽăP­Vi4üťżówř—˙ň_˛ĽĽ ŔóĎ?ĎŇŇźţô§yřᇋ8ŐFŁA˝ľ°§yőü»I(äń±ű‘Źńű˙ďżăůçźçé§ź¦Ńh „ŕk_ű­V‹Ď}îs|ýë_çŮgźĄŮl±°°Ŕ`0@k͡C‡8uę_űÚ×8{ö,¶móŤo|Ď|ć3|öłźĺŹ˙řŹi4=zô¶MÁwzbüZöőU‘V3őGI˘xš´(˝FLśx§4ąę‚ÜnWL' •”íʇŁ�•hG’¨•$™‹BË”śI-âŽĎ÷­ď™R@ăń0tęA„_©č”8n4ŘžmŰĹŤÇvR_$!Ńq’’7:ý´iltÎSM?i ńÎŹ/Qqůňe†Ă!ýţ€ŃhLÇś8qś·ß~›ápăxEɨmˢ,úäÉ“,..Ţ5öDiŢş3'Ě?çc÷9m:Ř<pĐĄ7Ô°¸?ć®ëíZ&}ôQVVVfúť¸Q8Í~NN™´Ż¦ó=5Öć^aaŇjµX[[ŁZ­bYŽăě)c}qŹ—Ąňźeé{ţee_vöĺĐŇĂßş'şP÷ąŘ›°ô QňxéÖ8tü4RZ¸Iv’$ "™čKŤ¸‰™._¦ô–Ë™RŠÍÍMľ÷˝ď±ąŮáµ×^ăď˙ý@ŁYżkž1ąTZkĹŃŁGöTĚíh8âßţŰ˙‡Ź<öž|ňGî@ĄˇA 4úž$Äôz}Ö×7°m{o-vµ¸C˘OßYße¤ ŞÚÜŘÝo;™Ť˝ .ĽĂďţîżáźýłßÜáóôî··çyĹBŕ„T1±rů:Q©řxž‹ë¸Ů]oąo¨Ľ<W)E'„QČp8bŚŔ˙óË_áĎţË7ŽCb˘ęůŮ.ŘîĚ×BLČ-¶D=Ď’0łżK!ůĹź˙÷—~žť„˙űŮW #PeťŠŐCdĺ Óó—y¤Ë­ľ§‹Zŧ~ě Žmâ{RZEŮ‘”ľç1G<x$#?b<ÇÁ’’AđţóŰ\ĽÚ/©ë˛vĘÚL ,6<ţÇź»źă‡ŰÔŞ~:·âÖ×­5Q3 Cú…[;Śe{8ĐFkM§Ó)9Óh,Ç1kkkX–Ĺx TBłŮÄ÷}´Öt»]îż˙ţ»v­Gšoţ`Ě˙ő_ş\ŰŚI”ćgőř›«ă9‚ożĎg>ÚćP]Ňë Š´ľV«ąĹ‡î^źGťN‡Ż|ĺ+ BY«Š’5Íůóçyĺ•W¶í˙ŰĚžĺ�ĄÔT)Z’$AŔňň2gĎžĄR©P©¤)J§Nťâ~á ř[KO B Îľ’ěK•ľté».MJőě,· ŁŚ10000‚”Çq˘čîËëĹÜkŐ-ţćfúfŤš…FŤ3g—ą~ý:O<ů#ÔëŐ»ž¦$„ I4ÝnźĹĹÖŢQt¸.źţ‰OŃjµîpá$˛˙ç›Aîf[†aDż?Ř%uwÚ÷>fI»Úľ"ť¸ ŕ~ńÖäńýŘ–ą\~Ż$wĽ·ăŘjŐ‘–U)iPz_ZĎ»ŚÍúądę‘[]#¦ź™/0ŽHT‚çćIE B§1Mďă4ť?fK<×Ás]FŁ>®ëd 1ľçRq%č€îfŹvű�ŁQČʵ Ξ9†Çı,LyËĄJEś6ˇ5Č”ĐÚŤ©F °>ĽísGŹ˝«ç¬k >zŇăřxť˙öW#âD±9Lřúą>Kux|ąFÓß7ţ¶K˛ĘÉÓ§OoĽńĆÔăŰ17{|öů8Ž‹ôşS§N±ĽĽLŁŃŔuÝâFSłŮĽ' Éí`Č-5Çqî!ł źÇ¶mŽ?ÎńăÇďéWÁ`0ŔóŇ’–˝°@łm‹x`ÇH”Ý&b’$as3­ëĎ%ň¦dçPľ|Ż"‘…,,,đŃŹ>ľďŰÓ¶mÇ1}t?_C$´Zu¬˘˘¤ÉJJ„Ó·Â ćALśĚf¨ąçZZţ4ŹI’Ďq3ă\ŇŠ(P–ĆşĂî5{nĎ*glŰB DÔ«i˙őp‹˛¤(ŽłRAXX¨Q©TžÍş ×tfŞťĚńť‘¶›V„Dí± Š»}m–Á˙x…źú—Ąť§íĺČ”¬ŮK ›ŤÝůś«Ü·Ę㡂Ź|ä#H)9wî\ZÚ–2J©Űň)+›.ç_qśúĚ!xđÁ9}ú4@AÄädLŁŃŘS*ECĆleYT*•L˛›Ů!‚²,â8b}}Ąőz}OÝ1/„ĚÝ,c ‚€N§Ăh4.Ś˙ vžŚŮ®dÂŃŢ9S©TЉżiÇ} ­ć-pGŁ''ÍÄ>FOjÄ4•“Eo#Ż3˛g0§¦éU Ą˛˛ !:É—óL*$nŹąŮX.Ą…˘($H’tÁś—)YΙ �� �IDATĄTfĽ*łd¸M1ÇOÁĆfG(5ÝçËj»‚ř‘“†řa?+,!°çČ;>v{mľS&cňýÎűKŢw>˙ůĎł´´ÄsĎ=Wô ˲n™ć9ŻMrE·ÖšGy„Ó§OD eYS^2­VË1űăbZ«Ő ™ßÉäNšYLĽ·6Mĺ»6IłľŢa0Q«Uń}ʄΠ<ŃJŤGŁýţ�Ą,Ë.&Xűi’şÚ\ď»Ŕ^9ÇóńŃq*•Jˇ4şťča=z\54› ¤%§•ic=)ŮĚË’Čăó¦U3yôőlćRľŤ-„ „1q¬p=+SŢ(4©‰ůN„ăΰ2ŰÉ$‰I˘×ő° )–-B˘4Ôj5´Ö\ąrťá8âرø®$Šq’*cRrGn%#EĘ%Bí9eŚÁűçy["ĂsĚ`0ŕčŃŁ|âź(ć–çÎťceeĄ¸®ç„ĚíŢčÉŐ0ívĎó¦Hź)ň/S]2ĆŔŔŔŔ`ß2ŤF 2™tbfďéݡ4i`4&wůם´ď<běfdŮťľţv·±[űßŐĘż[–…m;¦4É`OźßžçĄ%S¦” QÓw÷ŰĹZ­F¦Ń)ćŇjScÚD"3EÄ„ĚĚßi1ýÄT?РГױ˛ë RRDě`2`ţľš´dÄu+¸µjöŮ&‘ÔJ%ıBIĹ÷ů‘Ź}¤č˙q˘HTÖť/zË×¶ňÂXʬüćžŰ•cŢĚ`Ůŕćc`µZťş–çDL ‡CŽ?Îňň2ögF»Ýć©§žâ?řׯ_gcccŠÄą•ó‘#GxđÁů©źú)ľýío3ŤŠżËŐ8ĺß÷š"Ů17]H !đ<ĎóăxŞF×ŕýM�ËuŇóÚu–´Ř UŇí”JěT9ĹűÝ˙˛¤}Ţ®›Mžç;óŢűv^ó~Úĺv>óí¶Ëťîßí~ćŰi»ťę3ďĄOěÄqąÝ×Üjß¶{M™0śí§ł%űŐŠŹëąY!ĐŚo 3LQ$f9ť,,0óKÉ„3ť™ŰŠ)…Mę;(( ±¤Äµ­ÔsEĹë6Ć‚˘hŞÔ7çQCÚ( #z˝1ŐZ…$Žq\Ź$ÉT–…c N-Öç¨a$ŚĂ0 ±důśČĂ˝Ó÷TZA˛;ę»(Џ~ý:ZkĆă€Á`X|îv{‘áp@„¬®®âygÎśfss“8Nh4 †ÄqD’$ś={?ŤFýwţÎŹ6·ýúíĆQ×u·$$i­‰˘jµĘŇŇý~ź^Żc ´–>|v»MĄRˇÓépőęUúý>A^0ąâ°ŐjqřđaÓ¬ďJĄ˛EŤŁ”šň@ËK™f‰rCĆěyäw5\×Ývákp[KsĘs€IĘ„iËŰ!f60ŘŹ}Ř`˙Áq,ęµjVz4á/¦Ľ_JdD6ÚgĎÍ”0é,A’*fš˛™âEtFŚ„AŰ•$h d;iÉÍĚ”�Ę‹­¦·!eşŔ­×[¸YÜłçůŮ`r›ßŻ5‰Ň“R¬9„&‚ÔF¤Qó*Iv帅aH†ĽóÎEĆă1‡JK¬”˘ÓŮduuµđŤĆ„a„mŰ$‰" Ă,A*ÉĘÁvźI’„0 §nÎX–U”Ţěć¸t;DĚĽůĘĽßsb$˙=˙˛m›z˝ŽďűĽőÖ[h•`Y’$QX™‘ÖšĺĺeNž<Éx<¦R©Ě˝cŰ6ŁŃ  Lů˝ •Wć)#„(¶µÝM CĆě›Ĺ„Y\ě\›š¶40ř`­ ¸®M˝^›,Z š%#_˛Ă¬ßťgR{”˙Ťy”ł.H™2 łÝ• C‚ @ ©W+¸n@ĹÉł•¬ŢZb3?Z{»¸”’……‹‹AnŤÚîďµÖĚ#­śvٵˇqlÇvж’rç=<ÇáĚ™3ŮŤ$źńxÄ#Ź<R´×©S§˛ö™ŽÝŢ}Íűf‰(Š‚�˲˘~ż_x§ÔjuZ­ćŽ2ŰíĂvÄ]™„™%d’ĚÜąĽĄľďO©!-Y«ŐjÔj5úý>.\@)ťůč…ĹqÉۢ?ťożś¶T~ζíŚ8Ss÷5'dŞŐjQ>KĘ2ĆŔŔŔŔŔŔŔŔŔŕFƲu˙öm޵J¦qIe-Z'„ă!qN);„´‘ŽëŐ°l‡YýŚ.-îóÚĄ¬¨ĐĐL–éOQ¬4ŮбZ)„Ö lr+ŕ›—ÎÚ窭}ł( -yąÜľ’@g±× QEé"۲¬RR[ş­8I˛E± Š$ě0q©TŞn‘RŇl.PŻ×ŘŘX§R©aV¢±¬”ŕă8K<ڱm۶łDÉ„8N2~‰ëş$™9ńh4Âó<'M÷ËÓ'sŇ '+lŰ&‚, <UŔÔëuZ­VA°ÄqŚçyضŤëşŚÇA"„`<ĂßwwtlşYÉyůńٲęr qN€äßă8ŢBĐ�E;Dá—_ú˝^·ťÖzšdŠă¸()Š˘h‹2fv|•R2ʉă¸(§Ď·‘ź®ëR­V‹í—űpŮ`řnŹ×†Ś1000000000ŘĚSµĚ~;ŕŘőZ%+Ň(•ŽDá=Ĺ+Љ‚ĚkÄŻ,`Ůn¦”ˇ ´ž!eR:Ą _&”Eş�M”fh ŽĄA'ť mDś)6DA†líoĺ…¬žk.=éŻé×ôŢĚ_¬—=“fźKKG&ľ)11ŮvNřČĚČw§ˇµf8fJ‹„~żŹeYř~…ŃhD·ŰĄŃ¨†şXđ—÷µŮlŇívI’´AÇ)›Ńh @Ż×e0°¨T|*• Á űNăť%AŇn7ązőjAĐäűŐjµ¦ö7'o’RŐ„pď«-fŐ"ĺ±hŢóĺ×ĺĺCeeNNĘĚnk–¬Ů:ţ)VWWÓÔ9×-©ĆÄá“#Š˘¬í­-ď—˙ěş.ŚÇă"lB AâąDL<ćŞŐ*ăń¸ř='äňóŁLČÜ-RĆ1÷Ű9ůÜýEÓdrńţĺČ;}žärňůw®nÇÖŕîŤif<»ůxż—Ç@s=š=hy‰EĄđډÂ1Q0śRž!Rł•l1‡#Ć@µŢ¬"ŇZçľÓuJ©*¦ fJo/ Ž‚ 4ľď -@%Y$t¦î•’DÍŚ—I¤§´ovó"+Ję™Â/§ĚRM)r&^2I˘IT‚Ö ĄôŃŁÔ„”‘R"…Ü•2Ąa2Ť3Ż’Ô{ĄV«"ĄĹh4Ŕ¶mÇ!\×Ĺ÷ý·Ĺq\„HđýT±Ňívń}۶2˙śÔ$6'QĘ‹yŰvŹjµ¶ípüřqşÝ.•JĄđ‚™-· řľOŻ×C)•˝jµ*ŽcßÖř2ĎŰe–l™ős™}MNHĺ%=¶mg –­eJeuI™DŮţ:-đ<ź( K‰abKÂX>SJm{MĎŰÚó<._ľL·ŰÍČ›—¨TŇr)!ťÂŔw0d¤™"Ľ|ßGk°,™ůŰ8†Ś1000řaZśĚ^p vłµ×ĺc4{¨fďÄÜ˝ĹáěĎŰ%(Í’.ĺ»f÷î¸ÝÎXhڬďíq*/Ě yą…‡ÉÎ’z­’*Z’(g ”Tń"-‹fłÉŹţčŹňŇK/±˛˛’*â0 pÝĘÄÄWčéčë3ŕ-ÄťJă`ŚBă»6ž#Ň…$Tv %–•–Y˘0*’iBdö·5*/QJťtą¦Š‰˙Ś.b¶Óů‹Ŕq¬,*U%*Iɬl1/„ŔÖV±ŘVID"a¸;QĂŽă ”˘Ůl2ŽăÁ ŹëşŮw§(Mň}ź(Š�hµZ…’˘<fĺ‹űśň}oęýr˘ĄÜ¶Bä CNů<ďôýÔ 9ŽcÚívń>B©lć{óäǶÜgr%KN¦äsžYo—śđ(˙ LJŤĘIYqO˝ľ¬~I’¤ř›śĽŮzÍÖE_MÉ-k˘K{ÍTşä­IťÉ>ollđć›oâş˧NĐl6đ|­Ň8í8Iżź;÷:ßúÖ·ř˙Ů{Ď ;ĎěÎď÷<oĽ±sBwŁŃ $8D`ĂJ¤-ŤFÁŇČek× %iµZ°kkËöşĘµ®r­ËţŕP«˛˘]’vFG3Ł]i‚4†a&A�Ad4ťÓÍ÷ľáyüá }oŁ›I9÷T5Ý÷v÷űľO:çÎů˙=݉c;8¶ŤWÝR" ·Sdâ–¦.Óµ®u­kĂऽ ł|x�Ůve7™Ç¤|¸;NôşŮ QÚĺ­wZ[ŰťPť˛jvËcŻŰžőÝi/lş@çoIµ}ěZÇAeÉ \6ÖŠŔ:ÔuLÓŔÍdřü>O«Ů˘ŐjĄ˛ÔZ+Tŕˇ,!$l«.I˙«wćgIÔ T´š-„†Ţ‚C!c˛±bhŐö^…­B (•Џm’l'ěs˝Üu˛ď¦sB'm; ­U ÂHü -đ�)̨•GH˛YäCšH#Dh€ ®„0¤D(赌(h·Ló}™ßaĆ.¦)+Őj5M­VŁP(P«Őp'Ý» ăF*uÄ»Úßęz^•·ó[¶ľVg\˛Ź&÷Ý~n¶W»´“×&íGÉĎ$×Ú™ ÚÚ×ßŐó<�šÍ&RĘTA)ůýí`ÍŰUłjô®gűn‰Ę­{ ›»Še™LNNĐŰSÄql‚@Ńl¶âűÖ4›MNź>Mä˛Y˛ąŽăbfT©•09ŁQZ“Ífş`L׺ֵ®}\A€$�‰JuušezÇú;|˙-¦ípÍ7r[Š7ďžE‡sňVäpIź»aČŐ…í1‹Héw:|Ôb ąćťžÉ»˝×«­ ŕöLŻţ�ćçG}-ŢČ˝]žçÎëf7�mk¬4RжŔ@ßÄ{{·c÷qĎßđ¬[IvRË2Éd3­mŐ†iňŮĎ}–©©˝üéWţ”ŤŤŤ­gŚŽÁÝ}l[:‚í qTC43iBĆjJЎ^ÇÔ4[+á°QHiÄľ…‰ÖQ‹‹4˘–!Ag°Ýľnw ‚“ů ”˘V÷¨Öh A °¬ JE•8¶í UÔ®ŇjŐ±,Űř˘ĺy„Atď†a 1˘'"�­R„4 ĚĆś›uF úúúŇŻŁ¶˘-+‹éóčééą%ćţ;i[OÖn{5[ű·ď˝íí‡I%K{R´$€ĐN|0í yňłU%×isř×UŞ¶Ď·ëîo»,ٶłd7•'­Łżkš&ĂĂCi«Q­ÖÄ÷89Ł•J ”-ËÚ’•ץZ‰ô ŠH›cĺŻ.Óµ®u­k/K,Ó4°,łëř~ČNŹÖßŇ`¤Ý J䨟ÜčĘPčcĄ CE«ĺašćuŮü đâžp»Ťčp‹Óŕť8ÂíÎ|×xWĎ.ÂXIĹHů ¶W™Ů¶ŮáżŰqęŽŮ{ß%™›!ťű1{Ji ęÚ6ŽeÓ1P’Văiő&¶ĺ ĺÉ(ZŁ…@ŃNŢ›đĹl!I±L©éT2{ ľQˇ˘ŮňµŔW‚Íş@™9<Ő¤V/‘ĎJ,!A€‰‘V<¨XO{· ĐťĚ2 ¤x^ŔÜÜ2ő†¦ŐňbijČşY2®K.—öm¤R ŁbÂ0®üU1(ËW'D­†‚śW#TC‡h;ZĄ�Ře·Ň~q=x±ű5&Żűľź‚vL†Űľ×¶·µWŹ&Ŕ‰ai%Ž"Sü”‡e»ZR˘B”Tđ´5B|ßguu•ĺĺ•´ĺ«}Ź×ŰůÄxLűülc¶WO&>Aú›¦E*ꍨ2M…!*‘H¨óÇŚ'W‚‰xÝâÍů`&bŚéZ׺ֵ𫲥' ¦Ü\'̶-ŤfGv¸˝"&«îó˝Ć*’G5ńý VA ]WAËĺbçj+ËővcöVëéĆĺ\»¶]V7j‹Ć*iIŘj!SQ�÷Úcv T>*Ö­<n¶Ť& Yiźw¤U0Žkaۦaá·Í÷ xę©§ČfłÜwß}lnnR.—ÓDż”[µ0z7q"±ĘlŻĐZ*EłéˇbrŢ T„Ć•–dqeľ˘C>g“qlL+ŞĘ‘B"•@é·^ŰyL„”$Jďx^Ě"#Ó0 ‚€R©”Ęg˛.Ň0�MjLi1M¬ …jú ŁCę¦EF)Z¶6 <nĆ}§]?ŰsîFö·v°%S’j•„K>·ű4‰äs¦$k= ¤”)¨ăy^ `$Ő4‰DwÚFDľl’RąĚě•+,--˛´´„Rۉ‚w" ľüÜní×Řľ&Ú«ú2™lĘýłĹaÔą—µPIPűG;u@ňŢ.Óµ®u­kŁC698\×í ·ócY&ŤF+u`’ŇÝ(sĎu2Š]ű0ÇĘÂóü­¬oĽ®lŰŢ‘ńćgÝ9p#ŕGŇꆪC řEŞr#Ď´ËcňţŹ™iš4›­.łĂÜK’(®că8†iE<)xiWŻ×ůîwżËŃcÇRî�!%Ň0S Ft´ŃŃF!Ł;ÂP ¦ńŃ8˝†űA€ëÚiE€ĺd°ě ßËâć"nĄN!Ó XpÉfmL#L[˘•Ű–hSܦ´$A‹HSI©3'Ačř>®ăRČçc€ÜŽŞ Ä4[8­&Â÷Č>ˇ4 Š‘%Ô Ď˛‘"z.¦”(aüPέd~íÔ&€'»µFíÓ[U»íŇÜIuKéçäĚLŔ›Äßi÷m’ŹV«•‚;QőM‚ok««¬­ŻŇl6p—|.‡Fł˛˛BµRcmmťĺĺe††GČv੮˝$a˛˝Eu;˙ÍvŔ¨ýů$Ď.ń’Źve«vĐ4Q¨J~¦˝•vëlË"_ČuÁ®u­k]ű8şQĐ`š2ux’tÖ!¶ČF·gH:3PéĎ "âż·e{¸HMLÜÖćÂ7#Ţ׬YDJ^wŕG„‹ďíů%DŽ$Ľ@şó^:„Űľ·Ę0µŹÄ‡8n}nďi÷}źl¶pCdGf.Î"Í&ŞVF‚ šn¶Čf1rydlě¦Űgv~&QëźźfVPÚ4eÇŁÜíůu8ĺJˇ6סĽa;‘:J EDß�´® `şă´űĽ5 ‰R!Z›]ŔqŰ Â(Cî86®ăD'–?Ż0 €+• ?xúé¶}_`6¦éB;#J»śµĐ)"ŁcAieI&Ƹ˙îC<üŔöí٧7ŹmŮd26 ń}[Ř€@&ąŢ1ßcÓo2aŽţ˘Áđp®kăXaÝúúógűŽ“÷ęř|ŚBĆ€F˝†Đľđđ}ź\>OŃďT•f@9Px4˛™­VEŔHĄ¶ľçÓ }\'D˙Í+Ďó¨×ëézËĺriĹg«Ő˘Ůl¦ŕA.—Ű•T8ń/Ű+  ˘]á(©|koĹNŔÜ€źRi“z˝NĄRÁvl*•2++Ë4ëujµ:ŐjÓ4éééˇŐhP«×Y]]ĄZ©Q«5¨×„m•%©›Xłĺó]nc’kÝ^A Č´ß[;(µýýí@L;#HSRČgČĺrd2ňůBŚéZ׺ֵ†9‘.Lޤ$sµuE}¬|@ą*hyŃ׆Řňq LCĆ„ďÜ‘n'sK$ ›Íf¬BđîŰŞÚKßS' ľ§őš"P0”—H I,­uGţäB�¶Wľč›?Ä@ŚV!JµĐşaô"¤™‚5ĎWËHNtK«vç$$˛;ŽS’ą•R’Éd޴ДִÍz]QtY[bqKŕC×—:߸Żă9®}om•`ö2­«W ćç`} ÝlFZˇ€14Ś9>‰9ą{r «PDf•˝ő°˝||7ĄˇÝĆz»:Ĺög‘üţö×góV«íNńŤ W:®:Z7Áćę[Ź!_|ˇÂh#AGŃźÖ`„Ów ľôźcNN“l*]`áťžI]ëâü Uäq]! ËÁŇßkĆ€ŚîŕCB"mŰÍĆčs0檰,“B>ÇčH?{†Ů·w”ÓăLNŚĐŰ“§Ď"Ą¤Ő XZŮŕĘěR¤fx-ÍÖľâd˛ťÁvłAť+ ¸VťbÖ$—µŻk‘Ţ­eIŠ0Ő˙KŕűŘ–Íčč†)1ÍH­ "…"Ë20-‰eş„Zˇ…Äp]DËÇ |ŔŹü$BŠôo†c۸öÍW® ‚ n‹�űFŁ‘î“Žă†aÜjc`ĹňĆŃsn±ľľNoo/qűë»ŰK}ß§T*‘Ëĺ¨V« ÇAĹ„˛ŤFV«…ă8éB¤P´¶¶Ćúú:H)Éĺr×µý´sÂAV$–´µ2·źGí•'ľďÓl6ąrĺ2łłW¨T"Ŕ%T Ńx͆aP,1 ÍÍMÖ×6(WŞŃßžďGŐ4m¤Á‰Ĺť—B‡zb;�ł›Ú^ÂIăyŢuÜcŰçuÂwă8NĽŽ]˛Ů ×%“q±, Ë21M+ĺ’ů ÎĎ.Óµ®u­kš“WĂ蝥.“Ă¶Ń ¸:çqćĽfvNS© Z-l ňyÍřÜqě›tČĺL„Üh ˘”˘V«ń‡ř‡AČää$źúÔ'ąté###LOOďš•i?hw˛K—.qîÜ9>űŮϦj+•€—ç<Î.úř!¶¸gŇbĽĎLK¶·ĘeÄ4t”ěn•Îę÷ČčH^Ôó6QŢ÷A­Ł2?ŽĺLD`śîŤłĄ»˙ŐŤŤMţńżÇµk×Bđ裟f~~ž/|á ;:«««|ç;ßazzšűî»˲v•‘đCÍĹ5ź—g}®n„ôg%wŚX<°ĎĆ6fl«u'ÁăŰ1Ű_SJŃX^˘ţ˝ďŕżü"áěeôć:"Ňj‹„3Aßq‘##´fnĂzčS¸÷>€](Ŕ;(«_ZZâńÇgii‰Ă‡ó™Ď|¦4ń­‚`ß÷yýő×BpřđáMÖťçy<ńÄś<y’‘‘Ž;ĆÂÂ333ěŰ·ď?ßí×s3€ŚíÍd ŻÔh_[°n¬|űopľńgČ•EDlUÇh :D‘j†ńňł´ZM‚˙ň70‡F#đě�2ď‰sZ×ttŹ‚)ĄcUŤm'`ŚDËÉ ¤Ax(lµzHĂ´0lalťi �aŰ®cQ,ćęezjś©˝#™djr”ľŢBÜҧđ<źŤÍ*ĄRŤ•µ g/Żsîň&^+"——BFj01a)Ja&†íF}V–jyĆF·RĄ§č’ËÚ±Bŕn{€aQ‹•dłRZqU@`[–qxY–™ĘK)Á‹®;RťRDtŤŃÂF‘ý )"ůë÷ 8VJ±˛˛‚RŠk×®Ńl¶Čçó€fhhůůů”ď&I:†ÁŇŇkkkLOĎP©T9tčŽw­4–€.RJÖÖÖR€$E<Ďcss“ŢŢ^\×MÁĄĺr™sçÎ1<<Śďű×U¬% “”2mCÚ.gÝ Ţč™ë¸i6›€¦ŃhR.—y饗׫ŐjQoÔ©×j„aHĆqƶ­ôď{žŹďEź0 ˘űjŻ^íÜcvS:ĽIŔÍäs;™p«ŐÂ÷ýĐf§„„4$†” yŠ=úúÉçódsě6n‹Ľ|?D.gL׺ֵ®}¬MlµŚ·UĂ$¤lŕšĹĄ&?x!ŕŤs°ş*¨ÔZíp| 8}Vsâ$Ü6ÓâˇűCöNŘ8¶ěŕ<ŮÝ™Îď?ţ$żńĎťůůyž~ú\×%ź/07wŤŮ+łŚOŚ322ÂĹ‹)mnň‰»îBJÁĄK—�ÁĚĚ4gĎžKł­V“7ß<Ë… yôŃGSŔă̢Ď?śnPm*4‚ůŤ­Ł˝&2©ŃÝ)ú~ŹČM d¶Ë@FŻ…~żö·¸ć“€G«1„”˝H3‹™¶%é·˝’fŁÁĹ —b˙ţiÂPQ­Öąté2+Ë+ŚŽŤ×®]c˙ţýś9ó&O?ý ==˝Ě^ąĘŐąYöí›!›uYYYMUöďźAJI©ˇxćB‹—f=šÂ–’ĺrȞɾA+.3˙PĂĆ· šŻţ†„žGĺµÔű ‚SŻŁ7Ö"yŐxAŠö>(w”µš¨J‰`ö áŮ7đĎľAöÇľ3>4-D*ËĽsđ®”âŰßú.Ťfť»î:Ě©“o09ą×u™ťťezzšţţ>YXX`zz==˝ś<y۶i6›\şxĂ4Ú;­/×áÎ;a§NžćĄ—^áîgnnŽď˙I dyi…ĺĺŽ9Ě›ožEkMˇ§T*áµ|î:|óóó)§’j­ĆÝwŁZ­pöě9ĆĆFDz¬w,˝Ó�_G:ąx‹W§_F×›°4‡óÄw0VÁó@ůP%şĂQ…L ´Bn¬aýý_ăűáä4ˇă˘߇=}�‘ÉľĄrS†\Ľx‰Ë—ŻÉ¸ĚLO34<”go\íô}­«ŐÓ çWö™µĚKLăVBeDÇąÔµ­ůčů>hŤm™¸™›J4ÓÉ`8nŰľ-#_íé «Še]‡{ŹâáăwňŔ}w0<ŘŹmY!ÓĽçů,Ż•›[aii/(ä®-6yáäZ\i#Óv#iË‚–ߢ٪†!ŮlŰvp‡÷€żŐ`nu >ËÔ Ýo¶�� �IDATÄ@ ú\ź´B¤­„–e295ň‰äuRٲM޸˝ýełTC%*…B`Ć\"z0(Ćm&–eٵÍÍn͵,‹}űöĹGS.—9zôBDISSS¦ŮŃ棵fzz:–G®áyţ®ë˙FŻappĄ)·Yäóů´âĄťPWÁřř8CC‘\óN ­5Íf“JĄ‚‚ţţţôÜkŻ„ń</šÚŰ{’Ď–eĹăŃâôé×™źżJˇP¤X,F E¨¨Vk‘ęš«°¬¨uɶ úúúčď'TŠZ­ÎŇŇ2‹‹Ë4[ T› Ňö„ ;Â1şŁb'ąĆäÚ_ ‚ ­*Úúţ�cš‚|>GˇŁżżźŚ›!“É`YfZQ”¨%E ŚJýSŻĺS«U±,» Ćt­k]ëÚÇŰÉ#% 묾 Áé3Uţük‚ĺU‰ěž=OzĐkuAŁ!¸¶ yő”Çö î»§€m™ÇÝ[ew\7ĂçěŮsĽđ‹,/Ż ĄäŹţ菹ýŕlllňŇ‹/súŤ7ŕů^dďŢI^ýu|?ŕ‘GćÉ'ź˘żżźˇˇAÎś9e9č$ă�¬Őg=Ju…iîßksv9ŕâJŔJ)`¸ÇDIąHÂŚóţc7OŮj'ůEúÔKĎQ4˙#’M|›fuąÂ M´U)yή÷-˘LcłŮDkĹćF‰çž}fŁĹ©S§xđˇăś8q‚©©)ţâĎ˙’ýěŹ�‚R©ĚďţîďsřČ]<öŘßđĺ/˙<ŻĽ|‚7ß<Ë/ýň?Kýb9äŐą­@‘5 ž±yaÖăÄśÇDż‰!?Ěí­Ű\vżŮ¤ôÔăÔ˙čPW.AĆ@ć H+kŔ÷ĐWŻ,\Ł2{…ŕWţ9ŮÉ)Ě6˛Îťţn­VăęŐ9~ú§X¦ĹŇâĎżđ¶mń§úgüËů[üÎďü“<÷ÜsôőőóÚkݱ˙ Î_äŽ;‘ÉfřęW˙šFŁF1;{•ů‘G9sćM<ČńăÇyřá‡X_ä+_ů3Ö76řŢăOđ‹żř_đÄ÷ź$›Ë`•J…VłÉóĎż€ă¸\ľr™ ćâ…‹4uNž<Iٵk}ń‹?ÁÁ·ÝÔĚő[-7†4ŻŕüŢżŔ¸p.T5" ‰ř˛’`X§Rľ„[ŐdÖĘ"ć_üA$•kăS4ţ»˙÷‘ív®›#ľĎłĎ<ĎĄK—Čd]^yĺU~áË?ÇŔŕŔuŢíŕßöJ"!"9ăÍşâk'jĽzµE 4Ż^•Ě yüÂ}9öôÜz2]4¦c^¨HŇYiŤm›dÝ(@SşłĄX>Ň0Če&'FŘżoś˝Łěťab|ţŢ^r9DZ@C©RcsłĘF©J­Ö$C,Ë ^oQ«·X+y\Yh˛şáă ßo‘TÚX1 śĚ9×qѶˇľí;†‰e: Ž“k8Ô×7ąZŢŔ´==YrY§cm$dĽŇ؆ՑĚ">™t´U‘Ľ®m”YߨRŞ *ő?Ś8uDŐBF¬ĐD3�¦i uH«Őşé’ÖI;’mŰěß? ¸˛i‹ ~§} “‰Z¦rąloÜ»±Dťhűu†A6›ŤĎđX:ÝuÓ1Čfłiű’a; ?Däµ’ÁÁA`Kć:"ăn¦słť<˝^ݧÜ0–iҨ×XXguu…JĄD­ZˇXČS®Tp'%ŁŽ€›€ ôQ:$˘*Ńôâąµć Ëe)˛d˛™ŽŐöóůz ¦ĐKxsUŁv~äµk'K.—ŁŘS —Í’ÉdČf3XfTíU“Ę´Ú,ĺ©Ńš ZŐ‚0ŚČć“öohwÁ®u­k]űř»zT*šMÍó/—ř«o:”+QŇWk€·“~ŤÂV×Mľň×’zŁÄCô’ÍĽ],%„ TŠÍÍĄR)-ÖJsěŘ1^yůUZ^‹ đ™śŕSźz?xúépűí·Ól6YZZÂ÷=>ůÉGź_`llŚ©˝Sś:őFzż¦ŚúäóŽŕ© ĄfČF=`¬ÇĆ‘3«?BéY­|”Wi"Ěl܆ :ZťšőU2­Çşž¸8ĚŁš˙†ń[Ř™1 ĂŠÚ“bľś· ’ĚZřAF섺óÔëu®]»Ćm·ÝF?űöE­f===<đŔ}\8z˝ŽíŘ!éďďOç˘`J¸}Řf˛ĎâŮ‹-¤¦Śî>`gśő CüFťŇSOPůć®@¬4ńve�×3JE•/?O=ô˙â_‘ðí]—mŰ)X^YˇŮlńě3ĎŃß߇ă8<řŕqNž<Ĺ™3g0M‹<ÎsĎ=Ď… ¸ýöÜ˙ýś?!Ęp†!/^Äu]zűzČfł¦AˇX`ii™őő5677ąté2Ĺž"w}âN^~ůëë8ŽÍ}÷ÝË믿ÎűÉd˛|ű[ßćî»ďćСC¬,ŻpôŘá”ßŕâĹKär9ŻS©z?ÇKkŤ7ă«˙ĆĺçA0Đc{}ÇaŁ őZČ ď»îGKoĽŠ8wÂ�íşŕfaa1{šuĚ‹gQżýżŕĺ 8wCě  iü  P(00ŘO˝Vçëßř&W®\áŔý8ŽËK/˝ÄŃŁGY]]ĺСCŚŽŽđ7óuŽ9ĚÓO=ÍĐđ0żú«żB ÉŐŤ€k›°MÁDźdˇäse=Á®ÝʦâLąÖÓ4Éĺ2@ÔíĂŘ–I&ăPČgęăŔô8·ŘËäř0S“Łôö0M#m{j4=––7(•Ş”ËUő~¨1L Ôš°°Xf}łB©ęă?ŚNÓ(­Q*$ }Licȸb%n˙“čHPř-˛ŤaaKPN¬]@)¨5«T–Js z Y\ÇƲڪh5i%A†~€çE×_­µX\ZĄRm1ż¸FµĐô†ÓŇ+T đĽ) ¬8ČB`ҸöÍQ™LSZˇŠx{â*žNUźÝ“0íßK@”¤Ąr§ÖĘ÷’ě1M“L&›kUÇFíSfÜZ$Ú…¶Zv"Ig'/Ą$!DÚľÓjµ°,‹ h6›Q%Śi*Ĺňâ" ‹×¨T*4 |? ŐňĐšŤ&µj-j1‹ž×BJçűiX'˙PLÝeÚ‹˝X–µCEöő×;4AŕyŐj5–†i•w.›ˇXHvmÇ!—ËĆ„»9¤Ś•§člĎŠ>TĽn"¤ ŃJÄÜAíľ•ŕkŰě‚1]ëZ׺v‹�1ZkZ­Ż4ř«oZl”®ď ; ĘUÉ_}ÓAĘ*Ţ—#—3ßŇ…‘RŇ××Ë·żýŤzÄOadłYÖÖV9zô0őFť‘á!ćř‡üŽă05µ—“'Oây>ř +++ôôô`š&oľy†sçϓɸi¶­/+ą}ÄâĚ‚ĎËsM*MEÖ–L™ Ťô±˛Ä-íGĢ•EüKß@öcŹ?Šk(żŠ‘ß‘BIP~×» ÚCk‰0$B‡dÄię•?¦Ą'3Š0ěHu‘ÝNNÜřž=9z„Ç?Á‰Ż10ŘOˇP T!SS{™™™¦··—fÓcxxÁ~¦÷íc~~ž^xĂ4Čĺ"uމÉqVVVžŢ‡‚á‚äc'ććK!­Ć &wŤ[ČŹP¦5:¨ť9Mĺ«_A]8»{￀iJśľöu§#­ŮÄĽňÄ‹T˙Ăď#ĺ7ÉŚěŮŐ±·m›‡z'źz’ÁÁ! Ĺ>ô §NťäĹ_drr‚#GŽpęÔiNś8ÁŔŔ�ÓÓÓĽúę«ć ”Rô÷÷Q*•8tç!|ĎŁPČ322ŚeYÜ}÷Ýüůź˙ßřĆ7ŘÜ,qđŕíôőöR( źËŇ××Goo/äÔ©S´Z=ü¶mGüaH±Pdhhžž"÷Ţ{/µZ•ˇˇˇ]IˇßŻńR^ÂşřxŤ¨*._@|ţźÂ˙[´°¶í #ă`Z„äwń˘U‡áńhOýOżýďs—^ăâ›x/>Ixđ¦í첼"…—ËW®ĐhԦިłwď^~ög†'ľ˙43Óűązőűgfxö™gdtt”Ó§Ţ`xx„őőućć®ŃŰ[D ÉfCQó4{z F{ ËŠŞ§Ů¬«îřŮCšž‡VQGˇEČh«0 ‰ăŘ ő÷0łośăÇďâř}ź`jbi$]JZi<Ďgm˝Ěęę&łW)—ë …b†B>G.osńęg/­°´VGĘ"~-¦FJŰÔH†€“PŰhĄüJ+lŰÂBŕ*7lâ†4 ĄÁjaŘô˝Đ1- CRĚö¨Q66—ąňćeƇ ŚŹřQ€Úh6hµ<66ʬ¬nráâ5.Í.qńň" Š˝ä ýŘn!mlÓFz µGFkSţvĚUâ#Dčv2ĄíĘ»Bc˘ý˝V«“ËeS^św ¤Ľ ¦ý˝;ý|ű˙ŰIk>”äőö×Â0z-”&Iú$$ď[ v¤­UŽăŕy^‡TőňŇ* T«ŐôhµZAÔýŤ&››)ččű>*渉8”bĐŻ]‘(nóRJcZvZU´ť‹/áfŮî˙&}‘ś¶GxŘŽĹĐĐ`tŽőöDBDśn‘Ą¶~źQ6[-˙ÉóńhJ¤ľ“–0ŐF0oŰv*Ś â׺`L׺ֵ®}Śm«tS¤Ôą ÷„ Z“םÚb;şĂ÷čpŰ­Ń‚o}OR,4¸çhvW—(s”á7~ă×úűf˙ţrŮGŹf~~žľľ>úűűY\\˘V«˛o_Ľ'AüŘŘăă{Á˛,úűűҲٴTW>±'ę?·ěĄľwŽYm@LňďM Ď}‡ŕŘ ř:Rpń*«„Żü8׾JíŔŻŇĐ#Ř ß§iBćŘŻ! żŐB”O"ÂŘ”vä¨ -ČŞç©”l6«‘Ícç`&Ý9~zzŠ|ćŃOŃÓÓ‚™™}üÜĎý Ĺb�##ĂüÔO}‰ĺĺeöěŮă8iďôľé)řÜç"BĺÉÉńÔ IśŞŢ¬ÁgfČűĚm„ ä f†,&bNźŹJĄ”˘Y)łô·…qötzí)Ů1ď”h×ĆĂčéAĽ%d¸‚P>š0–¶& …4ĐóGëőĚľ_òť”?f»ZÉ#ź|˝S“”ËeĆÇÇéďďgffËËËŚŽŽ’ĎçůŐ_ýe666ˇ\®rńâEÖ××Ů»w/źüÔĂÔj5úúúX\\Ä0L¦§÷aš{öŚňKżôO™ťťĄ§§‡ááa666Čçó Ź ‘ÉdŘ`†ţţ~öďßĎÔÔ^‚ `jjŠŤŤ ¤”xžG±Xdxd|>Ď˝÷ŢËÜÜ˝˝˝ ľď`Lűľ N! C› ÓBß÷%Ä#ż�hD}Šq›Děxk CPÚ€ň&ÂÍ">÷ÓčŮËč?ů÷j•°·źpďPő-ťě¨ÂĚu]Í&ľĐßźĂóZ<ůdÔîĺş.w:ČłĎ>C©Tâ×ă×xîąçYZZâŕ퍳ň0Ůo0\¬”–ˇß é1™0ąµZ‚ô;ý8ŔđĽ�­BŰbr|űď9ČŘČ 3ÓLŚŹ0<ŘG__‘ŚëŕŘ6I­Ń`łTe}­Âćf%ĺť±LCh´j±¶QáÍË6•ş¦ŮTqő‹"Th`Űt‘qűŞŇŠ€Pií“ =l %ŻG�J+fĺô!h!PńfYN\éŕÇUB@.×GĆÍŃ \^l˛Z:Ď痵čf(¤é ä ŁűFÚćo{ î†׎i1ßT˛‡$Ň ř„>ľ×¤Ő$n;|oó0©L ‚€R©ü±#Ą‚ôů%m6I»\"aťđ©$É�×uq‡R©ÄĺË—ŮÜXÁó<Ęĺ2ĺreË%7۶ T Ă%ę</C©TŽÉ„I+U¶'8ľ—vÂŕ@¦ÍŹę$ůHiD‰„Á\׎A!$RH?Ţ«DťÓmë4 #˘mĄT Ęč¸'ŞÚ}ŕ¤Ç÷}666żvŤFł™3wß}wŚéZ׺ֵ&‡ołäóü ĹÜ‚$V­ŚU ˝EÁȰdp@27˛¸¬2˘DLMll*—›Š ÜÂŇ*<ó˘bjŇcpŔEěä'‡ö˝÷ŢÓńýv5–¤/`˙ţ™Ž÷ …ô˙L˙Űm·íxż9OµP † Y ŢĹů¸•üÔ‰đ[xŻ~“ěÉÇ0Ä2röi¸|»rúČ}xĺŤeźÍs-Śů˝”ĺCd†V)Ě\Ĺęń¦¸.´"ŁžŁVޤÚŘKŃČ 2iyőNć8{÷îMżîííĄ···ă=cccŚŤŤĄ_‹ĹôóčččŽăšef†,ĆzM6ëŠžŚ cÉ,ű1ľ xeáÖNrŕqźa@.‡yÇ'°ď1ľň 3XÂlśB¬} é_B¨f´ŕD[OTřUĽŇĂGŘ`Oűx8p ăOŹŚŚ022’~=>>Îřřxş<đŔýAŔÄÄ8ŁŁŁéď¸î^;Ć1YŹIëY»µŻĎ\.×ńZűű{{{;îă­ ŔožI݆ ýhlF ~üż†â\>§ľ‡ŢX€ü�Üö ý,‰~éÄ‹OĂŇ<ä 㟆{‚ź˙exóuřţß#|Ł^{ËŕLJÉńăÇéďŔ˛,&''ŃZÇ„ä6?őS?I˝Q§X,211ÎĎůçhµšěß?m[ś;wžžžb\.c=Źěwxá˛ÇězČŁ6G&l&úş.řGeńZQç:6Ź~ę>Žßű Ĺ<Ĺb+&€őý€fËcmm•RąĘĆf…Z-&1U „¦\*ł˛˛ÄĘę*Ąr…–‚1@`ˇE$™ 1_ T$Ŕ^K{„BPđëxÂBMĂČ éJBej•"T!!f¬ć$UAJŁĄHł˙˘m=X¶‹›ÉˇT@ĂkR[‹*rL+⥑NÔ¶†AJň+ă*…¤úUGH :EÚ%›·«űDëθéjJo§ňřŃbDÇ˝)Bč#dTEśđ©´W$‰–¤MiuuĎó@G2Ďą\HµZGi…!%BHË"›íl ĂZ­FµZĂk¶Đ©ŹŇÎ5ÔN°›Ś{B$ś®)IG5Oű˙űűűéëë#“É´ů~"YPŃL2•ŇÝ|QIąNĄórëůµsŇ(Ąh4Ôj5Îś9CřOŚT*•.Óµ®u­k?,ćűŠ —|Ξ×D ´¸‡ŘÜuČä“ÚäsdžFSÓl%j1ŕŘÍ<j5Íó/{Ľx"ÉN ‚�.ÍJŢ8pü^E&#o‰{B07:�—˛O÷˝8C* ¨-Í’}îO1Ľ8&ŮŐހډQÍqî+łT^$Ř41üG‘âaB»N~úMf>÷wôﻊá*„aač9qß[%¨ôbX?°ŠX�ĽËÝ⚂Ѣä#„Á¤¦´¦Ň¨ňŐk˙HyĆbě˘ËĚR˝ó{zČ~ńgpľđE.2Â÷·\:§°LÁ±ÉC<ú‰O2d|®üoĺ�ĺĹ„"!’Uć%Z«ß$(ŔÎŘAÜ»»ÁÁ>ő©O^ç@~XóýX“I6UĚľŽ\żŠ0Ä~Ćď�ĂDOÜ ą^ÄO˘˙c¸zé ţă_"^}ýą/Ágţ Śď…lťÉ!~ëßŔsŹcl¬ÂéW?ýyŚĚÎü–eqčĐ!Ľ= 2ŰÇňř÷ŁÔV¶÷îŹ1=}ű¦Ů»woúšŚË°\Kp˙>—Cc6ődAΖŘf—(÷ŁĆ´Ľ€P)˛ŽÍÄřH,K¬đý€rąĘúf™ĄĄuV×Ę4›-LC’Í88–d˝˛É… —¸pń›(bY6¶maŰ69{a šz€P» ŔŇ!H©Š~ ©R@É*ĺÜ�Z |-R€ŘL[˘Ť2R, ÍfĄ¦eb#ć‚3­¨‚Gë°Cę8ô#ő '[ZFĹ<%‰i:iUC$ l`šF<ç#ż$ @)I¨"âŘh­Č7&–’NäľMˤŁ3ô&í_âă*'„Âę&Ř<ĄĐŇŔu3d\—PEjsI…JŽAŔúú¦iËş‹‘jRRMmťŐKÉţgnŁQ‡Çf»„v˛f®kR*őő´Úş®­Ď ˲)‹X–•~?GĄ*T„±„7)زÉ6Ŕo·qďh]ň}2™ —.]˘Ń¨Óß×) J‰ă¸ŘPvÁ®u­k]űťĽäsŁrîbŔꆷ ED©‚űŽYěÝB÷]wçCĆuˇ;l±°¤»&#”Ę’s>qG€ëopmWMŘŚ˝çćíŇí/íÔâńA‚76^ Ľ<˙wëkC�&†ô€mI ňĂţďłYýuÂĆ"Ě(MX/˛vĘĆohîüÉżĄoę MV6ĐFßüwiĺąë3|·cňv?ß9ţďmno˙˝;Í»÷q…qví"§*WLž˝˝ČÄš‡ťÓnë“?‚úé_ä+glţü%źĺŞÂ˘©đí3Šż~UňŻ>wwßţ˘N˙3ěćk šqsSňŚšµ—ę×°Üž•™đFçöNO}`ĎóĐA„0°'R©1 Dn�ť)ÂŔ$ě;†řÖď˘s=Đl!zúP˙Í˙Ś<|ôôEU5€ôščÁQŕE2¨â-‚·ö@d'k©=›o"ĺ§čÜUŽ)pLÉ@îV>‘n®¬đÇéśö|Ź–×ÂńlęŤ&Ë‹¬­—(WkAë8ŽE!głş´Ŕ•ŮYÖÖÖ¨×ë4[Éś±D±‰ëşd2.®›!—qÉds8¶_ ™[¨SóÂv …ÉŞÓsĎH´QµIKe ˲ •Źú4[ ,´– ˘ Řq]b‘§´bF‘ڶ`«E$™űQۆ‡ďGíf š$ňöbŰŢe’Áľ,{FňěŔql6ËMć6™˝¶FŁé#¸®!e¤ľ¤Hm˲’í:ž’Tă»koqşBhşJa˘‘Ť şQ!ČŃ–F`´Ĺb‘ŁGŹňÔSOQ©Th6›†eš¸®E>ź‹ŞBt6ú)Yp´ß LÓ`sŁ„ŠçF{ëOű~TžŘ¶Ýşh-‘‚Ž žäŚÉçs†‘Vá´WÖ$UWiË›©ÄzűyúV•śíŐXí>J>źcdd„B>m;)yr!źď‚1]ëZ׺öĂâě•Ę!Ż( m¶gL&Ćĺ ĹBŔŘäöŰLVVˇV‚PseN±¶2ĐżspŻ”˘Z­ây¦÷n© hęőzz0:Žó¶˘ďűićáF‚JĎóĂpG Ç›a‰<bBl÷^Ü ćĆöéçu޶B 4˘Ą1©2±÷?ḛśýż˘Ľt;a3‹”!CGÎ3ő#O"í nbi‚ dCÍR®Ícą{Ń"R„ŘîX$c‘´eˇPصĚ;3I©Ó›ĚąR)íéÎd2éëQ?¸N%-wšŻľďď( ‘“U*•0 ŁăşšÍ&ŤF)%Ůlć:ąĎ›˝¦”VĽşô& ĺѲáőÉ,G÷¸Ü±ĐŔćÄ$ć—™o^Čđ{O7Y®tŞ6<ÍĆeĹ˙đu˙űËynźţ7čsż‰đ¶b"ůXé͢ęgŃ˝·#¤Ńb%ňÖŤF#r|ăŕĆ0Ś]źÖšjµJ6›}K`চž—V…lĎÄ÷<ŹL&‹Öj×qĎP@ěh‡S„ą~¬ň5řË‹™†±hi! ě T–at?H …Ţ\˝„~ŕÓCF�ŽR°Ľ˙뿆fżŘG89ťÉŢZ˝Ź]»ĄM)EŁŢäüĄy|/ ŐŚ€­4†UIÎ]]`öĘe—(—Ë4ͨ%12Y׉�L&8dP&“Á±6 »ĘÚ•*~,[ĽŐ®s¨iŤ4Qe^@ËS8¶ŤcDRÓ–©1 ‘cĽ_i­ €Ŕó:�ßô|×‰Ď /ZE1ŽÝ1·Z#¤ćŔŢí Ż'ĂřXÔ˘gZřžbłŇää™EŢ8żĚĘZÔ–ť9ц­VCˇŃĆ…'nĘŢ–±ßhÂŕŁf¶ccEU|B4 Ó@UËř›ë`ZČ|1ކŠŰҸýöŰyá…¨Vë±ôłAŁi`[®UmŇŔpŁ3Ę÷ýÔ/t]!ĺr Ó´:�™vŕ$©Ž±â×·†%+s…©~őôôbfŞ�•¬źöyšđĽEs•»%vb@088H.—Á ±µÂ|_}”.Óµ®u­k·ٵ¦Z Y^(˝ĺŠdÁ‘;ML#Aú;A—­ßŃů}ĂÜq›É«ŻűÔIٰf}CP.«]3ÝžçńÜsĎqúôi¦¦¦¸çž{Ň~ă|>ĎăŹ?ÎŘ؆apđŕÁHb0—KKPŤFÚ;44Äüü<sssÜ}÷Ý”Ëeňů|š%I2píÁćŮłgą|ů2ÇŽcppĄ)PĐjµ¨×ëô÷÷cŰ6ĄR‰V«E±XLŻŁ^Żł¶¶F±X$“ÉĐjµp‡ÍlŹ]�� �IDATJĄÂ•+W‚€Ă‡ď(sycă—ŕÎ_Ĺݨ@+&ăôŃdl0QÝÄŔôI2˙Ż=÷›Ěźyá4NÝŤŻk|â‹áxş‰nicna„„ő+čţvĺ/®T*|ď{Źăű>##ŁÜsĎ1jµJ)z{{ń}źJĄB>źçěŮłAŔ˝÷Ţ۸<öŘcŚŤŤŃh48xđ ©T.—™™™!“‰űŠĹëëëi†íäÉ“Üyçťôôô°ľľNo¬Ţٵfqq‘Ż}íkôôôđĄ/})ĺŞyâ‰'i4ˇěţýŚŤŤ¦DłĹbń¦sAŔąĘ˘CÍ\ŻÍłŠŚmú ů’ěç~ś9úxě•u˝îĆÜşâ·÷ů?~ö Fďg`ů«€j“`Őś'T !ŤŽ! ‚€3gÎđĚ3Ď044”ň€ŕŔô÷÷«««ôôôP,ń}źo~óo9~ü8Ůl†ŞŐ*•J…‘‘JĄJ)rą\ bT«Uzzzh4¦Żą™L†ÍÍ Â0¤§§']Gh­yíµ×đ<ŹŇ××Gą\¦X,ây««kT*^yĺŹ<ňgÎĽÁ=÷ÜÝÁEtł1z�Ý;ĺy;ŤřăŤţą˙ö?©«5Ëđť?€{·Bč±˝Č?ůďŃ÷> ·F‡-¸6 ˙ĎżC<ţ÷čľA9´ě· Ľ«Ő*ËˈA__ß[ÎÍv´^ŹÚA˛ŮlÇűßKĐ·ŰφaHą\Ć0 ŠĹ"ĄR)Ý'EhşÉűHČÚÚ:×ŘłgţŢ’Őő®\ľĘ…‹—¨”#`ۆi¤`łă81đâ’Ídpă˙»®ëŘ8Ž‹í¸hlZd­ěQ÷MLŰBߊř׹[íAĂ”*DiÇvA+”VřˇB Ťi „0Âa:„ZÓ¨×iµ<¬ř:ÇÁ¶ŚóEk‚PĹ-yNÜVgš&ˇ č5A€ Ö¸vµBy3G˝Vfx¨—‘‘~ú{{ä¶}<°Xć›ß=Ĺ©7ń0˛eĚç-ŻÉÍęQJ*+´Ö¸®›‚ÉzŠÚĚ˘ŠŹö€»]2:z?iµ›hŻĘ¸,Ls«ťŰĂŔ!lµĐµ2aeĐ÷ ,- AČžŃĚĚđÚÉשף$išx¦O˝ŃÄ4"sŰ6±,Çqq]7ţ^ÔĆť U5Ť@‘:VÄ;#ÓjDn;ńű¤”R˘B…絊ĹLËBÇIĎóŇqŰľ˙éxŽnŚh;�“<«vn›„ŕ­bĘAFk  Ćt­k]ëÚÇ~ŮŚńZŠjÍ@«é—1ďč°LËâk5͵…\N26}? ayE±YVŚŹ CÂĐ€dxČ`eUˇcążZ]ŇhŞÔ‘Űn™L†OúÓ4ę ŽÝ} ۶ąté2×®]ăđáĂxžŹďÔë NĽr‚ýö§ Zkćć®qĺĘe …/^bttĎóą|ů ĄŇ&ËË+Ü˙ý,,,ĐŰŰ‹R!HŻĄŮl27w ß8věÍfĄĄ%¤”¸®Ką\‰I2/pűí·qúôi<Ďcdd„#GŽ ”âôé7(—KضÍŘŘąóÎ;9qâUJĄľďqÇwĽg�M,/#j | ¦ŤŘTőѶ@YA&ËFcŐÖµÖ‹Ţ4UŰAęŃrąüÚť |ŽÂýsĐ@7“¦…¶ ą*�¬Ëm˛»¦¦&©×ëĽńĆh ===řľźÜ—/_Áó<Ž=ŠeY[ýăÂŕÁäµ×^gmmť“'O±gĎFGGX_ß Ď3>>ÎkŻ˝Ć‘#G8sćL "ś9ó&###ĽúękQ`áf8zô(¶m!««k w¨%4›Mz{{éďďÇu]fgݞ˛˛Âúú:_üâOÜT0&Q™Xö"BiMËPĽ°/Ăá«.}‹ ëŢă\Ü„Óó!ľjË<ł‚Ŕ ŕ© !Ëő"ăącHń—QË@›ěµP5„ÚLąŰͲ,>Ěňň2`xxüŕ”Je–——yôŃĎđꫯŁTH6›ĺÎ;ďĶ-|?ŕüůó¸®K˙‹‹K(R­ÖźźŹxś(’RňÚkŻńc?öăś:u’ľľ~666˘X,ňć›g0 “ŃŃQćććČĺr©WµZŤ3úŽ=ĘóĎ?Ďç?˙9fgg)•Ęd2|?"3<uę4333ď+cí%܇ž{ á7ŕÔă'‹ţňż…ŃЬAłŠľvńúH8{ ­XY„wÁü,üÉżG|÷›PŻ …D Ť˘÷ß+ăv[WçÎťăňĺ˱"śťJ{·gwAP«ŐXYYaffĂ0››Ăó|n»mkO«Ő꬯Ż1<<Śëşíji9}¬úŃÎO“صkóضÍččČudš?řÁ3ô÷÷óŕÇyĺ•W8zôh:¦7ălęÚÖś4L“zi“+—Żr¶Ődue‘j­Šďy(­ÉćrXqŚă8i๫—LĆ&1…|ž|ˇ‡ş'˝Vbî|…rÍŁŃRřľ&~ŕGślµÂů1—KňŃÇLf´Ľf¬<c`&J‡4ˇŇ E Gş9–ĺ`™vL˛«đĽ*F\%!Ňv!ŤÖ>µzM!“`6"z' ČXU2Î&ssK †{™šÜĂľ}{čďcb¬‡ŽŤsöüŐjíR ¤a`Z&Ů”°UPŃß—VŻ×ůú׿Něßż?­ňBŕű>ą\ŽjµJµZM“DžçQ­VS`BkMOOžçaŰ6¶msŕŔ2™Ě-37“DŘN`“iš„ą"ĘÍQ)—pl Ç2ˇVEm.ł ĎĘ@?זׂ0Tx^8Y–IjŚfL&-–ebŰů|ž|>ĎřřD$}ŢhP©TYYYĄV­QŞT˘¤D ęůľź^†aD€Ą‘€1˝}=dsy„xž‡çy)¨śě•‰ńV@uçë;µ'‘Ęt·1‘Żg˝´NĄ®µÓěVĆt­k]ëÚÇŽŮ«#T‚0h瀩I‰[U1Ďľčńú逞^ÉŹ˙¨ĂžQÉęšâ{O¶X\VÜ6cňO>oc"’T—ĽyNŕŃÁ„’ ĽLŃá·¶¶Îňň —.]¦żżĄ4Z ^zéöěăž{ďéčĎ­T*¦Íwâ±ÇľFˇP@)Íňň2ĺr…çź#GŽ0?żHąTftl´ă�µ,›ÉÉIÇeaa‘z˝Ćęę*µZ¤^ŇßßĎř«żü…BŰvčééĄŃhHtńâ%>űŮĺé§€Ö‚ŐŐ8ŔĆĆ&˙?{ďkŮuži>kíxň97§şˇrd±Š™T (ZIŮ’şe·aŮm3h 1mĚüźĆüî?`€1čÁx€îÚvŁmŹ-K-*R´DC‰ĹP9ޜν'ď¸ćÇ÷ÜPd‘*[÷#/ęĆöZ{­ď{×ű˝oĄR!źĎaŰöÇ+F°î@K Â(i“·Ş®î hVňĽzţ·¸Q} G Tł‰ßÉ�MA»™Ą:Ý‹@`ŕBĂK@6€¶˝ŤRÁ=%c X[[cff– YYYˇ··—ůů„ŚŹŹÓl6±í̦ţěfłÍ~đCňůűöíĺúµ<x€™™Y:ť ™™Ą\.±˛˛ÂĚĚŽÓˇŻŻźáátÝäÇ?ţ §OźĆ0 öíŰG±XŕŇĄKŚŤíaii™«WŻqčĐA˛Ů,źýěg¸ukšąąyŞŐ*J)–––yóÍ7yńĹL¨BśŔEJ„ŔrNň“®7čaî}I v¶PW]_űĆLÍd47‰Ɇ«Bůi+Ŕ&ę˙Ĺ]䆵‡«WŻÓh4ůŢw˙'~(¶ßCĄR‰Çn‚ đ¸rĺ**„÷óÖ[osúôi:ť6óó �,..ŕş..\$BÚí ‹�\¸p…… …"ş®S­V9~ü¶mljŻÉÄÄ$žçqíÚ5nÝŠ@…µµuVVVÉçó) gĎž1?Qý#›§ąç!Ô{ß§ žĽ‚8ó×đüż‚ňpĚüĂ_Ăř·¨–€‘#đoţ-śz¤„3Ż ţćŰP«FŽWş?250ڏË%Ydž‡G8vě(A x啟Q­V9pŕ�…B7Ţxľľ>Çá˝÷Ţă[ßú˝ŘŽ<Ň`řᔄCCCüĂ?üśçź˙"µZŤz˝ŽišŚŹŹÇě˛cĽűî{äsYpęÔ).\¸@µZeßľ˝üä'ŻĐSéáźóikhŇZvéŇe<ŔÚÚss 9âŢ}ź]@fkř¬5$Ͷ€ĐE*Ó.’aŕ IiDbĽ¶•�/6–ť�1Yl;KA tćÖf/.±şÖˇVoÓlu˘˘Vââ7·Mî-]×SťŤnáÔ´Ź MĄB<!𥆡ŘVdt[X–F!gQČ[TĘyB?dn±ĆrµAłŐÁő}\ljö•XŁC“BŠ�’2Ę/˘VĐ€jSŁ®iÍË 1×Ě/·Y¨q}f‰Ń‘ao˝;‹ă‡QNŻźIËIRđ#v.¦?tqcĺrÄt]‡|ľ° đĚd2hš†çyíˇIŃoŰvęD¤isssdłŮÎ\ uTbłŘ¸R*µ¶Ă;—Źó…©›¨lžJłÁéPŃpŢg˝VÇó}D DD­©^Wű‘Ŕó#·0M“é÷uÝ X4(ň ôăyŽăPŻ7"˝¤Ž“^_Ďóń=_xŃś`:}ýčš–˛«öĚN׺»őlăŢ$zW‰€ôFGźęb"­˘MŰJĹy­B©pH“€6»`ĚněĆněĆŻDÉFm*C2ÍIÂfć"ŚëĂj5ddH˛^ YZ YŻ+nL›Z–úű"öŚDąO$ĽwçW‘ś�K)YXX \*‘ÉdRß÷8|ř0óósT«U,ËB‹7RĄËËËÔj5ÇÁ0 :ť6®ë1<<ś&@–i˛¸¸ĚńÇS–†¦i†I±PIJ-|Ďç˝÷Ţç±ÇĺňĺË@dĂ›Íć±îFÔ›ßF׍řCĂ4 –––P*$źĎqîÜ9VVVX__g``ྌ“ŕ;:Ę1ˇI䶨PĘÂk—źŕŐËOĐ0FÁ. >–°đ1B|ŹvMÖC”Y×P2€ĐC4,B@Ţ®K)ťË311ÎČČ0/żü‡ŇkźË噚ĘröěYžzęIÖÖÖp]'>q’1ŰČâĉôöö`Y6…BL&j±Čĺr¦ĹĹ‹xčˇăĽůć[ ˛ĽĽŚačŹi ĆÇ÷ŕ8¶m#Ądvvއ>É[o˝ĹŰoźĺرŁ�üŕ?ääÉ“!¸ukšJĄL_ŞI2==ť¶:µŰmz{{É ˝­Î*ţďÜĹ“0¸šMâŠ'[ ÓÄć+ÄŇP. ]mJ …˙ö Ů†ËNÄô*Šq›ž¤§·—±±±(q¶m4-úÝĄĄE2™ RJLË"›ÍŃÓÓĂ–őöK) ‚'žx‚ď|çďůťßůjµSS“Ľ÷Ţ{ěŰ·Çq%—ËĹ­Ů´ő!ŇvjÓjµššÄ4Í”µ¤i:®éxžŹ®´Z-Z­…BžůůyĆÇÇ™źźgjjęcß]†I8ń0ĘĘBs5VĚöÁ0A7"&Úˇ§ ?�­�^řCÄľ±#Zˇn ¤@(±bry‚ýGÉć6=źn0)IÄßzëmŞŐ5Ž;J©Tfyy™W^ůŹ=öKKËě߀0 ÚtR®TČ­[Ó<óĚÓÜĽy‹ůůĆĆF©×ëś;÷.ą\–ŮŮąXČŐ R)S­V9uę$Ż˝ö:.\ŕí·ĎR(XXXddd„r©”2mę˙|ŔÔÔ$™L†ë×oţ¦"b7î_ÔÖ\Vć=L-@· ”‘ÁĘĐĄ‡®…äłůś…m›q+‡…iŮiŇvKuÉěb“™ůuÖëNW}Q;‰tę.Ř-¤®Đ4‰R>ľď!…Dj‘¸`Ő`č‘»‘ˇkdł6˝= déë±(2:\Á÷‚ `yŐá˝Kóüňý›¬®µé8‘Ö› j71Łf« ř†s’ ÚŽBt@j`ę‚ĺz›™ĄŢą°†ăëÔ›>A ° ? PA1vD=jCÄ÷c řZ–ĹoýÖomQOŠün±ŮÜ:~üřç -m§®T*i»Í häSAĐétČç#&aĎ„aRCĎćÉÚYFň%N ›7Ţx3ŐŰ�y6Zą˘÷·i2Î!D|ťd<×tl;ďQ˝±!â†!­f‹ŽÓÁ÷# "ĄZ b&şjÉsE/Ł[ô>ŃŚIľO¬;´̤Âë"f¸„!A˘śĂ ÜÄD‡”ÉëŰ Ň$kí.ł»±»ńkR†H#„ĐB Ę%ąˇJ!`r\cf. TŚGÉů`żFoERoÚŻŁi‚uĹĽ@ČŤż×ő Őźą]hšĆÁ(Kś8q‚·Ţz‹“'bll Çqźźçĉc<ůÄc\Ľt‘łgĎrüřqFFF"Ŕ$›ĺµ_ü‚o|ăëi"ăű>óó |ő«/Q,¨ô”ŃuťÁÁţěĎţŚßýÝß%“ÉĐ×ßK&kÇ'€!CĂCś;wŽcÇŽaYĄR Ë2yü±GŘ·o/µZŤëׯ3ľ'˛“-K<ůÄ“śyă GŹejj×uąző*O<ń8\şt™v»}[qÚ{d\ŁHčš„ľŽôM–4ŞM‹•†Ź“«ˇô�]Ëb:Y_ây–ë Ý6:U´†BřŞ) ·…j T[C‰<w:´m›©©I*• ş®óĚ3ĎđĂţÁ~*==hšĆĹ‹ůĘWľDĄŇĂęę*/żüC†‡‡8}úš¦ń裧™śśHm$Ź9ŚeE-==•¸•ĄHOO/_üâsü앟166ĘđĐǡÝnóGô‡ś9s†#GS*EVÜßřĆ×ůÁ^fllڱ±1:Ó4ůžĺŐW_ĄP(ňŇK/077ĎŤ7xá…Ż¤˘żI˛Űl6)?žµ·’¬27ő–+ a ţňT‘ç®3Ů{Ă�×)(ł ĐAa[Š}˝ru¤±čU#ebĄ‰áN`Ěţýű©T*)űĹ4MtÝ T*óGřĽúŻĆ2=„aŔ‰ÇRíźĎ}îs,/-S.yţůçřůĎçy<ţřc8ŽĂž={§V«16:ÂŚ€óçgyöŮĎ3::ĆŮłgi6›LNN’ËĺČd"v®ëěÝ;Ĺśgxx000ŔŰożÍŘŘŮl۶Ú;Éőë×9~ü(·nÝŠçťĆÚÚ4Ťű·j:Úä |»€¤PPčEőO"ôLŃ Č–"ßŔA•{Á4ŇCQ18ŠE­UAAP(:ľÉ ővóJÁÓO?Ĺ‘#G¸pá"ÓÓ·8vě8ßýîw™śś “ÉđÎ;ď022B>źŰ˛–D§ę˝˝=Ôj5:ť6===čşÎääŹ>ú(ív‡z˝–ş›”J%úúúҢißľ}<ţřcAČĹ ÉĹ#I‘äş.?üá1ÍH ëäɇc‘sW7ć>†şEMظáĘHU 4aSÉúX¦F&S ·Ż@ˇP¦ÖŇ9űÁ7ffiwĽX—RG‰&5a|#6ŔÝmÉr”śÚGŽ4Äâß(p]Ó01 C×±,ťÁľ'ŽŽrâŕ0˝• vĆŔ44tMĆŔ0¬Żű¬®¬39ÚËľÉ~ăó‡ůŮ™›üüŤ+¬®5⢙,Ź^dZ‡a C<ĎEH Ă4R'ÇóńCčř R„¨.®ˇ®iH]Źť•"ÁÖF=čjý3ź’÷ĐNĺJÝÂö;­ş®366ö@ÚdGnD*µ¬^YY!źĎG‡^qűj2o’˝5 ò,‹cÇŽŇq^ýu<×ŰYcE)\ĎŹŻZtHş®!ŽăĄ»]çŃr­i–Ťť‰Z>QĎ÷đĂčPŁŮl¦:1É|WJ$¸J|ÝUúyň})7^G"ŚŹ),ŚÍ €™tŮ |éţ^ní2cvc7vc7~mr=A.§S)´Xt ’^i]nĘyňQűtŠmE»].'řĆWmj EĄ´Ů9@Óş$F…˘Xđ)ä¬;jshšĆţýűŇ'}îą/¤'J�{÷N!5‰’Gy”źľňSĆFÇRP(äÉçrLMMaQ‚S)— cJ˛”Ťzťju•‡N<„ëz9zĂ4#ý“ľ>zzzŇD@)Ĺž=cé5JˇG=ÍĘĘ*««U ĂdrjÓŚ’×Á~ľôĄßHÝjyäô¦×˙řăŹÝÁťć­¸ŘGúiµ{)«:"NîU( Đ8=đ>?×OŇp$pńü6ˇ2Ŕ—‘PŻ×¦/3Cź1Ź^Učk€ďÁZ:ťň�EiÜö5Y–ĹÄÄDzM˛Ů,/˝řbTI’˝{§br‡ŕ™gžćÚµëFôšÔ8qâDÜ'ĐuÁˇCQJ1Đ?µ‚JĄ'J‚BĹ—ľüĺŘACDEm<N/˝ôâ&ˇ˝\.Ë /ĽHt’«Ą×ľ\.óâ‹/¦żW(Ňą&Ąäˇ‡Ú–Pś{J×5†3Ľ[»ŠcćK ĚTőoŻľÉ ‡Źđüa“ť÷ią;\kˇ(Ů‚?~Ň Ă<aí5¤ &ˇB#ńe…ĐÜôš7ź"KöîÝ›>˙čČ(�ý}ý!ČŘ6/ľđR‹4INj0=™.äói‚ü™gžIÇşP(Đ×ۇBńôÓO011ÎřřžčuHÉcŹ=šRđ{z*)KG×uöěŮĂČČH—SšÉ—żüĄM÷ťRŠŃŃ‘mď­ŻŻ€cÇŽÝ—µPŠ[ů"͡ă WPˇ‡X_D\{ö?Vµx~ú—·ľMuľůŻ`dśĐ´ŕâ»ČůY‚¨E©}ߡÍϵ怦i”J%rą†ˇ344Ŕôô-®\ąÂČČkkkĽ˙ţ»ô÷÷˛˙^^}őUÖÖÖ"—ËbY&ýdł‘&ʦE˘âů|žz˝ÁkŻ˝Že™>| đŃuŤţţ2›ľľ&&&¸rĺ ?ţńŹ8~ü8űěĺĚ™3”ËE Ă`rrĄccc|ýë_guu•ŮŮY<ĎÁ¶-^}őUžxâ‰;´bŢeq۵¶ŢqN†"˛•F3Âßő‘RC“‚ĄşFµ-¸µÚ¤T i;5ZźvÇĂ÷C”Ň€ČO öť’îVÇn¶†ă8é~ś0„XfĚTÓ%¦©“ĎZô”3”Kz ŚWČŮ:ąŚ*@“-fg—"k"jà €µő:Í–Cł=Źë¸č†ÁÇ+Ý˙8®,sţň<3ók4š.BČČîÚUh"j[’R˘kşťŤŢH!A#eař^€!ˇÓÖ§´ŕíZu]'›Éu± ďÇWÂFä>Îë_-ó,ar$ú'BÖ××Ňő,ńNŘĆÉ—€2Ý@L7óeĎŘ(µÚ!.śżëFíŽę6™Q©aH躸.Ń|r“Čq2oĄ„ˇÂşŮ-"ťúǡÓqcťA„tß' D¸i?ę¶·ÖtĂ´°-M×ăëă†^ ĘA°‰s;6 ńűŽr>5¦á.ł»±»ń�€1ů¬ddH±\… Κ­¨Ç5˘{BłĄČçV|8Ä?łlA.„FSˇ‘€oB»­Rw&)a 7¤TĽóéNRDۡBj·?5’šĆź>ýúиr đQî©đâK/Ą_?őÔS›6|yŹ6ľý|ă_K“Ť÷¤m[îtęő‘Ć*N3SCÔ3ăVç‘z@ä*aČžĄ:_z•żźű,+ő€Poă˘C Đ:P×92ü&b ±&!ç‚QuIčtĽ˛4žđpď8NIŞ éŰĺ¦Tę࡯ÉíďLŰž §_k©ŮÓ¦ź)Ô6ę¶”ËÚ.|÷iSĽ5MăHy/?Z<C¨üŚ©Ü|oéuNLść›Ź<ĚjSqöV€ë«”a ä-ÁoŃůíÓ:ÎňŹÉ5ÎE×JD'ÄQę¦1€°÷ÜÖm#ă“=µ%±ĚX,Pŧĺ‰3ËÖůw§ąąµlčţž~[ĐJß46ꤕö˝¬…BHtÝ 8đ$꽿Gx~$ÚűĘŠz ¬\ú9h9Ô×˙5¸Ţ~ţôßÁÔ!(÷!ľóç°Ľ?¨¤sôů|a“fŇN`ź¦iś:u*ýzhhŻ~őĄMżs¨ë>O??rä�'Nś�ŕčŃ#›ţNlúzrr€/~ń‹�<űěł�ŰÚ˝†††¸zőjjAžËĺřÖ·ľń9öěŮĂO<A¬¬¬ě°&îĆÇŻ‚ş2.ň<‚¸0츊VG˛´ÖH‹Ĺč#±‚ެ¨Ă0n%Öşo˙p8¬•a"cPŮ6 ,Ë$k›” }zËYúňô”3ôTr8ť==ÖV«4›ëDÖŃR ęµk«U ů«Ő5—ŃuŤ0N ĂÄ­Ő•OĆÎđřÉ!ŽŕüĺŢ:w‹ĹĺGŕűQ{Q˛F–Ęq.’R=*¸Ą®#¨Ő#|ü®ö äŢÓ4 »ëD¬†űXŕę:¶m¦k5weÝlţyÄľŘřžź“<­_'ŻÇ÷CZ­Ö†L—ëPÂDN@—D8·[Ǭ›-ăş´Ľ%�� �IDATnę–ůřcŹáą×®]Ź5ăîĺuF3[ŠpŔ-ĄěĹöŠXjĹÚ6ÄZ…dnm 1˘kÝ`ĆM ńőtk\ÇÁuťM`ĚN,µA)ü•Ám»`ĚněĆněĆ…ĽĆľIŤ Wš-ĎSüüڇŔř†® jux+Í ]ŕŠv[á¸püN± đ<ž x묇ëFĹĄi„Lî‘”ËÚ]“ôE BňI“4EWҡK ]Č|¤˘¤&ÓSdń3iüŮe -Đ_ˇ{źµ/“ËĽŮ:Č „¶˛É*Źqc™SĺËś(ť'ç´PNЬë(a´ó¬÷M’« Ç'©;9lä!!ˇRř*DÝ6Ť¸żE™D I‰&ň=IŹD!%§†ŽRĽ’cŮw6¨ ©:5ľýÁ_óÇÇ3üĎŕŐK:oÝđY¨) “}’'÷|î ĎµĄq˘ú‘ŞgĹóVa{ѲSw™9ŕ©Č•äNŁu?çŞD   q>đ÷V #%ňŔăféµ#qŇę |ç‡ĂO#žűc8đ$*[A(P_ü&|đKřŰ?G~ű˙„N;. huęId,€{»űik‘±ő÷v^˙pÖGH4Mcttô® ™”’Ď|ć3»öÖźPqaÜv-2e!$Ĺf7‹3ša\ĚG{ox¸®ŰHX‹cC—E�š.±L“RÁf|$ĎÉcSě` ?G»U§Óę077OłQcqľŤ”ŕ8&öŚ‘ÍîˇZ]ăúŤitCç.Ň××ËâRË2dfv–VłĂŕŕ�ťN‡\.Gŕ‡4›-¦gfćągöóů'pć—7řá«çY©¶•jrD�atč!c„I&…vŕAjiś°e‚ H´E+R[˝OcĄb‹ůL|Mď˙úôÉĎ7uŰç5ŚČˇČuÝXäYm·6ŔBźFŁA†©.KČ4›M:ť…B!s„<ńÄ“ř~Ŕ•+WR7Ż{Z“×ظD€ÇF{DíN‰c‘`3,Śő]¶íńÚ¶˝˝4zźžç‘@đăŕűľďuµ÷mĆlÓ×R;ďÇźÖ:ş ĆěĆněĆnüŠ �ŰÖ9°WgřśĎ•A�®ř¬Őăc’űtGńî~Ä€ŃA×Až¦ cŁ‚0P\ľpífŔÂRHD'W˝•€Ă%٬qŰŤ4)R×ý6®ďá…AWr(ŇľÝ Óßť έ?S›>Űál?~H]jä4[Hä=c÷oĂTw}žd˙6l‹â—béŻŢF¬9©A¨Aŕ#AÖS<ˇ_eĘZbÉ(ăSúôjëô›U2aÚ‘Ş˛r50tüvž¶ŃzřVˇ'uŇşťĄŁŻBšC;p#ADE”ŕĆcu/Ý÷; «;ŤUüűRH2šANŹ´rÄŻčľą[q:Ţ;ĘS=ń·s?‚¨g<ţąă»śŻ^ć˙>÷mľĽ÷ó|í‘Çřě!›Z[  č-„hÚ /_˙1‡[GΞŹŢ§ĐŁÇ"% ´nîJŮľŰűŠ@)ZKĂ0¦kR»ĂHlżîęžF° 8ŚÁSęä5 MŠűÚ pżÇs#Ń—ŘC“´úPj˝#Źx-Xą‰2lČUŔČDvĄRC•z sĐjBé()ńrE´Ź 4ýžćN†Ôj5ŘżÚNây>333”ŠEŰ˝Â0daaR,t~»Çźźź'ź/Ëe?´ö„”ňž„¬…S¤|Wü÷¶sBqá¨!„ž±�şn†;»E˘*nµÇSh)¨cÄĚ´\Öd ŻŔP‘ţž}yŠy C†dlŔwÉYş¦XYYŤ„Ŕ3ĹÚť¶e±¸´ÂâŇ2BH Ĺů|žµµ5¦öN>˝==8ŽC©\bp¨źZ­Îňň*¦iŕz“Łt:m˛9‹R©€Ĺb–Ď=ą—S}|˙•‹Ľöć5T\DGE~Âî&€Dđv3َ‹y«B‚ ZŹő„ĺy¦ŕ«Dt1KÔmď»0T·l>mP3ş. ›%›Í¦L—­6ÎÝî} ó%ŃPńýh-ět:4ŤtLŠĹbęĐ•ü}ˇçá‡OÓÓÓx]ŻáN€Ń¶ő{ËΕĽ\-yť;ěmt±·>G dÇÎ[Q‡“Ok)9ŽK"&>Aŕoî_¶1[5rş÷đR©´ ĆěĆněĆnüş�2ş.™·8rĐezÎĂqL_1·°´rîýH ±ÝQń)8¨”Ş„Šżűž‡¦)\|?;SFŔÁ˝‡ö1tyŰ#T!5ŻCĂď0[[ćŤé([y;LĆ´şś>Ú©đťţV)pC'ô©‚¬4HÎEňú5]Łwj”ĺ?x’ő_GTr…6š)Ŕ—-ÄĐC†µCZ=/ J!˝ˇ4”'˛$®—Çk÷P?uóĐItŰľăuQ4—šŰfµSă7Ţ%P!ź™xR&őî·ĽÜćJ*±ÁLÚ\’% ŐťGŔ ŁÖźĽnŁmŘ<0!…$gfřçżÄĎćßbYU bÇŽÔŢŰmóöâ\¨^§ßţ˙8Ú{=Ĺ!ßăňŐk\^»Ęa}‘oŽŢŚĄz%sN!GîĹř2šfď ž!húj^›†çđúÍ÷©9 NŽ`¬ÔCYEx‡kž4;MpYb“vŰ1Ž‡Ä Ł„Ľ ¬řäZ}¬ů˙‰ßcRbf 4Ź~nžŮX$f.Ŕ˙ő?Á _üď˘wřł—˙ţA]ą€­^‚PÓ©9Mľo`ÇČťŘ*ľpöě;\ąr™R©Loo/J)Z­Żýâ5<�JĄ"ľďsîÜ»=z„ˇˇˇM_÷š÷ţű05µËE×µą˛ Č켖$:ŞëP‚”I\z’v´MClËš±A4]ötLC’± † ŚU¬00'cJr¶N»Ő@Ó4nÝšÁ%|ßĂó2´Ű‘“™ëF €fłA­·(Uk~ç».`lĎ(}}=hşF>ź% Cn\żĹÂÂ"ĄR ĎsÄq|/ ··Śe–­g~ąŇäs}=ŮHŽ[J”ŠX?Ýí™I±»„ŮTčĘ.ŃâĹá8ťű:‡7źµµµŘý­2D"-Á®_żA___\¸©öJŁŃ “ɤc™Ř\-ł»ĺH �cFĘ`‰Dz#×»žXśóúµÝ .q H˙m·Ű©ť7DşDžçĄ-މľËŔŔ�O>ů×® 0==ĂjµJ§ÓŮjÜi˝ÓÁ˝®}›�“®D1”ŐuźEÖŮQ+Z2'ٵ3đ˘Ô¦–¤ťŢŹ®éT*eNž<ą ĆěĆněĆnüú�2ÍZ<őh‹ë·|.^1qÝč„Ă Áő¶lR„i±­A§nr„Ś¨ÎŠ±a—Ď=%ÉfÍŘŽrçüĄřÔ}‡++3üŐ»?áP˙8sŤ^ľr†±â� ďçFuŚ•ű C•RŤÚélm™¬™ĄlgSnĹĹĺ[ôĺĘśť=Ďł{‰hË2r”đĂ�?đy{î"Oî9Ú‡%ôşeIHn™L|őq®\ś˙ňKü°F.×D7}¤ć"µ´!â$Ud˝Kôo(5:N×ď§±oďń§éAŢá_ř´‡›ëóüçł?ŕĐŔ8–nđ˝KŻ3”ďáŮ}§ą´| !ÅިŤ<űÉßc±Ye¤Đ›Ú˘6Ý—fčÉČ›6•l�S3UHÝi±Ô¨ŇźŻPÉ©ůlÍ@ }ĂJúŞ35McrpśŻŹ?ÇĽů^3˘$§ÉÂCÜŔc˝SçFm&mç CSą|ub…˘ć“8'Ĺĺ I(‹4ĘČ`ˇ!wn#ńBź†ďĐô]ţן~›ńĘ�˝ůgnľÇŤ\…G÷C Ĺ™[pjô 0¤ŽŹ‘RŠ–×!P%»÷é+jť&ŐvŤ¶ç0Ő3JÁÎâ~Ü–$q—7¦Ďó™É“ßWRĂÖĚ H5]„@&ňŃߤýł˙»1‡ôÝ ›ë•đ—˙nÝ�QDü—˙„ş5ŤrťŤé'~ľ„űµßG·m¸Í˝´µ�P*äĆŤLLLríÚ5<Ďăďţî;hš¤Ůh2<2ĚŮłżäŤ7ĎđôÓĎĐl6©Őę\˝zŤË—ŻĐŰŰËłĎ~žżţëżBÁh4šĚÎÎňýďźů/˙ś^văA„¨6\]Ô¦źl°D Phš† şu]’Ídł•JŽ‡ŹŚrhß {†KŘVÔędY&š„wÎťçęj•|>O_o…÷b™&ŤFV«Íűç/Q)÷Ňj5"Ň ň\źjµ†ačärY.]šctd\6GˇX`mmĎóhÔ›,,,3>>ĘęĘ }}=”+Ą±‰żÄíXí¶G»ăRk¸,,5xçýŢż8Óq!Ö 3 =›ŇD&^_ÇA×´ŘyjCpUÄEuä¤12±%&đńµ«Â0¤Z­˛°°€çy VVVPJŃÓÓĂţýű©×t:NÜvµ·Ôj5šÍµÚ:–eS(äŮż?SSSź3&rŮÓ1 V«•2[’Ö¤híŘpâB¦ě–n`$a×4 lۦR©ln‹5VjµZIJ˛í ŇčgppV«Íěě,gy6ľ&ÍH7č.L™äÎwČaîŔÜiLđłűx*úY"­vfŮ$�MסÓV·‚B±Ŕ#Ź<˛MżkŚŮŤÝŘŤÝř' ĆD;ÂČp‘—ž_¦Vo0=›#ocżš橤úM€Ń„ ô´ůÚ—}Ć÷ Ü™/Ŕ :ľËŮŮKšâń=Gą¸t“żżđ {ň(~peešőN+Őęť&{Ę”­<ď.\eoßßy˙U*VŹ>Í/ç.Ńź+seeŽăC{yůŇN îăÜÜetÍŕČŕ$ď/Ţ é4ywţ §Gˇë:NŕjaĚ>ř•ŚĆ=Ť—fęä†zúĂçXXsń~rgĹ [haY†ô‘z€!JŞQ*đ\g=ŹëTh¤ţÂg;uÓ2w<MěN´‚0Ä ޸užŁC“ś9„ă»üů;?`˘<Bqee)$ż¸ů.»@O¶HÖ°ą\ťa¬ĐO˝Óä§WÎňâŃgXjU±5“=•~ÎLżĎľŢr†M„¬»Mžš8Îlm™ó‹7đ€§'ŽS˛óQ›N‚¶Á§A©mě€{MĆî÷=%Ą$cZĽtô \kLóŁ…3¸ŞŰľs$˘P8›&eň…R‡cY—ŚŚ€O…Ś?‰§ ,Z@ßžĎ#¤¶ăýĄ” ÜĐçĚ­w/÷ó™É‡„Ľ|éLv‰Ç÷řÉ•·ń€ĹĆ*ĂĹ~őŤóňĄ3ôeK4˝6תs|ĺđ“\\Ľ…zŚäűXhTYk×(Ř9ŢźżĘj{ťÉĘ0šÔ¸°|“¸ţOŤG—:~â…!¶ä7ÍB uÂŘ>VľđŻ©üäOɬÝB„a4ż‚�VŕĎ˙7¨+h€pşUĄÄ+”Xú­oQţÜsMżçö ¤č€¨dnnާź~Ўˇ!ţâ/ţ!§OźâСC|ç;O&cł´´„ëşüöo“˙ú_˙ŠK—.cŰ6/Ćg—.ý ŻĽň ň'˙f‹öwĺw7ăí"aŕÇ›í¨»µ:˘y+c§#I!o15ÖĎřH…±ˇ2˝˝lK'c,..˘… Ţyçý}˝A@_Ĺ|=ŁĂ ö3=3Ź@pĺĘMzzĘĚĚĚR©ô`[Y§@âş.ą¸žGąR˘Óiă{÷N˛ĽRŲ-tM§Z­’ĎŰ”Ęyô!,SG×G#PY):Ď h6;,,Ő¸1SeznŤĺŐ&ëµ6mÇÇuA 1ĚBřHl_Ë»Ö~˲Rëjß÷R«n)"}bF‘f™‘€oĘř¸sPÓ4) X–…ďűŚŚŚĐétČfŁ–ÁˇˇÁxÜ´ô°ŞÝnł˛˛š:Ąĺc{ůOZÜ<‹–eŃétRŃnDÍuÝHŻQbóaÚš”€ív;mo*•Ji;R’?$1ą&¬ś p'Ňtť éëëáKżń<®ë˛´´ĚŇŇ27nޤ^Żo8/ÝfźßĘ<ÝŠÄé~śDşÍ­š¤Ű,ş»tan§ÉcŮ{§¦8zô(ýX–ń©,1»`ĚněĆněĆŻ€éŢŚ4Mrpßüę"ßűQťK×3¸®ž¶#ĄÉJŚÁD'Éa|Ú”$; ]ÚÓć+Ďů?6„v‡ö¤„t­âÓ/đXm9üÍűŻĐpZŕ…ë<5q…˘á´¨;-žž<É_üňež?đ8u§Íjsťţ\…Ł{ąRťŤXÍ*µN ĹJ nŐ–x}ć<Ł…~Z^‡éőEľrř)^»ő^t*ˇ@ ż’“űŹ&®Ůw`”đOž§:TÄyůîĚ †t0 ÍđĐe1 j„ˇÄwL</“+Ň~rń/aěó'Čćł›¨Ý[“†msFD ‰ď\řęť#Ĺ>ćj+›~çÜěeľqâYnTçcwť‹K7ybňËśŔĹő=^˝úżsę9Bü0ŕÝ…«RG×t~vý®®Ěđů˝§ą˛:ły*Š€Bµá t·DëOt4‘ňżwě7ńź×VÎQ÷›iš·éĄm 3Ś[/TÚô %$"eÓHÚ PĎ~…Ęľoašv*¶ĽíëęŢjz.Y+Ë.˝"@JŤj«„(nčłŘ¨2ëáÜěe2†ÉJkťŚa!…äp˙kí~ŕss}Z»IŃÎŐVŤż|÷G<ŕQ~|őm† }ôçËiÂßÝQ2úŹ�IŠÝÎRţâďłž+áüâŰ䧉îÔ6ŢCüŢ6ÜR%ľaŇŢwöWľIţ7˙fˇĐ´»‚1JEÂgÎśaxx8b4ę¦Ĺôô őz=‹śťťĂ÷}úűűZ­vtŻť;‡®ë”Ë%Úí6çĎź§T*aš'OžäěŮłT*e …Â-˛«Ä..Ó]Ćó#´Ř‰n«sš¦I 9‹‡ŹŤphß “c}r¶ĄQ*f°-ąąeÖk«şřAŔđđ ş&1-››7gazz†B!O­Ö ź/°´´‚i”JeśŽ·Ět:}ý˝tÚm†‡P úű{p\—ńń=´šMlۤPČS,ĺŇĄľçÓh:´:µZ‡ůĄ5®ÝZfa±ÉŇJťZ˝C«ăođ�c·)u„”Ě’&ei$k©ŘâJ#Ôf^)RlkcJ3(JŢ·µ¤P(P(n»•ËŰ'z©T˘§§ĄTĘRů4Â0 ÚívşÖ$Ŕ­‘n”®o¬" + 1ĂKŘ3BMV X“0c’ď)Ą0 bki•‚8ťN'˝~RJ …Ĺb‘ÉÉ >Äěě7oŢdeu5ŽÂ`łď¶öĄ.á{§v\¶.ťŰ~/^Tň˙övĄ®ö^]×Éfł>|ŁGŽP*•âÓËYvÁÝŘŤÝŘŤ¨‘Rbpüh?ąě?ýE‹wϬ×l‚PtYn©÷H©Đ¤˘s8|ŔĺsO:Đ‹ľŮVÄŹĄK‰ˇéLőŚđúÍ÷Đ4Ťžl‰ąőe>;y2*ŽdÔ3ťł˛ôçĘ(Ăbąą†.5*Ů<7ÖćѤäFu˘ťĹÖM–škäŤ ŐVŤ–×aÝi°·wMj\[ť%cH!ă í©Ä]ÇK™µ:±Ł”cůŕ0«?ř�óťY2Ë-d;:A"vP:`âćmÚ+§¦°_:ÂĐ‘©¨?]ŠŰ&2Ýß—R˘ ÉDy_Î^ }2¦Ťă{ěë‹r^!ŃĄFưčË–™ŻŻ’1LnTçY¬­ńą}ă‡!óőU®ŻÎŃňlݢÖi„A¨hąMÜŔgŞgŐfŤůú (…&dšČl¸ôş5ž»uL~U…§ X†ÉŃáü˙ŚÜ{~´x†¦ß" ‰îÓ3 d<]tx¸ŕctŮX+ˇÓR´ żIvôkdr•¨@ŮBß”h ‰.4ŽNńźŢţo űh8.˝ MÇő=t©‘·˛ {¸°t۰đĂ€kŐ9 ŚSw:xAČĺ•<ĺÓ›)âľ Xm×±u“‹K·čĎUĐ5ŤĹFMj©m¨†ŚßË?žşŐ3HńsżMch+ŻţgĘďü-fł 2@$~oB 4 ?›gő‘ĎŔןěÓĎaKHMűP:C;v !ŕćÍ[čşĆÜÜ<J){ě1†‡‡S›ŮG9ŤëşÔj5 Ă`aa‡>ÉČČ0GŽI5Nť:EĄRćňĺ+·=ŐÝŤw_ŽX:ş.CÇů$…˘RÔ84‘ç±ă ö˛´´ĘÍ›7hőö08ŘG_†ˇ‘bm­Žˇ›üň—ďR.—™ź]&›Éáy!JI Ăd~a‘l&eš,/ŻR(ä©×ꌎSŻG˙JŢAčăyQ+_ˇgp¨‚ ˛Żö�× čÔęŤ6«kM¦çÖ¸xm‘ë7VX\Y§ă8ş‰ˇhşľŃNť"Şţ"á#ĐQXŃrŻ<Ŕ'$„@m*ę5)ŃL˝Ë5ÇOĹŽS¦‰‰ĚýŃîŕHt×u'nŰů´ç™iš¦™&·Ű˙»ÁăN'‚@%—ËĄĘžçms"ęÖ¤I~–¬IívĎóČfłäóy4MŁŐjŃétčt:©ÎN©T¤ŻŻ—#G±˛˛ĘŐk׾5ÍÚúŽăÄŚSµI?čNărw�¦ű1ÔvbÍNnHq+ÜĆÖ®¶ĺ˝BF9÷ŕŕ ÇŹçెŽúĐBëźD¦ąĺvă "ţ]˙&ZüˇÇ&`�eŐZújwóŮŤÝŘŤ\‘ôAÔcëůťŽC«ŐFš9F§bw…»/ŘÉ©šă´)‹wÜh“ßY[ďpĺj“·Ď5¸pŐ¦ş–G)#ýI‰¸•suöďmsęˇ,öĺé©dĐu±ŁŢÖMIŮ#Żx-Şíçć®p­:Kư8Đ·‡Cýă ëí:ßE“•L[k T2EŞť:YÓF—u§EÖ°iş-ti K‰Ž×&gf¨9m4)éɨ¶‘[ŕ1Ő3‚&$e#G^7SÚO#”R¬­Ő°, MÓ‚€ °m3u¸S ”"đÚ­6őŮejgX»0CpqąPG¸!J(g`˘—̱QJG(O-çŃŤřÄńNăÔý\„T˝6«í—oq~é&ˇRěăpßYÓfĄµŽ@Pm×.öŃtŰa€ëű„ z™«Ż`j®ďŇ \&ĘĂL×–(™ąX 7ÄóúňÚKŰu15ťžL‰śn‘ŐMĘf ±ă Řť“ŞŹ~_6­¸4Rqžžň¦S·îĎW/đ™­ÎóĘĄ×ůËKßĺŞ3‹i˙¸ ¦€CvČ˙<Ůât!• &UN#ľNaŕf¦Ś¦éwµ •˘ę6©ů.,ßäâŇMÚn›ÉĘ0džö‘73*äfuž˘ť#cŘT[u V–ĄÖ†&É[YZ®‹!5Z~›P…äôLlkŃMš^” cŘH)hş:žĂáţ‰Řýʤld>–ÓG»fł…ďX±µ´ă8†N&cßuśÓĎźŔ÷č,ÍQ?ű#¬ď˙T¦?@[÷˘6Ą–F˝gk˙ěŹ)~ĺkŘc“h–YdKyĎ–ÖÉs&ż—|ÝMĹßpUS›śsş Đ ííĎŮmçú íwµZ˲ѤνL“ČFŘcqć:Ęk“ÉŘX–‰i1€!·1HÔH,‘¶ëą´Zm.\ťĺO˙ßźrc¶Šç@›ÝďMjĐ[48ľ·ÄŘH‰C÷°wrŰ2č´}>¸p™ţţ>:ť=˝enŢ&_(°0żŚah8ŽG˙@íf‡rO‰›7¦ĺĆÍiöďźB©žž *0M M“X–ŮJK‰¦ TµŔA0^@˝ápcf…Ë×—ť[ceĄIŁĺâxAâ‰Ř)é¨PšŚ€Ě®‡íă(BhaÄBÇ~ Řl¸ä$"łÝŽŚÉýŞC×éŻäůďç4cC˝d34MnȖߍŃćű´]—F3ÄĚ ˘é˝˝•M÷Ů?»wĄőzv»%­|IîcĂ0°,+fri›ŔĎóČd2¸®›>^«ŐJŮ3ÝzVÝk[˛&"ĂťNÓ4±mÇqp]—k×®Q«ŐX\\biyß‹DţwÚGîĘŽůvÓŰ’TWňöV©ÁXćđáĂQ+Z.‡ię±Őw¤ťăű>{÷î}X<Ŕüř#?®Őőo·°”Ú~üŮu`ł[níĆněĆn<xš‚ľŢ,…ĽÉţ}9—ZÜš^af6d˝.p=…i(J9ŇË044D.§a[ĆŽ Ôť6@MHzŤ,R);ġq ©“1,´¸ŔčÍ–7ýÍţŢ=�ôć6,�r•řłŢí(ż‚ÁüĆnT˛ó©ţŤ†$«[d5÷˛§‚źx‚łyŁŢjĽsQÚ] i†F®ĂÎe(O Ň˙ôaĽzżŃ! ˘÷bd,ŚĽŤYČ`Úf”HoušwgähJRÔl„'÷3YFy3Ű[C_6“ŢX„7gl/~÷VF¶}ďP<¦[Ł \D™H˛šAA·~eĘ>wJČÄ×4qÂďĺ…Żpjâ8Ż\xŤźÎľÉŤöíĐ!D‘ÓBľÔë˛?o „A',°ěĂ/?GĎČĂŘą!tĂÜÄEg\w�� �IDATŢR‘ŔvŢČ „äp˙8ĺA<ß#cXXzdU*…ĆľŢŃô1ň±“I)“۸şVó5/â4©éTŚě6ĐěÓŹŹş&Ź!5!5˛CăĎ~“úřf˙î?0ôúw‘2důř#ż˙?ŇűĐIĚRoęśôaŹ­żűń4"ä?Âť'^×îŕÂöëJmXőFĚB˘!Yoú\™®ăzőz‹ęjŤcÇöR.(WJś?™ÁÁ>|/`ph0fTÉŘ‚zŰfue•~˝‡ţţ ‹?~¬m!P¦N&“Ç06@ŕČ]1 Ý pŹzŁĂz˝Í­Ů*7fVą>˝Lu­A«íăů TĚjL¬źcFJ*î/AĹ"ŻQëô÷ž¤â x]ŐA(¤đAč‘AT"Ä»án?SW‹µ‚XÄ×uť-őëÇ[wg«j`L÷ű‰�nµéŔ(:¬hŕű~Ú––°‚ Ŕ0ŚPB°¸¸·RšŰ5ÝëarMmŰNŰó<ŞŐ*ÍÁýű÷§.P+++ÜĽy‹•ŐUZÍžçEVďwĐąs/{ŠÚâ–�1Ýî^RJňůcc{8yň$ĺrŰ2c¶– Óéŕy LÓL«O:vÁÝŘŤÝŘŤO9Ů˝ťĐ§¸MQnY:–ĄÓSÉrč@oŞ/„Hümé¦Uîh%y‰‹Â>+OÁ´ńě"ź´=N˘SŁI‰.ulat±•E¬QüÉôîîtb˝Ulîn—m+@×54ÍŽhν*"µĂcމ†|·°4CćČ›6˝v®«€R|’-BL©c Ťt”ÄťŻíýLE×IëĆ÷Ř”píTdw˙ĽÉslä ‡†öň{ÍŻqsnš÷ć/qł6C6y˘W°H‰ys/ůž}ô c p"SÓçQŞ 0Ą†nfČľąÁÄá‡ŰKäŹVX›BÇĐ54>]¦ŮöÖČDôT|ä{Ujf¶@ϱÇhŤîçĆé—P®Oˇ··4 )µ®y"î ë×bgę˛lŢ˝^;ďS‰ŰVnˇŞpH<O0łěRoěiFŔČjµÎĂdb|”B!Ç{ç.ŕůcŁ#ŚŽŽ21>Ćňr۶°,۶°3““Ǹ~í„…|ŽlÎŠŘ Â�×§Óńhµ]ÖjM–W›ĚĚ­qéÚ×§WY[oˇŇÜ@˘Â¨(—Z—µ4‘Ä‹›[ Đ"]— p]ŻK''ą‡5tÝčŇz!bĂ(ŹRVTbŞ!|6‘Ş0Í[Ň6–ĺxź»ín éAťÓ[ó‡Ű囀6~ײěÔĆ;öu­VŁÓéÉdbFbĢJl­Ă0¤ŻŻ/j’–Ądn'¶ÚÝš3É~šě©Éßš¦™¶JU*9pŕ�Őj•k×®3;7Gµµ1%@ßíµ^>úuÜü]‡eš†eYôT*?~ś©˝SŘ–•Î;M“é{Mt{>-×»]0f7vc7văSNëş7µ­íťZ=Äm{ŞŐŽ%ۇb6®H,a`é÷Q´NܦĘdł›čĘ3&ŤŘúKź`B´ő{w>ŔąKOú@I°Dř8`EîXhź°ËĂNCůaOη&ťÇi)˛·ě.şĺŽ÷ŐíÁśŤS2Łhp8›c˙ä>Béčńc ˇE¬ qűv—Ű%ÓbRń$lˇ¦Ł>Ő±źşĺřN�U·‘ƇX·*"*}łĄĆ?˙Bäd%ĺSi · ,Ü[D,‚ŰkýÚîŘq‹ĆĆş±3¨ř>Rj(ëÍÎ-‡µFHÇ]b˝Öa˙ľaŽšŕłź}ś7nqáÂ%FÇFÚ»Ó2Čdm*•ý2 Ű49th_ü$Ž9:9ŽÇZ­Ăµ[Ëśż<ĎŐKÔę:އçG˛şˇ-{MJ)T¨đ}/e !"0Á&VŠ"e1H)Đ4ID€ŠŢý·’Ř@ ćŕĹ›¶NĚP€…aŘD…Ó@ ŰYGk°@ …¶ĂâůQן;ç?ĘüN\ŚşŮ+Ý lj,·u]Ç4ÍmëZÄ\‰�·LŘ@$Ň}I€z˝N­Vöm˛Ů,…B!}îdŽ'Ď—<†¦it:lŰĆuÝ”-Ól6Ó¶¦Dç&aËhšĆúú:BŠĹ"'NçÔ©‡Y^^azf–k×®±¶VŤÝşÖů®ˇßŞ­u·Ľa{›]@Śddx„‡:ÁĐĐ0ůB-ľ'¤¸®›2†ÇAA˙§ć|· ĆěĆněĆn|jJÔâQ@5¸K/ô˝ťęn­˛îC‚Ń%ľ*n |¤ę=ů\Ýţĺv›x$”čO#!J6®µ ULëŐ?h°ÓÝ/�fÓߥĆ?âÓoŘ®Ý[Ą˙a®ÉíÇ*ŇCHN¦“HĆ\.wŰ{f' 3ąÇ,ÓÄÂL{ÍSC|4€sµF޶'T—ËÔŽ7Ă' ü* ŤD{)ÎŇÂ5Ň1Ľ——ą}-h†D3ôčÄ=ĺ…mgiý*ťĽü=iŁŔń<Ź.Ľk7şn_)d:ݶÎĂDP_Ó4B˘‚Č ¨ăJćWBęMʵšKٱdŽ™dxxrąD˝ŃD�˝ ÷ó˙ł÷ćArw~ç'óuvő tݸI€7©ŃŚDI3’G#ÍzN;4Ţ]{ě°wíuÄţ·n„wccwcĂáÝŤńzĂ3kŹeŹFŇHňŚ.˘x“ŕHgăj4ú¨ęşŢ•ąĽ—Ż^Uwă  ë§€�vW˝z•™/3ßüţľßśëĆ, ^ŃnÇď[޶¸˛PçÂĺ*..qţR•Ąj‹FłM«íĹ€¤­™…P E¤{ ­5R”[Ú)4t1\b6‹č~í0!b ,­"¤ĐH-;sťČX§‰t„Va"\ď ¤!=V„ ‹çć<Ł'¦”"—Ë­ĐBĐn{DQ,*\(R­@€BˇĺŚř­*Ś~V†‰C[gŽ3ź×l6i6›©Ć €ëş+®†!¶m­�/ kĹüÜĚĹccc©ŤułŮLEy �bÚȰ] E±•ąďűÔëuJĄRú^ŕ„a~·JĄ’‚2†e3>>Fe°Â¶ťŰ8{é ł—fi,4iÔ´Űí´|jő9[_€éĽÎôm޶aÇ®ÝěرťBˇÜ_§}Úí6Žăŕű~ Ä‹ĹŰŞëŐcúŃŹ~ôă¶m|%–eăű!–aŰrÍ$ţúŹžŕ^óŞ7{c.®ţ«®ď~1aâűťéxóIr˘äă8ö mČn[,nM÷Üđ=č[ßGfŁŞ”¦ŃhvťěJ)±m›v»…műärî %ă·ŚE!z·ş ¤âcď˝[Ţ_ív;Ýô¦ĄFR†!í¶G>ź»î6_ýu"ŁEŃŹŹ>ZwŚŕîÇŃN+×ę¬[K j­PˇB …Ň’0R´|E­Pkx,.ŀ̞»¶°izZ€Rš T´ZíV@­ŢćĘbť‹—™ą¸Ŕů‹5.^®Q]n†Q¬ –ô“eą ‹3Bk+\v‹—Ʝ=!D’ «”aŃŢU{ăuQI¤˘Tě8}¶•iŐY›„DH°¤&Ö?µA8ń\BuŻoÁ ĂÓ§OECCĂH)ĂĎóČĺrT*ęő:łłłřľĎĐĐPÚ§Íf={öP©T>Ň=AŔüü<ś={–ááa&&&REQĘĆČçó]ĄožçqĺĘΞ=ËţýűS‹íě1O:ćšĆĹͰkŚĆËŕŕ Žă¤}gĘ• ĐbYVş×é\?ާzžG»ÝŽ]6GFş>/[˛ÔË®Š?Ë÷đŹ@DeꉭëŘľm+^-`a~‘Ë—g©VkÔëu|ßĂ÷T÷'[Ҥµę3ëeIlۡT*R,–X?gËÄ:Ć7NăóX®JJćĐ ’˛ŞŘ•*ĚrąÜGŕú`L?úŃŹ~|bÁNím«Ő$źĎcŰÖš€L÷ĎW»^ŹĹµřť'vQJÜZ:q„´Z-„©žůcŰ6QQŻ7( ©d?QYŮUâ;ł‹O9ăä>»)5 ľă8iňźËą7d§ąV˛źnôzדĐ}Z“UĄ4­Vś8:‰łŽi?sZëy±`g>ź»ý@f?Ňu%ŠÂ乊ő®ú:;«Íq:efuÂâ„5ęŘä&zR+ŃFŃ A¨ą4P­+–ꍦG«ísß˝»q? Y¬¶x˙‹9v‘ă§.łTmĆ×2¦ÚkâZ˝€™łJ˘0B©hŐdŇ$ŕ&Á–RƢ­€Š‘Š]©k|‹Ř‰ĆĚ˱öH”ĚÁćY7s§ŚŰD$ş;„HR4Jç‘ÂÝ2Áh#(3ńd"8«F©xţń<ʉ‰I.^Ľ”ÜÄ‚ÂńőŃÎąą9‚ HĘrVÎű«±0Ě~1f¬‰”Xkťę<—’v;v[*•Jäóy\×%‚´ß,ËÂuÝ”ŮbŘ2†ÉR, Ă1ÔjµĐZ§eM02š2YÉ\+źĎwéŘh4‘±ČÖztKÓ¨7B°yÓ4;¶oMmŘëő:*R,U«,..Ňl6QJŃhÔY^®§.QëĆÇ�M±X¤R©011ëćHž” <˘ů řËU¬ˇ˘ŇNˇH””˘7Ť42�“ŮöÁ~ôŁýř”1FÓ"–——“zlk…uęÍHîävJż‹¸u"ľZ‹ÔŇqśz#fł^ŇWrŦéz“ëOsbŁ…@ܲq»|¨ÄÝöݔnŢ{2 ě4›-Z­V*:y»ž‹ě¸Íş)q=6žź’ůÍ|ĺř$ÖN7ű˝Ď•Ó℡‘(vě űq»ŔŃĄIae\¨ú‘i'Ą‰THF]ĺŤńx6˘¦‘j v Ôqr)µmŃö43—Ú4š!ˇľŔĺ%ĹҲĎĹKKĚ-Ô©7<Úm? CB`I‘0K®˝–HŰŠ?3 Ó×fK+M‚Ů5wj2k›&ŠB”]c! JkĄ»ćąMaĄâƱŰT®ˇS~$„Ś× ˇ’u=�˘µŤR‘˛nzŐ¦m;ěÜą3iALN®§P(&ěʸFF†B01±>ĂxŇYŔUA>źgçÎťX–ņ z¸ń!«­ +Éu]†‡‡9xđ ů|lĐ»˙űDt4FŤaş ®27ĺDĐaÂMĎóLŮ:ív;ĺ5 !s ß÷Ó+ uj2ŽKĆ‘IHA;jÓ˘E[·g 'rpжe§š6醇q—±±Ń”=Ź­Xó<ŹBˇ@ˇPHżi3™jÁäRŇĘąř¶Ť3<‰ =dk™°QŤžf‹ˇÉ)PV˘?Ö[ňŐcúŃŹ~ôăS’¨dOĚ‚fNŞbQËNţöQ’×;?AČ|ťęáߌ+g6ł۲‘®LUô{7ŮťľĘcŰQÔ±ű\yŻWżÇOw.®o™ň‰­%–ĺŕ$vŇ˝ c¶üĹü?S±¶LŻűÄí·˝cřÓ_DŁ;'áR’ËĹĄ}«f©prâ쑥˘«>sÖ˘Î(Ą…ë&ĺ)ýň¤«®ß:Ă*Y­„gµ’ať$Ľ1ˇ‘DJpiŢgˇvŢĽ„ç‡iŮE§äIJ%JéŁ@ö|fŔ›Ń§2?Ď ąĆ%HÖZKbf\$ş0 řťjĹ A‘Za÷jÉĎV*Ö‚Ň S&v±–™Ď‰H\V‹ü(iŁpoŢ�ÇčřHlűú•[až“2z× ŰvşśţĚŢĐ�AfŹh†R@,­Ťł64FĽ×�$†­bĆMÖÉ0M ŰÄ”ŻAGŁĆ�ç�Ĺb1ŐŘË [Źh4-4Ť Nť&9\FÄ(¶_ŁŃ†!ĹbĄTĘBĐl6p]—\ÎĹqěÔ `ýúőé=çr1ł)ŰVćľÂ0ě¸<ĺ 1KK—PĹ Ţr UË%ds™¨QEËh'‡e9HŰľm«vŚéG?úŃŹŰ0č ŚY„Wl¬úqËű ·/ÖŇęÉn8ĄTéƦ·/z“ź«YWgĘŽm˙ŮşťI«IÎÖ˛Ďöˇ9î÷Őíď§µćŔ~¬Ţ^¶mŁt,ěľFţßqYLŇĆVś¸7˲RׯE’µŹ“mŁqQ$ËŮr”ÎgĹk’"v(˛$–î¸)™˛‹úXZ'˘ůY'¤+&.«QŘŽăŘ]ĺ†]sqr KvŇĘ0 ‘Z_Jd4ß5*ě�[1PDl}ę]Er_A"Ąű‰W–eŻ�i PšËY]Y§4¬Ă|šźż’‚1ccc”J%\ץÝnăşn:N xa„› ŕÖ j4 jµ“““ią‘)Ż ĂZ­†RŠrąÜUĘ 'LŇ–\ ®Đ›lÎoF$"×ŘÉž@çwĹb1-nµZÔëőT×FJÉččh ° šÍfş/3�S>ź§^Ż“ËĺŇď›jÜŤf;—§84ś–oYĽ+°ćÎpF§ň}kë~ôŁýřÔm~WŰ ÷Űß«%÷kőE–y‘­ÍîÇíí»«%‹kÚK÷źŻŹĄźÖ˛Š_-‘Ëž°öűęö1ý¸včäqŇ(S&Wv-Č–ň˙–Ćh(SzŇa®h¤Ô=şTNč>¤‘–DKk»$ŔJŻŰ‘q&=&mćw)`c�Ó¤„Ň~ëj 6†iĄT tdĘlş\ő:S:Iz\ö¤±„DĘěáF/Č~Ó7�őzĎs>%Î`Ýz\fü@" Đyž‡ďűéX3,Ł=“eH·$!µZ-[ëÖ­C)•2X˛‡©eVk¦X,ĆâÁD´T Oy8ÚaKq3D‰Őşî¸VdV(«×bĆźů,×uq'Ű5żËŠ÷:$ehĚuZ­ą\.ꍔB$%ząŃ ôŕ8RE(ŻŤĺŐű`L?úŃŹ~|ę6u=ŽIq)…)Sę'"·> I˙•n®§ÝM?Ĺúýt»Gł©ĘRşŻťň?Ýĺ|rí~î·÷Gí«Ő´•ÖJüŤŕcÇÎ4ëžíŚký÷šwtďű¨żżŮ×ů¨ßż÷µÝ˙ŽK4űĺI×nÁ´čîIOë{×öt­I4ϲ a%dÁ‘ŢůGdl´;{ť^+›Ľ Ł«–^D¤ “Îýʤ䳓ČcYeŠ€3,žLÂ.’›1¬Ą5"Sš’ÝŐ·8-:Î7±58€Ń“‘+Yćý7§Ż:�ďGŕý¤1F\9+†^,–ŇRk eť´Z­Ô) ĚeçcSşÔh4’ňŇ\ j0ÍĽ'Ëd2 „4š ”P´¬¶c“S9*… Äě›°ăş”ËĺhµZ)Ł%ű}|ßOAŁ%S©TR]?óĚe-ĂsąÜŠďgX:f,!bŁ3“Őىßkˇ…D Ƕ sy{ćĹ>ÓŹ~ôŁ·€é,¨‹ŢXÓ²¬t±ěÖ¶čýwv#ÝűšŐţţ([™µ>cµ×ÜŞűYíý«ÝGď¦E¬ňßz•×Ç@qŇZ”uú*"ŠÂDč×íčŹ!RJ§ëUµčv]˛m Űv>D’ŮGc>j_Ĺtö(ĄŔŻF+Ʋä ;ň›źĚxÍZŻżÚunô3nôuzŤ9ďĂ´Ag^TJgÄ<ík‚gý`‹%[z´˘ěKŻśS˛ÖŇÉľ×�˙Y0¦Sf!RES6’eš¤ź¦»™&ĆyѬuQk‹8–Ť›h7™×e™ŁU“€w˛ăÔ«C#(­R_ó{)bdsÍôą—ÂÝ€×MŚĎ5w˘K'Ĺ€$ڍV«©@·{Žă¤@Őââ"ĺr9[7ĄIĆĆ:{Xe4DIEŽ4‚Ő°ŠnlIrĄ^ËKǶé×uSŔ% Č‹iS6U«ŐRűń,iŰvZʤµ¦ÝnłĽĽL†©#RěŐŃŐń<ŹfłÉČČH×5 h¶üÜ�B¶mŁoÓę1ýčG?úqëátck&!XażŰ˝Ńľ‘Żő÷Gd¸Ć5Ĺm¸qŤďµűľÖç @¦ o™$ż[ 1kâ G_WáăÜt‚mÇF$°WëÇ€k±ëÄÚ:@WO´ú%h7+I˘ß÷R‘Ęl_0Úuť®SÝ~Üî~ŇX–ÄóşçŔ~¬˝ö¦ô(ËÂëšO2ç˝ĚĂ@ÉŠ«fKwâ¶Š˘t®’V‡]–&¶ĐĺÔÍŚ•”1‘€Ü±Hzüű,ë¦ ĽKŞ’D†ˇhbăL$ĄDZ ű%ąWeKŞĐ‰Ńő* N?nlžU*ębIEQ„ëş‰Ł ĹČČHŞW¤”˘Z­¦nvƱÉ0N˛nK1ŕ†Ům™ÔUIůT˝%¤#)%ŠElËFEńgúľOµZe`` ˝¦[ľď“ĎçÓk4›MŤ•JĄ ¤4bĂĆÉ) îr:ŁťÓh4şîŐq†‡‡S@'[~Ő Ęö»ťLő>ÓŹ~ôŁ·aÁĚŇńAăşąŚh_?>,Ů ĆbwaaۢëOkM>ź»ŞF?nmĚÉlĽYŠ]˛&­ž×¦T*ĄŽ$ŮčýřđýÔisc›Ş˘�pş�iăra€ë)=ëÇ­é3bK\ŐOŚWa´ŠKtÖĐÚ1m¶ZéQ\¶ÓfVŢí)=Ę–P¬öX¬â%6âçOŁQÝĄL);!jbaáŃŠ(Ň©`poé”Ht`4‘0fĚ3ß«ę"ÎzKő˛M;{˘¸śIkŤŠ˘´dęć­ć{ŢÔ'†Ű-ßěŘŃ›ń“ťC 0ćy^W)ŽmÇîvžçĄ®DRĘTo&«ąbŔšźp#Š"lÇFˇh«—ýËŚşŁrů2qÔĘĺ2őzťJĄB«Ő˘ŐjĄ6ÝžçĄŘćpĹhşŚŤŤĄz2YM1ÇqşŘ±Y(ó{ĄÍf۶™››ŁP(¤¶ŕA¤¬ł0஠Îĺr©#•q•ę1ýčG?úń)HúÍßQâşN&ÁěÇÇť¤'<~ĐŐgJEé ŇŐ/µńßÖÝgź7&’Ů]Úozˇ?HVöY.—Ł^o¤5ěĆ]ÂqÜ.Đlµ$ ű<öŠmf“Źř÷şkž‡ôű䚀Śůw|âŞŇŤµŮ@K)p«/$ű é3ÓWľ—mZŇúô»±ß@HăÄŇŁ“ťS˛‰ťß%Ĺ7 3¦KÜ·G[©·„ąW‹f5ŔRgž˲Rf@ „ZH«sín¦ i)“hb@¦;7ӟҺó¶ôúvćľU×űĄXÝŇľ÷ľEG‡ nt‘č’ ą[P®$nńóŘ»ěÖ ĂZm9˛ëđÁ0\ ó#ëüŘl6(—Ë)ČŃjµh6›©VLçpŞÝ5>Í5}ßÇvl‚0`9Z¦5Ěm@‡7çv• đŁT*Ą ‡Ń]ZZÂqÚí6B<ĎK­łGFFb€Â¶W<s‘RvŹY÷ΡÎää$Žă¤ěĂb36رëV €Ćü>‚T‹¦ĆôŁýčǧ1‹”eĺ?Ń9öí8Ą^­®ýăŚxÓîJđăĹ]\»_’ͨB#H(ÚW9Eën_˝ęvďz&>OBĐŐWaR(”VMîŻ&kţŽ˘(q‰E*,™¸XVzÚ—}�kŽí, Ľ7˝ŃöëJ~ł¨Y&‹ź€~YËŮë“¶mÓJ4úLĄŐÖ+˝Ć,˝rľ1óŠ4ó‘^•+…kłďĎ‚É1KI®`dfYٟɌͰů|+ĂŠéˇIY:óĎ>“]eSR¤%H˝6čÝ÷-SŕIém\žzËŢ`J)[ K‰%ĺUőĄ>Ě3ËąjžůxçşJŢL›öŹźS+eąÄ ťÓĺ®Ô+rk܇ ŕ’Í-—Ë)@bŔĎó°m;-ˇ3lĄÂÔĂ:Ëá2%«Č8ăXÚBştG×%k§ťŽĹäz…BBˇŢ[ŁŃHŮ3…B!˝7S.•˝fv|š§�`ň}c†_”Z| !Čçó …Ôů  Őjˇ”"źĎ§í–?FD¸ĆôŁýčǧ ŚÉžx}ś`ČŐďQ÷ś¤­˝qČ ×sĎ sĐ&1čŹ?ě­űż®Š­@kÚa‹ąö)ZŞĆ µŠ;Žc9Ha!’ éÚź˝đ"2ĚŚ~¬öldÇ«fnä:aŃjµ9yú ‡ß>Ęű'ÎpĺĘ"m/>­«”ËLNŽłç®ťÜwĎ^ÖŹŹa;všŕÜHŇťWź%íˇŢľęU>JÖŇatĘ"ôU€ˇťo´Ż˛ÚY ęÎJu:O÷ˇU&jč*ĹËj¬¬ÖŽJé.@$s™l˝ŐŔ™(R©]uäÉŽÍěZť–%‹lĆ€’•NO™^î}6»Ę¦zl´×<ĄŃ•ÉęăEjU&‘Đ …„DŰK yÍŹk/Ĺť9Á$ôhĂDZ»žI^DĽŰ¦”ę¶7�€acdŮ’7ëŮ3P1Ű3"ütŽ(“Ëĺş0ÝcD¤ě(ن±PsˇP�H™Y€..ĹΆ!ĄR  ËşÝn#-‰yxÂĂ}ÖÖx®“\A…)#Ç�şY ř^›iٰ~ýz€T®T*u ›÷F‹j˛óm©Č.—KYÍfo`_Y—(3ŚFŽů<@őË”úŃŹ~ôăS”\ lIŘD[Ƥň:Wý»ńŹ- }žüů“ `rr’Ý»w%‹çt;‚.»Ě™™´ŇlŮşąc‡ąJ˘jNăÚćŘEź·/¸–ŕŢi‡íăŽőq—mĹuŮ×›(fičAäs¦~ĂÍżˇÍ2y™§¤Çs¶±ŢÝÁHn#®ťG +ůcęö ÷X “Íq"»Řqâ×ÎĚĆb…ý†Oču˛ í0—bź‡�� �IDAT!ÜOÎ)yvą2Z›É”}˝ďÇ'…oż{Śď|˙gĽqřó ‹ÔjuÚm/Ý€9ŽCˇghp€őë×ńÄçáë_ý"ÓSq]۶®űą[ZŞrř­Ăh4÷Ýw/ą\>=áěí§ŐʨzŰŕ“ŕŻVN±Ú)~6ń»Ú÷č}O¨#Bá«€vä3ďUY–B0,ËŚşäť9é` ‰E6 NŕĐk4›ŃłyóŤ·h·[ěľk7ŁŁŁ«–“ôŽĂ'NŇn{  ńäSOóąĎ=ĆŽŰoĘü|;çAcˇÜŹĚĘ`NVë«Í·]óqV@W“2QV›źWcaUÝĽô˛SŇ닎w,řkě¨W&ÂćŰ)•h’ăś$Stó˝S–Ź”)­k\Ż…f“Ýl»?Űl‘€(uqč”#A˘µâĘ•+)3¤R©t÷őú2í¶G©TJY¦¤2‚ذm‹ĺĺ:J)p])-rąÜ5žéŐŘTWŰy©ö‰Ö‚FŁ‘˛3b· Á.aÝř»tRyĂi6›´ŰíTźĹ�!av­9Ř0Îw@1űľf«VvÄR»Ę@±Ě3‚4®ívŤ_ÓfYfq§ÜďҤB¤%JYáBˇ:eÁś|>źŢ·dŚđł’‚ eş§,d’ ä$.bć~|ß§^ݧ÷kÄ…ű`L?úŃŹ~|–6}Ym­hűm”V8–CÎvÓS©[±ą×ZŃjµř7˙ćßňőßú[ĽöÚ!ç‘GN¶óç/đŁţgîą÷ž~úľüĺ'8îa˛aădş8fkxÍi BixsĆçO_\N˙$ĎźôůŹŮ·1‡%>i}qíݡҚF¸Ě‰úafŐ Šîksž™čM¤').łÎŢÍ´}/ůÝó%,aÇ´n™čä'”‚l*$®raĹĎ80`Řő�5«_" Ë^ÄŃ‹>ăeɦ÷�”ÝHÚ$Ö|¦ĚźKł—ůWňďř÷ßů1íV #*I\L·QHÓk°PmrrćŻz‡ďüŐOřoţáßĺoýúŞ\—ř¬Öš?ýÓ?eąVGHÉ ĎżÄÔÔFĘ|ý·~3MVĚ&3+Jh~gNGĄé†ň“ 8 ±¶€ň‡eŞřQ@=hňŇň1~´ü*ݍ,ëVǡFCExĐÚÎ×ËňpĺnÝ2‰›î˘…¸*CÍ”»=ůäSüäÇ?crĂGŢ}—o~󛌌 w=K¦ź”R|ď{ß§X,ńŕP*ůĺ/źgii‰ŃŃŃ.±É;K§Çtµ„ŽH:ŕ‹F©nĐd-&ÔĘr ±&Ř­Ł3–Ůş‹Ń°jFb±]’9C*M:Ą”1@Ł×ŘŇŚOݵÇHź_˙,R ‘č’ô~¶s˛Ú8ćw†‰Đëř”e­đÜh' :ÖÝ–eŃl6!Ťă¸D‘˘V]Fi•±Źçy>AáşNĽF*-ŐŃÂP‘Ëĺ“ç^áy>BHÂ0Z÷ö©é“¸ßŻď[zžź24 Ă ŐjÓn·cĆU˛F›hł^Ôj5†††�R°ČĚm®ë¦€‰yżh˛?7z/Ĺr‘+­y@ł®´Žv˝EMTIKŮrą\—Ĺş´ …Bzxg�$ß÷¬ÎŔŔ�ą\.m»R©D­VKżłyfÇáĘ•+ضť2w‚  X,Ňjµ’öňR‘Ţ\.GłŮě˛ňÎ=YPŇ÷ýÔ&۸2EQÄââ"Ĺb1µ˙î1ýčG?úńYe€f˝Á˙±đ#ň¶Ă”ă+Ă+UP^„Ş ®-(ĺ¬kŇ|Ż•áŔ‰‰ ŞŐ*J)ţÓú333€ćŕűyíµ×ą2?ĎĚŮsüŕ?äŔ}h6[üô§?ăĹ_"—ËńÇüÇüŮźý­V‹Gy'žx‚|!OÁˇ™6RhlK°®"™«GĽtĘgď÷ŽL�4šFPc68‡ŻUĽéšHÄ”f‰& ÔýW8ĽAÁ+3˛Ľ™q{+Łî&Jî Y!g±ĄŤqę¨Ul!şV4›-žzę)^zéeJĄçďü!““Ôj5\×eqq‰ď}ďű|ó›żĹĐĐĄR‰0 ń</­Ł6Ž ĄR ˶ "ÍłÇŰüüX›v p,É=Cľ¶7ĎpŮFŠOvO\ ©7šzó˙ň˙ţs^xímZÍŘ=¦“r‰•bŞ«,…ćýSř˙×?áSçůÖďťMÓ“¸É‰âŐŘnĹb‘(RěÝłŰqůŮOFľ§T.óÔSOˇµć‹_üĺr™§žzšv»Í˙ńßç_ü‹˙™;vĐjµp‡b±Č?úG˙b±đ)ĺ®ýlQČo‰Wďó—őy'śˇ©=B"­2ą`‰OGGxĄv’}Ť)ţ‹Gy¸Ľ›Qw0~¶®c†‰“IĄRaßŢ˝Lošć/ţâ;,×–i{mvďŢͦMÓ<÷ÜóřľÇ—ľôe^zńUĆÇǨՖYZZâô©S4š-žyćś<y’ÇŚăÇŹóŐŻţăăăýî©"¨4ą^ýyO·Ě0R tQ ÂgËyzÁă^vMG8ę4í:“瀌Ś×5e,†ManKČtîťú©hұDęrŚę”H%OŞŽË„˛ĎQŻĆLĐ”eř$w®?b'Ąú*ÉgyžG«ŮNŰWŐú2|đa˛cç3í§@ ň…\ę*e�jµĘůóç)—ËLLL¤Ě‘lß­'Ož˘ŮhR.°qj2µ`ľZ´Z-fff¨UëlŰľ•ˇˇÁ%T¦Żbp.p¸R©¤‚»ŮqeJŽL)Žk 1ŕ…Ň1+Ű>MżEÁ)P´Räs(ĄX^^î_ kĹŚSă’dĘ}ŚP®a±°Č܇)«Ę(Zk …Íf“áááĚ1Ś•………DtÜO]ˇL™TˇPČ”qĹ€N 1Śc}m@(ŁŻcl°űĚ~ôŁýř,nü’Ó-ŻÝâżŇŁxĺ*ŠPž?şŔŃ‹!Z\ŰbÇ:›/ě"'W–5ÜČ)lĽY‹8uę­V“Ë—ç8qâôGßâ;ßůKÎť?Çäľ÷ńĚÓĎđĺ/‰S§Oł´´Č•+—ŁÝjsęTL×ßşe+ů|0 'Tšů”r’Í#6a¤ą¤#.Ő˘´ ëNë+­ŐöóÁeBŃŃ">›Bˇ±„x´U%1Ë©đÜv‘A1ÁłŤ1w3#ÎE{„‚]Á‘6R;HVgµ4›MΞ=Çöí;§ÝnóúëođŢ{ď144ÄÄú –—xń…—€Ç{Ś™™sĚÎÎ26:Ęşőëx饗سçnxŕ –Í|CńÔ{ ŤGZ8ź÷Ř»Á¦R´–¸#ú¤ĂĚ0 ŁĆ÷^~ímţ—ůoyí­Ł´</mrŐqgNnĄŘŽ…--‚0ÄŹf—ř“?ű>Őjť˙ţźţ=6L¬Ă¶×=UJqđŕAÎś>Ë/ůĹb˝{÷ŕş'Oś¤T`bb=ď˝÷>÷ÝwwÝuO?ý gÎś# î;ŔŃcÇزy/żň*a�…Oţ<v?_íuarľy™˙°ô,?h˝Ę%˝tUŕ&Ňš…§CžSÇxgá,żď=Ć ý“…1l)AXWť˙¤”lßľťĹĹożó'Nždi±ĘćÍ›ąë®»ř×˙úO8pđ�wݵ›vŰăÝwßĺŔ{ƶcŞýž˝{‘RňĐCrňä ~ń‹_p÷Ýw300Đ_ŕîŕ@âzÇ–ďaDn•Rµ:c¬·®7Š…â3Ą6)+Ftdă»Ř‘Bu9f%5R±ĆŠL ˇ…îJň;ŔĚĘźÉŕQ*®Z2ß3^÷äUBYÖ\\ú$Ó’-ÍG­SŇiIÂcđ©sÝË—/óĆo¤‰űľ}űş&ýŘŤĘíšË•ŠYÇfxxÁÁÁëU�Nť<B˛´Te|Ýču1Ď?˙<cŁăä 9+kľ6v j' E±Xě˛x΂{4ÉŽĎ^q]ĄZjŞA[µr‡p„5–“# c€Ĺ€¦Ôȸ/™’¨ě5Mi’‚*•JÚ?fĚŔ&ë’”eó°Ä€)őz=ŕ-—ËéďŤ#Rv/`§F¨7 Đ'%sŹŤFb±˛Oo‹±ĆôŁýčÇ'*‰QíÎÜËäŰK 4 ˘-„î>”•'j/SL¦\Nâ DŇNŮ-ńlÔ÷;őłk/."uNđ}ź0Ś(ňŚŽŽđěłĎ۶mĺý÷ŹséŇEĘ%˝~ééiŤăăă,--16>ĆÔÔ47nŕÜůsaŔ˝÷ŢĂ�\[s`ĘĺÉc!Węu/vzt›ű±S÷Ť®DÜ ×á ”üń#ź‹Ís´”ßIčRÁEŁ÷‘©÷OéÔšH´ńĹY‚óśô_¤$‡)Ë1śuŚŘÓLĺîf0żKÚ+6·Ĺb‘{îŮωNđޱ÷¨TĘ|÷»ßçK_ú33gą<;‡ďlظgžţ%ÍF›3gÎP.đÁ'yřˇůŕ“|ík_M7/«^ +I¦†lžćb-âÂ’b߆;ȤŁOdžß÷yűÝăü_˙ď_ňę[Ç BŤö×č$ĺ“ëF8xĎN¶mž$źsYŞŐ9úŢiŢz÷$ͶÇúţÓ”J%ţŮ?úCĆdž×LB´†S§Nqůňe*e\ץ28ŔĚĚ cccĚÍÍáűwݵ›3gÎpęÔ)ĐǶp›|>G.ç’Ëĺ°mëŽ(sů(ÚUšX\ůdă˙ĎÂOů©†ľşx|Ť%üyó9ćÂeţÉČ×*®Kôš®~Ź.\ŕôéS)kli±ĘĚĚ ó óěÚ˝‹M›6qüřqšÍ&=ôív‹“'O2::–ęŮ–EĄ2Ŕ¶mŰyúé§ůŇ—ž źĎ÷Šî` &űwŻn/ÜŃ‹Y}ŽJĹq{Ř#˝ĺk•$ué˛%ŔqŞďŇe-/ŇJĺôűH ĘčŁX)pÝőŮR¤¶ĘŮűPşCĚ–ÂĘ޶@§{^}śl©HEXB÷”Â~ČçD\}Ęş Ĺ{˘Ő¬¤»;Ͷm&&&�ضmCCC×ýaHu©ĘäääużÇq&&&™˝t™˝{÷¬)LoĘl\×M™ –eQ«ŐBP,SpĂ0U gĘLIŹmŰ ’óíFJ#u ;)ň´rVâ˛ä TGôx`` ub ĂĹĹErą\:×™1ľ°°ZVgËLy‘)ˇ3 ’Ď1ěĂ®‘R¦®L3„jµ]`Nö˝ćZ¦=ڦޱÔ^\\d||<j˛ŽM}0¦ýčG?>3@ŚFE!ţĺ÷X|;¨Ć!ńÚ JăxλĆîťvČçm\×ĆóíVTŽąąYÚ­6–má:9lÇaxx\ROŰ»ÁËţ·ë:üóţĎ"E©Td۶měÝ»—ąą9îż˙~¦¦6˛qăF„ěßżŹĄĄ*““lŘ0IˇPdqq|>ĎČČ=ô ľď3::ĘŔŔ�B€-l¶©µ>¸1T’ěťt88ť»nâOTˇhGmεÎŕGńF0ë%¤H˙[¦Ś"Ń˙šPDuŐ`NśĂ-Šb„KÍă|~üŹÎĘ< ®\™Ă¶mććć¸ti×uY^^&Brn­I„üš¸9DZ)óäÜB †††ššJ7Ą-J9A >Ě.GŘR0=lqçuO‡˘Ľ\ođg˙ńŻyţŐ#x¦ŁÖŘţ4Že±móřŰ_äţ{wQ,ćńĂ‚›ăŇěž|î?üéK\Y¨óçß}Š­›§řÖď ×uVݼٶÍC=Č™3g�ššĆq¶mŰĘŕŕ[¶lA)ŦMÓl۶ŤíŰ·°eËfţëż˙_255Ĺşőë( Ln$—ËÝsŰőż6RUo™»ô$?öߢˇŰ¨ě‘÷ KëL–É5ššnň7ţ–\ţ©őuƬákÚ_ďÝ»7MҦ¦¦řáţšb©ČŽŰžžf` tź»îş‹ ٸq…BǶăňQK&'®Š 60=˝©Ä|ęŔ™Xü¶7Yî¨NcG=EÄę‰˙Z ĚjŻMő9’˛!™:ü7Dť˛e˛`‹iY©+˘`%łVZw[o˝3S\;ő�W©¨ŻXSGG°â«Ä$ÎZQ°r2Ě ¸=”Š]ójµ*®ëňŘcŹŁTD>ź§^_¦P(d’ş6Ďó›‹×ŮĎţó8ŽC­VĂ÷}†††ÖdşAŔââ"űöîĹób]’(ŚRđdµPJŃl6i4ěرť]»vR¬¤ Ájmčş.ŽcĄ, -S2nC†1’čÍ:9®Ż|ÚQ$ŚćFÄ’V:~˘(ı"ĄŽDQĄ€‡‘‰˘fł™¶"°Ě¸t]7-™6l•¬K’SĚ7ßAkM«Ő², …Bú~ÎA€ďű]#Ć)* ™Ď6ÎU­V‹áááÔŇúZĺg}0¦ýčG?>ťP �~łŠ=ű*vĐLEř„V¸­ó4gße1ż;Ý$Ą˘y@­VCV*\9ĎâüŽăËçČĺó”K%ÜD(m- ĆPL?÷ąĎuŐţŽŚŚ°}ű¶ôuĂĂĂé"g^·aÆ.÷ÜłŦP X_±říűĘxaĽůË;±ćÍť§h4ËíĽ‘ľ”ůëˇ@&Ůüv•2‘”2‰¬Ńhše9ĎYőžďáÚů® ÖšR©ÄţýűyűíwřÜççáGćá‡áµCŻqŕľűŘĽySSSD*â׾đk<đŔýĚĚĚpúÔi¶mß–ž¤eéč#%É» üÍ;-Î.XÜě0=bcÉ;ŁşÇ·" #Ţ|ý}ľ÷źź§Ţô̶ťµvüBh†řÇďěÚą…gž“ç^~/ (ĺ]~çëżĘ·~÷«„üĺ_żŔÂR˙ď/~ÎŻ>~€­›7®zŠi’ú 6t=#6L$?×é†zóćMékÖŻ_ŹÖš‰‰ ´Ölܸń†,ĽďD@şúüőŇ«<í˝CC·b F% ŚXÖ=™éÖždNmíó“ö›l_šŕďäľ,]ĹžWJ†††xôŃGŇ>¸˙ ±s׎T'add¸+[‘,7MŠĹ"żű»żĂččH‰»ăŢyĆ�2jUćŚčq6ę€ÝöÖiÉNF#&+ŚŰ)Q2 ĂęŕŚ†.vJ·SJ}éšů:׍_ßw¬#K¨tÖ«:6ĆĘ:9x0®QŮŞŐŞŹ»]¨4čŘ~۱-,Ă°É¶ąľľy?ľGŤ+mĆ«Ő%Ţ:|ĘŔ�###´Z­4iß·o_ʰX Goľů–e3882LjµźűÜçÖĽß÷9zô(…B‰ŔáÜů¦§§śś\sî«Őj9r„fłÉúőë™››cllŚíŰ·ŻŇv+ËÚ »Äܧa’„aďűärąčĐÉţ1ĐËz™‚U §ó8ŇNy!Śąś›–|e˛ cL{™9rqq‘Bˇ€R*uSеÓâ×pČ|Ź¬Ĺ´y†˛Nž–eQ­VSŰj#:lŔ-SžĐn·S ¨Ńh`Űv*lÜ™Ś8o­VŁR©¤ď7BĆý2Ą~ôŁýř¬@0]µ»ęĘqrËgÁJě “ť$Âą|`tĺŃőé©€m»„A„WŻÓĽ0ËČź~›ÂÂVÁÁ.şŘĹÁŻ|‘đ‰Żŕ$µÇkązE´÷g&VŻ­XRPĘA)wç÷]¤gk'YÔuo„-a6E¦ßČ0bDҤŕT\3ŻcPF ńfÔŇ‚‚?€µnuŤ۶ٺu ›7oB+ŤíŘ0“Ö!ĄÄ¶l6lśě˘Â ±˙ľt̆ŮóÚ–äŃíyönĚńŢlČXY˛iĵġćÓ=žă¤eąŢŕ˙ţó˛\oŁ"ŕęš!–móŔ={8pďnžüĺĚśźĺżýű_gtx'/đł_ľE>źăKżz—çÄ鋜™ąĚŹ~ú˙ŕ[ßH7Ą˝÷cśĆVV>úóöiIđ–3ÍKü¨uU'ň#Xôár}b=ŰBÍ{?™m‰pa$‡ŘX„-e¨¸ś„ś…°J*ćYć'Ţ›<ŢŘĂćňŽX{űŰ;>üđĂh­ş\¬®ŐO1`Zä+_ůňu»™őăN�bô  5f_dÜÍř¬`qő)1/Q‰ŰQ<Ćş_c‹¦ŮŘűö&ç"“ŔöŽĎli“^1WvÄă”�!%vRÎbl®;R»YQcŃŐBÄ]٤<űÝł–ŢńÚ<Žm32<@±ŕÄ÷"ô ëÝYR"„B©(qŕ]‡J=ř�Jé„MâűRŠ.{ꬨ°&~íĂ?’jź~Î:ţ¬ů|žÝ»wŁ3Ąrą„ŚQ*Ż:ď łgĎž®ë¸®»B{(kM](P¤cKÝh4şl­MéMµZ%|†‡GđŹ0 Y¶–±FQ^Dq  ű#®kÓh¶(r¨(ÄVÚ†FřÖ”úň§FŁAµël-)%ËËËĚÍÍ1<<L˝^OöŻvZ:d�ŁűbJ¬Â0¤X,2;;›Ú`Đ©X,¦`K-•J±%wň˝ëő: ضÍđđ0ËËËضM˝^gxx8eĐÔëő®ńp»2}0¦ýčG?>!†˛z«=Ź(– Ło€†’w™ŠĺQ$W(Ĺ ´‚�–„˙űżběěě‚(»XľžŤ÷—˙‘z¤üŰ;=é'7#‰TśX>‰FD:Ů&@ŚL¨1RËhщ–Ś"T"eĚČä4OJ‘0iDbńm3!îĆ1–ć]§«"d®‚ą–{CßG pmÁXY0Vvďŕ~‰ŮJ)Ž;Ĺ«‡ŢCëXüňŞß_ ňąŹ>t7s 5ć—ůÍŻ<ĘŢÝ[p›ÉőcDZđÚ›đŰ_}Śۦ8{ţ őF›^~—Ż˙úŻ0P*ő]?Bż…QÄËíă/F!âlťđ:Ś:UCç+­Ń˛[¤9M“m‰ŘZF>´ůĐ8bş #9"ˇ8^ć…ć1& #8ňú·ż±ŚuCß%kéŰŹ;;ň9›Í†É»˛Ç}ŤTx^':*Ý:$b%–#čbş¤Ĺ<I©PZ×´đ‰_c@‘ýĄYĎ3/”B ¤ěúÜÉżľSĆ‘Â8E'kIÖ5ʬOtUf?«Bö"Ö®ëŤ]kš”‚ÉńĽg#•r Çv™ąúZ{¸Ř–EÁµńüEt ŘV„Dc[6Ĺü€©ëb YRĹŕ`IMčGDi2®)Ý´łźMT¸:r§µ¦RÎg4~Žm#´Źßî}S§Ő…Ö “Ď3:s ß[^sľl‹ťď !đŰ KJ|Żž¸L©¸ Ě8– ŐÚő°Ž…d _AÉ6A«Q%RQâćr„AeIÚM)~ÂřjxŤ,QŠ(­Ň_áµ=”VŚЬ/˘´FE ۱±dÄ@)Głľ„‚z»N.źKulĽv ś ­f ÇŽY*�ósUJy|Ż3jTÜ®őZ!Ŕ÷Ú1S'ŚRú™0Mýv۶Ȼ)5ŐĄ9˘(b©Ůbxdż]Dz$µviIZÍ6¶eÝÖ9¦żRôŁýčÇ'$”RȰ‰ÔÚŘSf6^EFĽ4N É{ö2öéÓÉ{tʨ¨ÖP‡Ź~ăkžŇ*ëĚĚ A088ČŘŘXW-őę�RČŇŇ–– —Ë1;;K±XěsËFłŮ$ #JĄâu;T\o¶Űm–——©T*7]4łËĄB †¬1¦őv‚yZ˛A$„Ú­q°™´¦łÇ©†‹,‡ 4ĺ2ˇíˇE””) ¤RݡY+!°´ĂTń®T�±7ŘOÄ”éç^z‡¶!„uÍR+Ë’ŚUصmŠŔ ±ĄÍČČ`úĚXŇbtdÄóC†˱fqćüŢ?yŽm[6b±˛Ď(•J©­ř‡‰(ŠX\\LOŻçőóóóX–•Zu^mL·Z-Â0L)Ű·}ţÓšEżĆ±ö9jş…– ›Z ÄÎ b8‡¨8‚…v“ďiđ"t#DT}÷Ńł-˘ż:‹zúr˙0ň “‡Ć©ÚMŽ´ĎđDp/%»pŐv«V«T«ULŰ[kŤçyřľźę  …›Ţ^őz€R©tMËö˘±ý¸©Q)çůÍ/ÜM¤U4É@˝Ą#«Y»^łš÷vW Ędě˘SŕĄ×yiĺYqÍšžNIŇZŇ,+†PĎëĚg\ÍűpE{$ëśN€"!d×u×a¸Rdd°H>)ŁąŃ±lŔĎBdâ‡Ut–ŽA@Ł­ë¨w ! \ĂÝŃ@3jŐö^ ÂeОPk^±·ť“yqŤ÷čDG+PIّÂ.} •�yÉüŻ",%!ŕ-ˇ„…™G8Ą5~;]ů~ T)ìJŔDmXNRĆ.LJ#U„-%‘×Ë"ŠT˛·Śű\iZŁuHäÉ– ţ(2Z42usĄ ňQd­xŽ”ÖAÜŚ‘ŽAM۲"P‘Dj J㉠= ކ`­a\.ů.a|ÉŰĘôÁ~ôŁýř$$Ź)Ő8^ć#ˇ™“°(%ă F˘xů:D+P Â(>ŻŐZ#›ŤXÖ’Ý ĽÖ €v;ĄÚv»Îtí0 ůůĎźäî»ďćÂ…‹l۶µKŁ˘wă/„Ŕó<Ţ~űöíŰÇ‹/ľČ¦M›Ůłçn~ůËçxřá+Îń·�� �IDAT‡¨T*©›SJ“ÖšóçĎÓn·Ůľ}ąś»b#·{'›pdiáŮŤ_Fś<yŠZµĆţ{öÝ2ŇŠůć"ăî#•1ZQyŽąöe.‡s´¬&»ŔÁϱgh/KíEćý9.·/pˇ}†łúBËë8.éΦU PLné6î`ŚOi»µz˛}•nÜŻcÜu‹6vkdŰ×XdvŃěW°ĽĘŢľ˝Ú{oä92÷†ď;‹Ň „Ť”:łÇ] smľńʞyz‚+óU¤”,-5ٰ~ ­A±°Ř ËQĚç©5Ú±+‰ĐĚ/,sîüJ…HąRČ÷đá·Ů·oo ЬFζőjý†!Ż˝öź˙üçS*uLť×鉹N’ËŠéâ/żüJěf60ĐUź}Žçćć¨×›ľO˝^çž{÷Żx^W+}¸éĎŠËa• ŃQ’~Č?Ú—#­ËĂ‹(Ů)3�OA=€f[¨łËč÷Şč÷jDżĽ„şâá#°#NG—™ «l`lŐ±¦”byy™^x‘r™ Ů·occcibsĺĘ<óóó”Ë%p§kNŚ­tu—ƆÍěďťäš.kßĺĺř$< &gŻeĆÇââ"ŐjěÖ’˝ót¨ůđQ,¸ěŢ6‰›·‘B&ý¤?–{éáĹÜ @­?qm+�˲±¤Ä’)?Ľ[śŃ!±,‹\©Ą;¬#}]Ú3ť;ÓZßa#őz»ëű®üšňşFS÷8´>Ä=ą«BXújĄÄ=Ă…–ű g¬ŐľĺÂőÁ}0¦ýčG?>k@Ś0I q-ţ"ďR—°=Ňüf#`J‚ Ô:ĺóÂÉ6Źn/pĎx˛*éĺJbÚkFçwÍ=®I×T«ËěßżŹ#GŢĺČ‘wąxń"{öěáżx–Ý»wó /Ďxŕűٲesš?~ßxď˝÷¤ŐjqáÂ%ΞťˇZ­ây“lٲ™çž{ŽjµĆćÍ›‚ăÇ?Ŕu]6nÜ€ă8xžÇŇŇ÷Ţ{/‡¦T*qáÂîľűnîşk7ZkŢ~űNś8Á–-[áő×_GɦMÓ>ü6…B={ďľ%ýd,­_ž=Ä‹ /“łrŚ;#L9“Ü_ÚJŢÉÓh× TŔî‘Ý  Q©TfĎßË™Ú)jłËĚŞóh4–€(ó„dLn¦T(Żąń6 ăÜÜlŰâWőWyůĺ—řĆ7ľ±*¸Ň ¨×Ä6“ďľ{„ńńq&&&:`ăčŃŁěÚµ ÇqX\\ä•W^ĄZ­ňµŻ}ŤrąÔ%´·ÚI}–QÔl6™™™a||ś‘‘‘4i] „ű° €ŇšV;Ŕµ]ĐÉĆ\©îSćä˙]×âŃvóŤŻ>ĘĐ`‰b1ÇĆÉQ~úĚD‘bb|„·ŹťćÍ#§řő_;Ŕr˝ĹŮóó@ś 5Ú‹ŐĆŠv3ßea~ĎóÓúůç_ Ýjsŕŕ}9r”'žř5.^śĺÂ… 4 šÍ&ů|Ç{”çž{Ď3Ö×gůÁ~Öš/|á ś>}š“'O±aæ¦6ňěłĎrß}÷qđŕ~›CŻ˝Î–-›9rä(µZ•-[¶Ëĺ8yň۶mcĎž=Ľ÷ŢqŢ|ó-vlßÎńăpüălذM›¦yűíw¨×ë|éKO0::zË�­5‘V,„ËĚGËťaźł÷ŹÂ|}b^iˇ}t;Śëęň1śGN[ʰi ë1tŐł Ôá.%P(®D5ŞacUҰ:Äşńőlݶ…×_‹.ňěłĎR,–ź­[·R«ŐX\\dtt”ź˙üIĘĺ2Ĺb‘}űöńĆoĐh4X·n?üRJž}ö—T«µTç —s™Ŕq¦¦6ňÓźüŚ}ű÷ńÖ[o111‚ÁÁA–—ë:ô:ĂĂĂ8pëÖŤ3;;Ë/~ń Ęĺ”RĽ˙ţű|ůË_ćŤ7Ţdbb=SSSĽůć[¬_żŽ244„eőÁ [Ě»îéú÷‰oߤśęf€†�ÔÁŇö¨ôă“őě÷Á~ôŁýřl‚3Ŕ“Žä[â Xšť–d\C)–~ń>lĎńć9Ź+˘j}ujíµ>UkM­Zĺg?ű9í¶ÇÖ­[ąreĎó™™9Çôô4ą\Ž &ťťezz ۶çĹ_bďŢ==zŚĂ‡łsçNÚíËËË EöďßĎwżű=|ßgÝşuŚŤŤˇ5<˙üó|ó›ßdaažC‡Ţ`óćÍś;wŽjµšžÚĚÎÎR(I… /]ş„”ccŁĽřâËÜ˙A,ËâůçźgzzšJĄB±XěQ®FÝ@Ö@Ëksxá(ÚsDDśç8b˝OÉ.0nʞł´ť#ű, %›C+.'Ë;äÚy­Q‘CDSťEŚI!ĐR˛±¸G®]Ň!A°{÷.._žăôéÓś=;çůś9s†K—.±wď^Îś9Ă=÷ěO±Ť7¦‚~µZŤĂ‡ßN\®07w…#GŢĺ‘G&BŽ=ĘŘŘ(J)ľýíoó­o}‹]»v17w…0 ąti–V«Eą\B)E«ŐâťwŢAkÍ˝÷ŢËűďżĎÄÄDj׆q™ÍŽŰąrežR©Äââ§OźćŔGŽajjŠ 9sć <đ�ŁŁ#ŞĎ¤€˙áżűžüĺŰüěŮĂś:{ ß 6Ię†`óćqţîď|‘ ُ®M.çň…_9€›Ëó“_ĽIuąÁÄŘ0_{â¶lšŕO˙âi.Î-Ł…Ť°4‘ÖřˇJX«�C 3"¶ďt_Ç믿ÁéÓg8}úLęĐ1;;K©TbĎž=üä'?ezz€Ľ?)”<ňČĂś8q’W^y…K—fÍ3Ď<Ă7żů rą<[¶l`ăĆŤlٲ…Je‹_ăńÇăÔ©34uĆĆĆزe RJ*•¶lŮB©TbzzŠ{îÝĎ3Ď<ďű|đÁ(Ą8|řmľđ…_».vÓGdša›–jÇ,1[ćňúúßź@U[hT‡ ăçEŰťł[ËÇÖ#î…ŁČýĂG˘­ř-ő¨M3ň®ú=fggąű®=‹ĘĄmĎăÜąóüŢďýÇŽcff†rąśŠdž?ß˙ýßăÔ©SĽđ ś?žR©Ä‘#Gxŕ�A«Őf۶­üÍßüßű˝ßĺčŃŁś={–ŃŃQÖ­[ÇéÓgX?±ŽfłĹřř8—.]˘ŮlňÔSOóŰżýM,ËÂuc튥Ą%.]şÄŻüĘ®Ôĺ$ź/Đh4Řż?ţńOńĽ6/^dóćM VRkâ›ŐWź©„,„­ŰŔű¬‚]7űz×*ëG?®o0őÁ~ôŁýřĚ‚1Ů:aDüľw¨ÁËA ·XáŹŕß˝Üâ˙üE•­Çšüa¤É;Ý׹ŃOvs9vďľ‹÷ßźuëÖ1?…V«…çĹjůĺr™R©L»ÝŽs!)qÝív›|>GˇçÝwŹňřăŹqôč1 vNjUâf+Ýń6)m†‡‡ĐZáű•Ę�ÇŽăţŕh·=Ţyçm^yĺeľň•/“Ď8xđ GŹKƭƶmJĹ"…|>µ]ĚZŹš×}Ř  N’ĆËőy.ůóřˇF!^T§ÔąÄg›3 ŰLO®°D-Rf‹ż Ů,ZWđ E€ )nXdă`ś(K!WÝ´švs‡V«I©4ŤÖ±MăµÚ2o˝uăÇßgýúuĽ÷Ţ{ěÜą+Ý úľĎwżű]}äq–—ë,.V)ňLMMńWőC<€m;:ô?ü Ĺb1µäâŐW_c×®]¸n<ŕÂ0äůçźÇ˛lŤĎ=÷<ą\Žgź}Ž{îŮĎŮł3ěÜą“‰‰ ~ôŁżfÇŽíś9s–Ë—/sŕŔţĂř6Ź>ú§Nť¦X,óÁ°˙>ľýíoóOţÉ?ţp`Ś”lŰ2ɦ©uüţoŽ—^?Á÷ü2ďľžZ˝EF8ŽE±ŕň·żţ+<p`'…ś“gĆFů­_„ßúĘŁDJ>W–ęüŕg‡řÉłoÓđ#”c6®ĘÖš`¨«šÍ&łłłĽńƬ[7Žë¸X‰EłŮâŇ”r"Ű'çó@“Ďç¦R©pĺĘ<SSSěŢ˝+©±L; …Ąr×ÍaŰ6ů|ËŠK¤(•J1Ą?—ŁX(ŕ8e°,›R©ÄÁ™ššJ­™c&U‚'¦äęŁhádÁŁ{rŤP –}tKÁX¶– Ľ·u#D_j˘>¨!ćZ¨WŻ ź›El-cýÎVäcëˇ`§:j ö•y¦¤”ěر#ďľËľ}{™_X`ăĆŤ‹)—ËÔjUÂ0LY`®ë2::ĘĹ‹—h·=îşënvîÜI…8ŽŤRqżU*±žV©TLma}ß§V«ˇ!yžňĽúękضťşťŮ¶ŤăŘ©«ÍÔÔżńżÁ믿IE¬_żDZ) ‹EFFFŘ»w/®ë266’ĚÍůÔ^b7>°p# >ýrŻ[˝ďŃ«hÖ|‚@ž~|Fü>ÓŹ~ôŁź˝ŔŻ{uQ—‚­‘â®0ÄRŠcZĽ\o3<”çűI•s‹ú˙gďÍä8Ď3Ďß—gÝGß÷…и ŕ‘I‘"i‘”dÉ:ě]…'<Úđ†=óÇĚăŮŮđěLÄîěěn¬7öyÖÖÚ’-Ů–e‹e[E‘I�„hśÄŃÝht7úîę:óúöŹ¬Ş®n4€ĆI€Ę'"Ł»««*«ňÍďËď}ň}ź‡ÉéĄ1 OŠ510WŇc1 őô÷÷ˇ(ŕş6Ńh”ŁGŹR__O2™¤ĄĄ™t:Uµ5ôm#Slٲ‰††î»/H˘Ń(őőu„B&ÉdÓ4číífóćÍěßżĎóčîîć‰'çŔý†ÁC=Čřř8‰Dśd2ÉŃŁG1 óçĎ‘ĎçčííĹ0 @211Áüü,]]ťÜ˙ý9r!>ř ¶maÇŹ§­­­üž JĄmmm¤Óé›NOeÎ3oYXžß:&(nŮE IQ€&B” E¨¨ĺ6˵™¶ghmî¤ŰíĄT(2gÍ2)/± ç(zµfˇ$Ş˘^uŤ°¸eff:;;�_„utt”ŮŮ9ÚŰŰxŕxýő}ľPk˲x[–ESs#¶ťbrr’ţţutuu˛˙ŰĚÎÎqáÂ(““Ótݬ&o§Nťćc»>ĆđđţgÁď˙‹˙€\.Çôô,‘p„ććt]Ăq\R©CC#466TmE+ÄQcc#‰D‚x<Ž”’ćć,Ëb~nÇOŃÔÔRµI˝‘ŸÓ40M'?ľ•v®ăô™KĽöÎIÎ_ĽDW[#­Íişo=aÓDÓŐŞŕŁçůDCcÓś<w‰ńÉ99Ë‘“#äó6R3Şĺőş¦ ›W\»Ąë’;6Čąsúúúhnn¶â‰8d/oľů6±Xڶ¶6‰8±XŚîî.úúz»Č/ůK6lŘ@[[¦i’J%Řŕëâ Łľľžžž.š››Ş.>áp¶6Ľvt´säČQ:::hll$ŹUIɆ†zĆÇÇQ5…¦ćF"‘0]]tt´sâÄ Ž=Â#Ź<â»här cš&…Bşş:ĆĆĆŘłgĎÍĎ{BVMBÂ(ź h iAÝYŹÔ„VžăÜrk§Rq¦ ¸óČĂÓČ‹yÜ—F’¸O 1aVÍ+&jŠ˘°sçN^yĺçěŰ÷&MMŤôőő099iÔŐĄŃußUUµňqďF×5ęęҤR;˝Čŕŕ ét’ŢŢ„đhh¨'ŹÓŰŰM$ˇąą‰X,ÎŮłg9qâ˝˝=,,d¸xq”ŽŽvÂá0uui^|ńöďßO}}=۶m­ĆŕÔ©S$qş»»™žö+Ő::ÚD"lßľŤŁGŹ’N§IĄ’ĽöÚ/xúé§yçťwčččŔó<úúú‚ m€_ĹĽ7@€»ďÜ_Ăă5FfŐß•šź•­âý§•7Đ”ĚOíGzÁŃ Ŕ=…ĘťO×őp]۱)Käó#JS{ďšç*z–U$‘H\&Š+ĄÄ˛J#ßÂĽô&2’bJS™RÍž¤Ţ*‘_,đoŢ{WrCIB¦Žˇ)R– üś?<ú$C ZÔ@‰¨1ĹP)]ZŔŮq?‘˙řď1MsU!Ď_uřĺ˙LÓDU4\ĎÁuB!łÜ"Ş+%«Ä˙=ř׼:yWÚeË*P„çŰR «&;›ŮR·‘ŽH Ťá4 #Ć|qoťůk†J#´™-tDŰiµ'‚°–W"‰ł©u±P¬J*Ôţ_3ćřńtvvŇÚÚB©Tâű߉M›61<<‚®k¤R)6oŢĚ׿ţÇěÝ»—ţţ>4ÍO -Ëbßľ}f]×Édٸq--ÍüÝßý=ííضĹĚĚ,>x?żřĹk<ţř'hooçĉ“ŚŤŤ311ÁÜÜ,˙üź˙ŞŞrňäIćććq‡ľľ>†††p‡h4ĘɧčîéBÓ4lŰĆ4M4M'“Y Ź333ĂŔŔ�SSStvvrâÄ b±8ŞŞ°{÷Ç–‘1RJł(Š_äWťäË•U˛ŞcdŰ6óó UÔęᓉdaŃŻD9||„‰ŮÖu6±cc'şî÷´,ćŠ>1Â_ü`?űŢ=…mű.+UEŚ…řW˙ěţŮ>ŞiŐŠ¦`lA>_Ŕ¶ÝŞP·eYčşZŤKeţł=‡c™!ţÓô÷8ŕ}P 6Ňö`<ŹËâíoEÇ—4Të6Ma_ä·äâ˝7‹ś+ˇ|˘Qo Ł˛ť.ţmÓo°+µaŐqµtŽýę%‰žç‘É,ú•TŞÎZŚÜü9ŃfňâŇ.‡0MĂŻřRUTUą˘ßÝx ¨´:Ž‹e[äó,«H2a ›A5Q€�żR,‰Šž\÷ 0Ř€8ĺÍ-o^Í&k~ÖšhŐ..»eTĆ ŔÝx �=I˝'«"٦*xaWŚ=±:´pĂđ+.윆ŤŁť—«É‡ň–•ÓąFsSä»ę†„(_W‰Ă;óÇ9š9Cťž¤!”¤ÁHáz.gňŁd‘3фFJ‹‘ÖSôD:y8Ţă‹Î^żeăĆŤ„á˛Ŕ¤Î“O>‰˘Zu‰DĄ±±‘ŤŚŽŽV[*4Măá‡frrŞ,Ŕ«‡Đ4ŤÇ˙ˇPL&ĂŔ€F:ťćé§źF×ý%C˙:‰ýý}ŐvUUٸq#3338ŽKss3áp¨Ş­qîÜyz{{Q…¦¦&ňů<Šâ'â l۶ Eń«4˘Ń(áp……yš››o(‘ó[NT&g3 člIŁ©ţx© Śút×őر©qú?~ű uI:[RLÍeyéŐ÷yůď3tq ´ň}()—­ŻMĄˇ1I{kťźx07E(´h)ÚŐ:Wŕ ß EΔ7‚śńTCč*(Ďr‘YÇ×I(Ý1řX=âľ:”°†RłŕUéRiP“kIÍWĚĆ Ŕ­G@Ć Ŕ]JĆTĘA"…ďZ˝»3ŚÚÁŚřşBQČg`ćbU]ýťäi‰ďľTŃz\]˙îVÓ;Ű'Qv}R¨µkľŰŕyĂŮ ¦Š9,—j[’Ŕ˙] <p„Ä69lf­,çóchřöť®pý¶&\„pÂbŃÉs±4…ĺŘěiŘuMKZMÓHĄ–’JUUillXöÇqŇăSźzŠh4JOOwµĘGUUÂá0]]ťŐc]Ń“inn ™LÖ?ˇęď†aĐŃŃ~Ůg2 ŁŞ+Sű>†ađÄź ˇˇ]×/{żşşşęďŃĺúúşŞNÉ Ź!Eŕ8.˙ůŰŻ±±§‰'ďßȦžÂ!MóŰ‘tCĐ6‰ĹÂśťăЉ !ř?żűűß;ÇäL¶rŔ«#©zć–CŁé*ÝíŤôw5űV׫ŚQ5;“KV«+’|q;'“˛ŕî­†S¤Í´VĹ0 J‰@F4¸ż±%…¨3‘ˇr»’~»RŢA^* ŹÍáľ3…81Źňkđl˘ĆE(á…Ůbv‘2ăŐö˛«ÍnUşMzK±ąěöeî^•ń´n @@Ć @€R”“9ź°X"W*+uŻšđ­L-–îß_;‹ĺw*8Y·„íą—Ý–5ŹĚMjó‹JÂ!Ch$´0şPîÚ{Ń–ëpfaŚ™BŰSPËqe"F~ „đŹĄ˙Ý®'±qQ=Qô·Ęó+ŇI=MŇH˘ĺ–Ř|&“I<ϱXě˛vźŠ¸qm»Č­n+Đ4í†+\nŽt´7ă:6ńă÷ř›_ ˛˝ż•ßţµűŮ»˝ÓĐPĘßÝ0t’‰(™l‰·/đ“wÎR˛ĽrkÍeçmÍ™‰‡ŘµĄ›Ö¦ú+R*‰ĺş,şEJŽ…ţy#«źtEkLů}ä*#L V}|µ× ŔTušADŃŻHB|ب|&CÓŮęç'ů÷°đq h@x)DY,Y,;¶Âĺ­0WDľ:ëË*”‚Nµ‡Â„UU}çdyN`ă‘·K= WVćQąÄŔ]Îu­i^\í~eť˙?U¨Ä4“°â öU9¸đ[ňdU<h© Č�p5>ćj‹ňr9żXąę hž®á©ęµv€‹$뙵˛dJyrĄŠ$BQ UGUÔňýü+_¸+Őµ˙—RÖ$‡«ĽV‚tláâz)=ڎ¨we»‡çąĚsdÇU«U. QE­ëxbĆó«fW)»X—‰Ąâň$Ŕ:MFÉPb™‹Ň•Rľ‘Uu˛m×u1MÓ4ń<Źď|ç;€@U5úűűٶm+®ë i…Bźţôg<ó̧0 ‰‰ Ž9ÂsĎ=W}/Ă0ĘvĚŽăTu>®7Ńţ0zŠ"FÂ|ůéťůÓWÉ”öex&Ëů×őd‹%Úęâ†Ćô|–g&řěÇ·ň7ŻĽŹ­(xÚň„~ůŻ~u‰¦Ú[ëůÔ› ™Ćegl…d)¸6sVžůRŽL)ă“8FBW|·ŻL¬®a"«Iűňqĺź{ âň2Š2ąćJËsz¨j ¤¸++.*ß{}˘“§¶2ěN2#˙+k Ň—ô˝l~AJ¤ŇTPBQř|/BŐęU(¤ĽOč›Y—jC˝âŘňÉËu±r,–rĚ•‘RŇ ˘z]Ő–ťWŠU-Ér­9Pŕ“ě!]ŰEę!"BG˝CÖŞř®Ąď"W™k*íÁ‹‹Y†F.ŇÔXGC}]µjŐń<­Ľf¬Ü¤ńĘ× UU.{_Ąć%’§ân©ŞÁś1p÷3/pĹ;ßÔČŞËšqé®mőߪJiă&2őóxťmÄ®’�”<‡«ČXfšźś>ČXf CŐąŻm=››{h‰70_Ȣ* ép|ŐĎ7_\$¤™„tŁšČNććë&ă™iÖŐw Ő$B<é12?AWŞ™˘g“sUt%tW†FU5ÚĂő¤EŚś;‹+|vE�^ą"Ć'Z¤OĆTś–ĘĎQŞ ÷R[BA AJŤŇnÂĐŻmlŰ6gĎžăâĹQ"‘(ýýëŘ·ďMb±ÍÍÍlßľ Çqp—Ď~öłLMM18xŚPČäŇĄ ä··‡ÉÉI8H<'‰P*YĚÎÎrěŘ1\×eÝş~FGGéííeddx ęÖs7bĄýwČĐyx×F}÷ ?>2FŃň¸8_äOţé]>ą«Ź8pĂÔ_,°µŻŤ±ą,ožľgŕÉ+W8” µHHăĹ˝lčmĹĐ”Ąäşćł¸xä\‹ŚUŕĺSű8?= úęÚŮŮľžžúVT.ĚMŃ™j®tµ‹é‚]“Q#„*Rzä¬y«í:ÔG“„tsäâ12‰žt+.Y§„.LEż«§żâ3ő181ÄOÄ ŽB•FúVňĘŞCř gŘ??˝2ifHŤ˝rϦ÷ keKg±ú´ëJIÖ-‘±ňĽ=2ČÁ‘ăH)é®oĄ;ÝĚžŽM”‹˘m‘ ĹĘäĚ ˘TzLfgi‰7T«-Çb*·@X7p=—¦Xz‰Ôeń˘OüÔG’děšP©Q€�n®ëqirš…Ĺ˝]m„Ă!¤”Ľuŕ0ßúöKôővňűżű[475"ĄäâĹ Ůşy=Š"đ<ÉüüĆ&h¨KÓŃŢR^8\›Ŕu=ş;[1 żŠôŇÔ ăSt´5QWçkµyžÇ©3ĂčşFogP…1pצ’H ˛VŁ śů áßY•”*ýâ!Ęi‰,30KÄŚDş.N4†“·ń sŮ]Š•C‰¤äŮXžÍń‰sDtßÚő c SĽ9t„¶d Ń4GÇĎ)娋$p<—şpśa43ISĽž·‡ŽŇK±ą©— ó—H…ăź<ĎŽÖ~ţâÝó/ů"'/ a¨]éÎĎŽ’×ϽǿzôË„tËsń¤źWÝ-—ěĘÝnSÓyĽs %ıŮ.,N3šźaÚY$/-\é!„‡‡5„‹WN˝jÉ !# ($CiÚ#Kí<WÓöX\\äÜąs¬[×Ç;ą…óç†řµO?ÇČČĹâ@âş’C‡1??O,cdd„śsoô�� �IDATuëú8yň�şnĐŮŮÉŕŕ1Z[[‘Rröě9Ç%311A(ć/˙ňŰ<ůä÷Ś›HíqKÄ"|ő™=LpđÜ ®üŕÝł$lďiB©dŚK™/ż:HĆSfČ/i‘+Ć!ţ`Së źŢŐĹŻ?¶Í'¨VŃů‘H,ϡŕ”8==ÄÄü4źŮöRJ cxţťéJžĹßy…Çú?ĆBa‘T8N[˘‘Á‰sÄŤ§Ät~žűÚ60:?…Ä#¬Leç/äŘŰłťKą9\Ď%ŽŁ«ă™~rú�˙áéßAWtébKSčwm¬Ŕ·—®OÔńµŇł83ű8MA±ń*‚ÉW"©YNR+˘^˝ÎzľÖô ­‰ĆĄůoµ™EřDJÖ.1‘™áääźŢô0±P„WĎľËńKĂějßČĹ…)ÎÍŽˇ«#LľT`kË:†çÇqĄGÔóňń}üćÎg[Ć‘.Ép”#ăgčI73µ¸ŔĆć.&3s´&.,L– śzžěߍ[>oBŞ\p3«<é!ĄWnYöQ*•–śěl§z˝r])ýJEŃAHÜr«łí8ËÖDŇ“HĎCzKJ×qBŕ¸^ą2tÉ1T–J2& c஄˘(ŠÂr1<‰ŔĄęŢRľŕyR˘Ôh}TîćzÂ×”ń„(‹ŕ*O9x�9ą@ÉV®jĺZą¸şžÇL>¦¨Ľqî=fň 4'ÎÍÓ[׎í:Le縙bCC'˙pęmv·p`ä8÷lg>żH<f&?ĎÁ‘cDĚŽçaą6¶ë027Á?ś|‹n˛­u‹3ěh]OŢ.âx~«'˝»÷˘©¨4&Ň<ÝĂŢÂ.efÍÎ0Ľ0Éů… Î,N0fĎ“Ą„+<„_1S!gjD9+3B€ŽF“YOc´nŤ ˙9ŽăUuwRé4±X Ó U[‘üóJ­/®ëŰ3;ŽSvARŞ 4EQp!®»ôXˇP ™LR(î=zStMe{_}2Ǣý>'§ <ÉŹ spd†ĆD„\Ńbb.O޲ńT V«¤žŻß$Q]áÉŤ üî§ď§©>uU‹{Oz¸Ňeta’ţĆNŢ<Wz¨Bˇč”p<Oş,ZNOŁ**Ç/ ńpďV~|j?ŰZÖ‘ŽÄ)XEKyŢ;ĹTnަnÂşIɵ™ÎĎóý#ż 1žĆń\ú:ĐŤ˘í„zUőDr·+Ăúí_*ő=üžň<ńéźńŞ{śy­€·”^\qT* qÇä“lă·g}}†Ş_u¬{ŇŁŕ”(96# “|pöͱ4c™<ĎoĄ´›ŽóńŢĽ?~]Óywô$ńP-ÍëÉ/`০†97w‘í­ë±]ËuX(fyĺC,– 4DSĚŮŐ¶‘’că”uşŕŕĹ�Üôş˛.ť"™cK.Ť›úůÄŁ÷ł~]‰DĽĽ&Qhj¬#ťJT×B’‰8ş®W4MĄĄą)%ZÍăué$‘HHŮéŃw6ThomBQ”Ŕ> cŕîM@TUĄíe~äGDŹFxN5őH<T¦ťmě&˝\éHۦ”͢xŠí@É‚ĐBUńŇu$vîĽF{‰@UQhIÔsjr®ş:ŇÍüâĚ»ěíنZ•U„B]$ÁÖ–uĽvţ0 ±-ÝL,N6Lę#IŽMś§·®ŤŮB†˘“Çv]$˛\M“`KK±P” sÔE«š *BąëmDTU%Ť‡éljĺc¶CÁ*’±ň\š›ć©QŽĚ ńAq’)7‡…ŤŢ2ń^ßQ „đPťžh3˛¦ý'“ bëÖ-¤Ói6‹EikkE×uTUeóć¶nÝB6›cjj’p8ÂČČťťť¬_ߏmŰLOOłn]]]ťĚĚLÓÓÓĂ™3gp‡îînĆĆĆřŤßř<|pŰv0kDmď‰Ĺ¨DL“ǶŻÇĐTţźWOđţDŰK‡ÉbO‚ R7—ČÉŠŘľŔŞ ¦Ă ››ůíÇ·ÓŮŇ€Ş(W9]šPŃUť-Í}üéÁđÉ {X,™ÉÍcŞšP±Ą‡@EéN·0•[Ŕ“öl%o•X(ćH„ăśšb}C'Š"(ÚşŞăx.¶çâH—{6s)3‡ăI!ż%f‰xđÇřÝNÄT¨ŞĆúş.~ßx‘­“]ü]a?gÍi řVÖr"F‘ †TY_jâsˇx¬y'-±Tˇ®‰ŚB **1#LX7ńđŘŘÔIɲĘícKŐOš˘˛ˇľ“±…)°±ą‡sÓĐ•nâHŹL)G[˘Çu°]€’kŁ+[[{I†cĽ54H2ĺüśCmS’.‚¤%@€�7_»%Rv/¬ťű×őĐ×Űu™`4^ö\ELÓŔ0ôËÖ@Ѳűa픇Ën‰KÚd>ˇ ÂqĹUµŻ•sŻu[­ü¬ljyÓĘ›č@Jć§ö#†?@€�÷ĽrIĄëz¸®‹íŘ‹%ňůŠĄ©˝÷ŞwÄW.ô}ÁŐ"‰D˘zw ’�TŞěü"3ČÍĎ@Ĺͨbł˘ęxZO3AQ—˛éůL±®ë·ÔH‰(_dC±Í==‰řę–Éĺ÷)J‡™b–‰Â,Żś>Ä‘c %/l{”˝ÝŰAJÎĎŽ±PĚbę˝é6\8Ά†NŢ=IO]épś#Ü׾#cghNÔ3Cä ¤„TŤśca96;Ű7pnvŚ‹ó“¤Ă1îŮAX3‰ë!ŞY&eîĐ’EJćç3¦‰Şh¸žë:„BfŐşňĽ•Ż«ýÝó<\ĎĹvrĄ"Ss3śžĽŔᩳ+ŚsI.bKWzHák’¨x´…ÓüÁÖ_gW×f UżćÝ#˙Ľt«çŤJU<ü»a•ĎŁŞjőůµŹů0nu±TqTRĄ,ÂçUj•÷­ĽîC]^–ĹEE×u<ĎŁPČ“N§®ŘKOâz.–ăprč"˙×+Gxm¬DÉqq<_<Wú…/KvԕŬ�MUĐ´Dľ¸­™_h ­uITUąěůŽg˛z<])™łň,:EŢąpŚż9ú3¤„Ýí<µájËßľóďÓžl¤.śŕüÜëęÚycř( #̦¦NNŃś¨çäÄyR‘u‘%×Áv U%˘™śža[ű'&‡�Źçö˘«¦˘“ŇÂŞvGŰ˙ňů¶íVI<˲ĐuőšbĐ•ůWJIÎ.pa~‚}“GyŐ9Ęąđ EĹY&Šötúňő<˘nâ‰ć]´ĄšišŞ]Ó*ľr^I$óvéb†“Ă|đUfňúë;ůęýĎRB,łĚäČΰ«}€ˇŮq’áĂłă\‹]m9:ţéHśéĹ ¶Ĺ¦ćÎĎŤŃ_ßÁ‘ń3liéăÄäy65ő7ŁĽvî0m‰zÚŤlhčDW5ęô†˘Ý1ÍĎóČd1 MŐY äĎ'6“‡vp8ä'nşQWną;ŰíśW*óžă¸X¶E>_ T* k„ĂĆU…Ő%ż:ŢW7ó]k_{§ŽŮÍîó¸â÷[=Á—\I‹đęßO¬xwyŮă~˝\AÔ>_¬¸ŞĘËžu7ގ¨D7>Ě6`NysË›WłÉšźň ^dL€�Ü%dLmďl%©ŻôÔĘrËB,‘1B¬¸„-ŰÁęÓ|E—DYş#ľjRRĆô]_r¸”uO$ľJŤđŤŻĺj×ňÚĎx˝k‰š—iB%¬ÄőşPďč üµ’1«‘0ËâWţé• 1Y‰˝ëY\äüĄQŢť<ËŃĹ ŚŘsdß±jWއ?|đ7IÄă¨ĘÚ Y{^űó—»]­ü«=~·%Rk!cV‹Wes=Źl.Ď/Ţ?ÍßźbpÖfÁv(ş`×ČĨĺELD‡ú°ÎŁ-!>»ł›m}ťş±Ě-â2rsĹ!+yóv‘’[Ş:P\ń‹+-Ůn,AP„‚®¨$őaE»ăńĽ2¦ú»,ĎĹxry¦gg™ČĎ0ĺfPÔ«qZŁ ÔĄÓD#Qż‚Źĺńąę÷–•Áźurĺ/Â]¶Wń˛^–Uć„UâTý,+ŢK®j$5“°˘ŁÜA7Ą€ŚącŮÄR „#Ń2Iţ«@ą¬<ko÷ßîLLožřą|ň»ÂÂóŞŹßBŽĄn;´) Ŕ‡8Ń×ţ.ËŐ,WÓt7¸ź•űşŇŇ+¬č¨fś˘k-iH|á۸~ E#¤č¨BA ß±¦ŇŽđá\ÂĹšbWKŞU⨮H°UEˇ>•&™H°Ąw=‹…<ă Óś_¸D޵x°m€X4z™“εc{}gĹĘŘ_)Iş÷ö®~~×>¦* ±h„§voe׆ENŹOsr2Ë…¬Ĺ\ J®‡" ˘*4†zR&ŰZŇôµ56 LMC(bmÇ©lrf(*i=LAQ±Ą{GŹŚ.TBŠŽ®¨Z‹Ňĺ»×u®*(eÍ%-'ŽŇ!ŰńĘí]~{‘R¶n˝¶>Öj§Ź>3˘…:=JAčXŇ)“gţ˝_źŚYcR#Żë€řç¦P):†˘.JwË̢¨¨zÍŚWő·ŕV! cŕ'Ť+‹H*É|•ąÖ]Ü[D�]žůÎ?!4B޶”KH–śdn7¤/D|YBs›wľě¸‹ÚŠĄ›8¦5äŚ�UESUBşA,Ąµ®‘]lZ5I]YÁ`µSV¬ĂkĹŞŞůV‰„ :ëxÔq(•J”J%\××YŃ4 3dbš~ËśXĄ˛lubS– Ěňs¤ź|BĹĐĂŢ“Â.W@•1q­A˝š«Xmž¶†ńx]ăG,ťU* 1=ÄÚî_éË‹Ë_z=ó઻˝q @€�>ZČ�¸SÉŁđ4}'c™¸ŮZ“ű;•Ř.Ë®łúâ¦3Ćrň%ýŚöŽěٶír|jĆĺVדđ_F¨¬Śń^ŕĘ ľëz¨ęR‚®i*ĹbńŞ­/WJ躎¦iD"‘Ëţ_K�¬%FË´cĘm(wEDŇ'·l‘şĽ˘ŔwëZ[Â#ăáÖŤ!qăRÜÜnďteLĹIÍźŻ‚y&@€�î2&@€�îT.T^čúš gŽ• ˘”ň¶í˙8HËó€ŰlĂ[Ń (•¬ňń©­zPޱşÝĄ €�· žçůšM5™ľ™F±XŔ0ŚënQąŞÝń*U×S!) 5˙ę5ťH铜žçˇëÚ2RËqlŰF×ő™l °4––‰€ @€ŰŹŔ7/@€�îÇ Ş­Žă’Ëĺ«Á«=ďvl÷Nvpg’®J’Ďçq]o™Po%Vž'Éçóxž\SUL€Ű›4 ź Óô*!#„(˙®˛¸¸X®ş¸öX\Ůnt=äÍU ™•f„ç;őÔ ßîíĂŽ•]@ő…\Őš8ů1Ëçó8Ž–wăĎ.š¦ß{׋�¸‡TĆ Ŕm ^®¤• Ş*†a`Ű6ŮlĂĐQUµĽ0®<ďzÔ—żćj%WzţŇçĽńýŢĘĎt#ű^űă˘z7Řó$†a,«¶�˙~%V™Ě"¦i ięužë;wnÝńąŢsévžG×:>W˙śĎs±, ϓ躪©(JŤ(ŻŞb&Žc“Íf1 MÓjĆađßćYŻC)%Ą’Ťë:ľ3ĎŠż2ßY–¬ÎşnTăt#óÄ­š?n÷ÜuµyöV~‡µÍ +ç@ó˛90@€�dL€�ÜSXŤ©ŐŃ4żíŶ}«l×őV­’ p›ŇĆš*%MÓ0ŚŐŰ*ä™×u)•,r9ç2™�·7V•QÓ4LSż,a¬ÄM×őj ŚeŮ E\× ĆŐ‹•ßÚ§( ş®cšˇU“űʸ2M×uq‡b1[µp÷Ěŕö" cŕ/‚Áż;¬( ž§ß5­żŠ1¨mW©Ä`Ą†H%VŞŞVËúÜŮXUĹ«µPH)«D€ßbćăęÎF !VŹŐj1«<OUUt]_«@oéî ŔíE@Ć Ŕ-Ŕő¸ě¬Ô©X™tIČťIFV‹GmRż’ńÉ3/(ăżÉâ•ĆÎőÄ5Ow ^e‰\&{-g«Şő»P�ąBČ‚ö˛o ™�¸ýČ�¸…Éă•ŔĄ¤ci»˛"f­Ic°Hľ~ÔŰŐrVţ˝ňqmŚ‚äţÎĆěz•1 âu‡b…¬ş‘­5¶µD´TE˛xÝúkÓňůoms`€�¸ýČ�¸MI˙•’E ¬ŹŕÖĽ®śŇ\CĐT´ÉÜP\–Ž«/|ą”8VJők •eűŽă”_$‹w2^P!1ýßk[`jɚʸXj#“T¬Ś–âU¶6ZM\»ňâz^ł–÷»©´zŮ÷şuĎ˝‘×^ţśĘ¸’ŇŹŤŞ*€˛*A]‰_E'fĺŘ *3nÇXbYś–â¸ú @€�n?2&@€�nůâwőŬżĐĄJÂ,wR’A‰řmŠĹŐ’N×u±,{™ĺîR¬d9Á÷ޱ ÂrçÇQĺ§ďüb!%UňÚäÝó\<ĎC×µš˙W’˙ŕxŢIxžÄ˛l<ĎAUµr –“Ń®ë iľoí bu'Çe§2»*ľ\{ŕÎ!h| @€[Ś« Śzžďî˘ëÚŞŽ0W{}€‹Ĺ•7PUĂĐđ<·ęĽSIđ+ŐKKë ,Î8Şń5Mđ+•jÉĎóp»ęłôÚ%"F–+Ďjů9h’ܞť"0M!Ŕqěe˙s]·JÄčş~Ů p'áëc†^ť ŔĽ^‡ @€�nÁ’v ­+RJ\×EUTumw §ĄŰźđWÜ’jmý;÷nµ|˙Nť#®/Ó4pś%‹ńJ™ď¤¤]#^’2-ăÇC.cWŰ\?4M«Î{Ë«ÍXFšÝčx âsóă©"N®Ş*®ëVŰý Ŕ¸N‡ @€�n͢¶6á^™dÔ&ůš¦^Wâ^ŰËżÚ{¸ńdn)iÔ±, )µjś*®Jk%]Ëľ‚Ţü8«´RÔ&÷Žă‹EVmő“RRQ’„,«ť¬WkßÖ>¦€jűźëşŐJ@\‰˛ŇŤ˝÷j1[mlq»Ž„@Ó(K7M’ @€ë{C @€�·6Y\M„ré®»¦…îJץZÔşŽ¬ćŚqw/¤ĺ-!7nU¬–’Fp]oYëËŤŢ^–4:6v)ŹçXEC GŞŠ‚zÓU›í%ńÚ%§”ZAŰZ㣓ěËe6ăµÉţŞq.źv˘ć4¬mQ’,i:--(× Zďöău§?ďjDtĺ\ôĎKEŃ®;ćWrČZiAżrľžŐ|ýšÚ6Ş•źézŽí•>ŹçW>÷„�UËĎŐ;3_Ü|ů¸ pďΓKç1˄ϯ÷=*Ż˙0P{ SĄ\eçUÇeEsďĆŹx®‹P–_WŢü ČÉ� @€�÷!sĄ¤äzńµîµÉm;”J% CŻę.\+)ş;»‹YŰgľ±Ď+ĚŘić_ţĐÇ~«ĹĐ>÷g4mzô›[Dş®K6›%Łë:  ĂŔ˛JÄbqt]ò,rą®ë‰„‰FcM)W’”«Ź“*Š\vúyB"<¤ô°\Ź’+±]‰ăz @S¦¦`Ş şşÜĹé^Yś/ŻZöź;ň=V2gÍóŔeN®‹eŰ”JĄŞ SUSHLÓôçĂrEÎŤ$±ů|ž\.‡Ă0B‡–ÍłľîŤ‹®ëkÚOĄ•®P(‰DŞíŹž„śe3‘ń83岩EŁ%ˇbhʇ@˘ŐÎŃîu2&›Í˛°°�@"ž ž_׺ŁX,’ÉdH§Ó†ńˇ|˲XXX@QTŇé4–e155@<#•JůăďÇŠ”—&'‰D"¤RÉeß?—ËS,I§Rhz.Č�¸çCWrTZë‚hÉňŐ_ü;®G6W`tb†ł9;:Cwkš ťI:[ë†CUaŕ•ÖżkM¦§§ijj¶mňů<±XlM ±L&ă8$“ÉUďVyR’)zĚĺ=Š6ÔER](wm^+o*ţ®k“»đ>rň 1±€Tň\Ü˙·ÔőnGŃô«&¬×Âôô4ßýîwŮ˝{7}}}ü§˙ô?óµŻý7|ăßŕżű·@<çÍ7ßâ­·ŢFÁúőëůô§ź#‰|„ďň‰+ćĄÄ^b;.Óy› ‹6Ě—Ę8\*xä=—„®ĐŃŘTčN†čŚë$B:şŞ\׸r]—™™ŠĹ"�¦iŇŘŘŞŞH)) äóyęëëoKl\OR˛=fr’Ľĺ1ꣂˇŔŠůčV4·â}jďî۶M©X T*âyŞ˘‚rae_–U˘dYhš†a—µÜ\í3UbőŇ÷_âСwimkŁ]F/đůĎžX,J>ź'Ž022Ěąsçy衇ĐuŤb±H<Ç4Mćçç‘R’N×aŰ~2‡ąxqŚď~÷»üÁüTUĹ“0ź÷řű÷ňł±=xăŚÂŢu&Źö‡‰‡‚»ńn ĄR‰wŢy‡W^yÇqP•ßţíŻŇŮŮ鯅 ]K&*ŠRoĂĂĂěŰ·Ź^x††Ç©VŁT„ž+—­!Ó4«z^†a`Űľx·®űmŔB4MĂuÝ*‘jŰö˛÷©•ĄR‰ď}ď{?vˇ¨|ö3źÁó$ßúÖ·D"D"aŢ»—G}Ó0}jĎ«^¶…~Ĺ‹PPQv čş^]Sĺr9ţřëĚîÝ»yöągŞźË¶m~yč]Nś8ÁľđR©¤˙?E`zp‚Č�¸ëÓÂ+,ú×rg˝V”Ňóüddq1ËÉsŁÉňÎ.› ţ1¸p¶ĂgŘÝźd[§Éću$“ɲVXÓgŞěłX,ňÍ?˙ż÷űżÇÄÄÇŽăî§©©éšÄÎřř8Ĺb±śě+ŐU{áŢËOŽ8uÉfľ ŮФóHţ&Cűč%RJ¬bkâjvrQTwč�ůů)Śh˘Ş[r#‡ĂÄă Ξ=ÇüÜmmĢŠ…"–e“É,ňĆűxöŮgčîîâرădł9Bˇ0Ş*îéqµzűŘŐťxdÍćII¶PäÝKE^łygĆfŇŘ^ů—~‹ B‚p0čx¬Ĺ`o[††¦ˇ( *ĐUö],y˙ý#9ň>B¨ läńÇ?A(BJÉđđĽĂoýW_ąf•EĄ•eĺ·“rµ1.ޤî/‡‹ě?ďpiŃĄ5ˇ˛§[ĺˇţÚŠýÝlëÜ•ŞŻgެ}?Ďó( ärYŰFQŞŕ«••_‡F€Pđ<—b±€®ë†é'źkřLŇ{ăĆŤ<ůäăضÍůóC”J%Ž;Îěě,‘H„©©IŢ}÷0---9r„T*Eww†aręÔ)ňů<÷ßż˲9zô‰D’†úJŶmc®„ăă6''‹’.P€CĂš ⡠U(ŔŤÁu]fggq]—'źx’—^z‰·ŢÚOkëp™l)±~ĂzNž<‰¦ilŢĽ™Ó§? ­­•d2Éţýűill$3==Íčč(gĎžĄ­­Ť††FŽdË–- ť˘««‹l.Ëřř8źţô§9uęgĎžĺńÇçČűG™ťa×®];v Çqذa†a0<<–-›Ů·oMMM hmmĺľűî#›Íâş.Ź>ööäő×ß`۶mŚŤŤńďţűÇáwßă;ßţ»?¶$Ľ˙ţűLLL „ ˇ±ĎőČçólÝş˲8~ü8ŞŞ200@,ĺÎ0==Í©S§imkevv–_:L±X`Æ ĚĚĚ0>>ÎÜܧOźćâĹ‹tt´ł}Ç6ÂápĐĘ cŕ^K"ýDrmeůžçůwîgçřĺ±sĽwÁa8—`˘Ô„Hl‡P +?‡‘ěŕ’ŢĂË#ÓĽ3±@×ń“ěhUřŘ–šë0tEQ×”�9ŽËáĂGČĺrĚÎÎ244B[[ŻľúĹb‘Ť7`Ű6çÎťcÓ¦M ‘ĎŘ´i�˲(K‹~Ň‹ĹřÄ'Ą©© Ç•»čđć™"– !]áÜ”ŤŞ@kJ»«Č[ˇSM"ł‹,:*©Öű°D2pôv¦¦¦I´őUó÷I€CˇëÖ­ă˝Ăď38x‚§žzĂ4RŕşNˇ€çą¤Ói4M§··‡P(ô¶^®+˛j\<OJ.Ěçxé|ž×Ç.Ŕr=<–ÚgVľCIŔYƆŢťÉđl—Ĺ':ăÔ… D™�\™| …B läĉşIooäüů!ş»»P•“'N1<<Âđ<ʇz‰‰ Ž?N"‘ ©©‰ĹĹE.]şÄîÝ»9qâŽă˛yó�ăc ćçhimˇT*ňĐCŇŇŇBe6ďńăEf= &=^9í2Т>¦p«¸ą[é:VCą\–\.‡ôܲe‰đ©Ő¨µÇĺDɱ-\Ç%‰˛R/xőĎë[/^äčŕ1ń<?ą<F±X˘PČÓŢÖFkK©TŠááĆÇÇ)•,¦§§Éd2(ŠÂŕŕqt]çěŮó‹%|ŕŞ.Uĺ{N.:8.ljщ‚ńŚÇ|Ţ#gyÁE3ŔMC×4 ź”ô<—×_jrR‡�� �IDATť±±1î»ooěŰÇôô4…B={ö�přđaęëëyăő7xń3/˛˙â±őWECcĹB‘§žzŠľüC†††9{ö,íí(ŠJ$Áq\lŰáÇ?ţ1ŤŤMüđĺ—‰„#|púććçQ…˙ř'<˙üó:t¦¦&~đ˛yófćçćůçźgë–­466ńąĎý:/}˙%Îź?ĎżřŲcžNwW7ŽíđÖ[o’ÉdRrđťě{?ńxĽüďăÂ… <ňČ#ś;wÓ4±m›·ß~›˝{÷ňü€––ćççÉeó|ç;ĹýË7˛T>ő©§‘R266ĆýѱaĂÎť;G"™`}˙z S%hë 1pݦޫ9Ö¶PĚÍgřŮűyű‚`\t1ď&!\!éąäç>`ňĐ_Ó°ësÄ:ďC$:óZ¸™ćxn‘WĎcO‹ËłŹí¦®.…¶ˇ;Ďó(•Š|ýëĚââ"¦b˙Ű9uú4étšÁÁcôöö ( .Śrňä)~ř!~ţóźSWWŹ®ëüô§'yä‘GĐ4•Lf‘¦¦&< c.Ž'iM¨„ •LŃăä„CŢňHG>zw¤ç±X´Mí@mßFIŰ“ĚĎŮäł6=®{S®%š¦ŃŐŐĹţý¸téëűסi:ĹRŁG«w8˙éźţ‰ÖÖ6&''ůň—żÄ˝ŁŐskáIÇ“\ZČóg'˛ü|Ü!cW„SŻľ ö�°]É{6Śç XŽËsëŇDMUő*qÔ4ŤĆĆ&’ɡPUŐřŮO_Á˛m>Ě“O~’R©Ä[o˝ĹˇCż,Űt«ěŰ·Ź§ź~šsçÎ1==ĂÔä4ýýë0 BˇÄŮłg™™™a~~­[·pňÔi4ÝOľNť:Mcc#ŠŞpbÂe±$‰…­ •ĹĚĺ=N]ry8¦Ýuób…Éçó,..‚ô|ĺbşľ0óňRˇ•b»Š˘`Ű6…Bp$|MŇH_k¦ł«“ť;ďò,lŰbjjšcÇxđÁÎŽ„ŠB±X"Ť‰DCU"‘_‘cšś?ŽH$B±XB(‚|ˇ@6ë· !čLkDM…ąś¤äHfsíu©J€�7‹‹/R,–čëëĺţîgjzšććf}ôQţôJG{'‰D‚ţţőtvtňÍo~“Ů™96mÚD*™F*Ą’…eYtuvŤEinn¦ľ®S'OÓÓÓĂŕŕ étš/üĆP„JWg|ç;E©Xâă/<ÂOňSžyĆoú“?ů\Çñ]Š…"Ží"=PUťžž>öîÝ‹aĚÎÎ1za”M›63==ĂkŻ˝Ćž={Ň#źĎ177G±X,kD 4Őż&nßľťźüä'|ĺ+_á›ßü&cc9ţ<_űÚ×Čfł|űŰߦĄĄ…¶¶6ž{î9Ž9‚ă8ŚŹŹÓŇŇâ“Ř5óQ"‘ŕńÇçäÉ“äóyf¦gčë]woIßČ�pĄĹ˙ĺWsŰqř˙ó˙Ʊ†ĎŁÔ÷ă @AJŻ”eúÄŹŰ˙ ÔhłĄ-śDh:Rk$C9ş83ôoüü?ňüŻ˙J(tYŰŇj0 Ż}íw8~·ß>Čb6KWgO<ń8\ĄĄĄMÓ‰DÂtvvňÚkŻ‹ů: ´µµ®řŽĐšR8rBş ¬Ăđ¬GWťŽ®~4W3®'™ËäŃFĽtK8®ÄsfÉ-ňů<ńxü†ß_QÚÚZůřÇ÷˛uËVęę‘~ř!&/M‰„ůŇ—ľČ‰'ÉfłĽđÂó¤RÉ5ť5Ňłâ’4ť-ńç§ůŮ͢ĺáɵß׬¬»m.ć%˙ß™qež'űëQőë!}-!Ý0ŘűńŹc˛ě¦S(ظq7L&yůĺ—éííazz«T"6Y·®ŹÓ§ÎpćĚYš)‹H)éčh§®.MCC™L†BˇPµôîH«hB +šÂЬŤŞ :Ňę]ŻŠfEfa�•ňÁ_IÄ”ý°DĄUi!S!ŮTEĄT*˘j*†a\µ…TUU¶mŰ‚˘(´··‚Ç{”H$Ěoţć—Y\̲qăFÚŰŰ8wî<†ˇóÉO~’‘‘ahnnćđáw) <öŘcôőőpáÂ(ş®łyó!(óţľ„`s«ÎÉq÷G-2%ŹdX°»Ë )1nŠ˘`===|éK_¦ľľOşÄ˘Q‰$őőőôőöaŰ6ş®‹ĆčééÁ0 ćççřĚg^DJ_ß*ťNÓŃŃI*•˘X,’JĄyôŃGřÇüG6lŘŔČČ‘Hžn˙FM$á‰'žŕß˙áŕ‰'ž`ÓŔ&Ć.Ž188iěر¶¶6ŠĹŻżţ®ë‡q]MWˢô…|žźţě§hŞĆěě,ŤŤŤÄb1Eáĺ—ÄÔÔ»w瑩Î×f2Mx<A*•"™LR__G4%ťNłcÇv±,‹Ý»włcÇ~ôŁqčĐ!„$ ‰ĂĂĂčşŽŞŞÔ××á8óóóض͎űv0xtĎ“A‹R€€Ś  @€ŹzňË(¤l4UEĂż?/‘žK©4ÁÔˇďá”ňLůGR;ŤplŁo+\Ŕ•GÂb6‡”k+y7M¶öfb±étЦ¦z6nŕ•W^áĺýť;wŇŘXO*•d۶mś8q‚żüËżäţű÷`&ĄR‘/|áóüíß~Źúú4_ůĘWüdH¶·kÖ™Xô…ţb!Áöťů#¤łŢ˛f¦g GŁxŠP<ĎA7C‹%¦¦g‰FŁŐ6‹!ńt]gϞݸ®‡®kH)ůĘWľT]Ś !hnn®jyüŞ- «•fRR(ŮěÍđł %Kg™ŁĎUxĺMÁTVđ_NŘذHO]|Uűăe‹-M%™Śc--­l۶…·ß~“M›6±gĎ“ććfŽ;ĆÁyöŮgřÔÓĎđ'˙ď7Çă¬ëďĄÁ4H$¦Á;‡’Ëgioo#—Ë“HÄill¬n•¤E(’ö”†–g§JLftMĐߤӒwMŰÚJ«ęl6»ô·rŹ‘”®í‚S¤”ťÇ)dB`F“„RŤf ©DAVlq…DU}DÓ´ęřXMKQvěŘľlĚ<đŕžË¬ăşş;«¤ĎŽŰPUUUyüńÇ‘R˘Ş*[¶la`` :ź{îY„Rq‚ˇđůÝ12㲾I%Q|{ë�nŞŞŇßßOSS3mí­Äc1rů{öě)Wę5đ‹Ďsřđa4MŁż‘Hçž{–|!O˙ú~Š…"źzćiÖ­[ÇWżú_óÁ™X×ßGOO7ŤŤ DcQş»»‰Ĺ˘$’ ššQ¦kFH$ÂýěˇŁŁŤĎ|öEě?€'=>ýü§©K×ńĚłĎpéŇ$źýÜgimm©’dža ¨ ťťť<őÔS|pú4ť]ě}x/…Bç~í9<Ďăŕc»va† „ěܵ“ĹĚ" <űÜ3D"yäăÄb1šš9tč—hšĆ};ď#ŹăşăĽđâ l «»‹}űöáyýëú©ŻŻGQ˘Ń?üĂ#ĂĽđâóÜ·sš®úšbÜ5<.jţ®ü®Ôü¬ljyÓĘ›č@Jć§ö#ţ×�Ü[đĘ‹y×őp]۱)Käó#JS{/Š˘^—«J±X$™Ś_–¸ŐęX¶Ă×˙ôĎřóÓ‰Ý_D*KĽąt,Š—>ŕä˙ţëX “Ť=¬˙ť?&ҵU5¨HŇ)Éľ˙^¨żŔżţż‹iKš ×™ ­lŁŞ<vĄöŽËö!ý„xtÎář¸ĂLÎeS«ĆĆfˇÜ ˇçI2¦Yu”p]‡PČ\s;‘”~©…ăyĚĚLńöÁwinnńcUÁq\łYćffhjHł}ëBˇĐ-%Iî%Űĺ›ůŽ‹‹ąŞ~@Eä5ťN^v®J)±Źó3Yţ—C3Ľ5%×LNúçrŮF{Ůy-t>Ű­ň/÷´’ (k$ĽÖ˘IdY6o˝őłłsĚĎĎłuëvíÚY%V_¸‰r­ČŇg÷÷óŹ#ŁŁsťi…m˙?{o$×ufůýŢžűZ™µWˇ6öŤ H„@J-Q˘ÄžnIÝšéVwLwŘî Ź'ÂăĄm‡ĂvŘî°cĆă°Çăđř{¶Ăš–:FR·vJ¤Dq v  µď•••űúV˙ń2Ş@�)Š˘ZůEdTUVľ—oą÷ľűť{ľsb~iWßűĺµ™Z­ŽiZ+ĄŮl˘(2~żďťŔ™mÓhÔ) ®{É.`QŔ±Lšą «7¨ç¶pL×­EdB©’#G ÷ !Š2önKlŰƲmüţŕž>÷Qę+N‹~%ü űU±XBUßŰgŰ™µEŁŽßďCÓTTEmSâűśçßn+¦iˇ:µZÝ´‰$„Â{ô×>ęç˛ŰĄH’$lËƲÝĹEQ\±jĂϢ˝íxÔľgvŰťHŔue’$oŰöóβ]$Yvť·¶2ü/˙ü_NĄů»đŇé”;ëş ‚ŕŮĂ·Ëvźlšî8¨cš&´@Çqh6›-€[öŽ»=żrlŰqEEV0LÇqeyŹ›X–é}› Ólę‚˦%ŃűűxŰŚŁďťřŰŞ*ź €č€ŮzY­—˝ëĺěúéÜ™ďYÚyÇ ĂŚéD':щŹ@쵢†#÷cĽô]lŮÁť˝Ł¸¦!cPĚ Â8šŠ-«ÄyçłFvŽcOťäţň˘ď~Lďĺďd‰ôĹdz˘n’$‰˛(ü­”uÇĐ)ÎM\} źzŮîAPü¶I°´…ľ9O3 9ÔĎ×÷·ŁNě öyk˝Äµ‚Ťm;`!ě°vő/ApíÖeQ é—y$®1V¸–mrm§Ža;ŽáŔO7>»UäÔp „‡Ăćɲ̉ÇYZZ" 30Đď%1îjÂ=ĄOą̂Ď+·’>Â}O×u¬–Ťîž—ăPŰ^agţ2ŮŐyŚJÁ±\°L”(ćvhÖ+ô:&áî}’ ÔíJ Ă@Ó´Ź$hŮéşťř źŞŞîyO”DDiŻŤuŰćą>źďI©şgŰűE8ć?úŹ˙Cp‚ˇ ×ďŢ÷€ĺÝßy÷yÜ}Ěíó˝×1íŢÖď÷ßőýďÖ˙{>ĆNtâŤN+ëD':щŹ\F#Cř«[Ř‚Ž#Ţqqpp|r8 HÁ8h*–ěŕH¶g #8Jeť‰Ń/ş@·âz/aaŢăv÷n@ľ#ţđŔýÜ˝íĂľ÷Ń�cL˝AîÂčYúárÍźDTUDŮĆŞçŃVňěŘ}ÔŽś"’ę{_çŇ^ĹmOtw˙ľű3»ŮMŇʸ×=|Đ}˝«k÷ďwëvÜë»ßÍ.ýŠşnňóŐ—=ć8-~Ë.‰ ¸4_Y€T@ćLÇ{Húč Čü««9ndk8–Ť#€ăäë&/­Ö81`! Ň»ÚÇ?ěąJ’H,#‹} ×@ůČ—ľěÖ‹±mŰźÚ×̨—©l-°ą4CacE‘đů4ǦYoR(”Đ-8ŽŚ˘FRďp8óVôp mŤˇvIRű˝Ýlš{ő‹ű1 ď÷żöko_Ů ’Ý«ÍÜ˝Źwëßťčć€˙ F':щÓ‰Nt˘ŮäîI´( D"aĆúăĚ×»ÚôhÁÁV%¤hŇýl0‚ăS°%G¶qlWWĆ©ćčŹűE­Éý»Ă1mŠvű$éá,±ŰŰZ–ĺ­Pí¦¦ďM:Ţ}»�múq›ĆÜ>ľö1˝—껓ź_††ăŘÔË%ę7~J\ĘŕĎnáD$Y@ô ŘŽIł&˛•+PŰ\Ä>pŞuMŢ[ŮÄÎÎW®\ń4�ľóťď000@2™dll AxőŐWY\\DΞ=Ëđđđž$p·.F›†Ý¦Ś·Ëó.\¸ŔŔ@?/^ä™gžń(ďím<zx+y˝~ý:š¦1>>ľç\î¦ÝťČţ2tmlǡR«s=g˘›˘[ş" -ĚŇnëÂ"" #1ŤgÇ"<9" «"š$bÚ•¦…Őę#n¦îĐ4®ěč4uEň?°mďNč¶_}P�ÇŻfĐî2‘whđ86z9K9»ÉöÖ&Ş$4r”®áIË$»ş@cnŠ\f“Ôö:ˇî,J¸ë ‰Ý*9˝WéL»-OMMqăĆ-ľüĺ/˘ë:ßřĆ_ńěłĎŇÝťöƦÝýç~€ËîëŢľ˙íľ•Ďxíµ×ŘŮŮ!™Lđä“gyăŤ7yúésH’Ś(şű»ző*ŘS6´{˙¦iréŇ%čëëë€2ťčD':Ńc:щNt˘żH‚€˘*=¸źk›3řŇ}ŠÜĘIlME Ç�)ź†- ’ئŤľ˝ŔÄľ~|>í=iÚüä'?ˇŮl2<<LOOş®ÓŰŰë3»'ű»Ťąą9¦¦.!Ë2§O?áŮC ‚@ĄRassÓ ÚIéîý¦Éćć&7nÜ`tt”ˇˇ!�ćććX[[ăŔtwwcYo˝őş®sňäÉ=ĚvIÂÝÇ×ţ˝Z­‘ÍnÓŰŰűĘň‘H‚«G’ť˝‚\]EŚX¶u3ÁAäz–ňÚ z˝‚/AîÎÝ+\­‡••U C'ŤR­Vńűý¦ÉÚÚ•J…Ď|ć3ض͍7F× nÝšfmm•±±166ÖdppK—.‘Ďç9sć ŤF7n2?ż@,#ŽR«Ő¸yă&’,qđŕABˇ¶msţü[Ôëuúű(Kęő:.\Ŕď÷‹ĹD"Äăq¦¦¦śśäęŐkD"öíŰÇĚĚ4µZŤsçÎ}ŕŕeY¬g‹ËÖÁv‹y$ÁA\±ÔGâ_9ŕě`ż,bŘ6¶j ET$ýXŽĂr©‰iYŘŽŕXŘ8dÍ ŮB™ ˙ţ˙ .Đ××GWWŰŰۨŞJ"‘¸ÓčN©ánĆD;±ß dą˙sĎt78¶›1á8?˙ůĎgppđ#ź¨ďaz°ëÚ8`7kT+%ŐĎä§˙ńCÇP}~ËÂh6ąv›/ü%ĺRŁQÝs vÁĄdĆضM±XdmmŤÍÍ-¶··ŮŢŢƲLVVV™™™frr?ŽăÍfÉĺrś=ű$őz+W.“Nw3::ÂŇŇ2łłłŚŚŚĐßßĎââ"ů|ŽÓ§Ď (JËýEăÔ©S ôc&;ŮňůÓÓÓDŁQ|>_űÚżćąçž#P.—čëëcxxĺĺefgçŘż’BˇH,çĘ•+ ŹÇ;ŃNt˘ťč€1ťčD':щ÷ ĆhŞĆ‘CűŃ˙Íy”Łź ˝¨íŽŞ"Ćş@�)Ĺń©8˛€#¶\D,›Ćö<'=AÚ‡ Ă0¸ví:ôG_ĺĘ•+ÜĽy“ŢŢ>˘ŃőzÝď“eźOŁT*‰De™ť×zňčŃŁ„Ă!˛Ů¬Ç˘�Eɵ«-•/Z[[ăµ×^ăرc\¸pAČd2,//säČÎź?Ď‘#Gxíµ×" ńć›oröěYü~?Íf“R©„(J­ż®U¦, )•JdłYćçç‰FŁż0ĆÁe“d.˝‚Ž›´»Ňnné"H’&Ű”ç.SËeP}„÷(ré÷ű‰FŁlmm‘ÉdřŘÇÎ077ç•,e2úűű‰Çă˘Č'>ń �ŤŻżţ:źűÜgůÚ׾ƳĎ~ŽŮŮ9nÜ¸ŞŞDŁQľţőŻ388D$Ĺ4MšMť .02˛ŹjÍWUU•#GŽ`Ű6ŻľúĎ<ó ·oߦR)311Îúú:¶í°ąąÉúú:š¦ńČ#“\ąrĄej˛´¸„mŮüäÇ/ňďţĂđÁ­r“ÍŞŽmZضŐ*LM†„_ćx·Ź/O&x¬'O¨›·suľ~«Ŕá.źv™e¶ËĄ¦ËŚq�Çö`Co’ŻË ÚNˇůťmcjęĎ?˙<ögĆŇŇ2Á`�I’0 MSMS1 Y–1 `0,Ë4›MŠĹ’$ Éĺr­>č§Ńh I˘×MÓ¤\.Łë:>źŹąąy–––8qâÄŻĹŘçj»´4|öXI¸Ąš˛ćcňÜ—8pⲬ JČ2˛*sčŃ'�‹Ęüůű2±ě‡oćĘ•«~÷{D‘Ë—ŻL&yë­·ED"I(ć'?y±±1dYáęŐkäóy¦§gxňÉŹółź˝Äŕŕ Žc †řÁ~ŔłĎ>ëZ­gł,//ł˙~8€ă8 yAŕÂ…‹ś;÷ ˘Ń}}}ĽöÚë:tóçĎ …¸~ýńx‚×_“H$›oľIWW’Çw ťđXSmpżÍ¬z1v7‹ëÝúęnŘ}Îżs®aY–'&Ľ»¬¶=×±mŰ›+H’´‡ýÚŢ˙űŐnŮ˝ŻRHş}ü´řţÝe”»…Ť˝yFëş·ČďilĺţlL۶ŃuY–ßóőľ»lúAĄ”íĹ·÷z_tÍQćéöůÓ‰Nt˘ż!@LĽD­|„&–¬ŢI05 )„HÇßđl@ŔM„âcC‡˝IŘ»=´ŰS]7(K‚ÜúÎFŁÎ‹/ţË2‰Fc„BAĆÇÇyţůçůĂ?üC7 4Lr;y2™ ~żŹŻýŻxä‘GĐuťt:ÍövĂĐą|ů ©Tб±1öíöľ»\®’Nw300€iZ†ÉĹ‹S|ĺ+_!‹˛±±I­V§TŞpěŘq …@fł‰ŞjlmmóňË/cYĂĂĂär94Me{;Ëg?ű /ĽđbËÂÄů€)˝‰ŁĺP«ŐŮ)×é‰u#JŃlą;´śy4 )¤`@±R'lŰďQ7F’$‰[[lŰöŔ%]×1 h4Ęúú:étÚKĐ8€ $ ‚Á ńx‚D"I>_dg'‡m—¨ŐętuĄ±m›x<J4AQdpĘĄ2[›ňů††˝sWU…p8„ĐrÜ0M‹Lf›­­ ĺr‰ÉÉI¶··yóÍóś:ő8ÓÓÓÔë YEQ5zz\¦R©TňÄmŰF–e4M{ßh Ý2±l×1 $AŕX*ČźKr˛'HH•°X,Ľ´T䥕2ĎŚĆůťGb¨’ă@Ă´Y+61-›Ĺý)8–ŤaŮ,Á‹DbضÍĎ~ö±XśjµĘôô …BźĎGOOš¦˛ľ¶ÁĐđ Ůl–O}ę“hšĆ­[ÓĽňňëH’Ŕ§~ë“|ýëßŕĚ™ÓôôôréŇͦÎľđyR©.rą</˝ôs4M%O°şşJą\Á0Ś_›1в\ŔKÚUB'"Š?L$ŮCzhÄMDÚ匎„(Éô Ť°U\EÖ‚{—v`;xÚ,÷%I¤«+ÉŇŇ2$q@`k+C­V§V« éîN Y\\d{{›Lf›l6K(¤«««FĐő&;;9âqťT*Ő:'H§ÓôőőŃßßďźe’ĎY[[g{{¸#@Ú•A Ńh’ÍîP.U[ ëëěŰ·Ď;ßFŁá%wŞę‚|m1ÔNÓßţ0M“™™–——‰FŁ=z”`0řP÷ľR©Éd<&ëľ#źĎŁiŐj•D"qĎńş\.óÚkŻĐÓÓßďgee…ŢŢ^ŠĹ"Ĺb‘x<Îţýű‰Ĺbär9ońgee…ŃŃQR©Ôűşů|˲P…H$ň$ŰŽăĐh4¨×ë{ŘŤżř¸g±ąąI>ď:čőôôL&I${@jµĘőë×9vě· ő°űo6›{łaüěg?c˙ţýěŰ·ď=»alll ( ©TĘ{ŽëşÎÖÖ‰Dżßď•i ćççyâ‰'ú;666ĽýÜëű··3ôőő´ű”‡˝÷ů|®ó寠ś·Ćt˘ťčÄG0DQ$ 0UY«í „Ă´r@dÄXÜu) …\ÍŃM Á®VHʉHčˇFíh6›lnn‡‰ÇT* …"étĂ0¨×k4M®]»F?RËťÁhM̶·łôöö'Nçúőëäó9,Ëâúő8p€ńń1×e�!Š"†aĐl6Y[[' ă÷h4ęB¬ŤCą,…V)ÁÖÖŃh”P(ÄÎÎ###loołąąIw:Íá#‡ůËżü:ŐjźOăčŃŁĚĚĚ| ®%wĘBllËb3“ˇ4xŠpoUsAϡ6ËČ’‰¨Šč˛Ź˛ĄÜÓKAb-_Ł×vPZŚ€‡=8QéëëennŽľľ>4M# ±ľľŽ ôőő‘Éd¸víŽăĐÓÓÓ˛ř”ĽÉR__>źŹx<F"‘ P( ÉdĂ0XYYm-*}ý˝H˛D"#nµG·ÍčĚÍ͇éęę˘R©â÷űH&“DŁQŻäbjęŁŁŁ¨ŞĘćć&šć#ŤĐÓŰÝúľb±·B éîî~˙`L«Ń„dDZ<pFŔ/ lV fsub>™é\“ΙË5ř“c]|qź""�–ă°RŇ©ę.¨łŰłLŠř€dIâ©sOńÝď}Ź`0K8B’d&''ŮÚÚbll”ţđGH’ÄŇ’ÍĐĐP‹9cŮĘĐŐ•ÄđaYÁ`€G}”Őâĺ˙�� �IDATŐUúúúąyóŤF۶©T*hšĘO<ÁĺË—č'™L|`BŔF4š pE޵Ň*⋥ †W©n/I¤‘$Al ‚;ÍzŤÚö2Áh-šz‡>’ač†ůŔ2%AĹbȲ‚˘(hšĆđđ0Š"HĄş<6S0Ŕçó‘N§ZIHš¦222Âüü<·oߦŃh˛˙~şşş°m§u_]{ÜTŞ‹t:E(D× ‚Á�ŽăL&<÷™ŃŃQ2™ ŤFĄĄ%şşşe™h4âő•p8Ě“ĚĎ/P.—‰D"äóy Ă ŃhH$ČçótuuŹÇ;`Ěo@ضMˇP ··—FŁÁĘĘ ŮlUUćĆŤD"‘ě ~żźńńqnßľM˝^GQĆĆĆŘŮŮáęŐ«hšĆČČ7nÜÄqlÎś9iš<˙üóô÷÷c’$‘N»@~6›%ŹsŕŔOűČ‘#„B!Ť}}}\ż~۶9}ú4ŤF……Nś8AµZő€ů™™¶¶¶čęębtt”Ű·o300Ŕââ"ˇPţţ~nÝş…Ďçc``�˲Đ4ŤŢŢ^DQ¤Z­’Ďçą|ů2Ď=÷~żź™™jµ]]]ž5ööö6ů|żßO"‘ X,aY&š¦Ń××ÇíŰ·q‡ŢŢ^fggéííejjЧžzŠĹĹEúűű!źĎłşşJĄRńŔĎŢŢ^nÝş…(Šôôô°¸¸$I  i®Ť|(" ríÚ5|>·nÝB–e,ËâŇĄK4›MÎś9ŞŞś?QY^^f{{›`0®ë‹EFGGY__÷töĆĆĆČfłlllpđŕA®_żÎńăÇąző*]]]ěßżź@ €eYĚĎĎóňË/X__Çďw™—–eŃßßOą\¦V«!ş®sâÄ |>Żżţş7¦vwwŁëî| V«39ů…B·ß~›S§N1??Oą\fbb‚ĹĹENť:EĄRaaaR©ÄŘŘ™L†Z­Ćŕŕ †A(â{ßűgĎžĹçóQ.—I§ÓÔë.8®ŞŻľú żó;żC:ťćüůóôőőQ«Őh4¤ÓiFFF¨×ëÜĽyÓ4byy UŐA._ľŚ®ëěßżź™™™ş‹uŔNt˘ťř[»…L|šĘD_ŠĺÜ:Bßľö§@ÂQÄ@!ÄV%OWÁěĘ6q?ˇÖ ČĂÚíJ’D4ĺ±ÇC–%vvrĽňĘ«ř|7nÜ ««‹H$L/ľřSľň•ßż#,ŮZ-*‹ ęu·Ʋ,úúúČfłLLLpéŇe67·ه¦itw§QU•îîłł·y饗©×댍ŤŇŐŐĹ+ŻĽ†Ď§µŘÝ9r„źüä'�Äăqb±(‚ °˝˝ÍÖÖJ+‰’[“,Y–ńűýT«U._ľěQ]?Ćcl ÇÔŃMVWW‘ý!ĚčYJ Ńl"‰€ş#R1dJ5»Pbm}ťŁAÂAVIB@Ó4ŤÇ{IrKłyäR©”wOť:E.—CQ’ɤ[ţ¦iś<yś`0Ŕ“O~ŚP(ŚßďGQJĄ2şŢ$•JaY&ét ApK`~ë·>Ůčb‚H4ńVąşşş ‰ i…BÁ[áTÓ4ąpá"§N=F ŕg||¬•TJ!Nź~›L«Şę­îď-}_ý ×Ah0B˛·]'%Ŕt~¶XäŇV•î€L@ÉÔLĘM›˙ú\ż5E“�´‡[Ů:öFLË…I@Ŕ'X¤#ĸI’D(âóź˙<ßúÖ·ś|„Z­F&ă-Édźćc`p€ŤŤ ’É$š¦aŰ6˝}˝llnˇ¨2áp¸Ĺn€íí,‹‹‹†‰(ş,’P(D˝Ţŕ•W^Ą§§›`0ačyńŢÝQ«Ő…;6łm@Fń‡ ÷Ť“_şNfú-‚ÝŁbIljĄ<ĄŤ9ĚZ‰řĐ!č.°´µšÝh>p E‘‰‰ Al1MlLÓŔ>űŮĎĐh4‚-°Ä-}üqWD»\®x@ËÍ›·Čd¶‰ĹbLLL ë:Íf“TŞ I’‡ĂŚŤŤŁŞ*˘(˘i*çÎťCÓTjµ:˘(ŤĆřÔ§ž&“Ů&‘H0>>A"' đÔSOˇëM‚Á`ˢXe` ß[ ŽÇă{1>źďb™uâ×+Úí}aa€G}AX\\Ķm®]»ĆéÓ§™žžfzz۶‰D"¬®®244DĄRÁqŢ~űmâń8ËËËAŠĹŠ˘Ëĺ(Šâů˝˝˝Ľů曆(Šěěěx ‹ÍÍMLÓäŃGĄ««‹ţđ‡¤R)ŠĹ>źŹH$Â[o˝ĺŤýnyl“FŁái$E"ŞŐŞÇě¸}ű6‚ `\ąr…t:í-<8ŽC˝^§^݇=‘úĄĄ%‚Á WÎ+Ióó󬬬đÜsϱ´´ÄÖÖGŹĺ­·ŢB–eęő:©TŠ›7oz@G  R©°şşĘŕŕ †aP,±,‹‘‘ą|ů2O=őÍf“×^{Ť'ź|’JĄBOO[[[®]»Ć—ľô%�©V«ĚÍÍqčĐ! WCŞR©pđŕA’É$˛,322Âćć¦<� “Ífi4üčG?â«_ý*µZ MÓ<@+‘H Ş*×®]ăÜąs¦é•FĄÓiŻÔµŻŻĎÓ®ŠÇăś?žÇQ) |ó›ßd˙ţý(ŠÂ•+WřřÇ?N.—Ł\.óĆopěŘ12™[dłYšÍ&ńxĽUR+qéŇX–…eYdłY8rä+++Ôëu†††řŮĎ~Fww·`éşŢZÔ»Ž(ŠÜľ}›ńńq"‘óóó8ŽC"‘Ŕ¶mR©>źŹĺĺe†‡‡©T\vhĄRaee…Gy„ééi$Ibßľ‘ÖsÔŕ‡?ü!Ţç<Đc:щNtâ7€ą_"©) ÝüxyQ¶˝ĺx‚>¤T-VŚ[˘$ŕ”·Ї|÷´"ľďA–ůŁ?úŞ—ĄR]<ýô9dYˇżżI’PU•íím††Çcí÷ÄÉăŚŚŽ i*@`ĐĎÉ“'QUżßŹe™-FÜ#Üľ}›X,ЦiÄb1Ξ}’rąŚŞŞÄb1AhŃü Âá‘H„Pč$…B۶ …‚„ĂalŰćĚ™ÓT*7iSdTUĂď÷ńĺ/‰`0Čg>óé–]®Ľ‡Őń‹16¶eŇؚøůrĄ[Ůj˘d G ˘+J+É“Z‰ť‰Őh edĄÁÎö63ßúßéŠú?BřđÓ^"ů0�Z[¬S�"á0‘Ý *xŤY–$bŃ(�ÉDPUĄuż“»>©ěˇ·ŰDű=×.ÝA–dţÎo?G$E‘eŘ•D.e¸ŃhrúôăD"”Öőčéąłâäo ß~ĐěŤ6ŔŠGé•V34lÇÁ´Á¶Ę[ĺ¦w±TI`ĄĐtŰA\°Ĺ´níT±m§UętG“Y†4H(ř�Ż2§ź>‡Ş©$“ ţäOţ>ˇ[bWŻ7ZV°~űď|YV0 H$ěi(ŚŤŤŹÇ[ [„ßű˝ßCÓ4Ž?Ćää„7ůtŰCŚO~Ňťü·Żw»>˙×!EC7Đőf‹ˇr‡#Š"Á®>ĹOié2ąą·)(`c›&’Ş‘9ŚëAÜĦI©TA| «[Đjßdg÷xśÔî ŠŞîűáPĂ09÷‰ł–…¦ŞABˇĐžö!Ę"Ьěi«Ýé´Ű˘1Źdĺ÷»Ôy—AvKtú^e»űëŢ~˙a­đv⣲,3::Š \şt ۶‰FŁ8ŽĂŃŁGYZZňDÔÓé4étšk×®Q­V=đ6S,qEQ<­·¶>G4Ą^ŻŤFI$-fWŇcaŞŐ*###ś>}Ú{î8p€­­ şŢdaaÓ4[ŚZ·ćr9˘Ń(˘(zŔP{.±ľľî±XLÓôĹb‘R©ä#š¦íŮÎť(LNNrůňeňů<ˇPČeĚé:‚ P*•Ľ¬Z­ćÍo\Ý®"ˇP˲‡ĂŹťłĽĽě áp¸4ąó”R©D&“ńƱPČťËD"nŢĽÉĐвějńµ÷ŃÖŇiŹ˙m!|I’đů|ü~?•JĹÓxi ę+Š‚ŞŞtuuQ­VůîwżËÁ †iš<ńÄ,,,x%˛í{Ő>§H$B0IJ,*• Š˘‹ĹĐ4Ťfł‰až˘(”ËeďüÂá0ŰŰŰčzÓ[SU•fłÉĄK—…ÂŢu5 ĂÓj)—Ë€[NU( \n8FEâń8¶m300@8öŮBˇˇPD"AŁŃh-ŇŨŐj�‹Eď9 éďďçí·ß¦ŻŻŹfłI>ź÷´yúűű™`ßľ}-F؇3n ńľ°ëďöď⮟í—ÔzÉ­— (@Ě©mżcwFĆNt˘żVŃÖ°Zv¨†iĐh4Ý•K5HşäˇY íUĘFŁA4ľor´[¸®^ŻóâËŻđ_ĽrĆs‚cŰŘ–Ž`;č3W(ţë˙ŤĐs„ďÄ“H‚„ )˛?˙kţQŹÄßűíĎŤ„˝ ÎĂ‚ »Źk·�¸5Ŕ7nÜ ··—îînے`jjŠŁGŹŢłLĘu6ŞR­V=ŞđÝÂtw~·řŰÝÖÖ»ŻŮîăßm7»űî%ägŰĹbÉ<vm¶M|>í /Éł-Ěz‰âOţĽú//Ćý{'ž Oá‘dA¸#´gš&őZŤFµJˇP łµAň'˙3ăZž®Çčúę?!6ůÄChwĘq>ôÄąĹjkp÷a†|Đ–âmŤ!— x}%ŹŢóžç*uţű§ůć’IŐp8!R%‘'úCü7O 2÷ŁÉ"Ýâßţ›ŰĽşZF·vµ#ŠÄr4ŔźC•ĺűŠDîn·íűÚÖ°Ů۶ÚZµ{EďĘĽ»ĎŢËMéîëý«cjµ:¦iyz%n=żěp»ŻŹmŰĚḚ̌¸0ÇÁ=懧ÓŮph”ó4Ę9H FP1AÂÁµ4ßm•]*•ť›cxx„ńńq|Đ5i÷«÷Ôłś;bŢk׾G¬Řą˙ů HďׯŠĹŞŞ=4+ͽƙµEŁŽßďCÓTTEm‰â/ý¸?Čóo·Ó´Đ ťZ­ŽnÚD’BaDQâ×!,Ë"źĎÓh4<ˇÔFŁ(Š@"IÁ`rąěŮlÇqđűý$“Ięőş'ĆŹÇ©×ë˘ßďG–e*• ÍfżßŹßď'“É Ş*ş®{�‚eY”J%oá —ËŃh4Z®bw„}ăń¸'Ćďj/…(—Ëž"‘ ^ŻŁiů|pŤ�Ús+W®xÇ800HOO7Őj˲<}Y–ÉçóT*�ş®{Ś‹7Ţxsçε´/přđa|>źHx ©T*ř|>J%—ÝŤFŃuÝ[´¨Őj¨”Ďçi6›$“IÇÁçóQ«ŐřÎwľĂ—żüeÂa h6›čşÎÚÚ©TĘ»Ć.�›F’$JĄ@€fłIą\öŞí…Ó4Éfł cš&ą\ÎΡ vĺEż?@ą\f``�€ĹĹE‰@€FŁA­VömŹ˝ÔÖťY]]ettMÓX[[k±űÜqckk‹\.ÇĆƇn•hşL×\Î-Yďîî¦R©JĄ<ĆŠišAŤ¦iz€˛¦i”ËeLÓôĆ˲Ľ˙˲L­Vó®A0«T*čşîí+‹yףŮl‡©V«^9jűÚ$“IĘĺrK[/z(� ă®ĺ€ŐzŮ»^ήźÎÝÓ´űŤňfL':щN|Ł=‰ďŠĹHk"łĄ,(2ĺůßaë:b<‰4<FýĘkÔ^ţ.‚ ‘˙żB$ťžHY–ŢówÚ¶Mą\FQ\fÄ݉„ĎçăĉďP®ß­ěď8'OžĽ/ä8š¦a†·˛Ń^™x×Äĺ“úö{÷çűĄ&ŽŤQÍc/˝ŚYŻÓŘ1Čo˘¦ŇČA 4Đ@”Ŕq™1X‚ŐD4ŞřęŇ«ŻŇ,fĐĂFvžćęU̱G‘% ˇ4Ý×ýŔ±1›†m˘[–ëB#!;ó‹7Š(ˇ‰2’ >ç—źŚÝ߲اČ|j_Śź®g(ë®ę¶Ĺë+Eţťď4ů·Nvsv8FÍ´ÎÔ1-ŰcĆ�Č’Ŕ°ĎੱŇC´Ű»Ż$ Ý/ď'<Ů.GPUŐ>Ő‰ďÝ Ó{\v—ŔÚÚ###­ňš˝ Ş Šřc)|‘¤;űµlW{(Ű1šÍ&ËËËX¦ĺą‹˝cŮ6 ÇD7 Ďi·Ýö;Řďj‚OTPZ żđ+Ń:ńë’$‘L&±,Ë{·ËQDQ$‹yý`7#±żżß[€ił,zzzĽEŹ6 Ú~.…ĂaŹĹę8}}}X–µgĚj‹Ć·Űq»dön°ą=n(ŠBww· ´ZÚ@¸ĚŻ6p&IĹbŃÓ˝Y^^Ćď÷a۶'ZŤF˝qˇ-Š»{§ŮlrâÄńV‰®ĹáÇ˝˛YAD"ďXěqµńŽîn;Žă±L�"‘Č;ĆćrąĚ“O>I8ö\…|>ź|´÷ă‚(w¶kZš¦yź»;şşşĽßďĹCű§]Â%Š"cccŢg4MóTíëßfą<xĐ;¦ÁÁÁ=űVU•\.ÇÄÄCCC{Xy»ŰZűŘ]¶Źß+óÝ}=ŰńnBĹíslßÓ¶ÁÁÝ‹ŞŞŇÓÓăm·[ą}Lí~Ňf›~Ńc:щNtâ#˘(’ęJŇÔ¸ąłŽŕ÷cl.aUJHŐ4ęĐćú2ćÖ:‚¤a·±ý!’˘Awş y×dčaC×u^ţů+ôôqüřń÷•X?č3®¦ÉÜÜËË+˘ČřřűöíűőK:›Fć6Ja†¦–a[}•¸†P<…ÔwAK h!DYÁv,0k¨ĺmśťeŚŰoSž»Ĺ¦©čŕT2›·0U¤@xOÚw7(ă8Mۢd6)ë5ÖŠYŔˇ'’D•”$ŤÎ/Ƣ ˘ 2Ň**|4îÜ;Q�Ş,q¤/Áąž_›k`ŘÂ÷P·-nf+ü·?oň±©70-—qá~h˘ŔN„čOĆ…_ÍężeY¬Ż­ÓÓÓC0üČ�Éďw;ÇqĆbÄbqvv¶Ń4Ť$É·wlŮý˛m—¦´ Ű­ł¸¸ČĆĆCCĂ-0Fş·Vv«ö̲- Fť˛Q'S)P7›t˘„4˙/ý TEťâ# *{š(Ó‰÷¶n$I$ ±ąą‰ă8ŹÇŃ4mď3ĄŮ$“É ( >źŹ­­-Ç!wŕt]÷ôJĄB,ó’Öö{[[[ȲL__ş®ăóů<˝EQ(  Óf oooÓl6 ›Í’Ďç‰F٤ÓiAđţnłhu]geeĂ0čëëóJLÓôΫ]ňÜ.Qj—*& ŹĄě8™L†d2ÉŔŔ DŁQ†‡‡÷Ř.;ŽĂúúşwÜmVćý˘-bÜţ|˝^ßł¸%ýýýôőő˝ŔŢ= BˇwŢďw,ľß¶.ȱwěĽ{¬i_·h4ę•'µ‹w‡ řý~Nź>ý&󽎫ÍjŐuýeĘw?Çßí\Üc5°í˝ a[˧]ęűnתP(P,üЬ®;`L':щN|Ł˝˛ŹÇLô7^@űěďâ˙“Ď]ýÍďĐüéŹĐÎ~ ߎe!ÄŁč/˙„T#KwúÓďůAŇvc™ťťC&'÷séŇĄ]Ą @€t:ÍęęŞW nY&KKË8ŽĂÄÄ8 ®[@oo/†ˇ“Él{uĘšć:鬭­3>>Ž®ëĚĎ/ŕ÷¸}ű6Š˘044Čôô ˇ`ČĄý¶ô˘±(·nÝÄq\±şz˝Îúú:ĂĂĂŚŚěűpśm×#,SÇYz™˘Şě–žhĄeü·×QWŚ D” ’&h#9uh°kUňyC°iá0&Jc»Ľ‚ă›Ä‘D׾ü®UDA0›˛Ů`˝˛Ăk‹W0m Y”X+gč Ä™L ˛]- ő˝2/WsH�LۦŞ× i~L@ a6ÉV‹ř UV*>|‡†©SiÖ¨~BŠpHh22Â=ËÜ>Ü>Ă;Ę»ÇAş"~ž›Ls#·ĘĺśEĂ|÷ýę?šÝńěmçŽVLPřLŻĚgˇČ"˘(<„|űí·1M“FŁé%ÝÝÝ,//Óh4čďŔď×XXX$‰ĐŐ•d~~I’<'‹l6K:ť&™LríÚuŻN^Ő4^úůËÄb1ü~˝˝=,//c˛"sâÄń_XůĂ�pÚ"ÓCCä y¶·3˘@:ť&şł‚Űfńµ˛śV×tu}lĎÎ}qq‘ŐŐU‚Á űöík%Pív*îblǡl6Ůi”ą±µŔěÎ*ެ%8Ů?IÓ4h:a-€,JnÍľ ¶ĘŁl,ۢܬó‡pµ• Ó [+áSTlۦ+óŔ ·m9›Up +Ąb4PTˇtv@NĽ·Đuť«WŻym,u…«ggg9{ö,/ľř"O>ů$ÝÝÝ{’îééiOĺČ‘#X–ĹÖÖýýý<˙üóś9s†@ ŔoĽA,cjjŠgź}–p8ŚišĚĎĎ{‚ąŻżţ:Á`"I/Ľđ“““d2üqTUŲlX__'ł°°@.—cppŐŐUDQôÄ}üqŻĚ'źĎ3==͉'(•JlllJĄřţ÷żĎŔŔ€7>ŚŽŽz¬ŠR©ÄoĽÁ§?ýiŤsssd2]¦Í¤™ťť%—ŰáСĂ^IL˝^gjjЉ‰‰–r@ čiÓX–µ§Ś¦ŮlňüóĎóĚ3ĎxĺP»Ç^źĎçJ»KPŰô˘(Ňl6ąxń"Ź>ú(‘HÄ+ßiĎ w3,ËňL»ź}mŃî¶VL{ĚÔ4Íďőů|Ţ ěaŔ´·˝ző*###ĚÎÎrňäI*• ˘čŠ•+Šâť˙nM™¶^™ë⨠ënÔT UÓpl›Z˝ĆŇâkëkś={I”0LWGFS5tĂŔqlYAŐT0ôôwA˘ÍŞ)•J®č}oŻ‚ełY®\ąÂăŹ?ŽOóˇ¨îń¶çV–mŁi*š¦QŻ×Y[[C~üă{:G0¦ťčD'~CŁ-&yd Źô_˙ SGý»‚‹a\zsu5ňŇŁO@ł†ń­ŻŁýü‡ý˝ß%ťN˝§Zýö Őµk×™śśD–%Ö×׸uë‡fjjŠS§g}}Irktoßže{;ËOśbggAšşL$AU%.^ś"Ť`š&µZťŐŐUöí¦P(´ś”şązőŞgźX,™źw'EׯßŕěŮłĽ}á‡beu…«×®±µµ‰ ,,,ŹÇÉçóěŰ7ěŃhŮɦÓZm±‹fŁŠ´ő‚¬;ô$ˇX�É1‘mąŃD¬ä]15DŮÉ-(6MP€#}}CZ�Da§<‡ťEtÔű–™¶EĂ6¸°r“JłĘÉţý88|˙Öë<1|‡AneQ$EtĹd FX 0»łB:”$W-pyă6çFO˛S+ŃŚ ‰"Ż,^c0–&ć! U˝ÎŃžq Ť ×·ćiMőŚâŹvÓtL,ÇFÄ_)s/ ĽÝǢ© Ç»řă|™˙őr™˘…ĺ8m\íŢŕ¤Ć®˙ Ž€(‚*ŔÇ“z˛ŹD$€,˝{»›™™add„ .đ±Ź}śŤŤ fgÝţ#IW®\ĺńÇOqë–›`dł;LMMy ®»Vă‹‹K-‹ĺ•JąeG. ązĺźüÔSĚĎ/´ú#ř|®\ľĘ‘#Gö¬ôţň°JgĎŠćű)S’$×~˝żżź••%vvv°,‹dŇ Ź! ‚×w—8¸:O6şŢdkk‹ůůy¶3Ű’ČáÇIv%ßőű­ł]Í3µ>ÉţGk^ś˝@W(Ć‘ž1¶*9ÖŠŰ5""“©!–ň›č¶ ŔʧßćKGꦮ7hMbSk3ôE“Tš5őڱśßd8ŢC@Öx{mÝ2úCtŁčŽEÓ6QEĄó ěÄű7E¦T*ŃÝÝíi©(ŠŇr\«cĆ=çm[áH$BłŮôŘĺrŮ*• Á`ČÜníg7ËAQ”–ĺ°ŠăŘřýA˘Ń(7oŢdrrr``sóćMNś8A,ă?ř…B®®.OóŁ­)Ň.iµZÍ3ęőşçľÔÝÝÍ÷ż˙}R©GŽŮ6ŐëuOĐ»íúTŻ×‰Ĺbd2Ĺb|ó›ßäŕÁCŁćęŐ«ô÷÷sńâENś8ŔíŰł¬®®zâ±ĺr™\.‡ <öŘc,//óŇK/188H:ť¦P(’ÉlŃÓÓĂ‘#G0 óçĎ“ÉdĽň*Qéííekk‹H$ÂÎÎŽgQńâEŤş®łşşĘÇ>ö±–%t™D"ŽeY hdd„ťťz{{IĄRĚÎβµµE±X¤Z­ňéOš . Ë2lllŕ÷ű=g­Źüă »@,‹Ĺ™™Á˛,®^˝ę‰î žy榦¦<çŁk×®Q«ŐH$ěěäŘÉćH$ĽţĆë?vś}ű†ydr’rąÂ›ožŚĹ.�� �IDATgssUUůżţŐ˙Í'>q–jµĆćć±ëŔäęĹ8rä(†ipńâ››ěßżźb©H©X"ŤĎĺe…ˇˇ!R]Ý‹nÝš¦R)“Ďů˙ź˙ŹÇ{¬Ő/Ęř|KKËŚŤŤ …xä‘ TUaxxąą9ęő:o˝őVŚéD':щßô •,Ë<ýÔS4 “ţüź¬ü“ŰČ˙ř?GH%Qżđ;0ЇQŘÂü—˙ńąüŮüż˙ĹßőěßK†Á«ŻľB*Őí: Č®{R__/š¦Ńß߇®7ą~ý:ˇPýű÷sűömj5w’wüřqŢzëmş»Óřý~fgçHĄşH&“Ôj5ŞŐ*ŕÖ™g2 …©Tš^xźĎŹăÜ©áu] z ÜUţŤő ňą<gÎ|ŚpŘĄ#«ŞÂíŰs\˝zÍţ0Ŕ�Ŕ¶0wfđ[ 8 E…?ÄcŤŘ&–ă‰sÚ6¶€(€,A,‰´€ě IÔJ×qĚŹ!(~Ďć^"Č6ĄF•š®sesž\­„ăŘä«®+AµŮ@‘ ~6?Źѓ,ć6¨čuzC]4 îp‚†©SŐë–Éżąň"ź™|‚\­HÔ`>»BĚÁvlVň[¬—wL ‘©0 ÚҦ–cáâGšuá8ażĆ玍"2Ď?»°ÍRU@·$Đş·¤K@Ä/ <Ő-ńĎ pp …"‰8qÚ>źŹŢŢ^EĄ··—FŁÎĆĆdpp€jµćY‰OOOsôč>ő©ßbzzš—_~UU˝Ül6ˉÇŮŮŮassłuáHţţ~2™ ĺr…ÁÁb±87oŢüĐŻő/̵ǽ6s.źŰˇZ­aŰŰž¨˘+ëC’D,ËĆ0 ęő:ą\ÎK<t]GÓ4öŹďg||I”¨Á$ `;îjsMo°]ÉłQŢázf۱YĘo`96MS§Ř(óÚâ>1z‚‹k·(5*ĚćÖOŇŠPĐ«ř$™ŮŇ6›ĺ‚Z€BŁBÔ`Ł´ĂvĄ@Pół^̲VĘp´o‚™ťeĆĹŻé™vÇř˘ď3ą“eŮÜÜ$“É`YŃhÔÓfŰ˝�ÓfôI’D:ťĆ¶mfgg=}ĄösŐ0 rąÁ`ĐHFFF<í”Ýe@€Ă‡ł±±áélŤŹŹóŇK/122âiĐ‚ŕéż´…hۂۍFĂ[m~w‰J­Vc{ŰµŹŻV«^)“ažm¬iźG[«®-ľŰfŕ¸,ś;eSm—F×ŮŘŘŘŁ©×.Cęďď§P(xç÷ťď|‡¶lěS=z”^xOúÓĽńĆë|á _đ4ZÚĄK𦱞˛‚ßď'•J‘Ďçąxń"ţçÎK/˝ä]ÝÝÝ4›M677) ”J%X«×댎ŽzÂŔ?úŃŹ`rrҶĺÇ?ţ1ápŘc¶ś9ó1^}őFGGéďďçŰßţ6O?ý4ů|žÁÁAŹýrüřqţâ/ţ‚/ůË\ż~ťgžy†ĺĺefffĐuťfłécÉd’ýű÷Ól6ÉíäI$‹Eęµ:Éd‚W_}•żţ›osóĆ …‚»׺߯ĽúsŞŐ*¦i’Ďĺ‡ĂD˘Qϰ]2ĺ´<ˇp»µ˝¦ižvLw:ŤŞi9r”“'egÇzOĄSŘ–ÍŕŕoĽńŐj•#G\g±R±D,î~W›=Ôdî€1ťčD':ńŔ´'J^©R4Ęď>÷ş ţâř§ĚýĹŠřţĘłĎ!n¬cýÓ˙’Ţ­ ţł˙ŕóąĎ~†Ŕ]»›ĺóy†††řâżČňň2ŰŰŰ‚زR ˘Ş.•ł«+ÉĘĘ ™Ě6>źĆ­[·¸yó¦iqřđ!~úÓźâóů8tč Ž>ź†m»Ž’$z ă÷ľ÷=Ť&Ď>ű,¦ipóćŤÖCp?€;I ř|šOĺô™ÓĽţúë˘Ŕ±cÇ( Üľ=Ăţý“㊿:ŘV2/"kşk+nb ¨Š@8X`é`ë¶én&ʲć ű¬& —1#€Ş#UŢĆÖËźDĽ+yl'»˘("8nűč '¸˛5‹cŰ<>tíJľőŮvŠ CŃ4Ąz…Ý#ÜĘ,±¸łĆßě (’ĚZi›ŮťU6ËąVIŽ…ă@ľ^ał”Ă/kڧ‡(4Ęě‹÷PŐ랸čtęWŽY‚h@ĺó'ÇéŠüŹç7ąT’¨–kwÝrÁá®ó’E„¸&ň…~‰?=5ĚH źrÇvůÝÚ^[1 ŕóąýččŃŁÜľ=Ë­[·8~ü8Ůl–©©‹D"nB15ő†ˇł˙~2™ 333Ȳ̹sçřö·˙QÁçÓPU™@@kŃ­U‰8WŻ^Ĺ4-EöhÜö8ö~·u'‡ćĆŤTĘ•ޠѨaY…BˇEż·¨×ävvŘŮÉaššćCU5ţ�˛$síęu|~}ý¤Óéw˛„\ŮDDdI"ęQiÖYÎońąÉ3üŐĺp‹ů·LѱŠu3żł†¦jô…ĽĽp‘/ě˙8š(Ұ Î/_Ătl&»†Z®cMKg1żC@ó1íf»V`4ŃG±^Ţ ‰BgŠŢ‰÷¶m“Édxë­·E‘ÉÉIOłĄý˙_|‘‘‘Qúú\öD0dg'Ë… p‡P(HĄ‚·Ť˘(ĚĎĎ#IápǵzO& 2>>Ľň sss;vŚT*E(ä˛inܸÁŕŕ ápC‡ńŇK/Q­Vyúé§yűí·Y]]CUݲč7ß|MÓ°m›ééi&''ńűý pôčQňůĽWĆ™H$žžćěŮł¬ŻŻłşşĘÂÂ'Ož$Ť266Ć7ľń Eá™gžáüy—™áA~ôŁ!Š˙?{÷ßFy˙üswÚË’ĺ˝â•8Î @ „0CYeĎÚĺW:č˘ăE”.ZÚ2ŰR Ąě•¶Ś2’@iČىťáر-Oٲµ¬}wż?N÷X˛ĺÄq‚IÂ÷ýÂD–ĄÓÝ=wŇ=_=Ď÷ËcńâĹhnnFII âń8śN'fÎś‰®®.´µµăŔ0aöíۇ˛˛2X, Vú[«ŐÂăń`Íš5X¸p!4 Î?˙¬^˝EEEX°`� ŁŁ}}}(..f©dYĆ‚ đĆo��›¶¤&6›Í0›Í$ ­­­Đjµ¬Ô¶FŁ$I¨®®fm–ZéH]?«ŐŠp8ŚeË^Ç…^QˇŐjqę©§˘ąąçť·{÷îEUUKŔk4aµZQTT„wŢyŮŮŮ8ďĽóđúëŻPů ´´´`Ó¦M())AWW‰4-ęęvaďľ:H˘ŁÉ„D"ŔŹX,ťNŤF�ĎqF"DŁĐhµĆ”ŕ“Ůlb×^‘HbB„Ţ ă9ĐhÄbQôôD`·g)U¸Ľ^Ľ´ó<űěß1}Út”—WŔáp ®®;wî„ÓéDgg'Ţ~űmTVU˘¶v2D)m۶ˇłł'Ndĺ±?őĎËQÜOĄ­ !źŰ šń.mť©c©®K,žŔŢ}űńëßüëZ\ÖL©i?fŰłpĎ÷ľ‡YłfB§Ő¤&ޤşJjňË#Y·L0Vî}úpťąLËL]ףé�޶´µZŇ:äď„°éKĐÖńŇŃ’9H2äŚQó‹¦DF;ű2™“=>[V1�Ť€±ń©/ÁwZz™”uK"<ń´x»đfÝǰ•‹\w°WLY„b{6¶ÖA#ŘޱLš‡FO;Bń(ú‚>Ĥ.®=ďě]§Ń†ľýá ®žąoíüóĘଠ!%Đ `QĹl¸|nčqÁi¶áĚ 3Pś•=Ż…So…n§)Ť¦´őĐ &k»dî—„(ÁÓďĂŠ]Mxż5‚˝ˇ8"  Yi ­�µ< LLłó¸|’ójĘa±$sědČQs$ÇůH#H†®óĐżuw»ŃÖÖ–,óŞĂÜąs‡˝WtuuˇŻŻýý^b śů©äŚ9Ü{0şŇÖ™ö“úţ«Ëďëë pĐë´0 ee4_,e%aŐoiŐĽę4I’`4™1}úLÔÔÔ°uJ”eôÇCč ű°şi;<.äZhô´ăŞ©ç`‚ł�ťţ^¸ĽÝhěkÇĹ“ĎĶö}°›¬hęmÇ@<‚ł+gㆍQ8 Ű;ö#!‹–_…–ľ.L-ŞÂ¦ÖÝ’Wý˝.ÔćN�ÇńŘŐ}�ŤSó+qzéh8Nťzaü’cSië“§´µ$Iě\PGź¨9MÔrÉę‘úúzL›6Ť•3ŽÇcŕ8ž%ÄU¦<iá÷űY§ťăxčtZ‚�ŹÇI’››ËJVk4ȲĚJKëőz6µE«Őbůňĺ8묳`6›ŮzŞ9[Ô©8ęű»:UçyÖINM<XžZéôM>»yóf,^Ľ�ŤF100ŔŞĎ©9HÔuV—Ëqęëë1sćLVrZÍ­G’#ň”<-ę5:ýI˝~P÷…şlQYu+ŁŃČŁćWQ?ËÔeEŁQh4ö7őRť¦.O –©Aě`0şş:Ěś9“•ţV§e©Ł}ÔęZńxFŁ‘-# ±ż«ű_Íŧ–ąV÷‡V«…N§c őË:µýt:âń8>ţřcĽňĘË$1ąl!ů9­L+U«T©Ł—$ILŢDZRÓA€ŐfSr݉"�Ąr¤şŻĎa </°uVóäđĽňş7Ýt3.\DBD4Áşuë±`Á™0™ĚÉϥ”š˙&‘HŔét|ꥭ)C!źA0ćp%ś3uŢDQD4CsK+^|ůlܲ§L©ĹŤ×^‹É“k ×뇍ˇ Ç>#É"úZëŔ­˙2´±pr|0č")לx¶Ŕ Ę''§ç käÁOYžC‚Ó 6ýidWźA#$Pé. 2ÂR}Ń úĂ4őµC”%Lt–Â’L,*J+Ë˶39úCIŘ«$eI}9%˙… ‘}ě«Ő4Ľ�2DIÉŁáč-˛´č˝’Ŕă“Ŕ÷pÁÔ A¦Ŕ†”E ‘x=ý~4ą˝h쏠g †„žăĄoѢ&Ű„ Nd™ŤĐj<—,!ÎŤű9¦V#;p ˛ ”—O`ÓR‰Dŕrą‹Ĺ0qâDö égŃÁ ‡#c Ƥ–žM$đů|đů|J‡‡S:>‰xńx ńDńx‰D<Yń#ý¶,KĐŚ2eŰ™ÚM‚Ś”€76�_4„ýťčP‘]<ł%Á–d ’,ł’ćj^Y–Xe-ő> Ę}<¸´«p.íJ}đ<3jt0 zXýaK¦S0†‚1cÝVőß`0ČFUŚe9jŕD}š`@Zr}ĺý;0ę×T߯SËmŹćşM BDŁŃaď‘#˝†ş ęűŤÍfcݧ_Ô÷üÔm>žA„Bˇ´ňÖŁ]ĎÔŔ†(ŠiÓÚĆâí·ßÂkŻ˝6ćçÇă16şSŽÍ— W_}5.˝ô2Äb1řý~8Ů~ÄsDŻ×~ęÁI!ăHť:rřÇqĂ2<ĎĂh0`ŇÄj|ăÎŻaéÁ(--AaAAĆ0kqCşKĂŤ> ˝Y7± 8ŕ¸d­\Y ¬p¬±ĄÔ†gů=”˙’Äl´Śň8Ić‘e,=äúńŕ`âuŕôVXµFZśÉaĽ©Lj·oh7Pθ])+’!„4řúÇĂ haäµÉdŞă{ĽĄŽJ9Tg>Ó/ő>ŤF€E#Ŕ¬ĎAyAI‰8DQJţ]ŤFśŠ”ŇbębÇűă8:ťS¦L9äcŚF#&Mšô™wř2Źú9üą—ú\u~NNěv;Bˇ"ae´Ť$‰É ‡IR‚!˛”žŘWN µZ-śÎśCv.xpĐó8tfśF HŽăa´ĐóŕéÍ|*祚Ź%??‹ĺ¨ň;ét:–WĹăń ¶¶Z­áp%ěµŮliĎQs{ŚF"‘`e˘Ő©:‡ŇÚÚ łŮŚśś‚ŔŞ)JOO Ëç"Ë2ü~ÚzöőőaĎž=ŕy“&Ő`` „ŇŇ’ń›"}űË`0°ŃF---‡üĽH Ĩůpü~?Ľ^/ Ň*nĄ>VĹ3ŇűéG}tT`pšU4Ѩ9ęă>ŹăŐW_…ĹbÁ”)S“× rĆí‹FŁĐëuăŇfŚ!„ńíN±é6Ł éśp<rrśp8ě웋‘¦%ŤfIŹ— îÇ‘!<¬ÎBhĎü$1öÝö!űlň 7r …çˇ7ZŔ ĂGŤ†M8p0ňZxMň[yyśö“ÔcM–Ľ:Öť‰ô¸ÓĐéu™F¤žĂÎ ~°#,úĎÁÁ<9ă?"ćDîř ?.Ź,ťşźŐ|ę7Ý#óňđÄĚ<ÇĹ7˝8hy 4śd`1J “űLĘYËňřťĂäÓ%Š"zzzĐÚÚ A`6›‡ˇÓéP]]Ťp8 ·Ű —ËŦß�JŢ·ŰŤP(„’’ôôô ŤÂh4BŁŃŔăńŔét˘˛˛ńx@<‡Á`ŔęŐ«1wî\˘ŽŽ8p�ÍÍÍ(((€ÍfCKK %T"‘ŔţýűŮtˇ”••ÁëíG,‡ŮlF4E0D<G4EGGôz= ŃŮىĽĽ<´¶¶Âb± ¨¨MMMhkkĂŚ3ŕt:±uëV8Đh4(,,B0@ €ŐŞŚP())ÁöíŰaµZQVVŹÇ˘˘˘´ŕBmm-A€ßďÇţý čîîBqq1˘Ń(úűűałŮŘtA­V‡ľľ>ȲŚňňr477C–eĚž=’$aűöí0 ,‘rMM ÚÚÚ——Ç’ŮŤFÍf–ř·¬¬ ===hiiIVŻÔÁívĂd2a×®]())$I(//GOOT*ě©Ő´�ôz=l6\. PRRÂŞatwwC’$¸\.äć梫«KI>y2DQD]]ĘĘĘĐÜÜ ­V‹’’|ňÉ'p:ťp8xě±GŮ1głŮŹÇáó)Ő˙”s4Uů’$9ů%‹’ăĆçóAX,fÄă1ř|>čt:ŤđĽ€`0€DBD^^^ň=]F,¦$gV÷™2MIL™Ň‡$‰x衇p÷ÝßÓéDcc#A@yy9ęęę`µZQZZŠ;v ›LÁB9I:ü˘(‚çą1wć”ůŻšŚC|©86‰DbXŕCąËÜ´:4ÚŚÓ*Ž:Đ‘P8d{r�/+ÉDÇu:ú9µk=ľŁb‰ú®°Ôę9C;ô‡1&Ź)¸BçŮ訡ˇÇłš;a´űX=·R§BŚőüMűńÉŃkĽ püçc„Š(&čŘ>‰‚1‘HťŘ»w¦NťŠ &Ŕăń   �Ńh íííhiiÁĽyóĐÓÓ˛˛28p�<ĎŁµµííí0 p8hllDCCśN'8ŽĂ„ X'­V —ËQL 77€’dV™˘†ÉdBOO6lŘ€D"ľľ>Lš4 ńxÝÝÝČÍÍĹĆŤa2™ĐŃŃěěläććbçÎťFŁ<y2BˇV®\ �čííĹŇĄK‡±iÓ&x<„ĂaśrĘt‚†ĺŠ€;v`ҤI(--ĹöíŰŕp8`6›±oß>řý~Ě™3‡U0ęííÁŔ@W^ye29x‚ŤÎP§ţ8ôőőçydeeaŐŞU:u*ÚÚÚĐŮŮ »ÝŽÚÚZtvvaďŢ˝;w.ZZZ ŃÚÚŠÎÎNÔÔÔ��6nÜyóćÁăń ˛˛ííí8xđ ššš0qâD‚€;vŔçóaÎś9D"())ËĺÂţýűqúé§cĎž=čěě„Ůl†ßďNWɦw¶´´ŔáP¦X~đÁ¨¬¬ÄÔ©SáőzáőzŃŘŘěěl6’0ŹĂív#ŹcőęŐ?>¶lŮ‚ľľ>ŘlYČÉÉŐj…ĹbßďgŻ×‹őë×ăĘ+ŻÄsĎ= ·ŰÍrß VB @Eäĺĺ"‹A Ę´^Éń•“ă„ÇӇÿߏěl|>?�===(..F,‡Ď× «Ő ŹÇŤśg2Ď I"˘Ń(<ž^8ť9É@ź2µ­ŻŻ<ĎĂëőâŤ7ŢŔ\€uëÖˇĽĽ‰DŰ·oÇÂ… ±}űöQŤÂ˘` !„śÁĄÓ¨N8šuŹQp!eŢ{ęÔ�ĹbĐj5#NwÉÔa<™Ń?řł)fÄ%;«˛,§WUâ>ý¶ŠD˘ŕ¸ÁÜj)äH$Â. FźĎĺđI¦É‘„éŇχD"Y–ÓrpQTJŽ67ÉĐŃNG[­i”Gejš<ľgŘgńž­tšbG”đťßÁ˛Ž¨FŁÓédt`°ZŁÝn‡$IČÎÎĆŢ˝{ŹÇ‘——·Ű ­V˧‹µµµp8ÉĘKđk0`4š•••¬ľŁä_1™LČÉÉA?¬V+rssaµ*#9ÔŇYYY(//G~~>ěv{2ʇŤQÖšÍf”””ŕÔSOeU™˘Ń( `2™Ŕó<úűűÓŽa­V ‡ĂťN»ÝŽÖÖ¶RŮJ’ťN‡É“kYe˘H$‚ÎÎNÁd2AŻ×ٵµ.—+YÁČ‚ââb|ôŃGhkkÉdJNmŃ#;;;™`])ŹĚqôz=jjj0eĘL&„B!đ<ϦpĺććbÇŽđűý(**Âţýűa·ŰŮg›ŃhDWW-ZťN‡˛˛2Ľ÷Ţ{>}:¦L™‡ĂŽşşz6‚PÉŰ$Ŕb±°ľ<Ď'ŹĄM ŃŃŃ‚‚‚ŔJTË˛Ś’’´¶¶B–eÔÔÔ //yyy��“ÉÄÚFÍ·ŁávíÚÁŔrđ)ďkĘÔ`e_ë!Š:;»X’aĄ ą:šU=ŽĄd?1YJ§T¦L¶ łöäy!Öjűó<ŁŃŻ×—6-iĎžzĚź?%%%1cŠŠŠP__ʬ¬,ôôôŔfłŤ[BJŕK!#KßLą^R—ŹÇ!Š čtşdÉBşđý¬ŰX©Ć‡6™tRmCQ“Ł-´¬Ľd¦NĚÉÖ1;žfńxˇPu0Ô6E1Y}B€!YňrXĎšŚŰ%Ą,‰Dáp” OŹ+IŻ 4vÝqđŤVu9’ |”Ŕ÷ř“H$ŕv»á÷űŤFát:‘ťťÍ:ő˛,Ăăń  ˇ¨¨±XŚŤ`Q;í:ť---l”Mmm-b±˛˛˛›«Ślhoo‡(аŰíđů|(//‡FŁA"‘@GG"‘ŠŠŠŤFÁó<z{{a4Q\\ŚD"Ż× łŮ Ż×‹H$‚ěl'dY‚Á`@ww7 čŞeŁűúú`0`·Ű٨•®®.–SŞ­­ ’$ˇ  �YYYhll‚Ó™ Qa4áóůX#A€c_Ädeeˇ··z˝žŁDQDII ´Z-|>:::  ‰Dب!ŁŃČ*şY,Vää8 …ĐÔÔ„H$żßŹąsçÂď÷çy6ٱ±EEEÇă°ŮlčëëG8‚(*ą° Áqşşş‹ĹŃŢކ%K–€ă8ô÷÷Ł··’$Áb±°ŕŹFŁA @vv6’›› I’pđŕAV1*ŹŁ¬¬ ˇPV«999$‰UÇ’e:ťÁ`z˝ž9Ô©[~żź­›FŁANNš››±oß>üăË’çQŤ69+p8ÂŞf‰b±Xś}±ŐßßĎFđ‚�·Ű ›ÍƉ &bV§Rő÷÷ˇ´´ńxv»ťUć’e%ࣔľVľ¬AÄ .ąäĚźkÓŽŽäçç#°’áv»ŤŞ)BȉŚMnőbOţŞ”-Tż¦ăřveHR˛"Kň˘N«Ő±oŐÔ¶RJBĆŔót:mZ.™ńřÂśb1HVćl+Ą-Ňc©Á3µ«ˇójĽĎ-Ą%˛o+×V:ť&Ą“KíőéÉ«ďq˘€ hŮ” ĆśÜŐ”2]ë�ç˙566˘µµUUU(((8ę©j©ÔŃ+C§,éń’ú…ČXŹłÔ Lc9f†N/Vőőőaűö((ČGuuő¨ö_je§ÔvŮ´i¦L™ÂrÇŚôĽÔý)H××ׇ]»vˇ´´•••«×©ę¨‘öy¦őřÍoŔîÝ»Źč9˘(" ˛QB˘(" ±Q3#m‡^ŻN§gŁłŽÔ´iÓpĎ=?<äct: US"„“ăx°ÄcęđŘh4–ü• S?äSl(ëŚp’ß Ă.¦xžgÓ(Ôoó•䱩mEŤöiwđ‡9sĐjui†&wU‡ż+%ŤS/P©ť>ýó‹cç0X #Sç*µ­b1ĺÚV}$ăŐVÓ”÷@ MSúśŠÇăčëëCA˛2ŁŞŞŞ •••GčHĄŚBŤ±€‚$I‡ĂěG-%}¸RÔ©×U±X ‘HfłyLĺąŐ ‰:úćHAáp89Ňfř󳲲0oŢ\–«d4�4 ŚF#ËßRZZŠÓO?ťµC¦ą˛,# ±@·ÓéöšŤyyyXĽxń!Ű4‘H ®®UUUČĘĘĘř÷h4ü—°�� �IDAT ‹Ĺ2ěommm—©XR+kĄ~dee±Qzj%CI’2cÔí8Z#­ëxŁ` !„| şC?,Sďăy>ůÍ˝V~Uý„|şmŁţ«v3uSsǨAő[Sj§ńĄ¶Ojގ’ęmuŽĽÚNň8V™"ĂĎ«LüĄĹ5ÉÄ‹2µŐqĐV„9y$ ôôô «« EEEhmmEII t:+al±XĐŮŮ @†N§Ç››‹ŇŇRôöö"‘H ¤¤ŤDEEËESUU…P(„îînLź>ťĺčFŁčîîFGG›r’››‹ööv–ű¤®®]t:::`4ˇ×ëáńxĐŐŐ…SN9…u’ăń8ŞŞŞ`4 ™¸~ż•••đz˝p»Ý())A__ ŃÔÔ„ÜÜ\deea˙ţý¨¬¬d9@Z[[Q^^Žx<—Ë…˘˘"Řív8p�^ݵµµ0 p»ÝhmmEuu5ÚŰۉDźź§Ó‰ććf äĺ塽˝ÇÁn·c˙ţýhooÇĽyó`6›áp8ĐŰŰ łŮŚőë×ŁŞŞŠĺ´Q×)‹ˇ±ń�4- ŘňÔQ)jΖÎÎNhµZ´´4ٍ¨FŁ‚ ŔëőB§Óˇµµ555°X,¨ŻŻGss3ňóóałŮŕt:a±XĐÜÜŚěěl6şiÍš5Đét(//‡^ŻGss3ěv; :::‡ńź˙üW]uöíۇÜÜ\8´´´Ŕjµ˘ąąńx‹-B0D[[ ŕőzárą ×ëŃßß­V«ŐƦůý~ zřý 6zRĂqü~2±6›~żF٧\‡…Ă!X,Ödp/Š ŢALĆd^9fł Z­’$&BR27ŤIRFh644 ‰ ˘˘&“ Á`űöíC^^Ë­CÁB90™1©AÔaşjYję„|&-6ŞŠVCK†óź“Ę*Çc�-Óy6RG_ ĘĐą5ţít¸Ń©í§¶‘z^Ą·•:}óPÓ87ĹspZâŃ-gč˛Ćöž“˛ĆřŁŮ'Ç®­Č‰I šŤFěŮłfłË—/Çś9s Ë2<Á�ťN‡X,QY5ž††ěÚµ ,@cc#:;;‘““U«VˇŞŞ hjjb#8Ôś$jŮĺÖÖVäççcĎž=đz˝9s&�€•Ą÷ů|čďďÇşuë°xńâäHĆ8‚čěěB$Ann.Bˇ ĆDŁQlßľ………čééA}}=JKK±iÓ&`Ó¦Mp8زe ćĚ™—Ë…šš$ ôöö�>üđCdggŁ˘˘[¶lA(©§žŠŽŽÄb1„Ăa477#776lŔÁ1ţ|´¶¶B’¤dőˇ&ś}ö"tvv˛’Ůjyďx<Ž––477c„ ,ź‹ÉdbU{<éÓ§Ăív#Âçó±Ľ7‡ýýý¬]‹Ĺ Óé°|ůrTWWcâĉضmKĚ\WWÇ*-Y,öeÄŠ+0oŢ<´··cË–-¸ćšk Őjńᅪ«®şk×®Euu5|>V¬XsĎ=ˇPiţóź˙`Ö¬Yhhh€ p8čěěDAAÚÚÚŔó<úúúĐÚęBqq1Ö¬YźĎ‡ělĽ^/śÎl6rH”ÄÁÝÝnV‰)@aaQÚű‘ÍfCss3ňňňĐÝíFv¶Áŕ��6› Ź&“|éíő ++ ‘Háp<Ď! ˘·×’’’d>‰„Č‚\Á`�^Ż/Y:<Ź>úĄĄĄp80Ťhjj‚FŁÁ …(C!'bgdh'q¤cęZş >1Ú—ÚéłŮď©çĘHsĎ3U¶}U%r,f‡ ÄŚÔ–ě$äŘĐétÉňżVş8PJ «÷éőzŤFD"”——łDĽj’Ůť;w˘»Ű ŤFĂ* Ŕď÷Ăn·ĂăńŔëő";;›ŤHĚÉÉÓé„Íf×ëE0„Űí†ÓédÓuÜn7Ün7:;;Y5#QTňLdee±őSŢ#8$ ŤFäççł*m999Řąs'L&z{{1qb5ÚÚÚ‰DPXXťN‡x<Žžžx<ô÷÷ŁĽĽfłZ­–ĺ)±X,ÉJ}L&–äXI4Î!Ť˘˝˝˝˝˝pąZ100Ŕ’ËŞÉŽ­V+&L€?üűöíĂěŮłŹÇaµZŮ!łŮŚH$�đz˝hooG4…Á`@QQ¬V+˘Ń(Š‹‹±k×.–V-Ąíp8H$°gĎTUUcĎžzđ<Ϧ—iµZŤFÍfLź>ëÖ­Űí†ĎçcA�lTH_źn· @�999ŕyąąąp:ť0™LđűýhkkŐjE @II , Ěf3zzz�(SÜ,3«Ą|đ<“IŮ^uʨ­H$ 5oźŇĆdyđ /ŤF‡Ăżß5·ÇqD˘¬,%‡dD"á´Ü~fłRAI%pśĚSŹ5łŮŚp8 Y– ‡Y�K-ë­ź0ÉH™Š—Ŕ7ÓŹĚ } ÷ýä_ˇůÚ„ŤÚQHťF”HÇŕĚ68.ó—ÔNÇĐŕĚĐ„sôóŮýÉq@eŹŹNţhK!ÓĎńw. ¶Śeäxűś”0đRZ­’ëAő©Ž><QÚvđł^†()źő˘$Co˛A«Ół<;'Ęű¦ÝnG^^ZZZ0cĆ äć梷·EEE0azzzX@˘¤¤ŮŮٰX,°Z­(--…N§Ăĉ0mÚ46ŞeĘ”)0 ‡Ăp:ťp»Ý°Ű퍆ĺoÉĘĘBii)+÷\]]ŤP(„ &°˛Ôĺĺĺe99Ę#‡UR+?)Ł7ŞŘ(şţţ~TTT°)5gśq8ŽCuu5:::P^^Ž˘˘"čt:dee±˛É<ĎŁ¤¤ĹĹĹlJÎ)§ś‚ććfŘl6Âfł!ŹŁąąS§NEcc#xžGEEJKK ‘źźŹÚÚZH’„ĽĽ< †d�ŔŚŽŽĚ1•ŠV«8 x˝^TVVÂd2±`ĐäÉ“Q]]ŤDŁQäĺĺÁjµBŻ×#''6› ĺĺĺ:u*jjjĐÖÖ†©S§Ŕn·c``�•••°Ůl°Z­p:ťp8˛Č¨ŞŞ‚$I(/ꀂ‚đ<ŹĺË—#//sçÎEYY˘Ń(ŞŞŞ››Ë‚-ÇaÁ‚D"(--ĹÔ©SŃŐŐŁŃȦYŮívhµJµ$§Ó ˝^Ź5kVĂd2ă”ŇćęűA4ŞTCr:ťĹb0M0ô0™LĹDÚTIŽă`2™`0 …`2™’”4 ,k29¸€čőzV€Áb±B«ŐÂbQFĎhµ:6˝I Äh44-l6+nĽń&Íf”––&«ű)Ő¨jkk‘••…'žřóS�"Pó¦&ě•3ü�cxP5%BÁXJ[B!źŹ@ US:^·EEV‘G-K¬ŽöPsލů2¦NťŠÜÜÜaÓ¨e$C,Á`` sőz=K‡0a„´é†Cóá©ËSG9dŞ`”ZÍPMÄŢÓÓŞŞ*¶îę” őďFŁ‘UK$Đét,Ç›Ŕ‰Çălh4š´©‘jU7µrúXťN‡•+WböěٰŰíiLJN§ce·Ő$˙jÝ]»vaúôéČĘĘJËŁľľšŘ\]uôEj%µh@j ZÍŻ˘ŐjŹÇ(ÁmuZ­6ůZ Ȳ˝^ŹDB„(&Řö¨űúoű.żü2ŘlYimˇî�ě5RŰ&µýÔ\S˘(˛|/±X ·ß~8N­ÚĆĄĘqĹC•X†úe&Ç) ߯˝öZ,X°�v»ýÇ·×ëĹÇŻĆ«ŻľŠX,ĆÖOI�ŻNAçÓF^Ş%­•űŐÇńřë_źbŰ­îDQ„V«ÇFŁJ[BČÉŚM)lB!„‚1Śë6 vTÓ§¦ţ®^ë¤VD“eiX»Ą FcčkeZ7ššxrąůć›ĆôĽn¸—^ú…#zΛoľ‰—_~ĺ¨Ö÷ůç_8äß©´5!„ś€§™r".Ź !„Bȱ¸QF®ÄÁóJ.‘h4 Aب–x<I’`0 ńŹüW^y%ŚF#xžG8†^Żg9St:]Z5#5GŚ: Eťj¤ćsQ+F`ů`ÔĽ&J"Ő \.fĚ‘±|1ů|Y¸đ,�Ŕ˝÷ţ”%|ɤIq˙ý÷cáÂ…GŚ9P0†Bă†ç6PľíËôŘáąa¨š !„“óó19šbHîúľáł#Š"ş»Ý8x° ’$ˇ  �ýýýČÉÉAee%Âá0ęęęŕ÷ű±páÂdRŐˇÓéŕt:ŃÔÔ˝^Źüü|´··ł MSSBˇrsóĐÝÝŦĹăqäćć" "‘H@Ż×#//‹.— ^Ż‚ '''YR[™ž’:…‰|~©S“đĘ+/łű»şşđíoßťöŘýű•`ŤĂá8)¶ťĆ†BČ!.23ݧ»–Ą#K&J!„śLꑞ$Ź9ˇ3ůtH’ʧmmmŘ´i|>«$Ë2ĐÚÚŠM›6±ś˛,ُ¸.— ťťťčęęÂÖ­[qđŕAX,8¬^˝ŮŮŮđű|ȲŮá÷ŕrµAD"–8w÷îÝčďďÇŔŔ�ş»» ˇŐjŃÚÚŠććfdg;ŘşŇVd(żßŹűď˙ů°@ĚÉ‚1„r‹Mő_šb"–,ÇG„B>X‚V1>8j”ă)s´K$Aqq1Ěf3ôz=***ĐŰŰ QY%5ɬ 0 hnn†V«EWWňóó`łYáp8ĐÝÝŤÝ»wĂjµââ‹/ĆŽ;‰Fáńôˇ·×˝^ʬ¬,čőzř|>455aҤIčëëc#lěv;Ěf3«Â¤®Kww7�5Ió‡?üßţö·0uęÔ“~[iš!„†ra)'GĹpĐh„ÂÄca9Í !„ĎŹx,ŚD, ŁAÇJY~nžźőĂ×]Ů®¨s§Ń şşŹĄĄĄp8p»Ý?>A@aa!8ŽCUUôz=$IÂyçťI’PYY ˝^ŹÇ ĘałŮ`±X`±X ÓéPTT„H$źĎŹ=ő{`łŮ0uęTää8“%…-ŕyŮŮŮčííeyjÔŠ5ąąą8q"Bˇ éőz:‘ÓŐŐ…˝{÷áá‡Á·żý-<üđ#¨ŻŻO{Ěu×]Ňl/c!ä0g©ybAPĘjđöv"ݏĽ@ò !„|ľHb>O74Â`iŘ}ş’şÎjé^Aŕ KR˛T ‚ ;;ŮŮŮ쾬¬,vŰd2ˇ˛˛2í9ĄĄĄiżŰl¶ŚĎM˝/++ Z­YY6P1›Íě1eeet’#¦NMŞŻŻÇĂ?‚[ną?üáŹNÚíĄ` !„ŚââŚç9Č2 ŃHĐé´G˘čs·!;ŻĽ ŁE!äsAăđt» Ć#0čuĐj5x!Ä8±GŨӒ5 b ±hFł•=…Ůl†Éh8ŞIŽ^?&O®ÁŢ˝űŘýőőőřá»Ýމ«ˇÓĄ_kÇb144€×ë=a·ť‚1„r‹35'ŚA™'Ż“!IâŃôt4ĂžS­ÎŽç“e¬€VŇz$©ŻŁ>'Ó}ęc‡.3óße¶C/8S7ôą#=nčsµľ#m[Ę˝HťÚ5šçęuF{_¦ý7üqň°¶í>šCčPűĺHÚîpŰp$ű`ěËTŰ,˝íFóÜc}LŹüşGßvŁ=¦‡·gúk–m7üśÝ~©í2ÓźÖűŃŃî—#y?é¸ú4Žéˇës¨cúXżŤfżŚđÉÄÎyed2J$ ĂŰŰ)ˇbôz4‚†bNôDľ#ayđŹČ€f«ZžÇQşM´(CŽŤU«VáňË/Ç}÷Ý—vż:©şzx �t:Ş««±yóf ĆBČÉzÁ1ôMŁŃ° Mť(!ŤˇŻ«ťĽ …$)®ŁKî›ú.C bh'ax§aôÔ©Żw´ËŕF±ü±¬ëHŻu,–›iýpí:–Ë;VűýpűŕpŰp¨żËGą/2µW¦őí1}¸çŚ´ßÇrʶíä1Çrß~ZÇôHçްí·­Ł=¦G»ĎŽäýčhÎÁ#Ů·Gű^r$Ë8Úcztű›ç•©;’‡ŹA#đ0 Đj5Đj´Míúąyâb’źő‚z˝ 1NŽ‚-Fk q„Śęšvô–-[Y–±hѢ´éuęňôz%łvíÚ´çťyć™ÉżŤíu%I¤` !„ś8h<� \˛ZÇq<ŻeDQ„”C%H’ňC!„śđ],ž§Ń@ŕ9čŤzjž^Hb¸´@̉>2FxÖM’Ť2˘ŃúÝ­ĐmĐ-Hą(7ʤC8R�ň×™ŕăůüŁëŹýµS_˙h*[rGą˙q Ö˙Dn˙Áç'ń1=?‘HŕĹ_Ŕ‹/ľńQ˘�€aËE1ybLëڏíăőţEÁBĹ…™:Ä›gÓ”7nžW†1KĄĚµ„QţĄ˛×„BNÍŕčXYdŽ Äś Ő”ÔĎvYV*€ đH$D$bA„˘S>ăeY:Ä”°ôÎj¦)cCźÇşć–3tJńHÇáS ądĐhä)µ™–;tŮGň÷ĂmÓ‘ţ{¸ĺŽô÷‘¦FŽôÜ#Y×c±N‡kżˇ÷gzí‘ţžięâˇÖ}´ë5ŇóâŃđcH7#ü] Ó0îÜô`L<†H4‚x4”1<–iśnękú=í#¶/ÇŹĎ”D ĆBČ^¤©A Ěđ<Ď‚/ęŹ$K#^¸B!'Ňgutč`ŕ%5?Śú·=™ëĐ`’şŤŤ !Q!ŠDlô«,SB�@ř”Î˙††ý8q CÚý‘HŤ űÇüş:ÍČç.Ď ă˛Ď(C!c¸PSo«ÁŽăˇĆ]R2„Bȉţą7RâDÎs¸ĎůÁ‘°$IÇi!H$AJűŇ…˘4źN�#đcëÖÍÇüuM&ăČď42†BŽď µÔŰéŽ1„BNXJő¤áź{#ý{˛Ö+Ó±$đ<YŇľpˇĎ{Bü VmL«Ńâü§` !„÷iCçĎfš7L!„śčźw#}®}^2ęH™ÔĎ~ Ä’rľđ'Ö{ćP#j(C!'Ö…Úh.LéÂŤBȉňŮ6R"ŃĂ}Öť¬űäP‰n ůĽ’tbś<Ż$ ů„§` !„śp®Çęq„Bȉôův2o?Ťx%äđ˛¬6x}ľf]yNSikB9±®D !„r<ŁĎ­Ěűö !Ă•–Áë÷ť0ëz<c¨!„|Šo©?„B!„śŚ¦L®ˇu=BŚ!„B!„BČť>g­ë˘` !„B!„BƬ° gÎ;ý¸_Ď3睎‚üăb](C!„B!„ŁrĺeKÁsÇoçx\yŮŇăg}č!„B!„BČŃ(,ČÇm·ŢpÜ®ßm·ŢpÜŚŠ(C!„B!„c`ń˘¸ö‹—wëuí/ÇâE Ž«u˘ŇÖ„B!„B9&.»äBX­üíŮ— ÉŇgş.<Çă¶[o8î1�c!„B!„r -^´�µ5ńĎ7ßÁÚ ›>“u8sŢé¸ň˛ĄÇŐÔ¤TÜ(îçR~Woó)˙Ş?BňG“üŃаˡž řŚ#b„B!„B_ť]ÝŘ´yę÷î«­~ŕŹá96›Ą%E2ą§Ď™5ö Ç3ĺÎŕHţÉ)ĺGNůWN.%ő6†ÜV^f¤—r›‚1„B!„B9ąŤS0†řB!„B!„Ś# ĆB!„B!„Ś# ĆB!„B!„Ś# ĆB!„B!„Ś# ĆB!„B!„Ś# ĆB!„B!„Ś# ĆB!„B!„Ś#ÍxĽ«­’(ŇŢ&„B!„BČq‹„qyťq Ć”Oˇ%„B!„BMS"„B!„BWŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!„B!„BGŚ!Ç˝ľľ>ěÚµ˘(ŇÎ ä$ŃÚÚŠ††´N„B!äsIC»€Ś‡+®¸ ťť]i÷ ‚€ś'JKKqÁçaÉ’sa4Ósđ`3nżý …púésđčŁÓÎ<ÎÝ|ó—ŃĐĐ��¸ęŞ/â{ß»›vĘçP[[®şę:öűcŹ=ŚÓN›�xçť÷đ‹_ü ˛,ăk_ű|éK·|ćë{<®!„B9yŃČň™EÝÝnlŢĽżüĺ¸ĺ–ŰĐŘŘ”ö;v  �6oŢJŁc9 lܸ˛,'oo·×]¶ěxꩿᩧţ6ěu?«u"„B!źOŚ!ź ‹Ĺ ˝^źvźËĺÂťw~===ěľĹ‹ĎÁôéÓ`2™đŐŻŢAhçr‚»îşkQXXělnąĺ¦q{Ý×^K Ć|r\¬!„Bů|˘iJdÜ]{í5¸űîo�z{{ńĆoá™gž…(ŠđűxđÁßă·ż}��`łŮđ׿>A;Ť“Č”)µř׿^§u"„B!ź[Ś!ź©śś|ĺ+·�žzęo�€5kÖˇ§§ąąąxë­·ń«_ý†=~íÚUltĚćÍ[đúëËPWWŻ×AŹĘĘJ\pÁy¸üňˆŤ˘9x°/˝ô 6oŢŹÇAŹéӧᦛnĬY3‡­ŰĆŤ›°lŮ?°gĎ^řýdg;0{ö,\ýu8±€’gâç?˙%{ÎsĎ=I“&˛ß—-ű~÷»‡��<Ďăí·˙§Ó I’đĆoâťwŢGkk b±8JJJ°xńٸţúka2™Ř2.˝ô ¸ÝĘhˇ{îů˘Ń(ž{îôőőăăŹ˙ťN—qß~ňÉfĽöÚ먫«G DNN&Ož„«Żľ łgĎbŹKÝÇUUUx晿âÉ'źĆĘ•+áőúP]]ŤŻ~ő6Ě›77mů.— O<ń$>ůd3  śď~wôůaî»ď~Ľ˙ţ �Ŕ-·Ü„‹/ľ=ô0¶o߉ělnżý˸䒥čěěÄźţô6nÜ„DBÄŚÓq÷ÝßBYY[–$Ixë­·ńŢ{ËŃŘŘDBDAAA˛˝®AiiiĆ×˝úę«póÍ7ŕ‘GĂćÍ[ Š"fÍš‰o~ó®´ç¨ŰűÜs/bóćÍđxú`µZPVV†K/ýÎ;ď\h4éo§[¶lĹSOý {÷îÁ Çe—]ŠŻ|ĺ6,Xp6{Ě˙ýß˝¸č˘ Řďë×oŔëŻ/ĂŢ˝űX›Íť{:nąĺFvźŽ¶ÍS÷ÁĽy§ă?ř|đ÷Řşu;ŚFćÍ›‹;ďĽůůůŹĂ˙ý߯ˇ¶v2yäq´´´ŔéĚĆśŹŰo˙ňÇăHmĘ)Óńä“fóűýxůĺWńß˙~Ś®.%ĎTEEľřĹ+pŃE€çů#ŢćU«>Ć=÷ü8íy/˝ô2^zée|éK·ŕk_űźĂ®Ó+ŻĽ†Ź>Z…îînŹ’’R\tŃů¸ňĘ+ŇÚ>u?ýú׿@NNüOhh8�AŹĹ‹ă˙÷Ž´s\’$üűßď°ă7 ĂfłbĘ”Z|ń‹WbţüyôaA!„BÁBŽ˝+®¸ O?ý dY†$IXż~.˝ô #>ţŤ7ŢÄ<v_0ŔÎť»°sç.¬_ż>řp�řřăŐ¸÷ŢűŤFŮăc±Ö®]ʵk×ăĆoŔ7ľńżěoO<ń$ţţ÷çŇ–ßŐŐŤwß}+W~źüäG¸đÂóqÎ9‹đŕżG$�¬^˝&-łví:vű´ÓN…ÓéD,Ăwżű}|ňÉ–´ĺ766˘±±Ë—ŻÄO<ŽěěěaŰ˝iÓ'řčŁU‡Ýź/Ľđ"üĎi÷uvv˘łł}´ _ţň­lÝ1ä�� �IDAT¸ăŽŻ{^<Çüďľű>»Ż®®ßůÎ÷ńČ#` XŰÚÚpűí˙ż?Ŕ·bĹhkëS^źÎÎN|ýë߀ÇÓ—ü˝ żüĺ°ŮlxđÁߣ§§7%`±űö}/żü˛˛˛ IîąçGX˝zmÚ2›››ŃÜÜŚ·ßţ7~ó›_áŚ3ć{Ý`0€o~ó;hnnf÷­^˝»w×áĹźcm°mŰvÜ}÷÷X;€ÇÓʧ۶mÇż˙ý}ô!�\˝z îąçÇ$ �‡ń÷ż?Ż×7â>ČtĚuvvâŤ7ŢÄŠ+ńĐCżĂڧó6÷ű¸óλĐÝí�DŁQĽ˙ţ |ňÉfüýďO#77wŘsvďŢŤżü寬­»şşńěłĎc×®ÝxüńG†LFËĺráßř6şşşÓŻG}}=Ţzëm<öŘĂ,ŕ3Öm>mmmřĆ7ľ=,ůž={°gϬXń}ôˇ´ŕŠjßľý¸˙ţ_"�Bˇ–-űšššđÇ?>ĘŢźî»ď~¬XńAÚsűúú±fÍ:¬YłwÝu'nşéFú  „B9‰PÎr\p:ťČÎv¤>F"IţřÇÁŘôéÓpĎ=ßĂWľrë¤)ťĄsîv»ńłźýśb,3Î;ď\TWWłeĽřâKرcgňąkÓ:Ĺ%%%8˙ü%p8ě,`ńë_˙.— &“ gťu&{ěš5Á—H$‚-[¶±ß/ĽđB�Ŕ“O>Í1×\s5®ąćj8ťJÇżµµż˙ýC·ýŁŹVAŁŃ`ňäÉi#C†vF˙ô§ż°ßĎ>{!ľůÍŻă´ÓNe÷ýýďϡłł3cÇsůň•5k&&Mš”¶Ďź~úöűţđpZ ¦˛˛óçĎĹţýűŃÔÔtÄíżrĺ‡čď÷"??ŹÝ'Ë2~𡧧ąą9i#.úúú±bĹJ�Ŕňĺ+Y F«ŐâꫯÂ]w݉’’Ö^>ř‡ŚŻ»|ůJ¸ÝnĚ›w: Gô÷{±lŮ?ŮzüâżfššÜuםiÁÂ-[¶âý÷—§´Ô@ �Ěš5Ó§OĂoĽ™q=Ö­[źvĚťwŢą¸őÖ›Ů1 …đӟއX,vĚŰĽľľńx×^{ ćÍ;=-Ř”zžĄúřă5¨¬¬Äő×_‡ĘĘJv˙Ö­Űđďż3ć÷źţô~vîó<ŹłÎ:3mvě؉_|ů·ą¬¬ 7ß<<ĚÍ7ß”qT\Ş{ďý Ĩë”:Ęh÷î:<ôĐŁźűÜs/ŔjµŕŚ3ćÁl6Ąí§-[¶˛€Mj ć ĎÇO~ňC,]zqJ îŻđů|ôAA!„rˇ‘1ä¸a2™ŮČźĎ?âăÓ:®W\q9�`Ú´©‡Ă(++Ci©Ň÷Ý÷10 Tdýë_PQQI’pűíw`Ďž=ŕyë×oŔڧŕŐW_cË...ĆóĎ?ŁŃÎÎ.\ýMD"FŁřç?ßÄ·ľu.¸ŕ|¬\ů!�`ďŢ˝čííENN6mú„už -: Ńh˙ú׿Řňż˙ýďbéŇ‹�(Ł®żţ&tńűý°ŮliŰnłYńÇ?>ƦIebłŮđÇ?>Š®®nD"a¶o–,9—^z% 0ěŰ·………Ă]?üá÷qůĺ—�~ôŁź°‘8őő{’măÆ ŐfÎ:ëLüö·€ă8¬_żwßý˝#n{ťN‡gźý**ʇŤv¸óÎ;pë­7ĂĺrᦛľÄ‚jÍÍ­�€9sfăŃGBww7ěv;Î:kA2Ŕ—źýěç¬ăžir‡§ź~ĺ‡Ă¸ţú›X0 ľľží«ź˙ü>tuuĂíîĆŇĄĂjµ˛ L{{{˛SÝ€ĄK‘ś×7lýŕ±Çţ„_|iŘöżňĘ«ěöŇĄăŢ{•)5_ţň­¸îşŃŐŐŤîn76nÜĶďXµą řóź˙ ”ŕŢ=÷ü«V­�ü÷ż#ŤK¶]ZZЧžzz˝áp×^{›šł|ůĘCŽjÉÎť»°gĎöű~đ]v>ňČăxůĺW�(Óżüĺ[Źh›Ď>{ľţőŻaŐŞŹŃÚŞ77Üp=ľţőŻŤyť~÷»‡°lŮ?��ďżżwÝu'˛˛˛Ňž_\\Śgź}&“ 4â替Ä*6Ő×ďÁś9§˛©XŞ›nşŐŐUřÂ.ÁěŮłťí@YY);ć!„Bc9¦BˇvŰnĎńqV«&L@KK �ŕxŻżţOLž< 55“0wî\TUU¦t¨v˛ŰUUU¨¨( |ËýłźÝ‹X,ޞ˛R6ňb×®ş”@ĂŤF�@aa¦OźĘFµěÜą �0ţ<ŘíYđz}ek×®Ăe—]š6JfѢł`2™°gĎ^€ź˙ü—i9gR"MM1s挴űĎ;ďĽCb�Ŕl6cÖ¬™đů|Řąs^xáEtuą±uë¶´ÇĹ㉌Ď_ĽřvűŚ3ćł`L,C,Ck«+mÔÇĹ_̦[Ěź?ĄĄĄpą\GÔö•••¬]Î:무`Ě’%‹Y� ˘˘{÷îeë�ąąąČÍÍE{{;ęë÷âé§źAggÖŻ_?d{ăĂ^·˘˘‚˝®ŃhĬY3ńŢ{Ę—`p€'S¦Ô˘şş ;wîÂűď/Ggg7öł@Lęú8p í5ľđ…ĄěöUW]™1łsçnvűťwŢĹ;;q?54ČŚ9š6ź<y2 Ä�ŔÂ…g±`L$AWWwÚßŕěł±�ŤŃhÄi§ÍÁ;ďĽ�8xđŕÎ˙ÔóT9Ö—°Ű·Ür#Î=÷LPĆ‚G{śŹeť–,9—Ý>˙ü%,ŹÇQ_żgXn—ůóç±éKŐŐUČÍÍaA«`P (×ÔÔ@«Ő˛ăóÖ[oĂĉ1iŇDL™2iٶ!„Bc9f<úúúŮď©ÓU2ą˙ţ˙ĂŹ|/ë »\.¸\.¬\ů!üĎ3çTüęW?‡Íf×ëOYnzţ‹ˇS}˘ŃhZ^‚‚ôőČĎ/`·űű•őK– vĚÔ`̆ Řc/ĽPIŇęőzG˝O2˘,ŁzîSOý Ď?˙bZŽśŃ2›Íoí°ż´ß‡vűctşÁׄôŮ“Zmę߆—6ŹD"¸ďľű±jŐj6ę`´L&cúbĘö¦.jŐŞŹńŰßţ.mÄËH|ľÁýc0Ňr˙dęT=ć}L„Žy›ŰléÇTNNNÚď~ż˙ž“:}íH¤ž§fł)í8t8p8Çô8Ë:Y,Űť——7䱾Ă_Z­nŘńUPŹ˙ř‡xđÁß# AEěÝ»{÷îĹ[o˝ žçqőŐW± t„B!„‚1„3˙ú×›¬#Íóüa«‡ÔÔLÂ«ŻľíŰw`ëÖmŘż?vď®c˘Í›·ŕ/y ß˙ţw`·NMéîîI[NccPZZ‡Ă˝^ÁŔ:Ç]]î´ÇwwwĄuU\p Ćl۶ÍÍ-ěđělN?ý4�6ŤaĹŠw‡Mť9Zď˝·śU¦ây—\˛łgĎÂäÉ5¸îşŁO:tşDggjk'łßSG‹Ś‡ßýî!ü÷ż'V\yĺ<ą±X?ýé}G˝ü¶¶6Ü{ď`ľ–ąsOĂ9眍‰'âá‡Ĺ®]»Gě€G" °ŔB¦ĽCŹąř%Î>{Ѹµy[[GÚďCŰ/Óńy¨çŘlc›N“zž „Ňö›ÇăAccĘĘĘźźŽă>őă<Ó:Aq»ÝC›5ć×ąč˘ °pálÜř vîÜ…}űöˇľ~˘Ń($IÂ«Żľ†SN™ŽsĎ=‡>,!„B(CČŃëëëĂoĽ…gžy–Ýwć™ó3VpQąÝn|üńj¸\íčëóŕ˙ţď^h4$ ÜqÇ×QW§L3RÉžrĘ)X·nC2řŇ›YÎ_üâ×,'ĵ×^»ďţfÚT¤5kÖâk_ű* şşşÓ¦0ťrĘtv{úôi(..F{{; ^ye0ďĚ’%KŘŽŠŠrŤFV]壏ţ‹Ë.»€2áĎ~ĺĺe¨¬¬ÄěŮł2Ž9śM›6Ą‰~üă{��ǤÍ&L(ĎólŞŇ»ďľ‹sÎYŽă°víşQŤ9–>ůävű›ßĽ —\˘L :šD˛©¶oßÁ1ůůyxä%ą˛$Ičííöřˇ%±×®]ŹóĎW¦Ü|đÁ‡_cĘ”Z6˝ćż˙]•Śůóź˙ŁŃŞŞJĚqJĆŕČŃ´ąËĺÂÖ­Ű0{ö,$‰´JZFŁ……ĂžłzőjÜqÇWťť ·ŰŤ 6˛ż©SŐ©kŞ‘’žO镢V®ü€ĺgyá…—YΉ'âůçźÓ6§®ÓáÖ'Ó:}đÁ‡lťR“îjµZL™R;¦ăkßľýŘĽy3\®vŘíYřö·żÁŢ/żü*¶žĘô/ ĆB!„P0†1zőŐ×đÎ;ď ‘‡Mϰ٬řţ÷ż{ČçK’ڇ~ ‰„’ ÂăéĂ’%‹á÷ŇňUÔÔÔ��.ľřB<˙ü P¦�ÜqÇť8óĚ3pŕ@Řă-:‹eÔ`L[[nąĺ6L›66ldë«Óépĺ•—Ą­×…žĎ*ĄVÍąč˘ Ň:·K—^ĚFŃ<řŕ°˙ŘíYXąňC–\´´´Ż˝öŇöŻÁ082cëÖmřŕ˙ ‹ +›<V6› óćťÎ\k֬à 7Ü‚Ü\'¶nÝ>îÇSęöľűîű°ŰíhkkĂ“O>}L–Ż×ŘíŢ^^}rrrđöŰ˙Vî�Î8CÉ )SŠ~ő«°mŰv˘÷Ţ{?ăk\}őU,óţű+ …P[[‹­[·˛cQ,[öJĆ`ĚѶů·ľőśzę,¸\íiŁ\Î9gQZ+U__˙˙łwßq9î˙Ç_M!ˇa‡Śc;Ç:˘ĄBĘHdďN!3˛Ň ;2’=Ź‘ŽŽă82˛)*ŠÓ‘y¬CËďŹtźn­;ßNgüŢĎÇăztŹĎ}]źu­w×őąč×o őęŐĺÚµëŠńu2#íĐ××GMMMqĹŰŠÁ<}ú”Îť;ĺřhD˝zőÁŃ sćĚYŢ˝{ÇéÓgł­§źRfCCĹXS‡ć÷ßźÓ®][,--TÎÓŮłĽ~ýšóYÖ}»lW˝©ęŢ˝x‚‚V*ő±† ësçN¬RŔ¨NťĎdç!„Bń"ʶ‹WŻ^g ÄłjŐŠlc1|¬B…ňŚë®ř/÷Ĺ‹‘ĚźżŕŕĹ pŤ5<8ă 6ĺĘ•cÖ¬ŠG_ĽxÉwßV ÄôîÝKń¸Zss3¨ř.>>ž)Ć´ŃŇŇÂËkJ¶+ :thź-ŻĆĆĆJ·đ�¸»Ź Qن�¤¦¦˛gOëÖmPbtuK2kÖôlW¨Ş}ű¶¨«g¬Ú&1}úL||üĐĐĐŔĐĐ PÚoüxĄŰQâââ8OŤ5”‰]ěěÚ)ť”OśčI`` Ô+”ů›š~IéŇ´´4- dęÔéDF^¦aĂŮŇ—,YRi|Ź·o߲wď7ěß˙­RŰdemmEŻ^=ďúégVŻ^ŁĨ©©1~üŘlOB*Ś6ŻS§*TŕĚ™Ą@ڎˇ#Gćü´ˇ6m,yýú żürFiŚćÍ›áŕńt°Ě‘3ĹĆƶ/ĎĽřřĚTŚ«“––ĆŹ?ţ¤iÔ¨!ö˙ä2[[˙yĹŃË—Ż8rägĎžË3OľľłWĄĄĄqüř Ą@LÆ ţ§ń\ÚµłĹƦŤâýá,Pl3Óä4płB!„`ڦˇˇAąrF4kÖ//O6o^Żô¤ĽôčáĚŞU˱¶¶ÂĐĐ�MMMJ–,A pwÁşu«)S¦Ś"˝ĄĄ7®ŁS§ŽT¬X---J•ŇĄeË*n Čäć6ŚĄKcaa†>ZZZT¨P{{;ÖŻ_“GŕE9�őŞL:::¬ZµśńăÇŇ AôôJˇĄĄEĄJ•čÖ͉-[6ĺx’ŻŞ&Mľ`ŢĽ9ÔŻ_źbĹŠQ¦Lilm­ \¨t•Ç˙˘J•*¬[‚­­5zzĄĐŃŃÁÚÚŠŔŔ…Jî…Á2j”ĆĆĆhiiQľ|9ú÷ç¤B™©RĄ^‰……şş%)Q˘źŢĄKcbb’ăo:wîÄ‚4jÔâĹ‹Sľ|9zőę™íŞ/MÍ?/N7n ĐŞUKôőˢ©©‰ľ~Y¬­­X˝z%Ý»wűKÚĽX1m–/Ä̬•â·Wy…dĚ7SőęŐY¶l µk×FKK‹Š+0hĐ�/^ lš={&ööv”+g„¦¦&Ż^˝Ęseccc6oŢŔŕÁ111ˇxńâ+VŚ:uęŕĺĺIpđ Ĺ•:źRćîÝ»1v¬;ŐŞUC[[›âĹ‹+®°Ë«ŻoÚ´ž!C)ň¤«[’zőę1nÜ‚W(žô)ÔÔÔđóóaĆŚi4mÚ=˝RhhhP¶lLMżÄ×w6>>޲ĂB!„řŹQSásµ,ď3_«gů›9i|4?LÚ€P&99ĺŚTµâ˙“ääd’’’¨RĄŠâł‡âčŘ]ń~Íš`ĹUREÉŰۇC‡ľ2nĹ Y•ďoştqR J=xđ@Ü܆I# !„B˙$mm-Sŕ9$©¦´Sz–é}–ż™˙yĚúšŹ^2fŚBŞwďŢ1p  ¤§§cooÇçź7ćÝ»wěŰw@‘®bĹŠ4hP_*L!„B˙‡$#„…¨X±b8:vbٲ@Ćc§żűî°Rš%Jŕă3+Çńc„B!„˙}ŚBBÖ·oęŐ«Ghč®^˝ĆłgĎ?ŚgSž–-ż¤oß^ůT-„B!„řď’1c„B!„B!>(Š1cäy!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$Á!„B!„B"$ÁQ¤ŇÓÓißŢžV­,xóćŤJż‰ŚĽDź>°˛˛ĺôé3˙ęňßľ}SSs’’’ţöĽěر“îÝ{I§üyřđ!îîciÓ¦-ÁÁ!…:ď &1cƬ\żź1cŁGŹýWŐW~yNLLÄÔÔśŘظż4ÉÉÉĚ™3Źví:0b„»t䏶/oßľĹŮą7ëÖmř×—+4t]»vçéÓ§˙ĘüOž<˙€ż»qă&ť:9rölÄß–żśÖY''gBC÷i_Ú¶m;¦¦ć9N9ĺëďäëëĎÔ©ÓdŁ“‡¶mířî»ĂE¶.$Ťâ˙7M©Q”ΞŤ@]]ť *pâÄIěííňýÍÔ©Ó033cúô©Ô¬YăÎĂ˝{ńôęŐ—ĐĐT©REE(ěÝű 6lb˙ţ˝Ëň—. âĺËWR±b…"]v‹ÍUţS|śg‡Î¸ą ŁK—ÎEšŹýűżĺčŃcřűűPĄJeY‘>˘­­Ť••%őë×ű×—ĄvíÚXZZ˘««űźk'CC,--©\ąRˇÍł°×ɢěKĄKë±|ů˛˙ĚţE!Ä?ŹcD‘úţű#´jeJ‰%ůţűďó Ć$''óüůď´oß– ęKŠ˙´¤¤Gš~IŁF ‹|ŮEŔř/ĺ9)é5kÖ U+SéÄ9PWWgôč‘˙‰˛|ţyc>˙Ľń˛ťĘ•+Çäɤ/} ˇˇAíÚµdBń×íפ DQy÷î'NśÄĚĚ 3Ξ=—çĄŢţţXZÚ�0věxĄŰ{§_żAXZÚŕäÔŤ7+ýöâĹH\\†aiiCgÖ­Ű@zz:ß}w^˝úŕěÜ›Żľžă˛˙řă‚CprrĆŇ҆]8qâ'Ĺ÷ááqrrćřń8;÷ĆŇ҆#ÜILLTšĎáôčŃKKFŽÍŁGŹň¬#__Ľ˝} Y‹˝}'şvíNDÄ9.\¸ČŔ.XYŮ2lŘ<x ô»“'fŕ@—őá̆ ›HOOW|źššĘňĺ«ppčL›6m X@jjŞŇ<ŢżĎÖ­Űpręµu;\]‡óË/§ł•94tťńôśŞČłŻŻ?k×®ÇŢľ66íńőťCrrr®ĺLLLÄŰŰ{űN´iÓŹńÄĹÝUŞ__6nÜLűööŘŘ´ÇËkşRQ%MNöě Ł{÷^›·ˇ{÷^Švő÷`ŢĽ…"ć¬X Ŕ«WŻ3g:tÄÚşcĆxpűöť|ëĺőë×Ěť;ź:Ňľ˝=“'OáîÝ{9ćé»ďcjjεk×Ů´i ¦¦ćŠKŞăâîâá1›öŘŮ9ŕë;‡/^dë3sćĚŁM›¶ěرó“ÖϬ—şgŢ*pęÔ/ ꆥĄ ˝ző#"âśRąí청w¦¦ćĽyó†ôôt†uc„IŠďăâîbaaÍ?ümůŹ=˘U+ Îť;ŻřlÉ’eššóäÉĹg#F¸°@)ĎIIIššóôé3ćĚ™‡©©ąR˙;ţ<ýűV”#żŰ0ňŰľü„ÉXîćÍ[ąző¦¦ćŠKŇóë7·­Cgüý”Ú6§Ű FŚpgٲůnërŁJ*čú¬Ęöĺă˛ä—ďüę&ŻúŤ‹»‹©©9WŻ^SĘĂĆŤ›éÔÉQ±śĚí¦••-=zôaÇŽťŠď2×Ńłg_Ú··Ď±ß;99ł{w(Ó¦ÍŔÚş;vaűöŻ•–űüůsfĚ…­mFťďرooź<o_¸té2ŁFŤQ´“źß\^˝zU ĺ>yň„©S§acÓ{űNěŮ–gż˙ř!UúBbâoLž<›öŘŘ´ÇŰۇ/^äąNŞş~ĺ&k_Ru_üý÷GéŮł/Ö >’óç/ú-Ăyí×rŰżd–ĹŰŰ++[:łre0iii*ď/?vţüÚ´iËÁ‡>i—Ů""Î1t¨ÖôčŃGi~ޤů”í“*ůĘkżpőę5Ĺ÷=zôáňĺ+ů¶]~}R•uI•4ŞOäŐź“““Y´(‡ÎXXX3lŘ<űB‚1B|8đ=EZZ­[›ŇĽy3tuKrôč±\Ó{xŚfďŢÝ�Ěš5đđ}rđŕ!ćĎ_D·nŽlٲ7·a¬_ż‘#GŽ)|ÇŤ›HóćMٵëküü|Řąs‡ÁÖÖš•+�X˝z%K–,ČqŮ‹rčĐaĆŹ÷`óć ´nmĘ´i3ůí·‡Š4Ź?áčŃŁ,^<źM›ÖóęŐkćÎť§řţčŃ3gŽŽťŘ°a-ť:udÁ‚ĹůÖÓůó¨T©";wnÇŮą›"83{öLvďţmmmć+Ňź=§§ÖÖVlذw÷QěŢĘŇĄËi/^Ę0a<ëÖ…P¦Li¶mS>p YË–-ŰđđÍĆŤë°˛˛`âDOĄ×ÇŹźpölóç0aÂ8ĹçÇŹźřp˛łŽ€�~üńG¶oß‘cůŇŇŇ3f<IIŹ??€5k‚ŃÔÔÄÓÓK)ÝO?ťä×_Ůşuëׯá÷ß_0~üdĄ9UŇduęÔ/,Y˛ 7·a„…íbŔ€ľLź>‹ÄÄD<<Făęꂺş:ááű2d ďßżgâDOnŢĽ…Żďl‚W`hh›ŰČl}!k˝dţ.:ú6óç°jŐ ttt6Ě-Ç`‘­­5ááű¨X±ť;w"<|¶¶Ö<yň7·‘čęę˛resçúw—±c'(¬?~‚ŇĄKłvíjěí;Ú:˛Ž1cÜ ÝAýúu™6moßľUm碮άYÓąp!’ŁGŕýű÷řůÍĄMKllÚdKoddDť:u8{öśRßÖŇŇ"""#@óćÍ®^˝†……™Ňo ßŔđáC ߇¶¶¶âűµk×ăę:„UWĆËkz®·dĺ·}Éią;ÚSąreÂĂ÷áá1ZĄ~óqŰúřxsçN 'zŞÜ>ymërRţ¤ęú¬ęöĄ ůÎŻnň«_“ęÔ«WŹC‡ľWZîáĂG°··G]]ťsxzzaoߞ͛70j”k×®'$d­Ňo¶műšqăư~ýš\ËłaĂ&Ú´iĂîÝ_3hĐ�–-[ˇĄ§§3a‚' X°`‹ąpá˘RĐńc÷ďßÇÝ},5jÔ $dsŚĽÄňĺ«T^nZZcÇNŕ·ß’X´h>‹/äĚ™ł\ąrµ@Ű€üú‚—× RRRذa-ëÖ…ź  •ஓYżT•ßľř—_NăííCçÎlܸŽ.]:3oŢÂB=ľÉoż–Óţ%Óš5ëhܸß|Šżż/‡&(heö—Y“'OĹĂc4ţ§mÜ‚‹6Ě•ýűĂ<x�sćđÓO'UNSĐ퓪ůĘkż”Č1ă¨RĄ2k×®fâÄq,[¶‚·oßĺÚvů-W•uI•49žČ«?Ż^˝–ź>ĹĽysŮ˝{&&&Lž<5Ď —âźKnSEćűďż§ukS©Ű%�� �IDATJ”(@›6m8tč={öČ1}É’%ŃŇŇúpŇc€�hѢFFF�T«V•°°˝\ľ|…vílyňä)ďŢ˝ĂĆĆš ĘSˇByÂÂv+îńĎśŹ>zzz9.{Ę”IĽ|ů’˛eËŕâ2Í›·răĆM*T(ŻŘůN›6UQžAŕííĂű÷ďQSSăëŻwbooG˙ţý�¨YłŹ?fĺĘŕ<ë©B… tęÔ€ľ}ű°jUÇwŔĤ:�ŽŽ]řsÇśqeH[† ¤XŽšš3gzóŐWŃĐĐŕŰo0eĘ$lm­?¤Ć­[·HHȸÂćŹ?ţŕëŻwâç7sóŚÝúsăĆMBC÷в嗊2Ďš5#Űx Ő«WÇŐŐ€ňĺËcggÇ… <x`¶ňihh°~}ššš/^€^˝z2z´Ďź?§L™2�hiiáé9 �fÎś†Łcw.^ڤyóf*§Éę×_EOŻfčččе«#mŰÚféúJ}íÂ…‹\ştYi|ˇ3¦qëV4»v…2f̨ëĺâĹHnܸÉ7ß„*úЬY3čÜą+߄޽•NÖÖÖĆŔŔ�}} ôË ű†%J0{ö,E,KçÎNś>}FŃV&&&ŚĺVč묛ŰPĹ-SŁGŹâ»ď­ňmUŞTÁÝ}Ë–ńüů3>ü-×�(€……ÇŹźŔÝ}IIIüöŰoôëׇěíí8‡¦¦&-Z4Ďřɨż˛Jő—iÚ´©XYYŕé9‰Îťť¸u+ЦM›dËC~Ű—ś—«ÜnŞô›śÚvŢ<®_żIZZšâłĽä·­űŞý© ëóëׯóÝľ4ßůŐÍĄK—ó­ß.]:˛zőĆŤ¦¦&QQŃÄĹĹ1ožż"Ń»w/úôé­hçÇŹ˛–aĂ\y1bXľ·ź988(úFĎž= ŰÇůóhÔ¨!—.]ćúőë„…í˘RĄŚ±X|}gÓĄ‹SžëMXŘ.Ę•+§ř¬}ű¶üřăO*/7"âwîÜaďŢÝT¬XQĄĺć$żľđŕÁ}ÚµHµjUX±b)ĹŠËuť,ČúU@H^űâ-[¶ag׎ú+ö‘Oź>Q\ť’›§Oź) Ř ŕęę˘¨Ź‚î×>ŢżdjÚ´ Ýşe´Kٲe1ÂŤ€€ů îJńâĹUÚ_ÜşŸq>Ü•®]ó诪µAĎžÝŰÚŽŚĽĚöí;°´´P)MA·OŞć+ŻýRXŘ>Ę–-ËŚÓPWWWKşş˙äúPe]R%ÍĹ‹‘*OäŐźýő5kš(ę`ňä $''+Ę+„`ŚŮĽxń‚Ó§Ď2kÖ ĄËýűż%!!ccăÍďŃŁÇěŰ÷-qqqÄÇß'&&†ŞU3kÔ0ÁÚÚ 7·Q|ůesš6mB›6m 4࢚š×®]'2ň2ńń÷Ť˝Kzz:ďŢýůß•RĄt;K�}ý˛¤¦¦’’’‚¶¶6±±±téŇQiľÍš5ÍwŮFF†J'{”*Ą—ĺÄ]‹””?oŠŠĆήťŇ<ľř˘1©©©ÄÄÄ˘ŁŁCJJ Ť7Ę–—Ě“Ą{÷âyűö-'z˘«[R‘ćŐ«×(•9§z,_ŢH齾~Y˘˘˘ó¬ß~8εk7¸?;wb�”.ŻU«¦Ň iůňĺ10Đ'&&FhQ%MV¶¶6ěŢF·n=hŐĘ”¦M›Ň¦Ťe®ůŚŠŠÂĐĐ@i g555>˙Ľ1·nÝʵ^nݺŻwďčŃŁ·Ňü^˝zÍýűżŞÜŁ˘˘hÔ¨ˇR 066ćÖ­(ĹÉsĹŠĺ˙’ő¶|ůňYÚT ŔüvďŢŤť;CY¸p ‹ÍĎ5� `iiÁš5ëxüř1çhÔ¨-[~Éôé38s&‚/żl®tŐ‹*˛n_2¸ó*G^ŰUŰ-ż~“SŰ–+WNé<?ÝÖ©Úź ˛>ÇÇ'ä»})hľó«Uę·]»¶qúô,,2nűkܸ‘˘##/y‰ýű÷+­ź�/_ľT|–@É;€®ÜfeË–áÍ›?y50ĐWšŹŽŽ 6Č7Ŕ°cÇN˘Łos˙ţ˘˘˘144Tyą±±±*N 3—[б×ňë .. ZÉÉ“§hŇä ,,Ě©WŻî'ďż?E~űâśö‘Í›7Ďwľ9 ૯_öÚŻĺ¤Nť:Jď4¨Ç»wď¸˙µk×Riľ·oÇ0xđW”+gDŻ^=˙§c¨Luë*·cÆő9qâ„Ęi>ĺXL•|ĺµ_ŠŤŤˇQŁJ‰† P¬X±O®UÖ%UŇäx"ŻţÜłg&Mň¤wďţ|ůe Z¶l©iK9ŃB‚1BäîřńIIIaúô™Ěśé d\˛ —Žçôź¦ÜlÝşŤµk7ŕčŘsssŞV5fÆŤJ;·ąsýąyógĎFpňä)V®\Ťżżć*-cňä)ÄÄÄŇĄKgěíí©U«&_}5´ŔĺÎ,cnď˙N9eeăĆu”.­|˛¬Ęč âŮłg¸¸ ĂĐĐ�[[kĚĚZˇˇˇÁ¸q•ŇĄ¦¦eűíÇăP¨’Fů@ZźíŰ7sîÜy.\dË–m¬ZĚš5ÁJQŞ´—ššZžĺ40ĐgíÚŐŮ>ĎzUĐţSĺ˙=}*{~“““yóćµŇÉnnj×®E… ĺ9ţ"çĎ_ eËŚÁŚßľ}K||<çÎťWşĽ˙ŻßöĄ°Ú­0¶ÝÖeĘ«xůĺ;żşQĄşşşX[[ńý÷G03kÍŃŁGqs–%¨­Ť›ŰP¬­Űäpr_ŞĐž,–ŰUNymW##/1nÜD,,ĚhÖ¬)öö¸ví:,PĚ©ž {Ô»w/¬¬¬8uę‘‘—Řşu;˝{÷däH·żlý*¨ôôôlő­Ę~­ řŞş_ËI^ű5Uç{˙ţ}ěíí8tč{Ž˙1Ç~]Đ6ČžŻÔĄ)čö©°¶˝9wĺŐďó[®*ë’Şi cűۤÉěÝĘ/żś!2ň~~s¨V­Ë—/ESSNë„ř·‘kÚD‘8|řŤ5dűö-lÝş‰­[7±mŰf,,̲ÝןźđđCôěé̸qc°··ŁAú<~üç8oŢĽáúőÔ«W—Á˛bĹ2ĚĚZ¶÷ĂN/ďů?ţśS§N3eĘd\\ckkŤľ~YĹUUłf .\¸¨ôŮůó ˝nëÔů,Ű�u—/_ESS“š5kP­ZU´´´˛-űüů?Ç,¨ZŐbĹŠ‘HĹŠÓoż=$-­pďCŽŚĽĚÇ ¤wď^››ĺxwçÎĄ+‘âăăůý÷Ô®]»@i˛zôč ÷iŐĘw÷lŰ–1Đń±c?äx@T·n]?~ÂŻż*_ÍrĺĘU>űěł\ËřŮgźńűď/ĐÖÖVŞĎ;wb t)qÝşuązőşŇ˝ŕOź>%!!Ď>«ý·®ÓĹ‹—ŕŐ«×Jő˙ńŔŇ�+VS®\yćÍ›ĂÂ…‹xřđažó577çŇĄË\ĽI«V­ĐÔÔäË/[đý÷GILL¤uëVi@!żí‹Şí–_żÉ©m“’’Ř·ożâ?Ţ::Ĺyüř‰ŇIeÖyć·­+Šţ¤Ęöĺcůĺ;żşQu˝ěÔ©#?˙ü çÎťçőë7ŘŘX+ľ«_ż‰‰•ÖĎ·oßńüůď…ząż‰‰ IIŹ”ŠMIIáĆŤ›ąţćرăÔŞU_ßŮtíęH‹Íyńâe–[«V-?~˘4hřü‘çr?%Đtőę5 pvż/cĆŚbçÎÝą®“…±~}J\˝z]éłK—.ů~-·íÓőë×?ęÇWĐŃŃÁظŠĘűK++ fÍšAż~}ńőť“瀮޶Áµk×>:®¸B­ZµTNSĐíSaôŤZµjqőę5Ą«†®]»žçŐIů-W•uI•4źz<ń±¸¸»Ľ}ű;»vL™2‰+‚¸té2ŃŃ·ĺdC Ć‘]RR—.]¦_ż>Ô¨a˘4 2ű÷ďč�±zőŞś:uš«WŻG@ŔâăăßßşĹСn„†î!>>ž“'ćĘ•«Ô¬™q€ ŻŻŹşş:çÎťW4-“žžúúe ?HLL,WŻ^cĘ”i>@ďŰ·GŽcăĆÍÄĆĆqđŕ!Ĺr Ó A8|ř›6m!&&–ăÇO°pá"şusBOOŹ%JŕčŘ…  •;vśX‚C”J”(Aź>˝X°`GŽ#66ŽoľŮÇر㉌,ÜÖjŐŞ’žžNhčîÝËhź¬O‡É¤©©ÉĚ™ŢÜĽy‹ .2mÚ,ęŐ«Ç_|^ 4YíŰ÷-ŁFŤćÔ©_ŹŹgďŢoxţüwjÔ¨dܲńěŮs®_żÁÓ§OiŇä 7nÄÔ©3¸pá"ŃŃ·ńó›Ëoż%Ňłg÷\ËŘ´i4¨ĎĉS8wî<·oß!00/Żüţűď*ו““#Ż_żÂŰۇ¨¨h"#/áééEíÚµó JäćĺË—Üľ}GiúÔ§‰d^ >wî<˘ŁosäČ1¶lŮž-ř¶—É“'`eeIłfMńőť“ç-,Ěřá‡M€Ö­[±sç.ęׯ§¸,='††F\ąrŤ{÷â?ąć·}Q…*ý&kŰŢşĹĹ‹‘xyÍ`ßľŠŰ°š5kJXŘ^Ž˙‘ë×oŕăă§4€r~Űşżş?en;ňŰľ|,ż|çW7Ş®—Íš5ĄL™2,Y˛ [[Ą«ŇČ޽߰yóVbbbůůçSŚ?‰={öęö®eË/111aÚ´™\şt™¨¨h||ü”LΩĆĹĹńÓO'‰ŹŹg÷îPÂĂĂ ´Ü-šS»vm¦M›Idä%nŢĽĹĚ™ŢčččZŮţřă<<Ćłpáââîrőę5>BÍš5s]'ó[żJ–,©PdŢ.V˛¤.·oÇäű4ÂÜôéÓ‹đđěÜą‹¸¸»9rŚÝ»ĂţçňgÍ—*űµŹ÷/™˘˘˘ YKLL,GŽcĺĘ`śśş˘ŁŁŁňţ2óřdäČá4lXźÉ“§*=}ëS¶qűöŕ»ďÇĆŤ›9vě8}űöV9MA·O…±íurrä÷ß_0{¶/ŃŃ·‰8ÇŇĄAyöűü–«Ęş¤JšO=žřŘüů ńňšÁőë7‰‰eçÎÝ/^śŠ+Č ‡Ś"»ŁGŹˇŁŁ“ăÁ~ýúő¨\ąr‚S§zRµjÜÝÇâá1##CĚĚZ)ť{{Ďä›oľĄ˙ÁĚźż;;;†Ď”QWW—qăưzőFŤ“ăAMPĐR0d+ţţôě錞^©•ŰƦ 3fxqŕŔA rQ rYŘLM[ŕϱcÇ2Ä•ĄK—Ń˝{7<<F+Ňxxڦ[7'-ZŚ‹ËPž={žm0ÎáÇҿ_‚C8p›7ocâÄqą>‘áSŐ¬Y??öěŮË A.lßľ‘#ł®÷ůçŤiÖ¬)ă™4i ĆĆ•Y´hžRPL•4®şvudѢ@úőÄ®]{:u˛˘o𙵦];[ÜÝDzjUęęę,^Ľ€:u>cÚ´ >’‡#8xeŽ·5eíC‹/ nÝ:Ěš5—ˇ\ąr••+”îĎŹˇˇ!«WŻâĹ‹ŚáΔ)^T­jLPĐ’Oş}ěĚ™ ¬4­_żé“ÚŃČČŮłgqĺĘ5\]‡óí·ß* „Ś]ýüćЧOoĹ“&M :::ĎÇo7kÖ”·oßѲeKĄ>ţňĺ+Ĺ&ąńđÍĺËWčßP¶GŰÖöEĄ« ý&kŰŽ9/ŻéTŻ^ťŔŔ?źňâć6”ćÍ›1{¶S¦xńů獕ĆÉo[÷W÷§‚l_>Vć•ďüęFŐőRMMŤÎť;r÷î]:wîm»9oŢŽ?ńa;?k&M_¨Ű;MMM–-[Śľ~YĆŤ›ČčŃc©_żMš|‘ëoşus˘Ggüüćŕę:śë×o0`@ż-WCCŔŔ…T­Z… &ăá1ž–-żĚqĐęOĄ««ËŠA$$$0tčpĆŤ›€‘‘!~ஓů­_zzzôęŐ“… —(côăřńăřřř}R>Ű·o‹§çDvíÚĂŔCŘ˝;Ti˙ř©˛ćK•ýÚÇű—¬óIJz„‹ËP–, ÄŃŃw÷Ú_fÝöřůůššŞôőS·q&x°oß~ r!<ü;fĚ–íö˘ĽŇtűTŰŢŠ+˛lŮ>LÂŐu8óç/bôčQyżĺ·\UÖ%UŇ|ęńÄÇüý}¨\ą“'OaČWâââXşt±âaË—ŻÂÉ©‡ś|ń/ˇ¦ÂçjYŢgľVĎň7sŇř0i~´- LrrĘ©j!„Ş|}ýyóć sçú˙Oi„âď–’’˘x2`¦QŁĆP»víB ‚·Adä%FŚpçرÊ«qţNNÎôë×gçî˙şJLLÄɩ۷oˇF “ON#ţ“&yb``ř—üóO˙o´µµLç@ ¤~Ň>LéY¦÷YţfFÂłľćŁ×€\#„Bń—taţüEÄĆĆĎćÍ[‰ŚĽ„••…TPřî»ĂôěŮ—'~"11‘ .˛térš5kú·b„ř+Ü˝Ź©é—RBüKȰŰB!„---Ľ˝g°zuŁFŤćőë7TŻ^_ßŮyŢŞ$ O»v¶<|ř•+W“®nIZµjĹčŃ#ĄrÄJZZ>¤yófRBüKČmJB!„B!„ČmJB!„B!„˙1ŚB!„B!„(BŚB!„B!„(BŚ˙9oßľĹŮą7ëÖm(´y†‡ÄÎÎá1źäädćĚ™G»v1ÂýoŻďm۶cjjžăŹŔ455'66î“—Qó€ŚÇaOť:MV!„B!ÄßJž¦$ţőfĚ…††ŢŢ3ĐÖÖĆĘĘ’úőëý'Ë»˙·=z ŞT©üŹČSéŇz,_ľě/kS!„B!„ř/‘`ŚřĎQWW˙O?˛2)é5kÖ U+ÓLž444¨]»–t>!„B!„PĺĽUŞ@''gBC÷ŕíí••-ťYą2´´4EšÄÄDĽ˝}°·ďD›6mńđO\Ü]Ĺ÷ľľţx{ű0gÎ<Ú´iËŽ;éŢ˝GŽăСď155çôé3JËËwŹńŘŘ´ÇÁˇ3ţţĽxńB±Üśn155ççźOĺZ¦Âé×o––689ő`ăĆÍJe155çŕÁCôěŮ—öííłý>.î.¦¦ć\˝zMéóŤ7Ó©“#éééJź'%%ajjÎćÍ[ąző¦¦ćřű(Ę»qăfFŽŤ™™·oßŕäÉź8ĐĺCťŮ°a“Ň|3ë4$d-ööťčÚµ;ç¸pá"ş`ee˰a#xđŕAˇö‡K—.3jÔllÚcg瀟ß\^˝zk›ś?žţýciiCŻ^ý8{6Bń]N·€]Ľ‰©©9oŢĽQú|ÇŽťŘŮ9`cÓ/Żé<}úTVR!„B!„cÄĎš5ëhܸß|Šżż/‡&(h%�iiiŚ3ž¤¤GĚźŔš5ÁhjjâééĄ4ŹăÇOPştiÖ®]Ť˝}Ö­[M“&_ТE3ÂĂ÷ŃĽyłlË}ňä nn#ŃŐŐeĺĘ ||Ľąs'†‰=?ą,bţüEtëćČ–-qsĆúő9räRşmŰľfܸ1¬_ż&Ű<LLŞSŻ^=ľűî°Ňçß}w{{{ÔŐ•WOCCCÂĂ÷ѱŁ=•+W&<|Ł• öövlßľ…ŞUŤ9{6OO/¬­­Ř°a-îîŁŘ˝;”ĄK—+Í÷üů TŞT‘ť;·ăěÜMś™={&»wŤ¶¶6ó ­Üżw÷±Ô¨QUĚ!2ňË—ŻČłM×®]Ź«ëBBVal\/ŻéŮ-ů‰ŚĽÄĄK— \Ě‚<xČřń“łż„B!„âŻ"·)‰"Ó´işus lٲŚáF@Ŕ|†wĄxńâ¬_‚¦¦&Ĺ‹ WŻžŚíÁóçĎ)S¦Ě‡�† ŁFą}¤0@CC—ö %J”`öěŚqH�ćÍóçúő›JWć„CZ´h†‘‘�ŐŞU%,l/—/_ˇ];[Eş#†ĺy;Q—. aüř±hjjróć-îÝ»G—.ŮŇŞ««c``€ľľúŮĘëŕŕ@çÎťď7nÜLűöm2d�5kÖ@MMŤ™3˝ůę«ÁčééPˇB:uę@ßľ}Xµ*„áĂ;`bR�GÇ.ĚËł>ž>}¦°7“«« ®®.ŮŇV©R…°°]”+WNńYűömůńÇź�(S¦L®m:mÚT¬¬,đôśDçÎNÜşEÓ¦MTn»÷ďßăă㍶¶6�ţţłqvîÍĹ‹‘9ó„B!„˘°I0F™:uę(˝oĐ ďŢ˝ăţýÔ®] 555~řá8×®Ýŕţýî܉2ž”©bĹň^nTTŤ5Tb�Ę•+§ řŹ=fßľo‰‹‹#>ţ>111T­ZU)MĄJ•ňśG»vm â—_NciiÁÁ‡řüóĆ8?•*Uř¨ÜŃŘٵSúě‹/“ššJLL,Mš|€‘‘ˇâ{uuu444(UJOń™¶¶))©y.;§|őőËćš>--Ť;v}›ű÷ŤˇˇaľeĚZ/™°‚^óŮgµČéë—%&&F‚1B!„B"!ÁQdRSS?z˙çU)Ďž=ĂĹe††ŘÚZcfÖ ĆŤ›ř?/÷ýű÷…ţ›­[·±ví»`nnNŐŞĆlذ±ŔËŃŐŐĹÚÚŠC‡cfÖšŁGŹ2jÔ]Űd�ßČČKŚ7 3š5kŠ˝}®]»Î =_9µcNMű)}D!„B!>•cD‘ą~ýşŇű+W® ŁŁ±q~ůĺ >ä믷 ŁŁd >[ęÖ­ËÁ‡HOOWŚĂ’””ÄéÓg°·ď ¸-ęńăÇÔ¨aáá‡čŮÓ™‘#˙Ľeęńă§”-«_ŕüuęÔ‘I“¦pćĚYŢ˝KĆÖÖ¦PĘ]§Îg\ľ|…®]ź]ľ|MMMjÖ¬ń·őcÇŽS«VM|}g+>űĺ—3˙ó|‹/Á«WŻy÷îĹŠ˵ŁŁŁINNV\“ŔłgĎ©]»¶¬¤B!„B"!řŠ"MHČZbbb9rä+WăäÔŞU«Jzz:ˇˇ{¸w/ž“'fٲ*Í×ĐĐ;wbą{÷^Ž·¬899ňúő+Ľ˝}¸u+Š‹#ńňšÁľ}ĐÖÖ¦L™2Ô¨QĺËWqůňÎť;Ďüů •ćQ˛dI^ż~Ă­[Q¤¤¤P˝zUNť:Íի׍Ť# `ńńńůćőăů�4kÖ”2eĘ„­­Ť"8ôż4h�‡aÓ¦-ÄÄÄrüř .\D·nNŠńbŠBÉ’%Ś`ÜË—/©^˝*qqqüôÓIâăăŮ˝;”đđđµiN5j€şş:sçÎ#:ú6GŽcË–íŮŇéčč0cĆ,nŢĽĹ… ńňšI˝zőřâ‹ĎřţűŁôîݿП %„B!„™$#ŠĚ€ýHJz„‹ËP–, ÄŃŃw÷Ś[rjÖ¬źź{öěeĐ ¶oßÁČ‘ĂUšoßľ˝(Y˛áĉ“Ůľ744dőęUĽxń‚‘#Găĺ5ťęŐ«řgŔĹĎo6ZZZŚíA``..C”‚"¦¦-iÔ¨!C‡şqýú ¦Nő¤jŐ*¸»ŹĹĂc<FF†™µĘ7ŻĎ@MMŤÎť;’@—.ť ­ľMM[ŕϱcÇ2Ä•ĄK—Ń˝{7Ą'0===zőęÉÂ…KŘłg/Ýş9ŃŁ‡3~~spuÎőë70 _Ú4'FFFĚž=‹+W®áę:śożý–1cFeKעEsš5kЇÇx&Mš‚±qe-š§¸jęÍ›×<}ú„ääYi…B!„ 5>WËň>óµz–ż™“ƇIóä he’“SÎHU˙˙ćääLż~}pvî.•‘Ť7sđŕ!víÚ.•!„B!„#mm-Sŕ9$©¦´Sz–é}–ż™Qf}ÍGŻ3FżURR11±ěÚµ›áÇJ…!„B!Ä˙Śâo´~ý&Ž=J‡čÜą“TB!„Bü? ·) !„B!„B|P·)É�ľB!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1B!„B!„EH‚1â?!:ú6žžSéС#66í>|$?ýtň˙uť$&&bjjNll\®ifĚĹčŃc užů)č2˙ ľľţLť:-×÷˙;vě¤{÷^*—ăźâźšŻŹÝ¸q“Nť9{6B6˘B!„˘HI0Füëť=«ëpRRR8qłgĎÄxV_Ň�� �IDATÄÄ„)S¦±eËV© öîý†.]ś”>kѢ9ff­‹4…˝ĚśĘ%„* °´´¤rĺJRB!„˘HiJł·oßâëëO‡vxyy*>·°0§^˝:Ě›·333jÔ0‘ĘĘA—.ť˙_,Sś”+WŽÉ“'HE!„B"'WƵS§NóěŮsÜÝGdűÎѱ ŐŞUăŔ�„‡ÄÎÎA)ÍĹ‹‘ššóćÍĹg'OţĚŔ.XYŮŇŁGvěŘIzz:űm:¦¦ćüüó)Ĺű»wďáá1›ötéâÄÂ…KxńâE®ĺđőőÇŰۇµŘŰw˘k×îDDśăÂ…‹ŠĽ 6‚(~ăääLhčĄůŚáβe+˛Íßß?€yó’”ôSSsV¬V,7óv’̲EDścčP7,,¬éŃŁĘł >Ą¬/óÔ©_:Ô KKzőęGDÄ9ĄßěŮF÷î˝07oC÷î˝8qâ§<Ë•··ööťhÓ¦-㉋»«rżJNNfѢ@:caaͰa#ňüýüAppNNÎXZÚ0p ‹"Ź™}ĎÉÉ™ăÇOŕěÜKKFŚp'11Q‘&55•ĺËWáŕĐ™6mÚ°€ÔÔÔ­çĎ_ M›¶Š6{˙ţ=[·nĂÉ©ÖÖípuÎ/żś.Pűeö3oo¬¬lqpčĚĘ•Á¤ĄĄĺ›ź;vbg瀍M{ĽĽ¦óôéSĄůnܸ™‘#GcffĹíŰw�‹»«ČŹťťľľsů9|ř––6Ľ}űV1ź>}ĐŁGĹűwďŢaiiĂ‘#Ç>ô…ß<y 66í±±iŹ··Źb~ŻĎľľţřúúłvízěí;acÓ_ß9$''+ćźžžÎęŐkčر VV¶řúÎ!4tOž·“ !„B!ÁńŹ—śśĚ7ßěcëÖm<zô(Ď´·nEQ»vmôôôrüľYł¦ÜşuKĺeGDśĂÓÓ {űölŢĽQŁÜX»v=!!kUžÇÓ§Oqs‰ľľ>kÖăççĂĺËW8Ń3ßéJ•*˛sçvśť»)‚3łgĎd÷îŻŃÖÖ& `ţ'Ő©‡Çh\]]PWW'<|C† Ě5í‚‹6Ě•ýűĂ<x�sćä:ţΧ–őc!!ë3ĆťĐĐÔŻ_—iÓf(N¸Oťú…%K–áć6ڰ°] Đ—éÓg‘cąŇŇŇ3f<IIŹ??€5k‚ŃÔÔÄÓÓKĺü¬^˝–ź>ĹĽysŮ˝{&&&Lž<U”űآE:tńă=ŘĽy­[›2mÚL~űíˇ"ÍăÇO8zô(‹ĎgÓ¦őĽzőšąsç)ľ_Ľx)`„ń¬[B™2ĄŮ¶ík•ó|őę5&OžŠ‡Çh:|¨×µlٲ ŹŃlܸ++ &NôTŚ‘˘jű­YłŽĆŤńÍ7ˇřűűrčĐa‚‚V晟ČČK\şt™ŔŔĹ,XŔ‰Ś?Y©wě؉˝˝Ű·oˇjUcž<y‚›ŰHtuuYą2ąsý‰‹»ËرHKKŁukSŇŇҸx1R‘˙řřx<xŔÇu}ńb$iiiš~ €—× RRRذa-ëÖ…?ĎĽ?~€Ť×ŕĎŹ?ţČöí;߯\ąš°°˝Ś?ŽuëB022dăĆͲáB!„"·)‰OĎ©ś>}€={ö˛~ýĘ–-›cÚ/^Pşt©\祧WŠ/^ŞĽě 6Ń»w/úôé @µjUyüř1!!k6ĚUĄy„…}CĄJ•™>Ý uőŚxçěŮ3éŰw�ŃŃ·ůěłÚ9ţ®B… tęÔ€ľ}ű°jUÇwŔĤ:qĄO@ŔĽOŞÓ’%Kb` Źˇˇy¦íŮł;-Z4 cG"#/ł}ű,-- ­¬ssJŁF =zß}w¨¨h>˙Ľ1żţú+zzĄ°°0CGG‡®]iŰÖ]]]€˵~}ššš/^€^˝z2z´Ďź?§L™2ůćç×_Pł¦‰"O“'O 99YQĆŹM™2‰—/_*ú©‹Ë`6oŢĘŤ7©Pˇ<�iiiL›6•%J�0hĐ�Ľ˝}x˙ţ=oŢĽáŰo0eĘ$lm­¨Ys·nÝ"!áAľů˝u+Šqă&0|¸+]»:Wë|ýőNüüfcnnŔ€ýąqă&ˇˇ{hŮňK•ŰŻiÓ&të–1.Oٲe1ÂŤ€€ů ㏽˙o´µµđ÷źŤłso.^ڤyóf�888Đąs'Ĺo6oŢJ‰%={‚séÜىӧĎ`nnĆ_|Ι3´nÝŠłgĎѴ餥ĄqŽÎť;qúôYš4ů‚RĄ2¶ ܧ]»T«V€+–R¬X±\ë˛ző긺ş�Pľ|yěěě¸páäíŰ·„†îaâÄqŠvŞU«&QQQÄÇß—Ť·B!„`ŚřwJLLTb2Ţ˙Ć©Sż(‚Ů-zDEEç:ż/^˘§WJĺĺGF^"2ňű÷ďW|öęŐk�^ľT-¨sëÖ-nܸAűööJ'¦'†żć 022TĽVWWGCCRĄţĽâG[[‹””ÔżĽ ęÖ­«ôľaĂúś8q˘PËú±ňĺË+^ëëë(nłµµa÷î0şuëA«V¦4mÚ”6m,óśźšš?üpśk×np˙~wîÄ�(Ýn’w@Ş“&yŇ»wľü˛-[¶ŔÔ´ežË»ví:‘‘—‰ŹżGlě]ŇÓÓy÷îť"M©RşŠ@LF9Ë’ššJJJ ńń ¤¤¤Đ¸q#Ąů6kÖ4ß`ĚíŰ1 üĺĘŃ«WOĹç÷îĹóöí[&NôDW·¤R611)PűŐ©SGi™ ÔăÝ»wÜż˙€ÚµkĺŻĎ>«­Ä�T©R}ý˛ÄÄÄ(‚1•*UPúMTTŤ5Tb2‚msëVććfXX¶€sçÎѬY3RSSÁ3gÎŇ­›Łâ÷.. ZÉÉ“§hŇä‹ăIŐÍŁ/)˝××/«ŘĆdÖiNí$Á!„B!ÁńŻUştiJ”(ˇ4†KĄJ•ňÔaűöŻyńâzzzĽxń‚°°o°łkGĹŠąpá"­Z™ćúűĚĎ?Ú¸ą ĹÚşM¶´ĄJ•RĘWnó�°˛˛ŔĂcL¶ĎUą*ăďöń8%ůŤ[ňW—U__źíŰ7sîÜy.\dË–m¬ZĚš5ÁT¬X1[úgĎžáâ2 CClm­13k…††ăĆMTy™Mš|ÁŢ˝ˇüňË"#/áç7‡jŐŞ±|ůR45ło6'OžBLL,]ştĆŢŢžZµjňŐWC˙ç˛çе˛ą˙>ööv:ô=ÇŹ˙­ďnܸŽŇĄ•oăËěPĄý˛÷‰´OĘűű| ”×÷jjjňkI``IIIś?gçî@ĆSµ’’’ŹŹWşŠ«wď^XYYqęÔ)"#/±uëvz÷îÉČ‘nnŹĚ[¬˛ÖcźB!„"/2fŚřG)Q˘ţ”/_Ž’%Kŕî>‚¦M›äšŢ̬eĘ”fůňU@Ć•2‰‰żáĺ5“ĐĐ=Ü»wŹŽ3ţë_Ľx ^˝z­tµBÖqęׯGbâC*V¬¨Ţľ}Çó翣®®®¸%ăńăÇąÎăłĎ>ă×_ŁB… Šy”,Y’»wĄUhuĄŁSśÇŹź(ť(ţúëŻůžĚćçÚµkJď/_ľB­Zą]ýđ×—őŃŁG$$ܧU+SÜÝG°mŰ&ŇÓÓ9vě‡Ëy™‡HďŢ˝077+đ@¸qqwyűö-vví2e+VqéŇe˘ŁogKűüůsNť:Í”)“qqŚ­­5úúeyóć•—W­ZU´´´8ţ‚ŇççĎźĎ÷·VVĚš5~ýúâë;G1ĐpŐŞĆ+VŚÄÄDĄţüŰoIKK/Pű]ż~]i™W®\AGGcă*ąć+::ZéJ¤„„ž={NíÚą_-U·n]®^˝®4®ĚÓ§OIHHP\ĄS±bELLL8pŕ ÉÉÉÔ­[‡şuëžžÎţý011QpÓŇҸző††8;wÇßß—1cF±sçîOę‹UŞTFSS“«W•ëăҥ˲ńB!„"˙Î˙8_~Ů‚}űÂT Hč0cĆ4&OžĘ“'Źqpp yófěŰ·ź›7o2r¤5kÖ� Qٍ««3wî<úöíĂ˝{ńlٲ]i~dâDOŚŚ 13kMbb"‹ҬYS¦OźJ™2e¨QŁË—Żb„b$''łeËVĄytëÖ•={ÂđńńŁgϤ¦¦˛†‡±}{á ô٬YSÂÂöR§Îg”+WŽÝ»C•ž2S˛dIʼn´‘‘!<{öśë×oP±bĹí@Ű·ď�††FÔ©ó?ýt’cÇŽ3oŢśçYeÝ·ď[ÂÂö2mÚTŚŤ«qŽçϧFŤŚvý¸\ŐŞU%==ťĐĐ=XXXźí S%Kę}‡„„ŚŤŤł˝ź?!©©©xxŚAGG‡]»B)^Ľ8+VČ–?===ôőË~###ŢĽyCppH®ăËä¤D‰8:v!(h%zzĄ©^˝GŽýŃÎó·™Ë9r8ŃŃQLž<• Ö ««Kź>˝X°`©©iÔ¬Y+W®°xńR¦L™LĹŠTnż¨¨hBBÖbkkCll+WăäÔť|ÖÍY <7oŢD˝zőřâ‹ĎsýŤ““#»w‡âííCż~}yóć +WS»vmZ·nĄHgiiÎŽ;iÝş•˘ü¦¦-ŮąsNN]éţřă<<ĆÓ¶m[z÷îÉ«WŻ8|ř5kÖü¤ľXŞT):uęČňĺ+(^\ccc~úé$—/_ˇD‰’˛ńB!„*“+cÄżž©iKVŻ^‰şş:óç/`îÜy”,™16GÖ±!ŚŚŚ={W®\ĂŐu8ß~ű-cĆŚĘ6Żyóćpüř † qĹß.66ÖLš4^‘ĆĎo6ZZZŚíA``..C”1544$$$—/_âî>†1cĆQ˛dI–/,ÔŰÜ܆Ҽy3fĎöcĘ/>˙Ľ1 6P ôęŐ“… —°gĎ^ĚĚZÓ®ť-îîcYµ*$×ůNŕÁľ}ű4Č…đđď1cć9Îł(Ę:hĐ�şvudѢ@úőÄ®]{:u˛âäüărŐ¬Y??öěŮË A.lßľ‘#‡+Íłk×.üńÇ ô)))ŮŢűűűPąr%&OžÂ!®ÄĹűtéâ’VWW'(h) >ô™�zöt.ĐXEńÄ«nÝśX´h1..Cyöě9T}c®®Žźź©©©Š‡J˙ţ} aŕŔ!lŢĽŤ‰Ç)ž¶¤jű ĐŹ¤¤G¸¸ eÉ’@s|ś|V-Z4§Ył¦xxŚgҤ)WfѢyy© Y˝z/^Ľ`Äw¦Lń˘jUc‚‚–(ÝdiiÁ‹/iŮňĎq|ZµjĹË—Ż}@WW—+‚HHH`čĐáŚ7##Cü>ą?NŕA»víĎ!®$$$Đż_Ů !„BQSásµ,ď3_«gů›9i|4?LÚ€P&99ĺŚTµ(jˇˇ{ذa[¶lĚő*ń§ÄÄDśśz°}űjÔ0‘ �899ÓŻ_ĹŘ,˙ß˝˙ž´´4Ą`Őşu8qâ$›7Ż— B!„řĐÖÖ2ž)@2úaJű0Ąg™Ţgů›9bÖ×|ô۔ijsw9BŞ9sćq˙ţ}FŽtC_ż,7oF±k×nzöě!•#„B!T&Á!„BE#F #8x 3fĚâÉ“§Ńłg† $•#„B!T&·) !ţŻ˝űŻůzŕ8ţND* ‚Z)Ą¶QIDBcS5BŤ5ŞZ»F+ö®=bµ R?ZUU«ö,ETS4j†DĆďr››Ü$7Dšęçő<ßçŢű˝çž{ľ+žűqÎůŠČ™1LIřŠd"…1""""""""™HaŚH&R#"""""""’‰Ćd"…1""""""""™HaŚH&R#˙j§OźÁĹĹŐäňĂ{2ä;FŽüľ}űŽ‹‹+żţzńąlĎÇiٲ- .ÖÁÍdÁÁëyë­ÜĽy3KŐ%"""""/+íyLś8ŽÂ… ­+\Ř)Cę®^ý "##3e;¬­­©SÇť×^+§šÉJ—.Ť»»;ąsçÎRu‰Č‹GaŚĽJ”(AńâĹžKÝM›úfÚvXZZŇ·ooĐ@ĺĘ•¨\ąR–«KDDDDD^<¦$/Ľ0gÎ<üüZâîîI§N]ٵë{Ł2ë×o E‹6¸şzТEŁ÷Ç2|řdőĆĆĆҸqSľřb™ŃúcÇŽăââĘĹ‹—’}fřđôď?Ŕh]tt4őęy±~ý�üüZĽŢđţýű÷?~Ť5ĆËË›!C†qéŇe�BC·ăîîÉÇ ĺ۵ëH«Ví ŻŁ˘˘pw÷dűö&÷Oxx8ŁFŤĆŰ» ő hÔöŔŔ±ŽeÉ’ĄxyyăééĹ|h4Çś2I™ű™Ý» S§®Ô©SŹV­Ú±zőâââ ďűůµdÉ’ĄôîÝ—ÚµëđË/ç ĂÉľ˙~7Ýşő¤nÝŚů1÷îÝcҤ)x{7ˇQŁĆ,]şÜPOHČ6ôI´_ţ`ČaxzzáééŨQŁąsçŽáýź>L×®=pw÷ÄÇÇ—… Ú•´®řřx–-[Žź_+ÜÝ=éر ;w~g´ť~~-Y·.#FR·n7nĘĘ•«Ě>OEDDDDDaŚČS‹ŽŽfÓ¦Í,_ľ‚7n<s}S¦|ƶmˇ ŔŇĄ‹yóMFŚř?ţ¸Ŕž=?2mÚtüý{°aĂZ:vlχ~LxxxŞőfË– ooo¶n 5ZżeË6Ę—/OÉ’%’}Ć×· """°îűďŕŃŁĽĽ$+ĎŕÁC9wî&MšŔěŮ3É™3'=zřsóćMŢ|Ó…ŘŘX~ţů0�7oŢ$,,Ś«WŻríÚ5Ch‹‹K “Rż~ą~ý“&M`ţü9XYY1tčFĺľ˙~7ż˙Îňĺ_°hŃ|nßľĂŔCŚBsĘ$•Ögöď?ŔСŕííĹŇĄ‹yď=,XÄĽy ŚęY˝z ŢŢ YąrĹŠ˝l°Śý1K—.âÜąótéŇť—_.š5+y˙ýÁĚ™3ŹŁGŹ™lŰŚäŃŁG,^Ľ€… çöAAł�¸uë ćŤ7ޱví*ĆŚÍš5k Ýn˛®ąsçłlŮ zőęÉâĹ hÔčq8”4LYĽř <<<X·nďĽÓ‘éÓgrüř‰g:OEDDDD$ëŃ0%Ér†ÎŢ˝ű�Xż~#‹Í祗^Jő3mÚ´7zť;·-˙űßădذ÷ą{÷®ˇŽ®];łtérNť:MˇBůý÷ß±łË›[mrćĚÉ[o5Ł~ýzfÍ÷Ń´ic–/_ÁŮłçxőŐ2<zôť;wŇ»·żÉň..5qp°gűö˙Ѷm�BCCńđp'Ož<ÉĘ>|„S§NłiS°ˇý<_ß·řć›í´mۆ*U*óÓOűyóÍZěŰw€jŐŞÇţýđőmÂŢ˝ű¨ZµŠÉúłeËƢE󰲲"W®\Oöekúö ŕÖ­[äË—€ěŮł3tč`˛eËŔGŤ YłüüóaŢxăułË$•Ög/ţ‚¶mŰĐ®][�Š/ĆźţÉĽy čŃŁ––Źód|}›$«ßĎď-Ă\B^^őŮ´iłˇ®zőę2wî|Nź>mrHŃŐ«żŃ A'Ăđ·™3?'GŽ�DDÜ$** OĎş*TB… ˛aĂ:“çĚX˝z-öÇË«>�ÎÎĄżĆâĹK©SÇÝPÖÇLJ ęĐşu+6lŘĚÁ‡¨X±Â3ť§"""""˘0F$Eááᆠćńë?ŘłçGš4iśęç’Nŕ›đ#Ŕ‚'NrřđQÂÂ.ó믗‹‹#**ęÉŹrOÖ­Ű@óć­¨UË…jŐŞááánV{‹+FĹŠŘş5”W_-Ă?ě!:ú Ô7YŢŇŇoďFlÝú m۶áöíŰěÝ»ŹiÓ&›,ć̢˘˘hŐŞ­Ńú{÷îóŰożŕćV› 6pŕŔ^ýubbb aĚO?íŁyóf)n……;w~ˉ§ří·+ś?xÜC)Á+Ż8€‚ boźź .‚sĘ$•Ög>ÂáĂGřňË/Ť¶ŕîÝ»äÍ›€Â… ™¬ż@FÁOîÜĆTŽ9Ž~dňł]»v&(h»wďˇjŐ*¸ąąR®\Y�J•*IÝşuđ÷Ź5Ţ ZµŞxxx F._ăáÇT­ZĹh}ĺʕذa#qqq†óµPˇFe^z)‘‘žů<…1")Ę›7/666Fw/Jz—$SR›ŔwČa\¸đ+M›úâííÍ+Ż8óî»Ý ďçĎźź•+—rŕŔA:̲e+={óçĎÁÉ)í;2ůú6fîÜůôë÷۶…âéé­­mŞĺ—.]ÎĺËa:tGG‡Ă �{űü,X07Ůz�ęÔqçłĎ‚¸~ý:˘eË�lܸ‰ëׯ†»»›Éş˙úë/şví=őęŐĄvíZdË–Ť•‹‰‰MöŮt—Iţ~ęź±¶¶Ćßż;uëz$+gާOFj۶ uęÔaĎž=>|„ĺËWҶmkz÷öÇ‚ńăÇrúôöíŰĎîÝ{5k.cÇŽĆÍÍŐ¨žřřř iĎłž§"""""’uhÎÉRlll0a, ŔÖÖ†>}zQ­ZŐ§®ďÖ­[ěŮł—aÆеkgęŐ«Kţü/z�ܸq+W~ŁV-úôéĹŠ_ÇŽ;ÍúŽúőëů€}űöłwď>“Ăe+Z´(•+WbÇŽťěŘń-Ťű`aaa˛l™2e¸}űÖÖÖ899–óç/zS899Q˛dIľţz ŃŃŃ”-ű*eËľJ\\_~ů5%K–L1Đ:|ř(×®]#(č3Ú¶m«km“Ęůóç =‰�¸}űĄK—NW™ôÖűÚkĺżf´íFqëÖmŁŢO-66–ăÇOŕŕ`OË–-;6~ýŢcÍšu�DFFrňä)Ę•+KçÎť9s:µk×bÆŤÉę*Q˘89sćL67ÍŃŁÇ(]ş´ŮŰń¬ç©dę#YNŤŐŮĽyCş>séŇ%Ła5� ŔÎÎŽüů_"$d ŽŽŽDFF2gÎ<ŁŔ›7ņ 1b8/ż\”ýűpëÖmJ•*•ě{zĽś<yGGňäÉŤŤ žžLťú9  J•Ęi¶××·1K–,#<<ś?žbąjŐŞRľük <ŚŢ˝{’/_>BB¶˛~ýV­ZfčâîîĘęŐkxóÍZ†msq©Éš5kńó{+Ĺú‹/F\\ÁÁëqss#,,ŚéÓg&˙CaeĹGŤ˘sçwŚŚäłĎ‚(W®śŃ¶šS&˝ővî܉Á‡âčč@íÚoΔ)źńúëŐRÝoĎęÁ ¤~ýú´mŰš{÷îşggg�Îś9Kź>ý8°?5jTçňĺ0Ž;Ž··w˛şrĺĘE›6­ šIŽ9qv.ĹţýűŮ´i3ŁĚnSzÎSQ#ňÜ%˝ű<žčÖŰ»!AAź8Ž.]şQ¸pazőęÁĹ‹ ĺŢy§#qqqL™ň7nÜŔÉɉáÇđ曵’ŐiggG›6­™<y7éÜąÓ“pĄ !![ń÷ď‘b/—Ä<=ë8Ž*U*§:ÄÄŇŇ’©S?eĆŚŮ|üń'Ü˝{ŹŇĄK3kVE‹5”swwă‹/–QłfMĂşZµj±ukh˛a3‰9;—bĚŃĚś9‹ S®\Yz÷îÉđá•«\ąU«V! ` ŹĹŕâRÁ…Zć”I*­Ď¸¸ÔdâÄq,X° akkŹŹ=zĽű\ϧܹs3sfÓ§Ď {÷žŔă0  đ8$5ę#–.]Îôé3ɛ׎† Ňłg7“őůű÷ŔÖÖ–YłćAńâĹ=z”ÉáW)IĎy*"""""Y›…ë-˝Nxn™č1aÉöd±z˛XŮ|ŃŃŹ~Ň®–ٱcÇń÷ŹM›‚Ť&Ť}Ž%22’ńăÇ>S™ŚřŚČófmťÝ¸<˘'Kě“%.Ńźč1aÂČÄĎIňPĎ‘gÉůó šIő^¸ FDDDDDD2ž&đy»wďˇOźţŘŘä˘˙ľÚ!""""""’& Sy"3†)©gŚH&R#"""""""’‰Ćd"…1""""""""™HaŚH&R#"""""""’‰Ćd"…1ňŻÁ1ăńńńĹÝÝ“ví:˛qă&Ăű§Nť¦I“fěŰ·˙ąµááÇ´lŮ–… ˙ăűcĐ ÷qqqM¶ôęŐ€đđp\\\ůő…ńő*�� �IDAT׋OýQ€ź_K‚×gąs*+ĎgµzőZ´hŁ?YPtt4ăĆM¤AF†ë󟼞·ŢjÁÍ›7u`DDDD2•vüŰĚřű÷ÁÖÖ–÷ߌ=‡aÚ´éÜżźŢĆÁÁwwwŠ)üÜÚammMť:îĽöZą§®ăňĺ0Ú´iOpđjŠ-úLíqq©Á{ďő6Z—+WΧ®oäČŹÉ–-ŁF}ôŹóŤ7±xń|ůĺĆ,}<EŇňĺ—_ńż˙í`ěŘŃ-ZämKéŇĄqww'wîÜYîšy)Ś‘µýűpőęUBCCČ“'�+V {v+öď?@‡oS @† ô\ŰaiiIßľ˝łĚ~É“'ĄKż˘ä9žňbş~ýÎÎĄ¨UËĺoKĺĘ•¨\ą’ŠHfýćĐ.łlٲÇ­[·ŚÖ·k×–iÓ¦�¦‡Ô|óÍ˙hÝş=nnuéŮł7ÂĹĹ•ëׯ8–ŔŔ±,X°oď&xzz8ŽčččŰ’xČMÂwîŮó#Ý»űăîîI›6oł˙“źÝş5”6mÚвe[Ţ}·'�ńńń,[¶?żV¸»{ұcvîü.Ă÷ă‘#Gyď˝~xzzѰˇcĆŚçŢ˝{�´hцíŰw°mŰ7¸¸¸˛wďO†Ď<x:¶/ńP°-4lčcô=?˙|W"## 뢣Ł3f<uęÔĂÇÇ—Yłćk˛ťcÇN`âÄÉ\ż~WfÎśóTűiřđôď?Ŕh]tt4őęy±~ý†dÇŕŇĄË ÄÓÓ‹¦Mý<ywîÜ 4t;îîž<|ř0Ń9Ř‘V­Ú^GEEáîîÉöí;L¶)<<śQŁFăíÝŹú äâĹK†÷Í9'cbb1c6>>ľxxÔg„O‰‰‰IőŘűůµdĺĘU|řáGxzzŃĄKwÂĂ˙`Ýş`üüZááQźQŁFeÖů’PçşuÁŚ1’şuиqSV®\eö9ÇÜąóiܸ)uęÔ#0pÁÁ덆\ĹÇÇł|ů üüZQ·nşuëÉŹ?îM×qŹŠŠ2:î÷îÝcܸ‰4jÔşuĐŻ_�żür>]絟_K–,YJďŢ}©]»ŽŃç‡0×qqqeéŇĺ?~WĆŽťćyĽžúő&ű;ÔŻ_�#FŚ4ëZHřŰ´eË6Z·nŹ——w˛íJéšOíH¸†¦Lů _ÜÜęŇŁG/ŁsXDDDDĆHͦM›Yľ|7nÜHµlőęoPľ|yştéĆś9ó8yňqqq©~ćÇ÷2jÔh|}}X˛d!M›ú2qâädĺľýv�K–,d„±|÷Ýw¬\ą:]Ű2oŢBúőëCpđj^{­,#FŚ4úÁž ^˝şĚšŔÜął6íÓ'ĎçłlŮ zőęÉâĹ hÔ¨#G~Ě®]ßgŘţţí·ßčÓ§?ĄJ•bŢĽŮL0ŽĂ‡Ź0cĆl�.śKŐŞU¨^ýuBB6óĆŻ>»`Á"şuëÂĽyłyůĺ"|đÁ‡FA‹9–-[AÁ‚X´h>`óć/ še˛l@@_şu능Ą%!!›éŇĄÓSí'_ß&8pĂşďż˙GŹbđňj¬üÍ›7ń÷ďMţüů™?cĆŚćčŃc <€7ßt!66–ź>l(ĆŐ«Wąvíšá{ll,..5’ŐKż~ą~ý“&M`ţü9XYY1tčé:'§NýśŻżţšA˛pá<ňĺËËŠ«Ň<!!ŰhÝş6¬ĹÉ© ýú ŕĉ“Ě›7‹ůóçpđŕ!Ă÷¤uľ$XĽř <<<X·nďĽÓ‘éÓgrüř łë5k.6ldŕŔ,\8GG–,YšäúZŔ˛e+čË’% ©SÇŤÁ‡¦8?TÂq˙óĎ?M÷řřxĘéÓg ü„9sfâŕŕ€żoţřăZşÎëŐ«×ŕíÝ•+—Q¬ŘËFď988˛™ĆŤ˝)R¤!!› č›ćyŕĺŐ€ččGěŢ˝ÇPWDDţL“&ŤÓu-¬X±Šú±hŃüdm7uͧu <ţîüđĂ&NĎşu«)Y˛$C† Oóo˛Č‘†)I–3tčpöîÝŔúőY´h>/˝ô’éŘĘŠŮł^OHČ6–,YŠŁŁmÚ´˘]»¶dË–ÍäŹ˙† бc�śťKqóf„ˇ—E‚%JĐ­[W� ,HÆ 9tčť;w2{[üý»S±b�úö}Ź­[C9{ö\˛á�ÖÖÖŘŰŰ`oź;;;<xŔęŐk8°?^^ő m żĆâĹK©SÇ=ĹďÝľ}G˛łfQ­ZŐde‹-ʆ k)P €ať—W}ľűîńŹ·|ůňáŕ`O¶lŮ mL0bÄpC;†}__?Îś9kň{RňÚkĺčŢý]ĂöEFŢgĘ”ĎčŮłąrĺ2*kkk‹˝}~ě myšýäâR{¶o˙mŰ>îiЇ‡»a¸[b6l˘pá"|řáXZ>ΰ?ůä#Ú·ďČąsżP¦LiŞT©ĚO?íçÍ7k±oߪU«Bllű÷Ŕ×· {÷îŁjŐ*&ëĎ–-‹ÍĂĘĘʰÍmÚ´¦oß�nÝşEľ|ůŇ<'ďßżĎW_}ͰaďSŻ^Ý'űˇgÎśáĘ•«©ÚµkQ©RE�ZµjIŻ^}:uŽŽŽ8::âęęĘ©S§Ě:_řřřĐ A=€'AĎf<DĹŠҬăáÇŻgđŕ†myĺgΞ=KXŘo†ăľjŐĆŚůW×Ú�těŘS§NĽžš5k¤zÜ۵k ŔÖ­[ ÇýСź9rä¨ŃĽM#GŽŕĚ™s¬]Lż~ď™}^űřřŕëŰÄä{–––ŘŰŰ“?ż=ööůŤ®«´Î:uÜضm›aż|óÍvě©YłFş®…^˝z¤8<ĘÔ5oÎ5đűďWqv.iř›7dČ ˘ŁŁ ĺEDDDDaŚdQááᆠćńë?ŘłçGĂ˙úšbmmMűöíhßľż˙ţ;ˇˇŰY¸p W®\eřđ!ÉĘź={ކ Ť{?ĽńĆÉĘ,čhô:ţ—8{ö\ş¶§`Á‚‰>źŔěž#—/‡ńđáCŞV­b´ľrĺJlذ‘¸¸¸äšŔ7µ ŚcccY˝z çÎýÂoż]ĺěŮs888¤ŮĆ—_ţűüÓµ} *T¨`ôşRĄJDEEńŰoWÍš÷ćiö“ĄĄ%ŢŢŤŘşőÚ¶mĂíŰ·Ů»wÓ¦M6ůgÎśáÔ©S†!đx8ŔŐ«żS¦LiÜÜjłaĂf�8Ŕ믿NLLŚ!Śůé§}4oŢ,Ĺí°°°`çÎo9qâżýv…óç/� IIíś »ÂŁGŹ ˇJ‚×_Ż–fS ŔßőfĎžŔ(4Ę‘#Ź=J×ůR¨PŁ×/˝”ŹČČfŐ‘pLMmKB“PfđŕˇäÎmk(sďŢ}J–,™bâíÝ-[Bi×®-7oŢdßľ|öŮ”'Îâŕ`o4¶……•+WâĚ™3é:Ż .ôTÓ:š4iĚ AC¸sçvvvlÝú >>ŢXZZšu-üÝľôMhnÎ5Đşu+Ţ(mŰv FŤęÔ¬Y—šú‡MDDDDaŚduyóćĹĆĆĆč}z~4.\.]ŢÁÉɉѣÇ0hP@˛2qqqÉzĚęAóOKřˇó4Ň3ďáĂG0`0nnµyýőjx{7âĉ“|ýő–L٦¤ëŇ»ÝO»ź|}łtér._ăСC8:: ÁJŞN7ú%[źĐkĄNw>ű,ëׯsđŕ!Z¶l<ľűÓőë× ĂÝÝÍdÝýő]»öŔÁÁžzőęR»v-˛eËĆ€3`źgě1Ěó%­:B¤×Ą•Uň˛–,YHŢĽvf_ĎľľŤůâ‹e\Ľx‰ýű÷S @ĂqOí\˛°°x.×jzĎęŐßŔÁÁž;vR­Z5~ůĺĆŹĚĐv<í5Pµj6n ćÇâđá#Ś3ŽâĹ‹3cĆç&ŹťÂ‘,ÂĆƆ Ć2věăÉ<»ty'Ő!/ź>˝{bĺĘĄF˝"#ďceeeň@É’%9~ü¤Ń‚#GŽüăŰžô·^‰ĹÉ™3'GŹ3ęrôč1J—.ťa]˙wěř–W^q&0đĂşüé™ë͕ˆ{÷îEŽ9�¸z5yŤ'N˝>zô(9sćäĺ—‹šőŁři÷SѢE©\ą;věäСźiÜŘ'ĹÜeĘ”a÷î=*TČPćÎť;ś<yŠęŐ÷*qrr˘dÉ’|ýő˘ŁŁ)[öUC°đĺ—_S˛dÉĹÇŹríÚ5V­ZFÎśŹoAľ{÷éÚßĹ‹#{öě<xČh?<x0CĎÓŚ8_ŇŞŁhŃ"XYYqüřIŠ)’č:=jx^¬ŘËäČ‘đđpĂľNz JąWJѢE©RĄ2ß~űű÷ qcoĂ1-[¶,ţÁďż˙nt¬Ž;NŤŐÓu^? sÎKKK||ĽŮ±ă[nŢü‹*U*öŃóü›aÎ5pńâ%rç¶ĄaĂ4lŘ€Ö­[†1é6ń"""" c$‹«QŁ:›7o0«¬Żoc6lŘH@Ŕ@Z´hŽŤŤ GŽeٲ4oîgňÇG»vmřä“@śťKRŁF ÎźżŔşuţńíÎź??–––8p+«ě*T6mZ4“9râě\Šýű÷łiÓfG=ő÷ŘÚ>ŇqňäI(Q˘[·nĺűďwS˘DqöíŰOHHyňüÝŰŔÁÁ‘réŇeŁ!-©©X±<–––Ś?‘öíŰqůrË–­LVîüů Ě›·€ző<ůő׋̚5?ż· ?F“˛··çŻżnqňä)śś ‘?ţ§ŢOľľŤY˛dááá|řáđË5oţë×o`ôč1´nÝŠć͛ϵk7XąňďIeÝÝ]Y˝z oľYËpÔdÍšµřů˝•jGpđzÜÜÜ cúô™é:®6664kÖ”  YŘŮĺĄD‰âlßţ?.]şLöěÖvžšsľ<kyňäˇI“ĆĚ1“\ąrňňË/óý÷»9zô66¶†ím×® ź~:…XśťKqěŘ1¦NýśaÆŕäÔ(ŐăľhŃ\»vŤŹ?iX_µj*UŞČđá#é×ď=ňäÉĂÚµÁüńG8­[·H×yý4Ě=zu]»vť.]Ţ1¬Ď•+W†ýÍHzÍ›s Lš4™ú‘3gNÖ® &W®\89Ň?l""""IhV=ůW+UŞ$łgĎŔŇŇ’ŔŔ± 4„ť;żĂßż{Š“mzyŐgčĐÁ¬]»žNťş°n]0}˙ńmÉť;7ôcîÜůĽ÷Ţăˇ�ţţ=xűíöĚš5‡Îťß%$dŁGŹ˘n]ʧţ;;;Ú´iÍäÉÓXż~#Í›űŃŞUKĆŚG·n=9yň;ľmô™öíŰ`kkC§N]صk·YßăččČ'ź|̱c'čÖ­'_}ő•Écҵkg®_żA׮ݙ6í3š5kFź>˝R¬·ví7iĐ }úôgöěyĎ´ź<=ërĺĘ*T(Ź““S*?L7owďŢĄOź~ôë7�[[[fĚř̨÷•»»wîÜĄfÍżçɨU«wďŢĂÍÍ5ĹúťťK1fĚhÖŻßČ;ďteĺĘŐôîÝ3ÝÇ6  /Í›ű1eĘTşvíÎ_ÝJׄÓć0ç|É:  AL0‰.]şqĺĘ:thoT¦gĎîtčĐž9sćŃ©S–.]ÁŕÁđńi”ćqżző*•*U4 ,--™:őS^}µ #FڤgĎŢ\»ösćĚ2śćž×OĂÜóŔÉɉňĺ_ăĘ•+xzźăő7#é5oÎ50věhŠ)Ě!ĂčŇĄ/^äóϧ¦8»Č™…ë-˝Nxn™č1aÉöd±z˛XŮ|ŃŃŹ~Ň®–¬äŃŁG†‰JáńІ^˝ú°cG¨ˇçüsâă㉍Ť5 ».\Ě®]»YştŃ3Ő…ŹŹ/Æ 5ÜńIDDDD$µuvŕđbž,±O–¸DK|˘Ç„Iü?'És@Ă”ä?hëÖPćÍ[@@@ß'·c '(hŻż^MAŚH1nÜD~űí7z÷ö'ţ—8}ú,k×®ŁuëVĎTďéÓgŘĽů+ěěňâáá®-""""˙őŚ‘˙ś–/_ÉÖ­ˇ„‡‡“;·-µjŐ˘oßކ»‚Č?ëć̙͛3źýű÷qGGG7ö¦K—wžz"Úk׮ѪU;Š)ÂGŤ \ą˛ÚŃ""""’LfôŚQ#"""""""ňDf„1šŔWDDDDDDD$)ŚÉD cDDDDDDDD2‘‘L¤0FDDDDDDD$)ŚÉD cDDDDDDDD2‘Âů׋`ĚńřřřâîîI»vٸqS–h[`ŕX†ńÂîű_~9Ź‹‹+ׯ_`äČŹéŰ·¦·#<<W~ýőâ3ŐłfÍZš6őŁAFÜąs'KěăíŰwđî»=©[·^^ŢŚ=ưż¬X±W–/_aňó..®ÄĆĆ­˙öŰ]tď§ŢŢM>|çĎ_0*súô\\\iÚÔŹ¸¸8“í>|..®,]şÜ°®nݸ¸¸&[¦Oź™âv>zô ѢEÜÜęҬYs‚‚fńŕÁ ˝žBB¶Đ°ˇOŠŻEDDDD2•vü›EGGăďß[[[Ţ0ö>|„iÓ¦s˙ţ}:tx[;)UŻţ‘‘‘Ďý{FŽülٲ1jÔGVçĹ‹—6m:ö§RĄJŘŮŮýăűsÎśy,]şś–-[ĐĄK'îÜąËęŐkéĐá–,YHáÂ…ŤĘĎźżŹ:-Z4Őz-Zň$řhN§Nxř0Š/żü’nÝz2eĘ$^˝šQůżţşĹľ}ű©UËĹhýť;wřá‡É–-[˛ďčÜąőęy­Ë—/oŠm?~"?ý´Źž=»SŞT)ÂÂÂ7ożţziÓ¦č⑊ÂůWŰż˙�WŻ^%44„<yň�P±b˛g·b˙ţ c2YÓ¦ľ˙Ú¶_»v �?ż·Čž=ű?ŢžS§NóĹËřčŁńönhX_Ż^]şuógěŘ Ěś9ݰŢÉɉ¨¨‡Ś7‘™3§caaa˛Ţ3gβ`Á"FŽaToýúž|ňI ŁGŹ!8xŤŃ>¨Ył:_}őu˛0ć›o¶S¨P!“ßS°`J—~ŬmŤŚŚdëÖP&MŹ››«á:.R¤'NććÍ›äĎź_Ľ04LIţŐ˛eËF\\·nÝ2Zß®][Ł˙Mż˙>ăÇO˘QŁĆxyy3dČ0.]şlô™Żżáí·ßÁÝÝ?żV,Y˛Ôđ^Â0-[¶Ńşu{ĽĽĽŹŹgٲĺřůµ˘NťztîÜŤ]»ľ7Ş7::š >ĹËËOO/Çťâ6=xđ€9sćáç×wwO:uęjTgHČüüZňăŹ{ńók…»»'Ý»űsęÔét•‰ŽŽfĘ”ĎđńńĹÍ­.=zôââĹK©îﯿˇU«v¸»{Ň»w_nܸaô~âa$©íłĺËWŕç׊şuĐ­[O~üqŻQ=/^" ` žž^řřř2věðˇ-Ú°}ű¶műWöîýÉčł±±±4nÜ”/ľXf´ţر㸸¸šÜĆ-Ú0�7·ş´hŃư=ŁFŤfܸ‰xxÔgőę5ÉÚ×°ˇ㌆5…„lˇiS?ľűnÍ›·¦~ý†,_ľ‚đđp „§§-[¶MÖvă}˝…2eĘ&�9rä wďžDGGsďŢ˝ż˙[ZŇŁG7~ţů0_~ůUŠő~őUĄK—NVŻ……}űľÇŤ˛oß~Ł÷ęÔqg÷î=Üľ}Űh}HČ6<==‰‰y¦ëŘ ţúë/ŁőUŞTfŐŞeFALZד9׺‘$˘ŁŁŮ´i3Ë—ŻHöc?©ęŐß |ůňtéŇŤ9sćqňä©ds[ÄÇÇ3xđPÎťű…I“&0{öLrćĚIŹţÜĽy€-[¶1iŇš7oƲeKđ÷ďÁ˘EKŘľ}‡Q]+V¬bŔ€~,Z4€ąsçłlŮ zőęÉÂ…ó¨WĎ#>â§źö>łgĎă áóϧ1dČ`věŘɲe+Rܦ)S>c۶P `éŇĹĽů¦ #F|Ä\3”‰¸Éňĺ+™2eëׯáµ×^ŁOźţ†Ţć”™;w?ü°‡‰ÇłnÝjJ–,É!ĂSśä˙ŰɸqiÖ¬ ‹/ I“Ć|úéÔ4ŹgŇ}6oŢ–-[A@@_–,YHť:n <Ô�DDDŕďߛܹs3kVŁGŹâüů <€… çRµjŞWťÍĽńĆëÉ:ooo¶n 5ZżeË6Ę—/OÉ’%’µqáÂąŚů�_~ą… çŢűöŰ]äÍ›— ćâíÝ(YűĆŹËĹ‹—čßŃĽ,wďŢăĉS,X0‡ńăÇ2ţ"† űÖ­[±iS0uę¸óá‡ńđáC“űíĚ™łÉ† %¨UË…ůóç;wîD×MM›úRľ|y‚‚f¦xí¤VŻ˝˝=Ĺ‹çĚ™łI®łęäČaMhč7FŮéÓ§iŘĐ ¦k>W®\´nÝŠ >eĚńěÝűQQQ&˦v=™s­‹(Ś1ačĐáLđ)3f̦GŹ^Éţ·<1+++fϢk×ÎěŢ˝‡wßíAłfÍYľ|…á‡ńáĂG8uę4S§N˘RĄŠ8;—âăŹGbeeĹ7ßlŔǧëׯˇE‹ć/^چ P®\YŽ=fô}˝ző V-Š-ĘX˝z-}úôĆË«>ŻĽâLÇŽ?~ EŠü=—GéŇĄ6ě}Ę•+KŁF^4lčĹÁ‡RܦaĂŢgń⸹ąR˘DqşvíL\\\˛^-  T©’8::Đ—üůółyóWf—ůý÷«8;—¤bĹ *T!C±té",-M˙YXµj ŢŢ éĐámśťKáăÓ?żfiϤűlŐŞ5Ś9‚:uÜ)^Ľ;v N7‚×°aĂ&lllř䓏)[öUŢxău&NK»vm‰ŤŤ%_ľ|88Řco˙x15¤¨iÓĆ\şt‰łgĎŹ'‡Ýąs'ľľ¦'jÍ—/źˇ÷…˝˝=ůňĺ3ĽW˛dIŢ{ĎźW^q&oŢĽÉÚW­ZU>ýt<gĎž5ęéĹ»ďv&ţüTŻţ*”§D‰bԪ傝ťíŰ·áţýH®lÓÝ»wÉ›×üykbcc±´´dÄa<|Ĺäɦ˛;wî¤ZoŢĽvÜąs×h]öěV4hĐ€ŻľÚbX÷ő×[(W®ĄJ•4YĎĉ““MŕűË/çSüŢ€€ľŚ3šk×ţ`đŕˇ4jÔ„‰''ëő–Úődε.""""’hÎÉRÂĂĂŮ»w_˘×°gĎŹ4iŇ8ĹĎX[[Óľ};Ú·oÇďż˙Nhčv.\•+W>|gÎś!**ŠV­Ú}îŢ˝űüöŰď†×7nüÉćÍ_qńâEÂÂ~ăÂ… +VĚč3‰'L˝|9ڇRµjŁ2 s^$(ZÔx’UGGCH`Š……'Nśäđᣄ…]ć×_/gÔSŔÚÚÚ¨‡‡……ĺʽʅ Ě.Óşu+Ţ(mŰv FŤęÔ¬Y—š)¶ë×_ĄiSăăR‹´öŮŕÁCÉťŰÖčX”,ůřGýŮłg©X±‚Ѥ°  @fźGĹŠŁbĹ lÝƫݖá‡öý ę§űśtr*hôÚTűěííyůĺ—9sć,®®µČ“'7ąrĺ2 4ňä±3:> ˇ™)yňäáömă;:uîÜŤsçţ>w¦M›LÍš5ŚĘ”*U’wŢéČÂ…‹Ůąó»dőÚŮŮ%«7±Ű·ď`g—ÇDŔŐ„Ť7qîÜ/ĽňŠ3ˇˇˇtîÜ)ĹzLMŕ[¬ŘË©îkOO<==¸sçßż›… —püř -šgŘ_©]Oć^ë""""" cDÉ›7/666FwäIzÇ´~řwéňNNNŚ=†AžüXÎĎ‚s“•·±±`ůň,X°fÍšâęęJ±b/łxń’Tż+>>ţąě!C†qáÂŻ4mę‹··7ŻĽâĚ»ďv7*—ěű“ÎŰ‘V™ŞU«°qc0?ţř‡aĚq/^ś3>ÇĘĘʬm~Ú}°dÉÂd˝3ÂŤŚÚŻľľŤ™;w>ýú˝Ç¶mˇxzz`kkűĚő¦Öľ”&Í}e˾ʡC?­;ö˘˘˘ůóĎ?é×o€áü5„ěŘń-Ó¦}FĎžÝÓ¬7ADD—/_¦lŮW“˝W®\Y^yĺBC·sűömîÜą‹—WŰźž |“˛łłŁI“ĆÔ¨Qť¦M›sřđ‘dˇSJŇşÖEDDDD˛ S’,ĹĆƆ ĆR°`lmmčÓ§ŐŞUM±üçźĎ mŰÉć9‰ŚĽŹ••VVV”)S†Ű·ď`mmŤ“““a9ţ‚aHNHČ6Z·nÉ€ýđönHůňŻńçź©Ď1Q˘DqrćĚ™l(Óöí;8wî·~Ĺ1�� oIDAT—§Úţ[·n±gĎ^† B×®ť©WŻ.ůóżDdädˇJây=bcc9uę4ĄK—6»ĚĹ‹—xřđ! 6`ذ÷™93#GަŘvgçRÉ~ħ6ÜĘ”bĹ^&GŽ„‡‡‹?ţ¸FllÜ“° ,ÇŹź4:¦×Ż_góć/Sťř8©úőëů€}űöłwď>|}›dPH’Ľ}7oŢäĘ•+”)S:Ă®…&M|8wîśŃÜ7EЎT©’ś:uśťK™ülöěŮ1b7Yż~“Ń{ľľŤůĺ—_’Í©OPĐLR >|}}صë{víÚŤ»»k†Ýţűűďwăîîi4/Ňăëřńyź3gNłę1çZÉ Ô3F˛ś5ŞłyółĘúú6fÆŤ ¤E‹ćŘŘŘpäČQ–-[Aóć~XZZR­ZUĘ—ŤÁ‡Ń»wOňĺËGHČVÖŻßŔŞUËČ“'%JcĎž˝¸ąąbkkËÚµÁ„……Ąú?űąrĺ˘M›VÍ$GŽś”*U’}űö1kÖ\&M˙T?ĚíěěČź˙%BB¶ŕččHdd$sćĚKöCŇÚÚšĎ>›NŹݰłłcůňÜ»wʦM›]fҤÉÄÄÄĐŹś9s˛vm0ąrĺÂÉÉô­ŠŰ·oÇ|łł3îînś9s6Ůú´ŘŘŘĐ®]>ýt 11±8;—âرcLťú9Æ ÁÉéń<4ëÖ3jÔhÚ·oGdd$łfÍ!..žfÍšŕŕŕČąté2 8zĽś<yGGňäÉŤŤ žžLťú9  J•Ęr~&nßŰo·7´ŻtéŇĽůf­ »^{­ďĽÓ‘ŔŔ±ś<yŠš5«Ďž={ůꫯ4( ŐŢ+V ys?Ă\<‡IŻŇµkgÇręÔijÖ¬Îůꫯ8zô8S¦LJńÖŢŤ5dĆŚŮŻgÚ´É©¶˙ÚµëÉ汳ËCÁ‚“•uq©IčŰ7€Îť;Q¸°—.]báÂĹ”-[–Š+µĎĚąÖmmmą?’3gÎâě\*Ůë¬p[sQ#’Ą•*U’Ůłg0oŢ|Çý"EŠŕďßť¶mßžŘŇŇ’©SOüńÇźp÷î=J—.ͬYA-Z€áÇ2~üDúôéOŢĽv4kÖ”ÚµÓţaíďß[[[fÍšCDD%J” 0pÔS˙(·´´$(čsÇŃĄK7 .LŻ^=¸xńb’ ('˝{ű3fĚxnܸÁ«Ż–aĆŚéFóޤUfěŘŃLź>!C†q÷î=Ę–}•Ď?źĘK/˝d˛mžžŚů‹/eáÂĹT¨PžaĂާWŻ>éÚĆž=»cg—‡9sćqíÚ5 (ŔŕÁđńiô$hq`îÜŮ|ţůtz÷uv\]]é×ď˝DÁPNť:E§N]>|(ŢŢ iÓ¦5“'O#"â¦a._ß&„„lĹßżG† !JÜľ^˝ú=»®®µéßżŻŃ<2ÁßżĄJ•bíÚulٲ ‹Ç˝?&Mo›&5˝{÷ä‡~HÖă¤[·®/^ś5kÖňő×!X[g§J•Ę,X07Ő�2oŢĽÔ©ăĆŃŁÇŇ6´dÉRŁŰĂ'Ź#†%+kmmÍěŮAĚ™3ź™3gqçÎ]ňç zôx×ě^-ć\ë..5©X±Ý»űôY˛×Ú‰¤ĆÂŚő‰^'<·Lô°d{˛X=Y¬ě@ľččG?iW‹dŚ-Lź>ĐĐ-ĎTćżŕرăřűżÇ¦MÁéš�XDDDDDţ»¬­ł»�·€G@4ód‰}˛Ä%Zâ=&L0™ř9Ižę#"/ ČČHÎźż@PĐL4¨§ FDDDDD˛Íh("/śÝ»÷ЧOllrŃż_íÉR4LIDDDDDDDä‰Ě¦¤ž1""""""""™HaŚH&R#"""""""’‰Ćd"…1""""""""™HaŚH&27ډ׮I•Yů‰zĆd"…1""""""""™HaŚH&R#"""""""’‰Ćd˘Ś ct·%yŃeHţa™_ź‘ É‚LĺO•…X>§†‰Ľ(24ď°|ŤQ #"""""""/Š Ď>,źcC5|IDDDDDDDţmçĎ%Ӱ̀ƥöľ‚ů·1'ÓxęĚĂ2™RCâtEDDDDDD$‹K)żH+÷H—ŚcâSi`<giiń—ާdeOň‹8’g‰=s cN“ô–MiÝÂ)éŘŞŘčč0RÉĘbbb€XŇž 7˝Y‰‘”ÂôŽ‹2ô‚IňÄŢż÷¤©dewďŢ=‰qc*çHě©ć•IĎ0Ą”ľ0>•÷ăŘ“'ĎĐ!‘¬ěĚ™3HŢ3&99Y,Ě|Ď"ŃcŇĹ2Ńc¶'‹Ő“%;Čł5..Ţ^‡VDDDDDDD˛KK‹+++oŕ6<bž,±OS=e’Î-“楧ťŔ7>•çI»ńÄQüqmŤ­dEOr‹(R]¤k~SĚ cL}Q| Ď78!ډ~űíö«---"txEDDDDDD$+±´´xűíö«hţcçr’îp&µ0&>ťë70ă0ćŃ®]»ţ:~üř4bÉJŽ?>m×®]ńxhRâ0&qÎaîÝ•R[¤>gLŇ÷-L<&ž3&ńĽ1ü=oL6Ď“°˝qăĆŕĽyóuС‘ÚíŰ·–;::Nîó8ŚId拉Çxč’©áKéę%ó4wSJé®I`zľ¸'Ť<tttśúŕAä—:Ü"""""""ňOzđ ňKGGÇ©ŔCţž°7qž‘8ç�ó¦´Âř4Ţ3µ$˘”x‰äÍ›wÔíŰ·–ë°‹Č?áöí[ËóćÍ; xŔß÷&^ç)e )I5IďÝ”Ňe*”I¸TB÷ž‡Ŕ=GGÇɧOźˇI}EDDDDDD$łXZZDś>}jÄ“ˇI÷xśS$ľ…uBďS!LRéîć…1OÓ;ĆÔ0Ą„ Š~˛Ü­\ąňćúőëżuýúőY eDDDDDDDäy±´´¸~ýú¬úőëżUąrĺÍŔ]ţÎ(’1Içɰ^1öľ)•Mi2ßÄK҉}&÷MşdrŮżűn·[… ĺް±É]ÁÚÚŞX\\üK¤ż÷Žü·ĹYZZüyďĉ§zx¸íćÉ|¶ü=IoJC“LMÔ›4yę[[?m“řµé eBSŤŹĂ+źµHĄ """""""ňß’Ň †’) 7Jčý’4xIüÚÜ&µ›ĄÉ*ťiaâuÂY¤đĄq) •Ä$lxâ4 ˝a,­ÓŚü·%Hß)áu\’ő‰‡"%˝kRjĂ’ž9ô…1 §Ȥ%.Qů„%qŕb™¨ţ¤=jH´>‚‘˙¦ÄYD\’ç‰{¸€q“ôNĐńf.A <}‘ÚĄ„ÇÔ†.Ą5· &-ŇřnůoH) IÜ;&éŁ9ĂĚé óLA <{a‘ĘsSaLŇצ‚0=4É"•v+ůoH- I¦Ä™xnNřb*ڧ¬×”Ś1ž¶—Ś©÷LÍ ciâ{,žÓ¶H֟ƺ¤=cR fĚ `2¬7Lb`ŰKĆÔ:SĎSžd‘ Ű#"""""""YGĽëS®”ZŘb*xÉđŢ0‰etxaN/™„G 3ĘzL«Ý dDDDDDDD^,ńfľ˙Źi•1§ éň<‚‹Ôćs±xĆÇ´Ú­ FDDDDDDäĹoćúřg|L­Î ń<Ă ‹4ž›Ҥö<ł¶CDDDDDDD˛Žô WJü<ŢŚ÷R{žažw‘ž^2ć>Ϭ¶‹HÖf)=Ď´Ţ0‰eF a‘Ž×Ďrűj…3"""""""/¶řtľonŹ—L b ó sz¶X<ĹgDDDDDDDD í^2ćĽNi]†Ę–‰;%=ó˝(t‘ôOÇúřtÖ‘ˇ2;ô°xď‰$ďe¨*äČěů_ćü;Ägr}ń™˝˙tHań/j«dmńĎ©l†Ę*‡‚É ń˙t˛b˘`FDDDDDDD2R|VjĚż!řP8#"""""""éŻ] """"""""""""""""""""""""""""""""""""""""""ň/óăzG¸%´Ł����IEND®B`‚�������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/categories.png������������������������������������������������0000664�0000000�0000000�00001732403�15234476640�0022473�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��˛��ŕ���~ßčë�´ĘIDATxśěÝśTĺůöń{;KďE@A¤ŠŠ"ŠŠ˝÷nbbLÔ$*¶¨±·ŘţľIŚ%vŤ5Ć^° ‚ÝŠbě"‚" *} Ëîľs=ËÎĚÎĚÎî”=3űű~>‡™9Ógžsvçšű.4������������ � �������������‚,������������‚,������������‚,������������‚,������������‚,������������‚,������������‚,������������„bCľ(0�����������Ú®zCÎ#üĽ®�����������ä?Â3iFŕ˘ĺxí�����������@<„\Z€0Frxť�����������@Ş·4€FlĽ.����������� Ó¶D!°‰×�����������d–5nđ�����������€ŕhÓˇ–¶âČćs',����������@îËfȤMZÚbŔ"Ď™  �����������ČDř¤MZÚR�#]ϕР�����������HVş‚(m"ĐŇVB©<ĎL˝Fb�����������®LGRąÝĽł´…0EKžcŞŻ !�����������ň_ŞÁ’–\?ŻĂ,ů¸ČF€Ą5_?Â2�����������ÄךŹćŢ7–5ň5 ќ畩˦ăz����������� 8ZiÎő2uŮśŹ‹dźSk].]Ç�����������_¶CÉŢ_k].'ä["]ˇ“dn'—Ú����������€Ôd˘]P}Šç7÷r—OáŠTĂ'­nI÷ő����������@óĄÉth%·źň!8‘É�K*Á—ć^�����������_:ޤdâĽć\&°r=d‘JĄąëS9/•Ë����������€ÖŃśPHşĂ)Í]ßÜËR.*ZÚ (Óë›:/ť×�����������éŃ’đG6*- ´äd%WĂé ±¤˛.ŃúdĎO!�����������R—ŽpGK$ői^—h}˛çN.$ZR ĄĄa•Ö®Ň�����������‚!“ŐW2hÉ©0K®…+šiiXĄ%—ij}˛ç����������€ŕČd–t]&ŢşdÎ ”\ U´$RćÓ©®kÉe�����������@ë¨oáeZş.ŐÓńÖ5çüV— aŠT«°dútsÖµä2����������� »2bÉôéxë’9ŻŐ=H‘ÎKKĎKćtsÖ5ç|�����������}-©l’îKKĎK´.™óZUÍ ±4çtk‡[šs>�����������ČľtY2ZIGµ–dÎk5A RdŞ KsŹ's^˘ó›ZßÔy����������� u´$�8IwpĄĄá–xë’9/낤HW–Lo*¸ŇÜŞ,Y�����������žć?šZWoé «¤«ZK˛çeUP‚©TaI&Đ’Jh%Ůę-Ń׋wkĆů����������� űšÓZ¨Ţ’ ˛DO%ÜŇ’ę.‰Ö%s^V!H‘É*,-9ż Éë5őŘâ­KćĽTŽ����������´%™ _¤Z•ĹTILIt™–Zr¶:Kk†š[­¤Ąmš ­x ăÜNa‚ŰO¦B‹5c}˛«�����������Đ´TCőÍXźl+ˇşf¬O^Iwë!kćůŃZtWaiîşX”Xᕦ‚+Mµ8Jg…đ �����������-×’`F˘ KS-}’ ¶ÔŸLsĂ+ͩԒĚédĎËl‡#2Y…Ą9–xˇ•čóŁ«±Ä ˛4¤±ç����������€ŕkŞ*KĽ I˘ K]‚Ë'ŞĚ’‰J-±N[3ĎO›l†*ŇbiN`%ŃatEx%Ţń–VciÎëMŕ����������€ĚiN8#^+ˇćTe©kâx˝5®ĘŇŇæÖEŹuÚšy~Zd+,ŃśVBŃëŇXńĆ ¨DFW\ięq4őŁŹ'B����������€ĚK6ś‘l•“¦‚%‰*°DúŹ×§é0ŃńDë’9/-˛hN%ŢéTĂ,ń*°$Z˘ď7ŮJ-Ń׋µ.B,�����������dOsĂ,MU=©Kâxt %™Ĺ,µj-ńÖ%s:ŮóR–éĐD:C,ńÂ!ÉYb-ţę+…Q×KT™%^Ŕ%úĽXʧ)Y�����������ČžT‚,ŢéxA–DA”čj+u1Ž7j‰wL%a–bËś–†XŇY}ſΠ«řC+…1®“l‹ˇčŔKôůѲ�����������<Í ˛ÄZď?Ż ęňń‚,ŢĺĽĐJ‘ĹĹÔ[d8&Ţc(đ6u~}ŚÇY`ŤźGĽçśčĽ”d*4‘íK2UXü•BkşJ‹˙°Č·Ä ÁXÔő,Éő±f���������� óšƨKr˝F©óť_ë[ꢮ—¨úJ]—3ł”Z%:ët˛çµH&- ±řO§^ńŽG‡U c¬Źhń‚+%¶6ĽŇTŔ&^«ˇh-y˝ µ�����������>- _$şN¬VBfń#^ ĄĆÖ[bX˘Ź×ĹąL˘űmI¨%™ÓÉž×lA ˛´4ÄŇT–č *…?ÔRj o˝uěرSż~6l×®ÝÂÂâ!……60tVß‚‚‚.ˇ÷˘ť4�����������kŐ›TŐ××/ ýľ®ÎćÖŐ­žUUUőĹ‚ó>_±bĹňµ—saZVYüđJt{ˇ:kş:K:+´Ä:ťěyÍ–îFk†Xbµü‰ŐFČ«¸â?ż,´{—íÝ»_Ż^˝zîTVV¶cčäX�����������H‹úwŞ««_]´čÇW.\°ČÖ†TV‡–j‹ ŞÄŞŘd‰n=d–Ăa–tYŇbńŽ·4ÄâŻÂRd±[ yëUĄĚ»ĚС÷ęСăA………»ű‹­^]kµµµˇĂŐVWWgőőőá�����������ŔŻ   ĽZqq±…‹".WWW÷âĘ•+ž9sĆ»¶6p˘0Ë*kdń‡Wj˝›đ-fÍłÄ ®´jĄ5‚,MO¶…řĂ)ŢéXmŠ˘Ö«úJ»5ë]€ĄS§NÇř«Ż¬ZUc555.ĽB`�����������¤JÁ…ZJJJ¬´´ÄwNý;Ë—/żŰhQPĄĘŞ´ř,µżýYă6D-i9”ěńh ˛d˛ĄPôń¦B,Ń–XUXb)čŐ«_ďuÖébQQÁ~şşşz«®®¶U«V^�����������ŁPKii©•••YaaC˘¶¶ţéロӢE ZC0Da–XŐY˘-É„YZŇj(úx¬ÓÉž—”LYŇbP%^Ą0΢�‹‚,n8jĎňňvç‡^Ăr…VŞŞŞ]����������� ›fi׮̅[Ě *++«®řüóŹž·†`‚, ´ÔĹY…Y’­Î’č0úx¬ÓM­OZ‘Ą®%ŐXâZâ…Yb…Xüa–¦B,zžĺÖb)ÜtÓѧ—––ś:^˘B®…�����������@¶ŐÖÖZMMŤZQQaIIIńν{÷íđĂ ޱµŮ‡ş7áĎaÔÇ8ŻŢ’ËpÄ»ÍdĄ\P%“A––VcIt<:ČŻťP¬KIÇŤ6ÚôŞÂÂB×J¨˘˘ŇŞŞŞh#�����������Z•˛ łÔŐŐ[II‰ŽęŰ·˙đ+–ýwŐŞUj%¤üCm¬«®9L6DRĐÄń‚&®ď2i‘j%ŐX’ ł$S…%^Eí„JzôčÓ}ýő‡\SPP°ummť­\ą’*,����������� PŞł¬¶ââb+,,Ô˝{ĎÍkjj߬¬\Ym±+łxWü§=‰*{$bÉzU–LYŇUŤ%VKˇDUYŠ,2ТKiÇŽ;Żżţżl¶zu­k%TW—¨â�����������@ëPuç(**V«ˇľ]ştµbŲWW­ZĄŠĘEx•Ybµ Ş·řUZµjTeI%Č’Éj,ńZ ™5ŻD/^Ą4´”éôFmzĄ*±(ĢJ,´�����������AćµRe…Yşwď5řűďż›b ™TÁ#şKŁ›±Řáłä˛fY®Ę’Ť K*ŐXâµňŽ{ŹßbŃRZʵnÔ¨ÍO˝ˇű©ť*±b�����������ąB•YŠ‹K\›ˇ^˝útřá‡ďß±†l„Ş˛x!˙ˇ?ÜRu~<-­Ę’v©ÜAsŰ Ĺ ´$[Ť%ş˝P¬*,ޡB,Ąn¸É^ĺĺíţ˘[ľ|…ë#������´†˘˘"+++µ’’Ż4´düű? ďčÇŠúábmíj÷ëÔęęU|÷ ��€Ľ§˙SvęÔŃݬ¬şčóĎ?ž:şJ'­ˇ2KmÔˇńŞ˛ÔEúĂ/±N›E`b­‹uş©ő µ´"KkTcń‡YŠ˘ŽůÎw-…zőęŰ»GŹž7„Ž—TTTş„������mĺĺĺÖ±cG÷…cii©+ ]XHh)m;Ú†´-i›jßľÜJJJÝzľ��@ľR »®®Ţý8"´l˝zuí3+Ş,2¬âŻľ]‰ĹN‰'QĆ#Ţĺ’˝˝¤µvĄ©0K¬*,±Z y‹Z µ×ńˇC‡źUXX°ŃŞU5VUUe������@6•••Y—.]¬ĽĽťűĺ€Ěń*••µ }ą_G…���ä%}Î-,,R…Ď’Ž;uůᇯYCîC‰îXŐUW˘Ď‹—őČştY’m+ÔśÖB±-^Ż‹·NŐXJ6Ř`ŘVĺĺĺ§+‘TQQá’I������@¶tęÔÉ:věŕŞF�ČmsíÚ•ą/÷W­Ze���@ľQE• Cź}‡učĐńĂźţé;‹läńŞ˛Äjä?Ś—óhęĽdÖ·H&˙'Ýśň2±ž|tő•xA˙ĺd)čÜąóŃZYUUíŇ÷������@6¨*D×®]]�­GŰ ¶EŞ!�� ß(ˇ,„¬ÉF(/ˇ¬„—±0‹_D$VAżćU2VµĄ%A–t=d_˙ů±^TŻ­P‰7Ř`ŘĐę±ę U]]m������@6hÂ\­„JKK @ëÓ¶¨m’0 ���ňŤ˛ĘD(Ń‘X›™°Č,E¬˘!ń47Ă‘¬fßN:+˛4·ÝPĽó ’¸L¬ËëM)čرÓ: ������˛I턊‹™0‚Dۤ¶M��� ßx™Ž;hľĚ„µ<s‘č2–ŕtSë›-›Mz Z°Ţ_}%:9ä_ô AaŻ^}{î®+Ó˙������٢‰r*±�Á¤m“0 ���ňŤ—‰(,,ÜMY óe',qƢ© -Ş4%SA–TKŇ4÷(-…˝{÷ÚA'V­Ş±úúz������2­¬¬ĚĘËŰ€ŕŇ6Şm���ČĘD(!k˛Ę[ó¤šÝČH¸ĄąA–L&lš*Wă?ÝÇÉ˝ˇ˙¸ KMMŤ������ŮСC|l«���Č7^6ÂËJXCv":Oa–\#Óy¤57Ť“ŞD}”üëc-…Q‡ţőECB'ÇęVŻ^m������@¦•——[qq‘>m«Úf+++ ���(**˛’’·č¸–ÂÂ+(h2¨âI]]˝ŐÖÖşEˇ-:kłc•™X±bĹrkČPÔYd¦˘nÍa˝5·¬YÍż>Ţe2"]A–¦z$Ą’܉W©Ĺ˙˘[ßľël¨ĂŐ«ki+�����€¬ U [´Íd��h» ­]»˛ĐçÂvVR’8.ˇ@KQ‘EJÂ-ekjV[uu•UUU[]]ťµ&e#”‘Ph[™‰Żľúň]k\ÄĎ[×ŇP…wÝdÂ/-–íŠ,ŃŇQšF?y)(/o?T'‚”~�����@ţŇŻőJKK @îĐ6«m—ď‘��Ú}lßľ}8Ś’ `JJ:ššĆTVVYEEE«~ľÔ}7Tt™‰iÖˇ¨±ÔdµK´BËľ¦z-5n‰ŐZČ ‹6Đ!m…������ eeĄ ÷°í��´- °ôčŃ=-!–hşMݶx /3aq2 Dç5 śź™¨ČŇŇ'Qä}Y÷&Ú@ťŃÚĄ{������Đ6¨Ź:€ÜÓ°íŇ^�� ß[§Nťšl!”;vpm,—/_žőâ^FbMf"śˇ°ř‹Xm‡Ľă-©Â’öę-­Q‘EZv)H°>´öŃ ő€������2­¨¨µ»vh ¶]��€ü×®];ëŢ˝[VB,Ý—îS÷ťMk3.3«˘Š'ť9ŤŚĘf%SOĐÝnAAAd�����@6µÖoÄ�¤‚m�� żµo_nť;w˛Ö˘űÖcČ/#áe&,ĂŮŚlhÎ'öć>¨‚ źuązk"Č�����€l}Ih�rŰ.��@ţR€¤cÇŽÖÚô˛fY›‘¨÷JÁ43k‘±ó[|ůtÔŃI÷oę¶bőrň���:ŘN;íhŰlłµŤąˇ Đß:wîěÎ[¶l™Íť;Ď>˙üs{ë­·í•W^µŠŠ ��­cÝuÚřńăm«­ĆXďŢ˝B‹ëčm ţZŮ»ďNł×^{Íýý���€ PKź „X<z,uuőVUUeY+Cá_ŇU¤©ŰJůľšţH¶ŹRA‡±Â(ŢRă°x͡–"ߢӪ T4zô©şˇ%K–���€`čŐ«§Mp’|đAI˙ˇ˘˘Ň&Nśh·Ür{h‚l®�T yä“ő×_ßN<ńʶí¶ă’şü´iďŮŤ7Ţd3f|i@®Q( ���ůُ¸ŘşwďfAôóĎ‹mőęŐ–I]»6tš>}Ú6ˇÚв<´Ô­9î-uk–Őkëcz‹EťöŻKthqN7µ>B‘%/A–dĂ,ţP‹·Ä[W¦ăýúő?N7RUUm����ZWii©Mp˘]wÝ?l‹-F[IIIŇ×Őe7Ţxc;ę¨_¸_Qh’¬®®Î�äMţď±Çvćۂ ě§ź~2 ©âX>(**˛ÓN;Ĺ.Ľđ|[wÝu“ľ^˙ţëŘţűď窬éď5-ż‘KV®¤ ��@>éŇĄKč˙6…DĹĹ%ŻĘ˘ďQeÁ‚ďî´†°Č*kD‰T1‹ ÄʆdµCN:Z ĄCAÔńŁU���“şuëf7Ţx˝Ť»•ĄB–Nř»ťN`?ţřŁČ}m´‘=ńÄ#nâ\Tąé¤“N± 8p€Ť1Â>ýô3űî»ď ČG*u}ĺ•—Ű1[ZKÚGfëŻ?ŘÎ;ď[±b…���@6µoß>ô]bP˘Ťé±é1°ťz¬\F:[µXŢÍ–†WĽ����1lŘP»óÎŰlťuÖitž&'OžbŻľúšÍ›7ßľ˙ţ{·ľoßľ6`@Űi§m·Ývµ~ýúE\oôčÍíńDZßýîxűꫯ @ëxä‘Ýöč÷ţűÓíđĂaÍQP`á‹lłÍ6îtmm­ÉŢ{ďi˙řÇß]iâU«VŮ„ §ÚK/˝l@>Ѷ/ÄňÎ;ďş1˙á‡٢E Ýş^˝zŰf›mj;ďĽSŁŔŞnC·uúégn{���r٬Y3,›† nąD˙ŻéŘ1řŐ2ő«««łő˙ĄTr(µŮś'LkˇXÇ“i-ÝN(ú°ČÖ¶*ň-:ÝY‡ŁGŹ™Ş^˛d©���Čľş‰nUWđSŰkŻ˝ÁžxâÉ&˙٦˙x|đ®˝.~óçgxýüóĎ– µ?řŕiÖş˙Ź?ţÄ‚čý÷ß±®]»†O˙ůĎçÚcŹ=n@şÄű⬹_p©zĂ»ďľĺŞ7y:čPű裏-]bmçÇ˙G{ůĺW’˝ ›8ńqW=ĆÚQĺ©=÷Ü#|úńÇź°łÎ:Çж¨MV.;ýôSCăú°usć̱«®şÚXŮtÓQvŢyç4jEôĐCŹ„ţî_g™6`Ŕ�Űe—ťmë­Çşl·n]]čLźfĚřŇg_ýŤŚ÷ˇĎE )@ěyŕí†ţimÍÂ…‹ �� dI¬S§NV^ŢÎrAee•-_ľÜ2ˇk×.îpúôiۄԧ}ŮšĂZßRç[§Ăú‡ÍmEäľÄ;nI¬ŹĚ&Q����rJYY™ÝtÓ ŤB,/Ľđ˘íľű^ö裏%ők]ć‘GłÝvŰËUońëßwj9 w(ŕ¦/Ý´<ü𬮮ÎŢ~űÝËl·Ý¶4‹ýuš Oä—áÇ١‡±N­ăŽűC“!ŃeŽ=ö÷î:~‡v 6Ě2Ą´´Ôp|đßöÇ?ţŢUéÓ§·[Ż6I Ö¨ÂŰW\f÷Ýw· Ü����ČOú±L®„XDŹUŹMkŤW‰V@���@žůĂŽ·‘#7ŚXwçťwŮI'ťb•Ö\ę{ ě®»î‰Xݶ'ź|’ČţvD[l1Úľůć#.łí¶ă,h.ąä2›6í=«¬¬´©Sß¶Ë.»Ň€|rŇI'F|ŞJ,çśsž­X±"éŰĐeuťożý6ĽN·yŇI'X&(¬ň׿^íŞČř[”Ĺ3hĐ »ţúkĂű����ůĄ]»2Ë5ąř­2Ĺ����)čŮł§ü±ë^|q˛kKP_߼–Şj'tĚ1Gۡ‡ěZ€śsÎů6`@÷ËjŹîëᇱyóć[şL™ňrčöć5yąüÉ�ĦĘ+^h%ş O´7ß|3â´&™Ű·/oQđ-SćÎťkGy”ůhŕŔ.ę§żŰÍ ±xt]÷ć›o ŻŰj«1¶îşíŰoçZ:wܱî¶ýTĺiĆŚ¶`Á÷®"ËСD´.SřĺŇK/±C9ĚőŁ���rM®µúɦ˛˛–Wc™:µá»‰~XhűŰßýč&Ú–[nú®ňlW5Z¶Ůf;k =ć }˙TŮ ˛¤3ˇSµ����hE&śš€n>ýý÷ßŰgüąY!µ7P@eżýöµââ†˙¦Ś?ŢMNé¶&Ožd}úôqë5!Ą 0^x‰ĄËC=ě‚3H˝‡zď´ íUy%Ń8p ;­–aúBčő×ß44ćUžH¦E[şh_»jŐ*C~Úa‡"NżóλIµŠç˙űĐŢ}wZDČdűí·ł˙ű?–.Ú:č€uóçggťőgűúëoÂë´?ůŐŻ~iż˙ýńáu=zt·=÷ÜĂžzj˘ĺ"Uą)((Čę>����:ýˇ¤$ő¸Z•^}őUv饗ąçŲőÖcÝeôĺTé1ë±gáó}¦rş­ćýz±r­"KA’ë����d*(rČAë®˝öz×(š¸V(e§ťvt4~Ź?ţ„;\ąrĄ]wÝ vĺ•—‡Ď;đŔíŞ«ţ_Ň÷“n=zô°É“ź·.]:‡×ýç?Ú\qąňňňĐ€źłuÖY'ĽîŃGłłĎ>Ď?úč_ŮĹ_>ďóĎż°}÷=ŔýR^-”¶Űn;ëŢ˝›-\¸Č>účc»÷ŢűÜDaŞĘĘĘBz»Űěo˛Ţ˝{»×rÁ‚6uę;®âͬYłc^7ú1żőÖTűőŻŹqUsô^Ž1Ü=ďÝwß+â64 ·űî»…îs?5jWÉGżŚ˙î»ďěí·ßuŻßŚ_ÚýŇéż82|zܸq ˛ÜxăőnâŰŁ}ŇYgťÓäő4ľŐVEű·víÚ…ĆřWćî»ďs­[˘ 6Ô&Mz&|Z_d 6ŇmK§ź~ZčvF[×®]]xďÖ†ôĺ™¶§]wÝĹ6Ţx#WBÂE‹öĎ<ó\h?5%f¨0úą]sÍuvË-·Ú±ÇţÖ;ěPWIcÉ’%6v춡}üÁö˙ţßU×ß{ďýânŻjWó§?ť>­ÖLşíËŃUM^zéeK•ˇţŰ3fLZ,ýű÷wWüîĽó΋ÔÔÔ¸Ö„[l±ED¨NˇŮxFŽé¶§Í6ŰĚ}‰­Ď$?ýô“}ňɧöüó/¸żuM<xű»ŞPź*Ě)ä«qݶKúŰ=qâÓî—žŃÖ_ýĐëtoř´B Űn;Ţ6Ř` ăhźŇĄK—Đvř7{â‰'Ł®;Ř…€uźú[®×géŇe6sćL{ĺ•WÝcoN mذa®2Ţć›of:t°üŃŢ{ďýĐľçAűć›o ���…ŘS±téR÷Y[ô˝ŐE]`«WŻnôc·í¶ŰÖ}/éżż–TłôÓme8Č’óą Z ���h±ťvÚ)˘‹‚Ź?ţdÂëč{íµ§«Ŕ˘É×X4 uĎ=k'u}ôq;ĺ” nbH Ůa‡íC“ż/XkĐäÖ_˙úw»üňKĂë?ü0»ďľGLîžxâ#B,?˙üł ŕ$˘Éë˙üç~ëÜymHF%Kµěµ×vÇ˙˛«Żţk‹«ťč5żńĆ\Ë&?M¸wďŢÝ6Úh#;î¸ßŮí·ßéžc2˙©>ě°Cě˙ţďʸç+řsà ׆&ł·ŠXŻĘ-C‡u‹~=ß}÷ŰWüźűŇ�ůďż˙}+"Ȣ/†rÝÎ;ďd·Ürc¸‚Šh˘Y‹öţóąöěłĎ5y;n8Âzč7‘˦›Ž mS×…Ëű©ĘŤ–}öŮŰUÉ8ńÄ 1'ĎŁ]}ő•vĐA6Z?iŇ$»ä’ #öő ÁÄ ˛ě»ďާ5‘N%xĽ*gžTޱx4ŢüúőëkéT\\Ôh]aaQÜË_|ń%ˇ/Ą»†OLJú;¤ŕ¨¶Ďhýúős‹‚šÓ§úRűâĐß˙źcކ>Łzč!ŤBąú[ľńĆ»ĺWż:*´ÝţÓ}¦iŠÚ#ÝrËMŰ]ô}Np’qDăÇ­ę3=zŚuż=úč_Ű…^䂲MQćÚk݉řr^Ď_A˝_|©˝ţú���EŞA–›oľŐÎ9çĎáÓúżü_ţr‰;î…YĆŹß>ôýß_Ý×]wÝm©ĐíUUUâ+4����hˇm¶qzňä—6ß|s{éĄěşë®‰b•ţ÷OĽę6§Ly9ęľ·±ÖôŕŮ|>­˙ěžţąáÓšHV ÄďŠ+®rUâéÔ©“{mü!–hşÍNřµ„~aýČ#6 ±Ä˘ Ńő×˙ŁÉËuíÚ%49fÜóUµć‰'mb‰¦É?M¸©L+ÚU8đď/âęŐ«§ĺŞž={ą0?Äâ§°¶oUjiĘyçť7Ģ* ÷ßOĚK´Í6ŰÔî¸ăÖ&żÜ3f‹!QßîI“žŹXçŻćýŘTaĆď‘G3Oô¶¦J>©Z¸paÔ}ô˛tRuŁčę"޶É&›ÄĽĽB'łgĎ/?üđCŁËčW•±B,Ńň¸á†ëcn—gź}–«db‰¦*Jgśń'xkĘ)§ś7Ä"W\qYĚK4í'^<xPÂËéoůUW]w_ˇý—~ťŞŞ/���@PÄű˙w˛ôýŁ*Kű+™ę6/»ěRWUX¤őŮ;ús˛~d¦Ş…©Hő±·ůR‘…öB���@+1bDÄéW_}-îeő´kŻý{“! ýçńŽ;îj´^·­ŞU,H—>¨ÉÉĺ×^{ÝŢyç]ó?Nµš8ń‰đ>·Ývśk« §ž:!˘o®Ú¨<ůäÄ„÷á˝6oĽń¦kǰlŮ2�ůýďŹsíz<&śşßglîÜą–,MýăŹxLŞ|˘VGďż˙uëÖ54)v¸ ˛~ř|MVyä.´ŹÚ1Č’%Kíĺ—_¶üɵAYą˛ˇíÓĺ—_1á®Ň«·Ür›M›öž{,ú•÷Ż}TxđŔ÷·)S¦´ZµdŹÚ_|úég®m†h ( ¦öąhüříܡÚp(xWXXŕ¶!ďů‰žŁŞí¶Űž1[ţö'ăĆmă*Siż§vĺĺímŢĽ†íý‚ ΋ŕVëŹëŻ˙§ýďąjUj5äŃiŐăxúégâ>öí·oxěß|3Çíô«0M\{{ě ×bČŁ°ĘŕÁµtŮwß}"N{-U<ńĆ_*TŠ;Rzż®Ó¸TE#čJa™Űn»ŮfÎüĘýťť>}şk”Ě/ŐŃű˘×äÉ'źr-yÔúnÔ¨Qö›ßü:ÜÎhđŕAöÇ?ţÁţţ÷kÂ×QĄ•čq?eĘKîqŞ- Ş1üq®]—Gá›čRĺ~ző™Dű€©Sßvë۵+wA9ôĐÝŻBýÔ¶LűNíW7٤á1yźMôůAÓN÷>÷Ţ{/w¨Ę-ź}öą«ę˘ý˙3B<jťtűíw���é<ôĐĂîđ´ÓN ŻóÚ é˙ކčwçť˙rKŞ2dŃĆŇ˙źľ,k­ Ks˙'KP��� ˙ÄŚĚ›7/îeŐć jhröüó/r˙1ĽňĘË"&’tŢĚ™3]?:´ˇŠ'颖=MQ¨Äd‘/ľa˙ú×Ý®z‰G˙ń˝ŕ‚‹l˙ý÷ ŻÓ„Ú…^bÉx饗Ce'…[é>Őňá_˙ş=|M,éöoĽń&K–.?pŕ€u§śrş˝đ‹áÓú5ÉÜ1ń®öHúO}˘IOU¦9î¸?¸0‹ßŕÁB“c{†OkRî—ż<Ú>ýôÓđ:Uĺřî»ď"Jąj˘ KŰ öBţń¶í¶ąd‘řOĶ®]jŐ±Ď>{…× <ȶŘb´ ĽÄłxńb;ꨣµďQFżÓD˝Bgë­·žť|ň©6kÖěđeSĹ+µńŚ;&aEîż˙űË_.ŹYUKaíýű]µ»é¦[".§ýĽźZ¨d"0Ô)t¸îşkQ „(x”Šž=#«Ľ,]şÄŇM­yÖ_}×^ËO­x´üö·żqkhyíµ7ÜßTýýަĎŞćwÍ5˙hűóŃG»żo·ÝvK8¤sŔűą ‡w›+W®pA˛őÖ[×mŹ_}5+"č˘J0z­oľůźáuë®»® ŠÄjSäŃßÓ N mŰł=î_˙úWë>űě3;é¤SÂá…hôŮAŐf<›m¶™ 4ČăâQYő{ď˝/|ZŻóťwŢjS¸– ��@öÍš5òiČá– ô’tđÂ,§žzrř‡V±‚&ŞÄ’Ž‹¤ë±·PK˛Y˙Ď=­…����´÷+eŹ~}ĎńÇŻ­pŢyÚ÷ßď }řiâ7«!éÔ©ŁÁő×ßŕž‡G“<wÝugÄxo¸áƤ'˙ú×kÂ!Ot5Ů}÷]­94ůć§_yűC,RYYiW_ý×uަŇTµšłĎ>ŻQĄá>÷Ź8ýüó/D„X<wß}oh2peř´&ásąĹ ’§ ‹ź?Ô–k4±}ŐU˙/bť¶ĺK/˝ĚM¬ű©Q"×\s]Ł‹(ňÄOŮßţvŤ«®°÷ŢűE„X<Ú–ýzôča‰¨ĺJĽ‹wżŞĘâ·çž»GśV•,UźđčąG_ÁÝfGm¨Rµůć‘·1gNjÁX*+«\ŔC•˝–/_ó2*ű=věXW…äÉ'sUż˘«Ĺ¨ŐžżMŽZ+ĹŻŞĄp˙¶UyÍŁŞD˙ůĎö˙÷˙BŰäI!Ouuăę0ÝşułDn»íöF!–XŹ[n¸á¦FhTUFűW- §\tŃ%öóĎń3 "űC,˘Î3Ď<±®wďô¶‹���RŃT{ĎćPĺşënűcŚt†X$ťŹ=_ĺKk!����¦–;^ šhţ˙¸©ňHt`#č***ÝDő­·Ţ^çoź¤Éhýg7j«ŤĽţú.$ë>’1bDäŻiâµŇ„ťB%j!ŕ>|XÄDžź&ĆbM¤ÇşĎýöŰ7Fë‰ţű“aÆ…&4ä7U%Ń6¤–8ҧO†=űkË5ÚwUTT4Z˙ÓO?Ůôé4kűM¶ŹŞ3©2Ël`ýúőµţýű»Jj-âo»ó¨˝XĽ‹çńÇźřuÚFmäŞ<ÍťŰP‰+ş‹ÚĽ(°`Ňx3fËđé]vŮ9ĺjH;ďĽsÄé>řźe‚ÚâÝsĎ˝®íť×ŇoôčŃŤŞŽ‰Úęśxâ 6tčP»řâKĂ_Jo°ÁË©"Í_ţrIĚűóo»˘mNíbéŮł‡«d˘mQˇU_ń_<‰·É˙ý/öký¸ő÷úŁŹ>ŠyŮ3Ďüł%Kćb‰ŢűŰ���ůFßËé˙ Ń!­‹ţ1�2/‚,Ä‘���€€Z±b…•••…OkŇ&Ö/¤Ź;îŘÓj'tÁ[QQˇ]vŮĄáőwÜ»‹ôéů äĺËWXşüíĺ—_±–š2ĺĺ¸ç©âŚ&Ý’‘¨˘Mô„p—.]\źŢdn[Oť;wŽXçŻ"ă§Éě ľŹ,S¸ ý:>žX׋žěާ©_«#?¨R‰Â,ăÇŻ­Ä˛ÝvŰćdeţüďâž§¶<ţÉpMš'RUU™đ|Ue8ćŁmŹ=vw"RŐÔý‰žßŰożcŰlłuxťîß ęůŰ'É#Ź<j®×_Ý&L81|Za Ueůß˙>´–Pë0F_ôŞšX&UWW»żÝŢßďîÝ»»¶]ăÇoo;î¸CD/{UARxGmw$Ö6¸ë®»X2şvíqş}űö®}ßÁ3LÓUUŐ1×G?n}n®âÖ«V­jÖz��� b…NZJáţK/˝8ćAtçťwŽű˙÷O<ié€6ĽĎ`P‘���@‹}űíÜ–lTťCU9¶ß~Űuš`zóÍW#ÖÍ™3Ç^xarÜűŇŻšý41Ń-–üFŚáŞ1$Ă?éÖřĽÔ'«[ŞĄ_ ¤ňe‚? …üöÖ[oEYTaáŢ{ď·\“¨żu¬_sµÔoű;˙üscn_ ˘Í1#ôXŠUDJ‡Ç{<"Ȣ‰YTqËżŹ^˛d‰Mžü’!¸TIG•üŐBÎ=÷l;öŘß»jstęÔÉ]×ďý÷§Ű7ß|c٤ a“'Oq‹%×_­őíŰ7|ţňť­*!yjQE¶u×ó˛‹/¶O>ů4ŤmÓř˝��@[4dHú˙—ęęę­¨(őĎČú‘ĆE]bńăŢ:ýüĚ3˙ä~Ý‚ł%ôŘ‘X¦,üď ���Čc_|ń…« ŕQ@%şeŤŞ±4hP(ĺôÓĎLŘÚB·í÷ůç_XPśuÖqĎűóźĎ°)S¦$¬¶âéßťĐŔ‹bľŃ“dK—.MşŇKeeĄ«”ŁÉƵ÷»µ‰î_-JüZZ>ő‡Ú&›¬=ý÷ż˙ĂnşéüÔ‚ĆOA‰d« IĽmJ ¬Ň rĹ-ˇ°ţ}Ş^ż'ź|ʵq™7oľ{Ý.ąä˘ŚYžţEwŰ^xO<Tńi§ťvڏÜSOMt_î!ŘnĽńfŰrË-Â_Ěj|]}őUvöŮç&fŃß]Ç˙7J_řŢ|ó­–nÇ÷;×"ČŁŠ/Ď=7)ćeÔyě±'줓NŻ4hPřxô6¨PĎ©§žnÍuňÉ'E<w˝n?ü¨M›6Íy–,Yj]»v±I“R˙˘[-Šü,ˇjuz˙ŇQ•���Č5úţLŐžSˇęŤ^x~DE?>ůŰß®q˙ŻŐ˙Á˝ót®Ę,Mµ÷Íúr"c‰śÔŢŮř°����mŔÔ©oGśŢm·]\ÂÓŻ_?Űoż}â^_żR>ĺ”Óm—]ö°?ü(îĺt›»îşsÄş·ŢšjA ‰Ü_ţňČđi…7ĽV˘Iľ‹/ľ0©ŰęСm»í6ŤÖkŇz÷ÝwŤX§j8Íü‰žxö¨ý‰‡ß_̰–9sfÄič đh|-Z´vRYăo*Gl˝őذ§WŻž6zôćëZZQJŰ­űÁŘ1Çúí©Đ¤ůśpř'Q•¨T(÷ÜsχOëË;=·wqąGyĚ|_~ůeŁPz?ďĽóv×*¨)Ú§ßqÇmŤöí W}öŮg–n={ötmĽE{c•ýö¬łNżÓţv=_ŮľLÁŻDUŃ≮´˘¶‰·ß~‡kѤ‹D˙MMĹW_}qZmŤâýmUĄűî»Ç…Ď~ý룶 ���rQŞa…XôyŮ˙˙l…ÄŻĽň˙\PE•W®şęęŕ¸W™E×MEžY<Ɇd*Č���  xĺ•W­˘˘"|Z%ü=ôŕđiµŔ51¤–ż˙ý vŔ»2˙Mýçí°ĂŤ€Ń}ľţúÖÚôÝ+®¸,b"íÖ[o·›nşŮ–-[^·çž{4 âÄsîąç4š ×ëč˙şL™ňrÄéčV%Ń­yžzęéÓ ¬ěµ×ëTYáěłĎŠX7ţwöŢ{ď[KLśyźŞŞŁűŤ6xđ Đ}ĽmŹ?ţHčË‚ËíčŁń%ň›ĆîŰoG†â¶ŰnśĺMV_xáyŐR´o¸řâ‹\ŕĂ/zűM–*;řiűŚŢöŐę$^P-}42¤˘öB›n:*|úÓO? TĹ,$vĂ 7şj$~Ş0róÍ˙t­yÔŽgđŕAn|kŃq­»á†ëBëţłĄÎvŰmúű˛§ĄŰG}qzČ!îKçčíBŰÝ~űíë?«ŁiÓŢs­<ť;wv{˘iŰ˝÷Ţ»íß˙ľĎţň—KÜezőęľźčĘ‚ ÝĆŢ{ďeé˘ĘKŃUY&L8)ô÷»]Ä:}FŤÚÄ6Ř`+“~â‰'¸żń���@>Iµč)§LhÔNHÁë Xa]G×MUL›–éÖB����ňXEEĄ+ÝŻ_úzN=őäĐňžł•+WÚě^Ż˙ )Ř j%_~93éűĐ$QôU}Ŕ I•~Ő­Iź¦Üyç]•Ž=ö·í;Ô>čÁ˛ęęj÷<˙ô§ÓÂç]zéĹ6uę;îuIdذˇ6iŇÓöřăOş0Ě1c…`tű'NŚX·re…uëÖ-|úż8"´n…{­5©¬×ţŹü˝ ¸¶Ĺɵ×^cŰo˙„«ęеk7;üđCmýőGÜ®ZEO”'K÷­VS^[(ýG˙®»î°ýënWÍG&UŢřýďŹuŹ]‹&Äśą÷Ţű mÇ˙űVĤó¶ŰŽsěé”Ěv®€ÜË/żb-uČ!‡&Ž7°É“§¸@‹Âb#GŽŚ¸Ě¬Yłmúô¬%˘'Éő 0m·/Ľđ˘«6±ĹŁí‚ Îk4±źN "ŞúË AëąÓŃ“˙TcÉ-Úźţ…vůĺi43fK·4—öő‡2iŇó–./ľ89ô÷âx×NÇŁm@cfĚa?ţř“µk×Î?{ôčŢčúţę3úú´ N Ż;ţřăl˝őÖł—^zٵď8p yäá.0#úű¨Žţ>{·ˇE˝{Ż}<ţó™ö÷ż_㪦őěŮĂöß;ćŁ-]tź÷Ţ{źťqĆźÂëô9äž{îvçő¸µĎ‰®†§}Ž?Č���äTĂ ŞúčńÚ ůC,oťżÍ˙ş-AĄiA˛Đ˘���¸ţó¦ĐäíA®Ľ˝¨rĘ5×üŐN8a‚˝ńĆ›6nÜ8{ꩉv÷Ý÷¸¶;͡˙^sÍß"&­V­Ze·Ţz›ĄS˛Ő ôW/Č2`@˙F›üăZ2…5&Q{%Qµš3Ď<Ý.˝ôň¸·Ż ĚŹ?.r“P'ťtBÜË]ý?CŹc^Ä:µfŇcňŚąˇ{í{ěńĐÄÚą.řsúég„&îîłŇŇRwUË9âĂÜËóĎżŕ‚9©Đ}?ýô“á÷P•bN8án‰EŹóüó/2´-oĽńßÓjo˘ö8+V¬°tIf;Wx¬ĄA–×_Ó¶ÚjKĆňW(ńÓ$ôąçžńK®ć<ů%תL“ő˘í骫®p‹ź?h’ ÚŻśqĆéŤÖ7„ěž6ämggśq– u~řa ŰőĢń¬ÚěxŐ´2fQë¬ .¸(ô7đŐET5eăŤ7Nx]ý=ÓgżřŹ ęř<»ďľ›[âůë_˙±_Rhí¨Ł~>­0ŮD1UůEŰjşZ =účăˇ}ÍVmŤRŤ÷ąAÚ«Żţ���äókjV‡ţOZäAu}צĎ÷ńč;AýźWߦbY”ÖBĘb´ě×kY@k!����)ŃönżýÎuj5qŢyç¸øqۇ&PţÚ˘ËůçźŰ¨Ém·ÝáÚi´6µđO¤)HâŻDPYYéJŹúýęWGĹťŕýă´Óΰź~ú)îeÔşHK´›oľĹÝg´Í6Ű,|\- ;ěH›7oľ5EeN9ĺtK•žËAęŞ84EŹëżř•}őŐW†¶ĺűďż·ŮłżźÖdřV[Ť±\2{ölWŮ"Ţ—QUUU6a©Im ń,^Ľ8´_='á^S¦Ľd·Ür«e’*RÄ ăčKżĄK—rŹĆÔu×Ý`Çó;{çťw’şŽ~±¨¶DÇ÷Đşä’żDŚM/Ě’Î6Cź|ň‰ťxâűüóĎ“şĽľhľë®{ě˛Ë®hT]L§Ď:ël{ňɧšĽťĘĘŞĐßýËmҤ"ÖßyçżÜcJt˙zm–/_nétŢyŘĂ?ŇäĺćĎźz˝Nvb���»fÍš‘Ő%—TWWYKmłÍvnŮoż†X<şŚ.ë]ŻĄRyĚm ­…����¤ě–[nsĺöőKdĎoűW!äO:«Ům€ô«eU‰±L›öž«�ÓÚöÝwŰa‡ńáÓš Ó^ô$ŮłĎNrżÔö~í­I˝+ŻĽÜöß˙ ¸Ńj;˛ß~Ů)§śä*HtďŢÝUjQPćž{îumwbQű C9ÜU:Q�@żŃÄąÂ-ŞĽ˘_˛Ë'ź|j{ě±·íąçîvŔűŰŕÁ\[˝Gj[˘öGšűę«Y–.?ü𠨨]ĚÁhn¸ˇőíŰÇýŠ^óź~ú™kĺ ÉqJ«¶]j/äomĄń’J›źÖđä“Ý„ń‰'ţŃFŹmíÚ•ąŕÝ›oľi˙ú×=­ÉZJű•/żüʵ6Űf›­CŰo/·}ĎńĄŰ†TEé ´LRđHď—ż"„ĐV(÷Íśů• TöďßßµâŇßUZëŐ«§ -^Ľ$4ĆżuÁČ×^{ÝćĚ™ľ®BTrÉ%e´2Ë_ĚŤ˙ßŰÖ[ʵqă¶qŃîÝ{XçÎťÜß%K–şÇřÎ;ďşż-‹-Š{[şĽÂ¶ÚvöŮgďĐv»Yčąörˇ>™3ç[{÷Ýwí‰'žt·M—?ţń¤Đ6w@č3Ë®n¦«Ş°č3‹Úä鱤›¶ůüă:{ę©§Cź)öuU¬zőęzÜ\e©™3Zű=÷Üó®’���ŻÔfWźßs‰3š–lëž‚$Ď+Hâ° Îio)ôzKŃšuEQ‹Îë¬ĂŃŁÇĽĄŚőźJ����™×­[·ĐDĎ#6pŕŔő 1\ýŤˇ ÎG›,›© /…+Î:ëŚvB˘É`UöHT­$×}ôŻ\›Źžăřń;Dń~•5dČđç7µ>š*9ÝzëÚ š&b÷Üs_C0]}ő•v衇„O÷Ýw¶Ă»´¸mR®R‘´-űĂ,˘qqá…ç\8 ůMAa��€\í*)ńţßTť:u˛ňňv– †OwĹFO×®]ÜáôéÓĆ…ôźóekkŁ–ú5‡uľĄŢw˝XśÓ‰ŁŹGk˛ĄY����¤…*kü öŻÝf묳Nx˝~É}ű N°É“_rżž7ož-Xđ˝;ż_żľ6`Ŕ�W}d·Ýv±ľ}ű6şm<~÷»ăó*Ä ŇÔ©o»*Ş $C‡uűU˙@°(t¨Š3~Ź>úx› ± ¶x•YN;í‚,����ŇNU†s%ČŇÜŞŐmA����iŁ űď°Ýxăőáv:ž~ýúą $Zšcúôě„&ŘŹ?ţh�ň×Ę•+íŁŹ>v-2<Æm@% ´OßrË-]hQmßüm Ôşäţc€'VEż<���Đ|ąV!%ŰTzĹŠ•®Őfé16U­kd���Všä<ćcíä“O˛ăŹ?ÖJJJ¬%41zűíwŘ 7Üd555 u˝˙ţtŰb‹Č*ď˝÷~Ěó“Y‹ZŤ1Â>üđC{ĺ•Wí­·Ţ6Ă/y¤í»ď>1Ď»ůć[mŃ"†¤0KuuµťvÚ©¶zuŤ]~ůU����™ J'eeeˇď!¨©YM5–f*HĂĺ bOtXç´·ú˝ĄhÍş˘¨EçuÖáčŃcŢŇ .Y˛Ô����ĂŔíŹ<Ţößkßľ<©ëč?uO=5Ńnąĺ6›7oľĺ3U§ąřâ çŐBiüřť �‚D5Ţ{ďmëÜąsŁóžzęi;묳ŰěŻĘz÷îe�rÓÂ…‹ ���ůC­Š»wďfAôóĎ‹];ĺLęÚµ‹;ś>}Ú¸Đz˙.[sXµÔŻ9¬ó-őľĂčĹâśNt}<Z˘ó*˛����ČąsçÚůç_dW\ń¶ÓN;ŘÖ[ʵ‘#GÚŔ¢˖- ]nž}öŮg6uęŰöꫯYEEĄ�‚ˇoß>6{ö×6hĐzÖ©S'·ßţřăO졇±çźÁ�����hm Š,[¶<ôťc' =¦L‡XňY������€ " »¨Č��źTşcÇŽ+V¬ČÚöň­"Kˇ������h¶úú&ż{@l»���ůKÁHZ[6C,ů ������еµu ÷°í��ä7HÔҧµčľ ±¤¦Ř�������4[míj+..2�ąEŰ.���ň[UU•­^˝Ú:uęd%%ىEÔÔ¬¶ĺË—»űEj¨Č������´@MMŤČ=l»���m%‹/¶+VZ¦é>t_„XŇŠ,������@ TWݞŽ @ŽŃ¶ ��€¶Ł˘˘"ô°ÚÚ·ooĺĺí,ť*+«Üí×ÖÖ҇ ������Đú˘rŐŞ+--1�ąAŰ,“ ���mŹ>ŞíĎĘ•+­]»2++k×â–Cj!T]]eUUŐVWWgH?‚,������@ éW}Y€Üˇm���m—‚'•n)**˛’’·č¸–ÂÂ+((p—­ŻŻ]ľŢ…`´¨EĄ‚Ń™G������hˇĘĘJ+//·ââ"l«W׺m���/ RUUe–B������Đb*M řŘV��€Ü@������HZ•TVň > Č´ŤŇV���Č Y������€-_ľÜV­Ş1�ÁŁmSŰ(���€Ü@������HM”Ż^]k�‚CŰ$!��� ·d������Ň ¶¶Ö–.]Je ´-j›Ô¶ ��� wd������ŇDćK–,±ĘĘ*Đz´ j[$Ä���äžb������Vje˛jŐ*ëС€ěP+ˇ•+WZuuµ���ČMY������€ ĐDş–ňňr+++łŇŇj#¤í­˛˛Ň����ä6‚,������@ib]KQQ‘•••ZIIIčxqh)´‚‚Đ<őőőV[[ZV[MŤ,«h!���ä‚,������@h˘˝˘BŐ"¨����@<…�������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������A������������B±���hS ­¨¨ČŠ‹‹Ýń†ĄŔ CK���ŮV__Zꬮ®>´ÔąeőęŐV[[ëŽ���h;˛����m@IIÉšEá•"���‚Dę‚‚˘ĐgŐĆçŐŐŐZMÍęĐRă����ůŤ ���§\)--u ���«Ä.+ÓRćNŻZµĘ-„Z���€üD���Č3íÚµ }É_Jĺ���ä%/¬­J-ŐŐ«¬ŞŞĘ����ä‚,���@ž(//wżRUYv��� ß)¸­ĎŔ rWWW[eeĄ���Č}Y���€§_ٶo_n…���´5 r{U +**]Ű!����ą‹ ���ŁŠŠ~ZRRb���@[§`w‡\Đ[ŐYjkk ���@î!Č���ä µjßľ˝���¤ ·–ŠŠ ×r���@n!Č���äXd���ź>7«Šˇ-����rA��� G6”J/.ćc<��� ŔfYąrĄŐŐŐ���€ŕ+4����§/ß;uęH���h&}†Ögi}¦���|Y���€€óB,……|ń���´„>Kf���rA��� ŔĽKAÝ��€Tč35a��� řř6���¨ÂÂBëر!��� MôŮZź±őY���@0ńi���¨:ĐN���H3}ĆÖgm����ÁD��� öíŰ[qq±���H?}ÖÖgn����ÁC���˛˛2·����Č>w���ÁD���˘˘"~ ���d‰>{ë38���€ŕ Č���Hyyą���Č>���ÁB���ŇŇR+))1����ŮŁĎŕú,��� ˛����Ńľ=ż���ZźĹ��€ŕ Č���€Ę™đń���h ú,N‹!��� ř¦���€˛˛2���ĐzřL���A��� •µk×Î ���@ëŃgr}6���ĐşŠ ���@«*++µl[wÝumÇw°­·ŢĘz÷îm}úôvëřaˇ-\¸ĐŢ~ű]{őŐWíŰoç���ĐVčłyUU•���h=Éţěł Éó ’8,sÚ[ }‡ŢR´f]QÔ˘ó:ëpôč1oé—,Yj���@®())±Ž;Z¶ 2Ä&L8Á¶ß~»¤.˙î»Óěúë˙i_|1Ă���€¶`ĹŠVSSc���@®čÚµ‹;ś>}Ú¸ĐA]hY¶ć°6j©_sXç[ę}‡Ń‹Ĺ9ťč0úx´Dç9´���ZQiivޱŮ™gţÉ|đţ¤C,˛ŐVcěŢ{ď˛3Î8ÝÝ���ď˛ő���@lY���€V”Ť/É;uęd7Üp­yäáVPlQƵ íż8Â݆n ���ČgY���€ÖUl����Z…Ú ešŞ¨\}ő•®˛J´·ß~Ç&O~Éţ÷żmáÂ…n]ďŢ˝móÍ7µ]wÝŶŢzlÄĺuş­“O>Íjkk �4a;hĐzÖĄK·˙ńÇźlŢĽyVWWg�ĐVéł:í…���€ÖA���h%ٲś~ú©ŤB,ß|3Ç.żüJ`‰6gη<ůäDŰlłMí ϳőÖ[/|ľnë´ÓN±ż˙ý–m;v´ 7ar“­ĺĺí¬şz•-_ľ"ôśľ±/ľřÂ~ţy±a­>ČÖ]w -^ĽŘîąç>˦>}ú¸J>žgź}ÎfÎüĘ:UV<x° >Ô˝ÎÚ6´®ŞŞĘ-ZÚ†żµĎ>ű<´}T‚§¸¸xÍľl°őěŮĂ:tčŕÂ#+V¬´ďľűÎfĚasçÎłlŃcŮi§#Şh,ÝvŰ�mA��� őd���ZIIIf?ŽŹ1Ü?üĐuď˝÷ľťyć١ ÓM^_A—cŽ9Îţú×˙ł-·Ü"Ľţ#łgžy64ŮúĄeË1[Úر[ą `żňňr·ôîÝË=Ć?üČŢxăMŞ€&Ç#OoH% 4Öwß}7ëŮłgŁóĐ2hĐ 7n›:őm›>ýCp <ČvŮeg>ňSő¬îÝKCK7ŰxăŤ\ đ…&[EE…eŇ€ýÝxňÚέZµĘ- <zűŃŁŽú…őęŐËľűn=üđ#�mE¦?«���ŹOă���@+(,, -E–I§ś2ÁÝŹG“ɆX<Ë—/·łÎ:ÇîľűŽpeݦnű¤“N±lŘvŰq.Č"šXŐóPŐU›hßľ˝őéÓŰU6ĐăÚ|óÍÜDţsĎM2´˝ÇsÇ5ů˝Î:ý\Ű’öíËC󕆖<xí»ď>.ô ÚćÍ›oK–,vŐ‰ŽP0ˇS§NîWäăÇooýúőłI“ž'Ü�ëŻ?8ôţíŢ÷˙ý÷®zÎĘ•+]5”nÝşÚСCÝqío=ôQu”L5jT8Ä2eĘKöÉ'ź� ö×úLĂßP��� ű˛����­Ŕ›Îµ“‰n)tůĺW6+ÄâQĺňËŻ˛Űoż%ĽNŐQÖ]w]űöŰo-“Tu ±,[¶Ěµ<úůçź]®sçÎn‚_Ő*† j_~ůĄ}őŐ,CëPEUĘ‘×^{ÝŽ8âP74bÄ*„´¶…}öŮ;ĽďPë ·ŢšÚh›V(Aa]wÝŮ"†Ý t™íÜű€ÖŁ÷mçťwrŰÁęŐ«mҤlÖ¬Ćű(˝O;í´“«h¤ę,[o=Ö^}ő5Ë”®]»¸ĂĄK—b€´˙&Č���d_ˇ���Čşč9é¶ăŽ;Fś~űíw\« –úŕ˙Ů;Qn‡¶·L9rm{šgźť3Ä" ą<óĚ3ቆ‘#74´ďő˙ůçĹöĂ?ŘĽyßE¬Góí¶Ű.áýĆ˙ű–˝řâäÁ´úúzäzüń']‹QĄ˘X­=ë­·n¸ťZ>Ĺ ±ČŞU56yň[Ľx±;ݢ+ÝĽj,+Wf¶…�äŞLf���źÄ��€Vŕoů“ [o˝UÄéÉ“_˛T©í„*±xtüľűţm™ÔµkWwXSSă‰,[¶Ü^yĺUk×®ťUTÄź”Ő/k7Úh¤k}ŁÉý’’b«ŞŞvm>>˙ü WÉEa€DÔŇhăŤ7r•GT5ˇ´´ÄµĚYĽxIčú_ąĘµµµ1Ż{ę©'»Éc…‹5j“ĐăŮȵQ;ýënĚńSĹ™M7ĺ*íč¸&Utµ•ůřăŹmáÂE– µ]Úb‹ŃîqwîÜÉ.\čBNjŮ”eee®Žx“ő:Ôc×ë­Ş9M=^˙k¤eťuÖ±-·ÜÂúőë몌(Ŕˇń Ç­ÖE™ľĎúëŻď‚şľÚ$ŐÔ¬v•,fÍšíÂ^^p$ÝÔ’¦Oź>îřś9slÚ´÷šĽŽĆłžłÚ ‰ĆĎK/˝ó˛˛#†»6D#»+V¬t-Ľ>üđC[´čÇ×SŐ§qă¶qÇŻżţźn\Ş‚’¶­Ž;¸p„¶)Ťso{иÓ{ 1¨űR‹°yóćąçď~˘«¶˝ľ}űZyy;÷üřăŹn»ýôÓO]$ŤżM6ŮÄŕî_4ćÎťkďż˙{?3ÁŰ—ÉÜąó^V<UféŐ«—;­×UU\bŃXT{ Ťo›ÖľA݇öC±Úť|ňIŤŞ‚©ý×i§­m÷ŮgźŮČ‘#^ćć›ouďźŢď˝öÚÓ­SŔJŐ‚˘éoŢ 'üÁíăôünąĺ¶Ű‹îs÷ÝwuÇź{îyĘňÓăÖ6¸ÁCÜëŁ1 ¶Zަ}¶ĺxű˙>Čí‡ćĎźoŹ<ňkw6zôćˇ1ŃŰýÝxńĹ)îyűi;ßlłM]ű:˝‡zjĄ1űŃGź¸í @~Ëôgv����±d���ZA¦żďŰ·OÄéTޱx4Qď§ ÔLó&o5ů©đH˘€Š|üń' ĎďÔ©“íż˙ľá bŹn[!-š |îąI.˰aĂÂm[üTmA‹&Č7ŮdcWŁ©Ç»ďľ{Ű!C^FA—wܡŃéÖ­›[t_zo^ýŤ„Mt|đ.hâŃąZŢ}wškU“*Mj{“ä^{'î´ÓŽî¸&Ş.LľUŠbŰÓĄK·č˝Hćą§z;zťöŰo[o˝ő"Ö—•ąIp-Ţ{ŻjP*6Üpm%›×_3éë}řáGá_’WV6ĎĂjć§÷Ż{÷RŇRčKˇŠ¦ö!Ú†Đu<ÚŢvQ�@Ű”îGŻŁ¶g˙őôú+đĚ3“löěŮ1o_ŹIďßđáĂ#Öë=čßżż[Jxć™çâ†ŢĆŤŰÚĆŚ®Bâń¶%dÔňgćĚŻ,ÝüAµóQ€,…2…Ë´?Đ~(:l˘÷[Ż©‚> Mšô|ÚBj–ŕ±*ś˘Ç¤pH¬ K˙ţë„ßw]nŔ€1ßëAƢnOˇ-?á4^ýˇ Q3-Úµżś8ńÂJDUŠvŘa|ÂË Đßµ¬SČĹOaB˝îZ´]hżAŰ d���ZA��� X&őěÔX´hˇĄ*zâµWŻŢ–i_ýŤ›ä–=÷ÜݵR€–ĐdäGnď1{ö×®zŠÂ&špWŰU¤Đëěo?ühŁŞ*š¤ÝkŻ=ÜD¸_|1#ôżv!ňňö6bÄ0†Ń„ë{ěfO<ńTÜÇŁűÓ„¨*¨’„Ş(h˘×8ĐÄĽWQCŐ Ôůá˝őî>žĐ®&e5‘úƱC ěłĎ^î2Ş|ˇ÷˛  aŇYŐ ô|8P…—ożýÖRáµŇóńŞ` ‰eUDQĐ%ى_UOP(kÉ’%öî»ďŮ÷ß/]ŻŢUŐĐăŐk ç^__—0ŕ‘ęíěĽóNáKC%†ŹÝm)¤÷[ŐN4®4é}˙ý˙Nű¤¶żüôÓOnI–ĆŻJ±č=?đŔ\• ŃóŃřúńÇźÜŘîÓ§·_šđ×ITµFa+Uay˙ýé®BŠŞť(ـȰaC](AcY‚zýTÉBA˝~z~……En›ąóλbVęP�F+Y´h‘«6˘ę)z|˛ˇC‡şíř °|Ř=?…¶ÚŞˇ˘”®§Ç©Ę@Ú+ôˇq }Ä{ě+Ą“Âz]őşo·Ý¶îuN%ô¤@‡^;Ѷ¦×T­ĽÚµ+sˇmןڗ=őÔÄ0ËţóyYžŁŽúĄ;TŐ«‡~$|íg˝đbĽËč´wŮůóżs!>…•ĽýŁ_tL­–˘,şžŞŇíů÷őÚľ9ä ÷~‹¶CíőÜŢŃőFŤÚŘ˝‡zmîľű޸’„Ń{ ë*ěĄJ@şoŻť“h»PđOăR!$UjQ‹´Ő«k¬{÷în›×xSµyőŐäĂy�rK¦?ł���Ť ���Đ "ȬzK·čÇ\…ďőgĚřŇM†+\˘‰Ęßţö7nűË/g6YŃ š&ă5Ş VU]nYˇI|U ŃĄŞ—čpúô".ٰ&<ëęj]H%şEns·Ývq­‚4q«vAń&ÄbŃŻůăM€j˛tŰmÇąăšpU+ µĎX{_3Ýă;ôĐ]CˇµqŃ$|¬űŇÄţý÷?ŕB%ţÇ«@‚˛é¦›¤dŃóU(@˘«ZhŇYA–†ŕÁŕpۡDtyMö+Täo‘˘ç˘ ’&šu™Í7ß<tű_Ʃ܎Â� ÂO>91b’^c@Żůn»íęZ»(DĐTëćĐőŞč(h”.zś «cĎ<ólDpKă@ďáŻ}” Bi{HdŃĿƗż-–ƧÂcÚžôúh»yôŃÇ#nGŰŔřńŰ…Ćďh÷<tŠ®¬¤}€bŃĺU!Ć˙hÜ6˵·QA™‰źŽ¸ /p ńŻ ‡čńĚ™ó­ýâG¸çŞPLĽ�PKéuŃmŞ%›¶Ç_ýęn¬iüöŰąÍ ?éőđB,zďž~ú™ë«"ĘÇęƵÂBzíď˝÷ţp0ÄżŹP(HŞćhÜÚiy—±5ŹăkdŃëŻ÷;şĺŽ‚+˘qĄ}ąwÚO×óŞźD‡\óB,Şýţh;VpNA$U¤‰5Ž< Y-X° ´2f+ކę?»ą‹Ć‹öőţ×L÷ĄŕBS ?jl)č’l‹7�ą%óźŮ���ÄÂ'q��� d8fHGő”^˝zFś^˛d©eš&gźzęi7I(šäÜrË-ě—ż<Ň~˙űă\uŻň@"š¸1˘ˇ%‰&ףC,M{•Z‰¦ MMÖ?őÔ3qĂ ÚxÔę"ž+V¸Ę$ńčţ˝=Ď?˙BDĹŁÉřÉ“_r•TY Q{ť—_~5"ÄâŃ„¬WĺcŕŔ–  ś/ľř"â<odŤ6ÚĐ’őňËŻD„<Ş’0yň7F´=©ĄH&nGáo{UŘ!Öküé§źŮC=l7ÝtKZC,˘±ë‰őţµ”B1·Ţz›kůó /6Ş>$ÚTůB2Häí·ß‰±^Ó÷Ţ{?|Za¦XaUÉń(”MŰĽ(bńh|)Đ"ëŻ?صŚňS;QEŁXă@Ű€ŢĂ[ną-í!ĎÔ©o»m^cN! …3Tç„ţ:Üßmó ą4e‹-^UoRë X!ďµ˙ţ/SfÍZ<‰©´o_nçööŰďşCUEѶĺçżž˙öDďÉí·ßéžoĽ÷GÁGŻJLSăUűÍX!Q»7Ż}Ń”)/Ĺ ŞÚË /Lżö ÁČOTd���ZY���€<ôý÷?„[4Čć›oęŞI¤B?üR˝˝dibňŧ¸J Ş ˇIFZ~u?Ü- HĚ1ÓM¦«mH´ˇC7ODxí2bѤ¤&Ă·Ůfk×6˘{÷n.$â§IÍX› @Ź1žůóçǭ ö+z̢ʉ*a¨ Á˝÷Ţg‰č5ś;wnÂŰčŃŁ‡«Ţ 6šho o˛\ŻYtĺ…ÔŢD•$ÔŇHŐüm”bQx'QU»ŃëÓż˙иXßM:§űvüá=?•bµ,Y°ŕ{Ë/Ě$±MĽsĚŃ–ČM7Ý1yŻă €$âŤgŻF<ń^_˙öŘĐ«1=/-Ú®ŁďGÁµ'm»‰ÂZzoĽÖV E(¤ĺQpLUŽ čďcµő‰Wm$ť¤SŕBű2U QŕF-ĹTqF‹*Giß ĐK¬×TBí—$ŢXôh_¶ýöŰą×UűI…Ý2Eďł^S˝¶ŞFőÎ;ď†ĎóÚ )č¤c:T`GŁüÁ?íD·Šm‹zíŃxŐëY^Ţ.îet;‰Ú: >Ô*ČĄŠ7ńč|ŻĄR¬ 3����� ĺ˛����yHŽ­¶>­Öj‰’Š]wÝ%âttŰťLSŰýŠţĄ—^q•NÖ]w ›řTKU7PeM żůć=655Ľ_ŰÇâWtíÚ8Čâ§ŕGĎž=Üí©L—.ťĂ-PD”xâUUPđZl¤ŁÂ‡&n�V¬XÖĐ$pK‚,šĚőŞIDWcńhb]A˝_ …$ ‰YMQČG ôšĹ {¤r;•ˇÉó. q§öV ¨:‹Â/M…qRĺFyc"ôR¨BA„Nť:ş÷RU4´ťI˘±,ńB6ţq«ę‹Ç uEߏŰUh#Ѷë ^řĹŁ±¶Ë.;»mVm}ľúj– V)+ü–IÚŐG‹Úq©’öe |(¸¤qx衇¸q§ź˙uóW¬IN˝¦ Ăl°Á·źĘ4UQŃřé×ŻŻ«’ĺµ2ňB•ŢăŐˇÚŻů,şĽ×–,şK,zťčŃűܰďíâÚeyŰö1ń$ ˙W=¦©ń&ŢöŻĐ˘ĆVS· �����’C���ČCŻľúšťrĘ„đé±c·rm+š ÄŁj,ţ`Ś&§_yĺUk šśUŰ -j1ˇĐ‡B,cĆlé&CÇŹßŢ***\Źż=KSU+übýŞ_µ›m6ĘV’iŇţÇ«J©JbI˝…"ü§=ţÂ&›lŇäx¬¬¬°¦č˝öču‹¨Hőv¦LyŮ=§aĂ†ą ‹Şihťľůć›Đ„ü' CO-ĺŻăŤ˙J{îąç­ßzë±á µµ‘€ô~č}1b„ (ä4ţç|Ŕű'}˝čĘ.ü‰[§}ˇBz/µ^ăożťkźţą;Ě&UҢę1ĄĄ%®âÔ1cÜ{¦đTC뫵‚üŻG¬vcѼˤZm)łgĎvűam+ @Íśů•[ď…ˇćĚ™>l˛¬me¦ă^Ő,ÝN, ©xUąpĘT»Ż’–‚kÍű{QN����€4!Č���´ 25 'šŚUkMÚz.¸ŕÜФÜqIM~úuîÜÉ]×oÚ´÷¶\Č&MBż÷ŢűnŇô—ż<Ň…YĆŤŰ&"ČŇŇ×:zbäČ‘¶ë®;EüÚ_á…%KŰŇĄËě§ź~rŐ9ä`K—l„PRĄ×i 6źVk¦¦h˘^Ő%µiň·ŐiÍ˨5“B"g ¨úŚ»‚ zZS… mé¤ “*[h\«âD< m‚·]ŮtÓMB˙vsU=ü•=l8ôĐÝd˝G÷Ł÷CcYmS.\¸¦ŇŃpk-éÚvEÁ·Ď>űÜ='UéŰ·Ź«@ä…á´¨RˤIĎ'¬“)zUµHű˛C9Čúőëçö9ďĽ3-f«ťdř÷™ü›#Ş|¤@‚ z}ő<Ô˛LŻŻÇ·ß~ë.§CťV0EµtŇ6%ş~¬6]˝{÷˛< ˘]›¶ µŇx]Ľx±«Ş´÷Ţ{¦0Lçűrás���Źř_6���Đ ęëëB“eMO®§âúë˙i÷Ýww¸ †ÚVüíoWŰ™gžťtE!–żýí˙…[C*˘ÜxăÍ4 ¨ǨQŁÜDfűöĺ®-ŚxU-ôků›nşĹZBí+Ľ‹ŞuĽţú›6kÖ¬pű O:Ş´ř«p¨ÍKĐ ş F4×Č‘†^Ç7➯׼)ť:u ÷żn™¸µ·Ň"š´VB­’FŤÚÄťŢvŰq.Ě4{ö×–Nj/ŐЦ§«¤Éűdč1ymR˘ŻłÝvăÂ!Ţ}÷](ćU-i-ţ÷âţ~ý[Já…Ť´hßŘŁGw·oÜlłMÝ8ŃëĽí¶Ű¸í»µ¨jŠŞ)ȢP…Ć™d‰Ü7trŐ\ńƵö} de’&{UťHáŻÚĘ€ýÝá?ü®r¤C…¤úôé:€w4\ţëŻco;{ ±č>¦M›füiłC™ÉŇk¬ý¸*ĂLśřŚhŰô™���@öd���ZA]]˝ůş¬dÄŚ_Ú>쪔x¶Řb´ÝsĎťvůĺWŮôé$ĽľÚ ©‹?Ä"oĽń¦}úég–iúţvŰmçŽĎś9ÓµiŽ‚‚µ/đO?5Lâ+lŃś €ßzë­®Ä2eĘK®rC,eeÍtDÓDŞ&{U± a‚÷턗ׄĽF­Ĺk#¤IćŰoż3˘MO,żűÝ1n˘xÄáöć›˙ŤűŘ5‘ßÔs8°aĽ˛˛2f[ˇtŢŽźÂóćÍwËW_}e‡~[Ż6=鲨Š2~üvöä““şžŢ/`4gηç <ŘŞËłĎ>÷6Úµ+łÖäm»Ň·oß”,~ Qhůä“OíčŁĺÂzÓdŃŘ;đ@µE*pŐ›^~ůŐć\=˘B‚R…@µBŇőĽ ÉŹ?ţdŮ0kÖ×.ČŇĄK ęßżáţżůfNÄĺTŃKAťŻżU^ű+]?šnKűmůđĂŹě­·âďµĎL•ĆśöOoz ©Ć�´múĚ��� ű2üŐ9���€X˛:¸îş\‹!?Sn»íf»é¦ěŕ´ő×ěZ?hŃq­ÓyşLtE¶ß~;Űgź˝-ÓT9Ażęײů曇+ËÄŁ {Ż˝ŤŞř+|ůĺĚđqµ€IDżŞ˛ˇV.~jAâQ;ˇx† b©ŇřP• Ygť~ÖŻ_߸—U•ŽOüŁ{߼ö٤qă…@ćÎťŰdEľřâ w¨ĐŔ AëĹ˝śŢÓŤ6÷|]×›�Ź,Jőv4ˇ˝ńĆŮřńŰÇ˝ľZš(Ř"™~¨J…*X4<ÖA¶ŐVcšĽŽ&˙µ­ŠĆÓG}qľpI4–u…%Z“*y¨Ú’¨ňM˘ý€Ţ+UůńW×…† j;î¸CÜę< /-ZÔ’‰ŢöSĄ×_÷«}™Ć’Ţ›¦čyxÔ6ÇŁ Źwz“M6˝G%qocĂ 7´ňňrw\ŐŞ˛aÎś9á¶L묳ŽŰIt+:/آó˝–Yşž×~Č/rß?„¨}wK*CEóZti˙4tčĐ„—>| ă$Óľ @njÍ 0���Đ–d���ZA¶ľ×ÄŕŮgźgożýNŁó4~ŢyçŘĂ˙Ç^{í%·č¸Ö%š(×DňĹ_ń0‹Úya… öŢ{ݏĚšVCŹ]˝E-(ĽÉIMţjB<Ţíě»ď>¶˙ţűÚ1Ç19ądÉÚjĄ‹&ŞÇŚŮŇŇA­EĽ á˝öÚłŃäĽh‚~Ź=vs-d&I¦’Hş©ę‡W1â‹/’›,˙üó/ÂÇU˝!‘í¶ŰÖU牦Đ®»î⎫bÂÇś‘ŰQ @ç«BQĽ0Ś.Ł÷@Tá$Ýô¸&OžËŚ·ŤkµkL‚XGyxxR˙ż˙}+ÜšĆăŤgMţÇŞbˇçŁűHG0 Uďż?Ý*´µŰn»Ć (ě Ç»űî»Ů±Çţ6â˝îŮł‡Ű¨}Ú?ĹŇŁGĽŐ“tQ%QU§Ř/\a$š^ďÝvŰĹ–DAžč*4ď˝÷ľ;THeĎ=÷ŚîQµ“wďŽ+Ô—ě¶‹×’H­ćš˘1Ş@›Ś1ĚxTĺČ byôĽ´ľˇÎp·NUĽ1î·lŮŇpUU&Šő|őŘôާţîxŰË.»ěăDÓcŃľů°ĂÉJ¸@ë Č���´Z ���­ Öd]¦¨˛É©§ţ)´LMnŃde“hú˙ŐW_·vŘ><ě…Y$Q[’T˝ńĆ®‰&C5i¨ö>úeż*'¨ęŠ&ruľBŢóRŕÝw§5ş-µóP‹MţďĽóNnňT--rQ@¦wďŢ.äâŢzkj8H"jáˇÉM¶ŮfëĐÄww›5kvh2¶Ę:thorżŢWµ„x“Ô͡Ę ¨îó׿>Ę>ůä“ĐđBÓśnŻ^=ÝăőBÓ¦˝çZ¤d›W9BŻU˘Ş(~‹/qŮšl_ýAî9Ä á|óMCű‘#Ž8ܵłúî»ď\‰˙>}zŻ©FѲPĐ!QË™TnGˇ(UńŃQ EcM­ŞŞ&áUĹȫڠ ˙>ř°ŃýrČÁáj9÷ÜsŻ{ţÍĄ÷öąç&ą sm‡żŞ1wî<×®¦ŞŞ:´ťtpT4^< 0xA?UhŮm·>î9uÔ/\ĐBŰŽ‚ ~¨rnGă0ă9z¬ včµVpJŰĽÚ-é±i»ďÚµ«mşé(WHT}Ä˙>Îź˙ť-X°Ŕm˙ş~—.ťÝ8đ¶}­×óő*h[Š6věVn»——^ząŮ­ÎtyUŚŇ8Đë©íYďť—şo˝îzž^`Oű8µ1‹¦Ç>dČú.°¤×Dˇ;ÝľÂI%%ĄÖżĂóÔ{é… Ş««­Ąôú)äŁý°¶Ůłg»Ç«ŔG¬ ^m ď×úî´*ŃíytZë5Ž˝*VŞ<ËŞU5n_­ËŞJŘá‡ę^ĄK—ąVnŢű§}*ByĆ–ŇßççźÁ=ô`÷^zč!®}Ř7ß|zŻ*Üë ý€Şüx—ź:uŞČOŮüĚ���`-‚,���@+đ$˛u×\sť=óĚsvňÉ'…'dŃDŁ!7ŢxKhŇř3Ű}÷]í˛Ë.ÍjeٲĺöČ#ŹąŞ#šHŐä©&˝ ÄhłfÍr“̱&m”xđÁ‡mżýö±ľ}ű®i{±NŁËiböÍ7˙Űh˘Zëź~ú;řŕ\€fذanńÓDň¤IĎŰQGýŇŇaúôÜŠZ˘(l1zôč—SĹťXUw2Má/ä ÉkMĽ'KA…K4Ů®@†W±Âoůňˇ×ஂ…ŞčÄŞ¤Ł×HźDRąUłĐű®J= Üh2Ý« á§ ôgźťäÂŃĽ¶E Bµ$ÄâŃküĐC»ĘŞN˘J8^ű­hÚć5ŽUŮ'Ľ�€Â]ŞXM××y­d‘gžyÖUÇŘhŁŤ\pEUibQeňäČđ‡öezoôţ÷ęŐ+Á¶_kŻżţf¸”ź÷ŠÚç4—öO=5ŃvŢyGW…(Ń{' éyÄ §i_î˝ ĹŞ4ŁíQá'ŻŤOK}đÁ.Ł�‡Ć‹Y˛ä!H‹¦€źÂ‚žx­÷oKßńĽüň+î=Đ>Gűo-~ ‘iß«}eŞAQ»°G}Üm÷ş˝Xű{QI÷Ű!B�Ů‘íĎě����d���Z&55iŞIülúňË™vňɧąv";ě0ŢĆŽšěăÚp豨˛~u®‰ËW^y5bôŧ¸Ăl‡Y–.]j?ü¨ ´ž«h 6šX,--qU(47o~hňy¦›|LD—Őm <84Ľˇ› ×D˝&)2P…„˙ýďCwź±h˛ňŢ{ďwmfT AČšÖuőÚ* «íI*TŤBď*NhŇ[íŹt LčyôŃG «‘d’WŤE h˝^ŞňŁq§–=±‚,ňí·ßÚţó«Ńż˙:®B‚ŢÇďż˙Ţ˝WM˝ç鸽Îwß}Ż{45nJJŠÝřSxI÷ >Ĺ ň(€äU QŠT齾˙ţ•`´ýj kL(ŔĄ*%/ Şčů%˘jŞ®ˇ`‚‚íÚ•…nc•«˘±¬ç˝ÓN;Zhź©`ÇÇj›l˛‘ á(Xˇ}BDŞňé§źşÇ‹*SéýW CA8Zô|kjV»íW—´­ĹŰö»ukó¨â’v-ˇPšöŁ )ˇ SzŢăXą˛ÂµŕQ Oc*Q; ďőĐű<jÔ(W]Hă@=UGŇLG»1µySp›mĆşJ+ ňi¬«ťO¬ ‹Ćťž‡B'^ĺ•XĽJ-Ú‡ęvŤWÝź*( >ÜUÄŇ6¨×L·Ł*:ńŢ»–Ň>AŰ˝WýHűŢöíË]…mgަýVs|�r‹>«ÓZ���hi¸\AŚă‰ âśö–Bߡ·­YWµč<ŐL.=zŚűéÜ’%éýâ���Č…1Ľą$ş2‹čKţsĎ˝ŔUCRuę©'»ÉmMħ2¦Ňu;©P@äČ#wÇź~úYR@î9é¤\E(…P^{íu�ä?D–���rA×®]ÜáôéÓT¶U‰ěekkŁ–ú5‡uľĄŢw˝XśÓ‰ŁŹGKtžSh����Z…~9ź‹TQŕ /Ž(µ®Şgśqş䵤QŘkîÜą†ÜŁĘ# ±HKÚ �rS®~V���ň­…���€V’Ë_ŽÇj3TUUi�"uëÖdQ #Zä&Ż­Â{ńZ�ňA��� őd���Z‘&¶KKK-)ĚRUUmgžyşű˘˙ŇK/7�‘zôhA|ó •<r•÷Îź?ßVŻ^m�€üGř���h]Y���€V”ËAyýő7Ü 6Ż" A–ÜĹ{�mA��� ud���Z‘*™ÔŐŐZaa‘Č?÷Üsź!·˝ôŇËn�´ úlN[!��� ud���ZYuő*+//7� ®»îK‡tÝ��h;ôŮ���@ë*4����­ŞŞŞĘęëë ���@ëŃgr}6���Đş˛����P]]m����ZźÉ��€` Č���@eeĄŐ××���€ěÓgq}&���Đú˛����QQÁç���@kŕł8���Y���€€Xµj•ŐÔÔ���€ěŃgp}��� Y���€�ˇś9���]|���‚… ��� µµµVQQa����2Oź˝ő���@pd���¦şşÚ-����2‡ĎÝ���@0d���Hż ]˝zµ���H?}Ö¦"���LY���€€ZąrĄŐŐQć���H'}ĆÖgm����ÁD���¨şş:[±bĄŐ××���€Ôéłµ>cëł6���€`"Č���Xmm­-_ľ‚0 ���"}¦Ögk}Ć���\Y���€€óÂ,´���ZFźĄ ±����ą ���Ľ0ËęŐ« ���@ňôš ���;˛����9˘®NĄĐ—[uuµ���hš>;ë3´>K���Č Ĺ��� §TTT¸_“¶oßŢ����ĦĎÍ„Ŕ��€ÜC���ČAúB^%ŇËËË­¤¤Ä����4¨©©±ĘĘJZ ���9Š ���ŁôĹüŠ+¬´´ÔÚ·/·‚:‡�� íŞŻŻłŠŠJ[µj•���Č]Y���€§/굨:KYY™���ĐVÔ×׻ЅŞÂ��� ÷d���ň„ľ¸×Ň®];+++µÂÂ"���ňU]]­UWŻ˛ŞŞ*���?˛����yF_äk)))qm‡´����ů«HXSSc����ňA��� Oé‹}-+W®tˇ–†ĄJ-���Č)ŞĽRSł:üů���@~#Č���´ţ/ý ­¨¨ČŠ‹‹Ýń†ĄŔ CK���ŮV__Zꬮ®>´ÔąeőęŐV[[ëŽ���h;˛����mŚ71ŔŻY�������ASh������������@�d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ d�����������@ €¤”””¸Ą¸¸ŘŠŠŠÜRP`ˇĄŔ{ęëëC‹Ymm­[VŻ^m555ni‹ßéÁ¸ŠÄ¸J/ĆW$ĆWf0Î"µ•qĆű‰ýKŰĆö‰íŮŔv‰í.6ĆI¤¶:N‘Ř_ă4ă´mb;�Y€ÚµkgeeĄVZZĘ«<Ł÷Soiaaqč´v…en˝>`­ZµĘŞ«WYUU•ĺ3Ćwú1®W™Äřb|eă¬mŽ3Ţwö/X‹ííŮÇvÇv— Ć ăDŚ\Ŕ8eś‚í�@z$ű¤ Éó ’8,sÚ[ }‡ŢR´f]QÔ˘ó:ëpôč1oé—,Yj@*”Ö­ňňňĐY>dµeuuőVYYé>P)5śß­Źq…Lb|!gmď;°–ľ|­¨`{�˛‰íÉŕó „ýrăČĎżŰ@këÚµ‹;ś>}Ú¸ĐA]hY¶ć°6j©_sXç[ę}‡Ń‹Ĺ9ťč0úx´Dç9Y€5”mßľ˝učĐŢ€h+WV„ţsQáţ“‘‹ßÁĸB&1ľ Śł¶‰÷X‹íČ>¶;$qa 0NÜ߀ Č· ­…�k(u×±cG’ÂKÄ•&_±bEΕĽc|ă ™ÄřB60ÎÚ&Ţw`-¶ űŘî Ć „q€\Ŕ8r{;�9YĐćuęÔ)ô˛ťMŃňÎť;YII‰-_ľÜră;řWČ$ƲqÖ6ńľk±=�ŮÇv‡d0N ŚäĆ)›Ű€Ě"Č‚6K=;wîúŁČf€ćŃôââb[¶lY`{72ľsă ™ÄřB60ÎÚ&Ţw`-¶ űŘî Ć „q€\Ŕ8rc;�…´Aú#Ř­[7>lˇĹ4v4†4–‚†ńť»WČ$ƲqÖ6ńľk±=�ŮÇv‡d0N ŚäĆ)ěí�@ödA›Ł?|]»vĄo#R¦1¤±¤SŚďÜǸB&1ľ z/»ucśµ5ě_€µŘŮÇß!$qáď4rű+ Ű€ě"Č‚6Eeďř°…tň>Lilµ6Ćwţ`\!“_Ȇ‚ĆY[ÄţX‹ý }üB2'ţN#°ż‚µ�Č>‚,hSÔ»‘[H7Ť)Ť­ÖĆřÎ/Ś+dă ŮŔ8k›xߵ؀ěc»C2'ĆrăÎv� ű˛ ÍčÔ©˝‘1[c­…ńťźWČ$ƲqÖ6ńľk±=�ŮÇv‡d0N ŚäĆ)ĐúŰ€ÖAmB»ví¬ĽĽť™¤1¦±–mŚďüƸB&1ľ Śł¶‰÷X‹íČ>¶;$qa 0NÖŰ�´‚,Č{ęyÚ±cG˛AcMc.[ßmă ™ÄřB60ÎÚ&Ţw`-¶ űŘî Ć „q€\Ŕ8˛ż�h]Y÷Ú·oO˙FdŤĆšĆ\¶0ľŰĆ2‰ń…l`śµMĽďŔZl@ö±Ý!Śă�ą€q d;�Đş˛ ŻY‡üQCviĚiěeă»ma\!“_ČĆYŰÄű¬Ĺö�dŰ’Á80 §@ö¶�­ŻŘ€<Fż<´Ť˝•+WZ&1ľŰĆ2‰ń•śž={Řo~óŰn»qˇă=­ŞŞĘ>ýôS;ýô3­ľľ>|ą 7ażţőŻlóÍ7łNť:ŮâĹKě™gž±[o˝ÝÚ2ĆYŰÄű¬Ĺö�dŰ’Á80 §@v¶�­Ź ňZyyąe҉'žš¤:*îů555öóĎ?Ű7ß|cŻĽňš=÷Ü$·ůŻ}űňŚĘÔřîŃŁ»Mśř¤şIŮ:Ô~řᇤŻŃEŘ^{íéŽ?ůäSvőŐuLJfůË%ÖµkW»á†CşĎZKŚłĄ]ýµîřÓO?cW^ůÖVč=ĎŐqĺ‰ŢoVVVŮľűîoIßĆľűîcçźnÄş#Ź<ĘćĚ™cA˘ž­W]u…m´ŃH{ţůěŻý{DĐ!hňa|Ĺ2věXŰm·]lăŤ7˛Ţ˝űXII±-[¶ĚfĎţÚŢ~űm{öŮI¶dÉ’¤nk˝őÖł[ną)´ë^×Đ›·0â˝Ýe—ťÝţNűQŹ0UUŐáÓÚOžzęɶ|ůňĐ~óRűüóĎ­-Č忏ž¦>˙éůýôÓOöŐWłě…^´7ßüŻŐŐŐĹĽěwÜćö±ÔÖֺۚ?˙;–z饗í˙űĐR}|±<ôĐ#víµ×Y¦äëţeë­µŮŐ˝‡Úż…ö/ËCďýWöÎ;ďşĎţK—.µLş÷Ţ»mčĐ ÜńÝvŰÓV¬Xaąî8ŢŽ9ć7îřĄ—^ćţ†ć“|Üćóçą|‘kźKÓ-˙­9ź?R•Żźcsyśdę{śŇŇR{íµ—ă^OźWő˝ç˘E‹ěż˙ťj“&=o ,yY}núÇ?ţ>}Ď=÷†ţou›%óÜžyf˘;®ĎU{eR®˙ťľě˛Km×]w±–zýő7ěěłĎ5[[ř»K®ŹĎ|üż[kĘĆv� őŃZyK‰ĚÖîáXRRb}úôq“hçśóçЇ•»Ü$ň_AAAF“ë™ß?ýôł›|=Ź=öŘ=éëęKŽńă·źÖ—žßýî·¶îşëZçÎťíŚ3Nw·ŤćŃ{ž«ă*žňňv¶űî»6ë:ű￯ĺ‚}öŮ˶Ür ÷«:Đ6ÜpC ˛|_C† ±ýëöĐäüßCďĹŢîďŻĆ[qq±uďŢÝ˝7&śdŹ?ţ¨űňÄ:‰çĚ3˙±č […éžzj˘[<ęÓ«żůŢíÍž=;tO„ö‡/Ř+ŻĽľÜźţtšuéŇĹ `Ǭµąü÷1Y:tpďvŢy§Đ$ŔUvÓM˙´Ţ˝{[s©L®ţfŞşĎˇ‡b7ß|ŁÝvŰͶţú-×äŰţE_>Ţuםn2fď˝÷ ď_ôŮ_“-cÇne§ś2!4ôýň—Gň™ňq?ĎźçňE®}.M·|üT´t}ţHF6>Ç*(:uę›nŃdg6äň8ÉÔ÷8MŃçŐ^˝zŮČ‘#ÝXxđÁ»}L2~ő«ŁÂşAŇţż‚ôŃgo_Ą)dK[ř»†–9űěłÂcRÂ|–éí�@0P‘y«¬¬Ô˛IżýěłČ_ˇ”––ŘŔl‹-¶pg ˛żýíjűÍo~׬_«!7i ŞĺD¦n;“ô âm¶ŮÚßsĎ=ěŢ{ďKęzŰn;Î}&óçĎ·Ź>ú8|ž&s˝/GtĽ-ý0ťry\Ĺł˙ţű…&ű&&uYMn˛É&– TńĂŁ}ţ÷ßoA—/ăKű/ý긬¬,ĽNď*[č×ýúőu_ěëKJMľéËńŤ7ŢŘ.¸ŕ˘¸•Óôď[ŚvÇ«««ícŽuż<ڦń©_=Ë—_~iżýíq1 «ń1jTĂXž5k–µ%ů´‹ţü§Ľ‚&v6Ř` 6Ě­ŰtÓQvÝu׸1ٱĎĚ™_ąĘ+M6jb`đŕAÖ­[7·NăëÎ;o·óĎżĐŢzkŞ5E‡?˙ü‹&/÷ÁX¦ĺËű®Ď:W^yąŰ'xĽý‹~%Ü»wŻĐç˙áI“Ož`Çw•E2őËxä>ĎĺÎçą|‘‹źKÓŤĎé“Ďźců'ň{?}ŽyđÁ‡#Öéó>űč˙Iş ťţóźĎtcNŹ'…`Î=÷;î¸ßî3R.ŹýAÁ¦X;ěđ.}ô1«­müş·µ˙›ć˛|ú»–ě˙[ź–Éí�@0dAŢňąś S§N ý'ńţç)ĚróÍ7ą”¶~±˘_†?ňČŁ†ü–É1éń­RŤ*o¨ÉŘÁą/Ă4!ŰýjĘŁę~·ß~§}űí·ˇ/ŘşÚłĎ>gh™\WŃô%Y˙ţýÝ/BőK,Mâ6eżýÖţz÷믿qă3¨¦M{/4yŞŤąah›zÓUđş|_C‡Ť±Ě›7Ďí^~ů[˝zuřrúĹŞ*%pŔţî´‚vgťuFÜve xUĆ‹b‘îÝ»…Źk ÄűRöŚ3ÎrźT’=ßÚf4%źöc˙ź˝ł€—›čÚřą·B[ ĄTxq)´@q÷âîîî.îîîîĽHq‡ww×E*PŁ’oźą7{“ě$9›Mvł{ź˙ŻŰ»ÉśIf眑̜ĚDő˙† "§ťv˛YÎĚ;î¸\}ő5ˇ×:űěs䣏>.9ŹA~L0`»•9çśÓ8GŔ‘bŹ=öŽm›_~ůĺĐôU›FĐűŔóůśX~üő˵fµ%oýG9Ô/[l±ą©7ÖXcőB]ôł‘%°?W?ýąFˇűĄiĂţGz4r?–ă8áúÄ6B—\r©5 ýS¬ÔăÖďXÉŇMŹ <#Áˇ+nµŐrűíwJž¨g;ŔŠ:a«ęl˛ÉFEGlůýďż˙ ©_©]ËÓs+©/Şm«„ęĂ­…HC‚e˝ó´„7ą/şčââ1–'Ťl¶6Ő°o<Ě>ýtŰ>Čk­ż,-ŢľÁD›Kp@ ąóλ̀IF=ŰU ląŕ-Ţ8°˛Ő:ë´ěŰýĺ—_Ęü!yç­·Ţ6ăß}÷ťÔőn_”;î¸cŠN,ďľűžě˛Ëîňä“Oů&™ëÎ<ól9ůä¶U0đ¶ôŞwëˇ &F¦ˇM.ü­ ęŢu×ÝćMĹö¶JC#ŐcQĽ÷Ţ{>Ç(lë ŮÂ*& P_î¶ŰžĹUX`ăG}T˘ëŐŠz×;ŠPż¸eďĽónˇ~ŮMžzęé’úeÄrá…ËŮgź[\nÇ·—ţýű !€ýąúęĎ5 őÖ/Mö?ŇŁ‘ű±ÇIć„ç<[}ňÉ'ć+ şj¨ü “ß~aľďľűn2`@ÉíĄľ ő í”ěĘ!$?pEŇä±ńňľa;ăŚ3–„tв喛›ď˙ĺ—_d‡¶—•VZIúöťY>˙üs3Ëąb˙YĽ!:óĚ}eâÄ …¸ż&:^1K;1€ńČ#JĎž=ÍŔú:ë¬'ŁFŤ.ąî{ě.;CůŽIĽq×zôч̶ĽXo˝ eäČ‘>,‰żŮf›‰Á~ýú™·4FŹcn1čńż˙˝ Q@—X:t5™k®9Ą[·n2fĚłÜ &&źyćY3Ácăć›o4oŽ?AV]uh!ţ\˛ÓN;Č"‹,bVÇąí¶ŰĺŇK/—,Aúö©¨äšŐ�úŮhŁ–• V_}u“WQT+­´bqrKBâíL/Xí�{u»îş§0Ás‘ő:ĐÍ&›l"+¬°Ľ™đA‡ôűďż—űď&?üh©ÄvĽ”[ĆŞA=Ű•,‰ áŤ1,}÷FĐňË/WÜ^oż/ąäˇ˛¸ćSOµĽ…„7wŘa§PY·®�«Żľ–ő­±$uY9iđÚYßľ}óžĂ‡˙,Żżţ¦Ü{ď˝…ďżHµ¨gűZmµU‹şDۆíWâçŕ`7×\s˶ŰnmŽ÷Řc7yíµ×Í÷ÁÉ5×\Ug‘E†ý†]°ÚËŞ«®R"·ë®»ŹË&›lnÚwŕm÷Ź<ň˙|^`GxăuµŐV)Ř^˙BűÝĂŘŢgź}&O<ń¤©Ëâ&đFîf›mZ¤^Ćly‚IDÔ]ď˝÷<řŕ¦,V›F©Çâp—öFۆU:fžyć˘ ”ËřńăĺÄO–;î¸Í\oľůć•e—]F^zée©ęYďčO`E0jÔ(Sż„˝eě‚Il+„ţaP/ľ¸ôMf8&ˇ\yĺ•dîąç6ĺu¶ţxë­wL;ŕNö$%Ť>5¶NZk­uM˝„ß‚:OĐéwß}oúiřÄm‰­/¶Ür ÓöˇL`ň [dÜrË­ĆQC%y–‡gŔţ\|ÎKĄ}{<SŔ^°BV%ANôë_{í5ăl¶€Íˇ,ݏâŠfĄé§źŢlWežţyó¬ő»aspôÁjxĆAť0bÄď…řßšöüůç˙ŰžwďŢÝôWYeeSöđ<ţĂ?Úň‡dذMçť·YôOO9ĺ´bܸ~iÚĺ|ÖY˙cĘů˘‹.búÎŘfäÓO?-”Ż;Ěę0řŘ~śzęéU[±“ý?p`XsÍ5 ebÂóNocĂpĆDťŚ6ěăŹ?±^?Şë}î?ďĽ Ěö%č;oµŐ–¦MěŐ«gˇú§ĽńĆrűíwżĽ\xáy˛ÔR~Çňí·ßÖ|�ĆöÜsoÉŽă$÷yřáGŤ=l!¶ĺ\ssąęŞ«äřăŹ3ĎÖGu¤Y5*O´—ú"<;ÂNđLŠ­QW`ěŰj˘ýÂ'ěo}p饗žcî’Í7߬0~Ľ®i'«­¶şé“$}´ZőqwŘa;Ů{ď˝|×4hß8ÁňËŻ¤w¬„ön§ŢţÍ‹/ľTč[eV#Űe—ťd‰%7ÎzĐ!ž3đ‚Ë! ›~ ¶áĂ5Đ'{饗äĆo6ĎzA´cÚĺŚFŃ»÷ڦßöpöŮg3Îý5Ҭ8Śß‰ľĆĽĽđÂs%ş»ŕ‚óŠßoĽń¦B˝[şBl}ăŤ7.ôÉ7ý”y<S}đÁGrß}÷Çó0ůąŠ’čČB4¸yŁwďŢĹďţůg¤,ŐN9ĺdß MMţ7h0ö˙w¤tđҵk㤂ĺ9·Űn[9㌳ĚC… ,1¨±Î:k›ÁĽ%–XÂבsAgĎťäiđmS BŔ‰` #čÄ‚ĺIń¶0J˝ 3† >üĂ¤Ś­łŻsĎ=«8iŕ‚ 9 ¸ŕÁŁŹ>6vŹo ^pÁąľ´ó4 ˛°ĹjŮ÷‡~h:ČŘ :ĂžÇt cŤ5ĽËŃ>&IX|ńĹĚ– čř{ÁRĺřŕĂkĎa¤a;IËX5¨g» ‚°µ×^ËčŽ�Qo€y—ˇöŮç ¸ËJ5¨´.‹"ĚÎ��ńÁ>ÖŞÖ–től_^ąîşëKÚĄ0°Üú†®oěu &YżúŞö{/ŁN<őÔ“‹m­ Úę˛- 6t¬™t° ÂÓN;Ą¤^E=‰ĎÚkŻiśyÎ:ël3ÉT-©‹ť€Î�úIY�&ęoĽńF9ôĐCĚ1ęĎzrd©g˝cŔÝĺÚkŻłpÚ¸ďľű ąCĚ÷ţýKß6Ʋ˙§ź~ŠŮšĹ žđAť„vŕä“O5“ţIH«OŤ‰w n^uŐĺćŻ Vᔂ&:0©6h§Á}÷ÝÇ÷–'ÚÂe–YÚ8‹†mďć%Í<«Ő3`Nßź«Ô†1‰qöŮg§ /ôF›ŹO‹cĹQfµĄ sÎ9‡śţy»ďă;Źö!řl¸á†rŕ—l=[?ŕ€ýĚdIđíflAŚú’xÎ:ꨣeܸqbv}Ţygť€\ŕŤžŐ®˝öz©”4Ę9ęËŁŽ:Â\Ëĺ“1řśwŢů…¸µYĹýŹŕ…>¦wÜŔˇĺe zĽőÖŰä˛Ë®¤tčĐlśşwŰmßy8sm´Ń†ćv˙ĆoJžŕ8Nrpoď8hŚ«<ţř“…özs3¶‚çŘ\9//eM{©/˘ŔK6gź}†Ůľ× äđ“&­Ź<ňhĹ6VM¦-ö®�äž·ˇéŁĺ©Ź[+h§mŔÁ}˝óÎ;Çg7p´8ů䍞ŃG…“ V‚ň‚9ôŐ†*{îą—qÔŞháě §,/č‡âzΤ‡rxĹ«ěˇ|ěż˙ľ%+·ˇLáÇH¬Ŕ†—1â®íąŠ’XÂICâ0Éč ¸«›�›ăt Đ‚ÇëkŻ˝aŢöÄ*.�;çśłŠčDc5�t^ştéZxXŘ ta°čÄŹ7tއALxŔ‘`‚+ \ŕ-5<`<Ř,QëĹ»ERpo ăŢříDÁŕćË/żb~ËlłÍ*›nş©TÁ@çO?ý,W\qĄ/>:®˝ö*óŕařąçţgś€đ°„‡m<ă÷â‹/, ŽěúÖ}§NĺŘc˙Ď Ęŕ-űŹ?ţŘtľ4ű·WJ¶XMűĆľşnçoX† €Ŕ±cńĹ[ěůŢĺlµŕÁžânçĐx3«@ç°Ľ‚·ŁHĂv*-cYSďvĺ‚|{úégĚÄ€#AŘÄVDq·|AŮĹ*=ÍšJë˛(´v†|Â~ăxË顇–¬©WűB>a"  ŽÇ›WZđö)ęw˘íYđ†čńÇźhÎőë××÷Ć•{Ś=ĘÄXľÝ}‹Űy'•FŤŇ9Ö� N\xáůĹĽĂ×xc«±Ě2Ë�óV9ÖđĆăĹ_PčgěZ|“Ͷuţů篷汭�&É0)‡·Ö0Č�g–i¦élV¨ŤRŹi@?Ęe„ńR)Ď?˙BˇN8¸Ő!yq©'ęUďčC™´Ô/Ď©ă˘ÍÚrËm¬a|GůuťŐ0ţä“O›ľ Ę&VÜŽńý„Ž“ŻżţÚÔĺfź6‡6ý>Ľť÷ŃG™ÁI´Ď¨OŽ 8úŢtÓÍ%ń7ÝtcŮoż}‹Çř=Ľ;¶ĄNÂmQO…‘fžŐň°?§ëĎĄaĂÇlщ63lŘC¦żŘ lßĎ<ótŮf›íĚj.°%´ÇH;řěłĎ żďńÂuţ0+­®żţşf‚oŽ9f7V{ě±·ďŤm<Űc’�ŕ<^*yűíw mö¸B{ţźBßccϰŰ>PN;팒<€ÓÖe—]RlOđűPýţűâsŢOĂ!µŇrđcŽůżâ1úBŻľúZ!Í˙Ëů`śŔkű-ăSčb倖° ¦ c`Ř(ž?đěŹß=óÍ7Ćé9 xq öňůç_zĺN,›nş‰™,F_ö¶Ĺ[W9»é¦[ä‘G3ö'/€ čË/oyÎŇ:ŞWÇq’ťşDmł 9ŘŰůç_(W_}EŃéuä_ý%y =Ő6`×^{uŃ!m„űí7éŐkłŠ2&ŐáěbqÔa ˝ĂJ¨0îvmođĄI éŁŐşŹű /™UÝp˙: x-ď8A5¶^kďvęeÚi»=˘>ĂxVÎĂ*»î*Q‡v±7ÔŹč3a|ö8묳§z´Ź°÷cŹ=¦0öłŻÔ´{č·şŽ%h?_xáłĘÚ 3ô2+ ˘á™čĚ3O+ŘäŽĹ2„—ë ;<Oą/2a•.wĹáoľůÖwŻ Cć}>üđcs=ŚŃŁŹŚtŔÁ§{÷f[î0ńąŠ’čČB’Ľ4^đś…CČN;íh&¤�(ăVo@‡Ë®aů5X†Ńť¸@‡k˙ý2€^ŕ1{ć›Î6Ä0 ězźŁCNmK9#­č¨ ă‚ÁtäqżRG–¶¸AG¤Ńítab÷–[nó…?ôĐ#rÝuW›‡ v^ý ľ·#Ź<Ľř0r÷Ý÷ČE]â{�ŔŰóhÄCŢbŰuם Ś‹ 8F`Ë”Úް˒z xôŃÇe·Ýv-.Ĺ}öŮçZH±ĺ…›.<Ä-µoăcŽ.:±ŔžŽ;îßŔĘÄ9çśYĚ # Ű©´ŚeMŁ<¨˘Žxýő7Ě[í¨gཏĺemNpbrë·­Fš+­Ëâ®íÚVÓ8ŕ€Kě K‰âŤVŘŮîoś%â¶Ę©”zµ/8ąË¨â˝ÜAîwŢy§čČ‚•p�–vť=1Pŕ:˛`ë‹0§T<¸»Ž,‰s^µÝăŽ;¦o°»+ŻĽĘW—áŤL¬ÁŮ K<ożýö¦~sAő*®ö+ÓrĂ 7ęÖ‹ÍoĂ$ę×°-ŽŇ¦˝ ¸áŤç9ćĂ|‡ţ0ŘY)pđ>|¸™Ř„s'ۢ¶ĂČŤPż|ýő7ęŐXâŔ›t®Cś$áLćmC°Ő ?°Š śg7ŮdăĐţniö©1Ů€•+vÝuă â‚R¬Îv ŔaËw{ď'�¬Äâ‚e­1ŕťđźcŽŮÍD’ĂH3ĎjůŚ�ŘźÓőç*µa´qîó¶›Úi§ť}[ëbivw uęZk­eVˇpAűč:±Ŕć°j‹÷ţđÂJ)hű1Q2hĐ 30†•^�žż±]opBůž{î1Ë˛Ł˝Ŕ„óe—]^˛ő/ňŔuJ@iđ>oá9 o»/«TB%ĺůçkl#tůĺWřdđvď%—\h&bjűb&źÝ—đĆů~űxŽ˝ßLVź{îŮćhë­·JěČ‚‰_”±łÎ:ÇgŘnćć›o0ŕXehčĐU‹[Đx·sËîSO=“¨OťŽă$Ç}±�ŕEŹ0Ü7öQ_⥠¬Ö…:äĐC®Şs}íÝA�ă® Ć»°z\.ľř3aŽghôąN8áXŮyçÝBť70Ö 'Fl{ĺä4}´Z÷qá‹ňČudÁvlŐ¬«�YÚ@ôŁŹ>–Ă;Œ常ý<čů”SN2ăĽ{⦅o+5¬ş±÷)ڱÇç˛u6ěÔí+Æo¸á&źĚ­·Ţ^č+^l¶nCálâŽá¸NÂpŢĆŞg�öč:˛xÁ8Ň.»ělľcĽcđîËY.č×b»?ÔÍxů 5A—F|®"„ä‡ę¬íDH•ij’ŞÉ-ěéý<óĚ“…Aš‹ŚcÎđ0†‰¤80@ćÄ‚NÍ6Űl]<>öŘă­+ Ü{ď}ć;&łÜ4€=ÝN&_çcv_\Ľ5ŕőűę«-ťě“č“lXĄ`‰ZoG`nxÚÁ$Ěá‡Uč4íVĐÜŔ÷Pí.Ż 0ŤŕäáiěN袆§0®ąćÚšt¤˛°ĹjÚ7´Ü$ŘQÉk´m‹g­rÁŰ`čD<PŔ®¶TÁöŢç iŘNe,kęÝ®\đp†UH0Đćâ]nŢ:ÁŰ;�ňO<ńDëůě»1•ÔeQíěcěv†ßGyÔ8e`’†YSŻö5ăŚŢ-üţrń:T#źŁŔŰĚî’ĆĐ{p`ÂđcŽ5cŘ˙;¸Ţ@s·@¸ůć[¬jÇ˙â{óŰ}cĽ4J=Ç>űěUtŇÄäeŔë¨ĺŕÚXnąĺ «F~0I[-ę·~i«â¶-ôS°Z ŢFFßÄÖ†Ü~űĹďŢ5dѧĆŢęÁ~?ŔV±ôÇ–^ÖZkŤâ[ÚhOqŻ řöŰשׂQxI;ĎjőŚ�Řź‹ďĎĄaĂXĹĚĺ>(qXÎ!čËyťXÜ4¸ĽôŇK%÷Ço9í´3ÍŔýСkťX�ú‰kŻ˝ž™PÁX€mU8׸«Čˇ˝ŔÖY^0ńç:>Ź3¦Ä‰´<'S˛2[R’–sô=ŕĚ0éy饗•äŢÖ×l!–ě´ÔÁ°uĽY »±˝Ś1)÷Ů+ąÎśĺ‚‰ÄsĎ=żÄP^˝Ř‹.ş¨ä Žă$NŚmÔ6.µ˝źwl_ĺ: »Îőy ˝Ô6Pżc-€rŚş"8‡çPlµí®¸€öËO¶cL<ΉĹ%ŞŹ–§>n­i;µÍ«?/żüBěuŕ(ĺubpń®¶‡ľĽN,ŕ>ôŤ™Ě5לRmđlg°ÝwßË8€ťX�ĘÝÝw·m;^îóˇ śT]çŹë®»Áę ňÉ'ź2î˛í¶ŰD^łŃž«!ůŽ,¤!iĘaë…(,Gĺtă°M–şŔCŘťÂŢ·čh…/]ďľ·�p.K.ą¤/Ě]Ą+°ĽűnKËËÂsŮÎ9ŢŐ3‚`ĐÎ Á˝öOĹä[pQä“ ŢŞ r» cęzăaÄ]ňÝĆ˙ţWť7Ěda‹Ő¶oĽŕ‚}:`˛uÁ[śšđ`ŠĄŁËeĄ•V*~ŕaˇÎ�¸~ÔŰ iŘNZe,KÁ®Ľ÷6ěÁâ9Ľ©ÜŰo`倥†˝ YSI]…×ÎŢ˙ߤGĽA·Î:ë› J÷żŐPŻöŐĄKŰ ¶ß)ď`‡wOßZ�G—ŕ„šĽE‹I38RĺV[­Ą>Ä€Ţ=÷ü7ôŘŢŔC]î]†>KĄłĄoAŁŢ:ë¬3dĂ 70硼˝—آÁ%j@u V°úTs{˘zŐ»7Ź1‘ś&Řve4ĚÉ [źąD9-ŮȢOýňËŻZĎĂƱ-…KďŢ~‡@o_i o "O˘H3ĎjőŚ�Řź‹ďĎĄaĂ^ç3Ôw¶ (ôá°m; oü5×\Ó·m† ńá¸F‚`ÂN¸~Q6»Ę*me["…Ů=Ňţä“Ń+żjIZÎW^yĺâ÷°sZ®˙JŮۤĄű-Ŕ!«¬`;ë0Ľv‰US’€rI7ź|ňYń;V/ĘÇŃ''l…ŐFŻąćŞâłž1˘žq˝ů:Ş.‡~hq[ŚZҨő…†ŐWok1FÖö ŽąăŽ;‹ÇQăbč㕳^T-O}ÜZÓží4śmϰďy86ŰđŽ·ąŽąŐö†şĺ.ŚJžV^qĹG5´ŃwÝuw¨,1î°MV: ŁŃž«!ů[ ’čc@Î ď°âÉ*«¬lV=Áߥ—^şđPv„y¨ #č9ěĹÝî�ĽőVř5�ö-Ĺ�ŢŠŔ’­ts×^|ńe9ôĐCĚw8®¸ť<ĚşoťÁ«ÝíÄÁK"î�śwK"›# Vpßđ…—/–şÎ{ď˝o–ZŚšđţFL&F=hxH±§ĺoĽi•‹ĘS l¶‚ ,ÉŮłgß›Śpu;Śp2)g2ßĹű¦ă;ďĽ) »t—H ’†í¤UĆ<PÂqË€btůĺ—ó˝ €íu\P·T“Ję˛(ĽvŐ€°Á_âÇ;(†ürńĆ)g€- Ü·°Ä+ť˘đbŘ®ç+,9[řJÇŽZ˙v, LôŹÜŰśřÁ›cî–SQ\sÍu±e˝ĽöŞ}«‘$Ç[Î’Ô/ZĐׂó;&Úűőëk&ý—ZŞÍáĽÜ%“łčSŰ&ú]Ľ+['űÝľÚ4,ůúzH†JóŚĎé‘E. ĆvpNÇ씸ýö[Ě3-Âa‹ß~űmč6ŕ™gž“=÷ÜĂLŞb©ůűî»Çü®–IÚŹËÚZĎLxŢž}öŮĚD�>óĚ3·ďŮ:hłţg“·"ŻŹ4ą •´ś»}ä§w{ŘŇĎP$iö?`sX…Űčá™N -´Y‰Ĺ+“„h[jsł9‘ĘČbN+X!¬Ú|ŇI§H9 p¸ÁvTplÚw߽͊¤6řŰž·#eß|ł­ĎíăÂ(÷eíŘx­ű¸$ŕĽńŮg_DĘLť]OEŤĎyűzaă=˙ţŰ6öf{‰­ îĆVýű÷7m4úŢmX“´Ď¸–ët­łâƱ±˛Ű€-ýKĽ Ť:Ţź«!YAGŇŔÓ¶ÚžđÎĆö6®»îúÂŕ×î˛ĂŰ›ŽÂI'ť(›oľE˘Ą˝oŞŚń[¬ü#ŠD3ÍÔ»řć&ŕżúękłč"‹,b:ö0sŃ0ČŚĺŕĐ™Al‹-¶XŃ‘Ĺ}{[Ř©°VŔ>˘đzÇ$~?>Đ áŐ{ß}”<,xăI'ť Zzôč!y#ě­€JŻYMű† `°űa˘ĽĘ*«Čý÷?P _mµU‹ß“.Gëő ŹŰ$jI˙4l'­2–%Ť`WAđ†)&>�&:܉L`_o€7wYSI]…×Î~˙}„ä‰zµ/oÝdk ośj®úő¬['a°9‰#“÷ŕĘ+/WÇíŃ#»Iz/ŤXŹŮŔj7—]vyäj{Ip÷«QözĹWĘÍ7§·LĄÔ«Ţ˝yśöÖcĐĺşë®kŢ`Ĺŕšż%‹>uÔ„xÎŔŢę�śxć"nű¦,󬚰?OZ6|ôŃÇĘé§źjśY0 'e×Q[%`€ţˇ‡¶¦ +WzčárĘ)'™—Tŕ §z×±«±`…‘˙ţ÷>ë–�kŻ˝–™ Ĺ6ĺŕ­ďń¦qHK$)çđi뿌Šu N+­ĺÂţG x{Ť5V—µÖZÓL�WPJ‹©SÓĎďjŔqśdŕąĺé§ź•óĎż Ńvšçśsna|ňVSOÂ)ď‰'ž2’µ˘˝Ô6üăbŃmÚuôíPŹTkuĄĽôqó@ŁŘ)ćňôÜZK0WłŢzëúŞ+›í¬ŇĆ»ŞP\ůn‘iǸwɢBňYHC‚¶+OĎč _qĹU˛Ŕ Čâ‹/fŁđé]ę3 š6Úß÷g ¶BçÎ5X+ ¸*ŘNĹőČ…·:"±ť@úńć#ŔŇa“lxH~ńĹeťuÖ6+Ń`ßFLŁ3ŚAg|¶ÚjK9ţř}†I;ËQKë׊,úQµ°ďÇ{Ě €� úş pp8p>ó«÷`{•J‰ÓTxÚ¶SiËŠF±+/xcěC2]p¨Ăďx›“hŹ>úhM’ÖeZňöĽUŻöőý÷?ĐđF0&šÜ˝Ö5¸m¨ĺŠ$°«¶ş,™2ü×(ŹjµĄŤTŹÝ~űťž48ĆÉńŘ/űJ§ ŢÄÂŔĆ˱óZSŻzÇJný‚·Đ‚o5'“ęçťwvŃÉ`âőŮđáĂÍJŔąě˛K˝Ďz >MMMáż5ë<«&ěĎĹ“– c’mĎ=÷1«ŕYfŃE5«N�lź‹ôá•F±•cpµ3<o±ĹÖfVXŢLü»“a`€S wđËő×ßXŚ<ńÄă}[˘ťřé§ź öúłq€˙â‹/Í3ů–[naý-;v*~Ź[1!ÎI,K0Qî–9ÍʵJ+ű-Ű%\vŮĹľ•0¦óÝwß›—đń·Új‹˘cZ{ă8áxí Ľă…L†Â)đďż˙–¤ŔYNŘXIő˙˙ý߲Ýv;ÖĚ!ŞŰé$h&]™j9?4ҸqĄĐN‹Í6ŰT>ř@ßs śţůgÓüꫯděŘq…ţę˙IhĘ·żΧaĐŹ…ƆŽ,¤!ÁTssţĚű‰'ž4Ž,`ľůćMäČňÇm«U૰8úöťąř=řÖ¶Úi§Íw ćÁ‘T\°"Y01ÁH¬ŕâgčôţi<ŞńÁŕ˙ĽóÎ[?Äě›>Çł›ĂÓN;E6ß|«âoóţĆ­·ŢηGe˝‘d›Í5«mßXŽ 3ĎÜÇčĎ”^iĄ‹2•ĽĹă}óvµŞI”7z¶“fËŠF±+/0€ m±Ĺćf ËŃŁŽtßŢĹĂŐC="IäĐĽ¤.‹ľ^yvVMęŐľ`ChÇĐÎâˇčĐUÍŰŃđv¶·>C»W+0±ÇlË€‰¤­ÜUYp ,ÝŚÉvĽIľÎ:ëKŢh”z¬+ž`«JLÔőŞw¬,€‰llł‰6jŐUW•űî»_Kźź~zËňú<ňČ–AGÔS'ź|BŃ!ăÉ'ź’[nąUľţú›ÔŢ(ËKźuúŤřďŐ+ľ^ {ÓŻyVMŘź‹'MĆ˝_}ő5óx9ۧ`ŰH¬–â¦wź}ö’ /Ľ¸$>ę‡~Ä|�¶'€C V5ŔvV°ĎÝwßͬzú /ô]'Lô^|ńĄfő–ŕJ;ďĽchş˝+ţÍ0CŻÂ$ĆOˇ˛č;Ô ”iü.¬ľţ ň#Ęa©Vie˙CĚJ“®˧ź~*—_~ĄŮĘ2X/c2­˝Âq;°‘K.ąT˛äŢ{ď7«Áqő,śüx`Ô‚Fl§µxŰ_l‰‡UžÂ@{Šľ¨ÖX#ŤWJ{¶ÓZ5ÄXÉ gŘŠŐubÁóÓő×ß`úŃÁů˘¶ŇŇŕ]m4ŻăŢĺ’E9 „ä‡|ż˘DHBňÚxyßL(wIaď[â®SL茸űËcďîŕž‡´p÷ůÄC-¶Gq—.vř�VdAžb2xˇ…,t6ç10őĘ+݉tÂđfĎm·Ý.;ě°“ŮS`?SĽŮć‚­:\°RL=“ŐEµ®źxâ óĽË-·ŚůľŇJ+xÂź”¤ŕMg—8»ö®š$ ŰIłŚeEŁŘUaĂ,~_qĹĚjQî*QŘÂ,jŕ>Č„ m[·őéîü„Är—ĆÔÖeQxí,ʦ&ţ0!P-ęŮľÜÉ%°Ë.;G xr'Fżřâ ůňË/Ą–`R`$n¶UÜúE ĽŃ¨őXÖ@ź;î¸}ń¸ŇŐýŞM=ëÝ»…č®»î¬ŢŇč+ŕC\°˛‹»˛ö„?á„“ĚxĐ!Łk×®‰WÉSźÚí롉çŽ(ÂÚĹjäY5a.ž,mĎÁŘň´ÓÎ(:ďę)QŔ¦±ŃARčŢaŤŹ­„\N>ůTóĽdŰncşé¦˝Ď/żüZü×'ŔÄo-qÓŠ Íůç)[«´˛˙Ńf—x^:đŔC䭷޶:Â)©˝ÂqśÚ6ýôÓĎ*Ú$ú˝]şÔfŤö\_”3^±ÄKXăeI#ŤW ۵ęŕc wţđ:}”Ë2Ë,S|†ąýö;ä†n˛n+YiűŚgŇńă[~Ď A g§(Ü~<đ–˝<A›%¤±ˇ# iHją¤nX^Ůĺ·ß~“$ŕM·§|ÂŘn»mŠßź|ňé’p< ľňĘ+ć;:.đ®őîďŤ}Ă?üđĂÖ{.T@kąç‡~döą‚ŢjĂr Űn»ŤŘ€ŽĽ{Ýb€Óĺ©§ž)~ÇŰ|QŢĚ(\o˝uŤNÉÂkeߏ<Ň6Y¶Â +·y`ŕťwŢŤÝł= ďŢÝn¸ˇYÝÂöÁ:tµĐë¤a;i–±¬h$»ň‚í�Üşőĺ˛Ë.[\†ţÁ’rhY‘˘Ą~‚­bÉvČ {¬´.‹Âkg”ĚÇ›ÁŹ>úPa’ä–Ş ú׳}=ýô3ĆŽ�&üO9ĺä؇|ÔŰn»uńřšk®“ZóÔSmőÉvŰm*‡ Ý;0�ýhÉŇ˛Č —m¶ŮJ˘Ř~űmÍ*3Ě0T‹F­Ç˛ÎV§śrRŃâăŹ?©éęAI¨g˝cőŹďż˙Ţ|GY.Âú+.ŘndĂ [VDÂd‘w•¨®]ŰśÚ±RKîJIČSźÚŰ× kS°ĺŤjäY5a.ž4lĎą;ě°˝śyćéĹ—6‚`Ő×!*8›Ü{ď˝äŘcŹ–0Ţ~űíâwo|ď÷0›Ĺär”#´wT<'ąo˝AÔÝB¤V`k&—Í7ß,T«Ób«ÎZŔţG›]ţő×ČĐm`°őÖĽóÎ#µÄë¤ŘÜ\Ý­ 8ŽS[°şĆŤ7ŢdľăYn»í¶+Ůň­´çúÂ;ľµŃF…>ScŇÝű¬Y­q±<őq˝ţÔŐ®«�۵ęŕ]ĹÎSnß6Čšk®!IŃôAÜłŽżý,ťţE}ú -ĎfčW†moéŢË}1 /ń ţ‹äÚ,!Ť YHCRîüY•L°g6ł]^xá%I:#XŔĺÔSO–Ůf›­D[ąKÁbŻdw/Ü î`:K믿®ůî]ŤĹĹ=·Řb‹%ŇÁ‹/ÚCË^¶Gěşë.…AŞJdŕ€e]°7¸ & °ä2gžąĺ„Ž3+Á2иĂç–[nŞęŠZ˛°ĹZŮ7Ţ:ĤŔţňÔu;Ä•l+°'ł»Ź7VPŔ@spr.8µ§m¶“vË‚F˛« ƵLp NÚgź˝ÍwĽąŠ7fËoýşyä%uś[Ž8âđĐř•ÖeQ”ÚŮIV;C۱ţúë™´ŕÍďęEYQĎö…·0N=őôâý°ŞŇu×]ctÜše–YäđĂ•“O>ŃS—=ᛄ©pdq^±]ĘBp�Ž:gťuş™�ĂŔ˘wë€IwwŮ×M6ŮŘęĚ‚kî˛ËNćú§ź~ŞśţąR-ąK´{Xbý†®+ľ‰ŔN?ýŚşŰNĄžőŽÁ1oý‚7Ó®˝ö*YuŐUL9ô‚úíÎGVÜŢn1{›» Ţöý*[?vţůç7ËKGíN\°mŹ—<ő©ńĆ7śăśŕ¬×ć™gÓVžĺöçâIÆWYe•‚˝íi¶Ň8č ­úŔwËj°/‡­xwŘa;łMú„AĐżŘtÓ¶óŢřŢUŕ“Gu„Y]- L4»«Ř ĐßüĆ`ź×9öŘcLż´–<öŘcED»eË/l{â‰ÇÇný™ě´Ůeż~}­«üŔYóÔSO©ůĘVn›ÜUP«Çqj¶ÎrW÷ŘhŁ *Ú®#)íąľ@»óüó˙3ß1FwƧ•8ł íAż ý7€•Mß|óM©yęăb<Đ}&ëׯŐm•íZu€¶mčotĐ%şĆ‹—QŽĽ ęŮÍŰoD?ĘÖc|}Ň(4íçwÜY\Ĺ«ŤÚśc0zôŃGŹ˝cy6KHcĂÍîHC‚Ć ťČjŽŕ-Ş™fň/-סCłykoąË`LPˇź”˙ţ÷^ł71tŰm7§tŞĐqÇĘ*ÎW”żŕ‚‹Ě¶'6°m<qáI<xđ`s.Ě‘ÎމܰÉ>ĽŐ4n˝őVćͰ+ŻĽĚ Z~öŮçF/¬]}őŐŠŽ ď˝÷ľYÎÖËé§źYxp˝ŃĽ5‡Ž &#ńőÓO?‡ĽYç]Ţňúëo”QŁFIžŔoÍę˘Úöí‚- Üe÷Ý·ePË+&q2rĆgôx­y†ľď»ďŁsLÄbO^¬�›ąűî{Ěa¤a;i–±´iD»ň‚U$đ@AĽ üÉDo`Ý{ď}Ň1Ľ1•+0°ňűďęˇYŤ�öVFýcŰF*Ťş, ŻťaiŇ(;Ă›üçž{žu¬4iű¶yÇ{ĽqBC}‚7Żđó;vśŮ'í˛7=hçÎ<ó,ÉpRŔ_|ˇ™ oY1e%yíµ7dĚŃf€ ¶í®�„>&É˝`Â׸đÂóÍ5öß?ăőŇKŻ`ţ26‡2ŕ:Pa㢋.–jĐčőXRţď˙Ž*L4|\<Ć ,$›cŽŮ}Îť,Ĺ6îęCőB#čoˇa;›“N:ÁÔ/łĎ>»śvÚ)¦~“Ę1›íę0`čMś8®˝ÖżÚ¶5yĺ•WÍ�;ôŚ6�J8ŔĘ# .8ŘL6ˇ{ŮçÁŹ?ţX\Rý¨ŁŽ4«ô`â[ô©ń㥗^^°ÝR8¬ĽňŠ…zíuS/Ď5ל¦Mś8ń_ł] i¤•gy€ý9=•Ú0ž°2Ň‚řđzöŮç寿ţ,<«÷4»nBëşë®÷Ý˙úëosÎié`•ľ•VZÉô÷PîŃźŔ5Ýgý1cĆűą<ôĐ#Ĺ—YöÜswłŇ#žżńü„•‡V[mó–+VCu_ ‚4Á‰îňË/5xÓwČ… żáąB™řÓ”8Ôˇ]G?R»ÍeüřăO…şîză8D~Áżĺýo8Ł|˘ě#ď« ű-<řŕòß~űô^rÉE¦ŤÂ‹%°/lá›Fý j;xóňö‚öářăŹ-L^˙Pčăţ]xλ_˛‚ă8ů�Ĩ˙ŻľúĘČ—™˛‚ő…ČYgťcƉ{÷ž±8F‡öđÂްş­»Ĺ ě餓N1mVµČKżcDŘRN?xţF?ˇ[·nrĹWfúâA#Ů©m^Ĺúůµp¨€mß˙0ó"Řx㍠öµĽ˙ţű…çóń¦/ ›Cxąĺ– ]­9ęŮ ý8Ř(®ĐGşé¦ ý˝gÍ jx‘iŮe—6«4GőĆ&Ý•}wŰm3®=vě?ňÉ'źšţřüó/Lź ýS8äŔY +GăywĘ”É2÷ÜsË2Ë,]´´#®s[ŢČŞBňYHĂ‚A˛j>ě sď:‚D'ěĂ] h ?üHă‹,LPµLÖú˝gáĺ 瀨=oŃá~óÍ·Šű$c" ÇAľüň+3áëľĺ…cwyuW\qUáabFăAŚüĹ'–q>ę¨Ňešńfůn»íaVŕŔŇĂčÄyW´qAGKŽŢ|ó-’7˛\ú´ÚöíűĹ 4tęľÉ€YLşVĘW_}-|¨Ń9šńŕ‰IW/XőoxF9˛¤a;i–±´iD»ň‚<}≧dÓM7.žĂ„V0x€É¬¦0¨€ee]0ŃôŃÇ™·¨´.‹BkgĐ Ú ¬°‘5Ťb_/Ľđ˘ě±Ç^rĚ1G·•‚#€ű¶X0]·Ür«Ů8Oűęb0ăŔ6“äpŠĹ ›mVúĆ6)`Gpn‚2€kŕ­ZŘ?śVl+˙¸N/ŢUڞ¤Ń뱤`ňź( ÓłĎ>ÇLÖŤ˘wLú`ţcŽ9Ş Ż9Í9Ô/óÎ;ŻŘŇ…íʰǹm`«ę\vŮ%¦\bB ¸ĺ&Ĺá‡ń0§ lW´ÖZkšAĆE]Ä|ĐnşŽ,yęS?đŔ°Â ~×Âęľ&˝ őN’" p(D0Ś4ň,°?§§R1b„qÄQf€í)lgçťw,‰Źç™łĎ>·äY/o\xáErŔű›‰~L”Ů ůĺădčť$ĂŠ“]t‰ěż˙ľ&.&đńňČ#ŹšÉ„C9HÂŔÄÂ˙ýß1f%LDĂÉŽÖ^žyćYąóλjęČЧBŮsó/ÂW5<ďĽóÍ_µYŘ˙hoaăe+8@áů[nŕゲ„ lč§–Ž,¨Ďo¸áĆBź~wÓf¸«ˇŚeéČÂqśü�g¦{îůoä¶YÁú˘Ą¬ˇý=űě3L?Nö޺Ž-GQ}'ű<őq/»ěrÓ÷„C�śg\šÇ<Ó|i$;ŐΫŔi¨V+ M‚ ^FxiĘ»eLÎ9ç<ăČFÔłćhĐß;÷ÜłÍó%Ʋ‚ۤůĺ—rţůĆ*/ ˝˙áDŚtâ:îęĽp‚vY�ĘîéöS±J›mĄ¶»îş[.ľřRÉ+µŘzŽR]čČBĽÍWët–ńf&Ţözçť÷ KĎ §4@#}â‰'›‰}tÔáůŤ­ &ďäW^yĹx Ăů$ ÎąŽ,|đˇo :/čě¸-q[/Ŕo¬˘3†%ďŕ1 /~€‡ xřÂK“Ťaŕwěşëîf0×cŽŮŤ1®Ť°·ŢzGî»ď>ůá‡%ŹŔłĽv-ě+TŔC^.i.G g€-·ÜĆlŮ·®°|6řöŰďĚ긗;iE¶“fK“F´« Æ +N|``ż’¬đ†Á‡~,›oľ©Ń!ś¤ ?¬ľqë­·Çę/Ťş, ŻťáŤ¬Ŕ;ĂK;x»˙µ×^3µŐZń§‘ě ;ě°“ysµŐV3oÇôé3“ŔE]†Ą×_ÝL á-˙<‚:qłÍ¶4m/ŢÚĆJ,=zt—ŃŁÇ•gü 3ő–®±ůć[šÁĽŤ7ă1ů‹¶oµbö‡É‚jŃę±4Ŕ›¨p2Â[[čź=óĚsFďőJ#é“ÓŰoż“é?ŁO4hĐ ł ŻQ–Pż`0¬Ćŕ.AmuĎ;ěl¶ßXuŐUÍjř#FünÚ) ¸»[„EĄŽŔ»ě˛łéď`•Ĺŕ˛éyęSß~űťf`“R -´Ů6ihO±˛Ô‡~XÜşŃFy–Řź+ŹJmŽš›oľ•ŮjýŘ ú„¨c[ú[ŻâßÚ¸ë®{Ś}a !LNa”5´Ç´xńĹMy· ¤Ăąoë‘E)´Á˝ŚŁ¶ ‚s&ŁlŢ}Í­·ŢΤaąĺ–1+ş�üć‡~¸ţŚsB­Aźäꫯ1ă(§X…oěc˘«~ @˙ «2Uö?ZŔ8Ő1ÇgÚ/ô1Ýg$´_Żşí¶;LŰRmG#p4˙ůçáćYn®ąć.ôă;šŐ}đfzTűZ ÇÉW]uµYmÍ­óŞë‹लë®{nĐţ˘ýÄ ŽprÁĘ'O>ů¤y±küř R ňŇÇĹ3÷ž{îcś8ŃîˇNEˇýËŇ‘…vZ]đ|Žç.ŚŻ˝öšfuN8€ŕeßG}ÜôëĽ[Ů{vC;ĽŐVŰçôY1>0&€±GôI±š_č‹vŘ…çŐídŤ5†Ć€ú›sÓNŰ­DýT´Ź„ă žÍđLűË/żšç2ŚGÂy&ĎdY!ů@»>X“2¬Iń·)äŘý4{ţşź­ç:>ĂëZÍ‹.ş„ŮqÔ¨l—Ü'ő:×ÍÍőąĽ<©oĐAÄö%YBűnLťędî8C»jżĐľH5`űŘ>aýBH¬IV`[Ę+®hyc«ŕŤÝĽ‚ śÝwßŐ|ÇŰÇY/WĎvh ťŔvšÔ¬Ż©N9 ¤ÁŞÜŕťwŢÄęXxLëß)ŹÓúwŞçăxţ?rő7ř=Hě|ÍBH“÷e2Iă‚ý1ł†öÝţ¨†ÎiWíÚ©lŰ'¬_iő I–†Ç[ćQĚ7_ŰŠx“¶V`ő·¸·¸± „ ¶eʶCDí„�¶Ó¤`}Em”öYHCĺk ©Ő°=ÚwűvE˛„öEŞí¬}B˝ŇË)l‰¸÷Ţ{ĘÜ+W^yąĚ:ë¬rsÍ5—ě¸ăć;¶Žy饗¤Ú` …O<^îąç.9ăŚÓ¤[·nVąŐWj¶�Ç˙"_~ů•d ËŃ@;!€v@ęÚ)!´QBÚ …fĘ”)f˙\Ű€„dl¶—5´ďöíŠd í‹TÚYű„z'¤ –R.“&M2"ÓM7ťůÜzëÍňÜsĎËÇ"ăĆŤ“fA Z@–_~9innyWí†ÉŹ?ţ$Őćďż˙–ç3éXf™ĄĺŢ{ď–§žzZľýö;c“}úĚ$Ë.»ŚĚ?˙üFŰw\yĺUĆń&KXîÚ ´RĐN ©^9 „Ôí&wMʰ&Ĺߦc÷Óěůë~:´žëř ¬;ţ.şčŻŕ‚ŁFŤBĽ455ÉŚ3ÎČ=IUŔŢŚţů§”«´ďöíŠd í‹TÚYű„z'¤ –’”Ž;Ę!‡$oĽQ¤BŕÄrŢydîFďŢ˝ĺ”SN’!CŽ”ĂRđ\p‘<ôĐĂ’%,wDí„�Ú©h§„TżRoôěŮĂü}çť7—-üÁáÖżS§őďTĎÇńü ~$ä8ęođ{Ř‚ÜAtTÓ‘EëÜâžĂĆ»Mýú Řś0a˘8q{4’˙ýŹLž<YŞ í»ńˇ]‘,ˇ}‘j@;kźPď„´Áň@’=ľüň+ň /ęÜąsAŻťĄC‡f”üQž|ň)9çśsĺᇩé >V‰yôŃÇäÓO?3éčŇeł=&Âţúk¤|ńĹ2lŘCrĘ)§Éűďż/YĂrG4ĐN z€vJHmĘ!őD—.]Ěß_~~ť´8ŠLťcŠÍ ĄćpEŇn~úéĄk×.BHVŚ?Á $ÖÚwăB»"YBű"Ő€vÖ>ˇŢ iĺęĂrG4ĐN z€vJHmË!őBŁ­ČŇ,„´ĐŔMšDOM’ °­Zv˘hߍ íŠd í‹TÚYű„z'¤ –BŞËŃ@;!€v@ęÚ)!µ/„Ú@GŇ®3fŚŮCŹ4MÁ¶j í»± ]‘,ˇ}‘j@;kźPď„´Áň@Hőaą#h'ĐH=@;%$?ĺ€R}čČBÚS¦L‘QŁF±ÓERű~æ`[µ†öÝ8@‡´+’¬·H5 ťµO¨wBÚ`y ¤úä±Ü!M$_°~&€v@ę¶k„ä«BŞYH»cňäÉ|8 ©�9r”±©Ľ@ű®\'ÚÉÖ[¤ĐÎÚ'Ô;!m°<R}ňZî&–»üŔú™�Ú©Ř®’Ďr@©.td!í’–N×HîíHŰ ĺ±Eű®_hW$Kh_¤ĐÎÚ'Ô;!m°<R}XîÚ ´RĐN Éw9 „TŹJą&eX“âoSČqÔ§Ůó×űÁąiđ·_ż»â‚&LB4`I˛ &HsséÔ©Ł˘eüř 2zôč\/ĄHű®?hW$Kh_¤ĐÎÚ'Ô;!m°<R}XîÚ ´RĐN ©Źr@H^éŇĄ‹ůűË/ĂŻ+üA!šŘú7ř‘sąŽ,¤Ýóďż˙Ę”)S ť®ÎŇÔÔ$„„Ąěţţű7nśÔ ´ďüC»"YBű"Ő€vÖ>ˇŢ iĺęĂrG4ĐN z€vJH}–BňFŁ9˛Đ]’ăA<qâDéÖ­›L;m7!$ČرăLŞ˝€ißů…vE˛„öEŞí¬}B˝ŇË!Ő‡ĺŽh ť@; ő�í”ú.„ě # !­ ;v¬é|Ác­[·®ô$nçŔ&ĆŤolbĘ”)RĎí»k×®ŇÜLű®đ,?ľ1íŠőfía˝EŞA#Űë±pXżŇëABŞËŃŔţ ¬/H=@;%¤±Ę!$´­I5·˛m#Ôˇő\‡ŔaÝńwŃE—x5j´’čxM3MgéÜ™ËăµĐy²'ţk:PŤ í»zĐ®H–ĐľH5 ťµO¨wBÚ`y ¤ú°Ü ´h¤ ťŇľĘ!µ gĎćď;YláĎÔÂgLëß)ŹÓúwŞçăxţĆmE$ŠżÁďAb—`âŠ,„D€†ÔmL;uęd>;v”:ú`ěŐ'č0a•:xúâ3yňd™4i’ů´hßéC»˘]e í‹öU hgíÓΨwÖ/¤ ––R}XîXî4ĐNh'€v@;¨h§´SÂr@I:˛˘„Ť,idhß$ hW$Kh_¤ĐÎÚ'Ô;!m°<R}XîÚ ´RĐN !„$ĄY!„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!$W,¸ŕ`YmµUeúé§B!„B!„B!„BHű˘ŁB!9á¸ăŽ‘ťvÚÁ|1âwŮlł-ä矇 !„B!„B!„B!¤}@GŇnéŢ˝»Ľű2S¦L‘‘#G&ÔGČK/˝"<0L>˙ü !ů¦cÇŽ˛ćš«Ëę«•ÁËĚ3Ď,ť;w’ŃŁGË7ß|+oľů–Üwßýňí·ß ÉÓM7ťě¸ăöĹă>}f’-·ÜBÎ?˙B!„B!„B!„B!„´čČBH:tŢ˝{›Ď , »îşł\wÝ rÖYçÉ'C‡®&'śp¬ôďßż$lĆg4ź%–X\öŢ{Oy衇ĺ”SN—żţúK˛âî»ďĹ[´x|ŐU×ČŮgź+¤” &Č?˙üăŰRčŹ?ţB!„B!„B!„BHűˇY!jŕزÇ»É~űí#$rČArŐU—[ťX‚455ɬ/<pŻĚ6ŰlBjĎäÉ“e˙ý2+ĺŔˇĺ®»î‘Űn»C!„B!„B!„B!í®ČB‡GyTľűîűâńL3Í$K/˝¤Ě:ë¬>ą˝öÚCn˝ő65j´|€ŐröÝwokظqă şe¶‚3’—úËu×]-믿‘Ś?^HmyńĹ—dčĐ5…B!„B!„B!„Ň>ˇ# !xŕAyöŮç|ç:vě(çťw¶¬·ŢşĹs]»v•Ĺ_Lž~úY)‡Îť;Ëż˙ţ+$]ć™g9üđCKÎß˙rŐU×Ę—_~iŽáIJňĘ+Éa‡"óÎ;OQnŽ9f7[ ťţ…BŞ VĆA›4i’B!„B!„B!„BY‰ŰťśuÖą>GЧĎĚľăË.»XÖZ«m%‰óĎżH®Ľň*łRČć›o&łÎúł*ČRK-ç‹7Í4Óâ­!n¸q¨čÓ§ŹYAä—_~‘W_}]îľűůúëo|qŕ¸ńřăűÎí˝÷~ňä“OůÎmşé&röŮgŹ?˙ü Ygťő}2ÍÍÍňÎ;oČôÓO_<wë­·Ë 'śä“8p>ŮlłM é_Rúőëkä˙ůg¬ ţłĽöÚrűíw-a˘čׯźl»íÖ˛âŠËËěłĎn~űČ‘ŁäÓO?•'žxĘ8žLś8QĘĺŔ÷—Nť:ůÎťqĆYríµ×űÎM™2EžyćYyóÍ·äÎ;o“ůć›·¶í¶Űtx…őţHďúëŻ'‹.ş¨Ě4So“îżţ)ź}öą<űěłrď˝÷tć_ÍĺÓO?4ŽKAöÜswóW]uMA?ç–Č,ĽđB˛ĺ–[Č’K.aňÎż˙ţ‡Ľűî»ĆŮęůç˙'qŕ;C 2DfžąO!˝™x—\rąüú믅4ß][¸(ć™gË5×\g˝ÖÜsĎ%[l±ąYť:ěÖ­›Ś1Âčéyâ‰'CőööŰŻKĎž=‹Ç[nąŤ±ç:@V_}5cďŹ>úpŔÁVů#Žř?“żaż±’|‚~6ŮdcYe••eĐ ůÍ}qŤ‘#GĘG}\(OO˰a»!„B!„B!„B!„T:˛˘ŕĎ?˙,9÷ÇÄĆ;ë¬ÓeăŤ7 <x\vŮ%2Ë,|ç»té"3Ě0Car}ě¶Ű.ĆÁŕśsÎ+N¨c…‘üIţóźYŠq–XbńG8xÁ*$=zt—ŃŁÇĎÁ™ĂëÄĽ«Ň`b˙ŘcŹ–wÜŢ|÷ŇłgóY`LřĹ_*—^ząŘ€ĂŔ)§śh~›8†Ě4Ó ˛âŠ+Č>űě%űď Ľ˙ţ˘÷_cŤˇľs/˝ôr‰‹—1cĆČůç_ W]u…ď:pŚxăŤ7}i»č˘ ŚóN>}f28ąěłĎ޲ß~ČŰoż#•€•IŽ>úČB^îPÁ5Żżţ†xŕÁĆiĂĆţűďkEĽôíŰW¶ÚjËB^­.[o˝ťhŔ 6Gu„ě˛ËN%aŘn ź•VZ±`‹?ňŕ�ůä“ObŻŮ­[WąóÎ[eîąç–¤¤‘OóĎ?P®ľú éßżIśuđY}őˇĆéhŹ=ö–ďż˙^!„B!„B!„B!ŮÓ,„X0ˇíeěرňňËŻDĆYb‰Ĺ"ťXYdÜsĎť%N,6vß}Wąřâ |çž{îyß1¶: ˛ä’~ 8˘,ľřâ‘ńĆŹ/Ż˝özń«ťě´Ó%N,AŕôpđÁĘöŰo[GsÎ9łÄ‰%Č€ýĺÖ[o–_´,»ě2ćŢ^®»î†ŘxĎ=÷?ŮwߌŠűÁ*8.Ř>ęć›o´:±CË 7\+˙ůϤŕÔds΂4ÝzëM2ÝtÓ•„!ŻN,^ŕ uá…ç›UeâÓs±Ő‰%~÷˙{§,¸ŕŕXŮ]vŮą"'––tU–OXyvfsb ‚Őhnşé:™vÚi…B!„B!„B!„’=\‘…0éżćškČ˙ýßĹsXĺcŽ7Î,Q¬°Âňćďwß}//ľř’L0ˇčČ­Y.¸ŕ<ßÖ3ŘÂčż˙˝WŢ~ű]éŐ«§Ů2e®ąć,†cŰ"¬¨qçťw™ăçž{NvءmeŤA0«]¸[Ü`’Ţć$•[°˝ŽKĐ‘ĺĺ—_-ng¬ăŬß5óĚ3ËŢ{ď)m´A1NwÜq—ů=�N)GqXÉ5°}Ńďż˙.sÎ9§YőÂý­ř çž{¶¬»îâ8ŽÄ1ß|óůŽ‘öW_}-6ôřřăO„†Ăy+ظLš4I®ľúZŁKäńb‹-*‡~Ń%€ŁĂ^{ínll»ífۦ»îşÝw]¬Úân'äuśŮn»mdčĐU‹ÇříwÜqg!ŤOŰÁý°bŤ»zśA;ě9ńÄ“‹q óC9¨ä·<ýô3Ć9©GʞŮf›ŐHâ€CRĐ뫯ľ.üž»eÔ¨ŃĆnp-׉¶rŃEçËzëmX˛Í’·\ĽőÖŰfĺäŃO?ý$ZŇČ'\+đ¸ Ţi§ť)O=őTÁ.¦š•ŚN:éSţu¶Új •!„B!„B!„B!¤2čČB‡k®ą22ü˝÷Ţ7NزDś5N>ůÔâ–@.l°ľo[ pŔËO<Y<ľýö; ź[dˇ…,žĂ= 0y˙Úko‡8~�8 2D^yĺUsĽôŇKYÓ´ä’KřŽŽ,pqÁÖ1X™ÄËńÇźhśXŔß˙-‡z¸ů>uęů⋯̶GpNpŮcŹÝ¤S§NĹăG}Ľđ[*:©Ľűî{ňÔSOËăŹ?lc�¶;Ze••}[…ѧOßńż§“J“Ĺůç_dlđąńĆ›äţű‡Ă?ţřcłM“wőď 8ďĽó®ů Ç8W¸Ŕ/Č/8y9é¤Sä–[n+ă:Řö«ř¸ů çŠ /ĽČ8–€Ť7ްD_§žzşÜpĂMĹă믿Qîľűv™gžy$ \Ż˝öđťíĂ9Nŕľűî——^zI.ąä˘˘ĚlłÍ&묳ŽqČ z?äĂĺÁ’rI+źô;ň`K®ŰożŁx Ĺö[XŤö »~ď˝÷„B!„B!„B!„’=ÜZ%X=˙ü3V%˙ŰożYťXŔ†®ď;Ć "^'€-~Î:ëß9l˝ă:žüűďżňĘ+ţ퍼N)K-Őć°'—Áť_p˝ľ}űĂŕdŕݲ÷§�Żc €3Ëá‡%×\s­<˙ü˙ŠńpźˇCWóÉžţ%+­Ś3ĆçŚ�VYe%ŃĐĄË4kŤ–4€CĐe—].‡rXA_›řśX\\§—gśQ’�ç"Ż`;p‚ =z·´‚–[nąâńk¬î“˙â‹/ĺĆoöťC^ź}öyRNzŔ™gž]ň{áđ§/ŢŐyl<účc‰śXléJšOA»ĆDŢŐw�âďşë…ß}ŽqÚůć›o…B!„B!„B!„’=\‘…Ř–[‹¸tîÜI:vl)&ýúő3Űěŕsíµ×Ëgśy-ldsbú·Ăó‡Ť7ß|Ëla„mk\°Z άXâuYtŃEŠß˝+Ż`«źyçť×8–`ĺ–…^Ř8Ď,¶5–O>ůD~űmDńřűďż—ŻżţĆ·ĹŃî»ď&ŰlłµYIĺ“O>•Ź?ţĬVńÓO?K¬Đ\!äŕ+®¸‚ď8¸eP&LôwďŢ]Ň+{`{™yć™Űl×[@~.·Ü2ą&IBа2 ¶é±ánÍă{xä‘GÍ÷9ć݆­rlŰ3a{$8Ju–žţůǬtbăŮgź÷ŮŇEĐńĄŇĘ'l­ĺu&Ău{ěału҇~hěúŁŹ>6«ň¸ŰlB!„B!„B!„BŞYń°ß~ú¶łijj2Űëě¶ŰÎĆyĂÎ,żţú«oË– &Ś·ž‡ó@ĐŮbřđáVY8ÂüňËŻ2÷ÜsĎąŰď�¬žG¤ ˛°ůŢ»÷Ś&Ý.pŔ=Vž�ŘęŽ,‹,˛°ď~pJrŘaGČŤ7^o¶ŃqcÍňË/g>._}ő•ÉŹ»îş§č<áM«Ëşë®#zőꥒűý÷ľă™fšÉ8ë„9•V¬Ůa‡íełÍ6•ž={HVôí›<źfˇ%źştéâsxß}÷5¶^úő×ßJ_ÂŇ[ź:uŞUvřpżô†P¶w?~‚$%Ť|X[Wa+&/(gřlĽńFć+Đ<ţř“rŃE—Č?ü „B!„B!„B!„ěáÖB„D�‡ ¬JrÜq'Ęý÷?ŕ Ű{ď=K¶Ř©®Ó 1âwłŠŠËôÓO_ź[–Xbńâ9¬°‚IxďJpdC† ń]ŰëÄăňÁĘÚkŻg¶p5j”„űžvÚ)rńĹÓčMkąL3Í4*ąĎ?˙Âw ‡ŽĄ—^*6ś]ÖZkÍÂokű`ŐlÓ„U:ŕ´tb]üřăŹňÚkŻK:TžO6[ś2erhĽ0G“JÓťW˘÷«KRĽöýÁAëŔ‘wß}׺j €-a«¤G&‹,2D!„B!„B!„B!ŮĂYQ2lŘCĹ•ŔŚ3Î(łĎ>»|ůĺ—RŘŇĺďż˙6N'. °ĘÂ٢_żľľsżýö›ď«¨ 4¨x<dČB2pŕŔâ±ëlńĘ+ŻĘţűďkľcRűóĎß&÷űďȇ~dMîy 'ÉI'ťb¶×YhˇeÁ4[yŻÖYg­B^­"O?ý¬o›"�ç‰KšĽüň«fµl˙ă˛ăŽŰÎż[]vŮĹľs;qPÁµÎ=÷,ß 'ß~űťÜ|ó­ňÖ[oÉwß}/ăĆŤ3Î/§™8FŚđçÓK/˝lŇR°©˙ýW:wî\<‡ŐiÂčÓ'<,hc}űö5yb[•%h»#GŽ4éČ‚4ňÉËĂ?b>XmŰmÁ¦aŰK-µ„Ż|vëÖMN>ůYýŤ…B!„B!„B!„’-\‘…%={ö,97ýôÓI>ýô3ß1¶9±­€‚ŰĹ|öŮçľăŕ**ŚÇC./ľř’ůűÎ;ďĘ?˙ü#-éž^ÖYgmß*Ď?˙żĐ•)�¶ ša†Ě (÷ÜsŻü‰˛ŢzĘ[l-'NôÉ.ądËFXÍĆëÔ€ű <HŇ«Ä<ýô3ľs«­¶Şl»íÖˇqđű=ôŕŔuFË[o˝mľĎ;ď<ľŐYŕ|´Ůf[ČÍ7ß"ź|ň©qbÓM—L˙Aľüň+ßńŕÁĄcÇňý (Ë,ł´Unć·ÚłKĐ>ń;˝«üxA^{ Úgš¤•O.Xq+ Ť=F^xáEąě˛ËeĎ=÷–Ą—^^yäQźě ,PR !„B!„B!„B!éCGB`ő•ŘŻäüĎ?˙,IŔę.^ŕ°‚Ő=ĽtíÚUŽ<ňđŔý†ť-\°Š VSqYd‘…ŤŁ€c &čÁäɓͪ,.Űlł•ď:¶m…6Ř`}ůďď’÷ß»÷łJIpŰ·ß~§dĄŚ±cÇ˙Ż{衇•f‚śqĆi…´>'W_}…rČfe -^x±ů}^N>ůD9ĺ”eÖYg-žĂŞ"pşë®ŰKV’ąé¦›e„ ć{Źţ­„ţţűăčâůŕ]ˇ'Ś)S¦řŽmÎĐË´é[íµ×%rXmĺᇇÉăŹ?\řÍç8ą<˙ü >ů•VZŃŘ–äÁ!‡$Q`Ş SĚQGa?Ľ¬»î:f &/<đ dEů„•®şęryîą§ eç]yâ‰GŠ[mąŔž{îyß9ŘWĐa‹B!„B!„B!„’>ÜZ›oľ©oâżS§ŽŇżYnąeÍö"^ŕPÜ:GË>d&×˙óźYŠç.Ľđ|Ya…űĺÝwß-LĐ÷’-¶ŘLćśs_ĽË/ż˛dŐ˙ď˙“Í6ŰÔcĺ8ąüůçźĹc¬ş˛Ć«›ďŘČ[ţ`›– ‹m\VXayąôŇ‹Ě;Ç˙"˝{ĎhV>ń®^^ýŤâ÷kŻ˝^V_}hŃyeĹ—7Ž$·Ýv»üđĂŹf‹›Ť6ÚH†mYŮcŔ€ţf•Ź×^{C´`•óĎżPŽ8â0ßům¶ŮÚ|ŕ„ň÷ßcĚ9ŢUh\°ŠČ•W^]<ţĺ—_}áHăqÇ#W_}­q¤{cSĐIÄĆüé;ŢpĂőŤÔ„  úů° ď÷ŚłËµ×Ţ GŐć¸tđÁĘ\sÍ)Ź<ňYuŰXí˛ËN2ß|óšđyć™ÇäÓí·ßYŚóŔĂdűí·-ĂŮćÚkŻ2:ŔŠ<Ý»w—­¶ÚB–]v™Č4c ˇ+®¸JN<ńřâ98 vźü÷ż÷ĘčŃŁ öł¨l˛‰ß‘+đ<ú裒iäśQzőęĺsp‚cËyç]hĘô”)“Ío=âżň/č,E!„B!„B!„BI:˛âÁuň“ágžy¶$[Ó|đˇ…Éő[Ěę�[¤ląĺććcăńÇź;ďĽËöěłĎYĽŔqĹü‚5ţkŻ˝^Ü.ÇËË/ż"O=ő´qDqYk­5Í'Ś'ź|Ę\ĎŽ]t‰o8Çxd‚ŔY»zچ«®şFzőę)»ďľ[IVîŔÇĆ7ß|+;Ko ¤~řAŢ˙Yxá…ŠçvÚióńňÝwßËěłĎ&Q@묳VńŰą+íÜpĂM&Ŕµ×^'Ë-·ŚqrÁŠ8ř„íťĆŚS<~ď˝÷ 6u‡qŢqVp5ˇ/ľřRzôčî[Í%Č-·Ü&Ë/żś şZńx°2‹ ”‰:´`Gă%KŇȧSN9ͬ4änKÇ–SO=)4~ĄĺťB!„B!„B!„˘‡[ R&ŘreĎ=÷): $ń7ß|+ůé§ř퉰˘Ćţâ‹/™UU‚Yv¬^Ž0aŔ9+ČÄ•aî˝÷>k:/»ě 9î¸}Î"a׸ńĆ›ĺ裏“$śyć9˛ß~”l‹c«{ÜsĎ˝˛ŃF›Ęż—„~ř‘ľŐl‚üř㏅Ľ9DâŔ*)aN9îP�ż}Ź=ö–;î¸3öšp9ě°#ĺţű‡•„ťzę‘Űűüý÷ßrčˇGČ_Ť”8öÝ÷�ălňbłÍ¶’>řP˛&Ť|ÂJE;ďĽ[!ţŠ˝ĆŻżţ*»ě˛»ql"„B!„B!„B!„dWd!$L†cÂű믿–gžyÖ8 Ś;VŇ࣏>–5×\GÖZk ŮpĂ dŽ9f—>}úŐQ~ůĺyőŐ×ĺî»ď‘ŻľúZ˘Ó8Îlç4\fLŘůß˙^(n»âňÜsĎ…^{„ rđÁ‡ÉM7Ý"›nş±,ľřâŇ·ďĚ2í´ÓšU.NlgO>ů$ô:X)ů·ńĆš­^ú÷ď'˝{÷.äĺ8>|¸I˙ťwŢ-_~ůĄTÂcŹ=!O?ý¬¬˝öZf»˘Á™•G°ú¶žůţű ůúšü÷ż÷Ś0ľţúYcŤud·Ýv1éťe–Y¤C‡ćBśźĚ*5Řf¨{÷écÓ‡8MěĽóޞţúët<§L3Mg“–?˙ô;RŔŃçŘcO0Űŕlşé&˛ä’KĽĆ–@ŘΫǼřâË&/GŽ´;˘`őC=\yäQłŤĐ A |9r”Yaç’K.5+ÉŘŇ[éśzęéF/X)h饗”~ýú™U^FŚaŇ3lŘňřăOšűV‹4ň ÎE+­´Şlľůć˛ňĘ+ĘÄ|fEäś|>ýôSł‚Ń}÷Ý_ŐßF!„B!„B!„BH{§)ą&Ë÷¨żM!Çî§Ůó×ýth=×!đAXwü]tŃ%^ÁGŤ-„B˘yůĺ˙Ißľ}‹ÇXIÎ/„B!„B!„B!„ú˘gĎćď;YláĎÔÂgLëß)ŹÓúwŞçăxţ?rő7ř=HT+˛BHŃąsgYxá…dńĹ“O?ý¬d{)°ŕ‚}N,ŕ›oľB!„B!„B!„B©5td!„[K]s͕ƙ`Klôä“OËᅬ^˝zÉRK-)ű/Ţ»ďľkś^!„B!„B!„B!¤Öpk!Bi:tč wŢy›,şč"ę8˙üóŹl»íňŃG !„B!„B!„B!¤ţh´­…š…BHC0eĘŮ}÷=ĺé§źQÉőŐW˛ăŽ»Đ‰…B!„B!„B!„’¸µ!„4X•jĎ=÷‘!C–Ť6ÚP]t 0@¦ź~z;v¬üůç_ňţűČłĎ>'Ź?ţ„q~!„B!„B!„B!„Ľ@GBi@Ţ{ď}ó!„B!„B!„B!„z‚[ B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą€Ž,„B!„B!„B!„B!$Đ‘…B!„B!„B!„B!„ä:˛B!„B!„B!„B!„\@GB!„B!„B!„B!„’ čČB!„B!„B!„B!„BrY!„B!„B!„B!„BH. # !„B!„B!„B!„BÉtd!„B!„B!„B!„B!ą ŁBRÁq!„B‚455 IŰWB!^Ř®VŰUB!^Ř®VŰUB!^Ř®’.td!$÷„&„B’×~¸8ííA‡í+!„$°]µĂv•BHŘ®Úa»J!$ lW I:˛� MÚ)|č!„Ʀ’‡Ű�®×h4l_ !„ha»ŰUB!ZŘ®ĆĂv•B¶«„T:˛ŇJđĄű }ĺ?“ţs ’űĎ)=z÷—nÓ÷’Žť» e±\Ŕ÷Ç~Ź’/–0kÚ$'ô@‘žČND$Őo,9=Őć(Ż8Y~ž;ńńĘI‹›–řxú<w*Ôż"^LZJ⦖žđLKjŹŐ¶E_¸ĹR)s©ŰcYyîÔ<Ďł°ĹkLP92eŇ™4v¤Lý«Śűý[óó'2úűweâߊmR#<ČŰ×~}»É‹Í( î%sÍŮ]ôď*3ôšFşvéPţoŤ+tš*«.\ĘK4bÜĘň·Ćq3ą§â˘Uµáv7© —·’űúăUpÓśë&ËüťZČ· §ĘźŁ'ĘĎ#ĆË—?ü-ď1RŢřčOţűř†nW»÷(<·Îľôźe~é=Sáąµg_é:máąµS—Bž7‹-ŁŁúHˇ§µ}FmźËŃË8Š ¨ĚIó,Ł­ş…LŚ\¸LČ3BB]e®'O`´Ś/ă­H¦,T(ç(2´Zĺ%Rƨ+ ŽB&ć:Ĺ˙bdbäŇŇg‰&ĐV.YÝć—+żĽDÔ=x2zĘä ňďÄQ2~ěŻňĎďdäźÉ_żż/Ć5úójY|Ń^˛ŕ‚=d®9¦“ţý»žW;K—.Íć·zł±ä»VĽźřďoűîÄ\#ĺ{MŁ.ŇRŽjŞ­\ ň)ôyM“ć^e¤)ňi¦Ióűµr žO‘רQš˛Ô Ú™É˙N-Śůţ+˙ü1ˇ0üŹüţőhńůH÷焆jW Im‰hR†5)ţ6…»źfĎ_÷Óˇő\‡ŔaÝńwŃE—x5j´RS§N-~ď6}´Üú2p‰ˇŇoέňO¨;a!U×µśŤçŘ#: Óâ‹[ćď¬['–ŠŇb ·¨őHxyúWÄ+çwZ“§§Â2'i¦EĄĹ^Ž=fYţ#„*¶ssˇ=ÖH˙-AŮ·˙ü±üńéł2âÇdҸ¶~MssłÔŢöµWĎβŃúłĘšCČ öň Ćž0”ńš*kŤ”4˝•Ä­Ĺ=Ë›‹É˙ZĹŤëÄUě’ž §żˇôÓFęy\QÜ„‘s¬›¦ â¦ď˝Âŕŕc/˙"÷>óŁŚúűßâůznW»uë!‡¬#ó ZMúĎ2¨x>Şż© ?­čżŘNĆ=WhdÂŐÝ& 2 …\~&ĺ-Ďię*M=ycłĎqTşJCeé BąFtbi+/%07ĺĹ[^ěˇÉ_­\śô:STj=(u5úĎOĺן—źľ}\&ý;¦^ßĎ«ťdőúËš«Ď, îQ<Ěo•|WČőjýî¤s݆v¨¶N´ry˧¤)ňiŢ«ő ^uRM§‹¨ŇTKťüńőhůńÍßä›—†Ëż˙L*žŻ·v•䇞=[ú2ďĽó沅?čđŚiý;%đqZ˙Nő|ĎßŕGBŽŁţż‰ 3Đ‘…´[Ľ,Ýgě+K­ł,˛ęćŇbVvčÄMŇßI'–đjýÓ‰Ĺ&"é¦EĄĹ^Ž=fYţ#„*¶ssˇ=ÖH˙-AŐmŕ‰˙ëŰ÷ĘOŻÜnViqÉűŚ·}Ĺę+»í8·l˝Ĺö7 â OĘxtb‘ä$Íăś§7Ő¸qť¸ ‚]čÄ"uTO¤7aäë¦ÖN,ľ¨Sąő±ďĺšűľ2«´¸ÔS»ŠŐW–^~˛Ä¦…vŐźî¨ţ¦"(ü´¶˙˘ís9z™pu· ¨LB!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő@W°˙ż~@ľůô.łJ‹K}=Żv‘]vś]¶Ú|űj+!zM"Ô«ő»“νčĢ“SéD+—·|ŞAš"Ż‘ć˝ZęU'Ő´q:±*MąŃI!đ«g’OůNĆý5ˇxž-¤\čČFGRxZ–Ý`7Y~ă=ͲËѥɱťôţ ‰'ˇB‘%Ô)łt;aA1ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·U· pO9?Ľp­üřŇŤĹSy}ń¶Ż{ď6źěż÷Ŕđ%1ă OĘxtb‘ä$Íăś§7Ő¸qť¸ ‚]čÄ"uTO¤7aäë&ON,ľľR!Ż/Ľýsąěî/‹çęˇ]]vĄťeůUv+q`QýMEPřim˙EŰçrô2áęnP™„BŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘PëˇB]™‰·ŹoŻ?ąĄx®ÚŐ˝v›CöÝk®âóŞď<p˘$¬Lą ^­ßťtîE'ťśJ'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiĘŁNĐ®~ôŔ×ňÉßĂéĚBʡŃY:Žj:˛hť[ÜsÓŕoż~vĹ'L(„„áÝ÷´ďěóËĆűź+—[·`HM1%ɱťôţ ‰'ˇB‘ĄÓ)łd;aA1ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·U· (©Ź k=f_Lz͵´ŚýíKů÷ź?ŠmY^öMő¶Żč)—ś»”l¸ŢčÄRIÜZÜłŚ¸tbIXN!~Cé§ :±HrqóęÄĐ6-łPoYq±>ňÉ·cdÄ_rÝ®öí?P6ŢęLĽđÚÖôEő7Aá§µýmźËŃË„«»M@e 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡t…çŐú,"3ő]JţőĄLśđgľźWçď.ť·°¬żn:±ä%MŰŻąN´ry˧¤)ňiŢ«ő ^uRM§‹¨Ň”Wť ]í3˙ Ň·đĚ:ꇿe¨‰ąkWIľéŇĄ‹ůűË/ĂŻ“ËšŘú7ř‘sąŽ,¤Ýŕ{hYv]Ůü‹¤ű }­Ť–/ž-ÔҨ†HDôĐŞëZNÄĆsěť„ińĹ-ów҉%<˘Z˙tb±‰Hşi‘Diń…—cŹY–˙ˇŠíÜdhŹ5ŇKPuŰ€¨ú¨s÷>2ó dÂČá2nÄWĹóµ~ń¶Ż¬űąú’e¤ďĚ]#"H2”ńčÄ"ÉIšÇ9OoŞqă:q»Đ‰EꨞH#nÂČ9ÖMžťXĽôť±«ląĆ¬ňăŻăäłďĆĎç©]´đÚ˛ůöçI÷î3ŰeKľ”Dö‘BOkű/Ú>—Ł— WY›€Ę$rtb —Ó4w±ŮG'–Č“i”—HO`Ľ®¬VčÉMy±Ĺ–{FhňW+§˝bÄ•€ZięŞ@—®3É€9דqc‘F]<ź§vuýuűÉ/Rx^íŇî• ś( +S.¨Wëw'ť{щE'§Ň‰V.oůT4E^#Í{µÔ«NŞiătbUšęA']{u‘9V c/Łü§xžÎ,$:˛D‡Ń‘…äďCË’km'kîxtK…ďD—H:±D“ôw҉%<˘Z˙tb±‰Hşi‘Diń…—cŹY–˙ˇŠíÜdhŹ5ŇKPuŰ�U}Th»f¸’LůwśüýóGŇvş61Ţöuçíç–Źť–¸ÂSa<:±Hr’ćqÎÓ›jܸN\Á.tb‘:Ş'Ň›0rŽuS/N,.hłÖX¦źŚť0EŢýl¤ď|-đ=·.»µ¬ąţfőP«lÉ—’¨ đÓÚţ‹¶ĎĺčeÂUÖ& 2 …ťXÂĺ4Í]löщ%ňdĺ%RĆŻ+«úErS^,A±ĺĹžšüŐĘĹéAŻ1E% ÖCšşň ÍšyŔ 2eňxőçÇĹŕ<´«;m7›śpôü智î• ś( +S.¨Wëw'ť{щE'§Ň‰V.oůT4E^#Í{µÔ«NŞiătbUšęI'h?ű/ÖG&žW˙üzt1śÎ,$ :˛D‡Ń‘…䎠Ë*[Ü]éÄMŇßI'–đjýÓ‰Ĺ&"é¦EĄĹ^Ž=fYţ#„*¶ssˇ=ÖH˙-AŐmĘ­ŹzαTÍťY‚N,G<8&‚$Ľ‘NŚN,’ś¤yśóô¦7®WA° ťX¤Žę‰4â&ŚścÝÔ›‹—™IĆŽź"ď~^;g– Ë*k.[ňĄä ˛ŹzZŰŃöą˝L¸ĘÚTjUČщ%\NÓÜĹfťX"O¦Q^"e<ńş˛Zˇ_$7ĺĹ[^ěˇÉ_­\śô:STj=¤©«ąű.Qsg– ËáĎëKjÉw'"¬Lą ^­ßťtîE'ťśJ'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiŞKťyĐŚtf!jÍ‘ĄYi`‚Ű Ń‰Ĺ‰ŹçÄ×RI'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·U· HZͶÚţ2ÓŕµZŻŃÖŢUŕvBtb)˝DŐâU).ťXÖŔ†SßPúiN,’EÜzvbqůż]ŤVžĄĺ5lW±ťťXJTÚPČщ%\NÓÜĹfťX"O¦Q^"e<ńş˛Zˇ_$7ĺĹ[^ěˇÉ_­\śô:STj=¤©«9÷ÔĽ ď-ýf[Łĺ\ ŰUl'D'…\5Ód±ýšëD+—·|ŞAš"Ż‘ć˝ZęU'Ő´q:±*Mu©Ď—·śWf]¦_ëő«Ű®RKčČBoeŢwöůeÝÝOl (m´|ńlˇ–F%DD"˘‡FT]×r"6žcŹč$L‹/n™ż“N,áŐú§‹MDŇM‹$J‹/Ľ{̲üGUlçć C{¬‘ţ[‚ŞŰTZÍ˝ţ12]żůZŻUť‡ßdŰ=ĺĚ“Ť‰ o¤Ł‹$'iç<˝©ĆŤëÄUěB'©Łz"Ť¸ #çX7ŤŕÄâĆ=çŔ!2xîž-‡5hWűö(ënrl¸lÉ—’¨ đÓÚţ‹¶ĎĺčeÂs¸M@Ą…ťXÂĺ4Í]löщ%ňdĺ%RĆŻ+«úErS^,A±ĺĹžšüŐĘĹéAŻ1E% ÖCšş ‘ žĽÄ‘ҽ׼-aµx^ťż»ś~Ň _şJľ;aeĘőjýî¤s/:±čäT:ŃĘĺ-źj¦Čk¤yŻÖzŐI5mśN,˘JS]ęÄ"·řn¤×ěÝ[ďCgŇ> # iHĽ8ľŻľý‘ŇÔÔlm´|ńlˇ–F%DD"˘‡FT]×r"6žcŹč$L‹/n™ż“N,áŐú§‹MDŇM‹$J‹/Ľ{̲üGUlçć C{¬‘ţ[‚ŞŰ¤RÚ¶9Ö8´¤ÝËŠŕ}Ž;ráčĄ,“&EŹN,’ś¤yśóô¦7®WA° ťX¤Žę‰4â&ŚścÝ4’ @›vâkÖ®®ľîa…<mŽJbdG("(ü´¶˙˘ís9z™đśmPĺľBŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…ČŮ’‹6mţE¬Y»zĚQ}Ď«Ž?yˇzM"Ô«ő»“νčĢ“SéD+—·|ŞAš"Ż‘ć˝ZęU'Ő´q:±*Mu©“ąBŁ& o7°jí*!y€Ž,¤aq=—Űpwé?ׂÖFË'o µ5v‰Qu]ˉŘxŽ=˘“0-ľ¸eţN:±„GTëźN,6I7-’(-ľđrě1Ëň!T±ť› í±Fúo Şnf}4Ý€A2Ëň;WÍß˝Ď>»”…ě!(ÉPĆŁ‹$'iç<˝©ĆŤëÄUěB'©Łz"Ť¸ #çX7ŤćÄâ2dŢ^˛ß–óV˝]]nĺ]¤˙,ě2%_J˘‚ÂOkű/Ú>—Ł— ĎŮ6Uî+äčÄ.§iîbłŹN,‘'Ó(/‘2žŔx]Y­Đ/’›ňb Š-/öŚĐäŻV.NzÄ)*µŇÔU\Tr{̰€ĚµŔUoW÷Ţ}NYhp[’JňĄ$¬Lą ^­ßťtîE'ťśJ'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiŞKťÄČÍ0g™9«Ö®RkčČB·ňĆßî3ö•ĺ7ŢÓÚhůâŘB-ŤEDDŤ¨ş®ĺDl<ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·U· Ȣ>úĎŠ»Jçî3űÚŔ´ń^»_ßn˛˙Ţ#„%áMtbtb‘ä$Íăś§7Ő¸qť¸ ‚]čÄ"uTO¤7aäë¦QťX\Úz>éß»kŐÚŐî= Ď­«ěf—+ůRr~ZŰŃöą˝Lxn¶ ¨r\!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉ•ąŘIşt«ćójŮwŻą¬I ćKIX™rA˝Zż;éÜ‹N,:9•N´ry˧¤)ňiŢ«ő ^uRM§‹¨ŇT—:QĘÍżá\Ňu†.™¶«„ä:˛†dęÔ©ćďRëěh–±ŚŞĆéÄMŇßI'–đjýÓ‰Ĺ&"é¦EĄĹ^Ž=fYţ#„*¶ssˇ=ÖH˙-AŐm˛¨Ź MÍ2Ë2ŰšŻnîµwŰqžđ-…b+ĹŁ‹$'iç<˝©ĆŤëÄUěB'©Łz"Ť¸ #çX7ŤîÄĐĆíľÉ<ć{5ÚŐĄ—ß¶e+Ü�QýMEPřim˙EŰçrô2áŮŢ& R«BŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…Č)’Űr [âη•9®F»şËŽsźWť`ZBôšD.¨Wëw'ť{щE'§Ň‰V.oůT4E^#Í{µÔ«NŞiătbUšęR'Z9üWhăć]{s.Ëv•<@GŇPx=»MßC]mó’FË'o µ4!"=4˘ęş–±ń{D'aZ|qËüťtb ʍÖ?ťXl"’nZ$QZ|áĺŘc–ĺ?B¨b;7ÚcŤôßTÝ6 +'÷wÎĽŘ&Ň©›géä˝ń˝×ęŐłłlłĺ!‚’đ:1:±Hr’ćqÎÓ›jܸN\Á.tb‘:Ş'Ň›0rŽuÓśX\¶_g6éŐ˝s[”ŚÚŐn…¶{‘%7-•)ůRr~ZŰŃöą˝Lx¶ ¨rY!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉőťúĎ\Jçiş·…eöĽÚI¶Ţb–’űóĄ$¬Lą ^­ßťtîE'ťśJ'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiŞKťhĺ<'ć\u™fúNž´9!ŤYHĂáz ^~‰2q:±D“ôw҉%<˘Z˙tb±‰Hşi‘Diń…—cŹY–˙ˇŠíÜdhŹ5ŇKPuŰ€¬ťXZh–™ZÇ|ËÂß˝ćĆĚf_Ť%.±a(ăщE’“4ŹsžŢTăĆuâ*vˇ‹ÔQ=‘FÜ„‘s¬›öäÄĐÖmşęĚ÷,ŰŐY·d5–¨ţ¦"(ü´¶˙˘ís9z™đloP©F!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉ-=UhëúĎľ–ůše»şáúLîÓ˘×$rA˝Zż;éÜ‹N,:9•N´ry˧¤)ňiŢ«ő ^uRM§‹¨ŇT—:ŃĘÓThëf]n€9ćŞ,¤‘ˇ# i‚‡—.[Ҥ‰µ±‘čˇU×µśŤçŘ#: Óâ‹[ćď¤KxDµţéÄb‘tÓ"‰Ňâ /Çł,˙BŰą9ČĐk¤˙– ę¶ŐqbiaĆ«îw•x‚×Xsč�‹$Ľ¸NŚN,’ś¤yśóô¦7®WA° ťX¤Žę‰4â&ŚścÝ´7'—µ—ëA»:ß Őüá%_J˘‚ÂOkű/Ú>—Ł— ϵ6UÎ*äčÄ.§iîbłŹN,‘'Ó(/‘2žŔx]Y­Đ/’›ňb Š-/öŚĐäŻV.NzÄ)*µŇÔUś"ą!ĺĹ‘™¬8ĄÉˇhJžWWźŮw˙`ľ”„•)Ô«ő»“νčĢ“SéD+—·|ŞAš"Ż‘ć˝ZęU'Ő´q:±*Mu©­\Hšú/>łřŇÁUYHBGŇP¸u÷úJż9´Ëc;éýOB…"›Gy]ˉŘxŽ=˘“0-ľ¸eţN:±„GTëźN,6I7-’(-ľđrě1Ëň!T±ť› í±Fúo ŞnPM'ś®˙ŇąűĚ­÷Ž»Š÷Zýúv“…ěĽm‹ęÄčÄ"ÉIšÇ9OoŞqă:q»Đ‰EꨞH#nÂČ9ÖM{ubCćí%ý{wm‰žA»Ú˝G_é?Ë ¶ó%_J˘‚ÂOkű/Ú>—Ł— ϵ6UÎ*äčÄ.§iîbłŹN,‘'Ó(/‘2žŔx]Y­Đ/’›ňb Š-/öŚĐäŻV.NzÄ)*µŇÔUś"ą!ĺĄĺlŹć—.ݲ|^í" öl·[üĎsö]!Ô«ő»“νčĢ“SéD+—·|ŞAš"Ż‘ć˝ZęU'Ő´q:±*Mu©­\DšzÍŮCşÎĐĄ5]Á\ ¤1 # iHfťqëy:±D“ôw҉%<˘Z˙tb±‰Hşi‘Diń…—cŹY–˙ˇŠíÜdhŹ5ŇKPuŰ€j;±¸˙÷mQÉŠ%ďm»mů(ăщE’“4Źsž^+™čĆ© ntb‘:Ş'Ň›0rŽuÓžťX\–Z°·dŬs´µŮQýMEPřim˙EŰçrô2áŮŢ& RŤBŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…Č)’R^üggidĹ‹ÍĐvŰâžă°ď ą ^­ßťtîE'ťśJ'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiŞKťhĺię=p!¤‘ˇ# iŕmč~@ż9•Ę”4ibm,BD$"zhDŐu-'bă9öN´řâ–ů;éÄQ­:±ŘD$Ý´H˘´řÂ˱Ç,Ë„PĹvn2´Çéż%¨şm@­śXŔtýçoMżmLBđ ęĽm‚‹ęÄčÄ"ÉIšÇ9OoŞqă:q»Đ‰EꨞH#nÂČ9Ö ťXZâ.<OKŰ—E»Úo@k›íąźďćaGÚţ—¶˙˘ís9z™đ\jPĺ¤BŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…Č)’R^J۲î3 l Jż]ÜşK0_‰ř® ęŐúÝIç^tbŃÉ©t˘•Ë[>Ő M‘×Hó^­őŞ“jÚ8ťXD•¦şÔ‰VN‘&ôšŁµíKˇ]%$ŹĐ‘…4 Žô0gŕŚcóţ ą’„ 9ŃIĐ]×r"6žcŹč$L‹/n™ż“N,áŐú§‹MDŇM‹$J‹/Ľ{̲üGUlçć C{¬‘ţ[‚ŞŰÔ҉tí=‡Ä_- ŽĚ=Ww÷kŇK¨ ‹$'iç<˝©ĆŤëÄUěB'©Łz"Ť¸ #çX7tbi‹;ϬÓIVíęL}ćŚěo*‚ÂOkű/Ú>—Ł— Ď­6UŽ*äčÄ.§iîbłŹN,‘'Ó(/‘2žŔx]Y­Đ/’›ňb Š-/öŚĐäŻV.NzÄ)*µŇÔUś"ą!ĺĹŢ–M×}vŃĺTąžWçś®$_‰ř® ęŐúÝIç^tbŃÉ©t˘•Ë[>Ő M‘×Hó^­őŞ“jÚ8ťXD•¦şÔ‰VN‘&7¦ďźŐó*!ů ŁŇ€ôčÝżřťN,Ń$ýťtb ʍÖ?ťXl"’nZ$QZ|áĺŘc–ĺ?B¨b;7ÚcŤôßTÝ6 ÖN,`šý$+ôďźŘ0”ńčÄ"ÉIšÇ9OoŞqă:q»Đ‰EꨞH#nÂČ9Ö ťXüqgéÓM˛˘{Ďľ%÷ &<"(ü´¶˙˘ís9z™đloP©F!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉ )/ámY×ig–¬čßżK¨^Kľ+ä‚zµ~wŇąťXtr*ťhĺň–O5HSä5ŇĽWëA˝ę¤š6N'QĄ©.u˘•S¤É›ÝzwB:˛†¤Űô­Ë?—4ibm,BD$"zhDŐu-'bă9öN´řâ–ů;éÄQ­:±ŘD$Ý´H˘´řÂ˱Ç,Ë„PĹvn2´Çéż%¨şm@śX@§n=%+fč5Ť$"îG¶B'INŇ<ÎyzSŤ׉« Ř…N,’yzéÄ"ÉQÄĄKiÜşw–¬č6mŻČŽPDPřim˙EŰçrô2áŮŢ& RŤBŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…Č)’R^śH™Nť{IVôęŐŮzß’ďŽÄĘőjýî¤s/:±čäT:ŃĘĺ-źj¦Čk¤yŻÖzŐI5mśN,˘JS]ęD+§HS0:OźÝó*!y€[ ‘†Ŕ»ďľvěÜEčÄMŇßI'–đjýÓ‰Ĺ&"é¦EĄĹ^Ž=fYţ#„*¶ssˇ=ÖH˙-AŐmňâÄš:uńĄ§Ň=ÇŰľ‹tíŇAĘFy{:±Hr’ćqÎÓ›jܸN\Á.tb‘ĚÓK'IŽ".ťXěq»NÓ!łvµc§.ˇ7Źę#…žÖö_´}.G/ž+mŞśSČщ%\NÓÜĹfťX"O¦Q^"e<ńş˛Zˇ_$7ĺĹ[^ěˇÉ_­\śô:STj=¤©«9ErCĘ‹+ÓÜašĚÚŐ.]šKî[ň݉óD^ĂóĄŇ{щE'§Ň‰V.oůT4E^#Í{µÔ«NŞiătbUšęR'Z9Ešl婹ssjí*!y„+˛Ć¤É2 ki,BD¬B‘ŐżŁĽ®ĺDl<ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·UhŹND-^őQ1<Ä€˘ë€Đ©ČŠij*óÚq?Ň˝nq­‘Ĺő_˘jńŞ—N,‰k`Ă)Äo(ý´A'IŽ".ťXÂă–Ýö•AS1ç#údÚţ—¶˙˘ís9z™đloP©F!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉ )/NĽŚxŰľôA›í„¤!arA˝Zż;Ń×ĐŢ‹N,:9•N´ry˧¤)ňiŢ«ő ^uRM§‹¨ŇT—:ŃĘ)ŇVž˛|^%$Đ‘…´,ŤEUȉą¶ęş–±ń{D'aZ|qËüťtb ʍÖ?ťXl"’nZ$QZ|áĺŘc–ĺ?B¨b;7ÚcŤôßTˇ=:a¶xÔGĹđJjŹUG™:±Hr’ćqÎÓ›jܸN\Á.tb‘ĚÓK'IŽ".ťX¤ň2[}2m˙KŰŃöą˝LxÖµ ¨˛W!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉ )/NĽLd@ú8ÁďNDçŔ‘9‹y&ąťXtr*ťhĺň–O5HSä5ŇĽWëA˝ę¤š6N'QĄ©.u˘•S¤IUžiPčČBKc"brb®­ş®ĺDl<ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·UhŹND-^őQ1<Ä€’ÚcŐQ&†N,’ś¤yśóô¦7®WA° ťX$óô҉E’ŁK'©ĽĚ¦HT)ô´¶˙˘ís9z™đ¬kPeŻBŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…Č)’R^śx™Č€ôq‚ßť0Ď#1rNô5´÷˘‹NNĄ­\Ţň©iŠĽFš÷j=¨WťTÓĆéÄ"Ş4ŐĄN´rŠ4©Ę! LłRç8Йč Ý)ůb ‰¨ş®ĺDl<ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·UhŹND-^őQ1<Ä€’ÚŁI0ůšxOUe4:±Hr’ćqÎÓ›jܸN\Á.tb‘ĚÓK'IŽ".ťX’Ç͢]Ťę#…žÖö_´}.G/ţkÚTą¤ęÇć2úęÝI*c铥©«4őä ŚÍ>:±DžLŁĽDĘxăueµBżHnĘ‹%(¶ĽŘ3B“żZą8=ču#¦¨ÔzHSW!rŠä†”'^&ŕX/ŁÉU]'ř݉ó8#çD_C{/:±čäT:ŃĘĺ-źj¦Čk¤yŻÖzŐI5mśN,˘JS]ęD+§HS9ĺÉ-éř!9„+˛ĆĹŇX„Ř+{‰Ž¨ş®ĺDl<ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·UhŹND-^őQ1<Ä€’ÚcŐQ&†N,’ś¤yśóô¦7®WA° ťX$óô҉E’ŁK'©ĽĚ¦HT)ô´¶˙˘ís9z™đ¬kPeŻBŽN,áršć.6űčÄy2Ťň)ă Ś×•Ő ý"ą)/– ŘňbĎMţjĺâô ×AŚ˘Pë!M]…Č)’R^śx™@€&˙*Á ~w"Â<ŽÄČ9Ń×ĐŢ‹N,:9•N´ry˧¤)ňiŢ«ő ^uRM§‹¨ŇT—:ŃĘ)ŇTNy"¤‘ˇ# iL,ŤEUȉą¶ęş–±ń{D'aZ|qËüťtb ʍÖ?ťXl"’nZ$QZ|áĺŘc–ĺ?B¨b;7ÚcŤôßTˇ=:a¶xÔGĹđJjŹUG™:±Hr’ćqÎÓ›jܸN\Á.tb‘ĚÓK'IŽ".ťX¤ň2›"Q}¤ĐÓÚţ‹¶ĎĺčeÂł®M@•˝ 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡4u"§HnHyqâešüK 'âŢÁ< ćo¤śâ^tbŃÉ©t˘•Ë[>Ő M‘×Hó^­őŞ“jÚ8ťXD•¦şÔ‰VN‘¦¤ĺ‰F„Ž,¤aq4aNyńlŤhd\'",(ćŘ#: Óâ‹[ćď¤KxDµţéÄb‘tÓ"‰Ňâ /Çł,˙BŰą9ČĐk¤˙–  íщłĹË >*†‡PR{¬:ĘÄЉE’“4ŹsžŢTăĆuâ*vˇ‹dž^:±HrqéÄ"•—ىę#…žÖö_´}.G/žumŞěUČщ%\NÓÜĹfťX"O¦Q^"e<ńş˛Zˇ_$7ĺĹ[^ěˇÉ_­\śô:STj=¤©«9ErCĘ‹/Đä_Z8÷ćIXX0#ĺ÷˘‹NNĄ­\Ţň©iŠĽFš÷j=¨WťTÓĆéÄ"Ş4ŐĄN´rŠ4%-O„4*td! ‰Ł sĘ‹gkD#ă:aA1ÇŃI_Ü2'ťXÂ#ŞőO'›¤›I”_x9öeůŹŞŘÎÍA†öX#ý·UhŹND-^őQ1<Ä€RłÇ¬QŢN,’ś¤yśóô¦7®WA° ťX$óô҉E’ŁK'©ĽĚf…¶˙Ąíżhű\Ž^&<ëÚTŮ«ŁK¸ś¦ą‹Í>:±DžLŁĽDĘxăueµBżHnĘ‹%(¶ĽŘ3B“żZą8=ču#¦¨ÔzHSW!rŠä†”'^& Éż´¨ŰIw­\5Ód±ýD÷RĘ©t˘•Ë[>Ő M‘×Hó^­őŞ“jÚ8ťXD•¦şÔ‰VN‘¦¤ĺ‰F†Ž,¤]á”|±„…Dt˘COÄĆsěť„ińĹ-ów҉%<˘Z˙tb±‰Hşi‘Diń…—cŹY–˙ˇŠíÜdhŹ5ŇKP…öčD„ŮâePĂC (5{Ěĺ éÄ"ÉIšÇ9OoŞqă:q»Đ‰E2O/ťX$9Џtb‘ĘËlVhű_Úţ‹¶ĎĺčeÂł®M@•˝ 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡4u"§HnHyqâešüË 'ä{PŻÖďNô5‚ş •sti˘‹B'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiŞKťhĺiJŁ<ŇĐ‘…´ś’/–°Ntpč‰ŘxŽ=˘“0-ľ¸eţN:±„GTëźN,6I7-’(-ľđrě1Ëň!T±ť› í±Fúo ŞĐť0[Ľ ęŁbxĄfŹYŁĽ!ťX$9Ió8çéM5n\'®‚`:±Hć饋$G—N,5Ś›đÚŽBÎQDŚęSheÂ~›€*‹rtb —Ó4w±ŮG'–Č“i”—HO`Ľ®¬VčÉMy±Ĺ–{FhňW+§˝bÄ•€Zię*DN‘ÜňâÄË´úĚ'ä{PŻÖďNô5‚ş •sti˘‹B'ZąĽĺS ŇyŤ4ďŐzPŻ:©¦ŤÓ‰ETiŞKťhĺiJŁ<Ҩ4 !uŽŁxzwJľXÂB":ŃÁˇ'bă9öN´řâ–ů;éÄQ­:±ŘD$Ý´H˘´řÂ˱Ç,Ë„PĹvn2´Çéż%¨B{t"Âlń2¨ŹŠá!”š=ĂLĚ:eg@)tb‘ä$Íăś§7Ő¸qť¸ ‚]čÄ"™§—N,’E\:±d7őv5ę–Úţ‹¶ĎĺčeÂSÜ& úU 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡4u"§HnHyqâeZ}¶ÝB“ăş8NČ÷ ^­ßťčku*çčŇD'…N´ry˧¤)ňiŢ«ő ^uRM§‹¨ŇT—:ŃĘ)Ň”Fy ’¤]%$ŻpEŇđ8%_,a!ťčŕбń{D'aZ|qËüťtb ʍÖ?ťXl"’nZ$QZ|áĺŘc–ĺ?B¨b;7ÚcŤôßTˇ=:a¶xÔGĹđĘÂ3Ay}:±Hr’ćqÎÓ›jܸN\Á.µpb ­{÷mjJ7”ŚËťX$9›¨ nŞńÚcÜ´n©íżhű\Ž^&üç· ¨˛H!G'–p9Ms›}tb‰<™Fy‰”ńĆëĘj…~‘Ü”KPly±g„&µrqzĐë FLQ ¨ő¦®BäÉ )/NĽL @«Ď,pBľőjýîD_#¨«P9G—&:±(t˘•Ë[>Ő M‘×Hó^­őŞ“jÚ8ťXD•¦şÔ‰VN‘¦ÔĘ! YHCă”|±„…Dt˘COÄĆsěť„ińĹ-ów҉%<˘Z˙tb±‰Hşi‘Đž¦Şl`fŻ{̲üGUlçć C{¬‘ţ[‚*´G'"Ě/ú¨b@YŘc&(ŻO'INŇ<ÎyzSŤ׉« Ř%k'–˛|&”˛¶k6Id\včÄ"ÉQÄĄK ă¦uKm˙EŰçrô2á?żM@•E 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡4u"§HnHyqâeë)%‚yâ„„ó7RΉą†ťX”r*ťhĺň–O5HSä5*Ľ—ăT®“ŕ°l­tRM§‹¨ŇT—:ŃĘ)Ň”¤<ĹÝ‹F„Ž,¤aqJľXÂB":ŃÁˇ'bă9öN´řâ–ů;éÄQ­:±ŘD$•´8vŁH‹/|j {Wx‚JE˙©ŰcŮyžˇ=ÖČ[‚*´G'"Ě/ú¨b@YŘc-ˇ‹$G—N,‰“çoqCo=U’QaŁ7i=[2.;tb‘ä(â҉Ą†qÓşĄ¶˙˘ís9z™đźß& Ę"…ťXÂĺ4Í]löщ%ňdĺ%RĆŻ+«úErS^,A±ĺĹžšüŐĘĹéAŻ1E% ÖCšş ‘S$7¤Ľ8ń2€Šő”Á<qB‚ů)çÄ\C„N,J9•N´ry˧¤)ňeŢˉą^RťLuěi˛:¸Ňw/­NŞiătbUšęR'Z9Eš˛¨ăiTčČB§ä‹%,$˘z"6žcŹč$L‹/n™ż“N,áŐú§‹MD§ĹbIőď ·ŮŁ÷^Ţ˝,Ë„PĹvn2´ÇŮbKP…öčD„ŮâePĂC (•ú(p".=YB'IŽ2.ťX&Ďß2â–Ds*‹źE‡5š¸Iď„N,’E\:±Ô0nZ·Ôö_´}.G/ţóŰTY¤ŁK¸ś¦ą‹Í>:±DžLŁĽDĘxăueµBżHnĘ‹%(¶ĽŘ3B“żZą8=ču#¦¨ÔzHSW!rŠä†”'^&P±žR"'NHX0#ĺśkЉE)§Ň‰V.oůT4E^Cq/łÚŠć^­ië$čŕâ>źŇ‰ĄĘ÷ŞAšęR'Z9Eš˛(O„42td!Ť‹Ł:ĺ t˘COÄĆsěť„ińĹ-ów҉%<˘Z˙tb±‰H˘´LuÂäٱǢ.›ôż1p"u{,;Ď3´ÇŮbKP…öčD„ŮâePĂC (•ú(p".=YB'IŽ2.ťX&Ďß2âú˘„Ť4”uIŽ2®›NźCKĆ饋$G—N,5Ś›Ö-µýmźËŃË„˙ü6U)äčÄ.§iîbłŹN,‘'Ó(/‘2žŔx]Y­Đ/’›ňb Š-/öŚĐäŻV.NzÄ)*µŇÔUś"ą!ĺʼn— T¬§,čŐú݉“R]…ĘEŘmŮrŐL“ĹöÝK)§Ň‰V.oůT4E^#â^>çÍ˝ZŞˇŻcMŃ©Eě÷Ňꤚ6N'QĄ©.u˘•S¤)ëňDH#BGŇ8ŞSľ@':8ôDl<ÇŃI_Ü2'ťXÂ#ŞőO'›”ťÇ)/oiń…—cŹŽç÷[^OݍüGUlçć C{¬‘-¶UhŹND-^őQ1<Ä€R©Ź'âŇ“%tb‘ä(ă҉%Q`ňü-#nQÜ©,ľ-žRA5…-§’ŕžŢ•cÔ[%¸'ťX$9Џtb©aÜ´Đö_´}.G/ăHĽ€*‹rtb —Ó4w±ŮG'–Č“i”—HO`Ľ®¬VčÉMy±Ĺ–{FhňW+§˝bÄ•€Zię*DN‘ÜňâÄË*ÖSÚXĚÎú]#çÄ\C„N,Jąŕý*’Ë[>Ő M‘×°ÜËşeć^­µĐ‰;l\âĐR†NŞiătbUšęR'Z9Eš˛.O„4*td!í'&Đ)'®˛ˇpJśřxN|ăă”|±„Ůâ9ŠkZNŞňĆň;ó‘K¸%@­:±ŘD¤¬´¸«ĺäMDZüio MZ˙×˙ŠĘ„PĹvn2´ÇŮbKP…öčD„ŮâePĂC (•ú(p".=YB'IŽ2.ťX&Ďß2âQ{UFüň łŐÁĄŘ„%đFq‹źS¦3K•ň8ݸ #ç¸ěЉ%۸MŐheµýuź[/ăHĽ€*rtb —Ó4w±ŮG'–Č“i”—HO`Ľ®¬VčÉMy±Ĺ–{FhňW+§˝bÄ•€Zię*DN‘ÜňâÄË*ÖS8ÇÁüu˘äśkЉE)Ľ_Ery˧¤)ňSť îŐzPz}'>MžĘJż÷=Č&Ń뤚6N'QĄ©.u˘•S¤ÉZžRĽ!Ť YHĂăÄ:ĺÄU6N‰€ωo|ś’/–0[<GqMËIUŢX~g>Ňb ·¨őO'›¨Óâ}Đ)'oś–4ęʆ’°đ·ÖĂőářĽ|—“ ě±ě<ĎĐkd‹-AÚŁf‹—A}T i@R©Ź'âŇ“%tb‘ä(ă҉%Q`ňü-#nh—4§śJY‰~ýXÇ–`=î¸ń¤¬xaЉE’ŁK'–lă҉E™˝ 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡4u"§HnHyqâeë© 8¶ďND”ę*TÎQÜK+WÍ4Yl?Ń˝”rÁűU$—·|ŞAš"ŻŃúź'§ş—S™NBĆ€ÍWË‹Úß?µőkĹŰĄhătbUšęR'Z9Eš**OĺŢ‹„Ž,¤ˇqbťrâ:aA1ÇŃI_\'"ĚĎQ\ÓrR•7–ߙʴXÂ-jýÓ‰Ĺ&"Ş´8Ž2-Rš.EZ|áˇöŘĐäYµ%>ßëÓQęöXvžghŹ5˛Ĺ–  íщłĹË >*†‡4 ©ÔGqéÉ:±Hr”qéÄ’(0yţ*ă:eX7N:iN×{ď¦'ÍŇxnśňďYĽźőÂ’śŠâ&Śśă˛C'–lă҉E™˝ 9:±„Ëiš»ŘěŁKäÉ4ĘK¤Ś'0^WV+ô‹ä¦ĽX‚bË‹=#4ů«•‹Ó^1bŠJ@­‡4u"§HnHyqâei•—,qlßť0)ŐU¨śŁ¸—V®ši˛Ř~˘{)ĺ‚÷«H.oůT4E^ź©1׺W°‘ĄN÷rO4ť¸«´$Úv(E§‹¨ŇT—:ŃĘ)Ň”iy’Ňü%¤ˇ# iXś@§ś¸NDXP̱Gt¦Ĺ׉łĹs×´śTĺŤĺwć#-–pK€Z˙tb±‰*-e:±8–‚–¬l„ŰŁÓŞ|„5…L˙”čß7…^3:-!× śĚ…=ÖČ[‚*´G'"Ě/ú¨Ň€¤RNÄĄ'KčÄ"ÉQĆĄK˘Ŕäů«Ś[®K¬K ^Ůľ­ňÚí€|N-˘‹äőëôŢ3:±HrqéÄ’mÜŞ8±Xp'ŁúZGâT9 ŁK¸ś¦ą‹Í>:±DžLŁĽDĘxăueµBżHnĘ‹%(¶ĽŘ3B“żZą8=ču#¦¨ÔzHSW!rŠä†”'^&VyÉÇö݉“R]…Ę9Š{i媙&‹í'ş—R.xżŠäň–O5HSä5đIâÄłőTW'žt·$˛¤Çć˛Őč.E§‹¨ŇT—:ŃĘ)ŇTÍňDH#CGŇ81N9qť° cŹč$L‹/®f‹ç(®i9©ĘËďĚGZ,á–�µţéÄbUZĘpb ¤´Ű†Ą\ÖÔ¤Ň?îŰáůď;aŰjČŻ(;Ď3´ÇŮbKP…öčD„ŮâePĂC HcŹ!Áˇ'ĘŠ—2tb‘ä(ă҉%Q`ňüŐ\ZU ¸˛ş„8ޤ–Ƕ[F:·8mőo“ ¦¸:‹č ‹$G—N,ŮĆĄ‹2{rtb —Ó4w±ŮG'–Č“i”—HO`Ľ®¬VčÉMy±Ĺ–{FhňW+§˝bÄ•€Zię*DN‘ÜňâÄËŞV^*Ŕ±}w"¤TWˇrŽâ^Ząj¦Ébű‰îĄ” ŢŻ"ąĽĺS ŇuŤ©N™÷ňnůc‘ Ó‰SFšlżż)*MľxžôáU©ăČÓ#—˘ŤÓ‰ETiŠŐ]u˘•S¤)¬<eqŻ`^ŇhĐ‘…´/śčŠÝ‰8ϱGt¦Ĺ׉łĹs×´śTĺŤĺwć#-–pK€Z˙tb±‰HlZlůrᩚ´„P¤=ă4…o'TśÄłMY”Sţ#„*¶ssˇ=ÖČ[‚*´G'"Ě/ú¨b@©ÔG•äy&$şź2s—¨ZĽ*ĹĄK˘Ŕäů«ą´Ş•‹“Öh"®÷^Q+޸éŽuhi­·âÄčÄ"ÉQÄĄK¶qéĢĚ^…ťXÂĺ4Í]löщ%ňdĺ%RĆŻ+«úErS^,A±ĺĹžšüŐĘĹéAŻ1E% ÖCšş ‘S$7¤Ľ8ń2€Ş•—”p"î[ň݉sżGŘmŮrŐL“ĹöÝK)Ľ_Ery˧¤),Ě]‰D}ŻŐWl:q¦©řÝ’&GJÓÔu 0µµG`[ĄE,şk=Ńę˙›&mÚEŇŐ]MîU4ÄęC'Z9EšŞZÇOҀБ…´śč:݉8ϱGt¦Ĺ׉łĹs×´śTĺŤĺwć#-–pK€Z˙tb±‰HlZ”N,Ž8ŃúŹĹ+Ű[źđLXČěśj|«łŘĘÉŢ í±ě<ĎĐkd‹-AÚŁf‹—A}T i@R©Ź'*ÉóLHt?eć*.QµxUŠK'–DÉóWsiU% h»{ĽŇË)~LHÔVAšUđBťY˙µÂÄčÄ"ÉQÄĄK¶qéĢĚ^…ťXÂĺ4Í]löщ%ňdĺ%RĆŻ+«úErS^,A±ĺĹžšüŐĘĹéAŻ1E% ÖCšş ‘S$7¤Ľ8ń2€Ş•—”p"î[ň݉sżGŘmŮrŐL“ĹöÝK)Ľ_Ery˧¤),¬,'łdK´śÓúź#ÉÓä˝Nä5¤í÷{ďßdą— Ýv?Ůó>cŞ6N'QĄ)¨“D÷J9M‘×(GN‘¦Ş–§ŕ B:˛ö]§;'bă9öN´řâ:a¶xŽâš–“ŞĽ±üÎ|¤Ĺn PëźN,6‰M‹Â‰Ĺ‰˛§ĺqec*d¦N‘©S¦ ÖŽtđ)»Î1Äkjn.<´>ͤŮ|ďౝÖo– âę,ŽÝŰżż5n"{,;Ď3´ÇŮbKP…öčD„ŮâePĂCTęŁŔ‰Jň<ÝO™ąŠKT-^•â҉%Q`ňüŐ\ZQ D9°„‹S"?µ0ň†¶ÎüĹ[hNKŰçŤë6aÍ…/ÍÍ­źÂ÷ü·i˛¬Żě˝ŁÍĹş:‹­ÎuJăÓ‰E’ŁK'–lă6Ew\2ĂQśŚęShe"jŞâŐĎTČщ%\NÓÜĹfťX"O¦Q^"e<ńş˛Zˇ_$7ĺĹ[^ěˇÉ_­\śô:STj=¤©«9ErCĘ‹/¨ZyI 'âľ%ßť0÷{„Ý–-WÍ4Yl?Ń˝”rÁűU$—·|ŞAšÂÂÔN,Ž{ݰ<(‘sśŠżűl–&ozšÂtth‰Đť›äŘU_iĎ5%îz9±“Z¦)L'eÝ+ĺ4E^Ł9EšâĘSš÷ ĘŇČĐ‘…4>NtťîDśŤçŘ#: Óâ‹ëD„Ůâ9ŠkZNŞňĆň;ó‘K¸%@­:±ŘD$6-•:±L s'Ô¦N™\Đ›bţ:–}Ď}ŕŘ"RřL™dŚCK‡Nҡc'š›ěŰ áMQÓx ôą÷[D"NćÂkd‹-AÚŁf‹—A}T wě‘S©Ź'*Éó4iňÝ´\”™«¸DŐâU).ťX&Ď߸*G;±ŰÄÂźÉS¦ĘäÉSeŠqZ‰©ŕEh*Fů¦´c€°ĹˇĄI:vhö9¶xť4i shi ®ËźN,’E\:±d·VN,šű9 ąäĎmŞź©ŁK¸ś¦ą‹Í>:±DžLŁĽDĘxăueµBżHnĘ‹%(¶ĽŘ3B“żZą8=ču#¦¨ÔzHSW!rŠä†”'^&Pµň’&!i+ů®‘‹°Ű˛ĺśk¤™&‹í'ş—R.xżŠäň–O5H“-Ě·ŠIÔ˝\gŹ{9Ż÷™´gj˧ [Â]9ă0â´>«4µ<Źşńđ˛Eáá´Ő‰ĄÔ±FBVX™ęĂĽż˙ÂVĚ–¶|r$d«ˇ€\hű˝ÝŐě^5HSPʼnî•rš"ŻQŽś"M¶ň”Ő˝˘äiDčČB'ş"w"NÄĆsěť„ińĹu"ÂlńĹ5-'UycůťůH‹%Ü Ö?ťXl"™‹˛K;ReĂqě¸âZáA ,S&ÉÔÂÓŇÔÉ“D&M’ţż})łŽřVfńŤôó‡ô?J¦űwĽt(ČüŰˇŁŚę2˝ü1ÝŚňCź9ĺ‹ţóËŹ}ç‘ćNÓČÔÎ]¤cá/[|÷±8Ą¤nŹeçy†öX#[l ŞĐť0[Ľ ęŁbxH’J}8QIžgB˘ű)3Wq‰ŞĹ«R\:±$ Lžż1qU“JSť˛ă;­•�Â'MžRřL5+®�8±L™TřLč(SĆN#ΔiĄCç>Ň­ĎÜŇܱ›ŚöśĚ¸úÚ2ňŤ·däëoČä±# íZł4÷ę zu”Î}:IÇ™;H§…ďÝ:JÇŽÍňoÓ3x‡–N…Osł´ć‡ÝˇĹęĚŇšľĐí†Ú~\iF×ĚFÎq١K¶qéĢü™ 9:±„Ëiš»ŘěŁKäÉH=8NĽŚ÷kĚ6{ńş˛Zˇ_$7ĺĹ[^ěˇÉ_­\\™Ńë FLQ ¨ő¦®BäÉ )/NĽL =ĹĘdőÝQČ9Ęëiäśk¤™&‹í'ş—R.xżŠäň–O5H“-, 'ÇÇÍRÇÇ<źNťRř;yŞwč¶ä"NÉß¶ŔÉ(͚̪ŮřŰ'Ď}Ý(J~»Dl;äÓŤŇIÉVC!rYč®f÷ŞAšbÉî•rš"ŻQŽś"M6űÍę^Qr„4*td!Ť‹]‘;'bă9öN´řâ:a¶xŽâš–“ŞĽ±üÎ|¤Ĺn PëźN,6‰LK%N,ŽcM‹Ďeň$ăŔ2yňD™:qĽĚőòطďČŔáź§•0:O™,} |ř,đŰW˛Ö‡OĘÝzÉóW×ć[N&ué.]¦ë)M;Ň|Ŕ±Oöą_ĽOB¶pËÉ\ŘcŤl±%¨B{t"Âlń2¨ŹŠá! H*őQŕD%yž ‰î§Ě\Ĺ%ŞŻJqéÄ’(0yţĆĭĉ%ŇĹÄ™řďä˘Ë„ “eňŘ2ĺ—nŇôs“L;ýÜŇcČÂ2ý J‡é§3qţy˙#ůáśKeŇźIĎ!KÉśűď-RřŚűňkůóéçĺŻ'źç‡ 2©yŠL) ţۡYĆÍÜAd–fé0OGé<KG™¦séÔ±Ů8´tîÔˇ¸JK°Ť úvúę!wu Mžř¶¸eSQÜ„‘s\včÄ’m\:±(¦BŽN,áršć.6űčÄyŇ.ă”U^|_˝ýŠ×•Ő K’¦¸LĘ‹%(¶ĽŘ3B“żZą¸2Ł×AŚ˘Pë!M]…Č)’^âdič)V&#śă ®ś09'ćĺČ91×H3MNJż_)Ľ_Ery˧¤É¦rbńÜ xŻ©bŹďöµx>Ĺ*ˇĆyĹ]5{ŠmÝ› rÓ†P§ďÜ,=¦™¦c“LSxöěPUěĐܲ¨cĆqEţ-ČO*ÜtR!îč=Ń‘1™č´ČMíPhů'µÜÓ8¶tÄ*˘ÍćŰMMS`;w§őÓÔzP˘;ĎhX>†}«˘»šÝ«i*ŃI’{Ąś¦Čk”#§HSUë¸9B:˛†$n`Ŕ‰8áÄĹsěťHqŤŠSňĹf‹ç(®i9űK„śřxUK‹%Ü ş®9pÂĂlń¤%2\BMJ/4=NviIىĹűĐ–)“ “r˙Ž—Î˙.+~ţŠ,óĹ«ŇkühIJďq#ełw”•>QnYv;ůľĎě2mŹ>ŇqšnţÄ—xńűťYŮcŮyžˇ=ÖČ[‚*´G'"Ě/ú¨Ň€¤RN¤Ş˙šˇĚ\Ĺ%ŞŻJqéÄ’(0yţ–7ôÖe8±x·‚Ó XĆO$ăţž*šVšŢś$]Ě)=W_E¦ŰzaięäßţnÄ÷Ęowţ×|ÇĘ*żţ¦ô^oMÜmžąĚ§˙[Ë_O>+>üLţýOłźxóBŰőÇTi~˛Lî>E&ÎÓ,2_a°±OGéÚĄŁLÓ©qn [ˇĄ¸4tÉo,ufávB’E\:±d—N,Ęź©ŁK¸ś¦ą‹Í>:±Dž,ŐSiĆÚ®Ó˛-¶<h•)^MM ]Y­°ärŠËTˇĽX‚bË‹Ýh5eA+Wfô:STj=¤©«9ErCĘ‹/HCO±2U ~w"ÂÜďNĚ5Ę‘sb®‘fš,¶źč^Jąŕý*’Ë[>Ő M¶°JśXś{9î¶<­ňXqerë‹pb™ôďéÚAdćnMŇĆŽ2Ý´ÓČÔÂăřÉ"ă¦6µüuŕřRhń)|ožŇâG‚Ö´ą0ÓرđěÚ©p< Ł#sNâzÍ…;Žţg˛ü<f˛ ˙{ŠŚśXxĆíŘA:t*ÜÓ™"ŕĐRř`Ąw뢇–Öt7‰-[·€ŹŇ‰{˘I2םőľŐ¸W Ň˴ޡ‹NŽF„Ž,˙ĎŢ{€Yr]ç˝ü:O÷tOÎ3Č‘�I�$Ŕ¨l+’-Ż,Ń–e­˝ë°^Że[^{W6eÉŠ–­°’(‰s¦A‚$€�€�ś:wżXu¶Ş^ŞpSĄ÷=÷Ě÷¦ëŢ˙ś{OÝXáŻ{µ\uB‚’ŮŰF˛‰„B ŚeG i2"ĄçR"ąÝĐ|aŕ @)]7@|ŚeĂ!n“RłăúCŮů—ÄĽŁęţé/aIöÍSł†ĆćJëWđ–Ç>Ť{žú"ĘíŇ’ůŤ%üŇßüţę%ߏ®yƦw˘T™¸ĺűś|p.†÷UGđ :pc0ćcŚä4‰…©˛%ĆĆ>Ι@RŹ©Ö˙ČD±p’šÝl5‰%ż|U’–á ‹ŔâHĂ~X«·±±ŮBcÉ@ů±ŞŹ51~ďíŘńŻßŚâžÝaűV g~ó÷±üŮ/t÷ďśÍćăOÂŞ7«”űşůń1Ě˙­ďÁÎď{ –>ńi\zç»AëîC?ÇĚŘ0PxŘţűý°ń€ýŔđf…Ć«EŚŹÝZܧŹđZ<ăVp/™…Iv±ř»1H%Q[ŚiĽ…űŽ&±dk«I,Ч© §I,|=•éNZ|šÄ"ŚäŢK)Ôó…3i eµşbÜ+ő­<…ŮeŢ_´ż°­J_PŐ“ŐĽż(č�šÄ"0NŁž¤:@ěK·(BÁc`˝c’¤EŹ$i¤éŁíÇĘKQ/_"˝­VN#đ‰…ĄMb!O‚Îm­K`i™hµ,4ë&¦ „ă %ěśCÍĘárřNĂÖ]éÜ—8;9żţ1şÇÝôsŢĽśŐ]ěż Ëč蹶Ί,%ěž/ářBŮľ˝¸ÚÄçŰ8łfߣ–ó(¸[ŘzÝż>B‹§î‚uŘŹëÝŻł¶ňé ¶b”'Wo ´“Qű¬‹,ÇMbQÓÓ˘e»Š&˛hąŞ„$ł#¶! Śd …ËŽŇdDJĎ1¤Dr»ˇůÂŔ€Rşn€řË.†/BÜ&ĄfÇő‡˛ó%E‹w KłŐDcsćć2^ůÔxĂ#źŔx‹ż}PÉŰoŮŢöŤ÷ą/0ľtâ•0väQ,Źů} ‘Y‚`ăŚČ-ŃGÔ;PÂöHŚe—ÁxÔÇ9H*ăQ "Őú™(®BCł’­&±Äă—ŻJŇ2<"‰Ĺ4 őV–hݍ>ÇÄó&Ćîľ ;ţóßFaa'XŇ^YĹ żúk¨=ů´ű…¸o:j›Ř|ě LÜq[ČÎČç1ű–7`úUŻŔâ{?ĺ†iv -ť_áŚâYí˝„•;›ŘXhar˘„‰±˘»íKÜ$Ćę, 2KŽő"Źř6RIÔcoᾣI,ŮÚn)‹jö¤®C+(ť¦‚ž&±đőT¦;ińi‹0’{/%©ÓląäÍýłŹcł>†Ĺú1wžĚĺ Ü<)Ohrd¶Bđ\äęô˙“čHôŇŞO Ĺč Şz˛>#ď/ :€&±ŚÓ¨'©űŇ-ŠPđXď$iDŃ#IiúÄhű±ňRÔ ć—Ho«•Ó|baRKŕú€é„ÓëÎPΖ?MÓ%°4ę¦{żxlg ‡U°fż"|vĂŔÓ‹Oz»+8©ô+ÎmcÎfuŹ;WßÎoĂYŃĄm¸÷“…rw'ĽŇFžżŇŔcçšXµ±R5Ź‚ł%nŹĐâ!¨ËÂ`•çŁCŻs«ˇ@y2±ŔÁ(Űɨ} ¨e:îh‹šž-ŰY4‘EËU#$ ™± I`$›H(tŔŔXv¤&#RzŽ!%’Ű ÍÎ�”ŇuÄÇXv1|âŕ6)5;®?üĆ”Ř ‰%7Ó®{hyVaiŐ7PßXž˧đÖ/˙%,žAÖâěďúĂßx?.LíÂłą<Ćgw#_(1u{˝ řrŻŹ3ßňůţŇí'ÂÇXvQÚăÚbJŘI€±ě2Źú8gIe< D¤>ŤD W!‰ˇŮ ÉV“XbńËW%i‘ÄRo¸˛\CmÍÂřĂETź°Ü•Wvü«CůşkŔ‡Äňü˙ůďŃxá´ýŔ.V°Onó[l"KOÜZ~ü­ş÷\üŤßAëěů‘%7 ´”ÎçPü(Đ<náĘ- lL·0;]Aµ\@pK˝Ţąz§9÷a!¶"m„’¨-Ć4ŢÂ}G“X˛µŐ$ĹÓTĐÓ$ľžĘt'->MbFrďĄęˇŮŘpmîąý˝ö‹<ďzč—]ňhĄ:ÍĚ„íů>ç&aŽ[©ż0 ia„J_PŐ“őyQĐ4‰E`śF=Iu€Ř—nQ„‚Ç$ŔzÇ$I#ŠIŇHÓ'FŰŹ•—˘^0żDz[­śFŕ K“Äâý€°Ý´ěůŻŤúf†eáĆÝ%LíÇłk>»8XiĄ·;kĄQwŇs>„€ëŻ4 ¬Ú™NĎTđ] ¬o´ńĄg7qq˝…ňXĺJÁ%µF÷d«­Xč/0ŠP9‰/A=śŻÇĚ'[µťŚÚ§€ZĽĽRöIF=ź†:Ć©ę+E‹–m&šČ˘ĺŞD̎؆$0’Í:``,;RH“)=ÇÉí†ć g�Jéşâc,»ľqp›”š×ĘΗ”H,äąárö$Ż­^†Y[Ă[ů8^÷řgâUWŢÎë'?÷Gřw?řˇ±¶„±™ĎĂHňßEi‘Ë<Ăö8˘¶Ř¶G`,» ĆŁ>Ι@RŹ©Ö˙ČD±p’šÝl5‰%ż|U’–á $–ŢxçÄŻ®7pe©†ÜĹf>_D®f`âMoÄÔ˙�Ś˙¶Ë]‰ĺ_˙*š§ÎřI,Ć༜ôkß~ *R>t�ű˙ăŻ`ńťďĆúÇ?ĺ[™ĹýŮiUžÎŁüBëwµqn˙:f§«ž,‡·BZôďGŢ#łđĆ%R ł$j‹1Ť·pßŃ$–lm·*‰Eux$‰A® tš zšÄÂ×S©Oińi‹0’{/ĄŘ_¬v mł‰#űžëh}Ą†|ľŇ¦ÓĎŰ`µÂ°šD†Ó_´ż° BĄ/¨ęÉúŚĽż(č�šÄ"0NŁž¤:@ěK·¸¬+çXĐn#ë‘$Ť4}b´ýXy)ęóK¤·ŐĘi>±°´H,ŢgŻ–}?ŰŘlcs­é>˝ó`Ĺń2Y6°vɿꊓ^„Ň=Ćŕ/ Ź â˙ę,Ag˘KuűEĄ}Ďüú›¦PŰlâKĎ6pţJ Ő±"*ăEä 9ge´^9ë·_Ţg»ם?_Iić5ź‚ĺ+Ż”}¦EOÁ§ˇŽqŞzÁJѢeŠ&˛hŮöB‚’ŮŰF˛ąB ŚeG i2"ĄçR"ąÝĐ|aŕ @)]7@|ŚeĂ!n“RłăúC#ó%‰ĄÝ¬cső"fV.á'ľř§8|ůŚB*‹đ¶OýwüŮwýcÔ7–Q™ŘŃÇú+­xÎÓ÷RŹ•`ä2ϰ=ލ-v „í‘Ë.ń¨Źs&TĆŁ@DęăŃHD±p’šÝl5‰%ż|#ŘrłŽHbąpyëëmŚ}˝ę“9äĆDZăźü,Ę7Ý�‘8$–S˙WŹÄ✉á!€ ÎĚ0ÍgźŐh"W.A&F±ąźüQTŻ»‹ż˙‡0Z­ńÄ0úK0 “ź-˘~m—o«ŁŢlcav¬ł„s`Ţë TFFä}„<éĹMbI%Ď«Év+ŻÄ•ké´;PP:M=Mbáë©LwŇâÓ$a$÷^J±żXfŰĹwMż€±1ËN˘ŽńĘeÔZ{ÜŐBť•YÔëŞ{^‚iP“XÄz˛>ŁVrŃ$ľqő$Őb_şĹ•`]8Ç‚vYŹ$i¤éŁíÇĘKQ/_"˝­VN#đ‰…Ĺ!±°Ň÷>{u¶ÚXmÚĎ;۸qOÓłU|c9‡Í ŁO`qt#‘T<„Q¸qäŰj(H q6˙[lŘáBŻż©‹K |öé:–k-ŚO•QŞ;~wɤÁó7¬¶^˙şĺ î‚é Ó@ŠyŤŔ§€Z¦ăŽ&±(ę+E‹–m*9hѲŤ…$ł#¶! Śds…ËŽŇdDJĎ1¤Dr»ˇůÂŔ€Rşn€řË.†/BÜ&ĄfÇő‡˛ő…UnÄΛzúKł¶ŽőĄł8rîiüňÇ˙ëČH,ŽŹfŁ…ëźzĹú&ĚVÓ~!gő\†˙ `ĘH+z™gŘGÔ;PÂöHŚe—ÁxÔÇ9H*ăQ "«ńh¸˘X¸ I ÍnH¶šÄ Ś_ľŠ¶Âń#‰Ĺ™:Nź_ĂĆJ“ź, ňíŠ{÷`çżţçR‹ąľŽS˙ú? yęlwűźśK"鬜’ëÄő~ÎË5狺gžE{ŮXř?ţ)ňSSnşąîVCîßîňŃĺ'óřLKmśą¸ŽvŰňťŁwUOtăřÉ…µĹĆ[¸ďhK¶¶šÄ˘xš zšÄÂ×S™î¤Ĺ§I,ÂHî˝T„ţŇhmŔ$Żąáăť{�~ݵpI,ŤĆz„şň´BN…h‹XOÖgÔë@˘¦0(×CšuĹŃSp—Ó_H®�Ҩ'©űŇ-®ëŠqůÚ9´ŰČz$I#Mźm?V^ŠzÁüémµrO,,m‹o¬5±taS9 o¸±Š Ąq|ćR«-ĂąĄ´çB÷ÖŇÝš§wl’˙g)ĉqr·=âÚt}ZlćP™¨âm/ťŔŤó9¬,ÖíçÉ5 .P6V°\<Ě«;Ëk„­ŰNFíS@-ÓqG“Xő‚•˘EË6MdѲm…$ł#¶! Śds…ËŽŇdDJĎ1¤Dr»ˇůÂŔ€Rşn€řË.†/BÜ&ĄfÇő‡˛ő%‰%é%±ÔÖ.cső^ýĚ—ńöOý&ę•´Űm÷Ą}€7|ĺ=n\łľîoʎó§äíȶ=ލ-v „í‘Ë.ń¨Źs&TĆŁ@Dă‘ěÓĹÂUHbhvC˛Ő$–X`üňU´M‹ÄŇnNź_Es‰0ůˇ<Š ”ÂÜ?˙'(,ĚCčiâĚŻýš§Ďř&.‰%×!´ä ĎŻKhi<÷<˘JéČaěü—¶Oós}RLo›ˇÎ - r˙h­ËÎ^\G«eőĎ6TÁňBfIÔcoᾣI,ŮÚj‹âi*či _Oeş“ź&±#ą÷R őĐąíük·öüŰĆužěă·ţŞý«mcuWÇ÷®ŻźQ¨c®”Čpú ’övŁUé Şz˛>#ď/ :€&±ŚÓ¨'©űŇ-‘pÎÁw,h·‘őH’Fš>1Ú~¬Ľő‚ů%ŇŰjĺ4źXX$wžëę9[ ­\ŮÄÚb·ěÉcf×ŢwˇŚ“†:Iâ83g)ı‰-$%Ă8·¤—[E\`?rKĹ~pŰĆâ9ű^µazĘŤ|eF¬ňôT«îHÔ¶@;µOµLÇMbQÔ”“-ŰQ4‘E˶D̎؆$0’M:``,;RH“)=ÇÉí†ć g�Jéşâc,»ľqp›”š×ĘÖ—„$çE ŹÄ˛z ŤÍ5ĽőÔýř/˙5r–‰QŠY«÷Źo|ć«îj,ΖGD­ D.ó ŰăÚbJŘI€±ě2Źú8gIe< Dd1ÉÎ1}Q,\…$†f7$[Mb‰Ć/ß¶Qň‘XÎ\XC{‰0ńąUĄăG±óźý2r“É…ßţÔżő„oĹ•\ŹÄb -ý_—ĐŇ|ţâHaĎnĚţ‹ŠÂܬźÄŇŮÍČ•Ľ}ŐŹh-vÎÍl“ďś»ř/%µĹĆ[¸ďhK¶¶šÄ˘xš zšÄÂ×S™î¤Ĺ§I,ÂHî˝”¤\:ŠGß´:Ű ÍMžÇäT«?5¶JaĹMÚ"ËgĎH”Ő Ás‘«Ó˙O˘#ŃK«>)xŁ/¨ęÉúŚĽż(č�šÄ"0NŁž¤:@üëĹ”„xÇ”˘IŇD$Í+X¤±ňRÔ ć—Ho«•Ó|¦ÁËK‘ÄŇ;n·L\>·j´qď‰2ľeŽă+‹´(­•TR´cuđ 4ëfÍRo˝} ¦ ,^ÜÄćFÓS6(µňôŠĹ´ „1âv2źj™Ž;šÄ˘¨'('-Z¶«h"‹–í/ś €©FlCÉ& 00–)¤É”žcH‰ävCó…3�ĄtÝ�ń1–] _„8¸MJÍŽëeëK $oš‹çШ­ă—O~w}ţ}ąŘţ¶"ËôŇ÷+<Mb‰îKJŘI€±ě2Źú8±ŤSŹYŚG˛sL_ W!‰ˇŮ ÉV“XbńË7‚­h»’<qďŤw¦ýtíÜĹuË„ę‡ ë@aďĚýň?„Q­@&Ë˙V?w˙`%Ďj,^‹wE–ˇĹ@+&‘Ĺ‘üŽĚüă€Üřř€Ä(ÍÜ&PýŮçweç\űç.e«˛$j‹1Ť·pßŃ$–lm5‰Eń4ô4‰…ݧ2ÝI‹O“X„‘që!8g9‡­fÍ]‘ó•×Ú§kî9ń)wkµjˇt(ÔŻx Ź4‰E˘'ë3ňţ˘ h‹Ŕ8Ťz’ę�#%±/;}Ç‚vYŹ$i"’ć,ŇXy)ęóK¤·ŐĘi>ń°ţ#HV^I,őÍ.źÝÄ®1·ŻâC‹Uś«çř„0'Nb¬ŘBQČ0$%Č´-W¬2^uí8î9Ăę•:Ö–já2ó”y¸^ ž?~,XÎ[¤ťDÖfRÉ+eź„iDŃSđi¨cśŞž ś´hŮ΢‰,Z¶·p&�¦± I`$›,(tŔŔXv¤&#RzŽ!%’Ű ÍÎ�”ŇuÄÇXv1|âŕ6)5;®?”­/ 3M ‰Ą¶vív?ţŞ}8ţú—Â(—1j1›-éŮ•L:ő¸ë´Ůnú•7ŹÂ&Ź^P†ÖGÔ;PÂöHŚe—ÁxÔljmśĘxČb<’ťczBţżI2Žk;Š<#ŘjK,0~ůF°ĺÍ"břżäęśĺšĎ]Ú@sÝBĺĂä’XňÓS˙ßţrăIăůS¸ôÇŢ_…EféŻĘ’ü:„–ÚgĎ‚Z-Ä•üžÝůĄ_@®\âę8çTú‰†}ŽÎąZÝ}Č˝c>k<ć’YµĹĆ[¸ďhK¶¶/: AíA:í”NSAO“Xřz*Óť´ř4‰E®§pÁ#o‰ĹçžÔŮVč–ĂŹSĆKŹ~ÎľŹ5ŃYY«†Ý“b1„ţ€¤ý…ÝhUú‚Şž¬ĎČű‹‚ I,ă4ęIŞÄľtËBĽ®h‹š^0żDz[­śFŕK“ÄRŰhaéR ‡fěűĆŮ*Ţs¶‚Ͷ1úŐWŔ&ĐđI5ťŐYd¤šeł»'đÝ×ĺQ[·ĎýâĆ ü<ËŞ·Ľ˝ĺgQ˘şëˇťŚŇ§€Z¦ăŽ&±(ę©”“-ŰT4‘EËöďŐ Ä9…HnGň ‚B ŚeG i2"ĄçR"ąÝĐ|aŕ @)]7Ŕż(eÚĹđEۤÔě¸ţP¶ľHH,ěK}mŤÍUüč+öá•×Ď"ß«QzÇ˙ cÇ F)ÍZřĺŃÓŹą­vĽ˝S‘[˘=ލ-v „í‘Ë.ń¨ŹŰ8•ń(‘Ĺx$;ÇôE±p’šÝl5‰%ż|#ŘşŞ¤nĎs—ë¨ŐM?e?^[µ}Ęç±ăţ ssćßnăÜ;~Ë%˘x‰,2K®OZń’WrÝxw; ۱ö…KH"…#‡0ńăo űçŮsöą?ÝF˝fâĘbť™ŽŇ‹ Š +~ž[ŃV“X˛µÍŚÄ2¤‰6ţ˝Ç@AÉU=Mbáë©LwŇâÓ$ad¸žÂKĽĽ:IĹIbÇÄEĚL…ç´ť“‹(ć׺ÄͰ3äţ±Ŕ«5ź §Ň†Ó_´ż°­J_PŐ“őyQĐ4‰E`śF=Iu�ĺK·a]DÝ’’č‘$Ť@DŇĽÂc]ŚĽő‚ů%ŇŰjĺ4źxÄÂČ+yI,›kM,_®áúyëU<pĄ4 Š€O.Q!ś(­ŘBYdHjłaĺ16=‰¸!«i߯^Ř@wŔŔ5–(Oďł~,p±ţńÚId˝aö'•ĽRöIF=ź†:Ʃ꩔“-ŰX4‘E˶’aÄÖ&‘l‚ ĐcŮ‘BšŚHé9†”Hn74_8PJ× cŮĹđEۤÔě¸ţP¶ľ¤Lbin® a˙ľű% xŐŤł}˝ÜM7˘ü˙ Ɖă…8+±őđĂËWN»-Óč2`,;Mba©l‰±±ŹŰ8•ń(‘Ĺx$;ÇĚ$IĆqmG‘g[Mb‰Ć/ß¶˛Ľ+‰„t"Ö6šXYoˇđe ąČUśüďFő†ë "WŢý4OźµĎĹčnícpWfńn'Ô çúŰ."©TîzĘ/˝ý§ŁýőŤÓăA«-÷Ü˝eŃ/›`Y‘â 'MbI%Ď«ÉV“X]UĐÓ$ľžĘt'->MbF†ë)\°ÄË›ŁÓjn:KŞá®_bĆFŽpç‘űÝĽ\]O"ÁV(›Y‘Ăé/ HÚ_ŘŤVĄ/¨ęÉúŚĽż(č�šÄ"0NŁž¤:€&± Ü~’ćëb䥨Ě/‘ŢV+§ř$LC”—÷Ă:FY{I,ë« ¬,ÖqË.OçĆńŐĄR¦«Ż0Ó<.©Ćł: Ç߆eßOLâ‡nĘۡM,_\÷„ČW¶ď[ugQŚşóĄ ^¬c•v˘Ş7Ěţ¤’WĘ> Ó˘§ŕÓPÇ8U˝ĺ¤EËvMdѲ­…d±µI`$›DĐRH“)=ÇÉí†ć g�Jéşâc,»ľqp›”š×©/$éA‹Ů¬ˇ¶ľ„ŰŽNá{^ş+¤oĚĎŁüß~ ą»_ŽaKł^cžCesî™v©÷‰ŰąȰ=ލ-v „í‘Ë.ń¨ŹŰ8•ń(‘Ĺx$;ÇL„,㸶ŁČ3‚­&±Äă—oŰľ:ĹłďŤyÍ–‰ĹĄpĘDţ›¦‹”ŽĹô÷ľąśü–Şqę ß÷A‡żŇýńČ,ąţöBLr‹ýk_L¶"KO¦~âmČÍî@+†ţISżŻçľŃť±Ď}Ąá–·L„ÂëUëL“XRÉój˛}1“X„ÓŞôšf  äŞ‚ž&±đőT¦;ińi‹02\OႥ@ľB‹;ź‘»­eµq۱Ż'w˙”»őPËŮ^ȱłřŰ őň%ŮMLŻľ3ď/ HÚ_ŘŤVĄ/¨ęÉúŚĽż(č�šÄ"0NŁž¤:€&± Ü~’ć,ŞXy)ęóK¤·ŐĘi>‰Ňpźňň X‚y·ZłďMŻťľÖÇăkĹDä’ˇl5ˆÜ-…xçÓ˛rh–§đ·nÎŮϢ-,_Ţ\:HHAQënídT>Ô2w4‰EQ/fÝiѲÝDY´l[!FlmÉ& 00–)¤É”žcH‰ävCó…3�ĄtÝ�ń1–] _„8¸MJÍŽëeďK…Něü‰Ą ±XfËqpg?óšýÜ7FµŠň˙ýoPř±Á°Äń±µąÉÄňí†OĎ˙E9Ĺ(ó ŰăÚbJŘI€±ě2Źú8±ŤSŹYŚG‘|Ů*×±$'4[Mb‰Ć/ß¶*yËVcéĹ­¬6ŃjXČÎěD8[ ýěOş[ ©Čĺ?ýK mČ+čZD+łôVeÉĺ<¸}l¦DdÉŤŤaćďţDž#Ľ¬Ëb»řąZ5Âňj[>ľ°• ‚4‰%•<Ż&ŰűJ,˛üIAAÉU=Mbáë©LwŇâÓ$adč^JÄÂ(`ďl+äl4=v ;gÖŔ“Ýłěů¶fëZ‹ó‘§B:S§¸˛\ÔRĐń$ÔčQđ(F_PŐ“őyQĐ4‰E`śF=Iu€-EbĺGĽc=’¤HšW°¨b奨Ě/‘ŢV+§ř$LC”ÄB=/‰ĄY7±rĄ†CÓ„ďcxfŁ\ŇŹ#0l8qJ+¶PTb‹u– M‹ěűăňŢrŤá–ÍÚ˘çFň“N‰Wîţ?®„Vef;QŐfRÉ+eź„iDŃSđi¨cśŞ^ĚşÓ˘e;Š&˛hŮ–B2ŚŘÚ$0’M :``,;RH“)=ÇÉí†ć g�Jéşâc,»ľqp›”š×ĘŢ—$– /dµ±ľt“cyüü T”ĽÜł_ÎţgQügż ‹ČZÚµş»µKZąBçŔ`ĽnŠ\ć¶ÇµĹ”°=’�cŮe0őqb§2"˛Ź"ů˛U$®cINh¶šÄ Ś_ľl“ćÝQí(Żo6±ąŮ†ńĺhŃtǧ‰ű^Ňţ˝ť•U$R{âI¬?ř{Bíîj,Î?ŁěU|[ ą–.™Ąn_şŚ´¤|ăő¨Üv+úß´;˙ő‰-č[–,ĐMÔěNYxË&$‰ÚbLă-Üw4‰%[[MbQtUAO“Xřz*Óť´ř4‰Eé»×$vá/ßŕa [íşwÇ‰Ż eűÖÔ°pˡ/»‰´ÜŹĽ űÓô»Č.@_=ĎË«ă;@2ŹbôU=Yź‘÷@“XĆiÔ“TĐ$„ŰOŇĽ‚E+/E˝`~‰ô¶Z9ŤŔ'aÎĎ’¤áÉ‹8z­¦‰ĄK›Ř3N¸PĂ7VĘ‘É%#_}Ń48âžc“r¨LOᵇµÍ6Wň >÷>Đd±ť(ë ł?©ä•˛OÂ4˘č)ř4Ô1NU/fÝiѲ]EY´\Uś,ĽÉ& 00–)¤É¦:¶†/ ś(Ąëʱěbř"ÄÁmRjv\({_’XČű@Öľ#sVb)ć,üĂ7ÄŽ‰TĄđÝoFé×~śD–ŇÜŘŕbŤ|©{.§›Ě UA›Ó$–Ę–ű8±ŤSŹYŚG‘|Ů*×±$'4[Mb‰Ć/ß¶!3bŰ«¬Ćâ|Ĺ˝¶ÖFsŐ~DöÍV'˛RÂÔ|w•™\zç_űH,FďŘýkx¶ňZ2KÎłĄPďgĄHdqdúm?č’K;_¬QźŔ2(0;î› ´V,¬­·ašá‚ň©#\¶>˝H€D¶pßŃ$–lm5‰EŃU=Mbáë©LwŇâÓ$ad眢'öžŮ\ ‡,ŇnŐ`™mÜyěkÉ='>ănAÔj1î»é§,B÷Ϭ“ďů軏WŇŞO Ĺč Şz˛>#ď/ :€&±ŚÓ¨'©ĢhC4‰EM/_"˝­VN#đI†ó‘Xz«­Ňé˙íÎÎ}éňĺ:Ş9BÓ~ćúĹĄJ< 6HN8‰Cl‰µŐP`u–^§<&qÓśý|zĄ‰f˝ VÝÔëÎ" µť(ë ł?©ä•˛OÂ4˘č)ř4Ô1NU/fÝiѲťEY´\5ś,ĽÉ& 00–)¤É¦:¶†/ ś(Ąëʱěbř"ÄÁmRjv\({_Ň$±ŘGµµ+0Ű üôköáŔÎ1D•üí·˘ňűż‰ÜˇČBÚŤ¬v›‹_źu˙:_»÷%r™gŘGÔ;PÂöHŚe—ÁxÔljmśĘxČb<ŠŰG*q]Ir C°Ő$–X`üňŤ`›4ďzÇ`}˝‰¶ł%Đ—› v‡čá¬Ć’źśP"˛4^8ŤÍÇžđ¬ÄŇş+˛ô†o•–Á6Bľż]˘‹ąş†4Ą¸w7Ć_yĎ€Äâžű€ĐâţmŮň¬ŁešŘ¨µ|eÔ ÄMbI%Ď«ÉV“X]UĐÓ$ľžĘt'->MbaGöI!3$l"Č“GžtH)¦iaĽz łËÉÁą“vZ ۦ VÍżě»MęýĹIÇ" ŤŐZz<ŠŃTőd}FŢ_t�Mb§QOR`Ë’XD9ůŽIAŹ$i"’ć,•Xy)ęóK¤·ŐĘi> Óĺ ±őĽĎ^Wë0[&î&|ôĘ„pBq‰")Ů@Ť@źTÓ!´ó^·J¸ýpÓe +Wę°ş«rSŕ8ë®WQę®_G`ÖťďXĄť¨ę ł?©ä•˛OŽ «ś†:Ć©ęĄPwZ´lGŃD-W…' o€F˛I€B ŚeG i2"…i†­á g�Jéşâc,»ľqp›”š×ĘÖ—Ŕ˛đ…ŁoHH,ŤÍ4këřţ—îÂíGgWŚ}{Pţíw ÇíHUlkëB•łÓóîß\ľ»ĹPä2ϰ=ލ-v „í‘Ë.ń¨ŹŰ8•ń(‘Ĺx·-ŽTâş’ä†`«I,±ŔřĺÁ6JŢ*«±mÂFÍDkŮ=ÖꤓËcňM÷ą¸Ęj,‹ú/q–EŹĐbôd–\{ˇ.ńĹů5ę f iĘĚ|·{zÔ™č}$tóŃÚË66«˛ôĆâŕüŁôf6fĺnᾣI,ŮÚj‹˘« zšÄÂ×S™î¤Ĺ§I,ž ‘6˘Ô7Ďl?[­î¶BÇľfĎŁň‚.ä,ÜrđA÷¸Ýnřňőe# źČć>n]Ĺ]­E GÁŁ}AUOÖgäýEAĐ$qő$Ő4‰áö“4ŻĐp'/E˝`~‰ô¶Z9ŤŔ'aÝ˙H¦đg0Ĺ ćÚFÓ~öÚĆőómĽëâÚe’A„—ąD…ě’|ő‰Ť{>Š[ÄŢrŤ}Ď`ZX[Ş÷vbÎŻ*í¤óˇ‡Ľî¸é©äŃ'ˇ^ZýI%Ż”}¦EOÁ§ˇŽqŞz)Ôť-ŰU4‘E˶—ŕdá ŔH6 P耱ěH!MF¤0ÍĐÁ °5|aŕ @)]7@|ŚeĂ!n“RłăúCŮúÂ*7bçO,ňßH9­Ć&ękKxů‰Ľůö$–É w›ˇÂ~?Ň’v˝.\ŤĹ‘gö_ďţÍJ1Ę<Ăö8˘¶Ř¶G`,» ĆŁ>NlăTĆŁ@DăQܶ8R‰ëJ’S‚­&±Äă—o[nÖ" u;Ţf˝…¶ý�Ě|¤ŃYŤĹţWyÉ-(ěQ"±XőV?˙E&Ć·6<á_őĹÄ[ké®ĘRXÇŘí·‚EbéŻĘҶĐz´ć’XjŤÎĽJ1Ćťľ‰&±¤’çŐd«I,Š®*či _Oeş“ź&±t„Đ ¨×Ch+!ݧŚű6äl+T‡iµń’ă_‡’Řř]Ç?×Ů^¨ąŮOĎâUç¦ßPW^âOG’ŹbÔŞž¬ĎH›ąâئI,|ă4ęIŞh Âí'i^ÁR‰•—˘^0żDz[­śFŕ“0 •Ľú÷[x–^»ĺlĺŢÂÎjź©Mb©•¬L’QDF:H™TŁäŻuçďFiî=ÔFŁf˘¶ŢôÔÉ 1Yˇú"őşCŠíDUoýI%Ż”}¦EOÁ§ˇŽqŞz)Ôť-ŰY4‘E˶–ŕdá ŔH6 P耱ěH!MF¤0ÍĐÁ °5|aŕ @)]7@|ŚeĂ!n“RłăúCŮůŇ{€(đ%‰Ĺl5±ąr GvUńăŻŢ‡Ô$źGń—ŢŽŇ?ý%÷8‰87Ö7„:íb µŮ˝î±aä»v˘4˝ ŰăÚbJŘI€±ě2Źú8±ŤSŹYŚGqŰâH%®+INa¶šÄ Ś_ľl“ćÍł«ŐÚ0Ű]"K÷Aăř«îq1•m…ÖzVŁ)Ę‚‰ Ć r÷B§ŕg|ÎĂşŐU¤-SŻ{U÷<{yH,˝k‰öŁMűĄ …ÍZ+a[ŚiĽ…űŽ&±dk«I,Š®*či _Oeş“ź&±Ŕw˙łD÷#¬2ö‘GÜě-wľŻ,c˙Â%¨Ę±]O۶-XfʰÉHß—qo‹$䉌Ý_D÷›ŇţżTőd}FŢ_t�Mb§QOR U‹bR±„xǤ G’4Ió Źc1ňRÔ ć—Ho«•Ó|¦áŐˇxyy ”ëK űžÔD{,‡Ç×Ë "ɀȑ\BCZI%Š ˘h«ł4)‡]󓫨o´ÜmYuGˇ:!f; ŐcZíDUŹ$iDđ) –鸣I,ŠziŐť-ŰX4‘E˶•ŕdá ŔH6đS耱ěH!MF¤0ÍĐÁ °5|aŕ @)]7@|ŚeĂ!n“RłăúCŮř °°|‰Cb!ËÄĆĘEĚNđ o:ŚB>ýé$˙}ß…ňü·ö[ĂqÄ•ćƦýŇę\¬Nˇ2î|]ß9‡-ŃGÔ;PÂöHŚe—ÁxÔljmśĘxČb<ŠŰG*q]Ir C°Ő$–X`üňŤ`'oѶB=¬Ń4á<ďj>Ó­ućÓ\ĄŚĘŤ×)­ĆâČÚW¸ĺ›Uű}ľGq˙ą$k@.éLČ®žµšîŠ,ŽŚÝv ڱ±~xI,˝×w´j˘ńlÎű=§Śúţ÷Î%8±Ć'MbI%Ď«ÉvŰ’XşB2„]UĐÓ$ľžĘt'-ľ«ťÄĽ˙ŚQx„‘Aú$ňŻ{čn+dYxɱˇ6kw¤oáş˝»é´Z †kŻo�SßRh@Âúdť·´ż°óT©U=Yź‘÷@“XĆiÔ“THźÄ˘^ńfˇI,’4˘čmµrOÂ4Tó˛ü™Y˝ÚZ ŤFGv4ńˇ+Ó +“D#ŠřâŔ°áÄ%#śdI†zV¨ŠűŽÚ-űůőjsPwžŠ¦8u—V;QŐfRÉ+eź„iDŃSđi¨cśŞ^u§EËvMdѲ-%<€ł/R‚F˛1źB ŚeG i2"…i†­á g�Jéşâc,»ľqp›”š×Jß…ĺK‹o,_DŃ0ńö7Âdµ€¬$÷ň;QţýßDî@ô_Č~ŮÚŘę=6w�ůBůbI©ĚÝM4‰…Ą˛%ĆĆ>NlăTĆŁ@DăQܱ1„SâfśÄá!ŘjK,0~ůF°Mš·ČÎy`謆b>ŮěĎĺ›o@®T‚ެă›ýD©7Đ`\čXzÇ˝ůŰÍĎęleŕţµ(Df±ÖÖ‘¶ĹĆożŐ·*Ëŕ×»ľ°_ě=Yw}Ş7ÚŃ3Ń$–TňĽšl5‰EŃU=Mbáë©LwŇâÓ$ˇž¬|„–…ŰMh•”^ZÎ b­šý×ÄíGľ‰Hbęwź¸ßžçL´›5n™ôsö9DŕÝ'öçp°Ň ptHÜ)xŁ/¨ęÉúŚĽż(č�šÄ"0NŁž¤:€&± ě7%Ě+X±ňRÔ ć—Ho«•Ó|¦‘R^ýŹ LÂćf%ĂÂCÍq¬¶s äĎ6;áJ*Qlź@Ă'ŐtĘ`Ł2‹›f[hŐL4ëmfťP°î×sžč-IÎĐ$5ź†:Ć©ęePwZ´lWŃD-ŰS ľļĐcŮ‘BšŚHašˇA`křÂŔ€Rşn€řË.†/BÜ&ĄfÇő‡ŇóĹóňKĹ—ŕCżA=úŻ´B$[6×.Ăl5đżĽá öÍU‘µ8$–ňo˙:r·ŢÉ®±ľúĘ%_>t‹ű7_âźËĐÚăÚbJŘI€±ě2Źú8±ŤSŹYŚGqÇĆ>L‰›q‡‡`«I,±ŔřĺÁV%ďHś‰€n˝aş›Ď4úókůĆë}:˘•Yš/ˇ˝˛: °x˙§ÁËŻŢ‹-‰…ş$˛­Ţ -Ý)żŮB2vËŤ>ňJĎWŻ­çîËĆŢŠ,Ęâýú-AÝDËńEÁV“X˛µÝî$ľ .z”\UĐÓ$ľžĘt'->Ň$‘Ď…ţAůY‰%”Iţ˛`š&*ĄeÚsQĺÄîoÁ´L;Ť¶'mVvĽĆđ—ü~{Ď8z}’D‡ÝhUú‚Şž¬ĎČű‹‚ I,ă4ęIŞh Â~SÂĽ‚E+/E˝`~‰ô¶Z9ŤŔ'aŚĽXÜCň==źÍŔh}µi?{51;ÝĆVĆ#’GMĂF™p"őMÍ&y:än1tÓ Čľ&Ř\o ę$PCm'Şz)úPËtÜŮŠĺ4Ô1NU/şÓ˘e;‹&˛hŮćBŚŁ°ŠļĐcŮ‘BšŚHašˇA`křÂŔ€Rşn€řË.†/B̢ćĂ×JÇ%\ŐćrČ�TH,ŤŤe´jřˇ»÷ŕ¦SšLOˇü_ţ# oyŁ’z»ĺ0îëR˝Z©Ś‹ű®Ů/#sů"SghíqDm±%lŹ$ŔXvŚG}śŘĆ©ŚG,ĆŁ¸cc¦ÄÍ8‰ĂC°Ő$–X`üňŤ`›4oź‰;—öĚ;¦ýôËŮV¨}Ĺ„±jőW#);¬š,ęĎžô<(ë¤Ţ™[{ăyH,`}Kw%ËęX+µ¸Xł‰,dě¦ëÁ^‘ĄK˘qţ-Yh-¶áěÜç”Uçě<W ¬z •ÓI8ľdl«I,ŮÚj‹˘« zšÄÂ×S™î¤ĹGšÄ"ŇcN đ–öDRçMT@‡I{é’]z±mg[!;|űŃo 'ŘWŤ•Z8¶ë17 Ólyô9řô  ˘:čoŁy¸#NÝhUú‚Şž¬ĎČű‹‚ I,ă4ęIŞĽ(I,ľ<í;Xç$Ň#Iň A¬Ľő‚ů%ŇŰjĺ4ź„i¤™W7ŕÜ6›JFź[›P"ˇ°·˘Hä‘8„“ äšÄ¤šţ.ĺ&qË‚ł5®…f­Í¬;R¬;µ•v˘Ş7Ěţ¤’WĘ> Ó˘§ŕÓPÇ8U˝ŚëN‹–í(šČ˘e 1ŽÂ*˛žB ŚeG i2"…i†­á g�Jéşâc,»ľq0‹š c\(™/˝‡z˛‡_X٨—ž‰ĄŐŘ@}}ݏ~÷ݲC—bĹńOPüĹ_°g/ţôĺxŢXYŠ|}×QTwěBľŕß*˘÷•=uÝ„3lŹ#j‹(i{` Éb<ęăÄ6Ne< Dd1ĹCř0%nĆI‚­&±Äă—oۤy«Ř5[ť•FZ/Ôű$äó(îŰëń&ĐęĎ=ď&Ţ_šzúť9·7ĎöľĘóŻÄŇ%°tĂý-†ş_™»x+ƶ> RZGn|ä#ÚĎGç¸}şé++ˇhK*y^M¶[ŽÄ’é$KácRĚRAO“Xřz*Óť´řH“XDzÄH7HÜ`7¶ł´­pŰjµv´‰ŰŽ>Ś8âäóĘk?k§Ń¶_$n0tŢŇ1l«¬ďµ˝ét¸d˝ôë°­J_PŐ“őyQĐ4‰E`śF=Iu€7‰… I,$I#ŠŢV+§ř$L“'ŻŢ˝ˇG�Qż 6×:«±ĚL´đČz5á•IXä —\B|rIfá9‚{Žm2pbWÉľ¶PŰlyę„říÄwĎźëXĄť¨ęĄŘvj™Ž;[±ś†:Ć©ęe\wZ´lWŃD-ŰTqV‘ ô:``,;RH“)L3t0l _8PJ× cŮĹđEYÔĽ`ăúCń|éŃE‘}áíÇÝń3PÎÖŕĺš7ułŐÄćĘeŰ3†·˝b/âŠaäěwyűW@Îţ+Ú–'…ţ”ţÝ˙ c¬ÂÄ›ë°ÚjŰ|čČËPŞN˘Xa‘ÚŁç<"·ÇµĹł=†Ë.ń¨ŹŰ8•ń(‘Ĺxwl áĂ”¸'qx¶šÄ Ś_ľl“ćíŞ’Ľ3·ÍÎŞúůV’ÂÎ9…|8 Ž4Ż,zľÜ˘>‰Ĺ;•‡·˛ú«®ôČ+˝ź‹Y˘K+›Yśů¬|č�|«°g5–n¸v®“ݬ¸B¤T^a;Ä—Śm5‰%[Ű«‹ÄÂČłTĐÓ$ľžĘt'-ľ«ťÄ"‰$^ş˘z`ÜďvgO†_"±8ťůŇ2Ű(ÖptĎ)Ä•kö>án/d™­~ţĚŚQݱ>B •CG äs±ú‚Şž¬ĎČű‹â9) ˛ţIG˘'ď/˛^!ąN�HŁž¤:�T/۶$‰¬±‡qL ażąz¤–—Ô'•Ľő‚ů%ŇŰjĺ4ź„i¤™W7ŕN-ÝŐXňhă ăl E%ŠČWg‰DRź\—p’%f9?ŤëçęnŮ6z«˛ łť¨ęĄčS@-Óqg+–ÓPÇ8U˝ŚëN‹–í,šČ˘e[ �Ů@OˇƲ#…4‘Â4CŔÖđ…3�ĄtÝ�ń1–] _„8EÍ †1®?Ý—ŕ  ľ¸KsAź㍳‚mŞsä<ÜXľů©Ţţ¦C(䣑OrąŠĄ2*Ő1űWE©\±e”íżť¸1‹ĄH¤–ü˝÷ ü[żc÷._Ľĺl)´ľˇ”ĆâřV÷ž€‘s¶*ŔűjjhíqDm±ĹhŹŘZcc'¶q*ăQ "‹ń(î؇)q3Nâđl5‰%ż|#Ř&Í;Š]»Ý›YŁ;çćfˇş‹#–;yV1<¤bXü[őČ+˝tťů.+).Ě·˝PĎçú….‘Ą-ÜcVÎî;šÄ’­­&±(f© §I,|=•éNZ|šÄâ?9™Ź„Â3ńŢ›z� ÄągˇP]őţ¶Ű żíčבĎÇďÄ“ĺ ŢůwÎ3]2 gîgśďCß˝=·Đ€ # Ĺč Şz˛>#ď/ :€&±ŚÓ¨'©đ˘'±…XÇ$Ŕö›«'÷$óI%/E˝`~‰ô¶Z9ŤŔ'a)äe€Vßlą[ M޵đŕę›Ŕ¸äâ’K†˛’J›Řç>ź&ĺpbWŃľF°Đ¨µĽ¶ď:ÂWw1ëÎs ˘ÖNTő†ŮźTňJŮ'aQô|ę§Ş7ÄşÓ˘e;Š&˛hٶB@6¸S耱ěH!MF¤0ÍĐÁ °5|aŕ @)]7@|ŚeĂ!fQó‚aŚëEóĄ÷˛ˇĎ úň˛…Îz�Ç#±8[l,]Dą`áío:‚±rQÄ!¨”+U .Qʼn/‹.ˇĹů«*Ʊ#(˙ÎŻ#wýu]Ź µ•Uĺ‹·÷ľ“óP,űWcµGÁ+¬číqDm±ElŹ`$ŔXvŚG}śŘĆ©ŚG,ĆŁ¸cc–âgśÄá!ŘjK,0~ůF°MšwT;ç—#Ö’Ů_Ť$7=Ő1őSř µ76üď弄H)‹weÖŞ,ÎÜl5ł#˛fwp,ü]ęäĎ]‘E“XRÉój˛˝zI,ü”˛TĐÓ$ľžĘt'->MbA ŕ^ăz™dŽŢÄę©+ ¤×nŐí€mÜs[ˇ+„{ŻűŚťť‰V«ćÉ“eŐ? ň§PëEÜB[f:˝łŹŃTőd}FŢ_t�Mb§QOR`¨$Ŭ ±ŽI€!ě7WO8î Hć“J^ŠzÁüémµrOÂ4$y î˙ŕĎ‹iă,VŻ·íąĚÄSŤ2śoŇ Š„¶"’§9ą$1á$ŕ[Űȡ]™Fcrőńy´‹Őç¶Ů,NaGˇ Ët>Ř´Řő NݱŽUÚ‰Ş^Šm7 –鸳Ëi¨cśŞŢëN‹–í*ŃŢHjŃň"�˛ÁťB ŚeG i2"…i†­á g�Jéşâc,»ľq0‹š c\(š/D‘} -CLětCvÁŁŤĺKöKł&ţţ[c÷Ž2TĹ!§8+Ż8«±xĹ4Mś?-ű\µZĹ®yÁĹ!ľäry4uµ|ćfQţÍ_Có˙y6˙ú}°Úm%»Z©‚/})vW'P(Źőă©ë{'@ˇ-x/±"·ÇµĹ±="€‘�cŮe0őqb§2"˛ŹâŽŤ!<É o’ħ!ŘjK,0~ůF°Mšw»ŢCF«îY ·Sĺ‚+˛,VŁŐťG}˛vźÝ9ÇťkśńÁÎ:47śĽç»8bT+•aş× !RK­ç6kR ď“/[¸ďhK¶¶šÄ˘Ą‚ž&±đőT¦;ińi‹0’xi˛9Oő9k™ ¸b “FiYöý` ĄÂ:Ží{IĺÄîoˇm¶a´@‰÷†G ďć›Řýz}ŔWHޢÖplPđ(F_PŐ“őyQĐ4‰E`śF=Iu�MbAŘo®žpÜĚ'•Ľő‚ů%ŇŰjĺ4ź„i¤™W7ŕ ·[–{˙9]lŕ=«s˝ô\çéj÷Ö´s,+ÎkÎÓ968ŰFŚG¶±ýĚQÇasÇnĐě~P~đŁód8__CőĘł(67äçóć]3ЏqŢ—.ę›mT'K]gě’čεÁú #µU˝aö§ÇMbQÔbÝiѲťEY´\=BňÁťB ŚeG i2"…i†­á g�Jéşâc,»ľq0‹š c\HÝ;źd~ĺEětĂŃđĹŻQ[[D«±‰»w?®Ű7 Uq¶9ŰËÉ“/ŕŁţľţőo˘ĺŮall ÷ÜórĽĺ»ß„ť;çܸ|>ď’`TÉ,(‘űgż ĂÎźż_Éä}GîÄ„»KŹÄb Ż=ލ-v í1¬˛%ĆĆ>NlăTĆŁ@DăQܱ1„1YáŤB’ř4[Mb‰Ć/ß¶IňföĹń±óEśýjŞŮY}ÄpnŮss«ŽäÇÇ:iĘüčdŐyč†n^ö<j0ňžX.»…5sĄŇ`ő+Ľ­{^ťť…ÜeŻţQ×ﲅűŽ&±dk«I,ŠY*či _Oeş“ź&±#ť łŠs`‘é®Ôś;O&‰…±b‹ĹZéÓÖk·jh›MÜyě(ä9+†E™ń5ěź9‰S‹/¬ÚSoÁG<éą”s^“7ü:nqfĂŕÖ“‘ËŰpνÇ6rżBŚľ Ş'ë3ňţ˘ h‹Ŕ8Ťz’ę�Ł!±(ćGH‰ôH’ I,Š>i ¤yőŇ"WźúqµŤ–»|H-ga©•w§’Î<3ř …8&Ţ%Ť„ăÜ»¸Mź\i\<Mcç˝ë0˝�–•I¬ď˝ăçž@±±ťTă9ďą©č¬e?ë6QťŘô$ř=y§ľvbHÚ‰ç`Ëô§ÇMbQÔfÝѢe›‰&˛hą:„1)0T ŚeG i2"…i†­á g�Jéşâc,»ľq0‹š c\HÝ—$VÚ!_8i÷ĺfµ¬Fm ŤŤUÜwËNĽúĆYD‘˘ýĚKbyď{>€~ŕĂ0Űlnnâoţć3ř⿌źţ™Ç]wżĚŤwČ,Î6Cí–|ë˲Đl·QúÍ˙ą_˙mÔţčĎěÓá?¸¬Jřô±—a×Ü+ťm…TÚŁÁx•E]„%‰űC1n[ě@ÚcXeKŚŤ}śŘĆ©ŚG,ĆŁ¸ccb˛Â…$ńi¶šÄ Ś_ľl“ć­bÇë3Ô{ŃÔ&÷<+ °Č,¬­ór‘ĄK 9ŇűbŰ@hŃ•ŢÓĘž †ęýç&›!‘…˝­{!´şă®÷Ąśç|=Ďüůtu¶pßŃ$–lmŻz‹j–¤p}¤čşĹ§#Ńë0®ÉTŻ•(şŽčzKŞăĄĹ§I,žâÖC¸h·ë.‘%hL^{†1›Ä>¶XţtĄŮŘtWčĽőčŁHGŻĽţ3řóű­f ĄňÄ ?ůÄ잯dŻáúdÍ+ťé“±b‹›¸‰|®€\±âO(PąÄ›±2č3ňţ˘ h‹Ŕ8Ťz’ę�ŰŽÄ"ĘŹXÂ~ső}É›A˘§’—˘^0żDz[­śFŕ“0Ť¤y)ŐI«eˇŐ¶đ¸Yq·Äa‘1ś—\‚¸+©P7ÎHuő ř:g«ůÝÇéyĹľľŘ\¸“§˛‹˛Í<oWň3Ż^Ás í¦…|ipOĄť8ßr°¦í-ŰźRw4‰EQouLD‹–m(šČ˘eű cR`¨ËŽŇdD Ó  [ĂÎ�”ŇuÄÇXv1|â`5/Ƹţş/H,ĽG¨>_8eJŚŻŮXéµ›uÔVŻŕúřÁ»ö Š8”|~0µĽëŻŢ}đŁR»Z­†ßýť?p}Ľűž—»qÎ6C¦ý RôĹ»5›­ţc»Â?~;ĆŻ?ÍůoąŰ.üŐ5wclţ�JŐ‰Nž‡~ľÇ†ˇV˙ăD»-v í1¬˛%ĆĆ>NlăTĆŁ@DăQܱ1„1YáŤB’ř4[Mb‰Ć/ß¶IóNjgtż$s_ŞuÉVŁÉ$v8dJgî JaÇL·_3g17:„Ăüí¨ç!ę÷u2˛!˛8çdÖęB2‹ă„•ď8Ň'«Ä„¶pßŃ$–lm5‰EQHáúHÁwٵ˘¦¸:Śk2Ők%Š®#şŢ’ęx@ińi‹0Ň ¶Ű űŔÄŃ±Ź˘\ZÁˇ˝Ď`fÎěĽé± ¦f–;ŻĆ‚÷Nűť{?l˙×jí|E °Â 9[ ®9pÚΧ$O0/ß:÷e×~Çv=Ó gĂö#oźéHgdlµěű`Ęąe¶´\Ĺ™ó{±ŢމÇWż×V) Żř¬Tú‚Şž¬ĎČű böνŹĘ¸•ćŘĆŃ‹5fą‘$× �iÔ“TPľtÓ$h‹˘OšÄÖ"bˇc^ťíUsĽĐÂ×Vv„·‚yĤ/Š“­Î"$Đ Ą­†śŐĽwGNFbéĄQ(˘>µ ĺĺ3á|ϱaäqxÚ•E‡üÚFµÔąV 3…Ű>UÚ‰ŞŢ0űSŠăŽ&±(ę łî‚‰hѲMEY´loaL •ŔcŮ‘BšŚHašˇA`křÂŔ€Rşn€řË.†/B̢ćĂ×ĘÄ)‰Eđâ[…Äâľ3ŰŘXľÝ3eüÜ"ź“|NBa°—é·} ţĐÇ”mťü˙č˙?ś¸ćx›!'˝V«Éµi6ť‹ţďňrozĆĆćß};¬őuvqbź=röí:By,Üy{”}($îs Ÿľt „í‘Ë.ń¨ŹŰ8•ń(‘Ĺxwl áALVxŁ$> ÁV“XbńË7‚mŇĽÓ°s¦>ç 8ÓžŇrőyÄÜŘä;R9¸¤Ř9{ÓŹŁmtĂÎAĆâŤ|6D‡Ó¶çNËKÖń¬ÄŇűµşw‘îÂ0IH,Ń.3ü¶qEÁV“X˛µŐ$E!…ë#ße׊>âę0®ÉTŻ•(şŽčzKŞăĄĹ§I,ÂČ^0—ËŁ^[Ç9ëţöÁ˙;ŤS¨Vv˘¸cąĘPwu†"NżiÉ *ŽĄ1i#pŢqí™)2WçHňmŚú)9+˝µ7@fÍËW°kí<&¦ŻĹ_=ó«h™MT*UźľJ_PŐ“őyAĚţÂą÷Q·ŇŰ8z±Ć,7’ä:`Xc›&±„ýćę ú’7/‚DO%/E˝`~‰ô¶Z9ŤŔ'aićŐ xg Ëcبw>ĆkZ-¬µsťűCáIW_‘ŮP7Ř6ží‚qľtD¤űäŞ{Ź#?ŁFbéI{l Kgťăd5ӲϮŐYMŤUwţUQ1/şţ”⸣I,Šzì»`"Z´lcÉnMj-ZF-ŚIˇ8``,;RH“)L3t0l _8PJ× cŮĹđEYÔĽ`ăúCŃ|!RňEHbé~éĆÂB/٨çe ü]= ›ËQµ_Ü˝ýM‡P-E{Řčl­ó|•ţîw˝Oů%^Oęő>đţ÷ĂůźoŮjµÜnL_®=ń˝…˝ŢerřÍ[ż S ‡Pž µGďÖŘÁűŕŇW˙Ś=ŇC2˘¶Ř"¶G0`,» ĆŁ>NlăTĆŁ@DăQܱ1„±h]l8’ħ!ŘjK,0~ůF°MšwZvą\‡UŇ. ćѶý2É™sz?™Ąrč�Ä[ô Vté‡-‡4b ŽżŢ\í##"‹“GăÂĄľĽí…ĚîÇŕ</dŰ 9ĺ+ŐŘĆ[MbÉÖV“X…®Ź|—]+ú`Š«#żźáFStŃő–TÇJ‹O“X„‘Ţ`.WŔŘŘ,έLá·żůďđÄĹ›°yú"j/śDóâshťy ­Ë'am.Úň­c“Y&RçD‡ŕ3µ7aŐ–€Ť öß+Xö9lĽp_9uţëWţ9.®–Q­î°çÎĽĎ5®Ďü őyAĚţÂą÷Q·ŇŰ8z±Ć,7’ä:`XcŰv&±ôób”EčXďXĐ—ĽçFč©äĄ¨Ě/‘ŢV+§ř$L#­Ľh‘(ŻVÓľ´qžnw®–ť[>çgzţşÇÄY q¦B3Űďp#A ·ě»ĘŢă(F$±¸ĺ”/%?ÇňröĽë<N>RŽÝNTő†ŮźTňJŮ'aQô|’ő§4óÚ’u'ČK‹–í(šČ˘e{ Ép 00–)¤É¦:¶†/ ś(Ąëʱěbř"ÄÁ,j^0Śqýˇhľ¤EbaĹz±Fa/˝ŰÔV.ŮŰř…7ĆÂŚÚWl^ń~ewćĚY<÷ÜIÄ‘Ż|ůk0Íî>ă†áîµ”v»íţ„˛cŐżĄWt¶*úÂţëpnî�fö‘ď­cdŰGÔ;PÄö�FŚe—ÁxÔljmśĘxČb<Š;6†đ &+ĽQHź†`«I,±ŔřĺÁ6iŢAQáHđ…\gŢiĎäúódłGîđPĽż Tîw—+ “@,O B‹EL˘Ě Ďn8­…zçR?Áç'ëgÎvćĎbqŕ‡ˇşĽĘî;šÄ’­­&±( )\)ř.»VôÁWG~?ĂŤ¦č:˘ë-©Ž”ź&±°#Y÷Ż=±'Ő©é=X\©á7ľřcřĐ·_ŹĆň&ęaµíF›«h]>…ćŮ'Đ8÷¬µ‹ Ć&Rď”2‘Ĺ+e"‹ÓľĚ¨ąÚ´Ż/6í˛¨ŻŘoŘęh­×°üäi4—7đîGß‚ßýŇ÷ałÖ´ËÖľ®€hőPvăNŁĎČű böÎY¨Ś[iŽm˝Xc–©ř|RŇń€iĚ|=Ćy%۲“‚)¤Çhű±ňRÔ ć—HŹŠO©•Ó|¦‘f^Ý€,/«Ýąß{ş1Ř>.H‘ER#śŔKfˇ@\|RŤCb©î?ŽŇŽč$–N´•ÎGtŽ«ÇžrÝ­»vËä׉瀅máţ¤’WĘ> Ó˘§ŕ“´?Ą×–¬;A^Z´lWŃ[ iŮ–BŞ8EłŐ$ľˇRşn€řË.†/B̢ćĂ×ĘÄ.‰…Â…|éäM”ş„o|ďŘýúÚ~°Ř®×ńŻÝ‡{ÇGrąÁˬgź=‰¸R·ý8{öŘßM×€éyišš­–Úë2ǧ_˙Ďřđßű?đľÝ7cář­(V'»ŕ€ÄbpöBíhy°(íqDm±%lŹ$ŔXvŚG}śŘĆ©ŚG,ĆŁ¸ccbQË|’$ă!ŘjK,0~ůF°Mšwv†űŠ˝Ói 9ŁaœϞkŰýÍž‡V×Đ^^A~n–Ihqć@ďĘ^ąJŐŁ‡±ůô3L˙śe˘ Üśťţě.MŐÁD+šąúůô·hpϧÝFÍžĂů«±t»:·‘ĹbD?¶pßŃ$–lm5‰EQHáúHÁwٵ˘¦¸:Śk2Ők%Š®#şŢ’ęx@ińi‹0RTĹŇŽž¸§_xúöp~m?uÇ»`žZDe~ʼnj§ÜZu´–ÎwĚŠE*“îDFe‚ů˛8i[m¤.dÚó˘ýú-ß7w^o7Ü-`ŐĂźŰÎ×.,cóü í"~ëźĆăŽcÇÎ#صű&_ą¨ôU=Yź‘÷Äě/ś{•q+ͱŤŁkĚr#I®�†5¶]-$„~OŹ$itRÉKQ/_"=B*>i äyu˛:!łs”Ł6ľ]ź ĄëćĺŮŇÇ şł‚BśĎÚČk ăÎU„‘hKŁĽ}ź;±˙8*qI,N:›k.!%—ŕťßŽ1ŕěŞ=-7MűÚ%ß­sroĘ{ub(´ĂąeúSŠăŽ&±(ę łîyiѲťEY´\uBˇƲ#…4‘Â4CŔÖđ…3�ĄtÝ�ń1–] _„8EÍ †1®?Ý—ŕR†/2‹»˝€ýÂɲÖ9ÖiA!_‚/ÇÚÍšý,qݏ~ݏniČúÚ:’ß~đjÉyYŘh6TżůvĺO?ô�>ĽűLď:ńŮ}Ođyí‘ń‰>łţä—QµĹŁ=bkŤŤ}śŘĆ©ŚG,ĆŁ¸ccbQË|’$ă!ŘjK,0~ůF°MšwjvŰ’KÎhˇx° úJŁ?oÖž~Ĺ3ľ•XrÝUWśă|€\2qó Řxę;ˇ<\K/H]BK7Ň%łŔ`*yFÁ/ÓXŇ;‡ÍgO¬Őý¤k°ĄP/®rh̵+E!˛lᾣI,ŮÚj‹˘Âő‘‚ď˛kELqu×dŞ×J]Gt˝%Őń€ŇâÓ$a¤J=ą~)Şc3xđ,pamożűŹ0sif˝‰ňě”ď~Ëhµ`¶a®-şq®:…üŘ4ŚŇŚBQ„˛ ±¸ Ű?gˢsŻ»Í‘e_G´şäNZÍ66N]@k˝óvyýĆý?ŤK›sŘ˝ďě=r…ëcD=Yź‘÷Äě/ś{•q+ͱŤŁkĚr#I®�†5¶m5‹˘;‰…‚Ç$ŔzÇ$IŁ{@i䥨Ě/‘!ź4‰ˇĽ‘v° ĽFËcĐn[ÝĽ›¨Yěű+çűDŁ›ľ*yDH8qć\ මA„şq†:¦ű×!±L<Žęl|‹{Ť¶tÁ-‡¤çXÎwjÂę•»' ďÁ‹®?Ą8îh‹˘Ţ0ëN%/-Z¶©h"‹–«J(tŔŔXv¤&#Rfč`Řľ0p ”® >Ʋ‹á‹ł¨yÁ0Ćő‡2ńEHb±ŻÚͶýŔŻÝtËŐ"űĺ™aafĚ@Éľ*/ťű ĺBgwŢ1ě_1gŘdžýüÍ~UĚąlőjŃąĂXe ×FZR.—DJĄ°˝»µCSq%–®|ĺ‘“řŕ—žĹĚžcX8ţ‰e cx÷Ę$„’ E»-v „í‘Ë.ń¨ŹŰ8•ń(‘Ĺxwl áA,j™C’d<[Mb‰Ć/ß¶IóNÍ.`[,ä·çÓ‰Ccج®˘Tď€ő§žÁÄť·…¶r~Î\\•eňćpţÝď¤o8[y6ŕqă:]K7L˝ž“Îź|şD–Ţy¬<řM˙Š3ŚŐXę3ćöVěr2l7ôvB©ŮmS[MbQR¸>Rđ]v­č)®ăšLőZ‰˘ë®·¤:PZ|šÄ"ŚŚZ;NŘ÷„“8}ňkřźůGřą—ý)NĐs.™ĄşkŚB™–ł‘ósĄhĎ53.©%W®‚dw‚Yl+Ô«é8$ÖqÉźmŔYuĄ]S"Ö4WÖ±yú’íş…GÎ]Źß˙ęŰТI:örT«sţäąů"˛ž¬ĎČű böνŹĘ¸•ćŘĆŃ‹5fą‘$× �ĂŰ4‰%ě7ńôH’F÷€ŇČKQ/_"=B*>i äyuŞuŇęnqS3ĹóuóNq>ńVR ÇÉWgéÇŮ>ĺmÝŹc< ‰Ĺóň)Ps3†ża<ßÝ·mRo!q;é)! glˇţ”⸣I,Šzì;•Ľ´hŮƢ‰,Z®ˇĐcŮ‘BšŚHašˇA`křÂŔ€Rşn€řË.†/B̢ćĂ׊ç q®PĐ»Ŕ&®ťłňJł¶vc;*&î8:Ž[M`n˛ŕ{yGČľaj·Ű(âM ˇ¦'űöďC\qÎĂkOÝt›Íf˙XENť_Ä;ţěsر÷8v˝FľĐKâýĹ}ް #yźc(Ćm‹(f{ 00–]ăQ'¶q*ăQ "‹ń(îŘÂXÔ2†$Éx¶šÄ Ś_ľl“ćťšĂÖ™N+妧J¸¸?‡OYîŻÍ‡ýčßćY‚«˛LŢzłűő¶órŞ7ť H,=RKçA Ń ;J®ŽÁ|\$ĹYżMűŔ%˛|őëśŐXś[:7äql˛„JĄ�ĄK߉G”ŚűŽ&±dk«I, ˘z}¤ŕ»ěZŃS\Ć5™ęµE×]oIu< ´ř4‰E·&§wăč5ŻĆóĎ>€˙úĄźĹŹŢú>ĽâĐX?u•ůI”&ĆÄĺîŮ‚Č~ë„üXg ˘\uWU±2$˛¸$+”Ż|Ë ^r„Ís—Ѹâ¬DJř蓯Ć_?úf”«38rřĺö=ů_j×]iôyAĚţÂą÷Q·ŇŰ8z±Ć,7’ä:`Xc›&±„ý&žIŇčPy)ęóK¤GHĹ'Mb<Żn JťíÎܱ¨8Ťąß8vm…Ž.áŇKâúöÂ[«łĂŹ^śłËܡăKFbi/žCűŇiäŚtÎŃ(–}uÎŞ [¸?Ą8îh‹˘Ţ0ëN%/-Z¶ąh"‹–«B(tŔŔXv¤&#Rfč`Řľ0p ”® >Ʋ‹á‹ł¨yÁ0Ćő‡†ë‹ópŐ~É´ąr yjŕ{nŰ{®™ABîJH,Kť(ňŘ?~ 3;f°Ľ´Ś¨rÓÍ7Ú/ÇĘđúäX˘ř¶˛^ĂżůťŹ"79oß4Ý„|ˇ›^€Äâ+ŔPaŃÚăÚbJŘI€±ě2Źú8±ŤSŹYŚGqÇĆĢ–ů0$IĆC°Ő$–X`üňŤ`›4ď$vî*\$’ĆäD íŁeXOnş˝ęĎ=ŹćeűĺŰÂ<—ČŇ[™Ĺ‘ÂÄ8&nşkß|4äoo{!ď`F7Đ pÜtôň¶ôHoK!çW?wëŹ="®řVh±=É]Sv‰>ղ­$!>Ń6㾣I,ŮÚn+K†­JŇšÄÂ×S™î¤Ĺ§I,ÂČDő@pWe9vÍkqęůŻáOľńC8ąx?zŰűPż´«ŢDiv†Ęę^fËÝ~ČÝ‚Čů|lůę4rŐIűÍTÁľWÎh[!ĎąŔÉ#_ęlë뮺RnÄłÖŔĆ ŃŞ·Ń˛ňřý/ż ť˝ S3{±g˙mö‹şB(k®Oőd}FŢ_âŽ[ś{•q+ͱŤŁkĚr#I®�†5¶miKÄ>E(xL¬wL’4ş”F^ŠzÁüéRńI“X Ď« Ź‘Ô'rx˝Ë¦ú–zÔIŢý›Ýę+aÜgßvof}zî˝®…#Ç1•ÄŇZĽ€ĆŮ“LKÜs¬ç«vٵ÷á=%Ů +žľ¶Ď¸ŁI,Šzì;•ĽzZ´l7ŃD-Ű^(tŔŔXv¤&#Rfč`Řľ0p ”® >Ʋ‹á‹ł¨yÁ0Ćő‡2ó…•¶cµZX_:ŹUŕďża?f'˘í®*ą_x;/Áś‡z†ťF>źĂ[ŢňFĽóĎ˙*RÎË®ďúî7őĂf»í®cšę_×5[müę˙8Ö¬*ö} Ąj‘Xâjňęźe7˘¶Ř¶G`,» ĆŁ>NlăTĆŁ@DăQܱ1„±ež©$Éc¶šÄ Ś_ľl“ćťšťÄÖŮ^¨TĚaöš ÔľZĂŘ"ą_YŻ}é«(}ß[úÄ•Ţj&N¸÷·÷sdÇÝ/ĹęCŹ »îJg¬0zÇÔe±PźŔŇ#łpÝë> 5RZ‘Ż˥Ź}Ę~j…Vbńţ6ä±pp ŐJŢľf´φIéu ÷MbÉÖV“XŇMbáë©LwŇâÓ$adH§7g©ÔČĺ‹8xä.ś?ű-|ţ¤K›;đ÷_ţg µÚ›—PÝłąb”ű[ňmA”ŻŚJ“(8CE¤ţµ‡“Łý‹ꫝ"°Z+ŤË+¨ť»â.ÜrĹ.‡_˙ÂOáÜÚnĚďľ;®ApkA•ňí ©ž¬ĎČű böνŹĘ¸•ćŘĆŃ‹5fą‘$× �ĂŰ®VK(NąúŽăž÷Ü=•Ľő‚ů%Ň#¤â“&±@žW7§NĚîóĘu+úÇ äÚwţz‰$ÄíśťĆŢůYŚŰs§iOJË+«8{á’ýÖŚ±ŐĐ`u'ÎąŢ}ä8¦’Xę—ϡ~Î!±Ź´ŁzŽÎßŕę,Îßşs­`Ďĺ”÷°cś?ś{ń-ŰźRw4‰EQou§’CO‹–í(é­I­EË 00–)¤É¦:¶†/ ś(Ąëʱěbř"ÄÁ,j^0ŚqýˇdľEöĄGb™ŢţĆ˝™‘XÉ'üÂŰ!ťôä oĽ×\sQ䵯{5n¸áş~¸^ŻŁŐRPčďďüĺçńĚĹŽż•‰®^˝ ˇáßjČ öŔÄ}ގ·-v ¤íQ€±ě2Źú8±ŤSŹYŚGqÇĆÄb–y¦’$Ź!ŘjK,0~ůF°Mšwjv[ßÂ\ł«°kľŠŐk }bÇÚ§ď÷­ÄŇ#Ă=ŮqĎË`ő!öĎňlŮcůţv$Vw…büÜ<şöi¬Čâóß~`yĺźíű"±XťG”k×°{gŐ.›˘RůĆ’Śm5‰%[[MbIO4‰…ݧ2ÝI‹O“X„‘‰ęˇc9ěŮw öşßľt~őÓż ës.róĚe´V7boCg66am® ąxŃÝŠČÜXµjj•Ç=r +Ô¶Ón,ŤU ąaĎ›MIJçٵçÎaóěew^ýÖ…ř7źřE\ÜÜŹ‡_Žť ×">‰E®'ë3ňţ‚ý…sďŁ2nĄ9¶qôbŤYn$ÉuŔ°Ć6Mb űMŕ ú’÷Ü=•Ľő‚ů%Ň#¤â“&±@žW7»Nşă3ö~¬ÎvďBKďŻ÷ŘW.•đę—Ţ„WßyNÚ‹˝»ćp`Ď<nľîî{ĹťŘk‡ŇÁ ‹GnśeźĂľŁÇ±c>‰Ąvé6ÎśtďCyKÎŃg1âZ”GÁčÜł÷v°Ö !żŐúSŠăŽ&±(ę łîTňbčiѲ]EY´lKń^p€Ř8×–Äéň"…i†­á g�Jéşâc,»ľq0‹š c\(S_‚é»íŘ~ą´±|弉ź}ínLŹgGbç ň¸Ňn·ú/đśUYţ×ňŹpB‘Ěrď˝÷ŕ'~ňGűáVł‰Fł(ňžżů>űđYĚą3»ť%f<íqŔŞ78[ IŰc°|FÔ;PÂöHŚe—ÁxÔljmśĘxČb<Š;6†đ –Q™'’$‰ÁV“XbńË7‚mŇĽăŘq§4E[gűśÓe”Ż« 1÷ĹSă…ÓŘ|â©ĐÖB!¤G é;RŮ·ă'ŽyH!V€ÄbůÉ,]‰Ĺř‘‡c“]xI,ÎߥŻ}Í‹—«°ôü«íĘaöř&íkgĹš¤ĺ×–+*ů&°MŐn›ÚjKz˘I,|=•éNZ|šÄ"ŚLTťéűqřřÝX¬ďÁüĚ/âás×»ńŤĹUwĄŠłŐ­1 w’eĎÁµu´V® ątíŐ˰čż©K^1 Ö:P_¶ß(®ąŰ=[wEµč[9$ť•§^@{­f·)ůö«ńŽĎ˙4¬ü.:ţ*ŚO.ÄŞU=Yź‘÷Äě/ś{•q+ͱŤŁkĚr#I®�†5¶iK÷Ü8ĺJA=Hôm?¤§’—˘^0żDz„T|Ň$Čóę’ÖI‡`‘왬“žpR,đş—Ý„…Ůi¦}ÁĆo˝áŘ«LńŰi<vł I,ëĎaőĚI ¤šAĎßJÎęÔ›s(ĂĐ1§îČ?Ěţ”⸣I,Šzì;•ĽzZ´lgŃD-Ű[H)j€Q¤¤“&׎±[ĂÎ�”ŇuÄÇXv1|â`5/ƸţĐH|©­\¶Ż°›řÉ{0ożLËRś–4¤ĺ’O:gW«â_üË˙ ?ňÖÄÔÔ$S×®üÂ?ř9ü˝źű™ţÖF΋µőőµHWe_}ô$ţ䣏`öŔµÚu¨óµşŚÄâ‘^™Ś×\‰űC1n[ě@ Ű# 0–]ăQ'¶q*ăQ "‹ń(îŘÂXFe>2I⢭&±Äă—oۤy§f×µŤBÚśś(áĐi,Ý^î“L–Ţ÷‘„Ehé;çßđÚ>9ĄżÚ‰e1Wfé[x?w~ąDŻź=_/ľëýlKĎoűßĘÍEÚ7é–‰¨|˝‰ ›qßŃ$–lm5‰%=Ń$ľžĘt'->MbF&©殺˘âۉc׾(Íăwľüăřŕ÷ąŹv˝…Í3íŰßf´ÝrśUĘěiŘjÖŃ^[BóĘYËĐv¶#˛«ŞŮŻÉĚ:Č!­Ô—ě›Ů ÷ţ›w†©>@8óöćŮ+X?yfËNÖĘáľú#x×#oĆäĚ>:ţJ”JăJuŕΧôyAĚţÂą÷Q·ŇŰ8z±Ć,7’ä:`Xc›&±@čďôm?¤G’4"čóK¤GHĹ'Mb<Żn jťPŕZ¤çSĂJľę¦#¬UHśßm×ĆÔxUhë<˝ńš#8r`źŹ â%«°Č%ÎJ,GŽźŔÎ…d$–µ‹ç°rú¤»Â‹lu•ŐW|qßóF‡ęĺĎľ(úSŠăŽ&±(ę łîTň’čiѲ%ť·–Z´lE!Ą¨F‘’bNš\; Çn _8PJ× cŮĹđEYÔĽ`ăúC#ńĄ±±â’BţÖ38±wYK!źŇ “}Ш7P®Tܰł2ËwĎ›ń¦7żO>ů4N˝pMűádµZĹŃŁ‡qôŘß‹.ç†nueĹý«*ĎťąŚ˙÷O>‹™=G0{ŕ:ärµöčÝű”$$ďÓԵŔ°=’�cŮe0őqb§2"˛ŹâŽŤ!<eTć#“$Ž)ÚjK,0~ůF°Mšwjv[ďt†ű:~ X.ĺ±waß9TÂćî&ĆÎ[Řřúè=ű<ĆŽv‰ ÎÖ[Ą“ž?<˙†×ŕŮßţű©™éfćäŐ{ĺ–­ó ÓY­×—{ľ’÷wtŁŹČÂZIfő‘ǰúÍoőçÝŕJ,î–JÇ :4†…ąŞ}˝coÉDöâŃ+÷MbÉÖV“XŇMbáë©LwŇâÓ$ad˘zŕé¶yuČ.Žż…b‡Źß‹ł/<„>ţzś[]ŔĎĽôÝ(‰ÚŮ+(ÍL 4=!źX\Xí=łÝě_ssąb yl˘?ů*Š;w÷&rQ^ő6Nť‡YkÂYÇeĄ>߼˙'qry?ćw_gżč;Ńqžü¤OśT8c~ ČúŚĽż fáÜű¨Ś[iŽm˝Xc–Irť�F=Iu 6fńőç5¤±-K!Ţ1)č1Ú~HŹ$iDĐ ć—HŹŠOšÄy^Ý@šuŇLń›s'I‡´‘ë‹yß§N2ąńšĂ®Ýs/śq˙ć<éć<]±ç±kNśŔ|BËĘ…sX>}Ňť›sȧ{9ĚŰëË7^\Ýá¬:ŹŽ»…·îŚaö§ÇMbQÔfÝ©ä%ŃÓ˘e»Š&˛hŮžBJQŚ"%Ĺś4ąvŽÝľ0p ”® >Ʋ‹á‹ł¨yÁ0Ćő‡Fâ‹ŮjÚĎŘ82kŕžëf‘र­W,ËDŁ^C±Tâ¬řrăŤ×»?®ťýBÍY‰Ĺ±W•ĺŐ~ĺw?ŠÂÔ<ćŹÜ†|!¸rÍŕő kK!Ąö¨I,jv ľôqb§2"˛ŹâŽŤ!<eTć#“$Ž)ÚjK,0~ůF°Mšwjv1m{ďަ&J¸öŘ<r[ĺOÔ7-\ůóżFů_ţciĹčÎĄ^‹CÉOMbćŽŰ±ô•Żąnt^áî‹0—ŔŇQô‹ťvÓAd ®"Ó;>űGďô¬Ŕ‚ĐŠ,¦ťŐÚŤEÜudcśŐX¶pßŃ$–lm5‰%=Ń$ľžĘt'->MbF*×C€ÂÔ‘¤ŐÓq>>ŘčNTƦńő3ÎŻĎăďůcĚTWŃ\^‡Yk ˛0 #/x±gÄyégŹ\ą"¬ŤMŐJ¤ű`wĚ#‡ĘśÚ\ZÇć™Kým’žľ|żőĹżŤö öĽ“Ó»;ŠQęŔé!@Vňţ˘ h‹Ŕ8‘Ž”ŐĂ‹‘Ģčrl!Ţ1)č1Ú~HŹ$iDĐ ć—HŹŠOšÄy^Ý@”:!źJ±˝žDśŐGśYbçôd˙ů¬ŞÜtÍa÷ďł™…A$é]\wÍ ,ěJFbYşp‹/śěXşqŢ|ĽÇ}Üö)Gü¸ľM7Λćʆ…ĘtďC–DnO†Do Ž;šÄ˘¨7ĚşSÉK˘§EËv˝µ–«BDş&±đ •ŇuÄÇXv1|â`5/ƸţÇ {_ZÍMűů‰—É~%GJ…ř[đ¤ł2KÍ>—¦ÝD,©nłŮpI,í¶úľăő¦‰ű{Á¦1‰Ý'^ŠB9¸D&‡ÄŇo™WcIÜçŠqŰbJŘI€±ě2Źú8±ŤSŹYŚGqÇĆÄ2*ó‘IÇm5‰%ż|#Ř&Í;-;wč'V<˙Ą•x[ä¬@r`ď$¦U±rSÉ]ĄdăŹ`ă›ßňBĽŰő;_˙ęŔÖB˝-…¬ţŞ'îq‹ˇÁj(ްeuôrĄhŰ z}qćŮŢńĘCŹ`ýŃÇ=Ä+DdYľŁ˝ěyvaÜ~ři„ËŠ<e­PĆcˇ™X˘`«I,ŮÚjKz˘I,|=•éNZ|šÄ"ŚLT7ň ęjçü 8ňrś];ű©„§.vÍFw«ˇzťż�Š}UQŁXvç(wNvVi‰(Ž3ľmbýůóŘ8uVw ˘Ď>ű2ü?źůYÔiu,KxŶžT§ Ęű‹‚ I,ă4ęIŞh‹$}ß1)č1Ú~HŹ$iDĐ ć—HŹŠOšÄy^Ý@uR0Ň'˛ôŇ.ă}ĎîYŽÜÇÜşÇůăúkO`wBËâůs¸řüI´Aj[QŚm…ÇŤîÇŤ,˘čVëO)Ž;šÄ˘¨7ĚşSÉ+‚ž-ŰQ4‘E˶Ń@®I,|CĄtÝ�ń1–] _„8EÍ †1®?Ä1Hŕ‹ ’}ľPçĘÚ4[o]ššä él+Ä’¶ýp°^«őI-NŘy‰ćüuČ+őzkş:‰Ĺ)ĎßřłOáäb»ŹßŽňŘt@C@b1 _™ I,†ź^?ě¶Ř¶G`,» ĆŁ>NlăTĆŁ@DăQܱ1„±ŚĘ|d’Ä1E[Mb‰Ć/ß¶IóNÍ.‚-ó â'ĆŠ¸ńš9l\_D}>çÎA—ţčťh7\‹—02uĎË«T\˘KFq#VŔ҉ďýzÄÄQ‡ř’S\‘ĹIßë‡ĎżVg˙ŕO]˙űľČ,›ňh©ŕ†ł¨– á˛ÚÂ}G“X˛µŐ$–ôD“Xřz*Óť´ř4‰E™¨Të _§;©LNíƱŻB xÇý?ű_¸ĂŤw꬝_BýňjřśÓD#W°M/ó¨Ů˘.ş·o­×°úôi´V6ěyÚ°9üĎŻý ţřÁ@ub/źx5Ę剞y 5ź‡< •>#ď/ :€&±ŚÓ¨'© I,ńćĄI,j>i äyuYŐIę«SG•ŤZqĺćkăčÁ˝~‹=_ÝxÝ ěŮťŚÄrůÜ9ś;ym"6I ’ #ÎTłşq…ÎÝLďCŤ-ŰźRw4‰EQou§’W=-Z¶«h"‹–m-˘\“Xř†Jéşâc,»ľq0‹š c\c0D_rÎb&.-®!k ~]ť•8/ĘňŠCfi5î_łÝypčĽPs,Qä/>ú ľôÄ%ě:v;Ʀw…pn™H,B;Mb‘Ű)řŇljmśĘxČb<Š;6†đ –Q™ŹL’8¦h«I,±ŔřĺÁ6iŢ©Ů%´5(\ {&pěđ –^^eżkž:Ą÷~D¸KŹĐ‚b;^yW—ÄB}2‹źŔBžpŹPbő‰%YědžĄ’ĐwK �™&x|ůźĆĆSßé§M–gĹ;ĎvĹŔĘe\wls3Ą2R–ŚëU“X˛µŐ$–ôD“Xřz*Óť´ř4‰E» #Q]1Wm±ŠĺI9ń*TÇ÷áŹüAüßř8/Ęrh­m v治jé ˇc8[řĂó™UŻ«5‚ľ˙¶WdöŻ]XÂúsgaµÚ.‰e˝1Ž˙đ™źĂýĎ݉ąůŘř.äóĹžzČ'¦(וÂj-]PŢ_łżpî}TĆ­4Ç6Ž^¬1ËŤ$ąN�H¤ăeő I,bńćĄI,j>i äyuYÔIo*ČE‹˘ĘĹ•54šŃW!ëÉÍ×Á±.™ĹY‰ĺćëO`_BËĹsçp&@bQY}%éŠ,†ýĽ˝Đű Ó0¶nJqÜŃ$E˝aÖťJ^|Ңe;‹&˛hٶ"ż5‰…o¨”® >Ʋ‹á‹ł¨yÁ0Ćő‡8ĂőĄ`?`sn îř$˛'ëRÄí R÷ÁnK-űˇ_”‡‡_řĆwđÎży ;Ţ€Éůýť»>ß’Ëcßj, ‹÷Ajâ>ÇPŚŰ;PÂöHŚe—ÁxÔljmśĘxČb<Š;6†đ –ĺ0 I’ą˘­&±Äă—oۤy§f°ĺ˝# ®ÖŐńůĽ[®Ű‰‰˝e\ą§ěÎ_KďůjĎ˝ \ŤĄ÷›{Ăkş$ËCfˇÁĘ+˝•Pz„–ŔĎK2á­ČŇ#°}éůÓűŰZßŔů?ţ‹Ţ팜üěBXş»Śů=c¸îčŽ>éUVFĽ˛őéeÜw4‰%[[Mb®Č®}0ĹŐa\“©^+QtŃő–TÇJ«O“X„‘‰ęA˘ÓżżR®«ŽCř8přĺŘ9ź{îeřµĎý,6[ew…‡(˛qęÚëµx«±«ěI‚śmŚü –8«©µZXűÎYÔ/,vĎÁŔÉĹýřןřEűďaě=řRĚďľŃ—O [¶ř®aŚTúL”:Ş) ĘăVšcG/ÖĺF’\'�¤QOR`{XĎ!Žx“Ö$5ź4‰ňĽş$ub|ęňCŤ ‰,¦Iřć3g‘DnľöŽÚ‡Űn8{’‘XÎź=‹ž}®Cbp!E']ĹĹsl´ę¨”{D–®C[­?Ą8îh‹˘Ţ0ëN%Ż>iѲÝEY´lKŤßšÄÂ7TJ× cŮĹđEYÔĽ`ăúC”|1 5_l˝\±„RuŹż°Ź?đmd!¦iˇXČs_6 Cśg űˇˇóRNUžzţ"Ţńç÷cvßqűw9ç¦ ‰á2’X<_»-v „í‘Ë.ń¨ŹŰ8•ń(‘Ĺxwl áA,Ë9`’$sE[Mb‰Ć/ß¶IóNÍ.E[Ă7źtţ:Ľ^zË.´”°rsfł…óďř]´67…Ű 9Çnľ•C<[ř H-=b‹eYľ­}ü?ËĹ˝\y@BíĄĚĎK` ’kÎ˙Ĺ{ŃĽ˛Ř'ÎxótČ,+/)ĂŘWÂťöą–Šy_8ed ćµCĆőŞI,ŮÚjËpEv­č)®ăšLőZ‰˘ë®·¤:PZ}šÄ"ŚLT=Ŕ0˘Ő•`ĺ Ksص÷&ě?pľłx ˙ţSoÇ…ő9»ľ:Ż뗗ѸĽ„\Am›=W %ąŔ#Po¶f‡˘*N]lś˝‚öf˝˙ůŔÉ[ńź>ű÷°iî¡ă÷brz/xŤ–]vFÄş2Ä:]PŢ_t�Mb'Ňń€˛zĐ$uŃ$5ź4‰ňĽş,ë¤÷ěŇŠż`Š’<ôť38uqIÄŮfč`BËą3gqňŮ“0»÷žŞ+©ÄY}ĄŹcpܬŐěkÜÖíO)Ž;šÄ˘¨7ĚşSÉ+‚OAL‹–í(šČ˘ĺŞMbá*Ąëʱěbř"ÄÁ,j^0Śqý!ŽÁ(|éĽ ŞŚOcçţëđďý2~ç]÷ă…s‹HKÚöş?ůĐ—Q,–WśiÎv@”ŕ‹¨ö——ÖđďţűÇQ™Ýť‡oAÎY˘Y•ÄX[“X<XăQ'¶q*ăQ "‹ń(îŘÂŘć€L%IžŠ¶šÄ Ś_ľl“ćťš] [ß\Ajc/̍᎛vbí†6ćŃ<}—˙çźsWcń†w~×ë+@nˇ.a%řč PVdżž›/śĆĄ÷~°O`éo+ÔM{ăxµăeĽôćĚL–Ąĺ«Ľ B˝jK¶¶šÄ2\‘]+ú`Š«Ă¸&S˝V˘č:˘ë-©Ž”Vź&±#ŐC„ş2ÄŁFç^ŚÂ­Đ{Ź6˝c?{–š{ńď˙ćířćąë=)PGˇ*_]Ô!°ä r=j4;o¸Äń˛2UuWŠq6ďzäMřýŻü0Š•=8|âŐ(W¦űç$örÍ—Á¬¶’ŐĽż fáÜű¨Ś[iŽm˝Xc–Irť�F‘ę�šÄA4‰EÍ'Mb<Żn í:ń?Ç´_Đĺ;áV´×#‹sŻ÷±Ż>Ó—’‘Y’ČąsçńĚ3‹łI_‡\B]R B«ł°â¸«ł±em˝aşáY&g ő§ÇMbQÔfÝ©äÁ§ ¦EËv•´hąJD“Xř†Jéşâc,»ľq0‹š c\c0 _şâ¬Ę’+`já ę›řâc'ńąožÂd5Źc{gqdß,®;˛€ëŹěF©m(?}a˙ůŹ?‰‹Ë5üÂ[ď‹´‚rßO»-,.^r_Ś•J%ĚÎîDTiµZî‹9U©Ő›ř•ßű(šůiě;~' E˙ĂHĽ"‹DbńD»ţ;PÂöHŚe—ÁxÔljmśĘxČb<Š;6†đ 6‚9 SI’§˘­&±Äă—oۤy§f'±u§HL×Î}Gˇ4ŽŢŐő&ľm‡sÍMŕS_@ů†k1őŞ»‘ĎwV0qćJç¸GÉŮ/Ҧď{Ś˙ńg°j57ÎťŹ ôIť˝°ČOGÓ˛ĽYöĚZąĄG|ń÷~‘ĺĚďý1¬f«s.ÝľnţöŻľŻ€µ;*¸ůÚYÚ7ĺ+ż^±VŞ‘ !>“EˇMhK¶¶šÄ2\‘]+ú`Š«Ă¸&S˝V˘č:˘ë-©Ž”Vź&±#ŐK‡5ąŠęĘ«OĚVHĘ@µjßű5Nťü2~ë‹ëćOŕ»®ý< ;v¸:Î eĄB­M{^5Y÷–vžÎ–BŠťßjÔaT*J«–ć'*¨µĘřŤű˙žşt;掸+ÉŢ-Źóż|Ădńő™|EyQ+Mbá'Ňń€˛zĐ$uŃ$5ź4‰ňĽşaÔIˇGła!W·ďţ޶ď ?ú•'đ–—_Źýó3¦ś9{O?ý¬;9s\ď {ę“űĎčłpv\˙ŘN4Gś·¸ÜÂÄlhW!ö± îz— šÄ˘ćÓ°úS$˝aÖťJ^| bZ´lgŃD-W…h ßP)]7@|ŚeĂ!fQó‚aŚëq FáK@ě+â|ˇ„ů7 29‹µË§ŃŘ\Ĺ·ÎÔđč 'ńŢĎ=…ĽŃĆ‘˝38~`'®;Ľ€kďĆŽ©±pÚvâĎžľ„ŹÜ˙8ľüř94Z-ěŘu /ś_ġ=ł"ÎË®ĺĄE—ÄâH»}íËŢWäęyďřÓĎŕěŞ}×ߎRe˘ěĺ”˝$_şĚXC€1ěRŞ˙”°=’�cŮe0őqb§2"˛ŹâŽŤ!<Ť`ČT’ä©h«I,±ŔřĺÁ6iŢ©Ů%´ő’Uܰ€ôâĹn»~«kMś}aǧ7qéţ ĺăGPŢ»ŰGbq,ýăR ;^÷J\úŕ'ş‹9Ž1xÖ€ îIćŠoű!â’XśßĘżŠµż ?Ą“oc!‡ĺWŚáĐţIÜxbÎwνâ‘m)Ä|ńG/ [™hK¶¶šÄ2\‘]+ú`Š«Ă¸&S˝V˘č:˘ë-©Ž”Vź&±#ŐH'@NńęçWo"ˇVhňń‹U>ö*ś=ýŢóč›pjy˙ű­O ě9¶89słînůçsŻXŽ´•®łB™}kŰÉW.u’}ďwľO^:‚…]×cn×µ˝T}› 7źvs–öyQĐ4‰E`śHÇĘęA“Xâ ±Žm?¤G’4"čóK¤GHĹ'Mb<Żn`Xu’Ëwč3y Sů&VÍř«g«Č(Č,§ÎžÇ“O>kĎoäÎź| uă:s]G b î"áćöĺCw{!ˇ%‘yJqÜŃ$E˝aÖťJ^|ĄˇEËvMdѲíE“Xř†Jéşâc,»ľq0‹š c\c0 _úČY9Ź\ÁŔäÜLěŘ Ól˘±±†fmÍţ»Śşý{~±…ç.źÇÇżúLűˇŰΙ*vďś´˙ގŐ"lÖřΙ%l4 ĹRĺ©ĚĎtî”đčÓç"YÖÖVĐh6ú቉©Hö΋´FłéĂě?ţŕřÚSW°çÚ;16Ů]ýĹGbao)Ä"±B˘Š&±pí|éăÄ6Ne< Dd1ĹCxÁ©$ÉSŃV“XbńË7‚mŇĽSł‹`Ë$¨P3ŕÝęΫË|gs9÷ľt?>óĺpń5vř“8÷ź~űţý?Gab‚ą"‹óŰńÝoÄĹ~Â}YćÖAî¶ťĽz˙ N*_tÉ ŞD–Ţq»^Çą˙ń§vľV|ěgÍą–_5†]»«¸ë¶=îąËUžţ°čĄ[ Q°Ő$–lm5‰%ۨ٨ďW‡qM¦z­DŃuD×[R(­MbF&އÔëjĐ ůD#”RÎľwÝ˝ďf÷xŐ8Bé逑üXFˇ€v­îV¶‘+ŔČGěIM{޵íś-‰Dâxů†;žĆ#—ކęř|ĎÚ÷Ç}x‘AźQ݉šÂ  <nĄ9¶qôÜĺô’ë€aő—íJbQ<­DB¬cFŰé‘$ŤzÁüéRńI“X Ď«fťä»[ -T ěĚŐ3'˛82L2Ës§ÎâɧOúVbˇîŹO8±ďźŤÁ6„}›.áĹg#‰ëŰ;‹´Ym¬­Xî$ž/VPsëÄ3gĂěO)Ž;šÄ˘¨7ĚşSÉ+‚O˘4´hŮ®˘‰,Z¶µh ßP)]7@|ŚeĂ!fQó‚aŚëq Fá Äľ8Ű Ů/­wŘâEŠŚMďěľ2Ѭ­˘ąąŽĆĆŠKlYoÖńôą:ž:×@ç^ŢNb3öon/&věEj«WđŔŁĎă{^u#TessĂţmöĂcŐ1ŚŤŹ+Ű;/ŇęŤF$Ëg|Ę]}fţč-š;ŕ<ĹT#± ¸&±t° ĆŁ>NlăTĆŁ@DăQܱ1„±Ě™J’<m5‰%ż|#Ř&Í;5»!Úú¶ň:_ĺ’YNáĘěřO]ÄĹ˙ö?±đO~Ážł >KďWŘł ă7^‡őGwÓ1˙ůĆ.㪳"‹ČÂŰ^čâ;ß‹ćůKýóč­ĆŇÚ‘ĂŇkÇ0·PÁ«îÜ×ôÁ4{{Î#Îj, uŁI,ŮÚjK ¶QłQŢ)®ăšLőZ‰˘ë®·¤:PZšÄ"ŚLTŞuŐť‰‰xČ*δ㾔âo/Ş'ł´ŐÜÄôŽýřˇ{˙škź+Q,äaÖjv ‚¸bŐëČW«ŇIěřÁË(Ú÷ç–ĺ¬6Ú;Ďđ6ALéţűĐ1ÔWHĄż(č�šÄ"0ÖئI,ń…XÇŚ¶Ň#Iô‚ů%Ň#¤â“&±@žW7Zťtç0ˇOÎβݏfĆ Î˘`C“aYNž>ŹÇž<é[‰Ĺ9m••T:[ VgQł Çym°ľâ–ł·=†DOĄ?Ą8îh‹˘^ZcaZyEđI”†-ŰY4‘E˶Mbá*Ąëʱěbř"ÄÁ,j^0Śqý!ŽÁ| |®T˙ľĎÂRKçĹ{ŃMűEŮ*ă;€ůýîWÖífÝ~ČW·˙ÖÜýąýŇŘ$ î˛ĘťeŃjŘ7GM®<ŤöĘ(L/@&Î*,kk«ýp©TÂäÔ4TĹńąŮlEz ö­gÎâ7ţâKر˙Ěî9Ţ!±ôŇs˙g§ĆÂ4‰Ą‹e0őqb§2"˛ŹâŽŤ!< yŐUbI’˘­&±Äă—oۤy§fÓ¶?Ą ăŻĘâ†1Ŕ˝X©”Çkď>€żą˙y,ľÎ~ůőéG˙Ë÷aö­?ŕ[‘ĄG*qČ,3ßuÖţ–›PoĚ2:˙A<'Qçks"‹—ÄR?sWŢ˙Q;ÎżK{:ŹĄű&03_Ćk^ľß~—÷śŻ˙Üĺ,»€›ńEÁV“X˛µŐ$–lŁfŁ:ĽS\Ć5™ęµE×]oIu< ´ 4‰E™¨RŻ+f+ô]dőd™&L«‰źę9+©¦ć:Ű ŮoU AÍFŁCf$PČNězĎ.Ţ殞šĎ•‚ÉpÓŹŞ'«ő:¨) ĘăVšcGOÁ]N!ąN�VŃ$–řB¬cFŰé‘$ŤzÁüéRńI“X Ď«Uťä‹Ę•<6—íű±ř<ĚČ’%™ĺŮÓçńČĎÂ9sçi.“\Ň˝ŻÇuVgé~‡1H§ű…‰,Î{|öÂ&vÍWÝts¬­…†ŮźRw4‰EQou§’Wź„i@‹–í-9hѲ E“Xř†Jéşâc,»ľq0‹š c\c0 _ÂbśPáÇŤ>YĹůĺ‹%«¨NĎar~?&vîÁřĚŠĺ1Wϱłě‡y›«—q¤ýmüĂćűĐúć‡!“¶ŮĆňŇb˙žó•ůĚ̬ň~ăîvBŤ¦űMUÎ_YĹŻţÁ'QťÝ‹ť‡n´o0ş öëłJK'¤I,.–ÁxÔljmśĘxČb<Š;6†đ 6ä9@VW‰%IжšÄ Ś_ľl“ćťš]BŰ(„J·,J�+ó¸ď‡0»PÁĘë'qéKźÄęý_q 'Ţźiż„sţŽÝy ;;„«K>q‰'] ççŕT, Őj…Ňćýś</üÁźÂ˛ça''?ço{"‡ĄűĆ15WÂëî:€r© TFŇ©ź"č ląů'°MŐn›ÚjK ¶QłQŢ)®ăšLőZ‰˘ë®·¤:PZšÄ"ŚLTqęĘPY)¤kŔĐí}•Ţ“ ŇYńÄ)›ł§P3!”|±Cf©”‘«TÜŹ9b‰iĎ»-ů§ńoąő}î}n«±á‹ç•]đÜÔëÁŕęÉű böνŹĘ¸•ćŘĆŃ‹5fą‘$× �©ö‘šJEqőç5„±-v=d(Ţs#†pQB˝`~‰ô©ř¤I,çŐ Ś˛NŠĄ‚»ŐÍŽÍfr Szd–Ó—–‘–<sę<ľńŘłh»÷ąp¦çŻ©çÇ»÷Ë‘lşq?qŞm_GŘĎĐ Fg5ďNĽşó®ţťVJqÜŃ$E˝aÖťJ^|¦ŚĐ˘eŠ&˛hąŞ„‘¤bGáXˇ)¤™Š/ ś(Ąëʱěbř"ÄÁ,j^0Śqý!ŽÁ(|E2P¶Ě1şű„˛’pÚ9ëz?xöuţkl,Łd®áGžţo [·ńÄg@5ţÍŠóâlyéŠç+t;ffÝ/ĘU$‰eŁÖŔŻüîGaUf±pě%(şź#řH,á-…(ď;Aä°ëż%lŹ$ŔXvŚG}śŘĆ©ŚG,ĆŁ¸ccbCždu5RQtN“XbńË7‚mŇĽSłËŘ–EĐ4Śťhe’r)Źűî9€Ůů VîÇą÷ţ)ęO=Ó'ŻřČ,öÜ8ó˝oęXzDĎŠ*śźĄ’yĄ÷wĺ‹_ĹĆ×éäÓMŁ=,ża“óeĽÎöąR.pËČđÍ·—YĆőŞI,ŮÚjK ¶)çE zbĆ5™ęµE×]oIu< ´ 4‰E™¨’Ôk’p R“Ö“ťnŁąáÎ•Żżĺ“]ç¸Řć ö‹Á±Šű7Ž}ëľůČáÝ'ÝŹELÓŮ^hp_jpËĂ ^W!=Ń=®ě^FYĐ$q&ý…Ą¦RQ\=Ćy al‹]Š÷܇!\F”P/_"=B*>i äyuIë$8Ő±ô ŹOţç@ˇsvĺZĚ51lI“Ěňí“gń5‰ĹˇźŠČ%Ľ83×'´€O\[ň­:«-TĆJ(”+‘˝?Ą8îh‹˘Ţ0ëN%Ż> ÓFhѲMEY´\5B‚HR±Łp¬ĐŽŇLĹÎ�”ŇuÄÇXv1|â`5/ƸţÇ`ľhÉ®=Ľm`đ`,ÜÍzó•e™xÍŮżFą˝Óľ’7ö…üC�3?»=,-/Ú/ĂĚ~ş3;fQP|čĽ@«7rUŐn[řO˙ó¸´YÄ®c/Aą::Żřnţ ďµ »ş‹W…_˙(a{$ƲË`<ęăÄ6Ne< Dd1ĹCxň ŢĂF ŠÎiK,0~ůF°Mšwjv)ÚŠ>—m“cp^&9±îĘ,wÄÎů*V^]Ĺ©?ú]W]RgĐ2ńš{›śčŻâ#´p–»" ʏüµ6k¸ôGŃ'Á8i´Ç ¬Ľac;‹xÝÝ0V)úÎŐ0äçĘ,«`9EYŤEˇ^5‰%[[MbIÁ6eÍűj:Śk2Ők%Š®#şŢ’ęx@ih‹02Q=¤^WĚVčWˇŔ\ĂąU6[˘Čuź_lă|)”†óˇGľZAľ\ŽľR-–}żL‚U.™88˙LG×]9†#äź7Ó¨ő:¨) ˛ţIG˘'ď/˛^!ąN�VąŞH,ŠçGĽçF< á2˘„zÁüéRńI“X Ď«Ř uâlsc„˝“y\nV1 IĚňä çńŕă'$ŠN8‘Ű0VgĂ~ű g—°0n?ĎÎČ:D–~Ýyž-űź¶wŹÓęO)Ž;šÄ˘¨7ĚşSÉ+‚OÂ4‚Z´lcŃD-W… ’Tě(+´#…4Sń…3�ĄtÝ�ń1–] _„8EÍ †1®?Ä1…/Pň…őâ_gůŰ#ű©u!gE”vłŽjk ·śű’ý‚‹ě‚ö6ű`ă™`^řvČ|umÍćŕK€ÉÉiűA]2q^¨5 ×6ęłÂ?|˙—đč kŘuěT'f§â{ęČ ęxn<ZšÄ˘I,)ř˘I,ńEŃ9Mb‰Ć/ß¶IóNÍ.[%2 ±u«”xáb1‡×Ţu�óóU,ß•Ăsż÷P­îbˇĄO>±_¬Mľń5}‚‰—ĐÂ˙‘“pořĘ»>€ćĹËî5@źÄň¦)Tw–qß=1^U'±„Ę@“X¶Ť­&±¤`›˛ć}5Ć5™ęµE×]oIu< ´ 4‰E™¨ŇŞ+ĎüéżS M"ŇzęÝËYÎJ'¶ůľąÓoó ś-…ŰĺJEä«c.±%Џst»%đřžîöBŤĆz'NBŠĄľĄ'ťŔŞ«äˡäý1ű çŢGĺ˛TEG˘'ď/˛^!ąN�ČĽżôÔT*Š«Ç8Ż!ŚmńëŮ ŁíSđXD˝`~‰ô©ř¤I,çŐ d^'=‚„ȧî0_*06YÄôú&vćk…$!ł|űůóřŇŁţ•XXäá„»b ‰-ťűgU2ĚO5°wˇę,Ţf_2äµ§Đ#z•ţ”⸣I,ŠzŠĺ”JÝ©äÁ'aź´hŮŽ˘‰,Z¶˝ ’Tě(+´#…4Sń…3�ĄtÝ�ń1–] _„8EÍ †1®?Ä1…/ \ń˛LĽűČëMŃ‘1 ź˝3[ ÷áÚµ—żg«ď–•GË!›4ě—]Í&6żů.´6VÜ—lŽll¬Ł¶9Řç{l|ccc‰iŰÖëu—ŔŇK'Š|ä ߇ľô vşłűúąçŘ;˙(í±{Ç1ěúď@ Ű# 0–]ăQ'¶q*ăQ "‹ń(îŘÂŘç�Y]ŤTťÓ$–X`üňŤ`›4ďÔěFe°ă‘Y V,äđš»`aa K·´pňućíŢË-‡h2ţ†W;O,[YňJEá–BÎĎ™[ç/bĺĂźěŻňbŽX{ÓĘ;K¸ď01źÄ"*§H˘`«I,ŮÚjK ¶)‹hŢWÓa\“©^+QtŃő–TÇJ«@“X„‘‰ę!őşb¶BżJ„zj:Ű Ů÷±o¸éă\]ĂČŰ÷ŽňUCŤ|…1ű%V±(BÍ6,ÓäâÇö<í®ă’nBĆ ŐzHÔY‰¤#Ń“÷YŻż\'� «żhKĘÂhű<&Q/_"=B*>i äyu[­N ĺŞc%ě©­#7”Ă–8d–Çź?Ź/<ňl—\’ćę+Ľ8ňŰ śNˇľŠr˝…±©2ŠĄĽ[şţ'ěśă´úSŠăŽ&±(ę łîTňŠŕ“0 OZ´lWŃD-ŰZHI*vŽÚ‘Bš©řÂŔ€Rşn€řË.†/B̢ćĂ×âŚÂÄňŇsÚ#oďí ÖnŐíH·<÷´Lmű×Úl ]«ˇUß„ą| ­‡˙őÍu¬­®bmmµo[*•191ʦ÷eąłúJÍ!°4Âe—˝’Ë(ňČwÉ*>ö<~˙˝_Ĺěţk1ł÷¨źÄÂyć+ó»\4‰%…öHlăTĆŁ@DăQܱ1„±!Ďj=mD˘čś&±Äă—oۤy§f—±-— Aěů5• ¬ĚŇłu¤CfŮŹ=»ÇpĺĐNľó÷}DçoarÂÝb¨C6±ú„ŃŹěą“E^éÍż˝<.˙á_Ŕ¬wćeł¬ľq Ąť%Ľţžý´úĎŐsŽ $ąJ_ź) őŞI,ŮÚjK ¶)‹hŢWÓa\“©^+QtŃő–TÇJ«@“X„‘‰ę!őşBw%Ͱfo~!Ćý[p{ˇ^=9ńf»é’D®=ü0ĹążË— ,vúćúŞť.!ĘňˇÔlpYĄÜĆîéÓnť:[ůŚ<ŮŠîCąő^ŮE© Mb᫿hKúB‚p°Ś(ˇ^°Ż%Ň#¤â“&±@žW70Ş:ńI`łB1‡\80NX©Q2˘ –D!ł<vň<>˙°‡Ä1 % bK8Îż:K0ť‡ž^Çnűž¸2^Bľ\PŻ;Ζ€‘úSŠăŽ&±(ę)–S*u§’Wź„i|Ңe;‹&˛hٶB‚HR±Łp¬ĐŽŇLĹÎ�”ŇuÄÇXv1|â`5/ƸţÇ`ľp"%„ŠŽ0^ńßuşÎłŢ—asµsČ;Ä«�Ó*˘ećŃZß@{míőM´.><˙YlÖ+±ä컨rĄŠzŁşýB¬V«»¤•šťŽC`iµZťŐWźÂ8ţ ”Ë‹%”Ęeśľ°Ś˙đ‡źĆÄÂ!ĚşÁÎłŔ9GďNĎŇËŞ$ żţ;PÂöHŚe—ÁxÔljmśĘxČb<Š;6†đ 6ä9 ®/CĹü5‰%ż|#Ř&Í;5»!ن¦ňb|2Kńm3Đ-rxőËöcďžq\ś:‰3}gźhŇűMď`ą[,PźĐ"úÁóą7oxă+ßŔúßtÓ´ĘÖß<ňBŻĹLM”}çŞI,W§­&±¤`›˛ć}5Ć5™ęµE×]oIu< ´ 4‰E™¨RŻ+f+ô«D¬'ËęÜÇîÝq“śm…ňeöÇ ±Ú&ÖźůÖźţ6Î,ˇ±ÖT2jOÁ¦}˙Ëšěśď»ý=®ăíÖ†çDB!‹Đó_Vęu QSdý%’ŽDOŢ_dĽţBrť�0¬ţr5“XO=±PđXD˝`_K¤GHĹ'Mb<Żn «: ě­NzŰ U ž«b×úfr ŚRTČ,‰ĹY‰…Đą˛‰DR‰ł⼫łxó)´j8sf{vŤĂ(Čç§ěsp˙Ű”(u'ŇSi»ŞzŠ> Ó˘§ŕS–ý)¶Ţ0ëN%Ż> ÓPôI‹–í(šČ˘e[ "IŎ±B;RH3_8PJ× cŮĹđEYÔĽ`ăúCQř±/‚n=[‹’ÁŘO» w4üxŹČ˛÷ěShŘĎęÚfMűçüm¬7Đ\YłËh7L¬M^;řŞ;—ĂřřrîÝąK:w2‰~‰äx”/äQ.—Q,ĺÜhĘ“óŮ{ÜÖ)Ă÷ ŁŚb—ąBył‰[˙(a{$ƲË`<ęăÄ6Ne< Dd1ĹCxň×—ˇbţšÄ Ś_ľl“ćťšÝm«©ř±p‰ćXŰ Q ­®8Ę^őŇ}Řżw gÚăôŢç# ”ć1ůĘ»ě—užUWżćlEÔó+řsĄŐĆĹ?|gg%–’ő·Ě °PĆëîŢŻI,ÚÖMbIÁ6eÍűj:Śk2Ők%Š®#şŢ’ęx@ih‹02Q=¤^WĚVčW‰QO­ć¦{úÚ›>É6ČíůGíŃfk}«Ź<ŠĆĹËý¸Ć•u¬źYµó0 ´:‹iÁröéeȵű‡ŐnÁ´Yôő:¨) ˛ţIG˘'ď/˛^!ąN�VŃ$–ě…‚Ç$Ŕ"ęűZ"=B*>i äyu#©“Ŕ‡Ś˘:)V *ă@c—Ě* !ŤáŠĚâ%±xĹK"‘ݤ’`«!ną«Ăô/O>»‚]yÂÄ\ĄrçĂÉéČ{,iO˝…ç¤ý)ĹqG“XőË)•şSÉ+‚OÂ4}Ңe»Š&˛hą:„1pTÂ3˛ĚŽŇLĹÎ�”ŇuÄÇXv1|â`5/ƸţÇ`ľ@ÍQĂs`x¨ı3BŻ%<Ëš-·löźzM«¦é¬ĆRpíVµĄU4×jhÝô·AĄÉ®5aÜh —K>Uäóywĺ•R±Ä|!x`Ď,f\ç®ţâ;GĆů‚KOű—y4Ë/»4‰%–/}śŘĆ©ŚG,ĆŁ¸ccbCžâú2QĚ_“XbńË7‚mŇĽSł•­ŔÎđmĐ‹óŰm†Ľ¸Cfą÷Ąű;d–ĄpááOůVQŮůÖďsTYäţ,ĆŻ‡ĺĘĄĐ ,Ţßĺw}�Ť —` lĽyy‡Är×>ĚLUüţ¦HbQ[MbÉÖV“XR°MYDóľšăšLőZ‰˘ë®·¤:PZšÄ"ŚLT©×łúU”úśwĹÍÎźv»Ë4qÓˇo3ÔsöÜT”¦jϢhś?‹µo} fŁňŇj¶±öÂ46,µ6ç|b…5«ĺvL\ěPMOţ\Çä:]P˝$j €¬żDŇ‘čÉű‹,‚×_H®�†Ő_4‰%{ˇŕ1 °zÁľ–HŹŠOšÄy^ÝŔV©ĂăŹx¦élĂ^,ç±0SÄÂÚ*fňuŚZXd‰Ą'N¬K.pIü[¤«¸ŹŘB(Ř×Ď>żŽă*EĘáŔąu€«ť¨ęĄŐźTő|jRŐS,§TęN%Ż> ÓPôI‹–í,šČ˘eű c2਄gd™)¤™Š/ ś(Ąëʱěbř"ÄÁ,j^0Śqý!ŽÁ(|A4_7.aEbUÚOŐ`m±Ó}\l·`8«ŻXe´Ě˘ý·„VËţŰ.Ú ČÝów€ąĂ}ËÂł<ô'0N~Öľk©!ŽäěwĄRŮţ•„„é‰ Ć+ĄNÓô¶ĎŔů¤Zć,»”ęż%lŹ$ŔXvŚG}śŘĆ©ŚG,ĆŁ¸ccbCžâú2QĚ_“XbńË7‚mŇĽSł•-ÉWq‰"ˇ8řňBś‡’ŻzŮÚ?“/|źşżO>)ďÝŤÉWľÜ~Řfą_žó~ž+—™Ű 9żÖą‹¸üžŹ€ňŔć[v °§‚×ßłł3UŹŹé“X”VcQ¨MbÉÖV“XR°MYDóľšăšLőZ‰˘ë®·¤:PZšÄ"ŚLT©×łúďoó¤w9˙`˝m…ć§Îar*¸ Šm—/IWQ1[ ¬=ńm¬?÷|‡`âćcŕßzŢ˙č]îJ,VwÔ†ý‚®~eŇDßuP :§ň˝·ýµ{"ÍĆĆŕĽŔ¸OŹPęu QSdý%’ŽDOŢ_dĽţBrť�0¬ţ˘I,Ů ŹI€EÔ öµDz„T|Ň$Čóę^uŇť*ĘcĚ,ŚáŔň®´ÇP2LŚZĽd‰Ĺ+A’Iú«Żt¶â‘e{z {ě{ăŮ]S(U‹ťËďî~†«?ŻDŞ;ďqŠăŽ&±(ę łîTňŠŕ“0Ť>iѲݤ�-Z¶ł0&ŽJxF–Ů‘Bš©řÂŔ€Rşn€řË.†/B̢ćĂ×âŚÂÄňĹezKQÖ ßůŢtĐa ;2ľ¶†}ś7Kö…zÔî$ę<·›zýˇtók9>ö Ď|͉ XźAţ…az°űvĺI¨» Kwű™ź,âÔ˛i?°4‘ËçŘń×÷ĐűŕŁŢ˘äĽaˢţ;PÂöHŚe—ÁxÔljmśĘxČb<Š;6†đ 6ä9 ®/CĹü5‰%ż|#Ř&Í;5»QŮzěş;é1Ĺč*ř^\QŘĆÍËÜ9~ĹťűěłxîÉ÷ĹćĽÄMgöGľ ‹<ŔüĘŰ+fŃ~ŘŞyŇÔţ™˙ń'hç[hĽqů=eĽćĺ{±cşâ?ř}ő…5‰eŰÚjK ¶Yę ¸¸]ĎrŁ)şŽčzKŞăĄU I,ÂČDőz]1[ˇ_%A=µZťm…ŢxËÇĂ lK!;˝ÖĘ"ÖžzÔÝf×ů4dŁYĹďů‡đđ™cnÜ—oÂĎßý—.ŻŰéZëu´kMT¦Q(ü>eĎՆٲźŞúďwo<ř(¬ű[öK5Á¨KŚŹX8zęu QSdý%’ŽDOŢ_dĽţBrť�0¬ţ˘I,Ă•`Ç zÁľ–HŹŠOšÄy^ÝŔ0ëÄ{ďçĂz�ŁNĽFÎ˙ÎG“%ěž*`nc µ© š!Łá‹CfůČW‡ýŘjWkq4ÝSďžf®çÎâ q˝ř>®çüJőuś>WĂ]öíđÔ|ĹrgŁ&Ö®ÂnÝ|wëN¨—⸣I,ŠziŤ…iĺÁ'a1}Ңe;Š&˛hپ 8*áYfG i¦â g�Jéşâc,»ľq0‹š c\c0 _Ë—>îÜĽXáK“^LđĺXżţoŃzd÷âÝľŃpđ©ŐËhç ° ű ľm‚ ä~Ů=qŰză÷m›O<€ĆÇ˙Ą© ”67aVŞ(T–‘»|FîCČď<cď­0ćŹóĚ7X9#‰ÄâČüTÎ%˛sGäY‚«Ô¤\ćYÔJŘI€±ě2Źú8±ŤSŹYŚGqÇĆĆ<Äőe(˘ż&±Äă—oۤy§f7*[†‹Ěbřđ.™…ř6R2ËKöbjĽ„Ó/|KöŻ'•t¸ă–ŕ|–ń5,ékLßp/Pľ÷Ć 9ĽüÖ]ž,÷ˇ8$–ľpüŃ$–‡­&±¤`;]0ŻÉTŻ•(şŽčzKŞăĄU I,ÂČDőz]1[ˇ_%F=yçOłÝ„i¶qá'}6†‘·o8ůŹ3ťűßÚéS¨ť9ŰőĂpI*Ź_8Š˙ţŐÁZc»ö^ç®”öôů ţĹGţWüÔďĂ]‡v= ÓÂćą%wL :Uď­FŰő%—Ď÷ă&ÇŻ.błµŰ%á„Č6Śz`m˝;(_¨č�šÄ"0VŃ$Ăô$XFÁ±‚^°Ż%Ň#¤â“&±@žW7°U뤷°gHĎ,gU–"ćöNŕĐ—ńŤ‰ĂÉ7°l–1j1MB\qĘČY)ĹI!2IĹ.—lq9;§Ż>±†C9;÷L <QFčŰÇŢÇ‘Ä §>śěŐoĺv˘Ş—VRŐSđi¨ýIU/bżË<Ż> Óé“-ŰU4‘EËöĆdŔQ ĎČ2;RH3_8PJ× cŮĹđEYÔĽ`ăúCQř‚XľřđŢUqgʦm˙ឤţ{é8+ś8ЦĎÂĚ—ě°«Uµ*GöcĎOü\˙JĽyö$ßů_Q°jhŻ×`NŹŁP­ P)ŁPČ»ŰĎF«÷o^‡ËwbĎü *Ą<ňöÂăwâ{_÷RD•ťcąÎýšŐFeŮ(”y˙…\°Ěł¨˙”°=’�cŮe0őqb§2"˛ŹâŽŤ!< yëËPD1Mb‰Ć/ß¶IóNÍnT¶;ń„…‰Ą@fˇÎńÍ×ît_˘ť»¸UW;„1{Ä™«ď¸q>‹űrŤxä˘P7šÄ’­­&±ŚŘ6i–‚‹ Ńő,7š˘ë®·¤:PZŚšÄ"ŚLT©×łúUÖ“óqCťť¸€©©ć�pȤö=-oî°ęu¬=ő$Ú›ť0ĺ\"Ë{}=>ňí{Q*MâŔˇŰPźsńęŘ,Îťyż÷ĺ·âŃó×ŕ§î|? ą6r†…ÖŇ:¬Ť:ĆöLńók6«T=“"á»o}/ŢőŕĎŁŐÜ@©<É\ŮLVęu QSdý%’ŽDOŢ_dĽţBrť�0¬ţ˘I,*†éI°Ś‚c˝`_K¤GHĹ'Mb<ŻnŕĹZ'αł*Ëô\»&óŘ·´ł;vôÉ//fqüď­Î’ó”?ŹŘŠBÜúĄĐzűě[â™Ý(V:ŻA··C%B¨ę)ú$L#Šž‚OCíOŞzì;•Ľ"ř$L#¦OZ´lgŃD-ŰVHŁp¬ĐŽŇdDF÷…3�ĄtÝ�ń1–] _„8EÍ †1®?Ä1…/ĺ‹÷*vďNx¶†ł—w ,EŮO¶łć#Ć×® í,Álµam'çqâü/Č•;+§´WVpć÷ţ rζ%l=«µŠBaÍľŕ/"_¶ą‚ýPĎŮžČÂr«„÷›7 µÚÄ™őM4jëŞřů·˝qd~şh˙ß�™f`ŻtĂsŠžUZ8_®yţ0%‹úď@ Ű# 0–]ăQ'¶q*ăQ "‹ń(îŘÂŘç€T}I[3Ń$–X`üňŤ`›4ďÔěFe«`gđžRl32K÷żŢ˛Ó7]3çţÜdeO"$¸Áa–hËŐk«I,#¶MšĄŕâBt=ËŤ¦č:˘ë-©Ž”Ł&±#ŐCęuĹl…~•ę©ŮÜtËďľ›?îź,ňeÎ &„Ć•‹ŘxćůÎýŻ›ĽKë;đŰüN-ďĹôĚ>ěÚ{3rąb߬RÝĂÇ^…‹Ç/äńÔĄCř…»˙GçNą¸ŮlcíůETć§P ?B5,[§Ń@ľZíźří‡Â_~ĄŤ¶Ńp‰,]güç~Á¨×DMaŐC$‰žĽżČ"xý…ä:`XýE“Xx:ŠG8u:VĐ öµDz„T|Ň$ČóęFY'ž]„üţžŰzWeqď-»+t÷ÔĘŐ"Náŕ#Wpybą’MÚŻóśósfkçŚű„ĎłpQśw%ÖŠ-ĺV Ź?·›s&ćöNvWWëęőÜ{ů€O^ĚIŕč!B;QŐK«?©ę)ř4Ôţ¤Ş—ÖXV^|¦‘‚OZ´lGŃD-ŰRHŁp¬ĐŽŇdDF÷…3�ĄtÝ�ń1–] _„8EÍ †1®?Ä1…/ĺ‹gµGÖŢ]؉e} ŽŔKµÎC>9ÓDۉ/ÚíÚ ĆŞ¸é—ţJł3ť$[m<óŰżŤÖĄu” ewËľ[°ň9Xí6ĚzyŁŽ|ÎBŢÎs-7†˙4ůèĚĆü®C¨­.ˇ\[Á˝rŞ•"âČ®éˇfđŕÉË<đ3‹úď@ Ű# 0–]ăQ'¶q*ăQ "‹ń(îŘÂŘç€dľČj:DHZ“XbĘyj 2÷×K:áŮF"ł_§—–›sîç;Í%°08šÄrőŘjËm“f)¸¸]ĎrŁ)şŽčzKŞăĄĹ¨I,ÂČDőz]1[ˇ_%N=1&Ŷ}Ďęl+tóŃ'‘ÎGÁ­zl±ě{ŮŤgżćâRׇÎVB<ţäëßoßO`÷ľ03{ĚŮÇČcמ›1>>Ź gĆŻ~úďă{oř ľ˙†O»n:rÔ/­˘=^BuvF.†é¬xÚB®ĐyÄ:9±ja ÚŮŮ^y˙ą F˝$j €¬żDŇ‘čÉű‹,‚×_H®�†Ő_4‰…§ŁX0 …DÇ$× öµDz„T|Ň$Čóę^Ěuâ{ş™™łź»nâČ•Kxb÷^LĺšXµ˘mĺľ•Ĺę–O’ŐWĽÇ%řć“+X°ZîĘßs¦ěˇ®•w[ Oyo›yuZÍPk'Şziő'U=ź†ÚźTőŇęwiĺÁ'a)ř¤EËvMdŃrU …Ń ŻI,ęţ0–×âŚÂÄňŇ‹Úcđˇ^đ":@fˇ Ť}G༌ĘŰ›Ž¶CQĎpí÷żS‡÷vllÝÇ~ďϱúä9TKcvL –}ÁďY¨mÂĘçQČŮť9 §K;ń{S߇Za'»Í}đçxR(•ń¦—ť@\Ů˝cĚö岻µĐ ĚĂ«±°ĘŐ >ć+f ~ýw „í‘Ë.ń¨ŹŰ8•ń(‘Ĺxwl áAlČs@2_d5=Ń$–X ržšÄ‚Ěýő–q`Çż°® ™Ą?O‘OÇŤŁpz^!Ë+O‘dEbQ[MbÉÖV“XFl›4KÁĹ…čz–MŃuD×[R(-FMbF&އÔëŠŮ ý*)Ô“ Űóž3ŻNŹ_ÁĚtî¬aäěů©J¬ąşŠŤgž†ŐhvŁ 4Ě"ţčÁż…ŻľpŞc3Řż˙%(•'řţtŹ&¦vˇRąçĎ<Ś÷ë><yé~ţ®żÄtyÝ™ČŃŢhb˝ÖÂř®iĄśo.#'˙\ŢýtÜ™Fß|Ëđţ‡íf­źw'/[0ęu QS”ęAUG˘'ď/˛^!ąN�VŃ$žŽlI.$Ë’xvÄÇ"ë‘8 Uź4‰ňĽş­R'î-•ŨÖŞ,=żűŰÚ‡ĹR{ŽÍ`ĺ«çpĹžó.NMˇb¨SŰEś36)@Rń¬j#\±Ĺkc˙^8µ‚\˝‰#hcáČN”'ş¤/‰üŹ#ő'•v˘Ş—VRŐSđi¨ýIU/­±0­Ľ"ř$L#ź´hŮ΢‰,Z®ˇĐÁ ô5‰B@ÝƲăúCQř‚Xľřp•öčY“’•nŹĚBA«Ű!˛4`ě‹włm?+ˇ49ŢW}ú˝źĆ™/?†Ra9«m«ÔQ˛™ČĂʵQ´ň ‡Čb?ĽűäüKđ…ęK`”§pŕş»aä‹°Ú-7ť˝Ó9LŤÇ˙*`vŞŠ˘}Ö˛:ľłŢ°‘÷ü‘Ă®˙”°=’�cŮe0őqb§2"˛ŹâŽŤ!< yH括¦‡#šÄ TÎS“Xąż'Nd.$ł7ťđjjĽŘ\!’’V‚iuěüyrőBńb‹Ô…2Ö$–lm5‰eĶIł\\®gąŃ]Gt˝%Őń€ŇbÔ$ad˘zH˝®­Đݎž+‹ztśm…śŁűnüxws>Ć(ľ¤¶P?{›§Nőýsŕ“‹ű𻼠—kóť?‚ůÝ×űVD ůÓ?ęĚ…âöľ KWNâ©óü‹Źü2~úĄďĂË<âę8Ű>¬ź[Fif•éŠ/«Q‡Q©¸séÇľ†÷~ý'Ń6ę.‘EVęu QSdý%’ŽDOŢ_dĽţBrť�0¬ţ˘I,<Ů(’ľPđ'@HIŹÄi¨ú¤I,çŐ ĽXëħ¸ŻtŽĆ'ËŘ{tŤo_ÄFą‚ŤJÉ]-Ě"őűÄWg‘­ľââÝ{i縶´Š+Wj¸•šŮ9†™˝“ýUTú·ÉŢ@@ÜRďëÁÇĐ*íDU/­ţ¤Ş§ŕÓPű“Ş^Zý.­Ľ"ř$L#eź´hŮŽ˘‰,Z® ˇĐÁ č5‰B@ÝƲăúCQř‚XľřđHí‘˙°Ż‡‡®zúd…ví˘}ŁăĽł±‡>řyÔÖ×Q»p'?ů�J• ÷«€†Ů†ić@ůŠhÚťŐQ,<7¶€Źíľ«ůiT&g1đ&…Îq–ŮrŰÜţŮdK[:îÎMp~Őą3í›2˙ąĚY+¸¤T˙(a{$ƲË`<ęăÄ6Ne< Dd1ĹCxňĚYMG4‰%¨ś§&± sEe,$śŇŁP›Ěâf%zR!ĘÇ÷Y¸?/ˇ®/^“X^ě¶šÄ2bۤY ..D׳ÜhŠ®#şŢ’ęx@i1j‹02Q=¤^WĚVčWIˇžĽ°iß»Zö}é­GľŐ‰l)d6Řxúi´V׺ůçÜSŢ˙ŘëđÁÇ_‹\qűÝfżř[Pč/¬‚003wĺꌻŐĐoémxřđµř©;ßç®Tš3,4—7ĐŢl`l×Tç q÷Ë{ű^Űą7.”0=ąŠr~mÚŃm‚•Xć×xý…sďŁRŠu•¬żČ"xý…ä:`XýE“Xx:˛Q$}ˇŕ1 0O€’‰ÓPőI“X Ď«xQŐIŕEď=c`:˛şvîĂvšĆň•:®;ß<x�TĚÁhwžůn'qÎ?´:‹ço0®Ľ±çĎnŕ¨ŐÄt)‡}×Ď!_ČuĘ×{Żíą©í•}ď¸wŔŞ;źžJ;QŐK«?©ę)ř4Ôţ¤Ş—ÖXV^|¦‘˛OZ´lWŃD-Ű^(t0zMbP÷G€±ě¸ţÇ`ľ –/><J{ěŐ?ç  "¨{žo6aćJöŤ!g?)ŰX[Ä×ßőiä-ĺĘ„»=PŰjŰňöĂš–­›/ăą©]xh˙ŤX*퀑Ëcná&f÷öÓídGîq•˘ěěĺ˛0YÄůŐ&Č4í;ĎŇѬ·gýěř7mYÔJŘI€±ě2Źú8§Ą2"˛ŹâŽŤ!< yHćK„ĆťˇhK,P9OMbAćţ&-ăĐŞ,Ô‹÷cŢ×čý‡l–Zơé‘üyHőűńšÄňb·Ő$–Ű&ÍRpq!şžĺFStŃő–TÇJ‹Q“X„‘‰ę!őşb¶BżJ őäÂÝɲ·­ĐDu3;jöüc?¶Ěú µ–®`í;Ďtî]1°RźŔď=đ6<uĺ(Ć'waĎľ[Q(V{p×Oňűă= úftfбńY:v/.ťĽĂł‹űń w˙ÎśsŐ¬fë§–P™ź@qĽč~0b5ě{jűŢ:oßWßwó‡ń±oý¸»ÂL©4Î8iČ'XR¨'@“XĆĂę/šÄÂÓ‘Ť"é ŹI€y„”ôHś†ŞOšÄźĽëÄĂWę…°Ţ}% Ň0ň9»i'ę_>‹Ł/âé˝{Q,Xhµ±-Ĺ·:‹]9OărÍž=˝Žűąö^8pý*ă%iÝ…H,Ś;*ďT­ÜNTőŰ“0Ť(z > µ?©ęEěw™çÁ'aiú<y-Z¶™h"‹–m-ěÁśÂQA;RH“)L3tŔÁ€Rşn€řË.†/B̢ćĂ×âŚÂÄňŇGiŹęß})x@焍\†}1o˰ěÎCą‰XÎţÝÎWc…LÓľó1óh;¸Kxjţ0žŢuÍBŮ%°ŚW'0µpŘ~†X űăŢ`Ů›M$•ůîÖĺd™ľó0ůyËś÷č/‹úď@ Ű# 0–]ăQ'¶q*ăQ "‹ń(îŘÂŘç€dľDhÜŠ&±Ä•óÔ$dîŻjËVe1<evÜ­Üí„|ÁPZř«I,W—­&±ŚŘ6©..HŞ'ľţRŐ]oIu< ´5‰E™¨RŻ+f+ô«¤PO>Ř˝§ěn+tĂG‘Ë9+…–:¤›jĎ=‹úĄKÝĽí™Î |ăô řŁ5s {oŔěÜ€9VëôÂŰx$—+`×Ţ[0>ľ€ógĆŻ|âířŢ?‹ďżáÓ®®łµCýŇZeTwŽ»«łXÍr•*^~ěKřČĂo…ŮŞ.‘ĹźâďčIˇž�Mb«żh OG6Ф/<&ć RŇ#qŞ>i äyu/Ö:!ÁŤ%ϧRµŁ·îBă«ç`^Ľ€göîA1×F;ůăŘ-)Îy÷Vgˇî/ükϱϝYĂt»Ťăí:ŽÎ`j×`K?_1‡®‚uÎßw¬ŇNTőŇęOŞz > µ?©ęĄŐďŇĘ+‚OÂ4Ňô)xňZ´lCŃD-ŰVŘ9…Ł‚v¤&#Rfč€3�ĄtÝ�ń1–] _„8EÍ †1®?Ä1…/勏ŇYőďą'†~ďĄsbMÎÖB°`ćňö6ç+±" űnÇ4My ‹ăÓ8ąpKă3îĘ,ŽÝXuăÓ ČĘý<Ű$8_ś91—–6TvN:ÓRV—Č’¸Ď1ăÖJŘI€±ě2Źú8±ŤSŹYŚGqÇĆĆ<$ó%BăÎP4‰%¨ś§&± sŁ–±”Ě"Xm…Eféd×LŘvRˇpš*ihË‹ßV“X˛·Ué‚éćÍĺUŻ•(şŽčzKŞăĄU I,ÂČDőz]1[ˇ_%…zňÁ¶ýĘ4[¸őŘŁ@ľěÎSíőul|ç;h×j®ŞEö]­•Ă»}3>ůô+P®NăŕˇŰQ©Î¨ĺĹ)QůNLíơĘ$Îźyď˙ÖëńÔĄĂřűwý¦*ëî8ln6°q¦‰ę Ą<ĚFsÓËö}wÝö·Ř;Á~zęu QS”ë!J]Ét8z±Ć,7’ä:`XýE“Xx:˛Q$[ –%}ěk‰ôHś†ŞOšÄy^ÝŔ‹ˇNB«˛ę®»“Ď0ĆÔl‡®›…őŘeÔK%śŮ˝ůś ŞŰżm¶ÍPOśŐYúÄ“îJ,NYšuśş¸Žńv×µj™Ăîăs}e‰Ą'ľ: Üřz͔ۉŞ^ZýIUOÁ§ˇö'U˝ý.“Ľ"ř$L#MźyiѲEY´lKˇĐÁ Ř5‰B@ÝƲăúCQř‚Xľřđ(íQT˙Á­ B ů©&ť—TöĂľRŮýrŤŚ¦}Őź‡‘/`yn.M̡66 3źwoz ö˙ĺ±IT&gÝŐXúçéÉÓ{yź+8Ë=çđĚŮeűć‚ě‡uńośvM—ě˙7;KJ{ý÷ž§ˇPŹľuČN8$lŹ$ŔXvŚG}śŘĆ©ŚG,ĆŁ¸ccbCž’ůÂoܲ6¦hK,P9OMbAćţĆ-c.™…z8c®ŘuVUłKh8ľ˛ă5‰ĺĹn«I,ŮŰ˙u�c–W˝V˘č:˘ë-©Ž”V&±#ŐCęuĹl…~•ęÉ™ł¬€SÎ<čĚťă•ĚÍ;6Đ8'OćTűĎůµťř˝~ gÖö`fî öÜ䮜Až<ŠQĹŇ8öąKWžĂ“çóřWű%üěËߍŰö|Ű˝Ďv>ß<·‚Ňô8ĘÓ…6^{Ý'ń™§ţ6ZÍšk?(_¨č�šÄ"0VŃ$žŽdQ,·¸,Kű8Ř×é‘8 Uź4‰ňĽşkťřôŚđĘÚ>źĽ7ŹžG˝»OŰóŠ=O~ç"ÚĄ<.ĚĎą[ĺ6[ösŮíIfqNÝ»:K®QĂů˨´MÜPŰĤý<ůĐ­»Ř$O.†@ťpH,ýc•v˘Ş—VRŐSđi¨ýIU/­~—V^|¦‘¦OŚĽ´hŮ®˘‰,Z¶ŻP8 Ř5‰B@ÝƲăúCQř‚Xľřđ(íQĄţ˝WäŚ  ŕ×ŕ†áYŞhŽÍ`˝4ZĄ 3_r/Ö]=ËBˇXBylÚţ[îľ˝"˙yrŢľ9i E\ićđígĎă†c{W¦ĆŠî_ËłµPđäĽ_ÚeQ˙(a{$ƲË`<ęăÄ6Ne< Dd1ĹCxňĚ~ă–µ4E“XbĘyj 2÷7i‡¦E âČ,vÄf­ ÓŠHfé¦ă̇“ă%e3MbyńŰjKö¶Ăy @.n.şžĺFStŃő–TÇJ«@“X„‘‰ę!őşb¶BżJ őä=zťm… Ľţ–OŔ°3Z{ňI´––şj97óO=sŢőČ›mµ ě9p#¦f0ĺäĹ)•ň ě;ę®ţráěĂřőĎ˙$^qř!üÔKßg?`5‘3,4W6ĐŢl şk÷ű´Kdi·ę(Çý÷˛¬É–ę Đ$ń°ú‹&±đt$ŁbąĹ•T‰Şz$N#Xż\=ß)\„[Á'aićŐ ĽŘęÄ˝ő˛8zž•Wś˙z$‹ľ®çžŇQµşŕţłöÜb?;}ţ väé˝ó° y”×jhY9lWqʬհfźç„ŮĆ ëš,ŕŘ{\2Ď@Ďcd îśB$–`úŢ€˙;Ń­ÓźTő|jRŐK©ßĄ–Wź„i¤é#/-Z¶łh"‹–í)vMbP÷G€±ě¸ţÇ`ľ –/><J{ŚR˙ ćĽÔĘĺ;Ăüâü´çöş+ť8¤÷&Čţ[,•Q(ŹŮzĹĐ—�˝ÍA}őŃ_édpN>ůbŐńi|â'Y öMG'M0Ď“oÖ˛¨˙”°=’�cŮe0őqNF{”ű‚ô|Ń$–ĚE“XbĘyj 2÷7­2î“Rť+ő˙„¶ÚńWańúÇłŤ- ¶šÄ’­­&±do«WbQ›î¤U I,ÂČDőz]1[ˇ_%j=q>„ŕŐ•łĄ »ĆžĂâCŹŔ~C×U3°Ů,ăľúV<rî:ŚOěÄžý·ˇŕ¬pÂI+Í.•ňeéUÇfqŕČ+qůÜcxŕů<ž[<€_¸űť80}Î@¬Vk§–ĐŞNŰĆmŰ"ˇ$j €¬żDŇ‘čÉű‹,‚×_H®�†Ő_4‰…§#EË--!Îq°Ż%Ň#qÁúĺę Ę™8ţô¸X> ÓH3ŻnŕE['2RD0!Žž7™C7ĚĂr–)9uE{Î<yd?s“¨®®ŁŃŘ~+łŤ6VWh7šiµpÝú:ĆÇó8zç>äŠy¶‘aëÎsĂ,'·LRŐSđi¨ýIU/­~—V^|¦‘¦O’Ľ´hŮŽ˘‰,Z¶ąçŽɬّÂ4Cś(Ąëʱěbř"ÄCţ0–×âŚÂÄňŇ3KĄţ]1¤iö–l&g+!ËB®PBŢţ9—ζAţď=î;O#ěAŕF P¬ TťÄç~˙Ë61^U˙*Ü+¦é_‰ĹűĹx¤ú78ËN8$lŹ$ŔXvŚG}śŘĆ©µG`R_ž/šÄ’ąhK,P9OMbAćţ¦^Ć[éŞ,ö—7áLůóďEÎÚ€L&Şmăg"‡óÓ?ęďžëçÁô).ůĹ…rŇ$–lm5‰%{[MbQ›î¤U I,ÂČDőz]1[ˇ_%…zňÁ^E”Čt·Ý8§?>~á8ţÇWߊµć4v_ąů6řÚś˝¸IźÚßźÖ`á\Cˇ^!_Âîý·cbj7Îťyżň7oÇßňqĽńÄ] gu–ńÚI”Ś4h§»u’Ńő;´ )Ô I,ăaőMbáéHFŐzHIsěk‰ôHśF°~ąz‚r&Ž?"=.–OÂ4ŇĚ«x±Ö‰\/ü|׉éŻŐxVŰ_™Ĺ–#7/ _Ęžą‚‚iá™ă±ąs ĹőhµŃŮúnHŃjbiŁ j·±PŻăčú†»ťĐŃ;ö"Wä¬@cÜq‹ş¸'Š+[¦?©ę)ř4Ôţ¤Ş—VżK+Ż> ÓHÓ'I^Z´lWŮľëŚiѸ�djĚš©tqCś(Ąëʱěbř"ÄCţ0–×âŚÂÄňŇ3KĄţ2;ça±4†ňřŚK6qVOqI,Îx[ĺčĚ‹}Á~.‡BuFu'>ţĹÇWž?żÚÉ)°Çy¤úŹr#"¶G`,» ĆŁ>Îi@ŁhŹĂCxňĚţŕ&k™J’Ě_l¶TÎS“XążYXdŰđ…ŢLŰŰMČ@ qĹ "šÄ˛=m5‰%{ŰQ=ę'n@MŃuD×[R(­MbF&އÔëŠs­éUIˇž|0CĎ˛Ú ű­ÜÎňӿء¸PxüőxÇç˙.j´€GîÁÎ…kĂ$Q^ś‚P)_U˝ń©=8tě^”«{đ}~ískŤ©Ô!ł\;óE×Ŕ4›Ü´Âů„G#Mb᫿h OG2ЍÖC Bđç,#YŹÄië—«'(gâř#Ňăbř$L#ÍĽşkťxă»»ú|â­Ň?ö?ëě/m˙\;‡#7-`aq ·|óIŚmÔĐš®˘˝{ ĄRĐÓ—`ˇŃl`qŁĂ4qduÇ×Ö±cˇŠc/M@bńGq#¶LRŐSđi¨ýIU/­~—V^|¦‘¦O’Ľ´hŮ΢‰,Z¶©çŽɬّÂ4Cś(ĄëʱěbřâůĂâ’řCQř‚Xľřp†c©Ô Bi«B˙Ë/&î¤á˝Bď¦Č`Ľ|snĽź§őn§ ”ĘŰ‹Ý˙¸ňž <s¶łz®PđlŻŕńÓ牑Iýw „í‘Ë.ń¨ŹsP&íQf7ı1„±!ĎÉ|á7î]-I’ů‹Í–bĘyj 2÷w+±Čm»ó§gײâYĽó–ŢNh{ÚjKö¶©·aE]ĎrŁ)şŽčzKŞăĄĹˇI,ÂČDőz]q®5˝*)Ô“čőîůÚ­ş[Ć7í|Ŕ _Ú؉˙©<ţLĎ‘ăŻÁŘřśZŰ ŨU˝Ţa±4Žý‡ďĆÎ]7ŕŰ—®ÇżúŘ?ĆŁç®w±[p Ň9GG|÷صsR”ë!f]1u8z îrú ÉuŔ°ú‹&±đt$Łj=d Á2"YŹÄië—«'(gâř#Ňăbř$L#ÍĽşkťHő$>A˝ 9Ă3ťĚı[÷`Ňjâ–o<…ůóW€J›íąs×8 ą 7/ˇ6–M4Ű-TŰ&nąĽ˝Ť:ŽLăđm{`äXŚŔ3gŹüŹČŮÇ)¶'aQô|jRŐK«ßĄ•Wź„i¤é“j;Ѣe›ŠŢZH˶Ń�®I,ęţ0–×âŚÂÄňŇ3KĄţľ‹o^ŰđD!Ľ‡ËXµáÝĽşŢ< ”Ʀpálßřö ¸ăú"¦eዏ_¦ÇQ,Vů…%‹úď@ Ű# 0–]ăQç4 LŰŁ˛/HĎMbľ$ÉüĹfK±Aĺ<5‰™ű›5‰…1pĎCŚŐS(i}Ë„ř+ĂxýŕŮĘD“X˛µŐ$–ěm5‰Emş“‡&±#ŐCęuĹąÖôޤPO>Łçܧ¶Ű w»Úg?ŹNÝ?˙Ć[дƱ{ßőŘ1wľ‘PŕŹ[*¨”o'(ďä9÷#Źą…k06±çO?„˙ň…źÄ›ŻßwýG01–ÇF˝ĺźkIˇž�Mb«żh OG2ЍÖC,#â`‘őHśF°~ąz‚r&Ž?"=.–OÂ4ŇĚ«x±Ö OŻż-˧Ŕ¶´Î‘áI‹z x®·Üôş+|ÎîĂŘä~<óčśxüYĚ\YĹɡ9S9]AáňrKőţ¶D[UňFëm mËDÎ>ą˝«ë8¸ĽŽR)‡=×-`v߸§ I,[Ł?©ęĄŐďŇĘ+‚OÂ4Ňô)b^Z´lGŃD-ŰRDc·&±@¨ű#ŔXv\c0 _ËÎp,•úD$iŹNȨżÂKč%[÷F ôλë¸besűńţĎ<™Čr˙C'±Ö*`şĐŮúü„Ü5Ľ�ĆŮĹť&±HŇäDd1ĹCxňĚ~ăŽTW)Š‘4›-Ĺ•óÔ$dîďV\‰%+a’Q2>WMbÉÖV“X˛·‰E%/RГ鮷¤:PZšÄ"ŚLT©×çZÓ«’B=ąpŹ­)ĐłěUĄŇ¦*+řôó?‚Ď=ąůb‡ÜryrW_ ľ?ý##V ‚†POtÚŐę,˝—Î} źúÎ$ž_9ć®Ŕ4Žąçšs¶Ń‰gű…A@©Tu$zňţ"‹ŕő’ë€aő—˙ź˝÷�”ä¨Î…żžąy÷nŢŐć¬U–PI!@€@&lŚýڱŤ±1NĎ Ű8Ľ÷śžmţçřڱýlc‚ŤAB ”ăfí®¤ÍÚĽ{÷ć8őwš™NwWwĎť­#.ŰÝç;U_Ő©ęéîů¦ÚXDĹY„š‡,ÚGLŕKŚcň2˘ůâ$ýĚ|d8ˇ/NŇ2tÖĺďĚÖś¨pÁ§˛±2‚BßéŕkA\ŕ—Î?ÁFtĎéÄĄ7®ÄŃ}çP=r żwG6ŻĆŃKVajő|`U?:NŤ˘ăä0fjň:mVĄ†Q8ŻâsZ[ĂĽ± l:usíĎÎ9Kz°ęŇĄnűę}űAHVK|łÜůDĹ8:ź¨8]óNW] 8IËĐÉ)a]ĆŚµ«!‹± ĘŚRťŹÄÇ‹ňa‚€2¸ —źCLKţ#¸qEľŞťÁŐY¸íŚÜ 4o"ő㬠Ş]˝čť·Oî݇c§ĎcĹ’ů ŘČŘ$>őŐ§Đ·ärt÷ö+űĆâIä‘>˙ž+ăxd/.‡óQĂ/@…ŤG)čăbD,‚Ř-Kł-–Ąv’ë4"äηH‹rUI¸Ąá˘LÄ’j5B?Kľ±FÄ’¬±Đ>î”ÝaD,Ň™ň =W‚kÍ DCžBnEś1tXUŚN÷`ĎÁË0oÁ<,^z±'ř�-ź±;×9 âTypüŐj–ŻľG°˙ô~L÷o¶Źu„0*3"qpQóĹXDĹY„š‡,ÚGLŕKŚcň2˘ůâ$ýĚ|d8ˇ/NŇ2tÖĺďĚÖś(qNŤe[šľú˝dă¨#Ú`‚!•j«/]Śą‹{ńâľłčÚwKŽťÁÁ+ÖáÜęĹ^=S+űQ=3†ž“C Ęd嫆ń*0Y±PsP«ˇgr kO `éč(:»;°dí",^;ßľ.hŢĺ"b±Zh>QqN…Î'*N׼ÓUWNŇ2trJX—1cílFČbě‚1#bÔAç#ńńâ„|   .HĹ%äçÓ’˙Čiśâ×nĽĂł |ŐPý?8ýíúbµčĘ-ţŞ,} Wákßۉű- Ř_|ţ! Mwc弥ΗG¬ Ľü[’_çIĎÇ#“řxq9śŹ~Á�*|<J�yścţ¨ŻŕĎ€l\Ä'·´|J·,śĘe©ťä:Ťąóťu+±8”‚–JґʱFÄ’o¬±äkD,´Ź;ew‹ô`¦<hĎ•ŕZ3ѧŰýlłä×îţ†ózˇ…‹6bn˙˛F˙Sňɢ[)r@Ĺ©ňőĎ[°˝sbzj]ÝsąnQ„“�9IrĄÂpş‚ůÂÔŁ¨ůbD,"Śâ,BÍCŢ™k˘mŽÉËćW“ô3đ‘ᄾ8IËĐY—ż3[s˘Ä~ĺŔĹq~H*;€‰„4b,éĂĽE˝8yđ<:aţc»q~gŽ^¶§6^„™Őó0˛n¬ŃITOŚ˘ëä ¦'D5곊ĹPłż•ď¬`ÚŞzďFŞ1ôŤOb•#`Eg§…ţĺýX¶qˇ» K˝Ť€±$áTč|˘âtÍ;]u%ŕ$-C'§ u3ÖŽf„,Ć.3"Ht>/Nȇ Ęŕ‚T\B~1-ůŹ ĹńďͤA–%«‹CjµĎŠŠ]ěýŽî>ô-Ľ÷<ň4>p×Mčę”Ô|ţŰĎŕţgcőĺ·˘ŇŐv&±Ś)�FĢ(Sp ŹóQÚscĚőüŤ‹xp§ĺSşeáTF,Kí$×iD,Čťo«ŠX¬Č{ĎC0«b˙˙ ŇŘäL%RBu&2B[Ť%ßX#bÉ?¶%D, R`É1˛ë-%&ŕTv‡±HfĘö\ ®5 y ą泣ŁŰ±8f5΄ň˛č'ÜĎA×Áß ˙»É-/ęŻ×ëĽ6I„‰›eD,’ŕ˘ć‹±0ŠłHÂ<äbś‹¶Łs’»M)Ź)Ę�Ś…R—ż3[s˘Äq8E^‰ă"B7áD_oůO†ýG¸VĹÂE`ţŇ>?xŢ]…eŢ“{±ęŮC8~ɜ޼“ýݨ-čĹÔK€ńiTÎŚŁăÔ0:ĎŚbz*Ú˛äćWXg“ößL§…™Šĺ>cvV”±¦kXx~ËÎ aÉč¨}-PEϢ,Y3ý6çPßŔX’p*t>Qqşćť®şp’–ˇ“S†şŚkW3BcmoFÄ©ÎGâăĹ ů0A@\ŠKČĎ!¦%˙‘‰ĆcýA“đá´3ôş!pĆ#窴TŞčęíÇůÎůřĆC»q׫®‚Č޶˙řŐmXĽört;«±„ ŤŇő3‹×®1ŔXe äq>J{nŚůŁľ‚?˛qźÜŇň)ݲp*#–Ąv’ë4"äηLKěÁá›j™&¦»Ń×1ФćTqv´ÝNYVⶆľß#ÄKľ±FÄ’¬±Đ>î”ÝaD,Ň™ň =W‚kÍ DCžBîř cü^’§Ć+e#—ů÷§Íݦ¬Ć?Á2(×qŞV¬€hYA±‹+ş±‹Ş1BžŚE\Ô|1"FqIb§2&ŮgÜm&/#š_!Ž81"÷‚9IËĐY—ż3[s˘ÄI8…VQáá"?„p?ţ~.ŽĹE2Ýs»°îŠĄžÄéŁCč<9ŠŰžÇÔÓűpzĹbś¸t6-ĂĚś.ĚĚíĆĚš~LĚ0XÓ€Sš„5:eďĎŔš©ˇ:=ŤĘT –#HqęŞTĽ?‡‡óš űľ´V­€Ůß>Öęę›™š˙/ĂÜá1,9uˆŃc1ű>¶ŠîE}XĽrž'`±âýTo˝˝‘. ű…‹k”ÓBó‰Š#p*t>Qqşćť®şp’–ˇ“S†şŚkg3BcmmFÄ©ÎGâăĹ ů0A@\ŠKČĎ!¦%˙‘©ÇcT•ÁŠĘŤ˙úŤ©Ë ř+¬‚îľywŃZ|úËŹâę-«°nŢt× ÇńG˙ň ć.YŤ+·ÄʉĐĺě¤ĎżçĘ8™ÄÇ‹Ëá|Ôđ P)ă±ŔscĚőüŤ‹xp§>”mY8•ËR;Éu rçŰŞ+±-ş*KOwFF§qbt)6Ě;$ć< źdxa`-.[ ĚííŚŐE竆Kľ±FÄâ[®}ś.®cĘjŚězK‰ 8•ÝaD,Ň™ň =W‚kÍ DCžBnáŤfřK6e92k|ľńËŁô/ǸŐ7.ôČĚXdÁEÍ#bag‘y v±c‚í(î6“—ÍŻÇś8ýŇ ś¤eč¬Ëß™­9Q✼eV$¸úk†0¤‰«5çkcí@ś#hYµe1–¬š‡łÇ‡1pj«ĎžÇĘ0ő˝šß‡3«—b`ő" ®\䮤ÂćwŁfÇą+uĎ0Ż@›*Aż¬îď›D˙ą!,8?‚EŁčť™AĄŁŠJwsö`ţ˛9»¨Ľľi®V?¦IÄ‚šOTe<9ź¨8]óNW] 8IËĐÉIWţŤkC3BcmkFÄ©ÎGâăĹ ů0A@\ŠKČĎ!¦%˙‘ZĆcP¶ž Ď]A «©Ë úç«T:0wń* ź:‚ŹýńńŁwÝ„Wß´óćôŕŚ}ÓňŤ‡źĹîÝŤęś%X¶éúpE&b± đńâ¤ç€Śă‘I|Ľ¸ÎG ż`�•2 <7ĆüQ_ÁźٸOnYÎĄZNeIJÔNrťFÄ‚Üů¶ŠĹ}ÎXŁĎíëÂäT /NlŔĽńA,î9'ĹŹ…É^ŽA¬DŹý°·;Ůí]ô{@)Vä¸PĆaαFÄ’¬±Đ>î”ÝaD,Ň™ň =W‚kÍ DCžBnU˘?•C©KĐ”ţĄâTy ç@#śČyĐ•+ Ž@W0_q5_ŚE„QśEtÎŤĆŰQÜm&/#š_!Ž8qúĄ8IËĐY—ż3[s˘ÄQ8ů˙Z™…‹łý¬_ŰÖBĂ?@ôy8Ö,˘{N'–oZčľvhřÜÎťµ˙G×Č8í>ŚÚÎC±ă†çÍÁČÜŚô÷`l^/&ş»0]ípW\™©TÜ×9+łT&¦Đ19e˙;m˙;ŤŢáqôŤNŘă;>‰.guë¶łôÎďĹĽĄsĐż¸ŐÎ ·ÍˇUYęť"‹{¸řůDĹ8:ź¨8]óNW] 8IËĐÉIWţŤkS3BcmiFÄ©ÎGâăĹ ů0A@\ŠKČĎ!¦%˙‘úÇŁ'cg’ ŹÁ× qŁ‚ŻbáăŐj–]|=Žď}s÷VüÍ—ź˛W`U;QíčFw˙r,µý¨TbĺĹą(D,a¨`D,Š2ň8Ą=7ĆüQ_ÁźٸOnyđ)IJ(#–Ąv’ë4"äÎw6¬Ä´ŕŞ,ÎGßâ=Ř´n1v¸óGϡżsĐ“ÖjńO-ďÄ;ź©Óó04ą�×]ľ ú»cuĐřŞ!FÄ’o¬±äŰŞ"F<Čd×[JLŔ©ě#b‘Ě”íą\k!ňrSó{ź2śáwĄ©8Uč9™Y‰E\Ô|1"FqŃ9_4lGyp·™ĽŚh~…8FŕÄé—Vŕ$-Cg]ţÎl͉Gá=ĐŞpą×Wf‰”a0 _ô•D>ÁŚ#.™»¸Ďýs~Ë8>2é ZFÎŹctp ‡GÝ?§ç\çśNôöwˇw^7ć.ěEGw•ŰOÁ·ű…ÚĎy^’ö°pŰŁeDK¶ş źwşęJŔIZ†NNşňoĚX›˛» LuQĄŚc ?ÇA*×Ýab/.©?ĆGâăĹ ů0A@\ŠKČĎ!¦%˙‘ÚÇc°ťOŇ.Ź‘ŰNŃńµ­JŐ®^,żä& ť<Ńó§Q›™r.} .ÂĽÝ•[ĺ„x7+E,Á›I狢LÁ<ÎGiĎŤ1Ô—Cźç—ńÉ->…XeIJÔNrťFÄ‚ÜůÎ6KݬČ+.Ű´#ŁS83PĹÄĚIhr´żyí¬_5/V6ŤŻbD,ůĆKţ±­ĽKĚ(źíLsP>î”ÝaD,Ň™ň =W‚kÍ DCžBî¤ůŚYHc+ş•"Tś*ôČĚXdÁEÍ#bagťóEŁ1Áv”w›ÉËćWcNś~iNŇ2tÖĺďĚÖś(qN\tá˛÷Ŕçg“Ĺ+_řăæř%TĽ}°gn—ű·dÍ<ĚĚ0LŽMŮÓ·˙ě홉űxÍőŐęŻrVć®ÚöÓŰJŐŽ şz:ěżNtőÚ˙övÚχ+Ňö‡+‡pVxe–&śź#bÉ˝®Âçť®şp’–ˇ““Îś3ÖĆf„,Ć.c’ŚÇ~ŽT®»ĂÄ>^\ .RŚŹÄÇ‹ňa‚€2¸ —źCLKţ#´ŹGY;75 <<Wg ů LŔŞXť¬¸óWl†ĺÜ-¸KIVĂ+±pę«ď•X80Á�*e<xnŚůŁľú<żü‹Onyđ)IJ(#–Ąv’ë4"äηUE,‚›Kë¬ÚźŹ/˝f9Î ŚcpxŇ]ŤEfŐjó퇌 çu#ŤYY0Ę8Ě9ÖXňŹ5"ÚÇť˛;ŚEz0S´çJp­„hČSČť6źĽ{QU9‚Ž÷ŻEÄŐ7ĺ ˘ç@fFÄ" .jľ‹Ł8‹$ȱ‹µ“đŕn3‰ńü q’~f>2śĐ—'i:ëňwfkN”8 '®ńš!÷ŕë"ýä|âŐb1MĺJ¨Č€F¤V‹×ĺSQK·ýרDÔ,˘DQµź»ú mä´?&vaáhyŃFÄ’­®Âçť®şp’–ˇ“SN91f¬ÍYŚ]Ć$%Ž)ü©\w‡‰}Ľ¸\¤ţ‰Ź'äĂepA*.!?‡–üGhŹÔ>Ü%ńâęÂ’š¤ˇÁ›«ÚG·’&˙$Kă’r3ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$c1)#bÄ"1źB, 2bYj'ąN#bAî|gëJ,Ał\)C8ÖyÍó§®SP&e5Ą’ĹXňŤ5"–ücŤ…öq§ě#b‘Ě”íą\k!ňrëČgă›,&/GĐá]KäH‹bIrŔłŔ˝­j‚#AtćJ€#Đ̦ĆD™0§*WFÄ"Â(Î" ň@ěbíĆ$<¸ŰLâC<żBś¤ź™€Ź 'ôĺŔIZ†ÎşüťŮš%ŽÂ‰Ş.׼uI˘ľ†8%ZWŕó6ÚOÁ[ČŹ/'ŘvĹ3’1\CäŠ E,–äŮq¨ýÜĂĹĎ'*Ž2NXó‰ŠÓ5ďtŐ•€“´ ťśrʉ1cíjFČb¬íŤI2JSř9Rąîűxq)¸Hý1>/Nȇ Ęŕ‚T\B~1-ůŹĐ>“öącĽ%*q‹ŻĐ]\Y‰…   RĆcçĆ?ęˡĎóËżřä–źB, 2bYj'ąN#bAî|ŰAÄRŻÓŠĽż<IlÔČ"…Kľ±FĒ쬱Pݧ)Ś|]A˝ţ4"ůÁLyĐž+Áµf˘!O!·ö|Z1‹˘CA©9»\‡<Ľşâ•„ŹđĎDFÄ".jľ‹Ł8‹$ȱ‹µ“đŕn3‰ńü q’~f>2śĐ—'i:ëňwfkN”8 '*ÎßiüćPŔÉýG$N/ń·Cľ đŁ?§WJ±5÷Hî\ţPxeX–4wQ~ő VŻ$ę‹°ŠOŇ2’ŕś ťOTś®y§«®ś¤ečä”SNŚkg3BcmmLrQâÂĎqĘuwŘÇ‹KÁEęŹń‘řxqB>LP¤âňsiÉä€öń¸Ď{Š/Ô˘}|ĺ.ł„ľXśeIFĢ(Sp ŹóQޱČóG}9ôy~ůźÜňŕSe!PF,Kí$×iD,Čťo;‰Xę–HĚ"€%±Č FÄ’o¬±ä;«VbáS`„@ĘÇť˛;ŚEz0S´çJp­„hČSČ]@>Yč«/+U¨8Uř~‹€‰ĄšŕHťąŕtó…©1GQóĹXDĹY$ó|á—•›Exp·™Ä‡x~…8I?3NčË“´ ťuů;ł5'J…­ĚBĽ_xýýa"ă«+( TΫ+&p nűQ_¨áËñ&_nţłĎŽëŚ%{ű©8]óNW] 8IËĐÉ©€ś3ÖŽf„,ĆÚÖä ŁÄ1…źă •ëî0±Ź—‚‹Ôă#ńńâ„|   .HĹ%äçÓ’˙Číă1qźsĆŁ`ygYź×Pa.V’‡“J.Ć#“řxqR.HĹĄá  RĆcçĆ?ęˡĎóËżxpçÁ§ËB ŚX–ÚI®ÓX;ßŮ$b <K$ŐIłHb•Fh«±äkD,ůÇć"b)đ—)0B ĺăNŮ$#b‘Ě”íą\k!ňrOÝJ‘*N•z0ŐG‚<čĚ•�G +/LŤ‰8Šš/FÄ"Â(Î"%Ě—ÔĆ Üm Ž)Ę�Ś…R—ż3[s˘ÄQ8QqîVp5Y?ŐW6 ,ťĺß´đ֧꪿~°ĆÄu!aîÜw )p,|-ĎÇYüţÂó¤±do?§kŢéŞ+'i:9cĆÚŐŚĹX[“d”8¦đs¤rÝ&öńâRp‘úc|$>^ś”Á©¸„übZň9 }<&îsĹxT(úEqAQЍ÷,˙ëKPş –Äźq<2‰ŹÇe&äŇđ P)ă1ÉXLĘĹX±ĐĘG›e©ŁŚX–ÚI®ÓX;ßv\‰%jVăťŕ´‰O°bceeŐצ±FÄ’¬±Đ>î”M2"éÁLyĐž+Áµf˘!O!wůdŃ­9 âTy ç@SMp$ČÎ\ pş‚ůÂÔŁ¨ůbD,"Śâ,RÂ|ÉbL˛Í “ᢠŔX(uů;L…kŃś(qNTś‚»e59)ëâÜSFs\ńD“č+„¸líw›Ć"„-ş,4ďś7Hý„ěś ťOTś®y§«®ś¤ečäT@NŚkg3Bc†q>,!IIĺş;LěăĹĄŕ"őÇřH|Ľ8!&( Rq ů9Ä´ä?r@űxLÜçÄńČQô'ĺbqľZČ”#bĺ6 <7ĆüQ_}ž_ţĹ»h>Ú,KeIJÔNrťFÄ‚ÜůÎVKhU–uĆ*N,Qł3ç«´Ř´u^č±FÄ’¬±Đ>î”M2"éÁLyĐž+Áµf˘!O!wůdŃ­9 âTy ç@SMp$ČÎ\ pş‚ůÂÔŁ¨ůbD,"Śâ,RÂ|ŃiŚ·Í$>Äó+Ä1Z]¬9IËĐY—żĂT¸͉GáDĹ%Č÷UC˘şx‚–hĂĐĽŽ®…‚óÍ]°^iűď3’ĺ¤q@µę‹„S.ó‰Š#p*t>Qqşćť®şp’–ˇ“SÁ91f¬­cĆÚÝ8Ä$¤rÝ&öńâRp‘úc|$>^ś”Á©¸„übZň9 }<&îóăŃRQRs‘ř¸qFÄ" Ęm<xnŚůŁľú<żü‹wŃ|´Y–:Ęe©ťä:Ťąóťí+±X‡ŤéęDzc.3"–|cŤ%˙ŘŮ,ba_Łňë-%&ŕT6ÉX¤3ĺA{®ךA†<…Üä“E·R䀊SĺžL5Á‘ :s%Ŕč ć Sc"Ž˘ć‹±0ŠłH óE§1Ţ6“řĎŻÇhu±ä$-Cg]ţSáZ4'J…—"wî=ť• .'Ŕ}Ť-¤uąĹ˛fŃ–¨<'îv¤ľm'âäđ5"–ĐNaó‰ŠÓ5ďtŐ•€“´ ťś Ή1cíjfEcímś Db’@Rąîűxq)¸Hý1>/Nȇ Ęŕ‚T\B~1-ůŹĐ>÷y†ńظ‰`š¸H|Ń8Ë’ŚEQ¦ŕ€Ö9—”‹±bˇ•OKX~icYj'ąN#bAî|/„× •kD,ůĆKţ±ł}%UÝŚ€Ł|Ü)›dD,Ň™ň =W‚kÍ DCžBîňɢ[)r@Ĺ©ň@Ď&» ˇäAg®8]Á|ajLÄQÔ|1"Fq)aľč4ĆŰfâůâ­.Ö‚ś¤eč¬Ëßa*\‹ćD‰Łp˘â2ćÎyLę.žM­+đ«îk‡8uąőÜVóŐ·Ó¶żľŠLŕ ,'Q’eç$1ŽŔ©ĐůDĹéšwşęJŔIZ†NNçıv6#d1Öž&8ą aLYLĚA*×Ýab/.©?ĆGâăĹ ů0A@\ŠKČĎ!¦%˙‘ÚÇcâ>×4‚¤ć"ńńęc˛r3ŽG&ńńâ¤\ŠKĂ/@ĄŚÇĎŤ1Ô—Cźç—ńŕ.šOKX~icYj'ąN#bAî|ŰIÄzĹPÂŘ,ő-ş‹±äkD,ůÇ íăNŮ$#b‘Ě”íą\k!ňrOÝJ‘*N•z0ŮMXđ%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłH óE§1Ţ6“řĎŻÇhu±ä$-Cg]ţSáZ4'J…§)wîő°Ż™¨® `$\Jî,+UN`ëJĂ ÚOĹ8:ź¨8]óNW] 8IËĐÉ©äś3Önf„,ĆÚÚĹÇĆ2bąîűxq)¸Hý1>/Nȇ Ęŕ‚T\B~1-ůŹĐ>÷yă±ţ­XMŃoH™˙úÍ “•›q<2‰Ź'ĺ‚T\~Á�*e<&‹Ią‹ Zů´„eá—6–Ąv’ë4"äηWbI$fŃÜV#b)6ÖXňŹ5"ÚÇť˛IFÄ"=)Ús%¸Ö B4ä)ä. ź,ş•"Tś*ô(`˛›°ŕJtćJ€#Đ̦ĆDEÍ#bag‘ćK^Í ăůĎŻ'éç`] 4śĐ—'i:ëňw ע9Qâ(ś¨¸rç\[~ŮÉsçł@P®ą«“•á$9iüÖ±sBĹ8:ź¨8]óNW] 8IËĐÉ©äś3ÖŽf„,ĆÚÖĹÇĆ2bąîűxq)¸Hý1>/Nȇ Ęŕ‚T\B~1-ůŹĐ>÷yŽăŃ9TĎ«D Şü—şä‚±Ç#“řxqR.HĹĄá  RĆc’ü'ĺbD,‚XhĺÓ–…_ÚX–ÚI®ÓX;ßv~ťoA3jlšz-NgKľ±FÄ’¬±Đ>î”M2"éÁLyĐž+Áµf˘!O!wůdŃ­9 âTy ç@“Ý„ŹPň 3W®`ľ05&â(jľ‹Ł8‹”0_ň˛h^χx~…8I?ëb á„ľ8IËĐY—żĂT¸͉GáDĹĺś» %m]Ńç˛JqŠľ&ŮrgY’ş¨śxŰşrBĹ8:ꍏ ąËĄ®ś¤ečäTrNŚkW3BcmiŚâc c±\w‡‰}Ľ¸\¤ţ‰Ź'äĂepA*.!?‡–üGhʉű<ÇńČăůÖŚ1qg0žÂĹseŹLâăĹIą —†_0€JŹIňꔋ±b‘˙x,Ú˛HËR;Éu rçŰÎ"–  WgŃŘV#b)>ÖXňŹ5"ÚÇť˛IFÄ"=)Ús%¸Ö B4ä)ä. ź,ş•"Tś*ô(`˛›°ŕJtćJ€#Đ̦ĆDEÍ#bag‘ćK^Í ăůĎŻ'éç`] 4śĐ—'i:ëňw ע9Qâ(ś¨¸sçXđG©ë âx— 'KQ^ĘÜpiŮśPq”Ü9ź¨8]óNW] 8IËĐÉ©äś3ÖÎf„,Ć.(c± źă`”rÝ&öńâRp‘úc|$>^ś”Á©¸„übZň9@ŠÓÜÎÂĆ#•KP2/X:2 Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"Eţă±hËB"m,Kí$×iD,Čťď…"b©[luMmčCŤ%çX#bÉ?¶íD,cĺăNŮ$#b‘Ě”íą\k!ňrOÝJ‘*N•z0ŮMXđ%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłHKĚŤ&hOl›‚“ôs°{h8ˇ/NŇ2tÖĺď0®ŕöSs˘Ä•0ž¤e¤¬‹űÚ!J]9rRĺIJ2ÔĄ™“´Ś$8'9ꍏ„ąË˝®ś¤ečäÔB91f¬ÍYŚ]0Ćb?ÇÁ(ĺş;LěăĹĄŕ"őÇřH|Ľ8!&( Rq ů9Ä´ä?r€§ąť…ŤÇ’ňďą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Č<mYH¤Ťe©ťä:Ťąó˝ĐD,AsŇ9±VĘŞ™XĽŇ¨C›ĘfŰ8Ě9ÖXňŹ5"ÚÇť˛IFÄ"=)Ús%¸Ö B4ä)ä. ź,ş•"Tś*ô(`˛›°ŕJtćJ€#Đ̦ĆDEÍ#bag‘–/ů“m3ŽĘă´Y„úrŕ$-Cg]ţSá n?5'J…×"ąk¬lâ·żŐr\y%u]ş9ˇ¸~*t>Qqşćť®şp’–ˇ“S ĺıv5#d1vA‹müŁ”ëî0±Ź—‚‹Ôă#ńńâ„|   .HĹ%äçÓ’˙ČRśćv6KĘżçĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"˙ńX´e!‘6–Ąv’ë4"äÎ÷B±DcU‚n¬±”kD,ůÇ íăNŮ$#b‘Ě”íą\k!ňrOÝJ‘*N•z0ŮMXđ%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłHKĚýĆ$űŃü2Ž)Ęđ7”u6Šá$-Cg]ţSá n?5'ZĆ ×ją«o^×S$§°ĆăZ6'TSˇó‰ŠÓ5ďtŐ•€“´ ťśZ('ĆŚµł!‹±¶7Űř9F)×Ýab/.©?ĆGâăĹ ů0A@\ŠKČĎ!¦%˙‘¤8Íí,l<–”Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"EľăQ5ó°,u¦Ťe©ťä:Ťąó5"¤7B¬±äkD,ůÇ íăNŮ$#b‘Ě”íą\k!ňrOÝJ‘*N•z0ÂE89:s%Ŕč ć Sc"Ž˘ć‹±0ŠłHKĚ—üŤE·™ÄWßfŠ2ü ¦Ş+°ÁP 'i:ëňw Wpű©9Qâ(ś¨¸VËť¤.çÎv]X+\wVNˇňŃ9ˇâś ťOTś®y§«®ś¤ečäÔŠ91f¬MÍYڵµ±Ř†ŔĎq0Jąîűxq)¸Hý1>/Nȇ Ęŕ‚T\B~1-ůŹ Ĺinga㱤ü{®Śă‘I|Ľ8)¤âŇđ P)ă1Iţ“r1"A,ňŹŞA‡e©3m,Kí$×iD,ČťŻ± ˝bŤ%ßX#bÉ?¶ÝE,B#^WPŻ?ŤE~PvÝ«pŞs%¸Ö B4ä)ä. ź,ş•"Tś*ô(`„‹prtćJ€#Đ̦ĆDEÍ#bag‘–/ů‹n3‰ŻľÍeřLUW`ˇNŇ2tÖĺď0®ŕöSs˘ÄQ8Qq­–;J]O€bÄ|NÁŐFŰ*'TSˇó‰ŠÓ5ďtŐ•€“´ ťśZ1'ĆŚµ±!‹±¶5Űř9F)×Ýab/.©?ĆGâăĹ ů0A@\ŠKČĎ!¦%˙‘¤8Íí,l<–”Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"EľăQ5ó°,u¦Ťe©ťä:Ťąó5"¤7B¬±äkD,ůÇ íăNŮ$#b‘”]÷jÁśę\ ®5 y ą Č'‹nĄČ§Ę= á"śśťąŕtó…©1GQóĹXDĹY¤%ćKţƢŰLâ«o3EţSŐŘ`(†“´ ťuů;L…+¸ýÔś(qNT\«ĺŽRW śfeN¨8§BçWdî(u%ŕ$-C'§V̉1cmnFČb¬-ŤĹ6~ŽQĘuwŘÇ‹KÁEęŹń‘řxqB>LP¤âňsiÉä�)Ns; Ź%ĺßseŹLâăĹIą —†_0€JŹIňꔋ±b‘ďx$rŃjY*JËR;Éu rçkD,Ho„X#bÉ7ÖXňŹm9KQ¬ÔĎrâő§±ČĘ®{µ`Nu®ךA†<…Üä“E·R䀊SĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD,"Śâ,Ňó%cŃm&ńŐ·™˘ ©ę l0ĂIZ†Îşü¦ÂÜ~jN”8 '*®ŐrG©«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ć„3f¬ÝĚYڵݱD‡ąÄÂ8#báA — Rq ů9Ä´ä?r€§ąť…ŤÇ’ňďą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<ąhµ,ĄŤe©ťä:Ťąó5"¤7B¬±äkD,ůÇ íăNIËX¤e×˝Z0§:W‚kÍ DCžBîňɢ[)r@Ĺ©ň@Ď&»ˇäAg®8]Á|ajLÄQÔ|1"Fqi‰ůR¬EóË Ř–ôs°{h8ˇ/NŇ2tÖĺď0®ŕöSs˘ÄQ8Qq­–;J]%pš•9ˇâś ťOT\‘ąŁÔ•€“´ ťśZ1'ś1cíhFČb¬=Ť%:Ěý Ć ˝\ŠKČĎ!¦%˙‘¤8Íí,l<–”Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"Eľă‘ČE«e©(m,Kí$×iD,ČťŻ± ˝bŤ%ßX#bÉ?ÖXhwJZFÄ"=(»îŐ‚ 8Őą\k!ňrOÝJ‘*N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłHKĚ—b-š_Á¶¤źÝË@Ă }9p’–ˇł.‡©p·źš%ŽÂ‰ŠkµÜQę*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9áŕŚkW3BcŚ1‰Q㌅^.HĹ%äçÓ’˙ČRśćv6KĘżçĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"ßńHä˘Ő˛T”6–Ąv’ë4"äÎ×XޱFÄ’o¬±äkD,´Ź;%-#b‘”]÷jÁśę\ ®5 y ą Č'‹nĄČ§Ę= ě"<x„’ťąŕtó…©1GQóĹXDĹY¤%ć ·¨ÜL÷—¤Q®"śĐ‡řËĘIZ†Îşü¦ÂÜ~jN”8 '*®ŐrG©«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ć„3f¬ťÍYŚ]Ć$FŤ3"zą —źCLKţ#HqšŰYŘx,)˙ž+ăxd/NĘ©¸4ü‚TĘxL’˙¤\ŚE‹|Ç#‘KËXZ’,µ“\§± wľFÄ‚ôF5"–|cŤ%˙Ř VÄB­’xýiD,ň˛ë^-€Sť+Áµf˘!O!wůdŃ­9 âTy ç@“]„ŹPň 3W®`ľ05&â(jľ‹Ł8‹´Ä|áE+L1Ń6#ŕ8má„>ÄŰ›•“´ ťuů;L…+¸ýÔś(qNT\«ĺŽRW śfeN¨8§BçWdî(u%ŕ$-C'§V̉gĚX;š˛k{cŁĆ ˝\ŠKČĎ!¦%˙‘¤8Íí,l<–”Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"Eľă‘ČĄe,-I–ÚI®ÓX;_#bAz#ÄKľ±FÄ’¬±Đ>î”´ŚEzPvÝ«pŞs%¸Ö B4ä)ä. ź,ş•"Tś*ô(`˛‹đŕJtćJ€#Đ̦ĆDEÍ#bag‘–/ܢh…i0&Úf§Í"śĐ‡x{łr’–ˇł.‡©p·źš%ŽÂ‰ŠkµÜQę*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9QŕŚkW3BcmmLâ`Ô8#báA — Rq ů9Ä´ä?r€§ąť…ŤÇ’ňďą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<ą´ŚĄ%ÉR;Éu rçkD,Ho„X#bÉ7ÖXňŹ5"ÚÇť’–±HĘ®{µ`Nu®ךA†<…Üä“E·R䀊SĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD,"Śâ,Ňó…[­0 ĆDŰŚ€ă´Y„úooVNŇ2tÖĺď0®ŕöSs˘ÄQ8Qq­–;J]%pš•9ˇâś ťOT\‘ąŁÔ•€“´ ťśZ1'€±»`ÍYڵĄ1…“QcŤ…^.HĹ%äç“ő9ąŤ‘¤8Íí,l<–”Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"Eľă1)—˛--Ő‡xwÝŚąó5"¤7B¬±äkD,ůÇ‹ÂןFÄ"?(»îŐ‚ 8Őą\k!ňrOÝJ‘*N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłHKĚnQ´Â4m3ŽÓfNčCĽ˝Y9IËĐY—żĂT¸‚ŰO͉GáDŵZî(u•ŔiV愊#p*t>QqEćŽRWNŇ2trjĹś$Ŕ3ÖŽf„,Ć.,cň{řb‰}Ľ8&ńIt>/Nȇ Ęŕ‚T\B~1Yź“Ű9@ŠÓÜÎÂĆcIů÷\Ç#“řxqR.HĹĄá  RĆc’ü'ĺbD,‚Xä;“r)ŰŇa©ťä:Ťąó5"¤7B¬±äkD,ůÇ‹ÂןFÄ"?(»îŐ‚ 8Őą\k!ňrOÝJ‘*N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłHKĚnQ´Â4[°J#bş.‡©p·źš%ŽÂ‰ŠkµÜQę*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9I€3f¬]ÍYŚ]8Ćä'öđĹűxqLâ“8č|$>^ś”Á©¸„üb˛>'·1r€§ąť…ŤÇ’ňďą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<jŕR¨Ą­źĄv’ë4"äÎ×XޱFÄ’o¬±äkD, #^‹ü ěşW &ŕTçJp­„hČSČ]@>Yt+E¨8Uč9PŔdáÁ#”<čĚ•�G +/LŤ‰8Šš/FÄ"Â(Î"-1_¸EŃ ÓlÁ*Ťęşü¦ÂÜ~jN”8 '*®ŐrG©«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćɸ3Ö®f„,Ć. cňóyřb‰}Ľ8&ńIt>/Nȇ Ęŕ‚T\B~1Yź“Ű9@ŠÓÜÎÂĆcIů÷\Çc-‚˛,yś” Rqiř¨”ń$˙Ią‹ 9đŃËĄPK[?Kí$×iD,ČťŻ± ˝bŤ%ßX#bÉ?ÖXFĽţ4"ůAŮuŻLŔ©Î•ŕZ3ѧ»€|˛čVŠPqŞ<Đs €É.ÂG(yĐ™+Ž@W0_q5_ŚE„QśEZbľp‹˘¦Ů‚U Ôuů;L…+¸ýÔś(qNT\«ĺŽRW śfeN¨8§BçWdî(u%ŕ$-C'§VĚ ’q7f¬ťÍYڵż1ůů<|±ÁÄ>^“ř$:‰Ź'äĂepA*.!?‡¬ĎÉmŚ ŤŤ,í´,yÜ…*b‰^ĄůýÔđ1ŻŚžN }ößŮŃš}Ů_ŽXü>•rś ±‚”űx$q>.FÄ"E|ôr)ÔŇÖĎR;Éu rçkD,Ho„X#bÉ7ÖXňŹ5"…Ż?ŤE~PvÝ«pŞs%¸Ö B4ä)ä. ź,şEĘŕ,.”ł ^L|f `ÔfD,âŕL€S•#bag‘y źł0-ç-bÂ3±@]—żĂT¸‚ŰO͉GáDŵZî(u•ŔiV愊#p*t>QqEćŽRWNŇ2trjĹś =wcĆÚŃŚĹX{“źČĂLěăĹ1‰Oâ ó‘řxqB>LP¤âňsÉúśÜĆČf}ő:X`®p"i;­ŕŞ!ö¶ĹšŰ±¸ MÄâ?”ořëíwúĆÝöűyyxĎKűqçUs]÷áłSřä·Ďář`ÍëÓ€ĹX4p1"A,r࣋‹jç`i«d©ťä:Ťąó5"¤7B¬±äkD,ůÇ‹ÂןFÄ"?(»îŐ‚ 8Őą\k!ňrOÝRćŔď…ăD[î–ĺŢ»Y±˘h÷>0PŻű3†ĆÉ…/I7_­ äAg®8]Á|ajLÄ‘ pŞň`D,"Śâ,’ ôs–¦ĺĽEű,ËbFÄu]ţSá n?5'J…×jąŁÔU§Y™*ŽŔ©ĐůDĹ™;J] 8IËĐÉ©s‚ôÜŤkW3BcíkL~"_l0±ŹÇ$>‰ÎGâăĹ ů0A@\ŠKČĎ!&ësr#šőůu°>úÚ¸dy7tŮ™áüĆO7-,¸’Č…*b±űů§n[€[6÷† ˙úČyÜłc´QÁŤë{đ¦«ç6ükuâCŻśŹß»űŚÝŹ•†ĹX4p1"A,r࣋‹jç`i«d©ťä:Ťąó-RÄňsżwyćTÖQµĐ?§ kVöă†+.Âo۵+úSŐ©´śc‹± MŕŽýGěřcź}ź26K˝­kD,ůÇ‹ÂןFÄ"?(»îŐ‚ 8Őą\k!ňrOÝRćŔď…š}Ź÷Ą¸ôâŢâź˙ý4žŘ:jßşU|¸«Ë°,]\ĹoţüĘXüďţé‹8ufĆ´XˇŞÓÍA+(yĐ™+Ž@W0_q5_ŚE„QśEä~ÎRŔ´ś·iľd1#bş.‡©p·źš%ŽÂ‰Š‹Tö©O>Ž=;N‡ŽÝůŽKńŞ;6(ëžÄď˙â˝Ú/˙Ámż°·ĺÄçNŤŕo>ń=­»·űă×Ĺę*3'e÷“cv_}áÂ}ŐŮÓ÷˙ţëôĎ'*N׼ÓUWNŇ2trjĹś =wcĆÚŮŚĹX{“źČC>#báA — Rq ů9Äd}Nncä@ěŽŐü?h7VłşU޶Ĺ˙§ŮĎq\­ĆÜ uđšEŐfíâNWCĹ~ «jD,ĐŔĹX±ČOŔ2qaĘ8í–¶2–ÚI®ÓX;ß–Z‰%`Ó3 ç'ÜżmĎžĆ?ţçNĽ÷Í—â§č%č¨VôŐ™s¬Y‰%ßX#bÉ?ÖXh¦¤eD,Ҳë^-€Sť+őŐŘ…!bńŹ×Ľű;‘˙mo\ĎŽb|ܹ׳Â+:ńN¬}ŹX«U¸ńî}"sb+ţĘ.ä@nFÄ".jľ‹Ł8‹$ČýśĄ€i9oĺ/b‰×ČŮć´Y„úoŻÇZ¬.‡©p·źš%ŽÂ‰Š“p‡Š‡ .aĽ®qBĹĄh?uĺ‘“íĆđůqíŇWbŢâ9ňşEőŻňŞ«đy§«®ś¤ečäÔŠ9îĆŚµŁ!‹±¶4Fő ˝\ŠKČĎ!&ësr#˘cĂýŹů" íJÖx0g_3BȢˇ˝ĎóČżç’ŚGżź]”+V©q°5Ďçżfhç‘QĽíúů!ČŽĂcΓLWä”gY–€‹ř i< Pîă‘Äú¸‹ 9đŃĹ…)ă´[ÚĘXj'ąN#bAî|˱Xťöążz^ lśdjî_­6ŤýĘłŘúěiüĺoߎžîŽ,•ĺÝÖ ±‰ă¬XŐľt±Yę-1ÖXňŹm+KŽ®Ę˘ŤEzPvÝ«pŞsĄľ»pD,Ě}ťsŻW«ÍxźÇ›;§Š·˝aţő‹gQ©TüqaĹk¶?Çąµ„Ž; °RÎÁ˝%:s%Ŕč ć Sc"Ž˘ć‹±0ŠłH‚<ĐĎY –ó–±´D]ţSá n?5'J…'ŕŢ]u„áYz;űIuYVüGyŽU­.n]ˇmJN¨8bű»ŞńUÉ+ÎyĺdÇC‡qâpřľ˙˘ő BB–Vč§zđúŞZĎ·®śPqşćť®şp’–ˇ“S+ćz¸3Ö®V1c…/6ŘÇ‹cźÄˇ,—»“…”Á©¸„üb˛>'·1r€I˘j ±…^«±€@ć]‰ĄqČőxďOŹŔkŢj-nŮ;ŽŚáoď=SS›¬áÁ˝řż÷ť„'<j(ŞVÉE  bÇcúó=˙ÄľĂĺqIĆ#“řRqîrřčâ”qÚ-me,µ“\§± wľ­şKÓ,ďĎyxTé´ź"őş˙îŘ{ň÷OdŻ3çXłKľ±FÄ’¬±h2#b‘”]÷jÁśĘ.f꫱ GÄq8÷xŰËn‡ÍşĽ{n·“BÁţŠ,|!LÍ_Őłž€tóEpďCÉÎ\ pş‚ůÂÔŁ¨ůbD,"Śâ,’ ôs–¦ĺĽeD,-Q—żĂT¸‚ŰO͉GáDĹI¸ËŚZW˘2eĺŽk9ç¤jĹ{ßYé’—Wp?ńú fşrBĹéšwşęJŔIZ†NN­čánĚX;›Y‘ĹŘcá‹ &öńâÄ'q(ËĺîdáĂepA*.!?‡¬ĎÉmŚ Ä}á‘3čép†ÎLc‰ä:˘b?­˙•·mŠĹţÝ·ąb‹Đę VĹ}ťĐ čÝŐF*Ťqéţciä�»úRˢ>g‚ü[!ŹśäDă˘óĆ]!’r|˘ĺë-ë!yAţCMŻ9îŰußŢ~Ö=ćüŞˇRu~MůuC€/ ´IĘ…ł’ żĎąâŢĺúŽ' ‰Ö“d<¦8Ńç?“űŁ>iţĹI|Ä—Š‹řäV]\2N«e©Ąv’ë5"äηŐD,ďĽëĄ¸ăUW6ö'§¦qâÔ xäYÜ˙đîć\´:áĽîîű^Ŕ_±×_yRYÎm5"–|cŤ%˙X#bŃdFÄ"=(»îŐ‚ 8•]ĚÔWc¦Ĺ_‘…©W7}ĎŰ–ŕ}ň(f\˝Jó5Aî=bM6ĽÎw !ý™žźˇDyŕßă‰ÝŚłgIt8‚űPéQńLŤ‰8Šš/FÄ"Â(Î" ň@?g)`ZÎ[FÄŇuů;L…+¸ýÔś(qNTµ?SrB’2eĺŽk䤣˙ʲĂů ZŁźx} ˛Ě9ˇâtÍ;]u%ŕ$-C'']uéäŤÜŤkc3Bc„…/6ŘÇ‹cźÄˇ,—»“…”Á©¸„üb˛>'·1r@gą˙97…ÚĚ´ý7ăzÜŐC|Fü_˝pb GĎMÚâ*®@ÂůĎůÍŮ·Ş®ř˘ů«3Ż Ć°ÔůŘǬú®®ń;7iś#Fq≠”éA™ű°a~\*ÚyŘ&,ńŘF]Ń9č?Üd‚;&Ć%şâËíĂJĹóµ”ÇĄńĐ3Đ,Ц¨`'^g¸MüqÎĺ2^żĂâ¶ż±éópë‰ň8Ńç?“űŁ>F,7rćI|©¸OnĺđŃĹ…)ăZĆXj'ąFÄ‚Üů¶âJ,+–-Ŕ5W¬‹óë®ĹýíÂŻţŹĎˇV˙|sWhéÂżµ/ť%ç¶¶”%‹µčř7"–ücŤE“‹ô ěşW &ŕTv1S_Ť]"–únó?™]´¤ wÜ6˙uď }{Ĭ·ÖědN}ţŠśďüăgFpZ·ćŹNę÷~A|řĎÝoÜż5_ü‘Kó˙­�§86Ô'Ě+ŰăËÄ›Ł:#b‰ µÍ1Ž@WQśEä~ÎRŔ´ś·Š±„kon0‘ń±Âd8¦(0"bű©9Qâ(ś¨8jjŕ¤,#°Ń ą“Ď3'PŐŘ(Şźdó)j™sBĹéšwşęJŔIZ†NNşęŇÉ ůp7f¬ÍYڵ˝…/6ŘÇ‹cźÄˇ,—»“…”Á©¸„üb˛>'·1r@çO\€'6°*…ű(ÎY•Ĺ˙W$dqV^©TĽ•B˘·¬Ş'n±ËßÍóńęËć†âţćţsxňŔ6-íÂťWĎĹűßţž öźÄźÜsÖ+5óŢYax٦^Ľdm7Ö,ět±Îwvă5<=‰mG&đčóăbő6!$Tq„$ż÷Ö%Xµ°ů‘09Íđ˙tĚĹ-ť[Á®ś‹+WucńÜ*&lßéá<±ßŮ3Šá „Ë u˛˙ŕŇ&´iY'^}i.]Ń……sŞn/Lă=#¸o×`CÄɆ[bý!ăK7ĎÁÇîXBězqż˙•ÓŤ:űĂw.Áę…ťˇ6ýČßżčćbio˛űöę5^›ß©ˇ<úÂîŰ=ŠÁ xÄ«8ÄĹ)żć˙{Ýş.Ü~é\|‘—Ł‘ †NMâ[;GđŘţ17âwŢş—Ż ż/ő7żt Ďź†Uk–źÇů>˙™Üő1bą‘$>LâKĹE|r+‡Ź..L×2ĆR;É 4"äηe_'4c~Śěmî;ź‘Î{Ć;çă¶[.ÇťŻy ľú­§ţ<¶ý”´Č3ăřÚý/ŕ‘gŽa˙‘ó´?誕 ÍďÁĹëâ•7®Â·®GwWUXĆ}ŹÂŻýé÷˝ż­Ż»u~˙çnĹŚý™řĺ{źĂ}o?Äčř”[öK.]†·Üľ 7^µĽYP¤źţřÓOŕ ßŘ:öˇw^…˝ăŞ0ĐŹűâ·÷á>őxČőŞVăŹé•ČjŽ@čűOĹößö}§qúÜFƦĐ×ÓŐőăĘ‹—ŕ57­Áu—‹ECC¸ă'˙#Äyăęůřě˝ cÓřě×÷ŕž÷ăȉaLM×đ7żů\w§<Ĺx2"–ücŤE“‹ô ěşW &ŕTv1S_Ť]Ř"ą Ma^ó^íŽŰâÉm#8y:Á«‚|Lô'î˙ŰťßŮÉpÓµsqŐĄ˝XµÂľO¶ďAťűä!ű^ö}ŹĽsďfÓÓŢ=¬sźX°|üc+°ryW¨ä/ÝsßřΠw/¨gýšNüĘϬa·íĹ_ýă)—]ó7( }˝Ŕ˙ţÄÚŘB ůé“ض{Ü×ÉW±DĐÚć‚G «Ŕ(Î" ň@?g)`ZÎ[FÄŇuů;L…+¸ýÔś(qNT\‚܉ŚZ7.°ýµĎîÂc÷ aŢüľ+pý+Öb|t }k?žÝvgFÁfć/îĹĆËă¦W­Ç˘‹ćÚ?eßg=őŕaěyćN˝8„é©ĚéďĆşK—ŕeŻŮEËç€bŃş†ěűÁ]Ź˝C{ĎâÜÉaŚ Oşľľţ.,^ŐŹőöýî–ë–ŁwNü5AŰ<„ű>żSX×çţ⻍í%+űńî˙ţrîŘťśśĆľ'ěűř'pöŘˡb¸öŘ–Ř÷™k/[‚Í×­Dµł U?Áď«g9ŚŰOŕś]ŢŚÝW˝v_­Ř˛Wݶó—©űŞĆ®–ůD©+'i:9éŞK''äĂݱv5#d1ÖÖľxgb/ŽI|‡˛\îN>LP¤âňsÉúśÜĆČRśłá Oś‹^ćX*ŢÚ'Ţ*"Îűşgěorf¸ĺTś8ű,ëľöƉőaeů+rxŻÓ‰3a3Ó¸nm~ňŐKÜ×™1§.…'ţĘU]řŕ+ş"Ѝ-™[µ˙zqýú^Ľó†>óČy<ň‚ýp¬RićĹŹř«Ě­ę¬rbżv]/~ú5‹ŃŐŃ$ŇQµ0§»‚u‹;ńÚ+úđ÷žĂľÓÍO«Ĺ8˙UíżĽ|n»4|qßŃeaó˛.÷ďe›zđ‡w…Ô‚esÝ^ş4jńÁQušm·é:»?>zÇtÚÔé·iý’NĽáĘ9řÓožĹžăÓ ŃWŻWľł<¶sĎősŻ]„kÖö„ę×ká%ö1çďľ]ĂřëűNsĹ9.?G ĺ¬Îă+kWă˙>>˙™Üő1bą‘ä9'ňĄâ">ą•ĂGőą±eŚĄv’ŰaD,ČťoËŠX«Ůçę™áxńSgěšxő-—……,¶ ŽĚŕüĐć÷wÇŠű·Ż>‹żúĚ3ś ‹T§íĎŹc§GÜżď=qý™­řÄĎŢ‚›®^©EÚę=~áîÇ3»Ăbš“gĆđÍş·żt ~ë#7ŁŻ;ĺ­Zç€űNăwţúa´ćEmČ~Ŕş{˙Y÷ď ßÜ‹«/^‚ßúđÍX»Ľ_\`„óčř4>ú÷aŰŢÓPš˘˝FÄ’¬±d1÷BÓß4"ŮAĘuO&LŔ©ěb¦Ľ3"…}ëţcxű››‚çó˝o[‚OţÝqçć68GĽUSk¸|K~ä]K0wN\tşxa‡űwíUsđÖ7,ÄçżrÖ´ đJŁm»GcB–ÍëşqŹ›X÷׍ú.ŢżžŘĽˇÇ}^ŕÜ»łŔ˝÷Ćő=±[Ú©i†ÝűFÝ2k áW“ç Sc"Ž˘ć‹±0ô{:Učç,LËyËXZ˘.‡©p·źš%ŽÂ‰ŠK;‘QëR–!ńť|q˙ň˙=ˇóă!ß™#îß“ß=ŚWľůbĽüŤ› ătřůłřҧ·bh \Îŕąqlřv=~wýČK°zÝPůNŰźc|ůY<ýŔAűyĽ%NŮÎßţ§đý»źĹKďŘŚ^»1U?E‚qí{ěű>ł­! ©›óÔ{ęě†ěżýŰŽăŃŻîÁ-o»Ü´ČrwÜľźýÎ?oĹH¤Ď‡íľŰ÷ŘĽđäQĽň‡^‚ĺk–¨h6·K»Z楮ś¤eč䤫.ťśwcĆÚŮ*0f¬M-|ńÎÄ>^“ř$eąÜť,|   .HĹ%äç“ő9ąŤ‘¤8gŁţ: Ë•Ťł˛Š˙J Şűo§»âJĹśJ+ëŕęqnç8ëé`ř±W,ŠXŕŽăZÍĐ8‚–;®ěĂĎ˝n1Wĵą6ć'n[·]7×-Ă[ý¤ć­,ĂÔ8˘ŹŐ -|äµaKÔć÷Vń w,¢>xĺÁ/˱8‘ß¶ &b‰Úe+{ń“Ż^ĺ“řţ/çÜ˙Ő±ÉL¬oqÎZ»M{}XÄkS_żzçb,îłí€˙ú#GÄŇUeřÍ»–ÄD,Q»ýňąx»Ýß\ľNż×ęý$ină˙>>˙™Üő1bą‘ä9'ňĄâ">ą•ĂGőą±eŚĄv’ŰaD,ČťoK‰X’ĆN`q?OlZu%A›±¸ýúź~ţOOy"ËQ˘Ú_LUz=Ţ1«Š3öìźű÷á_ľ˛›_w‡}ţŻŘŽŐćźŐ1źř‹‡=‹Łt­vŰEőúö[•.÷ Żű=ěŠ]fjń[ťóml_řĎ.WŘGóbxgµš,ö€ýŔî'÷ŰžĹî ‡·e÷Mł-˝Ţľűó ¶í;ŤűÍoŘřÁxaV‡ß†ć:űńO_ŮéĆYîĘvvY˝žĎá4Ĺ0"–ücŤE“‹ô ĺş'&ŕTv1S^Ť ÁNť™Ŕ“[Ď„Žm^ß‹›Ż›cßs‰_;+¤Áš"–׼˘?ýŁqE,Qs0?öŢĄ¸ëŽůŢ˝qÍ»×޶3ţ™µq˝} ŕÜgú÷žőú.޲ôőV°ryG�ëÝwo^Ç>»oăÓn»ýÖ„ţ µ3"–0ZŰ\ătú=ť*ôs–¦ĺĽE±$›Ý)ŚÓfĆŰfâíâX‹Őĺď0®ŕöSs˘ÄQ8Qq)s3B]¤p{ŁŻ#.ţŻLvă3±Íů ą˙î˝řΗ÷ Ű˙â|Ö)g@\ÎĚ4ĂW˙i+ŽTó…'bů÷żx OŢ€+b‰ÚÔÄ ľ÷Ü÷…]ˇňćtőjÝ=Ť¸ş=ýťýřŻż{2&báŮřČîű—­xüë{…ą;yp�÷üí1KĐśgßűĚVś>Ęď«V»Z楮ś¤eč䤫.ťś?wcĆÚŃŚĹX[Zř❉}Ľ8&ńIĘrą;Yř0A@\ŠKČĎ!&ësr#HqA/bq—vÄ,Îk*ďő@Îżö8Ž`…g–‹ľÚ,ËŻ÷€îŤ×,@wgĽL÷A™ýP͢\¶˘ ďĽq~ě×\Η^'ÎOâŘą Lsn îzI?nÚĐÝxżL^żü·W,vW*ńŠ­·«‚wżtžűĐŻ!`'bq^%tăĆ^Pěć-ópĹľŕ…ŐËľ~ľ(§ćŠMÜ•k8°żm ąM¥Ţ&O SóĹ?ďżyžűş'ŠýŕM‹±2đzŁ&×™†đGôµEÚó}ţ3ą?ęcÄr#Ď9â”\Ä'·rřčâ˘>7JýEKí$7ŔX;ßÖ±¤ >súDü ýáŮ×ţlúÔ¶áއy–Ş#ZérE¨‹OÝżŠw̸ÔXń/O»Ż ŠóŤúîŁĎą«ą8–žŢ9Ř´~/rŘ9=]ńDOĐňÔ®“řôw ‘0ůOśĹo˙ŐCrsĹ7Ý>ď 6¬]†kŻÜ€-ôűŞł´ţî_? çsçGńßŢç•í‹{¸ŁQŃ^#bÉ?ÖX4SݱHŞ®{2cNe3ĺŐ±­ŻŻŠ˙üÚ‘X˝őÎĹۇ†0…ţůďÝ+^şąo{ă˘Ř}˛ó:Ľ“§'pü$˙>ůÎ×,Äő×ô6~đńüŚŚ†Ĺ°}˝U,ż¨#t/í[6oŕßď:+µx÷}^[ś[\Ľ!ţcgvxŻŮmü8H0_q5_ŚE„ˇÝÓI1ľ“~ÎRŔ´ś·ŚĄ%ęňw Wpű©9Qâ(ś¨¸”ą‹YŠş°®{ľĽçĎy‚Šąö‡äZűľ«·Ż›[ŢCß|÷žŤ•?=UĂ~z+¦&ů«Šmzş†oÚ÷ÇRľţö_Ů#ĎźŤáćĚíĹćKÖ`Ăć•č쌯4şíűqp÷éFyN{V®^ęţ‰¬î_˛laǡ=§ńđÝĎĆž;?h\şl–­X„ŽŽ¸¸őéo=Źçý{ů`¤ÓWŽĐĹyĺ’Ęfěľzč?·I1eŤ]-ó‰RWNŇ2trŇU—NNČź»1cíjćŐBĆÚŰŚ…^.HĹ%äç“ő9ąŤ‘¤8Q;O¬ú2Â5ć~ąĹDŹńÝ×yx+°j Ľ#›w7ł|'’8géóŘs8=8…®ÎŞűĄ‘󀫻ZÁ_µ(Vë÷vťĂg<†˙[_Woąqîş!|đ®çáÉýc®čĄţ+2^Ă7/ďĹţ“ăřçďÇŢcÎRÇ5\»~.~ü5«1ż/üńqÝş^ôvśĹŘLÍćUqŰĺĽRčí7Ě‹•ëÔôő§Ná›ŰÎÚ\§±raŢ~ÓRܰiÍŤ‹>š ^ż×¸>Ż^?{x›¶¬čĹ 'Ćđ÷ǧMvĚőćâ'_· ć„Űtý@˛·ó Ʀ˝/ťň—őWđş+âż·orţíűÇńđŢ{Ű®ge>đĘĺX»¤]ś>đţ}”ö|Dź˙LîŹú(7Ýśiç\6.â“[9|tqQźĄţ"ŤĄv’`D,Čťo;Xś:|â@ěp˙ś,géTó~­µűů3řÇ/îňEÍsöeöC·Ź}č ¸âŇŐî»¶||/ţüďîÁ™sĂž°ĄÚcŚLâw˙ňa|á˙» sz;őňlbŇye]7~řŻÂ‡Ţwz{ĽĎűÇžy˙Ł/```Ôş«”XřçŻěÂ{Ţx‰Í— ž,(7źůŻÝ«y"”\˛i>ńó?Më–5p÷=¸żţGźwż8tWm±űjűsg°÷ŕ9lY·PZďŔůQ7畎NĽôÚ͸沵čéîÄůˇQ,śßKâlD,ůÇ‹>ŁToD,b\&LŔ©ěb¦Ľ3"®n˝=8vb?q·ÜŘ\’ß‹Ľă®Eř‡;%}­l¨ żă»íŹËĽsI,ěÁGĎŕ _9bŽL{uôTđ¦;VŕÎ׆_řö;ă©íCîXÎç׎Ýxéő CgE•Ź»÷řÎýáꕝv[ř?ląxSîűţyç­ôŮQ©aÝľĄyVµĚ¦ĆDEÍ#bah÷tRŚď¤źł0-ç­„"âřHcL˛­źÉpLQ`D,ÄöSs˘ÄQ8Qqr5j]˛`tĘ~ ÜŐŐ˙‰7ă寸Ňý|ś±ź{~űOâź˙é›ŢęÝúľóĺ=řŃ_ş9TŢSß?„ógFceŻXąďzďíŘĽe ¦§g°őé}řÂgżˇ1¨(Ź MbëCÇ+• ŢţîŰđú7ߌŞ˙ĂĎ‘á1üĺź˙;žÝy „ÝöĐ!¬˝Ě»¸âúuxýmŻt·˙7>…űĂ?ů课W^ĺ˝6ilz {Îît·'ÇgÜ× E;ďeݏoĎk0oÁ\wtt_˙ĘřÖÝ…pŹÝý,Ö]yŞţódűďŮGařlĽŻ–­XŚ·ĽëvlĽx &íľÚµuîţÂw0r~LÚOeŚ]-ó‰RWNŇ2trŇU—NNČź»1cílFČb¬M-ţ‰­ĽŘdźÄˇ,—»“…”Á©¸„üb˛>'·1r€—C;›xzÇÜCâ__>ţÜyüő7ŹŘƬ±š‹s3ŕü*ůÖ-}XĐWŤá˙曇]]43:Éđoß?ćŠN^yyóÜ⹸zUž:4!]áäÔ ýĺÜżż€ĆŰěpŹ=7„±‰řř;6…°Î*'ë—t`×qűá űk2ŕęµ]˘öŻß{_zü”űëm§Ě}ÇĆđG_>ź»s n˝tdV«‰{<, âăNžźÄÇ?÷‚+6ńĚÂ#ű†0j·éwŢoÓĆĄŘń˘óŔÓű…Üí—öĹ^ůäÔô?żřž90ěŻÜcáń燰űčţôă˘ůń/ ëŻ`r8[śňŇśŹčóźÉýQ#–9vÎeă">ą•ĂGőąQę/ŇXj'ąFÄ‚Üů¶‹ĺÉ'đĺoďµwÂçá_˛Ńű¬ňí˙}i—}–ď‰XÖ­ZŚżú˙†9ţ/Ýş:;ěkWăâŤËńźýkLÖťUér_3t÷w^Ŕ{îĽDŢV«Š·ľń|ôÇî€űą23ćÖyÓK6áO~ó‡đăżřwpöißzč Ţţş‹‘›%ěŢwżń*ÜpÓ­8xä,>…#ÇĎá÷~éX¶xžÝ$»=lĆ]‰ĺö[ŻpŰőČSĎů‘–»ŇĚŢľEZŻ…žŢ^üďß|?nĽfcîťĎ©aČŁ“~píB9ObŤEźQŞ7"1.&ŕTv1S^Ť ´î®÷÷?żú"n¸f‘ý]S rĂ5ýxäÉ!ěÚ;ĺzEî}¶w_őŇkçbţĽđcÎ'·žĂ§ţeheÔŃq†Ďéć÷wŕÖ—6E4‹vâĘKúđĚŽ!·Ţ­;ăB–‹7ôâ»ÂůI‚łbç–Ťs…Ô¶lěs1–/dYż¶ŐđôČ‹c8sn Őj—÷ĽŔin䑉ڭÂDEÍ#bah÷tRŚď¤źł0-ç­Ö±ëäÔĎd8¦(0"bűŁéNŤŁp˘â4ä.jÔşdÁ*čOüÔ]¸őĺWbÚľßšžž´źYváőoĽ“řěgî aŹîŔéă#XĽ|NŁěm‰•ądÉ<|üw~ýóšŻo˝ýu×cÓćUřťŹÚ¶)Ű˙×Ů]Ňĺ.Śž®áč‹§qüči¬ß´wţŔ­±yŽLŹ8ŃčťÓ‡wĽçvüţo~:TΙ#Ţ}ťÓO3µŚOŹ7ËçT:>ăů'fš¸g?ŠŃÁ‰ô%7^Šý©·¸ĺNĚL¸˙öôv»Â–ˇa<ň@s•áqyö”+f©×»÷Ńx_-˛ďwá7sűű¸—ß~˝ÝŢUřßźŕ÷UYcWË|˘Ô•€“´ ťśtŐĄ“ŠĺnĚX;š˛kOcŇÝ¸Ź‘Š‰9”ĺrw˛đa‚€2¸ —źCLÖçä6FârhgĎBOüUqçG§ńWß8ŚéZ•Şó€ĎjĽÚČ7¬Źż~ç?;á˝ţ xu‘űÚ ŕ›[O‡„,Ž]µ¦Ouą0Aç~kŰYWÄR©tŔ_„Ć]yűáQ=;ŽU‹Âż&[ĐWqî<ŔlΊ(W¬Š?Ôs„$w?yÚk—ózżc}óO÷Ă˶Ěw—~äYÚď2öŤ­g\‹ĺÔď~Őe˙gÍ`ëÁ93ŽŐ‹ămň–yv*Öp5çtŹí;ŹgěřJµÓYî»i‡ĆgÜUZ>ö¦µq"˛ń–â|Dź˙LîŹú±ÜČÁ´s.ńÉ­>ş¸¨ĎŤR‘ĆR;É 0"äÎw¶‰XŽť‹'›Â†©éNžĹw;‚/~sfĐkÔŰŢxť]¶ăRzú¸ýaľ-úÉ~ ćtĎ€Ťě¦G˝/•:ćaăęŐxënŔçď~´ ®tă~»>gő™9ź?ńľŰí§i'Ŕ&ގ!¦éčÇŐ—lŔM×nÂcO?čŔă;Nć'dI‘›Uk6bŐćeŔM3öőÄĐ.űßŔűĂ; 3ş|łýąn¸¦®×î§źz˙k=ËÔ Ý˙ĂvýE #4ŞMËC‘ô‹hĘy‚{aŠXĘű”5"1.&ŕTv1S^Ť µ®®**ÎçÂů|íŰÇń¶;W†üď}ŰRüîźpEťµĹ[Ńý×ĐľäĘř}ňÝßx±ńz@o5U˙łÂ>ôíďť Y»â’>wU°}÷°űCŠJŕţtóĆ>÷ó»ćŻČ˛eS_(~Çîó¸ň˛ůîöĽţ\´¬'OM»«ąnáĽVčéŤ{}—VĹXB{…Î1.őy+BRGčç,LËyËXZ˘.‡©p·?šîÔ8 '*NCîdF­KÇł•+—ŕe·\ŽŁCűq~âŚcaQĎRÜńĆ›đĺ/=±Ń°ăŔžÓ®Ĺ){ld'ŹĹĘ}ë;^…î9U>˙ś':±˙ëUëVă¶×\‡oăq>WźpOw7.ąň*ĺňf;ŽŹĹ©ŃăŤNVíű¸ ‹Żn=:4Ń觉łîźłËX|%îăĂG1}ć\‡ÓÎíńW żń-/Çٱ38:|S5ď—ŚUű~˙˘ľĺxĺko Y;b÷ŐÚ+/r·Çíľ:{,ŢWwľíUčě«âą»Ż¦Ľľšß=+׬Ć-ŻľßűVĽŻĘ»Z楮ś¤eč䤫.ťśP,wcĆÚŐŚĹXŰ›ňB‘%Śc ?â7’ݸOȇ Ęŕ‚T\B~1Yź“Ű9@ŠËˇťM<S—±§^ôD,ŢŻÔ\Á‡óĐÍY˝Ăľß°,ţÔ˙ůľ-HbKí‡jÎŻĂĽ_}ńY>3áŠX¬Ş·"Ś'ڱ°Ůß!Ś Yz;Ľ‡yŢâ%5¬Z_‰äńçÁśşĹŻßYnůÜř´ű ŁËVĹ@F´Q› ŁžžtE,•寧‚šMĺعɥŻÓrE9–ĺ YÖ,Ž·éÁ=çíň:}ŃQŐ­şâ¬tcÇ<ňü°+j©ȧ=Ńç?“űŁ>F,7r0íśËĆE|r+‡Ź..ęsŁÔ_¤±ÔNrŚąóťŤ+±|ákŰđ…Ż>Ĺw:_ UÂbŠ;oż/˝z)ب'dyţóJ8+ô!ă,|ËőkÁFöÁ]aÄĺc˙MťłwÇpŰÍ—†…,věîÎ+?«6ŻżČţüµÖŤ ;¦†ěŹçqë ‡…,vFöż8Š\,enŘÄI—ŻóZ%«Ňă®HĂFbxxÇNŹŕÔŮQ91„§vťÄOžtĹ+A«ˇ“TĎk_~9ŘÝ˙Ó͇Ş!aD,ůÇK±fD,b\&LŔ©ěb¦Ľ3"N„é¨Ö€ÁđŤűNáÖ›cŮ’ć}îâ…ť¸ăŐ q÷=§15SVäŤ;†ÚĚ ÷µ=źřďW ‰-]ŇŮHęČč ž?0‚‹«®8ĽćĎ«b`Đ»>¸xcSČrâÔ8žÚz¶!dqýzpâÄ ËrÓ†ŢX}[w y"fKtŻĐą ĆĄ>oEHęČýśĄ€i9oKKÔĺď0®ŕöGÓťGáDĹiȝ̨uQËÚŐ×lı‘ś8Ŕ1ś?é>[˝üňőxň‰=ˇs'Ćĺť>_ŃŇyÎyŐuđÂŔnűôtŔ™™S®¨ĺş·p…,A’3öłĎö Űľ7ě˛˙z:z0:=ŠĂ/bđÜ8FĆíÇÜú÷>ů"§(âgÄ99yx †ý_˙’Ř虦hŕ8żŻ.˝vvźőűĘ'prô†§FpŐő[řB÷Âçť®şp’–ˇ““®ştrB±ÜŤkg3BcmmĘ –0Ž)üßLHvă>!&( Rq ů9Äd}Nncä�).‡v6ńô ň  ŚN{b‹j§ý0«ĂYĹsÔf0§ÓBOgYm^oާ“ÓpE,_óÓśXËčľ®¨{ý‘cGÎNşmj´Í)ŻVĂLÍ~pWcxńěDLČÂČ^»&gŕŠXÜŐSś69ż°'¦á¶É-ĎnŹŤ™ŰtwÄű~˙© o…żLçńŁĺţJ›¬áÄŔ$V,솒rŠó}ţ3ą?ęcÄr#ÓÎąl\Ä'·rřčâ˘>7JýEKí$7ŔX;ßYű:!÷sÉŠCŐ_eĄé»üâ•řŐźý°ÉŤcÇOŹĹÄ-ť‡^ë "– ŐƱaEä‹(›îř$ĂąÁq,š˙ÍĄd˙­ZľČ[‰%ëÚĚV-‹Çž9? í–%73“îßŮÓ'đőďďÇcŰŹăů#8y6ţ^p«Âů쳪 Ř’>ű‹˝‰Ŕ/ᜍ%˙X#b)ÖŚEŚË„ 8•]Ě”WcFĢŔÉšmVIq^'đĎź?Ś_üéÍ!Ě·-ĆŹśĹĸd5.çŐľ÷ęëłď“»łß'÷Ďń“şż.·ůmÝ9˛8¶q]žÜ:ŚU+ş0wNósmßóCxţ@ř °MëzńŔĂç˘Ř´>ĽzËđČ4ž?8n÷AgsUŐČŻÚCfD,a´¶ą ĆĄ>oEHęČýśĄ€i9oKKÔĺď0®ŕöGÓťGáDĹéĘťŔ¨uXFÔ-ť±4cÎŚťŔ˛ĺń×´Ź 7ďeG㟣óçĎÁXĺ\HÄR/{|zsőAĹ×yö;:5Śűďŕł§±÷éc8yxgOŚ`zj*ł"ĺń¶yőÖmlt“ăň;)61Ňě‰áxyóěľŔąĄÎctj ö‘ř–:ďtŐ•€“´ ťśtŐĄ“Ęí'cĆÚÍŚĹXŰšň˘‡%Śc ?â7’ݸOȇ Ęŕ‚T\B~1Yź“Ű9@ŠËˇťĘ:IVAĹyE#ЍÖ_żăŚ ťz®L:ëďć–\é8Ş~ËŞy<1Ť»"LĹ{}çë §(wŐËŰé¬Ć1ăS5ŻmVŐ ’ĺŠcś/ ¬Ę Ć&3¶O•§ú˛ÍîJ7Îż˛ęÖ-ú×íyÖ]ĺ…3<á‰cŕ dĽ™ÎĘ5Ž0Çé?çC+ §lĄ8Ńç?“űŁ>F,7r0íśËĆE|r+‡Ź..ęsŁÔ_¤±ÔNrŚąóťµ"Çě/P•ŻňᬊőŢ·ÝŚźţŃס“ť $Ƨś/ŽÂ=0·Ż>/,oNW`ŮćÝ Ć'řŃęĄ÷v;âÍ)N¬g}]qŃĘä”čWč%Ď÷ßľţ,ţús[1>}8Y_ŮĆ˙•=Q´Â3kj VŻ‹¤\D»P΄X#b)ÖŚEŚË„ 8•]Ě”WcFĢŔQfwżią«s>»o?~7߸¨áďě°p×KńOź;$,ĂÍ}’ęÖđc·ÎNËçć|şT°mç ŢqWřnnÓú<ńĚ .޶î}aűŹŚbr˛†®.ŹĎć }îkt—-é ‰^Űj—Íj–}Yń??ŤĄ¨sSČpŢŠÔ‘ú9KÓrŢj]‹¬~Ćó!Ţ^!N’űRęňw WpűŁéNŤŁp˘ârČ]¨Ľ@˛şD‹‹ążË€Ü¬Ž!'ç¬Îłâ˙Çz§J-ţ`o_7ÎO4 ‹–0QŻ Äž?;†Żýă38~`�iM8Ƹé =÷Ę33µFđúŞ»·Âq2~_µĚĽÓUWNŇ2trŇU—NN(·źŚkG3BcmiĘ‹–0Ž)üQźäĂŠ'äĂepA*.!?‡¬ĎÉmŚ ĹĺĐNYťIŢŠă-é[XÍ×ŰLMńYüâ?=ëúť‡ĚjŠTĽ*†ĆűEíňśw‘ĎŔ&»crżŹŞxtśŻ‰µ…#>™‘´ĆŻ‚3v'9wisş;ü¶y_r1WÄRóę±˙úzŇéE±ú/ëÜ_ď»ý_Ü®8§Ţ&§‹&k|OWŐľůł\ü_Ňy Š»<tO§¸MîŘ -sĂX±ČŹ..ęsŁÔŹôçŞÄĆR;É$ŤąóťŐ"9Ż+×ß‹u«–ŕş«7ŕÎ×\5+ŰO¨FÁFĂ_†őôÄ—ů±D1ńC±á!_ä˘kźď{â+Şű÷ü`ŕWÚś¦Ć—1îꢽŠ'wóů~îž=řłö_ĺd^hŮ7^ÖŻ^âöűU—®Á“Ű÷ăžű·!•Ő?Š!aD,ůÇ ˛Ő™ĐŚEŚË„ 8•]Ě”WcFĢŔQ§Św˙ęß?U:đą/ż«.ź‡ąsšŹ*oľaîţĆ1WŘŮ«°z'Ű˙›ä˙ňűWo›}ó~$Ň<Ł1˙Ď»OönÇ*îŹfjŐćj1¶ăȱIś=7‰E×ć:+«8â”-ĂżŔŢóÜ0jö=ăľýøâ’yî±uŁŻ×ÂĆuü× ŐďëýÁź/ᣭ4_ŚE„ˇÝÓI1ľ“~ÎRŔ´ś·ôX¨ç´­źń|·W“äľ”şü¦ÂÜţh^Să(ś¨8Íąëä<ß87JŞËyŐĎŞ2ř684bűú¸ś‰Ĺtwu58uuĹ_“>22nćM sr~x< bťÓľđĂŕ™¸ĂyFş|Ĺb,[ľ«×-ÆŤ«đţäsŇňDíĹôtóď•űŹ? Ępl Ó8#îvwwĽŻĆFÇ1=3‹«o‹úŠWWáóNW] 8IËĐÉIW]:9ˇÜ~2f¬]ÍYŚ]Pýů$¦*—»Cňa‚€2¸ —źCLÖçä6Fâ4·SĺłdqÜ`˙Á™»řEŤźÁä´ý/đŠç¸óúššű€®ÖqËf¬1–_\}QďažÂ,Ođáľµˇţę÷8¤ţk„óŁ3X˝(ě[˝¸Űó…1üµXś×,–ż‚§ŢŽ´Ćę‚WŔb5’`Éľ c^ÜÝ÷Ľ|.ťß…“#Í_á;ď7÷ʲܼ-îďkD,©ąOnĺđŃĹ…Éă2žŹ´Kí$“4"äηD,ýŕëńţĽU ś<6;<I—/éŹAOśĨýP®Ż‡ţ~áĐąX[»»;°`žó%UsĹ•h˙>wđTŁ^žíÝ:vlńÂţ_ž ŹN@dĂăČl~˝“S3řż˙ľÍ°Tś‡†^ ßôš—ŕ˝oąŻżČűňĎ·˝/G&S #bÉ?ÖX­Î„fD,b\&LŔ©ěb¦Ľ3".é” 9FF§đą˙<Šľ]Ă_©XxÓë–all&&d ÚČčth%—‹Mćä©Iű_oUŃčK ątďÉś•C˝ŐEÝŐ6Ý{^ćrŰşkŻľuI#rÝę^űΛáâ€eph/žtž»ö 5„,N1›Ö÷býÚ°e¦Ć°}÷pCjD,(x.qş ížNŠńťôs–¦ĺĽeD,B\‘uů;L…+¸ýŃĽ¦ĆQ8Qq9änţ‚đ«ĐŰąő^ý¶uÜqËŰłíD,¶«łÝ}¨±iéÜ8zř ®ÁR.'góȡř}äĽ�×ţůq1ĺĐŕ(F‡&Ń;7,ܨ}ňZś±ő1Ëűţőť?ôZ\}ífôőő4ĘU–ŢPăzçôş?üś ÜŰ× K—/BŐ]Yś‡ř|ź™°źxB–ľ~Î]ěľ™D÷ś.ngŹŞů˘„y§«®ś¤eč䤫.ťśPn?3ÖΦgíMcĆfE?b>‰©Ęĺîâ„|   .HĹ%äç“ő9ąŤ‘¤8ÍíĚäKrÁácťß‡8ţÂĘąYşlM?¬j‡ű*˘ŠýoĄŇáţëëěěÄ‚ţn˙xŐóU:üŐV,BĹăQf‡ĎÄżX»aă\Tś7+¸‰®‹lĽí%ýŘtQ/ä\ŇůÄ úxśša8u>ţÚ‡k×ö5Ä;ľ^&Ă%+z0§»Ę+6Őů>˙™Üő1bą‘iç\6.â“[9|tqQŹE©ÉN)™ŚĄv’I rçŰŽ+±4ÍYŘ~53 LŢ 6~ĽIşiÝBtw…+ÎŇÂ>uTXúw;;vůĹ«ěĎ·fůĽţ=ufŰ÷śćévÁw?;ľqí’ß9˝ń_=wđ D¶}Ź>1É®çĎ`hĚy ĂÁkáM/Ů„ßţŘ۱eĂrűČŚ×ç“gŔF퇚çĎ"µ)†„±äkD,ČVgB3"1.&ŕTv1S^Ť‹—xĘř+˛Xő{T«?1€]{Â_Ý|Ă"ttČÖ8őD)ŹŚE‹ÇĄĎo–_é ýuÚ_~-ßÓ¸¶\ˇfĄ!®qřáYv†ůtvVpŮ%}ˇUZ¶ďtW>­ ę T‚Ʋě{~că¬QCóŐBÍf±H+…Í× 8Uą4"†vO'ĹřNú9KÓrŢš"–F%śqŰf_}[’űh[ ©Ëßa*\ÁíŹć55ŽÂ‰ŠË)w›6-CÔNžÄŁ÷—aŰą“Łxčľý±Ř ›W„ĘfŕÚł;^ÄÔÄ4—ÓĐůqzáT,fůĘŤíe+úC?8pcíNÚ»5,® Vżďiń}dwhOü~ď§?öxŮ­W˘Ż·ăÓăśŔÉ‘cŘslʞ<QűE¸šýßšőËĂĂ˝Ź~»NďŔ®3ŢßÎ3Ííí'·ă‰Ozű§=ßsçö6Š]$č«ŰOÄyřۇ¶—óE óNW] 8IËĐÉIW]:9ˇuúɱv4#d1vAXôC ć“8Ş\î!Nȇ Ęŕ‚T\B~1Yź“Ű9@ŠÓÜδ ˛>ç™ĺŻ„R_ÁäɆb·żô"÷ÝÚî8WÄŇéŠXś‡roĽv1ţężmÂ˙ů‘Ťřů;Wâ-öŔŐ‹şŻö‘-Ż’FÄbůeî8WŰ/éďÄ]×Îłď6jŢ뎜ĄśÝ«Ż>đňĹ®ČEĚ%ťOĄ,×ďw‡Ú®Łń6˝ţšX8Çţ8­1·=ÎŐdÍ޶ěßő˛Ĺ’‚ɇ“Í #bÄ">ş¸¨ĎŤR?ż¸|ŚĄv’y rçŰV"–©ł`OEţžÚ6˛lâ}~Ž+UvUgpëŤ["…ZřżźŰŽ‘±©XuűźÇ—ď{>vü¶[.µËťńŁEVÁź˙ż§Ü•M˘öĄ{źĂó‡âďżéšµ!ľKĆřř¶Ăxz÷ÉŘńǶÇOBZ›žż^i`xĘ_‰ĄiΫ„\áĘĐn°óŰě÷ş"–‘ăx詇Kţ±FÄ‚ěź; j5"1.&ŕTv1S^Ť‹GÉCÔ,XM1‹Uu…#νě?á¨ű*ˇşutT0§O˛ ´ż˘ÉÓ;ÎÇ\oyă T«UW¤âţ¨Ă˙q‡SׯZ†?ű˝Kń'ź¸?óÁµxóK°jyos•÷_ »÷Žbj*ü™xű+–„ö·íj_Çůˇć5Ħ s°nUXČňĚŽÁF }ifD,´¶ą ĆĄ>oEHęČýśĄ€i9oÍ"‹ ľŘ6#ŕˇ<V`]ţSáŠäć©qNT\Žą»ęÚ5ÜWż~ý »ń˝Ż?oß?Ĺ>yq`ďYüăź?†±‘řănąĺ L×fâ"6:<ďÜ˝ŹËéľ˙Ü»oslóĄ+¸®ľ*Ö¬Ť‹pţĆsś •çرç±ăQţ}d79żŻ]|Ń||;N?=gwŕŔůçplř(¶=¶O^^ 'çfdzr&†›®Măę.‰aůú.ŚMŤąBš1űoÜ˙s¶źĽo7ţáă˙…üíŻă«źzŹŢł'^<ÓŕŃŮ[ĹĘ5ńľÚfßŻŹ MĆĆÉéCç±ď ů=wáóNW] 8IËĐÉIW]:9ˇuúɱv5#d1Ööýů$¦*—»Cňa‚€2¸ —źCLÖçä6Fâ4·3Ü4ú%¬ĎĹđ'pt}w÷ F&Â7 —­ęĂĎżq–Íëj<xs–QĽăęůxű ]̢ą¸Ţ~öŽ`n·'b©‹d’ňšŐ|UĐÓűGp~t:y÷Ëă·.ŔĘůUôÚ÷›–TńKoXŠ›6ÍM]mrSŚGžŮmşW|ąČľ® >ńÖŘĽ¬¬VCÍţsVíüč‹qíş>rńZ憱b‘]\ÔçF©ź_\ Ć2ąëfD,Čťo{ŻÄB©3˛?3ŽţÁ[P >-ł·ÁG~ç^<˝ë¤+<ťÂ7żůÝ{1ůh[´`îşýR·pů§Ş…íĎťĹG~ď^<ąó‡'qčŘţúł[ń‡˙íŻŕĺĽóűµ7o »rËEśr+řŮ˙yţöóŰđč¶c®€ĺ“˙ň~ţďw_§ ˛î.ţ«żű„·ňŚóúÇ/Z€čúî#;pĆůuÝLóWđçÎŹăWţě Ť_y”ÖŚ%˙X#bAöĎť$ĆĘЧNŹ 8#b‘Cż* ź,ş•"T%Pa¬ŠżjJ§ĎLăîoPV náÁGĎa$ňĄÚ%›çâg>¸Ë–t6€Ľć‹đođÄ( tâÚ«úńÖ7.ÁÜľŠO ˙Ç LM»÷…WYąîę…M6x§˙š ‡?łc¶ďlţřäĘK硧'üYűĚŽˇX&Ü,&lĄČQÔ|1"†vO'ĹřNú9KÓrŢĘIÄBGiŤÉ¶Çĺ±ëňw W$'Î8LŤŁp˘ârÎ]ĄgozÓMšóc¶o}y/ţčWîĹçţîiWŘňĄ˙·ő»ßÇ?üéŁ8;‹Yşl^úĘ-vŘ»ď�îţ—í8qtcö˝é±CçńE»®ťŹżĂn޲ó—u7Ę·ďŐ^ńę—ÄpCçĆńoź|{ź9î Zíýgľ˙ţWŹcfF>Qď‚óbÇďľç>ś?‹ćÝ4;9Ů÷Ô1<ňŤ}ňš˙ ·/ţÚůíŹîw_ď3=1ŤáÁćësŻ˝e úćô„°Çž?‹o~ú©ĐkŹj6‘ťŔSßxÎÝÇÁ'đä=űěr›âÓŃé1Ľě•ńľrđ÷üő#8dßk;‚–a{ďC‡pď§GMŇW…Ď;]u%ŕ$-C'']uéä„Öé'cĆÚŮ:`ĚX[ôC ć“8Ş\î!Nȇ Ęŕ‚T\B~1Yź“Ű9@ŠÓÜÎpÓč— ˛>4Cś\ÎRÇ#“ ÷íń±7­ ÁŻ[?Çý;3<ŤŃ‰šűŞžŢ®řX[ŤáŮăΗKéD,Şľ±|Śs˙ů‡OáCŻYĂ˝áęyî_ÔǦ1Ż7ďŹ&ĹxŚ÷KÁŠŰ[[Ťbç‘\±:ü‹ř5‹»đďZaóźÁÄ4ĂâąŢ+”üńQ±,#ľ#ËX”Ć2bą‘iç\6.â“[9|tqQźĄ~~q%Ëä®›± wľFÄÂ;XĂ›úń#ďzţásßk¶:±ű…łř©O|Űí7Öü0vž`6aöîoýüŰ0·Ë~8©Đmô÷÷bx¨†­{NăĂż{oŘiyŻü ÚżăĺŰ= ~Ľw٦EXłj1 ĽNČţâlrz ˙Ĺ‘2+xĺÍ—ăGĹË8;ÖŰÝůóúp~0ĽęŘŻ}ňűîgŮűîĽ ýˇk±iÝ2ĚéíĆČXłˇ'Nŕťżx7®żü",]Ô‡SöĂÂGwŘ÷ěŚVUţşŔ¤fD,ůÇ ˛îh6Őýę~'ćĘ€3"i1ôˡňɢ[)r@Ĺ©ň Îóąę­~ gĹÖá®ŘyĎ}§đŇëbőJĹg‰ż˘‹}j>˙đo‡đ3Ü‚\sEżűwöÜFÇkXĽ°˝=ńűä»G°o˙¸ËĂą§usďŻăĽ^čęËçq)<`Ä®›ą«É8í°oٱu× ^ţ˛E\üÉÓ8~rĘ®¦Ë_÷3°Jޱ„ŃÚć‚G «ŔĐîé¤ßI?g)`ZÎ[FÄ"ıëňw W$'Î8LŤŁp˘â ČÝđä�~đťŻÄöíűńÜsqÉŘČv>©bvuvŕŁ{;Ćjçąś˘6gn/F†Ç°íá#îźĚśĎŻw˝÷v›kó‡xÎĘ%·Ľę2|ăkŹâô©đ* çNŽŕË˙t¬śąî˝ë·Žz?mľd5žÝq0ä»˙K۱űÉX˛zž›“pćŘ0„Ći˙JűľsĎÎđ*'Ďm;ęţąţÍ‹p×OżÔŤ™ęĂč.üíź!„?´ë¤ű7wAşz;1tvĚ}=SÔ6]±ë·¬ÄŘô[žÓW×˝â2|çžGqöt¸ŻOŤŕţ˙ď«z~¸M+rŢéŞ+'i:9éŞK''´`?3Ö¦fVd1Ö¶ýů$¦*—»Cňa‚€2¸ —źCLÖçä6Fâ4·3Ü4úe‚¬ĎĹÍú.÷döµ'öŹâ?=É uDް‚'b9zvsďI°¤_ Ç@]ÄRŕwďŽóxtßyPlűˇa|o×95H=ѸRű+9˙sö_Gą+Í86Ż·ŠĄýŤW$}öˇ“Řwl©x˛lcQËĺF¦ťsٸOnĺđŃĹE}n”úůĹ•`,“»nFÄ‚Üů‹Ä5q?ńţŰqű­—7:ç|W°RńżČ‚·bŠ{ĚëÍŠ}˛˙ČŹľ·Ü°Á}˝ŽĘ6Żż?đúíbş˝ňÝz,÷u=ŃWö\{ŐzüŘ»^a?™‹|.NŹŕ×~ćbË-[•nŻŚúŻ»íí•+–ăÇŢ}ÔVĂkn˝"~ŘnŻłËŽçN»»ÎăŢűÖ›Ăűšdht ÷?q_řĆ^÷_GÄRíčÁ;î|)t™±äkD,ČţąŁŮT÷Şűť+ÎX¤ĹĐ/‡ Č'‹nĄČ§Ę=ő{]Ë˝óYĹ?~ö°"Vă?W|bÇ<˝}_ţú1.zŃÂN¬^ŃͱĽx|źú×íOÄfżYŤ×YضSü%Üöúk…üűuf˙íxvÄý…>ĎžŮ>č_Xá÷'K­m.qş ížNŠńťôů˘€i9oÍN‹¨Şh[Çe6Xuů;L…+’g¦ĆQ8QqĺÎYedxú4~ă7~—]¶ilÎÜüňŻ˝ë6.ĹŔŘ)a]A»ý5×aőšĄ Ř]o˝ë.^‚‰™ńPyĂ3řéź{;÷ŐHQłěűÜű‰»¸ľ`?Ýüę+\ÁKÔNÄ·Ź`×#G"–+_˛Ë.Z(.3°}ÓË/GUňîůÓG9?=~W^1Ţô¶Wr±ÎĘ)gŹ qE,ËW-Ň>ňn»®jhśśźŔű»Ż:i}őŢç÷UˇóNW] 8IËĐÉIW]:9ˇűɱ66#d1Ö–ýů$¦*—»Cňa‚€2¸ —źCLÖçä6Fâ4·3Ü4úe‚¬Ďe‹˘4Bü‡[–˙îo«Úa˙UńĹÇÎŕOî>ˇ±i(9Ř…}˙Ůóř­?dăg",97nßXbŇő~•Şű@ńĎż~ßŢ.˙‚ďůcřßwđ°"ĺCi2X˛TřÝ_ŕ{m:=\ĂŻ˙Űó8|f2{dß >÷ýăJž"G–±(ŤeÄr#ÓÎąl\Ä'·rřčâ˘>7JýüâD»9Ëä®›± wľm!bÉ“ďĚŞÓ'ńżńüěŹÝa?°ň—˙Ż‹YŞ}öżÎźłÄ±×› ôáĎ>ń~|໯�FíĎ/65Ź~ůĂoÂ-7\jÝc–÷Ů˙öş«żłôę[/ÇźýöűmN§âĺÎŚâ†+Vŕżđčî ®`fąĺ¸ĺÚ-[‚OţÎĐß=Eâő“?ôJ¬Yą8tŘÇT{ńěaďőB3cřńwżo}ýőTĹĹX•.OSíBOo?~çß…kŻ\fD,ůÇ ůsGłI߉ą2ŕŚEZ ýr¨€|˛čVŠPqŞ<¨»/|v÷^ŻS˙áF‡űwŕđ8î{ढË{e®óyäÜŻYřň='đÉ˙ű<††i÷É?q˙ăĎžĂĐČLýĚX§ś97ŤŁÇř÷Űvű"ŇŞ+b©Řcă Ďíáâť× ÁÍQýßX"hmsAŚ#ĐU`h÷tRŚď¤źł0-ç-#b⢠ťuů;L…+’g¦ĆQ8QqçîôčQT{fđŰźřaĽ˙‡_ç S(ćśë_vËĺřĂ?ţI\~ĺz|ŢťmÂü¬Łł‚_řďďÁ˛‹ ËŻŘźďx׫ńŽ÷Ľ'FŽ„Ëł7ÎŚźÂÚ KńËżţ>,\4OZÎŹ|đMŘ|Ů*> @Ҳűácżň>,X ~UĽc[.]‹źř™·»Żö“×Řž»´ď˙ŕ›…b–Éńi žő~4謠rhđ�ŢüŻÂ‡áÝ\aMÔńÉŤ·\…_úí˙†Z÷4†&‡CNŤťÂŠőKń§m %}eŽżűGß„ő[VIëË}Ţéš' 8IËĐÉIW]:9ˇuűɱv5ój!cíi,Ńaî‹4VňÂŤňa‚€2¸ —źCLÖçä6Fâ4·3Ü´ŕU»÷ŕŚkÎŻ±ě˙,…X‘__…ťqż˙p®.?t—-®2<}` ?ű齸ő’y¸vĂ<¬[Ú}ťnčđř NNbçˇa<¸ç<ŽL»­ŽŠżü˛ŕÂŁá­®bYÍ‡Ś–˙K9ţ7őUK꿊óOÖ¦ţöŰÇqßös¸ăšE¸bÍ\,šŰ‰‰é^<;ž=Ź{ž9i{_dÍ›2‹Őxź9dâ+ZŽW6ăÄx°ć«…ŕě/üŽŘ2?úé}xŮĹý¸ýĘEX»¤‹ű;16UĂÁSăř¶ÝÖűv8ď„ĺtç•CĽaáK9yţ¨ŹËŤL;ç˛qźÜĘᣋ‹úÜ(őó‹íć`ő‘ËÔ0‚ rçkD,DŘř1W¸áĽÎç Żľ_ýÖSxěéç±˙Đ) Źą«Ż,˛Đmٸ·Ţx Ţxű5čéîĆŹÚOĎiő˛it±W�óµ{źÁÝß~Ď8ŃŃ ,Z8×\¶o}Ăő¸é%›ě2‡Ŕ†ůbH6vŘ­˙ĘKWăßżöyę9ś8u335÷µCŻľůrĽ÷-7cnŻ…#ű€b {§đĎţa|ö+ă{Ź=‹‡Oc|b ýý=Xł|Î ŽcÉ‚^T¦Ná×ć-xĂm×ŘüźÂÓ;âěąawĄ·‹–ÎÇË®Ýl×} V-_€oÝű şbE~Ś%˙X#bA¶:s0Ů=[ČEťpFÄ"-†~9T@>Yt+E¨8Uš~˙ľPxżľ/kŢó9«˛Ô`Ő:đ_=ŽkŻ^`wqÂëb÷ĆÓ˝×ő’׉­;‡ńËż˝/˝a!®ąb>Ö®ęĹüyťî—W##Ó8uf»ö á‘'ÎáŘÉIWŚY©ř÷Üţ°š«Ť:Ż Zµ"ü…Ą#–9xxÜö{«˘9wŤ5—›ó:˘!lŮţro|˘†=ĎŹą‚«ľ*Kcé·F űV &ŕT u#bah÷tRŚď¤źł0-ç-#b⢠ťuů;L…+’g¦ĆQ8Qq%äΙ%G÷aĺĽÍ¸ë^†;^=}äYlŰú<8ŽÓ§1aßGuT+7ż+W-Áe—ŻĂ-·^á®H2S›Á‘óű06="ÎÄěüĹ=ř_ô!ü××ÁcďĆÉ“¨Ůe-Yş�W\µwĽáF,_ą§GŹcdj(žűYćᡰů’KđúaÜwď“xňŃ=8rř$¦&§l®sqŮëđ†7ß‚5k—aĎń]™Sć™±“زáJüţźţ4î˙Ö“xć©˝8qě FíűçŢľ^¬Ýpn~Ĺ5xé-WbČľg®INTAĎ™ńÓ¸ů¶—`íƸ÷žÇ°o÷! śtď9űćôb嚥™šiän`Üţ,ďxW]·ż÷çĹíÄögöáȡnÄ-¶űę’+6ŕ†›ŻpWcźÇ g_`n®kŘ?đ.Ţr >ţGĆ÷żó$¶>ľÇŽx}Ő?o..¶szűť·Ř\–aDZ]¤vĺ2ďtÍ“ś¤eč䤫.ťśĐşýdĚX;áwíJśĹŮ–ýk öë•ŔżőżŞ¬ůs|Ž,˛rÝu7>ä80@{……±ö±Z­ůĺ·saâü}ŕ“ŹÇpÂs:Sřż™ěĆ}Läc‚€2¸ —źCLÖçä6Fâ4·3Ü4Öř׹°unf¦§P›™DmzÚÍ«ű¸®ÚJ‡ó0Ěţ«v4…#ĚÓŰ;qµűozÂý—ŐĽ_ąí::PuŢ—]­zK+×_?`Ç:K3{Ě37Ţ®ĎţsĘröëă?jîŇĚî/ĂŞ/GĚRńř¸1v3.Źi·MÎq÷WpŐN÷ĎáQB˝ŢÚôdďóâť‡Š®XĂćZ›™ ńtnžĽguţĘŠ· ł;'ś6Öˬ÷ŁÓÎŻĽ}ľµšS˙”ßgĚ볪Ç×YĆ-ĆÁĚLą˝_ł[ Śĺň ´iFĐ&çíŢ©ŁţÝ˝W÷´ăö{ó×ňV]ĚS.vű˙â[°~iřçGţá�Ž:+J»m ć8ĹXůŁ>F,7r0íśËĆE|r+‡Ź..ęsŁÔĎ/Ž»{đ/_Ńü…§o•J˛…řxźŻűx«:PőÁá›± wľí&b±ú6‘_DM›8ˇŚĄšŐ}нʅ+™ýů2z@(bąď‰łřµ?ý^čđµW¬Äß|üev;6Ří/.{ę»Ę‹Xŕ‰®E°z×6?s˘m­M‚Ť<çö»5/ňÚ ©ó¶ďů_8_¨őoń_ť5űs{`khó_c׿Bs>çţzΆ°kě¨ý-މp˝ ®Žqî)#b) ÖXčqëčî\>WücĆéP†>uzdŔ‹´ee‰r•1ź,ş•"Tś*őţeőűeűžlĆą/«Mą÷F®ą«®t˘ÚŃĺÝ›ú+“¸ňE÷^±ćΗP,›qŹ»÷îŠ-ţý§ł"ďÖéÜŻÖę÷iÓn9î=2ď>ąţ# ż<G\ćć=żĎŁ~č݇ú«Ç8÷îţ*2Ť™:Ö»ouç“Oîŕ=îŤ_”ý[Â|1"FqI<_2b ëĽU¬ĺ©ű^“Ëçę§żőúfµ‚\„¶%ąŹ¶•Épşęňw W$'Î8LŤŁp˘âJĎť…E˝Ů+PµŞĘ2ś8‡“Ç1ĺÜ« pßűâa|ďŰ;BqŻ˵¸ůŤë°vţtą«„rúÚ>prô(NŤ“椷s.ÖÎŰ„Žú«m9í?:t6×Ë—Ľ$ëpvž~:TfOÇlżÎ3YANF¦†ńÂŔ>lYtyżçgŘzňIn_,îY‚5ýëC7,AÜÎÓŰ1a?Ëúćw/ŔşyëQ­tđ»gÇĎâŕŕAĚ8Ďtădn×\lšż‰Ű¶:ćŔů8g÷ŐµË^ONąOžx<FÄ‚âęŇÉ ­ÝOÇţű72®k[°Ŕ{ćřÔSŹß¸:űA˙ß™Čó˙­ţXŕßčű˛ŁŰQ“ů\3+˛» Ś)äY$ů�áĆ1‘Opő2¸ —źCLÖç‰ÎZLâSrQÄ&îó0’ů«¦¸BćWĽ‡gîő‚ű�¬ęŻ^[Ž ‡óŔ«^–ëň†ˇâiú‚Żýq—Lv(ř!ŽüĂYşŘr9ËłZSČâük~ç/u\±4–ŐĽr«>?νTęb«!4©ż'Ü—°z=Ě»0ň^%ä?DtW0ađ‘éôę¨Uě‡xU÷aCŕwwîŻâ| [G•ÁďG«±<tsć‹f[‡Ç©ůŁúŻńśíŠßŚům ü6ůíuű'ب €Ş~ůÍ«n]v˝KćVqÉňn<ńÂĆ'}1‹˙�Ö Ő÷w`ÍâîPö'§^<?esě Ż ĂŇŹĹ?ęcÄr#ÓÎąl\Ä'·rřčâ˘>7JýüâD»ĺ‘± wľf%¤2W3yVçbűN©¨ö¸ź®Ů_Ś9Ż×Áôy`ę,¸BĺĹSÍ‘t-†e˙ąÂ§|§ěéa°ÉÓîj,Jł9˛éXÝK=qŹűKp;ë3öĂĽ©»'á 9+Ý >ő§Á†öxĺuÎ÷yUĽ2jăîu jSn�=äő‘Ăż:×öůAí˛Ž°‡Ťź˛·m] Őő ĚXňŹ5"d«3“Ýł…\Ôé‘gD,Ňb”•%ĘUĆ|˛čVŠPqŞ<đüŢ˝TĹ»'„÷ëi÷~. 揮ĘâÜżYőVÇ|!‹włí­PŠjHăţëÜú÷¬35G8Ró>{ýĎěú}&ę˙?«ţ«á÷Z¸—vžXľđĄęÝ?×ŰÁĽňěRo×˝omâ]ŽŹ´˝•拱0´{:)ĆwŇĎY –óV±"âđJmѶ0¶%ąŹ¶•Épşęňw W$'Î8LŤŁp˘âZ"w gĆŽăěřIôw.Äś®ůč®öˇÓůAŁ}Žw~8cß?MÎŚ»+¤ Ú÷O“ľđB™cŽMŘ÷yϟۉŽËŃoßguU»Ý皎(fhrgÇNŘqeNF§†±÷ěv,ěY†ůÝ mÎ=î+r¦ěűQ‡§#„›CŐâmĺ묳çě,˛Ë›×˝Ŕ.ŻŰ’8BŽŃ©ś?c˙ťőÎ2L]^}ăĚŘi›Ď–ö]„ą]ývżz+łąĺNʆVP«ÇťźŔöÓŰl.‹í¶ÍGŻťW„O„ăôá ÝWźQ»ŤÁ`ŹáÉal;˝Ëz—Ůýµ=Íľš±‘cn9•ŽŘx¶Q׼Ó5Op’–ˇ““®ştrÂěč'cĆÚŐŚĹXŰS85VňÂŤ^Ľ°â‚T\B~1Yź“Ű9@ŠÓÜÎpÓÂH毮âý Ëńuş¨ęqŢńćŞu1K#ÎIÔ'qlY5/®xWv…óË,WŻ\_łQsęŞ?ś‹üÚŚ9ĺůŰÜňüŐOšâË(źżź$·üŞ'ŕh,Ůě˝~Ç)‡ˇĂŇ4ęje*ľĄůz$wuË["şf“ŻTš_üYAᇳĺ–ěk_tă dŕ?xtú‘5ʱ"«ţţÔšÝ÷Uć>ĬϹşŕĄŃ&ćǢŢ׍VŰԧ؇W/ęÄ;®ďÇ%+ş°´ßűÝqx˙ç›Çq|`Ęoł×„őËşđ‘×]{§ëcĎŮ7Pp—®®÷k˘ąaD,‚XäŔGőąQęç'Ú-ĎDŚąómW }icŐ˦Ŕ&ŽŰO ůŻöŃ"�<f˙%Ž ZmÂî“#jĚŔS|_´^çKÂq»Íăǡ4ű(›–c&ĎŮm<'Ż×Đś ó3"–ücŤŮęĚÁd÷l!uzdŔ‹´ee‰r•1ź,ş•"Tś*aż…Ć+Zíű)GZsD,uahý‡V%$ q‹bőŘŠ˙?˙ţŹU?ńÖ@­4„.  ü8÷GćRi¬đâŽě�ÉĆNÜ×U÷­Ť×ýÔ9YŢýšS—Ë­Zqą4üuANŕžŃŞ˙°Ţ=hŤ5ŰíÝłVCmö»PŘ·Z0§j¨‹C»§“b|'ýśĄ€i9oµ™E’S–ÇeDdŞËßa*\‘ś8ă05ŽÂ‰Šk±Ü9«Ť NśÁů‰3ĐɉgÎ Ö'G^t˙„eř˛śĚŘĺ8Ż rţDeĚŘ÷iŰN=Aę§éÚ NŽs˙dśvźŮžhŚ;‚šCĺÎůĚ?=vĘnŰ©Du Ëłó{|ä¸ű'Â9–Ǐ=!Ż Đ7ďtÍ“ś¤eč䤫.ťś0;úɱv6#d1ÖÖĆFŤ•|€păČÇepA*.!?‡¬ĎÉmŚ Ĺing¸iŚës%Ş+pÄÎ#2W×Rf5WUi”R_YĄ±”±#Ęh.C‰ş% đUîǻª#T©Ů—gôâ¦Î%¸:K“óë÷1Výá`˝]ő•Ję˘_¸ă–[ux–§óń K ťĚőxľŠŰđ K«ţĽŻůŻ>p™/ ]ÜްXłá˝ĚÉ«®ŇÝ8"çˇűK7Ö¨§Ń&f…ÄHnLŐ ‰‘x4‘wfhWŻéÁĽŢfŰŻ\Ó‡żů±Ť8xzǧĐaÇ,›ß‰µ‹ăďqźś®á3ž ýr°ŢT‘ÉĆbĚő1bą‘iç\6.â“[9|tqQźĄ~~q˘ÝňŚHÄX;ßv±´J¬vŔl‡9ÇKţ±FÄ‚luj6ŮuL*LFś±H‹QVVd>Yt+E¨8UD~ď>«ćÝ“U*sĽŐXů¤yżĚCXăHR+ŞŔąÇmţ`˘)b©ßŢJgĚł8±đ_ďa×řqŻśz]¨ŻÜâÔď®ÄZ ”ááßsú?7ń_{[As=–ú=-BőµŇ|1"†vO'ĹřNú9KÓrŢj/‹¬ľĐ6#ࢌČLuů;L…+’g¦ĆQ8Qq­–;J])8‰¬P!Wb?‰p…Î'*®ČÜQęJŔIZ†NN­Ěľ~2f¬ÍYڵ­1…Qc% Ü8&ň1A@\ŠKČĎ!&ësr#HqšŰnű‚_pbc=áB‚‘ĄîţÄĚ% ¸úIśK¸n·*ć Z§ęh”S÷5… Ígžßsů;űę •Xśz]1‹óo5Đ?u>6űyJ™pL(.ŘNŔ8\"ý«ţŠ#¬łů&ćŠUĽW1…ëňúČ ĽĘ)(ĐńřybžŢ­‰at˛†?úÚqüÖ[W «Ă ˝~i·ű'˛é†ßűâ!>;ŤJgę™´c1ćŹú±ÜČÁ´s.ńÉ­>ş¸¨ĎŤR?$ç�¨Ď×…‘± wľFÄ‚ôF5"–|cŤ%˙X#bA¶:ó0FtS§Gś±H‹Ń›«ŚůdŃ­9 âTyű˝8÷ĽÎ˝Ş·% ř€Đku8YţŞžő×…îq\…%(>i®ŠRŹőô%±^Cý‡QKăďXőŐK-ć·¬ŮN«~¸mÜ_FęöĘjňnĄůbD," ížNŠńťôs–¦ĺĽeD,BS”9©.‡©pErâŚĂÔ8 '*®ŐrG©+'‘ ŤSˇó‰Š+2w”şp’–ˇ“S+泯źŚkW3BcmiLá`ÔXÉ7މ|LP¤âňsÉúśÜĆČRśćv†›ĆÄľş5ŢŤŔ/°Â>~}Í_kąb‹ŔC<nś(˙Aˇ‡_Žăk>ŕC¸lDĆc=ľ†¸¨Äâ<Ě ţj-ŔŰŤłř_ʰúj(AˇI`+Ç|uA ‡G˝­¬.$ ńő˘š}ĺdĹW? ôaóťéM|pŚ;ţťGĆđKź9„źyÝ2lYŃ Š={tűícxî䬎ÎĆŠ,ň~ î0ą?ę“83Ď &ńĄâ">ą•ĂG&ŹK|>’ř@÷i7beFÄ‚Üů Ň!ÖXňŤ5"–ücŤŮę,Ád×:\Wś±H‹QV–(Wóɢ[)r@Ĺ©ň ÎAý~§~ zźĺĂ„áÍUVXăGŕ–ŃbÄ6ďÜ ăÖŢÜ —ŁÁ8÷ś× _Tä˘"PÔ|1"†vO'ĹřNú9KÓrŢ*YÄBoiŤ‰¶ÇeDdŞËßa*\‘ś8ă05ŽÂ‰ŠkµÜQęĘČIfm•*ŽŔ©ĐůDĹéšwşęJŔIZ†NN­Ěľ~2f¬ťÍYŚ]8Ć9Ů \ 2މ|LP¤âňs1IąŤ‘¤8Íí 7Ť‰}Ü8‹ű ‰ çZŞü×W~a~[!Ź–•ĽĎ-Ĺ8€˙… đQŽGËâ´32ŁýJŹ!QM Ďéż>É¡3řĄÝŹKWtă–-ópéĘ9îë„ćöx«ŁÓ8;2…퇆ńÄ CŘvhÔ}ŻşU­z˙:Ëc#°jŹKc‡ÉýQS´Qp0íśËĆE<¸Ëᣋ “Ç%>I|Ľ8ŐŇeÄzŚąó5"¤7B¬±äkD,ůÇ Ę㛵JęôČ€3"i1ĘĘĺ*c>Yt+E¨8Uč9pĚĂdáŤ#-BLäţ3Ó|±$ĽCKhĺ5˘ć‹±0´{:)Ćw&›/–ó–±qLQFä@¦şü¦Âɉ3Să(ś¨¸VËĄ®ŚśdÖV9ˇâś ťOTś®y§«®ś¤ečäÔŠ9Á,í'cĆÚŘŚĹŘ…aś“˝�Â*ăČÇepA*.!?‡“‘Ű9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�ĺ>ťU`*Ţ{ÖťŐĄw›Ŕî#'ĽľŤŽ›úëĄě+ŐN7ÎŞv¸K\ĂyGĽS€RÄÄäţ¨/‡>Ď/˙âÁ]úxĚÄE=Ą~~q˘Ý¸O5t±#bAî|ŤéŤ›V�pűÍńŘ×^>836´©m¶ŤaB¬±äkD,(ŹoÖ*©Ó#ÎX¤Ĺ(+K”«ŚůdŃ­9 âTy ç@“]„ŹPň 3W®`ľ05&â(jľ‹C»§“b|g~ó…[”’ŽůBÉA\¬ĘX ćć©qNT\«ĺŽRWFNďřá—ă'>ô¶ĐńS#/âäč‹í•*ŽŔ©ĐůDĹéšwşęJŔIZ†NN­ĚŇ~2f¬ÍÍYڵżqNö¨Śc"”Á©¸„übLDncä�)Ns;ĂMcb/.W._.ž+ăxd/NĘ©¸4ü‚”÷xôދ·TtĹ}UĹjîk‡Â{ďZ·|ŃŠ+bq+qk&÷G}9ôy~ůîŇÇc&.ę±(őó‹íĆ}Ş ¤Ëő rçkD,Ho„XłKľ±FÄ’¬± <ľY«¤NŹ 8#b‘٬,Q®2ć“E·R䀊SĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD," ížNŠńťůÍnQJB:ć %IpyX°*#bšg¦ĆQ8Qq­–;J]:9ĆiV愊#p*t>Qqşćť®şp’–ˇ“S+ćł´ź˘ŤkC3Bcímś“˝�Â*ăČÇepA*.!?‡“‘Ű9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�ĺ>Ý× 1E–Š»Y±˙cVŐŢ®µZŁźëqîj,u‹+‚q,Ţ*,ő•Z„\ŚE‹|Çc&.ę±(őó‹íĆ}Ş ¤Ëő rçkD,Ho„ŘĚ€©°óO%ŹËRç,Š5"–ücŤĺńÍZ%uzdŔ‹´ee‰r•1ź,ş•"Tś*ô(`˛‹đŕJtćJ€#Đ̦ĆDEÍ#bah÷tRŚďĚoľp‹RŇ1_(9H‚ËĂ‚U Ôś8ă05ŽÂ‰ŠkµÜQęŇÄéŘđAĽ8tNł2'TSˇó‰ŠÓ5ďtŐ•€“´ ťśZ1'Ąý=hĚX›š˛k_ăśě.PÇD>&( Rq ů9Ä$ÜĆČRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨°ńč Pś>őD*Îż°s·ůqŽđĹÁXˇW Ią‹ ůŽÇL\ÔcQęç'ÚŤűT¨`3"äÎ×Xޱf%–|cŤ%˙X#bAy|łVIťpFÄ"-FYY˘\eĚ'‹nĄČ§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8âĚdFÄ5'Î8LŤŁp˘âZ-w”şJŕ4+sBĹ8:ꍏ"sG©+'i:9µbN0KűI€3f¬ÍYڵ§NâL¸Cc"”Á©¸„übLDncä�)Ns;ĂMcb/.W._.ž+ăxd/NĘ©¸4ü‚TÎx´Ľ/,_ÔR…ŰxÎGîJ.đE00"–řAž§ >ş¸¨Ç˘ÔĎ/N´÷©&PÁfD,ČťŻ± ˝bŤ%ßX#bÉ?ÖXP߬UR§Gś±H‹QV–(Wóɢ[)r@Ĺ©ň@Ď&»ˇäAg®8]Á|ajLÄQÔ|1"†vO'ĹřÎüć ·(%!ó…’*Ž8Ó§o›I|÷­Çuqx•Î)A?)qNT‘»´Ś˘ë*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9Á,í'αv5#d1Ö–Ć’ř% Ü8&ň1A�ˇLîN.HĹ%äçc’ r#HqšŰnűxqąr‘řpń\Ç#“řxqR.HĹĄá  RĆcŕ R|y ĽUZxć¬Äy™Ť&÷G}9ôy~ůîŇÇc&.ę±(őó‹íĆ}IÎG± wľFÄ‚ôF5"–|cŤ%˙X#bAy|łVIťpFÄ"-FYY˘\eĚ'‹nĄČ§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8âĚdL˛m+“ᢠŔX¨ś¨8"wiE×U§Y™*ŽŔ©ĐůDĹ™;J] 8IËĐÉ©s‚YÚOś1cílFČbě‚3&Ü‘źü™`D,„29HqšŰnűxqąr‘řpń\Ç#“řxqR.HĹĄá  RĆŁ,˙ś•Vq1"A,ňŹ™¸¨Ç˘ÔĎ/N´÷%9`FÄ‚Üů Ň!ÖXňŤ5"–ücŤĺńÍjÔé‘gD,Ňb”•É®KSa$8ÝJ‘*N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0´{:)Ćwć7_¸E) é/”PqÄ!¨Őo›I|÷­Çuů;L…+’g¦ĆQ8QqDîŇ2Š®«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćł´ź8cĆÚŃŚĹŘeL¸#?á3 ŔXerâ4·3Ü4&öńârĺ"ń%ŕâą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<f⢋R?ż8ŃnÜ—t<ćlFÄ‚Üů Ň!ÖXňŤ5"–ücŤĺôŻŁNŹ 8#b‘٬Lv]š #Á±čVŠPqŞ<Đs €É.ÂG(yĐ™+Ž@W0_q5_ŚE„ˇÝÓI1ľ3żůÂ-JIHÇ|ˇä€Š#A­ĆxŰLâCĽo…8F¨Ëßa*\‘ś8ă05ŽÂ‰Š#r—–Qt]%pš•9ˇâś ťOT\‘ąŁÔ•€“´ ťśZ1'ĄýDŔ3Ö®f„,Ć.cÂů źI�FÄB(“s€§ąťá¦1±Ź—+‰/Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"Eľă1őX”úůʼnv㾤ă1g3"äÎ×XޱFÄ’o¬±äkD,(§s6ٵBś±H‹QV&».M…‘ŕXt+E¨8Uč9PŔdáÁ#”<čĚ•�G +/LŤ‰8Šš/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@ĹQrĄŰo›I|÷­Çuů;L…+’g¦ĆQ8QqDîŇ2Š®«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćł´ź8cĆÚŮŚĹŘaL¸#?á3 ŔXerâ4·3Ü4&öńârĺ"ń%ŕâą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<f⢋R?ż8ŃnÜ—t<ćlFÄ‚Üů Ň!ÖXňŤ5"–ücŤĺôoÎ&»VH‚3"i1ĘĘdץ©0‹nĄČ§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8J®tăm3‰ńľâˇ.‡©pErâŚĂÔ8 '*ŽČ]ZFŃu•ŔiV愊#p*t>QqEćŽRWNŇ2trjĹś`–öSś1cmjFČb¬íŤ wä'y& ˇLÎRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨”ń$˙Ią‹ ůŽÇL\ÔcQęç'ÚŤűRśŹň4#bAî|ŤéŤkD,ůĆKţ±FÄ‚rú7g“]+$Á‹´ee˛ëŇT ŽE·R䀊SĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD," ížNŠńťůÍnQJB:ć %T%WyZ´­ŚçCĽo…8É8‹Žo¦Âɉ3Să(ś¨8"wiE×U§Y™*ŽŔ©ĐůDĹ™;J] 8IËĐÉ©s‚YÚO)83ÖŽf„,ĆÚÚpG~~—}� ˇLÎRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨”ń$˙Ią‹ ůŽÇL\ÔcQęç'ÚŤűRśŹň4#bAî|ŤéŤkD,ůĆKţ±FÄ‚rú7g“]+$Á‹´ee˛ëŇT ŽE·R䀊SĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD," ížNŠńťůÍnQJB:ć %Tś*WÄ!šÚ˘me<â}+ÄIĆYt|3®HNśqGáDĹąKË(ş®8ÍĘśPqN…Î'*®ČÜQęJŔIZ†NN­ĚŇ~JÁɱv5#d1Ö¶Ć„;ňó»ěŔXerâ4·3Ü4&öńârĺ"ń%ŕâą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<f⢋R?ż8Ńnܧů|”‹e­0m|–zË%Ć Ň!ÖXňŤ5"–ücŤĺôoÎ&»VH‚3"i1ĘĘdץ©0‹nĄČ§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8U®C4µEŰĘx>ÄűV“Śłčřf*\‘ś8ă05ŽÂ‰Š#r—–Qt]%pš•9ˇâś ťOT\‘ąŁÔ•€“´ ťśZ1'Ąý”‚“1cílFČb¬-Ť wäçwŮ€±Ęä Ĺing¸iLěăĹĺĘEâKŔĹseŹLâăĹIą —†_0€JŹIňꔋ±b‘ďxĚÄE=Ą~~q˘Ý¸Oóů(ËZaÚř,ő–KŚ3"¤7B¬±äkD,ůÇ ĘéßśMv­gD,Ňb”•É®KSa$8ÝJ‘*N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0´{:)Ćwć7_¸E) é/”PqŞ\‡hvăĚ™Ř6“řęŰ’qßL…+’g¦ĆQ8QqDîŇ2Š®«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćł´ź2r2f¬ÍYڵ·1énÜÇD>& ”ÉÝÉ©¸„übLDncä�)Ns;ĂMcb/.W._.ž+ăxd/NĘ©¸4ü‚TĘxL’˙¤\ŚE‹|Çc&.ę±(őó‹íĆ}šĎGąXÖ ÓĆg©·ŚXbś± ˝bŤ%ßX#bÉ?ÖXPN˙błěZ! ÎX¤Ĺ(+“]—¦ÂHp,ş•"Tś*ô(`˛‹đŕJtćJ€#Đ̦ĆDEÍ#bah÷tRŚďĚoľp‹RŇ1_(9 âTą"ŃěĆ™3±m&ńŐ·%ă,:ľ™ W$'Î8LŤŁp˘âÜĄe]W śfeN¨8§BçWdî(u%ŕ$-C'§VĚ fi?eädĚX»š˛k_cŇÝ¸Ź‰|L@(“»“… Rq ů9Ä$ÜĆČRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨”ń$˙Ią‹ ůŽÇL\ÔcQęç'ÚŤű4źŹtš©7µĄŤĎRo±Ä8#bAz#ÄKľ±FÄ’¬± śţ%Äj3ę4â^;©űJv !ĹD™0§˛[™ňjĚX8Uč9PŔdáÁ#”<čĚ•�G +/LŤ‰8Šš/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@Ĺ©rE˘ZŚIöŁýĆD8¦(#°ĂT8¦¨K''Fh?GáDĹąKË(ş®8ÍĘśPqN…Î'*®ČÜQęJŔIZ†NN­ĚŇ~ĘČɱv6#d1֞Ƥ»qů €P&w' ¤âňs1IąŤ‘¤8Íí 7Ť‰}Ľ¸\ąH| ¸x®Śă‘I|Ľ8)¤âŇđ P)ă1Iţ“r1"A,ňŹ™¸¨Ç˘ÔĎ/N´÷i>i7•Ą-#KÝeÄăŚéŤkD,ůĆKţ±FÄ‚rú—«Í¨Ó{í¤î+Ů5„qdÂśĘneĘ«1#bQŕTy ç@“]„ŹPň 3W®`ľ05&â(jľ‹C»§“b|g~ó…[”’ŽůBɧĘqćb,şÍ$ľú6S”Řa*SÔĄ“g¦ĆQ8QqDîŇ2Š®«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćł´ź4r2f¬ÍYڵ˝1•ʉ|L@(“»“… Rq ů9Ä$ÜĆČRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨”ń$˙Ią‹ ůŽÇL\ÔcQęç'ÚŤű4źŹZŇŇÎŇĐ2b‰qFÄ‚ôF5"–|cŤ%˙X#bA9ýKŐfÔiÄ˝vR÷•ěBЉ82aNe·2ĺŐ±(pŞ<Đs €É.ÂG(yĐ™+Ž@W0_q5_ŚE„ˇÝÓI1ľ3żůÂ-JIHÇ|ˇä€ŠSĺŠznËĂXt›I|őm¦(#°ĂT8¦¨K''Î8LŤŁp˘âÜĄe]W śfeN¨8§BçWdî(u%ŕ$-C'§VĚ fi?iädĚX»š˛kkc*ů €P&w' ¤âňs1IąŤ‘¤8Íí 7Ť‰}Ľ¸\ąH| ¸x®Śă‘I|Ľ8)¤âŇđ P)ă1Iţ“r1"A,ňŹ™¸¨Ç˘ÔĎ/N´÷i>µ¤Ą%śĄˇeÄăŚéŤkD,ůĆKţ±FÄ‚rú—[„É®)ĽCęľ’]CH1G&LŔ©ěV¦Ľ3"N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0´{:)Ćwć7_¸E) é/”PqŞ\QĎmy‹n3‰ŻľÍev Çuéäć©qNT‘»´Ś˘ë*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9Á,í'ŤśŚkg3BcmkLĺc"Ęäîdá‚T\B~1& "·1r€§ąťá¦1±Ź—+‰/Ď•q<2‰Ź'ĺ‚T\~Á�*e<&ÉR.FÄ"Eľă1őX”úůʼnvăľ<ĎG­biIeiL±Ä8#bAz#ÄKľ±FÄ’¬± śţ%Äa˛k ﺯd×RLÄ‘ p*»•)ŻĆŚESĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD," ížNŠńťůÍnQJB:ć %Tś*WÔs[ƢŰLâ«o3E¦Â1E]:9qĆaj…Gä.-ŁčşJŕ4+sBĹ8:ꍏ"sG©+'i:9µbN0KűI#§Ř 4f¬ÍĚYڵĄ1•ʉ|L@(“»“… Rq ů9Ä$ÜĆČRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨”ń$˙Ią‹ ůŽÇL\ÔcQęç'ÚŤűň<µŠĄ%•Ą1eÄăŚéŤkD,ůĆKţ±FÄ‚rú—[„É®)ĽCęľ’]CH1G&LŔ©ěV¦Ľ3"N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0´{:)Ćwć7_¸E) é/”PqŞ\eÎ&c’:CŰ’qßL…cŠştrâŚĂÔ8 '*ŽČ]ZFŃu•ŔiV愊#p*t>QqEćŽRWNŇ2trjĹś`–ö“FNĽqiĚX»™˛» ,úö1A€üĂ€ wqLâKÁ%äçc’ r#HqšŰnűxqąr‘řpń\Ç#“řxqR.HĹĄá  RĆc’ü'ĺbD,‚Xä;3qQŹE©ź_śh7îËó|Ô*––T–Ć”KŚ3"¤7B¬±äkD,ůÇ Ęé_Bl&»¦đ©űJv !ĹD™0§˛[™ňjĚX8Uč9PŔdáÁ#”<čĚ•�G +/LŤ‰8Šš/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@Ĺ©r•9šŚIę mKĆYt|3Ž)ęŇɉ3Să(ś¨8"wiE×U§Y™*ŽŔ©ĐůDĹ™;J] 8IËĐÉ©s‚YÚO9ńĆĄ1cíhFČb삱č@ŘÇň&Ü!Ä1‰/—źCŚI‚ČmŚ Ĺing¸iLěăĹĺĘEâKŔĹseŹLâăĹIą —†_0€JŹIňꔋ±b‘ďxĚÄE=Ą~~q˘Ý¸ŻŔsci––FúeÄăŚéŤkD,ůĆKţ±FÄ‚rú—[„É®)ĽCęľ’]CH1G&LŔ©ěV¦Ľ3"N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹±0´{:)Ćwć7_¸E) é/”PqŞ\eÎ&c’:CŰ’qßL…cŠştrâŚĂÔ8 '*ŽČ]ZFŃu•ŔiV愊#p*t>QqEćŽRWNŇ2trjĹś`–ö“FNĽqiĚX»š˛» ,úö1A€üĂ€ wqLâKÁ%äçc’ r#HqšŰnűxqąr‘řpń\Ç#“řxqR.HĹĄá  RĆc’ü'ĺbD,‚Xä;3qQŹE©ź_śh7î+đÜXšĄĄ‘…~±Ä8#bAz#ÄKľ±FÄ’¬± śţ%ÄćmLy€sŔŨ W]÷dĆśĘneĘ«1#bQŕTy ç@# RrtćJ€ŁÍ)^ÁLŤ‰8Šš/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@Ĺ©r•9:MPgh[2΢㛩pLQ—NNśqGáDĹąKË(ş®8ÍĘśPqN…Î'*®ČÜQęJŔIZ†NN­ĚŇ~ŇČI6źŚkG3BcmoŃ€°Ź ä�L¸Cc_ .!?‡“‘Ű9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"ßń‰‹z,JýüâD»q_çĆŇ,-Ť,ôË%Ć Ň!ÖXňŤ5"–ücŤĺô/!¶pă^;1F]–ęş'3&ŕTv+S^Ť‹§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8U®Ňĺ€8°3m3.šwî6SÔ9‰g¦ĆQ8QqDîŇ2Š®«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćł´ź4r’Í'cĆÚŐ*0fl–›e‰OF?�Â>&�0á!ŽI|)¸„übLDncä�)Ns;ĂMcb/.W._.ž+ăxd/NĘ©¸4ü‚TĘxL’˙¤\ŚE‹|Çc&.ę±(őó‹íĆ}žŁ&ű¬ÔŁ<IčŽ++–gD,Ho„X#bÉ7ÖXňŹ5"”Óż„X•i˙\ĺ^;1F]–ęş'3&ŕTv+S^Ť‹§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8U®Ň倥ës•!\Ch[2΢㛩pL^F4—™8qĆaj…Gä.-ŁčşJŕ4+sBĹ8:ꍏ"sG©+'i:9µbN0KűI#'Ů|ŠZŞgşĆڵ¨™Yڵ­E?�Â>&�0á!ŽI|)¸„übLDncä�)Ns;ĂMcb/.W._.ž+ăxd/NĘ©¸4ü‚TĘxL’˙¤\ŚE‹|Çc&.ę±(őó‹íĆ}-rnĚŐŇVś…p±Ä8#bAz#ÄKľ±FÄ’¬± śţ%ÄjÂëu_É®!¤#&ŕTv+S^Ť‹§Ę= ě"<x„’ťąŕtó…x ]Â|1"†vO'ĹřÎüć ·(%!ó…’*N•«t9 lM¬ÍXś¨8"wiE×U§Y™*ŽŔ©ĐůDĹ™;J] 8IËĐÉ©s‚YÚO9‘ć“1cmjfEcmiŚŐ„gp#b!”É9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"ßń‰‹z,JýüâD»q_ŃçĆ_1Tť¶Ę,TË%Ć Ň!ÖXňŤ5"–ücŤĺô/!–gµü>Vm:5Î1u_É®!¤#&ŕTvS^Ť‹§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8U®Ňĺ pĆĚń~µ^6 ‹`ŰŃĽs·™ĽŚh.…8 'Î8LŤŁp˘âÜĄe]W śfeN¨8§BçWdî(u%ŕ$-C'§VĚ fi?i䤜O9~®3Ö f„,Ćf˝ń–Éš™çbŤ…P&ç�)Ns;ĂMcb/.W.YZ.ž+ăxd/NĘ©¸4ü‚TĘxL’˙¤\ŚE‹|Çc&.ę±(őó‹íĆ}eśgâźş–jźśTKWV,1ÎXޱFÄ’o¬±äkD,(§ ±"źöéú\ť™ží‹´ee˛ëŇT ŽE·R䀊SĺžLv<BÉÎ\ pş‚ůÂÔŁ¨ůbD," ížNŠńťůÍnQJB:ć %Tś*Wérv˛ÚD ˇësur˘ŞßXś¨8"wiE×U§Y™*ŽŔ©ĐůDĹ™;J] 8IËĐÉ©s‚YÚO9‘ćÓTüÇćŐBĆÚÉŚĹX[ÚřđąŘ1#b!”É9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"ßń‰‹z,JýüâD»q_IçĆÚŘ�ň˛łR ,m\Y±Ä8#bAz#ÄKľ±FÄ’¬± śţ%ÄĘâÎ M /;¨JÝW˛k)&âČ„ 8•ÝĘ”WcFĢŔ©ň@Ď&»ˇäAg®8]Á|ajLÄQÔ|1"†vO'ĹřÎüć ·(%!ó…’*N•«t9;§§ň»_>?٬N2΢㛩pL^F4—B…g¦ĆQ8QqDîŇ2Š®«Nł2'TSˇó‰Š+2w”şp’–ˇ“S+ćł´ź4r˘Î'62 cĆÚŮŚĹX[ÚČącˇ}#b!”É9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"ßń‰‹z,JýüâD»q_‰çĆéˇăČËŽWLµ´qeĹăŚéŤkD,ůĆKţ±FÄ‚rú—«Š;rz yŮđŕqż*u_É®!¤#&ŕTv+S^Ť‹§Ę= ě"<x„’ťąŕtó…©1GQóĹXDÚ=ťă;ó›/ܢ”„tĚJ¨8U®Ňĺ îtţ™?ĽěĚ ouR#b!r˘âÜĄe]W śfeN¨8§BçWdî(u%ŕ$-C'§VĚ fi?iä”d>ŐÎńßNaĚX»˛kK;|cŰXerâ4·3Ü4&öńârĺ"ń%ŕâą2ŽG&ńńâ¤\ŠKĂ/@ĄŚÇ$ůOĘĹX±Čw<f⢋R?ż8ŃnÜWňąqúÜäeűöŠ+¦XÚ¸˛b‰qFÄ‚ôF5"–|cŤ%˙X#bA9ýKĄÄí=2ŚĽlŕě~‹´ee˛ëŇT ŽE·R䀊SĺžLv<BÉÎ\ pş‚ů˘ľ†Ž:Šš/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@Ĺ©r•.qgýČřčäeÇ •Gä.-ŁčşJŕ4+sBĹ8:ꍏ"sG©+'i:9µbN0KűI#§¤óićD~÷«Ćڵ‚!‹±¶2çÝoÎëßÎÚáî ˇLÎRśćv†›ĆÄ>^\®\$ľ\<WĆńČ$>^ś” Rqiř¨”ń$˙Ią‹ ůŽÇL\ÔcQęç'ÚŤűZŕÜ8yr—űY¨ó}¨őĎ×mĎžSź$D–6®¬Xbś± ˝bŤ%ßX#bÉ?ÖXPN˙b©q[_8—Űçę黤u Ń»iÂśĘneĘ«1#bQŕTy ç@“]„ŹPň 3W®`ľĐ®ˇË/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@Ĺ©r•.qg3:ôlnź«÷ÄĆ7SἌh.…8ÉŘg>™pNT‘»´Ś˘ë*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9Á,í'ŤśŅ̌™#Ú?WŤk%ë€1cmh'ö=#b!”É9@ŠÓÜÎpÓŘNj˕‹Ä—€‹çĘ8™ÄÇ‹“rA*. ż`�•2“ä?)#bÄ"ßń‰‹z,JýüâD»q_‹śÇŹ>Ľě‘§O!•©N.­KŚ3"¤7B¬±äkD,ůÇ Ęé_Bl’¸‡wźF^věČÓŇşe×RLÄ‘ p*»•)ŻĆŚESĺžLv<BÉÎ\ pş‚ůBĽ†.aľ‹C»§“b|g~ó…[”’ŽůBɧĘUşÄťQĚđą­ČËöm=­>¶Í;w›ÉËćR“Ś}&ŕ“ GáDĹąKË(ş®8ÍĘśPqN…Î'*®ČÜQęJŔIZ†NN­ĚŇ~ŇČ)í|šzţ,Śkg3+˛kK8Žł‡v†rNňQcÂB“řee†übLDncä�)Ns;ĂMcb/.W._.ž‹ ‚Ň÷ą4NĘ©¸4ü‚TĘxL’˙¤\ŚE‹|Çc&.ę±(őó‹íĆ}-rnś<ąµáüŢ9~ěä¶î>—(FyriµXbś± ˝bŤ%ßX#bÉ?ÖXPN˙b“Ä=óÂ�^<3†ĽlÄţĚvWeˇ^_Q»iÂśĘneĘ«1#bQŕTy ç@“]„ŹPň 3W®`ľݎK/FÄ"ÂĐîé¤ß™ß|áĄ$¤cľPr@Ĺ©r•.qg36ô,¦&N"/;wjöśŐß"_´˙Ą8¦(0"–˘ë*Ó¬Ě GŕTč|˘âŠĚĄ®ś¤ečäÔŠ9Á,í'ŤśŇΧ™ĂögŢůq3ÖÎf„,ĆÚĐĽÇš‡·ŢŰ<Ä9ÉGŤ wqL┕ňs1IąŤ˙?{ď0ąQŢŤ?Ú}űőî;ź{Á ° ¶±Ť)ˇc ˇ„@(ŹňĄçKBzH˙’|˙„’JB %$´PB SŚmÜ{ąćëwďÝ[w÷ůŻ¤Ő®¶h4zfFÚŐűűŮ{ďJO•FŁŃŚ~;ÓłCËÎňqv'ËŮ9ÍE!ËK(â#ů9WÚ)s!Q.myÂTČőĄüłćK‚-ą˝ŤrIż•ňÁî’6űeCto\Ľ˙ ­-ÓI†>?ůĹ=ú&i7—ałŐ´‰…äа‰Ĺ­-H,îmAbˇbÎŻ†mV»ŹsŻNT!BźÝ÷ŇJG÷ł%ť0ő´ręÓH,)ziĺ _)jއđřťr°YV zé&ÔÍgčę H,I:z}:ĄNK设 t•šŤú˘Sşzie%+~á ?Ç~©őÍ]»zóWíMĄ˝ÁÝ›ýßY!ŁţňNÔS\űśŹ‘žNNşzšą+}ä«€śF˛Ltő4rʵ>éęĺYv:±2ä¤ôa3§a,Ńód1'“úT»5jó°¬P^€Č”•JçRŽÖ‚»˙›k6L<đ&ß NÜаc…,a§Ęg—|@b¬0Ň>ĆžZv–ŹłűĐ8Y6ČÎi. Y†\B'ÉĎąŇN™ ‰riË. B®Ç,ĺź5XlÉíőh”Kúµ¨”v—´Ů/Ş{#ÓÉ;?lÇ×EŤ·‘Y1¨}ýŹO>DŤ´G;)!Š°Ő´‰…äа‰Ĺ­-H,îmAbˇbÎŻ†mV;ż­űŕ—ă:lWď˝ý]ýŐ3„R§G`¤¦žVN}‰%E/­ôË EMőߣS6Ë*AO#Ý„ú˘ů ]@}‰%IGŻO§Ôi ÝŐ—®R˛Q_tĘ@W/­¬deĐ/äÇŁ=ĽďSÁw—íę7>ł+Ő{}s÷f˙wVȨżĽő×>'äc¤§““®žfîJyÇ* §‘,]=Ťśr­Oşzy–ťN¬ 9)}ŘĚiË„Fô<YĚɨ>5héĆ]Á¶­v�†¸˘RÂżo/ž<F÷~őÁ6+t9qCĂŽ˛„ť*ź]ň‰±ÂHű{vhŮY>ÎîCădŮ ;§ą(dr Eś`$?çJ;e.$ĘĄ-O¸€ ął”Ö\@bI°%·×ŁQ.éעR>Ř]ŇfżlČîŤó·} ÇÉsHÂ÷}9¶DďůđjĹ´›Ë°ŮjÚÄBrhŘ‚ÄâÖ$÷¶ ±P1çWĂVb÷®Ď=D‡g—ś·« Çč®[?”śŽî)fK:1aęiĺÔ§1XRôŇĘAż RÔTáń=:ĺ`ł¬ô4ŇM¨/šĎĐÔX’tôútJť–Đ]}č*5!őE§ tőŇĘJVýÂ$?Gö~”jËîű«'Ź/ÓWţkĹóŠç4đ;+dÔ_މzŠkźň1ŇÓÉIWO3wĄŹĽcÓH–‰®žFNąÖ']˝<ËN'V†ś”>lć4ŚeB#zž,ćdZź–oŘE|rŮi» �Ă�Y€RÂóÂKűŽĎż+ś•%ś¸Ń·Ů/c…,a§Ęg—|@b¬0JÍ5a‡–ťĺăě>4N– ˛sš‹B–!—PÄ Fňs®´SćB˘\Úň„ ¨ë1KůgÍ$–[r{=ĺ’~-*ĺÝ%möˆîŢČtü¦ öEm  Dľ˙ţ˝w'ĎĘ’vsQˇ[M;XH [XÜÚ‚ÄâŢ$*ćüjŘJěü6îíż'ŚťC»zëwŢ3¸ßŞ{ŠŮ’NLzZ9ői $–˝´rĐ/5ŐCx|ŹN9Ř,«=Ťtžą5źˇ ¨/ ±$éčőé”:-ˇ»ú2ĐUjB6ę‹Nč꥕•¬ ú…I~ü6n˙#ďľçŃ®~ö÷7¸ŻÜ~g…ŚúË;QOqíÇcőž#±žNNşzšą+}ä«€śF˛Ltő4rʵ>éęĺYv:±2ä¤ôa3§a,Ńód1'ăúÔ<¨Ĺ/Ţ|uŮ®Ŕ0�W8Px=ÔCsîč>şőÓ˙0Pź7ú6űe¬%ěTůě’HŚF©ą&ěвł|śÝ‡ĆɲAvNsQČ2äŠ8ÁH~ΕvĘ\H”K[žpr=f)˙¬ą€Ä’`KnŻGŁ\ŇŻEĄ|°»¤Í~ŮŢO|űÔ8ńh ßł@ËÔľîÝ?Oů/wŇऄ(ÂVÓ$’CĂ$·¶ ±¸·‰…Š9ż¶R»?˙Đ]´çĐ|níęÉf~ó·ţ™T9¦=÷ëÄ„©§•SźĆ@bIŃK+ý2HQS=„Ç÷č”ͲJĐÓH7á™[óş€úK’Ž^źN©Óş«/]Ą&dŁľč”®^ZYÉĘ _¨:äż“–÷çÖ®=°@źzĎ}]9 üÎ ő—w˘žâÚŹÇę=Gb=ťśtő4sWúČ;V9Ťd™čęiäÔ{ś–‰®^že§+CNJ6sĆ2ˇ=Os˛Qź–>×lăŽ-8iW`Ř�" Pôw\ÂËű¶O˙#~ř¶.'nômöËX!KŘ©ňŮ%+ŚRsMءegů8»Ť“eěść˘eČ%q‚‘üś+픹(—¶<á*äzĚRţYs‰%Á–Ü^ŹFą¤_‹Jů`wI›ý˛!Ľ7.ďżfżó/Á÷^ľ›Á0ĆŰţőNşůŽ#=I Q„­¦H,$‡†-H,nmAbqo  s~5lĄv7Ýw”ţâĂw‡ńslWoţÖ;čࣷӠÓž{ŚubÂÔÓĘ©Oc ±¤čĄ•~¤¨©Âă{tĘÁfY%či¤›đĚ­ů ]@}‰%IGŻO§Ôi ÝŐ—®R˛Q_tĘ@W/­¬deĐ/TňÜěťôčCď ľçŮ®ţ÷{î:Ö—_ďů(ŁţňNÔS\űńX˝çH¬§““®žfîJyÇ* §‘,]=ŤśzĎÓ2ŃŐËłětbeČIéĂfNĂX&4˘çÉbN6ęSý‘c´řůű‚ď.ÚU�6€Č” Xř>ľýÜžŞą·áPlöËX!KŘ©ňŮ%+ŚRsMءegů8»Ť“eěść˘eČ%q‚‘üś+픹(—¶<á*äzĚRţYs‰%Á–Ü^ŹFą¤_‹Jů`wI›ý˛ˇĽ72űĘźß\˛đ“Ú×·ĽőfâĄß\T(ÂVÓ$’CĂ$·¶ ±¸·‰…Š9ż¶R;˙Vű˙zKż€vő†/ţ)ńż”ď<k'k‚ĢÖK+ý2HQS=„Ç÷č”ͲJĐÓH7á™{xë H,I:z}:ĄNK设 t•šŤú˘Sşzie%+~ˇęý6mĎ=|/˘]ýŕßÜN î»ËĚ˝ď;+dŃwŵŹŐ{ŽÄz:9éęić®ô‘w¬rÉ2ŃŐÓČ©÷8-]˝<ËN'V†ś”>lć4ŚeB#zž,ćdĄ>5láŁáŹ0 °R�" P*$±đŹěş“ľőľßék8›ý2VČvŞ|vÉ$Ć ŁÔ\vhŮY>ÎîCădŮ ;§ą(dr Eś`$?çJ;e.$ĘĄ-O¸€ ął”Ö\@bI°%·×ŁQ.éעR>Ř]ŇfżlHďŤÇţçiůŔ]Áw—,ü¤öőÖ»ŹŇ›˙řF#íĆäÂVÓ$’CĂ$·¶ ±¸·‰…Š9ż¶&vżđ7Ń÷ ˝]D»z¨Ů¦íóĐŢźöÜc¬¦žN}‰%E/­ôË EMőߣS6Ë*AO#Ý„gnÍgčę H,I:z}:ĄNK设 t•šŤú˘Sşzie%+~aÚéŰ}÷źĐü‰{‚ďE´«»î=Nď{ë­Á÷ŢóĎ˝ď;+dŃwŵŹŐ{ŽÄz:9éęić®ô‘w¬rÉ2ŃŐÓČ©÷8-]˝<ËN'V†ś”>lć4ŚeB#zž,ćd«>-ţÇ­ÔŘ}<ŘĆl,ŔJAUSĎÓ”y˝„mŐ§ű˙řű&ýżŰ·źúßáÂÂ"@ţýŰoĽŽîą‡ęKó´í1Wő=Ͱž ¬Ř©ňŮ%çţ˝¬0JÍ5a‡–ťĺăě>4N– ˛sš‹B–!—PÄ Fňs®´SćB˘\Úň„ ¨ë1KůgÍ$–[r{=ĺ’~-*ĺÝ%möˆôŢx↿ˇ“·}$ř^©ÄŻÂ΋ëLÔľŢyß1š[¨Ó“ź¸5“}ęŤÉ…­¦H,$‡†-H,nmAbqo  s~5lMěţŕ}wĐ»?÷`đ˝ČvőČÁ{©V›§í§]9XQç™JG'&L==śú4KŠ^Z9č—AŠšę!<ľG§l–U‚žFş ĎÜšĎĐÔX’tôútJť–Đ]}č*5!őE§ tőŇĘJVý´ӷ￧C{>|/˛]ÝóŔ,--4čüË7 Ě˝ď;+dŃwŵ/ëŢs$ÖÓÉIWO3wĄŹĽcÓH–‰®žFN˝çŔi™čęĺYv:±2ä¤ôa3§a,Ńód1'[őiů“wÓŇ ŹŰE´«Ŕč`jj*ř»wđňYlýíýbßĐ�D tđoŘÝÓ1{íÎËÁo É,ç_Ő–Şj$+X±3­–sß—Î+ŚRsMءegů8»Ť“eěść˘eČ%q‚‘üś+픹(—¶<á*äzĚRţYs‰%Á–Ü^ŹFą¤_‹Jů`wI›ý˛!˝7ú$–Ů›Ţ|ďíĽ„űěOş§j_oĽíp62KÚŤÉ…­¦H,$‡†-H,nmAbqo  s~5lMě|ËßâŢŕű0´«öÝJőAdťg*ť0őôpęÓH,)ziĺ _)jއđřťr°YV zé&<sk>CP_@bIŇŃëÓ)uZBwőe «Ô„lÔť2ĐŐK++Yô ÓNźOb9đČ‚ďĂĐ®>xÇQZöÉ,—męĘ˝ď;+dŃwŵ/ëŢs$ÖÓÉIWO3wĄŹĽcÓH–‰®žFN˝çŔi™čęĺYv:±2ä¤ôa3§a,Ńód1'[őÉ'±,~ů`;Żv]€Č˘–Č )şÉ,'ď¦?•HÁRěmŚúd ;Ój8÷}él°Âu|ءegů8»Ť“eěść˘eČ%q‚‘üś+픹(—¶<á*äzĚRţYs‰%Á–Ü^ŹFą¤_‹Jů`wI›ý˛ˇĽ7r°śPŇL,>ňeáw“YŮ7GĎşöuü´“ R[M;XH [XÜÚ‚ÄâŢ$*ćüjŘJíü[­żśPŇL,A^µ«>™ĺäń=´ó¬ëÂř:ĎT::1aęiĺÔ§1XRôŇĘAż RÔTáń=:ĺ`ł¬ô4ŇMxćÖ|†. ľ€Ä’¤Ł×§Sę´„îęË@W© ٨/:e «—VV˛2čŞŮ'’řË %ÍÄ⣨vŐ'ł~tž.~ŇÖôÓę-Ë>Yô]qíÇËş÷‰őtrŇŐÓĚ]é#ďXä4’e˘«§‘Sď9pZ&şzy–ťN¬ 9)}ŘĚiË„Fô<YĚÉJ}jżśPŇL,>0 Đ YÔ2Y€ˇŔŕ·×µĚĐŢ;ľBëwśOÓëú=ŢŰőÉv¦ŐnîűŇŮ`…ëř°CËÎňqv'ËŮ9ÍE!ËK(â#ů9WÚ)s!Q.myÂTČőĄüłćK‚-ą˝ŤrIż•ňÁî’6űeCxo\Ţůď_ŁĹ‡o¶‹čĽ¤µŻţ2C_řúŁtáąëč”-ÓýŞi7&¤¶šv ±¶ ±¸µ‰Ĺ˝-H,TĚůŐ°•ÚÝtßQú±?˙&ýĎ-űíalWŹş—v?ô5Ú°ů<šYµ%¦=)ubÂÔÓĘ©Oc ±¤čĄ•~¤¨©Âă{tĘÁfY%či¤›đĚ­ů Í–tb´r�‰%IGŻO§Ôi ÝŐ—®R˛Q_tĘ@W/­¬deĐ/TňÜěťôđmżEłGľlc»ę/3tÇ·ĐŽłÖŇşÍáKžŢ˛Śc×wŵ/ëŢs$ÖÓÉIWO3wĄŹĽcÓH–‰®žFN˝çŔi™čęĺYv:±2ä¤ôa3§a,Ńód1'ő©ţČ1š÷w©~÷Á`$@ ˛¨e ˛�C´ÎËÂńôŔ  6¶śsy[ż·1Š;Ój6÷}él°Âu|ءegů8»Ť“eěść˘eČ%q‚‘üś+픹(—¶<á*äzĚRţYs‰%Á–Ü^ŹFą¤_‹Jů`wI›ý˛ˇ»72ťřö;ččçźs‡Y‘ť—´öu˙ˇúŔǢFóűUŹßÔŃO»1© µŐ´‰…äа‰Ĺ­-H,îmAbˇbÎŻ†­ÄÎoźŢúˇ»čçţî»´˙h8~0Ěíę|łíż÷˙—íLŰv\6xVQÍç.ťç–H!ĺi $–˝´rĐ/5ŐCx|ŹN9Ř,«=Ťtžą5źˇŮ’NLV ±$éčőé”:-ˇ»ú2ĐUjB6ę‹Nč꥕•¬ ú…I~ü_‹xřťôČťDµĄĂÁľanWŹ^¤>˝+8 ł/Ů@ń<ăÇŘő]qíÇËş÷‰ő8ĹG=ÍÜ•>ňŽU@N#Y&şz9őž§e˘«—gŮéÄʓ҇͜†±LhDϓŜŚëSó –>w-üű÷g‹ďŻه˛YtŻň<‰,H+ŐÖľjĎÇ—­ő˙^~ů_ó=zŚ� żCĹÜ˙HÓhtöͬ?….xúkčěk^FI—;+v¦ŐjîűŇŮ`…ëř°CËŽSävjçË R¶SćB˘\Úň„ ¨ë1KůgÍ$–[r{=ĺ’~-*ĺÝ%möˆęŢČ4ۇéřM˙FŤʶeĂŇyŃi_·oť¦7ľâ|ző÷ź)Ď/í¦fh ɡa ‹[[XÜŰ‚ÄBĹś_ ۬v~óô®Ď=Do˙ř=´çĐ|{˙(µ«3«·Ń%—˝ŠÎ»řʼn˘ĘS¦ńÜ)¤<ŤÄ’˘—Vúe˘¦zŹďŃ)›e• §‘nÂ3·ć34[҉ ÓĘ$–$˝>ťR§%tW_şJMČF}Ń)]˝´˛’•Aż0©nŢűQÚ˙Čűiyq{÷(µ«ë·LŃÓ^z6]ýüť]DQîňÓëaŔ÷סXŹS|dŃÓĚ]é#ďXä4’e˘«§‘Sď9pZ&şzy–ťN¬ 9)}ŘĚiË„Fô<YĚɨ>5hů†]´řĹű‰Ź-´e ±�Y±~ýşŕďŤ7~ëšćźFósĽő·ŢóáÖßFěñż˝JŘVýíýŢ •,�,ŔŠŔŕÎK éęŔL®ZGg^ńB:ő±Ď Ť§_Óhš,ëWëoŃT¶ś±fłB–šKŠ­Ćqv'ËŮ9ÍE!ËK(â#ů9WÚ)s!Q.myÂTČőĄüłćK‚-ą˝ŤrIż•ňÁî’6űeCro\Ú-Ţ˙:yç'¨±pĽ˝PÇĹG‘ťÝöuĂş zésĎ ç=e=ţ ¤Ť´›šˇH,$‡†-H,nmAbqo  s~5lłŘ}÷ľŁô‰oíĄ~ů!:<»ÜŢ?ĘíęäÔ::÷‚çÓig?ť6o˝¨ĄˇrLé:-…”§1XRôŇĘAż RÔTáń=:ĺ`ł¬ô4ŇMxćÖ|†fK:1aZ9€Ä’¤Ł×§Sę´„îęË@W© ٨/:e «—VV˛2čöęĚĎŢIÇ~‰ďűŐ–ËŃ_]µvśžřĚťtɵŰč´ó×Ĺě{­|pŠő8ĹG=ÍÜ•>ňŽU@N#Y&şz9őž§e˘«—gŮéÄʓ҇͜†±LhDϓŜ¤őÉ_B¨v룴tă.â“ĂÝ_F ˛¨e ˛�C UçĹßÝ+›^ m=÷rÚxÚĹ´vŰŮ4ła;M®^O•ńiBĘ–eJĚľ/ť VeŞŐ¬Ąć’bËJ“~H,THa>ŘN™ ‰riË. B®Ç,ĺź5XlÉíőh”Kúµ¨”v—´Ů/ËűŢčď«/Pcţ(Őf÷QíČ´´˙vZŘ}S×ě+>ÂJđ­/Î0t^˛¶Żţ,-Oşt =î‚ tŢ™khç)3´qÝ$MOUşŹ%í¦–žH,$‡†-H,nmAbqo  s~5lÁµ°X§Cł‹´ëŕ<Ý˝ëÝ|˙úú»f_ b—¬]őgi9ĺÔËhÓÖ‹hý†3iŐšShrjUǦÂcŃxn‰RžĆ@bIŃS6g)5ŐCx|ŹN9Ř,«=Ťtžą9]§G`ŁśRu´Ý@bIöU\}č*5!őE§ tőŇĘJV±;¦ß5©¶|”–Ą…ąinöN:qäć®ŮW|”­]]·eŠÎ}ěFÚyŢzÚzújÚ°mŠV­ť ±ÉJ÷˛ô­/ÜçuŔw=Nń‘EŹSbĹľ M¬rÉ2ŃŐÓČ©÷8-]˝<ËN'V†ś”>lć4ŚeB#zž,ć”Zźü¤—Ä'—¨qdꏞ ú®f{ßá®ŮW| {» ?@dQË@d†Qç„{˛ÝŚ|����( IĚ{Q§eX:/h_��€aÚU����°´«����`ŁÔ®ĂŤ˛YĆ�Vâ7úÁťŻŐ`m=éĄ���@~óÔiŁĽÝácߣ}���† hW���ŔĐ®���€=Śz» �yD`E"˝hµu»Ű ŽŮ����hŁ»=ÉÖ ö=ÚW��� O ] ´ÚşhW��� ] ´ÚşhW���”˝]€<�" °b1¨`­žóA����ŕ ń¶jT:.h_��€aÚU����°´«����`ŁŘ®€k€Č¬xČ;0����ŕe`ÝŁ}���†hW���ŔĐ®���€=`ö�H,�CĽÁčíĽ 3���¸@o'ĄŚť´Ż���@^@»Šv���°´«hW���{X í*�Ř,�€¬ :6���Ŕ ¤µ'+­Ă‚ö���0ÚŐn ]���L€vµhW��� ]�»�‘�4‘6ĺ$ ��� h+úö���mD?Đ®���R ŤčÚU���@ ´�`Y�Ŕ�ş Řů���ĺ:&vö��`eíŞ] ]��XŮ@»jhW��V6Đ®@~�‘�r�6����°´Ż����`hW���ŔĐ®�����ˇB�������������������������0�‘������������������������ €Č������������������������ @d������������������������† ˛�������������������������CY������������������������€ˇ�,������������������������ŔP�D������������������������`(�" ������������������������0#��¬€™ ����záyr }���â@»j´«���@hWÍ€v���í*�Ř,�‚¨C‚Ž ��� AZűupVZGí+��� ÚŐÁ@» ���H€vu0Đ®��� ]�»�‘�zŕ74¶;)čô���”&ťŹAdľż˛uhĐľ���ş@»š´«���€.Đ®¦í*���  ´«�@d€z;,›NŮN^öD:÷’KhçŮçŇ–í;h͆Ť495%hT—TW¦ťű!·ő lMcÔ‘síؚĵf[`lŻÄőɵm¦Űć¨Ţ÷ôíýöfqafŹŁ»ĄÝ÷?D÷~ď.şă;ߣCűö·Ű¤2tdzŰ×›«tŐEtéyătŢÎ1ÚąĄJ›ÖVhz˛ŐTťBcgłÓö›“¬([§ÇÂŮmKwr¶M• ĘDËoޞ2Ĺ ä\@Ě!’iŘúíĚ|ŤčĐ|vkĐ=‡ętÓŢeşaWŤöĚÖKÝ®ŽŤŤÓôôtó3EăăÍĎU«ŐćqV��5ňÉ˝¸ Đ3Zá<f�w1ÓŰŤ­ŰÇ# Č8&e“~™ŤŐjµćg™–hqq‘ęőZ©ŰUoÓ*»`+Ťťł‰*§®ŁĘćUä­ť"š¨úV� Î,«sšÄć=źĹB±ŞŇkiĺŁdë<Űh03ťa: TăŽŃîĄfżôÄ"ńˇ9â˝Ç©öŔaŞßsřČ\©ÚU�° ÝáiĘ<Ťż^Âvô©ÄţFźjk_µçăËÖú/żüŠŻůŹ=F�~§,šőëé)×?]őŚgÓą—<®GÓ¤U‹Ůfn‡,Ĺ-í’~ô=:>ßž­IÜ2Řz¶&q ·µ[üÜ=|u9O[źĐrĂgľD_ţŘgiöčńöţJe´^HĹŰ× k+ôҧNÓőWOŃĄçŽ'99ʶ9ČŠ˛-ôXr*W~‹éĘŻÎŔ‹‘_‹˛"bZws,W~ ŚyÓľ}üîEúŹŰčČ|Ç`”ŰUꍞfÍZZ˝z5MMM��2äKdáVLĘ ť@ĺ"± Žç.¶ž3{13Ś"ŮzIšĹ˘i˛´´Dóós47w’ęőNŰ4ĘíŞ·f’&ž|Ť]yUĎŮD��¤€3 Äę¬#µyß·qlVňáŚd Eă‚ЇŞ›ŮŹŽĹ>´‘6î‚Ƈ©vănŞÝđń‰ĄöţQkWáÁúő낿7Ţř­kšüžă­żőž·ţ6bŽýíýP¶ęoď÷^¤VY€‹x‡Ĺź}ĺ…Ży=ëeŻL`<š´j1[Xä¶ ±ČmAb‘Ű‚Ä"·‰ĹŘÖX˙ě>Fű—˙fi‰0ě™xűęĎľň¦ď_EŻyÎtó’Hą(śż8eŰdEŮz,9•‰+żEÄtĺ—S”ĘRWF˛îćX&®üILż]}×-‹ôwßšfi‰0JíŞ?űĘĆŤhíÚu�€@b±+źjç ±ŘŹĄŠ97w‚Ž› fi‰0JíŞ?űĘÔőŇř3ÎĂl+�  Î,«łŽÔć}ßƱYɇSýh‡ac{çXŐżÍěGGĚbÚHwĚâ§ŮĐÖżü�-~úî`–– ´�Y"‹Z" 0wZ^ü†7ŃËŢř“Š)»LZµ-H,r[Xä¶ ±ČmAb‘Ű‚ÄbĎÖ_i§ÁôÁż}}řŢŰŢ=¬ťxűúÓ/]E?˙CkÂńŔÂ_brŠĽ`YQ¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+żCXžÜüď­_źŁżşaľ˝{ÚŐ 6ҦMř•8�Ř�H,öcĺSí$ű±ôb2;vśfg‡6Ńx»:ńý—ĐÔK  �dgŐYGjóľoăجäĂ©~´Ă°±‚˝s¬ęßföŁ#f±m¤Ť;ŠüPĐč.}üZţäťí] ł�YP6"K•ô'‘E—Üí›ô˙nß~ę|‡ ‹�IŻ{zö…ŃĎ˙ÉźÓuĎ!H,Ăl ‹Ü$ą-H,r[XěٶΥßF]|ĺăéń×>‘şë~:zŕp»-–uSăíëcϧżűĄ ôâ§NĢ#+ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺwHËÓź!ěęÓ&čigNĐíj´˙dc¨ŰUé SNŮNk×®%��Ě‹ýXůÄT;‰Ĺ~,ý^ĐVMMMÓňň2ŐëőˇnW«gm¤™ź} M\{H,�śY Vg©ÍűľŤcł’§úŃĂĆ öαŞ›ŮŹŽĹ>´‘6î(ňÓBłmŞžż…Şo#Ţu”řŘÂе«Ŕp#Z~xďŢ=˙DáU¶ŘúŰű!Ĺľˇ,ŔŠAĽÓňäç˝ŢüçK›¶ť˘˛ hťŻ ±ČmAb‘Ű‚Ä"·‰En ‹=Űçră¶Íôô?‡öďz”ľçŽjÁťxűúâ§LÓ;~mmßÔzÄ,ü%&Řć +ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺwĘó”ŐzĹ%“ôđ±Ýy°łÔĐ0µ«kÖ¬Ą;vĐŘŘ�`XěÇĘ'¦Ú9H,öcIbV«UZµjŐjő€ĐaÚŐńkϢ™_xU6Î��Ŕ™buÖ‘ÚĽďŰ86+ůpŞí0l¬`ď«ú·™ýčYěCiăŽ"?ý¨¬ź¦ęµgśŁĆîÎJ$ ł�i�‘E-‘JÄ;-׿ęGč żň›)7|“zł‰En ‹Ü$ą-H,r[XěŮ*ÎĄßt]ńŚkháä<Ýs˱ýĹtbâí돾pýÁ×v~ÔVřKL6°ÍAV”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘď•§ß~>çśI:ąĚtăŢZ×ţ"oWׯß@[·n%��ě�$ű±ň‰©v‹ýXf1=šžžęŰŇŇRgď´«“Ď»€¦^w%fa€¬ṟ́:ëHmŢ÷m›•|8ŐŹv6V°wŽUýŰĚ~tÄ,öˇŤ´qG‘źdříçŘĄ;kÔxŕp×~�H,j,ŔС—ÄňŞźýĹ4 2Öů ‹Ü$ą-H,r[Xä¶ ±ŘłőôlwÍĺ…“YzI,żţÚ51aš±kŘć +ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺwDËó)gLNfé%±lŢĽ™��°XěÇĘ'¦Ú9H,öcىÉÁ ”˘É,˝$–ÉW^N��dgŐYGjóľoăجäĂ©~´Ă°±‚˝s¬ęßföŁ#f±m¤Ť;ŠüčT/ÜJ´X™ĐBŮ,€Łw9!XFŔ$ą-H,r[Xä¶ ±ŘłŐ$±DxŐ/ü(=ůúg„ŇX{—z—‰%¬(ŰBŹ%§2qĺ·®ürŠRYęĘHÖÝËÄ•ß/Ď_żn˝ř‚ÉPT`»ę/' �ŘH,öcĺSí$ű±ěÄěŻ[·ŽfffZ>‹kWýĺ„@b�8ł@¬Î:R›·Çf%NőنŤěťcU˙6ł1‹}h#mÜQä'›ÁÄK.ˇ±+O÷ćÜ®@‘�‘(-â7ół/Ľţ÷o˙AšDë|‰En ‹Ü$ą-H,r[XěŮf$±Dřńßű?tÖEç…Z9ubâq{Î8ýéO­‹ ÓŚ]ËŘŔ6YQ¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+ż%)Ď?}öjzěÖ±PĄ€vŐ˙ĺÔ¶mŰ��;�‰Ĺ~¬|bŞťÄb?–ťýĆ6l¤‰‰‰–ďüŰŐęYiúŤO"��2‚3 Äę¬#µyë°qlVňáT?ÚaŘXÁŢ9Vőo3űѳ؇6ŇĆE~dŻ}UN_JAfV@dJ‰ř Ü˙ţş_úő”©¶Lnř1[Xä¶ ±ČmAb‘Ű‚Ä"·‰Ĺž­ÄV<zÝŻţD_»ç ˝q~÷ k;KŚţ“ lse[č±äT&®üÓ•_NQ*K]Éş›c™¸ň[˘ňôš˙ýîÓVÖ®nŢĽ…��°XěÇĘ'¦Ú9H,öcى9ŘŘď+®_żľ°vuęµWaé�ČÎ,«łŽÔć-ĂƱYɇSýh‡ac{çXŐżÍěGGĚbÚHwů´†ă'^~iní*� @dJ‹‘ř’ýq:÷’Ç©4É Jç+H,r[Xä¶ ±ČmAb‘Ű‚ÄbĎÖ€ÄáÜÇ>†^üĆÎýn?ó˛Őtéyă­ťiF®eś"/XV”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘ“éŇSĆčg®šÉ˝]ݸqS{-k��Ě�‹ýXůÄT;‰Ĺ~,;1ŐĆţŚ,k׮ͽ]ťüÇRőśM�@pfXťu¤6o6ŽÍJ>śęG; +Ř;ÇŞţmf?:bűĐFÚ¸ŁČŹĐ ¶«zćšxŢ‘X1�‘(˘›·˙wÓ)ŰéeoüI•6Dę|‰En ‹Ü$ą-H,r[XěŮZ ±DxŮOĽşŮćmíjm#î{Çć*ýü­i Ň ]Ë8E^°¬(ŰBŹ%§2qĺ·®ürŠRYęĘHÖÝËÄ•ßŇ•gGá篚ˇk*൫ccă´i^¶€ €Äb?V>1ŐÎAb±ËNL=ăµk×Qµ:–[»ęmZES/y,�śY Vg©ÍŰ„Ťcł’§úŃĂĆ öαŞ›ŮŹŽĹ>´‘6î(ň#4°küú ÉŰ0ă´]€a,@)Ńh4‚ż/|ÍëK ™ÜÜc¶ ±ČmAb‘Ű‚Ä"·‰En ‹=[‹$–Ŕ]ł­{áë^|ŹÚ@|żéűW‡34ţSŻW¬(ŰBŹ%§2qĺ·®ürŠRYęĘHÖÝËÄ•ßŇ•g·‚ßĆ˝é «‚ďy´«7n$��Ě‹ýXůÄT;‰Ĺ~,;1őŤývŐź•ĹGíęÔőaI!�ČÎ,«łŽÔć}ßƱYɇSýh‡ac{çXŐżÍěGGĚbÚHwů$řđÇ'žu~đÝe» �Ă�Y€R!>h±fýzzöľ2I“ ˘tľ‚Ä"·‰En ‹Ü$ą-H,öl-“X"<ë×7ŰľµOG|ăľ6¬­Đkź;=/1ő;x…ČŠ˛-ôXr*W~‹éĘ/§(•Ą®ŚdÝͱL\ů-]yVxíă&iăt§ŃvŐ®V«UZ·n�`XěÇĘ'¦Ú9H,öcى™ÝxŐŞUÍ6Ż‹ď¦]őÖLŇÄ3Ď#��4Á™buÖ‘ÚĽďŰ86+ůpŞí0l¬`ď«ú·™ýčYěCiăŽ"?BcO9‹ĽŐuĚĘ” ˛�ĄCÄ@|ę ~ a6“zĚ$ą-H,r[Xä¶ ±ČmAb±gëÄâŰúmŢS^ôĚ`Ë?ňů˛§Í4ĂKKDZ,c/oYQ¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+żĄ+Ďä2ń[ş—^8lşlWýĺ��0H,öcĺ3啦ŐŘzÎ@bqχ?D»jŐęŕ»Ëvuňşł1 �č‚3 Äę¬#µyß·qlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇6ŇĆE~„:>šmÝř“ÎľbV Ě�‘( z.®zĆłi‘A„ÎWXä¶ ±ČmAb‘Ű‚Ä"·‰Ĺž­CK„«ž}]·ÄÂHlŻŹëŻžJ1p-ËŘÁË[V”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘ3˝L®?w˘[ä ]]˝z5� H,öcĺSí$ű±ěÄ”űq§§§{öŮoWÇ®<��Đ�gŐYGjóľoăجäĂ©~´Ă°±‚˝s¬ęKeöŁ#f±m¤Ť;Šü 2eő˛ťÝű1+ PB€Č” ŃŤzÓ)ŰéÜK×+%9b¶ ±ČmAb‘Ű‚Ä"·‰En ‹=ŰH,>Î}ěcšmŕÖPâ`Şć›«téąă Er,ËŘÁË[V”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘSŻL.=eŚv¬ ‡M\´«ccă455E��Č�‹ýXůÄT;‰Ĺ~,;1ĺĆQÜńń‰`I˝pźývŐŰ´ŠŞçl"��RŔ™buÖ‘ÚĽďŰ86+ůpŞí0l¬`ď«úR™ýčYěCiăŽ"?BŚEY9syfÂý ±�%,@)qŃĺWôě1ą‰ÇlAb‘Ű‚Ä"·‰En ‹Ü${¶9‘X"\tĹcÉžtńd˛Đů‹ĘŚĽĽeEŮz,9•‰+żEÄtĺ—S”ĘRWF˛îćX&®ü–®<ł•É“Nť W™™!��d�‰Ĺ~¬|bŞťÄb?–ťră޸. śăn#��RŔ™buÖ‘ÚĽďŰ86+ůpŞí0l¬`ď«úR™ýčYěCiăŽ"?BaQVĎßB�Pf€Č”ţ�FôńqÎĹ—ÄĄ$GĚ$ą-H,r[Xä¶ ±ČmAb±g›3‰ĹÇ9źjô´Ť˘(=>ź4‹ó•;xyËŠ˛-ôXr*W~‹éĘ/§(•Ą®ŚdÝͱL\ů-]yf/“Çź¶}.ÚUĚĆ�2€Äb?V>1ŐÎAb±ËNL“vŻßÄÄdKfż]­žŤŮX�@ Î,«łŽÔć}ßƱYɇSýh‡ac{çXŐ—ĘěGGĚbÚHwůeőŚ ˇÜB» �ĂY€‚é´sÎm7ńÓH,r[Xä¶ ±ČmAb‘Ű‚Äb϶�‹ŹťçžAćĺ18îů§Ť Ú­2± ËŘÁË[V”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘSP&Mśż±š®$7_ćą›í�Ę XěÇĘ'¦Ú9H,öcى)7NŠ;>>fäW‘Ş;×�� ṟ́:ëHmŢl›•|8ŐŹv6V°wŽU}©Ě~tÄ,öˇŤ´qG‘ˇaQV¶Ż!{'�†c�%Ä–í;Čě泉En ‹Ü$ą-H,r[XěŮDbń±eÇVr…ť[ŞÝ;śż¨ĚŘÁË[V”mˇÇ’S™¸ň[DLNŹEđrľ,çvhënŽeâĘoéĘSP&-ůεî~˙ľĚ�@ ±ŘŹ•OLµsXěDzSn¬Š[­VÉ*›W��Ŕ™buÖ‘ÚĽďŰ86+ůpŞí0l¬`ď«úR™ýčYěCiăŽ"?B EYŮ„ĺjrŁ&@)±fĂF’#Ö4€Ä"·‰En ‹Ü$ą-H,öl $±řXłÁÝŻĐ6Ĺ_ć9Q™±—·¬(ŰBŹ%§2qĺ·®ürŠRYęĘHÖÝËÄ•ßŇ•§ LbňMSî,._ć@Ů�‹ýXůÄT;‰Ĺ~,;1ĺĆiq+wmź·Kö@8ł@¬Î:R›÷}Çf%NőنŤěťcU_*ł1‹}h#mÜQäGh`«(WO�”XZ(âţ×IńZ㱦$ą-H,r[Xä¶ ±ČmAb±g[0‰ĹÇäôT×ŕˇéšăťďDÓ“éX‘eěŕĺ-+ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺ·tĺ)(“ůô9kW=C2� XěÇĘ'¦Ú9H,öcىiŇÎĄëxž»v•&@€.pfXťu¤6ďű6ŽÍJ>śęG; +Ř;ÇŞľTf?:bűĐFÚ¸ŁČŹĐŔVQúJăUkí*� #0# PJxžä­lě‹Ü$ą-H,r[Xä¶ ±ŘłK†'.T=ßÎ_Tfěŕĺ-+ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺ·tĺ)(“r‡Í*���‰Ĺ~¬|bŞťÄb?–ťrcý¸V4Ú�ĐgŐYGjóľoăجäĂ©~´Ă°±‚˝s¬ęKeöŁ#f±m¤Ť;Šü le¤„¶(9@d€�±¦$ą-H,r[Xä¶ ±ČmAb±g;$$çpţ˘2c/oYQ¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+żĄ+OA™čČ�Č ±ŘŹ•OLµsXěDzSnŚŔ3 Äę¬#µyʰqlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇6ŇĆE~„¶Ší.°‚�" �Äďú ±ČmAb‘Ű‚Ä"·‰En ‹=Ű•BbQÁʋʌĽĽeEŮz,9•‰+żEÄtĺ—S”ĘRWF˛îćX&®ü–®<e˘#� W€Äb?V>1ŐÎAb±ËNLą1H,�0dṟ́:ëHmŢ#l›•|8ŐŹv6V°wŽU}©Ě~tÄ,öˇŤ´qG‘ˇ­˘D» ¬0`Af`äa6¸ł‰En ‹Ü$ą-H,r[XěŮ%‰eĐ`µd TÓĆʋʌĽĽeEŮz,9•‰+żEÄtĺ—S”ĘRWF˛îćX&®ü–®<e˘ĺ·g—Ëv��XÄĘ'¦Ú9H,öcى)7¶u~Ń®€%pfXťu¤6«©Ťcł’§úŃĂĆ öαŞ/•ŮŹŽĹ>´‘6î(ň#4°U”¬·m$P&`F`#v3‰En ‹Ü$ą-H,r[XěŮŽ‰Ĺ)¬Ľ¨ĚŘÁË[V”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘSP&Z~�Č ±ŘŹ•OLµsXěDzSn,Ź‹Ć�ś€3 Äę¬#µYŐm›•|8ŐŹv6V°wŽU}©Ě~tÄ,öˇŤ´qG‘ˇ­˘d±%�Ś4@dV(b7xXä¶ ±ČmAb‘Ű‚Ä"·‰Ĺž-H,–^Tfěŕĺ-+ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺ·tĺ)(-ż��ä XěÇĘ'¦Ú9H,öcى)7‰�† śY Vg©ÍŞnăجäĂ©~´Ă°±‚˝s¬ęKeöŁ#f±m¤Ť;Šü l%‹-`ä" °»ÁÄ"·‰En ‹Ü$ą-H,ölAb±ô˘2c/oYQ¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+żĄ+OA™hů� O€Äb?V>1ŐÎAb±ËNLą1H,�0dṟ́:ëHmVuÇf%NőنŤěťcU_*ł1‹}h#mÜQäGh`«(Yl �Ą�,Ŕ Cě‹Ü$ą-H,r[Xä¶ ±Řł‰ĹҋʌĽĽeEŮz,9•‰+żEÄtĺ—S”ĘRWF˛îćX&®ü–®<e˘ĺ�€<‹ýXůÄT;‰Ĺ~,;1ĺĆ ±�Ŕ3 Äę¬#µYŐm›•|8ŐŹv6V°wŽU}©Ě~tÄ,öˇŤ´qG‘ˇ­˘d±%�” ˛�+±<H,r[Xä¶ ±ČmAb‘Ű‚ÄbĎ$K/*3vđň–e[č±äT&®üÓ•_NQ*K]Éş›c™¸ň[şň”‰–_��ňH,öcĺSí$ű±ěÄ”Ä�CÎ,«łŽÔfU·qlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇6ŇĆE~„¶Š’Ĺ–�P*€Č¬Änđ ±ČmAb‘Ű‚Ä"·‰En ‹=[XÔĐ~)±—·¬(ŰBŹ%§2qĺ·®ürŠRYęĘHÖÝËÄ•ßŇ•§ L´ü�'@b±+źjç ±ŘŹe'¦Ü$�2pfXťu¤6«şŤcł’§úŃĂĆ öαŞ/•ŮŹŽĹ>´‘6î(ň#4°U”,¶€ŇˇB�0âHřÉAb‘Ű‚Ä"·‰En ‹Ü${¶% ±H^hŰhżĚŘÁË[V”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘSP&Z~őeNŰU�X!�‰Ĺ~¬|bŞťÄb?–ťră<H,hW 8ł@¬Î:R›UŃƱYɇSýh‡ac{çXŐ—ĘěGGĚbÚHwůŘ*J[v´ŃF%fdJŽŘ $ą-H,r[Xä¶ ±ČmAb±g‹™XÔĐ~ń—±—·¬(ŰBŹ%§2qĺ·®ürŠRYęĘHÖÝËÄ•ßŇ•§ L´ü d��‹ýXůÄT;‰Ĺ~,;1ĺƉ�† śY Vg©ÍŞnăجäĂ©~´Ă°±‚˝s¬ęKeöŁ#f±m¤Ť;Šü l%‹- ´�‘(1b7xXä¶ ±ČmG”Ä2xP1źś=ŻuŇ@b‘Ű‚ÄbĎ$5´_üeěŕĺ-+ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺ·tĺ)(-ż��b€Äb?V>1ŐÎAb±ËNLą1H,�0dṟ́:ëHmVuÇf%NőنŤěťcU_*ł1‹}h#mÜQäGh`«(Yl �Ą,@I»ÁÄ"·‰En;ä$–l‡ůĺäĺŃŔě6ÉĹAÜá°µ${¶ ±¨ˇýâ/c/oYQ¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+żĄ+OA™hůČ��$ű±ň‰©v‹ýXvbĘŤAb€!gŐYGjłŞŰ86+ůpŞí0l¬`ď«úR™ýčYěCiăŽ"?B[EÉbK�(=@dĘ Xä¶ ±Čm‡Ä"0Ě9gĹL,˝ÇLlĹşh!6H,ölAbQCűĹ_Ć^޲˘l =–śĘÄ•ß"bşňË)Je©+#Yws,W~KWž‚2Ńň+� H,öcĺSí$ű±ěÄ”Ä�CÎ,«łŽÔfU·qlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇6ŇĆE~„¶Š’Ĺ–�°"�" P^€Ä"·‰En;d$ćÉ‘sÎ—Š„vH-ŁX-ĉŞ-H,jhżřËŘÁË[V”mˇÇ’S™¸ň[DLW~9E©,ue$ënŽeâĘoéĘSP&Z~2��Ä�‰Ĺ~¬|bŞťÄb?–ť&cH$P�pÎ,«łŽÔfU·qlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇6ŇĆE~„¶Š’Ĺ–�°b�" �0iJf ‹ÜvHH,ťAÂş63’Xú"ÇĚ—ęň@r\'@b±g ‹iťÉ‘{qęŔ¶ĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺ·tĺ)(-ż��b€Äb?V>1ŐÎAb±ËNLą1H,�0dṟ́:ëHmVuÇf%NőنŤěťcU_*ł1‹}h#mÜQäGh`«(Ylil�ŁY€r"Ó‹]“;}ÉlAb‘ۉĄ{€Đn\ýÁGý¸m҉!‰%n噍ĐRT]´${¶ ±Č‘Ö™ą§l =–śĘÄ•ß"bşňË)Je©+#Yws,W~KWž‚2ŃňkY�€ ±ŘŹ•OLµsXěDzSn  � 8ł@¬Î:R›UÝƱYɇSýh‡ac{çXŐ—ĘěGGĚbÚHwůŘ*J[›�Ŕ¨D`…ĂäN_2[Xä¶% ±1‹KÓŁÄl}2 ô­g_T]´${¶Ą#±äŘ‹IëLŽÜ‹S¶…KNeâĘo1]ů奲ԕ‘¬»9–‰+żĄ+OA™hůµ,�@ XěÇĘ'¦Ú9H,öcى)7‰�† śY Vg©ÍŞnăجäĂ©~´Ă°±‚˝s¬ęKeöŁ#f±m¤Ť;Šü l%‹-ŤM�`" °‚ar§/™-H,rŰ%± TĚůÚL™‰Ą7ÇÁÄ”ä¸éłłU-ĉŞ-H,–Beěŕĺ-+ʶĐcÉ©L\ů-"¦+żś˘T–ş2’u7Ç2qĺ·tĺ)(-ż–e��(‹ýXůÄT;‰Ĺ~,;1ĺĆEXr˝=�Ŕ¨3 Äę¬#µY_m›•|8ŐŹv6V°wŽU}©Ě~tÄ,öˇŤ´qG‘ˇ­˘d±Ą± �Ś*@dV(Lîô%ł‰En[0‰Ąp0Ý6y@1çkS°śP<÷ś˘;đ5hv–˘ę˘…Ř ±Řł‰ĹR¨ŚĽĽeEŮz,9•‰+żEÄtĺ—S”ĘRWF˛îćX&®ü–®<e˘ĺײ ��%@b±+źjç ±ŘŹe'¦Ü$�2pfXťu¤6뫍cł’§úŃĂĆ öαŞ/•ŮŹŽĹ>´‘6î(ň#4°U”,¶46€Q,Ŕ „Éťľd¶ ±ČmGÄ’>ôŇ@'Áń&-'äé34-=›n2KQuŃBlXěŮ‚Äb)TĆ^޲˘l =–śĘÄ•ß"bşňË)Je©+#Yws,W~KWž‚2ŃňkY�€ ±ŘŹ•OLµsXěDzSn  � 8ł@¬Î:R›őŐƱYɇSýh‡ac{çXŐ—ĘěGGĚbÚHwůŘ*J[›�Ŕ¨D`…ÁäN_2[Xä¶e$±F6Ş™X岜PúňAԥ뉉 Ýqó·gXlÚ‚Äb)TĆ^޲˘l =–śĘÄ•ß"b lŰÍ•´L´mÝČ2®ÔWÂş›c™¸ň[şű— L´üZ–� H,öcĺSí$ű±ěÄ”Ä�CÎ,«łŽÔf}µqlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇6ŇĆE~„¶Š’Ĺ–Ć&�P€Č¬ ÜéKf ‹Ü¶`‹®­Ö bkV›q•,'Ô5ÚˇXNhđňA}Z;OÄf)¸N€ÄbĎ$KČŘÁË[V”mˇÇ’S™¸ň[DĚą˛™”–‰¶­;Ů >lbÓXşş›c™¸ň[şű— L´üZ–� H,öcĺSí$ű±ěÄ”Ä�CÎ,«łŽÔf}µqlVňáT?ÚaŘXÁŢ9VőĄ2űŃłŽ’8qĂŔŹĐŔVQ˛ŘŇŘ�ĘY€“;}ÉlAb‘ۉĄ{€5tú„J[-’ăMZN(®’F0‰Ţ(&č©É,¬©§¶•Áđú�‰Ĺž-H,0ś/ć‡Â¶ĐcÉŘéĄó“łßlł­¨dŁUWz›}w4ÝďĐÖÝËÄ•ßŇÝże˘ĺײ ��%\’X’f#v‹­O€Äâ6žťŮ€Ä�@�Î,«łŽÔf}µqlVňáT?ÚaŘXÁŢ9VőĄ2űѳ؇68qĂŔŹĐŔVQ˛ŘŇŘ�ĘY€�“;}ÉlAb‘ŰŽ:‰%ĹVđQpĽš3±ôćĐ=řÇqĹH!ŃG˘mf\'@b±g ‹;ŚÜ‹S¶…KĆN÷(ťźśü&Ľ#KµK–qŠ|d)r%wt$ënŽeâĘoéî_‚2ŃňkY¦#€ [$=?ÜŇĄś{}“1fŇńx¦@‰Ĺm<;1ł;�‰�€�śY®.zĽfĄl°ql:Ş:ď98UCl¬`ď«úR™ýčYGÉ ś¸aŕGh`«(Ylil�e,@Éar§/™-H,rŰX|Y˝V§FŁÖÖkÔë]ÄŻR!u|Áń*®;ŐŹÔüxÜÖt`ŞŽuš«JĄÚÜ®6˙V4fgáą × XěŮ‚Äâ#÷âÔmˇÇ’±Ó=Jç'ż›Mă‚ŃĂ!>·}ÜŃ‘¬»9–‰+żĄ» ĘDËŻe™Ž�V0LI,ŮěąeC9!öúĆbĚř1{ŠĆ$·ńěÄĚî�$��pfÁ`5 uÖ‘Ú¬Ż¦ÇćCW5IĎk Yfž]Ѹ ôˇęKeöŁ#f±mp↡­˘d±Ą± �” ˛�%†Éťľd¶ ±Čm‡€Ä˘c«"±Ôk5ZZ\l~m$ęű µŻ¬1úą%a.µĺZKîQ˝ů_mąŮ€ŤŹÓřÄD’apĽ˛)ť;qĺ0,cXěŮ‚Äâ#÷âÔmˇÇ’±Ó=JçDZßÄfÎ &«” Ľľ<Ű®ÝĘ2ü\OćÜ6Ç2qĺ·t÷/A™hůµ,Ó‘Ŕ †´Ď(łkµ˛ąŐÉŘë‡1ă?‰÷[AbqĎNĚě@b� �g kÔ3Ö‘Ú¬ŻŇcŞ&űŕŽĎ0 +Ř;ÇŞľTf?:bűĐ'nřŘ*J[›�@Y" PRÜéKf ‹ÜvHH,ťÁ>N‘wí ţÔ–—iöčQZZ§ĹÍżÇgiynęő:m۰ž&§Ć‰D‡Ź§ý‡Ź…d—¦i˝ŃfDi4ý4ęŤ FĂ'†ř˙UüăQĹ˙Űp«řłąô}ZłĽx•đ{%¦W ĽtŮűçşâë6˙cŹiőŞUô3Ď Ë ™Ďí÷Ýä061N•™iŞ®_Cc3S´jő*šš™ Ź7ărBÉł˛\'@b±g ‹;ŚÜ‹S¶…KĆN÷(ťÇ~MI,ś(c#ż®dIůJ .W÷Úş›c™¸ň[şű— L´üZ–éČ`CBF‘˙X‚[ö”bŻośÇŚÇŠľ‹;™â ”Z=^=g ±¸‰g·�°Ŕ’ľ«– ë(eCÖc3TU:áîÍ6Ľţ]i® ěťcU_*ł1‹}h7 ü l%‹-ŤM� Ě�‘�ş`ŇJ ˇ-H,rŰQž‰Ąµoqa=ú(-ťĄ…GöQ}i‰ yˇŐë šÜş‰VMMşÇŽŁĄcłmY¤×Ůg7ńÉ'>9%üëËűDä•4÷Číýˇµ-Őć߉fZë×®iŇx­oĽZťh~‰¸yLKkWÓüúŐ´vĂúćguČ,Ý‚Ůfe)¸N€ÄbĎ$7(Ó‹\ŰBŹ%c§{”ÎŹcż KËD±»YŹĽo</ŁßM®–ť¶ÜŘ6Ç2qĺ·t÷/A™hůµ,Ó‘Ŕ FVBŠŮlźÜňA9!ŢŹ$ÇčŔ±{Ą|fQýxý±ó‰e?f†Q$ăŮ€Ä�@�Î 0yŽMUaĄlČrlT•NXC¬ÓIJ±‚˝s¬ęKeöŁ#f%3p↡­˘d±Ą± �” ˛�@ć,Ce ‹ÜvH,ńé†5 ‚?>‰ĺČÁC´|ř-<˛—ęµÂm‚ w˝ĐęěďŐK"±„ł­x 2OApéŐé•Uúîúü4÷UfORĄy'*ˇlőşµÍiô­{ "łtË ® ±Řł‰ĄŚŇ‹\ŰBŹĹâ ×°ťÇ~ł’XRÇŠTeŇł»ď%žĹăl·aç6žž—Ĺ®!\j(Mnl›^&Öd®ü–îţ%(-ż–e:r�XÁ�‰Ĺ~¬¤Ů‘-ž*¶ËXöcfE2Ž™ÝH,��`M…çÔ.•ľŠé ˘ę›ČG/<µÖ Ă)îRóÉZHČâGGĚ:JfŕÄ ?B[EÉbKcCC� €Č�ĚX†Ę$ąíĚÄHF ő:ť<>Kő…Zܵ/ŘŽ)ö¤ŹPmą,;´jŐLĐŻŮ·ď�ízdOk !ţßś’h9 Š– ˘ÖËłh!Ş´—ęč„2Š+˙î/1D-ť–MěűÚµkš/ȸó¦o ňß°qťyÖN g|™_$>ą@ó“ó4>9N“ţ 3}Ë ™ťg÷ö ‹M[XŠÁ(˝Č5±-ôX2vşGéü8ö«KbŃO‰•Éŕ™ŃtlíČ8ľţ·Â6ńeXÂ9ĐťĄe`“[hÝeˇť@ćĘoéî_‚2ŃňkY¦#€Ś,¤6~ŁÍ-?”bŻośÇěŔŞ6žLggQH,öcى)7  \`5:UBůŚË©*NęťÎ±‰}dTfeWçWĄę)łŠT}©Ě~tÄňó« íA—,~„¶Š’µw ü85€‘,�`tłB[Xä¶ŁNbi훟› 䋏˘z­, ä/ËsĂ׾C>đH[ý¶ďÝIĂŚĎćË÷oÚĽ^úňëiÍšŐÁ ŢÄÉyŞoXCó'çB"Ë�¨gei8Lµ‰Ĺž-H,Ĺ`”^äšŘz,;ÝŁt~űµIbé&Ť^Îxn{ź‚vO5NŐ’y źq]íÉÍś^'9–‰+żĄ» ĘDËŻe™©-�” ±ŘŹ•%¦|vNńKˇç $7ńĚăćŤ*°‚Ŕť*1H§§ňĄÜńÉ:tŽMě# ¸ÇŹ7H#ŐĄ-›«çÉŢ©VőĄ2űŃłŽ’t]2űŘ*J[›ŔHD`…Ăäf?„¶ ±Čm‡Ä’i0¦»Ľ´Ř.=Ţž‰ĺűî"±Ś2<B˙óůŻÓ‹~ŕŮá2C ˘úrŤęŐj@Ü©ŽŤ‘ţ¬,× XěŮ‚ÄbÉÖb(˛˘l =–ŚťîQ:?ŽýęXX!kĘdŔî®ř9śŰ,3ŁřłžuěĽD»hLo,-źLrc[˝2±"sĺ·t÷/A™hůµ,3µ€’Ă&‰%śńłm ŇhéQN˝ľ) ®·IŁÁڦ%Y%;™%­,Č"ôśÄâ&žyÜ<c˘QVXC S%şú”’±őd©řľˇslŮ9›śŇˇ÷ô3jů¸˘­[śŞ/•ŮŹŽu”ĚŔ‰~„¶Š’Ĺ–Ć&}†h^’D`Ăä?„¶ ±ČmGh&–@ĘęŃöz-¬/.¶‰,űöî'Wđ—'ň %077Ě“„SOŰF×\{9ť81G_řě×iaa‰tđđ»BKł—üms40ZŤ”zČ,ý× XěŮ‚ÄbÉÖb(˛˘l =–ŚťîQ:?Žýš’XúÚÚ„2i« ÁőĄ"Î¨šż®Ą .ą´Ą†¸‘2đčô:aˇť@ćĘoéî_‚2ŃňkYfj �%‡M‹?C¨N…[i$–č{8K(5ű¶U…Ť.™%m<,BĎH,nâ™ÇÍ3&U`5:U˘Ý×äT•Áű8YI ťcúĐ˝ŻxQç”ÓÂD ^šbçŻÎ”¤B-¨úR™ýčYGÉ ś¸aŕGh`«(YlilŇgćX�‘Xˇ0ąĂˇ-H,rŰ#± 6‰?qwÍÁBźDâ“;––ô"YqćŮ;éş§>1Qţŕý»čË_üv˘ü’KΧ©éÉŕsĆ™;é®;ď',,,’_xŃ/×j‹‹4¶j*Ă`kď‹H»żpKµ‰Ĺž-H,–l-†r!+ʶĐcÉŘéĄóăŘŻK «G ‹—%Č㏠IÍ]4KË öPg©ˇÄÉĐś^',´Č\ů-ÝýKP&Z~-ËLm ä0_"¨ż/ę˙řŕűžţTşćš«hçÎť455A@دݵk7}ĺ+_§Ď}ţ‹ÍţűŤŹ›śuąÄb?–ťrcX�`ČŔť*áë¤ÍtÖów ÔfőÓ96±Ź .ş–üÜĺ[©Šá¶ö”¤ú*ZPőĄ2űѳ؇68qĂŔŹĐŔVQ˛ŘŇؤĎÍ+°B�" °ar‡B[Xä¶e ±ôŘĆŁŮXü۱jcďžôťoŢš8#ËŢ˝”öŹî?H[OŮn<LYŕ“X˘YYjµZĐ éLgí‰I$m/$ÄbÓ$K¶Cąe[č±dětŹŇůżś k4k ŞŐŁ65”±ć€§îp,‹ÉuHÖnąwżGk¦Ş‰vI>űČ,NË“…v™+żĄ» ĘDËŻe™©-�”YűŽIúţţĺĺ%Z·v-ýŇ/ý,ť~úitcjj’Î=÷ěŕó´§]Gň'AÇŽ Č,‰ĄŞ`¤ő…É"ôśÄâ&žyÜ<c˘QVXC S%‚~¨Z±‘ę€Ç’Ţ8tŽMěc�TmÝ€>hÜŚ• xÝ›J5Ť„mÝâ4ÇôüčYěCś¸aŕGh`«(YlilŇgćXA�‘Xa0ąĂˇ-H,rŰ!'±¨{vPRÜh6–pr7O7‹ ‹tűm÷’7}çÚő𣴰°@'fç2ŮĆ—j4bŹâńÁ˝oÔL,†e ‹=[X,ŮZ ĺBV”mˇÇ’±Ó=Jç'żi3¦p‚ĚoGć–­öÄ ÜH´RěŐćpnçŔÉRZŹ˝ă„~[´§=V‘_­q=§× í2W~Kw˙”‰–_Ë2S[�(9l‘X|ÔjËÁŹ@bŃĂ™gžNo~óĎŇoţÖďç.if–ÁduąÄb?–ťrcX�`ČŔť*ŃHąźSę?¬¬6«źÎ±‰}$é'těîzň€`túĽ´qN[nÓÇpmťcU_*ł1‹}h7 ü 4|h…a±Ą±Iź!šW`…D`Áä?„¶ ±ČmK8KđŤ»żwĎČBC‹˛ÍÄÁĽk´, ® ±Řł‰Ĺ’­E ăËĆ‘{ ś 4lçvŘbf°ĺY˝9Úuŕř2_ś˘ŮS_@'×]Jß»évz×;?BGŽčö•Ż~˝é'ß@*Ľým˙Dď{Ď) ô§żKOşćŠDąßŽ˙ÄŹýşóö»TnhŐŞz×ű˙‘6nÚ¨sřŕazőý(ÍÍÍ+}]xńcčožUwlďWPŤ}±ámÚauĹq>‚2ŃňkYfj �%‡ÍY<ëőzĐ<óOm“XüY4˙ĺźßOźýĚ—čđˇŁmÚĽžů¬§ĐŹĽţĺ466YľďűžJźýě‚sX­V5Ľ¤ĽŇ´zoÓs‹›xćqóډFXA°Aô𡠱pĎßnaŹÔfőłqlVňáŘIčqŘb­Ä÷¶—ĆM\úÖ˙G6Ă™®ŠT}©Ě~tĬŁdNÜ0đ#4°U”¬˝Sŕ'Ł!šW`˘B�°"`r‡B[Xä¶%%± ‚˙«r×K ‰h6˙W~Ę:Ń3kŤě\–H,ölAb±dkĂř˛qä^'( Űą¶=ňľŰ»†_źÄrđř2[š¤Cç˙4Ímx"y•1zÜ口g<űşDóľ˙#´{×Rá5Ż%mܸŇđ×ń÷ToľÜKBĄRˇźţů7)–qňäýăŰ˙E©łqóFzÍë^Ii¸ă¶i¦6¸”baJ~Ůa|ť¨+Žó”‰–_Ë2—~ ô‘T6ŤF=ř{íµOjďű×w|€>𾏂ÄáGčýďýHpn"<ąuΙU{_Z&ę‘Eč9‰ĹM<ó¸yĆDĂ ¬ °¦ ­Z4’ÇÓO­AőĹejĚ/Qc®ő9ą~‚íÖß“1y[Ďŕ37čł°?!öśágľo>áÓ̧îçß×<Wţ9ăŢľi*ÉB0`ë§ęKeöŁ#f±m¤ž_‰ˇ†­0,¶46é3Dó ¬P€Č¬�Üá‡Đ$ąmŮH,)Ë…$V€Ť2"‹˙×w˝ĚLěĄ$‚ĹoÝ”^Ab±i ‹%[‹¶—Ť&¶…KĆN÷(ťź!ń;h<Ĺżďź«Q˝ŮLÎnżžj›şlžűü§ŃË^~= Âňň2ýÍ_ţ©ŕĎň†7˝–ŇđČĂ»č??ř1ĄÎĹ—\HĎ|ÎÓ) źúÄgéÎŰďVęüŕ+_L;wžJYĐn#ÓĆPś–§€0ş2|e˘ĺײ̥_�(\üč!ryę©;Úű>óé/0źůďÎą9í´°ŤN/µH,öcى)7‰�† śY0 ‹˙ŹOĘh,ŐęîLbgpÂÇ*28´Ű?¤<¦Î°JěĽ4Ď)/ׂs×BOíŔj$lë|ŞúR™ýčYěCś¸aŕGh`«(SŻMŘhżŃĽ+XZ(9LîđCh ‹Ü¶$ŐŻ® >v/-Tľ§ť®Ą…Ř`:H% Ë${¶ ±X˛µa{Ůhb[č±dětŹŇůżĆS˘vqa9Ü^Xé@W>™ĹÇ?đń>ŮWżü úÖ ßˇ+®z%áy/x6}ě#źL%—üË?ľ›žń¬§)—zÓOĽžľňĄŻÓĽbY żÍ˙«·ľťŢö÷š8‹żtÁ›~úŃoţňď‘ ţŠ{ŕć``ŻĎ.ťŢóα©śŤË“…v™+żĄ» ĘDËŻe™Kż�PHű‰şvSS“íď‰%‡wÎÍÔÔTë›ú¶łŰzXěDzSn  � 8@đĽ=n׎ĎQen‰®9¶@—źX˘íK5š@USb©Ů4îŻŇ·WŤÓ7ÖMRmj‚ĆÖĚ?těe}?ďđÚ:諭Tf?:bűĐ'nřhřĐ ĂbKc“>CÔy`…3˛�%†É~mAb‘ŰŽ‰E=(¨7"±Ô#Ć~ÉÍĆâŢqë�ŮÖł±=ÄbÓ$K¶1l/Ml =;\©2W~‹™ ךa ]«ý¨L$šůd–—żň…eoűóżK]č§~NoY wü㻕:›·l¦~őRn»őúügŐżzżî)×( 8z/ŐÄg§×‰ĺ+Ą® [™hůµ,sé�J€"ěĐőŁ„ü‘!m<,BĎH,nâ™ÇÍ3&N`3 ’ŐT¶`wiůđ Z}t~n×1zńˇ9:c$řç茥:˝ôHóÜí>AkŽ-R­y.ýs:řަ1“ą­ó®ęKeöŁ#f±mŘ‹·ŃîhřĐ ĂbKc“>CÔy��‘(+LîđCh ‹Ü¶lË ĄiĞȻfdѰ]}Εtę ~•Îzí_Ń™ŻüSÚö´Ą‰őŰSíü©˝ž×X¦?®/Đ;–çč/—çéuő%Z§1ň1==E?đâçŃďţáŻĐ_Ľíéw~˙Ítý‹žM““©¶^‹Ä,ťÔ‹»f3ŹÂ–H,ölAb±dkĂö˛ŃĶĐcÉŘéĄó3ä~{_Üé4Ď~ÎS’Yzđúȇ>ˇ´˝ä±ŃÓżď:JĂÇ?ú)şëÎ{•:?ôŞ—Ń)Ű·QŢţ¶˘…ůĄÎOţě©:VĄ4pʸžęüĄŮ‚ÄR@Lă|e˘ĺײ̥_�(Ę8cçĘ�H,vb‚Äb7&î'Ŕ BV +ÔH,ţ?őăóTY\¦7Kud8uąNo<x’*Ë5ŞĎÎçvđŹ ÷1 ž‹T}©Ě~tĬŁdNÜ0đ#4Đđˇ†Ĺ–Ć&}†h^ �–€.´ŽlAb‘Ű®0K/ÂŮX˘Ą…ŠžG[źňżhÝ…OďÚ=ľn­>÷Úű鿤ą‡ohęÓM~«¶@—p§Sµˇ™ëéÍOmÔč-cSô°73ąqĂzúĺ_˙™ć ą­í}ë7¬Ą3Ď:ť®ľú‰ôGř—tbö%¦M^‹¨ÓKÓI?WţŔmň/ŕ Ë ${¶ ±X˛µa{Ůhb[č±dětŹŇů2ż˝cEKźĚrôř~ú›ży{×ţ={¤FM=şu|n?ÝűĐw•:~»tôČÁ¦Żł“•šmŢţĂ4}ÝĄôuäÄfZ\X ‰q1´Ův?đČ-´´´” đÄÁ—jĽ ĺÎźľ[v„ ÔÇůĘDËŻe™Kż�P’X@‚) ^xĆÚdXěDzSn  � 8ł “z´»±¸ÜěŞ1]{|$ đÉ,W_˘ŻNŚç¶25ŢZžĎóAŞľTf?:bűĐH,ýd4Dó �m`F�häu�‰E˝×LSd[vKltaĐ@˘ż+>#‹*ľO`é%±D¨ŚMĐögýŤ­Z?Pţúúb‰%źĐň+µOýă?őş.K§ťľ~ôŤŻ"CKHÔ‰b\'@b±g ‹ÜV| —Ť&¶.dÚ¶;ÝŁt~ ň«śőCj—€—˙ŕËčMoú±ööégśA?ö¦75ŰËJâçö;oŁ|ŕý©ľŕĹ/ˇ«®~’Ň×;ßő/t÷ÝwĄúúĺ_ůZ·a˝Ň×ďýŢď(H,]Ź}/5‚vWł<ľqA@]qśŹ L´üZ–ąô �%@ľ$T*{PźKXěDz3OBI1QÇ ‰EŐRT8źláă ł‹ŘÁN†ý^^Ś–Öč¤r˛(T}©Ě~tÄŻI 8qĂŔŹĐ@ÇV[›ô˘y€.€Č�ŚźFěŰ‚Ä"·]á3±DčZZHŃAÚđřë•~*ăS´î˘gôíźićö̆ú—;š:W şśuöéô ÎUÚ^vůci{ŃĹGDb ‰:>Âc,bŔ$˶ ±Čm˝ú;EĽl4±u!Ó¶ÍŘéĄó3„~’/t|¦ŕ•Żřˇö÷ßú­·Đää¤R˙-żő›±¶j0¦¦¦čW~ő×”:GŹĄżřó·R.ľřúˇWĽR©óŐŻ|…ţűż?Eič»ëČë›ÝfQšÓ2auĹq>‚2ŃňkYVTL�Ś‰Ĺźe¤ ;PźKXěDzSn  � 8ł ł:Çţúł±ř•rŰ2fc±…íţąlžSng8ŘÇy<˙«úR™ýč5.2Sp↡†­0,¶46é3Dó �}ŔŇB�0Ś/'Ab‘Ű–”Ä’}Đ‘ŰË ©^žU¦VKĄarë9}űÎnć4®q|çqľÖS.çś{&éŕě¦ŢŢ˝űĘüYÂ[”5,'XěŮ‚Ä"·‰Ą™¶mĆN÷(ťźQóŽ ’iŤąöÉO¦ç>ďůJťŹ|äĂtĂ7ľAiř©źţ:őÔS•:üG˙—Ž9Biřťßý=ŞV«‰ňz˝NoyËo’̲Űt8u3ą!L ®8ÎGP&Z~-ËŠŠ �#‚"H,Şq’Ç]?ô˛ŤÇĽ˙ 4 H#ł¤—Kţĺ–Şe-Ą ŁHĆ1ł;�‰ĹM,�9pfAş:§Ś­7Âo“ !nľça’ńřóNďŰ×ţéI#ŤäX"˘Zsčřѳ؇68qĂŔŹĐ@ÇV[›ô˘y€�‘Xá0iŮ‚Ä"·]á3±ô.Ż'±x 'Ç3yć4ٱ1řĺĎČâçcĹ3Čǰś@b±g ‹Ü$–bdÚ¶;ÝŁt~FÍď€2‘Ôź(ňŰżó»Jť……úżđű”†;vĐ›~ü+uîľë.zďż˝‡Ňđ˘}?=éę«•:ď|çżŇťwÜAşđĎOŇíŮo{Ű/éX­ K1Ťó”‰–_˲˘bŔŔ&‰E—xÁ¨? {•­oZÖĘ5Ă(’qLÉŘ  q’<cš_¸?�#Î,©3eóxrÆömß‹ý!ěžŮźŚH ÉĂîdýŢÚ?¸HV1eÁ™Ćµ“ŞhőnřhřĐ ĂbËnŘhżŃ6@"@dV0LZG¶ ±Čm±śPźm›Äâ?‘'śźúâ Z>~€Ć×n!÷ßß·ďAŻJţʢi É}V±{čÁGHŢźü+pɤÖŇI4ř—ç]/ŘkdÔﱉŞ-H,rŰ>K˝ź"^6šŘşiŰfětŹŇů!żÁ‹7E™T*a[U«×é䉔†W˝ú5tá…)uţöoţšvíÚEiřÍßúmšžžVęüĆoüŐj5ĄŽż<ŃŻý†z¦y˘?ű˙ţĄá‚ /ěz/űÚő˝Ťžń—Aň`˙ {˝juĄŔ|e˘ĺײ¬¨�0"¶™X�]ä_n©ZÖRĘ0Šd3»XÜÄ’Ç€‚Ŕ™Ő˛ľpר$˙µisđĹh»Šçumű]®h?Q÷>˘Á?vdęĚvÝţ2…]čp°§-otÉ:©{JŇ~˘nűţ˝Ůźe®Ą”YWúŘ+‚´#˝q`U_* XWĚbÚŕÄ ?B¬u*“’ŕŘl´ßh@ Y€ “ÖÁ‘-H,r[Xl}RF%•qô–OĐ–'˙H˛×ĺE:vÇçűöźlşý\eŚžÓH~±¶·˙Żż©ąďŢéž»ď§óÎ?;Ńöć›o§Ý»÷%ĘC" 3łhŤ†XĄŮ3H,6mAb‘Ű‚ÄRŚLŰ6c§{”ÎĎříşý«ĆbeÂô>ţ_źÚ”[ľ{;ť<y’T¨T+tůOőÖ·%ęś<1G·Üt]÷¤g+}mÜ´žĽďaĄŻ=Ͷ°Z_•ęë¬sΠýű‡•:÷7ŰßKsĄáÂKÓü÷띊A;ťqĺłFjy˛ĐN sĺ·t÷/A™hůµ,+*&�ŚF…Ä2,Ë�Ť ’Ţż ˝éiY»”2Ś"ÇĚî�$7±ä1  pfľzOEH^ >I$–JlźŻUi[Ľ‰ĹëöÓ!xíĺw+ôšBKđ,á…}č5íJóż6eĄé0Ň‹bµź?âÓ€·–ëá`¬:~*:?—đí#ŰřŞ´Qkú—ĎUt~Sťµ˙1ëŠYěCś¸aŕGh 3üO`±Ą±Iź!ÚF�H,Ŕ „IëŕČ$ą-–ęłm÷Z$–JĹK\ZČÇŃŰ>K“[ϡµç?ąß}™ö~ţŻ©vâđ@Ű®NŇiÜ ‹¸żëu¬ű˙5ĺËŢŕĽ˙öm˙Bżň?C[·nî“ű/íţńďŢM*„K ©gdI†A§$»¶ ±ČmAb)F¦m›±Ó=JçgÔürŠRs÷ÜĂc´°<G«ÇÖÓęuëI…©‰Şí›&Őü(GO.ŇÖµ;( &·±“ŕ·é‹Ç‰¶­;•”h ®Y>Ąé+ą=¬sťs㩾*•*MÎnjůĄöi‹ż8k·˘É§t Ľëĺ§8HęŠă|e˘ĺײ¬¨�0"(ÓL,öHůŔĺ©çm˛7=-kÇ“aÉ8¦dl… 7‰�† śY VďSIú•Fâ$–J4öŰ&˛T‚~X5q4Nfˇ6Ń$tŇźL|öÖ•J«oĐ&ŞpH4a/Fr \…ű˘YZÚyR‡€âyˇĚkf¨˝/Ôé&Ú6ťÔÚÇmô|Óî¤RBçÖŞľTf?:bűĐ'nřHę”¶’ŕŘl´ßNĘ �ĘY€“»ş#[X䶉EiŰ&±(– Í™ýÂß5_~ÝBë.ţ>šŘp*qm‰ć÷ÜI‡żűQZ:˛;Ńt±ůyËŘ=·^٧rŤ¶5}ťhƻѫŇ«ătDřСĂô–_˙zţ žü˛}ýúµtäđQúÖ ßĄO~â󴸸HĘŁćFëĂ”mTÄđ\ÄbĎ$ąm$\˝l4±u!Ó¶ÍŘéĄó3j~egš{`Ľůďşŕ?ĚĄČ'iGó“ŽĆ‘t_kč,ŇÁÂŃ4ŤqZOç’ć5˙ą’ÂÍř_ďwŠľ•%µ\X!#»2W~Kw˙”‰–_˲˘bŔ`XH,Ş<FŤś’6ŽmQĹn±ę9‰ĹM<ó¸yĆ4ż@bFśY Vgi‰Ĺߎď‹˙mĎâB4p6ÍřňAţ•iĄôó"" wöQ‡ĐäÔšÝ%đAťŮWşň°?Ś'µx&Ôć¶®1™Ą¶\©úR™ýčYěCś¸aŕGh`\§TJ‚cłŃ~;)'�('@dVLîęŽlAb‘ۂĒj‘XB6~ĘĹÖěĚŢűµŕ“ËMß«ŽÓÇhś˛bnnŽ>řŹź¬gdáÖŚ,şçĐđ\ÄbĎ$ą-H,ĹČ´m3vşGéüŚš_NQŠí®P‰ß¨ ţ .i=ˇ4ăÖ@ă Q‚ÁĐĚ~QWç#(-ż–eEÄ,¸™€,pIbé÷Ýz±dň“źyo&ýç=ë•´Ň~Ž“ZÝ$]1u‘aÉ8fv ±¸‰%Ź �3 Äę<HµwĆmĺë„ÎĚ*ń™Xâ$F/"»´ô¨MhS–-rIHR©ŁE…8X.ČăŘ,-Í}‘4Ę­=ËJűâKőźŚ6‰…ŁŮb¸=CK`ÝC^1"łÄÍÜfĚôH3´«Şľ”47ĄĹ>´Á‰~„ęTv%Á±Ůhżť”�” ˛�+&wuG¶ ±ČmAbѲmO5YńěL‘8d,ŃŇB=§bĐ/ز î °‰Ĺž-H,r[XŠ‘iŰfětŹŇů5ż±2‰rőŽFđř€nĚ/5‚Ďĺ:ÓXĹž÷‡D”Öw0+Kją°BFve®ü–îţ%(-ż–eEÄLË�†eZNč�3±ŘŹe'¦Ü$�2pfZ=ÉŚÓ~†Ç]’PéZZ($±T}"K%š•%üYZ$ŻMfńá ŠäW‰‘Xáě+ěu-­ZĽFgF˙7 ÁdŮ­™[Řë,)‹fz cő[:3şŽ2KčĂ -‚~&·sµ˛ĚÔÎëٶŃa`]1‹}h7 ü 4|h…a±Ą±Iꎓr€rD`Ŕä®îČ$ą-H,Ú¶!‰Ą2pĘČ2 $°p03Kú‰áą‰Ĺž-H,r[XŠ‘iŰfětŹŇů5żś˘ÄýŰ•ł­4A˝Ů¶úź…ĺF0Ţé“Y¦Ć*ę%¸Óë’u^|z^˛ťĘ§¶Ě•ßŇÝż4ëIfż–eEÄLË�† ±” ±ŘŹe'¦Ü$�2pfXťu¤:CăŃrAí™XĽöě+]$f–Ö,-íe†Z3˛ôö ‡;3±xÁě+ˇ%č7GK U:K 5|ű€gţâ!ňĂ=‡_ZŰq»I-]KťIî"ł„łŔ´ú™R2‹­ű“Ş/•ŮŹŽĹ>´Á‰~„ĆuJĄ”çuĂżm,°Â�" PrÜŐŮ‚Ä"·‰%“mDb ?T:„K µfdQj&\×Ń/ÇÓlAb±g ‹Ü$–bdÚ¶;ÝŁt~FÍ/·_ŻQŰćŤffćéÂ‹îĄ /Ľ—¶n9DkVź¤U«ç’—ěÉł«hÜ[˘ĺ…qš?2CËG§i‚Ćiy‚izĽBăUŻV–Ö€ĺŔ¶U5ȇşR`>‚2ŃňkYVDL;U �rÁ¨“XR— ęmW†˝skéä€Äb?–ťrcX�`ČŔ™bu­qK&íĐŃrAíż^´ŻCl©FÄ–J¸ä|gy!ęëłĎ­™S*­™VŁe„¨őÝŁzŁô9ý±ŘŔ.<Ą.5äĎćŇ:ő„âË qWţݤ–´BÝł|S˝xÉ,iźZEç=űuÁě0 GöÓ_ú�qÝ'ŕDľÉ ŞľTf?:bűĐ'nř×)•’ŕŘl´ßNĘ �V@dJ “»ş#[Xä¶ ±d¶íZZ¨„ż4ÖmĺFJƤw ±Ř´‰En K12mŰŚťîQ:?Łć—S”c/Ĺvśł™fŹĚŃěá9˛…5kNŇ3źő%şâŠ›©Z­‡;+Ó䍭nŢ+Ö…Űü&®ůi´FąµŻümýf®Ł×–µlšXÝŚăcrő2Ńćą`ŕđÄľŐtđˇő49?FWŹŃĚDŚü“Z.éebMćĘoéî_‚2ŃňkYVDĚ´|�`0˛$–’Î`čŽMŻŔ@bqĎ<nž1Í/X€‘gŐYąŹ©5…‰6˘ń^"ݵDnk6–J‡¸RŤm'ÍĘŇ»FNďŚ,ĚĐŮh/-XšáÂYbË Q¸ÜPČ} —ňŃ– H2ťgöDŃńÄga‰ĎĐ é}d–h™¦AÄ–ń©şâ‡™¦7žJ{ö<BS«6Ó…/ţ9ňľűŻý'36Uh쫪ľT°®Ĺ>´Á‰~„Â:Ą§$86í·“r€•Y€’Âä®îČ$ą-H,"ŰÄâyúż2ç5ăÔ8e’ĽĄUvĎŐôcnŢĽ¶liľ´;q’öěŢ.ůىÓN­Ň¦ŤU:p°N»÷Öµl:K 5‚ŽS? Ď5H,ölAb‘Ű‚ÄRŚLŰ6c§{”ÎϨůĺĄ[K ťvá6Ú}÷:qxžlŕĘ«ľK/xá§ibb9 ŻT¦N'or;…]şfŰÉőf»Xkţ­ßĂO­ýa»©çuéÔ:6ŹĆŔŘţŔäšíł´jë :r˙&Úło5m\]ĄŤ«Ć±WęÜę»f<k †:»­™§uĹq>‚z˘ĺײ¬7ł�ĂLbÉ77 zĺ�‹›xćqóŚi~ Ú#Î,«łŽ4ă ÷ÂŇ™»#¨Ä˙¶÷Ç–jĎÜMÝł˛D3˛DËq{V/XZ($±T‚ĺ†( ·p×rCÁřl`GÂIŚ BÁwjí‚·fqéi¤ßúŠ™YşÎGŚĚ˛vz]ůŞ7ÓşígŰ““S´¸¸@4˝ž®Űv}y˙]ÄKµf?ZřZ4ĘǬ+f±mp↡qťR) ŽÍFűí¤ś2 `ä" �tÁ䦯°‰En ‹Ř¶{ÍTőEČkÇié•§SýŇ ­®ŕÍ×hě{iü3Ź*Ăźşs;˝îőŻ ó/8§˝ďđˇ#ôľűÝđŤUaéňÇMĐOţŻŐtúÎNstß5ú«śĄŰî\VÚĆ—Ş-,…ÇŃ91<× ±Řł‰En;l$–4¬¨—Ŕ J…ćcQ6j~9EIöâŮ_Z¨Ň@4ó]ńôü~š®ąö›ÍŤIެşĽ9đ¶“‚äŰ„ź€ Y y¸|<ŻóÝđ6R©2m:ď ŤĎ,ѡű7/,6­JčRrűźŮ•ąň[şű— L´üZ–Ó°~�@žőĺ„t°öő¦˘°řÝ÷ŃâMďŁŃ†^Äâ&žyÜ<cš_Ůb˘Á gŐ»ů<X*¬ŃRBZbKĹ˙zĄBŐÖlÝŐÖ2C‘Ź.‡#Ą´-ţÇ˙9ÄXÓŢźť…‚%…*á,,Í˝Ö÷xÂ-r ±Bť€Báţ…/űŻE˘ńóŽIŰç¨EfiÓbbł˛DX35C˙đš_j“X‚}kÖ†D–&vĎ wVtűçáqtmÚ¸±®Ĺ>´Á‰~„YëT&%Á±Ůhżť”Sż­*Pv€Č�mÜň¶ ±ČmAb‘ŰúŚüÖl,áŇB ď«ÇiáÍo™ěŢ?=FË/=Ťhă$Ťżďá¶§îÜAżů–ź§é™é®ý7m źřé˙E«VÍĐç?÷•¶W?q’ŢňKë¨ZíŢΙcô˙~{ýęoM&łtfda:qô8mń÷ŐŁĺ¤`© ‡Ż.n ‹Ü$–bdÚ¶;ÝŁt~FÍ/§(ĄŮ¶ä3˛Dż”3ő}ý ?CW_űMňĆ7QeÝ5äU¦ÂŮU‚YTšpĽHĽ|¨~"ś]Ąµ„P÷_Žm‡Änosř7a6–AX{ęńŔěČAÍuÓŐ®a>npWs—uŤëô6»¨+ŽóÔ-ż–eEÄňf�âX $Ŕz‹›xćqóŚi~€ÄŚ 8ł@¬Î:Rau–Šfd‰V ňÚËuĎĚRŤĆ‡#’KL§++űpÜšq%ŘľWBňIČa dáŚ,Qů%Ďj-OÔň.7ä…ý?jQW˘YYZKµgy Ă„ţŰL uťYY˘oë¦WÓ?ľöÍtńŽ3ŰÇSŻŐčč±#ˇżćńßż»9¶˝qyŐh¦҇Ş/•¬+f±mp↡qťR) ŽÍFűí¤śú…hU•�Y� €É-_a ‹Ü$ąmëÜu–R/°üý;úH,]ň§oĄĘwSőž}˛×żá}$–8^ůę—Đwoü9r¬k˙Ô¤G?˙ăkúH,Ć›­Ó/ţďµôúź9Lµúŕsź‘ea1š‘E˙%\?3±Ř´‰En K12mŰŚťîQ:?Łć—S”zvw ˛÷Č<3˛ř 4ßOĽň;tőµ7$–ę†g>Xüß·-í'^¸żů÷�qźX»ó8-ťś Ł‡ÖĐÄGÓă­ălň hPW ĚGŻžd÷kYVDL“|� g€Ä’"2ŞĹżRĐ‹‹›xćqóŚi~€ÄŚ 8ł@¬Î:RÎlŘFoűÔ&°Pk¦–B Ĺ–ňĽJ{Yˇ>"KűSˇ°5ă¶$ ¨´&ţlű­źl´–ň·cł­řKŔGy˛’U8ň[~(Šë“V˘ßaF#»™%Zf( ÖPg‰ˇtĂ´fr†ţţ5żŘMb©×iďľÝT[^ĆĆ?óŻFŤSŞál/YŔ¨ęKeöŁ#f±mp↡qťR) ŽÍFűí¤śú…hU•Y�Ŕč–Ż°‰En ‹Ü6ösç s-+”ôŢ|Ż]ą‘ŇPżjs‘eëÖÍtŢůg+í&&&čŠ+/ŁO˙÷˙tíżěq´a˝úĹŢ)ŰŞtń…c‰ł˛4áŻĚÖ˙˛˙ tĂs ‹=[Xä¶ ±#Ó¶ÍŘéĄó3j~9E)Ł_3˛TZ~ĄľW­>AĎ»ţSárBëźÚü;N>‰…y‘ÇľAĽ´ŹŠĆ¦sÓžĂÓtl®B“k+ňSł• łałQ–şâ4A=ŃňkYVDL“|� g”‰Ä˘C™}Ç‹iá9x¦Đ‡^Äâ&žyÜ<cš_ ±�#Î,«ł©MtČ+^|çŔe:Äj“X:ËuymSÚś•ćßđ[řÝ —ĺiÍÎâ5Ç”ĎÜt ťµy{°dŃťű˘{Ýe°äm‹hâµç`áÎ,,áV‹2ăË՛㼙ĄŢZf(\ŢČëň‡żśĐßżć—č±§vƧýńâ}űvÓňŇR‹ÄňVâ#ŹwÖNĘ U_*ł1‹}h7 ü Śë”JIpl6Úo'ĺÔ/D« ¬$€Č¬pÜň¶ ±ČmAb‘ŰöĚŮÍƢZZW7›©*Ąfłe˘oßć-›H[¶öëmߪ÷ëôíŰ’‰,ţě+áŇBŤ©E Ö¨ł [#”đÚ‰En K12mŰŚťîQ:?Łć—S”~+žý—NŃ`ˇÔ÷3žýyšlľ­ľ˛9H8I‰Ą1OŤ#ź'®§a€WmĐšÓŽŃ®ÍtbˇNk§:´n >†ÔĐ€D­śşâ4A=ŃňkYVDL“|� g`& z‹›xćqóŚi~€ÄŚ JHbéE4űJđ˝ER‰öĹ©.Ń;Ë u“/˝ÖT4ĎJ{†ź´âqkŞ”U›űĆcč™>!XŇ'Â3/|"}ńîď҇ľű•p|‹ĂŔ'Ç– č(­YZíďdüx?Pű{‡HC_riµ?Ë«‘.é%±ěÝMK‹‹]$–S7Żiö©3ΔŞęKeöŁ#f±mp↡qťR) ŽÍFűí¤śú…hU•Y€ “[ľÂ$ą-H,rŰÎŚŚť]íĄ…’ îÍ×Ő/"ś¬÷íš;9G:;9ß·oö¤Ţ1ž8‘LP‰/-d0ä‹M[Xä¶VI,9tiVÔKŕĄBó±(5żś˘$ô둥…ÂUÉEľ§gćč˛'ŢH^µ9ŕ6ął™{-Řß8öőd‹?¶¸Čťą%đ×<źđ(ËjH«·§“o¤“‹Dk&+ý“Ŕi”I0+K;MżVeEÄ4ÎGPO´üZ–Ó$�Č ±�éĐéÔH,Žâ™ÇÍ3¦ůE� 02ṟ́:KĄ+”ťzÓKRé’yÝ®Đ^«M H'ář˛żß'ŔśľńúË®ŁÍ«×·őăŻŐźzţeôíď˘ÝG7;•Üę“DQü®*·– — ‰âSU*mťfź2Xš[­›×öćvî«'fčďËYťÔ›~Ý·‡úH,­BÇvtFŰ})ĂĽ°®u”ĚŔ‰~„ĆuJĄ$86í·“rę˘UV"@dV(LnůĘ· r[ÓŘBŰ Ă$‡†-H,rŰ„s.+TQ/-´Ü ę]Ç©~ÁZRaěÖc}ű~x7=rśÖoPŰŢ|óm}űľű˝%ŞŐ™ĆŞÉ•fq‰é–Ű–ĺ% ˛°pŔ)óş¨q[#”đÚ‰En;J$v(Ď[¦m›±Óí<‹˛QóË)J~]ĚČRiýÚMâű1ŢŐ|kŢMťNŃ2zţRB–ŞkĐÂ}uŞlę™X"4ÓŰXˇ©s«4¶!ťŃR©ŤŻ?I4»†k šďŘpűGŰB…Ó•RWść#¨'Z~-ËŠiÚ–@ŽXÉ$–O|ú=d‚÷Ľë?šź˙¤ňCŻŔ@bqĎ<nž1Í/X€‘gŐŮÔ#D44´gÔ¤i%üŢZŠÂľíÓλ”žrŢăŰý;n{Ü˝äĎ)k7ŇÜň=˙’«čÜ­§ŇR­F˝ů+ô˝Ý4ýpgvĆ—örBŞsř=śŮ3\Ö[żŇ–ň±zbšţöŐż@—ěč&±řË -,Ě&±d;qdĄÜXWĚbÚŕÄ ?Bă:ĄR›ŤöŰI9ő ŃŞ+ ˛�+&·|…-H,r[Xä¶=Ë Ĺ_ZHuyŽx7Ő±ů`?6XËŰ5GŐőí÷;x˙‡éŤ?ţÚDß7|ăFş˙ľ‡úö<Ô ˙üŻyzů÷Ď$Úľ÷?NŇńÉç$$°„K eÁaĚÄbÓ$ąí¨ÍÄb~ä^'(šŹE٨ůĺ%CżŤYS&¦Çiý)«‚µŔuŕ·ľk64Űąs(3.żâ{ˇŹ‰mä/)¤:woźŢňžÍÝşL‡ϤGGső ¤jőývsîŘŐ—ë‰:3Çiç±»hűáhć˘1š8-} Âé 'hav Í/7hjĽ’üc7Jţ!\— ĺe©źĆůꉖ_˲"bšä�93±Âó’É”QDąĄjYK)Ă(’qĚě@bqK *P 8ł@¬Î:RŐ! x­¶›ÂńQż’†ű˝öľ`٢öĚ(ŃúÎCŔga/ ¬ťšˇ—=á©´sĂÖŔEµ=9x‹ĚĺrććíôŇ'<­Ů/ě,S˙#×<—~ë#ďhöjJŰ6XB(śŤ% ¶°Oš©´bsłPťą=+Ëę©iúëţů>ËţG÷ŇÂü|ĐW‰EĺÇŔ©ŤvǸN©”ÇfŁývRNýB´ŞŔJ,Ŕ É-_a ‹Ü$ąmű©°­?KDfQ]Ł•NŇäßÝGKŻ?‹x¦űeUőţ“4ńö拳úŕ_ýň7iŐŞUôCŻü~ënRľůŤéźţá݉q˙ůßNĐä„G/zîtWçÉçĄ|ŕŁsôŢ©—. ,ŃŻÔ) $›¶ ±ČmAb)F¦m›±Óí<‹˛QóË)JbęĚšrŢ•;hrőeÁÚ-3Á'+6oÚ×Lj˛yź§`Yˇć‡—véÔg™foť {'ßL‡W]­í»6»Dw~ůaĄÎw~.]xîďŇŐőŁ´im…ŞëÔç§2Π¶\׬E]qśŹ žhůµ,+"¦I>�3V ‰Ą˘‰k蓝ňŐó‹›xćqóŚi~€ÄŚ 8ł@¬Î:RŐ!X’‡:Ä‘^RKHhˇöx]$h)­1TŻEvim$ĆÚ˛f=˝ňĘgŇš©Ţ>m{PşkÓ˙síąŹíó3VŁUS´°ĽŞä—ÖŇE­D™Ĺ[>˝ µî>‰ĺo^ůstQŚÄâăŔţ}47w2 ±üźúszެ‰ĹłP`¬+f±mp↡qťR) ŽÍFűí¤śú…hU•Y€“[ľÂ$ą-H,r[ĹL,m•Ö/ĐÂŽ€úB­Ţr”¦~ýŞ?q#5vL-5hěîYŞÜv,5˝Oę ôíoÝDW>é2Úşe3ť8q’nąůvş÷ž”vő:ŃŰţi–ţëÓótíU“´iC…lĐWnX GöÔ) ţ˛BŮgdaXlÚ‚Ä"·‰Ą™¶mĆN·ó|,ĘFÍ/§(YŠéi4w~éĘ Ďz ňŞ) ±řS*/¦Ţ¤çďcúčŤ?FŹÎnmnÝGY sĽ{ONŇvm¤ëď;B«/ov+ÓTYsy`[źýQcľ­[ťlMq=q™řË")ßý•Ą®8ÍGPO´üZ–ÓU>�ŕ�+ĢCö¸ţ9ݦ˛ÂśŔŁW` ±¸‰g7ĎćH,ŔČ€3 Äę¬#͡:tVZŰÜłM­ĺzB’FH‰ţí÷×Iú¬Í§ĐK/*MŚMPŇÁx}’ŚŇ«=·´HÇNtČ*±ĺRMŚÔ·F´›ňŐ“ÓôWŻřYşhÇ™]~}ËÉ“'Ë/üó_Đ-GvŃŹž"ź‰%m¦=?:bÖQ2'nř×)•’ŕŘl´ßNĘ©_V�@dV Lnů [Xä¶ ±ČmSfb‰ĐYZ¨˘EŢđćę4öĄ$ÁáCGčS˙<Iđŕ#µŕ“áŇBŤ€Č˘9ŚgĐľş\¸-H,r[XŠ‘iŰfět;ĎǢlÔürŠ’Ĺ:K ĺ‰ęd˝yŻhvŐZDŞźčÓąőÖ«éŔě9Î2â™ÓtÓ#Ý·k†ůy[šÍh3'Ż,yÄ ¶uÇ&ĂżÜhýĄŘZëÁçŢ__CÓ8A=ŃňkYVDLWů�€`9! š˝_kĺšaÉ8fv ±¸‰%‹‰› P 8ł@¬Î:R‡Ő!"Ą„;]3łx±ĺ†8×:\Ć'Đň˘©OúpńŽłč…Ź»&¶ĚO µEš›P ö“Yî~ôaj0·ĄAţ­źWDÇá…Ś›PĂëĚ9łzÂ'±ü ]¸ýĚ®(č#±LlZŰ”¤˙8˛ AH ĆşbűĐ'nř×)•’ŕŘl´ßNĘ©_¨Í/Pr€Č¬�Üɶ ±ČmAb‘ŰjĚÄŇV H,Ŭ žK@daJ]aĚÄbÓ$ą-H,ĹČ´m3vşťçcQ6j~9EÉrĚʰµ•ÁĎŃŞÍ|ýA¸f{×Xęű„‘;ąÖiŢ;ÖOP­~×ń=®?Ôʧ÷D†żŞŁäöˇgĚÇKĄŮć"+"¦q>‚z˘ĺײ¬®ň��‰H‡^Äâ&žyÜ<cš_ ±�#Î,«łŽ4‡ęĐ™yĄł´·e±}-’HK3¶$Q؇cöúHď8“^ôřkÎâąďřaú·o~†NY·‰®<ăBZ¬-ŃôÄ$ťąy;©pçŢpiŰŔck–h;>KgĆ–Đnőä ˝őĺ?ŮGb9|č�ť=Ö&±|ďČ.šÜ´VČ»φXWĚbÚŕÄ ?Bă:ĄR›ŤöŰI9ő µĂ ůV�@dJ“;ąÂ$ą-H,rŰ $–@=XV¨˘µ´Đ("ś‘…5fdaXlÚ‚Ä"·‰Ą™¶mĆN·ó|,ĘFÍ/§(99¬í$3˛ř7ŹŢ™ËŽÎmwšwµ9(¸jŞJuž âQ°¤_”OCß‘j\pĄÔ§ůꉖ_˲"bşĘ��$}|üżßMyáĎ} M<ţĺ4~éQVśř——]čH,nâ™ÇÍ3¦ůE� 02ṟ́zęŘcş’ÄC„„î<GÄH-Ů…)śŃ:‹Ą)óÍĘLśÉťÎÚ§śN/zü“ö3ďÝż‹>đí˙ˇ…ĺE:|r–nßó�ťľq˝ţšç“2ßf"wí¸k_4R­z]ď/'ôÖüIş`ű]űŹ9DÇŹ‡$–_|Ç_$–p&–ŚPőĄ2űѳ؇68qĂŔŹĐŔ¸N©”ÇfŁývRNýBí0h~Y€ĂäN®|Ó!·5Ť-´Í0ü@rhŘ‚Ä"·ÍHbńá/)ÍĘRBK{F– ł–8ĘÂXNȦ-H,r[XŠ‘iŰfět;ĎǢlÔürŠ’Łţ”ÉÇQDˇ~âGă”ÇD2§¬›ĐĘg PWç#¨'Z~-ËŠé*�p�XB”m&ŃŢă1+g=[XÜÄ3Ź›gLó‹�$`dŔ™buÖ‘Ú¬*ÎC×’Aá¬*>ĄŃ#ő|ŠJsµ-k4÷‡´źĘâ5÷WÝĐW8J¸ńSN§_v]‰%zĄţÍn§OÜzC0.Ä´~f ˝ęŞgSµZU&˙ࡽtbaž˛Ŕ'±üéË~˘ŹÄrôča:vôH@bůĄK¦vÖWĹrB~„ĆuJĄ$86í·“ręj‡Aó ¬ €Č”Ž@b‘Ű‚Ä"· )ę”Ő¶{iˇň1Y"K@hxxŚ™XlÚ‚Ä"·‰Ą™¶mĆN·ó|,ĘFÍ/§(ú m6XĄ2Śí¤?ë ×;ß{WΫƫZů»ăç7>ćĂÜýBoĄÔ§ůꉖ_˲"bşĘ� Ü$–ä@e]ţVĎń,@bqĎ<nž1Í/X€‘gŐYGjł:čä,ÄÝý˙1dÉ&.%Ôţó±´H(ťź&D#Ćçl=•^|ŮS‚xpO"_ą÷{ôŮŰże"™?ř>áiÁ˛BÝ93őÂÍ»îkos+÷čżAđI,ňҧ N9Łkż? KDby󿼍n=ş' ±°Şo4Yő•~tÄ,öˇ NÜ0đ#40®S*%Á±Ůhżť”SżP; š_`…D�肢�‰En ‹ÜV0KŰÔóbźtýuÍ'˙'sŤv6˙.7·o­TčŰ^•/ĘĆ×nĄ5ç\Ick¶R}qŽćľ‰ć÷ŢI:hś>CőK7Ż#ďŘ2Uo<B•=éLýpiˇFHdéű!=ÄbÓ$ąm™H,iÉ•;ÝÎó±(5żś˘äřüyĂ<#Kg˝Gć哳ߜ¶©¦Ę§ßÎWKâ™&š±A“3JőÓ8A=ŃňkYVDLWů�€¬T‹)üĺ~ňÄŇÍ>Ĺ@ď<‚Äâ&žyÜ<cš_ ±�#Î,«łŽÔfuĐôĺ«q«ĂŐ^^˘YZĽŘwţč®ORńÇQźDřÄ–pˇ36m§zâÓ©Z©PüUşo˙É[o ¸=ü!ak&˙Ďó.ąŠN۸m`ÎńM?Ţ-»î‹6( «&§čO^ňăÁě0qĚ?FG H,żXvÓĦ5á±g)�U_* XWĚ:JfŕÄ ?Bă:ĄR›ŤöŰI9ő µĂ ůV @d€6­�H,r[Xä¶$Ńl,ţCi¸şůbę§kK4‹ő˘ćűŞűšťś?›¤C”ěcĂĄ/ MWľ¬Ů™č4)/{ť|ŕFÚ÷ůżˇĆňBB‚-ýđT{ňć®ëdůú4ţ…GiüŹ(W.–ň -ÝL&3‹ÉŻKxm‚Ä"·‰Ą™¶mĆN·ó|,ĘFÍ/§(ĺpţ†sF?ÉZě{7\çÜ÷˶”|:z”*KlmTžúiśŹ žhůµ,+"fQ÷E��$ zç$7ńĚăćÓü"�‰pfXťu¤6«¦Żh¶K˙Őw0ŰJkyˇhć•ŕoô˝9vęéV›˙ÔďÍ^¤ż‘ÎÉ23>,'TőŞ=ďîô᛾B7>|O;f4“Ę%§žMWźsIOÎL·ěľź»ă¬®1ÚűîĄă sÁM†#?Äí{·?L«&§éŹ^üĆ>ˉłt¸EbůŐwţM0Ë䦵Á 1>™W[?â”öSł€uĹyçbŕÔF»c\§TJ‚cłŃ~çrÍ€Ä�iĆź@P´ ±ČmAb‘Ű’X-KÚĆ6üˇ¶ŘEb‰pNSö–¦l<!ŹuŹy*m~Ň+şH,Vťu9m{ú›( Ë/ŰIµë6÷_'Í–iůŰB‹ >%ü4bŹ|Ś™XlÚ‚Ä"·‰Ą™¶mĆN·ó|,ĘFÍ/§(ĺtţ*~›9DźŃ (5ÄětźCď‰Rç“tnµd&¶ŁÓ8A=ŃňkYVD̢î‹� ŔJ!±¸Śé7SĂđq˝“‹›xćqóŚi~€ÄŚ 8ł@¬Î:R›Ő!Żöl+íR:ă˛F‹<Ňľ7?>™ĄŃ–7čą—\Ek¦V·R>»ůkôť‡înĎ„íëúv[Vݧ—\v]G±•Źż|Đ·¸ŁŻqĽmĎ'±úí!ÜÎAűË ýń�ËÉ“'čСÍqç ýú»ţ¶=‹Ź<Çmń�°®Ĺ>´Á‰~„ĆuJĄ$86í·“ręj‡Aó ¬``F�Pµ ±ČmAb‘ŰZ ±ř¶ÝK %_ĚŻŞ/*Ó›ť•§7jôéĘx×~ŻRĄŤOz9©°úě+hzŰą4˙č˝ÝŮmś ĺ§oUÚ.?çűÂ~ňNÔĘŁY8`ŕ·x™ ±Řł‰En K12mŰŚťnçůX”Ťš_NQrł—¦á #żźëÄÍö7ü‰Y?q$÷śSňI=ď^Š<OY1ŤóÔ-ż–eEÄ,ęľ�€Ä’Ž´—R?úÍź&)ţńĘż˘WľúĹôĂŻz IđoďůOzď»?ÔŢÖyćęüÄâ&žyÜ<cš_EXr˝ ĺgŐYGjó:úňÍÂe…¨˝ĽPg†–`ľň'±ögciP8vę˙`Á'Ąř󵜱a=nç9Ô›Ŕ7Ľ#řDËöDuÖ_öçµW?‡&Şm˙ß;÷=D˙öÍĎŇ÷]pY_Ž·ď}¨›ÄB=[űç…Ż§ó{H,ss'éĐÁýÁ’Hżú®ż¦;ü™X6®mt:9ű„jÍJă”ŘÂşbűĐ'nř×)•’ŕŘl´ßNĘ©_¨í&°Â" °Âˇh@b‘Ű‚Ä"·mżY3ŹÍĆâ/1”„ɦîEŁ—7;9źîµÝ|ŤMŻKµť>íq}D–úkĄ…”ov´Î_CŐŹ ‡$–pV–€Ě‹=[Xä¶ ±#Ó¶ÍŘévžŹE™Ź‘<6°,ó(űH%÷źré 5 …Ó>÷"˙śŐůDđ+zWüS˘,uĹi>‚z˘ĺײ¬EÝ@�Xú1”ÍŻe :FÓrékkĺžô5ŤŻĄě@bqKÓÎÍ$@Î,«łŽÔću,8¶h ˇ@«EZń‰*W‚Wăţ˙ĽÖróŤ Ň5ÂĄ…ü>\Ł5«{ô´Ç\ÚéŔě‘`6–Z#ěďEĎ.3Sô#W?Ź6̬ˇř řűě¦ýú§šúuÚľnSWž‹ËKMGű— 4ťŁô啞›ĂÂÂ<:x 8Žß|÷Űé®ăűhÂ_NČ?6ŻE^‰4ĎAŔćńŘÝ=†uĹ,öˇ NÜ0đ#40®S*%Á±Ůhżť”SżP; ÚM��‘XÉP´ ±ČmAb‘ŰZš‰Ąí®Eb fdI()ňůřéńV č TƧIŐ‰™ľ}<]%¨ô"K°Ţ+ëůĚPÂk$ąíĐXrčĺŚä‹ĘŚťnçůX”Ťš_NQ*ŕüU†rF–h)źÖ÷äžsJ>m äe©źĆůꉖ_˲"bu_�@béĆJ °¨`rü‰ĹM<ó¸yĆ4ż@bFśY Vg©ÍëŘŕŘü×ŕţXođ|á…[Ѭ,ÜÚď“XüŁßsó‰/ţwźĚRin­›šˇó¶žÖę“ß»–ę±™±›>ÖLĎĐ®˝ž¶­ÝŘĄţđáGéźżú Z®Ő‚ýk§VÇę9ÓÁ“Ç‚ĄŚâ9‡#םĺç¨ŢŚ»°°|ćNžô~ó=GwŰC×´f› Ź-8vęlwŕŕuĹ,öˇ NÜ0đ#40®S*%Á±Ůhżť”SżP; ÚM��" °Bˇh@b‘Ű‚Ä"·µLb \¶—Ş$–ÍlS0×ṳ̈ÄÝ3`¤méř٤ĺz•‹¤•^´´P@hť7ßƤSÂk$ąíJ!±Śě‹ÓŚťnçůX”Ťš_NQr3ä ľ·¦]îµó4Úłž| M®§Ľŕ˙®ÎŁZű{/.|îé$ÁŇÉÝ˙ĺ˝”iů 0P·´e©+NóÔ-ż–eEÄ,ęľ�€Äbţň@&đ—Š/4J�‰ĹM<ó¸yĆ4ż@bFśY Vg©ÍëŘŕŘBň‡×‡ +Üšť%|M.3.'ä˙ôŻîm-3Dt޶ÓBHÔOn~ö;H·í} +ÖŮ›wĐ+Żz&­™ěţ‘âľc‡čľü1ZX^j?笛^Ő•˙RmąuDŃůăžchˇ9®[_\˘˝{v‡3n6ú­÷ľťî:¶ŻMb‰ďßGŰńYY¬‚uĹ,öˇ NÜ0đ#40®S*%Á±Ůhżť”SżP; ÚM�hD`Bů¦Cnk[h›ařäа‰Enë€Äâ#šŤ%ř›`ĺwţ§RĄç7j¤Â*ýÍEmö Ís¦·_hÇË‹4{˙7űöWď8NޱeâuÉ/+ű©rď‰Dy8# ·-”ĂW— ·‰En»’fb‘†w!Ó¶ÍŘévžŹE٨ů奼Ď_L¦łLĎîŇşSW)—쳆'5?ţ žß>ě›~âČ‘f)+ü¶svĎĽlY˘”|şuějý‚.I®˛5–Ó8A=ŃňkYVD̢î‹� �H,îŕ<­ ç|Đ ±¸‰g7ĎćH,ŔČ€3 Äę¬#µy[8¶` !nłtr{;ś©Ä'­xíŮXB2K%řQB¸D¬ż¬ĐćŐk©7ň·ş;AĹo_ĎظŤž|îăčq§ťÓ÷ŁŹC'ŽŃŰżôQ:ą¸@{öčm–×L­ ĺ­›@tt‰%šŤĄľ¸L?ű˙MŚŤŃŐ<ž.;çúä·żBwßGă×´f` W¨Źzˇ•Öż/źĚb ¬+f±mp↡qťR) ŽÍFűí¤śú…ÚaĐn@@dV­�H,r[Xä¶ŽH,ëÖl,Á�źbď˝Ő ş´Q§ ~>V§;˝ÁK÷ě˙Ň;hçüU'W H‹i˙×ŢMőącý˛ĺMľóAZř‰s‰Şýąy5¦ńw>°ň“Đ™‘EsyNbd†^› ±ČmAbIďB¦m›±Óí<‹˛QóË)Jyź?îľőé,ÓÓg:˘ XÚ‡?çMĂÇ^ş;;‘%‚Ö˛Dś-źpđ0öWŰď�;2™§LËVPO´üZ–sĎ�$�$sMVQA•›í˛‰ĹM<ó¸yĆ4ż@bFśY Vg©ÍëŘÖ±őX”gb zkXâd–h™ˇpö”^ňÉs/ľ’®=çbš™˘©ńÉţ8Mýăó'čożř:6˘kżŹĹÖ ,6­ZK§®ßL»Źh]×L,-T&ĆhbËZŞ/Ôč‹wßL_¸íŰTY=MÖÇt{fV ĆĽţig‰ˇPŃRa±®Ĺ>´Á‰~„ĆuJĄ$86í·“ręj‡A» �}�‘XAP´ ±ČmAb‘Ű:$±î˝J{Vüĺ…~e|†~´ľH×6jQVŽ5í>P§OT’gMY:˛›výçoÓ–ë^G3§^Ôî-ßOżö:ńŕwm+·ŁÉ·ŢMËŻ8ť;§;űšŁ‰{*ž$|KöÂá«Ë…Ű‚Ä"·‰%=Ľ ™¶mĆN·ó|,ĘFÍ/§(ří[*HÓ®Ců˘,´«µF&ű“Î=ç”|Bť49ËŠiśέHć4fZ`�čH,ŮŃŰ®˝á†źŇ˛űî?|“nüÇoŇ÷^ü ˛Ç~čIdŠAm´ôš�‰ĹM<ó¸yĆ4ż@bFśY Vg©ÍëŘұq{†“Î;Áż·—ŕ©´d>qĄĚŇŇ!łřÚ'—żńz:VŁ 3ëZ1ús;6’ŢţĹÓÁÇb™wäţL-[VŻďĘőµW?§ióQ:|ňx{źGÝGěU*4ľz†6lš¦Ó7nĄť¶ŇDuŚľýđÝôС}ˇ>‡v^k€[łĎD$–čśč,¬‚×›Ü�đ€o %3p↡qťR) ŽÍFűí¤śú…ÚaĐnŔ@€Č¬(ZXä¶ ±Čm“X|č,-ÁďNüYu’ţľ2A;›ť›Ĺ¦ĹĂ^…ꔎĄc{i÷ý_›Ů@ăk·Pmá-7÷éŚZTęďÝFĽe’xí8ŃŃ%ŞZ"4‚ŮZ˛ś?_פCSÂk$ą-H,éá]Č´m3vşťçcQ6j~9EÉQĚľÁ±hp‹»É/í DŘB2Ks°‘Ł–¸żEÖšUE˙\Í/7źšźZ{v4u>©Í¬J^–úiśŹ žhůµ,+"faů¤€~€Ä˘‡ažmĹzŹWç:‰ĹM<ó¸yĆ4ż@bFśY Vg©ÍëŘÖ±QřZ<"q„],/\V(XNȧ¬tć^‰F„+N¸ŐÝôČ˝ÁŇA=-SbĚ}ÇŃŰżü1::—<+čťű¦ N9Łkß¶5éWź÷júî#wÓÝűvŃÉĄů Ś?ăËę©)Ú˛f=m]˝NY·‘ÖOŻîĘŕY]A˙ďżßK÷ÜěroPű¸Cjµż[ëŠYěCś¸aŕGh`\§TJ‚cłŃ~;)§~ˇv´›�Y€�E+�‹Ü$ąm$– Śçµ?¤9Hx˘©w'UI‚ÚÜ‘ŕ#w`1řdAŔľ×űľş\¸-H,r[XŇĂ»iŰfět;ĎǢlÔürŠRŢçO![âEš®LÓP! ŤDIw'ď·‡/�ç aÔ'±,,7RóIEBµôd*;-™+żNóÔ-ż–eEÄ,,źŚ×9�̉•Fb„´s�‹›xćqóŚi~€ÄŚ 8ł@¬Î:R›×±­cëµćŇź•„[?Őŕŕßđ{4‹Gܢ¶4Ç~÷=DźľýzÖEWöÍbßňÉ/߸˙6účÍ_Ł…šú‡‡ßzđNzÎĹWŇtϲDţě*WťyQđ|Ôťs˙AJµRĄËÎ8źî?¸—˘iY:KuŻ{­ÄŤžĂZ~UâŢo %3p↡qťR) ŽÍFűí¤śú…Úa xţ€Q,@ɡ¸‰Ä"·‰En›‰%ÍĆâU 'Vu _].Ü$ą-H,éá]Č´m3vşťçcQ6j~9E)ďó—r]:HgMźN®16±@;ν™N=˙»´nËnšZ}”&§OĐâüjZ8±žŽíßI»ďą,f‘üŰ2ĎBëž”ĎÜÜ4Ťń"­;6FÇLi哲Ô§ůꉖ_˲"b–OÁí,0’�‰Ĺ.ţ骷iéE?Ţx܇Ż&HăŘäQÎ ±¸‰g7ĎćÁđ’XĐĆ=ṟ́:ëHm^˘¶Ž-nÉá+ň€ĽBťYYüż>ń¤ĚËâŁě÷g-©7÷?†hZü˙?zÓ×č{» g_|ť˝y;­šś ¬ŽĚÍŇÇĄ»ÝE7=rÍ.̵ɗí&2ÖXFýŇąĄEzß·>GŻ»úyJ˛f˙ę=ý{"ě>r µÜŹ#Żp°-3zŕ¶ŽčÔ˛®Ĺ>´Á‰~„ĆuJĄ$86í·“ręj‡)ŕů �F ˛�%†â&‹Ü$ąmŽ$‰Ĺ˙»Â™,(áµ ‹Ü$–ôđ.dÚ¶;ÝÎó±(5żś˘”ÓůkŹaµd]kg·–«2Őjí«ÝBgÓÎ~!>1}‚.şöŁtî?MŐ‰*ycš µ˙KµuÍńĹIš?JÓ«ŹŇ†S¤3÷-źOľ´PW>cË}ňŐkÂ)٧Ö.ŃćÓćHü Q–şâ4A=ŃňkYVDĚÂňI �ý�‰Ĺ=†e—¤<‡íŢ‘a©€—( ±¸‰%‹içÚ‰3 Äę¬#µy‰Ú:¶8–˛×ZP¨ttăd–¨ĹŠţF„–Ň ű즿ýźÝáŹ!›ýË -ó"›Řň»g˘Y5y óó–]÷Ó;ľöIzĹĎ ™‰ÉÄü’YĽđÂÉWôĺ{oˇď<tW,‡aĹ  ޱ©ççQi-ŞY˛˘}PÉâŢo %3p↡qťR) ŽÍFűí¤śú…Úa xţ€Q,@Iˇ¸‰Ä"·‰En›3‰%_ZLJxm‚Ä"·‰%=Ľ ™¶mĆN·ó|,ĘFÍ/§(9©üŃUĘ9ŻŇńZ6mş›nÜ ]±áR˛ŤÓ.ü=áú˘‰53TYu5Ńř¦VnţĐbóÓXn~_nţxá~âÚq-żŇůÖ˘|ƧN6OŢDó˙SÉŰŘt8ćSźoćp¸™Ďáf^5Ł,uĹi>‚z˘ĺײ¬…ĺSp; Ś$@bq‡QZ‚¨7×b‰-F‘ x‰‹›X˛v®SX�¤ť8:ëHm^˘¶Žm îšť3$µ„łłhÍÔ=Ű6ş–Šl¨˝/0ń÷KɆł¶:wŇmý$­]öĹ·îąźţřż÷ŃÓs=ńŚÇĐęÖL/*ÔuÚ{ěí>z€v9bĚé:[‡ciĹ~¬B±s  ֳ؇68qĂŔŹĐŔ¸N©”ÇfŁývRNýBí06źżĐĽ%,ŔĘH,r[Xä¶X‚°­ŮX2 ­4„]23ű’Ů‚Ä"·‰%…ľ¨ĚŘévžŹE٨ů奼Ďß�Y÷@ŃĚD…ć–ętéűčß÷ŢB_:¸HWnĽ”¦«ÓdŚćŔßĹ×}.|ň‡¨˛ú"ެş¨ąŻJDá/ČB"KŤüß’7Ç7‘7¶† »¤´Bô˛ÎČŇÎç?ýiۨ2s!yÓç“WÄÁŔeđ©5UOŁf"Ôxq7e^RȤĚ<ťŽß<eZ¶‚z˘ĺײ¬…ĺ3Äí,0´�‰ĹýÄ;É%ľ˙úˇ"ŮWÄu˘Ąió%J.1ĺĆ ±¸‰§m,ĐÎ,«łŽÔć%jăŘRTzç…DćÎ2CŃv`-ÉăoES’Ć÷µţőZ›á÷pF—`,Ů'Çx˛KÔU‹ţ†!bK ĹúqţrD˝ů«ÍĎ×hŰš ´iőZZ;µ*\ŢČ«ËÍ//ĐüŇť\š§ýłG¨VoPDŔ‰ÓĽÖl-aú—âxş§9íë(Úşn8qĂŔŹĐŔ¸N©”ÇfŁývRNýBí06źżĐĽ+� ˛�+ ±ČmAb‘ŰDbń‘Xt–ňôźő´izÁł¦čŚÓĆhq‘é–Ű—é˝˙y’î{0ĺ×ŘăŞ}ßVŞ]µ‘›¦Č›«Qő¶c4ţ‰˝ä^Rš®iŰKëËtUóĹŮúfŹäHsßW›/Ô>TŁ91eřęrá¶ ±ČmAbIGˇ/*3vşťçcQ6j~9E)ďó×’%ŽcEň¦ÂĆUctöÖ1úľKnĄĎÝJôÁÝ»iűÔ6Z?¶†¦Ç¦HЧ=ëčÂëľH•µWPeęěfĂ<Ţ čwżZ¶®’×l§ąáŹĘůd‘:y“ŰCńÂJ˙·ż“˛çó?ÍđST]w yă[CbM´®¸O¬ićÄÜl»á`aeú,â±uÔ»‹üYc´Ů$#Ë2W~ťć#¨'Z~-ËŠYX>9 PĄH,€."R‹űk&Ă(’Í—(ąÄ”Äâ&ž~LÜD€pfXťu¤6/QÇ–˘_Ő'"±t–jdŹhY!źäQiý"˘¤x­�Ńţ(d›#˝Ddbő,ižâÝÁľă‡iďńCťä) ĂľwűěťmĹßDZűN§·źąťUőY©ë)HGÉ ś¸aŕGh`\§TJ‚cłŃ~;)§~ˇv›Ď_h^Y€•Xä¶ ±Čm $±áŰK UHU *Mń/˙ĚZúľ'w^ÖÍL{ôÔk&éš+'č˙ţůqúň7OUhágϧĆŮ«;OMPíş-TżlMţŐ=Tyđä@ÓmÍcű˝ÚmĺÎŻĽýßż˙`c‰®m,ÓoŚMÓáĚSIۨËEhÚ‚Ä"·‰%…ľ¨ĚŘévžŹE٨ů奼Ď_ęm±ó›-ż™©V<züéÓt`ö8˝č 7ŃmŹě ś ='¦›a˛6áş'<ăň¦ĎˇĘÔÍĆv,XĆÇ_ľÇóŞÁšß>‰%ř5\Ă_×»~|b‹? č/?Tź%^>ăŰGn!]DůřDšęş'7SŮćăk‚YbüÁIźXS ř4Á`eĹ_ö¨™ÓŘZŞĚś×"łÔŐŇĘĹ6ÁĹͰ:&¨'Z~-ËŠYX>9 PĄH,vËŇA¦1,ž·„– ŁH6_˘äSn ‹›xú1Ń=ṟ́:ëHm^˘6ŽMS5ZNşfLéYr¨Ĺx‰tŰ$ŻŁ~‰dˇ?jéŘhˇ9e؆{Ź©Ë6ęł{]í¦ëŃGË ejWYW¬čŔÚşn8qĂŔŹĐŔ¸N©”ÇfŁývRNýBí06źżĐĽ+ ˛�ĺH,r[Xä¶“X|Űh6–Ě’¬ůĎ›î"±Ä1>ćŃ›z-ÝuďaÚ°˙ĺŐŇËOď"±te°zŚ–ŢxM˝ĺV˘ĺî% üt~ˇ‡ÄÇŽfţ?[_¤·dú%üđŐĺÂmAb‘ۂĒŽB_Tfět;ĎǢlÔürŠRNç/úŃŘ@©ÓômÇŞ=ĺ1kč[÷ź¤ «öеŹŮ č-Ô«ˇY#9…HćŻSŁZ§WýđAňŞ“Áň=á ,•€0âůÄ‘ĘTs|°ÎÂÂ-Yë·qáĎŢÂŹ7±Ť¸v”‚É�Ľř _ţ®›®ö 9N9>ßL®ZŁW˝öP8ŤóŞÇ’7ľ1$°3ÄL„9ůÚţŚ+ÁO÷|bM­ť›O¬áĘLSő”Ö2C PŚó•¦~ç#¨'Z~-ËŠYX>,łV4@b±ÔaĽôŹk2LŻ '¦÷Ąś9TŤpŹ¦Í—(şF1ĺĆ ±¸‰§ )ĐÎ,«łŽÔöm8›ŔHµË¬5+KřťÚd”¨­ ܶ–ŠĎhŇ×–Qß’EÔ"Š ŠĄť_ű|w^řsß÷NR-,=9ýÉhŠsč#p↡qťR) ŽÍFűí¤śú…Úal>ˇyV2.¬�#Xä¶ ±Čm‡€Äâ#$±TÂĄ…xÉ V)ĺS“˝ŕ9ý„ž©RíęMJŰƦ Ş_şˇo˙c¸Nç'X"<ľ©szŠŽ=”đÚ‰En K: }Q™±Óí<‹˛QóË)Jyźż ç ođ­)›™¨Đ“Ď_Mnź˘µÓÍöłJ4=^Łé±ZS~¦[źŕűxř™™ ·+´DcŐeşę‰Çir˛AŢÄŽÖl'ńüéN–©3ł‰"iźřR]“(žlć5Ë­ýńsšXň[˘«®š ó©®&oę4ęf:ÄňĆ©ŹPÓK¬ŰŘT™¤ĚH8DO!Ł4™‰mauLPO´üZ–ł°|r JXěŔx&ŻÓ>ĺK±íÍF“aÉćK”\bĘŤAbqO?&R śY Vg©ÍKÔƱe¬Ë~=䮿Ü&|Ä÷ůh4˙†źFđ—[ż�i´Č$;¦Îłwu÷Yx˙—’XşâđÉńí,Ë i‰sč#p↡qťR) ŽÍFűí¤śú…Úal>ˇyV 0# P^€Ä"·‰En;$$– ŻŇY^(ˇP׬©Đ¶-éśĆóÎîo.xçLó…Vúŕ[ăôiŞ~«{ßY ˝c<§ŮÉzŘsÍą,áµ ‹Ü¶$Ç˝šB_Tfět;ĎǢlÔürŠRŢçŹcł˛ @4Crš­żĚĐ9Ű&ŹßTŐęŃ@Z\=6ĐÖ—Ł}Çj´Ču:űâp9 Ď_(âÄ_2Č˙,‡ł·KůƵÎÇ× >ŤÖ˛C­OµŮÖÖŽ Lű©ç‡3˘m[7Öu,ŃŔ棳Í|u:ç’p=rorGL‰xÜŚí5ZŰŤ,öáÎúÄnô/7(ztĄúiśŹ žhůµ,+"faů°ĚXŃ�‰Eögi;¦ˇB”Ź“‚Ň9Ö ŁH6_˘äSn ‹›xú1Ń=ṟ́:ëHm^˘¦Çć·#}c¤I“ŚfQˇŘ2Aí69ęôöÎÎ[F¨]Çcł˛Ä—Ĺë"aúd“öŇ>ýM˘6‰ĄG§=ż› X~)B}NÜ0đ#40®S*%Á±Ůhżť”SżP;ŚÍç/4ŻŔ ,Ŕ …é]ßÄž3ě5ÓŮ‚Ä"·"‹ŹřŇB‰ĺŞI(i4účLRÓt˙|VÂk$ą-H,fîĄ2mŰŚťnçůX”Ťš_NQĘűüižŢáŔ`@/Ööa|ýńj|ĺŽ$Ţú_ç—41ćŃäšyŠř—ž?ÓI°„PĄů˝5@é“X‚™Oü»ŕ.é‘Z"Ň‹O*i„K�%`¬•[;ÇöŕžGóË oƜܴĐ·üUŘ'ĘÔĄŤ¨Q (Ů_F(ČÇŹżÜɸő7Đ©LNfç´,őÓ8A=ŃňkYVDĚÂňÉa€(@bq‡©W˙;eEí–§Ú÷˛Ű9ŠMë F‘lľDÉ%¦Ü$7ńôc˘!zŔ™buÖ‘ÚĽDm›A>ťe„‘VZęÝ?̤Ѳ‰ú”qĹ÷á…Ś•ÖŁ4w“_ŰdŠí‹’dę<GEß“fa‰ëD~â?‰Ď4ÓýübpđMˇdNÜ0đ#40®S*%Á±Ůhżť”SżP;ŚÍç/4ŻŔ ,@9áěE®©=gŘk¦)˛‰En;d$‰%\ZhpáΞdÚµ§F;w¨›»îYîŰW}¤ů˛®Ö|xSłR*śč÷§9ËĘ]]K2ŘFŘ1“ŰšÄud ‹Ü$38Q™±Óí<‹˛QóË)JyźżYß{¤ŰŢ_Ś·íYń;8Ž ¶l–ĂĄđ¦7śčN¦±<¸Ebń‚v-şY7‚QBKSĎź±%>CKđWÜţ'ŔÂRĎL,Ż2úd/ŕÉř–ä“XÚ?ťkrrńój-Ô&ÖÔ‰’ÚooP>Ş\2ĎŔ6O™–­ žhůµ,+"faůä0@ ” ±Ś6˛.á#.ď\É,F‘lľDÉ%¦ÁËH/ÁśÇ4żF@bFśY Vg©ÍKÔƱ ó &ţ7ŻÇwőqÉ@Iofż»Z‰\rËoďţ0HĚľiNĽ®ŰŞQľLťöµ›¤ŇŻŰ‘ĹŽŚ;ú‘/źż\RWńĄ•C7 ü Śë”JIpl6Úo'ĺÔ/Ôcóů Í+°Âáz˝�2ŢőMě9Ă^3M‘-H,rŰ!$±řh/+ä/1¤°~˙GćI…“sLýô�ť…:Ť}qżŇ¶˛wĆn>Ö·˙ľfN·TÔMĐ7*c´×ŮÔŃ%Ľ6Ab‘Ű‚Äbç/*3vşťçcQ6j~9E)ďó'8šěŢ\^Ň÷fK|ŮľZ#śé,»Ăő“Ěpâ/Ĺ|Ď|ř©/„űŮ˙,5÷-E$’€ÔR‰0)ř(ÄŃVýŹż$’˙wbU,ꀍ˛Ô"¨4ăqµ>a^ aĚ6±&šˇ%"Ř$śô8g–»wwÎź7ZőÓ8A=ŃňkYVDĚÂňP§ĺ ” ±Ś6<AŇsÖµ… ŁH6_˘äSn ‹›xú1ŃX=ṟ́:ëHm^˘6ŽÍJ>q‚Glo|öPâľ™LşČ 1[?ć‡ă~B§Á'ľ/ Ó´¶C ·cŰm·t-Yg)ˇŽî!Ätfu‰“_˛ť˝ţo %3p↡qťR) ŽÍFűí¤śú…Úal>ˇy�ĚȬ$ŢőMě9Ă^3M‘-H,rŰ!%±řgc©¨—jâSź›§óάҋž7Ó'›_`úÝ?=FGŹ6ÚŽh75¶OQý˘uýńŹ,ÓÄßÝ—¸|ŃźU§čw›/ĚN§~ß÷{úëęąA ŻMXä¶ ±Áů‹ĘŚťnçůX”Ťš_NQĘűü)d_˘ˇsżyű×ió}ŹÂqňŹ­ý%ř|Yu"¸~‚ŘoÍÄâĎfâĎĆRé9p¶“pyˇ4‘MüĎ" >Ö­źŰ˙tçÓúI\u2žĎÉаŇÜ×đ—Ş3¬p´Ô‘ß·feiĎĚŇÎŁÖ"Ö$ä?$Ű2W~ťć#¨'Z~-ËŠYX>Âę´|R$–|°đîLWzrI^Č0Šdó%J.1ĺĆ ±¸‰§Ť%ĐÎ,«łŽÔć%jăŘ’T=çÎĆÎľýŕ˘ki „e†Ľ–mđ׏íym_Á˛Cˇóö~‰!nu¨Ý±Ô#ŐvN<€l½K uĎĽBD1Í ›řRCbAV2 wŤç'<cŘşn8qĂŔŹĐŔ¸N©”ÇfŁývRNýBí06źżĐĽ@�Y€Ó»ľ‰=gŘk¦)˛‰En;Ä$ńĄ…҆ýţęźNĐ·o^¦ç?kšÎ:­J Í÷T·ÜľDřčí{´žl¸Ü ÉżĽ‡j×l¦úU›¨±e’h®FŐ[ŽŃÄg%:™Ľ,ÂŃfVż4>M/hľ${Ró…ÚşćńićűŐ拾OVĆi™\ „×&H,r[XĚŕüEeĆN·ó|,ĘFÍ/§(ĺ}ţ,śAc„ńĺ‚‚í8™…;úÝ$—îĄ‰Ş±Ţ/&Ż2,ßĂŢ…ËňT:‹q$ZF(XÂgąą+ś Ĺź…ës¤>őÉčʧv¬~< ±ÄźŔäÔYę(ü]4K‹Xăçmü[”ů(džŔNÇož2-[A=ŃňkYVDĚÂňa[`Ą$–~ô.Ç7 ^âeµN¨ňęY^ÂćK] ŁrcXÜÄÓŹ‰ĆčgŐYGjó5:¶VÔB>áămÔľůý7ŻłZlĐď ăDívř·ŐŹĄnY¸üż«E\ají É/ŃOĽŕßJř·ůĄµälHéM.úÚ™¦ŃG\é<űôϬóŃ"ŻÄu-UźµEëüőE¤dDˉ~„ĆuJĄ$86í·­úÍjˇv›Ď_h^  Y€�Ó»ľ‰=gŘk¦)˛‰En;ä$Á’B­ĺ…t~Áöőo/I*c_=|˛ÂŹöÍ—jţÇ&V†]/µN†´śAb‘Ű‚Äbç/*3vşťçcQ6j~9E)ďó§yΜҳÝEfŃ×oűçî%†ËL•j‹¨R;BŢřƦÂD@f ‰#Ń"@-ăŔI|”Zl”ĄäPiI÷çCÍ|hlM‡XÓEd‰çRo}˘%Žjíĺ†8ČŇXęäŇ׼ŽRý4ÎGPO´üZ–ł°|Ҩ2 ô�‰Ĺ¬N˘˝™ćtr­ĆÉŇÚN#»XÜÄ’Ĺ´s‚ÄŔ™buÖ‘ÚĽDm[¦|ŇŰĽ8Y3"°Äű¦ ·ş|qÂKĚ6ř0µga |…ŢÁĹköß®›µ7fä3Úîťu%NHiÇďşét?« ž™Ąă»ĺŐ2‰Ĺ8qĂŔŹĐŔ¸N©”ÇfŁývRNýBí06źżĐĽ@@dJÓ»ľ‰=gŘk¦)˛‰En;D$ŐŻâÚł±`f*ĺµ ‹Ü$38Q™±Óí<‹˛QóË)JyźżŚç ‹Ě˘é··]íťąĄ‹ĚŇő=śÍĹçťT¦"żuâĄG‰Ć77ý¶–ňz– �ýĄ…:d–öR>µ””x}¶Ń>FoŔ/ŕÚs¬Äň fd©Í’WťnnŐÚ3ÄtwY¸5KL›TăZ ±`çń<µĽ0™–­ŕhůµ,+"faů¨ÓňJ XěĆŞŐj46=nÚĽ<|źź_  Í›7¶ż//÷ÎMÚ_XI]|X†-¦yE‰pfXťu¤6/QǦę«&­_›ÉylÖ•`łźÔ‘Y.?ÔEvá®e†"QÉßQ‰5D^<F ľ ż7şČ'qýîg!îzVávĚřóŮŕY^¸ű8ÎRď·xęővţMŔ‰~„ĆuJĄ$86í·“ręj‡±ůü…ć�ú�" PbŢőM u÷šiŠlAb‘ŰŽÄL,a$"±x]/ÍJŠ•Fę�‰En ‹śż¨ĚŘévžŹE٨ů奼ϟđyŤdłř’A›Ö@Ç|ÄÇş¨łÉĽ–déDłµ.–VíXSgڏşŠBŇHŚyŇž%Z^(ú,‡3źđRRÚ´<›Lb‰çŐťOs fi/ŃäŽp’čöl,ńaÉT'Ö´ff©'k–Ž{í¸ňé…7lőÓ8A=ŃňkYVDĚÂňa[`Ą$ű±Ž=Ţ&i<óYOˇ÷ż÷#ôăÍsÁ?gdE˛ů%—rcXÜÄÓŹ‰ĆčgŐYGjóµqlYňŃü-"SÔ/í^BŻ5‡ ő.1D-Ý8™Ą+Żh˘–}g1ÜJ+­üţ­Çüď޶rhÇkĺ'­ÄI-Dť4’žĂşH,Ä]qzggáčĨ ]ňVś¸aŕGh`\§TJ‚cłŃ~;)§~ˇv›Ď_h^` @dJ Ó»ľ‰=gŘk¦)˛‰En;$–8ÚË ůvąĘćĎI/dHmAb‘Ű‚ÄâV^TfětKe®üÓ•_NQĘűüžÄ¸µö úáU4ĂJ{»gv—Ţe†*¦zĂŁŮ}ÍśÚfů0yţl&™Ą—éµŃ" űşÜűkěnÝS †«•«üýµ¦»Ů˝=ů4ÂYbĆ6Ä,±|âË E95|bÍ|kß`ĚîńČźsf¬Ę]çÚçČë ŁÄ]_˘z˘ĺײ¬…ĺöŔJH,öců¸˙ţŰD–yýËżźýĚ—Ú3ł¬třłÔřźyý¶÷=đŔC­oF‘lľDÉ%¦Ü$7ńôc˘±zŔ™buÖ‘ÚĽDm›Ă*ă»îY(F`Ń%ł„z±$ăżÔđuÂ5m)>ż‹×{P69Öyî%ž´%=7ťľíĎK˝$™č{÷ňED'Óś¸aŕGh`\§TJ‚cłŃ~ŰŞO¬j‡±ůü…ć�" �ôÁô©GwŻ™¦Č$ąí‘X|Ô–k4>1NŤFV­ZEe‚\ńwbѤ3žę§ŕK,u쇴śAb‘Ű‚ÄâV^TfětKe®üÓ•_NQĘűüY:}d–Ţ&‚ú˝o™ˇžŮ]â6Ó:±Ŕ´{×m˝tžĽjw{ĚfâϲR™lúŹâŔ)ÇfcI˘­3íÝ=M§n#šk (ö´Săťhęí~d’¶^¶ĐťOýd3^­ąoM«mڵ}AčÎňBľ^°¤5Rň™ˇť[šqÇ*ŁU?ŤóÔ-ż–eEÄ,,6°Č€R�$}¨–¶TYîľç>şŕ1çŃÚuk‚%†Ţđc?|€Á8~l–îţ˙Ůű�9Ž*í×3ł9hmK¶%Ë’sNr¶±1Ć&Ç‘süą;r:r†Žp`˛#š Ć9ă(ç,YV˛,+‡Í»ł3őwuOčžîé®đŞ{ÂűěŃÎĚ«÷ľ ]]]ŐßTŻ~¤V‘îť7ůD,f¸Ô8qN&$b!(I”“3+ć!ŞS¶ňD‘Ő3ˇXóź2ľ’›-°šżÍ«ćoŠEŮ9‚ÍGŁr1Ćí>•Hˇlă7ÖńʢŤÂ4Úů1P6ˇEABÁťQI|«—RÉ—D,ęľM"b©˝IÇ·$ž;oŽs±~ČaĂ}÷> ­‚ąs‡ü_d2î4żĹRZÓkĐv&‹ş/‰XĚĺFĄä¤[Őf*nś¦â˛DI×rTĆÉ:~ŢGU}<7ěXýÝ]\!KöLőÂô†1čZš É“˝ŕXć<^¨¤Ŕ¬dHĽŹOo(Ân›g;Logřăy~Ćěüěžě±ÓŹóSśVś¶ÇĎN;/9÷QCN.ĘŹ:*?Z¨ ”ź]6Ďţś·#âq†"í©˛ÁZjÇ—B?Š‹lK3µüČ.PkÚ-±ŕsy9‹…"¬Ľű^8őÔ“ˇŻŻő166îÔ˙!J|›śaŢDőĐâTw&‹>qN 5`ŇĺäLÄŠyb”Md©Ţ;·ô~(é]¦§g »«š ;–źţB©ĹŘ{Ě{ňÖżŔŽŐwILĺK;žú· ­´“Úú±¬îŤ8ŠÚ}**‘BŮ0Ćo¬ţ͢ŤÂ4×_eŁ!šĐâ ! PÎźI|«—RÉ—D,ęľ "b‰ţĺ[8VŻ^+ć 9 aË–/†łĎY˙¸eeěÂXŁcöśYpŕŇ*ź§§¦ˇ+çŢ Ëdř ´¨;aqhĐc“D,ęľ$b1”•’“nU›©¸ipšŠËb%]†ę ň7p¬Îc†řěůWČ#äě/sý}=°mµűŰĂ”ŐA$  ő´×ß¶®Ę8<\3’Ë„N~ěˇ±Ż·×ÎĎ®:ůaĄÝV¦€AÄŽfqůyÜÎOOtf«ů±B¨ĘÍ1‹X<lČăKˇźĹE¶ĄÁ™Z~†Ż‚ŤĐ  >Wçää<üđŁpĐAÂŕŕ tvv–ćm>7źžž†‘‘aX»vŁSW˘ KŁqęw´v±$zę%“6('g"VĚc Łl(ůa°wlş»fA3`É9/‡N|ôôHů=łyěsĘ ab×۱ Ladl"ř%ÖqĂę~ĐŁč Ý§˘)” cü6ŇNAŁ0 ćőFŮhL%´HČB 8Đ9ă3‰oőR*ů’EÝ·Ivb©çűŔ}ŹŔqÇą\‡ł+ËigžGs8lyfLŮ‹eGu8 ĚphžÚ¸ ž\»ŢľQWt9ÇsPtź]Ę·˛tŢCŃů‘6ł˙©|W±ýiť÷ţô2€ăŹ?˛ňůÖ[WBq¦hOşíWŹ/íž]{`ŃAűUĘmY:"–ŔEÝ—D,ć€rŁRrŇ­j37 NSqYL˘¤ëĎp„îŞâůł°:Źbţôłzr°Ď`Ű4sŮ˝ÇćÔ‡•:ů8«vÍĺ łĐßť-ń[t|Ô´íű äŕ±Í"ůQ[”rňłs.˛_şĂoJZq•ĐtÇ—B?Š‹lK3µü0 _ˇ%@"|.?§;:ÎĚĚ”ľc°gĎ^†ńńqpţ jÂÎfG6›…ŢŢ^čééqţňú)“ůňŻĆ#@"–FăÔďh$b!4 ´A99±bSeÓÉOÍDuűčĚě·×uł€…±‰)źś†Xq{6 .9Ö^űµś5`ËŠ«r!çÄÄ8LNş“ˇĂN‡uýˇ3wěíž.ŔÂĚL¶r!‹÷©şXuV÷FEí>•Hm˝@ ,ô­X´Qóú Łl4¦Ú$d!´ÎřLâ[˝”Jľ$bQ÷mt‹grÜ­ĹsLMMÁ˝÷<'žt¬+,)şBĹíďĽ?pńţĐßßçxđÄqá ˙ľü*űT_QźŁÓĘböĐ,8đŔE•Ď|w™°=>5š´Ë;±¨˘QŰYĂW‡·|IÄb(7*%'ÝŞ6SqÓŕ4—Ĺ$JşţŞßa_EĚÂĽ>bű}g΂9ýYČ[=đô†8 ş—á-:N®™Më» ˝0·?ÝąÂr~ě˙şěüĚíËÁŁ<?ëMć§ćŮĺî*ĺÇŞÍŹđsÄS¶ ů*ôˇ¸Č¶48SËÓđU°Z$bŃCu< xÇEţ~ďŢaŘgźů@űp„ý>#(ĆUą'`Ĺ —'NÇ& A LÚ śś‰X1Ź)ڞ %ő˙l"x^gÎcÓYÁN{­s×Č8Ěę×řŃž{GÇĐűâ“w_ýű�ůĺ':ůěéísv^sÖ–ťuáBeť±ŕ:1÷Ůłő){Ý׿ćgňhB~˝˛{tv–Ä5VÖ ĚQU+X׬î9`Ś;Ú}**‘BŮ0Ćo¬ă”E…i´ó\6S mÚË“ĐćĐ9ă3‰oőR*ů’EÝ·Éwbńb÷®Ýđô¦M0>6žxg.ĚůXôĽjE*qźĂE,<– đIÎüůCö_µşňO�´ťIĢîŰö"ł”•’“nU›©¸ipšŠËb%] ×ůś!ŰÎÂ|,_ÜÚGlĎîÍÁ »áÁ˝saÇ*WěˇÝ%m˙É'f`çj Ţ3Ý·ÓŮý%,]-x~߯ Üm ?«ěü욇íS??µ ®‘KG˘6!_…~"Ů–gjůaľ 6BK€D,ř\aśĺGmذrX·~ó7ěńK´KŁqęw4±šLÚ śś‰X1Ź)ڞŐ&UŇť0ÇŃęrçVŹuu:k«SůgW‘é™éŻkŃÝŐSvóuן~›ąÝá…Ń‘aç/ßu…˙Đ2źź†Ba& bÉŘóĹ'o˙;<tăźÝXvŢxuŔë(oׯ3“s>ÖŮéجŽ\Ä3mcPw)YŁM0Ćí>•Hˇlă7V˙fŃFaĚë/ڞŃJh3ĐŽ,„6†ÎźI|«—RÉ—D,ęľM.b »çŹZ»n=LNÎ@G.ťöDŻ"LLLŮ7ÍÄälßľĂÝҸôh ĘŁ‚*ß•;Tz_„RşŇنxÖ+ďËŹ#RżńőŔýŹT>ŹŤŽÁLˇŕL>ř–šsć ÂŔ@/ěÚ±;"F˝^4h;“EÝ—D,TB~’6SqÓŕ4—Ĺ$JşţRŞĐÇ yü´.Î/Ń‹Őo˝iř=§Ąó»`ýŽ)¸o×\8eŐ(ŚĚ@ďQ9{Ń ¤Áňîă{F7[pÎN,/讌ßn~ Ľćé÷-•oé\;?ۧá>Ű˙ŔÍĎ<;?Ë<ůľŚŞ± ëKS;ľú‰P\d[ś©ĺ‡iř*Ř-±ŕsŐăäŹÎáżŔ^ż~ěŘąćÎť „xl߱îłőÎΩĽq!`Ĺ —'NÇ& A LÚ śś‰X1Ź)ڞićÇť“˛JśLW§ňđČP¬ž€!ű»{=tĎČ8ě‡ÉéřGĐyqŘâý «ÓťüÍěs^&°÷«ś— –.Zú= ŇOmtŰeťŐß Cöş1Ç3öëˇY=Ŕź„ËëÖ %M «űA#Ž˘vźŠJ¤P6Śń«łhŁ0Ťv~ËFc*ˇ ABB›BçŚĎ$ľŐK©äK"uß±$î…á˝Ă°Ă#üűĚ6č,MdFí‰ĐČđ4 &Ć'|u°{÷wö„«Ţ–šr[m6č±I"u_±@jPLůIÚLĹMÓT\“(éúKą=b–ż€%$®÷QDY žuř \ń Űw.€ă‹;ahçt/ÍAç⌻ťq řVŇÓŠ0ąvöNtŔ};çAGgÎ:¤ß‰1ů)—«’źĂŕʇ‹pűv;?ÍüŚŰůŮ1:;ěü,ë‡\IĹR{UwLnşăKˇźĹE¶ĄÁ™Z~†Ż‚ŤĐ  .—wÎZŹ3—ë€\G.˙Ű•0ôę—Áś9C@¨Ź-[¶ÚuutŘăk.ç_®-‹Sý0;÷%‹.5NśŽM"‚´A99±bSeSĘOí “ů?Úó«ě@Xóűŕ—ăÓđ6{=t˙Śâ."6v ŹÁ~óšs Ţşk/č`Sˇ˙ge ;Żß©S­Ç{Ü€(0Ćí>•Hˇlă7V˙fŃFaíü —ŤĆTB›‚„,„6„ÎźI|«—RÉ—D,ęľM°K} óŮęţşĽ•!=źkĐv&‹ş/‰X 5¨ &„ü$m¦â¦Ái*.‹I”tý5H{VĆNÁü„ŤÉ–gý±3kÁů‡ «F`ĺîů°dj–Řď;ž,@Çü äěW¶źoműuÚ±¦íĹ”)€Â(ü¶"Ěě(B>°nllë‡Áî,śsČ�twdBó•×r~Î;ln\mçg‡ťź~;?y…üŚŘů±óÓ“…s%ócIä7›ŻB?Š‹lK3µü0 _›ťĐđ  >—'+úa÷îÝđŁ˙ N;mś|Ňq044ÓÓÓ°uŰvXąň>¸í¶;!cß`›=›ßl¬N ĂE,2?0HÄb†KŤ§c“… &mPNÎD¬ÇFŮPňăN"k×r­lzŢF‡'ákĂpz! ‡ŮcC—Â3‹řău8ř.×–•ŃS’AÁÎë®˝Ł0%ąű Ç´ýzĘ~]kűŢĘe4ÔýKçdýsWéz`u?hÄQtĐîSQ‰ʆ1~cőom¦ŃÎrŮhL%´1HČBh3čśń™Ä·z)•|IĢîŰ"–P8łś"�źÜ”źÉ](![şŘ绢pZﯬ7¬Ű;¶í˛'Ě—µţ>8xůčě¬5ţXU>[c »ŁJ–˝ŕçőµb!ÁbÜŰ™D,ęľ$bÔ *ň“´™Š›§©¸,&QŇő×`íiE[ŤŃ'faÁýÝxΑp×ÚqxzO6OôĂţ=#0j¶Ô_ÍwŔÖ©>xzĽ•ýgçŕ¤%˝Đ"‰zr^mYú»2pÁá°r˝ťźáYn~zíüLĆägÚÎϤťź±>›ĐÎĎśśĽŘźźZ‘JčZ§r­¨ŠHńřRč'Bq‘mip¦–¦á«`±$bÁçŞ"î5kFF†áöŰďr^bńŁă¦q\”Ső!„îŔŔ�ÔŠXę°€ä+ŠD,f¸Ô8qt±”Ŕ¤ ĘÉ™óÂ(›HŇČa’‹ŃqěµÎŢŁ÷‡‰U[ŕÖńi¸µÇ^_ťÝ ˘ů)ŽO+�Ľij –Řźů#‰Ć&§a|bĘţ;ů™4 :ě1p°Żz{ěżÝÎ#…xţFěuăđÇZ ˛ýÝ>xW36Úł=ťĐsČ>;±„ř×…ĆÁ1îh÷©¨D eĂż±ú7‹6 ÓhçąlL;ĐÔ ! ˇŤ sBgßęĄTň%‹şołŠX"|Ë7Ö˛9µgj?ţŘZŘłk/uěˇ0>6kV݇%K€ŮsáűÁ>8ňCŽÝvş§7m ŤĂm›žz–|€óyłťnýşMpđňĹĐ×ß ?° †ě‡v0ÜĎ#öeN8ń(ČuČM]==Ą˛g‚FßJ"SËmg±¨ű’RĐŤAÉI·ŞÍTÜ48MĹe1‰’®żFkĎ’­î®f,|Ňs‹ţo˝éşr8cY?¬Ý>k¶MÁ¶™9đĚ.+Ý™<tfŠł 0ò0]ĚŔD±Ăţ›¬˝ĐÖßcÁÁó»`©ýĘXá¬ţŘá)K-x~N_ZĘŹýÚ–·ó3eç'SĘŹť—śť''?…R~ 9Če-(çg^We0ě2*lśµšîřRč'Bq‘mip¦–¦á«`±$bÁçRáä?^5kLÚ7ͦě›iüÇ Á¶±<\ńÁ“Ţ…4Ś ăí<F6›…ÎÎ.čîî„0‹:Ź|‘Ĺ —'ÎŢ"`LÚ śś‰X1ڞˇä‡âÔŽmĚţÂęĚAďQ‹ żmňŰG 8‘V(B…ű˛‰¸Í^^ѤÝîáŇq¦f­ůŢůJËľîČôu@Çś~čX0�Ą_dúÓČ>ťăţƸŁÝ§˘)” cüĆ:6Y´QF;?ČeŁ1•@ ! ˇ] sBgßęĄTň%K ľ-&bń XX~şzAgť}"ěÝ3â\ŐďłĎ\Řoá<čëé±§áÜóVŔŕ¬~Řľu'g„ŮsfAOo7LŚO†ćçŔ÷«|>ôđŕ€ĹűBOO7LOçáśgť C°}Ű.xö…gŔôTĆí8|űHYĚZ0Űů-ŢiĐv&‹ş/‰X 5Ý”śt«ÚLĹMÓT\“(éúk´öŚY@ôÚbáŹ*›™űăŻe şŕ€9°aÇ4lÎĂȤ¬&j‡Ľ ŔÜ^ öě„%s;ˇ3'ľłI¬­”/ľ1Úň}şŕŔąv~vćíüLŰůétóĂý‹5ůé±ó3`çg^§ó"o¬ZNY‹ňhôřRč'Bq‘mip¦–¦á«`±$bÁç ă¬˙řŰZXĐÝÝíĽDůĚ·ˇX|őlXJ|^Îđmfv%‹.5NścźD,%0irr&bĹ<d0Ę&›źĐ]YXé» ±<eŢ/ltě3輼!|Üoěő×'îŰß›„ mľ~hŚŰ•pg&+ş`đÄĹéé¬ ‘MŕŐĹVľ±Ô[E*ޤ#V˙fŃFaíü —ŤĆTÁ Ym�ť:“řV/Ą’/‰XÔ}\ÄRoAĐýľčý"°RĐŐÝ3ů˝h>Ŕ¤üłDwîŘăěŠ255 y{ÂÓŮŮĂŁăŽ-gĺ`Çö=vîËhÁ?˝řŮ0:< Óůę–”üŮŢsçĚ‚§žÚ3Ą_ ŚŚŚC—kŚÇ˛2ÎÖÉ;¶ďvl{vŹ8ŹR±ôĚ€!{Bgç™˙ÚĎ7!±Âf0˛0čK"u_±@*ľń'9éVµ™Š›§©¸,&QŇő×híYÇV^Cě•ĺĆšyÎWľźĐů×Ńřn(‡ěŰíĽĆ§Š029S3�ů™"tض.{f6Đť…ŢŽ Čä7ě’FdmĘÉĎ>]ÎËÉĎT¦ěˆĽ=nwdíütŘůé ćÇŞSćqB[Ě®2¨6!_…~"Ů–gjůaľ 6;ˇáA"|®(Nq1‹_í¸ÂâÎ \uS ÓʼnK$V‘JIIÄŇ(śúljXĚđ €I”“3+ć!Q6”ü°š8!J—ÚŻĘ‚OI ţ TľŹ3sveéYľ<đÄ6x€ŐŐÍ'ťľě �sŚž±'ĄťYűŐť ‡ ÓŰé§©÷̦Úâ‡ýČBVÄţAăŽvźŠJ¤P6ŚńőŘ«o¦ŃÎrŮhL%* ! ˇĹˇsBgßęĄTň%‹şo‹íÄâ_ěăŹŮ™ꀅ‡-…ÝŹ< ˛(Ú#ľcŠł ižš®Ša¸@¦6?OmŘě<ŇÇň>oÔv ÄvcąwóžXŽ€E^Ăâ`îŇ…N™{úëLHŞu&˙X!íL"u_±@C‚Ţ„Ř�Ďf*nś¦â˛DI×_ٵ§F~,n®ÜĚ Y‹¬„´˙éí´ěW‡4g]Ô᫵×[·ęíĚ8/¨ăÓ±Ő±D]®Z$bQłĄÁ™Z~†Ż‚MÄNhxź+ÎčŕUnŮů\=®ř8xĺ•XE*%ĄÇ 5 §ţA@"3|`ŇĺäLÄŠyČ`”M'?Ţ_B01šĐGčyżôe¬ˇ› 7§z–/€©M» 81L*Vﻸ ©\l+—Žyýеh¨…%tMÁÂ"–ĽXŢ Ŕw´űTT"…˛aŚßXý›E…i´ó\6S HČBhačśĐ™Ä·z)•|IĢîŰ"–Ŕ/Ţjf7|W’Áˇ!X°hß=¬Ş‘ČU)?…d/˘¶9ý0˙04oČŮEĆ«ŽB?áíL"u_±@C‚Ţ„Ř�Ďf*nś¦â˛DI×_ٵ§@~B=ľőFËYd '°Âůjâ˘ÚjěQbP´©XDâ˘Ů„|ÚD(.˛- ÎÔňĂ4|l"vBĂD,ř\˘śz»˛Dűá–W,XcŠXđv}©ĺTş3‰XĚđ‰sâžDHÄŇ`ŇĺäLÄŠyČ`” %?,"Ž;ł¬5׳”âyÝ=4A" röú)ĹçEˇ|Şqʰ"̬^×Tg•[YÝrŔw´űTT"…˛aŚß¨Ç^}Ł0Ťv~ËFc*@„–„Î ťI|«—RÉ—D,ęľ-ĽK-˛ą,,?ň0čź7 vÚgú™\kťîY6Ű‹yČÍę…ĂN8 ş{zB&%ţ:ł”¤÷Ją‹6“EÝ—D,Đ`7!6Ŕł™Š›§©¸,&QŇő×hí)‘źŔĐQă[očácN`܉ZäkÂş -cÉwą*­5Z m"Ů–gjůaľ 6]_BC€D,ř\˛śň»_†ó©pcpásJ¬"1wl$KŁpę$b1ĂG0�&mPNÎD¬‡ FŮPňĂR 0X=CůűŇd,jŘ`ĺQ/Ä]·‡"„‹EsW˘ĘĆa‹X,ŤĆÇw´űTT"…˛aŚßXý›E…i´ó\6S „PĐŽ,‚Lâ[˝”Jľ$bQ÷mBKőWm"dž_¦Ď}sťťpâY§ÁCwÝ“ăĐß× ÖÜ›€™é<Lĺ 0=>¬öű<łYHĄź·çí7ĂŁăɸ7Éşć Řĺ逮Ţ.č™=�™^Čdspô1‡Ăěys“•5Ô ¶3‰XÔ}IÄ xb<›©¸ipšŠËb%]ŤÖž ů© ±u|-¨ż†Wą©Çř˙EaÎčüTcF/PVíĽŠuÄw›‰ă$‹[ś©ĺ‡iř*Řt} ±ŕs©rĘíĚť®]D,Ń ±$˩ŠÁ�´A99±b2eCɫƩL)"T¦Ĺ:Ç2a Á—)fě©\·k-ŔFçÇ·Xo2nŐ͆ôŘęĄ ‹¶KŔ«łhŁ0Ťv~ËFc*P$d!*`ßęĄTň%‹şoŠXâ|CCÄ,˝ý˝pÜé'úǞ€]ŰwBĎ`Eä+P[mô©;«đÎňj],čé륇/‡Ysf×ىŠřÔĎB`NEÄř’EÝ—D,Đ`7!6Ŕł™Š›§©¸,&QŇő×híi*?P]窿NÄc‘3Ž×]Ź«ż Wź¨ľÝÇ]×w=ç«éÚSˇźĹE¶ĄÁ™Z~†Ż‚M×—Đ  >—.gyěn›čŕí b©űĂj Ŕâňyh•SÝ™D,fřÄ9qO"$bi0irr&bĹ<d0ʆ’'h®Żv©ZÂbZ• vťW,#őwÝ.ÇŠ6׾«ŔűăŽ:¦ú±č” cÜŃîSQ‰ʆ1~cőom¦ŃÎrŮhL%"ABÁ“řV/Ą’/‰XÔ}[PÄRFĽĹ˝iÖŐÝ ‡4LNLŔđ®˝059 ůü ŚěŢăüĺéůŁ˛Ů¬'ÓŐ«ĂÍC~:ď”'cçcpÎlččě´ËŇýýĐ78Pz¤AŻĄšqíL"u_±@C‚Ţ„Ř�Ďf*nś¦â˛DI×_ٵ§f~"o6yľ,;F,ňEîn’`Ý íđ7Ě rĆ=Ş Ĺ&ä«ĐO„â"ŰŇŕL-?LĂWÁ¦ëKhź “łţî,ŃÁ[YÄřń|ý” ËęˇUNug±áçÄ=‰ĄŔ¤ ĘÉ™óÁ(J~XxĎ„±>Ťľ5 ‚–: Ľ‰âĘ$ş”ęĚ*(jî ľ« ÷Ź'>Q°â0őőpŚqG»OE%Rh7Śń«łhŁ0Ťv~ËFc* ˛uń!Bg0đ%‹şo Xä¶f.ÁąŰVô|tct÷ô@÷˘?K˝ [KuaX­ĚŐ_|ł»÷;r[–Ż(Żâîîiřęđ¶‚/‰X !Qo±¤ÎWÚ6SqÓŕ4—Ĺ$Jşţ­=‘ň*f ń­Ś,¬N‚ݵl¦âFŘ, _±HÚŇŕL-?LĂWÁ¦ëKhźËgpw–řŕń;•B,IK˝©h}N™;‰r ‹.5NśŽD,%0irr&bĹ<d0ʆ5ţDĹç˘ZĄÉXd¬°ť>UOĚq×íRq"ĚľµÚxń‰ŘďIÄ" Śń«łhŁ0Ťv~ˆ5¦ŇĐKhq…Đć`ßęĄTň%‹şo ďÄâE¸Đ……>fȱԤ Uń[~źĐ*ü˛ÎŠťY0áô"źŻ2b|IĢîK"PĆŻcęŢ„Ř�Ďf*nś¦â˛DI×_ٵ'r~j6>‹ôµĽ7"klQ~˘6+Ćîű ±ţ,_±HÚŇŕL-?LĂWÁ¦ëKhźË4§;/cÂńE7٬OŚHýńIH ŠpN™;gň™&‹.5NśNF"‚4Ď™2É™óÁ(J~XlÇlŕ5kÔđÜď"wű s“ÝÉşňH\„A“‡P}śÇ$^!˛RPPƸŁÝ§˘)´ĆřŤŐżY´QF;?ČeĂSič%´HČBhc0‰oőR*ů’EÝ·ĹD,q»˛ří5wŤ•đXeżčݬĐ;RŞWüe˙xáI¸™)‰XĘ‹©ęń%‹ş/‰X@&E,Ô×Z6SqÓŕ4—Ĺ$Jşţ­= ĺ§făł:ľ5ăŻĎ&¶ľ$,‰°[6Ç$PJ—¤5—#*~R6!_…~"Ů–gjůa1vd›®/ˇ!@"|®d8ó=ڶ¬;?É“ż—W'’xJ_Rrů:#‹.5NśNF"‚´A99±b2eCÉ‹ŤHÂrbŻ!ÜŃ7®1¬j¶JkMš¦pÝŠlŇRă‚dî±hą±ú7‹6 ÓhçąlXc* ˝„6 Ym &ń­^J%_±¨ű¶Ą 11K1Ě�ab– ŁW�cU]9‹ąpT%1 ©»ŔhUţQ€Áv&‹ş/‰X@ĆE,uĐt7N[$.‹I”tý5Z{šĘOÉ^÷±,"€çk©r¬[ĺKNAN±HÚŇŕL-?LĂWÁf2.!1ź+ÎđŕŐ]Cë§Áâ ¤B+ŻÄ*’“T˙ÇRZĺTw&‹>qNÜM"–�“6('g"VĚCŁl(ůa±qBÍab–Č8e‡ç•Lňʏ ‹PA‚ucYńeІŔ8Ëj>EË%ŕČ%‰Xhč%´HČBhC0‰oőR*ů’EÝ·EE,˘ţuĹ.ÁçyLĄ-ž!ŃżT3łű븻ÚÎ.˘©-±¨ű’”A"=[łĹe1‰’®żFkOSů©±†×¨Eľ6ë+ˇăljůQhˇ¸Č¶48SËŹâu#žă ‰D,ř\ÉpFŻr[Jţ*i“±XČśňHÄb†KŤç # A LÚ śś‰X1ڞˇä‡ĹƉ4{ç'Őç¬đďĘ$ü$ö:kMőÎ uç1Oř±*ď"Ő…Ä"ŻŻú4cÜŃîSQ‰ʆ1~cőom¦ÁĽţÂ(ÖJC/ˇÍ@BB›I|«—RÉ—D,ęľm b©ż+ Hu~>ÎÜ"C>ó‹ĹţřÂâ’GYAHÄŇ ľ$beEĎÖlqYL˘¤ëŻŃÚÓT~"ěĺa‰%Ů&¦âjrZ*÷!ŤÖB›ĹE¶ĄÁ™Z~¨ńOH $bÁçJ†3:¸·čäŤ ĄĹ±ĺŤD,ŤĆ©Ĺ Á�´A99±b2eCÉ‹ŤWě¨H–' cLKfx2ËĚv˝qHĢípÄ:ĐY´Qóú ŁlXc* ˝„6 Ym&ń­^J%_±¨ű¶ŃN,Aˇ Hă3z\‹»šřăGm#â «ÎŻ |I„N�jÉ3‰XÔ}IÄĘ ‹ž­Ůâ˛DI×_ٵ§©üů˛đ ĐÚ¤ŻD>é/µ:Pč'Bq‘mip¦–™j›É¸„Ä@"|®d8Łăr‹KďqBÉpápŞ;“Ĺ ź8'n‡&K €I”“3+ć!Q6”ü°Ř8Â4ĺ„V=G™†Ý3,)B ×MÔAë×A2ËűA#ŽŽvź* ©GŇ«łhŁtRrٰĆTz m ˛ÚLâ[˝”Jľ$bQ÷m#KUˇ ‹Lă0Ô]}°żĎxE-2ya!| A.ÁçX?°,±4ś/‰X@$bŃł5[\“(éúk´ö4•!_Ëłř¨´ĆÚ$}ŲęŰ„â&Ř&B~Bq‘mip¦–cG¶™ŚKH $bÁçJ†3:8‰Xđąp8ŐťIÄb†Oś·C“Ą 4 QKÎD¬‡ FŮPňĂbăÓ„%ô͵´Ä~ÔÇÄůBĹ›Ë;n[J1¤ň‚q˙�cÜÁhĘş‰ʆ1~c¶S„Q«?IąlXcŞâtš@h…Đ`ßęĄTň%‹şoŠXdýĂ-,xÜ… <bc¤†˙X‘ q!KSű’”A"=[łĹe1‰’®żFkOSůňŤn“Đáµ11ëűF­ó©Řbt±ßDd¸MÔă"ŰŇŕL-?Š«nŤxŽ'$±ŕs%ĂśD,ř\8śęÎ$b1Ă'ΉۡIÄŇ`ŇĺäLÄŠyČ`” %?,6Ž0M\BďÚSŚ! #,Ž#jVś#"PŤ ăŽvźŠJ¤P6ŚńíŘ‹6˘ő'™�eĂS wˇŃABB‹I|«—RÉ—D,ęľm.b‰ßqĹŹjú˘ř|$p×Jw2Łă_-§Ľ …D, éK"PFZ"–(4äŤÓ‰Ëb%]ŤÖž¦ň#ä«Ö&–ŠĄlG¶E>bňÔí©Đ&Bq‘mip¦–ĹU·F<ljXđą’áŚN"|.Nug±áçÄíĐ$bi0irr&bĹ<d0ʆ’GF¶Ď…=u«Žă®ŰĄâçq«Łŕ9`Ś;Ú}**‘BŮ0ĆoÔcŻľŻ?IŔ(Öj¨«Í˛ZLâ[˝”Jľ$bQ÷ĄťX*¨>fHĚ×ň<NHn7ß*ľjb±4¤/‰X@$bŃł5[\“(éúk´ö4•!ßŰÄTÜ–kO…6Š‹lK3µü(®ş5[_! ‚D,ř\ÉpF' >§ş3‰XĚđ‰sâvh±´�´A99±b2eCÉ‹Ť#LŁŰçjwŃ)_Üu»Tłâ! B?şĐ(ƸŁÝ§˘)” cüĆęß,Úן$`” kLEě*B3„,„“řV/Ą’/‰XÔ}IÄ€…Ž»ZGýfň7ŢY™¬żó/¨A`¨ę«ĂŰ ľ$beEĎÖlqYL˘¤ëŻŃÚÓT~„|lSq[®=ÚD(.˛- ÎÔňُęÖl}…€ ±ŕs%ĂśD,ř\8śęÎ$b1Ă'ΉۡIÄŇ`ŇĺäLÄŠyČ`” %?,6Ž0 Fź«M˘˛‹fĹŽPAÂuŁ8Gŕş|˝rŔw´űTT"…˛aŚßXý›Eńú“D�ڞaŤ©]…@h5…Đ6X~�uř’EÝ—D,uý¨!&t±ľs Ź'łëKż źo”7aá%‹ş/‰X@$bŃł5[\“(éúk´ö4•!ßŰÄTÜ–kO…6Š‹lK3µü(®ş5[_! ‚D,ř\ÉpF' >§ş3‰XĚđ‰sâvč4D,‰žîŰLÚ śś‰X1ŰŁl(ůa±q„i0úśL™˘Ö0‹˛Áę@¸nbćZkąž8á4â(:`5%SöÔv 8bőomÄëO0ʆ5¦2%в ! ˇ- ±ü�ęđ%‹ş/‰X„´0Ť‰� Ä•÷7´#JTwqQEŚ/‰XÔ}IÄĘ ‹ž­Ůâ˛DI×_ٵ§©üů&Ř&¦â¶\{*´‰P\d[ś©ĺGqŐ­Ůú $bÁçJ†3:8‰Xđąp8ŐťIÄb†Oś·C“ĄŔ¤ ĘÉ™ł}1ʆ’GŁĎaŐ±łd‹̉m®}'C*/á4â(:`5%SöÔv 8b{FĽţ$�ŁlXc*S2- ˛ZË _±¨ű’EeA‡Ćrč!ą:ó‹l ň’EÝ—D,  ±čŮš-.‹I”tý5Z{šĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~WÝš­ŻPA"|®d8Ł“ź ‡Sc…�ă&qNý€D,fřÄ8 R`ŇĺäLÄŠŮľeCÉ‹Ť#LŃç°ę8îş]*ŽYqŽ V÷FE¬¦dĘžÚ.G#í4âő'‰�eĂSč*B3‚„,„–?±ËíË 3ř’EÝ—D,ęľ˙żzđ‰/§śoAw‰1ČK"u_±€2HĢgk¶¸,&QŇő×híi*?Bľ ¶‰©¸-מ m"Ů–gjůQ\uk¶ľB@‰Xđą’áŚN"|.Nug±áçÄíĐ$bi0irr&bĹl_ڞˇä‡ĹƦÁčsXuwÝ.GĬ8G«űA#Ž˘VS2eOm—€Ł‘v ńú“D�ڞaŤ© tˇYABBËBbůÔ!ŕK"u_±¨ű†wµÂŹđ…ă”óčÇl+±¨ű’”aĄ•gC”iÜllʧLĂ7![ś¦ň#ä›`›ŠŰrí©Đ&Bq‘mip¦–ĹU·fë+Tź+Îčŕ$bÁçÂáTw&‹>qNÜM"–�“6('g"VĚöĹ(J~XlaŚ>‡UÇq×íRqDĚŠs°ş4â(:`5%SöÔv 8i§ Ż?IŔ(Öš@W!š$d!´9t†_±¨ű’EÝWđą˘á;šX‹Ęúu-V‰öŐá­ ±¨ű’”A"=[łĹe1‰’®żFkOSůňM°MLĹmąöThˇ¸Č¶48SËŹâŞ[+Ő-A$bÁçJ†3:8‰Xđąp8ŐťIÄb†Oś·C“ĄŔ¤ ĘÉ™ł}1ʆ’GŁĎaŐqÜu»TłâA¬îŤ8ŠXMÉ”=µ]ŽFÚ)hÄëO0ʆ5¦&ĐU„f Ym ťˇ@Ŕ—D,ęľ$bQ÷UŃ”}KP“¨’ëúŞ"Ć—D,ęľ$beEĎÖlqYL˘¤ëŻŃÚÓT~„|lSq[®=ÚD(.˛- ÎÔňُęÖJuK‰Xđą’áŚN"|.Nug±áçÄíĐŤ%bˇÁU XőÉt“0‘DrŔ(J~XlaŚ>‡UÇq×íRqDĚŠs°ş4â(:`5%SöÔv 8i§ Ż?IŔ(ÖŠŐUhX%´8HČBhSčśÝ|IĢîK"u_Kňţ ęK"u_±€2HĢgk¶¸,&QŇő×híi*?Bľ ¶‰©¸-מ m"Ů–gjůQ\ukĄş%HD,ř\ÉpF' >§ş3‰XĚđ‰sâvh±´�°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâç2`u?hÄQtŔjJ¦ě©íp4ŇNA#^’€Q6¬1««`őqˇABBBçÄ.ŕK"u_±¨ű’Ď—D,ęľ$beEĎÖlqYL˘¤ëŻŃÚÓT~„|lSq[®=ÚD(.˛- ÎÔňُęÖJuK‰Xđą’áŚN"|.Nug±áçÄíĐ$bi`Ő'ÓMÂDÉŁl(ůa±q„i0úVÇ]·KĹ1+ÎdŔę~ĐŁč€Ő”LŮSŰ%ŕh¤ť‚FĽţ$�ŁlXc*VWÁęăB„,„6Ή]Ŕ—D,ęľ$bQ÷% ž/‰XÔ}IÄĘ ‹ž­Ůâ˛DI×_ٵ§©üů&Ř&¦â¶\{*´‰P\d[ś©ĺGqŐ­•ę– ±ŕs%ĂśD,ř\8śęÎ$b1Ă'ΉۡIÄŇŔŞO¦›„‰$’FŮPňĂbăÓ`ô9¬:Ž»n—Š#bVś#Č€Őý GŃ«)™˛§¶KŔŃH;ŤxýI"�FٰĆT¬®‚ŐÇ „&� Ymť»€/‰XÔ}IĢîK"<_±¨ű’”A"=[łĹe1‰’®żFkOSůňM°MLĹmąöThˇ¸Č¶48SËŹâŞ[+Ő-A$bÁçJ†3:8‰Xđąp8ŐťIÄb†Oś·C“Ą€UźL7 I$ڞˇä‡ĹƦÁčsXuwÝ.GĬ8G«űA#Ž˘VS2eOm—€Ł‘v ńú“D�ڞaŤ©X]«ŹM˛Ú:'v_±¨ű’EÝ—D,xľ$bQ÷% (ŁŮD,qHă†bSŢ8eľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(®şµRݤA"|®d8Ł“ź ‡SÝ™D,fřÄ9q;4‰XZ�XőÉt“0‘DrŔ(J~XlaŚ>‡UÇq×íRqDĚŠs°ş4â(:`5%SöÔv 8i§ Ż?IŔ(ÖŠŐU°ú8ĐD ! ˇ  sbđ%‹ş/‰XÔ}IÄ‚çK"u_±€2HĢgk¶¸,&QŇő—jHÚŚű&Ř&¦â¶\{*´‰P\d[ś©ĺGqŐ­•ę– ±ŕs%ĂśD,ř\8śęÎ$b1Ă'ΉۡIÄŇŔŞO¦›„‰$’FŮPňĂbăÓ`ô9¬:Ž»n—Š#bVś#Č€Őý GŃ«)™˛§¶KŔŃH;ŤxýI"�FٰĆT¬®‚ŐÇ „& Y-ť»€/‰XÔ}IĢîK"<_±¨ű’”A"=[łĹe1‰’®żTë@ŇfÜ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š«níR·„Pź+Îčŕ$bÁçÂáTw&‹>qNÜM"–�V}2Ý$L$‘0ʆ’GŁĎaŐqÜu»TłâA¬îŤ8ŠXMÉ”=µ]ŽFÚ)hÄëO0ʆ5¦bu¬>N 4!HČBhQčžÔüIĢîK"u_±ŕů’EÝ—D,  ±čŮš-.‹I”týĄZ’6ăľ ¶‰©¸-מ m"Ů–gjůQ\uk—ş%„‚D,ř\ÉpF' >§ş3‰XĚđ‰sâvh±´�°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâç2`u?hÄQtŔjJ¦ě©íp4ŇNA#^’€Q6¬1««`őqˇIAB!�AD,ęľ$bQ÷% ž/‰XÔ}IÄĘ ‹ž­Ůâ˛DI×_Şu i3î›`›ŠŰrí©Đ&Bq‘mip¦–ĹU·v©[B(HĂϕ gtp±ŕsápŞ;“Ĺ ź8'n‡&K �«>™n&’HeCÉ‹Ť#LŃç°ę8îş]*ŽYqŽ V÷FE¬¦dĘžÚ.G#í4âő'‰�eĂS±ş V'š$d!|HĢîK"u_±ŕů’EÝ—D,  ±čŮš-.‹I”týĄZ’6ăľ ¶‰©¸-מ m"Ů–gjůQ\uk—ş%„‚D,ř\ÉpF' >§ş3‰XĚđ‰sâvh±´�°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâç2`u?hÄQtŔjJ¦ě©íp4ŇNA#^’€Q6¬1««`őqˇÉABˇAD,ęľ$bQ÷% ž/‰XÔ}IÄĘ ‹ž­Ůâ˛DI×_Şu i3î›`›ŠkÓ{S²ÄýôňŁĐ&Bq‘mip¦–ĹU·v©[B(HĂϕ gtp±ŕsápŞ;“Ĺ ź8'n‡&K �«>™n&’HeCÉ‹Ť#LŃç°ę8îş]*ŽYqŽ V÷FE¬¦dĘžÚ.G#í4âő'‰�eĂS±ş V'Z�  4(EÝ—D,ęľ$bq091»·ďß HĢîK"P‰XôlÍ—Ĺ$JşţR­I›_ľĐŕÜd­|.˝bă˛:ń*1Câ|\[„˝6ża¶"˙›ÉÜĎţ›u?30Üž ýD(.˛- ÎÔňُęÖ.uK‰Xđą’áŚN"|.Nug±áçÄíĐ$bi`Ő'ÓMÂDÉŁl(ůa±q„i0úśČuhí«n„ ®Ĺ9‚ XÝqš˛~"…˛aŚßFÚ)hÄëO0ʆ5¦bu¬>N ´hGAdP ‹ş/‰XÔ}IÄâŕ·—\ W_ö(‹°˙ŇĹđŽOö١o$bQ÷% (ŁŐD,Qh¦ś¦â˛DF9%mipšĘOťyÖbY1|в,GŔaAÍî#!1±Gĺ= ÍŹWţ^yČA®żJVTn4;ĺö\b°˛í {އ�şú&ö@ášĎ[űČ”*'PGÚí©ĐO„â"ŰŇŕL-?Š«níR·„PźË$'RqVą«ç~ĺ‰)v¬ć±°:»šYČśęÎ$b1Ă'ΉۡIÄŇŔŞO¦›„‰$’FŮPňĂbăÓ`ô9‰µß8ěĽ/Ť'•Ď$\7Šs°ş4â(:h÷©¨D eĂżŤ´SĐן$`” kLĹę*X}ś@h!…ĐćHĢîK"–P|íCꀇWŢ[×ţ¦ĽÎĽřߥäŻx“#ň¨‡ď]ő{ččě�1¨•űî›nď|ęKľď=ö(řĐ7>/ŐŤ{ĺoţäŢh´_›Ön€ů[đź˙óĹJšŃ˝{áť/z}Ŕ÷Ç7üŃ}C"u_±€2¬Ć<˙Đ‚Ś¤­Ůâ˛DF9%mipšĘO˝ĽčW´ßdžű Č쿢®kń¦ĎAqŐß cźěę=J§,)öÎÜ«˙l÷íúZ~p6X…Ľó>Nf«cŻXdÎ˙ß¶öf(ţíյݾů{Î'�˛Ąk…ž!Č^ôYČ˙ŕ�ÓŁ1Kź°=jQ¦ŃŽŰ48SËŹâŞŐm[D,ř\&9y{}ĺ+_„“O>)2]ˇP€ńńqŘąs¬_żîąç>řÇ?n]»v•Ć6Q‹XAšYÄÂëőg?ű tĐźőťď|Ü˙ýŕ­/±áRăÄ9čHÄB¤°ę“é&a"‰ä€Q6”ü°Ř8Â4}Nŕ:“Ź'ß;ńŤpĆĽC|毮ú;ütĂ-P] C¨ áşQś#Č€Őý GŃA»OE%R(Ćřm¤ť‚FĽţ$�ŁlXc*VWÁęăB‹-Dhc $bQ÷%‹2nżöFá´wÝps¤EŤWߛ֮‡¬}0eí‡ü•ł_›Ö¬ňu@"u_±€2HĢgk¶¸,&‘QNI[ś¦ňaç"–béqB‘Xö\ç:EĆB5T±đ7K/±pŘ÷ţÜGx^µluě•|Ű…+Ö±JŹr^CVE,etô�\čÄ‘Z[Ś-‹B?Š‹lK3µü(®şQݶ5HÄ‚Ďe’łÜ^"í–Ífa``�–,Y çž{Ľď}ď†ßţö—𡽆†fK´˝Xşf±Ôăe•k ŚăWÝ™D,fřÄ9q;4‰XZ�XőÉt“0‘DrŔ(J~XlaŚ>'’„•&faiíďYůąŻ¦pÝ(Îd 5ŃŤŁč€Ó” ż GŇŃH;ŤxýI"�FٰĆT¬®Â¤=„¶ Ym AD,ęľ$b‰D—•ső^O<đ0ěٱ Dpçu7EĆâ/±ßĚéŐYG&ksů_ťöKÄ7 ÇśxĽű¸Ž;ĺDź//aXąIĢáK"P‰XôlÍ—Ĺ$2Ę)iKÓT~ęŘËW¨Q qx‘Yx{ćş>ubrKÁ”YţCU…#ľ5ĆęŹ/vň|ę”Éą¸g¶®69ěO3˛fv¬÷סv{*ôˇ¸Č¶48SËŹâŞŐm[D,ř\&9«"ő?ttäŕâ‹/‚ź˙üÇpę©§D 8J¬ ‚f±řŹMV'C¸ď¨îL"3|✸šD,-�¬údşIH"9`” %?,6Ž0 Fźş- î/1BŇđÉ-ł üQ¸nç2`u?hÄQt@hĘú‰ʆ1~i§ Ż?IŔ(ÖŠŐU´ĐV ! ˇ !0(EÝ—D,Úŕ w\wclş­›6ĂĆŐkAŤ[ßG,ĽăĂď…}öŰzűzáĚóĎ…w|č˝Đ~ÇW‚ľ$beEĎÖlqYL"Łś’¶48MĺGŔ—U%1¸čqŮ…Žŕ ?j× ť[P|Mqŕ@ČĚ? âP(–oX .˛ŞęN2î®,aö󤛆Ńß˝f¶<,?ůMŔčeď63Uő‰[7Ť-‹B?Š‹lK3µü(®şQݶ5HĂϕ 'Ci;ľSËżř98çśłb9B+Żx <‹7&«ËU±¨«gD,fřÄ9q;4‰XZ�XőÉt“0‘DrŔ(J~XlaŚ>'S¦Ň2lLq橎ȥ”PÂuŁ8G«űA#Ž˘VS2eOm—€Ł‘v ńú“D�ڞaŤ©X]E·o#¸ŤŽmł:‰XÔ}IÄ‚ËţďŽko‚çľüĹ‘énżćFČxŽ×ÎΞλľóĹś˙üç:Ż2¦‹30=3j ~ ±€2HĢgk¶¸,&‘QNI[ś¦ň#ŕËqîîĚĚ„n4书ď˙°šMÄĘ‚.ÉrˇßV+Űĺěřlń«’źĐl˛ Í·ůd„íţő p‡ž×O‰”ď|6óô°ç'ŻsĘ›±/.r»n˛™Še‰—ĹŤéÍŹB?‰łS_Ń´)®şQݶ5HĂϕ 'óěĘ´>ýôÓđ‹_üşňąŻŻć͛˖-ăŹ?Îüżăź?úŃĂĆŤOÁşuëíó=ę;éÇç­Ľâ°E,"Ź bă§,ź”§˛k’śú‰XĚđEsŇ�©¬údşIH"9`” %?,6Ž0 Fź“)~y<)F &ş•ÄęĽ÷~eŐ1FřE~o‰¤ŻÓnőćĆŢď‹1~Âi‡úi_ˇÍ0Ćo¬ţ͢ŤxýI"�FٰĆT…®R?1b˙&Z$d!´Îę$bQ÷%‹9âpXýčc•ϛ֬Íë7ÂÂ%ÖőYyýMŕ=h—Ű1}ŕ!ôç–§é›gť™‚^ű†!řLł<Śy~!nŠ·-}IÄĘ ‹ž­Ůâ˛DF9%mipšĘŹo醰Ęn#µÜüt/<şň9;o9ŔĐR(î]™¬Â*ťůß ö«»FČ2ůôĂĐsŕńP{áč,12ĎŹ™yÖŤYČ"ĄUJ\>ťX1 ľxŢĺďŔóX1‡©UâĚŘ„űŤ•±nţ™˙µjĘQËí¬=˛đňXĄˇei´ă6 ÎÔňُęFuŰÖ  >W2śńÁ˙đ‡?Ă˙ř'pÎÜ5ăÖĽyóŕ]ďz<űŮçű|şşşŕýď/Ľă˙a§+ű±Č<°šń‹ŁĘWĐ«ź^ŚĎă ő.~ŤˇDí¶RµĹ)Y¸™@ÝTÓVů "/U„ÇV?IÄ‚Ď%Ή! 2°ę“é&a"‰ä€Q6”ü°Ř8Â4}NĄLB×®"cJ_ćýŕďçNT«üe)~śŕ#"^Ví»ÚˇŰ3qŚőŃC|`N\ĎŹŐäÓňü+őÓľÂA ÜXč[-°h#^’€Q6¬1Uq:žXł`çtˇABB›@ŕ¬N"u_±hăăŽń Yř ¤ŰŻąţĺ­ŻMż~ŐjŘşé']%ƱGĂ#÷?b¨ć{ď®ÝpŰU×ĂĂ+ď§×o„±‘QČf208{XvĆ XqŢŮĐŃŐđĹ×Ý 7˙í*Ř´vLŚŹĂŕĐ,?úp8űyŔ'[×ďî›nď|ęËľď=öHřĐ7>rćąhߡ|ŕö»aĺ ·ÂúÇ×Ŕî» P(@˙ŕ�,\r�~ÂŃpćEçì9ł@Mr\“”ŃN"–(čÜdl¦â˛DF9%mipšĘŹŻXŘxŹOČ‘9ôąPĽó;Ą_N[•˝9™ˇ1z<"óSŢ”Ą´®ęě€ŇżX‡>2¬�˝¬®€™ `Ł;€myŠOŢÖ†Ű+‹pVȢ/ŢŔľ9ć%Y|Xłöw°á-P\s#ďţ?`3Ă ;X¦wß~UŔ4ůŐÎÓ—Ęĺđ¸@1×m—ĺB°–¬€Ě‚CÁę˛g–ťŔ&G€í\°é>(>~5Ŕ®ő®¨jwi‰ÎS˘¶48SËŹâŞŐm[D,ř\Ép2ˇďѢ}˛wĎŃžŰNö5îÎť;ŕă˙4lŢĽ^÷ş×úüŽ:ę8é¤áî»ď÷gŃÁA‹—ďĐC…ç>÷8účŁaáÂ…ĐÝÝŁŁŁđĚ3[ŕţű€«®şž|rm ?+VŔ—żü_DľkŘ?˙óKaĎž]ľ€ĂŕČ#Ź„ď|ç[5~EŰďe°{÷.Ďß‚ ŕâ‹/„“O> />úűűabbvěŘ?üÜ|óÍpÇwop׆Ë}đÁKᢋžÇ{,ěż˙"číí…ééiŘşu<öŘcpýő7ÚÜwB=nŢ7ßűŢwÁ‹_üĎľďżň•ŻÁźţôçQPŻzŐËᬳ΀}÷Ýrąś]ďĎŔĘ•÷Ŕe—ýžzę)ŤcĘy�Ičô$b1ĂÍI¤°ę“é&a"‰ä€Q6”ü°Ř8Â4}ÎDWщY¬é¶:ŕ ʇs÷9Üfwö9?|Ř95 Źo‚[¶­‚Ëźą¦ŘŚťĽŽř 2§ŕ3Ľsçç,8 Žź˝ću@ż=GꙂŤă;áÁÝáŞ-ÁĘ]Ą1ľhy†`wÂ=ÔŃ˙¸ŕ“ľđkF¶Ŕ?ÝřßĐ“í„×-= žż˙ńp@ď<čČdá ·_+w<é¤űóąď‡eűTü& y8ńňŹ8ű÷Ě…7,;NźěgĎSąíéń]pÍ3Áeî€Ýů1¨+Úń3LŮSŰ%ŕuě±h#^’€Q6¬1Uq:žXł`44Ú$d!´Îę$bQ÷% –qtvuÂôÔtĺ»;Ż» ^ü–×97Őjyůه25ßzś}cî§ €jľŻţÝ_ŕ÷ß˙äóÓľűµĂ^@ăŻűn˝~˙ĂźĂ[˙ó=pÄIÇ‚ 3¸äł_{nľÝ÷ýî;á®ţáĽN<ű4xó‡ß Ý==`ÁvÚöô3đťO~6®Y°íŮąŰy=zĎđçKľôđ˘7˝˛ą,ȡIŽk±€2HÄâ˘ŃnpšŠËbĺ”´ĄÁi*?Bľâýaę釀ًkV®«ň]Ç!Âäßuvs.ďBÂőř+·ü9“î8ó­P??Ą·ĄuU'îń݇Ü)oČvřÓwö5‡ż–@ćŰů$®ů X;Vů ĚĎţ÷¨Cî¬w;â/xśě)o°c=ňż}Gčî/ĺĽ ­ĹzîťU¸Ź|!dĎţw°şé­ŢŮÎ 8ŕÔ7BńŃ+ˇxÝ—!33é˝_F}Ĺ §âŞŐ­Ě)¦ĺ@"|®d8ĺ‚[Î.\–oŢÉŰž‹YřßüŕÇpÚi§ÂňĺË}~/|á `ĺĘ»!¸› {n÷ĽÎ?˙Ľ�߬Yłś×a‡ ŻxĹËŕ˙¸ľüĺŻÁž={*iîşë.صkĚ™3§ňôÝYgťůËßjiä–™×éŮgźŕ»ë®•N,·¬¬"\}ík_ o|ă ŁĂż4Úßß编,Y ĎţŰví:řüçż«W? ü`Žç}ď{7\tŃsv^oś—ż¸ýńÇWÁ'>኉jĹ>nĽP8č ĹđŤoü·ł«Žx óúçţ'řŃŹ~—^úłőѲ€$ôz±á‹ćlăAPXő)r˝.bĹlFڞˇä‡ĹƦÁčsŤÖU sćgÍ;ľpÜËńJ-Ůs7ţş`ߣá=‡]_|äĎpů3÷;;uúĹ'Ąxößcg�ź?öĺpP˙ü@ĽŽ8rÖţÎë•KN‡űwo€ŹÜ÷Ř0±ł4»e•|9[ ÖÂţşÇĘÁO}+gĎm}ŕŰĄYčd– ]ďYű ˙}ňk Űó(ŕÎLg-‚Ăí׫:Ţ˝ňgpďîőĄy¶ÜŔ„żT#éuě±h#^’€Q6¬1Uq:žXł`44Ú  Zgu±¨ű’Í·`Ď0Ž:Ţ/Ů˝u¬~đ‘€/˙EŮÝ7Ţęű¶`�ö;¨ţcją‹…|÷Ó_†_ű‡0“ĎŰY+9ç•-˝2ÎwÜ6Ľk7|íCź‚+óGÁe߻Աřăg*±ů$†ŰżůźźsňT >ÉŐřuZ5‚+ľĽ^<vďCđ™·}бđA0kĎ\r!yăą+ägŕň_ţľöÁĎÚő4âh’ăšD,  ±¸hÄŠFoŽ2 ß„lipšĘŹŻ\›đ!cbĂÝľď2ű‚µß±®P¤č.Đđ÷E{$Čr/mqb/ä·Ż‰ĺ,/­řhrá {ÚżE,aů›{0ä^úC`žîFś8Eđ‹XŽ~)äžőÁ€ĹÇ^Tě}ń×í´ęĺŐ+´ C±dg%QŹó¨˘3ţ rĎůH¨% {,=ňbČĽü(d:ś_Ň3ę+N~Wݨnăă¶0HĂϕ §\pŻ…ż2™ňßLi§–Ś3˙üŐŻ. řžrĘIĐŃ‘őđşÂ— ćĂ%—|;TĆ3Ď<~ôŁďÁľű.¨Ä*Ř7«®ąćş@ÚsÎ9ŰÝ•ĚWĚŇ#íÎ>űĚ€ĎW\U9žůźl6 źýě§ŕ˙ýż·D,aXşô §<§ť¶˘ÄJŕy?|ď{ß ±„‹}~üăďÉ'ďy\QµĽačííŻ~őË‹Ľ}ßúÖ7ĂŰŢöVĄľN"|.qNü‰XUźL7 I$ڞˇä‡ĹƦÁčsXuŚÇ#byĂAgĂ·O~c¨Ą<Í—ŹüÇňç�+¸ăMeb[{ÎťüԞۆ‰XÂpÜěĹđ«3˙ęťkű+qśĐ…p!Ë[>/(bqĘű +ŰźŻăÚ·/|íä×úD,µŰ5�ß]ńfŘŻkVčąOý´ŻĐxĘíÍBßjEńú“D�ڞaŤ©ŠÓéđÄšَ™Đ† ! ˇ…!pV'‹ş/‰XÔ}CŽ»‰é)8Ń^ó‚/ ŢqíŤ~_«îöîŘĺK{üŠ“`jfbąKřóO +oüGE`’)‰JÜ_Ó•3čţ<Svđ‰Âeßű©ó"<˝ń)¸ö+Ĺ·Ĺćźą„ŰW?đüőç—Eć9’"–˝;wĂ%źţ*LŚŽ9‚•jąíÉŚ˝¨xŔA‹ˇ·Ż×ů&SĘ=vďđË˙ů!ˇIŽk±€2HÄâ˘o(˝9Ę4|˛ĄÁi*?Bľňm’ÉuŔäÚľĎr‘#´p~Vm,<2}ţş‰µ·Ű7˘wč*ß\*ŘÁ¬“˙d~V0M~fv®ÂŢg‚Îv@î˘ĎCqp‘+ţ(Ąpň5{)äÎ~ ;´zO} ÄĺµXçî…#¤aĺ:±Ót&dOy}0†}ý‘ßü(LoĽßúÔ"łĎa`ťúŹ0&,#‘I¶48SËŹâŞŐm|܉Xđą’áT îߑŠ[řë¶ŰnwĂęß=䀬Kř+cŻ2~üăuv©Ĺđđ0¬]»¶˛;Š\ŕńĄ/}Á™”ÇQ.@©Ĺ '!ĺe°lŮÁÎ㋼µç}7Ýt ¸7ÎÜ×›ßü8çśŕÎ-“““°~ýزeK tttŔ§?ýIX´h!Ȣ\.úÄ'>ć<R(<]xűńÇ}ć3ź†yóć„4a>oyËaß}ÝÇ-ěݻ֬Yă<Î) Ż}í«ář㏓ęó$bÁççÄ?¤!bItIXőÉt“0‘DrŔ(J~XlaŚ>‡UÇXq<"–Óç.‡÷~q`Gď+ÂĆѰ~dä‹ÁţëňgĂĹűSÚÝÓ}ń~»o× |é¸W:?:ôgťÁ{^»rŰxzlg ެÎ^g¨PXy"H;§»^yđ wRě `BęëSÇżşJ?‰’^ôwtĂŽ|ľ›Ćäş ţR!ޤc"ljXT§Óá‰5 ÖĘă'z´ˇE!pV'‹ş/‰XÔ}ëw|W”ăN;ŕëţďďąé6xő;˙rŐIÂ×ÝŘţ÷Űw:?Í]ÂúUOŔ忸¬˛#JşŢđ˙ ‡qä§ópĎíwÂĄßşvďÚ ŕ^,{ľP„}é›đĹźş{{! {wď±ď÷38ú„ăŕĺo~,>x ď†›Żľ~˙ł_UB]ŃH®üőá‚—Ľ�zűűy…ÂČ—~ĺ;0şwÄ){Ë;Ţńá÷Ŕâeî‚ba&7]}üđë߆ɉI§Žxú›/żÎńŰ(rç›&9®IÄĘ ‹‹FĽˇhôć(ÓđMČ–§©üů*´‰ +Ű kn¸ŕCľď;–źă7Őîâyűe9kjŮC‚ż–ž|ňÍuDg JÂŹůG@ljŻő'° ÷Ţř-»ç·öŕ?ĺ|•™µ†žűač^zş'C==őß pĺÇ*Qą0&wÚ۸'$_·Áđ-?„â®uíť ˝Ç˝úVĽ˛ 6ŻĹp{eŤ±4ŢćN >Niâá+aďß˙ ŠĂNDfeađŮď„ÓýĺÎűO0őŹKěş-:ס‰Ę$¦- ÎÔňُęFuŰPCnŇ  >W2śŃÁ㸝Gë]S~ź‘‘ضm;ě·ßľ>ż<ŔyôN™˙Ą/}sĚŃľ4»wď†ĎţżŕÖ[o«¤;öŘcáă˙OX´hQ%ßů„?ĘçOúłóů‰'ÖŔš5O:•2¸ĐĺŚ3N/‰\¬ĘŁ‚ř+Lśrýő7ŔôôtIp„=×}ő«_éKĂçĄßůÎ%đ»ßý¦¦&ťď.Ü>řÁ÷Ă©§žZIÇ…;|ţ¨ń§ńTëńĄ/} |đQ˝W_}-üđ‡?†Ť7Âś9łťG6ńÝRxYË5k>üáŔűŢ÷!§,ŽĐ´Î–j]]]v9¦ŕ _ř/¸ňĘ«ť´Ůlţĺ_^ ď}ﻜÝXĘŕ±ţő_ßj—ëí•Ď‘Ą‘>†őz±á‹ć4w˛"‹NŃ$L$‘0ʆ’GŁĎaŐqÜu»T·źőe:áóÇľ jVřǵwÂWď˙ěśq>tvĂŰŽ¸Ţr„'Ň÷ţ<¸vË#0Í….|l°Çś×-9 :ş}éÝő|čöźĂ{6—˛ŔŕÂŽ‡Żźő&ßÚë±sĂ!űÁęţC«îőćś®~ç/˙QĹ­Ď<÷n& 30ÔÝ;&‡=ŹÎ ú;o‰“ź/Ţó{¸Ç:çügďw$|rĹ+`^ŹGŃgíw d»`¤8]Z#Ř™đ— q$QŹ˝úFĽţ$�ŁlXcŞât:<±fÁZyü$b@;˛Ú$bQ÷%‹şoÄ5ńĚô ĚZ0–,ó˙:kbd^yOĺ3üÎ}·ÜáKâŽZqf őą=řűŻţŕ(ô˝“™EîźůźŻÂ‘ÇťťŽä¬ ÎO}óËĐŮY˝aÇ'#»öŔ-W\qŕŃŹ=éřä׿hÇ=ÚyüŃÂÁ+Ţü:ř·˝'6?5 w]KhžCKâéuáÁ;îńM¤ćďł�>ý?_vD,E›łŔ öýÁśwńđ–wżÝCg9ú.f©Ź&9®IÄĘ ‹‹FĽˇhôć(ÓđMČ–§©üů*´I ™\'‡·@~űľď­®AČxjuGČBDzskâarÝm`Ĺ<"¨XÚŤ%sÂkśÇëx±çşŻÁčť?kfÚůe÷> »~÷>ٵÁ—6»ü<(vVvD)v Aviđ&ÝÄ·ŔŽ_ż fž~€_8@açząî`Ď•˙qp~ť^§âXůĹÓŘ× SW|Ćţôżůű0ůČŐ0ůŘő°çŹź�äQw—µŚťpäşo›óŲz† Ř·�<?x«’ÔÍś[ś©ĺGqŐŤęVč\ŇŞ  >W2śŃÁŐ¸­’¸Ĺťxń?\R‹ţţ‡ßÝŤ% ŻxĹË}v.y÷»ß·Ţz+¸ůtă=đŔđŢ÷~ffüŹoý§z/żW^Ü•…?^ecľď˸âŠ+=źĽęUŻô 98ľůÍ˙…_üâWŽřJ»”nŢü |đ˙ 7>ĺK{îąçŔ¬Y^QÁç|Ő«^°\uŐ5đńŹ6lXďôżť;wÁO~r)|á _ ¤ĺ˘.ę >Z)Ď}î‹%±sÚŽ?Şé·ż˝ ľűÝďŇuÔQ°xqücŠIÄ‚Ď%Ή! 2°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®Űeâ°Ňµś=y|á˘`~Íă`Żyęřđ?ťS#|×yŤä'á+÷˙ ţ´öN_ÚýzgĂ™óęÎ) ţoí-đöŰ~_}đ/đ‡µwŔĘmOŔŰoţ<1üL%żn¸jă}pű3ʞxÄŔBĎŻ%XÝëÎ {®üF{NůÖëż ß}ř*¸tő đŤ‡/‡µ#ŰÜë’:~OŹî„×^ó XiĎőól¦Š3v™ď‡ţăŇ@ÚÎLŽu@) 8ŻPh7ĺ¦fˇoµŔ˘ŤxýI"�FٰĆTĹétxbÍ‚µňřI €„,„ö‰XÔ}IĢî#Ľ(f`ÚľČ^QóLo~ţŔíwU>?ńĐŁŽ¸Ĺ .>éěďBÍ"`řN+ßyO`[ÉWĽĺ ĐŃÓ{ó°szÔ~ŤÁČĚ,Zr <ű…űŇrß{kÄ4A¸őő¦wý퉌w vçÇaĽ0 ç]üXzČň@\ţźŘşV±pÜsór?ďĄ/˛ËÝ {fĆ`W~vŰwÚG “pö…çA_ź‡Ö˛ë®Ţc•šä¸& (D,.ń†˘Ń›ŁLĂ7![ś¦ň#ä«Đ&p±"ż5ľęú€-»äLgwľ¶fíw¬#nńbjă˝�“{ťő2QŮ%Ůę´ăů·D.NĂŘ˝żsëgçˇúâw¦aôţ?űĂq̧8˘ţ‚…Ç„1śsřš˙†ś}Žę°ătdÝŹ;qď żíI…P›0(Ú •ůÇ®ń[~�Ăü ˙ţ˘Í łąů+›)ŐC!äšÄ^ -?®(v±úЦMqŐŤęVř\ŇŠ  >W2śŃÁő¸Ë"WÜöxšîî®#Ź<ÂŮQÄ‹ŰożV­Z ŐGUămذV®ĽŰ—ž 5ćÎťSÎ=\uŐŐöŘěß:ě”SNvvG©–ťÁ˘EűĂAäK÷ôÓ›áŞ|îčč„ÓjçËwšůýď˙X*'ř±ÄwrůË_ţęKĎ)'ťt˛Ë#(aŐ{upÔQGzĘĺ‚‹|ľő­˙-qfśG•ů/żüďÎ#jÁĹ:qmĘŹÄwy©>Şű7żą,´O:éÄĘŁ—ę•Eú=‰XĚđEsš;Y‘E'Žh&’HeCÉ‹Ť#LŃç°ę8îş]*Nů=s¶ÜĽ`ߣÉľűĐîŹ-«"<á“c>>übŐÍôgÍ?´"bá˙?=ľ nÜňüčńëŕ#wý^{ý·`ËÔ0Xö$°ü*Ç›.çł;űKŹň‰.ó7ř+Üąe•+çNšťŘîđ\ż~âł×sÝĽd+ůąmËă°vď–@úö|źďđ{ Ě„żT#ézěŐ7âő'‰�eĂS§Óá‰5 ÖĘă' z´ˇ˝@"u_±¨űŠěNČ˝mżVś{üćÇ?óŮ»çĘű‡ďľ/°ÝďéĎ:Ű}¦©@6ź^·ŢŮůÄ» ߲ř¸'ÁŢ™IĎĄj¦ě‰Ď +Š3O‡ż˙Î{sÍ‚Ť«Ö8yßzŘŤ±ßţ‹`ż%Řq'*^F.dá7˛N;÷LX»Ú˙‹ř-žSX˙řšŔ–š—ţď÷áGßş$ôťßhĚÔÜ0Üů̶ČMr\“”A"–x¤uCŃčÍQ¦á›- NSůňUh“Xŕî‚2ąúZućŰ|¶Ü§Ŕ$Űěx¬řN¬ş¦´‹JýßT~°6©˝čÖĺłeşaчî)ĚZäŠXxţć0ç·ÚăčŢMĐ™u…$ĺaąPz6úäę cÁÁőă ´‰•qfěŠqD7ö—Ef•löwýs!3¸Xű‚5ű@č8ôYéťU´GÖ xšŇRČőő~"ä«`3·ŃňÓâ  >W2śŃÁqąô÷÷ľťśśtlĚ?ü°€ýL{.yÇ·€ řc}vîÜéŚi|‡.vY±â”Š˝ŁŁN?ýT¸îşJÜ|§”°ÝXĘ;’¸ăöŇĄKśÇîx100�·Ţz#Č`Ѣ…uëSü‘Fµxě±ÇaÇŽ>ńŚűCs^¦"ÜtÓ-°lٲš8‡—ćáüSxîĽÓý!L5n|×™{îą7°{Í’%K HÄ‚Ď%Ή! 2°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâx>0w9rö¤¸řĂ úćącźű9ĂTIĂ…"ĺu2‹?ž¨öÎ}şgÁ˝sá”ůËŕĽýŹ ÄË”łłN~ņ{+âWŚâň:3Q÷W#ˇ~«÷l®Ši2ĄEP{ľĘňöšđČvX:Ë˙xÄľšůz(đ— q$QŹ˝úFĽţ$�ŁlXcŞât:<±fÁZyü$$@BBű€D,ęľ$bQ÷•Ü=dÁâE°tů2XűDő×W\<±{űN=.<q˙#ľôą\N>÷Lç±8"صuG@Ě1oÁ|(veUÔňŐX{mţâE8ÓSÓ0˛g/ ÎޱT}÷_r ڦ “Ĺ<,\śTŤěަ°Ű.{-ŠŹTŕuZ{«˛hßs˝ä˘IŽk±€2HÄŹ´n(˝9Ę4|˛ĄÁi*?Bľ8m´ś5­]ë żutěshĹ–™µXŻ=&ŽnžýOô‡˛ÇČ©U׹?ZJľ°ĆŮöôĚ®üβk1łc-ä,w–\ąlĄËgŤodžú±%Ú„Çs´g—mÁÁĐqäĹ]t4dą`§fËę¨x•ťXHÄbȦ¸ęFu«ÇŮä  >W2śŃÁ±E,üľŐěŔÜ`xxÄwěkć}÷Ý004Tćq…˙ű•>! Äϵ×^ď¤áÇpŘc…®Ľňjđ8űěł/``Ö¬!©ô<ű쬛őë×WvL ţ@$ëÖ­ř”ë8Ş}ůN4ŐÝXĘâŻ=řă‘ÚťtŞyIčx$b1ĂÍiîdŰn7"°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâÔĽ·;ÝP®WL¤Ůť}ţ9ˇ= 0{R8Żk�^°˙ pş=—^6¸/ěŰ#8.2(ť¬Čâo›«ĂÝQĹ*íS P¬ď7aŻ5;"Ç/Sšó-W30YĎRé‡,ˇ“T¬ó—rSłĐ·Z`ŃFĽţ$�ŁlXcŞât:<±fÁä „– Yí±¨ű’EÝWRÄÂ1U,Ŕ9Ď=ß'dá…Ő>'śy*lXíß^ř¸'Cç@ź# ÁĚTđ½·ż¦ůŽ.ĺ|× Űśüđ˘MOŐŠTüľ=˝=ަ:z»ß姦Ab픟 Šjś_ÖCdŔĎ$ĂŽ}IÄĘhZK‚4n(šŠËbĺ”´ĄÁi*?Bľxmâ2¸Ů~3ńčß}BŽĚÂă!żćFČ.đ˙rzjÝí�“{Ę? §, yÎMa„…C'żąN'®#»ĚvLŹ»Ź'˛,g·”ŚçfËŹ…Y§‹…]¦®grG=T.rś207ĺőŐ$rVł™ŠŰůQ\uŁşŐălrź+ÎčŕŘ"ŽţţX°`AŔşqăFç/sşşşťťţńîć›ońńqčíí­|wę©+ět]Î# ĚĂóŹç<đ #ŘČ8Ź8pë„? ]]ť©ďoOO°nĆĆří}Ü’ßßµűŃÝÝ qřää„ç1IîwŐř &&&>|§šÚWIÄ‚Ď%Ή! 2°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâÔ|Uú®;sËŻ+ŰčČŻ_vĽë°çBwVd,¬¸“`ÖýŠ#b)‹YŔťo[Îz{řh•Ń—)íâRŢú%1nÖË ÖůKą©Yč[-°h#^’€Q6¬1Uq:žXł`ň„BK„,„Ö‰XÔ}IĢî+y§ĽKJŕ´g? ~úířžţÄCŹÂĐÜŮP™ođł/8?ôąŁőĐí<KÜŹ±Ń±Ňĺjx™GÇF ,Çî"ZAß‘‘QÂHČłą;»dĹۉ/tÖâźűxĐbAçĐ,hšăšD,  ±čS5ĺŤJ¦á›- NSůňEnŕ?Ҳśµł©ÇŻ8÷]|Ĺ«bË-<f†·Ĺí<|ô G,bEYę2w>(žĚovţţ஫Uo.9BVŢ%Ě…#L±đ˛Sž1x&(ö´şúKŹ;ŞîâFśďěżÝĚ$H»äž÷Č.?7Ô^Řű vn„™íkabÝÝ0řě˙€ŽyK‚A˘°mip¦–ĹU7Ş[=Î&‰Xđą’áŚnBÄÂqÚi§:ʤő‚‹K6lŘXáś ůáŔď~÷¸ě˛?Ôzň[cËŹ*Ď{§§§ŕ†n‚ç=ď˘JZ>=î¸cśÇč¬X±" ỸTżs‹7ňىµk×ÁţçG=é9ôĽw˙3:6?ކű&?řŁšĽĺ, nÜż ô Ĺ©Ĺŕŕ,(—ŮĘXžţn9ŹSŞEmŰ‘źKś˙B"d`Ő'ÓMÂDÉŁl(ůa±q„i0úVÇ]·KĹ©gc01ţcÇ‹ţňçWîn%~§ĘK×*=>(Ďw3©lëeÁ«:>tä CcďžµĂ[`Ýđ6¸ßž®X°^°ôP‚UžÜ–E,eU&ÄLĆK•t%¦'bqËü>4±8”›š…ľŐ‹6âő'‰�eĂS§Óá‰5 &OH ´<HČBhmEÝ—D,ęľ’"źŻŤžˇ8ć¤ăáţ»î©XÖ>ň8Ě™Ď)P Îw<9öôS`Ş’ßř|Ď]0?đÝŽmŰarb<Tä±ií†Ŕwť]ť00k°Ľ$ę÷Ôş …Mk×ľŞłĄq8äÚiţľ `ÓúŤľďúíĹÁE‹�ěĘŹ?Ę)Źk±€2HĢOŐ”7*™†oB¶48MĺGČąM úţff|'Lm¸ ş–śZ±ç Y{ÎrzňOŢ Ůňş?ĐG¶ż›†Â®őĄg|WÖÖ\VÍ_ůŤűk2ËŃŮ‹Ćvbćć ü¶\e˝®…•ěKA|!“ßHăkżŁ"VČĂ荗ŔÔĂWBaŹ[gü1H<ýŕyoaP_Ń´)®şQÝęq69HĂϕ gtp|Kő†ÖË^ö’@Š»îşf<?´Řşu[ Íđđ0lܸĘ;ŹXĘăźĹ ,ş(żÜďÁ‹®¸âJź…㤓N‚;î¸N>ů$ß÷ÓÓÓpýő7ĆěmŰÂó·a7–ŻüuęĎ›8lŮĽ.X˛dIÍ7–SeÎĄK řđ8e±K=,_ľ Ü›wáC<äĺď¸x¨’[éăH˙Ŕ#‹ľhNs'+±čÄMÂDÉŁl(ůa±q„i0úVÇ]·Kʼn6ď±çŻüQ:Ţ]SřmĂčv(ňń–ŹVŤ“·ăfÜ]M¬¬+háč´˛đ‡^ŕűÓÚ;áŇU7ŔŞ=O+µł'…‡ĎŢ”ay)`y§·ž ‡ůAĹÇą~(;ZŃă&ĆVh7ĺ¦fˇoµŔ˘ŤxýI"�FٰĆTĹétxbÍ‚Ém ­ ±¨ű’EÝWSÄÂ1Uśs.|¶ĎĘĹ$ŹÝű ď»SÎ:ĂžIdţQ8`éG„âE±P€oż»®Ď}·ŢřnŮa‡¸ ţŢíö"ŰúŐOÖµß}ËďđîŽY—ňítĐ!ËßÝsĎ=°{f¬îkí3kľ%K«ű’EźŞ)oT2 ß„lipšĘŹ/r›T`•Ä,îŁx&ý»ĎÚ19t.^áűnň‰!SŞě¤"‚ÂŽ'ˇ‡ť Ź€\wäl^ţęŕŻlőŐŮ;ť=}î猛?÷qAîB\qÇÚ�˛dć,.˙®ôč·"˝@ŮYgQđH|8ëŔ“¶‘›ľc·^ Ĺ˝[*;ÂdKu”é!P_Ń´)®şQÝ"śKš$bÁçJ†3:¸ KyLyó›ßxtÇźţôgđ TV­ZHs ÇCU�’ ĽćÍ›ťťąŇgŻĄ,Bq?ßwßý°u«_ rĘ)'9öO<Á÷=Qů±=eđPk×®…|Ţ?6~řaĐÓÓ[Ă]Íďŕŕ€óHٰĽ‰]¸ ó裏,ś{ď‡&Ě#ě±ŕ¬łÎ ř<ňČc±Ľ§ť¶Â.SOh_ź7oyäď×­[ďć@ú8Ň?đHÄb†/šÓÜÉŠD,:qD“0‘DrŔ(J~XlaŚ>‡UÇq×íRqâÍĚ^ą|t÷&źŤĎŃNŮwą»Ë \O.ëye Łłćőąźł% ź�;;~5ë�čđ˙�ň¶g‡ßţsx|Ď&w3”RzţcŚÁÎ^Đ[J9¨źöř”›š…ľŐ‹6âő'‰�eĂS§Óá‰5 &OH ´ HČBh3čśäŰÄ—D,ęľĘ"?¸JţÄ3Onďs´Y1 d©>VH<ß™Ž,śxjíÖŽüé'ż‚Éńń@úÍëź‚›/ż&đýŠłĎ°óY„(đęřő·3ů࣏n˝ň:Ř"r9ę¤c«Îš(Ě|źO:ëÔ@šëţ|%ě޵ vYj_O<ş ŢóŇ·Ŕż=ďŐđ_ďýüć’źÂCwßjHđ¸& (D,úTMyŁ’iř&dKÓT~„|‘ŰÄg—âLőQ<ů57�ËOxd {±_´1őŘ®HŁ|óJ€ěÓëýBP+×ý§ľÎ{TÄ,ö‡ňűçfżózÓeĐ÷ĽOC÷‰Ż€lϬĘÎČů§îu®jŃuŢ{íĄĘŚ#8á×ή(ö?'Ľ˛sřM0 zfl3;Ö9“I^/ą¬űâď»<˛ó‚°™ŠŰůQ\uŁşE9—4+HĂϕ gĚ-MŚ{c¬ü*–vä;w|ň“×˝î5ô?ü°ł#‹Uůĺł<đ łĂ‰Ç{ ś|ň‰ˇB‘ţţ>¸ôŇõ×^?řÁ%đţ÷ż.ľřą‹Ů3č^qĹվؼÔŮŤehČ?F]qĹUPĎ@%ŹvžWúŇvuuÁk_űę:B >ő©OÚů»~ő«˙sęâe/ű5«ĚW˙Š —ă`WćÁ‚]»vůŇdě~ďxÇ; ¶ŻđżĎ{ŢĹvůÄ˝ńĆ› đ¶·˝ĄňŮŰď˙ýßßź»ďľ›D,¸Ä9ńO $bAV}2Ý$L$‘0ʆ’GŁĎaŐqÜu»P >Ág§Ď€íy+Ip:!sĆ˝kź~0ćG]ě<&‹Tśť?ł™Ęß7z.üăź…ž˙)řßÓß o;ü9pđ¬}+#ÝěŽŕ.ŢOňťLKŹ*â1 ëţíďěł!P.„Z=Şźöř”›š…ľŐ‹6âő'‰�eĂS§Óá‰uű¸±ÄBK€„,„ÖDčz‚ÎIľM|IĢî‹$b©DěĘÁ ľăJţ_| Í‚ĂN:Fć˛ÓhĽčU/sͼضi3|ů=‡U<ůé<LŚŤĂť×Ý _yßǡ0í˘pîł/~¶ß> ˙ýOÂŞű†±‘QŘjópŃĚĄ_ývŕWí]ÝÝpʳΔ®ËŽšfʸ÷î Dľă LJ.…#Ź;Ú—fdď0ü×»>«ô˙Bîá»îď|ň+NÓŽŹŽÁŁ÷<˙ŐáÉGV<<®IÄĘ ‹>šňF%ÓđMČ–§©üů"·IĽ;˛df&ťWęˇ8ľ f6ÜUŮ%±-qud7íÄĘ˙ ¤éł{Îz;d{+ń2ÝĐ}ÁG ·ô GH“™»:ޏ:Îx›=pO—D7vÔ‰=0ąúć@ĚŽNÎŘ~Ç@ˇłŠC‹!{ö@÷yď!Ô«ňĘş(Âhđ±F}Ç˝2Ůś»sŚĺľ:ö;†ţĺ  Ę©e3·!óُęFu‹z.i6ź+ÎčŕşÜ/zŃ?Á?ýÓ ě×óá…/|Ľň•/‡wĽăßŕßřořÝď~ çź^Ŕgjj ľôĄŻúvLáČçgŕ˛Ë~ďKËm_üâçࢋ.„ŽŽ\e¬<ŕ€ýá+_ů’#–áŠ#Ž8ţůź_Ď}î…5evăórşěWżú•ľď¸XäŽ;îň<ţ§,ŠqoěýęWż ”çŤo|=Ľímo…ÁÁY•ÝVúűűáCú�ś~ú©ÎÜyÉ’ĹvŢžo}ë›az:ďÉ[µ8óĚÓ]álĆÝAµP(Â/ů«@ş .8>ýéOÂâĹ:Ľsć̆׽îµ6÷űiůc”žxâ ™0żüĺ/Ź|äĂŽ†—ĺĐC…Ďţłpá…Ň>ôĐð~ýS’ŹLŇ?čIÄb†/šÓÜÉŠD,:qD“0‘DrŔ(J~XlĽ›îÚ !ޏëvĐ7Nžs0ś4ç 8yöR8ič ˙köApâě%Îß9Ą]PěóůÖß ĂÓţ,žĽ`üďoúçAů—\ŘňÚφwţ\'Íľ=CpţÂŁá]‡_Cĺ]Uěľ}r$·ó÷?ćňť8ËŹ"âăXĎ�üďYo…Yť}_72P«GőÓľźrSłĐ·Z`ŃFĽţ$�ŁlXcŞât:<±fÁä „¶C„¶€ÎIľM|IĢî‹,bá.ŕ¬çś7]}]ĺ;ËCtĆłźy(€,xIľ^üš—Ăď~V]Hă7Č6¬^˙ő Y…3ky·d¶ŕß?ň>ČőtAľŹät~‘ÇĹ1˙őžŹůl>[üEŻz)töőŔdLÜZpĚŕ¬Y0ĽwŻďűď~ę«đ={2őś—˝^öŻŻsvŻůŹŹľŢ÷Ć·ĂŘčX%[6> _zçÇ``Ö Í›#{öžť»KeĎ”ęŤÁśůsáÂż�äŕqM"P‰XôŃ”7*‘MY’6ăľČm‚Ęm-ľnǸ„9;®ôqQhúÉÇ®¶Ç‚bĺń>ΞÉ,*~ůŃEöXţÔ=0v÷o ď¤—űRtŻxŁ˝ŠřZ(î}Ŕ›2CűdżŽÎßńcg·çsÇę‰[.îĺgٲľ´ą%+śW-Šă{ Ó;u!°Ä/ ňO=�µżÁë:äLČ˝ăŹPŕżö›…ĚĽ wŕńŽ'&dýk'ę+ęýDČWÁf*n3ĺ§@"|®d8cni"p/Z´ĐŮ E…B>ó™ĎÁÚµëGyNçţeđÓźţÎ8ătߣúúúŕcűOxßűŢ [¶l…ÎÎNX¸pżŔ|ÇţÁ~TůĚÍŢGílܸ}ô1GôR†űxˇ*®şęçx/ď¨â‚•bYpĎ=÷Âe—ý^úŇ—xx,xýë_ëbžyf‹ťŹ»^…î\ÂËÇwvń‚űđÇyÁă˙ËżĽV­Z o~ó˙sľűĺ/gžy&wܱľ´Ď~öůΫśď0đyőç>÷EY|ŕiů®,ĎţĹÎ+ śó;ßąDđ1I/ЉXĚđEsš;Y‘E'Žh&’HeCÉ‹ŤwÓ]»!ÄwÝ.W|†óÁ{îů9\˝ůçý^{ůŃ»~ ß:ó-ľ4ĎÚďHçőĚřn¶Ó,ę›ýąî@¬[¶>÷đGŰZîüwµ=wÍOBG5íBŰ÷Š‹?+·Ż-“{Ěé …ž\gtFĄ«ĹŕůëüĄśEúV ,Úן$`” kLUśN‡'Ö,ÖőP‹ ąB=ĐŽ,„6€Î™ĽM|IĢîk@ÄâFfpřIÇÂě9łCíg]đ,G좂ńÂ4ĽüÍŻÓÎń>sŰmđŰoθ"ʬg[gţ‹˛×üë›ŕ¸SO†ÉâL,ϱ'ź�ç^řěJÜr¤Lé—ę^yÜ1đ’׿¦âÖ‚·ŕiĎ >?śpüqĺ]TfXfď;ŢőńúŰTÎßťĺ©'×;"–ŚGÄÂÁĹöÁĎ~†fÍq$x\“”A"}4ĺŤJdÁDS֤͸ormâXŔ}ä7ßMdfĂťPŰšÖ}¬Pu7–˛=βĹŮĄÄŽ?~ă7arííÁ´™df�™ą…ŠX¦»¦J;şTcÚ;ź„ákż"(Ží‚=×}«~Á… ^Ţ™Ť÷Âô†{)˛C ˇóČçBç‰/ÜâKqd;L<r]TH\›©¸ ™ĹĹ+Ş[sśM�±ŕs%ĂsK3…ărdd>đĂ 7Üä{lOů=±řÎ#űاŕé§7ü{zzŕ –8â™ZÁ?NżůÍo9»ËfUxţţ÷+#óX޵Ą*°aľÇń×·ľőmgw“ZđÇńťb–,Y*bąćšëŕżřu o×_ch^¸ĐgůňeŽpÇŇáă˙”# C=Ëčč(|ä#ź€;vř{To1âřS]ŽZ\zéĎŕŢ{ďń… ýŹD,fř˘9Íť0HĢG4 I$ڞˇä‡ĹƦÁčsXuwÝn•kľŇn+×>ó|űˇ+BÓî×;ťµ0TÄÂôᕿ¨~a‡ĎOÁOWÝH;ŘŮç/:^}đYÎN.\ÄÂw˙媛!<“ &ô•B<Oe2úV ,Úן$`” kLUśN‡'Ö,<ˇ´‰@h…ĐâĐ9“·‰/‰XÔ} ‰XĘČCÎ|öłßď·˙B8đĐe ć:¦ˇ�řü'ŕuo‹˝°V^¤sĹ9+k˙ÍÚsž ” 9kh|ôËź…~őË`´0%téËSĽíýď„ăN>ˇôČŚóޱpAÍGěŘSVB›pźWĽĺu°đ€Eľď3NY2đÔęu•Ç Ť&áÄ3VŔW~ř-X˛ě JÚrąËŻŚGÄr葇׾÷ X~Ôˇ0Q1$x\“”A"}4ĺŤJ¦á›- NSůňM°M€w}÷†Xů‘=|Ç•ÉÇŻ ¤›Ůý·>ęHśG AÜĐ_˝©ÇÓ縅ĺaďďŢĂ7}€X“ďŔ2zÓw`ôŻs ÂOSüfU¦ôh#>žNÝókŘsĹÍÔ“řN,;őnço8ÄÂ'BµyG.{?Loz8ҧ°w+ěüůżC!„—×{]P_Qď'Bľ 6Sq›)?"ö‰Xđą’ጹĄ©Ě­6Íçóđ—żü ^ńŠ×8ËĘ„)ދ͛7ĂŢđ溏ZlÝş>üáŹŔď˙Gß÷ŚŐƸöÚëśü„aÍš'á‰'Öx„5 jGon›™™÷ľ÷đýď˙Đy‡‰‰I¸ä’Ŕ'?ůéęÎĄžŞĽá†ě׍ˇľ\ăîNăćcűöíđ¦7˝®Ľň*ßŃĺőŻ3¬\y·§\^^?ď}ďűaÓ¦§ëĆ-‹v™ľßýî÷ÁŰvŃŹŇ?čIÄb†/šÓÜÉŠD,:qD“0‘DrŔ(J~XlaŚ>‡UÇq×í&Q,­Şňóą3ŮÍŔ·ąŢ~Ó÷`÷Ô¨€;ż®ż^qÝ×a×”»“uIęÄűÎŁWÂo×Üc˛‡Ýö3¸{ŰĐúŞ+>‰4ź—€#ę±Wßן$`” kLUśN‡'Ö,<ˇ´‰@h%ĐŁ…- ť3y›ř’EÝWYÄ"Îë<^čÂó᯿ýďűł.8Oúń;µÜc…iGĽń˘W˝ Î~ÎůpĂ߯‚VŢ ›Öo„Ń‘ç×cłfφ%˗‰§­€sě|tuw9»ąL îšRdE°şrđń˙ţ\ůUpĂ×ŔƵëarb†ć̆Î>.xáĹpĚIÇCžÍŔŢ™ PE×`|ĺG߆Ë/ű#¬üÇđôƧ`jr úúaźý÷‘=Ă0kîlçW#… X¸ř�řꏿ ÷ÜvÜqÓ­°ćńŐ°cë6žš†Ţľ>3qěŃpĘY§9;ËđËýá™qÁËţŹk±€2HÄ˘Ź¦ĽQÉ4|˛ĄÁi*?Bľřmâ0*żŔöŁôŁěĘăú2YűFŮôهľ_ĺK;őŘ•%‹ĺěÔĺ¸ň¸u. sÓWŃř€ &o˙L<řWč9úůĐuĐ)Đ1o)XüyâöXĎĹ&ůíOÂôş;aňáËÁšÜYΙ©b8śYěŔEžß{Űžřôžü č^v:äfďď¤)ěÝS«o†Q{ń°8ľ:Ď©ź×Ň›ŚUż<e[Ö®'65 »üFč<ú"č9ňčŘď0÷±E3yٹήŻ`ě®ßBqr,Ľ†Ęb Z#őő~"ä«`3·™ň#bopź+Î[š*Ó~KÜŹ?އ?:g۶mήüQ<7Ţx ěŮł§$Öô‹XĘ»ť¸ů®îä966ýč'ŕ°Ăç<ç9p¬=·â»ťđÇ ńř»wď†Ç{nżý¸öÚëAIu—+·ě ŹŔm·ÝçśsV ďW\qĄOěá Sͧ“Cgw”źüäRřŰß.‡‹/ľN>ů$g·ţH^{öěµËżîşkĄł ĚŢ˝Ă5B÷Z˙墏|äăpŃEÂsź{!,_ľÜŽ3ŕ”“‹tşíy´›×yjj >ůÉĎŔ/ů+;ýsᄎE‹xÝô:¶­öĽ”?Béúëo€[nąµR§e1LőQŔő•‹‰^óš×Á«^őJ8ďĽg9»ŕdł9xć™gě2ÝżůÍď`Ł=gŽŻ”ˇГŠ_4§ą“‰Xtâ&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰëÁŞů« gśŕŹ˙łÇ:Čeŕú-ŹŔyţ<ńIpŕ°Ů‹`^÷ ó#ľ˝ScđÔŘN¸cË*¸|ĂݰfdX¶Ź•-=>ĐrgżĚţ[´çŁźXůkřëş•đ⥧ÂIű,sâđtĎŚí‚[·<?]u<5Ľ.ć»uÖĎ 83ŰşóP+Ľ.Ę—Vdáýö¨ô›˙:FĘÇ }«mÄëO0ʆ5¦*N§Ăk ëz¨E†\A˘ggKĐf üµę|®üŕĎó·üĘ–ľËÖĽ¸m˙=á„“oăůd“Đ^ŕ‹eđÉ<ýęľ;@:Ł@ů’EÝWSÄ2+× ™¬Ď263 !┾l'ôÔ<r€ DvĺÇią0evGoŕűťÓŁu/YyěľLWL™Ü~5R¬ű8Ł®Lj¶ŁäŹ ť™„A§Ľőu“Ó,#3a»Ľ07n¶Ç÷mž`üüă¬\Żçq@ţX;ň#ľĎ<Ý ×űř zŕ;Řpń ÁÄ#ÁăšD, Ś6±Ľę¨—¦ą@Maăë†oíźU›©¸,&‘QNI[ś¦ň#ä‹Ű&ü4ÍÍ…"|ÁôLŃů[( Ý|7“ÎśĺDřn)Ľ{đĂś§ÉŠvz;mŃ]ćáiy:ţęĚVĹ•Řök¦ŔśE|nęČTcóÇ ńÔvR'Ťó*ş± ¶C1d8) <8oÎľDČYnsnţ 9‡ĆŤç”­Tćň ëŚgWr«.Ëey^ťre*™r,—˙Çż.—›ó;qŠŐtüo9.”ň]ÝĂ­ś—ŰÍ8q:łŐşŻ<މúŠz?ňU°™ŠŰLů ±/ľl‡‘qőC  >W2śŃÁŐ¸Ý±Š 7řcWůßňńWĺ N˝â‘ęăŞB ďㄪůcPž;ú_�őĘVűŘ/‡żěĺXĺr”ąŞ12ÎŘž©ÉoX]ÔËŁXţĽqËyňĆ*Źşá>~Îby° ÔŹżŢkëĄĚůľ÷˝^ň’ńyţŕ?r^Ő6 -Y ő-ú=‰XĚđEsš;YaX¸ČËĸ:ôŻ-`Ő'ÓMÂDÉŁl(ůa±q„i0úVÇ]·Gř0>Ż,€ĺů‹OÝsĽg Ům¤ô ç.ZIxR €łÖéNČŹĹÇţ·Pę3ať¸ô 'NÖyoEČâNđl˙™‚ŹÇ©ť–Ż *Ă«NÁŞĆĚąq Ź5StĘ^ž°Z٬ťĆNß‘uËU™ŘzęŠçĂyKun|{"]á)Mv+uËÓrźRž,›§ĎeJĺ¶�„„ť•ęW }«mÄëO0ʆ5¦*N§ĂkLžPŘ4ţżiŹ«„ÖÁĐĐ,çď˝÷®<Ü3čpéoˇćĹJ‹žóü­}AťĎQkß×"¶gĐŽ,‚:Qů’EÝWSÄ" .©˛L î"Â=QČ;Ý™čp)”©üęÜžJ¸Ź!˛íSĹĽB Üb|§żË~ĺJ ‹üf¤đťeřß0_đĽî™wꪳôh$«”.@á7ĚŠž‰˙n÷ĚtfrĐeĺ*ʞJř\,ÄóĹë†ď#Z^uHú’”A;±čiŘMů نoB¶48SmOsmRZs%ćv}ţ9[PXŐ5?Čňő/çY@ÎZ87Ă,÷Ń@>ѧ±,gg>2[Ą5Ř2W¶”ÖĄXŽęž«8\ˡ8k~(‰nJ‹h`ůňěYĘ;ÁXŐý_*;˝dÝř˶8kĄÁ*ĺÇ»W^c,ŰśGeŞ—4śŹ?˝ÁĘq‘ŤĺÖ‰ĺ)s×B+ôĄ˛x2e!N9·Î€‡7W[?5mŐžŇö–껊«nT·ć8›�$bÁçJ†3:¸>·_xâîŇR}–žsf2ĺ4~ńJ­ĄśĆ˝çćÎÄĘ/ľsI˝{fUAE9žU÷>RU°Ą1Ć»űJ5Nř#xĘ\ĺ‘«“Ź}ay¬-«żüq˝>Ő|ůÓWo,Të§|1«whyve ‡ż­jËfŐ…A˙ '‹ľhNs'+ KĂ«>™n&’HeCÉ‹Ť#LŃç°ę8îş=Ą±ËřÝşŚĺ™ÄyÄ“�•Ů–ĎŻ<™,ďŢĺüÉ8VËčĘ9ź�…Ź#•óii•Ä,ަú¨>V,_âó YśĽXŐIˇĽ4Ô•r]É”3Ěť[ĺ‰i©¬–;)ßő�«©«JOüňó€3Uńgy‚ě|Îňq3[ş(Ĺđ=?¸Ţ8ĺ¦fˇoµŔ˘ŤxýI"�FٰĆTĹétxbÍ‚ÉJ›„V Y„ tF&ň%‹şŻÄ5mŔ×˝3“ ŠűN׎éřçrBÓĆ—™ <ř#‚Ż/.řňqű}ą`Ĺ÷8¤Čşdţ¸Ĺż</LÁ8‹t¦a¦A úZµíÖ—ušřüÓ hŘ•LĂ7![ś¦ň#äk¦M¬ęZUUÄÂE!ĺÝJJ"”˛ Â˝�—Í”…$|»äŇÂXÎî%™ŠđĄ϶çJ'bďfc~‘ŚU9ÝTb3w7”bĆrIžß D«”?g;ĘŚUZł|kü÷NľKë‡<^!ců~I|ìł~XţĺY©ĘĺrÖ ťµCűfZŃŤ])OĆÍOumÓŤ›µ} –ż)+Ľ•uK«Â Ą2eËk…ĺ_ő©Ţ3k›ľ«¸xEç!sśM�±ŕs%Ă\ŹŰ˝"ОĐ$j’ęN,eźr,=@E`QNc•Çšň íË—_°áÝ]%*OŐ2xËŞ‹„ć°"f)‹XřŘ^ŤÍęäĎ˙×ó}ďŚ}Ě˙hĂ Ĺ ­Ë «›ÚżU{ĽĹŞis¨ąßhâˇГŠ_4§ą“‰Xtâ&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰŁŕ Uá‰ĺ<“Ŕ=a[Ě?NWG;?—Už0–v%sţ–…aą;źXĺ_%xwIa¬:RzÄ0VE cyĆ)Ë™32ţÓG>±ő mj3cy2ě™V&™LE<ÂóŸئŕ)ey7•ŚUż®[¦z=Sâ¶2Ęăźó%p'˛ŮęâA™ÇĘÔż® @ů¸aˇoµŔ˘ŤxýI"�FٰĆTĹétxbÍ‚ÉJ›„V Y:Ł@ů’EÝWâš6ŕ«…l+A :o+ř’”A"łhŘ•LĂ7![ś¦ň#äkľM2ĺ·’Ł´ôćYźł*;‚T~˝]ęÝ˝ą,fUÖŘ2ž<Ž/_ls~ŃUJëŮQĄ,bńţzĚĺł—ý¸Oi÷—ÚP^?/§7NµXŐxYV˝qVŽă–ÂSEĚ]ó+Ű+?<+Ýlt~©W®”o>şK~QŚSŹĄń9i= “µĽNvjâUęŢ[?µh—ľ˘ÚO„|l¦â6S~Dě ±ŕs%Ă»*.Š` ţÎ'eAI­¨¤žČ$ŚŻZ.żČŃź®6~TěňÎ"ŐńĽ\×—mĽ±ÜťXĽ±«ńâóÇbň5âźęűZˇŹű]ýşńŠwDQ+Tá"Úrűצ ‡ţG"3|ŃśćNV$bщ#š„‰$’FŮPňĂbăÓ`ô9¬:Ž»n„3»s~PPŠđˇIu„«ĂĺŞY ˛[‰wě*=ĎŐŚp÷lH[”Ç™ĘXţěIČJbV„f"┳ZćňĆ·ü×ViŢ^ŮĘłĽ{‹W¸â+Şĺ SŔÍOë-yŘ,ń±l©nkňëKĺ¦fˇoµŔ˘ŤxýI"�FٰĆTĹétxbÍ‚ÉJ›„V Y­Q ‰|IĢî+r1[ĎW -ŘV$bQ÷% (D,faꦡ¶Ťiř&dKÓT~„|Í·IůRE¬’Ď %ŹŘ‚A@l’ÉBéYäŐ_eYž¸ŠUń +oc Á‡7.T…)ĺG˙°LÉŻöFRyá­–Ż34^ÉÄjH}7ĄJYŚ®Oy*v+V-{ą,ľ2XV §'^ůo°čţĽFˇmú®â❇ rĆ9§±ŕs%Ă“ŰwÓČŠć,Ű˝;€¨qVî"AČĐWWıäĂjĘáßqFµţaőRżü¬nľjÓÖŠaü"˘řşßmLyř÷Tý.ú‰XĚđEsš;Y‘E'Žh&’HeCÉ‹Ť#LŃç°ę8îş]îăojĆDć$ÇđĚż|ăF`ز*‚–ň¸ä/™+ţ5‰JÂ’˛f&,ޞ¬qg9ç»,ÔSKďCŠ[§xë*Ö;©gţ^ĎXŐv“˝ĆQnjúV ,Úן$`” kLUśN‡'Ö,<ˇ´‰@h…ĐćĐšČ׳@“(oęľÜjkvzľŃ—D,ęľV­Ő—0ÚRÄ’ŕ §aoT2 ß„lipšĘŹormR]„+¶‚¶0± « J*ik8kE>^€şc]Ůćˇxă†ňylx•EĽ`<ßbIÄ^ţ…'źęßTsžg!ĺ·ęsD×OŰôŐ~"ä«`3·™ňëçś>HĂϕ gtp\îr0q źËéükŐ甇_„";irZĺŽĘ°lYŁÓ‹qFä¦t·Q®Mő<±á‹ć4w˛"‹NŃ$L$‘0ʆ’GŁĎaŐqÜu»TđhýçlVţ±DÔXç5Ő;ß{EQc}ÜýË˙¦îđ♏ű¸ęĚwC–1yd!»µ„ęNkʞ܄/”›š…ľŐ‹6âő'‰�eĂS§Óá‰5 &O(m"Ú$d!´1tF&ňŤ»5Ĺ›ş/·ň"^ĘůnD_±¨űZµT_ ‹Y4ěŤJ¦á›- NSůňM°M<va“ľňOĽ_Č%.?ˇľLśłž-®śáyeáyŠĘŹÇMŤ3:¦’˝Ąú®ââŐ­AÎ8çôA"|®d8Ł›±@Bśâô9ĺčqŞ;«óĆ9Z‘ś$bÁĺçÄ?XőÉt“0‘DrŔ(J~XlaŚ>‡UÇq×íRqj`…™cć˛k×±sd‰˛EÍů„ňŢcÔ÷ŠŹZż í†1~Ł{őŤxýI"�FٰĆT¦dŞ“Xł`ň„Ň&ˇť@BB›Bgh"_±¨ű’Ď—D,ęľ$beĹ,öF%ÓđMČ–§©üů&Ř&¦â¶\{*´‰P\d[ś©ĺGqńŠęÖ gśsú  >W2śŃÁIĂυéîlJÄÂÁţŐŻ~ ľň•˙ö¤µ ă<>"\B°nÚ sâvh±´�°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâç2`u?hÄQtŔjJ¬óĆřm¤ť‚FĽţ$�ŁlXc*VWÁčăň„Ň&ˇÝ@BBBgh"_±¨ű’Ď—D,ęľ$beĹ,öF%ÓđMČ–§©üů&Ř&¦â¶\{*´‰P\d[ś©ĺGqńŠęÖ gśsú  >W2śŃÁIĂυéîln'ŐÇ1XNzś6—8'ţ „D,ČŔŞO¦›„‰$’FŮPňĂbăÓ`ô9¬:Ž»n—Š#bVś#Č€Őý GŃ«)±Î_ă·‘v ńú“D�ڞaŤ©X]ŁŹËJ›„v YmťQ ‰|IĢîK"<_±¨ű’”A"łhŘ•LĂ7![ś¦ň#ä›`›ŠŰrí©Đ&Bq‘mip¦–ĹĹ+Ş[śqÎéD,ř\ÉpF' >§şłI‹ĺQŞđ÷Őó‚UůÎRłč$b1ĂÍiîdE"ť8˘IH"9`” %?,6Ž0 FźĂŞă¸ëv©8"fĹ9‚ XÝq°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´‰@hW…ĐFКȗD,ęľ$bÁó%‹ş/‰X@$bI©Ţ¨dľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝäŚsN$bÁçJ†3:8‰Xđąp8ŐťMďÄRFY¬âŠY@ú‰XĚđEsš;Y‘E'Žh&’HeCÉ‹Ť#LŃç°ę8îş]*ŽYqŽ V÷FE¬¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m"Ú$d!´ tF&ň%‹ş/‰Xđ|IĢîK"P‰XŇCŞ7*™†oB¶48MĺGČ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š‹WT·9Ű$Aź+Îčŕ$bÁçÂáTwNZÄÂQ,˛Ŕw\ˇ°nÚ sâvh±´�°ę“é&a"‰ä€Q6”ü°Ř8Â4}«Žă®ŰĄâ¸eu?hÄQtŔjJ¬óĆřm¤ť‚FĽţ$�ŁlXc*VWÁčăň„Ň&ˇÝABB@gh"_±¨ű’Ď—D,ęľ$be%=¤zŁ’iř&dKÓT~„|lSq[®=ÚD(.˛- ÎÔňُxEukS±M‰Xđą’áŚN"|.Nuç¤D,µśâ=./g’|✸šD,-�¬údşIH"9`” %?,6Ž0 FźĂŞă¸ëv©8"ć®GYÝq°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´‰@ …ĐňКȗD,ęľ$bÁó%‹ş/‰X@$bI©Ţ¨dľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝäTl“A"|®d8Ł“ź ‡SÝ9-KR\jś8‰XĚť¬Ň±$6Ć`Ő'ÓMÂDÉŁl(ůa±q„i0úVÇ]·KĹ1'p=Ęę~ĐŁč€Ő”Xç/ŚńŰH;ŤxýI"�FٰĆT¬®‚ŃÇĺ ĄMÁ Y- ťQ ‰|IĢîK"<_±¨ű’”A"–ôęŤJ¦á›- NSůňM°MLĹmąöThˇ¸Č¶48SËŹââŐ­ANĹ6I$bÁçJ†3:8‰Xđąp8ŐťIÄb†Oś·C“ĹHÄ‚�ڞˇä‡ĹƦÁčsXuwÝ.GÄśŔő(«űA#Ž˘VSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!©±•@H $d!´(tÎŢMäK"u_±ŕů’EÝ—D,  ±¤‡ToT2 ß„lipšĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~ݍn r*¶I‚  >W2śŃÁIĂυéîL"3|✸šD,ć@"`” %?,6Ž0 FźĂŞă¸ëv©8"ć®GYÝq°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´I IŤ­BŠ ! ŕΙ?a_±¨ű’Ď—D,ęľ$be%=¤zŁ’iř&dKÓT~„|lSq[®=ÚD(.˛- ÎÔňُxEukS±M‰Xđą’áŚN"|.Nug±áçÄíĐ$b1?§A.¬údşIH"9`” %?,6Ž0 FźĂŞă¸ëv©8"ć®G±úƸՔXç/ŚńŰH;ŤxýI"�FٰĆT¬®‚ŃÇĺ ĄMR0;t ˛čśůö%‹ş/‰Xđ|IĢîK"P‰XFoT2 ß„lipšĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~ݍn r*¶I‚  >W2śŃÁIĂυéîL"3|✸šD,ćĄ~¤R‹$g"V̢b+(ůa±q„i0úVÇ]·KĹ1'p=ŠŐď0Ƭ¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m’Bęc+HČB 8Đ9Ů'ěK"u_±ŕů’EÝ—D,  ±4.ŚŢ¨dľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&Č  >W2śŃÁIĂυéîL"3|✸šD,ć@"`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…ÔÇV!Y…@Đ:Ů'ěK"u_±ŕů’EÝ—D,  ±4.ŚŢ¨dľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&Č  >W2śŃÁIĂυéîL"3|✸šD,ć@"`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…ÔÇV!y…ĐćĐ9Ů'ěK"u_±ŕů’EÝ—D,  ±$č‹HĄmcľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&Č  >W2śŃÁIĂυéîL"3|✸šD,ć@"`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…ÔÇV!…ĐĆĐ9Ů'ěK"u_±ŕů’EÝ—D,  ±$č‹HĄmcľ ŮŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&HVŔâ0–x!!T‰HÄbŽ źS<‰XŤS˙ ‹ľhNs'«ö±(đ1Ý$L$‘0Ž”ü°Ř8Â4}«Žă®ŰĄâŻGe€Őď0Ƭ¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m’BDOz¤%’ Ym ťÓ{Âľ$bQ÷% ž/‰XÔ}IÄĘ K‚ľTÚ6¦á›- NSůňM°MLĹmąöThˇ¸Č¶48SËŹââŐ­ANmŇÔp F"3|ć¸Ĺ‚‘Ĺ ź>o’śú‰XĚđEsš;YµçN,’`şIH"9`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…>Ţ#-  ˛Ú:§÷„}IĢîK"<_±¨ű’”A"u_ĺóź<ľŤiř&dKÓT~„|lSq[®=ÚD(.˛- ÎÔňُxEukÓ@›45Ü‚‘Ĺ ź9n±`$b1çϛ$§ţA@"3|ŃśćNV$b�ÓMÂDÉăXAÉ‹Ť#LŃç°ę8îş]*ŽYńzTXýcÜÁjJ¬óĆřm¤ť‚FĽţ$�ŁlXc*VWÁčăň„Ň&)Dôń&i …ĐfĐ9˝'ěK"u_±ŕů’EÝ—D,  ±¨ű’Ŭ- NSůňM°MLĹmąöThˇ¸Č¶48SËŹââŐ­ANmŇÔp F"3|ć¸Ĺ‚‘Ĺ ź>o’śú‰XĚđEsš;Y‘E�L7 I$Śc%?,6Ž0 FźĂŞă¸ëv©8"fĹëQ`ő;Śq«)±Î_ă·‘v ńú“D�ڞaŤ©X]ŁŹËJ›¤ŃÇ›`¤%Đ@BBAçôž°/‰XÔ}IÄ‚çK"u_±€2HĢîkZÄbŮPł1 ß„lipšĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~ݍn rh“¦†[0±á3Ç-ŚD,fřôy“äÔ?HÄb†/šÓÜÉŠD,`şIH"9`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…>Ţ#-€ ˛Ú:§÷„}IĢîK"<_±¨ű’”A"u_±µĄÁi*?Bľ ¶‰©¸-מ m"Ů–gjůQ\Ľ˘ş5Či MDě 7ă$b1ĂgŽ[,‰XĚđéó&ɩŠ_4§ą“‰XŔt“0‘DrŔ8VPňĂbăÓ`ô9¬:Ž»n—Š#bVĽ•VżĂw°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´I }Ľ FZ$d!´tNď ű’EÝ—D,xľ$bQ÷% (D,ęľ$b1kKÓT~„|lSq[®=ÚD(.˛- ÎÔňُxEukÓ@›ŘnĆIÄb†Ď·X0±áÓçM’S˙ ‹ľhNs'+±€é&a"‰ä€q¬ ä‡ĹƦÁčsXuwÝ.GĬx=*¬~‡1î`5%Öů cü6ŇNA#^’€Q6¬1««`ôqyBi“"úxŚ´‚…ĐâĐ9˝'ěK"u_±ŕů’EÝ—D,  ±¨ű’Ŭ- NSůňM°MLĹmąöThˇ¸Č¶48SËŹââŐ­ANm"boX¸'‹>sÜbÁHÄb†Oź7INý€D,fř˘9Íť¬HÄ"�¦›„‰$’Ʊ‚’GŁĎaŐqÜu»Tłâő¨ °úƸՔXç/ŚńŰH;ŤxýI"�FٰĆT¬®‚ŃÇĺ ĄMRčăM0ŇĆ@BB Cçôž°/‰XÔ}IÄ‚çK"u_±€2HĢîK"ł¶48MĺGČ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š‹WT·9 ´‰˝aáfśD,fřĚq‹#‹>}Ţ$9ő±á‹ć4w˛"‹�n&’HÇ J~XlaŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź7ÁHK  Y- ťÓ{Âľ$bQ÷% ž/‰XÔ}IÄĘ ‹ş/‰XĚÚŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&"ö†…›q±á3Ç-ŚD,fřôy“äÔ?HÄb†/šÓÜÉŠD,`şIH"9`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…>Ţ#-`$d!|Đ|IĢîK"<_±¨ű’”A"u_±µĄÁi*?Bľ ¶‰©¸-מ m"Ů–gjůQ\Ľ˘ş5Či MDě 7ă$b1ĂgŽ[,‰XĚđéó&ɩŠ_4§ą“‰XŔt“0‘DrŔ8VPňĂbăÓ`ô9¬:Ž»n—Š#bVĽ•VżĂw°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´I }<ąă†@hld€@hrXÖ=ť3ľ‚/‰XÔ}IÄ‚çK"u_±€2HĢî«xţS+Ą|„n2 ß„lipšĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~ݍn rh»ĆÇU)¸'‹>sÜbÁHÄb†Oź7INý€D,fř˘9Íť¬ZQÄ‚>® d‘‰X1‹Šq¬ ä‡ĹƦÁčsXuwÝ.GĬx=*¬~‡1î`5%Öů cü6ŇNA#^’€Q6¬1««`ôqyBi“"ú¸îqcnîI $Ú‘…@p 3ú(ř’EÝ—D,xľ$bQ÷% (D,꾍:şiČ4|˛ĄÁi*?Bľ ¶‰©¸-מ m"Ů–gjůQ\Ľ˘ş5Či Mt}S…›9±á3Ç-ŚD,fřôy“äÔ?HÄb†/šÓÜÉŠvb‰`öł¨Ç J~XlaŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź'wÜÍÚ‘…Đ’`R3uť3ľ‚/‰XÔ}IÄ‚çK"u_±€2HĢî+ł9J±¦_…nü±{ŘŇŕ4•!ßŰÄTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&ľqîéÁ͉XĚđ™ă F"3|úĽIrę$b1ĂÍiîdŐ*"“çs‘ő`&bĹĚ#Ʊ‚’źř‹aŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź+7ÉM „T@BBÓ#l›¬éÉIÎI^Á—D,ęľ$bÁó%‹ş/‰X@$bQ÷•<˙MONľĂÚŞy"ďů tÓĹŘŔ–§©üů&Ř&¦â¶\{*´‰P\d[ś©ĺGqńŠęÖ §6ôť(MXă*S^td%HU"±ăÂçD"–FăÔ?HÄb†/šÓÜÉŞµvb ĆB{´ĐtäC¬f‹gĐJ„ŦĄ™�ŻŽă®ŰĄâŻGe€Őď0Ƭ¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m’BDW>nňÁ4ŇŁ…­˛ZĂ»w ¤Ň}|IĢîK"<_±¨ű’”A"u_éółÇŔa0…ťŁĹ2MT 2‘oB¶48MĺGČ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š‹WT·9 ´‰„ďÎ)s;ť 3 7s$b1ĂgŽ[,‰XĚđéó&ɩŠ_4§ą“Uk‰Xxlsă*ŚÔ˙acĚ_$‘0Ž”ü°Ř8Â4}«Žă®ŰĄâŻGe€Őď0Ƭ¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m’BD×:nƦ€@he…Đ’ŘľyKL ťŃGÁ—D,ęľ$bÁó%‹ş/‰X@$bQ÷U±plz;¦]EÁ,ĆŢ�¶48MĺGČ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š‹WT·9 ´‰¤ď¦qs7Üffd…,nćHÄb†Ď·X0±áÓçM’S˙ ‹ľhNs'«V±p ćĆŐâöńĐďcÎř"‰ä€q¬ ä‡ĹƦÁčsXuwÝ.GĬx=*¬~‡1î`5%Öů cü6ŇNA#^’€Q6¬1««`ôqyBi“"ú¸îqĂv‹>ť‚@hN…Đ’Řôäş«ÎčŁŕK"u_±ŕů’EÝ—D,  ±¨ű*ŠX86­Ů¦°zËŚ@XŚ˝lipšĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~ݍn rhßŐ#ŃŹ)ĐÁÔÔ´Dj7s$b1ĂgŽ[,‰XĚđéó&ɩŠ_4§ą“U+ŠX8 săjáé˝ďbÎř"‰ä€q¬ ä‡ĹƦÁčsXuwÝ.GĬx=*¬~‡1î`5%Öů cü6ŇNA#^’€Q6¬1««`ôqyBi“"ú8ĆqSÜ:B+„,„–öüŰ“?Z'…ÎčŁŕK"u_±ŕů’EÝ—D,  ±¨űjX8Ö>ĽĆ 1ź‡Z_xj:& ,ĆŢ�¶48MĺGČ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š‹WT·9 ´‰˘ď»óĆĆŐÉÉ A7s$b1ĂgŽ[,‰XĚđéó&ɩŠ_4§ą“U«ŠX8ňůicăjaíß÷1g|‘DrŔ8VPňĂbăÓ`ô9¬:Ž»n—Š#bVĽ•VżĂw°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´I }ë¸)>µ}\% $d!´$ąűŢouF_±¨ű’Ď—D,ęľ$beEÝWSÄÂńČ]Ź‚)ÜţÄtDęÔę G¶48MĺGČ7Á61·ĺÚSˇM„â"ŰŇŕL-?Š‹WT·9 ´‰†ďíŰó` ăăă©Ü̑Šź9n±`$b1çϛ$§ţA@"3|ŃśćNV­,báš27®N?¶µň>ćŚ/’HÇ J~XlaŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Źc7…'wĐĘ ! ˇ%±sËVXóđ#žotF_±¨ű’Ď—D,ęľ$beEÝAIJćÁ5°ó™` ›÷ŕţŤů,Ô©ŐŽ&lipšĘŹo‚mb*n˵§B›ĹE¶ĄÁ™Z~ݍn rh ßűw`óDLaff&'ŁžiîfŽD,fřĚq‹#‹>}Ţ$9ő±á‹ć4w˛juK>?ŢąG ±ťcÎ ˝3ľď±´A+id›B8”fĽ:Ž»n—Š#bVĽ•VżĂw°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´I }ó¸aOí¶Gt—Oˇ9ABB ½xç57”>ëŚ> ľ$bQ÷% ž/‰XÔ}IÄĘ ‹ş/‚…㮫ďT (�7ćĺLŐdˇN¨Ţp4aKÓT~„|lSq[®=ÚD(.˛- ÎÔňُxEukÓ@›čřÚ¶Ë7—w"37®ŽŤŤBÝ �Ĺź9n±`$b1çϛ$§ţA@"3|ŃśćNV­.báž.Í% Ž«ů•#Ň0ß`+(ůa±q„i0úVÇ]·KĹ1+^ŹĘ�«ßaŚ;XM‰uţÂżŤ´SĐן$`” kLĹę*}\žPÚ$…>Ž}ÜÚRzGŹ"´.HČBh d2ŐCąü,¸›ţrą=!ÓůőśÂČE"u_±ŕů’EÝ—D,  ±¨ű"‰XX‘ÁMşŃ éy.ŞwŚ”EŘřzŮĘ1{|e‘yIüć¨Á›č6ăľ ¶‰©¸-מ m"Ů–gjůQ\Ľ˘ş5Či Mt|™kţÝ÷×m&ÇŐ˝{÷xĆUO�HÄbĎ·X0±áÓçM’S˙ ‹ľhNs'«v±đ±nbÂ}¤žÉquę–'ëT(óýAƱ‚’GŁĎaŐqÜu»Tłâő¨ °úƸՔXç/ŚńŰH;ŤxýI"�FٰĆT¬®‚ŃÇĺ ĄMRčăčÇŤ=ÖĺďvĹ›Xă*Đ #šĐ’ŕçí‘={ášßţÔ 0r‘EÝ—D,xľ$bQ÷% (D,ęľH"Žk~} ŚěË źÇŢ=Ćŕg·MÖĎ‹ĆMCt[ś¦ň#ä›`›ŠŰrí©Đ&Bq‘mip¦–ĹĹ+Ş[śÚDÇ·dűŮú)Ř5ÍŚŹ«…B†‡‡ ‹>sÜbÁHÄb†Oź7INý€D,fř˘9Íť¬ÚAÄÂ155Ţůq•ŤLAţş'j,Ě÷Ç J~XlaŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź›8n wl6–7:®Ť�˛Z–ĺÚąô˙B~Ý…‘‹D,ęľ$bÁó%‹ş/‰X@$bQ÷E±đÝXţú㿸a-s—wĺŘ—\?ů#·P$mKÓT~„|™˘ź‚ÍTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&:ľ¬úç’Őĺ_Ť›WwíÚYš·ş  ˘“ź ‡SÝ™D,fřÄ9q;4‰XĚ!  ăFGÝGé%1®N\ţ¨§ Ě÷Ç J~XlaŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź9nřn,7>éĽ59®Ť�: -«FzČ?îܲ~ÉŹ@ #‰XÔ}IÄ‚çK"u_±€2HĢî‹(bářýw~;źŮPá[˛ü°ńuóž|ýę1ÎbҶ48MĺGČ—)ú)ŘLĹmąöThˇ¸Č¶48SËŹââŐ­ANm˘ăë±}ýń Ř<QLl\ť™™Ý»wąŮ+<·oŚs HÄb–‡S>�‰XĚp©qât$b1w˛j Ŕřř8‹ÉŤ«lçLýń!¨”ł¨Ç J~XlaŚ>‡UÇq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź›:nf®}Řž #ă*Đh ! ˇeś¸¸‡÷ďż˙XóđŁF.±¨ű’Ď—D,ęľ$beEÝYIJćÁ5đ‡ďţŢ ]ŁÂ7ł0čr|óšQ¸ă Äf1i[ś¦ň#äËýl¦â¶\{*´‰P\d[ś©ĺGqńŠęÖ §6ŃńőŘîß]€o® ߍĹ为sçNśś‚dŕą}W§\ÉpF' >§ş3‰XĚđ‰sâvh±CZ"–™™<ŚŤą?‚Hr\ťüÓCPxr'nQ1Ž”ü°Ř8Â4}«Žă®ŰĄâŻGe€Őď0Ƭ¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m’BD7uܰ§ö@ţZ÷z&ĆUˇŃ@BBK!L…Ďńă/|5ćC #‰XÔ}IÄ‚çK"u_±€2HĢî‹,báŹúÉgÝťÇLŞđ덯űĂ^;Ž7ĄlipšĘŹ/SôS°™ŠŰrí©Đ&Bq‘mip¦–ĹĹ+Ş[śÚDÇ×»^lż˙ŘĺGř“%1®n۶ĚŁZ`±ăÂçD"–FăÔ?HÄb†/šÓÜÉŞťD,śkddÄůśĆ¸:ńÓ•xĹĹ8VPňÂbăÓ`ô9ÔúE&\7Š×Ł2ŔęwăVSbťż0Ćoă}Ű5âő'‰�eĂS±ş F—'”6I!˘Ź;něÁuúŹ;oi7B»€„,„–B=ţşÇVÁ%źü\/…‘‹D,ęľ$bÁó%‹ş/‰X@$bQ÷E±p|ďcß…uŹ®sĂTá×_Ú4ďűíp¸ E)[ś¦ň#äËýl¦â¶\{*´‰P\d[ś©ĺGqńŠęÖ §6Ńń­±˝ďţQxhŹ»ŰXăęÔÔ”a1‹çöM\ť"r%ĂśD,ř\8śęÎ$b1Ă'ΉۡIÄbé‰X�FGGśÇçq¤1®ÖŢÚŔ8VPŞžĹƦÁčsX‡SÜu»Tłâő¨ °úƸՔXç/ŚńŰH;ŤxýI"�FٰĆT¬®‚ŃÇĺ ĄMRčă&Ź›üeBńé˝Î{ÚŤ…Đ.Č ¦łm–Ŕ_«Îç¨WĆó×űâßuńżűí·čÍ<`r[ńšÎłQíAaĂę5051ÇśvŠÇŞ0ZEÝ—D,xľ$bQ÷% (D,ęľD,żüę˙Á5żľĆyźÉx/ŻÜÉ‹é Ly|}ló Śç-8űÎŞ醢°- NSůňeŠ~ 6Sq[®=ÚD(.˛- ÎÔňُxEukÓ@›čřÖŘ>˙čüßşIç}šă*łpôôô.Ş&‹9.|Nń@$bi4Ný€D,fř˘9Íť¬ÚMÄ2>>fż&ś÷iŽ«…Ť{Ŕš.@î¨}A Ç JŐłŘ8Â4}ëpŠ»n—Š#bVĽ•VżĂw°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<ˇ´I }ÜäqSřűăż}ó>Ťq•Đ<čîîvţ>óĚfľŤ;?Ú¦Jk_ń]Ă€„,„–?aű#dU&/«xŘ#fQč‹$bQ÷% ž/‰XÔ}IÄĘ ‹şŻ!Ëß~ň7ç}íäĹýÓ˝¨ńőžőÓU1KTöMŘLĹM#?BľLŃOÁf*n˵§B›ĹE¶ĄÁ™Z~ݍn rhß±|˙‰qç}#Ś«îŤ?<1K•‡D,ć¸đ9Ĺ‘ĄŃ8ő±á‹ć4w˛jGËŘŘóľĆŐ™'¶«‰Y0Ž”Şg±q„i0úÖáwÝ.GĬx=*¬~‡1î`5%Öů cü6ŇNA#^’€Q6¬1««`ôqyBi“"ú¸ÉㆋX¦ozŇyźÔ¸Jh^%ÚFBBÂ/fŮľy3śtîYr*E±¨ű’Ď—D,ęľ$beEÝYÄŠ ľ÷ŃďÖ݉šLT…ďł<µ«Ď9˛ B飊¦j37Ťüů2E?›©¸-מ m"Ů–gjůQ\Ľ˘ş5Či Mt|˝ëĹĚ}śP˝ťX8ŇWą…?ŽˇŻŻôP-0‰XĚqásŠ"KŁqę$b1ĂÍiîdŐ^"ć<N¨ŢN,iŤ«\ĚÂvŚBÇ űđc+(UĎbăÓ`ô9¬Ă‰UţA#bVĽ•VżĂw°šëü…1~i§ Ż?IŔ(ÖŠŐU0ú¸<a8čăĆŽ{�㏪· íĆB¨ Y˘m$d!4ÂOÜ–ď1C÷Ţ|,>t9ĚY0â–ßčôßfôEŕ& ž/‰XÔ}IÄĘ ‹ş/˛eÍkŕk˙ńUxŕ8źÓĽÄŤŻŹ=3×=>Gě× űÎňü ŞhŞ6SqÓČŹ/SôS°™ŠŰrí©Đ&Bq‘mip¦–ĹĹ+Ş[śÚDÇ×c»wŢz×ܸ5ď|nÄq•?f˙˘ť/Dĺr9GµŔ$b1Ç…Ď)D,ŤĆ©Ĺ _4§ą“U;‰Xffň°wď^žžvľkÄq•?fhćţÍ=p6dćDěz†q¬ T=‹Ť#LŃç°§¸ëv©8"fĹëQ`ő;Śq«)±Î_ă·‘v ńú“D�ڞaŤ©X]ŁŹËJ›¤ŃÇM7ě©=0ýÓ{ °j»ó™D,Q%ÚFBBĂ nň˛gÇN¸áŹu>~ŇńőOř$bQ÷% ž/‰XÔ}IÄĘ ‹ş/˘…ďÂňűo˙ľóáoĂží{śďŇśĽÄŤŻŰ†‹đë»&ě÷śş´Sýô×71ŃlĆ}™˘ź‚ÍTÜ–kO…6Š‹lK3µü(.^QÝä4Đ&:ľ¬úçëŹOŔ»ďm“Eç»FW … ďuľëééń‹ŚjeĹ>§x ±4§ţA@"3|ŃśćNVí#ba0>>nŹUĂP,6ţ¸ĘöL8ŹgŕËąĂwgÁ8VPŞžĹƦÁčsX‡SÜu»Tłâő¨ °úƸՔXç/ŚńŰH;ŤxýI"�FٰĆT¬®‚ŃÇĺ ĄMRčăFŽ{°šąö ţőýŔFÜűÝ$b!Č Ő„,˘Gy’B–0ŃJ¶ô]¶ćĹmüď 'ś|¸gĎ^ Ľŕ*=2{rUýnîľűŔ ßđj¸ŕe˙ě?ů“EÝ—D,xľ$bQ÷% (D,ęľH".`áŹúëŹ˙;źŮQůľQ&/"ăë¡,üëąýđşS»»7GUw\S°˛÷eŠ~ 6Sq[®=ÚD(.˛- ÎÔňُxEukÓ@›čř2×üłőSpÉęqŘ<Q¬ši\廲̙3 ú‚yâ‚a HÄb–‡S>�‰XĚp©qât$b1w˛j łřÎaŁŁŁ G3Ť«Öś>čyŢĐqţ2WĐ‚q¬ T=‹Ť#LŃç°§¸ëv©8"fĹëQ`ő;Śq«)±Î_ă·‘v ńú“D�ڞaŤ©X]ŁŹËJ›¤ŃÇŃŹ{Ě*ܱň7>é.Ë  ACCłśż÷Ţ»ňtűżH.ý-ÔĽXéoŃóbžżµ/¨ó9ęoíűZÄö˛Úá“Çâ›Ŕ Řüś^ +.x,;úJ fPGZľÜ$bÁó%‹ş/‰X@$bQ÷E±đGÝuőťpÓźn„‘Ý#•ďĂ&.eŠ“ŃńuNź/9©žwtw@Nďň•5͸/SôS°™ŠŰrí©Đ&Bq‘mip¦–ĹĹ+Ş[śÚDĂ—?BčňÍÓđ» °kşš°™ÇŐl6CĐ××Wůµ•7m5F€D,fůp8ĺĹ —'ÎAG"s'«V±äó30==ăľ±©™ÇUk şÎ<r'ŮĄsiĹ ,6Ž0 FźĂ:śâ®ŰĄâŻGe€Őď0Ƭ¦Ä:aŚßFÚ)hÄëO0ʆ5¦buŚ>.O(m’BDÇ<nř#„ŠmüÝŤĺ+ß7â¸Jh%ÚFBBĂ"jňâl-Ycă»´yňńpđ‘‡Ăţóî ł‡ Ó^(´2"]GgÄLË›D,xľ$bQ÷% (D,ęľç?V,Âôä4 ď†íOo‡Mk6ÁÚ‡×Ŕ#w=ęŰ}Ĺ kYĄÝLsň";ľň]ZN;¸ŽÝżŮ' űĎÎÂÜ> z:¬ř*d d3îËýl¦â6gm"Ů–gjůQ\Ľ˘ş5Či M|ąyÂ^~Ů9U„MăEX=R€vçáöíyßî+­6®ň]Zz{{AKgg§ó9“É&PŽ`IÄb–‡S>�‰XĚp©qât$b1w˛j%‹;ˇP(:ŹąËç§aj*ĹbÁ—®ŐĆUľKKÇá ·td Bf^X]�ť9ŃÍĐtrGŁĎaNq×íRqD̊ף2ŔęwăVSbťż0Ćo#í4âő'‰�eĂS±ş F—'”6I!˘Ź+7|¬ÉŰóұ)`»'ˇ¸uŠOí“;}»Żp4ú¸Jh|%ÚFBBCŁ<9augł~E>@ iˇžňžŁ<ii”É ŤŻ@htиJ h\%Í4®­&dÉĐFđžčĂ'/ViŔpRTŇ™ýe@ Ú|xŞŽQVLÚĆSßÓřJ „FŤ«@ ŕĆU@ đĐěă*$HČBhKÄO`śT•´ţqÂłQ!Mh ˙x"7 iő=ŤŻ@H4®:©*ii\%‚h\uRUŇҸJ ´ú¸J $˛Úa�š‰Xž@ ‚1xÇŞf™¸ĐřJ „FŤ«@ ŕĆU@ đĐŚă*`$d!´=Ô'0@ A+¨îi|%BŁ€ĆU@ đ@ă*@ x ÝW„ú ! ŕwŔ¨ťĽĐd†@ &P;IiĹI ŤŻ@H 4®Ň¸J <иJă*@ đĐă*€ ˛u ;€ĐĆ@ aOÚmÂBă+@ t@ăŞ4®A4®úAă*@ t@ă*€ ˛‚Űr’ @ ÄĆŠ h|%‚*hŚ‚ĆU@ ¨‚Ć h\%‚*hŚ ôABA˘©ó ˇµA\ĐřJ í WqAă*@ ´7h\ĹŤ«ĐŢ q•@H$d!� l@ ŕĆW@ đ@ă*@ x q•@ A @ @ @ @ �$d!@ @ @ @ 4HČB @ @ @ @h…@ @ @ @ Đ ! @ @ @ @ ˇ!@B@ @ @ @ BC€„,@ @ @ @ „†� Y@ @ @ @  ˛@ @ @ @ 9 (`Ś@ µ°, ę ń•@ ^иŞW ŕŤ«z q•@ ^иJ ŕ‚„,B ĘšAqăGy‚Ón_  WĂAă*@ T@ăj8h\%‚ h\%pABˇ| Áž¤Đ¤‡@ Z:“ʰ2ŻŐ&44ľA4®ţöţĐ’¤*Çż»˝}«ĺŐ«˝şş««›Ţ7hZŔYewEGańʏĎčŚč(*:čĚ3Ł#óEGqa@@öĄ›^č}©®}yőöĺnçź‘÷fľ\""#ňfŢwß­óugÝŚČsľ8‘qăećw#’Áă*Á`0LÁăj2x\e0 †)x\e0ş˛0mDoXöěšÂ3n¸ 7\}�GíÂľ™)lźĂđ`Ą5¨ďE(ň‰Ťă$=.Ű/$Ź–Uĺ‘2y\će)ÎEYV!á¸jżĺG‰ç÷1/Ëŕ\b\…„ăę¸ČčĽĂq™—)âŽÍËJyŰB~.‰ţť]Çćeٶ}8®Xź”ú,řĺq™ő™ô×qâąËPW[Pw÷có&×Ř«ý á|RŰ'•ˇöó®wÂZsóőś];Źc+ÇńĐÂŁ¸wáś_?ďŹIýp#_wŽMăš}×áČîŁŘżí ¦ÇwabxĺA§v"mäIH·ĘJáIP$7ŃGÉt”p<”GpHŇ”ÂGĂŹÔ€R–HŘĹNpDŇ”ÂGĂ“tm*9˛ĂŠ#ÎŇqß4ŕH䍵'eŔ‘M˙ÖúřiҶ:çHě›Éýݤ“Ú!š'Jm4ÖQ]_ŔĘň9,/>…ŮŮG1{î~¬­ö÷¸şw¨Ű·—qÓ¶2ŽŚ•p`¸íE8Đž*Á¶ö_/qHîé¬ =ČŇ­‹qIvŤ}Ň”“ĆŢČťRôł ®ÉDŠ.\÷*Já“™˝eR c˛´O&ÉΧăŘrn{2ň‰·«gVż‹Ť&NT›x´ZÇ7VęřĘJ §jŤţW÷LăOż7ÝxGŽÄţ}»°cű†‡ŤĎőÉ%÷óĐľ˛�ó1ó1ómm>w\]]Ç…Ů9?qŹ<r wÝýľôĺ{qňÔąľWڬÁBĆ%Źfłéďo›ÁwľđfĽäÎëqăŐűaőÂÜĎ żĚ-äĆ1´/Ë*$ŰBWrYńßţą„b‘řDóµe…ë¸�M}©ÎŨŤ ± Ó:ÖžK0®¤XBe…ă*@óŕDQÇZŰÔuśBŔ¤:­ç×±mÇö ëŘ=Ąa‰ÄϲŽÍʲ­c‰%[H¦ qH¬%î’›ň2Ě.—‚±-ě7Ü * ąŰ®Á]¸nňĽtOËöˇĹGńąó_Ŕ'Ď~ µ%˙ˇZ±XÄVBp|ÇťW=wy6®śą R†âş‘ĄeČäEążçµ/Yř´F±Z¦ŐŁ�EśóŠĂČ'ÖáŃ*ýůš§í9 áö¦4é|´őkĎV]fÖV H×7 ˇŁ™ÔYB˙6)'žŽýeÝż­âĐś¸YěčHŇôÍT‰6úţnRŹiĘőSrĆÔá±íÂöékqŕňÖ‘ąŮ‡qúÄpâŘż şľŘăę¶^˝oĐůŰa�7O–ŚúU¶Ö´|ÔWmFgSĆŚ …iťřč{ĽÜ'M9iŘ®ÝKaŻm×\ŰĽ el›—őłĂţšc»ő‡ ĘIăă·ë&őÇ$(Ĺ÷°űý]Ŕc2R.aźł=c¤‚jţĆj ]\ÇßÎŻábťúb\=xp/Ţü¦×áňC¸éĆ«Ŕ`0 F–â”ç^udd7ěߍ;nżŻůˇÖ±»î~˙đOźĹ‡˙ć¸xqëŢŻ2y…,ŚKÁ1űĘëľďŮřÁWÜP<fóňź´ţťżü÷?,ă‚Ę'X†ě\”ţŮĽüĎţ\Ú>Á2RÔ±ÚV%ú’ůâ"i,ĐÖ±š_âĚú’Ăuśt.‰¶0żŽâJ.K^Çݱäz.Á2’âR—›^ÄbTMhĹ”dΓÄDşr҉XLă?:~®;‚ąě‡đO§˙}ü#î,-޸Őë72ÁńUĚľňĘ[ż /şöĄÎřÚŠ; K̆Ž# %űDFĺčŇÖN“Ü^Ďl9¤mAĆnže{Ć8ČŢG&b±.ÉőŘ9ĺ‡Ň†Ž+óČĂ„7KÂu™ČapMi9,ęQÍaŢŹĚűfę8ÓőÍÎ9¦¶_‰Ig;zÝá©Ç?†Çü;w––­8®ŠŮW~ňČ~řŔ Ší7»dKhë`]�”ß=-´>¶etâcD± q)˛, ňóѶk7⢇{ .©IŹÄ3ó›/b ™nâuŻ5ďѸÔc„^Ä’„†+îööéQüźů5|ŕÜ*NŐ\Ý3ŤźxÝwá[źűJ7ťŐ/ô Á0…PŠíçßńăřü—Źá·~ë÷qĎ˝l™q•ÁČ,da\’Ţ´Ľń‡ź‹7˙čó#˱Ez.J±Řµ˝ÜÇ6.’Ćm«ů%>�‹Xlâ’Ő[ĚźE,şăî~ăұ¸űíöż‚{ÉîáĹ»_˙sě/ń—Oýµ›/ư^˝‰ ŽŻŻľíűđ˝ĎřA_Ŕ"Ŕ"–,9(ś&ą˝žŮrHŰ‚Ś9Ü<ËöŚq˝‹X’ŰÓŽŚ8LxYÄâí÷#󾙇:Ît}łsŽ`^E<ü8ü"<|˙‡đŘvó·Ę¸úć#Cř©+‡[’źŻ¶Ö@ůÝÓ‹XL|i2*'ŤŹ¶]»Ą8ÜqIMz$®™ź`‹‘yŹĆĄ#:±„śç¨?09ŚďźÂďź[Á]Xqó·Ę¸ú¦7|~ę-?äžÇ“'Ŕ`0 ƦBŚGűö]ŽßýÝ÷ŕĂů?ńűď˙˙Üü^WŚn€…,ŚK ÁuOŻ;şżü–W´—BřfÝŰŢÄÉöe>í|Ňúł%z<űsiűËHQÇj[u\”čĎ"–`žŐą$Ú,ba‹>}ˇúUŘ'Çáí§±ó… ĺű~nÝv3ţűc‚G—wobziÝÔŕřzů®#xÝ·ľGfÂS2ł%K §InŻç@¶Ҷ c7ϲ=cdďĂ"–äö´ă #^±x;ćýČĽoćÁˇŽ3]ßěś#”ç÷ ±SŔ•×|/¦÷Ü‚oŢý,\|¬§ÇŐë'ËřŐkGpóT)` ?_=)ě`]�ő,‹XL|i2*'ŤŹ¶]»Ą8ÜqIMz$®™ź`‹‘yŹĆĄ#˛±}Äýę›§GqçŘ�Ţyf ÷­Ő{z\˝îÚ#řŐ˙z^BÁ`0=‹·˝ő‡ńĽç>˙á?ţ!î˝ď‘žWŚn‚e\ŚKÁ›–Wľđ&|č^Ď"Y\˛sQúłĹ®íĺ>¶q‘4hëXÍ/ńXÄb—¬Ţbţ,bŃw÷C,b‘Ů?‚߸ń×đ­ÓĎiŰoŚk›‰`ßzŐóđßýŰ,bÉ•Âi’Űë9-‡´-ČĂÍłlĎŮű°%ą=í8ČĂ„—E,ŢŽy?2ď›yp¨ăL×7;çĺů}"l5ąížyç;±çŔ·¶Ž÷ŕ¸úŞ}ř›ogKZ{‰ŹĹ&ĥȲ4ČĎGۮ݋R&=WĚĚO°ĹČĽGăRŹůX‚Ë }đ˛)Ľbb¨eŇăęw~Çóđ7ů±0 Łç!Ć*1f‰±K WĆUŁŰ`! ă’@đKţÇľçYřÍźýî őbđfÝŰŽ˛}™O;ź´ţ,b‰Ďţ\Ú>Á2RÔ±ÚV%úł%gu.‰¶�‹XXĢŹC_F¨~öÉqxűŮ‹XĽOńk·7}^ľďemżÍ˝‰ –˙Š›ľozÁO‡–rm@‘4”׍,-µˇ„ăHĂAÉ>‘„Q9™rP8Mr{=˛ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żO(Úßą'Ľţ¶7âĐ•/oĺ÷иúşĂCxĎŤŁK ąňóŐ“ÂiNźB°ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙m|)Â9źĄđ‰;ççĂ"őˇ˘SÖoěÇŹnn™öиúÚűNüöoý4˙šťÁ`0[bĚc—ĂX̸ÁBFß#*bůŮźüöŔAo‡E,ŇsQúłĹ®íĺ>¶q‘4hëXÍ/ńXÄb—¬Ţbţ,bŃw÷C,b1kľ~ä˛Ţt1KTÄňšg˝6nФˇĽndi© %GJö‰$ŚĘÉ”Âi’Űë9-‡´-ČĂÍłlĎŮű°%ą=í8ČĂ„—E,ŢŽy?2ď›yp¨ăL×7;çĺů}"ąýŹ^÷Ă8t¤wĆU!bůŧ G äç«'…Ňś6…>"`‹‰O"MFĺ¤ńѶk7⢇{ .©IŹÄ3ó,b12ďѸÔcD÷D,AüĚ®±MłDE,żđłŻÁ`0[b c1 ăR Y}ŤčrB,bQÄ%;Ą?‹XěÚ^îcIc¶ŽŐü€E,6qÉę-ćĎ"Ýqw?ÄÁ"łćŰ(ă5—ý0žłIË E—bKr,ťqP8Mr{=˛ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żO·˙Ńë_łiË E—bKö#ŠMK‘eiźŹ¶]»Ą8ÜqIMz$®™ź`‹‘yŹĆĄ#6GÄâág¦Ç6m™ˇčrB,ba0 ĆV‡Ëx™!ĆĄ˛0úÁ/óëŽîĂ~Ç«˝±HĎEéĎ"»¶—űŘĆEŇX ­c5żÄ`‹M\˛z‹ůłEwÜÝq°Ĺ¬ůâ1˝ńĘ7ŕň±ËŰ|Ýą‰ –sů®#řwĎ˙©¸ (’†ňş‘ĄĄ6”pi8(Ů'’0*'S §InŻç@¶Ҷ c7ϲ=cdďĂ"–äö´ă #^±x;ćýČĽoćÁˇŽ3]ßěś#”ç÷ ‹öoăÚ[߀‰©ÍWŻź,ăÝ7ŚF ä±ęIa‡4§IˇŹXÄbâ“H“Q9i|´íÚŤ¸(ĹáKjŇ#qĹĚü‹XŚĚ{4.ő±ą"Ďţť{ĆpíPą•µ ăęu×Á»óm`0 Ł Ć41¶ °…q©€…,ŚľDđ \ě˙ň[^±±jđfÝŰ~ßËöe>í|Ňúł%z<űsiűËHQÇj[u\”čĎ"–`žŐą$Ú,ba‹>}ˇúUŘ'ÇáíoŽE싱íÇ.˙±Ř¸—˘ĺĽî[_ďÄţs’E,YrP8Mr{=˛ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żOX´0ĎWŻşńÇ7m\ýŐkGP,„˛.ÝÖ!ÍéQč#±ř$ŇdTNm»v#.Jq¸â’šôH\13?Á"#óŤK=Fô†…ÜH řĹ™±ÍW˙ýë7ž3 ±Ĺ!Ć41¶uk\e0z,daô-<Eâż{ÍópăŐűŰ™ŢQ±HĎEéĎ"»¶—űŘĆEŇX ­c5żÄ`‹M\˛z‹ůłEwÜÝq°Ĺ¬ůô1?‚ď:đ]]˙…Űw?ýűqdćŞđ1P$ ĺu#KKm(á8ŇpP˛O$aTN¦N“Ü^Ďl9¤mAĆnže{Ć8ČއE,ÉíiÇAF&Ľ,bńvĚű‘yßĚCgşľŮ9G(Ďďí/áÜv—_ýꮏ«oąr7O•BAY—nëćô(ô‹XL|i2*'ŤŹ¶]»Ą8ÜqIMz$®™ź`‹‘yŹĆĄ#zGÄâáúˇ ^żs´ëăę›ßřý¸éĆ«Ŕ`0 F?AŚmbŚăY— L%ÉĂcĎ‚"ímĹŔ§·•ÚyĄČ&ŽMĎ[nyúçáÜÜ<—6Ľ/ďfł‰=»¦đÉ?{K}ĽY÷ößó˛}™O;ź´ţ,b‰Ďţ\Ú>Á2RÔ±ÚV%ú’ůâ"i,ĐÖ±š_â°Ĺ&.Y˝Ĺü °ăWřĺ}.Á2’âR—Ë"#żŚE,Ţ~S<¨űĘ›qaý<ŠĹ–N9ë_žÇםcÓř/?úǡŮXXÄ’%…Ó$·×s [i[1‡›gŮž1˛÷aKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+9Z˙~öźŢ„µŐ{‡Šřě·MmĚĆBňXő„°uÔQ,b1ńI¤É¨ś4>ÚvíF\”âpÄ%5鑸bf~‚E,Fć=—zŚč=KđĐ‹ą€SőFWĆŐ믻ż÷{ďÁ`0ýŠ·Ľĺm¸çŢrW[SS“îç׾öĺoq>šÎ¶ĐţlD6j6>ŁiÝgt?ŠÄż8yFF_BÜ´ĽîűžĂ"–h\˛sQúłĹ®íĺ>¶q‘4hëXÍ/ńXÄb—¬Ţbţ,bŃw÷C,b1k>óÄX÷Šýßáî{c`đ¸_yë«YÄ’…Ó$·×s [i[1‡›gŮž1˛÷aKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+9<pŮŃ?ydE,iě%>F›—"ËŇ ?m»v#.Jq¸â’šôH\13?Á"#óŤK=Fô®E@D÷c;GÝýnŚ«?űłoÁ`0ý o¬Ës\e0ze0}„ŕTZŰ&GđCßq{řfÝŰŢYÉöe>í|Ňúł%z<űsiűËHQÇj[u\”čĎ"–`žŐą$Ú,ba‹>}ˇúUŘ'Çáí÷–Ĺłáîᯎ}‹µĹv™”™?8ľŽŹăĹ×˝4P>…mýi¨ÓRJ8Ž4”ěI•“)…Ó$·×s [i[1‡›gŮž1˛÷aKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+9ÂŘwů‹đŘBu=ßquŰ@Ż98čA°„­uPÖQ ,b1ńI¤É¨ś4>ÚvíF\”âpÄ%5鑸bf~‚E,Fć=—zŚčm‹‡ÂűĎ-âbŁýF^ăę¶qÜńôwĂŘ˙É­Ąýí3÷a>ćc>ćc>ćŰLľ{şcŢĹ‹Ů߯2˝ž‘…ŃwđŻzŃ-/n±HĎEéĎ"»¶—űŘĆEŇX ­c5żÄ`‹M\˛z‹ůłEwÜÝq°Ĺ¬ůěcźbĚűÖ™;Ýś<ÔřçsŻ~? ‹X˛ä pšäözdË!m 2ćpó,Ű3ĆAö>,bInO;2â0áe‹·cŢŹĚűfę8ÓőÍÎ9By~ź°h%‡ěx{Ţéîĺ9®~÷ţˇÖl,$ŹU [ë ¬ŁXÄbâ“H“Q9i|´íÚŤ¸(ĹáKjŇ#qĹĚü‹XŚĚ{4.ő±5D,âí+§†Ýý<ÇŐWżęü"ŹÁ`0}1Ö‰1O€geaô3XČÂčPänó%w^ßŢc‹ô\”ţ,b±k{ąŹm\$ŤÚ:VóK|�±ŘÄ%«·?‹XtÇÝý‹XĚš/ťĹĂí;î�Bĺ:E”ăŽ#Ďn—ÎŹ^cŃ’e‘Äl(á8ŇpP˛O$aTN¦N“Ü^Ďl9¤mAĆnže{Ć8ČއE,ÉíiÇAF&Ľ,bńvĚű‘yßĚCgşľŮ9G(ĎďíŻäPűěÚ—˙¸úŇ=ŇúH&‚Ň„®¨ŁXÄbâ“H“Q9i|´íÚŤ¸(ĹáKjŇ#qĹĚü‹XŚĚ{4.ő±uD,^46¦Čc\}ÉłÁ`0 ĆĄ€č—ŸĘ`ôXČÂč+x_Ô{vMáĆ«÷E,ź‹ŇźE,vm/÷±Ť‹¤±@[Çj~‰Ŕ"›¸dőóg‹î¸»â`‹Yóu&bűWŚÁŽÁťíňG;ǵslWÎ\±dÉAá4ÉíőČ–CÚdĚáćY¶gŚě}XÄ’ÜžvdÄaÂË"oÇĽ™÷Í<8Ôq¦ë›ťs„ňü>aŃţJ˝Ďř¶#Îo\Ý;TÄÍ“%X3Ű:¤ ]QG-°ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙ů ±™÷h\˛1ł…­'bĆ7 •±§ÜZ6!—quĎ4nşń*0 q)@Śybě` Ł_ÁBF_âöE,ź‹ŇźE,vm/÷±Ť‹¤±@[Çj~‰Ŕ"›¸dőóg‹î¸»â`‹Yóu.bńđ´Ék®Ý=XÄ’%…Ó$·×s [i[1‡›gŮž1˛÷aKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+9`ım:żqő™;*ŇXµ°u°.�Ę:jE,&>‰4•“ĆGۮ݋R&=WĚĚO°ĹČĽGă’Ť™-lM‹‡§Ź /ÜţŚëÁ`0 ĆĄ„Űo籏Ńß`! Ł/ Ô†Ţ&pýU6n’‚wV˛ýŕ ~ä8iýYÄ=žýą´}‚e¤¨cµ­:.JôgK0Ďę\m±°E‡ľŚPý*ě“ăđö·–Eě‹YYZq„ÇĆ4r\1s4|Ü˙'†:-µˇ„ăHĂAÉ>‘„Q9™rP8Mr{=˛ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żOX´ż’ĆŰňWoś*Ă ¶E§ UQG-°ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙ů ±™÷h\˛1ł…­-b¸n¨ŇĘÎc\˝á( Á¸”păő­±/‹q•ÁčE°…ч \yŮ.o7ßŢŕGŽ“ÖźE,ŃăŮźKŰ'XFŠ:VŰŞă˘D±ó¬Î%Ń` ‹XôqčËŐŻÂ>9oë‰XÄ?űFöGŽdÂí)(ŻYZjC Ç‘†’}" Łr2ĺ pšäözdË!m 2ćpó,Ű3ĆAö>,bInO;2â0áe‹·cŢŹĚűfę8ÓőÍÎ9By~ź°h%¬8Ć&ňWŻ/ŮŰŇŰCQG-°ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙ů ±™÷h\˛1ł…­/b82XBnăę•Á`0 ĆĄ„ÖؗǸĘ`ô,ţĂ`l ě›™ wËö7ř‘ă¤ňq÷YÄ=žýą´}‚e¤¨cµ­:.JôgK0Ďę\m±°E‡ľŚPý*ě“ăđö·¦E`zpyaz|W¬ĽČ®4-µˇ„ăHĂAÉ>‘„Q9™rP8Mr{=˛ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żOX´ż’ÖC#ůŤ«† [D°­}ŔGîĘ"źDšŚĘIăŁm×nÄE)÷@\R“‰+fć'XÄbdŢŁqÉĆĚúCÄ"°Ż’ßďj÷ďŰÁ`0.%đŘÇčw°…Ń—Ř>9¶‘Ţ8Q4ŹE,HŚEWnçŇö –‘˘ŽŐ¶ę¸(ŃźE,Á<«sI´XÄÂ"}ú2Bő«°OŽĂŰßş"ń1^™D^žŚ]c±!‰_̆Ž# %űDFĺdĘAá4ÉíőČ–CÚdĚáćY¶gŚě}XÄ’ÜžvdÄaÂË"oÇĽ™÷Í<8Ôq¦ë›ťs„ňü>aŃţJ¤â¨ L /l0x™G°­}ŔGîĘ"źDšŚĘIăŁm×nÄE)÷@\R“‰+fć'XÄbdŢŁqÉĆĚúGÄ"°­”źeÇö)0 q)Ç>Fż—bô‚뾉ÝáÁJ;4Š|˛EÍ+-‹E,‰ü q‘4hëXÍ/ńXÄb—¬Ţbţ,bŃw÷C,b1kľüD,Ĺp»t¸ćřĆľĂ]T^7˛´Ô†Ž# %űDFĺdĘAá4ÉíőČ–CÚdĚáćY¶gŚě}XÄ’ÜžvdÄaÂË"oÇĽ™÷Í<8Ôq¦ë›ťs„ňü>aŃţJ¤ć(”sW'd±-*MhŠ:jE,&>‰4•“ĆGۮ݋R&=WĚĚO°ĹČĽGă’Ť™-ô—E`XÜßć5®‚Á`0ŚK běËj\e0z<# Ł/Q($˝Dg cQĕ۹´}‚e¤¨cµ­:.JôgK0Ďę\m±°E‡ľŚPý*ě“ăđö·ľĄĹoř; ŠëB––ÚPÂq¤á dźH¨śL9(ś&ą˝žŮrHŰ‚Ś9Ü<ËöŚq˝‹X’ŰÓŽŚ8LxYÄâí÷#󾙇:N“zĚŁ‡ňü>aŃţJtÄQČs\ŐQě`k𑻲ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙ů ±™÷h\˛1ł…ţ±ňV[Ď Á¸„ŔcŁßÁBF‚$űÁüČqRů¸ű,b‰Ďţ\Ú>Á2RÔ±ÚV%úł%gu.‰¶�‹XXĢŹC_F¨~öÉqxűý!b Úä JHKm(Jö‰$ŚĘÉ”Âi’Űë9-‡´-ČĂÍłlĎŮű°%ą=í8ČĂ„—E,ŢŽy?2ď›yp¨ăL×7;çĺů}¢ý•ČśŁ+°-4MÚóc‹‰O"MFĺ¤ńѶk7⢇{ .©IŹÄ3ó,b12ďѸdcf ý)ba0 Á`0lŔBF"ź,bQóJËbK"B\$ŤÚ:VóK|�±ŘÄ%«·?‹XtÇÝý‹XĚšŻ{"– m „´Ô†ňŕ dźH¨śL9(ś&ą˝žŮrHŰ‚Ś9Ü<ËöŚq˝‹X’ŰÓŽŚ8LxYÄâí÷#󾙇:Ît}łsŽPžß',Ú_ÉĚ9şŰBÓ©=?±ř$ŇdTNm»v#.Jq¸â’šôH\13?Á"#óŤK6f¶Ŕ"Á`0 C iEfŁçˇ\óŤ"ź,bQóJËbK"B\$ŤÚ:VóK|�±ŘÄ%«·?‹XtÇÝý‹XĚšoóE,iÖG•ůPBZjCypXĆF†ĺdĘAá4ÉíőČ–CÚdĚáćY¶gŚě}XÄ’ÜžvdÄaÂË"oÇĽ™÷Í<8Ôq¦ë›ťs„ňü>aŃţJdβÍh\UaJ {hĎŹE,&>‰4•“ĆGۮ݋R&=WĚĚO°ĹČĽGă’Ť™-\"ŮwW^ă*Á`0— xŚdôxFF‚"ź,bQóJËbK"B\$ŤÚ:VóK|�±ŘÄ%«·?‹XtÇÝý‹XĚšoóE,y ňXÄ>ĐQťrHŰ‚Ś9Ü<ËöŚq˝‹X’ŰÓŽŚ8LxYÄâí÷#󾙇:Ît}łsŽPžß',Ú_ÉĚ9şŰBÓ©=?±ř$ŇdTNm»v#.Jq¸â’šôH\13?Á"#óŤK6f¶piŠX Á`0 XČÂč_ođ)ś{ŕÚgKôxöçŇö –‘˘ŽŐ¶ę¸(ŃźE,Á<«sI´XÄÂ"}ú2Bő«°OŽĂŰď_Kp?/A‹XÂ:ŠŁSi[1‡›gŮž1˛÷aKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+9;G.°-$MPŠókE,&>‰4•“ĆGۮ݋R&=WĚĚO°ĹČĽGă’Ť™-°…Á`0 Á‚…,ŚţDđźÂů±ľˇ}±DŹg.mź`)ęXm«Ž‹ýYÄĚł:—D[€E,,bŃǡ/#Tż űä8Ľ}±t2ČcKř@GqtĘ!m 2ćpó,Ű3ĆAö>,bInO;2â0áe‹·cŢŹĚűfę8ÓőÍÎ9By~ź°h%rçȶ…¤ Jq~-°ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙ů ±™÷h\˛1ł±0 Á`02°…ŃÇ` cQĕ۹´}‚e¤¨cµ­:.JôgK0Ďę\m±°E‡ľŚPý*ě“ăđöYÄŇ Č ŹE,áĹŃ)‡´-ČĂÍłlĎŮű°%ą=í8ČĂ„—E,ŢŽy?2ď›yp¨ăL×7;çĺů}¢ý•Čť#Ř’&(ĹůµŔ"źDšŚĘIăŁm×nÄE)÷@\R“‰+fć'XÄbdŢŁqÉĆĚXÄÂ`0 Á`¨ŔBFź‚E,HŚEWnçŇö –‘˘ŽŐ¶ę¸(ŃźE,Á<«sI´XÄÂ"}ú2Bő«°OŽĂŰż4D,ÁýĽ-‹E,áĹŃ)‡´-ČĂÍłlĎŮű°%ą=í8ČĂ„—E,ŢŽy?2ď›yp¨ăL×7;çĺů}¢ý•Č™Cư H†âüZ`‹‰O"MFĺ¤ńѶk7⢇{ .©IŹÄ3ó,b12ďѸdcf ,bÉOž(ˇtęĎ|ĚÇ|ĚÇ|Ě׋| ĆV Yý ď“$ocźE,ŃăŮźKŰ'XFŠ:VŰŞă˘D±ó¬Î%Ń` ‹XôqčËŐŻÂ>9oźE,Y#Z‹XÂ:ŠŁSi[1‡›gŮž1˛÷aKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+93‡Śa& ĹůµŔ"źDšŚĘIăŁm×nÄE)÷@\R“‰+fć'XÄbdŢŁqÉĆĚXÄÂ`0 Á`$…,Ś-ŇÝ­’äohźE,ŃăŮźKŰ'XFŠ:VŰŞă˘D±ó¬Î%Ń` ‹XôqčËŐŻÂ>9oźE,b¬, ‚|”Çb¶ Ç‘†’}" Łr2ĺ pšäözdË!m 2ćpó,Ű3ĆAö>,bInO;2â0áe‹·cŢŹĚűfę8ÓőÍÎ9By~ź°h%rć ©Ť›—ń¸Şw„=ç׋XL|i2*'ŤŹ¶]»Ą8ÜqIMz$®™ź`‹‘yŹĆ%3[`KĚ<ŁqőĐľŇŔűĺ{Zćc>ćc>ćcľ^âK3®2˝ ˛0ú$yŕÚgKôxöçŇö –‘˘ŽŐ¶ę¸(ŃźE,Á<«sI´XÄÂ"}ú2Bő«°OŽĂŰżôD,dúŔ;%(š¦„ăHĂAÉ>‘„Q9™rP8Mr{=˛ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żOX´ż’9sÔ¦ëH€âüZ`‹‰O"MFĺ¤ńѶk7⢇{ .©IŹÄ3ó,b12ďѸdcf ,ba0 Á`0LÁBF‚$|Cű,b‰Ďţ\Ú>Á2RÔ±ÚV%úł%gu.‰¶�‹XXĢŹC_F¨~öÉqxű,bÉMSÂq¤á dźH¨śL9(ś&ą˝žŮrHŰ‚Ś9Ü<ËöŚq˝‹X’ŰÓŽŚ8LxYÄâí÷#󾙇:Ît}łsŽPžß',Ú_Éś9HjÓu¤ @q~-°ĹÄ'‘&ŁrŇřh۵qQŠĂ=—Ô¤G⊙ů ±™÷h\˛1ł±0 Á`06`! Ł/{ŕÚgKôxöçŇö –‘˘ŽŐ¶ę¸(ŃźE,Á<«sI´XÄÂ"}ú2Bő«°OŽĂŰgKŢ`Kř@GqtĘ!m 2ćpó,Ű3ĆAö>,bInO;2â0áe‹·cŢŹĚűfę8ÓőÍÎ9By~ź°h%rć ©Mב&�ĹůµŔ"źDšŚĘIăŁm×nÄE)÷@\R“‰+fć'XÄbdŢŁqÉĆĚXÄÂ`0 Á`Ř‚…,Śţ©öYÄ=žýą´}‚e¤¨cµ­:.JôgK0Ďę\m±°E‡ľŚPý*ě“ăđö/mK0?/°%| Ł8:ĺ¶s¸y–íă {±$·§qđ˛ĹŰ1ďGć}3uśéúfçˇ<żOX´ż’9sM¦@ĹůµŔ"źDšŚĘIăŁm×nÄE)÷@\R“‰+fć'XÄbdŢŁqÉĆĚXÄÂ`0 Á`¤ YýŤŕŤ‹XbÇł?ń‹XÔÇ‘x.,b±KVo1±čŽ»ű!±5‹XBičÓR›%űDFĺdĘAá4ÉíőČ–CÚdĚáćY¶gŚě}XÄ’ÜžvdÄaÂË"oÇĽ™÷Í<8Ôq¦ë›ťs„ňü>aŃţJäĚA6]@šç׋XL|i2*'ŤŹ¶]»Ą8Ľ qQ˛‰u…>¦ö$M°ĹČĽGă’Ť™-°…Á`0 ÁH ˛0úÁ)±ÄŽg.mź`)ęXm«Ž‹ýYÄĚł:—D[€E,,bŃǡ/#Tż űä8Ľ}±ä ±„tG§Ҷ c7ϲ=cdďĂ"–äö´ă #^±x;ćýČĽoćÁˇŽ3]ßěś#”ç÷ ‹öWr gŇŰČ ČiĘQś_ ,b1ńI¤É¨ś4>ÚvíF\”âpâ22PbFşr V…‘łÂŮ>}ďőHŰwZF*˛ünűX#e¶rۤďbŃ[ ŕ=Q{ź(›Î›5Á`0ú,daô'‚±%v<űsiűËHQÇj[u\”čĎ"–`žŐą$Ú,ba‹>}ˇúUŘ'ÇáíłE¶ź'(!-µˇčq˛ă%Ăr2ĺ pšäözdËA22ćpóöĺF2l}XÄ’ÜžvdÄaÂË"oÇĽ™÷Í<8Ôq¦ë›ťs„ňü>aŃţJäĚAzYy M9ŠókE,&>‰4•“ĆGۮ݋RÎ1.›>I‰6ęł öZбX8§Łď˝.ř°vĐŽzźÜěÓú0Ś\Đ/B•0¦P0_ ŃÓ`! ŁżÁ"–ŘńěĎĄí,#E«mŐqQ˘?‹X‚yVç’h °…E,ú8ôe„ęWaꇷĎ"Ů~ž „´Ô†˘ÇÉŽ— ËÉ”Âi’Űë9-ÉlČĂÍ#Ř—ɰőaKr{Úq‡ /‹XĽó~dŢ7óŕPÇ™®ovÎĘóű„Eű+93ém™#MÚŘXÄbâ“H“Q9i|´íÚŤ¸(Ĺáâ"Kű´>É$ ¦mű¤×e$M°ĹČĽGă’Ť™-°%3‘ .ĹŮO‚ç̢ÁŘş`! ŁÁ"–ŘńěĎĄí,#E«mŐqQ˘?‹X‚yVç’h °…E,ú8ôe„ęWaꇷĎ"–č~0/PBZjCŃădÇK†ĺdĘAá4ÉíőČ–d6dĚáćěËŤdŘú°%ą=í8ČĂ„—E,ŢŽy?2ď›yp¨ăL×7;çĺů}¢ý•Č™ô6 ŽĚ‘¦�ml,b1ńI¤É¨ś4>ÚvíF\”âp†q‘Ą˝Ö¤Ëőĺíôf‹XŚĚ{4.ŮŮ‹X2óa0©ŔK÷ÄÁ˘ÁŘş`! Ł?Á"–ŘńěĎĄí,#E«mŐqQ˘?‹X‚yVç’h °…E,ú8ôe„ęWaꇷĎ"–č~0/PBZjCŃădÇK†ĺdĘAá4ÉíőČ–d6dĚáćěËŤdŘú°Eßžd[n°ĺC†ŤŹ"ťp=¤ç skJËA6‰ćýH×–ůs¨ăL×7;çĺ®éÎ93ém=ml,b1ńI¤É¨ś4>ÚvíF\”âp7ÚĹ Ś ‰űµž2.«w[¤Ď.ČĚü‹XŚĚ{4.ŮŮ‹XL|zr|e0¶8X´bŻ®XĐÂ`0[,daô7(ň©Úg‹ĺą´}‚e¤¨cµ­:.JôgK0Ďę\m±°E‡ľŚPý*ě“ăđöYÄÝćudÇ"–Ś8HfCĆnÁľÜH†­‹XâyÍHEÚqZ>Ćő,hyYÄâí÷#󾙇:Ît}łsŽPžß',Ú_Éś9HoŁŕč hcc‹‰O"MFĺ¤ńѶk7⢇»q˝$ĹEňď4kĐź ±w]eP{+Ä|XÄbdŢŁqÉĆĚXÄbâÓ“ă+±±•¬ĘětƬ(,ha0Ś­˛0úůTíłĹň\Ú>Á2RÔ±ÚV%úł%gu.‰¶�‹XXĢŹC_F¨~öÉqxű,b‰î«üňä±%#’Ů1‡›G°/7’aëĂ"–VEŰŠÔ>úk„Ś8"–ţ^!ř’p=ÄĆ"(úfę8ÓőÍÎ9By~ź°h%rć ˝Ťa›El-°ĹÄ'‘&ŁrŇřh۵qQŠĂĆ•öZIĂrŞŻ`ą¦Ż»(řIž‹XŚĚ{4.ŮŮ‹XL|zb<e0¶8ň°čx{m¶—h<ťĆ'üYĚÂ`0˝ ˛0úůTíłĹň\Ú>Á2RÔ±ÚV%úł%gu.‰¶�‹XXĢŹC_F¨~öÉqxű,b‰î«üňä±%#’Ů1‡›G°/7’aës)‹X(ÖJ’űČŇá<2âĐńúqµ3 ’ďą$?ťp]&r\SZ‹zTs÷#󾙇:Ît}łsŽPžß',Ú_Éś9HocǦ@[ ,b1ńI¤É¨ś4>ÚvíF\”âpq»żë)ŃD‘=ĽaPH[Ç‘ďÍ‚IôĎÝPĘ’s»S ź¸s~>,blű–µ129ŹžOŚ-Ь…$ýş QđĽl…)<; Á`ô.XČÂč_PÂ>‹X,ĎĄí,#E«mŐqQ˘?‹X‚yVç’h °…E,ú8ôe„ęWaꇷĎ"–辪Ýňä±%#’Ů1‡›G°/7’aës)ŠXŚ^âSÂqeqđ†Ç„Ť¨ Šď™$ŽHtf×”–âŐćýČĽoćÁˇŽ3]ßěś#”ç÷ ‹öWr gŇŰƱ)PÄÖ‹XL|i2*'ŤŹ¶]»Ą8ÜA\Ć®ž=%š„2Č"8j9hQö1Y¶ó Š[ĆŤDx¬-¨ł‡…Ąđ‰;ççĂ"ŘÁ¶oY#“óč‰ń”ÁŘ‚Čz)źĽaZNŇŇBYIŇŠZúUäĂ`0[,daô'(aźE,–çŇö –‘˘ŽŐ¶ę¸(ŃźE,Á<«sI´XÄÂ"}ú2Bő«°OŽĂŰgKtߤÝňF´,±dÄA22ćpóöĺF2l}.‹jÖ ą=ŤËuâ…‚yąÁ´ćzžŹj¶±@Ń7óŕPÇ™®ovÎĘóű„Eű+93ém ăŘ(bkE,&>‰4•“ĆGۮ݋RN—•!QĚŹóŞŻčß5ŤhˇřďË|÷‚„[r$çv§>qçü|XÄ;¤ąü{uŚ`01d±\N˛ĎĽaZŽ©@Ĺv¶^jÁ`0z ,daô7H˛Ď"ËsiűËĐÚ,ba‹ú8ôqÉę-ćĎ"Ýqw?ÄÁ"łćc‹-˘e±%#’Ů1‡›G°/7’aëÓŻ"˙ˇť…O(Mšă¤ë#$çĐůl(ę<’ÔQhLDüşŚ§’ű¦qFŘ_›ŢŽy?2ď›yp¨ăL×7;çĺůýʢý•Č™#ˇ˙Ʊ)PÄÖ‹XL|i2*'ŤŹ¶]»Ą8ś2.7j&Ű4S\„”‘řŞJň˝WĐS<-jkX.$R‚Î6°đˇ>qçü|XÄ;hÇ˝OnöźžOŚ-†NÄ"i'[uŰóµ´đĚ, Ń;`! ŁA’}±XžKŰ'X†Ö` ‹XÔǡŹKVo1±čŽ»ű!±5_ź‰X‚9!Z‹X2â ™ s¸yűr#¶>ý&biFś­Ę ¦ŁŐ˘R„óMçm^˝QCłŃpsŠĹŠĄ Š…˘Â§ĹŹŁ ¶WäÉűw0·€xÍj8 ®)-Ř$r÷#󾙇桔ĺvČĘóű„Eű+93ém ăPĺĺ El-°ĹÄ'‘&ŁrŇřh۵qQŠĂ)ă2u LB¦ ’÷gÝřÍ÷gLż˛n×wŇ{,ťŔÄ‹I:‹™_V&?čö—'‚,Ú„RřÄťóóa ě #ô>ąŮK|ş>v2}€4â‰nůčů I~¶“˘.'d:ă ĎĚÂ`0˝˛0ú$Ůg‹ĺą´}‚ehm±°E}ú¸dőóg‹î¸»â`‹Yóőź%h“˘ü,bÉd6dĚáćěËŤdŘúô‹… Ż ăömZ¶]`ŻŮl Z_ 6šuw«”‡\Q‹ oT€ŇzôÂ9GôřĆOć (X÷Mă:ڰż6˝ó¶0ď›yp¨ăL×7;çĺů}‚2ŕ@Τ·1ŚC•—+±µŔ"źDšŚĘIăŁm×nÄE)§Ëô…–ô~9T´Ý÷bĂ!l‚É©(*đT”#Z@Ľ¨*¶?KNF©PŮ1’<čÓľÇh§•ďÁ"ăśŃë2‹6ˇ>qçü|XÄ;hÇ˝Onöź®Źť<y˘„NĐ©?ó1_x >1ŠÇ—•p%ëú;v2˙öĐ Q’D*‚/K! ÷ćŰL>c+…,Śţ†˙`„E,vçŇö –ˇµXÄÂ"őqčă’Ő[ĚźE,şăî~E,fÍÇ"[DůYÄ’ÉlČĂÍ#Ř—ɰőé‹ô%™a±<ď…©}ô„Zł†ĹĄ ›lâČ5Llo=ĽźmŕŃűkź[ÄŘŘ”‹-ŻňzŠ:’D- ץ@3ômTHě›V}ĢŐćýČĽoćÁˇŽ3]ßěś#”ç÷ Ę€9sŢĆ0U^®PÄÖ‹XL|i2*'ŤŹ¶]»Ą8ś"®,D,şďšŕ÷ޮԩő­Pű;O|VËe4ś1ł^r¶Ę€łUP¬UQ®7PnÔPqĆÝJuÝm‰bAĽÔrĆâvb\+[–r!<Ćd±yK <{š“{¬ 8±@–ö•™E›P ź¸s~>,b´c„Ţ'7{‰O.cŃÇČk ^§ÝrB&K ń¬, ±ů`! Łá?Ĺ`‹Ýą´}‚ehm±l  5 Éq”"”qix•qĹ}ô"ŠqݱP’źżÇ"“´Çc—t˙‰X˘`KF$ł!c7Ź`_n$ĂÖg«‹X”/É ăpóHÂAj}ßv^śŐ×±´|Ó{›¸á™Cˇ—]Ó{JŘą»„»ż°†ł'.`tt*ĺÁŻ;b&\±F®ł@&"–(oÓ˙¶,]S˛<’°ż6˝ó~dŢ7óŕPÇ™®ovÎĘóűeŔś9Hoc‡*/W(bkE,&>‰4•“ĆGۮ݋RN—É;3ĺłÄżg<ŠřךänŢl(Őa­PÂÜŽÝXÜ>ő‰í¨NîDsŰĐđ(ŠĹ˘ű*ú"Š<LuĄ‹Pžż€Ag»xgO`´¶ŠJłR±ŐZb––Š+l)řqbçRpŁ*(ú­żP€¶~CĽŃ† >qçü|XÄ;hÇ˝Onöź\ĆKÚ×@xż|OëĎ|Ě—Ń™Xt|2aŠČ[^^uî ‡Ý1ΔO5MÔj5÷S,k«ĂńS-ľý{™d‚|6P J˘|ž™X–·ä â•JĹý4ťťEVťY¸0ßfň1ý�˛0úţ۱؝KŰ'X†Ö`KoŠXZ댓EYň©XĹ•\Vv3±ěü„‡‹XL//±Ŕ(&íqŠćo®%ŇŤs‹X2â ™ s¸yűr#¶>[YÄŇÔ]«&q©mHáŕb<2ń"­‰•µ%”+„ëź1$]‚@ä]˙ŚAüË߯cUŘŽVśĚ𯾛˛JR–I{çFż.µ®«Ţ Šď¶ä8 l9Ěű‘yßĚCgşľŮ9G(ĎďćíŻć@Τ·1ŚĂÔ&S(bkE,&>‰4•“ĆGۮ݋RNW'"R;뎳¬4ŰźëÎçěä.Ěí˝«{/C}÷~”śU%w*]‹·y/ ĽOňÇ<±¤źóoŰvçó TťýsŤN;[áÜi źxŁ'ÇŽSOb¸ĐŔ ó"Ěas-bóľďŰě±s’ ZÄű¤÷a­q4’aJáwÎχE,°vŚĐűäf/ńÉeŚ`0ú6‚•íĘĘš+DńÄ,zŽŤýőő*޵šqyÁ1s3!+_>ÓJëł)ţ«7Q«×1P©`pp@éĂ`0ŚŢ Yý ±XžKŰ'X†Ö`KďX¨¶ßz"]˝Q`'ö«đ<Î%XnĘëX^,‹XŚüXĢäÎ ,bÉd6dĚáćěËŤdŘú\’"ŮĚ+1›`9ĐÚ‡óZ{ëµ5w,ßs¨€b`)䋳«îç¶í­“ĄR{qüçEžă300˛ÁDfĺ46dü베Ą¨ú¦÷‹týůGŇd`“ČaŢŹĚűfę8ÓőÍÎ9By~ź0¸ţ93ém ăPÚČ 3‚;;˛±ř$ŇdTNm»v#.Jq8E\Y‹X(`â XÄ ,΋şŐ:anp_…Ĺ«níŘĺţĘz \Ćł KŮů±±O¨EX|1K{k4¨;/˝ŁŁ¨ď?„ŮúłpniCŹ?€ń‡ďÁÎs'0ěŚÇB,SnĎŇ—˛„ĎŻ xÖRHĐH>&Ť§öÎůů°vPŚ_&>ąŮK|r# †R8"ĆŞă'ΠRŔĎ˙ÂđÎ_˙7¸0;‡}{gÜ™G6üăľ‹‹Ë[XÄłřÚŮ]8ľ4†ĺZqÇ7-˛ć»{cWÜ…Ž–kŘ?±ŰfÎá˛m‹śÇřř¨tą ¤%„x‰!ÁŘ<°…Ńź`‹ĺą´}‚ehm±lľ…š$ńż´E,ńëxăŃhAÚ,bŃǡ/Ă?wŤ}rŢ>‹X˘ű‰í¦©˙ĽŔ"–Ś8HfCĆnÁľÜH†­Ď%%b!2o_’÷[YzÇlůzmÔ¨cf˙ĆÇĎ|âqÜýµăÎřÜpë<çů—ąů»÷•đäuw)˘Ę0|:BA_nä3$jŃ]—Á™hT˘É5ZnHćx;hm9Ěű‘yßĚCgşľŮ9G(Ďď”rć ˝ŤaJ™aĆÁ"źDšŚĘIăŁm×nÄE)§+I@ŠÎ§űR|Š[Ý5çEÝZىĄjçgaöşŰQ;p90T©¸"± ńŠ·y3˛D…,Á­…¶ ĹŰ„ĹŰjĂèMmĂ…ënĂůóg0q×ç±ý‘ű0^$Ś”KtĘńgh\Đş ÔŹVĚB0yµč×[xÇ]đa ě żL|rł—řä2F0}“™Mt6gÎ\pgUůťßý{|ń wăÝżů!ĽńM/ĂąsłŘ˝{§ŇďâĹś›ťÇ§ŽďÇ×ĎÍ ź!ž·-ŐđŔě<čl7OźÁsGÝß·MM¤ł0 csŔBF#xăGńüŤ<±„ĘĐÚ,bŮ\KxötĐöý-b‰öI˙×pţyłE‡ľ ®± q??K¤K籤ä~ç’1‡›G°/7’aësÉX(Ú"źĘďôXšä--ţĄö‹łň�ar{ëölîâ*îůú)ŚŹ»ßw÷Üu×ß2©mĂÜVBe¨†fµá.ICĺ„ĘU[˘ß5ţ/ĂcŃĹ}üs)„ÇQÝů«fg!‰±ýµŽ+5G‡ýĘśCgşľŮ9G(Ďď”rć ˝ŤaJ™aWŔ"źDšŚĘIă#§a‹ęű%pČ[Ĺ ,‹µşł.컳7ÜÚsŔ° ;›ř¬(„,bóD)A‘Š·DPÜâÍâ288čî»3˛8cs­Vk YśOo« ay×,<ăą˙úç±íÁ»1NuŚ”0,Ä3íŰżBä˝±PVOŇ÷fď°¤×j˛ńÔ]đa ě żL|rł—řä2F0}ŽNE,ó ‹XY]Ç×ď:üűOąy˙ôŃĎᦛŻŔłžu ćć—śśÉßÜü˘»] "–(Dm~Í9g1Öľ°|Ęťµfb|L)fQň°Đ…Á`06,daô/‚7~ĎßČcK¨ ­-Ŕ"–ͱř3°$ť‹QYíĽvÉ ®B]ÇͦĘ?Ţż Đń+ü4çâ>8Ą‚ž×°Ž;ąŽĺŲĹČŹE,FĺäjÇBŇ#Ę4ÉcŁ\9(ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [źKBĢAóBźńjŮH“¦Ü`Ë;˙ÔëU7˝cwřEÖö©˝šÜĺî_ś?ăç ›é™Î<ç…ZŐy‰7$)Ă$[ěa]8F/şĐl-QŽcÁ¨íš ůĚ,şz4Mł%5G(Ďď”rć ˝ŤaJŇűä±ř$ŇdTN9 ‹XLľ_jŽÓR­yg››Ř…3Ď|>š{/sĹ%bńé.'łxł©ˇIp™ čĚ+ADgjńfo Îć22ŇZÂ/$d©VÝm݉eĺy/ĂÂMw`Űç?ŽmŹeçĺXĄŚŕě,ˇď“V"*h‰‰Y$ýQőęŚ>Fč‚‹X`Ĺřeâ“›˝Ä'—1‚Á`(…"żV«cnn g—ńžßţߡăđű…ŁG÷˘ěŚAµć;>z\Őj «+k8±8Ś».1K_=;«·Í9K¬aČý»˘Á`ô>XČÂčOoü(žż‘Ç"–PZ[€E,[SÄB޸’®cE\¤ˇhâ’Ő[Ě_—¦Ţ|5<E| ?—ŘôΦçb‹X`°Ď"–č~b»Qr9ÁĽ<Ŕ"–”$ł!c7Ź`_n$ĂÖ‡E,í™W˘Ńj1´â¤G­±ŽFłŽť{6fV3Ż\wó<ňŔ"ĸuĂÍ{ťĽA˙¸°=ńDEÇ·\ •‘¸ŚO(ÖBüxäę$@-jˇ@Í-k™™…Ľ6i±¤ćĺů}‚2ŕ@Τ·1ŚCiCzźüŔ"źDšŚĘIă#§a‹É÷ËJpŃyѶPÄŮ›žŤĄëoÇĐđ°/b ŠYÄ&Ä&b¦!( .±D…,­ŘZźŢ=dTČ܂ˉmttÔ-òxš5çsáŰż‹O>Śťźýg¬ĚźÇÔ@ă•’+b‰ŽŁ^](Ĺ,Šú•óDw,бŔŠńËÄ'7{‰O.cq €(]Çđü.^śG­Zǹپď^ĺÎÎ٨;÷’ő*šÎöÔ“ç°szć0=˝±ÄĐňĘŞűů•łÓŇ®ą´FX­‰#ýŇq ®06˙N˙Úąť8˛ë VV×\!‹íC<+ Á`t,daô-b•)ňÉ"–pZ[€E,›#bi—J:—@>%Ĺ•t'Ä>}\˛z‹ů`ÇŹŔąnś€ęĺę\âË A.ľR_ÇňS,hŹ»ű!Ž‚„ ,b1‰I{ś˘ů˝*b) /AEÖ>sP8Mr{=˛ĺ ™ s¸yűr#¶>}/b!’¤µí)›í$–&ůµIÇkŤşÓm›Řą{ ä{Ý­8teÉÝźß¶MďvŇĄuÔßV …P™Ä"]Ö'rqzĂW8ţřg!p"„$y¨'ż®Âă¤ýµąQ¦µO0Ýaż2çPÇ™®ovÎĘ \Źťs gŇŰơ´!˝O~PŚÝ¶A¤ :á6ńÉÜ^á“H“Q9i|ä4ÝAë2:±§>ćDĂ’ŽĄ]JČŮ™«Ő1»^ÇÜŢËqúY/ĹŔÔ6Ś ą"‘ˇö§·‰—Gž€Ĺ[ţÇűôfe ŠXÄgIĚ´R,ąK K%+z¶-żŕl,A‹÷)–+ ~ăY__÷gY;r Nď˝ Kź˙$ÖżńE¬Ő›Ř1čř ‘‘Ú«‰Ą čŢŹy˘ß{Vč‚‹X`Ĺřeâ“›˝Ä'—1‚Á`¸ÎęŮÎ[ZZq¶Ulźľ Ż¸ţ*Ľâ•ÎÚ¨ˇş¶€ęęjk‹îţŇĘÖÖÖ°˛˛âxµ~đP]Żş<ÇÇbüŹž\ŔJsý‘â®Ř;Ę{jaÔýŽZ_Żúy,Na0ŚŢ Y}‰ŘCĺčSx±„ËĐÚ,b‰Ľl1˝^¤\0>[‹q\I×qB\áăĐÇ%‹/ć_°äWŰ6B|¦őą(ggaKčúPs°‰ű[_Ä"éŇ?žčÓ1…Ó$·×s [’Ů1‡›G°/7’aëł•E,F A[Sßvj!@ ĺýő†óPŃyÉ6µ“śaED°x(— ض0®é.MT. „Ţ|Ec‹ {(ňâĚű7Ř왍üşŢČoĐĚÎßNncŢ7Íű‘yßĚCgşľŮ9G(ĎďW”rć ˝ŤaJŇűä±ř$ŇdTN9MŠXtniD,gÖjXlNßđl,Ţü, »›°x›ŚQ‰XÖGVħ'`ńD,bcűŘčĆÇ'Ü%Ä6<2ꌙ%¨ „.+««X]^r?°¸¸ŕ T‚ł±Ĺ,B¸">˝bĽ%ŽDžŘÖî|1N¸ ő˙÷wX_YĆ®á ťř˝ó.„ę" fń˙FŃ‹Y‚u¸™×˝ÖĽGăR_Ă,b1ńÉeŚ`0.$ÍƢ±%….ĚÎc`h Ó3WjyśŻłrˇćÎŢR­nsƧ˛3ÖµxVęáĄtÎ;śÖ1<ÖźB– ókvnŰł,×[?i6ěŰÁ`0›˛0úÚ·,b •ˇµXÄŇű"–äóFč:&Ů‹e\¤9E\q˝…,řˇ\(z.ŢL-® Ĺ Oúmßéu,/–E,F~,b1lĂ„Çti’ÇAąrP8Mr{=˛ĺ ™ s¸yűr#¶>[]Ģ|!$Ç˝O±ĚŹ;Ó‰»–mř„Ó/S»Ű»&ÄîÚú2jőuLď„-ví)áěÉUço†¦ó2mTR.Ü7a±:’\Sń_‰Gŕ.» ~É.~Y^öŹTöŠŮY˘Ćö×ćżµO0Ýaż2çPÇ™®ovÎĘóűeŔś9Hoc‡ŇĆâşě l MdÂ5l⓹˝Â'‘&ŁrŇřČiXÄҲ'Ť‹jł‰S«5,Ťă©çĽŘwŁm‹'dźB "„+BX˛xqŻ·cÇNw›pĹ&6™±ŃQwŰ8Âââ˘óŇđ<Îź=‡ŐŐU_Ä"6Q¶÷)â‚™¨eőĘkprű.ěřçżFíô1L `Ľ\ôë &f‰ LI-fizţ›xÝkÍ{4.ő5Ě"ź\ĆáB'šÇ.\sĆś\v{O–„ťŁK8ąPpýffvlp!ě;ż¸Ś~=8ż°˛DëŔĎçYY ŁgÁBF#úf‚E,á2´¶�‹Xz[Ģż»Ív†ęADš¶·¨ă¬gb‰Ć] ýąxçß´čËro\ܸXĬS5‹X¸Ď"#źŽ9(ś&ą˝žŮrHżsÉĂÍ#Ř—ɰőąTgbˇ6c­¶îŚĂŤ€\€˘ę—n:*ăh4ZSOďI~ Ĺ®}ÎËşŻÂťŐeŁ!Ţx^ąň™XÂVQÔ^¶ˇŕĽŔ« úËBŮ[¸P„=Íű¦y?2ď›yp¨ăL×7;çĺůýŠ2ŕ@Τ·1ŚCiC Ç» ŰBÓ™p ›řdnŻđI¤É¨ś4>ršKOÄ"·W·¬9cÉÉ•*–Ć·ă©ç7Ę;vµfO YÄ&Ʊ<‚XF(*b™t^ÎÍ`űö®%KűF!ŠŰáË.ÇüüNź>ŤóçĎůĺ{Bo3łŚŤŤ…foYqâşđĘBăź˙ÍÇ@s°„ÉJŮŻŹB¤ľbË i†Q÷,Ń…k’E,°bü2ńÉÍ^â“ËÁ`0´đîă—±˛şŽÝ{®Áŕи‘oĄŘtĆ›9¬®msýUß͗¬#z‘Pň h*N˝0 F÷ŔBFBúvE,ˇ2´¶�‹X¶¶Ĺ˙CťäRcţ qéĘ Ć=žýrB…m3pĽă Ľ kOĄ´HĘr*fxËO‘E,F~,b1lC±„Ň$·×s [éw.s¸yűr#¶>ý b!Y='ÄAmżĺ•94h7<c7®˝ivÎŚb`°·o—ž÷<tŐő:Îś^Ć׿z_ůÂiçEކG&üţ‘ÎÎ|:żĽěÓ,bIÍĘóűeŔś9Hoc‡ŇĆâşĚj±—Ň™p ›řdnŻđI¤É¨ś4>ršţ±$šŢ>µÚ"–ćwîʼno{5†¦¶ů"ďS,Ůă‰WĽOO@26>Ca|Üěe^śśr·Ă‡/ÇńOáÔ©Sˇ%ŤÄ&D7Ţě,BÄ"Ä5Ţ6÷âWŁţ™Ź÷~Ĺ]NiŰ@@ĚúŠ‹Y‚}ďżFëÂ5É"ŘA1~™řäf/ńé™1‚ÁŘÂHšqE•·ľ^ĹĘĘšsßµS;ŔŁĄEÔWJXqĆT1«™[UřŢŰFńďľmĂ•ţg¬T żóńy|đÓsV~Q V Ł7ŔBFĂ˙[E,ˇ2´¶�‹XzWÄB mď‰5BeřĹÍö¬#­yG ’¸H7¤q彜Řoş.Ívě^ä‘k;°_P\Ç˘Ž”łłřBˇŤe†:ąŽĺ§Č"#?±¶ˇţĽłéŇ$/›rĺ pšäözdËA22ćpóöĺF2l}ú~&÷źx;O±4Ďâň ~đµ7cמ10‚ž‡&Ýíé·ďĹţë]XZ:ŹŃŃţôÖŞv(DĆŰłó‘¦YÄ’š#”ç÷ Ę€9sŢĆ0Ą %ď6l MdÂ5l⓹˝Â'‘&ŁrŇřČiúWĢs•ÝóIEĄVęMś\­áâžËpúąŻÄĐř„3ŽŚşâOÄ"f3 ÎÂâ}Ž Źŕi×\‹Ń‘Qt‚šĂW@YW.?|ě?G}çĎź• Z„ť'f)¸Kó°|ç·Ł9ŕĽDüÚżş\®…ădQ1‹§Ť~ďYˇ >,b ú–Ę'7{‰OĎŚ Ć%ŠĄĺg<)bbě.Ěťú(P=ă毯:»+­g±M4@őş;{fqů +§PvĆ"jNah`J;߆ŐŐ5­ĺ'ďśč‹ŔČ@ŻwÎéź>!=¨¤ť•…Á`0Ý Yý ˙ćE,ˇ2´¶�‹X6GÄbr.: Ĺâj8/ćÜ©ŽĹR�íăŃë¸čüµî<bC©XBąP–”›—ěx3±¸ń7ĹÁf+~„Ź‹ś˘ó_ى˝T(ąźÁ:öv ’˛|1  i{BňuĘ"–ä}±D÷ŰŤ’Ë19ďĽA‘%Ů$Ą­9(ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [ź~±îšPX„ĎĘęĽ3ÎÔń}Ż˝…E,Řło?ţ7á~ç«ÎCŃyçĺă‚ßaŃ™Y‚c®Ľý˛ďłPšE,©9By~ź  83ém ăPÚPÂńnöĐ4A&\Ă&>™Ű+|i2*'ŤŹś†E,Şďk ©Ő:vXĽO×®-bń6±ĽĎ®™dąů‹žîŚKĚĽrőŐWc~~7~äa7fOÄ"6q)Ä,âĽ<!‹ŔĘ߆ âśîý2„TşĚâ…ŔďM‚HňíĆ5É"ŘÁ o©|rł—řôĚÁ`ô1tł±T«u·ß –ďj˝Ĺk •.<‰fýÉ §¶Femy«‹]S7kXoüÖ«uí¬0ŁŮ.Ń× bÁ`ôXČÂčOř›±%T†Ö`Ëć‰Xü™T碆d&”šó­Ú¨9ŃÚ3°8ÓP*˘¸mĹÁ’űŚŞ ÔgWĐp>bMqǧ€*JTŠeiY˛¸ ’ăŇšž($ÔˇäüµFÝÝÄ/ä…‰µĘ”v:ń‹_®9ń7ť›°Ć…U4ÖjhPŁ5C‹S·ĺT •żWr¬ĎQđ×nňë¸ň:–ź"‹XŚüXÄb؆,b ĄInŻç@¶$ł!c7Ź`_n$ĂÖç’‰ErÜű¬Őś—OÎ8yÓí{XÄb!fyú3wă+_¸ŕÖaą2ě‹öm÷CňS7óľiŢŹĚűfę8ÓőÍÎ9By~ź  83ém ăPÚPÂqĽĚ†<# Űr2:—DšMŞ3EúYÄbkŻú~©;ßăb&–Ą‰mxęąß‰…E,} 6OÄ"fa9zŐŐ®($+ĚÍÍczç®L~~-–şő–ŰđÄŹăĉă­{×Ŕć‰Y‚Xz΋P\[Eáá{ť[Ü"FËłšmA7îSýż[š)BîBŰłvPŚ_&>ąŮK|zfŚ`0.udĐo¸óɬ—Đj¸\_ Ńs`! ŁŹÁ"–PZ[€E,[_Ä"f-Y«U±Zw�Öë84…±ëöbäňi NŹK×ő\ż¸ŚĺÇÎcéŢSX{č˙rĹ_VG—ěxŇŇG&×±á¬7ëĽbă·ěĂČŃi ÍŚÉăżŕÄ˙Đy,~ý Öî?ʵ*†Ę* :Kˇ¸ ’˛Ü‡„bI„X~ŕ¸ôšeKň>‹X˘ű‰íF¦ÝĹüĽó�E”d“”¶ć pšäözdËA22ćpóöĺF2l}úIÄBA›(‘ÔG Z[w?Ż˝yv¸ůÖ–Ą˛ř\^ů!}šE,©9By~ź  83ém ăPÚPÂqĽMEš€®aźĚí>‰4•“ĆGNÓß"ť{ô~YőýŇh‹XV†Çđä·˝CSŰÝ%„‚"q_ë XĽĎÝ»÷ŕŕÁCŇ{ŔN°˛˛Śu‡_·Ä‚ D|‡_މÉI<ôŕîě,A1‹(ÇłxyóĎĘ+K(ž|{‹e ăż„§ŕČiĐöY¦-,}XÄ;(Ć/źÜě%>=3F0}•0"i6Fo ¸ ‘I>Á`0˛ Y} ±„ĘĐÚ,bŮ<KŇąŠXÄ &s«KXi¬cüćC8řÜ«1°#yýđÁmŁĽuŰo=„úŇ:ÎýËĂý×G0Ô,c¸2čÎr"‹Kw§"–UçeâŞ˙ćpŮ‹ŻÂŕ´AüÎ9ŢáÄďřÔťř?ö.üżÇ1´ľŠÉÁ1WÔí…ČąD—˘ŘyfnI¸Žĺ§Č"#?±¶!‹XBi’Űë9-ÉlČĂÍ#Ř—ɰőąTgb î‹O1‹h€»’ÇF»vŹąuHí: ýT<~yůűäm#ţŤ|ż±%5G(Ďď”rć ˝ŤaJJ8n·©HPÂ5l⓹˝Â'‘&ŁrŇřČiú[Ģ5#˝}0űěZkÎßůÇîx *ŰwşÂ±ybo&±‰%z®Ľň(¶o߬!f*"™µőµĚ„,v8ńŢtÓM¸çŢořb˘,O°ă-?tî…߉Áżü�ά,bßpĄöř¸1+Këßŕý¸drłŤcßn\“,bă—‰Onöźž# FşďYß%ÖYcÂ`0ý˛0úŞ·Ňă,bŃ7Ś‹ýYÄĚóÎĹ}ŔĄ8é=ÍřřĺÚ*Î/- Ľ{‡żűYÚ;…4(Ź bĎˮî—\Ť…ůçAâš•§÷S• MNˇ\© ĘăNüŻľ;ž{OýĎ»púţłŘ>0‰‰Á±XĽý~Ň«trË/3±ů±Ĺ° 7WÄÉË#›´5…Ó$·×s [’Ů1‡›G°/7’aësI‰X|šîÇŕßŮbČ«3oĆďWińËË>Í"–Ôˇ<żOPČ™ô6†q(m,®KUަ"M@ ×°‰Oćö źDšŚĘIă#§é‹M›â»pľÖŔr˝‰7> Íý‡16<ě X‚"o&–z˝«®ş“““ČâţVŚUk«kśČľŚááÜtăÍřĆ7ľážŹ16 1‹8wOČŇܶg^đJTţöĎq~˝Ž]Co!Ţ Č®GJx9×…k’E,°bü2ńÉÍ^âÓ3cq‰"ĎŮX¸+ĘÁłŞ0 ĆÖ�?±eô7(ňŰg‹ö¸a\”čĎ"–`žw.YXć×–p~yŰž~ű^y ĺ:E©Tƶí۱äđ.-.˘ĹÄÄD&7;FpĹŰľgţáAśúđý¨5Ř1Ü~Pé·A…H7y%`ëîşB—˘˛˝ĺ—‹XŚüXÄb؆¶çť#H^٤­9(ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [źKy&/mÂË0µk´Ńl őŤXDŃ]"A1óJŕaˇşoš÷#󾙇:Ît}łsŽPžß'(äĚAzĂ8”6”p<‰cłż$Ň”źp ›řdnŻđI¤É¨ś4>ršţ±hM#©ęŢkνëězwÄÂu·ű"o+—ËîĚ%ŢL,BÜqÝu×ad$żŇVW[?ÔX[[E^ÄM7ߌ»ďşË=/1ćy›'fłÎméŔaś˝őY(}ĺ3XŞ70îÜË{µY|‡ 2˛ń X^/,bă—‰Onöźž#2Ŕ“':{&Ö©?ó1_6K EůÎťkĄwďDj?]Ŕ… çŮhŚNśiŐkµYR<‡nÝłzíˇzVmű ›űóm&±•Á#ŁA‘ĎŘ>‹X´Ç ă˘D±ó¬Î%ÁVX.,/b×ó®ĆţWßš‰%±ŃqLN¦›ÝĹľśÉlUđŐĚË®ÂÁ×ŢŠąÚÎŻ^ŚŐq°ŻwrË›‹E,F~,b1lĂtm‘ "1˛ÍÓÖN“Ü^Ďl9HfCĆnÁľÜH†­OżŠXĽ‡€Vĺ¶ĄíÉ0Gµ¶ęlk¨××QŻUQsö«ŐUÔęU§z›ľťŮ5B`KzŽPžßŻ(ä̑РăPÚPÂń$ŽÍţ~HS~Â5l⓹˝Â'‘&ŁrŇřČi.  YÚG5śťók5¬ âÄߎˇáa ů"±/fań¶ÖrBWĺ*bđ,B@“'ĘĄ2n¸á÷Ó›qĆŰ<1‹·­Üú,,ĚěĂĹő&Ö›ň/ĽŘwąÉ—— ,}XÄ;(Ć/źÜě%>=3F0—lf_ˇM˙c´˙ŔuĘ`0[ <# Ł?A‘ĎŘ>‹X´Ç ă˘D±ó‚ç"›]E&°đ>ý?˛ŰËÎK˘Ů•%l»ărĚĽř:ä1=˛Ř¶*¶ËA4Wę8ńgß@ąPĆÔŕ„ö:ö– ßh—ö1YÓ!Ř\,b1ňc‹avvŢY ň´i˛ĺ pšäözdËA22ćpóöĺF2l}.É™X"ݔڀѨą†ý;–0=µ€J©‰ů•!śş8…ZcÍfĺň Ĺđ-g32…óF[Š˝řwžqşĂ~eΡîďéúfçˇ<żOPČ™ô6†q(m(áx鬻€4Ĺ&\Ă&>™Ű+|i2*'ŤŹśćұhÍ›Q÷ř÷ˇř\¨5°îŘž¸ö”'&}‹řŚŠXjµŽ\qeh9ˇµűľ‰ÁËŁ0<„,±ľćÍČ’ŻE RŔu×߀»ďţş{žŢ¬,bÖ2QőzÝÝÄůźö‹1úá?ÁĹj3­ev7FDtŁí7±?&Ůkű«ÂÇ)ű°•Ű&|÷Ě‘!ík Ľ_ľ§őg>ć“Át6–'ŽC|ŢábŁcŃĹľÝMç>Ť°kÚź�ĂÁľ™†;&ďŢÝÝ—z»ŃöítFîĚ·™| F?€…,Śţ©öYĢ=n%úł%gu.ۨĄÚ¨ą"–ˇý۰÷ĺ7ÁgĎžw˘}Ăy©Ô") ¸é¦1=˝ýŽť/¸+Ź_ÄÂçOa°8€árű(µ^jb×vű[Âu,o.±ů±Ĺ° {KÄ"٤ ŇřÔ>N“Ü^Ďl9HfCĆnÁľÜH†­ĎĄľśÔ&°ĽźjY†ÍŐYTOü ~áŐ_u,~~mŐµ<tr'>óčÍX\ÝP›tţîh=ŚQ÷Mó~dŢ7óŕPÇ™®ovÎĘS\ӽѿ!ŤĘöűÚ¨G2Ó}G謻€4Ĺ&\Ă&>™Ű+|i2*'ŤŹśćұĄ}Ô¤ćÜo.Ő›XśÜ‰Ĺ«nÄx[Ľâmbü YöěÝë.kDiß^<úšźŔĺďx ŠĎ¸ Yaµ-`ń–2j-…—„`ĺę«®Á}÷ßă–U*•üÍł!Km÷^Ě>ífTî˙VMŚ”âqE—r—*@Úď_«Y^/,bă—‰Onöźž# †Y΢ŁĘr‚lŠühałe˝rN q©‚…,Śţ©öYĢ=n%úł%gs.QۨĄIMĚŻ.Ł^ \ö}Ď@ˇdöđí}ż÷~ś;w!”÷ŮĎ|żú—öýČMxŕľó[\FĄXAąPňëÚŘgp{ĺ—‹XŚüXÄb؆,b ĄInŻç@¶$ł!c7Ź`_n$ĂÖ‡E,Éí)óa¨Q;ýE¬?ţŹ F•ŔކBÄҬ.ˇX_ÂŃ©“¸üş/âSOľ÷Ě>Ł(WÂż¬ßhKó~dŢ7óŕPÇ™®ovÎĘóűeŔś9Ho“c˙6âŇőď4&\Ă&>™Ű+|i2*'ŤŹśćұčěăĂ„ż˝Ô\µj8vŰó084ä.Ąămîl(BĽ!D,b)ˇ}{÷ÇŠ«LMběĹ/Ä=Ż;žöŠ`ŕmo¦&Ń)ĽĄ…D´ëëk]™ytjŰöíŰŹ“'O¸bOĐâ {\!‹łÍß~'&}�óµ5  (ZŰk_›uˇíYÄ;(Ć/źÜě%>=3F0ŚrYő¦KýS<Ă~ϻއ±±Qüä_‹­�©0 Fď…,ŚţFđ5±čŹĆE‰ţ,b ćÉÎ%ř+pť%ÎEX©®c­QĂÎg_‰Áťc0(/*bł´ôî=YÇ˙úâşóYsÓ×ď«ŕGoÄ5{:®J%ěůާáô»KŐL Ś!ľ„ĐĆ~ěˇ!)MŰź,b1ňc‹afwŢylŇ$ŹIíCá4ÉíőČ–d6dĚáćěËŤdŘú°%Ţ?ÝĎŔň~MtŁÇôŞÇ>ug‹Â±7Ô–0\śkʬG±Ń–ćýČĽoćÁˇŽ3]ßěś#”ç÷ Ę€9sŢ&E˙Ą)áxG$®C¤)0á6ńÉÜ^á“H“Q9i|ä4,b1±÷LVM¬;cěů=‡ŃśŮďŠW‚ł±x˘ !bu{ĺ•G•/Źv˙Ű×ŕ؇˙ßü»ŹăčWľŽź|-JŻřöÔ?o´—ňń°¶şÖµ%tş óssX[_ ÍĘ"ęÇźťflnşĂ_ü$–jL”b<ˇYYÚㆬ:Ü|Y –mĎ"ŘA1~™řäf/ńé™1‚Á`tÔĄţé‰Xţď_˙˝ź·UÄ, Áčmä;Ź&±™ţˇĆ"ýqø(ŃźE,Á<«s‘؆/­¸—«ë b;î< S®ÉşŮřÔC5ĽĺCKřâ5ç<án_xĽ†7˙Ĺ2>ýp ťbűPÜ9€ŐzŤf34ŰMř»€—JŢgKt?±Ý(ąś¬Ď;âehÓ$ŹIíCá4ÉíőČ–d6dĚáćěËŤdŘú\*"еw€ŰSVC ‹Ř>úŕµřřă·Ł20ŚŤ—…miŢŹĚűfę8ÓőÍÎ9By~ź  83ém ăPÚPÂń$ŽH ]˙ŽHS`Â5l⓹˝Â'‘&ŁrŇřČi.= )2tł±eŠKµ&Ş Â©§Ýš…E|Š™H<!‹Ř8JĄnúŻďÁńj ťş€ę»ëoý4ź:4X]] §×WŃ-±Î•GŻň—ň>Eťg¬YľîV¬9cć˛S‡MĹ÷ˇ:3–>,btí•ŕ“›˝Ä§—ÇăREŻ=›ŐA«XĆţ·~ý˝!ËÜĹů-un Áč]°…ŃźţťÄ"ýqø(ŃźE,Á<Őą˙+p»¶qŻ×«îMŔص{P@?aqÍąéůç4šńcu§Î~Ó9¶´Ţá ó�qęÎn®Ô[ëŁÇŻŤŔ 9Q!‘˙I}±ů±Ĺ° {[Ä"éŇ$ŹIíCá4ÉíőČ–d6dĚáćěËŤdŘúđL,Éí=^źk zşŠµ'Ö±~lÝÝyÔÜŚžŐ{°±üÓ×ŕŁß⼤+IE,ÔlĆň¬Ňö+suO×7;çĺů}‚2ŕ@Τ·É±qDézĎOS`Â5l⓹˝Â'‘&ŁrŇřČix&ű ‰‰ĄÚ�fwíÍěu,žE|ÖŰ3˘Çđđ0¦§§ůěǵß˙*<¶˛Ž‡–ÖŃĽëTü ¨˙Éź9w&X]]ÁąóçpňÔÉPţ…óçqöě,..†Ć¤Ľ022‚˝{÷…Ä<bóęÇÝśząpí-h8_HËő†”'ŐKAK±ŔŠńËÄ'7{‰O/Ź ĆĄ„^w lţäż˙)~ó×ßăŠV‚çóŢwż˙‘Źúy/}ů‹đ3?˙¶Í]˛'ˇhY;°î†Á`0zĽ´ŁżÁ"ýqø(ŃźE,Á<«siçÇŔn Ľ¸Ĺ˛Bb&‘ÉۢßđąÇĹ,,ę;!bůÂ5ĽŕŞÎ<Űžu�łů(Öęë/ʏ/~Ü+Őu,˙ qłYÄbčÇ"Ă6ĚřĽ»�ŇĄI‡Ú‡Âi’Űë9-ÉlČĂÍ#Ř—ɰőaKr{R$ńďŮ˙-_nŻP) ˛Ł‚Ýe _9„Ę.ýŻÇű©D,ŹÜ‚靇13ł1ÜF[ęúQ`đ…Mß´Lq¨ăL×7;çĺů}‚2ŕ@Τ·Éˇ[qD‘ůäŠ4&\Ă&>™Ű+|i2*'ŤŹś†E,ˇ>»Ö6úIđĐâzuÇřäU·ĆD,bć‘őőu6’ŁW] S\öKoÇńŹ~Źť›uÓbT©ýÉź˘ţ™ĹŔ;~ Ĺ«ŻŠů,//áÜąsťťuĘ“Ďě)fhyâ‰ÇÝýb©„ÉÉILďĆÔÔTęĺ‹’pčŕ!'®łn=”Ëe·.Ĭ4˘žDýşZĽńé¨Ţó%,7«x÷ťí«Rv SÂňB–mĎ"ŘA1~™řäf/ńéĺ1‚Á`ČŃK‚!bů“?ţ3?ýŽź˙igl/H—"ď¸ ˙ň©O ÜůÜçÁ`0—XČÂč_°EÜ0.JôgK0Ďę\m˝2Z QsfQ‘0rp'T8{ö<îľű!…Ľî×äýhřBÜhÜtÓŤžŢnâëO¬$Ú|íńŐŽ…,ŰFPšDó| j˘T(†®ăč?Š<ôj˛‰ŤGfʦ ^,b1ĽěYĢł Ú›Řć ŇĄI‡Ú‡Âi’Űë9-ÉlČĂÍ#Ř—ɰőa‹Ü&ô}L„$ŽĐńąłłmé®”§J˝~#× ŁPÎçEW/!˝ĺň"t‡ýĘśCgşľŮ9G(Ďď”rć ˝M‡ý[ňµgÇ ÄÄ'S¤!O¸†M|2·Wř$ŇdTN9ÍĄ+b! ű¨‰AÓ.±42†úľCi Y„H#8‹Ř&'§02<Üü{żOüĐëÝ™YŽŽ ‚y ëoxĘŻzĘŻű1F†°´´„ăÇŹaaaÁ†Mç>űâ쬻  aďľر#űűa!Ů·o?Ž{2T'ţŚ,˘ÎFF1{č(†ý&VëMŚ”Űiwášd ě żL|rł—řôňÁ`0ÂčĹAÄýóŮ3çüô?|äcηoo˙ą·âÝ˙ůwC3±Ľěĺ/vgbQ‰X ÁH˛0ú,bŃ7Ś‹ýYÄĚK:7U~ ĎÉF…Ö n~iÇ(J•Txßď˝çÎ]€)ţúĂËűěg>Ź_ýŹżnâüś˛čhž›[rţťD§<<‰őóçQkÖP*şÍşĹŠĽ‰ Vx&C?±¶!‹XBi’Űë9-ÉlČĂÍ#Ř—ɰőaKr{ŞŻ›bąˇůĎ,béë+ř–1w––~E:ËÍĆ"–ŕŘ›ľoćÁˇîďéúfçˇ<żOPČ™ô6†q(mLú·Ž#‰Ď¦#á6ńÉÜ^á“H“Q9i|ä4—®ĹÔ>ĽÄęĆŽ\ĺpÎîżĘŻx›'fYYYńEűöî-FoľW˝ŕ9¸˙cź‰YĐh ţ—Ćg?ŹŮů>ߵѓˍŹO8ź#n,ĄrÉ®XĬ,KË‹X^ZöďÁW×ÖđčŁ;÷Ôgpůá+008,±gĎ^?q<$d1ëíÂŐ7`ćŃűÝYY\! …ÇMwVŃŕ˝ Ife±l{±ŔŠńËÄ'7{‰O/Ź Ł»H;Ă‹ĹZS<ŃŠřĽëëßŔ‰§|;±0 #/°…Ńż đ~ôiř8‹X¤ő•WB\$ŤÚ:VóK|€›‰…,Ę ·{µŃšąr@-ä7%6"Ĭ.ÝĆĺŰ›řŇÉ& Ţô¸xŘxd{ü¦«yď}¨ýĎ‚îąĎMn¸•ýAŻ}šŞ(T®™Ŕú—Ďc˝^ĹĐ@ä$IwÍĹ"#?±¶a>"–ŕ~Ö ]šäe«}(ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [±DŻEе§ ‡ K \üŘ<–ZĂöo›@q¸~‚˝ĺiV"– Ň÷Í<8Ôq¦ë›ťs„ňü>Ap gŇۤíß@Şţł‰bâłéH¸†M|2·Wř$ŇdTN9 ‹X¤u•t͵3V\! pţđÓ0dM5má”ŚŚŽ" Žţö;qâŽc~i%,faś>mżő{(Ţx-Nľęĺ ‰1ěÚ5ť»vaxh8‘[,?tţüyś>sŐő·ŐĺžűîÁ‘+®t—Ę b™Ą˝{ö:/˙6Ä,˘~‚uVŘ{�+#c¨¬.ŁŃ$”l—: |żšx˛vPŚ_&>ąŮK|¶ôÁ`0z Bśł¤±tkI –Ó0 F˙ żž¸2(Ľ}`>Î"i}%ŕğIc¶ŽŐü`K.'ä*ä%3 ­ŐŞ­QűÔţ˛Z?u3Öa}ć•ă¸xö)iŮ"oîě1Üqt"”ßřäg°ţćźAó‹_­¬¸[ó _rňŢŽĆżü«˛¬ĘeănÝ®7ëeľ(á¦i’÷‚E,F~,b1lĂE,]ęÂIP’M(Má4ÉíőČ–d6dĚáćěËŤdŘú°%ą=M8Ň@ŚKŹ­ŕŘźźÁÚŮ*úiD,˙Ä"–\úw(Ďď”rć ˝M—űwĚ&‰Ď¦#á6ńÉÜ^á“H“Q9i|ä4,b1ąý#EĆzĐtępnjJSŰP.—C˘ OÄ">§§§‘…J·üú/ů1…塥őÍäÝ÷áŞwý>n8~2±”ËěŢ˝7Ţp“ëW*µJi8q?ôиpˇó‹!Ęj6›nťxőťÉćâáŁn‹Ůn¬CŰwZF*JčŻ k¤ěĂVn›đ]ĽĄÇŃUj%=1‹­Á3±0 #o°…Ńß řÓĐ]‹XbÇ)ŃźE,Á<«s‘Ř’*.·-6ŚÔ~€51€~Ä-—Oâ¶ś?ńÖ–AÎ=j6°¶˛čć=ăP7\˛,.˘ú[ďu§“ŽÁyXý­÷�KËҲŠĂe÷ĺ#ź *^l4—L”~•Ä"°…’ËÉĺĽűÁń#GP$AI6ˇ4…Ó$·×s [’Ů1‡›G°/7’aëĂ"–äöTq¦}M Ć‘ş3Ôťńjm±†'ţżSX>±Ž­ŽlD,ÚeKjŽPžß'(äĚAzĂ8”6ý[Ë ĸÜÍDÂ5l⓹˝Â'‘&ŁrŇřČiXÄbbOŚ›źőFë¦ęÜîCľE|ŠMĚ>â‰5ÄŇ۶mG'zŃópř–ëý´LĚR\^Fý=ďĂúĎüčÔiŘ@ĸg÷\sí îRDâGŹ=öćć."+:šô>bu¬» —…sGŚŐćĆMk°©băÁşíYÄ;(Ć/źÜě%>[zŚ`01lĆŹ Ub•wüÂŰđĘW˝ĚMżôĺ/b Á`0r Yý Š?0 ßůł%zśýYÄĚł9—ÖL+€Q\‘ăâVÓyYÖl:‰ÁTŢjµ::E­VĂfŕwüÜ~xN>Š“Ź~ĂŮîÁ…ŹâŽË‡đ;?^*¨ţą/ËËj˛Ĺ%4ľđ%ů±’óŘŻTpţ‰z•˝ˇĐ>ĎÄbäÇ"Ă6Ě_ÄĚĎIP’M(Má4ÉíőČ–d6dĚáćěËŤdŘú°%ą=Óp (bź çs˝ÚŔĂ:ŽĄ“«Řް±ŚÝđă®ejrfvńL,Yr„ňü>Ap gŇŰơ´é°ł%#{…O"MFĺ¤ń‘Ó°EgOŠţÍX3‹8ĆçgşŚR©ä‹1<‘†Ř„Ą`»DŽOű/ďÂČŕĆŹ;db1kçúŹţ$ęţNÂnV“áˇ!\s͵źwÓâ^ţŃGĆęZvcĽXúČ›•ĹűôęÍíÚ‹j±äü­QČĄßłvPőźÜě%>[zŚ`0[b,ŰŰߌ_řĺ·ă?˙Ó,ba0 Fî(ÁčCH…ˇ<±DŹS˘?‹X‚yVç’hŰ*#(vń–şńLÄł7*4QŇë/śťĹŕĐ� ŰÝÔ¶ ©ýÜĹ…PZĚ„˛ľ¶9Ë#LŚ”ń'oş_{l_Ľ×­—Oâ¦ĂńŘ׿ţŤD%ćÚ×îĆč ž˯םzÜ3Ż˘î<0hO-C…€Č ŕ~¶Ó˘m ˇCčĄ ‹XĚ.{±člöƶ·ĎIP’M(Má4ÉíőČ–d6dĚáćěËŤdŘú°%ą=í8dGĺ‰Xütىű>t7ţč! Mm­ÔŇXĆo~#¦&˙¦¦öúömiŢŹÂ邦oZ¦Ť84WĄ,·CŽPžß'(äĚAzĂ8”6©űw; ĸÜÍDÂ5l⓹˝Â'‘&ŁrŇřČiXÄbbO âw ç> V,ˇ°}Ú±xźAˇĆÔ¶mČ•©I|í÷ă˙ňżü<!f8:6wm µ?ücÔ?ţ) Ľă§PĽú¨i1î9=ú4<đÍű°ĽĽěśGŹ>ň®˝öşL9;věpĹ1žĐGÔQ°ţ°°s7†Îžtg˝*iî~I(-‹X`Ĺřeâ“›˝ÄgKŹ cKAW^ňҢ—‘ÁPÍ`0ŚĎČÂčoPäÓÝgKô8%úł%gu.[ŠĆĄ8^÷–Ď™r^©jŻřŽoÇŇâ .^ m*Dí„ďwľęĺŘLe†^űüî&±¬śźMäY=/_ËĽ^«˘¸oĐ­ŕZłîŠTäÍ•<K3ô˘ŽE,—=XĢ· ÚŰRÜ>wDÎ;­HS8Mr{=˛ĺ ™ s¸yűr#¶>,bInOő5#i_2˙•¶VÄâ-3´RĂ=ýšŤ®öČŽVÄ"­E×7óŕPÇ™®ovÎĘóűeŔś9Hoc‡ŇƤë8"—»™H¸†M|2·Wř$ŇdTN9 ‹Xt}J™/1¬¶ďMç¶Í 2P ‰XħgMÜoMŚŤ# ,--bń™·`çľ]ˇ|ŐĚ,nčŹ<Šő7üjż÷~ĐęLQ*q呣îů¬¬,ăĚi»ĺŠ”ÜNýŚŚŚřuäÍȬżó{ą¶ë ůxĺýřĹ,bă—‰Onöź­7FđfŁWŔ˝‘Á`0˝ž‘…Ńż Č§»Ď"–čqJôgK0Ďę\Úůˇe… Kń Bř֭傊»F fl\sľ A†×ţÄkÜ-ń`ěŤoři©ýG?ńalE4Ž\†Ćż„’Bb/¦·n\qE,żéţbľŽÂţA§Žś—Žu·®=oV–ŤąY4Mz�Ě"–äřăeĤ=NŃ|±Dm2G¬Îc‡$i §Sq [éw.s¸yűr#¶>,bInO;RÚDa"bqóťíâ‰e<úŮ3¸ňÎÝčut"b ÂK#"–BÄIéű•9‡şż§ë›ťs„ňü>Ap gŇŰơ´IÝżŰéH ĆĺJ9ş„„kŘÄ's{…O"MFĺ¤ń‘Ó°ĹÄ>Ţäß™ŐFK zvŰnWxQ,ÝO±‰Yx"Ť‘aç>¶TB8ţÔSnC?ýo1đŽßđcPÍĚâ˘Ń@ý/˙ŤĎ}•źy+J·Ţ  âŕˇËđŘŁŹ¸é§N`zfĆątŠÉ‰)ś=wĆź‘E XŹó»ZbŃŞ+ş•ÔźeŰłvPŚ_&>ąŮK|¶ŢÁŻÍŚnşţÇ,Á`0Ůgdaô'(ňéîł%zśýYÄĚł:—DŰ@ľ©hF$wg Ď®¦‡P© `nţ".uŚ=ăé81ż$}'ňN,8/Űî¸-vlqaÁý…ŰŔÁqWěRmÖ7üüĎ Ń˛éB/UXÄbvŮłEg´7¶%˝}^ <ŠěQä€˛ĺ ™ s¸yűr#¶>,bInO;’rČ`#bńöüĚ),ś7˙Ő÷f KKkÇĽ™÷Í<8Ôq¦ë›ťs„ňü>Ap gŇŰơ´IÝżŰéH ĆĺJ9ş„„kŘÄ's{…O"MFĺ¤ń‘Ó°ĹÄž,|ĽYÎŹďđĹâSlžElcÍƲĽĽ„…ĹÖ´Ĺ™]¸öľ+fŁ›™E€NžBőm?‡ęř5`~&Řąc§ŤzçΞAśôg¬ńęʉ:Äönő7Üe#βë^ÓV,b(ôaĺ“›˝ÄÇbâRdE, Á`0 [°…ŃżŢ5±%vśýYÄĚł:—DŰ@Şüz˝áľD+ďn=<bŚKc·Ü<ýV<>·€ĹjÍ­±-V«xěâ<pűÓ1zĂu1żŮ‹\!ËĐĚšC÷ĄŁç+ 7xb#±€E,”\N.çÜ'µ}äk%SAEö˘ßkvČ–CúťKĆnÁľÜH†­‹X’ŰÓŽ¤2¤±ĎŞ3vßóĎOˇWÁ"–¬úfçˇ<żOPČ™ô6†q(mR÷ďv:qąRŽ.!á6ńÉÜ^á“H“Q9i|ä4,b1±÷L¤÷ŘQ[jÍ‚)Lęcľ€ĹaĹCĂĂČçÎťó÷§wÍŕ˛_ú˙a×ĚtĚ.IĚ"Đřäg°ö#?úG?ěÝ»7ÇYdŃŔŇBîr·Îćգ؆ĆÇQsë2Ň–mĎ"ŘA1~™řäf/ńŮzcD!É€Á`02C…s Ń7ॅý‰ŕM‹XbÇ)ŃźE,Á<«sI´m•kČü·fŐš wÉ›Á™–ĄX*b~a““0ÖąV«ŁR ĺ×j5leyďŻă‘·ýžřěçCů“w> G~űť1űőµ5T«5 ‹©N“•öŹŻ;/¨ĘH7¸űˇ—*,b1»ěYĢł ÚŰ’Ú>ňµ’;H™¦pšäözdË!ýÎ%c7Ź`_n$ĂÖ‡E,ÉíiÇARŇŠXĽĎc÷_ŔŐÇ÷`Çţ1ô˛±ř‰XäßłĘt‡ýĘśCÝßÓőÍÎ9By~ź  83ém ăPÚ¤îßít$ărĄ]BÂ5l⓹˝Â'‘&ŁrŇřČiXÄbbO)|šíş-ŹoYÄ˝§'dń¶áˇ!dŮ‹łţľ˛Üô»ż†Oüŕëť1:°v™ˇ6čâEÔŢů.<őČyěý÷ˇRRżôšśśBe`�µj«««X][uΫ3ΠS/ĹbÁŻ'!h YD]®ŽM``aÎ  ë¶ßeÖŻňştMjű«ÂÇ)űŠ•Ű&|o˝1˘{"–'Ot¶ŚY§ţĚÇ|AČ–ô‰ćÓÇN–BůçΕÜĎ˝»'Nqţ|Ő†"ÖÂĄ'ř8q¦U5j}ul_™MÁ˛î¸0ßfň1[,daô7XÄ;N‰ţ,b ćYťK˘m  Y»Hňë͆ëSŘ9Śbą5‰ÖđđNś8ŽIçˇé Ç…łłÎ˛Úky“ól}­Š­ŚŇÄ8®úă÷aékwcéî{ÜĽ±›oÄŘM×KíEťŤŽŽřéÂľ!Đăk¨6k(+ţŁ!ň”űbE'/ß}č7ßF˝{öÉ݆E,&1iŹS4źE,ń˛»R¦)ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [±$·§qt*bńňď˙üI<ç{Ž˘WŹ%ţťçĄ ‘tô8:ěWćęţž®ovÎĘóűeŔś9Hoc‡Ň&u˙n§#—+ĺč®aźĚí>‰4•“ĆGNĂ"{ęŔ§V,Ł<8ŕľĚńD,Q!ËĐđ:Ĺęę ęíb&xâŃ›nŔŐ/Ľ÷}ôS11Ë‰Ł·âĄ—ŕ;ż˛Žą]-¸ç65µÍ_Vhq~ˇc!‹ŔĂť‘%X—scS\C­I¨6Ć[˙÷®QW,6~ŐÖĄkRŰ_>ÖHŮW¬Ü6á»xëŤÝ±0 Á`0ú,daô/XÄ;N‰ţ,b ćYť‹Â–‚ż SXš‰ÂOOęő¦{ľĄ™Ť‡âW[ĺR gÎśÁĚîÝH‚xöŠďřv|řŻţÎá«»ybyťďůŢďD?@,3ä.5¤ÁüüĽű«ą‘€Ą¸ ´fĽń ĽLB/Ux&–äřăeĤ=NŃ|±ÄËŽďçR¦)ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [±$·§qd%bé‡ď>‹gĽě0G*Řl¬ű$VĎ=čĽÜ‹âúš­|©E,zL­!ůUą}!‡şż§ë›ťs„ňü>Ap gŇŰlZ˙n§#—+ĺPŰdŠ„kŘÄ's{…O"MFĺ¤ń‘Ó°ĹÄž,|‚‡ĽĄY«• KpóÄb‘R©łUÍŤ.ĚnĚĆ2&~ĐŔ•żýźpâ /ĹÜübĚW'fqE,·˝V?ýâ:îĽr�‡¶«cťo YśS_^^rrfĐ)Ę•Š;s¨÷ (bźł•arňÝg,~ËË ÁŠńËÄ'7{‰ĎÖ#ş/b9´Ż4đ~ůžÖźůOÓY<ľ{ˇübCĘa}»›¨›žv¸Źá`ßL«ž÷ěi}gV»˛öídFîĚ·™| F?€…,Śţ‹XbÇ)ŃźE,Á<«sI´ ”!k¨ăŞ6ÚË˙L‡6î<D;uć¤óoŁŁŁHÂkâ5îv)˘V«âńÇĹÎéđúé'°@§Ql¶Ä=âalˇ !âůa!Ň”âł�Äýü=±Ä¤=NŃ|±ÄËŽďçR¦)ś&ą˝žŮr̆Ś9Ü<‚}ą‘ [±$·§qd)bq?M<zßy\óô=ŘLĚź¸«ĺËť§vWąéFmĺó_ĆĐÜ2±Ř¦ ö+u˙ަŐý=]ßěś#”ç÷ Ę€9sŢĆ0ĄMęţÝNG1.Wʡ¶Éně9Ř`‹4őQ9i|ä4,b1±'Ryż×X,ĆD,AKfŹĹ‹şęú:֪ζ˛Š•µUT×ÖÜ´z12ž ĄP.ă–wţ">ő¦źsgÔŚBYŠcŁxÚĎ˝Ą[o=y Ç˙ď§ńŽ?îŠXŞ Âobżű=cJIŰ7łŚcpţÂ9¬¬®¸ł˛ ŹŚ`ppČŮÝŮbŠEsáNŮ©źµŔě5Ń:\©´8ME,°bü2ńÉÍ^âłőĆî‹X ĂĂ%¸bÁ`ô-XČÂčod_–Ç"–dţ„¸H ´u¬ć—ř�}#bńř j?ď\ĹŇBâ×l»Ç„x¸µmj;zčA\sÍ5î3Fâ×{>ř +üłŘ1¸Óy�:RBs•ÜŹĹB{Ů%D–ňöy&ĂËžE,:Ű ˝±-©íU~y”i §InŻç@¶$ł!c7Ź`_n$ĂÖ‡E,ÉíiÇAF™‹XÚŹÜ{vÓ„,âĄŘÜ©ob˝´!ćłł­W›¨]ŹáĘ,Ć—>±Ś^óĂ"–B$Ťätp Eř»×Š#ÉFÓßÓőÍÎ9By~ź  83ém6­·Ó‘@ŚË•r¨mň„QY¶Ą94őQ9i|ä4,b1±§>A4¨ő%¸Z÷ŞţR9’7IµZ sósX]YĆęęÖ×Wť­jü«óI™“/¸‡o»Ź~ĺn©Ďř[_ŹňK_ÜŠofĘGoÁĹ˙±˛ąűx˙pď:^vť|)˘ŤrE¨ËËËî† 6âÜ140ˇ!Ś chdŘMĹďŮ‹%ů4+ž ĄVđË3‹X`Ĺřeâ“›˝ÄgëŤ,ba0¶ ˛Ö{PŕG‚ Á`d˛0ú$Ů—ĺ±%™?!.’Ćm«ů%>Ŕ%7 Ü×äţ’›Ę ďGĹý߼W˝Úý%X–"RÉbţâ ^Ş‰ĺŽ˛„x@úĐC8çPPÎZSŢ7zdŐ ”Šć$żíZyz‹XŞ{Ç"“´Ç)šĎ"–xٲýî<4 Č^ô{Ť´> éN9HfCĆnÁľÜH†­‹X’ŰÓŽŚ8/ŔČÓ†103€ŇpŤ•–O­áÜ˝ 8˙Đbj‹ř<öŘlKŮĺçyâ!â쩇P+NůybĽ­V«î¶ľľŽĄňu®ý3±L<ý§˛¶‰-7Ôaż2çP÷÷t}łsŽPžß'(äĚAzĂ8”6©űw; ĸ\)‡Ú&O•ePšHS•“ĆGNĂ"{Šš¦Ëë7+EýŇyĄrü~˛R©`zç4jŐÉŤ™Wś1iuuŐ]VĚ̢µK]űţßĆégżËëŐر]w<=”Ţ;UÄĚD§ćĂsťüÁż¬áöË*Ř9/Ăd¦·A¦ćŚłőÎ&îK«ĂCsŽ Gf“Q-»äť˝ÜŞ_qż™ô·DŞż5ştMjű«ÂÇ)űŠ•Ű&|o˝1‚E, ĆĄ 1v˝ç]ďĂó¬ú'ßřZ0 ‘XČÂčOd_–Ç"–dţ„¸H ´u¬ć—ř�[VÄBMÉq„R p÷aU ®z˝Ńz%–*ĘňĄ…šMÂý߼‡_íŰ·# NQ~·„,˘Ľ,…3‹‹‹xôŃGś‡¤el›Ú¦6Ü?<˛ŠŐQqţSÍIJ±ßĘOî6,b1‰I{ś˘ů,b‰—-Űg‹ü;—Ś9Ü<‚}ą‘ [±$·§qxŘńíᱢ4RÂÄŁî¶óŘ$îű›ăh,Ő­E,b[süfĎ-cÇ®äĄ�ł9ĺΞ~ µâ†Ö±‹·--Żc±6‚ŃęS‹X˘˘•ŕ/ńÔ}Ó2mġîďéúfçˇ<żOPČ™ô6†q(mR÷ďv:qąRsź®Ă6€4Ô˝A~>r±ŘS ‰çVٰ$şD5ŐT0)f9™ ĺ‹I…dŐ¸¬b}uÍťÁEBÜ2śĄńQÜřłoÂçţă{bÇ–{#{wűéĺ*áÂRśGä˙ţż¬âW^łeâšJeŔ]ęHĚľ2Ô^ZH,7$fe1ůEş®~Dyő¦YyˇY‰YştMjű«ÂÇ)űŠ•Ű&|QôÔÁ"ăR…'bůżý÷~‹Y ‘XČÂčoPä3´Ď"–Dţ„¸H ´u¬ć—ř�[|&R?0«Ö¬»»Ĺ]ú™V&&'Ü_Ą=účÝ݆ąësŰbÍy@x×׿ӧκ/ধwâć[®ÇřÄ8ňD–劗t'N<…łgĎşË MMMiíKű‡Ps*»Ú¬aĂ퇓Áoq1D30M¦ĽůYÄb“ö8EóYÄ/[¶Ď"ůw.s¸yűr#¶>,bInO;2â0ĹäÁÜř‡đĹ˙ńę«a±J’ĹË;f±kB! ť={ ŤÂH(/&bYZr·ęúve<K,Ýaż2çP÷÷t}łsŽPžß'(äĚAzĂ8”6©űw; ĸ\)‡ąO×a@š€ ęÁŢ ?9 ‹XLě)…ŹŠÄű«łQ­űâOč|4š ŘBĚ|"f Î8zě©'ťűĹSî~­^SúÎüŕ÷ŕŔ?ڧ~"”˙Ůßű3Ürĺu¸lf‹«5üň_Cµ±CĘńɇjxÁŐ5<űŠđl3µęFąB°ríµ×ÍҢCĂąőD?Á%™Ľ­Q«%rđrB°bü2ńÉÍ^âcDŃSc‹XŚ~‡jŮ ńăÄwýĆ{ń÷ů¨ź7wqž—b0 F&`! ŁA‘ĎĐ>‹Xůâ"i,ĐÖ±š_âô×rBí¤{NʸÂţjŤÖCÁ®řZÚQŚŤŤąkvĎÎÎâ߸ ;věÄôô.WĚ‘„•ĺüŮźţ>ň·u_l!Ě}Űóź{ícçôd‰,Ë]]]ÁąsçśíŚ{“´szĂCÉő6|h«tE﫨zżůôË E÷[Ö,b1‰I{ś˘ů,b‰—-Ű—źwÖ ČEÖ'!Ý)ÉlČĂÍ#Ř—ɰőaKr{Úq‡*O…Ńť¸ňů»ńőż}2,V1±Ďóç–qňGÝůŰaöě 4 ‚V!bńÄ+޲BËËËî¶şx{®~^Ç"™ŔÓOKúUA¡MőMuO×7;çĺů}‚2ŕ@Τ·1ŚCi“ş·Ó‘@ŚË•rűt¶¤ Ř ě ňó‘Ó°ĹÄžRřčHŠíďýJm+ńEpF1»Jܸ·[[]ŐÚŢř‡żŤ3/ú^T­{Ľą©˝řĎ/Dýç>Š};Gpúâ*jő&&vÂÔž#RŽ÷ţżUÜ| ŚŃŤkmmŁÜ‘‘‘ŽE,âPmÝ'âŹŕL˘ĆčŇ5©íŻ k¤ě+Vn›đ]lDŃSc‹XŚ~Çźü÷?Ĺ™3gńŽź˙igü <r˘÷ľű}!ËK_ţ"üĚĎżŤE, ÁČ,daô'(ňÚgK"B\$ŤÚ:VóK|€ľ±ŘÄ%ŕ Y÷LŔBȲ{÷n,--cnî"Îź?ç®?>11á<huŽ˘\i}í aphgNźĹ/ýüŻáرăî †XÚ§uŁŃZ[”˙ńţ|ĺËwáWíçqőÓŽ" Ë�7Ę…˙Đ.Z®řÜĘÚŠkÓ¬·^ʉ5ÔÜ©§‹Ĺ’{®ăcc(>T¬Lˇ8^Bs©őň±ThůQ{ˇB[L°!3Bű¸lźE,&1iŹS4źE,ń˛eűݱDK~Ż‘Ö:!Ý)‡ô;—Ś9Ü<‚}ą‘ [±$·§q¨ň’°˙¦řćgNbţüŞ•EĚÚ˛´¸ŽNpîÜy|ţ‹_Ć—żú5ś;{fgݵvîŘŽééi<ă¶[pŰ-7:/şjh6~A±gbŰ5»ŞŘöŚt"–(Ěű¦eÚCÝßÓőÍÎ9By~ź  83ém ăPÚ¤îßít$ărĄć>]‡m�i6¨{ü|ä4,b1±§>I$ŢÝÖP}sN§‚o÷râĎfĽNEĂĂłł,:ă—•}{qýŹ~/ľú¶D,×ý(ŞíY\ž:·ěŰ-ś}Ňý”‰YÎ;÷‡üą5ĽĺąĂrĄńt‚zٞxőçmEOČ"yČ3±ŔŠńËÄ'7{‰ŹEOŤ,ba0¶2L´&BÄň'üg~ڳȖ"–¨Ř%ůÔ'î|îóÁ`0ŚK,daô/H¶Ď"–Dţ„¸H ´u¬ć—ř�,b»b=ě†óđŞRŔŔ»‡dccŁÁšz¬¬`aa.\đŹ‹™Zľ««křĺ_|'žzę8†G†”ĹşÝ ‹ř÷żřëxßűß…™™it‚ŤrO8�‡Üe‘dh6šź_•»zaĹťVÚC©TĆĐĐ &vîÄĐđp*µůŔ0÷Ż8/ëß�¤Ë aăń Eö[p:˘%| ç«.±Äö)šĎ"–xٲýnŠX‚ĺ†wHg“”î”CúťKĆnÁľÜH†­‹X’ŰÓŽŚ8LyeCĚľë¶ăÂ'ź˛±Ď•µ*Ňŕüů řÓ~˙ü‰OşjÉ3ĹCÁbű…×éÓ§qĘŮîľűřŁ˙N¸ů¦đ˝ŻţWŕâ‰XĽYX˘"–}㫸éEŻGŐiˇĂ~ĄîßŃ´şż§ë›ťs„ňü>Ap gŇŰơ´IÝżŰéH ĆĺJ9,|ĐeŘ&@z°7ČĎGNĂ"{Já“Lâ܇µď»FëUÔju_°âmŢÄ&îKG†‡Ń ĆFG]N1¶-//ˇ^«ˇ\©(íľă-řŇÝÇńĂĎŇ.E$Ä,…b “3‡cÇţú®uĽŕŞ ®ŮÓzt:77ç? ČëkëîŹO‚B–ŕ6°ÚŢDďYÄ;(Ć/źÜě%>F=5F°…Áčwńýě™s~ú>ň1÷ŮçŰî­x÷ţÝĐL,/{ů‹Ý™XT"Á`0Ň€…,ŚţÉöYÄ’ČźIc¶ŽŐü oD,ţú๸‚׆‹Ź‹ŮXÄga&ť8CĽmr7/žşx€çäďŰ{ŔÍű‹~O>ń&&Çś‡gúá`p¨‚ą‹‹řŁ÷�˙ţW~ť@”{ěÉăśsF&•;?·QîĚîÝhŠ—‚ő:ĘĺR&Ó9cźSGm!Ë@ic)Ń"<‹Y&1iŹS4źE,ń˛eűúóÎ Ńď5ŇŮ$Ą;ĺ ™ s¸yűr#¶>,bInO;2â0ĺŐaçáqÔ?a'bé¦uIŔż~ţ‹řŤwýŽ+B);㥱”ÜYĚ„Ąč˙z®)^ ŐSÖ׾~7îą÷~Ľîßü®yÚQ_Ŕ"6±”'b™^Çs^öZäż⺿ЗůČ8’l4ý=]ßěś#”ç÷ Ę€9sŢĆ0ĄMęţÝNG1.WĘaá.öŔ4Ô˝A~>r±ŘS źd’Ľ1hŚX[]Ź 0Ä}š7+ËúÚjÇB1ăćä䤻”®¸·=á<vďŢŁőyŮ˙ř |üOŔÇ>˙ăŁ^âhţôcÎýx#63‹¸E×ÇWńß~h ë«+îr¶•Ę�FGÇĐ)Äýąć úő%ęNäůB–…–x¦T,řu®[NHůč Kפ¶ż*|¬‘˛ŻXąmÂw±EOŤ,ba0.q\S<ŃŠřĽëëßŔ‰§|;±0 #/°…Ńßđo¦XÄ’ČźIc¶ŽŐüŕś‰…”ÇkőşűYśE7âŰŘظű€LA>üWÁČČĆ'ĚÂ5M|îł_r—šŮ˝ iŕ—;:ŚŃ1łs«×ęˇr·oŰŽąů‹Č bF–šsń­;/ÝąoÄ4ν`ˇŮ^÷ťE,0ŠI{<Ö XÄ/[¶Ď"ůw.s¸yűr#¶>,bInO;2â0ĺMÂÔ̵E|KvôţňŻ?‚˙ň_˙»+X)·ga/±\1‹+hiýr[ś„“…¦RBĽňűď˙�^ů/Áϸ%$bź“U<ď?’Ť4Šţ …4}†ęţž®ovÎĘóűeŔś9Hoc‡Ň&u˙n§#—+ĺ°đA—a[`š� ęÁŢ ?9 ‹XLěÉŔ§€*ÍÁB{v†’uglńÄâSlž0ClkkkČ;wL»BÓgNcff·öGĂ•ţđ'®Ĺľí Ţň‡_Ĺąó”¶Şe†;ßŔż˛Ž;¶źđóvěŘ‘îÇ&¬,Ż„ęIpëQĚdş}}¨8˙űËđÂ]ş&µýUácŤ”}ĹĘmľ‹Ť(zjŚčPÄŇő–Á`tq/ł¤±tkI  †iÁ`ô˛zÉ`ô ü#±$ň'ÄEŇX ­c5żÄč/ Ĺü'ŵá×r®5î~aײÄŕ`‹ď›÷?ä>PśśÇĐŕ€Ń655áţúí‹_ř*ŇÂ+wŰ6ór'#ĺ :7$Ů _ĂÇÜ_˛‹YL//±Ŕ(&íqŠćł%^¶lsD,Ń‚H}(9Ý)ÉlČĂÍ#Ř—ɰőaKr{Úq‡)Ż GĘb=+‹ř4.ăó_ü Ţ÷ţ˙ÖúŵXj -Z[PĐ"fi)—‹ţL-Ĺ€ťhÁ˙ßŔ]wßš‰e¤\Ĺ żă‡ż ˛†şoZ¦Ť8Ôý=]ßěś#”ç÷ Ę€9sŢĆ0ĄMęţÝNG1.WĘaáŁ;lËH“A=Řäç#§a‹‰=ĄđQ‘4B„˘sUâ‹ĺE_ŔÜ<ĆĘĘ ˛ŔÔÔ†Ű3ŽV××]1‹ žyd_x×sńŁ/» %Íř'Ä,s§‰ĺ˙ĎĎŻá­%~Ä+4Y`ai1$d÷ĽÁú[\XÂ4ZË"‰ĄśXÄ;(Ć/źÜě%>F=5F°…Áč'ę=<1‹­Á3±0 #o°…ŃźđoŚXÄ’ČźIc¶ŽŐüŕ’±¸ç™ÔöíO!Şp§Ţ;ެ –ń©´×đÁÖşń‰Q măăŁÎĂĘîľë¤…_îřyąícĽrĹCľJv/ŕĘŁ(lp—}¨·§śNî6,b1‰I{ś˘ů,b‰—-ŰO±÷3G¬Ýb‡’Óťr̆Ś9Ü<‚}ą‘ [±$·§qđÚľ* ­D,ÂvbĘlI…sçÎă—ő?;´z»ř%™x‰č~ !K{•–Ąä [ŠOÄ‚ 1‹Ăńż?ô·Î‹ľł®e PĂ ^ú=@ÖP÷MË´‡şż§ë›ťs„ňü>Ap gŇŰơ´IÝżŰéH ĆĺJ9,|" Yą™`_@š€ ęÁŢ ?9 ‹XLě)…O2I ŃWTewLšłłJ!‹§–——üĄw;‚SŢŢ}üäÉDZj8Ű‹óWľç üăz®ĽlŻŇN&f©9·őČŚ[-Ó»vąKe…ůy·~<!K´ţVçć0V*şw ,bă—‰Onö#Šž#XÄÂ`\Ęb•wüÂŰđĘW˝ĚMżôĺ/b Á`0r/-Äčc°%‘?!.’Ƣ+ĺąđL,ń˛Ü%Nb¸„©d…ŕ'Ź·~˝V¬8â,^h9ĎťźEZxĺ ¸ż 7AŁŢp?ĺ’ńoĚPŢ?ĆĹç!e ĹŇĆɦ[Rˇ˝ďőö–đ ŕÇ‚@\˛<±Äö)šĎ"–xٲýM±hĘ Ó4ÉŹs̆Ś9Ü<‚}ą‘ [±$·§qđ¦y1D˛±Ď}{'Ť¸˙č†ĺŐUw¶ŁŁŁ8zĺÂěĹYś:ٚƹĽ(„»ĚЧ>óE|ŰłoĆó_ňJ‡Ël9A¨úf!j“”6ę›ęţž®ovÎĘóűeŔś9Hoc‡Ň&u˙n§#—+ĺ°đ‰$ô=l& z°7ČĎGNĂ"{Já“L˘Ć€óâjÝąo-ź9á.!+6!Ŕđö…ŕĂ»]YYÎd Ëúś;{ ‹ nYŹ<ü®ąćZWb‚+÷ŚŕcżrŢ˙±ăřťżşŐő¸F¶ĚĐc #řÚ…ř‰[" aĎĘň’;ۨ+Ju61fëqőô) 1†G9cmL‚(ˇż*|¬‘˛ŻXąĺĐ“|Ś(6!.EXÄÂ`0Ä&Ţöö7ăÚ랆˝ä,ba0 FîŕY} ±$ň'ÄEŇXqĄ<±´ý(ü¨Ţ¨»ÉâîěD,ÍćĆ~©Ňúúo6šĆ3Ł´8šIHĽr©i^®÷ë˝pąŮ>)hMQ]k//-ac_/T P$ŹE,±}Šćł%^¶lß\Ä’mď ň”i’7ć ™ s¸yűr#¶>,bInO;2â0áMűăđ¦ÓmD,…R{ „,b政ű‡ŹůŃR;Ć+.ż Ł#Ă(•K™™Áää¤;cK]Ľ,tĆq±/D°bĽlů´?[4¸˙ÁÇpýÍĎÄÔÔ6d uß´LSÁŔGÝßÓőÍÎ9By~ź  83ém ăPÚ¤îßít$ărĄ>‘„¬ÜMEš€ ęÁŢ ?9 ‹XLě)…O2‰íĺ^w.žÇĘĘš/Âđ6O !¶ůůyd…Ë/żÂ[żË[]]ÁC?ற6xĂ‹öă‹ďyžyĂîKą(d3ł|äńi,¬góUÔ‡¨nŻ~„ŕ'XwµZ ĺăOˇŕ E^&ŢŹwéšÔöW…Ź5Rö+·úc’ŹĹ&ÄĄČ‹X FBĽň’—ľ°§E,,Ża0Śţ Yý ƲGŽł%śGŇXqĄ<—~±Pôé‰4.R–UmÔ[qí2[†ŔőFŐßżňč٠ó4Úćf\ßËŻ¸ iá—ëp™–+bŚ–[«Ő‘%*ű‡ť—€MÔš­Ů_äÍĎË ™Ä¤=NŃ|±ÄË–í÷†E2M“ü¸1ÉlČĂÍ#Ř—ɰőaKr{Úq‡ oG+ÉXÄ"ŇWŮé.”„O~úsh4š-!ЏŢÚâ”AgŚj RĹrAĺJą%b©7Üφ+fi ZÄqĎĎ´c÷óaä‚űs¨ű{şľŮ9G(Ďď”rć ˝ŤaJ›Ôý»ťŽb\®”ĂÂ'’•»©HA=Řäç#§a‹‰=ĄđI&ŃC´LĄýë0­aavÎ`ČÄ,só‘Ä,&G®¸Ň ,.,âoއęúş ¦F+řŕOß„ßËs1>_Ň7*fYrčß÷©dóçĎ…„>b–`ÝÍĎ/`zî¬k;P˛xtŰĄkRŰ_>ÖHŮW¬ÜrčŹI>F›—" ,ba0úV|0 ŁÇÁK 1úÁ›XŠçoä±%GŇXqĄ<ž‰E_V˝Ůp_>e=#K= ţ¸éĆë°˛şŠłgÎă˛Ë÷cÇŽ)­ďĘĘ*Ž=y kkëxúí·řů>ř@âŻëÄ ¸›nş)Tî©gpŮá}ĐO/˝0ż„“'ÎĆĘmÔ«(Nm‚áX,´ë^d‹´\BH˛ścS(¨„,b‰íS4źE,ń˛eűiD,ÝyA¦i’7ć ™ s¸yűr#¶>,bInO;2â0áMş’P*‹XÄçu7ě3âýĚľˇëÎůçĚ™3ŘżźłßDµÖt—Ú3±¸/đÚ6-!ˆ Ą´|öó_ÂwżęĺČö}ŠţM«ű{şľŮ9G(Ďď”rć ˝ŤaJ›Ôý»ťŽb\®”ĂÂ'’°ýNČi2¨{ü|ä4,b1±§>I$îđBföbÂÍ핪gNˇ~hź/fń¶Ö˛9«U,--al,›%îÄěd—_~Ź=ö;Î-//ăŢűîÁÁC—a玝V\/˝y;ž˙žâú >ňŮś1´á‹.3ô‰kxÁŐ5|Ë夅«çć.úu#¶`ť‰íÂésxjŽuÓ·Ś˘]loR\“ÚţŞđ±FĘľbĺ–CLň1˘Ř„¸Y` Á`0 cłÁ3˛0úÁ›XŠçoä±%GŇXqĄ<±$ÇUsţ‰‡[{âż ëN«k«îî®™i9rŘťŮ䮯އĺĄ H7ń0ň«_şŐj ĺrOúÍ.‡qqi±E¬ŮŞŐµXąëëU|őË÷:źëĘr××Öđ•/ßăţâ<ZnµVC–( –PŘ5€¦o˘ł˛đL,&1iŹS4źE,ń˛eűéD,ÁăyLÓ$?nĚA22ćpóöĺF2l}XÄ’ÜžvdÄaÂŰ©E``¸l,bňČŰo;dÄűÔńÓ-QŠ·µE)Ź>ţ$ľůŔxô±'p÷Ý÷`uuµ5K{Fo‰!13KŁ-b Z×ńă'‘'ěűý;šV÷÷t}łsŽPžß'(äĚAzĂ8”6©űw; ĸ\)‡…O$aRnW‘¦pz°7ČĎGNĂ"{Já“LGAó2{¸XÄhĄ„ʱÇÜ{»¨ C4Ę岻]˝€,±cÇ\yĺQ§ŚÖŁMqßúŘŁŹŕţűďĹÜĹ‹ţµ&¨WWđćo-â?Ľz¶O…—ŚÎĚň;˙o+U¤Ć… \1ŞW/b‹ÖŰŇO`GĄvŐ'jY(ĹŻęS\“ÚţŞđ±FĘľbĺ–CLň1˘Ř„¸Y` Á`0 ŁŔ3˛0ú±äůdK(ʤ±(âJy.,bIŽ«ŃlŔ]Ý{¬‚Ęř˛„XŠ`vvűö¶~ţÖźzţíkßę–űéO}W9€Ë.?€mŰ'Ptž‚-,,áÉ'NâÁG­Zs|çń‹żüÓ¨TZż>›››CłŃ0*{ÖyX·oßţXąźüřqĺU—ąłłLNµ„;sńÄăÇńČCOş#eĺ–2śŤĹCy˙g—QmÔ0TöřőB…B,ŻžµĄ˝Łć` ÷YÄbĽŚĽ@¦i’7ć ™ s¸yűr#¶>,bInO;2â0áÍBÄ"04R6±íškv;/ÚFŤxĎ:ăťť…ř¤ĐÚ…¦űbęÜů (9/ ‹îVp_€Ç› xĄánäť>wyÁľŹ@ŃżŁiuO×7;çĺů}‚2ŕ@Τ·1ŚCi“ş·Ó‘@ŚË•rXřD&ĺvi 7¨{ü|ä4,b1±§>2’čýŚ­ý`©€b8°|ÇĎ]Äčč¨+ĨV«ţć‰5ćçśc{śűşd…©©m¸ćÚëńč#Ź`eeŮÍ3ż<ô𨠸Ç'ĆÇ1<<‚A'-ĆQ1ÖŠWWW\[q)ö®žţŕĆđżż6Žüę4ę­Pgf9łŘÄ>żŠ7Ý™n)ŕÓ§O…D,˘Ž‚"–ůąŚ?őFť{Ň“e…ştMjű«ÂÇ)űŠ•[ý1ÉÇbâRda+‹Xž<ŃŮł˘Ný™Źů‚ *ŁyÁô±“ĄPţąs%÷sď.¤Ć‰ÓEś?_tžuf˙u«âÄ™V]Ô¨őYP(Aí+ł)X*Hą0ßfň1[,daô%bČ)ňÉ"–PIcQÄ•ň\.u‹{ţ q‰›“zŁîćw§{(¦ř{~v»wÍ ä<0»ĺ¶đĆ7żď{ďĹŘř(~čyřXČGÄ˝¶¶†ĹĹĽěĺ/Äw}÷+Úů„'îßřőO¸/Ř&*cŇóZ®Ż˘Öl`ůGnÁîďÝ--÷űĂß|̸ÜÓ§Ocűö)dŤâľA4ľ¶ěÜČ4Đ’…oH‰T§Ě3±Äö)šĎ"–xٲ}±D3)b™ÄáćěËŤdŘú°%ą=í8ČĂ„7+‹ŔÎ=cF"±Ç3ó.ŻÖQ*”Ý% ‡łĐ»mÓ=‡˘+ti Y ­×‰ŢDaKk™!o†––J6{Ř÷県ú¦şż§ë›ťs„ňü>Ap gŇŰơ´IÝżŰéH ĆĺJ9,|" “r»Š4…Ô˝A~>r±ŘS źd{{1 •ś6+;ź‡JM<řÔqTť·mž0òq‹7ëHkąĽČĂCøöÚëpĆąO<qęőÖ’ş5§ěsgϸ›) Ĺ"vOOăw~â Ţzľ†7ľ˙ëxř‰Ö¬fA1Ë_}}Ď;ZÁµ{ě«ÎÎ^Ŕúú†‡‡}!‹X)(ü9yâ4®ZťCa|!K!´_čZŰkű«ÂÇ)ŻI+·úc’ŹĹ&ÄĄČĎÄÂ`\Z°“bl-úůä ă Yý ’ěűy,b ć‘4E\)Ďĺұć8´qŐĽNf˛ťŤĹĂČčŽ=őn˝X{íë~“x×oý>Îś=ďţJÍťšŮ ©Yob˝Zsćđc?ţxÓ[_çó‡„Ç>ń€Ű¶CĺA˙4üsiWÝ`q�ŐĆN˙ë“8vG6ĺV*ů(’Ž`ťÎ;/ë‰X˘űÓ‹X$ÇcÝ€E,ń˛eűť‹X‚űy‚Ti’×úÓ$ł!c7Ź`_n$ĂÖ‡E,ÉíiÇAF&ĽYŠXŢn$b˙Ý|ý~c^"–BELŻ‚BÓů6hĎČŇ:‡JÔúl6fdńjIśck!§ÔFKȲ!fibç®~ĆgżI:8x*}Ôý=]ßěś#”ç÷ Ę€9sŢĆ0ĄMęţÝNG1.WĘaáI”ŰU¤)Ü ě ňó‘Ó°ĹÄžRř$“Ä!^ţHďă%)1=XĆđScőúk044f şłkŠŮ6ç.Îb÷î=®€#Kqq÷ž=ž™i‰WÎťu—â3…%F,U´{f7[÷·GfJřŘŻÜ?üŘ Ľ÷Ăwˇş¶łĽűă«řo?4†rŃüMŮÉ“'ÝşđD,˘N‚u%–ŕ­=ú0öť{éVŻPľ3iÇ>Q{mUřX#e_±rˡ?&ůQlB\Š,ôĺĐ>łYŁđ~ůžÖźůOÓY<ľ{ˇübĂj™<öín˘RlbzÚá˙vŃzF‘­Ů9î›iŐóž=ŤŤŘ•µo'3˛p˙`ľÍäc0ú,daô7b^XÄĚ#i,ЏRž /'d×ĆIÔ5wŞăŇnłel!*žuęť=s»ś‡|ßý˝ßç>ďYř?ţa|úÓ_Ŕ±cOąb’={fpÇłźďűţWáđá>ÇüÂ<ůĆXúÚYÜą˙fěšlýLqĎ­-âëÇÄcźżŁ##•{ęôIěŮ˝y`x˙8ćť·„5÷ĺ#ˇ¨8„óÂÂB{G}ł‰ű,b1‹_]FŢ Ušäǵ>Á4ÉlČĂÍ#Ř—ɰőaKr{Úq‡ Ż‰Ĺ¶ßě?´ ُpqY)bKíß?…íŰĚÇófQ,ˇ×tzµź¬oÄ'ţ. ˘űéÎĆ"–ßjĘÖŚ,íYYbbÇpďľlý…¬ ŃăF}SÝßÓőÍÎ9By~ź  83ém ăPÚ¤îßít$ărĄ>‘„Yą¶ß MQő`oźŹś†E,&ö”Â'™ÄĚľŕţÍIíý0ÍP±ˇRçÎáÁ§Nctlëë뮀E| řł˛áƉ'pčĐ!ä± źĘmum‹ó X^YĆšŘ_Z }qlŰćŚçccźpâSľzý‹öáűźµ ořŁűđĹ{óĹ,ŹáţâkëřÁŰĚ~„"îĂ˝ŮX„El+++n‰MYŽ?…É“Obz ¬_V(ŇŽFďŇR´˝¶ż*|¬‘ňš´rˡ?&ůQlB\Š,đL, F˙Ă]Ć60`LNŚaéÂ:úâhY1 ĆV Yý Š|˛%”GŇXqĄ<±XÄŐţËđ4¨‘˝Č ;¶ďŔSÇŹa˝şŽbZgç&fçôĽé­˙ÖÝt¸pá{řa<ůˇ{±wxŰĆQB ŞëX,0éŘěÝ…ű˙ę íM]îO<ŽééťČknČbąâĚ0pŞćĽřk č<8Ś6[ôˇ-ĎÄ"9NŃ|±ÄË–íg(b fć�RĄI~\ëL“̆Ś9Ü<‚}ą‘ [±$·§qđĆ®‡ĐĎËŐyI(– ¸ýY—áďţöĄE|îŮ3iĚą¸˛Žĺ}©ťmťHŃů§YuwKTh/+Tp<ÜĄ…9W!`q>ÝňŰ‚–†ł/d1…Üůěg"7âł_Şűw4­îďéúfçˇ<żOPČ™ô6†q(mR÷ďv:qąR źH¬\™UNHS”A=Řäç#§a‹‰=ĄđI&éÜľĐÖU;căáÁîř›X=´7$bń6!Üh4źżĄĄíGžK‰ÍĂ˝÷~ĂŽ”J%\yĺUĆ\SŁ|đ§oÂ?Ý}?űŻúb–˙ńů+ń­G°ިőŻ;ç}âřq_ŔâÍPă XħXZ÷ĚĂŹăYë ¨ a°¨XVZÂ"+¤h{mUřX#ĺ5iĺ–ĂuźäcD± q)˛Ŕ"Łżáݛժug|®řů;·M`Ąşő:a°śĎłÖÍ‚8§ť“Cî9Q­ÖŔ`0Ś­˛0úůdK(ʤ±(âJy.,b±«ýéţjÚŮ/N ˘<\A^í¦wM»ë“Ż,/ăŔŐ˙b\<X;~üÎť>‹'?tčě:ž¶ď2TÜ_ŹëŻăRˇ+Ć÷ăäŇ9<ţg÷�Ż)Z—;;;‹ť;wş@óDůŔ ę§j¨5ë(—6Ú@Ţ”…ŕŹáýőeĚ"$îłĹ,~uŃ:ȤJ“ü¸Ö'&™ s¸yűr#¶>,bInO;2â0áÍc&– žýÜ+đO»kËu©E¤›%<~â‚PČ YDˇÔpĹ*n?§¨ŃD±=K±¸±¬Pk݇VëŠób ÎĘ‚ÖRE…Ę0î|ÖmČÉĚ+Ń´QßT÷÷t}łsŽPžß'(äĚAzĂ8”6©űw; ĸ\)‡…O$aV®yîiŠ2¨{ü|ä4,b1±§>É$(tP†g6Z.b×@űĎ=“'Ď`xd($bŰŘŘ/f9~â8®:zuW—5ł“zB–ÁˇtKůľäĆíxŢ»_€wüéřČgpóŢýĎWă˝ß3¦•–;öDm…,‹‹‹®xElâľ÷䩳ŘńäŘ7TÁxą5­|¬zştMjű«ÂÇ)űŠ•[ý1ÉÇbâRdaSD,]^ Ć.,,aďô¶PŢÁ™qüŰ?=ŹÝ%çŻĎ;_µ›_üëY#»Z8˝ĐŔá=ń‰^_Á`0¶XČÂč_ř7F,b ć‘4E\)Ď…E,&qĹźÂÔu÷ł¸{yŁäĽ,s^‡ąËőĚßw/Ć'ưmr»;µ˛x¨&(Š_†­­­ŕâĹ9,8v+g–đä_އƹ<gĎŤ.Âô:.ËxćĚ ř䉯ŕá?ü Öżç§ěŁrĹ ąbˇ”»Ĺ­—}­PmÖ1Ľľ˙ą!\QĎÄ·ěÍ»/‹X˘űr?±„ň#u7˘ßŤ¤łŃĄIfCĆnÁľÜH†­‹X’ŰÓŽŚ8Lx󱌏ᕯş˙ăOż ±Ďc'/ó}ä3÷ˇIĹ–EWśĽ˘ó_©ąŢłÔŃ,´—r5.a1Ą'bç.–˘Â€+b!gűîWĽ»§óŘhÚżă—ŤÜlúfçˇ<żOPČ™ô6†q(mR÷ďv:qąR źH¬ÜNż%,¦(z°7ČĎGNĂ"{Já“Lbfť´,şĽP3ŕRvrĆĘ.Őq족şoĆź…ĹŰÄŇB"OY„xăä‰Ř·?ş…ˇŔě,Ă)…,•~÷ÇŻĆkîÜ‹7ýŃ×ńÉ/?€Ź^{^rŤü~őâĹY\śťu…4^ť,ŢvęáÇqÝÂ9ěÜ6â.Ő˘UZ ‚ĆG JčŻ k¤Ľ&­ÜrčŹI>F›—" ,ba0.-<yâöîÜűJ– K ô:„8ĹRQŽóýóÔ©ó`0 ĆÖ Yý ˙ĆE,Á<’Ƣ+ĺą°Ĺ"®H˝‰e…ęŰ󛍥UáÜŮ îDńšL2{úćP(ĆÖ*Ŕę©%\řĘ ,Ü}CÎ ¶gîľ;†§6Î%đ&ŤĽźóß®µ÷…đĺ9{nĆ—ÎÜŹ'˙řnŚ\˝ÓwěÇÂeňr×çÖ085ěĆ(~Y.bžŮ=ťëŻöJű†ÜëT÷Ă~¶öŐ"hěÍ»/‹X˘űr?±„ň#u7˘ßŤ¤łŃĄIfCĆnÁľÜH†­‹X’ŰÓŽŚ8LxÓXŇöťç>÷J|ĺ®cî±Ď;ăŠYîݦĺ9}~˙ë#_vĆĐęÎ8‹f­5Ö•„ ĄAMç!5śńPĚÖ"^6#çŕŚçŽż°§‚‰Ąě~ŽŚNŕM˙ćŐČćý;šV÷÷t}łsŽPžß'(äĚAzĂ8”6©űw; ĸ\)‡…O$aV®ľ˝3Erz°7ČĎGNĂ"{Já“L’Ť}ĐĚ»+—qpx�űÎ<Ž'żW]˛xb–¦3–Í^Ľ€ŃŃQLmۆn`( ^ ŠZŇâ¶+&đ…ßşďúżOâ7˙ę<ó˛ë15ľW±Dnpfq?î YĽíń'Žcňńq…Sb6–¶fŐG!PáĆË Ąh{mUřX#ĺ5iĺ–ÓuŻó1˘Ř„¸Y` ±5ĺ3ĐůĹ<yv‡fň]ÚŻWńä™Ě-Y §ža0 FO€…,Ś>‹X‚y$ŤEWĘsa‹E\’zk!‹łż2Ô@žŹňÄL'bÖő k¸ď?‹bĄ„műv``|Đ–Ôk¨ž]Fc©†b±„]ĂŰqýŽ#ŻŚ íu<^Ĺł÷Ü{fÁŇpćˇQ.˘23‚ĘÄű°®¶TĹĽóâoe~—}ç5~FëWz"ćŮ ±cg~ż*Ż µ^ 6IŐ”aá÷+7őił‰ű,b1‹_]†®ň@ô»‘t6ş4ÉlČĂÍ#Ř—ɰőaKr{Úq‡ Ż=´B®ăđ~UŢIËüĽůŤwâ—ţÓßá‘'·D,Ţ -żöĹ{ůŐ’‹T/:Ň~ô?ü9–×ܨęg,,5QrΡŃ,ˇX*ą"–bˇę YÜÍ˝pB–‚{ÎBĚB®Ąµˇ4€ßúĺ‡éSČÁď(/]PôMďAlRO×7;çĺů}‚2ŕ@Τ·1ŚCi“ş·Ó‘@ŚË•rXřDfĺęŰ{ÓaPöůůČiXÄbbO)|’IÔpĹ(űč¬,1ZÚ`ż~Ţ9Xơĺś|řĚÍěđ,A!‹XbČł?ń††G044ĽŻ u0#K?óĘCxő3×đÉűçđŞŰ6îäĹGyôaçď…˘/bçż´´„ŐŐU_IJ´¸„Ó>‚[ćNcď¶a GgcéŇ5©íŻ k¤ě+Vn9ôÇ$#ŠMK‘±0—Ľű°źšC±\ÁíC0ŐEny8ß?O9Ďľ<>Á`l=°…ѧ`K0ʤ±(âJy.,b±KVoB–ÖK©eT[ËéłżŁX\\v”-odTť‡k˙űk*T0Dhw¨aŐŹQĽÚ><ýc3Ř;şłý믍s)´÷ ‘—Všë|Đy±vŰÎkpvuO-ťÁĹę"ÇVŃpĘőÜF0ň@'ţţa ĎŚběPëŕ˛óPt`p�ăăcČâ—q«Ő5”°ń#|áeBçČŹ.?dŢ}YÄÝ—ű±%”Ż©<ýn$ťŤ.M22ćpóöĺF2l}XÄ’ÜžvdÄaÂŰÍ™X‚Şŕ?ţÂËđÎßůľzĎS±e†ľv˙qüČŰ˙~ęß<ĎşőrŰĹ˙ŃĎ=_ůŻ˙ăgć|ľ&Ѝ‡!D)%q‹•ęNş‚bł !`)¸ł±.`—˛ŘšŤĄ-f)”ĘřĹ7ýľí[nBžŽ{^:š)ŻwuO×7˙˙ěýĽ-YY&Ś?µ÷>9ÜścßÔ};ŃÝtÓ l@E1!Ś˘#ćSfţŁŽY盿fFQ% ‚ HNMčDçpsľ÷ÜtrÚ{ż˙Š{WX«VŘUçś{ú}ú·űÖZë}ź÷]«jUť]őěUťs$ęZs‚ ŕ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^Üüý˝čĐsň|Ä4,bѱ' 5IQöNËŘiÍ-§%xńVŮ5ĐŤSgá™g·bxĹjµ_ŔQ­V[źľľ>_Čâ};|ř�öěŮ‹®®r_%ëĹŚP¤ĹĂ® ˝ţ'‚ׯ‡b~n®őJ!ďă X"K´ýĚ3G°íčÓŘŮ[ĂĘ®jňą"%ŻłéŐX„?Ô'Ăg“¤ŻcX“FnĄ÷r-ŠEČKR±0Ďmx×§gNMclš°eu7z*¨U”¸řő˘Ŕű›¤îŢ[źś%ś¸8‡ł—¦ýľG­tłÜĆ€Á`0– XČÂXž Á6嵳EŢe_XĢΫu»O4n)˙fłń±1¬XąEbff—/]NÔţŕwŃ5ExÉöú×&ć¦0Sźó‡˛»Ň…Á®>_xĺçxË/ZÇNƇü^ÖąźzłŽńy7ncΓ®Ş·ÖŹ.7ţ}çÁˇż{ ×üÂmč^ÜĽ|iÔ˝ Ř…žžbµ7::ÖJą}{6JYň:!éáŔ"(·YĢ—ż<†| JüöMÂMiť°L"ŇćđëćqS¦>,bQďO3ŇâĐá],K„üáoĽďűĐ·ńţŹ?€F#ą2ËÓÇFđóđ¬Zُ͇qćÂ8ÎŹNalbZČ×@TqđUj¨5gÝjó ÷oŞzŻއ¦Ö™B‘©'dń-ř˙~űçđâ;nŔBB>żÓeů|·››ťs$ęZs‚ ŕ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\ĘĺXthŚąAy>b±čŘ“…Źš¤{ńĽHţÝéýcs_¶OÍáüŃ'qlýěÜą9!bń>Ţ*%Ţ÷9÷úťC‡b÷ž}¨U«( ^ÜZ­ őú|!ŻĘĂáÇ059á÷Ѱx˙zýŚÄ+‘ĺô©łćIlšşŚ]kĐS VcqŇ_Hua±ďsç«ÄÇ–Ǥ‘[IÇ}žŹĹ"ä%©ÂR±,…Ë*ń\ÇřLÇ/zŻśoŔ‡=‹ĹŔŁ'úaÉó>2 c逅,Śĺ Jý+Üf‹ĽĘľ°Ĺ ŻL| -‚×xbO(Ň­cllýýţĚE QoŕüČ…–úÜ»1vös1}t ÷ną=Ő ÎŞŢaa_Ň+±Dő”htŹs'öř­ć>¨[Ő3–BŃAč{ŰşkńĺSŕŕűÁľź˝Őîšß‡‘s°qÓ÷Fd17:ççć1îŽ9š‰49%ęĂü2+´Äű¨ËŰfKz[ěÇ"–D=iŚS‰ Ť:a™D6¤Íá×Ěă¦*L}XĢޟf¤ĹˇĂ«#bIŔ{ĄG­sńW­ZÁ›~ü|ď=×ŕ=řţĺľ§Qź Ä,Ńę,§/ŚářČeż¬B°îJšľ´î>đ#ż¦Bs¨6§Ýż(™żŰ/ďˇŕ˝ôü‡ź5ÖŻĆB ńŞ ÔĹ\7ĺóÝnnvΑ¨kÍ *€%sPľÍ˘Íď°śJD;®ĂŔ'UĐ‹KĆ Ťq07(ĎGLĂ"{˛đQ“čŰË´Ţi˝·#'ś7NÂ'Z•Ąß˝&^3Üs#§đĐ3ĎbxĹ@FÄâ]+ĽOôă_ĚrđY\uŐîÂľ‹Đ×׋™ÇĎŁ ř+Ě9ě~źőű}ęőş/^™ššjýëýâŮ'ŕşÓ‡±o°+ş‚śâ"Ó•UĚ’UĚW‰Ź1,ŹI#·ćŁĘG‹bň’TE, Ć•‹Ó箆ă^;˝•»ýkčÜv÷ZqŁżí}ćÝkŚ'Ňś©ŽaşoÜżćDuŔ`0 Ć• ˛0–/(őŻp›E,ňv(űÂ"ĽDă–ňŻUş0ßśCýÂ4h;02r7®÷ż”toÉfŹ«Ůl?8lgľq·o¸+{†’©›”™ľ şy‰Ü× µä-1µGú•=ŽD�á?“s˙ńVeąuĂőřę©qâźÁöŢď~ysüľś9ŹőÖ0>„‘ üý272Ť~÷Îa­R sŞ$şä´ú!~PG©›ąPnł%˝-öcK˘ž4Ć©DFť°L"ŇćđëćqS¦>,bQďO3ŇâĐá-b%*xŇl߼đk?·ţÜ‹ńąűžÁCOťŔwź9…‹S¸46…Ë“Ól>8¬ˇŮş÷  î@Ô1Đ׍ŤkWbۦµxÉí×á{_x6®[‰…†|~§Ë­+iAsłsŽD]kNP(™ňm4óÚXĎď°śJD;®ĂŔ'UĐ‹KĆ Ťq07(ĎGLĂ"{˛đQ“cOÂBľÄbCOvtcęä“xb`·öeD,Ţg`` !f9pŕ\uŐôö»úfo%§¤wxßQ:€‰‰‰„Ĺ«÷„+‘%ú<ţŘłŘ~äIlqęŘŐ?€Ş“?Wr_+Dq; bľJ|ŚayLą•tÜçůhQ,B^’*°…Á¸2 BíöĽ=vúz˙}™O5řwşî^WćÝOŐý „יƴ_ĎB–|”ő7Á`0Š YË”úW¸Í"y;”}a‹A^˘qËř;čvż€LĎĎaîÔp3PźŻű+ʬ_żÖoŘŔi¸sss­şúČ4}üQ\łj;¶ mHţô.ú”×`;ľęŠÖqŚl»÷ÂVď×jí°ń‡üÉ»p+şqËÚ«ń­‡GßÖ!¬żc›ß477ďŻ2łvÝk1‹wSńÜŮó¨ĎŐýňıQôcŔ_%&-<‹XâőHőAú˛%˝-öcK˘žÔăo/¤Q',“Ȇ´9ü:‚yÜT…©‹XÔűÓŚ´8tx)v˝"A˙u8â×wďzĐ©02ŽC}řWß˙<˙ł\Qo4çĹâq—Ďwc17łĹĚ+*€%sPľÍ˘Íď°śJÄfn˛ĄťF•ˇAy>b±čŘ“…ŹšÄÎ^&Ę÷®5ŰVe|˘‡pž(ăşá^ś97ŽÇÇÓC¸îşÝ Kôéďďo‰YĽď­žd۶íBŃčíí…¦ÔĂłł38xđ ćÝďó^ŚčuB ÷Z‰Xâźgž>ŚŢCOcĂŘn\3€ŢjřJˇ§v–ű>wľJ|ŚayLą•0U>Z‹—¤ ,ba0–Á ˇĺĆCáź­`¨G˝Ęh‘›+)XěÂ`0‹‹Ĺ»0eň¶YÄ"o‡˛/,b1ČK4n˙pYĺj·˙NńʱiĚŤĎřÍŢŻŇÎś9›˘čÂ{]ΙÓg}ŽfęxöoŔ¦žU¸vÍ®ŚĹ ˙‹÷Ĺ[}E&bńo>"v#Ňß®´xśĐ?ÝíĐ9¶¤Ű“"ďűÂć ¸fĺNśüäŚ={ˇÝť™Yś=sεÂŰÓçÚcëĆ}đ˘żŮ[íÍćLy‡1‹X Üf‹^ţňň1X‹¤S&‘ isřuó¸© S±¨÷§iqčđj­Ä’şŮ¤âđ@1Ě0==)™ßérx¶uś‚ćf牺֜ 8P2ĺŰ,ÚüË©D´ă 9 |R˝¸ḏ Đsň|Ä4,bѱ' 5I1ö$,ć$áwLďC·­ęÇú±ôyĎ>sÔýţ6“tLNNúď5ž�ÄűT]żŁGăÔé“…?ěócôő˘H\ştO>ů$Ť ž€Ĺű7±D}Śú|řĐ1\|ö vž>„ýC=Xף~•’t5JŰ)@Šů*ń1†ĺ1iäVŇqźçŁE±yIŞŔ"cécAD‡xt¤ĽW�ĘđŘŮ…ŹÉ`0ŚĄ^‘…±<AyŰ,b‘·Cٱčä•˝ ăUµ– ëJ>¤÷nNőÖz°Ş6‘GOaÓ‹vůMóóuś=3‚> Ł«+˙Ôí XĆÇÇ111•¨Ż¸A~ŕô̸7·_‹Šă$rI÷Ĺń´Ž‚ńňo˘9˛1ď—čBŃ/÷ÚCč´nÂ5c“‘b˘ę«W^…±ůIúŕŘ˙‹·ˇgUol|Îa`°CčęîRŽĎŘŘ„31Žéc¨^ ÔVÖüYT" '•«ţôeKz[ěÇ"–D=©Ç)Ţľ ť2‰lH›ĂŻ#ÇMUú°E˝?Í8H‹C‡×öuBIݦtv—Ç.ŁŻŻ }Ś\I”ýqvŇç=ů|·››ťs$ęZs‚ ŕ@É”oŁ™‡Ô†í*ŽT"Úq…>©‚^\2ćXPhŚąAy>b±čŘ“…Źš¤{‚_‘·«ŁUŃňś7ôváĆ•˝?s�Ouőâ`W»wooż¦Ő[Ą3üD+łxmŢ*i—.^Äôä¶lÝ^Ř«†Š|µ'\9~â8._şä~GďňWa‰>ŢŹ&ĽW;Ä;Ţż'ŽźĆ±§ᆣŹa[Oű{[ßd«±8˛'ű>wľJ|ŚayLą•tÜçůhQ,B^’*°…Á`ÄQ¤^ćËG‚ű±7¬›/}eoőO8óĺŁ^Ló1Š ú;€]a0ŚĄ ˛0–7(˝Í"y;”}a‹^^ţ ˝¸(Cę碌ú°~p|ó1¬Üż}«Bň…)ŢÇjôőö˘ÖUsođUÝ?¶É˝‰ÖÄü\Ý˙Eąhuďňł˙r3'ĆqďÖ›Ń]éjĺšîKpŁL0ĆŢ *–ÇqňćE´uűAb@Śy\Đj/[í­ôróÚý<ýţí#¸úßÜ‚jO­=>ă“ţ§ŰźŢp|Ľ_óy"fłáŹĎŚ;>ó˘ńqý˙ăÓŘŐ· CÝÉś“É're‹N ±čĺ/Ź!őľ( ¤S&‘ isřuó¸© S±¨÷§iqčđÚŠXň8Ľk QgϞǺ5ëP«ń/˝tŕý˝qâä©°T‘Ś{ň(pRćs3[QĚĽ˘8P2ĺŰ,ÚüË©DŠ›Z>©‚^\ęŁThŚąAy>b±čŘ“…Źš¤`ű„Źř O\Ěâo íŁqxu× őá‚ű]ŚN<Ç«5ďîƶm"ďă˝ćĎűôőőůBď3??ŹžĆĘ•+±iÓ÷ű]ť ×Ętľ8őĺË—püř±€Óýî Yjµš/`‰D,q1Ë©SgńěĎâÚĂŹ`Ms/X;ěż‚ÉLÄ"‚Óţť¬Ďs"Ĺ|•řĂň4r[Đă^XÔň)Ü^âŁÜŻKîÁ`0ňĐú$°ŕŻ!ŇEĂ˝Oů…Ă}ţg9‚_%Ä`0K ,da,_Pz›E,ňv(űÂ"ĽDă–ńĎćýŇju÷06ő¬Ć©O>‰ť?vŞÝÉSµ'Ä7|•ÎčĂgpćľĂ¸}ÓuXŃ3Ř^%źśL_śpŐJß,Ł–Ąň8AtĂÎI<ň ÄD"͸gĹ÷čŞtáůëŻĹWO=„#»^·?s#ŇňľjčÄçŽŔą�lظֽ™Xmĺ+âh˛Â äŠXÄ’Ţű±%QOęq’Ĺ( ¤S&‘ isřuó¸© S±¨÷§iqčđ–!bńŠ•Šf8wn7]ÄşµëůĆ•őF'NťŔČ9oĺ·~8•äuX5ßíćf牺֜ 8P2ĺŰ,ÚüË©DŠ›Z>©‚^\ęŁThŚąAy>b±čŘ“…Źš¤{Ú×Ĺř6‘sükc\ĚrÇŞ!LźEóřcx¬Ró*»vmËXĽŹ÷JOâ Z<áŠg;66ćŻ:şÖ˝NŻYłĆąŘŔ»fu˛şËĺKqćěY_Đé‰W˘Ź'bńňžh Yâb–'NăŮ'âšĂŹbŐÜîY;„žJVÄ’É7Ő*±ä‚óUâc ËcŇČ­¤ă>ĎG‹bň’T኱,čĹ•Á¸ň±ţ©QT=§{˝©Ôj¨TÝO­>Ý C×Ü,úfç0?3‹ůúĽݬĎ7Ü;nŠŕ]·ú;s‚ţŢĎ`0WXČÂXž ô6‹XäíPö…E,y‰Ć-ăßΫő 6ŠÜ/ î’ë×íÂŽ<“źz[_qťűeĹţ—g“OŤŕđ'Ç k®Â¶Á ™\“«˛D,1[żŢŕ8¦6«żíýŰ<äĎZ|c§˝ÝŽŽá®!_ĚňÍGż‹Ł˝5lĺ^ë™Fľu'żrwlĽ }µŢÄńĺcy‹…b[€E,Y±‹Xő¤'Yڞ@:eŮ6‡_G0Ź›Ş0őa‹zšq‡Żęxđ®!ÍĚ(!ń´-Ăá·5Q«őřÂŚ'9‹®ż sósîMÂj°6YĄę ]ářąăĺŤéĺŃ˨»7Hź|ň˘;ÎýčŞý_ ÖmżđßÖMÂĚÜtd~'ęZs‚ ŕ@É”ołhó;,§ŃŽ+ä0đIôâRÇĄBcĚ ĘóÓ°EÇž,|Ô$ĹŘÇÍśÖĽČ^Ób–ôФ"ŰšűuÍo|îÜ®=öžpŰžq˛íÝ·#!dńÄ őzÝ˙xbĄM÷ˇť÷ńĚŤŚśő?kÖ¬ő?^}Ůđňň^stöÜY7‡9_¸â‰l"‹'¶™™™i}âBďsěčI~úö{«§Ćp÷Ú÷;­řű}reÁß ’})ýk…óUâc ËcŇČ­¤ă>ĎG‹bň’TE, ĆŇ‚îŠ**»ÍŹ^†Óă~çęé†ă^wP«zżČÝk”ű…ä^#1;šťŤ]¤Ś řďłÓn¨ţn,(¦Šy«Á`0®@°…±Ľ<ĹmE,R~Ŕ"“ĽDă–ňo˝W\Á?ŘŐŹŰ7ďÇמzG¦ÂöWßڀٷŻ7çď;Ž“ź{†7c˙ę«2±D"–ĚĂ&jó™Çâ.¶oÇ5íţĂČřk™<ë(ťča¤űŮĐ·7Żą÷űQÔÝo3W˝úTűĚ.iÔhâägŹŕä׏ăÚŐ{±Ţĺlݬ%ůˇ…pýéË"–ô¶ŘŹE,‰zRŹ“N_ʉĘ$˛ˇ|źtA'ŹĚ}XĢޟf¤ĹˇĂ[äJ,‘¨2~\vuőşĄfđäŁpňÄe¬^˝M÷!ÚÔÔ$&§&0çÝŚŕ8’Ű€b—«L};Qźýăä,GŇ’ÝHU 2Ô·ÚcżNóĐőôD»üëńéÓcxüńqlÜXőÇĐC|\“[í óąŮ9G˘®5'¨�”ĚAů6‹6żĂr*‘N榑OŞ —:ć(ă`nPžŹ†E,:ödáŁ&)Ćž„͇_űÚ×Ű4z܇n/]·ź;7Š=„§ęóx˘^ÇŐW_ĺ X˘O$dń„+Ţ'ZťĹ­Dő.śÇČČ9ô÷`ŐŞŐîřµC‰.ą'(oK/ŕňč¨/lőřŁ<<K$®ńV]™u˙^H YĽúCŹăô‘¸öČcžĹÝk‡°®»ýäp%ĆŹ"I1_%>ư<&ŤÜJ:îó|´(!/IXÄÂ`\9P WŇŻrĽëFoŹ/fqz<!‹ű©†B–†'dńD,U˙ÇŢ«Ó)ţ×N]nવU7…˘™Ĺh4ÝďźnĚĹ€lŐ^Í…Á`0,da,_řđ±EŢe_XÄbWjÜŇ+­ŽÇh;ý ¶ČwĂŔÜľéz<xâi<óÎo`Ă÷ěĆęçmSË_}ÄűczúřNîLźĂŢ[qÓş}‰\śL.NP[R„Z¶€(oKĽN(h‰ĺ–şDżôÇjŰĐFw·yâ)<vě;Řú˛]X}ý:8UĹę,®űÄáQţÄÓ»0‡ý«wcďĘťíŰ®±Ýćdúâę"[‘ E,ém±‹Xő¤'ťľ” •IdCů>é:‚:N™ű°E˝?Í8H‹C‡·¬× %g•Ţľč[‡˙ű®Żŕ×ţ+°cűZ0ä8qü"ŢűŢű10°Ĺ}¸¸ŃąÉÉ™ďvsłsŽD]kNP(™ňmm~‡ĺT"EĚM-źTA/.ŔQ"4ĆÁÜ <1 ‹XtěÉÂGMRŚ= Ůď=q´˛I âľńr˝U/Y7Ś/ŽŚa˙±GđLłŽ‡&gpő5WaĹŠ¤%.féqŢyŻď‰„$‘ť·BĘ©S'pň$ˇÇ}Č7Ř?„ţÁôőöůöşđ¸<ńÉääDđz ©I?˙@ĚŮÝZĆ+G‚šÉÉI_Ŕ±Dź±±q<őÔaĚś=‡Ž>Ўąi_IJˇGOÄ’yĄä¶‘bľJ|ŚayLą•tÜçůhQ,B^’*°ĄŤŁ';´uęĎ|Ě—†L°"ŞOóŤŚĺUîő¬â~śŢpUďúV m˝ŐXćŞÁk×=‹{}DŁÔ»Í'ĎVpáBóMĎľ1Čô\Ďś% ÷VĐ]ňÓĹ9·+c3M·;ĹťDNž­ú÷Îç)»˙âo)dáůÁ|‹ÉÇ`\É`! cyÂ˙ۆE,ňv(űÂ"ĽDă–ńo畹éGYዯÎo¶­GWľ{ö�.ţ.|ő†®ß€Á]«Ń˝z�]ý5…šo`nlÓÇĆ0öčYĚžťDOµ Ď[·»VliĹő%ř˛Ěx9Çq|őd7[ŰţCţŘŠ*@Ö¶GÄWnIůĹ-Ű7ąýěÁ“—ŕÔGâĚżĹęç­ĂŕžUč^Ő‹®÷F!5Ń'Ě]ÁıQśŕ ęçÝ/[˝¸vílÜr'E,Ů\ťŘkDíém±¤·Ĺ~,bIÔ“zśtúR&HT&‘ ĺű¤ëę8ydîĂ"őţ4ă -ŢÂD,NňúăÄÇ2ü%\Ĺ˝nܰ‡Ž\Ć˙Á?ŕž{ŻÁM7oĂĘU]`™™Ç±ă—qß}ńŮĎ=Žî®Al޲Ç˙"ćéýzŠlĘ߉şÖś 8P2ĺŰ,ÚüË©DŠßZ>©‚^\*€caA”ç#¦a‹Ž=Yř¨Iб'a!ąş—Ś*Ýć$ݞb1‹űéŻVđýëWŕ«ĆQ9ö8NLŹăŃŮYl۱Ű·oj‰WĽĎÜÜś˙Ż'‰Ä,ŢÇŰöVE‰Żäâ}.Ź^ÂĹKü×y1»ÜďŇžđ$XQĄćż’¶á¶yúnBŤşËíĆđVcóÚ˘O·Ëď‰VâŻŢËÇşx˙zź¸%úwäÜ<őÔ \:‡ëO<ŤˇćĽ˙ZĄ5±§}&"–đ}bľJ|ŚayLą•tÜçůhQ,B^’*°…ÁX­ŇŐÍt;î˝a÷ŇÝĺ‹Yü× u…ßU˝W UBßzNݵ›«ę LUźFŻË­€ ›Žž°äâäâ¬’Ň *|Bb0Ś+,da,S°EŢe_XÄb—hÜ2ţĚřm˙áKşşgîÚú<<{ń8NMśGýáK¸ě~3ĘôĹ[ŹdóŔZě[µ +ş‡¤±ŠDܢČ+q3Ť¤¦áżˇ“ZQ%aKńZŇ+·DŔR~!ßúţ5îÂÁŃc87uă÷]ŔűÉä>esoAbíŔě[yúj˝a{VÄ‚D_Ô‰äp°%˝-öcK˘žÔădş/ЉĘ$˛ˇ|źtA'ŹĚ}XĢޟf¤ĹˇĂk#bI?NS­ÄŇ*…OÖ*N;¶Ý‚§Ç׿z_˙Ę‘ Çěܤ{ĂnŻ~í5Ř˝WoŐ–ŃŃIüŐ{F}Îqş f‘٬ň[H÷8٦ű@mĘ˝×ŮÄĎţÜ-yö<>ü‘§P«vˇ«»?I^GűűÖ`ĂĆëÜb5¸ţĺ=?ńć¦ŕy\HťľŘĚďD]k̨�”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8Ô±Ay>b±čŘ“…Źš¤{4˙Ž”Äȳͻ܇jßłvßş8‰ęČ OŤâŮú<ĆF'°k÷ÖÖj,‘`Ä®DbOŔâ‰YĽ˝Ź·J‹'\ń„,ŢżńŹ÷}şîňg[ Łdx˙öxżrw˙Ť Y˘Ź'`‰„4qqM$b‰ţő,““8rč$Îť=Ź-gŹbŰČ1¬¨:¸gý0b«†šŠXň~ôíö éY&|ŚayLą•tÜçůhQ,B^’*°%‹[ě¬Gż|·őg>ć“AgEß`źąŮ:.÷Ďa RS«–HĚâ‚fÝë‹'ŢśŻ»Oúj JµőÚˇËsŘş‘°b°ŠÁ&şç1ç6†Ü1Řş±Ë÷¬_ßČ\c˝żâűŁYx~0ßbň1Ë,da,_D_”)[—ŘfKň¦¶ŇźE,˘vŃqć#Ťď?7K˝;'ą*KxcÍű×ű%™SĂţ5WaĎŞm85~¦/cr~óŢr‘üp}µn¬îĆĆţµîćýŇľ´_!”cGq~ňăX<„هüAK‚#ľKĘO&hqë{«=¸nő^ě^±g¦ÎăâĚeL7ć0ßścV0PëĂŠž!lę߀ŢZo2?’ß_iŮ8rÁ‚“xÇ"–ô¶ŘŹE,‰zRŹ“éľ(™ó˛ł“D>é:Ę·Qrą‹X$6¤h—Ö‘‡ďÂĽN(ůúş¨µć^Gwl}.ŹžĹčřY÷áÔ´{O°¶“˙@¬ć>Ú~ŐjčâÂ…QĚĎ9ţ%$.bIŻ\–Ě5ąGtNű´ř(âŻřgŹ97ö… —µ…,Wí\ĺŻRÝpűÝEmćŠ{C´«§ë14´ˇµK<şlnŠű§WŽ8Ś| šT�Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR hŽŽˇ y>’łQ^ŁqŚNěÉÂGź¨3{˛đQ“cO‚äaŤÔ‰×µíbĘÚWÝÂ × bM÷,˝ŚľCâŕĚ><4:M›×bÇŽÍ-Ń÷ńÄ+žh$.bń>Ńk˘W˙DŻŠ„,ńO"OÇI|<áŠ÷oôÚ"/fúGq!K\Ěrúô9>tµÉ1\üi OŹa[7nYŃŹžŠXÄ’g±¤}JłřhQ,B^’*°…Á¸2 ZiEVź®ëďëĹÜě<N OaˤóŽw­rŻuNOřú<÷ĺ^Ŕ@•đžmôqqjmWą˙ zě¸jhŹN®Çs»VŚ»˙ďGwOöőiqŠÍë Q<XČÂXžľ(S¶.±Í"–äMmĄ?‹XDíů+±”_ô^qˇřĹżĂÜÖň-;†7úÓľ8 ŠľĄí׹%ľ|Ak×Pf%–äĆ–_ř`_tÓß{ÍĐŽˇ-ţGĽ+ťK|śÓ<{'ż/ím±¤·Ĺ~,bIÔ“zśL÷EŮ;‰şX%‰|Ňu”oŁä s±HlHŃ.­#-ŢNE,ŢőˇI”mwňsŁŘS5O�˛bĹF˙Ó΋܇ZsžÇšuutŐ*ĐĹąsăŘľőôt ·oE67Q™ôçQŢľśžu°Mâě™Ó¸ę*hˇ««Šç?˙ů8s¶ŠŢŢ!÷`·`™¶°4şą'››Žäú™>ćqäŮčÍ *€%sPľŤfRëů–S‰hÇrř¤ zq©�ŽürŃ Ž ĘóÓ°EÇž,|Ô$ĹŘ“°˙wdëR*ˇłPňR·÷ęŻęÁšž*îż4…ŢcŹâüĐZžÝŤó#—±mŰ&lظ¦%`‰>yB–č5@ŃżqˇJ˘ëD-±K´‚Kü5E‘E$d‰Vi9?r ÇŽťÂÔضś?­çŹŁĎíéu+°g G±úJ0z~FŠů*ń1†ĺ1iäVŇqźçŁE±yIŞŔ"ăąľľLLNa|c—Obułä^«Ü‹”·\¨oă˝*ĎŻóŢ×NíĎHw“;»ýďwĂĂţ,îŮvŹ=˝ ĎUx×Ő;·\v·6ř"![ť \ caÁBƲ‹X`Ô±ä%·Ś¸˘ %oŕĄýĎÖb7óâÇVĽ˝őDz_Oą}qŇ?Űô% ’XE‹Xüí(˙Yűnf|Ň«ł$9’_â.Ä»˛’卯“±w2yúŇ^)†E,ém±‹Xő¤§NöE;‰:Á”•ý:Ę·Qrą‹X$6¤h—Ö‘‡ďB¬Ä/EçüV«wÍkRxÎo_»)l«×çü×őlÜ\… Žťt¬ő Rëć‘9żĹVA1;®(łjŐn4ju=6;^mlŢRÁé3ŢĂĽy?÷d}KŞĘ¨lĂ‘¨kÍ *€%sPľŤfRëů–S‰hÇrř¤ zq©�Žüň‚Ă&‚|Ä4,bѱ' 5I1ö$,h>ɉ!łPňŠG1{ź2¬XŰ]Ă˝ëńÝŃitM^ÄĘC—qbí6ž™ń…"›6ŻĂćÍëÝrł K\ȉXâb–¸%úq“+µÄ…,Ţżžx%.f‰ YĽĎ…ó—ýĽ&Ƨ°vlל9Śú¬ŰŹ*ž·b+»Ş©±oÇÇJgś…¤Ż",ŕ1iäVŇqźçŁE±yIŞŔ"ců@gU–Ő«V`ăĆuřĆŮCřŢą~ôλŹóf* Fx§Ô˝&yrŻUŢͦ©ŽĎ®Ĺó7íÂ*׿Z­  7l«âö‘c¸ň:<ńµÇqÓŽŞ?ÝÝ]‰6§0 ĆŇ YË,bQ_XÄb—hÜ2ţĚřĹŰŢ*)ÍĽvOWX¤·súâÄęÓÇqűŐCPÇói‡Ťż ěB‚#ýÄ^9”×ćkg™M)OH"xČOńüĹöԙŖlłE§”~Ç·InoŰo1‹X2<”oŁä s±HlHŃ.­#-ޱnRŞ/ű«»ÄjęÍyµ!Ëôô,.]t°nM]ţ+핎Vbq2•U/ćÜ ÎźŻ`rr=ĐÁ¶-5<đŔśż MüĽÔŽ+Ď3>Ž2ˇKó;QךT�Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâęĎo9‡¤,r^ŘÄ-ČGLĂ"{˛đQ“cO‚ľ%ýť)ŤŚ…’âĐ( |Ľ:ď</X9€}óxb|}çŹbÓ…8łz NÍĚŕäÉsX·n%ÖŻ[áľH%ľKzE–¸%ZŤ%.d‰ţŤD,éUY"1‹'\ń¶'&¦02r#ç.bƽƯ;Ź=çŽbĹÜjUě^ŃŹÝý=Ţ›ýMŚă&&hżRóU„<&ŤÜJ:îó|´(!/IXÄÂ`<7łx"”ë®ŰŤă'OăsĂ‹ćöausu `ńPo€ććÜď}ž ĄŽ •I|jŐY8«°˙š]ľż‡øćęťxŮ™PéÁăs×âąďšzÇŞřľuĎ`ďľ[0<4¨\Ť……- ±tŔBĆň ¶YÄ’Ľ©­ôg‹¨ÝDÄŇZ•EŇŃŞ,‘ybĹ”űâhÇŮ›h9ÇqĚş6ů@Ý<ř‰XÔák”H*hQ ’ur‹“cď·+D,‹XŇŰb?±$ęI=Nťě‹Ň@˘"Éš…9±%ŹE,ťr´(”ő‰=a‹®QÄíÁüj4çAMÂŕ0a`P˙ë“÷J„®®µ~ Ç©´óHçć‚Ř5ÇIŮČĘ­kĄ`˝e­¶/Śb`@ď}čU¬XŚŤ{÷ęîĂż.´C„g[ÇÉť›ů"–śó5ݍ�”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$e‘óBŔ&nA>b±čŘ“…Źš¤{ôE,qŹĽÂ×ç*Ä,­Š°rCO—żBËÉY™šĂĐ…cŘzá8N­ŢŚłS›pćôôôtcÝúŐX˝z…{Ýęk˝J(ýjˇHÄ]—dB–čßô«…¦¦fpůŇ/`™F­QÇÚËg±ĺ ×çĐSq°y × ő˘7őę"±ű”f/đѢX„Ľ$U` qĺB´ňJĽM…Z­Š—Ü{;ľřĄoăKObÓĚJl›YŐŤô4ŞmLá<MŕÄŠ‹8˝bÎě�^xÇíľ_[·lÄŤ×ďEďłOâĆÉSxbćśš[Ź©¦÷R<ý×ç^ đî T¦±ąű®[ő¶Žăę}{±}ë¦Ěu–E+ ±´ÁBĆň ¶YÄ’Ľ©­ôg‹¨Ýf%á+†b~Žő„}qbŰdĐGó8n˝†(•—°/҇˙ůůĄĄŰ5"űÄ׺ÔĹĄÍÔ§WkIĆÎĆp(é'˛÷Ű5VbI uňm[Ű,bQĆ)Ąßńm’ŰŰö[̱8"–Ä<*éŮIÂöTĺŰ(9Č܇E,R´KëH‹C‡wˇ_'$*'V?ó+˛7őyßgÓł× ť=;ŽţŤ Kü&Yp:Y‰Ĺ¶b6!§»`Ξ;‡mŰő„,¶ş}}â)řŻň„,ńqU‰XbUFeŽD]kNčď9Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR’˛d?”›€ůiXĢcO>j’běIX0±Ä=óB‹ÚebŠ•Ńţú‡Ş{­ąz°Wő÷ŕčÔś˙ľ| ».žÄĺî>ś^Źł“qâx·/TŔĘ•CěG__Ź/tIżR(ý *ýz!oĺ•©©YLMNáňčĆÜĎü|•f+&/aßĺłX?~}žHÔŤą±ż{z0T“żFHVç¤kÂ~k?K#Ĺ|•řĂň4r+é¸ĎóѢX„Ľ$U` ±ĽˇóЎţţ^ĽřŢŕ‡žpŻO“xgöŃKr7»×ǵ®wŻ…˝.G#iăňÝxĂ^tuŐ0pô$öă(áŇŽ\ ľĎ®[ÝDčĎń×áőkšóŔaçÎÝţ 5:"–<a ‹^ cáÁBĆň ¶YÄ’Ľ©­ôg‹¨˝ř× %ýŻ2ôĹ cÉŹăÖŕDZ“#,ĐzČë#ĹnoćĄÝJ¨¶Ä_qÔŞ§ĽÝáDA~ňxeţ™m±(ă”Ňďř6Éímű-ć`KƇňm”dîĂ"‰ )ÚĄu¤ĹˇĂ[¦%ţ°,ăďEçóÔn]ÚůƜϹił™ĺä‰ ÷&a/şj=‰kK"/©Ĺ‘ô?e/Çčú^ëęA“š8vt·Ţ mlń…,„z}Îĺč÷™e«¬¤ç¦Hč?×éplôćŔ’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮĄĂ&`A>b±čŘ“…Źš¤{ěE,ş>™× !+f ę’v©K0ş+ööŕŞn›šĂńé9ô5f±îÂ1ě9†Ë}¸Ô?ŚËc«püâ 4cŻňâőôvűŻU¨ů+µ´Wf©×h„+°ĚÍÍczjÖßr" LŤcÝäe¬žĹę™1ô¸×ROĽŇU«bKovôwŁżšýőşŁ(Gă ł<ÄďPľE xLą•tÜçůhQ,B^’*°…ÁxîB$fąëE7ăĚ™ó8qňFG'ükXww—/ćÜĽi6n\‹c§ŞR>ďsݵ»±yó:=r .ŽbvnNşbŚ Š.Pyש˘ĎšŞČL˝~öötű+·íÜą+W é‹E ±¤ŔBĆňFë©‹X7µ•ţ,bµw*bÉ®Ęâdl˝Íhu”Ě .ťö%Ă«—Ş5śLŢ@^Řüv›âőNYô ‹”‡—÷‹rŠ©»/ȉňc'óŕ-o›E,Y±‹Xő¤§˘÷EHĎB¶§ę(ßFÉAć>,b‘آ]ZGZ:Ľ‹ľ‹wťm&ÇÝ›U™ßoE7ÝŹ÷kď çĎŕÜą9_’7ŃüX\‘łŔşµîĂł®^qá9)Q—¶É”cö™1ČöżVëuÖÍâěą&üh`E9ɇůW«]nź7†śE‰X ĹˇĺŃśĐÜ˙ą(™ňm4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ýP:lä#¦a‹Ž=Yř¨Iб'aˇ‹ußóÄ,ńů&\Á%ĺ[s+v ôřźńůNÎĚăÔô<úç&±Ůý4.ťBĂeëîĂ„{Ýťp˙ťîęĂLw/f+UÔ+54Ý©¬dViÖQm¸źfÝő9¬śťĆ@}słX1;‰š{­Ż†"T׫{ş°µŻë»k~‚|3ý‡hÜXÄ’ö)Í^ŕŁE±yIްlE, ~e0yŻŠÚuüĽň¦MëüŹeüuz˛«VcŐMö´O$ŚŮľą"P_|ĽŇ|âUVň9ňętÚ QXČÂXľţćbKň¦¶ŇźE,˘ö˘Vb ^ŻC‰X¶qAK"?¶§_18ŽË±$mÚwýÄ±× …Č‚_űf"¸ě¨óh›E,YŐ~Ë˙$‹XĐaN‰c»X=(&ůP6¨±‹X$6¤h—Ö‘‡ďB‰XŇŹĹ(ĺ Š!Ľ¸×ťţŐ~Đo|őff'4Ć1ř˙šŐ»Ń׿ZĐžě„ůńť­ŚźCăÍŽSE_ßjôîÁż|ţh.G=˝CŘ´yUâ†_çsłW%ęZsÂâÜ”á@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\*€CR–ě‡Ňa° 1 ‹XtěÉÂGMRŚ= ĹXâl¤đ‰Y"9GâÁś€&˝:Kdŕ˝ĘçšÁŞ˙ęˇËóu\śk¸ź:.Í7Đ=?ŤµîS—>&đÂwU±ş»†UÝîż]5_H#ë_:†#ĺÍŠXtž‰±…ôC‹bň’TE, Ćs2áIëGÂ6„mrÎ8T?jůÄ…1¦\ťÂD<â¨®Ő [Ş0 ĆŇ YËŃßQ,bIŢÔVúłEÔ^ôë„<!Ĺ; č‹/śpⶤËɬşbr;écGŕV„…bŮR¬&~KSĆ˝¦¶č‰XÚż,w›ÚŹE,™m±‹Xő¤§˘÷ĹB€eżŽĚ|HÄÔ‡E,R´KëH‹C‡wˇWbÉüę;l N í'kńöčş’ÉÍ ¸şý×ě@5‹ÁÁuÂĽD"–řŠ'NĘ'SŽUĆEť™8±ňĐŕZLNŽ´ŰUs“šĆ"–ôÂd;‹Xrm4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ýP:lä#¦a‹Ž=Yř¨Iб'aAóáŚaNÁ÷0…Mű’›o˛W %실ŻŮ«şjţg÷@Źż˛ÚD˝É:a˛ŃŔTى)·ÜtťćÝ˙5(X}Íóó„)5÷«]Ő-ôT*¨V1ŕVô{Űîż]ЇYNúâśĘ?Ů'A-E,eŮ |´(!/IXÄÂ`,O¨VeQŮä·A;‡4l)¶Â™0Ć–ËDŔůčÔ™´3 Ł<°…±|Á"–äMmĄ?‹XDíE‹X"żÖk†,ú­Ô’Pq ľm;‚~‰»Xś%ľť´¨… ‰ŻZáĘ*mď`Ă_…&]ËIwú˛%k#öcK˘žÔăTŢľ(¤(űudćC‚ ¦>,b‘آ]ZGZ:Ľ‹ţ:ˇ°ĽnäÜpíŘzs‚—lVU!Ę­(9Ň•Ž“ĺäĺ˝Ţh«›żZTńs±Ľo˘ą™/b)f~'ęZsÂ`˙K9P2ĺŰhć!µ±žßa9•v\!‡OŞ — ŕ”%űAVWlČ ň‘źý°0y‘EóČKh˛Dňʵ š_,ű!şf¦ľŐŻĺÓŞo}H2d-Ôćń‹‚€Ţ·µáZŐýxĄšqt9Y§°MćĂ"ˇOiö-ŠEČKR±0ËEY<č­¬˘ľ¶Ĺ9mňYHčŠIL, ÁXú`! cy‚E,É›ÚJ±Ú˱´nvQL´QF_âÔŞĽhńE,ńí`ŐšvŤşű‚ś(/‹X Üf‹^ţňň1({_”űĺśeżŽĚ|HÄÔ‡E,R´KëH‹C‡w1E,­_{ËŽ©ÔÝ˝¸MâÁś` ŚVQ‰:ádĎyÚeÍy•›WŞRd“= ’™:ĄĹQrŘÍ őţWs dĘ·ŃĚCjc=żĂr*í¸BźTA/.Ŕ!)Kö¬nQa“Ć> Ŕ"{˛đQ“cOÂBą"–xR:ˇ‘ČN´:KP/öI?‹"ť“`^~űĽg^NN G6î±”e/đѢX„Ľ$U` Á Źč ZD×MJŢĘ'6\ń‹Bî5;§‘Wca0ŚĄ ˛0–7H±żą“j'ĄżŁćOÄbK~Ţ’ĽDűúy©c-Ž%Ţ—Öę,(°/ńŠĽI,qŘňE,ń‡üŢ Ŕf¬EĚQž%ČŔɉ-Ůf‹2N)ýŽo“Ü޶ßb±dlČ̇AL}XÄ"±!E»´Ž´8tx—ÂJ,Ţu®™g/ą Hcóc3Ú sźxąĂyĄĎ!Ď3=7ý›«BŽx™E,ÔGŽŤőüË©D´ă 9 |R˝¸T�‡¤,ٲşE…MBű(�‹XtěÉÂGMRŚ= #bIGSÍ7Ů/Ä…«łD>s·| RÝu1ť©"qŤ¸ÍÉ÷cK9ö-ŠEČKR±0Ďč®p˘#V‰‹,tWMÉ»ć-…W´ˇ% í@Ŕ˘kĂ`0ŚrÁBĆň)¶ă7wRí¤ôgKĽÎ¨/JŰX Ń~~^ęX‹/bißsÂzÂB‰XüUF$íâ° +b‰ę“BJµ—#biżâE,émĺ~#uśRúß&ą˝mżĹKSIJP7DaXÄ’ÇÁ"–â8HźÚ×zÇ|bOÖH@f~lFdî/w8Żô9äyFăE,*Ę·ŃĚCjc=żĂr*í¸BźTA/.Ŕ!)Kö¬nQa“Ć> Ŕ"{˛đQ“cOŠXâŻÎBźĽWµľ˙ U*”Ť‘]‹“4_Ŕ’ń×±#Ĺ|aŹI#·’Žű<-ŠEČKR±0Ď=Ľ®ÇTř҉ř"Uq}Y÷ :Ńđ*+ ±|ŔBĆň)¶ă7wRí¤ôgKĽÎ¨/JŰX Ń~~^ęXKGÄßv¨Ë… K˙8vZ¶ňăXÜĹűl‚Ł„˘E,ńŰŹ–ă6ęÜŔ"RÇ)Ąßńm’ŰŰö[ĚÁ"–LĺۨĘé±ÓăČžĽŚă"ą˙Ęá`Kq¤ĎˇqLeęâOÖ ĆQZ^f"ÇňŐH6ó;Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,Ů: ›4öQ�±čŘ“…Źš¤{OÄĎ ©á#[ťĹóqçÁ-“.ĺýÝ,AJŰ©”A+)˝~°EÇG‹bň’TE, Ćs¦b–6>qPÁ7Žl5!EkItĹ)EŰ1 Ł\°…±ĽA‚ířÍťT;É|ZŰŽ˘=‹E,ůyKňíč祎µ4E,éľ8)ˇ°Eq;Â}peŠX’_ł* щ(‡Côŕ--\‰oł%˝­Üo¤ŽSJżăŰ$··í·E,™:Ę·Q•Óc§Ç‘=yÇEr˙•ĂÁ"–â8HźDq%GŰRľ‚‹vů9-bq„ů>’şÖś0Ř˙R”̡8f4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ý Ă±ŕ°I@c`‹Ž=Yř¨Iб'aańE,‘iđMm›YťEŕ#|íP: ´{¬ÄCP2—<8˘/š2ŰT R[ ó2‚ĺ1iäVŇqźçŁE±yIŞŔ"a#–Đy县DWÎ6]Ćd¬YÄÂ`0K,da,_`;~s'ŐN2źÖ¶ŁhOÇbK~Ţ’ĽDűúy©c]"Q,'“‹ř8vTyIÚĹa—žE¶KZâÄěťL]^<±¤·•űŤÔqJéw|›äö¶ýs,}Kܦh¸YÄ’ÇÁ"–â8Hź#çR˝b(Ţ˝>'K*ăĆËš"–xŚx»“ŞÚÄĘMŚŹÖÜ”çq2qŐś,b±çȱ±žßa9•v\!‡OŞ — ŕ”%űA‡cÁa“€Ć> Ŕ"{˛đQ“cOÂÂұDzŽÖę%y¶i ©°yFçîC˛x {$íIm•Ä“Fn%÷y>Z‹—¤ ,ba0LVfIűĹQ„E$ŕĐŚ%‚)ZDbĘÇ"ÁXZ`! cy‚Űń›;©v’ů´¶E{:‹Xňó–ä%Ú/ĐĎKëʱdŰ‹=ŽĹaŻ‹śĂ\8!Ź-Ůf‹ć>d :ĚIz,IćňB€E,y,b)Žô94Ž)§57)7Áx«‘¨E"b‘‰V2ó*±Ô4! ň<ýqtD>yĺ¬C1óĘ`˙K9P2‡ęĐáȱ±žßa9•v\!‡OŞ — ŕ”%űA‡cÁa“€Ć> Ŕ"{˛đQ“cOÂÂұÄá@&4??R=K LHEk…(.€"źôđ«ňFÖžô,>ư<&ŤÜJ:îó|´(!/IXÄRŽž¬˘tęĎ|Ěg ď;رSµ‚Ä(ÁżEńE(ŞżńüŠD<?[1JÜŹŹgć[N| Ć• ˛0–7(ő/‹X$\(§/JŰX Ń~~^ęX,b‘µ‹Ă˛EËŹE,šűE,č0'é±$™Ë ±äq°Ą8ŇçĐ8¦âuńŐYŇĆy<ŇUTü jÝ™Ů@Uîp^Ĺ9śś<â=H·ŰÍM±PG96Öó;,§ŃŽ+ä0đIôâR’˛d?q,ljěŁ�,bѱ' 5I1ö$,,mK„ÜŐYd>Ń!«3y!ˇÄÍI{¤rc´b9>{Ň·nůĂň4r+é¸ĎóѢX„Ľ$U` ÁČC§Ż ’ńĄq%˝BHť¬¤Â«°0 ĆŇ YË$Úf‹ ĺôEi‹!Ú/ĐĎK‹E,˛vqX±hů±Es˛ć$=–sąL°%ŹE,Ĺq>‡Ć1%®s2ÎćÇf´Ać>ńr‡óJźCž§ÝÜd uÄ‘cc=żĂr*í¸BźTA/.Ŕ!)KöÇBÁ& Ć> Ŕ"{˛đQ“cO•!b‰Ă±ńIŻŇbŘ*¨˙Ęç\9qXÄҡ˝ŔG‹bň’TE,ĺcÇ–lýňÝÖźůŻ,>ÁIŃů9Q)”ŻÓüҢ“ĄĆ—ó1ßbň1Ë,da,oÄoîP˛>}s8»Í"–xťQ_”¶±˘ýýĽÔ±XÄ"k‡e‹–‹X4÷!‹XĐaNŇcI1—ËBÇ4Ă S±HlHŃ.­#-Ţ+YÄŇŢíGjćÇf´Ać>ń2YřXqČó4ź›N©şÖś0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°á(6q4öQ�±čŘ“…Źš¤{®<KÁJfćé9­˙…aUÇ\ý7ú¶$Ž“cOf zLą•tÜçůhQ,B^’*°ĄCă9Š˘Whé$‡˘V-)šŻÓ< ±´ÁBĆňEüć%ëÓ7‡łŰ,b‰×őEi‹!Ú/ĐĎK‹E,˛vqX±hů±Es˛ć$=–”syá@†ĺôŘéqd;lÉýW‹XŠă }Ťc*—#1NNy¤¶É+'*MĘáĐôIčçî sA]kNě)JćP#šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°á(6q4öQ�±čŘ“…Źš¤{®lKÜ'yőŐó‰CöĘ;Źé>÷Kp´‡7á“ćTŘçÎW‰Ź1,ŹI#·’Žű<ŰcĄP{‰Źrż.Ä~”řˇ˝MŚR| FBt±_ ´` Á`\Y`! cy"~s‡’őé›ĂŮm±ÄëŚú˘´ŤĹíč祎Ĺ"Y»8,‹X´üXĢąYÄ‚s’KĘąĽp Ărzěô8˛6Ž‹äţ+‡E,Ĺq>‡Ć1•Ë!G<fB’p蔝LĄ>Gě<›ęŘGž§ŢÜtrŰő8˛ČÎ ý/ĺ@ÉŞcB‡#ÇĆz~‡eĹń ĂË"–4‡Ą@ŘĐkěŁ�,bѱ' 5I1ö$,,KJA‹EăgUöE+)ć«ÄÇ–Ǥ‘[IÇ}žŹĹ"ä%©‹X:ôa0„,nÉ‹W ăĘ YË,bsˇśľ(mc1Dűúy©c±EÖ.Ë"-?±hîC± Ăś¤Ç’r./Ȱś;=Žl‡Ťă"ą˙Ęá`Kq¤ĎˇqLĺrhŹŁ#ßßÚ"Gą/ŐĐŕ­ćŇ”rČÇŃn6ó;Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,Ův"–aCݱʰEÇž,|Ô$ĹŘ“°°<E,q8č<•Ü˙´Źöă1RĚW‰Ź1,ŹI#·’Žű<-ŠEČKR±tčĂ`0´j¤_Ýó\ą°x…Á`0–XČÂX¦`‹ ĺôEi‹!Ú/ĐĎK‹E,˛vqX±hů±Es˛ć$=–”sYŁ a9=vzŮÇEr˙•ĂÁ"–â8HźCăĘĺ0Çl9şţ{-Ž%G¶˛<yžvsłsŽD]kNě)Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR’˛d?ŘqXű(�‹XtěÉÂGMRŚ= Ë_Ä’†óŃu](‹c±ďsç«ÄÇ–Ǥ‘[IÇ}žŹĹ"ä%©‹X:ôa0…AGĐq%‹]ŇÂÁ`,/°…±<AÉmÔ%·YÄŻ3ę‹Ň6C´_ ź—:‹Xdíâ°,bŃňc‹ć>d :ĚIz,)ç˛8F Ărzěô8˛6Ž‹äţ+‡E,Ĺq>‡Ć1•Ëa0Žr2÷‰—ÉÂÇŠCž§ÝÜěś#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,Ův"–E†Ć> Ŕ"{˛đQ“cOÂÂsOÄ’öqÄŐIóór,|âöąóUâc ËcŇČ­¤ă>ĎG‹bň’TE,ú0ŚGž¤hˇ O a˛0–7({s8»Í"–xťQ_”¶±©v2ĚK‹E,˛vqX±hů±Es˛ć$=–”sYc!@Šrzět|XÄ"±!E»´Ž´8txYÄmąOĽL>Vň<íćf牺֜0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă±,24öQ�±čŘ“…Źš¤{XÄ’†hDб(GŰbßçÎW‰Ź1,ŹI#·’Žű<-ŠEČKR±tčĂ`0 Á`ÄŔBĆňeog·YÄŻ3ę‹Ň6#ŐN†y©c±EÖ.Ë"-?±hîC± Ăś¤Ç’r.«c”R”Óc§ăĂ"‰ )ÚĄu¤ĹˇĂË"–hĚ}âe˛đ±âçi77;çHÔµć„Áţ—r dĘ·ŃĚCjc=żĂr*í¸BźTA/.Ŕ!)Kö)9ű(�‹XtěÉÂGMRŚ= ,bŃ2íŤdÝ ´ďsç«ÄÇ–Ǥ‘[IÇ}žŹĹ"ä%©‹Xô|ýşĘ`0 Á¸bŔBƲ„ZřáýŹE,ń:Łľ(mc1Ríd—:‹Xdíâ°,bŃňc‹ć>d :ĚIz,)ç˛:FY E9=v:>,b‘آ]ZGZ:Ľ,b‰6ČÜ'^& +yžvsłsŽD]kNě)Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR’˛d?Řq’cÁˇ±Ź°EÇž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čů,úu•Á`0 qE…,Śĺ ĘŰfKĽÎ¨/JŰXŚT;楎Ĺ"Y»8,‹X´üXĢąYÄ‚s’KĘą¬ŽQHQNŹťŽ‹X$6¤h—Ö‘‡/‹X˘ 2÷‰—ÉÂÇŠCž§ÝÜěś#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,Ův¤äXphěŁ�,bѱ' 5I1ö$,°EË|‰ć%;ż±EĎG‹bň’TE,z>‹~]e0 Á`\q`! cy‚ň¶YÄŻ3ę‹Ň6#ŐN†y©c±EÖ.Ë"-?±hîC± Ăś¤Ç’r.ëÇ($¨ …M¶śí°)G˘®4±ÇAúÇT.‡Á8Ę9ČÜ'^& +yžvsłsŽD]kNě)Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR’˛d?Řq’cÁˇ±Ź°EÇž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čů,úu•Á`0 qE‚…,Śĺ Joł%^gÔĄm,FŞť óRÇb‹¬]–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹQ6HPA ›l9ŰaSŽD]i,b)Žô94Ž©\q”sąOĽL>Vň<íćf牺֜0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă cŽŇˇ±Ź°EÇž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čů,řu”Á`0 ±lŔBĆňĄ·YÄŻ3ę‹Ň6#ŐN†y©c±EÖ.Ë"-?±hîC± Ăś¤Ç’r.ëÇ($¨ …M¶śí°)G˘®4±ÇAúÇT.‡Á8Ę9ČÜ'^& +yžvsłsŽD]kNě)Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR’˛d?Řq1GéĐŘGXĢcO>j’běIX`‹–ůÍKv~c‹žŹĹ"ä%©‹Xô| »F0 Á`0ž“`! cy‚ŇŰ,b‰×őEi‹‘j'ĂĽÔ±XÄ"k‡e‹–‹X4÷!‹XĐaNŇcI9—őc¤·‹ *Ha“-g;lĘ‘¨+ŤE,Ĺq>‡Ć1•Ëa0Žr2÷‰—ÉÂÇŠCž§ÝÜěś#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚQ:4öQ�±čŘ“…Źš¤{XĢeľDó’ťßXĢçŁE±yIŞŔ"=źÂ® Á`0Śç,XČÂXŢđż ±%^gÔĄm,FŞť óRÇb‹¬]–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ‘Ţ.”Ť§.g;lĘ‘¨+ŤE,Ĺq>‡Ć1•Ëa0Žr2÷‰—ÉÂÇŠCž§ÝÜěś#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚQ:4öQ�±čŘ“…Źš¤{XĢeľDó’ťßXĢçŁE±yIŞŔ"=źÂ® Á`0Śç4XČÂXľđż ±%^gÔĄm,FŞť óRÇb‹¬]–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ‘Ţ.”Ť§.g;lĘ‘¨+ŤE,Ĺq>‡Ć1•Ëa0Žr2÷‰—ÉÂÇŠCž§ÝÜěś#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚQ*ȤšE,:ödáŁ&)Ćž„±h™/ŃĽdç7±čůhQ,B^’*°Eϧ°kÁ`0 ă9˛0–'ü/H,b‰×őEi‹‘j'ĂĽÔ±XÄ"k‡e‹–‹X4÷!‹XĐaNŇcI9—őcäŮ—‚ÔŘ…UŠr¶Ă¦‰şŇ8XÄRéshSąă(ç sźx™,|¬8äyÚÍÍÎ9u­9a°˙Ą(™ňm4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ý`ÇAĆ~ť¨˛DñEÇž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čůvŤ`0 Á`0ŔBƲ‹XâuF}QÚĆb¤ÚÉ0/u,±ČÚĹaYĢĺÇ"Í}Č"t“ôXRÎeýyöeŔîˇh¶Ăjźś8Ąq°Ą8Ňç Ć0Ő`zL´9ČÜ'^& +yž:ă¨g ŽD]kNě)Jć |Í<¤6Öó;,§ŃŽ+ä0đIôâR’˛d?Řq1‡_'Ş,âp,bѱ' 5I1ö$,°EË|‰ć%;ż±EĎG‹bň’TE,z>…]#:ŔŃ“Ut‚Ný™ŹůŹůŹů–"q%…,Śĺ 2Řf‹"oI^©v2ĚK‹E,˛vqX±hů±Es˛ć$=–”sY?†Ě>^W6HYÎvXí“§4±ÇAúÔÁ¦Lʉ6™űÄËdácĹ!ĎSg•ălÁ‘¨kÍ ý/ĺ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\*€CR–ě;2ćđëD•%BŽE,:ödáŁ&)Ćž„±h™/ŃĽdç7±čůhQ,B^’*°Eϧ°kÁ`0  YˤŘf‹"oI^©v2ĚK‹E,˛vqX±hů±Es˛ć$=–”sY?†Ě>^W6HYÎvXí“§4±ÇAúÔÁ¦Lʉ6™űÄËdácĹ!ĎSg•ălÁ‘¨kÍ ý/ĺ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\*€CR–ě;2ćđëD•%Ŕ ă@ś‹XôěÉÂGMRŚ= ,bŃ2_˘yÉÎo,bŃóѢX„Ľ$U`‹žOa×°cK6~ůnëĎ|ĚÇ|ĚÇ|Ě·ůŚĺ�˛0–/H±Í"EŢ’ĽRíd—:‹Xdíâ°,bŃňc‹ć>d :ĚIz,)ç˛~ ™}Ľ®l˛śí°Ú''Ni,b)Žô9¨1L5m2÷‰—ÉÂÇŠCž§Î8*ÇŮ‚#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚáבڦHůYĢcO>j’běIX`‹–ůÍKv~c‹žŹĹ"ä%©‹Xô| »F0 Á`0°…±<AŠm±(ň–ä•j'ĂĽÔ±XÄ"k‡e‹–‹X4÷!‹XĐaNŇcI9—őcČěeíe€”ĺl‡Ő>9qJă`Kq¤ĎAŚaŞÁôhsąOĽL>Vň<uĆQ9ΉşÖś0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă cżŽÔ6ĺE,:ödáŁ&)Ćž„±h™/ŃĽdç7±čůhQ,B^’*°Eϧ°kÁ`0 ! YË$Řf‹"oI^©v2ĚK‹E,˛vqX±hů±Es˛ć$=–”sY?†Ě^Ö^HYÎvXí“§4±ÇAúÔÁ¦LʉV®B‹ŁĎA6…p´]g•ălÁ‘¨kÍ ý/ĺ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\*€CR–ě;2ćđëHmS>XĢcO>j’běIXXZ"Ń9C™áŚ1‹X`†śó¦Ę§4{ŹĹ"ä%©‹Xô| »F0 Á`09`! ců‚Ű,bQä-É+ŐN€Q^ęX,b‘µ‹Ă˛EËŹE,šűE,č0'鱤śËú1dö˛ö…�eĘŮ“Ň'‡·4±ÇAúÔÁ¦Ěމ`“×éJ,ŤăDóĐQîKçaÂAŇvťqTŽłG˘®5' öż”%sPľŤfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻ#µMů`‹Ž=Yř¨Iб'aaéX˘óĄć‹^÷˘Ë #r.17ß|!öŁŤÉ\XĢăŁE±yIŞŔ"=źÂ® Á`0 †,da,O`›E,ŠĽ%yĄÚ 0ĘK‹E,˛vqŘěĂî?<úžĽŞîťÉj ›şűq]˙*Üłr6vő â72ż=vo?ůX‚c˙JüÖŽ[Rą±%łMéz±dc‹¶YÄb’“ŽmY L9ŰaRúäđ–ĆÁ"–â8Hź:ĂTţ1AľxĹ+Őpýő+°gď06lěÇŕ` ŐZ3ÓuŚŽÍăŘŃ xv O<>ôµ5%csŤtă攵8HÚ®3ŽĘq¦ü1óĐŚíđHÜC©żŁXÄ‚ćwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă cżÎp~—±čŘ“…Źš¤{–žĹ;Ç÷ţŢŰQ»ůŽ„Íě_ţoÔ?öţ–%á\`nQ“L¸˘9b ¶ďĹ.K_Ä’gĘ*ĺ@q.Őń)Ü^âŁÜŻ ±%>dhoŁźÂ® CŠńষ9¨7“őo¸đGŻÎ÷ýŢ˙<{.r Îk7n>ńKůőW?ŕŕNÖő¸OůÝĄ7Áç÷Ýżš5ń3/pđűŻÁ`0–!XČÂXŢh}igK~Ţ’ĽRí奎Ĺ"Y»8¬řa·.îŔŽŐçÝĎ(žžĹÇ.ĹËWoĹO®ŰŤJÎŻĐÓHćĆ"–Ě6ĄëYÄ’Ť-Úf‹IN:Ç`Y L9ŰaRúäđ–ĆÁ"–â8Hź:ĂTŢ1ţß{P×WĹ÷˙Ŕf<˙¶µ¨VłŹm»üĎćÍý¸ă…ë166ŹĎî$ľőÍóđźî„sŽtâ*ĘZ$m×Gĺ8S~ÜjřţďÝk ĆěS˙r:8Zçvýź®[°sĺŰhć!µ±žßa9•v\!‡OŞ — ŕ”%űÁŽŚ9ü:Ăů]XĢcO>j’běIXX:"–hñ4I|ţđŰ\ŁŠ÷]Ę ł/87ŻÉ‹]{Ů«á¬^Ű>źşÁę_ügĐé“íŘ–1 ó!™ËұDőTíB÷OĽ1c<÷ţżtwvĂßv1lň’µ| ·—ř(÷ëBěG‰ÚŰÄčÄgŃ® Ćs C˝ŔMŰ€űŹ&ëżsÄ;WÉ'Đ…IŕŔąěŮýńS8Ćă•á;Głu·îtżSwÁ`0ŚE YË­ođ,bÉĎ[’WŞť�ŁĽÔ±XÄ"k‡•?ě® ¸§ňIĂ»YůOŽű˘–ßŢ~z*µwe0{‰đcĺĺDyÝf ”Ű,bŃË_C>,b)”)g;LJźŢŇ8XÄRésPcjĐ;&‚UX<lŰŃŹźzăn_¨˘‹áá.Ľö‡wâĆWă}u�3łŃ¬s óH•ILJ¤í:ă¨g‡7nNŐÁ+_¶9í‰ţÜ)ÔÁę,,bAó;,§ŃŽ+ä0đIôâR’˛d?Řq1‡_§576ÁL}Ȣy ä%4Y"yeĚZ…Ą%b‰Ţ®ç•DBŠfŘćĄ^8ŤJš<zO,S{ŮkPÝsM˘˝ţÔc Ó'ÚŻ9Ę#*0/™˝Řei‹X"xßó©«ŠŢźúŮLŰĚއJŁ‘]y'Ă&/IQ˧p{‰Źrż.Ä~”řˇ˝MŚN|íÁ`<'áŕî˝=¸˙čl˘öé3Ŕč4°˘OěőÍCâ)Öh"—\#ž€§G—˛ő÷¸9�łXzđîM75ŐjÁ_3 ÁXn¨€ÁXŽhݱaK~Ţ’ĽRí奎Ĺ"Y»8¬úaw'80=†÷žyÖ›E,‚vJ׳%[´Í"“śĚŽÁrÁ"‰ )ÚĄu¤ĹˇĂű\±xźť»űńł?żĎHÄÇî=Ăř7oľµ*Baڍ÷šeŇń!i»Î8*Ç9—#3˙ˇWS|ăĎ«lšČËuqć·ř¨TWÖǦőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚá×iÍÍ‚M0S˛h^y M–H^łVai‰Xç- ń捷RK´Z Ů<ŇČͱȄ4ŤXüNbtěC2—+ăuBqÁ’Ťpĺ˘rć–EIóQĺŁÜŻ ±%>dhoŁźE»F0ĎYîŢçjł«´Äqß!ůµęľĂŇ&|GŇvĎ>~tČ`0ŚĹŻČÂXľ`‹"oI^©v2ĚK‹E,˛vqX;Ë+öďÁ=»¶µlç śźšĆ·ŹžÂ7ŹťĚÜ üňčiÜ˝b®X©äf‹ ťŇő,bÉĆmłĹ$'ýcPóJ`‹Ä†íŇ:ŇâĐá}nŠXб ݬáőoŘZM|ÓíĚ™ ś>5±±Yô÷wa×îUXł&ű“¶­[đŠWnĹÇţá|íż?­śVÔlN˘?/¶kÓ>š‚ööß0şýOEN¤Ď "˘†/fÁk󮳎SÍĺH—˛óĘÉń)bnRľÍ˘Íď°śJÄhNd8 |R˝¸T�‡¤,ŮvdĚáבeÜ2@×lӄȢ٦Óç%4Y"yeĚZ…%,b gLS"$‰Úýů!ř !yµËĆq„Üh­ Ó äľÚČóŻ“]1D1o…ńsĆLŘ·đüF>ů5Ô«ŽI†Ca$€čĽ©:ÂĽ˝č‰UMqŻÚë§ăżúMĚŃšűÄܨ{‰Ź†E,:>‹vŤ`0žă¸ikĂ÷J 8ľ}ÄÁK%+«x+˛Čđ­Cň×}ëHöę˛vĐÁţŤ 0 ±Ř`! cy‚E,ŠĽ%yĄÚÉ0/u,±ČÚĹa5vKnlęÇuÖfü^şg'î;r˙ĺ‹÷eX}îŇ ěX)Ś“›ĺu›E,PnłE/y ů°Ąx¤~dŽ˝r˘®4±ÇAúÔÁ¦ôʉ`Ë[1ä5?Ľ}}ŮŻ8§NŽăC|ž˝äÓ1Âő7¬Çëęz v'|^ř˘ řú×ÎâÜČś?ł"·ôő“DŮ„E§ő'‰“Ę•˛>ńĹśçAĬ…’6Á«Ú|^ť˙@“‚Wd+˛4šu×®ę?Xl‹zŇy…˙§Ôh$ćUC¸…TŞ9d>”ołhó;,§1šźTA/.Ŕ!)Kösřudć#âXT&DÍ6ť.8/ˇÉÉ+cÖ*,]K»ŠäT„–%°sÂU;ÚNęoqߍ˛íŃĺ+zd˝R¨@`!\ĆkŁ`ŮhOd‘xą_ęÜA’ó@">e÷Ěß ż§‹®‚­<A\’Ś rĆDsN¶Ć>Őw'–OPn·G+îxb•†$N=üű#č3ˇâ8±RBq.Őń)Ü^â#¦a‹ŽĎ˘]# Ş•^´»†Ď<^OÔçXra8pNÎ÷Ř)ÂÄ,0Ř“mq޵§ćž)YČÂ`0ŚĹ YËń/ý”¬Knł%ÝN†y©c±EÖ.k/bńĐŻcú±Ńv…÷Ü©§ŠęŞnĽpçÜ»{ľpŕHÂç±éKÂ8"ÄÇ4ťßlłoŽťÁŁ“qlfăŤ9Ě»Éú«]ŘÜ=€}}«pűŠŤŘĐÝźâsđ‘‘gń™ G±6ą>ż»ëEŮŘŢv¸˙ľ|é>xߪ®^üţ®»[7ű˘ŽÜm±(mInoŰo1‹X„Ű$Č ĺĘł8*ťE,Ĺq>u0†©ýc‚ZŻ˝Ůş­W_łi<p ď|Ç™m˘R©…b Ç?J<ßÇ=Ź?űß÷ă˙ůµ ··ýőČ3»ó®őřčGŹşĄ`5’ľţ*ţŕnJđź93Ť˙ö'ʎ»»‚»ďŮç߼k×ö˘ZuđŽw<Ť‡&Ú‚–đ—đ[·öá¶çŻĆî]CXł¦×÷ťžnŕÂĹY80†o?p§OO·ň ?¨ő�qxEnżu ®Ţ3Ś ë{10ôc|b'OMăɧGńť‡.br˛áűycĐ W±ůą7îĆ­7Ż ď|űÝ­íĎů >đ±ăá¶ç™ÇÓÝĺŕŽ[×âyׯ¶Íý¬ÁÓĆŚą9=6‰GžĽŚoąýš«SLKä07)ßfŃćwXN%RÄÜÔňIôâR’˛d?Řq1‡_G–q— L"‹f›Nś—Đd‰ä•1k–ľEl­j‰X†V`ŕŻ˙9aSŕ>LýÁŻůçđʵ7Łű•ŻCu˙Ť¨ ŻtżŽ˘yâ(ćżđ)4ľü8őz‚łö?ڎ_üaőŰţWk»qřYLýŰ7ŔI_űĽóĽzÇ]¨ÝőRÔö] gőZ85÷z3ćĆ?vőďŢŹůů$pé‚ďďĺ<ç]űz~áß»ą˙H‚{ňŹ˙#ę_űjűo@ĎŹţkÔ®ľÎĘU¨?ú&ýŠŰĎáż˙tÂoţţű0ů;oőcTŻż Ý?ô:Ô®‹ŤÉńŁűü§Q˙‚;&óu?™ÜUkĽŃ_·]ß÷ ÔnyŞŰvŔÍLŁyá<ęO<ŠůŻ ŤďÜää´ÇĆ üćŰĐ}ď÷B†Mźţjk{ö>€™wĽ=ł@q.Őń)Ü^â#¦a‹ŽĎ˘]# F�jŕî˝]!Ë#'3ó@oę-şŢj,ńéÖßí`®A¨‡Z”F3¬Ľřęä¤użr>s6;Qďö_+4F&€?ŕŕËĎ�Ďž#\žvŕ-şv�Řżřţý„z^6Ç8ľt€đ»šĽţĽń…„·ýpň2đ§_tđ—˙Ôh Đ<úźíN&˙÷ëŔ|2{ťűýW~ćE`0 Ć�˛0–/â7K)Y—ÜfKşť óRÇb‹¬]ÖLÄ"úSžęM÷ĆŮ|Ş}óçfP]YŇB–‰ú<Ćó¬vIyő”Íď+—Oáç`˛9źńŻĎáiď3u ˙tń0nŢ×o¸Ýďá`Đç­Řś˛śž›Ä™ŮIlěHŤA{ś8“‰wűđ±„>r>‹~Ç·InoŰo1‹X„Ű$Č „ĚńŻWNÔ•ĆÁ"–â8Hź:ĂTé1á•˝UEîxá:¤17×Ŕ߼ďQĚş÷ŕŞîőÍqŻ9ţŻŁĂźV«‘4qâä>ý©xí_ťđßí*ĐGŽřż„öŞV#Ľůç÷açΡDKđs «ř±×íÄ-á'>ń>Ű· ŕ%/Ţ„G»„ż˙ŕaLL6ÂŹ@„Rqi_ýĘ­řž»6ř™4VŻęń?7\·Ż~ĹV|ęł§đŮ/ś ÇĚŰiMäü>?ŰÓpĚĽţP¬î†ýĂxÓëwch0{·ríę˙óü›VăG^µď˙č|ó‹Ć ú”‘ÚČß˙”ołhó;,§)bnjů¤ zq©�IY˛ě8ČĂŻ#˸K¦ ‘EłM§ ÎKh˛Dňʵ W%ŹĂ;ÇűBGÉą§ZőWôčű©· ďG&ŃVYµĆ˙Ôn¸Ť—żSüŔĹt‚×Ů\k¬(Rő·˘żqÝíM[Ń˙›Śę®}źĘęµţ§vÓmč}ýĎa棇ąż}*ŢĽ„ŘCĽňŠ×ŻĘť/Áŕoţü‹k"—`ôŞ5ÔÝö˙ô[Đ˙? áÜx ę?čŽÉţčÂ/qRýőss+»ôŤč{ĂĎąwk“×Sg`Uďł}'z~ŕUh9É˙ö64<ݲńÄŁâµŐÄh†ă b´ŽdĹąTǧp{‰Ź†E,:>‹vŤ`0 ܵ7[7ď^Ö>ÜqU˛ţľCÉłřŢőLĎ{"•FĚxqňë.î?*žŞ˘ŘŢý5˙ő3ŔlK_Äő.·'.źy"°yűŹîÚ#qż/żÓÁůIt OóGźĘ^Ý~ęv°…Á`0® TŔ`,GÄo–R˛.ąÍ"–t;楎Ĺ"Y»8¬©%˙v“ŁqqCłUˇýtŁ‘ń“§ą?<rď=ó¤PÄ’†÷0đľŃÓřoÇŔ|ě5;÷®Ăžőه{ŤźMŤA»ß—ćgqhęrÂŢ{6ö}w]ÓâeKľmÜ^Ű–äö¶ýs°E¸M‚ś°@Č˙zĺD]i,b)Žô9¨1L5­Wă4¸z˙*¤ńŤŻźŔĹ‹s¨¸š<!KµŇĺnwű˙V˝=q‹__ĂĂŤŕÉ'·ź xňÉ‹8sfĘ_-Ą ^š‚×ďx¶^ň’Ť‹ßÖŚü®ŕ×ţíµB‹7^ż ˙áß]ŹU+»bŻěˇŕ˙ľ…đ+oه—|ĎFˇ%Ťžž*^űŞmř±µÝ/OÄâőËääAˇ0'zŤ‘—Ç÷żxţíĎ_#±¤á­Ňňć7îÁkpskEěĚ€ćܤ|›E›ßa9•HsSË'UĐ‹KpHĘ’ý`ÇAĆ~YĆ]*0M,šm:]p^B“%’WƬUX>"–$…Ż IŐ»×ŇÚĽ6#bIŁşď:ôýÖEłRő)u˘ěëďňđí›a.žäŇąńV ľý˝BKµ.ôz‚?|;Ţj-ˇŐăi_{R!1ôÖßNXüz˘X©V«čzĹk3"–LJW_‹ţßű/hşöžW[÷Ťj}żýÇčű™_ČXD¨îÜŤá˙ůPąí…ţ85šA˙LĎŇ«I ©¤ů¨ňÓ°EÇgŃ® #«Ö4±uUöńÝwgm˝Yâص¦‚«7$˙Nů–ŔďŰG˛Ëx"ŤCÉ× y×Â_|ż·ýS\Ä"‡·jËţŻw}EÜ^­ŠîK×đë.FÄâ b~ńď˙úÇ=űjřĂ× ş—„n0 ăĘ� YˉДnđŔ"–t;楎Ĺ"Y»8lů"–č!˙%ď…�}Ý5őýĘr?41‚J­¤âˇËýb˛{íěß°C=Ů/ GgĆđ‰ó‡Z|sçfqďž«2vNŽ´ă‘“Š}&“ó5×cx2ę ‹XňlăöÚ¶$··í·E,Âmä$±/™ă_Żś¨+ŤE,Ĺq>u0†©Óc"ÚăžXdĺŞn „Ź|w$±Tjîł©.»â>X«†˙:n}Ő©ůŻ­ăĎßńţěĎĆ;Ţń°żý®w>Ž™ŮFđĐ©µICC]¸ű®M!ŮřŹÎđĆźÚŤŤű26““Ţë&06–]şyĺŠnĽůçöÂqš­‡oŃÇ[aeĎîa!ßł/ăđ‘QĚĎgó˝÷® ŘőpKśsńŇ NžžÄů ÓÂ>ś™ňóól.ŹÎ#Cńеű†đşÚô[ îÓ>ĎďôŮIÔëŮ~če[qűÍ«Z}IĚ_­ąIů6‹6żĂr*‘"榖OŞ — ŕ”%űÁŽŚ9ü:˛Ś›Ă± 0ŤMÍ6ý+8/ˇÉÉ+cÖ*,?‹6¦pĄÁď¬\ŤÁźţĺ|ýŹÚŢý¨˝ě5ţj%>ßřćŹÂÜŃRŻÍł©ź:ŢZĆł¬Zţßř#8YÁhýü9×ďšS٧^]Ď»=o~k¸ KGÄszŕGŢ�§Ż_W$öh+î ýě/µ+ňĆdź;&?đj4@áßÁÇ+÷Ľáß űÎ{3>4;ăöď0ęgOgŻuađ·ţ°qK«ősç0äć={ćOťŔś×î~Îű<Š…(ÎĄ:>…ŰK|Ä4,bŃńY´kÁę¸goVđń­#ÉGz&˝Wü$m®ZSÁţÍÉżU; LĚ&íľ#˛xb/vďýáź…˛żĽëŇ:xEľöl÷CǸ<üě_ă3ÉzO óçŻďsż˙Ď»ý›Á`0® đ«…ˉДnđŔ"–t;楎Ĺ"Y»8ě‰X<<xń\Ćg »Ű›4g›ąÄ"?ś1˝k×vüěĎÇ`(`ń~Ĺö·÷ź|ěé„Ý×.źÄ«×íö—knL7pűŽ-ř«ęCo´Ő˙'¦Çp~n kş2±8›‰}ďŢÝ™‹XňmăöÚ¶$··í·E,Âmä$±/ dXNÔQY,b)Žô9¨1L5mŽ@±n}/2q]ŁŁG&|‘Š÷q*8N%xĄŤ÷ßJÓ=wTĽrřqšp‡Pž-śČÇ[˛_ükěÁÁî0á‰'.ŕŕˇ@@28Đí‹SÔŔKżg vďJŠNĆÇçđWóyä\K¤ągĎJĽé_߀uëÚÓ6oęÇ o_‹ŻÝwŢĎĹ‹Ó?PĹÝwnHđyů}ôăĎâÓź=âo{©zŻ*úĺ7ß„ýW'WąçÎőxěÉ‹ţĚůŔ?Äß}¸ŽîZďúßß—é߯˙ŢWĐhT|S @ž_owoú©ÝËWľq˙ѧq9ćôőŐđš—ď«~`WÂîG_˝÷?rŃÍŐ1ś›”ołhó;,§)bnjů¤ zq©�IY˛ě8ČĂŻ#˸9 ÓŘdŃlÓż‚óš,‘Ľ2f­Âň±¤©D”]Űvú˙N~é3¸üţ÷`îŘ÷"8€á—˝«ßôËpRż®î~ÉË1őÉűŰ3_ýĆľü/k6±ĺĎţ˝{÷'lOüÇ_Ćěý÷ˇŰ˝Îuą×ĺš÷ŠŁđD4ř+˙•á• ű٧ÇŮ˙ţ6ĚzÖ5ŽS«ađĄ/ÇÚ_ůuTzۢŃŢ—ż3źřčč!˙\R}ŰşÝ˙·~a_ţ<gOŁÚÓg.xâçýi ÷tmßé˙;ńwLţć=uÇÄ{ ĐĐľkî—2cŇó}?ąO~ŃŰő<Fgß~ôýŘvä~>˙®?ĹĺŹ}s¨mÜŚőżöxAű}N_úŢôŚ˝í·ýţŤ˝óaîĎߎş;{>ťýüˇ7ţ(jőytą řźJűX–ŐŠs©ŽOáö1 ‹Xt|íÁ`0rĐÄ]ű*x˙·“µ#˙‡Őđž^ŤĹĂ5ë÷;cňĚîýľŕţ#î=ÓđőB3óŔ#'˛“öP¦]˙”{ŰőoĚÚݰĄŠßye7nŢVĂś{ ÷óOÍămźśĂČxűľ˛çőÖ9řâż# eż˛'pč|ŁżŰÁËŻŻáęŤ`çěW? x}|Ëß:8r!YżfĐÁ_ľ©Ď͡î^ÓgŔ`0Ś+,da,OîľÄo:ĺ¶‹üYÄ"oG~^˘qËřł%ŻÝßNpíEh··=1y_9™±˝qóz÷†Y6†ŠŰ»aöo®~.¬jŕäĺ1śwż84ń+÷ÜîŢT¬ 1Q÷ß×]íŻâőĎ>˙ôALĎ·•ýŤ9\toέéľŃT/5qŰŽ­řÎىxŽŹŕűV$b_śźĆŃÔk…úşşpÓĘŤ9;•°UołEiKr{Ű~‹9XÄ"Ü&ANŠ<Š–uT‹XŠă }ę` S ¦ÇD›Ł˝š‡'–Hczz>¸ţxŻÝqâ"§µF•JđDɉ­şâÍ˸đ…„ŮsďÜýŮ;ÄSO_ň}*žź÷z§ęÇ˙Ţ—lIŘ{B“·˙ďďŕř± ÷Ď“ †w$8pŮ­żř{w'^t׋6ŕ«_?篧ée0;SÇ˙ÓG±a]6nčs?ý8rt źú̿ޫĽľLM5đˇxżű/LÄßľu ;żĎN(Ú÷Íë URăçúľčk°r8ąÚÚw<żxď#Áx»ÉzŚSÓ Ľ˙#OcĹŠÜóÂö8¬YŐ÷ŻŔŹŤú¶AoĹţď…Ĺźßa9•HsSË'UĐ‹KpHĘ’ý`ÇAĆ~YĆÍáXPĆ&‹f›ţś—Đd‰ä•1k–Ż%NI’ 0ůµĎcä˙ý-üÇ\ă¸üá÷ÁÂęźxS¶kßuţ«wśF#°÷.OŽxüĽúŞw5pÚKG{)TvěF÷ îLŘÖĎťÁÉ˙đĐÔ”őđ(=áÇŘg>á^Slř÷ż×6vŻGÝ/ű!Lżó´:'˛‰Ż~g˙óďşőTĂ|jnBĹO|ĺ 8÷ź~;9&˙>T±ćő©1ąúZ4<a¨7&N ŽxÝü<ăyÇ˙ŔĺŹü=‚?O‚1«ź9…Sżýď±ă=ŹîmŰ[¶˝÷ĽcCĂŔřh8ÎŽtůmďO‹jôŻ\}sŹhĹąTǧp{‰Ź†E,:>‹vŤ`0JÜą‹ükAüŢŞ*OśvpCřŐęľCÉ3y—{¸zťű}k 2ľ÷vpďŐAĹĂÇůä„Đĺ^$nż*ůÇ÷?D™Wôě^WÁß˙Ľ' b÷tŻą© ×m®â˙çdâőCޢŕz�xSňr.Ä—÷Ż~¶ŰRŻT˘¦žĺ÷ţŃqÇ#Y×íŢ*ř?oô8=ži0 ăĘżZ±|A˘m±¤ŰÉ0/u,±ČÚĹa˱ŚLOăś{nÄ˙ĚâÔÜ›Ľż<ó ţřŘCÂe‘żĎU z&"–�ě˝z#^tŐvĽîćëń«÷ľ˙ţ%w˘qˇŽń.büŃQL>>бű/böôŚ{30{éżxĽsçgqďîť›‡&Ďfb?0~63w¸yĐĹFĆ6›E,J[’ŰŰö[ĚÁ"á6 rRäQ6HQNÔ‘žŹ9‹XŠă }ę` S ¦ÇD›ZŮĽ‡@]ÝŮkËôT=^ÄWa‰‰X˘r`ă„+·TĂŐ[jí×ů"ŹükăÇ˙ńY<ýĚĺŕµEľŐ±xnWíÄĐPRđńŘc#8vlĽ-°©T|_Ż|ćÜžxň|Â~ë–—Łľü_Ç7î;˙ĂAüď?˙.>ń©Ă~\§ő#ŕ« ŢaîĺăÍ_ÄR ĆÇqÄ_ Ű} ?áoČoyŢšŚí?üÓA¬|®JŘŻpe›Ď|ńhĆţ†ý+áÖܤ|›E›ßa9•HsSË'UĐ‹KpHĘ’ý`ÇAĆ~YĆÍáXPĆ&‹f›ţś—Đd‰ä•1‹]3Ěť5aŕC>Yg;Ś~čŻý‰µpEŹZřűřßeŤ˝këŞ5áf ńµĄ^OPqůBŚđku÷‹îÍŘ^ú‡żóE,ľĐĉD€câsźBs2ůÝî[_Ľ^ÂW â×/]Ä™˙ü»¨¸ßť»ÜkV-\­¤ćž;&|źźŻ'zńW“ 0Łů{ĆÄ{ESđ* ÷ÓŐŤîŘ +ăc¸üńűśľ Ći O0?‡ŃO},ĹYA÷ó_ŚcÜV€Şg$„2(ÎĄ:>…ŰK|Ä4,bŃńY´kÁĐÂĘţ¦żňIÄľZ}űpň<~íćŞ{j`¨·ŃZŐ$BüUB^ăsëÎ*ú»Űę–Ůyŕ›Głü­ßßăň{ßM'AÍ1÷3înOcďz?y{öŐň˙üŢßP˙ó'z±m•÷ť}Ţĺ› ?zŻúËo�ó­lýźĽ®·î¨¸9z?xä“Á`\iŕYË$ÚfKşť óRÇb‹¬]¶s‹ěĎďOź8ŠOă(tń=»wŕúŐĆ„0Čň sš>0ŽJźűЬżć˙ëaĘ­­ĎáŇü .¸źłsSxčČĆgł_@śZLŚĐ ěíY…5ý}¸0ŐVĘťuy¦±ş«Ż•ÇC‚× Ýł{ćŽĚĺďŞÄ6‹X”¶$··í·E,Âmä¤ČŁl˘ś¨#=s±ÇAúÔÁ¦Lʉ6G|tíůąÔOÉ\ôą×$rśÖ*"ÁŞ'Yâ`啨T V)IÇuc<â™v˙g݇AU_ô Hüě\ż;†2ö7޸˙ç/~�&X˝¦căSí· ‘'©zoCBôKn/Ç5kú°jE7VŻî ^Kô‚ ®JÔ•p9j_ R‘Ü\ôúDAßü1đŽ·_WmĎöëŹGăgv1¬_Űë?Y¤J°'ă EGĄę¸Zřů–S‰17µ|R˝¸T�‡¤,ŮvdĚáבe\ŽRaŚ,šm:Tp^B“%’WƬU`‹‡ú‘ľÂ{ťAëRâ^‡ć/_BszĘý.Řźtč.[ţ×ňšd}qŚ' …jW_›±]÷ć_ó?ş¨nÜâ>Ľ˘Ě×ő8&ďű Şž%–C…Ú4rö˙üˇ-q·¸™wy®»˙ÎŹşcâ­Óź�ťƤ˛}śžždľCĂŘ÷ąo•ÍÁĎň«±ČVľ‰ň¬†źhE›ŚµÍy°¤ů¨ňÓ°EÇg)_#lqôdť Sćcľ˘ů÷Ârë¶.|÷Dňűî7Tđâ¦ćgĎ%—KąmG ŤĆ<Žťtđü­5<yş}öŃ„Ç=ˇ đ­ŢdLNČ[\űc'ëîßĂA.Oźó^A”ä÷®×7¬«âč‰éđďć(ď¦ű]x·oëĆ{‘Ľ÷űÝ“Ŕ‘ŐÜ߇x«°lčŤxă1±îýć™,ɻ﫷^µÇ›ďęĹť;zpüÔ”;&N‚G>ţo9ń1W2XČÂXŢßt˘tťd[ä°Ĺ$/ѸeüYÄ’×îo'8ôE,¦Řłv5~áÎçcLŚ<ÄŔ7¦ţçÄ©‹řćŘľŚ“3jÖˇ…Z%ĆëŢř™ĂÝ{®ÂÇy"aöĐř9ĽtőßƵ›M´oY1ŚmÎ&š“ >ů6‹X”¶$··í·E,Âmä¤ĚŁ\˘ś¨#=s±ÇAúÔÁ¦Lʉ6 m¦Ľ;x)ôőuˇVő®/±ą#ÇđqśăE,ŞăăuTŞ]ţj.Áę%¦ZÇęŐŠ—kbh ęů~†ţß7ŢJ*M\{íZ<˙ć5ر}›6ôŁ«KsŃM Ĺ#^+$˝˛ŠăŻ 3Đ_Cooç7V†»Â›”„ö#QGxTŞŽ«…źßa9•HsSË'UĐ‹KpHĘ’ý`ÇAĆ~YĆ5ŕ(¦ÁȢ٦Cç%4Y"yeĚZ±DđV,ńu9á+}(ĐRú‹kÍĚx*Ҥă´ţń_:G˛YD+«4ĂkTeý&t §V ăR›ć…‘Ö*3ŐđŐ<•P¬¬ä"_·Ô“Z¸‹?Ôú«4ëŽIZČ^|Č˝–W7lD¨¬XŐŢväËoG"—J(xa‹^ź\šEĚ+·i ť‹ F�ď·mwđžű’őOź ÎuOžMľ:ČĂmŰ*-ßçoŻáoľÓ•xż˙8t°oťgÎeăÝľÝýÎIíďÖgÇł“výwÍ›C]đ%¦ŮlbűŞf¦~ĆĄĽě^WőAŠufffR"}4n?}Gfg¦Ńh4Ŕ`0Ś+,da,_Äo:QşN˛-ňXÄb’—hÜ2ţ,bÉk÷·ĺXĽXŻş~/~ę–Aëť×ćN?€źsżdüő™'qßči»ÜÂ;}‘ďüŘ<îÚł##důîäYĽdőű±3š{öíÂĚŮŮXžČŮf‹Ň–äö¶ýs°E¸M‚ś”y” R”u¤çcÎÁ"–â8Hź:ĂTé1Ńć ©ÍŮsŮw]{g¶ď±ŁÓľ˝“;ŽÁqEҔٗ‰XVb©úľ‚GE ÷¦˘îîbŢćÚ¨„űÂ[qĺg˙őuصs6D1@ë’źÇůŻ ˘ =ę~w—ćC]şÝ>ű†„ŠŹÔĄ0żĂr*‘"榖OŞ — ŕ”%űÁŽŚ9ü:˛ŚkŔQ*L‘EłM‡ ÎKh˛Dňʵ ĎQ‹Ä'zmM5öúďS—8´®5“ gđ–?q9©wMvzŠ˘«;·Ů˙Ťv(˘©…B–(r(ó7DŐP¤ÓďÓôVt‘;ĎčÜŃ)¨Nww < —ľ‘Ťs% UÂľ˛E‹Ô؇ ímbtâł”ŻťbÇ»‡ŐŃ/ßmý™ŹůĘäŰĽ©ţp05מDG/5±a=áÔ3É3yopÝFŔű]ˇÇ·v]µŹą×éőŮŮ&n]śKú®pp÷µu÷šÖ68—ý.»˛زÁÇ'őL}^XżfMŰVÉWščvsß¶Iýˇţ^ýď˘ďúĆ~˙Uš?˛ ÁÇó-'>c9€…,Śĺ‰řM'J×I¶E>�‹XLňŤ[Ć߿įěľÄc¨ň’´‹Ă+b1ąŕýJl §[V âúŤëqďžťŘ4<ĆDÓ‡&’|$ç=€˙?'Ăç„ök°yx[V®Ŕµ×áý<‚ÓŁcŢŘvÓÁę™ě[żĎś;ߪ?<u3î·±žJ ŹNŹ$ü˝qwlŢŽúSłYľĚ6‹X”¶$··í·E,Âmä¤Ě#B1U Ľ:ۨĘj±ÇAúÔÁ¦Lʉ6Il‚sÂĹ‹3śÇŔ`W˘ő†ÖŕČ‘ă¨úżě¦Ö«kŇ˝÷~ů˝re7~äG¶·ÚĂßăŻ˙ć ¦¦›Ák dpńŠ˙ëíđ5?Íđo‘ůąěOĂľđĹŁř—ŽŻЉH|! 5#Ýw8ÁkÜĎظ{#Ăĺô¨őőVńkżĽk×d€5Ý<ĎśťÂŮ‘)?1ŽC‡/áWéůČ!Nę57'ľ©ňÖßţJř0˛ężÖ)ěT8s©% ¶UQ§JôôR‡čH] ó;,§)bnjů¤ zq©�IY˛ě8ČĂŻ#˸ĄÂ4Y4Űt¨ŕĽ„&K$ŻŚY«Ŕ"–4‚«](J‰*šĹüő)â ąŮLÝ©?ř¨9č_ÓăŹ×Ľ´›Ô>'‡k—ůß1z)7GßÖč ˝j‰ń(ĆĐkŻ8ÉŐMZă#ęSü3›íßěá8ů{żî dÚâ´Vrń×1 sj ‹&'Zű…˘ 9}•&&/jůn/ńÓ°EÇg)_# †]Ő:îŘUÁžjóV9ŕŢ}ňLëĚďă¶ť5÷şÔn ôÔqÓ¶*î?Ňö}üT{ÖgżŁŢµ»ę^K’˘Źľî$ż‡±BޤźWq•ŤżüFß»ßÁ]{ř$Ä`0W*XČÂXĆ`Kşť óRÇb‹¬]váD,?ó‚çá5×_ť¨qĚťšÁě±ÉĚćq§9Ľ×ĄE,Ţ«~ô¦ëq箝X;ŘźđűŔŹćs‡űoöÜ,îŮł+!dńüL]ĆŽľa›JľV覭[Đ;ć`ŠÝĆ"µ-Éímű-ć`‹p›9)ó~%G9 Ľ:ۨĘj±ÇAúÔÁ¦Lʉ6 mśđŐľ8Ąéŕ‰ÇĎă¶Ű“Ż xá‹6á+_>Ťńq µń߆e˙őîçyĎ[«Ż^‘đźÇ¤÷Ú˘ś_U‡ÉÄžč%ʇ‹—f2ć癳Óp|! «ťDŻü!Dż^Żřv'XńĹ{`vĎ]2"–ËŁłřűŹ<G»€©ézHĺ˝(˙@Šžůđ¤5•ńřäĽ/féîns{cč‰gšŠyâ?§ŕÁ[ĐßgN°ŠŤ÷:¦H(“>ŁŞŽ«…źßa9•HsSË'UĐ‹KpHĘ’ý`ÇAĆ~YĆ퀣P’“EłM ÎKh˛Dňʵ ,b!V8ˇČÂ_5%Ü.Ť‘3čÚ±+Q×CýÄQ˙şD©°ţő3ĽR”cĹńp1D«°8†˝qÂUNDă@­fd†ą>r6ÓÖđúwě/ő2©kV|y×V_tă i÷[tˇ8ęřn/ńÓ°EÇg)_# F¨»öö&„,¸—§N'MďÜSEŁ1źôÝÓť˛<y¸ölöu×^ďQarĄÓÍ+˛vgÜ۱łŔ`„x:»€¶żRĚęţr…,»×Up~‚0:ťĽđď>|öW}`0 ĆbÖąf0–XÄ’n'ĂĽÔ±XÄ"k‡]8‹ľ}Ó}4×DcĚ}řtb “]ĆěŃÎD,Ţö““—26?rÓuxőŤ×ú"–ćlóŁó9=ɧÇ19+_&’bűŻ1ÓŔmë6ˇ§–Ô\>;sOM^hýÚ.Â÷ěÝ…Ů‘ąüÝĆ"µ-Éímű-ć`‹p›9)óŔ"Ó<¤6¤h—Ö‘‡/‹X˘ ʵ ÚOÔľţőSH٧§Š˙É˝¨uÁŘÖŚžn…ź@ÄŇÄš5]xéK7gü~řĽż‹JÇ ;g˝şcÇĆ3–Wď[XśJ äp?•ŘgĹŠ~tuuµë|K%|4qÍľá çźľóa|óŰg|KKHâţ;0 ť‚N·DóĘŹ#Ç“ýňöĹţ«Ă~ĄúăTk~Vąý úX˘1 ÇiďKᑺćwXN%RÄÜÔňIôâR’˛d?Řq1‡_G–q;ŕXTEłML}ČÂd‰ä•1kXĢeľ�1ćž}*S7pÓ­ľ0Ąľ¨+üDŰ˝ëÖű«°řuˇ%§T¤{¶Žń!?|”zCßŐע« čź›YW%öqëz††Ńí¶űý®ýzĺę1Ę„ ą‹JšŹ*1 ‹Xt|–ň5‚Á`¨qĎľě•ę±ÓľśdwíI[îÜťôő„&O‰„,ű˛öšŤîu'őSřşűýř‹OÉŻśźy"[wăVď‡ĺž>ú ýxÇë{3×ô3cŔüŘB^é Q$xEĆňĄţ•mÇoTĹoj+ýYÄ"jg‹,ly"ŮW€úĄ9LÜw>‡CÉůZĽ‚ŠŐě»F7cćŘćFf}ńLd{pú2.MO ąă"–Čľr©‰[·oĹ×iµś˝„±zr ćáľ^\;¸''2ím±(mInoŰo1‹X„Ű$ČI™G±ć!µ!E»´Ž´8txYÄm–O$€8rdO>yű÷ŻIŘîŰ·żřK×âŁ9Š'¦üëM{5Â󟿯|ĺvôő%ż5„/ĺ”/t ^”^Í% //ď—Ń­ăV<{` ““óhżöhďžUŘÍ<óěX°2IëWŰ„îž ~ď7oE 'NNâȱ =>‰o}űĽ?$÷ŕ@ökÜéłSp*•Pôâ„ă×Äí·n’ćšX›Fréîr0=Äź?^ßxxűvŻLŘţ«WîÁSo˙nKHăýçýŕÝł|ĹK·âÇ_{.^šĹ!·O‡ÝĎŹ\ÂÉłłĽ‹I™tăR’˛d?Řq1‡_G–q;ŕXTEłML}ČÂd‰ä•1kXĢeNâŠ9§ŕt÷ )p™ţú—0üoJÔ żę_ać‚3z)o„×]µ«ŻÇę·żÍÉ Ôź}Ęý<‰ů‡ľúĂ߱˹DřąĚLcúţoˇ˙Ž»Úő==XőoŔÄ{ßĺż6¨­,ž1WţÖŰĐű‚;P?~ óO?‰ú3nżđ8ccÁµÝ!H/ę=ÝľpĆkŤ‡ÖaPŇ|TůiXĢ㳔Ż C{×5°qŘÁ™±öÄúÔŁÁ+†" ÷×m&?™ô˝y;ˇżŰÁÔ\ŕëýű/Ź'Ż�»ÖV°uE#3o{jMܵ» ź:)şüďźî˝J˝éö™łŔľ ~ŕzďűköţqQřˇ»±j€p÷Ţ*~úÎnĽ÷ëÉQ~ňŕ{÷Ż˝ Á¸ÂŔ+˛0–/H±żQż©M*±ÚYÄ" »đ"óČŹ‘ß°ľ«’}Hvěň(Fć¦ý‡RŃŠ(«†ú3vźô�¦NN%D,ÇgÇńîSâ× ‰D,fĎĎáž=W%lŹOŽáÉ© ‰ş;wďÄÜČś#Řf‹Ň–äö¶ýs°E¸M‚ś”yDďç˛A© ’µKĘj±ÇAúÔÁ¦Lʉ6iř„sŃqÂ×ďTđÁ<…™™ě ˛mŰń˙üęuxëż»?ůú«đŞÚ‚źüÉ«đ[żu#~â'vch¨+ăóŮĎĹŮłS±µĄeé I‚QMÂľt<aë5˙âĎ߀;^°]µJëEë×÷ăWŢr=†‡»Qsëwî½wo·® D,áŁcŮŐÍî˝{k0ţ'XéäöçoÄ«_± *xąĎÎ5|ńN/ąk3şÝáéďŻ` ŻÚ‹/}ătđÚĄöď[…·ţÂőXż¶/łTP­Vń˛oÁżr‡ołzUn}ŢĽîU;|qOű˘#u)Ěď°śJ¤ą©ĺ“*čĹĄ8$eÉ~°ă cżŽ,ăZsdŃl“˛©Y,‘Ľ2f­ÂsTÄb˘ĂĽ<‘I}ß÷J8CĂ ľ^8«Ö¶|<!ĘĚ#&l«+VaÝźĽ=×߼ִçů/ÄŠßţĎţE¶28„î›oC˙Źľ]űoŔR‚}‚ĺ0öÁżÍجü©źĹŠźűÔ†‡˝Î©28Śá·ţ&zo‘}­mßéŽŰË1ř3o悿 Zoš™ŐłőżęG€n÷©ăĐ `pĐß-˘ďR”4U>b±čř,ĺkÁ0�Ő}‘F'/''Ú wŐ܇}ŮsWµŽ\•ô=;žô˝{źŰN dŃŔ_Đí‹*ă8tř‰w;řća÷䆟ţńaŕ'ÝşŮT küŘ­ůŻ»í›†ÝűbÍI÷o”iüćË{ü× Ąń;wÜ1Á`0®0đŠ,Śĺ RlÇoTĹoj“ĘźE,˘v±ČÂ.„Eľ COÄâa]ooš3Ť:~ăĐ×}ä/o˝ 7 ®ĹŐk×�’vß=ż3:†]}+ĐWéÂéą ľśy,çÖ¶ű@mO×J¬čÇ…Éŕa˘Ç19ź|€w×Î];0'ć`‹Ú–äö¶ýs°E¸M‚ś”yD`‹iRR´KëH‹C‡—E,Ńiű«~xŻç©¸n\Ľ8Ź÷ĽűĽů-7ůB46mę÷?*<úč>ýĎG\úZđKo…=‰*ÂI<Aǧ?s7ް;¶·_ ÔŰ[ĂOżájüÄŹ6üUJĽ|×®ém=„ŠĐl>ţ©c~‰íýďŔˇQ\·uÂîuŻŮ‹ŰnŮc'&ý3É®ťCزy�*´Ď=Žwý’Ż-ú‘Wďň?>öéăn.'ü?˝&§x×űžŔŻ˝ĺy ű[Ü~zź nź&§ęXçö©Ż7{ăňáÇ/áécđ&ĚAu\-üüË©DŠ›Z>©‚^\*€CR–ě;2ćđëČ2®5A5˙KY4Ű$lęC&K$ŻŚY«Ŕ"­–y…‹”ůŁ<ŕiôŢü‚„Iß żÇ˙xôAŚ˙ú/ř×ߊđÂźü>6ýůűQlŮ×¶íÄŞ?yšcîwĚ çQY±•Ők3ˇçG0ő‰ëîÝ®˛âýĄ2÷Ý0úŃ`Ĺ˙XÂ`č'C?ú4ΞöE)Ő-[áÔ˛ÂŰÉży/hz:\ˇ.ş˘;î÷ăgĐs͵ [Oďăbú}ďĆÜűެ$ ”4U>b±čř,ĺkÁ0EwííÁ‡ŻjrçďŞâýĐ őÝ‹¸sw _zZęŠ{<! ÄŻ‚ßżř™;zńžűfőŹž~ě] T6í˝¶?y]{ćK=74šÍ ŞŁ§6‡˙ůă˝xÍźMűŻAŠŕ‰mŢú!÷s”ć0 cé‚Wda,o`;~Ł*~S›r|üm±ÚYÄ" {e‹X<lęÂ֕ɇYĽŻgFýí}«Ü/5ë26çç§ńí±3řňĺăxfę’/@YŐׇě؆ĽśÓů{+­Ü•Z•%Ž]k×`Ý|ʤ/,bQÚ’Ü޶ßb±·I“2Ź,b1ÍCjCŠviiqčđ˛%Ú s \‘ĄćżVçé§.ăö ˙:|ç;§ńî÷<ŠfÓiż"ÇäFW|ĂŐbšÍ ŢérŽśźĘ÷ôT±ic?Ö­ÍŠXĽářűŔÁCŁ1Nŕ‹_9‰ń‰l˙vnÂ=/Ú»ÝO$bůîŁ#8{n’TCĘŕgá_üÚ äaÇÖ/X úu˙Ă#řČ'm׬ęÁö-Bˉӓřóżz*Üߢ#u)Ěď°śJ¤ą©ĺ“*čĹĄ8$eÉ~°ă cżŽ,ăZs°ĹÖž,|Ô$ĹŘ“°Ŕ"–ŇË+şĆMţóÇÝgj ©Km׾đJľ®ďĚiśűÍ™ě+j+Ă+Q»jŹPÄâ­ürůŹ~Íń1‚ŹI'ěź÷ę Ş»qéť˙ “ßą/kX«ˇşej;®ŠX¦ľđYL|ŕo2ˇ<îńO|y¨îąÚ˙^ß Ťs]IóQĺ#¦a‹ŽĎRľF0 ;ܵ7˙/–í©äřĘŰj·ď”OŢąů9Ľůînüŕő]Âv™§'ůő—÷ŕ%׸±É67÷fpăVżň’îŚŮ7ďţ* q…,Śĺ lÇoTĹ˙ľˇ›E,˘v±ČÂ.®Eěg&bńěi¶‰·ÜyzkâĺŹĚŹű˙ÖÇëřw/˝{×­FVôă7ľ˙{0ÔŰü\“˙ÎŹÎă®;¤żgď.Ěś›p°EiKr{Ű~‹9XÄ"Ü&ANĘ<"číç2>/“¬]RVs°Ą8Ňç Ć0Ő`zL´9ČÜÇTŻđ Vf©˘Z­áŔłŁxŰ~÷ÝwRřşFF¦đßűűyőzŔ…đ=…J&JÎéÖk~*5\8?‡·ýń·p˙g  gđ§ń]|ńË'}N§őŘËÁřd˙ăOÂĺŃŮ\Ž§ź˝„wĽűa4›ÂTĂLť°{ľrß|ůë'Ą|;¶B_ SńÄCU|ä‡ńßţěAŚOĚAr÷ńWżużó_…8˘#u)Ěď(ßdKsSË'UĐ‹KpHĘ’ý`ÇAĆ~YƵć`‹­=Yř¨Iб'aE,LôšvüáĚ˝~4OĹ…·˙'©Ĺ„łq‹żí YĽlsßú*Nţâ0{čYťp}ňQśů•źÁěŹr±@Çdß{Ŕç}jžĄ>Źłżţ«¸đ˙BřJ 4<QĎĹ÷ü9.üŃď´NnNřń˙"r7¦>ý Ś}ęĄŐ˝WłĹ҇ ímbtâł”Ż ĂkęŘżIü8oÝPĹ˝/+‰îßŘpďËŠŻ€7oݏ÷jĺמ¦{˝nş×©żxC/ţăö [ăküĺĎôáďíö_÷łĐ'jNăW^Ú…çmÍŢÓţo˙âŕÉÓ`0 Ć~µcy‚ŰńUń›Ú”ăăołEÔÎ"YŘĄ!bňc$ĆéíŔľ1ŐŔޡUř˙^ór|âń§ńŘéł™rov51ÜÓă R<żúXłţđ߇Ż<ŠűÇá‹1>;ëŢt¬`ËŠ¸mÇV|˙ţ=čˇ*šłŤś\Eů�+§»±oý:<}v$aß]­âůë·`î©é‹X”¶$··í·E,Âmä¤Ě#‹XLóÚ˘]ZGZ:Ľ,b‰6ČܧUv|O4â‹OB›)÷:ö·ó$>ů‰¸éć ¸úęŐزeCCݨV+nű<FGgqđŕ%<ţÄy<öŘxóËÂT*µ`…O¬á YČ_YL&Ştśö’ĘN¬Î/»ygÂĚlńîǰ}ëaÜqű&ěÝ˝ ë×÷ŁŻ·†ŮąĆÇćpřč(}ě<ľýŔą`U/ečA`Ő}@E8r|żů{ßŔ‹ďŮ‚›o\‡ŤĐ?Đ…éé:ŽĂ׿yßřÖi—Ł!KŃJ,Žź¨—cďţë'q˙Ăgńâ»¶b×ÎěF˝ŃÄŘřĽË;ďŤMŤf¸RM%řeÄCŹ^Ä/˙ćWpçmq‹›ËŽ­ĂXą˘Ç݉Éyś;?ŤÇžş€Ż}ű NžžBĹăjřóüÖ%÷ď˘Íď°śJ¤ą©ĺ“*čĹĄ8$eÉ~°ă cżŽ,ăZs°ĹÖž,|Ô$ĹŘ“°đܱg}’5"qF–\đ';jNX/B%zÝŤ‘ôVqݧnaúłźŔÉgźÂđk~}7Ţ‚ÚÚőľŞŁ96†ú‘pş»Űů¸ö]îgţÄśzËëŃ{űťĽűĄčąúZÔÖotm{üŐWęF0óČCüú—0űŕ·}HW%x}Źő‘$ýŠFHÔLAţGîë¤í‘‡H–ę´ňę Çţú=űô?bč^‰ţ[^€žť»Pv/Ľ 4F/cöČALß˙-L|ćS€[öűçýýq…cí•kî‰ďâ}&ľö% żâ5č˝ćZTW¬tżŔ×Ѹ| őgžŐş@ŤşŽ”őÝĂb±čř,ĺk„…)Áę¸{_7ž8ťýÁť»«~» xŃ®*>ůhÖćî˝î#BĘ˙ÄÜܬ˙ň[ľ§Ż˝Ą üÎľv gĎ6qy:xUĎşÁŠ/´yéţ*~řć.ôu»uxĽ¤hʆű7ÇŢţă˝řÁ˙5‰éŘÍąéüę|â—HK”Ă`0ŚĹ…ć·ö\;G°ť÷Ż#)·<Đţ7úTĂşjęăµyィÜrËmßđ/_ăą…fě'¦ŢŻ<˝ĎŁżńga’˙˛%§ůy‰Ć-ăďŔŚ_âWv_â1TyIÚĹa^Äâm÷îFmew‚cîč$ćNMĂVÄŐU‡jčwůťŞ“±őVJ™|"X•Ĺ˝K×®:XňzhÎ61ńÔş7ôˇgCOÂfü±1ĚŹ×ů}®ôVđŢ‹ŹâÁăÉWĽh×NüÔÖ1sv6aź;Ž”®gK6¶h›E,&9éĹ‹XĽßó­—Öcw¤˝ň&]_˙MĚ!˝r˘NČÁ"–â8Hź:ĂTé1Ńć sźx9ü_tś6©á‹7šîżu˙}Ů޶÷ÉgNKĐá­śâ‰+E\Ä„h6çÝçHőłîÇňć'z©ú—.ß× ĹŃľđsj9µskřsŚ„Ě]ÇçŞú˙VÂí «nżÂľź†#Gď˙ńůß ÇĄŔüÔB1I­Ĺëĺäý:ľáöÓçôók†cT Ǧć笀ă„ăíŽEÓó Ća.™ă(|MSÔś+ŐpŐšřaçwXN%RÄÜÔňIôâR’˛d?Řq1‡_G–q­9™şg>űúR®«î^—‰•Ň®„QgödáŁ&)Ćž„ÍŰa%÷,|˛Îj3ox«oĚ7˝Oóî¶·`™Ł-ŠÔ*ÁJžmÝý_ݵťksÂłóDž]·{ěWťHŽŘÎąśőżňÖ|Ű€·Öş&…ܡmťˇ¨Ä_}Ĺ˙Ŕ˙AD-ŚáePó÷rjxW§fđşŰ4<űh•Ą“đ_/Ľw‰ â6[|ú_iŹA5ä@8nÍXľŢ¸Íűó7~t…}ěrÂ1 ďUvÍ–O3´÷ÇÄiʉ“F8žü´Ť‹ Ń>«…|Q+­ď!Źëí—FŘ˙fkčÓËŁŠxŇ‚#t ‹iXĢ㳔ŻiÓ›Nť)ĺşzř™‚ Žž Äđ;¶4PŹůĘâs*ŢëcE+g»s 9žËçT† ţűÇűî'~m†Ďévçm/Ô `%Ĺă«ŐjŘş©Ç(ŹíםżTÁÜÜ6­ËľĆW6^AńxóńÇ|W"ßUű^Ńńu•±|°rĺ ˙ßü΋|m ˙m¤>ţŰŚ}(öoúI9ďßôvĘż$YsČXľČL±ČŰ‘ź—hÜ2ţ,bÉk÷·ĹXň9:±xđ^4ńČ(z6ő˘şÂ}@×Ső‡¦9ď>ÜŞSŰŢÝlÝk{е¦Ő÷AW—ă_ňęÓ Ě_śĂ외ĎŰĐ-Ś-« oş‡Î_@÷ěŢ…Ů“s űÜ1˘t=‹X˛±EŰ,b1ÉI˙,GÄR*2sHŻś¨r°Ą8Ňç Ć0Ő`zL´9ČÜ'^nU†©ŕ= ©ůe_ĽďaM$d!_�’¸uç;9-ŃJ ‰¶+­UUĽ§_ţŠ/×ů©SxŁ z‘čś>ňD ŢF3¸±ĐlzÜÍ–Ŕ„â?…ă&s©†‚ř±*ŢWĘJĐO_ â=h¤@ă´„9AîQ®„ča¤Ó°8ˇ¸Ä祪˙3ŕV‡ŰĎhÜ c*aŽ•Öë–‡PˇšŰ-ď^%żP‹ô,xŮşˇâ b‚Ufc±¨ç¦Ř‡ ŕ”%űÁŽŚ9ü:˛ŚkÍ!±xKY4Ű$gęC&K$ŻŚYěšaî¬ ˛đÉ:ë#1BoJ¬®ŠX*ţ9›|a÷Ő»;¸Ä6ˇ�"8k‡×]j‹a˘ M´í+ˇŔ"q_d–ĽKI•ŕŻ>FN,'XEĄ]źBżÎ_Ěý„yEł6zýžÓĘ3čKü•ÇĽţ5Ń«hRk…• жCűrŤq$Ž rlšNĚ/şÖSđo$Z©P 6AÚ>6&žO57•3·ÜĹ,Íđ:NŃ«ÂÔ"žV?c9yő^<ŃQ%˙ÄţN©†ýi­V±¨|ČĐŢ&F'>Ků‘1]° +±üŕýřŔ˙n®‡zŐĎĆ ×�Kr¬Bs®ý|(hń®Šń+IřCŹŹÔŻť]xŻ Ä,ÉżýśJŻžh†Á`0‹˛0–'(ő/‹XrÚ‘ź—hÜ2ţĚř%~e÷%C•—¤]vqE,ÓOŽ ü:±DŰÍ™¦O¦ęťlţî˙ćFf1;2+Žîż©C“<4™±‰Űzż^;77…Ť=m6đ©ópyzqlY1Ś]Ý+1Ńlĺ”;Ž”®gK6¶h›E,&9éW EGUNԑȆE,Ĺq>u0†©Óc˘ÍAć>ńrf ÚqĽŐ>šŠ+|aE°jI%˝G 1QFĄ%ńAśX Ç_AÄ{ČDNěo§ÚľDy¤sŤ‹8šžpơö 1MŠEž˘yʤÚů´9hĽ•L(|pE‘č$6 NČÖĘ“Đlť}‚§e_RIÄő]zýqk&~ îsĹÄ5Q 2u ĆÄ/±äýżŠUÚ‚P@Ă"–l™tăR’˛d?Řq1‡_G–q­9XÄbkO>j’běIXp …’űA>Yg=Ä… Uę…†'v'I%qT[×Ńđű°ÓşśřÄ•Ř:N´ŚrŕăTśÖő(Za%Ä„/Áűě!…'b©$Ż5mHx}Bŕă·5á_KŰ"Ív%đ@ěuBxĹ_ňąâ .‚©Ä!ˇikĚ¡h­ ďK,;o"–¶¸§â$cµĆ„Ú·T#LČď•}Şw Ť /źh‹Ž˘«©„"š yňűZsËńuŕ*±>'Ä;±ľkŁ cXLĂ"źĄ|ŤČúšça‘͸§öXˇé­Ü=ŤÎá]śf×Y˘^÷Vő´ôOŤÁÄD5ǸŮZ©†Á`0W&XČÂXľß¨ŠßÔ¦t{z›E,˘v±ČÂ.®EĚQśEĽ-±¨¶ÉLxđĚäEĽóä‰Ç‡iĽúć0;2×Ę)7J׳%[´Í"“śôŹÁrE,TâŤA2,'ęHdĂ"–â8Hź:ĂTé1Ńć sźxY:ŽNëźŕÁL5|ĐUAüő:IŽPP°Íí«P´şIĹçóŇUü>D+Ť´„Ž#ČËi5µÖŞ%ţľ¨¦{č„<Q^í_¤ÇyüÇsaěh5–,GQđĐŠVś¤%°`Ěj᫊š áBL4>í1q˙m†cĺµµrˇ0k§Ĺß±EP&ݸT�‡¤,ŮvdĚáבe\k±ŘÚ“…Źš¤{4˙F*ądá“u6÷ D…ŢÁľBȉ®hŻFâť—Éa׋j(Â^iĄ´Ež8„BK›7ąDŰśVLňĹQ¤~ŢÍĐ?ÄP\ąóŹ÷ʼn5űĄp5µfĘ/ľ‹“ăhu•HLC“P´âĮ٭1iŮ·ëZ}#±řÄ_é Á 5~'vRNŤ˝ÓÚ§É#;ęsĄŮ^­.Z'\6NH+Ú(čÓtW>dhoŁźĄ|ŤČúĺ}We0 Á`,?°…±<żQż©Méöô¶ŕ‹˛ÔVîCJGÂ%˛ŤĹHµ“a^ęXްťE,˛°,bŃň3±x1™8—i‹ăÖŰpë†-¸ôđ(XĢaKr{Ű~‹9XÄ"Ü&ANĘ<",K¤('ęHdĂ"–â8Hź:ĂT2W)™űÄˤă­öA­'^‰ETü˙%}ÚŻr2ă_íáďµ)ö�Şő "É9¤ÍáÄ2¬&8Ň>"Î'Şuü^šÁk‚¤q{d×'9FΤĐ­!Žżc˘ý  †ö8§Î…‹6żĂr*Ł9‘á0đIôâR’˛d?Řq1‡_§5ż‹ä`‹­=Yř¨Iб'aAóo¤’űA>YgsźčĽÜ~]O›®˝ęIxŹfÓ˛K_Oâ×Áŕő=ůö*ÄŮn ý|îpő‘0„čď‹}Br(*ˇ°$KBdňA[D’î#91©†=śX{2FŔÓţţBńŽ:‚ţA~TG®‘0)Đ�9<%ÍG•ŹĆQDZń!C{›ťř,ĺkDĆ4ü›“Á`0 Á0 YËÉ;",b1ČK4nfüż˛űʎĘKŇ.«ń°;ÁÁ"˝Ýüşíń©óá¶ťŰđ wżS§Ŕ" [’ŰŰö[ĚÁ"á6 rRćE,ů źx™íŇ:ŇâĐáeK´Ać>ń2™úDjbŹăü˙%mś ‡(϶€$+@I‹Mňň cÉ8NĚF='Â_„ű+«”Ăô'x`•='µ|bOóŇśŮ<$㜊(ç8GÚǦőüË©DŚćD†ĂŔ'UĐ‹KpHĘ’ý`ÇAĆ~ťńüî”COÄ"Šł íJ˘ÎěÉÂGMRŚ= ĎmK'µá¤Îîˇ1áŕd„"Ůމ}̧-žĚZ9)űřu%±2™ĚO0^Y˙ÔŐ-gŚ…}Ś%ĺč؇>yGc2G'Ůń4· ”Í!ř'gß”4U>bGe`ÇƇ ímbtâł”ŻÓđďVÁ`0 Ă,da,S8É›ÚŃvü Wb›E,˘v±Č²EËĎBÄâa˘1Ź«VâÔä&fçĐts¸·{×­Ĺ‹ö\…›¶nĆĚĹ9Ě^ĎĎŇő,bÉĆmłĹ$'ýcpáD,ńú2@Šr˘ŽD6,b)Žô9¨1L5(s•rąOĽL>‰˛ŁÉ!Ď3GŃŠŚ#‚ŁçŃś[9 ™�%ßG/Źt{Z®â(Ź+ëcÓz~‡ĺT"Úq…>©‚^\*€CR–ě;2ćđë:śßć,b±µ' 5I1ö$,h><-ądá“u.ĆG4"˘s™®`BŰ^ŕŁô“śßś</Ťńr,|~¤çÖ‰XÄ)`ż“(…Źi [1 ‹Xt|–ň5"cęo°…Á`0 a˛0–'â7µ)[—Üf‹¨ťE,˛°,bŃňł±xŰŐnüűď»N—řf‡'bf2?J׳%[´Í"“śôŹA±Ä[;çPřÄˤh—Ö‘‡/‹X˘ 2÷‰—ÉÂÇŠCž§Î8*ÇŮ‚#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚá×u8żÍ9XÄbkO>j’běIX`‹–ůÍKv~C‡"–Ž}rΛ*źŇě>Z‹—¤ ,bŃóYĘ׌©żÁ"Á`0 †=XČÂXÖ`‹A^ń‡R±äµűŰ ±číľd OŔRź¬ŁÚ_EĄVńë›ő&ęăuĚŚĚbîR=?J׳%[´Í"“śôŹÁĺ#bIňęHdĂ"–â8Hź:ĂT2W)™űÄËdácĹ!ĎSg•ălÁ‘¨kÍ ý/ĺ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\*€CR–ě;2ćđë:śßć,b±µ' 5I1ö$,°EË|‰ć%;ż±EĎG‹bň’TE,z>Ků‘1ő7^Ärôdť Sćc>ćc>ćcľĄČÇ`\É`! cŮ‚E,yĹHýYÄ’×îo'8XĢ·ű˛95ç cOŽKísó t=‹X˛±EŰ,b1ÉI˙\‹Ő CP^‰lXÄRésPcjPć*ĺ sźx™,|¬8äyꌣrś-8u­9a°˙Ą(™ňm4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ý`ÇAĆ~]‡óŰśĂNÄ"Š[<n'¶-4°!-Řž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čů,ĺkDĆÔßXx Á`0 ců…,Śe ±ä őgK^»żťŕ`‹Ţî+XĚAéz±dc‹¶YÄb’“ţ1Č"–x+u̡đ‰—IŃ.­#-^±Ddî/“…ʇ<OťqTŽłG˘®5' öż”%sPľŤfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻëp~›s,=‹2ŽMpS˛0Y"yeĚZ±h™/ŃĽdç7±čůhQ,B^’*°EĎg)_#2¦ţĆâ‰XvliŔŃ/ßmý™ŹůŹůŹů–"±ŔBĆňɶYÄ"jg‹,,‹X´üXĢąYÄ‚s’KĘą¬CfŻ ˛%ŢJs(|âeR´KëH‹C‡—E,Ń™űÄËdácĹ!ĎSg•ălÁ‘¨kÍ ý/ĺ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>©‚^\*€CR–ě;2ćđë:śßć,b±µ' 5I1ö$,°EË|‰ć%;ż±EĎG‹bň’TE,z>Ků‘1ő7OÄÂ`0 ÁX~`! cy‚dŰ,bµłE–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ!ł×?_ÄŻ/”Ú T+Éěµ9>ń2)ÚĄu¤ĹˇĂË"–hĚ}âe˛đ±âç©3ŽĘq¶ŕHÔµć„Áţ—r dĘ·ŃĚCjc=żĂr*í¸BźTA/.Ŕ!)KösřuÎosŽĄ-bÂ&¸©Y,‘Ľ2f­‹X´Ě—h^˛ó‹Xô|´(!/IXĢçC†öfDĹŘ'Ďy,ba0 Á` ˛0–7â_ľXÄ"lg‹,,‹X´üXĢąYÄ‚s’KĘą¬CfŻ ˛%ŢJ2{m…OĽLŠviiqčđ˛%Ú sźx™,|¬8äyꌣrś-8u­9a°˙Ą(™ňm4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ý`ÇAĆ~]‡óŰśŁ‹(ŹŇ`ĚÔ‡,L–H^łVE,ZćK4/ŮůŤE,z>Z‹—¤ ,bŃó!C{3˘bě“ç<±0 Á`0Š YËń/_,b¶łE–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ!ł×?YÄo%™˝6‡Â'^&E»´Ž´8txYÄmąOĽL>Vň<uĆQ9ΉşÖś0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă cż®ĂůmÎÁ"[{˛đQ“cO‹X´Ě—h^˛ó‹Xô|´(!/IXĢçC†öfDĹŘ'Ďy†"–˝¸2 Á`0®d°…±<˙RÄ"a;‹XdaYĢĺÇ"Í}Č"t“ôXRÎeý2{ýcpi‰XâŰe€R”j%™˝6‡Â'^&E»´Ž´8txYÄmąOĽL>Vň<uĆQ9ΉşÖś0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă cż®ĂůmÎÁ"[{˛đQ“cO‹X´Ě—h^˛ó‹Xô|´(!/IXĢçC†öfDĹŘ'Ďy,ba0 Á`”˛0–7XÄ"lg‹,,‹X´üXĢąYÄ‚s’KĘą¬CfŻ .E‹áÍDPjR­$ł×ćPřÄˤh—Ö‘‡/‹X˘ 2÷‰—ÉÂÇŠCž§Î8*ÇŮ‚#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚá×u8żÍ9J±’*6ü¦>da˛Dňʵ ,bŃ2_˘yÉÎo,bŃóѢX„Ľ$U`‹žÚ›cź<ç±…Á`0 Q.XČÂXľ`‹°ťE,˛°,bŃňc‹ć>d :ĚIz,)ç˛~ ™˝ţ1¸4E,ńşR™‡A‰Äfâ:ŰäúÄˤh—Ö‘‡/‹X˘ 2÷‰—ÉÂÇŠCž§Î8*ÇŮ‚#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚá×u8żÍ9XÄbkO>j’běĹűE,ZćK4/ŮůŤE,z>Z‹—¤ ,bŃó!C{3˘bě“ç<±0 Á`0Ę YË,b¶łE–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ!ł×?YÄŻ$±™¸ŽÄ6ą>ń2)ÚĄu¤ĹˇĂË"–hĚ}âe˛đ±âç©3ŽĘq¶ŕHÔµć„Áţ—r dĘ·ŃĚCjc=żĂr*í¸BźTA/.Ŕ!)KösřuÎosŽňD,˘Ü ¦É…‰M‡KČ+cÖ*°EË|‰ć%;ż±EĎG‹bň’TE,z>dhoFTŚ}ňśÇ"Á`0 Ć€…,Śĺ Jý+Űf‹a_~e÷%C•—¤]–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ!ł×?źŁ"–DĽv‰rŰSu$¶Éő‰—IŃ.­#-^±Ddî/“…ʇ<OťqTŽłG˘®5' öż”%sPľŤfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻëp~›s°ĹÖž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čůˇ˝Q1öÉs‹X Á`0 ˛0–/(őŻl›E,†}ř•Ý—x U^’vqX±hů±Es˛ć$=–”sY?†Ě^˙\ú"–řvŃ T‰rŰSu$¶Éő‰—IŃ.­#-^±Ddî/“…ʇ<OťqTŽłG˘®5' öż”%sPľŤfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻëp~›s°ĹÖž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čůˇ˝Q1öÉs‹X Á`0 ˛0–'(őŻl›E,†}ř•Ý—x U^’vqX±hů±Es˛ć$=–”sY?†Ě^˙|n‹X’`Kq¤ĎAŚaŞA™«”Ě}âe˛đ±âç©3ŽĘq¶ŕHÔµć„Áţ—r dĘ·ŃĚCjc=żĂr*í¸BźTA/.Ŕ!)KösřuÎos±ŘÚ“…Źš¤{XĢeľDó’ťßXĢçŁE±yIŞŔ"=2´7#*Ć>yÎc Á`0 cáÁBĆň)¶YÄbŘ_Ů}‰ÇPĺ%i‡e‹–‹X4÷!‹XĐaNŇcI9—őcČěőŹA±ÄٰVRG0÷‰—IŃ.­#-^±Ddî/“…ʇ<OťqTŽłG˘®5' öż”%s(ćĽfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻëp~›s,śE”ë‚Á48YŘt°„Ľ2f­‹X´Ě—h^˛ó‹Xô|´(!/IXĢçC†öfDĹŘ'Ďy,ba0 Á`,XČÂXž Ĺ6‹X ű"đ+»/ńŞĽ$íâ°,bŃňc‹ć>d :ĚIz,)ç˛~ ™˝ţ1xe‰XâŰe€ĺDYřÄˤh—Ö‘‡/‹X˘ 2÷‰—ÉÂÇŠCž§Î8*ÇŮ‚#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚá×u8żÍ9XÄbkO>j’běIX`‹–ůÍKv~c‹žŹĹ"ä%©‹Xô|ČĐŢŚ¨űä9ŹE, Á`0ŚĹ YË$Řf‹a_~e÷%C•—¤]–E,Z~,bŃ܇,bA‡9IŹ%ĺ\ÖŹ!ł×?YÄ‚~Ęł! źx™íŇ:ŇâĐáeK´Ać>ń2YřXqČóÔGĺ8[p$ęZsÂ`˙K9P2ĺŰhć!µ±žßa9•v\!‡OŞ — ŕ”%űÁŽŚ9üşç·9‹XlíÉÂGMRŚ= ,bŃ2_˘yÉÎo,bŃóѢX„Ľ$U`‹žÚ›cź<ç±…Á`0 ±¸`! ců‚Ű,b1ě‹ŔŻěľÄc¨ň’´‹Ă˛EËŹE,šűE,č0'鱤śËú1döúÇ ‹Xň@yu$¶Éő‰—IŃ.­#-^±Ddî/“…ʇ<OťqTŽłG˘®5' öż”%sPľŤfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻëp~›s°ĹÖž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čůˇ˝Q1öÉs‹X Á`0‹˛0–'H°Í"ĂľüĘîK<†*/I»8,‹X´üXĢąYÄ‚s’KĘą¬CfŻ ^ą"–řvY Ľ:ŰäúÄˤh—Ö‘‡/‹X˘ 2÷‰—ÉÂÇŠCž§Î8*ÇŮ‚#Qךű_Ę’9(ßF3©ŤőüË©D´ă 9 |R˝¸T�‡¤,ŮvdĚá×u8żý:#ŽĹ±r/ ¦ÁČÂĦC%ä•1kXĢeľDó’ťßXĢçŁE±yIŞŔ"=2´7#*Ć>yÎ+YIJ VÁ`0 Ć• ˛0–7˘/G,b1ě‹ŔŻěľÄc¨ň’´‹Ă˛EËŹE,šűE,č0'鱤śËú1döúÇ ‹Xň@yu$¶Éő‰—IŃ.­#-^±Ddî/“…ʇ<OťqTŽłG˘®5' öż”%sPľŤfRëů–S‰hÇrř¤ zq©�IY˛ě8ČĂŻëp~›s°ĹÖž,|Ô$ĹŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čůˇ˝Q1öÉs‹X Á`0K,da,_D_ŽXÄbŘ_Ů}‰ÇPĺ%i‡e‹–‹X4÷!‹XĐaNŇcI9—őcČěőŹÁĺ b1Ľůh�Ę«#±M®OĽLŠviiqčđ˛%Ú sźx™,|¬8äyꌣrś-8u­9a°˙Ą(™ňm4óÚXĎď°śJD;®ĂŔ'UĐ‹KpHĘ’ý`ÇAĆ~]‡óŰśE,¶ödáŁ&)Ćž„±h™/ŃĽdç7±čůhQ,B^’*°Eχ íÍŠ±Ožó®|ËŃ“Ut‚Ný™ŹůŹůŹů–"q%…,Śĺ‰čË‹X ű"đ+»/ńŞĽ$íâ°,bŃňc‹ć>d :ĚIz,)ç˛~ ™˝ţ1¸<D,ńú˛A© ’µçÔQŞŇŚ´8txYÄmąOĽL>Vň<uĆQ9ΉşÖś0Ř˙R”ĚAů6šyHm¬çwXN%˘WČaŕ“*čĹĄ8$eÉ~°ă cż®ĂůmÎń±Ř" “’âŘŘ“°Ŕ"-ó%š—ěüĆ"=-ŠEČKR±čůˇ˝Q1öÉsŢ•/ba0 Á`,?°…±|Á"ĂľüĘîK<†*/I»8,‹X´üXĢąYÄ‚s’KĘą¬CfŻ ˛Ĺ”Ú Y{NĄ*Í8H‹C‡—E,Ń™űÄËdáó˙gďMŔeI®ňŔ“wż÷í[/ďőľ¨Ő«¤nµ$´# @l!Ů,Ů ö0ŘĆŘĂ|Řž±g ă{>đ ĆXĹRKBIhoő"u·şűőňŢë·ow_*¦2«*+–s"NDfÖ­[÷üŇíĚ8qâ?‘±dVý/+‰®'§ýśŔaŘĘ9qýIhCů}ő }’çw7mU„ĺ(c%xqU Dš¸i*šŁ°UśßńŰäM,±P .) Š-ĂôWhBD,,÷!­µľ‰…W†E± ő"L "^éGTŹżąćŤŽĺú#‚Ţż|O-/|Â'|Â'|Â7Ś|Á(@„,‚Ń„X"Ű‚”kş-zŚP˝|<¬XXĺDÄÂĽ†"bŠu"ÇRp.ócPţü1("–X(ëDQů›˛ŚqŠĹÁáKďDĹ—ŃÓ*ˇL]ON?ű9ð•s"âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9†KÄ‚Ů6*Á%Ąň±eţ M…ĺ>¤ő˘Ö7±đʰ(6ˇ^„ DÄÂ+Ł"ýăęń7׼ѱ@ Fc lqdYřCăĂtĺć‹ED,¬n‚NťB>¦MD,Îą˛í"bqccç"b‰© ŽžE?/=˛Č(=e”u˘¨|ŹMYĆ8ĹâŕđŠĄw˘âËči•P&‰®'§ýśŔaŘĘ9qýIhCů}ő }’çw7mU„ĺ(c%xqU Dš¸i*šŁ°Uśßń[CÄRçľĘ‚Jpa” “ÔăŻĐ„XXîCZ/j} Ż ‹bęE@D,Ľ2*Ň?ލsÍËŔ÷U@ F˛G F ňFÁčB˙�C™6ó\D,¶oŁmŃc„ęEäăaEÄÂ*'"ć5 T¬9–‚s™ňçŹÁí!b©Ę:QTľÇ¦,c‡bqpxEÄŇ;Qńeô´J(“ÄAדӏÁ~Nŕ0l圸ţ$4̡ü>Ěz>Éó»›¶*ÂŽ‹rD”±Ľ¸Ş"M\‡4ÍQŘ*ÎďxŽ!±`™„JpI©sl¦żB"baąi˝¨őMD,Ľ2,ŠM¨a±đʨH˙8˘züÍ5oxD,@ y#‹`$ŃRÚß˝‡'ý!J˙� łŁľůąXŔ›ŹŘDÄbô)Í!"ž‹…W:Ý"bˇëŃĂÖ±¨¤o=x(¸ťąŚ§IČ'mŠĹÁáKďDĹ—ŃÓ*ˇL]ON?ű9ð•s"âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9†WĢPŹz *;ŕkZýIóWhBD,,÷!­µľ‰…W†E± ő"L "^éGTŹżąćm®ĄŐäľÚŕł°@ ĂŮűٞ¶<°×d-Ż­š¦ëkąţfG}ós±€7±‰ĹčSšCD,< Żţt şDÄBף‡-$bi˙m¨e°Q׫š××WŚxv|źMYĆ8ĹâŕđŠĄw˘âËči•P&‰®'§ýśŔaŘʵ%âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9†üM,­ǧ®}u©Ąčž,Ň…Q&LRŹżB"baąi˝¨őMD,Ľ2,ŠM¨a±đʨH˙8˘züÍ5oóßIJŚřÔ¶Ż.­€@ Ű ŘŢ'?-$%E0’8żtą˙đ¤? é avÔ7? xó›XŚ>Ą9DÄÁs±đęOÇ ű@D,t=zŘZ"–Ëëˇ),®\4bëq}6eă8‹Ă+"–މŠ/٧UB™$şžś~ ös‡a+×–ëOr@ĂĘďìé“<ż»i«"ě¸(GD+Á‹«jŕ ŇÄuHăPŃ…­âüŽçnK~P«— )ś[Sx†‚ TB™0I=ţ M…ĺ>¤ő˘Ö7±đʰ(6ˇ^„ DÄÂ+Ł"ýăęń7׼ͱä8ŻZĐΞ»�@ l'ś=×ÜçŔÁ0@„,‚‘ıËç:'úC”ţfG}ós±€7±‰ĹčSšCD,< Żţt şDÄBף‡­'bɱ°ršÂĹůÓFZ!> K«@>iS,ŻXz'*ľŚžV e’8čzrú1ŘĎ †­\["®?É s(żł¤Oňüî¦­Š°ă˘e¬/®ŞH×!ŤCEs¶Šó;žcřE,ů[Ëg )<żŇňT„†J(&©Ç_ˇ ±°Ü‡´^Ôú&"^Ĺ&Ô‹0XxeT¤Q=ţćš7"–Ç7š˛<ě@°ťđü±ć>†"dŚ$ž<wÂ|Ň?@Ăě¨o~."đć#6±}Js‚ç"báŐźŽA÷Xčzô°5E,ůůĹĄŁĐN_xÎeCaiČ'mŠĹÁáKďDĹ—ŃÓ*ˇL]ON?ű9ð•kKÄő'9 aĺ÷aÖôIžßÝ´Uv\”#˘Ś•ŕĹU5piâ:¤q¨hŽÂVq~Çsl KŽÖü1h __Ü�Ľ"4TĐŔ@l¦żB"baąi˝¨őMD,Ľ2,ŠM¨a±đʨH˙8˘züÍ5oxD,9ž\_‡¦đÄĎ‚@ Ű ˛÷ F"dŚňß~Ëţíá“O÷ŤúhúĂ•˛óís±€7±‰ĹčSšCD,< Żţt şDÄBף‡­+bÉqnákĹ^Xçďˇöö×gwâÚńŤ´ ä“6ĹâŕđŠĄw˘âËči•P&‰®'§ýśŔaŘʵ%âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9¶Ž%ÇúĄŻ7¶Ż~e~© 40[†éŻĐ„XXîCZ/j} Ż ‹bęE@D,Ľ2*Ň?ލsÍ.KŽGÖVŰWüĘc ÁvÂ=Vűľ* &@ A|îXç‹6ă4ýáJYGç\D,ŕÍGl"b1ú”ć ĎEÄ«?î±Đőčak‹Xrśşř 4…gN<bÄÂâ—iČ'mŠĹÁáKďDĹ—ŃÓ*ˇL]ON?ű9ð•kKÄő'9 aĺ÷aÖôIžßÝ´Uv\”#˘Ś•ŕĹU5piâ:¤q¨hŽÂVq~Çsl-K~¶vî«Đ>saŐď -ĂôWhBD,,÷!­µľ‰…W†E± ő"L "^éGTŹżąć ź%_ó>·˛ Má3ő@°ťđ™ĎČŢ'mČY#‰ćĎÁC'ŹvS"b±}m‹#T/"+"V9±0ݎX bťČ±śËü”? n?ËŮůŻÁâjsż ~yá4ś8ó„aS–ʞŚh>iS,ŻXz'*ľŚžV e’8čzrú1ŘĎ †­\["®?É s(żł¤Oňüî¦­Š°ă˘e¬/®ŞH×!ŤCEs¶Šó;žcë‰XZ—žµ|šÂ‰Ő<x9ü *h` ¶ Ó_ˇ ±°Ü‡´^Ôú&"^Ĺ&Ô‹0XxeT¤Q=ţćš7ś"–‡××ŕ…Ö4…ă'NĂ—”·˛`{ ßóň˝O eE0‚č<¬}ř©/‚XDÄÂę&čÔ)äcÚDÄâś;,ŠĹŤŤť‹%¦Nü1¸ýD,yťž?˙çeŮúŃá|ě™Oi1M(Ëć“6ĹâŕđŠĄw˘âËči•P&‰®'§ýśŔaŘʵ%âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9¶ž%Çú©ĎvĎšŰW?pÎ˙/ÓUĐŔ@l¦żB"baąi˝¨őMD,Ľ2,ŠM¨a±đʨH˙8˘züÍ5o8E,9>Ľ˛Üµ4·Żľ˙O‚@ Űý=݉}U E0ëĺŢoÁýŃ×ţ˛ý „|Ú®?pç"bo>b‹Ń§4‡X x."^ýét…®GŁ!bQŞGO?Đ)­ý.ŞľGĆŰ_úúGŠýUYľúu°NŃ´iS,ŻXz'*ľŚžV e’8čzrú1ŘĎ †­\["®?É s(żł¤Oňüî¦­Š°ă˘e¬/®ŞH×!ŤCEs¶Šó;žckŠXňF®˙DqÚäľúľS‹Đ"üUĐŔ@l¦żB"baąi˝¨őMD,Ľ2,ŠM¨a±đʨH˙8˘züÍ5oxE,ůᏗŠó&÷Ő?x߇ÍĎ@ Aä{]ľçĺ¨k_†2˘#‰|Ýľ°Ľ�˙ő‘ÎŹĺ–ţcś‹ĽůMD,FźŇ"bŕąXxő§cĐ} "ş=چ%7<uúO`eýd‘ź]Ć ç^Zľ _zěĂ®_ëM›6ĹâŕđŠĄw˘âËči•P&‰®'§ýśŔaŘʵ%âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9¶¨ĄŤµcµ:ßřľz~MÁ>ąâä© Ř2L…&DÄÂrŇzQë›XxeX›P/Â"bá•Q‘ţqDőř›kŢđŠXrüţň\h©ć÷Őó—á?ţç˙ @ Ś2ň˝.ßóšÜW‚a€Y#‰,ë íßţňAµO>Śs±€7±‰ĹčSšCD,< Żţt şDÄBף‡Ń±ä_~őřďu˛ćnďzÜőđ–˙ĘMżÖ)š6m<ŻXz'*ľŚžV e’8čzrú1ŘĎ †­\["®?É s(żł¤Oňüî¦­Š°ă˘e¬/®ŞH×!ŤCEs¶Šó;žcëŠXň=nůčźçŘWóůyă­,XżE#¶ Ó_ˇ ±°Ü‡´^Ôú&"^Ĺ&Ô‹0XxeT¤Q=ţćš7Ü"–üôwć/çŘW˙ÝoţĽ•E #‹|ŹË÷şMî«Á0@F¸`dYŇĂ<ůÂü9řŤ/ü©ő©¤~."đć#6±}Js‚ç"báŐźŽA÷Xčzô0:"–Ź˙÷°´zĘQág5Čň±ýőňÂiřÔżg\ëM›6Ő˙Żâ–!ŇĘźźÎˇř*¶ýV:˘i_FO«„2It=9ýěçĂV®-ן䀆9”߇YŇ'y~wÓVEŘqQŽ2V‚WŐŔA¤‰ëơ˘9 [ĹůϱuE,9Vź~¨ĺłŰWO¬¶ŕן_Dë‚6(„Ř2L…&DÄÂrŇzQë›XxeX›P/Â"bá•Q‘ţqDőř›kŢp‹XrüŰĹyxˇµ1°}őř‰Óđ˙Ú@ Fů—ďuMě«Á°A„,‚‘űŕŇUáńOáˇÓOwŚú”X<\n‹#T/"+"V9±0ݎX bťČ±śËü”? noËŮ…ŻÂŁÇţc‡ĹRá7óÁ`'Ƨü}8qúq­N&ÂĄ¬3e9úËiĺĎOçP|Ű~+­>A_FO«„2It=9ýěçĂV®-ן䀆9”߇YŇ'b\˘>VEŘqQŽ2V‚WŐŔA¤‰ëơ˘9 [ĹůϱµE,—ž„•§ţ°8äľú˙<·�ÎŻ›Î â[†éŻĐ„XXîCZ/j} Ż ‹bęE@D,Ľ2*Ň?ލsÍ~ËĂëkđ˙ocir_ýµó»đĺ@ F ůŢ–ďq9šŘW‚awTgĚĽŚqĚtďoL;öţĆ»¶që/ĎŰťď˝÷ţOĺ„.\ÁöEţJ-ýŐ‘JµŠ¨;^˙ĺí˙°=zb±€7±‰ĹčSšCD,< Żţt şDÄBף‡Ń±ä_~äŃżç/TřúLţđR× µż^yŕfx×[˙°oĆať)ËŃ_†H+~:‡âs¨p /‡bř9T|=­Ę$qĐőäôc°ź8 ›6ŻŞs@ĂĘďìé1.Q«"ě¸(GD+Á‹«jŕ ŇÄuHăPŃ…­âüŽçŘÚ"–|Ż[üÜ/ÁĆĄ§7e_˝kÇü÷»÷uţeť‚xÄ–aú+4!"–űÖ‹ZßDÄÂ+â؄z& ŻŚŠôŹ#ŞÇß\ó†_Ä’'čÜřęúÚ¦ě«ßú–7ÁĎ˙üß@ F˙â_ü x˙>Účľ*ŘÚŘ»wOqüâ?÷ęö!˙ăKÝă†ő§şÇ–ö§´ŁýDÚw´Ďmď8ĺŤ,‚‘ĄÂôĚłđŹ?ń;ŁX<\n‹#T/"+"V9±0ݎX bťČ±śËü”? nw Ŕçźţç…Ą`jP…OíŻ'Ď> üĺŻy )ݬ3e9úËiĺĎOçP|ŽáĺP ź ‡Š/٧UB™$şžś~ ös‡a+çUÄő'9 aĺ÷aÖô‰—¨ŹUv\”#˘Ś•ŕĹU5piâ:¤q¨hŽÂVq~ÇslqKűoĺ«˙®±äŘŚ}őá…uř…§.ă !¶ Ó_ˇ ±°Ü‡´^Ôú&"^Ĺ&Ô‹0XxeT¤Q=ţćš7ü"–˙äň…BÄ’c3öŐ<đQřЇŢ@ Ś>ôá÷"–ň6ÁvÁ#†|ÁÖUřcc´Z ţä‰ĎŔţŮÝđ÷î˙óL€őÎEÄ‚÷W¨^D>VD,¬r"ba^C±@Ĺ:‘c)8—ů1(ţËCĎ˙;8zćĂE:ßët4ńđBíŻŹ<ůq›Ý Żż÷=F}űő6Ď”i ”!ŇĘźźÎˇř*Ăˡ>A_FO«„2It=9ýěçĂVΫëOr@ĂĘďìé1.Q«"ě¸(GD+Á‹«jŕ ŇÄuHăPŃ…­âüŽçŘú"–ŐŻ˙.¬˙d‘ŢĚ}őO-ĂţÉqřůkçřd âŔôWhBD,,÷!­µľ‰…W†E± ő"L "^éGTŹżąćm Ë˙µpţdi©8ßĚ}őW~ő×ŕô©çáţüŹ’eź96^Ż?˛u@ř„Oř„Oř„Żnľ_ůçżżů[ď+Î±Ż Ăy#‹`äŕ.ÚYą°˙űŻ|ţŐçţ źĄŔzç"bqěŠôŐęEäăaEÄÂ*'"ć5 T¬9–‚s™ňçŹA±ä"–ÇNü~‘îěqů`в”űëçţđç_ü§Ś˛Î”i4ÚHŮś´ňç§s(>‡ Çđr(†OCĹ—ŃÓ*ˇL]ON?ű9ð•ó*âú“Đ0‡ňű0ëAúDŚKÔÇŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9FCIJrôéaŘWëŘüóçq`ú+4!"–űÖ‹ZßDÄÂ+â؄z& ŻŚŠôŹ#ŞÇß\ó¶Žĺ?,ĚçðŻć_üĺ_� @°áŠXDČ"Ř>!‹`$łüâ_ü6´”Â?�띋ű+ŇW«‘ʇ «śX×PD,P±NäX Îe~ Ęź?·»EÁçźţg±ĐÜşĺŹŕůŻ‹ß#ďÔµŐ˙/ŃŹ”ÍI+~:‡âs¨p /‡bř9T|=­Ę$qĐőäôc°ź8 ›6ŻŞs@ĂĘďìé1.Q«"ě¸(GD+Á‹«jŕ ŇÄuHăPŃ…­âüŽçŘâ"–vcWý·±ĐܦĺçźĽŚ¶ł„73Ý_ˇ ±°Ü‡´^Ôú&"^Ĺ&Ô‹0XxeT¤Q=ţćš7ü"–<ůK—/ \ÄBs›b–źůű˙Ňxk‹@ ĂŚ|Ďú™ź˙—"blkE0’ČoßĂËź<ńiřˇ?ţxřôÓćZď\D,Ž]‘ľZ˝|<¬XXĺDÄÂĽ†"bŠu"ÇRp.ócPţü1¸˝E,gľ yôoY?'ä>Ľ4ýÁ oÍf迼˙ďÉ3ŹCŻĺ‰~¤lNZůóÓ9źC…cx9Ă'ȡâËči•P&‰®'§ýśŔaŘʵ%âú“Đ0‡ňű0ëAúDŚKÔÇŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9¶¶eăŇ“°řą_˛~Nh¸öŐ?<˝ ďxč<<8żîV¦żB"baąi˝¨őMD,Ľ2,ŠM¨a±đʨH˙8˘züÍ5ořE,ŻŻÁť;cýśĐpí«ďű…ď|Çß…/?ř@0ĚČ÷Ş|Ďzß~´HoĆľ* DČ"Y„^=ű ĽëO~ăËÜQă÷ŔDÄâŘé«Ő‹ČÇĂŠ…UND,Ěk("¨X'r,ç2?ĺĎŰWÄ’MřČńߏ>úSp~ˇ#Ů̇—Đţzňě“đ»ď˙yřôż[ěŻúµ´NI›“VţütĹçPá^Ĺđ r¨ř2zZ%”Iâ ëÉéÇ`?'p¶rm‰¸ţ$4̡ü>Ěz>ăő±*ÂŽ‹rD”±Ľ¸Ş"M\‡4ÍQŘ*ÎďxŽ­+b)ŢÂňÔ‡…Ďţظôtać}őá…uřއĎĂż~~±ŤÄéŻĐ„XXîCZ/j} Ż ‹bęE@D,Ľ2*Ň?ލsÍnK~ú‹óđĂçÎŔW×× Ű0ď«=üuř®ďý{đýë˙$ogÁP"ߣň˝*ßłrE°ť1ÁŁ·›&ůĂ @«Ő±ý»/˙)üŃź‚żq×[ŕűn{c;0>íôŘDÄBćăaEÄÂ*'"ć5 T¬9–‚s™ňçŹÁí)bɢç©Ó_=ţ{°´zŞĚ†‡Îţú™ůúÇŕĺw˝îyŃ[Úąfô BiĺĎOçP|ŽáĺP ź ‡Š/٧UB™$şžś~ ös‡a+×–ëOr@ĂĘďìé1.Q«"ě¸(GD+Á‹«jŕ ŇÄuHăPŃ…­âüŽçآ"–v#׎}–Źţ ¨ĺłeţVŮW˙Íó đľSKđăGvÂ]1Í˙ZS%¸©~â 3QF%”q 7WFD,Ďş*Ó?R†E± ő"L "^éGTŹżąć Ż%?üţňüÎüexˇµQćo•}ő×ţÍďÂĽďĎŕ'~ü{ŕ ßřť Áf"ßłŽ{ ţŮ?˙ux衯–v±¶;DČ"yĐ/ą]0/,ś_ý«˙żńĺ?‚ďĽĺµđćëî»ŢŘqíÓ‹ëě!ů"bˇÂŠ…UND,Ěk("¨X'r,ç2?ĺĎŰOÄrvţkđüů?‡Ł§€•őKĄ{p)Ř7éá…łż^^8 ű«ß„Ď|ů÷ŕŽ[Ţ·^÷j¸ňŕ­Ą·˛8ť´ňç§s(>‡ Çđr(†OCĹ—ŃÓ*ˇL]ON?ű9ð•kKÄő'9 aĺ÷aÖô‰—¨ŹUv\”#˘Ś•ŕĹU5piâ:¤q¨hŽÂVq~Çsl=KëŇ“°~ęł°rě ÖćËĽ­¸ŻžXmÁ/?} ~ýů ľűĐĽe˙Ľd‡çc,(4!"–űÖ‹ZßDÄÂ+â؄z& ŻŚŠôŹ#ŞÇß\ó†SÄ’˙„ЇW–ᏗŕB«O˛÷Őă'NĂ?ůĺ߀ë~çŹŕďüôß„ógvĂK_r@0(ä?!ôţ> đľĂůó—Kű°í«ÁfA„,‚müáĄČ)ÔřĹ/ µ˙saeţý#,ţ®šŰ÷_}ÜyŕF¸yĎa8Ľă�ě›ŢłăSĹż*‹XÂç"b±Ď×M…ă4Ňný\Ńţ©íĆ9DÄ‚ž+¤NÁzô°…D,í j–×/ÂÂĘI¸¸tÎ-| N]|µ·Ż ĹJ‡ËĆf?Ľp÷ץ•Ëđ…Gţ¨řŰ5w®ąú.¸ňŔ­p`ďµ°kç0;˝&Ƨ´¶Ąw˘âËči•P&‰®'§ýśŔaŘʵ%âú“Đ0‡ňű0ëAúDŚKÔÇŞ;.ĘQĆJđâŞ84qŇ8T4Ga«8żă9†WÄRÔ¬µjő´–Ď@kţ¬_ú:¬ťűŞńö•Ł°Żž_Sđ[ÇŠż«§Ćŕ•{¦ŕžťSpëě8i§÷OŽÁLĆű-i…&DÄÂrŇzQë›XxeX›P/Â"bá•Q‘ţqDőř›kŢćŠXZm‡ĺ¶ĎyŐ‚ă-xr}Y[Ď­¬o_É1 űęłĎ‡źůŮZäľúĽęUwĂKîľ n˝ő:¸ćČp`˙^ťť–/@„âłŃĄ8{î<ě<ńÄłđŕCŹÁg>óP!ŞÔ1ĚűŞ@°ŕŽřŚ™—1Ž‘îýŤiÇŢßx×6nýĺy»óă˝÷Ţ˙©śđÂ…‹ Pč=¸ĐżŞĘWL @°™ ”÷9z-Ăňđ"ű«@ †˛Ż @Pd_ >lĄ}U0ÜŘ»wOqüâ?÷jČőÉ�—şÇ ëOuŹ-íOiGű´ďhźŰŢ€ÉYŰ ™ń/˝±ůŃ{ĹdáQú%ýK+@ Č·§ţ•|‡O}/ű«@ † ˛Ż @Pd_ >lő}U $DČ"Ř–?Ŕ^ĄŻąO(­,@Ŕ†ąźÄ=„lő˝ěŻ@ $d_-ĽJ_ŮW@P˛Ż^ĄŻě«@ ¨‚QßW‚A@„,‚m lP¬'‘Lă�@ ľWm•Ů_@0¬}U ‚ú űŞ@ őa+î«AÓ!‹`Ű#ýF ‚f0 Ş{Ů_@0,}U ‚ú űŞ@ őAŢľ"Đ!‹@ Aß0ě‡yA°RFńˇEöW@  ˛ŻĘľ*‚ú űŞě«@ ¨Űa_ę„Y±<Ř�Ch?Ůn,˛ż   d_5!űŞ@ Ş@öU˛Ż   d_ę…Y&BŻś” H !Č^áBöW@ ¤Bö˛Ż  ˛G¸}U ©=B ¨˛ŔÝDť/Ł y0©˛ż Áö†ě«őBöU@ ŘŢ}µ^Čľ*Ű˛Ż Y‚@66@ ę‡ěŻ@ ÔŮW@ ¨˛Ż @ TĂ@ @ @ @ C�˛@ @ @ @ †"d@ @ @ @  DČ"@ @ @ @  E @ @ @ @0!‹@ @ @ @ `( B@ @ @ @ ÁP@„,@ @ @ @ ‚ˇ€Y@ @ @ @ C µ@)@ ŘȲ éýU :d_­ŮW@ CöŐj}U :d_ę…Y‚�z$ň`"‚„öŹŢÎv{Đ‘ýU )}‡ě«@ Hě«8d_A d_ę…Y ůFS÷CŠ<ôÁhŁĘĂöYÎ7j4˛ż € ŮWĂ}U \Čľ†ě«@ ŕBöU`p!‹@Đ…ýŔ˛óŞ=päŢ઻®}7]»ď…Ů};`|zŇŘTŚG…ś*sRhAÍTüÇ*ٍ:Ű–¬(Źş{í™cCN-{†8ĐíŁúŁ0±Ú—ůýŃöýˇŚcĎË…Ż+V4ĂíŢkÝ-׳Sϸ1íŁüµ±ßľ„덍eÄśúf„]'ÁěaGü±±ŚööGđşjväZ÷ „ŻźŮ÷üö1ݵ“ČăVł+üF;<·׺kך=Ą}Z™öQ×ŰŰľŔµn;µÖVacᬞ? «§ŽÁâsOÁâŃÇ`íâŮrO…{ťťŰű‚}ŔÎÝ{`nn¦¦g`l|ÜlkďÁŞBŃcŁ"W×R—–ÇăI¦d.Ź9ąŞF.vzç(Nˇ §B…"–Jď`o!jĎIá2Ď(ʵTä2¬5p•9l.ĹráŃń¸xž|.żwô Öx¦ejµ6`mm V–—ayq._Ľ—.^€Ő•ĺ‘ŢWŻľújxůËď—Üs'Ü|óÍpäČaŘ·oĚÎÎVh«6o“ć}Z¬ćcvśZă2gë&Ĭ'n<AÚ›T�ĄHľŞ6HŐŔ`WkgťaÓ7ĺŠ1K‹:€u±«<đZÜj)XnďźÎ_€ă'^€ŁO…‡ů*|éKÂÉ“'Gz_Ű˝&Żż&ŻąĆ] ă{÷C¶cgű[”©N[Ńć*Ăî¸d]Ôn|*H<™gńtí¸ż"cźz“mĎĽőuy2ŞŤ2M Ťúy=»UÔźn»Ń?ڶgŹ‹CڶgŹ[Fá.žńű{ĄĚůdť éűdĚkEűűŰžy¸°¶gŽÝ_'w ůçNy˝Ľ× Ěú\ÉăGsĚsť\O<qbŻU§ ˙Zá1zÄř)˙ărŃkPäř±ňŠ˝feÖ/,ÁĘ —aů™ópůŃSpůÁăíĎ„çGj_ęwF—TëÜwĚtďoL;öţĆ»¶që/ĎŰťď˝÷ţOĺ„.\ ­V«<źÝ;/ţö—Â-oľ®ĽűíT÷ Iíŕ$Ś-K!EńĎ^»˙á}ń_]ä‘ŰŤŰ\°´=‹ň/ËxŰmŮK[FŘ!`Ď<í6Z‚ŮŘ5EÚçőG®uaf]żŚ°ë*´ĎHdvö†… N`mÖ TŰŚ$»}qs»0cýÁj_ ?Đvgv[I¬?bć*5·˝×šŮ‰íKľŢČ:^Ł0;n÷ý2KĎ= —ů\úŇ'a˝ýE\ccc°• ďŻSÓSpÍő7ÁŐ×\ {÷Ö:LAEXťźÎ‡/4i|8aâqY§S'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Üëăň2FsyZ[ËIUä2¬Q\Ń[#źŹ?Łç2ĂMqś*ńEOż| Îť>gNž(„.=lĺ}ußľ˝đťßń6ř–oů&¸çž»ˇ~Xó-iI‹Ő|L˙zYoXۦYjik…»–šÖí(6EÍŁ@ .V8fŁ“y›Y”w0±ĘTă1ńűeŰúČ#_…Ź~ôcđţ<ĐţţRißĘűęŘÜľçU0uÇ˝0q䆎ŃúrűbŇ„ |‘Üő±áB`ű«€Aăéćˇt±bOŰkłx….O?ÓŞ™×ł;ź4!ţtŰŤţa´V¬Ěăh{ĺńă”i`ütó\xĆOYą^Ô'….Źé Őµëţ‘ăÇĘkdühyěńÓÍ‹šďYäřřůŢŻoüĐ1€lű¦Šˇ¬¶/|őśűř“pöŹĂÚĹĺŇľŐöUÁđ`ďŢ=Ĺń‹_üܫۇü†çR÷¸aý©î±Ąý)íh˙‘öísÁ;Ü xn%ÖąďéŢźYţŔ’ż}ĺľ÷ĽîúŢűűŠGŐ;XĂ_'ˇmU€~÷‚?v˙“ńü [FŘű$čJ "ËĆěěš"íóú#׺0ł®_FŘő�Úg$DÄ‚ŽeĘźlҬöúmwh·•Äú#f®RsŰ{­™ý‘Řľä덬#á5 łóçv˙áövÁ źűśů‹ŔúĹłĄË°?ČŃö‚7ßöb¸ţ¦[�¸˙˘@D,ń\Ö©Çć  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸ĽŚŃ\žÖVŕrRą kW`ôÖČĹçăÄčąĚpS§J|Ń“ĂJ*8uâöŮâ--=lĄ}5űĘŹţČ»á~ŕűü—zÖ|KZGŇb5Óż^Ö–Ç&"–¨’ÉKsńđ¸ÍĆ2c&V7˘w0±ĘTă1ńűe_Řü_Ž˙÷÷ýřO˙é÷Š·´ô°•öŐüí+sŻy3LÝ÷z|_Ťýr;ﱌ(®})MĹ©,F ľíćŐ"Fđ´]Ä,X ¤>ĆĂ#Ô5~ś2 Śźnž łřë$bÝŽň1�¶‚ĄcRpúŹ…ăżűĺâ--= E ˛řó2Ć1#Ň˝?˛‡ţĐr˙Ź˝^ů“ßhî\Şw°†ľ2NBۢNz.ěţ'ăů¶Ś°÷IĐU@D,–ŤŮŘ5EÚçőG®uaf]żŚ°ë*´ĎHË”?Ů>¤?Xí ôÚî,Đn+‰őGĚ\Ąć¶÷Z3ű#±}É×YGÂkfçĎíţ!#ě}[ţᙏý!śýÄ—ća}Ń÷×[nżn»ă.€/ÚDÄĎeťzLaž@Á0g\'©ąh—ôÎQÜ‚Ń|•:ŮrŻŹËËÍĺim.'U‘˰FqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<IĎ}Ž?{´´l…}ő'ňÇá§ţö{~Ő´ŐSIëHZ¬ćcú×ËzĂňŘDÄU2"bi.·ŮXfĚÁÄęFÔâ&V™j<&~żĚ ›?Żţć˙÷ŰđŰżýJŰVŘWg_ű­0ű†oďď«Ě/'_nç=—ŵ/Ą©8•ĹԳݼZÄž¶‹‹ÔáÂxŘb„şĆŹS¦ńÓÍs!bťD̢ŰQ2ŔVłäÉ|_=öŰź‡ă˙ń‹Ą]Ä,‚Śšexn!Öąďiß&né٦óăŐWůŃśpyy úďž^qűař¶ůpŰ[_"bAO-{ĺ_–ń¶Ű˛—¶Ś°CŔžyÚm´ł?°kŠ´ĎëŹ\ëÂĚş~a×Thź‘ :–)˛}H°Úč´ÝY ÝV돹JÍmďµföGbű’Ż7˛Ž„×(ĚÎźŰýCFŘM[ţÁÚÜŤ·ĂÎ[őËĘ˝lX~7Uß_÷ěŰ/őkášëo�±„ąŹË:őÂ<‚aθNR5rŃ.靣¸Łů*u˛ĺ^——1šËÓÚ \NŞ"—aŤâ ŚŢąř|ü=—nŠăT‰/zrx’ťÔî˝ű`Ďţ°¸0k««C˝ŻŢyçđk˙ú_ÁwĽí­"b©9^/«Ţ°<6±D•L†Xš‹‡Çm6–s0±şµ¸‰U¦ʉß/Ç„Í÷¦űî{|Ă«^Ź?ńś9sv¨÷Ő‰«Żťßű0}Ď+ËçŐňżŢ/@ OËŽ8Ł_V˙[Í Ťâ©W†ggd‚hfĆř"ŮĺAť_$#Ń©řş)ó÷ˇQ4O3RMŁ ˘Iťő¶ű.Opü††ÇŹalhü ¦Ŕř!2Ýaĺo»wüe?hk?>Ę@ŰŁć{9~ ~ľwbđÇĂź‘EŚźŽ9 \+ł°;F-»»ŰÚý˛#°ç•×Áâ×ĎÂÚŮšŰWĂŤ™™™âxâÄńß‚ÎmÝJ÷h˙Ç64!‹`Ű@hÉĹ+ßńkWz‡Ś°»¶ţi†8ŃŽ÷íĎß°e„˝O‚‘ő˛ _äÔ˛gQţeo»-{iË;ě™§ÝĆAK0ű»¦HűĽţȵ.̬ë—v=@…ö ± c™ň'ۇô«}ţ@ŰťÚm%±ţ™«ÔÜö^kf$¶/ůz#ëHxŤÂěüąÝ?d„śDďtb÷>Ř{ß`íÜX9ů\™żŮ1úţzäşŕŻ{ĚĚÎADÄĎeťzLa$ÉĚŠć gÇw¸âZ™ťŁ¸Łů*u˛ĺ^——1šËÓÚ \NŞ"—aŤâ ŚŢąř|ü=—nŠăT‰/zrx’fjjz®¸ępű3„eXZčżşyöŐďxŰ·ĂżýŤ_‡«®şš…ŐSIëHZ¬ćcú×ËzĂňŘDÄU2"bi.·ŮXfĚÁÄęFÔâ&V™j<&~żśöŠ+Áw~Ç[áŘńđőŻ?YÚ‡i_ťşű•°ëű˙6ڵź­ńďiů_NfŽq¦ľĄżŐ´ŠRş†ggd‚hfř"çAťűŐ"˛«ąťá…2ĚëE5Ť*HŤ$Ďtʨ*şßĺ1‹[ŠęT*¬YČ8Qó=‹?�"fÁś‘îž:´˝őŰrâ2,=yV««çú  B–P^Ć8fDÚ÷'BA%č-/{׫á˙áŰÜM«üމ˛»¶ţi†8ŃŽ÷íĎß°e„˝O‚‘ő˛ _äÔ˛gQţeo»-{iË;ě™§ÝĆAK0ű»¦HűĽţȵ.̬ë—v=@…ö ± c™ň'ۇô«}ţ@ŰťÚm%±ţ™«ÔÜö^kf$¶/ůz#ëHxŤÂěüąÝ?d„ś„iďÜíşý>P«í/Ýžűz™µY1úţzÓ‹^ wßűr†X⹬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'Ipµ·ĎýÁĆĆĚ_şÔ7Áľú×ßóĂđKżôŹP«§’Ö‘´XÍÇôŻ—ő†ĺ±‰%Şd2DÄŇ\<<nł±Ě‰ŐŤ¨ĹL¬2ŐxLü~ąjŘ|Ďză^‹‹‹đđĂŹöÍ€ľŻÎĽňͰă[˙&ĂHňżśĚĂH}J«iĄt˙ ĎÎČŃĚ,đE2Î:÷«EdW˙r;Ă !e׋jU?Hžé”QUt ľË/b·Ő©TXłq˘ć{9~�DĚ‚9#Ýťďźű_#l,®Áü#'µşz®ź`ŰC„,ţĽŚqĚ´ďO„,‚dŘ"–×ţŻßB~¸."ŰžEů—eĽí¶ěĄ-#ě°gžv-Áěěš"íóú#׺0ł®_FŘő�Úg$DÄ‚ŽeĘźlҬöúmwh·•Äú#f®RsŰ{­™ý‘Řľä덬#á5 łóçv˙vp¦=3ěs7ß ­•eX~~óÄ,¶ĺö{^ ŃK<—uę1…yĂśqť¤jä˘]Ň;Gq FóUędË˝>./c4—§µ¸śTE.ĂĹ˝5rńůř1z.3ÜÇ©_ôäđ$Ă\ůĎâm¶Ĺ±üÜĎý=hVO%­#i±šŹé_/ë ËcKTÉdĄąxxÜfc™1«Q‹;XeŞńřýrťa_ůĘű7]Ěb‹XćŢüŽ^MLG4É˙r2#x #ő}(ý­¦U”"Đý3<;#D3łŔÉ8ęÜŻ‘]ýËí /„”a^/ŞiTAjü y¦SFUŃ5ř.żYÜRT§RaEĚBƉšďYäř1 ćLt÷žW\+bŁ&d`„a˙śXúľČ©eϢüË2Ţv[öŇ–vŘ3O»Ť–`övM‘öyý‘k]Y×/#ěz€ í3"bAÇ2ĺO¶éVűý¶; ´ŰJbý3W©ąí˝ÖĚţHl_ňőFÖ‘đ…Ůůs»Č;8 Óžąööɡo~'ěşç5ÝŘýýn°NHD,|.ÂÄă˛N=¦0O `3®“TŤ\´Kzç(nÁhľJťlą×ÇĺeŚćň´¶—“ŞČeXُŁ·F.> FĎe†›â8U⋞ž$źëş›nW\Ő)µ‰űjţsB"bi&^/«Ţ°<6±D•L†Xš‹‡ÇĚ:)"–ćâőLM„ýé˙ĺ˝đ–·|s'Ä&î«Sw˝ćţÚ;,ü3O#I|ćeúgŚ5/ó<ëk>D–GYő±xŚúhyřó�ÝvEđŕČč1M´÷ĎüŹgݶă™V}ČĽžůĚŢńgŚOťő¶‡—TĎř) ާLă§›ç"ó݉HŰńí‚n»wü8e?V^#ăGËcŹźn^Ô|W‘ăâç{żNĽńCÇ�˛í*bü”fć~Ń÷ţďž®ű[ß�ľůEÝzv_6"dŚ,ôĹüŠŰĂ7ýoßElÖůAD,¦]D,®‹˙F±ło†�i‡XśţŔÚ¬¨¶Ivűâćva‹e‹^‡r Aíŕ$L;.bé᪷˙8Ěľˇ[‡Á<ÄčqňÁţŇWĽ ˘!"–x.ëÔc ó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{}\^Ćh.Ok+p9©Š\†5Š+0zkäâóńbô\f¸)ŽS%ľčÉáIĆsÝtŰ‹aÇ®]ťä&ě«wŢyüĘŻü24«§m&1‹é_/ë ËcKTÉdĄąxxÜć×Ç~ĚÁÄęFÔâ&V™j<&~żÜĐ(-ţűŹńŕĹ/ě—nzś‰«Żo{ůy@żĹQžÔôĺ¶YH.‡@Ä,<ă§448~ś2 Śźnž łřë$bÝŽň1€lű0‹Ynú…7ÂŽŰuë)bÁö€Y# }ĎĎßđ oçuaĺćMŮ][˙TD,fRD,F’}H;DÄâôÖfÍ@µÍH˛Ű7· łX,»Xô:”kj'aÚý"–u‡ľőÝÎľ×ě8w˝ě>†X⹬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'™Ć•żúú›_´iűę/ţŁ0€WD[=Ő\󀜏ŤĹôŻ—ő†ĺ±‰%Şd2DÄŇ\<<nł±Ě‰ŐŤ¨ĹL¬2ŐxLü~ąˇQZžŤŤeđł?ów7m_ťűćw–źSź ô X\ĺ‰Y°ŠŕÁ!b<R„ ăÁŻoăÇ)ÓŔřéćą1‹żN"fŃí(ȶ«%VĽţďĽv`űŞ@0 !‹`dŃS$ľâÇßWŢuŤ•Ů;Ĺ´‹Ĺuˇoč1 "×."ߍ?«}"bIżŢČ:^Ł0;n÷͉XzÉ™#7Ă׿ý/Ün˝ă.Ř»˙@TY±$pY§S'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Üëăň2FsyZ[ËIUä2¬Q\Ń[#źŹ?Łç2ĂMqś*ńEOO˛×Î]»áČő7 |_}ď{˙&ÜsĎ]Đ,¬žj´yÄ|l,¦˝¬7,ŹMD,Q%“!"–ćâáq›_ű1«Q‹;XeŞńřýrCŁÔ±Üyçíđ#ăÝßWg_űV?r#ź­–˙ŃÁ#Ťˇ"fÁc őA¸0üú68~ś2 Śźnž łřë$bÝŽň1€lű°ŠYvŢ~y÷}ŰW‚͆Y#‡Ţâťw^µ^ů“ßh9ô"b1í"bq]čz ŵ‹ĹwĂĎjźXŇŻ7˛Ž„×(ĚÎźŰýCó"–ŢÉţ7~Lě9`ěuC瞝۷Ýůe›X⹬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«g:rýŤ05=3°}őꫯ†źúŰď…faőTýM"c5Óż^Ö–Ç&"–¨’ÉKsńđ¸ÍĆ2c&V7˘w0±ĘTă1ńŤ®ˇQJćüŘŹý ¸ňĘ+¶ŻŽíŢłŻ{›óŮA‘_ţGCŚ b4†"xpŹÔáÂxđëŰŕřqĘ40~şy.DĚ⯓Yt;ĘCĆ�˛íĂ*f9ň7^SWělt_†"dŚ$Z­VqĽď=Żă'…ĘMZD,¦]D,® }Ł@ʱ¸v±řnôYíKúőFÖ‘đ…Ůůs»Č;8 Ó/b)˘ec°˙Őo-Î{{`čqßüâŰb~ú@D,ń\Ö©Çć  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸ĽŚŃ\žÖVŕrRą kW`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7uţ{řÚë‹ă öŐý‘÷4ü“BVO%­#i±šŹé_/ë ËcKTÉdĄąxxÜfc™1«Q‹;XeŞńřF×Đ(őćć{Ü»~čŠóA쫳ßđ-ýçUë3„Ň„|^`: Ił 1ÁCÄ,x ¤>Ć_ßÇŹS¦ńÓÍs!bťD̢ŰQ2mF1KľŻ~çËŠt“űŞ@0 !‹`¤ +g÷ÎÁÝßwż–Ů;Ĺ´‹ĹuÉ;xĆ€X\»X|7ř¬ö‰%ýz#ëHxŤÂěüąÝ? VÄŇkŰžűß ăs;µz K€Î55=7Üt »¬X¸¬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oęg\qř0LNNöóÚW÷íŰ ď|ç÷Cs°zŞľfc5Óż^Ö–Ç&"–¨’ÉKsńđ¸ÍĆ2c&V7˘w0±ĘTă1ńŤ®ˇQęĎífżăo‡˝{wköföŐ±ą0uď,‡Ţ‰YlŁ>Zţü bÇÍşî€Ú­ţa´=Ľ{ĆOihpü8e?Ý<"fń×IÄ,şĺ!c�Ůöał\ńö;`rĎLß6`ŕ!‹`äĐS Ţţ¶—ő˙U[ą)‹Ĺ´‹ĹuÉ;xĆ€X\»X|7ö¬ö‰%ýz#ëHxŤÂěüąÝ?lŽĄwľű%Ż/ΚPă÷8Ż˝áf`żŤED,ń\Ö©Çć  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸ĽŚŃ\žÖVŕrRą kW`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7ąŻşş86ąŻľý;żŁÁ·±X=•´Ž¤Ĺj>¦˝¬7,ŹMD,Q%“!"–ćâáq›ŤeĆL¬nD-î`b•©Ćcâ]CŁÔź«eç{Ý·}Ű·çMî«ÓwżßW­ĎJňů[ĆJŠŤˇ"fÁc őA¸0üú68~ś2 Śźnž łřë$bÝŽň1€lű°‰YňĎfľĺ¶âTŢĘ"eE02°‡·ĽůÎnFď "Ó."×ED,FRD,fžX,»Xô:”kj'aÚk±tOvŢń ł\ ź’ÚW_s-«śX¸¬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oÂyö<dú6°Ż~Ë·|4«§ŞWť«ůţő˛Ţ°<6±D•L†Xš‹‡Çm6–s0±şµ¸‰U¦ʉot ŤR.’ý¦7˝Ńň©_ť|ńËéŞYź-”&Çź!F1 C<8DĚ‚Ç@ępa<řőmpü8e?Ý<"fń×IÄ,şĺ!c�ŮöałěăÍ&ĺ`nn‚B„,‚‘BoˇŢyŐ¸ňîk´MXD,¦]D,®‹XڤXĚ<±Xv±ču(×ÔN´×'bÉ1säfŘ} [g˘‘ čqÍÎ퀽űp ôOˇ"DÄĎ(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«o˘yvěÚ SÓť×57±Ż^}őŐpĎ=wCý°zŞľŞc5Óż^Ö–Ç&"–¨’ÉKsńđ¸ÍĆ2c&V7˘w0±ĘTă1ńŤ®ˇQęĎ%˛ďĽăv¸ňĘ+»>őď«c»÷ĂřáÉĎ9:νłŘ<F}´<üąBÄ,Ž›uݵ[ýĂh{xiöŚźŇĐŕřqĘ40~şy.DĚ⯓Yt;ĘCĆ�˛íĂ$fŮqű0uĹÎn˝|“A Řş!‹`$qÍ}7j›ŻXL»X\±I±y"b±ě"bŃëP®!¨ś„iŻWÄŇĂÜ ·CS8p芰“X⹬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«o óěŢ»šÂý÷żę‡ŐSIëHZ¬ćcú×ËzĂňŘDÄU2"bi.·ŮXfĚÁÄęFÔâ&V™j<&ľŃ54Jýą ÷ŢűRh “×ÝÖŻóK^Ă„|®ŕ–±’"fAc(‚‡YđH}.Śżľ ާLă§›çBÄ,ţ:‰E·Ł<d Ű>Lb–Ý/=Á(C„,‚‘@®6ěýĺ¸ňÎk:v±Xv±¸."b1’"b1óDÄbŮEĢס\CP;8 ÓŢŚ%7ĺoe)έ˝16Gđm,"b‰ç˛N=¦0O `3®“TŤ\´Kzç(nÁhľJťlą×ÇĺeŚćň´¶—“ŞČeXُŁ·F.> FĎe†›â8U⋞žd5®ľ‰Çłs×îŽwűę=wß őÂę©ôŞFÇj>¦˝¬7,ŹMD,Q%“!"–ćâáq›ŤeĆL¬nD-î`b•©Ćcâ]CŁÔźËzÇí/îúÖżŻNľÁĚg~Ék†AÄ,h Eđŕ1 ©Â…ńŕ×·Áńă”i`ütó\Ĺ_'łčv”‡ŚdۇE̲óö+şő©ľŻ òF öß|Ŷ‹Ĺu‹‘‹™'"Ë."˝ĺ‚ÚÁIöćD,ů¦r`W‚‚]{öx˛•ćY5”˛"'ËZ aâqY§S'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Üëăň2FsyZ[ËIUä2¬Q\Ń[#źŹ?Łç2ĂMqś*ńEOO˛WßÄç™Ý±˘ă˛ ŕ–[n†ú`őTU&b5Óż^Ö–Ç&"–¨’ÉKsńđ¸ÍĆ2c&V7˘w0±ĘTă1ńŤ®ˇQęĎe˝ń¦�ÚWÇF¬Ľ/y “ăĎ#Ťˇ"fÁc őA¸0üú68~ś2 Śźnž łřë$bÝŽň1€lű0YfoŘçs¶<DČ"Iě>l˝ţŰ|ťM_D,fRD,F’}łH;DÄâôÖfÍ@µÍH˛Ű7· łX,»Xô:”kj'aÚ›±äŘsšÂÜÜž!"–x.ëÔc ó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{}\^Ćh.Ok+p9©Š\†5Š+0zkäâóńbô\f¸)ŽS%ľčÉáIVăę›âx¦§g )9ręŐSIëHZ¬ćcú×ËzĂňŘDÄU2"bi.·ŮXfĚÁÄęFÔâ&V™j<&ľŃ54JýąA_}4…±= ćsnf"f±yŚúhyřs‡Y7ëşj·ú‡ŃöđŇí?ĄˇÁńă”i`ütó\Ĺ_'łčv”‡ŚdŰ7[Ě2}Ő.F"dŚ$f÷íč'°M×ŮěEÄb&EÄb$Ů7)€´CD,N`mÖ TŰŚ$»}qs»0‹Ĺ˛‹EŻCą† vp¦˝yKŽńąÝЦ°/óDÄĎeťzLaž@Á0g\'©ąh—ôÎQÜ‚Ń|•:ŮrŻŹËËÍĺim.'U‘˰FqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<Éj\}Sü$›ś„¦°oß>¨«§’Ö‘´XÍÇôŻ—ő†ĺ±‰%Şd2DÄŇ\<<nł±Ě‰ŐŤ¨ĹL¬2ŐxL|Łkh”ús#îÝ»šB6×ý2íŢ—Ľ† ůÜÁ-c%EĚ‚ĆPłŕ1ú \~}?N™ĆO7Ď…Yüu1‹nGyČ@¶}3Ĺ,{gA eE0Đ÷-?źî~Řm¶Î&/"3)"#Éľ9¤"bqúkłf Úf$Ů틛ۅYD,–]D,zĘ5µ“0í±ś2ÚQő7ÇűçíÇńqŰÁ¬K%ž'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Üëăň2FsyZ[ËIUä2¬Q\Ń[#źŹ?Łç2ĂMqś*ńEOO˛Wß”0ÉÚE˛±±ĆöŐŮŮŞ:Z=•^µčXÍÇôŻ—ő†ĺ±‰%Şd2DÄŇ\<<nł±Ě‰ŐŤ¨ĹL¬2ŐxL|Łkh”ús‚ÎĚL7¶ŻÂÄ”–‰ř3żä5LŽ?CŚ b4†"xpŹÔáÂxđëŰŕřqĘ40~şy.DĚ⯓Yt;ĘCĆ�˛í›%f›ž¨m_†"dŚ$˛1î¨"b1“"b1’ě›@Ú!"§?°6kŞmF’Ýľ¸ą]EÄbŮEĢס\CP;8 Ó>@KQÇćnď˛LďeÖĄ DÄĎ(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJdÝ"őm 0öŐhX=•´Ž¤Ĺj>¦˝¬7,ŹMD,Q%“!"–ćâáq›ŤeĆL¬nD-î`b•©Ćcâ]CŁÔź›4Ëü:" A)bđÔKÄ,n¦U2Żg1 ĹeđtíµŚźnž łřë$bÝŽň1€lű¦Y*=S òFŘćęlę"b1“"b1’ě›@Ú!"§?°6kŞmF’Ýľ¸ą]EÄbŮEĢס\CP;8 Ó>XËŔD÷"b‰ç˛N=¦0O `3®“TŤ\´Kzç(nÁhľJťlą×ÇĺeŚćň´¶—“ŞČeXُŁ·F.> FĎe†›â8U⋞žd5®ľ)a’%ÍËAÂę©FëKĚÇĆbú×ËzĂňŘDÄU2"bi.w0 ťXš‹×354JýąC»OfŔů‚RÄ,ŕ©—YÜL«>d^Ď.bŠËŕéÚk?Ý<"fń×IÄ,şĺ!c�ŮöMł# ˛FÔ&llTŘŤbÄ éOl®"bŃĘ‘í6ZBD,nBD,čX¦üÉö‰Ĺ´‹EŻCą† vp¦]D,1\Őřđ…&Ťç"L<.ëÔc ó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{}\^Ćh.Ok+p9©Š\†5Š+0zkäâóńbô\f¸)ŽS%ľčÉáIVăę›&YŇĽ$¬žj´ľÄ|l,¦˝¬7,ŹMD,Q%“!"–ćâáqłĐ‰Ąąx=SCŁÔź;Ěű¤ők×MĽ/y ňî–±’"fAc(‚‡YđH}.Śżľ ާLă§›çBÄ,ţ:‰E·Ł<d Ű.b >E°ĺýćµůvq#Bú›ŞX´rd»Ť–‹› :–)˛}"b1í"bŃëP®!¨ś„i.KĘeDÄĎeťzLaž@Á0g\'©ąh—ôÎQÜ‚Ń|•:ŮrŻŹËËÍĺim.'U‘˰FqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$ăvm]űj<‹Ĺ ‚ŹŤĹôŻ—ő†ĺ±‰%Şd2DÄŇ\<<nł±Ě‰ŐŤ¨ĹL¬2ŐxL|Łkh”úsjk3űŞYě<–Ź·í"fq3­úy=»Y(.§kŻeütó\Ĺ_'łčv”‡ŚdŰ7S̢sC$ "dŚ6śÍ[D,fRD,F’}ÓH;DÄâôÖfÍ@µÍH˛Ű7· łX,»Xô:”kj'aÚ‡KÄŇ*‡K<O `3®“TŤ\´Kzç(nÁhľJťlą×ÇĺeŚćň´¶—“ŞČeXُŁ·F.> FĎe†›â8U⋞žd5®ľ)a’‘ËHŇ„m�VO5Z-b>6Óż^Ö–Ç&"–¨’ÉKsńđ¸YĎDÄŇ\Ľž©ˇQęĎ–íĐwč‰ĹÎS`ůxŰ.b7ÓŞ™×ł‹…â2xşöZĆO7Ď…Yüu1‹nGyČ@¶}3Ĺ,Á¨@„,‚Ń…łi‹ĹLŠĹH˛o6�i‡XśţŔÚ¬¨¶Ivűâćva‹e‹^‡r Aíŕ$Lűh‹X�T)"–xž@Á0g\'©ąh—ôÎQÜ‚Ń|•:ŮrŻŹËËÍĺim.'U‘˰FqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ Ű�¬žj´ZÄ|l,¦˝¬7,ŹMD,Q%“!"–ćâáqłž‰Ąąx=SCŁÔź»ëbvëYŰu°MĽ/yéf>ý@M_n‹…ärx�DĚâŔ3~JCăÇ)ÓŔřéćą1‹żN"fŃí(ȶDĚ"Ś0DČ"M8›µX̤XŚ$ű&vĹé¬Íšj›‘d·/nnf±Xv±ču(×ÔN´‡eĐâ–(%ž'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Üëăň2FsyZ[ËIUä2¬Q\Ń[#źŹ?Łç2ĂMqś*ńEOO˛Wß”0ÉČe$iÂ6�«§­1‹é_/ë ËcKTÉdĄąxxÜÁ¬g"bi.^ĎÔĐ(őçnĆşXGë™Űu°MĽ/yéf>ýY@M_n‹…ärx�DĚâŔ3~JCăÇ)ÓŔřéćą1‹żN"fŃí(ȶ7-fF"dŚ4Ś »Ś¸Ń ý‰ŤCD,Z9˛ÝĆAKĹMË”?Ů>±v±ču(×ÔN´‹%±Äó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{}\^Ćh.Ok+p9©Š\†5Š+0zkäâóńbô\f¸)ŽS%ľčÉáIVăę›&ąŚ$MŘ`őTŁŐ"ćcc1ýëe˝ayl"b‰*™ ±4Ź;őLD,ÍĹ뙥ţÜÍXëŚf={»¶‰÷%/Ă̧?¨éËmł\€YxĆOihpü8e?Ý<"fń×IÄ,şĺ!c�Ůvłi!‹`dal<ŘŤ_Ä éOl"bŃĘ‘í6ZBD,nBD,čX¦üÉö‰Ĺ´‹EŻCą† vp¦]D,A%ž'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Üëăň2FsyZ[ËIUä2¬Q\Ń[#źŹ?Łç2ĂMqś*ńEOO˛Wß”0ÉČe$iÂ6�«§­1‹é_/ë ËcKTÉdĄąxxÜÁ¬g"bi.^ĎÔĐ(őçnĆşX3ܡ)b;Oĺăm»YÜL«>d^Ď.bŠËŕéÚk?Ý<"fń×IÄ,şĺ!c�ŮöćÄ,ÁčB„,‚‘„±á`7|7¤?±IŠE+G¶Ű8h ±¸ ± c™ň'Ű'"Ó."˝ĺ‚ÚÁIv±!"–xž@Á0g\'©ąh—ôÎQÜ‚Ń|•:ŮrŻŹËËÍĺim.'U‘˰FqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ Ű�¬žj´ZÄ|l,¦˝¬7,ŹMD,Q%“!"–ćâáqłž‰Ąąx=SCŁÔź»ëbCˇÜ!*b;Oĺăm»YÜL«>d^Ď.bŠËŕéÚk?Ý<"fń×IÄ,şĺ!c�Ůvłq!‹`ËCˇ;…X̤XŚ$ű&vĹé¬Íšj›‘d·/nnf±Xv±ču(×ÔN´o‹Jř$2Ą Bb&!řB“Ƈs&—uę1…yĂśqť¤jä˘]Ň;Gq FóUędË˝>./c4—§µ¸śTE.ĂĹ˝5rńůř1z.3ÜÇ©_ôäđ$«qőM “Ś\F"VíF÷U«§’Ö.ůŘXL˙zYoX›X˘J&CD,ÍĹĂă6ËŚ9XÝZÜÁÄ*SŤÇÄ7ş†F©?wÖĹúöŐ °ĎÄܡ*b;Oĺăm»YÜL«>d^Ď.bŠËŕéÚq˙ČńÓÍs!bťD̢ŰQ2moZ̢sł$ "dŚ.°Ľ ŇźŘEĢ•#Űm´„XÜ„XбLů“í‹i‹^‡r Aíŕ$Lű‹XßCD,ń<‚aθNR5rŃ.靣¸Łů*u˛ĺ^——1šËÓÚ \NŞ"—aŤâ ŚŢąř|ü=—nŠăT‰/zrx’Ő¸ú¦„IF.#I¶X=ŐhµůŘXL˙zYoX›X˘J&CD,ÍĹĂăf=Ksńz¦†F©?w3ÖĹ& b× ©Żť§Ŕňń¶]Ä,n¦U2Żg1 ĹeđtíµŚźnž łřë$bÝŽň1€l{­b`„!BÁh»±‹¸ ý‰ÍPD,Z9˛ÝĆAKĹMË”?Ů>±v±ču(×ÔN´·…p,DÄĎ(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4a€ŐSŤV‹ŹŤĹôŻ—ő†ĺ±‰%Şd26CÄ’˙ ÔVKGüŻĺÉK˙ŁbÖ=ÂÝö)DÄŇ\Ľž©™°uŢCU‹5ĹuCękç)°|Ľm1‹›iŐ‡ĚëŮEĚBq<]{-ă§›çBÄ,ţ:‰E·Ł<d Ű.b ˛Fř }ă@ú› X´rd»Ť–‹› :–)˛}"b1í"bŃëP®!¨ś„iß "–M~ K<O `3®“TŤ\´Kzç(nÁhľJťlą×ÇĺeŚćň´¶—“ŞČeXُŁ·F.> FĎe†›â8U⋞žd5®ľ)a’‘ËHŇ„m�VO5Z-b>6Óż^Ö–Ç&"–¨’ÉhBÄ•Ô+ľ7±řęZoÜÁ¬g"bi.^ĎÔĐ(őçnĆş8ĹuCękç)°|Ľm1‹›iŐ‡ĚëŮEĚBq<]{-ă§›çBÄ,ţ:‰E·Ł<d Ű.bŔ˛FřŤ}Ă@ú›źX´rd»Ť–‹› :–)˛}"b1í"bŃëP®!¨ś„iK"b‰ç  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸ĽŚŃ\žÖVŕrRą kW`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIš°5CÓSŤV‹ŹŤĹôŻ—ő†ĺ±‰%Şd2ŞŠXR…Ă&b —M¶Ą™XeŞńřF×Đ(őçnĆş8HĹuCękç)°|Ľm1‹›iŐ‡ĚëŮEĚBq<]{-ă§›çBÄ,ţ:‰E·Ł<d Ű.b€†Y# ü‚ľQ ý‰MOD,Z9˛ÝĆAKĹMË”?Ů>±v±ču(×ÔN´‹%±Äó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{}\^Ćh.Ok+p9©Š\†5Š+0zkäâóńbô\f¸)ŽS%ľčÉáIVăę›&ąŚ$MŘĆ!"–bé^µ­s `¤–¨iÝŽb`Stgv‚`%>n3˝ŠçăőXš‰U¦ʉot ŤRî&­‹Ťâ1‹ë†Ô×ÎS`ůxŰ.b7ÓŞ™×ł‹…â2xşöZĆO7Ď…Yüu1‹nGyČ@¶]Ä,˛FřŤ}@ú›ťX´rd»Ť–‹› :–)˛}"b1í"bŃëP®!¨ś„iK"b‰ç  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸ĽŚŃ\žÖVŕrRą kW`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIš°ŤCD, ÄŇ˝j ZçŔ I-QÓşĹŔíŐŞ$Z‰‹ŰĚ@Ż[Äâňăý#"–fb•©Ćcâ]CŁÔź»e×E/=@Ä,®R_;Oĺăm»YÜL«>d^Ď.bŠËŕéÚk?Ý<"fń×IÄ,şĺ!c�Ůvł.DČ"MDÜ(ĘźŘäDĢ•#Űm´„XÜÄ6±´T§"Ý?UžŰ”"b1í"bqíüąÝ?l# ÁŃDÄĎ(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4aCỏĄXşW­Aë\$©%jZ·ŁB÷#ĺŰFZP'8"ę§ŠR˙Z-ę§ŹęźXş ED,ÍÄ*SŤÇÄ7şfÂÖyU-–î6Ëę˛"fqÝúÚy ,oŰEĚâfZő!ózvłP\O×^Ëřéćą1‹żN"fŃí(ȶ'‰Y‚†YŰÔ ~c"b!ýµrd»Ť–‹›QKOś˘‹UZ +Şů«®?ĐţdűDÄbÚEĢס\CP;8 Ó."– DÄĎ(ćŚë$U#í’Ţ9Š[0šŻR'[îőqyŁą<­­Ŕĺ¤*rÖ(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4a!µ›ľQ~5ŕţő˛Ţ°<6±D•L}k˙TN}Ä'(é fę|ëK?.™ŔTAŻ­˝X€Xš‹×35¶Î{¨j±t·Ź$* Y\7¤ľvžËÇŰvł¸™V}ČĽž]Ä,—ÁÓµ×2~şy.DĚ⯓Yt;ĘCĆ�˛í±b`”!BÁČşŔo(@D,¤żVŽl·qĐ"bq#&bé‰OŠ€ Qj·nČJq Ua‹c‹^‡r Aíŕ$LűÖ±TőCD,ń<‚aθNR5rŃ.靣¸Łů*u˛ĺ^——1šËÓÚ \NŞ"—aŤâ ŚŢąř|ü=—nŠăT‰/zrx’Ő¸ú¦„IF.#IR‹ ůŘX›üëe˝ayl"b‰*™ …ŢÓcÂŤ„vy…!Ţ’Đ|"^ů4a‹îZ÷mü1ą*-î`b•©Ćcâ]CŁÔź»e×E.B‘^¦Y7¤ľvžËÇŰvł¸™V}ČĽž]Ä,—ÁÓµ×2~şy.DĚ⯓Yt;ĘCĆ�˛í"f:!‹`¤AÝ�ŕ7 "Ň_+G¶Ű8h ±¸‰±tĹ&`ĹŠo_Fű+-Žž'"Ë."˝ĺ‚ÚÁIv±!"–xž@Á0g\'©ąh—ôÎQÜ‚Ń|•:ŮrŻŹËËÍĺim.'U‘˰FqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ ©Ĺ†Ä|l¬Mţő˛Ţ°<6±D•L†ÝĎ´@{ÝxBŹ­(bÁ9cŰŞĘrMBD,ÍĹ뙥ţÜ-».ĆBÄ,ŹîCŢ"őµóX>޶‹ĹÍ´ęCćőě"fˇ¸ ž®˝–ńÓÍs!bťD̢ŰQ2m1‹@ BÁÚřń 鯕#Űm´„XÜÄXta‰+ľ}‹aěÄ‹m‹^‡r Aíŕ$L»X‚K<O `3®“TŤ\´Kzç(nÁhľJťlą×ÇĺeŚćň´¶—“ŞČeXُŁ·F.> FĎe†›â8U⋞žd5®ľ)a’‘ËHŇ„…ÔbĂb>6Ö&˙zYoX›X˘J&Ă|KOŚZŰăŢPâsÓN¨Î?ú'Śüńb€•ÁD,>˙: "–ćâőLÍ„­óŞZ,ÝmŕŰiPÄ,ŹîCŢ"őµóX>޶‹ĹÍ´ęCćőě"fˇ¸ ž®˝–ńÓÍs!bťD̢ŰQ2m1‹`»C„,‚‘µáă7 "Ň_+G¶Ű8h ±¸‰±X¶Xzyy(·@¸}"bŃýzÚGŤe#Éş~"b1Ń …ŕ­"b‰ç  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸ĽŚŃ\žÖVŕrRą kW`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIš°Zl8@ĚÇĆÚä_/ë ËcKTÉdŹ„áotňibZPŇ•4şŠś˝&^Ü‚˙t’ňú×±4Żgj&lť÷PŐbén›¶ť–EĚ‚ńč>ä}"R_;Oĺăm»YÜL«>d^Ď.bŠËŕéÚk?Ý<"fń×IÄ,şĺ!c�Ůvł¶3DČ"M°o@D,¤żVŽl·qĐ"bq# b±?xłbĹ·/QÄŇOt˙8í‹vč×3Đ>j,IÖő‹‰-*b4|zIŞkŕ"L<.ëÔc ó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{}\^Ft=ô9Wţ«p;ŻűE ˘SŃmôŚ’(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4a=a‡Ä|l¬úţő˛Ţ°<6±D•LFKŚx{+JL¬:PEÄBs†E-ťGÝžĎ`Ö ±4Żgjh”ús·ěşXeDĚ‚ńč>äý"R_;Oĺăm»YÜL«>d^Ď.bŠËŕéÚk?Ý<"fń×IÄ,şĺ!c�Ůvł¶+DČ"QĄ0i7¸v±$·ĎHŚĹ¶i±BíëęMĘżV·O”Uj,w8цÂ'uC‹¶ýĽ~"bd ŻQť?·ű± éˇĐ™Č‡s&—uę1…yĂśqť¤jä˘]Ň;Gq FóUędË˝>./cwďâ˙ mOkőˇËâTt*şŤžQĹ˝5rńůř1z.3ÜÇ©_ôäđ$«qőM “Ś\F’&,vK€ŹŤUßż^Ö–Ç&"–¨’ÉH±ÄżŤÄ.ď-ÜźÄĎ ńövł˝t[ů<U "–ćâőLÍ„­óŞZ,Ýmhvβ""fÁxtňľ©Żť§Ŕňń¶]Ä,n¦U2Żg1 ĹeđtíµŚźnž łřë$bÝŽň1€l»ň­™ÁB„,‚‘~�"b!ýµrd»Ť–‹›Řž"–ü´Ő/nQf´?QgRÄŇwŔí"bŃýzÚ{˝Ë$˛Ž„×(ĚÎźŰýXÓÚˇ  ?: ůp.ÂÄă˛N=¦0O `3®“TŤ\´Kzç(nÁhľJťlą×Ç…1ÖńöEgŃĄ­/ŢČâŃmôŚ’(®Ŕč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4a ľäÚÁ`AĚÇĆ*î_/ë ËcKTÉdŹ\áonJżĐľ~Řq1QIÝ )ăbqĹ-ˇźjRĚ""–ćâőLÍ„­óŞZ,Ýmčö̲B"fÁxtňţ©Żť§Ŕňń¶]Ä,n¦U2Żg1 ĹeđtíµŚźnž łřë$bÝŽň1€l»YŰ  Ś0đ 鯕#Űm´„XÜD "­Q<K;‘ůŻźÓX›{†H‹˛Ý°±ŚÚíϢE!KiS`Ţ ‹E;ôëh_Ěő6’Č:^Ł0;n÷"bAN‡ č€L¬/ÎEx\Ö©Çć  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ú¸tFĄŞxOkązu*vĚ,đAa€ µFqFoŤ\|>ţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ Kđ%×nŔ ćcc÷Ż—ő†ĺ±‰%Şd2RE,~Îp˝B?'ÔysJ«řËĎ766ŠśrŹcĆ1ëEÇ AŹËőÍŹccc0>>˝âMŢŽ?ÇÇô/ţ Cď~�k×j<&ľŃ5¶Î{¨j±t·ˇÝ3‹_€ň3łž©´ŰţY7Ó˘0üű\f Ý”µË("·NZ+ŻL"őuýłâ>)CxŚXZ} 7¤ľvśľׇě_(ą˛>N ­>ZŰ‹f:\tŰűţtę±:ë'�^_‹ş]•ą<@\óţőĄűШOčzYmďŹŔÇ)5~<uÖŰn\/´NžńS?NĐĆŹŁ‹?ZťŤńžůŽ®'žńăÔ«ńcĺ52~´¶łÇO7/jľçb–,bü@ü|ď׉7~:÷´ŕYܶ“ţÁB„,‚‘ő<."Ř3O»Ť–`ö‡Âč2ÂNřkńŚ<ÖőË» BűŚD ŇžĄ‹–ö1~fŽ9§?°6÷ "…ąacµqAň¦ôoCgŘŤNŹ?ÚîĚ3$Ö1s•šŰŢkťˇęj÷z;nČ:^Ł0;n÷a'aÚ3׼֝x”iÂúĂŰn—Äi[×®ś„Ňâ Đ R€s&—uę1…yĂśqť¤jä˘]Ň;G1,>3íV©“-÷ú¸z…ZŞŽÚţ2n}˝óť˝š·×ŻüKŞń BSŞű´,ęÓĎ(‰jc`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIš°ôM%@*ă�AĚÇĆ*î_/ë ËcKTÉdđűYŰ©=…¸[<“‹Tú•ŤRŔR'ŞX|ďµůŢľ “““055Ůýr{6R‘ű6 ±4Żgj&lť÷PŐbénCłgć |ˇŞďó"f±á# őµăôýé/äűţ"fÁchőłDŤ'hăljя%b,ÄŤ­íěńÓÍ1‹@0ş!‹`$A=Ź‹öĚÓnă %ýˇ0şŚ°ţZ<#Źuý2®¨Đ>#±‰"»}ĄSćöÖćÝőFµÍHZńčöe„ Ć›Xô›ięúu¸ň;¸1×nůj‡.2Ď@’XÄĚUjn{Żu†¨«}Üëí¸!ëHxŤÂěüąÝ?d„ś„iĎ\{đZwâQţĄ ëo»]§m]»vpJ‹DĽÍ: «s&—uę1…yĂśqť¤jä˘]Ň;G1,>3íV©“-÷ú¸Š"ŞEîQ‘L°^XZčź×»řů¶ĎDP̢čToJuŁđcžQŐĆŔč­‘‹ĎÇŃs™á¦8N•ř˘'‡'YŤ«oJ™d”9‹äK®Ý€AĚÇĆ*î_/ë ËcKTÉd8/#;^1|üyş0ellĽ´Ż­­ÁĘĘŠV¶#j)ŢľréLś>pć$Lź;Ď\š†ß<đí°^–ç|ş?ŻÇČzßéŔxűŮu÷Ś‚[ö­ÁË®Z;Ç`nn®ř+\Ä,Ľ7·ŘujJ‹;XeŞńřF×LŘ:ĹŇ݆iĎ,„#ô Ců…Şľß‹Ĺ†GŚ€Ô׎Ó÷§żďű‹ʎŐDĚ5~ś  Ś'F?–Y°7~´¶łÇO7OÄ,ÁhB„,‚Ѷ—¶Ś°÷Ë+”7ëeľČ©eϢüË2Äýż}a‡€=ó´Ű8h f(Ś.#섿ĎČc]żŚ°ë*´ĎH$ŠXZHp®ź9¶¨öđçB´ÍĘÓýXŠG¶O!΀ŚeăőĎřµFďó ꬇őÖ>m,úç¤}˘őGĚ\Ąć¶÷Zgh€şÚǽގ˛Ž„×(ĚÎźŰýCFŘÁIö̵Żu'ĺ_š°ţđ¶Ű%qÚÖµk'aŽ" 2±Š8aâqY§S'P0Ě×IŞF.Ú%˝sĂâ3Ón•:ŮrŻ‘«ĐŠÜă¸Zí/ë–aÇě,üČ»ß ÷ÜyLNšŹlkkëđ•G…ßúż ‹‹K05=C|aĄčşNwW —aŤjc`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7EňxŠEł6Vq˙zYoX›X˘J&Ł©7±ô+ůĎĺű^.Héý4P/nţf’ńńńBIJ°°�ŮĹ 0ůüQ8s&Îť™‹ç`úŇEX[5b<5w|mjl5|öŔűš‚7^s ŢrÓi8°wěßżżĚ·÷ć*ofKsńz¦fÂÖyU-–î6Ś{¦*Ţ^HŢ8”_¨ęűľYlxÄH}í8}ú ůľżYđZ}@Ä,QăÇ ÚŔřqbôc‰‹qăGk;{ütó¶«E eE°- "Ř3O»Ť–`ö‡Âč2ÂNřkńŚ<ÖőË» BűŚD R5ËwŁý!^k}˛özăíöě§Ş}N`o\Ń TŰŚ¤ĆŰĘ˙5\ţ/Çó=§ĚPob!mE±ĚĽ[Ë/|b˛8b}š@`íÓƢNÚ'ZÄĚUjn“}ŃŹe¨«}Üëí¸!ëHxŤÂěüąÝ?d„ś„iĎ\{đZwâQţĄ ëo»]§m]»vpĆř'âmĐ™XEś‹0ń¸¬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[î5rŐ%béň¬./·÷Ô řŮ_x/Üxýu¨k.ląďĄ÷Ŕţ}{á˙ň˙Ń.¶ Ó33ťĚr˙TtUBcĚůrĚ3J˘ú+0zkäâóńbô\f¸)ŽS%ľčÉáIVăę›"y<EDĢY«¸˝¬7,ŹMD,Q%“ˇĐ{zĎMzŻó¶1óÍ*{OČ2> f.^€ö/,\u–Ú{âňĘ*|ä‹pͧ?Úä@ ¬µ2řđł{ŕ©K3đ/9UôÉÁ“+”ĐED,ÍĹ뙚 [ç=TµXşŰ0ĎHł(OŚŹYŔŰvł`1 NŚ ń왚†]“SŽ‹o%q>ÁËüŽ™'ĎŕiăÄňe÷'EĚâ§ĆŹ•×ČřŃÚî¸ÚľĹ,Á(C„,‚‘‡X `Ď<í6Z‚Ů ŁË;áŻĹ3ňX×/#ěz€ í3ÍŠX ×µőÎ[IZë06>ŮX¸}N`mÖ TŰŚ¤Ć[|đ¸¶Öů0˛oěşuë×2«ŕŇBö„úÝÚF Ö[«0>=]|§ßL+‡Ę›Ă`ű¨ţ^?­?bć*5·ÉľčDz°®Ł}Üëí¸!ëHxŤÂěüąÝ?d„ś„iĎ\{đZwâQţĄ ëo»]§m]»vpĆř§Ú˝)@db˝p.ÂÄă˛N=¦0O `3®“TŤ\´Kzç(nÁhľJťlą×ĂĄ˙Ľµ÷b*·fݡ~řđU¤EGîs¤í{â…“EŮ,ŹÓÄ”Č2g ńÖ«¬žęÇóË˙p˝5rńůř1z.3ÜÇ©_ôäđ$«qőM‘<ž""bѬŤUÜż^Ö–Ç&"–¨’ÉHyK§5F;öĹĹEX_]±“/ŔŘé“0vö$Lž= ».ś…éü'‚´·«Ľpăpvç°çÜ98rě!Ř 3´.<yaţÓŁŕoľä,\şt öěŮ SbßĘ""–ćâőLÍ„­óŞZ,Ým+ĚHł(OŚŹYŔŰvł`1 NŚĐĺyĂU×ÂŻ ?ă" Z� ®U>xâIx~ńRÁUyütó°¶‹‹qăGk»ăh»Y‚ŃY# ±@ŔžyÚm´ł?F—vÂ_‹gä±®_FŘő�Úg$š±¬-.ÁÚŇ Ľýđcđ¦+ž?;y=Ľďé`fď.śť%ŰçôÖfÍ@µ ¬vôÎsËʥ˰w|ÜĽëź;ơ§ŻÉşO™Ő¶ŢĘŰą-mÝc®Žż´˛_9ý0ś_8S»woَćvY?ýNmwh78íÖc‘s’´g9ŚŮ34�ëú1Úǽގ˛Ž„×(ĚÎźŰýCFŘÁIö̵Żu'ĺ_š°ţđ¶Ű%qÚÖµk'ˇ´xd»7č€L¬ÎEx\Ö©Çć  sĆu’Ş‘‹vIďĹ-ÍW©“-÷ę\ć—t8cţF•\XŇËmmd0>1~–Ńă)üŠ2�×^s¸¸îÚĂ…Ąř—ě…0E‘őÍO‹7¨iőĘĹ/ůO7Pőę׿(ŁÖ|Ń[#źŹ?Łç2ĂMqś*ńEOO˛WßÉă)""ÍÚXĹýëe˝ayl"b‰*™ ú>VycůD,«««pţüyČľö\÷Ń?…ńĺ%áĘŻ~ö<~˛™öţů˘ÎOě\ZoÁZ Źł{r &jgĐŘŘhÁÂň¬mlĎĚÓS07=i|Qń•Ósđŕ©yxĹô Ě̬Ŕôôt%1‹Xš‹×35¶Î{¨j±t·ÍX“#‰ĹŁĂ#bđ¶]Ä,X #TX¬Ř㇉žx >Ôţë‘ËĎ Ůţ‘ăÇĘkdühmw\m1‹@0!‹`d!"Ř3O»Ť–`ö‡Âč2ÂNřkńŚ<ÖőË» BűŚDóobY[Z.ěß|ĺÓ0Ţ®â·]ý|éÔ8zi Ć&&alr ŕôÖfÍ@µ ¬vôÎóźZ™ź‡™lnßw/Ś©18Ľw^vÍŚŤeĹ}T~Ěë[ľ8¦]xCuÄ)ŞŐ9¶Tç—Ž6ňóVÖ±µ:_OtÎ×fÚç÷ÂgO~ VŰ1Çvď)f(łć«} ‘‡Ýî˛xć$iĎsłăO·uµŹ{˝7d ŻQť?·ű‡Ś°“0í™kgÍU±Ä‰őÂąŹË:őÂ<‚aθNR5rŃ.靣¸Łů*u˛ĺ^ť+$bÉĹ$kë°ľ±ű÷í—żěîb/űěçż—/Ď·ż„šAľlęó¬÷„,W_ \ąęŠ˘ĚF»ěµ˘µmď­++˰{×.xĹË_VěŃź˙ŇWŕěąó01>ăăm۸Q/»í˝·˘Ĺő}`ôÖČĹçăÄčąĚpS§J|ѓÓ¬ĆŐ7EňxŠEł6Vq˙zYoX›X˘J&#őM,ňź Ę˙Nť> ëíýń¶Ź€%bÁ",¶$˙ňě"éxz^˛w†Ëí~¸pyŮč땵 X\^ý{fŰĎĎýű„Ź=»îżćbń&›\Č’#ć-,ĺŢżyWDwmHHű~ľŃ5¶Î{¨j±t·ÍX+G1‹'F‡GÄ,ŕm»Y°'F¨0őŮă'€ľĄń@¶]Ä,X ?ZŰ—@ŰEĚ"l}E0’ ě™§ÝĆAK0űCata'üµxFëúe„]Pˇ}F˘y‹nĎúQß}ÓcđKŢ+í/Ćföí…~ŤţŔÚ¬¨¶I«?×W;Ż}ľrîZËoňÚP?»K+ôYodéŢ–9odÉËkŞŁýáäÎkŕčü“°ľ˛łł`?e9ík)p~RęŹŕőÓú#f®RsŰ{­34�ëú1Úǽގ˛Ž„×(ĚÎźŰýCFŘÁIö̵Żu'ĺ_š°ţđ¶Ű%qÚÖµk'ˇ´xáë:H 2±*8aâqY§S'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Ü«s…D,ëëë°ş˛ ““đ˝ßőíđ–żöFč<j˝ý­ßżúţ:<÷Ü1ݱŁó@]ĐÎz?ůsčŔŕâСűĄ6Ú˙ť,ąŚÚn´`iq®˝öřG?÷Ó°kçÎÂţďřNřŔź} Ţ÷Ç€ĺö‹SS3Ý:ăť’‹r2ô“ Ńu3‹ĹÇŃs™á¦8N•ř˘'‡'YŤ«oŠ_ąée$‹äK®Ý€A¬ÚŤUÜż^Ö–Ç&"–¨’ɨ"b±ßƲşşkk«ť7ŤĺodYY…ńvzbqR1ÓŢ:Żź›„âŤ,‡g&aŘ‘ďŁ.Ż }˝ŢŢ«/ÎŻŔţ]}1ÎS§aq-˙7ë^‹?Żř/ J‹;XeŞńřF×LŘ:ĹŇÝ6c]L }¤"bOŚŹYŔŰvł`1 RŚöř!đÁă] ŃvłŘţ‘ăÇĘkfü(d=ŃËĐmßb`t!BÁCűŮÇzűźk·ľÔµ´=‹ň/Ë÷¨˝´e„öĚÓnă %ýˇ0şŚ°ţZ<#Źuý2®¨Đ>#‘(bQřM•ďúa_ţ_·k^sĹ đ©3×ŔÄň LĚL´şF¦ř0 kłf Úf$=íSůOt?LĚ?;{y jG–uţ%ŮÚšV•~3Ĺldv[I¬?bć*5·=ךzš­«}É×YGÂkfçĎíţ!#ěŕ$L{ćÚ׺Źň/MXxŰí’8mëÚµ“0Ćđşč€L¬ ÎEx\Ö©Çć  sĆu’Ş‘‹vIďŰřĚ´[ĄN¶Ü«qa?Ą`[VWVŠż×ľęđÎď{;ěŮ˝ŰČĎ…#?óÓ? ˙ŕźţ*,--ŔěÜNăseĹ:pp?pqp˙ľNťZ._qŢŢŁ—–affţŢOýÍRÄ’#­Ľí-ßßřÚWĂ˙“÷Çţěc°19Uţ«ołŐĐ]»ş«Wđ’ŔčŤşŽŚ™ĹâăÄčąĚpS§J|ѓÓ¬ĆŐ7EňxŠEł6Vq˙zYoX›X˘J&ŁŠĂŇŇR!Ľ|ů\Ľp.^şë—/ÂÝü/,ĂÂÎuŐĚÜ´ĂĄŚµ÷ť;vMĂVĆŇň(Ogݬ­ĂF{ßďţËVűyćÜŇ8ěR°ľľ“Ý7±ĆüśůĹ}#PeÜAĹ*SŤÇÄ7şfÂÖyU-–î¶ëbĄPŘG+"fńÄčđĽm1 "ÄŐŔ?J‹IŤŚ'F?–Y°1~̶;.¶ŹĽE aŚ@0˛ĐľÄÄsE¬ń"b±lĚţP]FŘ -ž‘Çş~a×Thꑍ bAC]żüf“â†6ŢyĂ×aF-ĂęÂbńö»?T·ĽCOöE?–"|{Çńö]9ž9ţ(l¨őN±üNŞNp—/˙ßĆĆ:<uü«ťŘÓ3F˝YíÓƢNÚ'ZÄĚUjn{ç*ţ[Wűb®·‘DÖ‘đ…Ůůs»Č;8 ÓžąvÖ\K<Đ™Xś‹0ń¸¬SŹ)Ě(ćŚë$U#í’Ţ9Šań™i·JťląWă ‰Xňü•üM&“đO˙áĎŔOţŘ»Köď÷¶óó/¨VW–4>Đýkµ7îü§űöâŘWü‹÷Vˇd1ůň˙ç›VűËÂźú‰żWtßŢbcçÎđžw~/üo˙čç`zj˛Ý¦eŁíŘÚ§Ľß˘FoÔudĚ, FĎe†›â8U⋞žd5®ľ)’ÇSDD,šµ±Šű×ËzĂňŘDÄU2ś~î¬ůaÇ……8yň<ňČ#đéOý%|ĺ+_gž}.\8«Ý7zć˙řáôę\\Ç˙ήnŔ¨b˝Őň;¨Î›Yt\^é®Y*PÖ¦Â6ďFŃ«' �Ö®ŐxL|Łk&lť÷PŐbén›±.6R©ŚQĆú<Ş>ÂĺúăĎý¦)óÄŕÖ ˙LÚHRm·ęŢ“8źIŕźo™ţB`űgnv íříÝvEđŕ ?˙ˇÚŽűgžű^(ŰŽgZő!ózv«>¨?cü0Ç)>ę{ütń€.bqI ‘ńÓÍs‘Ař1ą^ÔW5~ś2 Ś+Żţńc¶_jšď*ó=Nş<?ßűuâŤ:†@0Ú!‹`ä!"­Ůnă %DÄâ&ŞĽ‰©qýúźqőËm˙Lń׺đő"˝sjľýşga}e Vőß7E ÖŻ!č+Á5tOĆĆÇajÇXXź‡żzäXXĽÔQ–C˝Č?č\XĽź~č°´ľ�“;vö’ˇ{˝±¶8ăĂŰn+‰őGĚ\ bçĎíţAD,î)OÄBT© 21>ÎEx\Ö©Çć  sĆu’Ş‘‹vIďĹ-ÍW©“-÷j\ś7±?›°ˇŕ]?đÝpËM7B/»ç®â (ů—yëí˛9_.BŮX_o§×ÚůżÄnÁŢ={€‹={ö¶Ël?m´ÖćČąŠź(j“ç1V×Vŕ;ľő›ŕe/ą;Č•·áÝďüžvyU´­Ój /Żo!Ş D€1łX|ü=—nŠăT‰/zrx’Ő¸ú¦HO‘ˇ±$V!ÄŞÝX=üëe˝ayl"b‰*™ŚşßIJ˙‹6NťzˇxŽĂżYĺ ‡ćŕŐűgťż×{÷ÎŔ¨bŚńŹ>lź•ŢO ޶y«|ŰŃ‹€µk5ßčš [ç=TµXşŰf¬‹ŐţrRÄ,ľžđŢ$bŠËá1KÍ஼Ž? :ń´ď±ŔäéÚk?Ý<"fń×IÄ,şĺ!cŁ ůi!ÁÂł¨nH¨Í’¶‹Ĺu‹‘ěÝđY бäDă‡_ĺřľĺšgáĎO\ §Ć‹źź@ŰÜűGtYF·Ťj‡"ěă““°÷†ëŕÔŁŹÁÇ}¬\ľ\ŘßńĆ˙Ą“h`�˝×$˙ÁG~˝8NîÚŐ6ŽÁˇ[n/böęߨĆ^S+‰őGĚ\ bçĎíţAD,î©X˘¸¬SŹ)Ě(ćŚë$U#í’Ţ9Š[0šŻR'[îŐ¸8"–kťWź˝ôî;€‹ďűî·ÁăO> _{üë0ŐŢđÇĆĆ áIţ­oşáz¸ýE·Ŕää$›/÷}ë7ż}ě xţÄ Ĺ>?– QZkĹŰX^|Ű-đ}ďř6ßKďľłhÓĆF‹\óu?o˝Qב1łX|ü=—nŠăT‰/zrx’Ő¸ú¦ř•›^F¸HľÄÚ%V!ÄŞÝX=üëe˝ayl"b‰*™ŚşD,¦€˘sŢ Ľyd˛˝o왇ä/*ůÂ…%XjąőÉwˇwLµłüýs3035 óK´0eb| &ÇÍo¸±‘żˇĆmőóBşe0PZÜÁÄ*SŤÇÄ7şfÂÖyU-–î¶ëb=ČŔxĆÄ>r‘źňÄčđČĎ ·íň3CX (ŰîüLLÍŤźBÄrĽű&lü$ĐČřqbôcÉĎ a1€?ŘÜŃÚî¸Ú>Ň?3$Ś DČ"YE+G¶Ű8h f(Ś.#섿ĎČc]żŚ°ë*´ĎHlŢ›XĘö­-tŇcůďë§ăm·¸ů řż}I;{ ¦sŃ ýŃ5ô>÷3ďĺ2˛аç ČÇňÄĚ ěżé¸řěó‚Ýłă°kĆú3ëŐ§ÓçăSS°űÚkabzşl„Ę;t@ƇvCkű:I¬?bć*5·˝sZĄ®Ú>ËF’ś—f¬đ…Ůůs»Č;8 ÓžąvÖ\A Q·ú€Čİ8aâqY§S'P0Ě×IŞF.Ú%˝s·`4_ĄN¶Ü«qqE,ņÚ}Í˙ŇŇ2ěÜą8‡źţÉ…źűĹ_.ö»×ľęp÷·Ăí/ľćfg!?üÎď)Ž‹‹Kđčׇ‡ý*üĺ§> “słđwŢűcEL.ň¶äPyűň?Ć'#ŢáJ�cf±řř1z.3ÜÇ©_ôäđ$«qőMń+7˝Ś$p‘|‰µK¬B:U»±zř×ËzĂňŘDÄU2u‰X‰µv].¬oŔQĄKk�C.d™śąéIX$޲˛{Ç4ň¸ Ý-â•~~§Äŕ ´¸‰U¦őĽc™š xŘFëb˝9)bĺ‰Ńá1 xŰ.b,Đb„šAŤCÄR:ŠŹˇŐ§îńcĺU?ŘÜŃÚî¸Ú.b`ë@„,‚‘„X´rd»Ť–`ö‡Âč2ÂNřkńŚ<ÖőË» BűŚÄXňü‹Ovr§öA¶űÚŇĺeÎÁÝ{ÎÂ#óť·˛LNYŤCçĽ+Ë2˛ |íë÷˙Ěž=0}×nX:bqh×$\±ŰúŔ±űÚ+îľ«HÎîŰ׿+Ă®7v­µ±čź“ö‰Ö1s•šŰŢąŠ?ĄÖŐ>j,Ir^š±ÂkfçĎíţ!#ěŕ$L{ćÚYsuTE,M>Ĺ ¤�ç"L<.ëÔc ó †9ă:IŐČE»¤wŽâŚć«ÔÉ–{5®(K·O} :\ěŰ»ţŐ?űeŘ97WĽ‘Ą.ĚÍÍÂËď}Iń÷žü>_\„ÝLMO?ý”µÎ(Ć'#˝Pâî{(® ‹Ź?Łç2ĂMqś*ńEOO˛WßÉă)""ÍÚX=üëe˝ayl"b‰*™Ś­(bÉ13–Á7Úk’%ßfƷƧř{vLĂÄÄĚ/­?ĺ—ßJLŤŹĂ®ą)Š|KŤŽÎ><Čk¦Ę¸ŠU¦ʉotÍ„ <lŁu±.·®á/'E̢<1:<"foŰÊŀ1B5ŘăçcůĎ =E8ŠŹˇŐ§îńcĺŐ?~̶;.¶‹E Ř!‹`{@ˇŰŶ1űCata'üµxFVa§a×ThꑍIÄŇmXřú™cKż5;xPřá[‡đů}°2?ß~ô¸Čľčä+ŞÁÓ>eÚŤ/ţ(2OžZ.ţ tďľ2ýÎ\uÎQÉč=j·•´úžś“¤= ĚaĚŽ?ťRísĆ }Ôő6’äĽ4c…×(ĚÎźŰýCFŘÁIö̵Żu'ĺ_š°ţđ¶Ű%qÚÖµk'ˇ´xáëj·Żá§Ĺ2ń‰jáóŻA|>ĺM2ł˘ąÂŮq\´Kzç(nÁhľJťląW㊱�ڵż4ŰhˇöÉO~ î»÷ľ¨7źÄ Lb‘ dbcä?_đů©b=›ĐÚŔűÉv5‘)."©_ôäđ$«qőMń+7˝Ś$p‘|‰µSACŤđŚĆÂú×ËzĂňŘDÄU2M‹Xňź»[[[+¶Ę1Ď-éçĎ/Áńj•Ă3pëÎ)śż˝ÇLNlńOęŰŐß13 ;¦'ŰýÔŮ7«~ůĐË úFiq«L5ßčš xŘFëbÝ1 ÇĘ+“"fAc€5~Ŕ˙…Ľ.F@ ׆ĄůsB”ŁYđZ}ę?V^ĘřÉž>̶;.¶ŹŠE eÔ÷O�‚a…B·)‹mcö‡Âč2ÂNřkńŚ<¬ÂN;2®¨Đ>#17±b»O”}‹Úţďů':‹/8WÎ-Ă›®>ë+k°ľĽ¬TdŰŚ¤]'礗Ě;ĐdL욇#ű¦Ę?ĄĆŠzĚv(üZkcŃ?'í­?bć*5·=ךz*UM;ôëhëzł®źXL‚ ›2ń¸¬SŹ)Ě(ćäs…łă¸h—ôÎQÜ‚Ń|•:ŮrŻĆ•"bÉ1>ŃyŁŘ—~ Ž>s¶:ň6|ůˇŻçăÖżwđ-䆛ň!ÁY,>ţ@ŚžË 7ĹqŞÄ=9<Éj\}SüĘM/# \$_bíTĐ0ĄŮő´µÂ]Kő›M‘kßľ˝°wďś.žĺ6ZP>ő˝!o\ZoÁâţw1˙‰ í€,ťÖ)b”w0±ĘTă1ńŤ®™°'€m´.6e=˙÷3(ĎdT.Źwę!\®?ţ9iĘ<1¸u˘ŰŢß“˛@ŚOxă|†fúăź;šţă–ŤúŚU/C·]<8čĎ‹¨¶ăţ™ç>ʶă™V}ČĽžÝŞęĎ?ĚqŠŹ‡úđŔń§ŕCÇź†äńă”i`ütó\dţuąîŢů® jü8e?V^ýăÇl;ľ>Ô4ßUäřřůŢŻoüŁy#‹`´¸Ń 6AÚ."×ED,F˛!KŮýťăŘ ĘőŽź„Oťş–ç'a|jşř×]ŞäČŚ¶YĚfťś“^˛«ÖűN)r,ÇâŠňg†Ü›4ô4CĆ9$Ö1sUD,ť?·ű±¸§ŐD,DUkGZtpS&—uę1…yĂś|®pví’Ţ9Š[0šŻR'[îőqy-KžĘßŔ’ďµç.\‚Ďţ‹póM7ĂVĆľđĹv[.Ăľűa¬Ý¶îVۇńO‰Ł7Şď3‹ĹÇŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4a ľÄÚ© a Kł1ëik…»–ę3>6›˘Z¬|Ośžž†ĂG®†sgĎlëëë0?ż�cÝ7°Śµ}Ţp`¬ôW×(ďű‰ S+xąöß© Ý"?/TDÄŇ\Ľž©™°uŢCU‹Ą»mĆşŘ4Ś[WĆż´—7ł(OŚŹĽ™Ľm—7ł`1 Ξ€{ >xâé^M yü8őj`ü81ú±äÍ,X (玼™‹ˇÇF"dŚ.ş-Xlł?F—vÂ_‹gäavÚ‘v=@…ö‰Á‰Xzńt"ó°šÍ�f'Zđ˝7<żóäí°¶¸“;v ÁĆlfłNÎI/™vËVáS—ňg†Ę»şVqł¦tî,ĂŻ5dôŔ¦®Ő÷Ę% ŘłŔĆěřS¨BlÚˇ_OrŚűěÖř]żn™đ…Ůůs»Č;8 ÓžąvÖ\K]H‹nĘÄă˛N=¦0O `“ĎÎŽă˘]Ň;Gq FóUędË˝:—ů6ľĄ‡‰É رs'üŧ>íMo„ÁVÄ™3§áźü4ĚÍÍ„ö6kňC ­–űC43‹u-ů1z.3ÜÇ©_ôäđ$«qőMń+7˝Ś$p‘|‰µSAĂ@ "–fcÖÓÖ w-Őf|l6EZ¬âOXAî»÷epúô¸pá\Ľx–—aMµ`cl Ć[-Č˝nn,îŃ‹ë-řÂ…%2˙Ş™ xŮžE`kd§Ë[űmőZôă&V™j<&ľŃ56đ°ŤÖĹAAÄ,H+ŻLŠŤ!b�Öř˙ň(Č~䣱obzĆŹSŻĆŹŁKÄ,X (çŽY°ÁčC„,‚Ń„"î‘DÄbŮýˇ0şŚ°ţZ<#«°ÓŽŚ°ë*´ĎH §%Om˙L§ÄÜAŰ{ ĘűĆĂ'ŕ#ÇŹŔs‹0>= ců—QF,ôÝŚŤĺŘyDűR˙´Đî™ńňŽN˝ß"wÜ€Śr I«ďÉ9IÚłŔĆěřÓ§BlÚˇ_Ď@ű¨±l$ÉyiĆ ŻQť?·ű‡Ś°“0í™kgÍŐm$b!ę\ŇčŃÁM™x\Ö©Çć  sňąÂŮq\´Kzç(nÁhľJťląWçŞ*bÉ‘‹>¦ÚűíŃgŹĂŁŹ> Żý`+"ŻűÓĎ}B–y›Ť•¦0řď{:Ŕ…>YaĚ,ÖµäÄčąĚpS§J|ѓÓ¬ĆŐ7EňxŠlKb Ł!"–fcÖÓÖ w-Őf|l6E˝Ł ËĆŕСCĹ_ŽŰn{śxá$<tü)xé OC f'ĆŕE;§`iĂ­k~—df ¶ äM,ÍĹ뙚 xŘNëâ ‡o7žY¬8V^™1 CÄ,�¬ńă©3 ˛Ă0D,WĺńŁqÎÓµ‹ĹöŹ?VkühsGÄ,X `´!BÁHBˇĆĚÍSDĂžEů—eű�Ô^Ú2Â{VîĎxP¬ľĚţP]FŘ -ž‘‡UŘiGFŘő�Úg$±X ŐŻw߇n_Ď>~řUB~#ôî[_ţň}°¶¸Ó»v•±şt}Rí®‰n_FŘŰ-ŰH X&ĐźRî šŇóÚ’ö -°Ś­úš'ZÄĚUjn{ç*ţÔ©›včדă>»5ţÉyiĆ ŻQť?·ű‡Ś°“0íś1‹ŮEÄRŇčŃÁM™x\Ö©Çć  sňąÂŮq\´Kzç(nÁhľJťlą×ÇE1nll€Zß(öʱ±üośě›\°1>9 Gźy^[ół„§Ž> ăSÚ­AwÓ5R Z­Vń—/„ŮřxńóJĄOTß3f‹Ź?Łç2ĂMqś*ńEOO˛Wß”0ÉČe$iÂyÓ µS~Cb ůáUç–\D,ÍƬ§­îZŞĚřŘlŠšGB·«ýLš˙äĐoąNď?/žťK—aĎŇě]Y‚©Ö†Sćěô<sĂN8¸Ľ7@gGşyÇö«čČôýX{pĚŰX”w0±ĘTă1ńŤ®™°'€í´.6ľ±â_&‹‰cĺ•Ił 1DĚŔ?ž:“ ű‘ĆŹ= <~”äŞ<~4.ĐyşvłŘţ‘ăÇĘcŤmî‹!Ś.DČ"Ř‹ecö‡Âč2ÂNřkńŚ<¬ÂN;2®¨Đ>#1,obé,{ńŻĆ—Ď›d“s�ăÓ`ăEű.Ă+ž†/\€ń©)žŃYuŇîÍşe/“Úݤ2oFl_úÝ“óÓB™{Ń”q§—yĆ�’´úžś“¤= ĚaĚŽ?m*Ħúő ´ŹËF’ś—f¬đ…Ůůs»Č;8 ÓžąvÖ\ËćÜ”‰ÇeťzLaž@Á0'ź+śÇE»¤wŽâŚć«ÔÉ–{=\JS’ÚĹÖ××Amlô!?ÝŘhA66cíżLűŔc}m VVWáőŻ}5ĽóľŻňg««+°Ľ´«k«°Ţć]ŰX‡V.ŞéÖ7Ź=6>“ă0ŃŢă§&§`fv¦¦¦ˇ Ţőď„ óËđ©Ď|&&ĆabrŞŰĆ·h­ö—Ś*°hPÝzĺopQčţA˝•…1łX×’?Łç2ĂMqś*ńEOO˛WßżrÓËHÉ—X;ĺ7$Ö0"bi6f=m­p×R}`ĆÇfS𱟠»Ře¦¦&‹7ł}z ._uM×_µ÷Ü ^Y‚ťó—`çŇ<ě[]*ţÂĂW^çÖ6 !é7}n¸x ¶;:ŹÂZ™ŠeÜAĹ*SŤÇÄ7şfž�¶Óş8°Ť˙2YÄ,H+ŻLŠŤ!b�Öřńԙُ. KűŻŞÁńŁqÎÓµ‹ĹöŹ?VkühsGÄ,X `4!BÁčCD,–ŤŮ ŁË;áŻĹ3ň° ;íČ» BűŚÄ0‰X\{çŔvOš>;®†l˙âę=·>ţŐXť_„ńü˨ŢoŰí(+eŤAý.±8d¶ÓUD,9ěź‚´:�2>¸C˝N]Ç^9�zN’ö,0‡1;ţ”©›včדă>»5ţÉyiĆ ŻQť?·ű‡Ś°“0í™kgÍU±l.ĐÁM™x\Ö©Çć  sňąÂŮq\´Kzç(nÁhľJťlą×ĂE‰XrűĘĘ2ĚLMÁ»ŢůýpĎ]·ĂůóŕÓźý"|ü/>‹KK0>1QYňżŤőuXZZ†7ăëáGř’˙eôŇň,\ľ …`$T÷üŤ(ą€ÚĺzČżč۱cěÜą»¶Ä"Łüť÷ţĚÍÎÁG>öçSämm©V!âŮŘX‡ą™YxÓ^ßđĘ—Ăţ}{áÁ‡…˙ř{˙­č—éé´ý®…1łX×’?Łç2ĂMqś*ńEOO˛Wß”°ŃËH⦥hc4Łňk8DđŻ—ő¶ŹÇ&"–¨’ɨ[ÄÂAľÎ·Z*ëE·Ţěoď­‹=oaq–`˝˝ß\ܱ .¶}ŽuKěÚ1×ěÝçΞ…ONM±“ĎÁóç»oqYDßâ2’č^Đţ›XőM…w0±ĘTă1ńŤ®™°'€í´.zc1 řëÄ#Ť!b�Öřńԙُ}<pěiřPOÄR–ipüh\ ótí"f±ý#ÇŹ•Ç?ÚÜ1‹C aE0Ú‹ecö‡Âč2ÂNřkńŚ<¬ÂN;2®¨Đ>#±y"ŐÂÚ§đţČď_öż¸Ř3łßvísđGĎÝ«ËË0™#ĄŔř2Élźv•i˘DÄ‚ˇŞ%ţÓB`˝…@‹ţ9©ťtopK{Ě\Ąć¶÷ZăO— ±i‡.ÂíŁĆ˛‘$çĄ+ĽFavţÜî2ÂN´Scv±l.ĐÁM™x\Ö©Çć  sňąÂŮq\´Kzç(†Ĺg¦Ý*u˛ĺ^Ÿş˛ ë+ëđł?űÓpËM7¶Ý»vÁő×] ßýťßźţěçáCů<óÜóŶ´¶¶Ż~ĺË“D,Ş}0ů2\ĽxľÍłU‘ `._ľTüMNNž=ű`ç®ÝQőĘ}üŻ˙ ,.-vŢĚ29^,~yűżĺÍol·ő~šś,ý_÷ęWÂŐW^˙ř˙° +0=3ŔY¬kÉŃs™á¦8N•ř˘'‡'YŤ«oJdä2’4aÁ÷Pͨü†Äüëe˝í㱉%Şd26CÄâ‹Űy+‹ů6Żýű÷Ăľ}ű Űęę*ĚĎĎĂÂÂb!pÉËÝpĂőĹ~–ăÁ‚;vŔ‰öy«+čoďŮs‹—a×ü%ŘÓ>î\^„}íżVőÇҡB.śM^‡“ŃŤ8ÖúŰxL|Łk&lŕ `;­‹›µ±ŠüubDĚ‚Ć1 �küxęL‚ěÇŽĄ÷&–ˇ®ńŁqÎÓµ‹ĹöŹ?VkühsGÄ,ÁčC„,‚Ń…X,ł?F—vÂ_‹gäavÚ‘v=@…ö‰á~KY¶khťy¸Ă2˝˛]×@ßqýÓđ‰WÁĹ…qš.~ˇ÷/Łéöuo”ČëŠŐąž'ç§…@!7™g I«ďÉ9IÚłŔĆěřSĄBlÚˇ_Ď@ű¨±l$Y×OD,&FGIJiök`śx.ëÔc ó †9ů\áě8.Ú%˝s·`4_ĄN¶Ükäęn¬v±üç„ÖV7ŕ Ż˙†RĢ#pĽá5ßPü=uôxŕĎ>çΞ÷ţ軣E,óí/Ýňažżĺ¤ äÂ3gNÁů çÚ_(ŢŇÂEŢ–źú‰Ë—çazjŢňÍo‚{îĽôżĺć፯{5|ü“ź†ńvćov±áýŕÍđř1z.3ÜÇ©_ôäđ$«qőM › ąŚ$nPŠ6F3*ż!±†C˙zYoűxl"b‰*™Ś¦E,ÔĎ őLxľBíîĎMˇ—ż‚{îą Ž?çĎźďĽÉeaÖÇÇaqn,Ľ N¶}r1Ěââ<ątś>} †v36V.Z[„Öú ŚÁŚŐřó? 7ďl˙wşď ݵu ‹ˇµţ6ßčš xŘNëâfo¬"fťbł 1DĚŔ?˝:Ç�©ÓĎwE,áh{ĺńăm`ü81ú±D̂ŀrîE mE0š‹ecö‡Âč2ÂNřkńŚ<¬ÂN;2®¨Đ>#1Ś"ĺöGďUÂyj÷ ëř$p˙CęĽĺ řąÖaj×ÎÂŢęŠYбÜ9±ě¦Íř RáhrQţśŽŢťŰ‰ ép‡dđúiă#f®RsŰ{­ń§I…Ř´Cżžä÷Ů­ń¸~˝2á5 łóçv˙vp¦=sí¬ą*"–Í:¸)ŹË:őÂ<‚aN>W8;Ž‹vIďĹ-ÍW©“-÷ú¸|Śëí/Ŕ¦§'ŕűżűmÂM7\ëÇŢSě§c"–\`röĚIX^^.Ň©?EÄEkcÎś>óó—áŔ+ĘŮÂDűËÁ_üű—]żw~ßŰáÓźý¬Ż­˘B–róö@D,¸…Ëĺ&«qőM “Ś\F’&,uÓLgEqUęµ!„˝¬·}<6±D•LFÓ"–´¸Úť/CĚâłĺ8räpń×Ë^+~Ţo ćşosY€cÇŽÁÁő‹°®Ć` X_†ÖüÉö†ŰłZ«űW®ßŰů Ą|oúľˇ\[˛Zëoă1ńŤ®™°'€í´.ËĆ*bđ׉!F1 CÄ,�¬ńC|ľę…ĆŐ±ďř) Ž'hăljя%b,”sGÄ,ÁčB„,‚‘…"´=‹ň/Ëű:j/ma‡€=+÷[<(Vߌ°[§ ŁË;áŻĹ3ň° ;íČ» BűŚÄ𿉥¨c÷wĆ{ölj'Äâ•Wś=ľľ0ł3uż`ęq÷> ăŠXĚLęţĎ é@®©6Ťźj)ă.Ď˝~WĚ\Ąć¶÷ZăO‘ ±i‡~=É1îł[}Ĺş~"b1!"–ú€nĘÄă˛N=¦0O `“ĎÎŽă˘]Ň;Gq FóUędË˝>®˘jˇĹÖVVacŁßó]ß^ü”1"–ĹölgĎž*ţEuó_D™XY^†Ž?ű\;vňî%bę÷Ů;Ţţmđ_ţŰÁÚÚjű˶)-·{/ÓŃ" nárąÉj\}SĘ$ŁĚ‰”˘ŤŃŚĘoH¬áÁż^ÖŰ>›X˘J&cD,}! /–O¸˘Ű{¶V«o›l?×N¶÷źÎľÝ±_sÍa8~üřo§áüÚ4‰ü ,jţ4y~hvvLNĂÄřXńC:ęż—čí×0�Xëoă1ńŤ®™°'€í´.nŇĆš‡Eg‡YŔ_'†AÄ,h ł�°Ć$ě[Ş÷sBGAŻłY�Ňvď|G×1Ë–łŁ ˛FŠHĐö,Ęż,Cě稽´e„ö¬Ügń X}3Ânť*Ś.#섿ĎČĂ*ě´##ěz€ í3›!bŃnhQg¤?6o˙L'wî Śí˝8Čo~~äÖŻÁ/|~/¬ĚĎĂĚŢ˝f7Bcn0ŔÇrů˘r?`DÜ(NČ®tqě±uD=ĆO"QőŐ‹éă#f®RsŰ{­ń§G…Ř´Cżžä÷Ů­ńϸ~ĺřݎ}"b1íÚÁI(-^řşÚí ÷YßÜ”‰ÇeťzLaž@Á0'ź+śÇE»¤wŽâŚć«ÔÉ–{}\>Ć|ÉVh{|Ë_{#4óçÎÂĄK»)˙ ąĐĺâĹKpîü9XČ˙…ůŇ"¬B›ÎżČ‡©é)Ř1;WRöďß{÷ě ~ˇ•÷—˙ÜĐÚę*ěÝżęĆ·~Ó›ŕţ8śżx&&z˘ĆĚb]Kţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ Kß4CBí”ßXĂ!‚˝¬·}<6±D•LĆ E,=á‰/n–)r)j®č±zč|°ďčěě,ěŮłîŢy ţüü­ŕĹĆ ´.Ë7^Ŕ1¶ăJ�ę’l¬Ěż�M߀żôŕ%صëpŃ®¨ű�žŕĄ»¶d1´ÖßĆcâ]3aO�Űi]ÜĚŤUţEr‘‡™,b$Ž•W&EĚ‚Ć1 @hü8> "–çŹâbłŕ@Úîťďčz"fŮ‚b`”!BÁhCˇ§–=‹ň/Ëű8j/ma‡€=+÷W<(Vߌ°[§ ŁË;áŻĹ3ň° ;íČ» BűŚÄÖxKałf¨ť?ü*HÁ5»—áuWť€ż8u ¬/ŻŔÄô´ľ{#¤Ěą°±l‹XüíGů3CÚO écŃ?'ím|7ĺřÎsł3űkŁ}ÔX6’äĽ4c…×(ĚÎźŰýCFŘÁIö̵łćŞXL ú Ü”‰ÇeťzLaž@Á0'ź+śÇE»¤wŽâŚć«ÔÉ–{}\˝B-…÷ŮĆĆzqzßËî&~'ůľyîěXX¸ ˇď‘ć/ĎĂsÇž‡“'O y^ţ·¸°§ĎśŁGŹ˙*ýŠ+Ż€kŹ\;wů߸réň…öwv°ďŔÁZ˙5wŢw/ż÷%đáŹ}˛čS¬/í·˛·pąÜd5®ľ)a’‘ËHŇ„Ąoš!ˇvĘoH¬áÁż^ÖŰ>›X˘J&cĐ"–>öµX>Á •ç{;‹ţ&\řŇ©ÓÜÜěرŻ˝ň<|ůś[§ßĘâqŚôK«.ZKgŰ.uţ€‹üm,Żą~ćfgŠv5÷6·îÚ:ĹĐZʉotÍ„ <l§uq6V"fI®Ýö2)b4†Y�BăÇńń ± \%ŹYp m÷Îwt=łl11‹@0Ę!‹`tˇĐSËžEů—eýµ—¶Ś°CŔž•ű*«oFŘ­S…Ńe„ťđ×âyX…ťvd„]Pˇ}Fb¸D,˝ÎśţŔÚÜăX8Ů9źlzÄŕ]·<ź;uVç'`br`l ěź*? Ě1€Xú6âúE˘˙3C˝~/h$°ë§ŤUV¶Ľ4ě ód9ŚŮń§Eěúi‡~=É1îł[ăźś—f¬đ…Ůůs»Č;8 ÓžąvÖ\‹ |Íjčŕ¦L<.ëÔc ó †9ů\áě8.Ú%˝s·`4_ĄN¶Üëăň2vŤĹ—c*˙ňkXlJ±żL:î ,.Î{ý/Ď_†'žxΞ= ©X[_‡cÇŽ€[o˝vy~Bhˇ]§|©Řŕ‹źŰć;f‹ľT­đ—{"bÁ-\.7YŤ«oJdä2’4aÁ7aŁ•ßXĂ!‚˝¬·}<6±D•LĆf‰Xüq­'ťD1K'Ž2bâ"»>YaŰ»w/\wř|×ĺ/ÁZSx&¦!ŰwDٵ°ş�Mbçä|÷M/ŔµGn(ÚcŁ>QKwmČbh­żŤÇÄ7şfž�¶Óş8k˙ËIł¤Ö‰n{™1 CÄ,�ܶgŤyŕŘQxŕůgJOšË3~JCăÇ ÚŔřqbôc‰‹ĺÜŮvb`„!BÁhBˇ§–=‹ň/Ëű6j/ma‡€=+÷S<(Vߌ°[§ ŁË;áŻĹ3ň° ;íČ» BűŚÄVx ŕmÎŃűh닝ŁőűŘějÁwÝđ4üî“/†µĄ%ŰÔł ´¨âOE„w4Ęź*ďŇ”;$×O1s•šŰŢkÍěôşfž1îł[ăźś—f¬đ…Ůůs»Č;8 ÓžąvÖ\‹‰Ś°7tpS&—uę1…yĂś|®pví’Ţ9Š[0šŻR'[îőqéŚÎ—eZ˛·ĺ<ţµÇaee¦µ·–aŕ~ytáÂ9XX\�ꓥ\@óÄŹĂsĎ=çĚŮőő X^^k×g­ű– čkM3ÉÉ šž€Ů™)/Ëć‚sçÎÁµ×] ·ŢrKű–żgČë6>>{öî8mÎűîńŻ=ť˝›öď\ Nňbô\f¸)ŽS%ľčÉáIVăę›&ąŚ$MXú¦j§ü†(ľÄć4 ˙zYo•yl"b‰*™Śa±¸Â<VHĚŇáUdý&–îÝyŽ%#Ř]wÝ §NŢ•ýüéé»áŘĘ^¨ jmš\®Űµo»á98wŢy{ń“‚ˇ}8MŘŇ][˛ľYëoă1ńŤ®™°'€í´.Ő^Ů˙rRÄ,©u˘Ű^&EĚ‚Ć1 �·í€¬5<´ř‹#Ňvď|G×1‹Y‚M‡Y# E$DÄ‚Ńe„ťđ×âyX…ťvd„]Pˇ}Fb«üśęe9ľ˝C¶çF¨‚o˝ţ8|ôř5pjaƧg ë~ńxSI'ÓÇŠnź‡Ćă§…r‚ă™ÁŁZÚżĎ˙ĹwďĽŐ»«ó·¶g9ŚŮń§Cßőë#óŚqźÝ˙äĽ4c…×(ĚÎźŰýCFŘÁIö̵łćŞXLd„˝) ›2ń¸¬SŹ)Ě(ćäs…łă¸h—ôÎQÜ‚Ń|•:ŮrŻŹËËhDzŽĐăčsÇŕĎ>ňaxăŢ;vŕo3áľ™dqać/_Î?BFó—áK~ćç/Ü‹K«m۬®¬ux––Šż••UŘčľĺd|l ¦§§`nv¶ř»Đ¶MOMÂÎ]ł0;;U~iřě3ĎÂůsçŕĄ/yiŰ>‹ÖăňĺK095]üdAľ¶/,ĚĂÇ?ńq8úěóť:z…,�á.äÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIš°ŕ›°ŃŚĘoâKlNłđŻ—őV™Ç&"–¨’ÉK}‘Š?–OĚŇËďÄPNL,/ë}1ѵiʇ=jďmŻ{íkŕÓźţ,Ľ{ć‹đřĺýđčüUp|y,lĚŔ:ŚC2ÔÔ‰‰1;'ÖášťËpǸm˙ěÜą ^ýęWˇ?Ó#ZÉĽßlÁ€žÜë:Čx=S3aO�Űi]Ę˝˛˙ĺ¤YRëD·˝LŠŤ!b�§í(Ěú”"KÄ,xŚ~,ł`1 nühmgŹźnžY‚ć!BÁČB ±`ta'üµxFVa§a×Thź‘Ř*"–2«ËgzöÖÉ/tJĚ€lĎ ‹±v¨ż~ë×ŕWżr¬Î/Âôî]˝€QŃľ(‹˘iB°ZČ?'í­ r§ŽŽ) ĚaĚŽ?*Ħúő$ǸĎnő 9/ÍXá5 łóçv˙vp¦=sí¬ą*"ao čŕ¦L<.ëÔc ó †9ů\áě8.Ú%˝s·`4_ĄN¶Üë㲍/Ć®ü_:Ź·ż(:{ţ<|ös_‚…ůyxÍk^ GŽ\ăřrľ<Z_[‡‹Αľ—.^‚Ďń °¶¶VÚ–—Váü…ů¶mÎ_ş�§Nź‹—/ÁF!ŕs?´h·©ĄZ0žŤĂž=»ŕŠűaßĘŢöwă°oď.™ť*Ú}ůň<|ćŻ> /żď^Ř˝{7Zź‹ç϶ËMˇ_–qÚ~ěŘóđ—ůIxřŃÇáôŮó°gď^Çż ,ooĽ‚ ţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ KßTBBí”ßĹ—Řśfá_/ë­2ŹMD,Q%“1L"–Ü7˘P~˝{UĹň±Ý0ŃŚ-±ë’‹R_óšWÁĂ?ă/ś„›fNÁ«Ź=w^8Vú´Ú÷Đ˙dîíđ_§^l0|őÜ |Ó5§ŕęťë°sÇlń4˝ŢtíĹ'aßľp÷Ýw•o«˙m,ݵu 뛵ţ6ßčš xŘNëâPî•=ôżś1Kjťč¶—Ił 1DĚ€^/@ęÜö1D,©YđýX"fÁb@ÜřŃÚÎ?Ý<łÍB„,‚‘„""bÁč2ÂNřkńŚ<¬ÂN;2®¨Đ>#±5E,şŻm;xWÇ–Ą˙ ˛»]‚{öť…‡/NŔÄě ŚONvbô^Űlß HÄ’Ăůiˇ ď÷úiăĂ;WÍ»>±`vţÜî2ÂN´g®=x­;ń(˙Ň„ő‡·Ý.‰Ó¶®];8 ĄĹ _W»}áţŔë›ö¦€ĎKÂÄă˛N=¦0O `“ĎÎŽă˘]Ň;Gq FóUędË˝>./#:×;Ć\Č137źţÜWŕâĹyX^^†»ďş^ňŇ—–?ÍÓÚŘ :.^<[Ô�ű)±|ö󟍍ŤnxçĎĎĂÂÂ2ś:sž9vVVW`|l˛±ü_”OÂd{źk6Öű™Ő*겶¶ZüäĐů6ç™sçŠ}~ýáĂ…f×®9ŘżWńĺÖĆĆ:|îóź‡űď9ěAÄ,y]s1ËCWBz´Z-xđË_†‡ţ |ţKŹŔ#_{]yL¶ű˛ě[}Ďe]Kţ@ŚžË 7ĹqŞÄ=9<Éj\}SÂ$#—‘¤ ľ ͨü†(ľÄć4 ˙zYo•yl"b‰*™Śa±”wË7®čŕZň{ŰŽ(Ĺz’ę}aWL>[Ě2;;WěO?}ž}ö9xáIs¬Ý†»7ŽÁ…Śů?FĎZđÝ7ž€“ë°kçnă'ţ0ËX{żźť™†Ý»÷ŔUW] ‡$ąÓ~BČŽzn°ÖßĆcâ]3aO�Űi]LÚŕ€Č©‰/fEĚ’Z'şíeRÄ,h ł� ×ËÂĎ=ŁýśVi«>N -–Yp m÷Îwt=łE ŘE0Ú0öąŚ°‘č–!öeÔ^Ú2Â{Vî—xP¬ľa·NF—vÂ_‹gäavÚ‘v=@…ö‰±čÁ»šunęÚ_‚?‡§ňc·=˙ë§÷ÁÚü<ŚíŰgV Żř0ÓĚÚŤ7FÚµ·Ö×!ĺO uŰÔz®ý…™őAˇqýş7˘Ą=f®RsŰ{­ń§@ďő+‘yƸĎnŤr^š±ÂkfçĎíţ!#ěŕ$L{ćÚYsUD,&2ÂŢ T”™G¤Ľą|ž@Á0'ź+śÇE»¤wŽâŚć«ÔÉ–{}\^FWţ˙Ő˝ËđČă_‡“gNĂââ2ś>s ^űÚ×?˝Ă±,..?„­§‹‹‹đą/|ˇ±ll(8sú\¸4Ź?ő4\nďÉ“E=fwě„™™ăË/¬!ą°$Ýäq—–ŕ±'ź„§NĂ‹nşVW×áę«ŔřřX±‡éK_†WľâčĎ ­¬®ÂŇŇbń…ź˝>ČŰňÉOţ9<}ôYřř_|¶áěŢ»vě¤~’ ŕÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIÜ<6šQů Q|*hŘř×ËzkČcKTÉd łĄ‡1KĎżC‘1Mĺ-«Çwß“Á5׹;ŕěĺ �'ź…JYöNŻÁ•ű¦áĹ/ľ®żţş˛ľ¦%+W:ßÓĽ^±ř„-n^7â@–3úş"^ĎÔLŘŔŔvZ“`ć!/fEĚ’Z'şíeRÄ,h ł�Q°<w>XĽ‰…®łŢvł`1ú±D̂ŀ¸ńٵť=~şy›*fF"dŚ.Śý-#ě@$şeýµ—¶Ś°CŔž•ű$«oFŘ­S…Ńe„ťđ×âyX…ťvd„]Pˇ}FbôŢÄŇCëäçM–=7A6{bqpÇ|óµĎÁžżĆ—–a˘ýe™SŤR‹@űň›ĺŤµt!‹ýÓB­6W65®‡):>łîV {ËĽ“Ł®uÇ”ć0fÇźţx×/óŚqźÝ˙äĽ4cáöřö‰Ĺ´k'ˇ´xáëj·Ź9n‘¶áöÁ#ľ T'‘¦0O `“ĎÎŽă˘]Ň;Gq FóUędË˝>.б÷1ÜÝmŐţ‡`rjΞ> úˇOŔë^u.^Ľßúmo…ť;v‚7şĘĘçúĄRţö’/}ůËĺĎ ĺ"–Ó§ÎĂńNĂăOm—mÁž˝ű`×îÝ019IEp,ą°d¶ýĹÜěÜXßł—/]‚Kíú~ńˇGŕ¶›olďĺ ®ąöPńóIyľň•‡ŕݏČ@»ěE™™ ţkď……xŕ÷Ă_? ţ©/ŔÚú*8t¨¨{Ż–ý†ĐŹőĘţęÇâÄčąĚpS§J|ѓÓ¬ĆŐ7%L2rIš°ôM%$ÔNů Q|*hŘř×ËzkČcKTÉdlK±b–^™Z-Š·ř/ň†–Ś-fÉ…˘9.îŘ•˛äßĹÜyç07Gď©ÔJ®Pľat#d9łÖßĆcâ]3aO�Űi]L:Ŕ=Ő¸)Đżś1Kjťč¶—Ił 1DĚhÁ\ÄŇű9ˇÚĹ"fÁ´Ý;ßŃőDĚ2Śb`„!BÁhÂŘ×2ÂD˘[†Ř‡Q{iË;ěYą?âA±úf„Ý:U]FŘ -ž‘‡UŘiGFŘő�Úg$FPĢĹ»ę•Pľďć'áĎO\ K 0>=m|¦ţ”ăkßúň2l¬®Á {o.í±(Z:w|7ﻞşřTÁ=ŢŰh7ž˝$yĎěť«1vf ×5 \WúzIr^š±ÂkfçĎíţ!#ěŕ$L{ćÚYsUD,&2Â^{Eui ó †9ů\áě8.Ú%˝s·`4_ĄN¶Üëăň2Fs©B1=3 'Oś„?űÄgŕ5Ëkđ=ßł#XryiT«…~±ôřăŹÁĺË—;TçM,Gź?O}®k : Sí˝ŘW/ŇÚÍĘ0ű(ŢŠrúÔIřęOÂj{_Ďŕşë®,ÖßĹvź|ę)xŃ­·:\ąĐ%oC.Šń!;ÍWz >ůW_€ÉÉ)¸ęđ˛îŞÜł!şm[ô\f¸)ŽS%ľčÉáIVăę›&ąŚ$n8ž ›0m˝†(ľ˙ź˝˙�“$ąŇÁç©3+ł˛˛˛t«j­ĐÝ@70ŚŔ 9śˇÜĺ’Ç]j.—Ă=’¸ĺ.‡bŹ7·w{·Kň¸CŢ’ű9rwŃ3Ŕ@tC5ĐŤčęîę.ŃĄ+K¤!ěÜ=„»ą=3fćž•ů^}YöěŮ˙ĚĚí™™»˙á.r7@Ěóe±5¤ˇ1‰ĹޤłÜL$–®Đ^„űÄË #6•ĚŇŐíŢ5 ľTŚ˝°Ö_ ŘjÝ㺤nF¤—H‰%/­ÔQĘďĚ­[2ťećßŇ}â ]9nsÎ�vŇĽčěô¬©Ę^4ą9Éd×:éŰŢK2™őÁdYŇ$ŮL_çtۙ̂ůH|1™óvă'ŐvňřéäÝ2 K˙JXXúXÄ‚Á˝Ć>ĺOĘĂ*¬´#ĐčÓ<Ú'%ú›Ä'—>˙`ý řĘĐ@�ňčŰЬסľ˛š¸t ±f6—W`´:wLÝ•d:Kř¶™;a¬6áͿȇŇ˝˙”Ň}ĂžŘčq rŽkÎńFŤtíc‹,LbŮ ±wĄë$­*'§`>&+?ŰKoâŢ9‚ZĐĎ«“3ćĹa­±t Ő‡`vß\űsďéWĎ+«KíđĚü-./ÂÉSÉk ®][†SgĎÇ$–±ń1Řŕ‘Ä]�ŹÜg˙ts~„uŕŕ!…ă'OÉÓgáňĄëńÓ[˘'łś={6¬ë Z׸ 9őĹĚě„Ůą˝fK®Đ˘u,ĚĹČ Ď:8 I?¬DĺdÚiÄ)`Á°NakPXá‰\Ĺ ó|Yl ihLb±*é,7#‰%-ŃZA}bHÖgRVh±q{5żűµżţ6€Ůő5đ— z$š6wµQ…zŁ?M~úXç|9ë°{EŤtćÖ-™Î2óoé>ń…®·9g�;i^tvz×TÍů´±I× ńëͲ}@¨W満 ×IµÇŻgČŞŔŕZ'}Ű“µ3ČńŃĆÉ_k)×Zđëv˛}€�díÂvr-XßvˇÁÁE]K×vÜ>0ěçˇ×v<3Sm^Wź©ŹĆ>&±„ÚńC§řxH‹aüô%ŽĄL ă§“§J`žł‘¶ă]h t}¨”)jüčŰ^ĘřIĺ‘ÇO'Ď*Ţ…ĺřŘŇëż,,7ZČÂŇ·Â$ ŽI,Rňf"±Ä_+íż‚¦îŹś‡#c‹ĐX[‡VxqĎ…ÄÉĆĘJ\ţÁąÇĂ m•‚vR*a}Ű÷˘ ‹}›UŢźi_i=Čő–b;ý: ă±fKş˝9Ő’őŞ'Ĺ*“Xda‹~ŕäZzaĺgŰaéMÜ;GP ZăyurĆĽ8,#˘–Čč-á ¨č 'O=ůx.Ććć&4Ă›Vňďر·ˇűKđőőM8{ţ2ĽűţIź‡˝űö‡Ëşş¦'„ý( RvJů3Âź }ť‚“ś‡µµ ¨†účµBďż÷>Zר Q[ňäé'? S»wÇO Á¤Eęú@´Že‚™ yáY‡!釕¨‚L;Ť8,ÖQVx"WqÄ<_[C“X¬J:ËÍNbIK—d˘}ĹŽĐű3•Ăô&2Ëúúzü}úý·  ô·ŽštuĄoĄÖIź¸¨ĐžŻĘľ¶ŹI,%řJçî¤yŃŮéÖ®©h7ä»zý4D™·ĚH^˛†ts›tÍ…É,=µŔqôűzčµĎĚÔG›×Ő›ÉmË)Ä ›d2 †ŽźNž*Lf1׉É,,,7‹0‘…Ą/…I,“X¤äÍFb‰Răă?ž†"$şĆőďyZő ŘX^U í«Ż­C}u îÚ}/L N‚hŞ7µĆ†*0;Q=ă5®Ń—ťčŮHmîť}�š›P_Yéş·‹U]lŹ5“XŇučÍ!¨”„¬g‹ÜŽüţŔëË$ýŔɵôÂĘ϶ĂŇ›¸wŽ ´ĆóęäŚyqXFÄnüš‚BóÚ‚´¶Őjď&ď»çnČ“Ťµ5éf]÷oqić/Ď÷ěćçŕŘń÷atl öĚÎ)821Ĺ0J„©\"‘Ź‘ŃaxëťăpîÜĺŕ‘Y®]ż+ᚊŐyđkőűď»7¶m!}¬¨ ‹Kî«'„C,ĚĹČ Ď:8 I?¬DĺdÚiÄ)`Á°Ö¬°Âą ×{yľ,¶>44&±X•t–~"±d%Kj1‘X°r:Ľ¬ű^­Vâ5}uh6j°Q€•ꜬÍŔWk÷€µTĚoiż˛Ü>'î®sŮWí„:SŇYaËřJçî¤yŃŮéÖŻ í>˘ÝOěuX”ë†Lf$/YK şąÍd-–‚°mÉ,ż{:Mb!Ś&ł 8čřéä©ÂdsťĚÂÂr3Č�°°ôłänr»I&±HIÍĚ$W‹čf)¶Š>ă+ÝŽćąÚ9Ł{ 2uŠ[¦7ŕC{/ĂwŻ BssŞ=yík5š°ą´»jpxň¶öë2ĄvŤŔĚř@ÜŃßŘp.-Ôa­Ţ"ÔN„7›phâ\Zľ—W/Cep(ĽnXř]–ŇcšS˙Ąôńďă±nÉv=˝fěŁý?&±dôŞ'Ĺ*“Xda‹~ŕäZzaĺgŰaéMÜ;GP ZăyurĆĽ8,#˘5Vű±˙QµÂq,…˙5Âő¬QŻĂí·Ý###ą(ëő tM9u2yĄĐĘęĽóţ©ř{ôjőć”\ŻTެ5LA ĎQzfv.ž?o˝ű80 ““ăáâŔąóçá®»îR0667`Ě2::‡€“'OÁćĆTŞŃj­ĚíÚ_)AÖ±L0#/<ëŕ0$ý°•Ci§§€SŔ:„­Qa…'r®-öó|Yl}hhLb±*é,ýLbQ%č­{BC.UJJ€ĚęÓéî÷ńńńřďŤűž€oMŚÉśőüÖĺ‡ŕíŐ9°®}eŔŘ36áÁ#ŁńYŠ"±ĐĄ3·nÉä•™K÷‰/tĺ¸Í9ŘIó˘łÓ­_Aeďz;9ŹíD»cŁKhÔĹČţ@¤÷ďÔG×>Đ>m1)“ŕÄ* V'Ő>U'ÉGZ]/Ô:éŰŢKjú2őŤŻó!8’ŻT}%3¤ľY?‰}rÜőmOŐGń‘ŞOŞíč2´=±×÷a­RźĽý ĆŻ´Ó«,pş†.KIď MĄ/YçňÚśYY†Ł“SŁô ¬ßÔöÔ č~=úYk5TCÝřé)J?ŠÓĆŹâ#ńŐ~Ý!ŕ‚´Ýďč|ҵGúP©!Ţ3mOć�Ę<'/Â<'/M¦ŰN?ť<JĽ'öa}‹ń°Eű>–'Ldaé_čWd?h×WTßÓ=äčŢş‡;Ĺęhô™Ż 4zŤ}Ęź”‡UXiG Ń§x´OJěś'±tżT<eČź»ç-xĺë{`ci Fwď©o3őëęŁ~‰ě٧¦<xđ‰v^¦kŐ &±Ä…D˛áŚČ-k ůŻ.č:ŠpÜű <ćyŘX\€áé™Ä’˝:Ř«nĂ‚xütÇ›0–Ą¤6.e_¸Ţľ}Lb‘ő©%!RţňŹk¶}ůý×7ĐčAŻ×Řn˝č:I«ĘÇÉ)ŹIÇĘ϶ĂŇ›¸wŽ ´ĆóęäŚyqXFDk,ŤFZ˘Ąm6ÚŻ¸÷®|ŇhŁQŹߢ̮ŃÍ«,Ň•«Wŕâĺ+°gď¨I¶8‰%łĎLgIůBÁJżľ``` ~ Đ…‹—Ăú\†©©ÉX???wÝy§rŁ,Z×›ażŢ‰÷Ţu'ś8y šÍFűőH™ÉH„¸*} ZÇ2ÁLPŚĽđ¬ĂôĂJTA¦ťFśLë¶F…žČU¸¶ŘCĚóe±őˇˇ1‰Ĺޤłě$KÖgň„–ü:$¶BŃëžňŐÍ‹˛‡‡‡a V]S» ^ß„?T{Ž-^€ßĽü�4DČR1Ű^îśë6ÂýÄŕ`TŻ�l$ďŐIú2ťąuK&ŻĚü[şO|ˇ+i”šswŇĽčětëWPĹ}|ĘÎdeóŞ\a2‹!§íE“YęáąŮéĄeřŧž€ˇęÍýb…_>öĚŻŻÁm»Ú Ącq‘®¤ąF±\ßÜ€µőNF`2 .HŰŤńŽÎ'Ŕd–Hfaaéga" KŠ@ż"ű@»®˘úž.Đč!GôÖ;Ü)Vß@ŁĎ|\ ŃkěSţ¤<¬ÂJ;Ť>íŔŁ}R˘ßI,ť["ÚhżŰ[„΂J Š’ńačÖ÷áWOŢ ›«k0Đůőąt±,¬Gň ~ÍOc}ŘóŚ ŚĆOgÉĘĚx ŮR…7¶*l$zzĘ@µŹî}ľ{ć»P_^†Á‰‰nµÔM_tˇ2¨ {Bů@z´5vĄxüÄ’ŃŞž«Lb‘%ĐčAŻťµí†‹®“´Ş|śś‚ůt¬ül;,˝‰{çjAk<ŻN·eD´ĆĐŘÜ / 6ŕŔţýáßĚLMÁž™Ý0»gö„{Ăż•ŐŐ\¤z˝ŽŢ\ş~íz›äíYÇO~�ăáÚ5ŢDKK`ľ2ÚÓęۤ­:Bš†††a4ôýÖ;ďĂ]Go…Z­m—–`j×.ŔÚ”Gdů©˙Qřc?÷Ópiţ \ľ<—çŻÂ|ř}ţÚ58wţś9{˘çÜ *ő3Špe‚™ yáY‡!釕¨‚L;Ť8,Ö!lŤ +<‘«pm±tăŢ<_[“X¬J:ËN&±¤ý©?TĐ F\ÁžÄ’ő{Ç·Áí·ßÚóńÚkŻCpňÜ2üřőËŹÁ‰µ IΫ…ć—›±Ďf«)-ôA¦ľŘwLÄ‚/t%ŤRsîNšťťnÝ j”ÎňĘd–üÜLf°"#ä´˝h2ËKçáďľđR_Y^żz%ţŚÉ,¦qšéxĺŽSŠŢ0~zŠÇŹâ´„ńŁřH|1™ó˝yÉ,,,ŰSČÂŇ×"´‰öF]·ž˘úž.Đč!GôÖ9Ü)Vß@ŁĎ|\ ŃkěSţ¤<¬ÂJ;Ť>íŔŁ}Rbç=‰Ą+­«ÇÚVĂ»&Ź@‘ňS·�_:{®­Tˇ:4˙şşwńOj_�­F6WV`fdöMňJˇŃÁ ŚWŰŻđ^w°^`'"ţ…řîѸeúV8˝p*~R%Şgoě č‘Rt±ŤŽĺî5ŔÜŇŽźîxƲ”ÔĆĄě ×çŤezl'FJBÖŞž«Lb‘%ĐčAŻťńĂE×IZU>NNÁ|L:V~¶–ŢÄ˝sµ 5žW'gĚ‹Ă2"ÚÖK´`s}ĆFGŕóíż„ŰnŃŻ§Ń«ň¤Ů”oRuĺň•ůŢ÷őµM¸rő:LďŮŐjrúĺObIK÷†şîV«U‹źÂ˛¶iĎLűqÎ 055Ą 5šŤ|wˇźˇpŽ^1ýeĺÄÉÓđŹ˙˙3,ݬÂŕđí Â!– f‚bä…g†¤V˘r2í4â°` XkDaVXá‰\…k‹=Ä<_[“X¬J: “Xp¦'¬PmŇObIlEo}Śt?üě?°^zéeřŮŕexáęřúő;Â…3çG#9D–+ËíóăčÖVl_)Ä$–’}ĄswŇĽčětëWPŁt¶×LfŃßäMTLf±"#ä´ťÉ,zŮ 2‹Đč1Śźž˘ÄńŁ8-aü(>_LfÁ|@oŢ`2 Ëö“›{ĺca1Đ&ÚtÝ:Šę{ş@ه}Đ[ßp§X}Ť>óU`pFݱOů“ň° +í4ú´ŹöI‰ťKb‰¤˛÷‘ř/(ÄIµŔź˝çMhÖëńÓVŇőKŞŇŢđm..B5ü~˙ěĂaş…v䞉ZOźîýh3¸°JąA–‘č"dłwĎÜ ĂŐŘX^B/ öb;S§–ńXcWÇOwĽ cYJjăRö…ëóĆ2=¶“Ź@Ł%!ëUOŠU&±Čhô ×‹Îřżá˘ë$­*'§`>&+?ŰKoâŢ9‚ZĐĎ«“3ćĹa­±Â5lc=~ÉöźüQ#‰%’ě+€0iµšńM¤ěßb¸Vvĺʵč <ř ި!xüF×kŔ˙¨ůŚ|†u¸téJř˝VWWWĐş· ŞfČybËm·˙Óźţń«›ę+Â!– f‚bä…g†¤V˘r2í4â°` X‡°5*¬đD®ÂµĹĺ(ş>44&±X•t&±ýu×$“dóUű •‡BŔŢŮ=đÉůažž‚;Ć.Ckń @} Ś~s^-tuµÝ®fę|5ĐÔÓçi,Lb)ŮW:w'Í‹ÎN·Ő šHď|?Đć%’s}3ÎŁ\_Tݧ¨ö†Ř*~MD_'Őż"«jťômOÖÜ ÇG'Ť¦\ŁŃwéZʵŰHĘ5d}Ű…§+]2ËFÓž$ą-$ŐöĚrbiˇŁOéăBęÂ8ĹÇCĆ—0tŽ»Î‡÷řQĘ”0~:yŞćąi»1Ţ…BׇJBĽ‹�/NśçJ?©<ňřéäĺĹ»lo9~XXúPČÂŇ—bZlÄ’ŃkV&±l/K$­ëÇă?±zĘÇçáŢékP_ßźş‚m¬˘'±DŻcx`öQŞˇd’©Ń0ŻĂ-Î\x[XkBŁ%ŔEÚŚń�Ý˙hű©0™%UĂÎŹěrťOT¨AŹ“X2ú@Ő“b•I,˛0‰E?pr-˝°ňłí°ô&îť#¨­ńĽ:9c^–ŃäĆ0ѵ Ń·‡¸ň¤RÉŹ«V«ýĎěż•ĺĺžÍüŐk0YŞÉŤŻ@ú‰Ź®!`” Ç8˝W›n#a·@+A%&łl„ë=V÷áĺă?Ôîă¦áé˘óEëX& Š‘žup’~X‰Ę!Č´ÓSŔ‚)`­…Ya…'r®-.GDŃőˇˇ1‰Ĺޤł0‰…î/ŹĐ˘#ł݆ Cj `pp|đ~xě®ŮĐ´ ­ĺsáÇ&h%ç‰, ëí_;7-o6ćs˛yťąuK&ŻĚü[şO|ˇ+i”šswŇĽčět[­ ŞôÎű™Ě˘dU´›Ľzrľv˙ËdÔ‡Đŕt…É,)Â8ĹÇCĆ—0tŽ»Î‡÷řQĘ”0~:yŞ0™Ĺ\§›‘ĚÂÂŇżÂD–ţeĂĚ$)©YP™Ä˛}H,i}0´+ţQ ¨o‚•„Uůó÷ľ˘Q‡ÍĹĄÔŤŔ6ŮŁą±őĺŘ7±öŚíŹŃž•jxÓof|�ݧ5CŚ…5‡§±ô¤ýT–ɡI¸cúh®ŻC#ü �}KçQŇ(Rv죯QęąMt„I,˛žI,r;ňűŻ/“Xô'×Ň +?ŰKoâŢ9‚ZĐĎ«“3ćĹa­±ÔÖć=Q$’Z-˙‰,Ń«ŠâĚüml&kđÂŇJL©(żŕN­łú*EÝUáX‘ďč),WŻ]ëÔ%€zىÖ=nSŽPú¦FčădŽÎ1˘ ”°<F<ëŕ0$ý°•Ci§§€SŔz„-ްÂą ×—#˘čúĐĐÄbUŇYÄâćφ̒^ ÓYň“PTűŮ™ÝmŇitąt^_Ď  `¨ĎâFĄóZ#a¬«ík„ärťąuK&ŻĚü[şO|ˇ+i”šswŇĽčět[­ úęôÎ˙)űîśëťqĺz#“Y�ÉKÖŕ‚nn3™ĺć&łh±$śŽľńÓÉS…É,ć:1™……e»YXúW”Ť2“X¤¤f!eËö$±ÄÖ#łíżÁ  Čʉ×ÁVöO6á“NC}cŃ«�"ßť‹pKK0Ţ»w÷CŃOÚŃÎśŻA55cŠIô+:Ţ^/ŕB 4wĚŢ ccP_YŽ]ŻŤáŚĂD…ź„Ž“X2ú@Ő“b•I,˛HbŃ`”'şNŇŞňqr ćcұňłí°ô&îť#¨­ńĽ:9c^–Ń‹ÔZT(děŐ<Ń_Ł‘77ëíWőD¬^Jm­*JÜ•ÎZĽľŮ€ Ő1ĽÉ¦y-ĺĆ…Č’+Â!– f‚bä…g†¤V˘r2í4â¸Ö#lQ…_xŃrE]“X¬J: “XüüQÖ'Ó“XrŔall4<ßířh…ç®ë sýˇŢ `yŁźCGç®ůµ«§±ôćÖ-™Ľ2óoé>ń…®¤QjÎÝIó˘łÓmµ‚v$˙ć$“Y̒ͱ1¶ťÉ,ŢÂd-–„ÓŃ2~:yŞ0™Ĺ\'&ł°°la" KОAf‹”Ô, LbŮf$–@>®Ís/Hbődăü)¨_ź[ůS÷Ľ#ÁÔWÖzťłą´ÍzŢ÷a¨VĐW Ő*05RIş1Hľ®7Z°˛QĐ VX§JőČľGcKD°‘nşŘ<‰Ą—ę/ćĐăĘ$YĎ$ąůý×·X‹¦$Ńu’V•Ź“S0“Ž•źm‡Ą7qďA-hŤçŐÉóâ°ŚÖX¤ÖzI ů'ɧ\A %UEŃY.É©Ěî ±j5&±Tş¤JýËáË3A1ňÂłCŇ+Q9Śní4â)†€ő[Tá"&Eis“ľ†ÓĐÄbUŇYÄRŚ?Á#ҧýęźÄŕ6Đ^‡Rü”Ȣ«rÎë…ć—Ű$ÖV«Ř›ŚÝ:3‰Ą_éÜť4/:;uŻmůc‰É,(„®N,&ł€ˇ^Lfń&łh±$śŽľńÓÉS…É,ć:Ý$d–>&˛°ô˝0‰%Ł×,śLbą$Ľ¨bP=đ”ôŚî“,Ö‡`ĺÝWÂ66ÁF†řw˝ ÍÍM¨Ż®Bc}ękkpë®Űazx7Jb‰dďD­}Ô6żäóJˇ¬¸ăăp×ôĐÚŘ븖äf;¶Ł†“M‘-ŚW&±Čz&±ČíČ^LbŃś\K/¬ül;,˝‰{çjAk<ŻN·eD´Ć2´–UŻ×smtO4I?ÍĄ6T38O­Vm4ëç̡Ú`ŹÄ2P«9?‘esÓňő…i±L0#/<ëŕ0$ý°•Ci§§€SŔz„-Şđ Ź#ęŘ5VRřNCc‹UIgaK±ţ°uĘůI,©tžÄ22:׍žĘŇZ×0Y.-´×Éb‰,ťąu+ć¤ěü[şO|ˇ+i”šswŇĽčěÔ˝¶[3~#a2 ˇ«“‹É,`¨“YĽ…É,Z, §Ł/dütňTa2‹ąNLfaaą‘ÂD–ľ&±dôš“I,۟če±±˙Ac (ňŻßš«Ë°ţÁq°•OÝzöʬŔćň ¬/\ŃQ8şűńk|ÔÚO Wat°W;ţ%w·KĂĎ…µl4Š>©j“Yn›9 »ǡľĽ ÍfęŐEŮW µÚ5KJ'_HÇŹI,=Ţ—hQ‹mäư ˘´­ŁO}( Ý mnÎ^LbŃś\K/¬ül;,˝‰{çjAk<ŻN·eD´Ć2´¶Łh6óIž˛FPé<‰,ó784Ôłl»-}m­Ú3zŃů§­śšď‘UkhÝJţ)"ĄoĐ>±L0#/<ëŕ0$ý°•Ci§§€SŔz„-Şđ Ź#ęŘ5dx%¬á44&±X•t&±”ç/ë·MpIíę5ObÁ¤Z­FV09”Y«ëxJLrńz{ťÔí7LuĂë*”§Î”'™ů·tźřBWŇ(5çî¤yŃŮ©{m·büĘ.ňoN2™%˙7“YŔP/&łx “Y´XNG_Čřéä©ÂdsťĚÂÂrŁ„‰,,}+LbÉč5 %“XnKüą|6ţk­_Š|őĘ=đúő}°vęXXfl$şHö—îű¬/.Äd–‡ćž_E€Ý„‹®łĹOcÉęŁ:‡ć×–‹|KJ„|4ôÓ„ÍĄeČľb(ů Ţří¤ăMËRR—˛/\ź7–鱝|0‰EýJąŕ‘m_~ŕő˝YI,ôť¤U°hó1éXůŮvXz÷ÎÔ‚Öx^ťś1/ËhŤehmJqţü9Č“z=ýŞV*€˝šgb|˘g39:;oµšxm­Ú3z5ŮÝ_„OOOö+Ł##hÝ«Aţ)bĐ7J ‡X& Š‘žup’~X‰Ę!Č´ÓSŔ‚)`=ÂUř…Çuě[)Ö ŤI,V%ť…I,ĺůĂýŇ|aŻjY�¦†3ku'˛9OdąĽŘ^'ÓOdˇ<ń —ÎÜş%sRfţ-Ý'ľĐ•4JÍą;i^tvę^Ű­ż_RŠÉ,(„®N,&ł€ˇ^Lf! aś2™2%ŚźNž*Lf1׉É,,,7BČÂŇ—Â$–Ś^ł@2‰ĺć!±DúĘĚ}íżń@‘ńą9řgď~˘{MËďĽ ¶r×ŢMx|ď<Ü˝çśh?Ť‘Ýc5¨Uř0t{´űT–+Ë h”vŢýT–či1÷ěľ'ĽĆ¸Ť5ůi5ÉCȰĄÂ%=[&±Čz&±ČíČ^7+‰EőMPŃ ˛ĄV~¶–ŢÄ˝sµ 5žW'gĚ‹Ă2"ZcZŰQtď!}ő«_«áE2“¬,/CžTÂ_Ř«y¦¦vől¦¦&ă'˘´2ë¨nÎ×KÎč5d·šÍ¸GöďëVFÇĆŃşWĚ7ç"Y^1÷MÔ·_ ű8’ SuëX& Š‘žup’~X‰Ę!Č´Óă bXʰE~!âqD»ćĆ ­ŇLb±*é,Lb)Ď_$ęÓIü|u‰,űÇ38-ś¸)óYć—Űkľđ~µPgnÝ’9)3˙–î_čJĄćÜť4/:;uŻíV’XĐó&łŕş:i°Ě†z1™%OrŹ“Y´XNG_Čřéä©ÂdsťĚ²Ւ•’…ĺfă™Ńk6ŻLbI•+«}Rb‘XČí ¤J´®ü ýehŠDfß·._żżyéař™Ę+°qů ÍůóŹ_†/śą§sóMíĄJ�3cŐä0Dü•N•ëu€…ő’žĆŇ?ŤĺÖ™[ŕâĘ%¸¶˛�•Z Ş5‰‹’)Ňk‰€ä[ę#)h<®Ç™Gp=0‰%koś»ÄŇŐ—.‚¤˘dK/¬ül;,˝‰{çjAk<ŻN·eD´Ć2´6Ą¨ B}sľýÝď…7ÁLMMĂ®]“066ăăá_ř9ŽÁęZţ«üŞ•*Ô‘_XĎÍÍÁ[o˝ź™š«Đ‚î˝,Ń]|z`�ů’3zs&®ři0˘Îő˛vMM%Ěž”T ŻZ]]FŁË++°şĽ[–ĂĎ•đsaa®_żßúÎ+±m-Z“síDPŚĽđ¬ĂôĂJTA¦ťFśÖ¸đx„-ްÂą :žc×ÜXˇUšI,V%ť…I,ĺůĂý¦vő1Á÷mĘč8Mgü„ë'şJç<‘ĺÚj{ѧĽĘP/ťąU€ÇÓ\ě|őRĄĎřBWŇ(5çî¤yŃŮ©{m·”ÄŇs ˝Sü$r‚N0™ěőv˛ şN—ţ1—\¦sa,«é­wďd�ńѵâóTześXĄÁÂę¤Ú§ę$ůH«‚řÉȦ~ĚŻ“ľí˝¤¦!S_"ই ů¸KfH}ł~űÔőYmŰSőQ|¤ę“j;:† mOěń>ě’Y~ń©'`¨şý~żž_ȧ™%ŠČ['&•ă†+1˝ţ1«¶ŤtĽP{Ăřé)J?ŠÓĆŹâ#ń홴ۤíĆxGç“®˝ćÚĆ{¦ířxÓ·]?ůóiü¤ÚN?ťĽĽx—íuŠ…Ą?„‰,,;BDᅩľ§ 4zČŃ˝őwšÉť2¨>óU`pFݱOů“ň° +í4ú´ŹöI‰~'±‡öŠ>?Řţ¬E††`ňŔ~ř?.|>2}‚w_Úô\xÍ­F*Őáb룰wä\\ʼn3ł“5*AŻG{C üriysk.ZößĂű‚Żťx6——`hr*Ü v~%—ľZĐ ŹE€ěś9Ţ-Ń9‘PműĚŘĘŹKŮ®ĎËôŘN>Ť”„¬T=i,3‰E–@Ł˝^¤ćEt}‘"H*ZaA¶ôÂĘ϶ĂŇ›¸wŽ ´ĆóęäŚyqXFDk,Ck3ŠčFUt3čÄé`}cnżíLMŽĹÄ•ů×ŐGŽÜ÷Üs7¤ámŞ1:;»k°ąY‡ˇˇA…Ą•őřAô:"Ăá P­^Z9ýůŚlćöîŃŃář¦Z5lë®É]荱*á‰,—.]‚—_ţ®¤k[VáÚÂĽ÷ţi8ń2ě?p(~jŤYěDPŚĽđ¬ĂôĂJTA¦gŽ+…!`=ÂUXáĺ>Xŕ3)m±ĐęÇ$«’ÎÂ$–ňüá~ÍľLä•´t‰,Ggk2¦ć‰,yD–ëkmŚ–óY:së–L?™ů÷ťL”4JÍą;i^tvę^ŰBbé9äĆaţÍI&łčoň&*&łX‘rÚľłČ,vd„×®ÎÇź¶d–žMQd&łŕ‚´Ýďč|Lf)ŠĚÂÂŇÇÂD–ľŃű/ŁďéŤrôAoÂťfňD§ ŞĎ|\ ŃkěSţ¤<¬ÂJ;Ť>íŔŁ}R‚źÄ˘ęT í; `xzšŤ&ü‹Ó‡Ďßů›°vň-;ú©ôŮŐű`ysě˝WÖć !äQ#µ LWĄQÖÝV­l4auc«gŮ~ĹĐpmîź»^żđ&Ô××apd,kÖ;z»pt 9ÇŐăx#ó®ĎËôŘN>Ť”„¬T=i,3‰E–@Ł˝^¤ćE}‰g4‚¤˘dK/¬ül;,˝‰{çjAk<ŻN·eD´Ć2´V˝>`fϸxůjřw-ŚżöSdžk0:2#ŁĂ0~n6|ěcĎ‚I*• T›dŃŤłĂ‡Ă{ďż§o=´ľě=¨×ë088d Ó ™iPiú«Ń¨Çż(ä»Űpáßž°ýäŠTüj!ÂYŢ=ţĽöĆ`uu5ü[‡ĺŐ5X߬·_OԱٽ{‘ÄBłtsµÎČ Ď:8 I?¬DĺdÚiÄ)`Á°a‹*¬đOĆ+fRÚbˇŐŹI,V%ť…I,ĺůĂýşűĘ\şkßŢ©a*›ńşŮvŃ~˘Y¨”ËWŚŢÖ+1~ÓéťąuK¦źĚü[şO|ˇ+i”šswŇĽčěÔ˝¶7”ÄŇ•Î6łóŃ‘ü›“LfŃßäMTLf±"#ä´ťÉ,a2 2�o{QăGń‘řb2 ćěĆOŞíäńÓÉc2 Kx®,,},˘÷_FßÓ=äčŢú;Íä‰NTźů*0¸@Ł×اüIyX…•v}ÚGű¤“XT} µož{!ţk]?‰ĘT`×áđÚúQřöµŁ°~î=h,]Í-»ŇŘ gVżGůŽ˝ŻŘ읬i7s—Ë~Ąę4şŘxhňĚŽî†úĘ24ë›IvKĐŽ_öx ŐČůx#ó®ĎËôŘN>Ť”„¬T=i,3‰E–@Ł˝^¤ćEýÖžÉWKA¶ôÂĘ϶ĂŇ›Ş!ÁLP sĚĽ:9c^–ŃËĐÚ¬±ńq™Ý#Ł#P o`UałŢź&rćěExă­ă𵯿�›››'ѓ΢ ™żŁwŢŐł™›ť†‘ˇ!¨‡>„ňëlÝ(07˘EčÄČWäsz×$Ü~ˡ¸çŁűöíGë\%<µmccľúőoĂë?xNź˝�WĂ>‹ú."Őj0öéî™°oÇĆrěDPŚĽđ¬ĂôĂJTA¦ťFśL붨 ŹřdĽb&Ą-ZýÄbUŇYÄRž?ÜoqľŇ7g&ÂýAµ’˝N„˝(´©čÉš+ő ÔŃŃlëŮ™[·dúÉĚżĄűÄş’F©9w'Í‹ÎNÝk{cI,„ëČ5VŐ>Đć)ľLÇ–týR˝^ŁÚÎó…Š_sŃ×IµÇűQVĺ÷c~ťômOÖô ÇG'@ą¤?î26ƶ„m*嵾íBÓ•.™eŁąU?2´ÂńJµ="łś\ZDěőq!őaśâă!ăKL:Ç]çĂ{ü(eJ?ť<UóĽŽ´ÝďBˇëCĄŚÝř‘Ěó\)ă'•G?ťĽĽxgaéwa" Kß ľ`“X2”“9TźvŕŃ>)Á$UŻ'±D˙U<˙U¦Ž‚Ť NLŔÔáđżž~V5Xy÷U0í@[˘ Çź M’ s»F–at`5Iʆ7Şj©%$Hţ®®4`óFś(‰ö¨zhßĂ1ń:zĹPü+űîqM·ąs÷O$EA{ĽSw ťŹ72ŹŕúĽ±LŹíäI,ęW&±!ÂŐR-˝°ňłí°ô&‚jH0TĂ3ŻN·eD´ĆŇ·6 ĆÂđČ(ěŢ3 sű÷ĂÇ`ßÁ0»ovĎÎÂÄ®I¸¶°gĎžÍĹ©ÖÚŻ+ĘţMOOĂţ0Ň‘űîĽDł ›Hě %-�ď–HG!±DÉŘWł?ô̇ڪĐńÔÔTLäÁę<@ ˛ś9s®/.ÂÄä$ěž™…={÷Âľ`Ř{ĂöFObÉAéĚZA@1Ë~Őĺ‰Ď:8 I?¬DĺdÚiÄ)`Á°a‹*¬đrcČŻIi‹…V?&±X•t&±”ç÷[’ŻpIŞŐj0ĺ§č^/črŐ0:/Ž$zĄ_¬Ë(ťąuK¦źĚü[şO|ˇ+i”šswŇĽčěÔ˝¶7–ÄŇÂu&łŕş:i°Ě†z1™E¤íąÇ‹É,Z, §Ł/dütňTa2‹ąNLfaa)SČÂŇ—‚/”Ŕ$–Lĺ$Ő§x´OJ0‰EŐ›I,ńÇÚĺößćŘHt“h,Ľ)·:şţÝŮCcé:¬ź_kzĺaXmNeQŕČř{ń·čU{Ć:Úö]Kł)zě¶^ÚŻŞ ÂCűźČR_Yˇż(Ý0¶cYJŽ_"Lb‘…I,˛25(z0č·öD†îB“Ä,k¬ül;,˝‰ ĚŐ0ÇĚ«“3ćĹa­± ­ÍĂRIč‰"CC0:6ăă044ÇŹ·×>“T+Őř•ňď‘Gí˝®`fzíź…Ćfő:ůf ČţQú+´‰|467áÁűď‚űöB«CîĽő–ŰŃşFő¬=}üý÷âľűj4îłŢ+„°ąĘĐçymČ/a1xŚxÖÁaHúa%*‡ ÓN#N ¦€ő[Ta…G|2^1“Ň ­~Lb±*é,Lb)Ďî·x_]üî+÷Fň9ťťć·µ_Ynß8lµ(7…T—r%3˙–î_čJĄćÜť4/:;uŻí¶ ±ôę@¸^@¸9Éd–üÜLfC˝Ě" ŇöÜăĹd-–„ÓŃ2~:yŞ0™Ĺ\'&ł°°”%LdaéOÁBÍf”I,©reµOJ0‰EŐç“X⯠ń4VÁJBŚęđ0LÝrľ8˙Ľ»<«'Ţ„ÖĆšbşXß ç×îBakMš‡Ýc፮�n\Zl@ł%ŕFJôk÷“ű`n|/l®­*ŻŠmâ˙ÔÁŞËŘLb±9Đö‡±Ý*ҶŽ>őˇ$t'´ą9ż?đú2‰E?pr-˝°ňłí°ô&‚jH0TĂ3ŻN·eD´Ć2´Ö+{Y(ťŠ^5408ß|áEČ˙5@m –°:SSÓSpgęC÷Ţu LNŚÂúÚZďÚr Ě…¶ĺŚ{=\çöîgžz,&±Vű•Bů«kŤđ4–čfÜ7ľń Ôj1ń'[Ťn-(—Ť"(%,¸Ď:8 I?¬DĺdÚiÄ)`Á°a‹*¬đOĆ#NJŽ=X’ĐjĂ$«’ÎÂ$–ňüá~Ƈ¦âľ˝® H~ŞC(FCd9m#ţÄ,i˙ńSDÁ|\EaAť™Kźŕđ…®¤QjÎÝIó˘łS÷Ún KWzu!\7`2 ˇ«“‹É,`¨“Y$AÚž{ĽlÉ,şńĂd?ť<UĚb®“YXXĘ&˛°ěa‹\@9iCőií“LbQő4K$Ń+…˘ż`tl¤ 345#űŔ/źţ4ëMX}ďuÉ®!jp|éi0- ‡&ÎAmr.×.Á١ŕĚŕi¸P;×®ŔŐć2\[ß„˘¤ŢŞĂĄúy8±ţ6[ý>Ľ¶öĽ±ú śÚx7<ůZÓ”ę´6ĽY÷ĐÜ}P ű7zĹP<(tÇO¤żŞFÎÇ™Gp}ŢX¦ÇvňÁ$ő+“XŠş aLł¬±ňłí°ô&‚jH0TĂ3ŻN·eD´Ć2´ÖKI‰öŤ«č)_gÎ]„3”× tžĘ‚Ľ®çŃG…ééö“΢_{?ţĐ]0:2 k«+Đh4Z@G ÚhŐ®b®­.ĂÔÔ.ř‰űˇ¸ŃM´ŃŃQ¸ő¶ŰĐ:ĆOc0ß‹äěŮ3páŇĺč®HOZ±L0#/<ëŕ0$ý°•Ci§§€SŔz†xő!đÉxÄIɱKZmÄbUŇYÄRž?Üofî° ¨Pň"‰ÖÂČdz¸{Ł/\çFg#ĆŠ¦@Őwy±ŞÄU©VťşÁH¶ˇdÁş’F©9w'Í‹ÎNÝk»­H,]éŐ‰pý€É,8„®N,&ł€ˇ^Lf‘i{îńb2‹KÂéč ?ť<UĚb®Ó "ł°°ô±ä_­daąÉ…I,rĺd Ő§x´OJ0‰EŐÓI,‘´.˝*Ą‰ĂŚĚ€IŇ›Ju�vܧŻŢżwéAřlđ ^93űb‹“ËO„'4cZ¬ďĂU87V…ÁÚ÷bŞKt3®÷/üţÝú{°8ł SÍŘ˝9{ës0»q�jm©Y+pfăśß<W—`©ą�-üČAô‡CC·ĂŁĎÂäŔ.ĄŐŃ8‚Gö?/ź}5&ł ŽOvúVtnľuŽw`?–Ą$éř1‰E&±ČĘÔ| čÁ ÇOŇ5®·P„1I̲ĆĘ϶ĂŇ›Ş!ÁLP sĚĽ:9c^–ŃËĐZ¬$@7¸ęőMX__‡{ď> ůżř3đα·ŕđˇC9Aü”’ču>Y‰~áýěł?ż˙űżëá:Z'»^~ý]XXZááa¨ŐâµTWOĘ ‚č]ä}} öÍî˙ôÇ`(ôŐ /VFu¸çžűzŻ9ĘĘŔ�í= §O�˙ý?řoáúg˙ŢzűÝ¸ŽµÚ},ĚĹČ Ď:8 I?¬DĺdÚiÄq50¬g¨WŻźŚGś”{°$ˇŐ†I,V%ť…I,ĺůĂýnM4¶ ťëpp˛o\›‚`h2\ ‡őržČ2żÔ&«6´7 ;s«�™*Ô=ŻdćßŇ»_čJĄćÜť4/:;uŻ­›Ď-Za#7q(uöů}/:6q0ęqD|őKh|¤p: şÄ‚Frśě;¤ą UgĹG×>ş§Ý*mŹU,¬NŞ=ŢŹr™°N9ý_'}Ű{IMB¦ľ:WZtíÎwÉL7~Ry‰}rÜőmOŐGń‘ŞOŞíč2´=±Çű°Kfůŧž€ˇę ţ};ŇöÜă•j{Df‰äÖ‰Iĺ¸ë|HÇ‹0NĄă…ÖÉ0~zŠÇŹâ´„ńŁřH|µ÷+€ ŇvcĽŁóI×éCĄ^văG2Óőa&Ż”ń“j;yütň´Ç‹…Ą…‰,,}-Lb‘ Čę@ŁO;đhź”`‹ŞôöšöUvß“Qo:%0IÔFÇ`בCđ+ď> Oí~*Ç_…ÚÔ'áZó6¸Ľ~›ëKÁYxŁşÖKú.‘ĺüĆu¸Ţ\‰ćrµ2WkópŢ„J«3ŤYŰ8ű7Ă®ćTŻl+üwµ~ÎÖOŔ™úI߼ÔmWDp9˝ńśßü�>˝ëÁžšú”ščCű&öÂńýpnĺbx!r(ĽÉ8Ô«y︦wŠń¸@.OtLç×xůq)÷’î¸2‰%coś»3 ´/ ĚQŮöĺ÷^ß@Ł˝^¤ćE˝z¬3_oc’eŤ•źm‡Ą7TC‚™ ćyurĆĽ8,#˘5–ˇµXŮTôꝍŤ5hÔ›đąĎ~~ţ˙TL�998«««ńMLR­Tˇ´â×řdebb~řź€?řŇă§°Dd–?rĽ}ü8}î"45¨ †ţ*ĘÍ«ĽŃ¤¬RßÜŚI8Ţ{'|äÉGĂúĐl5cĽűx†GFĐň•pmS^„HÔĂCðgfţîßţřŐ˙đřőßţýřÝP¨ŚW±BšË,¸Ď:8 I?¬DĺdÚiÄq50¬g¨WŻźŚGś”{°$ˇŐ†I,V%ť…I,ĺůĂý"ńY #B„•e€{f|q~o~ˇ"Ë•ĺö“XDj_TÚ'ˇĺJbŻrŞtźřBWŇ(5çî¤yŃŮ©{m·#‰ĄYż9)Űçßśd2 ŢŹr&łX‘rÚŢ?düşW¶íLf»ńŁ8-aü(>_LfÁ|€ÝřIµť<~:yňńbaé_áW ±ô­0‰E. «Ť>íŔŁ}R‚I,Ş>ĐŰkŰ´ –ţ«äßtRƸů™Ů0˝ţ×Ó…Öú*,ž>ď/}H‹đ˝ŕ |ćáöáY» -8ľ~-ŰŞ´ŕňŕExcâeřŇĚŕww˙{xqâđ;Í˙�żrőźÁo]˙wđ˝•ďŔe KZŐ:|eę·ŕj0ʤč¦äűď  őĺĄÎEĎ ~őPb%1č Ç™GtÇ•I,{ăÜ…śÉ�Ą}á¸fŰ—ßx}Ťôz‘š=ôę±Î|˝A"ŚIb–5V~¶–ŢDP f‚jcćŐÉóâ°ŚÖX†Ö°pR…čföR]«h˝X[YÁÚü×˙ĺ_„?ţs?Ó#wÜqçQxóŤ7€"µ¨mŮż�ň©OýhLú¤Z©Ŕ}wÝO>v Ő`}m 6c2J#~ AôjŁV =q%Ě‹lˇmD`‰ĘNŚŤŔOýŘÁ3O=·«Ůl…[…*<ôĐ#091Ö)ú‹ž$C‘×ßxî8zG»î!î˙ŁţĎă/ĂpmÖÖVz7•kR ŰąĚbđń¬ĂôĂJTA¦ťFWCŔz„-ްÂ#>Ź8)9ö`IB« “X¬J: “XĘó‡űµó•%¸¤ÓúďÉLWé¬K§iëbs>~uµŤ¬ľZ¨­OŻńrŽ'Ű'P˛ŕ ]IŁÔś»“ćEg§îµÝÎObŃo×kłŞ} Í“p:zýtJąî‰ď—e{Æi»ôůuRíń~”Uůý_'}Ű“˝@㣍“żw \;ŇwcŰwčk†:mÇőiá× YŹĄL ă§“§ żfČ\§­|Í K˙ YXúRÄ"PNĘP}ÚGű¤“XT˝#‰%”ćąâżÖőă@ucőUupv9 /,Ü /];ÇŻ>Ţ8Ă/Â] Vá·ĹŘ?8#•AÔćÄúeXu ČĘŔ*ś9«űĂ›…÷ŚÁČmc0´wŞŁUížL×´]0zÇTĆŞđձ߄:4T»°ÁµĘ�<vŕ!hŐëPŹ~b‡×Ôą›ńx |°č6áşăĘ$–Ś˝qîb‹¬'ÜřŐÔŁ\Ć$1Ë+?ŰKo"¨†3A5Ě1óęäŚyqXFDk,Ck=°˛©či&kk«přđ!řÇżřyxôá%Űé©)XY]ÍŤ Č“śQ¨ĹźŘßž={ŕ3źů LOO÷ĘěŢ5ęxô;ald(\“7b2K˝Ţ%ŞÔĄżH×l´ó"Űé°ü'žýü‘Ďý(ě›Űß0‹žÄ22: Ź=ú8LNNjë3×5·Yń+‘ÖV×`jjJŇ?öČCđK˙čż[‚ő°#‚ ŢË”Üg†¤V˘r2í4â¸�Ö3ÔŔ«×OĆ#NJŽ=X’ĐjĂ$«’ÎÂ$–ňüá~5;˛‚™é™®űú˝łăáĹRÂÍ˝ś'˛,¬·©ÜlŞkců„’ÄW/UşO|ˇ+i”šswŇĽčěÔ˝¶Ű™Ä‚^/„ë LfÁ!tuŇ`1™ őb2‹ŞO “Y¬ÇŹR¦„ńÓÉS…É,ć:1™……ĹWřŐB,},LbQŰÁ$Ą?Ś}ۤ$ą}î$–HŞžWÉÂWÂWc{gáąęßOÖVˇş03ű%›zxńîWádxHŞphpĹ]kmÂÉŤËŕ"QËŞŁń_mv(ţ5|k˝­µ&´6› ęá÷ÍVŻňŃ[}*CU¨ŚTˇ:QĘ`ÂĹŁ|ąńđck(5DěE„7ófÇgáĐ®pfńTkCaŮ!č=łËńŁ˙z}O8Ţş“.lómËôŘN>Ģ~eËÖŠ0&‰YÖXůŮvXzA5$ ŞaŽ™W'gĚ‹Ă2"ZcZë•MEkĎćĆ:LŽŹĂç˙ć_…‰đ“űďżľ˙Úkđˇéź`Ö•řF¨fH‰LNLÂg?óđĘ÷^†·ß>ŰEćfŕĐţ˝°¶ľóW®ĂüŐX żŻ­×ˇŃů5wm  Ł#C016 {gwás!ŢD9Źźâíž>|î¸ăΰ.ˇžŐŢM»<ůţk߇x�Í‹ž4óßü­żăďü=XZ^ááa9&Ý\¦3ňÂłCŇ+Q9™vq\� ëjŕŐk„Ŕ'ă'%Ç,Ihµa‹UIgaKyţpżš™ˇCLOcŃI+}âұŹÖĹáˇ!«nŔRsÄ źČ˛¸Q‰ë˙ArEOÉ+\%ŰP˛ŕ ]IŁÔś»“ćEg§îµÝÖ$–X‚žO™+ =E�ʦ1€Ś}�üš!uÇŻPÚťĘKě“ă®oűÎ{ÍPr|ő}çk†R8ąă‡ďR},@pđ9¨ÄńŁ8-aü(>_üš!ĚŘŤźTŰÉăp K? YXúTä•€I,©reµOJ0‰EŐz{ÝfCd6xËgÚ5žŞdáEŁ őŐUŘ3wŽě˙\…w`Ďć›Đ\[‚ęČDĎî đĚĂ&Ü><‹{יִ‡ĂŢ›mŃ“Yâ§ł8Čňä"Ľ\˙<Ţx¦äEd–űçî —`sm†jí „±,%‘“@ćÝqeKĆŢ8w!g,@iĺ¸fŰ—ßx}Ťôz‘š=ôę±Î|…sâ"ŚIb–5V~¶–ŢDP f‚jcćŐÉóâ°ŚÖX†Öz`I©h hEż’nÄ}źüĐcZK$łł{áő×^ëׯ+O%Á¤ż–(]ŕkdu  úЇáčťwÁ+/żgĎžéܰjÁČđÜrx?ÜvËÁř†Zű/€J¸Gke}ĆOThXZ˝Ë+{ÂzŢbŽÚ×/Ĩ/V^»v –––ă§ÉčdbbžúđcđĹŻ|=îÓČełčć2ťQžń¬ĂôĂJTA¦ťF�CŔz†xő!đÉxÄIɱKZmÄbUŇYÄRž?ÜŻfGfAb1ĺwż üÄ%^oÂ5z‚Bdök›âj˝Ŕňz&G+Đ ĎG#Ű®_W’ Ťŕ’™Kźŕđ…®¤QjÎÝIó˘łS÷ÚnKĘeçf_üUÉĐÝś”íóoN2™ďGą “Y¬Č9mg2K0i{—̢bĆ!ŢĄú X€ŕŕsP‰ăGqZÂřQ|$ľĚ‚ů�»ń“j;yü°°ôąđ«…Xú^Ä’*WVű¤“XT} ·×í;°ţ~2˙lŚNÁÚ·ą˛;Ţ÷x|ëjp6`‹WŁ÷+Äfß .ĂëÁ5« ÁŢIíZ}.5a;ÉűÓÇáʉ”¦{@ŰŻzčŔ}ĐŞoBcuĄťŐ˝™2ÍŽü¸L “Xda‹¬LÍŠ zőXgľęőĄŠ0&‰YÖXůŮvXzA5$ ŞaŽ™W'gĚ‹Ă2"ZcZk‰ŕS‰”žČ™ŤŤCž<ţÄđâ‹ßŞDklDBŃ˝Ö'úŰ== źüä§ŕ'ňspôčŃ�Ň}BKň׌É*Íîgôę fň=ňqŕŕAxúéŹÂăŹ=FźŃŤ´ŠĹEʨÍO<‘˙$šń±‘öĄ™Vţ>%Ŕć^E,¸q´CŇ+Q9™vqśő 붨 Źřd<â¤äŘ% ­6Lb±*é,Lb)ĎîWł#łđq%ë3"šFkhŁŃ€F˝Ţţl4:ŻjÂD-˙u‚‘ÔŞćş]Z°ë°ąYĎĽbVW{ÉĚżĄOpřBWŇ(5çî¤yŃŮ©{mo‹äą¦))×k·Ş} Í“p:zýtKą.Š_íqąLf/.čuRíM']]U~?ć×IßödŻäřhăäď-(×–ôÇ]@ĆĆŘöť÷šˇäřŇb'÷xe^3t}s±'Śâ8ĹÇCĆ—0ä´Ý{ü(eJ?ť<Uř5Cć:•üš!–>~" K_ “XRĺĘjź”`‹ŞO1iłöšöˇýÚ“‡ÁF°ö5Öס^¨»}ę(ŚŐĆ żŞ +ŹÂáÖóP_ş ç¦FáKâlÜä#C{´Řﮟ‡í&Ńcľ3ůUYQ1*‘đŕľÉ9V77A 5!¨VíŹwôhč Đź\a›lăX¦ÇvňÁ$ő+“X}©"ŚIb–5V~¶–ŢDP f‚jcćŐÉóâ°ŚÖX†Öz`)©t˘Ăvyďř{1iÄôŞť]»¦`ffŢ>v îľç H%ţőu+÷ćÔĚĚnxúéŹŔ“O>ó—/Ă…‹`qa—–a#Ľ­aŃEéčWâ###01>ÖgĚÎî©éÝäWuźćB•cÇŢ‚˝ł{a×ä¤Ń.ę»ăa¶}äŕG]‘sMÎę€ç@ëŕ0$ý°•Ci§ÇYß°žˇ^˝F|2qR"á9vł˝Đ1‰Ĺޤł0‰Ą<¸_ÍŽĚâi+yöQ^#z:i}ęŤę:"ślllÂäŔ&Pd¨Ú‚őş~Ý»pm öO X]Y…Ćŕ Ôj088HZ‹í_/”í (Yđ…®¤QjÎÝIó˘łS÷ÚŢt$HUźĚ˘­s'Vi°řÉ,HqÝřIĺ%ö©ëÂÚ¶ó“YÔĚ´ÂîÉőÎ+T{Âř!Ä»T |*qü(NK?ŠŹÄ?™óvă'ŐvňřaaéSa" Kß “XRĺĘjź”`‹ŞôöÚöuv†ť†v_ĄZľÓ6ž…ĘÔí`%˘ Ůn†…7ÔŽ„ĺ[ńÓWÚ~Ö*3°(nѵ“đk“— žłĚ LŔdśňąÍ«°ÔZ‡m)Cxnô·á3+DŮ™G{Ň{ćμŤő5K˝z!µˇ”’¤ăÇ$YÄ"+Só˘^=Ö™Żšöé΋aLł¬±ňłí°ô&‚jH0TĂ3ŻN·eD´Ć2´Ö+ZG[B@a^—�rňÔpěí·ŕľ{ď“<řŕĂđ;żóŰ0»wvÄä‘Đq‹p R©ÂŢą}ń_‘Ň^Ţ*ąoűIË•+WŕťwŢ…Ď~öłą¶Qßť8q:ţ÷©Î‘€ŢM9}oXpÝܨŃP±Ô¤V˘r2í4â°` XŹPCVx„Ŕ'ă'%žc7ÓĄ»ă¤9b‹UIgaKyţpżnľl_)´ľľëĐh6a1<•=ż\……5€fSÄůŃżF}�ęŤa€Ú�Ś ć_2 vÁć€ţ†ßk—Â: Ăе ™nŔ‰ nŔŘŘóë…pÉĚż[2w©Ş’F©9w'Í‹ÎNÝk{Ó’Xş/łíu¶»âĘy�ş›“˛}ţÍI&łŕý(—a2‹!§íLfÉZ’tă‡ďR},@pđ9¨ÄńŁ8-aü(>_LfÁ|€ÝřIµť<~XXúPČÂŇ—Â$–Tą˛Ú'%Ģę˝˝¶}Ř™gb^™{˘ű ¬¤ЬoĆŻPŘ7şj•AĺŃ˙—+Âń±ăp­RŹÓjÓ(\S4áÄú<lgY_ăëďŔŃćÝňNO´`ďب†}ŘlÔˇÚý•›ÍńNăuĘčŽ+“X2öĆą 9#Jű•m_~ŕő 4zĐëEj>Pô`Đ«Ç:óUÓ>ÝYbQ"ŚIb–5V~¶–ŢDP f‚jcćŐÉóâ°ŚÖX†Öz`))«Z­ĆOóşxů*|ýůoÂí·ÝŢ`Ňżf(ú%ő3ý(|ó›_‡ű±Ó5 IDšé\pęjé]L±˘_«ó›ßź˝îČ$ëëëđüó߀‹óW`bb*aź˘˘›ËtFybÄłCŇ+Q9yí4â8Š ëjŕŐk„Ŕ'ă'%Ţ–+Í“X¬J: “XĘó‡ű5¬Â.Ďôšž……EX\\€7.Őŕ˧§ŕřőa|Źž’© Čí°ŰűýŐđďí$ýčŢeřŮŁó°Ď&LMM‘ꍖőI-™ů·ôą _čJĄćÜť4/:;uŻíMObéJT%&łhëśĆ‰U,&ł Ĺuă'•—Ř'ÇÝŠŚÓv&łd-ÉşńCw©> 8řTâřQś–0~‰/&ł`>Ŕnü¤ÚN?,,}&ĺŻF,,ŰDÄ’uŕŃ>)Á$UčíµíĂÎ83ć­Fü'DČ’j_ôJˇHćĆ÷ÇOeÉVfy`^m?e%şŮ6\©!őpbăÔˇŰ]^{ĎžH3}(ţÚŠŢ›ÚęöCfN ?&±ČÂ$Y™š=ôę±Î|Ő´OwvX’§,ÜBXY{aéMŐ`&¨†9f^ťś1/ËhŤeh­–’Ňa…'ýńŁţkđŤożŻľú=Č“ @-,óÜ׾ ͦŚ´ý[ü_ذ˘×=˙üs0P­BŁ™żŢG}öŤoż aĆÄž�ź÷ŻzŁ<1âY‡!釕¨‚L;Ť8,Ö3ÔŔ«×OĆ#NJ$<Çn.KÄbUŇYÄRž?ÜŻaE°ô:űHńâ%¸8ţŐk»á˙óÚ~x÷úŘâ}sGľwiţíŰ{amm{uL××N2óoésľĐ•4JÍą;i^tvę^Ű›úuBZ}€›ô„ëȵ]ŐŢĽ–|™Ćéş)~í@¶7ĚwHŰ…¤ĎŻ“jŹ÷٬ĘďÇü:éŰž{Ť$Sßü˝ĺÚ“ţ¸ ČŘäŚSýE|éơíBÓ•.™eŁŮ‚â$0śß€Łj¦Ś“{Ľ2mÇí ă‡8Nńńń% &9m÷?J™ĆO'O•ŔĽž m7Ć»Đ@čúP)SÂřÉä•2~RyäńĂÂŇGÂOdaŮÂ$–¬ŹöI &±¨zW‹Z kŢšŁ]łá€]·B®dÚ'â›mŚTĆPóăĂoCłŇ>Ii…Ą6DF‚ÁNŰ÷ĄV[pnó:Ü ŇiÁą•ŕ@óp»şĂ'lĚޱÝpré47ëPÝńn3Łí&Zw\™Ä’±7Î]Lb‘őLb±ĂłĂŇ›Ş!ÁLP sĚĽ:9c^–ŃËĐZ¬l*čüŇE'Ńë|FÇĆŕÂůsđĺŻ=GŹ…={f%›°rňÔ xçí·ăWî,,.A˝ŃŠ -űŘÇ ~=ŔŤ“čZô´™×ßx3&Ą\˝vfffŕ®»ď†[oą-~‚MZćç/Ă|ő9¸xů Ěí߇?ŤE:¦źcQ+‰~Őj¨XjŇ+Q9™vq X0¬g¨WŻźŚGś”HxţRˇÂ$«’ÎÂ$–ňüá~Ý}Q_)}^¸p —Wá_Ľ1o_…í o^… +Kp¸V‡FŁa|ň™úô)7c % ľĐ•4JÍą;i^tvęcŕ 7v­”$ŞŠöWđíëoŠIO‘ą>×ŃËöůż´ç'łŕý(—á'łĆi>™E;ÉńŐ÷a‡źĚvăGqZÂřQ|$ľřÉ,°?©¶Łă‡…ĄŹ…‰,,}/LbÉ:đhź”`‹ŞôöÚöá»wĚĽ2÷8ŘŠ|µ+řÔnč””>˝1wď‡jg§Ů-xgí<lýKÜĺXőŐ6‘%#cµ‘řI,ÚäžHňă2-Lb‘…I,˛25(z0čŐcťůŞi_�“rD8eáÂĘÚ Ko"¨†3A5Ě1óęäŚyqXFDk,Ck=°”+h?ae×ÔĽüňđĺŰţ�>ôá'áŔţ°¶ş §Nť„wŹż ëëpćÜřÁŰďĂ™3ç ŢxÚŘÜ€ˇáax2´żŮÉ,Ń>á;ßůĽđÝ—ŕwżř<´ZM8tč ÜĎ0?^yůe¸óčťpË-·ÂČč(ś;^üîwŕĹ—^‰]“P« ‚ru*3giv@Ż$úU«ˇb©I?¬DĺdÚiÄqv7¬g¨WŻźŚGś”HxţRˇÂ$«’ÎÂ$–ňüá~svx=ŤeţĘUXY]_9¶wŰXşray�O5b˘lŢ+üpÉĚż7â@”6JÍą;i^tvę^Ű›žÄŇÝĆ3Ö·o*&=~sR¶Ďż9ÉdĽĺ2Lf±"#ä´ťÉ,Y@K2‚nüâ]Ş‚>•8~§%ŚĹGâ‹É,°?©¶k§)–>&˛°ôµ0‰%ëŔŁ}R‚I,Ş>ĐŰkۇďÚµí[8!ëFö@0¨q·Ňť'BÖÔW5ĂË‹’îzs^_= 3µńřXĚ7–aSÔáf’ĹÚu€MU?ÔíěXŔNZy¤}±”«===¶“Ź@Ł%!ëUOËLb‘%ĐčAŻ©ů@ŃAŻëĚWMűĐ”#Â) ·VÖ^XzA5$ ŞaŽ™W'gĚ‹Ă2"ZcZ륤R‰dbş1反ŹĂĄĺexţß…ÍÍÍ1esłď? oż{–×Ö Z€±‰ ¨×7á«Ď˝#C°±ľĎ<ó¬ňÄ’›E˘× }ó[߀Wľ÷*|é«ßŠźĆ2P…K—ŻÂ… —allîąóXZZ†7Ţl?!.~zËw^ÍFöÎL¨DžĚś…},¸nnÔh¨XjŇ+Q9™vqśÝ ëjŕŐk„Ŕ'ă'%ž˙„T¨0‰Ĺޤł0‰Ą<¸_?_ٵ\—ľ~}–áwOě†W.ŹĂv“ŐŤzÜ/Â)ĐĺsQ&±”ă+mvCćEg§îµíK›<Ňţ– •´0™E_ç4N¬ŇöŁZ'ŐďGą “Y¬Č9mg2KĐ’Ś ?„x—ę`‚ĎA%ŽĹi ăGń‘řb2 ćěĆOŞíÚiŠ…ĄĎ„‰,,ý)[ŞŤ¤˝Š¬ 4úĚWÁ˝Ć>ĺOĘĂ*¬´#ĐčÓ<Ú'%Ģę˝˝¶}řnÝŘľůWdA…:…™ýx˛žVŞË€Ý$Yu8»y nViTqâMT V„z«­îăšIÇ/ő$–ěfŮ8–鱝|=( Y¨zŇXf‹,Fz˝HÍŠ zőXgľjÚ�j˘©s™"l-„ž–ŢDP f‚jc&(FDĚâ°ŚÖX†Öz`))[¬0ś˘_DĎÎí…÷Nť…ů« °on¬¬­Ăąó—ˇŮjBĄRńń ‡áá‘üqńüYřť?řÔ› hÔëđ±Ź˙PLą™$"ä<÷µŻÁë?ř|ń+ߌ_4·ď@ÜŢőő5X]Y ?×á•×ß‚×Ţ|Ń‘a8˝®aiöíß?ťFş"Ą›Ë$±8HF<ëŕ0$ý°•Ci§ÇIݰžˇ^˝F|2qR"áůOH… “X¬J: “XĘó‡űőóE}ĄĐňň \»vľsaľtz ¶Łlnl„˙˝tćńÎ9,“XĘń•6»!ó˘łS÷ÚöÍ“X�:—kh7y»;-ś(€ßś”íóoN2™ďGą “Y¬Č9mg2KĐ’Ś ?„x—ę`‚ĎA%ŽĹi ăGń‘řb2 ćěĆOŞíÚiŠ…ĄŹ„‰,,})ęôćwť±PtFźů*0¸@Ł×اüIyX…•v}ÚGű¤“XT} ·×¶ëŹöFE5N`‚±9°‘fxÓ)Âm¬®ĹéĆúZHőS›ë¦U‚Vf™ëîî:ín’vüřuB˛0‰EV¦ćE˝z¬3_5í �5ŃÔąL¶ÂĎKo"¨†3A5Ě1#"fqXFDk,Ck=°””K˙TŃ5_Ź3łg®‡7ŔŢy˙t¬Ž“»â'¶t˙ÁDú}űÂŮ3§á‹đÍĐf–W~ž}öă°{÷ Ü rĺĘ<|ýë_‡ËóWŕ·˙y¨†mÚč`LřŚdxd4ţk6°˛Ľ«««pćÜĹ8/š…vĎĚŔ@ö•BČśĄ>ŤĹâ€ëćFŤ†ŠĄ&ý°•Ci§ÇIݰžˇ^˝F|2qR"áůOH… “X¬J: “XĘó‡űĄů˛yB f»±±®ióđîµAřoďí*n=ź™KźŞđ…®¤QjÎÝIó˘łS÷Úö‰Ą+QíĚÚ¶3™E|´qĚ"űđ%łŕóŚ>v’ă«ďĂ4“YŔnü(NK?ŠŹÄ“Y0`7~RmGĂ‹…ĄŹ¤( % Ë6– 7Ż+"¤ŹT"Đč3_hôű”?)«°ŇŽ@ŁO;đhź”`‹ŞôöÚöá»óüöĐ<÷Bü׺~hRAÚŤßÄnŤŔ`súMFę©_ąIcĽ˙r>«ď%•.b‹,Lb‘•©ů@ŃAŻëĚWMű@M4u.S„­…đÁłĂŇ›Ş!ÁLP sĚĹY–ŃËĐZ,%ĺ‰ÉŘřěÝ·¦§wĂĚž=°ďŔAŘ55Ý#±DŇ˝čT*ˇÍŢ8,ź}öcp ´ýýß˙=xűŘ1ŘîrěŘ[q]:Ď<ó±X7=ł§GbI_YŞTarj ćöďŹÉ+SaěÝ7Łcc2¨n.Óĺ‰Ď:8 I?¬DĺdÚiÄqR7¬xxô!đÉxÄI‰„ç?!*Lb±*é,Lb)Ďî·ü¸ŠÎqëő\¸p.,Wá_ľ±"€›EŇçčFŇmĎJ|ˇ+i”šswŇĽčěÔ˝¶}GbQöŽřu;Ů(ŔMz Âu ӝĞ} Í“p:zýôMąÎŠ_kí s$Ňv!éóë¤Úăý(«ňű1żNú¶ë®©ŕöaŻBąVĄ?î269ăT?F_ş1dh»ĐŕtĄKfŮh¶ŔEôdŤ}ď?Zěä/ҵ4Âř!ŽS|<d| IN۽ǏR¦„ńÓÉS%ç©rHŰŤń.4ş>TĘ”0~2yĄŚm K ?‘…ĄĎ…I,Îí“LbQő~$– e›ßľvąę§ŔFţ÷źř*Ŕ7/îjE}Ë;0ŻĂ&ô“ÜÖ¸ ŐŻo6 D˝Q‘nÔé6ĹşăĘ$–Ś˝qîb‹¬g‹ž–ŢDP f‚jc&(FDĚâ°ŚÖX†Öz`))–üTÄů5Że¬9&›ť‹xŹ?ö(Üsw{ÍŮżo?|ëŰß‚S§O‡?üdLúŘNrýú5řÎw_€…k×áŁ}nąĺ–X˙řăŹÂ©ÎĹŻLŠ^/”HşÍŚŚŚČ€ş'Rv�xNŽčćFŤ†ŠĄ&ý°•Ci§ÇIݰžˇ^˝F|2qR"áůOH… “X¬J: “XĘó‡ű-ĆWŢ“Z˘őřŇĄ‹°¸đËŻĎÁZŁź~·—™KźŞđ…®¤QjÎÝIó˘łS÷ÚŢ(Kéc8—~/˙r·oŰ(&=…|ĐŐËöůż´ç'łŕý(—á'łĆi?<™E}‡>v’ă«ďĂ4?™ěĆŹâ´„ńŁřH|ń“Y0`7~şmgaécá'˛°ô±úy\H©D Ńgľ .Đč5ö)RVaĄFźvŕŃ>)Á$UčíµíĂwăůí z7€D})ţć:¸J׾‰ć= {!€>’5w5’uťnnÖZrâÇŹI,˛0‰EV¦ćE˝z¬3_5í �5ŃďEŘZ<ű Ş–ŘY‚ZĐOPŚĹa­± ­őŔRRXî"ŕs–)ŐlnBK´ŕ3źţ‘žîĐá#đŮĎü8T«Uřťßůmxů•—`ccn´Duxéĺă:ŐŞ5řěŹ˙dŹÄÉgĂ6V+lSzź ě¸daKGĺdÚiÄq7¬g¨WŻźŚGś”HxţR!ŇÝ_0‰Ĺޤł0‰Ą<¸_;_®ŻjµDü:ˇ•µ:ü‹7ć`~­ź^››™KźŞđ…®¤QjÎÝIó˘łS÷Úö-‰Ąç(űżŽ'¸IOA¸®\Vímž„ÓŃë§sĘuWüÚlo¸´]Húü:©öx?ĘŞü~ĚŻ“ľíşk,¸=?™Ą«ď ?™%eC§řxČř“ś¶{ŹĄL ă§“§ ?™Ĺ\'‹'ł°°ô±0‘…ĄO…I,Îí“LbQő[Db‰oüdúcáTűom|¤«¨~ŚŔ“búB‹™Ź-}$l«ĽĚuăuimµ}s­RIôş“llËôŘN× ×’őLb‘Ű‘ßx}™ÄBv•béMŐ`&¨†9f‚bDÄ,ËhŤeh­–’ňÄ’´Ý¬Ŕt1 ;g´ ŮhÁÄŘ(<ýä’ĹřÄüČŹ| >ţ±ŹĂéS§ŕ?ţÇ_—^zVWWa«e}}^{íűđë_ř58uň<őÔÓđ‰ů$ŚŹŹKvyňĂńk•ÍfçaNÇćXd±8HF<ëŕ0$ý°•Ci§ÇYܰţááŃk„Ŕ'ă'%ž˙„T¨0‰Ĺޤł0‰Ą<¸ß­‰«ČçÂÂuX ××_y{N, C˙Hfţ-˝Kń…®¤QjÎÝIó˘łS÷Úö=‰Ąç0ű•v“5é)×7Ě‚Cčę¤Áb2 ęĹd5SĆÉ=^LfŃbI8}!ă§“§ “YĚub2 żZĄ?E»ŔJ©“XÔ“XT˝+‰E-ßľTąŽľ˛ç(Bęő:Ô†đĽĎŔX›đF°�7«„÷Ꭻ÷Ŕmân2'µÝÔĄđbgt.¨Tµ›_ÝqeKĆŢ8w1‰EÖo‰EÓ–­aLćX{aéMŐ`&¨†9f‚bDÄ,ËhŤeh­–’rÄ’_1¤™ű"˘†H˘7›Ýl4âĎO|ě¨ ŕ§U†źŰďĽs Ţzëđî»ďŔ‘ĂGŕ¶Űo‡ýűdžXRśDm;ţśx˙}8ýÁi¨ŐjđŔÁ]wÝż6 “Zm�>ůCĎÂoü٬+vRM $–¤mɀ熤V˘r2í4â°` XĎPŻ^#>Ź8)‘đ&$Ç#s„ľů·ÉÁ}źR@mý[I~ËYýHbŃ=©%RŻ­­Âââ|űü8Ľ|q úG2óoéľĐ•4JÍą…:Ýćó˘łS÷ÚîKĎ1H÷6ů5C m;żfH|´qř5C˛ű× Ém—Çhʆ_3„›ä´Ý{ü(NK?ŠŹÄżfó㇅Ą…‰,,}) Š.Đč3_hôű”?)«°ČB}ÚGű¤“XT} ·×¶ßukŰ×»a†÷‡¸z¬ýehcűÁU† !fÂ}›şD§Ńn…â<\‚uÍk¶«5Ź.? w´î‘ő©ďőzćŻ_Ű[Ťú {śÄ" “Xdej>Pô`Đ«Ç:óUÓľ�PăńľQg3Â̱öÂŇ›Ş!ÁLP sĚĹY–ŃËĐZ,%ĺ‰Ő%łÖrÉľgÖţżŃyĎłý±\Dą˙ţŕî»ďăǏñcoÁ‰“'`ddŽ9űö퇹ą}088>˛ąą /^€óçĎĂśoî­Ářř<öčăpÇŃŁ00ę÷ěG>żń»_„FŁ!YĐYE7—0‰Ĺ«­v X0¬gx€WŻźŚGś”Hx’㑹B_ŚüŰdŹ`ÚźK: “XĘó‡ű-?jâµ;ˢKK˰˛!ŕ׏JrÇGęü¦ô.Ĺş’F©9·P§Ű|^tvę^ŰGbéU�27i7y»;4ś(€ßś”íóoN2™ďGą “Y¬Č9mg2KĐ’Ś ?„x—ę`‚ĎA%ŽĹi ăGń‘řb2 ć,Ć K YXv†é#•4úĚWÁ˝Ć>ĺOĘCÖĚîZ›H Ń§x´OJ0‰EŐz{műđÝv~űđţnŁsíDŐďF×S'ŕëçn‡ą <?:Ť~ćŕńÖx=¸Ça)ü·Ë¤–F+\nDrBłÜ\„b$€J«C#pKăN¸ŻůHďuBAćxw7Âo_¸ Ë›Wa¸: •ěŻŇ™Ä"=ŃEČv˛žŰÉG Ń’őŞ'Ťe&±Čhô ×‹Ô| čÁ WŹu櫦} &Ćă}ŁÎb„1™cí…Ą7TC‚™ ć Šł8,#˘5–ˇµXJĘKŇš°ROe‰“©~­¶fzj(I˘'˘ś>}žűú·axx®]żożývĽÎOMOĂîéÝ019 »ÂżčŐ?µpťę‘P˘§ŞŐ77ăĎĺ•eXX\„Ąđď굫pýÚµřÂĎÚúĽ˙ţiXßX‡Ď|úGŕÎĐgĄB{Łěîév[Ňs`€öI’ÔwźĹA2âY‡!釕¨‚L;Ť8,Ö?<<zŤřd<â¤DÂsŹĚ úbäß&{ÓţŚXŇYÄRž?ÜďÖDŤč,މĄ&ţĂ5¸tÉďő»[-WgŰçÖ­Vű• :(~ŻHÁş’F©9·P§Ű|^tvę^Űťó:ˇ u1­‡ĚŤCÚMŢîN ' ŕ7'eűü›“LfÁűQ.Ăd+2BNŰo™EÓv&łdŤ ă§§(qü(NK?ŠŹÄ“Y0`1~XXúOČÂŇ˙"¤ŹT"Đč3_hôű”?)Y+»kl"FźvŕŃ>)Á$UčíµíËôG´1j©·)â-ŚÔľěĆ0;qvŁ,Of†Ż@˝ą ŤF+Ľ1¦'ĹŚUř0ě‰˙|ĄŮl›×ö z[”' ‰ĄóąĽ¶—›}b(:,U¤{ü$YÄ"+Só˘^=Ö™Żšö€šŹ÷Ť:{Ćd޵–ŢDP f‚jc&(FDĚâ°ŚÖX†Öz`))O¬´6€�r‰˝őťĺŕÜąspçťwEľ˙ýWáëßü.Ľúć;P q_~őMÚ5ss3°n/Ě잆±Ńa°‘ŐŐu¸|ő\¸p·7ň—ă×EUŽžČ2;»}ô1VÔ–®ŕ×d suĎDsAH'F<ëŕ0$ý°•Ci§§€SŔú‡‡GŻźŚGś”Hx’㑹B_ŚüŰdŹ`ÚźK: “XĘó‡űőó%¬Kb‰d}}ZáyćWŢ\„Ą•5¸™d~i4^/›ÍVJ›™Kźđ…®¤QjÎ-Ôé6źťťş×vÇ=‰%Ţä›opwĎz!0ă(&=~sR¶Ďż9ÉdĽĺ2Lf±"#ä´ťÉ,Y@K2‚nüâ]Ş‚>•8~§%ŚĹGâ‹É,°?,,ý%LdaéoŇG*hô™Ż 4zŤ}Ęź”‡¬‘ݵ5‘@ŁO;đhź”`‹ŞôöÚöá»ëüöĺôG¨hž{ˇm9ş*SGÁG>vŕđëď}Ř·:Ę–j­ ű‡ßsëGu]WHOPééÚ˙5~pö\˝ţ. ÍMĂŔĐpę,‰I,˛0‰EV¦ćE˝z¬3_5í �51ď�4f%‹0&s¬˝°ô&‚jH0TĂ3A1"b‡eD´Ć2´ÖKIybIÚNV÷CFA®oD×ç˘űOĎ=÷<LOOÁž=łFłgĎŔ7ľń-xáĄďÇO\© ÄŻ˙Y\^Ť˙ŢüÁ{P­Váßý˙~9&ą,//Áf˝ÍzęŤzŚ=ˇĄZ€ÁZ-&©DŻUřą?ůçbÂhôä–H˘§·LLLÄd–^ü>ěÝłöîÝ 2Öo~ţ2|íąçÚmĂ®1‰ś‚L;Ť8ÎÖ†€őŹ^#>Ź8)‘đ&$Ç#s„ľů·ÉÁ´?#–t&±”ç÷»5Q“&±Dë^´v_]°Ľş7›4›Ů§ť¦ÎŚ‚€I,%ůJ›ÝyŃŮ©{mw‰ĄW�&łdÔĚ’ő“Éë%™Ě‚ú`2 �iüâ]Ş‚>•8~§%ŚĹGâ‹É,ĐŹ–>&˛°ôŻé#•4úĚWÁ˝Ć>ĺOĘĂ‘…4ú´ŹöI &±¨ú@oŻmľ«Îo_şňËđN˛zŕ)(JćĆćážécp|ţ8:łAĄ|2ËžńE¸Ľ± 1oƲ’í8dŻ×VhŃôf·^(üţ©K0ő=Ő: ŽOBP­ö„® ƱLŹíä#ĐčAIČú@Ő“Ć2“Xd 4zĐëEj>Pô`Đ«Ç:óUÓľ�PăńÎô‡n@.Â̱öÂŇ›Ş!ÁLP sĚĹY–ŃËĐZ,%ĺ‰%i3Yf2‹ču’íô@­­Ť:|çĄWax¸·ß~Güä“‘‘auežţyřňó/ŔĐĐěž™‰ź ˝N¨^ß„Ťő X\\€úf=´]†Ă‡ŹŔôtţ“Ř>8}*®]ôš˘č•DCĂCP« vŞŮ‚FŁ đÜ °{÷|îsź‹É/YŮŘŘ€×_ Ž{ ^xńŐxF¨ ¤;Gę†Ě×”™ćNŚxÖÁaHúa%*‡ ÓN#޵!`ýĂĂŁ×OĆ#NJ$<‡ ÉńČÜ�ˇ/Fţm˛G0íĎ%ť…I,ĺůĂýnMÔ¤I,‘4ŤřóäU�!¶¦EŠLd‰ęźÚĎ—Ţ|ˇ+i”šs uşÍçEg§îµÝ‰$)šâ„ůwű+í&ow‡𛓲}ţÍI&łŕý(—a2‹!§íLfÉZ’tă‡ďR},@pđ9¨ÄńŁ8-aü(>_LfÁ|�>~XXúXh/KgaąŮDH©D Ńgľ .Đč5ö)R˛&v×ŇDŤ>íŔŁ}R‚I,Ş>ĐŰkۇď¦óÚäöGұ~EúćřČł‡ľµëđú…‰đBŕ&”-Ń »##o·"Ǹ»)K˙){Ľ�KÇ6˝É]Z]‡WŢż ×çaaé$ŚîÝŐÁˇŽ‘ţI,ć1NŹíä#ĐčAIM=ěĆ2“Xd 4zĐëEj>Pô`Đ«Ç:óUÓľ�PăńÎô‡¦}Ĺ‹0&s¬˝°ô&‚jH0TĂ3A1"b‡eD´Ć2´ÖKIybIZ+,ĸłČT«P„Óç.Ŕ—ľö|˙űŻÁoüĆŕo˝ ­VňŞ€(ňŐçľÚ| ÖÖ7`fvVzµ]D<ź€Ý»g`ĎŢ9¸rőPĺʵk0»w/LďŢctI,q5ĂS˝Ý{ö„>×áËĎ}ž{ţą¸.]‰ęŐő _ř5xńĹáK_ý|pö< †mŠÚ–n«v.Ëë+‚)9ţXjŇ+Q9™vqś¨ ë˝F|2qR"á9LHÂ:ăF }1ňŻş=‚iF,é,Lb)Ďîwk‚#Kb‰¤Ką°Đ„›[2óoé]Š/t%ŤRsnˇN·ůĽčěÔ˝¶;öI,€ťCF#é^@ܤ§ \A®-«öćúJľLcštÝżv!Űn“"mG¦lcťT{ĽeU~?ć×IßvÝ5Ü> ě}(׾ôÇ]@Ć&gśęÇ(âK7† mś®tÉ,Ňëóp,'RŁŇóäřŇb'÷x‘®ÍĆqśâă!ăKLrÚî=~”2%ŚźNž*9O©CÚnŚwˇĐőˇR¦„ń“Éó?,,}*üD–ľ݉‹ns [„z'4şM ¦×,~Lba‹iĂźT˝ĂşÍ¶oíŞ  @PW‰~UńÓG ľtęăđ™‡ŕö© °o˛•J Ę’ńńŚm\•Önła`ÖNŁ{RŻ7ŕÝóó°¸9�×—ÎÂőëÇ`xf†¦v÷PzÇ5»Ňsl[ÁőŠ2ýÁ$ő+“X¤ŻLbˇLŐ`&¨†9f‚bDÄ,ËhŤeh­–’ňÄ’´,ő©,Fc-ż hĎž˝pţÂEřµßú2ÜϰşşÇŽÇĹóËéÓ§ŕ•Wß„S§ĎÁÜ}ń“\iAĽż|¨2?%®w üL)§•Č×îŮ˝pňôyřć·ľ k««päČ-±źÎś…ë×áŐ×߆7ßz7\ŢŘ3;·©ŰĆl7}wĐĹg†¤V˘r2í4â8QÖ?<<zŤřd<â¤DÂs„uĆŤúbä_u{ÓţŚXŇYÄRž?ÜďÖFbIËÚFů?Č(C*©_ţv×p&±”ă+mvCćEg§îµÝÉ$–®DU ¤DsQűkÇF*śµoŰ(&=EĆOG/Űw®ůi}´ŻEđ“Yâ#­â'łĆév{2‹ńá§HŰĺ1šŞ3?™7Éi»÷řQś–0~‰/~2 ć¤ńĂÂŇĎÂD–ľˇ$Ť>óU`8FݱOů“ň^QYhôií“LbQőŢ^Ű>|÷¬GˇVz[‘Óéöu-ÁôťP´A ~ôÖŻÂÜŘexîĚGáäőAŘ?qöŽ­C­@5¨BĄR…�(F8<~Ž-î†"%ěZXŻoÂúf——áĘň&lŠ4ĂŚ+óŻŔęúEÚ5 wŞQŃ×öţPĂôŘN>Ť”„¬T=i,3‰E–@Ł˝^¤ćE˝z¬3_5í �51ďLhÚWĽc2ÇÚ Ko"¨†3A5Ě1#"fqXFDk,Ck=°””'–¤%`%d–śŃ+ ·>ŹŚŽÂŢą}pýÚUxóŘ{püÄixäÁ»áÚµk1̱wŢď˝~,~ËČČhÖa/˝ÜhÂ…Ë—€*.^nĂDe|˝ęh÷ě Ľđň÷ał^‡ë q;Oś<ß{í-ŘoÁÔÔ4 w_‹Ä$–ŽĘ!Č´ÓăDmX˙đđč5Bŕ“ń“ ĎaBÖ7Jč‹‘ŐíLű3bIgaKyţpż[y$–8·Ő€›Q*™×-tű7°ZTm_čJĄćÜBťnóyŃŮ©{m™Ä’HĽ]—ćÜíŻ´›ĽÝťNŔoNĘöů7'™Ě‚÷Ł\†É,Vd„ś¶—Ifé^w Ç*VŁöúŘIŽŻľÓ8Lf»ńŁ8-aü(>_LfÁ|@*vXXúWČÂŇ߯AňUŇgľ"k|o•˘}Ęź”'đşÉę@ŁO;ŔÚAlź”`‹ŞôöÚöá»ćüöevµ-¤~ýBZ´řÁż sC P†‚_źx]ü$_zŢ·BY˛ŮŞÂé•öŤ·Ü}–ČÉĎÄÉ lnnÂŇŇű°Ľv&Ţ4ŽÎ}Ú›Ń,‰%}8Śc™ŰÉG Ń’őŞ'Ťe&±Čhô ×‹Ô| čÁ Çă:ż} &ĆăťéŹÜ8)I„O¶°16Ş!ÁLP sĚĹY–ŃËĐZ,%ĺ‰%i-°şFÓzăP"ČÜđX^Z‚ĄĹExůŐcđRř×u<µ{7LLNń*áúÔ ZpęÔ ĘÉÓÄu¨tꦙ«&&&ˇŐlÁëo˝˙ĹUŹ«ÄŻoß< sYJÄ’ŹŐV;NÔ†€őŹ^#>Ź8)‘đ&$aťqŁ„ľůWÝÁ´?#–t&±”ç÷»5Áa"±DëUűUz+pű®şrŕf['ŰŻú4ŽĄb-řBWŇ(5çęt›Ď‹ÎNÝk{óXJ Ř:Đ$ă„ůwű+í&ow‡‡𛓲}ţÍI&łŕý(—a2‹!§íe‘YŚŤ‘Ś i;“Y˛Ć†ńÓS”8~§%ŚĹGâ‹É,Ťo–>&˛°ôŻÄó|•ô™ŻČÚŢ[Ýhźň'ĺ Ľn˛:ĐčÓ°vŰ'%Ģę˝˝¶}řn9ż}9ý´o(ĽůÔÜÜ„ôÎĎÂG¦ŹÁp°żÎ@ŻÚˇ‡*‡éĘ4lT@Ł: Ť`<ÔŘá`n!ΉĄYXj]ŠÓŮ sB›€¤ë˛c+ŢX· %ęĐlÖˇ.VÂTZ­T‡‡atv.~KŰ6źÄ’}‹DbIŐ—I,˛>őˇ$¤ńŻm7ň5Ý÷�ćö!mĂő ×‹Ô| čÁ WŹu櫦}šńo<Ţ™ţĐ´Żt>ŮÂĆŘ`"¨†3A5Ě1#"fqXFDk,Ck=°””'–¤µÂęDuďI)™:ę°:kZDV /Ň-..ÄŻń‰bvt|&wí½Ąđ*•6ĺ˝÷OÁŐ«W`÷î0Idó~hŰ++ĚMÝ55•°Y«++±]ô¤–ɰľ•čUB>Żgľ¦š«ą°Ł#žup’~X‰Ę!Č´ÓăDmX˙đđč5Bŕ“ń“ ĎaBb•+ôĹČż¦ö¦ý±¤ł0‰Ą<¸ß­‰Ę“Xjµ¨V88Ů„ý»áüő›çCSăCđŔžëńZ:8čöŞ`:Á_čJĄćÜBťnóyŃŮ©{m™Ä’qh’qÂ|»ý•v“·»ÓÉřÍIŮ>˙ć$“Yđ~”Ë0™ĹŠŚÓö2Č,•«=_LfÁ|@ŻíLfÁ|$ľĚ‚ů�–ľ&˛°ô§Ä“w|•ô™ŻČšŢ[Őhźň'ĺ Ľn˛:ĐčÓ°vŰ'%Ģę˝˝¶}ř.9·}ŃŻĄ…@íăíJ¶}A»/‚J†GŕÂđřÂőąŚQ» ę;Čm‡˘čÖ´“ĄëŚÄš•Á~1wşŻ.HJP„±ÜţŔŹ_uhF&vÁđôLŘť_©çĽNmel'FJBÖŞž4–™Ä"K Ń^/�ú…ÄRěEbĚO¶°16Ş!ÁLP sĚĹY–ŃËĐZ,%ĺ‰%i­°Ő4ő„4RlEOG©Vajz:ţ3yČâĹ„’P®/-Ă—żüexúé§a˙ţ፺Şd×l6áüůsđío®-­ÄO‰^hŞ^wWjR “X2*‡ ÓN#ޞ!`ýĂĂŁ×OĆ#NJ$<‡ IU®Đ#˙šÚ#ögÄ’ÎÂ$–ňüá~ËőŐ]o)$–®ěŢ˝–Â5óŹÜú&ü›÷n‡+K°Ýe×Ř üÜm'`×Ôm0ťŮ'˙Z!|ˇ+i”šs uşÍçEg§îµeKZş×„ćFr7aľÁÝţJ»ÉŰÝńáDüć¤lźs›É,x?ĘeĚbEFČi{Ńd–F«%ůb2 ćzmg2 ć#ńĹd`aŮQÂD–>•îĺú”ä+˛–÷Vs Ú‹N™Ś0‰EŢ­éÚ§ôÖć”B×6)In_ ·×¶ßç·/§?Đv˝ĚH?s÷ݰvő*FS:�˘W7!•ÓµCŻOŤýđŁŐl€o–µZ=ŕ:’ ß«Z�µŃ1¨ Ô$=i,÷¤˘äEý‚¨†¸ŐˇáP.‚‘Xş‡_¤UI{Ä"(mëčSJB˙Úv#_3}olŇ6\z˝HÍŠ zőXgľjÚ�jb<Ţ™ţ°i_‘"|˛…Ť±ÁDP f‚jc&(FDĚâ°ŚÖX†Öz`))O,Ik…Ą7ŽÖx-¤J÷½•]W«Ő`s˝Ďó»°ľľ¦˝©­ůßyůµřőµpíşj$%|Ţ3”` «­vś ë˝F|2qR"á9LH˘@¬r…ľů×ÔÁ´?#–t&±”ç÷»5± #±¤IĄi]ô4˛Űn»Nś8 iř=xsa7ś^FłBlMť)Őµ®×űG×ŕá©`dxî˝çnĹ+ç.řBWŇ(5çęt›Ď‹ÎNÝkË$ť¨7űd‰ćÜíŻ´›ĽÝťNŔoNĘö†›“={&ł`ý(—a2‹!§íE“Yda2KŢ8e2 ć#ńĹd`aŮ1ÂD–ľˇIÔ › 4zŤ˝č”Éúx…du Ń§`í4z0č™Ä˘ę˝˝¶}ř®8ż}9ý¤ú#hoP†‡ab˙t…öu~ɦÁŐŹ›�·7kb8×îpĎ'üxi}0. úNq‘V%íAŰLbÉčSJB˙Úv#_3}olŇ6\z˝HÍŠ zőXgľjÚ�jb<Ţ™ţ°ißаÉ%ÔUPµÄv jAk<A1"b‡eD´Ć2´ÖKIybIZ+¬śŃ+@űŞ!#V€,6©d€”€ń‰ 8vü\šżöÍÁŕŕ@ĎoTŹÍzÎťżWŻ-ÂC‡ R@ńĐ:Ąëe0˶2ą™fѱ<‡ŕ0$ý°•Ci§Ç ٰţááŃk„Ŕ'ă'%žĂ„$ Ä*Wč‹‘MíLű3bIgaKyţpż[ 6ObÉĘ3Ď|^ř΋đÄč<k`ÄW:øő’3Ç;ée·V›„ÇĘĽŃ%ŤRsnˇN·ůĽčěÔ˝¶LbÉőfź€,Q@“7ůJ»ÉŰť5p˘�~sR¶7ÜśěŮ3™ëGą “Y¬Č9mg2KPn{2�§şńCw©> 8řTâřQś–0~‰/&ł� ËŽ&˛°ôĄMB Ýd ŃkěE§LÖ·Ŕ+$«Ť>í�kG ŃAĎ$UčíµíĂwĂůíËôG‡”’ÖĄ>:[¤?˘r™_÷°˛}=ť$Vgě!#˝nv®‰=˘KôšţTťZ®ĎlĚ$}·\*`„€tAŚÄ’>"]Ł ŁĎ4„I,Š>őˇ$¤ńŻm7ň5Ó÷Ćöi4“XnŚ›\B]UKl· ´Ć#"fqXFDk,Ck=°””'–¤µÂĘ˝™lěWáąX©5Sžěҵ¨Âî™=°pí,,ľŻµŹlŞŐĽÓ9ˇÔÁd–ůÚ)hrÜđ‚ĂôĂJTA¦ťF'dCŔú‡‡GŻźŚGś”Hx’(«\ˇ/Fţ5µG0íĎ%ť…I,ĺůĂýnM,PH,ş§˛DşÁÁAřŘł…sçÎĂŐč ¦iJŁŃ/éĺw×®]pđŕřI2˛M€” ¦5_čJĄćÜBťnóyŃŮ©{m™ÄBőfź€,Q@“7ůJ»ÉŰÝ (~sR¶Wë«Ú3™ëGą “YLă”É,ŹT}€É,VăGqZÂřQ|$ľĚ,,}/LdaéoČW™˝Ć^tĘdÝ Ľ˛:ĐčÓ2y)±Őë™Ä˘ę˝˝¶}ř.8ż}9ý¶»KBAÚť"ÁH>2{ăî÷ô®¶^ Ő đ=ńXűCÓ>óqĹőAęuB š´[ÚąDb`KFźúPŇŘĚ9®Ň×Lßۇ´ ×^/Ró˘^=Ö™Żšö€šŹw6†&±Řâ ŞaŽ™ 1‹Ă2"ZcZ륤<±$­VÎčŐdăOgÉwŚA'íôřř8 …7ćÖ××C“VƆ‡†a`pPď¬w‘…pUC3—É7Ę,:V77j4T,5釕¨‚L;Ť8NȆ€őŹ^#>Ź8)‘đ&$Q VąB_ŚükjŹ`ÚźK: “XĘó‡űÝšXH“XĚdŃ|9p`ü§ĂhëEĘoy‚żŠ/ĐŘ%řBWŇ(5çęt›Ď‹ÎNÝkË$–—97yłŢ]h±Ú_i7y»;Bś(€ßś”íŐúŞöLfÁúQ.Ăd+2BNۙ̒”ŰžŚŔÇ©nüâ]Ş‚>•8~§%ŚĹGâ‹É,ŔÂŇ×ÂD–ţ|I ŃkěE§LÖťŔë «Ť>í “—ň'[˝žI,Ş>ĐŰkۇď~óŰgčŹÔÓUHý!䲽 séţčE~éÝm_öQČ퓺tşS'ă±&öz\^=¤}Yf,«zĘń“Ž,`ş]« ŁGb[ÓfÉ7Ş%!ëUOËLb‘%ĐčAŻúăjŽmőXgľjÚ—Ť=¬`NXµoëÎ`„M®ŮŘ`"¨†3A5Ě1#"fqXFDk,Ck=°””'–¤µÂĘ˝¬ä†[ľ±O!‹=ăÚŕ`ü§‚!ű Ě"šąŚI,vXmµSŔ‚)`ýĂĂŁ×OĆ#NJ$<‡ IU®ĐăÖż¦ö¦ý±¤ł0‰Ą<¸ß­‰…4‰…"¦§˛dumü¬>ţZ­ňÚ§ŠY`°ĄéÍyřBWŇ(5çęt›Ď‹ÎNÝkË$˘ëś›ĽŠYśĐßäMľŇnňvw†Š…ßś”íŐúŞöLfÁúQ.ĂdÓ8e2 ć#U`2‹ŐřQś–0~‰ŻOfaaéc©� K?Š@ľ Ě$Đč5ö˘S&ëNŕuŐFźvÉKů­^Ď$UčíµíĂw˝ůíËé´ÝľŻĹęŰyeNÚWŻQ^÷ôíÞğG'žČż¶ľ˘ć SRÖµOîÓÚJOo;–Ąd÷K§ŤBꋤLŇ™v‹L{%=Ű€Źä#ĐčAIČú@Ő“Ć2“Xd 4zĐë…ţ¸šc[=Ö™Żšö€šŹw¦?¬ÚčĚ a“K¨” j‰ Ô‚Öx‚bDÄ,ËhŤeh­–’ňÄ’´VX9Ł×«˝ŕ‰,(ţťµ/łŢk±.“ĺ5`‹%V[í8óÖ?<<zŤřd<â¤d&ÔR˘@¬rDd>óÍýkjŹ`ÚźK: “XĘó‡űÝšX°%±„F=żÝµ®§ˇ¤±0K€žŻRëL|ˇ+i”šs uşÍçEg§îµe‹…g´ †kŔ˝„ţPňżľáč·„ë-H}U{s}%_¦X!]ĆŻ‰Čö†9 i»q)Ř5ş¬=ŢŹ˛*żóë¤o{2ć‚mśü=ĺšZ޵ʔMÎ8ŐŹQÄ—n Ú.48¸čŻ_ęÚ.±.Áb˝Wm^WOąćG?ÄqŠŹ‡Ś/a0Éi»÷řQĘ”0~:yŞćő i»1Ţ…BׇJ™ĆO&OŰ?,,}&LdaékŃ-˝aaŻY¤ÄÂ$ÓĆ\ŰľĚ+p°vyí *m2G¶ ¤}ąß—ý$Eź7–»íKÝĽË'éÉPö%±hb;ů4zP˛>Pő¤±Ě$YĢ*™Ä˘7TĂ3A1"b‡eD´Ć2´ÖKIybIZ+¬śŃ륻!fMbÉ1#"Vú+^‹ÎĐÍŤ KMúa%*‡ ÓN#N ¦€őŹ^#>Ź8)ą…‰G4řOnK‘s�ĵDAó¶‚ß`+Éo9ă…I,mÉ#rŘ@Úë[Ú/–h)öv˝ł‡NľÎ§®®& ¨äUQÚ(5çęt›Ď‹ÎNÝkË$‡ U1\ î%đkňWÚM^ÔD¤ę‚čEN}U{s}%_¦a2‹Á‡śŻCLfA} .LfÁ} őA°0üř–8~”2%ŚźNž*;™ĚÂÂŇżÂD–ľÝ"Ń;áöšĹ‰I,Lb1mČsŰ×%gÚݱ@ڗÜ!™a›­’%·ÄdU—č+@űEx§Ś¤Żŕú”?\_‘››wüč`iÚÝëĎîÓbŇzMl¦‹ FJBÖŞž4–™Ä" “XT%“Xôf‚jc&(FDĚâ°ŚÖX†Öz`))O,Ik…•3z ŔJßŘşH,s#ÎŹ,5釕¨‚L;Ť8,Ö?<<zŤřd<â¤ä&Ńŕ?ąÝEÔÔÁ´?#–t&±”ç÷»5±PÄ“X̤)Óî),ů„¬Śy`Ââ'±Đ}ĄÍnČĽčěÔ˝¶Lb±óú÷ś™ssĚHşV L•p‘Ş ˘9őUíÍő•|™b‡É,rľv 1™ő!48¸0™÷ÔÁÂpđă[âřQĘ”0~:yŞ0™……Ąß„‰,,})şĹˇw˘!,ě5‹“XÄbÚ“Úף©€q*şVX¤mÓÄt“ĄŃŹ5±?tí3WĎă¤ţŔđdˇXşz&±$ JŰ:úÔ‡’ĆîqͶ/ż?đú2‰EU2‰Eo&¨†9f‚bDÄ,ËhŤeh­–’ňÄ’´VX9Ł·@¬¶Pn~Ѣ ±zőŇÖ͢3tsŁFCĹR“~X‰Ę!Č´ÓăĚkX˙đđč5Bŕ“ń“ ĎaBbŃ­JQDěLű3bIgaKyţpż[3Ę©$ ©Ăd“¬ż"ĺWÍ·!©ü¤źúŇéi 9~ÜÚ‹/t%ŤRsnˇN‹Ü@lK8;uŻ-“XląÎ&4v¦˝gć3’®čšźÂŃoC×a4×ód{s}%_¦b2‹Á‡śŻCLfA} .LfÁ} őA°0üř–8~”2%ŚźNž*;ŹĚÂÂŇĎÂD–ţt3Ŕ$)É$9o«I,]}@9 ꞎkH,iűčżě“UşOFÉÚŹő $±¸OVđ!«'±Dm»±áNźÉĘÔ“XÔŻ”ëlűňűŻ/“XTĺÖ‘XĚ"ŚIB ˝–Ř@A-hŤ'(FDĚâ°ŚÖX†Öz`))O,Ik…e6.šÄbşafÓ5#x̵ýCęWâX)9ţXjŇ+Q9™vqśy ë˝F|2qR"á9LH˘@,şU‰"Ѝ=‚iF,é,Lb)ĎîwkFyObÉJY4Ň'•f—ż´/Éłqó|Sę—m›"˘´QjÎ-Ôi‘{#m g§îµe‹ôŞbľ–Řł1íA3çę‘tí@ęÄd}˝h×CĚ‚éĆO*O@Ć&gśęÇ(âK7†Ě˘BcGęBŰńńń% &9m÷?J™ĆO'O&ł°°ô‹0‘…Ą?Ý0‰EJ2‰EλQ$–žŠ2>_qó”Ő§°·äuBAŇĚŽI–”‚ë$i‹n3™Ő÷žľb㋪L}=( Y¨zŇXf‹,LbQ•”“Ä­aLJčµÄ¶jAk<A1"b‡eD´Ć2´ÖKIybIZ+,łqŮ$–¬tµMú¸ y4řIÝly%Ě9&Srü°Ô¤V˘r2í4â8ÉÖ?<<zŤřd<â¤DÂsDXt«EQ{ÓţŚXŇYÄRž?ÜďÖŚr‹Í+€Ź)ż�E<}E/ŮvŃ|ą×_čJĄćÜBťŇ7é7d^tvę^[&±xHŻJćkŠ=Ó^4sÎŽIׄ©Nn’©oV/rę«Ú›ë+ů2Ĺ“Y >ä|íb2 ęChppa2 î©‚…áŕÇ·ÄńŁ”)aütňTa2 K?YXú^z'ÚM%˘×,>Lba‹iĂMjź®?˘D`şÁźę‘hşşömýë„ ç¸zodw› ý/6µl“Xd}ęCIHă?÷¸fŰ—ßx})Ç5«ÔWslă'“ůíŰ>$ LI"ŚIB ˝–ŘA-hŤ'(FDĚâ°ŚÖX†Öz`))O,Ik…e6Ţj †Łý•7)–áWâ źË őĘqk(e†¤V˘r2í4â8ĂÖ?<<zŤřd<â¤ä&@‹†â°čV%J!ëą=‚iF,é,Lb)ĎîwkFąĎ“XlČ,‰­HůŐŰój!ČŕäcŮúĚ}š›(m”šs uJߤßyŃŮ©{m™ÄR€ôŞfľÖÔł1íI3çî‘t-Aęŕ&™úfő™3ńY‚6OÂéčőËĺú1~ E¶g2‹ŢG'Ćd–‚ŔdE ă§§(qü(eJ?ť<Uv™……ĄŹ…‰,,}-˝ ífŃk&±0‰Ĺ´Ń&µĎDbé™`ÇU%±d‹GOhI[Úz|ł{ł’XdşJűUI Ć*hÚ×}Ťbśţ`‹ú•I,ŇW&± IB ˝–ŘA-hŤ'(FDĚâ°ŚÖX†Öz`))O,Ik…e6Ţ$ŁYî+ 7řts™ÎČ Ď:8 I?¬DĺdÚiÄq†5¬xxô!đÉxÄIÉ-LńW ÝŞD)d=·G0íĎ%ť…I,ĺůĂýnÍ(÷!±tĹŽôѶ·˝ďöj!öD6»Lb‘ÍnČĽčěÔ˝¶Lb)PzU4_sęŮö¦™sxĚHş¦ Lu p“L}łz‘S_ŐŢ\_É—)ĆĚbđ!çkÇ“YPB “YpH}, ?ľ%ŽĄL ă§“§ “YXXnfa" KßJďB»‰DôšĹ†I,Lb1m°IíŁXşIé×\ů$Ý-Kn :¶iôŽnŁEnÚ—"˘„tj$ëD/’'­tq´ýaË)ŚöUNml'LbQżRNśłíË^LbQ•LbŃ› ŞaŽ™ 1‹Ă2"ZcZ륤<±$­–Ůx»“X$‚R¢3ŚxÖÁaHúa%*‡ ÓN#N ¦€őŹ^#>Ź8)ą…‰G48NnÄć”'…¬çö¦ý±¤ł0‰Ą<¸ß­ĐEXşB#€žßr_%”řęĄ4Ít­‡Z_čJĄćÜBťą7"€Ř–pvę^[&±” ˝ŞšŻ5ölL{ÔĚą<f$][¦:¸I¦ľY˝Č©Żjo®ŻäËkLf1řóµcÉ,¨ˇÁÁ…É,¸¤>†ßÇŹR¦„ńÓÉS…É,,,7«0‘…Ą/Ąwâ Ý<"zÍ"Ă$&±6Ö¤öŮXŇ_‚ ôžĐbÜeőřć6{¬erK�YŇK d»®.€¬>M6ÁČ*=O©ŠŽ·î$Đ>Yßńß!°híĄăÄ$ő+“X¤Ż;’Ä"@ß@s)’–ŘA-hŤ'(FDĚâ°ŚÖX†Öz`))O,Ik…e6f‹ĆČ Ď:8 I?¬DĺdÚiÄ)`Á°ţááŃk„Ŕ'ă'%·0ńÇÉŤŘśň¤őÜÁ´?#–t&±”ç÷»5şHKWĚd‘ň«–+–Ř’™E±ľÔrřBWŇ(5çę´Č˝Ķ„łS÷Úî$K±c‰â°űĹ| ŞgcÚ«fÎé1#é0Ő)ŔM2őÍęEN}U{s}%_¦c2‹Á‡śŻCLfA} .LfÁ} őA°0üř–8~”2%ŚźNž*Lfaaą…‰,,}*Lb‘’Lb‘ón‹Ô ůB2C7Kř¦–ü¤’”˘Úç|Ľu'¶íë‚Ň}Č$YźúPŇřĎ=®Ůöĺ÷^_&±¨Ęíň$Őż›‰ ĚŐ0ÇLPŚĹa­± ­őŔRRžX’Ö ËlĚ$Ť‘žup’~X‰Ę!Č´Óă kX˙đđč5Bŕ“ń“’[xDăäFlNyRČznŹ`ÚźK: “XĘó‡űÝš]‰Ą+8AD¤üŇ1Lú˛±+Ž$cj[VUŇ(5çę´Č˝Ķ„łS÷Ú2‰Ą@yz󵨞ŤiĎš9·Çڤk Ć:¸I¦ľY˝Č©Żjo®ŻäË{Lf1řóµcÉ,¨ˇÁÁ…É,¸¤>†ßÇŹR¦„ńÓÉSĄ_É,,,ý+LdaéOŃn˝fQa “XLiRűŠ ±¤m»ŻĂ «“®GbéöSL�ŞäۧpEÇ®%!ë™Ä"·#ż?đú2‰EUZ’X4Ř…‹p5TC‚™ ć Šł8,#˘5–ˇµXJĘKŇZa™Ť™Ä˘1ňÂłCŇ+Q9™vqśL ë˝F|2qRr ŹhpśÜÍ)EâąDáÎÁ´?#–t&±”ç÷»5şLKZ҇Hů-_ţ“mŠô‰“`đ…®¤QjÎ-Ôi‘{#m g§îµeK "ňôćkR=ÓŢ5sŽŹI׌u p“L}łz‘S_ŐŢ\_É—)™Ěbđ!çkÇ“YPB “YpH}, ?ľ%ŽĄL ă§“§ “YXXn&a" Kß‹nR7-&Lba‹iMj_Ń$–´Yô_÷ #iŇfo<Ö}@b@é‹XoŰÉ“XÔŻLb‘ľŢ$ |±"\MŐ`&¨†9f‚bDÄ,ËhŤeh­–’ňÄ’´VXfc&±hŚĽđ¬ĂôĂJTA¦ťFgRCŔú‡‡GŻźŚGś”ÜÂÄ#'7ZsÇQüŃíLű3bIgaKyţpżĺú’}nŤŻŽÇŢSQ¶Â—”* ™ć'ąŕ ]IŁÔś[¨Ó"÷FŰÎNÝkË$–âĄ}m€v“WJ˘öLfŃ/c”ëÍúň‰=“Yô>Ú8ć1Ú¶QÇ\6Ád–žšë !Ö{őŃćuőLfŃaI8}!ă§“§ “YXXna" K_‹n27-"Lba‹iăLj_Ů$Eß9QÇČ-nŚoS‹ŇŽJű 4şö!Â$Di[GźúPŇřĎ=®Ůöĺ÷^_&±¨JW‹ć©(®&‚jH0TĂ3A1"b‡eD´Ć2´ÖKIybIZ+,ł1“X4F^xÖÁaHúa%*‡ ÓN#N ¦€őŹ^#>Ź8)ą…‰G48Nn´ć8އ-űú™ögÄ’ÎÂ$–ňüá~·füŢKâ7ŹRŚŻ^ĘŁ™´zâ ]IŁÔś[¨Ó"÷FŰÎNÝkË$–ň¤wN,ŚwŤ 48ę4‹_“PęŁĆqDN}łz‘S_ŐŢ\_É—)&™Ěbđ!çkÇ“YPB “YpH}, ?ľ%ŽĄL ă§“§J‘YXXúXČÂŇ·˘›ôM‹“XÄbÚ0“Úw#H,>­SČ-PźbŇyeQF×{•QŠX‚ę!ĺŐWä<} ô×tŻ’ôôŘN>Ť”„¬T=i,3‰E&±¨J&±čÍŐ0ÇLPŚĹa­± ­őŔRRžX’Ö ËlĚ$Ť‘žup’~X‰Ę!Č´ÓSŔ‚)`ýĂĂŁ×OĆ#NJnaâ Ž“­9ŽăaËÄľ~¦ý±¤ł0‰Ą<¸ß­ż7šÄ’•ě+ŠđŐKY6Óľ.řBWŇ(5çę´Č˝Ķ„łS÷Ú2‰Ą|éť Łä]› Ž:Ýâ×&”ú(…q‘S߬^äÔWµ7×WňeŠM&ł|ČůÚ1ÄdÔ‡ĐŕŕÂdÜR ĂÁŹo‰ăG)SÂřéä©Âd–í.LdaéKŃMö¦EI,Lb1m”IíŰŽ$EOěÇö9odó§m·eűÄ"ëSJB˙ąÇ5ŰľüţŔëË$UąMI,T­¦?ňÍŐ0ÇLPŚĹa­± ­őŔRRžX’Ö ËlĚ$Ť‘žup’~X‰Ę!Č´ÓSŔ‚)`ýĂĂŁ×OĆ#NJnaâ Ž“­9ŽăaËÄľ~¦ý±¤ł0‰Ą<¸ß­żŰŤÄ‚I–LB'–dć_Q4ľŮ_WUŇ(5çę´Č˝Ķ„łS÷Ú2‰eë¤wŽ,ŚwÍ 48ę´kľÁÝ«ŹRÇ9őÍęEN}U{s}%_¦e2‹Á‡śŻCLfA} .LfÁ} őA°0üř–8~”2%ŚźNž*7?™……Ąź…‰,,ý+Řâ®Y,ÄÂ$Ó™Ô>&±¸oÝfż€ö1‰EÖ§>”„4ţsŹk¶}ůý×—I,Ş˛�‹Ć_Ů"¨Zbýµ 5ž 1‹Ă2"ZcZ륤<±$­–ŮI,#/<ëŕ0$ý°•Ci§ljÓ°ţááŃk„Ŕ'ă'%·0ńÇÉŤÖÇń°eb_?ÓţŚXŇYÄRž?Üď֌ߛĒ'z d)E‘Ut‚/t%ŤRsnˇN‹Ü@lK8;uŻ-“X¶^zçĘÂh�y×®@ŁNżćÜ˝ú(…q‘S߬^äÔWµ7×WňeŠU&ł|ČůÚ1ÄdÔ‡ĐŕŕÂdÜR ĂÁŹo‰ăG)SÂřéä©Âd–í*LdaéOÁuÍ"Á$&±6Ƥö1‰Ĺýxë6ů´ŹI,˛>őˇ$¤ńź{\łíË^LbQ•LbŃ› ŞaŽ™ 1‹Ă2"ZcZ륤<±$­–ŮI,#/<ëŕ0$ý°•Ci§ljÓ°ţááŃk„Ŕ'ă'%·0ńÇÉŤÖÇń°eb_?ÓţŚXŇYÄRž?ÜďÖŚß~ ±äůęĄJ÷‰/t%ŤRsnˇN‹Ü@lK8;uŻ-“X¶H„NE'#×M&łč—;Ęui&ł�’—Ś9&ł`>„&łŕ>ú X~|K?J™ĆO'O&ł°°lGa" Kß‹iq` “XLbRűÄâ~Ľu›űÚÇ$YźúPŇřĎ=®Ůöĺ÷^_&±¨ĘâH,·Ą‰ j‰Ô‚Öx‚bDÄ,ËhŤeh­–’ňÄ’´VXfc&±hŚĽđ¬ĂôĂJTA¦ťFgLCŔú‡‡GŻźŚGś”ÜÂÄ#'7ZsÇĂ–‰}ýLű3bIgaKyţpż[3~™ÄRžż®Ş¤QjÎ-Ôi‘{#m g§îµeˋЩčdóúÉdý˛Gą>ťOF`2‹ÉGÇ<FŰ6ęË&ĚŇSc]‚!ÄzŻ>ÚĽ®žÉ,:, §Ł/dütňTa2 Ëv&˛°ôµ&±0‰Ĺ´&µŹI,îÇ[·©/ }Lb‘ő©%!Ť˙Üăšm_~ŕőe‹Şd‹ŢLP sĚĹY–ŃËĐZ,%ĺ‰%i­°ĚĆLbŃyáY‡!釕¨‚L;Ť8Ά€őŹ^#>Ź8)ą…‰G48Nn´ć8އ-űú™ögÄ’ÎÂ$–ňüá~·fü2‰Ą<]UIŁÔś[¨Ó"÷FŰÎNÝkË$–r|ą¸čťC‹Ľ2ćkZ ÁQ§eó î^}”Â8ŽČ©oV/rę«Ú›ë+ů2Ĺ0“Y >ä|íb2 ęChppa2 î©‚…áŕÇ·ÄńŁ”)aütňTą É,,,},Ldaé[1-Lba‹iLj“XÜŹ·n3_@űÄ"ëSJB˙ąÇ5ŰľüţŔëË$UÉ$˝™ ć Šł8,#˘5–ˇµXJĘKŇZa™Ť™Ä˘1ňÂłCŇ+Q9™vqś1 ë˝F|2qRr ŹhpśÜhÍq[&öő3íĎ%ť…I,ĺůĂýnÍřeKyţşŞ’F©9·P§EîŤ ¶%śťş×–I,ĺř"‹Đ©čdózĘdý2Hą^ťOF`2‹ÉGÇ<FŰ6ęË&ĚŇSc]‚!ÄzŻ>ÚĽ®žÉ,:, §Ł/dütňTa2 Ëv&˛°ôĄ&±0‰Ĺ´ń%µŹI,îÇ[·‰/ }Lb‘ő©%!Ť˙Üăšm_~ŕőe‹Şd‹ŢLP sĚĹY–ŃËĐZ,%ĺ‰%i­°ĚĆLbŃyáY‡!釕¨‚L;Ť8Ά€őŹ^#>Ź8)ą…‰G48Nn´ć8އ-űú™ögÄ’ÎÂ$–ňüá~·fü2‰Ą<]UIŁÔś[¨Ó"÷FŰÎNÝkË$–r|ĺK�y7¸{çÔşę4VŢşĘdýrHąnm>Vm{Í ^© íş “Y3ÝřIĺ ČŘäŚSýE|éĆ“YTběHýCh;>2ľ„Á$§íŢăG)SÂřéä©Âd–í LdaéOŃLţLba‹iĂKj“XÜŹ·nó^@űÄ"ëSJB˙ąÇ5ŰľüţŔëË$UY"‰ESŹ˘DPµÄzjAk<A1"b‡eD´Ć2´ÖKIybIZ+,ł1“X4F^xÖÁaHúa%*‡ ÓN#ޤ!`ýĂĂŁ×OĆ#NJnaâ Ž“­9ŽăaËÄľ~¦ý±¤ł0‰Ą<¸ß­żLb)Ď_WUŇ(5çę´Č˝Ķ„łS÷Ú2‰Ą_vbľÁÝ;·ÖUKČ8ćő•É,úe‘rýÚ|¬ÚöšĽRÚő&ł fşń“ʱɧú1ŠřŇŤ!&ł¨ÄŘ‘ú‡Đv|<d| IN۽ǏR¦„ńÓÉS…É,,,7ZȲc„I,Lb1mtIíc‹űńÖmÚ h“Xd}ęCIHă?÷¸fŰ—ßx}™Ä˘*™Ä˘7TĂ3A1"b‡eD´Ć2´ÖKIybIZ+,ł1“X4F^xÖÁaHúa%*‡ ÓN#ޤ!`ýĂĂŁ×OĆ#NJnaâ Ž“­9ôŢv9žbďŐ´?#–t&±”ç÷»5Ł’I,ĺůëŞJĄćÜBťą7"€Ř–pvę^[&±”ă‹,’+ó îŢ9¶ČĂ2_ó Ž:m›op÷ęŁĆqDN}łz‘S_ŐžvCľ«×/Ź”ëŘůd&ł|´qĚc´mŁŽąl‚É,=51Ö%B¬÷ęŁÍëę™Ě˘Ă’p:úBĆO'O&ł°°ÜHa" Kź aă!M<ŞOěS©“Xä“Xä/LbŃnÖ h“Xd}ęCIHă?÷¸fŰ—ßx}™Ä˘*o^ .‚¤˘•TĂ3A1"b‡eD´Ć2´ÖKIybIZ+,ł1“X4F^xÖÁaHúa%*‡ ÓN#ޤ!`ýĂĂŁ×OĆ#NJnaâ Ž“­9ôŢv9žbďŐ´?#–t&±”ç÷»5Ł’I,ĺůëŞJĄćÜBťą7"€Ř–pvę^[&±”ăËFÔ©Ë|»w®-L€ Žy˝e2‹~™¤\Ď6«¶˝ćŻT†v˝†É,™nü¤ňdlrĆ©~Ś"ľtcÉ,*1v¤ţ!´_Â`’ÓvďńŁ”)aütňTa2 ËŤ&˛°ô˝0‰…I,¦Ť-©}Lbq?ŢşMzíc‹¬O}( iüç×lűňűŻ/“XTĺÖX4U*AIE+)¨†9f‚bDÄ,ËhŤeh­–’ňÄ’´VXfc&±hŚĽđ¬ĂôĂJTA¦ťFgECŔú‡‡GŻźŚGś”ÜÂÄ#'7Zsč˝í8r<ĹŢ«iF,é,Lb)ĎîwkF%“XĘó×U•4JÍą…:-roD�±-áěÔ˝¶Lb)Ç—‹¨Sůwďś[�óşËdýrIą®ťOF`2‹ÉGÇ<FŰ6ęË&ĚŇSc]‚!ÄzŻ>ÚĽ®žÉ,:, §Ł/dütňTŮĆd–>&˛°ôµ0‰…I,¦ -©}Lbq?ŢşÍyíc‹¬O}( iüç×lűňűŻ/“XTĺV’X4';…Š ©h%Ő0ÇLPŚĹa­± ­őŔRRžX’Ö ËlĚ$Ť‘žup’~X‰Ę!Č´ÓSŔ‚)`ýĂĂŁ×OĆ#NJnaâ Ž“­9ôŢv9žbďŐ´?#–t&±”ç÷»5Ł’I,ĺůëŞJĄćÜBťą7"€Ř–pvę^[&±”ăËGÔ©Ě|»w-L€ Žyýe2‹~٤\ß6«¶=“Yô>Ú8ć1Ú¶QÇ\6Ád–žšë !Ö{őŃćuőLfŃaI8}!ă§“§ “YXX¶ZČÂŇ·Â$&±6˛¤ö1‰Ĺýxë6ĺ´ŹI,˛>őˇ$¤ńź{\łíË^LbQ•[LbŃÔ­8$­¤ ć Šł8,#˘5–ˇµXJĘKŇZa™Ť™Ä˘1ňÂłCŇ+Q9™vqś ë˝F|2qRr ŹhpśÜh͡÷¶GQ™Oű’EÍŰV~­$żĺ(&±”ę1ĺwk|őR7hż\Ň(5çę´Č˝Ķ„łS÷Ú2‰Ą_E:Ą™opçžO ÇĽ3™Eż|R®s›ŹUŰ^sW*C»ŽĂdÄL7~Ry269ăT?F_ş1Äd‚;R˙ÚŽŹ‡Ś/a0Éi»÷řQĘ”0~:yŞl?2 K? YXúRÄÂ$Ó–Ôľť@bi‰H‘8"Śe)I:~Lb‘…I,˛25(z0č™Ä˘¶Ďp2Z’ŠVRP sĚĹY–ŃËĐZ,%ĺ‰%i­°ĚĆLbŃyáY‡!釕¨‚L;Ť8N††€őŹ^#>Ź8)ą…‰G48Nn´ćĐ{ŰŁ¨‡Ř;1íĎ%ť…I,ĺůĂýnÉ dK‰ţşŞ’F©9·P§EîŤ ¶%śťş×–I,ĺř*RÔ©Í|;÷ĽZČ8ćőÉ,úe”r˝Ű|¬Úö†›·HŰŤK“YT3ÝřIĺ ČŘäŚSýE|éĆ“YTběHýCh;>2ľ„Á$§íŢăG)SÂřé䩲ÝČ,,,ý+LdaŮ"Í9ŞOěS©“Xä“Xä/K‡(F:äH‘G¶śÄٵZń—™‘!¬V ľáÓJ×IĹ` (›cť}O…ő‡±Ý*ҶŽ>őˇ$¤ńŻm7ň5Ó÷Ćö!mĂő ×‹Ô| čÁ g‹Ú>ĂIh™Bô)¨­ńĹY–ŃËĐZ,%ĺ‰%i­°ĚĆLbŃyáY‡!釕¨‚L;Ť8N††€őŹ^#>Ź8)ą…‰G48Nn´ćĐ{ŰŁč–ŠiF,éîŰo°•ä·śĹ$–R=¦ünŤŻ^ŞtźřBWŇ(5çę´Č˝Ķ„łS÷Ú2‰Ą_Ţ"4*IäŰ3™Eă#ú ÝďęőË)ĺşw>É,&mómۨc.›Řľd–‘Ř;:ŚŘçŹ&ł€ĆR ĂÁŹo‰ăG)c7~˛8čřéä©Âd–­`aéwȦŐ'ö©ŹT‚I,r‚I,ň— ‰%Ci?őDĆ€ ˝Ů ş0HťÄʵ'‰%ąer ţćG€ăŁĐl řŐś€˙đSmh‘Ş‹ÍńÖmľ…®:=“Xş JŰ:úÔ‡’ĐťäÚgúŢŘ>¤m¸ôz‘š=ôřÉX~űÄR¸} jAk<A1"b‡eD´Ć2´ÖKIybIZ+,ł±Í…z!Z«€‚$Kű #/<ëŕ0$ý°•Ci§ÇÉаţááŃk„Ŕ'ă'%žĂ„$ ÄŇZyL”梎ăŞ1íĎ%Ý}ű ¶’ü–slÄRŞÇ”ß­ńŐK•î_čJĄćÜBťą7"€Ř–pvę^[&±”ă«éî÷ŐýW RŮ˝‹_ÝLPíăólźBôĘ´qzI É,N¤ęőęÓ 4mť2őŃÔ7«—íóŰ-âÚčëŰĂéÔ7şž‰ĹČ~T¤/‘šŹUŰ>¬O HŰŐń`®“qüH>ŇŞ }˝—0~p?™ĽdĚá}™ú †1Úń•ŞŻ:F”v§ň{Ú8íŐGń‘ŞOŞíč •ůŃ{áŹÝ};TBĚ÷®/ÂßţćKđÁŇJĘ>ü´Ż×Šôey¤^rŰĺ1šŕčb'9ľú>”ę“wĽ2Çźă‡ďR},@pđ9¨ÄńŁ8ĄŤ]ě ăGń‘řŇŽźTťĄń†xGçĂř\ĹÂŇOÂD–ţ‘ťÇŤ>±O}¤F=“XT} ·×¶ßýĺ·/§?Đv9íÎ$±ţh%·P†ÂÍĹĂ{gŕ±}łpŰ® Ř54ă5X­7`acΆë/\†WÎĎĂJŁŮC`ÄţĐ´#ÚXEOcůëOŢ“X"©VřăÜo_ľßżĽlĽlŽ·R&±ČÂ$Y©çrb[=Ö™Żšö€šŹw¦?¬ÚwcI,šŞ+D'‚ZĐOPŚĹa­± ­őŔRRžX’Ö ËlLąh.:FCáÚúĐ÷ÁcŹ<·9 »&'a|lV×Ö`aq Îťż�/ď5xĺŐ×BÝz\&Đ^Ą˘U]PŚXů%HJuÔ#žup’~X‰Ę!Č´ÓăěgX˙đđč5Bŕ“ń“ ĎaBbi­<&JsQÇqU‚ögÄ’îľý[I~Ë96Lb±“Ę˙ň˙‚ĘńcP”©ÝĐřŰ˙�ü%3˙–ÔĄµ˙ç?€ŕâyI×řĎ˙´nż“¸_p˙=TQľŇfĚ4`+LbŮ.>·ĎZKTäf_¬Ž˙ëjĚ7¸Ű*ÚMŢîNTăYĹ‘Ě4uNőęÓ 8ĂM^©>šúfő˛}~»™Ě‚÷cWţéŹ?OÚ üýçß‚˙xě±N2BŞľ?}×Ařż<sżäďąÓ—ŕo|ůUč72Ë'ď‡?qĎ˝ôS“đů?ţËßĚŘçŹ#AÓv&łdŤ ă§§(qü(NÍă§­ÇçířQ|$ľn8™……ĄŹ…‰,,ý+";Ą}bźúH%Ť z&±¨ú@oŻmľëËo_N írÚťIbýŃ!±DŚűO9�?wďŃĽ’•ÉPýž‡§ÎÁZŁ˙ţ­÷á÷Ţű�ÝÁĚÎÇ›ÄŇÝL†u¬„‡'Ǩ[vŤÁ«—®…¦˘¶Çu oĄLb‘…I,˛25(z0čŐcťůŞi_�¨‰ńxgúĂŞ}LbŃ› ŞaŽ™ 1‹Ă2"ZcZ륤<±$­–ŮJb‰˘ć‡>öřąźů)śśPl&'&âżĂŔ“O<këëđ|á·á÷żôhĆrťŇf‚bDÄĘ/!çT«Uřéźř1Ĺę?ţćď@«iŠëŕ0$ý°•Ci§ÇŮϰţááŃk„Ŕ'ă'%žĂ„$ ÄŇZyL”梎ăŞ1íĎ%Ý}ű ¶’ü–slÄŇ/’™oD3EiŁÔś[¨Ó"÷FŰÎNÝkË$–r|•"QµĚ˘šdę›ŐËöůíf2 ŢŹSĂ5řđiĐÉgŽîkYČu"t7äAĆé'2KD\ÉĘťÓ“VdËÄ|ę–C®óĺµuřŤ÷OeJ3™%ožc2 ć#ńĹd–r„‰,,ý)";•}bźúH%Ť z&±¨ú@oŻmľŰËo_N írÚťIbý‘XÂR Uí‰Ă–9 Jô.Ď˙ôÁ»ŕ‘˝3đýö«Đčî÷:;źbH,oîZŃ˙­&Ľyé<0—ü2 :yíÂŐ¸ĐsG8ŢJÄ" “Xdej>Pô`Đ«Ç:óUÓľ�PăńÎô‡Uű¶ ‰ESçB„-¨­ńĹY–ŃËĐZ,%ĺ‰%i­°ĚĆTKµRżňç˙,|čńG€*#ĂĂđ'˙膇Ľ~éü§Đh6;dú@#"V~‰Ěń‹Ú]­ŔĎţôO*–_řÍß óq{ČńGskEÖX‰Ę!Č´Óă¤gX˙đđč5Bŕ“ń“ ĎaBbi­<&JsQÇqU‚¸Żďţm`Kyţpż[3îŠ$±T*)Aŕ‹—];ˇTÁꋯĹE˙Ş(_iłf°&±lźŰg­D%Ş“YT“L}łzŮ>żÝLfQűńS·ďŤź~­“Ç÷OĂÜŘ\\ٰ¨ŚÖwzxHń'˙ȲČ,ď/,)ÇŻ-*>MŚĂź˝˙.Iýć•k‘Ąí‹É,赝É,ŹÄ“YXXŠ— °°ôˇČSx˛j ±PtF=“XT} ·×¶ßĺĺ·/§?Đv9íÎ$±ţč<‰%zeĎ_xä~+KZž›żňřýaű[ťţ…‘Xb¬žť€˙űóßďśľ�kőś]X†üÜ+đŢŐ»ă­T€I,˛0‰EV¦ćE˝z¬3_5í �51ďLXµoX"“Zo&(FDĚâ°ŚÖX†Öz`))O,Ik…e6¦’X˘ż˙âĎţ)+KZĽ˙^ř î?í`µh…Ą©ÖÚP"sü˘Îé´µŽő"&¦šplę†Ô|°•Ci§ÇIϰţááŃk„Ŕ'ă'%žĂ„$ ÄŇZyL”梎ăŞq_ßýŰŔ$–ňüá~·fÜń“XĘów#}1‰Ą_~>·rľ>o’y$sž/©Ą&ŕ×dU o¶qĚë·á|ľ—ŔŻť(őQ ă8"§ľY˝Č©Żjo®ŻäË4w®Ź›ŹUŰ^wж—Fa9~ zâŠůşpt˙ůÓwĚe�)uŇ·=7"3őą)×őÇ]@Ć&gśęÇ(â«3†N..ÁŢ; ×76aŁŮ„×çŻÁoľ˙A¶ UŞŠn°Z5¶]c˝§&ĆşCő^}´y]=ĺ(eüĐć9|<d| IN۽ǏR&çžQ¬´>†ÓÉS%0ŻĄHŰŤń®[“t}ČÂ҇ÂOdaésa‹îäC·A4mLíŰ·sH,ĐjÁ{¦á™Ăű!+őf ľqň4üŕâ<¬lÖa×đťŮ »ýÔŞ2źđ#‡÷Á—Nś7ćŻC+zĹOâNmźxűz´ßTű‚ eŔ•µ řű_~1¬v3¶Ż„ř 2”ĂqßTkŔę=5‘úPiТ•)dŹ‘Ä"2··ş lc5eßR(‚�ďíÇ”HŰ:úÔ‡’ĐťhäÚwűŐçŐ—I,Ş’I, ­‚ ć Šł8,#˘5–ˇµXJĘKŇZa™Ť©$–Čđ{>őa%ż^oŔ·^řĽőö;°Ľ˛ »&'áŽŰo…g?ň4ÔjňiĎÓ~ľňÜ7ŕÍ‹kfü¸ 4ŐzPJhú<Z×Z-m^K@ć—?ÖÁaHúa%*‡ ÓN#Ž“ž!`ýĂĂŁ×OĆ#NJ$<‡ IĄµň(ÍEÇU âľľű·I,ĺůĂýn͸+Ä|î硲±†g†kVóţ%E]ůă‚™YĽČ@ Ü$3˙–ŢĄ[9Wřň•6+`¦[aËvńą}ÖJ’´7ű€íÓřÉ,I}łzŮ>żÝüd–6Öޱ!xd˙”d{ňú*Ü:5*é~ü®ýđż˝vÚˇNú¶çFf¦ľ7ű“Y®¬oÂ+ŻÄ]ąĽŞîI†"KĄ˘ń‘řâ'ł`> ×v~2 ć#ńĹOfaa)NČÂŇÇ’¬’čT.¤ŹT"ĐčÁ g‹ŞôöÚöỺüöĺôÚî §Ý™$Ö˘WńřĆŇ9�YYÚŘ„żő;_†–A®ç{đoľ÷üâ§?‡vMHe~ř–đÚĄkT@Ýuźţ‰oÝq zą´.‰ńăŽ+ŃIfµăŁŇľ‰hŽwgđµş,9‹0E\· [aéµHÉ—îM§öŕ;›C!oúĺ ¤•‘}Šřµ»•ř‘ŹQúDPôú"˝ŁÄÇr{ă)ĐvwÇAŻ×ö “X2u` ¦Wۧ›»’ŻAN;n¬‚Ƥ֛ Šł8,#˘5–ˇµXJĘKŇZa™Ťm.ÔGOPůŘ3O)úĺĺřüßű‡đÁŮsJěüĘż˙5řď>˙_ĂÁ2Ůôă}Ţxó-0ťö#—c3őhi”#şö¦JŮîShâšÎj…űöÓe*˙SgĹ­TwĂ(ŇÖAc޵Âéővqśô ëÂśí…k¨Xx’(Kkĺ1Qš‹:Ž«Ä}}÷o“XĘó‡űÝšqW‰%–‡Ł÷ áyÍ&®?r;ŔţhVUtcě$»ľ@ɲ•sEq{(__iłf°&±lźŰg­Äż‘ íj3™E5ÉÔ7«—íóŰÍd– ~ŇJ¶ř÷/.Ŕh­“\şrçîq¸mj N\_q¨“ľíąš©ďÍLfą¶¶ż"čŽđşz-Ü‹\^[‡cńÓĆńńŁCۙ̂ů€^ۙ̂ůH|m-™……Ą…‰,,}*Éęn[„ô‘J=ôLbQőŢ^Ű>|7—ßľśţ@Űä´;“Äú#]ľój‚[wMBVľřÎ{đÁâ •jBéĚůŐuřĺ^…ż÷égĄ2wLďjot"Ü HZŘݢŠôŹÎ톏Úžřě‚ŮŃářÉ.«őś_Z…7/_‡Żťşú]ílŕäăĄ˙§ź|ŽLŤK~?˙/Áó‹É¦L�¤ (CáIÁÇoŮOÚ·†ew ŐâW\_ŻĂń«Kđňą+đÜÉK°×˝S4ŐިMţ‰ŁđwË-˙úďľďĚ/Áđ@~úŢCđôá=ph×h\‡Ë+đę…kđ›ÇÎÁé…č‚f«Ó$V[í›|‘ďś‚goť…»g'ÂĹa űg%~ŤŇĽvaţŕ˝KpęÚ@§vĂLDŢZńç]3c𩣳đŕţ]p`b†Âş.o6ŕÂŇ:|˙Ü|éřex˙ęj»˝ęOâ;íUzcىe. sTv,}^}Ťôz‘š=ô™ł(ő«¦} &ĆŘÎô‡Uű¶'‰EÓ„RE4&µŢLPŚĹa­± ­őŔRRžX’Ö ËlL˝hŢ~K+îő[ŹVňżô•ŻÁ™łçâ9=¨t׉ö1şrő:üËýoáďţíż!•ąý¶[ {9÷ŹýěOĂO}öÓRţ™sçáo~ţăď:Ż řôŹ|ţôźüŁ’~ţĘUř«óóť‹AďIfŁĂĂđ‘§? >p/ÜrřLŚŹĂĐĐ`LÂąríüŕŘ;đí^„÷NžĘ:‚żö˙|äÉNţÝżţç˝ďżóű_†ýoUŞs—42ł{>ţĚGŕáď‡ű÷Áčč(lllŔµë×áíwßďĽř Ľúú›˝ş+c*Ô˙˙ýßĂňîµk×á?˙«ż/}öíĎýÄgŕˇî]“°°°ßyů{đż˙Ç߀Ąĺ ëĂO< ?üě3pôö[all ®/,ÄOÓů˝/}Ţ}ďDěíw×Yΰţá!ĚŮX¸†Šĺç0!‰±´VĄą¨ă¸*ALű3bIwß~­$żĺ&±#Ťđ+@ď„˙7šPEËÔAln€…¨Ľú?x ‚sg X^Śźö#cĐÚ;â®{ˇőřÓ�““V€ŕť@ĺµW rú$ WC? C ˘§ĹÜz4ÄţC€µÍKÂşWŢü>TŢýp`e ‚őđÜ}p`bZ‡oqďĐĽďA㍠&±”ăËĎçVÎĂ7ÂçöY+MÂdĐÔ)SM}łzŮ>żÝ;ťĚňcwŞŻúŢů…đÚí Dd‰äłwîňâ{ä:훆źżď0|ô𠚍Źćůĺuřjx-ö{ý$,…×)óä·ÎÁ˙íKşµp˝ţáóeh¶Ôcű˙ţÔăđôÁ=’îOýÖ·ŕí+‹J}áĂ÷ÂĎÝs‹d{ěę"ü'żýM…Ś0R«Â§o;Oíßwďž„©đĽ8zÝĎŇfN,,Á÷.]…/ž<§—µăçGöĂ?zćqÉß÷.]żřĺoÇÇę·ćS°{Xîó®Ü29ßúůźęĄ˙Ö7ľ Ďź»€Xpwxťţ“‡ÂŁł{`nt&kP×ň8ž ăüx>ĽQď<=•É,Ycźôm—ęCçv,™……ĄŹ…‰,,ý+BYţzúÔG*hô`Đ3‰EŐz{mű\nt'uÔÚŁírÚťIbý!zď|đZ”ÉYŮh„©"KüęžjŹ×=ÁĄTŕó×ŕí…d“ęęŃŻ©Ó!&Ę´ýě‚_xňA¸c·Jš™7Ň3»ŕ®đďg‡çN]€ń˝w`ą.˙®úÝŤčPşŤŹOqö=şţúSáM©áAĄĚÜx5ü†Ź™…?ýčđżĽř|íäe€č‰/"AŠĂ‚ ňJ¨ßžĐýĂ}$<)‘ň"BKô÷cw€ţÝăđ[oźďmň‰čÝ$Ü7>ç‡î»öL(~&‡j0ą·÷îť„źč0|ůř%ř'ßy–6š© }ç�…š¤3R«ŔőŃŁđĂw¨ŹľŢ5\‹˙"˛ĚĎ=|ľyň üχë]<�PžL#uvw(!;P ĚEaŽĘŽĺ@ŁĎTAŃÚŔ$–ŚŰöéć®äk�ůs”k D4&µŢLPŚĹa­± ­őŔRRžX’Ö Ël,,±´×©ZM}íŔĆćfĽ†Fk«Dd‰Iˇ~đö;đK˙ă?‰uAL  Ńlônî}íëßR,‡ě‡űçŕ\xA«˝D¤ćډő©=®Ô%ŠžŇ#±„ëč'?ńqřůźýŚŹŤ)ö»vMĆ·ßz üÄŹ} ^zĺUř§żüŻ`uuµÓr°î÷ěÓN˘ŞîÇ?äg~äSŔŃđb\ô=±ćNź9 ˙äź˙áĩӝ˛AŞÍB9pĂ#Ăq_<ýáÁ_ý NÂź™Ů źýŃGz�ţö÷cŇÎĐŕ üWĺ/ŔăŹ>$áĚî™ ˙ž†g?ňüű_űŤüŇŢĄçjÇYΰţá!ĚŮX¸†Šĺç0!‰±´VĄą¨ă¸*ALű3bIwß~­$żĺ&±‰ßBŰëµ°Ş)ÓŇĽ*/+•ăoCőW˙ŔₚąĽ•Ôňţ»PůßÖŹţ$4?öÉ\ĚŕÚř·˙‚N©yk«ś őá_ĺ_ÖŁOBăg~`pŠčÇʉă0đkżÁüEÔ7„ŐK፴—ż Őą}P˙ŁÄ>őőĹLb)Ç—źĎ­ś‡o„ĎíłVR„É, ©S¦>šúfő˛}~»w*™ĺĐ®¸oVľýî{çŻĂ‰!řČá)ď3G"‹¦NřŢCđ Oߥ\{ŽžęrŰ#·ÁO„×M˙âď˝ yňÂŮ+1ᢖzšÚČ@î Ż3ż5ż őa%ěä‡÷N)ŹÍí†cWňÂĂ{§Űožą”6‰˙˙©Ł‡ŕŻ<vO|ť6+Óáuçéá™ĐÇ üg…ß;q~éĹ7a­Ń@ĆOÁ’9ć3ĂĂđů?OíŰ«„ýwdb<ţűŃ#‡ŕâęüRx˙í íőťÉ,Ycźôm—ęCçv"™……ĄźĄ,,ý(Ś?Őë,F=“XT} ·×¶ĎĺFwRG­=Úî §Ý™$Öřţ%>PWVŐG ňÎŰ`zl$&±T"2Ku ţ« ÔÂżh„•o}pľ}ć<|óô…đűExůÜ%i·Ű%±Ü?ł ~éG>Ś’X0‰žžňŹ>ń8LÔÚ•ÝWáCtlÚý™X>w÷!řo?ţ0JbÉJtň ĎÜňˇ[ŰOH N«‰ża,< űűźzX!±¤e Ľ)ů—žşžú˙ł÷�–\Wť÷©×=9çIŁśeĺ`K¶eă`c’I Ë ě‚—°°»dĂÚää ĆŘŚs’,[V´$+§ Ňhrα{:ÜŻÂ UuCÝŞzŐÓÓóűI=ďŐ©[çÜ{ë† ˙WuÎâö“iT§bş"–«WĚ“?{ŰŤF‹‰×_Ľ\>řÖkdÁŚQăŞ[ Ń·HIJlö´ĐßµF‹‰WžżDţćÝ×ÉŠąÓ2ĺDÄ’·‹Ăž;kŇżZĘ1‰łoçęŁTů&ąĹR–&P—ŮžLů$ňôŮ?_NŹĄ}9J[Ă—¶TÓWĆZĘ—;±Şę+üş˙Ŕ-Ĺë_{»,Z¸0±‘ ĄŐŠ…¤ťż±±1yč‘Găżo>ţ…źŹ>ńt×é¶íŰeý 4ż·Üx˝V’ŽeŃÂrŮĄkëîľ÷ţîüÍ/ßőö·ĘŹ˙ČE,&nşá:ůßżúË2}úôn¬2•Ż$5?†ß[aťüÂĎţ”|˙÷|—&b1qî9gËo˙ĆŹĹ'±7•ýË3sĆ 9oőjů/˙é'­ţW­\!?ňß yáç~J±¤‰„+ßű®wČíŻĽµż[®*8:lýîˇÜ«kř2[|}ŐđWa@R}ôeMUc toZ±]5@őyĽ~±4ĎwbÚ]Ó"CÄTÜú´î˝KţöOÍ"–Axkŕ‹ź’ÁŹ|HdĚ.’imX/ň{F‹1ýăÉ´?˙ä‰-yJ–3xaŤ ţÝźE,Ćô»vĘôżţ€;·eĂöu—ú¤÷a¤‘˛ b™,1'rěŻKöZš9Ůtł2ű2^;é¤qĆéůqĎóŽóţî‚ů‹–mcłU߼]äWOďÎo&–kŚńşŽîŢWIzŰ]d1–Ý9…*sűyóĹşŕáĹÇd߉“ňÍ­űe,×(Ďš7S®Yľ@Šňô}W­–˙ńŞËŤ? ě=íĺŹßx˝Ětßî›7}P6:®ŮŻ_±HkŁ—/™/ł§éçw·¬Z’N3;<Ľd‘~=öĐđH¦ ý§ë/“˙yëŐFKžHHóÖ Ď‘ż|Ă+’˛çöÇ‚éúÓV˘yvŢňżőą`ĆŚ^&CΚ3[>üĆŰŤ"Ń“ZŢ˙ĘWČ·Żî=ÉMyöőnúî?~}Ç=¦ř]+µ÷•Nă1Î)óĆŮXĘ‘¤ ě™üdýźSúÜk ¬1”ÉO{ťNŕžű e7ŹAe˘ d)‰k˘˛ťŘ&[ł‹n?“E,É÷G·éŹ \>w¶|đ­Ż“w^qˇ¬ś7;ö´ZÉ_[؉Z‚HŘ2=·Äö =<Gbđ¦Ď‚đDăĂýąÓÍú–*–ŐóçČąĺŠĐÇXčj<yíMG\’÷ˇĆ¤#‰W‡iŻ]±P~ě†K´GűGŹ›Ü~řl=tTF ż¦űľkΗWź»T¤łs#ÎtěűŻ»@Κ?;•űŃŘĎÝzIň+ŠřŐýĄűÂň«Ż»RćÎ0ß@ły<oŃůĄW_çS©ÎŻýŁĆäĽö˛pýlm›ĂC#˛aďŮ\öŇđÄńwŢ|Ą Čx÷¦)3™ ){ęC[°ť@¦Ď Űúpl˛ #bIO‹ăMQ—ŮžLů$ňôŮ?_NŹĄ}9J[Ă—¶TÓWĆZĘ—;±Şéë±'žŇlŃÓ<ţđwţ—Ľý­o–•+–Ĺ˝ š»˘‹_‘#ţh‹[Úópôd– —§Żßsźć÷ĺ7ßI2"Žd®ŚžĆ’źź}~ŤěÚ˝;™ŁÂ9ŕ¬đÂ×»żëmšßáá“ňčăOĘ7î{@Ö®A[˝ş'ž$s]ňş˘-[·Éž={ĹÄÎ]»â'©Di˘WýtZj”‡÷|÷;äĺ7Ý`ĚCô:¦ÝˇĎüÜ R"ńËŠeË’ňvü)˝Duđ“˙á‡d``@\ĽćU·Ę[ŢřząéúkŇüŢwĄĆËJV\¶~÷PîŐ5|™-ľľjř«0 ©>ú˛¦Ş1Pş7­Ř®úĘ}ökÜ.ĺˇ^ck(n3űKŁSqë¬_#_ř÷äBĆćăÝÖłOČŔW?oŢćČ!řč˙Kž|RÂg°k‡ ~ěĂŮĽ¨rµŚŤÉ´O}<Üh1/ ĎGoşU‚ËŻ 'ŕÜůţĐLű—Źt+K3±ęĹśČqřTĜȱż_ fŃ76űQůÍŰUA~őôîüfbąĆšÓDĚňĂk…ֆ׏ť•m‡‡dÓÁă†mV:ëńâEsĺ}ݏT|8{Ţ,yçeç+żűN ÇOSÉsÓŞĹ’żßqăĘEFW×,_Ř­ĄNú«—-ŚĎ˝ÓDOŁytçľnÂŰĎY.?ň˛ 5ŃuĺmGŹË¦đ:óńQýőH—/^ ?qőĄŮ€ě>1$» ?:í®?>Ôý;‘Š^)ßşí¦ř‰,y†çĐ›ŽŤźŔ’ĎJTţ_ľáşđuO`%b+†˛›Ç ‚˛LAxµś¸mî¶ÉÔ4)Ű&w“KvݱDiż´ţ%yóĄȲ9YńĂ™3䇯˝"ţŰ~ä<»ç@xŇpPžŮ˝Oö†ľ"?4ąë‹X’cA÷×Ď?}Ă2Fö‰(ŃSC>öřóňĺ5/ÉÁđ ű¬ůsĺ]×^&oĽěüLşĎZ*W…'Ďě>I˘_¨™Ęß§SÉ—0öĚđFßĎßzĄvřxçÚMň·>+űO$BŽąÓĺűn¸LŢs}öÄęÇnĽXܲWNĆńÚűŔĐŕŻX±Hť8)y˙3ňŔ†ťrüä\¶|üÜí×Ęĺą“¦ĹłgČő+ČŁ;˘Ç]&Ż`ŠĘôóŻĽT{bLT?˙řĐZůÜÓĺŔńa9{á\ů›.‘·\un&ÝËĎ]"׬ś/Oí<’d1<zĎËΖ«WeůřýŻ<)Ľ¸łűZŁkĎ^,˙ýÍ×…ľ{ż˛ż`ńůŽËWČgžŰžĹ´Rʆ”T›EÄ’µ#bѡőČÓg˙|9=–öĺ(m _ÚRM_k)_îÄuE,Q˙ňWż&ozýëdéŇ죙./ďýľwĹ;vî’çÖ®—µáßłkÖĘľýű“ŤÎś<|[ÚŻ˙‰z÷ý>,?öCßźyuŃůç®–ĺË–Ęž˝űăôŞ+|TrëËoÖ˛w×Ý÷&ŮOňŰ+n‰ź“ćĹ ĺ7~ű÷ĺčŃŁ]ŰUW^.˙ó—ß'łgőžNöÚŰ_)˙ô/ꔓĂĂňý„|ř#—éÓ§ÉÇ˙ńCZÜźý…_‘Ńđ&Y«-–Ť^±ĺńâ Ď—w~ç[2i٧Ó|äź?!_řňťr2śsŁě®XľT~ú?ţÜp]ďI)3Ăă—ď˙žď–ţŮ_uëɶ/»äbŮ´y‹|ús_”Ý{÷É…çź+ďůîwĘĽys»i˘ĽýÄŹľ·]/Ég>˙eŮwŕ€\tÁyňîwľ]ćĎĎţ‚ońâEńož_·>Ţ[APr|stŘúÝCąW×đe¶řúŞáŻÂ€¤účËšŞĆ@éŢ´ŇDĐ®ă3Ď-«Ç®×ŘŠŰĚľAÄŇhÄTÜ>Î{źřÝáĽůŇzÇ÷Jpőu˘ÂË™›7úôżÚĽ1“lŕî;düŠkDť{~ĆżŇçŘѬĎhŢ|ÓŰDn}­sç‰ÚžĂ}ĺs˘űf&Y°ńE¸÷.{ÍěÇţ˘íý91ę¬Ůüě/…w{ç§ÁÁ˘ţę";·÷l;·I+,ëŘąI˙đ?HďĂH#eAÄ2YbNäŘßoâ#÷n\^3dĘS.?–üćíŮôĹĺ>S^3tQx-đÂEú8Úv0ţŚžĘ˛fďQ-Í›.Z!đŔúä•{†?}Ó…ńSŞó¬ŰwTľľi·ě ŻUÎť6(7®Z$ŻZ˝T–Ěr<M;Ěď踒G¶ď—ď¸ř¬ĚŞ«»Żę˝–ĺćUKŚn˘§ž\°`®l8”Ě©Q ܰB˝¬;p8#$ů‰k/ŃŇ<^#˙ü [ĺDxމAŢxţ*yĺŮŮ'ˇĽýâŐň×O®MžjcŰťb¶W˙ÍSkeúŔ€\¶hüŕYÍÖŁÇäož^ŰËÇŢöő‚pëWžµB._”}ĄŇ±‘Qůě†M˛ć@˛?Ł6·<<w˙ˇ+.‘y©ësÂ}˝jčë{ŻŚ2ŹAöľÓksîľŢńĂk†Ä9ÎťiŻŠ d©ŹĘ|¤‹]vD,ş=°§·–ŻĘŤî^­éŤĺ Ęť[4Ő‡ů8Eş ńM±@†ÇĆĺÝużüĆ·Ý&Ëçš_pÖĽ9ńß.Lň›ĂţŻmÜ&wnŘ&CŁcŃ{ű„3ikŃÁÖęyłäćłő×ŰüĹýŹË׼ÔMżĺđ1ůŕ=ŹĆÇ;o¸ôüLÚč5COďÚß}:Š‘ÔÓX˘4ßvŃJY<+űĆű7l—?¸ëŃä‚_ű©1GGĆäC<#‹fĎ”7\Ö»·|ÎLąaĺ"ůćÖ}II”ů×tŃÓ]~ĺsČ {’_D"‘5»Ém˙ôĂo”9ąÇM^ą|ľ|kë ZI>Ď]0K^=ý%Ç}í)ůěÓ%yřXK¶8.żÇăńşĽĺő-—'vŽË?ţ˝çÚŐZń“ĘşÝG’˛KŇžóńKź|HţńÇ^żµĂw^ąJ>ýĚŽä¦"–‚ľť;;ŇżZĘ1‰łoçęŁTů±h1—ŮžLů$ňôŮ?_NŹĄ}9J[Ă—¶TÓWĆZĘ—;±ę‹Ż ~’Čoţţ˙Ť…‘ČÄDô*›čďőŻyUĽ=©$zúÉ]wß'CCCńŘÜ»n‘ôďc'NÄŻzőmŻČřŠžĽňŮ/Ţ‘ĚĚí1}é’%rÉEdŇʶřŃLîW®ĐE|ĎýĆ"–Žh5âąç×ʇţţ#réĹʦ-Űdkôt•í;ääÉ“qščbk¬ µýZ<ÁŞ”Vâ ÇwĽE€üÝ?ţł|ţ‹_IĘŇľč˛k÷^ůť÷@ţř˙ţ®ś˝jU7í­/ż)Ě×9zě$ýŔĽ_˘'»üŇ˙ř >§{ęég䉧ž•ľ˙·d0÷¤–HđňËżödääH7íŁŹ?%üż­˝šhĹňeňüÚu"X<|ŐđWa@R}ôeMUc toZi"h†(+†ë´~Ö ]ݱ5·™}ĄŃ©¸ýˇ‰HňŻ ç‡ÖĎü˘«’óč¸Ű\x™?ó+˘>ř›áG|Nw÷2úĂ?Ů5»¶Këů§µXÁ»H‚Ű^Ó[^Îáv*z…Á#dóuď×d앯OÖ•$Ř·G7^xI,b‰n^FçĘŃ‘Iká" ~đ'DÝ÷µđ "ĽÉ¸ňěp2\%c3gI˙đ?HďĂH#eAÄ2YbNäŘßĎ@bĽ9‰E,yĘĺǒ߼=›ľ¸Üg‚ĺ-ëOcŮ}lXÖí=o]W|xë~ykî©- gN“Wś˝Xî߲/t“­ÇhÝkÎÓĎw×î;"yjsr}7L"Ľ.űĺwʡ“ňöKĎg±Âü>łçP,¬I‹^†×^Ďť?[6>.Éůgňä7¬\,íć7ZÎóěŢCÉ«…Ú±˙ěѵrűęe˛,Ľ~ĽtÖĚč¸|ríćř‰,GGFă×ČGB;7î›V.•©ůváŚé˛<ÜnDZ˝Ůh·ˇH|22nÝ౑‘î÷‘îµyzĎ~ů˧ž—óćÍ•ĄQ^gΔwî’uĹ×î‡Ćƺ⢇vî–o_}vĆďe Jľď fÉ'Îú1ŹAö˛gňă1Î!f8˝AČS•ůH-»8ěXt{`Oo-źů謸|őa,wPPîܢ©>ĚÇ']{ç %ľ±ÔíGŽËĎî.ůë®7_vQFÜ`âÜsĺGŻ˝LŢ}Ĺ…ň÷O¬•»·ě”n[kż6çgë7Á¶<"_^»1~EBôËëÎIaô4‘~lŤÜzŢY˛éŔaŮxŕl Ó®Ű$y­P*×6âŰTcărŰąşxćŁßZ#٧ĆHrđółOż˛DÜžŚ=¸eŹ3Ţc[vÇ"– ,KçƢj)9<<&_[·UŢvő™ôKfÍHD1*9đ{Őyz>7‡ĺýüł›Cźqýt.~řˇőňŞ‹VÉĆđÄoCô·˙<żçhűQŃ\ąrž,šťýĂC/…',»'ľZ‰0&9€“ÍŽÉ·6î‘W\Ř;˝xé\Y<kP ‡§aŃŤĹ®ÂpµC|ƢŔcŚĘ·ĺŔbĎeAł»Ří*5hvqŘsgEúWKů1&qöí\}”*ßé%b±­/(‹ËlO¦|yúěź/§ÇŇľĄ­áK[Şé+c-ĺËť¸®%žsâ“ýdÚ¶c—üâ˙ ůŢwżSŢôíŻÓyVźs¶Ľ÷űľGŢů¶·ĆO#ąç‡zW’˘ů±ýýë÷ÜŻ Y˘× }ö _‡‚ΓŔÂąůýµB÷…>#qFĐ<FOŽ…(Y"˙wß{ź9r¬×uĂqć÷>˙Ĺ卟ŞŇ·ĆiZ‰îÄ*d‰^]<µ¤łMT'7\wu&]$HůâWľÚžË#_mÁ¸ś /ôÝy×ÝňŁďýţŚßk^vĄÜ˙ĐĂÉn±ěÇ/|éŠĘŢńÎ}7o–uë^+ݏ,“ö‹_ąSFGRiC§›·l•ç׬“«ĂXić/׾.ŁÄűꌣĂÖďĘ˝ş†/łĹ×W $ŐG_ÖT5J÷¦ĺ'‚&çŐjęçKsńĚqoE©«1·O?ˇŰ^ńęXÔ12rRĆĆ’§ŁEOúś>MZoý.˙»?Ϧ_÷lxW*ś§%çu­g >Wś%Á­·ËččHü´2Ő>Î }ľýݢ{(zŚY/ýŃ#l|AÔE~ŻxČÄš>C7ľ¸NF6Ľ c«z7ŁřÓĎ^-Á÷˙X/]Xż­áˇä×úµń?HďĂH#eAÄ2YbNäŘß�™ĂĆŢÍ@Ä,bÉS.?–üćíŮôĹĺžęb–7_˘_»]»÷¨ě;~˛›§§vÖ$‘¸%˛Äu”ŞÇč)+ů×őDYřüş˛űŘĽpŕ¨?9&Ó[rÎüYńf/ŻĂ®3S\ĹÚ}줬ÝwXn;'+’ąnů˘¶%zĄŃĽXTŇ!Š˝ć¨Cô´–[ł%®řđ<ôň%ó3ľ˘'§<¸mݤŰ{”îé=3év†ĺx~ß!Oćۨ¸W,YnÍyŮkę‹fÎč YŠ>˛ko}á ý)5‘°čí»łĆv››60ćëxü×±G‚çö”Ý'zńŁ'áÜĽBż&˝röěžĂôu ădď;˝6çîë?YÄ9ÎMy1 Ŕ! L]Tć#µXěâ°#bŃí=˝µ|棲âňÔ‡±ÜAAąs‹¦ú0—čö¶P":DNŚŤĘ‡~Jţĺ‰çĺ5ž+7Ż^%W¬X?ÎĐĆÜđÜĎÝň˛XŘňOżĐ‘ĄÄ‚ŤK/ĐŇsÓöč.—´˘w‘Ą}/ ě91"ßűO_LpâW $éVFT|Ó-h_Ľd‰÷/ŢómR†Uóf‹WÝü™ętĂľ¶e ÉgĚx"TŮzđ–~ö´ř¦ă¸ÄďB’Ë—ÍÓŇÜ·ag*,űŔ`ř—”=*[+ôť°˝íŻďÓĹ" p§ĹőŘ>ř»|Ů\Íßm­”{ńíR†łćÍýCÇŁ{±E‚ś¨© }fÚá•oËŞ˂f ,v±ŰUj<Đěâ°çΆôŻ–ňé'ńú†őQŞ|§ˇĹRľţŁJ™íÉ”O"OźýóĺôXÚ—Ł´5|iK5}e¬Ą|ą«~ůj‹Ł1=şyu|h(~şČ'>őYyÍ+o•›n¸N®¸ě’Ě«ňĚť3'~…Î9çś-˙ü‰— {©!Č<őôsńk–,îý˘ěâ /ĄKËŢýÚz”Üfx­Đ×˘× IţTűz“O?+Żí«3é.ľčů›?ý <űüY÷âyiăfŮđŇ&Ů`§ ]KçÉ^ńE— Đ.dv«&Ľ(ŘR­řł3źť–qúôéZů?őń2¬/Îeöˇam۱3Ésű)/ŃÜÍÔ»÷î•+%+dŮą{Ź&Ť„¸»BűŐůruŽoÚZřz!G‡­ß=”{u _f‹ŻŻţ* HŞŹľ¬©j ”îMËO6ĄzS?GXš‹gŽ;1­hŞX"Z[7i¶ŕe×ÇO)K^ń—Ř"aGôú˝—‡łÇ`8÷Źö~YŚŽJ°c{÷őB­-şOyŮu2¦ Ďß;DsŇČȰL›=W‚ó. OV×eóĺ­‚E]|y|ľ›ĆČĐ üÓß“ŐçÉřůÉřY«EťuŽŚ,_)ay˘˛F7ÚÔxr~^˙ô>Ś4RD,“%ćDŽý _ë,ôn"fKžrů±ä7oϦ/.÷Tł\µ|^,$ÉóčöńÓR:éŁë‘Ďí>,ŻÎ=eĺu,“™ńÓ>Ňb–K—č×'w’5űŽĘc;tkrääxü”–áöĎí9b˛tĘp|dTžÚuH˛Ü°j‘|vý¶8öŤąW˝?ľsżś5wVrM6äÚÔ«.]<_fä®yo<x4~rx'Mů™=cqLôŠúč3ÚWŃ«…Ďśćyž¬ ó}îü9ňÚsWĘlĂUf†6[3¶Vy'îĄ?8|RÝ˝/ŞĚž–äu󑣱ýÜyse٬™˛jÎląbńBíi,Ó˘'ÉXúb–|â¬ód/{&?ăÜ”ł�La˛ŔÔDe>R Ĺ.;"ÝŘÓ[Ëg>+._A}Ë”;·hŞóńn’XA¤oĹš‰5ăˇýpxńŮç_”Ď<÷‚ †Ë—,[,W­X"׬Z./[ą<9°ÍńŽËΗőűË[wÇŤ"ş=r1Ď–CGńEG¨Ń=řŹ/tŤŹ·ş5×˝Ygnܶ‹{ô«ôđ&ŘĽé2kZý)bÁĚi±çXĂb ˝’)µ¦uźžËTÚërq6Ç“§ś„źËçęőły˙±XÄŐQ$މžÓŠę3R•DőŃ~úJ”ĄV3h×Ḭk?á+UöYÓ’W9 ¨¤}¤)hź™ö_8FĺŰr`±ç˛ Ů‹]ěv•4»8ěął ý«Ą|“8űv®>J•‹UĘlO¦|yúěź/§ÇŇľĄ­áK[Şé+c-ĺËťXőŃW,Qťy-Ń‘FcбŁÇä _ľS>˙Ą;ÂiqP.ľč|ąňŇKă§{\uĹĺ2Í0ź˝í-o” 6ÉŹ<ھƒ<>9fîľç~y×;ß–IËM7ÄO2‰Ö/[¶T.şŕüĚúčŐEë_ŘÎe˝ Vá˙>ü-Y»îąěŇ‹3égĚ.7\wMü×áŔÁCňĚłĎË=<(O<ů¬´ÁŇvŐ~ú[`­śÔÓX’c‚čőGý`ţĽyŇ˝¸dŮEcἚ<¦ýú˝–ŰÇckü*ĹV÷ţxűuĆôb/¶–Đb¬ß=”{u _f‹ŻŻţ* HŞŹľ¬©j ”îMËO6ĄzS?GXš‹gŽ;1­h*‰X‚ÇĂ“Ŕ!Í>¶lYFÄ’f4ś$/µ{gÖ×Áý]!Kpđ€ľaôĘž”%! =ĄeúŞłDĺ„,­CdL*°`Ż}ٍ»ľ” Ή›7Ę@ô×±Í)ăç_(ăW]/ă×Ýtjăއ‘FĘ‚e˛ÄśČ±ČD¦ÄJłó”ËŹ%ży{6}qą§˘Ĺô4–#'Gĺˇmű3鏅¶G¶Ô„,łä5ç/•ŻĽ°«#łś5OÇDŻ+Zł÷°(Cž6:.[ÚOTŃĘ‘[üć¶}ň®»@¦§®Mw_%&¸ĺ¬ěąäS»ʵ+ÉĄ‹“FOËŽ^)=ćšeú+Ö싞>3ś©Ă#'Gâż‹¦Í“ŰW/—«—-’‹Î ŻAűÍsÓÚ×oŤb„ 91‚” L|2<‘Ý?4,GGFäő«Ď’Wťµ"Ěç|9gîëKŇ´˛ťO1KnĚĘ'Îú1ŹAö˛gňă1ÎM]1 ŔÔ! LY”¶Xěâ°#bŃí=˝µ|棰âňÔ‡±ÜAAąs‹¦ú0‡XěA÷4‹„7°˘CŹŹEżšn…7rÚÂ’0Íš˝äůÝűä_źZ«ąß|ůň×_%ÓłŞőď»ęBąóŽ$^¸íŚAýI.Ç#Eô´•ö+ ZńINt“KE˘Žr$ňŃ^1î:ŕîÔ[¸Ý ÇÓcĘ?…FŮŽ ŰÄŻCh—ŁŐV­GŮUá?AË’Ívů›a3§éy=ÖOçi4qůŰŻOßDt4ŢnÍjß(lwDS}Waz+H]0Đ ŕ1R<FĺŰr`±ç˛ Ů‹]ěv•4»8ěąłý«Ą|“8űv®>J•‹Ui•9Y}_˝äýóĺôXÚ—Ł´5|iK5}e¬Ą|ą÷SÄ’öµüH„LsÉÓ:â§z¨H<1&ëÖ˝(k׾ źúÜdöěŮňĆ׿VľďÝߥ=ťäÝßőť±ĐDµçĆŽäk!Kô*ˇĎůÎř‚Á­·Ü¤ĺ-zKöŐ>Éņń1%żőűźţŹ?*·˝âq±háyő+_˙­]˙˘üÉź˙Ťě=p@:@±Ď¦ÝWĄćů†G(WaZç¢cŇ{‚L'‰XĹ60¤•Ŕ~±É§Q::lýîˇÜ«kř2[|}ŐđWa@R}ôeMUc toZ~"¨ąyÔĎ"–ćâ™ăNLĂ™J"–“ĂFóř´ÖŃkgé7űZŁ#ŇŐTŽč~ǵ×ý¤ŽŰ˘ăŠú‚ý•>ÄŻúÎw…“j8§~őK™§Çh Ikísńßŕ]_‘÷ü°Ś_p‰TÇ˙ ˝#Ť”Ëd‰yúŹýÖP†›“YÄ’§\~,ůÍŰłé‹Ë=•Ä,‘őÍŻĐ6›7}P>öî›Ĺ—ď¸deWČ’Äd¶áúäŃ“Łrěä5O»Ž ‰» ŰŹž_tĺŇŢ+VĎź?-%ŠŃµÄâ“'w”W<Ú˛DD–ŻŰ)ׯX¤…{hÇ^ĎÖűŚAů•W\)ßqŃŮÖóZ˝>*G }"ŹCŚpăĘĄňë/ż>~úJ-,}1K>qÖŹy ˛—=“ŹqnjŠY�¦.Y`J˘´…Ŕb‡‹něé­ĺ3}—Ż >Śĺ Ęť[4Ő‡ůřĂb’'ä˛kŻ# FWȢâÔăcă’č)Ćĺxx±í“OŻ—MűÉ˙zSö•çĚź+ËfÎÝÇNÄáQý7_sfLi?i%±t^= ÚO‰2ÜÉ[üëč nŚÇ8IeŹšFýţůޏARŔö&Iśq•ÚQí×>ŚĆý¨(f’÷Ä_+ŮŤjßärf3ţghDŻźą3¦µ_ÔůuxŰ«˝ŻŁÄv~Ž-~ť‘ëűßŰ ź||cű‰1A¦ěăíýŰ9íhöś~Ý7 ĺ;őˇ-dÚá•oËŞ˂f ,v±ŰUj<Đěâ°çÎzôŻ–ňbLâěŰąú(U>D,ĄńŚŻ|6(YD,RËWĆZĘ—;qS"–4ńŘ “_¬©ř•sÉͧ¸c*9qâ„|ús_”Í[¶ĘŻţĘÍlöY«şŻ ęř‹ćÓť»vËšuëĺňK{7Ť.ąčB™ÎÍC'†äćŻËř‰n Ýsß˝ą,H˝°(ü~|č„üÁýą\pŢgĺµ·żJ®ľę 9ďÜŐí'‚™ąě’‹äW˙Űűä—~ő˙ČČHűfWP˘RŁůlXżŮŐĂďţá'ÇQ&ssyú©(A[¤{ü¸ç{Č;˘Ţnâ�¶Ä™´A©g>çptŘúÝCąW×đe¶řúŞáŻÂ€¤účËšŞĆ@éŢ´üDPsó¨ź D,ÍĹ3Çť†3ĺD,!&.iGŽžÔbYcš«Ňé ŰĆ>{Kúö' |– š_Łă…7żCäÖŰEyPÔóĎ„óKŃ;!¬Ű‡Ęô˙Ą ˙§_µâ,)Ź˙AzF) "–ÉóôűĄ(¤áć$b±ä)—K~óölúârO1Ë g/”esę˙€ŕÖsÇOµ>4Ô:Ž:Ó´Vf‡jyěçé˛ă<·÷pFČ­şjŮ‚řőE fôž’˛ńĐ198<?•ĺM®ęÚo\ąXľşq§\µ4űD–˝'†ĺą}‡µ6ú›ŻľF^{î cÖ˘×öě;>,»Ź…ńŽĘ.8K–Κá(‡ĎůَOhľôö˝2č·żĽý,#áµă=á5}áߎăÇăVü†sĎ.!‚1‹9F/b�;Y`jŹíAďkĆ.;"ÝŘÓ[Ëg>ę*._A}Ë”;·hŞóq‡ĹžŤ÷žËΗw\z~&Í—_Ř,~r­­äŐ:­äŐ5ń;®ŁżđBÖŁ[wËhř}0wpĽxćôđÄáxÜHö;!ç-šźYîÂy"›v%Á[©Ľ¶gµdHŤIŃţ6ČáˇáXĐ‘~:It@µ=<yŹo¶Ĺ!©uév‹GZÉ»–⧢8b'·ą‚ĚgۉXŹĆTďŕmwx‚uÁ’y™Őç-ž+ęĹ=†ăÂ䵳¦ȉ“˝÷ÔvÎ"Ź»Źčż^N$78ž”©ókűöfť›Ą˙ÉŤŐÁřŐFÁ@Ş í3Óţ Ǩü> ,ö,XrۡĄ4žń•Ď%Ë‚EjůĘXKůr'nJÄÍ5ď~ÇwČŰľăM™őw|őnůČÇ˙U:O‹Ó·źĐ?Ą%ś{ňéäRî‰c‹-”˝űöKW€Ňx|íîű2B–HtrĹe—Čú^ŚE-i}â)9přH8ĎtĹ⇀Ť'O{ióyé#˙ç)z:Ěçź+_xˇ\uĹerăő×iOPYµr…Ľú¶WČ]wß+öAČVi"ű˘rĺ8rôlŰľ=•Ď łQ:D<ٵ˘ZM‰WűdŢńÔąľŇ>$±%ϤJ7ćN–­ĆúÝCąW×đe¶řúŞáŻÂ€¤účËšŞĆ@éŢ´|»ŞąyÔĎ"–ćâ™ăNLĂ™Š"–Ř˙¬ŮŃ#Ĺ"5fvĹ®ť" ™79)ęŔ^ÝעŽ……KDvlˬvďč¤Ô}F¦[uűÂęŻí‹„©Ń1Ŕ`TŽo«á_üľ]ŰE¶l ďľ(ęéÇĂÉúp~CĽűůŢ•rř¤÷a¤‘˛ b™,1O˙±?ß"FL†›“YÄ’§\~,ůÍŰłé‹Ë=Ä,oşxąôÁđĽë ,—{ľ7WŐŇe^7dČÓ9óg‰“ö6ŃŹÜşOŢuů9™ŞžÄ˛bNöşčúýGă'?¶ë śホčÚ eţôi˛2÷ŠöčµB{ÚO†édńęe 5ËX‡ŻmÚ)Oî> ‡r?Âxýů«¤°^vË if›lűů˙®ą\±l=rLľşe›l>|4ÎwÇí•‹‰–ľ%ź8ëÇ<Ů˞ɏÇ8‡ŕô %�S•xLz_3vqرčöŔžŢZ>óŃVqů ęĂXî  ÜąES}Ź7,öv<Őľá˝;óÄP|›ţ»őś•2->¸ŹDńk€ZŇ ˙ÇY çk"–‘đf[§‘¬ŰŁżĎűĺ«WJÚ/é˛EOsůŘ»n—˝ý6ůŐŰŻ–÷^{ˇÜxÖbëľĘ’´˙¨Ś/ě=”],]söň8ß­čf]XŽčObÁĆ4™>mš,‰Ţ:”µ+b ‚â*ŹýgŰěůđD*Ď+/X‘Ü S’íŰá÷ĺs§ËgčVůçď»Y~ëŤWĘŹßt^Xź‹âĹč)6kwŇüÝpîŇ’ň vĹ*Ńň’yłeZXţV«SIúNŮ Ę—i˙…cTľ-{D,ąmŚĺ›"K‘›Á3ňŮ dƱH-_k)_îÄMŠX˘…ýĘ´pîI˙˝üćâ18y˘J+ťÄíq;´­ZąR±DŚŽŽtsŃą®ŤÝ<ô°öD“—]qą\wÍŐŮ§Ž„Üőő{aH+kď<“¬łnîś9˛léŇx•uë7Čľr§Ľ˙*?őź1~Lž‹/<?Á–ŞŘvŇčé+ŁŁŮ‹ź—\tĚš5«=GĄęŞ=ÇÍ›;Wf‡7[ťuí§ľůLĺUQĺsgC«±~÷PîŐ5|™-ľľjř«0 ©>ú˛¦Ş1Pş7-ß®”ßÂR?."–ćâ™ăNL[™Ş"–h˛Y}fn=÷¤u“ÖšgŁ =kś&˛*ő ésuźAäSžDr>,˛eŁľîÜóĄ:*>î>zXFwl‹_‡O°«Îąĺ•"ßóĂüúűĂ»}×k[¶¶n’rř¤÷a¤‘˛ b™,1O˙±ßÉö¤żLRçŐ¶¬ĺÎż3f‹/űůy`Ż•őŁľś×ş ćk6Z~´ŤÍ~TA~óvU_=˝;ż™X®1Ë뺼{_%ég=ą˛·Â1üŤ/“~ńť—®ĚäkËáăZšH¨rţÂŮĆ<EůąmµMp©—ý…GdÇ‘ěÓÇ®Y¶@{UĐ#Ű÷Ĺź{ŹˆG»ö ĚÍĽ‚¨Côä–ă©§gGán9KĎ××7í”{¶ěŠE,'FÇd˛éđ1y|÷™éóĘűÂ>ŐÁăLVőöéŤË—fVEyű‡ç×ËK‡ŽĆOd9|rDv;!ë–###⍥ď(ĎľžqăŃ×;~ÜcŠßµW{ßQé4ăś2ośŤĄI ʞɏŃAÖOń9ŞĎ˝;űĽŁL~Úët÷\j(»>'L=x" LMlܶIĐ4™Ú&e“KvÝň$–ÄüÚűŮ]úŻž—Ξ)żpË5ň§ßz6<čOBF7Ć[Ý´™7kšüÂí7jŰEŞř­‡ŽvóůŔ¦ň×_žIsNx˛đ–KΑ/˝¸=ľÁ˙ =ĘKx@ý˝WťßtZĆŹţn:k©Ü9}š|kË^íÉ)Y‚öţNţظC®Zą8“â˝7].Ońˇř‰,ńĎĚ»őˇä»Ż>_~üćKeď±!Y·÷°¬ß{Dî߼G¶:‘Ü„+8qPéE`Qض ůľwÉŹŢ’}gřęEsäm—ź%ź[łS˘‹“J$zĺDT??tíęřzáňą3âżWś»Xľ¸fš<řRň+ľ§¶”ĂC#2fď1š×śłDn:o™<¶íPňʢžŚHfOkÉßż÷V™7cP^ŘsTÖě>"kÂĎŻ¬Ý“\Ś xŚEX2_±ěž"KąűŽgĺłAÉ<#b‘Zľ2ÖRľÜ‰›±¤·xnÍz-]ôz ˙üS?.ń˙>,CCí_pGó­’řuóćÍ“źűéźĐ¶ç„mŰvŠtGuŐm´b?=ň¨ÜţŞ[»éŻşârY¸ ű„´C‡ËcO< ?:˘•NnŁW˝ç]ď”sÎZ%«Ď>+~úËî={äg˙등Ńń¸ŐEŻÔ‰ććČ“O?#+W|›hĄŽćîŔ=nĎ>]Žç^ qžxęąé†Ţ«˘'ÁĽëß)ű·OĺžĘ’äĺ}?÷ÓrýµW˶í;äĹ ĺĹ—6Ę˝÷?$GŹŤ_ű×ď›§XĘřŞáŻÂ€¤účËšŞĆ@éŢ´|»R~ Hý¸Xš‹gŽ;1meJ‹X$™g‚koőš̚Ö#HpË«Eť•{|˙đ ÜůÝŐ/‰YĆŰB•k®ůĘg˛iví”ÖĂ÷ËřË_•ÎB\âÁ/:zw`6ýÜy2~ţE…•ˇĆtqĚŔ=_•Ö¦%cöĹ>NľďWE-]Ţ~Ő`"Ŕ~qÝÍÉ“Y2xÜ„KÂ3YF) "–Éóôűťy2‹éâBËOg ((»–$—߼=›ľ¸Ü§ë“Y^±z‘,L];ěđŹOl‘ç÷Éf=Ç›/^.Ż9?+¸fĺY5o¦ěžnóä®Cń5âV®qţâ­—Ęţň“É+ŢSyúľ«VË9ó\OdÉ–}ϱaYłďHć)/—.™/+R?čÄ+kĂ4QúCĂ#ń÷Ë—$çÄŃ“Çßyé9™CŁcňж}’ßďËgëůÚú^·˙ě8v"ޮõ+Éüz˝–ÂÖ®Ű^µź9Óă§ă¤9|ňdü:ˇŽ_4žÁŢ|ăRsxç"’ď;<™%ź8ëÇ<Ů˞ɏÇ87žĚ0•á‰,0EI‰:(ă×Ô"ÝŘÓ[ËWĺFw/ŹÖôĆrĺÎ-šęĂ||a±fű¸’-፬ç÷čb–—źłBţę­Ż–˙ď†Ëĺ çź%Ż:{…Ľá‚łĺ§oąJţ毓˗-Ö¶ůÖÖ]rbdT:Ż9Řtđ¨<˛e§–î'oľ2<Ią@‡÷AxnŐś™ňs·\!ß~‘ţnÎŻ˝¸­ű‹nçÁM|ŕśüňúŽu[ĺčpVY~ÍYKä7Ţx“¬š?§ťżčb[KŢyŐyňC7\§Yćă¶ó–ËŹÜx‘,™Ľ&!0őÉlXă‚+}âł%ö•onÔĹţsŻľL~ř†ódɬéŃN OćfČ/˝úyËĺ+µ´w¬Ůžśš‡e ÷ç'źŘYEú­·]/oşb•  t÷Íę…łĺýo»VĎž?}犕óĺ»®9[ŢtŮŠîř ťŽËxŚQů¶XěY±ä¶1–Ki<ăxťV•Ě3"©ĺ+c-ĺËť¸iKǸmŰvYłîmŐÍ7^/ú‡ż#?ń#? Żí«ĺ¶[n’׿îŐň“?öĂňgř]ąě’‹µm{ňi91=ň¸} }Ą âůÚ=÷fŇźŢjąîÚ«3¶»ď o€Ť«îĽĐŮ>âÄаÜtýµrÍË®ŚE,Ë—-“ź˙™źŠĹ5±řĄý´–K.ľHn}ůÍZ_|iS¦¶†‡‡ăW$ĺyă·żN¦O›.óćĚ‘9ŃEÂöPó™ĎIKű=ßýyď÷ľ;ĚĂܶřFÂmćČOýÄŹĘ ×]ç霳ϒ׼ú6ůţďů.MŽTęß~€ĄŚŻţ* HŞŹľ¬©j ”îMË·+ĺ·0ÔŹ‹Ąąxć¸ÓV¦şĄËÍ·J0/+ŤD%÷§Ňzâ‘đ.Y8wŹŤJëĄő2íC’zEP›hn}ý[bÁj‡ń«$¸â-ęŕg>!w}1ĽKu8ô¦ßłK¦}üĂ2đřĂZÚŕuo”ńü]…iÓµt­çžJ4ÝůZĹyl=÷´űö$ëÂJťö‘IĆ ㎅ĺ o” …Ëęwę±Ď9Wüđ?HďĂH#eAÄ2Ybžţcż<™Ĺ| GËŹ¶±ŮŹ*ČoŢ® ň«§wç7Ë5†Mŕ“YŢr‰ţZˇáŃqYżď¨1}š§vÖlQÄ7_Ľ˘»ÍŽ#òfďQ-]ôÔ•?}ËurÝĘ…2Ć śżpŽüüË/‘˙zëĄRLÉëc;łOŹ®ˇ^¸pnw9šě=‘üX$:ďýfűé,^sn¶Ö8?­¤KubéŻIşbÉ|Ů|řxFÄrɢyň›ŻşVŚ”NÚ鏎č±WΙ%7­\ Z–ϞٶŤŻ §‰D8Q]í ĎďńP?]ýgŻ˝J®]fŽňěë]łg_ϸńčëÝüX×uě>×bí}GĄÓx”]™7ÎĆRŽ$eĎäÇč ë§řśŐç^ž}ŢQ&?íu:ĺźĚ0•á‰,0e±M†f;"ÝŽ%k·XTďËß<ü”üî_%3§e‡ÖąÓ§É/<G|8^ěú‡ÇžK^Ëi ٰ-%r˙ňçď|ťĚź9Ł›6Rä˙5ÇÉa´™‡·ě–§wěk?IDÄyŕÖą0Ţ\‹ô?p÷ăňëoş%“ěáIJô·űč;9*+ćÍ”ŮÓôéä‘­{ĺéđ„(ZRÖ´ŕ:^KJ›Ü|‹ňú‡w=-űŻ–łzŁúůá›.˙\őóŕĆ=ňä¶ÉSf$ń÷‘‡6Čm,—ËV,見Tů˙ă WÉ/ĽvLv’-Yµ`–ćw,<áůŰoľ$ť ĹĺCÄ’ůŠĹ`źD"–1”ĎF%óŚEjůĘXKůr'žKjë˙÷•ßúµ_‘™3łďâŽ^Ýóú×Ţ.>ŚŚŚČG?ţŻ˝źµçŞäµt‰(ĺ™g×Čž˝űdŮŇäâTôj˘ůóćeü|í÷vźlŇ;Âh˙z(üűÜ—î˙áČlsŰËo–›o¸N6oŮ&GŹ“%‹Ĺ‘<‡‘{î@łoظI.ąčÂŚíż÷]ń_Ä'ţýłáßgâ<=óÜů|‡ď|Ë»i#ű»Ţů6yçŰŢ*»÷썅1+W,—ÁA}.˙·Oľ÷”›*ťĚ6KúŮfuý)űŞRľ”{u _f‹ŻŻţ* HŞŹľ¬©j ”îMË·Qĺ·0ÔŹ‹Ąąxć¸ÓVÎKČčŕ4üÁ˙(ň×Čd 8zD?ţáöB`Í\$bQŃ«„Nö~Q>6>.ß˙c"ď˙őđŽVęWň‘ýÎ/Ć.źrţĹ"Ż}łŚźÎÚ/Ő^AÔzŕn™ńŕ7Dť˝ZNţĚ/%yşýŰEžřVć)/Áîť2ýż-jů QóÂóΡŇÚľµ÷™nÂ0_Ńö…xî,Ő—‘FĘ‚e˛Ä<ýÇţ2đd=ĎéDÝüt†‚˛kIrůÍŰłé‹Ë}:=™ezx ńŰ.ԟƱvďQyhëAŮ}lXß(ĺ벥sĺ®9'ůń]Šď¸dĄüýă›âďűŹź”;6ě–ËĂ´ů§˛ÜzÎâř/ϱ‘1™3­čµ<˝˛kűţřÚntÍÓÄÓ»e^´vďaŮs|X–ÍžaL˙|¸ţŔĐÉl¬°â_<¨ r®_±X>ů]·ËÓ{Ę‘“#rÁ‚ąńkŤZă<ŃÖNS«ó†Ťaěü“m˘ďúşWt—˙Ó]Ęă»÷É@¸_·9ç%Uůło»UݵW¶=&sĂkŕ7­X&KfÎ7Ž'kXúOfÉ'Îú1ŹAö˛gňă1ÎťîOfŞđD’Ř®+™íXt{`Oo-_•Ý˝<ZÓË”;·hŞóń„Ĺ흆ö“I^:xXţ÷Wď—áQý—Ň>ŚŚŤËŢýl>t,D“H\}‘ß˝ëáđäÂüîMŰ1ÍĆý‡ĺ÷<Ń.‡¸Źm:Żč~¶äţM»ĺźľµĆ|ůÜ™rÁâąF˦Gĺî~şŰđ•3—ml}Ő–6ÎjRGűNś”˙őĹGĺŘpąúٰ÷üÎO·ÓD厞¶2 cˇßßřÂă˛ýţ>ÚYá á‹çČYK”­?ůĆ:yzűˇîrfĄö5đŁňm9°ŘsyŃlXt#"–¦P†oŽDž>űçËé±´/GikřŇ–júĘXKůr'žH‹´ź¶iÓfůí÷0~uNFFFĺöײeëŽDŮ}’JŠ“\až¸bcý d˶˝Wô)’”ö+w~-~EQžiÓ¦ÉEž/×^}•QÄrüřqůÝ?ü#9q|¨-Ýl˙ţÝńŐ»ĹĹçźŰť'ŁżřčÇä±'žŇŇEÂśU+WÄńM"–űř¦|ćs_j÷” ťĚ6W°¶~÷PîŐ5|™-ľľjř«0 ©>ú˛¦Ş1Pş7-ß®”ßÂR?."–ćâ™ăNL[9“D,Q̱č|úň+%xű{ÄzőŢ–ą«oŕ-ß%Łą_~GŻUsĂ?ňSá Ýěr>٧ąüČOĘč¸á<˙š¬ľ‚[EÚO5“łĎ Ëó=ćtŃ+Ž^X+­­›Ť"–ŕťß'ăç](n<w–ęËH#eAÄ2Ybžţcx2‹ůšŽ–mcłU߼]äWOďÎo&–kLkřÉ,Ż:o±Ě5?˘×í=v˛0OŃëž6<•ĺ˘đză%‹ĹÉđ:ńÓ;ÉÖ•;^Üi‰ť7$y‰7k÷1n2ÎIßÜ–}K$bY·ď°5ÄŰöŞ2'w”Ťáőî<gÍť%oş`•Ľű˛sĺĆ•‹cÉáđÚîł{"´S1Ż>^7xzďç6—/N~Č•ůîđ:AŢÇ@Ż[V.“w]|ľĽéĽsş"–oîŘ-nx2‹9†!?_&?ć1Č^öL~ڞ~ŠĎa}îíŮçeňÓ^§Ă“Y�"˛ŔÔĆ6É™&Kۤk˛#bÉ®;“E,m×Ńk"ÁÉł{öËĎ~úNą˙Ą­R†gwî•÷}öëňŔ–]±"-bIţäéÝäż|ęëň˘ń`^çkë·Č/~îľXŐ®‚öÝ,bqHś‡đ/ĽÉőŹŹ®“_˙â7ĺĐPń ĂH)|׺­ňź?}ż:‘¤ďś'˙#:új`Ëdâ­SOa>źŘ~PţăÇî•ő»‰w<żM~ö_ż)G†G»b$ôę{űáaůąWľľn‡—ż]‡OČűôcňďOl1”ĂôKć+"˝ŞĺÔžÄ(Ă7G"OźýóĺôXÚ—Ł´5|iK5}e¬Ą|ąO¨ĄMçµ?ĎŻ]'?˙Ë˙S|č)ĂókÖÉŻüÚ˙ŽĹ%ńt×ĘÎMť'«íyćë÷ÜĎm&îş»÷4kť‡ŰţÁýyü„”“'ý„7Ď>żFţŰoü–¬]˙BW`Ú™÷âW}ăůę׿aÝţÂóĎëć&J?::.˙ç÷ţP>ú/˙f|-Qžˇáaů§Ź˙›|ŕOţŞýčätŮĚÇúŻÄŠýI,Ýäč°ő»‡rŻ®áËlńőUĂ_…IőŃ—5UŤŇ˝iů‰@ů-L�*÷YĂS˝ĆÖPÜfęKŁSq'&Vw)u ˝f'xÝ›$ř˙ާżfČÄŕ o{·´ţĂĎČh¸ýx^"‘ő¤¨K.—Ö/ţşČęóÄ‹ëo‘ŕ}ż&ă iâ8§×Ţ(ý™o@¶¶mNľŽ…Űľć "?úÓ"óŠK–Iđc??ŤĹ;• ńBőe¤‘˛ b™,1O˙±ß ë5Ŕ#=b}cłU߼]äWOďÎo&–klkPĚňfĂk…˘WŇÜ·iżŚ)G¦Úľ‡×"Ůfľľű–KVtżŻßTî߼O>łv‡öĘ›4Ń“Xţń©MrhŘ<_'‚0ýHx-Ű,LŮpŕě8:”±ť“'-×]·>ocâĐĐüóseë‘ăâ"ĘĎGžÝy L>Ď1Îa&{˝ďčČ|ţĹ­aYě±_¶tQ÷űc»öÉg_ÜÖ÷¸¸D,÷m÷!f1Ç0äÇŕËäÇ<!fŞđj!şŘ&7Ó$i›lMvD,Ůugňë„:žă§‚´?Dv–ßűĆĂröcĎĘM笔ëÎZ.+çÍ•ů3§ËśéÓĂń9<4,»Ă÷'ÂŢG·î’—–``PZ­đo` g´_s mżŃáóŽăCňsźţşÜ˛z…Ľę‚łĺ˛ĺ‹eŮÜY2-Lp"ô»ýĐ1yfÇ^ąsýfŮxŕh"F‰.ꉿđ’^ć×âÚ7Ę”$7öDÂmŁG/(yhËyďGľ"Ż»řyĹů+ĺÂĄ dńěaÖ‚XŮľ3<Yy|ëůÚúm˛ůŕ±pű¨IĄÄJź¶íŞ»ÄőoÎkۉX˘í˘ĘQqvă÷Çţä?ßćqąĽćŇUrĺĘE˛|^X?-9~rT¶…y{jŰ>ůâł[eĂľ¤~ZÓâüJ\GaÜńXÇ—ýxxÁđ×>÷¸\şěyÓ•gË5ç,–sΑ93Ăú“džeÍÎCňŕ†=r׺č¤2÷c§<Ý{›Z×BÄ’ůŠĹ`Ż.b±TĹ„  ߉<}öĎ—Óci_ŽŇÖđĄ-Őô•±–ňĺN<Ń"–žX¤•PÂďŃkţđŹ˙\V­Z)7^{Ť\{ÍËdĹňe2/śsçĚž-'N Éá#Gâ×ç<őĚsňř“OËĆM[Âé#çąV{ně>Ą,ž"Ű®]{bŃĚ•—_–ÉO$JąďÁofžÄ˘ůr$Źýřż~Jľř•ŻĘk_u›\ý˛+ĺÜsÎŽó= %Ęăţýĺ™çž—G}<˛D˘ĘV{^ęĚ'Ş- Ť>˙üŻ˙Nzř1yĂë_żfhţüyáM®19tř°ĽřŇĆĐď@|Ó,zMáxk<>ř×˙ŚÜőő{äŰ^óęřI0«W‡y;7·DŻ1ÚĽe«<ńÔ3ňőoÜ'GŽK„ťA[x’d aĚSłt’%ó^е™Ó˝Ă‚Îëślź×›ú·ťµ^łVĹIĽ}ŐđWa@R}ôeMUc toZ~"P~ Hý¸Xš‹gŽ;1mḻ́$DB”ŃŃĽü*‘_żČ·ľ)ęŮ'D¶m9Ţp‹NÚfĎYľJ‚0MpË+E, ·“Ń‘cĽ(ĆČÉa™ľd™´Ţ÷k˘žJTôşźŤDHžž2c¦Č’Ą"]&ÁM·Ć‚5®âíLDŻ,š‰SyPäŃEEů;Ţ(›6]dŃQ#Ł˝ňŚś”ÁënuŐµ<ö°¨µĎI°ĺ%QÇŽŠ %OŠ™;O$zúĘĺ/“ŕe×ÇťH€3n˝™ćąłT_F) "–ÉóôűűŻŇóśNÔÍOgŔ((»–$—߼=›ľ¸Ü“ů5C3[ňš –hiÖ…×7<Ńsc­Ç$OŹl; {Źź”ĄłłŻzëĄ+ĺOÚ×rôă»5{ŽÄnÖě="·­^,—.™'‹gM‹ÓF‘çCű=›öĘţ'eIÎW&¬1O<°uŻüŔËÎŤź:’fíľĂ±Ď|>´}ŻüřuĆŻ\Oł&Lżďݱ÷ť”mGNČ_?ľ^®[±H^¶laü4–č)ß‘@gox˝űą}‡BßűäPxťůęe ŤůďäYŠ®Ą^ůßxč¨|čéurÓŠĄrŐŇ…˛|ö¬8˙#áş(Ţţ0ßťlo8tDݵO^ ·ąeĺRąhá<Y0czxí˝%ÇÂy}ó‘ŁňĐÎ=˛éđQ9rŇ÷)±Ľf¨hśă5C¦˝X…ŻÂ}Hľ»>Ër篕úěü ´mążh]ôÓŚÖ 7Üż@ţŕAż_âĂÔ!}B čŃß;?ůÇ=[:qw‹něé­ĺ35—Ż >Śĺ Ęť[4Ő‡ů¸ÁbĚvŁMĹ·˘żńŃŃđsLTxS(~|qô×Vâ«Tş§cŃÍ´ yHç (É÷VĽ.Nů/ÔŤ‡>Ł?Őů‹ýŞŽË¶ďžČ#ľ50ŘóŮă|ŽËXx‘.Ęk´ßL ăF“$}[•—k,w<^NWZ¦>‚TYb1N»,‘€&Ě”ç(fäK:Źe"!I”~Z{›öIĐjÇMęTµă†ľâ|FŻ@č”+ކńńn˝Ź·ë^:uźŢWńÍIénűj%ľÚwFŰţĆşeWq~ÇŰyP©6tË-훡±¨&.RŹ´şg™öź;>5-dŰr`±gAÄ’ŰĆXľ3@Äţ3ü‘·k7Ö[­râ3ÍŻßţťď´¦W†oŽD^ b‘Zľ2ÖRľÜ‰'ZÄŇńÓÓŁĎńxś?Őxw>LbŢÇéW終 -I>»ë»ůIbEóŢXç—ß÷srËŤ×gü}ăľĺOţâCáߊűVľżuň4®’y7ÎgűXAŰa{ä Ú›ŽĐ¦í»[ă‰Ďd®KŽ’§Äu¶m—1µťęn7Ţ-[¦ŇµąĽ3źK[Ű+W4.$uß‹ĺłŐ>îhµź�§:ĺîüI2ždҶRiŰeęîĎö>IҤ=˝‹<ő»‡rŻ®áËlńőUĂ_…IőŃ—5UŤŇ˝iů‰@ů-h<őČ7™Wź|âa© "–ćâ™ă6+sbbµ#¦âöŹ™3gi¶ááˇxţęFvÄŚúŮ´éÓ%đ¸| _ĚO.Éúń´i3Ú?Ţp‰=G nRMó˙ĹŔɰ¬éľÍiÓ¦M— (ŽŤ‘Ĺţ45ĎťĄúŃ’*Ś·•VĎ-"–fbůÇőŹuűkŢŘČĽ:đŢO%G3ŠY´mT*˝8Ň+łŮâË”Żî#gśžźŔáËä'Đ”#FGŮqç7o×®�”;(Čo&VŕŘő–ý”ŘWIú$Íu«ČŞy32ë˘'±Üµao,r̸±řš?s@^y®.‰žj‰bŇy:wÁlą|éÜö9T.Oaš“áůŢŁŰÄ"›ëWeE »ŹËc;¤ŇK&O+çΔëV,l‘=džĺŃťRm.ÉËâYÓĺćU‹µô‡Fb‘‹­ŤNĎťoX±HĚś–ËʎpÎ{l×Y=–¬ž—}ŕC;öÉÁá“Ýô+ćĚk—-Î8804,ŹěÜ—rśśgG"”W.‘ůÓł±;ě8v<yýP» ť=7¬ďĹ Űç·bl?›•ŤGŽĘkÎ^ٶ$iö…yxlĎ^1Ł Ć”žź®ŮłŻgÜxôőn~¬ë:ö\~Śéí}'s…ÓŁěyăl¬Ŕ‘¤ ě™üdýÖu9?m»9˝}Ţ L~ÚëtěígÍýźÚó*L.LĆôÇ{ä6I~¸ý9–űSíĎńÔźJ}ć˙IJěúĚĎSx�ÉY`JcľŢ„E·öôÖňUąŃÝËŁ5˝±ÜAAąs‹¦úPĆlYěŮnR#{|ĂGIkp0Ľq¶±đ@!şťXíę UŕčŁ%ÁÉ@ű†Q«÷$–HŕŇ®cs¨Dá×~R‰ŠĹ!J:7É:ÇhA[Ś‘*’›?é§»¨V;/‘€d YŽo# t„AOĐ˙š| ÎG+~íN$žč DbtG´ovI»mAŽ´ăŞóÔšv^;"ť¸ÜmK§&ź‘ź(^0&kŰ‚V7ŻA«÷´—8VRCI^#ŃM+Şűńî~ëÖyűĆe"đi?5&uŁN…—­N]‡7í‚0/aR–YÇĺşuŢÉĆCŃl۲µçl[,ö,XrŰËwfXNĘđÍ‘ČÓg˙|9=–öĺ(m _ÚRM_k)_îħJÄť_ˇńü¦‚pśď !şs“7Č<Ů$čH;kŔ2^wń…h«Ł'›´µ1í)3ëŁó”±dÎ ç¦řŘ`<žc”&¶Qí9ŁťÇVJL©˛'SV+:ĹŚĘ/ăńńŘxj¤ęl/]áŽ$cmtŚŤiáO´ŃxgĂÎŻÎv‰(FRBşuDOyé]‹ém:eč¸Qť˛ÄóiG0”ýôŇĆÇ0‘xgĽ×QlWť:čd«ťPúŃ=”{u _f‹ŻŻţ* HŞŹľ¬©j ”îMËOĘoá´KsńĚq'¦­L‹+Vw© ft>=<4ž^†­ĚÜŘj†çjcťzÄ‹-á6‘&ź DOčě?ŰÓLG0ů/x­@Dô”¶Č×@â+™;Ü SÖČçŘ؉^yÚ獝cśčżX�:6Vđ:@ĎťĄúŃ’*Ś·•VĎ-"–fbůÇť,si§#‹ŘnNňd=ĎéDÝü¸ę1ĺGK’ËoŢžM_\îÉřd–čA$ËçčO>Ůw줌Ť«Ś˝=ô8<4&ÇNŽĘśéŮ[tgÍ›™˛$ľ6:.»Ź Ëů gËŇ0öěi‰€rht<¶żtਜ 珙3ÄŚ=O{ŹÇżsějdÚëöžN/vë0¬D˘ťî\Ú ö–älÜü¤Ź“áµÚč‰+«ćΊĹ3ógL‹&Qú¨v’-‡ŹÉh<ŘĚÖ‹ íš oĐÓ·ź¬1ÖÍĂ;öĘ9ófËŠŮłdnXçaěčšzôş¤ă!l» m;z<~ŠĚęysdÉĚ2kp ľä•!ÓDOe‰>#qN6?îö×Of±d:—/1ř1ŹAö˛kűËŁýÖü¦ü´í§ôÉ,�S„,0eQĆD,ş=°§·–Ď|”T\ľ‚ú0–;((wnŃTćă‹=0Ű]ű:şÖ9Şlµ…$ŃŁüĂl­řFI÷—âÉRr;§ó$InÔ¨öŤµx{ôŽRŰG qE0±„â™ĘLDńÍŁŽ¨¤sQ®})>aʵ ­ÔĹľ +¨IňźÄŹł8 Ňľ™¤Úż(—X̑ڳÝWmáĚ@7nT–XŚ3Ţ~ňKtf4Ö޶ծx» ĽDEŽÓ·âWü$ţ{ůě<m¦űôiwŃö/¶ăq^;ŰU(˝_ä·zOa‘”ZąýÄ–8Z,š‰ŇŹ'už¬Ä;.]îvťv÷eűi6ÝРȶ˙Üń¨i!Ű–‹= "–Ü6Ćň!bi eřćHäéłľśKűr”¶†/m©¦ŻŚµ”/wâS)béŚ$"ŇÎŤ,Őí·ém‚îtć·”8#/@ 穕˗˶íŰepĆ,yĎwżM/Ęţ˘mËÖmńëZѢĺ*B7F”ŁV?unR%˙·Ź$HĺËžÇîëď˘),šâZńÇnEŞîvAf{ißSKň ť<Ä>TŻ–ş%]ŃOgŽěX’jŹ0"a«ô¶MŽe$[ďA2Ż$7éRi=mçŘ©ł?%5gwŽ_L{׋‚ÎZŻY«â$Ţľjř«0 ©>ú˛¦Ş1Pş7-?(ż…Ó D,ÍĹ3Çť¶2ŐD,CC'´XÝĄ1Ł×ĺ9uFĚÓkçÉŁý Éߨu}ľ¬ŐĘÓő杬ţn­0ŢVZ=·Xš‰ĺw˛ÍĄ7'Eł fÉš3ű×˝Ż"˘ËwĽ°G¬äĘ®·‡÷lÜoĚS×E*OCŁcńë…dŻŮWdÚulXľüÂ.)“§čŐ;wlčlŁrŰô¬I›K~HńŐ—l1’/6qD´¸ýč‰ř/9é3†“çöŠ˙ŚăK» í:6$wŰŃKăh§±P4ÜŃ›‹˙¬éŰŰDMĺÄ訬;{űCn_E–;7mëśŇ¦‚Šc BĚR4Î!f1ĹčĹBĚgY`J˘Ś Xt{`Oo-źů訸|őa,wPPîܢ©>ĚÇ{`¶;÷u»\©›U‘J$ş1ÔR­äQ”n<qě·2Ű$7TúćUęčWµÓuOh»żđJ~Q?q%ťżvZҰt|vNU’'Ą$ţ:˘Ťî/Ł[˝›iÉń`ĐQÝÄeH:ĘxÜ•üú<Ú6%†Iď“ö«buĚ`Ż|AűI0K7}dOÄ$Ý×IDkr"–îS_âĂĘV[›ĹîůËç7ŞĄRő¤O7‚î.Pí´‘Żč—ďťß›§÷öe禡ęí_•ß1ąÍň ٶXěY±ä¶1–KS(Ă7G"OźýóĺôXÚ—Ł´5|iK5}e¬Ą|ąOKšŚ�1ú5v«s!%5_ôKw”łX’M•ĽěŠËĺ—ß÷łYáFŽO|ňÓÉ<dçc>Ű}´«ÇPA*źůÉ©'1ćQµçÚčł•”©ĄŇľ«ŹÎ…ŻŽ %yÍ^®vę©˝}:ľ& RN•·‰gĺ ĐŽMi;önŢ‚|ÚŽĎ’tÖzÍZ'ńöUĂ_…IőŃ—5UŤŇ˝iů‰@ů-śV bi.ž9îÄ´•©&b1Ĺę.5Ó|0ÝP+uŻíkPOg})k…ń¶rĐęąEÄŇL,˙¸“u.m_ŃÉśdA̢ç9ť¨›W=¦ühIrůÍŰłé‹Ë=źĚb}M•ˇěz{pçÉŮ~21Ҧ ýCK©‘'{Ů{mÎ\‡ůľS(ŽČíw˝ŤŠhĺN­ëĄ÷k§šˇ ě}#8ĘŽĹCşeGĚbŠŃ‹…Î$˛ŔÔ¦;ć#bŃí=˝µ|棢âňÔ‡±ÜAAąs‹¦ú0XěŮîÜצö‘ldnnµŹŁŹV:]ęŕ,sň&˝Í2 ±Ř#9ŞQť§~ŚçËŃóĐhôntwŹ#µ‡JďŮmşĺëŘăĚÉkŚr™ëě§nYÚqS†Ňľ!›zLJ]˙íšé?TňúžŘgę))ťăĎ´%ÝÎ:eéÔO\ľtĄtbt|äŽř2ű;% ŠźL30¨—;ěkŞP™öź;ţ4-dŰr`±‹=żŇŰKÚĄ)”á›#‘§Ďţůrz,íËQÚľ´Ąšľ2ÖRľÜ‰'›ĄCĐžkâ'šuśf„Ąi_U’ä)yŞËŤ7\ŰómŕÁ‡‘űżů´Ú"LGZQ˝|¶s2v˙1—Ëâ+í/™ÍľLŻ:ęîLţAvě <ę)ł.5×çשö±í‚żńULĘ\-XĘřňč}ôeMUc toZ~"P~ §Xš‹gŽ;1mKsń:¦†Z©{m_z:ëKY+Ś·•VĎ-"–fbůÇť|sięĐT¤čćd´1‹ébEËŹ«S~´$ąüćíÚţB̢»°µźLŚ´ 1‹«ť"f1ĹHĺGł”j?ZĐÚŹŁ 1 ś) d©Kw¬GĢŰ{zkůĚGCĹĺ+¨cą‚rçMőa>°ŘłÝąŻő‘ţs;¨ rb•ÎS;šÓżfË×Ý4Hžň’?T’;˘ÍÝčîÜŕS©c9É®3–/-ţHh¦ü‚––g•öťÚ>{ ×˝Ií˙sé3™6ôíî ĚöÁ\ŰU¶>ăAžUä$ŻiÉ,ĐËg,Gá~Í·ĺŔb/Ęo`±‹Ý®Răf‡˝L»M—#cgßÎŐG©ňťˇ"KőeřćHäéłľśKűr”¶†/m©¦ŻŚµ”/wâÉ*bé$ë ˙ĂW …Ś'ŁáŤ×_cMňŔ7–?ú‹żŽź†Ň꼯@Ä’űÚΧgžL$_ćňľňu•xđ÷d„ş¦JOëăWÓUžÔż%(č¬őšµ*Nâí«†ż ’ęŁ/kŞĄ{ÓŇ­Ŕ±yy_“D,ÍĹ3Çť¶‚ĄąxSC­Ô˝¶ŻAË5+˝Eĺ Ős‹Ą™Xţq'é\Ş$w˝©ŕćd´1‹O8‚\~\őňŁ%Éĺ7oϦ/.7bs=f·AĚâj§YL1RůÄ,ĄÚŹ´öŁĹčĹBĚgY`jŇă±čöŔžŢZ>óQPqů ęĂXî  ÜąES}Ź,öŔlwîkĎúč”#',I(ĺÓćľş÷wî—ÔżéXÎrOŔDL+ňO*‘T<%ąm ö_VĽčIňűÚxĂĚŢ·{¦@Żç~Őťhe ĘěżŔcżćË]\ćü»ŘíŞÝŚvqŘő}ťűj)_ Ć$Îľmh㦬ËwćŠX,ŐÔ7”á›#‘§Ďţůrz,íËQÚľ´Ąšľ2ÖRľÜ‰O‹3‘Ź«ń¤˝Ěť;[6Ľ´IÎ=çl™7o^,X9tč°¬]÷‚|ýž{ĺ±'ž–V«˙®§±ŘĆF‹ĄL”keI_=S…NfŹ«Ž@Ž[ż{Ô¨5ŹŽďíĎsPŞÖMjô†Š›_qükŰ˝iůvĄüN+±4ĎwbÚ "–ćâuL µR÷Úľí籑‡“˛[TZ=·Xš‰ĺw’ĎĄJłdĐýd’YňśNÔÍŹ«S~´$ąüćíŮôĹĺFĚb®Çě6Y\í1‹)F*?‚ĄTűŃ‚6Đ~´˝XjběNY` E·öôÖň™Ź~ŠËWPĆrĺÎ-šęĂ<˙[ěŮîÜמőQ±|•÷·–‡Ądůl"ŢG`±‹¶µşÝ«-{XLőá,·îD+[ŰžúĐ2íżpżćËW\ćü»Ří*5hvqŘő}ťűj)_ Ć$Îýť«ŹRĺCÄŇĘđÍ‘ČÓg˙|9=–öĺ(m _ÚRM_k)_îÄgŠ%ťěđ‘Łň;řÇ2>>Ţ·tząŠź:Ö±´’× "Éš+Ž@Ž[ż{Ô¨5ŹŽďíĎsPŞÖMjô†Š›_qükŰ˝iůvĄüŞů;E bi.ž9îÄěuD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?îd=P‚%î'“Ě’çt˘n~\őňŁ%Éĺ7oϦ/.7bs=f·AĚRJŚPPvÄ,y‡Ů˛›Ç ŹöăŃß3ů1řóÔ`űŃ‚6Đ~´éX�S—–�LI±čöŔžŢZ>óQOqů ęĂXî  ÜąES}ç}‹=0ŰťűÚł>*–ŻňţÖ2€% "–¬15hvqŘő}ťűj)_ Ć$Îýť«ŹRĺCÄŇ<ŞŇ*sňţůrz,íKľŮ ţľ´Ąšľ2ÖRľÜ‰ĎDKBü=mĄýú Vř˝ŐČXâőí?›?U¬TŢ”keI_=S…NfŹ«Ž@Ž[ż{Ô¨5ŹŽďíĎsPŞÖMjô†Š›_qükŰ˝iůvĄüŞů;E bi.ž9îÄěuD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?îdK ő óuŃĚ&–ëÂŮmRçóJéłŮâË2”‰X®_f·q_;‹}ú3_+ŇňŁmlöŁ ň›·kű« ÜŞ ż™X®±Ňë~€{_%é7“ ew ¨’íÇâK•h?ćŮőÖ6äŮwÜm4IŁ·ąü‚}ż+ÉĄ)h§ö6jekCޞ+‹3AÁ’ó#¶1ČľĎ{űׯďî/ŻkľíÇłťšŰC.–r$)({íöŁmÓ@űiŻ8“@ČSŰ$ë´#bÉ®CÄ’ł#bIçAIn›RĺCÄ’-Gq}ó‹E7"biUi•9y˙|9=–öĄ ßl_ÚRM_k)_îÄg¤Ąýt•DŔŇŠ…+Ńß@+üVü×~" "ąâäč°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇšżS"–ćâ™ăNĚ^GÄŇ\ĽŽ©ˇVę^Ű× ý<6ňpRv‹ĘA«çK3±üăN†Y±Z)¸9­BĚâ‘ĘŹ¶±ŮŹ*ČoŢ®íŻ‚r#f±ź—öLţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ďßŰŹ¶Mí§˝ŕL! L]¬U;"–ě:D,9;"–t”ä¶)U>D,Ůrׇ9żXt#"–SJÉL b‘Zľ2ÖRľÜ‰ĎDKz‹Hś’<%­ݧ°$–Ţ+…±¤ÍG G‡­ß=jÔšGÇ÷öç9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ }đ7q bi.ž9îÄěhD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?î)š+ásÍŁŕćd´ 1‹#F*?ÚĆf?Ş ży»¶ż ĘŤĹ~~Ú3ů·sŚězkBĚbڎ,~Ě f1Ç0äÇŕËäÇĽl?Ú6 ´źö:€3„,05±LěX˛ë±äěXŇyP’ۦTů±dËQ\ćü"bŃŤX˛vÇE“&Pe“+×ĘJ°íç˛~ôo6ż/m©¦ŻŚµ”/wbD,mJü)É+„RŻžÄb0Wę°âę°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠm˝Xš‹gŽ;1űKsń:¦†Z©{m_öóŘČĂIŮ-*­ž[D,ÍÄňŹ;ńs`-rçŢi{¶$7'ŁUY1RůŃ66űQůÍ۵ýUPnÄ,öóԞɿýcd×[Űbc eńc1‹9†!?_&?ćýŰ`űѶi ý´×Lu˛Ŕ”Ç6É&“5"–Ě:D,9;"–t”ä¶)U>D,Ůrׇ9żXt#"–¬=°U_3” †EjůĘXKůr'>ÓE,iÍJ`ü+çŻtçp,ÖóŐ3Učd¶ń¸ęHăč°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠm˝Xš‹gŽ;1űKsń:¦†Z©{m_öóŘČĂIŮ-*­ž[D,ÍÄňŹ{*zUżř\)¸9­BĚâ‘ĘŹ¶±ŮŹ*ČoŢ®íŻ‚r#f)ľÁŤEůB̢ŻĚĺÇş®cGĚbó•ńÓ¶÷Ąý´×Le˛Ŕ”Ć6ą&“4"–Ě:D,9;"–t”ä¶)U>D,Ůrׇ9żXt#"–¬KŰ\ÚŹţÍfđ÷Ą-Őô•±–ňĺNŚĹ’¨–żŇťĂ±XĎWĎTˇ“ŮĆăŞ#ŤŁĂÖď5jÍŁă{űó”Şu“˝ˇâŕćW˙ÚvoZľ])ż…ţ*¶ő bi.ž9îÄěcD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?î©čUýäs-¤ŕćd´ 1‹#F*?ÚĆf?Ş ży»¶ż ĘŤĄř7bqä 1‹ľ2—뺎1‹ÍWĆOŰŢ—ö0ĹAČSۤšLÎX2ë±äěXŇyP’ۦTů±dËQ\ćü"bŃŤX˛vD,msi?ú7›Áß—¶TÓWĆZĘ—;1"K˘ZţJwÇb=_=S…NfŹ«Ž4Ž[ż{Ô¨5ŹŽďíĎsPŞÖMjô†Š›_qükŰ˝iůvĄüjř«ŘÖk€Ąąxć¸łŹ±4Żcj¨•ş×ö5h?ŹŤ<ś”ݢrĐęąEÄŇL,˙¸ ÷މsçäi{6 7'ŁUY1RůŃ66űQůÍ۵ýUPnÄ,ćzĚšüŰŹ9Fv˝µ !f1ĆP?fłcňcđeňcŢż ¶m›ÚŔ! LIl“i2)#bɬCÄ’ł#bIçAIn›RĺCÄ’-Gq}ó‹E7"bÉÚ'PĢDĘCÄ"µ|e¬Ą|ą#b±$ŞĺŻtçp,ÖóŐ3Učd¶ń¸ęHăč°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠm˝FpD,ÍĹ3Çť}ŚĄąxSC­Ô˝¶ŻAűyläá¤ě•VĎ-"–fbůÇm¸WMäŘŤçsm¤ŕćd´ 1‹#F*?ÚĆf?Ş ży»¶ż ĘŤĹ\ŹY“ű1ÇČ®·¶!Ä,ĆĘâÇ bs C~ ľL~Ěű·ÁöŁmÓ@ű˘ d©‹iňCÄ’]‡%gGÄ’Î’Ü6ĄĘ‡%[Žâú0ç‹nDÄ’µűś\ź:±H-_k)_îÄX,‰jů+ął•k±žŻž©B'łŤÇUG‡­ß=jÔšGÇ÷öç9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUl뉢!bi.ž9îÄěcD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?nĂ˝jĆ'űqŚĎ5’‚›“Ń*Ä,Ž©üh›ý¨‚üćíÚţ*(7bs=fMţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ďßŰŹ¶Mí` ‚¦&¦IKv"–śK:JrŰ”*"–l9ŠëĂś_D,şKÖŽĄm.íG˙f3řűŇ–júĘXKůr'FÄbITË_Éť­\‹ő|őL:™m<®:°8:lýîQŁÖ<:ľ·?ĎA©Z7©Ń*n~ĹńŻm÷¦ĺŰ•ň[¨áŻb[źú›7D,Í‚ĄąxSC­Ô˝¶ŻAűyläá¤ě•VĎ-"–fbůÇm¸WMÔXl=wŽţńąVRps2Z…Ĺ#•mcłU߼]Ű_ĺFĚb®Ç¬Éżýcd×[Űbc eńc1‹9†!?_&?ćýŰ`űѶéWűş d)O2ů"bɬCÄ’ł#bIçAIn›RĺCÄ’-Gq}ó‹E7"bÉÚí'Ó–jťP±H-_k)_îÄX,‰jů+ął•k±žŻž©B'łŤÇUGG‡­ß=jÔšGÇ÷öç9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUlëBó†ĄY±4Żcj¨•ş×ö5h?ŹŤ<ś”ݢrĐęąEÄŇL,˙¸ ÷މ‹­çĐŃ?>×L nNF«ł8b¤ňŁmlöŁ ň›·kű« ÜYĚő5ů·sŚězkBĚbڎ,~Ě f1Ç0äÇŕËäÇĽl?Ú6Y�\ d)M2é"bɬCÄ’ł#bIçAIn›RĺCÄ’-Gq}ó‹E7"bÉÚ±´ÍĄýčßl_ÚRM_k)_îÄX,‰jů+ął•k±žŻž©B'łŤÇUGG‡­ß=jÔšGÇ÷öç9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUlëBó†ĄY±4Żcj¨•ş×ö5h?ŹŤ<ś”ݢrĐęąEÄŇL,˙¸ ÷Ş ‹éśÓŰŹo|®ťÜśŚV!fqÄHĺGŰŘěGä7o×öWAąłë1kňo?ćŮőÖ6„ĹCYüAĚbŽaČŹÁ—ÉŹy˙6Ř~´męµ€© B˛$“-"–Ě:D,9;"–t”ä¶)U>D,Ůrׇ9żXt#"–¬KŰ\ÚŹţÍfđ÷Ą-Őô•±–ňĺNŚĹ’¨–ż’;[ąëůę™*t2Űx\uDqtŘúÝŁF­yt|ožRµnRŁ7TÜüŠă_ŰîMË·+ĺ·PĂ_Ŷ>!ô7oXšKsń:¦†Z©{m_öóŘČĂIŮ-*­ž[D,ÍÄňŹŰpŻ:cqÄ,ö8=?ĘáËy}¤»ŕľÁÝÍŹ¶±ŮŹ*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţm°ýhŰÔh?�S„,0%I&YD,™uXrvD,é<(ÉmSŞ|X˛ĺ(®s~±čFD,Y;"–¶ą´ý›ÍŕďK[Şé+c-ĺËť‹%Q-%w¶r-ÖóŐ3Učd¶ń¸ęâč°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠm}Bčoޱ4 "–ćâuL µR÷Úľí籑‡“˛[TZ=·Xš‰ĺ·á^u ĆbÄ,ö8=?ĘáËyť¤»ŕľÁÝÍŹ¶±ŮŹ*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţm°ýhŰÔh?�S„,05AÄ’]‡%gGÄ’Î’Ü6ĄĘ‡%[Žâú0ç‹nDÄ’µ—±XęąI±H-_k)_îÄX,‰jů+ął•k±žŻž©B'łŤÇUG‡­ß=jÔšGÇ÷öç9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUlëBó†ĄY±4Żcj¨•ş×ö5h?ŹŤ<ś”ݢrĐęąEÄŇL,˙¸ ÷ŞS0ŰAĚbŹÓóŁľś×Kş îÜÝüh›ý¨‚üćíÚţ*(7bs=fMţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ďßŰŹ¶MŤö0AČg X˛—K꣗ςňUŢß¶ľ>”KÖžúĐlÂ…ésuď,źˇlf»Ří*5hvqرčĺCÄRD,RËWĆZĘ—;1"K˘ZţJîlĺZ¬ç«gŞĐÉlăqŐÄŃaëwʵćŃń˝ýyJŐşIŤŢPqpó+Žm»7-ß®”ßB Űú„Đ߼!biD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?nĂ˝ęŚĹĹ f±ÇéůQ_Îë&Ý÷ în~´ŤÍ~TA~óvm”1‹ął&˙öcŽ‘]omCYŚ1”ĹŹÄ,ć†ü|™ü÷oíGۦFűb d3D,Ů ŠË‡%őŃËgAů*ďoŰÁ^ʇ%kO}h ¶ŕÂôąşw–ĎP6ł]ěv•4»8ěXôňMM‹Ąş‹Ôň•±–ňĺNŚĹ’¨–ż’;[ąëůę™*t2Űx\uäptŘúÝŁF­yt|ožRµnRŁ7TÜüŠă_ŰîMË·+ĺ·PĂ_Ŷ>!ô7oXšKsń:¦†Z©{m_öóŘČĂIŮ-*­ž[D,ÍÄňŹŰpŻ:c±†5,b{śžĺđĺĽ~Ň]pßŕîćGŰŘěGä7o×öWAąłë1kňo?ćŮőÖ6„ĹCYüAĚbŽaČŹÁ—ÉŹy˙6Ř~´mj´€)Bň bÉnP\>D,©Ź^> ĘWyŰňúP>D,Y{ęC[°ř¦ĎŐ˝ł|†˛™íb·«Ôx ŮĹaGĢ—o*‹X&ć$‹Ôň•±–ňĺNŚĹ’¨–ż’;[ąëůę™*t2Űx\­ĂŠ«ĂÖď5jÍŁă{űó”Şu“˝ˇâŕćW˙ÚvoZľ])ż…ţ*¶ő ˇżyCÄŇ,Xš‹×15ÔJÝkű´źÇFNĘnQ9hőÜ"bi&–܆{Ő)‹­XĂ#f±ÇéůQ_Îë(Ý÷ în~´ŤÍ~TA~óvm”1‹ął&˙öcŽ‘]omCYŚ1”ĹŹÄ,ć†ü|™ü÷oíGۦFű" d) "–ěĹĺCÄ’účĺł |•÷·íŕ®ĺCÄ’µ§>´Űoaú\Ý;Ëg(›Ů.v»JŤš]vD,zů±Ô‹Ôň•±–ňĺNŚĹ’¨–ż’;[ąëůę™*t2Űx\­ĂŠ«ĂÖď5jÍŁă{űó”Şu“˝ˇâŕćW˙ÚvoZľ])ż…ţ*¶őĆQŇďĽ!biD,ÍĹëjĄîµ} ÚĎc#'e·¨´zn±4Ë?nĂ˝ęŚĹ…XłĹ§çG9|9ݧtÜ7¸»ůŃ66űQůÍ۵ýUPnÄ,ćzĚšüŰŹ9Fv˝µ !f1ĆP?fłcňcđeňcŢż ¶mŹö0…AČSD,Ů ŠË‡%őŃËgAů*ďoŰA]ʇ%kO}h ¶ÝÂôąşw–ĎP6ł]ěv•4»8ěXôňť"KÝ÷˙)w‚ ^műą¬ý›ÍŕďK[Şé+c-ĺËť‹%Q-%w¶r-ÖóŐ3Učd¶ń¸ę`áč°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠmý4Kł bi.^ÇÔP+uŻíkĐ~y8)»Eĺ Ős‹Ą™XţqîU§`,öĆšÄ,ö8=?ĘáËy]Ą»ŕľÁÝÍŹ¶±ŮŹ*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţm°ýhŰx´€) B’ bÉnP\>D,©Ź^> ĘWyŰćúP>D,Y{ęC[°ŕ¦ĎŐ˝ł|†˛™íb·«Ôx ŮĹaGĢ—K}TĄU®Ťlűą¬ý›ÍŕďK[Şé+c-ĺËť‹%Q-%w¶r-ÖóŐ3Učd¶ń¸ę`áč°ő»GŤZóčřŢţ<ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠmÝćsĄY±4Żcj¨•ş×ö5h?ŹŤ<ś”ݢrĐęąEÄŇL,˙¸ ÷ŞS0‘\;ń»Ék?'ń»žĹyä¨G-?ÚĆf?Ş ży»¶ż ĘŤĹ\ŹY“ű1ÇČ®·¶!Ä,ĆĘâÇ bs C~ ľL~Ěű·ÁöŁmăŃ~�¦ YŕŚ‹ÍŽ%őŃËgAů*ďoŰA\ʇ%kO}h ¶ŰÂôąşw–ĎP6ł]ěv•4»8ěXôň!bi”J±±ÔńÓ]ŰG_ţţ<*Żâ…ň٢De8ý•ÜŮʵXĎWĎTˇ“ŮĆ㪅ŁĂÖď5jÍŁă{űó”Şu“˝ˇâŕćW˙ÚvoZľ])ż…ţ*¶őţ»iD,Í‚ĄąxSC­Ô˝¶ŻA=ť©ľŤL嶨´zn±4Ë?nĂ˝ęŚĹľ$ąń»Ék?7ĎůHŮUŢG7˝%?Y1Ä2äGĚůÍ۵ýUPnÄ,ćzĚšüŰŹ9Fv˝µ !f1ĆP?fłcňcđeňcŢż ¶mŹö0Ĺ@ČgXlvD,©Ź^> ĘWyŰŢúP>D,Y{ęC[°Đ¦ĎŐ˝ł|†˛™íb·«Ôx ŮĹaGĢ—ḏ̌XvCsT ĄŽźîÚ>úň÷çTyE/ĽÚw‰Ępú+ął•k±žŻž©B'łŤÇUGG‡­ß=jÔšGÇ÷öç9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUlëF7ő}5 "–fAÄŇ\ĽŽ©ˇVę^Ű× ý<6ňpRv‹ĘA«çK3±üă6Ü«NÁXěŤé\9e×AĚbŹÓóŁľś×[ş îÜ™ýĺQvU߼]Ű_ĺFĚb®Ç¬Éżýcd×[Űbc eńc1‹9†!?_&?ćýŰ`űѶńh?�S„,0ĺAÄbł#bI}ôňYPľĘűŰvĐÖ‡ň!bÉÚSÚ‚í@¶0}®îťĺ3”Íl»]ĄĆÍ.;"˝|XĄR@D,uüt×öŃ—ż?Ď Ę+˘xáŐľKT†Ó_Éť­\‹ő|őL:™m<®:B8:lýîQŁÖ<:ľ·?ĎA©Z7©Ń*n~ĹńŻm÷¦ĺŰ•ň[¨áŻb[7ş©ď«I±4 "–ćâuL µR÷Úľí籑‡“˛[TZ=·Xš‰ĺ·á^u ĆâŇΙSvÄ,ö8=?ĘáËyÝĄ»ŕľÁťŮ_eWůÍ۵ýUPnÄ,ćzĚšüŰŹ9Fv˝µ !f1ĆP?fłcňcđeňcŢż ¶mźý05@ȧ=A`?CÄbł#bI}ôňYPľĘűŰv°Ö‡ň!bÉÚSÚ‚í�¶0}®îťĺ3”Íl»]ĄĆÍ.;"˝|Xş9sĚ••·QRD,uüt×öŃ—ż?Ď Ę+˘xáŐľKT†Ó_Éť­\‹ő|őL:™m<®ÖaĹŐaëwʵćŃń˝ýyJŐşIŤŢPqpó+Žm»7-ß®”ßB ۺэÝW#ójI±4 "–ćâuL µR÷Úľí籑‡“˛[TZ=·Xš‰ĺ·á^ŐŕXÜ÷yŐtĽ9ÎŮs>Rv•÷ŃMoÉbG ±^ë‹U߼]Ű_ĺFĚb®Ç¬Éżýcd×[Űbc eńc1‹9†!?_&?ćýŰ`űѶ±Ź ý>÷8• d) "›K꣗ςňUŢß¶´>”KÖžúĐl®…ésuď,źˇlf»Ří*5hvqرčĺ;E,–}ŇW*Ĺ@ÄRÇOwm}ůűó ŞĽ"ŠĘg‹•áôWrg+×b=_=S…NfŹ« Ž[ż{Ô¨5ŹŽďíĎsPŞÖMjô†Š›_qükŰ˝iůvĄüjř«ŘÖŤnęűjD,Í‚ĄąxSC­Ô˝¶ŻAűyläá¤ě•VĎ-"–fbůÇm¸Wť‚±¸6¦sč”]1‹=NĎŹrřr^‡é.¸opgö—GŮUA~óvm”1‹ął&˙öcŽ‘]omCYŚ1”ĹŹÄ,ć†ü|™ü÷oíGŰĆ1&�L˛Ŕ”DŤwFsD,®Żň!b©ľżmg}("–¬=őˇ-ŘX ÓçęŢY>CŮĚv±ŰUj<Đěâ°#bŃËw¦‹X,;¦(©čK?ݵ}ôĺďĎ3¨ňŠ(^(ź-JT†Ó_Éť­\‹ő|őL:™m<®:8:lýîQŁÖ<:ľ·?ĎA©Z7©Ń*n~ĹńŻm÷¦ĺŰ•ň[¨áŻb[7ş©ďË;f…;żXšKsń:¦†Z©{m_öóŘČĂIŮ-*­ž[D,ÍÄňŹŰpŻęóX¬š|”ů`=s.ť˛ë f±ÇéůQ_Îë1Ý÷ îĚţň(»*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţm°ýä·±îk€©B8í1=&kěä bçŚWů±Tßß¶˛>”KÖžúĐlŞ…ésuď,źˇlf»Ří*5hvqرčĺ;ÓE,!câĺ˛OŹj“ň b©ă§»¶ŹľüýyU^Ĺ ĺłE‰Ępú+ął•k±žŻž©t´ŹÇU|YýUĚ]Ag­×¬kěQĎA©Z7©Ń*n~ĹńŻm÷¦ĺŰ•ň[¨áŻb[7ş1´ńqÍÖŻyőĉ!)"–fAÄŇ\ĽŽ©ˇVę^Ű× ý<6ňpRv‹ĘA«çK3±üă6Ü«‹‡†ôąŻoŻ2ś Ď©SvgÇą|ÎGĘ®ň>şéÍ fqßŕÎě/ʞ«‚üćíÚţ*(7bs=fMţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ďßŰOÚW|/4—;^-S„,0%9yřhoÁqňa;hµX¸hl“­ÝŽ%kGĢ۱tśhekŰSÚ‚í�µ0}®îťĺ3”Íl»]ĄĆÍ.;"˝|Xb†ISś.ą"–:~şkűčËßźgPĺQĽP>[”¨ §ż’;[ąëůę™J7@űx\Ĺ—Ő_ĹÜtÖzÍşĆő”Şu“˝ˇâŕćW˙ÚvoZľ])ż…ţ*¶uŁłŻŃŃiŠx§EÄŇ,Xš‹×15ÔJÝkű´źÇFNĘnQ9hőÜ"bi&–܆{UCcńÁÍťŻĂߦsë”ÝŕÉqNźó‘˛«ĽŹnzK¶ł8bőZXü¨‚üćíÚţ*(7bs=fMţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ďßŰO{ÝŘ‘c0•AČS’{ö'_'¶UŰ…ë@Ć6ÉÚíX˛vD,şKljV¶¶=őˇ-ŘL ÓçęŢY>CŮĚv±ŰUj<Đěâ°#bѡĄË±ÝŇCÇO”HŤĄŽźîÚ>úň÷çTyE/”Ď%*ĂéŻäÎV®Ĺzľz¦Ň Đ>WńeőW1wťµ^ł®±G=ĄjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠmÝčĆîkääIiŠíŰwxĄCÄŇ,Xš‹×15ÔJÝkű´źÇFNĘnQ9hőÜ"bi&–܆{UcńÎť»¤1˘sá‚Ü™sě”]1‹=NĎŹrřBĚâ:ţGĚbŹ‘]omCYŚ1”ĹŹÄ,ć†ü|™ü÷oí'dtďAĘ d)É‘­;ś'¶TŰ„ë�Ć6ąÚíX˛vD,şKljV¶¶=őˇ-ŘH ÓçęŢY>CŮĚv±ŰUj<Đěâ°#bѡ%łxxł4űŁG<S"b©ă§»¶ŹľüýyU^Ĺ ĺłE‰Ępú+ął•k±žŻž©t´ŹÇU|YýUĚ]Ag­×¬kěQĎA©Z7©Ń*n~ĹńŻm÷¦ĺŰ•ň[¨áŻb[7şqű:QFÄYŽ7ĽTKł bi.^ÇÔP+uŻíkĐ~y8)»Eĺ Ős‹Ą™XţqîU ŹĹ7n’Ćčś #fŃÍ_–ˇ[|oňfŤé×kş îÜ™ýĺQvU߼]Ű_ĺFĚb®Ç¬Éżýcd×[Űbc eńc1‹9†!?_&?ćýŰ\ű޶G�¦2Y`J˝ű-zýۡ7ZO2l§¶׋mRµŰ±díXt;"–Ž­lm{ęC[°¦ĎŐ˝ł|†˛™íb·«Ôx ŮĹaGĢ—Kv1ڵom<öó}¨ťůőđAźW b©ă§»¶ŹľüýyU^Ĺ ĺłE‰Ępú+ął•k±žŻž©t´ŹÇU|YýUĚ]Ag­×¬kěQĎA©Z7©Ń*n~ĹńŻm÷¦ĺŰ•ň[¨áŻb[7ş)öuâřŃĆćŐgźyÖ™Kł bi.^ÇÔP+uŻíkĐ~y8)»Eĺ Ős‹Ą™XţqîU0?ż¦ąóUŮ·®gD̢›-ľ,C¸řŢäÍ,Ó;®Űtě7y3ůŃ66űQůÍ۵ýUPnÄ,ćzĚšüŰŹ9Fv˝µ !f1ĆP?fłcňcđeňcŢżÍ´źˇ—¶ö}^L d)ÉŢg×ëFe?(µ8¸Xl“©ÝŽ%kGĢ۱tśhekŰSÚ‚í�´0}®îťĺ3”Íl»]ĄĆÍ.;"˝|X˛‹í l»ź–¦ŘżwoA D,uüt×öŃ—ż?Ď Ę+˘xˇ|¶(QN%w¶r-ÖóŐ3•n€öń¸Š/«żŠą+č¬őšuŤ=ę9(Uë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUlëF7~ľŽ>,MńČ·ł®CÄŇ,Xš‹×15ÔJÝkű´źÇFNĘnQ9hőÜ"bi&–܆{ŐŤĹŹ?ţ”4Ĺxţ\1‹n¶ř˛ ĺâ{“7łhLď¸~Ó]pßŕÎě/ʞ«‚üćíÚţ*(7bs=fMţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ďßţ·źăk^€© B’ í; ‡^ŘÔ3(űÁ¨í€Áu b›DívD,Y;"ÝŽĄăD+[ŰžúĐlž…ésuď,źˇlf»Ří*5hvqرčĺCÄ’]l×ÇţµáLsŹ”:áx* "–:~şkűčËßźgPĺQĽP>[”¨ §ż’;[ąëůę™J7@űx\Ĺ—Ő_ĹÜtÖzÍşĆő”Şu“˝ˇâŕćW˙ÚvoZľ])ż…ţ*¶uŁ?_'Ž“‘“'Ą)vîÜ)O?­?•Kł bi.^ÇÔP+uŻíkĐ~y8)»Eĺ Ős‹Ą™XţqîU4?÷üŮ˝{·4Eť GçÄiłčf‹/Ë.ľ7y3‹ĆôŽë8Ý÷ îĚţň(»*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţí_űÚ°MF÷€© B‚$ü·O•ý Ôv ŕ:@±Mžv;"–¬‹nGÄŇq˘•­mO}h ¶ÎÂôąşw–ĎP6ł]ěv•4»8ěXôň!bÉ.öę#ŘzźHÚO_I|îٵðK?ݵ}ôĺďĎ3¨ňŠ(^(ź-JT†Ó_Éť­\‹ő|őLĄ }<®âËęŻbî :k˝f]cŹzJŐşIŤŢPqpó+Žm»7-ß®”ßB ۺэżŻĂ÷·ż57ŻŢůŐ»2VD,Í‚ĄąxSC­Ô˝¶ŻAűyläá¤ě•VĎ-"–fbůÇm¸WMŕXüŤ»ďmkn^ ¶Ţo8ÎA̢™-ľ,C»řŢäÍ,Ó;®çtÜ7¸3űËŁěŞ ży»¶ż ĘŤĹ\ŹY“ű1ÇČ®·¶!Ä,ĆĘâÇ bs C~ ľL~Ěű·?íçŘŁĎfÓLA˛Ŕ” Őę5ĺλŕ¶~ăAQăĘzđi;@pŘ&M»KÖŽE·#bé8ŃĘÖ¶§>´Űfaú\Ý;Ëg(›Ů.v»JŤš]vD,zů±dSőîśń—îL¬©÷˘¦çȲć×í[6‡ˇT&'¶ý\eřf3řűŇ–júĘXKůr'FÄbITË_Éť­\‹ő|őLĄ }<®âËęŻbî :k˝f]cŹzJŐşIŤŢPqpó+Žm»7-ß®”ßB ŰşŃM‰z Ň{“§ś59Ż~öłź—ńńvtfŻ~=˝ú7Řă6+sbbµ#¦âNL¬îRă1Í]C­Ô˝¶ŻAűyläá¤ě•VĎ-"–fbůÇm¸WMŕX<>>._úňń÷&çUť+Ă‘2bÝlńeâĹ÷&ofŃŢq]§»`żÉ›Éʶ±ŮŹ*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţ­Ů~ÂJ?t_ňŞÚ~Í«�“Z4LI˘qűä‘c˛ĺ«÷¦­†‰@2׉m˛´Ű±díXt;"–Ž­lm{ęC[°`¦ĎŐ˝ł|†˛E bI±dí§HÄńâD†ŹHŕ¸^Q—ČwôŠ…í[6usbŰĎĺP†o6ż/m©¦ŻŚµ”/wbD,–Dµü•ÜŮʵXĎWĎTşÚÇă*ľ¬ţ*ć® łÖkÖ5ö¨ç T­›Ôč 7żâř×¶{ÓňíJů-ÔđW±­Ý”ó‰XFGGźW<$źřÄ'±4 "–ćâuL µR÷Úľí籑‡“˛[TZ=·Xš‰ĺ·á^5Ácń§?óy9tčpăójtNÜzń‹ń˛~ÜE3[|Y†zń˝É›Y4¦w\ßé.ŘoňfňŁmlöŁ ň›·kű« ÜYĚő5ů·sŚězkBĚbڎ,~Ě f1Ç0äÇŕËäÇĽ«·źĂw?"cGŹ7:ŻL˛Ŕ”$’¦ýâçîlĎ Xlß® W/"ëATʇ%kO}h ¶ËÂôąşw–ĎP6ł]ěv•4»8ěXôň!bÉ.ćÚ~ô‹ł5˙–¬ š;ĽëřŢřÂú$¦)‘’’(Ă7›Áß—¶TÓWĆZĘ—;1"K˘ZţJîlĺZ¬ç«g*Ý�íăq_VsWĐYë5ë{ÔsPŞÖMjô†Š›_qükŰ˝iůvĄüjř«ŘÖŤnĘůŠć¸=;¶Çß'b^ýđ?|$Ś9nIUżŚ^ýlq›Ť•Ť91±ÚSq'&Vw©ń扮ˇVę^Ű× ý<6ňpRv‹ĘA«çK3±üă6Ü«&x,ŽžĆň±Źýkü}"ćŐńčÜXYŽsłčf‹/Ë/ľ7y3‹ĆôŽë<Ý÷ îĚţň(»*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţ­Đ~ŠŢ˙Ą{’5·ůajC ‡)C“F‹CűČ źü˘aŕ—ŚÁu�b›ívD,Y;"ÝŽĄăD+[ŰžúĐl”…ésuď,źˇlf»Ří*5hvqرčĺCÄ’]Ôë#xîŁ"Ç÷h*ü ˛|Óü:<tB6ľ°NO¬¤$ĘđÍfđ÷Ą-Őô•±–ňĺNŚĹ’¨–ż’;[ąëůę™J7@űx\Ĺ—Ő_ĹÜtÖzÍşĆU~ĆjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠmÝ覼Ż=;·ËČČÉ ›WwîÜ)ő×˙Ďş~=@ÄŇhÄT܉‰Ő]j<¦y˘k¨•ş×ö5h?ŹŤ<ś”ݢrĐęąEÄŇL,˙¸ ÷ŞS0řĂ˙$»wďž°y5ÎŤźýgÇ99bÍlńeúĹ÷&ofŃŢq˝§»`żÉ›Éʶ±ŮŹ*ČoŢ®íŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ĹĂ/“óţ-×~ööë2ş˙P#ó*Ŕd! Lô—¤yżđ©/ɡ7Z�\¶IŃnGÄ’µ#bŃíX:N´˛µí©mÁv Y>W÷ÎňĘf¶‹Ý®Răf‡‹^>D,ŮEøş­¨g?–¬Í©đ›ą0ÄxiýZ9rđ ä2Xeřf3řűŇ–júĘXKůr'FÄbITË_Éť­\‹ő|őLĄ }<®âËęŻbî :k˝f]cŹ*?cµnRŁ7TÜüŠă_ŰîMË·+ĺ·PĂ_ŶntSŢ׉cÇd÷ömń÷‰śW˙ćoţVžyćŮÔšúő`KŁSq'&Vw©ń扮ˇVę^Ű× ý<6ňpRv‹ĘA«çK3±üă6Ü«NÁXüÜskäţńŁń÷‰śW幏I°ťăÜ1‹f¶ř˛Lâ{“7łhLď¸îÓ]pßŕÎě/ʞ«‚üćíÚţ*(7bs=fMţíÇ#»ŢÚ†łc(‹3YĚ1 ů1ř2ů1ď_żö3ôŇ6Ů˙ąŻ'K Ě«�“ „,0Ą0©đ#žýđÇłł§6÷¶ÝŽ%kGĢ۱tśhekŰSÚ‚í�˛0}®îťĺ3”Íl»]ĄĆÍ.;"˝|X˛‹†ú^ďóč_$kTáŰć×µĎ>•äIII”á›ÍŕďK[Şé+c-ĺËť‹%Q-%w¶r-ÖóŐ3•n€öń¸Š/«żŠą+č¬őšuŤ=ŞüŚŐşIŤŢPqpó+Žm»7-ß®”ßB ŰşŃM…ň…ęöÍ/ĹßOĹĽú;żűţö+†ę× D,ŤFLĹťXÝĄĆcš'ş†Z©{m_öóŘČĂIŮ-*­ž[D,ÍÄňŹŰpŻ:cqôJˇţŃźĹßOĹĽ*ŹEçĘĘqŽŽE3[|Y¦ń˝É›Y4¦w\˙é.ŘoňfňŁmlöŁ ň›·kű« ÜYĚő5ů·sŚězkBĚbڎ,~Ě f1Ç0äÇŕËäÇĽÝí'~îG?›xkp^L d)…M…řĄ-ňĚß|$1jâ}`m·#bÉÚ±čvD,'ZŮÚöÔ‡¶`;p,Lź«{gů e3ŰĹnW©ń@ł‹ĂŽE/"–좹>‚G> rŕ…$E*|ŰüzäĐ!YóôReřf3řűŇ–júĘXKůr'FÄbITË_Éť­\‹ő|őLĄ }<®âËęŻbî :k˝f]cŹ*?cµnRŁ7TÜüŠă_ŰîMË·+ĺ·PĂ_ŶntSÍ×öM/ɉăÇăď§b^}ţů5ňżń›ŇXŤŠ;1±şKŤÇ4OtÍ„íç1T˝Xéd}™ĘmQ9hőÜ"bi&–܆{Ő)‹#~ď÷˙ݬ[·>ţ~*ćŐč\ąőČ“ďÖsuÄ,šŮâË2%ďMŢ̢1˝ă:PwÁ};łż<Ę® ň›·kű« ÜYĚő5ů·sŚězkBĚbڎ,~Ě f1Ç0äÇŕËäÇĽíeßó÷˙.Ă›¶'žx ś! x¦ <ןeŮő×J}¦˙"ŰŚčsŐŞł<r844,�i˘ń;š0ŹlŢ&ăĂ'eÉË®p`Ř&?»=°§/sĐč8ٱPŘdlŐ®‰T/"ëÁQʇ%kO}h ¶ĆÂôąşw–ĎP6ł]ěv•4»8ěćĺâň!bŃíg–ĄőÔߊzá‹ńr«•>ĽJN^š>éĚŻG5>.‹–.óŘJľŮ ţľ´Ąšľ2ÖRľÜ‰±XŐňWrg+×b=_=SéhŹ«ř˛ú«»‚ÎZŻY×ŘŁĘĎX­›Ôč 7żâř×¶{ÓňíJů-ÔđW±­ÝTóµkŰŮ·gwüýTÎ«Ń ż'NČ­Żxąô D,ŤFLĹťXÝĄĆcš'şfÂöóŞ^¬t˛>ŤL嶨´zn±4Ë?nĂ˝ęŚĹů—’Ď|ćóń÷S9ŻĘÁ—¤5>$jĹőí™é.ٲÓMí–Ä–Ő5F÷‘űšß (ČŻVBkúŔîĆâË”ŻŔ\±6‡V×–”]tÔŁ–mcłs6ŚÍĄ÷+·«ąh Öćho§A‰}ĺl?Ým‚"“3OÎöc4Žâ™'wŮοΙ”F?Ł­™ą ٶS[W1nl,¦»ěĹŹ1q/[–Ő†čž}=ëĆ]‡™ü×ĄŚ¶˘yöťLʞ»vOaű‰ zýźü˛şűářű©WáôaćĚ™ńçŽŰ˙V’żáögţO¶IBrD¶Ęś!Ý“—ë7$b–«ŻHV©^šĚ˘í&‡fěém7$±äěžőQ±|f»ÇţÖ2€% "–¬15hvqŘő}ťűj)_ Ć$Îýť«ŹRĺCÄ’µOËřšŹ—ó'/‰­˙ÝsÍŻ‡ě÷ł(Ă7›ˇe_Şé+c-ĺËť‹%Q-%w¶r-ÖóŐ3•n€öń¸Š/«żŠą+č¬őšuŤ=ŞüŚŐşIŤŢPqpó+Žm»7-ß®”ßB ŰşŃM5_‘eĎÎń÷É0Ż>ůäÓ}ł bi4b*îÄÄę.5Ó<Ń5¶źÇPőbĄ“őid*·Eĺ Ős‹Ą™XţqîU§`,ŽD,˙—‹żO†yUö>ŹE1‹1} îl šKďWnWsѬÍŃŢNł66.12)Ť~2F[3s&0F)l§¶®bÜŘXLwŮ‹câ^¶,« Ń=űzÖŤ»3ů1®KmEóě;™(ewížÂöz–ý˙öe9pÇ}ń÷‰šWáô!‹{]ŕńX–]Y &Y1ËĐž}˛ě†kÚ*Ť9šOň\öŔžŢvCKÎîYËg¶{ěo-X˛ bÉSăf‡]ß×ąŻ–ňbLâÜßąú(U>D,Yű)±„;)zťíI,ńVŞÂĎŠY†‡ŽË’+EżDŁ ßl†"”}©¦ŻŚµ”/wbD,–Dµü•ÜŮʵXĎWĎTşÚÇă*ľ¬ţ*ć® łÖkÖ5ö¨ň3Vë&5zCĹÁÍŻ8ţµíŢ´|»R~ 5üUlëF7ʨŃë„lOb‰8Uój$fٶm›ĽîµŻ©KŁSq'&Vw©ń扮™°ý<†Ş+ť¬O#Są-*­ž[D,ÍÄňŹŰpŻ:cńřř¸üîďýˇőI,§j^ŤĹ,ÇwŠ:ű’ľˇ™Ëť¸oNŠ fÉŻÔrd]gphumŮAąĂözÔňŁmlöcΆ± ąô~ĺv5mÁÚíí1‹acăbP#“Ňč'c´53Wac”Âvjë*ĆŤŤĹt—=°ř1&îe˲ÚÝłŻgݸë0“ăş”ŃV4Ďľ“‰âQv×î)l?’ĚŢ{?üI9ô ó“Xâmx ä@Čâ^x|–e×B(…yŕ2ŻÚűÄ32ďÜŐ2sńBËIž8ě=˝í†"–śÝł>*–Ďl˛‹^űKD,Ycj<Đěâ°ëű:÷ŐRľ@ŚIśű;WĄĘ‡%k?µ"ŮżVäţßŮůhĽx*N^Šć×č5Cűöě’ąóČŚöAsş ®vŕ‡˛/Őô•±–ňĺNŚĹ’¨–ż’;[ąëůę™J7@űx\Ĺ—Ő_ĹÜtÖzÍşĆU~ĆjݤFo¨8¸ůÇż¶Ý›–oWĘoˇ†żŠmÝ覼ŻÇŽÉć×ɑÇâĺÉ8Ż®[÷‚ÜsďýrŮe—ČňĺËĄ XŤŠ;1±şKŤÇ4OtÍ„íç1T˝Xéd}™ĘmQ9hőÜ"bi&–܆{Ő)‹ź{nŤüĎ_ýßňđĂߊ—'㼽f(Řń /™µÄr/2÷ÍÉŘŁŃnIlYmż1ä}äľć7@Ěb‹‘ËŹ¶±ŮŹ9Ć‚ćŇű•ŰŐ\´ks´·SÄ,†ŤŤ‹AAŚLJŁźŚŃÖĚ\… ŚQ Ű©­«76Ó]öŔâǸ—-ËjCtĎľžuă®ĂL~ŚëRF[Ń<űN&ŠGŮ]»ÇŐ~†7n•ťńOrü™őń2"đ!‹{]ŕńX–]Y 4E'/ĂɶoÜ/,şüÉ7sóÉ_´Xěbż!%g÷¬ŹŠĺ3Űě˘×ţCÄ’KÖ4»8ěúľÎ}µ”ĎwŚJÉŐG©ň!bÉÚOť%~ ËsőĐ˙ töǶSyňR4żž–[6ÇÖ…‹—tĎ5]íŔe_Şé+c-ĺËť‹%Q-%w¶r-ÖóŐ3•n€öń¸Š/«żŠą+č¬őšuŤ=ŞüŚŐşIŤŢPqpó+Žm»7-ß®”ßB ŰşŃM9_ŃĽşgçvŮúŇ‹2:2Ű&óĽşwď^ůÔ§>+j\ÉM7Ýŕ•'D,ŤFLĹťXÝĄĆcš'şfÂöóŞ^¬t˛>ŤL嶨´zn±4Ë?nĂ˝j‚Çâč),˙÷‘ßţť÷Ëľ}“˙|5>§~é+ÉUeW[n âľ9{4Ú-‰-«í7fĽŹÜ×üYl1růŃ66ű1gĂXĐ\zżr»š‹¶`mŽövŠĹ°±q1(‘Iiô“1Úš™«01Ja;µuăĆĆbşËXü÷˛eYmîŮ׳nÜuÉŹq]Ęh+šgßÉDń(»k÷h~ÂÉęŕçż&»ţî_eěБ؄Ę0Ő„,ľ­Ľp*Ë}w}–ĺÎźI´2ж äţ˘uóŁĎn¸ůČáÁ‡ MtˇRig*<ŃęŮf.Y,|Çäěo»=y§j/Yn«Ŕbű D,9»g}T,źŮd˝ö"–,X˛ĆÔx ŮĹa×÷u|“8÷w®>J•KÖ~ŠD,ŃÎyń ˘Öü›Čń=Ýt“ĺäĹg~ť1s–śwŃĹrÖęó˛YVR6š}©¦ŻŚµ”/wbD,–Dµü•ÜŮʵXĎWĎTşÚÇă*ľ¬ţ*ćNą őšuŤ=ŞüŚŐşIŤŢPÁ—5UE_Ĺ›–oWĘoˇ†żŠmÝč¦D=…é˝{dĎŽí22r˛k?ťćŐ•+WĘŹţČ{ĺ{ľç]í|›ü-‚4 "–fbu—Źižčš ŰĎc¨z±ŇÉú42•ۢrĐęąEÄŇL,˙¸ ÷Ş ‹#˧?óyůŘÇţUvďŢݵźNóŞš˝LZ—ż[Ć/zk|Tż·h©ĂĚ=GĄŮ ą±ß3r>Rvă• G5ůÍř‰Ó‹#˝2›-ľLůęÖŹ3NĎŹűĆłrßWvÔŁ–mcłŰ˝f-N †ôĹĺ ň›‰8v˝eż%öU’Ţ1fĘ®·wžśíÇâ+(Ń~Ě1˛ë­mČłď¸Űh’Fosůű~×®l´S{5IJŽAö˛?f”‡ .+đěë7}˝›뺎=—czŹöăŮNÍí!JÉ‘{’_ľGFěš±@Y.\>öŘ#·…ăáßáöçXîOµ?ÇS*ő™˙˲ë3˙=Źk]ŚoK<ןeąó‡úŽůä%^“9™>oŽśőŞ[eůÍ7Čü ĎĎĄÔoHv•-n` i˝xť;첧W™ŹŢ6&»2nšú’:Ś7_»˛ŘłÝZ˝Xů�ý*źŮd˝ö"–,X˛ĆÔx ŮĹa×÷u|Ú©°aĂ‚ú(U>D,Yű)±ě_+ÁÖűdüĄ;E†ŹtÓN\â­NáÉ‹ďü:mú4YuÎą˛lĹ*™·`ˇ”Śb_RRËWĆZĘ—;1"K˘ZţJîlĺZ¬ç«g*Ý�íăq_Vs§Ü†zÍşĆU~ĆjݤFo¨ŕËšŞ˘ŻâMË·+ĺ·PĂ_Ŷntăç+z…ĐáűcËččh×~:ϫх©·żý;ĺŰ_˙mrőŐWĄ¶·z–&AÄŇL¬îRă1Í]3aűy U/V:YźF¦r[TZ=·Xš‰ĺ·á^5AcńsĎŻ‘oÜ}Ż|éËwȡC‡»öÓy^•ó$¸ŕ ˘Îy•ČâKłIłčf‹/łˇťĆ§çÇ}ăY9n$‹łµüh›ýůÍ۵ýUPnÄ,ćzĚšüŰŹ9Fv˝µ !f1Ć,~Ě f1Ç0ä'e~i‹ü9üŔŁ2vôxwődśWáô�!‹{]ŕńX–;Y \'/‘9żnćâŲřŠKdţ…ČśłWĹOm™6ož´¦OďN®kgXňvĎú¨X>ł=Č.šęCË�"–,X˛Ćvű7ÚĹa×÷u|Ú)°aĂ‚ú(U>D,Y{“"–đź±a‘ˇđ¸ĺŘîđprł¨}kEí~:óô•Ř[ĐyĚëä<y);żFOiY´d‰Ě_¸HćĚť+3gÍ’Ái3¤5Đý7pĘľdiŰŽśÚ­Ą|ą#b±$ŞĺŻäÎV®Ĺzľz¦Ň Đ>WńeőW1wĘm¨×¬kěQĺg¬ÖMjô† ľ¬©*ú*Ţ´|»R~ 5üUlëF7†v0>.ŁŁ#2rň¤ ť8!'Ž•هÇËi¦ÚĽ=Ąĺ¦›®——]u•\ž»žuÖ*Y´haü8á hI?ęÝťßĚ’LXš‹×15¶źÇPőbĄ“őid*·Eĺ Ős‹Ą™XţqîU}‹Łąfhh(ľÎľsç.ٸq“<żf­<ţřS™§ŻDLµy5~JËň«E–\ŢuX-2gą¨á ˇú×ĚŤgĄŮM1í7’s>Rvă•!Gµ"f1ף–mcłź  ży»¶ż ĘŤĹ\ŹY“ű1ÇČ®·¶!Ä,ĆĹŹÄ,fÂ9'</?zLF÷”“;vÉđĆ-r|íK2–zúJěo’Ď«0ůAČâ^x|–ĺÎBhŚÎɉ˛ž]ćů���§›ň>˘sŇ2YN^_�`˛ĂĽ ��Đ?W��úÇé4ŻÂäfŞ Yŕ "=Đ›O^‚Ô»Ć{'9óË+��8S‰¦§Ţ¤ť|ę{ćW��L0Ż��ôćU��€ţqşĎ«� B8#)>‰SuÓÚÁÇ ��”!0?OÔsŰÉŻľg~�€‰„y5NŐMËĽ ��u`^ŤSuÓ2Ż�@¦úĽ 0 d3Ó ĽÎD‚”��hŚô\uşś¸0ż�Ŕd…y�� 0Ż��ôŹÓq^h„,pĆSý�� ¦‚ęžů��& Ě«���ýy�� đô�;Y�R¤'ŚüÉ '3��Đů“”©xŇÂü ��ó*ó*��ôćUćU��čgÂĽ ĐO˛�X(;pb��&Šć“3í„…ů��ęŔĽš…y��ęŔĽš…y��ęŔĽ Đ_˛�xRôČI& ��(‚ąB‡ů��ŞÂˇĂĽ ��UaŽĐa^�€Ş0G�Ô! @ |'"Ôů��SNLú ó+�Ŕ™ ója^�8ła^í/Ě«��g6Ě«�B€ €‰ �� ˙0ż��ôćU��€ţÁĽ ���PŹ–�����������������L˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤�! ����������������L ˛����������������Ŕ¤ŔWȢ���������������� ^ÚžČ����������������“„,����������������0)”É Ż4���������������č“Z‹ÁY����������������`R€����������������&M Yx%���������������ŔÔĄmHÓOdAĐ���������������0uhT «…����������������`R0(“žę���������������PźIŻÁŕ‰,����������������0)@Č����������������“‚S%d)ű¨^/���������������PťÓB«1(S„.���������������p&3%´ĽZ����������������&Y����������������`Rpş Y”§ ���������������ŕLă´×UL”Ąź•˘r����������������Đ”®bB4ĽZ����������������&§BČÂST����������������&?®ńŕ‰,����������������0)č·…§­����������������ś9ôU+2(“‡ŞC<���������������PMCˇdi/&Ë«…Tîű¤Ş$���������������€)„I›1)t-dQž¶ô:-����������������ő)Ňa”ŐuôťSýDßÂŽKV ”W!v��������������€3™´†Âô7^ŇĎ)ˇBUs}ŮX6 b���������������81i(LŻęWśŞë )#d)L5Ľ>—.Š˙ ���������������ęô4‰fBJk-[_9ýDľZ¨©'¦Ä~•R‡˘O„,���������������p&ĐŃHt4Ұ6c"H!Kš*T{ř7ľ+Z@Č���������������g=ŤD¬™p˝F¨ź:ŤFiBČRµ Ęó/źv<ú—-ŃŠVëTis����������������&ŽŽF˘­™čj(Ä®±(Ňc”Ąďb—SˇúP†eĺXź'_éă±q|ě…čsppP����������������¦:ŤDG3!M…Ľ^C9ÖO§úń%ý(đXäçĉă룅���������������ęt4mÍD¤Á“úL¸x%Mż„,EďXŞSH›â'ŁÚąsűóŃçŕŕ@ęP����������������SŹHi$":š 1żZ¨CťWu¶OÚÖ×b˘źČâó !Ű»ĆĹü>§hyěhH¸řPä€× ��������������ŔT¦§ŤP%š‰ři,&M…Ika»tđŃw4BY!K“™óy×’ĘĄíüŤFĆáááoDźÓ¦M���������������€©JGŃŃJH˘ť0 T|´MëAĽię‰,Şäú˘ĺ"˘ť1ľ{÷žxçLź>Ť× ��������������Ŕ”$ŇDDÚ¶V"zâĘh.YÓÚŤFÄ/ůj!UÁž~ÔMç/żżZ(úÜłgçžńńń;˘Ť§Oź.����������������SŤŽ&b||üÎH+!)í„č eX®˘áú)dń-LŃăkĘ<â&ť~$ú<zôČg˘3fĚ���������������€©FGqôč‘OKJ3!fÍ…Maµ”y-Q‘˝4U„,ý ^ĺ‘4ů§´¤UCŃNá…uŹ„ć‡Z­�1 ���������������L)"-D¤‰´‰F˘§™¬–"ŻłpQVĂáKi?MľZHyÚLv[Ą¦+7˙=J2ú~řđጌ3gF;o"ßž���������������Đ ‘"ŇBD´µ‘^"ŇJt4"fm…íá!iĘ<mĄoO`ÉÓo•GˇŠí{QžĆŇůŢy*ËĂccăź‚ Ü3���������������ŕt'Ň@DZHi#$ű4“ŽÂőš ŽÍĄá‚í]ö˙ż˝»ůŤăĽ8ţě,—”MŞ Ë•Ń(Z¤i zjŃ[{é˝˙A˙EŹmůr—kÉ)ňČ ŔÄâCśŘ–,‰b”Hînřh4š—gfg–Cňó;ó<łKJĽ~ń{ząěq%©˙auănʵĐňôő4Ţřá_ av¸»»»»»�������ઊíCl b qŢDśµ±‘­DůÔ›\[wQ|®ęzëú†,©żtÓ?ľ­âY7¬— ˘â$–FÇŢxxxř…řˇW_}%Ěçó��������pŐÄć!¶Ql!b.úÖR55ĺë¶čĄIŻ f“şc–¸Wu]ő^~®ĽV~.ľÇg]ń=qmçŃŁŹß»sçO˛,űűťťťprrÖëK ‡��������’eYö÷÷Oßg±{řÚĎţΗĂy¤ň4<VŠŻ^<V¨xĚP]ÔRĽŻŇu˝·m„,ĹűŞXĄĽß°¬k>[ľĎ˙ŁçÜ˙ÉÝ»ö7§ĐżśĎwÂńńq��������şŮlv±ěěĚĂzľ˙Î;?ý˙đ<b9/O^)G+Ÿ%„´i,]×µéy;łÄőM¦˛4=Sősó -«‹÷ěÉ“?üđő×ßř‡ů<»k2 �������0uů$–óeýö˝{ďţĎŃŃQ XŽ.^±‹X†•â«8‘Ą*`©›Ć’ą´éeڞTíuťĘR÷=ĹgÚ>˙0Ůéňäřxů×^ű“ĎźÇ,‹°\.Ĺ,�������ŔäĚçó"–÷ß˙Í=~ü»ß‡ó),ĎÂyŔ’Ç*ĺ©,!TOg)ď…Â}YĘÚ(ŃŦ!K4ÖT–¦#†ęÖÖűńŹ2?<üôŮ“'řÎëŻßů«xĚĐŢŢnX­ÖgA �������Ŕěîî†ýełłă„îÝ{÷ż?ţÝăÓ­“p~¤P±äŻ|*Ků8ˇŞé+uË$¦±Dc†,U{uSYň÷Ô©-)?«(ţŃâd–ĺýű~űÍ7ďîgYöůĹbqú‡ź›Î�������\Şx”Đ+ŻĽnÝÚ;»_.—_}űíźţßŃŃQśŔ'±TE,ʼn+UkmG ĄÄ,UkŁEC„,ŃĐSYň÷ňóëšµŞď/[^ěg|ôŁĎ|ćŤ÷‹Ĺ?ĎçŮ"ÖLgÎ�������lŮŢŢ^Řßőě(ˇf‡‡‡Ďţ÷g?{ű+Ἁ8 çËŞćUŽXBxyBKq-îC¨ŹR¶>Ť%;d©ÚëłÔ]ŻKĎ®žYÖO.îçŹ=řŐÉÉę›·_˲Ů狝°»{^5­V«��������0–Ůlv°ě‡ÝÝĹŮýrąţĆüö?ýë÷Ţ ç}C Xž]\çÓXňëŞI,!Ľ·äĘSXĘKÝ{ůşę~Pł0śÔĄíşî¨ˇŞëěâ:+Ü×ňgçĄőťÓ×­‹őŮg?űąĽ}űöś^ţSţˇăăăprrâŘ!�������`c1VŮŮŮ ‹Ĺâ,^ynýăO>ůäK÷îýň'áy¨#–8°Ł¦”–bČÂËKSŔ’Ż4E-!q/Ůe„,ĺűş),]–rČ’ßĎ ĎC–|=ž)´—?–ýýϲěß żK89Yž;Ł–8­%†-ů ������� (+ů+˲łxe>ź_ôÜjµúÖ§ź>ůz!`‰Ż8ĺ(Ľ<…eUxf™E¨YBH WÚŽę2Ťer!KŰ÷mrÄPץŻďË!Kľc–ťüŮ7ß|ëÎť;oüëŢŢŢż§´��������lfýăgĎž}ďáĂGßýř㏆ç‘Jśľň,<SĘ!Ků(ˇâ}Ý#–¦÷ňuŐ}ę^'C‡,mß9vĚR~§łdá帥˝Ä -‹Âz888¸ýÖ[ţw·nÝúŰ,Űůë, qşuw6›˝vúw¸Ćů?�������®¦uł§ëőúńéĺýŐ*üfµ:yďéÓ§ď~ôŃońäÉ“Ož?wź‡ó ,ĺ8Ą­•rÜŇçˇÉE,Ń”B–â}ץj­jKUĽRżÄ‰-‹‹÷yhnŠűY¨×ç˙[(�������Ăé^4}fUz®-Y^ĽŽCőÄ•ň1BUG ď›~nź%ĺ>uŻł±"‰M§˛Ż7‰ZĘJŐÇ Ő=—żĎ ŻŞ#ŚŠęB–¦ŔĄLĽ�������`t]"ŚUâzŐ‘?ËÂkUú\Ýt•âD–¦çBvËĄE,ŃÁĶc–ü˝)j)Ne áĺĄ*d™µ|Vú}ëţÝ©˙×"�������ŘžÔcݰ^Ü[•žŻ;ꧨ÷Ë{ĺĄéű»Ľ7]Wݧîő¶ĆáYâ^ń>˙‡Î ëĹ÷˛¶ý˘UéůâwdˇúŹ[˛”÷Pńlq-! �������LQץ*ö¨ YŠ{M!Kńľ|]÷ -ďMÁJÓżŁé>uo#Ű&úNf)Ţ9Ą%őUţąYÂuĘďŰFČ�������ŰłIČRµ¶J¸.G')݆›ľ2É%ÚV4Ń%f)Żm±T˝W…(©G Ő}oŰď\ľn"f������€ńuŤXÚ®Ű"’¶#†ŠďĹëő@ďM×Mk){Řf01븟łT­uťÖR QR'Ż4*łĐč´ł�������ŔxşDuÁGÓ$“¦#‡ęb•Ş ,}ŢŰÖĘ×U÷ˇăţ ¶K łŻű.QÝ–â^yżîůşź*ö������€é[·¬×Ĺ#)QKÓ„–Şź‘¬¤NŹ ÷ˇăţ`.+ŞčrÔPJÜŇwbK~]ŽT˛†çšîCĂ~hx6…��������úëc4E,]¦±TÝG«ŠgşF*]¦°¤Ü§îŤâ2ă1§łŻSc—¬ć{˛†ďo YęÖšÖS‰Z������� Ý¦!FŰ4–şµş %ZuXrňĘd§°M!z:KńşĎţ,ńsmż[ÝZĘŢ&D.�������Ü$c]'•T…")ŃIźÉ*]b–”űÔ˝ŃM%zč|´éSľî3ÍĄËg«>W÷Lč°�������l_—i%ë6ˇĄ|˝i!Ę&GĄ7©{[1µbĚé,C\§„,)k){�������ŔĺŘtKym“hĄĎuĘ}ęŢVÍĂôl2ťĄ|żÉu•u¨/©D)�������p=ô‰>ŞÂ•”ă…šö†XęÖRö¶nĘńĹPÓYĘ÷]Ź%ę{_·Öe�������Řľ.G Ő­uąď¶ôąOÝ»4SśČR4Öt–.{)÷�������Ŕő1DČRµ6FÜRu_·–˛w©¦˛DCĆ,cÜwY�������¦oÝó™ˇc–>÷uk){—î*„,Qź#z.3XI‰X„.�������0]cĆ,Ukc,)ű—,ąM§łT­ őLŰzę>�������0}ă>ńJßgęÖRö&媅,Qץn˝oŔŇg˝m�������¶>ˇHęú¦±ĘµX˘«˛D}§žŚq\Đ6&°`�������`sCDcNhé˛Ö´žş?9W5d‰†ŚY†\oŰň3�������Ŕ0úDcNi點ş?IW9d‰f<3t Ň%D­�������Ŕôu‰AÖďő XRꙤ«˛D›Ä,cíőy�������ľÔHdč°ĄmŻË3“uB–ÜAKĘ~ę3c~�������čnÓřcŔäF,ąë˛DCMI#Z©�������ŔŐŐ5;néóÜä]·%úČź©!$Ś������€zŰŽ;†ŽNn\Ä]Ç%ęyŚőěź�������¦Ło4Ňĺsc={%\×%ęŹ\Ąă‚Ä1�������Pď2#Ź1Ž!â3“wťC–Ü6‚–ˇ?�������Lߦ1‰€Ąä&„,Ń&aÉXQŠŘ�������¦k¬`d“ď˝ÖKtSB–h¨pD€�������¤*>ąöKt“B–Ü!Џ�������#6ąKî&†,ąmĆ'B�������¸ú¶•ܨ€%w“C–śČ�������аä„,/µ��������ŰvŁă•"!K5A �������06K‰%Ť°�������Ř”pĄ…Ą?q �������PG´Ňe"�������¸ţÄ*˛\â�������n2QÉ5 ~��������`˛��������� d�������`„,��������L‚�������€I˛��������0 B��������&AČ�������Ŕ$Y��������„?Źz€ŮŠ����IEND®B`‚�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/flathub.png���������������������������������������������������0000664�0000000�0000000�00001556172�15234476640�0022002�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR�� ��@���ţ2µÜ�ÜAIDATxśěÝ`$eŮđg“\®rGo ‚4•" *‚‚;V,ŘPQlXAQP{ýlX°€ ¬éŠŔq´ë%ĺŰw’ÉÍnv“Mß$żŽ»S¶$—ŮňΞ§%��������� †–���������€Ě���������¨IŔ ��������€šĚ���������¨IŔ ��������€šĚ���������¨IŔ ��������€šĚ���������¨©-*J��������ÍŁ;ô„’Ɔß+��������Ś?ˇ¶Q&5|~w��������0yź Tcüž��������`ę:„ŕTm~/��������0ýśU¤Şä÷��������šő¨ň;���������ę›Öałé®Ďź] ��������Fßx†ż¦eĐl:źĆâg �������€ć3ˇ°i4›NÁ¨ŃúY…É��������`ň­€Ř´šM—°ÔH~αú Ş�������@ăĆ*Đ5’űťň!łérÎĎ8Ňß‹đ��������Śż‘ľ†sű)2›ĘA¨ń–MäďO �������€Éd"XC}lAł^S5¤4”źk¬¶ŤŰ��������ő 7Ô5”ŰŤŐ¶“ÂT >5ú3MÔvŁEh �������€ÉdĽĂWŤ>ŢDm7)LµŇh…ÁąźÉÔN��������¦š±h{Ů=ÂőCÝ®éMĄĐÓHCa:íŰ�������ŔT0Ň€ÖX‡ÉFăţ'…©hË`ŮHiCÝ��������şŃ¨*6놲MÓšěá§‘„ˆş|$ëF˛-��������Đc(a­ŃŤ uůP·iJ“9č4Ü––c˝|°uŁy��������ކĘŹŕŘpf“2d6YCMŁ.ɲ–7şľÂg��������LEŁşn°«{”— ´ĽŃőMg2—†S9l¸!˛‰®j��������Ô6–ŐĘĆ2h6©Bf“-ô4Ô�×pCdĂŮf°ĺŤ®��������ęËŠeٵM˝eŤ¬k*“%ě4śĐVi”çGşl8Ű���������=ş‡ąÍp—ŤtľŢ˛ˇ¬źp“!ä4ŇŞec=?”eĂŮ��������¦»± —Ťő|˝eŤ¬›pÍpÍpŮp×52?”eCY�������� ŻŘh‡Ë†»n eŤ¬›PÍpJ¸l(ó:Ęz��������`tfc&ŤęfŤ¬›0Íp«ŞeC˝ŢČşÖ¶|°u��������@ŹáłŞ`Ł(nč¬Ţ˛FÖŤ»f 8ŤVŐ˛±ş>X l¨UĚĚ��������`pC d ¶¬;F/D6ZŐÍ]7®š%ŕ4’ŞeŤÍF&k´ÚYőíęmCX�������� ­Efw40«ľ>’ĐŮpŞˇ ´¬‘uă˘NcYµl8ëK Ţn°çVoY#ëFBh �������€‰4Vˇ¨‘V1+Č Ś ´Ípf“¶šŮD†‘†ZÝk¸í- “ĺZj¬hůp[f´ĽQBd��������LF# KuayŁ-1»†°| PŮh·ĐŚ!®TíŞeC]V+(V+T6X l°VťŁ0*�������`*N`j €Ů`­) śuŐŘf¨ˇ˛ˇT6kdľŃucbĽCKcYµl(Á˛za˛ęőŐŐËęĚ ¸EŤő��������ŔĐ VŬ^Ŕk €Y×�ŰTÉl,*›ŐšŹ!®5ăvípŮP‚d]VW0+†Ęę]nő˛ˇüľŃ��������N†šŞ×s(UĚşąŢý« ÷r°eŐ×kÍÇ׏Šń 1 Ą%fő˛Ń ’/kÇŞ/«+” ö<{ÎŐ×"\�������ŔtÔhhŞŃŞ`ľŞXV}YĽŢ=J—]hY#ëFĹx™†.«7?ŇY˝ŠeMŐŹŰhełęŰŐZ6á2��������¦łˇ†Ě«ÖŐŔőę Y#SÄČŞ›Ő[ÖČ|ŁëFl¬ĂLŁ.«Új4`Vk*V+k©şÝ@•ĚęĎŞ×Őz>0�������`:IŔ,źŻ0( V]ť¬«ĆőÁÂfő. —5eȬ-ĆÎpĂeŁY­¬¸,‘Ăd-5nÓh«Ěę Zőújf��������0¸ˇĚj-/®+Um_/`–o—‡ÉZŁvX­;*CkőžC©p9ŘúîĎłýŽz?ó@ëFd¬ÂLă.k¤jY18ÖW5+^¶¦zá´¨ş]4¸Ľ!3��������¦Łˇ„¤ş\ž‡Äş ë; SWŐíŞVÖŐŔv1˘š]Ż5ßčşa‹ ÓpĂeĹů‘„ĘňëŐ!˛–ËkÍň@ŮŚX*,řVŻefµáüľ…Í��������ʆŠč6µZbFÔrĺAł5±6pV+XV}˝«Î6=îpÂfŤĚ7şnČš)`6ÜpŮ`UËŞ+޵Dý°Y{ôËňĺ±ß~ű­óÁ~pÇí¶ŰîQóçĎߦ˝}ćĄRlZ*µ,(Żž`��������ĐĚRŕjeww×CÝÝq÷ęŐ«ţłxńâ›˙ýď_ '\wŢyç-)l—Bb)h¶:ę‡ĘŞŰdvĹŕŐĚFł˘Y­ůF× Ůh‡Ł&2\V«ue­vy…˛âú™ĺ©-ßöýď˙FŻ{Ý랶馛?µµµĺ ��������LIťť]—ß}÷˙ţôŐŻ~őüO<ńŢXë(O«˘2@V«ÂYuŔ¬ş…fÄ$™ŤfŔl´Âeůőá†ËŠUËZŁv‹Ě|yŞX63ßćŹüăžOxÂ^/looF���������ÓĘęŐ«wůĺ—ýt˙ý÷ż"ÖÁRČluôCeť˝wŃU"†2«(›ĐŮDĚ»Ţh+̤Ëçkµżl­ZžŞ•Íę]žËžô¤˝_ĄZ��������Şš]rÉEß*ÍR€leôT5+Ě:Ł~Íţí4‡Ó:łŃëŐF%`ÖŁc,[cV_,\V ™µćóë©bŮś4˙Ţ÷ľw“_˙ú×ÇnłÍ¶Ç´´”��������Ŕ´—˛DŹxÄ#:öŘc7ďîîľî˘‹.ZQ^<Łwu nUgšşŁ2ŰTk»î^–j CÉm ËhU0+5¸|¤á˛¤X™¬V¸¬ýĂfů”Ş–Ą¶Ąż˙ýďĎÜa‡GWľ>;���������j[qĂ ×ü±Ź}ěoŁ'$–Úe¦jf]u¦î¨ß*łŃjf]V_Ż5?Řň†ŤFŔl8ŐËęÍę…Ěj…ËŠ!łÁÂe©zY —ĄaËý÷?đöyóć��������� Xşté÷×_˝ĎEO@lMô„Ě:ٱYwŐT2«&(XÖhŔl°uj‰±Sdľ¸l°ŔYq~ pY­€Y —Ą*e3öŰożyË—Ż8Y¸ ��������Š”9JŮŁ”AŠžBW)“”˛IŐyĄ˛MŐ·"j抸Uf#٬QŃ#3ŐËiŤŮHŐ˛tYýÖWąě5ŻyÍúgžyÖ)­­­{��������Ŕµ´´luŘa‡ďúż˙ýď˘k®ąfUôd”şŞ6K9¦îŞůÜ@ŐÄ — 'H6˘đŮH“kĄ—ôĂ,KŞ“}U++ÍR¸¬ý©O}ęüßţöÜĎ–˙w ��������€čęęşö™Ď<đúÓź—gWGO»Ě4K-3»ŁvëĚb{ĚFZeÖj›YĽ¬ľ^k~°ĺIŔl,«—UĎ·DeŘl )—µGOŔ¬uůňźnkkŰ7���������FAGGÇsćĚ>6zÂd)`–‚fyȬk)©›EÔšEŐ˛ÚałZ󍮫«%Ć^#=@k-«Őo´VźŇţÍÚ˘'\Ö˛hŃýo.��������FSĘ$ĄlR¬í´ŘýóMµ;6ćje¤"†źąum1úm›Yky˝_Vułę€â”–§ęe-×^{íłćĎ_ç°���D:;;cőęŐȩ́lęęęŠîîaW®†i«T*EKKKäɦöööhmm ����€Ń’˛I×^{íő»ě˛Ëo˘'ł”Ş—Ą S±ÂXŞR–çťşcmŞXÉ,WŞZVŠÚ•džş|؆;ŞÚh{ĚZ×ëµĹ,^Ż7ĺ˛ÖŞë­…őéjć{ŢóžŤ=ôĄź/_ź���“ŔĘ•+céŇĄ±|ůňXłfM4,‘IűPÚ—Ň>•ö±ŢLRŕ ����`4l´ŃĆ{•ÇĎąřâ‹S›ĚĽf$‹×óËÁ ”˝Ş·]Ł÷×°á–H­€Ů`!łZĺáŠ×Ó”ĚňÖsÓő‡zčĂłgĎ9(���š\ Ľ,[¶, Á�ă#U2›;wnVŐ ����`¤V¬X~΂ >=á˛e婣÷zgďÔ•áłâőîŞëµBhŐ׋—]Ż6ä3Ű[bt5Ús Ú`)»bđ¬:t–Ş•µś{îą{ —��“AŞX¶xńbá2giźKű^Ú����F*e•Rf) ¦¨ťoŞ—›*.¬Ŕ×@·hů°Śvłá¶Çl¤zYu岼zY~™W/k]±bŐç[[[ž���MŞ««+ ·ttt0±R»ĚůóçGKËhź‡����L'ťť]—Ďž=ó­ŃS±,Żb–W/«®bV¬dÖHłzŐˆZĹl\*ŤV­ŃD]q}­�Z6Ë«—í!\��4ł.{衇„Ë I¤}1í“iß����®”YJŮĄ¨¬bV]˝¬ş W=CÍV5jČ÷3š§ćŽ´=f>_j`›Zۧ”Ň“źĽ÷ó�� ‰i‰ Í'o™ ����0˝ŮĄľ,S ? 5Đ61Ŕü`ˇl<{?”†±ĽX­¬:ŃׯUć±Ç»Q{{ű3�� I-]şTĺ2hRißLű(����ŔpĄěRĘ0E!Ógź«h6ć˛ÁŚUŔl¤%܆ú h+O-GuÔľ��ФVŻ^+W®  yĄ}4í«�����ĂŐ›aJଶˇÝrÄ™Ş1 ť 5`6–É·ÁĘ»ç«ű‘f˙›oţp3�� i-[¶,€ćg_����F˘aJ™¦ęśSDc©±Îi5l¨)ą‘¨hqy­©Ąę˛¸Ľuß}÷ť×ÚÚň„���hB©*Rggg�Í/í«iźť5kV�����㣫«+Ö¬Y“MiŚ.MÝÝÝŮ””JĄljmmͦ3fdSKËX5pľ”aJY¦ .¸`Iôd›ş˘2ëÔŐ{ŮýCgĄŢĺŐŠËëm3&F+`6XŻĎ‘$ęęU6+ţŇăýď˙Ž��Ф´Ć„ÉEŔ ����Ć^ •­Zµ*›:::Ü6›ĺA´|Ü˝­­-fÎś™MÍ6KY¦ .¸ŕŠč_L«(_6ܰX~ŰFBiĂ6ŢĚŞŤF)·Öt?;í´Óv��Đ„ŇYV}1šKÚgÓľ›Î„����FW ‰-_ľ|TNÎNcyiZ¶lYvŇčś9sš"hÖ›eş2z˛MkbdƵbYµ‰ Ö3t°ĐY­™±Î:ël���MhőęŐL>ißť={v�����Ł'ËŇ4R`-M)d–¦‰TČ2ŐĘ:u pÓęV•á˛q›ŤEŔl¸UÉJ NŐŰf˙3fĚÜ"���šęe09Ůw���`ô¤ń¶ĄK—ŽË¸[ °ĄHçÍ›—µĐś˝Y¦ľlSÔĎ>ŐjźY+XÖ¨Q MT=¸á„ĐJ,/µ¶–6 ��€&$¤““}����FÇŞU«âÁ×1·ôXé1ÓcO„Ţ,Sup¬h4óScj<fcőf÷[*µ,��€&ÔŐŐŔäcß���€‘[±bE,Y˛$&JzěôĆ[!Ë4¦™©ń0”€ŮPźTiŚ×Wo7+���šPw÷¨V˘Ɖ}����F&»–-[-=‡ ™ĺY¦ˇf Ćjý°·Ť&ŁŁý仯Z=I‹—���ڎô%üŠ+®ŠkŻýkÜ|óÍqĎ= űćÎť›nşIlłÍ#cçťwŽ=÷Ü=fĎž�ŔÄřĎţ\pa\~ů±pá˘ň´0[ľńĆ—§ ă OŘ3öÝwźŘb‹-���FSjMŮ á˛\z.---1sćĚ'µ˛MĹi´ÎpěľFüXC e5Ú´ÔŔe­X>µÔ¸lë˝LSkaJóë¤ë«WŻą4���šĐ˘E‹b*xŕâĚ3ż˙ýcĺĘ• ÝfÖ¬Y±ß~OŤ—Ľä,x“͆n�“Ń-·Ü_üâ—⢋.ihű=öx|Ľĺ-oŽvŘ>���`¤:::âÁŚf´îşëF[ŰhÔä\{űŚ'–/:ËSęÚŐ{=źşz§ŽŢËî—ůUóĹe]FťůÁ–Wď€Y#!łb°¬*0��&ĄÉ0[łfMüđ‡gÇO~ňÓa—ź1cFĽčE/#Ž8,»“…€ŮŕŇkÜĺ—_×]w}Ľđ…ĎĎ*§łł3N=ő qöŮ?r«ßt÷!‡Gýćhmm ���®.K!łf”Âe)d6 Ż× EÔ—ŤKŔl|âx+U]/…–—���nńâĹq 'Ćß˙ţʉ<¤ö·żý#>üáăĆíË;0¶n¸áĆxÍk^—Z’űî[źřÄÇŁÝu×]qăŤ˙ŽvŘAEE¦¬%K–Äűß˙¸ňĘżÄptuu•߯·ÜrsśxâÇbťuÖ ���ŞĺË—7m¸,IĎ-=Ç9sćD“©•—ÍVšĂÖ,łd¸ˇ2A4��€1pŰm·Ç‡>ô‘X¸đŢ~ë6ŢxŁxâź{îůřŘd“McĂ 7Č–/Zt_ÜsĎÝqůĺWĹĄ—^÷Ţ[Y˝íşë®‹·˝í8ţřŹÄ#±e�ăuŻ;Ş_pôqŹ{l|ĺ+_ЎHŐ‘ňpYň—ż\ťTR¤fňÇ?žţđGłÁĂöööřřÇŹŹ§<e$í‹őÂeOxÂńô§ď;ďü¸ŘhŁŤ˛e÷Ţ{o\{í_ËűÇyY¢téľ>÷ąST2��¨˛×^ă;¦pŮeĹd’ƆRx«ŮĄç8kÖ¬ńÇIjÂĂeÉh·Č¬u˝‘™Ĺ©ĄĆĺ@-2ç§K-2�€f5[dŢ}÷=ńŽwĽ3xŕÁŠĺm´aĽüĺ‡g©űâťţđ‡?Ćwľó˝,xV´É&Çi§}6,X#±téŇ8řŕ—Ćp¤Çß~űí˘˝ä%/‹Ĺ‹—ôÍżóťoŹxz0ţ¦j‹ĚzˇC°LűůłźýÜxđÁ‡ú–}ó›_‹w|TŚ–T‘逞U±ěä“?{ďýäFď"^ůĘ#ă†n蛯Ó˝ď}ÇĹůç_Đ7˙śç<+>řÁă&“SN95~ôŁł+–=âŹ÷ż˙=Y°l ýëßâă?)î¸ăŽŠĺ‡ú’ňçŁc¬ý÷ż˙-f8ŻütyVm0}ţ9ł=Ö[oýxÔŁ¶Ź}÷Ý·<=%kaBĄęׯĂ{YÖâ��;fKc¶+W®ŚÉ ĚćÍ›c©·Efjwą8o‘ٵ[dÖš"n‘9Đőh`y…ć:ť��€ —ÚYüÇű…ËöŢűIńŐŻžĎxĆ ťŐ•¶IۦŰ<éI{U¬»çž…q źČ <Rĺł4š¦×żţŤŮ~ľŰn»VlsůĺWDłŮ`őŞć×JR»Ú˙ř'Ë˙řÝâë_˙ň á˛$m“¶M·):űěg­eÇĘęŐ«ł`ܡ‡gśń•¬˘ZúŚ–/Y˛4 ĽýîwăŽű`qÄ«˛ ���Í+ťŚ8YÂeIz®é93¸‰ii ��ĐÄ~řĂłă–[n©Xö˘˝°|p÷}Ů]C5{öě¬Đ _ř‚Šĺ˙řÇ?âűß?+€ÉŁŘVóoű{vąçž{Tlsĺ•WEły׻މ]vŮ9{ Ű}÷ÇÇ;Ţń¶€©ä _8˝b@<U.űä'OŇYŘ묳NśtŇÇcË-×¶°N÷™î{,¤Ů»Ţőî¬ęZ±Őn=·Ýv[Ľő­oĎZń��ĐśV­Z“Íd|Î1Ů+5Ĺ��čóŕĆO~ňÓŠeO~ňăuŻ{M”JCűΚZţěgżČ*Ź<á {f-¶îąçî¸ä’Ëú¶ůÉO~ĎzÖ±É&›ÄhŮkŻ=cÓM7t»őÖ[7€ÚRĄ˛<LVÝN˛ZÚż‹RđlĹŠY¸´YlľůćqĆc’‰öź˙ü'®Ľň/ËR[Ěá´řH!łtŰŁŽZŰbńŠ+®Ęc‹-¶ŃôŐŻ~#»ď˘Tq‡v(ďł›fíqoşéć¸˙ţúÖ§PÚ‡>ô‘řż˙;;fÎś���a˛µ¬O# k=ó™e—m´aĽůÍo,Źó>aŔíSěĎ}îóq÷Ýwgóżýí91é97Ó8VłŻ€Ůh&çJU���ŁäĚ3Crn¸AVůg(á˛TaäÇ?ţżřÓź.ŚŽŽŽlŮUW]•4>öŘwfÁ•E‹îË–ŻYł:~ôŁÇ[ßúć-ĎzÖ3ű^ľôoţíi‹ĘÔQ«RY=›m¶Yŕúß˙ţ—ַͧ©ŤÝ`€ÓUŞŐÝÝ­­­1^R(§˝˝=š.¸ŕŠů'<aʆÚbÖ“Şýíąçîᯠ/üs~řa1ZRŲźţ´2Đž^G>ó™OĹÖ[oŐ·,˝ž|ď{gĆ—żüŐľe÷Ýwů Áąńüç?/&ىx ���éűN><÷Ţ»(Ž?ţăŮXňÓž¶oÍmŇxóG?zb6ľ<Ré9§ç>ăźc•wJ÷Őcl˛U0+5¸ ��€!Ząreüţ÷¬XöŠWŃđŮ[˙ü翲6Wé€t:pZtŔOĎ.Ó}qÄáńąĎťÖ·îŹ<?^űÚ×LŘYb©j[ ˝-Y˛´oŮłźýĚ8úč·Tl—ÎdKŰ-\xo߲g<ă€8ćžV{żřĹ9ńĹ/žŃ·î‘Ź|dyţ´¸çž{ĘÇĎŠ«Żľ:/^믿^l·ÝvĺăĎŤÇ>ö11Réŕűź˙|qśwŢůqçť˙ËĽĎž=+;ÓoçťwŽg>ó±ĹŻyŰęçĽë®;Ç'>ńń¸ä’Kăěł·Ürköső«gTÜGpI•čÎ?˙ü¸á†˿ÇbĆŚ±ńĆeˇ†ôűŰj«­‚é#µÉüŮĎ~Ţ7źŞ)5SŔě}ď;®ü÷zAßüsžó¬¬uď`®»îúřć7ż•ćV®\•U[LÖC=8ţđţűUÚg;ěĺ}ói`ň’K.ĚŞ0}ůË_ÉÂz=´8ŢóžwU´ N°ßýî÷YçúëoČö©ěÝ` b§ťvŚý÷ß/öÝwźšaßęźí ox]Ľň•/Ź3Ď<«ĽŹ˙* ţÍźżNüú׿Ś_ýę×q 'VÜţűß˙NlłÍ#kýřĺźýŰÁžÔbô׿ţEĚ™3'h—_~EĹüÓźľŚTú›+Ě®¸âĘQ Ýyçť±t鲊eŻ{Ý‘á˛$˝·ĽúŐŻ,8řKEkĚ믿±ü>Zűľ˙őŻë˛ Ş×\smů={aö™$íKŹ}ěNĺ÷ÄăIOzb ćÖ[o‹ź˙ü—Ůc¦ę«Ë–-Źąsçd­GÓëÝóžwPÍę«Ă} (>ćŐW_S>˛0ű\˛`ÁüŘ~űíĘTžš=÷ˇEoĽńßŮëW:Ł?ý®7ÜpìEđᇿ¬üý���miśr$ŇřE?MŇřăÉ'źRţ^Ř{ďýäŠí.»ěňřřÇ?Y.›7onŚDzîc\){Ňçť´Č�� sůĺWVT/KĄÁR§ $]tIüřÇ?‰˙ű¦šŰ¤Ă)L•{Ć3žßűŢ÷űŞĄ`[:€[=P0^Ö]wÝňÁëWĹi§}ˇoŮoű»ěŕq1$uÖY?¬—-X° ^űÚWxß·Ţzk{ě{+˘ßsĎÂlşč˘‹ăĹ/~Qy䫆}v\úťěcźČBlE«WŻ*Ŕ~(; ý“źü_|đ‹˛ôŤTKI!—SN9µîúČ;ńÄOö«j•Îô»ýö;˛é—żüU<÷ąĹë_d´µzŞf)Ś2ŮĄ}ô=ďyö:—»ăŽ;˛éżře|ŕďŹ<Č“öÓ7ĽáM±|ůňšëSć¸ă>wÝuwżu)–¦ţÝi§ťâ¤“>V~mŢ(󱏝żţőoű-ßoż§Ĺg>óąŠçrţůŞ0«ď·ßS…ËšĐÝw/¬Iő˛Ü.»ěR1×]÷Ähęěěę·¬««łîöÇ˙á,•«őwއN;íô,ě^í®»îʦԶ{·ÝvŤNřH:«u§žú…ěsMuX>äHŐÓôÝď~?Ž>úÍĺ÷×Ç`{ HŹůůĎ1~řĂő[—Bă—^zy6}ë[ß-@9>vÜńQ1R{ŰŰŽ©8¸“~ţ_ţňśň~ý‡ě÷ąĎ>O ��€Ń4Ň€YŁ=őÔĎ÷ͧ1™O|âSńľ÷˝»oě8ť›–U?ÖË^ö҉qMzú[���ůë_˙Z1˙Ä'î5`đéşë®‹#Ź|Ců ý'ë†Ë’TuŁx7Ýgşď˘T]c"=ëY–ŘîŘ7źÎ+Víąűî{â'?ůYĹm^˙ú×ĆüůóëŢç˛eË⤓>ÝŻBKQ Ő:ŢTYécŢÝ/\VKjYšţťłxńŇřú׿Uwý’%K˛ÖµLLĺS�çłź=5vß}·Š×‹›nş)î»ďľ¬Ňs˙řÇ?Q.+J•ý>ôˇŹd•ÍsÚiźŻ,ąí¶Űă-oy[ÍpYµţóźńÎwľgĐÁÚkŻ˝¶f¸,I•"ÓkrŃyçý)ę=·[nąĄbY ŽŇ|Ş÷µT©j¤RČĽhѢE1š6ŰlÓ~Ő¸Ňűn±=oQúńČGnÝ7mşi˙ęa©š_#ď©)|ő–·Ľ={ź®–Ţ·Ď>űÇýÂeŐRŐÁ“OţlV…u0˝$ď˙j†ËŞĄ°é›ß|tVél =ô`Ľ÷˝ďŻűZ‘‚ýýč Yu7��€ŃToĄQiŚö oxmE÷tźéd×T˝=ťčś®Wß9âĂâĹ/~aŚÄHźűt0UN#Ö&��`„ŞXîąçîu·M_¸O:éäAĂMi0 Ö—ű=öŘ=«r•»ůć[c´¤Š;©]ç@ŇăŰS¦çyôŃoĘ8ç ×\ó×ě@wÚ.U\+–\ßm·]b˙ýź6ŕcäż›Ç?~×xÎsžóćÍË‚Y©őd §äľ˙ýĆSźúÔšËëI•ćŇAđâsJ•ÂRu¸”KA°ßüć·ńź˙ü·o}€Iˇ“Ôľ˛ž›oľ9»\gťyY{ĂTÝ-UlI-7“T&U_ËÍ™3;=ôxĚc“lżôŇ˲×üŔ|:đžÂ„UťŽń“–;ě°C<MŇßŔUW]x@LF—]ÖÓr0U‚zĘSžśý<çťwAßĎ—¤e©‚ŕŹ~tfÍÖ•I «¦vˇ©’㓞´Wl±Ĺ–Ůţ»Ůf›eë?űŮĘjb©…njśŞ•Ąí.Ľđ˘¬ŐeîĆoĚTÓľ^OŞF™l±ĹY;Ďtömń5ç žťµĘĚĄŮţóźlű˘Tĺ¨ča{Xě˛ËÎÁôP°,p5T©ÝjzoüéO׆·S•ĐÔŠ:µ‘Ţ{ď'•ß?w+żżě”m;ŘNí˘siź|Á žźUÝKűŔßţö·řÖ·ľÓúNFżôĄŻÄ»ŢőŽľŰ¤÷üsÎůUĹý¦*…Ď~öł˛v7ß|K|ĺ+_Ëö—\ Ĺ ôy`°×€T)-íçE© çóźPV)őoëyNůg“ôzń©Oť\~î_¨űżúŐo˛ËôyŕŃŹŢ1îż˙ľ¸řâKł÷é\jů™Ú¦°<��ŔhŤÖ _ř‚ěňË_ţZ߲Ľ]fú®—Ş@ĄpYšFjŚfiŕhtżXO€‰ 5&@��0ĆŞ+čl˛É¦u·MCó�U k˝ímo)ŃďŽSO=-ţň—kú¶Këń-űÝ~ÓM+ďűî»ďŠŃ’ÚÚ fîÜąłdë­·.`<?«ö•ëiő–Š ?íí3ă­o}K4bŻ˝öŚ}č}•ť÷¸ÇĆŁµ}|ŕéŰ&…ÄÎ?˙ü!•qO“ępß{ß{lEë9ĎyVÖžóĆ˙Ý·,UHIgÖ Ă$é€ôńÇ(ÖYgťŠĺwŢůżňÁűµÁÓÁňO}ę¤ŘvŰmú–íşë.±ńĆÇ׾öŤÂcž-`6M¤Pj1€uĺ•WMÚ€Y’4ßóžwőÍ~řaYŐ˛?üἾe)h’‚ٵ$\wÝqúéźď׆2vžůĚg–_·ß~{ůľîŚO<ˇâ53şn¸á†¬Ťp.U_(`–¤ö»ď|çŰkVˇL÷ąůć›gŐr) úŞW˝˘b»ęöĎ}îs|í`â¤ę^Ĺ bŞ6¶ĺ–[ĆHäm¬séďx´Ą“)ŕX] đß˙ţw6}ó›ßÎŢkRP{ß}÷‰ý÷߯fĺĐt áŰßţnŲô÷_l_™ŢwÝu×,Ŕ–¶O~ţó_d­śóűLAđôyć¶ŰîČöÉm·Ý¶"€–*§m¸áńĆ7®ý Z㦠rµÚmć꽤çńťď|ŻbŮŁýčřâOë ŐĄ^ |§ęląk®ą6«0¸ŐVʍűo|ă╯|yßü-·ÜŻyÍë˛ęeąF0�€áŮkŻ˝c<]vŮE1ŚÖÉIyČě+_ůzß}Ö €ŤV¸,í«†h8ŞqÂZd��IŐ,ŠR%ťzŠ!¬t06µăÚx㍲0VŃ!‡Ľ¸ćí7Ř`ýŞÇ^Í H¤ź#—‚#Ç÷ˇľŃÉᇿ4kíŐWżúUý»ďľ{v »č’K.‹ˇ8˙ü?U̧ŔHu+Ul9ňČWW,KŐÇ«îvĚ1oë.KÎ;ݞ Ř“źü¤ŠpYîůĎnÖ†/—Ú§>đŔÁÔ—ĄEW\qELV©Šß[ßú¦Šei_>ć·g—˘ .řó€÷ő†7Ľ®_°$Ia­řLA“N:1ľ˙ýo× äΚ5łbţÁŢźŇkXÚŹëµ8NŹ›¨E)´Z”öۜɥű¨ú!kÓM7®Ť¶Ó×\sMĹü–[nŁ-˝Wś~úiqÔQŻŹůóשąMj{’* ~ň“'Ç ^pp|÷»ß«xOîy®×fŐĎriH!Ëj;íôčňëÔă+î;Żř—l˝őVYŘű}ď{wśqĆéá˛\­jj<đ` ¤Ţk@őóNŇëNőc<íiűfÝžüä'fˇ±Nř耟Ńţđ‡W„Ë’Ž;č çT,»÷^-2�€Ń5š!­2K'Ő;Ům4ĂeÉĚ&…©Ň"��€q’ć­˛ĂŰ÷«ÖěŇAÝ7˝é¨řČGNč[V¬¶ŐV[ŐlůYKj/Y+,’¤¶_)ĽVë1‘Z{U{ré÷źŕ§v\ko{[Ör¬–ÔŽk‹-ŢĐcţéOÔx)>^’*­¬·^ýáL ©ŠWńď-'RHi¤•”&Ân»ísćĚé·|ýő×Ďö«TE,w×]˙đľvŮe—hDj_wűíwdűčÂ…÷”ď÷žř׿®«¨ —T‡kŞĄç×ÚÚ:ŕ6©ĺ_Ş4ďĂ©JÚ]wÝŐ׶館^ö„'ě‘U'¤9ĄV¨© c.ýű=ďyĎŤ‘řăĎ«OŐżĆBjç˝ěe‡f­śŻ¸âĘl˙*¶ˇĚĄ*m§ź~FV™óřă?ŇwᦛnŞŘ.˝ö¤jµeIú<“Ú`Ö’*ÁĄĘ_wŢygĐNĎ)=żj„¨÷PýĽçÎťS·âÉ'*µăŽ;Ô\ľÍ6[WĚ«Ţ��4ŁT-:}÷«ţŢ•–Of|L†€™Úű���ă Ř|đÁŐ}ó÷ß˙@ÖJ˛Z±zYrę©_ČÚ\ĄĐĂi§}ˇoůÁż(ęąďľű«{vŚ–Ź~ôCŮÁöáJ­¨ęyŰŰŢś oD ˘Ô“*ľ-Y˛4:::şďU«VĹŇĄË*–ŐPIU‡6Úhø㎵ęS+ŻzŞ+%U·KK.¸ŕÂhÄâĹK‚©/UöÚyçÇfŐ†r)Ś1f›nşYÝu©˝d1`VýzVm ý*ůÇ?ţ™µŻýÓź.Ě**ŤT­ KŐRĆt˝ę޵ˇ¤Tń°Ă^–]/¶M:č  yĄö‘_ř—ú毸⪬ŠYŞn9)H^ ¬Ąű§>ußK©ęćţű?-›’űďż?ką}á…föŇ{d.µoMďŐ©}drď˝ýßźŞ[ĽÖóŕU̧ĐŐ/~ńËřÉO~V3ä6ő^Şź÷ĆoR·ňŕP´··i9��Ŕh©® /üsVÍşÖ‰vé1>űŮÓĘă(ýŞ´W˝Jiă¨éłQ*��I\Űćéî»ďîWÍ*U±*+’+ŻĽ*^ţňĘVŚ›oľYÖB±žT)§h 0Çx¨˘Ç-·Ü;î¸c4˘««łîşÎÎŽ(Qî}őęUÁôŞéUĚ>řĹ1Ů T%¬ÖYłĂőü0 éÖÚ/S˛m¶Ů&{.Ő•ŽFC çf^xQ0KŐˇRŦ܂ócź}öš×[l{îą{,Ëťxâ'ăë_˙rÍ–ÇYĽxqvۢÝwß-¶Úę1žRH;UKS z}ô;Ęźîî[˙łźý˘/`6’÷µ5kÖëS;ç׿ţMue©-ejłůç?_ŁAű��Ľ.»ě˘ żŃ ťwŢźâä“O©źÉOČÉ—ĄÇ9ýô/ĹŚmńŚg#Őł¦7Ö3˙���“ÄÖ[o×]w}ß| ŽU·^LŐË$ŘtÓMă=ď9vŔ*éľ‹ŞŰ6M¤o~óŰu×}ăߌ'>ń V'ËĄvZiŔŁÖďá˙« Ř­łÎĽ†+ŁĄ*/©ÚܲeË+«–ôř÷Ţ»¨bY*-?éŔzŃ«^őňxéK (ÚsĎT=đ‹}óW]uuĂŐůšÉÝwßUwÝ˙ţWŮłzßhT qťvÚ鯩)$ô¬g=+óGgí*Óďíä“?;&ł§=mßň}¦ďµäź˙üW¬\ą2.ľř’Ší<đŔ¬:Íí-oysůuůČľöÔžö=ďy|ň“'62Ká˛t›bŔ*˝‡˝ńŤGĹhK-ZoĽńĆľů}÷Ý·îYç)@—ÚS«´Ű6o´QĺűZÚŹN;ís1T_řÂ+~öôŢ|Č!—ďoŹ,`—Z_§ ţ3ź9:ýŞźwj—]ďs��ŔdN–褽F¤ ďźůĚg+î'…żŢüć7fa˛Ď}îó}ëŇĺhU2KĎ} H­1;›i¬ľ­ –��L2Ő­´.ąäŇŠ/ň÷Ţ{o\pÁźëŢ~»í¶Ť÷˝ď=YĹ”vŘľîvťťťqŮe—W=ö.Ń ®żţ†řŐŻ~Ó7żÁë—jŻmő™‚_üâ Ý׊+âšk®é·<…I.˝ô˛Še)”7Ź|ä#+ćS•¨Zţú׿eĎŁň¶Ă ó=â•ŐkŠaDČm»í6Ů~“K'ăßJjÍ·téŇ~ËS‹ŮÔҲča{x G r_cűŘÇÄ©§~6žő¬ł@MĘ[¶liŚ…ÔJsżýöë›Oí9˙ţ÷dŻýEĎ}îs‚ć·ýöŰĹK^rHŲTqô5Ży}Öňr0i›#Ź|Cżm÷ŢűIńčG7Vąs(Rř9UÍ˧3ĎüÁ€!2ôYl»őÖ•ďk齼ŘRłQţse‚NřhĽţőŻÍ>ĄpY2P•ÓˇÚn»í*ćÓ}×ű·zýëßGńŞřČGŽŹď~÷{q÷Ý÷��@łiH+Ť=ęS'găÇątÎ;Ţqt K•ĘŢţö·Vś“W2KÁ´‘"łÜd¶ś��@&Uč={vßü˘E÷Ĺď~÷‡ľůźţô5Ř>úŃŹ.đü`|ţóź‹}÷}Ę _ĆĎ=÷÷Ů}çŇc>ţń»ĆDK©U]ń�÷K^rpĽôĄ‡ÄĽysű–]tŃ%ýrő|ő«ßeË–U,űŮĎ~·ß~GŲT­RĺŔęŐk*ćźö´§VĚ˙ío/?ŻĘ–]«V­Šo|ă[Ë6Ůd㬽×pT?ć•Wţ%{ÜjwŢůżňďí°xŰŰŽÉÎ(üĹ/ΩbjKg”>ţń»U,«€lf)č‘΀-VKŻ é ÚÄ*zĘSžñxń’ŠůM7ݤ_;†‡z¨_E±ŃTKą©’Yn‡vČÂĂLo}뛲ę]E©"×ßř–ňş·eď?·Ţz[öľ”¦t=-KëŇ6µZC¦÷Ľ_˙ú·1Ú÷¸ÇVĚß|óÍYxŞŘŞ;IűÝ/yN6m˝őV}×SµŐb%Á´o}ç;ßë÷«WŻÎZzżěe/Ź}č#Ů6 .ě{śĄK+߯S»ďjĹúHíşë.±ńĆU,űüçżŘ/~Áfď·©’áoű»ň“3˛j���Íf¤Đżň•Żök‹™eŵBfé6_ýę×b$ToÜäęO���ŔIŐ@8`˙,”űŢ÷ľź…ĆRěĽóÎď[žľp?ő©űf-«RۨFĄ¦ß˙ţ™Ëöß˙iÁ¶‘J˙ň—«ÝîE/začČýß˙ý¬˘ĺV:Xýěg?+űY>řEń­o}·o]jٵóÎŹôyßvŰíqÔQo.˙Śűe-Ęţţ÷żÇe—]Q±ÍŚí±ß~O«X–î7µ*+ţLiYú]§ d©µÝxvÖN+wŇIźŽ§?ýęxôŁ=´8Î=÷wńß˙ŢYqż‡ú’~–FĄÇNńóö¦iŕć¸ă>\ţ=>?«î’unĽńßYŐôÜÓtĂ 7ĆN;íĎ{Ţč´crHaŐb85ýÍyä«c4ýô§?ë·/UŰkŻ=cgţJ~ő«_gśô‚fçť÷§Š–~IŞě—*Ź G |ĄpW Ńě»ď>ŮëqŞ@BšŐA´Ń”B>©ZZ,úńŹR±ţąĎ}v0y¤€÷‰'~¬üÚüÁ¸üňĘ`g §i¨ŇkýÇ>vbvýŮĎ~fŚ–< ;pPlńś^7Î?˙‚xÔŁv 7Ü QĄ÷•űßí>řĹ}×ÓűĎa‡˝´˘…ćWľňµ¸ýöŰł÷ß dăgťőŁ,Č–¤÷űž{á źßwé1.Ľ·ď>>ůÉ“ă]ď:&¶Ür‹X´hQüüçż,řNŚ–ôŻxĹYÜÜő×__^öšxţóĘž÷?˙y]żpÝn»í:¤Ď^���ăe¤!­â÷żĽ-f1\–Ë—ŰeÖúî8fkö€™V›���ă( ýýď˙ŘW=#UKeÉ?řÁăb÷ÝwËZ7Ą0Ô ^đĽŘ` †r×Ů—ýO~ňÓ_öS¸ęCŽŃÔhµ¤âČf)¨ő˝ďUß^ůĘ—÷ ,Ľđ…/ČB^©ĄW’~/ßüćwâMozCÝűOµőÖ[?;ýü¨îvGń˛Řd“M*–ĄŁĹđŘ-·Ü’ý;pŔÓăťď|{6{ď{ŹŤwżűý±fÍęl›T]î·ż=7›jImÎFHŹýć7Ý÷o;ÝŇTKzžGýć`zIł˘Ôv1UKš;wnŚ–‹/ľtĐmRĺÁáĚR8íškţ˙ú׿˛©–9î¸÷Vś1;OyĘŢ1sć̬Ú`’Ş+}üă'eSQ1�6R‹‰3ÎřJżĺííí5qinóćÍ‹SN99«„őŁť=`ŰÉZŇßs U¦¶•yőɱ™Ą°űŘńYµËbŰÉĽUë@RŮ}öyJŲĂ?, łu©bjšę9öŘwfáďÜ3žńŚ,XźKaő—˝ěŠŰ¤÷ö´Ď¦–ŮŁ!ĺ.żüŠřóź×V!Mű{1,W4wîśxßűŢ���Í(}§Lß÷juÁŠ 6X?^÷ş×ĆSźşOÝmŇE{ű̬rŮHĂeé9w|g”ĄŚTw4)Ě���čłîşëfUÉŠa«K/˝<kőxĚ1oöítpú+_ůzżŠC‡ň˘~U|&B:ź‡<’đ*+RäuŻ;2N<ń“}ËÎ9çWYőµ´m-)ś–B`ÇűŢ~-żr©gšŞ˝ôĄ/É8źS’*›ävÜńQqĘ)ź* ˙DE­–żřEńš×Ľ2F*ý}śzę)ĺßçę†nr)4÷Ľ/ń-éeăŤ7Ž-·Ü2§l ©¤pęHމŤ·G<b«8đŔă„>^3 “^Rkŕę6C‘ö§Ţýđ‡?Z·Ťě>űěťiŇ~>VR`(U{Şţ9SČhţüůÁä“*™Ąv!)<xúé_´Ú_’Î ßcŹÇÇßxTöţ’Âć©eĺX†ĚRőż/~ńóYĄ°ë®»nĐíÓ~—‚đéý¸şgš˙ô§?Y~_<5kű9~Ná˛T+:ňČWĹ_˙ú׺·ôř'ťtb¶ĎŽVŔ,ůÄ'>§ťvzČĂö°ň¶ËB§��ŔÄÚkŻ˝c<]vŮE1Y¤ďNĂ ýö·ç iű@(„Ö¨ôśś€���=ô¸úęk+D©Ý=÷Üťj;ËT -U.«>ŔýÇ<&^ö˛Cc˘Ą¶tW]µ¶mX^~˝úŕu yśsÎŻăoű{6ź¶§2ě_řÂç˛ůµl±ĹĂłőgžů¬˛Zj]™ŞźlżýöY¸ťvztÍŰĄ6§žú™řÁÎŽüăńŔfŐ„RŰĽ4@“ÎŞK¶ŰnŰřęWż”U>9˙ü?e-1Ó{łgĎŠŤ6Ú(kăůĚg>#kď5Z6ÜpĂ8ůä“Ę#WÇţp~V]-µ[ł¦3,X'¶Ýv›ň Ű^YřNiůé+U1ËfIjÍ7™fI ź<üá‹o}ëŰYŕdĺĘU±é¦›Ćž°gůµë%±ůć›ÇH=ýéűĹ6Ű<2ľ˙ýł˛jI÷Ýw_¶§×€zţóźżůÍoc,Ą@` U·T|îsµ¶ťěŇ{Äç>wJÜyçťqá…Îއîľ{aÜ{ďÂň{XwÖ‚q«­¶Ś]vŮ%k{] §–ŮÉX‡ĚR;Ěo|ă+ĺĎ—g• SkŘűďż/k ›ŢCňçö»TA5ý˝Ö“Ţ'S°;ĺÓűőŐW_S~ş7–,Yó篓_Óý¤¶)ŕY-}ľ9ăŚÓłĎ<)`—Úh._ľ"{ßŢcŹ=╯<"»ŹŃ–öůcŽy[öą µ)OŻéßhéŇeŮóŢ~űí˛źÔ¶;ýŚ���Í,…µR%űÉDŔ¬1Ť¶ ,5¸®ÔŔe©Î|>µ.ó©µwYkŐ”ÖĄS)[VŻ^sI���4ˇľ™l/^G}Lů@ôÝË7Üp8ě°—ĹP7T•K˘Ď;ďOńÍo~«_™ňTµ,UÂŞu€w˛J…żřĹ3úćÓĎřío#ÜR n*Şw¦m~FlőúÁ–WKa–wżű}}ó[o˝uśuÖwć”*¤ĄŞŚąÔ>ř˙ţďěfiÁŞ®d–¤ż‹ÔŢrżýž���Ó‘ f[şti¬\ą2&tBďĽyób,µ·ĎxRů"•Ž_Ü{ŮY5u÷^v¦îÂeőu溬ľ^mĐÖś*��ĐOj‹öŃŹ~(>řÁÇÂ…÷ö-_´čľ8í´/ÄYgý žřÄ˝bĎ=wŹM6Ů4 žĺëSĄł+®¸*.ąäŇlľZ ^üG¦T¸ ¨´űîŹĎŞňä-R% … X}‰‘ÂŔyeĆÜA=G¸ŚL˝JfźűÜ©f���Ô4gÎśI0KĎ•Ć��PSj•ő…/śšU¶©Ü{bWš†bÇwŚř8á2âŇŕÜŽ;>*k-™»ĺ–[ĚšDjZ®»î‚¬Ú\±ťijÁ—ZB®VČlćĚY��0]M¶Šbă-ť´–Ɔ–/_Í,=G'Ř5NŔ ��€şR%łŹüřřţ÷ĎŠźüä§±fÍšŽ3Úăŕ_‡öŇňőL¬Ç=î±ý‚Ł;ďü¸šëY^ËóžwPÜtÓͱÓNŹŽ'?ů‰YU3šĂOúł¬őa-ŻxűÁĄŮ¬Y3ă”SNÍŢÇ?řÁ÷���Ô“Â[«WŻî«nßlRĺ}Őˆ¦4 Ű•j\č˛Tg>źZ —ůÔÚ»¬µjJëć§ËŐ«×\���MhѢE1Ü}÷=ńŁťçť÷§†KśĎž=;žö´}ăĐC‰M6Ů$¦˛TÍí‹_<Ło>µýö·żLnn¸aŔT’*P=ó™Ď‰%K–ö[÷Ěg>#>ôˇ8{���±.{đÁŁĄ)d6ÚŰg<©|ŃUž÷^vVMÝ˝—]…©»pY=Eťů.«ŻWh]F3���˛é¦›ÄŃGż%^÷ş#ăĘ+ŻĘÚ«Ý|ó-YđlٲeŮ6sçÎͶŰf›GĆ.»ě{ě±{ĚšĄŤ@łX¸đŢŘrËGÄ˙űźXştY¬łÎĽ¬ťéóž÷Ľ, ���0R€kťuÖ‰%K–D3IĎiĽÂeS‰ f���clŞT0éH3����ľ+Vôť <ŃŇ Ň©ëĆxš*ĚÔ»��cĄRŁçö�ÍÄľ ����#“])Ř5Ń&"\6•��ڱ–_˝`2˛ď���ŔČĄ`WjM9QŇc —ŤŚ¦˘���c¬­­-:;;\Ňľ ����ŚÜĚ™3ٵµ5–.]1ŇřŢĽyóŚóŤ§â��Ś1_^ar˛ď���ŔčIămë®»nĚ™3'ĆZzŚôXĆřF‡ß"��ŔkooŹeË–0ą¤}����])ü5kÖ¬Xľ|y¬\ą2FSşßt˙--jnŤ&3��€1–Ę~§ł¤Ć«ě70riźMű.����0úR�,µŻLa°U«VeÓpÇĐÓX^jÁ™&Á˛±!`��0ŇYSK—. `rHű,����0¶R löěŮŮÔŐŐk֬ɦÎÎÎlęîîΦ¤T*eS:14M3fĚČ&ˇ˛±'`��0RXeĹŠŮb ąĄÁ)3����_)(–W"Łąđ��Ś“ąsçĐüě«�����k ��Ś“öövU‘ ÉĄ}4í«�����ô0��GóćÍ‹¶¶¶�šOÚ7Ó> ����ŔZf���ălţüůŃÚÚ@óHűdÚ7����¨$`��0ÎZZZbÁ‚*™A“HűbÚ'Óľ ����@%#§��� YÖ]wÝ5kV�'íi_.����¨Íéň���hŢĽyŃŢŢË–-‹ÎÎÎ�ĆGj‰9wîÜl˙���� >3��€ –.iZąre6utt06R;ĚTµLő@����€Ć��4‰<ô’*™­^˝: šĄ©««+ş»»šR©”µľLˇ˛4Ą gŞ\����@ăĚ���šL ŔĚž=;������&ZK���������@ f���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mf���������Ô$`��������@Mm��������@]ĄR©bľ»»;¦ 3��������€ŞeŐ˧CĐLŔ ��������`�>řP,]ş$»>oŢ:±îş bş0��������¨’W)Ká˛Ĺ‹ę[ž_O!ł´ÍTŻbÖ���������Ô”W.lŮTĄ‚��������@]]] -›ŞT0�������� &3���������j0�������� &3���������j0�������� &3���������j0�������� &3���������j0�������� &3���������j0�������� ¦¶€!čîî��������&ŻR©Đ(3*�������LmĺCĐ(0›ćĘ��������(ŞÎ“śMofÓĐPCeBh��������SS#á±bvDŘlú0›FęĹ ™�������L-),6Ôv™ůö‚fÓ‡€Ů4Pë…` ‡®®®��������`j«•iii©»M1T&h6}MaŤËŇ|­eŤŢß@Ë�������Xő`ő–W&JŰĺŰÖ • šM}fSÔ@á˛ü… Íwvvfóézqyq;��������¦¶ĽrYKóézşlmm­Xž˛%µZg ™MMfSĚ`Á˛4ĄPYGGGßňâeńöő®7ú¸��������LśÁ_µ*‘ĺËóÂDů6鲭­- ›ĄYu ­x‚fS‹€ŮRŻŐeÚáS ,ËŇ”/oi™-m3Ëó­ŃŃ•^JŃŮ•Bf˝wPÜ×í÷��������S^ʆµ¶¤ĘeÝŃÖ’Ş’uFWÇŞčęZ«WŻÎÂc)d–¦8«42›:̦€zUËňjekÖ¬É.3Ą–hk_'Vw´ÄŞŽň|GĹ­�������€é+ĹP::Ë˙×±:«HÔ–M3Ęím]ѱfIVč(źfĚŃWŐL5ł©IŔl’«Uµ,ËŇe –Ą)Í·¶¶GKŰÜXľŞ«:��������¶¦#M©ZŮ‚3ł;ş:–Ĺš5«ł˘G)d–¦&«42›ÜĚ&©ZÁ˛|J˛U«Ve)Ń4ß>kÝXľŞ5K–�������ŔH¤GóbÎĚÎX˝ňÁľ.{3gÎĚÖ§@Y>%Ş™Mnf“P1\–_Ď«–Ąť5…ËŇeűĚ9±¦kvy§��������U©ŕŃŚÄŚ–±zŐň,ż’Bf©ef^Í,)Í„Ě&łI¦:\VśR;Ě.ë©Z6żĽĎ��������+YëĚsfµĹę•‹cĹŠYČ,µĚLł<P&d6yµ“B"«žŻ—Ął}ÖzÂe��������Ś›”UI™•”]I–”e©Î·äŞçinf“@őU˝óuttÄęŐ«{Ę Î^żĽĂúg�������`|ĄĚJĘ®¤ Kʲ¤LK˝Y"d69H"5ąÁÂeťťťŮ™.gÎ^ \�������Ŕ„é ™-¨Č´™MnmAÓ,\–Ňž©ś`J{ÎhźĄ-&��������.eXfµĎŠ5«WFKKK”JĄě˛(-ËĄLqžć˘ÜŐ$R.K Ď0ˮǼ��������€f˛,yń¤”qI×ëU1Łą 5©ę)ídĹuiĘËΞ»A¬é��������h )Ë’2-y«Ěę`Y1 “ť5/ł&To‡)¦8S[Ě4µµµÇňU­��������Í$eZR¶%Ďą VÁLȬ9 MµŞ—Ąň鲭}~��������@3j›9ż"ë2P3š“€Ů$‘v®Ľm*¦Ö¶±bµB��������šÓŠU-ŃŇÚÖ—w)f`¤“šLőÎS«ßl^2°}¦ęe��������4·™łTd^Šjech.f“D±mÚŮĘKbMgk��������@3ëČ2.kfŐ­2infM¤zÇÉç‹;UJm¦©µuf¬é��������hj«;"Ëşäą—¤‡©—™ˇ95±Z;OęE›Ě9'��������`2Čł.)ű"P6ąMyb3%8{fi§j ��������J)ëŇS\)e`´Éś<ĚšTqŞľŢŐUŢŮşýÓ�������09tvµd™—214')Ą&Qo'©^ž÷ˇíę*��������LyÖ%ĎľäÍĚ0qĚš\ľłT—ěě˛�������“B1ëRĚÁ’5ż¶`RČw¦µ=h��������&…”uI™—Ľ‚™`Ůä!`6éŘą��������¦ł•+VÄĄ]˙úűßăşţ#îşë®XüŕCŃÖÖłfÍŽÍţ°Řvűb·=vŹ'<ůÉĺeł˘yČľL6f��������0 üďż˙ŤłĎ:+~˙›ßIJĄKű­ďčX+W®Ś| ţőŹÄ/ţď'Y¸ěĎ~NĽě•/ŹM7Ű<`¨Z‚¦Sě3[˝�������€éeŐŞUń­Ż|%^ýŇ—ĆĎÎ>»f¸¬ž8KAł#^|püńwçF3¨—‹‘ŤiNf“€ť�������`zZxĎ=ń¦Wż:ľýµŻĹęŐ«c¸:;:â«_řb4™ÉA‹L��������hB7ÝxcĽ÷ďűî˝·ßşŤ7Ţ$xöłăq»ěŰî°CĚť7/ÚZ[cŃ}‹âö[nŤż\qE\đ‡?Ć=÷ÜÝw›ëÎŻ¸ŹK/ş(NűôɱjőŞx÷q˝ö~r@µŇ(lWŞq} ËRťů|j)\ćSkď˛ÖŞ)­Ků-«WŻą$&©ę4f±ä_WWWßÔŮŮË—/+_™›��������SSŞ\öĆWż:î_´¨by –őöŁcź§í­­7/LUËţxîąń»ßü&ZZZâMďx{lµő#łu˝úę8ö­GÇš5=UŃ6Üxă8űśsb,u­ş«ü<J1gÎÜňsoÍžS>%ĄR)›ŠŞçÇSţŘwÜqGÍő[nąevYŻ[{űŚ'•/şĘÓâŢËÎŞ©»÷˛«0u.«§¨3?Đeőőj–‘SÁ ��������šČĘ•+ă¸wľł_¸lżžÇ~ŕ¸5{vC÷ÓÚÖĎxÎs˛©č¶[o‰ĽűÝ}Ფ%&.ČEs0�������€&rć·ľťµÇ,:ä°ĂăŤo;zÄ˝Rhí}o?&–.^Ü·,ÝçQo{[@-f��������Đ$îşóÎřá÷ľ[±lßý÷•pYŞŚöcŹŤ»ďú_Ĺň׾éŤń´žPKKĐ´ŞűłÖë× �������ŔÔpÖwľ«WŻm]ąńĆ›Ä{?ôá‡Ë:;:ăŁď_\÷ĎV,î _‡˝ňU1ždb&Ě&;�������ŔÔ—*Śť÷űßU,;ęíGǬٳc¤Nýô§ă˛‹.®X¶×ŢOŽ·{lL™ÉAŔ ��������šŔĄý9–-]Ú7żÉ&›Ćľűí#uć·ľżüé˙U,ŰaÇGŇ>öńhmk €��������4üíoóOÖł˘ĄĄ%FâŹçž_űŇ—*–mşŮćqâgN‰Ůsć fd��������Ŕ¨¸áź˙ŞÜ®»ÄH\{őŐńÉăO¨hE9oţüřÄçN‰ő7Ü0›_ąbEÖšę0�������€&p÷ÝwWĚo»Ývó—_|IrĐAŮtŃźţ4Đ]Ĺm·Ţ|÷»cÍšŐ}ËfĚhŹŹ}ęS±ŐÖŹĚćý‹_Äóž~@<o˙§ÇążúU@-f��������ĐV._^1źŞŤťü‰cŃÂ…Ůô‘÷˝7ÎűýďjŢĎý‹Ĺ{ßöŽXşxq߲R©ďůĐcçÝvë[öő3ÎČhiúú_ ¨Ą-��������€ ·jŐÚjc)ÖÚŇZ±ľĽ¨OggWśřˇe×÷;ŕ}ËW,_ďç1qĎÝwUÜöµozcěŕŰĄ ZnůŇeµ¨`��������M`ýő×ď»ŢÝ݋býŃď:6ZŰÖ†ÎňY^ɬłŁ3>zÜűă†ë®Ż¸Ýs_ř˘8앯ŞXöŕTĚ/Xo˝€ZĚ��������  lĽŮ&ó˙ąíŽŠů˝÷Ý7Ž;ţřş!łS?ýé¸üâK*nł×ŢOŽ·{lżÇşőć[*ć×ß`ý€ZĚ��������  l»ÝöóW^viżmžöôj†Ě>öĆ/úŰî°ăŁâCűxŶąk˙ruĹüŁóŘ€ZĚ��������  ěńÄ'VĚ_đÇ󢳣ŁßvµBf©ĄfѦ›m'~ć”=gNżŰwt¬ék«™ŰĺńʍEŔ ��������šŔn»ďłfÍ꛿çî»âŹçž[sŰZ!łÜĽůóăź;%ÖßpĂš·=ďÜßĹ}÷Ţ»vűuÖ‰]̨CŔ ��������šŔ¬ŮłăŮ/x~ŲŻéŚXşdIÍík…ĚfĚhŹŹ}ęS±ŐÖŹ¬y›t__>ýôŠeĎyţółÇ†ZĚ�������� IzřŃÖ6Ło~áÂ{â3'}˘_ Ě\ ™}ä'Ĺ&›loĽI|¤ĽíλíVsŰ®®®řĚ'NŚű-ę[6sćĚxÁK ¨§-��������€¦°ń&›ÄK_ţňřŢ7żŃ·ěOż˙C¬»îzqô»ŢĄR©ßmöŢwßlH ¨}á”SâOřcĹňWydlşéfő¨`��������MäUŻ{mě°ăŁ*–ýěěłăřăŢ_·]ć@–/_z÷»ă§?úQĹňíµCzÄ0�������€&ŇÚÖüŘÇcŤ6ŞXžŞŹ˝ö°Ăă·çśťťŢOggW¶í+yI\tÁë6Ůtł8ń3§dŹ)ŤÂvĄ×ş,ՙϧ–Âe>µö.k­šŇşůérőę5—Ä$UÝ#7ͧÎÎÎ첣Ł#V¬X]]ÝŃ2SiB�������€©ěŽŰn‹·żńŤńŔ}÷ő[·ńĆ›ÄSžö´ŘcŻ˝b‹Gl Ö]7şşşbéŇ%qËM7Ç_Żľ&ţř»săţE‹úÝ6×N9ýôŘr«­b<u­ş+ZZJ1{öśhkkËÚ}¶¶¶f—Ĺ©¨VKĐń’?öwÜQsý–[n™]Vgríí3žTľč*O‹{/;«¦îŢË®ÂÔ]¸¬ž˘Îü@—Ő׫ ´.#`ÖĚ��������¨ĺ®;ďŚăŹ;.®˙׿b4<ú1ʉă?ůÉ~ŐŃĆ€Ůä i‘ ��������Mjł‡=,ľđµŻĹáŻzu´··ÇpÍš=;^ůş×Ĺçľ|Ć„„ËĽ4Q�������€&ÖÚÖŻ}Óăż8ÎüÎwâÜsΉĺË—7tŰućĎŹý<0ĺ+cĂŤ7*-2›€™��������4jÍšŐń—ËŻŚË/˝$nżőÖ¸óŽ˙Äň•+˛uímmńG>2¶Ův»xÜ®»Ä^{?9fĚ~ĺłŃ¤Ećäl‘©‚��ŔQď ěd6‘�����Í*ĆRp,M0ÖĚ���&™$k†ŕŐx<‡©š���h&iڧz ĆI� ��LĹľf^ ���L~ůŹP�ő��L !-����&‚@�Ť0��gă*›*„x����Ł/o‹YC*ŽĂźP$`��0E4[ ÍŃ`0���`lTŹ»‡ 3��€qÖČ`Ýpb����€Ń&`��0NƢŞ’����4*?A±Ń1%'4��Ś‘Ń “���0\Ă ‹UŹG śLOf���M ÖĄşá†ČFz{����¦¦ˇV-+Ţ�3��€Q6Ř`]˝őĂ˝]Łë���^F;(–Ź?  L/f���Łh W#°ŃÚf\ŚÇó0X ���0dU-, 6X,ݦŔô `��0 F,écLYŞ˛��� M©4h°l°q¦ęíj…ÉT3>Ě���ĆHٰa·ľľ��� h€°W˝ X#1a2€éMŔ ��`j…ż†đvUëşC¸ ���€Ąč ~ÇŞÂ`őBbĹ1©á´Î>úĚ���†a(!±ęe U6k P6-[f���©yUŤełę±Ł:í1k…Ĺz¬|»R6�&?3��€1TkP®Tg0ŻpŁĘŮaT+>���š[Ę6Şžm<pV|Ś\­@�Ó‡€��Ŕ(i4ÔŐÝŐU] \í¬ŃĘif����SÓ@AŻęđYß|Ô¨.Ö]ŁęŮÚ;ŠÁťLf���C0šÁ­*“ J{N����¦ŻęŘ@ˇ°4VUБôĘzĚ��€IŁYĎŠĚͬ"6Hř+mŰH¬zťP����I7+Ž5ÔJ3jÁj…ÄT,ľĚ���1!®bő˛ˇÜ˙pBh����L}ŤŔŞChýn—_ônŇ=ÄűŚ€Ŕä$`��PĐč X­ WżŰćËŁ±v—µîg eŐ×���ú i×Őڮ޲<dV¬\–mŰ]Ů63[_çń}^�L>f��� j«^°¬^ ­«««ćö]3���€iĄŢhP˝Šbµą,ĘjU6kiiéă*Í»ŻÁ‚n�L.f��� ¨.«:ën¬jYq~¨2-2���¦źz­îzŰő^Vßn  gĹŠf}Ëň YwßĆuŰrVÜ®Î8•ŕŔä!`��PPďLϢz±h 8–Ô«T–.kÝWÍ�ZÔiË ���Ŕ”V]I¬ŢşľW>~Tčę®Qi¬X…¬ßýÔQ\_Ż˘�“›€��@ŻFŞŚŐZ—éŞ_a±:Ë ”őmßß@?����SĎ@­ę W1pVę.­m_YU],‰ĺSő Ź÷[ę˝ß´n€*e*Lf��Ŕ¤1–NŤł —×WWCë®"‹á±®î®oSóů6đ3 ���LŤ¶Â,Ü âvĄĘz‚a-Ą–ŠűËƱjÜ®8+^ömS +˙×]x¬ęq˛â%�“‹€��0íŐ;ò‘0W/«Sµ¬zY~=›/\/ŢGżíňÇďî_!­úą5ë3���€É` V5·Żë˝’]´´´dËş˘«rŰŢĐY6&VużiĚ)Ýn°±§bŕ¬4J»M�š“€��0iŚĹ�ÔPZMÖjgYkűZ!°b°¬««·:Yo°¬oľ*PV«bYww˙vśőžoŁ?����Íg¨ă`łč_Í,é.ŹC•ZZúoź®·¬mŁ…6šŮíŞĆˇŠłľ*g˝cVĹ`\u‹ÍęűŞ÷3�Đ\Ě��€IcĽÂeµ¶©—C^Ĺ€XÝJd…ëyűËt»ě¶uÂdĹ6™ő*šEU+‚Šç:ŔĎ���@snŔ,j´¸ě»žţK!łÂ}§°XTµżĚ–÷V4ë©x-2»zďŁV+Ě4nVęé»™-«7UëçSá  9 ��ÓR˝ eÝőÂZT«®T–ëęěě[žÂb}ł®Ţë˝—Ů|Ô¨v•ŐĚę=Ç~Ďu?7����Íg8A«RťpY:«®h–ÄRȬ+…»z[hfcP-=ËÓ‘ĆŻŞÚ]&y ¬ßS*€V2kôç2h>f��Ŕ´ÓÝ`ĹŻęŞeŐŰÖ —ŐšO˙uĂdUÁ˛ľŔYoč,Íwö†Ó’¬’YwŤjjCř[���@snČŞx»ľ YK)«H–ĆZÖV&K˛$KăOŮú<ÜŐ[Ą,KjíiťŮ׳ŞĹf®Ř3»ž‡ĚzÖĽM=Bf�ÍEŔ ��V†.ËbbUŻşUĐ -3Óŕ\±f~=-ĎBdĺeŮÔÝ{=„ëęJg‰–˘łŁłŻÂŮ@ĎąîĎ����Ŕ´•ĆšŠÁ˛bŔ¬µµ5ÚÚÚz–ő.omi­Ř&Ť1ĄíRźĚ,ô•ĆąRĹłŢ1°Ň�á±4¦•‚k=Ýž·2hf��Ŕ´Ő]Ł2Y­`Y’ĺŰÔ¬TÖËĂh)@–‡ÍŇőĽMfVˇ¬7TÖ3­ÉËfÎlʇ?lłXoÝubÖ¬1Ł<¸7Ł­Ąßs���€ˇHCKÝQŠ5k:b鲕ńĐâeqçť÷ÄęŐ«űNxĚĂf]-ťŃRľŢ4ëűJëóĐYKU;ͤĄ·˛YR\ŢÝ[Ƭ”=‡¨Ř¦ň9 ”4+3��`Účîz°Z÷Q3`–·ą¬ny™Ęş:űgkÖ¬ÉîZ[J1oîĚŘpĂMbĂőçǬ™mĺş|`.Ý{)«bf\ ���€‘Čş^–Ç­f¶·–§ą±Ázsc«-6ŠeËWĹý,‰E÷=+V¬ŠĺËWg!ł3fDW[[*KAłRˇýe$K˙ëę Śĺ-5«b5ĂbYëĚRďŐîACfBg�ÍAŔ ��ň “ 'hVQµ,;ýł»ŻíeE¸¬««ŻrYş\łzu.ë.Ďo´áş±ńF b˝ë”íJýî; ů­]����0ŞRn+ťü¦Í6]//Y >÷Ü{6>Ő–*óĎÝ­ÝYČ,-KᲾń«ÖŢűé.U.ďU ‡Ő ‰·/Ő ž ™L<3��`ÚŞ—ĺa±ězT¶Ě¬®Z–·Ěě® –uĄ@YďőŽÎŽľůŐkVÇęU«cöě™ńčY¸kď«V����iF[kVaÁ:sâa›o˙Ľţ–Xąre6î5ŁmFt·uG[k[veĘ•u—JŮWOő˛Č®·ô.+¶ĘLú‚cY“ÎREł"A2€ć%`��Liµ*”5ş¬Ţýőm[#tVÝ3µÂLí1Ső˛Í7Ű ¶ŮjÓ5kfyůš:fŃ����YŐ˛¶ÖX0ż-öÜmű¸éֻ⮻ď‹î®îŃ;–Zfć'^&}a˛RôÇş í4óű-Î÷.Ś|4®Ô@ŘLř `b ��SÖPBc}JĄµUĚŠ•ĘŞdi›Ë—§JeÝ…V™)XÖ±fM¬Zµ*k‰ůČ­6ʇm¶~y®ťťéěÎÖ~­/{É&¦f­v�©>P�“Qń@W©p ��¦ł<h¶ÍV›ĹĚöö¸íŽ»úĆŢ<ßÝŇÝřJ#gé2o‘i,­7tVó{cVđ¬ÔďńęµÇ¬·�ăKŔ ��VŠÇŠ—˝3ŰuWÍWßO_ ¬«Đ"3…ËÖ¬Éf)\–ĆĽý¨­bőće-1«¦ć}će1`VýsOÔó�šź SA^mˇÖű��Lgéăq ™mąĹĆ1gÎ̸î†ŰcőęŐŮ8QŰŚĺÓ‘ŤĄŠfĄBKĚ–RKZ•µĐĚćËëúťĚ‘‡Ě ­2k…ÇĘ�š‡€��0mÔ ‰fz.˘ö6ĹÖ—ÝŐ­0;;{fĺ˙˛–ĺůžęf]Y¸lŁ ÖÉî#mÓ3(VjčyŽďîR6žW+Üć€;P‹×&łz-xę­�€é޵Ąo¸ üyy‹řÇżn]»Ľ­-«d–´+ĹÚ(ó“3óY¶>_WţŻ‘�ÍAŔ �� J1<–Ď÷]桲îŢŞey{€˛,Kałt6gggGlµĺ¦Yĺ˛|@m°˛ęőă9 6`ř JŢN0)8€ÉF•��Xţ]oŁ ÖŤmůđ¸őö»˛±Żö´°­­çűaw)#ëęm•Yľ-]ĺ­ýĆ×'ó™ ů��SŇ‚uZaö ™ĺÁłč®¬hVž::;˛pYŞ`–Ů6ßlxŘfë—Ő†şČĎěĚŞ uvŽ{Ë®4Z¤©xv)@µĽ=pţz•®CóK贈ľd>ĺď{Iń˝Ďű ��ÓUőxTúlü°Í6ŚeËWĆ˙îZ-­=cHyĹţRW)k•Ů]čBgQ”ŐşĎŢë«b6”çĺó:Ŕř0��¨a  Yß|o,—uöV/›5«=¶ŮjÓň ŰĐą–/_^ÔČĂfă0KŹ“`ϧ4?gÎś�(Ę_Żň€Y6ɤx0jöěŮŮ��ô¨„ĄŹĎ3f´ĆvŹÜ,ZĽ,V­Z­-­ŃÖÖÖSą¬ÔŇSŬĽmO*¶ĘLŞ«’e÷-0i��SĆH‚X©ĺeń~ň)xĺ­0óÖ}Sw×Ú*fYkĚť»MĚś9ŁĽ¬ö(Yq€.ŚÖXµjUÝíÇCţĽň[.]OÝÓ€aô>ç¬ÝAůyçŐ^’|ľzŔ0?“hĹţâ™äŐűtőŕZ¶bĹŠěőŞî™ç0 Ążë•+Wfďué=oĆŚ}Ó}z÷íz`˛*ď·…Ď祬˘a^-Ąü™ľęwšëîn][LĄTů}�ę©őY±ř9˛8.T«Ş×D)~O¬'­›={f<jű-ăšżŢkÖ¬é«bÖŐŇ•U1Kß*óV™˝o¨ŮŘRńűfţ{ČÇă˛yi3€¦Ö���Ó\w c Ż7h‘Đz/SŔlłM6ëĚŞhőżiO{®$ Ä-Y˛$«|Ö¬V®\•=Çô\sŐ­ Š?S5᡹ő;<jďăůëU­pLéď|ٲeYŕ¬g?ľ–ŃÍx‚î•,,Ö•]ď9ˇ¤”Î8‰îžEŮ“l*Ą0@WďÔSÁ¸çv�P_őgĹâçČęőÍôą˛XÁ ]1ެŘdŁőzO¶ěĚŢ#ó“’ňű*^0ů©`��L; 4Č——öď› ó©Mfj‰ąŃF Ę—©ş×`hÝYŐ˛ü�v3Kăźi°pńâĹ}-ÄňJGĹße1Gf�š[­}´ú`G1x–^«–/_öm¦®ü=-˝çĄ÷čtplŢĽy}űB,ś†IŞ”ż‡•÷ă<(VŢťoZŘýĎšňeůóîŞňAóÎîh/®omŤxÄ3âqoŤť6k‹Y3JůÍ+?ř@•ˇśPëű×XhôqjUY«%­ßd“őâţ—d!łĽŠY©üšU¸Ď«˙–z+·Eôk—™ßOáÁ˝Ç413��`úÂŔUE°¬Đ"3_¶zŐęX0N¬żŢülűî6Ż”“IôKĎ9µkooŻ9Ř(XSGÖ®¤·:cĎë•ý›©ŻŘ3U]ştiĚ™3§ŻŠYR]áLR¸¬|đ»Ą'Xöő‹WĆ…˙^ť]kbMW©ď$‘´Ź·–·´µÄĚÖ–Řrý¶xĂ>sbď­Ű{ZiÖ/Ţ �}ň“óň뵌×É Ť>NŁŰµ´”býuçÇÜ9łâÁ‡–őµďnié NJL˙ ,`R0��¦…ˇ”ć/VĺĘ[áô«^V›Ąęeťĺià ׍ňń§A# ´ĄĘ(“íŔtţ3§ÖaéĚÔÁ¶ÍľçŠŔÄ+î›ĹýZ­Zň mz˝‚é źKď[-˝ĆRKŘôž7kÖ¬š€I$«žŇ+;"ÎżqeśqáŠX´´ł÷ś“R̬8ZŇłŹŻéꌕĺׂ[uĹ»Ň/ÚefĽú‰łcýąicƨ­şµzuŞgy¶ĺ¸ž¸P|=ćŕĎ)U9ëŽ 6X7|hiV¸şŠY)× ĺd%UĚ�šVK���Lq†ËŞZb62ŔÖŻ=暎¬Ş×†ëĎohP0…5ŇŔ[Ńd:s3=÷2«ţŠŠíÄ€ć1Đ>Yýú•ďë©‚YĎ:ű5S[úŰÎ+•ĺúŇ”Bfé�Ů`áj`2莳Ż^§ťż"-éÔ&łTęě}oKSKĹ4ŁüšĐÚRŠÎT٬»#~ń×ĺńůó—ÄC+»�Uk¬(˙Z5ž'.+ńŹ–4–¤ďŤŐ÷ßč8[­eNč�h>*��TɲŇŔXTU,‹Şu)€Ńs–fĬ™muď/o‰Âeé@u­mš]ń9¦¶a3gάy°˝úě\‚ĐŠűfuH¬ú ű$µňMűza«ŠmaŞŞnŰ“–Ą}!…ÉI¤»÷üúR uEK©3ÎůŰňřćĹ«ceGϲôÖÖ+ëęý˙–č,őTßm-uôu‡Îß5×tuÇů7®Šůs–Ć1űĎ+/iíi™©Ť4�5ÔŞťŹ/UWĆ­Uý=m“ĆśŇçŃ<Ŕ•Oůúô5źŞO–(^ĎoSý˝p$ßďŇígĎj/?vËÚ“Šch…ßCÖ63]ď=©Łú3w­JoŐż'';L,Ł"���Q?0Qł-faęęî9;óa›o­­ĹÁŔRżşîŢ@ÚT‘Â')d–¬$­ż˝Á@<˛ęŚkč‘fłgĎ®¨Ć‡ÇÉá–ű:ă»W¬Šĺ«Ëűo©»/5–öę®RK´–§őç´ĆA;Ď)_ŻZKŞ*•Ą›¬)ś˙ńŐ+c÷-ŰcďmfGÉK� ĘÇEŞXyŕŞ8n’Ć\Ň Šé2Ż VKZ_kIă4iJłb«8F5š!ł4ö°Í7‰Űnż+óŞřŚÜŕý4^T=®f\ `âĐ4TB`2ň…&±Ţ6—ĺ!¶~ďAC)Ĺźm[čŰ`ýĘuŞťMůŮłĹÁĂô˛č-&‡üsLÚŹ«?Ó¤eSçő F*ݎŠL.yçT°ě˘wÄÝvG{kŞD¶¶*Yş¶ÁܶŘ˙Qíńę'ĎŽőćÎTäĺ÷˙ZKV®®yżĺOýqÖ•+cĎ­Úcf‹öą�T*V«V ™%yŐ±|],KS˝ ^ő*ǧe+W®ĚNŽhooď šĺëjť9ŇńítűőÖ]' Ą“0óű-†Ůz6¬üÔ¬XÖ;N@srn �ă®^Śü=Có«µOV ¦EĺŔZĹöŤěĎÝ=÷1ł˝­wóRaŞ ˘¦pYŢ’`*č  td׋ż·ę|^ˇyŐ Ř&Síő F"?—ňĺć€É!űT^ęŽWtǵwvdAł®tđşj7Ţ{»öxăľłăĘŰ;ă–Ei}Ş$S˙đIz·ĽţžŽ¸î®N‡Áč§zŚd óĎ–é;ŘŠ+bÉ’%ŮçÎü~ŞĂXĄŢ“ő7źRĐ,ÝWşĎâw»âçŮâ}Źä3mŮÉ—ŮY,‹Ę±ň|ľúůöű†ŘvÚŔř0`Ě Ţ0ů»‡‰7šű^qP¬»·ňYĺ~žZ´GO[Ě–ČĂeŐŻS1`–WdóZÍŻŢŤZgľ§}Ű~ kĄý$U‚Ť*Ŕř[ş˛+nżż3 –uu•˘úŘuggw|úÜqâo–ÇKËűů ďÝŃ«Ë˙uW‡÷K�T¬.V˝,I'îĺa°ĺË—gëň–y,˙.7؉|ŐëÓý¤űL÷ťŁÖ÷Ľę±«ˇľŻĄíŰÚZ+dő.{gúÝ€ÉAMw�Ć„/P©Ve`b4ň5ôphy0­5U9čęw?ŐSí=r*µü„é Ń× ü€Đ#?Đ—Ôj+ 4§¬ Jw)–ŻéŽű–tGís=şă[kOéĘúľ—bŕCŇú{—¦vńĺűÍŢ3ťĎ@ŹâxP1`V¬–‚ciL%ťÄŞŚ+Äe,©:ÄU¬n–ßWbKfĚ­­­Ď'~ĂűY#Úg´V>×AÚpÖë6Đ·]Zďó6@Ó0`T9é—v`l4úV,[;WĘĆ˝»‹â@âtRÝ2Xťő>u[Ű–âĆnŚ+®Ľ";ě°ôŞÝpŰoż=ţüç?Ç‹^ü˘3{Nt‡ÖˇÓM÷ Č&ŤîúĎ;…p.\ąę/±hѢ3wN<f§ÇÄ;ěĐsđ1Š'ĚDÓp"ĎtWĘęßw˙ýqÝż®‹˙Ţůßěŕů¬YsbË-·Gíđ¨Xw˝őĘ(ťŮß˙šÎŽÔłÎ}e}ďŁÔŇťµÔěŮ_z§üϬTř{ë*eŰ®XÝťÝ-QŠîŢ퍋0đç’âw®<ř•‚f=ËóńĄ•żążZŹY\–#=V±*ZşĚOžîwŔôŐˇ¶ü˛ßřY©ňyĺź­k~Ć2h:f�ŚŠ±8�%¬F3Í‚f0ö†Ę}vwk[Tď`»ßL>Ĺ #9ČĐlʇNâ†nŚď}÷űńŇC_­­=íŚůńn»íöřŢ÷ľĎ~ösbîśą˝·óú6ÝÔ=đ5©¬}îĹź#TĽé¦›ăôÓOŹż˙ýďŮǶ¶±ŃFĆË_ţňxŢóž×[Ő©Wú=´4ÇűĽďRÓ[gGW\|ńĹqÖYgĹwÜ‘µ˙JĎ[ZfÄ‚őćÇ֏زü7üĘŘ}ŹťŁTţ;ooéŚUÝ­ĺżÝZ7ÝY€¬»7*–‡ËJ}ů˛Ęż÷ÖňűJwyjźŃ­y3µŢlÉfµy˙�~ęťÄ“·ŻĚ+—őč®řŽ2Zźuň1¬<L–*Ą©ÖçŰŃ~Ěü>ąßéxR&Ŕd"`ŔŚĆŔÁ5&“zŻ#ůâ+hăgŞżçTŘUW\nŇkßťwŢ_>ă«Yp&9č †ôą+?ł˙Č#ŹŚý÷ß?^úŇCcý ÖóŮŤI¦ç3B:¨ö‰O|âń·żý-; Y«SľÝI'ť”MiY:ąÉ&›Ä+^ńŠx泌YłfĆDĘ[–+f0}¤żÉsĎ=7>ő©OĹŞU«˛ż‡ô7š.×ttŢ…÷Ć}÷Ţ˙řçőqć™ßŽŮ37‰ ćλwGíďéď¨;jU «U©xu©+f—§Íć·fŇşZĘęË÷Üĺ#7ŔčéŁ÷řŇÄU$Î?ŹĄ÷±ęOí1Çë{E~ÂDzĚôž9gÎś/}'jĆĐdg�ÍEŔ €aîj¸™ŠŞ˙®‡óĹ×fxµŢŁšľRYyŔ5Ujx衇˛–V©rC:Č–Ěś93ÖYgťŘhŁŤbÝu×͡żĘľ´w¦‡Űn»->ö±ŹĹ=w/ęm;Ó2ĚĎiQ>�´*~ó›ßIJĺË⨣^óçĎoč¶ő*ÁŐ{cůž“bĄ)ikkË* çL=ˇ±ţóźńŽwĽ#–-[–ý­Ą˙Zm&«˙nóˇwÝuW|îsź‹Î®Žxń‹_Ă‘ßW~} j‰µž[zΩZŐ…^ííí±÷Ţ{Çf›mf¬ašąôŇKűÂeéo#}ŢÝvŰmcöěٱd鲸ĺć›ăŚU+VĆ/~ń‹8ä×ÇVĎŚ»ݬŃɲ[mĐŰm\>\ŇRŠőç¶dŰ<iŰqß’–¸uQGܲ¨ł·Efď bĺ‹™íĄxTů6-Ą®ňŇÖ¬«f©|Yż€Ye«Ů®®î)U-`´ü÷?˙ŤëŻż1FSz˝M­żţđ‡G3H!˙+VLŘXpz˙LźŁŇ4QďCĆÂ&3�†l8_8´Đd˛ÍŕĂąOŐĚ`üUżźôĘŞ‚eÍřľÓŮŮ7ßtS\tŃEqÓM˙Ž{îYÍňđŔ¬Ył˛�Ħ›nšpK`·Ůvë1cFßĎăýŞŇç©+®¸"î˝÷Ţěőr4>_Ą0ŔŐą:îúßÝ ĚŇëěŹüă¨~n˝ţn°Á±çž{fA‰âóéĎđ—żü%ţđ‡?d´¶Új«xń‹_ś™ŇźĎĎńó,Ś>P›˘bȬ–t@ňűß;3űű©Uíi0?ýéOűnŹyĚcb×]w­ůxŕřŐŻ~Ő„;đŔł}#=ţ7ľńŤřőŻť}¦IŰ˝ň•ŻĚ2=Ü˙ýńŐŻ~5;0źN HG©Ęd Ěť;7–.]˙üç?âëßřV\˙Żë˛ż•—qD<f‹ö¸âÖ•é|‹č¬úÓÝg»YńÖýćő†Č’RĽó€yĺ÷ŹŽřćE+ă¶űVDÖ¶¬§fÖzy› "Z—Ţß9óŠň]–—¤ŕdúQoßjéąďô|wŢyç캏â�•Ňűţe—_ź9ů3˝KFgŚ4˝4sĚ;ăŕ·‰”HźgĆ{<¦8”NľIcGéłÔxË‚e…ëÍŚ‘43�†d¨_zĆz{mCůlô îpÂfÎŕ‚ń3«¤¬)pÖ™gĆ9çü:/^ś-Żţ9ŇÁŰ4ÝsĎ=Y¬TyçéěŻ}íkűBfŞ&�SUŞ”*;¦×Ë––¶Q{­[ĽxIVͬŃĎkéy|÷»ßí;x’Wڍ‚ŮöŰo;î¸cĚ›7oT_Ł.\…ĚR[śtP+]2}¤żą»ţwW_Á׿ţőńśç<'ű›LźľôĄ/ő ×§Ę`)Č“/îsź›]¦Ď=嚆ţ÷ůío;î»ďľě>;ě°Ře—]úm“ÖĄŕXzěô\Ósß}÷Ýc˝őÖ‹5kÖÄÝwßťm—®§íňŠhC•çöŰoŹ›nş)›O•_÷Řc•ýšÜ5×\˙ýďł§Ô¶ő¨ŁŽę *¦ż•ő×_?ö~ň“˛(ŘI'~2î]x_\~ńe±Ď®OŽßüµwÜ×ÝÓö˛ď»ăě«—ÄŻ˙±2eĎĘűHy}wKĎß^ůodĹęîčękźŮ[IŻkUú„ ăö뮊3ľôµQţ“éč8Ěśšs¦őéďţqŹ{\o5żÎ ý{KĎ!˝\{íµ}áÓm¶Ů&¶ÜrËJRŐĂn¸ˇŻ%Ü^{í@ë{ͱŃćgMßOŇgÜxŽ'˝ţ§)ŤŤ÷8tńgđ˝Ó9@S0 aC9°Ńč¶h3™ §-ćPľű coČďCMđľ•tĄ$ź=ĺłq}ů IůTvPŞĄĄłfĎŽóçg­1Óŕi:5…ĎRu‡4B»té˛řŮĎ~×_}ĽýíoĎZC¤iBfŔT•żľu—ú§Šc©úŃÚ#Výz¤oŮoIzííiłŮ{ $zÚ7ňryČ,UBKˇ‚\z-NŻăk7ŚŢm*Ű©ŤTţZźŢ7Ňű‰×ţé¤ÔWµ,lĺm´ÓßÖ>űě7Ţřď¸í¶[űn‘6¦Ę`)¬Sü¬_Ďî§%ÝçĐţŽŇíŇŐ|_(>Ç\ľŻ¬Y˝&:»:{źww´”Z˛pČa‡>ř`ůgźU6›=kvo]©!ţVĘ÷{饗Ĺi§ť–=úV[ogťuć8ííÔöÍzŇëW ¦Ď·éß)…q·Űn»řß˙ţ—}öÍ‚ĽĄôąxf<ć1ŹŽm¶Ů:®Ľę8ű‡?ŽĎîń¸xůžłăłç-‹ůÚňçćUQž:˛Üdk |u§×ČŽ,–mŃ÷"Ü3Ę/˙í¶něłÝĽ8çƶěńşłŰtg˙t)4P|˝Mˇ¦zŻáf,?Í+VĆO˙bÜpăŤŮţůŽň÷„ž€ŮPßxĆűď¶Ôđc_|ńĹĺýüóŮżĂV[mO|â˝BÓ*Ĺ‚uĶŰn•űůČ? /X° &ZzíI'zäźĹŞ*›¤íRËçĺË—eßeŇç Z–/_žřç̙뭷nÍ÷—âăĺźµRŔl´ŞŔöşš­7Ô 0© ĐŃ ŚŤtđĆŕăi¨á®FgĹ3ŤÜ§Śť|˙Ęű\ö_ˇ­Ŕx OĎ5ţýď›â+_ţJÜpĂżËO ËR•…–¬ÍÎ>ű<%óŘť˛ĹÝĺu ďą'ţőŻĹź˙üç¬*Aş}:jvĂő˙ŽSO=-Ž:ę Ů9Ż3Ŕt°ďľűÄ›ßüƵ!”Ş/ĄuUG?Ž8â¬-ŰPĄ×Ř—żüĺď9©mçŻýŰčXÓ‘…ËžöÔýzć—ş˛|Âzë®ëĚ›źµ`[űśÖ^I˙ĺ´zďA=Ž˘ňöůĎU}•ŰĄĐPşqWÖľ¦÷ T_őžáĘg`ĆWú§IÇ˙ŃŞĺ=ŐšŠ˙dŁ˙ďWĘ>ĎôżďîlyV,[_ęÝZ˛żŘ˝źĽwěşËnŮ–óćÍíý[$°Uę®Ř»{÷‰î®žçĐ•…Ň|dŹSó^†QťşŐ÷UkżÎŰ+Ö[?]¤ź=o±š¤°@:ŘţŢ÷ľ7®ľúęľďĐűî»ośp 1wŢ:éVqëí·Ä…—\Ď|ÎsăÁĺĄřŢU+âˇĺ×ąě­ ˝ÖelŮ}ve.˝s•ŮßŮVЧnßG>inBŰq‡mă¨7˝¶đü"~ţł_dˇäô\Ňgíô\˛÷ĄžPňN;í´ö߼Öëđ`JC}=Î_ďűË˙îÓß|úŰ_»źµĆPŤęße©N€»{íľYŕ®'Űß»z~)¨š~ĆîÎRO=şˇěÇĄáUJ†&í–°6Učn ·:Ě>ńďˇyáę1©ZŻI)\ö™“O‰oĽ1öŢ{ď8üđĂł1ź|űtŰTµů{ßű^\tŃEŮűλŽ}gl°Áúýî«Ö )ě–ŢGG#đśĆÇҸS^ËÇĐFÂw€ć"`Ŕ  ­`™�Íd°żÇÁľŕv­ŃlBfĐ©ü’źašţľőÍoĹő×ßĐHá˛g?űŮń’—Ľ$6ÜpĂHŐtR0 ĆIĘŇ”ZJýŕ?sÎ9'»Mşíu˙ş!ľý­ďĆqx_Ý3`ąôú}Č!‡d×óĎué�Ńď~÷‡,`–*ۤEéµ: ŔdŰ­=Řôß˙Ţ—_~YÜyçťŮÁ¨ôZ˙ŘÇ=6vÝe—h›ŃÚ÷}Ę·˝gá¸ŕ˙Ů{@I˛˛Lű;™w­˝ŞşihşišĄŮA6•„AADQÇĹYÔQőg—q܆MYdQ6„f“}“}í˝şÖ»dfÄůăýÎůNśČ›·ęVÝ[U·ŞŢ˛ď­›‘‘'NDFdÄyâýţů˝šč”Ş+®¸Bľç{ľ' 5ă’™%šáqőŐWkŇ%ެüÚvŮí.Mĺ•ńüç?˙yť©™hH„p*ľa”°űęWżŞm›ťťŐ”),«-Ů<X˘!é\rÉ%ň“?ů“1u©M¸°ß×unâÝŘă(“gRű7‘÷Ľç=ňÝk®Qí Ű7Ę ćŁŘ>?ôˇÉ·ľő-M“BâJ(Ţóž÷ąůYťć[ßü–|ä#MR@ňë+^ů*™žšR)Čp톂~đşmăóďO·ľő­uűżŕ‚ :ežĐ—Ż~őkRR!J‹˘¬ç»Ţő.Myň“ź¬óÄĽđs~~^Köťţůťĺç;ß©B*Ţű–] Is<7íű|ť!µĺç~îç´Ä#@aź Ďi^ł<´(EłÝ=ńł˛s[)őŢ}rí©f+˛83§‘Ęfş˝ I÷É.hŽŹľrZž~ď)Ů>$ŢK.ąTŢű#ţ¨¦¬‹/ľXžň”§4mžMR3D®÷ľ÷_ä;ßţ¶ľçío{Ý–Ţţö·ËWľňĺf{ľ‹<îqŹKÉ}űöÝ,˙ň/ďkŽ_ÔeÂqફî&÷ľĎ˝t»Ď· K)<|hAŢńŽwĘ—żü%Ůż˙@łŤm‘ŰÜćbÝ®Ď=÷Üôů~Ç;ޡÇl—J)cľđ ĺ{ż÷{ĺć›÷Ęűß˙ŻÚ×8 Ś,RAqn‘żăspŐUWé{ăśĺźţéźôX‡ăRćp źź“q™mřĘWľŇ,ßżhŮSĽďű€Ü_Ó‹BJbűšWľň•éw”řĹąĐ;ßů.ůĚg>ŁËymÁgóÂzŔňäźs¤ľę˙˝Joôúł,J• P.÷ř@ł\ßh¶™‘.näÁ1tűŽ­aýńFČi„ĎäĐ(—ůS›i–¶h ß­°ßG‰_üÄ>çĎ|Ö3uß…ýöß˙÷˙ţßć¸ň^ť×—ľôĄv¶kâü&%ŘŁM›µ<řZż{ňú9!„ś(B9"ë•ËĆ/ۅ鵼–ÓŤń‹şă'µGÍ(™rrt!ítŔ’Ň^ůŠ˙'źüä§Céźćâ~Ţő®wUą (a@ÉÉhĐ–ňÁt¸đL`±ÝÉżýŰÇĺo_ţJyÎO>[!„´`ą®ę´Ý(ň’4u»đÓúkŹÁťRĄüýŤo|ŁüŐ_ýUz˝Műş×˝Nns›ŰČóăůÍţg(ĂŕĐ>đŻňűż˙ű:Ŕď5Š),ĂüŔč±ÂŽ9(WÁŕw÷wu ˙ÎŰúŠWĽB˙řÇ6Ç‹çčß üÍßüŤŠř7d ľçËö˛—˝LE4đG<BÚ·<ÜtŘ6´S†š ·Üâ·čl˙ă©ÇŽ{ůZB^:ĘÚżá÷ż˙ű7ČG>ň}ţéOşJfłłÓÍŕë˘üĺ_ţĄŠő&ÚŘň˝úŐŻVQäw~ç·eÇÎíň…/~A^ô˘5ŰóÁ´˝#ĄđŹ˙čŹTN‚ôJ:_ţÇ˙ř:h;ćńó?˙óňčG?:őËňň@ţřŹ˙(}g»Ýín'żńżˇóÇ4÷ş×˝TÎDÚú ¤)ôyŢHŕÂçüÔO=Gü<Ď %$îAĘ;xŕ°îg 9A,ĘA?A2„čŠß1ý…ŢR·Ľ^Ů“ďżÜÉĄ»Ď‘—_}Xţĺó R•±ÄĄ@4‚ Űü^@č7Ó‹\˛§”źzŔ¬Üű6}ÁöëWن±kź$F¶bCř˝ő-oU�ŰöŹŘgC@(YůřÇ?^“Š?ýéO7ŰŢŻ&ŃĐxŐ«^%—^z©üÎ ˙Wł\¤ăxßżĽ_~ý×˙gJČ&ŕňüç?_î{ßűęv„ĎŹóĎ6p€ ů ŹoĽIßÇ|6 ňˇääg?űŮ4_żř‹ż(xŔä/xîKpĽÂ|ßň–·ČŢđů˝ßű==/±íŇß_˙ő_ËË_ţň× qŚyć3źˇEľÍŁś­Ńí˙ď˙­ç4č[cozÓ›ĺNwşŁüáţˇ®sHás~ ÍźCĚź;Čo©Ń˙8Öٱ-­µć5Ż}íkuóżů?墋.âgÓ|^k9ć´Č„×ÁZľďŮł[s»ţÝďy·”Íé§~ę§ôyěC˙ůź˙YÇľ űa|ç?ů± ÇÄ›îo !dsAÁŚBČşXí$h\"ł‹Ă¸{wĽ”ŘŞ'Rx ›‘UNjÇĺ2\¸Ĺŕ  „m0†( !Gă+_ţšĽńŤoJűO‘s˙Ü_/8âĎ×\sŤa@ű A,Ă`%HqQHKKKq®µÎó!yÜö˛K„BÎtÖr†¤ĎĽčE/–+ŻĽRĹ}­_żŘ‘ĎĂRgL~IóvˇlöçФÇ~?G‚úë7Kô‘ö‚×B´xéK_šöó˝^_̰LH‡Á<´\ň'ŕ‘Ü‚věÜąŁy„ÔČÉxĂß(ó[ćµT($ť]»véqÇÄ$3¶ ź‰8đ‡xc˘ŮŚ„OĆG?úQ]OH÷piĹŘô˛ ,..jؤůîßż_·}K׳v€|[˛ďFĂa%o~ó›UdÁß¶l٢il(MxÝu×išŮ'?ůIůĄ_úe•0g¦gcbX&ńš~ż§źĽ6 ´úćłöUfđů�řLaŕźS¤’a~ű·[:¤i…Řćmq¬ß^ň’—ČÍ7ß,333ú<– Ţ·Ď4ćž/4Ý źW,;Ţóľ÷»o’LĎfě |ż=tđ+şŹúł?ű3yîsź«)`ř~Śu±ýŽí }†çîxÇ+dTŹäÍoz“|©YźŹ|ä#ä—ż˙Rů‘ű\(˙ö˛|óÚò©ßL#Ň/›íˇÉ-wĎČť/čÉť.ěɶi”R-ÂĺŞU> NÚmt­B-ö—HÚ¶Šöc�nŽE˙őżţWݧc Ba[@Z öłŘ&ë·^ żüË˙]S‹5=í#Qé űmlĂŘž!R8°żé«kt[ű•_ůý Üýîw×籢źL.Ć{@ÎÂ~>özj+¤°·˝ímúůÄëĐ“ŤŃßH‡¶˘Ýř\�~Đ~ögVŰ…u)Ç:ô>HDżáóŠ×ýŐ_ý_Ylćń?ńl} –)ßWüÉźü‰Jn8ÂsX6<Ťżýéźţ©ü—˙ň_TÜD[°›Ď9°~Áç}ŤĎÎźĐ>Ěmąímo«ë}ýőŻ]S!‰ţź˙óôď„Ó ě7˘8¬˙<µĺn±Ż?>éfHěÇPű'd §�ǤšŮk‘ŕřÔ§>µyÍĽ¬ĺĚÇľŰĺŇ!„r$(BY•ă-{9~÷˨IŐ\čVCYn.:Ő•×;éóÎsĆćăăŔ‹ÍËžvvÇĽ`—W©ýŠS&gÓKWč 7!• ĚÖJ´óď´EşËjóY) M쓬ăŚßÍÚ^„n/JĆfčmrgóÍÚž&÷«ź>Nl¬ěç¬EéßŢwŰж=k÷„ůNě·rjďǦOoíV8]í:‘ńvtú®;ßń{‡óőm›bšv¬łĂzď[3®ÝŢ 'Ą+¤h¦¦ú2Ő ę᮲˛ěuJĚŹdF ŤcçtM,eyţáޢ:9Ű·o“+ŻĽŁ–ŰAHÍk^óůÇüGÝŹaw šüĚĎüŚNŹ;ď‘:€ťP ÇęfíÍ˙ ˙é?˙śpÜźr¶áÇÎGpÜŔŔ4L Oa€ůÄ˝·_qڞďˇ#,Éá(Q†ňbôĆŕ=Ě @HAŽ•ŕDZd €t¤‡>ôˇrźűÜG˙‘6tKĆżSBĽÁŕ9ţŽřg?űŮ*+ŕ|î­o}«¦ĎŕXÁ,¤ę@VxřĂ®)eŔJŹŮň@p°ň?HZĂßc7/!•nżnű8gŮ·ożĘ _űÚ×T4ĂşD‰ÇË/ż<M\řń×9ůŕŻÖĎš>=öyŔ÷• –…ä§Ł˝/J!BʂԂi±Ť>űŮ?Ţ|fTŕt$2lës >ďyĎkľ;ý“üýß˙˝ľ?¤“_ýŐ_UŃ ź4 ·7ń<„›ç<ç9šz™Bľ{ˇťŻxĹ+U|Âsi‘ă9ú˘%žÇg}‰÷şÓťî¤ířą¸¸ ßŐđíă˙Dú\á;ÜŽ;(iJŘţ‚őc?öcň[żůÝN°ÂzC?AŽ‚ü„›*®żţz} Ä- ¸ďlúđďz§üńźţ…®?ČÄOzŇ›íűńrţ%).›‘-Í ĽJ|Zβ˝€ďă•m˘ĹŞ~ŮQ-Ć®Ú`_Ž®~đU^Ä6€e@ş—mĎH{⟨Ëí/ţâ/ôuźýĚgĺ}˙ň>ůá'˙°n‡(űŠÄ1l+÷»ßýä‡řÉͶ¶G?Ë/~ń‹őIĺ8!ýřŹ˙¸öÄ)$Áá˝xů‡<¸iÇŽK`3ŽŘ·CÚ|ýë_Ż˘äÍ{oÖcÍýĐişR×ţ…cö#(™ ! ©—ř,âŘ‚¶`ýü‡˙đtůqî‚y˘­öµŻyťÜű^÷’«î~ŐŠ}�äf´Çj|ţ‘÷Ât8vˇl*>c±ń9µĎ9Ţ’Ţ źsôŽźÚđ<Ň ÂA@Ă1őw~çwtŮźS¬+Ó9±ŕóŤďÂăeŕe])d^ňĐë±řT2~łÇZ®÷â;Ăłžő,Ý_Z’™ý´ëŰ~đCä™Ď|¦NŰ\é™8źŐnúźt !„2 f„B&˛^ą ŕÄd8\–Ă K˛Ľ´,Kˇ FUĚöa ÜŐv÷~vÂ€Š¨„V5xŞĘGŮĚé 7îâ-‹0˝ÝÝďupÜKťÉIx ÓôâôůIšľ?î€ÎҤŠćéĘ2Î[Âĺ>LĘ x ­€@$± El‡-{łĚuTŃ‘}‰ÓÇůş¬qŕ¨Ň4·L†‹íÖGGŠ“¸|­‡§mŮZń.¶;¶ˇ#Tĺr^¶ľjM—ónĎÚť‰qŢÚP[ťO"–ő_.Ţᡟ}ęCońŐv—m_ŘsAr¨C9 ‘VčŠëF%ü/›oŰß’¶#Ű6\¶|ŁQ§ŤohëĽlűŮúóĹôu”mť”ńaëÜúŮ–±÷ďőJÝöđž*uponv¦™f:݉LÉŚr,\wíµ:Xśk®°±ŇMH E:ŤíoMôĆßč€ăSđ+eű“/~ń rýu×Éů·8O!äLű>-/úËË]ďvgěďHM„rݵ׫$‚ćůý+ˇUüőµ~'†Ś  ×ţŕĘĹ_¬Ó …çßř¦ĽímoUY bĹ÷}ß÷i˘ ÄKŹFą8-�^‰�óv®{Ž„eýă?ţc}-ľŻB23„�±ly°¨"ü1OH{A⤠Â#}óřŕ?¨Ż…¤aeŘČć›ŕWżú5>ľçž÷”Ź~ěcňîwż[˙Ť43¬Ó«®şJ.»ě2Ů8™ć5×|Wˇ«]‡đéfť#mKřŢ™2˙ĚnÝşM…. &˙á†T'śĂA° iëłźmËBF»ë]ď’‰ř•pă'ć I Kł|ň< řŔTrĘÁçź—˙üź˙łĚÍ͆›í$|ć!ŹâKUęY^^R‘ď‹÷‚ ·cÇN~–2 \ÝĽwż–:Äľűo< ű®‹äFm?ű™ĎÉ_˝ř%˛€T-RďuŹď‘é™Rö\–ľđwĺ›_˙–Ţ öěg?Kľ˙ű&^÷ÓŘ_ű(ťm.=đý—~é—4•Ͷ­~đ*’a9 A!•Ű– ©•HÝű­ßú-ľ>đ«ĺ±Ź{¬.+DşÇ?î zműjÁ�űő{Üă©&Ň÷°}AÎÂůŽ!vüŔľü.wąëX[8F<ěaS‰ m…dbŽaş~ř‡¸yżsőx†uëR$.ĽDd[_Ř·<ăĎĐĎ$Ŕűă3őš×ĽV?łďyĎ{媻ß=%hÄ4|ĆŃvyĘđ;^‡ăÚ·sçÎÎ炆Ib–hň5>—čĽóEŰ^řÂF±®–ť»ř9$äDĎ*öW»‚ŮńJÖí<n}ë‹Oą`fßSV“˝V{Í®]»UrÇ~I’vś3©ţ'~â'ô{‰ŹăkĺLą1“BČÉ‚!„cćhr™¦–5fpa÷ĐáE9Ľ° ćßC•Ĺ`ë”ÍşPFL4*˘äÓ\+‚|V5żŚj§RÝ©ě`váQiKâÉO-ń‘„'K’jŢŁŚ?cu¤Ľh¶O DŃL8r’NĆj•ŕ0m+ĂuD7 â“^$vh‡¤6CŠĂĹ©^™\ę+´ĹŐy‰śvú\Šóâ;r—%oéűgâZަ­'ËeÎĄT0“şjď“ČM-)’𖉙ŘemÁ“E°L^łä2íŹćb˘«»Ék.“´đ›âÉŃęB×O—ö‡31¶Y/čÖQ‹ŰGěŻ$eۤŻęЇűÄ…yşl; 7%·ŇZĺ« é%Ů®i§k§7鮊۟]d¶3§2%>K'ýĹe,Źš“ü‘LOMKŻąH‰ ±Ç+™BÖƤ véß.ämę jşK°} ĘíÔé _‡°rkă ™m‰?vgŞ×ůŮë!äl’’®ľúC2՟Ѥ/ČWHŔąîÚä’K.•_xŢ–mŰ·t"‚7p_ąĘqb Ĺm i6l·ň5řyŰŰ^šĆ! X)4 ÖŰwI&— Ő äô¤ VaŕĘ›A,‚Ŕ`eűÚsZBÍť*!-§n-˙úţj’ÚÍMßţűQJ°ĐA.AÖ9µĺČęÜűŢ÷ÖźŘPöŔÁ*7a=C`A)mgÚ¨ď J°ťČ„äjHq2i~Ň€lČ W_}µ~VŢřĆ7ŞP ±Űᥗ^*[¶lŤď·’üśÚŢBĚ7żů- 7úąĘKTB”üź¤će¦ěĽűŮąi=/Ĺe ńá»Ú…Ď&>ÇřĽAEŮAě,Ů 2J;â:i·?¬‡Ç?ᱲs×yé߼´éűokßău…ýÚ­nu+M¸Â6€„­—ýíËĺßřšÎg÷n¤Ńý„ÜňÖ·j®”Ň/űrÓ 7É·żý-ť7ö‡8·ď¤Ŕ¬átÁˇÝv<߆±ÝÚ~`‰ĺY\XÔcŰxӛޔä]Ľ(feE:ŮpPI1ß“];wËüܲl>Ç×_CłĎ˙Ľ–yÄg Ç=#/;ë:וŽ|^„ĎŮ­/ľ•”=L[Ëöí[őx ńÚÉ-nqěŢł«é»JŻYťţy*tá󜟏A¨Äďh?QŢ9_$†áúÚ‰ĎC…şĄç-eśO­ruř<ÖzNĎřüü\óą]жXyΰśăëB˛ëq…Ў©±ý ÝÓźţtÝ7š\«eC·Ě…ëS„Ęę%†Ăµčăgó\ó_ľµH^vSµ•Ď˙.¶–ë:¶ŻO7±S.#„rŚP0#„˛‚#ťTM.ĂĎápďJ\‹CYâbś `› Ŕ\ž Ó±ŞZFU›^fBW/ŔR2KL±Ę$¦”\–§SĹů‡„¬ ŮĹŻ2Îż(]„|&R™0V$©+Ŕb;jßIKI])ĺĚ䲖Ŕ´_bJ–“Ô'’‰Z––杉Tą\ÖNűµËh c&S…‹ć­`ÖJ –˘V¤‹oöŢmŇY&Ĺą6uÍ::őÄ®ş˝0oýˇžŕŘňĄőĄ.[.íg›Ţg)gU”ŇěÂr§?Ú42ŰŽňt»"K”łíŁŽ_»ÝEQ1“!»…~ŽÉeާĽvľŘ6D·Xrľůۨ9é_ZÉŇŕP3ŕ°Ü hĚé€FQ̤őv¬’4BÎ>�€ŤŻ}íëťÁUHH¸ÁŔ¦ĄÄ``Ä$2ěĎřŔ¤}Ć 7ÜŘ řýňËo'çžwŽBČŮö›(ĹőŽwĽSËpa_ ˇ’’aPú ä§â{öÓĽ�Ţé3Ç€•Çł„1<Źs/h˛Ňe�‰8ă@TÉeŻpţ6Ô÷Cú J˘” „µ<íRűŔ»ß_‘ ôo˙öqÁ­"HnBů6Hmđţâ‹/žŘ˛ą@ÚÖ+ĘÁÝűŢ÷R ˘’í`gçX'$!!hŇ (d-$O­uŕsjŞŻĄd‘úĘÁŽ´$ßżńßőܲ&R‹ Ą tŕ‘°÷Äľçzv^Ś}Gd¤&ř .5źźblY Ť­Öf$SýÁüţ톌†e‡ôŠ>ÁkQRóD®‡ÓěQĘńÎwľR>ńńOĘ׿ţŤf,6ëeN.ąäąË]î˘ű=ěË^őŞWé~Î^÷„'ü  DŘö°ŢŢö¶·«¨eIXy’㉖Ke7˝ţ~čđˇćzÂP˙r`˙-ÇşÚńň}Ç·Ň“(źl hů~űHÇ4Űďź üK{ÉK^Ň án?±epLÁqĘ’ĘěVá6ć&Ěă| î/p.…÷úú׿®éśHÄqřÎwľł|ß÷?Ľů|>„×c9 ] ľ†~­Ź÷łg· ‹N5Ç»Áw’—żüĺú}Ý]ű®Žżá8€4HČďÇÚî×!„¬ f„BÖŤ]�‚H3 ĺđ¢ě?pH^”Ą$ťRzS˝XŇ"&BE+—ĹBŕU^V1K ËËFşVđŃR—Q. ŇZ|”YMńI Şň°"+G™Ę†Ňť&^ůX&±(,é¬č”şô>ŃLŇ’”ęeť6–w´¶ű,m­Ćě®ĘV*k—ĎĘQ¶w,µ c>‰OŢÔ¬-Ež\fI]’µ#k·%‘Ĺ'鯓Z6ŢŽî¶ŕ31/ t±´h.iµÂŘX˙‰K©e©ď2ą,É|±Ńťu(vÇyśg•oKmZ˝Äí®NíHËX´)qeŃŢŃ5Ţw*Ε.{ ¬Ű¨GßH‹C©F#}/çJm;ĘqôŽdF!öŹ}ÜcäÝď~OJe�ű÷‡¤ ČÄ8ޢ,&ŔŔ?űí`¤x`�ĘŔß(đÇ>šű!BČY‹!µ<xH…ŽWżúŐşODâ Jτԭ0m88yűHÜcčŘ7‡’~µîßm ßöýÔä3üž'+-,,¬7ć•ßdRRqţúŻ˙ZŹ[üáioo}ë[ÓkB„€Á?HßůöwUd@‚5Hk÷ío{M¶azŮćć~áŇďř:€íe©¬ô\¸qÉźą źE”}ť”¨aŰÍZđđRĚ Ą(Q*ęcű–îC " Ěb�ee‘̶–YČňv! ‰cľ—…„ż�’�{ńłšłÚMEŁQHaÂç)U(Ď7Ń ŹZĘŮÎť;(—MŔúyĎž=ň°‡?4†Űz]"|_ťöş×˝Nţîďţ.ĄËa»ľË]®lÖďŚ^řä'?©Ç$^a]aßÁňdˇrYĽ¤˙Ö6z<�ŢňB-łš§Rćץ,± í˙Űżý[Ýgc?Śý/R÷°źĆóXÎřĂť÷Î?söÓ{ÂŻSLOO§ůŁŻń™]íý *OOOĄĎ@¸žÖ^§óšr/ë}ôÜç>WËÖbßó&ě;đ9ıńýďż|泟҄4K}4xEČĆ‚};„p+ekeŞŹ_03Ľl†Ź+ľŻŰw‡<AňHB=ľĂŕ»®ő °ďĂ~ózűŰß®ŻEIoĚĄ2Ď9wŹiÇďë­M„BČZ `F!¤Ă±¦—ĺË5[÷8,šÁ ŤJYE+Są6yK|W RíÝ•vBYŃI:KÉe~<ąĚeÓş,!k\¦˛ä˛L.óŇĘez‡§$ąĚŇË\Ţn±ô4I)`AäĘ%¦¶Ż’¤ĄµĽ?4é,ŠXa%µ7u»[™\fÓv’˲4˛0m‘ߨć 1/»ëłŔÚŇ•I.ëf’D­0˙î´UľŚŢÔ$őEH"ëĘešH–Ëe&ňezUÝ®ó:K«+'Če!ą,ʇ>+ĺYHJ.Ëű}‘'ć™`×&—ŮöŃ•áňuX!aŻM “¬ôh!Jk,.C4ŻÝŻĺ"0`WfĺěĆ/J2ĹŚ’rhŹ}ěcšÁ±ż×›`€ Ś8ÂŔDłźýŮź•źů™ź‘Ľä ~ÇI$`Ä5ü|ž _|±BČŮöŹ»÷ěÖt$ ęSźRáö×~í×Tć7rd‚ČI;úýžl۶5í«QŞŇ�D; ĄŃÂ÷yüő&đ;$ĽI,H‡˛ďŚËĐÖŠ/áďPB9° V~`ŻCąĚú§JbFţ‰P®ůîµ*3|ôŁŐÔL»}ű6} 9}ŔfÁ”á&±ö\ĹÎÖš(¶¬TwűďvűĘ%­ŐËeĺm’%’;PD"KéXöÇüÇú=ĺßóž÷$Á,/ÎEŰDlăŘ7X: J¤‰Y[đą„iŻ…�„ĎŁĄć× ĆĎá‚Dçő5ř.‡6!Ő ’’�m�ůAßű i6˛ßĎX´{k=—Ť‚�ˇę/ţâ/t˘O‘h†ýęďţîďÉ/˙ň/kYĹ˙őżţ—~WŘ—>÷ą?Ë>ž°®wěŘ©Ű^ŘźnW‘ŔľłŰ¶JHútl@YIěĎ톔_˙ő_×m ż[Zĺ¸`ĆEđúß ˙ĚHćł÷„Üő”§<eěýmŰóű\–ľż–ćĺźóŐ„O¬s$BC Ă45Îů;żó;*—âł‘ÓŘk!Ď ˝ŢŹ(ĺ~ŞŔwăü{Ářţwś…Ă *ăÚöeŘ÷AN‡Hfľ«ăďHęÜ2żEžýśg©X|4¬Żů}ťBČZáBČqc'>µ¦?ŤôdgßCróEŃ›pŠRú˝2” tmÉĂVđiˇ:Ée’‰WQđ±d/žŞ Ą»ÉeÚÂ$FUQmâU[ľ2—ž|'Ť¬-iżcbś†ú Ée.K.łÔ°|Ţy›W&—ei]ľ-Ł™'—ąĽ˙VK.síÝO©4¦–¤lŰ«K¦e,˛×Hjł¬!ą,µ˛d/ÉÓÜşĄ+s-Č„±î>mŵ )gyšŰ\ćĹwäĂ<ąĚ$·2]|tqm|Űä2—’ÜR;|6ߢ˸ő3‘o§ÍO|zÍ˙Şć÷ň°–‡ÂŕÚŁŹ˛—L(ŤBVű‡yÚSuŕčSźútÚoˇŚ^É,ßź0CY ¤äé¸#řÉOy÷A„ł Ţ˙ĘŻüŠÚ@†şăď("§v_9ĺ˛Ën§ÉIH!°…”5 $Až\A ě·CJn\ŔŔĐínw»$ź]}őŐşźżÓťî¤çlH)Ăq Ĺ뀤Hvv“Ť•űĂ12×1Mž°`Ďă}Ńoř×ę@<¤$ Âc^#Nf9~>÷ąĎé¶6>Čië JJĺéIDN7!ťĚűçđŕÁňçţş,X†'=é‰ZÖź g¸>ôˇé´Ťlyń™3 źA"Áç ÜôVĘ=ďyŹfP÷}úo|ź‚„ŠR™x††ţč§µ¤˘u?žWŁd'Ž1Ďř‡P‘ ź#$WÝéNW96p}דP^ţŻţęŻŇöŤ›1ž˙üçëwă?˙ó?—ßřŤßĐýҶń_úĄ_ŇtĆ“É$±ŕŠ+®höŁ;TŞBB$Rµä…cöÉ˙řÇ5™  ˝Ď|ć3tźnÉwX^,Ź}ĎGąGlŻ“Ŕ´Ř~-9đšk®iöéËzŚ<Qç¸Ţô¦7é±ËŃÇ`HÖ”·˝ím*-Łíş˙ř'¬Ç±^ůçźq< ”Ů2żđ…/LŰcűXMňÄk ÜbßŇ™EsťÓP,#ää’÷<ľ´7YoL0Ë9Ň~妽7©8fâ9öK?úŁ?*óóóúüÓźţt=.ŕ†Bďků—÷ý‹<ᇷŞ`6Ix§`F!kgRÂv~ÓÔ™Ź„BÇ’^–˙°–š ,‡/ĘľYX¬t Łß+’d•ˇň„§LţŇ«”\&I�ł„Ş�5– ew36O‡”3—ĄśĹT5Ě7Ée­řUDqM,QKçYgéXcĺ9ť]ř•T:ÓĘ@JuJ"Kť´IdIDóąx%ťĺó"YjXÖÇ.â˛vä©eůúČĹ5ů:e#ýXr™kďú·Rk“ËZQ,őłd–+mĺ´6AÍ$-i…ÂĘgëĹKŃIPËD»(ˇY;Ä·˛¦âÝÔ7M.«ş)g)­Î–Q\gŢA>ĚDľN˛]»ÝUU+*šÄ‡í®×+Ri!Ű>:%VMlÄ´Í<qÂż<đÍçe(SýE-ź23;—ľ€Žźä3ĹŚb`ż‰2>Ď|ÖŹÉ‹ţňĹňůĎALŔ@äwżű]ą˙ýďŻ3|ÂţáúëŻ×ň.¸Đ©ŔŇ8đŔ Ő3~ěé:HE!g3HýúéźţéLŞ‘S¤ČbtGB$”ĚĂ@Jţ}ůË_Ö}9$ ĽŰ�’j źAň‚(óâżX.˝ô¶zCÍÚ—ü†§e!´ŕ;é›ßüfÎ @V¨Ö¦Gµe íµČ0H!©KöwH8#Čćé<Xwă)a&`aýBÄÁöµąq* a›EŰżő­oÉ#ůHý®Qóóź˙|ZľĽÄÝĹY’ëľ}ű5Í Â$$+ýŔ<B>ýéĎčç˘Ďo˙öo«Ř I eó ô�ló÷ş×˝äX°>Ćçý˘‹.ŇvbŮž{Üă«’…–cÄA"\ÖďČŘgÚţňÇ~ěÇtÝa ű¸ß˙ýß×}#žź™™‘§>ő©*#žěăŔ¤)”)~čC*/ůËU{éK_ŞŰ0$9$Ýa;Á÷´2qQôôw”pĹľűű?ýÓ?•»ßýîúzś`Y'ţ°óđîwż[–—Í6}'yôŁ-'ló¸đyĹg ‚>?Hđüú׿ˇR4Žeřü˘\o~˝Č°k;kń»źó}ú9ľě˛Ëä1ŹyŚ.;>Ǥö‡Xn|?Ŕůnč ďW«ŘÁk1„śxňtŻ3Ť"«faiż277Żű+ěĂqÍçiO{š&¬â5~ć3ź©Ç5|/ÁţŻYŤü˝ě{;KdBČÚٲe«8°ĹßÎ(BY–^vhaI:,‡2ňN¦úeçDĹ’šRÚ”oK*Vť’ń¤&—¤DRŞX˛RŤ–•ҦđŽAbʲB╤R—y™Ä Őmr™Ąnĺ Y&—Ő­¨ĺ­ÍS˝ÜĘt¶ĽÄ¤ť2Ůü]Ʋ$2“’\&uĺ)g“ËZéÉem řnşď¦‹Ą6dw«×őJIËĄµ4ŰŽ´f˛XXĆ<AÍu§“óş)qYR]Ŕ˛ţsŇI}“8ď$uuĵ¶źU.›ŠVĄe ‚› +“ˬamš2k‹ŹŰi›§k5 qá] -©:¨†˛°4’©…E˝K¸ß\�t÷!äÔˇűÂ)%$n†6”Ęüą˙ôsňż˙ŕă€vpNS   ÄXň JĄˇ,Zž ‰ Ž˙ńçţc3puË3ö˘-!„ťT&Ňlß&ďć¤}˘Mçň›j±‘ě0ßL ”´ >ÝôQ‡T}Ô)\áśs÷ČłâYň‚˙ď·µ¬%HsÉĺ.||Ň“~HîqĎ«Ň2~Ď÷|ʦŔXIKĽâž»ÍmnŁâ¤$Ƥ4čć»ňCň@G˘ Ó_˙ú×§ăÎ÷˙÷kz‹–ô­`fýtë[ÝZÓś :ä}ţ‡<ÇMF]çĺŰĎĆoţćoęw…ńőe˙Ć #ĘŮŮżmŰHRŚĎNÝÖwúŚ4çl2:j–H:gĎîoĎYëçOřôä'?Y%-lű&‘Reĺ±ÝăwHD÷ąĎ}ŇënűËĺŠ+îĐ|Ź Úűß˙Żú9şßýîß,÷-äľ÷˝_3ßoÉK_ú7*Ý@üüŘÇţM\vţŃňż˙÷_’íŰs©ŇĹ>™Ň†~ĘRÚ ađ"© <#=鑏|ÄÄ;äÉQhş×JÉC´Bb_†$HśŁ?!iA`8ŻĐ÷>P÷řÇ6×|jʇp™˘Ö‡¦´cŰ@Üß>KuĽÎ±R0Ă>ţéĎxšÜxÓőÍţ˙íÍĎä-oył”Íßq,Âr•E)|Đýĺńý25ÝkŽ»›e|Ľěe/“ĺÁPţíă“O}ú:íy睯Ó"‰+tQŰd;H—ş 5ßpĂ ň¦7˝Qöí»ů„ fWźő¬gé1 źY¤4ă'Ö•ĘĐMŰ Ěý·˙ţ_ĺĘ;ß©ą&3Ňľ¬ęaĽn®ăÔľj×” ÇTWXę|+źA,Äç’ŢÉ řśc_€ýŇ żň•Żčg"é‹^ô"]ŘoX‰čÇ?ţńzĽ$„ś`šď×ďhöU/{éKÇž8Ţë¦íĹs¤}=üa;¦ďí ľWY9mű^3ţ+gçÎň‹żř ͸Ëa•ÉÂŤ%u<Ţ„›G°˙ÎO>[~č‰OůąyٱsňMăâž%ąňš4!„ۇîŘRß çËěogĂő f„BŽĘjée¸ W7}–šśE9xhYEś˛?•±Lč2ĚĹÁúş6ąĚƲä˛LL©ÍĘä˛ĐL« R1m*´MŇĽ»‚T±˛”ˇ_YnSç+mŠUĄ'ďrAJÚŵ˛čh­@W'ÍÔ:%4'Čb>+ŮĘT+KnúŽÔŐ-ą™ź†>©WI.ËJhúnĘYí»ĺ<0fK㪺[úS/đ岴ÉeľÎSŔb;Š6a,—ÜŞş+Zg—E7-¬CIóE ]ľ}”ť$·XžłŮFGŁ:“ËDKr¦’¬q˝Ř¶1^r3lmrYJsĂ´IŕË×y; ‰Ć⵸ ĽÜ Đn>3S˝E™VÁ¬Ż&]Pŕݱ„ĂöÇĂ~÷w_(˙ď˙˝Z“0„}0˙šc˛IÇÉ‘h~Á� J(<ôˇ‘g?űǵp>_B9Ó0ńCE)Uşýö·żŁ×ÇZľŔJhŤ—“ÇrŃľëApŘąk§J/zĂAż76ťČĄ—^*/zń_hy7”ő;tpAź+›ďˇ—\rM/Ŕ€yhG­'-pBlŢţö·kj @BŮsžóMeŚŚ>@šŹőĘú=ďyĎS)bÚxÎ9çČ3žń -±†AxĚ Ç‘ń:8Â�=J™ŮąÝ\ —_~{!›Ź|[†\©ëŐĘ,­>?¶=ŤN¶ź‹(Tlűíźź[ĄˇAşAůo‰çŻ–äeiT»víŇi°Ý»x>Ićţŕ4˝Ű­ĄöađŰ%’L±~Ŕ˛˙ęŻţŞ %öší۶7Űz©Ë333Ý|~T.»ě¶Z"Ęh4lŢŻ§ďý°f úGôi1-¤=?ßłgW<3ôé\o⢺đٽîĐÔY-�‰qXFĘeÇ«UÂ2Á} iŔŘl!A>ÄwhpńĹ·‘g>óÇšţŢ™#Žopď·}ű¶fýďÖŁ§}‡ĎŹ[·m•=çěŃ÷Zíó‡íâW~ĺ—5â/J{b{Ŕö„m%Ň Î™„QěGźţٞeëyík_«źY<‡„ă˙ř˙Ł ĆV*ŮÁ hˇżú°‡čďŻyőkĺć›÷˘SY\ě÷!„áóżĺĺ&ńáÄ2†Ď*–·»,ÓÍçBn€Á<ě’.ď¤)k/ů›—Čűß÷>=ŹAżă¸xű;\.?ů“?©âĄ¶3.÷yçť›@|F‹˘{\F;¬Ln¸‘Ďë¶07?#żţ?Mţň/›Ďů'?Ąó”j퀍µ—żěĺňŻřWÝěxŤ„3l?ß÷ýë.;!䄱ß>MěÝH°ŹŔ|7Ř—čÍ"ľOuÁ~|×î]úH|Ž«•ĹL“Ćă‘JĘń» Ž„BŽ |—¶ďÓgkEpk|έá§[ĺßö(˛źö(ăßʱžŰ†źÁđrš2IÜČv2;et€»ľ…BČFr¤A‘Ő3ěźĺćÂÓąîĆ}˛ołŹresR2“”Éě÷›ÇT©)RÓť řŚTôńí]Ô’ËTÝRŤŁŞ|L¤2ąĚÄ5“´BÉM?&)é,Aáů*JAˇ >JFáÂtžtfIdí|Űv`€ľg‚™„»(UżŞcšV¬ëŘ)ˇY¶I`“ŇČZ­HËç˘]ÖťÖ'‰ • -BoĆą'«MIhSÎÚA1IBܸČç\VB3ÖĐś´^ÔÂsÝt6ßIk×KmIgd;\;×Ҧ–0†e̤żVšhĺ¶6Ťl¬Ôe\‡^L.‹‚YĘyÚĽĘBR_›l‡ľUíö$qŰC°Mcű.C]’-iÍć›’ç˘hWWažĂa-K 8¦ŹdűÖŮćbĺNٵck3ß©I>~QáHňĹB“Žeă%ÚTšx·¦řNF>]H·¬c ĺ:‰ŐŁj¤Ç@ý˝ůŽŽÄ<ńđ{­�żŐg×űąµRľţµoČűŢ÷~ůŇ—ż$×]{ť8pPď„E[0Љ. Š`pć|€Üć’[ohů$ `PŚű"BÎ lź…AwK?<ťÁ�;Ę‹ mň×ŃRŽ."ţÚŻýš&ˇtúçIă7€üaIb“R™�ްßÇ�=ř±/ÇkL ŃďśúáőX(“‰}4JUćË;ţöć…TĚ×´íquG”€𲗾\Ţđ†7HHű-ĺąĎ}®<ć1ŹÖ$™Ó}2l™M˘8ńµ“ĽŕZŘv·¦×Ž}§Bâ>_Ý×űŠtĆEű[ţ>.^"ĆgÂJwÚďůőś÷ŐńF{=žĂß÷ď? BľŻáűĐîÝ{Ň`ęřçĎÎG1-ĘdB:Áç ‹&QĹö…ç÷é˛|L /k·«wŞKçÓřŚCpD„×Ajů/˙ĺyňŘÇ=öŚů ťlnŢ»OţĂxŞ®+l7˙íżý7-‰2Ş(ůjâä§_˙ő_×4HŰž7˘ĎÇÓţ,I->'˙,Mz‡Řžń=ŰťÉQ“¦5ŮÓC6Ŕ6: çÜÄ6á;ŔâⲾnnvvĺ{čK˛żů|xÇ’ ă±¶N/Żí~öěÜ ˘4Ńvś»ŕŘ5.łZ?ٱŇ$íńůĺ"íř1 Ççx˙ľ͵ʾ&Nôős®Ů`g€ĎăŤ7Ü }äąÝ25=-!Ĺ”rÂń…–‡GăŤű_ř…_'>ń‰r*Ěluřđ!MF]íű˙‰|ŰWBt[íq¬óÄaě-˙xu3Ď˝N„cTŃ|Âwˇ~Żß\'/âő÷2^7/ұ/żž–§™tŁĎ¤vBNęĺkôĽmvv.Uř±óµü‘łY>ç“®©Ť©©ţ}Eď”ńg5öđńgť=|ösü!«üűH?Çç¨ Â3B!Gd5ąĚ~Ż ż66ëà ޸$Sń zőÄEZ1©Šĺ -ąĚ^3.—!¨[ÚçăÉeµoKb¶Ó¶iZ&—Y;ęÔIrYĆś ˘¸ ‹ůXz1JDÁËĂě¤$‘)\$®S‰Dk‡ĘTĹxYW3᪲Ka]™ř•­‡Ľ.O›oś:ĘeE6ß¶ÍuöI’rmr™­Ă´ţň“)ą,®C‘LěŠâZŰŠü–Ú,Y‰ËöˇRW&Š´B\ŃÚuÓ q­HhâaÚîŞ6ą¬•ËşIg–\frYľ}q2Š|¶ŤXrYm%–şŰť]PMëZç]˰ůšÎ˘X–m‹K2šźŃłüó5~ˇ—'É„Ă.â¤űŇŰ^"·ąäb<»ń†›äŕˇÍEʡ pHiئŞ»cĘG·´÷+„3¤˝ë]ď’o~ă;" ŕű+R… ׬—µ ’«%Ř€T8W¨3QĆéŔ›&Ie« �Ç‹#OţŤd ż˙űż—›nÜ+źřÄ'ŁPSËĄ—ŢFÍě\Źl.Pâíź˙ůź5˝¬#߯›BÇ“žô¤u}ŹXÓŔ ďŢě” ŹÎ™DŻ Ôíµ‚ně:Cţ¨˝É7Ľçd­DŘ sö |ŕy$üŤ_™tţ¶j˙†Ó]ůěg?+ďxÇ;ä;ßůŽ|úÓźNbĐĺ—_Ţěkî~ôůU™ž™’»Üĺ.Z }T;lű®P>`żúźţÓ’{ŢórÄň®ëdR ÝŃn"_ç±OĎYm»°ëTçťwž‰Őě ¤T5—ŹW­6ŁxÓáQ§[y3Ž˝/ζ9ţś=ź˙=÷&1ţĎçai={ÎŮť¦ÇńSçĺÂ~d~~¶yÜjlžőŰEŮXđ%Ľ7|fq|=ŐŘľ"Ö`0L;™Çz»ćo©ŚůţÜ7BÎÎćó3 f„BŽ\\©ęJËYAěŠwž¸¬e2É'J;!é)ČVVjĐD*e#“˘/–R©Ę(jU·ł’Šą6^’Ň’ĹÚŇŽ’ÚQ8Yµe­âZ\pďËtmű%¶ˇ•şÚĺ m‰bY|mŃ|ŹlŢ­\Ö–L}ĺ$I"•$)ݰ˛źŮÉŕř…ňĽ˝ö{›ŇłRŇj…±¸Đ>´·ŽR^í}«­e‰]vIŃ'é/ĆÄućß‘ËĆ3»oÝ97–¶ćSŞŞ-…jmČˬú±í®ŞłÄ<—mŁ!f¬M«%λMPÓAŤ"›··¤:™¸ÝŤ‹ya޵ć˛Őľh>?Ígh8ĐĎď†%„+ůŕ „�+•ßk/mIꕢ!„ś‰`?wŃEéŕÔË^ú ůÄ'>ˇÉ/ů~p-‚ŤM‡Áv”Ö{Ÿʆo»V“|Źwßě\›Ľ¬7ą"öŐňx.|®EB†ŘŚ2ÍznĎkP^%‘˛&k,—HN.W\q…&eýŢďý^§„äZŔw U(ĎúČG>˛“t2ľW¬&™´çОęwťü\wă˛Xvőí÷HꫵJaćŰßţ¶&ÁĺégHD™Ă[DA”rŮńIęŃŹy”nçĐDGČešž“R°żBŞ™÷’n`dËŠĎôÚ>ßnňŻńćĽřŮHŽĄÜµ}.×łŻ˘\FČIÂŐrË‹.ĐljáÔ_Ĺ>Â>/¤źŠrŘxďŐ’0×ŹŁ„rfCÁŚBČš™”fV[9Ęîö›Š©[yrY©¤?«XúP/ěČP%vA8$SŤ2ąĚ¦EYÂ^áÄ®!i6h=&˘I.ˇ4§s*hµrY(‘¦Íd­üÎfkkµrˇ+¶Ůî<n“Ë$&—ŋںŚ1ń*“žL”j…¸6ą,`a@&HkŇ•Ĺ$O.łiŁćĂÝ—ÝŐ•—Ĺ ˙—ËęěNî$Ů…ziÓ·ŞLĽ2±+‰„ńúšŻŰ¤.Čy>•AmŰmăMÖĎ)],n+"]90nt© A.«“|>PůĐ×âö„t±QĆb_§„±Vl´¨ÖŽ” – “A0łeŚĺU˝ÝÍžłíż(W&¨ŤbyN»x]4Ó5•jT'ńcü3Ć‹–„µ0žÂA3ۧśěr „˛Y°ý „_üĹç­(µ·™ËľOo6:Ňś~ß>Îý˙Ş/k— i·Ľĺ-µ”!JZ ŐéŃŹ~´ÜůÎwŽýĚ›'6+—\r‰üÉźü‰ž“äç™k%Oł{6ś±™NŇŹ,‹ą‰.ËřňŽ źůľˇ˝EĘţµÖ%µWâ3PČj(´ÔEÝJŰŠ4-$T=ůÉO–+îx…őuyźűÜ[~ú§ź+ŻzŐ˙“ë®»VK‘a0Ä2ôu(±ÖďFî×ůýűhíqěýw´ő·Ö›mŽ&˘rÝBÖCľ/Á÷i”í]ËM/ Ž…HŽ´s#B!d­P0#„˛ęIÄŃîČ ?!ÚŚšk¦^寲WF §+âÔÎĄ61,%Ną•éb&ř$ˇŞe Űä˛Vܱ2šą¨e%#“PŐ‘ŁęNŠ•Ęk®MZß&YŐŮ|U.KĘ’vů˝ďcqŇ =ék˘�fÓJ&YrY'}«˝Ś–ä$ß=ůt™čÖ^ÜĎ“Ëd…,ćÄuL«-őÍOJ. ýáóÔ˛l»°é’'Yb•Ż´>‘,µĚµŰQUwĄ.Ć 7Ţ×Q„3 Ěgňˇä‚ k—Ď2k>­›˘l“đ¤ÓćĽmŮÔ2+w™¶iRŃĽÍłŽ|¸"AÍ’Ëlť—ĄL5×±}Ő\DĐô˛v9Źt1sŇsŃ989źŃ|pt<‰ăDď'°ŻłäBČéË™8Ŕd«ćKi*óŐ–±÷ǨĆdy˝ť×şŁěç×ŇŻŐ÷mâQH2[+áX!áun’ÎÓťrŮŻýÚŻIŻ„¬±SKŽąpâŃ)+x¦p&, ÎYÂ9]ťÖµrĄíĽ­–ăyíÚE-»mGŢDWżÎ±âßľó5ͤ»ńůŘyôÚpńf¬Ł|�›~żęîw“ţîoKż××ä?¤‰¸ě|śľÇŹÝtńčÇ<Z®ĽňJůÔ§?%űnŢ'3ł3rŰŰŢVîxÇ;ĘôÔtöy8±í»ř©X×űž™0ćÓň?Çhm+äxÎoüv(«ő Ż»BŽ•Ibj.łă8ÉliiISeOt’Ţc&xĎ<%µ{ÍßC!„¬3B!ë¨q¶ß/›‹˘Ą¦7%‰I‚¸d§"ăÉe&xů(1irŮhLıä˛Ň$07–\Ö¦‘™XV&ąĚE‘ŞNikµo“©\.˛»8Âä3ą,IIąđ”—=Lr™%†Ĺ»¤c ÍÉ%73!Mň4­ Ď.e‘%ˇĘŢŘ@XYde4sa,%—µf.k‡H· mr™$áĎYąÍ¬´c=&ýyß qÝ6´Âź•Ż´LówYżĹu8 g%EíÎńĐÎQË•f"š‹ýgIn©Ţ„±:•Jide^şUtŮFä˛4mÖ–TÎ3­ĂV˛C"ZŘţŰy§ä˛¬”§•LEGWĂ" ŔBÎ\NĹXÄÉ�i˲a_ÖŠ»yiNƲy™$ :çΨϭÉRÎÄ''­H%ÇJ.•MţűfŕxÖß±ľÉ^xáŘ_ł~8CwýyJÜéö9ńâ;b™ţ×Éş>'ެŤ«áÖ2‡c|ť˙Ţv"×±—ŮŮąŐ­.ZńwŽç®źüóyńmn­Ź•dŰű|ťřcüűfÚútť‹BNŘÇä7Ú9WHŇ”$™ŮsůĎś\ú—ÄňżçÓŰ{áű;n Á{®ľĎókşšBČŮ 3B!ëČžJ‰r™%ŚIąş­­e+—µç۲‡Ý$0K2ąL|Hô‚8ä!“|˛ô¨ÂĄ,‚Ş:+ąé\'ń*,ŠO‚Y["1Ľe‘Ąé´K9ú\k“¬¬lŽť~…ĺ ÂZď0E!Ý”±ř{ë”.&Yş“$ĆŤ‹nö»‹‚Xž—K`őxBśO.‹}R‡¶›t×ĘkÝ”:9š\&m‚š—Lâ‹%S°•InŮz±ľŐícT·}â,QÎĄ;Ľ­´te5¶}Śm*Ö“ä˛VžÓš©O|ÖmiNônźĄëH‚I K~łyëŤňĚ$mׄ3Źü˘ IWgš´a" 9=Č!Žô·˘8†č+BÎđÁ \ţoă!„BČ$ň1ű9.~…›¦‹$™”Ě´çÇĐĆĎŮŽ&•ĚײńH.Ă÷Y$™™đ–ß<ÁÄ2B!G‚!„‰édeŇ€TŻ(Ű‚^béGŻĺ2\Jţ*˛ä-Ą¤đEÉG“Ć҉“hT[š0$X"”ĄoáďEŕ¶´)qąH•ÉCD§ ŐMšňY2•IMAbŠS'ą,ÎßŃÄRĐbź¤ÖŠvFž&± .+©OBQ?AJ ř’ĄiĹţđ2&IW¶sÖn?!ąĚ·Ą3c{ĚuňÄ<kKčl¬tĺdąĚŇĹ’fĺ(«¬D§‹ë&¦Y_$I+¦—%±KÚä2ü!Ľe^rł¶ 1•ŻĚEĹ$VY:›dÉe–‚—-ăhlŮ  ‘\†í©h·§ÚÔb›Ăv'i{•¸,ánüó–_8Xí!dó3ţyµ‹‡'şěÁÉ&Ç÷MkX!§žIéeVVŚź[Bş ńź B!„˛V&ťomŤRŔeyyyĹőáIó]KI_ü>??Żr®Gĺc«IeGz_B!g7Ě!„¬‚¸Rž|*3ŕÓs*ů”–đĘ/¦rYŠ•Řü eĺ ĄM Kĺ+;‰PE[vÓdŞş›Š¦ňP»R9/ŐÇ‚řf béQ<ä‚čVä]ÝF™ZQÎ'­,.K”‘|l?Ú”§tY_|UK[:2O sQş˛ô7‘<µ¬-ŁŮ&—I'˝ĚÚWg% ­ďlŢąä–Ëy]ą¬}MJéš —Ą„6‘ŽÄW{§<Ô»^ióô±źW&Đ!ŤLűą2ˇĎşµťoUש j­ĺ(CYĚ$·Ůö—ÉvATĚ—1žĐ›–D>e1ßĘb1ąĚŇőŇô"IÜ릾EÉ2v°nٵDůPX‰3śĽ]4<S3[ž#‘ß KŮ䫉ëřlźiB,!럇éééôoŢôA!„BVc-×@,AĚľWâlnnNojX^^jUçy´›ńćﯡ$&î|>r›ĆĹ4B!d f„BŽź<‚9ţ´t§4`Ĺ­2¦<•… `Ë\¶Éeá5­fŇŽ AµşÉeˇte>m|bňVž$ĘeAsYČŞî‰ëő¤ßślÍL—23U4'^ÍŁŹ’źNN é)ÝTpŞ‚ś4Š Gř/ËQóű°yďQóšŞy›X3.I1–f]µ(‹eýę\+ÜM*ç9.ń©Čd*™\ÖĘ_*>ĹţČĄżjEM‰ĄÝZą,¤¸‰öĹJąĚu˝šő0¬đúR¦›žžę5ôws˛ŰoúşůV‚ź˝ž%ݵeB1oô3ÂÍϦ{µż—µ,-ŹdaiĐ<7h¦5Ź*‰ŠI䋥[Mô«“xX·Év)ą,HfęşĐî ¸Őť´:•Ëz…n×mYŘLÎK qíşvŮGg<álü3E93±RCěČÎ�p‘2O0Ë/ŽŽ— `FČéEH.S‰BÎvňrBVŇÇ6B!„˛ěş}J_(¸ÖJZŽ4Íl0d7ţ¤ş)‰q1 R™‰eöaě ˝h-×ix-‡BČ8Ě!ä,gŁNBX—©L’'—µe ŰD(é”'\‘\ćňŇŽK ĘÄä2—•L‰Z±$¦•Uô±ÔĄÓ”łRú=NśF*C_¦š­Ůé©ć„­×ü,šç –ą őBĘV*c)–…¶C. ‚ŮPe§ <-/W˛4(›żŹTx5A˘+\Ď˙\:ô1µ,ĄśÉĘ”łnr™¤R“ąđä:Ée–fćÇ’Ë$Nź'śĹö`ę:UIĘšÚ&—Ť%ÄuRâD­,ooâCňEĆ ™‘˛éϞ̠ż§ńs}ý˝´\ËâňPf‹ć÷Bâyn¤ňC'uZÖPF3lŁVF3‰ÎJhé˝}ÚćÚíÉëhÉe&�ŠősüŘt‰Żň"–±t&!›»PhźOK1;S°‹•`Ň~čXî®%„śVűlâořŚc@3B!„B6ŽVłöL4Ăyš%šÍÎÎęŤ?Us»Y_ÇâŤAř®ŠG¨ôR¤çÍł˝É˙č×k(–B™ŻŚB9*ă'ăÔŇĘb>Fcą(|•E“ËŠ$ůdÉe)ŤĚą$÷¸í%m)Ă<ąĚ¤0o×-•hňP+TYĘ~ÓŽi™™ž–ťŰú˛uK)ósH-+Ă|J†$•S Icˇ)ů9VH4 2ÔôÚč˘U4ď_6ďßSŮěđb%U˛ŻB˘Ů°iOópU+‰ś%ą,ĽQřOGĚ‹%4“„ć%íÚ’žeLKÂX&˘ĺ‰Z+’Ë2 -/ŮÎż-ĺ™ŇĐâ:¬rMB™Đ8W6?§›>ęk?oťoNgKM ŰĹúű»BWEÓŽľ,-ĎʡĂ#9ph$űŚdqiĐ´kąiCŐöC&vů¸ŚEJ.+ZQQ‚¦Ëĺ9C…ą2<:bŁoČ´N\[¶Ueż: nU÷(n§ő„xňüÄžR!§7ăw|Ú…ÁÓIÚ_+µp4ÁڞůOĚ˙ž—´5Á wľŰţŠw°“3ťńmÜ> ¬›™™Iiť„B!„¬»™Ű®[ç×óiě'®ÁëüŤIóĚźăµB!k…‚!„uăc©?©‚&S$iČ©PBĐä¤:¦6YrY(]éRŠ”Ée­đR¤V¤omR—Ź’“Š;±4¦÷S¦{2;ąlF¶ĚOÉŽm}٦‚Y(Ďx,çPÎ%LB4UţbŰYjąĚ©)/˝˛jÚYĘâR©2JgVq™Šw&µ V&×µ‰d1őÍ…ň•“R:–HGd˛4˛e4ÇS߬źÇN2„VŻ’\¶ržUŃę$k!!¬Ô¤¸©~ˇbYYN5ýŢ—í[z'°żĂXčďŮ$ŁU2ŐʡŞ&š Ăćg-ŁQKhÖť«ÎRó\W ë$łĹ8˛ 5ş±˛>%şuĺ:I|Q@ô&cÖ©i^ć”röß}z:0.”Ř]´vWě$IĹŕ…JB6'GúlÚsöYÇľ ű,űžt´×r:c’Y~ąĚHąíB!„ő2ţ}ódżŻ1ţű¸ŚĆŚ!„äP0#„˛n¬„ˇÄgü/%—Ĺä©ňÔ–Ěă],5Nf|[¦Q“ËT OiÉÍ”Šsˇ¬äˇ‰;•‰>¨µ8Ł© çěž‘ťŰű˛uľ/ł3ĄJN(ŰŘ+ł˛“ ćżeN4!mÇÖB—{rxaJöĘMű = ›v šeńIúŇţp’J‹ş–J]úXbÓg%+“\D&‘¶$›%kyůś¬8qÍEľnÍ6MÎRş|–(—ËWH-CšŘ`Ô“é©~łÜS˛}+~†2(y2ű{;ú{©'OÉÍűrĂŢAÓßK*YŞüe)j.ećiŰFŁ,™Íd4$¨ő ]cÎ,Q./Ýj˛šÎ· É}>ö« ŁV.#„ś˝@~޲e‹8p sÁît¸p‡öćr™•q°çŔřrp0žÍË‘îX‡PçćççÓţŠéMäLeŇ ź%ůá‘??^›B!„cĺT\Ęo¦ „BŽ f„BV°¦›NŮ ľM-+3q¨đ•Ę0f R1…Ěł6ĺ)bĆň´®"K…rŮ{‡’x¨:ÔĚŻÔŘčą™YŮľmFöěš–ťŰ›ÁüąB岓„¤©"$vÉló˙!ŢteÓÎB-¸P*t4BľU2,. ś˛Úµ‚WXÂIrYx®ö]ÁĚú.L›ţOËtâ<IMb9Ď8}ŐJ‚ZWa}šW fJćçBBÜŽm§®żçšţž›-dĺO›mňž_\ň2â$şĘ$˝ ćYyeŰž7“O˛2šaű)ąĚŹ%—!˝Ż r™N«’_›^–‹|Ι\™-HxâËĘ‹�„ś`°If‹‹‹§ÍˇŘ÷ Íyi†|0~|ß4ţď|%dóp4ąŐR ß«çćtµšHJČéN.ŽŮżqłŽ{ŞŤĽś,!„B!keülRb!„˛™ˇ`F!dĂŔů$¤<™ă\+&…Ź­ô”D1׊L*HŐ!ĺi”’ČśVF ’OvÚä˛:•2ŤD†ŇÍúÍ ŘŚěÚ>#·87$—ÍÎÍßB˘Ú©Ŕ{ĎĎŇď;ŮşĄ}JąîĆR^nÚ?^QKŻ ée†IOuLËB9MçÚŇĹ„42/Ý’‹y™K76ď®\Ö–éLóŐ÷őiŽ˛ŇŽĚP‚e1{Ĺ”lťť’s÷LÉŽ­=™‰)q›Łż{Úß{÷÷äšë{˛o˙˛, s4ŚŹŰ’H,±š§‹Ń 룗ĄńYš\Hň’šŢW„Ď�^_ű,]/–Ŭőé˘PAŻŕĹBÎ:ě"­‘fvřđáM].S…ŘX*/Čeaď™'ą€# ¶s žÍĂ$ź}’ š'ÚţjaaAo äLĶeŘć!™\6žŕÇ@B!„r,L’ÉNöŤ ă‚!„r,P0#„˛nTHRˇ¬HrŤ&7ąÜ¤)\"ń©‰eĹX‰‘ŚŐ–'ÔůÇéŰR†.&*ř�ćeW˘SŻ/słÓ˛kűś–Ĺ<ww_ĺ˘b<%ę` [(9;ä«Á(HH ‹¸F*pą!Rm°ŕ^ dú€fĺŻ$đĺe1łä2ÉIJ˘›r–¤µşM߲Ůçe7MĽJ)qQŽE™ŻŞ íó~Óç[f‘7%{vlĆţ.U0„ř6#ŃěŔ!‘ĺĺ&™AftEł6©Ł“—•pµô1Ý^ă6Z–í6šRÎ\ľťÖť”8M9Ă˙šÉFµáą<!gV^[ř7¤ŤÁ` ›K/Ę3ÇË*­,&Ó^ŮLŘ·ĹŐ1™&˙¬C0Űşu«îŻ–——ů™&g¶­c;ź™™Qą pf?ío„B!„/ů5’“)zŤ—źô<żëBY f„BÖEHo %.‘ňÔł„1ç˘TÇä-I1 &í¸Ž%š’ËęL.ë–Ü Ée&˘…T¨áČÉň˘Ó”l™ź•svÍČš\Ö L±jł€6ÍĎráy}Ů:ď䆛ś88…Ĺ,Şf9Ľô][ćR{«hËVIÎ ó[!—Ĺţ¶uŃ=Y\YŞŃÚ”Ä0Ą?LcÉe•ĄË‰,,!Ý âÖ´ěŘ6%ç#ąlŰiĐßç÷›ľurýŤNöîëÉţK2ší Űq%H’â ){!‘ĚĹŠ8ZÂ5ĘŹ>FXźĘeŘţKëĂ(—a{®,­M.Kw©ŤLćă‰;!g&mq€Áěůůẏšf†G^Şëd3Đ6e(ĺ‰ţť§Ť§–­vA”& Ů|i0#˙ĚšTÓ¦µ†ý�’ť°_8•ű+BŽ—ńä{T–˙íhp„B!„›áÜéhm8Ym<ŇuĄń6ä稄BN>Ě!„¬™ŐN(\,] ĚmĘSH0‹'E(5hb”•ą´ŇŚuJ.«“ô”ä˛(đŕ/µJ;Ň&—UHV(›® —íŮ5+çîž–];ű˛e®Í Ą2űýRz%–!,ß°Y¦ĺČŇrĄBWQzMâ pYşX\ÖË‚ó)lÚ˘X™\féeQ č”ĐÔ„81鯛\™ń=™šęËö­S˛{Ç”ěÜqző·÷ˇĂČVŐÍßꦟC§r—ń§•Ь«:őť¸<ĺ¬hKľŠkÎâôu˙šgK—Jb†“aY5@„'Ë„śąŘ±ĽÔţ†mH]ř»I'łt¦•ÂÔTŇć'ąP6.ĆQ&!äĚgłîŻ9^\ç»x8îAô¶t2B!„B!„˛ f„BÖŤ•°´ô++uiO𴩦W¶˛ J«0†„¬Q­żIŞ;˝•ĹLÉeŁ ; †A.۱ %1gĺ‚s§eç¶žLOąM• u$¦úNvďě5Ë„»˝űť^Z†N'[ć¤Y‰ýľ(˛ţËä2/mr™´2ߤ䲪^Y3HUá}´¤i-iZ›~Ôô÷áČV=™źť’ťŰ§ĺüsšľßzzöwY„Ô<póţf{úćąJJ$ňEaRË\Ʋ–íTD«}ĐôQf {.–‚µ~‹Ě@%Áfľ©¸ľ¸î^FČŮÉj© văq*O(&$S,#äěbłďŻ9ňíył¤6B!„B!„lv(BY?.UżLe�Sr™Ę:™ŚSž´|¦ÓĄä2o%]GŕQą ÂŽ&BĹÄ©„¤FőevfFöěś‘óvOkYL”B<ť@˙ĚiŞVO–XĆ`†t­Á j–ŃËÔT^˘%Ę\)µ,&ľEą,%‘eë%”+ŤÉeQxҩǦµéBůQĄŞĐßúŞ ĺŇz˛}ŰTÓçˇ,ćéÜßčc,§&ơś«J{UŰ×HëHŰi(Š®+cŞ\ŮIŘËRâ,)Î’Ë đů8ť·éęvť!älfĽŔ¤ď“1Ŕť§&Ž—ËKcBÎ^6ËţŠő'ĺ%`ąíB!„B!„¬3B!Gd­Ů­¤b%ť”\E±^ÓČ lB™ťŃ¨ŽeĂ|ô5Zš°hĄµ<ଙv¨˛S)eŃ—ąŮŮ˝IZÓ˛ggO¦ű§O’Ö8hű9»ú*.AxÚwŔ«pÖô”ôz®3"Ń FŰ ‹!ą ýhýç;Ň O>–ĹÔę™ărTÝ–ĆT±ŻéďĹ%׬«Bú˝ľlßŇ—óvŁ4ć™Ńß()şÜô7–cy9~*áčyźĘZ9×ÂĘ˝cÉeqűŻĹĺZńOKÉáM}·­l˙ĂQ˝¦ĎËerf‘ [yI.ěçd|ţsad\Ďňç!g6›qEČF1~L›tŚßÎąŤB!„B!äl„‚!„ud™ćQ,%cˇ`(˝he‹"¦oIžĺSę™ Z›$%1ĺĚä2”'ÄkęŞl^˛ŚS˛kÇ´ś»;”Ĺś;Í’´ĆŃd­Y¤„őäđ”öËÍjYZö2;Óü˝z/:z1őĘÇŇ–.%żY*™•!m“ËÚ÷j“Ë´~i&—µë¤Ňu’Ë––±ţJŮąµ/»w†˛gJď¬ú˛°;¤‰Ý¸·’Á ŚâT }QEą,ös“ËJ-ß*I(Ó~V«,ĽG‘÷łH*·Ů–­ăk„r–±–ň\§J,/‰9Ţ>Še„ś]lćý!ÇĂ$™ŚŰ0!„B!„BČ‘ˇ`F!dÝŕú<’¤¨crYo4ą¬,ôQÄŇŽ’„ť\ćłRšIŽŠĆž1M“Îôw'µ”ZsnnJnq.Ň˦dfúô–ťr°,çź;Ą}rđđHkYZ-•éűÍÁ»‘ )q©¤hVFS«aÖńgśż&jĺ 4U\¦_ť„´áĐÉ y ‡…ĚĎ—rîži9oĎ™ŮßâĽjú{ieA‡MźŐ1!.Ô´t™XÖ+KÔTĽôqťJiŞô'.%śµr™$ąlT…ä˛$¤BÎ:Ʋ'‰\§j {RŰ&MĂÁxBÎ6óţŠő0.TŻ·oB!„B!„ f„B6�+w YF±2”ą ÂS’ËśkÓ ę:–k5nňÔ-˝xŃ4ᬊ2Z”ËŞ bOOfg§d×ö)Ůą˝/[çËŽvf€rX¦ĺĺž–ŁDyĆĺÁHKeş9/!°Ěµ?]^˛¬[ŇĹ[?GşŻsI°˛uś/U˘Ée˦§z˛­iËŽm˝3¸ż±|S˛<¬e° ¬Ň>”ĐÔM¸^V¤4ľ:Ö†­ăŁ-‰)iű×Mş–îö_1ąŚłěŽĄüÖÉQ'˝çxĘË‘¦'„ś™lĆý!' nż„B!„B!“ˇ`F!dC°ô¦Ée&"ĹçW&—ą(ď„ä2§ł˛„UL.SQŞ*d4ěËtZÎÝ3#çź3-s3eVÚDΰLsłĄśît3Ş'rÝ (•Y5}Úôq¦˛SÓâĚZ!`Ľ?\,=Ú&śů¶,fĺ2‘”Ř5‰8„ĮЎóÎ’ţĆňçÚJ–—*™ęʤ…É2&’1ĽÍ'©,>¤÷ʸý»ÂRâ|J.i)Ů`ń™ěG9ű°D IŮůßW›ćDbwž`” Ę܇rćł™÷W„B!„B!„“3B!DL*2§,BZVËB Á<ą©Mß’LZĘä˛\¦âSŤç‘śŐ“™™ľ¦—íÚŢ“©©0ŹÍ‚• … 6Tú;–mjŞhĄLO…ŇŠGË„eŰąŁ'ËZnĽi ËË®yÔŇkŽŢÓSř‚śWÄT˛đţˇo˝Ĺ–%@Tŕłţ6!Ędľ\Ä2¤m †ŇĽŻ“Qĺ´ÍHŠ;{ú»/7îíÉÂbŮôE)uŃ|aЉdŃá‹rYŘ®cKŇö\ĆĎ€M݉p–ň×ŮţEE4_m®>%„śŽ$f))čD2)±ěH’eBÎ6ăţŠB!„B!„rrˇ`F!dÉe˝By EMyŞbéĹä=ą^ä(•ť2±L“žjK‡rRůľ¸˘/3}”hěɶ­=™ź ňĐfËB{Gríu ˛wď’<<Ô6îÚ9#»w…ÇěěÚżx–qŰ–°ĚĂáH—ë¦óĽô{&0ąÎ{{“Ä4N˲¬4f™BeŇ0­•!ő±\)€Tvxĺ1 ™ę•˛e>´á¬ęď汸ԓѨŇí6”˝´ôŽf[­|H% ­Ą3›íż(T3ąĚÚ’Ë|7ą,Jhľ.�DČYȱ'KäšT3ŔÇŹ9„łÍ¸ż"„B!„B!„ś\(BŮBrYӛД¨U[˘–ř$0%±ĚJ;ú6ą )O–\f)\^ŠćďĄô!—méËöm=™›)š˛YŔ2GµĘN7í]’k®[o\”C‡*-/W:Ý–¦ýkžĐGS}”n,t™—=9´PÉҲoú§[˘ŇÄ%‰Édš¨…2ë붱Ҧ–Ąů´3«š¦..á§“ůąžlßÚ“ŮłŞżKٱ­ßôÁHö¨¤ň­JVëßJzËŽĆ„ł"%÷ą´Ýç q&ţa:üďYL0#„™“%k¬&–izŠ$„îČéÎZŽ„B!„B!g#Ě!„¬K.ëŹ'—YŮE——ĂĚä2‘±2ŤµŚF–¨Ő¦¨ŕ(‘Ů+b©Ć}-¸i.ůGAnaa$ß˝ö\w=d§%9th %‹˘Öt-”kĽĹůóÇÜn,+–yyPÉá…ˇ †mŇÝPĄQçé|j•rlEľVH«ł2¤m?ÇWz§Ď ^×厭gq/‡ţ.Ť¤B)N+;šĹ˝A,s±$l(YÚ-W Qéeą¬°éś htË!Ćj٧"ĺpĽěݤô2ľrö˛™öW„l$«mŰ“R> !„B!„BÎ&(BY7¸Ä^Ćô&M3‘° §ŽŇE Ů©HrMK jr™Š8µ OuDgőĄhţ]čż‘ µmK_Köz›ăÂľ&i C’ÖŤ7-Ęu×-Č HŇ:4”Á JÓŤ,•í8㱬(Ůxx±/×ŢPČ`IdyŮËrżéŰi/˝ŇÚŲ"+‹ŮI/‹ýŰôuťµEźuQ,6óBŠ™í‡÷=kű{ˇ/ýKYX*¤ŐQC{UĂ4NÂ6 Á,/‹Y§í:ۦ]řśHL.ŁVŐÝň¤„ł›Í:hÍÁtBČ8Ü/ł nó„B!„B9ۡ`F!dý¸, ˙«cÉF1Ń)&—Ĺň™EŚÓ˛ňËôQ‡’6}흌Feółl^[ČôT!óóĄĚÍ•*ęl†ŕMŇZÉ5ׄ$-“ť¤e ÝmË–)-×XöŠcn7–Ë<ß<®µ°čdaÁ7ýXGa/N¨îR,ŤY¸NiĚRĺB?çrYčďAÓäĂ uóQ[g}7Ë>ŐrăpRôŽVčwŃm2$—*OZ_§D>ß–ş®ÂJ eJ­|l*kJ!„B!„B!„B!› f„B6 ™Lž±Ä&7eĚ4ĺI2Ů)&MYĘpń5ľ*šżÍ_ V•2;SĘĚt(ĹyŞë j’Ö¨–Ĺ…‘Ü´7KŇ:Ü&iiéĐŇÉ–ůľěŮ5+;wĚČTż”cý1ŐôÇĚT!łÓĄ* -—Y^ćfk©!Aąúf%HU.+ZąĚÇrĄµoŐ2+ŁţĚ—¤iż¨4Ĺţ}€m©iŁş–^b$ľB·írYĺ2Ko fÚňt·{—Éešp–’Ö„B!„B!„B!„B6%Ě!„¬ :JL /Ńh"NKš€±f„×T&ă&BE GŁPéPół=Mđę•®}O9u u ˛ÓwŻ=$×Cvş)ČNť$­¦­óó}Ů˝kV.¸`^öěž•ééň¸e"”nÜŇôÁá…˛yŻZžŞĐ祦–I+—išVÉLü«}ÝI. ëGŇ4uŤň“H sšŢĹţý}¨ŮöVµ GU,uJbę6ŤţÖ6ý'ą(é“”——Ć”řŃҰͺCűńđ4Ě!„B!„B!„B!› f„BÖŤ L•WŐA®qAÓ4­2K.łrŤ*—ĺÉe>OQ@Ă PfÓűđłč2;[ĘÜlOĄžS –BĐââHnŚIZ7NHŇ*Uvš’=»gäÜsćd×Î•ź¬ŽĚsn6$ą^Ép„¶„ľ/{ˇTfá\[®4KÔň>bć=95>Qé ˘Úpäu~h#ŢýúŹĂ č§ÉeNK“q›6Aϧ”8`ép¶Ý[ÂY×ÖŮhBz!„B!„B!„B!„l6(BY7j ËHópY‚”Z„¤¤%/%”jÔ˛€UĚB"TŁ$–y¬ë¸U…Rštfgz*=! ęTĘ8‰GrÍ5‡äşëäĆ IZĄ%iíž‘‹nąMÎÎö3ÁNŽ‹˛âčČ`H ťL©`V´‚žľQhoíĄM.‹Ď›\féfË˵,-…ő‚ä®öw§żS˛ž+BJÜ\–'—Yzź‰oA.s1ąLt»Wą¬br!„B!„B!„B!dóCÁŚBȆPÇ$&5…•ĹĚ’ËTŁQi,5&ä¸(•YĘ“mUUxŕßĎôTŃ<‚XuŞC’ÖMHŇş~An¸qQOHŇÚ2?Ą’ÓyçÎëĎ­[§Ö•¤e`ţ(ů~@ź ›ÎE“Ě,9.ÉeµOňS›Z–ţŁ}ܦPfsią–ĺAHÔšrěo›Ţß1“,ÉzřŻnÇ(Ť˙bĄGCj_L9“ J¦äľ(WÖ1ąŻ(ÚÔ9B!„B!„B!„BŮlP0#„˛A´ YE'ąLÔ~Şë6éI“śbŇSK5†éD*8Í´ŁĘée2‹Bdş_¨ôTś˘ŠŤh;d§ď^{H®ŹIZ‡Ź’¤…rŤłsý(ĎÉş4ŐôĂTěôé`Ô<†ˇ­ťVŠ1­“ř_KÖBš–gŐ>|Ë/Aű;0ŢßÚŻuH"CżąXŢ5ĄĂA+L|+RzYH‘ó*ďŤbiĚ W6Ď—Íô3B!„B!„B!„BČć…‚!„ Â’ËŠ”\VDi ˛“Š8Ţä2I‰eEŇź$–„ă‚ČS óę÷ é÷Â{śLđţš,Iëú5&iíÉ’´6ŞÉWżWčżCrŽĽ&…„,K2 ýź.XeˇqV>łŽÂ¤'”ÚÔ$´šýmŚ÷·&–ˇß*§)|ZxÔשMxŰ2Oﳲ°>$ť…äľ:É}á5Í4E[˛”B!„B!„B!„B6Ě!„lHxŇä˛^ˇée”ĄaZ1Q+ýž•”XvPSËBzÖh䵄`]—š^0Ż^/ĚŰć{˛€¨µ°8’kŽ!Ik÷®™ťí§2ŤŐ޶BŞ[±D±'I,Są,–-\[‚TĽO“=P®q¤%I˝ö9ű;0©ż!=Z™K‘ ™Y‰KËzYrź´©}ËŞ¬,lKŹâµľ*`F!„B!„B!„BŮ´P0#„˛nTb*‚XٞM”gęX®1ÄL Zéĺ2+9h˛SU…˛‚ůü-MNRŇÓń$iť{ÎĽĘN–¤µŃhBVLÇŇä+”·¬ŁgépQŕ‹Áe]ąL$&jĹD9+ńhó©%ĄË±żWö·¶SL2C:śWńLű9öWŰoQšŚĄ1«Ř׺®ýŚŘzb€!„B!„B!„B!dłBÁŚBȺѤ§2$—iIĹ,±,Äl¦)$ 8&<ů¬¬#žFUĄ’Y*őčó÷pY*”śp,IëÚŁ%iÍőUrşĺ…ŰTz:IZ-.IcŃÍÓı: bč;-ĘibÉҢ0ąĚĹ4-‰Ź(—‰tÖµ™ý şý-QęK}fSAČ+-ą¬m‹Źb¶mM.l˙6ßP?ÖźĚx8B!„B!„B!„B9(BY7!Á)Š8奤–yMk*bĘYĎ“´j¤–Őˇ„ ¦pYéLɢťNRÂÚ5Ö˛¸’´®Ëd§‰IZ»fäÜsc’Ö–“¤Ő!O»ňV¶QÚô2'±4f›^&™Ď’ÎbZ™ČäňŚěďŔ¤t1+Ý*­4©ŰwVÓJcÖYYLáěż&úŐţä–!%„B!„B!„B!„c‚!„ jXU‡ßj+ŐůFÚRe‘%<ˇ,˘&—ŐQ, $ź'„<Ť˝Ç‰E“´–Ž!Ië–ŰdWósv.&ią×ĆIó 2Sö¦Vł(RF1±, O!.„ruÎÖňžÉéÖßů!—őbrY.—Őľ-Ź™ä2çZW-“ý°í[Â!„B!„B!„B!„lF(BY?)I+ć–Ĺň!­LbrYxhͱ„§”ň$AÚń©¬cöń=NT`•ĘnŁZG˛÷ćĹŽě4ž¤5“´Î9g^e§­[§’ět˘ÉËXúôźH™BYĚ,čĚú: Oá5qç'ö)ű»mg§ż mÓԾʧĎc;n~­­ôĄFÄ9-WjÉržŻ­|¦–Đd©LB!„B!„B!„BČć…‚!„u5¦ÎE™,±©, •„đp…$ ÓjrYť%—5ŻéAÖńE/3±'Ęk()xâ„'ݞÓ5×’nXC’Ö…Űd÷í'îD;BhŁII~,îÍJbQÎsť2¤­Ô§+ŔµĺLŐm?ű»mă¤ţÖí´,š‡WÉĚÚ˘ÓÇҰy‰R•ţ¬ÍuŃlűŻâg€B!„B!„B!„B6+Ě!„¬kŞZJýIžî„§R“Ë\”ĆÚô¦ZÓśEL¤Âtµsł)ĚBŽWI­Ü@ë)%i-ŤdďŢEąţ†ąiŤIZ[¶L­HZ;‘@řB?Ś'^Y Ć">T.‹ńf*‹EůÉ’ËBŕVŰîń%`ŽÖß.+‹i2_ť |!M.$ś9‘”"dĚ:Ą÷ťřB¤„B!„B!„B!„rüP0#„˛n4‘¬öâę:%6•eAh2ą¬ŇÔ&5u’v,yËć5îáoĂ‘W1©,Ë(HmTŰC’Öµ×ęČN«%i]$­]'7IË€‹4˘üŠ÷ĚÓËląZń)¶ŃÄ'ťÂu¤łöwŕHýmŰ($4q™€fIrř @°,MřóiűDzVI.#„B!„B!„B!„Í 3B!ëĆJ*âg›Zć˘\ě2lBŠSť2›Še%MşÉť&üm8¬e0ôŇď{DjÉF€y.%I Ąççűš …$­Ý§ IË@? Fµ¶;—“Lę“XSËĆnËŹ˘Oăt>+‡)ŇIç˛÷aŻŢß -?jýěCÇí?$—Iś„fée)ąĚwĺJB!„B!„B!„BŮŚP0#„˛a@°TÖKÉeA eë(ˇő JŤŠ8A{Ň×ű1‰§}­Č@…§ZfëR6´˛Ó‘’´LvÚł{V.¸p«ěÚŮ&iťß)OZ–UxŠĚ+,Zb™´‚Y.–u%­¶\c“ĚŘß]VëoKŽ˘ßt›u>´±pIĂö_Ş8ćb?‡äľ*“Ëôó‚Z˛u‘KB!„B!„B!„BŮlP0#„˛n4,¦6•ńŃ&’a‚Zꪕµ˘\VdrY-ÓťLŠó¨Ľ,/×ÍŁ’z~}‡.ČAšפŮéśsćd×ÎYŮşµŻm:U.úf©iăróĐ’¤’—ŤeŁd&húĐŇt= ŹkIŇ_k©±żŤŐű;Hb(w‰ľsšŘ’ä:Űż }mr~¦„>¬üϡżÝx•RB!„B!„B!„BŮ4P0#„˛n Ö@˛‡–üCąF-ťYY, 7á×î„˙yďT.vůfTŐÍ+’óą‚ŇâRĄ˘ÎXEÇcBĐâbHŇş˛ÓŢŐ“´v#Ië‚­˛k׬ĚĚŕe¸uĽ˙zUH«B?¨dé^1U+%—Ĺ>/Š6IÎÚRĘbW6sśŘßIýmí\ćbYĚB‚0©©eečsË•V*—ŐúÓRĐ —ő VĆ•˘ëP!„B!„B!„B!dsBÁŚBČş±łŇä2‘ÔdéXAŔŃéLz*‚€ŁIZqú޶‚ć–…˙BôYPŃg¤b’÷r\©Vx-Ę4Ţ|ó˘ĘN7Ć$­ápe’Ös׬lŮ’´N%! ¬é‡Ĺ¦řRĘbiK‘¶üh,ŮXd%U9‹š–w¬»â– “(ěďUú[¬Y>őe*‰‰Ô˛\fëCÓřbYLëk]ľ-WŞ hYßB!„B!„B!„BČf‚!„u7&HcáßšŚU[‘ËPBP§AŇYŃ OµĆiµÉeˇä ÍŐ§Ä3Č= •nĂŃń'jAvşţúĂZ¦qoLŇÂ{+’´vnŽ$­đŢ^…§Ă‹•>Đ'ˇdc+ňŐŢEáĚĄ’Ą®ČKc¶"_X–đZ}MŃĘjěďÉýcâÄÄGíç2•X–2&—é6ëëŘ×u*Aje1ŁŁ’ĐĽ—± Ą„B!'Ś ·»ć{ÎH^űÚ×ĘŐW_Ý|g[’^ďČ—‡J<33#ŹzÔŁäˇ}h’ĺ !„B!„B!g…B!ëŵ WZz1%‘AzŠ“­ôTdĺ2u-X§´3jE‘Íł™fyJ.-×2Ö1!íŘ jąyßr’ť¤…ů ]Sý˛MŇÚ3§˛’´ ťjĐĆÁĐ7Ëú`0íF˙”±ŻrY,ďgúS—ŻŽŹ¬ëÚ®PŢŻgOîo Â¤HJăCr™•Ĺ,˘\fÉeu–\feaË"/ˇ?#µ§_F!dÓĘpźz‰HŹ™žGĘŤÂÖëp8”Źüă*šą‡ë&>ô{LYękŢő®wĄyP2#„B!„B!äě f„B6 ď%Šb’•o O˝2”C,ZMË4"á©2ÁĆYĘű††đ­: Ođ{ĂZKâ17WJ˙µP˛ńđáĘNŁŐ’´n±Uvn˘$-`Ą‘(†>@ą(“AnBŕD7ąĚĄ42“ËňT9‰ë'h˝¦łű=ßôC­ďŇĐŘß“ú[ű­đ*ŠőJ‰ÉeE(‹©ýćS©Rź'ťĹ?±u!1ąŻéŁQUsŕśBȦ#•9ĎĘ:o4ą ä˝_ńž�ß-!Îă'…¦ŤcjjJîv·»É‡>ô!©Ş*|oń“űWď iÖ Ěö°‡ťĐm‚B!„B!„˛9ˇ`F!dݱL:%.UpŠÉN ĘTÓ¦·ä˛ ĺ„×X‚“şjH1«˘ …§‡†2;SJ R”.&{At5 † Ô+d~nJvíš‘={ćTvB’–l˘L”©<xhÔ,űH†ZSČLŕë÷ś>4E˵éXą,‰Oq†&—Ĺ*¤Ą¦úÍ|šÇ``ĽěďńţŇŁ×Ô¸^'Ť,öYL$łńYK93ůärYKhćIg„BČÉǰľ�H+sA>š”fĺ7¤aAlŇz=MČ*b˝őü}ńüââbúž¶m6nĽńFąćšk´˙¶lŮ"·şŐ­t™N„‡ľůň—ż¬}‚ßń^;wî<¦yŘz~ĘSž"۶m“·żýí2Ur¤ÖÎĎĎËsžóąě˛ËR"-!„B!„B!äě‚!„u1@$1IQ'y©Ś˛žđpE7‰bÍrM*‹IJrăz–đÔľĄ÷6‹ĄlÝŇ?SʱĐď˛cÇŚ–<Ü·oI۰e~Jvîš•óĎۢĎi’–É@˛9ŚÂrăß -59ĺdz*ôńJąĚ'™Ďď)–w´iB9¤‚ćÓop‹v©ŮßÝţFŠYŮôOŻű.{ͶKŠšX¦íŻ»˛¤‰šhVK›\VŐú™ ë†v!„SŽU_˙ú×ĺŻx…,--ÉM7í•óĎ?O~üÇź%^xKť"’‰`%aŻ{Ýëä+_ůŠţ~źűÜGřŔŞ”5Îľđů»żű»” őĽç=O6źţô§ĺőŻ˝~Ç˝ä’KäŮĎ~¶ěÚµó¸JŚ ôŢë›ßü¦ţű©O}ŞÜ˙ţ÷?–Y$‘í…śÖ«¬úe ĎĎÎÎŞÜ—¦%„B!„B!„śUP0#„˛n0ĐyČŐ>J5˘BY™§<Iq|íczS[0<¦‰…›żyMŚŇ­ř7”.<tx$3Ó#YXŞev¦ĎúýRĄ&�i íßŇ—ŰgšÁµ-Ű(˛yFĚ´ź*/‹‹µ88ŇeGÄŽŇ$-Ha3ĚzEJÓ24ą¬î–śt.+ź ůLB2—%…>Ó˛żcG’ËzáQ¦ä2I’X(-¶çÂIÜţCůL]ŇnűHűk“Ë8JK!äÔ€ăׇ?üaůö·żť2$q}ä#•[Ţň˘4ť‰Ó!—™¤¶wď^ůîwż«˙~ŰŰŢ*çťwžÜńŽw\‘śńí[ßúZŃ|w“Í•ď<Ů%<­t(şëXŢ:ďßíŰ·«8¶´´|ÄéçććdzzZ7AŤB!„B!„rö@ÁŚBȆ`Ąť%—őÚT­vš đäĄ41>Ąr™ Š4ä=9çĄŐÎ()¸¸T«ř†3Ó…ĚÍ–ŇwÇ&<Al:çśy´HʦťSÍß!@™čłYĄFM_-,Tş¬‡FÍŔ_”ň\h)&ô(sıĐxË|V3”lŚĺť¤Ä-Ľ¦×÷M˙©ĎÄ)öw=V˘«ůâÔÇr…íXů:¤“Ĺ4+‡Y6Ű~·˙0ůÚä˛0OÇB!§ŚČ—ľô%-OißăVöąĎ}Nţđ‡kąÇ\ž‚X´žäM{›'ŔĎC‡k™Ć[Üâ˛k×.9ÝRťJOb™PrňD‹XXW�ß9Brí±­´ëëżÍşťŚ%9~q!„B!„B!䬄‚!„ Â'é ©Mx¨\fIYxÓ¤łđS|Ô*\&—ůPfĘŽWqÇil¨PZĐéß—*ąy˙PK0†śˇGďBúVYöBYĆMŚŤ ^öé˛..VZVŃĹä2,KŻďBňXϵio±¦Ź‰Y Ŕ5ßĎK& ů žal±ě…ů«`V űŰ™ Ź2>đ»Ieµ ćşv{.bj_áƶ˙8đlĺ4íóâă@4!„r˛ůÚ׾¦’D%F8>|Xnľůf}îNwşS’¦đÓD4<N;u^x%,‘tµšXe7">$yâ;cstÔRťďßű呏zäÄR™Gb4i[–——uľh Ú)jµc,–Ů^ßńžŻ[í5XćC‡éűĺď‘/ďj _Ö_ř đ~óóóš 6éý0ź……}ŕwLgëČD2{ÖͱbëËŻó·jąr+“ş¸¸(;věŕ÷B!„B!„BÎB(BŮ0(•’Ë´\Ł´r T§ 2ŽtÄ gN¤Ş*EŃđ×páËô^ËZnÜ;ĐżĎĎ–š¬u& tů($A캡YN<°Ěú¶?ĺdjĘ©ÄĺĆúZ˙ ¦”8’%eŮ:0AŞŽ˙†ě4ŐsšĐ…qĘ*ľßŮŐßËúČű[%ł2>ś‰y!…ŻŽC±EÜŚ‘ ŇËĺJ±Ň›µ&¤Ąä2 ed5á¬.bF!ä¤I R¤'ČRw»ŰÝôřţţ÷ż_Ą¦/ůËr‡;Ü!¦–…ׄ4ÚJ峏~ôŁň•Ż|E5gff5ě.wą‹Üő®wUyjR˘– ă·G nTółůâńţ÷@.ľřąňĘ+ŰマUҵnşé&ůŕ?(_üâőwoxď[ÝęV*ȡ=łröíŰ'řŔ´ý×^{­J_·.¸ŕąóťď,÷¸Ç=´Or™ Óá5HwC˙@¦»ő­o-÷ľ÷˝“ŕeÓ[R›ýţŤo|Cű }Š÷Ćß¶mŰ&·ąÍmäîwż»Üîv·KÉgˇŹjůä'?)úЇ´<(ÖŐ9眣ýrżűÝoEŃcÁ^‹÷řÄ'>!o}Ë[eáđbó·ŐżŚŚ†µ|ő+_“׿ţőňÇ<¦YGS2#„B!„B!ä,‚!„uáĄ"%—9}¨ďdr™ŹiZq¬+=ą”đ¤Ó×mĘ™&<•>‰PĆh䵌ażWČľm}MÖšť)5ÉëL�"d'KÓ:xx¤ňťţť› Ź^/™4V+usbRHH‰ëĘe–"q:$“ÍÎşćýCG±=gC/®ŢßZB´WëC·ä¸}ę6í˘(ć\Jíłţ:­mÓ–\ćBş^Ś×U…P0#„rŇá ßúýľĘd™®ľúj® źa”¬4 Ó^sÍ5ňŠWĽB®żţúŽätđŕ!Ľ m<xPKlK‰HĚ ˛ŰßýÝß©čµgĎžŁľďó’—ĽDľůÍojŰMžÂ|Đ>Č`ű÷ď—?řÁšŞŠăíŤ7Ţ(Ż~ő«ĺóź˙|§¬$^sÝu×éß!u=á OH‰mč‡7Ľá ňŮĎ~6•ĄÄ{A:űö·ż­bť-Cţ Ź!fˇŤú’Úwżű]ůÂľ OzŇ“T3 ~˝ć5ŻŃ¶çë íBş\.°+¶Ě_ýęW›výťě»yšßj„łZľř…oÖńßČsžó]G„B!„B!„ł‡µ_í%„BVÁu’ˢX#AŤjň1*”xtšôT”!ą ÚŤ•4'”mô2ŐÇ §—||Ď›ů\Éu7.Ë 7uľNw°,X&,ۡf±¬ŢŇ>J*‰lť+dë|‘$/Śű†4˛8™“N©F—•ƬŁČב¤š жuK3ß-Q\‹śńý˝űű†¦żWͲú¶żýŘl‡˝Zúe­ -(ť©˛Xś¤ÉeúČŇGBĘ‹ŹŰż%÷…őJŤš>G·ŚBČ©�r„%�‘ )ZxXÉF<wĂ 7$IĚ„¦wľóť*báwHFĎ{Ţóä7ó7ĺŹxD’»ţéźţIK/-ĺĘ©=čA)µ ó†�v4y Ďżüĺ/Wˇ rŮöíŰ呏|¤üřŹ˙¸&¨ˇ%$.´Ë‚ă4ä°÷Ľç=*‘YYPp?ýÓĎ•űÜç>şěëŢ÷ľ÷iâ řÍ|&ö©O}*Éex’Ń.żürîţíßţ-‰[čKĂŢ f׹瞫2ŮÓźţtąímo«đIë˙FJ|&’[Ţň–rŐUWi2Ű{ßű^Ólť+x ŢëĎ˙üĎU.łż­e^hÎ ×ß$Ż{ÝëRiMB!„B!„BČŮĚ!„¬K0+J×–Ş8f‰e|®,Úä˛ ˇ1ŞRą¬NrY(KË?6 ‡˘IO׳¤łĄĄJöîę<‘¨Ą%ű.¦Cť~@F ˝ě?0’÷uٰŚuó÷Â…ŇHCiĚŮ'3SAó±ôh¬Š©´)q–Žĺbšś%ÂI'˝Ě’Îʲ–á¨~żÖô8ô·®Ł3ążfý˝ÜöwÁšb}ÔÍßjIRžH(ńeIô&÷iWŚĄńeÉešn&mr_e˘ÚńUą"„BŽ |řŘÇ>¦2ŽIW\q…JSŕŇK/U™ Ńż˙űU˘2ůČR»�Ä3”kD™GüţŘÇ>V¬şĺT4›ťť]µ .ÎmÁOjHĂ©_ďz×»4yl5Ŕ…˛�m˙‘ůąăď¨˙†üőŇ—ľT—2ÁĐNČ`ËpSd˛G=ęQň€<PŹŃ—]v;¸  ˇĚć§?ýéT^©nöĄ*!±ˇ<&ţýńŹ\…8$Ś…¤Ż*µ"ŢŻE_<ëYĎŇŇť�Ą8!–}ć3źIRÚľ_ZZ ňż/yČC´o!®:tH^ö˛—iŰl}+ńŢţö”Ĺ…ĺÔ˙kťŹ oßúć·µÝŢX*“B!„B!„ł f„BÖŹkKüYŮE-ié|”—Ć’Ët€NR©Áň*â`:iĄ'Ě©]AÖi±¬t#ć75Uę<wîčËlqzt-ĽěÝ?”ëoČŤ7tŮňRȚ̌§Df¦DĆ ßy‰ép­Y–ú­SŞ1ĘeuJ %H]ě_žśG*]›>]Fş—'=#ű{_Óß75ý˝o0ˇ4f(Ń ÁL{d´ř4yL…żD’Ë$Lg qQž‘¬ŻCiĚT¶źúe„BN&  F|?¸×˝îĄÇ9|¸űÝﮉ]řű'>ńIyÔŁÝ|§(5ĹśţůZîÓż˙ýďW ˛Őyçť'?ř?ŘI;y )]|ŕĺMoz“ W7¤°Ő@r™É\Ăü…żŮr -̤°/}éKúűľ}ű´Ś'@2ä±/}éßő5–<†ź/¦CŠJ„˘ ¦-×ýďąč˘‹Ňż!ŕáń‘Ź|¤Sr D'ć‘ ˛Ä1´ĹúĹĘ€âý!Őáç׾ö5ý^e€`fËĺDéNĚ×Ę–+7ݸWK]š\޵ÔćáĂ ňąĎ~A…ľ™™!„B!„B!„śůP0#„˛a`lŞŠqLµ%—…§PÓ„±˘Ő OuݦBˇ€s‰×HÓj<=”&”ć?„Jg(W1¨·w(Ą4żµ§)_˝Ó$Y+OŇşţ¦ˇÜĐ,ËÁĂ•,1@Ú¦iA*›ź Ź^<‚‡ń@R± —’Ί^:[Ň€g>~čś´ &ĂĎ:¤¤Í5c…ÍŘ®ŚF"ĂQlçú{zęôI2[µż±ż‘šÓË Ű•= ŕĆô2·gݶ‹řhKÖ1ąO·iý‹ŹójE>0«0 ĘgVuw˝B!'š/|á ZšŃRL! AlÂď–dŔ!ęö·ż}:V=ŕĐ×#©ě;ßůŽüĂ?üCó˝kJçÉě{ľç{´D%ţ–KLGÂ×}ď{_ů÷˙wMńByηĽĺ-*tM˛IV)bEVSI]&rAĂO¤ŚŮß!¤˝îuŻmţŢľ˛ä6€çń;’Řđw€yÜáwč´Ë Ě(˛rŮ(÷i}Ś÷ţëżţëÎkŃď mµĺ‚̇~ĚËo#A ĺ@óéŽČrHuóÇůĺĂRÚPö%@)B!„B!„rv@ÁŚBČúńmŮĘ”ŘäZ)$—Y A—ÉeµĘ>&—ĄÄ2“žĽ‹ĺ“|óúQL?‹IQŮ’¨nşyŘ ţ…’ŽĂ‘—Ý;űRÎśÂd§›÷Źä†˝ąöúě?Ř,˨0 b’h9Ęm[›Çôg”ĆśO©Xř_™’Ëě•™đT·µ­Ź‹”*âR™MĚ{~.ôe3ÎŮôݬŢßuH6CĎžŽý}Cěďaw€6$îy-ÚďU9ŻĐdł\†ql[ęXV‡tľ(–á?ašV¬LÉ}QŘĂĂÓ0#„r°ďaH3đď?ř?X1­Éé(Ýx»ŰÝ.INH{Ć3žˇňĘY˘”&ä(< =A>CIʧ=íi277·j‚™—69ËÄ0¤|ˇŚäóź˙|MĂĽđ4Á�RÇrËć…˛”xüÄ÷Nb&ť…”+_6¤…aZ+#jŻĂĽěßF/š˙©T|ś™ý óFó×ĺmÄűˇŤyަ_č+űűń|€ufmĚç±–´9Če–7 …B!„rtVűţ˝ęůŇ„ďéă‰Éöz^W$„BČÉ‚‚!„uŁÉeUs’\ąFTŔ‰ĄËńrŤm©Ć*Š6ú’ňT™Ď‹ë:L_¸ZÓĐz˝JËdÖŢ”ťđŢŁQĄ‚ŢŁŽnOµ­'3S…&‰´e<O5vÎ1kiPË•ĘN7îĘţ#Y\®Úä2 ‰d3ÓNćfťJ\:¦č3ç+–lÔ>6ąĚEÉÉ·}č;ň_V3¶ÉzMf›ťń‚1V$Ç--‹ÄĘXműPö±Ž%:·o=Mű{)ô·µżkiĚ^Ýôió\Q« “%saRb™Ë(NjĘY”ĘLös’—…•X¶Že_™`F!ää€cŇľPŽŃľLĐČ%¬Ď~öł*íر#|'kľ Ĺë’K.Ń4,¤t]sÍ5šföĹ/~Q_˙éOZ_‡Ň›kěhżŁ„÷|ň“ź,ű·+‡Zőő۶mK)—^z©–ŽÜşuëŠKůÂďx ÚŹżaÚźţéźN"Ůx{ ­aČXözüý«_ýŞ–Í4  íÝ»·óžö}Žóµ\vŮeň#?ň#ß m‚¤†¶X‚ś­«pCF•¦_ZZěĽß±rîyç¦T¸ńr¦ÇĘ4ÓË!„BYyşs~Î0I;ňTÜfąK!„3 f„BÖ ¤šľŞ:•Ôä˛ŇiĘŇž‚Ň›‚\ă“ř’´ŠVB%­„VĹ„§˛¨eŞ7ŠŇTŻ™¦{ŇŚdŞ˝ű†úsyą–sk9wĎ”l™/˛¤®Sʦ˝5˙9Ü´ďú‡*:ÝÔ´űĐÂhE’€ěµ}kó@rYá“ĐĄň™ Y!ą¬MÓ’˘ĺSyLI‚ź—Ý!çS{,Î.H@d۱-”ÚÜ»ĎKVĹI Đß#ý‰ň’çějú{÷éŇߦż«‰ýŤÄĽ©~ĄŰš“ —©ŚW 4iˇĄW{*ó…é­ďŇĹ gÉ{.‰–ól=Ô1µŚÉe„BN6&ŚAŠÂ1h÷îÝňG<BEŞĽĽ$Ę9ľůÍoÖ´+$“á5÷»ßý´„#ä1㪫®RŃ ó´ög¦˘ţýÍo~Sł#1~ ßKŘP.ó]ďzW§ŚdÎE]¤ÓBŔ‚pAkçÎťúo, ÚóÉO~RߡeĹóĚ ĚAÚB©Č[Ţň–ižJt"é ŻąüňËS Ltŕ˝ď}ݶ"ćmIk¶<y‰LHeH€Ăżńz$–áu&ľAĚěĐ®»Üĺ.Ú›>”(˝ňĘ+SßúÖ·Ą’ťÇĂďxGąÓŻśřÜ1/qÇ^˘“B!„ł™\—ËňiňçĆoČ9Ú| !„BNĚ!„lV‚BMae1cr™ÉFľ¶RŤu›ôK5–q0SÖ*˘…yŞ–Ę'ˇT$¶ü„?#]ˢĽB˛d·‘–wŤ‚Nµ<ěÉÜLˇ˘VŻ "Ö©�bبB©ĄZ—jąů@Ą%÷Ţ<’‡GZS“Ë —W¤ß©ggD¶Ěˇ$S(_é;’X”Ě\ÖĎŇ^ Čś§đ3“ËÂtmŮFKáŢýĄľ_ÓîĹ%§}ŤńĚ:†h„ţ®µźSűÓ¨ż‡uJÎúľôŇ/CYĚ^Y‰ł’˘… “.“ń5&ä©`&> –’¶˙˛qrULî«jK- r™‰hĽD!äDcĺ!4AÚ‚ŔtńĹ«Ôd˛” J>|XE2”şř˛©WľňUÍ14”§„Dö¤'=)%~AL39 BW^.r«•Á±ö| ĘU_űÚ×&ľöŠ+®P) Rä­WżúŐňô§?]ÓĹnĽńFů›żůůĘWľ˘Ó>ěa“»Ýín˛gĎąő­o­ňŇŃPć"Ů…^¨{ýë_/źúÔ§´Mw˝ë]U$ò ŹŢůÎwęń fHWűŢďý^]Ţ·żýí*™ĺýlËtŰŰŢVÎ9ç}´ń‰O|˘¶űÚkŻ•—˝ěe*‘Av{ĚcŁďyç;ßY^÷ş×é둞öŇ—ľTÓŮÎ?˙|]ď~÷»Sü% óýŁ?úŁ”D÷Ă?üĂň =hŐéĂ7Ęň„B!„ŤI%2'Ýp3ţďńÔłIÓóVB!„ś,(BŮPTŘé$—Ĺ$­ŕTW&‡ůNYĚ"/ŐčCj٨ZYBSĄ•¬BŚW˝\"8­Ăpäe˙Á‘,Ľ\¨e׎žś·gJvn/e~¶~qjl,Ďá¦=7ďÉu7őçˇĂ•,-W*k%|XŢ^IJ­[DffĽĘf®XË$I|“î~ËŻ-±¬ú ‚‰%jAćóůÝpq˝h2Zóܬȶ­aÝ<Ąľ|ąšţFŮIíďça‹-łČTŻÖô˛Jcş:”ş,l{v:kŰj%H c‰Í´ťĆé­dkËĽ¶iKÉęşŔ<+ f„BN<8î 1 BŔ1 ˛ŐÜÜĽĎňcŃěě¬ĘgźůĚgTFł2±ţđ‡©l…43ČNĎ0=Ę9"í ˘Ů-nq ąç=﹦»č' ŠŕW¤ŤýŔü€Ľä%/ŃůŽ3==-O{ÚÓTŔ‚†ä±_ýŐ_ŐÄ1$|ˇÝ÷­nu+ą÷˝ď­żC&¸†eąţúëU{Á ^ Ű·oWáĚ^)ěx€Li]rŃ×îsźm^w­Ę`Đđ�sssÚ/ßúÖ·˘t^§ĺÁ|!·˝éMoŇeřřÇ?®Ż›žžjŢďpZŃĐ.Ľ·ĄĘˇŹ±čçWľň•IÜĂ{a^7ß|ó HĘKrr ŠB!„ŤaĽ,fžF6ţ˝{­%3Y“B!' f„B6K.+˛ä2‰ĺ,€JĆ©cŇ“•ÔKZYLw˘#&—i§Le!ˇ9©|Ń „ą €y Mk0¬dqÉËҲׄ­ĄĺžlŰRĘÜlH×ę÷]L\“Ť|â˛B(˝–í\X¬UÄBYÉëoĘÁC#V!9,$—…—jrYÉeN¶lń˛eN´\eQJ”Ëb˙GJ.ëF§‡.ÎE4źú»Î¦[í<ĄiK3Ú´!¤É VV;˘ZUűTś…eD/Oę辶ż{›Ążë¶żµ-^KŹö˘\†ô˛˘¨CÉQôqŮ c…3 ŇJcÖÚďů¶śŇűRJ\[ę5$—Ůz‰}é}‹A„BNvüGůJI`~~^Ë1DpLxÓ@ŢÂkVąéÁ~°–ŁĽúę«U<Xf@úB Ƈ<ä!*^™luĽwşÓťä‘Ź|¤Ľá oHóĘA ˧<ĺ)Z†ÉlHü2 ˘ŇŔ n!ý˸ýío/O~ň“UŽ`†é±ŚăĐf<ąěv·»ťNŹă8„łÇ>öqú¤{Ů÷+¤ĄÝ˙ţ÷W1-fÝT1üŃ??đhšüvěءéh}čCµŻë:”›‡”†÷ýđ‡?¬Égˇtů”¶íQŹz”ĽâŻĐ2ź„B!„Óű®oL*{y´<&Ą™ĺ’o!„Bȉ†‚!„ AÓ®\Ö+4íÉ™#úź Ú`ÂNYŔLxŠe!áTŁVı)A*J;ÓýZ§GZYĺKMäŞëîŕ%Ć!!í?XÉⲗë÷V˛uľŰz˛{G)Ű·¶˛Ů†ăEE§Ă*9ŐrÓľJöÉÁC•,,"í«VaËÇâB ¤’5Gçů¶m)"^SŰôi—'Śš°%ŇMË“Č,éĚąBÚ®RY˝BF‹ÓńB…YYz™›1Á ŻkúzqerúËĽ/ö÷ MoŮ’ő÷–“ßßbŽĐß(˝ÚďW2=5jÚ6’>JcáâŚ%ńAîKýHí;Ě/®Â™VtJ¦íşöi›Ć¶ t{f‚!„Śëď|ç+5µ @¨BZÖj\vŮeňó?˙óI†BYG|÷€쪫®Rů %*1 ć…iđ‰fG“Ęžň”'k:@‰NMiMĺŰ×>čA;\qy”·V–ŚąňĘ+ĺ’K.Ѳx@ŕ˛v@ŕB[ň>ŔkPúÉfŢ’×6†× 9 Ëĺ†8‡×@ŞCÚ6LŹ–˘ŢÇňŘ{âýďwżűé둚™ óĚA ݇°gmĂĎ!Ĺě÷¸GZ&HrH`ĂĽźő¬géß0ĚăŘđ1 x%Ú»®µđĂ𢡊Sq�‹B!„µ2)ql5)ěHӍχb!„BNĚ!„¬gÉeq ŽĹÁż:F=ů0‘8iSžR˛–Ä„'/)ą,‰8¤BYĚX 2Fť9MśB˛WD'â¨h&±„c(S$Z’ÉZ‡P±Пř÷ÁĂH+dfşĐ43” Ô„´"s–Âć&$nµ)V1¬m$&ŚĂBvZZ®›÷ŞUpŰ»ŻRŮiq±’á¨MĐŇyY‰ĆľČܬײH łŇmY̦}Î’Ë$%_ĺÉeVRÔIŢ×áŹV:ÓO’Ë$ôq]l…@úzvFdk• ý:|A,Ëű{8Ö߇›~^Zlţ˝ŐËüIîoČeŁýíRrYݬ›¶Ô2ÝŻbzY­íqQŕ r™Óiu›®}zčĹś"K”+Űä2ks›ĆűÚI»Ç®ëF!„Ζ-[ő±uŢyç­ř;nč÷űr‹[ś§Ď[YÉÁ` ‡¸¶–»čŹ$·ĺâRŻůÂpÁ¬:%Ž×Ż •ˇ¬'ŢĎ„-“ă&‰ë6·ąŤ w( ™'ŹMJKĂň@XĂó ßJýóÂ#Ç ě'D0ČkŻłďÂö}lüßčK$ơÜ(ćQÚÝ ůzɿύ·wuV€ęĽĆ}zB!„BČš8ÖTçI2Zţďü|kR˛!„Bȉ€‚!„u™˘ŚcÉW1Ý)ÉNE�´ň™–eâPHxŞŁ¸Ë96ݱä˛|Đ­Ž%1©ćHćfDç»4hţ˛\J]M>™†Ś´°P7 "ű4ŻťŞdşď4Ukë|)[ć ™źs23ídzĘ©ě$¨0˙,l-–<-‰”´ĺ—Ą%$hy9t¸–‡+-Ń8ĐrŤµ PHf«ęŐčú=ß´Ă˶­^¶oĐ“Ë\tŚeB‹ŽÄúXËFÉĹrŤ.ďki,ë$™µë//UjËčó”łćHVŰ:ŹT/<Dbąd<¬íďĹŘßÍtS*qťŕţÄţyËVëoĚe1gšm`fjÔlŁf0şŇ4łNI̬Zzµň©ŻSż5ë$%÷%ą2|t»®,Ť/Čtqë–P¦”¶„BN/lĐb8¬Â±-ŠO(ŹißŐŚŐä§ŽÉu]'©Ëd·IŕyešXÚ;úĄ‘|Y0˝ŹĄ˛s1íhŻÇ{Aźß$ŃĚţ–÷ńjËA!„B9ý™t>µÚ4ůs<' „BČÉ‚‚!„ucé[VľR%±¤—I˘BĘSĐpÚ[c MxŞłT¨LxĘ’ËLŞ-* f, ¤:ŕQĹ×–*5ˇl&°ómM˝j~GąÄ0`W«L43U¨Ř…t­9MŘ ÂSż×¦liúU\^[Ć <y•žLx‚ätx!OK:ĘH!- ˝c}eçýř Qkf:$–mß$3¤…éřŁ‹%EczYQ¸T*,W›H4/“Ë$Ą—…䲶\ŁĄoŮű‹ä"ÚĘ„3»\QŞTł°ľ%­Żĺĺ¦/Ľ ˘YŢß•h9Pżű»X˝ż§zN×çzúR[ęoçS‰Đ|[…X†¤˛i“ËšGżWi)PíăŇŤÉeVľŐGYĚÖcÜFMüłíÚDľl›ÖĎA\akvÚ?:M&űB!›ťńÁ KűĘE«S%P›•ËZ«áR„čú$¸#˝Ç¤d˛#ý}|ěßG{źŤäňË/—/}éKZŠsĎž=B!„BY?G;?±iŔjĺ/'ÝŔCąŚB!' f„B6 UĘjI‰WVâ2H=1ް˛˘ÓŽbÂS^ł©PAŕÁśŰÁ?ČhU.íD mşďezŞ–©)‘…E$k•Í€§SˇlŐö"kÔLßĚoyXÉÍę–ۨÂPžJỿzĺ-± ÂP8$]áßâVŻ~ú%$•íŢáeŰ/s3µ&yYP…•t´ä2ž’pgć‹jY–—NÇÓČ|.ň©<fł“Ł˘¸ćZi-U!q m…vÓÍÍşÄňV˛Ćţ®›ţöA LĄ1ť¶çXú[ĄŻ:lCuL+;Ňe,+Jbn™ĘěTH-+‹\–¶Ń˘#ÖVŠ3ľ‡sí6š’ËlZëë¬,¦m˙©mľMÓíTS0#„rÚ'kŮŕމ“Ҹěß'łm“Ú: KłcňZÚ9.}Ť˙>ŽIwyÉÍ®�W¤+ňůXŰjÚř2n${ŘĂdyyYËpŢáwB!„BČúÉĎŁŽĆ¤é&%–ĺe2 !„BNĚ!„¬ź,«MĽň1ąL˘,– RQŞcrY.—ą,í,?IrY&=Ĺ’Ž&­•ÎKĎă=+}Ń­(e8*dXRUa`a~ť2M[PĆr`ÉS.JB.<ÄÇß}GB:V˘|’‘‚xdIe>Ąpĺie!ůĘk2ÚÔ”—ŮéX¶c[-ół>&¦Ea,¦ÂĺŹÔßâ»·©ď,ąL’ŚÖM.ł¶¸”•’Â:Ée­ßeĺJS"šX ›Oď1…u¶<(d0t2ŞPÖ˛Ý>VöwłîĄMVKý­"ÜÚű[˙->ű÷ĘţvM÷ĘZ6ŐŻevf$sÍcŞ?jćYą,%—Ĺí4tr*ÇZYiL‘Ôoe.ţI–\–őˇn§qéTńyŰî­4,/B9]Če©Ł W.űîp˘ÉE¬qn5ŽU‚›Ts-ď‘÷×ď«ÝůŚ÷ÓFôáń~·@9ÎÇ<ć1ŮÍ „B!„őbßëí|jŇwíŐÎ ěą\<[Ëů!„BČFCÁŚBČşiKy¦“\,–L~”bŤ%Buä˛(–™ödbTw,O(.ĄzőĘVđ)šézÍxÝL$nËH¦zĄ,,őeqą'K(Ič]–Š•·~•Á3'­”&Gg-Cp˘Prĺ0·Ô˛ÓIJľ¨Ę»¶$fi%EŐ®jűŻ6lL¬ ˇ5š=6^î2ä´$.±é$K.“, ¬3_‰ó ÚĽeÖk™Ď-s…ě;äĺĐá¦ßC ČŁ÷››ř—Ťş<‚^@ggj•Ęćf2ŐŻ´¤jáÚR—&*ćĄ9U.CrDHßĘeĄ%—őV&—Uu›ZćâzK q1µ/m˙Ł:ŠkB!„lvm˛Vŕ]©ąŢw“¦&ÝU˛=ĆËOŤIÓ©­Ç3€łšě6ŢĆ|şIŻ?)Ť—î$„B!„l Gú~}´dĆĄ˛ŐÎ!„BN4Ě!„¬f\óŔipQŚ—S,˘4&ťň‹ăr™KÉeŇŁę,éɦŤ^e,Ť©âZ,ëčă€*Ŕ¦§|H¦jžďőE¦"$g MŰB˘YUK'%Ë̢tjî×?ôj‰eś¦úˇ]słµĚĎ…’Ěf¦CJZz˙(&ię[ě“ĐϡQ–úemµ~łľë&żIVęR:b™Nűş#ˇuä˛Xľ2ĆpésÖo®éë",9¤ˇżńszJdq©ĺ—aÓßÚçcýť’Ó:˙Z__법 -±¬ŇŇ©33UÓĎ#™m˝˛ŠíhűÍDEëč”\Vgdg»+’ś—’ËbYĚN?ÇDľ”Ú—Ą—ŐI\ă�.!„ŤĹŽsźĂj;¶A´?ĆCNĺ@ÇzŢűD´űhÉÇú·“«!„BŮ8Ž”žś'O’Ç&Ą™ŤĂ›D!„r2 `F!dÝŕÜÂŚ«ëV�Ó䲶,¦ÉeHlŞ,ą,ľŢ$źÂ !q,­NróBĄ˘ůL޵Ü` „®~ż’­ÚľZ–Ą<TĘáĹR––QŞ'ďů ąűytŽ6ö†çűM;ćfjŮ:_Ë®í^ćçęж^H3SaĚůNŠ[Iz’<ąĚ·âWěďÂĹ4-çRÂX*ué3‘/K/łľÎĺ(?Öön©RŃÔź•‚Ô5´µyjfÚi‰Ďí[ ňŐrhÁËŢý®és'‹KÍK‡Ĺšd˛#^ 9J‡ňŁ^f¦*™ź­dŰ–‘LOW±fĄ©kš'űζŁ"m¤Í¶Ň,×(ŰNuľ±/4ąĚ¶»ŘŘÔwq#µíąÝţ›>‹’ź%÷…D>!„B6ďŰďb /ŁŇ¦aůô}ŁćÁB!„BN8ůyÚŃŇ—Ç˙v4yŚ7‡B!ädAÁŚBČşiS˛2ą&&=Ą”§: h¦ô˛xNlb™‰h:Ż(„©Ś–Ň·rń*–3t!QËg’ŹUlŰ€AÔđ×éAČŕ*›OőŠ”f6ŞšźUŮĽ—‹ĚĎĄŇ…ăçďć"™‡/Ühą©Śie˝˛V± "ĘZ¶uŢËÎmÍB)L+_•Ësyň[vóZ'aL—O&$—YFńÁĚćÝI.łÔ7í»6]Ëě®"Kŕ˛i­ťimž"AĽšjKK"Ő ŕď3Óµ … Gáú\ô÷·>ŹÁh+D·”Náě'úĺ.űÍŁ×kSâ ÍÍT˛e~Ô´ŁiaQ>”¬ďt-b ž´ cu&AşT®4¬W¸}‘Ö‹ E‘ÖŤÄmşMEk“Ί1‰BYăă ÎÂ÷Ť">ďB‰L<ŞřE‡‡!B!„B9ᬖDVŰEhéŠhůkĆĺ´#Í—B!äDAÁŚBȆóÜ^ŮM…jĄ± ÷řńä2ç’”c“J8ŁZS¤Ćĺ2$H•– Ő‘vÂĽ-•CÔâk\¬ą9Ť4łąJ¤ rÓ¨Á ”ĺaO––ńłTél�Şy4“é éby K}Ź(8•Q(ëYIĆ(7Í"A+”Âś™ý2Ąe$Ăë’f„µ˛(˛Ô°ĐnKsł2Kß21/őź¬ŃÂěŰÔ˛öExľÎJ@&aL\*YęÄwĺ˛(vE´ ĆĄţ‰ëËşckęP’t8tM˙ödq)r…,h M§}>‰ö·@ěďo·R(Ó~G7“É7;‹ő%´˘n^WĹţ¨SůĎV‹Ű’ÉeM»GŁ ÇY˘‹Iv˝¸=ą¬\©m{ánCIëĂJ·–!b.NW§ů¶†Âún&N"&!„˛>ňă Ž7&W{•źs!:Şé,ÔL!„B!'#ĄŤ'áúaţ§ŐÄ´ü﫥ˇB!„l$Ě!„¬“p0p™Jc¦;°0Aĺ§®L˘*3 M‡A}ťRžÚAP‰idmÉM“©4 "ZĽŃË$źÚŁíkőzb® (…¶9©F^ÍcyĐ<†uĚR˛™ IfŢĹÁY×MÓ*Bd'ž¦Qžqş–ąą(Í:™žŠwźĹaÜT¶R[ỲX–hŐ-qŮ—´ô-Wäź_!Ą’Ež\&Yr™%pY;ÂĘĚ“Îě:E'ą,bëĐ’Ĺěýă+TCz„>PŐ… ‡•,-{™ť`ćšß!96ý]uú;®8„ľĐľ(ŤĹ>GJÜT‚YÓĎ3U3OŻŹ^Ůn»tűËçśKŰR’Ë|–\VŹ%—Ař‹ÂËŇř:eBS?ÇĎ@Q¤rŻ&ĺUŮĽCßéuşştLŹ!„rÉ®8ö5˙ ifu<öąX6+„B!„Bȉe’Hf·üäĎ哵7eű‰ó0±Śr!„BNĚ!„¬śŔ"á)¤<ĺrMHČŇ0«+)ˇôcᲔ®LxŤbŇS–UĆye[ó­¬Üf¨ţ$! *&S•mŞ–%MŐu.5ÁžÓ´«9‡çG*6Ő•¦›ĹňśZB*•=lK$†sö*–(pŻhyČ©ľk~ćÉa>Ą…ů¶VŁô–QNż;­öy™Ë•Éeaş6QËűö„ćŠ%ł,‰ĚRMLž+愦ÍÇgýg\CşŇt©\jü_*ˇSĂúMßLC›­e¨r’ä$ …Ľ]–â°Ž)xßü mŐđ/ʦzˇßń:Ľo••ŁTą K”•mµ˛Ú^brYť.ěQ.+{EÖ'ŇĆ|L”kK·f%7ăĹlËŁ*Hn–vź’Ëâű;·˛¤!„rüŘń;ëâ1ÉdćpčŹrŮŽ?ăɨ,żB!„B!ÇĆh4×<K˝V[„»OW¤‘ŮżWű»ýͤ˛Iĺ4 !„BNĚ!„¬“,a ¨“K8+Ë:Ş+”䡪jE&K߲RöŐ…jÉä˛ö$;>Y‚š%{Ąô(‘P"ŞM ś„$2¤xřĄQJJYšW‡ŠN’U*“ŮđW]ľ˛í \+H"S-™ÔŐĘbiůŠ8Î…Ş”F§uyĘŮŘ•Oď˛y‡×軵©[u7ŤĚYRkÉ´˝^RyNź‰n¶î´˝®›¶–§{é´…µĄHR^đj™VůŞ+ţĄíŁlßІ°mÔA‹cä.J]ök‡‰eąśgýf%HĂÄ’%—Ĺéă|‹lŰĂżm™B™ËşŰ^צ÷q-K|‹ jizŤzkĺŔ:®/B!dc ÇPÜ‘fjĺ˘EĘř÷2~ohţ‡c–ąĎ(î«ć]Ĺď AđÍŮX¸mB!„3—®˝Öézj¸žX6ŹžL*{ąrm™Íń’<W#„BČÉ€‚!„uŁbUa"SLҲ2:¨Oš5éĚuĘú8=Ä!Č;)`#+‹YmČ:+‹™—'L%4M�K Ru’žlZËz]©+ępI\ËK$¦dŞ\.ËĘKú,ĘÓ´ik±sĽź,—]N¤-3Yűîj+“Ë\§|fť’Č$%—µĺ6Ű4˛nrYšĽMOËÓČrńĘgB$Ü\LO«[®ť’RŔş `íňU>.oJf›Ţ7ÉV”®´D9']©Ë·ŕZVSZąĚméOLŰ&ć™0Ö•%ťł„˝,Ť¬öIŞLë°lSѬď,E-­ÇB‹bF‰ĐÂď|‚G!„lnl°!/ź]†2Ôńî,sTŹw!yv8©\Ł?o é÷űń»‚cę&9AđË!„B9sI7g7ńTŐHEQEѬÔó®öş¦[1#/ťÉň„B9YP0#„˛~˛4-u˘ĽŁOA“¶Ś`J"ł˛Žu–\–K`™$Ą‚š_­ÔeoĎĂ\LŞ},©8!ĺ¬#ušUźËQ­@”—>t)uŞ-Gi§őEšw‘Ć$IRA0K˘Q>}&—Y˙y+)můDëKfkłoÓĹÚä2‹HĎ–/“Ń\Zwce<ŧe4-Ľí¤˛YÔÝÄ0[7®h'NS2ńĘÚ›Ö·őłD1ĎçÓşŽÜ511¬ëK.K}—ĄĎĄmÉwĺÚä2iÔb©Kß™¶- kíđ’‹y1Á/4&ĄŮ…äľvűä*!„ŤŔ×.}wĐëwš"GőţŞ% 1 Žo‰eÍßëf`cqyYš!Žć{U)ó3óť˛+íŹZ„B!„r,äBđzăëH†Ăˇ–ϬŞBz˝~şąÇ¦±×®6O›{!„Bȉ‚‚!„ 缕šT’¤3—‰T–ňdéMU,E¤±0} ¦u­l”Ë_U*u)IëĹŇ•)-›o*1).%¨•IDł’›­¸&ľşBYžÖ-éÇJ5–±Ý&jµ‘tĆb]ÖV6ŇÉş)g2!ąLR˛—IUíŚóä˛1 ¬“\{¤Sć2KP«%‰Z"+SÔş‰a2&jIjk.‹™Äg2ˇĎ’ę¬j.ŵÉlµ®+ďe2š `._ľXnÓÇţÎK¬şX˘ł-…±ÔV2µHË(ÖÇM_ŚL.óľ]ßyrYĽHTwŇçZɲ(‹ÔVK÷C; 6ŞjĆŘBŮňă¨XfÇQWęseĎI囌QĎŠćŔą4\”ĺ—©~)[g椏ăVśžB!„BČú—ĹđsjjJz˝^”ĚfVét(™Ůë•2^6sĽ$f>/^[$„BČÉ€‚!„uc%°ţ¦"ÉYHxŠÉ^:˝´éMU–0Vd eŃ `Vz±Ń|7™ŞĚĘF&ͧ4µnrYŃI˝Z™\ć’\fÓ&ŚuR˝¬ěaąĘ±ô-ż"ąĚee óň•­ô›.X[\ŃM ł’•m úxr™¶¬ŰŽLFsˇ&V–\ÖÎ7ĄśŐ±„ىhy‚‰tĺ˛NY‘Ą‘e}Ń–Ű”´Ľ­€(™0O 2Vw-!ÎŤÍ{<AÍŇČŇú–L0ËDĹ$š¸–ÉbU”Ѭ_ZáŻh·%×&—uJbćý&­ XÇéŞÔŽnÉRB!äxqE8¦¨ÖÜ|ײc<ŽG¦‹^ч*©+§¦ä»7d¦X–Ůľ—ŮŮ)™i8Š˛ŚŽt{g˝}ŕ !„B!„¬Ź\ł˛Ę†Ă‘ŠfŢE“§ăsöšńruĽ¸éâµJB!„ 3B!ëçÄHb’˘Nâ’Ąi!ŞWfé[")ŞŞr!(žTŹĄXĄ´©L‰ÇJQbŢe.—ů,Íű”¤†ykrŮ ÉM2ÁÇwŇÂzIDs©¤ăŠR—)i­hĺ27^ş˛5q®M.kűŻNe1}'-¬µ\G*óŮŔŻĄoH!)LłvČ É„Şń»ŢüXÉH›¶M.ËÖ‹o%ľ:“ËĐ$Ť™PŐYŹcňUjw˛Ĺşëۉ®iE­ J»ľ;mKmjž qÚŽ,ąĚ›¨(Q,Űő¤ż0ϰťÖíöa©yehËä䲶ßRiUď’H‰móĹg&— !„ő\<¨ş*ű=ТĄ0ëćřÔ—˝{‡ňÁĎŢ$w˝dNöś3'ĺtOʉPˇCYÍ0Çń»ć !„B!„ůÍ;ąh†$łPÁ©d†G>=T s’xF!„r˘ `F!dÝѧڬ}J—*˛˛‘&…ň‹~bIĹ”NeŞTłę¦śĺ%7;Ą+3‰É¦•8?Ž\&—YéĂ:•kě¶;•K9ó©üg›dŐ•Żň”3é´9¸X3Oó^R˘X›\¶rZź’ŮşňÄ.ÉŇÖ‚4–%†‰dÉe1yK˛4˛ÔެŻÝř… é”ĹLÉeÎeâš´Ó¦ő-Qęj岔Ж]Tńy©Ë¸^\¶; ju»k“ ĹĹ–A¶ł^g©huÝůĘ"O.3ń0–ĐL¤‰h.“ŃÚ‹8U&ţŃ®MďCű---µąĘ“ËxBČĆŕ˝}×ÁĎ^ĐĹ‘^V•ͱNBŞYóżÁň@ŢöĹ%ůâÍsň€-óŇźéIŹG<*B!„BČĆ’_˙ś$Ťµ7Ş˘<f!KKË2 ˛*Eçu6OĎ[˘!„Bȉ‚‚!„ Áű¶¤&€őBÂ%†I”‚´SŻLzŠ2U.%A.Ĺ´)ÍÜ(\J"SÉ';ÉTQňI©W“ËbiÂP~QR;,ť*LëĆJ;f¸δărYž0Ä57±„fXÖ:&—u…±%&}›&"iئ+bF7ADK­vmRśőEh$QK2ą,ĚňĺkűŁ•âŠŽ ×¶·Ęű/®™®ÖM ÓíŁ3pŮz1QKśt’ËŞŽČg qE+˘IL[«lŢľ]/1 /owSđÚ„=źµ!&—eRś˝ÚîRrYŘF!»Ů¶ ‰hŁ6ą¬íg!„BN(AÖnŽA6ëĺ#ßĘŐ_É…»J™î… śgJ!„B!„śňs­<qĚ®1öw$š-/4ÉljjŞóű=ĺ2B!„ś (BŮ b)C8*tĺrY+<Ą´)ď2ˇ*Aš\ć­übKĆy§ä˛"ĘhaÖ­ŚVO6´%%—ĺm°˛1ń*O9sc©hąŘäŻ6u­Ş|VŽ2—ç$MßƤ-»$-×M:s˛bŢím–Š_g%&;Ée­<gR—µW“ËĽ él¶|–tŬ/_·Śf'ťÍI&iąN×)QΧ÷6‰.ČbăâZĽŕ’-caéliŢÝD9K#ËĺRÉÍfr™öжWĆ’ËüŠ<í9[­P• őc‰ocIuqóĎŇÖ¬­çŁG!„ś(ŠÂľÔrÍţZţńs¸ŢËÖi'S}ŘB!„B!'IRYţď~ż/ŁQĄ‚d3\óĚÓĎĆob™LB!„ś (BŮ, ©e!ą¬}N%ŞĘg)g–¤Ń-{Ř)‹™Ň©|šŻ¦M•&€Ĺ)$MŐ­PĺbéE-eXd)g"Iň&I+ůhâT*{¸2© h{mľE·&$Ąs{ÚŇM. ÖS.®…6¸$HY’›łµ,),µYÚň‹VĘ3owJ.‹×śë cA÷ňťe1©+/»^źŇÓ:Ée>+qŮ-§ĺc‰É\Dłĺěv"YrY.uI’ţĘ,é,É_şÎE,p­MŔ+’çŁě7ŞZůĐšR¸l}'1/&ŚirYÝYľV.“1-ô·d"!¶ŤrÖ~�L€U~,ą,Š’uÁA}B!'źŽ…ůćPn:T7Ç+/łSÍEB!„B!„l¬&.8NMőeaaÔI1˧c5!„BN6Ě!„¬K.łt±$j‰¤´&ďÚŇŽ+Ë/şN‰Ä*+×hš ce›|µ2m*“|˘ŕcÉ^A*“4y«ĚҦ\+=™–'—işYšo›rćkÉd*źÉs2VÓwD-í'ťŚE’Ŕ|§,¦-ź%–Ö±ŃÖî6ąĚ'Ů.—řbCBŮQßčňu2±Í+¤¸ö5–ž¶2ąL’ –ŇČś$i®öc‰aŇĘe…[™&g©v©˙ é$—ą ë»ÎŇÜ ×M«“¬ )ĺĚgíí”MmęşëĐu¶SnÖ×+¶Ó¸|e�ńşş`j !„LŐż»Ż–/^[IŻßÔúŮ1ŽB!„BȉáXĆěz9RĚz˝aJ1ËĄ2¦•B!äT@ÁŚBČş0ÓëúČËú<‘*–9L2NŠónźQL.««6!+eˇä¦Keł„ł$&ą6™ŞĚÚQű4˙Ľl¤J]ů´Î„§¬übÝ O.&dµB\VúĐgr™t“Î\VćŇ×m*[^¶2ÉhťÄ°6Ť,/u™R˝:âÚxrY;˙”f%#uů$”j´ä2ÉKtJG.ËSÎ’čűĎeĄJS˘\,Ii}÷˙ł÷'P–\gť/úíq†k–Tš<Č–ä’-ŚńEŰ`c ĆľĽ†nşYÝôeőZwÁăÝýčŰ`C7pűVsWws˝ŕńV/łxĐn í롍Ť1¶0,ʞe[˛,Ů–TŞą*+3Ď{żřľ˝ż;NfVeV••ő˙ŮQ'óś81ě©Ř'ö/ţ_jë‰íh¤®v–˛ŮR›Ř–,¦źw•%Ĺ…ô9ŰZv:žRr™‹KVY¬-˘ég’Ëš¤ą0fbŇŮjIk©Üf“˲ä·&ŤĎ5ÇR|Ýfm ���l7zçňO/ÔçFÎŹÝúŠ@q �������ŘVÖÂĚ*×őš9_›ä䲥ĄĄúúb%™^3×ůQ����; 3���›Fĺ-_é5!‹Ú˘¦iƬš\¦Ň“čQIđ±1*¬«)ŁéšD¨,AĘZłRęň“ÉT“ Y&‰hR>JÓ©xۭɤ¸čn‘ĘW4‘�ÖN IdÁdʵ&ĺ2}¤\F*şůFx2&O�kJhjrŘdr™UIĘ4%&őóĐm×öPáÉŘvYL—ŰN.ŁésˇěV“Ňĺü„ČgVĘeésŚíMÔ–ŻňĎp˛dŞĎ—;)—Ér]#‚Ĺ4ĄśŮ•bc•ÉeL+Ť,ă˛ó㎏eMíKRµĹĆfţhßËOV*'Â3��°ťÔ'›á¸˘GOŚh8ru&ÔĹś.­ČÚ©Öv9Ö FíL�������ŘJ.–B¶š,¦Ée*ńµÉt#v¶ Hf����Ř ��Ř<MĹČVéC¶±šRŠDś EQŞÜĘt*ť—ż,«FńË·Ę@yŮH^^™D´,}K–鲉&‰T…ŠIy9EźÉTń.±Â4 Y"ů¦„f“\FIč*´Ü¦`ŤÔŐ’´h"ąĚjŰŃŞe1)ÎƸ¦­Ó6h˘Vž\f3ąĚO”®\!ŚĹył°&ť-O.3YYLRÜX”ŞV)u)Űa›yăr’0V5ígbŐÔ·K%—©\FYŠ'‘Ť]«,fJ.KrEáŹ$i­ŮŽ(—eĄ^5q/%‘EqÍgŰ›HkVČe­2šDMę\ĘThĚKx���Űɱó®é2­Qg%�������Řjrl˝U ÂM°…fZ©á÷óuTTG����ŔNÁ ��Ŕ– ŽSă\J.Óô-Ű$HŐ˙s©übH.ËS¬rQKżx7Éeá=A4j'—µä2ßĚŻŞ‘t$YL%°¬$fL:ctݦµÜz^ élśŠÖ*u™Ą’™8lëRZo–k9É<ťšýôľuÇZ“FÖBÎ&“˨ť\–µ]J9S!ŤÂȲίҖu1ůmőä˛lą“r^üěS;lŕZ¶•ˇ° Ą:ĺMe‹ĹvaŚŹŹ*$®évXm?Ý» YŃĄ™ăçťKq;«TŽŐe’`#—é/KŘÓeÇĎEK•Y)T•ËŇgć&“ËTnk%ńáZ��€m„O3śzj!ž÷âI4ś›t®hxS#M�������¸2čőÂ\0ł¶ť4˝Y ����`ł@0��°i4y«Ilʓˢ„S!Ç´Ębú¬”a–\6!µ„ ŻÉAň)Ë(ĺ%}¶ÜyĄ‚Qˇ%:‰V¤zyÝvŰ”ó4q%©‹hb^ĘĘK¶e±vY“¦•d*M:k‰IÔě_Üź\ŽĘ—źJsćÄYrYNHÉrÉey9Ę•b^ž\&Ű!óŮl:ű\˛Ď˝Ur3ť–eV1Îĺźąi ižbéQ×$†5inMę›n¦€ĺËŐí°Yž$ŕQ“>7®‚¸¦"źŤIuMťoÍ+"Xö™KrYŹi=öň¤µLâKdžoʶ†ň™N–=®.��ŘVř\9¬Ô:—§óoë4dZý ��������ŰÇäuA˝©ŮűPůb­ň—ˇň‚d���€‚��€Í“Ę şU’Ë&¤RÉČ\ćTľŠBR‘ä2jĄ‹ĺIOŤHe›eGqMË)V™f)““â&‡”®ćáCÔ•Hpe¤µNś4ÍJ]©Ľ dpŞBKDI,‹rTÇĄýŁn¦ű§ĺ(}Ü–vrYÜމöĐ4˛”Ň%[ßĚŰ.‹™—,Ť®—1)­Ä®Öher™ľÇšV©Ëôądĺ(Űinąlĺ2™ź·=Čj… ‚E(qjă:RYŃ(Ź5e@Űź,oĚóTI`ËËWćĄM›’”ŤäÖČe4!—éňYţR.´v’cůTCm™0Ł\ú”L”ăvÇ· ćEiÍ!Á ��Ŕ`Bß%3“›cF˙Q�������ŰÉj"Y.Ź]L$[M Ëź›\����Ŕv�Á ��Ŕ¦aafĚ5+·"ąŚĹˇPBĐq(K.k$źvYÇ$í¤ô¨,ĹŠ(&—…ĺŰ(c©Ü3ž(9¨Iaš\¦Ű)Ţd› ęv;Ôď–4Ő/©ß/ęź-őę©Ű ëRqËk‰ĚŠ×E4yŤĂ49yׯ ădĽo1EM÷SĚ2Ó’ĘÚ)g«$—ůĐ~“éi)1¬•\¦"_#Ň‘o—ş4™hć3ůjErY,˙¨Ň[žěĄĄJ}¨ŮŮ,;•ńŚËMÉeT· Ż»¨Ű´¬Ű·në^)mÝ•¶¶Ôáö.‚ ĄĂÝy{ŹąťyŞŰyPOKËăząŁz;ęööăzŮU#6Ćm‹e.U.Ł”l'Ç“Ť2Q<Ž|šż)uŽçöńĐ$áůLÔ㔏QҲ1ť-ěK× –��Ř ´47źňŠ*ŃŹşöDňG��������ŰĹÚÉcmaĚgU)ô±u-r����v�f���¶M´Ré«Čˇ¬¦NĄr”yąÁ¦te#—ůTn°)ˇŮČe)ą,_®oÄ5Ť×y¬JO"±HÄBSXËo–ťzęדf˝BÄ2ž‚`FY2X˛˘đ4dÁläh0R驪ź+ęGCăq!éZU”٢‰a± bh%´¬l$y-9QZ’¨‘ÖZÉe>K/‹ËNÉbmÁ,•ńtÍcś=Ľ'›?$§5)\ÎSKv‹ůláxŰP9#kEYPG>»‚ʂ۷ł˘~ íÝąD{Ź˘Đ7Śí=TőűÇň™ Eý<ËfUHŹs>– )ryÉÍT6Ő4ňˇĘe©|k*Ď>±”\V(Ý™¬´i#@Ržž–¤?Ó$—9×JÁÓc×€���l'*lO]UE˛úg6.—­˙Žyí×™VY𰌨Ę}¬4o’ßâÖĹsvz”>'ËQˇFrk'W‡p6������ŔUHűËŚ^‡ÍĄ4”Ç���ŔNÁ ��Ŕ–Â>MJ.+,ĺ©_ˇT˘k'—eÓ ,:I«Ş&ĘbjIEňÔJ.ÓŇ‘ÖĆm‰ňČNžc±JęÚ7×Ąą™’fg ‘śx™,›…G•bI›UŠ¦Żł ĺę÷ĎČşY(+ëmîÔSŹG ‹]X׏ăz8]«ŞŰÂÉ@h’ż"A. ňśi VŤĚĺ5ĆŤÂŔěÚÉe®•Ž•ä2ŰH`yYG•Ëô-MIÓ&ĺ,/AęśĘhŤčf‚ĹE*–ýX¬*Dŕ›™î¤öćd¸"J‚…Í˨^ş˝;u{óç$0[ŻŁŚëš˘ĺAE *:aDçFőďŁz[FIS錢”WX“Ú\Rt•oݨÇG.éńdÉ,ĄÎĆ’źEhCýě\Jďsń6aż*f���® yÁІ'´Żŕ2“ľ=Ŕ‘LůpZ·ŤČîXc-ĚI9e|4v"¦'ÎG ?@±aŃá–ź{őů´[±?˘RZśÁsżË&i0������ěm&Ó˝&_»»ů»Âä>M&ś!Ĺ ����Ű 3���[„&BŮ,ąŚ’�¦iNKWĆT1kW¦iU±|`ĺG–WL|2ŇN–ľĄ˘’¤XŘúç‚ĘNť:e‡¦¦ş"í›+iN„'ľÖ˝«I*(—»Ţň8zęv*ętĆT–ăú÷q˝˝\>sLĂaKhş0š•ĂLíŰ„brX3T«É:ČVßN.Ł&é,&ˇĄ„±$Ś5’T’©Â‡“E«ű–\&âÚÄü&Ë?qUČ)‹HfMGŇáćg`¶=íM©˝ű˝Ş^~§ţś‡´¸TĐ`diy`©Ś$ÝLd8jRßě„,VĹăNĄ±Éc:—킜ŹQŰN“SqR?ĂTnSç§(ńńë,ą!Z��Ŕăc˙aă1L–á×–¶|&`‡ęŁ\ď$l¬ ş;$ýŁÁ¨Š‰«Eě#h‡1ţ“J\ĎĆ®Yߨ>ß—ő,ť.Q·ŚĄŻ)”Čć>–‹Ćšß2������`ď±VŮČü{ËdXţ¨č÷ľ>¸–´����p­�Á ��Ŕ–ŔéR’\VfÉe*;ń ¦I˘Đ4˛ŞĄ€aŞĆś\Ö8˛lcDXâĺ&!bąF–vަe.ů°őSą’:őhăľů>í—Ô˛‚ú}–Ílś4&le¨ÍÂËë3t`ľ [‹ť;?˘ĄĄ GŁzžzŕłôTpJ––Ƥ,µ#Ica™*‹…4-jÄ$ĆRr™Źĺ-cş±­’“MYÇfás´©Ôfú\´\©–čäÚřˇ¦2žÄźł\VŇětH›™ e0ą-8Ők'Ú{ŞW·÷ľ‚––»tvaL§Ďčř©ĄzđyXoë¸>,ü QQĹ2-ˇÉ“$¬!ŐN÷ÓgidŢO–+Í“űT. ĺ=«”Ü>N.3ńóôH0��°ĂřMťwÖzs#Ą7ĺµ}L! ýN'sÎа>7./Ťh\ŮÔG‘ób&ʧA›VąÎFlłĆęj%ťlĚŇŮ€e3–Ěę~A‡×Y÷łĽMe4C˙Č&Ńl»‡vŰŕ“Źr|Qzßű¬Ü ������\¬VJ˛ąžçŇÍĐúhmop¶ńÚhčĂŰXý@ßą ����×:Ě���l)!hXŁĺC:E,kfŠÂ“I‰qú]×HLL;ąL”’·’”J5š¸žúB€-%±¬ŰéŇěL—íďÓţyţŮRŻł3řúC·k¨KaŹE«˛¨d;ąÔâ’©V9UŁŞ§z˝I˘Ć6ň—É„±Éš!­LE4-?ŞmÝH`M<üęÉe”ŢGÔ|.’*§a˘Č—ĘlňäŚl?úö{%MőCBÜü§–Ůú3Řąöćt´^—Ű»¨·Ł¤˛SĘE"_oßů…‚†Ła˝•lą$±™đłXî2KÍ+R Ň ýĄ˛šš˘Ée6”Ń” QYą×VIŃrelËËN���6Nč5młćóy˘YÓź¨ä5ç ‘Ŕ–‡ŤĆőąQ:.Îűú>ép¬ť,–ĎýŰXë\ sĚýĂ‘‰Ťo|ęDŤSc)ĽÇWŤ$ľťđňźzę)úÄ'>AËËËôţÁ?HT; ·á<@>ř ˝ć5ݎ›nşi]ďűűż˙{úÜç>Gßú­ßJĎţó �����€ÝŽ~ŕ›+řf žBepĂ…Ţl˘óćb?–\ŁÓ©ŻëvâuA�����Ŕ@0��°i$Q+&—IYŔ”\ćÓ(¦-H’&šRą D4®BrY•}ÁçůĘ Ą’OH.óMrY‚d¬NiëqĂN˝üÍL÷čú#=Ú?ߡ©^Q_Ą·:9k˝”ĄˇŮ™B¤łąŮ‚Ξďб“ZZÖŻV’¬!eÉeĆÇR˘Ô”^Ěe;j—Ĺl’ËLş(˛R.sďˇć3Ńk&>|.*Hy—‰nJBŠ@U±,gëe4ÝďĐ‘C=Ú7Çe1Y, źÝ•lo)ÉŮ1ő6tćl—ž:> s úŘÖÇΤÔ·IĘbjÂJˇId6ěłĘe㪹»ŃdiyšÜ§cĆNŇä4ą,”ó’ĎÄ6ĄJ=5e]��€«‡p^\ő• a+ü^Čy‘ŲE.…éů|hC0Y–Rć˘rÎ.ľ\™+ůő ·1µ˝qIh“ţɰ^W}îÔ}ŔNaR «ú›‹q[ÜçúÔ§>EüŕĄOv÷ÝwÓí·ßN;Ť&¶}ä#ˇGy„Ž9˛nÁěCú=ú裒zöÜç>If�����`×ĂßřŹĄĄĄúzó8>Ç˙¶ËfęµS'71Wéůápn>ťšęÓôôtĐň›_�����®5 ��Ř4Z†‘ĺQtśh;¤Ź6ÉNśF$4ţ*/BO–DÖ$d5"U.—ů$íř,ą,Ŕ•ÖT”ęu{4;ݧCű{tř@Wd®Â^ů2„šhÖépŮĚ $ GˇÜĺx’µX˛3\ÎIb´(¤ŠiđF*w(ébMŇΓÚZ÷9Iˇýô=Dš\–%źÍ“Ë´TU¶/\ŢŞň<YIë÷ş´o¶Cöí®öćDłnÝŢSSˇ$*—ââ Bś·<0R6“Ź?ÝA“ŇČb/(¦·UQl̓Ț„˝&ąĚ­H‰‹Űcš’°"KşŘή) ���l[9Ň”Żś,;Ă.©c&ôĂŠ–Ć|N´AşŽ)·ś€Ş‚»‰} +7¬ÜŢ5stťľ)-ňź‡ëĺŚ<ŐJśrÚ ©˛Üß4;D°¸¸H>ř…Ř'K‚Ř•Ěô3űŽď¸WÇ^ô˘Żű˝ßő]ßE÷Ýw˝ôĄwA.�����»ĹX*㉅1˝ąVŻőéĹV˝Wá×ôĆ]ů7^;e9maa,˛÷Łűý>Jd���ŕš‚��€-Ăg˛“–ĆTÉ©_ä‹(íxßN.“xň,ą,%ťĹr›©,¦$—9r™´Łe—¬aąlŠěëÓ Gzt`ľCý^»dán·ifŞ ›®ďIĘÖ©Ó–Î_Ňň€ÓĚ<ńř]Y4Ą›l.Q“>沲&ଙź˛2¤*>ůL3YÂYř`L,W“βä2ŮË©f<PL"—E§ľŔŇĄë±`Vîţöľˇ'eRŹź´ŇćGĺ»z?ęcÔP,őš•Ąć8ŐR—ŤÄg%aŻLmHIŢs®io=ţ™ĚŇ\¨âĺV‚��€-a§î¦÷)mL±éüJÍpŠŘŘÓŇĐŃ`ÜíY^�Ůtb¤dй̥yR:Ůšűe7Ł}+•3uE•!I ­†^Lý®&”šK-wó;vś{ěqşăŽ;ék_ű=ňČŁtňäi:tčŔE޵uVí]łôň—ßC÷ÜsOz>ďC®ś?üŢó­k®cµńµ|p�����€Í ]á{HűĆ}}0Đ… h8Ąmů¦Ř˛,äF NäívËT3/]Ż2_ e©ŚĚř±Şl¸NZ_»[XXuĚĚĚÔËéĘĽş~łíß-Đ·���Ŕî�‚��€Íă,Če•Ëř »;šjĄId,•e)OR8ІÁĆ"–lś”ËDĆQ»Ěp hÖ XtęłTÖ§Cztp‡f§ Ú­p;t:!ÍŚ…&NaçÝŤ GőĹ’q(ďÔI˛źĆAŘ,‘,,ĎLČe”Ň·´ýň4­$Iµ.Ň4ÉeMŇYś?¬’Ćś\V±ĐÇrUI3Ó]Ú?ו2¤łÓ–v+y{s™TN`ăë@QÚ…BŰÚŘ&)ąŚË€ňĹĄXŽ5™$A1?÷ů ‘/¬X«lĘRµmłD´Ľ,,���°űiËe&F­ĘéPËVÖĎŐ§8ŽCyé Ż!­Ŕ\l¦lŽ&QmĹlŹk+ă,-9*¦¸C;ÂßţíßJ?řµŻ} ýÍßü-=ôĐCôŐŻ~•ş{Í÷p~ăß S§Nʀح·ŢJűöÍ·ćáÁ®sçÎÓh4˘n¸N·X\{â‰'¨×ëŃŤ7ŢHssł­Ď‰—Ëb<čĆ‚[YvĺőĹĹ%y~jjŠfggéé§ŹÉrŽ=Z/ű:{ö-//ŐŻÍŐiÓ˛N€=s欼‡×ł°pˇ~Ď7ë·!>|®»î äˇ�����¶ź]˙Ěן5µ,—ľĘ˛”ţ*Ëe|=PĹ´É2~NË_ňÄň'•±tĆÉeËËtĂ. fü|žf†D3����\K@0��°iř;=—¬4ă9’±brYˇlŃHOÎ7˛XĺTH3’Ž%%ł,äyĆ’\Ö”‚´"źqÉŁz°ěĐĚtźJrYźöĎ—ÔëÚ«&ŞŰ1tč@§ŢʰŻçÎJéĆJ˛4ĄMvÇĘGĎŚâ…ť¬ˇTŞ•(ç'Kiš$˘ĹĹ$9J…'M. źg˝ęĘÔR(µůÜL—®;Ü“ä2.Ey5µ÷áI-ăëN|éÂâR(źeš(üTŽ5ŠBLÖăAÓVŇ™«ˇ¤¨¦ş¨–ââń¬w>rr_( K���ŔUC{ü¤ť&ž˛rnă„P–杣 ‡rżŽ7L¦m­ů–pP/sTźę/,W4;UH!Îí âuţÍßüŤČ^,jq©I.‘ů裏ҋ_ü˘zŕjeąÉÇ˙:˝óť óđ€Xčxzĺ+_Io}ë[ivvZĘÂ?~ś~ď÷ţ?ňřëżţëôž÷Ľ‡ţęŻţ*%.ĚÍÍŃţŕÖďű¶t7Á?řAúó?˙sú©źú)zÁ ž'}‘řĂô|€^ńŠWöŢ÷ľWĵ7Ľá ôć7˙�˝ď}累ü>úţď˙~úîďţnŮ·~„ţýż˙÷ôş×˝®^Î č÷˙÷éĚ™3˛.Ŕ{ń‹_L?üĂ˙€ćçç ™����€-GűńÜ˙ĺ˛ô|E#ŹŔřć‰0oŞ*Ţ 3±ŚV sŞ®„łůůůşoíéôéÓr3żźűĘ|żÎ7w�����\K@0��°iXxb Ǹ¦ÄĄŤIZ­”'Ňä˛fň~e)M ĄĂ�ž4ąĚDą,$ft¨ßĺ­>:اýű:43µ{“´VEĄé)Ţ§Ž”žäÝ<sÖ…}ŹSa|”Ë|~1„š %Ť\Fa®$ŤµďôKĄ4ÓśYr™ČT1ą,ŽŐň@&/c\ńŔ¬ˇŇ4;ÝĄűş´o®ĽzŰŰwę‹Ba˙ůřZđ‰c9–CŇXŔb*_*őÓřDrô*ü5éeD”d?“ř(O‡sM RçŰ·���€ÝŽ÷•¤Ç&ůť2ˇźĆç<î3 Ç®>ŻVTQě¤lđ\w))É”ë~żŘ˛(„ťq·‘Ĺ5–ŞDýŇĄŇ8“ev6 /ëľűî“Á§g>ó™tđŕA:|ř]ýőôĹ/~‘^óšWÓˇC‡Zďyę©§čţŕčرcô˛—˝LÄ8áË_ţ2Ý˙ý˛ťoyË[D2Sxů,„}úÓźˇ—ľô%ő�Ř>:qℤ¤˝óťď”Ż×˝î5R›ĚĹ›äsráFí;>ţřăôđĂÓłźýlÚżźHqš‚«ű¤ÝLŢ.}KtĎzÖłd›ypŹĺ¸O~ň“’üđc?öŹWM‰������`˝äýÉüú&÷m9aŚű :ßěŔr‹_|#s#Ž…ď,śĽZżµT3FŃöíŰSŇ–cé̊Ξ=+χuŮÖű�����ö*Ě���lšT‚±r1ąĚHňOZ3J1ŞĘˇ(hśp–’ËĹŇ„!ą,ČeaŢ Hq:•2x57ۧë÷čĐţő:WO’Ö$ĽíGvę6# -,ִٱ źňkś¸•ňŢLSć˛I#k.†¤˛Ź)˝Ś˛÷5Ň“,ŃeŇ“oŢĂKăĺVRJ’D.ó® ţT§ŢNĚ®ňöî†ö¶ĆK{óX©”ÂÁڏ\‹rYaRr™–+urĽ6¶©|&§ĎëOÚ8%—U*®���pŐ‹?Ç_‍XéRlşpá»úCŞg¬˝ńu¬GHb‘;.˙˘9<$eŐC9k~ĎňĐQÇTk$­6€µxĐéŻ˙úŻe°éöŰo—42ć®»^JřŔ§Ç{l…`öµŻ}M„­oýÖWĐ?úG˙PÎxő'Ož˘ßű˝ßŁGy„Nź>ŐĚOúÓ2˙í·?·P+ëA¶ˇ$Ą˝ë]ď˘}čCôśç<‡n»íŮ­÷č�X§2ĽéMß'˘ŘěěŚôoŚąřľĺ+_ˇř {ďý)?ÄŰËÝţáŇßýÝßIęŮű[r������!żDfÁ‹…/•˸Ë×gffD2cřú^Ţ—Ížěçër'żWčóĽ|]6—‡‡ňüůóçSY͵Jp����ě%®®Č���»ĚBĘS.Ř,˛|Ťä˛”r%) ”| •\Ć_Đăü|úržKvhß\ŹčŃţąMO…rśW+!YËJ*§ÍLuh\YZZ&)1Ŷ.µG(^i'J]2.¦e©)<§ź‹ÍÚYću>%k5e1òMLčâä˛ĺˇjlëíëĐţů.ÍĎ–{¦˝÷Ďwčp} ń±d §šYŮg9ö|L‡Ë’ËBhJhßp<aҧ*š&&˘.ýLŞ$ňeiž���\=2)ĚHęlUO®é7ŚťŰśrć%uvűŚjM˝ŘA+kd{ă_W@ĘąÜ!~ËbśDĆP,~ézž÷ĽçÉŕËg“ é˙rc:H?ń?A?ů“?I×_ĂŠŇÚ÷Ţ{o˝Ü;“ÄĆËżçž—ÓwÜ!^>řůrČésĽ˝ü;§¬˝ň•ßNÓÓŤ\Ć\¬Ť®żţ:ző«_-r™ňěg?“n»í6‘ěX‹k!������.—Éľ; ^,—…J NúĎś&Ć}aťßf5ÖęűçĄ1Mşž×N9Î%4ľ„oĆŕ;îórj0?����\ @0��°eđ÷í˛ée6Ęe’ô$id1µi"ąLRÎx~Ó8š\6®qGS·Â ¦%W•rńŕúĂ}şáH—ú˝˝sJă}á}:r°'‰a‰–^ĘMU®)%íaCÉ'·sš&ç&Ę5F‘iňn˝¦\c^SÓäBzŮpT݉_*čȡ]żŰűş®¤ŕuĘN}ś–őÄch«ć8ŤŇ…˛Ąc>Nů3©\:Fó”3mď0lĎĺĘđ÷ÂIE:ţ��€Í°wËAK~’ÎC}†$ă­Ľ0 Ćő9”˛Ś#ëBbŘf±>Lä}68” iĚÔçb_HwËCŮŰÎŹş´\źóĺ.ďI&%ÄĘ"ă`ŇFÚTe­‡z.\X˘ç?˙y1ŮËÉó¤[o˝•ľđ…‡čäÉ“©äżď–[nˇ~ż/©cď{ßűé‰'žAŚϸd%‹f*‘ĺĽüĺ/_±ŤeYĐ ^đه§ž:&ňZ«M¤óĂsżŻ¤g=ó¶ú}üĽ‹“6–[s9ťŤű<>&żrŮ!Ô›źź“×Ďś9ŰI�����ŕňLÓŇz}ŤűĐsss"…M&ťĺżO&ˇMöő}ö]cµ$c}>ôwçĄoÎĄčY.ËËt"Ĺ ����{”Č��°iZ O“ÂŹ7ŐŚ2ěK22v˘´Ł~Iá©•\żô[Ńž¨r…$bLő»´o¶'eçfŠ=•U–Föi8,ifşC‘ŁÁp$í3ÝgŮ)/uB}Čçh,™"+qäcBśĎ’Ëš'ľ'$śqÉČĄA(ŹÉMf§KIWŰ«í=th~¶KKËUÝŢ•cEÁw<R#‹ĹrŁáx e1)~­ä˛(čé1&Ži" •©Â߉+.Ż|���°ůŔÉNÂ}>ŞĺÉO\~…Ě5Ś=yÖŃÉ NDď˘Ţ×3†n/hşWlhY|Ş–´µŇRY÷Uąź©iĽ›áÜąsôČ#_•~—Ďy˙ű?×gęőŤd0Śű˙ř}ôć7˙@ú¬X0{Ë[Ţ"Ďżç=ďˇ~đtôčQŇ8Ť§ŮŮůë›››]u;8‘ŚŤFő4®Âz´Ő„rŕh�����`[Éĺ-îOsWSĘX0cŃk'żńMĎÓÓÓ’^Ćđ <ń¶\©ďc�����;3���›ĆÄ„'Iy˛Q.‹2ŽH5¦‘pHұ¨•¦ĄŇLjr™Źa * ńr«Ş Á° ~ŻC‡öč†#=šę­ĺěxź¦ú]w¸K·q┫/žđ]rD˝Ř~6%läwŮéűĂŁÍîČÓňŁ’EĄ§¨Ł…÷µÚr8ötî<'ztč`WŇËx›öl{OYşľ>¦ę–ˇ'ޱdĆŻ\ÝÖM\ľŹĄ.CźŹr%5Éey©W-‰Yą(LęşHŽgrĎÓR���€­`§5x}ś´:vZf&ĹśmŃ }ă´ŁżúĘ€ž8ëčü2ŻËH$ű\ßĐŤ ş÷Ž.ÝZ?Ž«Fżř2˝¤‹rRkŮłrţߊ÷§ź~šľńŤoHJŘ< ÓjÜ˙ßŃk^ó]4;;+mĆbŻ|ĺ·I*Ř7ľńMzä‘GčᇦŹ}ěcôw÷wt×]wŃ›Ţô&IKČYëcÎÓѶK�ł¶h•�����`«™ěgjiL†KVŞÔµÓđzYtÓ45–Íx{ň$5����€˝3���›&3&¦hrYpBÂS˘ČDą,&=Q–J5Ć2šU,‹IyYGţrÎ~u;:°Ż[O%u»fWÉ9ĽÝś†±<¨h8¬ägŢţn×ÖSA˝zbéRđ>ńľqBŰpäčô™‘,s<ö’,VÍúň¤<†=O‰kć%IŃŇš>Ą‹¨ědäµQ˝žáËcę×Űľ®nóůş˝;{·˝{K÷s{WtŞno~¬‡žëv őCŤĎŰ-×*”YۤńévÍĹăY“ËL,EĄ%a=ÂË���l ;-ýŚ+.­]ź;5Z•<mvýˇ?ůŘÉ1ýń'tv©JݏôsËDgžôôřéŠţç{ű4ß+CšĽjÉ­q˘őľ’TÜáĐÉ › gmĘc~‰Îź_ 7żůEË_gx�ę?ü‡˙@§Oź–y_ö˛»ĺů jYşá†Ł’\ĆB—–|챯ÓďüÎďĐ}÷ÝG/~ń‹é…/|ak˝,´=zĂŠí9věX*áĂÓvĐľade!������6Kţ˝†ĺ2îs3\mKcęë;-vńzyý\"“'ľ¸´´$Éf�����{•Íßž ��ŕšG2*x€)žUXš©b™¤dĹďö<pהРυ”'—’Ëś–Ô˛›/×Ę Ąó–ş.YŇülý8䡦lán|}1aLO>yľňđúěçOŇçżp’ľöŘy:yr™jÝËâ}ă}śź)iş_RayÔĐň ”Ż ©o^’ßT|Ň´ŽPŞŃ¶JY¦D-N•›ř›rĄ\ŢŠhiŮËz8ikzŞ¤Ů™k¤˝§ëöžíH9Đ^· v–F#ń‘SN‚ŕČ(–Ąä2ÚŹŰVdI™ąŚ˙>řŘ/K»"ÁoÓăď���Ŕ*l§ě“Ţđ Ď;ɤsÚV%g}íÔŢő©ťYrkÎSjö÷hiśÂf¸‹o?÷{<—gY­ă.n‡ř”¤Ś±8¶oß|šxđißľ9:rä0˝ôĄ/­űtCĚĆq{żôĄ/ѧ>ő©Tf'ô3 zÖłžIŻxĹ+d{ąüć$śpĆZÚźa—čÓźţ´”îá›eą±ňˇëÉ �����`»Ńď,p±`¦LMMĄďW"Q×ĨůfŽüfŕô—���°×€`��`ód%ţ$µIJş,‰,ĘbÖF'ĚË_±µT#Ë8Ť\Ĺť(íđ€ßhRĚD.›ëH©ĆNǦ$¨+ oůhäčÜůť8ąLO[¤'žĽPO ňřäSčä©e «u/“÷­[ď#ďëÜl)ŹÜ,qÂX.—%IIËgÚvŮEçă$"ĄHىrYYS–¨—ĽUý^\÷”ÝűímC{OłÔWc3Sťş=ę6io)u9qś™ČÇ-Łm\i Ňř`5ĺĎ6©|<”Ý.U ���l=[-™ĺi© ˘hż/Esnćäe©/ÓůäN-:)i)U×W™B…OOž­ä=Š»hNhĘř<>U„{Ú_ůĘĂ’(Će.gggVĽÎűÄý€{îąGÚđńÇŻç?.ëţĚg>CďxÇ;č}ď{-,\}ŕú O<ńd˝ÜŻH žýű÷­Xćg?űYúŘÇ>.i Ě©S§čż˙÷Ň׾ö5:pŕ�˝čE/"Ú¦ĽT-ŃÎčŔŃ�����ŔV˘ýËÁ` ’™–—ה޼?şS}Qíó:ą,&oŹÜŘ[/ĘłťŢ.����€í%2��lü]™ś$/Ĺô,ĹI#‹e“‚\ćhÓË‚łJh×)m¬,I$ź˘gi˙|GĘr ÄÝôŐś/,.ŤEp:öô"ť8±\i4vő�ˇ«ű–Ą\ăŃf6ĽÝĽŻę}Ť+zęř¨n OÓ}GťŇ†PăSŠśĘy†ňä˛Fäó)Ţ"ĚabyLMc1jX/˙Â’ ýđÁŽ”édńęZiĘěJ‰Ě K\*3±… ĂÔ¶h’ËôgmC)‰GĹă!$ľÂ†al~Éů$WrIO>ţqˇ ��ŔV°“*ˇŻf¤7pő€Ši—}^Ź>m˝igŚ™đžĘŹéá§+z˙çFt~±’r˛Ě5<)~ťű-ă±ĄŻť zŃMˇO9˘µďŞł& yăhä Ťë…wÍĺĄi»đ”~Áí·?§hę¶–eRz/ŃŃŁ×Ósžólzě±Çč›ßü:Ýxă ôíßţíôĺ/EÉľřĹ/Ňu×]'ŇŘÉ“'%ąěe/{=ó™Ďl  qÂŮ÷|Ď÷ĐźýŮźŃG?úQY'§—qůMŢŽ˙ń|+]ý‘ú=Ú×pq›˛V7.šzŽ6ĘZ‡›$şú޵ôu�����Ŕĺ ýHN�fr©K×ů®Dąv.ŐÉŰ2Ťäş ‹p,żńĎ*žítůN����€í f���6ŤŹÉUL.«ÜĘä2l˛’€.&Aĺé[&Ąo…‰źŕ›ľĆcŽA7Tś¦Ő‘D­˛Ü%IZ>$iť—$­%:vl‘Ž_˘s燴<¨¤ś˘DU»\âFŕ}ĺ’ \¦ŇK|=e0ôőŁ“ĺ«É$˝ÉeĽ>ďŞkÖm𶆙Ŕźá°Ţ—A˝ÜŃĐËşćęu^kíÝáöž+ĄTfY·ÎŮząá d“D¦‰n.¶ł$—UZ®ÔK;‡äľt’Ë(”*­B*Z^F���¸ŞBµŢ(°QV“ËcçĆôŢĎčÔKJë<Iú ‡ ÇëŰźţŃT]J)Ą…Ďď,u=ńÄ7éϸUĘRę€×Zóß{ď˝RÖçë_˙ş¤ÜtÓMôă?ţăô’—ĽDĘd>ňČ#ôä“OĘrŢô¦7Ń?ü‡˙pE*÷3ľýŰżŤ~č‡~H–yâÄI‘Ňn»í6úéźţżÓK_ú™Oű ÓÓÓtŕŔ~ętš{ {˝ľ<Ç۲üüľ}űdOá÷ósSSýUßĂóňëśşćÜĆĹ5������räúfěWrżöb}íťDĺ1–Ěôş·¦¬����ěE`��`Ó„˛Šő—|ëbb“IĄYĐ‘¤'™âŕ @ăLÄŃ×m6$X‰đÄË&‘ťşÝBJdr Ăš]!ĺH’Öâ¸� IZÇO,Ńů…QhŹHYÚz@°[O*J»áíć}ĺ}ć}çÔ˛ĄúýËËś¨Eőó”Úדݩ¤%çő"LĽă/ůRFG|MKcr N_Ňr’×5ŮŢEÓŢÝN!Çž÷áNCřlŃ´9irY’řd+S _QIJ˘śĐ­ůłä˛±kRĺ���€«„ÉT€<őňĘ dˇ_ř艊Ţóąť^ôë^bčâ„ţd· e¬Ă&]ü’¶Â¶Ëyú2oÁăep9Ę_űµ_KĄ"/5˙Ýwß-S>ďŃŁ7Đ?˙ç?N.\ÉŚÎ8(ý ťŤű í}(¤äćË_ţr:qâDÝëĐüüĽô‡4ĹAßřĆ7Ę”óÚ׾F¦¸e+¶ő-oyK=˝5®+lűťwŢA˙Ű˙ök´<Ŕö†7ĽA&������¶ľ!cR0»ieJ^ö’VÁLE¸Ľ����°—€`��`Ó„ŇŠŽŚó1Ő©ťDŇČHƬ$é©U®‘Ň@\^®1$<Ĺô2oĄDăTż ~/ü|ĄQ©niiL'O.ŃS\¦ńřťż0˘á°’y´ŚâěL‡ś˘űű",mn›nÇPżkëý/袕¤±rčëßMÖ~MaL-yétĚ—ô˘µ>ăçŔź——\^v4I‹×Őë^»íÝ«Źµ~}̱ŘXŤ‹ĘgśČvÚÖM»$˛YK)ĺLçŐđngţ[ “Űép���Ŕĺâ/W0“·„› x=5¦÷~Dg±ĽM3¶¸ËytßĆĺrYËf%9˘ur]jľ™™™.F*SŞ7wÔŰÎe5›E_ąÁ¬+9Ř�����öáşšKâËe»)Á,ĚÝV~����`Ż��€-A…&)!ČÉeĄ•ô2‘Ëâ ,âhMřKIOšĺ3.ČÉeă*”śž.ifşh•jĽ’7Ą$­§B’Ö‰AvĘ“´Xvš™éĐÁStăŤ3třĐőzĹeo7ď;·ÁâRAË.‘%›—ĹŚĄŞôóhÖĄe1ŁÄGYiSJ;r‚Ů`@R’e>´whoN2[X¨bě=IŠ™$ťpó±L!5EŽŕ,ą,¤śŮ8ĽKwfÉe˛”80 ���\Mč@Šţ|ąçZo| óôčÉ1˝÷s:łĚŃŞu߯KtÇő†>ó ß’ĺׂű’˝ş˙ůśë ZŻ*–§{±,^/….‡ťŞš¶oo�����°§PÁ,O Ű ‚Yľ]śâ« D&����ö2Ě���l>•^ąĆ6rY™BŮŁĘŃL“Ë´¬#ĎĘăz.Ą—9ťX€ę”M÷c©ĆâĘŽśµ’´N-ѱcŤě´2I«K‡őéş#Ótŕ@_ä§Í @JéFIq+dýŁqžP6ÎĹÇöu “%—鼚ľeľş˝yyŁ‘’u\ëí]ĆR™|ě…öćő…(>Ó÷dP=űdc©ŇxěŰ`ó…äľ,ąLĺ2ąöäëmk‘ô��ŕŞDN.w�%TOwôôYGň©!ť]vdęeÍö-}÷óKşëć‚n;TŃűż0 ĺËÝnőí >o˝öÎ’ŽĚXr—•`¶µ‚Öv*qÂŃŁG©×ëŃ•!vćéʧÜ����€k&Á×ěşëh« f* áš����öĚ���l *‹qjYH. ĎËđ“ Nžp‘Ëe:#ëQ’¤Ó´‚`ѸT!§jqÉÁ+ž¤µ4¦'ź\ §ź^¤ă'—haŤ$-–ťnąyž׏ÓSť,é. Ţ÷©(ńčXJ˛ÇnSݶÖÄÁL-ĽJ“Şřgš0ą4ą,˝L¦*l?ŻíÚ›'+íŽGňŚŃܲ8mBY.–+KĚš?�—„I?‘\ÄJr‰#���®4ő+ťťţ|%&]E_96¦wvHç9ą¬~ű\ĎŇë_ŘŁ-ä÷—ÜjiTź?öđN-8écú¸n•¸f»Dw=kŠ^q{I~ÄË)ëÍŞ¨4l丟dÂ&šoćŁ.›ĄűͲ5G«oGľy‡¤üŹT¬6_ ÓŻ{ž<·˝mW°ł�����® ňľvž¨|ĄČE7ýy­~1úË����Ř+@0��°iZÉe…i’Ë(“Ë2éIľtÇRŤ:@ʼnA.S'”oäďß\f°×-dJ%7Ż�ŁQ–¤Ë4.\$IëúëfDvš›ënÉE^>—|䉗ĘÖÓČ‹¬GÚÎFK5¶E>ţ]%?I/s>=ЬVQLŚ3hď¸üľ¶á4d> 2ó2@-m\„c”Sű Ž]» XOČeҦq ž?gQŇ ��ŔÖp±AŤ­" ćÄőĹUyşś™§'NŹéĂ éô˘Ł"ĘeozQ—î<.U°>ŧϗÜR’­Ď·|pL‹5¦}žN}ţ˝ëY}şçö©ú™qŞ–«_¨ /ł ©g&&”ŮPŽ=EŚĆ-÷±Ź´îÚšWţś»Ý]YĐy�����ŰO.“í6QK·+Üř‘ ����{f���6ŤŃä˛Ň®”Ë´„ m"Ěmü™ň­Ş™śČ8<@Ę)PF’*ş[¤Ů+&<ń~°ěôäS AvZg’ÖÔt§]šrđľw¸:!!ŽŻ] GőP* fÖsXĹвh—Qjkcňä˛ ;‰`F± eLCă1Wiď.K}hďN·ioźć6â—Ű[&‘řlH.ăäľúgŐË‚¸ç$˝LSQtŰě.˝0��ŕęg'$łö ă:7(qßăóOTôÔY'ĺ-§;†ľ÷=şýúöe 9ßÖŹwÝRŇâR—>ô塔­ÖRÓßúě˝áů|ţP5ć§ )»Éi˘ăúä퍓ółd‹Ć¤2^fk|»¬ ������`w˛ŻĄ…zĂTE+Ů ����`/Á ��Ŕ¦áŻĘ6%7…AM–q´,¦H5Ô$ť©ôä]S˘±Š’™O"AŮ4Pi˘XŐam‡ż‹|5Ţ\’ÖVm2/‡ÓĹx’ä+Ç)_ž†#GÝ2l Ťféešd&űBA KrY–:äľîaŚ´5Ú;¶w§‰ą2d,Że›„¸–ČGářw*ň%ąŚRş™‰Ć_Ą?Ú}×Ć���\Ĺlżd&vWXĹsďW·0đôđ‰±śŮĺm%=˙ĆBÉŞ4—O8Ź/8zčé±ôąTu·(ë÷LŃwÝŃ ‰ußŃ٢ž·’­ăô˛1g™eâËfú»ńíMÖÄWŹ“2������» ľDżă„ësND®+ŤnSU_,Ôď_Ľ­<á¦R����ěE ��Ř<™Ääby!ům|&9™PB°BNÍgée.ň—ďP3PKhÚ$VٔĵSđ~,.Ťé© $i:ا©©NßN[‚Š_elnëá%łúç~¬é”Ęb†$˛<BŢ;żB.3±DT%%2ĂE~_Y·w‰öNí­cÓ|J…Ë"óeŇËR"ů”Ęç|&—ĄżX‘«Đ†˛��l=;’d&ť<ßśß6ŔpěéÄů żsµÇ»oíR™’@}šřĽűôyGďűÜľ~:”Tď•}Çs§čU·őD6sŇw´!ąL’BKňU8g§ňŇqµl¸ú?ES9������°kPi‹Ż«ĐuĄ3•Ýř»Đx<N?ç2Ě����°×€`��`KĐR‹ZSżDE#—IzYÇ’\ć‚X¦Ň“&B9ŇA}ż‰ĺwć‹ůĺ$i]wdFd'MŇÚjx‰E\§‰’Kaˇ´ĄoËeIĐÓýńIh ŞyŇ×D‚ˇ˝™ÔŢ)™/NŽŃđZ»Śh*;ĘâXžěb)%—‰€&i}Sűîj��°-l‡dÖ ”ÄţQöű–SO#ŢĂ©ełÝpŽ•§L#–/ŽţäSz⬣QĹ*™ĄWŢÖŻ§NÝ/đâŽ9¶É¨d’st!𤕙păBH&s©W㲂ž>núN§¶������.M¸ÄŠPĆ"_GăÇn·K»Ţ>ŢE3fGnú����ŘA ��Ř4*–‰(&ß™›ä2q ťl†đMYĚ<QKKň`ĺxl˛ˇ?j•>܉ďĺy’ÖÓKŇšîätóMó"=mG’VCÓ¦š,&’’S1Śbr™I^X¸›.Ěç\ZŚŞ{!xDK:j˛™A{šöNíI&Š“E'mŁŕą—ňČL“\f'“ä|+Ç•‹Éq���l ;q׼µő˛ÚbVźÖi¦chiTČÔď}⌧÷ń+M?çܲ§˙ď'–čÄ'ýťnáčĺϦWßŃ“÷łDƆXa:Äů"m×çU#ÉŁ^Ę`’ kľŞźŹ)Îy<&”j ������°űĐd0&/Ią[Âx{”<Á ����`ŻÁ ��Ŕ扉L’Ć”%—YR°4 K2.´,`=JĘbúAbë„/ŕQnŇAAf‡®đęĆ#GKËY’ÖÉ%ş°V’ÖÁ>]w]LŇšín˙…ŤĆuj‰c†šR¤4!\ů¬TcXD3O*mŞšşQhďŔŠ·đ\[ŰTŇ’‹F®ig~MŠ|ij_,V©\–Ž×*Y ���l†ťÄČÓËĽÜTŕiŞdIĚFéÝEQýâ*ýގö[zä¸ůú/ż<¤×=ĎÓˇ[÷‰?ĺč/ľ4¤ •¬oşKômĎěĐ·Ý>CÝbTź?M,}αŁŘ‘9Ü7飲ͲąE<ßz9GW6ô‰l˝śNá©,\š+Y^^–óýôôôşç_XX ~żźѸ-{˝ŢŠÁŞÁ`@çÎťŁýű÷S§Ó‘çNś8!?ĎĎĎËü<ŘućĚy<rä�����p5ˇý_N,[\\”›>GŁ‘ô±ůçüÚ ?·“ŇŻk8J‚™®—űí $3����ě5 ��Ř4,ĚpŹ*®L.ła0,/‹Ée«¦\c?¦›Q(Źéł)g»ż–K’Ör;IëÂĹ’´nž§őăÔtLŇ2Ű·Ť~â‘ mhRR™Â|>ĄË5âX¤¨=Oe5‘umWC{··—˙ Gsš'Ëx[ţH˙lSSD?ŠÇ?’Ë���\ťLŠcŤLĆý@˘Ö7 3Ý3tÇ %=~zDĂ‘§/==˘‹ÍôB_ňÄ‚§…ĺPpş[úÖg±\6Msť1ą±—x; Ź|ł‚łˇcô2[÷)]”ŕäĚLÎ8˛> gúPÜít Rin+{Ź>ú¨L,|˝ęUŻşä`}îsźI¬,ËViÔn˝őVşé¦›ŇsŹ<ň}ýë_§;3žńŚgČóź˙üçéŔôÂľPúŕ<řöĄ/}Id´WżúŐä�����W%,q˙VR‹ë>-‹]SSS©»Ó‰fú˝űŮ,ń¶q>—ŢtžÝ”¶����° ��Ř´Ô%Ë@š\¦“|™®ç‘Ň€.¦6y-‹™•!ôY™CoZňŤŹŻm×wq^6KMKKc:uz©%;M&iÍÄ$­#GfDvš›ë&Ůi»Ńvжry»´JZúF0#ŠÉgQ,“±SӔϔTąfYůzĐŢyéÍFËŁĆ'Ç4E‰/†¨XC­żIxńMYĚĘMȕ֮1��¸šáóri Ą4Ś•`1í{¬•"Ŕ§Č»o)é«OWôĐS•ČîOźŻĎŞç›>"?WZ˘—ŢŇĄ×ÜŃ‘’Ł‘%c;’&ęFŽÄ [păĂ ľîošŞţ©Ě2gĆőűĂŤ asbęhÝ×č•&ĽĎmM߇SČ>ůÉOŇ“O>)żóŔ×zŕľ'’---Ń 7Ü hś<váÂzę©§č‰'ž —Ľä%tŰm·I»ÎÎÎĘ#§ť)<ĐĆ\:đĆď×çřgME�����ŕjAojá›.8íWnX]\”~°J\ÜĎÝÉ›)äZźsŇwgřgî÷ł`6ąí�����{f���¶,d)¨,lLo˘XSE¦ö”’ËLJ|˘îJ6Ë Ą Ă2¶Oxň";=ůÔ?ľŽ$­›ćéС~}á “.l÷5 $T9)=™UĺvŠ™o<¨*dwĚ©`¦ó7íÚOA†B{ë6r{W+JX˛\ćâ…$“QhEr™¦—9•řbY.Ť©ç<݇`��ŕ*GJ8vJWă(pqb\ź//.3uJCo˝»GńĐ91¦łKžăĐč×W+¸\ć‹nîĐ=Ď,©0,‰yąŠá}e°ú<+•2}“ĎęMčńy–BYL':¸–kç¤3>±Ňoĺt4cCŮĚ­¨yęÔ)zŕ$9Ś“Ĺxŕëřńăë~?K`ś|pĎ=÷¤˛—ü/÷Sźú}öłźĄĂ‡Óľ}ű$ŃŚ§ÉT b����€˝÷wY0ÓÄ0î#łlĆ7]čë; ßÂHe‰˘ňyj����Ŕ^‚��€-"&6±XŁéeŃfâA>żXűVrY(Kdâ|U,!¨˛“÷*5e59­˘ŘÂAł”¤µ<®î–čéă‹trťIZłłÝŔcáKŰ!Ĺżë?ľ)ר‰eCľ´­Ť‰%ˇbŮLMŐjÚ›b› ˝mďŞj_Jid•KÉerĽÇmç$”Vr_lă*¦÷Ĺ·Äż‘zž(˘���W3ťŇĘ átĘf® ]–şOŻ˙–;WŇńóž–FˇÜĺlĎŇŤű šźő‹8‹ĚňBťö¬$šI–¨ô7Cşh(»nšŠ—†Rv 8“í©ä|Ě}VĚä<nŚŘě8Đůóçë>Ě =ç9Ď‘R•\ňr#ä‰Ú˙ŕ4–ĘnąĺzđÁéرc´˙~:{ö,ť>}şî+‘Á6������ö*yŠ÷ąąŻĚÉÁ|s‹]ĚN¦qrËnş]óóóiýą`†k~����ŘK@0��°%)ȶ’ËĽŠL¤T–\K•Čb9Ç1—¬x¶|pŤh4öőädĐÍná÷rMŇzęŘBKvZ+Ië&NŇ:¸łIZ KMŁ‘“msnb?âëş1<«ép*;…ÁŐ ±lE:W·ĺöŁ˝Ą˝ů¸s‰zăq8˘ŤiŇ˸ťĺř·\ş+n+KjŽe=—’Đd~ţˇđłłf'Ş}���Ű §€u:% ]·‚Ďú#ä gÁŁóťz ĎčűąŢű•†Kß„|–uŚY łÍsD±ú9)ŐKţu¤ć™—›#¸ß~ŰŞŇŕ7Ţx#=zTŇÇňT±őÂďáDM>hú?^Ňř‘˛ř‘Eł/ůËt×]wA0�����{íłLĆr'óŤś*™i˙{'ŕus{FKcň6@&���Ŕ^‚��€MbŔŤ¤@hzŁĺC˘–™HÓĘĘą,á‰Eo(+)Ż Yô©§nG"µh+ŕĺ-o0IëĐHŇRX*cńk8ŽeF‰’¤¨*đq8G(AÚ´y™ÍÄ?ß–ËŇ,.UÜć´w˝Ý±m#šHĆ“-ÂŔ·ŐÔľz¤ZŹ˙4_դĩ\ibů0Šĺ5a��Ř ĚĹd®Ô'Č’P/s�†Q‚\­édAĽîuę×ęÓúpÄýş"ś ­_ó4g×xEOű*l‡ÔŰ †9Żý_¬ČÚçęf9UýJ!spz™ŤĄ2ç:Câ2ž^:NMżhµ~ÇzŰJËZnä=“¬–ĽŔżź9s&Ą6čë,éű_+ďŽ������W?Ü˙uńN[ýÂ7^pš/Ă7gp©LMËoĐĐ÷äËR&«Lľ®Ďç}óPőˇ’5~äůą˙Ď ĆúÝÉe����ŘËŕŞ#¸&řřG?J˙·7}źL÷˙ő_�`káďËš^fbĘDJmšk Iy "š~Ď–¤†*$sU.Ü Ź| a8 “s[s'ZQIZßxâüş’´ŽŢ0“’´®Ä5í¸†Y‚™id>—•Ç4Yz™ŤrźĘ|’ZćÚI`šr–EŇÖhoźw“ŻúŘÎá.˛ä>y5 “:iYXľŘTĆżÍ���€­d»24U«˝ž ¶qźKeň9]kBŰMśë&ËËL>ix»â “ŃZŕő˙+׾é!Űź\Ň[ký;‹Ąµ9Sžxâ úć7ż)‰ ×_=¬�����Ŕ5Ădß—+.đM*źqÂďąsç’ôµÖűÖęßçbÚä{saŚűć,¶±Ô¦ďăíĐ2÷Wâ{��€+;ę°‹�Ŕµ�ĚŔžç#úsú·o{Uăó[˙îWéŹţŻ÷�`ëHIY6”BŞś~ˇöIv˛Q®±Ěš”˘ĹI\,•%Ť(&ťů”DÁ݆U}± "7łąSW(očhi#IZ‡gčŕ&IëJŤçqű,s;Ô“s>K( Żsk±9n&JcĘkŮ—]HŃD-—ĺ Ú[Ií]·CĺšBŻÇ’\fCYĚ<ąŹň2¤Z“LzÔů*™gçĘ~��¸6¸h’٦ѲŤ¦]V’hëţßHĐ)M}î¬ű•ˇ+v"Ź(ż…~’‘úŐťŽ eŔWHZ‹Ë)wyąđ€Őý÷ßźÖËeśĘŔëżűî»%!!$Ą:�����`Żł–`Ć,..¦38YŚźďv»­k˘yůůŐRĚVűî¤×Qů;÷Çů¦.Í©ĺěůůąą9Y×j Ä���ö>żů«˙ŽŽ{Z~ţ7˙ęçč_żýíôę׾Ž�ŘË@0{šIą �°˝đ÷ẖTâRĺ%)ˇYŃŚ˛ä˛JRÎ\řKŽNEźĺŠ–ę‰E´Í|_çő,-…$­ă,;ťşD’ÖŤót°~Ô$-ÝĎ+Á¸ í°ŰáôukłöŠ˘Sx.Ťř¶Ĺ˛¬Ľ¦AŠbiÓúBKł%´·´÷ŇRÓL8&ąŻ•\ćĄRW”ËiSM”#j’äâßJsü���°Ąlźd¦·¬\źxŘ–ËDň3%-śČÔ 1óő¸.¶ S •ÂE~›ž*ęßC_$pj-ň žśµ¦”đ¤ŚpóÍ7ÓłźýlÄbx«)Q �����ŔŢ$żŃ#OËKÇ«dĆIf<MMMIż™E4íëëÍ«Ýdr±˛–ü>M-ÓmáeđM*˛éňŃ?�€kvŘI` ™˝ 3°gYM.+Ę‚~ňg†��[Li¤Lc6gcĚÂhÂS(’Ä*™Î›—vÔD(ňV’´\4rXôYŚÂÓxěŰi€Ą&.Óxúô˛ČN'b’ÖhÔ$iqé™™ŽHN’¤u°IŇş’„$°ş–*i‹JĚlSŢRÓľThjŢŰ:J|ˇ­c2,Ă“-²ř÷*«ĐŢM{ÇWRꛓ¶)‹é˛”8źŐyµyr™~ń¸ÁĚ9Üĺ��`[ŘÉ,$—qżAióuyď+dRÇĘąnŔĄ¦7\&ÓµÖ×~Ě^ÉdzZs7}JÓ-ë>ĎTżţ¦ËîAşXrÁ• ÓéĐë_˙ú$1“ jZ†�����€˝ĚZ×µ̢_źcÉLÓĹ8mŚfŃŚűÖÜwći2ĹĚ·Ş<–,Ć'–±°Ć7w(ÜGg±Ť—­%:ůQ—��ŕÚá§~ćg%ąL]HfŕZ�‚Ř“üĺ‡>ĽR.+,ýÜŰ~‘^uď˝�ŘZř»3‹2fěŇŘ^’Ë$áɤßeüŹĹšúË÷¸~Ź$=ńŔąĚpY%%•BB O‹‹]¨§Ńřňµ8ůëé§ĄLă©SË";ńv+*;:4E7Ţ8'eűý+ź¤ÖíExşŔÂÓRHÔRÁ¬rMĺ.› /ÎĹ$-Ĺ'-keL¦µ1Ĺ,|Fˇ\)ŻíłĄ,ÁŚB2K)Çuhs&Če1Á/%ś5eJµµ},ËÇ> xˇ4,���ŰĆÖKŰůy:ł‚ą®k+¬§niĄtú°ÚTjł^3ůRs~^űýá}¶¨¤źÁýM>k»L¶Ďö–]?ů6äžé Jd����€kÉ„1íës,|±řuá‡ň< f\fžźç‰0}Ôd3}ż¦“ńrůg.·ÉŹąXĆóqb m,­MŢh��ŕÚť_řĺ_ˇ_ţ…źoKfżđ 4Ťéuox°×€`ö,—ýĘŰ~~Ą\ö‹˙†^űú×�`ëaiIµd«‘É‚¸dZŃăRĐů(ÖÄt,ţźŐňüĄ<”ŐLÉPś~1 ‰Z\ji8rRŢČÚŤ ëeś>łL§¤LăpŐ$-–ťŽž¦¦hv¶C®é´ đţłčµ<¨dâýŕ jÁ’SYh‰ËĐny RĹ'-Yjâŕlž˘ %%LmýŞŘŢĽ®AÝŢŁş˝Ëk´˝—˛ö%H}()Z„2¤Ľ˝ÎgmťËe‚YžÚWEÉR…4���`+Ř™Ťv î\ çSŁ–·äű:%‹]ő@NÝ—XqąĚć)çJyŹIé¶k®ë‚\#·Q\vřÝÇ(\cő:–şť‚z­Ć}V>/gď_Ź„w9˘ž|­÷˝«Í›')č2ó×ÂçŕHűÝn§îż-É`€ń ÷Ĺ9Ĺ�����€«ŤŐnĽX­­}_î÷rš÷‡Ă ¤A 75ۦŞMŢ ë[7vđŐEyąśX¦©e“ß!®t%���WŽ{_óylIf•Ł_ű/ÉĎĚŔ^‚ŘS@.ŕĘĘcrŞ– _ŞY ’”§(=Éđ—Ź%«(ÖČwö —Ůřĺ^]y´ÜcsHIJ ‹cš™.ifŞ Ngc_Ţ91ŠS´XvŻ•¤utŽ˘~ż¤vBÇ•C“´8Ql8tAć‹"‹v<1ąlµ÷ŕ0™”ľĄ #ˇ^¦¦ÇY-|±˝ëu]XŞŰ{‰Łßëö6×V{/p{Źšö–´¸¬ťôžL.“2\ÖĘůÇĆ_Kń±/É}Už ‡‹P���®BwŔgżëů;Üh ňVýłŰSAަ:ő@N}N\\‹ŘĹ;˘Ĺů_&lË wÝŰŢ«[{l*cÝď–Ňgěč" ­p»W´ş\žxâ zđÁc"o%© ĽĚ}čCižoű¶oŁŮŮŮUßźß±ÚŔUSŠ´)ß­ó27Üp=}ń‹_¤żţ뿦;î¸nşé&Úż??~ś>řÁŇ _řBşůć› �����€˝÷Ąµ|%‹fśh¦)dÎńăÚ}ý<ŃLćLgf¦©×ë­ŮG��� ™k f`Ď�ą €+‡ füÝ&ąĆÄ’—A°qq Le1Ša’đDá‘DÔ!jŮ÷"ťů(<ť_ÓTLÝz”°ÓˇŤĄlýß.ç)é_ĄĄ™é.<اǧEv’$­]tˇ€Ó´xżĎ_KšXż•¶Á¬D>IëD¸¤•ŹŹęÝyé˝ŘÖ:Ź&ˇ™$CˇOۻӵ’B˛!®âö>Çí]OŁaÓŢIÄłˇŤő8ÖÁlĘĘb6ČeƆm'—ů(¤Ĺ’¦Ą���\ť´ĺ'ŠťÉ;řůśWQźKŃL•4¨űñoRË|(–îĺ=VţoüĄK?ćë=ź†[JŠ™µNú.=NđR).Šá*µ­gθ\ÎÁÓű:´b.ÉłÖún¸áÂrŃL¶ľ•¦žź››Łg<ăR¦Gžő¬gÉ<gĎžMďąýöŰeyçϟߡ”;������®Ü/fÉŚĹ0N/㲙śRVU>•ÂĚűĹÚ—¶Ö¦›FąĎŢëuSßb��€‹É \+@0{Če�ěňä˛4(f˘Čż¸»ěË»$nŮZAQÔˇü‹ľ­§f�n4vtćÜş]KósĄdbl±öíďKůÇ3g–e33])ĎxĂ łő`^?$iéi´;Đýći8n\9¤W·EŻŰHJy©F-…©Iňk >Š|šĽä/ŠeóőŽęö.hn¶nďţµŃŢĂ5Ú;‘$ÖáĄt<›X“ĹJIî+šĎ„Źľ€5®|şĹčńĎĆšĹ*���W yYš<IËÄ€ÔĆÓ}˛˘÷ë“iiŐÝK_Ďë}Ü3‘ľËdźŔ40ăşqŇľŽ«ĎĂőąµĹx[ŻÇúDŞ©Łˇ,ÎúS/GĆ:räL—ďĂóž÷Ľ‹®›űŘÚ¶GŹ•)čâA´;ďĽSŇt0Śź{Á ^ ĺ0(�����®¸ďĚ}a.źÉ×%ĺéxÝ™˛›s‹x-[Żg_¬üĺĺÜ„��ŕÚ�’¸€`®z —pĺ11‰ŚS´ •kâwoůľn\L0kŢcU,K#†±fLx CŤNd·¤táÂâú cZ\®¨ß/¨,Öź�Őé"51,Mńş¸T#?wŕ@_~ŢMĺ Ą-ŞP®‘Ó´.ŚĄ Ttâv–’OĄIĄ-}hŤ{bh…`¦ąň™DŠĺ˛˛4˛\ků3loGS}×§.ĹŐŘŢ,-­ŇŢ!ý͇‰ÂqJ: nLü<(ü ÄrĄ!QΧă:ż;RŰçó…ŮMn���ŔE‘R–e2ĺ7ĘřÜćA[ŠqłÔűv|žś®űpÝúëۨâ„Ú‘Hí.ÖňvNKzgËÖMĎÚHXÖ×ýĎú‰N×Sż[˙,ɲZ{ˇ\g«/”‰r­íßečvMrM–őśÜvNR›|®,q �����\;ä}}­¸±VÉ —��¸ĚŔ^WÁU ä2�v’\VZ™‚\äš”\¦Â“ Ie& 8!©ÂääbşŮ¸rŇŮ’AAIhY<[^v"=q Ă^Ż ™©‚:fýÂÓýAlşîČŚl§Muşőş©ě´[®°ě´¸e§zź—. ‘‰“9X. G˘ôBÂCŚv7ú›Ďâ|şkŹ]'őÂň‚(%©[ÚŢBąČ~ĎŇôoď u{ź‹r™¶w#QJ@q|Đš\.3i˛YĚJ^S÷“ß#%Mc K w���®B-ĚXR;›XâĘ%¨ uQ–:FšzfŞ e׿÷ĘŤęç¸ řČ{­)ăĎĹbt7Iiš*ë¨ďr2A“Aĺž±¨»“Z8ÓŻ˛WOň@.Äĺ¬%Äĺér6‹§Ĺ`�����¸ČŲü†ŤŤö‡×zĘe��¸ĚŔ^‚¸j\ŔîA…§"+őç¨cx4”„2ĺ˛4꓎CŞ|Ë4ĺÉÄ”.[x*řb@eęyXÔq’0ućěşKťX’P·ăb¨ ew1zÍb8ôR˘’§ĄĺJŇ´xEë„ô2–ÁLéNƧ’Ł6 ľš4ľ«VÜDrGHCóÔí:ęŚB‚ŮhDňąđşĎśJ{‡¨qU{¬˝ĂPôôŮŘŢUHĐăNuă2[žbůÂgłô>- —©‘ű*ň1yr#R ���°ířěqâܓՋ\Ď€‹Ď–eR’™i˝ßD -­‚$Ҷ~=Ş^)4üܭϧݞŤçĎl¦ďÔ˛Ţiť|ľ%ŠeÖc’n”Ŕő=ˇßăă`Pľ…“»ľvé›+ÍjĄxrÖóYˇ|�����¸™ËôąËYÎjěäw‡|VűN0™v ��`w�É ěU «’ŹôŁ+岲 ýö·Ó«_ű:�ě,apŻ)óç|SBbůĚôÔHhBábIGĺ2ž|Lt’Š(Ą‘¤i5ëť85ůf¦Jęő|“µđ±mXr:qj(Ëf ‹[ý^X€r:Vl(–Ą\f›RĄ2ŚŰJ. Ďk ˙Ŕ‚YżnËáČÔSłľá°ŢŽÓCY'Ćq’Ů^şpŃ´·Łăőquâô@d3%´§«ŹÉ @rkj�‹eR¦5Kî“`Q”¬2ąŚe´‚˛YEü,0ö ��` Xűüܤ–^Š0źÍD˛5×FëۦöĽ†ÚŃťů&kbhĎ6s·׿=±I{¨ËŇâR}1 2����€k™­čowźúbň›Ţ,Łß§ô®ľ'ż™DE3Ü\��» –ĚxüóßľímmÉě—ßNSÓÓôŞ{ď%�®6,pňŰżůË�ŘMjÉe*‹iY@ĚX.+l“^&b—¬Â{ř˝šĽUAÜ)K/'HéWúQ=˙ů cI1ăÄ© *)o¸WĐRŤgÎŤe˙Î/ŽeźuĐ•SËú˝z𵫡#:lR[ŰÖÝkáőZF­RŤR®4Ne&®6Čk<ńö,h{źçrť{°˝ëcč,§Ĺť ĺ1ůą4üÍíŔ‚™a#,gŇnE&µ © -]ą¦4¦O ~1ĺ/NR¬‹…ż* ���lA@Wqż9ëř5JG&�������`˸¬6YŇSžkŐç!•�Ŕî†Ýv - TĂŽĂ˙ńżI�\Ť Á ��Ŕ–Ę/’”°ĚËęÝUˇ\b,ŢËqĘS;ą,”Ô÷JA%G©d¦")\őü,:;>ĺ]¤GťrośÖ8=ëřÉ!=}bd®q¸Ň˛ˇÜíő u»!ˇ,Ąľ‰ÄdSéFmł ňą,ą,¦Íńň(EśWĺĺöFAěÓńĺĐŢN¶…·É§ö.h/08zZÚ{Hǡ˝}#ôqY/C•LŚI¤MҤס­|kŔ^>·Â¦4>-‹ÉŹă±“ÉŁT&��€mÇS§>uťIÉ™^űYJZęťďk•�������°Q.&‚­öZţT¨¨Đ.ý™ôb����ěH0W%?ő3?»ÂôĺxÉŹ|čĎ �°ó4IdASĆÄňšň”ߍUąfRąLSÎĘ”tĆÉO!EË'Źi}•§ĺAE§ĎĄ|ăŮóc)qX]ĹÉZĽíĽś¤Ĺe1OźŃ ŢGĂX.ëtşÝú± ˘™1M*IËŚĚg¨I‰óŢ·.JhJśŐyă5MG“utxá3 %IÚűTÝŢ'ëö>w~´'Ú{qąŞŹť‘CĽoËúř­ň”7'ÇžÉĚ7IdQ.ł±”kúPÁLß/‰e6Ńžä—XÄ ÇżC‚��€ˇ¨ĎWł˝v:™öÚă^Ň;�������l“‰eZł™šůV{/ą ��v7ě.ä%2v~ňg†�¸`®J¸&ń/üňݬ”Ě~áčĎß˙~�ě,"ŚĹ$&żô;/ËIIłrYĺŰ%4-Ą˛,î„ňLĺ*'% mQ%ÉŚ5)NšZ¸PŃÉÓ#I :yfDaSňj›xŰe_N éT˝/ ‹ăV)JN›ę‡©(Ú YÜv\˛14s“B"e}Óf\f˛RŤ–RiÇPj3”#í×ëŕÉş<ŠĄ2ëö>3LŰxu··“ö>&ű2”} iqÚ®Al,¸<¦őQ–ŚS<¦µD)‹băŞI‰Są˛l‰haąyrYË<���Ű źÓř«Ó‘ąö%�>µÇ*|ś��������ě+SÉÂ5ÇpS«KŇYN.§ˇT&��ě>ţňC^)—ŐăE?÷¶_×€«”ČW-÷ľć5ňřËżđóé?Ěśśôëo˙%ůůuox�vţţʲ©˙­$5ąF„§–\F";ąŢÄe™TxŇ»˛řQĘ59’2AŘń’dĆ‚•«}=óëQý{q,‰_Ľ´P2˛¤n׊¬v5Ŕ˛Ýpä%…íř)NdŃ…ĹŞ~.¤¶©€Ç©eS=˘~/e*1™ŘĆ,ôĹ–5ňÜłć.8J!&:_™ŰąßcŹh8¬+ţ|ĂgĚ•ąPщrDZjóŞnď“!Źĺ˛QÖŢaŞŰ˘p2…ă™D+3aL/ŕčnNkšDą ˇ™”R–Ë•Mrî4��°ÝęÔç÷C3““‚Yó<NO�������°µ¬%‰­öś^S\K0Cz��ě^X.ű•·ýüJąě˙ ˝öőŻ'�®V «Hf�ěBúÉ`¤&—‰“•Ĺ-%—ů4ŻŠRü„Hh4QBSRµę“V=Ź+˘ČÆYüţÍ"§iŤĆŤ<tř`‡Š~AWĽ˝\óÄ©¦una$éV 7 §Žt;&$‹őBš™&‘YI|‹ĺ­BxYú<šky;‡ß“SÎt,™E±é~hăĺŐíćui{µ˝ĂçĂŹ‡\}íÍr™´÷ůq«˝ą%˝Ěą¬(C›”ĄIIq,őůL€LŞX<žC©×f>F’Ë*ź’Î)UŠkA���¶çůĽäéY‡ úűÇŤśŰążµ44r.ďČ™ŚEőşOáů5ż �������¶µd°üů•ĺ2ůćߡü^Ĺš‚™Î��`w�ą ěe «Hf�ěT`*¤,f.—±¬Ë5f%5˝L$łLŘi&ľ “ĺ;üFľc«~~dëÁR“¤µqý÷ďTäńAÜ©ć‰úś¬Uš´}»ޏăňĐŃůN.ŃÉÓ,—ŤiyąIŇbX®ëőBÉĘn—‚čËBJµD>ŠIq-‹I­;ÝTŠ rYS K¤µ‚dŞ›źf¦Cz™[ ŹŚ¶wřŤĽ_çęíĽ Úű\LŠăňgĎWu{W’§Ű+Ée¶Şâť}2©\–ĘbF1ŹŹQ˘$řI©Wk˛˛°FÚYŹg™?¨\ž”ń9ő���l'±ň8Ý|ŔŇŃyKŹťrŇCVÚ0-ˇ ç%�������Ř:ňT˛Éç}M*|Ä´éŃh”=çĺ:b>?Jc�ŔîrŘë@0{Hf�\y´$`Yj ÁđĽ¤hĹ2ů™b Bţź¤pŮđ3§–ů‰ä2Ţ!"U$śNé¨Uőßx(Ý×o’dŞscI2=^ęŇu‡;4;]dÉ]Wé.,UôôÉ‘Nś¨ua‘·˝IŇŇ@2.Ť9;íiv†nJbŞđ¤ri™–Ä4ÍŁµÍďyYGç]*“©‰rşr–ÚöÍ……ńµ n×üš·÷™łő6׏ÜŢKęö>Ôˇ™ÝÜŢ'FRóô™-,V­öVX6+ËŠ:W?’Ó…mJ_† <.¶usqH>“şˇ -ˇăä\,-Ęéeyriz™ł»FĆ��°wáSÖ\źč¶ë,=~ÚÉ©yäęţËŇË�������`›XM0»ŘóĚp8ŞŻW’^6I>żŠf¸Q��®,ËŔµ�3°g€dŔ•#%—±\“’›˛ä2™)~YŽoąŚb˘–§,˝¬čt.•lÔ”.–©dŢ"Č=,�Ť«"Ę>a},ĄŤőű«q=qbUؾἧ©ľĄn7”-ĚnôÚQ8Ś%ŁáĐŃҲŁ3çĆR˘1ČeAvJÉeQ ët¨ŢvŢ~.ŤiDx*L“et_RąK•řB›hşKi˘;ee1}L“#I‰kĘ; \–łäu†‹Kˇ=#j•|\ćöv!Ýl´ý»´˝Oź í}ŠŰűÂ8¶w“ę˘e1Ë"Če,3¦´¸(čiű‰'kńQňŁ–ô˙š4ľL.“ĎÂ7©rąü���lźĂřÜ^źt^rs‡ţţ±1ť«ĎíËcGŮ5/��������ŰD.‚­–<–?Çc[\s­ŇkĄź��¸2@.× ĚŔž’�WţË©eśôÔ’Ëb˘Ű6&I:yęV,‹“ËĆś\VůTBPĄ5«2Uśż,<uËJćuľ$çÚ_ Y*Z¸’µ8µj˙|G’µöď+%ͬs…ҵd»+Iý:~rDgÎŤdű"ĹM\  xqrŮÜ ‹^á÷2“řT.ó“Ée±Ě•Ť"šáŚD)yKËbĆ€8y‡J`&+kjbÚ\§ôőv´ł»@"ďµökěéüB%)f,ĘíßÇíÝ­Ű˝¤™i{ĹÚ{T…ía±ě¸|ăĐŢĂjE{3ś\Ö)ÇÔíVőńĺ%-ŽąBËbR8NU#ăSŮQţ˘’űšŇ°!ą,¤—ąěnDc&Jš���ŰŚćjÖÓ‘YCŻ˝łKöéşRź»ăP+[)äÔ„± �������Ř2Ö*ŤiRĹ„đß|ÍÓx\IzYY–«.C—Ó.«‰ëŚ��p%€\®% =$3�v‘™ZOIZňE—_#Ó¤‘Ů&ąL…ť*&<éaMÝ’D(ŁĘTüÎAfĄŁŽ”Ň´’`Ć%3cHšjŠK:V’°µ<Ë_®QçgMOYęv¬DEҧ¶ú&/®jŔXv[\ŞčÜBE§ÎŚčÄ©P˘Q„:ąŕÓ6YrŮĚ4ŐŰKÔíFŮI˛2‘ʞT2ꏦ2šVĺ(ß.Ť™_o°1I‹ e% CQS–ĚĘ‚$AM$Ŕ*$Ć Ç&‰f*Rń~r[s;s˘ŮňĐŐí]Ôď-ęö6ő>éçąýí=ąş˝ť=?‚ŮÉ!-\¨BéUď“<ÇH0^Á‰eő:<9)KĘű]dÉe"B¦Ď+Oî‹"¤1™Čćw./‹©˙„㛟 ËŁ(ú���ۇ¤mň9Żţçî[Kzü”Ł/ÓŇX ™Çó�������ŘJÖŔrAL*{Ô\ůq4%ůL_ĎĎß{±ĺ��Ř^ —k f`OÂ’—/ű·o{[[2űĺ·ÓÔô4˝ęŢ{ �°…d fYLl ÂSA±TŁ Ig*—ir˙}JYL×Če¶•Ő/ĎKĆůxy|WĎŹeÝ_ ŻÚµyľaýžsçÇ">ť8]ŃělAűć :¸Ż¤ůٰĹňÓVĂ»/ j‹NŇ˝Xrbى%§ĄĺJ(‘‹Č·CB8 NĂęiĆÓô”§^ĎP§“ŃŃaĘĄ1ýÚÉe!MÎ4Ą3“đDiôŘĆD-ĚdąQ ¬˙3†›- nžfâ Eýž[¨Ű·ŇBÚŢő>×ď;·ŕh0ŇÉÓăz igiďşÝÜ·ťí]Őí\·÷™ŘŢ‹“í=Ę"’Łn9¦~·ŞŰšÓńHäCMÜózś&YĚÇ2+Â\!ÉeíżigMđŁx(–Ňl—„Ťb%���›‡“J ź¸ëG›ę>’Ż$)ÖÚ’†ăĺúś7Eß󜒦ǧéÂ…ersSd;q°ÂTM`”]������€ŤŁň—oU90Íu]ůŞeĺúę`0JéeyJ™˛šLą ��vžŹôŁ+岲 ýö·Ó«_ű:`/Á ěYô?Ü-ɬ~ü?~ă7!° Ä ­VJ–”Ă,4ÝĚF'–ĚŇť*•ž(|™6YĘ™~Ńv*äř&AŞSş¸l' `Ă‘§ńKQ‹Çů(U!YëÂ’Ł…zbéky™e$/‚Yżgc9DŠÂns.`MěŻJB>l;OA– Ą0ąläňr˝ľz]çÎÁŚËv. BjYHżŠË5š˘ĹÉež¦¦x»ęiŠKcšTŞQK‹¦t‘Xę2”µ˘”@Ö$—µŁ×ťŠfń –(É{&&ją,>RĹi+›vŕÉUAÔóR›ˇ-XpąLŢ˙ĄĐÎŇţu[p{÷´˝ËŘŢvíí|:*Ŕř3éiNľł±˝Ď_ŕ»J¶Çj’ÓRr™Ż×ďë6ݍÇrY×QŻCí˛š\–D0ż"ąLŹUi†8ŹlgüËŕőzmçřǢĄ`ů‘·���lA.c©ą¨Ď3Uý{Ę^›RÎłüs§>ŹÇšťëÓ]·ĎÓtoHç—†4íx�ŁţZ8yµ—ť÷ď��������¬ý.µ2…Loś­ęďiăúZëPž/ę Ĺ|=ť§ü}y˘Ył |G�€+Áo˙ćo@.×ĚŔžf5É �°ő4éX.ĘFń łmJgjiGţÖĚbŤc±Ć…ä2ď›T¨"~iá[MąĆ â„T-˘F¤âR’ÝŽ—ň†Ë˘Ĺ%+â9Ő°Ô& K_,-\pőűĆR*łß·43&NŘšęęvm,ëJ%ZMź˘Fvă˙¬pjÖpčiP?ž—CiFNÎâu ‡NķѸŢ×qlj TqW©[zš›q)ą¬ßăçBę›U9OÇ{ŁČ+†ĘRB›q-'ĄdŤ¬\*3+„5/ *ŁIÂWÖŢEA1Í‹ vćQřĎk{‡4qŽŰ€Ű輴7·gúf§­ČfSuŰOőÖŃŢUÖŢ#'íÍŇÚ ÜŢőň5©LÚ{Ä­ĐŢR¸UŹÖÔţ,—ő;Łz{*ęwyűňä2Z‘\¦9c’WEiS ÍĐ|>–ŕŚë1ÚĆ”Rű|&VŽëíKz_»d)���pŮř^*)¤ˇDySţR" I)ł´L×Í» ¤QU÷cŞúüYÔçĹRD3O¶5PacĂé]��������Ö…~·ĘoÜ e1˝¤•-×¶ůQ…˛<éěRŕF ��¸ň@.× ĚŔž‡˙CŢétĹ"6őŕÉ˙óýW�Řb˘�Ä‹_h‹FĄIOZę’|“Z– cúşŤÉQ"(eBŽČB.¬LÓąlLżâeĆÉ{Â6đ“őT™° ŇR‘MÚŐ˘lg(Ĺr“Ęe"ől&<ĹDł( 5Ée,Şń˛‚ôD’ µ3.ŐČ·Kî|+ŚŃłNéE’›žbąŚSľz]’uł\¦iZÚŘ*ÝQ&«I[›¦¬cŘÎf^I~#Ęîr‹CÍŮNÉĽ.~&Ń\SŤËA’€…´p1d4ď Crś–ßÔ4ŻşyDřZô>‰V=nďéP.sşo%ĄŤEż‹¶·YM{sBZhďŚ&í=tí”1Ű]›N“⬫ŰŐIjŮTOÓË‚ŘV›.¤qŇXj»L.[-ąLĺĽ(‹Ą46Mâñ‘ŐT®t±ä+3���[‰çAőj—„çpB­źu–:EWĘf†›9x@ca‘űZU}žîĹľŠMwŐË0p�������bEĄ‰xÓ5—Ăää2†ż{©,Ć f“‰ek}Ăw4��¸2üĚżú_é7ő߉đ“?ű3¨ ® kţ:ţŁŔöd«úK±uI )O1é)»óŞ%×řL*´üc&Gą°\וĐĘč%ßźůµ‚¨M÷C2ÇârY?ÍeˇLĘ1óľýe›EŞ1˝jĘÖ‚Ł˘ŚB\*ŃŮ ĘN:@šúĄĺAťk’Ö’Ĺ2jrÂŇĎü<§€Mő=ÍĎV43ĺBjY—D¸ ÉeŤ¤$­SČDZ#“Ę56e1łíÓ˛®-ŁĺÉeiľ(>i RJ%%ăg“ŔřÓËXŠăíć—X ;»PĐŇ2‰ŔW9JóO¶7o=‹a<§ŽĄmźHűZ«ddľOU«˝őń´rÍÚę>l{‡Ĺ˛1őE,ó’šÖ)9Ż)‰©ň—O˘&e<FұĘŰ‘É|ş6Šh¤Ç>5ĄTő¸†X��`K1.Eę9ɫ͟ú E}>ŠýťúśĆ ˇr–’ů+˛ľ~ÂŤiaa”ʲ”e™Dłµ3�������\ËřĆž‚dfRZ´~‡Ó3}d&Kbz\T�€+Î=Ż|%ýń{ţ/ŕZ‚��€‹˛ž/¬*WŮ8 ŮOŤ¦iZŽĹ«ÉR—1*¬KK:RJ{š”ËT\łq“…#N#ăô©N'–ޤ0‹Lăʦt­P^’RąBţĎ’ŮhL©„TاćŃűfűĂvPJò1…,Ą’e‚SJĎĘć×ŇŚ,hń¶ö{MrŮtßK‰Ć˛oJ#‹Ée.&—j’Ë´]´4fł˝QzŠŰ BZşăÍŻ’r–Ą“¤Ä5Šmı ju»>&u…FíÔŔňËŚ´gUŃ Jö?“qÁT�ôńłŃövímW¤żův{O$Ä…íokQ„Ô˛˛tÔďŽE0SąLÚÚ6íě|&—Ŷłů±§I.ä2—µ]sLŘôwŔ°t—äĘĘ7âšm1p-p7"��€őĐś+Mű í@ÔŹ|.ă’Ř2ab6©őˇÄ¦©Ďs"Fűţ:–©é˘D&�������l„ĽŚeşůW&;ń»ąä5ŔÉkő(‘ ���€ť‚��€-EKb–ĄM⌖^Ô‚yrY«|&5r'<Ť« ů0&.[–»ŠLĄ VVµuĘ‘”TŽJ‘ž––Ť”±$żV”¸®….š*•.P#yĹ-iňšŚ-á,Čh,fÍL±lş_QżÇék$ÉXA.łéµ\dRÉ,•­ĽhrY;«ą@AMňV8™Ę·K_ŮL0‹NYHŕňÍ6üz˝ÍvЍW·ů`ĆÓ¢­'’ÇeG´2KĚč˙5`Ą Bń«&íë#>î#‘YeńY®XÜ~Ęa˛PÖ©ę¶ËńŃ•Ô2ŠmÖĄÉeI�#j%—%a,®S“Ë49Í$ŮĎR™äJ“´ —…ô>źµ3Ůő f���ŔĄČ\:ŻFiŚ•1ďDĘŻ{kr®Ş,K˙őůČłpf’čÍ˙Xďר°�������`ýčuŮp­ÓL<oZ×W{MGr����®$Ě���l“'<Ů.Ë1É·RµÂ{‚ ¤ÉeŚO"ŽOée ­ć/×ELöĘe´”t%ٶĽgˇČHJkĽl×hĚ©f¦~Ź‘ňP!•«‘ĆňŻčŢÓ„¤Ő<ćiZíě3ťYÓĘX˘ó˛ ’ZĆ Z=G3ÓŽ¦úő$r™Ďö/”Ĺ”k ferŮd{ç)Yíä2ź$¦öDYrY;}+}.)-í^ř őqfY7±¤EÔď’$‚q:§…ń{ůłâ4łĐŢśhRä(KUË˝ĽÖ8¸>i&Eľěó‰ŹÖ´>nďÂ:Ůž:e%©eÝnĚ:eË ;™\F)Y¬Yvs\«\&BŁŠŤ±íTR“6)š«-‰Ďµ“Îұď,î2��°%hl(wíÂď.ďĎÄó“śď\–˛jŁPfäśĹ'*ă\k�#ďŻ�������X?«•şdT([M&[mţ‹-����`»`��`ݬu—TJ+lw˛ä2-oéŐň™C˛§đ$ÉeMů%I„Љh6ÎŻiZ!ŞIŘPáŞ5KďDěęu‰–¦žl=44[Ů0]“o6”h…2¦_ęőKűDě–÷Y)JÝn±¬ß ie*”őş\®‘Ą3/šě_l7ÝÔ ÂŢź¦i» ą,l‚ L™ÄgŮ©Ů3•ž|`϶ć5Í2Ű“îc“†f˘ÇťŠé)/űÖŻ÷qi™hqŮÖŹVÚ}8˛ˇt¦3™a¶zbśÉ˛ťÎ¦Ű:ůJaÖmÚ-ąŤ9©¬Ş§±$±pĆĺ1CJ\LÎ㔸¸Ě\ćšŇ•±=’đgŇć¦$>Ýʓˢ¸flli=F+ŹSmÚ7_Zë2.��ŘyŔ{Ë=‰xŢněněĂ90ôŚm÷s˘ýŞŐJŻ@0������€Ť1™Z–˙Ľ^ąl­ďb(‘ ���€ť‚��€MabTK8…Í’›XÚŃAHÓ$ciY@ťŻ•¦ĺ\+ąL“´XĽRůŠQ9Jˇ(“Ëň5Ó¦lL4cá+H@^RĂĆcKăŞ Ş˛ő¶†W–źŞ*$ŁiŮHď'żôS*żhŚŹéUa=… ©eĽŽNÇKŞ f,—őąf7o&şt˙ Mg‹Ö“'j¤.ʓ˚ň‹ľĺ]ž\Ö|é…o–—’Ë(O”‹i`6|˛ÍĽYiLç·:żIëçvĐ}ă$3N “6¨§AŹh0ôQ23u»×SÖÖUL“ űlÚŐ2“kćCY/Cń3Ąf}ÓćeÝľ,–•A0ăô2MT źML͋۟Ú"µ]8^µťĺ3±Y;gÇť´‡ ĄBősL‚`”ÓüI‚¤Vj_\]ó·���lŠFn?źD}Ëćç?^ŠÎ·ö&Óf!������ŔćYo‚“njÝ�řž���€ť�‚��€MJAZ™T.SńKe'[„Ô&M!K_)”%WŽĆă EŤČUĆĺZÓ–Ë8*Ě’7lJjKnZšßÇ‚Ë^˝Ž«çŻź÷¶^N%If‘•rގIe4ÇÎÖďµä],7•ĄY‘Š|˝_>$d‰ÜdŞ~ĎÓT/<˛`ƉYĆş(ą)Ťe˘úŤ˘‘ÖB›´/ 4]”Ë2ŮÎ'¬óRzY«­‘OËei˘–ÎŰ8Nqą*Gąđ\Řj'˘i}KŻr`ŘÇN‡¤mfúú‡’™Ëu/-‡ÇAýű(•Ń´"ů…R•¦ 7AZăĎĚJYHë–AäD8~dą¬,*‘Đ8㎳éL ‹$6rY*ŻZeXlëRËĽć%4ăq겶ȓËJ- KŤŔ—ö˛ĎPv‰BůL^7.˙���Ř:šţy+e2ÉŻ"0›Pł:ĺ±zżęóiYyĘ,�������€Kł–`–ßěÓ<'˙¶ćż@†3����ěĚ���l®(&†ů(GůXĘ0/Ő(‚”–ąTY,›Z“¦BiŘSLŽŞ&ˇtą*É—rŇm ‰ DTtbéJ‘(,k4v";±üÔíÁ¬ŞŚhޡÄT,+ ~á)JcELÎęÖËćRś!±,Če‘Ë|çČkB5ÉlE#wĺ©ezÝŔ¦D­ wŮ,Ńkő䲦|ćd©Ë >Q;ąĚ„»ĺÂĽÍşÝdÉM2+d´|[ťŠfq›‹R·Ő‹$ĆŇŘpT·Ń“Íę¶$šŤc{‹`ćU23ńó¦¸Đ q™–ĺöf±¬Ű ©pI.ó+˦¦c#¨©-d®ť\fš4>Ţa—IŤ<ůÖ¦id)-;®›”˝ô‘Çe‡–”ů$%Ż‘*��€M#e1«đłY]“ó)äő<­l-Vv`ŕ�������6ÂĹ3†ŻÍćß»ôş&’É����°›€`��`ëúňšÖR’.iš¦4¦JN­Ň•”ÍĎ O•k•Ĺä94©+¦„‡yăü.%o™”NŐN.kÄ5-)r”m„ ÝN cŚ'NÜšęSLëŠR\QHňZÚUM s!ů#ěc}B-I¶ˇS†ma *lű„\FZöӮˑŽbB‘É:łFr™k•Đ\‘\ꄦ6I2šoJnŞdÖj(/9ąl›Í«[™'¨Ą¤®(SĄms±<)'ś±Ś,•łTţŇłT—l»X†”Ëa–*Ńi"ŻßÉä˛v¶ń¸+˛¶SIQŹ»\.Ú„ym&C[đëă*Ěß´G”uŮůçç}ÜJ¤áä4ß4š–ĺÔľQŐlsjěK€Á}���«Qź5ÓO•ç‹Đ5p´‘’+8ď�������Ŕĺł–`¦L^‹Çw0����ěF ��Ř4üý·rŽĚŘɨĄşB6KÇJr™i„$M-s“Ée¦ťĺ};ĺŚÉ“©Ę,AĘĹTŻĘű‰r›MIĘ<Ů‹m˛hŐ+J©W\ÚÓş´Ł*>9‰i‹ŰśR¬¬”áLR\&]Q–•RŻ •Ŕšr•M[4rY“F¦ąeyRŤ83‘\KXf%4U¶#j–ol“Ş•¤57Yrs"ą,ß7—ĄńĽ6‚*—i!M—–$3Në”a˝üÜŠýs“ÔČv&”™ôkGĆ4Ée6Ćľ©d'eBł}Ô«*66źw{Ů2ŻŤźKŃ,[·9‰vľ]ę5|&-ÓÇr›śžWŤ]”��€Í˛¶X–0Ë0�������[Ëv~ĎÂw8����ěĚ���lf†ŁŠř*’©ÄUÖżOJ]!Ę­”‡(H>6űR,rY,MX9×$oŲśdU&ąL%].ˇ†Ä°N•¸,ĺLE4Šĺ(YD+ă~hŮȸ-MâU©l’ň2‰†(Ą¬ůTâQÓÖlK.“ڬ$t5ńç+“ËšöP™I—Ý$†ĺÉe”–×’Ń|;‰ĚdébA.s«$—5Iga(‰h•Óô9=]®MCŰ.ű\ŇrIĺ¶,AÍ4Évá3tq˙šmĐÄ·t,é~9jĄ‹…Ď®IÁăírIkä2m&‰,~&ćĺä˛ńDž•ă.×üąř°“ÍqG™,iM:¶›í ËŹX0«ägÄÝ����������������v+Ě���\’K•Ěd÷f0tőIĄ˘.±€S4Ée6Hc*'©„Łr׊Ä)3Qć˛j’ËÚrY^ęŇÄ”.ĘҦňr”Ť@¤áTI�‹b’ c…i0› UZfR-&‘Ët^k3‘hBě"Jĺ9m”ËěD:›k%—5m®%µ´#Ĺt¶”Ľ•Ąz­•\¦Ë_‘\–UśkRÎ\ײ$µIąLçuŤ´–ŇßRdW–Š–ŇÂ|’ËŚŃcR[xň­d±$ňéńQ4ĺJősžL[K©ońç´lß.ý™ď[J9Łćł®´DgK.ËRѤń(m[‘FA$TąĚ7ZĹ5)‘9şt|îD��°[Ŕ9 ������������®= �Ŕ5ÎĄä±őĚď*Gá&ÔMÉe6 DAĽŇ4˛v"T“8Ą1V1+KŹĘĺ2NŽ’e& R•ŁLZËĺ2§<A-ѨŮID+TŁ´-’fŞhBHŇͰpß*/©©h"®ér5 Ěç‰hÔĚK!E­°©oD)a, qšę•RŔšöHIgI4[™DfL»4g“0µ8×&d±”ç&Ą5ĘŇĹšÄ0S˝ô¨‘D±(“K]Y™oDµ\fŰűçšŇ©yjµ&‰Ťą¸ćRąM×J:k’Ëâ1JA>ŹCzYSÚSŹ˝\f4ąŚBYV^nÚżX>SŹ ©ÍĄ5–Ęâ1Í˗俪Jm9ů·¶0ŕ����������������Ř ��¸|RÚˇŃhLŤizŞË@¶%•ąÚ RI]”Ë_.¤GUá}*ˇ¶I łYŇY˨ťdUÍ+e#°›d±‰$+Ęe­fą)Á*K#óZb’šůSHkZr™î§ó”Éň˛©¬c&ąąLÓĆËÓşZ)`>{LU;ą¬ĆyÎů•)g6I]ÔJáj$-Z5é,Iv®Iöj%—íípY2š¦‹Q&Đ埏Ň_ú Ó¶RslXť·9>V;î’ȧËuMbž¶GJCÓҦvŤä˛ěókRíšt˝”ČW5Ą:‡Ă1ąqEAč3M„�����������������ě ��ŘššÄIL%ŤEň)ٍ•ÉD°q))+ĽO”š¦¬#‹8*:ąP:EŤ •vʲYvJ°Ş\’Ëxv–łRYŃ$¨ąLJ"Z‚Ę$—ńłŤĚU%ͤ˛ź"–”‰]1Ą+K� Id*˘5i]I.ËĹ+•´ň˛ź±ń’¸ć˛e«te&Ú/“áÚId¦•,¦ác›4˦ôŮpůO›}~­RžNĄż¶X–’Ë\SRç7YťJfdÚĄ++Mˤµ ćĹ'ł$9ž×Ũł$=6TrŁ$tUÎO$—E ,č4Ul<‘°§ÇGú\D$lĘ˝j[ŘL‚Ěů\J.ËŹżFÇb¦ŻŞ´�����������������°Ű€`��`UÖS:3‰=,PyGŐx$˛Wţ6.IĆĄŹÔ“V&dą‰)“ÉeE+1ڞ˛‡Ť<Ä‚Î[DąL·#%Yĺ)gy"ŮDr™Ë¤5ŤŠLDKr™oD)Ť ł)],JL”'{Q[r#“ÍßČe”’˝|k;TFkä˛Ő’Ë2q­•\ÖĚÓ$—ĹĎ%¶ '§Ů(�F]-m‡Óržf˛,fÜ?çŰ)q)ąLÓßxáq;ČŻZžS–g'ŇŮbŮT—%¨yjÖťÄ.•ş\ž\ŹÉ,-%Ś‘wÔwNK¬ć‰r11ʱ¬•\–-Wŵ”ÎÖÚŽđ>–ŘĆŁŠFŁ!•Ć×S‘}ötÉż;�����������������Ř) ��XąpÖüĚé\%•EAeéi8Ń`8¬§.ĄIČłąc´¤ŁĘT1ÉŠ ÇÇT*N.W.•ŤLe15ŤLVF3K¦ňMŇ””çĚ䲔t6)—ĺÉe™Ô•KA˛\c˘¸–IOaÁőţeĺ 5!+JwşíyZ—˦°Ť¸Ö´‰,<&†ąV9ĘÉ䲸Ą+SaĚ(FŮô~]/7OE#jJtŞÖH:łlť×švTç›ĎÄÇ82Łmg9Pä2–şX¬B IrâR’[’âTČsľ• fłĎ‘Sâ´<g*sŮJ. ÇSY4ĺU)[ö8&Ś­L.ł©MňÄ7M.KrY1Ybդ㮒„˝FÎă÷‡ GŁz[ÇÔéÖ˛N!K?˙\"P����������������¸’@0��pŮ„RMő;őTŇř––FTvF"5q^ŤŚ”?’o’ËTR!Hĺ˘"“µTls™`ćc4Zž¦Ö”®lä˛É‰*Śi’Uś9 c*—Ń( REž\FM™óŤŇeB©ĆVú5©ešěĄ—µ“ÉeÔUľ‘ÇL–ÔÚ°ť ¦m‘—®´¦]3/Gé<µÄ«<UÎIi­Is“ŹÓšÉey*šĎŇŮŇĽű瓨Eä˛ĎĹL$ąµ·ą)EĘ«Rčňí¨|H KÂÝDůJcŰébzěĄä2;‘(głył$2™7OŘł6.»i;–&«¬MxűY˘\V4Ô'¦˘©^—z˝Žü-A&����������������ě6 ��XW9ĚŐŢ#‰PeI˝©>ÍĎöhy™ł!‘J2Q§~ť…+›Ę:JRW,é˛ä2IyŇä2Š% YÖ*›°<‰,O¦˛1™*Ńäź§XĺÉećO˛QPá$Q‹ĺˇ(Ś1ʶĆ(+颦(ÜŮ,­‹Ňv8•ƨ-—ĄRŤşÍ­˛‘á™\łYÚZ^:Óµ>?“Ą‹Ĺd6j'ł5ź·Ęb1ń­µÍ^ŇĹ²ŰÉoZB3Í“ş¤=RąŇ,m-®ÍÓ¤ô×Äłń2Cň\“&ňa.R&ĎMy®•¦"źOĄ9m,mšä2I.kʬĺÉeYâZ&—UcK·RJN rY8–ňă: UŘ㤴áĐŃŇâF1Mu í›ëÓTý7ÄKƬŻLć$Ó�����������������Ű3���k2)ž­ö»µMOMŃÁ}ł´xa@KgĆ´´´LÝnnú˝BK“•¤Ľübňä2¶‘Š<qĘ´%¦”\¦˘VVžpµrŤ­d*-ą9!—ąL5)µĘWjyǵ’ËlS"ŃhĆ$ĺ…+sa¬ID“˛®]îŇö¶hű¬L.Ł,ą¬IÖJËŐ5ź— Ą,˝,l—§LĘD-m?“§˘ůvŮOÔdŢ<ŤĚ´˝mÉŤš¶6áóhµłË%­Đî&•ňĚ…±&9-čň$7-ąI”mCŐ.Y>‹ü34ńłnËk*5ćĺ[M”čZr™÷Y—ő4T´<Ňh4¬çÓĚT‡ö~ý7ÄK“˘ŘĄ~����������������€í‚��€ËFe—~żKÎÓÂâť»p–†ăeZ\ä$ŞŠU–6I>6FS9•nŞzĘKF±§HňU–\VµK]6ÉeF„Ł<1¬Şš˛Ša[uţF ’yŁÔĄÉeiŢ(•ĹĘ”¬IąL÷MÔR™Ißlw2Ŕ˘ eŰ“nsĆ\V2’ZÉe+Kh6)g1C-K.k>§´ÜU“Ë⼦)Yę˛ůÉ·“Ëdßtą”—ŤlÄ´$Ä™‰˛”%—Ĺ'“—>“v‰ÉĽä¦5M˛][.ŁTę2âŚiä@›Ú™˛ä2żB(l>æťY,KÂ^ÜM.ËSób*Z•Rí|Jٓ䞱ŁÁ`\˙]pĘ߀\ý7ŇíTt`˙<<0OSőßĐ妗����������������ŔvÁ ��Ŕ†ČSĚT†étş4;7Gűć/ĐĚ©óä.Śi<ŇňrAťŇÔSAÝŽ©ĘVÄŤa¬ĘTŞb×HÓżTň1ş,•,bůĂU“Ëřźä%[LJ]”$&•©Râ•ĘF)Q+CąđDYRX“rÖé|–t¦B\ÜG«ĺ3™HSş\’Lž�f›”±´ě”\ć›”ł´=ˇ=}ÜIÝ–&1Ědée&&­QSr3Ą‘Q*]™ćM"Zhß”Ô5™\f&ËQ6"X~ü¨`V„•L¤śą,Ť¬-˘­H#ËRŃ4Ť­IŔkJŠ®ž\fZ t&+ˇ©Rck;˛<»"©®‘őąŃ(”ĹdÁl0‘s ŮÍMwčŔţ9šß7/C“‚d3����������������Ŕn�‚���a˛ü奞Ď_/Š‚¦§gčŔÁ}täüyňt–crŐB0VeXëv t4‘,ÉWY2•j5.K"Óô¨0/eÉeFĂ·ÖH.3í¤3M"Ó˛‡™0–„®˘‘ËČdb’×R—>ä…™¶„Ö$¨5‰hM MNߢ Ă­š\Ö¤‘ĺ’ťť¤RůĘÖg˘)]šâ6Y’’VI.‹óćĄ.˝J]”%—Q–\–§ľ5óŞĽ–—Älä¨,ÉM’ęt+šr”Z^2}†ňąhąŇ¬=l#!6ébMéʰŹ>.7–ĐŚí!Ű,ÉenŤä˛l»c[đ|2LŘÓD´r"ą,ĄÚ©¤âÚd›X. ą,ć†Ăq}LŚęmÓlĎĐ‘łň7ÓďOËßĐĄ„˛µ^‡����������������ŘN ��Ř0“Ň™™ÇŇüÜ,]wä ąŞ˘§—h0^¦ńh`}TĘš,ČFNE¦IŠRŮhÜ”&ĚË/–E×Kĺ 'JR-uiÍç’T^r3+“8)'ąF.#ߔݔy‹ŐJRf’Q+ůJ“˝Ú‚Y*t™I]ąĽÖJ#Jۡű¨B\ŇŔ˛µ4\u#eóąXâqBFK‰g1ÍgrYžÖ• f­¶e&UęŠ!t±˝m{;\#wé~ĘŰRâ/N—벲›6 f©Ý˛cŠKUş\üŁ&Î$ŮNĺCפ—ĹăŁSZ)ůZV™ŕŹ"jK†rüzŽĆ4 ęż…ĺú•Mu‰š§ëŻ;@ł33Ôéthµż1�����������������Ř @0��pIÖ“bĆŻ÷zStäş#őď–*÷$ť=·@#tĆ,Ű”"±0d“Dž±Hd®~ôńщĂkíőQ“¨e˛¬¬V)Č4/Q+a,ĚţQa,Ě„#]~ŽÎ—Íšö=%e ÷i%ů˛WŮŻŹľµÍ*wé:šůW˙&—»bů“ó·nb˙&÷’Vns”ż&7GE4˘|˝«Ą®5Ű˝r{3).ßł˘™›mYŃÖ«}Ţ1%ηł "fÍ‘}&ův°ÜĆ‚—|ítl#›•6&›ůŮdĄ]˝$ŮUäŞe˛~™zGć§čú뮣C‡Ő3ýUŰáRí�����������������;3���‰K‰d›—/Ë’ffć‚46Špsna@Łj@ă!Ń2Ťę÷tÉwJ*:‘·©ÄáhÄĺ+™†#'Ą‡,Őżkň¸|<APÚ,śVĆbY·tÔÔeɬ>Ž;őńŮíHÎZýwŔ1q®>ţůXIzY5őCęu‰öÍÍĐ‘ĂéСőßĘlJőËŮLń ����������������°Ý@0��°.Ö+źń|SSÓtÝ 7PŻ~ěź:IçÎ.ĐŇŇ-/’q=˘ŞOß#cËz™&&D9ŕęDÓÜŞXÚł˘á`™FĂz ¤€ćüt—ćç÷ŃáCißľ}ň7˛^9 ����������������ŕJÁ ��@‹Í¦ńďťN‡Ęr^ÍĘÂRżŰĄłçĎŇňň<…rĂĺQýłĄĘ›úwĘcJYĚJ~÷•#S?ZďVÖa-¸yl}¬šĘ’ŻŹsg,Ť˝%ă ˘Ş>îdžĆÖKjŐǬóő±^v-MMői~~žöďßOűę©ßźJŇŇË�����������������»f���ÖÍjňŮZ’?öz}:pđ 6űě§ é —i8Ňp<&ďX(#ňŐ Ëi¦>9žťň…·ĚCŹ»C¶>.MýʵT˙lȸúxŐ“+ęă•ČŐŹťNIÓ˝őşÓ4==[Oü8E˝~ż~­»!ą ����������������ŕJÁ ��Ŕ .–b¶^ÉŚ)Š˘ž¦¨ŰíŃôxD3ÓÓtˇž–——h0X¦ńhLăjLŽ%3·ń™Éf`¸©ËZ[O•EIe§ą’Ë`±lŠĘ˛#ó¬µüŤĘeĎ�����������������;3���f=’Yţ?Š`3m©ÓíQ5ž©ŚgW±,/ËŔŐ€ˇFňRá‹%2ţ‘eł‚KÄÖ˙ĽVjŮFž����������������€+3���«r±łµ^_ë9}žĺÍZl … â¸ä"ŮĄg6k<˝ţç/%—A>����������������ě$Ě���l)k‰ik ką,s ŮlC˘�;Ĺe aĹ�����������������WĚ���¬ÉzRĚŐRË.öüjŻĹV>ç‘Zvë”Â.&ŹmF8”��`+án–­Ď-ŁńFĂu{]*ŠB_Ą á›wđMš<+ç®Őeâ›V]VěKf݇~©[ű\č›çąűââ"MMMQŮ)Ňs8Ź�����������ŔĺÁ ��ŔEą”dv±yÖÍ.őÚÄŚŔŐÂĺe—zm#ó����—BË–WUEĺúÓ?ý3zřá‡i<Óôô4˝čE/˘·Ľĺ-täşĂ¤ż‡ĎCűŘÇčţűď_cÁ¶ő+Ď×]wŃw~çw®1?Ď´V?ĐĐ׿ţuúŔ>@ "‡17ÜpýŁýG«,ËČ{ž|ňIú“?ůzđÁĺ}Ľ?ĎţóčÍ?řfşĺ–› ������������ŔĺÁ ��Ŕ%ŮŚd¦Ż1Ír<RËŔU€Ů‚4łő.r��€­„űZď{ßűč·~ë§ĺĄAëµx€ŢýîwÓĎ˙üĎÓ=÷ĽŚŠ˛HçˇĎ~öłô®w˝kŤ…¶3–Â8 íŢ{ďÝđyl0Čöýç˙üźi4Érxy/ü–¬*9ďčŻ>ú1zŰŰŢ&˘ďźJqźůĚgčO˙ôżŃŻţÚŻĐK_úRęőz������������`cX���ÖÁVH0üúz—s± €ť`łÇázć\��ŕJđŢ÷ľ—~ă7~–—ä÷[ną…ž˙üçÓˇC‡äĽsňäIúíßţmúâCµŢlj`\u:třĽżÓéÜĹRźÂÂů0gŹ<ň}âź Ç{Ś.V‚ó+_ů ˝ç=ďYlffFžăÔµŐ«©{şďľűč·~ë·h8Ęs×_=}Ë·| ˝á¨¬qńýżţ忢Źü>ÜČ�������������—Ě���¬›ő&™1›/f.g حlUŞŮFç���Ö —ž|Ç;Ţ!2źg8aěGôGéŔýô裏ŇoţćoѱcÇčk_űýńýzá ^JYľć5Żmu,ť:yJD/M»ýö;b_ĎĐO<AżüËżLßüĆ7čÖg<~őW•®»ţpz·ö3———é?ý§˙$’ŰÜÜś”ëä$łđzS®S9}ú4˝çÝď¦S§N‰„vÇwĐOüÄOĐ3ęu|Ł^ż÷“źü¤ě/ďĎťwŢI7Ýt]Lp������������Đ‚��€ ±ÉLçcÖ+¤ĺ Y\ \Žüµ‘÷@.��°|řĂy‹9zô(ýÓúOéyĎ»ĆcG7˝‘ÎţOçDţr•ŁŹ|ä#těŘ˙L×_ťHf,mÝzë­«.ץßůť˙S1>‡ńĽ,¤éůěsźű}ůË_–$ł/~ń‹ôĐC_¤ë®˙V,ç˙đéÓźţ´üüo~3˝ŕ/qLű‡śŚĆđr–Čţöţűĺw.ůĂ?üĂôŠWĽBÖ{ăŤ7ŇŇŇ}ő«_•}~řá‡é ~±ŢĎ›Č Ď������������Ö .©��Ř0•d6*Ę\Ş4!Ęe‚íb»Ž˝ŤľÇ6��€­$Z$ň×—żü• gտˋľ…nşéFŞ*_ĎSź« KŻ{ÝkĄ,ĄóN’Č>ň‘ż r×*ţ~ľúú׿AôGT/« ěů_ţÔé”±L&ѝϻSJhöű}şîşëčąĎ}nkYĽĐţôO˙T–ÁIcoüľďŁn·+ŻIŮÍz?FŁ1y×ļř Cyť·űŰżýŰ[Űő˘˝HËB©ĚE)żYUc������������°~`��ŕ˛Xo’Y>ż˛• eqŔnĺrŹMÓ���¶¶řüręä:yâTÝł"}ÝtăM4=3EĆËÔ˙ëö:tçť·Óý÷˛~ÎŃ|’~äG~¸^Š[ł·Ľ< ßýÝߥ .Čz^őŞWŃ‹_ň"I ăe0Ď|ć­ôKo˙EIcyěčŤ7¤ţ$OüŢ?ů“?‘R—,ˇ}ď÷~/ÝrË-ôä“OĘűĂů‘¨Źa[ľđ…‡D~c‰îŮĎ~¶Hfˇ¤g(Íąoß>:|řpJA{üńÇe{g;Ó������������`}@0��p٬· ćZďSPě6+†A,��°­ÔÝ-.É)fLY–4żo_:˙°€ĹÉfüČĄ3ůiŕ%ň™YyĘaźůôgčţűď—ç8Ąěű˛ä1…ßűŇ—ľ”îşë®ô^–ĹXkłĆŇç>ű }ěc÷Q5vô⽀ľç{ľ'•ĂĽ,¤éňnľůfIbó1nŤ·™÷çČ‘#i[Îť;'Â������������€őÁ ��Ŕ¦ą\Ńlňý«ů ě&¶CX��`'`éjy°LÁ ”›, ęt:ňšž‹´¤sj*öÁL¸d«ôË8yěýx?ť?^Ţű’—Ľ„^üâ'aM—Ë?ëňUdóŽĺ2#ŇŰ;ßůN:yâ¤l×O˙ôOKňŘzúgÎśIŰĆÉg*ĆĺLOO·¶—K������������X?Ě���l›Í.¶L�ö8¶��ězÎéu{’,ĆpŠ—‹Ą3™RäŻáp(’ż´˙ţÖr&Ě|đ ô·s?ŤF#š››Ł7ľńŤ4;;łbľýĸ|ţý˝ď}/=đŔ’ŞöŁ?úŁôśç<'Éi“űĂie\S·‹Ĺ±ŞňRš3‡Ą:ejjJä6�������������ë‚��€-g;D3�ö Ë���ě4*`qÂWŻ×“ź«ĘŃ™łgSšXÎÓOy‹_Óň’|úŇ2…˙ă?ţ#:[/‡źżçž{čî»ďŽ b+űŹ?ţ8=öŘctÇwĐ‘ĂGę÷ôČ#ŹĐďţîďĘë·Ţz+Ý{ď˝­Ô4M(ăuqŇŮ7ľń ŮŹJ?ę>r9ĎŐČËh˛Á ������������63���ŰF>� Ů \Ë@*��pĄáľŘ¤ôdH*«čĉ"m±tĹđóślö•Ż<\żîEÄşăŽ;C9KZ™(ö—ů—ô·űw"±¸ö/ţĹżH iů|Ľî§ź~šţĺżü—"{±´ö˙ă¤űŇ—ľô%‘Čx–Ç~îç~®%€-..Ę#?÷裏ŇOţäOŠ Će4oşé&zîsźKźřÄ'd=_ýęW%ŬÓm.upI̧žz*őEoąĺ–z{������������`ýŕ¶]���;úĺ�{ď���v|>âäŻg?űŮéÜôůĎ}žŽ=uś _đ–\Eô÷÷@ýÜÓÄ d,u˝ţőßMâ{EAË»úÜFť;»@˙ď˙ýßÓh8’ůŢúÖ·ŇŃŁGW=ďńsźüä'%˝ěÜąsôµŻ}Ť>őŔ§DbcˇŤ'Ŕ¸4çńăÇéرci:ţ|Z&ËcüzŇśĽç®»î˘˘(dY§Nť¦ż˙űżŻ·QÖZ?zúÂľ ËŃ·ç<÷945Ý%�������������ë f���®kI7H:WÇ���\ „—†Š‚軾ë»č=ďyŹ”µäD°w˝ë]ôOţÉ?‘d3N�űťßůťXVżçe/{=ç9·‰ĽĹ˙ idAôúŻ˙őżJĎ{óÍ7Ń÷˙÷S·Ű‘yÉ4ýą–ćęĺ<‡®żţz‘˝nĽńFş­^.Ă?żöµŻ]óśúÄOĐżřE^ÍĎĎKΛoľ™¦§§ĄŚç3žń zá _HźůĚgi0Đ˙ńˇĂ‡Ëó\2óżý·˙&Roç3źůLzţóźG�������������63���» ;�����[ŹHüu7‹ËKţđ˙0˝ăďä0–͸L%—Édůëë_˙şĚĎ’ÖŹüČŹP6Y“Ĺ´żř‹żev:zík_'˘X×svXk˝Üżăä´_üĹ_”uÜzë­tóÍ·Čë/~ń‹éöŰoOĄ4'y˙űßO=ôĽĆëŕ2›eYJ)Nžýşë®Ł7ľńŤő6}M¤9N0űĄ_z»l?˙ţŐŻ>"‚/˙ ßű=ôŚgÜš¶ ������������Ŕú€`��������\°TŐéú±ű1Z\\¤wľóť4ŤčÁlÍÇé`˙ěźý3zĹ+^¤±LČbYëľűî“´3N»é¦›č;żó;©×ë­Är‰‹ç}ÉK^"ďgAŚy~ţynn.˝wrĽ\…KaÎÎΦßy^~î{ż÷{E\űýß˙ýz†ôČ#ŹČdCmOŮŽţ?ý3úˇúˇř������������€Ť�Á ��������¸`!«Ş'[úń˙qşí¶Ű$!ěôéÓ4Eć:zô(˝ő­oĄ»îş«~GAő;ZËXXX §ź~Zd1·¸Śćsźű\]CýÜęĺÎU6k ^Ćń é˝a>ţ±™‡“ČîľűnŮög=ëYYŇ™Io- Čţ©”ż|÷»ßMO<ń¤”Ëśšš˘ëo¸žŢřĆďĄďřŽ˙!mJ˛�����������ŔĆXoMłÎ×Ě:ÍżëdłGťŠř\11ńkóü8Žţš®R&/nóďůÄeKřq<ÓŇŇ"9WôŽ������ a5i$Nű×ń—đ@Mż›•ňů$a©žśwňłLuß|\ŤĄŹ.?×}tYxzĂëľ5-€Ý‹\IâZZZÁŚ9ěŕÁ±ü$—Ôäż×.'ß7Yf’v~Ľ"µLçÍ˙×*‡Ůü}®ž26ąľô>ŞDlăďĘŁŃN?A‹‹K’Ävŕŕššę§u®µn���������lţžÍ_˙ßűß˙†z˝>őű}I+·E!©ăť˛C¦žŻ¶ůőw&”×xR• ~÷ĎoZ›Ľ‘o�ŕęÁ ž¬˙¦M}ÝnZţ›ÁĂüߌôß8ĺ\ÍçÝnç•őś‹ŹŐÄäăŁË&ź=NN´Ćď{śüy’K^4E‚��������pÍŻpzX}Ávjş_OG'ćp"—Él“nŚ‹Ď·—çiĺEźµ„ËµŻô~ă/ľíq}íe†őłwăM7ŇZë„\������������‚��������pM˛YŮj˝7żmĹ������������`§°�����������������������¬3�����������������������«Á ����������������������ŔŞ@0����������������������°*Ě�����������������������¬JI����������Ţűôł1†��������\yňďgů÷6����€í‚���������ZXĎuŔâR:?�������€6[!‚­v?B2���ŔNÁ ���������-&).•b†A �������Xýľ”ŻÚv±ů ™���`§€`��������€uq© ��������«“‹fë‘ÂtľÉďZ«=����°Ý@0��������@ çś ZTUEăńXů÷µA0¸�������«ŁBXQT–ĄLÖÚM%EC2���ŔNÁ ���������2@ἣŞr4X^Şź1Äă:¦ÁÖb��������6‚~§r®˘Á€§|˙šžžéŚełŤ-ĎŻ™n����°]@0��������ö0¦ĚđiĚŤ1ţÝÔ?Őq¤cT˙<Z^¦Ńh@®žąß뤻ëů‘-t�������°~4‰Ś“˘yŤF’˝\cşÝ.u:ť”j6™\–—ÖĚź[o©M����€­�‚��������pÍŕĹ1ăG~©ly¸ĚŁÔéMŃTŻOE±R(ĂŔ�������\Z"Soäa8=ziiY͆Ă!őz=ę÷ű­÷á{����v Ě��������€kGŤëAŚÁň*ëAŽţܕݫÍëś<"Á �������6N^ÎR“ÇX6›››ˇá°G táÂůîĹ’Y~ĂO.™á;����®+ę ��������€«Śü«?×ǬČ//Ňň˙ď=4|řę”]šťŰO˝NŹŠ5nŽçR-<�������Ř<ą(Öí–4??'e29ÍŚKgŽÇăÖŤ>Ë����pĄÁŐa��������ŕš!”Č~ř>ľűÔµ–fćçĺÎy©‰1 �������ŘRÖÄř)N'ă©, šźźĄ^ŻCŁŃ°žFTUUJ/[«T&Ä3����ěĚ��������€k‚0 áľú-ţĆ˙I~8¤Ţľy*¬%gĽľLž��������ě*‰ńŤ?ÓÓÓňČ f*ĺrŮj˘$3����ěĚ��������€=Śă»âÉwžŞá2ť˙ÍwPuö uöĎSŃ›’yŘ/Óô˛-šđëxmŁV›Ď&�������¸J™”ĂT2c‘Ś%3~äy¬]}HwR@����Ř. ��������{ž0č0üŔ_ŃđÓ’±%™ŮY˘˛¤mÇč¬â„™ř„ÎłÎotňpĚ�������{ .—ŮëőD0ăR™Î9™�����®$Ě��������€=Ś7Nd,wö, ?|™áH~7Ó}2ťrűďvŹ‹7ŮÔ"{b˝Ą]LöŠÁ�������öü˝¨ßďÉ#Kf,—!Ą ����Wf��������Ŕ^¦Ş#ĆU_ţ*Ťżđ z–#šé•m;™¶ęHŚ5[oi—& M˙�������{ţZTVRĚ4˝ ‚����®4Ě��������€=Žń,=JîÄI˛őŔ„­Ç&l·ËŁáułs9`«–É4aÖÜß”ĎÔ4[˙k‘`������Řcđ×"ţú3Á ����»f��������ŔFĘc.-Ńřó_"c އ'‚ĚŐďîL‚Ykc|3mť”ŕ�������ŕJRĚ •őw6.“ÉTUE�����W f��������ŔEîrgĂl0˘ęëß “g‡őúőUť˝, )e«ĘbY´™źśĚ*Ég+ž�������€˝~Uëv»"–ńw;žf���€+EI���������Ř“„ACTŐ'N§R+‹^ő¨Ĺ•śp™fĽnN#ť­+« f������€=ÎäÍ9üý éÎ����¸@0��������ö2.Ţé~~aŐómśHB[ó”Í1ó®cs&•8 Ż�������ţ˙ěÝ`eúđgfwÓ:„Ţ»‚A;ÖĂS,ŘÎzzöö·žžőlg?<{Wě]DT,4QšôŢ;¤'[ć?ď·űm&›m I áůÝ Ű¦í$Čě~ĎĽoCă¬ţĚ`ín 5h–*[fřýž­‹±  mǨđ$*¤ÂśUÔ ĆĹÂt{L"""˘Ý‰3"""""""Ş•+âŤő‡ź··Łěɬ°Ý@ĚÁ˝FĄ­0”FDDDDD Źţ¨Ä€ín QípŚRHͨ.3ěA—<ďó2,J Ő­T]S·ŕܲ\Ŕm.†ÇË岿հď»=0\Qí`Ŕڍ BUÁBW˝Ç»ú˝6*™Y)S…Ćt¸ĚކĎ«Ě «ÄžĽö} ř|Ŕcżě?ĘBŻ•÷OkHI•– #Ĺ Ăă±·a»‚"¸IűťGTH‹±ňĐ<Î#ĂşhDDDDDDDDDD 5xÁ€YdËJÔU}LE·0ýö¶‹Šá-)„áł`ěÉŢ/K2ŃČIłŇRee&– 3+CU5 †Ě¬ň™ÜSUÔä9#rADDDDDő›ób™Ú¸pfwkď‰ę̨ĆéX8\f`—Á»3Oµ˝t…^7%$¦[g¨rňͰ×%Ë™ö6üE%đ—”Á•™Ř“eşÔú ]ÎL2fĐ L‚q™ę Ű”––Ş÷ťšš|?öý-[¶`ăĆŤČÉÉA»ví`J®SťM~aáÂEXż~= :-[¶QM˛šĺü;2|%ĎËĹ6rž.“×ëU“<'äÜ\źżË”’’˘¦hë""""ÚŰ1`FDDDDDDD5N¬¤6™éó#_q L+XMMBa–—É2(TťŞj¦¬@¦–··gůó a—ÂČÎ�ŇRBm36Ă ¶Đ ÷ĐŚÜoTŹ RÝsĎ=*PőĐCˇyóćę|ýő×xć™g0bÄüë_˙BCçóůđńGźŕ™˙ţ׾ďEvv6š4iŚ-ZpŽj”>żtžgĘg$“‹JJJ²Húůââb5ɲ.—K…ÍŇŇŇÔäv»Ăźm"·KDDD´7aŔŚj…*HVZ_^!ŚRŻýŘ ćşTżN©äŞ8€ę»`×Đ<FčqYŚťŇ’3FFş”'P­1ˇ…jzPHś$\¶rĺJ˛Š|mo„Z˝z Ţ˙CřĽ~\|É%čŐ«'zöěÎA8""""ŞU:XVXX¨ÂbrN®.xIp.®çŃü~8&ałŚŚ uŃ„Ü'"""Ú›1`FDDµjíęŐ8çÔSQn·™ö‡řL´jť‹Nť;ŁK÷n8čŕ‘Űş hĎ⼑j�{`…0Ľ~ř!m1Ąŕ€iBâefh^ ¨0¨S’6˛~]É, łĘĽl÷Ăĺ·gĚNGŔ0+٢8E$Ţ’ é<BĎďlş7X·vňňňѤIśwîŮp{ÜI ě%+Úąe~~> ÂÁ2]uLnĄíĄT#óx<ęľ‹Éë2YY™jˇ)·0ÓçŻXËËËSłFŤ!33DDDD{+ĚhŹ%-uňvîTÓ†őë0gćĚđkť»vÁq'źŚ˙2é """˘Ý+2 ć·hPTS‚f¦—?4Č]q Á–Şš™Qý*f*\¦îŔoŻKŐ)“'*ͦޖů ˇł¬L{_äi3Ľ=çŔÓ® nĎy(L ÓŮ“sK**Č`• peD9—•š×ëł—3Ô<‘|>żř’1·ŰUľL™.·[='Ű‘Ş eösŇÖ'##˝Ň{ dЬLíł'ĹcŻ3`žŞý•Á3çüĄĄ2čV˘Ţ›´ JMM©´>”+˛ß›ě[łfMáµ÷S¦ŕĽßCQQ±Ú¶Ľ‡ôôô¨!Ęěmʡ”c Ǣ¤¸Ąez™4V‘ """ÚK9Ďá% ¶ÓţţXB`r*ç˛ňĽśCĘy¦Lrţ‹Ě/á3!çÔrN+çŃúś]Čí¶mŰÔmVV–:ż&"""ÚŰđ ęĄĺK—aĚăOŕő_ÂYçž‹3Î9×Lă�Ńna9*vI«´ f^=l)ŐĘtL3U»J+Řҡp™ F!łXń/3ĽVxgˇôjÉiX0-ű^Aq°ŇYVşz-Ô¬3¸m+r#ănI‡Ď,—sŹÂ ˝ą°uëVüüó$Ě›7OUB*űî»/† fßĎ ogٲřâóŻĐŁg7üŠ›°wmęÔ_đŰŻ3qĐA0dč`ŢZľ|%>ůř3ěż˙ţöÔS§MĹś9żcÇŽ*,ÖŻ_?rČ4oŢ<Ľž-[¶âý÷?@Zj:?âP{˝Ó0wî\´mŰçźrr˛íÁµ2Lź>łfÍR-@eĐ­eË–čÓ§;ěPÓ‡çąç^°÷c…Ś“÷úě˙©;zôh´jŐRmsÓ¦Í6mŠ} ć«}“ÁĽNť:aČŃ­[w¸\fh˙,ĽóÎ{ČĎ/Ŕ1ÇÍ›7aňä)ö>oQ„;µÇ‘GŽ;€ö:X&“„Á$\&0M_Ä!“ÜOTMWfÎű:”&çĐZ“IBlr,UŇ$dÖ¸qăpČŚUz‰hoÁ€Őkö‡úĆŚÁ÷&ŕ¶»ďA—n]ADDDDuË ˛,ąĽľy°ü><2¬X˨cP,+´+fľ Uo i©ö™°Áşb† _Q1<.FF:*”ÔŠŞÉA"KŢźť;ňńŇ‹Żŕ«q_!;;[ rIküřođŰŻłpŐŐ˙@Ó¦MÔ ÖÚµkńţűďăČ#ÇqÇŤ¨´«s˙ďľű®Şâ%3ě’đ×;ďĽÂÂBüđĂ÷2uŠŞÔ ^6lŔ·ß~‹YłfâꫯVŐĹäřěر}ř1ŇŇR±zÍJ|˙ý÷jŔLBo2XdaŚ}®=~üx5pעE U5lҤI7n~ţůgÜpĂőhŢĽ™Ú·oľůĆŢ~°ŇĚ/ËÉőÄODnnK¬\ą Ď<ó_L›6MÍ/ë“ůd9ٶěŰŔÔkRMmܸŻŐľKí—_~Që•ÂM›6Ů|eöűüwÝu'şví""""Ú;č@—śŻJU1ik)ä<:''GU“6Îů#«-'CÖˇĂj,“I*¤IŕLÎż›5kĆJfDDD´W1ADDÔ�,]ĽW]|~ VQݱBUČ,{ ĹĘ/‚Uę…á·€9f Ľµ¦T3ó›5|őż˝:iŰԆ`úüä�e>«ŇĽUvJ~G¦O˙SísŐGyź}ö)>ýô<öŘcp™°’0• T)şÂ‚#ëf?)[ÁJ ÁA3Ý h„ řyŇ$ÜqÇířňËĎńĹźáí·ßF“&M0î«ńöôuhĺUÚ¤ŞŘś9spë­·â§ź~ÂsĎýOU:űđĂŹÔ˛ReěŃGµ÷ůS|üń‡xţůçŐŕÝĉńĆoŞ–ťB¶uçť˙TŻuîÜ _ý• ˘őčŃMU•ji˛ţž={Ş�ÝG}€ńăżĆ%—\‚ĄK—âé§źV­Aťd O‚j§ź~:ľüę3|ôń{xíőWе[7,\¸ď˝÷ľ ŁUgĐę'©(&HČLW3“‹8äś×.ńŞ—%"ËÉúd˝rŽë ·Éöőů»®’FDDDÔ1`FDD †\=vëő×aÚ¤É """˘şc¨f”ĹĄ—Ŕ4C­'g Ç€ „^¶ěůĄe¦+ --á) b:üUĄqˇ`Ő2Ó0Ca- .YO™Vq™=*ĺVL«Ł i]~ů媅ĄěŽŁAáŢ{ďUű÷Ăİyóćŕž‡Éb „É@–ĘĚP OWeĐA3©ę5|řaáů»wďľM›6Ĺر况` ęeffăüóĎDZÇŹÇĄžßşuŢ|óMŐH`C‡ é$ŰŘgź>¸ďľűÔ`ŰÔ©S±dÉ’čoZ˝ĎŕÝ5kÖŞ ]·nÝ0fĚUE3áv»0zôY9r$,X *™ßvđç"űyÔŃGáÔÓţnźŮĄKg\đ·óUČnŐŞUŞÂ™Z‚zDDDD Nä9ž„˶o߮΅ś/Ęy®´­Ś\nWÂeN˛ Yż´¸×ëÓű!çćl“IDDD{̨AńŰ…÷Ţq;–-Y """"Şj8EŞU)&-,-UúĚRý2eč(PR†˛9óQňŮ·(~ů]=űŠźĹď}Ňź§Ă·a#>ŻZNćŹ)˛* †®‚Űłd;Ą^d řĂ•ÂÂËD[O —:tlŹPˇ0˝>ð0dČ ôîÝK…´¤ĹO˘mY1Ţ´™őéÓűîÓ·Âüň;uę€~ýűc}üćÍ›_ˇ‚YvvúöíSa`lŢĽy(((P­† ¦ćuîZź>˝qĐAaÍš5X˝zu˘buřóĎů*6bÄŐjČ ¸“IZ}pŔţ*̦Új†ßT›Ď}úöU­‰Gűöë§îIKPŮOę5|ć’sżââbuţ'íŰ%ô%m1…>'ÔÁ˛ę¶ÇŚF>SH•4©d&÷e˝rÁłěOMŮödlNDD{„6íÚU,_nî—/ ňňv˘Řţ ^ňÁţîŰnĹKoż·Ű""""Ş]ŇĆ,(AŔç=ÔSZ8Ę Kśed�FÚbşěą$ř%UĹŠżžŇĎ>°ď—�%e°ĘĽ2Ф’F¦=x„̬ ¸ÜiçžłiSU…,+TQ `ŰIŞ ^?öşÍTűkY/˘d¶Bů«šjť›‹&M;ž¬`řËş÷č†ßçÎÁÎť;“X“µ’›®śĐľ}{¤Wceffˇuë6ę¬X±°_°·©ýó¸SBŐ‚‡[ňx[·nQUÚ´icż–Şé[™öÝw_ŐňRŞť…Ű{Ć Ű”cůŃGaňäIß‘˝N©ţ ç˙+V,…Ő‚n·ąą­śďTUĆËĘĘ żďňvˇÔ#"""jHôą¸>×+++S-Ôőc –eDśűFžż×ä9˘Ú$`&çÉrˇś‹ćĺĺ©jĹrĎG‰¨!cŔŚöŻŚ[1`ć°eÓ&Ě™5 ż™€©ö`T˘Á+±ĘŔzó•Wń·K.Ő =^ă;1|%đ°ŕ7ż}ľć ]ŐppYF¸EŤ„ĘTE±€ŠÁgyáť»�ĹŻĽßÂeř‚UĹLì8 BM~Ř˙‡U俸Ą_˙â‰S‘vÖÉH?ţH¸ł3J•ď“ú#XMWëRá(u[ ł¨ fŠöHšąŇPP艚$’J\±Ö•‘ Ké +BóŃĂm*·ĎÔŐäśÚeV.X/a©ˇóm©˛±BýG¸ĄeII‰8“ębŃ2vňśTp .»P~AAˇ˝ E…ĄXżn“cۡ� ý;“››k§4ýöĂŰ­´^˝ż–śŔ<"""˘†ĘyŢ+a.}qś÷JÜhUËj“ś›JČLź/Ëy¬„ޤMg$^ADDD fDD´Çk޲%Ž<öX5Iëˇď˝ ç/H¸ÜŘ×_Ç)ŁFˇQăĆ """˘Z"Á±/Ś€Už=s ˘ţPĹ­PE3W¨ĹŁeÚóŁtâTżó[¶©`‘Ëĺ†Ů´1\íŰ�MrŕĘČ@ ¬ ((F`ÝFřěÉ(µŰĎ•Ľý¬ĺkqÖÉpui µ‰évśĄ0łÓĂUąj“´żôůüp»]žř­ę˝›h:o ‡ńäŲŻRą!ÖERÍëő"5-U=Öď«Ô>fyůyę~Ó¦M¬„VŢo3ňýË ™Taضm»˝Í€Ú?'™íÚµj?%h&­?ăC٦Ľ~ŐUWâđĂsuĺí:­PPDDDDD>WH K·Ć”W“&MÔůj´yk›„ŰäÜ]·¸—jfRI-==˝ŇĽ ™QCÁ€Ő+]şuĹĎ=Ź;nĽ3¦OŹ;oii)>űčCś{áE¨ŞüĽ<L›<sfĚIJĄK°aĂŮ_ř|^¤gd˘qŁĆčÔąş÷î…!ĂE·=PS/\„_§MÁ‚?çcÍęUŘşy Š‹Šá÷ű’šŠśě´lÝ ]»uÇľűí‡AC† +T=bW`ę¤Iř}Öl,[˛7nTÇÁç-CZZşj«Ô´y3tďŮ ˝úôĆõżHi‚š°lÉL7sgĎĆęU«Ô—2rbó-pŔ€8jıč٧Ox~i›züđáq×)mWßúč#T… ÔĘ>ČqXĽpˇ˝/+Q_ q%¨(_\µnŰÂAŚÜÖm@DD´7S± _�(*…i…˘Já<™…@(T¦* @ň_ü"’ööyUńÇăQúŢW°ĽŢ`«ĘŚt¤ŹĎ ýa¶jłQV°ÂĎŻÂ`Ö†-đ-_‰Ň/ľ‡é*{9Ľ“~CQ^>2o»Âž?Gí™0d¬ŚfŘŰ•m˛ ťqŞ%7mR¬Ž;TŘŮŐ™3g˘yóćŞMĄpŰÇBZCnٲĄŇzdPMdEłhŃ"äŰçuYŮYž—ÖóË–-SĂú÷ßÁ7¬§@8°¦WۡCŐęGÎ×®]‡vöą•“ßŔÔ©SŐ>·nť›pЬOďŢęvńâĹ8ń¤ˇgËËáI�®°°H fd¤ČiÇŽá°–|o(a®ÝÜ’@™ś›Ë$UŐäűL©Zl†*9GVV#"""Şď0#"˘zGşîzŕ\töhl޸)~řÎąŕ¤?ÄŻ^ąo˝ú*ľ?~ź/ę<yyj’đפź~Â+Ď=ŹÎ]»`ôůĂÇ·5P,2@7îłOńŢŰo«}ĄÄţÂB¦M›6âŹ9żŰďďC{đŃ#Ž=ç^pÚu耪Z»z5Ţ|ĺ|űőx ‹Fľ ‘I¶»ŕĎ?ńůÇöđCâ Áăo_‚}zŁ:dŰcžxS~ţąŇky;wŞIÂgŚ}‡qn¸őVä„^k’Ľď/>ůďĽúšzŹŃlłxeZjŠNúáőÜŔÁqáe—ˇ—#üFDD´WЧVRiËëSS0H@ ťéŮtĐLć— š´É”ĘeĄ@Q `pwn‡¬;®€»un,¨B—ÖěódË”W·ŽH=t0 źy eßM†UZ†˛Ŕú÷łČţ×50ísĹP_ĚÄo!ŕWŰw5ň ¶­X±'~ŹsÎ9G…ÇôŃyáůTëĐCQ!3‘••Ą*Í™3íóÝV­Z†×łlŮrĚš5;ćv$DöŮgźăďŻŘ*~úô_1gölôęŐíŰË9ŁŁšj%dV8d}űöU-+çĎźŹO?ý —]v©Úo}ZýŮgź©0ŰţűďŹNť:–/ÎŚU<ţ]»uµ·Űü1Î<ët´nÝ*t đzýxóÍ·đňË/ăűśöâ‹/t¬övrń§\L,ßńJëw© »»\:č&3ů>X*¬IĐĚůݰncODDDÔ0`FDDőR¶=ŕvŃe—ăÁ»ďŽ;ßÖÍ›±xţ‚„(żĎÔzĺeĽńĘ+1eń,_ş ÷ßy'>ýđÜüĎ;«ôZłjîľí6,±čŞCÂQß|ů%ľ˙ .¸ôśuţůI©ňÎ믫€ś×[†Ş’c&•ľ~™2'üe$®şńzx<)I/˙óĉęçWTT”Ôü?}˙˝Ş*öř˙žUUÜjŠĆîżëN,_˛Uőë´ij:úřăUřM®R$""Ú+•…JěsťREŔ=j2m+Ąz™!łT+סôó Âp™p÷íŽĚ«Î‡»C;Hi±`ËĘŠç3fx\Ć+uý%(nÖĹźM€e6ůćĚGÉgß!}ä10Lâő˝T=jR Vvş˝wm0Cn«Vřę«qŞ*ٰa‡Áçőbňäiř裏ТE śx≪ZŞłöÚŁwďŢظi=n¸áFśuÖ™hÖ¬ąŞ€öÉÇź¨«Xç{ť;wĆG~‚Í›¶ŞV”ŇrTÂeď˝÷5j‚K/˝´ňBŞg  >%c×_nżýĽ˙ţűČĎĎÇpUAÖÂŚ3ńá‡ÚűÔ #GŽD۶m˝}’5ę4<÷ü˙pöŮgăÜsĎCŻ^=Ő@śTB7nśŞšvę©§†öÁ¨ŐŠrDDDDTčďĺ\YÚbJČL?Ö·u2ÓŰ“}‘Ipňś„ŕä±sX˝Ś ̨Ţ:ęŘcUő+©rĎÔ)“ă̤Ýâ]·Ü˘‚B»JŞŠ]~Á¸ď‘GĐ˙€ÎżlÉR\sŮßUE´]%AłĆŚÁş5kqĂí·ĹýňBľäxřŢ{ńő_`WÉ`äç¤*şÝ÷č#ČČČL¸ĚŹß}‡{ď¸]Un«Šőö ę­×^‹˙Řďł&L›4wßv«ŘÜľú «–/Ă˝?‚­Z¨ˇR%©UiĚ4‚UĘÁPW0d¨VÁů}3 { Č_R†˛IŔ·te05–•…Ś‹FÁÝ©˝ýĐTŐÍb1ĘwDݤžr,ü۶Łä»ÉjŢIż"eđţ0Űä"QĎË`í,{˙$ 'm>“ĎÉW‹Ć=ěĽţúëx˙˝ŹU¸Mކuďާź1 ž·iÓ&8űěŃČ/؉3fŕ_˙ú—zËŇŽňôÓOÇ–Í[ńŮgŃĎă €=z¨Ja_~ůĄ ŁÉĎ­k×®8ó¬3í×ŁźŁ–€•góúőŰ·Űç•cÇľ‹ŻżţZ­SÖ•’’˘¶1jÔ(yäH,�·ŰÄń'k˙žřń٧_ŕŮ1˙ żššćÁСC1zôh4iŇHm_ ˛ŘŃ^OÎg%Ŕ%ä"݆R8ż˙Ôałşté�™Tř•scŻ×«žÓA3'̨ˇ`ŔŚę-—ý~Ȱa CR ţśó5©VvŰő×cöĚ™¨)ůůřż«ŻĆ“Ď?·u˘´şĽý†j$\ćôĺgź˘]Ç8óÜscÎóŞ˝o5.sšőŰoxüÁ‡pű=÷ÄťoĹňeŞrYUĂešT‹{ëĺW±«dďřżU%¶š°pţÜ|í5óň+HKOQ¤ŇGˇ»ŃňŰ)e%’8FąŐËô\:­ źŕ/*DÁ'źŞP—iżžuÚ HéŮCŻ18_ VÄľ¸r˛‘věˇđýľ�ţŤ[ŕ]µŢ‹ájŐ¦+öW{C¦Ú˘©*«ąJ}@Š»R2Ë4]¸çŢ»TeŘ-š‡ź?áÄă1řŕAČÎÎRżöŰŻ?VŮűą}űvU±LŞvÉüş €Ú·_ÜsĎż°iÓ&¬\ą ™™h×®=rs[ˇ¨¨§źqš†*ž©cg#s.·cŽ=ŇŢć@{;«ěílCNN#thß-[µTB{lo»=ža \öľ7kÖÄyhĂ€žöĎgÍš5Ş‚šČÍmŤÖ­sUĺµČ¶?€çž˙Ż=Ř&ďÇ*ŻFf“¶źŁFťŠĂ®Ö·uËVdd¤Ł]űvŞB[ŽýóÔŰ÷x\xä‘ĂkźŻË¶GZý™žžŠwĆľ©ĺpநa’€™/ÔqBΙĺü/Úą_]ž:·%űSXX¨Î‰e?•ynJDDD fDDTŻícĐ% J­\ľ"ćkĎ<ţxŤ†Ë4ąZí¶nŔ+ďĽFŤGťçݷކőëP^yî9yĚ1Q«i-[˛oľň jĂ·_ŤŁGŚŔAC†D}]ľhyđî{vąb؇ďŽĹ®Ř´qŁŞZWSá2MÂoÝw/îş˙5d*‰YI–™’A–€=č2w¬ť;Tu3w‹ćH=í8)‚QťjUR5 wwxşw†ýfXEĹđýąCÁtĹ^,TŰ |Or ž%ł+hßľ]Ąç›4i¬&-77WM2P&•"Zĺë3ĐĽys5őęŐK=ÖUhÖ¬)*żŻŕz\.S…®¤-Ą péđšÜ—I“°Y§NĂŹťŻi˛¬áŰç´}úôQű űmĹřągeeÚSgÄ"Udß$4¦ßb vč»íĽěC÷îÝ@DDDD ›óVÎőąížBÎo5 Éy~ůEDDDD fDDTŻučĐ)á<ׯWí#ÝîŠěçÍť‹O?ř�µeűÖ­xöÉ'qË]wE}}ܧź%\Gş=xxě '`ż@c{`oëÖ-ř}ć,ŚűüópiřhäµO?ü˙ăňJŻ˝ţŇ‹Q#őŰ?ôÝ·ż$ܱ}‡j!*ŐÇůÄ>¦±f?|÷-ţů'v·§yůITŽkҬzŰ©Mš4ĹÖm[0˙ŹyŘącGÜe~đ-Ž9îx|Č! ""jĐŚ`x\Z=&Ë2Mř~űđŰCşě ĂmÂňŰë1Ťęĺ»ě&÷ĐIżĘŕ_Ľ(-RRâízĹýR­?ë–në#U8ĐóęV<ÎŰh‚?«ĘۉEoĎ9WÝu9—sîQ4şĺ»óÇ=!`VŢ^>Ř&Sź›Ëw®–Uť+gö| Q˝Ö˛u«„óČű‚‚4nܤÂóĎ?óLRř;vęŚó/˝űěŰYŮŮXµr>y˙=|óŐW Z2ϙ睋Nť»Tx^*hmܸ!î˛iiiřß«Ż˘C§Nž?âčcpę™gâÚż˙۶m‹ąü”ź¬0+´ŹĂäF<¦şçᇱO˙~ž—cőň˙žĂ›ŻĽwůéÓ¦˘¨¨™•^űŕíw i1yÚ™gááĂŃĘţoŮ´Ó§NÁŘ7ŢL*Ź 'ýôSÜy<ž\yĂu8á俨V¬š÷>;/Ž÷g˙ĆK/1`FDD ’úCźCYRM ÎJ*n$mc$�|±ŕęŢI…Îŕß…A+¸uWşvnܨ*ĄŽ e‘ď#T­LćW÷UűNÔ9ÜŇ÷cq`9—‰ňŇ«Š ˇŐD(lWéýaŰ """"J†n ]MwO"7ç9˝ó|ť¨!ᥢDDTŻe¤§'5_qaQ…ÇK-Âďłf%\nßýúăą7^ÇáG­ÚMJE±ž˝{áć;ďÄő·ÝšpyůBáw*·s”€Y"˝űö­.ÓÚwě+oĽˇÂs„jٲú쳆~88¨ŇrëÖ®C§.ťŃ´ys{ţčWűÉ{‹ — ůb䂿_ŠV­rŹ´ťÜ´ˇňű[˝j%ţüă$’™•…§_x]~™:Ö ěÖŁFź˙7<˙ć ·źČ=pž»z'˙őÔ á2‘’’‚łÎ;×üßMq—ź?oćÔBëU""˘=E…á’ŞV˙**†Ô*s»<p5ok­Ub6mKŞ˘Iv)ż ŘíŇLn}2W2Ő]kZdkHý8Úą\4p�>üđC\pÁHKK­±A­Čŕ[MTdpVx """"Š'ň‚‰=-ĽĺÜ'羲’54¬`FDDőš'%5©ůJJJ+<ţáŰď.#ÄţőŕHMŤľ ©n5gĆLL7.îz~úţ{\wó-pąąî$ľ_Xşd ňóv";§QÔׇ Ž?ö8šµhć-›« V˘/Xş÷ěŢ|3¸ ö—y;wbűömŘľm»=mEŢŽť8hČÁ1——+Űvhź°úÚ–Í[Đ©KĹŞmżMűɸúĆU ,šÜÜÖř×Câňżý ŐQRR‚)?ĹŻŕ&UÓU;锿⋏?Ćâ…‹bÎó÷ߢż=ĐKDDÔ0Ád–ˇk—Umđ$X4ĚËď‡áŔ2Ěꬦ|}rKqĂ řTE´dÂeVh2í÷¨ĂJ±*%Ş`Ů3Rjj :ŘçiÁuV9KV˛·ę¬7Ţű!""""ÎóĆ=©BXäů9Ďi‰¨ˇc3""Ş×ĽeĄIÍ'Uś~ť6%á2'Ž<M›6‹;Ďą^D¤ĄăüĘ]M›5M¸ś„ż®ľäďřyâD”WzÝíö`đ!CUhLÚZVőK ™żQăĆŞ}çţ¨ZoŽ5*îz¶lÚ„E &\·×[Véą?ćüžpą6íÚáČcGÄť§Wź>:ěPTÇěßf¨6—ńuě±HDŽŃ𣎊;Ďě¬`FDD ŹĄţWž3쯌ŞTł4s˛Ő2’§ňoÝ€?¸FŁşá2{ňoŰKw ëĎR{fĹ«Že”ďuy­šŠ‹Ő3QłČv—•×[q]{jĹ„Ú ¬Qõ»Îmu -™ů„3Çó\"""jhXÁŚęµ˘(Á«hŇ33Â÷Ą…ă˛%Ë.sđ°CÎ#­*۵ď€5«WĹťoɢ…ÚNJJ*ŹmÝĽ9îr+–/Ăť7߬Âd]şuA×î=ě©;şö°o»uŤYݬ¦HČmýşőöű[‰?fĎÁ„ŻżFaAŞCÖ‘Č !C*Vz‹áĐ#ÇäźBU-Z8?á<RťmŇŹ?&śoË–­q__ąbąŞ&•đŁÂŤÜ1¤ú•\«Cdqwí�ďźKŕ·×á]°©' # "aSRŃ·ąBő‚wÎź°$ŕnş`´n 3-~•[+T€M6)?rţQÓă?ÎA%ç€Sů®'żÁhTŃžÓŮŤ‡ é¨ “\"“ßď·ż+­›áÍXn8ĎĹet¨Ěĺr©}e¸Ś"̨^ŰĽaSÂyäC}VVVřńúukáóy.×gß}‘ Ž% ­\±˘Ňs#N8o˝ú ’!ű»hÁB59ĺ¶n}÷ëŹý P-3ł˛łQË–,ĹÜ9ł±hţ|¬[ł7lÄ–Í›ŁV"«® ë7$ś§ożäŽy˙˘:VŻ\•pžgźx5AľTÚ´a:tę""˘†Bę—ˇše2̢dšF˛ů2UUĚ=xŕÓoŹ ďosâ %UU 3ân;ús–χ˛és`Ů9ŇnÓݵ“ś�"áľ„VhI;MWíxŻ©ęŃÚ]rĐŠö:´UŰłh…D{ÉgŃËę0QCÄ€Ők«V®H8On›6Ş–———p™ŚŚŚ¤+O5mÖ,á<ů;wVzîĚsĎÁwăÇcĂúu¨.YV¦ ăĆáńÂQ#ŽĹy_¤‚g‰”––âŁwߟĎ?Çꕉ«‹íŞÂ„ó4mÖÉhެŞc玨K;wěQCSaxĹ4p0|I-Şg<ýűŔݱ ¬5ëŘ™Ź˘×?BĆEgŞőšU)˝%=ö�“wư–®¶—µźĘL‡gß0<ńżîPí8%řzđÔÎ×#Η5!rĐËYM3""""jtŔLč€YM‹.KFYYYxy ľ1`FDDD Ďr¨^›÷űď çéQA޸¨(á2ŮŮ9HVvNây‹˘lSŞŤ=đŘchÚ<ąPU"RmLÂbśyľů꫸óΙ9çťzžć™: —I[Rż/ńČsVVrŘ\n— VUqqâź}M’Q‘˙RUÇě—«Ň_ŇHKEę_GČH‘=Bdˇô«ŕýu¶ú†"€äfRyĚÚľe_N„µ#_í»kG¸{u`ô�’LŇÂĆăB}¤+¤ENń^'""""ŞO$`&“óYŻ×[ăçµŐ˝0Do˛?š3`Ćso"""jh0#"˘zKK“ú)á|˝úö©đŘăń$\F®<KV2!"wŚmvîÚĎżö9ôPÔ”’âb<x÷ÝŞŞY4S'MÂMW]ŤM›6˘®.3©/iJKK¬Ň˛Ş·ďt»ę¶xk PóWTíNáÍCc%†ýoĽYĹę_–?�ĎŕýáîŰ=*+,BŃ«Ŕ÷çRŘ0–,sLŇ®łčµŹP6}6,űß\ĂtJ=ö0¸š7In?tČL€jˇE¦śűÔT¨ËYQˇ&×KDDDD´§“óßÔÔTu_ÎKJJT°«¶DžgG»€C“öú»a –%ó˝3Q}Ĺ™DDTo}?aBR- 9¤ÂăôŚĚ„Ëäĺ'nŁž7/qÄxŐ¶šµh{}óçÍĂ—‚‚Ľä·Ť|ŃńäĂcŕÁѸqů ë¶m[UřLŞťU…T[ëŐ§7 ¬ŞźIH­*ä‹ ”””„aĽü$ßwA~~RŃ"ed&ţŮQ¨ fîpčÉIEŤ—Űó™Íš íŻÇˇhí&¶m‡oĺ<ú2/?žž]adV>wŇk·ěs€Ŕ†Í(zö-řfĚU1ܤuRŹ*‰1$*„&á4#´w’C-´±‘¶ě›6mR-|:uę¤ĹäĹ ÝË Ů˛eËÔÔÂ>?Ô­€dţ&Mš¨)===<ż¬{ž}ţŘŻ_?4mÚTÍ÷Ýwß©ůöŮguî%UtgÍšĄ.ž8üđĂJ#"""˘z)---ü™CÎm%ŘĄ«šŐ4çůzäůłŢ=ŹT/“}‘çd䜭뉨ˇbŔŚęĄÂ‚Ľ4ćŮ„ó5oŮ=ző¬đ\nëV —“đŇęU+ŃľCÇ„ó._˛4á<ą­['ś§wßľjşţ¶[±ÂXś7÷w,Z°‹.Ŕ {eU¬ŘUXX¨Zež>úěđsĽýňv&ÄIeµĂŽ8={÷A§n]›[ľ˙Ë—&~żŃ4mÖë×­Ť;ϲ%‹qđ!‡ ‘Ĺ ˘:Z¶JüłűůghŐ*DDDTYx°Äp„ÇěÁ¸ a©sKuË4öů”ŚpEF·LyÖ~=uŔ>0Î<…/˝‡@i)Ľk×aÇ}O!sČ�xô«KÍĂHI•‘ ňá_łŢůöyŃŹżŔżz=,{C.ĂŤ´ˇ‘ń÷sě5—‡ËâE©†=�dö­ ONvhŢ‘¸*‘¦U«VaćĚ™X»v­şĐ {÷î¨pü˘íS €ß~ű 6l@ăĆŤĂfRˇA®Ú·oŹÁ«đ™Xjź“-^ĽmÚ´AłfÍÔs˛=gË ą•őŘçÎDDDDDő•\¬![ČrŢĽÓţ~łĄý˝ŻwÇ®ĐŐʢ­[źoËy¶žOÎű%`¦1hFDDD fDDTďHő­{î¸7nH8ď_NýkĄóŮ9ŤT•‡m۶Ĺ]vÎŚ™ f˛/Îť‹D:vî‚dIĄŠ.Ýş©IóűüXąbĚűżý2?˙đ=xéM¸.y΀Ů÷ßL;żËeâú[nĹńů jZ›vmĚfL˙g˙í$2}ęTTGÇΝγÁÜfŔڍŠŇS`”yĂç]~#lç«b–Ě–’Дهą-Qôß×ŕ_ż–˝Ž’‰SQúëMŮëMaşÔüi…łe¬ü"Ic+ˇŮM©#†#}Ô‰03Óaů’kOmZˇęe©)Ş=f0 ·ëŐ˝$ŕ?cĆ ,\¸™™™*üµ#‰Š»j_BŐ¤­Î#Ôŕ”<–ŔŘĘ•+1{ölŚ?ŁFŤRŻőďßťís9Ż%""""jčrrrTŔLH— weee©óh ť™Ő¬J-D¦dÎuFV3“íËĹ B.‘}!"""jČjľQ-’Şb×]v9¦O™’p^ą˛íäżžőµ}÷ß/Ńâřôöúú‹/¶}”/(ú'ŘžŐ$|5wöLüv~ťöK…×]nşt몂_w>p?Ţřč´K˘şÚ–­[Â÷óóvbă†őqç?É>^‰Âe۶lAutďŮ3á<łíŮĹ ĹťGŢÇź|‚ęčŰŻÂy&˙ř¨jĚŚtX—dľ‚çOF(°ëTJfń[ŞúYĘ ýuç5đôí3`!ŕ÷Ă·3ŢŐëŕ]ĽĄ ŁěĎEđ-^‰Ŕö|Xţ€Zż™‘†ŚżźmOŁa¶h Ë[…öŮöv¤5¦+3Mzd"xŰő ›3gzőę…SO=UUUH¶rs`K*’IpLnsss1hĐ téŇ[·nĹňĺËŐ|RÁˇU«VŞ$5Dr®,ßőĘEBeŇ’^.Ćć.¶ĽŹöpäyĽş€&4IŐbç…$.“ E2V0#"˘=ŢöíŰ0wÖlLüî[ü<q˘Şć•ŚŃ;9ŤE}íŕC†áÇマ»ü’E‹0îłĎb®dżŢxůe$ŇŁwo4mŢĽÂs˙}ěq¬Zµ[6m–͛+µ­lܸ >řęK¸ÜŃ˙©––•gžs6}ŕÄăq•//’‰ěÓż_Ü׋‹Š0˙Ď?Qűx ĆľńFÜyäËś˙üű<6ćżČČȬôşßPţĎż˙Ť‚ü|TG·ÝѬE lµŹy,ăľř§ź=ZµWŤç»ńăńĚC‹V-Тe+Ő~ł…˝Ś,×Ň–ßÖmŰ‚hŻŕrÁČĘ€µ=i“)Í*tśT‘.É ,¸»t@ν×Ă;y&Чţ ˙şÍöşvÂ*-…)Á10JK…Ů(K…ÉRúőBʱ‡©ű†aŞŔŞŇ‚FŞ…Ąx`Ř@V(W-l¤µĺńÇŹNť:%ĽP!(‹Ą­}^ń§}¦˛¤=¦<8p zŤ¨ˇ“*feee*ŕ%á˛|ű;ÂFö÷żş˝|uDűďł—éó} ľÉ~5t Ńá‚3ϬT}A*ĺçĺU+LÔľcGŚ>˙üŻvÄxćńÇQ`Ż?žÇzŇAéř“N®đĹšU«p÷m·aóĆMHääżţµŇsK/¬3b.łcÇvĽôżçpé•WÄśGn‰ä¶nľď-K\ŐcăşřÎ^yţ…j‡»ö8@ţ"Ăt‘ÚĄ×ýă¸ňÚë±ď~ĺÇ–Ú¨Ď=ý4~ť6 Ő%?ĂăN< oľ;(ďď®[nÁ}˙yMšDo9µlÉR<őčŁę˝ČĎ*ZŐµ~űď‡'ź{DDD{ű„ÉLOU\fźÄ•¨ŕBąŬŚP¸ËĘĚBĘ‘Cŕ>t�üë7ÁÚ´ ÖöÁđË2Ňa6o 3·%\9ŮŞ™z U —!Ř©ÁŕZ j:÷ŇU jŠ ^ůýţpĹ!i6lHXM—¨ˇp»ÝŞZŘÎĐ÷‹Ň2S?gšµÓ´ÉYiX‡ÚŠ‹‹ŐcÝł¶¶MDDD´'aŔŚöëÖ¬AMIĎČŔżţýoűË…ŘeÉÓŇÓń×QŁđúK/Ĺ]—TK{ôľűńţ›ocź~ý™ť…U+W¨S2•ÔZ¶l…ŁŹQéůC7`&Ţyý5ěŘľMĺÚuč~ľ°°ă?˙oĽ”¸zÚţ ßĎiśřJş÷ß~¦Úq:•Ř_šĽđě|4ö]T—Ç“‚ăO>9a3±čĎů¸úŇKť“Ł*mÝĽEąjÂ)ŁNĂ-’’’óüůǸřěsÔĽRí®e«–Şĺת•+ńÓ÷ńه$Ě=ć„@DD´·P]1M™Ăţ7Ҳ0«ú’ĺĄň™˝#=®Žívm‚9îň*c*H¦+éÇŐ`H•×´TX¦#PýőD]·„ĺŞQ˝,9ďXşt©Şp&-3ő ˛ho ^rţ+.9?–—śKŘLnĄšpMpʜۖmČ÷˛˛]™GöEZvę¶ťDDDD fDDÔ ¸Ü.üóľűĐĄ[·„óžuţů0îk¬_·6áĽ+W,WSU]uÓŤ*XéŘOŔ«/ľ *´Ĺ3îóĎŐ”•ťŤć-Z ¸¨[¶l†?‰ŠY998ňčcÂŹ%ě&ĎĹ«Ú&!®KĎ;ŞŽa `aíęŐřeĘduEŕ®}ţyřâÓOVŽÓäřä'9o˛¤]éy]„ç˙ű߸óm۲/=ű?5UU›vípěńǨˇŇń)=ěb™– ™)nUĚ(*E°Y�&‚/’ă˛B #m*¬Wµ»4ío,ĚŕcgX«ŞÁ­P›Nv UBSkhŐ¬|˙÷°Ś–©L&­vd+Ď>š7oÖ®]‹.]ş }űöŽJf˛óʦă9""""˘†G>[4iŇDU –v™rţ,-+ĺÜyWŰe:/ŃźYäVÖ˝}űvőý¨ľĐCÎ×%ě¦ç‰ö'Öç"""˘ú—şQ!•ËřĎc8řC’š?-- wÜwoĄÖś5ĺ¤SţŠC;,ęk™ö——_s ’%mW,[†ŤÖ'.W\{­ŞÔ¦É—C‡ K¸ś¬ŇŹ?ŞęnŇJrâ·j$\&˛sáŞëŻÇ®:ĺŚ3°+N?űěਠrüż;î[AŹ¨Ţł‚2Í„ˇţg&\é°R=H°L‚bpÁoöP·,•·2ěíÚ˙“Ś™´ŐlśŤ=™´ÝůüóĎńá‡âăŹ?Ć÷߯*%ôë×G}4«–Ń^OÚb6kÖ éöwź:đUPP€­[·†+Ś üJvr¶¤×Á1ů^tóćÍęVŻW¶+a6Ů=o´ ĂeDDDÔđ[I""j:w늧_x|p•–ëłĎ>¸ýž{j< 4tء¸ć¦›âÎsÜI'áŻgîZP*YďO¬ôü™çť —»úL]ö ěĹ˙¸»âăŹÇ©gś‰ęęÔĄ .ą|×öAB`w?ô`R•Ţo»ý8�DDD ™ĉ¨’eXö Ši¤xŕĘJ‡+5ŞńĄşâߌ1Păí#ăî§ę¬¶Ŕ´ť¬Ě Ž�ţžH©FŚ“ěsE™N´Ďéäń!CÔ@ŃŢN>Sx<ŐS."ÖĎI¸LBf۶mSŐÍ’ xE •””¨uIĺ2iÉ©?Çddd ''GU0Ó!´hűGDDDÔĐ0`FDDőšT»čňËđÂëo k÷CŹ8?ő$Ů_HÔ„‘ŁFáî‡VaŁD®şţüíŇKk¬…¬GÖ'덦Sç.ŞşVu]xŮečŢłvŐ•7\ŹŃçź_ĺ«ř7n‚űyd—BršTS{ŞˇÄX¤ýčĂO>5ŘGDDÔ`XŽÁą XŰČČd˙ónŘ<fV&ŕq«p—i¸ŕ’gP‹ęw­©’€ě›*]fďWvÜ0ŰĂŰGĘů\»ví*LRťÁí8˙‰ŐjGÚ9ź×•4VP """˘†@¤3EË–-‘ť¬R,çľ~ż_U3۸q#¶l٢*ëůcMš©mÚ´IU-“őH{L!땪eM›6UŰŐç٬\FDDD{‹]ť%""Ú :vęŚ'ť“ţúWdffbWí?`�^}ď]ŚyâI|?ţkű Ş7pjß±#®şáF <¨JËťńĹö2ńĚţůó桺¤ŰU7Ţ^}úÄťO*yËĘě÷úDŇ­/Ąr™×Fź˙7Lź:5á’+®ŔŞýX¶dIÂů÷éßwÜwZµĘUW &lÉźüî<ôä“řęÓOńâg±}ű6T• G"λäb´lŐ DDD ]¬Á –Ɇú7ŘlIőŔĚÎ„Ż ţŇRxěçMĂđ‘5Sű.¦}c™& űß|Wfş˝WB˙ŻW"˝ä±čŠ$_z°KÂj2ů|>5?ŰkQC#çľMš4QĹňóóUµ19÷•IZÍË$0©x¦''9–óe ˘ÉwŽú|ZÎťu�MޤIMWKÓçâŃÎÓ‰*ĚhŹ%UŞŇ32™ž–­[ˇSç®čŇ˝<mÚµCM“ęX·ýë_8˙˘‹đé‡aŇŹ?`ýÚµq—‘/.4G†~xµí$6ć•Wđű¬ŮřćË/1uŇĎŞ”{"M›7ÇŕˇCqěńÇŁßţű#Y'ډAC†ŕµ—^¤‰?`ÇŽíQç“/E ‚ó/ľ$ap­:<č ĽřÖ[=c~üî;Ěź÷Ö­[Źâ˘B¤Ű?÷¦Íšaß~ýqŘQGU9¸—–ž–ôĽÇ˙ĺ/8ę¸ăÔ±˙~Âü>{ü>ÜeZĺ¶ĆˇöĎ|ä¨Ójĺ÷‘hŹdDŢ>ˇ*—ă[ˇg X2¸’–ÓeĘä›””ŔeIÜP!łş{1¤˘WV&ĚŚtčd™ĎŢOO-E̤…ÎęŐ«Ő} Z·nťşť={vx°©WŻ^»Üę2VËť-Z`Íš5ř㏹čÖ­›“@˝<7kÖ,tęÔIUC#""""ŞĎtKźË­´®”đT “‹j%,¦_—ű±.XŤ<·vV6“ď~ĺ|ZÎߥZ°žßůp´Jf ›QCÄ€ŐŞ¶íŰcâôé¨Odź˙qí5jÚ´q#–/YŠŤף° ~żOź¤ťf‡NťŃąkgű‹‹Ô”~űď§&±aý:¬Xş›6m@a~Ľ>ŻÚVVv–ŞâŐˇs'ä¶nęj޲%n¸őV\wóÍXĽ`Ö®]í[·ˇ¤¤Řţâ$K­»Ďľű §QŁ ËIKÉšü™Ę—-RAN¦d&śG—ĆO–\Éxâ)§¨©ŘţjĹňĺXµbňňv˘ÄţbJľDĘĚĘFnnktîÖ•ŐĘ„d¶,ç`ŘĚĐĘd`Ćţ7ÖlěżĐmOĹ0ü~ű%©`©yĄÍ¦ ¤!4j3.ë0P>`c…Ö'ó—٤¦˝{2UËÎ`55ăNŃ,[J±B§ŮäOw-Ö/“V:S¦LQ t{Ů—É“'‡çioźkF É|şânmmJŹ`ËĚ@…±~ýö±Ď[7ŕ—_~QŻď·ß~čßżżÚŻiÓ¦©y0#"""˘úNź'G†¸$`&çÁ “Jf6“[ąč#Z,Ú:dy©T–••Ąîë`™s9g¨,růXŐw Ĺ!!˘Ý$’€×®Č’%=űôQS}±tŃâ„ótěÜŐ%•óz÷í«&"""Š.<¨N•!ô8tk•?˛L¨v™VŞţťů0Ę|°ÁYŔ4Âó»ĺq |@& g ISŰQ•Ńěç}µ”Şh–Ü’Ë”2¸02ÓŚ49Ń©´ßµYG Ź}>Ő§šçT2puć™gF­€ "±úÚç)sĘÍÍŹ瞣*6Č9žÝäąŃŁG«Áµ`(Ť¨á’se9·–Šfra‡śK L9Öí0ťmĺ%”&óËŧ,“lj*Ĺz-Ú…"DDDD żY$""˘:URR‚Í7bㆍŞ2ÜfąÝ°AU‹;}ôŮŞ%g"źĽ˙~ÂyęS`ލ>RĹ,G ,ř0řšj—Y>¨b„Ş›©ÍĂ*)…UdOţ�Ě€_Reöx!!ł`(L ř„fd[8*TŞśćR\°RS`J›l·Ű™y«w˘U/Ómxô Ud%'Ls’yĄŃŢFÎŁ%<&SdđKÂgÎ*d5‹VŐŚ¨!`ŔŚęĚu—]†Ů3gĆ|}ńÂ…řç}÷cŕŕAQ_÷ű|xaĚLúńGÄ㲕‡: DDDTĂB©­p€,t?! ş,8h‚±đ<–©ÂbFf–x}öT”–Á(ó´xz[¦‘©đZ řŠT03eĐĆj…iÉş Ź ¦jŻ©[Ý ^slé[ç�[ďUŹ>—6ŁT<ÖŻÇ ‰E» DDkqODDDÔP0`FDDDufżâĚňóňđW_…î={`Ŕ ÁhŰ®RÓŇPXXË–áç~ŔÖÍ›‘ČŃ#F ;§¨–”C¬Sy�*=+t1 ™ÁŠfFZ ¬,? �đúa© •LV¨]¦śq»`¸\ęÖLq«eĄ%¦eŘĎ®đ|Q3Uͨ·%ĚbU=pV1#""""˘Š"^±^ΊeŃžO$Öňú9˨!bŔŚęĚ_N;Ľó ňóăηxá"5U‡´„şŕďŐ<U‰ĚŞŰ’ÚeýĽQ1Ôر‚óYËY†Ą–•€ĺv!ŕvĂ•žSć·ô†Ś¸ŐČT ˇ ›=Ł«Ţ6Ƭ(ŢŔ¬*Ó•~ŁU‹5Mm3r]<g'""˘†ĆQiܸ ®şáÔůâć˙ţůO´lŐ DDD¤é>“ň@ů ‡j]iÂ/–ę€7Íĺh†éH‹™ę…`€LOÖcŰeę˝±Śňu™Vy{Mµ+¸źRéĚgÔ~‡&Ë9É@Ž.Ąf Ţ,‹)VĄ2V0#""""Š.ZëĘšŻRZäç)ç>ÄŰžăŃžŽ3"""ŞSÇ<.ůÇ?PÓ¤eÔŤ·ßŽĂŽ<DDDTNŞŽ©đUj*F°,•Í2Śä2 ĺI.#ňµ/_7Ú^ÄëFÄ]µŁ|ŠąŁAVĐí1Ť8ďŹŐbKt>]ëŻÎĽ±–‹W˝-7‰hOÁ€ŐąŃűîyč!UѬ&´nÓŹ?ű?ňÉ ""˘2ávĂĚάŘňĘËŠˇáU˙""""""Ú“9ŰyęÇ‘@ř>fDDD´;ąADDD´ ;üppĐAřpě;ř죏±uófTUÇNť1ňôQ8qä_ěqs( )ćvÁhÖÖ–­á§-Żß­°0\şĹd°Ĺe°ż%¨D«Bć|.ZĐL^“[żßÇ`í0#""˘Ý&33ç]t1ÎţŰ…řsî\ĚüíW,Y°�k×®ÁV{�Ľ¸¨X}‰âńx‘‘‰–ą-Ѷ]ôŢ·/0]şuĹgXŔĺ‚«s, ?oy}°ü.gqs¦Ëj‹Ź%Ó:SŞ—ůýţZm÷IDDD”,Ěh·sŮŰűî×_MDDDTóŚôT¸zwďë‰á®0łG+ţjŔŐ0gĄ˛Şp™ß°ż;u‡—gĐŚvDDDDDDDÔ n7\]:ÂhÝ2ś#ł|~X~+ÜŽ…ů2"""""˘Ú/ V@ Î#á2†ĘhOÁ€QC&íT,f·Î0zveş`És€ĎŻ^Sł…&vČ$"""""ŞY±‚bÎŞfúuąńŮźŐŠ‹Kŕv{Ôó¦i2hFDDD»fDDDDDDD ‚°˛łŕ>ę 5 đ((‚UV˝× ¨ŕYU۶Qbşz´S¬Đ™„ˤE¦sĚhwbŔڍˇ“đ=Žá:lÜö‘žŠ@~!0«8Ő0#ÁĹ<Î×ĘĘĽöT·Ű®\Ć fDDD´»1`FDDDDDDÔ€ŮCj Â0)ł´ËĎZµ€?ż>ŻWU.Sí1e<#ş%"""""˘Ł[dĆŞX¦ź—`YQQQĚ–šDDDD» fDDDDDDD ™!& uĹ»=µi…Ô«˙++eŰ·Ăë÷EĚĎA """""˘š”(\&·^ŻĹĹĹpą\áĺ¤z™ž—hwq¬`E2¦€eşěÁ űŃŔ~pç˘ĚmVäçÁť‘ Óă ¶Ň4Ř*“¨68+“9ďű|>Ŕď÷Ă4á2ÝSO ŃîÄ€Q%jĐö+ßePÂŔđ¤Á}Ěp5xQâőĂWX„ôôt¤¤x`†.ŘŽ…¨fE†Ë %%ĄöTb> ¨p™ËĺVźĺ"fzYçg5Ϩ®0`FDDDDDDÔ€9‚Ň^%Đp»ÝŞKaa!ĽŢ2s»]áÁ """"""ŞľČ xä±n‰YZ*S©z^ÚbFĆś4©5-ŁUAcČŚjfDDDDDDD śój÷`33üšT1ÓŻ•••©Á ÉUóOyŘL–#"""""˘Ş“‹zäł—´Â”)x? ^«XĄĚ´?‹™Q+•ăg3"""Ş{ ídpB5Âm32Ŕ!Ď0 Złx˝%*llŰ�UOĺX°b™ţ|¦Ë<ńĂe•±zŐĚö 2;ă—iXşx1ŇŇŇĐkź}Đ»o_UWdëýś„[i“©ëšnť)WÖëp[fUŤós“ţŚĺśŞ,ăg4"""Ş+ Őµ«WăśSOU÷?7M›5‹:߼ąsqă•W˘¤¸ ‚ű}ÄĽó€ęŢWź~ŠGîżĆĂO=…ÝmŰ–-řżk®Qá2mÔYŁ0#""˘-\¦Ż— ™äyyNnő`…<:dFDDDDDDU-4ć ”EˢÍY©Śá2"""ŞK Őˇ%‹á–kŻUá˛ý<÷<ôP —Mť4 ·]=:ué‚WĆŽUÍ3Ź=®ÂeMš4ĹI=EU0rء  gź|ď˝őFŽ…knş {şâ˘"?|¸ş˙É7ß QăĆhhö†÷HDÔDk—˘+t Lhč`™žb-ODDDDDDɉ‹*Óó;—ü\FDDD»fDDudŐŠ¸éĘ«PźŹ}úőĂŹ=†ÔÔTiżĎ™­nŻşé~ÔŃ """Ş+Ń®ŚwV1Ó2�’hy""""""*-<¦/ň‰őşóľ3\ŮSżĆĎdDDDTŰ0#"Şë×­Ĺ W^‰;¶Łgď^xđ‰'–ž"'©l'Úµď"""˘şŮ~%˛Š™«E&ݦ'"""""ŠÎyˇN¬°Y´€X2źł˘µÎ$"""Ş Ő˛­›7ă†\‰-›6ˇs×.xř©§‘™•u^ż?€oż‡/?ý«V¬TíçÚ´m‡!‡èłGŁqă&5˛ÜÚŐ«qΩ§˘yË–x˙‹/đÝřńx˙í·°bŮr¤¦Ą©—#Gť–t­Ó§ăĆ+Ż ?^±l?č u˙ś .ÄE—_¦îßçťö~~Ť›nż]şwÇËĎ>‹?˙řEöţN2.Wđ¶­>ůŕü<q"V._Ż×‹­Za˙0úĽóĐşmۨű!žßއŻ>˙«–Ż@Ii Z·iÁ‡‚SO?M›7G˛ňóvâÚË.Dz%K0dŘ0ŐÎÔĺNîźM©R÷هâű °aÝ:.Ú¶k‡ŁGŚŔ #GŞÖ—ÚKĎţoľňr…ĺ/=÷śđýç^} =úôŽą­Źß{O=ú(Zĺ¶Ć;öĎ?Ö•jçžzÖ¬^…«®ż=óŚđó‘Ǭ¸¸-ss1ôĐCqʨQę¸Guâ‰ę÷ůż/żŚ>űěSéuýžN8ů/¸ńŽŰĂĎ'űóʵ>í“÷ßW“xô™gp`čwMď×›ö±ź?oŢ{ëMűwqzďÓO>÷|xůüĽ<|úá8á[¬—źŹý\ç®]q”ýó9é”Sbţś7lXŹŹŢyżN›†uk×Ŕăń ×ţý:dřpśn˙=ËČČTóů}~5äŕ ËŽ<ću»O˙~xú…+Źëną Ć‹cžĹô_¦É7GŘ·üăÚkŃ®Cő»řĆËŻbŇ?`łýţš5k†CŹ<\z Ň32˘îëšU«ěżÓď`ĆŻÓ±yăF5_ď}úâ/=Íţű0´ŇüΟ͠!Cěí˝Śi“&c۶möď@K ··wîE…w“}ŹBţ>0öüřÝ÷X»f ~żú;<ü¨ŁpĆŮg3lKD´›Uő*÷XĚ8 ADDDDD]´Jeúq¤ČŔXä…@±–!"""Şm Ő†Đçąť;vŕ†+®TĚÚwěG˙ű_ä4ju‘˘˘Büë–[UxEČ|9ŤcŐĘXńÚ2Śűâ <ňÔSčÚ˝{Ť,§}4ö]<ýŘT@©ß~űaëÖ­ř}Ö,5ý2y ţďź˙Ś9¨ege«PÉs~?'ŹEnëÜJó/Y˛O<üú@Üşmäř|á×$ÄsĂ?®Ŕş5kÔc Á5ĎČTÇđ‹Ź?ĆÄoľÁĎ=‡n=zTX§„ęţuë­>uŞz,ˇ Ő,_şT…Ä>˙č#U9.Z *Raa!nĽújµÜŔAđŻ˙ťt¸lőĘ•¸ĺşëÂű/? q-üóO5}m˙<řĎÂÁ-9>úXéă'űŢ­Gđ畞™w{Šzöɧ°Ń>nsgĎFżý÷Ż4Ź„¸$\ćń¤ŕ¨ăF„źŹzĚ23U;W™ľüôS¬ëŔ¨Iń~ţŃčcí÷K~÷"}n˙žĽűć›Č°ţěkŇ´iř5y_ňóYżv­úâĄY‹đ–•aŢÜąjš0n~úidffVX§üýşóć›UXJţ>čŁü~-]Ľ?~÷ţűňKÁ™˝^Ůżâ˘bőšż˙Ť7B×n•˙nܰ˙¸ŕBűw˝öłŹőâ 1uŇ$,[Ľ˙ó_üß5×`çöíök˘mű¶=c– „ţ1g6ž~á…Jż›“~ü÷ŰoKJJÔkÍ›·@^ŢN“é/§žŠkí÷ÍÖ­[pŐ%—Ú ĐŁWOdĺd«żożöfüú+žyń¸Ýž¤ßŁTmĽîď—cĹňeöľ¸Đľ}G.«W¬Â«Ď?oďĎ$<iߦ¤¤€ö<U Ť%:_$"""""Ú[ÉçĄČ6—"™ŞeńÚcŐ%Ěj|Č“ŕ×Í×\Ť•+–Łu›¶řĎ3Ď iÓf1—yę‘GUĄC§N*ÔŐwß}ŐóR}čɇÁäźÂí7Ü×?xżBŁşË ©®6ć©'pÍ˙ýź ťč§sgĎÁ7Ýń_~‰={U¨xŤTŘ’ŠEŠąíúëU4gŁHżű.Ž=á\qÝuČÎÉ©đÚýwüS…łÚuč[îş3ü~äx>|ェ Ň3Ź=†'ţ÷ż Ë=ůČ#*(%UĘnąó. <(ü˙űřříÜjoďíO>©r’�Ń-×^EÎÇţ{}Tł’QVV†Ţôj˙%|săí·Łc§Îęµ…óŘű–,Z„{î¸]UÔ’/¤˘™LâÄ#Ž@aA Ečb‘ăwČa‡©÷÷͸qQfľúJÝ~h…€c¬c¦Ş“=ń8~řö;üÓţÝxuěŘ*UK$ŢĎ?}Śž}ňIĽ÷Ö[9j®ąé¦óż˙öŰŞRŰɧý5† Q?űýH¸lč°CqĺM7 7·µzMÂ÷ŮÇ@Âx˙ą˙ÜůŔýáĺ$$u÷m·©ßŤ† ÁŤ·ŢJđńÖkŻWUűŢëmśÉ%Ş›üţK€ďřáĂŐ|ň3mÔ¸qÔýűúë¸éŽ;0âÄŐcżĎ‡îúľźđ ţ~ŢyhÓ®-ž}ĺ•đĎN~ż®¸đ"UĄmâ·ßŞˇ&ş{íß;©ú'ŐĎ:˙\z“ăß}‹Gí÷ö釢K÷n8ůݧVÚ—×^|IUž»ň†ëÂż÷łgÎÄÍW_­ŽŃ—ź~¦ţ[‘ě{|ýĄ—U¸LZßc˙÷¨eč¸m˛˙ű$ĎŘë|Ç~˙ç_|1h×ŐÔ`¬Çg˙{ä÷űŐż!2É}ý%O>GÉwÁ2ąÝnuërąb¶ĆŚ%ÖĽl“IDDDu3"˘Z`,UULBEâĚóΉÚjP[¶d© seĺäŕń1c*„ydą=ôo\pćh¬Yµľ§ »˛\x?íť'ś<#O;­Âóűî××ßr‹ŞnőÚK/â/öëR}¨¦HŘ$Ve´ëěíţüĂ8ćřăT0O“ĚŐ7ޤfR]MŞ3év}ú8Čú|ü tďYÎ’ UwÜw/6mÜ KĹ©}úő‹ş_@şí†TĄ,™çÇCjj*’őĺ'ź¨@aË–­đđ“OUh_(ďYŞQť{Ú(µ~i˙yŘ‘G˘&wňI*`&U´®ąéĆ 8 +I«NqüIĺ?˙xÇLŞĆýóľű±më6u¬ßx啸®ŞŠ÷óŻ =ýڍˇČ/?ţX°$üwĎ#WŘ~Ď>}ěź÷Łöß—łTë˘Ő—ˇműöęµě¬ÜűđĂ3s&Îąđ‚ ˇ5ů=ď’‹pďíw`ÚäÉ*`VU— ©:&me%`&Őô.˝ňę ÁŔ6íÚ©źąłfÍQ!`öâłĎŞßăŃçźnM+ä˝qô1(+-ĂC÷Ü7íźi´€Y«Ü\\ó7U86RUí”ÓOWUá¦üüł %kţÜąęöTű¸¶tü7PîßůŔ*ȹ߀ "˘şdHčqĂ*X~?Ľ>Ż=I¨ĚŻ)‚ .űü"řőŻ–'"""""Şţ’[ą€§¬Ě«îË÷¸4ÓˇłX­1c­SĎĂpŐĚjÁ'ž·¬Ż>÷9l8š6‹^Áě‡ożU·Çw|ÔJQh9îÄđÂ1>ej8(VÝĺśtő¬H‡q7n˘Ş7ý>{öŻÁČAŤ.ęŇ­›š˘‘°—,'Âwl߆ÜÖmÔóC* ę8Rš,óô‹/ĆýPîłSĄşŐ¬ß~SaŁź|RµŚ¬ ‰SÎ8˝B¸L“ăy’}Ľ%ôířń50;đ T¨mÓ¦ŤŞâ°Ăż6uňdäíÜ©^?đ áç“9fgźľ }˙Í7¸ę†j,ďç_vHÔç'~üűrĆ9çFÝ~űqŔâ×_~Q•ÝN Ě$\)ż˙±ţ¤ĄO¶oŰŽęčݧoĄç$ä§uęÜ©Ňë­Z+ŻítlS*¬ýb˙ĽĄşŘçśhŽq,žzôQl޸ Ë—.Cç®]*Ľ>lřđ¨ÇF·–Ý j&«en®ŞRöă·ß©ßK ľŻ.j""˘š“\řKĚđ}{HÂţź}ë󡨤 ţ€Ďţ·Ŕ…ôô´ W×'ż~""""""ФC`şB´LĄĄeŞ„Ěä»oůü•(,­Z[gQ]`Ŕڍ|7~ĽŞ2ôŕăŹă¶ëoŔšŐ«đŔ]wá‘§źŽúAoů˛ĄęöĂwÇbÉâEQ×)Ő“ÄĆ vy9MöĄk÷îQ—“×zô6˛˙50KKO\LZ[Λ;WU[żv6¬[‡Ĺ‹©ŕÂďó‡ç•|˘ß~űĹ\_ĽŘůyy¸ű¶Ű1}Ęőř‘§žŠŰF3–ËW÷#J›JMŞAIŔlĺňĺ¨)2č{ě‰'⍗_Â7_}U!`öM¨=¦TĽr‡’9fýě}P۱}{Ě€dU%óóßµőG._<ćO=ú>x睨óčż/ŇÂ1i…ąhÁ¬Z±Ňţť\‹őöďĺ˘ Őkţ€ŐáIńÄ}ÝtU®¨ťýVů6×­]«Ş—‰;oľ9ÖęT[K±ÉţoBdŔ,§Qô–Ą™YYęVľôŞŠłĎ;Sž¤Zőžn˙Ž4x°ý{µ?úŰż[ş},íF üľ@Ii©=I°Ě@FF:ŇRSěyĚ çOúJűÚ ‰5D:&ź±$Lć }ß—nŹY\\jOĹ(((Pgę 4ťËȤ?Źé0™ó–¨.0`FDT äjŁÇžV­rńĎűďÇ^Ó§ăť×_Ăčó˙Vi~ đh:ŕ‹‡ěĘrÎý”jG±dd«pĺďĚC]‘ÖŤĎüçQĚ™5+&Ňęň€1ů§+„Ë„>Ť5FuH…%ČňÓ÷ßǬě‹ěkA^đ8ĺääÄśŻQăŕ>J`«&Ť8ńĽůĘË6yŠ ĚeŰű ·RŃLľhq҉ćOćé/4¤éŽí;j,`¶;8>R˝K¦xŠ +ţ}‘߉—˙÷ś <jňw§uŰö8ŕ ápâî´ł ˙=EĹ…¨m=úôĆóoľ®ŽťTWűî›oÔ$Úwěs.¸�Ç<¨¶IP¬|Đ!8lÉ÷Âmyí'üHKő =-µĽt”l>Ż'"""""Ş9’ KOO…ÇăFQQ±úVľÇ”ďdu°,8_Ĺ0YdĹ2~V#""˘şŔ€Q-řĎ`¸LôčŐ—]}žyě1ĽüÜsŘďŔávsš$]sÓM9j’UÝĺ4ůŔZZZŞ‚fŃěµßËn”şź·×]~™ ?uîÖŁÎŤŢ}ű"·uëpUŞc†?*Ěr5R·ÎŔ]Uɶ$P÷Ú‹/≇A§®]Ńwß}“^^®˲bĘĎĎŹ9ź5jÜ5I*ćIĺ4 ýđÝ·8锿Ş[Ż·Lót;Q-™c&żň;"7n„dí‰WÍ©źOv6 ěźÍ+cǢS—ä[3ζŹéżn˝U˝ŻˇĂű'ž€n={¨¶Ł.·ţńÇ0Ó˙=ă'ˇמ@Ú`ŢóĐCŞ…çüyó0oîďřeňüńűďř÷żţe˙ťÉÇ_Ď<DDT‹,{°ÁţűlÚ·–Ŕ¶Â�Ţť^ŚCşčÓ.ĹŔHU­1ăźqXŐ©h&Ő¤ĺc—|'+ßCJu3]A:Ú÷­¬^FDDDuŤ˝-jAë6Ă<§žy&† ¦*oÝ{ű(,(¨đz‡ÎÁVqK.BUTw9§yż˙őyiµ· TŐ«]‡Ž¨ żL™ŞOmŰ·Ç ŻżăN:It¸LÂR~żŻŇrşŐŢ1Ţ‹VÁM“ŕ?®»ç_r‰ ů|^ŐbPÚtVE§NťÔíÜ9łcÎ#•ŮÔĽť;ˇ¦o/!Ő¶ÄŹßoŹ?ůäJó&sĚ~ź|R ­qÓ¦áçu 1oGôpÚöm[±'ęúů,^¸°JËM7N}Ysě 'ŕľ˙<ŞZ¶nÓV…ËDdµłÝĄuŰ6ŞęĚÎ;b¶řÜťäď±´Ú=ç‚ ńô‹/⼋.RĎżŁ])ŐŽ€=ţŕőYřhv)~XâCFzŠ=‘Ă”׌`ĺ2fÉjŚłYĹçő=Ëţ^Ď…¬¬Ldff¨ďŔĺűy©f&“^6rş/"""˘şŔ€QąůÎ;ŃĽeKlXżŹ>p…׎<ću;ńŰ ęőh^3O?ö,t´r¬îrNcßx#ęóľóŽŞ^%•®úőßÉp…®¨r¶¶¬ŠŇ˛Ru۲U«pxÇiâ„oŁ®űcŽV·żL™ŚeK–Tz]ÂA˙wÍŐ8í„0é§+˝®«‰Éń[ďą[µî۶e‹ ™I¨-Y‡ÜŹŹĆľ®üĺ$áą/>ţ8´ĎǢ¦zä‘j€xÖŚ™Ř°a˝ŞĽ%U»$)™cöÎkŻç=účđŐr˘y‹ęvćożUZN‚|ß~ý5j\É'ţęý~qtđďËďĽ żŻrPQ~Öwßv+^{álŮTŢBÓ[ühÓ®mÔőNś˝ZÚ_ářQŰ2221řˇęţŘ7ߌ:ĎšU«pű 7ŕñcŁŞŠ÷Uµ¸çžSŹ˘m«oż~ęV*Q]±ěăąş /L*AFš‰ś,‚eË,őg 4Qís¶ż”[ą¸W&©d&!łČ*e:¬Ů&“¨¶1`FDTG$¨uÇ=÷¨ Îß~‰.Ýş©ęHEEE¸áŠ+1ë·ßÂ%¨ôę /ŕíW_ĹGcßEŁúYu—Ód_¤˝ßŁ÷Ýn•(AŹß}/ýďYőřü‹.†ËíJę=¶jÓZÝnX·®B@'Y˝ű[‡ţ>{ľţâ‹đ{‘}’*RO=ňHÔĺä8}üńđű¸ůÚk1cúôđk۶nUmřţó;JěăÔ»wź¸ű™™‰ű}TÝʱyňˇG¬N©Âi7¬ÇÍ×\Ő+W†_[Ľp‘ý3şBgi˝yčG ¦ĄĄĄařŃG«ăőßÇW·G{,RRR*Í÷mŮ‚űîř'f͡Ú~žsÁ–4dşýř˝÷đÍ—_†Cj»óć˙Ű];¸[µţ~-ś?ŻZá(ůůtčÔ ‹,Ä­×]Wáç#żŻ÷Ü~‡ú»)µRmc{÷ ţÎ|ńÉ'7wnřy©DřâgŐďj4ňEP“&ÁĘoóćÄ®W“.ţÇĺj»ňwřŮ'źTŐĚ4 ™ĘĎgĘĎ?«ö©®ř9Ĺ{ŹRĆ˙sűý<q"}ŕ8ÓV,_†çž~ZÝ—ŞfDDT»TQ2Ë´§�6íôbĚ…°^ä¤đ¨Ż¬ŕ|&XŔڍ®DV'“ďěĺ{^ą•™|÷ę ˇ ąeŔŚęZíŚ�QTý8�ç^x!^{ńE<óŘcاŐR\sÓMرc;~™<×˙ă*ŕ”••Ť-[6©|XĽčňËpŕAUXgu—.—·üë.Üő7ăë/?Gă¦ÍTŰC]µKÂk#O…dučŘ ýößOµV<÷´ÓЬE >żęޤ–ďŇ­+N<ĺľ{čž{đäĂ«uHHL*cŤ>˙||úᇕZŚŠk˙Ď>۶á×iÓpă•W"=#CMŰíeĺöĄ|üqµľD$$v›˝ý;nĽ_~ö)şő쑣 ŰÜ÷Č#¸őúëíc0 çŮË4jÜ~űK€‚Ľ<5O×îÝq×ŘÇľv2ŢŇó«O?Ť~PŹŹ;ů/1çŤv̤Ťˇ<'ÇLZcŢc˙ ¤ňžÓ)§źŽoľüJ…„ţ}÷ÝxěÁŐń•`Z»0úoç«ŕUM“ߥ—˙÷?,śż�§Śˇ~Ď˙qýµ8äĐĂ’Z^˙|n»ţüúË/ęç#á(ĂţYČľ 9w=đoŐŽłŹé¸/>W!Á+/şH© ·yă&ű8ůqÁß/ĹKĎţ/ę6O9oľň˛ŞŚÖŞu4oŃO>÷<j‹´>ýçý÷ăţ;ďÄ{o˝…ÇľfÍZ °¨0ü÷¦]ű¸ăľűPSb˝G °ÝbďÇ?í˙FIď»ńߨ`II±j?+żcŇjôĘo�Ő…€jŹ9aľ 7řávČL<.ś�í!¤“\Ľ™źźźĎ§Âf2Ĺ YüPGDDDu€ĚęŘą]¬BXrőŃݷݦn…[řĎc¸ăľ{U,%- [¶nAŁ&MqŘ‘G¨ŔĆŮ» ŇúŞ»ś&áś?ţ8zőé‹BűkjzšÚ?Yß-wÝUˇ5b"ňöî‡R“śśFŞm§„Şâú[nÁM·ßnďOY!6oÜöÚă˙ţůO\rĹ1—“ö€>ńnµ÷ąßţű#5%E……čÔµ‹ ¦˝örX˛† †ó.ľXÝĆ>>šK†TČzîµ×T%) “©öŠöü}zăŠëŻĂ3/˝„­Zˇ¶Č{”}˛ý˝zĆś7Ú1+¶Ź™ěÎ<÷\ĽôÖ[Řď€*-'WĐ=ýâ 8őŚ3Ń*·5öhµÇíÁ¨ŃŁńĚ‹/ŞőÖ†¦ÍšáńgźĹ ˇCÔďĺćM›°zůŠŞ¬B˝·˙˝ţ.»újôěÝ ^żů;óж}{Ś<í4ĽüÎŰ8xP…e$t÷ÄsĎáś .TË—— oÇě?ŕ@<ńżç1xč!1·÷·K.¶o˙ÖmŰcÓ†ŤXłrUÔö©5i衇⥷ߨłFŰď«ňňóŕ÷űŃ˝g6}îŤ×ĐŞU.jJĽ÷xĐÁăą×_WaUůůIuCů“}‘`Ţ‹ożYŁűBDD±«Ť®ĎóăÇ%^¤¸UĘ2RL$Y¨–ęäĆŇÓSU§Ż×®b&ômdĺ3"""˘Ú–ěY‡‘äkF·FŚÇz2·zr…žsELňZŽÜ–•y§ žŠĽ˛@_y '–[ąJˇ¸¸H 䛩­ADT]kWŻĆ9§ž Ź'ßLžjX®»ě2Ěž9WßpN9ă í-˘]±ë|Nź_‡oP~Ţ­[ţ:[©úP÷Ődź›űü>uŽ®îŰçč—鸣…×A´'‘φý»>yi îý*Ĺe9łpň~™¸îČFHO‘ŹŰŽ«ßÁ6™DDDDDD»[qq) Ug†””ő\´ Âťí3‰ęšüţÉŻĺ—ă§Ůż«ięu Gš.—ŞĆ'§ˇ*|.ÓĄć׏…óV˝&“ţV"J ŮXía¶$Ş_ĄëíżÓŇÓ3Ô3äď°ü7#üßĐäTź˙ž§¤x† xp^čÖ1YˇŰ€c˛·‘b<Žwy?R“ ¶Č$""j@6lXŹßgĎVáÁŁŽ""""ůęĄĚŔë|(* +EŞýŤ€îÚÍďa‰ö,ŹG ¶;+9É@;/t#""˘şÂ™DDDőśţrAŞç<őđ#ęK…ŁF‹ěśF """’ęeRµlŃ&?ścinŔÍoöHRŮEf‘U×5V-#""˘şÄ fDDDőÜs~Çő˙ř‡ú¡¬¬ Mš4ĹE—]""""„0aŔç÷cí/`”@¤şM{°B—.+/aV—ĹĚô€ÜáÖ """""ÚëÉg#©bVPP nu+Lg‹0Ý2¨¶ńZe""˘znÉÂ*\&=ʇ †§^xÍZ´�‘°Ç¶îy­S¡2ű\F%Ű"Âeĺ4 Şł§s‚´‰ čDDDDDÔ@íÍ*ṳ̊?71HFDDD»+í…Ú¶oʉӧ†SÎ8CMDDDD±HŔ¬Ä+{^y0u>{ć31äY+x0ĘçQ·–şĹžř¶hé@•Á2Ç —ŃnÇ€Qć Xđ‚!ł=u\ĆpŽ•DŮGŐ&”<3t©3Ž15hň9@Z@&3źhhA4çű‘÷Ů“¨.1`FDDDDDDDuĎ*OĽY†=X ůýfčžnŤ©nÍ`Ĺ2馩'Ž­5\É„ËÄŢşb3"""Úť0#""""""˘şg3f>űŻĎžöTâ Űfޱ+|Ąľ<aÜökn—iO€Ë4ŕ±oSÜLš5d‘Ő»"«–5Ü*f """Ú#0`FDDDDDDÔYŽÖîŘ|…ˇÚdö IqŔ€· (-óĂď„ šáęeŞŹ¦Ěăµ˙đü€/ôĽ=ŻÇm #Ő… w°¦ZÜpě€*|>i±˝&Q}-d¦/R±bΧ穯śźç"?۱u&ŐĚöBj?p&[PÝ-CcńňÚ{QěŤRiŔ0Â!´Dë-˙C* Řéó˘ĐŢPfş énáf:¦p1!6gřŚęT PUę\.łÂ�ßďŻĐţcDDDD)Z`LźCꀕ3lŤśŹ–‡ĐÔź2·˝˝¬±GW vfŚv̨Ö3cö`Hqi�Ą>řú5C é k2ŕă %ËŻ–7Ő6üE”y€´©ö@‘i”·• Ö;«ť|™ě˙ĚCII úőŰ©©© r>ź3fĚ´ŹŃ8öŘcŃ®]őüÚµk1eĘôčŃ}űöeĐŚbŠ ’E>–Ďú±Ü÷ů|đz˝(++łďˤçrëńxŕv»Őäń¸CŹ]ŐúlBDDDÔP1`FDDDDDDDµBşJíÁśÂbĘü¦ýŘmâÂó8tج*ôܦ˝NY­Ĺ^ Ĺe˛R d¦™Á™ÔOłił&ďăĹ_š5k0fĚ3hŐŞęőë׫}oܸ1222j-Ô%y?˙ü3Ţűz÷m[«m}ôŃ'xóÍ×qŘa‡áÖ[oE“&M@DDDDÉ ‹Ő"2Ř&(..FQQ‘ –IµÜŕüFÔ6“r[ZZŞ&!źI\.RRÜČĚĚTŽ0hFDDDđŚjMq™; Ľ(ňö˙m]F…¶6ÎŞUfżÜ0 34 äGŔďU·%~äűěY$Xf"”4«5yyyŘľ}»˝ý�ę‹›oľ—]v¦Oź^ëĂ,uX*ěxŕhѢşw¬,EŁ?7h·@+))ĹćÍ[ÔTXXŻ×§Z´Ëég´ĎŃÚnĘz¤ę™Ô6nÜhŻkłz윇hoÄ fDDDDDDDT+ KČ/¶ŕ‡ F¨ž™aÚS¨e¦ŘŐAY«!ˇ5©Pfl†Ľ°o Ëööě 7ÜF]\iWż®ĺ“3™¤ÂŘîpđÁńůçź«űl‰IDDDDńčĎĺŐĘ‚Ź%�VPP€ââŐš]ž—@šLşőeZZŠj})“ł"™łŤ¦Lr?Xő,¸©l&A3ą";;[U7#"""Ú1`FDDDDDDD»,Řt¦\QY�EĄ$ÓŤ2-ü˛ä~¨…MyËPëJ™bV˙ŇŐǬJŰŐëTs©őšÁŕ™„Î¤ef™ĄÚrf¦š*dć2¬Zj•iDî^LÎÁ1ŔÚ˛e+¶nÝŞĽš7oŽ&MWZĆo›m۶#%%99Yj�mŐŞUj°«]»¶ćÝ´ił=ď6u_ÚN¶jŐ2Ô:(¸źRѡ¨°Ř^§Ą¦ť;óTĄŮ~ăĆŤ;j˙,‹‹±aýFű¶éééČÍÍEffzř}DĂdnÝşőö6 ѨQ#{ţVˇoĺc.vůů…jŔ/++S=WVćE^^22ŇŐvŠŠŠU+Ođ“jgrlLÓĄv.Ú:wěŘiĎ-j?äX6mÚÔžźá5"""˘ú.˛E¦Ü–””¨p™śWĘů˛nq)­-ĄĽÜşÝ±Ca:€&繲>9‡”óN9_–Šhę#Š˝ŢĽĽ|UMBf©©)Ľ8‚ö: Ń.±"n‹J(°'źż<me8Ăaę~ ” 3T÷J+ŕSm.cő°´Âá­ĐëF ´^=żc9Ă Ţ,K-§*xíÁ&űÉôTpŠ·ízż7lŘ€çž{óç/Pcň|ăĆŤ1|řa8óĚ3’’ŢW ^]yĹŐ4č 6|ZnÓ¦M6ěP\{íŐj0míÚµxíµ×đűďsŐŔ ’É Ú~űőÇßţv>Z·n­ÚţŚ˙ú|řáÇŘ´q Ľ>Ż˝ĚëöăŹĐ§OÜqÇíáýüů§Éxçť±Şj ¶I�M[gŤ>G1ĽŇűZ˛d ^}őuő~|özÓŇŇĐŻßľ8ďĽóěźsĺc-­9˙÷ě 8âČĂqÁçŰ?ΛŹGůŽ?á8 p�žyćżX·nťÚo Ó 6 ŁGźĄi΀›î>űěsŚ˙5¶oߡ^ËĚĚÄŔpÉ%«űDDDDTżéó?ą•JĽ;wîTÁ/]±,==M…ŔäĽUćsV+KDć×UÎŇŇŇU53ąxAÂkňŮE·Ý” 2äbhűEDDDÔP1`FDDDDDDD»(�#Ô˛¸ĚŹĽB/F°ÂT´�—Ą–*bö PŔT-.aąŘ2±Š ¨UěŰĐ�‘ľUë±b.ڦř( ří‡nx2]ˇ g•6€ş"T .Â5×\ŁŤŇWűöíŐ Ö˛eË0ţ|ű÷ż˙mpąBËXęµĆMá› ăU…°ĚĚ ”••Ş×7nÜ€űď�3gÎT^]ştUˇ°+Vŕ㏗« i·ß~›ÚVŔ ŘŰ*«Đ˘T·Ň÷żüň+Ü{ĎŞ„Ó:wîlŻk%ţüs>nąů<đďpÔQG„—_ąr5îąç>,X°@U‹čÜą“€›0á[Ě›÷':wę\é8H%ĄK—aß}÷ ?'…K–,µ·ó'^yĺeU±­]»vŞ"Űňĺ˱hŃ"UőíňË˙^FÂg˙{ö9Ľ3öU}BöUö{ĺĘ•xűíwÔ±|ôчU8Žę/â’‹3¶oß®ŞńJu[9Ź• äüXbÂy®)Q L.|0ŚT4oŢLťłJ•4!çër1TEÓŰŃ-;‰2Ěh+‚ů KüđY† u[Fźß@0ä%A–ËĚ`CËŕźŃń‡nsU¨fs·BŤ2čšeĹŢ2¤xS‘šbÚ{PŢZ§|_ëf`HĂžţyu{â‰'ââ‹/FëÖąj_$ őÔSOáçźĆ›oľ .ř[¸JLsçÎĹСCp饗˘S§Ná–?3fĚRÁ´Ă?7ŢxŁ= S-_ľ·ß~¦MűE·¤˘×©§ž‚ÓNű+N9evŘdW^yŽ9ćđĎkëÖmx뭷ШQ6.żürśpÂqŞPqq±ýüXĽţúŞ‚Ú!‡«7ĽőÖŰX0!~®»î:´i“«‚t.{â‰'0q╎ĽůůHŕ-ÜęÁçľűî[µO×^{ š5kŞÖőő×ăńäOá˝÷ŢÇYgťˇŞ˝‰oľůďľű>úőë§B{űîŰW­OŢűăŹ?ˇBw|đˇ:–z ę9Ç“Šbrńş@Ĺ>•—RUL.4óYKúŠ2“sOðԹ¶´h—saą0DŞ ËEŇ^^ÂgR-ho|]X"""""""˘hěÁ{l%Ą~řü¦¤ĆTU±X5*X&!3+XyĘRˇ2RŕWm-ődżž {.—˝€‘TIW.3¬¸»X’€–Z‹‰˘R|ň¶›˘´Ů¬eRlŢĽyŞjŮUW^6­sŐó¦i¨–’gź}¶ ?~Ľ=xµY˝¦‚röűhÖ´© }uëÖU xéA´=şă¶Űnõ×^dÉ$!´“N:É+ĂŇĄË“Ú?ŹÇŤË.ű;îřçm8ţ„c‘š–˘Ž{zF:Ž:úp{­ ¶oۡZ| ©âđÍř čб#.˝ô’PX.¸®ľ}űŕŠ+®@NŁś¨ŰR?#ĺ&¬ŕs-[¶Ä 7\~/ň>>x0öŰo?äbńâĄjľ’’RĽńú[ČĚĘÂYgť‰}öéŁ×¬*™ÝpĂ jľ_ýUµ%"""˘ú#|BčVWóűž[¸7 ]ôś'™jb‰ćŃ/ChP•Ń‚AłŕĹ >ź;wć©°YĽJiDDDD +Ń.˛Pć7PXęG�V Ti,6CBbö@ŤËtĂ(ßpˇŘ熯¬S–xńű:?Öl  ÔBŠýíEnc7ş471¸ł›şáqK•+# ‹ą•ŕźşú—şď˛÷ŐŹR{_Ýi.¸"ć­ [µj•Şş0räH4nÜ$´źďď!CěA¬,UáLZBJŘJżÖ±S'4k\&8e¨`Z·nÝÔä¤×٬Y35_aAaäŢDÝÇśśF>ü°ĐţĚtűĚFŤŰy©öóůŞM§řő×ßź_€Ă†Wí4ő¶őX[§NŃ»woLúyrĄméĘláA<ďłĎľŞť§Sff&Z·i«ŢËęŐ«qĐATŰĚM›6˘qŁ&*|&ÇHr‰ˇ\ˇ˝íčÓ§Ź:ć[¶lE۶mADDDDő‚É­´IĎËËSmŘ ĂTm,%ô•––ZaŢXśA°d*śéĎš\�"Ź·oß©‚nr‡śKő4"""˘†Ž3"""""""Ú%–=đRTRźeÚ.~F°2eč–‡Ž*aˇyÉrj~żX™gaňźkńů<+ÜţŇëĚY·ÓŹ«,|0ÓDď\7ΆÎÍÝČN3+ Â÷e>żýŘe¸Pâő#MÚdŞRrUjŠT[ö:˘SÇ.•rň8==UµÜ‘•žW±2ě- {†ô’uJŕÎŹ+Vá§ź~Ä‚ °víZ�+((°âň傊Ĺ,Ä{ŰR‘AÚuN™2Ë–-S¸üü`¨¬´ÄŹěěĚpčlăĆŤę~‹ćÍí}O«.Ň:¨E‹Q·S>pW±’śĚŻ+—i˛ —ËĄćŃŐ"dżäʱ:묳Ż[Á¶«ÁvŞ6o٬ÂiRíŚęÝÂRß–”” ¨¨H]L Ď5·Ď=ÓŇŇBóÉśŇëó~K6d¦çËČČ@YY™}®ěSź5 Ős))ž:ýLADDDT×0#""""""˘]`ˇ8`öřĚĐă€j—iŔKÚ_šţPŔĚ´ź1­-…aĎďJü>|ů{ ľž_Ś-ůüŞŻc°*™0á6Mµ„´gt~µţyë|xpśuJÁČý2Đ©… 樹 '•Eňčđ›×Ţߢ˛�<é®ŕÜÎ|S­łTő© &©p¶ĘČ’Ýt»+~mŁß‹,gEĚ+9Żź~ś„§źŁŞžI[Ęn]»©* iiXµz ~ţéçp LÓt…ĂwjĎBs›6mĆłĎ>«Zt¶iÓFµš”[]µaüřďŐ‡»Z†Žµ„şôs‘!łŞ¸B“‰ň…ň ú|^µťśśqřp0łśoFUŻłTű¤–-[€ęgő29ß”‹‚mŕŞeĄ\”Q^8ţş"ŰXFV'Kf?´¬¬,”–zUŕMÎëĺÂŚćÍ›Vš/Úç"""˘úŠ3"""""""Ş6Ë2ŕ-ÓˇźČÁ{@Ĺ ™&üö,R=L• ř±ŁŘŹg*ÂśU^ű,B“ąĄ2ŮÜhßÄĆŠ˝¶ú1}ĄK7ůg/Wě `ňŇ2¬Í ŕ‚ˇč“ë®”ŠżĎŔtŮű€•l’Y—Ă>ęjܸ±jkątŮű™#Űwě„TÚÚ˛e‹ EIpJ˝=«ĽNyíĄ—^VŐĽţďć›T«Č¬¬L¤¦¦ŔíöŕëqđóO?EÝúÓ0™~řá|÷ÝwŞĺćm·ÝŠÜÜVHKKWá-©¨6ý—™ö¶¶†ňZµjĄжnÝj¶•ÚŲ̋.“*ňZmcéröm.ľäBő8ú`ˇ źÓgě#"""ŞG¤Š®śSĘ9ťÇăVç|‘dČĘdŃ;kŐ!Ű•¶›6•©€™®¬&ÁłhűĂóN"""j0#""""""˘¤DŽČPŤ7@i™żB‹C#T%,ŘzŇFpRů/ ťPäóăĹIEřuE)ü`¸¬y¦ ’‰CşşUKMSˇ'űőű°%ϋקaÚňRxíu,ŢčÇżÇůđô9hšá‘ŘPx?`âľź˝ďe> Ő:ĺr™čر Ž}űí\rńĄŞ ›ł„™´¦” 2p&ŐĂ„n÷©[D:Ék‹/Ć>}űaŕ€ѢesőĽP[¶l©şőůüÚ© jË1đ\fĺĘ•(..ơ‡Š^˝z…ç—ŮÖŻß BdŇ’3Hł0xđ`5ĎâĹ‹°cÇvŐ&ČYÁlÇŽřsŢź¨ ‚KIMUÇkÉ’%j_śd˙Ö¬Y§ŢkłfMU»N""""Ş_‚mă'ĄŇú<%%%ę|‘A˛ČpWM…˝¤%¦śóJđM¶%méĺq°B±5ĐFDDDTź™ """""""ŞŞP(źöäGdÁ(5úÚÁ”˘eŇ2@Ŕž·ÔŔçsŠń늌J·Ç†GOËÁŕ.iŔź˝¬Ď2°'K­ đ.´näÁŤGgâĽÁhžloYXâÇý_akA ©]đT­¤,ąe’%ŐѶmŰ-›·Eť¶nݦć“PTďŢ˝±zőjĽôň‹Ř±c›Şh&»¶rĺ Ś;V RIXŞm۶Žý†É‚-A+ľ§fM›bÓ¦MXa/ď·Ź±Ě'qăÇOŔgź}¦Ö/á6§FŤÁçóaÆőęVŻKž—Ę ţů§ŞŠ&cee^,[¶ ďż˙ľz.Ř^SĎźŤĂŹ8‹.‡|ŚÍ›6«VžRŃaÍš5xá…—TȬfŹGFF:N9;vîŔ|„Ĺ‹–¨ ]ŔoŮŰ܉oě÷Ćgŕß˙ţ·:zꉍ~¶˘ ¨Ďr±EffĹJaÎęµr_?Ž×Ó9_uI›NÝ‚Ţç ŔëőVx=ZŔŤ¨ľb3"""""""J’Q©¦/|&Ü˝Q˘„Çj$čdŔeşT+FżéĆŞ-ľ]P‚Rź‰w î’‚óĄŁI†PLT2ŕ#10÷1õɂëą&e¸đÚÔBě(ôaů>ź[‚Ńöz܆+î@ŽęÚiÉž™(őúíý3íuFkńYuĄĄexúé˙Ƭ’••ťŽűďżąąą8űěłUĄ°·ßz ć/@ë6ą*¶páB,Z´C† ÁE]X±jśîaAć9r$Ţ|ómüç?O`żţýáö¸°aĂ{Ý 1tčP|ůĺW•ŽË°aĂ0gö\|ţůöĽŃ˝{wśzę)ö󇨙żţú+î»ď~těŘQU[±b… źeegÁďóVXßyçť•+VâÝwß·ßĂbtčĐ^Ě/^˘8đ�ü2m:jFĹv¨gťu&–,YŠźž„M·¨Şk2ř¸iÓfĚš5SU‹;í´SŃĽyó ÜhĎ'í'ő)°śg»Ý®pe°Č a•ÎťcŘŐŕ—,/­:ĄĄ˝\¨!çńRĺW*«ŐDN"""˘= fDDDDDDD””Č`Ž ×¨ö–áĘZ[ÁČŐü~ËŻBdiˇ8ŕÂ/¬Á¦KEĆZdşqÁÁéh”fEa™öňţđĘő¦T˝1{}[ d˝Zf›ęvH×4lÜéÇŰżŔpűńëĘRű9ş·4Uµ®@ś‚T“€YŔň©”Kĺ•\ŘUeee*”+¬ÖĽy“ŕöí—:h žyćŚ3S&OEéÔőš¸Î?˙|jÚ´ixYÝ"S*‡E3úěłěőşńĆo`é’ĄŞífŻž˝p÷Ý÷`Ë–­ř⋯Ô{uţGŤ:kVŻĂ—_}ŽŹ?ţ Płž={⡇Â]wÝ…É“'cĘ”)ęg*•ŔN<ńDÜqÇ]ŘjŻSW’őőęŐĂ~ţ6<÷Ü >}şš$äuŘa‡áďż}ôQ Ě*ĘĘĘŔM7ÝnÝşăŢÇĽyóÔďźTa“*p—\zzôč^©‚íąt•1Ż7ŕ’s»´´ÔpŐ0ŻĄ EÎ9OuÉą®´Ę ¶ŹŻ\Áڍ!Iö¬ÉHň5#‰[#Ćc=™Ž[=ąBĎą"&y-GnËĘĽSPOEžĚęf=żüµÔĹĹEę {3µ5¨\´+“cµÉĐ—>[(?ďÖÁ çcKÚůYÁ6sPk?ź?FQ÷ístů"Y¦ăŽ^Ńž"ř{kaCž§ż¸­ÂŕÉĹòq額PáA›P±/ŻŘRŕSźS“\¶zqŮ›;PęłWazpű, ěěQ1gŰGgHŻý¦.-ŔÓ‹‘žęÂŐGdŕŔö)° «·ůńŕ×ůXgżG·ý-Á%C3qLź .3NĹ‚`äMJ™IŤ´śĚ䤢ÎDäĘËËĂĆŤŐsíÚµCzzşúů9ĎôĽ±ÁôkŇŠrÝşuhҤ Z¶l™Ô�śT“¶—*ŕÚ˙­[ż~˝ εhŃŮŮŮj~˝oúż™ÎmČă-[¶¨őµjŐJ­ĎąíXď%Ţ{K†ţo°ě«Tn“˙F·nÝZ˝§XŰvţ,vuűŐ‘ě6#göÁp™W],!•‚%`ÖĽy3ű\9 { ik/ç˝r.*çđÍš5SÁłš:o“÷ťź_ *Łą\nuÁDäůýî8Ź%ŇäwO~%ż? ©©iHKKSWMűďü]đ¸=ög˙ŕď­T#WUĎÍňßcç­®n \"=Ľ =O¬ßwţ Ş_ĄëŐšééężňwX˙űéśśęóßó”ĎżĚ Ýú#&+tpL–ă6rBŚÇńn#ďGJř/+Qµ¨ś™ę7™ĚüöÁ3WúPćłT¸«K3:ąŐdľ(ë5—úü¸¸ oN-A©ý5‹·ÄÂĘmě×pą ´kâÂţí=Xő{™ş mŢz?†u·Q…BU@Í´Çtr~髚‚óľ„°t°KE†¶˘}ąąN™OŻ+V•ýŘZ’A� c9÷M^—/÷$đůôľ9÷É9Ź„Ńdp-2 m"_KDCÄľGy/ŇŇSĂhď7Z5‹xŰ«-Uä€ íŤÔ^áJľ¦:?Ý“čAqˇ÷uOŰG"""˘šŔľ�DDDDDDD””Ę—d+—…J•›㬠FÉě»8°[}1ł�šýüOKĘ0ö×"ä•ĘC›şĐż­§ü*g{źvô@D_ąÍ  %Ű CU*´’+IŻ7ÚýhʵXA°xË8çu­"·ď|.ÚŐ ŃZEłqVt®#\2"ŕí¸Ä;6ÎJ”‘ű­·ë lEôśËEŰžóřÔ«¦ńu®nźçIpKźßí©3™tG"^@DDD +QőXU ČŘó.ŰP].$Ôş‘ Ó%WúG „Y˛Ľ ĎţTݍqˇq† ?4][¸Â­2L{ÉöM\ˇ%€Í–ŞHf%żHˇ-t5ůşoʍ÷Ĺy«ďë`V¬Š[ÎÁ«hĎE{m»‘÷5g•˛hËGľŮ®$Vx-g·Xűç Ň9ď;CfNÉúâÍ[[˘ů"ß«~.ZËT"""˘†®üBŁŇE{g;LçEDDDD fDDDDDDDT-GE©Şá· h’n°$`#E:dxýL^RŠ1?˘Ěď‡Ë”0šWĎ@ŻÖ& *YÁŰFŇ<P•ËĽ> ^+03’ Śé«şć¬đ-Ś«ÂV¬ÇŃÚrF LĹ \E{-Ú>E«¶–¨"Z˘mĆú]ŠúŠ ¸9×ë|=^›ŇhÇ­.Ĺ äEţü.#""˘˝—ł/ö8Ćž¸SDDDD5Ś3"""""""JJĄđM8`Vő•€e ČkÁoIŐ)3Ľ ‰ý°¨ďüZ¤ÂeňtÇ&\84=U¸ĚNV(ŚcOĹeĽ~.Ô3n#Tŕ,‰ě[0,¨•Şh©˘m?rŢX­âˇ˘˝kű±BT±ö3™Jd‰ZmĆÚďXűí¸DľďýÄ ÁE>NT®¶%Ć#"""Ú[éÓŁ=5\íÂŽÝqáQmbŔŚ’˘H, .`HE% Ç ’\ŞŇĄraͲ ¬ŢaŔc?ŢZä‡/` W/ V.{ó—bäÉ3n´kâĆ%CÓѧŤGµĂ´T[N#´Íŕ:7řě˝ Ŕeh”ćBŞÇ„ßŢIWŚńś€ �…‚qŇĆ&­–*C%PŠÖNŇą¬3x/„«ťdä<úądZF&@s†±bULłUîUT‹¶ýxŐâUţŠ\6Zp,Ů@[măŔ#Qlĺçşúďž4s¶Ĺäy5d¬­ODDDDDDDŐ"Ă'fŇc(Áˇ®-\ö2†ja9c•w(čeßl.´đäÄ"ě,†ŘgşpŐáéčÓ6Xą,(o§i5ŮsbÎ{=¦ĽthâR;ć2âîJřF¶nš.Ô´hŐł*íF”�óůD-2#ŰkĆŻ}e2-0ămSîKűĆxĐŞ˛ŹńÂu±‚lÉnGŻ;rťÉđjC´ăěÜç€eĽ rDDDD •śgĘ$çBűCßďÇžDöGźłé}%"""jx–CDDDDDDDU"_&ö˙$(ćr%Ć‘@™/� íęQ{K6ú°z«WjĂ^9é.{PĆ@—nÜ6"˝[»Őv é˘iZjrväĚ/`úrźl’RÝíů] uôâ˛N™ÓíŞůŕNĽj_Zd°+2řo}‘A«DAĄdö-QM?_•�V2µX˘«d·ťLÎůXĎďgP["·éÜ?=@)–DDDD{#—Ëeźω$Ěĺóů°'ńz˝ás9ŮW̨ˇâYU™nMăNTÂĚŇĺ‚.ťšyĐ'ףîď(öă•ÉEđú*°Ö"Ë…«†gŕĽAé¸â°tôhĺB@őÄŚ˝Ť«|XłÍ§ćižibßÖnx$3¬ň@‘Ś˙¸ÝµS±*™ŔRĽ×ă-+$ć\®&*q9÷Ďů~bĺ’}mŁ­˘ÝOF¬–ٱ*—éyę˛z™Ţ˝íXt…8V0#""˘˝‘„¶\.3|îćóíYĚ$đ¦ĎÓÜnwřĽ­®Ď+‰jfDDDDDDD”< Š…r.’-s»‚Ał3ĂYnLBdŇĘňŚÓę2TË™«|řf^I°ĺĄ=Ď=8y˙Ttm)•Î\j˛˘l@ :mĘ·đŮśR•â˛Đ±… ťěIćŽWďÉP˙ w\†iXˇV8[>Š`[ź@¸U2ˇ0˝Śó~ĽŔ–sέXmăĹ"ßCĽÖ”ÎŕY´pW´ýÖ2˛šóąXËGŢŹ­úZ´ůk2—,]áÂJĐ’Ô9/ŃŢDB[nwđ9/*++Űc‚÷r+űŁé€QCÄł"""""""Ş=c¨`YÜń“đ¬:P%mm tnîÁŕ.©đ¸ ř~Ľ?łzá“6—öW†e"^ÄGfŰ\`aĚŹ%X±5 ö!#ŐŔ_úĄ ;5q8(TLÍ ¨ ·iˇ¦Ç¨ôŕWiii…ö†şmŽ3ŚĄ'©~——‡’’µś,ŻĐôĽzŔJž/((¨P1!??………ÂS˛>y^?ŽWŮ+Z+šhm9ăФ•Qqq±j¤ç•÷ŮšSć“}ÝĽyłš_o#Úä\ÎąÝX8çş"÷ŮÉyĽj[dđ-VřO~dżäw"™uaűöíرc‡:¦DDDDő]jjŞş•s9Wöű÷Śöár~«ĎŃäü6%%DDDD •DDDDDDDDI3)R†L¨ÂfÁ –®[f•‚b† d§8ą_:Öě°°tłůĹĽ1µ›ňĘ0¨KÚ75UËË`öÇ…żÔÚQ\fá·^|4»«·ůáęF”‰~ídŕÉĄ6lqÚRŞť î¨Ç#Ő̬Pę¬ć*W­Zµ Ë–-SMC‡­P©*Z H‚@żýöÖ®]‹ŚŚŚp�KiŮŮŮčСrssè… bÉ’%8ŕ€бcGµ®ź~ú Ť7ĆŔí÷ĺQoÓ¦MSa´N8!je3u„cĆâIôşŢ†ÜĘqXĽx±z˝{÷®.Óë’}ś7ožzOđ’÷Đ·oߨ-†‚­M_3í}:ĂtÎ[=M0™™™8účŁŐ±Ż Vśvˇňś„Ĺ&Mš„ž={Şăo=›6mÂŚ3THO~oŽ:ę(äää 6öŮů;ĚPDDDT›ŇÓÓÔą™ďĺ uąÝŘÝd?d„„ËtŽçFDDDÔ1`FDDDDDDDU`TČaĄ¸ {pÇ€ĎĘlĺY­`%béPh¬s .–‰Ç`G±…mE>|4Çź–Đ·µ ;yĐ©©ŤÓ ”ř lĚ÷cöę2ĚZíĹĘ->”T0,#ĹÄéÓqDŻt,Şö™˝ń+ …ŞŮ3Ą§ę(Ü®ÓUË$ŕ#a)©&&aĄaÆ…Ţ{ĺęaÎe%”¶~ýz´mŰV PÉs¶Z°`ZßđáĂŃ©S§ŕ{°×¶mŰn/)ë’ÇŇ–Çţ‘ĺĄŇ™3PU^ÎĐÚĚ™3Őű’Ŕ›ěVVV…ye QÍť;W˝6bÄ4jÔH­C*™Ť7N…«ző꥓Ý˙ŞľO ­I@KBz{BŰ%˝˙RcëÖ­ +Éŕć˘E‹THń°ĂCłfÍÔď_M’ß7ů}”źŐČ‘#Őď)P‰¨¶ąÝ.už(U]Uzó‘‘‘~}wśŹčsmM.©« vĚh—dxLäyĺĘ}®`ů0ř[ĚeÝZşđěŮٸëł,Ţ@±ßŔšmĹX» řöĎ`3] -`˙á·»]RŮ)¸ÎśLgČŔQ˝Ó‘bĂá•V9fK–©Vš–¤ÔŕXÔÎť;ńý÷ßcÝşuŞŞ 0ÉýdČ „w¤ęÁ_ţň—p{ynĹŠ8q"ľřâ \xá…*4Ôż5Ő¤hmwŐĆŤUxLŞiIxKŽQdŔL¶+ĎK O‚QR©ÍŮFtÆ *t×Đ‚Lζž»rÜĺwD˙ţHMŽ_—.]ŞĆK–ě§ĺgâ|Ž!3"""Şmr>)狪—‹:vîĚGŁFŮę<DŞ×F¸+ÚyŽ>o“‹;tő2Ůvä9.QCĂ€í’tʉ"Ó€×oŔRa—ňJe±X0á6-Ő˘ňćc3ńůÜ2Ě\éÆ~ř­`;Ě€üĎ/62°cĎŻG&g¸Đł• Ç~mS`ÚŻů\f�Ájd&Ę›tFç2MdHşĚ Ŕ2*¶ý¬. ÝH•®#Ž8ÝşuĂÔ©S“^VTé°&A«Îť;«ŞTR LÚMöë×OUK6©¶•––†šR“A!y/Ë—/W~ÇsŚjó(a9 ‹9I;Ç-[¶¨ů¤*…Gië(‡;věU©ČSUĐ$\'ďY“ă á4Ü“pžĽ–ž^^ÍB* Éë˛>Yż„ÝäxµlŮ2nŔKWU“őË}Y^Öí¬Ě&9©'ű$óJĄ±V­Z…[#Éveżĺ8Č6›4i:épť,/ËĘŕ©TŔHD~×$P&™2¨)÷uŐ<9†˛®¦M›†ŰIɱ,** ďŹT‰ÓČôŕ©®Ś'ÇMČ~ČűÖëź>&z5ý;HDDDIÎ=ÜnSť'Éy—󞔏ŞdV[•Ăbµ—s% ÝëçĺĽ*™îDDDDőfDDDDDDD´K\öXKfş y…~•, XP'Í8,ˇędrÓ,ËŤłrah×�–lLÁüŤ~¬ÚćÇĆ<?Ľ~?d¬¦Y¦ąŮ.ôĚu«©wkR=¦ŞfćöfýˇŽő[1ö×BŞjíśĹŇa´]ĚVµnÝÇ{¬ I§ŞâU±jѢ…şŐYÜúăŹ?pČ!‡ }űö{d) 3I Iö˝]»včС–,Y‚ÁW€űůçźUČL`Ó¦MSˇ­A©e%&Á+YnőęŐčÚµ+=ôPµś Ýéęr’đÚŔU°JH9Ygßľ}±fÍÔ“6ťx‹uĚäg'­&ĺřJřKČ`fź>}ÂUăägđÓO?©€UóćÍŐüňś´÷”™,+­$uřM‚Zňs0`€ « yż‹/Ćś9sÔĎUuޓ֖tZŹV5CTĺ¸ÉíÁ¬Âeżýö›:ć˛ÍŻżţZí—ü>JlöěŮje~Ů®lG~˛?şŤ¦´ŕ”ůdźäľ Ôz<tďŢ]…ĺgöÍ7ß„[u~űí·j=ŇVŢQm“0™„»äĽIα íó·:g©+rn*ç[úÜ]ÎA“ą8€¨ľcŔŚv‰Ś­¤»MxS€â2 –”ł ÄĎ<…Ňeęn�ö¸ş6wˇ{ ŽěmˇÔg!`YŞ5¦Ěĺ6\Hqj·K––˙YŞF™aBá°PhÉŠ_=ŔeŻ'#Ő„Ë0BA¸ŕ{ŘURą@«NŔ,H“ ‘ `Ém°-ĐN5ŔUá2Ý QîśĂD˛Ű“ŕ—L@’A?iÝ8ţ|¬ZµJ…Ľ4©ř&2 ‚ÉĽ¬’÷)¨=zŕóĎ?GďŢ˝±Ď>ű„+eIő°qăĆ©ŕ×đáĂU(KÂhÓ§OW•˝N:é$ŇUĐfÍšĄÂgÇw\¸š™٢‘Ş´’P•TŹ“ęjć’ lĆ’ęt˛n©N&Ű’I‚Z˛ß˛n rIřLöé裏Vű,a8 €Érň%Ľ%9©r'ÇćČ#ŹTÁD ŔýřăŹj??ü𨭖äwAÖżtéRő>%Ř(Ű’ă+-Z%ô5tčPőţ$�'ďĺ—_~QÇSZĘërĽýőW5Ź„ĺç=oŢ<ő\Ďž=UŔMöUÂorěä8÷ęŐ §śr ćÎť«‚}'žx˘Zż¨Ő6—KŞeŮçk;Ôůśś‡ĺç»ěóŐÚ­ ¦ĎŰËWçr>'ŰÔŐ^‰:Ěh—™öKZЉbŻTsÁňKŔ*v± BŐĆLWpvŹŰ€Ç<˛˙oŻWÚö*hš9´N™t;Ixr„Ö ç1B"<OŠŰD°ČĄâkÁ5ÔLH+˛Ĺeu×a©v –8“€”TĂ’,©&śh‘-{v•0É6e˝R5LB\ş2ě_¬<˝/|“ d2Żěł<', *IĐJÂNzĚ“ •n/¤+ŔÉëňśLŠ’Şdňś ’ fé–›2¸'Ű— šl[ž—ůe’uJM˙’9V¦’Şg˛¬¨d¤b—컄ÎäyŮ–„Ǥ"›Ľ}ě¤z™·$Ě&ďG¶'ŐÄäČkFÓÇRŽŤT Ó!-™_ByrěĄÚ3`&Ű“ eJ“÷7räČpĺ0 zéÖL˛OÎNŮw Ť 2$Ü>tß}÷U-.%ä¦×-Á:9¶ň~ôĎC‚jňśÜ—[ن9Ę}ŮîžX=ŹgkóĚĚ ”––…ŰvççŘç;~uľW›A/ •É2ÓäśI·G'"""jč0#""""""˘]˘†{, Ĺ´YR ä—HĄ±PdKމ9aá%ŚčľBť3Ő22‡T1‹ťýŠ 9YŽ@›ŚŹŮűad_*¬fş]hśáŚ›EŢŮ5:U]â‘“ ŽÉ€™ `IU+ IŰČ–-[†ĂgµEZIJ›D˝ ©vŐ±cG¸ńŢź~MBM˛\—.]Ô ›¬KŞ{I»L©đ%!* ]ŢĂgѶ%•ĂdyyMÚ?J{MMŞÉsRÝKĎ„ą’ —É@ˇTXs†č$T&ĎKčK‚X˛ďňşĹśŢ$ (Ź2Żʤú™ú´ßż„Čäç+ÇW_J“íčŕ´ž”edđR括‚'¨.“ß ü%Ű–RmBÖ)ű/Ű‘íÉc Äéă,19Fňű'UÚ$Đ'ďO·$­Íß9"""˘dčs9©X&÷uȬ¨¨ÄľÝ®.fHMM©‘�ĽľpBnĺüIŞëp™śĘąm´jłDDDD fDDDDDDD´kt§KűVZOú–PŢ#Ó ˝nŞűÁ JmW=2ÂŐÍ\F°¦ËľÓ(}Ď®¶$ˇ©rĺ –XSW*“ŞRrŞ >’Öšť$$’¬“–ü’°—´–Ôs¸’ő-[¶,nŔ, EÉq’}”6™:ř$ŰçdŕO‚^N˛Îůâ‘c­íŁ®¤â—e dIµ2˝nٶ„ÄdűzßtŐ5“P!Ż-\¸PM˛NYNŽŤÔ˘Uß`žü$¤':’%Ű”6™ŇšTöOŽ‘L˛MÝrTHR ďIő4ůůH¸LZoJ57]9ŹhO`š†j•)ź-ňňtȬŘ>ßň"++S…żj˘ČŞ>w“ó3ţ×á2 łŐf[N"""˘= fDDDDDDD´Ë‚WřCµµĚÉpĂo?WRę ·ž´,–=$AuQ IŐLłÇ€$\&cAűśt){ř7!„şŕ‚ ÔmMK6&A* I�I–‘�•„šŞR bĆŚjŔMZ9ʤßôŔÜňĺ˱Ď>ű„[EV…ŢŮ/i‘MäńÓ­2“ůÝ“y"«‡ €9·Żď;u;©L¦+‡é€™„Ćd˝2 )Űřý÷ßUE2©Ö§Ou+ÇC*żÍ›7ŻŇöe`S*—Mž<łfÍR-?ýLd{&LPá4©&!2ŮŽź™3gV¨ţ&ˇ:Yż´Ň”Đ›„ĚćĎźŻŞÁI3Y–hOá˛?x4j”ŁÎµ$d&ç=rľ¶}ű©*łé馯^;y9Ö-ÄőĹr>'UË$\ć\§l{W+íé0#""""""˘]U'JuI+Ęě —jKYę i3 šYÁ°—Ě[Űł`í2 {<öŕSvş©ę[ş¨žV»’¸ŇA©ŞVVhÓ¦ †ŞBIRéŞk×®UŞ`%Ő»¤Z–´Ç”�nM©Ă]Ş’uK¸I·¬ BI•1Y§Tw“ ™¦Ű>ę pNşÍQ"ŇIuřM–‘ęc[·nUŰ’Eç:ĺë÷ Á<˝miŃéÜž xJu¸ôôtUILŞˇÉý3Ď<łÂĎH]ŃH`MBy˛ŇĆR‚€ýű÷Źűó•ŠqëÖ­CëÖ­qňÉ'‡ç•cä<îşM§Ľy˛^™äg9věX” zňţśA=˘Ńî˘ĎCrr˛ŐE,yyáó29w“ó ŐgdČůYŠ}ç _tŕä<ź“sI9OsVĚŐŰ‘uIP_Îß"%{!Q}Ć€í˘PČÄ*żď¶b2Ó<ö#?J-ż=ŕbJí�,?ę*ŕ%A7©l •ËT¸¬‡adĐKBL2¸%“„ˇ$ÜĄȢµ]ŚFćëŰ·/şwď®Űd­*A"©~%óK I–u»äţ~űí§Ú€nذíŰ·Ź’ĺ$°ĄŰRĘňR5BosçÎU•ľd_eyŹŇŢQ¦C9ąąą¨ ZÉ:$Ŕ%ű/‹˛żŇžRŢ“Ü"Ăjşb…,#ŐŢV®\©Bt=zôPĎËľIĹ2yţ裏‡îä˝ËúSSSŐ:×®]«–‹F¶+ËIČl۶m2eŠ |I ËxÇO‡űdôŕ§�Ą˛śĂé÷(Ű—P  ž ŮÉľ9×§}rśdűÉ÷jš>Ď‘óC9.,,‡ćuĐLÂůÁ¶ć¦şŤ0“ó$™d9]ÉVźGéŞer.漰A/«Ďx>DDDD fDDDDDDD´k,˛V¤¦}_†mÜöýô4ű«Ă…Ň{°&ôzuŞjUťÓíBŁt#ÔÓR±¶Ú¬+ ˇť9sć¨ű2%U$¸óů矇ś¤ˇ´H¬i2¸%ŐĽ¤Ąˇ´D<đŔUŐŞ&Mš¨JYź}ö™zNÚ$&C~>Ş*yßRíJâ¤:™¦nrdpNöMÂVýúő‹ZÂąvúóĎ?‘źźŻZIJe´Şă-ŐĐV¬XˇZ IŐ1ZkŢĽ9ŞKöG¶őé§źŞjnRĹKހɠĄTv“ĹČ6HÎʲorĚ'NśĹ‹«÷+ż R±MÚLĘúĺ}I…3™ď>P?—ĽĽ<µŮćš5k*í—Ŕ”Đ×°aĂT@ě×_UÇGŽg4xkŐŞ•ÚůßŮyrĚ$4'ä=ÉŔ©ż/ľřBc!m2ĺg*Uě$h&Ű—ůäľĚ×­[7őžä÷Śhw‘s9“đ|VV†Şf¦/PrîVVćKz}Îvşz®ŢN´yőyCfDDDÔ1`FDDDDDD´2 ‚ŮĂ!0CϨĂ2Śň4V˘q’Đëz<EĎ.ő˛$G–’n Äţ˘¨ĚŘńšp.{[ţňŐJĺůź´×”€šÚnĹ(XŔ±†e´*. +X™É^RX Ĺe q¦Qi'ksČGÚéHe)g»D!Á'M‚VŃČ2<ÓÁ;g/Z…( řH°HW%“×%@&ˇM›6©0“„Žä9 I¨HZ<&0«.y˙˛ORýLăôľ9«§I©gĎžŞÍŁ„—$0%vň~"ßł 2DÉä}É<v’Áľ3Î8CUń’ ™n_)Ő˝ä=ëę˛]iů­e¦¦Ăb˛M JÉüĆ/żünW)Ó¤*š®ě%ű)ďO¦Č–‘n=z4&Mš¤B`ú=4H…±ôľI Jů}đśT-“ă Őͤ ťüĚdßŐď´˝~ůÝĐŐ„lwäČ‘řꫯԲ͚5SďCöOćsVÜ8ćcÔsrś$,'ë’*enÓA6نT‚“}÷-ű$Ë˱8öŘcUĺ6M~‡äË<î“@fDDD´»8˙úü±yó¦ęśJBfrŽ.•Ě,˨ĐÚ<ÚĹrî$ËËr+çm‰Bc –ŃŢ"Ů3#É׌$nŤŹőd:nőä =çŠä5ąě×,+óNA=Ů—]_í 'ů˛QnĺŞçâb)íkąÚDDDDDT.ňĽ:ň9}~zĽAůy·ná|lI{ +n“°ĎÍ}~_°u†Ü·ĎŃ%!ÓqG ŻhOü˝µ°!Ď‹Ó_ÜVaŕă’a9¸řĐ`%­`Ôlf Čß5ůŰáőöŕN�Ą^?ĘüzĹú丹3´ÉÁž€eĹ\»šĂ0r™&R=@FŠ=°ä1BďĄ~pţ÷J‡ťôýhóĆkK(hş•ˇ‡äżY2Ŕ&fń‚V{‚ČęvÎă"˛˙‘­‰äżÁňţd Đd‹üwÁy\őc=_ř÷̱ý`Ą‹2őş®Ţođ0rݲĽěłü[ˇhÎíjúßن•UuŇů^śŰw®ÇúwKŽaĽv©˛ŮYÖŮÓą~˝>9>zż‰öDúóĽś/Ęä ™é0żn-ŻoٵŃ»#HVZZ†üüxsąd˙Ě ű§ĎqrŁÝE~÷äWňËńÓěĎięâőYÔţ»¤>ş=0Ěŕď­Ë VµÖŹ…óVć2"®bÓżßúâžhżďü;@TżJ׫‹LÓÓ3Ân]ůŢ99Őçżç))ž!öŤ|=šşőGLVč6ŕ,Çm䄏ăÝFŢŹ”°ń+í…‚y.ýŬăK[çW 5ő˝ŤT&“°Š đ¤™HK1Pě  ´,�ż?Ř:ÓRUÍě/”­@… ë<Kř f3ô¤Ú×`¨S}!eĂ‘nŻ×ăÖóÖŻ/ťt ČY KÓ_ ;żHŹ6ź&OÎeeŢČ ĐžĆůťś_ęĘ\‘ä˝%zÎĺśŰ‰śpţŞÚ&ÔňŇëŐí?#_s’/PĄrXäzŞ#^8ŃŕŃűŹ>ž‘ˇ9ç:ő~'ZŃîŕ<'ŇçA‘­ŮőąY´@™łí%+DDDD íťb…BŚđ5ÄQE)`K’›<i.X©.”ů€űŹR_@µ­ńGiŹÜÝĐ�‘Ş ¦K®’vąáI1–jŔľ Vb“´ši >F^"+DŠ�k]‘{NŐ­ęĄéß!gOĘô¶Ł 0V•s»Î [äkµ-Z`oWDľ‡Č["""˘=I˘s}nëÜOžw¶Rç9íí0#""""""Ú©ń Ö¸ęYKĚmV|(--S=nHĆ'ŕ 8 9–jO K·±•µ¸TĄ2·Űžě]v» ¸ +ÔŢ3ŘZSćS 3ˇNőp Č9x-ĐÓP¸ęâýÄ ~% öŐÔ6ëJmosw¶""""Ч*ç)‘íŇťË2HODDDTfDDDDDDD{©Š-1+¦Ěj2s.˘¤Z[†m*V˛`ÚOn 9á j®Ša+y6´Sĺűćhm¨ç1‚ső0]ٶ1rĐkočÚAłhí9cUţŞoÇľ¦÷7Ú1âŔ+í)"/Ôp>—h™hŐo4#"""*Ç€Qć‡�—ˇj‰ů-űOC*—1Cd5Ý^2<ă©°až˛"–« ÓËTÜgŁňvę)\Őťh!>Y˝‚*â1!""˘ú *ç,±Îý"/öŘÝxFDDD»› """""""j°d Âĺ˛â’Ż�*V( ĄřŁ/‡Ýaď4‘Á«€ô Ť­UŤn·Z9H¦ëůśŹ‰¨as^tëőÝ©â9+vĚ4 —h”řěÁ WhTÂoÉ`Eô Ž[ě2xeš•żŞ‰Š˘ä%ŞV朇á2""""ÚSřýĺń<•v'Ě8ðŰȨpĹ»Ď/!3ç�+öTZ…rP©Ú˘µ7Š|Ě�ŃŢĹYĺvO#ű%3~ ""˘=fDDDDDDD Ś•¤¸€NÍÜpŽ›ř|řö†«Âü ŘěNúř;şř3©z`.^ËQŢí]öÄ ¶ú<UÂe2E«rLDDDT×xFBDDDDDDÔ€É`IŠŰ@ĎV&<fpŕÄ„źß‚?1łă>Őg*™@U] W3“[y,öäęDDDDT÷v׹ˇóü_ÎUőgž«ŃîÄ€QfÂ4\čÖÂvŤ]ÁŞe¶2ź„i"f†üß ß§şĺ0ŠU]‹!¨]' śá=]‚A>""""‘Ő„w×ůaY™WÝ:ĎWŁU[c^"""Ş ý?{÷ŘF}=püÉ{$NâěHXaS ěMŘJËężeµě=ËŢ+¬B){•˝GŘ›@3¬ Ů;qâ=ő×ű9'˙t>mÉ–äď§=$ťNgŮŽuď~żwď9-OÚË*•ň‡• ¤ _×ů¤¦I[®´‰{h€ÔšîcO …›$ĘÄ>ą„ź/���śĐ^şŠ“ĐÖŘŘlĚňňň;U6vż'.���]3�����rś¶ÄÔ6™cÖ*”ŇB1­1«ۤ©90)á×jNŰ’[����]ËI,Óı¶6żÔ××Kkkk°Š±űÖŃţX���ŇŽ3�����r™Ió›I‡u‡Č>IqHm˝_š[‰����€î`·átŞ’µµµIssłI.ËĎ϶twÚd*»˛šľ6/Ź«„��@ú‘`����@óůtÂ!0�ŕÓ\3żüy“bůĂJů˛ĽˇM[š+[%ô’w&'���� ÝÜ­/USS“ÔŐŐ…´Át’˵ŤĹ;��č $����ă4ą,/ĎoÚ_ö*9n»RÜ[d޲iim ĚH´‰V9Ń[&'���� Ýě fZ଱±Qjkk­1uqŞ)»Š™ÝRÓOŹL��ĐH0���� GŮW˛çţWď3ËJ}}rŘfERYć—ůU ‰Ś6ń·1)����]Ĺi‰© bZଦ¦ĆÜw’Ęě*fö­Wĺ3��€t+�����“‚ľ|Ńęd~-P¸Í÷µĘ†Có“yćęx˝Jľą¨HŠ‹‹¤  O§����€ôŇÂc­­Zą¬ID«Iççó8­V¦‰fĘ©dÖń:żyžĘe�� +‘`����@sZ¦8Wş;Εň:Qá´ciii‘‚‚))) nËUń����:zţĄç^šXÖŇŇrľfź·9çnÎ:Ż„2»U&��@:‘`����@ł'"t‚B'3ś–+Ęľú]«™éD‡^=݉f………fq¶l����“¦ç[Ú S/îiżč'´:™snć,î‹~ÜIfá’Î���Ň3�����z�{RÂ^t’C“Δťhć,őőőÁ ����@|ěıöÇú_źx'–ŮÉefˉdNĄ2çÜĚ>Ç��H7Ě�����Čq^ŐĘ”=aá$™9ŹŰ ^UO‚����$ĆľČG9ç_N3»-¦s_×{ť‡Ů-3iŹ ��ş f�����ô î+Ţó\}/;_ ßQ˝Ś$3����Ź»ŇÝÓN<sÍśó.­(m_,.á �� +`����@ŽsOht´fń«š9WĐ·ŻÓŰŽÇťŕ�����Äήí<v*KŰ föyš}çnŤélcď�� ÝH0���� ‡Ej™ânť©Ifíët˛"tBCą«ť����"s'Ů·îÖ™¶pçqT1��Ý3�����r@¤+ŘcI2SöUô\����É —Xć~Ţ~lW.ł‘\��ş f�����ô�v’;ĚžĽ4‘Ád����Ä'ž2}¬•ĄÝ"]4��ĐH0Ëî�����Ü’=wŚ6YÁą)����Ä/RűKŻJfö:ŞI�zŽsŮł ćuE9�����áÄrŢK’çź����áÎŻĽÖŰ e\ŕ�Ču^•<‘ąH0�����1a����âă>Źr—pÚ_ÚëI.��™†ł,xę} 45¸����������Ę+YĚI(ózÎI8� uâ:·‰FfËd¤HýŘU~`���������@6ńji·Ć ‡Şf�€\`çşDË‹Af!Á,Äóâl›—G ���������d“T&ŠéĽ!ń�€lâäş$’'îE‚Y–ÉËk˙•ĺűÚ����€d0������ «äçµçş8ą/ČüƲŚţ‘éŕ[[ł�����'±LŻś§Í ����t?çâźx.â|�mÚZ›Í±ŽłěĂo,…ë3k˙‘57Ö �����‰ ± ����ş†sţ•®ó0Îí��ŮÄÉuqŠ+…ËŹAć!Á,Ăą˙pÚ˙ČtÍ RX ����������2”3yn�€ž˘¨ =×E‡î f#3 fYŔý‡”ź_`Öäµ���������€ěG52�@.ËĎk1ą.šób#ą,;`–%śň€z›źźoÖŐ×-����������ŮKç�I.�ä:'ÇEs^ěd~SĚ]*×y¬`ş´¶4KiQ›�����`ăŞ?����ČlNBÉe�€ž@s[4ÇĹÉw —ĚE‚Y†ô‡âő‡UPĐŢ&ł±ľJ�����°19����™EĎÓĽÎŐ8�ôšŰbçş8˘%–‘t–9H0ËP^$v3ýŁÓŰćć)-j����������™%\bY*&Ě©ö�ČšÓ˘ą-v®K¸cǵĚE‚Y†ł˙¨śűÎRXXhn«—Í—Â���� ,g���� ëąç÷��čI4—EsZě÷q‘cdv Á,K¸˙ČtÉĎĎ–ô·Đ*����ŕÍś7&Ńv…–-�������⥹,NkLÍqńĘ}Av Á,¸˙pělM{ťÓ&ÓÉđĚĎĎ“†úZ).h�����ÜMł[ąd����™%\űM��2ć°h.‹ć´8ŐËĽÚczĺĆx=F÷"Á,Kxeqv´Ę,2™žµŐ‹LďZ�����R«������ÄKsW4‡EsY4§%RÎ ˛ f&ž*fú‡¨ŮťííŮžÚ»–$3����@*1Ř������ šł˘ą+]ů:r[¨^–˝H0Ë"^™śNů@w’YqA�������������]AsUÜÉeîÖT/ËN$e;cÓťXćÜ×E˙8‹ŠŠĚýÚęĹR URX ������������@ZhnŠć¨h®Šć¬hîŠć°8ů,^ą.᪗!3‘~”ôŹÇď÷G|ÎůĂs+((0Ď577KC}m`Ű©č;Dę›řU����������� u´%ćňŞy!Ý÷ś¶î%–¤2Î2YGĘťdf?Ö?ş¶¶¶°IfÎú¦¦&imm5ĺ K¤¤¬źÔ7Q´������������‰+-j“†şĄR]ß`rT4©Ěéşgwăs'—Ůy.îd2’Ë2 fY$–$3}¬ëUqq±´´´ĄąąAš—Í•Ľü)ďŐ_ZÚ ¤ąE�����0ěÁ›pUµł…f)ý>śsd�������É1­0óZ¤¶f±T×·'ťčXśvŰs:îŮ eń$—!ł‘`–ÁĽZeFK2sÚg:÷ťŇÚ2S·mkkŻh¦´ŞYQIŻŔk ĄŐŻűňIk›_˛|�����;+–ÁÝF«fëEMÎ ’JEršîWߏžÓĆK_×ŘŘRŠßἷlO ������ŇI‡óó4Ĺ/ů>Í5i–¦†©ŻoXńĽ/8ö¦ăpN™łŢąOr g™-Öߎ/Ćç|1ÜúÂ<v–<ëÖYňW¬Ëw-ú\…Ţ655O”ĺ5đmŻÓűÎcHw®Đ¶oťĹüw_ĹíţîAwß�����������r‹“Řĺľu?Żś„1˝ŘÔN$ł“Éě[çőö>zZrYQQáÖMĐYľâ¶ŐµřWܶY‹ßşu/ćq¤[÷}·¨IAT0ËŃ*™ą˙í¤0g;'ŃĚÉUşÎą*\˙­8_©Šćě#Ď������������2[´$.wîIű:ó_óŘîŕ•XćőŘ˝_*—e/̲„WÂW¸$3çŐ®^ć<oŻs>�vĄ3{������������r—WމWrťHćŢÖn‰©š×cd6Ě˛Ś»š™;ńĚyŢţcv’ĘÜŻwZdz%”ŮëěVš������������ČN~‰ŠTyĚ«íĄ;Ů,Ükm$—e̲P<-3•ó‡lW(ÓĹ©^f'•y%›Ům7�����������Â%Ejsé®pkŐ˛pëůH0ËRáZfÚëÂýˇşĘĽöe?�����������€Üĺn‰é¬ózžÄ˛ž‡ł,®š™r'šé­¶»´GjŹéţ㎔lF"�����������@f‰”ŘîąXZ]Úm5cݲ f9 \2Żőîv™^^Igöó������������Č‘’ÉěőńT'#Ď$w`–CĽŞ™9ë•;Y̽ޫrY¬ěT0�����������Č,É$y…ké~>Ţç}H0Ë1᪙Ez.Ü‚;ń,–Ż �����������€ě-‘,Üöń>‡ěE‚YŽ WÍĚyÎm»hüT/�����������ČLÉ&}Ą"ń ŮŤł©š™×vŽxĆř€������������Č ńć7’űH0ëbM4sooŁJ�����������@nI&9ŚÄ˛žł$ŢD3Ż×����������� ç"‡¤ç!Á¬˛˙Đ©L�����������€HH*ëŮH0ëáÜ�$ś�����������ôl$”ÁF‚BDű€  ����������� »‘@†x`†¸đ������������ôy�������������€Ě��������������žH0�������������x"Á �������������ŕ‰3�������������€'Ě��������������žH0�������������x"Á �������������ŕ‰3�������������€'Ě��������������žH0�������������x"Á �������������ŕ‰3�������������€'Ě��������������žH0�������������x*����@Fńűý�ąČçó ������€ěB‚����t1Č�ôTŃ>˙H@������2 f����F$“@ěĽ>3I:������ş f��DŃÖÖ&---fimm5Źť…¤�€—DŽS�ô4‰$Ž‘l��� Qz>‘——\ňóóĄ  Ŕ,ú��„G‚��šššĚŇÜÜl’Ę��&R‚X¬Éc$™č)tb'–Ď<wB™ý’Í����ÄCĎ'tĽßkĚ_“Í Ą¨¨Č,��  f��¬  eŤŤŤf� Vá$˘%ś‘L ' × 3ž„2ç9Í����$ËI<khh0Ź‹‹‹ÍB˛��íH0�ôxőőő椑Je�€xÄšX¦-•“y}´ő�©Â%~EJóú¬sZŐ„K(#Ń ���@Ş9Łkeł’’)--��z2Ě��=V]]ťI.cÂ�Źh `vu2ŻmcM@€lkś-L/qÖŮĎ‘h��� Ýô|¤¶¶ÖĚ'h’YYY™��Đ‘`�čqôŞ#=!dB�Żp c^Ieö¶±&śEOĆ )@¶śäe'yĹĺî„2ý|Ôűέó\¸¶š$™���H%=ĎĐ$3í†R^^nÚg�Đ“`�č1ś+Ťššš�€xDK, W˝¬¨¨HJJŠÍmaaˇi« ‹WB�ôtÎg¨Ćíş477›Ř˝˝5MS§Ä2'‘Ě+ŃŚjf����ŇA/©®®6ç)šh¦ă<��ô$�z˝Ş¨¦¦F��G¸Ä2§ÚŽ;ÁLéŕbyy™”””Űľ�˘s’ÄôłS“rősÔˇź»Ó×ÖÖ™‹Fě2;ąL_K˘���€tÓ‹atéŐ«WČą ��ąŠ3�@ÎÓÄ2ťŚ� îä˛p‰eşč@bEEo)++#‰�Ň@Çô3V—ú›Ö4Ë—W›8ßN2s>§˝Íř|���j:˙ĐŇŇbÍ��Če$�r–SŞZ[ë��«p‰evëKç±V+ëÓ§Źi �čš(Ö^-˛\eٲe¦Ş™SýLoµĹ¦ýXQÍ ���@:č…/zŇ»woŞŮ�r f�€ś¤'sË—/7·��ÄĘN.óŞXć$–iŲ~ýúIi)-� ;i‚oIÉ ©ŻoĄK—+š9“:^ͨf��� ŐôBw˝řĄ˘˘Bňóó�€\C‚� çh9jM.s&“��ĆťX¦śd2;ŃLo  }úT� shÂoiéĐŔ„ÎrY´hQp˝“X¦źßNŇ™>¦š���€TÓ Ţť$ł‚¦á�ą…#� §8•ËH.�ÄĘn}©ěŞev’Yqq± 8@ŠŠŠ�™4X“Í.\$ŤŤŤćsÜ©hfW3SN˘If����REĎ;tŽ˘Oź>T2�äš@�r†sâFr� Nâs_9 ez«IËÎ}˝ňtřđa$—@ĐĎjýĚÖĎnçs]?ÓíĎxeěJ–���� ć*��ą3�@Ψ®®6G��Dăn‰é®Vf'!ôď_)ô�@vŃĎný ·?Ó˝>ó$™���Hť«Đ9 ��r f�€śPSS#ÍÍÍ�@4^ÉevÂAGŇA› 8Púöí+�€ě¤źáúY®źéť?çý$™���HťłĐą ��rA��ĺĚ�@$䲎ǚ\6H**z � »9źĺ .çZKýĚĎË ˝îŇçó™[çxá<���€DéÜEAA”””��ŮŚ f�€¬¦e¦ą�»jŤ;ą¬˙ţ$—@ŃĎtýlw*™9‰ĹĘ]Ĺ ����RIç0t.�€lF‚� «ŐÖÖ ��Ѹś¤çľóĽ&TTôˇ-&�ä ýl×Ďxý¬Wv’™˛ď;Ď�‹ š�€pË��d;Ě��Y«±±Qššš�€HÂ%—Ům1Ű×·Jqq‰ 8@��ąI?ăőł^?óUçcIf�€řéřcT�€Hô8ˇs��d+Ě��Y‹+~��Ń„K čh‡é·’ D (�€Ü¦źőú™ÚŮń����ÉbN�ÍH0�dĄşşşNŐ��Ć>v„&—ůMU›˘˘"�ä6ý¬×Ď|ű`'‘qž��� ô\Cç6��ČF$�˛R}}˝��I¬­1k¤¤¤Dúôé#�€žA?óőł_ŹŠV™����şs�€lE‚� ëč <�€d¸[cöďß_��=‹~ö»[e���@:éyIf�€lD‚� ë444��‘ÄR˝ĚYĘËËĄ´´D��=‹~öë1Ŕ>&PĹ ���@ş1Ç�ČF$�˛JSS“´¶¶ ��‰°+ÔřýíIýúő�@ϤǀöcCG"2‰d����ŇIç8t®�€lB‚� «466 ��‘¸:Ęü®E¤¬¬LJJ¨^�=•ôX Ç÷qB…;¦����@2ë��dĚ��Y…“. ëMťúł|úégR[[+@6r'Ů÷űô©�@ϦÇŻc„s����RŤą�@¶)��˛%Ł®w×]÷Ę‹/ľdîWVö“[nąI$@¦ŠV˝¬cť_|>ź”—— � gÓcôŘ Ç˝ď7śűíĎ·s?���€DčśGQQ‘�� H0�d Ě‹>L–/Ż–düß˙n–ž`ěŘĺ˝÷>>Ţa‡íĺüóĎ5÷ëęę䥗Ćź[˛d©Ľţúrä‘ [x%ś9í1+*z“ €UWWËN;íq0 ż >\ĆŚŮQvß}×ŔżłžU%ďÜsĎ9®ěłĎ^rŮe ÉôX Ç„öŇOB2ZMMŤüéO‡†¬+,,’»îş=püöuőőőrŕYwâ‰ÇË~űí#�€®ăő9~ůĺ—Č[lńuÇw˘Lź>#řř ţ(˙řÇŃŇť"Ť)ĺş9sćĘŃG˙#dÝ˝÷Ţ%+ŻĽ’�ń Á �Mh‘ �ČÍÍÍ ëčŕFYYiČşĘĘJ˛QGbY{ő2˝ĄzRM†u˘á‹/ľ”믿QţřÇĺĂ?�™OŹ ö1®| dşćć&ąí¶Ű�€\ÓÚÚ*{ě±OČňĺ—_ +ó��dĚ��Yˇ­­Í (�č:rÁ˙4•4ŃlŹ=v—˝÷ŢS€LK{L‡WJKKH§ŞŞerÖYçÉGM�™MŹ zl°unŻúIľýö;yë­·���ŮCç<Üç!��d*Zd�˛BKK‹�±ŘkŻ=Ąˇˇ±ÓúéÓ—Żżţ6řXŰíż˙~žűX{íQ‚vŁGo"÷ߏ�ąŔnŹ©‰yy\oälżý¶¦¦ŇAáĹ‹›ęev«fý7wÉ%—˸qĎKďŢ˝@fŇc‚´ˇW›L Ü{ďý¦ĹZź>}���ŮAç>h“ �Č$�˛ fŐ‘GţÍsýoĽŐ)Áěřă˙!ÉĐ«Ëtň1??_�dwŐç¶˝zY‰�É:đŔýe»í¶ Y×ĐĐ W\qµĽőÖ;ÁuŐŐ5ňÚkoČ!‡üYĐu4QAzÄCŹ ú7¬±ť}ěи‘„3d=ŢÜu×=rŢyç���˛ f�€lA‚� +Đ]í÷ß§ËńÇź|¬U-^{mśüöŰoňß˙>"?ţ8ŮT¨9唓:µŤüé§©ňúëoĘ˙ţ÷?Y¸p±™¬¬ě'묳¶ěĽóN˛Ůf›z~Í«®şF&L||Úi§Čž{î.“'O–§ź~V~řa˛Ô××öU)mô9č e•UV–HfĎž#/˝4NľúękY°`‘””ËúëŻ+‡v¨¬ąćÍÁR‰ç¬łN—]wÝ%ěóZíL[jľűîűňꫯ›ź—&ó 2X¶Ţz+ůăXÁG·ť8ńÓŔk_5żšš::t°ě¸ăöň§?d&v÷Ý÷Ŕ×ÜvŰ-2jÔšDŇŃʬý¶¸¸X€t())‘Ë.»X>˙ü Ó"Ó1qâ'ž fšĄź™Żżţ†Ě13pÜXdÚ<X6Ýt´pŔ~2räĎŻĄÇ†±co >ÖĎÂÇXćĚ™kŞŘ|úégć= Đ_Ö]wóő7ŮdcĎ}íĽóî˛lŮňŕăK/˝(đy»w§í.»ěJyĺ•ׂŹwŘa;ąé¦±’ýŢ5|üřÇş)ć˝ę缾ßőÖ[7pĽŮ9đůżgRĎąçž/ď˝÷Ađń '+Gu„<účăăŢËćřWQŃ[Ţzë5bŐqlĐcIeČ0Çőţűăe—]ĆČčŃŁ%ńžÓčó‡ö×ŔgyUpťVŚÖĎgŰüů ä#Ž>Öż±§žz,đ™]˛ÝĄ—^.ź}öEđń«ČÝwß!��oî1ĄŘß\Xůż˙}řś}&đąţ“466Ë Aç›óŚaÆFÜg˛cJŽćććŔńéůä“Oĺçź śwT›Ď=®¬µÖ(SZÇŚě¸KĎÎ8ălĎý]tŃeÖ÷}YŕĽ)ôäŚ-˝˙ţűćx¦ç………ď} üáĘ^{í8Ç)‘čXô|8_ySfÎś%µµuź×3fÇŔŘÖ¤s�€lA‚� +čŔ�ĐݦMűMÎ:ë\“äĺEŻ6»÷ŢĚŕ›ŰüůóÍňÁăeĂ 7óĎ?Wúőë'‘čţ>ţx˘\}őu!şź7ß|ËěK÷łĺ–[xľ^'Ţoąĺ¶Ŕ@^Sp]SSŁdűüó/ĺ’K.”TÓ÷|÷Ý÷É /Ľ˛~úôfŃ÷tíµWybęĎőúëoO?ý<d˝&\<üđcf‚骫.ŔKGYçÇ^Ďéŕ2.zĺńĆod&ůsçÎë´ťNšśwŢ&!ĚÖŘŘ(K—VÉ”)?™„©żţő/rňÉ'ÄT1S'lŽ=öSĹĆţÚşh"Ű˙ýßárę©'u{‹Ř~řQţůĎ =.:‘Ą‹V[ýő䆮•FÝçĺ—_e’›Dé±!ÚńÄžř$ ™B/âĐÜqŰmwČ=÷Ü‘PB}˘ç4ú· IgożÝQÁóűďč´Źďľű.ä±ţévšX`ŻÓ zl›oľ™��⣟É7ß|kH<3kÖlłč…zˇ^0â%UcJšŕuÍ5×™c·yóć™E/8Y{íµäâ‹/ţýűK24Ńůšk®oţ˛^ŹoÎŘÔË/ż*űî»OŕĽé)(č<Mş|ůrąňĘkLržM_űŕˤI_ËI'ť @Ş0÷�ČÝ;˘ �@Ś8ÉB&¸÷ŢűÂ&—)˝ZÔk"ĆMątR˝®®.âvšppÝu7†ý÷Ż 7Üp“,^Ľ¸Ósß|ó­yδéŔš>żtéRIĄ÷Ţ{żSr™M'¤4‰Ě=y«ĆŽ˝±Sr™M%ďąç>âŃ9Q ýÖkHĄhI':YqĚ1ÇuJ.óňČ#Ź&ń/Šş]MMŤ\xá%!Éenš°öĐCKwúí·ßĺ„NńL.sÓ¤ÓO?ŰT=ä믿!ą IsŽ î0Ĺ+n2ɨQŁL—Ccn˝@#ÉśÓl±Ĺć!Űh5c÷ůÓwß}ßi_ß˙cČc˝ŔÄ},sď�™~ß~űťaăM»îş±ć·TŤ)éçą+Ľ’ËÜôâšK.ą"jÜIuuµśvÚ™ť’ËÜôg2nÜËrË-·z>ç•\fÓýëy*Ě}��˛ł*�€¬ŔIş›ţüúëoMe‹Í6-Ç—††2dy^Ż~´“Ł4±@Kîo»í6R\\dÚ[>ůäS¦¤ľŇ«u‚˙ÄŹű55QK+ĚěľűnćJÎ%K–j‹u$”éţôŞÓżüĺ°ŕ:-«®W™şµťÍV[miŢ›¶jÓĘ9ú=Ą’¶]Đ–d{îąGŕg3Ä &j+5{PRĹ4a` Ö®›0ácůä“ĎBöUXX$»í¶łi‡3k–V˛y[Ţ~ű]âáüčß°ŢwÇR H”N¸|űmh…měĐÉxMÓ‘MlŮoż}L‚Ŕ˛eËÇ€—L«`‡VxţůM•špśdµ-·Ü\ţô§?š–Ä“&}e’ ôĺ¸ďľͱE[w‡›nş%$!A[ă{ěßMµ2MD?ţŁ =nč÷żűݧs ÖÖŃZŮS«öh"6çŘŕ/ôءë¨T†L§ź©Gő79ăŚs‚ëô\bĚeőŐW‹y?ÉžÓŚ˝±9_r’ôoH+‘Ť˝Ipź^“ţß:‰ďNvčÝ»—iő �ťžŹč縞ch|ÜÖÖł'„TšÔçć›˙8?¸;ë¤rLéî»ď I4îŰ·Ż©¨¬c\z~˘ă@Ď=÷|đů_ýU>ţřŮqÇíeäČó†±ćýś{îů!ű=ôĐ­šuĚČqŰm˙ If+++•Cůsŕ<c}sîĄ-:őXç|oZáYż'=Î9těÉť\VRRźÚEVZi¸©ţ¦cS}4A€Taî�-H0�dŞ TTTČر׹F†¬×A€§žz:dÝ 'gńë®»®I¨:óĚs‚Żżţ¦i{¦ �á\xá?e›m¶>Ţwß˝ĺ˙8Á$8´4żť`¦WšjŐŰÎ;ď$gź}fpŔPtŔPÎR©WŻňŔ€ŢżB)¶ŢzK9眆l§ v‚Ů«ŻľňĽ&—éĎZ0{ě±›ůůŮI@"H@:éČرZ]rIČz»ť±&»+—]sÍ2fĚNÁÇt {ě‰!-Â|đżrŕűGü÷»ýöŰĘŤ7^l©“úš¸uę©g·ŃÉ•7ŢxSŽ9ć(éjú÷·×^{šĎwM ›9s–\wÝŐfɡíEµ‚Á—_N ®ÓăF¤3őç?8ŢśŮíí?‘˝ôo‹ódŁşşz3Ńľí¶[Ë„ Í:=çř׿n“[o˝9¦ĎĹTśÓ”––Ž9ë†$č…%N‚Ů‚ ;ť§¨_~ůŐ$ čëŰ_:±żé¦Łůl€hĽŻă?ŽM7ÝTúöí#Ď<ó\pť¶¦×sŽőÖ[×<NŐ’ĆTcĆŚ‘5ÖXCfÍšř:sÍ×Ę+ŻÜFĎS~ůĺ—‹s´•˛&é1Aß“ž_ąé±Ćyżö÷a'}iÂóر׾ţęÁuzž1hĐ ąďľ‚ëôBI;ÁěŤ7Bż'}šč¶Új«×iňµ őř ¤ç �€lÁ™9��@ŚŽ8⯝’Ë”^ŮhW0 żIsÓ+47ŢřÁÇze˙W_}#ᬶÚj!ÉeJ“ÜôŞIŰâĹ‹BöYh›I­ârüńdž$$čýăŽű{p'UvÝu×ä2Ą“Pk­5JBßsÇĎK[şą[ĺěąçn!ÉeJóöŢ{/’á Ú‘`†TxčˇGLĺ]xŕ!“Xvŕ6•Ćlš|»Ď>ź_š`fÓ¤�;ąLéUň§žzRČ:m)©>‘ś|ň‰ť&á·Ţz«ę1ę>”îŕTĂ9é¤ä†®“'ź|4$ąĚQRRň8ZűťA&˝Î IqŽ Lđ Ű44´Op˙ă—˘˘ŽĎĎźţ%Řî2–ÖÍ©8§Ů|óÍB¶·«‘ŮŐË´Š¦V&SNĄłŽ×LŮÇ[l!�€řôë××\śâvřá‡v š8ńÓŕýTŤ)é6švÔQGČĹ_(wÝu{Hr™˝›}Ae<Ţ{ďýÇ:žf'—9ößß÷­ÇJç\Cżö”)SB¶ßoż˝C’Ë”Ž îż˙~��ĐÓPÁ �� FzeĄ—ß~ű-ä±NĚ\wÝ žŰjµ1÷kwŘa;ĎmGŚXŮsý°aˇ-ÍěvJlë®»¶g•´ňňrsŧ]!&YÚšĚ˰aCM‹3‡ýžçÍ›ßéŠTmQŕe›m¶ iź��ÝIŻ´w·ÂtÓ‰•+®¸Ô$;~ţůçm¶Ůf+Ď×n˛ÉĆRVVŇNR«Ľč•÷^´Ő¤{ňñŐV[*`Ž9sćH&ĐjjZÉě·ß~7•ô¦Év˘ŠÖ2D[‹Ňú@OŐÚÚţ9xđ 9üđM´CŰ$ď¸ă«&«TťÓląĺ–r÷Ý÷źÓs�Ťőő3Ún9¶Ţz뙋Nśc“~ök2ô’%KB*çhâ°¶Ţ�ÄgĂ 7ôŚŹ5ąJŰŰçóçwŚ#ĄkLI’µzńŚ3eáÂ…˛`ÁsŚ:5ôÜ(ŃVîăŘŚ{Ń€{MĎGúőëgÚkş_łĹ›{îC×?ńÄS��Đ“`��#w5‡» š?>¶Ę0Ë—/ű\AAAő‘'Đ«ŞŞB48ě¶Zń%•½·pß‹ŞŞę\•ĆťDç2d�©@›LtMřşřâ d»í¶ ®Ó6żŐŐ5!Ű…űlÓIuMĐä+‡NĆ„3`Ŕ€°Ďi+ŰňĺŐŇŇŇńó9ť4É@'dŢĽ™lJ–V|’Eĺ2d+űßîźţtůlť>}†y¬“č>ř°śyći&ŃŔ«ŐJŐ9ÍСCdĄ•†Ë¬YłÍăĆĆFsÓ*2vëËőÖ['pL[Lpp‹Ý ĆšĽ-9�ĐYeeeŘçÜç K–tŚ#ĄzLiňä)ňâ‹ădâÄOR÷‡cWátÄ~«6·^U“ÝçQëS;ž�� H0�dM`™*™›é\sżźHﯭ­ű˙®š›[:­ËĎ÷nqÖ]‰Č.±üM’`†t(**2-Ĺ´őËÎ;Ź‘]wÝ9ĺ“â‘ţ}‡KPšL–)üIąĺ–Ű<żM~Đ$­\ íj€®Äńą@ăĺÓO?EÎ<óÜŕżéwŢyW=ô`)++í”äěHĺ9Íć›o.łf˝|¬Icz|ś=»ŁzćúëŻ/‹- >Ö*6úŮoW=nß×f�ąÄ«ŞX}}CÔ×ŮUŤU^^äx¤µµ%ćçěŘ&•cJ/Ľđ˘ÜsĎýaă~m5©źýîęc]­©©ŃÜz˝Ďpߢ•Ö�/ś_��˛3t�€¬ <"MšÝ©˙Đ«B7Ůd#ąć𫤻hY›ÝbĆÍnĐ]úöíÓiÝŇĄUž•x´e zLŃc Ś[ną!¤:Y,´ŇVŻ^ĺRSS\7wî\ĎmuŇBŰ´Ř ĄĽ¶łŃ×xýŰž5kVČ㊊Ţ“vµuĄ­D“ ­hóŻý;d˘f‹-6“˝÷ŢË´˘Ö–ĘúľĆŽ˝‰3t9Î7+ÖYgťŔçęžňĘ+Ż™Çzlxâ‰'Ą¬¬<l‚Y*Ďiôsýůç;Ě~úé'“`ćĐűÇ3Ő_ŠŠŠÍÄľVZÓJgS¦üäÚ×ć�ąDĎ4޵/�Ń*_;î¸}Ř×hcwĄÉŠŠ ‰dÎśąž  ęׯŹu?5cJznrdÄýzlŮyçťeíµ×2•šőçpÇwĄ$ÁL«GŰŽ<ňŻr衇H<ĽŞľÍ›7ßóL[|©Âř� [pÄ�dN˛ÉVYe•Ç:!Ţť•b†ňřǧȲeË:m§­l~řaŠt7ŻD˛oľůÖsŰŻżţF€TȤjNčyFŤňx„‰žŰ}ůĺ¤N• Ö\s G·ýěłĎ;­×Iť>m3|řđÇĄĄĄ!ŹýušxŃÉŻdLđqČŐţn¸Ü~ű­˛×^{ާ+“ŢjjjčjKŽ>úȤ1=477…Ý>•ç4š0\^^˛/;ql“M61·………ăŔúÁő?üđcŕřókđ±¶Öc�ä­T´úę«…¬{ë­·­…˝<đŔCť*fiŐßHľ˙ţ©®®î´~ńâĹ&ń×fŹ#ĄjLéóĎ?yĎšü|őŐWĘÎ;ďd’Śť¸ż¶¶VRaÄ!Ź9o2dp§JRź|ň™ç¶áÖ‰`î�-8b�˛'YČdoĽ‘ôíŰ7řX«<ýô3ť¶ÓÖ1'žxŞw܉rÝu7ČSO=Ň&U¶Ürs××m’;î¸;d`OďßyçÝÁ6�ÝIŻ1"tBKŰ(TUU…¬ÓÁËçž{A€d8ĹMM©oO ÄjŹ=v y<iŇWňî»ď‡¬khh˙űŽuC‡‘Ť6úD˘ŐÁÜÉYO<ń”L›Z`‡¶ y<hĐ ÇăĆ˝Ň)É졇Ž8ńĄÜ2îJhúYnóšÄŃ ,MDşšsl E rAYY™śpÂqÁÇz.˛dÉҰۧňśFŰžŤ=:řXŹß~ű]đńć›oĽżŮfŰ˝˙ţx©««>¦z€\µÓN;„<Ö*Žçśsž‰íŠŞZěšk®7źŹ6­©jD˘çwÝuOH1 ŇŠa[ną…u?5cJZµŇcéąÁçź!‘xĹe^-EwÚiÇÇ_|1Iľűîť¶ÓvÍ|¸śvÚ™ćÜIĎ{śź‡V…[{íµC¶×j S§ţ˛î—_~5ŻR…ą�@¶ E&� +č�5©tŕ ”űď0¸îᇓ™3gÉöŰog¨fĎž-Ď?˙’üţűďćůéÓg*3Úş&Őţđ‡ ÍŐţóću´*?ţC™3gŽlłÍVćńÇ’Q­ÇvŢyŚą"ס“_§ťv–üéO”•VnUź{îůŔäŐb˘Ńh{ÝëůĆF® ;h‚™&kŮmk.Ľđůä“˝ĚD‘&ŘľôŇËćXa;ę¨#˘&ľhRŘ!‡üĹ_ôřóŐW_ˇN٦¨¨HöÜsŹuÚÎĚž€Ń ©żţő(ŮvŰ­Ą˙ţ¦ŞĚŹ?N6 îŞj6}ŢöÉ'źĘ /ĽdZ_j˘ŔŕÁCž×Š:ú˝ę$›¶ Ň –7ß|k`˛©Z€®¦Ç†hc$ź!›l»í6˛őÖ[ĘĉźFÝ6Őç4›oľYŕř󑹯‰?ý4ŐÜ×s{Mfsl¶Ůfrçť÷ű“'Oه›� i{ř7Ţx+đy:=¸néŇ*ąęŞkMeaM Ó¤3Ż1ŤEŽ?ţŘĆJő"MňŐcž#ôŃÄJ‘jĺ•W’uÖéHŞJŐŇŔˇŐęőXôć›oŢËV&î× kwß}_ŘÖÍ=>őéÓ'¤ŠÚŁŹ>8gZfÎYvÝug“ =räŔ1eSůâ‹/Í6zěąđÂKĺŹÜß\¤ŁűŃD±gź}Ţ$¶é˘Ç¦őÖ[OöŰoźŕľ÷Üs·ă‘&Ńť}ö?_gŚźŇźç;[˙‚Mäć>��Ů‚3�@Vpʦ™Jˇľůć™4éëŕ:˝ÂÔ}•©íä“O”^˝zIŞé Äé§ź"çźQH’ŤţŮ€ĹĹŲÁë›lÝíŔ÷7IÓ¦uTË™?ľüç?w†l·é¦Ł3âý"ű¸ěę@WÓ$¬«ŻľBŽ;î¤`…/mCöâ‹ăĚâeĚ“#DÜŻNDi2N”<đŔĂnwě±Ç„/›~kĄłššŽ5úŢŢ{ďŕă^˝Ęĺ°Ă‘{ď} ěľ×[o]yůĺWŹuÂčꫯ3_oܸçMĺ´±c‹2ú5®ĽňłŘ´%ÚŚ3čJö±AŹ$“!śxâńňő×ßšD…hRyNŁUĘt2ßÝŇmÝuבňňňŕc=>čb']+M°Đs�ČEÚ"řĘ+/“3Î8»S™~^kro8GůW“@Ť^¸˘ Uznŕ$ůşéçôgśR=)UcJ[mµe`L§ŁĘ™VB»ĺ–ŰĚbÓv™ZU,=¦Ľýö»ÁÇšŕěŚiŇ—~-uÖY§ËI'ť*‹/ ~M­´©‹=ÖśzęI!ëvÝuóµţ÷żďëô{xőŐ×C¶ÓßU—‘*Ě}��˛57�Y“,d:ť€Ľě˛KdŻ˝öş­^©yöŮgĘÎ;ď$é˘WgžwŢ9AË"ĎçuđđĚ3O Ä­$™@W/»ěbY}őŐĂnŁWŁžzęÉÄĂťŕ<Ö Lî O +édĚý÷ßÝ)ŃËË˙ýßáríµWEÝN?K5q­˛˛_ŘmŽ8âŻfqÓ™W\q©9FyŃXlěŘkM[ăH´ŠŤ&‡ąiâŔ’%KLuýĽŹt…¶&ˇyäßčJzLpŞó…;v�ŮhŔ€¦f,RyNŁĎÖZk­N뵲™Ű¦›nÚiÝčŃ›ă�ä*Ť«˙óźŰ±ďö1mßżĄ\zéErČ!Ç´ýŕÁă>§…Ť»‹ŠŠĺ‚ Γu×]·Ós©SŇăŔŮgź1îßj«-ßĎź%=Ń‹iĽhg‡žkÜzëÍžß“›VVÖó›#V YŻÇÂK.ą0b ҵÖ%Ç˙R…ą�@¶ŕ�Č :pˇ­­­d*ť�Ѩ}öŮ[ŢzëÓjlńâĹR[[k®ę×·ŃŁ72­t -ÝvÜq{YsÍ5䥗ĆɤI_É‚‹AE¦jŔˇ‡bZ Lž<E2Ĺ Aĺ_˙şŃüěÚŰ8Ě’úú†Ŕ kse衇ě™DyDă•( Ç­TŁ™€î˘źĂĎ<ó„ůĚ{ăŤ7Í•ř .’˛˛R3áˇU8`?YuŐ‘1ďS“q}ô!ąďľÍőÚjG'c´˛~ŽędQ8ÚM_«-g>˙ü ó^ĘËËd“M6–cŽ9ĘL¤Ě›7?â××*�>xŻÜ˙Cćë;Ű2Ř쯲˛Ň´±Y}őŐĚ×ŃŠZµAÔuÝ>űěeŞ©ą+�é¦Ç=6\†\¤ź­ďż˙AL±*Ďi¶ŘbÓNm/µ}™Ű曏–qă^v­Ł=&€Ü§­Ď?˙\9ě°eüřŹL»řE‹™öŹ%%Ĺ&v1b„l·Ý6ćsQ«†ĹCă{=Żxâ‰'MËű††¦Ŕăř~SYcôpR1¦¤__ß˙sĎ˝ ß~űť,Y˛4÷ç›s–]vŮYöÜs÷ŔąĐ{Ť&Kß~ű­ňä“ĎČ_|aŢ‹Ň kŠŠŠ:m{ăŤ×ÉW_}%ďĽóľ©”Ż?ÓććÖŔĎ»·¬±Ćę˛ĺ–[šép‰Ě˝{÷6řhĄ}=OÓĘĘ+2(đsŮAţüç‚•¨d鸦]E�€Lë(™/Ćç|1ÜúÂ<v–<ëÖYňW¬Ëw-úśŽdä555O�@N«©© „4€žkîÜyrÔQY÷䓏š«Tѳ٭;śÇö˘É‰şč}MVÖűúď&Ň€:éž~úY;ö¦ŕăˇC‡ČË/ż �â§ÉUUUÁ [śdd'éĚ^l$ �Ô¬YłÍ­¶ëşĂUW]#&tL“éEgťu†�ČlZÖ«Ý8� ·n¸Ń ËWܶş˙ŠŰ6kń[·îEÂ<Žtëľďé9”h�@Öp_‘ ·TWWËgź}.<đPŘ 9zMVź"ą á؉�v€ł~éŇĄťÓ��=Ź ôŕN łŹ!$’���H5ć<��Ů„™�€¬ÁÉ»´MÚcŹ=Löyď˝÷ĺđĂ“ 7Ü@JKKdńâ%¦ŐÚóĎżň:mÍÄĘťl¦˙ŢśvO�€žKŹN ®R����¤s�€lB‚� «KccŁ�Č-»îş‹Ś÷Š,_ľÜ<^´h±ÜvŰí_3räůÓźţ(€ŇD�»™ýŘ+IŔIX˛d) f�ĐĂé± \űKŻŠfá���@¬t®�€lB‹L�@VᤠČM’믿ZFŚX%¦í7Ýt´\wÝŐŇ»wobĺnu–——'555ŇĐĐ �€žIŹz,ĐcB¸ÖĘ����jĚu��˛ Ě��YEKFçççKkk«�Č-«®şŞÜyçí2qâ'ňÉ'źĘO?M•ĄK—&~M…©ţýűˬ/Űm·Ť¬żţzÄÂn‡.q`É’%2lŘ0�ô<z pŘí1ÝIÉ����*:ÇA{L�@¶‰u„Ěăsľn}a;Kžuë,ů+Öĺ»}®Bo›šš' � G¨ŻŻ—ÚÚZ�Ŕf·Č´ë­łh‚˛}_—¶¶6YmµUĄ´´T��=‡žWL›ö›©^¦<ş8 eöýpUÍH<�8fÍšmnWZi¸��Myy9ăP�Đn¸i ,ËWܶş˙ŠŰ6kń[·îEÂ<Žtëľďé9™�€¬Ł'^Lć��ÜÂMüŰë˝Údęí‚ �Đłčgż},vܰq>��� z.Ar� ‘`�ČJś€�âáN(ł×颕1«ŞŞ�Đ3čgľ~ö{U)s'ś���@Ş0·�ČV$�˛RYY™™ř� ^N€“@ŕÜΞ=Gššš�Űôł^?óíc€snAR���€tŃóťŰ�� 13�ČZĺĺĺ�€-Z›Lw3˝oWŞ™3g®��r›~ÖŰ•-íä2wĄKűÖA���€D0§�Čf$�˛Vqq± ��±°ě–hvB¶K[°`��r“~Ć;­1ícwKL’Č��ńĐń)ƨ��‘čqBç4��ČV�@Ó+~hg�°iR€ßďďôŘľŐ¤‚¶¶¶ŕc»=ÚÂ…‹¤  P*+ű � w,Y˛Ô|Ć»«W*Ş—�’1hĐ@� Ş—�˛Ě��Y-??_zőę%��ÄÂI"s¸[¤9ŹçÎť+Ë–-�@nĐĎtýl÷ąos+���� :‡ˇs��d3FĚ��Yݤ¤Ä,��8"Uśq·Ĺt·ĘtÖĎš5›$3�ČúY®źé^‰e^ÇŐË����$‹ů �@® Á �ô  ÂÂB� špíĐś¤;É@´Ą� ;ég¸“\f'9UʵĆ���€déśX��ą‚3�@ÎčÝ»7e¦�A‘*ĎŘíĎěŠ5N˘Oěv™óç/�@vŃĎn»-¦~¶»“É"l$ž���‡žčś��ą˘@��Č:!TQQaZŕ´µµ ��nš ŕ÷ű÷íő6'É µµŐÜ.Z´HęëëeذˇRTT$�€ĚŐÔÔ$sćĚ•ÚÚZĎä˛p‹d2����Épć*ě‹X��ČvŐ��9E'Ž8q�8"% xµĘ´§’™óś&*LťúłTUU � 3ég´~V;ÉeîĎr÷ç|,­1I8���+'ąŚn+�€\C3�@Î)((>}úČňĺË•g��=—]µĚýXý´ęĄ“h஀i',ëkôůYłfKUŐ24h”•• � űŐŐŐË‚ ¤¦¦&$yLoŁ%—Ń���@*8Ŕ“\�ČE$�r’žŔi’Yuuµ477 � gK4ÉĚ®lŁIËúĽľN+ăL›6Múöí+ô—’’�t˝††Y´h±©\ć®H©çÎ:Er���€t),,”Ţ˝{Ó]�łH0�ä,=‘Ó$3­b O��Ř"%™éz§b™óX9ëśç—-[f’t�±˛˛Rző*'!�ŇL?kjjeÉ’%ć‚wb™]˝ĚN$ł+9ë|v���H”^xŘ«W/� —‘`�Čyzb§m35Ń �Đs9É‘*™9÷u˝;ąL+á8IhîD3=Ć8Iýűk˘Yo)-- Ľ†«V Z[ۤľľ>đy[-‹/1ź˝áËĽŞ–y­sPą ���@˘tţĘö�€ž€3�@Ź 'xZ˘Z[š555 � çŠÔ.ÓI:ĐÇv%3g±×y%š)M|p’ĘËËK™ŽCEĄ °ŹüŔâ#�\Ú?Sui•ćć–ŔŇ$ŤŤŤľÎÄńvŰbwâ{]¤ĹFr���€D™q˝ �€ž€3�@ʎ'z+&©jMB�� gňJ2Sv˘™˝ťsĚpŰ‹˝/'ŮĚŮ—VŰŃĹŢ·ÍŢ�z"űó6ÜsĘnw®B™;‰ĚÝ&3RŐ˛pë����Ŕ¦çšX¦�Đ“`�čqôÄO—şş:3éϤ>�ôLŃZfÚ‰š¤ě$šą“Ěś}8Éföc{ßîăŤ{űH8VČVŃ’¶bmUé•<éq¸Ä˛X���€›ž7”––JYY™��Đ‘`�č±ôDPM2khhÖÖV�ô<±T3s’ÁÂ%šą_®2™;!Í˝�zŻ$2÷zű±»Íe¤Ä2ŻýGúú����ŕ¦cA%%%&ą �€žŚ3�@ʧ'†ş455™ö™ş��z–X«™ąÍ”»-¦˝˝#\2™}źÖÍ�z§ÍĄŠ7),\»ĚpŻŁj���€x8ťPŠŠŠ��`�@ž(ęŇ»wo“l¦Kss3•Í� ‰Ąš™óŘ®–㬋T˝Ě˝O‡łťî‡Jf�zŠhId‘¶ójŹn_T-��� ˝°°°08O���B‘`�€ű$R+Ę´´´E“Íô±ł��ą'\53{]¸äw‚šS•ĚŢ>ұ¤�=Q,Ia^Őεӌg���€žĂ©€ě,šTVPP`űś��tF‚��Qč‰%W-@Ď.,Ňz÷sáÇ»ďhĎ@&‰µ*™-\Â×ăhűu=������€čH0���€0ĽŞ™E[ď<çU˝,Ük˝ŞĄ@Ok«L©˘�‰e������@ú`����QÄ›h¦ěDŻŞeń$U¸÷�™.ŮÄ®Hí/˝¶‹u=������€ř‘`����1Ň„Ż$/w"C¸D4Ż„‡h-3#}�Čf±&‘y˝&Ům�������ÄŽ3����C¤Şeîm˘mgo-!‚ęe�˛MŞ˝b݉e������@z`���� %ŃĚŢΖH˛‰�z‚D>ëř|������Ň‹3����HB¬‰f^ŻqŁJ€ž"Ia$–������]3����HxÚbƲ�@g|N������]Ź3����H±T$›�Ú‘T������t/Ě���� ŤĽ#H:�o$“������™‡3����čbŃ(H@«H ������˛ f����aHŔ���������™"O��������������đ@‚�������������Ŕ f��������������O$�������������<‘`�������������đD‚�������������Ŕ f��������������O$�������������<‘`�������������đT @ü~ż��€îĺóůÉ#®� űϤń ��݇x&5g��č>Ä3 fA �@ć‹vĽć„ q ��™‹x&6Ä3��d.â™ŘĎ��ągĚz8{��rŹűřŢSN�k��ČÄ3�� ŰĎ��€l×Săx#Á¬Š7¸çd��€ĚK0oËs-ř'®� űĎĎ��ígg��Čv==žAt$ő áöXy‚}��2Źďń–/v¶ĎöŔź¸�€Ü@<űúx·��]x&öőńn��şFOŽg;Ěz�Ż‚Hmmm��2ź×ń<///ě6vź­?q ��ą…x&ü:ń ��™Ťx&ü:ń ��™­'Ć3 f9,–�_{­‹u‘Ö�€ä… ČĂ­wŘévζ^A~¶ţÄ5��d/â™vÄ3��d/â™vÄ3��d/â$‹ł)Čw>ôqkk«y¬÷íőöv�� ó9W’8»>Öűz›źź˛^Źő^ĄŚ35č'®� g ž!ž� ŰĎĎ��ír9žArH0Ë1Ń|]4¸oii ®·oíׇ»ë×��ɉ€{]â¬wěśmô¶  Ŕ˙ô»Oě}dJŕO\�@ö#ž!ž� ŰĎĎ��ízz<Ô Á,‡„+9¬đŘk€Ż‹ł^˙ŕ‹‹‹¤°°0đGŻü>ţŔ�ČíWęŇ*ÍÍÍŇŘŘdb€¦¦&s¬×@=řwwL@\�@ĎF<C<�@¶#ž!ž� ŰĺB<Ô‰ő7é‹ń9_ ·ľ0Źť%Ďşu–üëň]‹>Wˇ·MMÍĄ‡ wősŐţˇë­Ň?Ţňň2)** ţ�€Ü§qüµµu!~:ŕç\eâäwuŕO\��Â!ž��ŮŽx��d»l‰g2IQQáÖ-·|Ĺm«kńݏmłżuë^$ĚăH·îűnQËÇRÁ,Ëy]=âô¶×�_}¬Ł˝{÷2Ô�� çŃ€ľ¤¤Ä,TW×5>ĐE{wŕß•W—×��€Hg��@¶#ž��Ů.⤠fYĘ+Ŕw ěýîűôéřă.���ĄÁ}ee?ihh”eË–Ż>-.nŹ4ŔwĺÄé ü‰k��@Ľg��@¶#ž��Ů.Ó⤠fYČňí~÷z_˙X5Č×[ÍŐ«G(I ��Ľč@`QŃ�suICC‰'4č×ĆÎŐ%ĘüSô×��€dĎ��€lG<��˛]&Ä3H?̲Ś;Č·-;¨AľŢďŐ«\ĘËË��  ęűô©‚‚|©©©•úúzôëU'zŕřéú‰k��@*Ď��€lG<��˛]wĆ3č$e‰HĄ‰í _˙0µ4qii‰���ÄJóňňM cŤ)”ý¶T•0&®��é@<��˛ń ��Čv]Ď k‘`–˘ůÚóľ©©‰ ��$ʼn!4č×ŘBú‚‚ĐpŃňąş„¸��¤ń ��ČvÄ3�� ŰuE<®G‚Y†‹äkĎ{ýÔ[í{O��’ˇ±D[[«TW×ţüüüm ú‰k��@W ž��ŮŽx&7¸Ö&Đ�=A:ătĚ2X´ _ŻŃĹz%IQQ˝ď�@JhLŃŘŘdţĽĽ<Đë­-Ţ ź¸��t%â��íg2W¸Ä±TżžIv�@¶KG<î“'Čî _ŻŃ@_ď÷íŰG���REc gPQc˝oÇ"É"®��éF<��˛ńL÷s'áĄâçž _�€TIw<®C‚Y†r˙!é™ýś.N‰âĘĘ~ť˛<��’ˇ±…ĆN[w oÇ&*ŇI�q ��čÄ3�� ŰĎt˝LOč"á �mRĎ {1Ú•ÂýÁŘŁ–'ÖĄ  @JJJ$y]™n��©§1†ĆNÜíŘ뵞¸��t'â��ígŇ/›ç›+�dTÄ3č~$eŻ«H´| ŢćJ‰âd“ĆH<� =4Ö°cŹHW•Ģ'Ä5�� łĎdžx.*Ld� ×Ϥ^.ĆÄC�€L–ęx]Ż@ôŹËéE«ĄuÉĎĎ—˘˘"ÉV]ŕz} źĎ'�� 6khĚáÄzŐDK'zLÍŸ��d.â™îŐśŚ�r ńLj¤#.Iő>SłŘď‹8� ŇĎ kQÁ,øQŻ~łNÉŔŠŠŢ’m2áę ®ŕ�� >sŘ1Í+VńşnŰlŽk��@ö žé:™ZM,Sß��±"žI\*Ž˙]U95_‡ř�)ŤgH0Ëv©l5R\\,Ů"SW�®=ćčř“=nf{\��˛ńLúdëŘ cB�€lC<żd~F™+¤âý÷��ş[Şăt-Ě2űÇyl˙QiÖ¦.ůů¦T`6`p�€ě¦1‡ĆN˘ěcĄW “«q ��ČNÄ3©—kc'Ś�2ńLě=®§şbX´%U_#Ń×�ĐŐ‰g9ÉË`^<Ú‹V•••I6HŐŐ3ń.©’Ž}�ŤśŘCc‘Dü\kz‚®Śł��čjÄ3ÉKuLĚŘOşââ�@&#ž‰,‘cx"ÇţTĹ$éŘO<y��Ý!Ůx݇ł,ŕxšÁŮčk™â"ÉdÉńÉ~p¤c1–��d‹öŘŁ}ĐQc’DʇŮ×äŞDăĄtÄY��tâ™ÄeęXMşż±� ÓĎxKwBVwŤ$;nď×� +¤*žA×+d$űČ}ż­Í/ůůů’©I,ë îŻăóů$öţ’Ý��™NcŤA"Ĺ(ᎇŮ×ä˘tMć*b"�@&#ž‰_2qC¦ §b<X�)gBĄk>*Ń8&Ń×ĹcÄ×ÄĂó��şB2ń ş f"\Đé^ďôˇŐŢ´™(Ţ+"’ů:™” –ęä5��2Ť{8±Ăën0*Űâš\ŇŐ ýÄB�€LD<»®žTŤw?ÉÄÉŚë��şńL‡TĎGuŐüV<ű‹5,Ú¶‰$šď��Ň%žx&Ňzt=Ě2śôąËfâPŞŻü¶],űI×U]˝?��ş›},sâ]O`źMqM.éŞä2ŻŻÉď�Ig˘K$nčŞ×ÄóúDĆâůë��ş ńLjÁ’M<kŻţÖ\śź©3an˙¬•ó3vnu‚]ďë˘÷ťĹyŢëkÇRˇ.Ú6±ü®‰w��é’ŠxÝł,árN€š­b ćť’dŻI4Ń+ť g|(�˛•×�Y˘űQŮ×dşLřŮ2 �Č4Ä3ŢŇŐ^*ŢmS%žÉXŻ×ĐF �Ézr<ÓU Ľž×u­­­ÁĹN(‹•{[ÝŹ›ťp¦-ÄśĹ+é,ŃD˛xÍu��©–Şx]‹ł¬“™\©şĘŁ©©IZZZB¶Ő ş   $Nö Óx_›Ę±T'Ż�еR‹pŇ.©:!KŐ "‘�€ĚB<ăHWbY˘±HĽŻKtL(Öd3Í��™«gĹ3]‘Xćőś&€éś•.v"žłľuáiťţ›´ÍśnîËŇĹâ«Z*ľeĄąI|ő şcÉk¨ ÚJJ5`i™ř ‹Äß§ŻřűUŠO—$•’·ĘŞ’?``p^L9 gşÎ^-ľIU˘±� =#Ę6$!i©ŘMr™sµFŁoą´ú[¤Č_.ůRduçŞ 'ŃLh ¨#í?ž«ScŮ>Ń×Äş?‚s��¬D&tă`UńĆ-$™�YR]…,ÝÉgńî+RÜëXL"‰fÄ;��¤V*bŚxžÓyŞććć`R™.ú¸iń"iůńâ,ľ_¦Jţś™â«Ż ĽÂ'Ú‹'ĎÜsţ㍠4Ń̨_q;®Ů$t+ź4—–KăđáҶú(ń­˝žä­łőď/………Á6š:G¦ŹÝÉf‰&šQÍ ��DC‚Y WR7K†{Ďöúšš©ŞŞ’ĹÍ3dFţDYś˙“4űęVŐ>)m­”ʶեż” Ę%ĺĹRTTL8s®ÖĐ[w`oK„dÚ!ÄóšXö•Šý�‘âŻcq®Ä5Ů Ĺz€.˝ző ůý&7ß��2AOŽgR/$›xćLÚ:‹ół¶ćîß‹3d·Ź˛—p_7ZĺŽX¶‰çÂDb�@şő„x&ÝsbYŻq&”i"™&é8Hc}ť4}˙ťřľúB|ßN’üął%ßůů˙“yőµ’÷ëTńyëSő¬yČ0©ßp´ř7ŢT ÖÝ@ŠKKÍ\™ÎŹi˘™WQ†psf‰$ˇŮŰç��R%žxÝŹł,É~˛2–,Y"‹Ëo…ďËďEŠ_Ú$ř9á×˙űĄ.o±Yfů>—<ɗІ•Ą˛v č[KŽĐĹ&xV<;´sŐF¤Żk˛Y´m“yMWî�€TJd@‰Ä˛ôIuŐPmhhVŐV'ć ·O®v�d›žĎtE{©pĎëÄ­ÓNĘN(‹U,ŰÚ gÎŘ“t–ŠD2b�@&ĘĹx&Ů%žÄ2çÂ:í´ÓPW'ÍßL’Ľ‰ă%?p[XSťţl˛XŢ·Ip›7Gä­—Ą­Ľ—4ţa´ÔlµťäŻż‘””•Iqqű\™“tÖţ˛đ ‡^ëťçh™ �čjśCgĚ6Ń®†Y¶l™,Y˛T&Ľ,sň'­XëÓ8yE¨îwV‰ó00)Uůż›ešďÓBłoíę2Ŕż† Î[Gz÷7Áł:í4ťžôöU¬áŢc6%śń ��É^Ń릉e‹/–úşĹ˛Ęŕ R’÷–ĚYt“´ůËdČÁžq•ý5¸Ú=Ecł_ŢťR/“¦7ĘÜe­ćb™!ů˛éČbłv©đď@ćHErY<ĎécM&ł“ĘěőŤM~™;żMć-đËü" —äKuužÔÖű±Hľ4·ä^“¸m˙,-,đb¶Ŕm›””´Jy©_z÷n“ý[eđŔŔçď ź śjŻvŻH”ťlćTżŹ6ľB) <â�é–ŽŞeîu‹8IeőőőŇ8sşČřw%ÂR¸xˇŮ&řić—nĎ/ Zń^ňjk$âx) ,­•Ąa›íĄvŰť¤hřĘRZZj’Ít®Lcó˛‰fT3��±"Á,d땯Éđ°WW×ČśüŻeVÁ¤öŘÜ~‰}EżăIż/4¨o’ZYPřť,đ}'?V•¶ô•ʆQ2ČżŽ *%%EeÁvš: h'śE šovš��ÄĹ>>ekŚ“mR•\ć´ËĐ‹�-ZúYFzZŠň—¶W–múLZ·–şş:Ó.3Úľ„L­śř˝,’M6Ů8ęĎ]cĆ’ąíÝe˛´®-dýď‹[Ěň^`âő”1}d•JN»l“kńLW'–é„­ł8í¦›döÜ6ůyZžü:˝Pć-(’ĺ5ĎŹ·=Ń,_›ňĄ¦®PylَEEŻ:¸IVŃ,k®Ö&+ Í N°jěጠ9•YŁUđHäąD¶ë‰o˛ń=˛5žIfŚ#–őšřî$•éřF㔥ŕ­W$â‡â —H–I‡pŹ÷’żdˇäżňśČk/JËúĄ»í'ůë®/ĺĺĺR¶˘˛™]Ń,ŐĚs��éĆń&3p¦‡”‹ĺęĺË—KSsŁü”˙ŽL ĆíVµ˛>źk}çęfŞŢW%ł ?—ŮľĎ%ß_(}FJeÝ(ä%ýІ‡\±ˇµťpí{ˇş��Č4©ĽŞWď/X°@ŞŞ–ËŔ>oÉŔŠwÄąXń–ü4w“@Wm(ťx#™ĘśĆ榛ţ%O<ń”ą?`@yđÁűdčĐ!’ ´:ĚÓO?+oľů¶Lź>=0Xß&ýűWĘČ‘#äú믑’’ÉM­~ůtZŁü8§IŞÚĚ$jCsřżŻ%µmrýU2˛T”äɺÊdËŐŠĄ0źó�şNWµ—ŇÉZ=&8‰e:q»xIł|?ĄŔ$”MźŐKjëň%Ýôm-«.0Ë”_+Ţ)/k•‘+5Ęj#jeuZĄ˛_ˇ™hµÍt|(ҸJ˛Żńl×Sdr|Ä?�şRŞ“Ëěušô®ńIMMŤYÚľřT ^}AŠ~žbŤ|důgUŕ{,řîkéXZV_KjöŘOj6ŮĚ$ši"·Ć?Z!‘jfŚď���E‚Ď/îmµĺ’N<ÍóO–@8ďÚŘşoĺ”ů"V7[qÇşźŔЦ,.řYű~–źĺU)ië+•5«K˙(śż–”÷1 gZŮą‚Uu`1—Ş›Ô�ĐsĹ3)<ţ|©«],Ă*ÇI߲/;˝¦¨`©T–$5µcĚ`lďŢ˝Cö•heŹ\„¬®®–ťvÚMâĄ1ęĉăÍýÚÚZyňɧĎiuą^xQN<ńxénzĹ÷qÇťdŞŹŘfĎžcďs)ąlęüfąűĂĺRĺŞÖŤNŔN™×ޢíóßĺĄojĺŘí+dÔŕB€tKe"z¸uC踊łT×4Čäź|ňÝäR™ňkďŔń űŹńšŘöĂÔ2łĽňŽ_V]ąQ6X§N6\·IúöiŻęˇcA´‘ň-žŃďG[q 8@Ö\s Ůf›­e—]Ćuádr|“M.ľř2yýő7ŹwŰmąćš+%U�tĄDă–XÖ™%p<ÓĄuňŹ’˙ô#RřÓ’Ë ~ýI ţs´¬¶†ÔxÔ¬łľTTTÍ”Wüo ď6™DÇ-ĆŹ˙PŢĽüđĂŹ˛`ÁBsÁDEEoYe•Ud“M6’}öŮ;peé‰Î=÷|ybŹ÷Ůg/ąě˛‹Ą»Í13˙Ľ!_|1I~˙ýwÓ-K˙MëĹŽë­·®l·Ý¶2fĚŽÁjĹ^vŢywY¶lyđń-·Ü`^�Ž3¤T,':ĄŰÍőýdwżě¶ŠYçő&ůĚI8sU7 ¶Ó\±ľÁW%s 'Éß$ů>đdy㩬_MĂ_20_Űi¶÷Ą×¸xŰifru3’Í��ČMŃâ®x’ËfÎśD[&#Ţ-%…sV<ăNčŇ÷™2gS©Ş*6UĚś ö~“©ěÎ4>-//“ššÚŕşH&¸ăŽ»;%—9´ŐU®ĐÉ՛ު’–řćV=i;)Ý×Y»őe’@ZĄş{˝Ý^J—_o“ŻţW&ßO­”¦Ć<ÉTţŔxĐ´%fyý6Ů`­zŮxýe˛úČ<“ĄK´D3ÚH…ŇďG[ŚMź>Ă,ďĽó^`’îV9öŘżËÁ˙ÉŚ±ąer|vÄ?�şRŞĆ7Üë4^Ѥ˛eË–IóŚéRđÄCRřőŠ ęzČEÁożHݛݔć c9.5+­,}úô1 Fk›OE×HŻËDź~ú™\ýŤf<ĚmÉ’Ąfůć›oĺÁ–=÷Ü]Î<ó4éŰ·Ż űhg¬›oľU^{í “hÓXTý}ľńĆ[ć‡sÎ9Ë$š�R‹ł ćŽă©–NÉT/ÓÇ:�©íř6{AN™2»e¦H\ gí룷ÓôţW“?×,3|Ka[©ô©)ýëÖÁyëHź˘Áf@Ql †ívšöDj¸ď3SÎH6�¤‚×ń=–‰´HŹźD_˝Öé`«^ů§Ée«jrYÁ;_ÜV~^¬\ů”Ě\z”,^ĽX äůuâťp%-<Ť?Ż»îj;ö&ó3ßu×]ä ”łW^y5dÝ!ĺŔ÷7Én¸äm Ą•;R1ąęĐ}ÝŘ絬¤]ĐŤr9žIg{)'±L'p´ ŐŻżűäă/zËÔiŮWµRá&}Wn–U†7ÉÖŁ«eݵ–›ĘÚJJ“ âťxŤ´>Ţm˛™¶TżńĆ[äË/'™ŠZ:ĆfËÔří€ě‘ ńLŞ’ËĽŞ–é1¦fŮrÉ}ś˝đ¤Hs“$”Y2aŐÍ|/…ßM’‚ľ‘¦]ö’…{$µ}jĄ˙ţÁĘăá’ę‰u2=Îůď‘Űoż3ćYš4ŮěöŰoí±ŐĚş›Ž]ž|ňi2gÎܶ_¸p‘©ŔvôŃGP!ȉÄ3č>$el™€ŤĐëcM,kkóKUë\iĚ« ŤC’ÍĚŠë%d˝ßőtÇöâą}hő żçöÍľzYT8Yů&ËOň˛”´ô•~ŤíŐ͆äŻ'eE˝Í`~ĺJ;ÍX®6"ilöË»SęeŇôF™»¬Őä" ©Č—MG˵KĄ¸€[@®K$F!±,y©L.›5kv`|Ő]ąL¬3÷ŽD*J”ňÚ˙ɲe™ X­ô‘Š ×žrâ¸ýöŰĘđáĂ#năTMqląĺňüóOK&Yşt©iC`»řâ d‹-6—\ňé´Ć¸ŰBĹB+yčľ·[3wÚŮ*×â™TMŇş×é}ť¨ŐĘÚ*{ę´Bů`b_™5·HrÁŚŮEĄż Ô$Űn^#ëŻUmÚ#iuM4Ó%ÜÄ«{]¤őîm˛9öŮj«-ĚmSSł™Ŕ× ?ý7bűŕĺ˛Ë®ôlۉń Ú˙�Ů'[ă™t$—ieŁŞŞ*łřżűV şS|ócKJ +G†*|q ’7_–˘oľ”ÚĂŹ‘9ë¬gŞréâTuÇ'ą–döüó/Ęż˙}‡çsZ©żOź “ś¤s™6ŤsN=ő yě±˙š Đuôo9\r™ţ»0 ż©¨ěŁR<đ_3·˙ţű €ĚÇÜQv Á ]Âů@Đ«\Ő|˙ÔNí1;Ëđ®nÂU\#|ćZß±˙čŐÍTC^•ĚÍűJćúľ’ýŇ»ae©¬[CČ2°hU)**6ÉeÚNÓ®nćž t˙"é­n–HŔN˘1cI‹Üöî238hű}q‹YŢ›R/§Śé#«Tr€TJer™Ě46.•‘î–ŇÂ9ńQ0$đw¬sícĺĘgdĘÜUnEšˇÁę±N¸öä$3­đµÝvŰJWr.ôĐř5Ujkë:­6läšç4Işü8·‰ V�)•®ä˛ććf“X¦íĄ~›Q o|P)óäFb™›~_ĎľR)Ń,{îT%#W®‘ŠŠ “hćTáJe5łlŤ}nąĺ†NńŚ&ľőÖ;IŰ˙„LđéşwÜAvŰmAx«é$©WKŃ®Fü +¤j|Ă^§źĄ .lŻZ6î)xń™Ŕ©OíV)ňćϕ޷^- ;ě&‹:ÜĚs 808fŕ•dfľtă;±<ßŐ´}˘VXuŰkŻ=äoű?YcŤŐÍcMRÔšZĺlęÔźŰéEšwß}źi—‰®Łż3wrŮ Aĺř㏕=öŘ-Ł/X°@{ěIy≧BZhŢtÓżd§ťv01}wĐ 0ÜŐ| ›1óʏ$rĹMĚtBsnŰTńŰă% aözmĄ†Ćp}˝oĹţťM:'śµJ‹Tü&Uň›Ló˝-…mĺҧv„ ôŻ%C|ëIď’Jč�ÝNSqŻAˇtV7K&ŮŚD3D˘íô*Sd¬nh3Id Íá–Ô¶ÉőoăűHEIž¬;¬H¶\­6�„Tľ.Y˛Ä$ íó’”ÍÝŔÄţÎqSp"ůľzY©Ď32kůQ˛hŃb<xPpß± 8RÉ,>;ďĽ{`RyđńĄ—^$űî»wŘçď»ď.9r„ř?ţCsőí®»îÜ©zČüůóĺŮgź—O>ůĚ´ĐA/˝Zw­µF™‰ŕ}öŮ«Ó ŘÖ[ďĐ©:‰ăŔ˙Ľ ÇĘ1ÇňĽţnµUÖ¸qŻČO?M5__ <XÖ^{-Ůoż}dôčM:ýţď¸ă.sŐ©CßÓłĎ>)Æ Ůî©§ž‘n¸9d»'ź|4©ËęÓ7‘Î}čyŇQDďkLM,[Ľ¤QĆR!_|[.=á˘âąó ĺÁ§Ęk×É®Ű/“ţ•uŇŻ_?S±"‘jfą\É̡•m˙řÇLe˛żýí(©ŞZ|î®»î1±ý}F‹o?˙ü‹Ľüň«&†Đ‰ĂššZ)++•ˇC‡š¸áOúcÔc˝ĆľŻĽňZ .úHćÎťxĽÔěcäČ‘˛Í6[ÉěgÚ„E˘ńĎ»ďľ/Żżţ†‰›4ľŇ}hłé¦ŁÍ>4ţňňôÓĎšv ŽÍ7ß4ßü[>ř`Ľü÷żŹšďQ'÷5ľ±÷ˇ_çÉ'ź–Ď>ű\ćÍ›/ĄĄ%˛ŃF01Ö:ë¬-éBü ÝŇ‘\¦í»çÍ›'m3gHá7‹oúoíO¤â¬lRő^?»’ޔ©?HíѧČĚŔqHŹiNu®TŚďÄň|Wşçžű:ŤgśvÚÉň׿ţ%dťÎëm˝őVć{ě±'Ę”)?ź{îąäřă˙aŞťą%:ć‘®ýhě qÄÇO4 Z%%Ĺň‡?l(Gu„l°Áú¦’›¶ ul»íÖňŻÝ$‰Đ„.­\«qŇ?ühb-“2¤=NŇŃIŕ‹ÇŻżN“7ß|;dťĆ}wßý“i4hśqĆ©˛Új«Ę•W^\Żź /ľ8Î$FóŢ{ď~fĎßą~O:î¤ÉiůËaž jÚ†ó˝÷>>Ö±0ýů>účăňŇK/ËěŮsLUä·Ţz-äu›ľúęëćg¦±©ĆÍ}űö1ń­~˝˝÷ŢÓś{xqÍkŻ˝ĘÄŮ'~bľ®ţü[ZZe˝őÖ5ďgăŤ7 n«Ű<óĚsňż˙}řąÔ›ßĎ1;ĘGüŐ\PI"c�r fH;'Č×ŰĆĆ&ili%ľY&ŽżÝĄłŢrצťfôý¸×wn§Ůľ˙Ží›}µ˛¨đGYäűQ~’Ą¬iô«_MúÖ”Aů٤¸¨ÔD5™NQ»şY´vš©¬n–h˛Y¦%šéU%ożýŽ ZćĚ™#K—VIqq‘TVVš`z§ťv /ۇ­—*±|梩ó›ĺî—ÇÝAЦĚk6÷?˙˝Q^ú¦VŽÝľBF N]ő�ČŃFmÉTŤw›p몫«UŇŻtĽT–OňH$ó…®óŰqV°¤™ô)ű!0AôYŕř¸e`�˛ĚL*:_$łîĄ­ttÚ´ßÂnŁ“¬×^;6Xaرxń’Ŕ€Ó§fyđÁ˙Ęu×]mĄ’Ąg]t©|ţů—ťžÓ÷©ËkŻ˝”Ţ\®şęrӢᓨ: ¨sJ±n˝őßrýő†Ú˛S'ŻmG}DRÉeZ±uć’ITY‘OVęW`b)Ďý/n1_ŠŻ�’•® úŮŞçÁßüP*o8Xę껿˛RWŇÇw“Ëdę´Ůa«ĺ˛ĹĆóĚ‘&"9cą8ůš,ť;óĚÓĺ’K.®ÓI¨ożýÎLÔĆJ&7ß|«™u˙{]ľĽÚ,:éŞĎ{ě1ň÷żíąźp1Źľţ»ďţgMň:÷ÜłĚÄ—É“§Čyç]Đ©z†îSÇ©tR'ôt‚úä“OV÷ŤD'ŤŻ¸âę°Ďżţú›frÔžׯ§‘&L”oĽNŇř@şĄ"nq'Äëů¦~ű>ůP îý·řšš%Ą2éťâ÷’?g–ô{©ÔýíX™;zËŔĽK?“Ř)ˇ>ă­´úöŰÓńwr™M“ČN?ý”FiU3wL“ĚG:ö3aÂÇrÁ—ä*‡Ć~8ÁÄúÚTŃ÷|ţůˤI_…¬×ó ç=kRÓÁ˙É$€Ĺ3—§IZîąNť›s'—Ů´¦&÷kśčĐ1®h f<đÜqÇÝ!ëś÷ŻqŮí·ßÓÓĺ—_e’ÇÂŃßß5×\o..°-X°Đ,3ëŁ]tľěľű®ŤţŰ~řáGĺ¶Űţ˛ţ«Żľ–N8%đ=Ý&›l˛±ą S/Ě´iŚţĐCŹ17˝XU“˝tő"€ĚĆ™’)¸·é€>· mš´ćµ®Hł¶ŤŁÝeçí˝Űi†\Ě÷ţ}®ő^ŐÍüR“?×,3}KľżPz7¬$ęÖ–!˛žô-"ĹĹĹÁ%;ŮĚk°)]ŐÍIëî _˙˝h@¤§V˝s?§í¦OźaźUW)^řϸ*Ľé­*iIÁ¦ÚNS÷uÖn}I2µâI&KÇëcÝg¸řLʎ .–ÂĽ™2¬ĎË®d{Źă~„*fjxż—ĺ×…Ădţü|“`oë(’ĚŇă±Çž\öřăOš ŰhćÎť'DzÜ˙Ý2jÔš’(m«vä‘ď4)ëĺÓO?7Ű>účCÁ¤EŤ§Ď;ďl9őÔ3ŰitÓ«oŐţsWH;®UWi®ŔLTcłß´ŻoNěo¶ OäĚ]űĘŞ Ě~ľťŐąę›îűßď-“«öŻ”âBţ­HL:’Ë4QY+€ć äů×ČĚ9=űJô†Ć<yóľňăÔ2ůă^KĚĎG+$8•+H2ëL«(\ý !-µµŐT<ă6ZeD[EŁŐ%îşë^SUB'.m±Ć<:ůzŮeWšźżVڰi…‡ăŽ;)lWŰ#Ź<&łgĎ–±cŻŤ¸ť&nj+ŃpľřâK3™îď['lőy˝đ2•�t·D’Ë´şĺrm‰ůâS’÷ÂSéˇT•ř˛żhęw™°4Ľ_SŁôş˙viń›,Ţ˙`sĚÓD_°?é$łîöůç_ă§íđĂŤú:­ľőÚkă"n“ěGŞ÷ó㏓ĺĚ3Ď iiÓőšä®Ë’Ąďů#Ž1ăG‘čżMnŇ‹^ݏâR‰•ĆŹ6M^rĆ"ąě˛‹Mň”C‹VDňĹ“"Ćťú;ŃÄż‡ş/b;óŻżţĆün‰56ŐóŤ /ĽÄT’vÇ·nšHć®ňćĐóZE÷˙ţďđNÉe6ýý]zé•úvIô=§j @ć#Á 1KdBÔ~Ť“Ť=·íçŽövŔé÷H63ëĄÓzC{¬oŇçZu3ďý{$śąöÓ*Ííí4}żÉ/ňş”´ö•~Ő«É�YSç­+ĺĹfâUm]śD3m§­ş™y&`Łmcok ß]'zsĆgËgź}Óöżýö»śxâ©rŰm7›€©ˇm1µrYK »čľî ěóÚ?VŇ.@VIGbXş„|Ő$mgŮÜT%k|Đ{ůÚ煉͜ęe®i•Ů÷iůmńń2~ˇ©Xá$ѧâJW’Ěă fé$®ľéĎqčĐ!fť^i«mlÚ¦éĎ>H  ż˙>Ý´HĐ[ĄZ:ůÄŹß…6éż%­2«WeÚô*Ň•W^ÉÜwľžşúęë: n˝ő–¦„ľŇö�ܬYłÍ•‘W_}…µýV˛Ë.cäťwŢ ®»óÎ{ĚűŃAC­âĐ÷©hŚť¨w§Ô›äřD°qą™\mlńËěŞÖ°Űi[ń÷~Ş—=×/�Wú*€,•ź~)‘—Ţę'ő =«jY$šhw÷#eß]—Ęş-sĄ_żľ¦şz®UřH=kĄ„Ź>ú8¸N[ĹJÇ…yäńuŻś|ň‰¦r„Vwx衇MÇÝwßkÚ/9U1´j…;ćŃ tÚRsÄřa†ą¨Q+™9n¸á&Ůn»m‚-4ńL'÷ěä2Ýż¶¦ÚpĂ Ě¤ß /ĽŚ›”¶,zţůÍ{ Ç©¨ˇďgűí·3˙Žt_ÚrS/˛ÔĘeîżUmeĄüőßÇűďŹ7‰o^ŐM’Aü Ý"Ĺ.ńĆ-z^ŞOęqK¶Äü:¶ą„„ô„a m™ůÖ+’7®Ôy‚477ËđáĂÉ4É&™uwŚóË/ż†<ÖyşÍ6ŰTR!c©ÚŹţśu¬Ćť\¦Ié:¦˘żO'ްÇWĄ•¸ěä2íppä‘3m5~ŇĘ«o9»»í°Ăö˛óÎ;EÝ·ţÔ"¶X“âÖ\s łÄJ“¨ôgłŐV[÷:ç¨mJmš¸§UÚ"ý»q~?ŻjŰx˝`Ň©úĺ›j‹IŹ[e•UßëôN±éżţőoółŚô˝huµú›„I×űä“OÍ:‡ţŰ× )4†=ä?Ëşë®]7ßł}1~żÓÚíÚ“C›H0C—ѨfK‡$…śř:ÚQú]OĆTŬă®/†ęfŃö}˙>‰TÝL5äUÉÜĽŻd®ď+ů!đM—7 –ţőkÉŔ¶µe`ŃŞŕ˘Ä şiňť/Nułp%bcI$‹%‰,žDłx“ŇRAËżş“ËôçŁA°N\ëU?˙ü‹éăîĐ`UýĆŤ{ŢmHާÓăn‹ ¬Ô}o·f‰�@&ˆ¤˛xŢŁVJ¨®©‘eoJQŢR+ޱ«ĘúBËD:Çe®äý˛Â92´â%™łü03!­mŁ" :Ć;¨kIf:ČŁy‘ü±ŻŚF^W^y™ě±ÇnťžÓ¤sč�ăµ×^ü;“—‡ň3y«t0JŰ+l·Ý¶f2UéďŮMÚś3‡&iµ1›hťsNG52ť€˝ţúÍ@šCŻľ<ńÄă{Ă‚ëÎ>ű 3Pć €éŕ—^©©»öŕéîźteŰ/§7J˘ÖZ({¬×>aúä5˛¨¦5âö“_‹ V�ńJur™~ŽjeËkĺŁĎzˇźVHĺ×w™†Fź<űjĄl6«VvݾʌEh53;Áž$łv:édÓ bĄ¦î¶A˙üçąÁ¶DZ©Ă©~ˇ1Ój«­*«ŻľZH< ­‚ěG“ązčţÖFűüőŻG« ÖÔÔĘ[o˝c’ĐÔoĽŐi˘÷šk®1c:&E:č@Óš\'Ú"Hă‘HżGŤ©ţőŻÉl­Ôáţš{íµG`˛ř’ŕţ´ť—&ˇŮ ö©@ü ťR™\¦óLZ1˛yi•Üpąř~™Ú3’ŔTšżĎ˘ď&Iţ­×ČňĎ‘™ăęJ+­”˛8§;cg|á 9^ĄUUU…Ó˝ 2ÄÄ*Uc©Úʶţv'őď´Ó×]gŇ8âŇKŻIÔO„ľg;IMžwß}GH…ŐÍ7ßĚ\€xë­•±ô"XĚtŚŃÝÝhčС’.wŢůo=z“ŕcŻvćš@-1Q“Żô÷ć× ›Úăh{ď˝—qÄŃÁŘTĎ5´ »Ćáh˛ä˝÷ŢÜŹĆŤĄĄĄć‚›vĐřÔˇ‰kZ¸Ă¦ ev‚Y˛c�r fHJ´+_đ·´´JMk•Ôä/ ­¦<Ľ|ÖzÄv—ăzżßÇŘN3úţťRÁÎ&ťÎÚ˙«Î›k–ß}Ha[™ô©Ń^ÝĚ·®T 4€ëzpÖ[§Ąf´všŃŞź%“ŚfoŰÁżŚĎ=÷|Č: ŽoąĺĆ`Đ®4¨Ń€L+W8´ß·ĹvÔSéďK˙î’©ÜńăśčíŢ÷Ü&Ě�d¬lN,‹ÔSŻ€+đĎAĺźUˇŐJ.ë´CwBYH‚ýŠç+Kż”ú¦ˇcńN&véÓ§O\If=e˘Ué¤e4Ç÷I†¶ĄňJ.Ó+ ÇŹ˙(dťDş¶˝{÷6bÚvŇ1aÂÄ„‡^=tŔ˛WŻr9é¤ă;mwňÉ'Č«Żľn*…ŘŻýűߏ>Ö‰j}ż7ÜpspÝĹ_& . >®¬ě'§śr˘$kţňVIDY‘OŽŢ¦Âś|5ŁQ>śÚő5s—%öµ�ô\©N.Ó8A+€hĶ_(sć%~ŮčŹîóoĘeÎüBůó>K¤±q¦ 6,l«đžšd¦ń„Í©Ţ ݱŚ_''śplČsáZ,iĚŁ3l‡vHHr™ZiĄáfý—_~¬taO,j‚™M'íä2URR"§žz’i äĐJß|󭙸 ç’K.ě”\¦>üpB§ýk’˝ýďAďźyćifR׎ť’Eü ]âg‰·čüÁ¬Ył¤eŃ"ÉżîRńÍś.H­üéӤ▫¤ú”ódfŕgŻIfNQ„l˝Đť¸îu Vš\vę©gJ$ščuÁç™ű©óHŐ~´:™Moçž{VH˛“GÄŇ<÷{3fGĎö݇z°Ü{ďÁ÷<yň”ŔřábĎ m ťcÇŢ˝{I:ěż˙ľ!1 ŇеŹ=öDHž^É AMÜćN.óŠMµâű"MŤUťź—C§\ж°Ć&›lÔi?šf'yµ×ä?ýy:ÉlJ“úě÷ÜŐc�˛ fI˛­Î ŇśÖźÄďJľňnG)O:+CÖ‡V7 &‡EÝŹ$ÔN3ţý[ßÜŠ'ýö·XŐě«“E…“e‘o˛ü$㤴e€ôoeÎŚ’’˘˛`;M Fśd3]Ľ&_>B˛Y˛WŽtEđŻW©ęŁ6ťdµ“Ë”(sĚQ¦7ş]ŞvĘ”źÂî[ËÚꀤ–±ť?~  ­— mŻ˝ö4°3 +˝BD{—kVľţhôdk·Ýv1'îÁT7 Đ^zée ţňË/ćűÖÂÚŞAKńęłÚ&ÁËÎ;ďn*Ń8î»ď.seV?ţC3ŃŞ“Ë×\sĄ$jY}ę«—uĹľ ą\¦·UUˤ>06˛× Ň©őĄ;Ń,d7îä2ŹmVÜ^1N–¬lń™ă©^-—ę$3óNs$Ń,ťÂMfj[K÷ ę]wÝăąíĉź„<v·“•Vťuż·˛˛ÎŐ*ĘËËĎýA>ţř“_S­^yĺ53 ©ćĎÜ;űě3ŁĆ`©0´Oľśµ[_ůnV“<ňiuđO㨭{Keyž©Řú߉51í‹Ń�R)Ţä2ŻŃ óćÉŁĎ÷—ĺŐ ĆjÖÜ"ąď‰ň—K[Ű,“d¦É@*IfŮ®¦&ô8čülbˇ“d:Ća·žÔ‹ ź}öyŮ`őd­µÖ2믿ž©tď¦1Ź;ˇm›mĽ[*{ěß‹çS8ćg×>¶ňÜNŰj|cOöj.&ÓöŞvu›ţ=Ú6Üp}ĎIp­â¶ŃFb¶OĄ«˙�H‡HqŠű±^P=sćLi™3G Ż»DdÁ|éÁ±“ ĐEď%Ţl“d¶ü´ L’ŮĘ+Żs’Y&Ć8îäśĺË—K*¤jĚ#UűŃŕ6Ť•Ři?}űö5qD2í¶ÝďYçĘÂŤYşâ5i+Z‚YIIç„*÷ÜaŞhŰH/Z!×N0‹–ŘŻj˝ †Ä›jb–ť`¦_söě9ťćH^?GŤm‡{Í}ęÂv‚™]1®;ĆdFŤ2᪗é}=pj™ú9­?‹ß9¶ĆŐŽR"T7s=éÚ>dŢ´Ó~Üëí„3 ŰDzźk}çęfş¦.o‘Ô-’™ľ‰’ď/”Ţ +I˙ú5¤ż X´š9ř;Wi:ŐÍô±;X‰4ůíąLúÝ%oĂ­s\}őĺfŇܡ¶×뵯öwÓ„6]t@N+ĄŤ{m` r”ÄâöŰď‡z$dťöQ×E=oľů†°˝ŃőJsĎ=_ćÍ = Öę2Ú6K—‡~Ě\]˘WJDŁÉjÚ’aÚ´ß$f, ś¬–DéŐ«+ő+©ó›˝÷ż¸Ĺ|ŤU*9 Č É&–ĹóúDŹ·ń´“°ë`@}}”ř¦HŻ‚_WT/s"W@cÇUÖÓ+vj?čóŚěó L«:^ćĚÉ“•VfđâM23_ş‡T3K—p¸ .ě´.–ŠjJŰD$Â݆B[I„ănuŕ~­Ň /´¬˙‘GţÝó9MôO…!ůňűâđ±Pyqžô-Ë“F•HA đăjSťu“ĹćOĺţ ËĄ¦1¶„ú!}ň�bO<ŕµÎ~¬ç‘ZąlÖśyüĹRWźx{枪ş&_zz€ş˙âŔĎv¶9Î9ăŮÜF*-ZňX[QĹC«“ť|ňifśÄˇlź}ö…Y:٦UČ8`żŕĎË+ćŃöLńĐÚžpSáâŤAd.ltx˝G¤d»%K–†<ŽÔ *R\•â�éoěîy§rYë’ĹRxĂĺ]—\¦2épÜ…ď%oŃé}ëuR}ćE2+pŚ]e•U‚•™’©ĆÚ1ްi7MXt’ćâaż&Uc©ÚŹ~_6we+›KH&ÁĚkĚ&ö1¦eQ·Ń$8ý÷f·@ź7ož¤C¸Âń¤g<nČÁžŰz­×ׇK0K×ßRwŚ!ČĚě#ańL¤j™Őć–f™/3L›Ę ź+›,¸^˘®ďhG)Vš»şY¤ýDŞžŇN3Bułř÷ď‘pćÚO«4KUÁoRĺűM~•·Ą¤µŻô­YMúÖ”Áyktúšä2ýąjđŕT6ł«›%’LK`źîŕ_Ż<Ő Í.Í{çťwË«ě7ÍÎŹvĄĂyç]Đ©ü¬˝ ਣţaŞ…»bÁńůç_tj•`Óv'ťtŞ<ű쓝®4ýî»˙™Ö ŃĘë`¦öx×�ZJ#ŃR˝©J.klöËmď.“úćÄ’- çgîÚWVP`öóí¬Îß§îűßď-“«öŻ”âB’�tŻD’ˢ˝F>˝®X‹ĺµÉľű±CtbĚT/+}#´™OBc=ľ;Ď›ű!;őľŚŹÚoóóędDĹ2uÉYcažČrÚŰďŻ'·Ťşĺ–ş­L|2˙ö’i›j_ýMŘç4~ЧBJ8ŁĄ‘&XYĐ,Ź}Z#ٲ—lłz‰”â™u‡µ<ľńCťLžŰ,±ÚtD±�@,R™\¦ŐĄô‚§_§ËÓă*Ą©™ó˛D54ćÉcĎ0í2%0ňĄ‰FNŐ€žšd¦¶_}őuČ:­�—yňÉGĺÁLf˝RĹݦc!W_}ť|öŮçríµW™źWŞăíD$ú˘Uň±Ů®©@ü Ő’‰]Ücš߼d‰ä_sq`đ]«=»t…üEóĄâöëeŮéʬĽ<“”ä•d–é1Îk„ТÚgË-·YżőÖ[Ö‡Vc:ĺ”Óĺ“O> >NW›ĆThn=‡›T‰$ץJ,­ÓužPçí~­ÜvôŃGF}­Vł+ávkËĆ®Ľ°9Ure @ę‘`†¨’9čk5 ikóË–™Ňä«o/xá ó»2«|IY*¦ęc+;öďz2®ýHŘęfíű÷'¸źŽ»>'áĚN6óŘľ!ŻJć}%ó|_É÷/Ţ«iô«_MůבkHIqGyS§ş™“p.Ń,ŢőîmŇüë„ŕľűî-Ď=÷Bpť^ qôŃÇʨQk‚ŔmdÓMGˬÓäáÓO?Ű)ąlŐUGĘîożľůć[yůĺWUŇ4đąđÂKäńÇ6­˝Âyýő7͉”¶ˇÔ÷˘ůşűŞ ˝ęô¶Űţ#]t~pť^m{ŃE—†XÚ˘óČ#˙fŢ—ö8ć™çBNXĆŽ˝)pbłĄ 4(ěűůôÓĎÍíFýAÖ[o]ó;Š÷ę\Ç»SęM[D°qąI.klńËěŞđŐç–Ô¶É{?ŐËžë— �t—xăśhŰëdš’čqŇ«”}ŞE›€Ň÷bŞ—Édé•˙sGő2»ÂŞ“hć·‡ű>ýan­űEůKeőľ˙‘iËN’Ůłuđq¸9f’dÖýÜmô‚…O>‰ž„źÜ× ˝JxîÜąa·Ő HŻmý<ąçžű=_Ż“úÜ©§ž$ÉÚyíRy?§hĽŽ>Żt’uăUÚ'I§&e_ü:ö– ÚNj§µK�˘I6f±WWW›ĂßM.‘—Ţč'm~ާÉjnńÉ“ă*ĺ€=Şdż&™ů-›c‰{"ÉĆç˝÷>čÔÂh‹-6—xé8V.=çś3M"™V×E/Ü›:5´}ĺ;ďĽ'{í5A¶ß~;ĎńŤ!úőë'±Ň1§^˝ĘCľŹpqŚĆ î¶Ý^í¨bŃżeČă9sbŹť’Eü «Ä’oŻ×Ď߆ĄUR0ör‘Y3¤Ë9c%™ ŢKţśYRqÇŤ˛ü´óM)­ kL‰c6ß|ÓNŐ°´ăŤ;ÁĚMçq~řáÇu«®şjđ~ŞĆ<RµźĘĘĐXgńâĹŽ»ÚlĽÜŐiO<ń¸’żâˇż;ÁL;˙h,­@Äĺ—_e¶shńŠîL0‹'6Őő±Ľ>Ýşc @v ö=R"Ü•%ĘÉDźÓöKpŢR7 YĚzź©Ö±H§íŰB¶·÷z_űľWěż-ęö±®·Ţ«µ>ąý·żĎ6űgŕÚľ-pŻ:o®Ě(üXľ,ľOŢő].ęî‘ďŞŢy˦›«µÍ….Î} ‚5*ž·îtúé§D)7<Ľ˙ţ‡ä„N‘ťvÚÍ\9˘‰hË—{_ĹŞ' =ôpČ:í9˙čŁÉá‡*űěł—Iţşúę+B¶ŃŢâożý®DsŐU—Ë5×\iZ1śpÂqňÄŹ+*lZ2ÖľC«žŮ:éţđĂ6š¨¦ˇ·ÝvKŕ¶#ŘŐßßăŹ?ń˝čIšľ­ľvƧʙgžfŢW"ľśýę‘pÖZ({¬×žPńä5˛¨¦5âö“’řZ�¬xŽşm´íőó^Žő›·ô ł}ş®Řňz?îÇNő˛ĆŔ{\řZçŔŁÍuż-\Ŕâ|˙ >ö‡ŢJǶĄsdĄ^OHm]]`˛mľçű‹Ą:C<í2ťV”łËűë… “'O‘tŇ lZ}LîÝ4nýć›ďBÖyµżţúL|ë8öŘcB’9µŞ«{Â9Zaő”1}¤4JĄUťdŐJú/Q“ëďůpą´Ä§Żű>5đ5Š Hě�śxޱućŘĽ@¦N+&ą,ĹÚÚ|ňâ}ĺçŔĎVĆöń.‘8([éÇ 7ܲN/¬űĂ6”D,X°ŔÄŘk¬±ş;ůç?Ď1Ţ˙ÝťÚMšÔ^5McmŐnűčŁ žű˙÷żďř“ś}öyr×]÷‰KǨQŁB¶ť0a˘ç>´Š;ľńŠcbˇ•alšL§#ş-[¶Lľýö’JÄ?�R)Ţ1—pŹ5 ¦®¶Nňîý·Č´_¤[đ‘%Ó•^˙˝SjçîvbR21MWĆ?Zl`§ťvY7qâ§ňä“OG|Ý=÷ÜŇ®[“Ô4YÍ‘Ş1ŹTíÇťôí·ßyŽM겑ŞĂÇÂ]ťÖގREc?›Žu^vŮ•[0j!;ąLí°ĂvŇťĽbÓ >öÜöĂ? y¬c^Ç“®Öc�˛ fHH<źN¶j°2«ĺç°s–ŢëĂ$›…ŮľM$ĆýŰ gˇŰ·%Ľ;ŮĚö}¶Eü~˝Öű¬ź÷öÍľzYTřŁL)'^/ď´^)«’ÉK>’%U‹¤¶¶Ö´ Ň[]tBNŃ~źÝ9ˇ«•ĂîşëvsĹCEEoĎm4Ń*_×^;VöŮç@ůďéÔ@Ű1¸űŔźvÚÉťą]v#›l˛qČ:­P‰žDě¶Ű.!ëúôéÓ©b†žh;M‡»­ćßţöÁÖMÓŠf¶pÁ¦C+©í±Çn’ ó—·J"ĘŠ|rô6¦(ÎW3ĺĂ© Q_3wYb_ �’ëq,–Ä2}^Żś1c¦´Î|]*>ŮS ~ąÝ´ťŇ‰gö’¨pŻ÷ĐÓă}CCŁř›çJoS˝L“ČÚ¬d˛6W˘™¸+ępë=ř­u+ŢKź˘˙Éđ˛Ç?jY¸paŘ÷éq¸uń<Ź:(µí¶[‡¬»ăŽ»<Ű+]yĺ5˛ďľĘ™gžcÚ•»çbµçž{„<® L Ü~űťť¶ÓuîÁS÷kő�{bWŻ–Őé/94¸N<ŻşęÚ”´ŚZĄ˛@V®Ś^ô['YŻ{˝J®~µJćĹGĹş�·˝T¸çurIă“Ys ĺŮW+I.KM2{ć•J™>«ĐT°/8K&¦É†xG'<źţEůż˙;B–. ťô;ţřcăŞ^˘c'GőŹŔdŕβ×^űË%—\Ţég  kîjĺĺíIç:®´ăŽŰ‡<÷ÄOÉôéˇUofĎž#/Ľđ˘Ěš5ŰTżżďľĺ§ź¦źwŹłLšô•Ľűîű!ëtĚM“ÔlZQŢëÂÉXŘ*ý»˝á†›Cb˝Żëbi//â�©Ď1-ŇcM"ŃÉyĎ<.yźEGú};IĘ^ŃüNěźdé»2Ć9î¸tj y㍷ČW\ŇNQiŐ,MdzčˇGBÖďľű®RYŮQm4Uc©ÚĎ6Ű„ŽůhrÜĂ?Úi?zqž;^ssÇnîDµ=öŘ=ä±¶ŻÔXÉMÇKwŮe9âcĚxŤvr: EŁÉsîy8­jű·żmŠ;Řsť:6«…t<˦sŚÚѨ;yŦšÜ¨?›>~ę©gBÖib¤{Nł+tÇ"€ěŔŮŇĆ™�mjj–ú–ZYš7Ż}ľ1b»Hé<_iÚQú\ëý ¶ŁtoďsmźŘ÷o^NżĎ(ű ţhÂ~]źk˝ßs?őľ*©/ś$s}“äô®_Y*k׾5e`ŃŞRTTlJ™jM Jś€:ÓZSéűŇrşůËaňŃGËgź}n‚SwŔĄ4 ÖÁ<ÔjdÎ{úůçĐ+št 1Üł(iBšă—_"_ ®śîV[mi˛úí`Ű.iűóϡ5}ôqsĄ«›{POp4Xvź�96Ţx#é*CűäËY»ő•ďf5É#źV;yrÔÖ˝M›mŻů߉51í‹é �Ý!–Á«X·Ń“j­Ş ITçŢ!ý—>Ż—3J˝żŻ47·ăm<űwÚ‹ëç˝^ Ż;]´ťOsŕŘ10˙Ýö$2§¦Yüí±…ÝÓ§ gyÖ ±‘ ĂübÖ–N÷ű—|! -Ă<;™ăŁ&cGk•i1I®ůë_˙b&Pť!MŘ?ćăäĎ>Č\ąhŃbyőŐ×äĂŰ«|hŁ÷GŹŢDˇKvŢy§ÉXLś9sf`Ňx{ó»űŕńXď‹×é ­}…¦NZßtÓ-!ŰqÄ_Íż«˙űżĂÍ>u[é@–ÔiĹÚdő)Ťíďđ—ÍŻ>e\ď şx'äÂU7ţÍš%óäËă/ôÄ7ÓEŰe>5®żuČÂ@|2;p,\Ĺsě%Ţ'“âť3Î8'0ţŃŢRJÇý–,Yb’´4ŽuÓIA÷Ä`4ÚŢÉ®‚ńé§źËyç] ‡ňg2důzĎ>űĽIłŮę}8Źyä1rĐAšßÉěŮłĺ™gž ©JŇ»wݤ2˝Ż•ńíJô^xI ~ÚË´ZŇÉő—^ząSâÚQG‘đďjÓMG›ČţŢtU«í;•WŢ|Z+H˙�H—x’­uĚńâ%“ÖŹ$oÜ3‚ş9(}ýEi:\ŹŢĘĚ/iâŚĘ†q›ŐV[Ő5Đ$$۸qŻEă�mY¨Çw;>p 2ŘtʱĄjĚ#UűŮf›­coÁńu×]÷šXFśôw óm/Ľđ’DcW‹Wź|ň©yݰaCMës­`¦_OË”Ž3ťrĘć"ŔÍ6koIŞă3Ź<ňXŕgşĚ,ÚnT“đ>řO+m•®]őB‡~?\p±‰± h>/t˙^ţůĎsM»îćŽMőßŘQGýÝĦ+ŻĽr`îs†éŘd·gwĆĽşKWŹ!Č$!˘x'`öÇlýUZM-.‰)a+úz_pnÓçl”Đ~ÚçE}öĘŕöţ¸ö~˙ľĐß+áĚŢŔc?~ëeŰ;’?[ĄEŞ ~“*ßo2MŢ–âÖ>ŇżvMж– -XOĘJĘAsď`ö{"şé¦ďM+Śé˘tńË/ż2Áô{ď}r…‚¸i‚׾űîm/\ÚC~đŕÁa'ë‡ňXQŐd<ďí‡x®×€O«iŘŹNÉh˝ŞU[•Ů4aÎ+i΋VÁéßżżçs%%%’*C*ňĺ÷Ĺ-aź//ΓľÁF•HAľČWËvk–Č&#ŠÍżÇű',—šĆŘŞ† é“/�Đ•’M.sOÔę@OKýRYí—3¤¤qšH^{rV}m´Nľť$´hÉbNb™&(ë}w»źhďĹ˝Noő¸Łű«Čű¦˝r™I(óµ×0v‚({Ń‹ B¬öíÝÉí_ĚZZ˝¬# Í/ĂË_”6Y` hKSč IfÝG[rü?äŽ;î®Ó ÜH­ ´%Áć›o&‰şđšIP;>ŇA)]Ľč Őů矲N/&Đ+‡¶×A8U^^.ÇűwSÉá¨cĆěd€“±Ţ°"ůâ÷ô´ô^ohôżs�G¸F+Ě™3G–TůäŃçűK} é¦?cýYsč")üě‡îyáA6Ç/áŽă6ťČĽě˛‹%^wčkuBˡc@ş„ŁÉWšśĺXk­Q¦ĘüÍ7ß\§c2îJ$ý=śţy!UćubU/d<‚ę9Ŕ‹/Ž3‹—1cv”?ţń�I”ţ;ąč˘ó৆üMk,e'•é8Đ&›ldÚ{Ąń€dÄ2îâµ­{ĽEÇöýsgKţ}·wž«A÷ ü.ĘąW– [Eó÷XéĂď˛ëâ!MňŃä+íă¦q‚{ţơI[7ß|CHő2G*Ć<RµŤÎ;ď“|es’čěíÖYgím2×[o]Ónҡ?›«ŻľÎ$Ť÷ĽYwéĄÉ_ţrDp.NăĄ|Ř,^4¶şŕ‚ó$šôwűí·ĘÉ'ź’d¦ôłÂţyŮôß”v4Š÷B‡tńŠMőßâü7ěkN?ý”„Ű®§BwŚ!Č|Ś(!­4ÁL'Ug6˙˛˘ăRGÉ6§•¤ßZD"´‹”¸Úi¶%´{˝óăo§y}Ç{őüIJĎí]?ç÷Ř·Lć|)ß?&ăó®“©ŐĚĚš¸äç°;h�Żá5×\)O?ýx§D/űĘ‹t´ sÄÓvÉ>©JFcc“t…Ń#"—ŰŐ+Tű´ĆüŰÚfő9iÇ 9tłöŘ7~¨“Éscż‚uÓ]_Ú@Ď•Ęä2m9­ ÂyUSdä”SĄ¤öçŽö“¦őd[`ŁŐLčFkŹ©!ZťI’[ޤtţŇV7G–/_îY2>–6™: ŁŐË [—YlµĹô[ďÓÚ2Sď‡bµĎôXĚ]ńűíxÜ_ąü1)öÍ”ůó/@pŢŻSŰV$ă…ű~"­‹çy´Ó*±:-‘QcĂ;Ä r&C“ zč>Ób<š-¶Ř,0Đ{Čä®^©ęľşöěłĎy˙zőäk¬|¬WŻ^wÝXIÖ–«Kż4TÚĐ}n±q€ČbŤK˘=ÖVŐőőÍňÜ«•R]ĂE>]eyu<őr˙Ŕ1©Ůüě l±Ä@±<—I´Ńąçž%cÇ^Ó…^4±ËݢҋĆ+zˇˇŽąi5SMp‹ÖVH';/żüĎ HťX»˙ţ»Ídj4ZaâÚkŻ’diŐŹ«®ş<ěĎN/^ąä’ eÄ’Ä?�Ň!žăť¶şk Ś»äýçf€‘n—I‡ß x/ľ¦Féőß;ĄąľÎü®"UéŹô¸»śrʉ&FŃĘW±Đî7:5jÔšžĎ';ć‘ęýh<sć™§…˝ŘUc'­ ¶öÚkI${ď˝§©¬ć¦ ]ZBé|ťľŹpťlKÝ}÷L%ąxŤ9ByäAÒڍ_ë¶ŰnîÖę_^46˝âŠKŁŚĐĘ€ ĆSé-]şz @棂âĎä¬N ęÄčě¶_;:.™ ś-}ÖMÇä¤_·‹4ĎĹPÝ,äq·ŁôZ{;ÍřöďÝNÓ/Ţ©ÂďÇ^˝ťf˝,—Šź‘e-3ĹżpOó;ëŰ·ŻxéĘ ÷ÜsźiuéŘi§eź}öňÜV[ťL´KO›6-xŕŔ!ŰĎź??l™ąsCŻrčŰ·OÄ€Én{iÓ }»ş†rŞŽiP¨m:kkë‚Ď=đŔ=¦­B&ŮyíRy˙§zYR>‰NźWٲ—lĽJűŕŕôĹ-ňâ×µ+m§ąÓÚĄ�™"Ö1­ ¦-€ŠŞ–ßź*ůR-bćjőř˘•ÂňL‚™“\nz«‰jZzżˇz±ô]ö¶TÖż8\×ÉŚŇ}[ÔšJŁń&Ué±®®®>pë—~ţ í1ÍŰów´Ćtî·ď¤ýľ&´ąŹ“žA‰ő¤_:ö˛Î˛~µ^˙–iµ§~vy˛ňĘĂÍqÖ‰#jkkÍc]¨dÖ5´ú×vŰm#Ż˝ö†)_?oŢĽŔ�áŇŔk©i=Ąĺě<p˙„ţĽč ăţs›|ńĹ—ć Ř)S~ Äf ĚsZeLŻäÔ«µňýűÓżŁk®ą>$ą_ß÷¶Űn˛Ťďt€T+Ś8&L(ożý®ěşëÎ’¨Â|ź»}…ÜôV•´Ä~}AD?1ݧî�Ol q†¶YyűŁ ™5—ĘA]mÎĽByb…ěşýňŔDҲŕ¸K.Ĺ3ú>uĽC'iuâuë­·2Uč“­´®Ia:±v衛Řá›oľ5­é5ÎŐVZĄ^ăťüÔ8"SÚzë-ĺ•W^3Ńś§´´DV]uUÓęS+Ž…«Ż´ÂÇ3Ď<aÚ˝ńĆ›¦%¦VęиI߇Ć/°_`#%U´ĺ•~]műýé§ź™Š%%ĹfW'ú4ń-Rőd˙�HT˘ DöëôbxŤ]|O=,ľ_§ 2SÁŚß¤ěŐçĄć€CÇÔę` ÂDc®Ž}ĆŚŮQ¶ß~[SuüřÍĹ‚íEjڰŇJ+™c®&4Ĺ2“čGşöىLşŤ¶Ůś4é+łŹââ"S•L«¸i…©›núWČkÜófß=řŕ˝r˙ýĆW>VÓ÷ˇqSÍmĐ Arď˝wšxĺŐW_—©S61[ss‹™gÓD¶í·ßÎÄlá:ĹB+™ilř÷żý˙은$ĹőĆżžÝY÷ÝsWw—$$ů'!!Bpw !! îîšŕÜ9Üő€s×uß±ţ÷WÝ5ÓÓÓ=¶ł{»wőľî®î®i™ťzýę«÷ _Ö‹Ću}… Šß ÚŤµµ5Â>˘żéFݢöŰolżývq¶iSSłq}U"ÓŁřŇ~ĺőúۇ¨P(6é¶ÖZšŰ´4ćšÇşś|¶ąśň¬˛<ÇÄm´Z|@đ} RÜTüöIvN2şEWW§č,3f4út"G¸…1–çK#cUç2< €ěý“n_žćLŹß¦ąě ›Ř,íúőÄ:Ҭ?>ŐĄ}]w9˙\ÔŻ'nËIýzÜůO ě…ÉÚžÂ�“#śĆi2c5—†?CěÚ#T0ĹĂßď9ÚâŇK/yÉ%LOůŇKf¨ßO?ý ÇwRÜţ·ß~3¶ÚjË„zŽ:ę8ᬔp´č-·Ü]ßsĎźĆĺ­ßrË-„ŃěäÍ7ß2:7Ď‹+»îş«°ÓN;Šĺ#Ž8FDá0Äm6Ł(śçĂPÄ25h.XÜÂĺ/5Ł+Ü)°ÇĹBdé¸đą&¬l §U±_ĂąűTaLŤŇ9+‰%K–żÇě@*áďůűĎ—uÎĺäĆ@°k˛Ť|ĺ–ţ{É’eČkúľ>Ő0HŰ-ËT7…YL‘™çĂr}2š¶¸Ëčü2^´]R4S,ÓÔÔ$ĄÍźcxýŕ×D] ľńX1ć|ÔŽ¶kÉŇkşŮe¬›N±¶öNŚí>ĺů+KŹ©Ĺfšc™ Ć ä[¦·óq&kďÝ"šé6™µŘŤy'ˇ¸¤V8¤xm~­I´;zJ…ŔŚéÓ±CRŮJd¦Č%łWqű;­hęě]/+#w°suę°ěťŞ …˘w {&ŰčeöeŠâ—-[Žçŕ?ĎÔb€ŤXďŕWę·4`Ă)Mťu±mšë˛ŰzşŰŠ\ˇě…bŕ2Pí™l"YŮ—ésˇ%đĺgČ»ôoĐ".őEÝîC ŰúS;X´ÄĘăËť0 EĽwµ·őîĺ‰.ÍŁ<ľÍă„Ü?Fs[Ť®¸—۶ą|Ą4--§žmŁM…ŹÇ14GŮ7ýËüS†$ąĄîT(Šľ"{&“÷äNAźbľ\µZó°cŇ­yÄ6é¶ąs‚Çz˛ąsŮIJĎ‘J‘©đ$ÓŃ&n°dIH¦ÇŚő/Ę>Gű”r2–NÓmŻzRןN3Ýz"žűŰŇięZÖç™Xżí\3ĽŢäőÇßąţ7Ń^)r¨ó…2ťçŰW8CéÎť;űŰ?Ĩk;ě<ć™çÄdÇ®§ĚćřÚko~7%ŻĽňZś¸Śě»ďO‘ 榷çź'<Çn¸9®Śi(V“8Ó;<řŕĂŃpÂvhŘSDvüń'‹śě®ő'ckňÓ1’Ůe/6ă’ç›Ó—eRżBˇPô^‚zgy0â2´.ÁÄĎNE^ Ý2÷-C#šn’ópB]r’ĐšV-ðůwaĚ›ŕďn�؇­nńÁď/λdçćĺ eÉô‘` ʱ̖Sž›#-f4}¦±˛§Ďtş÷; ÄG/‹?÷âĽe_r::;…nőęz´uč(î<%úëXľ|Ąkz…t=dş]ˇČv^ú«üiÇrl7ľÓ†űQäOíĐŕ>Žđc» …8Ü8–u¨ÎU…BŃŇi# ;Ť™–±Ů°+ž~©ŞY\{đŢ?ór5šš5‘Ý-şą_zĎVˇč/”ýŁP(2!q™łśţő ScŢ}«éŻP l ?RŮ#w‰T™D™‹ď€˘÷đ>˛_í±Çž‘PÝhooě0 ĄBˇP(©P˝űŠ^‘Ěŕ“é1ç@·‚b9vLŁ\OAˇŁwé.mé¶:¬Č^™×ă,· -a0\F†dX?Ĺ`ńJô¬ęqO§ÁâĽQ§Ź)Ş*++‘IHâLöMX·Ür[4ě/yůĺWE¨b¦`$vĚ3ŤfCC˘0Ëž“śQQţô§?âňËŻŠ–Íšő=9äO"Ś0Ă6őŐ×"lŻŽÔJ'•Ň…^‚™3ߢ8ľü>űě˙Ή×cOµIáÚ˝÷Ţ/:Ő Óizčá"ŠĂwî}ô‰0ţ)öc(dN ËĚtˇýIeqz乫ȔĘĄoV(ýG&@ĽĘhÓ0=r¸ł >˙+|=¦%Íć/®ŹĐL‘9Ň7kÂ!Ţ8lăň[bÜĽ{QX’`‘÷hµ(0>Źm«›,Ůůrą§' Fż3ĎG·E.Ó-EÄ Öm̬e=Ěś8fO¨¦!Αă2š5~ű˘gjô˛üą^đ$Vuü…FąĽ#„HéΨő˙cĘçcQý˙ 1C¬«t™ŠS:í2ĄHL„_oxŁĹ3­8Óź2ŁR‰ę EĆdŰéfßNÁvww�OĽP‡®nőţµ¶éî1…~‡ý¶A 22Ä —­-ŁlEˇě…BŃ—ŘmúKY{îqhË—¸FĚR <ňVŻDńk/ sż˙ϰĽĽ\”+[eíĐÚÚŠ_ýę·FUK´Ś}bLĺÍ~Ż®®n!>»űî{Ł}T„v™ÂRˇP(ŠT¨7=Eź@ă1"ęÁ*,5HÚŁYHŃb:){9l»ş—;Ăë®űg^żß!jďWÍę<­Â¸r=n˙ěë×â5·H!ÔżZűÁꔎŹî…¸Sďű—†ŔĽôŇ‹qŇI§ ±•„ÍöÔ’n0wůn»íWFÁŮG}Ś·ßž-[°`!®»îF×:(»ä’ ăRV¸Á<čĚŹNá'7rô¤“ŽŹ+ă ÖEý'śpJtÔ2…Î|÷v&MšĂ? ýÍĆ# đÉÂôŹ(€BˇPôą—±lŐŞU"ęÖ¤ÎDqÇ<S e–I1˝fEţBDD3|™"1:y±«tĺçýă˝ČC—Ńc“đqČÓňҵé6 ”é&ůŮ%ˇĆyFb²hzLűşŽ¸T™4 ‚Ć…ĺűbF„]d¤ˇî—6‰îZĚůĐÂ™č ŤBs÷tŃ>˙‰żßłeľŹ1Ş,Śe-ż6ǰaĂz-2S(ú Fd˝ř—5xă‡.|¶¨+ZÂâŻbxe¶WÓŠQŻľ› …˘ďđJ/Ĺcťřü›,Y®Ţ˝ ‹–âËÍć"Ú9Ó‚»-ŁěĹ@GŮ? …ÂŤŢF®˘ďżĄĄáeKŕ{ę1( ÖĎ}ÉKOŁg‹mŃbô­ÁďOtv9m%˘ďTáç??�÷ß˙`´ŚŮrě©0Ý8ăŚSű …BˇP¤B Ě‘ng'_¸ďňĐbŤ˙˘"/ͦü˛/xľĐŇŽĆeśéiěźNýšŁ\O¨'Y˙Şwýšc˙xÁYşő'îo3şÓŚnfŻżŰgĽŔi=đ…}Q#~mó›m¶)n»í&\zéĺbtE* qČ!żÇ±Çízľ˙ţ÷żpýő7áá‡˙“´žQŁFâňË/‘ÄRńłźí‡šš<ůäÓ®ŰGŽë®»ÚŐ(ßzë­pűí7ăĽóţ7JÄ ¦×ü׿./fýÍö ńĚ—hęĚm8ňę¦u+ ĹÚ$qŁL´µu`Ř×7ُu®)Ě25d–@ 6±™fmđˇ´ős lQ¬ŁŁ MČźő2Ć-zĘ–qҤ‚+FÄ_*ôkŚÄ™îąËrN´ĂBˇ0 şçŤ¤nž#ëŇ­y4Z™–ÁŚ“q¬)>CĽČL^\Ö˝pÚjrŮ(Uô4:ÚF ˝«UµŁ0wI¦Ť]Š*˙§ĐK ;˛ů@äĺ塮®.-'¤ç)(礢aęľ›”IˇP(rAo;h)2oiiA[{oĽ§:‰ŻľS‰©Wˇ  Y lsł÷T¬b Łě…B‘ śâx–{´íhřTň08é),F`ä`â$n¸ĘÇŽGQM- Ş«Q\7šŻ Ý«ęn@°«ťMóˇ·÷÷(÷ÍGOööČ—¬LĎň8g§VÚÇĹă/¸«×ţł6Ńo"ŽP¶ĘZAňóópď˝wdTVVŕ´ÓNÁě…BˇP(ŇA Ě}‚Ś‚µ(0'AŁ/š˛ Îb3[‘ł\בr2Zż/Ę‚ŽLŁą×ďśizĘzҫ߱!Íz’GgÓĺşg=öň0‚Č׋„áĎt÷Ýw>řŕCĽűîűřňËŻDŠŹÖÖ61¦ŞŞRä„ß~űéŘkŻ:t¨g]ŚŠĆ üôÓĎâłĎ>‘hr{Č:Ś7űî»öÜsʏt–©řË_Îb¸ÇóćÍ7:Á}=z4öŢ{/üęWżDYY™ç±L«ůřă˙Á믿‰W_} ‹/Áš5ő˘#ť‘Ď6Ýt‘^sÇwŔÚ‚iŽŮµW˝ŇŚPŽ4f Ă:Y·BˇPô5é ă“ßŐŐ%„aĄKßĹyO™Â+‰O7µdÄÁĚj{ó»W Łľľ^D嬝÷FÎyĘJOi˙$›‚‹f‹Ďj‡őŘy¤:O:ŚZ™ŃŔ’€ç­…;ŘËl‰É"–0ÎZ÷Ů#—ÉÉ* sâ!^XćfŁx]Źs?[qľÖŤń%Ź˘˝çHĹă“§aÚ%b[uá§č…XŐř ŃńJçd˛ŽV•*SˇP(ë3v[â2¦ľˇ©łKĄĆh0])…?ß»UD·­ŞŞĺĘVQ( Ĺ`Ą·âx ËÚÚÚ± {ţ×ůô}7Áďźý…öš!ĐvÜCřĆm¶yŠ˝ QTi´ý•ćZőxŰ&Ă_Ó´ě=t,úJ;^BąµmŁ[GY4h‚žŮqöőč˘×qŢţ©˛®×ŃÔý%::¶ý"˛ź%Y¤V%˘ďčG;á„ăđ˙÷K<űěsFŘX¸pˇá/ě°|lŐ8q‚č{ÚwßźFÓš* …B‘J`¦Č94ţş»»E'çâ࣓Ա›m*Ę5‡hJO±şĺZtfÖŻgYʵŞÉ~cGďjŻĎÓ,ŚŐďŘA=‰ŃÓ4Çůë.ď´PřU(Ć;ĎFn®DV4š)4ˆ×_ٵś‘Ě8e;Ó92$›Ń!^ç“k¦óăĚ˝«pű;­˝ŽdĆČe—±N…BˇX›¤˝LFcJK_ërŚůôJłĺnbŇă×É#@ ?ÂҢ]Äň&sžBÍ’ŹbMr0nW«.ł}.,ŇRŚ24#•…Äd¦ă¤ĐL7:“»0¶ őĎŹ·W"6Q™48„ŘÍ.6łÖĆ úócç«YĘ2·hfň<͇Äčerą$9F—Ľ†oZwE5XÓ\!U­ÂV©-|íÁ‰hhŘLDřŕ¤Dd …BˇX—ém-ű±ăhá’||5k`EŞ,×0ftFŹČè‘> š‡îč@k›Ž\R]éñ*ĆŠ•,[Ʋ,^6:;sű9˝á‹oK±ĹĆťFÇk»°o•݉ę€U( ĹşŚÝ–ˇŕš"ł‡—ĽhxtĽĽ?©*E]K*á|?ÚwÜ Łţ#Ćm±r‚ćCőč]ÄDš—˝ÖŮ·`häeäű¤) áW4‹P:B3Ź}<…f^ťTfYm˵XQxŹx¦ŚFŻX»Ś1\dýQ( …"—(™Â•ŢDü0#h„ŃlAłÖ(űJ3Hw)ËmˇşÄ«â#“ĺ@pfŹnÖ»ú5ÄEgsśeWżf+×ăűn{ulÎGKŃ—×^”h"t®ĺÔTPvéŻjđáüĚZ@kw Bč&˙ť(ňkP—Źň"6Q ŇbŞČe …˘żČÄ–ńę´mjjFwO7Ć}||ÎXjL).KĐé¶HfŔĐÎOđmËjŚjš‡š…Z‚.ŰqA$¶ű´yÂŢç$…otľŇć ‚b˝cľa{}§ŁgUÝ‹Jî,ĹëˇG¬jM\ae3ʆ,FaçKP=i6JĘV—ŚŹŔĆs „ ăŔ%Š™wޱe¸¬kVĄ.ŃËě·ldɇXQ2•5řôDZŘw»o¬ŹÓ1şěQĚm‰U«ü5jD\¤Q7Ű#™=˘l…BˇP¬‹8Ł—15÷KoŐ˘—\{Mń>8nŚ“&äcĘÄ<Śžg3ĽŰxî•ä’Ýw.@UĄOLns{66E0ǰ—~2ćčc­ÁgóŇ›•8fTč€2dU®l…BˇP .˛ÇŰ—¨ »»_¶ü€YmóD/PŔÂÝ?Űç<ô)–umż &žq.JFŽB_R5jW1ő´-ĆŠĎ/ŔđsČ×ÖÖ4„_žBłt„gVYśĐ,ŐqF÷RŕcuÎDwá^âŮY§ ˘) …B±® fЬńz)é1çý§Ž°ZÍ^Ź‹h*aÍQ®Çíů,“ú5GąîzžÉęwż.[gŞÝ÷Ř?˝ú5Gą·T|–ŃyrJ^ăPäW从śU(( ŰeJ‘ČâĆnxŁŤîŃujJ}8eF%ĆÔ¨fFˇP ,RE�‘ëmmm"ECŐwO˘lő·HL 3ú—nźt曎âG'¶^y#ęV6�EV„0Ó]™ÉÎÍhŠzšĐiÔĹČd<9QHF;‹N:¦ľjú(ŚŽĎóŃő•z—_śWLĚ®!€b«ů7í›îŐµhž3Q¬óT#z%#ęQ·áwµŐ»¨÷|yA3ŇĎłÇX.ČŹ‰ĎtÎ�°ĄňŚó/ş:íbłxŰnăÚ˙aEăA»pHĚĆ1vÉÓ;1Şř?XŘy‚ü1µ5ĂůŰź—r8* …b] ·´LŹMáůŹs °ruÖů†Ů0eb>6Ý(›LËGAAň6zú6xű@΢UVjŘf ÷Ů5Ő>Lßš“AĂţš;?„ożá›Y!‚ąůüLXľŞ�sřŤűP° …BˇXoiooľŽgV˝e…0ůjT�ßNŠMç­Á€Ŕhg¶śŽiżĄĂ†Ł?),‹1»Ý‹îÖ%Xńɉá{Ó¶5 áWÔo“DŚ–*™XL︚Ž;±˛l7ńlĄ}ŁP( …bÝAőü+r;>éÜZmĚ.ÍÎ+®®ĺńé"íűkŽýő¤ő¤_ż]p¦§UO\ŞëţšŁ\Ďč<˝ë×űëžőč¶SńŞżĽ{¤č°U3E:Ś­ÉÇĹż¬Á?táłE=XŃ_Żá•yŘz\!fL+Faľrp+еC¶‘Xĺqáp--m¶5bř·˙1Ĺ`Ńčen“n ĆÚşĽ/€‘ÖńFĺYs=޶€ŃîvóžbcÝüŚŇĽV´ç@ˇł•ťĆĽµ7tˇůŐ|´ľV�˝«Ŕ¨V˛2MÓ˘:0»N®ë† ¦EOW6™ĎřŻkĹ,Z±+ľľ ĘÇ/ÇŘŢÂmŢGq)ť¸aăźyîұ§Ę„uír=j´x ÎŰV”׌)u_aĺšÉ˝¤SǬ‰^柇ęü·Śëß ĹĹE(//OÚŮŞ˘) …b}„ťxŚpúî'5čoĆŹÍĂô­üŘhZ> Ňog)HŰe‡<oE1cÔłŞJ ĺeš§1[7çyV uĂ<2®Q±cŢÖ®Łą9"ÖÉ;F÷MëÝpjľř©ŽoľáĂOX¶"Śţäí*0ubŁŘ :` …B±®â壡ÝÂČ«sÚbvǢřcŚ˙îţé8\}k=´Hv>ž\ŃUVňłÎÇÖűţ k“˘Š1łçł¨źó_ä/8Ëđ•4[[Ň~Eű©Ň•ŮËĽ˘™ąg®÷|Šü®/ w×öâËHôŮč …BˇP <”ŔL‘6évÖR` ±$´(fk:ŚĎXcf‚3{y|źĄ#šF˛zŇŠęĹ˙5Gź¨žq=îŃÓ4Çůë)ëIŻ~dž ęA(ĂýSĢ=ő”B‘ ČöݤDL …B1H˝LŇŇŇŠŽÎŚüôäőt¸‹Ë„öËćpsF3 ëK;)0Ň|ćśł˘N ¤ŰXn5EgĆďik9†u-Ĺ‚întćťĹhmmA{}7š(,{ŁŘđnR¦9Äebf—ćb×ÄlÝň)Ę,ź>݇AŰ‘řfţAřţŮźaňľŻcęnĎÁŹ.+Š™]X¦ÇŰš˝r .Ą¦s�Îčer‡ j?ÄŹŐńí‚jL˝Q¦1Vü*šZ¶1îEJJJŚÎ㼤ÎGĺśT( Ĺş@&éĄŘA;wˇKWôĎ;=Ĺ`›o’Ź·-Ŕá>dËöۨgĺJŠłk»;»tĂFĐQW—ůyiŘvKż/ ăOřć» Bý 5ăłšż(Ó¦„/MřS° …Bˇ ¤}ŐkĹńŚÜţżU3]vV–văĹí&cżç`mQżéÖŘřĘëP\UŤlhéŠ`iSDdé ×^R ‰ěcŞóP‘…íS7ĺwŚšeďţŁüض$~™«˛-ˇ™Ç>q}}îűTµ?€ĆŇ­Ĺ3®©É~đ˛{ …Bˇx(™"§0ÂF$˘cU`9ş´Î8mV”¸O{ç¤Ý5Łt” "4-Ö§iśŮlç8“4 1[\ě3uľ(Ą]ŹłÜqšË=ȸ~Íť-ąčÎß\Ťşę!((đ+]ˇP(ë%ŇÉI[†˘.4.GÍĽ·bâ2gF`źĄĐJťÉí0Ef1U•9Ó"ÖF—yi'PŢ4—ŁĽőG4†&˘«ł«ßíAđĄ:„óDÔ1!(ÓěÂ2+z™¦ąkş4St&­E7ÚĎŔ™±ŽP[)fý÷gXřîvŘę‡0b/Ś·†<Ä Ëě‚3™:ÓŠŚcSµiÎۡĹݲըđŘ{“Ť˛m‡ëČ׺0˛ä¬é>Ěč@nEuuĽs7§ŁrP* …b ‘môU‰L/5óĂ*ôÔĹ}X1ĆŚL#\X MlřĐěj„´lĹivĆŽÎÓv[ůqű}ťčĺcI‹™—cŇřfŬ7ĺ•}ŁP(ŠÁ…eÝÝ=XŃąź´|Ű7_ǓۗcŹ/ PÜ@żb´©ťűţŰüý’Śűz©aŹÍ ŕy|ł4„úöHŇýëĘ|Řl´;Lňc—©Řt”?­Ď)(‚q{żŚ%Áű‘¶8,Zä%4KGxf•Éč zâ>e]Ż˘©g1şý“ÄłÎĎOěŠV¶‹BˇP(%0S$ĐÇ&G\’…Áą‰Ž¸Ś„V€[t3#y=ÎrgçĄîąfők¶™ĎlPÝÍQ®'ěź]ýš#ú›P­°eŞ&W©ô …Bˇô¤;‚Ö-çÍÍ-čęîƸ÷n�"6ŰDD(Óm‚2ÍEtw1šSd†$"3ΫÚ0±ëj|Úz2–Ľş9‚źOó‰I*" š&–Í i±ôr]b7 (ÔҵĐLśŞűdM÷ =]Ä:®céĽ{ŐqżÇGŘě˙ž@aI›iźi6˘fł‡ě¶LBT38 -ÄŰTÖ}]ą㆏Çň†ڬíŐmśpMÁ§XŮą·Ń‰^€˛˛2řý~ĹLˇP(ë ÉŇKA,^ćĂÂĄýóNżýÖ9— T&ŚÍĂ6[řńÉAô5óŠg7eb0.Ť”eÓ( …b°nôŐÎÎND"Ľ]˙©č«0w°ĎĚŰý=¸ď pěsß żř|u6>ňŘ´öohŹŕˇŹşđř§Ý·&„L �íŤzÄ„çÉCóńë­‹pČöĹ"ĘYr4ŚŮůF,˙b"ęš.2ü9 żęUŽĐ,ă´™˛ĚÖĎćH›©!ŚŇö§ŃUr:şşşP^^nnMbÓ({GˇP(ŠÁAď†*(0 ‡Ă×5'ľÖ"şŐ™é(çzĵ\‹M2ęludP|ąUź¨;ťýÓ©ß~žšg=‘Śë·Ý4Î3Yýńĺ¶s5ÖkĂDŞ)%0S( Ĺú GUvuuŤKQ¶â{ÓAť[ŽX“îśĺrť>>9E,ĂÇp¤zĎ#(ŽÔc—ü`Dřč†sSN_^Üş4s.„g–ř,*6ÓÍą,ŤŹv¦‰T›2šĎͨ+(ÄÜwÂ;7ž€¶5CÍs Gb†KÄa¸Nzâţ.ŃˤĐl‡IßcÖščö¨Ú/~=´µµ[EîÎęTô6RŚBˇP(ą˘·éĄŘAK?Ěg_— ?(/Ő°÷ý“†sm˛˙Ţ…"mgđĹ·ĹâňYJŇ}ţé”+ …B‘kzÓćđXŠŽÁ�f6~ő)3é`ńÎT`éĐJô—iţ'6HC\¶¦-‚ż?Ó†é—Ôăß/¶g,.scîꨋuţăٶ”ĐČČ-Ď@ðk w Ĺ˙NŰEK]¦iń“籏}СUVŢń ‚Ć3¦}ÓŰď‹BˇP(Š)˛ÂͨcYOO�Ýán¬ÂʨxÉUđ”AyL4eśeVOÄsÍŘćqeqž‰ő;„q˝ĽfýZü=ȰžGąÖ]„eáói®ˇŠ …Bˇ,ô&zimmâĄaź=ŽÄô—²—° ±:ś"ł°žBdf-ç¶ÝĎ.ÇřÍ_± Ę4Khć3Ł‘iV™\ćÜXŹX˦“Đ<)4ó9DfNˇ™Ű´ú«‰xýŇ“ŃŃXm;G NX58ôDAYtŰ\`»Ď#ĘW#ĎřOő2›;Ô|=¸ĘpPv‰T`™<k…BˇP(Ö5ůâř®®ľť]Śţŕ€}ŠPT´îG—(*Ô°˙OúgŢ·?Ł«;$:ŰůL …BˇXđň˝0bg8Á·ÍsQh6·»ˬ kÜ˝ĎDô9†ď#|Ô ř‹_%ÝŤnF+ŰăŠÜ9ł]ÁÜű::îx§»ü»^|F8…y0băðşę .ľ˝ť4ci ÍRÔmšD–ˇ ëń¬ůĚ%ŮT( …B10P3EZ¤3rR¦Ç\Ô=Ďč7ŤX}ŠŽČ^˝ZĹĘÍz#Y ÎĽË㣛Ez}ž¶{CÁ™Yî¸YÖSĐ<µµ5†¸ …BˇP¬ŻP¬DŃ–ŁnÎŰČNT¦ŮTçÖrĶÝ)2 ëžĚěeŰîwĆmö˛)*óĹDdRhń™â2ÎĹ$Äf°öłNŃďdL™ŮÄfqë6‘YűĘ:ĽrńéčhŞAÔP˛ Éś2·ytŮf ´8_ň¤aí¶íşĄ53w¨ň„`Čz^PI…BˇP¬űxuÄuww‹őYł  ô˝‹oĘÄ|l¶ńú30móMüŘpjß_oO ?Ěń SGúÖę€U( Ĺ`"ݶJ¦Ç|·ńs[Ô2geóĚÄgŽB_Ňńóß`ęQÇ'݇QËľ˝ §ţ§Mť}/ oíŇE”´ßÝÖ„U­É?oôV§cEÁˇ¶’4DenűhY— 4ÓPŢńś5 ˘ é ě…BˇP(>J`¦Ł7ť`<~^÷ĽxQ좦Ř,âśŮöO?Ý%âgv±Yúé"˝Ę5$K§™}ý1±Y$Ëtšîĺ‰ŃÍ"iśOiűp”––Şô …BˇX/đę¨ëččD(BŐ÷o"íq"2ŔU”ć\v¦ËBłHl.E[˘,śm»ĎĹ·É‹"2™•i6qYt.#™Ĺ„f2’Y´Ě‹tfŠČâǷƧȴjűËň¶uxé˘SŃŃX¸4v™s˛%öčgŇ7ŞŰy/ÇŐ4ÚŚŰ~ĆTí˙HDÍ•NédĎŘm=UąBˇP(k›tŰ(vÖ1Ĺ÷Włú~ŔX~đ‹ýÖ?żÁ~{"ŻĽ§_Í*ĎŇž&3ĘŽQ( ĹÚ˘·éŮŹÄôź68Ĺez|‘ é†áî=† ?H_аéÖŘäü&ÝçyěyUfÎ  żágď}u>^LşßťnÄŇŕNíW†QȢ«ŠĘâĘLŠ»ß@ČxÖrPD¶(»GˇP(Š)r_ Řń8?8/QÔ¤{ٞnćťî‰b3Źčf‘¬ę×E\ő$«?±<óčf©ëOťNSÔattŹĚź"ž_AAz¦­ű)2 …B1péŤ"%vćAÔüđRG+M<ĄĹ ËtaY2‘™=‚YTX¦'¤ÍÜvď ±ŃŽwF#™E,AY$NP¦!lĄČdYX¬ű¬¨fZ4š™<ΞF3&8ł‹ËbQÍä>í+kńúUG!ĘOCP&'=^Xfź€ź˛XiöÝP”× żľX</™&S9 …B1éMű‡…ŕşµMÇüĹ}/0ŰnëÔŐ¬nÄ!u>lµą}ÍÜ…EĆłŚgĘg›-Ę&R( Ĺ@ YzĚářˇu:"Qµż¨; ë‹{đôΓkşĘʱɕ×%Ýç•ďzpČťÍhh_{©¬ëŤĎf$łçżîIşß¨]D{°ĘJyiß’…`,­´™ŢuűuĂÓý…xć*M¦BˇP(ëëO\{EźBçs©7‡šĐ˘·ÄĚI»]i‰ś4—ňčÎqĺ6ĂŇu˙tëŹyˇYťÁz^Äłžôę×lűëi×ĂËňş?q!„íęąşőkŽýÍ{†UŹ„ßźźOéM …B±~B'W(FţŠy(lm�|ZLřÄćQ*´Łeöe¶ýě~FźÇ¶¸ý썳¬Lłí$Űf«Üh«7Úîv ý9Ţţj„QóI“va–1 daşnšşŮü›B1iŃh˘n!L§dOýíłrŕÓ¶ÓÓl/FÓüQXőő$,~#Ôφ†yŁ1óÎßc·Ł´*¶ęµűăćZüşó4ä›=¤Y"yYŻŘÝ:¦Ę˙!šĂ“DšLŠä•Đ]ˇP(ë*ÉŇc’ođťv}ŰćŢĂÝvěÝ ´ÁĚž»ŕ‹ŻeŻűJ źáw?`—íÍgËHó„Ď\Ú9öe…BˇP(銄¤ýňiÓ,ŰÁŽşś…¶Ĺg·,ĆO>+DEgr‘UÚíjĺ™AQuŤç./}ŰcďoFhíiˢB:Nx°wV…˝7vŹ,ë/®E`ÜŐŔňŁĚ«/(®˙ɵsÉYfďź“}aIöń¨§¸ó-tWî T¤“EGŮ; …BˇP l”˘D%ÝČnűQśT]]…!ĺC°UöŢ<…=EiEăŠKçWnK§©ki×ăUî ů1vÁ&Řčë]±Ĺ÷{băŮ»bäŇi(o-ßËúeĘĎÔŃÍ2‹ÎćH§™Áő&Żß¬·Č¸öššj•SˇP(ën´śS¤ …PőÝ[F(Ó/"KHŤé±,ťčebŮgE2“ÜŁ™E"¶Čfz4˛Ů‘źbż?ý “·|ŘŠVfF,ă˛9ĹG/ ‹gľhŠĚ¸gŃHhf”łű%^?ár4|;Ő2třK:1tă9Řô÷/b˙®ÂŻďą[ň2 ?ÎÜޡ ©'=Ią|<ŃąqoňôX™|~ĆĽ2˙f)űłt{Önë …BˇP TŇmłŘIÇ}ç/îű±ŁÓ·*@eĹúŰŃWUéĂöŰô˝ŔnÎż¬Ëg›ĘľQ( Ĺ`B¦Çd°‚Ď›gĹű€h:LxËHW~÷ě= ą˘y«í1z˙_xngjĘlâ2 Ďĺxăś>Yčť.sčÔß`ipwkÍŮ—Í,˝(dńEÎ2-ĺqĹ]o‹gŢŰ4™ …BˇP(*‚™"'pDAQQ‘0G†Ç`xp‚mA´é­XS¸MĹ h)mB8Ď1ÜÓmPgąÍ¶w "6€Â«žĽ SćmŤÂ@1*«*‘źź/ε&\‡PC•=hńóĐV^ŹžŇvëe&˝úË㣛épDVK»gą=™-϶ţšĐq/”ŔLˇP(ë"é8®¸ť\+UĚůÔ ¦Ĺ„PDF1óŠPć\OgŮ­Ô6‹)Ĺ#–`Í:H‹ŹfćĎoÁć;]‘ßÂ¬ŹŹCý˛mDy4z™Ît–şńËŠd&ç°EłŚq«(@ŹřĐQ?ďţă\LÜ÷elzŘâě..— mÄx ýâ]|˙ü6ho¬FYUsbô2Íq­nŰĹůj‰űň#™"3¦řNÓŁ·GŘťy-ČŹ,D(ĽH“™­-ŁFĆ* …b0ÂöKF`]¸¤ } Ł—íşÓú˝L˛ÇÎřäË Ń1ŢwŁóvM—H“©l…BˇP Dz#˘š¶KKOVbuÚţuş}0!„FUcâ˛fô†°ßŹ .¸Čsűę¶—ő„ž(Ş;¨ă¨{›ńʵVáGdŘô›řd äÉÔ”ZBżRşQČâĘdG”žŢqĹ‘ůĐŤçĘ*ľyyyćžÚ:Ę6R( …b` fŠ^áŚÁνm¶Ů kÖÔŁľľ……¨Őëj !Đ@}Ţ!6k*m@GQ{L ťôŹq†o\ąîşżŐÇŠ!kĆ LŻÄVÓ·Ŕĉ„!Ęőő â<9/ •bx÷!ŚëŽt˘±hÚĘŃ^Ńż'iýŢç Äĺ¨×mm4-ĺőş•kŽrÝuŻú}á|Ś.ž,îSK™§Ş t…BˇP >zăŕťłá0 VĚCq[SĽ¸,š3Ĺz21Y±fZÜ\g̡¦śěűňüóä2lbK•é“é3-Ń™đF0dÄÇŘí—źbŮÂ=đĺ»ç łudbŠL©á˛ÍŁF%,3Se•jć\7všűÂŢhZ0;śy#üĄťńvŚ1+(éÂćÎ4#«5[‘ŘR‰ĘÜĘ\…ifuućÇ&H%ÚôD¦˘»»GĄÉT( Ĺ #]!ĽŰr(2:čt,_ tuűŃ—lżu*ËUŞa»-ýůa�}E0”‡ĹË€)MˇĐgš&SuŔ* …bmâeż°m#łZć‹!ůń!ăę´ý6ćwě9—Ţ˙%zC×n?Aé‘®Űčć8ţ!2¨Ô·GpŇĂ-řď±Ő•夸bĺ˙Łô'Đq'4KCT-ł÷ĂɨTÇţî/ˇď-J™e»( …B1xP3ENˇq8lŘ0 :T¬SÄE±Ůš5kĐĐĐâ`1FÇ TBg¤őů«ŃTŇć˛üńN:Ýfçơą¦<˘›ÉMµťĂ…đmĚŃQCµ¤¤cÇr# Ř–ă…aő!8knnAŞiŤ ŘD‡ÖЦâ5hŁ0®˛_8®~¸ś§÷ůkŽýuĎztxGOK¬ß.8Ó]ď›˝žÂćÔŐÖ˛™9Ł•ˇŻP(ŠÁWzL3B„áx[ř˘é1‰›x,•¬ŔءÚĘŤeŁ…>ł!§§Ďg[ćĽÇ8 Ç°':@kŹé˝—2Şb“â2kTŞf[:´FŤŁ&Ľ‰…?ţß~r<:[GÄG/‹ŠÍdd3›cP˝ âüô™2“"łŐł¦á­ž…Ý/¸B¤ĘL°1¤P­ĘpŇńÚŤôEep‰^&×Ý"šE±l9ĚFgx_+ŤT9ä3ͤVˇ ‹-ĆĚ™ďbË-·ŔĆo…"Ś„ýé§źaÎśą˘dĚ1Řa‡é(--…BŃ_ČŠ ÷­¸Śý»©čeQ¶ßÖŹw?  /ł;-ZęO) …B1IwĐ_L`6/1jYRa™µdŰgnm7ŢŢl4vűz)˛!”źŹÉ§śéąýľ÷;ńáüľ•çŠ÷çđЇ]8t‡b×íĂ·ľÁŹźß'ŻĹ)4ÓmĹéÍ\öńšĹÖý]ź!P˝·ř0R*”?GˇĽ0RáK/˝‚®®.üěgű©w…bD ĚŻ—�gy˛ýhR`f`ЏĆDE\MMMQÁYK‹•Ć‘®‚­A´ˇ …ő"ÂYsy“»K|’–‹.T[ą?P€iç˙‘Rć0Ną^]]-¦ 6*: ŐŚçÉyaW!ŞCV:ÍŐ=h)¨7ÓiS ´#6Ţ&Íó”}±önŃÍRŐă]żW5\˘›•¶ EĹŘ Ő¸+ …bť$ݨ ě ĄX hţwư–]”˛Ú 1vKE$^HmđhŘSYVděWbŘ%5†cÍW´Îľ† ÓîôÓĚăÄD1™•6ÓgK—©Ů…fŔř žÁřiĎb…fgF4sD/“ËQ%»n,˘—iĆGI…fšŤĹ»WŹ=.¸2Ţaw‹)¬c3cnËľ\h¦yG3‹2ÖÉF‹•‹°Ň°ŮÁl GóxôŃÇqůĺWetĚńÇ#Ź<ëçśsŢxă-×m¦˝^…şş:lłÍÖÂI5uęô–ÖÖVvŘhoďď1?|?&MšEr8衇Á믿‰ĺËW?Ó±cÇbź}öĆoűřýą˝|˙ýÂAůÉ'źbőęŐčččߊ»vŰměż˙ľ¨¬¬D_óĂ?â/ů/^Wţŕ÷bÚ´ Đ×üâżĆ˛eË1tčĽđÂłI÷ĺ;íŚ?N]rÁçăç?˙YŇc®żţ&Ü˙bů曯ÇvŰm E˙’®ý";hç,đˇ/Ůh|”—©Î=ImµLÎÇsBč+ć/â3 ‹żábßüë_˙Ć“O>Ťl9ě°CqňÉ' ·Üu×=¸ĺ–ŰĹňË/˙µµµmLśpÂÉřřăO1nÜX<ńı®±®_źBˇH„íŰ6ňCۤ—y Ëě<Ľs-vţv9ň"™GëŘqw” áşmM[WĽÜŽÁÂĄ/´cżM Q[–h–ŤÄBmچ|w~Ĺ‚č‰ ’E/óšŮű¸lűt.\E´a×–o&×öĚ`j˶Űn'!úůŐŻ~iĽĎž ĹşÇ@ú>Ţ~űť¸óÎ{Äňgź}nüíĹRůĺW8ę¨ăÄ2Ë÷Ţ{/¬ë¨ż?Ĺş)˛ĆîřdǬAKăĐgt|RĚĹNi,ÚE\ě ˘1ɨfŚĆČa…=V:ÍÖzšşŃ߀ƒz4—6 «°+ţĂÝl\ŹňĘöZ 3D©Ň5\Ů!2bÄp1{:Mžki¸ Ă;Ć"ŘD§Ţަ’Őh+k@kE—:ş™wąćΦgYŹł<Ý̬_ÇČ<3=¦Űű}Jçž©Ń$ …BˇŚHg Diý2SĽ•JL&—ą_©áť`Ř(…ş)(“‚0»x @\:ʸąmßĘ Şč›Bł¶nS¬mËíQ̬e[ŞLół¬í†!1a§1AÍ~ŽĎgž`OY\ô2ź=ĎwTLgF/ăÁ̧›‘ÍŚ˘•ł6Ŕç÷­{ a;ěDk2&Ůďę& óZv+ł´o"ý¦;ýľháŐĆúX‘*L¦üÎ5265üGĚž=›oľ™Ńy{Ö|NŤŤMbâą<ňČqčˇŔ‰'çšb#]ZZZ…¸ŚđťfĹŠN`vŐU׊ë%}ônŻ®7PŕuôŃÇ ˇ“ŠŔ8=˙ü‹†Cńf”••ˇ·Pu饗ăĹ_NŢ𽌖wŢy7N;í””ŞŢ@1â‰'ž"ľ3„ż9ąqPUËČ;lŹÇR\÷Â…‹0~ü8Ď}żůćۨ¸Ś|ôŃÇ)ď|„ď[l±9)>Z±şoŚm·UßFHŚě°­żOf« ŚgŰí„W(ŠČ@x?P >ض±“}E`ŤYĄ°Lî×PŘGv›ŠCŢü™2ú?yn»ńŤ´vĄýZş"¸éÍ\p@ąëöŠ©'sž›đ+†‹4×§”BTć,“ŃĚŠÂóѦ€ …bÇî+Zşt2!WţŻćGS(Ö5”ŔL‘vc7řBĐŃѶ@Ţn|Óʦ˘6\‹âÂ"ápgÝv±™ýGśŰ‡&&"E\ "ĘYY¸cşÇ"ŘD»Ţ†úÂ5h*i@kY3ByńÎĽdé4k{†‰ÎŤd‘şÜ:í÷ĹžN“×ĚHltęó\[Z Q®Aű˛vt/ďÂâqߢĂ8Gł[}€gşËd‚3{ą.⊸ďźIýţ®2ڬc<źjX …B1¨ÉÔŽ±ďĎ6=lLzGJÚšcÚ-{Ô2±ĚZşmŮŞ 4l4ŞT>Iqdňă˘eZ˘Ř ¶y±ažŹ©2×ÍŚBłÎ ˛tV3!.“B3GTł|Łm/+*K1aę§ř~v=z–”Ç"Y§Á4›PX>3Z./IÓ˘Ó÷/î‰!ţ€1Ű|ÎNĂŁŇXŻĎ‹]#ŕ-(C’(fţ¸fŤÚt_l»íăňőFcfařý¦Pl §É<řŕ0eĘä”űő—Xe ó·żý%. –´Áżýö;Ěśůž¬ÂHK…ť~ú)Č–1cF㤓ŽÇ /Ľ„m·Ý;î¸ÉąđÂK˘Ă_ţňçŘwßźŠçŔcĎ>ű?ŃŮxĺ•×ŕ˙řz; N=őL|ţůb˝ĽĽ »ďľ›řâ»ÝŞU« Gá'řî»YhmmçĹAOřkôŻĽňZT\FˇÖyçť#ľŁ˝yźÎ¦â¤ŔŚ|üń'If~řQÜ:ĹcÉ~) űńÇŮbyë­·ĚZ´«čś©ľĂáş{ Lgß ŔjŞ|<Aą ťLť”ŹşZę2Ź–’míĆoYű€˛i5tÓM7qÝvíµ×‹ßĆÚÚŁ=uŹR6yň$( …bđ“n¤U·eľ/puMW#ş"=îÇÚţM%.“˙Ľ¸iöű¬5­ťH—Žşˇ¸ĺV®Űš:#xäă. 6ř  'îQęŬfÔ¶¨˙n8Ş V"-ÁXśĐ, QY´ĚÍLěb–h†m¬‡ž7LĽŰË>©LmťŢŘCĘžQ(ú‡cŹ=ZôősŔŰYgť…B±îˇ<E OŇIŹI>GüÚř^j~ /Ż~ …Z!ĆűÇbRáDlP:CK† ç´4ĄĐŚ˘3»1hqń…ٱ±1𦞰ٵ¨C¨-„@c�MyŤh,®GSi:JÚăĎÍf_2BÇ„"łO ĚŇ5@ťűÉĎ `Žaö9±¬»»[ś'GňĎ™3clŠ9|‚ żGž„­űŘë¶­Ú?6a»ŕLOc÷úKÚjQ3¦&Nt§"•) …b]Ĺ͆1Ł—… Ç–ŽÂ c)Ý"•E¬e˘Üšq˙•EŔđîÄhdš›Ř ±öŰ)*sî'‘˙TőWÇŇmö`…Í2N2'Ó€—ízˇßś¬ňďßţ%ę—O"-ÍrÄů,á›˝U×|z4z™)đŇĚt™–ČŚëcúäľ1lÚ((銿ç-®0α1?‰°Ěľ®%®Gý•ć‰ęŔÍ )Šü€ľą'Fehl»íÖŘe—ťˇHÍO~˛§x?pcţü8ĺ”Ó±rĺ*<üđ°ß~ű4÷Ůň§?ýQLŠÔđťçĂ?ËtĐ˙őŻçE·1ť"#>ż˙ţ‡BlvţůîUŞL¦/‘ⲝwŢ^řwTTTÄís ÇáÓO?éU)2»öÚDĘ̡C‡"×ŘGáwÜŃŃkëĎw$Š ůͨŤ1©LŹA=ś˘?F˙›;wž§Č•÷1bĄb¤4Eß’i­>˛¦Áިćžm¶ňCą�á=ad·^íAß ‰g;f”Ůďó%v÷węĚÍ6ŰTLn0;d9°ó€ö‡BˇP(nHűeqÇĘ„m™D-3b;őř¸sďI8çńo6Űď⹉B­Žžţ@’+:şĆť4ŁÔ}{É^¨ =ŚcąJ›)ŠtäőĚ^4L|ÖFĐeĎ(ýĂčŃŁpË-7@ˇP¬»ř PdttR`Ćĺ;ćšA:Ś©[ďÁ9xľíe\łň&\±čZ<Ľđ1|°ě#Ô7׋Hee1ňY{{»X–é$40‡ ‚ 7ś†]wÝ»ďľ+6ŮdcŃ0UVTbTÁhlÚ;4슝îiË7Á¦đ ŁçÁ©¤łĂ«‡Î˙řtťŮŔcťÇs˝¸¸Xś×V[m‰˝öšşň:T­ |˘3µ”}‚ŐǬ;&ŹňçţVÇo´îäőŘË«{FŠ´'ɢş) …B±®CQ폂e ¬¨`fô®¸ĺG9Ő á›oĄ€‹ Č`9;u۱}ŇťÇ5ć0Ed%EF#n|ް*sj›ęĘŤí…¦Đ,b׸t">|ú8! ‹ř¬ÉX‹eź9·„ca1——¬EçÎŰŇV_‹Y/ěa~…b®'Ś>V1d·5…‘ţşá(ŽŠň„A¤ĹO†”Ż7(.ňY¦˘?# )úމ'ŕ/9W,ó™>÷ÜóPôöônŃޤÞťŚ8×ţ÷żÄśi(/˝ôâq™d›m¶ĆŮgź)–ů~úÚko /ťb„ŤÖ]Ę{ĚÔ R椭­ łf}/–)”ŠŇĽřä“ϢËJ`6°‘ßĹU«űNý•g|e¶Ţ\ĄÇôbł óűT|·şŢ¬Üţ»ŁP( Ĺ`F¶i‹Úbď17ŠÍ÷áBlĽžôłÄóéč ~S‡tö‹_yn{âłn VOrîĄăq”¸ TpY·�t=ΫGűÖşçEeß( …B1¸QĚÖszŰÉF~ ŔĽž…f?ź¨4~ź†p“>ëţů-y™7 &`JńDŚ)ŤÂ‚Âččo™NS¦Ô”PÄĹô5śxÎ---"jGČ755ŁÂřo\ç„Zhőµ˘ą´ŮęQŮSŤáS† 1•^˘3Ż{cŮk/ă:ţ ł»čŰą‰ď:Ńűc/‹4ŹČ÷Ó^®Ă™LłíŻŰꏯG3:zÇšÜföűˇ˘š) …b0’®ĐH¤Č GŕcĘ3™ú2!=¦mŮŮL”ڶtĄáŃm źŕ‘L÷(wĚa›k¶Ď–…L‰ÉT‘ösŃŇôŘşUaòIxţö+…Ś]˝Ě§™sizH;A¬G,Ç!bsÝÉ 1§î·/ÎŔF{żŽ‚’)(ĘŤűŇ™'O4Ţ1©ÁÍL‹/i?#Q'3#¬™çżOĹł¤r]ŹQDÇ4ŽoĽń¦FÔÜÜ"RŽ1Űoż~÷»SŠ^ţî‰'ž‘Š’ž R‡éÓ·Ăţđ{1hBňÍ7ßâđĂŹŽ;ţ«ŻľĆ6ŰÄDEoľůŠqĺXlżýtTT”‹¨UL‘hçË/żÂQG'–o»í&±éŢ{0Î÷-¬X±R\ósĎ=Ý˙„NўƍkÜź˙Š2¦ ÜgźÄ}§ çî»oOz>ď˝÷ľHçHŽ:ępwÜ1qŰđôÓĎŠč^ ,@WW·NŤ;3fě.RM:Sî¸ănâóíLź‹€wĺ•—‰”‘NUůŃGĎyŐŞŐâÝŠĎ–÷ěwżű † †l)--Ť»&'Ľ÷„ďE555č ‹/s4âű`2µŚ©NɤI]÷Éćočä“OĂ|”P—ý90şÚµ×^•°Ď»ďľ‡gžyNü-ńłJJŠ1yňdě±ÇnřĹ/đŚĐ— ž+#»µµµăűďŔĆo”°ÓaJńźűÔ©/á‡~ÄG},ţÖÝŕ1däČâoA101Óc†ĹňŠŐ}×îM—‡Ęrő®ďEU•#‡çaŮŠ0ú‚«ř÷›µoÖ5ż ŰĚ_|Yü>Ňá PFžÜ|óÍDdFF^ě+ř[Çöšm}ŚwÜq ęęŇ%¤â®»îÁ-·6çź~ R=đŔC"Í2m˘˘BŚ5JDjýż˙ű…”Ҳ±/=ôpŃ~°üŐW_kŰťp`đŢ{ď/î×–[n!îW_Ŕě>řq`ůňĆ9•AÇl›SĄ/,mŔí¶Ű7ß|Ň3:.ÓL3RnYYiÚçAĘý‘Gţ+DŢ´Áx<ż×‡~6ÚhCÜpĂ͸ďľÄ˝˙ý·‘-|.`ńꫯcٲe"»Č°aCEDß_˙ú˙„řŢ 7»×Ť›oľŐ°ďËŻ˝ö˘ń»W5ŕßk‡tý/QűĄcM|Ä2ŰĚőŘř\‰ŰnŮk®˝·©č)*ÁÄ-¶tÝöͲ 殼â§9«Bµ<„ŤF&vűÖŽžŽ¶ĘPśßd…LFş· L÷8{YĎ13ÓĄöo4Öţ 7méË÷x'´îąç>ńţÎ6dčĐ!˘ťâą˛Ýr#S?‹„÷âńÇźmëŠ+ÄseÍ€´űÜŢ=/ąä2<őÔ3b™uŽ1<éůđÜďż˙n×óţÇ?.×ř]zńĹgě>ÚR˙ýďc†}Ęç¶ÝÝ=–â}HŐ¦Ú!Ď>ű?aëÍť;ťť]¨¬¬~Śý÷ßOOq‹HL¶Űn'ńŢ~Ě1G×r„¸O¬kѢņ|öŮ'Ĺűy60CŘwÜ-ü ŤF;^‰ńăǶá/°çž{xF썝 ±?›ýë"Ă–Ü ©ČÖ˙•«zľţúq˙iĂѤ˙fäČ‘ÂC{ş˛˛ą"›ż?…b ˇf WŇIŹIGÓJ­ěY…vtÄ žěvźíĐ ÂXZ"¦·:ßAIc &řÇaRáL-ťŚšâń’Í— ľ=ť¦l„Y^]]-&1Ś~Ć’çE]Ĺ4Ś­ć DŁ9|x˘ń‘©pĘíúĄ¨ĚľNc€ç_Pĺ7f÷!ľÜ¶˘EÇěÄeÖLŻž¸“s”Çz’‹Ű«1¤fpŕÉkh†: éË/żĘs;E4é8aJ$ް÷şi¤ýęWżŚFşPÄČĆŘ,Đ1řŕ‹—: RůRGGőŻý+áhUÄP'Šő¶á2kĹ⹦xÉMDf_ö™-0:eňŤůĐ@L…Źi©ĹdNQYB™edé1™†E¨Đ—%NęÇ/öĂű/ś„@O©ńńş©Ý˛úšš1Sh&„[V¤4Ms|ľ3Q¬`aŃt™=ťĹýötl˛Ź-J«Ż×(,6śłí±k±ŇmF”q“Ł</ڍbź‹L“éÓâb0ĺµYBÁľéŕ(ĐŃČ€K–,Ť+ç@ Nt€ĐrőŐW`‹-6w­ă–[n3÷'D<ZĽx‰Ř9yńĹ˙ަÁ�ß ń37ˇ“„i.;ěČ„{— FËÚuםE4,:šqÔ¨‘žűłc“đďë€~·ŤŽĆK.ąń˘Ěի׉d:OoĽńÚ^GĆb§(ÓDÚź3ťkěpĺDÇéyçť#˘ZeĂäÉ“Ä;;o™Â’WŮqÍ´"2}&p|‡ë $Ä{Ć{źŞsb­diNsń7”.Ľß˙üçĹxůĺWăĘů]Ą0ŚÓC=bĽď\*ś™Â†›oľM,3"™›ŔL¦Ç¤c{„ńÂyOŮ_|%ŢăťĎ†ďŇ .ŠÖŻX;¤+”ŽĄČ커Ó¦(wa*6™–ßgł5 f‡Oş>K,E1ţóůѶBÂßÍ Љťjgžyšč`É5lĎĎ8ăńyÇ3lŁs*.sÂë=ćDű+áűm¶;"Q ś­ .[űâç?˙™čŘâ}xýő7Ĺş´d']˛ýzďĹI'ť*ÚI ď;z9qÄa"%¶ąjßůóKö™gž+2mHŃóp@;^â±űď0®śÇżůćŰxçťwqĹ—"PĐuöŮ©ŻíH›ž˘ł3v7:Ô˙–µ]ˇč äűIcO3r%,[­ÍK*şđÚ–ă±× “î5ĆsŰ;łěđÜf¤ăQ¬}‡ÄHiĂdY\°„ ŽăĐĹŕj±¶.úozÓ–‘ľ~Ź·óÎ;3Ťv伸çŔ~N´-~˙űßáôÓOńE‘tý,lݏâę„gÎö›ÓcŹ=a´­G÷çOqŰé‹‘ł>řPôY8ˇ`MÂw]t‹z.÷ŁŘĎi÷˝ýö;řŰßţ)˛n١Ĺö”hń~¸±jŐ*cŰŮq¶a?őŰoĎÓÖ[o…K/˝(ĺ�ĽsĎý‹°r}(GyŚč“Hűľú(´ňŠż>A}ÁĄ—^.ŢAěФ­ĹÁ÷Ţ{żas_–P4ąřűS(Ęc¤ČgzĚŮťócŃşÜěG«<A4eĐN|řß Ű«ÖW)“0©h&•NDIQ‰nFGPĄŘŚ“tžq;CRĹNN:ÉÝ:h˛qşąE-“ĺö2}lš‹\ßtŰ`ŹřŠl;Ä•'ľlÉľj$­ÇY‹nVŢ>UŁ«’Fusc 9+9ZźťŹ/˝ô vŘa:.ĽđďBt¨ś0ŤĎ{ě-–S˝pĄ;ŰčäH ˙>?úč1Ń1zÁçCˇP¬ßDt3‚Y^›% “"3S§•ČĚ攆ŤŃ1±+&2#şŁ-wŠÉÜ„gnBł¸HfÎs0Ef=ťĺřxć‘řú-˝–“iüŹë–HMj¸„“ĎvišILú í§˘ĂŚ’úÍ‹{`“˝_GJІç©�î‘Ë´ÄČe±3ŚĽP,j™L“)ĎE3m“ň‚Łó5l<ËÄÁëJ´ŹŐ«WăřăO‚BçÔľűţTŚb¤ĂíŁ’Ń‘É¶'ź|4!#Üu×˝b™#`=ôB¨Oç%#Ü}÷˝ÂAxÁ˙8ĆŽ#ć?|ż8ćŕMáŁHÝu×mŃz“EĽčh÷“dŃ?®»î1bö§?ý‰ĄČ‘¨t Ąí™nńĹ_#JÝ 3’ŽCBGť]Fˇű_˙úwqŻů>łĎ>{c—]vçAgŐK/˝,:é\ĺČÚn¸6zě}÷Ý%ľËW^yŤ%ŽĘ•â çHVvj^ýMbą®®Vżřśů7ÂÎH:hy®?±ĂqĆŚÝ‘)|űăźC[ü¦›n5—ÂĹ_Š7ŢxKěCŃÔńÇ޲ÓN; 'ßüů ŚĎąE؇Ů8Ůzó7ôç?źctÜweŻçŕüţ±Ó—ť„˘ŠířwÇĎçča~§8"–÷Ýw· “ tŚK‘ťĂŚŠâ„ťä„ťéü-Üj«-D§mc ,ř=µźS Ě:ŇÝÚÖwíÜ“•»0›n”Ź—ßěA_ĐŇjëR,ŰAFc{DřŰÇÎB —ů;ĹŽAŠo) şęŞkĹoťL ś (¨:ĺ”ÓĹď ŰČ[o˝Iřű¶)lßŮЦ`„)ú+)@ćŔJvňsĚńĆňĂ"‚[&ôĆľŕľ×\s}4ňW2áĐÓnŘkŻČ5´ÉÎ;ďŻâ?üŹĆsßP+y}ül^Łc°ífÄ];ą°‘%Ě”qţůh¬óű'ĎăÖ[ďömiF1q‹dÂ(R\ƨeřëčµp`'rüýď&´ż™B»ý¸ăN÷M>÷m·ÝFĘŮÉO[Ź‚qÚdüÜ~űÍ9í  ďŠ‹lÓšCí©…eb!=a™ý¨‡¦—a—oóQôhk“ĽE˝ďĎüł÷ćpÜîîâŇ`áFFüťÍçdw>Éu¤(łÖe¤ţ¤ÇĹŻçGę9v0aĐŰ`§7méŹ÷x …ČlŹŮö Łlń˙Çb0¶™Ŕłě´ÓNö¬'? í:Ú„çý›ßü Ó¦mđy<Ĺë;餢Çň>±˙’íą·Ŕ,6`÷ď´Î“~I‘EkÎ{qîąç‹gĹŔ|hSy®ôu0Â}ĽčÂmŚęI{޶ě.»ěd<›=PSS-Ţ÷é‡c»ýŮgź ŁŔ:ŁĘJžţE! ŁíËhçŇ–á}ÍÚşü>Ň`Ä\Š˘¤ť@»×MżĆÉ'źn\ăFČ”©˙+WőPŘG›Ynă÷”ö #‹ńx>öEźvÚY¸öÚ+{%2ËŐßźB1PŁőŻŃ±éD/#lŕřbđCçč ěѲb•Ř–]ĘĄhŞ>ŇúîF|Řý ň›ó1*&ŽÇ¤â‰W2V4ŔRpfŹnfçIg§ ĆĂIo;“ĄÇä4^^á�Vű–'Šîl×ëV.ű–˝Ł›Ů*đ¨GF&IV˙p}ś¸_ąHŹŮrČÁ Ł9iĽŃČ{ýő7„#‰ikh¤ŃˇáÚU±ţŔŽŠ¦1Í Öč�ljj2 ĚE§;+™Ţá€ö‡BˇXí·ś‡B!2«jŞüšŤLřą´xńSp– đ2v`d­ĺEF#•oŠĚŞÂŢŃËÜdö¶=aY¶˙´4ŹDKűH,YşµŮVź»t±ąÜ°j*Ýĺâś„NËŠP&#‰ VD3ëüĄđ z,€X”qYląµľ F˘vÜ2¸{‡­‹ä¬Ŕpîvű=Dfp™˙”„â=Ć<áH~ěDl‘ĚčHŮ,{ĚiĂ öÔ ĺOńˇhçČ#ŹŰľë®»F‡ŃÄoNçŰţó¨ÓYIg‹=´;XŚXôÇ?!‚Ż˝öş=Ę6TÚ`śÓ1Çy_¦­ĘŽîcÚBAśtz2J+k™ÂűÂÎ`~Syy Ě8ĘTF» 3ĐťCüŽňťĺ†®K;Ś{á…—Ű„6-Nňz؉GčĚ”Ž1.»Ů»´ŤŮJ(*şúęËăFŁÎ±»8·ăŽ;Q|O.»ěrĂ1¶}ĆNGđľőÖ;¦˘ł•“„é.şčYŐë„#™e$Z¦Ţ ŹN8:mÝRdxŃ›ż!»X0ťçŔç(ĹeŚľĂ(<v‡-ťŇ{ě±»čĦóđšk®QU2żUt¸S Ŕ ěŽj¦'‘#Ée;3xü.r †ł›e„×´ÝvŰB1°‘ťrť]}óî[[íĂşÜv4ttčřŕł ~śBS‹ń›hŘ]Çř°ůĆůŘ|?rŐŻÁ[óĺ7A|ům«ë#‡tŁcƇiSó±ýÖ~”ç®­Ż«őaqźVŐçľ“´«‡7$ĽNuŔ~ńĹ—BäEZQíż]lsůű~ĐA‡ß5FęČ•ŔlŢĽůBÔËŽ"vÔ1r™=-x_A0#„Űí2¦·b›łőÖ[Šč<§˙űJ\uŐĺČ„ŢŘL_Čöší;=)Ôr¸±=ás“őĄJWť ´Ó(6üĎŚ‹*ÂĎăó˙׿ţ-ÖáÄŮ)ź YB;—źwë­7Ć}/™Jj„ń˘–ď <§ŔŚÇŢ˙Cb™ß+Šşě÷“×Bű…6 ü»`§$íuž#;9ťm6Ł^PPHA…mŚęĎąb ż(Î>%٦µ†:Ü÷ŹäőşeÖ]Ŕ»OÁŃŻ~ďy|ń†›xnűfŮŕMŹ)ův©÷`*_ů@ËăújžŽ¨L–9Ł™Yűx Íâ×ýz(Íw čű�ÁŢ´eýůOÝ”©,o»íć8? …YG{ě‰Âfŕŕ$ŠÇ(¸öşćd~9ŤP´Cq•=Ĺ'?Ź‚.ЦçÎť'ÚQ¶ŰŇöc;7}ú¶˘Ýä»*ż3ö÷oö2ja:lŠÍ©Ě)0Ł8MÂúíPĐ#ŁSo·;)„Ł Ť2ŠĚ8ŕĐ)0Ł€‰â2ľg3€33Sˇ3z|÷Ý,ńüéKqâ2úÎ:ëô^˙-đśAíß˙ľDřěđ3(>Ł‹çD_!źĂ@ ˙W®ęˇť,Ĺe|?ąâŠË„ţ@˛˙ţű ŰńÄO6;mëÇ{$ëTŕąúűS(*Ćž"#ěł==t‡ş±8¸ŇęÔł&łëŇXÖŚţVÍVnMşcň("„…ˇ%xŁc&W,ą/~ď-«›W  ;r8ç¨r.ó%ŰK—¬aŃ=\¦dű;×ĺg/ ,©@c÷!˝ëMV‰–k±)‹zňB]>Á0z´hCŮĄ? :ÝhĽŮ§ú­ üÔSŹÎÓ‰ĆPĄt@*ěđ”á¨Ď=÷,ŃI΄ÝvŰU¤†ŕ(ÂQ$ …bÝ'Uş)sôwŘtŞ1Z–®Ů_e˛ÜmîśÚó Żd™1•«Śĺ\ekBŠ2cą»»_}űS<÷Ňą¸ęĆçqÓ˙ĹC˙˝3ß˙“1Žwß;‹–l!¦Ž@)BšŽ°fž~„黵Ř<lĚĹs±ö [§N-Y›t1é/_6k˛Ů“K]Âd+/ šŇĚyŘú°ä‡Ć—s* Çę˛>«<"ź‰|FJ´ĺÖłřÎ`ލdű“lr†Ög;ö ĎpěÎŽ3 ŁČN?ŮykgٲebÎČRvq™dҤ‰bäâ믿”š` ÂΉ«ŻŽEâŘ{ďźxîËhŮË…t(‘E‹GN^xáE1ç¨×3vŹŰFGĺ#Ź<€k®ą"ˇóWBÇŁÄë3RÁŽfv<ň.»ěb×T'N0:HO˲Ł5čă÷Ń ĹTtČĺB\FŘ9{÷ÝwD˝tRsôü~ó›půĺW ZŞtąřJ—űî{@Ě9Ő).“đű(ťÓtfŇ™ś);ě°˝ó™łŮŽŚ^FdşK:@yND¦Ď´óÉ'f﵊<2đđę  űfĚč9NŹůÝ!\yS^{«K–‡ŃŢˇŁą9‚ć„đß§»qÓ]ťb˝·P¸vĂťxô™nĚžBł±Ţf|ÖâĄaĽňF®Ľ±łfçÖVÜG‘Ţzf˝NYşiT"şľöÚ‹¸ôŇ‹Ez·ěhˇôć·Ř;iN8ád!Dި(7:;ŻwÚđš˝MôO°í!l (ňĘ„ŢÚRĎďEônĐľ‘ßąľJŹIč·qKUĘó§ŤJŘ!ç$×í;Űm·ď%Ű\i‹¸ť}‘R,Áď¶›XŹ,ie }]ü>“ŁŹ>ÂUN»ŃúĄ@žłu-Rbđ"ż‹=HŚW—¶¸Lö€$VôÚT+jĽ#\—ŹďZŢÚĄŁˇ}đ˙˝¬n‹kqُj˛µdń]´•Eq[w)“S—3 á`¶gĽČ¶-ëĎ÷xÉŮgźá:HoČ!˘#ü{}ňɧ=ëHĺg‘×E(ľ˛‹Ë$UUUř÷ż˙%ü ü<űŔ5"aLÎÁmvřNËc(^ŰgźźŠ2ű{°„"{¨µN1´ô“1b™Ű ľ_sÍ•xţů§ă"ÁfĎbf%Â�NqaßégśŤXÎ{âĹСCDZÄ\ő·2 —S\F80áź˙Ľ Ú?F‘ÝúŚŚ>Ëń´'íâ2 +śqĆib™˝ěćtÉĹßźB1P3EVHă`nç"őP aSLpf/Ź� ¤Zô6|řO´<‹Ë–_ŤkŢÇ>…ĎV|ŽćÖ–¨ČŚ©rśť ^ s:B˛tu™2t~Ďś¸óŹDa‰‚łžťŕĚ,·‹řŇś•¶Ô˘®¶Ö5zY2ęv”p¤„ěÄR‚!Yştit™#zěđ…aҤIb9S®BˇxôĆ)ĹQjbÔ˙ʇ¸Ě)$Cj‘™ŰĽŮčśm´O”�_óŮĆKę˘<Ă ŃŕĚÖh7· ĹÓĎźko»Ożt>˙î'čč)FH S$n úÂĘu§°9§ŘĚ–%čဨ-ŞÝ‚SĂĄÇ´vQˇ™ůßŇď'{ËlźQaŔ&$CLPfŞŢË9Q`f7–¬“Ô#šŁ ÝâY†ÎŽBcZdÓ[o˝ťp ˝ć˙ü~ł3š;ťČŽ.ŽŢăčK7člËv^ŔçŰŘŘhtÂÎŁúä(ĂM7ÝÄč¤ÝĹó8ŻN×tůĹ/~µ…eš(; Ńô‚şą‰«8‚R ‚ܰwfş=żTđŢĽńĆ›ŃspslKř=’çČľŮ@Џś°ł<×ĐaĚ(ĹÉÍ”ň^1ýGźrĘĆ5ď‡Űn»#š2ŐŤŢţ ĄÓQH8 &YŞ {¤»lžGiKdô1‰t¬óŢŮ—ňŽT–i? ;«e4@•sp Íź`¨Źf“smÖŹ!<ôxşş˝m¶e+¸ĺŢN´¶eo×µµë¸őžN¬Xém tť­=Ú%Î)WŚŐ7QäBÖł]×:`ů>ÎÎH·ÎS‰ěŘÉö·Ř#p1…"Ł8đłŮ9Řź‘–¤HÝ »Č‹‘$2Ą7öí# ÔÍľ±—O0>§éJíPüĺ9“ö;őŁFĐďę$Wí;ÓZĘĎr©\ 3Ú}δÁŢ~ű±Ě{”ě>1‚>ż‡ŮňňËfG6˙FÄ vÓ!"¸ Šľ"Y»%·±/)Z9¶ÎC0=Ö).sî`Nś _Čm{Nô¬«¨Öý]iaĂŕŹ^&YÜčžb» dŁ$ˇ™—đĚMhGzťř}|šůű™Î÷d0‘m[Ößďń„Â"7á‘„’äůľůć[žĎ#™ź…×ĹČř$UŰČT„|Ď'3gľ'‚‰HX.ß©í‘ČěëöÔŐŚŞ&#yÖ%Sł;Ł—)ză~R,ć„‚m7qÜ믿)®“Ď÷ ’·ÉŇdÚLú1Ü`¦™Â10ÍŞ´E~ö33«}Ś ·>ÂÁ˝ňyPšl ÝĎ~¶źH3J8[rő÷§P TŠĚő”lŇcÚ—e ;çÁŐ¶·ŰŽq嚣\wÝ_‡Ížu©G7:LW†W‹éĂîŹQÔ\„ńţ±"ťćĄS1®vl4…¦™¦dĚde4iT,ĚOŚ wţŽözµřb-i=H’NSŹîŞŮöŻę&҇–ôéŔ‘ŚbĆNFvę8SĤË{ď˝/ÔçĚ‹ľfM˝p@±3vóÍ7Ăoű›'ä̙ś„)O8ḤőßxăÍ"µąĺ–zÝŮ鄣%9šń™gž†ݎ¸ˇë§Š«t\¦s_řť¦sěż˙}óćÍ3 ě.átÜ}÷]qčˇHę&™ŢÇ{ď˝ß¸7·Ä•Ý}÷}b"Ü˙á‡ďG&đ;.ˇ#ą¶¶6şÎ†Ůłg‹e9z$đ»ÇNN:îŘAǦF`Ôßýî7®/"ýëߣ//—]v‰ůăĆé§ź%^°řwyŰm7ĹĄ4Ún»ťÄďÎ1ÇiLG‰ô<đŐĂgÇŃ/ŚVCç#źAoaÇ-…śŻľúşĺĂc¦caľ¸8SEŘá¨qŽ.âů3e#ŽpdGÓIű÷ż˙5!e)… Ěëç "żç #Ě‘ŕüĽdŕLŕýâŽęćË^II±Ń);R¤ a* ·h?„CŽ:ĘüŰżóÎ[Ĺ 3źéÓO?‹  ««;ŁżE˙ …Ĺožoy›)tJ– S¤Î´ÚFź×>Ö\6ˇŃą±ĐĆČf>ł†íŞŚ 1 &˘Ţx÷÷xăC ŃŽS8šľRÓd*K]¤¶Ô4ź)‘ÇŚe]ŐřXf,ű8AŹşö|e1¦Î„¬;¦vÓlę7ÝZÖmëĽwkŤ2#•y˘Ĺ>ŚQâ‚ţÄtňŮËËfJĚŘéÄToňČüť:;Ś;Q”űŚ=Ú:lë)dYµj•p˘Q8&ŁwĘ˙vŘÉÄ´ üÝţĂżo;í´ŁHÁ`O8Řu×ÔQǶ ’Ůüv» xčěă=~ĺ•WŨRűçńw_ŠÓ‰îÁ¶”©şĚź«Äśm˘ÄíůĄ‚Łg™6žđzíNU7ŘÎń}ÎËą™Śś-ŇŚ555‹uÚLÁ@N;íLÆ»=îžóľQĚÄ`¦™ČţĆŃ!̉çÍ:iSĐçßA[[;î¸ăna‹qt2{„dó7”´%ě¨Nöě¶…Ąe;(,ŕgÚ#’ń·YF#“ŃË$\żýö»„=Ĺ”hŇÉ.÷w;F±öH§ăM×s˙ŢÎćxLŽDSŚ1šX:úď–VŹűyHv úŁOw‹:R6Î…źsĆ Ą(/ëýý;şoĆíF"˛^ďsěé¤Řv˛ \¸pˇxăôĂ?DÓh«÷ú#ţüçóŁÚë®»*gďŹé"#GzA‘Ľ$›¶ŔN¦öż;|˙f»ŔădŞC ĹČňśú2zÓ·'ds»¤««+é€ŮŢ´ď555H#[ţÝŃ‘BČúúú¨ ¶Í6[%­~˘M7Ý}ô ˛Av�ÓÇ“J¨f:đ8•ţZ100a1lÍ"íebÍc'ç_ďÂg“‡b빉‹ ŞŞ]«ië^w:ňۺݍ/SĄíŕÖɤGýR¶…Ä}âĘ\öŃt$vţ7+zÝş¦™Č¶-ëĎ÷x }שěGúÝiđÜŠŇÍ/žĚĎÂë’mo޶‘°ŤbżŰqÚ/ŇaŰLŰŤýLďż˙a\˙›TĹwF'c? ŹĄřNöů°źFŠÂ™îŇ ŁĚ>őÔ3böÓĐźĎÁ‹Ľ~ Ë“=S™y@fúJöěŘ)Y´h‘đc9Éeńňň2ő.Ś,ŁwQd&…ôëva]ŞľZ~ř˝x㍷Dźi¶äęďOˇ(™"+(¦â‹ůóâ B-QÔ$ËIśhJ”Ë Ńâö‡K=nőwˇßfăczˇíěÝ3»Wí&ű˝íTŠťŞ·ČŚŽ±°á©ěŃşQ©ź˛?Őyţ‰×eś9­kŹű k©ęw4R–Q?®Ŕ ,ŤŘÁ쌴3|řđč2Erf:Đ G§#ó´ŰˇAË4<ś‹›ˇňí#Ů)Ë—őřăŹőĽźö”Ś$ŞÓ+Sh´źyćą )hÓćDŃŃ•Wţ;ĺhÝż˙ý„ѫň>đn˝ő&a°;Éö>ööűË<ňL@ř»Ĺsdj ÂPÁą€Ńh®˝ö†¸Č9Ľnľhp˘@Š)]9ŇÁÎ9çś):÷čřľüň+…PŇ)@â=§¸Šüţ÷ż‹—9áý˝č˘ĹýNńĹŠCgóxvŠ'{9JGüś}öźĹX;| áDŃŮŚ»ă˙ř[Jg'CB_uŐµI÷á˝áçÉR ÓHqâőň»ä•~*ř7r饗‹şěđeť×ÉÔ»A2DňŽ;î˛.Šß{ď¸růý§�á¶ŰnżŠü[ ĐŮ`O‹é) ł‰ĚDd¶y*á™FEŹ±ÎĄ©ixňĎXŃ0IĘÄf»~<:7Ĺeq"3hV9ešń‘f‰Oś‚9×l"~-*:łęŇu«~óä´čb»°Ě<WݲŰZÖÔĆ܆JÄş)~ŁC§Űo}xT%çśQčgLĄÝf˝öm2j™n»‡–ĐLţţęş>ŕ;[™Ćh—]vÎř¸––!žˇÓŤ‚·hmn¶Ş„ŽłććfÜyç=˘Ťb» Ó*ĐžˇCŹíÔ`é|â¨?ޏ<ę¨Ă{ "](Ôg%Ű:2ím‚=ş‡˝ŁŘŰ>? ńŮŮ餷ßYÚŁÚ|śŇ߉L`ä˛O<E8ş8pm>SAĐşúęëDt<ÚZ×]wuT„÷·żýCtîłsZÚd˝Ł¶y˙9ťvÚÉÂÖ˘Sř‰'ž6€<řŕ˝b$´ťŢţ Ą;™%§ťvVÚÇeú$ŚZĂkůᇅă‘v$€˛“ÂĺŚPč@g3yěÜ–3ŤťçŮŠ�k‡ž{qSuĄ%ĹąiGg~0ěęô˙¦ćĚaţÂ0&ŽĎLŕ¶`qX›.ڦöÎűěżwf‘Ýݨ2îWeą†–^D_sC>ŰumÔ:ýĎ?˙˘x7bgˇĽj§·żĹ’CůSÜz6{‹%yÁs’żËö6$]zk_pŔĎ„@›÷›öŚÝ_ÄçDŘž§ŠÄÖ˛}——äŞ}ĎÖłŰ`vߤÜg‹ü,ňK�8ŹS(zKo›c̤€8yÄ2ŰšÇNn[cľ‹»wŠ­ćŻćđYx ĚÚ{Ö%™űµřKęl÷+‰`,ˇŹÉEDçÔrŮGú„lBł|źiŻ­köM¶mY˝ÇŰI%¨&vAĎ1S ű:$é´Ťö6‹ý\v{„Â0ÚŚ|Ďe$Ňęęj!°ăŔ2}şéâ/‹} |·=đŔ_‹2ŮOEźE;N(ŞşňĘËD&ńSFýä1[ną9~ň“˝Dşmgt1»Ýö˙—~_—|WďKŇ{ƱhyŮŘ ëü®IÜ‚C8‘űpŕ.ßaܲ¤˘?ţţŠţB ĚžxzńĚ‘„Ť=Í¨Ź´ ˝čZ©ËuM‹m˛ Î2¨GtšĺĂ ĚH n9“š9îx”Jř•Á•˘“7˘G<ĎSvěşźżבěÝ,Ů}pŻ_Cqg9†WŤĄ21z“Ą(ŘÓáPT.t<ťzę™ŃPąÝŔX—Ľ>vÖ0Â#4P łá†Ó˘!}y÷ß?Üwß"í#Gy‰(”‘ŁfŮą–Ë{×ÖÖ†Ă?:jT3ÂŤ^Fy˘Â0Ë4¦éld©ĽOŚępťsŚ`@Ă|Ż˝öDmmŤ0Ěé¬ăśźAÓŮéÍ}äý`!Żé®ČÎ;ď‘’i:W—ťvÚA}(bô¨QŁF‰TNrdĹeąHăÄ‘×_“X¦ńǨZŚćĹßHŢŢSFMă‹ _LfĚŘ=z,;˙ö·żÔN|‰ąćšëE/ Łw]yĺŐb™éŤN<Ń;JSsQ EńßGüItpÓĚ{×]÷릨‹eěŚÍľČwÜIâ·Žß}~Ç8˛ˇ9B‡×É—;Žâŕµ0B™×ďĚ’%KpĂ ¦ĐŠ/|ŚľÁöfܸqŃ}xďN<ńTŃÁď�GVóď‹Qů¤ťßGŠ÷ř;ë¬Ó‘ çžű—hŠ5žżěć‹…tŞÓŮĎNâkŻ˝2©Čěž{î3ţÖżŔ˙xFÇ^+#ř7Č߉üă"qoÝJzzl/ż¬Ă7%™Ą9wžĹůÜôřč\ĆĆĺ«ĆâÖ‡ţŽîP…aˇË¤•ňđX»ˇY!Ç4Űş–™Ň2ůŻfeÓ¬SÓÄĺIˇľOD/ł"•é– LŹE.“ĺq"3]ŠÍ"ćý3ţ[łp$†ŚµŹÔł’ŃŃÖ\ćă„]P†xÁ;ň"ĐŠ{Lašfť¬f;>zßĚ´ăš<Ĺ l?čH;ůäÓâľtŔqD"Ł-rô#ŁTRŘĂß/Ř>PDĆDŠK8"Žmí–qš1cw\|ń?×J'¬Šł™jBÂv…µt„ńÚ{Ű!™ ŚK1xGG§¸O˛=`›ÄçCĽ˘{0ňç%—\ŤšÁďźíĄŃŁG‹ka”´ăŹĎĽ}–d›Ö-ŐT2n˝őލCô˘‹ţ!î 9řŕ„=đŘcO6ďŠ+®6ľŹg‹ď:‚űÚ}çž{–ęź}öybD8Ű^»-WC©Čö9¸ ,Ň2Ú˘ü\FUĄ`LŠĹř÷áڞŚöí5µŚż‡|W1ë›ŢŻWŠÉ¨‘ąů°ŤţňŰ`ĆÇńLf_|“ĹçÇě÷“BäÂ3:-߯;iµú úmN8ᔸqWM™2EĽ‹±]¤Ż€í¬Wš˘ŢŔÁK §Ó±“+ě©˝Ě}2µMsa_ppć¶Űn-˘Ć˝ôŇˆoâDѰNFm%LOŐź÷,ú«}O†ý§Ó†&‹ş› é§Oç»b?•^I1đHţź4¦­ŘMXf_]^ÜŤg·Ź_|¸Ŕ˝‚őË˙ä**‹[·vN)4K&<łĘâ„fąńĂ ö(®’ţzŹĎô3Ů˙+éŹűś¬Íâ;îM7Ý*ĘiŻ0U¨|çeź‚Ě\łĂÓńä“O‹w[^#ë”ďĽ;g?1H<óĚbŕü»ďľ'Ţ«iWĐ—Áľ%N|çľöÚ«âŤg۶öćŮĄK¦ĎX‘Ţ÷ÜľO¶Ď ţý)٢fë!é¦ÇôÚ&ŕßwεúH5{7"˘áĹśŐąŮI˵hąYżžV=>Ýß*ceBîG(zŤzŁ�‚#ČJÚŠ±äÓhĚo@S±1•4˘ł¸Ýő<3ŤnfFÓł¬ÇpܵסvTŤkô˛Áš“đyPBŞ«« eyÚÇRĆô|„˘¦Ë/ż4î;ĂN–3öŔA"˘}PĚbĎĎhěŔ"t‚z Ědd ¶Î€˝…xR\v NJÎc;zѸfZ,v^sÍu"u4şO=ő$‘ĘĎSrô/ŁTQřăLťĐ›űHG%' Ě$¬;U¤µTüĺ/çťť‘,Î8ăśh9źÁqÇťpź˛ťĘěh%L1vőŐ—ÇE ›1cwń9î¸Ĺ‹Ée—].^hěŁŘAÍďhŃA,…T„b<ž?Ď™B’‰íř čDešFű9ĐąL‡đI'ť&^a„/btܧ ź……tśňąRhĺě°dt4Чř]çç<řŕĂBhĺG1ńůßxăµ®QgřyäŃ©MŃŢŤ7^¦™‘(ä;ůäÓEjKF©Ł`"ÓJqż·W\qYÜË&GióZ(8»đÂKŚŽóG<cř’ËB(ćä)¦Ńäąň·ŠŃ]R…©Vô/>ź†pW!üĄťfÔ¬¤"ł$Űíb2·mr™“Ý–ĐIŁ7ßwşBĆßy~q‘HEĘKşË<@F3Ĺe>+µĄ&ć2zScF´X3Ý &&Rfj–Cöhf–°L· ΤČLLLca^€—±Ľ§ŁČĹĚ~m>+ÚfF0 !AP'.cŘŞŽŘ=â2-&0‹ľ‡kVJS-Ńl† Řް=8üđ?Šß¦tF׹Á´ŐúÓĹDÇČ|đˇh›™ć“›oľ-+1r®ŮwßźöKt˛t`Ű˝÷Ţ?í5#dČŃŠ/ľhÚx^Ń=ńKvţR”}Úi§ỳ-q‹:’ öѧgśqŞ|őt¸ÚiR\&9űě3Dúl¦®`ÚivęňĽdÇ7SBő%{ě±»h_ŮÎRto'—Cɰ?‡‡şO :čKhň{Čďă—_~'0c´2·HŢ´ËůwÎűÄÁ �JŃ #˘)´ô»őFËMz̆¦ÚÚ3wĽ/\śygǢ,ŽiëĐŃŘAmuďucGçáŰ Ě|šiô¬Kť 7ŢxKT\Ć6äČ#Îk”V{ i=đŔ="#¸ŇÎůóź˙Š[nąˇW"źLŕg&ko}Kv4ĘŇôęÍť}ńóź Ţe9ŕ€Q;ř®OŰP¶ }™ł·ôWűž űskhH)ŚŃW˛…IÍ]`M†}— Ů  /dżJ>ňDb»™m:LŻU.>ş…ń÷eŠ{Ńňăw#Tâ{fYáşÓć–ą_K s LϧłÉK@f•EµdiŠĘÜĘ ˙N(bÚ­J4aŇ_ďńvěQ›Ľ ý"a�‚L±·;LYť Ů·E賲3iŇD!gűÇw]ökČ(cöŕ´_eŚ™PčçbźűnÝWď6ŇŢ‘6í'~űÔč[‘Úďż˙îč1ňŮ•––ŕí·_Ç@‚ďřRdçmI‰ý{ ÝN°G•]ąrĄxwH†ü.3Ŕ‰}0l&ôÇßźBŃ_¨á©ŠŚˇóŤÇ¬öy±>G=6öD%bS$ZŽ„ý#ĺîű[ÝźVÄ 99ëŻě¬DmEµÔŐźĆ*?‹÷¦˛´ăüă±yp+ěTż¶_°+&-ź†šÖ!đ…ó3¸^·rÍvl÷ Ťz†…G ńD6ˇ2˛H#”!k3ÂŹ×^{—^z1.ĽđﮂDĚIN¤ĘľŤŁ!É믿!„1Nřťŕ6ÂČ ątvŃ ‘#{ÁŔK4E'Ó1Ş—[8` :Nqaçî‰']—FĽ¤·÷±/ŕ}>űě3ăĘř’qÓM×ĺD\FŚĎś/—]vqBzKŽΓO6#łŃńéć,gÚJ9ćňËŻżŻmóňËća>»°Ń F q;v<2Rťč¬›/G™ŔŽtŠ ÉŃGáš>Ť/,ŚÂ>ÂżËd/ýëyž˘űçńĽíâ2Iii©ÝÉŽ>‹Láč#Âh8Lé6’iăŤ72^đOË2®ş˝°ňŢsĚ‘Ńuçߏbíb Ą4;JLő•n‰ÇÄ\K=·Oɶ٧._¬q†9żë?'˘˝»a=lN†łŐś[Ëb˛ţ‹î#·†Ě­FGdضgH“Ű#f b»1iá¸ý"â?Ýśt=¶,×őm96éÖľ:˙ÖĂz¬I7ŻŃ_¶Mb]‹M!Ä&ję¸Ó–uYb2=&*3&˝;ĎvĽU—čͧ­›i¤ťhtfF}dJn/[Â.ÖNţ>Q(tŘa‡â?˙y0ę¸xá…ˇHD:)ćaÇ+yóÍ·Ĺś6–[tFó’«óĎ˙ł’» •íŃxłŃ:†0ęh_!ÓV»ĄKç÷é˛Ë.‰¶ŰW^yŤpÂ’ŠŠrLźľ2Â{FßĺäŚy!ä='}ů7äÄ. ďËç ˇÍ˝ŐV[e üi{}ýµůąÁí†]DĆc8HAâL©©¸H?‡Ď—űv/WĚZ[ł;·öŽĚŹË6=e{{nî_]mî]«š–:}Ř`cćLspEel/h¸ůězű[,á@%ľ7sĚQ˘ť&đĂČáý…Śé#ĘJ(ĚN—\Ú3fěµ!¤]#çěśedŹH¶ďÉ  &} ö6Ő Ú)éÚ4n°“ťČ(ÄÉ‚sâô©ČAŹ©RbŮ;8ŠÜ`¶i>Ç�1هŰGw=TŹ—9öł­Ú·täqçŚřż@ŁűwßK”5)/r·M‚ÝÎk×\Ö=ʢ›´ Ž‹_ëfźŇ—™ô×{ĽH% ’m9¸ő5¤‚Âú�ł®¤BFăű­›ŻAúŰĄ]Ĺ÷X"í;B›Oöź°=ţôSs_ú)8°<ŘOC˙ĎÝwß}Żć )X#ňÝźQîíĺÚĚj“ .8mĐőĹNvIŐ_#űëĚă&![úăďOˇč/”ŔL!pvČŮםËĚCAĚéZ5ÁCÄ ÎŇÚßE4±™SpfěWŰ]-~x“ ©úŞ’ĆÓO~˛§H1ČŠjýšâLőMĂ6mŰc×%{bËĹŰaĚꉨhŻťĐ‘$÷!’äţĉÍ‚3űţ"ŘJ8ĘĚ‘ˇ4ÔŇŤX6PÓc¶¶¶Šh@Ś(tÝu7Š2­‡vHĆuQäÂg–¬±–Î"·‘†ŚPEFďÝwßOŘN± Msßź#—0tŻ4H9äŕ¤űţë_÷ęjüö·żń܇"4/(´‘Ph㤷÷1×đEăşën+ŁřI { ď;ÓŹF4I6Ň#k¤aţá‡%l罣XŠWaĂôŹň{Í—•cŹ= ©`¤,Żz„i嵿ůć[ýľü˛)bäóűÝďôÜŹľú­X¦ÎË0§“:YŻW_5Ex%&sfs»Ľf·űš FácJOÂr| ő‚ŃŃ8*śHŃźŚâ;Q$©^Îý‡(††• §Ą ń1ô^T&Ę|‰Ű;}qFÍG_lŹŮ &íµ™skYŠÉBÖd•٤e1áâĹc¶­QŃYL®±1…d®“.~ó¸¬[ë:ôčş)ŁČL·M°DdÖ•ą”“¶îUu[ś¨,n ůl‚5›ČĚž6sÄŢy”¬ă‘ŽF[tvÓkŻ˝!?öQŠvŘ~Ëčˇ^őő9ĹÓOËöKЎĄ#QÚNâźßxĎşßzëm$#U(~ţž1‚atÎdK‘ô‰'žÂś9s3~ž2Í:í·ciÓ0u„s”%#će:“uŃéÉéé§źMą?;leŰn˙[ÉĹßPşl´Ń†Q‡8ُ%KŤĆgÄTÜöŃÚŮ ct Óé-Ż×Ë.a:492÷›oľ‹vdđď?“č9е‹üIČóĺ>-ă°!ą‰ě¤eémĚć8_–yDkŞrďZÍĎŹĄ=\W` cÂwSŻë˘ *Wr ÍNlv,2ý·ü}fleľŻáŕ®dm#ŚŢF K—\Ů„>Bú4ČŰoż#ŇňH1ŕţűď×oŃŢ2Ą?Ű÷dđţÉÎgv˘K[ÄŤwŢ™—Î3SöŮç§bÎďýF^P|ČčĤ¦¦ŰlłuÜvéżJÖ)ÎÁ”2rm*T NEşČßţ|[ôŐt„e™F-süÖř Ťů«;=˘ ŽŻ]w’=Ť«u˙ítÖ»¨»2Śe$4‹_G¬řiJa&čŻ÷x;lůęĹ-óćÍË<·lžmŻ˝öÚS,łŹ“ô«Č #ĚÂâ6 }×]wóĄK—‰ÁlK9ŕßŮĎ#…dńHŁ~»őWń~˛?áÖ[oÇG} Żë°k° ÖčBŢ›TßyδúRđî$™ť@ˇXJ߀łź&×vB¦ä"e:ő0â<ßKł$ď˙ď/DŁű˛Ż/[úăďOˇč/”Ŕl=Ł·/}l8XłΥčBŔ3ZVÄŁÜÝĚU<·şőÇÄfýă„ĐÁ.0ëĎ—]†tÎ3Ĺ ýOc‡Î¬Šň Ś(‰ŤĂ›b»¦ť°óÂŘpéfŇ4ţ@aF÷!1ú›‡ŘĚĘ:ŞQWSk8>üIĎ} 6X§ź~¶á Ů!nš1ă§8âcDŠ;°¤Pő6:;ĐMŁv¦0®żţ&5AąˇPbꍽöš5|źţ…„í˛Ś¸ÝvŰą„ť{„ßądâ˘t±‡…MÜPÉ4ą^dss #^{ě‰"#äóY´h±áXľ4n_:Ţč<ĺ´bĹJ¤ ŁÇIْ釖,Yę915AI‰Ů©ęĺläócšIB�;ů\˙ůĎ ŇJők�z±ůćć(ž7_$ŇE~ĎŘiš*U™=ş™<ÎI21ˇř‹¤şŻś}Ś0ôs&Ń_ěç¶í¶Ű$Ý×ţ29oŢ<ĎýÜ"×HŞŞŞ˘Ë]]É˙~ý‡ě, -E°łŘE0w™h„=ÄeÉĘäÔš×H?˙Ć~B¬ŤLf›ěbł( ąî'DhN9™î—ą”Éý"Rd†#R™,‹Ř"—I±™ą^XŘa™!^D&…d!{9bëR\6^I Đ<˘—‰fq˘4ÄćĆ=mŚŚĎ2שŃG˰öě$téĆö‹©…˝ ’‘¤ŘˇĘôTnv1#@|ő•éôłŹâ“Čßn†Ť_ź;‘dŞsÚ RhÎŽ»ťwŢÉu{}ąż:î˝÷$CÚÄËéL;‚bp:űě?»†Ţ系ᆛq饗űíŘNÚ˝„vž—•móČ‘#ăĘöŮgod ťËÆ™é1žyć9Ü}÷˝q‘ÉěđžqĆŮŃď&SiKrń7” 2E8mŤ‹.ú—k„cŠ,ţú׿‹ä?űŮ/SŽ.N†ńsč%źĚ6”â3ŠËĹ^ŹĽ–“N:§žz†°§ťđžŇŢ?üđŁĹďŚENűüÜs˙’VZEräwÚď —°Ú˛˛Üř*Ëł«§¦2s7eEEvźU•#aXuUîý(ţ|óŮ&Km3Ř3ĆlŮÉĆÔNčg`ĘC9@Ď {ÔiňKF÷şňĘGĹÎL/ů㏳Ń×°Íţ׿ţíÚöÜ|ó­ŃhV{ě±[BJ(y­nť‘ą˛/$R(ĎH&555Ç•Dú»}O†´;(Îcűîćoa§8#Ö÷Šĺłżýö»â˘”Ix8—ţÂÁ¨Îß»˙𪫮çí¬¶˘Ś\ë…z?PdŠü."–á%a™î,tYM¬%v0Ł˝ß¶űŘč–ö… ŕFE±†ş˛Áßî­đyFcëj¶üšěJ[hć±OJˇYâqA˝ČúřŢŮNë’č˘?Ţăť\{íőQ˙»~â;,áß«ý˝:Sx]ŇGGűÎ-Ufssłx?d;ÄĎűĂ~ďZŰ-éíˇ‡sFHwŠŕeĘLľçJ™§9ágžuÖźEő«ŻľÎŐŢęčč6gł]ĐÎÁw ¶@8 ŕ±ÇžpýF\=ë¬s Ĺ9řż˙;ĐŐ?Đp0…›‰źţůDĹ÷nÁre'xa÷ÝşÝ÷tü_éN=Ěč@hűňľ¸ a?ÝŐW_+–ŮGşďľ?EočÍßźňÍ(ëŽ,_ŃçČčeä;+=fiÓ9ß\ĘąµăB"ëbUKł·ň‚P&TŽ7~€5×tgp\O¦Ć¨× 3;;Ř8Ó¨‘“„:>8ńx:(|ihhjűr˝ăşĆ#ŘDZŃP°M%Ťh)o2ú[ĂIŻ×«ś"3ÍV^Ő1U“«˘Q”Öxoé;î¸c\Ă禟Ť-¦š¤ńé&žâ÷ÄëŮSpĂÎ6ŠÝŢ˙Cń|ĺ¨ĆĆF‘ş€ě·ßľ9ďř–‘Ř‘—‹ş{32µ·÷1WĽ˙ţ™ĆĎa„†«®ş\¤ ÁÄ44®é;ę¨#ÄţQÄH(ćÚ˙}Óú{·xHLéŔ'/N:éř¸DF›ŰpĂiH‡ęęę”űŘP<˙ĘĘJ¤ĽVŮÉ› †öv—)ň8ď|ńJ ç(JK»ńśŽ0UîĂ—/~·Ý~KץΟőţ&Ń ŕď§ĘC°ŁţŇ.sřű'Ä\Ź-ŰkĹ6ÝŮËśË ±0ök5~o+"˘Ý®o©a¨QÓ®“)b‹­ËĎbažµ!OHĘ!l¶úćIQřĺ3ţÓ,Áąf‰ĎE4S)ČŹjŰtK´nÎą§Ď8^ÓM±ĆčdÖ˛ąc$nŇ­ůĐ‘‹­(b>ëÜm´Ř5IAĺČÔ5ëźyNľş–Ř=MŚşňyŮŃű›#ă7šÁ䌤ťAqŰ/¦Q˘Ŕžť} ŮĎß$ŽĚ|öŮ焳‹B'·¨[ną…HŔQ٬‡ťmŚÎČvRÖńôÓ±Ńz‡~XB)Ó ÁŽGvĘR4Ď`:ÔěöĂńÇźMođ䓏Ću€® ĐN¸é¦[…#ŤŽHBĎˆ˘Ó“ϊά[o˝CůvŰmWa»QÍźŚ.GGĄLóä†}d.N¦(]ÇFmŤ*Ćh™'śp¬‚ĘNóßýî"ňČ&›llt¨ Ç&S=ł}%|6Śâ™ LŰÍş¬‹NX>kF=ˇŤ@ˇ7EŠ\á´Î9ç/FGčÍ٫ܗiżčĄťyóÍ·‰¨`óńÜyĎůNĹH7ňšź‘=j.ţ†2©éÍÁ ď‰Ď¤]Ěż7Ž ‡#†p‘¸ž;áčWLĘ~wř 3Rľˇŕ?™]ÂH+"ťî˛Ě‹ .řgÔÚŮŮ…;î¸%n;ŻS¦çő2Úź]ŕĆö†¶¸Ľ·<·K/íű˙uóů†QX@{'rFy©–»¨^Ő>!ŕjnŽdtÜÄń™ż“N—Ź•«2ë¬VçCYině Ą%::s÷®[XŔÎ ˙:őŽÁßGŠZů[pđÁď»l»řĎΊ‰Ůľđ÷Ň«M=zttůÎ;ď6Úŕ}ŚßŔáI#dKčřŰßţ‚żüĺoŃNܸ'á˝ő˛Í&ů˹⼳…mŔQHL‘:۶‘lŹŮţF<űě3Ž5Ęôqń~ÝsĎ}"ĘŰ ľ×çĘľp0ďźŰwÂÉě¸\ާlčďö=´;ŘŮČçĘg}ŕżť‚ć÷;,ě”§žzZü=Ó.O•JÓ ÚF^řw}ôńÂ}ŇI§‰Ll÷ŮńNŁľĘG>C·lěl§ď†v=}–ě„ä÷“hiOĐ·Çv_^“éľ(ÖzëוöK‰^ŚŤ˘Źştd±ĚVâŘ0«®ďM‰ťXŽŕłŕŦŁóńćý#�é+6•¤O¬ă«řuÍň« YGź[‡”­L“›´őnť°éżVż1úă=Ţm§>řúÓQ˘Ý¤ŻĎí×O<úóÝź¶G¶L0^ôuĐ®ŕ5xŕÁÂV -Ăß‚9sćlR¤ô§?Mqé„çÇQŻĽňŢ~{¦(sËzB[†í}^2€LŻé„ľ}Š«î»ď1ęĐCÇo~ó+ë˝=,ě'žź&±]wFBűóźĎöű—ţýď+Ĺů± ¤ŻŤ!ľ˙ţ!>“}ę'śp\ż ŚĺsŁśÚ^ý a#Ňޤřś×ÄçAxż™fÜI®ě/ŘO.áýˇh‹}:RŘ–Ž˙+Ň©‡©PÁ—ß+úp~ýë߉żŻqăĆ !íÚš|_á÷–ďniéÓĄ·Ę7ŁH(™é¦Ç$l ŮŔ~ß>_tRZ{E »¨InŠ’˛\s”Çż-¤SUW9ęF× q™S@ć&(ËDd–ěŠ÷DN˛N6 tdđGZ:YNçŤF‡`ĂDkm©»µzB­!šzĐ_ʆâz´”6˘ł¨Óę�Ž]Ż×}p–ŹÍź >›‚,ŻôÎű0PŇcŇYbŹ ÁĎg\†jĄł,UDĄd°#ě„N‰ë”˘SfĘ”)Â)5fĚh!đaĂLá”4DءC…; IŁ„ÇČQ”ܧŻXŰĺąşŹ˝…{W\qµ3ŞÝÍ7ß >›\tŃ?pĚ1'sĽí¶;Ť—±±â»µxqLéĎĽćé’*Wşň… §ă·ˇ!}V:Ł_ě#02ůÎČßľtޱw€dëtĘö¸d÷6é\W®B3+¤˘˝ÚŹŠÖ2řKşdNQ™Ű6i ĐvńÚn_n4LđňŃNO?łO‰ Ęt»pĘ‚™ŻĽč\Â7ź¨TÓ)(ó apřYŃ]}qÂ2AV· ÍtS€Fë± Č4Q™):‹ °¨#EĚ´ă‘Ë2jĎŃgÍ­kŐ†%v¤Jžs ›é1ąż'23?˘Âę4EG<–.çśs¦€É6Ś‘.d´ m!FreL·Î3ţ6_vŮĹ8í´ł„#‚·Ž-ÚϧžzfĚŘ=aŰÁ$Úqڬ츒) éÜd§¤dÁł-cűż®‰Ë;uwÚiá|’búd6ß1…‘\)„¦ťČÉďSw±łÝ FśÚ~űí„sĎţüřĽčx’p™ŃYř] ŁÖ+ĘU<ŻLíhľÇÜtÓő8_ g)pśÜ pŠéaßY:7ů=Íäo”#Żąć ý…b~˙č€tď]‡ň{á´uŇŰżˇLąüňKŤżą+„X‚NÜ[nąÝu?vŚÓAŮ[člgô2iŁ$KŰM*‹ďŇ6äw&Yy:V%ncíŰÝÖy^t~&«C‘H˛N\łS.⢠rIEynĹLŰlžŹ×ŢNż“–?[nćG¦le|ÎűꉙľŐ™N2Ş«}ččĚ]¤î’"Ţ7ŇŘÁfó°˝äď/ŻŘÇHvx='ź|‚Řć%ŠÚqÇí…¨™űĐ·Ŕ‰ţ.»ě¤}�l |đaŃaČöěĆŻ‹{ʵ§JÝ1N<ń8ń^Ďö[ ·ěđZ®żţ×hňżüĺĎ… ™ľŠŰÉąçž%:se_Řáó±źc*V.ďS¶ôwűž ŮžłŁ•"?Ú?vh§\uŐżńĆoe-0#ÜzëŤB Ék’NfĚŘ] ˘t©ňľđ»qúég‰ŽLŢ?»?ŹPŔÔdÇéľ(iżTä•ůś$ˬÂä‹ń%îŐŠďٱ;Ě^iü€%FŽ‘ě0©`Đ Ěvžě-`)Î6„Cř%ýY®Błä‚±č> Á$ÜŹ č•ŕŮ©Aşńôő{Ľi0Ű€łEÔ-·Č[ü}§ Ó[XUěŻá€FÚ_Nř]8qÄJZERv[‡6ˇžÉČŢôG$óKńs…“QĘ(ŇľöÚ\÷Ł(čôÓOI(gď˝÷Ţi´Éç ÄË×ĆßľSN9±ßÄř—]|ń?„řž…dV!;ô \qĹĄ}j'xAżŇŚ» ›˘J*ä`€W^13AĄë˙JEşőđ=‚ŮŘżË÷iwŰ‘´d”ĽléíßźňÍ(J`¦H:5‚ÁZşŰ°4´Ćf&jqłŻžeźjNßÍŢŚ+w8Ë4ÝsYQ¸PcŇ —®ČLTăáśK&&`ÇĂx~×ö=^o~ SK¦`Ś6 “Ę& ¨ ČŚŠÂN[َ¦3ÁÝŚe /CáÓĐâhF: (8+ —atĎXŰčĐ۱¦p šKĐRÖŚP^Ľ3Ů+ú[Q°c«Çźë”ŁC¨„ße—ťŃ0M”4ŽĘôČ#ŁFśß§ŁÎ‰ŮÉtAtěH™4°82cęÔ)Č52:C¸R`´¶Rĺę>ö:e€ź˙ü€¨¸ŚpT ;(;ěH1Ňâ˙¸Ht~K›çJG]şČ{OÎ8ăTařő>?Ž@ ü] ř”÷kĎ=g{šŠtÂŮňş%q’.E‘-tâ§ÂľŹ=­j&ÔŐŐ cžŁe®ľú ôv>_$S‰ doľLČ´*ŠuݤKUůči.EŮІx!áż4‡¸ĚV– 4s)ł—sZZdxŢ»E›=zřü°dŠ%ŢbgrŘt¬ÚŹe]B–gFŁŘĚ8/MDMł˘iSh&…e¶f"BM”ŐŚŮf¦ČĚL)Äj"ŠYŘŘŹ‚˛pLX‰ ͆Ś\bř‡ť˘2 qQĆäzH3Ó\úĚuÝgE<+@«m5#śiŽk¶˘—é<SČ˝‰±ĺĹUІj)Ó€f8’ďî»oÂ:ľ(â˘C€ż—t0â} ´5ďż˙n1Ňđµ×^N:.9"vÄ"íŻz(¬˘ăŚ"mF e‡˙l[d2rU*Ë`†Ł ĺ¨YÚ©˘¦Đ|üń˙g*ĹXlăř^Ĺ{ÍNq¦p Ăo‡v ŰÄ{ď˝_|Xíz·ÎR>GÎxňɧđÁ‰vŽ‘<*++„ŕ˙'?ŮK›˛uęÓ!vß}w‰óxőŐ×D Vv¤úýů"5&Gť˛SZ޶äw‚ß]F>c{{üńÇfňq˘Óú‰'ţ+>Ź‘Á(’äuÓVb¤~é\ţéO÷öŚhś‹żˇL`ŰÂŽf:ů™9J[‚QLř™sQ8‹÷D Ě$©ţţhËp¤ěgź}.Ö·Ůf«¤Ńż)hŕ_~çÎ<ó´„íÍüŢ{ďăË/żÂBgúq~×Î;ď‘V‚iĂO>ůD(zßHUy7–®DÎ(Ď2­Ą;M/ŔÇźŃÚ–žňk«Íü>4óߦQ#ň°éFůřú»PZűWUú°ý6ąµj*5ýR9ٞś"ćŇčł^`[ĆČ”|ĎăoŁ™µ´´Šw,ţ&1Ň“Ąä{ý-·Ü(R˰#ŹŃ!dDČtaí FáüřăO…?eú;%˘7đwóşë®‘Ęi±ó’6+#±1ÂŰ ™fĐ í‡ë®»JŘ^ÜŃv°żÓçÂľ°ĂÎS¦ÔaűĘŽE™öÉ‹\ާléďö=ôÇq`#}<F˘ }Äď7Ű}vśÓffgjoa}ŚĚŽPFŞ[şt©č�¦`‘öżWÎ¶Ř ˙Ö~řŤź¶=í5ÚU<Gţ-ŇĎÉ('ÉHçý@±ţ‘L /ß?*ňJM_‰ÄµË'ݨe©„e1ÖváŃí'âŔϛΗľ Ý¦â_Ďî÷]¦¸÷ĐŹSŠů¶/ˇY:˘2{™m=…Đ,䫳uI@ź+úú=Ţý?|§g4RŠnř9ôă3ŇŃAýÖ3’X6đş(ʡhţĂ?2ě•ĺVć™Řzë­DD[Ú©ŕ;żě3ˇ ä&ΗűÉwcŠŇ’ÁwŕK.ą0<‚Q˙ŮvóűI[‚QGŤ<Ů{;϶Č;ďĚuP€Ďţž+űže”×möĄlˇđÁďĹwÜ-ÎŤ×ĹďŇ„ ă _Ä/„­ě»” ;!\pľč_ŁŹ‡¶<˙îŮżĹű™‰˙+éÖĂďĎGîŕ; ź!ýĄôq1ŁšĄ› (˝ůűSľĹ@"ÝÖZKs›–Ć\óXwv'ůlSžU–縍q)}@đ} RÜ"Ů'‹ŤgWW§á0Đă„Ů~N˛Ďw.sN1…,¬ů wŻ´Řšű ľ\ŹmshѢ»k.u$­_O¬ĂF„†â„±‡ŠHDµµµV݉_ß\ŞĽ'---â%ţéŐĎᓮϣçá7ţ_0“ &bJńDŚ(!ś üá—Ń5hdČgnĐ1Äčfl`™ QćĹć÷! ˘Ń׀Ƣz4•6 ­¸-ţžŘîŰđćŃřĂÄ? A  Ż{0"1e‹t*RÔŮvŰí$î%, Űog˙ý!ŚЎ~ř~Ďk;óĚsDG";cfÎ|Ău*tLňyľôŇs0~“ Ô• G™ć:)ĺÓ›nşN'^бčÖqÄÔ8Ge*â©Âç^7ř˝›>Ý|4Š9RT’‹űHˇć{ě-–Ź8â0×č©`Hâ#Ź4;-y~<O'LůŔŃ2 dúômEDŽtáýŘkŻ}„C›Ž×ކ’ĺ:†ůýá=¤IG! ˙G}8ú{ćD~żé�~㍗“v@üć7 '09"Äţś’ýťśqĆŮBÇďĎ믿”t”s»s´ąůćëĹK”„Ł«éŔçK#;Š˝8í´3ńî»ď‹ß¬_|®OFµ±Cá8L,§úľńľě˝÷~bd8ąwÝu[t[6? Çěö0X “QżŠ‹KÄ÷MFě”m[2±v®íYoŞr/»FD5ěšŐkŚvôܧ1é˝5±ů÷đĺ‡Í|’š5ů,'™[Yt9ť}żm·F $‚/ćl›ž<δ–.’ą©Ś{ŞÓá–ź[¶ĘĹdü]hüŰĐlsq˙M™ü×<MË|–ČĚ1?ŢÖÍek®…#Ćܰ%¸n,kÖd<0c YSüň.{>‡]÷˘Z¦Çô™¬ą®Ĺ–ŰJ 7•™ŃËd3żŽĽ)FGYa2u¦9!n9ŇZjL%ĆešĚĚŕmš¨ziO5¦žit—cŘĐ!Ńď%€´Ł¶¦*W¤ť0r“+ŻĽ »ďľ …b 2ě7&SßĚóݬÂ;gźbŐ EWżÜŻądÁâ0îy¨ `r‘…eÇQ"ŇMfCw·Ž›ďîÄęú䑦 ŚúŹ:¤cGçvđÝăĎvăÓ/sQn÷é?bßź ďnUĄ˛mÜÖ˝ĘŢđďk×]÷4ţ¦»˛~o»ë®{˘‘+_~ůžďň úHöÚk_1řŤbúd6sqźÖW8°QżčëyýőĚŁ~(vÖ†=“‰ýâ´c8 ‰śn˙ä<×ńn/…eVIÂ2»`Ş$ěÇ.İËoĹđéîv»ĽsW§'ZhL–Ź7ĎvowÖ,~Ő e˙„ó.ąÝH7Ű-Ťă\šąđ}đHTnpŞř ¤ŮÍ®QöŤBˇP¬_¤cϤ«_ ř™ă—Ž‹VkvLş5ŹŘ&Ý6wNđXO6w.;IîŔA,6B!H•“e߶΋}SuÇd+ŹDË­čqé™÷Ϭ\3ę7S+ĹR=+ó×`i`…P!SüEÇ_”’]gov׼¸ó Ůyx±ýUܰć6\ľč<´đQ|°ü#¬nZ#7t óĹŠa(ąLýĽ(Ş Š›#(°˘Rš9“©vŻ(ŻŔH˙(lÚ Ű7ě‚]ĎŔ†Ë6Űć‘(ĹťËĐŔ0!čazL/jzĚľ†Î0BÁ‹×µńů|úég©ŞÂţűď+žĹ(Q˝őÖۢśÂBŽ.é (l’â·ĂvÎ?˙ĂIřk!ÜË6˝Łą¸ŹąřnŮGÍĘ\äN&Ož$Ň„99öŘŁ‘ 4pöŘcw±LńG@xÁżmŽč`„·ßŽT Xp¤Ď‘QŃř˘ÍÝ^:ÝS8JĆ Ž4‘#ŚyŢ™Üď}öůiô:(ţô‚Ψ˙ţ÷1±Ě°Ć µś {ďý1çČŠě’ÁŃ'źţEZ)BípTŻĹQMNÁˇť˙ýď!.#ůˇXdšâÔY.ÓX‡R8©ˇ»ąÂ2×­¨[śÄ˛U±•Ą\öĹÖ&cŰ‚bQďcf[ĹLniü§‡cS$dNz(~ÝÂVy8Z¶m3—âžŘńňą-¬Çćfýa[]±IŹ‘ĚäśíHDŹKßi/ÖŇbëˇřIř 3JYssňŤ®7~PC±×§ű¤wĺǶ3ë±¶µDjĹ3dô$@9×&2UŰČTQ …B‘=2ęðě{RTű6tÂŘ<yH1jŞĽÝŹS'ĺăò—‘˘" Ç^‚)“ĽÜđúB\Fü9¤:Ě Ę°.E0 0ň’ôoě°ĂşŤŐ ľ{Ë÷j Ě’±>ß§d¬^ť:ę;=FÄP(Öuśďć˛MY<,Ş łőD!A¤»n‰•8\¬ űÉÎťyAÜ:cę˙çyç×[çVlßźüfďsď\ü¨mMCbX‡¦ą”ą®')Ó⏠ćOs§}Łü8 …BˇP .”Ŕl='ˇfĚę\Ř ˇ)‹ôŕŚSŘXy°ń,®i&)jˇ‹Ń‘ś".9R'Ű{FaY8A}Oš"-IĎ“Ű?ďůŹ6?‰Ë–_…›ߎg=ŹYkľG[{[Tp&Ď—ËkŘá¨UŠËš•)óvÚi!’`ôĘâJLĚźŚ-:·Á.+g`»Ĺ;cŁÖÍ1´g6˛9 Äń’őÉh—i#ÝňIŹc¦ĹŁ@…‚D'|űŰ?D”şT0|«t¬1ě,'Ba ó‘÷üL)^cčä»ďľ×użgžyoľů¶HsČhxąŽ•‹űH¤<Żdb­d0ôŻ !ˡ kě\N2IŹ)áH]FőâoăŮg˙Ů5M%/n¸áf‘Çý÷ż?4*$“đoźé:)Ö`čĺ“O>!z-ÇcFyď˝DŠ…TÜpĂM" ŢĎ‹/ľT,ó˙ú×˙—°O˛ż“Ýwß5šBňöŰďÂÇ’°ĎźB8™˘”ˇ’łýžÍ±{4ŤĹe—]îůß|ó-!ś<ćđç?źŹL9ě°CĹśŃXŹ[ú¦~eČ`ÂPĹLwˇÜ8GDR”Äďj`Š™6¶«ąŃôŽ Ę\–“­/)J ;±ă¦ÄôhĆď†vIQX‚đË!2łöu ÍěëáH8şޏ‹ŇLŃ™üĚMűHá›9gj…ĘŠzŁósąM\f\@Đ—EˬőŽBK\f®űF6@+ę¶„cZüxDzޝoî“°Ż†ĆP5|š/.r™×sO绡Ȟ… Š9ŰbŻtO …Bˇč=ŃÚśgîÓđÂ×GÂqcňpú Ąřżý‹°Á”| ­óaÄpźH‰yÄŠĹTRÜűvuiŐÇşůü,~毌Ďć9ô…¸ŚřósiGč1Ě|ĆÉRH)rŹ´eř~ś«4Ć Ëä EúKRĄĆZ_ď“Ěwňɧᗿ<P¤zň‚~9’>]…b}CÚ/ăJG¸Ćl‹şëÄ Ë\ÄeńîöKßÝĹ‹gÁ‹Cw(Fiáŕó”h8hŰbĎíĺ=o!cÁXMCچ$b´č&ŁO°p˛(Rz…BˇP(7Ş%W¤D†I¦jY×4G:âŇ]š;ĹfšK9<öŹĎ©GßzSk¸7Żyăü#1­e"6,›ńĺcPXP(Ä 2b‰LQiwŘ% 턢"˘—Ĺ_‚çů“°ÁâĐ21˝Óő.J´bŚË‡ÉE0µd2jKj…“†b ’“=ť&Ë™ó™Óňů0Ú.śuÝC1ˇ{&m3555iwş®k¬ŞĚ›7|đ!^|ńeŁĂłDD„ău2 Ó91âÝÁ˙Q¤T”÷“Ł )̢(kâÄ ?AĘĎúĹ/~.Ä@3gľg+óůÉűťvÚ]<kŠ‹^zéČ”łĎ>CDŔZ±b%nľů6ńůڞ4t葝"śŹ>2AČś~ú©Č5ą¸ŹüŽ3Ďř7ß|‹×_SOÇ&˙övŢy'¤Ëi§ťŚăŽ;I8HŹ=öDq˙)üŁČŹ÷㣏>6îó+ Ç1ŐčYgťŽLŕ9žp±¸îşEĘĹßýîŘ˙ý„XŤ9ÚyÍüÎQ¤D(Ňbľv;×\s˝ŘŹ05Ą]ŚxđÁáŐW_÷–ű1ŚWúwÜß˙H˙É\ë[l±ą¸§,cô4ˇëĐC˙ „©N’ýťđ÷č ˙ŽŁŹ>^ÜדN:M¤‚dúËňň2,]ş O?ý,-Z,ęâgS`–-Ă^tŃ?Äócč|~.Eµ;ě°˝Hłző!r“ŃÍťń¸ăŽA¦üüç?ĂŰoż#"ňoö׿ţťx>ăĆŤB_ţ]Q¨Čď1{™"¤ŻÄ˘Šµżßţ|?|Ć<4ąV¤’ěn-G¸»�y…Ř0 Š™\—uÓ(ńYĺ"őĄ%~’´č6—ő�Ł•�S۱óĆŕíY¦HYd•4 ]ÔĎuÝJ­é3—#>‘ţRf‘×X¦›é1uM$Ć 25ëCu+=fĽpN·X6?‹“O”ëĐD´2c]ŹeDÂl´¬e*ľ"Ř|óŹMAY4¦%ž“)1Łëćéň‹mâ|†¶B«hŹÝ ÝqŹlëz0zOž™3j\™¸ÖU0\Pŕ/HxľŠţEF0S‘, …";ŘvĄ3ÎôřP^V€˘Â.t÷” äĺ÷]ŰÉ@ŁÓ·ö‹©ŻaD´©“ú×ÝéĎáÇu˘˘˘P<ătíe÷äiËląĺćq4×Eńî»ď‹ë¤Ď@újŽ<ňđ”Ç®O÷)č3řę«o„żäŚ3ÎMwŰmW >L”qĐý,_~ů•Řźţ:XT(Ö7ĚtWŔČŠˇ(ÔýčŃŮ’ Ë€LÓaşî'\!:îܲ[}đ†ďčs®.ńáŕíŠqÇĚÔ·íX‚Ú2÷ŃŤKßC…_FY”NŘÖ‘ĽLvvég[Â_:ÂtŁůTÜ…BˇP(3J`¶žŽ“2UzLň]ű|Ë<Ôâ-s«ČľE“u:Ć1$ěŻ9Ęu×zŇ©ßč&ĹÂŕ21˝Ô:ĄľbL,Ť)Ĺă±IĹT +"D2ŹŻpqž®+#şýŘ9/µmm•‹ţRGyş0+řľ7&´•Z&ŚĂÔ˘ÉZ:ĄEĄâ\ťb3yî„ëŚdFç…¨łŁ#*8«­­Í‰łq°:,)~şâŠ«ŃÖÖ.˘h‘G}Xť(0ůöŰďDŠĽU«V‹HSvxÍŚ(ĹméĚvÝugTUUFÓéŤ9"iŠ( sdÔ$Šg˛‚—»ďľgťőg!DúꫯĹ䄤oĽ..Ťd®ČŐ}<é¤ăq≧Š{"ë ĐéÍ7_Műď’#mŻĽň2Ś‚·ÇRLNř7uôŃGAS\ţç?ŹŠ”‰řkd[Śľvĺ•×1Ô#Źü×u?Šş®Ľňß"íĄ„i+yĎ#Ńíşë.qÇđš˙ţ÷żâ8L¤źřűß/ÄťwŢęz/†ně÷{ś~úŮÂ9ĚÉ k'žxśëů%ű;!ÍÝzëŤ"Rď+EznB˝3vÇ?˙yAŻ|ŽöĎ{ĺ•×Ää„o˙ú×E:u ˛á˛Ë.Ńĺ^”Nß›nş5aꞞRń;î¨FŻkđ·‰í'Ł«BăTŻěFGS%*†Ő›",źŐöĄ# óYÂ-Wq™3�4Űôc0Ş ÓF˙icfcÖŇ)–Ŕ ¦a#2[‘Wa…E5Ú˙"UŁ8Śź«ů„ŔLĘ4›ŔLŹÍMql)?c"3Í–™SD¬K1™¦›¬T™—ń7ßčS-z±vˇ™]\f”ëAż1ĺ‹Ý´Şvř†5ÄÎCłÝٍ¸ĚZć-m+4Ł•Ĺžś9łgÁň±Q1¬ę\]»ČTĚŮÚ4 …BˇHŤˇqđß-*J›r'0S}}Yă÷çÎ)/i1Ţ1KÄ3&Ęľé?Ö'[†­.ąä˛¸2VűÉOöLy¬˛ůâáŕČ›nşNDF§_áŤ7Ţ“ăÇŹĂŐW_! +ë éäíö Ł]עËQonô–ŮJz±,qEÇŹĺmxţłqäîšOÚłŹ~ÚŤ–®Ĺť°‡·=Ř:çTäŰbéĂd™m]“}‚g¬7Fgź‰}Łl …BˇP(&J`¶“izL¦„ü¦m~‚J·bdÄ ÎRDs–ëŽ@fŃťăö×SÖăUŢéÂ7ÝsÄôdÓ«š_iE“°AéxL«ŚŇ˘’¸čfn".ÄťŠŽîîôXXbô‘jŽó×3>OŮźÚ¬·â‹žođĄ1ĺ·äcTţL(ŹÉ%1ľtśč@•†¸= ›=Ťő˛˛2!q˛ľć ń»ËKt1]č’%K„p†÷âüó˙,„aúP ŐŇŇ*%¸0 Ăý_~ůUi}źĹ~űíMHç\˛ű-Ó Ţ8ć*“"3¦Á|öŮçÄhŇ5kꍇbĂŃ5{í5żüĺĎŁisM®îăÖ[o…;î¸wÝuŹÉuvv‰ď2…i™ă(züń˙ŕąçžÇ[o˝#ž7E«Ť?Ó§o+UuuuB¸ĹYL-IÓĐfú,~ó›_‰(kO>ů”HUşrĺJ´·wĂ l¸á4ĂA»—ŮEW­­­"Ą$©©©‘čÜŕ÷ô¨ŁÇ-·Ü.REŢ{ďý8â?ąî;}úv¸ďľ»pçťw‹č[<F­cd¸úmŇ4ÉţN$›oľ™qŤŹ 1ه-]şT¤=Ą¸•:ŢÓd‚ĘLáç=őÔc"Š#ąńó(6ă÷zâĉĆ=ßQÜ{ţÖe K/¸ŕ|ń÷A!"ż»üľ1ÝČ‘#ĹČcF5SÎßÁGşNRTTră÷jÍ„R!0kŻŻFĹĐs§¨x ©×“E.‹+łÄfRTőe•ńĂUŹCv{ ç=ü—ř“ѬóĄ,Ď •ŞĺELá–n »´–±ľĚhš%đň15ąąE0ł ĚÂ2’YDL›ŘLł"—ńÔ·ŘčcT•4™Ěŕ‹“Ĺf±e˝Ł:ÓbÖµ#oÔS0& űýŃ—őż%´łę‚ĄŐ3¦Ĺj” /1žaAÜ3U¬žxâżP( E˙Ŕw;ú$†Ő¶`uă(䕍1{rÁlHM«ńîXŇgďď oUśÓúŔ’%K…H•Ń·(zâű<§tXźîSşlşé&xě±Gđüó/ŠHéL…IżßOčóˇoQÍčR©oë3ôĂ1ňáhm(–ëőŃňě…eîGÇ•ęîGßë˙żYş•ŁÇ$[WćĂąű–â/O¶a0pŢţe¨)u)Đݺô7ÍÍ~9>¤…,¶ę%4ó®§!0 Ő†mŁě…BˇP(?éöÂhinÓŇkëöî%9Źĺ˙1Ëň·UpßÇ ĹŮĘuűÄN™¦˛««ÓčěÓ=Ó¤Ąű^źë\–çŔ÷ö®śňýu"g˙ťf[p~Y4›ŕ,áˢąÔ¤QżîZO6őh~Ýl’‰V:cĘG CWć‚—é4í".Fă=™Ý54=‘´~s›î8$\WB.ç_á+ÇD˙xL*š©Ą“ŤÎÝ*ńbĆs©ľŚeg:Mó|´”Ënë©Ę‰Ü|ó­¸űîűÄýöŮ'ŁQĺܸ˙ţqýő7‰}_}ő%bQdĚvŰí$ t+Ż˘?`G„ϧ‰¨ lkdtM!h˛&7rm×8ëNUîeă!´¶µaůŠŐX|÷Řöžůе0ŞGŻ@iU+DnIaˇę1QOOsÝvśĎQ‡s˙ ŚĎÚ  Ľs ^ürFâĹ9Ĥsžç‹®3rš®™sČç e2%4딌yBpć"2X“±6çZ˦ LĚĂk’"3Ĺ]8áwW˘ŞĽQł]÷%.ë1ł>´f|CŚÎŇ‘M‹V¦iÉ—Ť:‹‡@3®Mčçň4qťšőđa÷Dls(†«CMuµF'żéÚ>©Ę …B±î1Pě™Lü4N[†źËAE3ß›‡˙˝ą5rÁĎö.ÄÎŰ«NżlxëÝ�^zŁą`ź]ľÄ»ŤG]]mt ¤ÄÍÎq[÷*S( ĹşĂÚ°g˛őżČĺîîn455ăáźÂĂťŻšĺń5ÁĄĐ˝(ŤtGFK.ÚýĂß\·®t{ŢźŔ@f—)xřęh�~'‹Ţ9Ł´˙ąlŃ˝{IÖ]Ęô4ö1ř¸ý4ŚŢô0!ş-,,LËgŁü7 …B±î“Ž=“®–a0PPŕßćpúVkvLş5·…ć¦Ń]&x¬'›;—ť$Ű&PĚ) âŕÇö% $ĘR§»´—kpK§Ť@‘v=@&é4Ó­żG⇞bz¦éuTű*0µx<¦QpV> •ĹŃ´KśřâŐÔÔ„Îp^i{'Íôš­Üöb%giއ–H[4ş™ŻEĂđĽT8SK&‰čfĹEĹQ$Łú8x•ńÝ·Pč#Ón»íÖIĹe„‘ĆG2*q™BˇPônĮ́Ąš`–źź‡ĐV#ˇÝ˝@´Ů­«kQZŮ–±Ś sDk3YćąĚe’Ű~¨�ŠĂ8t×Ç0kŮT,ZăpčňÜĂaČ´©1uSśFÁ#ůĚfşgE‘ŃË,ŁËĚt)7®!ŤbfÍ…LëľpDl—˘2źn:Yő›ĽŞ˘f+z™‡¸,şl|fŘßĐFřęŚw¦°íŢéöe¸.‡Ű‹ĚcÄŁłnš\6ÎiĄ&ĎŽQ}>MŮ9 …BˇXgqÚ2ć 2 ăƢ żPzK÷Ŕî?ĐtRú_Ó"Ď„qůŃ„v”ťŁP(еŤ›o%Ů>ÎýeôŞŤk¦�ťŻŻ÷Ž~Îś Ë\ŹŽëžy˘ó±z FMŚbĆq}7˙ˇ{_Ý€Őm3Ućr®˙}Ą§¸¬Ły)†ęŻĆú¦śĆdÇT\ź[ŞÎ.GY´ß+Ůq†Şt ±”ĚľQi3 …Bˇ(Ůz@:©0˝F–¦ÇdŮ·móÜíDqmQłmJŘ_s”ë®őľEŹúÝ?×ńˇ)öOVS¤u|-&ß c F`jŃlP:Ł G «» óK„¸¬>ÔĹůkŽňčŽKĐ\Ę%aMDzđr,ë\Ž™ťďˇ¨ľă ĆbrŃDlT±!Ć卣Ad$6EßCqŮňĺ+ÄňŻý«”ű/\¸HĚwŘa: …B‘é88“íźçËC?e#kŃ4˘U+» ú G\9J«Á&*K&,K§,N\¦™â.Ńë›* "3öżç=r>:{ŠO>"b–Ě1#š‰Č_‘h3)4»P䥛SÄ6Ţ…Ú4ťš5c§%4cÔ˛%2QĚ"z̬2ę?töŘěS\¦Ű‚GŁ•9Ę(úŞj‡VŠO‹A,R™,ÓlŰ-ˇY¤µĐĹ?Ańok¸áÚ1ĆłóSAÂ3v[öB9( …B1a'mMMj*×`eĂô–žîôí)E<==ąąwµU«ŚgZařrT$9…BˇP¬{™bň0Şf8j–”ŁAcđ[‡ŠŤŚ…eq+É…e’-?żz-î˙ĂUp®ŰţX…ßßŢ„îŕŔ˛“ŠýîúS†Vř<÷ůńĂs°Y©}—ĐĚ)2sŮǵ̶.ý;.Ç5őŚ@éŃâŮŰłî( …Bˇś(ĺ‰"%1Lň×­ DçdâČ 7;ÓQ®ŰV“E7KVO˛čifý©Ł›Ą[ŘŘia`ą^i}yĆF׫9şĆ0Ľµ$ő¤ţvŃťžV=â:ĺ]Z7ľĚÓó­/ă<ßŮ(Ë+Q´Ü w•37ĽóÎL‘bmńâŸë®{EŮĉ°ű<váÂ…bľăŽ;@ˇP(ýŰGNĄĄ%¨®®Â‚-*±ĺKÝ"ťdËš”V¶[{Ú,Dů¬ňL˘–ymďÉŢŠ!;ŻĆß~u5.zň w‘™ŚfƨeşOÁ ÉT™˘é%…˝ ‰‰§ +E¦ĄOŃĚ"Ve ËLˇ™™.3"Äe1a÷gjĚ?ě|/đX&Eeš5÷Uvoş).łR^FĹuň–F#–Ĺ—éˇ<!0Ó„ c+…±Ľ4RŤşşjŃ+źŁBˇP(ťL"p@#—­]’YwŽDRë#EZłĺĺăÄł%J(ŻP(Šu»ýRQQ‰´ eÔ27es?ÝőČŘ~ş÷ŃźvÍÂźż_oµŻë±ŰMđă–C*qô}Í @fů†űăÖC+±ő8żç>}ő6-~é ĆÜúüŇ•%D3łţq<łe]‰ě-EEfÄ]e»( …B1¸Q=1ë)éFú`c(FcO+–‡šÍ>=Ń1‹†aÂuXĘ °íźş<bu‚ĆęήžÄr+jG´ţěĎ3¤‡ĄĽ,ţää<Ůg­E;ăîA†ő É"ÄejTHßsŮeWŕÜs˙‚›nşÝÝ݆3¸ _üĎ”÷˝ˇˇmmíb˙M6Ů …BˇČ-évČ1˝TII ühܦ¦T]C8čGËšj3z™}Ňm“׶Ǥű’o§ČlćPŚ 4‘YIa—÷ÉKˇ™B†‘†&¦5ĺĆ\ˇŰíSÄ(ŹŘË"Ćz$l,“v˘™¬BGQAŽŢĺˇÇ‰)Ďšk±yĐšçSŐ!Žâ˛fÍaF$“ó°śŰ–#ć<Ü\,ćZÄÚ‰ßw¶6ÖpJW q 3%¸BˇP(벓nęÄN3]v/ÉĄŔ¬ĄEÇŠ•3ťY±*‚ć–Üť_.îťĎÁ´Éݦ‘ĎVˇP(ŠÁ@&ďălă…uŁ˘‰p‹Z/.K(‰ß/q!q?Ýóčč꥟ގŐ-őđbďŤ q矪DÔ°µŤŚ\¶×F…žű¬jY¶סŔg·uäčF8Ęër@Ąçq^őhŽŐŘz}d+‘eG čÓAůx …Bˇ¸(ĺ‰Âv.2zůŞe>"ěltŠšŕZAK<Eö‡G=ÎňĐ*âqeTŹ‹ŕ ¶s•çŘ«úĺ9ĆDwöýłŻ_łEŃŇ>¦Ë qNIe”çžU«V‰9_ůfź}öĆý÷ß©S§¤<¶¶¶ź~úŢ|óU%T(е„&1ÍbIq*6ŤŐăJ„ŚQĚÚš* çÁŽ!ą¨,©°,Ův_˘ČěĂ!×Ü’ZdF„ˇ1Efb ±™śqÝ.$3ç˛Ěś q')*ł]n‘ż ÇLż #ŠW& Ë((łOô]–ç[Ň•…ťsʞlŰŮEhşµÜ*FgŐřQl<7ŠU„…BˇP 62m»śűó=’‘<GŽ(G]Őjô–îĄČśż0ŚëďčŔu·w঻:ńŮWA@Z© akđ\nľ»×ÝÖëoďÄĽaä‚@ ÷×WWµ ŁFV~śÂJ˙­P(ŠÁD˛vâ2ľĂo9lŠa¦„v–ééËŕ<2¶_bĄ űĘţ”­'?ő$ă'â‘c«EÚ̵Óaţ÷¸ę¤â2zuî}ńďŘŁnŇ•Ą-4Kă¸8ˇ™†®p9ň«·ĎśĎŢ e»( …B1xP)2IˇŔŚBłŻ[ç›Fą#ęm”¸rÇhčžű'Kw™¸ż–řâ`iYׯ9Ęő„z’Őď}±¬Ŕe˙Ěę×l屍öĚĄd´>~ŁłÜkTJŹ™† †^x ĹÚâăŹßBˇH{Ę)gú)®—••˘®® ¶ŞŔĐEŚľEASVÖ˘nd=ĄŢ¶ÚlF‘W*L»Ď1YşĚ褙\˙Şă†tăŇź˙WżyŐŹFJÜś°V[.Eö˝›©2µ¨ť{čÖ=1…íş¸'Ő…M8b“0˛hĄ),‹^ćX6ćec yş).óÁŐÁL7GĚx‘sÍ2Š"ÂíĹĐ»óĚl›VD9ó"Ě}ľó m0Ł—ů´ŢuŔ* …B1‘¶Lqq±°_FYŚ5MĂŃć.ăą—zđÓ= PĐ‹ŁGú°Ëöxëý�–, ‹éą—5l˝™OËÇř±Ś´Ž~ü…‹Ăřî‡>ű:ŃjŘy‡ŚŐ» …€WßęÁĽ…˝ŞŤ˛C†LĎ”(;FˇP(‘tŇy§Úź}uµu°hľĂ‚ŘŹzu×waô”5¸vW}ś‡óžů7.ýĹąđbŰń~Ľvf-Ny¸oĎÎQ~ě4Ůqrn:¸RĚ’qîă÷ĺeáf‰ëŻ“WíÖůäQ¦é‰}iég­/ëܵㆸFgÍÔÖQ¶‘BˇP(%0S$…ł@0ď:'čş}›M-·‹¸ô4öO§~ÍQ®{Ö“Yýšc=i=˘{9­Ďµ‹îô4öO§~ÍQnnĚ3ţ›R1ĹŚČ’dTBˇP(ë ™:8íäĺĺ‰ćži2)XjŘm$B/®A~wÄhľ}čj+Ewg;ŠJş…ô*Ş-‹NşŮ&;}|QQ™C8–‰Đlu1†4Gpé¶×ăűŕĹ/g c¬ű"ÇęƉɴX„X!+ÓbŃ]7©ž…'?Žâü3Şš]T¦Ys®=«eÝ€?bFŁÍc’ů´A±­Ëí˛Ě&6 ®.‘ÝLKÇŞ3"ŞŹť[4›ÖT‰çĹçÇ)[”RˇP(ŤLěvÖqÚ`R7ľťD8äG¶đ#ßű8€ć†đŰ_aÜěÚׂ »ď\€éŰřńöű|ôi]Ýş¨›Saˇ†IăóŚsÎÇ”Éy¨©Ę­Ú¬Ń°ťćĚ ăÇy!!üę±ĄŻ¤°lúÖ~ě¶SJŠ{g,YĆăOwcU}ďSmćç1mJP¤lWéŁ …B±®bČWUUałü‰ř.´ ™2ĚEO–d?Ýóččj˛Oyfő[ńúPś˛çáđ˘®Ě‡‡Ž®ĆźuăźĎµˇ±ŁoS‚WűpĆŢĄ8|'Ă˙‘ÂdşúŐ;ŃŃô16›Ö�Ů٤Y}Q1ˇY:â0{™ë×K)4K¬gQ×tL«¨Pz…BˇP(Ö!”ŔLá S,F":ć·Ż@{¤'¶ÁÍ~t”ë¶Ugtłč¶Ă´7őkp‹n–ŞžÔőŰg.ŃÍ’Őă=MsśżŽTç“^ýćZug†Ś®ŽIe°+ …b}&ťZ3M&;öňPUYáÇă‡ía“·ęŤ&ÚŹ5®ŞÁđ±«ŕË ĂłeM+J2ťYűôÄ/kphéűŘu‡ođŔâ}1kŮTdn‰Č„­ŁYQÍ4+j™u:5MřÍȰYĺ÷VjJK\f•q* Ą!sÎĘܢ–YÉLˇ™uMö˛hłŘ¶PK)ôżlÂóňÉô¤0ÓĎ҆ˇdř”–‹´`2Íi*”M¤P(ŠÁJŞ(¬L=zô0ڍ]ŠĄ«& ·44FpŰ}ťŘyzöŢŁůYz‹‹4ě3Ł3v)Ŕ—ß„đţǬ\‚ŻY?†ÄD(ô6ć!ĆÄůĐş<T”k0šy!+*ŠoĂ)Vc= µMÇęú0V­‰`Ť1qŢŮ•hű «óaÇí °ĹfůF˝˝ł ŤüµwzđÎ{„sÔ§<˘n FŤ*:_“EśWöŚBˇP(*™ä)¦ÎĎĎĂ–uáů űôŹ°Ě¶ŻnúLnť÷†•ŐâwÓîy›ăßlS„=¦ŕ¦7;đŔ]čĚAşl;Ą† tčĹ8qŹRÔ”¦ăß˙Ţă¸ďÇ'ńÚĆó[L§K41ŽžŽ¨,v\Üş«ĐĚ»žŽP5P±ťxÖ™BPöŽBˇP(%0[ÇÉ4š‡}F/#_‰ôZTĂĄ9­ö4[Ţĺ6cQtp"‹t”ńĹě8ŐâĘc‚łŢŐŻYőK[:3Á™wąÝ`ÖŇ]fZ˙Đ@­”ɨW…BˇP(ÖRuĐ–”cġř|›*lú–9â“"§p  «ŞQ7˘Ń4$t3‘¤@ŞĆŤ[Â0$NN n•éHOhÖîǸö.üµěQ|?y$žX>ł:Ç#¤¨Lł‰ç啌.^‰=«?ÄU_0¦ÄÔ­“â2žoˇŃ“Zjôčúus=l”I!™ĎQ•i°…Q‹˘qň!¸şÜ:7źí¤iČÍ*ŽQ#†ĎĺČóĺĹtU° …Bˇlô& «<–QX‡ ©ĂŘßćD`FZňťB¶Ďž…ŘdĂě݇L·ąÝV~Śť‡ënëHpĄP¶`qXL^HQXOť·4 ţm±™ő–ďg‡đÂk=XSźŰh%ăF.E]Ý&âY’ŢŘ1ĘR( Ĺ@ ™˙…PT=Ňx·ßhĹ|ď˘ĺq{%—Ą%,ŕmfén3cÁ?żĽ«ÚpĘ^‡#µe>\p@9NšQЇ?ęQÍfŻ ˇ7L–/ÄkO/FuIz¶ËµŻŢ…›g˙'ÔäˇĆߍϤغwÚLY–†đLě¦'ßÇ`në¶1qD4z™ĺżQ( …bđ˘f Og&fáp_´ĚO4ŘăŇ3štG±}˙ôŇijŽňD#?˝t”ÎrÍQ®»îźyýŽ‹ŇáΖn=örÍQ®ÇíźNý“ ĆĂçóŠ̲1Ň•aŻP(ŠÁDo:hó­ĐEE…"íbŐĆc1oó5řU3ch‰ö¸«˝­%(­čŚÝŠÖżćŠ[„ł†¸H¦É„f°ćm~l¨­Ć_kĆšÚrĽÔ¶-fuŤÇ˘žáHć¨\ ËƮĆŋ±Sů—S°ĘÜĚ3ĎKŔ¬¦¬(hL!‘Ş2.b™= f$Y™c=Ĺ,¶¬/‡Č/OłĚ5-N`¶ÔW…ŕI¨Ş*ŃZ“6O¶ D[§'DW8 F0FHŹ@GvßkĹŕ…ßý|Íż/~-Ĺy~ú˛O{§P(™Ř5~ż_Ř0S'ŕÇ«ŃĐ2ą˘ľ1‚ëÂQyŘ˙'…?6ű´ÔĎżÚ,Mµ¬„e~ć Ćgţűbd #ŁQXöăśŢu»Q[µS& ۆĎ2]˛ĎFŮ3 ˘ě…bÝ%Wůęęjl]´>ęž…âűA q¸´ž°ęqtÂîÎý"†źć–ůŹbĺÓkđŻ_žT0ÂEfśľ[ÂĚŮĽ7/€o—±ş-ą(}hą›Žöc§ÉŘeJ6™~—-ŰÖ3ź¸Ď®| #µRś0ú[Çާ̈́Ց¦Ç÷•ŮöŃ 'ϲŔNآŞjĐ č•=Ł ĘžQ(ŠD”ŔLá Ťü@ Ž`ćuŻN> Á.´r*Ń\÷Ź/Źë’ŤŰßEpćQŹw:J·ýµÄ—”発~ÍQ®'Ô#®3ăú†s’tš,* bBő8ŁĂŐí,w’,Ý‚BˇP(ën‘ĘĽFŃ2"VMu††o÷¬Ĺ¤ŻZKŚĄé>4¬Ş‚ż „Š­tSŞ%F€ÂrşŠÄtxF5s‘%šE·˙5 A'-~ (‹ S+Ŕ˘ŕ0Ěę'ŞY†ÎHQܽذp‘¨`#c>Îż %ZŹu š),“ËâfDĚô—~cňé±heÜ'.Z™}]ł˘’Ą(ł§Č´¶…; ¬/…©Ó˘çÁ(şšu^”ŹĹ#QUYi<+ź¸ éĚş­C'e[¨ á�Âzn#˘('üŐNě°ͧĹř~äÍŇĽ”ç ç¦BˇXżH¤ĽĽ#GŽŔ„Ńłs*0“,Yi37ŰŘŹźîQ`ŘK™ýQ5g^îĹY}ţü¦LĚĚ ÚÜÁ«ođů×Á¬Ĺq©8ęŚ5eee ŰSteĎ(ś({FˇX˙ČDxĆcWO1“ŚÂ,M-,sÝ”ˇ°Ě¶čy¦ş9,ďÉUŻcţ=KpăŻ˙‰şŠ¤ĂĆ#óĹtÜޭ[Ç’Ć0š:#čč1?‘é/ťlLMĘ‹˛kß×´6ŕ¸Ç˙‚Ż:ç‚>”s†7~9˛1=ÁXLhć˝OĘg ývćq‹Ú7EĹĐŤÄ >ëtYŰöޞgN”=ŁP(‰(™ÂŐQMŹŮĽPUQłÎa?FĹaqĺ6#ĐnőŰmC7[5eýv—žv=ɢ§‰ă¸r=ăótŻ_s쯧¬'˝úí˘»Ä—˘!Ý5¨W-˘—)áBˇP(éCa6›ë Z‹ES‡ăűéŤöŁé˘ÝĄŐ°jy5FŽk0w᨝‘™Z‚k2jĹ et2™SŽ�µŻŰçë÷őEňP‚06Ô–aĂ’Ąć¶R Â}yŠ´'č‘NÖé“SÄśC^śfĄÁÔÓ`z-‹sBr‘™-E&Scv/­‚ń!š–SF.ł˘™-ńW˘˝n46V+˘ĚńyŮĹe1˝Çľ6; çe7ŠTĐąÝj|W8•çˇĘ_"~y ĹúŤôá ¶¶“ĆÍÇĽ% hj­E®ˇťôŐ·A|3+(Rfîş}FŹJÝaČľF/[Ű<˙JN9&é?]¶"Św? â«ď‚"]h_QUŢIă#¨®®Ď 6_ޞg™ ě…bý"•@žâj ä§/ŘsôĄV©žPOď„e¶}u×#m»é G}Ť˝9çnu4~·íĎ)e•,˙äy\üŃ-hG—8Ç-óJ°ď°ą¶=2ŚiŃ é籏Chö}Ë.Ř`ňA# WöŚ"”=ŁP(Öw”ŔLáŠ}Ń<?q”¦› éRíVŐlť«Ńą6ZVők¶ú­Â,Ď3ľ\sśżže=±SŇda´\ϸ÷rÍŢu-:‡GE†ť®Ąqé1 …BˇX_đ-›î(ZÚ&ůyů"BÖřńăđůŚŐüUň»#BŚĄqk8«—UačČfřĺ‹â¬¸hfş» ĚN*Á™×>p[—â3ÄabŮfĂŘ·_ĶîŘKřWf+wŤ\ć±ě™yĎzVU�Ý~KL¦ÁžSłlł·Ë'bü¸q¨©®6žScj˝JŹą¶i7śPŤ†óRĄWPdťŢíˇÔN̲ü"(ŠÁM6ö‹Ű¶ŠŠ ażLX0M­; Ż ŕęëďBb5";M÷c‹MüžÂ­×ŢéÁęúµbĺęŢŮ˝vs÷—đvÎ]Ćűđýěţ‰¶6iĚ÷0aĽxvN’u¸zmëďNZeĎ(z˛gŠÁM.Ňd25tyy6:#WŽĺz}Ü~i Ë€$QFe™Ë$čĆß?»Ď}ű.;ŕ\Ś®µÁ’ú8÷ąKńqÇwŃóË×}¸pÂbÓ7”pĂĽEenű*ôĚŹ‹+3ţ_Ő9y•Űg+ÓäôĘžQôeĎ(Šő%0S¸BŤüŻ[[#bť”™ĄŁt–kŽr=a˙ěę·ˇ™¦ –±`Ë­\‹Źnf+Ęľ~ł ™,Ătš^ők SK'e9ň5[Tô3…BˇP¬ËxŤ˘Ą`‰‘űÍ(fu¨›0_íÖŠ­_^-ÚkMDüŇěńŁaM9† k™@3b‹ff}†ü0/1Y:Ű“–Ůě3W±™}{Ľ-÷ůÎmö2çľ$.™nŠÂŇbÚ–…îN‹–EbűŰJl*‚1ŤăýtsÔ¬fE.ă±_TŤ@Oí0Ś=\¤ĐČ$zŮ@逵ÓěPŁb˝†ż= Ćw) ‡ Gf) ĹşO*!š :ĆĚÇÜ%ÍhmŻB_ĂH_Ź>Ćko°Ĺ&ůŘ|S?† ‰µŃL­ůÎ{ ŢśŔ´©ů="ymM}DDfűňŰęűOÇčeÇvŁ®®6:Hp Ú-^({F‘ ”=ŁP¬{d*gšďqăĆaűŐáIĽ-wŻ"ݨeą–ĹWÁ'=ł°ĎcG`ŻşíqÎ^ÇbdőpôKWŕŇWnĆëő!pܶýŠ °Ay‹ąן•L ć!ăżŃ´™˛,Y=îeߵ챍ĎÖI6úľDŮ3Š\ ě…B±ľˇfŠhä‡ĂtG‚XjłLCÍa7ş[çÉŇQµ\łpĘýÓ«_s”ÇżP莏ýöÎŔŤęęÂGŰ{o¶×˝bclăŠÁÓ{ äB€’ ! $„@č$„=ˇ‡^C/6˝ą�ĆÜ»·÷*­ôĎ}ÚŃŽ´ŁşŇ®´{>kćÍ›ŃH»Ú9şďĽ{?żĹŁÝazťľÎoţş<žÔOoçĎiËT)Ąb:هđÜs/ŕ–[nóş_Jcĺççcܸ±8üđC±pႾć /ĽK—.׾ěĂ‹/>‹P ×y!„Dą—Řív•!K˛Ť3 źĎŻÄ¨oë[¦ś*ŕÖŇ”ŚĘ ň apRąö‹ž˛?˝šÉĚö9LúąĘfęŰđb6ó|4ôîYÍ,îšÉ¨{<őŽŕ2”Ĺyd5łŻ[ĚŚgt´$˘uwŽÓXÖ™˝Ěˇ=ZtSš¶ŢjIŔąC±ß¸QęgëŮË*ÚĐÜ=í$ö‘`¸”g(LĘ!$véI#999=z$vîů_­Z€î7ńČP]kÇ’OŰŐRR§2šMź€ç^ŐţFő}ň2r-Ͽ܊źü8Ue)űv•M™äzĆŹřNe/“źY8čÍAYęn¨géżř3ȧ¤¤(łőÔěńřŞvv˘Â»Ë˰éÓXfX ŮXćÖص·ÝŇ7«>Ă{Ď~…ůYÓpî¬aÖ©ź˙°Ź.{WŻ€ŐŇ]Pe8’đ×q›ŃÍäĺÓha¬Ëh潏ٹË[G˘)q–*Ýízęn¨g!ĚH7d`U¨·µŔŢ)´őńÍ.íčáp2Ó”ný çđhwëěÖî0=Ođç71śů8Oŕç·t˙’áç<ţłłY<Ú€Ďţ]í%íůČËË Ş<f¬f*kjjVËöí;đţűK°ß~“qÓMף¤¤„B6–™ňťĹ,II‰Z3Æ–bĹQ 8ěŃ]pÎIs–ĘŚÓÖšRT[~ałł|¦€SŹł™2śuĚPćÖÖi 3öŮş/#ĽÎ<ÚŚýŕa„×ń•µĚlŰ#‹™Ă‡¦­Ú©ăa‰ë|’ą¬3{™n2{gđh”A©¶¤¤$#!!>fł—1xI"…ü^Éď„ô?Ő/ĆRSC† Ć’MR¶»Ę‡Ł·Ů[fÇŰemx{q˘‘˛J;nýWú’ˇĹ[0t°MéłŇQˇč›Ţ‚z†D ęBbŹpäĄTôČ‘#0ďŰ)xÚţľaO Ć2C_‡é‘^O¨±ĚłźŐaĂâşeXüŢ2ľźŤůĹ3pňä#0cô”ďŐň^~µáĽ´ú|´w9ŞěµÎv/§űEž™ńF˝ĺÍh©ĚĚ0fqŤkyďcÜţşňHŚ0Ü´üw(DJ÷PĎHA=CĐ`Fşˇ‹¶:Őőˇc“ ›ş—s Ěpćv„n‰3\ť-ťă¨!ÎÜŻŃx~ŁáĚaÚżëÂkWď[»#čógOłx\żĂëyF&”Ş’Qž3_ÉXଳÎP™ĘŚ444`۶íXĽx ŞŞŞńÝw«pÉ%—âńÇVłž!„PóR\ś3‹YfFşvŤOË˱~vĆUă4‹Y”CJÝŠť&3 ż Ůí<FoXçĐŻ»Ń̨Y|™Ět“©©Ě°čŢG=ú2ś¶Ťmž:Ćmź~ŃŔdfb8“·Ŕ‡¦ťZD6Ţ™­3{ e1e}SfväâŔ±ŁµźE;KcĆbö2)»Ŕŕ%‰$ňű%żg,Ç@ÉÎÎĆĉPS» ĺŐ`µ%D‰ í3l&L¶Á×Ţ‚z†DęBúÁä“’’Te–I[GatÍlrěě~R|g-ógS;fGš4řčgrP…Ł/î}/hKę»I–T‚1ŮñoáXŚ,,EaVňÓsꑧލj¬Fec *ę+±©|ÖTlŔƆíŘŢş­–v×uz7ÉCé¸`ÄZ ĂĹólffmć},.źšçq]Ű;š&š˛ *Q?SçSGźžz†DęBH‡3Ň çŔťéŽD¤9’ФD­ˇ_ă”ĹM×[Ľ”Ó ŢČeŘa̬ćď<ŢLhjźĄËĽĄ;Ä<.פY®kfá!îĚŰ .4Ă{dŹÇřś‘ęZuńŢ_>}ćÍ;ČtßEý ůË_ńńÇźbóć-xňɧpţůçBČŔ¦§YĚ$™3Č™‚ü<L?ËŹnAŃÖć®R™‡ËüÝÔ˘ Ţơ¨¨Y™Ó:]RđĚbć~3Éü™Ě<MiŁX7ł™Ç~Ŕ‹áĚK_ź&3·•N“™#�“™Ĺ•ą¬agÖDXâăTĆ2¸˛–YśýâÖ¸DĽ;t4ĆŹ’â"$''…%{Y_ĐhkUiňaoC^Yý1–ďX‡Őe›QÝ\Ż~tą©Y_8sGLƱűĚĹě"˘#żgI–xd$pÂ!±HOő‹ľ.÷Ę!C†`ŘĐ][µk7O‰ĆŹX…Ă ÔĎH×5=|í ÝC=Cz ęB&b=z^1Ű{`Cg kĆ2ĂŞĂŰÉ.‡ś±¬Űš¶Ň‚v|ßľßWlÇź¸őđ›ě­3k˝Ďnťˇšż ­rŽ9uÜŐÁ­Íc’ˇĂGźçˇlf÷ă: *{ٸ)ŁŐĎ2Zˇž!˝ő !¤?CY?'Ô�ĄdjmmĂ({.ľ‹+ëěÔŮŮ|ĂłÝýIôvXç¦˙r‘ľÚ-íŽnýC;żĹŁÝáµpç·¸Ó04Yz˝fí×CQ[ †ĺUÓ±”ĺ,-- ×_ Ž>úxU2óŤ7ޢÁŚBHČčzHeŔ/)1 v»C‡•boYľ8±‡>şIŞCů¦ěÚŤ\üUí-‰Ř»7 Ĺ%ÍŹó].ÓáĘiwQ¨éĚl†6x>zšČ,îÄâtÔű�݉™L°[*“©›ËěÖ$ÄĹÇI±QXěNs™˛ă«u(ířÚ„1Č,.Ä1Ł4]š¤2Ęé?—žĐŰ:Ç®˝ŐÖć€űKŕňć%ŹăŤuźÁfď0Ý/ËG›żĆ-<‰ă'„«ű™Řdę}âD~ßŇ’Őç‹200‹ű¤§§cҤ}PYůvW CmC>Hß“—]ˇ%»1aÂAęgäI´Ćc¨gHoC=CHě.ĽTf‘ŇŃc·ŹŔ¬ň‰řܾʇŃĘaö`Ň-Pc™űŢPŚe^.Ŕě2Ěű9üËô•9 8¸püšĘ\ۆ>¦F3ď¦2łs›•Í\]s0’˛'¨RíňłT˝ŁĚ@O=CzęBH…3bŠşš›[p@ü0¬rThâËn®/Źv×8§i‹G»Ăô<ćĺ"}ťßâqĎAŇŔĎďŢßbhwĐ?ó[<Ú¦çQŻ3Ŕó¶¨Ň şÁ,Ka†Šü®Î™3‹€;v˘µµŐ´Lfcc#^{í Ľ÷ŢběÚµKŰnBqqĆŹ‡SN9 3fLô)Q]]Ť‡zź~ú™*Ń™““Ť#†ăÄOŔ!‡¬2ßô„ŽŽ|řáÇxőŐ˙aëÖmÚ @ňňr1lŘP{ě18ě°CčvŚĽî3Î8Ű·ď@jj*ž}öż*µ¸ŮűpÚig ĽĽBťóąçžŇ®?„Ňß%ČiDĎbć,•™)SöŇ5uX~DćţŻ\™Ç\>-ńPi۶¶DěÚ™®Ý_Z”Ü™ÉL7𩙍fF3ŹŇ™ŢŚdđ¶n1Ç<ÖŤĂŰ# çńÔ$®ó�¦ÚĘ«\&LMfbǫߡ›ËDĐĹ©`¤%®ó…8:ŹŃż9y?u2˛23śäĚ^¦)ť—|p˛/¨Ő‚IßabŻŻý|ó4µ6›¶ĂŃ—W¤ýŽ&ŕÇ\„P9đž_`W]ąZ˙î÷O"+ą˙§đ˙ó[÷ă©oŢQëĎśy=ć ß×µŻ˘©3˙y®Zź=lž=ëô6Óîř)jZęŐŚčo.},¨cĺ÷M~ďXŠŘ¤§úĹŘ^XX±cGˇ±i>_ąĄ2ű)Ť9iô -1EE].TíËěeÔ3Ń ő !¤ż‘™™‰ ơ˘şëŰ·ˇ ő=4–y¸µ5–uŰňľáîĎň~r˙ć˛�Ęaź,ń¸vĚŹf3´©CB8ΰ­—Íl°b]ÝĚš3Zü,Zˇž‰N¨g!$ö ÁŚ"ć•Lm@oIńş§ źÄíp7<9ĽdłđÔgí.s«ÝĂAŕyüźßhâruÜýp]ý}—Ó ýü–î_h‚|öɡ‚ŠÁd0ëO&´‚‚×zuuM7cŐĘ•ßá˛Ëţ¤ö3–,b:[´h!®ąć*•Í»víĆĎ~v2}éYK–ĄK—c˙ý§áÖ[˙¦ ˇPQQß˙ţŹX»vť[űŢ˝ej‘çxôŃÇqűí˙PłştÄT'×ţůżDKK nşéoř׿ţŮíüwŢy·şVáĎţ#Íe„ř,•™`×ČÍÉĆ”)ńekr÷¶aźĄµÎŠ”*çč4™öŽěŮ“†ÜÜ6í^`5>‹ÓTfj4ł¸Ö]ř3ś…·6·GO™ŃŚfŇtß§__“™»ÁĚ֞Ʋ\Ř­Éťć2KgyLy“ăś×­Ž±`cq6ľ1Ó'ODQa*S*şÔhŢUĂô¶ö±9ě—^řĎŇ˙á†÷EWv; ćŤśŠ“'/ÄţCĆŁ$3_•ŁŘ]_…ĄŰ×ŕŐµźŕÓ-+UßÂô®{ąśăŮ•ďăĽYÇâŇy?Čď]VB*,=ËřG‰Ě´ŚÜ;÷Ůg‚ú;yĚr|óýÜ�2hH dß1_cpI’ú™čşĆ—a>Z ž!}ő !±C¸˛ÉăŕÁ1jřH¶yžíř�]Yááß4¦vř0Śą5j,soč+c™Ţď”ô$ŚHoDWîĆŻ.ĽµcA“ĺç8·>Ŕĺ'ačđ1Şü·®g˘-{ő é+¨g!ýĚ OÁ/ł ĆŹ‹ą»wˇÉnĹŠ¸˝ i1<8zXîť:Öâ1¦épÓɡźßâŇÉ– gŢŰ WdqÎěyşpX,ú[ęŢÁÇy˛mi^\Ş(ăzś9+V©©é2ŽI61#«V­Ć/y¬V«*«u䑇cćĚČÎÎRĎ^~ůU•%lÉ’•íÁďőZ~KŚ[W\ńŐO˛Íť{€ë</ľř˛2«}ýő7¸řâKńČ#]Ć«ˇˇçžűse$¦M›Ş®·P`CŰâĹKđŐW˰yóüô§çá™gžTłŇuöŰo2Î:ë <ţř“řňËĄxýő7qě±G»ö/]ş ŻĽň?µ~ôŃGbá „·ŕ§ç~y”¬YŇŐžěPĆŢń5uXq” ™µ6”ţĐŘY&.sW\çikj’ŃÚŹ‚üví~`ď4’©ł˛—‹k]ĎŽćÓd`,ó4‘Y`ZÓ‚îmđ8ź±Á]¬¸ăa2koMFĂî<­!^•Ĺ´8ś%1-ޏÎrq®ţ9©xoâpŚ9#GSĄ1“µ÷Ď{iĚhÎ^Ö`k ¨ź”[0/Ç”âďG˙ÓK'të;<·D-?šrÖWlĂöš˝X4f†Ú÷ĎOžĹż—ľŞÖ˙ýŐ«1Ŕ|fĺ{řÓ÷Şő?/:Ě9$8ä÷/—łd ‰IzšĹĚd·ž={&š›?FUÝFlŰ3¤÷1č *¬Đb ÔĎÄŃ”˝Śz&t¨gző !ý3-“””„‰' ĽĽ3vc™˝svwŹ™;—Ăě±Ě´ŹűŽp—Ă4öËv¤ŕĎ㶸÷Őc8žăv> cŰ>ŤfľÎ¬©ť‡ËĚŘgĽúŮy-1ę™Đˇžé9Ô3„ţ f@WeĆČ´©S·2CmYXż ő–¶®NFŁ•ĹĐhśMbqßŐőđ8Źg»ĹŁÝ|ŠJđç7ě0̱ř˝_íŹv÷o<ˇźßâjwŽ;şő/iĎE^^^PŮËúRňË/żRëRňҬ˝˝ýëuĘ\&_pîĽóVĚš5Óíř˙űżÓqÍ5×ăÍ7ßƷ߮ēO>…łĎ>Ëôą$ó—”ÄüűßoÄÁ/tŰwúé?Rćł>řkÖ¬Ĺ3Ď<‡3Îî‹Ă?ţq»Ë\vá…żŔyçťă¶˙ä“OÄK/˝‚›oľuuő¸ţú›p×]w¸őůĺ/ŽĎ>ű›6mĆwüó礲©µµµáĆ˙¦úaí˛Ë~BéďřŇ:Á”š·ťRS’Uą)7üůIvú yĺ­&&3çÍşĄŮ‚ť­qČĎoGzZśvúÎ0•Ę]F3c&ł®ĄóŢ›ĚôG;MdĆ>0ë‡.çf:3vrĚ Ďă y©Ú›ŇXť‰ćę,•µĚ"1»¶H3ył´G‡˝łDf<P—ž„fŤAΠBLťşźö~ĄŞ÷ÜÓ@j¦Źľj6u´űíł§ˇ —˝ń/WđRJ<tęČLNó{ě„Âáj^üîÜ©0uN™Ľd`#ż `Ň˙ń— DrŚRę»Ýú-ę›rQSźŇ{ädVc̰ujB·ŇќɌz†ô%Ô3„Äá,óť››‹I“öAĂŇFě´—cŹŁ* Ć2÷˝}e,ë:Â×é¦ý.-jCjś ¦Ć/‹űs ¨,dľŚfŢ kU­đmŐˇ1s’[•”h,˙M=CúęBH9�=|›4i˘6Đ732†á’řY8Ýľ¦Ů‹‘eOVÂŮ5 ęĐ‹sAçâ€űbčo÷ŇnŢßbXéČůŤ×i1=Ź=¤ó[<Ţď×éëüÝŰ=ŢmW¬Ę#ĘâëçČďA´2ý!ć21‡Ő×7¨mÉĘeäĂ?VYĹ„ź˙üĽnć2A2˘\}ő•2d°Ú™Ýn÷úś§žzr7s™ n®˝öjäĺĺŞí^x Á Ą1ß~ű]µ>gάnć21™uÔjýóĎżTŮĚŚ‘îşëţŞ®GLh÷Ý÷ jě±'Ti᪫ţŚĚĚLBČ@ §ĺťłxetJÖţĆf¤§a˙ý§"oxŢ;w0Ş‹´űŻ#q’‘ ńÎĚ\íxµŔŻýŤOFYy::â´{·ľXśŹ"Ç mčl“mč} ű”9Ëańýč¶Äy´Ç™÷±[‚h÷˝t´% jS!šöćŔbÓŢ[‚zDG<¶¸®ÇÎĄ ‰x}Ö¤ćgcĆŚýŐ{ś’śŚÄÄu?3+±ŕëg ´Ů­čpŘýöűŰ’ÇŃÜî,Ó 3c ^‘R |ó^Wtިi¸úĐsA6ňű'ż‡„Ř$Ô7o1€±cÇbÄđRě7v™vŹmé佞2n)FʆqăĆąÚ‰Őôeö2ęŇ×PĎŇ˙ńvO9r$F Žăćjł<TÓá¶Ň˝źéA†5‡Y÷~Íeť;^Oĺ:ťł‡YżQČŔ™ĂvZôpoł´uŰöÓfńśÍ‘„OËNðáŁÔĎĘ_iĚľ„z†ô5Ô3„ţ3 p-5qâ>jćČşuë‘ŃśŽ)öˇ*+Tąµ;ޱµŘW‡VK‡:NÎh1ΖpiI‡ů$ ý C»pKćŢßâŃîđzžŕÎońčďđ{žŔÎo1ôw|ßŮŮ´alm yR¶łÄ…Y âţ€”t”¬aFšššTYĘŹ>úX´ŻTmR¶ě§?ý‰[żwŢq¶U†1oČŕőŹ|n»íNUţrůň¦f4á”SNňzÉžvě±Ç¨•bl۸qĆŚŤ@xď˝Ĺ.c›”ąô…ě—ŚkÂŰoż /üĄŰţńăÇág?;<đoUşsŢĽńÄO©}'žxĽ*íI!Ä˙LZĎR™‚] d:Ň1sćt|ŇúŢ=8üŃÝn™Ě¤ ¤];&Ρçł µŘą;ŮŮ6dgvĘdę3HŤ‹± č´wőďĽ&KićYĘ<=űúZwľ ®kpo‡)ŤŐéh¬ĚR&2‹EĘ_:MjŞ,¦!s™ł„¦m©ńxiáp´ÉĂ‚g#?/Éɉš®Iôi. ¦4f_5[:üŽö6Táőµź©u)śzÓ‘ż :xůCĺv\řŇ­°Ůmj{|ÁpÜsŇŻy‹¸›«v©˛ýę>l¬Ü‰»?{Kw¬EMs=eŕ؉áWsNFZ’y6Ýƶf<˛ě Ľża¶TďA‹­ ůiYQşΙy´zÔąűÓçqŰÇOąÓ’GŐ"Ü{ňe8zÂ\·ý+woŔ“߼eŰ×bOC%R’1$» źŚźÍ:ł  v×WŕQíu}´é[ě¬/Sź•1ůĄ8rÜś5ýHź?ËşÖF<ľü-Ľ±îsl«Ý¤řDĚÔއ?,<ŠF \Čďar\"!ý‹PJeŠY~öěY¨«{3&~†Ą«çŁÝ:0ł ÷‰ íľĎç(.JÄŚÓ]ZŇÁč›Ţ€z¦ ę™îPĎB< g™o‰çOź> 5558˛n6^ëřÜeÚ ČXf˛'hc™)†~ľ_ô±0‡ź..Łš—.cşaTĄľó%C›®ď}üe8ÓMfł>|¶÷$Ř“G`Ú´)ęg叾Ě^F=ÓőLw¨g!$xh0#Ýđ&ř *AII1ĘËËU©@ɸ”ÜśŚˇ(ŔüŽ´Y۱ł˝›µŘ`©ĆKcWĺHŮL ŤşÚ˝ VzŞiŹv—yËŐŢ%<ťçwt˙ç·ÚAźÇĽÝâqýŽÎ#»JÚłP<´P šÝ#ÖřčŁOÔâ‹ Ć㦛®GFF†[»Ľ1HKgša4”ÉqfłĚĚ Ś5Ň×iÔ_1 b2 Ô`¦_«ţ÷ߚϾăĆŤENN6jkëT)L3$Ú'ź|†µk×á’Kśĺ0ĺ3ü»ßý„2Đ$x鯯n2Kę4çdgâŔPŮ$ßý)přc]&39Z=Zś™Jă,ÎěŁv{jk,¨o׎·!3ÝîVłËDĂşC·ŚsXMÍfş8Đ㾌gƲ®~ť+^'»z=ޢ¶ć$ÔWfÂÚś"ůŰÔ5«ln’-ÎůúU9ĚN“™´µ¦Äă•C‡ˇ±$sgîŹÜś¤¤$#)1IÝĂpě+]dutříóňęŹŃŃŮoţ¨i5l"‚A ?}úzÔ·5Şm &>öW!+9üi÷;´_ä/·­ĆOź˝m¶®ŕě–ęÝZĐń9Ľ÷ĂRĽxöÍHOrϨ+Ď3źú+Ę«»]űëë>UË•‡ś‹źĎ>ˇpˇOâľĎ_r}ną> ®-Ű‚gľ}śň'4r ÂÉ»?|…߼zZ¬mníL•ĺńŻßÂżôgL*î®·TíVďăöÚ2W›śçýŤËđůöUxî¬.ů=$„D/ˇęoë2)mţüyx÷ÝĹŘÂX¶fžö÷=$üÄÇu`šöäY1oŢ"· á(ŤŮ[ú†zĆ ő ő !$ü˘]ŇÓÓ1{öL4ĐŚ Ôâ Űj·sŞ$sYPĆ2Ó>î;Âg,s®řy:,LJÇĚ<Ďěen'wŁ™ĂmlÎü8ç11š­¬^ť-űaáÂęgÔőt=×8‘€zĆ ő ő !„„ Ěľ“-Ť<Š‹‹Ő"ŰÍÍͨ¬¬Ň–J•Ijś-cp¨&jŰ›±ŃZ…-¨Ă–¸4X¬&Ö=ł—Ăs\3d#—GJ0äŤĐĎoqii‹ĂcgŹÎo8Ââ0śß˙y†tä©úöÉÉÁÍ<îO&´3Îř1.ąäצłĺwS(..ň{ž˘˘ÂnÇy’——ÎS‰@ŃűŠq,ltEEEĘ`¦gpóD毹ć*śvZW64)ŤéĎhG! 3ä+ĐéĽßYĚ\íoöĚĆgź‰w~ Ńi2łtÎč”%]帝Ö0;6;ŞŞ,¨­ł#'»Ăi4s=ŹľX ëp­;[=Ífîű]›€wĂ™q˝ë…»GJ»Éş›ĐlÖxÔWe˘ą.Íe,{ťĚ°µ(›ťĹUjÓď4™Ie‚ŠÂ|pč 4ÉÂÜŮ30xP RSĹ\–¨Ę‘J kăĎĂѨk¬v˙ŁeŰ׸ÖOÚw‚Afťžűě jF¨©-9ý/(ÉĚG$hµµáwŻÝ…˘Ś<ühżEČOËĆw{7á…•KTv}ůVÜţńÓ¸ĘPúA˛ý]řŇ?\ÁË™C'â¤É ‘ťś†µZ˙G—˝Ž¦öVÜĽä1Ě(ŹiCĆă°q3µ@lľx|Ëw®SÇŤ+† ćś Ö§ ă:˙ż~÷~ţ˘Z—ß¶cö9łµ °”XĽq>ŮüŤ:˙%ŻÜŹ.Ľ7čŮÇŢëúĺ‹·¨×'Ď{čŘ™1tX;lÚó.Ç7»ľÇžúJśóĚőxëüŰQžă:¶ÝfĂyĎßŕ ^JŔ÷؉ó´ź[~¨ŘŽwż_ŞŁmíüBb“@łŃ{®geeáŕçăý÷?ŔÔ _â›őhš&$|X,vL˙ ó´×‘ťťmŘř`k4čęęęBH°šĹĚ×~ăzII ¦LٶŻ;P×€őömˇËş5o,Sk>‡Ńn |u!’cľßIŠ6„{íŘŘTffł¸_[÷ă8w§Ńl{Ă|W˝űď? ęęĹĺż©g¨g¨g!$ĽĐ`FLń7ŘŞo‹YeŘ0Y†Ş}uuuĘśSVV†ÄÚ:"ł::şĘiÚŞ±ŃRíqő°Y uĎŤF+ăȨá|—‹ôŐnńhwöţü†ž±!źßâŃîţŤÄáń´R†*#QJŠűlObŮPvÇ˙ŔĽyąµ}řáGřĂţ¤Ö%C—·RĆ/Ąţ0d{ű˛«—°ôEGGĎ„b ?«@ú-[¶Üm{ďŢ2BČ@Ą'f{ă~ą_ÄÇ;Ňiî–’Žs…Ż–®Pĺ2§żUqß5†ë®Jfvf3“m»2šĹˇ¦ÎŽÜ줧:´ó;ÜLc®le.óW—[¬Ëlfě Ŕ­­ó"÷ëń\×·ác[oÔţoo‹GCM:šëÓ”‘Ěi-‹sf-ëüOĺqstší´ÁkgiL Ş8Żž0 ąię˝+).Ň´L’“’´{zĽŇ6Ć÷Ţógák;Đ}‘ĆćđŻÖ•os­ďŻďt¶VďĹ{–â°±ł0"ݤűąµ@ŮŻ^ľU;~«ÚNKŔ}'_† …ñzďfĽ¶ö?iľéěĚP©lŞĹDí|Ďźu#Ň“SUŰ™Ú2äüZ»áĄUâŠEgk×ăüů­Ň®EJDĽ|ö¬ëgqę- 6Î9§?ůä¤fŕk-č'L)? ‹M ŠęĚSµ€©,ž|¸ékÄ[âŐo˝ĚF]4fşkß93ŽÁo˙w^Yý1Ş[ę´ŔŕW8eżŃS$hyů÷¨GyîűOýŁösęĘz{ѧâ†÷Ĺż—ľŠŠ¦üëłpÍáç»ö˙gŮkŞ …Pš]ŚçršŮ¬#Żůěg®Cłx üB˘›`ô‹Żmăz~~>ćĎ?Pű^ý1&Ť^Ő§kűh2 b.›<fŠó+´8Ć<ő^wíó>đ­ú†z†z†z†Nüio}ĄzI}}ŽŢhC­6Ć´ÇaČŔäĹćđşáŢŕ0ÝoŇĎ{ČČ­C¸ŚezĂ˙e'`PZ‹a€¦2ł>xĽ�Źël«l-ŧ{OÁ1c0~ü¸®Ač–ľÓPĎPĎPĎBHxa‰(Ě„] mž2ɦ%%çÎ=�‡şH•ú1b¸j–Y…YcqNęţřCÜřqÇD̲ BAGš|tĺěpč‹s�VĎúŃŐŢąúŰ˝´»ísµ[ Lž7¸ó»®ŐuťŻç ţüŹ÷ˇ«_Ş- cóGhŃSU°b=–Lh .Ŕ´iSŐú·ß®ÄâĹö+,t ²˛rżç4öя󤪪گÉLJČęł™ůCď[SS‹öv˙ł"ôçńv­Ržóî»ďU뉉ÎÚî·ŢzvďŢB¨ô$če,E-(1B‰!*%9 yą9;g˛‡äă‹“Š±ff–ÓhĺGśk‰ë\śŰńz;´�Ś-A»Ç$bűîTTÇŁµ-®óţç¶@_GśÇľî}Ýúö«•búŇ×]Ű–®m»Évg[c]*önĎĂž­Eh®ËĐ^c‚zňh±Ç«×, dÝî|”Ĺѡ=ź5ë&dăŐSK‘98Îť…A%E*sYjJŠzOEÓßk_?“hĆá;¬¬¨kë2"g¶žóěu¸qń#8ńŃ˱¦l‹űy5xĹŰ÷«Ůź‚ůţ~ô…®?ţf<đĺ+¸ŕ…ż!Üüńŕł\ÁK DN(ˇÖkZęŐĚPťş–×ú¨ü!®ŕĄÎěa“đĺĹ˙Ć׿} ?›| †‡~tVţîqĽ|ÎßÝ‚—:ÇOśďZßX˝á`éöµŘ\µK­źµ˙nÁKť?|¦ëçůęšOT°SçŐ5»Öo<ę·ŕĄ0ŁtüjÎÉüBújÉ81ţA\¸ űďóâm =#>^Ęb~‰ÁE»pĐAs1xđ`׾h5Äűz†zF ž!„K¨eź˝'ýfÎś‰aJqZÂ" 3;¨Ë°ĺnsn¸78ڇwĂĐĎ�˛–9ş?•éé|ôó¸Nů/ß‘ŠËĆlô,ůťNÜ6L¶˝´Y,č^‚Ç˙qµmĹXĽëL—búôýÝ&뻟Ţ˙ĎÓßqá†z†zF ž!„đAŮ�"”Ô´šĚĚÚ¤lcII1&OŢ‹-ÄÂ…ó±ß~“1dČ`äefcJÖPś5ĄĚĆo0ÇtŚÂ¸Ž<$É $śšZn÷¦&.x1kŮn‡ĹĂÄüyě¦íÎë´{Îz|ţ.łŮ`[. ňóÜĘ)Ćr¦˛`ůío/v˝Ţ»îú—Ę’çÉčŃŁÔăš5kU9W_,]şĚµ.&I3äë×ßçéĘ&ćĘ@ŃźS2 }óÍ·>űnذQŃý5ÜŐW_‹ÖÖVUôťw^×JÔő˙őŻ×”‰ŤBo“™Ó”ÉLÓ;©©)ČÎÎÄÜął1fÔ0|}LŢ˙Q1Ú“â•‘K7]YĐe*sšĚÔ˘·Yě hjLŔî˝NłYeŤn63šĹŚŰ3™ův÷6)Íh2sÄu3—55&Ł˘, Ű6ˇjoÚ›S»LeF3™ŁËPćZםmź.*ŔGG#whagć˛b¤¤$«lpR3XsY¬ÖęX;łžŞÜo&—[ŰÚ€3˙űW· ć??}ĎŻ\ěÚţíĽÓ]3?›ÚZ\%ęZn¦™`Ú>¦°Ôµ^Ő\çZW8¬3“đňŞńÔ7朗FzZ2"#9Í­,N›ÍŠe;׺¶ë[š–lěŇyÇM:Č´Ob|"ŽÚ_­KPwc•3xZ­­ŻďśŐ\ž‹ť}<9iňB‘`ďwfĘ2dćÍ;…ą>ńS$%¶„FbB;¦ďó)ŠňĘՄˡC‡şöů›¨éI¬éęę3¨g!ŢfŚĘ¸.ý:č@”äŕ˙E2Ńcc™©ß#Hc™#0c™W{‰É…ë›܆Ä8ăQŢŚfčŢÇg›%ŁĐ`ÍĹű»~‚ÔĚĚź?Ď-ŮA0†˛hŽÓPĎPĎA=C!ć°D&q#ŇľÚĎ4Ç:Ćršb˘©©©Qĺ4+++‘T—m¸hímÖvě˛Öb“Ł[P‡ťq ÚŘfç9]§všÁ\§÷TűfŮ|jďş^çů!žÇłÝbhwÎęu#P„ôô żĺ1ŃíR˘Ŕ5&MšĂ;ďľű>víÚŤgžy?ůÉ™n}Ž<ň|üń§Ę|öÜs/ŕśsÎ6=—ÍfĂłĎ>ŻÖóňr1cĆtŻĎ+çąćš«L÷Ő××ăÍ7ßRëň{>jÔHŠĽ–;ďĽ[™żž|ň)Ěž=Ëk_ŮŻ#ŻŃ“G}«WŻQëżůÍĹČĘĘÂď˙[UVTĚkrüŮgźBi_űĽ•pĐ3™)S˝#ѵoĘ”ÉĘü˝!~ ^-NÄ!ĎW żĚ9`kQúĹŽ®  v‡ł´¤´«9Ş»s݇†ę¤l¦i©¤¦8´s;’äp›÷jVÓüŃĽÍâč´Ů,hiIDsSZ[“Tö1‹^ÓřŻĂP SÖ:·-ç¶Łs»1;oźZú!i7j&L‡ě¬L•ą,9)±_šË,ÝŢŐî”dćaGm™ę·«ľĂsťĺî=ůrśůÔ_UđKb>yĆ5*řőĎOžuÚ”Cń-€©ł·ˇ«LH~ZÂŤ ÍHOęš5kíčĘ€#ÁÉźÎ8Ź.íVüů­űpÍ»˙Ćľ%ŁUɉ9Ă'aŢČ©HNHDOŘYWŽ÷7,Ăú˛mŘ\˝ »ë«´÷˘6{WŮrÂĂ.Ă ŕS˙s@ÇT6Öa\PnřůLôQŁ4»HÍD–€tO± č~BHđú%Đýň˝őŕhß›?ÁĚIź`ĹÚŃÚž 8)ÉÍľĎgČÉjĹĽyóÝ2—yғ׾Đ7Ô3Ô3:Ô3„`‰D™o™ŕwČ!‹đŢ{ďăô†ExŞí}ÔÂĂĽăđşaš1Á`Vó÷7Bĺ0ŤM“â3qjéFYśŰ˝Ů[/Ç·U“÷ăÄ\öŢÎź"!m-:Řk˛@«iŤC=C=ŁC=C!᳆żŔŁŻă3óX F3c» ˛RĐYp<ÚÚڔ٬¬¬L=¦YS1ĆQ˘ pZŃdmĂF[6áĚR‹†¸v}lq{PżnOŢŐß“ Î\˘NÍííüđŰnńhwtëďďü˛99{„Z—/Vž3s$–ąč˘ ńÁ)ŮĂ?ŠăŽ;F•cŐ‘¬y0—r‘>řLś¸fÍrO•+†®ë®»;v8g/śuÖ^S< oľů6fÎścŽ9Ę­]ĘZ^yĺŐhltÎŔ8ýôu;V/UŮĐĐĐm_aa!Ž<ňpuţ/ľřJ˝žóÎ;§[ż—^zEőćÎťÓÍÄöĂÔkŐ÷~řˇťďĹ5;ý“O>Ă}÷=±c»Ď(!„@8MfrĎpţ}·(ă¸hśÉ“'!??ß|ű^űEöű űR§Śc΀‚Ýu‡Áhć´Ťu™ÍÄč® iö8479ĐÔÔŮ#Îi4KÖ–„í1ŃůŕÝpć #UCÓYqĘLfUŹqhmIĐîg’q,®Ë@&ŻQ7ŽěeNŤä4—ąŚfťmŽNÓśl73ß,ĚA\N*¦Mš€áÇ"#=MÓ/IŞÄhÍ\–`‰ŐŃáłĎ¨Ľ!*€),۱ÖŔśX<˙=ăZ· ćZłŮÚęúÉÎ5 7ů ·ó­ŘµŢµ>®`˘«=O ¦fă?K_SŻC™_k×)Ëż—ľŠś”L\¶đLśą˙Aź[Ę=\ńćýřhó×݂ŠqńSPŠŤ•á)˝ #?Ź`ijw"ë[»˛éf¦¤ů<<Ě –2Pu Vr™2XűŃGź`öäŹđí÷łP×âźśĚ*L· Y™8řŕ;c\]„k൯ žqB=C=C Ť`ƢŐ.’Äŕ°ĂU&łź8ŽŔ3Ö%¨ĐĆŤĚ [nk1b,$sý¨JŹVĎ&}<Ě !@S™g‹aPĘĐŻ¶=ďď<–ä"Ąĺ˝ď:$pŤă‹ŢĐ?Ô3N¨g¨g!$\Đ`6� dv«`Ö'ĐĚeśGGö‹IJJgĘ"Ű’ JĎnVUUŤŽLěo¦ŚDĺÖlę¨VŮͶĆŐˇÝb‡FĂ™ĹĐh¦ˇÝú;Ű]Ă®¦ý-íÓó8<žÚ˙ů äčn63;ˇ-ĄůUi.Ý Ő1«&´Áá´ÓNĹ˙ű4•±ęňËďÚ/3j®»îŻřůĎĄ `]ô[e¸“YffvîÜ…W^ů¶mŰ®úOť:EĚĽ1~ü8¤§§«2“‹/Á‚ó‘••©Ěi/ľř˛Ę¤&H)Řýč”nÇK ˇşşŹ<ň:ß„ ă‘—ç Ţ_vŮďT†±={öâŢ{Ŕgź}#Ž8 EE…ęó°dÉ®ś99ٸę*÷™ňŻşę•‘-]ĽżňĘ?ąíżâŠËµóźˇLpRBóńÇv™Ţ!„tŠÉ,))Q{´ >.^ÝÚKK©żĹß­Zµ‡Ćc۸tĚyݶKPÂŇé&w7š)C™Ăi2žŃLÎJwč˙Áî€d˛ooí2’Ă—b4sV,0f)sŢë­6 :lÎ cz»ţźľgČF¦J|ŞöÎ,f®¬eÎLeÎŁâş gťŹ Ů řŕ¸<TŚNG^n6¦MÝůůąHKMARb‚zżd1–Z啕,šHÔ~ô Ţ?jŠ ľ ݬů§î·ČµĎ3YßÖ5+{ź˘¸ď¤? !Ţý«ÜË«?r­0b2˘xíłqńA?Â/8Ëw~ŹŻ¶ŻÁŠťëU°µYű%– ć•oߏ”Ädś2yaŔçµuŘpćÓ×`sŐ.µ=*;ű Ł‚a´¶˝zď&üč‰+N˛S2\ëťz†uť}QšU¨łRÓ]mţJBÔ·…§d„üBúÁN Ćd&Ć(ů®,Ŕg%}ŚM;ĆcóN)˝›±‚H#rdhń&ڱZűnž… Ńb ™}Â3đJ˙pA=ă„z†z†~‰»xŰ'F'ɦ%ńů3Ăóí`*:{zËÜ›<茤ř•WŽnCL^N3ĂX÷>^úu6•–ŽýrÄě„a̧ŃĚŰy<Ú,ťçÖţŻjŚĹ»Î@Bj!=t‘éęܤżľŽăPĎ8ˇžˇž!„pAŮ�%Ŕ¤·>=É\ŮL¶łłłŐ2zô(e–©®®FYYą2Ů$7'c( pÖŢÚކm¶Züŕ¨ĆÖ¸ZTXZ´qMŁVĎŕ4vą4łÇ5ék“v—9ĚOv3çń}~˙Ůͤi¨-G•r4+Ź Y=ÂÉĎ~v^{íuÔ×7(“—ÎFŚîÚżďľ“p˙ý˙Âe—ýI»Ţ~ű]µx˛hŃB\{íŐ>ł—É©n¸çťw ĽË≔×üÇ?n6=ω'Ź^xIeM»çžűUŰ˙ř—MŇ?ü *eąfÍZ¬\ůťZ<‘¬e·ßţ•őĚČý÷?„M›6«őßţö»í/**R%3oĽńoذaŁĘdvÉ%ż!„ DB)'ĺËd&č¦]Ýt&ËśŮ3±yólHŮŚw†¤`Ô×őĘh–Ô&Á-§ŃĚ™©Ě™wLĎcć°Hf°®R.s™ëťšÇ<u®Űm@»ÍăőuYW»Á`Ö™µĚâčjď2”™¬;śYĚtcY[RVÍÎŔ× ˛‘ž–Ś}FŽŔ1Ł´{\:R:ł–%&&¸˛–…Ó\M:'Ńâ?ptÔ„pó’'`Ó~`źnY©řÖaFé>®ýžALaPV9ý/ÝĘ!,Ýľ_l[ĄÖ“âqÜÄM$j×tŔđ}Ő"´Ů¬¸óÓgpßç/©íűľx1¨�ć'[żs/珜†‡OżRÍŠ5błŰneve¦IIHÂřÂŔg"gteZ]¶Éío‡‘M•»ĐbmC8ä÷[:đę­ÍÓd&čŰň}tѢ…řꫥł¬GnV5VmŽvk H‰ í<f9 óĘÔ$ÉŮłg!5µ«Q(™Ę˘5ŽC=ăő ő !$xz˘]|éŃ-Gq¸2™ý_í"ĽÚţ)6Řť’Âm,ë:Â멺Î鳏Ź~ť iŽ$\3Ö3Ó“SY@Fł@ŽsßŢŢ8źî9ŮůĘČç-s™çv´jęw¨g¨g!¤§0'#ńI(P,ô&(˝íóÜŻ÷‘H1ĆLžĽ/>xZd}čĐRdgfaRÖśµ/.J™ŤKăfăŰXěg+Bš=Q}IЇ^ŐşZśĄ›ťĆ3»Ă¸Ď¬ż˙v{g9¨®%´ótow^g×ůťíă’«Al˝<¦Ż÷łż“••ĺ*%ŮŃŃ;K[ź)SöĂK/=‡ßýî7*»ó体ň™‡vî»ďnÜrËÍnAaoČďâ“O>ŞJ`T˘˛¤`Ö¬¸é¦ëqď˝wu›ą¬3nÜXüóź·)Ó›|1ŕŢ˝en}Ä4&&łżýíFUâRŽââ"ő’‘íż˙} ĄĄCÜŽ#Ú“O>ĄÖĄßI'ť`z Ň.űé/Ó!d ŠaÉ[0M×.r–Ě\©ÚßřôÔde¦k˙Ç`îł0|č`ě™›Źç/.Ĺ×ĺ˘=)AeSYÂńÓy´ŔąîZ:·ăŐv‚ö ÚâőőÎ%ŢÇâŮG?ľëĽń®>{çuč‹=ŢŐ†Îuč‹j‹ÓôI~ś—~QŚ5‡ĺcPI!fk÷›‰Ç« fň^Č{"GýŮ\&¤ĆűĎ:8«'ě;ϵ}Ůëwٱ­Ů­ŹÄ™7H-Źž~J2óÝúČlĘ?ľyŹkű„}çŁ0=}Ť\—fďűâe´ZŰÝö%'$âňg!%1Imo«) ęÜ»ęĘ]ëGís@·ŕĄ°r÷„›GOw­Ë¬foĽľöS5Xµ:ą©™P4B­W7×ăM_›űâę.ů=$„Ä=Íák[ľĎź?Ó§OCq~ćLţą™• Nrł*pŔ”%(.¨P±yŻú«ąL žˇžˇž!„„žÜëüé–Ă? CK†ŕ”¤…X0 Ή|đáô Đ\Ö9`ăőTúé\˝Ć<Ěe&Mn çĆ!7Ĺę|n™d=·}µ›9ÎâZVUÍĹG{NEnA‰*E¨ąĚŚhŃ8Ô3Ô3Ô3„^Ál�ă/sG ýĽe- dż§ $»™ ˘vذ4e’¶šš”—W¨rš‰uő(D6fvt ÝjĹNk 6ŮkT9Í]q ččVÖŇSp;ŕYŽŇâÖý˝µ[Ü3“…PNÓüüÚŔµ6»oÁ(őŢń¨§DŁ M˛É(RÖŇWiK!##gśńcµË˝÷Ţí¶ť““ŁĘYĘ,0G-ľŹŹW©§e 1Ń-]úY@}=_!„ d™ÉL_—żăÎL–µ‡ä¤DUVYĘ)˙Ăf|T ÖÎÎÄÄŻ°ď˛z$µŮˇG-Ş|¦3S™^6ÓâšĺęÜç”,ú5t]‹·Wbé¶Ö™łĚ#“ŚŮÍžmƬe]Ź?LIĂŠůh/JAvVĆ ˘˛m&'‹Ń.Ye-“˛Ţb,“÷Ĺ× ×ţ`.’ăo‰C‡Ă÷,Í?Ě?ď}żL•XŘR˝ç>w#=í/HO 濼×ôřşÖFś˙üÍÚ±Î2ÝR"ŕň…g!¸ý٧ńčň7Ôz›­żťwşŰţe;Öą›ĄŮîYYSâ“]ë{ę»ňÓ˛]ëRŇá˙¦ć¶_f™ŢŻN˝‘lěÉ{h$ÉPÚ˘®Ő˝ÂÜ“1,§ŰkËđŇŞµíýşÍěýxó7¸äŐ;`×~ö¤ţô×÷#Îâś×u¤ůX_ľU­˙ĺíđüOnŔě"×±_n[Ť˙,ýÂüţÉď!!dŕ¬vńÜ–{ő„ źźŻ}Ç\Ž”äO°«|(6lź¬ĹY’1‘¬eŁJ×aÄŕ-JĎÍž=WM FÓ„˘qúęęęBHoŚNńÜ–ń‘ ć;3°nł éxÓö%¬cZwCĚ$c|Ę\;ýô31–yßďd%żąÝąáJ6Z2ça€ĘĎqV{>Űs,v4MÄČ‘#0kÖL•řÁŐ3HťM‡z†z†z†B fś`Lf‚?#™·>ţö{˝Ź´ĺĺĺ©ʶ¶6ÔÔÔ˘˘˘B•ÔLmKÁG‰*łŮlmĂV[ 6;j°ŃRę¸V]ía8óQNÓʉ nçńl÷pŚůíďýüClŮ(Ě/Đm“ş˝/ÁŘB!$|&3ÁV]˛eĆÇŰ”É,A-8—4r¸Ę|ą}ű.lß±ßçĄbÝśLŚţ¶ “–Ö#ł^‚ ťć2ç ť&3č6G—™ÍůŚťWŕpמŻÁđŻ{‹ĹÝdć0ĐL fş©¬=9«gĄ+s™mPRS’´A׌5éHKMuf+KHp™ËŚď“çşŮ¶·¶`ö÷%éńI¨·µúě#%n:ú—¸řĺŰÔOpŮŽµ8ö‘ßăÇ^ěVŽÁ v]ńÖ˝*đ)HěoG_łc…3§'ż~G•¸ó“gđÝî 7j*’’°zĎ&Ľ´ćCWßźÎ8Úí؉%#\ëO}űŽ §'Ą¨Ůż ‡ăŔ‘ű!MŰnnoĹ ß-AEc-Žž†´Ä¬)Ű‚W-Aj˘÷’nCs»Ęßńńłřˇb?Kť[‚ŔYÉ*¨ü}ů6\óîż1*Ξ~âăâpëqżÁŹźü‹ Pţţµâůďă€aűjűâ±zďfĽóý—®ĎëŻçžâ ^ çÍ<Ď­|OýĚv×Wŕ°‡~ŁJqȬç Ú5ĽżaĆćEuK=*šjĐä÷ŹŇ ·AŢl[ T’Aţ믿Ń4Í^ĺíŦű`GŮ(•a} 2Ł$;&Ś\…ô4JK‡cÚ´©Ý˛źGÂ\-‡z†z†z†‡ňÖß×¶Ä<ĐiţŽű:âóđJű§ŘkŻFŔËŕpŤÉřꢯ„ÓX&Č]˙ĎC›µżĂzdÇѵÕĚŔ—ŃĚ› đW6łŞu>Ů}"šě2e_Lś¸Oç¤ÉÎa6“ő…ơžˇžˇž!„đAńk ¶o0f4oýBí#ą%%ĹjŮw_ęëëQYYĄ˛›UUUcŠ#“íC`µZQnmŔ¦Žj•Ýl›ĄmqÎó Ks+Áí%»™Ż,f®^?ŮÍś›Żç1knĎCvv¶«<&!„BzN8jŤmúŁĘ$0gQëĘlĄ=J™äŇŇAرc7vîÚŤ­yiX?7Ąk0l} Ć­–™yzĐavf3ëîŇÁŻ3‡g3‹G»žťLßוÉ̱lŰřlŐ–ÍÓ3•Ů]2” +*0ËR´ŕn’´�ŻţzĹ`§ż7ĆGĎ÷-¶`ö÷5™ ©~±ű¨Rň˙őť‡ÔOT‚[§>ţgĚ9ÇM<H dNPł2[míŘŰPŤov}Ź—V„/¶­rťC‚d×~ľ †E c ‡jŘ‹pŮë˙RAĚ%›V¨Ĺ“sfźNw`Ž+¦^Ë[ëżPe _ń¦j—ࢳ’ÓqÓ‘żÂď´�˘?ÚüµZtňRłqÓQżÄ/üÍôÚä}˝íă§ĐÔÖ‚ő[Őbst¨s §O=}őŞúyČ,ßÄřDüxĘaHŇ~§g Ýśú'üöw¨ă%,‹'tÎÜ˙·6)=ńđiWáěg®ĹŽÚ2€}ń»\ű3’ÓđĎ‹ _ľµÇLůý#„ôozĂd&äeŔV2°®Zµ)É«QR°ßoťŠşĆ\ôg˛3Ş1~ÄJäçÔ«Ě>űLŔđáĂÜ\…ţl.¨g¨g¨g!áÂ_ĄśžčY7n,233U6łs›ŽÂ'ÖUř̶Rű 8Ü*Ńřęć3k™‰“Ěá·OWżé‰Ů8jĐfC»‡aLůÂĽ™Č|Ď m®¸R—ÎXW3+*AJjĚ™ŤAJ"šˇµŻ4ő ő ő !„„Ě‹`f‘c4 GżPĘiʶe=z:::T9M1ś•——#ą!CQ€yZ{k{vYëđ˝ŁăŞQai6Ńë–Îr—®'ń¸�Ďţćí.ó™Iv3çů>Ďł_ÖőÚÄ`ćKě»ęe_´ĚB!˝I¨µ‚YSß'‘R¶A2Ş*Ł™ĘfŻ Ň&©ŰˇCc÷î2ěÚ˝µé©(›ŇŽĺG·ˇtm†ß‚AŰŰ %4®T§Ćk $"j4™ÍdťŹt•Ę4ͶŽMÁ¶ )Ř11 ŽĚdíş‘Żé!K0dČ ¤§Kłí5:Ťeb0s–ŤWď?˝ĘŔk, 3RĐ@Sf_ć§eáŠ7ďW33…O¶|«HĐëŽă~ĂĆÍB´qŇľ 0uĐXügŮkř\ ¸J9 ¦çbÖ°‰Şt‚·™Ŕ˙<ţwWř^Ń‚µ»ę*Őě×[›k˙‰űÎÇČĽA¸˙Ë—U9‡Ú–Fő.˝?.ťwşlóz]2‹ř©3®Ăß?xk÷nE[G;Şšę\ű/[pR“ńż5ź`—vÍąZ°}g]™š)+6v&_p7žúć]5«uW]…`nCQFf›¤füN.múÜrÍŻźw+]öŢ\÷¶×íE’ •ă¤|Ć‚Rôů˝K°ÄŇ˙ —ÉL0Đzn—–AQQ!6lŘŤ7ˇ ÷TTg«ŚfŐőEčOädVaäŕP\PŽÔÔŚ1^eňđśäę�k¬č©g¨gĚ ž!„„J¤Mf¡‡.Âňĺ+°pO<†ÇăÍö/Qí¨ďţ„á(‡ŮCc™čÇŤăĘáÓfśPpŮLł6çyęÚňńĹŢ#QŮ6´ŘÎĚ™3‘‘#ýĹ\&PĎPĎA=C!ˇčÝŕ>K�Ź/ŰúgxÔ—řζxŹEöeÉc{»ősÄ(ž˘Y¶Ť‹ŁäQ%[Zša·;´ČžßŘ˝žHhß@ú…Ú§ąąŮ•ݬ˘˘R˝żÎ÷ŮŠÚöl˛U©ěf›ăjĐh±vMô0śŁË(ćčľĎâŃϰaöˇ1?żĂ­!ב‚‡˙† +Ő‚»E=.ŹI!„`رc§2HĄ¦¦©ěTr1šĽÝWúRׄ‚?mámżY»±ÍřŘlę=°i뚎E[{;ÚÚ¬J“TTTˇ¬ĽBői·¶Ăjí@ńćfmiÁ m­Ľ˝*éövŞĂ:ł™Ëôí=Ă’PU’„˝#’±cbşÓ8–”¤Śqůůą(,ČWłZĹH&Ěś%0:Ëa&¸~'Ô=Ý®¤ú$V4Ś]{cw¶ÔŔŕĎG|·ň ^^ő!löź}ă-ń8yż…řĂ‚3Pś‘B1‰–¦ćj_”©ó ńFÔ3ˇh—@Ú̶kkk±zőTW× µµĺUYŘş{<*jJ˱lTé:çW©šŢ™4i"rrrÂ6Ŕkć2ęŇŰPĎâźXÖ3áĐ-ţ¶ív»2ĹKÖ&íµ}i]O¬ßÁą/9\óöĽ_D׊Ăo/ýŢs¸ő9%3 ·LÚjÚÓg›#€>ŰvGÖTĎÂw•󑔪2´Ę˘gž× ·ą,ý‘†z†ô6Ô3„ř'=¨ç!HJJś ą%őťŹ‹ŁóŃnX†GĎ^¶}=z®{â÷FIYm3oשăÂi6 ¤ź·/(RNł\Ě-++C]ťsF‹|i×|+l řŢ^… ¨Á®¸tXşĘÔ¶«Á°©¬Ű9 <÷Mí(Ć3ÎĐwóTłëyüľÚ !„3ŠÁL§ÉĚŘn|”÷ ŁĂî4śi‹ŐjC[[;¬Z» ŘŠ^Ěf5µuš±iŔ®c˛wµ ˝ĆŠÜ=mH«¶"łÎ†¤V +lđ˙â´o0ŮńhČŠG{Jj%ˇ17A{LAÝdő3UF±¸8m=ůąšöČGQQľ2š%Ë’śäĚT¦őŃË`ężB(YË|µŰ'šh´µ˘ĘÚÔ1Č|ëű/ńÉćo±ązŞ›§˝îĚätěS4ł‡MÄ ű.P3= 1’źŽŚ„BĽÓ_őL¸´K şŐŐŐ*Ł™ÄQÚÚÚP^•Šťe#QV5DÓ5IÚQ’żCж˘ ŻYe)cŮ1Ł»Męzb$‹Us™ő éM¨gńO¬ë™Ţ0ÇËzUUV®üNĹWö¶UăýöeŘбŢź¸k%Pc™—&Ó}˛ŚOfThó:|ěđ˝ ŃlGăX¬(_„f{ĘL»ß~“U¬'Řı¬s¨gHoB=Ch0ŁÁ̸NYD«ÁĚx=˝yl4d7S™ĚĆ­¨¨PÁRäŐł›5[۱ŃV‰MŽZl‰«E­ĄÍOv3ő,^ł›ąuóc8;Ă2˙wŔ1Ę`f,Ďě—�_í„B7’ÁLč‰Ö$›™ţ¨ż'b0ë°ëŮÍś™Í”ńL{“Y­,uňXŻLđb8“÷ĎůŢŞłÁá­ě†n�s®ËŁ”đTâ[űŮĘzNNŇÓŇ››Ł˛•%$&(™”żÔł•ĹÇĹ+󙱦óĽŢ5‰·¶@ö˛?š©Ö”b ¤'Hé…<-€IńMÖ3á4Čj<ŁŮ¦M›UěDb&-­6ě-ĎĂ¨¨¬˝7ŃUĆbq /«%;0¤x/ŇRť™ZE÷Ś7ipčcEăPĎŢ€z†Ŕčz¦7Lf‚ÄO6oŢ‚uëÖŁ©© [Űö`Iű×Řn/ó8‘ëź•ĂôÜEq*ÎąŰôßŰmďÇU´ ÁŠň¨jôôtŚ;Fiž`ł–ÓĚţކz†ôÔ3„ f±i0K�!~Đ?¨ˇĹŚň@ŹôĎ? f}Cí#ÁĹ’’bµRNSĎn&Ćłéö LÓľX­VTX±ÁV‰Í–:ě°ÔŁ-Î9ŰDžÉâz:‹›ŮĚíŁi|zíŮŽdL+«v5—B!$täľęOżxëcÖnÔTĆ{¶|y’61w)ăX˘3Ŕ›’ś¤ f’±,5-ĹĹ®Śg Mš>iQĄĄĄ­m-Ş”¦¬Ë9D<¨ \ú"NŤď:Md˘uRR‘ŚŚ m=Y=ff¦kűťć1e&KHpe(3f+“s(cZ€Ć˛PÚíÍHP©ĂaGsG;‰ińI ^Büj—`u‹±Í,6$m’ů"//O•ΔŕđŢ˝eČĚhÁđŇŐhlZŤÝĺŨ¬-B•¶tŘŃ$Ä[‘—]ŽÂÜr .*Cz¨ĹVrTŮoLĎÎÎŽH†˛ţd §ž!‘†z†E(şĹ›ńµ-± ÉN*c=b2KŮ•Śá-%X×¶ ź[WcgG9zŰX&ŚËÄĎFí€k Ča68äđ˛íŃćZí •5ĹŞŞŮ(k«ĘŹ3X•Ô؏'ţďű“Ρž!‘†z†ŇߡÁŚLOŚfĆău9O0ÇbL Öp¦ďOKKĂĂŐ"ş’Zą˘˘•••HnLF)ň1_koł¶c—µ›5اá̡OÖ5Í”ůĚ%ú=®Á컂Ć|ë ++ËôZy˝„B ŽžšĚ„@Śfúl1oI»ą”ŮĚîśUśś”¨ ĘÚU›Ě23ŇU)M˝Ôěc» _:]ł’=źWžÎůśeł¨¬eNÓ™Éâ:ËbŞÇ¸® eŇÇ8Čóµx®›˝Ţ`÷Ó'(LĘDE{$ěHđR~ż!Dd°VtŔ6жÜÜ\µLš4QĹJvîÜ…˛˛räçŐÂf«D{ű*TŐ¦kK޶䎱%­m2đŢűĽd(KNjBfZň˛«µĄůąŤZ[‚2őÉ*+|ii©höÔ6žŻ3”6_íÁö‰6¨gH¤ ž!d`.s| Ćx1VÍ1ŁGŹÂ÷ß˙€ôŠtěŰ: ŰZöâ+묶mLËOvmf,óčiŇG‹°ŕŞMî*ČâÍhćËxćŢGęčějŤď*ć Ö6Lˆ ËÇřńăş•Ăt>ehY[}µşż/ˇž!‘‚z†2 ÁŚM F®Hť'śŮÍ9źŮy$řXTT¤A2‡TVV©ršUUŐHł¦bŚŁDe7«·¶8ł›ˇ[ăęĐh±š|°¸=¨Áf·‹�fw Á~)C´/C‘’’bzmÁvĎ!„Ŕ Ôd&„j43n ş±ËˇĘ`Ćwf%2“9Mf†2™]űŚĆ2»+…™ze3>Ź3\f2AOE­·ë‹ń¸pŐ"ýMłH‰ĺH8aŮB‘ĚÂę«MýR\\¬b&íííĘdV^^¤Ů0tpĄvL…Ň)íV;SQ׊zí±±9mí)Z{¬ÉZźD­ŻĹ•ů,>ÎŞ dńńV$Ä·!)ˇ)É­HOmBVF‹Z${Zr’{¦Ő„„ e*“k*..R™\Ń/ĚÎęő 7Ô3„ lÂi2üĎ$óęś9ł•>ٸqR«S1˛m0ĘZŞđműF¬´mDť˝ŃđLĂżnM&řÎZ¦s`r6o©aĚŇió?ňa4khĎĆćş}±ą~_XăŠTśaóTć¶ÂÂÂŤdýŃ\¦C=C ő !d @é‘0›z®Pł›yëjÉn6lXš2Év}}˝2śÉŚÝ”ę:r0[ĂŮ[=~č¨ÄK-vZałŘ 's=‹ëűAĽÖ¶ c8fŘaÚ´©®ěe=˙„B ž@jýőóg4Ó÷yŢĂŤf3Á™µ,޵_7’9vŻŮËŚĎĄČÔśŮN#™Ž™ˇĚsÝl;Đ}ě¶_¬!Á¦$KĽČl6›˙LH@ČŚ÷ĽÄ4d$¤€BĚč©ÉLđW6Ó__5¸©ĹJ¤Ąě—2šµµu¨®®FCCŁš°—šbCQAvDŰńšű»“¨â4™™j�9''[[r\(Řóoéďć2ę¨g!:Ě„@µI Ć3Ý_WW‡-[¶"mO†´ăĐö™ŘвßY7amš¤ĘaID<n_ćŃjA7™jňn*k±Ąbgăl©ź¨ÝŹGjş+ é TX Śe’Y6ÜYZű›Îˇž!á€z†2Đ ÁŚ„Ťp™ÍB=W¨†łPł›yöŃÉÎÎV‹¤Z–Ůş2KW˛›‰é,Ą5#…°Ůlh¶¶a‹­ ;ËiÖĵÂnq>O¶=cąá„â¤,UbbÔ¨‘^ź3h<#„BBĂ[@3Ř~d;Ó÷{šĽôlŞ˛xžCĎdf<ŢŰąőmoYÉĽő÷E¸ŚeÁöŤE$č”–ŚZ-Éٲ$XdVlŽĽŚC˙ţśBzN &3ˇ'ŮĚŚíŢöéCd9r„jíŇÔÔ¤-ÍhllTë­­­*–bµÚ\[ĺQp–ív–đNLLP™Č$Ë{zzş*{•žž¦ÖÍĚňľ^{0ű‚mµ_,@=Cző !Ä“PÍńŢ d¶‰}ęÔ)7n,víÚ­Ę|g´¤c˛m,ZÚZ±µu7Ö[·á‡öť¨rÔu3"ů+‡éÖOű˙Ç9é(MŻşe&łt?‰®ÔDB jŰň±łqv7ŹF]ÇpM%#!)Ů©(-˘)‹ Y5ŃSĎž@=CĐ`"¬ŁŤH™Í‚9_ ×®ěffýd¶îŕÁÔ"444¸•Ó̶g`ŠcÚ§…MŃ›šÁ’¬-r. šN0Ţ| çLB!¤§„rż‰E]ăI0ŮĚ„PŚfĆýĆ>f¦/}źn: –PWéCc™9qj†c:˛Rµ f š:ÚŃá°3â-qHŹOŇ‚—©H°Ä>ú»žéiÖP eŢö÷‹v‘Líz¶öPßÓpiŤHě Ą_,A=C‚z†ČŃ_ôL¨&3oíÁÍĤ.&3ÉţUUU…Ý»÷ ĽĽ™íŘ×16›µ­ŤŘÖľ[Ú÷`‡­ ĺö:´˘ÍOÖ2‡+YA\®żÇóĘaVţ˛Ő–ŚÚ¶<T´ FUŰPT· #> KŠCvRŠŠ 1dČ`äççe ÖDÖ_Íe:Ô3$¨g‰ô7Ä4E1ŢRůơÄÂyľHf7ów>#™™™j9r„š+e!***U9ÍĆĆ&$8śĆ2™eRRRŚ#†«ŇfĎL[ ű!„@139rLĐ5:ÁbC1’ůęăŮ7\ďe¸Ť`Á^×@Ő)ŚĘŐ™˛´Ů­hé°Âęč€ŐŢ›”=e™†‡”Wߋĸx$Z⑟ä¸DBÂË@Ň3ţ´H ýzşĎŰ~o}ĂI$2™ůŰJżX†z†xB=CHďĐőLOMfBOĘ|K&ÔÂÂB¨}555ĘhV^^ŽÄĆ$"3°ŻÚgµZQŰŢ€˛ŽjěmŻFŤµ Íht4ŁA[Úµ{a›Ł]yĆZµÇß ‘¬®Ihµ9ĐfK„Ý‘€f[:š­éhµgj÷Đ,4v˘ľ˝Vd9Íd’™Uű?1ČČHWe=‹‹‹ü–�‡áĚßľ`úÄÔ3ÄęBz‡Pô é;h0#˝N$ g}‘Ý̬źżó 2SWľ¨ČAĘ>Či—/ľÎí­ťp !„Ţ#ĐÁÚ`úGĂ lOźŹĆ˛Đ‘ U„B"E y_ýzb& %v,áŇ+=Ýlżţő !„ž¨ÉLW™oo%ľ%;”ř–J32~#†łęęő(I¤dwň1Ýń<§$x§¬Őď„AKž¨ eąąąÚóçŞÇD­-TŤ®öPűĹÔ3„B94Ĺ�îÍ3]něŠA,szľPł›Ű×2EJjr|(ć2ŢB ]÷“Pî-ýQ×DÂhfě§ÓĄ+ÂťŐ,ÇB!=gŕę™`LfB(F3ă~_}<űEšpdŕ´6"„B§ë™`b'ˇ”ůöÖîkźÉŠ‹‹]I„¶¶6444 ©©­­­®EÚívg–3A“’UeAĚbqq5&”’’âZŇÓÓT}¬¨§ú%Y84!„=Ó3¤÷ˇÁ,Jń5ĂB}ýńCmŮÍüÉë e?!„)ü•Ođş&Đ[cťPLńěµôƱÔ4„Búę'ÁăĂa$ë+Ó|83oĐXF!$Zhz&XK VC1”ů;§ Ă ˝÷„`ß÷P bˇî Ą!„⍞čŇ·Đ`3©¤ś˘”Rěď„b ä\Áś/kÔ;Î&!„Ň×ö1CSýbÔîOş&[łă‚=¶Żîńˇ>/5 !„ľ„zĆťPâQá(őíëýŠÄqáě%„BÂÁ@Ô3j_ýB1ˇ÷éDăQ }ů} ×uB!ţTĎá=(: Á,Ć2Š’B×fë3#ˇÄÂyľp_C°Ďěţ@űB!ţí! ýYׄj43ęń‘ §z‚z„BH4@=Óť`5K ýŁŃ<ÉŔ5µ!„Ţb ę™`5HOŚfo$ܱ›pjË!„D#‘Đ3¤w Á,Ć™9©ážśś„L$ gˇd7 ć¸`ÎŮ“~ý„BÂ…hąŻ„;€ŮßuMOŚfĆău˘­¤Toť‡B Ô3Ţ ŐhČ1˝1ČsFË1„BHOčz&lfB(F3ă~_}ĚúFšpŤ1c !„ľ$z†ôü‰E!ŢęĚ?dÍÍÍ îčďQ8Ä®ń\Á íž.>!„Ň›čÚC:zÓ+¶ 4].ťŇ Ésy;7!„MPĎř'”{x$â'‘>Ţě<Á@­C!¤Ż ž î>ěŻo Z q“@ ćyy-Á<7!„nBŐ3¤ďał(Çâ1Ăů!¬V«ŞMKW§9žpú˘śf¸ %ŘI!„„Ѣ=âăăşiŹ`đ¨kzžŐĚßyű jB!Ń őLp„ŞWŚďeO´N$uEOÎM˝C!¤/ˇžqÇóuřë+řꌎńő~÷D?K0f±Hś—B –péŇ7Đťx~âăT[KK H`„{fIoÎT u&-!„.DsČ˝E4‘Pî7Ô5]ô¦žýá5BPĎ„FOîó}•é#×A˝C!$ žéN¨ŮKíęřL0KOÎh˙`ĎO!„DŠpęŇűĐ`#čéĺ1>>^µŐŐŐO¸ś=ýBŕď|ˇK!„„]s1j’Pˇ®éN¸őI$‰•ë$„BŚPĎôŚHÄ;"ˇ%"Ł!„B˘ęď„j¤ ôľŠŰ„ňĽˇ\'5!„Ţ"Üz†ô.,‘ĹčbNO§« <ů€ÉbłŮĐÖÖ†äädĐńÍá(WŐBśâźBH$­!šĂ(öŤ÷ś`fL Ô5 }Žë „Bbę™đa|źb5~âęB!ŃőL`xľľ`Ž ć¸@Ţ랔٠–PĎEÝC!¤7 —ž!}­€Q‚ŻŠŮ+!Á™®¸şş$ĽôĹ,”žŔ?´„B"‰h ŁöĐńu˙ fuM`eăw 2’ç'„Búę™ČĐßôő!„h†z&8B˝Ż‡3&â-Ö‰ó‡z,!„Ň›„˘gôý$: Á,J1űg’ȇN­V+š›[@"C´˛ňŹ)!„H"C´†Q{x»'+ţ©kÂż`e  !„Ň_ˇž‰<±Ş+¨‡!„Ä Ô3ˇÓ“ű|´i…p\u!„ľ"\z†ô-4E9Ć•§xLLLTʰŰí ‘'ľP0řI!¤7m!è9<ďAÁŢŹ¨k!„Ň›PĎô Ń6«­×E!„ř‚z&<„ăţďů^EJSDây¨!„ô%‘Đ3¤o Á,F0“R›VOXYY ŇűôVp’PB!˝Ťh ąďÖÍÎŔu !„Bzę™č śď{4?'!„ ¨gÂK$´7CX¨K$®‹BéK"©gHďBYáůÁŃ·ŤíúLO(Ďřř8´´´˘®®¤o Ç—ţA%„Ňצm!CźMb–®ŘL«čŰÔ5„BéK¨g˘›pÄ2ŽB!¤?B=YúŁv "„m„CĎč!$&0űú’‡ŁµµµHHGzz:HôÁ?~„Bb¦¦&Ą)d‰hŚH ÜQ×B!$’PĎB!$Öˇžé]Śď…Ăá@,Á±'B!ŃJočŇ»Đ`eȇÇ(^őmc»ţ!“˘Ž¸=Ąvmee•Úfđ’B!Á"b_´D×lŐx5“IJX'Ů$Ô5„Bém¨g!„ëPĎô-žďe´Î8O!$·ž!Ń f1„هL>„"nť®ĎDX­VőAµŮlČÎÎ!„BH ÔŐŐˇ¶¶ÎMě{¦*çlęB!„„ęB!„Ä:Ô3чŮűÜ[¦3¬B‰Ez[ĎŢłŔ8›DG>|2sD˙ zÍZűňmkkCAAk?!„B'Ι¨•hiiUšAôDBB‚Z7Š}Oá/„"ü©k!„n¨g!„ëPĎÄ '„BşÓŰz†ô>ţ”,îłđhń˛­/q†G}‰ďl‹÷Xd_–<¶·[?G?Âsöq[>z›¬{.JěËŁô)**DZZ!„BŚ477ŁĽĽÂUÁ¦Řs1ÎbŐ 4]1u !„B"ő !„BbęB!„Ä:˝Ągb•¤¤ÄąÚ®úÎÇŹĹŃůh7,ĂŁç/Űľ=×=ń›˘•̢}öٶŮ,ĎcĄ˝˝˝]‰ýŠŠJőÎËËCJJ2!„2°immCuuµ ę5ď“’’\Â>Übźş†B!á†z†B!±ő !„BbťŢÖ3¤oał(Ƭ†»ż%žë6›M-"řů@çćć 55uŔ§0&„B˘ ZZZPSSë¦ $=±,Fˇďą.řűŢÚŚP×B!¤§PĎB!$Öˇž!„BH¬Ó×z&é/Ěh0‹r‚űň(‹ž¦XoǨń € łKŇÓÓŐě˝ö-Ý „BHěŁß˙%Ř'łGššš”Śb^´€±Ö˝|Đ×#!ö©k!„(Ô3Ô3„BH¬C=C=C!„Ä:ŃŞgb ĚĚ÷Ń`ü‰}]Đ ĆŮ$žâ_˙ ~}ź·çĐ·= !„=čBŰóŃsż  x î…˝QÜőăŤç‡Ř§®!„BęęB!$Öˇžˇž!„BbťXÔ3±D1%€D=ňAňÚĆ6ĎłQśëýtÁŻ»EiáďüňE�®výśţ>ż�B!‘Çź¨öÔÎ6őŻ«ć˝§7 |łmĎóZÂ$ö-Ô5„BČ€ÄB=C=C!„Ä8Ô3Ô3„BH¬Óźô é}h0‹Ě„·7±ŻPŤłHôýĆ6ý€ŽqƉ±ŤB!ŃŤ™0ëFaďŮעŘSČűŰőz©k!„˘C=C=C!„Ä:Ô3Ô3„BH¬kz†ô.4ĹFqŻo FÁŻ {ýì‹{ĎăőTĹfÂŢŘfLiL!„č¬^˝™Ř7KCě)ţ˝k$śbźş†B!ő ő !„ëPĎPĎB!±N,ëŇ;Đ`xŠ}Ď6ϢţA6ΑEźEb÷f˘ßţB!Ń7qî)ę=ŰÍö2k$bźş†BŘPĎPĎB!±ő ő !„ëô=C" f1Šç ł6oTOaov.ă~B!„D7Fol3ŰŤBźş†B!Ô3Ô3„BH¬C=C=C!„Ä:±®gHdˇÁ,Ć1 wc›ŕ)řĺQŇ·}Ą)öüpűýüB@!„„_BŰŰ>o3IŚÓzľŢ€ş†BéPĎPĎB!±ő ő !„ë 4=C" fý�o3AĚÚ=Ó›ý10˙Ćý„B‰.|‰{c{0łEúęľO]C!„ L¨g¨g!„X‡z†z†B‰uú“ž!ᇳ~„٬˝]đížíf3Hý°s& !„~z"şÍf–ív_oA]C!„ô¨g¨g!„X‡z†z†B‰u˛ž!áł~†·Y%ľöyűŕů ç%„BHďâOŘ{ëěľľ€ş†BPĎPĎB!±ő ő !„ëôg=C fýołJô}Füőó÷áç,B!$rôT„‡ă‹@_C]C!„Ä6Ô3Ô3„BH¬C=C=C!„Ä:Ô3¤§Đ`ÖŹń5«Ä¬źN°Âť !„č!Řűr¬ÜÇ©k!„ő ő !„ëPĎPĎB!±NŐ3$th0�*ř=űálB!$úč‰XŹUˇO]C!„ô/¨gďo„z†B‰¨gďo„z†B‰˘ž!ÁCŮ�"XÁ®c !„^(ô©k!„X‡z†z†B‰u¨g¨g!„X‡z† făÝS¸SČB!ŃO°eúłČ§®!„Bbę™.¨g!„Ř„z¦ ęB!$6ˇž!ÁB!„B!„B!„B!„B!Äf0€řrˇš9NŤý9Ó„Bé{Ś÷ë@f‹ďßýmv u !„›PĎtA=C!„Ä&Ô3]PĎB!± ő ĚŢDz âťźB‰ôű˛÷`ÓŹŤe¨k!„؆z†z†B‰u¨g¨g!„X‡z† f�ł?ľţ8ŘívB!$ú1»źÇĹĹyíců±*ü©k!„ţőŚ÷6ęB!$şˇžńަC=C!„D7QĎŕˇÁ¬Ŕ—mł¶@Ď竝B!=Ç› ÷Öî°“~z_3‘+Âźş†B‰]¨gśPĎB!± őŚęB!$vˇž!=…ł~Š/‘Ż˙!펎µ-ëĆvc?B!„D?úL]¸Ë¶¬Ëc||Ľ[»ÜëÍRG«č§®!„BÔ3Ô3„BH¬C=C=C!„Ä:ýYĎžAY?ĂźŔ—EÄ˝ÍfsµŤÇ{[ôy !„Ň3ü pł™!z»°ÓűČcBB‚˙"ú=ż Ď-Âźş†B‰}¨g¨g!„X‡z†z†B‰uşž!áł~„·”Ăňa/_˝]>đÉÉIHLLÔ>ôňá·đN!„ôś3Deé€ŐjE[[»Ň�íííę^/@ůŕMř÷µ& ®!„B6Ô3Ô3„BH¬C=C=C!„Ä:ýAĎđčOŇŕ>K�Ź/ŰúgxÔ—řζxŹEöeÉc{»ős PĽÍŃgŤČ]ů𦧧!))Éő'„BH˙Gtţ¦¦f· źüôY&f"ż·…?u !„BĽA=C!„X‡z†B!±N¬č™h"))q®ö ©ŕę;;<GçŁÝ°8 Źž Ľlűzô\÷ÄoúXf0‹qĚfŹčµíEŕË"ŰâÍĚĚPjB!„ <DЧ¤¤¨EôACCŁ+(ú@÷žÂż7g—P×B!ÄÔ3„B‰u¨g!„ëÄ‚ž!‘łĹLŕë‹ű¶¶6W˝űěělíĂť B!„AÄ}^^.Z[ŰPWWçš}šśěÔ "đőEĐuG¤„?u !„B‚…z†B!±ő !„BbťhÓ3$˛Đ`Eľ±Ţ˝¬Ë‡UDľ<ŠcTfŹ0%1!„BĚ@`RRš]ŇÚÚŞô„~Ia¬Ď.ŚÂ?Ü˘źş†B!=z†B!±ő !„BbťhĐ3$ňĐ`cxŠ|ă"iEäËzFF:ŇÓÓA!„â őŮŮYHHGccZZZ”č—Y'ň@ř‘ýÔ5„B Ô3„B‰u¨g!„ëôĄž!˝ f1‚ŻÔÄF‘/LIMśššB!„@‘�a\\ĽJa,šBŃo$\)Ś©k!„ ¨g!„ëPĎB!$ÖéM=CzĚb�"_jŢ···SäB!¤GčBDżh ô îrŃ(ňC™]B]C!„HB=C!„X‡z†B!±NočŇűĐ`ĺřůRó^>ň(uď)ňÍń|#˙ŕBé–°Ű;ĐĐĐčýńńńn}BýÔ5„Bé ¨g!„ëPĎôĽŤMq<‰BČ@ ’z†ô 4E1ţDľĚ‘Ĺ2“$))‰µď;é 3Y ĎË?€„BbŃmmíJđÇĹĹ©ű™< VôS×B!¤7ˇž!„BH¬C=˝ôt*Đă9ĆD!$Ö‰„ž!}GHĚŕ)ňeö}YĎÉÉĆ@Ĺó P4Í×F!„řB´…TÍ!ëἧQ×B!$ŇPĎB!$Öˇžé{<Çyzs¬§/ź›B ‘Ö3¤÷ Á,Jńü ɇ̸O=Eq^^n7—g'V˙ŕđ%!„XA´…h ˝,‚çý˨M_÷6ęB!„ôÔ3„B‰u¨gzźh7tŃpF!$Ö§ž!} Ł]Q·ŚQ0JzbY’’‚@Ě˙„B˘Ń˘5tÝáď^lÖN]C!„ľ„z†B!±őLd‰uĂÍf„BbpčŇ÷Đ`Í"‘ôň8RGB›Ąv‰ÄµB!цh Łöđ5«$ş®!„BHďC=C!„X‡z&Ľô×qŽ7B‰f­gHď“�ȇKŻE+©e‰ŹŹGRRú+áŔ‘ŃŢÎm±XĐÓsöä„BH8­!šC×rŹM")ŤC˝_ D]C!„ľz†B!±őLxD2p®ń!ăµq̉BH4 =Czf0‹2<ŨY˝Y=e`VV&ú#=™]©,c˝} śaB!$šÍaÔ FĚ´ŠŮş·ľý]×B!$: ž!„BH¬C=á3ŠdĄĎ®k'„BúšPő ‰Á,F0ŠHů°i-HNNF˘'f¬h¦'łDŃŚBH4ŕÔN "3LtMŇ“˛ý]×B!$ş ž‰."Ëa…BH„z&8ÂaĘŠ&<Ż'”ź;Çś!„ô5áÖ3¤wˇÁ,Šđ‡ú¶qf¸6e‰ŹOP©űˇôŢ:&PýŞŮŚ˘źBH_"šC´‡¤,ÖÓEż§ř7»ç]C!„č„z¦ďč‹ÁYłçdL…BH¬C==ŃáĐ-ÁśŁ'ú„É !„Ä"ˇčŢŻ˘Fľ˘3Ă™|Đ„´´4Ä:Ć/0á>¦·R÷äů"ůú !„pŁkŃ"ŢLńľčﺆB!ŃőLďĐ›ń`Öë"„B‚zĆ;ˇŢăCŃfcB=óééązúü„BHoŇS=CúĚb�]ŕ‰Ó)ô%Mqb•H ăž Ăő…Ŕě|ô öÜ„BHoâÔ׬’žíú‹®!„BHě@=9zCé bńš !„ęszbě ¦ook‡Pž·'5B!¤7—ž!˝KdF)ĆçşÝî@||<b‘`m8ú„Ň7ŘcýĄe4ď­o }Ěú3%$!„Ţ@´‡h_%{\Ň5„B‰-¨gÂK ţ“!„Bú ęw"5yż'‰B!Pýáyţ@Ǧ‚=?ő!„HŇ=Cú̢o˘Ół]ś‚Ô˘Ť%zŰXÖŰANłçó÷%Î×Ĺ`D<?!„Ţ@׺Ń1úŢîMýE×B!$6ˇž Ꮉ„ë|ኋ0ÎB!$šˇžq cY¤Ígˇś3É Śý‚1šQ B‰Áč_í¤÷ˇÁ,ĘŃEźgZŔXů�…ÓXćkss3l6Âő\ĚĎ 11©©©đv ľĚhśYB!$0Ţ_t]"mˇÜ«bU×B!$¶ˇž ťpÄQ"=0ÔŮ@ÎG˝J!$Z žé˝q'}ś™ßě®Gc‰/ă{l†ţ^ËŁ,2Đ®?ęëúĎŐ۱ľ®ł' BéK!„C8ô éh0‹t!§ Ôh'śłGüíkiińi.‹Ôűڰ·Z­ę1%%Ĺ«ëÖŰńˇĚ, ¦?!„(zŔL_ďÉy„XŃ5„Bé?PĎGO_[4Ľ7á8g¬…BH41PőLoË<÷MdnƲ@Î(ş±Ěh6“2bŢLgˇÉ‚5šQB 7‘¸Ź’ČCYĚÝ®Ţ4– »víBKK+FÜü3¤lÚax{ťë&ŹÎ¸?úíŔ9|ś«iŇ ě¸ö~dd¤Ł¤¤Dő˘ŃŚBHlN-Ň?ľ4„úĺ‡÷hB!¤Ż žńG¨ú&śAápg$3;g°çb¬…BHô0°ôL¸ĘW3&ĄĘ$ÁŃT& Z[ŰPW߀ť»ö`‡¶ěę|¬ŞŞAm]=›ŃÜŇ‚¶¶vXµăív1i9K‚IĹ›”äd¤ĄĄ ;+YY(.,@ié ”–Ąµ%3# ÉZż„„7ł™ľb6 —ŃŚBHdčź1•ţ f$,ô¶±L(//Wć˛Ň˙”M;ͤŻYŽ’»ŻÁŢ‹ŻŃľ`T!???d3Ťf„BH߮ӞpB!„D‚P´N8ăBá86Ň1fň „BzŹpË|•ąôÜC™M™Âść21“546bËÖX˝ö¬]ż›µő=ehlj˝Ă†e>Sgđ;VŢŇÚŽú†¦®WąL1 Ĺ#11Yi2¸ăĆŚÄ>ăÇ`ß}ơtH ŇÓť¦3Ýd&ć3OłY¨F3f3#„B?h0‹B<ëŢŰŁŤľ0– ŐŐŐ¨Żo@ŃËw!ců·r>| íJQ}ęůJôggg«v˘?)Śýť‹B _:Ĺó^KşĆ‘ľfÎ!„Ţc ę_DŇ$ÖŰďU°ş*RSŢŽˇf#„ŇWôw=Ó›Ć2ÉP&™ÉtsYSsłĘNöő·«±tĹ*¬[ż{Ę+ałęf˛0ľoťç’»Ýůü’\ˇ¬˘ß|· ńńHNNÂĐŇA<q<fĎś‚)űî‚ü<¤ĄĄŞń&Y$3šd9óĄk‘܀cM„BÂI0z†ô=4Ĺ�Ń*đ{ŁŢ˝Y{}}=Ş«kóÉ‹Č{ëŤĘśXôĚ}°—˘bŢ‘jVIFF†kźŻ/~fíîµ/!„âŹPJ4–…ţĽĽB!ág č_DĘXé2›ÁüÜ‚1…2ˇ/ţ„BH¸éŹz¦§z#vc¶˛¶¶647·`÷ž˝řbé7řřóĺXµć{444ÁÖŃѧ±ˇv» íV֮߄ußoĆKŻ˝‡Âü<L›2 çÍÄţSöEQa>RSS•ÉL1śéLJ’Ü€%3 !„ô640Ç4‘—ą,ń/m­­­(/Ż@úÚĎPňÔZŁü‘‰ˇŔ®v©CîĽ [‹a/¦ ´4AĄ36ţ±ě‰ŃŚŮĚ!„đMW_×Âű:!}K›ŐĹë[°b[öÔu¨Ň&%Yń1"‹&¤"9źQBHtÎÉö ¦_¨çđĄŤ5›1s<!„Ň7ôTsřĘ„˘Ż‹©¬˝˝---¨©©Ĺ×+×ཾŔËľŐ¶ëLLeŃqŹ—KłŮ®˝ĺŘ­-ď,ţC•`ţAÓqč‚°Ď„1ČÎĘRăNIII*ŃN°ŮĚX2“B!žĐ`DűL#}e,DđďÚµ‰{·˘ôžëŽ­;†_őslşë%ěŇ„÷đáĂ\"ż§F3f3#„Ň×xěb•X»öž\/µ�!=c{µ w-®CMłÝ­}k•M-KÖ·ŕâEŮ–ÇŻß„Ä ýEĎř˘7˛ŇŇÇn·»-Ćň]ĆuŃ-şvŃץ”q1{>YáéĂX vďŢ~ř&L@II1!$Z‰U=Ó]¨±Ě™­¬{ö–ăŁĎ–áŤw>šőµööŘzŻŕ4›mŮľ۞ٍ—_[ŚéS'âřŁaöôýźź§˛š‰ŃL2šůsbÉLB!Ńď7Ń#Ü$`złŢ˝g›wěŘ K}5Fţý"X¬1–ąĚ‹ö%fäďţzŰ·ďŔĂŐD3ÁŢF3ţ1&„BşW01Đě}M °„'í|ąą kw·ŁˇŐ®Ld­Vď7Ş›ěřű۵‘ꀬ”8Lś„9Ł’‘ĎĎ!¤oG|'”ý˛ÝŃѡÜŐ dáŇ^şáLD•É|˛ă-ƾޮ7\F3jŞţÇűď/Á_ţňWőű+őűŰ ?žißęęj<účřôÓϰwo’““PXXK/˝„BşIs™üí– 9ŤŤŤŘµ{ŻĘVöę›K°uű.X;uI,ÓˇŤˇŐ54âO—᳥ßbżIăpĘq‡ăŔŮSQ\\¤Śf’ŐL´Q0ăPú>šĚ!„"Đ`F"Rć˛@Úd{űöíčhkÁŘż]€¸¦ôâ[š0ę’S±á7°cÇ 6̵/XŁYOËfRüB!NB (ö$�Ť÷ßX1ĆĹ 8řŕĂ}ö‘L+99ŮjŔqöěY8úč#1fĚhÄĎ=÷nąĺ6×ö A%xíµ—ŃßřˇĚŠ>®G­G¶2mý^«Z_şµ Ż~Ű„ ćga\q"!¤7‰ääAł}ş™L7–łÔ·Ů¬Řa­ŔÖŽrl±–a»˝eŽ:4Ł­Žv´hŹMqíhłŘÔ1ÉŽ¤Ű“Š$¤X’¦=[˛1<®�#K0"ˇĄ HNHTĎ%–ŃŤfşéĚxťˇÍr¬E&€ľ÷Ţűř⋯°{÷nUVLĚSyyy0aĽ¦}báÂůęýîo<účăęwW˛jŹ=ö¤©Álóć-¸ŕ‚_ˇ¶¶ÎŐ&ý´˙‰÷!„î„jl$yn,Űł· ďřžĺlŢşS™˛şúöŹ{¶ĽśÖV+–}˝+Wý€ÉÇâ˙N=sgOAA~>ŇÓÓ•ŃL7ŕ“ͬ?™Ě˛ž!„BzďŚÄ/= >†*üőí]»vÁjµaô­żDBU3ú‰Őĺńçó°őoŹŞ×9dČ·ý üžÎ.!„BHđ„cvk´g &S vWWרĺűďŔ“O>…łÎ:—\ňkD tź=ű ·¶»îşsçĐ­ďĎ~ö ¬\ůťkű§?ý .ľřB DÄ\vŰ»µ°ç-3EĘiĘą~xMf„^ˇ7łŇ˶ŐjU‹Üsä^'ëĺmµXŢľ_wlÁwŘŽ]–h{»´ŔçŘ®ÍҦř6“ Đ–vç’€x qä`2†a˙¸‘4E)ąHLLT¦nÝh¦oű2Ö÷Ä„lżX@ RwÝužţE—ϸOĚS۶mÇ;'‘#GŕĘ+˙„©S§ TďH©1_Ű:’ĺĚh.3˛˙ţÓ@!ÄťH™Ëś÷§TUW㋥+ńŘ3˙Ăšu›úEĆ2(ŁY»ËW®ĂŞő›0wćTüô˙ŽW†łĽĽ\e4ÓËfŞúÉ,\zféŇe¸đB÷ڤźţ‘ĘpJ!„ôgh0‹bĚtŃHO˛–IQoÓËűíÝ»--­~ĎU ý‘´ «PúŹ?`çe·˘ĽĽ\eŻ0ľöÎY4z›1�:Pg—Bé[Ě4J k޶Łp Ľ†ű˘ĺŢLŁYď!ÚďńÇźDZZ*Î?˙<č@ĘbJć˛pËtä\jçĽůä<–Ë$¤čŻzĆŚŢš8h4•µµµˇµ­Ë[7âSÇ÷řĆľ Űă*a7X˙äŮĐm–*lC^w|¸6 †·bšećĹíý“G!%9ĹU"JŚf˛_O$&őĹzĚE\/˝ôřę«eő߲e«tűŚÓŃ_¸üň?ŕšk®Çşuë1yňľřĂ.íÖG& üđĂ·¶)SöĂ‚ó´g ćĚ™B ýAĎ„b. dÜ©ąą555řaă6<úô«x˙ăĄhŐĆšşßÁśÍÚ±äÓeřzŐzś|Ě!8ý¤Ă1lč`dgg#%%ĹŐ·§É| PĎBHtŠž!} f1@_ üpĎ‘�Ł­svľ!4$eqccJ^Ľék6 ?“őĹ=~ĘĎľD˝öÔÔTźďŤľHTfDZJӬݳ˙`´YXĽľ+¶µaO]äW¦$+3F$cŃ„T$'đwB(% óţúČlŘ@Đď±ň(3E{r]}użö•ĺĆᇊŇŇ®¬µUUŐX±âkěܹ˭ߣŹ>ÓN;YYY }Ď—›Ű‚.‹’ÉLÎ=ol !}CŇ3fôDăxŰgf,“;Y¤Ő¶ć˝Xl_‹·-ßb7jťťâĐ'ˇm‹Ą[PŽ—ěËQŘ’‰[&â(ËTŚN¤â/b6Óă+B(“úĚú›ő‹UýôŔ˙î6+ Ą„ÔŕÁ”ްaŁĘČŞ#żW^y5ţ÷ż—Ô{Ü2d0zč>ź}¶oßá¶-ż[wß}ŇŇŇ@!‘"VőL$Ěe˘KjkkQ^Q‰×ßůŹ?óö”Uş’ X´÷¨¦¦^™íľX¶ż8ç8{šĘĆ)q1ŢZQÇW{ űűęB‰nb)Ö2ˇÁŚx%ść2™ˇ'Â^ß/łY­Í«ŻBB[š¶o/GršJË+łKÄ\–żä)ä-YŚ0›¤ŕĺGŃV:µ‹NPď‘U1ăYš´w‡&Ćă`KM‡˝°q)iJřĘ—"1íIÔ8ÓDčOÂźDŰ«m¸kqť 5˛µĘ¦–%ë[pń˘l Ëăí…;ôtŕ5>á"ĎŐÓű=ÍfˇqÔQG`Ţ<÷ň”˘ů®ľúZĽűîű®6 ˙öŰ•?Hßłvw;"ĹÚ=í4B"BOôK ş2ŕ&±ž¦¦&Ôk±‹wm«đ¦ĺ[¬Ă®¨ ăT Ďá+<çř [†ŕčć©8,a2˛Ň3Ő�Fłžf3‹Ĺ‹Äđ^|ń%·61ZÝqÇ­5j¤«M~$ ë}÷=čj#ý›oľŤ“N:ů<ÉÍ͡ąŚBL·ąLeŞ˛˛?lÚŽy}ľíÖţ_3lv¬ýa ®¸ţśrÜ"ś}ú±Z:H»_ĺŞ1©ţj2Łž!„BÂ�$$‚ @ŠYLfŚ´ÖŐ ďý'‘µôC$ÔÖĂ"~3‡Ĺ™Ł×y´ˇłŁ#9iŮŮH+„‚ďÖ8ű ´—9äžk‘ôŮbdl߀díýŠł¶vyę˙Î`OH„-ŻuGžŠÚSÎCŞö~ĺä䨙·FBţ„čH9(ÉŞ!Ş ­ve"kµz˙B^ÝdÇßß®ĹüdĄÄaâŕ$Ě•̲O„Ć›îŮłgŻÚwjí}HŽŹGrBĽë1!®{šą­[[,jůOéę^\TT¤öőĹ}9śĺ8Ăy®L°¸ä’‹Ü fBEEĄ×cŞ««ńĆoáĂ?Ö~÷hz»NÓŮ4h>xŽ9ć( 6˛jŐjś{îĎMĎwÉ%żs­Ků‡?üáOĘ8ŕÉcŹ=ˇá§?ý .ľřB„š5kńňËŻâ믿AYYąú*(ČW妎>úHxŕ\źÇËëéĄW°térl۶ őő HJJD~~ľ*C%ç9sÂE]Käf»GňÜ„K$ÍebŚ#´Š÷4ÖaqÇ<eů »-µ%ÖbÖZváńŽOprýLŰ8 ąiŮČČČpe5Â9ĐhźhB˛¬Ę$P#żřĹĎÝcyż~öłs±lŮ ,_ľÂŐľ~ý÷ný9äÔŐŐ»¶o˝őoX°`>^}ő5Ą ¤•Ľ=ĄĄĄ*óëÉ'źĚĚLřB4ËâĹŕ­·ŢVÄDCIąńââbUŇęÄŹÇĂ»7wî‚ ôÎĺ—_%K>tő;öŘŁqÍ5WůÔXĺĺÚ5ŕÚţ÷żďÇŽ;qíµ7¸ő{ć™'1fĚhÓsüç?ʏ tË$Ówß}Ć5BHĚs™q[Öe Ş˛˛ |ş÷üű9l۵׵Ś1 #ňÖ56·ŕÉŢÂĘ5ńű ĎÄ”}ÇißÉ Ü2î{šěcŮd.=ó裏ă_˙2Ďf*şBçóĎ?rMZФčť>ř7nTדžž†áÇă€făÔSOF^^|!şĺí·ßĹG}¬JvK,HŢ_‰§Lš4‡v.\`úž{ę›oľAő˙üó/đä“O©8ŤÍÖˇÎó«_]€iÓ¦^Ďxţů•ćiÖ~wJJбhŃBĄ“üé4B!ý Ě)áH©,Űĺĺĺj°gĐs˙ŔĐ/>Ó˘ş¨±č^)wěqoq ­ąi{j:Íehv‰ÝÂŻ?q7Ý™gmGRŮN>z ż Ő'ź‹ťçý^ *Ę—€@„ż/úRôKâ>ÜgÉŢ&ݵ°°łgĎRŢ‚p$t~(łâŹë.%´ő{ť —nmĂ«ß6á‚ůYWśB‰6z’±5ś3`ŁÁ ÎŚdfď MgľÉËË ¨M™ł7Ýôw5¸oD0eYąň;Uúá/ąGq˘ 1%ÜyçÝÚ ęsÝöíŢ˝G-ďĽó¦Oß_{Ť×)Ă'ňúoľůś5â̢Ӭ–_{í e´»îşżv›„,’Áu‡¶„JZ’Ąą J[™žżĘ¦ž` !á˘'úĆW› ŇĘ˝§®®ŐÍuxÍń5^Ä2T[Ëh‘+ÜŹĹxŢţNn…ă›öG^z¶*%F‰A“ÍĚW–3cźXŃF’ń#6ťoĽV vęRţúëoÂ˙ţ÷ş[Ű÷ß˙ –^x ·ßţŚ;ĆôX\ýă˙¬4„Éř_SS«„eĐô'?9]ô+U¬Ż9ôĐEřÇ?nW&Mť%K>đŰňś„pČ!Ó\F‰YÂm.“{’d-Ű[V‰'žO˝đ6šš[µ,�::ěXąćüáę;ńËs„cŹ8…Úř’$3ĐőO1™ő†žńĹÚµë”ÁkďŢ2·v?Ó–,Ź?ţ_­ĎďqüńÇšžC `úÓ•j«'»víV‹h†}÷ť¤éŚ›Őř™/U¶¶»îşÇ­]&ţęWăŢ{ďÂţűOSšĺŮgźwë#q—G}BĹoÄ</¦~B!8$ ü˛˛2ÔkAÇ!O_ě寉Ő@J\$5� Ú€Ą$HzFłÎ€Ą˝ůĎ˙Ĺ÷^ŻŻ|™ňő…ËW[¬ Aíęęh|ĆgwÁ¤gČ�čmďÖm.3CĘiĘąĽ ŞBH_ŽÁ×`î§r˙Ś vňÜfKo‰çóöšôu"™ČŚČ ˇé=yę©gT9MOs™'bľşňĘ«ńÜs/ š€Ş™ąĚ“+ľVMĎ2SË–-Ç_˙z]7s™2+Ř3;H°´YŞ<x‹5´ßÓí÷ďËÁŹĚÁ”Ň$Ó>rî»—Ô©ç"„ž)s™dKě‘{÷îĹűŤ+qľă!<„PŤŘ6—©Ň^ËC–%8×ń�^nřRe­ŞŞrËpL|%ÔźE´1xđ n8î»ď|÷Ý*Óţb=z”k‘ ľxĺ•˙u3—‘AÔ_˙úm�¶ľŰ>ŚýŮĎ~ŃÍ\fĆOüW\ńDb~“ÉŔf†dtŰ´ił[Ű 'B‰EÂm.“{´ÜŻ7lÚ†n˙~ň544¶@—9.,ň^•UÖâďw=†{~;v:őŹnľ d¬ÉW{´i=ă yŽóĎ˙e7s™'çąîş•6ňDô€ÄHĚĚež¬^˝żýíT Ňb$ó–ŤM&ŢrËmxýő7»™ËŚČőüőŻ×BČŔS¤I7| Á@~EEęPüĆ Č\÷2ďŘ5QgŐ:XÓ´śŚS3PÔ·!»!«™9ąŻýޤd”źąš "Řßě_3G˘aVI Č€˝ͤüÁůçźŇ3¤,¦d.ł…±Z“śëAíś7źśÇr™„ Đ€Y¨´PŤUá ŘrźgVł@ź'ŇĎmÔÔÔ(#”dőŇ‘™ÂW^ů§n™)Ä\÷Ý÷şµeggáG?:Æ SĄ"ĄdĚ€Ő‘óJYÉú!AQ™Y*â_üâ×nç9?bî\gů&éw˙ý˙RK‚ F¤ü¤^&*ŘŞrmü©k[~ÎRöJXĄ™d^{řáG]e+6oŢ‚{îą_ÍŕŐyřáÇÜ~_$Hü§?]¦fčŠéě­·ŢÁ˝÷>ŕ*…ňţűKTć’ Ć#ŻoQfůP9qZ:F$ ÍćŔ®Zď“k¤Ěř’ď[pÔľĚFB ťp™Ë<Íô’Ý@Ěe۬ĺ¸ďc™e3ú3•hŔ­–7đľc5~]{F5«rER:ÓW6łX.ĺ ÉâvÜqÇŕĹ_vµIĆÔóλ�ăĆŤĹĽyŞ2”RćZú˧ź~ŽĚĚ śsÎŮę’uL ő˘ td’ˇL,”ě¬:’ýKĚôF ”—¬űí7YeÚ“’›[·nsí—˛PRb[ô‡.˝Łk,A…e0ÖľOĐ3±É{*WuÄD&Ů@† ęvě»ďľç¶]Z:Ä­d!„ô‚5—Éä=1ľŻYż7Üń0VŻŰl(‰I‚AŢ×ćÖ6<ţě›Ř]V‰K/ř1Fް©j9R22ĐLfţžŁ/5O¸ôŚTÓ™:u –.]†üŹŰ>ÉřĄ›ŘôRë˘Wţň—żşéą×‹î9r„Š I¬ä‹/ľríc×ÜąsPTTäj»í¶;Ü2źJĆű .8ß ůčŁOTĆV‰‰îń•Ő^â'RZóŚ3~¬~Ö_|ńĄjÓٸq®ąćzĄŻN?ýG8qMWmU:M˛ÇëH)QŃ[fĺČ !„ô?h0#Śą¬®¶ĹoހܥOÁ/qš°J–ĄHŹsšĚšs€Ž$ Xä}µw8ÍeA÷âð§g ň˙.Tb] =1™E ‡~¨  éTUU«¬;wîrë')yO;íTUĆ‚„Η›ŰÂ’ąĚś•sĎ|Ŕ™BÂM8 ő‚užNű©{go•ôDyç8«Ő¦4ü4އą'÷Ôlćió÷Üf©‘˘7ź«·ąôŇË|î—ŕ  hJ‰HOÄPośš••©éź˙`čĐRWŰ1ÇŤźţô<4483ĘHS‚Ś×^{µ2¬I Ô¬ „´Ë˘#ł‚ °x=űŠü®?ňČcnm—]ö;ĄÝt乤ü‚xőţĺ/îŇw6lp;Çąçv㤏ieđ_ĘOŚ5Rđ­e *Ë·µ!Tö”#'9 cĎ,kDeŁďěÍ+´ç˘ÁŚ*áČâŮ&™ Tڧ±O[>Çsř í˝dp¬ń-¶á"Ëc8Í:?.;�ŮM™ŞÔh8Ál°U6î q™ßţöbe€úöŰ•ní?ü°A-˙ůĎŁj uĆŚý±pávŘ!Çfäľ}÷Ýw* ¤3ţA*K‡ńů¤ä“h1Ą ożýn·ĚeR^{Ѣ®Ě`§śr’6řzˇŇ:˘GN:éőž‡KďčKVŁÁLtŮąÄ$6dČ`UÎJçý÷k:č·~žĺ1Ĺ@ÇŇó„X$\qA2]———ců·ëpýmcËö=ťűů÷±'XmxgÉ—¨Ş®Ă_.=ă´ŘśÄ4É,Ú5O8ôŚĽ˛ c:rż÷Ě’ć©WdśëńÇVtćÍ;ż˙ýĺ® yrî§žzV]Ż ďŰŃG…}ö™ tĆŽ;ń·żÝčfč]!“ëÄěĄ#chľ fr­=tż+¦$ć9ɲ*f|#üă”v2>×…^Ď÷3B°D&q#J3/©sëęęQřŢíČýęż‹6”Räm2*śŰ yKmVçâl›‚ÇďBţ3¨Ůť2űˇ'™Vz:p.Ž:ęM°ţҵ\uŐźń Ď(ă™I!ěůĺ Ěľ dÖîŽÜű±vßkBHtčŕ«t¤ÝnmUlőóx>—qń…d ×ŇĐĐĐsz^c¤é­ç‰Š‹‹T@2==˝Ű>™‘ęYFSf™Íe‚Ě„ýńŹOsk“ i2»»/‘Ň 2;XG[%óš'2¸<kÖ ×¶ęľür©kŰ3XűŢ{¶Ö­íěłĎRÁV™Í+ŮŃdŇE¨”Őw Ň’,8ďŔ,Hěüëímřř‡VżÇě© íą!$ć2ɰcÇliÜË,OáI|6 Ěe:m°â ˧¸T{66îRď‰1{D(ď­Ń®wd°Q˛}]xá/”ÁÝ ągKöŤ›oľÇ{{쉀2É|đ7s™ »ň\Fä}—l!:2`kdćĚnć2A2\r‰{ÖV)ĺJě(ÜČ�ű±ÇíÖ&™FŚČ`í¶mŰ]ŰbĆó<†BbpšË$†!™Ë>ůr%ţrós v»Ëż]Ź+nĽ«×mBYY™kü$±¦hÖ<‘Ô3ŢđÔ+Ż0šËŃ2YÎȧź~ć¶_Ě_żţőŻđŹü Ď<󤩙+%%Ům[Ć}±˙ţS»Ĺ”=tQ·k;ćŁÜÚfÍš©˛Ďó\„BúĚ`F"Q(ĺ$Ť}áűw ˙Ó‡ĐcRë´¤M™ ŇTí�řU•÷Ř*B˝ç»đ±;€ř8TýčçjŰß Z,Ě–őDf _rÉEÝfrVTTşm_~ůnş_ýę•éB2yĽúękj¦¨|™x÷]÷ňR’IĘČŚůÂ*)ÓÓÓ4á>łgĎĉ'ďV&AŢĂN8Ĺm6ʢE qË-7›^ż|>찣ݲüć7á'?9Ó­ź|{á…—Ô—)• _ć¤ÖřńăÔ, ,z´ö”ş–Č;#ynB ”pdţ’żÇňhłÚ´żĂń–Ž«v|˛:ŹžĂŰsyk«o¶©ÉąĽă]ŢgńŘçÜÎČč~˘@łšsL(ô§ŚfrߎŹďúť- ËĘĘ•F‘嬳ÎpÍVd†Ş§IěŔçš>‡Ě~}衇]Ű2 +šG2ző6ltŰł™”µ2Ăh(6nÜčšX ŻÍXŇbéŇĺ8âcŐL^YD#Iن1cF«AŘH3(;ż?<ßílÇ_6¸>ŹçÎÍD^zśĘŕúŘ獝‹sí !ˇs™gIL ’ĎŘ€Ű,o˘ţM˛ýť,{đk<ŠK;ŽÂĽÝvU–(77Wi“@KfĆz&3Ѭ’]ëĚ3˙ź|ňľúj©ĘŚ!± OD{HYo)ĎtăŤ×ů|]2Hi†îe XLö:bÓńĚjzŕžG˛ŁJ†1Ł1PJ>EC™ÉcŹ=F•×҇$óÄ•¤¸ Fz#sćĚr+—E!±@°1™Ë$V˙ń+qý폠˘Ş¶ó;żM…“»kľß‚?ßx?n¸âęgPRR¶Lf}I¤ôŚ7<őŠÄ{ŚYĆt<ă=’©LbEf1C‰%Ęţ-[¶Şń#ŃGkÖ¬uËŘ*ř3Ćĺççwkó4ż‰Yßlü);;Ű•9_0Ë”O!¤BqŃ“ĚVx”ŚY‹ďBţÇ lÄ·໵'˘=i„4q—Ł©*-P“Ą=jŻĺ{€ş:M!˛„Ń\¦SřČí°§¤ˇę¸3•đ•Ŕg×Ó.đŁůË€tióäÚkoŔoĽeşODűwÜ…çž{ˇŰďy}}ľűn•Z{ěI5č«—u’÷H2­IeťĎ?˙ReUî‰|y1šËd�TŽ7"%d¦Śç— )*ç–EJ;H†ŽI“&"lݶaGučłŇ%[Gin~(łšźżĘ¦žcXo?„č#Xůűî4…vÜdŔL΄@ď·{÷–©Çą·TŔź¨ť,Q;źEÇäĽqťĺ.ăÔ¶EePŠëÜVíg?Kç~›¦A:¬mxăWÎÁ»AJş˝Ţp”î ‡žESĽ'˙űŤĘ$Ą#ŻIĘ~KŃhś’mÉň%YĘ)QćIII±ésµËń}i0óś xNđFmmťký׿ţĄŇbFĂš2WŻ^ŁŃ„'śpśšX ʡR’Ź­U޵QzrrŇâ°`\ âG>kPĺŔ÷ž¬$ţ>­Gc[`ű’ěŕÍŞ„â‹PĚe2HUŰĐ€Ç,áy,Ő”3‚č4ˇ 7âUď؉źW-T{böŃ Í±>ŕ(R˘R˛[č.$&¸|ů×řđĂŹÔ?Ý8/Č˝ţ€ćŕ¸ăŽńzľ‚‚|Óvy_óóó”NŇ©¬tę ŃâĆAMAľ˝ťG˛ÄĘ ¬Ž™®ę DwĎ1Ë–-wµ-Yňšh Ľ÷Ţb·ţÇ!¤?á/#–gvU1—}¶t®żýQTTŐŃ\Aä˝ýaóN\ő·qÓ•żTúEîµ’e´§š'ôP¸őŚfzEŚlff63ę´±IŁ lŐŞŐxúégU–zăŘR¨°ä6!„P`‰Lâ"_7—ĺx >şa'^J%Ú€gŞöëj s`378âpŕľg€/ö�o¬˙ř×˙€§>Ţ×®–iA§ŰŇ„f§Ľ’ś$&–~$´óßwrŢzN ŔU)1ę»{ěŤ=ËDÉŕáěŮł|óÍ7ßz5— 7Ýôw<űěó~ß $ßrËmx˙ý%®6™yjDľ@|ţů¦ÇđÁ‡nŰ2 µ  ŔµýÔSĎŕšk®÷[ÎJf§üň—©˛ =ĄÍęŔ]‹ëĐb íw!Aűţî°üńČL)5ĎŞ&çľ{Iťz.Bé zZ\€­­m*“š!$!!^™bÚÚÚ]łü<Ëcöö˝Ů_ÉŠž^“Ůë ĺ|}ńŢD čII‚+®¸Ľ[ŮG}Ü4 G潾¤'Ďo,gž••Ą˝/˙ĆEýŞ[)#ňýä‘GÇŮgźçWűbúđdźű7–[ńß/•ýâŔŃ)řőÂ,üx¦sĆďŰkš±nOŕAß~ž‹B<ńwďö×fÜ="ĺËjp•ĺ9<‡Żh.3AŢ“W-ËqĄĺy”5TaçÎťnüĹĐĽµ˛/Z‘¬ů’iô¦›®ÇsĎ=ĺ6YAxůĺW}ßŃáÝmÜÂ5Mďłç`őG}˘%[ŠŃ\'Ůě,B‰%‚ąçůÚ–ÉyĺĺĺXľň{e.+ݬíWqhEŢăď7íŔŐ˙76hŹň3đŁuÍÓS=cFO_ŁÄ udĽčĽó.Pf7Os™dÉ—lîcÇŽ!„iB†ô)ó'7ą_ý…Kţ‰¨ ´\ý0~®öM˘ řň-ŕ›OV‰»¨ÓÚl¤[N*0g>pö€‘f}Zx¬sľ[<x+°L ř´S&B{ňĚ, t$°ď4`î!ŔüĂ”4`ÉëŔĎOk„I]|÷_á‹GĹ‘§ŞŮ%z‡Xž5+ĺ:d–ĆťwŢíj“©W^ů'ż*ô’KÆ Ĺś9łŐLÝÄ%Ů0ţ÷ż×ÝúË— )C)ĺ07mÚŚűďĐm†É}÷=ŕšĺ"śűí7YťGGf»,Zt°Ű9ĺů$űŁ9MĚb’zŮȬY3𣝢Lh’ţř±ÇžPŹ‚|ÁľúękńôÓOôčgşx}‹*ă*'NKÇČ‚´ŮŘUë=í_u“KľoÁQűFŔ°I!!ě¬Y ć¨,`!ţݵ¨Ěbv5h&çËĚĚD ×ĺ­-\čć-ĺ›t••,”óŲ–ń†d35áEgKiLÉ<fVIŚćĆ,µĆvOúşśRaa۶”żçž» ˘ßÎ9çlµHF?É\&Ą äQfô­˘—$Ăěď~÷„Â!Rń¦[DżxCö gÎÉŔ´aN“ض*^ů¦ "ĺ4ž B ”pšËDŹą¬ŇÖ€+-ĎaĘ@|łŰđ{ËqCŰičŘŢŇŇRsúCV#>řoevŇ9řŕ…*Nb†ÄZ$vq×]÷¸Ú6oŢ _IĎ ™´'ÜŤčY<$S|FFş—ěş× 29DĘ),,D´°hŃBüýď˙@S“ł„§čyíź~ú™[żŁŽ:Ňő;F!±@OĚEĆý2áHŚM«×mÁu·>‚˝ĺ5ť{}©7ĹÚ¶áú;ĹMWüBŤĂH|ALMhžh!ŇzĆ ©XžžćşÇ ?ü C 1śËXńs!1•cŽ9űî;I•Ö–Rš’ÁíťB‰4…7AďoÖ” ĚYů*ŠßĽăĽ9ÍeBjş¦üNu.F6ŻV| Ea–kŁ9š€Ş¬µÉ’”§EŽr€™§ţ ˝zÄ~3=ë\˙úsŕ‰űµçÖ‚>uŐNµďĽN)µ9f`ę,`ÁQŔȱŢĎąčXŕw×·^‰°Ł]Ó »ŻF\Vj=Q}0+Ůčějţ Żż\zée>÷‹ľřâ 1}úţůrpŮeżs•±Đ‘úň—^z‰”Ef|\~ůď]űGŹĄJ7\pÁ…®¶m۶kĎ*WSľ” fź|ň©úl¬S/YÍ$X¨#_2ŚłPĹ<fŰÍ7ßŕúLžĽ/.śŹÓO?Sűrí,ë°qă&|4–Ü –ĺŰÚ*ű JÄ‘“ś†±g–5˘˛Ńw]ŮÚsŃ`FémŐ;ţö755©żí‰ =»7JyJą45%h÷‚ôn÷Ą`®)Hö zž?Pł™‘PuC°%9ű›É¬®®ľ[›LčÄČn4Ć rďź8qźnÇ|üń'nŰbŔ2d0úĎňśëÖ­W† ‚†B}}˝*5!ŻKJ‚ę†x¸đÂK\F|á믿A¨$'Zpń˘lÜňv­Ď,ŻF“Y»Í?®‡-@ß~Şö—hĎ‘śŔBH`«|Ĺvä»§ËvuT+sŮ.Ô€ĆT(“ŮŤ¶ÓŕŘáP&3ý»O\ŁIăH™k=«–°k×n}ô‘^µ«ě7â-Ą#ŮéĎ>ű¬níź~úy· F=3nÜ8·{Ľô˙ÉOÎěvžĺËW¨ F˘)ÇĽ?‡z^}ő5µ-ŻYâJź}ćž˙řăŹ!„ôüá=3¬JYă­Ű÷ŕşŰÁ¶ťeťt­_˛EűO2ŞĆYômŔŢŮG´{<aAĚÚËż]ŹŰîąôő=^&¢U˘ĹTi=ăŤŃŁG»ŤÉz°3‰ýŘ É)äřýëźÝŢ;=~D!„DĚHHđ«­­ĹÖŽ˘˙]Ł5„9ó–·śďżß¨ÉÎĺGč]öźë\ÂÁ…W�k´ŔŘ[/ ěh_Ä î˝»9AűąŐjpÎôľýaP¶¸¸S§NQóPTT?üáRÓ/2đé9řé‰Ů U"¶Ó`vŘa‡ŕÖ[ďp•r’Ů)K—.ĂAčę/Ů׌vءjŔXă¦ń‹Žpá…żěös’L7b”»çžű]mLí‰Á¬¬ľˇ–dÁyf©/¬_ooĂÇ?řĎě·§.´ç"„ŢŔW°RĚeň·]yqq=4iÇ'ÄÇi^-jĐËě^ćí>í9Řĸd– 4XÓ—ńO‚1ŽÚżżĚ¤ěĽĚ¨őD/Ë 3_Ĺ`ţÎ;ďąö=óĚs8ňČ#ÔěZÉ´*徍|đ—ÖĚŢ/ů=4C7vőkF x–ůž5k&ňňr•nd˘Š”�=˙üóÜú‰†:çśó•ůLe‘ ŻĚ–,ŻwÜq—š9,MrssđŇKĎąe�”~l5ĚŇzXć~X^†jËeľ?wb2ŰQcCK»{ĐUúů !$“•UţćJö¨ {•ą¬g^$Nö˘°ü7uśěCřĐ€3™ĹІ™2e?·˛P2ÁíŞ«®Q÷rrr\í2đůÚko¸ŚR:ţâ,2Đ*ÇśpÂq®6‰]ýë_î™Ýĺ~>sć ×ö‘Gîf0[±âk,^ü9ä`W›LćđĚ/ÚJâHFBŐ;áBĚcĆ÷MLw’ÉLg„ń7n,!$VĆć­ŻÜW*++QVQŤ[îyë6lď4Z ډ9úŰ"R!Aű'=#CK 0¤$™iČËÉ@zZŞÚßÔÜŠšşF464aWY vî­BC}Łšô¤ż»=•âozďĂT\€_źw˛Ň;ŮŮŮťçŽţĚ­áÖ3făK34&DŻ fO>ů”ŠqHIN#oľů6n»íe —8Č´iST–5A&Ř‘IvžďY]]]·ě§„BH$`›„„—””d´hâŻjĚB¬}agĚ,ŕěŰ1`Axë#š˛] lX‹pS9÷ő28k(7űdP])s ˘\–łÎ:żýíĹ>Ď%ŽžCoČX)‹))ËĘĘÔ€íW_-íÖĎř%X8çĎ?ďżżÄŐ&e2u™\·d53rĚ1GąÖĄ –1»™ e9ÍLhFäKQ$”Źßžďv¶ă‰/\_rĎť›©Ę:IyÍÇ>l– ósBz›pd/“ “d˛wX1şňY$ÚęĐS:âÓ°!˙ÇęĽrŹö Py^źn,kooĂ{żJ@BBĽ¶Ä©ăDź9ťŰb`ÓםŹ·u}źdiljVĎ'fg3˝ŕy-ˇ�ÍŢď@2¤ů{®X2™I9î+şCEěÝ»K—.ď6)źĆN’ÝCNu$&­sĎ=§śr’ĐŢľ};^|ńe·rQ˘ŁD#‘ź»łjjj]mbn“2äň󗌬z°SLaFŢzëm50+†5Éž&™UO—ÉäśĂ† SUyNąc‰‰űďHÁÄ /iŃZO=őŚKÓlŢĽEÓMź©×'HÖ Ěęć5ąţ_üâ×řůĎĎSł‚Ĺ(!:KłF¦Oź†ž’ťX†ÁŤĺÁ›?łÓĎ^H!á*7%÷’]»vaggć2šËBGŢ»+,ĎŕÖŽ3aŮińY.Ó“hÉęá ąŹßwßne&Ĺđ.±Ž}ö™ 2˝KCĘNy–´N;íTżĎqĂ 7ăłĎ>Wżb.˝äy.ąă ­l‹Y}÷î®ŇW^y5ľřâhű‘óČŕ°dž7rîą?íöľŞw"…Ľn™0 ZHxî9÷ɧĚ^F‰%‚Ń*޶ĺQ 35µuř÷“Żă“/żÓb2˛Ż˙G•őű‚·))ĘÁ´}Gc޶ /-BFz*UČĚÄŐˇ˝GV« MM-Řą§߬ڌŻWo®ݕčĽg=Ô¶;ž~i±v-%8éčůJďČdÉž–ď ­g< bÂő×ߤĆ$®rć™˙§ÚŽ:ęĄWôJ4••UřÉOÎUń‘ńăÇ©8ĐW_-ĂóĎż¨ôů˛eËŐ’ššâ2»=ŹŃEăČdBIđí·+qűí˙T1"B!$ŇĐ`FĽâKěËş "I¦e93pÂl0ËĐÄ٥ωÉP¤eh#m/i‘Ł™@SĹ &Ü—ŽžŠ©č>ř 3h˙ţ÷Ý2sÉ5ŠéKLe2Ş#Ű’ˇěŚ3~ěő\ţR‹ ĺ•˙á…^rö‚E cFه~¤9˙¤Śmňĺ@Ę9éČ@©q欤üöäÝwßG Hđ´'”dĹck•Íëţôä8äh  ĆĄ !xäłĚ›‚ý‡'+łŮ>­Gc[`Ů K˛3ůBHoă­, g%H”߲*,ć2!ľŁÍߢ"n–2÷č1˝!÷))á°wŔfOJRRbg ˛Éuż ¶<fOLgˇľÓ'đĚdę @ýÍo.rk“ŕă%—üZuÄśřđĂŹy=ŹďÍĘ@xŕ\Ľţz—†3×ß˙~«Z>|,ďęgÔ5b^ÓMb˘ąôWłRť>řő(¦2H+e«$łë—_vöß~ű]µxăOşĚ•ˇL×]ô+ÜvŰť®ý’Őě˛Ë®đzüŕÁşěBaŇŕ$,Űz9qźç”B „`ÍeŢtŤć%sYĄ­WYž§ą, Ô˘WáÜn;q»w+ă·>qŔ¨Q˘5«‡/¤ ÖÍ7ß Ýëf†×K9úB2tčšÂ4Wed—^YĚČĎĎSŔÄ·nĽń:e6׳ČËŔ¬Ätd1cѢ…8ů仵Şw"‰üď˝÷ní˘ ePśBbť`Śđrż‘ Eo/ů Ďľ˛D‹D¨‚Nˇ—¸c٤ńñ蠩ĽĎpde¤#99QŤ-ńYî ro–Ũ/ä(‹Üźł2ŰQT‹}'ŚŔ‰G€uv`ńÇß`ĺÚͰÚu}hmłâ_˙yŁG Vq$ą1šődś©7ôN¸őĚČ‘#TĽÁht˙řăOŐ"9\b˛\ý5¸đÂKT<O“›1®áÉčŃŁ”!^gÁ‚y¸ĺ–d×d;Ń=bf“ĹѬN!„D N•&AĄ+6⎠ÚH×\Te GŘŃŇß<ŽŔ€dÔxŕćNvŹ´IS•ŕ!ĘĎ<Ôß“H _6†-ĹW\î–ýKŮ ˇ– “ýłÎ:G Úš q™Ń*ŮÉü1wînł_ećČ7ß|«Öő/:rýž_ĽBE¨†Ęôáľ ť’‘ăż_6Ş´ÚŽNÁŻfáÇ33Ôľ·×4cÝžŔß÷Ăy”óHNŚő–Žä×­@8ÉoüqÖu~ą‡É˝ŔlZ[ŰÔß{‡#üĄ†-p¨çooďú{îůüž444¸-’¶ßŰâŮ×۱Ţ&-iÄ0űí·fĘ çu×ýŐŻi^˛ĐÝpõ^ł†\xá/Ôó!3vu$:kÖ Ó~ë×ďZ—rŢ?W­Z­EóÜ~ű?LvÍ®˙ÚkŻVĎoä˙ţďtešÓ3Ăřbß}'áß˙ľ?ŕRęľ3*ąČ4&çś=Šş~|eoÝłgę¬Mř‹ĺ9ěD5HxŘc©qfkoÔw+#걍i$#ŘÜcj(7CŔöłspÍ5Wů0>äE8ýôyÝ/·÷߲˛˛şí­ôź˙< úřC ç2°lF z'’Á̬ܖ”H7{턍„ZÓ¸.q ‰ÓŻß°w˙çU´¶Ë„hKż^äŐK¦ůŃĂJpé'áż: Ś!ŠQRR¤ĆBFގ D2y«°°@e%ĎÉÉV‹¬K›ěsö®Ěî˛=¨¤ĚKq2.żč4L[Šř8KgéĚ®U;°˛ş·Ţóvď­DuuµKóc"ě ©gd[ƧdĽÍ ™ §3}úţxđÁ{˝Ć`ŚH9đűď˙—[ĚGJxĘ5řŞĚ#&´sÎ9„BH¤a3Ň#dŕ§´t~(]€Ö>ްpÚµŔ”#0 9îÇŔŠĎÇîF8ř~ĆÁ*SV8ע I1üĆoą¶Ą“”™”AÎ`ůç?˙ĺf,ËĚĚPAÎŮłg©/p"ä%{͡‡ĺó<"ôŹ<ňUâIGJkÎ1_~ů•[ßcŽ9ÚmŰXKÁÓ/ľř˝Á!RńÁ÷-¨nň>#Lö gÎÉŔ´aÎÁĐmU6ĽňMŕ3ŢĄśćÁbŻT+!$vń5ŔęmŰs]‚›2S° î+Äٵż…qáËÄh±[QÜřv'˘î3¦ý$Użí¬Ö¶ĺäÜĐd6§YÖS·ërvi ÇűĘhÖ“2SŃŚhj Ź1óçĎSśžďżŮ?gÎ,•LJ#H‰M™Ý-ç4h”AĘÜÜ\Żç(**“O>ŠGy\•¤Ú»·LµKY ˘ę®ąë®;đôÓĎŞňRfJLŽŮŮYÝĘI‰!Lµ’‘LJ_ĘgFúHć?™¤ňç?˙§žz2^{í ¬XńµĘŕ*^ł˛21|řpőÚ¤,¦h/3d€XĘjJ&ŰĺËżÖ´ßu|JJ˛*S!Ó¤T„Ľ—á"1Ţ‚ ćgá¶wka Óäům YÎ)ç&„„«ÜTyy9ę›qŤĺ%lDHxŮŚr\oy7¶ś¦îozI#Y=˘=‹™ ĺŁ{ě?ZŚâK•qLĘ1UUU©Iu»nŃ2sćĚÖâ&‹”Ö”Ë.űť2‹IiH)•-šTJŤ~řˇĘž‘‘áóşžţiUFüí·ßQZĄ˘˘RÓR©ęý—X̉'Żâ:ŢFďD yżÄäfĚô*śpÂq „XÇźV1¶K\¤˘˛w>ôĘ*ޤµźWĆ´ 5)Ç6G<9Ůj\BľßËxŽŃ|ěk 9FJ,Ę"q™ĐXWW«ť/ăF ÁâOWâĄ7?GcK[HŮĚ´«ŔŞď7ăŃgßÂoţ#e†ĘÎÎîŢ/ʲ áÔ30Gťë±ÇžŔ×_Łâ2ócźg2�‰SĽđÂ3JŻĽ÷ŢűjJôŠhÉÔ*:H&íIň3$"™Í¤ŠĎňĺ+T©M1·I›ÄN:é·q2B!$Rz·¶¸ĎŔŁĹ˶ľÄő%ľł-Ţc‘}2…+®˝Ýú9b3qm\T¤Î·--ÍŞÖĽĚBÔó›µű*« é\—ň!Ž}ýçH´µ˘Gě đÇ˙!ě5źb›řżEŔňOŃZ2˛ńţuŹ`ÚĚ™*°fé¬é /L>Ř=űĹwüĂ­D¦ ü]yĺŐnm?ü šŤ"\~ůn%DlËl3-:Ü­NýÝwߡľ$ٵk·Ü;Ĺ­í©§ǸqcÝÚd†ĘgtÍ‘ÁÖ[nąY{ţ®ŚRS˛j‘}1°ż€<ńÄ#ę‹Oo°˝Ú†[Ţ®E‹Ő÷Őǧ*“Y»Íë^«ÁŢúŔ2é¤&ZđÇ#s04ŹţfBb1đĘ`Ojjš+żBäQ_ĚčM]ăíůi÷¦wÄ$S^^ŽĆ2ŚŢű„&S,a5Á®ý ŐŢ—Ť…§™CŐ¬SłěT2+´©©Y»W4¨ů­zIY$x(ďżó1N=ĘĎJ_w>ZÜÖő}ňúśK+¬ÚĎĹáSrşŃÍěçşgĎ^ő¸qĂ:ő;ŕ|ľ®kpżžŔÚd‘ű_z†ÓT$9oĎďO“ĢɌÄ?”YńŕÇő¨iî™ËL2—‰ąl\±˙Ll„đŇßőŚg›q]le0ę>ÇűxŲ$rśâ… ,‹Ô€ˇŃđí/öŇ—ńŢâCŽP%ľuţú׿ŕ¸ăŽ®»îFüﯻ¶KJеí—L3›B6ѨgB5Ă×el`ďŢr<ňĚ[¸÷‘WUŚ˘żâ,‰ .ĚĆą?>S&ŽTĆf™ô%Î"ń·_bJN3U=Ön؉˙ü÷mlÝU©˛™…"5ŇÓRpóźŽCĚĐĆžŠ\±,łl_ľ¶ÝG!¤ž ćí$%%ÎŐ$¨\ßůŘá±8:í†Ĺaxô\ŕeŰףçş'~ťěá'¦šC>Ä2 ˘xÄl*™Ť ;?BČHIĚ‹§ąL'Alşűiŕýµĺ „Ęú©ó1hčpźY0<‰•ě2Đţŕ˙îÖ®H%Ýłp <¸[ż×_ †ł±cÇ`ÆŤj[J*,^ĽÄ­ŹÝ<‘źÓAÍu3ĹÝ{ďýřç?oďöĄňúëoÂŇĄËÔóȲ`Áü€Ó;{cX^‚2Éŕ©/$“ŮŽ-řĐîŘ\f<?!„ôáČ^&±bŔ\ó ,Ş4e$ţŽ9P\÷¶'ť¤ ¸ŐąeŇŻŁ­­]°::lHŁÁÍř<ÚýĐÖˇ-¶—0ľ}ˇĚtI¬hŇ˙CŘÍ'çáËÍmX»»ő­vl­˛ˇŐŹ9?%Ń‚‘ ČL‰Ă¤AIŞ,&3—B%ĐŤg_ăşd“¬ŞŞĆ—ŽŤxŐŢrߤ;/Y–a_”âŔęńj°U˛• F ŤY=Hß!q©•+żsk;ţřci.#„Ä<f/“x‡ÄCÖţ°Oľř¬¶Ŕcα†Ó\fÁŘá%řő9Çbİ˘Î˛—ąÝĘ zf<ŐőEďc„÷¦22ŇŐx^mm†Č˙ăŧážG^Çęďw„”É¬ąĄ ÷>ú &ގ2ŠKö.ąoő×ěó„BˇÁŚ„ ’ÉŚşµć„n0‹×~ó”¦pó@ ””·?ś{´ó[GlŮo.¦k_Nô`f,"ł7W¬řƵ-łŞ¤ÔŇĄËUĆ/#’ĚłĚd Č™$jtnľů\~ůď1|ř0TVVâĺ—_ĹĂ?đ9Ź9ć(Üy§łĚ© źxâż®}ňeKR,›ń“źś©Ę]É1Â_|…źýěřŃŹNQĄNeĆůoĽ‰Ź?vf·“,2˛>}úţŮ©/7–[,Ůi ŚBb ŚcWbë^d5ŻÝ0"'ź3[¶ µe'ZG˘©©É­´µ\‡šYlm Y‚ ”{Üc=Ëk;"řÜĆçÄP Ą¤H˙DŚaóƦ¨E °w/©óZf\Ę_˛(›&{BHH„š Äd(‘rŤeö:ÜfyC•5"‘EŢăŰđ&FŮ‹X‘ }—ŇmŔXő‹ÁR™$|H©p)Í%eÁ?účcUšSGâFR2śBbPcFĂ”dŐŞ­kÄŹż†ęęĆÎýďľ§g.›0j0~sţ 2¸P[JÔÄsąĎëcFCş´éŹ]çq¸ÂCή—AĚ-Ţi—ň›b€—’żýů ¸űá×ńíş­®k ćµlزOżĽ˙ědő233MúŃTO!„ôáŕôdP?Öjµ*ˇ:Ľ#ô,[8ýz`Ü &,88÷7ŔĂw"F5רGů9ɬ”Xč|qQ‚ożůÍE•#Ź<Ź?ţ¤k[jŮźvÚn}ňňrUI'폣Ž:wÝuŹë‹źĂt.śŹŚŚ Óă&OŢżüĺĎqクÚV­Z­oȬÖYłf"Lś„e[Ű $c!„ô5Ád/“�§Ě˘-­ú0˘Ć.ť’šŹ°%µTeŐ4š»ÄěĺĚ^ůĽR~St<§ŕěmĽ•ű˘ÉŚD#’ˇő†ó°d} VlkĂžş5 R’ŹéĂ“±hB*’ř»H /ţâ9ĆýR ©Ą˝ 7[^E=Z@z‡F´Ş÷ü¶öłÔĎ@&ĂéŮa™Ő/ľř2Ţ}÷}Ó}çśóäççBb™@ă/2©Nâ ď~¸_,_×i…ďź÷BąĹŹ*-Ä%矀ĂŠUc{O㹌-ČŇ®â4­Ř±»›·îQŹÍj2"TV˛ÁĹy=r0† .BVfş”áRÇëf3OäŇŇRmĚ(—üě8ÜzďËX·y‚ĄŁĂßř8M‹!Ą¸ŚkÔ;„BH˙„3âo˘_G%ŁÔČ]_ $&.�Žż ÄüđŐGŔšo‚>täŞ/Piű…ú’ć™Ĺ,X͢ż¨¨W_}Ą2g…ĘĎ~žš9úÝw«L÷Ë˝üăořË_ţÁLsćĚÂçźŮmźYyL#çťw˛łłqŰmw*C7äçń㟆ßţöb„‹9Ł’ńę·M¨i¶#śä¦Ĺ©rP„Ň[ô4Ű–d“ěeÉŤ›‘Ѳřq5¤µíBZĂ´&ěŁĚm2óS‰V«Íi0łµk—Ůë°iĎawX´Ç$Ó÷°·´�Ť$–ŮQű¦©…BÂE8JcŠžۧđÖ"řACŇ3ÖcžĂ—8«qžŠÉčY=X*“ČÄ‘/ľřŇtźLX<˙üó@!±@Oc/óhhh@Yy5{îť~]SLsąYiřŐ9Ç`ÄP§ąL&Í{›d'ănÍÍ-X·aŢý`9ľX±{öV˘]{ŹŚ&<Éś*ąĘăăµq’\Ěž6G<űî3éi©*ń€Y6łÄÄ 4HťçÂsŹĹŤw>‹˝UuęŚÁPWß„‡ź~ ăF—*˝#Ą>™ H!„Ř3Ň#$bÓĬĄ\x-_Ź ÉĚ~ó4oëĘm@…¶TkÁĐşr vʶěu®×Wh}ě@sťłb ] Ś L>´PńIGÄiĐž˙łĹŔ—ëVjת]W{g¨¬MŁkľ Č×–"M´;—’!ŔĐ‘ÎrŢHJţůpěţ@kpłŤłľýŐ•hKLT_ÖĚľH±&đť_Tr0bÄpĚź?G}¤Ę˛ŇÓs>ôĐ}®¤›7oV_ŕ$kŮ˙łw€M”o’tďÉ,eď-!8ţî˝qُ÷Ţ{€ŠâBq+ndËT6"{ď Ą{7ůßóĄ—¦iŇ&mҦĺýá™krą\î.÷˝÷~Ď÷Ľ}úôĆő×_«ĘezÂ9çś]F`‡ľ}űTř^–B8í´6mş*ɲ ))'´ďɲ´ TIĚ .8-Z4‡7a٧[FáÍ™©(ô’Ć,@;í¸N®[Áź(Ď˝,##S9y5IY€ę¤ţ‰ŘŮJ‰™Ů ™™™©Ú𢢂j+hĄ—_ ČÎŃqS/ŁY¸S6J\ĚA„“ OJc¦ĄĄcźů&c)„šá[Ë?\Ô©*oQŐR™BÝŕČ‘ŁZŽ©)öîÝ«D ‘‘čС=Î?˙< 2‚ µwÝËw`ţăçi ±c÷ábóřşY3ĐhŔ5AűÖÉJŘä|0vaarsó°yŰ^|1y6,ůąů…ĹűÍP&F0(/z OKćď=p űÇ”™KŃç”ö¸îňáčŘNš–ů,>Wż~=-n4ă†+‡ăÍ~Qźĺ™1Ö5¶l#ţY±#‡DŞx‡NfĹ7®â‰AÁq·…6¸ůšÁŤG‹żőÉh÷¨O¦âçL_‹âc~~ÁߨĄ8 ´í'&őŃ 99ŮZ‡źMš$Á¸JB–×Ůj?ĎO&+翉ĹďÂcîţpEůËĚůřü> 7•"P ŇŰ�şŽĐ¦3€¦]=+$ď –=\»X8?X˝DËޢRP€öĘ'Ŕ™•żÜıŔ ÷ÁSŢů ň/…č2Ą®Ü™·Gű“‡-‡ đŃ‚ô*;™ŃąŚâ˛6ő!BífďŢ}0jɰĐĐ05ú‘m;Čř¨OΨ®¸ĆŮçVô\yn©©i0YŤf‡¶ş—©)ĐúXž8ŢSĚEÖ˘¨ ř±»ţ‡ĽÄSĄ%sµ}•‹Śt–˝¶¨}ď8é%¬ŹFőČcĄĎ[ Ąćő×XúŮ:ĺÚYâ 4,B‰šYÎÉ‘Ă‡Ź¨ÇÍ›Ökç€Ńîs ĹźmTń–©řą’×Qf9}žëˇK[TtĽz®Aú¶Ď+“<ur®Iě"‚ ¸Cm‰gĘs»ϰ,#ă™',“± Ű!Ô=--đ’ń2•—±/{X^¦ĽFâA„“Šg<íc˛˙›ź}ěŘ1lŢş7ÜűIUn\u÷퀻n:IŤÚ\Míá~á@ÇôŚLü:m1&~3©ŮĹ‚+(c1%1+?�úîUËY?J_‘a!¸úâ!¸ěüÁ‰Ž@ppÓ­ËÎÎÂţýńŃW31eÎ ëJ=7¸MÝ;·Äř—îDăFőUĽŁogeâ‰uAę>îÄ3žÜ'ű;AAýµvş§?9L–âGłÝd±{tśŕâďňç©03ˇ î8Rč˰ě"ŢȵÓŕ1˝/¨X\F†Ţl]yꛕDĚîP¬›kťľ~Kú\ ąhZ‰rŠ˙-~śL˙8z•†Żý‡—ŚFhűÂE`_ŠQwkź«urŻXOük ť{µ:^UuůN({ůÂ8,Ů‘‡ ň‘žkĆ®ă…Č-(˙÷h@ó„�D†ѱa*‹)Îe‚ T7Uqز:we[ÝËŽWŻ{™N˝‹±#¦łóŤ&ä穬վó»hËdŇÍĚńĆŤI`ŠÁ>źô†éB1ElĹ‚2ŰĽŃz#h,óś±ôëĹ.«Łn¸V•Ą¶§*®2ňUA¨K¸+.ăý?]‘X6ЏĚXaŘĹ–Í”ŮQĺeč NĘ+•)1Ś ‚ŕď¸#.+ďµěělmĘĹĎÓáȱ´ReëÚ‹‹ Çeç Býz ([qÇ*.ËÇń”4Ľ7ńwü1c ĚÖß*ߢ=š´üIýz1hۢ15ŚG´¶Ní)¤gćâŔˇăضó�ö8†Bs‰L/#+ő'vě>„űF_z q*çâc06ILLŔ%˙€k¶â°íx¸ůµ…×mÜŤEËÖáÜŃj°¤ď8~Oq1A„Ú‹Ě„JS :‹¸BŽz¬diĚ›'¸ż|Hpú(ëtp+0o°ŕ ŕř>x̱=ŔďcßŢnx 8÷.÷ßűöŔű/i˝Ş«V´24m \tťujäYąE%J{ýSŕ¬nZ¶8Űí·…Ż_ ĂáýČj®F&éęßň�^ †ťÖ:DMdOJ!Ţť›†”,ç?€¸p#îŤ&qŇĽ‚ŕ˙¸ęe‚“˘Ş ôíË;du,«fBóŹ Xűü´Ľ$•řcyĚęĹsQľö®Dnö#k),ă>Bq¬ŕ͉µX…ťâtSłšU›Hě"‚ VŘ&¦ĄĄ!ł0b˙`fŁga ĺ”˲Q·‚ '3Vç´ě?xSf-Ĺl-őX×°‰Y0bHw´jŢP•Df `ź‡bHźź‡©™űÁO6g9ŠŠ ĸl€6uëÜg 퉎mš "<”.(ĄDęEČÎÍĹÖ1}îJü˝r# ÍęóµĚśż ąąůxňţ«ĄśĚěC®‹Â·&ŤëáÜ3úŕ“og;˘ąL µšüŰ ęסˇ!¶xGň5‚ ‚Pw€Piüłó5ňż)đËž˘ëŁR4l \ń˘¶Žç€˙f}¬řÍęTć ,GőÇxĎf_ľă™{šNX80ň"ŕҀޫV˘ł™öýoyxűY·ßbж9bŢTä^}‡9A¨ Éqxáü8ĚÝ”•»óp0­HÝb66ˇGÓ` iŠŕ�ąYÁ?q×ŐŚ‚*Š›ę[Śš$áÄ?8y–JşZĚů¨nX*3BŰgŚtYFFRRR°}'˘żúă¶ď€Ádu&íŃ`÷hTŹRëř\ée­ď5h ć‰Ç‘:â|0©’ QQQN·O”‚ B]Ĺ]7WbyĆ2ůůřòG‘ęÄZ�¤äĂ|0–cZž&M‹a2 `ÉĐžOχ%[ËĹäs*´”W<bŤ%+ ×R–a0DÚc¸öĄu¤ĆĂŞ=†hÁR0,AFÔŽ SĚ«qyŢ�deeiť¸ęůʸI$‚ Ô4UŤWŘż”““‹©ł—âčńÔ:i\¦ĐľrLTFžŢ1110b,iĆ ĘĚ!'7ź? Óć®D‘ĄXÖĄ-T?> ×]6}Oi‡ČPĺlOqY@@ Í žýtEE…/Etd8:¶IÂđŤÝ0ń›YŘąď¨ęÓ˘TlÁŇux˙ł)¸oôEĘ„ 00¨Ô¦rÝ,ç=ä´®řcö <rÂŁăÂOY·i–®Ú„§÷Rą5ŠĚĘ,'®­‚ ‚Pk™PiŘŮXźŹ˙<,ŹŮ¤ŁµěeU1jÉÇn#­Sf °č`ţçŔöîŻ#0ˇĘXş™śe@Üc�pńőŔ9—jÉŃHx Ěľű8|Ŕí·°Lfćĺ·Ş7 U˛3;…©IÁ©JyL&őŠŠ´NÎÜ4DgnQ§š":k+ Aé0& 4DK"jŰbŇZФ%ýTB0@KNŞ2“0””Ş,.?‰âR”Ö×`ť×ËQ»†™‹`1[´„dĚL:ZĚ*ńXTX ^g˘’űôřńă8‘rażMCÄŹ?ĂOöOđžťďMd = ‡‡ťˇÓÔk•u1“dĄ ‚p˛`-őť…¬‚ü„ĺđ …weˇpG,»2ݰěÉ‚ĺ@¶LUÖîÝ9FuŃA06ÖîM›„ĂĐ$B=ššFÂŇ4Ü*r÷3~ÄRś[ĐA™™*7#ń‰ ‚p2RTě\ÎrSg/Ó◺۲©Đ«ťr *vô*yÝb)Rą¨EK×ăű_çĂ\ěäĆ÷µJ®ŹűFźŹfMę#""L‹"Ô:ŚFĺmVćłĎá şÎ÷ęڤF xçă)Xµ~ ę3 2s):µo†sGôS9˘€�S©u˘qĂDśŢż3ľűm!<Ͱĺá—©‹qjźNÓ¶C/ÇY™ĽŚärAÁ˙™P)ŘŃÇÎ× ťËś~ĐŁ÷âę×˝_j*"9Ć:íŰ`-ˇů×§@Ćńňßר<˘ikŕčŃň—©ß¸üfŕ‚k¬ĺ0}Ńîxč÷߲}Ś»·ˇ U{ĺ„ÂAA8Yq5‚–]ü;ôŘ -íĆŇšié74(ŘŠŁ–85‚”b2ŽtŐ™Ô˙ÖnęŃ`°%#őy« vó%Ëóű˛EŞGaMRr˝……ĹIK†?G‘~" ‘~‚Đy‹”k™űűę»kŐ)żŔ´gRGݨDnőęŐSŻ•çň!‚ µťŞşP\ĆŽĹ?ÍkbČ„70×r@+ŹÂ˛!–ŤÚ´-ÝëB˛J“–3]Ň´mÓ)â˙Ť0´Ś‚ˇŤ6µŽ‚©Ł–7j K ž×ŽÉ Ë\ßGuţę�ĹĹLA¨ ¸ŻĐŮŞ   –¬ĹŢb‡­şŘ˘ń+j9›Áý» **R˵0)˝ŹŘW“r"~> yEĹÎf4mʇîĽ-š6Dtt´*9YşÝ/3ňőŕŕ %Băň¸ôůxéť±aË^u ÍLüęOôęÖIŤmuŚZ®',, úuÂ/Ó– 7żŔł‚<Úg¬řw ¶lŰ‹¨Čé‹A„:Fíń‘jGűb˝n*<‚îeÝĎ„OIę�\ý0a/pëG@Ă6®—mŃ Ń®śĺ;hŻŤűX¸¸ç߉Ët.¸HlŕŃ[˘ć[Ź—~üAA(M^^ľ9ť¶ţ@bÎf•t­NôġúĄ¦¦"==áď}ŕąóQť/[‚°O?UźĎŇśÎ(/íÎó‚ ‚P— Ŕ,· ?`)*‹šóÇQôî^;ůĚBŃ ˙Âüó.%0óqYyhŰhŮ” óď{Pôć:äß°�gĎ@ŃĂËQôí6§«ďY|oŃ:k ňU)SAA¨ŤTĺţšďe˙DfV6¦Í^s±łV]śřŻQĂxthŰT‰˝čfM Í>wvě.6r°„;n<-š6B||ÂÂB=•sQ–¦ŚŹŹW"˛{n:őâ˘`,ţüGRńë´`.vłw|/·µełFhݢań{<űŢŮąyţ× •cŁ ^Ç•ŕĐŮß‚ ‚ ř'"0*GĐÍ ŕ]†ŁÚ µ–â|kpŮóÎ]6<µw˛|P0đěxŕŹ•ŔyWjŃwŞ…€@ ˙ŹŢşlľzÔŹź ‚ ś,¸“¨˘°Ląyĺ¦"*üč‚ý0ä×DçŁŐńŚťÔw˙6Áy÷y‰ŕ… 4e*RSÓÔöI< ‚ '3®:çŘWXX„Ůću8bHCĄX—Šü«ć!˙ľ%0˙°ÓZłŽ`É*„ůź#0OŘü›"˙3Qôüż0Ď=CNő©ÍkÇf®vŚx¬ÜítA„şs/t[ݶcÖmܭڏ uőźŃ€Žm“eçTZ2ŃÝ+#3Sf.Ó–5Âę:ś=¬şvlŽŘŘhĺFćř>w&Bˇń[6oŚKĎ?ÍćŽĆ™?ç®T%Ją %q‡ő‘ŰNíš[÷đEróŻEʉtäćć*WúĘ"1‘ ‚ ř"0*E@€µÄeZtx„K)ąÄ\ô0úӞݵěŹpt03ißçĂ_€kď w0Şgź™Z?Y=Š%± ‚ ”Ewř HÝę¬Ň@Í mGLáÔĚáQ\fÜ�a_~‡š$ô;íówďFZZşJ~ ‚ B]¤Ş.śbłťśŠQ ›ŇQpď`N 2 `žµEϬBţ93PxßR§ě!»ľf*V«cĄ‹ç+BZAÇÝňQd6gŃĘéJ©žęčDˇVǶMUŮJş—Šźă¤ď“Ť[÷bמĂ*˙ĂgbŁÂqîމŽÖŢbŰož~ĽN@@ ˘ŁŁ0ě´®HNJ´®Kűwôx*Vţ·]ýe±č°bç5m[هԥC3ő•y¸‡Ž¦bĹš-ĘĄ-??îś3‚ ‚ ř?"0*Epp°zÜÓqxjŚA×-{•ü$&Ă#ÚtLvë<ěă’źĺ±g»G‹ďkÚV=ęŁ^Aˇ®áNrĘU’Swř J«ÁxĹ ąűQ0ÁČŽĎřo~�\$« -ůüĹW* ťžžëöIiAAĐaɲڻ Źbłˇrâô‚×Öh‘ďĹU~ Kj®8†˘×Ö"˙Ľ™Ş$¨eĺq|RlÔŽŃíXń‰x^A8Yŕ˝:s/™Y9X´d¬‚¦:ŠCh]°­[4‚ŃhÔ¦Ňß•ű‚Z¬%+7Łń†öËQö9Ą-š$Ő+ĄˇĘpAAHLĂ ~ť­%/•ŔÍ€Ą«6©2™ú¶”Lµ˝Í’ •t*qś Šđע5ŞL¦> S˙Ţ®\Ž ‚ ř?"0*….0KoÚËł7®ź§uPć ĆHęP2ďiyLÂ#-íDu­; Ć8vX»Ňýĺµ›‚¬.}Ô¬~üAA(ˇ¨ČÚˇšS3‚.WDäBőcMę™öîCŘëŕ,_‰˘;Ur˛˛±’¬Ajîş°ăŽĺ‡fš˙ÓZqĎŰ;ĂÎ,X¶ĄCĐČ3Ă<s? ď]‚üKćÂüíŻ»šńÍ6ŻUÇĚÝ2™Ç‚ ţ@UÚ#:Y±Dô¦­{±gßŃ:]“ý1ÁˇAHŚŹ±+Źi)5ĺçaë¶˝V—rzuo‹đpŤ&ŹËbşšřů!!ÁčÝ˝ X•Gą–[¶íGžvL·‹ĐĹ,>. QQáV76OżżĆĘ5[q<%]w)“)‚ u nc°.Á™ÁŘĽ˛‚cÝ^˛N�Ľ‰#Ůø…‡ĺ1u:Ř˝ďpÍ”¬RĽű<Pŕľ›ČńzM‘Ü\;v&5bFANÜu5ă¨MT” "ÄRýŰŁ'!Ă-±ÎřÚvć/TÇĘ~ô« ‚ ÔŞÚqƶ± °�s,ëQĚŰS!8áHŠ&lDÁ…łQôîçÂ[̶¬SǬŞqŤtş ‚ ţFyÎńÜ÷÷ň Č+(¬–2•55±7-""±1‘Ĺ}k†2ĺ+óň °÷`Šíő@­ß­m«ĆŞ˙ÍZJłę›B¸.“É„ćÉ ¦¶ŤŻ:–ŠÜĽB»ľ?};­ź˘–/^‰ÇSJjţ]ż]•ÉÔ«”w~‚ ‚ŕ˙ĘD¨4tÁŠŤŤÁˇřö˝?<¬řŐN––,ÝňwÉß•µ·s>[4Ë#‘—×ř~"đĹ{˝ĺ`‹‹‹÷2AA¨€ ‹‰—‚ĚŢëČtźb±ÝÚĘuRűŚĺV÷V=1).‚ ‚ wÖšńoá.1¦ˇ2X‚L\cÉ.„ů‡ťČżü/ľňŚÇňPUiÇjmŃž2ť®‚ ‚PŰpw`ť¬rró°âß-Ĺîeuwâ˙Cµľ{±X‰€K- ÜÜ2łsmď AB±ă™.:«ę¤.׆ŘpŰkyą…ČČĚ)ŮâR8LFÂBlždžNŚq–¬Ř¤ľ§»±ŽärAÁż™Pi‚‚‚´€4Gtőč}0ă.ÖÎFµ˛ŕ -ëZRv R%2‰˝ŔŚe*gü‚jeędŕńŰŕ)'Ú÷@`` ĚAˇĚţŐÁh© ™•€ĂGŕOTŹz9SAA8™p%¬ÎÍµĆ ‹±•ĹÔ)Nűź>…«Ź „ˇQšĐ8†¶Ń%SrDÉkŃZgf€¦-µŽRË´˝Č»b®r63dU-&Yh¶3ýqőAę"ĽŹ/,,ġ#'°}סbłtCťť¬e)P*ľ˛�vĄĚ ‹´î2‹MPhB`€É¶¬céJĎ'sq,aýLV· ˛m”诰dël%2-JhĆ*FČUvpUkÖí@vv. $®A„:@�ˇ’čBĄěV€Uŕů9Ŕ«çŹN:žźCQŰL»m Ô¶˝QTŠ6ťK˙ýůxŕśËP-L˙¸ű*ín¬ĐŁ·™ FťŇOÍS(‚ ‚ë;Ł…í¬˙„ÉÖí©Y˛ÉŕăÎf0ef©GŽ‚­,<î?úN‚ ‚ŕ wÝ@ôrS+ wT:„±ÄÁ8´Ě3÷Ł2µ¦@¬I8P?H11†!V{ŚÔ^÷|ă ůZÇh¦ eäĂr<–cąę|< ěË‚eżöXPůŘ Rä™aţvň§îCŔíía8+ •aµy‡:vttq'F‘8FA¨IŞ"b[g6[°nă.ääÔéöŚ»Éd2ŕś3ziýhAJ¨ĺř}ů7_,]©;ĺšmň3ďěC©ĎSqc~qILţg4jýEĄ–)ő=Ŕü‹ĹÎÍsöLÁŢGˇ†4A¨  ‚ ‚ 3ˇŇ0đ5™ŚKjŤ´°úÎ>ěŃű•Čě•s€'fmŔ§üő)°SÉߍŰi_ ’§\˘–(­)ţľ+ł†ť ź˛x6p÷•‹ËČѤ–nÔX»Y´łW. ÖA„Ú†»ť°‚űĚf}đÔö8`źd”„Ł ‚P©J|bÖÚF–J)ĘÄ^S ŞBཝ‘ż#–méĺ/X/†6Q0¶ŹA›ŚÍŁ`‰÷Í`6KQËĂ©ÉĐ4N[y­łÚp,ćÝ™°lMy‹¶ýÚw°ěËRŻů”ô|ľ˛¦Ô<Żl OŮe<†TíŘĹÔ±4U2î’HAđ\9qŇÁŠł˙Öď,nžën»Ĺ&y`ßNyzĺ�f4šĘ´ŘnjŻE„‡!3Ëędš—›Ź”YHŚŹ})Mo‘›[©Y¶káˇĹŰc´}›ľLNnŞr¬ а~óntl×LťşŔLr9‚ ‚P;™P}$;ËĐĹ,..:"zʇ3Â’•™=5hŢ>!7ütéçšvF•hŰąD`F^~|¦ö‹ŞÜč‹ Y˝¸ĺ żr%»¶č„ččhq/AAę,Ë—ŻŔ–-[1|řPÔ«W‚ŕ.tZ±b%¶nݦ:=š4i‚~ýú <<‚ŕ/¸ę¬ĄYU¸–*öË™ĂMš0�…źnFŃ”˝@Fő…¨@OI€ˇWŚ˝µëkýŇۆƨĺ¨ę…ŔŔ‰ŰXü´!·ću'`Y“óęă°lLő™ÓYŃÇ[`:­!,MÂ<zŹŮęÂťÔMËĐPk'Żtşz‰j:őOÔŻ_§ź>ÂÉ…¶Ó§ĎDNNÎ9ç,[ˇööŚqvn^>6mÝ«ž«Ëm[ÄÜrÍŽ S& ¤l—›ˇ!hÔ ‡Ž¤¨ý‘_X„­; m«Ć^m˙őŇ—»÷A†łÔç××¶3,4Ř.ć°ŹÖ}—W€ŚĚl%<«ě¶p•t­»čśÓÔ9ŕîöJě#ř ›7oÁš5˙!33 čÝ»4¨A„“ U‚7y!!!Řۨ;°g.*E––ŕ{i$đě Q[xťß^N,ýś7f g—ü˝c3đÍGŔµwŔëlúuť‰Ę’ŢĄ7âä¦\A„:Cm)#5yňŹxíµ7]ľ†řřx´iÓgś1 ‚ŃhDmeÚ´éxę©gŐüăŹ?‚ .8ŻÜĺ?ýtŢ˙C5ĎÝ”)ż–»|vv¶ÖŃx†uëÖź|ňzžÇŁGß©ćżţú[üńÇ/•vńĎ<óĽö]¦!""óć͆ŕżlÚ´Ź=ö$öěŮ[ęůŻľš„ví|p*^†ĺ1ÉŞ˘€.{ć`#ŚŁŰĂt[{ŕXžę´$ÔÎ\‚%ÄCĎ5±e5X`^sćŇaát(^ŁČŚ˘)»Őľó”•ć†nęXęłÚŔ’%K1cĆ,¬]»‡QťĆQQ‘hŐŞ%N=u€‡DEEˇ:čÝ{€¦\xáůÚ5ýáRŻů[Ś TĚ}÷=„Ő«˙Uó<ž<®ÂÉÁG}˘Ĺ÷ź©ů•+Wᥗž‡ŕ˙¸ë&Ďňi陪dbÝu/ł @kcnąvš%7Pý1®rt5Ł›WŰ–IX˝v§zΠýűgůFś9¤G±0Í[3ëă’•›m%/ąîVÍký{Ĺ%<K/Ďeާf"=#Ƕ|e?{ŰŽČ/(,v±3×XÎĂ>?3věë8í´S!Tž˙]›nşMÍózÍśV]"==Ź>ú–.]^ęů{ď˝ W]uj3ĺĹÎţ Ű‘… aîÜyřďżµ8~ü¸v=3+ś¶mۨA <é)‚o©˝=‚_ ;bĺ· …ÎUvÓŽ�ĎŽî†WIŮL[öůäN¨mťÔĆ>¤V­Evm®9CŰ?'PY ´Dp×^VËĺŔŞ9¬É¨Aˇ."e3…š$++[ [fĎž‹‡zL%窄3°źĐ·oo[ĚČÝŠ°OÔń{;Š|aGĹe„S:ű÷°Í;vąąą„Š`ÂřŽ;wĽżĄ[JóćÍlâ˛7߇ž=ű©I?÷ˇ:p·ł–®W|üĎâÝ| ťµ,‰ÁµV\ć K A‰ÍLwwDŔä!ü|Ś7´’ĽăVhŢžĘđźyO©cY5»îÜą ×_ĆŚąü1»víVnC¤¤śŔ˛e+đÖ[oăśs.ŔwßM®ń핡ö±˙~ŰüŢ˝űPŰءňŘ˙^÷íۡî@a›}Ž"#;OÝ3ÖµÉÚ=fÄȡÝ1äÔÎ V‚fWËSd`Bźm¬b˛â®—VnĹţCÇm漲m'R31wáÖ1XËxöŐ>›e:­ĺ1íßc]lßţc((Ô®ce^÷l:př„rBă5QrpBmáᇷĺ¬ř{­W/aaa:tü•yóćŰbeË–Ł®ŔśÍ¨Q7«AĚÉż™Oe\ŕŔAüő×|5ŘőňËŻĆşuëť®ąúľy˙ý BĺçIŽ'ĺ0ťˇÁ‘ ›âxd22ŞĐ<ľ·ÄÉ,*^Ą1ó˛Ę>ď Ĺeż<řĽÂľ]ŔZ r¬jڇ’Ű"&±ĘÄě˙ń ‚P‘Ä•ŕO\}ő•Ę©Ě&8vďŢ9sćâřń5 ď®»îĹ_|Şś‚kqqqhÝş•*CEYy.rLńűÚłté2$'7qąţĺËWÚćűőëk›?묑Xµjµ*]Ŕ‘¤RÚPp‡™3g#--]Íź{î9xôчԠi;„ÚDˇÖéW`.ÂSiSóÖ0]ß–ő©0Oß óÜ%ĄA=ÄPÉaĽL©Ú1,„ˇĐ˙ó2lŰďż˙aĺ(J<ĺ”îŞíŽĐ:x(ç)Ć4\ćŤ7ĆbăĆMxúé'jĚ­Db„ÚÇO<Š÷Ţű@‰ľŻąćJ'·Ţzł‚R´úŔ÷B¨;č¢Ý{ŹŔRÄX»îőEđľ·iR"nĽr¸ÖÖ„ŞţŠ–gŰŘą}S4i\O•Ż$t űţ×E¸oôů0™,JüU,łÚ˙SgŻÄžǬý}Úó,ŹŮŁk+%‚ŁYŮ÷Y°fýne,QŐŁ•™ť‡Źiź«¶Ewő´$¸”ÎŞ ¨ĐM¶oßożý¦ĘwÉ9XýP@vË-ŁU|@5j¨Ş?$%5V.l|}îÜżÔ U|ąýö»0a»čرAđ "0<™،6ż±±18бj3˛đü0ŕ™y@x,Şk ľ,ű|X4ĐU˘uG€A°ă(´/ŢÓbP%Žk7׍U}”ޡÚq‰ŠŞ•”‚ ‚P›8 %™đo G´)CKĐEš-¨§ĹNÝ ŠpZľŤ´_ÁűÔ–¤dŹÝ]–`3f´Ö™ö4,X„;v⫯ľÁM7Ý€Ú…_ť8‘Š­[·•Őé°ł—#Ů —á{8Âň’K.rąn}fttT©ň…tžzîą§!ž`ď’qŰm7Űź%a,T'ž í—§cŮ[xf#«‚ˇc LÚ0¦# §í…ů‡ťŔľ,ĎÖŃ®rą Bű SĐÜT_SýZäiĽâëř†6öâ˛#†kńËíhذA©ĺض˙ůç %.ă˛S§ţ‰„„Üyçí¨ $F¨}ôďßOMÂÉ;‹Ů),ř'U„ˇÇ,ŰvB‘µţ"ę„bĚŤgˇqĂřrKcÚCYLt$ţ7ĽĆö§ŐYLŰ=Ě\SűtŔ€Ţí`¨tűÎ]MĆ–ńŐó´Őa1X%cĂuGz1Ĺĺ1KŻźďÉÉ+Ŕżë·C©ŃŞxĽX–sßÁcčÖą•8; µ{7Ő+®¸L‰Ëä Şźqăޱ‰ËnşinľůĆ2ĺîďąçNüđĂO¶űŹ_|EË«Nޱ.‚Pב_–Pe,3ů•Úäx…Ý˙ŻüČËF•řý íÎ%żěóŤŰUý&$hčD¤–™n™U:ˇ]5 رŢ łkŐęĺLAAđ.éZ2n|X îŚĆ÷ˇŘ`Ä “4ˇŕ#˙ţ.Ôúúř° µĽ 8B›ýçźááaęovĆÖVěKW–gÉŻ—HLLĐ:­nd+V¬TÉlgś8qŰ·ďPó}úô–D‘PeôŽ.AđW\učęçđóQŢÁl„邦úz0^ę C7Ec|ßąÍPYvY]K\uşÖ´ł"?˙ąç^´‰ËnąĺF­ăćą2â2Â!]!'MúD댳ýňËŻ±aĂF‚ uűöĘ™(~ĎţŁNĘ1Öň VŃÉçôCßžmµ~`·ż#Ĺ]t:;sxO4kRßú>í>77Ż�Żż÷+¶î< ĹÖűcO·‹ér{(/żý#RҲTż?îežÝe¶Őzě´cµď¶í8ä•}Ä3aĎ>kĽ*3ˇ6`ź+HH\AMÁ{–ż$ôĂm·ÝRF\FĽě˛KpŢy˙Ss�ë¶mŰ!‚o3ˇĘčÂ%s›(Z�“ąUfóbૠ€‡˙ĐÎŇJŁ ň€ąź8-®ĽBbkKGľzó8*EV0ę,íűŻ…7Č Ť@@§JOçÉh|Qá ‚ ‚{ě6ńRDޏ!cJpN° kŤx,3M‹|ăfv$˝ß,ËÂ’ů8śnVq@ŁNmŠËzF ^´Üř+,ŮÔ·oĚ™óöîݧJHÚ»ĐŢ~űťX¶lš6MĆO?}ďr=ďż˙>ýôs5?{öź‰)éź8ń3Lđ‘Jľ,[¶™™™řńÇźU©Ŕ}űök‰ٶţ¦8űě3qŃETJÄŐµk„††ŞŇ6±4¨3X“téŇYM$##S•ŇrfeĎňz'…3W‹Ţ˝(qÚ…žŹÇ{ŘékŁGß‚oĄĘw}űí÷Şł;%ĺ„ę�ďÝ»—ÚÖ-šŁ"V®\…É“ĦM›qôč1DD„ŁGŹSÔş[µj wa‰PîníüĂÂBѨQ#ś~ú śţąŽŽ.óŽÄüĺ—ßÔüüâ´s˙ß×ছnSó:´W%WťńĚ3ĎcĘ”i*ţ˙óĎߕÌ=ÇŹÇ÷ß˙€Ĺ‹˙QeĎrsó”{5Ź1ĎŹž={ *°\ŮO?ý˘„…ÜŹ„‚C YĆŚ.ĺÁó÷Ź?¦bÖ¬9j„qff–*§Ő¶m—Űwçť÷ŕź––yľOźwÁSOíŻ~kůůů.—yăŤWTY†ŁGŹâ¬łÎSçć˙ţw¶*ç ý÷KX^cŔ€ţe–ai‡sĎ˝PÍ;;ŹÉâĹ+g µkש}Ć©zőę©cr饻t ÔűdĹŠTÉŹĎ>ű\•ýŕh`ţćźyćÉ2ď[´h1~űíőy©©ięmŐŞ•:G™ĽĄ8V¨9ôş]‡ý>ç Ö˛‹`ČŇrF9…°ä;‰BM°h±’!,�–­ý1Ő\nÂB‘Së#`@}çDŃG›];šiq`Ŕ]aI¨üŔľťG0Ą;łü‰ţYb+kݧO/ĺPlOYzřÁUmđÇOÄرo”ZĆľ˝úä“T<0}úLüúëďÚuj§KäŞvnđŕ¸ćš«…ĘP^Ś _ź{÷î©ĹPďŞxč›oľĂ’%KUŰĚ6žĄ‘Ři厫Ý[#°m;|řÖy Ú3Ćx—]v±ÖNŐGeŃżÇ 7\§m÷m*Îúüó/±nÝz%@čÜą“Šuô¸ŠmŰ îĎ-[¶¨eš4IR×üË/żÔiť}{1cĆ—l~6K‘W_} C‡žîtąůó`ڴ骡»mHH°¶?’0hĐijXZµ˛ŰŔv“qŹŐÁ‘——Ź ę«öźÇÚŢí¶2xőď?Č­ŘÁń;Vg»ĚďÄóáďż—Ř~cüNÉÉÉ2d°Š?] R®ŽóĎţšđŇKĎăŚ3†9}Í—× Á7čŽO‡ő–®îô?´8 ]«Ć¸úâA vzn—EfőbpË5Ăńěë“‘ŻböJÁc/~ŤgĽ Ú5E€vŻîîý9üÍíÚ{Ďľń=Öo.©”`Ĩ+NGRŁzÚĽÉĄĂěk‘[PTůॶGű>SÔ<cťÚ^“×z¶m,ËG! ŻÇ‘‘Ú5¨ˇÖŢ÷V1«¶Ëyo_yO1oŢ­}ů]9Öň>344D»·lŁÚw¶/îXđ±Ý˙ţű±}űvdgçx´ÜŻż˙>Eĺ§¶mۦŢO÷úNť:jmÇYj=®~ú~eéöŹ>z_kçţÁ×_«ňKééę>ť÷ëĺ1iŇ?~‚“uße›g®káÂąe–qŚI¸/x>p{xźÎăí ˝}ĺ�V2ŕz¸vďŢŁňjż˙ţł* YÎňöŰM¶űďżÇĺű™Űú⋯T›Î8ÄÓ™ŻňĚŤęyŔ^˝zV¸ü•W^nË#ч8;®üméż/ćPľůć‹2ëJIIQqŕÂ…‹ŐvđwÂ|sŚÝ)ÁÉűţ.YÁúĽţqüLžŹžA¨ŤHď’ŕgĄ0]-ĂG&µŁŕHtK4<áç-¬™©e޵Ψ{µ ËčYPŽÔC®Đňsáňóś?ř€öŮÚg{X’’ďąĺ|-:\ oq°yÄ%Ä×:÷2&â^{íMŹŢŁwÖ5†´´t•ĚüňËĎ ś|p¤÷ŰoŹWóLP°óW·d®9Á5Ţp ¨ěéČ ¤yđâűžŚÂëy¨oö®ĹŚ 9xň×Tdç[T’ҨF‹i9fl>\ďWdăŮsc1¬CÝřs±˛Ř |(|Ş(‰TŽ9˘’’L„ŮĂ„§żţš‡wŢ«:F=XtѢż±ző•@q\5şY÷îÝĐ­[W•(dRŤÂ3çł¶y&m+Ď™O?ť¤%k?,ő<;™Ŕ›1c–ÖIú"N=u€Ó÷3ˇôňËŻ©QéDNóç/ĸqoT¸,Ćőđ3íˇ¨ÇťűźI0şĂ8vfxŞM`Ćv :¤¦…éééN“ąúrŚĹeL ?ůäł6·ť#GŽŞďʉ"°{ď˝ •a„µŽÔ/Ę8ÖíŮłWMÜÇ/Ľđ¬Ëë5kţĂ>˘ö—ł÷sű† ¬:g})‚JLLTŘL\óx8#//OëřĎö7Ýűś ĚěßĎălĹtŹ<ň¸vĚ–•zžIxvJsâůĤ1;4ĘűîÎ;ď-sl×űěł/¨ß„=LÎ39ʉ ű×^{Y‰ďâNśÂet1Ň®˘Ł5žá3dÁ˛;ćݰěÉŇ.9Ŕń<XŽkąŽŁą°dUB8C\°6i9Ť-ÇŇ †Ćá0&…ĂKt |Žf7„ń´°LŮ‹˘Ż¶Ár8§äĺ‘ެ&zVÍŮ`ŹŮę`毝®öíŐ˝÷Ţíögź~ú`ŐĆł#”"¶˙®îgŮ6Ţ{ďj9{ôk;N?üđ}źĹFüŮ1aP¶Ç:lăąMśX–‡Î ® 0mܸwKµmĽž˛ó™;©(ş;çśłPU¸®×_«ÔsŚ•xŤ§{\łfMU»ÁňëöčŰÂĺ˝÷޶ Hő6܇=ô¨2ŮĂăĚ6“ÓĎ?˙ŞmĂ;hŢĽ<…ťŻüţŽN8zŔX‰ť©,™T™ľŽě©®v™ö/ľř2˛˛Ę~'NErżŤ?®Bgך>˙júz!xŽţ[=‘–U§îá-Ú?ŠĘîşůÔKŃÎé ;Á–{ß“ű#((úwÂĹçîĂ·ż.Rí<ŁÁ]{Źâľg&áÖkF`äSRá5ŤmPn^>üłă'NĂŢÇ‹7ŨÎŇgí‰ŕ`«{™ă7")©9ď_ŰöUmGŽĄŮ¶Ż6CÁŰ7 N졚ʱŤzë­×U äkŞz=ä€)Ć>ŽNł\/ŰNěźxăŤW]fŇyúéç”đÎŮvPpüÁďąDvřđaí{<¨Ú{ŽOQm' {^~ůů űF8đÍ7ǡşp“đ\áÄŇŤ·Ýv3n¸áú ×őđĂŹŮ»Ş ¶ýĚOŮ˙6ísdÜ箄PľÎŘşĺ Š ÎA\EpP)óMüöP$Ɖű†yć_ś]“y ÷Ý÷ńŐWß”ąćéëŕq¦žy/©Đ Ô6D`&x*© ?\Ż“÷fdéOŔ7Ł?ő¬¬eB ­–°ßüwŮ×ÖÎ| ôż¤rîhąZ"ńm{6®qţúç{..+,�î¸ř{.ĽÉáVťŃ0<ܦÔv…¸šyź+ŻĽVĂŐ8qâ‡đgjÓ¶ÖóćÍÇ<˘ćß˙5rŁ:±ż)ăM ˙vĺ#BőÁ[ĂWÂ=—éd x="ŻĄçz­fý‚­ą¸ňq52To·Ďę¦Ó×[;BłňĚxä§ĽlDż–Ć+µ”Ú&BcHťhř îşWq4äާF2qCaÓ|¤:ć8ú“b¬[ną žŇŻ__%0ăú9‚‘"2{(°ŃŃIńťż“đsť%Ţôr›­[·*#†r&·¸ţ!Căâ‹/D“&MššŞ\Ľ8ČB &Eţy˛S÷°W^yÝ&.ŁŰ×Áí)((TjL2=öŘ“ZB«EąŰÁ¤ˇŢáĆD/×Ă­tŕâ6˛D*ÝÜîąç%Xł™Ń݋NJ·®f%"$&łčţć(ÔâľćČTâ(fâńřáÇ•Đe[9 ”ç…ZşĂĆŽ;U˘nagť5ž@×±‰'©y&9š™ëá¶ň|áyG‘üSO=«öorr“Rďç2·Ý6F%˝™9ň µ}ÝĚD?¤y=wî<%@ăf=a÷Č#i«V˘7Ţ«ö7ˇË›.„¤› —á9ęjű=÷;Ęą?™@ć6ŰĂä¤˝Ł‰˝�Đ]`ĆQŃö1'÷ËÝw߯Î1B÷wţfx}ŁÇ‚L¤S0¨»‡8ű•\{íŐZ§Gu>9:Č0™ŞwR°#Ž&<VŤĚŃÉłgĎUIç1cîĆçź޶I¨~ôNŚ#–tT'†\3ĚNŔ˛1íŃĽ9Ý*(ó6éů°pÚUúi[×M”Ö1Ú&†ÖQ0jŹĆ±°4 …O0ińŐyÉ<7†}Ů(:šcĂ0Ż}ŢA‹µÓŐ_ËFém0;l<qę$#F W3˝=âßÎ`۲rĺjum6lę<Ü»wŻrHb»vđŕ!»đšî ŇŇŇđřăO©öřúëŻU×R¶tŔřŕŹ•ř‡m]«ś9dŇőáťwŢSó,ĄDg¶m……EęúͶ‰ë`'ŰÓ!CٞP¤˙ůç_©ŠűŠy?~ă¶7t;ĺ62Öŕ5śŽQ±±±ŞTĐ/żüŞb ¶mÜ畉óÜ1“..c‡đ%—\¤Ú ŠŢéAEM줧k„'B#¶ycÇľŁćą/GQěͶžNY®±˝˘ŕŹíö]wÝO¨lôůçÝŽ쩎v™çńO<­~‡zětÚi§Şx–±Ňôé3ÔůÂ8†żłwßuÝ1ďç_M_/ĎŃďý,fµźÇ�«˛·V;™Y`4•sY÷Î͵ßBCîÁŕň}Ö<EI6óáa!¸ůęa8ž’™ ÖŘÖ‘’š…WÇ˙‚?ç®ÂEçôCďî­Ž€@“T¨Ö¨íĘ¢Bddćâßu»đóÔ°tŐí9łµ,fńşú÷h17ś©]cŠťÖ ŰĹXĢ}Öż8xäDń÷ńÎ1JË´Š[kłŔŚôFŹŁ®˝„íŰ™gŽP×wŢź3ĎA‡nŠRŘľ1Żŕ̩ӛTĺz‘‘QŁnVíaކí–xoK‡6®éöŐWź+§Pg0ΡĐN·Ă† E||ś1ĎÂG~s-Îúźp;đś;í´ZśtşrŃâű?`€÷Őˇ}üń—¦üîöđ0öŕ˝9otꯖx×s/ěú裉jţî»Ç¨< qąŠIřűÚĽyłźń|ŕ GĆcĆÜîňó™˘đ÷ňtýŇĎ+¶Őˇç9\m·«ü"ă:ŹQÎďĎřç7ű ¸ż™#ăůóăŹß9öů:oŔ\×Çsą86ŐÝ`ÝE?®<ßo˝Őҵžn¬Ä±˙ś1ÍwÜ­â@ľF§1Ć<tőăţâ9ÍďÄX–çëÜ[ć3ß{o‚ş7 t7Ľŕ‚óUŚÇ\sV</“ŁřźűŤ÷‚P›™ŕ‘[™«ĺŮłÁLkŇŘüĽĘĽIZ†= ő¶űďapţŘźŔű7XEjöj‰ý±WăoŐ2cÚö¶Ő†vÚÔZK%8¨çů=íÖŻ�V˙muűo%ťkíYväň›gŢG0 ~ŕz`Îđ69Ýű«ăeŻňÖ©-­Lâ8vĐ8ŁŞ¶÷‚ŕŹ0ČdrŹđĆ‚%I°™ Ô<s°3 jҰíZGĺ_Aš[őŽÄĽB žú-ĚęŐ:D™đä9L °jo>ŽeZš¦˝0ĺ~Ó�Á" ÷'8Ň…',óçK×%ĆóVQĘĄJ,2Őłç)¸đÂK•؉IZô{:šŽ3&Ë Ě¬(&ĘôXŹ‚¶}lďIJOň0ˇÉD›ăş=…â2¶ŁtłĐá÷g'2“E“&}©„M}É2ö0ą¦;‡q›?ř`|);Ě/¸ŕ<•pÖ;ťAš..cRëő×_)Ő©ĘN8Їî¸ă.u ž{îEüđĂ·ZR*R˝Î{/&m9‚—ţ#Ř—aarV}ĚäÂ<ŻfĄÝ˛JŹFĺqם‘ŘÁh/VbÜMAŔě\ýóĎé Ěľűn˛zd<;cí÷#?‹eÄ®˝ö% ›={N)Á!;.™ćkÜŕ9� c “ LŠRÔŔQŁL¸“ĆŤŮ–c§°~¬8﬜Ť;Ë 4~ř‰šç~uĽŃýúőQe+¸ß8Rśîg:<ŽşKŹŻ}Âś%])`#<g8ú×ţuî/&ŕ/żüjµč,O`F74şŰş*ÓÁsTO;•ËăMW" 1,;öm5B_¨~ôş,‹—śÚ]``đ°)…Kòü,µNµ"?čL/€eĹ15ٶ¦^(ŚÝâ`čSĎDXyWpĆŇ™–&a0h“7}hÓáżť®Ľ^éŁ÷Ů‘ę)öďaą$ŔąŔŚmô[o˝VŞMb'&ßOÇUĆĽóę gGđÚÉöÝţË·ćÍ›)‡)ĆOtˇp±ł‰"4B·~{çĐ!C«ŽÂŰn»C‰y^yĺ5­Ł«ŻÓ|ť;0¸îşk´m*é¤äúŮ!Ë’¤ë×oPË˝ňĘ‹ĄÚ.Ć7W^yŤ:¦ě¨ó…ŔŚxú`9~ĎqăŢ,ŐŽP¬Ő˛e <˙üK*ĆcGž»e·ąŻß{ď5ϸ•ťĚöeGŮąNg1 Ń™Oa ŔvËadeă ˝ýw'v°§:ÚeşąđúB±Ű»ďŽ-SfŠŚ9ůYŚU(˛sřëřĂůWÓ× Ásx]eü>ţ•›0É&Ě»»öĹlőĚŞť™ ztm‰ËĎ€Đ`î™ Núf ęž0&:Ýy‚µőM›łR ·¬ŃF‘öđďúÝXła7bŁĐ¶Uš''".6B­+5= »÷ĹćípčH*ĚZśfÝŻV1…hűwÄ·ź‡Ä„ĺć+˛ť;t4ßý¶Xëb3‹�˝Cf–µ"c¬S›2/Ď|qVQ‡×$ş±S8ĚöžâgÂĽIU®‡tÝŇĹe·ß~k™~Üvж_zéU%bű²ŘÎŕ˝,M<fGW_}˝jWŘŢ3ŢrtBŁ0›â2ţ†čćd_™0ĎÂmĄ°‡í c1¶őÎ`yO¶Űtăô4§F•.˘bil¶ĺÎÜŰ*ŠIa˙&cЬżřâkuś\Ý«3çĹvž‚%OzžĂťí¶‡ą†!C+÷|űĽEY¦37Ć6›ŹĚłŘSy~@ ľdlF#–µ?çśłUܡçÉĘC?®ŚOu¸_śíÝ‘ŤźĹ|Őřńo—Š!)Îç Ţđ·ĹÜť‰íű§ů9şű3Ď –±­WŻžíuĆ`|ü]ňĽf\%&/BmB<÷ŻŔÎ^ü ­ű"ßäѢľŁÝ ?îŃ[”(íţÇkč$ČÍÖÎľxę<­LŇzs´ŽŤ[zŹ^\«%6jŤÓŮÍ´őhťKźż¬Zl-eéHT 0îkŕĺŹ<w/{ěŕ·oŕm2ŁăҶŁvo¬0‘áĎôęŐC)Ä+šÜˇ Bm7­¤^˝DUŠđf„‚�Aj–ß‚˝Ó¶ţâťőü°" ‡ŇK Ő?+áÁFDhÓ##KŹv;¬-űëŞ,ţĹeÄ踞 v*GČŮ‹ËtxáHO¤(“fžÂ)ÝĄŁxŃťP8šRO˘če/™Đa’ËűňéT–¨¨H•8u“©şĂË@8Â$&aÂěůçźqępĆô®»Ć <ôQŚAęÄÓaRúľűîQó9ĚröčÉc–8bRË&™´çţ9r„zNôŮĂÎCÂäłcbm˙~ké&dť%?ĂĂõäŕ:ő×r.\ˇŻź%śíGv:öŮÇ3gz™$÷Ľy TršÜ|ó NÝeyŚžzęq[’ŐYYoÂý§ŹäÖ÷«=şp”ÇĂŐď‚Év˝d•ŁŕŹťłg˙‰—_~Aëü}ÚéhmţćXš–čb4WŚ}«ËNlÂŃî¤S§Ž.K> >Ôvť˘`R€ Ő‹>ř/×P�ź ­Ţ<y .ŤüŰÁüŮVXÖťđq™+ŽäŔ<s?ŠŢX‹üËç˘đÚů(š°†u©0řńfgťwşúě¨ÓaG‹§ŘżGwÎt…HÎĘďđtË-7ÚţvÖF{ ^óś]c)n×ŰCgźOńăş]˝ňĘ NËRłS÷Î;­® z§seaŽŕŽ;n+ó<;ń؆ę0–pĚ ˛˝:óLëő›ťątnó6tKŃĎeĆzÎÚ ’ŘÖĎ›7ËmqŃ÷5a'´}G®c‹'ź|L‰Óz:PÂ×q#ŐŃ.s;żýöKm»_/#.ÓaľŽc©4{üáüó‡ë…`Ĺâ¦�‰÷|Ľ×jŐĽn˝f8&Ž˝/?zôi§JLZhj�Ýݬ6LFDG…ăî›ÎFlL¤v®XűÇŞ8±Äf|l$şă<Śu&˘"C‹+űX?—űčHJ.Ű/Z€·?™†qOäďçcî˘uŘđ„výµŘ¶“ű•ű÷†+†â©ű.AýÄXŐÎ9űlB×ÍĎ'ĎS"µâçµ)'ĎŻÖf3Ţ›N›ö›şŹw—éĐŚ.E¤˘ű2oPŮë!°|&a.Ćńľ[‡"3 ľ čWî@ lĹe„méwŚvk;8ĐQ\Fx~ŢwßÝ6÷+ĆĺńÄŹútŔ¦Ž;1 +Q”Çöç>Ď\Áö•Ą·«ShÄĎbĚä—âóö1‡łö´şňŚĂ)Žçţ!ĚyQÄ9tčH%řg†ňâO°Ď7qż8 Ŕ8đ™gž´Ĺ8Žç#Eoţů&LxW•–µ—éđ:¬ďĆCÇŽ Ô&D`&T ű†.00�1ńń8×>á——´ĚüŹđZňFK,˘ó°Š—ÍJע>-Ń?˙`ó* ÇŤŽ×‘ł6h™‘J8 }ńđýDř‚-:* YűŔ@Ja Bí.,Q@82‚ WýƶЂ ÔŚě3y'ŚŢŁ­ç€©ęmď/«łKý=¤](NoW"úŇ>Ű”ÁO]çRVBąp”ľăÄäK]pÁ%Ę:žĐţťŁ×| ]Ź\Ńşu‰ŕ¨˛‰}ýaĘR�:¬1BěÝČh9Ż»–1adŹ.0c˘–Î •…Nj®J)°ťŐIŽŕmŻŹĚ¤Ă[y.,‘á*™ÉŃş,ÝH؉ÇÄ”+8˘‘% G‹ÚĂ‘šzňÎމĚţoű^tˇ żʇ^nŃY2ZOŚr9=Ůë÷•łŞ;č 6}$µ3(Úr6uĆ ëöđ>‡Łd]Á¬Ë/żTÍł#ß׌Ś×ÓXV‡eTôďČ„Ľ~LEúqăqĄK™#<§śu&ZĐŃďýěKí:ŁĽ’ďt{Ů˝{Źšçţ+ŻSžâ�We?ďâ؉k á Š>Ü„˘ńa9‘ŹÚŠeW&Ěßî@ţí‹Qpál˝»†ÍŐ[RÔňLÖcčĚŐŁ¦ˇ«¨Ž3QpEđşĄ_K(¨wEůqIÉ B_uŔDD„+·+ô¶źčđ±„9ăŚáĺ–ń¦Ű©îZV•ëf×®]\^źőX†Bvg ˝3ŰHoĂŇZz~‘q„^šÚ‘Îť;yT“űšÎ¦„ÂŻňÜ:)bg9'–‚÷ÔÁĘ×q#ŐŐ.ówTž°}Ś\^,áç_M_/ĎŃŰ3Ć´<×âbŁpĆŕnxă©kńńŁqÍEѰAśťŘ©&ĹcLÚ¶µĽĐÍW GűÖIÚ}G`É6Wq˛ŠĚ†«/ń/ÝŚÓtBHp íłŐ>2ÚoSńîŇ~—»e‚´űˇ~=ÚâťFáÖk†)w4:—9ßVu”0Éü>cąOö^~Q©sˇĽóÄźˇ µ«rß„ß}Ą¤˘ű2oPŮëá¬YslqgEŐR^zéyĽýö[e\Ţíq& Ó±ŹŻs-sćüĄ¶çĺĺ——O·wB×5=Żâ6T‡sĄ'1 EäĚá– ·ĎŹŮĂ|•>豺ŕ�NW.`|ޤs<nŐť7`¬ôË/?ŕ‘GT‚6ž/<,ťúÉ'ź)üóĎżXő›UEÄ:k–u�c•ú»\ŽŻ3‡Iś}'ŠĎ(č/ĎA®tÜ• A¨MH‰LÁ%î”δ‡ťAL4Ně„äŁkŕ>żčsQq0íő[�Oh _�źiëHKA•©ŻÝ0?;^Ë]€J‘ŁŻ?_q¬M7$ipŽőŁO&8z€–üLô±3Ź6ľ¬wݰaC5*Rńń叾ݼy ~úéŐ!ĄŹÚe˘Ś#0iĂË`3TĚŰcµůďgűűŻżfşeŰę'~† >RÁ۲e‹•Ą>mü9 –5Éé^ÇÚň ĽiŰjäUe[Y;ťuŮąîÓ°°P-ŃÚJYß3XtŐˇzűíwŞÎb^}ô>ţţűթΑ<LĐ>ýôĘŤŽ°cŽ΄˛ Đ™ÔcGüÎť;µN»\•¨<x S^Gáą@[Zî›m۶iA|Žę°e0zöŮg©ő8ÁwŢyOŠŰożË6OK`ŽĚđědÔmÜ>ś<oçÎť§:V9šĄşo8A°˛5Ŕ»Î Űµ›ÎF¨ĽóȱĚ"¬?o‹Źřp×в×Ĺ;NŹÂ˘mGmoÔŢ“’eF„ű}:~Mm(«Ŕr2śĘŁ>™Ľ‹€ŻayJW°SHÇ^,ă LT±ś­ĺ)$:őTkBÍ^XĂR€:lëşwďŞĘ Z—ąĂöš.0ŁC“'‘Žčĺ\ÁŃĄL’9v€3Ô÷cąOG¸}L Ú»®éЉTÇ•{„c ’Řö[KŠ•ŔďÁĎ`<ö÷ßK´ĄÄEBßż21Čx•±!“^ú_ƶzç8Ë<9ÂQĘ,ĘeX1Ř A§©ía»§N Ž0É2,zŐUש8’É;ŠíKX:C߇ě8®hT˛}‡-ßW^nUá~¤Ë÷Ź˝.ÜÓËcň{ńxđ¸0.ĺq˛żnéq'ăÓŠÎS&LyLwíÚĄ’ëś6mÚdfŇy <č°ă ˝<;ˇŘÂ^č˝ĐDO. Ő‹ž<Ďó…Ŕl_6Ěßí@]Â’’Ë;‘ŻM†äÎn‚€˙%ĂQó÷U…ýw뱌}^‰e=…ebôsµĽ’ĺ]űŘ>ë0ŕ *ެ×<^»'čńť7!ŚßĘ»nćPř~WŁîP^^IoW\ ę‰}.ÁN2±±±ŞŁ™yć|Řá7|ř0•Ó`~Çţxz‚}ąV ţ}…Żă Gj˘]fqűö*ž8|ř°zdžNG/ę 8˙júz!xŻťśLvőĚfŁrţęŘ6 m[5Ć5¢ĺ›0uöJ¬ßĽů…¶ţ)ą×·ŔżźÖ·=Î?«—ÖF)±™w1¨ýbDçvÉxéŃ+µý±ţµ KWoĂ‘Łé(PżŃ˛ź`Db|$zvi‰3‡ś‚®“˘mc€–Ç2Ś.»Őčz¶mç!ĽůŃäš•XÍŰ”ŕúwŢĆŘçŔöś×\^K9°‹ą˝­*ďZę-*{=Ôď«)„Ń…2UÂ;ׯ•ďs-ě·#ü­çĺĺ—ŰÎٟݻwNĄŽ”7Ď›x“0Aw,ž3lsť ŹŞkŰíqć®eŹ+ĎkÇĽ`Mä xOrńĹŞ)%%EË»¬Ty•… )÷+Ë[ŇQŚĄ8uqś'čçŁ;1˝~opüxŠŠ«ĘËăRŕɸ‹ű’× ^7(6Ô©Žk… xé™ܦ"Á™µLf&˛Zô6| źp|/˛O‚Ç0ztĐíL`â=ŔĽoQ)¸ž+n~U»Łö|䦍mµ»yŤšŐ¶1ż‡U]íL`fCVW]Íŕ<ôĐŁe‚�śh™J1 W.&|Ď>ű˘L˛©ś`˘ő-k©×4tF  ‹Š=ëÖ­WÓ_ÍĂ;’ IŻ?îč Á@š7Nś({íµ—U‡_y0Č{óM÷Ę0ˇwď˝Ř\Ctč~‰³?|ßVnČl÷Ţű -8Ôaŕ§wô3IřňËĎWP®N¦NýS=R©w@6Tu23yÍŔ™ĺA¨~R˝ś<L©˘Ůú°XJô÷ý[† u˝˛ś6őŃłi0Vî¶ş0ŞŰx0˝’ëNrݶsĺ•—ă®»î¨6±ŃIc{@c˛’®śľč3˝<&;č]>8ú–‚ëŕ€T•@¤űŰmRžë‚;T6®=~Ľd´fy‰Sťřxç1“:î¸^čËPĹD¬}Ç<Mq@GFł3—I*ŠŤ.Ţăq`˘Ťű]/}Ş‹ž(ĐrVć‚ÇćŤ7^Q±źîţĄ;€ń=˛Łĺ?*sľ˛ă–Ç—#Mcr€^*Ś#ŽąÍtps&ÓGÎÖŻ_ŻÂĎŃK(ŘżĎWčnłŤĚý["0ł Çô‘ĺúqá~eRźŁĘą/x‰3Áa‘ń!c_wg.@žs†ýČö{îyŔí÷ń;ŐŹ~¸óLEđ6ćŇ´˙ůż‹De±ěÉ„eÂFäşĆaŤpIKXZT§ŽN‘ÁşŻ+rő¨‰üŚ»%.]a˙Wí#ńu\R•Ý·ößďË/żV“;Ôőë&ËSńśeűÎ<ÜäÉ?މ4oŢLĹtŚśu»Âľ\k ŕ+|y‚7ŰećĐx /ţ»LţÔ¦üoM_/„Şˇ»”ń^‘Ć,´ü{z±¸đĚ>8spwlضSfŻÂÂ%‘’Vě‚Č&˛†OSڍź…»o< ‘ᡥs^ýő=MjQÖłk tďÔ ™ąŘµď(ví=‚ý‡O +;Wí—°°`µ˙š%%˘Er˘*­i2šÔöŤ¦rýŘ÷qčHžű“z„Ź®ćâWŐű•š\ČŇľĽ–R,Ä>(gBYoÜ—ąKe݇zűB‘Ly˘`wq,‰ěév:ű»‹.îŻ)<ŤIěsĚ •çlUťTőü!5‘7`?ť9ń7Č8í‹/ľ˛ĺďşë^|őŐ$ŹĎm=®g˙±§çŁŁŔŚâ7ş]ąr•ÓóUމ µ OgËsäGk4ďŽě h„ĺű ×‚a„EˇJDk÷} ş?8čÁÁ–íg?zśŠ*UąŃzîp"ˇš¶T7• ěj3[Ť=ĆÖhłÓŚĄŠ(@bGĚŇĄË•+…Qˇýüóä2Ť?­T'Nś¤ćéú@—¬¶mŰŘlW?ýt’v3‘®j}łS–¨|üć›/Ô{®ĽňZőČ2N'~h[Ż/F!đ·řĚ3Ď«Q´ţ§‰ťŹ–±ţ8ĹpěÔĺ6ßrËMę=•ŮÖ|Ä&ňb�|ţůçŞ}ĂýLW3–őb‡ć1wăóĎ?µ9d8˛wď^Ľű®UĆNNn żÝÖśńŮgźkAŘj\{íŐ6l ąÖxgŔxđŕ!őýéŠćGWÓ©Ťe¸Ôč˛Ó`ČÓUůXn+Ź3Ź'<ŠĐ>ţx‚-č|䑇T‡yóćkë¶–˛˝űî1Ę˝ŽŘ;»xŽxĐnŘ9©',Y.‰˘Q–(™2ešĚˇ¦đňýźˇŠ9§=ÇKŹrŃ1Ôĺ˛ĂÚ‡Úfdjz%—˝%°†yu·Są¦;öu[=¶3<đšgŁ.ąS2– ]R)D'›±Ý%ÎÄb|nܸwUlŔöźB~{'°Ş ĚĽ;N î,ăé@Çű/Ćď˝÷zž±kşxŹń•îÔ«;Éqżs»@Ô÷i˙ţ}]:ÂŃQě·ß~RĄ3ëŃa–ť¬P1&äÄ޸qoşú—Ç 7\ŻDdtf|®—ReBŹĎq2d°ĐaźôÄĹŔ>Yęë?÷Łî6«‹Ęř™z‡4_#<.<>ěŚŕkśçČ[}űś•,elH']^#t8Ąląďw·oßNí3WĄĽÜĄ˛N"ĺ•˝ŞFŤ• Ę:IFQç™ažşůÚdě›Óőmľ»×«ŤĐŮ€×śŚŚL¬^ý/<Ĺţ=-Z´@]ٞ×MűŇŁućčĘ˲ďl›Řć±Ăʱ >`đ»ď&ků»[´ĽÍuđ7|ą‹·Úećż^|ń›Că(ŠűC$%%©rbt[=úN‚/°ŹáË~7 ˇxľ›Ô=qŻ®­Đ˝c3ľ2 łŻÇźsWcëÎŕOÂRąŠ�m;ożnZ6«Ż¶ł2ORüľ' Ŕ˘J\ĆĆD {§ćĹű´d_X÷­ŐĄŚ/qź:űýóuWąĂGµ>Ž7&cíć}>—Y7µ bŐűňľńÚ¨Q#u]eáGy\őYÔjZäRŮ{ťÚGUgn˘:đ§Ľ÷-'r˘©Í-8P•1ś^VŐ]Ľu>ұźy8ć´8€±§6mÚ(‘Ţ[o˝ A¨ŤŔL¨2öb3&Őăâăp0®ZŞ\-ĺri;@ËPTQ`¦ÓCkX&¬&=üüĘíD5i?•[µĺnzTk ĽTr˛iK e;`ű&x›-:*Ť˝{Ůɤ†¦đ†â/ÂDŐŤ7Ž*ő:;mXRâ0Ţ p4%GMÚĂ$áHÝĎ?źXĘĆ•vţt `]oşk±Ö:;Č(ęŇGđ‘‰3>úz4›6mĆ×_ˇĘFę0ÁE{Ţ /ĽTą^Đ±í¦›nP—§ŰĘ2>ş¸ŚĄEYŇ>(>묑JěôřăO)áŢرo+w8gpt÷ářńă*,kDŘaúÖ[Ż•ęlŁ˝-…tműďżµŞÓšA#oćěy㍱J\Ćmeç$K4ŘsÁçáő×ßRŁŽŘ©É˛F,}JôňL°-O‘auŚ.á9I7bżÍÜ_ÉQĚÇ㡻•‚P˝Äy7ď†;Č„ŮÇ`ĐâNFŁöcńüšĄ]K:4r=:«ŁĂks6ć`˙q3Šň —ź‹Â‚|hó…yjţ.ľfđŕAŞä";_Ůq5gÎ_UvGőE©ŁĘBqfŚ5(ܦ%|VV¶zMÜŘÓ˛e U>ń;"ą/tcŠúkű˛ętG­W/öîg‡ŞđűčźĹ’쨵‡űŠńĘţý”°Ś3}_őď_RöśI6vJ0FŁcă[vęgb&{ř™çž{ŽšÝ.řL”q0ă/&ĎżřâSTŠ®żţZ5ńĽĺö±Lř÷ß˙ b8еŢ˙CÜsOIg'Ď~çÇŹT¸~űeěËrřŠAŞmć�zˇ÷Ü˙önlJR`FŃË®ëÇŤÇÓ1ž%ăÇO°‰Ëř›ŕý …iŽ÷xş \U°wüúëĎUü+ř/zbPˇ 9^ľö·„×0jž1Z jks´ŽRgްą…Jđ…lí1-–ją™—U“ˇGL7·…ˇď:b˛čĄÎý3wĂlĽľńÚĺěŢ»<tá+ż[ďŢ=Q×°żnŢwßÝĘ‘öd€B1w`;˘·%ěTd{ĆuĚQ±3Žbyv¸9Âp†}[îN<VU|ą7ÚeĆ$ş¸,::J‹«îŇîA–)uéĚŐLĽ‰UĐeRŔ\­ŢŹo0čâ3k®™)g‹Ĺ¨ś»š4NŔuÄEgőÁęu;ńű¬•X˛z›–ëε ÍŞŁĺ´š§0rHwŚÜ]őU¶Í®Ěűś <*+„0¨Ř°˘őëŻóý»÷ĂÓoţUkwŞiđáŢ4÷%Ôć~Ş'ź|FÝßńü5ęZŐ§äŽ3yeđu^Go_č2Ę~o¸Ue;X.zţü9¨-x“čN󤢲”µÍÜpĂuJ`F«y*0cľŚńťĺ]őoV…mş¸Ś}‰4­`Ţ×ń7Fńż ÔVD`&”‹§Îf4Ń ę@®ľťqĽJH8pŰ8 ŰPŕĹ« '%+Łă€—ľÓz†Ăë\~łöą÷ĂŰśčp ’µĆĘÓ Đ{ŽćŻČîÖQôC±×˙ţw6V­úWu´96ö/żüšrýÚ¸±¬Čo˙ţýꑥíĹe:ěĐű쳏• Ë1!S°SÎ^\¦C·/ş„±Ô'o~Ř™Čm÷ş…ş8ŠËt†Şlö)đ[°`‘ęřÓEZްT‚;â2Bg gťźÜ†[nącĆÜŁţf’Ď>ÉM«a=‘}őŐW–—žóL�ł#“ĺT|ęłšD/ŹI—4˝ś’Ĺ|11řçź3Nšäµ ř­ ˝›äi^XqçĚ—‹S´lś–Ŕ4jŔ@5 ÍLÖżŤvmxD°ëö<Ü!4X˝'˷磨XP¦?ęó"0«(žąţú›TÜýÎ;ăU"Ă™«”^ŃŢŠŢćř Ň|đÁÇ6X˝ ď`qŰ>&ZtÇ ďôuŐ•¬—?¤łZy09ËD–3ěă0Ć.ÎJ@ępźéno-[¶tş c$Ć/úrúľ0 D`F'9Šű)Čç>ŐĹ錥čŽę ů±“•Îcwß}źC-UĹŚ1›7o†ŞŔíŃ<pŔ%—\ˇJŁN›ög)÷!ăLÝń¬ĽRwt#ěĽö5ÜźüÖ «”¨’p»˝;0Ź]Oôs\?~¨9ĄŃ EeŻĽň˘Ëű¶ŚŚ TűxšżYů7<ߊŠĚ*2"'^Ĺ8 >ĚŤÂ`9íŢ‚M0´Ś„!9B›´óťŹőB`¬§ýFcť Ę*ŔŻu§äÁr,Gm‡eżö›ÚŻ=îË‚e»vľçyż4(±¬<†ÂUÇ`ÚA··‡9ÁK ËÁdÖď±ýÓŃ€9 ĚȸqďhńĘX·ŢGç'ÝĹ”˘s{Áv]1‚îđĆëfmÇ^ĐNÁż«cV™x“±ě)§tWÓ7Üp‹zžśî Ě©DóĚŽ]ţňęĘ©µ2ř2r…7Úeş˙ëÎeŹ?ţröwSÁWčýLŚ“őŠ+%!m‰ŕIŹsőG.ËçŁMF ęŰý{´Q˘¨éó×`Ć‚µŘ«Íëcö|ŮłÁíInŹ;®;áaAŐV¦Ő™ŰYeúpĚfK±Ă™uťZ^kĺŰń⻿aÇŢðđ5Kő(´R;Ý›xJa1aËčŃ·ş\¶Ľű2Éëč÷ÇŚóľTŻÚâ o·§öčí"ú˛=ő6žĆ$ş‹<űlY¨¶S]y:|m۶M]ż(ř˛7Uq†˝žÁÝÁöđ{Q`Ć|“^ŔSôü Ű/šl°ŹÖŢČßBM!Ĺęʍ(xŐ/îŮ-=ë¨p –¶ěs|Bß˙ďhýxKóäÖŔW+|#.#—ŚŇ"ĘPxłÁÂS¨ygŤmY ęň©iŃŮ7ß|‡gź}ˇÜ‰ĄĄa€çJ\FhZ5¶trDE ;c9ť_ţ .#Ž"${X:G§˘gp„ňîÝ{Ôüĺ—_ZnPuŢy˙łÍëĄá(�OF;—˙ÝZŮćż`ňľür×őŇé(ˇŹdŕH’]»vŁ&Ů·ożrz!Æ -Sć–Ž$zyNŠůA¨~j×–¤"ďĚ’µő42{7ą¶ţ@Ë×6:IĘ]Ő2č¬Jˇ6aŇRwRuD!¨'ŢśAq;sý–íŁSˇë('rĘ)Ý\†ĐŰ~Ć`tiĺZÂŽéš‚ń]D ŰiűR…ŽüňËo6'RGtkÚ4ٶR®`;Ż´p×RŚH?0n倎üĄ É]HĆm×EhÝşuŐ˘eݡ™<fÇRëK—.súąŚé&«ăIbŚ%Ě)–·:Í:w!ăvéHčÄkĎČ‘#lŰIZW°#•Nh„îÎ={ö@e(ŻL©#˘ď{îg=¦łüî{'ş.s9=ţÔŹ§#Cx?c§°î„V8ŔFOxÓ]†űŮLĽr`„ýhlˇzŃχłĆŹřR/­ń qţz˝PĎL‚éÁÎül ‚fŚ@Ŕ`z¬+ŚW·‚q`ÚĹŔT)q±iďkC§XĎh Ó¨60=ŃM}NĐŚ‘ürLOvń’ć0´Ńî‘L^Ě_h?wËěýČ»â/MÚ Ů·ťˇÁEÖűľęę°ö”SO ®äďż—ŕÓO'Uřş9>˙üKjžç*Őë"Ľg§Ł;á`»ň\ xMýé§_TžĹ_Ë#Ů Ę\ ćÉś9s]ľĆ}đ믿cěŘw\.Óąs'[ŢŇÝ8‚żćI}\é ş˘<wÜqW©rëáŤ8ȓء"ĽŃ.ŰǛ͚5sů~gůUA¨Ďű,JäÄß‘^.SźŚvWŽĎSÜÂ\~HHÚ´h1׍Ŕ—oÝŽ—ąz¶AXh°˛>łX-Ľ¬6h^š¸Îŕŕ@ÜwăYHjŻ]÷ĘlŁŻ&gűÉ~˛ĘęÜYlâ˛ÔŚl|úý<Üýܗرď¨őý^Ü_®¦  �Űń­Ť”ľ–6uą9ŢĂÚă/yć ôßÜW_}SZsŢyáµ×ŢôşłÚđáĂlç„î<ĺ ć<,XčÂObĆÄŚ óJî/ToĆ ĺQ]yćuXáhéŇĺ¶Á.ĺaß_ćř;uçÚsĆÖÜ;2oU3fĚRç¤cţOĎßP€čJ\FćÍ[�A¨­!ĹxŘ9[ž/¬íšÜa‰đ*˝/Ô>Ŕ‡6­Í;O|]ň7żßż�ŤÝÂxLt¬QśorLŰިFŤŐMLV7lŕY–‰Ö¤ –_uŐujtŃGńŮC!áÍ�—}ě±'UÄN_$6Öué]ŚDôŕĆřÔay&:}ąšěÝŢtQš#öî îP^Sň˝srJ×oç1' ¤óňňËÝnűőěŢ]łł©SK‚`:í9Âë¬čň;ęßS„ęĺĽ\ﵼµ{ĆÎJCf^Ů„Of®ăçĄCđOĆŚąÝ6"”ť¶©©©e–ˇŰΛoŽ-3ʉ>:´ę1Ž?ŔxT Ë€śHyň>}z©{ ~]@ÄÎŰňÜľŞK/˝Ř6ňţ‰'žv*Üç÷{˙ýĘ]Ďu×]Ł)śc˘ÖY"޶·Ţ§ćYzáĚ3G8]Ď ş¦ŻżţV=r;¨Ž,Őf®ÄL<Żxŕ|ňÉgj´¨łä-ťąL#ŚMĘK°;ÂŘ’ĺ¤(¤déGgIOР׬±&hÝwYŇI/-úŃGKą”éđÜyîąUśGčf[Ů{ٰ°’A҅öIćJŔâńŃz2źÇŃ•«_“&ÖďËäeZZYwg–cą˝ülUąöÚ«Ő#;ç)q&ä}O?ýÎ9ç|%|Cyąýµ`ło XZD č«Á0ŤiðĆV‘ם´çNGŕŹC`z´+Ś˙KÖ~¨‘•‘UzŰř“năpë6|r*§Ž€éµŢ0^Ü †Ć^ę¸É+‚ůÓ-(|rĄO 7 ¬ů.Íăđ\{úé'lîV,_üÔSĎ: łaqÝu7¨ÎÂrŔtÓôşh˝¦řýDZäă>˘Őa{÷î»ď«XíŠ+®Q*ý‘îݻڮ-<)))e–ůí·?”ĐĐS¦LĹ /Ľ¬b.ë ćظżH«V­ŕ.Ü×úńfŰç¬,Ĺě<?ą~şŠ8«Lŕ oÄAžĆQŐvŮľ$űÜą9ý ĆS“&}‰“ýü¸ńĆ[m.#ްš{Żľú†ÓýÍkßC=Š[o˝Ă6 @(ýşb6[l—žŚj*OPĹ×ř› Ô®HŹÄ9C»ăťgŻÇÄ×nÁŐç@Ä´X[•ŰÔUUU™ŠĹWźŐú¶W"7–řô¦¬j4C…ŰŁďďÜüB,Xşcžúăż…Ěěü1ž7öUSp°Ç:ÁJ-ú¶SëLhuđŕ!ePţ’סAŢ÷@GNWŘŽ˙ő×|Ő/Ć·Ź_őm.YVđ‡~rş?˙Ć}÷=„ .¸Äĺ ľęÄť„ą˝‡~Lgî;_WϱŻůşôuuä X†V?ç^}őu%0t†ž?déuB§@Ç<ďcôuąÚ7C† ¶Uezĺ•×\ ˙úkžĘçÝrËí*żeŹžżaÎOw­wdâÄĎl.Ď® ŔŤ±÷­łÁ©ŚŃŮoÍmp5‚[¸Ć´ÎúÁˇ˛H‰LÁ+č-„ *G뀶Ůóá5zśźÓćk@MW’°H-YŮ>gč˙€YżÁ[lŢQ‰eěÝËÜúëČ‘±c_wË&ßvĽ0   śťXÎ~űóÖ. ţPb`4sćl5:p±“–ř5ÝŃ©ăË3űÎÓ{îyŔí÷9ëŻ •ýnöŰÍ›w©¨$«/áů¨×g' t+ş`Ň‹e>A¨^†äáĎ3v*ýmYhĆŕ|ď—vÚw˘w|}ď\Źp«ČäDVî˙!űµ×Ś~Úćźě°äLěc‰% gz¨t)u ‚X†‰ĄXęfÔ¨›UÉŞřř85u3‰Â2ĘţĹdŚŁ´Ôc˛ňĘ]2–m×®­*cţűďSÔst…ňĺ(Owŕ6\|ń…*áɨ—^z%.şč´iÓF‰Ä(ÜbiOŠűůý\ŤvdiĄůóhÓB­Sk±¶ŽËTIȦM›‚–L@±T“?Śž|ň1—®ą*ńł¸ą>â(f",Ás‡ oNÄY rÂDÜe—]˘J¤oßľ×\3J}o:Đ2)Jń“TzŚÂ}ŕĚ ÍQQdŔDż'·‡q5Ë˝sp;é~ýµÄÝmÔ¨ëJ˝ź÷›Ď=÷4nľy´ŠÓY.ťĄĐ—S¤E77ş¦ččFYe±wcbŹIdŞL:t蠒Ꭰ<ďĽóžJ˛’úőë9-QOŃGŕęŁVů·Ł0P‡÷&/ҡîĘ+ŻU× :ůňáç0éĎ„;Ź‘+÷eOŕç±Ă•ç'Ź…‰<FÖsŔ¬dp”2K§:ěń7+T?ú˝RŮwé=K ĆK[”ˇę·…Ť¸­}µ†G›îęěÉ‚yá!gí‡eGŐ:éĚ Ă0˙ ŚÂDUÜéZÓy^Ë^{í%%ľˇp‡×ŠlzőęäädĺĚČx„ÎöeťxŤľűî1đ%ěb›őĎ?KT Äma.©şöŻÉ·ß~+Ţ~{Ľ*~ŮeWáěłĎB§NµÎ¬uŤćvé¨ü°í÷GččĎ“q‚tÉR`Q1FeÇ_;묑ępŰ ÉŮ9ţ⋯¨s‚.xŚ‘¸N¶1zśÄÎ>}§;4oŢLkűG«Ž2î×K.ąR}Ű!ţ~¶l٢\béJ®żţ›+Ş;x#ň4v¨Ş¶Ëµó^ŰĚŇőü,Ë­şäđxđ{#ŽđwëŐĎÝGyłfM+Ó!Ď ĽoaĽĘUďD×yóÍq6'ŠJgĚę·ąuAĎĂ[EˇęÜuÜeöyúňö§ő%«ŕŚď Ó»vHF§vM0ę˛A·d#ţ˝ë·íGaYűőYÔň®Öh±E6V§Ż�-Ďڰ mŢ„ő˘qóĺ§+3űvÚYůĘŠ¨Ě{*łN>§J’jSFF–®ŮÉÓ–bٿ۵{łuŹŞWčĹҢ¤ŞýŢÚ »ÓŔNĽçu‚‚,^?č¦DŃ«ąđúŞßÇţţűJÉţQŢ»9Ăźň:>xźĘ?đžś/ţGµ!ÜľcÇŽ+ ż+áŔ·{ďőMÄ#Ź<¨ößáĂG”°—ů ŠÎxýeěÁÜűLtaúí·ßćŇż:iŢĽüdëÖ­*fĐĹ‚ŚI|9ŕ‚°Š�÷ s%(ŔĎÇŘŘXU=Á›TGŢ€ą¬QŁ®Ĺĉ“ÔďŚCĆuĚ˙0×Âś÷ýâĹŰr]„ůT~g{¸/¸¸ť¬~Äřťëçµ’q*ařüóĎ(9ŹóNC‡ž®ňn4ůŕď–˘|=Že?üm·ÝRęsx]ŕ@BĆwŢyŻŠYĹQcLź>SĺËËß°ę…yü~ŚEřűsü\Ńű¬‹Ěž=]]tÇR¬J¸Ţ0¦o 3ˇBĘá8Ť“űu×z8˝$03i§j§!đ9?˝C©łu>KKDüö©ÖJŢź2Đ»féť{!VkD*ŞE]—a2ďÎ;ď)Ä3(fݨQ#•0a˛‡Ęrű Ă‘n¸^DúM;uŘŃĹŕšĎq2d0^xáYżh}EemŹé¤P“TÖXżQ© Xę#Ľ GTVÄôé3T˛ŢU‡¤ ľé°‡3óńPT0Ň*‘ÜŠ4[đ`VľĎě„WěÎĂ™ďĆ 6ˇ ˇČ­yČ.°HŇŰĎąńĆëńÇSTI(ŠHěĐdÜq`NEě¤t,ŐČ䓟ţ%0ł:5é1…—Uô&×QÓ0ËN&7yś>űě‹RŻ3őňË/Thu˙Ę+/ŞDtL0éŁ,íˇsěK/=oss;ő¤éßßąxŹÂ3v¸–Z´włpä¶Űn֒ۇ”p€‚­qăŢuş;—ď˝÷.x­ŻĽň‚¸ŔÄ9ÚÎFu2ůĆgČÁe^c‡ýŚWI4ĆüLĐqr„ď}ö٧ŞÔ‰A$Ď?&˙í·•ŰvÍ5W•Yžű•EÄ™ŕĎú|éăĘăč ŠY¦ŚÇŹIw&íáµýÎ;oWŻy«cřµ×^ÖŽÓëJĽF'¸ >rş;Y(‚jý ¶.ŃÇ!8ăU-Ő„ť(šą–iű`9Qą{>óĽCđ•Ŕ,ľĐęôíď÷uě\™4é%ľ`;Í6‘×GNŽ0nąůć”SŻÝJŘÁőúëo©NH:HÉ“ż©0Ţđ&le hĆ®Ę<±\öoĽZăÂůňxüńGTůfеŮ)ČNg{Xz›Ž¬®f,˙ĹďH§î =‡ć;<y*şşňĘËUŽÇśy:gĄ˝Ř6ňü»ĺ–›ŕ)UŤ<Ťܡ*í2Ż+<·ß~§SآŐaěÂű Ůë:öN‡$âč&ĚsĘ>ęĚ‘BtXQÁ˘ˇş†ŢÚś·S·Ö~¨ňÖRöEľGo;MÚ›Ő‹ĹĺçôÇyĂ{bÍĆ=řcÎ*,Xľ'ҬW¬ÇŞxmëű9Żabzwi^]›ŁUÓúHŤDDxz=Ŕd@hHp™c\™c^•óÄU?ťýót+ÔÚć´ŚlŢqŻÚ†ůË6a׾Łę5őťéx†ę=_ůy‘áÖ˛ëţâ`殓h‡_Ű|Q´Âö‘yŢź9–’fŰÎ{xĆ®fţ”×ág|úéGjđ�űľ(ňrćĘؤIĆŹ[ ľ|…ÚŚ/|đQµO]ĺř[żë®;TÜç/¸“đśglÁţF_›nĄb7ЎłĆnăĆ˝ oSyŃŁoUç*âr—WŐ‡"°űďż×ie ÂßÖwÜ­Ú~=ŻÂ)ý5Ëvm˘Đ>ßä,n"ęó÷î8ů6~Wşů˛Ź”‰őŠ:šŽq†rAs+2Ů;Ž9+»k‹äćć©ĺíföŻ[×Q3NĎBÝDfB)Ü“U´Ś.lĘm}*,ËŢÖBG/ŚmMH‚BáSVh_:Ř׎»hÓMëÁđa‡V$­'Jűnąž—.t¤00–î}Ő1r&x˛ż©Í®fÁd"~T·3ŕ¬_ßó‚„#7ŻżţZ51ą@‡�ŽýţűT€ĆŃj ÖîąçNÔUÔůúëĎU2´6 o7Äůóç 6`_#Ţ]x®s„†+A|G=-9÷\f^ Ć“űmf˝" ĎÎC}łoý?2rͶ6ŰZń 8+ř7LŞ1áÄN,vŘŽ÷N™Ë)|óÍ—řňËŻń÷ß˙(á;“:´W.Mtk˘8Íź`<E׎ž#ziŔň`¶˝x«<Çłę„ńĺcŹ=¬’Utć ˝?ŹĹ`={öPťV$0Łxę©§Çůçź«Ft2™Kq]N8 âôÓ)gwJ:QPĆ$“ILl±Ô…«ĺtYyb&}ű^|ń9%l˘ŽŁ)‚gB—nľt!ă@ űňžŔsâ‹/>UŁłgĎžŁ°šßżaÆęáČJ˝438`äçź'«íăčŃ}űö©=G±2^ĺ=@Ż^=QUxOôÖ[Żk ď/TG3Ü®: ÷/ŁÄ•ŕŹÇ‰#fé¶Ěăçj9}ŘŮĎ$$Ź!Ď:łđĽcň“ż}‹×^ó^Âç�“˘ÜŹTr”/K~©s€űźçoeϡr8ćcôrĂB÷]OZšGÂtk;ŕƶ0˙u�ć_vòî„G«0¤ún0RÂőhß) >Óó2ĽvńÎ8„ť-ědĆŽščč(­Ío©®ită +iu@‡-ĆNt°¤ e¸öîÝ[­3¶‹?˙ü‹rnĄH‰BÜ/t”>|Š!ü˝<X\\śÖŽ}¦:Ăčđ@g–ŁkѢ…jč@ˇ ©]Áöá×_TŐčB‹ěě-ŢŤT®­,)MG‡đđpTîkŠđG-Y˛Tkź ?ż@Ĺ=zś˘^ݬ»fUă ĘÄîlSUÚeĆ?ţřťęř¦Ó·‰yNĆZÆ QBPgeŰë"7Ţ8JĹžű÷ďW±»cĽM7:–ńÜbLIń€#cĆÜ®-ł‚;˛kkÉżęDßG……ĄĘ6ęN[úëĺ7{·‰\őf!čJ+ôîŇű§`Öâuřcοؾ÷Hq™NZ®k»&¸ä¬ľ8­GkÄD‡ÁdÔËJJm‹}ąIűĎŞ.3=ţÓ÷żąy…řgőV¤śČBžöű=‘‘Ťý‡N`Ďăص˙8N¤f¨B=ú{­ß5„qŃaĄľÓĄüĽ?Šâ ˛xćő}çÎťŞmăuâbşo—w«ăOyŢ—ň;± &ŘvîÜĄÄĺ,÷ĚÖl#ŘľřÚ`Aß:Ą˛íĺv0ľdlL—8:VqfRRcřÎbţîŰ`LÂí¦č¨ş`^±A*c&cd_•\­®Ľtő〖ißłgŹ*AÉóżťćÍ›©ţ1:'»Ş�@x<>ţx‚*QI1%żŚEy®Ů (ąÝżüňúĽYłć¨|ă8ţ.S°ÇăÎk‚3xÄß3cé+VŞß8·•÷Qt8cÉßś+8řbôč[´{®Ż´c3-.);@ŽfĽ˛’ÓťwޡĽÚĂ\Ď=ö9vęÔAÜËŻânkmpó5Źë“ŃîQźLĹĎ™&ľĆ,šQ»üµG±–Të/ţ|d‡ANN¶ €©Ż®íqµŤŽóöĎ9rDkDˇĹ„ źY~ÂÁ-·Ćn€Ďظxp8%Ľ�+UŮOáZ2ěĂą@;&λĆéU/'¸żE'{ëk•L‰ŹŹ·=oÓćřś«ż]=W0đŃ;G<-‘ɤ×yç]¤ćiiO— W <L%ú*ŁŢOOO×W¨G\ÎśYZÄTŃ3™8ńCT–ˇCG¨Î#&"™Üł‡A>"`ĆŚ)ĄŽą=´l˝ývëĘ7ŢxE•íńd[9‚ćÚkoPó´+®l ‘’Ë–­PÁôO?}_î˛tňşé¦ŰÔ<G00tŻŹ}úXĎ–¸˙ţ{lŻńŤĺ)Č?|«‚ĚĘ0oŢ|5ЇĽ˙ţ;>+‹JŰâ3Î8Kť“ě„˙ţűŻË]žÉ@žëĽö2XŤq¤ĽóG*G"Q¤¦nŠô‘˘z˘ÍU»Q]qŤ'1ŚłXFwµL^x›Ő=ŐXüh??g,q—H׾÷—ˇ€ň<¸Í+Â59´ß.łpjSAńŁýd}®ńě1ęł Fíó9q;ŚÚ10Y˙¦€ŚŁPŤĹb2}D°±8¨ ĚôŃą\ÎPüzaAľö1yĄőůĹłîŇ>ä€|4ŚÚ|éG5q…¶GÝŁQ=ňź+˝¬ő˝ć‚Bó P”k}4çrľ d^{Äë¨1ýĆßY|ăĎqŽ ‚Płř[<S• GD3±ţý®ą_oĎ ŔĚüĹV—ukyăąÉ0=ŕ›˛6wŚKš QůܬmyAˇz©‰xĆ•é€;q ]g222”‹?Łd;¬ËąjľJŻÚ“AzµĽŐŤÎ 3˛r±|íNü:kvď?†Qť†á§vBDŢîZśŠźJ‹Â¬ËU†âm0۶۳ď` Ţš4Óü§G‹Ă1°ŘŢç/a–ńÁĹĂ;ŕáŃ*ˇ1’ËA܉gÜij AA,sŔŕ$˝řŃQ•b)~4ŰM»GÇ .ţ.ďŃqŢ‘ Z!x ű4“a´˘<Đ^!ă|Ć–ĺŔŁ#ö©Ŕg;7Á'äĺYޱ¦<Ô˛“ue?š .;•97«:ö%ĄYąr•S[QBń]heL±¤3č0˘[źşZ©l™ĆšŔŐ¶RiŻŹ á(ŚňF4RôD'ŠC‡٦áČ`ýÜvUšBgŐŞŐjt ŽŘ˙>|y<ét˘źK®,|íáČŠ GźrÔ¤ 5C”vm¸#»�ď¦ç⊜´+4#NKĚh— >ňď+s ńnZ.nĎÎ/-.AA¨$şŰUóŔz<ÇĐ)¦×z#đăSač™PţÂZŇ;ŕܦđÍ­®ëŽf‚ ‚PĐËXÚ»i50ÎččAQ+™ L%ĺ3M&#Žá:běăWá»·GăÂ=޵˝Öeě;´ EiEÚäLçٶTe˛~¦Í®ČŚż–nÄÍOLÂÔyk´ż-N¶Çh÷=üc2 hT/¦ÔąPrŚE0&‚ µ ÉZnáNéL{(0ŁČéP“îŔ®é¨2éGĂ;€ú-ŕU–ţĽ|‹—żÜ±CŔŐ€·z„WYżÚęPâ2»ôF˘vłˇ—)=ˇ1o¸xHç)Úí;Ž<˘CͳϾŕr,SóČ#Ź«yŠÍž}ö©27:;věÄš5kŐ<ݦŃ-ţYˇ˛Ö×Ő…;ŰJkř—^zUYę>˙üKxâ‰GËŘ"çäähĎ?­JŻľšTérŢ€6˛Ă‡U%;hĎKűY–Íp„®w<đ°˛ ¦ťî´iż—únaaa¶y č|Ĺ”)SŐ#÷?믻ĂYgŤTnoýMź>Sąö ‚Ps4Ň{—jmúĄąŢi×AAĘC#5 ®“Ĺ"B%hŤ€·úŔňĎ˝·–=�i¶:¦,m|SŠÔd6 Y¨U`ćŘé*‚ uĺŠ^,z˘sš.ćұOG[,Ąźw·_ĘŢáËîŮRëâ2!ÁZ˙IP€Ýg–¸„=‘‰ŤŰbŰžĂŘärs `BÄh4oRZ5Býř(š<î3«*i9řäÇřâ—ż‘“W� j˛äĄg´ăߤaśMô'‚ BíEfBÜ Śí—q¶Ľ.p*lsĚ‹_‡Ńě…ŽÖy“€Ëž×:řŕ  Č˝ĺÓR€Ď�^řřß•đ?}oSçžę¦ÂY=ôŇ7lu×ŐŚb ş?±6öŇĄËqĂ ·¨šÖt{˘;ëjł–<ń,=ÁşŮŽtďŢMŐ§¦PŠëˇ Ť5±YŠK_ÇŻżţfsK5ęş2ëčÚµ3VŻţGŽĹ‹/ľ‚ANCVV¶<ůŰM”;ŰĘę .RNYÜ'¬ĄÎ}ҢEs-)`ĆîÝ»•»ŮŃŁV·Á#†×¨¸L‡%=yĽXCýŐWßPb3~/ËŚ -a°q“źĺĺĺ©ĺożý¶2ż–—äs,aůńÇŐ>áą‹Ž;Ř–űä“OńÁ«ůÇ{Xí3w9~ü8–,Y¦ć;wî¤ÎWwŕwˇÓ·ŤµÔ=Ť}'–/_ˇćţy2’“›@AA„šĹ“Ľ ]7"ĂÂź‚#aŮđ' ™…0¤äŁčx.,Çr´ĽJSK––#ĘÖ&ł“ď®uři÷ˇZĘ26m2&„� Â` őm!CżzčťËô}0Ď?KZ> Í"pA3XÚEĂW$ä„#""\Kµu8g#‚ Ô^Ş"¨b.ž"3ş•q ,s­Öň•%8|Ö?ËYŮJWđ=ž,o˙ľ¬ś"ü4cľťşޤ•Ů&ŁöHdzޝ[ŕ’3{˘o·– *v`ó……f¬Ű¶/ľ?+7ě¶njW,Ć âŐľ™ ‚ ÔnD`&ř·´Ž®×G˘šŁAęVT™éă‘c ­U"_Kj~ů(đŰŰÖŠµ˝7xŕjŕßeŔ#ŻA¨»·{M`v°yÄ&Ä;—ťl<ôĐýصk76lŘuëÖ«ÉŠĐ^zéy%Ěq&0ăMč+ŻĽ€{îy�[¶lUâ+NŽâî»Ç`ČÁe^»ňĘË•‹˘­_ý]M„–śô'ÜÝÖ×^{YŰ/Żă·ßţPu±'LřČéú(đ{ňÉÇŕ°”é¤IźŕÁUç«cÉŰ»îşĂ©(,""7Ý4 ďż˙ˇÚGĎ=÷˘zţÔSűcܸ7mËíÜąË6߯__xÂźΰ%UÜ)Ź©©¶cîÜyJ,·}ű§Žz®Řąs§z¤ MÄe‚ ‚ ‚Pű` 44MĹŐŚŔŚ"±}ٰlI…yk:°_›? mÇÁl«Ě›ÄÁĐ8 †f‘0´Š‚±M4 ­Ła ń˘đĚd€áě&0ť]räko’f1I‘|Ž ‚P§aţ•B3VÁ /#XsLUF@UŃUxhn»ütś?¬'f˙˝żÎY…ŤŰ  Đ¬bfnOdä`¦öÚ_Ë7a`Ď6¸÷ş3Đ®EJ‰Ú*‚ű†Ne?N_wľšŤ”ÔlµµQdЏ2eHËCÄô‚ ‚ŕźŔLpOťÍ‹‰‰ÁˇÄŽŢeť�&Ý Üý-*Í–€÷ovo@Ąá÷›ô6°R[×+íş RPLňŘ-@^.ĽÁᖝР"˘TyĚ“5P§ čÓO?RÎT3fĚR"šěě$$ÄŁoß>ĘqŚĄ4ËŁ^˝zřâ‹O1uęź={6oޢJ(††† aÆčÓ§7.ľřB—뉋‹S¦?ü˙ýʞ…‡‡áСĂ~'0sw[)¨ŁpŚ",î[ş>|……EjßvíÚçź.N9Ą;ü‰ÄÄDu>,X°ż˙>E ÁčhĆ„…U˝{÷ÂĄ—^ڤ¤Ć.×qà ףA<ůGU&”Vî<졨‘4mš¬Ň<çáM6]É<áěłĎT3ňÇSqĎ=wşőľ¬¬,;v\Íów!‚ ‚ ‚R^>†9�Ţď¶Ď«‡ĺŘźRhaW&Š6§jů•4%(łlKrÝt†Ż*©ů°pZźŞţTźJAX«(şĹĂÔ=†Sâa ©]Îírë«clźĎqD:YA„Ú Ű1ćbŮgÄŞĚ×: mśUÍqś÷ŐöéΰI bqíůýqŃXµ~~ž˝ WlEjF¶ŞłÉĺň ÍłdţŰşOÜú?ś9°LF—ŰçÉöëËî9xo~6.\‹" úYâµ/ŕwn\/aaˇŞAbAA¨Ý¸Ű’Ü|ÍŕĆŁÁĹßúd´{Ô'Sńs&‡‰ŻEń1?żŕoÔR“„üŰ~˘Ź………ČÉɆY &›4I‚/q•¸´ľ˘y–śŁPeן_bŕśÇá5nŚ¸ĂŁ·ŕŕVŕ›Ge?kH‹5 é8™áůó™ráµŔýĎ <<&o> ŚŢâŻ'?BËa#•Ї:qVÓÝ‘@č ‚űđş7pŕP5ďŠ+.Ăý÷ßgýú ¸îşŐüoĽ‚ÁA*‚î…´ł S‰A¶öŁËK¤UG\ă,~qg9>ŻĎł$2I^x›ihS`ńŁýTüśŃ‹—f-°(*Ô¦‚âGűÉú\ăŮcÔgŚÚçsâvµc`˛ţÍR íذ2±řXŐßU>ŰXü·zŢ`]ÎPüzaAľö1yĄőůĹłîŇ>äFăňŃ`bI‹ŇŹjâ mŹ»GŁzä:>WzYë{Í…0ç (×úhÎĺ|AÉĽöłŐnÓĹĽ•Ťw$ÖA89ńÇxĆ“Ć~žŹtBć�š•[×âŢF?ŔâćÍŔ4Ęg[PôÓ. Ł�~MŁś’�Ă©ő0¨!ĚŃđg¸oß>p ş·îŚúőëYc.'ńŚÄ6‚ ‚=5ĎTĄß(77'NśŔŃŁÇжm[µýŽe2ąÝf'%´]ąť9>WŮžĄ±”ZAav<Ž?çŻĹĎsVc÷ţă0—©dÂ%,8ĎŚ9ďŽ�-_äjÜŰ>‹*‰9gé&Ľüń4ěÚĚú^Ô^LÚqľöĚ}Ő™ŹŹSλ®bśňbźŠžAjîÄ3Ţp8ő‚‚űĂŞ0I‡sŠ%*}˛Ř=:NpńwyŹŽóŽTL‰™ŕOÝĘś-ĎŃ(ęGŢş ć#°(^áł»8`Ŕ/›~řń9`Ö‡ÖÚŠ z šu6®V.Ô~˛ĺ”tŕ ĐŹ“€)ß7ÜÜö0ŤŠżĂŰ^—eEĆ"¤}uÖĹeöxz±• ]<no—‘~ýj‡^Ň“ÁZŻ^=!‚jR˘6Šł”@+Ŕ¤„îwiO ĚŠµ\JHf´ ČĘĚP"0ăß…Ú›ĚÚú ´őië+Ô¦í5Î ‚ ‚ŕßPD·Ť&Ń P/;‡Ă3ám ?Ů ó—ŰP+Č7ĂĽä Mćqë>‰0ŤL‚ˇ=-çă±M¬H$Ĺ4Ôr9>)Ż%‚ ţ;ŽŮÖQTVTT¨Íł4tŮŽcć.śőm:.Çţ(>ĺŽ(É3JŻ/(Đ€ÖÉőŃňęz¸ě¬ŢřjĘ|úÓbdĺć«j7Ůů…x~ÂÔOŚĆ ­‹·n«łeRRsđÁóđĹo˙ W[/ßTŰ{jMhߢˇĘA;ë»Ň‘˛™‚ ‚P;™ŕ3ě1AźĂqm‘tô?xş|Ľs5ph;pÁŁÎDŽě¦˝ Ěťäş‘\í<~pÚ…@DLÉó'Žł&żNţ[áúýą9Ŕű/ß|\y+pÝť@˝†e—ËĎ^Ó¶yâXx“-:"66F‰út$Ř„ęc×®]ꑿA+ę }›»téŚđđp‚ŕßĚx¨ĄJĆ™L¶Gv&ë—rşP H«°LźG±Đ¬dľdů|->ÉËÍSŹůůĘ…¶ ?_ű»�ř‚ ‚ Ô�ž üciĹh´Üëu™!ßËĎ»P±šĹ‡Q¨M†Ř`ĎKFŔE-`ŽöźthóôÄ6+ÉçHçŞ ‚PŰqeL`ĹłLf ŇÓÓ‘PěÜY¶„¤Ą\KÖŇË–ÂĽá^Výs(o{®ŽN­“đ踟‘’–­^ËČÍÇs¦ŕëWoDĂ„čâ÷čBąâüŚmű eľOQ‘k¶ěĂsLÁŞ {Ši†:Ńć'D… yR}ŐWČü•=Ó‚ BíC†Ć ái˘‹IÎččhJčŻbŃ’„ß? <Úřg2• ¤| ĽvpWk«Ŕ¬<qYHđż1Ŕ‡ë€·ćgŢPZ\FbKď�ľY®}ž6]¤-âzť©)VˇŮ©Í€1—iŰđpârřésŕ¬n^—‘Łmş",,LíoO�^ĽîÖ˝{W„„„ 6 osmq\AAÁ9Ľˇ@©{NxťśBX˛ Q۱śČCѤ­Č»pŠ^ý†9đzä6Uťíµĺ>RA* Ĺdiý+łŻUe')¬r&¦*;çb*0gĐÓP¦ś–ݦ Ŕ�śŃż#^ľű­O&H•'§tlűľcřü÷%Öň™¶ír¶}%ß…ďĚÉÍǤßţÁ¨''aŐĆ˝VI]MËß µbâ÷mŢ( ńQĘ˝¬®ćAádFĚ„*QŃZ&8yăŮĽ°ń[xťť«€±—yô„FgŚÎŚs˙}{/Lî}řz0qžę|Ů‚|`ędëT äźŇ_=:•ľ1“‘°‚ŕ víÚ­űőë‹ÚBmÜfAŞűÄ© ‚ ţ+7ÂÜ‹ÉdÄ)Á-›» 'Brá-,á0Äjť§'ňQib‚`H ę‡ÂŔ2•!&kąĘ N&őś%@‹;rŠ€<mĘ-‚%UűĽÔ<ŕ¸6Ëłş‘y3ĚS÷˘`Ć~F4FŔ maIôl°ž·Ë A·ŕćęŘŮ;Ňď—űA„ŞăŽĂjy°Ż(Xkó­ŢŠWż^ڎ˝ŰáÂáÝqJ»& *ďgŰ‹Ěě—©.LŢŻ®;w?&ü°P}>˙ý8k®9§/š4­pÜ❎ăŐOg`ĆßëQXd®są“É€N-ę™9‚Ä>‚ ‚ŕżŔLp‰§7 Ζ· Ě hŮąA‘ÉĎ@Ť üďŕě{¬îe•%ľp×ÓŔµw˝LzGK‚f٦HMhĐć­UBŇŃbX„ęá±ÇVSmâ§źľ‡ ‚ ‚ 5OU;kIhh(ĐĺhCĚOÚ Ż`€ńÚÖ(z{}ą‹„ÂĐ: †–Q@Ă0ę‡ÂX/Đ&KPŐ: f­ËöH,˛`ŮžË6mÚŞM;µSQĺök–©{‘?{?L—·DŔ5­aŞŢÎĚ®G ~zęŘUéAjwcŠŚčÜŮ˝MCüą|/&ĎZ…_çŻA—ÖI¸hXw ďÓ‰q0©Ň™ĄEdöźĺěó«›Ŕ@Fť?�żĎ_‹}GhD`ŔŃ´,Ě^ş 7śßßĺ6q?ĺiËmÄ‹źü‰=R¬®e†şWp*"4H[–EuÓŰ#qŚ ‚ ÔD`&řű ZßĆĆĹâ`\{4?´ ŐNp0ôfŕ‚Ç€čzđ1qŔC/7Ý|ü&đé8 ?ŐÍć§í_ű�]śĘAAAˇvăNg­ľ EJ±±±č˝˝)`—rŃđĆ‹šá(ú~p$†ř%&6ŰĆŔŘ&–đ˛ŢĽµŁ–żh }&§SâK^Č)‚yŤÖ)»ć8,KŹ*á™Çä™QôůVMŰ‹ŕ—zÁÜ6 ŐAű×;ł)˘ŁŁf}Nr9‚ BıŻ( Ŕ„VI hŚ}ÇsW`ĆŠŤ{°rÓ^Ś˙n>FžÚ î†vÍ $(ŔoŰ>+4ŹÂŮ»ŕĂź޶ťŃĎĽ[qőŮ}Xć=ÜÇҲ´ď9_M[†ÜĽX꨼vÔŃŞa’×SÂBş×•zÝĂď,1 ‚ ř"0<ĆÓ‘µ ###q°~—ę™´�ţôQŔ%O±Ťŕ3â‡_®ą˙"0y"PT„ęâD‡îh˘ícO,†AAAA¨]”W&“n čŰ I«±72 ŢÄ82IMΨޢTv„š`ě«ĺd8ÝÚ8śó˘Ă°ĚÚó†TĎÖu4ywý ŻĂ’ŕűüJ“ô(tmˇ=ÝčĄ<¦ ‚PŰqŐ‡ÄçُѰ~Ú7‰Áţ”<čMťY[~ßŃ4Lüőo|;}útnŽK†uÇŔî­ ŁZ°Ľv±ú#V•Üł5>ůío­KĺĽ ŘĽçŽ•î~-2[đ尿xúŁ©X­=r÷嬮6ő&Ł][%">.!!!ę9‰kAˇö#3ˇ\<-ëjyŹééČjŃXó |­„ű^\ńĐ ŞŤFÉŔK7ÜŚ}řóGŔâŰ›‹Ń‚îýŐĽ3™§II đAAAˇvˇçbÂĂĂѰaôÜÖČëłZËrŇmM›öeŁđĎ˝0˙±HÍwďý9…(Ň–7Žj _ÓóHc4lÝŔ#÷2AAđŞRÚ›ďeQttz´©‡…›Ž#'żČöšNV^!ţZ±óWmCó†ń8ďô.8w`4k‡ �“‹vÓ{m)żź»ms‹¤DD†‡ 53Wýť–ť‹#©YŤ·-“ť›ŹĎ§.Ĺ»ßÍÉôlXę°°L'62=Ú6ÖŽwpąĺ1‘HAü›şWÔ[đ;8“#9B›uDFH|Î]_÷N®^q™=­Úďiź˙Ä[đ5Ç4EdR˛˛•Ö-†%�AAA„Ú…7îĺY&322ň[!&7'3–¤0nn‹ ź†ÁôhWšGş÷ľ”<řšŘÜ (hŤpuĚŞŠäA„Ú]W):ęÜ:ɉa0°¶ˇô¤Ú6E`Űăx뛿pŢá®×Äśĺ[‘‘•çÓ±ýěkq·}Ť FXh°mŰó ÍČĚ)-n˙űżťxéł™HÉČUßË`(űťëŇÄď×±I4š6i¨bťňĘcJ#‚ µ q0*…§Îf‹‹ĂÁřöÜż>%/ ~A¶ď·ă`‹ŽŤŤő¸<¦í‚ ‚ ţGžą�9E(°ˇŔ\„B‹–š+<&ÔZ:Z§C Ń„@ ˇ¦@!ÂɉcţĄ"ů$7n‚S6Á”ć[p˛c 4ŔxfL#“P4ď Ěźo…eG†Ëĺ m˘ŕkNÝßM5VÇŞĚç—ÓáZ[r9ĎDâA8ůp7fá<<5¬‡SZÄbŰálU>Ňé:‹ů*Â~[¸ÓţŮ€vÍŕâ!ÝpV˙h”Ť�“{^öm©;.lÎÚbÇ÷ń/łőE}!íżŇhąů…J,w˛ôË„™Đ»m"âălbúŞ|÷šŘoĎDâA„˛ŔLđ î”Éd ą·Ń)hăkŮÄ;�­‘Ç kQc|:÷4|Mj§ŢQ#~BĘĽ&Ł@AAü&)3 sU”Ż%śÍ&­U»ČZ*&M;?LZB3܄ȀP•ÜApDĎĹ0÷ҨQôÝŐóów!#ČÍňu‹–1žŢ¦Á Q4m/Ěo.ăVfh…€3’ŕËÖ8*/ý2›ŁQ—^épő$ž‘xFW°Ýă€y–ÉěÓľć®?†#éůĺJwě[Ęí˛˛vű!¬Ű9ďý´gôi‡K†tE·6I t»]­lűëřľÔŚdć(g2¬]çÂK\»źeçhߏÁHÝď§á7lQ/]Z'#,,T9ÖąýŢމ$ž‘xFˇ,"0*Ä·˛ŠĐ¶rŰ„eĹ»0ř28+Đ„ď]¬›ÜüŃWcYěLŕ‘›?ľŻ) ĄG?u|čGjŰ(AA„“Ž}M-ČÖ’—ą„Š`r;];W8E„ &0 FHü.u WůOň2\622­’›ˇßdĚl¶ B Jhvv†4FŃO;`ž{˝‰0ôJ@ŕµ­aöm'Ń€ÉhŮ´™:Fžäa\-[Óą‰gOxFŠŻÂĂõ6± ş7ߍ™kŹ{ëXąô‘Ô,|=s%~š·ÝŰ$á’ˇÝ0¬g$ĆDhźa(gĄ_ó$Îr\~óžŁČÉ/°‰Çb˘ÂP?.˛Ô2GµídŹń$č1iǶOë84nT_ăňYýĄOJâÁ$žádGfBĄń¤L&oLjŘGŁ[ ^j5$8çě]Ü˙#Ř >g×Vŕ¶‹´;е¨´čÄz ôJRRAA¨2µ$TŠ–Ľ”ň Be`Ň;ł0qZ3" ‚ ś|”WrŠó,;•”Ôv5ĂŇFű$ťeŽXBŤ0^ÝJM:ľö©É EżÔfhܱ‘:FÄU'kmČÝH<#T‰gˇvSQĽăktňlĐ ýŰŐÇŇíi8‘SʶÁn>'żŻŰŤ%ö )1WŤč‰;/9 ĺ”Îtڎ<úěâĺ ŠĚąt3 -%h3këëЬÂCmËjËlŮ{”Şşu\EŰŁHNAďöŤc3žđgc‰g„Ş ńŚ '#âÝ(xŤŠaĽa‹‹Ĺţz]PměX <Ň X3>eÎŔy˝«M\F´éŠččh)Ź)‚ ‚P‹H)ČÂqm’äĄPxţđ<âů$‚ŕó�111hŐ¤9ÎÜŮ ‚pć®VęđŘÔö\ŤÄ3‚7xFę>ĺ9pšL&ĺčŮ®Eş7‹¶:Ž*7ŚF5Q,ľçH>ůc)ŽĄfŞĎq5éŰQىlŮs3VnŐ>Ű�Kńv íÝA&Űryů…X»ó°ő=u|2Ńżu,š7MręÖZ^üS±‘Ä3‚7xF„“  n፭ŔRŽ'šöCµ’q xů,ŕ‡gµ–ŢËăQYwűmm˝·ś¤§˘:Éî9P9ĂŐ†Q Ţâž{îGĎžýÔtŮeWÁ<óĚójý+óÚĉźŮ>˙řńă¨,ŢZŹŻ©-Ű)‚ µ…ŁůRrAđ*<źx^ ‚Pw(Ż#ÖŐßÎć9­E‹fč–ÝmNÄC¨YÚĄ$ kNš5K¶ t×˝ĚÝs˘şxFđ6ĎÂÉ K(6Ij„í¨„ZU8 Fĺv<3«¶ě/ĺĆů´¬\äşUÓń˝ŽdçŕÍď 5Sk Vw˛ńQŢ«-JJi[÷ĂÎC'JĚęčÄc—†Ţm 11ÁiĽcOM÷II<#x‰gA8Y™P%< ).ă(Së^Č ŠBµb.~xxí< ËKB°Ç€ëĎĆ=Ł­ß×…>ş^Â[·SeG9ŇÇ]j‹Ě)))ř知¶ż·oߍ7AAˇ6Ŕ$SvQ>ÁŰđĽ’$¦ ΋‹C۶mpöÎ64K °¦4›0rw+íX´F||íűI<#ř ‰gˇöQáăkěŰ`ĽBł>-˘•Ş8qE`Ę?›T KJÄć­ŢŽ»ßůsVmCFv®*iéζ:nw^A!Ţ˙ĺoL[şąÔg_uĆ)h_Ň÷e¶1sůVUÂÓßÍź'“ÖW5¨] Z·hć5·V_őgI<#ř ‰gA8ě’ŕU**ÍH·­8-™¶?±3j„•S€Gz»«XĘrÝJŕ=EłPěkÝUÝx9s/««ĺ1§Oź‰˘˘"DEE˘iÓdőÜ”)Ó ‚ ‚ŕďĐ&_’—‚/áů%ĺˇîŕ-3vÚ6mÚ-"áÔýÉj†Óö5E«ş—5µ ¬ŤîeĎľFâA¨›TÔ–ŃŬ™ŻśÚ6ő˘‚¬.fUś(ćšűďvě<bs3jźwz÷–8’–…«_ü>ő>™˛ {ʤˇPëwĐ—+ĎÝŚŻĄgĺâ­É 1öÇĹJȦ»®ulŢ�ŁÎęe-őYLJz6~Y´ľĘßÇß'îvőĂĐłU4lXßă~«ęŚk$ž|ŤÄ3‚ Ôu Ő�DߡˇˇŠŠÂö&§˘ŐţŨnęÜü0l<ćűŹ€§ďňj.=Řk0Ú…„¨ýYUj‹męÔ?Őc˙ţýPż~}|ţů—>}îąçNĺŽ'‚ ž Ç&BÝÁ_cšĚÂ\ŹË.Ę8Ž_×-ŔŠ˝±îđ¤d§«Ş±ˇQh›Řý›uĆ9íűŁqt=‚Ďł !AĐa¦S§8ľč¶ÇśŔžČ4ŐGRfjŠÚ!22µ‰g„ęBâA¨ű8ćcŚF#жyµNĂOkŽŁ°Şc ¤dćâ‹™«đĚuĂ`xG†ăąÎŔŐ/}ŹUŰbőöxç—0˛w\<°ş´l �U۲¤ĚĄEąźĺĺbĺÖ÷ăb,řo‡r?ŁŤŻĆF†â…›F ~l„í}fł?/Ü€Ş<&ź«ý0•!,Č€ˇícѦU3ÄĆĆJ~F8é‘xF„şŚĚ·qŐ[^­ăkąŔ˛Žůí#óßO‘{5B~đÎ ŔĆ%Ŕčwµ_BPĹďÉÓĎçď�& ˇĆ8Ö¨9:÷D``@a•żŚń6,‡ąyó5?pŕi¨_żžĄĄĄcáÂE2ät‚ ‚ řf-ŃśRíöňL\ľ<÷ LݸXK¨9}ťÓü«đÚ__áÜŽ§â©á7j‰ÍÚŰa-xžoaÁ0ÖáÎ A8ŮqĚłŘ˙íjľQŁFhŃ´).Ú’‹».Gv@ßZ€K¶tDËfÍѸqcŰóţčćQĎŐŤÄ3‚P{p·Ď¨˘ĺ8ľE‹fč{ŕ0ÖĚÁĆ#9¨Ę@öŹo˙nŢZśjGôlÓX}§öMëaěçŕŽwţŔá™8”š…Ďf¬VËvoŐĂ{´D»äzH SB˘ăéŮŘ´÷fŻÚ†•›÷#'Ż@9–qâgD…‡ŕŐ[ÎD˙ŽÉĄDi»Ź¤â)Ë´vÔP«űf*‚ÚąŢÍ"Ńąysę}VţćÖ*ńŚPÝH<#B]Ef‚×qçfˇ~ŘÚd şoý5ĘôŹ€­«€'~ę•S.bĎ6ŕž‹€Ť˙ˇ¦ŮÜăt4hPaaaęďş|s˘Ł—ÂäÍÉ€ýÔ9‹””ę5Of+W®ÂäÉ?bÓ¦Í8zô""ÂŃŁÇ)¸ńĆQhŐŞ%<ˇ  �_ý-¦M›Ž"88H%Ť‡Š .8O[wŞK‚Λ·�żýö;víÚŤcÇŽ«ďťśÜçśs¶úwÜŰ233ńÇS1kÖěßż_ ó¸žNť:âěłĎÄ AQY–/_»ďľůůůhŇ$ <AŤ8AHŐ’IÖ±Î3eĂ"<<í=dĺ»7š¶ČR„_ÖÍG€)�Żź=•eŔ{·bÚ5˙ßý_!*8uťÇţü�߬žˇćż»ęyômÚÉöÚѬTôzŰęrÜ'ą#ľżúT7ÝÇ^‡9éjDôę{?÷č˝<ßxŢĹÖýă(uťĘş­:™±,c÷îÝÔ=ĺŰÚă›vkÝnź„ĘÁŽíó··G“ŕDtíÚĄÂŇ­»šó@Ďř'Ď‚P—`ۦ\ĚZ7ÇG3°7=™ůć*ŠĚ€´ě|Ľđő<|öŕEŤQźĂR™;7Ç'÷_€>šŽÍ{ŹÁ`r ‹đϦ˝jâ2AjůÚóEEf›™ÁdT­"·-ą^4^ľa8†ťŇ &ŁŃöŮąů…xmňBě=–^ě^V7aHŇ 2[ǡM뎎†ż"ńŚ"ńŚ BíCf‚GT&ÁéřŠnâ±´íąč¸k&‚jşő–Ŕť}€ç~Úö*űúŇŮŔý—hh*jš¬čx0͢ŁĘ”Ç,/ÁX]Ł@|ŮlVĄ0IďŢ=n Ć„źţ‹˙””ÄĹĹ•»е^~ů5üúë丹OIÉW«ůóbܸ7ŕ.ůů¸ăŽ»±jŐjŰsąąąJĽµaĂF|űí÷ÚúŢD›6­QŽ=ŠűďX­ËžC‡«iٲ4é ĽőÖëHJjěr=kÖü‡|D‰ńě9rä(ćÎť§&î×—_~ÁăŔ˙ţ[‹űî{H‰Ë(zś0aĽËAŹI?}¸*+Á˛…(ĚÍGľ6äqĘÓţ.°Íhó-P;(´Ý.˝0qŮďxaö$[˛“ťŇ§5ď† ;Ć)ŤŰj Űx-nłŕ@úq,ŰłżmXE;רeĂclëá:ľ_37ô>÷žv9„“žwQˇ0!BÝÄ]W{CčÓ§˛˙ĘAż'đwĂ˝|Ç€MĐ1˝úśŢË6@°<üŐ˝L⡦xFj•q1s6ĎÔÍ›7C§‡qÚ±ĚŘ’‰"sńZsú÷¦}xăÇĹxęŞÁÖň—`YNú¶o‚o»cţ?/ެś|«b t»Ňrý%®UÖRV¸­!Á8łWk<xń�´jŻi:…EřtĆ*ü˛x?¨N{1˛] :´j˘ÜËŚĹ";s/“xF¨)$žˇ."3Á+xbyL(2KlÚ뛏@÷-?ŁĆI9Ü;xäK`ŕ…%Ď˙6xq4çĺ#ţ=í\4jÚTí?ÝŇŮuÉŐlÉ’ĄĘiŚ :Äö<Ý»(0Łplúô™¸ňĘňôW^yÝ&.‹ŤŤÁĹ_Ö­[ˇ  P‰°~˙} {ěI´há^·ő[oŤSâ2ş€ťsÎYŞl'GĎś9[ązQŔuË-Ł1yň7¨WŻ<!##ŁFݬ„d„#ÍGŽ<‰‰ ę3ćĚ™‹ĄK—cÇŽť¸îşđÝw_iŻ%–YĎÚµëpŰmc”Óo^˝z"**{÷îĂożýť;w)±Ú˝÷>¨ÜÇôQŐ±qă&Üu×˝ČÉÉQ‚Ń>xO‰ĚAü w:\+ë"x‡ŚÓ†ŞvŠEËyyyj˘pŰŮĽ}KíĎ1OFaŽ[˱܂}ň˛UB^=ëôHjWf٦± ÔtIסŘtt7öś8„!­zŞ×Ţ^ř=>Yö›š˙déoµ:ůÝšYxdęűjţ±!×ă–ľçAđ ž±2JVj=žÄ(î”ʬ_żľvŮů+ p(<;˘N@đ>-Să0dO tëŃYísw;[ËŁşc‰g*ŹÄ3UGâA8ůŠŠBűv­qZJ¶§b˱Ľ*y®˛Ődô٬‘†;ţ×ÁÖnQ¶©MŁńęŤ#pĹé]U‰ĚąkvâЉ,éďVËZ´y“É€Äčp 씌+wFŻ6Ťµu™JµÍ…Efü¸h^űńoZ¬Â´şŠ*Ť™ŽîÍâÔ {g‚zÉŮH<Sy$ž©:Ď‚P×™P-8&EéBŐ˘E3,l}.š\ŠŚý¨qň˛§.†\ ôüő 0ďëp?ŕHR+ěí{Nk’¤‚uo”U¨ Lťú§zä¦ÓOd{že-ăăăpüxŠ*“YžŔŚe1ůĹĐSTöÁăKąuŤ1\•´=zL)G˛ňřëŻů¸úę+qĎ=w–zžëůňËŻńöŰă‘™™…W_}oľů<áő×߲‰ËnżýVÜpĂőĄ^żđÂ󕸎ŽltL{ţů—đÎ;cK-Ăú§ź~N‰Ë‚‚‚”;[ďŢĄú¸ĎžyćyUâ“nd?ýô .˝ôbTÄöí;0fĚÝęűQ¬Gç˛ň\ÔAˇ&©©8)«(żÂefÇSÇŰ’—,đńĹŹ"2¸b§“v‰MŐD~úď/ŚÓ:uáä†çź$0ˇnS‘ř̕ȬM›6ę>úňMf|Öa5Fd@đŤ2#qŮ–NhŐĽ9Ú¶mk{Ţ“Ž?ĺx$žj‰gˇöă©‹7nŚö­ŹáěŚ<Yu©ąEU+•©5«f Ţřy ň‹Ě¸ëÜ> ° ŕ 4ˇW›FčŢŞR3s±n÷Ql;‚Ç3“_€Ŕ�4Ś‹@ˆqčŘ4 Qa0Kµ×Üv–ŇüfŢ:<űő|dĺÂPÇKc6‰ÄV‘hß¶•ÖOo÷š{¦ŐďH<#Ô$Ď‚P×™ŕ1•±<v\Ž0čLjŢ‹RnÄYK^„ŃRż`Ö7Ŕtmň“Í!…AÁXxţ-hÖ˛E…Ą kĘfŘdggcŢĽjľ˙ľŚŚ´˝F—“#ÎŔ7ß|‡-[¶ŞÉU9Ę~řÉöžçźĆi)H Ďîşk ž{îE¸?ë®»îpúÚ5×\Ą\Ěţţ{ ,X„#GޏíbĆŇtd#}űö.#.ÓˇČěß×(q?‡nf-Z4·˝Îý¶gʵäÉÍ7ßPF\F¸?{ěalÝş ­ZµÔnޡ"¸ÎŰożS Űč„öŢ{ď(ërAAJČ3 ČRń(…Wć~ě|k™ŽŚu7yiK1<<í}[ô´ÝńÔ°QNnxţń< 6B„ÚMyB˛Ę”Ęä2Ľ?LKKĂŐ›şâÓŽ+q<Ô=Wˇ|ârCqŐ¦.hWOícwň.žt¶VwG⡦‘xFj•u†w&2ă`évíÚŞJ#3 ńÓ†täW±Ż†-hľŮڱż.Ăî#ixôŇSŃ$!ĘÖ¶ň1ĐdRe§w ÇŕÎM•¨Í˘ĽË zĺL§m1·ůxFŢţ}&Î\­„fuŮąŚĺ!Ł‚Ť8·}:´JFË–-+,ŤéŮú˝ďH<#Ô4Ď‚P×™Pm8Ţ,Đ‘ŞsçŽučţét¬ýBY,ÚľZpţ­04oŤÚ! ŕ¤q/›={®*…EFŽQćőłĎ>S Ě]Ěî»ďî2ËĐÁkńâÔ|Ďž§(!•+Î<sŢxc¬¶UťĘŚĺÜ(^~ůĄJřĹsžng—]v ÜaÖ¬90›­7<tH+ľN™>}nżý6Űk3fXEjüť•÷Ů!!!řöŰ/áR.oíN˝wßçRÔ'‚௸-+Ônü-6Ę)޸ĽúˇŚă˛a±šgÂúĄ‘Ł=N^n9¶·˙ü Í…ęď¶ MńŢ÷#ŔäťŰĽ!ŽÁŽăűUهůŁ'`۱}xwńX¶wNd§ŁaTÎép*F÷˝aAÁNב™—ŤĎ–OĹě­Ë±3ĺ r ó…žIíq}ŻłÔŁÎ»‹~Ŕ› ľ)őţ—ćNRy˙ÂqV»ţĄ^_s`+ľZ=Ë÷lŔÁŚc FăčDôkÚ7ö>Ť˘á ¤Ĺ$í{Íßţ/öĄVC¸[Ĺ'ad›ľ¸şÇČrŹeZn&ľXń'¦nü»S"Č^Ú~x`đ•hWŻĽĎCI` BÝŔŰĄ2™W8ýôÁ9s®ŮÔźt\ŤĚ <•'2?×nč†Fań4h ÚÇ:µ±4&‘x¦‰gĘ"ńŚ îRA<šwéŇ é™Ů8Y„…{˛QTĹô Ű)®ă‡ż7cő®#xŕüľŮŁ%Âť ľ­Oąnůr аxă^Ľöó?X˝ýĄŐeq 41˘U:%ÇiýUí\á{jŇ˝Lâ™$ž)‹Ä3‚ ž#3Á«xzł^˝z`~v"˛Źˇëöß!”fé«°Żc/ ëۡˇˇĺ.[—ÜËEc„b¦O-óz۶m”kÝ»ţüsşrłOâ’ŁGŹ!'Ç:»{÷nĺ~ĹX;vPîcѵk—r_·˙¬Ý»÷Ŕ]¶mŰ®M&N9Ą{ąËRÜŤÔÔ4U¶ŇŮzx“ÇýWU¸yäq>|DýýöŰoŞ}%‚PW°oÍ0˘n§ý‹ĆĎ=˘5|FU>Â\Ps^Šr­Źć\ÎŘć µ ĂFÂß)pĂ™÷—u ´ä¶uą-şŁw˛gí* ×}ű<Ňó2ŐßL&~~Ĺ“ öľí~‘Ů‚%»×áşďźC^aIrvgĘ-é8ł¶,ĂO׾Śđ RďcÂóŞožĆáĚ8nű”Ť‹ÔôřĐQ¸ąĎą¨ ŻÍű ţţŮ6:pű Üpx'ľűw&>ĽčśÚĽ+ĽÉĚ-Kq÷oc‘SPZŚÁd*§/Vý‰O.y ë7/óޝǨý¸'ő°í9®gö¶ĺř{ĎZLľÚ=7]w(đ‡hA|JeKer°ŃСC¬"łŤ]ńeű5"2«$ůÁj62Ĺ(á÷­Nm-ŤI$ž±"ńŚÄ3‚ ¸‡7ń|lÔ¨ştjʬÜq,§ëŹć+?±ŞmŁŐ•lۡTŚůx&úĚo„kOď‚› &,XKMlĘőmŇů<狊ĚČÔr˶Ŕ—óÖaŢşÝČÉ/T+ŻËf�Äd°`@“PôIŽD7­$66Ööšż ę%ž±"ńŚÄ3‚ ŢBfBĄđćÍBRR’r–Z®Í„ ç–�qE»aYrć5ŘÔcôíÄD«şßzmŕŔXµjµš§@lÎśżś.§ď'R±xńßj¤°=ÇŹ·Íëű°<âăăŕ-G1`xx˛˛˛qěŘ1¸‹ľ,…c´Ż–ޤŔڰŇë±~ďúőÝ+ÍYW_}}©żÝŮ6A„ꦪŽd&“Q% łŠ‚iŞx„ŁPýp¨>ŢĎźcźsʼnŁĺ{ÖŰć/č4žŔQ§ŁľAŤ%‘ZŇňłËž@Čxř‚ÜÂ<Ü÷Ç;¨‡Kş A|X4ţ;´?®™«’°›ŽěÂ[ ľĹ“vĄĚ3n˙ůu[ň˛W“¸ ó`D‡a¶ü¤ĺS•ź‹—ç~ŽžImŃ˝q[ oÓKKÄĆk‰ÇŮX±oŁz_›„dÜŇ÷<5ßµa+Űúż^5ď˙m-ÎĆg· %ą;¨Ňs¶­Ä«Őúďúu,ćßţľÇŁŹ]Áíşí§×Ô÷ăçkÝ =›´GAQˇöą+°z˙fL?†ëż{ŢôÂclďÍ/,Ä ?Ľ`K^2á{N‡Ó´ă‡-G÷`ćće*1šW”oŕÎy(Bíˇ*Ą2]ĺeÂĂÕȬhćlÜ´î%2;Z±Ł·PBln®ŮŘ ŤˇĂ‡¨”:ĺĺlüą4¦ŽÄ3ĎH<#‚·¨Ś ž‚®Ö­[©˛Ţ˙+Ř´ü ěË,ŞrבˇX¤V¨­gń¦X˛ő ’ăŁ0 }ú¶i„6ŤcŃ :!A0jŰbÖ>0Ż Ç2˛±ő`*–o=€…öaűáTš•ÉY]w-#Fí{vN ưáčܱ7n\ŞÄ¨NeőľŠw$ž‘xFâAď"3ÁëTćfNTąąąX«=—~ľ€±ŘJöd¤0(X•ĹÜÓľzőěćÍ›©çý9P÷6Ó¦ýi›ç9ňÔSĎVř:ž9 ĚěŃKO–‡;ˢ˘ŠBłąä<÷wßăj9űß/xđÁGđŐW“çž Oˇ&qWxF÷H ĚŇr,­_˘xĂPŢ×ńPˇĄâxbă‘ݶůS´äťÎ®”Cµu†·îŤfq Ę®[K”Ťţĺ íý»ÔßĆ�L¸đA´KlŠu‡vଠqnÇNGgV–cY©č ­ď‡«_Dx°ŐQ÷*mŘĽ+îж…üĽvr­¶=&ő÷Zm[X"‚0yůýŐĎk ikŇťÉĆͻᲯž@LhViI?&0Y~€Sˇ–Ők SNŽĚŰľ &IŤŽĺhÔ!­zŘ^»ľçٸç÷±řuݤä¤i‰ÁĄ¸¨Ëé¨*LZ>4ő=őČĎţŕ⇵ăÔËöúă…Ů“đɲßp4ëĆ/ţĎśq“íő‰Ë˙Pe(HRt}üpÍ jdłżóµß=‡l-ńę Ü9A¨»¸+H‹ŠŠÂ°aC0wî<ܸî|Ýî?ěŹL‡P1Ť2#qŐ¦.HÂС§#::Úöš? Ć<Eâ‰g$žÁSŞ"w+ŽtéŇ™™™¸¸ŔŚŻ6dáX®ް'Đ[c–ÍÜy,»mŔ7ÚDaYxH "`ÔÚ,«cYfnľr*ă6ë›m0ŐmÇ2ö}[Äŕ­ĂĐľusUYĹ膨®&KcęH<#ńŚÄ3‚ ŢEŞ˙•Ć[Ö¶úk,9Čr™ŰšĆ”ľO"#Ô7ő¸ýť´ř†rĂSŘۡ'úőë«ÄwÄ“äd]p3›6m:<eáÂĹHMM-ő\||ÉH‘ÇW¸Ýů«ŞËeddŘJsÚoCE$$XX:˛ĺçW<:âČkÉĘÄÄ„RĎëë%-«JrrĚź?7Ý4ŞřsŹâ‘GžpKh'‚ŕo¸lë‰Í‚ý; XKGřYNn_ü±×âFş;­¸t±Ůzý÷ĎáĹ9źáüIaýᝥ׫ťŁŹN˙@Ťţ$ˇůęY·ŰJ ÜüĂËřpÉŻ¸ĺÇWŕm>ýj[ňR‡‰Čv‰ÍÔü‰śt52T'-'Ă6ß"ľ±-y©Ó'ą#–Üů VÝó9něíy †Ź/ykîűż\˙j©äĄÎąJlKŮo°lĎě8ľ_Í_}ĘRÉKť‡OżĘv<[żP%;u~[żŔ6˙â™·”J^’žIí1şď…đŻt»‚ŕOxÚćąë 3Ά†áq¸nc7´J•DŃ<-×mč†úÁ±jßqę”·Ż+:NžĽćk$ž‘x†H<#‚§T¶írŐ^ŇqµgĎh×8· CLÉęfđÎÄuéë3kSvG3ň°ăX:6JĹöŁé8śž¬ü"­veĄŢS×'~Ϥ¨@\¤íű¶MŞ~<űę&ţZSGâ‰gÄ3‚ ŢĂAđž&6u(¦ęßż2[áŹĎbOýSp2±­ë©řă–g“ÜC†śŽ-śŹlđÇ@Ý›ü÷ßZěŮłWÍ_zéĹX±âźr§§ź~B-[XX3f•ZW˝z‰ łZî®\ąşÜĎĄ kÝşőp‡•+W•űúňĺ+móÍš5…»´jŐR=R¸µzőżĺ.»uë6%D#-[¶(őšţ÷úőť]~‰“‚‚ŠËŔŤ˙¶ş™żĺ–›0`@?őKŽűAę t/ @ŕá­8” ÁżČ*˛@—^×v§VRP,ŇfŇčdłSs3pŐ×O—Jbľ˝h2~X3Çö÷=§]fů™•—c+É–› oÓŁq;§Ď·JL˛ÍĎNłÍ·IL¶•ůeí<|łz¦*‰`OUKFD‡•*Ë “WX€ĺű6ŘţNĎÉ‚7»m…mţOuşL )[XďaÔÝvÜš<MŃć7ŹjN ŹĹ Îďs.čěY9AN>Ş"F*OřÄŇŽgś1Ińőqĺ¦.´·™r«Jö­ĎÁ$U3)®>FŽ<‘‘‘%Ż{8�°¶;ťI<#ńŚ3$žÁž”Ś¶źŹŤŤEßľ}бa$.jЍ` &­{ÓčÝÉŕĆ„“hâ>n€Kۆ mRzőę‰ĐĐĐ Ź—;ÇŢźxFâgH<#‚ŕ)‘)T O,ŹË{Ý~žbśh,Y˛ sîBÓËŃÝ$z'đđGrĂ"ń÷Ů×cO‡žĘyŠ7K,SˇSWuwa©K&k+‚Ą(^}ő UfőŹ?¦â˛Ë.±˝€ÓN „gkÖü‡ 6˘C‡öN×óË/żąĺF~ţůW\qĹejýÎřć›ďÔ#ŹÇŕÁá.ÇŸqďŞRť_}ő úôéírYľ®3räRŻńď )ńŘäÉ?âúëŻuşľ~Ţy)—µsĎ=—\r‘Óĺ‚­Ł’h}ý ĎâškFaßľýřî»ÉjžuÖH‚ ÔVô8$ Ŕ¤ľŮIY9†!Ň$=«ţ@A‘‡óÍ0·Gţď0qWŃčÄ‘qŘ›zX-·?ýšĆZË-ĽáC¸ę›§UňKOb~uĺ3*ůőöÂďmďż´ë0Ü­%0ue¤Řćăâŕm,tFxPIrą ¨¤Ä=““×ő< “VLE~Qűsž™ů :5h©JNômÚ§5ď†ŕ€Ş=Ý—vł·.Ǧû±#e?¤×öĹ1šK\V˝ő+Ţo7řâ/së=Ç2ÓĐ&8bw|:”S#)şž‰Ě„tU1 öß‚ŕ9•ź*ďďŕŕ`ś~ú`-ł¦=@ă¬(üÚj#˛*”t2V ¶µG›Ôx4i’¤\çYşKÇ“NsgűĎH<Ł#ńŚ žRQßPyËşę7JLLÔÚŢ>0˙˝D9‰ý´=é,W)× _`0XĐ0ĚËZŁmŁŐgĺJT_•Ç×ńÄ3ĎčH<#‚ŕÄÁL¨2UqĐr„˛´Ŕ!ŃŞU+ěkŇżźúƵG]d_ËÎříÖ°żs´oßN%sÝ—ůS î-(đš=Ű:ňŁQنčŇĄs…ďˇCŮ A§©ůM›6c۶íĄ^§ š~3úÄOăرceÖA§Ż÷ß˙�î˛wď>%jsvŁüŃGźŕßרůÓO„zőę•zÝ>ť‘Qz o”uQÝ?˙,ŧźN‚3(pÓËöďß·ŚŰEm,kiÝž‰X¶ly™uPÄöŇKŻŞr—7nrű¦ź7’oĽńŞm´Ň‹/ľ‚Í›·@Áźq§Í Ń®ŤŤí‚ŔěcHůç/É>yÇcXüD[—ť_„=ůĐ š&©cdmKý5ľ 0T|›Ő"®±m~ůŢ’Ńśę7Ă×W>‹ŘPk<Č$ć•Zó‘ilIŃÓZtÇK#o-µľ•ű7ŮćŰ$$ĂxrŘ ¸ŕ• ±&ˇ™Č\Ąmç'Ë~ĂM?Ľ„>ďÜŻWÍ@e`ą‡ëż{§˝w›JŚ~·f–iűq_šµ$z«„$x&•=%+ßšLĎ-q”Ť +÷=ŢqPtç<ˇvâiűçI.÷«ôGʧ }z"nűŻš¤Găd§qFnůŻ'Úiű„yŠSOP%qYEřCŚ#ńډg$žÁ»TĄ\tÆ Ń·O/tkŽKZ[Ëeš´×Ť2ys2hSRD�.oŚv ŁUl誸ż č%ž±"ńŚÄ3‚ ŢBĚźâl¤Š»#RXÇ˝wď^HNNĆŠ+1#ôa´Ţ3}6}€"÷\¦ü™‚ŕP,v¶ö<] Ęúőě ę»]łľ¶Ć<…®[ééÖšđéś}ö™¶ňt@»çž;mŻuíÚ_|!~řá'UzóŇKŻÄE]€6mÚ(/ŠÁč|Fç<Ž@ž={n…źwĺ•—+—2 Óţ÷żłµ›Ű8vě¸Ú˝´eTT$|đľ2ďMJ* ¨?ůäSĺţŐ A›HŚďá:<„÷ß˙‹˙#†«rźüŚąs˙²eV `nó“O–ˇÁßĎsĎ=Ť›o­D{cĆÜ3Φ~SáĘ}ě÷ß§`×®Ýjyvpź¸ Kyňs{ěIäĺĺiŰüľüň3DGKÇ 5‹'Łdˇ`933 'ZťŤ˘Ý (ó0 ç~‹­­NExÓ–‹2BË] ľF;~…EÚ±Čʼn”¤gYă>“vlií= ÷íĹř:îĆJŐCM¶ ®آ+ćď°–Üţuý\Üeí5=‰©Ź”MĎ+¤·Ż× .x�¦Ň·rż¬›o›ď׬b~u`2qç©—ŕ¶~çcĹľÍXşg=Vîۤ’­Ůůą*9űřôŚ‹:v{˝…E…¸ęŰg°ăř~őw‹řĆŢşş4l…¦± ŃRű{ݡí¸äËÇáM˘C"ló_ü(’‹G5—GRT˘zŚ ·=WQIô<ď87ó<ˇî⩣Ľ'Nft®n×®ť*Gµté2ŚÚĐ‹ďĆÂĆ{P`,ż}«kšŤ8m_Sśv°)˘Â#ŃoPź2Č*#.« %ž±"ńŚÄ3‚ TOc•ň^·˙»qăĆč××�Ă’ĺ6eáÇ]8’+NfŢÂh° e¤6DËúVqcBOcšŽy$ž±"ńŚÄ3‚ ŢBf‚WđfbÓqžÂ–@\µj5¶›†âp\ üďc$¤íDmĺH“VXpŢÍČNl„ćM“Ń˝{·Rµë‰§â˛Úśt‡©SíËcŽpű}´hŽ‹‹EJĘ üůçtÜyçí0™J‚6жXöŚÎ_°}öŮĄŢOך—_~óć-pëóîľ{ věءJąľůć¸2Ż×Ż_ďĽ3V9’9BÇ1ľ~řđLź>SMÆ Á+ŻĽ¨^§Cاź~„xD ŘXÚ““#¤˝őÖëN?tęÔ|0^‰ż¸_ôĎräÔSűăŐW_*µżÜ‚5–e©ÎâŃGźŔřńo«ÎA„Ú€cĚÁëWdd˘·Â–fŁýöŻ`€Ű´¶A›N ćŘŐř>ÔGˇµ ĚĂ™3j’ü®ÖŞąÖf«Őţß*nSĎl×/Ďý…ćB,ÚąFKđmDϤÇ^Ç$&i•€Ď.{˘L9„e{6ŕźÝkŐ|)˙ëp*ü‰@m›ú5í¤&’WX€q‹ľĂ„żVOřç'Ź wýgK^lŢź^ö8’u…f #ló!Ah›čţHäúq¶ůu‡·«kŹłsxű±ýČ)Č7pç<ˇvăK‘©_ż>†¦ýD·Ł 1˝éVl?Š“6'âqÖ®ÖH(Ś@٤†j`Vxxx©eꪸŚH<S‰g$žÁs<‰U*úŰţůFŤˇ_żŢ0-[®µYřyw!ödZĽV~ďd…fpťcŤ8'9-ơOźŢĺŠËĘëĂrőś;Ży‰gJ#ńŚÄ3‚ UET�BµŕNpY^0JGŽ”čßżŠ´Á”ľO`EŰK`®eŤrQ@ V ˝SŻ} –ä–ęűĐ1Ë—â˛Úĉ'đ÷ßKÔ|ëÖ­Ę”},ŠtAÚńă)Úzţ)óúcŹ=ŚŹ>z_•_eůMş|Q”FˇÔW_MB·n]á.c˝ýö[JhF7/ ÔčXÖˇC{őÜäÉß eËNßËe'LŹOUźĎ˛GŹ–.ŰIŃEfťQFˇ%·—´޽{*w˛ŻżţIIŤËÝNş·ýüódÜwßÝŞŚ?Źťň ńŞŚćoĽ‚qăŢDpp0*Ă]wÝ^˝zŞyşŞŤ?‚ ţJEí%_g§a«V-°ŻÉHěi8‚`j\{.:Wkg­n*•éĚ­NBM.Ó(*çu:Íö÷SŢEf^v©eô$fó¸†jštŮ“h_jަ|xÚ{¶żĎë4‰á1¨i¸]LĚNřçä”vÖbâ‡]ŤŔ ő÷î‡=Y5ö§±ÍźŮľ_™ä%Ys`+ĽÍé-{Řć9ŞŮS6,RŁ™¨Ő‰ ŤD»zÍÔ|Jv:ţÚľĘé{Z÷Ľ…;çˇ uws1ĺĺ Ż`>ć”SşŁqP<.ßÖWlꌼÔU˘ň‚qÉ掸js$ŐSÂ2–Äôµ¸ĚßxFâ‰gAđ5ž´ĄŽó™1FéĐ8Wµ Dד–łg‰GŁLN,3`ŔŔ†&\Ü<íš6¨ĐąĚť[e^ó6ĎH<#ńŚ ‚w3Ákxjkěě9WNfúßÉÉM”@†Łg×üâ:`ĐÚŹťyţΉzIţ­HkÔÉIŤUr–ÉIO„v•IN֦䥵üĆ"TЍ8•÷;'W°´¦}yM{nĽq”št(2»ćš«Ôä)<—é>V\?ťÍ8U…UŇ““'8~_gP¸7a»Ađ'*ŠI*Z–"ßîÝ»bĄůzd‡5@«ť?#Ŕś ˇú1šŚ(ęÜŰ.:Mš$ˇiÓ¦¨ a2hŰn)”ćŻÄ¬ÍËU‰…ť)1jň‹té.|Ŕ$ć_·˝ďôýią™¸é‡—µ÷PłDŔC݆?đÖüo1iĹT5źWŹ{N»¬ÔëË÷n´%6“˘K»±†J„ďÓŹ•Yw|XIIn–t¸˘ŰđRŻs”éZâÔÁv‰=îC{‚ěJ[¤ĺ–.…ĐżYg$ÇÔÇžÔĂřyí<íď.eFö.رwý6fíŘ3I˝čŽ`4XÇuť×q 6ŮĄćźţ!~¸ć4Ž.)ł¶d÷:L\ö;ĽĎ?ž‡‚ Ô}ţĎŢY�¸Qn_ül’uß­lݨ·HŤ"Ĺ­¸Ă?ÎĂőˇŹ÷pwww}8ĄXĄ´ÔÝ˝]wO6űźűíÎv’ŤËn’=ż2d<“™MćĚýÎwo(b1Îóô8‚±d¦t“N’e;qS"†,ĘÁÜîŰđgź-¨LMĎţÎ&Ł!{oďŹ E˝‘žŠľ»ôQ™Áý5–ů3Ďźĺ ő ő ő !$řŁqµľ§6#‰ßě»ďľH3)–"tKŚĂoEÍhĐn]Ěfć˘>2âăpXŻ8ŚĎ5cčŞÓş$}h[ÇOS}$ięęęB -4‘H`ÓÓ:®&Ä,ł˙ţűaÝşőX´(ź§ß…=Ö|ޱ¦ib8ňěšxXş×TĚ?ŕ$Ą§câ®cUf+o˝„»šąŚBé|Ő*#GŽ€ŐjĹšä$öÜ˝·˙Śn% ‘RW€[5Hř0Ç›aNN„m@_l?pX{ĺˇwŹîJ˙ Á.;RĄšPiólL”’ ÷y ®üěQH1Źą[–ăčׯĂĂG_éPŽÁěú÷·Ď©Ŕ§ A˛ŽĽ,"zÇ gîq8Ţ™˙ť*1ńÄo`ńö52xw$Z°tÇ:|şě—¶uĎ™p¤Ă¶Łň¶Ťż·đ;NMHR˝Gt€}iÁnmş¶±ź,ž˘ęr0d¤Ä'aYÁüoÉ $ǻϬÓ/»gŰřă3?Äę˘-8tř$µo g$¦© ňŞÂM¸ăűW08·Î?f“ Źs5Nçż*@yÝWOâăĹ?aŻţc´ef,Í_ŹďV͆^ĺň˝Oj ^ çO<-úA]łí•E8ôĺ«U)éőĽF;†×ĚĹĐÜ~(­«DQMpEyĺďŹŇu‡ÉĚŐ´d3“l^bú^şt92+Ó0ya_,ĘÎÇo}7Ł$ąŃdc›ĽŁ/&őEj|22»gbôčQČËë˛XM´Ćo¨g¨g¨g!ˇŔźR™®ćy2ÂgffŞl[‹/AbüFôNm·;šQT/&3¶ŹxÂ;¤špLź8 ΊÇčQ#1|ř0UqE'Ôf˛ÎĐ<Ô3Ô3Ô3„:h0#!')‚Ż ú´”%”2óćÍÇ<ó)ŘŢm4¦,y©őĄŞ˛»cćq˙DŃ€á*09aÂxddd¨e4—B!‘»ŔĄ”NOOÇŞU«QŇ­Jp¶ĎűôG ůDY'™Úžz�ˇÄ_}’¤­?PÓPŇíjű@4RG‘nIöŔŽąŹJÉűw/«Ŕ—·N~ëL´;޵ŻČˇzeÖŰ‘_UŠŰVáÓĄżâĎMKÚö!A˛;»PĂ"…ˇÝűiŘ+pĂ×Ϩ ćŚuóÔŕĚąŽÂ9ăĂşőWźĺŰ•Ş2oÍ›¦ćKpQ‚ډ©¸ďKń/-€(Ä_×ĎWNNr&î›z .úÄő߯ś×Ggľ‡š†:¬,Ú¨[s“Ú·pÚîăĺżľP×CzůĆ›ăqún‡"ÁbÁ¤~#ńâÉ7ăš/WŰK Yg®Ü÷Tś9îp‡yRzâµSoĹŮ܉-ĺ*�űżĹ?·-OKLÁ“Ç_Ë>{$č�¦üýBşšĚO¦2W1™ž={"77›7oÁ† ‘V™ŠÝ—ôƢěř»çvlͨlk̉Tâ´ý*30ľ 7v+ë…”Ä$e,<x2ĐY,Ž!S_4‡; ÍńęęęBH¨ĄÉĚyZ˛mIÜ@Ěf‰ËV gb=ľ/–V�Mb@¤Gb\3&çšp`Ź8äe§«¬e’­VŞŞě\/´íVťĄy¨g¨g¨g!$tĐ`F:wţ<0čB4++ x€jř]ş4źeŢ‹É+ŢÁ.Űţ@§˘ßň‰‡`îA§ !#{´öü˛ŃśNB‰B¸4h z÷î…-[¶˘  �55µhll„/ďďŽćNŚl†RW¸ę ŞýKŁnvv–Ę$çĘśďjÚÝ<_–…‹TL·$ˇĘ‡ ¦ôľĚMÉŔż§˝ zf żmX¨oHĐëńc®ĆˇĂ&!Ň8aĚţŘ˝×PĽ:÷+ĚŇ®RNA‚‚ÝSł1©˙(U:Á]Oŕ'Źý†u˙źkÁÚmĹŞ÷kťmg ¶ăÇě‡A9˝đÂěĎT9‡ňşju÷2×N9M ş/×&˝ß;ă.<řó[Xžż MŤ(©©h[~Ăţ˙‡äřD|ąě7lÓŽ9;9 [+ TOYáСńÓEOă˝ß«^­Ű*Š´�sz¤ĺ`ĎţŁUŹß±yC\ľ·ó×ç?‚7ć~i+ţÄćŠ|$hRŮNĘgěŇ­/‚Eţî,†žą„®C &3Wó}1žÉ˝ZĚXôÇŽůX»v-2«Ň1yý@Ř+°87ó{ě@ir"‰Ś†DŚ-î©Ę`ćٵFčÄD¤őLSšŻ˙~ŤŞ:ÁhhďH=C=ă ęBH8Öd&Y·¤ FÚŚ–,Y‚ś¤Ě-iĆŚbĘ­,™©cŇÎDźdí>Đ˝ٞ-čŰ;Ou°”óΤť©y¨g¨g\A=C!áë=ÎÇeq>ĽĆą™Ö“áUĚ­óĚN,“'ScŁu˘gŃ,Óơ©©I˝Úl6ÔŐŐÂnoV˝)#oŤ§î–»:ľLcŢĽęµOáběłě ×Ṳ̊Ôz“‹!ů.¨Îę†ßŽľ�CFˇ[·n0arrrÔ˛P™Ë˘=@I!$:“•ɇääŐ¨(÷i„ÓË>»»˙t–®ń¤EŐ!Ţć{[FZđ7čĚ<_–… »¬ŰZWćs đ=öŰřlÉ/°Ů›<®kŽ3ăÄ]Ŕőűźži9 DŚ<}“łµe>âŽhÓ3ŞxŚ?óěv;¶oßM›6ˇĽĽBť›­1i˝Ö¸»,«2ĘPZŤćţyŠÓ5Ż& +˛1¦˘'×ç"!!ˇÍĚŢżŐ™@:¶Ű6Hý+±ęŇŃPĎâťhÖ3čŰŚŞ««±bĹJlܸŰŞ0ŁČ„E•q°Ú㺬ŃLţ"R´VŐ˝˛›°On3zf¤`ذˇŞRîÖ ±ąĚ—ĺá†z†t4Ô3„xÇ=ă«w"HHß-“J¸v 4c§ Eš ŻÎÜL{zuwĆ덒ł V f‚/ ¬<08ĎÓÇĺ-Y˛ëÖ­‡˝Ş W„á[~qÜ0\3ímŐűcÎa§Ă”–QŁFbÄám?„Ž«&Č}ůѤąŚBH¸Ć�f(Lfţ®Ěz±„żš$ŘŰH fVŰęQb­ńk d~»j6~[żëK·ˇ´¶ &ířÓS1˛Ç�ěŮŽłżęéI‘ÜřT¤Y’@qOW0 ĆcÜÍ÷g^]]ť2›mÝşUem9WV”7Őb]J1Ö¦—`SF9Š“ëa7ąé˝ &» Ýj“1°* CŞr°Km7dZ®µČ’““Ń«Wžş^©©©a1¶Çbě†z†t$Ô3„x'ÚőLGĚäsmÝşMUż)*-ĂŠr;~)3cS]ěÍ]Çh& ńZKęT;ĚmÂŔt ňzvWíW’ Áh˛W»U¤čęŇ‘PĎâĚh03ŽÓ`ć±l0Be2s5ĎÝtQQćĎ_Ř–ÍlßeŻ#ĄľµNv fƬeąąą?~%ΚË!„Ä ±f0ó´Ü“™ŻËI{B‘ÉĚŰ~|YnJµ�¦/Ą )˝Ł0 !žé*3ˇ#LfŢć—––˘  %%%¨¬¬j[&Ď›¬(6WŁ0ľů U(N¬FYBjâQß«ĄI żŘµ×–�LĽÍ¤MÚ«©V R¬ńČnLF·†Tô˛¦Ł{c:ş5Ą©Ň6ĆĆŇŚŚt«ÉËë‰ěělżőDW7—éPĎŽ€z†ß= “™«yÎÓUUUX»v6oŢ‚’ŞZ,(f•[PŘhBSł­¨QŠjPŤkĆŔäfLɲbdfr230dČ` 8�IIŽĆ—X7—éPĎŽ€z†ß Á,: ffä‹îíaÁŐ:ľĚs5-tďŢt�–/_5kńiÖ.®ł™‹žµěĐÓaJĎŔáĂTĎýG°ýęţ›Í<Í÷wB!¤«áM‡¸[îN‡îöç|/¦áĚ_µJ(}ýYŢHP©©ŮŽÚ¦FRĚ ^BÚh<Fź/¸ŠąřŞ‘dľ»deV«ĄĄeŞ3 Î$»YßćDômĘęĐ2đUsµaŇ–™ăšš˘ŢS:ţĺäd#>>ŢoS»»ůěÇßu"ęn¨géZŻ ¤Í(==»î:}úôĆęŐk]T‚ݲę0ż<UĹŁ 1¶2š‰Ň°±,© {e6adşvOOS%ÁĹ\–™™Ů®4x¸Ú­"Q÷PĎpC=C‰uh0#B0&3ÁS@ÓÝ:@Üm·]•p–lf&ž‡M=Ćaß%Ż#Ą¦ Á"YË~?ú|ě2F Xć„%k™§ůţ®C!„×řÓ°jśďj™»őg JFÓ9˘Ć*1IČ‘ŕĄü}B+|ŤÇÁšî=i$Y– ˛É gO‘rš555¨®–ˇZM766Âjµ©Ś*’éL2¬Ň“YDĄS_|ĽEíOJ^¦ĄĄiCŞ*y)Óž2·¸:V_—«GbARĎpA=CH×$ś&3Aź'˘GŹČĘĘB~~6lŘ€ÜÔrŚ«­Ç˛Ę8Ě­˛`KŁVMr4GéýZŽ:ŮÔŚ!I6LʰaD† ))ÚçîŽA޶+9Ű$ÁŰ|_—w&Ô3$\PĎBş4‘#Řžł!Éf¦?ËŠ Ë?Äđőż Zł–Í=ôKKÇč ł–ą›çiľżëB!]™`4/ËŚ0k™o„˘!6u’™XŽ„–] „ř‚/ZČÓzţf.ó¶L_.ÂdĐÚ|=®ďéCµ~ ±™®d.Óˇž!ˇ†z†®M &3Á[¦UçmŜ޿?ôěŮCÍ6nÜ•P×€µUVĚŻ˛`uťUM¦¶ZT‘Ś|b“öżn–&ŚN±a÷ô&ôMµ =% ÝşĺbŔ€ęU’1´Ű6ŚíVŃ {¨gH¨ˇž!„th0#ŠŻ ĽB(z¦čóäÁAĎf6oŢü™p¶öŘ {Í{)5ĺ𕪬îřăđóQ0h´CÖ2_Ĺw¨zřş!„BZ…ÉL'Ьe]É|¬N E°2Rµ’›âĚZ łV VÓH#Nű—ź‚4-€I!ľŕÍđĺËzŢŚfŢ–ąŰݧő%™ĚĽ- d˝hz†„ęBN &3wó}i3JLLÄ€ýUVŐ˘˘blٲŮeĺ]߀’Ú¬¬–ÖĆcSµöVłY„ÜŇă´ŹaÖţ—a¶c—DF§Ú°Kš YI¤$§Ł{÷nčׯŻjż’¤í¶°-ËÝĽ@Ö‰¨gH( ž!„t5h0#Ž?AÍ`z¦¸š'i9ä •Ílµd3ë6}€ák~…Çţ(’µl×ý1÷€ .µ%kŮčŃŁB.Đ=Í÷wB!„8ŚŃÝŐ:ŢÖó´iO(5P¤źk :ĄXQ®1Ů[–ř‹ôŠÍŇ‚—&đ7…â?ľč!oëůbBóeą§őÁźű0ć±®n.Óˇž!Á@=CqĆ“™Ę6#1šőíŰGÍĘĘʰcGľ2śő©«ĂŢŤV×Őc}­Ö6TkÁćF3ĘšĚhjŽëPĂ™ĘLZŰUĽ6ŇÝbÇ $†§4a`2™ʤ„$U*ĽgĎ–2äéééíJal·rő ęBHW„ł(Ŕ×ŕ_´L&‘`Ěg’X˛™Iä ᯤó±©ĎLXđrŠ6·{ŻÂŢC1wŻÓPŇo¸ĘV¶Ç»©WWÇäËĽ@ćű»!„ŇrOęl]ăOŁŞŕo–Ť®”Ą,ýۉ%Lއc*2,ÉZł5MŤZ ÚB\aŽ3!Őś /“aŃĆ !ˇ#őL°„JůşÜÓ:Îë…‹PÄ[Be`‹%¨g?PĎ>bEĎ„ŁÍČ—v$I$Đ˝{wäć梡ˇ%%ĄČĎĎGvyúkÓ{ŰšPÓhEA˝k›±ĄŃ„|«EÎęěqhRć’¸¶ţžŐ8Ă«ěEěa)&;şYlčß„IvôOş%šoAB|’““ÔńJ;WVV–j÷2™L.Ď‹/ó™ďď:‘ ő ńęBÂ=Ń fŚ»Tľ±„Ż ‚/îöéjÝĽĽ<zh7¬X±ë’S0}Ŕ8ôÚ<ý7ĚCrU9jŇşaăŕI(0F•Ř3xFŽŃ.k™?˘;îĎz„BH8ńµäłó:‘˘kü ˘új4s^ßťÄ ĺyďëŮŚhŚĘÖ™24Ř­¨k˛ÂÚÜ«˝ 6- É2 ])Ż ń&3âăĚH6Ç#ŃBHh‰v=,ţhśPÉ:Ú”Ę8 Ťeޡž!ÎPĎŇ1Ģž Öd&xKBŕnľ´’““UVł^˝ňP__Źňň kŻĺčVWŹMMh˛7Ł±ÉŽjk#ŠšQl…öŞ ¶8TŘL¨m6©Ňš Ú«Mű=´Šm¬ąĹ@fŠkÖf›!ż‰qve$KŐ†l‹ą–ftOrµ…9 qHŤ×~CµßOłv\Ň.•šš‚ěělU3##Cµ[ą2•?ź/óÉěęë:Ń�ő q†z†Ž!=C:ĚH§ăO†`˛™çëËD”Ź;FĄ^ąr*R§`ÉČ)ŰôÉÎÂĂUÍzWűqu<ˇďď:„BńLfúú:ˇhŤ…{{8?CW0–ąB‚T TBéHBmĽEÖ˛PűÝÎßý3vÓő !„` &1»íýMd e&SSSŐ f3›Í†ÚÚZTVV)łYUUęëgµÂn·;lß2.CĽ§2 í4‰‰aLŽIĚc))ÉĘH–™™©˝¦#))I—;S™ńó„k~ ëEÔ3„Bkh0‹šŚÇ¦K>\ŮĚ\Í7.zô衆ÂÂBŞž)ŇSE$Ͱ/Çîﲮ.Đ !„D+;ďKÁ›€:W×řk23n§iĺ$˘•`őő!„˙= |ířçďúj¦pÜ×Ă™…Ś:„BHçŰzĆ׍?ŮĚ|™ďj™şÄđ%”Ł” gb*ÓY]]ť6ԫךšUbł±±Q-łŮšĐÔÔä`@“÷1µf$3›MŞ´ĄěWÚŁRRRTéK3™¬ŁŻďíř»,mü]‡BńNpz†t<4E(žzX˛,żdá~hpµĚn4ó•@E8Íe„B˘ oĺĽÝ÷"U×řŰ ęn{gh<sM¨Ż3µ!„U=*5šů˛M¤–Č tý@·!„B‚Ą+éMíˇ0š—ą[.†/Ý$&F°ěl÷ëúC¨ ńl·"„éŁgHçBYŕ«©J_W’ 7 çCq™N¨{ŃR B‰ED{ŢîQF]ăMăD’® Öhćn$|đBń—X×3ˇÂź8•q!sš;Üí+” Đ}Q‡Bé,ş˘ž 61ľLđ79·ĺîÖ 5án›bŰ!„ŽÄW=c„÷ Č€ł(CzEHJ]I­«3ťp>4¸Z'X(Đ !„Ä2˘=oiůý!uM¨Ťf$´P'B †®˘gBA š(”™ĘÂqßvźÔ"„B:›®Şgüi/i3ňÇlći˝` ec;Ű­!„D"áĐ3¤c Á,Ę/™ąúúz$&& Ö E63ăr_öĺÁö d=B!¤3í!÷ŞP0#UׄK;Ŕ N"„ şšž ÁšďCi8 ”PčjB!‘BWÖ3ţč’`ŚfĆĺžÖq^ŻŁE»3ĆBéL¡gHÇŔ+¸«3kü’ŐÖÖ˘+áŹIËálü=_·őg˙č„B"]{čAGwzĹ×yѤkŐ $p‚Ńk„B;ş˛ž –PÝ—ťďńˇĽĎ»Úw0ű§!„‰PĎřoŽňV:Ňźu:ZřŁmüYÇź÷&„BBM z†t>Ě`á8§ýmů’V«UŐ¦íJ®ÎPöNqµn¨đ÷á†B‰tDsö0›Mí´‡ż÷˝h×5î>/łśµ!„Ž‚z&třsńg‘ő !„H…zf'ţę_ÖEÖ˛Pe} őv$[ „BÂA¨ô éh0‹śżHfłEűâYQWW‡ÔÔTt5ś~Ľ­+tDŁ/:!„XE4‡Ü·D ä^«ş†÷uB!$˛ˇž =ľ6ÂFÔr„B˘ę™ö„Ăhf\Ď—uÝmÂÝEMD!$Ü„RĎŽ‡%2Ł== ĽšÍf5Ż˘˘]Só†+}q ű ÇqB!áDעAŚš$P¨k!„ŇŃPĎ„—pĹ]ÂI43!„® őŚ{1RůŞü)Sjy_¶[B‰dB­gHÇÂ+Á8 :}Zľ`2Řl6444 +hĎś`Ey b›ťBH´!ZC4‡®?ÜéoP×B!¤ł žéX:«Ö‘z\„B/PĎx'v›`’Ł1<í'Đă äý !„Ž Tz†t4Ežľ(®ľX‹E˝–––ˇ«Šo">Tű'„B˘ ŃFíˇăéŢćĎ2ęB!„„ę™Î%Ô1–H}OB!$śPĎřN0÷ţPh_Ú›Bݮ趄BHGžŃ—“Č€łĹŐ—ÄŘ“DľtňjµZQ[[™‚"ťBH4#C´†Q{¸»·ů+ţ©k!„ŇPĎD&ţ4Ľ2B!±őL`„Ú(ÖŮ„âx¨•!„tˇŇ3¤sˇÁ,Â1~©śĹc||Ľz-**‚Ýniˇł?š„BbѢ1ŚšĂůçďýŽş†B! ő !„B˘ę™ŕ U›MG™Ú]˝O¨ŽťBé ¡gHç@Y”ŕJLšÍć¶ôĹĹĹ íéČ"ţčB‰%D[Č}M´†hŽP¶¨k!„ŇPĎB!$Úˇž -ˇnÇqg fDZB!ťI8ő éXh0‹ śż8ú´qľţÓSŠĂÓl6ˇ®®• ® Çô!„Ä*˘)D[ĆĐ{“¸JWěJ«čÓÔ5„BéL¨g!„íPĎ„ŹXmŰa›!„H#z†D¨Ŕ•Řׇřř477˘ĽĽ‹©©© žá!„âšššĄ)¤‰hŚpô¨¤®!„BH8ˇž!„BH´C=Óq8źĂććfDlď"„©t„ž! f†|yŚâUź6Î׿dňEÔ·§Ô®-..QÓ ^B!Ä_Dě‹–ŘŮ[Ő¬z’SëřŇ›„ş†B! ő !„B˘ę™Î%Ň gl„'„ „ZĎČ€ł(ÂŐ—Lľ„"n[\źń°Z­ę‹jłŮ™™ B!„_¨¨¨@yy…ŘwNUĘŢ$Ô5„B 5Ô3„B‰v¨g"W繣LglX'„Ťt´ž! fQ€±7‰Ž|ů¤çţEôšµ"öĺ ŰĐĐ€nÝşµ-'„Bq¦Ą'j1ęęę•f=a±XÔ¸Qě; !áO]C!„PC=C!„h‡z&şđőś»3˘±1ťBH,ŇŃz†t<ľ^Ą8—ĹůđçfZL†W}0·Î3; ˛,C^­łC8‹Nă´|1őy2î<455)±/ݞNŹÝ‘’’B!„#µµµ(,,j+`LSě<{±ęřš®ş†B!á‚z†B!Ńő !„B˘ťŽŇ3ŃJBBüŢÚ‹®ĘÖ×&§ˇąőŐnš ŻÎÜL{zuwĆkŠVf0‹PôŢ#®¦]ő"qŢVć766*±_TT¬ľŔ999HJJ!„Bş6őő (--UA˝ć}BBB›°µŘ§®!„BH¨ˇž!„BH´C=C!„h§Łő é\Á,‚q•:×[Źçq›Í¦ü‚|ˇłłłśśÜĺSB!] Ńuuu(++wĐ’žXŁĐw<‰}wóŚP×B!$X¨g!„íPĎB!$Úél=ŤÄJ3Ě"ĹľĽĘ §)Öç‹cÔř� Hď’ÔÔTŐ»DŻ}K7(!„ýč÷ öIšĄŁ-`¬u/�úx8Ä>u !„B|…z†z†B‰v¨g¨g!„h'RőL´A™ëe4…ob_ô‚±7‰łř×�äËŻ/s÷ú´ó+!„B"]h;ż:/t/Á=ٰ7Š{㫾˝qˇűÔ5„B1B=C=C!„D;Ô3Ô3„BH´Ťz&š™$â‘/’łĐ6Îsţ2Ĺąľž.řu·¨ óDř·~y@Ű|}źŢ>�!„đăMT;k–yę˙m5ďťEĽQ໚vŢo¨Ä>u !„Ň5ˇžˇž!„B˘ęęB!$Ú‰%=C:̢WÂŰťŘ׿¨Ć^$úră<ý@ÇŘăÄ8ŹB!‘Ť+ŕJ¬…˝óşĆĹÎBŢŰt ÇK]C!„ęęB!$Úˇžˇž!„B˘ťhÓ3¤cˇÁ,Ę0Š{}Z0 ~]Řë_f]Ü;oݧ*v%ěŤóŚ)Ť !„Y¸ŞWďJě»JCě,ţÝmk$”bźş†B!ő ő !„íPĎPĎB!ŃN4ëŇ1Đ`…8‹}çyÎ_Dý‹lě)"Ţ‹Ä(î]‰~cúcB!„DîÄął¨wžďją/˝FÂ!ö©k!„® ő ő !„íPĎPĎB!ŃN,č~h0‹Rś{¸šçî‹ę,ě]í˸śB!‘ŤQŔçąZ‰Bźş†B!Ô3Ô3„BH´C=C=C!„D;Ń®gHxˇÁ,Ę1 wă<ÁYđË«¤6N{JSěüĺö$úů@@!„„OBŰÝ2w=IŚÓűşżŽ€ş†B‰=¨g¨g!„h‡z†z†B‰vşšž!áłŔ]OWóťÓ»ú1p%ţŤË !„Yx÷Ćůţôé¬ű>u !„Ň5ˇžˇž!„B˘ęęB!$Ú‰%=CB f1„«^%ú|ÁY´;ĎwŐÄ×/;{’B!ˇ'ŃíŞg‰«ĺţ.ë(¨k!„Ř€z†z†B‰v¨g¨g!„h§+ë:h0‹1Üő*ń´ĚÝ‚ó€/ďK!„ŽĹ›°w·ľżË:ęB!¤k@=C=C!„D;Ô3Ô3„BH´Ëz†„Ěbw˝JôeFĽ­çíËĎ^$„BHřV„‡âA łˇ®!„B˘ęęB!$Úˇžˇž!„B˘ę,4Ĺ0žz•¸ZOÇ_áÎB!$rđ÷ľ-÷qęB!¤ë@=C=C!„D;Ô3Ô3„BH´«z† f]�_żóúFŘ[„B‰<‚ëŃ*ô©k!„Ř‚zĆ÷őŤPĎB!‘őŚď롞!„B"‡®¨g˙Đ`Ö…đWđ‡j[B!„„ }ęB!$Úˇžˇž!„B˘ęęB!$Úˇž!ţ@YÄřEwîň„BHäăo‚XůÔ5„BHtB=łęB!$:ˇžŮ ő !„ťPĎ0B!„B!„B!„B!„Bq3uA<ąP]9NŤëł§ !„Ňůď׾ô1Ţżc­w u !„ťPĎě„z†B‰N¨gvB=C!„D'Ô3Äh0ëB¸éľw |B!$rĐďË"ŢýM_lÜ6šˇ®!„B˘ęęB!$Úˇžˇž!„B˘ęâ4u\ýxúq°Űí „BHäăę~n2™Ü®cůŃ*ü©k!„Ř‚zĆý<ęB!$˛ˇžq?O‡z†B‰lş˘ž!ţCY ă‹Ŕ—iWó|Ýź§ů„B w‚ÜÝ|瀝¬§ŻëJäG‹đ§®!„B˘ę™¨g!„č…z¦ęB!$zˇž!ÁBYŚâIäë?2ÝÔÔ¤¦eÜ8߸!„B"˝'‰.ÜeZĆĺŐl6;Ě—{˝«TĆ‘*ú©k!„®ő ő !„íPĎPĎB!ŃN,ë4ĹŢľ "îm6[Ű|ă«q{wăľľ/!„B‚Ă›�wŐ3DźŻěôuäŐb±(ń/˘ßůÁ¸ŹHţÔ5„BHôC=C=C!„D;Ô3Ô3„BH´ÓŐő 4ĹîRË^„˝|ôůň…OLL@||ĽöĄ—/żŕ„BH ĐŇCT†&X­V444* ĐŘبîő˘d�wÂżł5u !„ҵˇžˇž!„B˘ęęB!$Ú‰=CB‡ŻW2ÎÇeq>ĽĆą™Ö“áUĚ­óĚN,Ë×ĆFë,tQÜőŃ{ŤČ]^ůň¦¦¦ !!ˇí N!„ŘGtţššZ‡ źüô^&®D~G ęB!„¸z†B!Ńő !„B˘ťhŃ3‘DBBüŢÚ‹¤‚«l}mrš[_톡Ůđę<ŔÍ´§WçqgĽ¦Źeł(ÇUď˝¶˝|dZŁééięKM!„®‡ú¤¤$5>¨ŞŞn Š>AÄ˝łđďČŢ%Ô5„Bńő !„B˘ęB!„D;Ń gHx Á,Jq%đőA„}CCC[˝űĚĚLíËťB!„AÄ}NN6ęëPQQŃÖű41±E/Ŕ×A×áţÔ5„BńęB!„D;Ô3„B‰v"MĎđBYbůĆz÷2._Vůň*ŽQé=”ĄBq…ş©Ţ%őőőJOč—ĆzďÁ(üC-ú©k!„ Ô3„B‰v¨g!„íD‚ž!ᇳ(ĂYäI;("_ĆÓŇR‘šš B!„O¨ĎĚĚ€ĹbFuu ęęę”č—^'ň�  üp~ęB!„„ęB!„D;Ô3„B‰v:SĎŽł(ÁSjbŁČ—/¦¤&NNN!„BŻH€Đd2«Ƣ)ýFB•Âş†B!á€z†B!Ńő !„B˘ťŽÔ3¤cˇÁ, đ&ňĄć}cc#E>!„B‚B×"úE[ ·Xĺ˘QäŇ»„ş†B!á„z†B!Ńő !„B˘ťŽĐ3¤ăˇÁ,Âń&ňĄć˝|!ĺUęŢSäB!$DKŘíM¨ŞŞnýfłŮať@E?u !„B:ę˙qţ\Ä?'„j¨g!„í„SĎÎłƛȗž#’˘Xz’$$$°ö=!„BB‚hІ†F%řM&“ôňjÄ_ŃO]C!„Ž„z¦=4‘…Oç–ÁqB!B=C!„h'z†t&¨ÁYäKďú2ž•• B!„P!ÚB*ŠćqŁ ęB!„„›®®gśŚIçŔë@!$ź!„BH´n=C:Ě"ç/’|ÉŚËdĐSçäd·syB!„h ŃzYgˇoÔ&‚§‡�ęB!„t]QĎ0@ůđBńĆg!„í„RĎÎ…ę0q÷…1 $=± ‹III „B 5˘1DkčşĂ[c«ůÔ5„BéLş‚žˇa)záµ#„â ŚĎB!$Ú …ž!ť fQ€«^$’>P^™˘848—+`€ŹBiA´†Q{xęUâ Ô5ˇÁ“v f „Bb‘XŐ3ẇKgÄÚ®óN!„¸‚ńB!„D;ˇÖ3¤ă±€DňĺŇkŃJę@Ěf3@üĂß`ť«őăââ@!„tDkćĐő‡ÜE“HJă@ď‡Ô5ţŃ‘ ŤÔ=„Bb‘XÓ3ˇĐ42ʧsŚ~Ň÷K F!Äă3„B‰v¡gHÇ f†spĘU˝Y=e`FF:o„ş‡i8{¬B!‘†hŁ1âJ«¸w·.uM{ÂťĂ_"íx!„@=Ě˝÷óŽ%ç›×ŠB3ŚĎB!$Ú TĎČ€̢cPJľlÚ$&&‚x¦#~tŘł”BH¬Ó˘9Z4ô0Ń5I0=d©k‰¦%ă±R˙B‰˘]Ϣ©/b=ČjŤŚ~ ćď”BHlÁřLä.MÄ{?!„X%Ôz†t,4EÎBTź6öXצ fłEĄ $îéč`'Ťf„BbѢ=$e±ž®Ř(úťĹż«{0uM{bˇa–f3B!ŃB4ë4C0ٲČNü=ţč @ôí„BĆg:ŹÎjor†z€BH´žáý/r RŚ`\Îä‹&¤¤¤€¸Ćř`ÔßźB şö-âÎď Ꚍ˝Ă±Ď@†p!„‰D›žńçľČşĽw‡Ž@Ďi¸Ö%„»0>Ó1DŞV˘†#„ «gHçÁ fQ€.ĹÁŮ"ô%MqH{"MčÓMK!$VíQUŐÜÖ«ÄUO_誺&%\:'˝b™Ů•BH$MzĆÓQ¨öî}D3hçsćiţh'Ć›!¤kĂřLřF˝HfTB!¤ł •ž! fŠQ:ŹŰíÍ0›Í Ž*ţ}Ý.Đ`" !„Ģ=DxŇ(îîy]YלěěŔ¦?Ť˘ŢöA=D!$=*sY(Mj]_Α7˝ă‹.ň5ŽÄx!„t]ź -±¤h6#„-ŁgHçBY„ŕNÄ:ϧ µhÉNü}äˇ!PqÎ@B!±€®=t-˘ăę>ç®ń¬+éšpßýÝ_(´H0JÍ!„DŃ gB‘‘,TĆ3âľšó˝é"_uăM„Ň5a|&4„+ţ,ˇş·3C!$’ńGĎxšO:Ě"]ęéŠuřÚIgôČőWśóGŹBH´cĽŹéşÄß´Ĺ]A×kb×6ˇÎŘŚńŢßm!„Péz&Xs™§ezů+˝ü„ ĆĎâë~ČNśŻą>-Ż,—AzeËŕŞÁŢŁMf„Bśa|&pBĄq©•\í;ëÂvEB!‘H(ô éh0‹th �’Î1—ąÚ/č!„tZJ&ŘŰĆŮŹkş&\¦/× _3o¸Ú†^ !„D‘Şg‚1—yšołŮ`µZ•±ŚF˛Đâî|ŠĆ1ö–i1™ĹÇÇĂb±řś]F_F“!„gźńŹ`?[gź›@b5žöCÝ@!$•ž! fQż\ţŕíÇH‚¬lŐ{ď:cěu*@ ş{ü!„t B©EbCׄĂXŠ�±;É8ć˶dxőg}B!$tDźžńÇ\&ó$ŢŃŘبŚeňZQQůóçcѢEذa¶oß®ćŐ×׫uIđHÜ()) ™™™čÓ§ÝvŰ ăÇŹGFFT\I^e]WF3–!„â;ŚĎx#ĐŘJ¨ąCe ŐţŹ!„9ĐűmĐ`F˘o"ßŰr ˘JŐŰ>t㙬›’’˘z›ş[WđÖđJŃN!„ġĚBÖQ™Y1 ůRZĄÄ !„˙D#¸›'†2‰wÔŐŐˇŞŞ żţ:?ţř#ţţ{®ZF‡ődóľuëVüő×_řđĂ•©l„‰8äC°˙ţű!==ÉÉÉĘŚ&ËśKľšĎ|]N!„t5‰ťDŇ6t ÄhFý@!„ Á,q®{ośOZ¦V–UWW٤¸•óľ„mů·°­CsMšmő°kÁ@MVkߎD4[’aJË…Ą÷X¤N<Y#÷Enn.=6ŞR”B‰e<éWŤa±¨k:ŇXć)c‰ž…UôuőónÔ%ňj׳´ęľĚמ°Ţţ8Ů{–BHG)z&”ć2éW^^®2“M›ö->ůäcäççt.běűëŻŮjxőŐ<śrĘ©:ő•éLW1&W±%šĚ!„8ĂřL{‘e>uĹŐ{ůREÇ×uť·ˇ† „ŇYřŁgHçCYk?Üx3—I µ¬¬E_܇ÜeŻ#)Y›Żý65§vŮT˙ťŠkÔ~´Ş´H`!¬ëW táÇh<óY4í~$şwď¦zšňŁĆ€!„X!{Z,čšPeó¦Yś‘ĆIôňŢF3Y ď#8›Î$[«dÓĐK{ P†ÚhFťD!¤#éL=*s™č‚–XG.\„gź}›6m‰<Äđ÷ôÓOáË/żŔW\ˇJhfgg+Ł™č0#4™Bń•®ź1.cY0çÉ×xL űóŐlFŁ!„hĎłŃ f$ęđ·1Ö8_zóÖÔÔ˘|í\X{Čâ­@r’öeĐS‚6hߊ8í5.^Ű@‹í5ŐŐE€µ±›?şiC÷Eeb‚ęaŞăoŔŹB!ŃI(ŢôŠqZĚd2±Lďm¬›ĚZćŮa—rWšě0Ĺ™Zł”‰6iÉJf6kb¦YLôÍ-ëĘ{¨˙´öf5m2™Ěe˛o=Ű™Ědž 2í)é‹ŃŚ&3Bi°6ă§•u·©;*šÔ÷7/ĂŚ qĐd$Zř] ¤«â‹ąL×………(/ŻŔű￯ ď)ÉlÄ�xăŤ7âŘcŹĹ?˙yĐŁG‡ŚłB &3B!¤«ę,da>óe{o¦rÖóÇhFťAHđ0ŢC‰Uh0‹�b­§H¤a<ż555Ş1¶üŹŹŞµ·Ć§i_‚tmť­áŐ u—0¬Iîë-í±°K#­öM‘öلҭ(]ü’÷9uuuHIIi{~é„Bbă}·+ö† …±L7•é&2«ŐŞLň2.X4QoAĽE˛\—ß¶­Q_´Ťk/fY/ά/ÁÎŐvŽËa46ZµÎzí˝›”ą,>> j_şŃLćŹŰŁ™ŻMj%ŇŘ\jĂS?U ¬ÖѲ±Ä¦†Z ňĘ2Ń?‡Źí„t4ˇgüŐ ®Ěe˘ věŘââÜqÇíX¶lHô ×đ‹/ľŔúőëqŰm·+˝×»woĄÁ‚1™QGBb9>ŁJcY011÷ëŢŔ8¸B7•éř§®ŢĎ[ćx_ÖńµăźŻëBÚĂx!áĎş‘ąHTL�VÄ}CC#jË Q·`:zô�ҵfŮdM('iëVjvŻŹknym–6ÜÖß(“Ö+m©)‰@ÉěŻĐkň‰¨ŻŻo3éďĹ^Ą„BHělĎU_ć˸4*Š™LŚe˘3dZh1”™‘ź ¦[¤EśaÜ;ĆőÜm#š%)IŢ#ˇu˙ÍJ;ŐTWæ5`‹±LJ„ë&3Ýx¨Ń,Ôĺ‰t›š1{}–ooDU˝]ë­î_Jkěxpz9ćZ‘dÂ¨Ţ <8ńf~'éj¸3—m۶ ;väă?˙ą…%1Ł%K–ŕ†®Ç˝÷ާ®mßľ}Uò7“!„Ň• 6Včr]‡Éŕl,ó„ŢiPŚäžp6šÉúşů<F2ŤfÔ„x‡ńBHW‚3řŇ»WjEÄW¬ü ¶Z$$·.SY˘6Z2wąLR—ĹéŻRrĘ$Â_knŤ×„ÂňßPąc=Ěý†©`id5ľ'S Îöí;pÜq'9\»=÷śgź}ʧíĎ>ű|,_ľ˘mZĘţđĂ4e¬ŞŞÂć°ţăŹ?Ś)SöE TVVbúôďńűď`íÚuŞ$‰\ÓĚĚ 6“&MÄŃG‰ŚŚ B‰N‚éÁęn™+c™ ˘U$CŞč•„ ’“ÚĘZp=î2{<oë*“ŮNóZś2”É ˘H˛›ŐT×ŔÖdErrŠ6$+Ł™Üo1šu…lf®ô‡/yoÖ¬_ۦ>řpTTT¶Mß~űqĚ1GĎşuëqÚig:ĚűňËOŃ»w/„’ŐVĽ8łĺµţ•­“€äĘ|«źł±_,¬ÁEűiZłg<!Ń‹żÚÁyą ůůů(++Ç­·ŢJsY °qăFÜrËżńČ#ŹŞFä^˝zµ3™9Ă,f„Bş*ˇ0—ůłL7”I{ŃP&ójkk±yŰl,(ĹÖŠZ7�eMÔ’P—k|2µőš›őXK3$cĽµ)ÍőHµ×#ËdEŹdúd$c`ĎôďÓKµičĆ2Ýl&mQşáĚ›ŮĚŁYW2™9ÇUᢋ.І ,}ô zčѶé^˝ňđŐWźD'Ś÷Bş4‘¨ÁׇwëJ­˙˘?>GNŞöÇßZ S†¦Öěeq-&ł6ąÜÜşÜÜb0/Y˛ą ëć#«ďP4448ĚÜ zľ! y»í¶+.\Ô6oîÜy(//GVV–Çmóó Ěe”)ű8d™ ňŕřöŰďâµ×ŢTΩá÷ßgá™gžÇś‹sÎ9Ëëß !„Č"s™/Ć2Ńb,’”ĄŚ×î‰ ńZĐĐ} Á—LdˇŢ¦e:NÉdhÖDSMmŠŠŠ”ů,--M˘|1š“ÍŚz*üĚ™3—]v•Ă<1şÉő%#ÁĆGż/‡ÍżXŁK¤Ľ‚ěëşĂ˛t$$ńĄóśP\\ŚęęÜ~űmذa=Hl FÁ»ďľ ÷Ýw?JJJĐ˝{w‡ĺĚśO!¤«Nc™ó|iKC™ şąL†Í[·bɆíXYnĂ&dˇ(˝/j3ÇÂÜ- ¦ŢPíIR§m°é OГţVű_śĹ„8­ÍI Ňl ­f·jmŐHŮĽ Ý«Öa�Ę0"+cőF˙ľ}Uű‚n2ÓÇĹxćÉlć-»Ľ»e¬GHWńBHW„n‡ĆUę]Ň_΋<�HÉ©úĘŘ6-DbFKV2]‹Đ—ŚeÍćÖ™˛KŃLJdš-R˘ HŇîëEłľDż)§(Óš-[Ŕ@`{¦N=ÜÁ`&r3fü‚O<Ţăv3füÜnŢᇊP#×üĆ˙Ť?˙ü˧őĹ8đüó/aÁ‚…xä‘[łŔBHtăJŁřŚr7i„Ó\&šDî'ĘXVß Ę_¦¦$içĐdŘÂXłăł—ą;ŹÓ˘źéiiHKMŐ>G˝Ö�Z¬}†¤§§«¬fşÉźFPšĚH¬"e¤'k(‚Ť:˛Ż—´}ŢbË'ťĄg‚é<'Ó’I»ŞŞŻżţ:–-[[,^Ľożý6Î;ď<?}Ĺ!„wt…řŚN°ć2_狉Lâ6ňŞw ś·tćl«ÂJSäwô™Ó@­Ý©Një`ŻŻ…µşJ‹ś4ĚX­íLnpµ<N˛—ZP“Őő˝‡c»Ö”đ‡M[°˝y‹—c„˝“ú¤cü‘mýÄd&ŮĺőÎíd‘ďjŮĚ Ś÷:Ń3¤ó Á,  ±Ě?\ýÉ@S“%+f!ľ® ń=Z˛—éĺ/Ń’…´­qU˝4ďř2_ f˛®´™Z7,@]e‰&Ú{*”sŮç>ţúÎ!‡„‡~L=ŔéüđĂO^ f?ýäh0KKKĹ>űěŤP"×ń?˙ąÍ­ąLJcĘĂ\qqI»ełgĎÁ}÷=»îş„+„»QµłÔ\ćmžhÉ|)™9ëë”hAjj|Í0ÖŮË<mcŇÄTjj RR’UF3É´!NÉ:*F3cÉg]ä<OźßLfűí·/úôéăqf=ŤfŻođ»L‚/HĎVŮ÷”ˇěĽ@H°DŠžńĄ4¦4pJiź… âÓO˙›|üńG8qĆŤŻŽE_Z*“t Öfü´˛ó65`GE“ŇÔyfLF$#ŃÂëE -±źŃ ¦ »eÎóDg‰±LÚ’ęëë±tĺü¶ą‹ˇ¤Ďá°ěŘj´ˇ˛ö­ŰˇRŽÁ)®á°x9^ó¤ôfc=ěÚ`«lݡ”ČLJÁöÁűˇ0Q äţ:»5lŔ”ţY3b¨2Ą‹f¶ c§?Ŕżěň®Öwµ^4ꎓN:Au’tfÝşu3çď¶iůl§ź~ŞË}Ś3„č0ŢCHčˇ'&:`ˉ üíuâĽ\dĽbĹ_Zc.(˝AЦ˙uCY\Űv­ă˘ Ě-+č%2ă%‹™­Ą+˙BÚ^Ǩ}‹€g@/4dffbď˝'cćĚßŰćÍ›7ĄĄĄČÉÉqąŤ”Y˛d©ĂĽ< äĺś>˙üK‡ăä=Î?˙e€ÓŹOĚ_}ő ^zéü×™6m:Ž>úHLš4„B"_µ…/óŤó$@)Ć2É8b±H0 xÎ4ćś9¬3˛—ą;ÇůqÚçIEjJ2**+UŮj1zggg«�§ŕk6ł®`2;á„ă0eĘľ ]ĺŰ.–ďhdŔ‘Ćą´¶PQQˇ˛ ľđÂó ĽĆ0Ň)áé§źĆsĎ=Ż®ą”Ę4ęĆź"›ÍĄ6<őS…j4˛±Ä¦†+ëpĺA™čźĂ°<!„řB83Ě ş±¬¦¦Fé¬éłá·Ć¬ď3ń»%ŔVŃ kI ­­aýÜ÷âÖ†+{} eh¶« g%˝vÇĚĚqř©ĚŠÁ?ý) Ą8bňnŞł_jjŞWŁY°Ů̢Q‹\vŮ%.çK›ŹłÁěşë®ńů›¤ň·×U`Ľ‡ŇUá“,‰)Ü=0¨TƵU¨^ô#z'·ĹĚz‰LIEloMI ĂcAóÎ×8sKö2)‘©ĘdjŰ—Ě˙}&©zł¸*{čk3Űsć;ąô2™'ź|˘Ëőe™¬c$Ôĺ1ĺ!S cFä!íąçžÂî»ďć0_ʦžvÚ)jţ?˙y©2śéĽűîű4BH„*s™s°”˛Łtł˝ÉIRľŔhËqODBö2WëIF×ě¬,U:ł´¬۶mSć댌 µĚ]PÓź˛ ž¶#-”••áłĎľPŮS7nܨýýU)ÍŇ»w/ĄMŽ9ć(Ś=Ęa›7Ţx Ď<óĽËýí˝÷ţmăłfýę`ŕ—@ü×_OĂďż˙U«V+c˝\›¬¬LŚ9°ż*.Ůě<±lŮruĚóç/@AAˇÚG·ną;v Ž<ňź˛Ň®_żA†˙ţ{ňóóµĆZ•aoŕŔŘsω8ţřcŃłgOt4uˇďÍÚű&„„‡@;Ď ň\ŮĐĐożť† 6€Ä6›6mÂ÷߯ݿŽW×^â ž`Ě©óňH’eB«ęíĘDVou˙ť.­±ăÁéĺkAF’ Łz'`ňŕD–A"„„Ó\&fiŰ©®®V?ź»ż%ŤDĺŕŃlÓÚ ŃX\ßZGßAŰ˙:‰8íجh(ŢŽ†B;⓱q—°IkŻúrÎ2L©_€ă'ŽP™ĺÓŇŇT»•±t¦?ŮĚşB†ů` E,ŁŁŢGöńŢ{¨D RGâ6űî».Ľđ<ôčŃçž{!–.]Ö¶ţŐW_łÎ:łmúŕwH¦đĘ+/hń–xńĹWđëŻ3QTTŚC=÷Ýw·Ăűţůçl|÷ÝXĽx‰z_‰#É{ş‹ę|)1*1F:óŃGźŕˇ‡m›–¶Á›oľA{ÚW_}sćĚUťxűőë‹3Î8]Ĺ|tdť·ß~ý5G‹Ç–!;;KµÉťsÎY4h Bă=„® f$fŃÄdł5ˇbë*ÄWć#±OË3A«·¬ĺöÖAź6ŇZJSLfŇ6&Ć4É‚VşflŤ š ŠoÓŐˇa˙ý§¨ŕ©Ń%e2=ĚŚääd‡ÜÄ%BXD˛ßÎć2#ÇSÂV„»ÎÜąóÔßdWęÉA!±@ ć2ů˝/**RF—ÄÄx$$YĘiŮËĽŹňzö@Ąč‘ŕ‘ÜĎ%Xĺ.¨ÉŃĐńĺ—_«�śÉŤHŕ|íÚujřä“OqÜqǨŔ\0zdőę5ř׿nPëś‘€§ żü2oľů6{ěaôsFŽë‰'žĆ|ÔnŮöí;Ô ČńăÇiAĘ»››ërŹ?ţ” >:Ĺ\'ALŢ|ó\sÍ•8őÔ“ŃQH“-Ą6JJBúf[°şŔęz˙Z¶Ľ3 {¸Ę^&Ťź’Uă“O>é|řá‡8üđõkŻb$ť•ĹL Ü÷Üs?eđŕAÚ}ú=Ä"rŹ~qfĄßĺ‘Ä€¶2żĺţ>gcľXX‹öËŔ°žŚBN¨::Ď“Žę’@˛„VUUáÓŮË0#uwÔŤ9Öň&X7mm-qçh.‹4¤#źµő[·¨cµu‰iYŁńóňµ8°f6Nš<éééŞbŚd—÷ÔńĎyž§ůÎëtŸM(bů>/żüŞ2‚),,§ź~Žźţ/˝ô<üEžK.şč2ŐŮĎ%%%¸ĺ–ŰTu"g$V(Ăźţ…×^{>xvŰmWxBž…d_W_}ťCĚKŢ_tŞt¶<ďĽsđý÷?â¶ŰîTçÎřYĄsäŹ?ÎĐbf÷aď˝÷B°0ŢCéĘD°:"¤…@ł…čČĂ‚L—Żř f >±5{Yk3ĄőÔenÚVe±Él(“)ĐJ6ˇDLf¶&ĺş÷÷}™ßU‘žÜßaŢ‚ •(uFzIĎ #‡r°z` %"vŤH¬d)óĆŮg꩞>Ü}÷Ęp@!$˛đt/D‹©jëÖ­¨«­CJr⍣Q íĆ= ŮËÜmăLfF:zĺőPŮV¶lŮâ`…F˘~rDJqßu×˝íĚe®ř⋯đŘcO"P$É%—»4—9#=Gݏâj‡ëŻsăŤ˙v(uF‚—^zĄ*YâĚ}÷=¨5ŔěőďAôşď$ Ř4h ÇR«ÎŘß©E“˛˙:4 7‘…Ýúş.ű.ű~zF…z/BHl#żí{řăŹ?T–FŇ5ČĎߡĹ"fˇ©ÉîÓýťt,Ň řč÷ĺ~›Ë\!ĺ4e_î !¤«.s™<cÇŽřě—żpőÂf|3ćdTf@ÍšM°ok1—µl¸sh™Ń24»:sy+Öâ­ę3TföÇ4í3Ég“Ď(źU>ł± ËŰyňeľŻËc‘PÄ2:ę}$ůłąĚHYY9ţóźŰܶqşC*ő¸3—‰n˝ě˛«\šËśŁŮ•W^‹m۶{\ݤ¤·Ţz‡[MüňËŻ©÷»ăŽ»ĚeÎÇőß˙Ţ®ŚĄÁŔx!¤«Cë+‰yÄIołYQú××ČMcP«±LꍢM-†3wčĄ4ő fR&3YŰOĹšż‘7febS”ŔlˇAĘ)}óÍ·mÓŇłč§ź~n—uâçź {yLA2~‘Ěe©©©^·ëÖ­>ř@B‰\ †y2H‰ůY‚wfM4¤¤$´é×ň ¶˛—9ŹK6ł>˝{jçŁTő¬”ţRŞAp•ÉĚy?Ţ îjA‚dŹ<ňĂĽ#†«Ţ›R˛   @%g͚ݶü˙űL[~¶Ę.'%DŰH‰—^zŐa?R\/‹©g<űřă˙©ě`:˘˙őŻ«qŔű)“˙Ľy đŕ«@Ą B)çpć™˙hŰFöa,‰.×ńÄŹWşIö·hŃbŐ“µşş%@*Ëgź}A °^×¶Ťd&“¬mF;ě}ô‘Şćşuëń /aóć-mËźţErČA7?­¬SŤĹrü©ÔÍ‚[3¶•7ą]OĘlÍXU‡©cR@‰l‚é<'&ݦ¦&üđĂUŇÓÓ´{V Ňî[=ztCZZŞĘÚ•śś¤ąOČý®¶¶^5žI†XihÚ°a6lÜ¬éŻ Ä"?ýô<đ Ű’2Wž˛EjVXÉžkHYLÉ\f aő"Ů×KÚ>ď?1‡ĺ2 !]šP™Ëśł–I¤ŇŇR¬Xłďä'aÓČ“ĐTÝŚ†Ő›Zî“ZQłű7…—Š€ĺ-ŮKňŃXÜ kĎ‘x7m~˙c&ţ/Ż#‡FNNŽ*ťé)›Y Z˘+ĹfBËč¨÷‘NĎ=÷b»}K!Éz&F+‰©H†z™={Žz•XŇčŃŁÔß@Ż^yjŢűď¨â1:K:ë¬3°×^“U9L9v9V˝#˘ĽJöű[nąÉíűÍťűwë~ÎTń®5kÖŕ˝÷>l3ĆÉëĹ_®Ć%yĹA¨:GJ‡Ä-[¶¶íGbY’ĺ줓N@ 0ŢCéęĐ`F˘_ł—‰S]zůÖ–ě� 7 )§%™)Î`2kj”ovŃřŰÜšÜĚÜšĹĚÔ’9Qkg+ýű'ŘŽľTĚ<+>ýGJ\J©K©‘®#e2ť f3füě0ť—×»î:ˇFJśŃĹ2!„čĆßŔĄ·^žbä‘`EB‚Ee-sgČjoÚňŽŻĆ:#{™çmâ”±¬˘˘J•›– Źš_tR¬2żýö;,Y˛Ôă:—\r‘_ŮX[z‡^‚M›6căĆŤ*kÜ3Ď<Ńf 2d° rČTŐ@-H€}áÂĹĘ%×CW=V%X¨ďGgÍšµÓĽ3çÄŔ•‘‘®z´2D•Ć;vLŰryď×_Óa7Üđ/ť'ĺĆŤŰçźQ[g1©]rÉ?µ}g¨i Ś_{íUÚgޤ†ˇCwq¦Ęç–ż=)Ű #çH˛âZ˘ÂWţŢÔ€@Ů+GŚn ~0·ĹŐMן§˝Ž„Ä.rź“ßő–˛0#ŁÔÁ¤‰ă´ßű12x zţ†ŠŠJe6[˛t9ţš3_;W • -Ú™3gŽ2ÔI©ńÎŇ<r?ýÇ?NóşžŰďż˙á`ě–ăľţúkkĚ^ß’ĚeÎHcĄě{ĘĐ$BHW$s™·yRMDbű˘ Ţú})~p,,ĂP·q«Ö.Ô„¸H.­e{ 6kŤflľî¬nġ?‰ł÷Ł4e÷îÝŰ:ůÚůŹ&łĐĹ2:ę}¦Mű¶]Ć/éxƧ·MËř\ě6™;äZKµž#Ž8¬Ý21ś]zéEm±ёұQG b•••™Ő|Évvë­·´íG’L :Te_3"ÇsĎ=w¶MËz'ťtšC'É@ uFď!„tuh0#M°éuuńT8˙'$67 1É©4¦Đj0ÓŰ~›[ emÝUâvľš[ËdĆkűHŇô·móTlD|żáęAĹť(wţL4śyGU?ü0ŐŰAGz6H/#éi#HuîÜyŰvءa9żÎ&ÂXěK!]ŤP¤ů×בW); ËÄD â-?M[ţe s—9¬ł˛—ą?žťç033Meu+-+Wť�zőęĄÖő%űF,2Ą§¤7.ľřźđÉ wňÉ'z\GÎOBB|›ÁL]Ά3)W.˝SĄZG: Čŕ Yż°p§yżGŹî8唓ڭ7fĚhmÚzĆŠŢ–q1Ĺ b\“ÁbbpF:0„Ű`VPŮ„@HIĂůűd¨ďŰüÍ ąÚ{I´˝!$ňpĄ=Äü+ó.\¨˛E+}úôÂQGŠ˝öš„±cF©{R(ÉĚĚŔUĂY˙wšŇ+V¬Ćźł˙Ćôé?bí:˙Í"ůK–,Ć>űě«ţôěů:ˇÄ$n4Š»céŇeřä“Oć]vŮĹ9rbŤĺŰý+#ĺ׾w4Ň`Fé’„Ă\&f*1—­^ż /ĺ§ŁpʓѴµŤ[g¶ YˇJßľő5pČhuËUĽĹŽZíYÝśž_´Ďľ|Î_¸(o+†imb2“N[jă0]ÝdŞXFG˝ŹT˙1âŞÓ€´s]yĺe¸öÚŕ‡z°Ks™ŕ)¤ă«)++óşľóűIgGiG4V8:ꨩëdggcŹ=vÇŻżţćó{yńBHW‡3ő¸Ë^ÖŇË·A`Ë×ĚCşvÓ–řĄôGiË`¦M4·ĚâäŰŕ¬Â›wŽ›Z×—ňR#ۢÍOŃ„Ké¶őČî7\útY źĆ3G¤L¦Ń`&Bń÷ßgáŘcŹVÓţůW»zęîDm°8q­ÓN!$˛ń%pi4—m۶ őő HNЇYÜčmřkÚrM´f/3ž2OMMÉlR%­äśőéÓ'd&3˛1á‹áKzŠŞň¤˙=Oew1â\fÜW¦LŮWebÓ‘Ŕçi§ť‰AbÔ¨‘>|ę‘*ÁNg3šŕśM¶wîuŞŁJuÖ®]ë6(+ĄiĺsoÝşMe” *ý5§ÝzÁvb ˝2͸î°,,ŢÚ·gWµ}WÎŰ;9©&•ÁäÍYŐ>í‹ß B˘OżGú2=»¤Ś˘ ąďtŕ~8ćñç¤ńz—ĚYcÇŽRĂE˙<[»?lÄW_OÇ_NÓtHpŤJ͢E‹ f‘Ř©Q˛ŢpĂÍŮPĄÁSĘyBî×bJ“řŽÜ·e{1 Š–8ŕ€ýUŮkWZBî÷˘=tşwď¦i“ŻTđí·ßU†~ŃII‰0`€ÚĎ 'çW†XOTÔ…>{YGě›B"•PËś§ĺŢ$ť‹ľš˝ő:¦ÁI¨_ą±%!ć2çýĹę´öY›j*P˝˛M÷Äí5ő8ő÷/qĚä]UY˝ó•Ż%3»˛É,\±Śp˝Źdp7rŔűąĽ6“'ď© \ÎŮÎ<!¦-_¸Ó¶m۱~ýz›*((ÔtÜ:Ě™ów»ő<‘••ŮNljFmlěH™™™ébŰ,‡épwÚaĽ‡ëĐ`F˘_„Dcż®®ů˝4dĎ×ÄÓ*ÄÇUÂÔÔ’…Ě,ž!M35Y[oÔşńLkŽłcgŮLs˫٦}iě­ëĺöDünűbCm"j‚DÄWJJJ›@3 i6†4PöďßϡĽÂożýŢf0›5ëO‡ő€aÆ"tëÖM'uňóóA!$zńĄA×Ó<}ş%P˛M•®s™Éd4ŽˇÝ¸'‚Íć)“Ygg/3Ž'k }ݻ墨¸T»·nU&3 k2ëęzK>˙Ź?ÎŔÇ˙Oőv 'ŇSUJ`M›6Ýaţ† ŐđÍ7ߪi ô|đ¸č˘ Ń·oź¶ő¤TŞ3ľdvĘË+¦kkkńůç_ŞĆiŁfělň2ĚŘXbs»<5Ń„¬ö–¤:°ĽţG•ĘV2n@˘ >ľú{%Ş|k`ÎË4Ůcl•¸† 1Ń‚d+;ďÜ3´g÷©Hrę¬ŐY 2×\} ®¸üźÚ=g^yőí¨Éj& r‚s;§N=|ÓM˙q¸żK#ŕ]wÝîń=żţzîż˙ˇvăĄ#¬YłŐ ĺˇxŕ^UjÉrnd?—^z%/^Ň6_ kRš\†ź~š'žxÔĄaÍ6—Ú°Ą4đk!Ů+úf[°şŔęz˙š~÷čźĂ°=!„ţšËd\b÷ŐŐ5xęוX°Ç©°Ő aĂ:•µlgůW9Ŕbt:®%^S§ťřś<|:ňTlřős\µ˙uŻĚËËsŰ–Ĺ€; e,#Üď#şHâ%FúőëçrIś!YŇü‰©¸ĘodÇŽ||řáÇřňËŻĘSJ$ý˝1ŢCéęđI•D,Á`e[Ćv{3¶nŰŽmő Č9đN”¦Ç!ޢ‰ł˛ů(Űşyą6$YkŃ`/ÖÖŻBj†&s¬MV4i ťI™KHFi­6K6’†î‚ęřľXśź„„>c±±¨ ¦z›&Ôj`Ń”‚Őł–¸?>Î|C2’˝ôŇ«mÓsćĚU= ä<Ďžý—ĂşRO=\ě˛Ë,\¸¨mzáÂĹJ ‹©ĐRzjÁ‚EóöÚkOŻŰB ˇ2—ÉëöíŰU沔ä„VsY¨L[†ą›Őü[/ÜŮËŚHĂ^÷n9(,*Qç0T™Ě˘Ac=ţřĂ*X(‘Ď}ÓM·`ĆŚ_\.ONNĆرŁU/ز˛r‹ści4Ţwß}đÁ©F[Wß hŠ í—_fâŮgźl+ŻŚÎ7fF‘˛\p±Ű ¨ôĆ–,j3gţŽŽfĽ8ôp\[hĹ»ł«qćä4ě3$ )ńqŐ»ĄÁ{ú˛Z¬Řa…ŻLć BHxĐMEŇó?ŇéׯŹ2–ÜQ*F‰Čqyäˇ:őüöŰźxńĺ7µűŘrD2bČtła¤ńňËŻ:ÄK„ŰnűŹę¨çŽ÷Ţű�Ź=ö$Ľ!Ť“—\r^}őEŹ %NôčŁO8Ëś‘L/Ľđ2®şęrJµOýT:k`ZF*"üëĐ, ęfQűY´µ}©MŮ÷Ó3*pĎq9HŚgěű„*FŁŹË}Sâ4wý¶÷<µ«·Łą±~gÖ˛¶Őwn×bĹrź,6–CťkYl5IX¨ť›»~ű·Mé§ÎYßľ}Cf2‹ŐöŻPĹ2:â}\éFOm—ÁTgrFtáUWý«ťÁMż‹Ţ˝{ˇWŻ^*Ó~4Âx!¤«C‰jśŚH–ľŞjj1P rćf¤!µ[O¬Ü–Ś~#€y$Pž’ŚęĘX&ÚQZ¸ýúôD“­Qe!©¬®AN÷ްÚăPSoCł)…%eŞA´ďŕxT–— ±¨UšHÚ¶=ééJĽ‰s?PńLăY{¦N=ÂÁ`VŁ]O JŞ[czáđĂĂSS<y’ĘŚˇ#×úÓO?Ç˙ýß·{űí÷Tyń3gţB!ѧŔĄ”ô‘L©‰‰–¶ĚeBhL[žŤj-빏„ěeŽçÍq\_”ŹÜś,””–«ŢĹ\Ň·őČ$ŽHŁąL2ÂwÜ12eUbŞGŹęžzę!1éHŮ*++±té2¬X±Ë–-WÔ¤·¸ŽxŕaĽűî›jZĘXŮsωxö٧ŕ/O>ůŚą,== §ťvжżIŞ\§”A(//Ç!‡LEGsđdüĽŞĄ5î{ĄĘrA‚Ž{ôo nŇ‚”ź/¨ŻHy…µ÷"„D?îâząŞŞJD*bčý×µ—âčŁY Âp#÷ĹýöŰ[ żüú|čIl۶‘HUUKÖcé HÉš/ Żľú†ĂĽSN9I;ŻSÜnłző<ýôs󤜦l'¦4)ńýć›o«WAĘÝvŰťx˙ý·Ý~NÉŚńŐWߨű˙1ÇĄĚő˘G~řÁ1ţ"qť‹.şŔkÖ wü´˛N•5 ”ă÷HUć˛[3¶•»/Ď$úa†¦¦ŽaçDBHlJs™ňĹ(UŞĹîYnEţŘCP·|SKŹ7“gă»7;OL-×ÎEłµŐÚąY7öPÜôןřď¨xeÖ“™”WŰĐdÖŽPĹ2:â}ŇŇŇT[¦ŃŘ&ecÝQ\\ŚP zőöŰďr0—I•"‰ŐHYMÉn/É~úéç¨51ŢCéęĐ`F˘ _ťű˛žĚdX¶r%zćőDi‰¤fôëÝIh€Íjݦ5bđŕ]0pDžÖŔY¦5pV`ěč1Čh¶că¦M¨ŻŻĂ€~ýPßPŹd“ IšŔ^·z™Ö`•Ť>šŕ–Ě EÚvC[ËdT‘đ‹fúőë«J!HcĄŽd.ËÍÍuXoäČJ¨†‹˝÷ŢK tćjB{§—žŻăĆíˇJyşB‚¦ź~ú™Ă<yHŚ!„Ňń'xéiZ/UUŐĘ$oŃR=¸3mÁĺ¸'|Ý&śű6âIľ‰nĘÎĘDiYą:§z¦ oĚ®ŘSÖ3gţć0}öŮgâŠ+.k·^MŤď,_­-u¤´’ úü;ďĽÇˇ„ĂŞU«Ű˛żĘúFÄ&Ťz ŰWś?÷}÷ÝŤ˝öšě0O:'t’qäĘ2ńĐôrŹYNŚAÇF­±ůĄ™•°ůŘnť¬˝ÇUÚ{$ZřŚAH4âk|C2ł Îe#1“uäa¸áú+TIÄhĺ€ý÷ÁäÉđúëďáµ×ßQť# ýÚë Ţč(-$Ć·˙ţ÷vă›Ü㯹ćJŹŰ‰yĚUăCÂý÷ßÓvĚ’ńô€öÓ"ĎlëX¸ví:UžŰSX1ŐżôŇsm%0Ű6dČ`»Ń-"ť'Mš@ř{SŕßĂ‘˝âqÄčĂŘs«Q\ÝäqýyÚ{Ń`F‰eüÍŇäÍ\¶yóflĎ/Ŕ]ŰşŁzŘÔ­Y݉=Ó|ëşú&ú,ăk—[nGíÚőȶn^··ŐďP÷ôţýűűe2óD¬ĹgBËč¨÷Łš1 ňÜą»L íXˇé̲nÝz‡÷”¸ßoĽ‚ŚŚ ‡őBźęHď!„tu˘Ł[!ér[SÄVS“]5VĆ'$jzą A·Üî¨m.%%Ĺęůbř°ˇ¨®ŞÄĽżç"7+»Ž‚íXştč‹áC‡`ăĆ (**RŁ–zä=µýĆcÍę•°66bŤ&Äĺ=ý)WĚgějLťz¸ĂôěŮsÚőngyLA”˙üçóÄPxŃE—© e’ąĂ8˙ăŹ˙‡Ë.»˛]Łć9çśB!ťż=cÝ-—ŚHĺĺH7Ěeí Ťi+¸ěeĆńHĘ^fOIIŇMéęśĘąu˝źös=Ł ç€¬siç@`ďŢ˝ŰíC´SAA!<á*ëŚsĐOŢűşënÄńÇź¬5ň¤˛˘-Z´Řa1ÓKůL#Ő|ĄQW˛ÝčHÖ‘7Ţx«Ý{Ë{ťqĆŮę=ţóźŰÔ:……-źAßĆ,ipóążţúxÂU°ŰźŇžčźcAżď` :>đm9îý¦ů•Mđ_÷O‰^Ś÷3É*I ¶ Ţ{ç%Ü{ϢÚ\¦“¤Ý».˝ä<|ňŃ8aDĆXS$iśűî{ůZCľŽÜçď˝÷.Źťę$ŮŻż:Ä/»ě’v÷ăôôte3ňűďłŕ‰óÎ;»MkčH#Şóľ˝é!OTö=LIĂůűd(m=sf®®÷şÍŽŠČúÎBHGâO@Ý\¶iË6ÜZ8�•}F fÍZ4kĎ·ÍŞe¨Ąă›€ťÓÎŻ]nąvSŠ3©s%çLÎťśC9—z‰vŻE¬ŠX†+ś;’„ę}öŮgo‡őgÍš­2Ľ‘ŘĘsĎ˝€Pal'ŇŇRŰ™Ëäoć›oľE4Ăx!¤+Ă_'µx+Ź)óŠKKT)Ĺ!ż`rs»ˇ±µtć°aĂ”9LÄFŤŤ=vßM• *,*°ˇCU€TŇńKđk¨6mk˛aÁ‚ČĚʆÉlRMŞŁFŤŐÖ/€9ޢ˛źIMDť´X&3tHéĄÇ{˛­Wěňĺ+TŻ 9_˛ŽżüďźáĎ?˙ň¸Î^{íŮÖCöÄŹW™2ţřă϶ĺb&“ňLO=ő¬2 Jìô°uő`%ŰŹ?„B"w:C~÷KJJUIĚxíţďkůÉ`M[ľjHÎ^ć)殜¬ŤVunĄwŁž–Ů`[¬_bŔÓ #ó$+ǰaC‘—×Óaý×_SeÝu×±J›ţňËL<ţř“^ß'''§ÝĽ»ďľO™ĹDźyć?”ΕcŮşu[Ű:b8“ĆáÝ5=-ĺŔ%óěSO=ă°9˝·­č%iđý¤#ŮED{zčÁJżKéË÷Ţű@e,֯߀ß~ű'ťtBŰ>D{K¦ß˙C¸ńĆë0`@•ďłĎľŔkŻ˝ OH -g^|ńepŔţ8qĽËsâ™ÉľőéZ[č{G•¶}§°ż!¤s8íÔăqýuWj1„ąÇ¬Ył6nÖîZń¦-Z¬Ąuµu¨Ó´—4Ş ©©©Ę.:ˇ[n.ě§ ýŐ †7iŔ –úáĄÇK/ż© oEś±/Rř⋯ڕźĽęŞËµřŮ.·Ű˛e«ŇÓF^xá%—ëΚő§Ă´® Ü1hĐ vóÔߊ¦ŠŠv–}’ż·pŃ+ÓŚëËÂâ­Ťx{vU›ţ=oďtUćHĘkľ9«Ú§}12H‰eBŐPîÓbÚ¶=w” EC·ľ¨[żq6}úJśö /ç¬yŕPÜQlÂ=ćőjţ€Ôó˝ŕ-ÓU˛Ě‡"–!H<ÇH©Ö¶řŇKݍěqGqXČŢçČ#ŹŔG}Ň6-×âšk®×öýŁŤýůç_`Îśż*zötŚOIE G}gťu†ŞJ´aĂFőYçÍ›Źh‡ńBHW…*‹D ţô„`•ôđ\´d´€gqQ!úôîSś ˝´WłŮ„ĄK—bč.C1bÄUţró–B ÔDł”şŞŞŞT g˝{ĺ©÷ݰq ŤÝu7mß X˛x˛łs´—­ČČČÔ]Š´ŃĽž=Ú fĆăfĂhpHĂž”–ÔÍ`rŤR»˝GŹđo˝_ Pë3ąvR¶áşënR鄍Čń–Îtиé¦ëA!¤s¦4¦Ž. Ôň¤DĎ2:ĽFŻčĚ^f7f2ÓÉĘJדKŐ9îŰ·o[ ÓHW-•)ĺ·oßŃ6-ĺ n˝ősĚQ¸ýö˙ŞL®Ó¦Mo[ľcG>.˝Ô±<•(űôéíPŞŔ™A˘wď^ď5sćďjŽ=öh•Qäşë®Áůç_ÔÖ«Ytłd1q‡h㫯ľÂaŢYgť©1çŞĚ´:Ó§ŻwÜ|ó ęýuŽ8âpĽőÖ;mÓ’ĄMzî‘^żŇůÄ]©L1çÉ:ĐŐ‘sî¸ăV}ô‘†Ń˝0wcxĘÚŤîc!$Ľ[ţ)’HMMÁ·ß„Ă;Á šjÁÂ%Úső|üő×<,Yş\‹áŘĽn§Ít~ťąs\tĂC±ç¤ń4q&LŘCĹwAöué%çcܸÝđď[îŇĆJ‰tV™*iĐ|ä‘ÇćíłĎ^8ýôS˝n+Őś1–Ôö„1Ó­+Ü•Ť eŮŞĽ 36–¸˙[MM4!KkÜX,š”}ýŹ*Lš„q•ţ}ő÷JT7řV)/Ó B‰Eü5—ąë�(ťŃ·lŮ‚˘âÜ–ßőy}Qża5â,ń­ˇ†®“Y+XâĚíÜ­Ń‚CµsYŹŠT A Oz¦soí\]%>ŠXƨQ#Ű­óŇKŻŞ×ÝvŰ˝´vÉPĽĎ1Ł•áL:)ęHąpý˝t¤ó˘”>7vŕ ”ľ}ű¨–t<Ôy˙ýŐ`¤˙~JSF3Ś÷Bş*´Ŕ’#Řň¨”ŔdŤ&”$d3`ŕ�­1­ŻPŠGŠ ݰ~ťÖČTŹĂG(Q»}űv5‘śž–{“]Ó$(Ć4[Ň`Ö˝[7ĺĽ_±|9Š 0bä(µŻ”ädÔ×Őˇ¤¸k×­SŤlÎél˝/ńŤ©SŹp»,Üĺ1ŤHď’§ź~_|a[voë_sÍ•xđÁű\6”Bé\üé+‘­Ę\gň9{™q<řěeîrŃš˝L_&AËě¬,Ąăä\ëçŢźk«śwŢ9.uÇ’%KŐ«”=đÖ¨+/1ĺ{BţÖţýďÝ6ÄŠ±M`čSO=†ěě,xŁGŹîj] 0:ż×cŹ=¬2ĽzC˛ŚÝyçmŞ÷­‘ţó|ŐëÖ’]řá‡hWŽÁů8.˝ôb—Ëôó “'"; =Oeź{N!$6†{ŮŕÁđŃŻe.[µz-yôzř‰8˙‚+ńü Żcţ‚Ĺ>™ËĽ!± eËVâµ×ßĹ%—]‡9wßó.\đůłÚÇľÝw‹H§Łţ†$f&%ŚYŔĨ-†w_ć8CUÂ:Ćđ|ď• ďήV–†}†$áň2púÄ4µlú˛Z¬Řá{‹ xź'„O÷Ťm۶©d�·­NDmź]P')­ ¨­ $ż- Îaťv.ĺśĘą•sȵ‰eBË<xĘTć =Š÷¤ «ů:’`á®»nGV–÷řŽŻČ±K|:#ťďąçND;Ś÷Bş*Ě`F˘_ĘcnÝľC™{¤ ¦ŔdľÝŢ„!»ě˘0wäç«/i@óYFF:PZV†ýZzfTVU© ĄŮfF“ÝŠ*±˝xáBôčŮSĄt­ohÄ.C‡ŞL•U*CÍdż,“:8`?Ő°ę\JAL[| :ą¶˙üç8唓T¶Ůł˙š5k•Qţn¤ĽŞ”…<yO•ő"-- „B:‚^î4FEEŞ«k´űĽY•ÇôDÇ˝üĎ^Î2žd/sÎd–`Qĺ2ĺ\'%UŞ´˙úľÉ+šJĘ`ľńĆ+Şôĺ‚ U)Q1OIQם×_­¦=&áÓO?W=E+**U¦é±zƧcĎ='áŽ;îöú^{í5oľůŞ6ĽŤůó¨ň˘oĄ­±awҤ‰řňËOU‰,)a%ZHŢSłłÔ1‹ńM´1»Ż™Ë-7áä“OÄW_}ŁJ$Hf“ŞŞjĄÍĄ$‡|&éqë*Ř)ź˙ĺ—źW˝q%űÉúőëQ[[§™ňyĎ=÷lU.Ó'śpś¦ësđᇫ2ěň÷—žž’€yĽ9í—Gż/‡Í·„%^±hńK٧ě›B:‚±cGá٧RĎşţ"ŮE~řńĽöú{Úoě*t’íěăOľP”˝<÷śŕŘc¦Şçţ››Ť—^x ×ßx;fÎôž=ÖyöŮÔ˝RGîűwß}‡Ď%Ą»wďî0Ź?˙ś‰háŕÉřyUJkÜßÔeąpćä4ěŃżĄqpS‰ ź/¨ŻH9ÍG$BbŤ`˛Ë§óµ¶1@ÝúŰVTîz8ęÖHYLéÜÝ5MOˇBĘeÖ®[ §ťŰďpßÔąÎËËSË˝e•ď*YĚ‚ŤebÂ’Î{’‘LJ_JűĄÄ2Ś&ţPĽŹěC dRZółĎľŔĘ•«T÷ĚĚ 7ąđÂóU61g‚I–0pŕ�|üńűxçť÷TF|É’/í¬b,“vľłĎţ?ő˘Ć{!]_ˇâ|\çĂkś›i}0^őÁÜ:Ďě4Č2éŽnjl´Fm”Ç•P6ră•Wi<Ş««Ő‚sÍčׯ/boiť§ťÇKKKU ś~™‰mšpŮcŹÝo‰Gźľ}‘ ®DK62jąZ�ĚŞťWéąióě:fŚ*źY¨‰´˘âbŚ>\ísӦͰhAH9÷fs‹qL®Ĺ’ŋѣg¶oۓְ7¨o/ě6vŚjT“/wŮGÜg%×ů„BHg±eËVe®JNNi3RKŔA^őÁť­kÜ0} ^ŠN#ąÍÖ¤D)µäŮ´ĺΨĺÉŔĺ›Np÷ľlúăö¤ĎvâŢ`f/.)SYâÄÔ$ ŹÎďĺË´·ů„t$« ¬xif%Ęj‹:JOV 6ëXŮ7BHÇë_t§qŃ Âţűď‡Î`ź}öÄcŹÜ­bţ çć›i?ŕŐ×ŢŃÍ6#čŮŁ;Î;÷ śxŇ1š¦ó/+€|ž;ďz_|ů-:_[ëŠ6ę¬XÓ_ÍÁW\ăđ7zŐU—«FB_‘J‡2ŐÁ´ţöŰŻcäČđ‡uëÖă´ÓÎt'Ćw)őíĚ1ÇśĐö=nĽń:śzęɔͥ6<4˝uVĎ&†‡'+“YŁ­w}U†üĘ&řBr|n:" ýrŘ/śâžXŹĎ8Ď3ŽKűŹtşzňűů7ů Ô®\e,ăłhż-î“:b0&Ě~W6NuČ2šÉ˝iĆg˘Ź#Ź<ÖˇDć}÷ÝŤĂ;Ä;Ś÷8ľč_Ű�˘„„ř˝µů±¨l}mrš[_톡ŮđÚ.©›iOŻÎăÎxuëóI•Ä ú‘4‹ŰżŃÖ„!C† 55M•Ĺٲy“&„»©äíÇIzHOÚ+Wa×±c±űn»ˇ¸¸Hť¤ÔNŹ=°~ĂFµŻÁ¦=pmXżiéÚL‰ĘJµű¸ńŞdfRr’rýo݇1ŁF*óšŻÁWf+#„BÂG ś—Ň&Ą1˝lV˛Ŕöçv<š˛—Ç34˝V˘i«˛˛2ĄÉô÷D3Qk‘H@„÷źŮë°|{#*ëíŘXbC˝—Ćé$­‘yP7 Ň“LÝ+A•I`OVB˘_ôI &”qřA¸ďŢŰ´@Ż ,XŚűî\•ÄŚ$ ´FłzďĽ÷1nľńjě·ßŢ>o+Áî»îü·ĘöđÖۢ3ńEŰ„Z˙&»í¶;ţ.ĄŃŃs™ •öÝwoĚńKŰĽçž{O>ůʆfäî»ďĂś9sU†xÄd)™>:›ţ9eţ’ĆDOH&ł-e6Ô56űl.3îźBbŤPd—ٞdŮž6k>ţžxęÖoÓ˘Z›k\čËÔuYD?4ŰQ«ťŰ9Ú9ž6ë=˝ďU]FîăBWĎ2MH<S˛Ü/\¸¨-ÓĽ3Ë—Żp0— ’…Śřă=„®źVIDáoŐUyLéiłeëv—Ŕ¬=WTWĄ˘¦ş}űöUĄ„š5q,A+éí¸ËÁ·Çϲĺ˱ŰرŞ'FaaˇÚ~ÄJđ.×–™µ`âŔAĐ  ˛˛˛Ryw¬\ľ ˝úôAVV6’SRQ^^¦R3'$Ä·3!„yřšµZÓRrĎb‰k-Ťé»iË8î«ËS&2wăÁ—Ú ~=#ĆSëküŘy=)_•śś¨˛ŇÖÔÔ 55µu=÷AL*I¤#Â)C“Ô H”§gT¸-ł%ĺ±®:(“ŤĚ„NA2—ůk.+/ŻŔcŹ?§˛|E‚AÎ[µŃWÝ„Ř7ßtµĘ ć ˘3®ű×媔ň§ź}Ť®ÄťwŢŁ˛Ĺ‘N�O>ůŚ×k-%śÎ?˙ܶéłÎ:żü2Suúţüó/\pÁĹ8唓Té$‰Ç}óÍ4URIŽ 2>~ü8D ™ÉľÖZá/™)4IBbŹ`JcęHĆ51ÁlŢşo址ć˘J4××�&sKPAžnI\îÇň8صskŐαśë]·ţ©2ĘH†;WĄ»j©ĚHG˛Ď^{í m™cĄ\ć9çü8`të–«´»”Ý|őŐ×¶“bF#ľĂx!¤+Á_.ńř”ˇ$ŞÂâb•aLzUôčŮS 'éÝ"ŻůčݧĆŽ­‚‚K–-ÂŃŁµaŞ´Fä’ŇR Đ_e=Űľ}›2Ś 2X=Ł,^˛™YYč™×K™Ůúöë§-ŻW륤¤"ÇŐ#6--UK˘ˇä‚ż˝:(´ !„ŕ¶aS4EUUµzMJô޸Ú9ŮËÖrÖçiýpf/kYÖŚtMO—ˇ˛˛Re†uÎjáÔU$‘ %÷ź+ë0oSvT4©oY^¦ă$â ÉH´đď–ŇńŚ3R•ĹôÇ\ö÷Ľ…¸ůć;QXTŚ`FËŢ˝ó0`@?dee"EÓ�c$®S[[Ż´Á¦Í[±uë6X­6ĘĎżüŽ9sçăöŰnRŮÚ|AôÄ­˙˝^;†*üřÓŻč üöŰďřý÷YíćżóÎ{ľl® |FŮرcpÉ%˙ÄsĎ˝Ř6oÉ’ĄjpDZÇŤI“&"RÝ;s76 H Bé*x3—§‹µ6©^sßšD†%Ł~ăfÄ™[š8›ŰţçĹhŰ—ű˝<Îd†µd’Ç˝«ń|o«ş=µö6µşSă0ťĎ„ ă1bÄp,^ĽDMK›ĺË/ż¦w¤¦¦ŕ†ţŚ÷BbĚHL —ÇÓ—dŰQP„ěn9Jě–––hŤÂI*HŮP_Ź!»ě"Íš*cY˙ţý1xĐ ő`"YÉrss‘™‘Žşşze6ËĚĚBzşŰ·ďPďłŰn»jďaĹüůóŃ«w/•--9%C‡ G~ţô虇-Ű·cŕ€ă™Ń`ćíř)¶ !„ŽÁ×ěeŇx)Ú"Ţ×zźŽÜěeÖZíXË ŃXSkM%lő5h˛5 ą©ĄOś¦Ěń‰°$Ą!!5‰i9HÎÎCBZ&ÜŃŮËŚăb(“Ěeuő- ÉYYY­ë0‹‰$ 8uLŠ!$čßż/žyęAeîöą÷ľ˙ţ˙đČcĎŔfó˝  Ž”śś8aLš8ă'ě®ĹSú«L¦ľ`łŮT6˛ů +ŁŘś9ó´†ĎRřdK˝ń¦ŰńŰoâÖ[Ż×âGŢă8_şďľ[QzI™zďXG:\„1śeffâŃGźhËŞá Ńu§ź~*®ąćJD“'â‹…5(«µ#”d§Ty$B‰%íügÜ®˘˘B% xńűżPąç9¨_±ZnČŞťg'-)¸Üż—ű˝\;Çő›VĂ´Ű>Úą—±’’*Ô=\4ĂŘMÇ šő‰'Q™hýő7Żë<·ÝöŚ9$xď!„Ä*4‘Áß çő%°(ÁL)wąuŰ6$§$ˇ¨¨Rb5+3 IÉIX»v úô鋨ůRú*;; Mv»\b k˛7ˇ©IzÁ6æ˝¦§§Ă¤-[»v­Ş3/)b«µ ä–M›Ű­;¶lŃ^s»iA1+ĘĘ+Ő±č2ŠeB!$úŇ RSô@BRĽ×ő;ŁLĄµş ŐPS¸ M µđDł¦měÖFXk«PWşŁmľ%1i˝!Ł÷.HJĎżF¸Pg/3ŽËzÉI‰¨QŮJę”sUŠB!ˇA2<˙ě#ČÉÉöi}éXwýŤ·cćĚYđ‡ÄÄLŢs"Ž9ćptŕ~~eJ3b±X´O5śxÂŃjŢňĺ«đŐ×ßá›iß«˛?ľňŐ×Ó±qÓf<űôC*sš7ÄöÄă÷áÔÓÎG~A!˙śtŇ 2eL›6]•ŔĚĎĎGii™wKF^^ž*‰y ǩĆÎHCĘ ]´_ýľ¶yĚ,&¨}Ęľ !¤+ŕkiLik‘̡«×mŔĎĂĎ€mSTŚ˘ÝęŢÚ—¸<°ĺq¨ß\€Úą?xÝ U%H:Šk·vŚ8¤RÓŁŹ>„ĄK—)Í%ŮĚvěء ›˘ą˛łł1fĚhě»ď>8䂪@!¤kŕëť=ÎÇeq>ĽĆą™Ö“áUĚ­óĚN,Ë×ĆF«Ѭ•6ŇŔ)Ż"¤ëęjUÖ,©uk¸{€p—UÄyĽ¦¦F™Ë–®X‰e«Ö¨^ŻÝ»wW6MĽ¨ĘÉÍAnN,f *«¤ÜR 6mŢ‚ˇ» QÂIĚfZ`pÄđaĘp–ź_€F«UŰ&V[SkV˛¬^˝Ý{ô@ж}iY©´,WC™+--ĹIÇ…Ţ˝ňTóřřx—Iś…µ;ˇMN!$Rزe«vżŚS÷O $É=J ?ňŞ®č ]ă‹®pž6Ž·ÜŰ+4Ú¬ÝË[ä©§ěeyĘ^ć.c™sö2ç÷­+ŮŽŠMKŃP\ *g’˛z wđnHíŢĎçăöE§y2y2žéĄ2Ĺ\VWߨ:č˝dťŹşŠBŻt´žqĄIÜéW÷Ň;ňŐëţűď‡póŔ}·áČ#ői]ič˝ňŞ›°`ářŠ·Î<ăüăôµĆ®t„‰ß|úé×xýŤ÷PPXäóvýúőÁ Ď=Ş^}ańâe8÷üËĘŢćżţ:S˝JąI!Đ8µPhY]`ĹK3+Îd&™ËÄ\6¬§÷Ž-„"DK|ĆSR_ă3………*›ć%?lAéČѰqĄÖ:ČÜIs“ ÉG {ĹOxáĐ~HOOC­}L'řŚ·e„Bb_ôŚ?÷•H'!!~oíE+[_›ś†ćÖW»ah6Ľ:p3íéŐyÜŻˇhE&Ť/YÍôuęęęÔĂĐęµëaŠ3ióí().F}m-JJJTiĚÜś\e�“‡§úşző#5dđ`UaÉŇeĘÍ?rÄaĹĘU*pׯo_jÓ55Ő­%/ăĐ«wo$Ä'`áÂůŇÔ«~ôzöĚĂŔA‘׫Ę**´2»*«Ěg#„BHÇ#÷p)—-şÂbńţŔŇQŮˬŐ%Ř1o: —ürs™P_^móŔ–Ů_ˇľÂX^Ę»ą,ŮËôń¤¤¤¶Śrrm!„zN;őxźÍebŘ:÷ĽË}6—IąÍk®ľß}ű1.ľčś°›ËŃgśq2¦}óţűźë|ĘJ&lٲ ç_p%Ö®ŰŕÓú»î:W\ţO®‰Âî?1çI1"/IńŢdť‘˝â1iP"ÎÓ¶•}Đ\FéJřj.“6‰Ďü8{>ĘÇچ-kµVMskĐ ąĺŐÝŔĺ![§ťózíÜË5k!×D®Ť·ëçjšB!Ń f$&ĆFé-ZU]ŤŇňr­˛Ĺ &AĚśÜ\ôîÝŰ·mCmM ¤‘TÖďŰ·ěÍv,\´iii8aĽĘT˛xéôěŃcnjƦM›±fÍ 4={öÄ–Í›µ}×Âfµj˘:cÇî¦í« ĹEŨ©®Â6í=¤áuéňŞ!T7ůc”#„BHxđ5€)MĹ\&™ËZ Užł—ą÷”Ě—ň“ú¸”·,[;;ćŹĆ*Łń+<ÔUaóě/P¸âOí˝m>mc<µľJ_·‘óš’¤®‰\›ťŰ0€I!„„‚Çâúë®ôi]ÉéĄ×ůlŔÚż}đĹgoăüóÎT1šŽ&>Ţ‚SO9_ůľĘžćKąm1Đ]rÉż°}{>|áÜsţ}ö٤k"%-§ MÂĹűgŕ†ĂłpÓYČIur—e7kë\X.Ţ/űj۲,&!„¸¦˘˘Bµ±ĽŮ¸ ¬Uőhn2d őöŘĎĺˇ]®ť{[u˝şrMäÚB!¤ëA‰ü5`9Ż/‚VćíŘQ€ÜÜn:t \¦¦Ąˇ¸¨ůů;Tv2i ĚÍÍUuâ—/_®5š6cü¸ÝU č "33C ¬WĎV®Z…úcذˇŞ$¦ÍFŹŤśś”W”ĂfµaË–ÍĘȶËĐ]´ e‚*żYŻí«¦¶^]­ĘhîsC!„ťsďÔËn[­VXĚŢĄr8ł— ¶ÚJäĎ˙UŰVűîÜ rĘ6-ǦŮ_ٱ¶RÍëŚěeú¸č-1‰Ń?ŘëK!„ťL&Üúßëµ{m‚×uëµŘËUWß쓹,--Ź>r7ž~ęäĺő„żHÇŔü‚B¬[·Ë–­Ä’%ËŐűJÉPŃţ"YÓnşń*ĽôâăčŢ=×ëú…EĹřçĹ×hńˇ2ŻëĘ9Ľý¶;Ĺ@G"Źţ9Üs|NźŠAÝ,*[Y˛6ȸ̓eýrXÚŤű¸{ţö§ó_CC#>ře.GL@cÁFí¦'Ń…Ö0Ś»úÇĺ!]®ťű†üŤęZČ5‘kl'@Ćh!„čOł$bńG\Ö×·”±Z˝n=޵†G4Ű–š‚Šň 8&sĚ&3’R’±iÓFôîŐcÇîŠJM�/_±Ç ÓÖ€Úş:”—•ŁGŹîŹŹGaaˇJ÷+Ą/ĄIuÉ’%ČĘÎĆŕACĐĐŘ J.X­X·~úöí§GťöÚeĺĺ(*)Enn‚ŚňąÚ2’Ć !„Ňq¸Ó˘)d‘Üž;;{YCEŠ–ý »Ő >ęk«P_] k} š¬ h–Ś«qöÖĹ&ÄiÚĆźř¤T$Ąe"15ŢTHCe 6Íúý&ŽäěžîŢÚ帗ĂőkłŮ¤»˝Y]#W ¸ÔU„B˙śzĘqZ|d”×őÄđuý ·ůTsÔ¨áx䡻´řHořĘÖ­Ű1gî|Ěý{VŻZ‹M›·¨N{®°XĚ*+ý°ˇC0aüî8q† čÓűLś°>ţđuÜ|Ë]=űoŹëJąĚ+®şŻżö ’=®›×ł‡*˙ůÄ“/€DK¦ŽIQ!„˙‘çűŞŞje`ú*i¬Ĺ‘qĘŞĹc˝\®\ ą&'i×F9¤¦¦2C!„t!h0#QŤ<hČ YFÄČUS× zÉöéÝ iééč™—‡M芬Ľş éé:t(ěMv¬XµRÍz÷ę…&-P*ŮJ$ËYBBĽĘlfµÚ´ĆË•1٤¸D˝ß°aĂT+ńüůóѧo_dçä¨u ¬˛žŐT× ¦¶ŐÚľVŮ1l—ÁnAÝ}ŠqB!$ôx2®—ŐŐŐ)ÓşÉd4‡ą&śŮËęKw hŮoŞ<¦'lŤ (+Ř†Ş˛BMßXaŠ3Á¬»dŇ0Ĺŵ}»Ý{˝ µŐh*+†]űĚ&łé9=‘ŐŁ7âÜ7šŠYmóśič;î¤vď×áŮËtăŃĐ`S×H×Vž´u!„♜śl\qů?}Z÷Ą—ßÂĚ™łĽ®wŔţűࡇîôjČ$óű7ß|Ź/żžŽĺËWÁWl¶&lܸY ß˙đłš7xđ�}Ôá8öŘ©čŃ˝›Çíĺs?˙ě#¸÷ľÇđÉ˙ľô¸®dO{đÁ'U†2oś}Öięó¬Y»„BHW&ŮˤÍçĂßÂľëٰ®^8SK™k}­88Fô§.ăr-Ćb-Ů˰QÚµy 9E]«t­-Nmë!ą‚» c7„BHtÁ™¤Ó ¶<¦Ëššě(Ýş öfdeç¨ěcµµ5Řşełj`mlhŔ€Đ­[¬_·^•ÔěŮŁ‡&\[2a4iÁÉĘĘ*Ä[⑝•Ťşú:USJDČľ¤q6>!;vě@yy9ĆŽ‹ä¤$¬]˝6íA§Şşyyyč7`€¨ĚE^ď~¨*/AC]Ť:>ÝG!„đĚýVĘZ××7¨W‹ą%{ŮN:.{Yce±Ws™ÍÚíëWb͢?Q’żEMű‹lS˛c3ÖjűŘľa•ÖXë>Sš˝É†­óD]YĂüŽČ^¦Ż—¨i1»}ç5 j2B!¤…]{©*é É*öâKox]ďřăŽÄcŹŢăŐ\VTT‚G{‡q2xčIżĚeîXż~žzú%L=ňÜy×C*#š'Ěf3n»ő•uĚ˙űô+eó†ĹbÁM7] B!„Ž<łWW×hí;µ–0Ö’ \1n„qĽŮ±cWY®ő6;Šj­ŘRŐíµIkď2Ĺ!|ďŻLfęÚČ5’kĹ8 !„Ňu ÁŚD=b“R ó§Á˛ň[Ô6š¬˘)))ČÉ醔ÔTätë†uëÖ ´´=zöTYĘěÍv%|‹KŠU†łÁˇŞşëÖŻGvv6 =‹´ˇ™™™Ú:‰Ęd&i×këHŹŮq& ÎlŇhm(ŃöłqăX’ÓaknBÎşźPľn2°‰ÉĚ'Ăś+(Đ !„Đáî>,™±„¸¸–Ţ“ť‘˝ĚZ[…˘Ą3=šËĘŠó±jÁl”n‰F}”lÓöů§¶ď·ë‰ÉlËßߡ±¶˛m;Ă^ĆCť˝LĆĺšHI,A2ÄŹßŐ8!„BÜ3hPKĆ/o”—Wŕß˙ľË«ą[ĚewŢqł2YąCâ(oľőŽ>öęU×^ˇD˛Ń‹!ě¸ÎT†3ŁfpĹĺ—]K/9ĎŰnq×=Ź`óć­^×›4q&Ož�B!„8âkö21-‰îřz–Ö¶˛Ë°•ě�ôň®Ŕý˛[®…«TŁnmŁëʱ¦¤Ö¦fŚí–„©Ó±{÷dÔXQRgCĽ).<ǧ] ą&rmäɵ’k¦ă)FĂ !„ýĐ`F"_MW2ÁLĘCĎů #7~‡!ëŢÁĐŢ)°™’Đź‚’Ň ěŘľý T%0­ÖFUÖ2Gľęq1břpUFsÁÂEČÎÎÂčŃŁPPXĺËW`Ŕ€2d°ęůZ\\˘–'ÄÇ#;'[e5[´p!ĚćxôěÓ©9yčŐ0jÖţŚďďAú˛ź±ăďĘüć- I!„đák�K7­‹ÁĚSö2O™Ě‚É^&¦˛’Ŕnktó9ěŘ´f96®Z‚&—ŮĆ‚+)Đdµjű^ŚÍk—»=gR.sű‚Ęlćxlđ‰`3žYĚż´—„Bk.Ľŕ˙TĆwo<öřs(,*ö¸Ž”Ĺ”l`žĘ­_ż§˙㕹,Ć2gÄhöĘ«oăřĎÂÂ…K<®{é%çăÔSŽ÷¸Žów>č“¶řç…gBéŞű^SSŁĘcN«íަşĆÖLZpĘ­ĺř/–—ËńŠYµ6­ •ŤXU\ŻâM§ŽČÄ«GôĹŚÓă×Ó‡ŕÇ Ŕ/ÚřÇÇ@j|ś2™!ŚÇ'×F®‘\+ąfÁŔŘ !„=Đ`F:…Łóú6›Mő€­Řľ¶k!I-Ň—~ŽôOĎ@ĆŻ×ÂşüôÉ6ˇwżľ(©˛˘ˇ9•µMhl6cÄȱ0iŤ”ó,Bjz&Nʞ˛2,Yş =şwÇČ#°~ìXµ ‡ Fż~ý±výf”×4">%¦älô:Fkŕ­Ă¦ů?!wĂ—č;ăfŚťűňŠWÁ”�”.ýS•ĐÔ31[!„™i©±ŃŞz^šµĆÖ@˛’ůşž»mĘ7,„µ¦Üĺ2»v\k–.@qľ÷ĚÁR´c«z/»›L%őRÂső\Ăśf‡ńpd/ÓIH°´]+j&B!$0ňňzbę‡z]oÁ‚ĹřâËo=®3jÔp<ôĐť3—}őőtüăĚ‹°zÍ:t4Ű·ç㼠®Äoľďq˝ß| ¦LŮËă:Ď[éßÍ€7&NŘ{ě>„BqŤ»çy•L@kď™·xŠí káfHg:µ~Ű€vC,.—Đ‘ô,®łaUQŠkm8¸*ž;¬/~˙ÇĽwTś?6#sşN”ŽëÇwGAĄUŻnúăÓŢŃZ´Y]#ąVrÍäÚůs­ !„ťX@H„ăI€ŠqK•uZő7LÍŹLIZ#le9˛jE·­ż"~Í“0ç Ecü XzďŠÇÂÖX†ů‹·a—ѱ۸=PWoĹšŤ›U¶˛éą(«iDII "Ź/Xżn ,ÍVŚ’Ť¦ę-Xůׯč—ŃŚ>ő›a[˙'úĺoFc… őŤ@“];0í8µ×Ę­kPľe9vŮCőä—4|®¸8ß3Ťř»>!„ŇŐđ×Čm—ű´LŰíMwh íěeŤUe¨Ůľ®ŹŮŽ5Ë ˛¬DePőđél3ťŠŇ"¬^:ĂĆNtůže›–#˝×$gv÷9+Y°ŮËd\eZi-s.:011±uu!„â+’˝L/;í1Ýß˙ŔőUJJ Ľ˙v$µŢŹ]ńÚëďâ‰'_@g"źE2±­[··ßvŁK3śŮlĆý÷ŢŠSN;;vä»Ý×ĂŹ<…)űNFZZ*<!YĚ.»âB!ÄsĽĆ¸L2†Ę}űűMŐ0í– {aŁöě޵ňdH¦ŢÖŚ-UR‰Ó=ďš‹‡ebb^ŠOűŘ˝g2âФť[sbÍÖF4=ôý˘jě9®I];_b4ŚÇB!Ń f$âđ§qXĘ#ÉGŃźßŔ¬=g$ÁL{5iqR»ö×Ý,:µşqëţF˙řżaŮü10HJ6cRU ĚKó`ŃFâ,H¨ł˘Ű†Ţ°$& ŞŞ iuŐčľ6]‹DÖ!©,[’앳Vˇ§UŰ˙ŔÖ 5kCťv8¶¨v]“µĺäxMM(^>݇ě®AŤ3çĎCQM!„t;{Z6‡4+™Żë•­™ëVmXµ ĺĄEZ±cŞe%Ř´f Ó~ˇv¬EËgŁ˙^Gg:ڇ:{™>n2·4 fއF]E!„¸CŚQÇ;Őëz_ó=V®Zăqť»ďú7 čçvůC?ŤwŢýţ’žž†]wŤÁ"/Ż;’““Ő|‰căĆÍXĽd9JKËüŮ­ĘĆV_߀îżMĘśÉČHÇ÷ÝŠó/ĽJĹš\Q\\Š·ßů—^ržÇ÷ÚwßÉęÜlÚ´„BHW!lU’­Ľ®®^•[ś›¸ ¬ĄĹ*ŇŚŘĎ€ĄG0ŠëšP^cEfŠÇÍÄ)Ă3qÜL¤ÄűJ4Ç!Ţ{sKyÍ𧮑\+ąfbŕĎȰűT‚ÝŚĺB!Ń f$j‘«Ő†şŠb4l^†tíŻ9>Đ´łŁh=+†łÖAéۆ&$VUĄU0ĺŻAš6/SŰľi»&‹µńlm<W¦w´l/ÓÍćĂšĘ ,űŠ—cŃ)g×Ňh,ĚâµőŠÎDӑ竆ëÔÔTź„2Ĺ4!„|5®ëĺ¬ă—ľg/3Žű›˝¬®t;«KáŠâüí(ŘľĹKć˛đ‘żm3ŇłrĐ­gďvËę* QU´iÝZ–Ăť˝LG?˘­ŇÓӽ톺ŠB1pءzĚ8&HĽĺŐ×ŢńşźC9Ŕíňç_xÝ/sYVV&Ž<ňP5őPUvÓ•ĚÜß׬]ŹéÓÂW_MGAa|á»ďg !!÷Ü}‹K}°Ç»âŚśŚ·ßůĐí>Ţ{˙śsöi*›'Ž>ęp<űÜ+ „BČNÜe–—g|™ţ}ÁR4 8MůëŢ2“¦EšěŘReEłö:Ş{2.Ű=§ĎÂn=’(UŤvŘě†r—a˘©˘Mýw×®Ůç8r˙˝Ő5Ô;c1ŚËB!±C×Ę-K"Š`ĘX úGéęą07Ô ÁX$AX«N5µÍÜéVÝ(&6Ë&m°JĹĄřăÍÜ2Č´”»´ĚeŰ©ÉŰ eÚr©.ˇż§ą5™T]¨\öŞ‹·iÇŰ趬ݰ^=!„Ä´.Ť©ńńľőżeö˛ĘÍËáú±nŐt6ëW.ÍÚčrYéşE­c“˝LHLoëh@mD!„ř‡/ŮËľ˙á•%Ěb¬şá†+Ý.˙ęëéxţ…×ŕ ™™¸ţş+đÝ·ăćŻĆŘ±ŁĽšËi¤6t®şň"Lűć#ÜqűMčŮŁ;|AŽď•Wßv»üňËÎ÷¸ŻŠŠJ|ôńđƱÇÎĆTB!]_źŰ%S©<ëĎ.Đâ ‰h¶KŻţf´wI§Łoą(‘e MXST‹âZŽśŽ·Žąg Ă˝Sze.ňk¬¨·Ů[1„ńóÉ5JLT×L®ť\C_`,‡B‰^h0#…?ÂR/ŹYř÷Ź*cTź“—覝Ť¸íByňM-Ťjť¸ťóă YČÚÖEËşęĐśwÖş˝ľĚÔúľ¦Ö,fr<ńM ¨ŘŘŇplµZáîóRTB!ăď}Ô¸ľč ™–ם©ü;&{™µşŤ•ĹpĹĆ5+asŇťÝ6®]ĺrY}y!ŞJ;,{™ רąŮŢvÍv®řß�!„ŇčÓ§öŘ}¬×ő^ă=ŹË/ľč·¬uë6âž{/uÔařę‹÷pöY§µe»é pâ GăË/ŢĹ˙ťyŞO¦®çž Ď[čr™č®˝ćRŹŰżőö°Ů<w"ěŐ+ăöŘ„BńŚ<źKBi?Ylî¦JÉň×Ö.Óbijý§ĎknŽŞĺúZŰk±¶¨ى&\;ą'~>}|uâ`ś5:ŰďRîŘQ­Ĺ’lv… ëçÓŢA®•\3ąvzRB!„Ä.,‘I˘Ža۬kc}-*—˙ŤK‹ÁLe,ĂÎć[% áh8SÓvmh5…)Ł™ ;3“5;:/›ť;gčű6ŃŚĆ2ă`i-“ąíĎič;ń0ÔŐŐ!)) ľ~Nöt%„BB‡» —Ífk].uŻ%c†çűo(ł—Őlp9żľľ…;Ügéh¤TfżA» 1©}ăoŐöµČ6±uĘ1{™§Lfd/sľ†rí,–öŹ4ÔQ„BH{Ž:ňPŻ÷ÇU«×bĹŠUn—K)ËÓO;Áĺ21\Ýtó*öቄ„xü÷?×ăřăŽtą|íş řóĎ9Xşt¶nŰňň uoĎČHGźŢ˝0rä0ě5y"FŹá°ťÔnĽáJLŢs<nľĺ.TW׸=1©˙űßwáłOßFZZj»ĺGq0^|ůMlذÉĺöĹĹĄřýŹŮ8`˙}ŕ 1ŃÍ›ż„BH¬L§/ië±Ű›±tŐjT獽ŞÔieo;‹ÜĺŇNÔŘÔŚÍ•ŤšXjĆn˝SpéÝpňđlä&{ĎÚ;j¬Žˇ­0~ľ&íZU÷Ą]»ůżëXu-ĄąÚĚĎŘ c9„BHäCé‚-ŹŮŘ(ĺ&í(_ŻéJ· !­Ĺ`Ö–E NúŮ}Lô©j?–yş“L_ŢšĹLoălËpÖn‡­Ű¶Î×ËbŤfq­ó´¸)ĘĎFc]ŤęU« eB‘4ÚÓ§Ż#Ž>úH$&&‚B:Ý`fo’×–ŕ^°ŮË<e23j€Úb×&˛í›7¨ŕŞÉ˝`KĚ‚=ą’sJĚIé3Ç·h» MőUhŞ-jJaŞ/©®Ěç}‹ůn›vL‡Ťj·¬2Á`ćiđ ăzî¶‘FałŮtůqB!®Ů´i3~űíwě±Çî=zHl°×^“Ľ®óŐWÓ=.?óŚSÜf{çÝŹ°zÍ:ŹŰ˶O>q&ď9ÁaľÜÓ§O˙ o˝ó‘GŰňĺ«đĂŹżŕ©§_ÂŔýŐńśpüQĘ´¦łß~{ăµWźĆĄ—]‡’÷z§ °Ď<÷Š*ÍéŚdL˝ŕü3ńß[ďs»˝ś+oł}öö~Î !„®‚»v!iď–l.‚y@7ŘŞJÔ´§Hs„/—xNyCŠ+µ8·SgŕôŮřǨlÄ›ÂŰ6T 3łž~Á5ˇúüvkâ{Ä’ŤEżkËµÔ fëÓ<Fb€‚‚Ěž=G{Ć(AZZvÝu,FŚ›Ěťű7VŻ^C==zô�!¤ĚHT""UĚ(ĹËf© a’¸ÂŇšÁL|_şÁËM ͆Ćâ¦V줒uą­|cqm4ž9­¬ŻŰ6´Îs™*Ý©[\U!Ę7-GňčÉ=8Ôn ÂÚ‘ËBĽ¬¬ S§«úĄăÍ7_őkűxź|ň©üń‡1eĘľj|Ýşő8í´3Őř˙ý߸ćš+,łg˙…ďľűK–,ŐDeˇ:ćĚĚ 6űěł7Ž<ň¤§§8ňŐWßŕÎ;ďQăď˝÷–:_:/˝ô ^yĺu5>oŢ|ÜwßÝF^}őu<˙üKjü»ďľFnn.Hx™4iuO8ńÄăqË-7_ íşÁ¬É.f%w&˛Ö9>f/s·ŤkmšÚgř"…;¶Ášă“aË{f$¤f"IÓ;Ë|I€%1Č쩾/˘ĄęŞËa®Ü‚¸Ňµš¸Şóú^Ű·bđĐ‘í>­ľFű,•OIď¸ěeŞ·@‹90ŇőÓG}‚‡z´mZ4Â]wÝXż~N=őڶiŃ?ýôHçă|}}áŇK/Âś×6˝pá"\xá%j\ôĎa‡‚®őTçRYY‰sÎ9_e2›ÍJ·2$ş‘lęcÇx6 ŠÉkÚ·?¸ßGb"ţqú‰.—•ŕů^‡'ÄćĘ\&¦±;î|+W­?lܸ÷Ţ÷¨*WyëŻwŘďáCńâ ŹăĽóŻ@UUµŰ}|řágŞĽć°ˇCÚ-;ręˇxúé—•Íżüú»Ę®&YÝÜ!e2Ą4é¶m;@!„t5|Íj&m&ÂŇ ;š 1Ń–¸LÚˇěÚĚíŐV4ÔŰĐ'' —Mě3Gĺ`ď>©č(¶WŰdŽóÚŃ/Tź_Je.­h™ŇŻĄ7:#Nc|~—Îí~ř.úöíău»ĺËWŕěłĎWăçź.»ě®…ÄRźxâi|đÁGj\gżýöĹcŹ= {ąěŇK[Ú’ß}÷}­mó3!„8V$¤Sń'«™Ôr·YQň÷ Čďy‚Ĺ`$Ó‡¶ŤZ^Ś™Éš›v–Ď4˘ b&ý˝Whvz5®ď\.ÓdĚb&Ą2ăš±íŻo•𨯯qMvv6öŢ{˛_¶ląę5ď+˙ńÇźÔxNŽěg/„ 6âÜs/ÄW\ŁĚR7nR·äÁ©¸¸łfÍĆĂ?†ŁŹ>ü?ßٶm{ŰřÖ­ľ+HlSUU… öRĂsĎ˝�BÂ…ž+ÎíT'śŮË+ ŕŠĘ˛RU"ÓÍćD4ĺíŰ#ßgWdäöT C‡î‚ńăÇaĘ”}T睊SWŚË<Y&ëČş™Ýň´mÇÂŞíĂž·›&X<gŽlh¨GeeąËeµĄžM}ÉJćĎzq­˝}us`4ńăŹ3”yĂ>˙üK żüňkŰ=uÎśą Ä•mĄĺącŤ1±ŔqČňĺŠ —¨ŇŹî8đŔ}U™JWÉË[iL)‹él.űđŁĎqÖ9—řm.3˛eË6\réuxîůWbKb{ôá»Ýď[żń—_~Ëĺ2)Ă}䑇şÝÖjµá÷ßgĂ{NB!„¸FîÝ[—{ň&KŘký{^ŽZĘ`Ú±®´´a×îIxäĐţsÖp<{hż5—U7Ú±ŁşÉ–Ž3oŮk«´k×]]Cą–ţ–Kí ¤Ťńž{î!ľđÚkoŕ˝÷>h3—I¤t29äAbc{Ą´ý˛mźť0ép‚—Ň(AĽŞëaݲR™A˛—éŮĂÚá¬ÍL¦›Ćě­U.ăv6ůĘaéŮĘôĚeĘlć”ĺLŐŚóô÷0šĚZŤećVóY˘v|ĺ+ć)­§{îęŮĘÜqĚ1GaćĚßŐř´ißâŇK/öi;É(&=‡…#Ž8<,Nrq¬_wÝM¨­­UÓ¤–†ú~ýúŞL"……E*óV~~jjjńŕŹ`ÍšµĚ¨ä#_üO%Ô¤QâúëŻ!„t;{žůb"C»qOxÚĆZ]ár›˛Ňx$ł?šűě„ä4eÎ8p�úôé­2“´ĽOű“ě©2ddd gĎ–”Ţň`,Ëb–.‰Ź‡5ٰ}ľv�î Ţe%ĹČČĚn7ż±ŞÔçěeĆń@˛—©ńć–Ďhě5-ś6m:N?ýTźÖ—ŕě7ßL‰|Î8ăteŕôË'HGžo®¸âRő[5qâ„°uŢ!ˤ‰ăĽ®3gÎ<ŹËŹ>ęp—óĺYüŁŹżđ¸íQG†ăŹ;ŇaŢ‹/˝‰gź{ˇ@4Á /ľˇ=—ăöŰnlÓC“'OŔů睉W^}Űí¶RrS˛ˇIÉMgŽ9ćĽţĆ{n·ť3w>Ž>úpxbâ„=đég_B!í‘6›­ [¶mCIşv/VłfŹŮł\%ččĺęUÓĄő6”W6"%Ĺ‚†gă˙FçŕÄaYč,¶T5˘¨ÖŠDÉ`ććS„úü4ŐV X»vr öﯮ©ő#ťż˙ž§:ôü± Ä’ýNHMMÁK/=ŹáÇ©éh0S’Ŕ óç/ŔŞU«qć™˙Đ®}Ç… ‰th0#I»FDŇ('óĘ×/R™Á,ćV™qĄ¸Öň—ŘY˛ŇAńÚ3’µ•Ä´ŁÍ,¦ŻŁO©]ĘłťYËÚJr¶ŽC7šiÓrŚë—Ł|ëjÄ­LrÁěX6žIYKqţK€úŰożĂ%—\äÓgť>ýű¶ńŁŽšŠP#ŤďFs™ I…ś—×Óa=ą63fü‚|ĄĄeřôÓĎ1`@%@g$őóĎ? B 7ÎÚBźŽ“^Mdg/sÎdf­sÝ+·ŞÂu–0u„˝wG\÷aĘ(6věôďßOíË] Ż›śś¬Jž <›7oÁŇĄËPnž Sjwط̇^†Ň—ck¬qßĂ8ÔŮË`ř ®®e$k$) ˝ző|öŮ>Ě~ţůW•MH9rV¬X ™Lś8ľ­D;!ŃÎąçž­;ěľűXŻëĚ™3ßí2éTµ×^].›6íŹŮËä˙¦®r'™ËBe.3"F.yżk®ŢYşčâ‹ÎĹwßĎP™Î\!ć´˙}ú®ű×ĺí–í2dÖ®ŰŕrŰŮy6ĺ {ě±+!„XĆźę4Îăzfňu[ó—5MŘÜě ť·\Ú|š´¶U5ÂÖĐ„ąI8wŻ^8kLĆőLA°4Ú›1s}%&ôKCV˘˙ťč·VYQZß„>ińn?H¨ĎOsCLYyÚ5\­ fĆö/cś&’’.Hç0Iđä“Ocß}÷F·nÝ@+ä9GÚúÉX¦›Ë„®– ¤+!µďşëvBÚĂ™$"đçDnćŞLÇď_)ăVĽĄĹŔĄJSšvfsh ĆÎ’•*é…ÝɦŻy3 N´¶iç¶â8CąLěĚ`×j0“!6”®ś«>‡¤ßuőٜǻ"ňŕqřᇩńíŰw`áÂE^·‘ ,żţú›ße—!/Č5ąë®{ŰĚe—\ňO%,śÍe‚Ę>Żżţ ˛ł[z*=˙üK(++!„đŕo Óݲťĺ“ü5‘ąĆ›YÍZWír»şšŞöű2™a<¦îĂTěđĂUf9ć`‚˛­ěCö%e4‡ ŰČó }µŇ>Y[ăú­őú1–˝ĚS&3W:Élvm03ěßE88č Ôëşuë±xńź¶ůüó–Ś0ŁFŤDnn!„@<h€Çĺň\˝tŮ ·Ë%š»Žr_~=ž¸đ‚ł”éKgůňUxčá'.$ăŘĚ™łÚ¦ g®řú›ďÜ–Ţž<y˘Űí$ą;ăšN^^ʶLł„BqDż˙n(Ş@\JşÖv#ÓÍ7H›O}“ëK걩¬ăóRđÄđ÷ą#ńřÁ}Cb.űߪ2Ś{c}b^_\Ś@ŘTŃ�{cSKuź:7rÍĚ)ię î4U$q饩*8UUŐŞ !î0ţ=3.G!Ě`F˘ éU*ĺ1ë«ĘPż~1RÍâ"ŢYęŇXÓm[«$ăhnż\•Č4íĚx¦Ěhmő3[}e†iŔqzć˛6Ł™S©ĚxíXóç˙†!‡ţź2ůšNł«–ÉüđĂŹŐ¸”eŮcŹÝ=®/ć2ÝüŽěeţ9»­xňäI¸đÂó˝n#ĄĘ®ąć*Ü~ű]*P˙ĺ—_ăśs΂?Lš´Źú›?˙üsT¶´9sćâÍ7ßVfš´‡YÉ\#B»îÚŇ]ţV$뛤u^˝zµZGĘŰČ9‘,)ŢʆJŹIő+©ˇ Uăd›<yOśvÚÉčŮł§×c– 8|đ‘Ú‡â±Ë.»ŕĚ3OÇţűďçq[1^xaKĐ˙ľűîĆa‡Ňn˝¬ŘŚ?« 0’é.== ˝zőR×ć´ÓNŃD~.áŐW_Wf@áďż˙TfÖ·ß~ß˙#věČ×µëÚG0N8á8¤ĄĄ!JJJÔµš5k66lŘ ˝_˝2%öďß_$5·ô’0rÖYç©Ě52˙‡¦yü©®®ÖÎáQęśÉwčĺ—źo·N ×Üů\mذŻżţ¦*#+eNĺoîŽ;nE ĽńĆ[xćÇă}íµ7Ő H ÷Ţ{Ëíö+W®Â[o˝Łľ+r<99ŮÚ÷i"ţď˙ÎP™šĽŠď‰.ä÷R°Xvö˝đݦ˙ŮËZŢŘęrźőNFtćAS`ĘěŤ Ć©ď€Ă~Ú“÷Ţ ®¶‘ß)…&e7çĚů–Aű˘qÍŻ€ÁěŐŘPďrźv›ŐÍ{ą÷||Ţב{š˝y絋$»ŐË/ż¦:KH–Sýîą—ΝےEî?RÜÁÜ+/»ěJuí'Mš€çž{[·nÓ~o?Pď+ čii©*‹šěĂ[ÉĽ@îsÎľ“}|÷ÝÚ±lŐ4t#z÷î…©SWżéň·Ľ÷Ţű«uĄśź»lKrND‹É=}íÚµÚ~ëT&ž1cFk÷¬#qŔű ¦‘K ×öĘ+ŻŃ´¬ăßÍe—íĚ"ôŹś†ë®»FŤµŘ‹/>‹qăöŔ×_OS÷ÖŻ_Żľo˝zĺaĎ='©íäZxăŹ?f)}şdÉR#>Ţ‚=z`·ÝvĹ©§žÜö{˘;®ľú:u^DóŠÖń§×வ/şčm¸ ,TÚOtżüŤôčŃ];ĺĽĘńzŁ´´T=ĂüöŰزe«úžwďŢ ăÇŹĂI'ť€ŃŁGůt,ň¬ńÉ'źŞżŮM›6+Múĺ—ź¶ťoŁűëŻßŐł†č°~ř ……E*ŕ-Ů–e?úwL´¬<GĚšő§ŇFňw#Ç%ßw×@˙=ň˙ţ÷!Ht#×\4±'V­Z«}ź¬n—K™GWlÝş]ĆÜ!ƲSNŢYvHľwÜőŠí„ ą?Ü}Ď#řň‹wUĆVáŕöÓžhżg›\nSRR† —¸üś{î9ďĽű‘Ű÷[¦}ţ~ýú¸].÷ţÚňŐkÖÄ.R>gѢĹęY\îGň ęŞc"!„t|íô%Ú@Ě[0YĐ,űÎiśÚe:jy\k»SI}*«ZĘ`ž4*gŤÎÁqCCWsGµ×ÍŘŠ÷—–hAÝFô‘©3›*Ű>Głńó¨†éPž?1™i×N]C´č˝HĘV押Ľ<őLúţűŞĚńR•ć @°üţűř⋯Ô3°<ł§¤$«ö‘ÜÇwŚ6íhD,**ҞߎSçBÚĹnżýż.÷«?ź O>ů(öŮgďvëH éŘcOTă'žx<nąĺ&tÄgp>F‰%ĽôŇsęůóÝwßWí••UęłÉg4"qx‰űH)Âm۶+3—<GËsެ»ß~S,ň÷řË/3µĎôĄŞT¤·HUŁŹ>JĹŰâăă¶‘Ď~Ţy˙l·/c…đÖ[Ż©¸/c.Ď=÷”ăŻ>»Äׯߠ=·$©XŰUW]®ťîj=‰Čߨ<ďKŰ›tś>|¸jŁ8ŕ€ý˝ľg°íŰ“8Çü©ý}m×â *¶'1‰sČgđÄŻżÎTq,9źee媍­oßľZ[áŐf驍-âŠz¬ĆŐ÷I_&m´\pžŠ)ɵZľ|…Ęxço›”´eéŰ˵’¬śçóÎ;GýŤ=ýôs*®#źyÖ¬_AHgBéP‚I•,čĺ1ËÖ-D\m%̩ҌCZsłaĽm?-f1™eҧu“ŕŘá˘U;oCöł8§¶bŁ™­­D&ś˛i蓲Eżˇ¶¬@ď«DŤ4Ž2…j{FŚ®2‘­]»?ţřn¸á_…Âôéß©W ÚŠ05ҸŁ#¦1_aúÍ7Ó4Qܤt0{řáÇćIŁš/ßxă 8�7ßüĚśů»Ă:Ňř(đž}öÉvBYGŹźxâi%täű¦o/ď˙ďߨ î#áj÷ß˙P[P@/y8A„–4(Šáoü·j°3"ÂT^Ň÷Řcc÷ÝwC0H@ř˘‹.Sź]GڎR˘LŢG„ŢO<pٍ4pß{ďý¨©©u/Ť‚2ŕ—ĆÜgžy¡ˇřŘcŹVdrm~úég5펜ˇÖÓ·s&×\żÁ+ŻĽ¶ÍäŮŮČy“żCăçS„|ŹĺAâţűďöř`ŞóB˘ł2´7…ůn"3Ěő’˝L°7Ů|šß,Y}´ŕŃdőݲĎ8ď雦pW^RćË<ą‹AřŹ?fŁY{sÚÖ±ą1’µĚ:&{™`Ň„–˝ Q‡÷Üs˘ ŽHpčúëŻőL‘ěezŔUŚ×b\ńD¨î•rŞ˙úkŽ*.÷rťŇŇFT’á ĎSĄĚ]č}Î×Ä%AçůĎ>ű‚2M=ţřĂđFAA®˝ö‡{şPRRŞô‘ b´‘űCNNäöDíH¤#|żúę‡yrţeřß˙>Ăm·ýGqËmEK‰6ť={ŽĂ|ą§Š1]ą7‹ąM \ţ"&°ýëFµ?iĽţůg‚*i"Çr÷Ý÷9üÎÁRů{Cݵ×^ĺÖ8oŢ|í™ĺćvš_ä2ČţĺsĘçőffĽé¦[T‡/HŔőňËŻVçSGtŹĽĺoĺţűďQßĺnř·V“żů\ň>>xoH‚ö$˛8°ż×u6nÚâqůř ®;~Í™;ßăvGyh›ÉK>ý'¬\ąá¦@»ßĽűŢ'*{š ß˝Ž?Ź>ö¬ŰmćĚ™çŇ`6~Üîm:É7n†7äÄŠÁ¬°°P‹u|«ô€4ÔČs˛4€HŐŢ{OÖ®ůTŁč*TVVjĎ˙Ő~oç:Ě—űĆ™gţ¤ósçť÷¨qé¤ڱÝFÓ÷wß}p‡GBş:z,ąŘfAłŢĎů–ŰÁÓ˘Ř娶V6˘©ľ ý»%á½Ą f7ěŢ3ˇäĄ…EřďĚm(Ş´Ş7ÎꞌßÎŽˇŮ‰„Ť• - RîÂ2aš–k'×P0¶D*ë>ß~;]™¨|đaŐ©3## ϦrĎ‘řłyFÔŰGÄlőĐC÷;’ÄH$íaó—D®v‰… ·M‹ćpe03nżß~ű˘Ł>+¤ýäŃGźp»\tµfŢyç=‡8Ľ ?GËóŞÄÂîąç΀;ŠOb[31"ĎÍ2!N:»K,EŚW…|GnąĺVŐ†Ł#ç_:č‰ŃčÝwßTűňËŻRĆ2ů[vAÎ=÷,\qĹenß#Řv1‡ÝzëťíÚ}$®'1MDëŠćuFľ_Ă’ř§«ŐŞţÖecÝłĎ>…A¶Ű>’âŠŢżĺ×^{Ď=÷˘Ă|c›”Ä]öÝw·ŰËwA&‘¬|¤Í÷á‡ď!‘ f¤Óń§4‘Ü”äĆ»ýŹŻTiLÉ &3˝­WĎd¦›ĚĐ:Ţş¸Ĺ;Ö„6#™>oçHË2•ąLĘh:%|ŠÓuyłaÝćťËââvf2L†yRĆÓ\[ŹŠÍ+‘Ń˝Źş‘3JEj-úÎBDŤIQüűďłÜö‘@žž•A27Ó°äÉ&Ë\Ý}ELq’ý#X¤ŚÖ›oľŁz~rČAHLLT¦É(!‚đŢ{P=DhH°L˛GIö1č}öŮçęŠř—Ě’ťÁ.O=ŐdďÖ-Wő<2ŁbŚ“÷ˇ&"R.¤wĘAĐnÓ§Ż ý‘#&6é]"Ył¤×…ż4xľđÂË*CH H�űŇKŻP{‚4‹™PzČď‚<TIC§<ěpýôÓŹ‚Ę0&ű†\é!欞={¨ž-"ĄÇ‡Ř‹.şTĎoÓśôÜůďoWÂ^ڤaV2ÚHď éŮ †Ią–ňţwÜq·&.w>ÉşŹ?ţT[O3Y.Č5“ż#ˇ¸ć:·Ýv§z=űě˙Ó´wUĄ_‚Íî&źKzëTUUáâ‹/WóöÝwo•ÉOď€+¤qUzWIc†ěC˛™Čߌś iř•09§ź|ňKA(Ď ‰ś5]›V3ż˛—ÇýČ^ć#ćś°tß“&Ť‰ąĚyw&3y/ů­™3§¶ĘŘK6ŔwŚĆ1´÷¸ĄŹë55é˝ôí˘C‰Žť:ő`‘ß$ů}’ł®ű„nî‘{Ş4Ú:ÝŚ„ň^YQQ˙üç6•ąHzďIÖ2éE*÷0ąźËo᫯ľˇô‡soĹ`îs:ĹĹŸđ‹ŰĚ:ňT”ßf Đč˝[yäqxBt˘ô8•ű¶ü}L™˛ŹöŰ} ęE(ű‘ó+˝(ĺ!&4É€ĺ­÷cg̵˝ůćµ€\ ~ůĺWĽôŇ«jŢŐW_ˇ˛ Ć’uF¤ÁT­rîĎ:ë -ŕ7H]wŃŢ)ĹÔ&×Yz2;›“äÚKf1ąw r?–Ţž˘Łĺ:H¦Q JË>$ŕ,_޲ů‘@äUW]«zňĘßÄ /<T†É(\ &źţą*K°<§ÉqĘyM-Áq™wÍ5W¶Ű^>§Ľä;"Et°čvŃÁ˘MD;Ęß›oĺó‹±ÔbŘ@şśé®_cůţ¸Bľ0?ë¬3UůdůîČ÷CĐěÝkŻÉšv|R›čůlň÷ bąľňL*—żúęł ő‰lů`öńd’’ż˙ýűą\6÷ďđÄQSu~띏ĐQĽűŢÇ8÷ś´•öś:ő<öřsnăPsćĚÇĺ.ÚhÄ<ŐŁ{7eZsĹĆMľĚú!¸W^yÝÁ€.č†gůí”ř…jĺ~ă*“şüöËďŞ ™˝e[Źtnşé?Ş‘Oí#÷¦ęę|đA „âý9·<.Í­ť×: “¦×ëlvä—7¨ĂžýŇqƨ\ś9:ąÉˇmN]WÖ€«ÜŚo–—"33ćř8$[Lřý¬›Ë„Í•ŤZŰY»cáG»vĺq-%Á=Ĺ."Ń2ééé¸ňĘËUg#é„#íQŇ‘*¤Ă‘ďiŁ‘vyĆ”çxÉ&F"y.ĽâŠ«5­ôšzNÖ3<çJűÄJäŮÎÄ,ôŽä‚»ěöşÁL:wH椎ü F¶l٢ 3ň<{Ę)'©Ď#ú{Ŕ€ťĎ$Ď>ű|›ˇF˛-źpÂńŞmAŽ]:KI{’ Äh$Çâ.c˝'¤mAbBrĚ‚ÄÖ$F%Ňä\˙ôÓ OĂŃ9眏>x§-sł^AĹ]… qł@vÉŞ&ŮÇ%î"Ź·‘çtůü˘·%#–<ŰK,Kâj˘™% šÄ%ľřĆo«6‰?8l;‡ĽŻh\‰%¤¦¦ŕŚ3NWU/d]˝šŤś7‰íČ~ĺsyŕ‡ŰĚeĂ’żů{‘8ťtž•řÄę$†%çŮ#’⊾ ű‘ë&çđä“OÔ>g?í;S®Úo%$ń_‰»H¬.3ł} îąç^hű.Čs§ś«‘#GŞs/×[ŽU¶wuť é,h0#†?F2wŰŠ˛YP˝v!’´ŕÄ„óV[‰LˇKźěl�VM‘z–3}^łc±žĺ &§mś3—;Kh:Í7›vÍ̦ťŮ̴ٶYÓŃ{÷”`#Íd®A""T„’d;č \®' 'z tIgj¤ÁF!"„:ɬ!ĺ5ŻĽrg¤[śDXJ6‚eË–«AR?đŔ˝ÁYi´>㌳Ôg!âl01( Ĺ‚d»x챇zétĐę˝.ąär%Ţxŕ!Ő#Yţvu¤úá‡Uă"€ÄTgěÁ"©zĺ8®¸âźł18#bLzlzĘY#Ұ)e‡Äě$Ç)Ň("%ĺ­qҰ/ď1~üęĽKŔřÁŃ‚ăÁ$.âX9ž~úq%ĚŤĐ•Ś!Ň»AĚ“"ćű·6ćČCŻ\g1şÉĄ48»2¸I$y�Ń÷gĚŠknD2”Ľýöë?LąBĚ_2ČĂ›Ž<Hzëm,źYŽ˙Ţ{ďrx(ł™<”Čy“J&#ˇ>/$:‘‡l‹E˙Űń7{™ŃD—ăÎĚ4Ů]Η,fq–$ ¤ĚbîpG0ÁS6ŽÁ«ďĚrM{Ů*¶kB¬Ţp~śŽY›ďz7ˇĎ^&ëČ˝ßl‰<#7D×Čď¸g¤žtÜĚ$x'%˝7ˇ'=Ę{ĄńÄŕň Ď8®ÄŔ;hĐ@•ąRŽĺăŹ˙×Î`Ě}NG˛¶ęúKôŹs™q ¶±]LĹž@‘¬$ %=^ťËoKÉky/ ř–’ω™F‚ą¶R¶]R:üóvO-$&¶;ďĽÍˇ§°Ä¤×ĄęZklÔr?–ภÁWéÝlü;’R bô;ýô˙SĎwXôŐ`&$-:L‚‹’ą,Ř^ĆrĽŇ‘ä•W^p¸÷KđSô¶hX ęIďßĂ?Tý&ëč=Ľĺ7I•Ď<ó¤C‡ ‚J Wľ3’uMJÉË÷Yz¨»BĚebĘš/żí-Çő¶CąRŃ8\p±ęˇ-ß5ŃDRňÔxŽĺ=¤ńDz‹Kgy¦’ď‰]zöěîuOłŢ˝óTvSW¬ZąĆívŇX4jÔÎż÷µë6hżîËi†){9{ößÚoŃd5-&±!Şăp…§ c’ĚťÁlĂďłX(•řĚ3Ď©†,Aâűěł—*Ű"Ď©’QQ~űĄ čůÍ”xŠdRŚeä9R7—ÉýAJVÉłlWŚăBH ČóŁ 5qIĘ`D3R@´”ÁŚCiťM•ÁLJ±ŕÄQą8{LŽ–ŤpđäÜÜ:sŞj¬ś—‚ő%őČH˛ŕĎłGbT·ŔcŤeőM*ëZjĽ©ĂĎŁd¶—k¨_ĎHG7ËKÜXâbş‘W1łřkÎ’ítc–«ĚŐŇÖu਎|ëN@’1Kg˙ý÷ÓžŮ^Qăbs6é™Á÷ÚkOGcŹč,Ý %ţŇ5‰dÎ÷·ó\°źÁIJäůS˛Ką*§)1˝j<ËĘł¸±ŤCb ňÜü˙w®ú¬ł‘¸żÚJâ=şąě˛Ë.VĘŚHÜD˛hI5‰ąŃđ©§Z Gó×ă&ţ¶Qř‚”d}â‰G˛ZI|Pďˇޤ“›”XÔ‘ö ‰+JV6Ń›rüÎĆŁP´sÁOow—1ž ń 1EŠyO®Źd4Ěä|éÉdżR Čř·$×wČÁę|KYWůîc‹‘Wô‰źÉ52vHěŐ+O=HÇCy~’ż/i“rŽKüő­·ŢUăےҲĆď‚|V1zʵ’vbB"…ŔrJ"śÉĽ•Çlj˛ŁdÍŘ 6jŤŠ-e'Í­F.“!™ţę,˘ő fĘcÖ캌ĽCßC­úfűÎśmŰÄ9šÚĚN7}şŃLŽ·xáL­}¶¶­Ü§ŻźßÍý”ĐH@Nł ÂVLL®ĚY‚4ÔJÝîPŁ7ě ŇhÔôčŃ—_~I»ů"čEéüë_×´ëů+AlÉ”"H«óy±&‹rţxŕ—) ĄÁMzňzŁĄ™Ö=/żüR—é‘%ŕ|÷ÝwÜ3YÄ˙´i_(ăsŁŞŽ<ü鍛zŁf ™Đ]Ł»<đéĺ ¤§„ĽüAůűďż­Ňď:‹ccźsúf˙‚|˙%e˛+¦Mű¶í÷Á9ËY(®ą‘K/˝8¤ć˛`‡Ě[o˝Ą])X™o|(–Ę΄úĽ˙gď,ŕăŞŇ6ţĚLÜ]ÚTRoiˇ-mq(…˛8,˛čb‹ËÂ..߲,îî΋»[qi …ş7i›ĆÝ3öťçĚśÉÍd4™¤I{ţýÝÎÍ\™k3÷˝ďyÎón}zrŹäsĎÝËşLő9nL„pÜdńťě‰u?ĐÇLCîˇR ˘®_ďdŠżäŠ\żŹÁ߼ľţćgňłó†EĚPWÉ˝h?‚fŹđĚź,8ˇ:žqšżRť×?0â&&lÔ˝™˝íčśä É/'J_Dú^ÉßM_ I:"©Ä’ŻßÓŢŢçx_e˘ÍőY»tK^ŁW]uyQŤ7L¶Ş8‘‰oq™ZĎ?˙y±§×­rSé)t¢+Z Á»Tg(ôwDRR’qĹ—ú,CÁÄť*ĂŔřŇ;ÉĹ8ę‹/>–˘‚˙üçzź××AŃ~8Űˤáůç_$ăNnźżR =דŻ{?żŻŚ-Ă2ÁÉä­ö8Vĺ*8ź/·c–Ćý÷ż˙ĎşÎ÷łĽD¨‰s–©őţ02öî¦PĐ—€ďŚ3NőŚó·HłmC·Á`TVUűťćŻÄ&ż›6—ř]nÇwčň řÓOóŃßüđc×Ďś6mGżóRü]Yéű8Śáߌ=ä‘čŁqm0Áß :“Š—éđŔFEާůě|ÖY“żóÎ-Ĺ«óć}Ťm™’’Îëź_ĺ”­ĹeŤFăď6tŇiŹN„ÓĆNxNg‰M7Ëj5N)Č**oFJ¬—ě1DŠĽŢ<jtźËVT·b˙˙­Â%¬—é˘qů X_ŮŠ¬„(,8˝wâ2RTߎ˛ćÄYT+Wß?ďéNk‡<‡<—ęĽz–€íXJÇ{öµ×^ĺÉ'łZŚ·Sk0žŢ%Ŕź<y‡nÂ,ĹÜąűyD8lS`ç"KŞ3‚ŞÖcD9–xŕź<ĎŢĄą)ŇQĺ˝]ĆűcĽąîş«}ŠËŰŠ>ţř}<úč¸ë®Ű}v gA}óˇÄŰFŚ9!V>ň—)Çň™™Đq‹‚©ţ€9*_%Ď<ł3çĂŰW'Hž_Ő.čëY>í*Ćĺ9ô•O`žăŢ{ÓÍAŚćęűE÷|_×۸ž}öI‘SůĽ[ÇŐ’W ć§(`ôŻ;ĺ¦í+‡Ę—ޤ0ógľľ ü}PçJŁ(h™¦_„{m$ySŞY±�Ń— L–ÇtÇĘ®ž&đ(ÄT' ŹS™9 Â0ă\Î<1łAmfśßiŚťMîYLčf:,Ĺop ĎĚn‘™˝¦ uWI±śR€‡sB}[ŕ°Ă\Â'_BŽňňrŮkźĚť»żß˛y˝×ťÂ—}iŔÁţjĚ+W –7˘*ŢFő>EżO_}5OŽpŔÜ€ĺEéÖ z0x[0Óş—pş?ůŰŽ3zîÇ9Üđ»í ÖjkkŃXf4F‘WO\ŮŘ ‰ ôţ06Äzď ju®UOoÔű……#»<�Dęśé‰Ýv_Á> ú‚‰~ő ^ĺŐxÖÇE38±ŰŐ}ą7îeľťĚ|źčóý„„$c—7AŠvŤÎ@Fü•Ę Ô ĺoşże0ŕ6$ ťSL˘řŰw µčř`ĄŐÂs/óçd¦Ţ·ŮCʎj_čh¤đ¬&Îč�B(J±Q:R÷J:’ŇËJDĂŢ€,±çMoîs_~9ĎsśŚ˝4˝aň7ă×Ăßw^ŰǬßůčQ÷}öl-**FOˇ[ ݬ *n —ţŚť·üÝS ŻKuŐ=ÔŻY&ź}%2*Ęö2AÉ2ˇ,[Âu3á‰^Ă„ńA RŇ3'J“>˙ÜőŚÂ8wŹ=v÷»NWź(~`É•| Îď őŚ@üąĄńÜ0J"qÍh6ˇ›ZÜ RľHMőý]¦(­˝˝ĂďrŢĄ9—.ë˝�6\–-ďú™……;Çlö#KO÷źhjňělŕ̰„ŻúýŁ€¸°p¤ĎůŘHsçť·y„…táÜ–1ćő¶V§DŤFŁ jŰŕs[Kk+¬±‰î™>ç„K†^M'l§i·;QTÝŠMŐm–Ź{)ĢÓwŔ˝űĂÔÜľągßůs)¦?ł _®©Ăpń9‰QX]ÚŚ‚ÔüzĆ—Ţű* ęÚŃŇfG”Ů;Ç™ăhşÓn…5&IžKžÓÁÔžE±Íé§»:éP4őčŁO„Ľ,>ĹîréÇ˙żí8ÄŘvâý\ČgpÂö®Vq Ë(Ń;s)1Î/żtíDˇĘcňóé$‘Úc"Ó@0Vd;G çú®ąŁ:„;:(‘S Ü’÷t–_ěüĺ Ř©žř,ď/_«ÚüĽźĺ#ŐÎÁj>„‚Q%Ôó†y5ź– UŰÍe›››}.?eĘänFŠW ćeü92Ąň3ľÚ¤ľůć[9Î6Ľ@Îţ‡vHČąaŤ¦?Đ%25[ŤpÝ»(ô±Y;Pµč+)Ôbu™Ż˘¸Lą…™:s• Lą•©żeLaŤÁý§*éą]EfîAn–[4ćtĎo\ŹŮPÓ»D&˙f[AśŮ‰’_ľ@îřé2PäML[çű†%iŘčÁĆK fh[j„–˘ęZ &ę)FŃëo 5î©ë&ĺ±±‘ĘhOÍ^uu.Gł¤¤$YŰ=ěőÎŢ;Ţ Żęá˝[‚Y/3Řňî]ÓŘŰÁϦĐVş¬u®loĂoú‚űż µ˙=…%&Yî‰ Üľ˛ÎĽÂ{_xÎP>ńÄÓr9:ˇÄXâKm“·{Y¤Îą‘ÔP⫇‡6ÎóZ1>¤“ľ8.šÁ‰Ń+Đm9ÔÜËHtB ÚjË»-•’š†¦¸!#¦™XPó‹‰%•ĆôžNBá¨Ńh,‹ä8ß˝8ŁŘčŠĚ7ḗ›up ĚL”đ^˛dÉR™ôbďPŠů´yW÷ěž–|îÍ˝RąořÂvÂk„ż‡ţB$ÜűÜÚµ®ňdL6úĎ(•/WNaÜFŠý¶§ĄĄyĆ‹‹‹e)ĐL_ÇA$Ŕ0ćc˛“eĹBĽ–yŢ‹ŠŠ¤ŹĂĘ•+e×öÚ.OGá«®şVě«Ë5–ĺÇ‚m_8„˛®ťvš"Ź1ă>¨Ž'ę: %~Pߊäř˝ŕ2ŢBA ÄĽ1ŢByNP=f5Ű. ‰ÁĚš[ZýNKňó756#ůů]ăóââMčoĽ?3X©Ęf?B»@ }Ţ ů[¨1.a Ě6ntýÖó8řr-7ÂQW^y™ü˝LOďtŮ}÷}ä=ĚČ.»ěéżë®Ű0{ö>]¦s~ćŘPĆß\ţłôj~~ľtŁ` §ĚĚ®Â.U<üđýŇ9!,ďĂŚť:>ýô Ť7Ď=÷zčŃnďźţß=ă\×wß}ŐmŢłYrŤxĄĄĄ2Náľ°‘‘%sBuçý—ëˇc﫼ö¸,Ë1wćŻ1qÖ¬=äµĘřňšk®ô»~–Z¦ ‡_{íeźó¬Zµoľů¶tcPî˙lPäń¦ŰF°Ö555ҵá»ď~÷PŢ‹¸<ă;vĆĺţLQ–źć6đز”ď1cÄç/ÝçűvĽxéĄ˙Ék–Ű#‡JŃ=0}ÝűÉÓO?ë3,\ř“,mőěłĎËRglŚdΓn¨FxĽč¤úî»ďɸóed¤ËçC=D~¦wŚÎÜÇÁ!Ż;ć•®żţ:źŰCÇX§1îň%˘çţ~řQrÜßőÄFS ~ż( ‹‹×E¬@Ażăˇ ŕeŃx~2náuĹrëÇwŚĎFmÍŕĂénda®Îf7yÚr.đ§«*35mv46t :Ţ‚#&dŕ”)Y8j|ß”ÁT,­lĹ…źá›ŐµHN‹C~vŚÜĆuĄÍ›—ďO™„ś„Č4Ő®ŻkXŽÎö+ôäř…2ťď[&1¦4 :c„ÓO?U Sż Ĺ7Ábbtbg˝@Ď…Fďçh–|ýő7彄ż˙Ę…L•ǤH…q,fĚQ`flWTÎgl×–Óé«}P„ű\KŘŃ’Çž÷ć9xocŚ 7ĎaĚ-ęPFضÂçuƙ܆ţ PgĽpÚüĽźĺ#ŐÎÁ{űŰoż+ŻÇë®»^VYŕý›q;ťzîaüO‡6¶ßұţČ#Ź‘!ŚÝ)˘2ćŕBakĺC%x5M~WĽťyÍ«sĚç{Ę”"ҶŞŃD-0Óô9‘$y°Š†ÄúÚ´-FJ”K¬e6ËfĘĚ]EgňĹ-0S˘4%.Sz1㫜ĎÝąE.ç™Đ‰QĐf^%4M®mŁ&®zăyă7şc)ŚAˇ·đĚźm[¨1€úÓź5“ Ś *ĄśgpÍZâ}±jU€’!ăţü÷ż/É!ęęşöQ®hLĂ;ń,ďÉÄh|č1ŠĺÁˇ˘�ýÁk“IíĆƦ°í™ “…Ü—~řQ>4yěűLwż'ź|Fî+“uF{–ĐŢÂËHťóJ ›@lëÇE:V)ZęîLÖ3÷˛ŕ÷ĺDßIĚôĚlÔ؇ČĆąpÜËz‹żßPnďµkóĆ!ÝRęs٤ŕɫ޺—Ç­ţÝR LÖ0ľa"ť%ŹŹ9ĆŐ@Ăý|÷Ý÷ĺ8<ţ܇|©{eoŻŻŢÜçÔ}•÷â`Âő@=1Ť÷ç?˙Ůż™7*ąÓh߯zGšţŚQŕ6b_±źß“0^çuî«ÄH¨Ű{ňɧuů;Řu.ˇíkçoă•TW1řý΂5Şj4‘$”ŢÎěťîň–!ŢŤK|~ęo”řV‘¤Á«©3%¸4ObeJ2ĘÝ€çśÂ ` )=ČáýîŠ+®îÖ0Fˇ ţöRdĹҜƜť5”ŔŚ÷˘@3®›÷)˛ß~űö©3�·őÎ;ďéÖČýäŔÜ׹çžĺ·„a#ß­·Ţ!–˝a‡—_~UŠ}Tą§ľŕŃGdzϾĐ-ˇŕ‹!oşéyL}ń믿áňËŻęöý¤k îĹţJt~Ź…ńxň{HA8‡óÎ;;h'´HŇŃaĹ\,?۸=,íÍk•b…űî»;¨+…}]ôŹ€żŻl<ľôŇ+»•„RB~ŠĂ(„äwĂGe§;>[đ:QN7Ţ0Wýűď‹=ł!Ó—Ŕ̸<EF¸ßüî˛Ô^żę:Ą‹s rçt¦XÔxŤQpJˇ)ŠŻľú zčÁĐ ~xĺón7Dć™Fa 3µ­˘m©ˇů™q8u÷|ś6% ;ç‡/‚ —Ű~Ú‚ëż-AG»Ăó\b˙Š+Z0mx2ľ9y"’c,ëęÚÜiŞ­!îrĘ}łŮN\F(Ęýż˙»F܇ϖż=˙ůĎÍ"žx.¨Ă´ńyř’K.C¨xç•)cÂߊĘ:f.áŵd—]\ŐDŘ&C! ;0r]~ďßäPÔ>„ ErĽ0.đ•‹éMn*śÜaĚŔmP˘ůÁJ¤Ú9("cç:ńóZŁŘ[•xäu:mÚNR4Fw{_ß–Hĺď�+S1ng>‹),)ÝÉřĽŕŻç@Č+†JOŻSăąĘËË :?ă8Ťf  fš>%T\Ť‡jś/«AFz., ĄŇÁLő<á«'Ý`ęZĘŇřľG0f|ŻËvx9™ĽĆŤ®ečjrćY^ ĘÜď›Ýâ2éf&†1‰äBM]rEĐʇ'Ţ€{+ŰVEfěQÇ$ůěłĎ=‰6*ę•c�E4}µď ,•hѢ߱-á«a2| #I(Î=ýL> ]tŃ%]J|ćädËŢ´C† ‘(KŃÝ‚%”z‹Żr_Ţ0yH½öŢ˙CÜ|ómžž\žŰ?lXěÉÉ}˘ăĽó.ň»ŠNfÎÜY& iŰü÷ż_ “®®r˛źËyč�čťôŹô9ßVĐÇEŁPç42îeĆů| ĎbÓ|÷¸NNKð„‚°D“=ą†#FáĽC† ĄŐ·Y|şk_ś!‹Č ď†č^f¤µ­ öć»çžűdŚÁF4%0cĽÁ†5Nălß+ýŃŰűśş«ŇZŠň?OOÚń·}kśŰĐb!—ĐÓű÷‡˝Kéâblôd<=věXY:Ť×Âĉ¤HŢ_©…@°Aš‰ţp{eűŁ#ÁŞńxxw�ę :†Đô7ˇÄ ÁśMĂ]f Ń%_äP8ý<X,ă2‡#x»‡ťa {l "˙÷˙Ćm·ÝĐmÝĎ?˙´<wÝuŻG„ó ĎxĄxŹP°K#«ĆFş P0Ĺy(^ˇč…îY(QČňÖ[Ży„»……#Ą{Çҥˤ0›ó+ś7}ô±gÜXň)t ß}÷Ýä8K_Ó]ś\|ń…1›wOW«{ď}@ŽłQŽq…>ŚwV­Z%ĹgÜ—Gy\6,_xáů>?űĘ+ŻÁ·ß~ď9^\ťËšššeă,;-°óÂő×˙G:ô…đť±ŢÓO?'Ç)^úë_OÂřńăäs5ĹzĎ<óśUýë_7ČFoUÂIA…XŚY5€y?:‹ÄÇÇy)’˘€ßŰË.űG·m`üpÓM·Ęq ¸:Tpt¸ŕń|ě±'1{v˙ą1®çuÍkŹ˘§ÜÜŮpČď ťh***qöŮçIG¸@Â77rĘ)'cęÔĺµkĄ766J×=#Âýfă.;}ňóľüň+ůý`9µSO=ŻĽňb—I (đâĽ6ňáudŚŤü•?S3vFš5kf—i·Ýv§G\Ćď.]ő˙ŃŐn4<·<üîľüň ÝśÖ^xáE<đŔĂrśéhÇkŚ®·Ľ~č¨Âď ˝ů}š3g64[—HÄ\‡üçđťPýţü}”ŻéŞJdQE+˘păţĂqö´ä$úwŕŽ[š¬8ţíµřnU RŇă0$9v§«ńhă–fě4"óOŰÁG)ËŢQ\'ľżQ¦nÇ©'Ç/ěéŇŘÁŮă<«‘­ŐÖĹßp:,RäJńÖóĎ˙űŰé·Ą§űëÝ ‹ż…txúꫯ=ż˝<JÔĂi„řůŰÍßpNăř‚żzľ‡J‘Ú‡p¸ĺ–ŰĄ¸LA!EMĚq7nś ÝsĎýč ˇ^GŰJŰj$Ű9(0÷Ý7eĺ…ďż˙A–oe^Š÷ŕ~řIĽgS@oŚă ă[nąQÄ"•qŻU¶ç˛ ‘ńşĐ˛C�ÝŤ ”Ľb_cĚ3…ŇĘţh4ý…iúŚH&™áŤgĹÚ"Dít$˛ć?&.^×úŤĺ(•őŻ7 żäĽÎ®Ą-ůŔb2Îč^ź~rަÎőy–ăü÷2':ÝÓĚćN‘Ĺe»¸i¤%Ă:q?”WV '+C>´{+Ľ{âb¶­Bb LŚ|ńĹWŮçźá™çCú¶·kÁ3°gĐNa[¨e“xn/˝ô yíŇÚ˙‚ ÎĂ@¨Î˙ç?/Ɖ'Źž™™!3™ FOÜľŘ ^hť~ú)˛Á˝/­đą/ÖOt‡ăĘĆ$ą ŽSSSpÉ%— OďÄĽŻ^Ţ~řaR`Ƥ t&ôŕS xďň$Rç|[CŤ˘kb$RîeţĆé`–Klěí]{§›ÄżŚ«|Đd ´µ]n¸ Ü–¬8ń`ďŁzVT\˘70v‘őÜ˝Śó´µvL °AŤ1 *âĐ.ť „JpĂĆ6…Jß+}‰űśúMfÇ`ĺĆŚ‚+ëa)çoľů™­qny.ˇJVzÇB,¦Äet.aBžIoďg%T¦˙űßgeĎۧžzVĆiW]u}ôÁ$Řč ŐKű*ŘčÉ뙍µt Ńh*­Ę_*D#€·›˘ŮŹ“N°˛ŹŢĄé·FLC‘Ťń÷§%ȱHôłOţJg®źÂ–@Z~0Ŕ„«źPĽÂR7Gyöߎ ‡‚˛P(˘f÷ő[ţÁI‘aĂď%FŘxĘ< Ĺ8ĽGňžbćóy36€Í›÷Ť_7/Šť ď5ÁJč((pV"ç-[¶xŢçľřr§bÚĂ?&ÇŮřö䓏vąŹó^ÉgĐsĎ˝P6fżđÂKr˙XBČ;$(qŮž{îŽ;M‹0‡ť/)8cyC ÎŘpűŢ{»,eŢ»Ţ)4–Ęâ6Óaĺ”SÎĎ_|ńeG6ćÉ( b¬Čĺzč~٬  Žb":x± (?‹b-ŁŁ/ó1wŢy·ç÷ű‘GěRÂŚeVYnô /‘çľżŕgť|ň‰"ţíÚŘÉŇŚaîż˙!y^nżý.Ü}÷~×Cˇ>ăĺRé‚§â’óĎ?§›ăżl°§»żC7Ţx xŕ^Ďt–}üń§ä8sHŢ3UŠm·Ýv‘ĺÖŹe¬d©1ĎIѡ“ŽŃ„8ő˝bÉV6:ăyćXGŹ%·‹1ctíQđűBq ˇ3á=÷ÜŃĄŚŘś9łĄôÜs/ßýŰn»C~Ž?©fpŔű(łxěwu_6vëwvľÓ­ą)đt'ĚŘTÓŠǧă?ŤŔŘôţąN^XR…Ëľ(Fe}†ą]Ňě—łÁĆŇ&Ě(LĹĽ“'F\\fź±ą±qŃüÎzvüÂťîŤoĽŁ«ó9XaÜA9Ł(¨f…ť@ϝƼňK/=/ăžÂßh¶CŃ ”ĎäěČß:¶ĹĽtb[ă˛N8Î#BŁč†miáÉ} –”¸Ś±EúŚĂĽÝ¦(4ę)ĆÜăŹ`NV*J•žL¤Ű9(c\­Úšř˝ŕőĆóÇX›q;;˛Ó/x-©ë‰yw抾ůć;Ů€íkŚ‘ ŞN)ŻŘ×siŐŐÁ«gŐÖn˝mŐhĽÜÝç4’pÝËxP ¬Ue[P=łN†9!QvxÉ”ŕËlčIˇÖ¦Äd€[-cŚwU Í.:_ťîr™ň3ť7Öe2®ÓäÚĆ(Ń&ëČÎEű—Ă’:EŠĺyOTţˇ:Ăm+(»s*ÜY&“0Đ&L60pîKŘRq˙ý†Ľe&c(ňWâlkBç şIU˘'Ž”Ż ]ĎżţşáBŞ„˝Ď;ᅪŞLdE>śÂXë<TÁ!a˘NőĽ¸öÚ«äµĺ«×7ŠÁ3g¶çü©¤©ze˘ÖW Hťóm }\4 ţ†9ţÝ{ć^ćo׉ąľCLŤ[ĐŃŢ&#›·ęýťźÍmŕ¶}?Ľ'ĺŤpĎ+˙ď6î^“Ďńž¸—±çzkËŕw0#l@S°ŽqďW_Í“Óá,Ô2M[ă^é‹HÜçTŻGĆ˙LV‚ ŹţPIU6賡j°˛µÎm°XÉ/µ]ޱĐwßążŮ`I‡&Ś}50„ş˝l|f™˝łĎ>SÄ7.Ç ”LoůăŹ%žëÖóç»bżôô´.Ťśę:[¶lyDzęk4}ESâ¦Ä$˙÷ś–fߢ¬¤ łŠŠ®Ś †ćŁż6lh—ż+Ę‹J“’}‹ŕů†`‚×ć¦f fŘ0sß}wÉĆ%ţ¦S¸BWŹżţőtłŚë®»^ŠJ"u/˘h棏Ţ L˙é&.SPô¦r-td2ň§?ÍőN>ţřźËÓ…AąĆó>‘†Ą•#ËFúşŹ§ĄĄáöŰo‘×ď't<ó†®ySĺqń%ŁĐŠ÷K ˝Ž<ňđn"ĎHPRRâů,ُLAńĐłĎ>‰/żü¤›ř‰Žrl4',Cf—)xĎ˙÷ż˙Ďóťâń3B1ˇ˛#§Q\¦`üyăŤ˙îW§Ć;t—÷]Ţ(‚" ň3Öó'.ŁĐKuFˇ“Ť÷ńUPd¦D•tS1›ÚÎĽ<×5ČśĄ7Ę5çŔ˙ä‰ËŤ90BQÍz;ĺ°ŞŠ‰ččç«Q—1^#_ýyqQߊ}o»í¦.q—‚ń×EąŽµj/®ç§üM3›˝ËcKž^V߆ǥăăăÇ÷‹¸¬ĽĹŠżĽµ§ľľ ővŚĚ‰wĺsś®Ň‘›¶4aż řĺŚÉHЉüďSQ}65ďO´úŢőîř…=ÝÉr¤N÷ýiđš$0¶`>đ÷čľű(Ö6 şz›W¦€\ýn.\ř›GOÇrcéyő\¬*î¨çw ÔzB$÷!T΀÷釺OŢ/| ŔzWŞm°Á*Q¬G1a3éëvĆ|xć™'¤ť°]0”ĽcsşÖţă—JNR^±ŻáąRż-Á®QŢK‚í‹FÓźh™¦O¤�Š*f.VV^(dd$ÇÁ>î Tp¬…Óčř “Ő%úňŐéC~˘zß—x îM›fśćpëČĚŢ�OąNłqÓbl®Ź­ť°ÖÍşŐ¦L4×V`“HbńaśeöÔw0±](l‹"3&ET`=oŢ×RťÎ Ź(ńY_ÂR*aE+w&QA1íń ăPK-ô' ŕ÷Ýw¶g‚+ęźÁËOđ¸{_cěJřŔĄĘ™ú‚Ç„ Üpi1ô–$ćâTS„’öě¨4m˛ ”Ă)ąĐu_FúťŹ˝¤‚Áëę€ćĘńoľůV>,©‡3:âřJ¤Fęś÷ý•lÇEÓw456 ]6ţtw/ ädľ{™É#6KĘ-„/LöŘëJĐÖÖŢ' CˇÂß-n˝n3`ó]Ň-9/pň%°,|÷2Ɔ }(’ęO GzÜ2(f/@ĺDNyĚ­qŻ ľ#ýÎč>§â ÂŤţŕuA'Ěť»żçűčÝ0é “¶ß~ű]źŠďzJ¤Îm¸eŮ(AřŇKŻxÖ3gÎľ]¦©ß,6Žú»—3¨zY#6Ö•hćó�ćYŽ‹ĐŐÄě)<Ć®ĄüIşĆ Ć}R±XuuŤt[ħź~.ݵPJrj4‘¦Ą%¸Ŕ,P§(%ćđ†[•Yżľ¸Ëß'ö­‚/&MßĺďőEĹç’ď[Ä[ççÄÄŕĘš[¶^<)xŤüë_×Ę2ĹĚqĐU€PŕAŃ ÝÄćÎ=XľŞÎ˝ŽIŠů÷ˇčhWE�ďýl„ť3g¶gCUMMM·ĺŐ=„÷—ľĘ-1ßÇN„˘/oW2#Ľoîµ×rśą'ă÷–ůu/˘#–±‘Ů:U°ŃďśsÎň)Îé-ŞĽ#ďiFá’Š|5ŞjtŚóŐ)NÁél€$Ţ%UÉFĘ@ą6®cĆŚéč/x^9d°äáuČYͻܤvdU9dşĄÂ8ý“O>í2Mą„0Gg|Ö¤đMťS–¶TâŻ_~™ßeyU“űK1„:ż¨X‰ż ţÄąS¦Lî&ŘčÚŮfnoŚ"Re<5^3±"ĎŐ.®łnMVŻkSNśÜ?nDĎ/®Ä”ÇăőEČËJ@nb ¬v§ĚŃY¬dKŽžž‹/NšŘgŤ˛ëkŰP×bE´Ů±cÎ�s,âĆĹĆú <<©Ř€âho!»¶©gTć0µ)0çüá‡wqČ6Bá6Ĺd„żŃô%(SĐtB\ĆčśOĹtÖî ‘Ü‡PP÷ž””dŹ+¬/xě{ĘÜąűyîË/ľřrŔyŤÓ)°ĚD˘ťďóŢúŘcOt‹<¶ŚĆ|?óťwŢ Ř)q�+;x/;ňŠ} Ű÷”HŹen‹<§2gą5ÝÖ4o´ŔLqz*†ň7N7 'ÖmÉřvyÓÉH9SP9ű6”î} Ú†‹¤ČišEÜc¶ą…fîV9šqp8|4lz·kšÔ6xMv–5.c_–Ăä[b,˝%$ˇi‡9¨űó]hßď*ÄĄAr| 23łźŹŞšjąŻˇ42r~ 6ď`‡IEUcžA%o¦„7`–cčkř@týő×yî>řţóź›}–ÓáµúńÇźâĽó.ô$áĎ=÷¬°Ę(ö'´PfB‡Ťő—_~•Ď}âőÄ}¦˝ţ 'üŐ#®R0XĎČH—ă´ŮW=kŚÔŐŐÉ$sOśčP§8úZ{H˛ĚB¤`Ěrľ>ë‘GóôŘwß}<ÉU…1AFk#Lp*TŇĚ:d<÷\p#QÉT–ŠzőŐ×==m%Y#qÎű ~çÔąĄlhočŻăâ*ő{¶,á«ˇŹ ×\ó8űěó=%'Ľá×qĎ=÷u\Ń„GcSsHb®Ţ»—u“”ŘÔlźÓěUëĐŃÖ"Ě‚ý~öäŢl~&?»ŁµŽŞő>ç‰OÍűŢC÷2ßă·™eľZDCEp§ÇÁ‚r1[ąr•ü-'l”óĺĆଭqŻôE$îs,¤öť1•żdĎŁŹ>.Ź™?čĚŔ…P8îOOç’Ë.»˙üç˘ađŘ­"ţń.+d$RçÖč†Ę=•źsíµ˙BCCwAĹ÷ß˙ŕąćććtKbćş˛Ś•7|ľcŮĎž”‹ccő]wÝî‰ËY:aŐŞŐč->ř°Ďë‰Çꦛn•ă<F×A2gÎlŹ›2K4ůëýĘN2<žĽżł|Ä`‡×cűżýíOoXŢŽń Kůú^±űŠ+®Ć9ç\ŕi8ŃôˇĚÔ3ť/6nÚěó}–ëQŤQľX˛ty—{üî»ÍBłË.]Ýq/ößó›ż-ü]óĹĆŤ›ý.—‘î˙Ř)¶f‡HĂ27tźúüóŹĹ=ý)Y¦Ź ťĚťđů„Â­ŁŹ>Χ WOáďEVذđŽ;îĆI'ťę)ëęëąH=óž¦\źŚëSÂ/:KË˙E>WŞm Eě¤ÄEÜ>ŁHŹĄ3,1¸5QB) ŰyřüʆfĺžCÂrą›ÄďJ Nm„"nŁKËʓɓwZî*Ô˛§‘@ üaܵľH ŕ ©®6+ž?ř<ˇŽáşu]źĺTěĆdcŢA•ÇdlĂXÚ(03ţ–+ç3žoa@şř=¤3ˇ ĺtů}e.—ąÁ@đű˘:Ű»FXŞ=!ÁkúžŢ‰cs`śÝ.~/-.÷«H ©±¸ű§-(m˛˘Ż(o¶âŘ7Wă´×Wˇ®Ý†y ŇÁátČv©V›eeÍ8sʎxăč±čKÖÖ¶‰/¶y:śý?X˘ä9äąTçµ§ Ë Şř8@é”SN–ŻüťfÎ××ócA:ľ^ýpčˇGúÍg(±9ź-ŐóĄ·(›÷ŠŕŚŰFתŢÜ÷"ąÁP9¶eřsnzúég}¶3… c;şÝŢ·žyć9źó1_d,íÜ“ŁŤŢ¶s°Ťó˛Ë®ÂSO=+Ű|uƤ€śťčź Ť"?řŕC™GáłŔ»ďľďs;rűČ1ťĺşR^±?P9&s~·|ĺŕřLŔXJŁHDAى ážBiHä<|ŘĺĐ$˘ ,›šĐÔ�›hđĚĚÎASĆîźrl5K_ň’Ë~€©b˘ěNÝí/ćhW™JUţŇéŽOYúŢěÇ\ć»jŞf‘–éĹá°!!;ˇ8fŘ ÷Âęj˛ÓłŃ\Sĸ´´:äbLđ®ßP„Â#d#‹ęuĹ}V´qÜßńń7=زŤC=DÚşÓÖU•a¤sá°~ýúj·SAo ŠhŤ{Ç·ČŔŠAłfÍAĎpŮŰ‚"*ű™äP°$­đ*,]Ädđý÷?$çŽ;î$é~Ĺ$Q||śL2ŁÍ-a€Ç^™FřĐxĹ—ÉĆ2ž›óλH¬ă ™ěb‚~Íš5RCÁÝ_ţr ^{í „Dů0Ŕ@źnl¨b˘V·Lh˛Aę˝÷Ţ—,ú"ˇäçöó:a€I^~VUUµ<ŞŚçüňË˙ŮmŮ‚‚ĎřSO=>P$ćňäĂ ü¸.6V>öŘ“˛g(­«™ôcŇ” ¶ ńÚó×ŘeÚ=óÁŹÁ>abß{‰s*Üî'ąćš+Ără!|XŢa‡Iň{˙ĺ—óä¶sůűFgÁHŇÇ…B>(°ń öě=÷Üł»ĚĂ;UŢ€_|ń‰Ľ¶L óÁŹpÜŽcŽ9 šČŃŇÚ‚ dö‹{™O1ĺ‹}<4Ű­°—ŻD«eŠľúâ>ď›ń3Ą{™Ř§ÝwB6mÔ éŚÓBŐŔr/#Í-á‹R2sćĚ–÷6¦|óŤKDîďËÖ¸Wú"R÷9–E:ůäÓdB“˘~ŠsŘ“ĺ oń÷˝t÷Ůg/Ď1óĹUW].÷ť±E.ü}Ąč,??OŠŔŮčĹd˘JjťţąA*űcąwnďŚqKEęÜNś8AîŹé“O>-ď±śźŤ€Ľ×zĂř…ÇůcŽ—÷™ŃŁGËç60ň8˛±žżAĽż{»ń~Ď’‘Ü–O<EĆĽĎňţÇ… FŢW…ďxĂX€Â6h«„é˙ű¬Ď2]ˇŔ$2Ż[Ć}ŚĄx|řcX%ĚaLOQ…>ñERśuÖyŘoż}±Űn»z®W&?•»;Kyßű#L4«$üUW]‡Ď?˙¨›‘ß]^'ŚWřťS Š»ďľO$Śż–ă<‡ź~úá6őü:Ш¬¬:OáČářöŰ}NcR›ßac\Ş;f”hÜ÷-–ŕďŔšµë1n¬«DͤIăĹ=`¸ßů#MRR"öŢ«łAŽ÷ÚU«ÖúťÔ¨~ŻĂ@Ű<b„˙ç/E(ç`°Á†c>/q`©>6^ń·®ďüM¤kĹ'ŞT_¸P¤Ěü;ŇYÁ—ČšçË_~‘÷Q yýňžFg/Ĺ÷ß˙č~őĄă|eeg™Xć‚ÁR9ťËVJ‘Wř+•Ý_đ>OˇďŚ+¨gXşR$G×_N\Ě«>WSŘ*üîŞüźŠu/Ł?;{fffśÎx‰â1 쫪ŞĐÔrŚ­C‰YŮ!’ÇÎx ÇxßfŚCQ™*s©śŔvÝŐ妱Ë.®sČcÎŽńĎ˝÷űsĘąîş«ĺ÷’×Ĺü«\`aáH'ń:ňvçU×ůď_’C(®i>ü-§"ÎÚŠ ĚÔĎş«zf€OĎJŠĆďĺÍńôbśżsŽ™‰ń™‘+•Iײ˿(FeMň˛¤sÍîÚ łoj·Ł¶şWî?·ÍŽľfmM[çŞ=«Ç/ěé×9äąÜâzş€Ş6%öÓŘń†¤Ś…Ëć˝ĎĽv»ĹĹĹŇIIýÓ…‘"_Đ}éöŠŮůÁWŮĆÝwßM>O)—/ţÝ›ŇБ܇`0ö˘0ޱÝEýCŠl¦Oź*Ż>K˛c�s>=Í(ŘvC;ĺ=ňČăřᇟäv3Ţâ=‡¦ůó]BkŢ[™gŘčm;óÇw¬ŚéŮń׿ž.óB®kÁ.Ď s%Şó"ĎźŃ5—×çkłS ÷Ů–ŁrĽÎTŽ„ń‘ęĽ@Z^±Żˇx”ĎJܶE{ě ňxşrhvyŽŢ~űůÜEi°RšMˇfšŃG- ‰üńgđÂňeĺĺČÎĘÉ©4$§$!6:1"AꋆÚj$§OA±5#§ť…¨†b$µ!®ü'X*—ĂҲÉ–V[Űá`ű¨Iş-Ădq•»”Â3łű}ł[(ćžĆ·ĺŮÝĄ1ť®W»ÚÄTSr¬ CQ=Ť©ÓPcÉE{âP¤eĺĂŮŇ€ÂřF©đvŠ8ŇŃy˝¬ĘE0Ć}¤Ąż?aY0ÁŮö"2ŁŚ˝0ب=)a@‘‡`\qĹĄÝL€°w.681bďŐsĎ5 âŚÁŃ@…Ťe äîşë^ôů+#Ĺ5:FŹt’c© ş~±á<­Î`5\áů`ŹDTtó®7Îmşĺ–ĺ>D˘Ńü‚ ÎkµL´)á–>Ř=đŔ˝>{9ł‘’ÓŮ͇!<>·Ývł|Čă1<˙ü‹d’ĎUđ±üdC5ďŤŰČż‰s ĆŇZüţô„ /<OśŹ‹ĄĐâ+¤ěĽyź÷Ş'ś/úú¸´·wtéYď«”™±|…=Ţ yŢĺ%Ś=ą5‘ˇµĄ{X˘|__ˇ¸’…3IČŠŘ”,´7tohp4”ÁźŽz±6"P„sß›±AŹÂ`{í&8}ŰŢÇĄf#!sh„ÝËĹ“.ŠÖmL`ĆózŘa‡zPČéIClß+}©ű“V>xŻt7âuČ'#´âżôŇL1ÁĹŘíňËŻ–lj_Én÷ß˙~AŘBčHÁďőś9łerq.ÝÔ(ţú쳏äôHś[6Ęžyćé2©ĘdăY²F÷Ý×˝'$“<WLč=ńÄÓݦóşeÂÎWy+Ć"ÜĆ·ß~WĆCęţ­ŕďÔEť/§ő4YLg &Ą™xĽúęëđĐC÷÷(6`˙I'ť bŐËe’”7%0>ôËť=öŘCR$Ĺăďëş'Lň<)±Ŕ`ƨaFŘ`m‚řŠWŚ1MkkŰ6×Aj Š ‹Â/X­6lŢĽĹç<3fLĂç_|íwŮO?ýĘ#0#'žp nąőôÇýĺĎž2»äłĎçÉçxĚśáŰ©ĘĘ*ü.WXĽŃxĂvŕ°ĂçăSOý«xţÝO<[ť&ź©XZ§'q ď‡]tI—ű# 2DćkčĹF_6ú‚ż)?úč2‡ĂçÓ‘rť™TąŔ€ń>ć/^ż•2'§đ–󷟍µ|ŹĂś9łeĚgBő´â‚ę `$ĐwYŃýžÚö¸öż·ç0ÔĺýÍÇ|VŠ`ě©De<7Ş|ąŞ"A8)đä4Žł„“:ŹJć ó*Śyř{Ŕś—Ą8ÇßClx>Sqúé§z–ëéůňu}h|cî+ŃÖH+•]đJx_ĎÁ§Sě5,5ÍV\÷éÜńÓě1, ű¦ana*¦äô,ßYÚÔ‹?-Âë‹Ę•Ťáy °‰Ë×îţnXÄOy}› 5m¸íĐѸr÷!áHfâĂ=y™^ż°§ËsŘ Ďgo„N ćôC ÜqÇ­"˙§ěPE§EĆľ`˛@B&>‡sظq“üŰ_Iiﲙáô–HíC0XśËÓĺŠq6ť®Ľťo)bţÓźNŕ=…Ć,NÓĆ*ě çË=›ńĺ=÷ÜŮg޶[޶s°*SYY™t)cgŤűî{ĐçňěśČv?#,qÍu˛Z�?[ņŢ0ďĹ63ş¦*Z^±?Pß%ŠĚ(˘óÎÁńţx÷ݷ˸M Ě4-0ÓD„pĹeˇ”Ćä8ůpYRşEŚ·ˇ±©ńqQbAłHRÇÇ'ä…)É)ho®ÇČ!YâÇ6ŽŚ ¨LŹş¸Y;{¨ČXע¦~b‹`-Y$ń°ëh„ą˝­ő•HI° ZÄŔmM°ÚÚ‘”�“řŃnhíŕS7âDŁŻ3&µ­fDĄA[L:i“Đ`Ɇ#. ë6WaôÄaâpE)’DüĽ~ů"ŮSłĄµ‰ ‰‰Ž ;ɰ٬HLLB{GJ6oF•¸a°!‘IůPzw„›xßVőLHÍť»żtu ě¨zÔő'L¦ĽđÂ3řńÇźd`Ăžl¤Ł$55E:*PHÆ5Łj ĂlH|ë­·Ą`ŽÁ#Ĺ/Ü':^đŘóÁ!PŁ÷™*z«´Řg’—âÉ &€öDŮ‹Ć_ ť`°Q”<˙ j7lŘ ’—­˛w,Ż&¤Śî˝…ěý÷ß#­éTÇ :&&Zş“Ńů„ Љ‰‰>—ĺ÷ůŃGA÷˛q•˘HcoQ6*ľńĆ+˛A”A-Eů;ÇíçC+8˝éÁ ž˝šx ňA@• F$Îy0T™>4Ňą˘'0ĐňÉGĄ-6�yŢyěŮ(ÝÓu˘/Ź –@}á…EČHśrJwwCşšđ¸±gňE]ŕq·T°›N0,;5yň$í^!L‡Ňú†z‘Ü×™»‡| ÷2Nfḗ©ńĚń» táG>ă&{ů DQ!¦©ŇÄźđĽűötźč} xos4U‰ĎömÎőgMŐîeľ·Éă^ÖÜ,ť=ÔÍćmCŚŔž‚Ľ/pź)ś ס•ô÷˝Ň‘şĎń÷˙ő×˙'Ĺ>óć}#ÖłEöŢcOFţź|ň‰!ą0AČă²<żłA‹÷&h¸.şkđw5P‰·ţ€B}&á+1nŕwŚn%ÜţHť[6SLE±?{Cł‘Oą·řâĚ3ϱíË/ż*WËŽ?Ľ÷˛G)K.đřů‚Ű~íµWÉ„0EfLä2ˇG'!ŢÇxîč*Ó[‹Š)@`ÜÉ^Ç=ô¨|Ż'pźžţiéľĘ„ďýtFˇ»;Śp»A‘ĂŰoż.“¦,ß¶Y<çQÁNEŁFŤ’B>Ţł{ňÝüío§Ëc_RR‚łĎ>ł›ř™× ËŘĂť kŁkâÂ Ď—Ď 43©éŽš®o :O ůmŃbźóĚš¸ěß{ď}ŚsĎ9]>’?yţű⫢Ѫ} ă÷SOézí˝őö—ŮeÖÎ>ß˙ý÷Ą……^ťÓ|Ń_®mŢ“Ř ČňÔtH`gËôĘa)eţŽň·áôÓO‘Ďŕ=qî˘ŔěńÇźr—ÉüT<Źť#KĎ¨Ž‡|OgľHatŮ*//:YYç<tźę\O¶až˛€®ĺ‘ ˇ·ď´ÓN‘çglńÓO?Ë’ď|–`#…í—\r‘gĆ.Ś #°!·'0Čű?#=u ë ×Ď™7ě|¬JĺöÔYŤ±"ˇ+;,s1c9jâËíŤBž# 8sWüÎńű`tźcŽ“3şŹ0ţS"4~Ď•c  Ü_) `ç�6â2>`Î˙ᇓ1yŞý#,Mç+~Đ ^9Nň·žÓ3L­(2ó7Ů×|Á’ ľ§ŰNdĆ‹u&DˇĹęŔÇ«kđń˛*Ä'Ĺ`f~ö™‚Ů#R±ËĐ$ÄGŽG­b]Ź,,ĂÍß— ˛¦ąYń¶äg(,"GQ×jCcm<j.śůÜĄ/¸ ęÚă±Kđ˘gÇ/śé&łEśĂvy.Ĺö­­ŠÎčü ôŐQŘŰö(aĚÂgw¶ńŢĎ<ď|fdµ›`%Ž ŁU'Dvf÷c%ćo·żůÂ!’ű Ćh¬ÎBaď-ĽŹr?¸Ot8Łťą Ţ˘rB\Ýß™˘‡ť ŘfÁĘIlOáľokô¦ťÇăć›˙#ŰüKŁ39ŹŰÍx-°çČßµŔ÷ßyÇĺ`Jç8:ŕ1ŹĹŞ@#FŚĄ`éÔ嫍m ĺűĆstĆg§~ďčdĆcÍżsĚĺń»˘ŕ5š@¨wrSÓL!Ľšüü­łáU ÷{ŻÓ¨ŕ0wtX}űř|•Ž4Lüó•âÖÖŮŰiذ Âq' ö·÷8UhţŇkoJáÝż˛ł3'‚u‹LPY˘,â8VŢđ*ĘË•ťrqŁ=fŚĽŮ±7t”h”mneޤgeË@É`ÜŘQŤ¶ŔÖцÍ7bô¨pجb™vÔ‰„ÓĐa"y*j6•”Šŕ<yůCeO”?~_ŚÂĂ`·µ#Z<x´µ4ŁĄąI>7ÇŽöyS¦(ŽÉ´ŘÔ‰„·‡ç±±©Q$¬hŰ´óÔ±«xp§;Śý•ÚňĽýíŤî ®Ń†&Ő+çÓO?č×R ˝˝„÷ß˙ ™\äĂ×@±rćořŢ{ď'¨LB^zé%Đ ~Ř{Ť‚ ĽůĐĎ{ ďm|U/ú:® E4ĺk\˝ňţMáħź|„(‘ś>cgäd»°ü•Ęôž…v˙ö/0ăxŐęhŘ´>1™5t'X’łeEĚjÝ˝˝ÇŹú™Ô±7VÂVň‡Űćµ;©Ă'!kÜ żîeŢNfˇt.ŕüť:}ŠÍĘD¬÷ŰÂ…°‹ëćO"®?ł§!Ç×ńK{_3đaś}ÄGËqş|Q(¦é9,pć™.—.şNPě¸-3kÖ2IÉä9K}j¶ú;ž ÖéÎř·Ż{¤rgę­+Á·_ ťôüÁƆ˝ö9ÄŻ ĎÁĎĹm·řv8âĎ'‹Ćšbřăß×_‰ŁţÜé´üó/ qîy—ö©»ĐŤ˙ąG~çsĎżÔďülěřę‹weÇ"oîŕq<ýĚ‹~—}ëÍ0ftˇßé<—»íq §änOřćWů#ŐÉĆWŚJž¨'qĄ÷ßďr- ;Y(Žźtż „|ňÉű]„#,‘«\~ůĺűn.'Ćű;Ëó°Ľ‘?fĎŢ_^»ţ9 ťĐبF1ĚkŻ˝,;‘]ýä4ţL$ŻżţFşbGy [YH^ăűď tS¬ĚÎ@Đ “ `lhú⋏=n<'ťtŞ?ăŚSeYođ;ěŻqź}ö“yÖ`Ż>\ ¸Ô1  řXއ cFGVrÉ%—Ęň¤‰}üńű=˙ýď˙AŁŻľú´[§,#gź}>~űm‘ůĺ"î"jĚ#]|ń…Ň-Äl¤‹ńŽ[CÍG±¤r°řáűĄ@ŢśpÂ_帯k†Ď}sç,ŻŃ˙üçzŮ‘‡%ĺŮűřă{棨‚ĄŔŮýĺ—®ňéěGńE`=ŤÔ,MNبë­7Éq^»üľPěf|_ă›–ź 'Ţ1Žó•ťÜxŢo~ęřdĘ9°•®ë¶¬ŞĆ¨^˝ g:˙kł9QÓlÚm@lĆeĹcçüD):Ű17ŁÓă…»«kZńņzĽ¶Ľ Ë65"&)ą‰12/a¬ćÉ6§ÚšÚńŘ1ăpδţ+iĽ¦F´3=łqŢ} ĺ"yü|Nź•?.yמy‚lëbçš`y_ű{OŁŃh"Í`Ę+ţë_7ČNŤ*&ŰV%ž W1ůÚR2Ňŕ~µ{ N÷«Ă08 ŻŢüüčŐ{Ü› Vş‹¨¦WôĄ¸Ś6lěe˘¨¦¶Föt˘Şś",:–ĹĹÇŁµ­-"1BA•Ć´üŚ?@ăĆŹ—Ćś9ěV47ÖcHn&rÓ°jŃ/hŞÚ‚ÉăF"ÚäŔ¦âbńă…ڬ\´Űͨm˛ÂźŚÄÔ,44¶ ¦ŞyŮ™ČJË.Yş˛Ť:©1¦­] {G›tSËČČÄ„ QQV.PYY›Ý.­űÓŇŇÄĂŮpą}ÉbŰé`Ć÷˛łs°fý©¶ćţ;&áëp§k4šÁ kÎS\F(0(°çµęť»Űnýď6¨Ń„1áĺ÷ËV[ČÄ™—,÷˛@NfţÄeŠŚ1;#&9>q:`Űü;l5›¤»{ă«ŢZ˝ąÇ«eą. ű).łŐl”źĺO\›’‰Ě1ÓzäJę|]—qzŢdyL»lŚŽŚ¸N3paăd°r7k×®őŚ÷…«ĄFŁŃlKsĐbé ü‹/,řÍoĚqءK >úč3]ÄU»î2gťůWô‡vPqĐď»˙±€Ëř§ý|ŠËqţČĘĘŔčQ# »µ âß,MI§H†1_ćăľújžçue—cüćëš2«‘ÜáBq!,ENX–™nM…‘É“w蕸,( ˘(ŹPTĂÁܶożuąľÓŐÁXŞ.PtŮ t t=QŘ7wîA˛|´ŃŤ(áťüťGşLůsc|ĆË-)w,oŘF ąĽĎĎĚ•Żźq= k+Ĺa*ߡ={ůĘ÷é’ç–d¤xľż ăD ďĹa„×˙ěŮ= StĄDytő„qúv˙Ť¦ű(]1Ź“*ć]rmęÔťD;AşŃr>ĺTO‘˘/č2ňÎ;ďáŢ{€?¦L™ŚŘŘX9Ng7÷Ýw¶çwëňź_éHB!ťÎy~”“dAZ­Ťpš• WçŕôzíÍt^3±ń ™Ť!9ńČIŽFQ}ţ·¨˙ü`-öqf>ł3İó3`ď˙.ĹőźmŔŠęV1˛˘`y ăgńÖÖŘnCSc;žůËř~—–Çll¶"ĆbBoŹOʦ›Ěp´4ĘsHúŇTŁŃhBa0ĺýĹŐFčL¨9Đh¶6Z`¦é1}).#Ş<ćĆÍ%ňˇ×jí@]]-ŞEĂgCc˝HFTzÁ† •=qcăâ`łŰ°růrÄĆÄ ..É"±‘“›‹őëÖI б")C%,ËyŘŲ±"ȸ;6& ńw[k3bŁŁ‡X—hjF›HÜP(ÁîD‘[*BŹMťFűO“,ĄĹž6ĹĹE6|8˛srí¶)_»vŤl ĺgóá™.lqâ5Ę%ÎkeC.ot´ć –¤ &8Ó"3Ťfű‚ U•4dY`ĺ›ú“˘˘"ůĘ^Ĺ‘°ÍÖhúďž”ę•î§Źwť×÷xŕő‡7źŮlAŢ”}`‰Žő3§S–Ë´–üşę*[0!Ďß‚ž8€p.Ëup] µŐ°nţC|ĆJřë¨ÂmËťĽ·,} ¶IţŔ˝ !8™ů›'łFqNر€¨ŇŞE Ͷx]˛îČ#ŹÁe—]é·•ťKXv‰°Ń‹Ť_ŤFŁńĎ’ĄËÎăŻD$©¬¬ĆŻżůkvŘ~ĹY¤Ľ˘>ôT—÷Î?ďo]\Í"Ĺž{îŠë˙uE—÷^zů ¬\µ&ŕrţ¶eóć-Xľ|•ßĺfÎś4YĽx3¬°ß~űĘq–şćš˙“y,_l9Ľ .¸X–Ú#Gőçnó°|°Â—€„ĺoTŚG1Ż8—Î~7Üš»Ĺ<t¨#_|ń%~ţyľgÉźţ€ŽŢŞ”!Kú*•ɸćĘ+Ż‘bHî;K˙xsę©.Q&Ë#^{íż|–Z±b%{ě ŹbFčNE( {îąş-ĎózÓM·Âó\uŐµxĺ•×dij_yF ůţřĂ%¤=zT—isćĚö”őľí¶;ü îćÍűZî#ČřyF(˛RűĹň§ĘˇĚŹ']úŇ%Ńş/ĐĚ×1y≧<b·}÷Ý'`)Í@°ĚK:şň=óĚs>çŁŘŤ„%Óü ))d$Fńă{ěŢećŢ•SšĘ?Ń™Ą±|ńÁĘk%ĎŢ}÷}źóĐEP5řŽ3¦Ë4~_XĄ„ÓéčÇNPŢđ?řŕ#¸őÖ;¤K›ďi/JŚT—G]%LQ^9‘`M˝ÎŻ,ł,Ł™ź‡ü¬xd'FŁĂćĦúvTµŘ…!âý\ńľËý­űúmâÍşş6ÜuŘhśľSĎľă˝auu«HŰań5±Źźšną"G}Ą<‡D Ě4ÍÖb0ĺ)ܧŰň‘G‹ďľűŢď|ŚíŘy‚xwĐh¶ú.Żé}ĺ¦e|źŽ^L¬¬^łZ>Ěććć")1^ IňA333K$ńĚHNJFYi)RSÓDĄC† EáčŃ\băbQUY%Ĺi………°Úěâ˛ÄyttŚLRĽÖ&Z7‹DŔ¸ńăD˘c¨LÄTUUb×#nFL†ĆĆĆH=# GІU3~ýőWLš4 ä�Ť®d›6łĎ RRSŕËNÓëëĺßµ55˛”mf±í,활bAiy…ěEČF^ß<*Ai÷uĽĽ§š?”éŤf`S#~GXR‚e Ř[“É[ň·żťŽČ´i;,YˇŃ T–YÜŁvJËJĺ}›®©ťô­{™ŹNHFŢÔý°ĺ×OEá»D•َÖć8˛Ç Ł}¨%Rĺ÷Ś1c&ľrźŚŇŞ˛].±vwŚV456ŔV»öĘupÚ­đEeyÓö“ŰŘîeť44ÔcKé×¶´°l[…×.Ë@±”ÎX†çĎ>BÄÜĄ“;g,]şL4X˝çqĹ8ýôS˝ľŻŤFŁńć—ůżáŻ'pžY3§ă™g_ň;ý>ĹŚť»‹ rs˛qءâÍ·Ţ÷»ěË˙{»í:{ďí/đN!; >űÜËéGç2®3:ş3ÝIqŘ>pą=öŘEÜgĆűśöÁ‡źܶ@˘<ĹÂ…‹0Řąä’żcÉ’ĄRÄRi±qNU‰‰‰˛†÷ç_~Yŕ)ł:věqŹ>ĄŰş”kąńĆ[¤ „9<ć×ňňrĺýž" d¸>–ŇŁ[÷!ůňŢO§Ą÷Ţ{_ĆĽ)1›?(î˘ÓkŻ˝áiDběü§?ÍEPX8^xž,mČ2<Ç{˘,3:aÂx÷¬YłF>Ű3ö!§ťöWźťÇ(c©ÔoľůN4@ý€ŁŹ>NĆH#FŚť^)`úřăOĄđŚÇćşë®öŰśź˘><öŘ“˛ˇŠĺwŮ!vÝşuŇyŠËÓ…śq7qŰ(FâůˇĐďĐC–ŽęÜĽóN§Ăc4#<î7ŢřoYr‘ű{ÖYçIńân»í*«Vđúš?ÇÝŚŰuîągwYcľ+®¸L Ď;>+pČ!ÉŽm¬ˇŽ's»,sÄóžzFÂr١”őKF˛1sٲĺ8ě°Cä1aÜJ'¶E‹~—óPč¨äk(py®ŹÇž×ó?ü$Że: ňóčH·AÂß×˙űżkü®‹np<đ°Ç#77§›(ěľűnň{˙ő×ßzţö.m«ŕ1¤�‘ç÷ć›o“N{Ü:×±ńTť_žŻăŹ˙K—ĺů»qţůçŕţű’ĎÇw’8żKÇÁřř8ůâuN§=2|ř0y]k7®\†cE[Lňšőh9 Ž6ĺ€(ýĺ˝DNî÷úh:͢ÍrPÓA–ݬoÇÜIY¸t—­ă,Ă2žj“\qKß_ÓÍńIH*_ޱ»Ś–çR Ě4ÍÖb0ĺ™›gÇ jţůĎ+dGĆć|&â{ěŚĂ¸GuT`ĽçzvŇh¶.ú.Ż ›žÇ-ăkLh4‹„DeUŤt%coŘŘÔÖÖJ»ő¦Ş*)«©iÉĚ\¸F‰¤ĘH™ČŞŞ¨ Ăőőő5ĘÔn.Ů,Ö'“˘ą™Y™0‹„&LbMÚa’nđ{1ž‘žŽŤ7Ęř#GČm˘#ťÉdÎwÜQ:ś¬âă'LóZ‘?dśwÝÚµHóTT”‹ô<Ú;ÄM!OŢ’Đní‰ö\\ş|&Ž'y•ľ?‘™·@¬'"3ŤF3xa2™I:#L^˛ď@B•M`˘XŁč0ńŐ.îÓQ"IŢ!bö–îÝEŁ˘,ýâ^fŹKÍFŢNű˘ěŹy~Ef‚ŮĘVŔVµÖôáÉŠ„”tçřKö++1i®Żµv ěµĹm`Ëp).ŰiâRŚ%ŽúĎ˝ŚńX»ŘfURśť NZn›üë_×ĘĆj–=bC#Ý)|Ákť ×§ťv 4ŤF… —÷Ó@÷NşqQPWWďsú§ź}…«®ĽŘg’żťq2Ţ{˙c‘ËńíĚÎ{˙U×üĎ<ý &Św•ĎcŢâ’‹ĎĹôi;âƛűzBŞČ˙\vé…]Ęb–Ľř’«E&€€^lĂ9gťęw›?řđSżËň>´÷^»#żĚ˙ŠežxâQüűß7Ę >˙üK9ř‚®aěřj¨Ůu×]Ä0KŠÔ(”Q⛋/ľýëIrüŠ+.•Ď”‘°ćÎnąĺFYŞ1ŔŚyäá]„F51Öč/(>˘ŘëÎ;ď‘ÇÎWyC6†ť{îY8ăŚÓü®ç¶Űn–®Mď˝÷Ě_>üp÷ŇŻíÜ~űÍRä Ö.ąä"Yľ×7ECŚËŢ}÷íRhć năm·Ý$Öq™§ĎźĆę<źsćĚî6ŤµÇ{HşSńÜ}öŮrđ†żE<Ǫܦ‘ý÷ź#ăĹ[ną]ţ®ńxp0ňŹü]ŠŹ ĚTÇ8ŇŰÜ÷wýúőňşľűîűşM§xëî•.d˝ß©gžy—]v•łQÔ§Ę[ˇkŮ=÷Üđóx|8°<+ńv/Sx;e°áÓ,‰{×]·KÇ6ěR¨ÜÔŚPĘë™ ¨Ţđw€×"żß\Kóú‚ĄcůYĆr˛šď±ÁÚ’Ô<üÝ 3§a#šăEŽł–—F“7ţň[gşŁĹŠvČÂÖbŤh#C´Ů]ÂҵMťôőţ;`ŠOF®8w));xň5ˇ´Oé6,ŤFÓ –Ľ"«=üđýŇą—±˝wlndäČ2¶Ł.BŁŮÚčMD E\Fń•rŃđ×ĐČd “’%%ĄOL@B|’’âĺ#EśxŔ4‹} ĽčZ%cEđşuk1´ @ľ— nééRŕĹϤә]|{ż±±xÍęŐ=jvś2E–\Zşd)¦N›*„KKKQUU…É“'KÚŠ•+euäȑҕ¬ZLccóćÍ(ź7E¬ŁĽÜU¦ŠµÇŤ3F6P«F\şn°$'[Ź[š›ĄplŔnŤ¶Üg&j(@36 {;ٍAą­¨cN0®hÍŕ…eř;Ăß •ěÚ›^¶}8h4ýA8IK_¨űntLś¸»„VŤÍMâŢ]'ß™č/÷2ăxbÖP Ýů@”ţţěÖ�â/›5*× µj-Zc’aNLG´b“Ó“ K”+±g·YŃŢ\Źö¦zX›jŕl qM!Yڱ,&]Ő(|3Šľ‚Š+Y¨óŐ‹sAEtŚ«dF FrťĚĽđ;Ɇe6łÓĺŇP*Ëײ$O~~>fÎś!§łQLŁŃh4ÁaÎaĺĘ5"Ď1Ńď<tţš»˙lĽţĆ»>§77·ŕ­·>Ŕ‰'ÓmZAÁśzĘ xęé˙ú]?{źwţĄxü±{1něhĎűt5{ďÝ—đâKŻK§łęęŕ‚!’””ż{$N;ő)F1BqŮŮçţ3¨híŕçbęÔ)>§Íűú{lܸŮﲻí6Sä2–ݰa#¶ †â©§ĂŹ?ţ„y󾑢ćÎZZZĄ(€ů´3v–â_\ Ć_la‰Fş;±1…÷~ŁP,))IŠhX†ólذA~NVV¦¨Ńe@•Z Š”8¨Ň2tDëoŽ9ć()úz㍷đóĎżýŢ"źO×°t%ݶFŚpl´gc ®‡#^ëĚV€=÷Ü]®‡ç»Ń=Ť˘şŇQŔCńË žrĘÉŇ)ÎźŔڰĽă /<#˲ä¨r »÷…ëáľ:?t±{űíץđ"EćWyţY>u”ČŐr?¸^ţ ŁŐ¸ ,”Ž^ü ›0aţú×ĺ±Tj¨Žq<îQö^Ă÷ߏt1ă±aąXv–fŢ™·‰”¨‘˘1~?ř=¤›…rtŁ ÷ĺĐC]ť•Č#‹ý÷ż.çJ–Óô÷ytc‰T>ů›OA7ąwŢyCŠűč°V\\ěůť ăKs}ôźž:ź˝őÖŰŇ}¤¬¬LŢC((ž8q‚ŘżýĄÓˇ1?®ÜđzeľsdT36L@y‡ńŕ-Ř´ÚśX_Ű&ň$–­tÜLr!ÎĎa(ż=ŤFÓ— ¦Ľâ”)“ńúë˙“ń#ÝŠůĽÂ8ź™(ČgÜĂxŤqO°NĺMj‹Š)Äi¦^M~ţVŮđŞ‹ű=‹×Ŕi)|íč°ţAŠwc§Q|Ĺ%ľşĘµŔápʤÁÖ \÷2oşÔţř—qĽˇˇAţĐ˙ĽpV¬\!ĹdCÄ~rJŠly¤HŚ=PMfv»|¸Ť‹ŤCjZš `)(kkkEřQ8RÎCÁÝ76n,É’!ŇJ˛E$G—.[&ťČ¸Zú——W`ĽH:q;6—”ŔÚŃŃŁÇżřcńbäćĺ")!Q ĹTňNgcƸ–ˇ -FlĂ&‘IMI…ĂiI—¤™Â2±\]m­xß «xŹëoȻ͚…áCódR”űçŻŃZ ĚŘó‘óńn$ ÖhŞU5ŤF8šĹ˝—÷5Ţ7yáŤQ�í‹ţkBąűŠ=řJA8ďéüń*ĘKd’Ú"†±ăĆÉŰťĺĺ˙žuşWű$6óž©Ď˛¶4 lń7ho¬ĆÖ 69y;î¨xşOv,óv/ ëub¬ůg V$MV,_&; ü!ĂDü¶“|Đ6ĆMţŹ˝ď¸GÇBŤFłýŃßńL81ŠŻű%E$cL¨\xÁY8ű¬Ŕ˝ł˙} N9í|żÓYóŁ_ëR†RÁÎuGőWlŮR†@0©÷ť7b×]gt›ĆcúË/żâű~ůšâ|•Č;ó< šŹ&MŔ.»ě,ÝĂbccş­e1é\L\Ćíx÷í—üŠÄŽ?ńLą.Ü~ëő8č ý–˝ćş›Đ[ŘŘ@”ĆWĚŁcźŔ°Ô&K;ň»Jq“fű†ż±{⦅ĚUłÔĐĄ—^Ťf01ó3˝‰yŘéžBÉ˙˝ń6îO:Îö8m,´Ůťhl±âëÓwÄ^ĂRĐź,©hÁÎO˙ŽÄh b-ýź7EĹŔ—ż7~‚Ž9™™˛íJÇ*ŤFŁ F(ńL¸Ú‡LLL4-bhpżÚ˝§űŐaś†Wď~ţôę=îMPąşv0Ó„LoÄe„˝eeYŁÖjŘËaC eÄ€µ–erŘä+—Ł«µĂ‰âM[””‚Ö–f466HWş—Ą$§H—°ÜĽ<é(ĆOfł••˛—{Ž;VŚgŁ©©QţŃ…Ädvődc‹ĺüů dŹ=:ŃElÝşu;f âăĄŔ­¶¶ÆóĘ„őÖ#N4^î´ÓNňké’%9˛Pڒ󇏂µęŞJTUVb„hć{dńuËl&ŰdŻÎ”ÔTůYQŃŃb»]Nm­mhhjƆĄż ą) MâA QlÎĚâÇÔiŠű GT<bśvÄ&$Ŕ’” k’+ę-2ó>: ×h4Ť&0Ę+%%U ĚC&[R|NGTˇ‰ČüŤ‡ę^f˛Ĺ$¦ `ÖÁ¨^ű+ę7®ŹE îSę°‰Č;]üŃŮ;jk¸—Ő‰ĚjłzÄe$%%Mľę™ŤFŁŃ„Î'ź|T`¶ÓN“E>cŠ‹7ůśNŃÖ;ď~cŹ9˘Ű4:żStuúß.”ĄĆýŃŘŘ„sĎżgś~Î9ű´."1ŢŰ÷Řc9„ Ę_zů <đŕăËbĆ:7üű*żâ˛ożý1 ¸Śâ´}÷ÝÁřč“/ Ůú””l‘n]ä°ĂFCç7ŠËČn»…˙{ŁŃhz‡·Ë<MŘÎ2mň$Äţ˛C&ÁŢĐłŇŮ[¤h3Ĺë/,ÁW§îÝ ’Ń_¬«mMl6DÇngsb*bJ–cÚ.ĺ9ôv0ÓíSŤFŁŃl[čMDÔŘÉ^¦555h¨«FÂ·× aă—ęhAŚÍAMs´‹W+ÇĹ Úr+^ׇŁ"űxŚ(‚śě é8f6™E€¨hé,b C‹Ĺ,E›ErĎĺüĹé'M’ĺ'[[ŞDd ZŰZ‘—Okv/^ŚáÇ˲–Üî EŲgNNv6Ú;:ĐÜԌĤ™,¤ČĚ.6077W–Ő\±|92ł˛°ăNSŃŇŇŚŐ«WIˇťOŇ22& ‹‹6¸Ö¬V)Jٵ;Ĺu,íY]] ‹H–VWVÂ)âęö¶vŮ`𕙉 ›7 é˝bkcđńí¤«1ŰMĹó bÄŕăíĺʼn}ÚóoHŰ÷dŠeąŹę<xěDfZ€¦Ńh4 <˝bčŠa¤¤¤D&ÇŇŇŇĺk(o«n±ˇÎGĚ–(dŹß)CÇ bŮĎh«Ż@_—–Ťě »"6ŮŐŕęíLŠ{™żń@NfĆqŁ{Ym]Ťt‹5Âň*ŞG“FŁŃh4šĐX»nV¬X…‰Çűť‡÷W–śĽá?wřťçˇ‡źÂs÷í; Ôţ~Ń9¸çŢGćŠXNóÓĎľÂĹ?űď·OŻJťýôÓÜ{ߣXąjMHóźpÂŃň3}AqÚťw?xů㏒‚ş@Đ!—ŰĄŮú<óĚs2ödŁ7K+j4EEEň•.;,é¨Ńh¶.Şb Ű€†×}uăöę*‚'L6»y)±(mhÇîO-ÂŤsFâş˝‡Ł?XSÓ*×0c+”eűRR†8g+EÚÜnÎeŤFŁŃh¶=t‘zMHł>nll”ĺ.Íż?Ťä5ďÂložŁóŮŔÉĢa°»Äf'!!9Ťőubőhh¨GsK **+ĐÜÔ$}ą0×?|Ř‘ŘL•5Ţé0¶|Ů2ÄĆÄĘżi«“ť5«Wcó¦Í"‘:I‰I˛ˇŇn·ÉJŠŐXn“nh‹YĚ)ăű–( Z[ZŃ"†á#†K1×’ĹČĎŮqÇ©2)JÇ5›6‹yF [ŠáLrť+V,—"˛Úš¤§Ą!>.C‡ /7O:°ŃeÍä´ŁŮ’„ÚÔQŁ.OD1ťî/ŞűxY`GlG-’>ż ŤëćËžżÜf„p®B=ŤFŁŃl „’ÔRóÄÄD‹!Ć𸽽MŢ'ébI÷˛@NfF÷2“WIθä, ßőP Ůy.âŇriâÓr1tú\Ě<D–Ć$ˇ:‘éí2Fč^fł;<îÄd˛H÷ZUš+śó¬Ńh4ÍöÎű|tž#?yyą~§ł3Ţ>áw:j'žx B%0/»ü_řóѧŕ…˙ľ*r>U–Î|ýŤwe)ËsÎűgČⲽ÷Ţ—ýóżÓź{ţ~ÜcĆ“N<ÁřŕĂϤ«šfëđÎ;ď᫯ćá–[nÇ»ďľ/ß;âĂdĺŤfÆ"ů:mÚNAŢŤ¦ç„óĽÎNűlă™Ý$ÚH¬pŇĺlýł‰v˘Ľ”ÄÇFá˙>X]źúż–6ˇŻYQŐ—¶l+üă9m_<gl7SŐvtžFŁŃh4šmí`¦‰8ŢÎl´µ·"yĺ+@´xĎánDtv Ę8đ} Ş8Ţć´ 2¶�)I‹2!>.F4üƉiv¤ĄĄ":&C°ĆÄ 5- ĺe˛¬UuU†`ôčŃbÝNĐƉ†É´u´cÜřńňóč0ĆdÝŸ ńR�FkôńăĆɤB­hH¦ ¬pÔ(ąĺ[€–fş›%yŢ˙ő×…˛äćĐ!CŃÜŇŚ´ôtY“}zZşźM8I4L×J´ĘŞJąŁE‹mg)N&;Ú;ÄĂSÚŇ `-]!Ef4Jqš]Žnt0ă±QG–éIş›5,z Žń{ČőKez;“i§2ŤFŁŃhĂ^–l,¤ŔÜI‹U7ĄĄeRč•&’ść nYḒőfľäěabŽöĆj4lY‡Ć˛ °¶ö,i—¤ĽB$ؤ4Đ+°Y¸—9DPH÷˛Í»6đň<0î T&\ŁŃh4Ťo>úřsüóçË…?8íÔSŽĂíw<ŕwž7ßz¸fÎđíüsůĄŠMŤt( … Šq×Ýáî{ĆčQ#1mÚŽ(,ŽÜÜé0Oš›[PYYŤőаxń2¬Zµ6l×t±Ţ»î¸Áo™íu늤łZ ţrěHOOC0>řŕSh¶›6mĆM7ÝÚĺ˝±cÇࢋ·FCŠŠŠĺën»í ŤF30`» ]Ę÷ś2ď•,‡9%Žć: &ě˘'%Ö‚”üdü˛ľ3[„ëgÇż÷ľbuu««üÍVŔś(âˇÍËĹ9/Ďťěj4ŤFłíŁfš „ă^ćý7Ĺev»ÎŇ…iÚ'ËŻÓžËé”ńŐäzé"6k¶Y঩G]M5rłÓ‘ś’"ťEbc“ĐŃŃ!—©«©‘+?#+ŰŐűpdaˇuUVT E47ÔףpÔhYÖjÍš5HHL‰ÉdDEG#5-U–×ܰ~#ĆŤ‡qăƢNĚ_VV†‰'H·±Í%%rź†äçË[J‘d‚,ůÉé;î8őu (..’ë`˛3Ç]NsőŞU"á!Ëb˛ç/]ŃĹçs}„Ůě6ÄíŕöGeDŁşˇővń·Ř˙{§¸Ěnr‰Ëú5©ĂËă'ŢH\ń)Z®•‰Q:ŞůKŞsŁKej4Ťf{†÷:q f$))Ť 5ž÷[[[@W3ŠÄssó¶š{™ŻqşŚĺLČĂ.čhi@kM)ÚŞŃŃTk[#ěí"®r‰ĺXfÓ‹čřdÄ$¦Čň— ůwâ×ůD$—©¬¬”ÉYŠřŤ°SQçĚ:®Ńh4ŤĆ7,ŰřŮg_áŕçśďčŁÇK/żÍ›·řśÎÜËW^Ź×_}YYݦł‘ń¶[˙%]ăé2*ŚŐXĘ“C¤Ůgď=pç˙öŰřŮŢŢ«®ľmmm~×A±Űé§ť`üţű’Ő4‘‡9@^{¬FŔrkűďżţö·Ó¤ ®FC®ąćJ9h4šČ(çâkďůY*;..VšŚZřÖŹ8öĆ1źO9eÖÂÔ%?âzg Mwى9‘źť€ÚV+nřp >^[G‹éůI$µm6¬­mE4Ýśý»˙NŃŔgNËŨ•ďcôŢ{Ésç]îÜÍ7:—ŁŃh4ÍŔG Ě4=&Řç3)ǤcÔ¦o`1š-Ý.flv€N)¦˛Ů\Âłęz+âLXRSa·YQ]SŤäÄ$ŮÚ-*˘ĄH, éé°ZmŇĹbýşµ˛D%dIIIČČČ@Ey:¬ČĘΖźÇía˘sőęŐ3f4vĽ,3IAŘÎ;OGvVJKKQQQť¦N• ĽË–.“ĺ6óňňä>pß8ačĐLŮqG”‰ečHFĹ^cĆŚ•b8«ŐŠ&±~îCBB˘,gIw2şo°§-ťRęëęĐÔŇ„Žtcăp•Č´»Ź‘Ă-ĆsŘΗXk7/†#mŽü,î— ÂµhLŁŃh4ۡ$2ÍO±ßËÎÎé"0#Ą[¶Ŕ‘—+íţy/÷˝>ßă·!´eB™/&!±‰©žżą…]ĘüŤç÷ďK÷2E[[«ĎPěv0’••#Ď•·Ŕ,ܸGÇIŤFŁŮ^yňé¤űw# şľ_{ő?qŢ—ůť§şş×ţßMxäˇ;e>Âľwݵ—Š\Jyô™­Z.’%;Y3PÇĽoş «VŻ ¸ž‹.<[äšŇŚ'¸ iú–9sö•FŁŃh*GCgůĚĚ ĚoÄşö6˘H!“'Ľs?Î9ÝF7ł8 R†$cţ†:ěüŘo¸qÎH\·ĎpDŠ•U­(oč@ZB”ˇů¨źöźçF´gń\eeeĘsGt®EŁŃh4šm›­ă›Ş4„ÓPëÝpȢ'»µ1Ĺ_şäŚnç2éXfw §ś_­âµ©É‰´Ş%NHB^~>ňóňDo6rsr#~“’eŹS şč&Ö(^›1lřéF‘W}}ťŤe’̬,Ů•ÉM6·´4c§ťv’"µ_ţ*Ĺi3fĚĄ1—,Y‚ń9'MÂşuk±rĹJŚ7C†Á*±ľĆFWŔl‰˛Č ™d+W®ďŤ, ›Ő*·ŤËr^öÜ [ÚČ‘#ECh”ěAŮÚÖ†Žöv´¶´Čm·X˘‘–ś€ô¦Mhs¸ŽŐć>&p›ľ9Ý%DŐŕpő±ýö†Íq;ť_‡:MŁŃh4šm•ü˘[Ş«ÜQ׹­˝MÄ-N”–•uéikXßńPÝˌ㡸—yoC¨ ĽPƶ¦{Ź1K—·µut‹oL&‹L6ó\ąţÖ‰KŤFŁŃhÂ…e żůöÇ óí±Ç.Řwöžçů駸ů–{üNç˝ú¬3OÁ“OÜ'r:Ůčoč8v÷]7âŞ+.(.{ü‰çńŢű\פIăqě1‡#t.űţűźˇŃh4Ť&Ľçv¶«ÄÇÇaö.ÓżöXŇóÝ H”l Ť9yY ‹1ă˙Ţ[ŤÝźü”wujď)+«Z€V+˘L@˙î›Sž›„5?sµłl §<¦Îĺh4ŤF3xŃ3MŹE¸D§.‡ž•ˑаÁőŕp5š2|4ą^ŁŔŚCS;¤Č*căŻh߼Ť­˛Ô%KMÖŐŐaóćÍhjjDUU#ťĹŇÓÓQ-ŢcéÉÍ›7ÉňI…ŁFI÷°Ž¶vą Eg‹qÚoż.DG{‡𵋆ăĄK—"!>A,SÚÚZ¬_żC PXX(ÝÎJJJ°Ł—Ťšk׬•⹤Ä$)R:t(***±jĺJ¤‰†iľ7lŘ0)„cÉM~öĆŤĹű1˛Ç.lib{sĹvS4—’ť‡¤˛E/[«‰˝[\Ělîăb7ËTĎop\É´·6I§4%ě çÜi4ŤFł-n"355fswŽ-Ą%"ŽqHa{÷Ďđ=x»B[¦'ë×- a8™ő‡{Ymm ě;Š‹6ŔKT´t’Ó‰KŤFŁŃhzÇO>Ň|W]y±iâŤ7ßĂĂŹ<pž;OĹ{ďľ„3N?ɧŰY_Ŕ’o˝ůćî?;ŕ|oľő~Đ폎ŽÂż®»<¤mňÉtîEŁŃh4?ë,ÇrĆðsýbSĄ™ÓÝ"čß@žnů$ş™e IÄOëj0í‘…¸ő»Ťč-Ë+[dă‘»¦M˙í?Sś›ť‹sUŕłuO:Ej4ŤFŁřh™Ć/=M†©ĺ¤{™ÝÓć_`l§5ş–ßSC}+`ńfTk3Ƭ}KŢbĆčxYň’Ą† ‘®‚a°Ú¬Ň}lÓ¦ŤRFaW´hx?n<š›šP^V*>ŰŚÖ¶VčćĺćaÉŇ%¨ŤĂ“§ěh±> É”HŚëŁ-!1A:¦qĽĽ˘\NË/]˛ŐUŐbŮ)rY~®C4€675#++ ăÇOŔ–-Ą˛a”b8ŃŁG‰FĐx)$kh¨—g›ą˝bJKJPÝÔ†Ö ůűŰćqűnuş\Ě”Y×ÜůÂ!ľ±m‰cí˘>ă9đ×h4Ťf{'PR‹Î¤śžš–ŢÍ‹÷ÓúúzT¸€q…aŤ~Ç·Ž{™˙ű~oĆBťŻ7Ë´µ¶ÉN•ĺpřXQzz¦Üß@3ť¸Ôh4Ť&8Ë–­Ä×ßütľüü<üűú+ÎG°G{6ŕ<ڵ.ąř\Ľöę3řÓs–čě t^{áąGđŕ·uMŁ¸ě¦›ďF0¸Ýt0 ĆŠ•«ńĺWßBŁŃh4ší‘Ţ<Ź«edµ9†ĂQĽćä,™4–jčÓîťÜśŃeĆ5oŻÂO-ÂďeMč)Ë«šÁF%ŐVÔ›í yş8ć”,8ĹąŮWś#ž+ž3‰óŻŃh4Ťf`Ť&LBq/ă{mmm°u´"fĺëRʨśŚˇÄeîż=®\N—KW“UĚ.bI§¸:ÓjKóó=hÜçJtXâoq ¦şF:WTTTČň—,Ť9|řpąĽÍf“ĂŠĺË0zĚŮH/’ X˝zŤěI1y‡É0‰ذ~ň‡ ‘ërPśŐŃ.Ë%вÂ8‡("‹[ÉR—,‰9zĚX‘�5ańżcda!&í°tWkkm•Żuőu1b¸{mŮR"×±bů ą}---ČËËG»8. ńqč°9“śű†ź4˙)ŰZ`5»šŽ;ě@¬Ůu<&÷ Ž™ˇO ŽußÁ1~/yĚCqôŕůń°ű{ Óî°˘Őn…Ői‡Őa‡ÍÓŁIł=a˙˘LfD›-6YÄoE´řECŁŃl_đްÚ{~—p)VŢŻëj«»ÍOńxŞ6oÚ„ŃŁÇÂb1@÷2ăřŕr/cüURZ"Ç+«*áŤÉ…ÜÜ\yŽĽ¤ĂŤ_jĽŁă ŃqŤFŁé/nąő^ě2kş~‚`Ç^yĺ­€ó=úŘ3¨9›«Żş$ Ó×Ř1Łpç7 ¨hŁt?űř“/PYYŤŢ’’Ś˙´Žúóˇ! ÁEqÁśËČŢ{OúKĐů‡<¦|Őh4ŤFÓI8ů>ď'&&`âÄńöÖ—ř}ĎÂ^_)r*¶p7Śře`OgŰQjśh‡’„×TcÚ#ő¸aß‘ř—¡]4ý^Ţ sśĹKÖÇű'âsćL]ţ*&˝Ż<Wát,íO:?Ł!:?ŁŃh4ÝŃ3MDQ .ˇ—ÎćJ$µlp]i˛ŢĽ[ Ĺ\›I-Ó)>kłąJdĆFąDf˘‹–#Łů2”M>5{!!6A&*éFĆĆŚô ‘¬Drr ŞDcäĐ‚Ś=F6Rr>ş‰555a츱2ذa=˛˛˛Ą°Ě"_ş—ńłę––ŽŚŚ ´¶¶J—’üĽ<Y擢0‹ X‚“Ą!Xf“ď˙¶đWL0yůů˛ĚfşX~cq±üÜô´4ą“t5c‰LnOé–ŮBÜn3!1>IËßEňoo ­Ĺ†ń`%^­vq<LîҡÎÎçĄ+ă±19Ýg<V«?‡m˙ŠmňÄŚb±Á( ůF[+ší°;uâVă2č–{â{FęĹőa˘%ÉQńň!@ŁŃhˇîťl`ÍÉÉĆĘ•L\ڻͷą¤Dş¨–”lÂđa# 9·Čş—r2 ͽ̟ w%‹ČşĹĄĄ[Ä^:±vÍźËÍQňܨFđm%¶ŃqŤĆ×h4šţ˘¬¬O?ó".Ľŕ¬ ó^öĎ ĄëŮ’%ËÎ÷Úëď T¬÷ćŻ9–Ô€óŽ9—]z!ţqÉyřmŃbĚź˙«~Ăę5ëĐÜÜpYv®=z$fΆ]f팙3§#&&´Ćć|nşůĽ˙Á'Aç6l¨Ü—PâŽwŢýü±ŤFŁŃhcśůg5›!Cňq@a~ŰĽć”L8šjĐ™Ü~fjsrQŰjĹőď­Âű«ŞńÄ‘ă1-/ ˇđĂĆzl)oBZzĽáSmżt/çbó*0* C‡‘çŠřËU ¦ÜŤÎĎhĽŃůŤFŁéŽi|âŻ7I ÷2ă8“uňď źĂbî‘Éů—9˝Ţ3ąRE, »ĂĺĘe1ąÄVůÁčşJŚZđ�Ú–ˇ}ú)°'ŚEC]ť,QŐŃŢŽŚĚL±.‡HNÂn·ÉňUéééŇílÔŃČÎÉ‘fÉÉÉrŢŘŘąt2+/+CáčQY8RŠĚJKK1qŇD9ďŃL!YnnŽ,ÓÔÜÜ$–1‹$l˛łs°ăN;ɲ—7nÄčQŁÄ¶tH±™YěĚÚµkÄ6dČétŰŠ‰M|ĺbűę}¬Ő"fó]†‰"1›kźŁĹńę°u ËLnë2ş™QT¦\Ě8˘^“j6 Ąb=b†O–e9Y6´7ç~ ýě#RgmA~4š`đ!°A\+’Łâť�3¶ˇĄFŁ ťpzĘňĘĆIŠŃkŞËşMçzX.;5- UŐ•2p}FH«ďµăY BzőĚ˝Ě8ŢîeŐ5Ő҉uÓćM"ěžÄă9ĚÍÍ“ç&ś8g '2u\Ł ×h4šľâŮç^ơ‡üIŠ˝Á{đĂŢÓθ�ëל÷»ď~Â_Ž;wÜţoLť:Á`'= Ĺ8\pľë=:šmÚ\‚–ć´Ý>â‘€‚ˇů2OÓ“űüşuE¸ěŠ˙“ŻÁHOOĂ#݉ÔÔ” óÖ‹|Ň}÷?ŤFŁŃh¶wÂu—÷…ěŔ/îĂ;Lš„™ďżŹ…{]GC•Xą‡Ô`şł:Ý.}Ré¶04 ××búC pűŁqĹžă2ňěĺ€Ő!ŰŇ|¦sŚDjűĄ{Yf|wv8l/Ů™ km¨líÜŤÎĎhÂAçg4ÍöŽiúYÓfEüĆĎeĚßEěĎű,Egvxę>2~¤Đ»¦ą3VŤŠr ̤ JĽ:Äü ËľD܆ďa›8Íąű"}‡ŮbZ,-Ť¶áZ +(‰ĎénQ8Ş•ĺ¨ohđż(~cŔJ‘Ř#0vü8éP¶rĹ Lž<E>¸TUUˇşş&L”۶fíZ‘ČL@¦˛ąpb֮ـ#Gb‡É“Q^V*Ë`ĆuÄÁf·a̱hkoG›Í‰†v |ăZŚŠ®Aô˘×1dËb´7;ĐÁεbżĚĘš .‘Çĺá1{#C /ß6Ic8]‡­ř'8‡í€vń™Şá5‹Ů`s5kÁZŤňµ ±¦'đá°ÉÖŽ ě'E/#«Ńh¶müő”U'{~~~ž*Ä}ąű}‡±DbR2ĘË+Ťô´ ăÚ°{™s@ş—58­ŞŞMÍMhlhôźLŃňś°Üą÷ôÁŘ3VÇ5šŢ ăŤFI¬VnĽé.<ńř˝AŮřčĂwá”SĎGyEeŔyËDśtúß.ÂI'óĎ;CĆWáťť)‡HŃŃaĹsĎ˙O=ő‚ĚŐĺž{ôn‘7†P¸íŽűQWWŤFŁŃh4ľń•ń—›!4�(,‰ÇŻÁŻEżÁś6öş2ßĎýŘĐLąşçä$ ¦ĹŠ+ß\O×TăŢÇbÇ\ßnf‹+šńâü$dÄ…&ć‹Äö‹F>sF>LE‹Ä9ÉĂ(ŃöĆsäM Í@ĚŮčüڦ7čüŚFŁŮŃŢŤš Ő˝ĚjµĘňŽćJÄŐ,r]en‘”šËa(ăN]ά ľŐĺŕĹŃQť"*łZžnfâfťĽřcěđóµHüđ<$¬~ ›–˘±Í†‚QźŚ¤äTÔ7ÔcĺĘ•ŇE,?/ÍMMŇ٦ĆU2süřńŠŠÂď‹~“ŤĂ;St[şt©t<'¦łśćęŐ«Ą;YŽxoÝşuhin–s”HĽr>ŠĘV,[&¦çbذár‡â’2°Ş¸Í­mČ·T#Ý«ąôVäz-Ň7˙‡ÝSŚkźĚnáó¸ŇąMě”ű›IŁ5©Ç3Ě\Í%,s(8ş˝-{Oűv)îëmˇFŤµŐbĐAľ¦7đúáuÄëIŁŃl»ô&YĄ–Ą)++KÜ›cüÎ[S]%QévÚŘÔ€ĐÖď{<Ë„/ôîeŤMŤ(++•żŃ›6n‚?bbcĄĐźç† ćň:®ŃD×h4šH˛`á"<ńäó!ÍKÁ÷ŁŹŢŤśě¬ óÚívĽđßWqÄ‘'ă㏿€Ă±uJ ŃQíčcOĹC?˛¸ěÁnÇÄ ă ,Ťůᇟa{çő—_ćăĹ_ĆłĎ>Ź/ľř ÍÍú~¤Ńh4šČ ž÷ÍfłČÍdb„ńŘo˧0ĄfËÄ꫿­ 6ŃŘ“…ôü$|µĽ ÓYż¸‹J›şźů% řÓsżË6ˇÄK˙mŁh÷2Ąd‹sń™<'™™ňĎŮ`Cçg4‘@çg4Íö†v0ÓtŁ·â$ śĄb˘íípşŻ2µV©‡˘XŚB2‹OĽaóT6V;íTQdĺÖUI¤\oĐŃĚŢnEbŃŻ0˙Š´ô؆LGGŢX‡î†Ť Śž8 )YhhnDG›íbĺö¦fŽ’ëúő×_ĄČlę´iR4¶jĺJLś8QĽ7•¨­­Ĺ1cägŻ^µ ń ń2eŠěőşdÉŚY(‚ę(ĉ†Î‚ŃÉŘRŮ€ÚŞ2Ś– ”ĎÇä-ß!yůJD—/ąŐµoítnăń°zí\Â2ł׉ýkËŇ;w]ÄeN—әǙâsÚj7#&f l6˘ŁŁ=ç3\łänVŮŃ{4šHÁ^%´1ÎŽI†FŁŮ~T˘Á{dII‰6¬�‹×ű]ç–-[0dčP1O1F")1ąOÝËü9™!l÷˛Ŕ±^ą—57· TCłHR.[¶Ôoěa6GŁ `lěUÉËް5c×h"ŤŽk4M¤xü‰ç1męŽŘu×Aç3ş/<˙(Î=˙Rm :?ÝήĽú<öÄs8óo'ă ÷—ţúĆvóľţ^ ç–/_ňr™™é˛,ćĉăCšíş ¸ĺÖ{±˝°rĺ*\sÍ˙aŁWÇ€_|N66k4ŤFCüĺ`Âu1KJJÂhw0}"ć/ţ�uăçŔľeŤ«ai„»ĎŚEVN˘4Txđ«őxxA ¦IĆđÔ84vŘ0o}lvd§ÇÉ›ý‚Ă˱Hçŕ€éD»Ů(ynĽé‰{ŮÖĘŃčüŚ&ŇčüŚFŁŮ^Đ3MŹđ×@Ë÷Y˘‘'Kń'0Guöpđ´eşťĚd°lr‰ŞÚm˘‘¶Ć-¦2»JcŇŃËăÜŐąhç[¤ćŕüM ]ů5V $<ڬ´ˇp GGö°%ŹEł5c§±)Xşz ň†ŽŔä»ËmX±v­’Ť—Ś&«µŐŐ2d(b’2°ĄşQöĚ1~Šu-IÉüĽ\LŘa2lÍ5ظfĆICL]rkGLÍ*Ä,-AtS-˘)(ł QmŃn×6G×R—ÜW“ĂőĘŽĽf·Ł÷źĺŢZŚ ×•4Ő×7Úݶęt?éz&Vиé7 wŚ<J`6ŃAľ¦ŻŕuĹëKűÍöK°d'ť˛¤ŔlăF·Řý®§Ľ¬ yąy.‘ŮČQRĺűó|ŹŢĆĐ–éťĐ«gîeśĚBq/kmmAÉ–ٸüÇ‹č >Ěgň2­­Žk4}…Žk4M$ »Ř5×Ý×_}NЬ‚1dHžöaśáĺX¶l%BaÆb\{ÝÍxŕ'pđÁsqŘaJ±Z$ŮĽy >řđ3Ľ˙Á'Ř´©$¬e‡ ŠÇ˝CBšźeÓ/żâ_žŽ–Ű:,k~ÁG}˝Ë˝7FÄhééi˛üé@—566bß}ăgśq*Î?˙\h4ŤfđaĚŮĐa~Ô¨Q8|ŐçxÁ´źh㉇ÓĘ{ŻAĚ„Ŕ]éŰt»hLJŚ1#17m˘ÍjáĆz,´ÖČĆŁ¸¤¤%ÄÂfwôxýáMwÂ$Ž9g:Ü´Vś‹ąŇaŢłě t/ÓůM_ˇó3Ťf{@ Ě4]$ eб¬VěmµH)ť'Ż0'ŰdŤ ź—ĘäIŃ­«ˇ’Îg"9 °ď‰ąKk*§/ł{5fĂ{&·ËĽLŃ.g3łÍKŐ&Ű÷†XŁĐţu,L©é‘/2ŽĂŃbNBtJ†¶t ®Ł�ń1ńč°Ů`‰˛[>âě6jŞ�[+b¶X`ęhĆŽ-•ŰTGm’ś5ŐŢÓĘ&l®ívşKWÚ)»„e‡«Ölpd3+™wvî›Úż±ŽŞF`\žxĎášG• u˘ł´¨Z©…ĺC—˝ ŰÔŁd’“ 㾜˒;Y h'«|M_Âë‹×YFt"4ͶE ·˛P±X,HMMÁСCQR˛ŃuĎő?§˛ŞR$<łEŁé: >))©ýć^¨üdx"2µ>ßăw>–P*)Ů,Ž©KţX"´ý9“™D€7tč0qL“ĺ9é>Ý÷qhč¸FÓ×č¸FŁŃD‚ŞŞüăŇkńÄc÷ ...čü=űĚC¸í¶űđÖŰ Tčhöěs/Ëł]wť‰]v™Žť§O•.˛á@q×ďż/Ĺ/óĹĎż,”ne=‰gďłnşńZs„ó_×\{Ö­+ÂöÂgź}á—~řˇ¸úę+dçĆŢĆÝŤFŁŮľŐĹLŤ3&ˇ‹ŮĚ'á—ďźÁŞ=/„mÝ"—C{5ňEĄ FyşS6|±"!›Óeşt.ëŻí9ËČń˙ýCąçDy.Tśč/'Ş{ŮÖ@çg4}ŤÎĎh4šm-0ÓD ĺ^ĆWsŐbÄ8;P¶:\Żt/v:;ßfG‹–V·—Ął\¤GDć^…Wy¸R¸e ~-®ŕ[ą›Ń!ĚŮaŰcąĄqÎÍb¦H1ąJsćZ\‚7§[¤U`f€îZ?§ÉMw¦t^6»ŘĚîĎr¦ÍŘ kŘD“aűŚîeĆCŁDg|.ŕG°ü%]Ę:¬®ő¦ÄV«{Ü"6uLäzś®•ÄW-A{s­HđĺČdg(%'b™Ě&[›´“ ‡˛ĆjĽłô[,Ü´KËף¦ĄAźôřŚĎÝGNÁˇwÇĐÔh4 ^g1& ’˘‚7žh4šÁO¸IĚäädŚ1LЎ”óŞ/xĎ­««•Ť¬ĹĹE(Z€Ś.˝9ás<𶆿LOaýí^VW_‹ň˛róEaé˛e°Úl"Vňżt/ă9ŕąP ¶Ţ±:®Ńô:®Ńh4‘ŕ÷ß—ŕ˛+®Ç}÷ÜRN!.6˙ľţJě±Ç.¸ţß·ˇ©©áŔ“^|é5ůwnN6 GűűÓK‰ľ¸î––Ô74Šk“JKËĄX˝§PŔ~öY§âśłO «÷íw>€/żúŰ%%[<ăçž{–Ç90:—h4Ť¦ď‰Dç?EFFĆŹ‹ŞkpëšźŕČź�GŮW’ÂűŁôß˝˙Ű.ÚÔňF!Vó&fŠs0Nž‹HŃß1„ÎĎhú ťźŃh4Ű2Z`¦ ˙ ‡3)lÚňť~yz>¨n±–[Ĺ˙DŚ*Ef1Q.q•rń2su ËÜŠ,ą¬łsůbRŰä÷lšÓő™Ü;:EYP1¸^•pËónšĂ˝ť˛ł†ű}ĺ8frvn†RŚÉĎw˙­Dqę3=ă†ivtş–q9N™,{)Öec/Řěîu›]â3“©óH›8~I¦&XKçĂ™z<L”¶DźCěQŤµ%äůŕßúŐ řpĹâXŮ}NçđÍúßpÇĽqř{â_s˙&�´E­ĆŻ·„¨Xńµ×IqŤFÓ62fgg#//ee[@eµZQ[K‘Y&6mޫ͊ÜÜ|ĂÝÝČŽ{™Q8†năuN«ŞŞC•l¬ţý÷?DĚ(•&˙ ąfs ňó‡Črá4ř˘żă"×hú×h4šHđí·?â†˙Ü˙ÜpuČ÷ÎąűĎĆřqcpÓÍwK'±žBw3˝YG¨Lš4˙şîrůŹ<ú4^yĺ-loŘl6ϸ±4–FŁŃh4án@ľ˛L&Kaź°ĺ<cŢA4†¤ÁŮR"“/ĐxátŔ””.]Nhű#FĚ”ç@ņͽLçg4ýŤÎĎh4šm-0Ó%Ô^&ě1ÚŢŢkkŇ‹Ţv•ÇěĚ=ˇ‹ůąSśEńËd&Ć2YŐ)ëâú…®Î_®írÍÇ’›0tT1)ˇ\2*Ä”K‰Ńśîĺ•`«‹űŻł«X jĂsŠA»Öé ¦–UÇĂŮ]Tć)Ťiî•©mîň7\eBĄčNĽ˛ÓplŚŰiÍéˇY\Žj,+-Ž]t‚C{íĎč°ýI ĚŘÓ׳ÍĘd¤˛™u"čr"´kîĺßăĘŹFsGh˝NěN;Ţ^úŤ8¶Q¸ó ŃSöxř”ÔWČńĹ—ľ”ŘmßęöšŹĂË‹>•㯜t#v1Ů3­˛ą3ď?]Žď2|ĽzňMčo¦Ý{*j[dϡE˙x>¬ey˝ńşÓ–ĹͶ…żž˛á&1y/ť0a*DC§C$”éśěvjjŞeąĚ˛˛2Y˛zř°á°¸Ý?®{Y—9şŤ‡ę^ćĎÉŚťJËJŃŘĐ …bż.\$â$–Ĺôżs&xĹÄĆÉĘ<áĆ):® ×č¸FŁŃ "éôŃ[Ţ}ďcé vé?/ůľ:|xžxü^|üÉ—¸űî‡PQY…Hrr.Ľŕ,üĺŘ#|–ŕÄË/żÇ…ľŽy.şčüôÓ/ÝŢße—==ă{îą;î»ďî.Ó;::đŃGźŕ«Żćaőę5¨««—Ç=??»î: ÇwlP‘Ú7ß|+×±dÉRÔÖÖ!..Řgź˝püńARR’gŢçž{=ôh—ĺźyćy9qăĆŠs÷B·Ďŕvľ÷޲üçÚµkŃŇŇ*ŻűÉ“wŔ!‡ŚŮł÷öŰŃaÖ¬=d.ôěł˙†3Ď<oĽń–\WqńFůđŢ{oaČ|h4ÍöL¤b®'>>3fL—÷„˝ć?†ďwż ¶ŤËDى»Ť_śzzŘÓŮKÎHěůă]2k¦Oź*ĎA¤č-ÎĎ Lt~FŁŃhZ`¦ńĐ›@źËŇąC–Çl-G¬­v7Šş§ąŔL×®$—6‹X­µÍő>ÍX¦Ň»Tf÷/sç¸k#Đ©3u.ëpד”:4HM‰Ě”ĐMŠĎ ±´:&Ł+™[ĐÖMlf\]hjYą­f×vqßÔţ[Ü.f@Włxń팋bX6ÔÂQ®g%ą?îýٰ,NÄ&ŚO,ÄßÉ5ź˘˘ăR´·GÉDW¸ÉŇ­‰MÜP-Šźž˙núâ9ĎCIüŰ«p*Žš2Ó‡ŽG^r¦8ĆNli¨Ć|ń ůîňďđý†?äĽŮ‰ižőpŻţńÎu(ţ±×ńĐlźđşK‰ŠG”îń¦Ńh|@­ŃŁ eăX JQŚ8TWWÉłúúz¬j]…# ‘ ’ ٽ̟Ě7ˇ¸—±ŚUÉ–ŘDśhŢď “®eĘbş—Ť=Z{ę!;ĐqŤfkˇăŤF)^ř﫲,ĺu×^RąLĹA÷ÚM.˙ň˙Ţ1Ql=öĂqĆé'!##áBç˛$.¨¬YłW\q56mÚÜĺ} 8,_ľBбîąçNLťşS·ĺŰÚÚäň?ţřs—÷™w\±bĄŢzë<üđ(,‰žR^^Žüără©®®Á7ß|'‡ťwžŽ[o˝1h9°+ŻĽóć}ŤFŁŃ„N¸�9đ÷xçť§JWÍ’_žĹúY§Á¶áw‘cÖâÔÓĂî QQ#¦`¤8ƇO'Ź9ó\ʨ`°ą—éüŚfkˇó3Ťf[D Ě4ńť*ŹÉŢy˛<fŃGŇ]ËŮEće™:Egf·Đ,.HIäň®YEľČ%ł»SJĄ\ľT L˘„fD•ä”_ćNńrŻ5:Ť)q`І)×3sç:ä{¦NW4Ďľ;ÜëQu<»(ĘĐUef8 c PŹ�Í=DńóĹ#ŽK<šěr+Ł`O–ôtşśË˘ăÜ8vć8١DNŹn+CtÓz8¦Ëžqâ�÷4ďogłF[kHóŃ–ŘäŹÉ*Ŕí_€ť &t›wDzžŽÝi?¬¬,ĆĆÚ2Ě3CN»˙»WńÔüwĺřSżĽ;¨ýWţřW}řżfÎi8{×#  ^éş7‰Fł]n3::cÇŽAIÉŃŕŐ‚Řŕâíšš¤¦¦Áf·bíšŐČÍËC~n‚Y’őÖ˝,X™ĘPćëľLĎÜËjĹ1(Ż(1•UUŐXżľ( k™ÂdŽFrJŠ8ćŁĺ±ď2m� ÉüˇăšžŁăšŢŁăŤF)Ţzű×ÔâŽ;n@\llČË%&&ŕĽsOÇ©§‡×^/ü÷Ô`k””O8'źô¤ĄĄ"\ëşĺÖ{ńúďb{㪫®@ssłżë®{ńŰo‹äř /<ăťÄ***pŢyJÇ2BÖAýI:yQ8öË/ đć›oَˇQŠČŢzëµ.Ë“Űn»Ó#.ăňÇ{4† +Ë4ŕ»ď~Ŕ«Żľ.Ý…ą<]É/~řˇŘ}÷ÝĐŘŘsÎą@.KgµóĎ?WŽÇz]»\×é§ź%×ĂřrŻ˝öŔś9űJáaYY9Ţ˙Céśö믿IÚ“O>*ňt1đŇ~,źvÜq Ž8â0Ďľ¦§§AŁŃh4豋™w~†đovF«¬¬Â™˘!é¶_ ~Ě^°oZ.ÚFtsgD°Ű`6 )âŘž5)ŁFŤ”Çś—…Cçvt~¦çčüLďŃůŤFł­ˇ#.MŻQ˝G(f˛Y;Zň!L˘-Đ©lą ÎeRĽe‡:q%'í­®˛Ť-Ť±€Őć›ĹÇÁ#ţ’ËÄ[F‡0% óË ˛.Ngč•…e&t:“™ŚB6Nt—áôĚçžît»‰9ŤŰäč,e©ćUó]Ř`ÚqźŘŢjsşÄd,{É’ˇ"•šęŢĆNˇťEŚ›ÝÝÍLćÎmŁĐ,ŞúgX3w’e2)03ž«\&łŮŢtžŇĆj\ţáCž ź–ąOs5’c‚.;!{„Č›‹çá>č+Žž2ší^:Đ×h¶-"Yf*UÜ'Ož„źžŹč(sŔR™ŠĆĆŮĹr>eĄĄh¨ŻGAÁpŮČŮWîeĆńȸ—ů>~ÄjlP+++•ťŘđ¸|ůJŮ0má ±4¦ŮŤ)SvÇ|0ŁăÍÖDÇ5Ť&’|ýÍ8çśŕţűn [ ĹR×§ťz‚w}˙ĂĎx˙ýOđÍ·?’} ÝÜwŰm&=ř�Ě™łW—ÜH80žąćÚ›đĺWßb{dčĐ!žńńăÇyf÷ĺ˙ÁyëÎ;ďlüío§w™ľ÷Ţ{a‡&á_˙şAƇ,MyÔQGz¦S Ʋd÷Ýw•Ą7Ť1äĚ™3D#÷(Üxă-زĄü±3fě,m8pyËbrđĹr—qÝ7Ýt8`˙.Ó˙üç#pçť÷ŕµ×ŢŔ˛eËńúëo⤓Nđą.ŠËXňó˛Ëţ1¨:Ch4Í@ P@ós �™÷›ó×ŕîňUhĎGéj�DCÓ ě6‡ŚEŚ8¦ç§mF^ŢXy¬CËç L÷2˘ó3š­‰ÎĎh4šm -0ÓHzŰřJ›z»ÝSÓ&ĵn�(|r‹Ż śŔn1”[ŚĺqÓăĹ˝55É%0ăě-í®2’í.GŻ·“™\ĆÜ)Đň8€â[Š»TĽëq1sżFć“ĺ3 ˘/ĺT¦Dc*üőÁ�ĂFŁ‹#šqśč ÉRőîY( ł;;Emf·#›:D|ŤßČhq Äţ&cťír)“âą(׌f5łrvsP%CĹ|I_BUᩢ7 )))îýŘI®v‡¸†”5\�nűę´¸kßłI¨AľZ_ůŃ#ž‡…˝FMĂżö?ší^ĽcÍ:ˇŃl„ëbFFމŇŇ2oBR˘9¤äřt˝ŕý%¦Ö¬Y…¬Ě, 2ŻRSÓ˝Ě8X¨Ćý,Ż(G]mť«äąřű矊e!Ć!&ŃP+Žóp >×h¶6:®Ńh4‘fŃďKđ—ăÎŔí·]ŹiÓvD¸D‰„Ďě}öÝ«ľűî'üüËBü2˙7é 23Ó1kÖÎ5s:öŮ{dee 7¬]·—_ń/¬[WMhśqĆi8ě°CđŰożăOšësž<�·Ţz‡ď±ÜĄĆÚ‡+†Úe—Y>´é6jT!&LßÍí6*++ńÉ'źÉń“O>±›¸Ś0výç?/ĆO?ý,K}ţďŻúĺädă˙ř»—i4M�Âé�J~†ťůöŢ{O´´´â¬Ő?ŕˇćr á¨Ř Ú ˘ŤÍ8]Ćáă==ÝÝ®e·Â"Ž!šŞqVŰ(7VcŁ h¨Ą1Ńß÷KťźŃlmt~FŁŃlkh™&d•ǤS@ŃĄóevx˘RŹđË-¶Rj+ŹË-ĚbÇ’ä4i&Í(´jm¬vŔfb]ÓÔ§23ş»•ˇóoĆŽ·8Íá4żÜźĄ–ő8’ˇs[MJgPŹcQŁs™Ú'¸w_-gŘíNAś©łL¦Ó-6cµ-î7Ĺeq1,'!ĆS:]Ęŕż9ŤÇVmŁ©sśóĆŮ6ÁÔ^ G\˘˙müĂu*ë/głV{đŢËeŤŐř`ůrśµďo9đĽ°üŐUqţ[wÁć°ÉżÇgŤŔĂľQ˛Đžóř…X_]"푿9ďQ¬­ÚŚxó7-GmKňS˛pč¤=qŢ®G!!Ćwy‘¦ö<»ŕC|±f6Ô”˘ŐÖŽLq1Ě(Óf,_~˙:îţöĺ.ËßňŐsr Źu9ž°{—élY}Š—Ł´± qâË545»Ť‚żÍ:CR˛Ńli¨ÄsbżľY÷;67”Ë/ÂĚ8nWśĽóĎe}[^Xř1>\ń#ŠëJĹ÷%3Ĺq¸lö‰3‘‚סô5šm‹H•bŕ8]Řs“n ­-ÍHHčZ&Çß=“ďł O||‚ś^YU‰ÚşZ 2T4„f‰ű·GÖnÜ‚.Űb\—aÍ~ÇŤîeśĚzV]ĆąMuµµ¨¨¬p•KŹŽÂÚŐEŘĽYÄ#fsHe1I”¸Ą¤¦búôi]1ccťŽk:ŃqMwt\ŁŃhB‰O"éÄ)ĘĘ+pĆ™ÇEž…ÓO;±Ç÷č””drČr ›6•`ŮňUذˇEĹQT´ UUUhnn Ç-]–ŤŹŹ1X232¤(}äČa(9ă'ŚĹŃ…ďĽű‘,‹É|×@#”ăľ5ă§ěělżâ2â*A…ÖV VÄ]—Íň\űyäá"?ÖÝńaĘ”Éč)_~9Oć0ů9ǬßůčÄ{Č!á±Çž”"Ȣ˘bq˝Ťč6ß´iS=ĺB5ŤF>ˇ¸–yçg8đţ0{ö^˛cßŮkŢÇăąGĂś=ŽŠ"Ůŕäô4ŘŔ§7»žn.žÍ9#ശᜪ÷1fěhylyŚU®+AŮ@ĘăčüL':?ÓťźŃh4šđŃOżż„“Čt•Ç´"©â[)ňŻLťÇ nQ•{Ył[ÄăśY]b+ЬÚÚ›M:ó˘Ý.fqµR&÷}í•·`LĹĂfoQ›Ó,+a–Ç�ĚÔ)S/&%ŢB§ŕ¬‹` čt83u~¦:TŢe3ťĆu›:…e%0ĺz?Ę˝Ď,Ť+^č^–äŤÉuŮŃ)$ł¶;dA±×Wţ)¬ÉgÉd¨Q`Żs<P‚}«§¦ŞŢ^ú-ěîůö5 ł†OB8đAáÔ˙݆ö&ů7îçOř?¤ÄFŢžÖîpâçâĄ8őŐ˙ ÝÖůłˇf‹Î_Ăç«çăÍSnEbL×2|08éĺëQŢTďm˙`Ĺ÷r¸vżÓqÖ.‡Ł'Üńő‹xôÇ·<˝h·Źôňň xĺ÷ĎđřŃWaĎÂťI>[ý .~÷^´ZŰ»ĽĎ‡/üö1ž:öě[ŘmŮ Ő[äqÜX×Ů«ťëůbíü¸q ^;ůfDŠP®CŤFłín)ÂFÍ]wť…Żľúíí6ńw BĄ˝˝MܦÍHNJFk[+Š7cKéd‰F¸üÜ<qŹroGhëë­+YĎ×íz sµµ5¨®®‚Őj“-˘!xÁŻż‰Ę˛°ŚD‰@0&6N[ă`Š_üMëĎGÇ5.t\ŁăŤFłíA1ů}÷?† áú]ĽÜô–aÆĘÁteÜAaZ_SWWŹŰď|�~ř4˝‡ůB łŠ‹7˘ĽĽ\–µd™MşŘ›ÍÖeţôôté(öé§źKwł#Ź<sçî/cÄwś‚´´4ô–Ő«×ČWĆýííҡĚĆĎ+.ö-0ó%€Óh4Mwĺ\‚ĺgĽEf„gffbź}ö”ńÉ™ëŢŔS9GĂ,ťĚÖ/—,?˛˝LgYL:—u´ŕĚŠ·0~tˇ<¦<¶ˇËÂ)Ťą5Ú˘t~Ć…ÎĎčüŚFŁŃD -0Óô tČbŁ"Z¶ ˇú{Ńň*EuݤŘĘ-Úrš;…[F‡{)–r ąbR]˲L$ŰkŰÄĐnu ÍětďcŻ«ëů :Ć˝^Sçŕ4¸ÉÎ ĘaĚŮ)*“ۡśČ|ąŞ{o¸ĹkĘmMĆŔŻĺ”M-ăŢo“ayUS‰Ě¸<eĄ¸ŚB3),Kű•.ö/Ő˝Nă>DÄn^.fśćť‰c“Pý)ŞGś&’e]«`çsk άŽŕÖ‚ŤË<㞼½3Nő&Ůs‚$‹ŕţŮă®C^r&ú‚6[;ţůţČIĘŔ±;ÎAfB*—­Ă|%VVVážo˙‡˙3X$;Ä…sţ[wz‚ü™Ă&áĎSf#56ËĹüĎ-ř�Ím¸ő«ç1Ł`<¦ ŹąăfŠ–L …›WČĺĆe ÇŮ»!ÇwĘăY˙Kż}ŠG~|SŽł'Î!÷Ŕ.âa‰˝_®ýß­_$×˙÷wîĹ7ç?v/p»Î}óąüÜýÇÎÄŚaaŻ_®]E%«PÚP…Ó^ąźy˛;¸"Ů|Ćë7y‚|>:i/qŢ2°şr#>[5_>@´Ű; Bą5Íŕ#ŇĄrrr0cĆ4üüóÓXFH-Š–ÖDGE!!>MÍM(ݲ•ČÉÍENvn—R?Ď˝Ě ›HÜÖVWŁş¦Z&qąŤt‰]đ󯢸I:˛…OX˘bäŔr[tĽ ľ–±PŃqŤŽkt\ŁŃh" Ý=yß(üđĂ/8ü“¤“ŮßÎ811}×#?)©ď<Śq(*»óî‡P[[‡Ä`sÇŞŻŻÇkŻ˝ŻżţkÖ¬ő”Ľ4(>żîş«ĺ´Ď>űBž ®‹),‰ÝvŰGu¤O±W(ĐOńç?ňrj4Ť¦wô4?ăkáô!C†HA9Żčm<‘r�0d<ě[V3áŕý¬ÁÚ.¦‹çX˱0וâśĆĎ1Ö-.ă1ő%.ë¶Ž\Sˇó3:?Łó3ŤFY´ŔLÓë’ ěŤ(íí›Ö‰ĆR§ÇqË#®ňX†ą‡ű=ŁX”K”eŻQÉ.ZڏßĆŠüdfâ•6›ťnîˇÝőž3Ú%ز[ts—Î4»ćĄ ÍłĆÚŕ@ćŔˇÓUÍ3źA”&˙tçÄ”ÍS ®ň›Ćĺ”Č ť)·Ť_:‹ŰeŚB:n;_ŁéÎ&â›(–ĹŚu-ďP®eč* 󔵎/ŕ)*fÍ‹PŰQ [l˛±z 6Ŕ*lNGĐyVT{Ƨ‹ WQTS†Ď×ĚÇܱł02#ŻűşE@yŢŰw‰ĺ‹äßQâB{ô¨Ë1!{––­ÇűËżĂá;ěíłCO©j®Ă$±ľ×Oľ‰±.'–“İwáN¸@l ykÉ׸zÎ)b{\eŔ–mˇ•2a˙ęÉ7ŠëĂuU2(ß»p*Ž{ń:¤Ĺ'á73ЧM/›xxPţ1âÁ‚7_ŻűM\{Ů‹„˝6ćŚŮŮ3í´‡ŕ’÷îĹ;KżEMk˝ ÁŃ;î‹ŢÂŕţŠ–ŻüěÇŽąRś§™žéîq núâ9<5˙]T6×âˇŢŔż8Ó3ýéďK»fRš‹×˙z“ě¤ŕ>źňĘĐŇ™˛%ˇ\‡Ťfۢ'ĄČ1cd©ĚŐ«×Â,něq±ć°îłi9ÚŰʍ(466aKI‰›%'§ +3éé"ę;\ď­{Y e|ÍÇý¦xŚŽeŤMŤ"NqJÇ2»Ýß~[,Üęä=+×2b±D‹é8Ś7V ă°­ ă×č¸FŁŃ„C x„÷V‡¸ďŇ™Ľ•5tLô±gđŮç_áę«ţY3§c0˛bĺjÜ|Ë=XĽx"Ę•>Pś5Pň=«V­ĆE]"ădENN6FŤ*”ŤŐ…í´ÓޏęŞkQZZćstł˝ĺ–qę©•e2.üUşŽQ`ąaC‘^yĺ5śwŢŮ8ýôS.=͆ÓSŁŃh4áă+ň—“Qľ7lŘ0ě˝÷˛mä˘ÍóđdŰT4 ŰŽÍ+Ým'î2:Ľ>i;›î*3jĎę‰[ă,çďQ8{íµ‡<–ţÄeÁĘdÄö'ťźŃůťźŃh4šČ˘fš0îŢA>Š,Ź™°áX Ą˝ĄłłÓL Ę(¨˛¸CYS×A §(®’qŹUĽŠ!ĘÄşKeR4&…f–eÓ%"łs›u¸„[JĚeq‹Żş9^ˇ¶ĎcaćŢ÷ßžm5ŠÇř–ˇÜ§g}NđĚ0ŤŰEAY4<Njt-ciB&ö9*MĽR¸Ď7(Žł»ĹcĆu·ßPSŤ›ÜÎh|Ď"V×´Ö¤ˇňÝP"NOđŐ»-†‰±ČiŻţEµĄxX‰/ťtC—€ť×ëŐź<&{Iöd¸ýŕó=VĽg˝~«ě]ňÁŠńĂŹ#’\ąďÉž _Á€ýÁďßŔĘĘ"Ô¶6ČĂŇr]ű×Úč™oTćPOŻŘeřřů˘§zÜűĺÉcŻ–=jÖŐléŇĂDqř¤˝e OÖÖlF$żq9ÖW—Čń“§˙©Kݏrß“¤3íß]öţ5÷ Ďľż»ě[Ď|7tv— źĚ(óv= wű2"A(סFŁśô¦żygÎś!ď±7n†EÜěc˘Ma'Óě ÍHLHÎ$q54ÔËÁ˛±YbHGbR˛'ŚuŔás<T÷2ă¸?÷2şMĐa­ˇžŰÓŕqMáľ6‹¶… ~GSŁË±,\a1‹Ä[l|††ťwöÝ =ĹńĐqŤŽkt\ŁŃhá8uřšź‚n‡X†o  ĚëÖáĚł.Ć´©S¤›ŮŢ{ďŽÁŔę5ëđüóŻŕŁŹ?PîpިŚfs×{i¸qRÄU˙÷˙–â2nëé§ź"ťĆrssŃĆŹ'Â{ůňřć›ďđĆoI±×Ă?†1cF‹Ćđ=ĂZoV–ëţ› Ö÷%4ŤFÓż„“ź 6Ý(2>|8f϶ŕűďÄĄUkđÄęr”M8vŠĚ¶ÎĆź‹Ő¶ˇén§˰ńČ[ů)ÎÎm@vÖp). ä\,ŽhĄ1:?Łó3:?ŁŃh4‘Ĺ Ť¦0×Ńa…łŁ)őßHÜ"'U¶Qşl™\îdŽ)×-5ÍléH™ŁĹ*âÄ † :U É@ŚŹOaňHIRůš@»Yń~¬Ëé,&Ę5X %3‰rS#“ÁµĚ sŞW·óŁŹó™a=śÇăPfÜź+Ĺm&—Ł;šĆ‰}ŠŰť ö%1Ő5đo–`ŹËCľkźí"Îłą+1đřđxĐŤĚĄB§$&ŹĄ—™Ťűkę<ţ­Ĺ–żç>G˝łqí­Ë]¤°şľ Ö}µc×µ5⤗®Ç˛ň ž÷î˙ţ5ĽţGgÂ𒽎óôhnoőXł|¤ŮyčźďŹÉ.đŚW·t–X—=\îy{É×xyŃgŇ:ŘHo­•“b|ůí6+l^îů»ˇµ‘૵ =ă‡íŕ;ém‰ĆěQ.a~ÖV»2jÄřJwďźěÄtě3Ę·řŕĎSöFŁŃ„BO­ű•fÜ}÷Ý——††VŘl=o¤ËfłIˇťËčbĆűoee9V­Z‰Eż-ÄŠ˰ąd“,;dw—Ф{·ˇ±±eĺe˘ˇx­hÄ[†â"‘Ş­•ÓX´¤¤~đ9ľüü):ë)Kââ“ı˕eŽ«¬7č¸FÇ5ľĐqŤFŁń†t’™™…΢ߗŕÂż_‰SO;_4îţŚĘďb;/¸č ű—Óńţź hqÉĘr•čĄ2KJ¶`ýzWÜrě±GăĽóÎń+.cĚq"±6}ú4üăÇŁŹ>čy˙ŁŹ>A¸ĐMŤ47·H74ŤFŁŃô?á‘B:)áŮСC1gÎl ‚ËĆ81Ꮧa>Y4”$Á)î÷ŢÍ9žv!¶ĄéŚyDĂŹÉ„?ţ'ŹŃĐ!ůňĹeľŽo8‡:m  ó3:?ă ťźŃh4ßh3ŤOB)á’Ąn)˘Lí‘…cžr’—5$;4•‹—GÄep(–ë`)Ě6·f+N\¨ăŰÄ{-®iś`§s™ŐőęTe3ťťŻ]öÇk»ĄfĚŮU<¦ÄYfµ]nÁÜB2§×ňjş±¨Ů ô2ąŹ%Ú-sŞD¨)Ö5đo»Ř/›«ěbź-‰âýĂ6şŹ‰Sm#ĽÄdĆĎt Đ$âłëżB˝µ^ś§(Ůh­\ĚŚ ţú¸ÁTü¬ľ©®\ÎWŇP…é.[âGŽş'˝|˝ U°˙â‰˙–Aâýß˝ęYţ/;폋E Ż(k¬ńŚg&¤ Ň$ů©%źÓŮ»„őŕ âOťq0ž[ř!:ÄĹ}ÍÇŹâßź=…ÉyŁĄ5ó®#vŔ^…SŐ;7şÍőřbͬ,/Ćúšli¨Ǣ 6CřĐ~‚Ăó¤8ć…kBZ¦Ş©ăDŰI…áüL `#]š#{ěđÁ­·°ý 4Ť‹ž–ĘdCß>ű썯ľš‡ŞŞ¤¤$ !>=E†â÷8*Ę‚ôôtńYf´µ·ˇĄąYş›q(uϸŘ8ÄŠŤn,źe‰‚Ůb–=ňŘ ­śĹXĘŇ.î9Šqś6ţííbÝížW«µ« ťÎüüĘŠj,Zô‡řěąďféXÖó~*ŃŃb»’DciöŢ{/OĂąb[›é¸FÇ5 ×h4šŢŔ{"źăŰŰ;źź/Eç ÍÎżđr±Íy8čŔýpôQ‡aذˇŘšÔ×7ŕó/ľĆűď"·o0ÁăHwä8©ĄĄĹ3ÎRţřő×ßD\é»qqË–RĚźż@ ż(&óĹ”)“Eü+]ĚĽ…jˇźąs÷Ç<,ăů˙ýďU\sÍ•~çýí·E2ţž6m*’““ˇŃh4š­C çyăo?ßËÎΖ‚©ź~úg‹ÜĹ›ż>‚ď&ž$^Óŕ¬ÜŘYöĆH°‡Ćmaşx^7emT±Řsá#8zęq¬2e§ż”””ťË[ÎFçgt~Fˇó3ŤF´ŔLÓ+Xž==ăK?”B*Š›¤Ę-†ę" sżKM› -y{u‹Ąěí.7/µ Ý˝XBŇ']y/ń…"4w)IŠ´8Nq™S˝şß“ µn™GOf’{$Hg2s×íó¸Đ)(3:†)71UžR9´ń}).3¸¶ÉośĹ%8ă«t,«‡,óI,1b–T×tĺ¤ćŮ ««Üźg꺍ňsÜźíhCtă8ăgK1ŕ@.“%6Üę ÜkxTĆPč“›–{ýIą#ń҉7t öOÁ~‹µÍóđ°×¨i¸ĺŔsş¬ď×’Îäü¸¬áüßţg‡ŽT<=˙}ą řŰÉőâÓâ’qůě“pŇô?!\h‹|őGŹá›őżu{¨Š2[0&«�k«"cQ¬ŕů—ćWŔŢĐÖ™śNŽK¸LRtdý(“6öÔh¶uzS*ӟȌ÷×}÷ťŤŻżţU2`HLŚGoq%÷śŹ‹CRb˘LFP0ŢÚÖ*đ:Dc3ń‹‰H euu ˘Qo#VŻZ+b(‡«őVT¦°08ARrr"fÍšé)őĺĎ1Î߸Ô Tt\ăBÇ5:®Ńh4ţ µt¦ë~׌ńă'XcĄĄexćŮ—đěs/cú´qČ!`÷ÝfaČ<ô••Őřĺ—…řč“/D#ó‚ďT揉'É×Pcź­Őđ;tčwIW‡Ś‹Ź>úĎÝâG^7Üp“ßu|đÁ‡x≧ĺ8ťĆŽ8â°nó|řáÇR\FĆŚéę”ďŮŠŐ|AÝąs÷Ăgź}·ŢzcÇŽ‘ŽkŢĐ‘í˛Ë®DCC#ŇŇRńŃGď čřSŁŃhá–Ę %gCřSsćě‹ âńöčŐ˙ĹëqłĐ<rĄk>§™-Ř.`#YL,“°iŽmťŹiÓ QX83gÎ9­ŢËş{™ÎϸĐůťźŃh4šHˇfšĂdŤŐj…˝Ł µ_ąDSž‰nˇĹdJśev ¦·…S™˛ě5ÇąEXJ&îß‘Ă1'ŠĹi BA–Uü͸ĐŹšłÝ%ÖrŮýşÝÍěťgNgçg«ĎR8Ńą˝Ţ2׆vľxĘ{şK}ĘR–ŞĚ§ĹµŹQ™Ú1ľĺřąöz× Ek÷ęĹ>ZâŐ‡t~¦çX˙ör/“ëv‹Üŕv<3ł<gÍçhĘÜ mmm˘±;ÁŘZŽfŃâŔY${÷µ“ RÉ;ËľĹ1;ÎńLóöÚ;­‡'ćŚÄŁľLşşy{é7žńÝFNÁ@Ŕ".Ş‹ö<çîv$n^…_6.ĂŻ›Wʇ’–Ž6ü_űÉc‹ŽĹŃSf‡Ľ^:Őśôż{ęŇŹĘ*ëŇď?F<0ĺc´ř{iŮ:űßkIRY ÖÍ“Ç\ŤáéÁ R\ĺ?Râ;Ż×`ÖÉ í‘±VŽŢ^ Ť&dB™±±iżýćŕÇBqń&wB3 ‘BŢźÍ&DÇD#6.Vş›1p±Ů\ÎdV«lV÷8důLéTć~UŰ*×Ęd\Ô"búşŃřZ%ĐĘP^V!ä(&3ąEe&säb:—E‰űWAÁě˛Ë¬—y˘cĹ@oÜÓqŤ ×č¸FŁŃ„N ě´ÓNŇős0Ф¸/żţö‡cY3§ËaęÔ)ČĎĎŤH˘Ľ˘K–,ŤÉżá—ůżbýúb vxΧLqÝ׍ńO(ĺÜű›„„xŕ˛lĺ/ż,Ŕgś-bC†äKDz?ţXŚ÷Ţ{_Ć€騩©í¶ŽŁŽ:ŻĽňšuÝ|ómŇílĎ=÷Żęę|÷Ý÷ř⋯伓ü_ş,ĎăµĂ“Äu°_~9OŠÇĆŚ-ŻA®GqŐU—Ëí)/ŻŔí·ß%ĹfťŃ-®±± +V¬”â3%d;˙üsµ¸LŁŃhú€ľ™Q8µë®» ))IŽV®Ă›‹—ăŹńGЇJUŃŮ_a(#ă“Á4Ý)ĆĚ8‰üÁ”%/áčá±Č=&ŚÇäÉ;Čж,.#:?ăBçgt~FŁŃh"…mç„Z ÓL˛8"Po)Bś­RŠŁ<!ŁÉíŔe´Ýr‹»T;Ą uMťóË%H‹u•Ф[™šÇ!îăN«[ČĹ{1E]1ťB6©˙ŽsĎ·™˝S`ć4şšÄfjÜiÜNłK<¦Ę}ĘA ĎĚťď™ÝB3ąQťűˇ^&wĚ ·ÁéÚ6g›Kç`Ž* ťnob;˘DLdŠv;wŮP§áŞĂ)_Ťâ2ŁxĎ-t[ü–\˙;.C‡H౑9î#}A´)x€uĐ„ÝpëW˙…ÍaĂ÷ţđ Ě(č™îě“ü”,<{ÜuÝlço\ŽźŠ]e1b,Ń8lŇžH°>ün#&˰Vý}ßż‚G|KţýčOo†čW´Řäď]8 Ďw­ě=bÄćp Ňä'gyĆă˘b0>;ô;ąIžńĄĺëüŠ×U• ŐÚŽHĘu¨Ńh?‘L`ÇŮ µÇ»‹Ć®EXµj:¬vdf¤ôá˝—e0]Îb‘ĚŠuĆĘmqJ™#čxLl4RS’0lX>¦M›Ň2ĆńPçó^¦ˇľź}ú‘Ďiˇ2věxŚCRR˘ě™<ĐĐqMWt\ŁăŤFÓsxźŹŤŤ‘®KŁGŹÁęŐ«0ŘŮĽy‹Ţzűůw\l,Fچ‘#‡‹×ąŻě —Źx1$&¸î{­m,Ţ‚–ÖV)Ş®®Ĺ†˘bmæ.%·ĆŤŹśśÄĹĹŘ|Ž‘+®¸Tś‹b,_ľK—.“ŠĐnąĺFÜu×˝>fYYYbÚíç0ŠŐ8xCÚm·Ý,Żo.Ľđ<\pÁŲSě>"ßKLLŔĽyź{Ž!ăÇçž{ —_~µÜĆE‹~—7Śď˙ţ÷ ¤đMŁŃh4ýOoEfüÝßqÇ)ňľńÇKpfz=ć/Ćî„Ú‘»ÂQ[ gcµ—›Ů`݇ér[0%g”žŹŚ˘źqHűµÓ¤¦¦b§ť¦   Ŕµ¦>— $t~¦+:?Łó3ŤFÓ[´ŔLÓc\3b·|(]·Lng2—3<j()–R ąc_ŹKĺĆLťĺ'ˇ^“]B,“{š\ÔÚµě¦GěŐ):Łk—c9Üź§:'¸fpDgN÷ßîí4Öˇ4ąĹe0–żT3w‰K¸ËQzÜÉ8źÍ-$c©Î6xJx:áµţh÷źÎN1Ú(ĄS<&ç±ĂăXfVîdq™ç ş…oPîiâ5ĆÜ([…X&]–ÉdI©HĽlëm­f‡¤dăÉ{áÍĹóäß—đ Ţ?ý®.AĽ ö/xűů÷cG_%kĚaŻ+?zŘó÷“÷Fvb¶6Ü®Ĺ[ÖbIŮzś>ăÄEwöŽŤŤŠĆűśŚg|€6kŠkËĂZwI}…gü ‰»u ňÉ[Ö Ňě;zg<łŕ}9ÎŢ?{Ťšęsľ–Źě¤tL2Nî+IŹOĆ„ś‘XYQ„š–Ě[÷ćŚŮąŰ˛o.ť‡Ho¸ed5Mdé+‘“—3fě,EéŠPV^‹ě¬TŮ(¨‰ FqYrrrČËő§K«Žkt\ŁăŤFc$Ôrţ ('--M4NÝ&fŢ´‰üŇŞŐkĺ é ťëxîéÖŐú+˘KĚ3Ď<!Ýż>ýôslذ--­ČĘĘ”.2§ź~Ş,ĄéÓ§áťwŢŔkŻ˝~ ;p±\GJJ2FŚ˝öÚC–ßôçŇżóÎÓń䓏âé§ź•ń8—ĺĽt+ŁC™";;[në·ß~‡÷Ţű@lk‘ś‡kt]c9÷żüĺŃ?ŤFŁé;‚ĹI˝™ľOAUFF†@Ó‘rr]ľXúćĺě ۰ŕ¨Ţ ´Ô»‡pĘN‡¦„T3 UąűŠ}Ülž%&aäČ4i˘Ś+ŤÂ˛ľ— $ń™ÎĎčüŚÎĎh4MdŃ3MŹ`�J±’ÍÚŽ´Úy.Á•*‰©DbJeq ¤<Â3÷k‘™ÉĺŔĺTóđď8±l¬ËéK ŃÔ«ró@1—Ó°‹áY q–ç3Ýîe]ÜŐŕőžo;šĽ¦+l®Ňśňóm]ŇäjŤÎfčŠÜ'»Ë±ŤĄAa»Á°Ý¦Î÷Śâ3ăű÷2Kç¶Sp—PůšŻDkkë€ĹšŁaowîÍpŮŢ'âóU ¤ń†šRśţÚÍxî/×!1¶3ŮĘ`ŢąŹř\ľľ­ gľ~«Xv‹ü›VşWĚ>{ľůž[řˇo·uŕ’˝Žë2}Á¦2Č'©Ů]¦ĹY:… ¬yďM¦x°TĐúř„©s»LgoŚÇ~zţ5Ŕ<†Fb Đőm]-w9ĂÓr±±®o-ůZü˝c·0ß®_„żż{Żř;äĂÜ÷<łűË~Ä{Ë@ź\÷ÉăxýŻ7ahjŽgŮź‹—âéůď!đúău¨Ńh4¤7"32qâŮCöçźçŁĽ˘i©IHKOĹŕMSv§7 ĺ=Ĺá4cíşb$%§bÚ´©¨č¸FÇ5:®Ńh4ˇŞŕťĎń11ѲÄß_|ŽÚÚh¶}Řľë®»ÉsoĚĺl­rT—^z‰‚A…YüńÚk/\ĆÎ<ó 9ô„)S&ăľűî:;‡Ěž˝ŹÂeţü Ńh4šČĐW"3%¤â+…U!çććJ×ůŁSS0cÓ||µěüś»·x0ťGMI§ĐlĐŕr00%¤Áś‘ToĆ®Ëţ‹}sŁ1|ç±275~üx)6˛­‹ËÎĎčüŚÎĎh4MdŃ3MŹ ¸Ěnw ŞĄ‰+a˘y„r-{\9ąĹfp‹¦śN0J˝*™Q€Fq×kŚîˇ*>ő8žˇ«0Í(VSźeňšîů\“×6›Ń]fÜ/µśrBsď›ÇáŐä“Eun ť‚6§— MýMž™Őť,ťa,ŹÉéęł:gpc6·‹™GÇAÄ-ńMźŁŢv‰8oQ=vďč׏DK lmçˇőđ-ź‹‹Ţľ[§~—ăĐg/Ĺť‡^ÔŶŘ Żţřů€@LŢvđů˘ 9iÚźđâoźJ+ćűľ{‹·¬‘=/bŁb°´tŢZöµgŢSgÜeŮIy#=ă/˙ţ©|`Jډ“˝d&dŹŔ…;"AüÝŇц7…ʦ:Ě= ŃqXVľo.ů ńŃţŇĂŇ;ËNÜűí«X]ą sÇĎ’ëćĂRJl’|řZUQŚöFeĹ);‹HÖŢuŘĹ8ţĹëd éű÷ăőĹ_b·á“Ĺ4 ––­Ç§«~–ç’\°űŃž źś1óPĽöÇçňśmi¨ÄÜ'/––Őě´FlĂk`lć0Ô´6 ˛ą˝×źFŁŮľtÓ{“–sç EIÉ´´´#++]$5¦Ř;\zëĆŇS† +Ă@GÇ5:®ŃqŤFŁ ÷VľOg¨!C†b÷Ý÷Ŕ‡ľͶĎ{ě)WxîýĺcZ#®FŁŃh4=%R9bĚÓ(Ô{Ě'°Äňš5kĄCča­Ř§ř|łě[,Ě޶ˇŕl®S<łÉ†źzŻ•îfRr`y€¨Ęu±ě%ě“cAáÎ#¤ nÔ¨BŚ;ŃŃŃr˙C-‰Î{áLßZčüŚÎĎčüŚFŁŃD-0Óô ĚŚF7­�ěÝ-„rş„Va—ÁÍËdp�óÄĚčć(&ő^,“ŮâZݧä¦{şrH3yązy\Âśč"Ňň”Ţ4ˇ« ™ŻgUšŇ{>oAš˛™ş–GDfX§żŐd ŃXWyLuLfS×MíćXćO0§\ĚÜb·ŰZD·Á;Iž»ŘŘY¦+9*>h Oť¸‡´®˝ţÓ'e€Č đ®Á^…SeMűdď…6[Ęk°¨dŢZúŤ§ö=a0yĂgĘ q 06{x`ą—đ öżZ÷«Ľ9mĆ!8uç®ţ¸¬ár_>^ůÚmVĽđëGň}á ĆSbqËçáź"ĐfŔýÍúßä ČOĹ-ť‹łß¸Íç¶ń¸ŢýíËhnoĹĘĘ"9ŘśvąnrÜÔýđä/ďĘóÁŢ0Ń–hżÓ\ÄDEaÖ°‰xü«pÉ{÷ĘĺůŔĹÁ›‹öü Nšţ§.ďѶř™żüNyĺlŞ+—*ĘŞšĐ¦úţ#/ÁůoßŐë@ź×źFŁŮţč ‘Q3ˇG·‘Ő«×`ĹŠ•ŘRZ! “ť!3[C\f69ÄçZe©Ł††én1PŃqŤŽkt\ŁŃh" cŠüü\ě¶ŰnX¸p>ĘËĂ+_Ł\dgçH÷˛ĽĽyî5ŤFŁŮDŽĆ×{ŢB3 ®X.’błµk×Éö’Ń#;0·ä7ü´ü[,JŹŞü©˘m%ÎúJ ­Q6Ü8»8'>O­~¶;"Óťî¶#L É0Ąd‹v3+2KÇôâUŘmh†Í*”%@ą_cĆŚFrr˛gźCu- ç˝p¦oMt~Fçgt~FŁŃh"‡i†Áh[[v’7ż3ďŤ3ąŔLĘąĚŢ5Ôövď’%,Ť˘-÷¸rŞĺ4]CÓĹŞTőła>t ®ś>ÄiF”XĚdp3n“ÉÔuY“A0fB×e:WŘő=ĎźîRˇNăz ŰÉýî"ÇÎ’W)O§×ç9}Ę|m‹Éë}CÉL)dëŽkY„¶ä‰hoo°ł(qp’ŁâĐB°Ď^ ™ )¸úŁÇdň݆ßĺ ‡÷v1掛…Ćź'ď©ůcńô‚÷ńŁx0ˇí0çěÄtĚ>IZ űë1s˙á˙ĸě7đŽx¨)©Ż’˝DZmížéGNŢ…ůxěç·Ąíq]k“<†űŚžŽěuś˘Űýn{ŰĽ|âpűĽ°Ľ¬íöT7×{¦_ľĎÉŹŽĹ{ËľC‰Řćôř$l®/—=JČܱ3ńĺŮâĺEźÉŢ%âÁĽMl[NRvľě3%o´ĎĎć6pĆ]xnÁ‡řhĹOŘX_†ń Áĺh3=&«÷.6Ľî˘•őąFى$=qâ µˇl„ń˛‡ěŇĄKQZZŽ˘âRde¦!e3-7 ­ĺ`¶ic±eâ0věxylUÂt ˇă×řBÇ5ÍöK w˛PÜQ9ž––†QŁFá ÁóĎ?»UîĂšľ‡çúC“®#<çĆ[ăľţöľFŁŃh4‘žŠĚH°<ŤNc>aÚ´©ňž»~ý$&&bäđ6ŇĐ€ßÖĽŚ?Ú“±2}2Ú˛F‰äަ¦Z8[D•­KăO°¬WÓ)lłDÁźsRşh?ł#¶r=&”~‡©1M>v¸ŘŹ‰ŇŤŤy'îKjjŞg•cY(˘±žĆ=ÖĐůťźń…ÎĎh4MĎő®o qš)„WžKFď%őŞĺĹdń8Ť¶ćŽëʤxĂĘŞV v»]ľÚl6´¶¶ŔápF¬,ż@Ý×6)¬V+*+«`k.GÁ™Nő¶ęrcG§“— ]\˝$ę=u–®ng¦Îůť"žp¸]–¦4ű«)ç2/g3%ňę˛;ŢŰ`ÄK€ćÝ!ĹoUŞÓé5n؇nîgpí‹9 ť%F˝>ŻŰvš|Lô-Sß±_őŽ}Q3ćiů ‘ťÝµŽú@JJ:ÄŘÜZë±® á{ľ{o/ů6‡=༓Gí8—ís"r“2 ŃńxŤ‚řtńUŘÂÍ@`Ó¦Í0›Mâ^’€¨¨(y_°X,“U¤żâšŢ(Ů“Éßß,—ą|ů éŔĹăž–*îÍâZ¤`ŠÇŃ׫÷{j}G—ălü;”ń°L8Ťä—ŤCrrR7Y xĄż“ž:®Ńô7:®Ńh‚ł5㙞ÄŢăőőő7ďkĽűî»řá‡ďˇŮöŘkŻ˝q衇ażýö•n­Z`¦Ńh4o¶őü –#5® öžŃÝ«©©I[:Ĺ666ɶ°’-ĄXVR…Öd%ŤD}ć !Ő%2kk„ł˝E4šut:'ô60EÇŔ›Ä%‰‡˙( Ą©Őë0˛i&Ĺ4aŇL ’/ťŘÉÍÍ•çŽeµ˝÷©·e]\¦ĐůMŁó3MpB‰gB}î ÄÄDď—E©^ě^ŰÂINSÓđę=ŔĎß^˝Ç˝ zŁÔfš°a‰Eݰ–h'şąy©żUŮLuăkŁ`Ű„®3őjX§) ˛§Ł•€N—4ŻĎ6ţ6ţ6™;?ßéôŽy‹ŔŚűâ5ÝŁs˘KINďé]Ja÷˰˙¦810ŢŹA×ăŻőúúť4Ă·M›ń8š óŠs‘Ôř-ę­•°F ‘F|ř0ŘĘN@µµ9¤ůóS˛pç!âź{ŹŹWýŚďÖ˙Žő5%¨ii„Yś¤dń 61gv> GLŢgŔÔ˝× x˝é _ŁŃŁ'®#ęobt)(ŠśślY6săĆMhljFm]=2ŇÓÄűöíM8‚°Hb¶ÄČ!))qŔş—)t\Łéot\ŁŃlr1Ł#ĹäÉ; ˇˇ›7oFqq4Ű……ٰĎ>ł±ăŽ“Ă—i4ŤFł­Ń'3ďzĎ·ˇ@kâÄ ˛ĽdEE%JKKĄ«YáČ8ĐfCuu5Öoůë6v Čž‚˛ř|ÔĄŔ™š St<-ěá´‰, ’lV—Íaëňąž¶% Ç̢á&J4™EŁşhX‡Ă gG+L͵H/_Ľ¶2Ś0×ctJ4F ËEfć(ŮđÎ2™™ČĎĎ—ů%•G2:–©}ôu|By/ĐűˇNHčüڦżŃůŤFł­˘fš°a‰Eb*ţHĆżR¸ĺ-Ňň…·ĚŰiKMs»”u™Ź3ŢN€K·IŤ›ËťVtę9ÝË{4]n‘™G¤ĺ%â겹&ĺ2Ŕ"/ĽĆ;WlxŤrŚőcÜŻfřş)ŚÓ˝ť×| űĽ§[:Ç-‰v´oü qăŹî"0Ęߤ¨8t8í!Y+đź1óP9h4ˇB‹b^oŤFCBI^’`‰ĘPJ30ČĆa&-)2۰ˇ-­­X˝¦±±ŃČĚHGFFšt+¨;^}ÓéRÎ'$Äű— Ä䦎k4ý…Žk4šO8 ˇÖ1zôhé,üń'âůçźAYY4źěěsĚ_0nÜX†×h÷2ŤFŁŃl‹ô&Oăý~°÷Śăl;:t† ÉGKK ŞŞŞEěU)óyyyŘÍíČ^WW‡˛Ş(+oBYł Uö(Ô!M–x´F%ˇ]<źŮbES–‰Ú1‰ĹÄf"'˘:š+ňń¶f$Ů›‘†VdYlČKŚB^ZňĆg"5µĐăh'ţN‘Ői˛˛2E^$ˇŰö÷—°,Ôy:?Łé/t~FŁŃlËh™&$Ś<­“Ië¦EŔX1B‘—By9Źą†oń™÷{ęŐßb*·ČL’ŕšÇ¤>Ďh ×ß&+ş;“ÝÎĐősLAÄdť ˇkiNw»ŻIą†‹Ľz ˝Ľe€o÷7ătřů€·šÇąĚ{^~ľeš~[,f´˝—ţ~`ČN„Ýé@‹˝M_`‰‘×™FŁŃ Ą7Üްƿ‰ń=&Ů8räُxŁóWTÖĆb&/‘žž†´´”-6ë7Ä!¤ÜđáĂÂŽM¶fňSÇ5šľFÇ5Ͷ‡?3ő÷¬Y3eŁć‰'žŚ_|Đ ^XÚꤓţŠaÆbćĚÝâ>í^¦Ńh4ší•žćiü˝Hhć :q`‚ůš††ÔÖÖÉ8Śĺ)333±a~Uv´ĄĄmmŤh﨑ţívW‰‹Ĺ,l±1Ń2'”/]ÉĽďýěXGYZZšĚ ŃŮ466Öďö‡+ŰŢÄe ťźŃô5:?ŁŃh¶u´ŔLă“@A»zż¦¨(#)bČ=.đ }­Ę(Şň'Hóž7fźiň±-˝ů ďőôvxoŁ—¸Í§™ńXnőŻ%@í¦:do·‘ž’“ŚĘŽFěk"|^_ŤFă‹ŢĚH8=dt4ŁĐŚŽf,ą°ys ĘË+`łŰQV^…M›KE"1I‰ ˛ÇjzzŞL@noŕÇĘ‚Ž+|‰L#:®Ńô:®Ńh¶ Â)ĹqĆűí7źţN;íoxíµ˙ˇ¨¨šÁËb{ěqČËËÁľűΖç6A™śi4Ťf[§·"3JÇű}ď{,arrrät Çš››ŃÚÚ†¦¦&ńÚŠ¶¶6‘łč@ZZ*l6»4l Ű™1ŽŁŚ÷ű¨(‹§ä%×/ËtĆÇÇIQ…hĆmđ•[Ф€l[—)t~FÓWčüŚFŁŮĐ3MبŢż®ŽEz3ś'ES^……ĄâŁ]eă=!¦[ŕäůŰě5Í×<†éľ4V]ţćňĺĎőË{y§A«e.Ë^ú[Źş”Éô^·Q fpëňąŢ‚4ĂßNG÷ý÷É9Ťź)ćwX{`kŞŠ€bş¤ řĂÇ@‚ÁXŤµ9,ŰbŤ&´'Ö=H4M0ú˘‡l(ÉL&Yeeĺ(--EMM­LJ6·´ˇ±©ĹKÜIČ(wĎ×(ÄÄĆ!ĘböÄjLTöĺ˝~k Ö×®Y%_ÇŤ› _›ČLÇ5šH˘ăŤfđJŚáo^o‘#÷ß?Ě›÷5N>ů|÷Ý·řöŰoM§˛ížĂ™3gဠŐYR\ft&Qóx/Îú5ŤFŁŮV5OC")4SÓ|ÝW‹qHOG—u(3—ůqŠŠ’żöŰÔ‘Xo…eáĚ7ĐůM¤ŃůŤFł˝ fŰ9=Ilş¬zí¨7§aŐ ˇT\HfZűş^cšM.í“E•Źt ËL^Neť|Ŧ&Ł˘ĘÔ]ŐEŹĺµĽŻ÷MŢëđ“y­Ř×çuĂk^Ł ŚÓWiN_+4®ĂkÝF!šń3Ô<&S׿9gŘě®Á,ţ.©ďď•+glŽ' ĘbLđ·]Ó‰rMĎ0‰Ń şö˝FŁ ™H÷ 7™Iáذa˛$$§Ő×ףşşF:ś±g6›C íhmmK4÷s˛Šä:˙T±–%ŞçIÇ` ©cÇŽÁřńă‚.7PŃqŤ&č¸FŁŮ6 U¤nśFAťĚ~ţů;DaÔ¨ŃřčŁP^^ÍŔ%77t GĘXo×]wéćR⍯iZD¦Ńh4ší‰PŰł‚ĹOáĐŚÓŚÓÝ—UG�˝!RަZ\ćťźŃDťźŃh4ŰZ`¦ń‹ż@›.¬/źĐIŘüA 27"!0;Dc˘1Łc\b3ŠĚ,ĘÍŚĺĺ .»ÍýžA—ëó;˙PËy[&âÎN1—aU†ý0†™ŕ»r¦—˛«ËźŐe1ŠÉ…ßÎ@ĺô1ęěšqˇ¨č®3öf´‹vf«xµ›řjÂƬ»ëľ˛Ľ­–}nď�~H`p–‹:ěë^%špaď‘4ä›1pŻqŤF30‰DŮž”ađ~źCzzşFŹő˙íÝKŚ%×yđÓŹéáĚ3áđ!F˘‘dŠ Â@˘a… XÖ&Y&›l´ÉÂÁR+ŕ& 0Đ&l… c;’fĹ&m‡t$Ŕ!‘“!‡äLĎ«»ÓçöÔđLMUÝzߪ{? XU§ęŢéo߯«˙őťĹxśz!NĹpíÚţb*†¸§a8™~ádކx·ě˛ŹżÉÍCŞűGÓ7ŢřëĹxśRt®Ô5tˇ®ůkóGϲăq?“žţ‹‹÷ČÓ§O>ůdxĺ•WÂř?ÂĺË—ÓqńâĹđĹ/>ž}öWS_=őÔ/…Ď|ć©»ő^j¨?$ŔśU]©{^Q`¬Î±üńŞóşč#ôŐĄŽhsŢ\ą>C®Ď�›HŔlštZvçEścţSźűb¸ôwžZ|l!,–[ÇË~ĂŹŐÔ ő4-äóç?yĽ˙‰Ofq1łčřl/î8Îďž9.öŹ˙¨~püGô8(ŘŮÚçvöŽ‹ü3awk;�ýkó^2Ąş¦®&/‡†ˇěůΞ=»XĘΛŠ:˙ź4éȱ.7Ő54ˇ®á̡ž©š*3ŰŹb—ĎGąţüĎ_ =ô`řÜç>^{íµđgöżĂëŻ˙źEťńĹ.ňźţô/…gžůĺđôÓO/ę·ř}úěgź.˝FÓ4lŔfŰ”ë3©&Ý̢ŞpŮńe×gŠÎZ×ŕé¶ďçú M¸>Ăń{ď<MXŮĂ©]#N:g\«ĽĐąLŐçµiáł>ľÇe }ě±GĂG?ú·+Ďiňś«‹¶‡Ź ţ¸Ü8Ľön…[GáÖáA¸}\řkgĽybâř˙Ĺ©íťpjk'śŮ9Noź Ŕ0ÚüÁkęuM}t3+:V÷Îٲç-:ŻČuUŰ‹ŮMʵ ťMů˙7u yęǪ뙦]Ěę†Ěb`éWőůđÓźţ,ĽńĆáüůóáóź˙|¸víZřńŹ˙ďńňăĹô™qĘí«W?¸Űń”îvwwÝäÎť{0<ňČ#‹›3㔥źřÄ'ˇ˛xüÜąłá“źüäbZ̢®eQť˙7çt €álęő™L“żEu šĄÇ3cýíŞŻNc]l×gČs}ĆѦžauĚh}Q3NŃôĄ/ýÚÝń˘ç¨*˛u.k§éEÄu˙!‹9�cir‡l—»c‡¸ 9…š îĹî>ĆçH]@¦nČ,*űřÇź\„~ń‹·ÂĎ~öłđÖ[o‡ ~e15c×hş©ŞG¶··ĂăŹ?>ö±Ź…Ź|äń»ç¶ ’ąŘ�ZvĄéů]»–µ­©úľqŻÉ9]Î_W®Ď�@1ł¸· ‹Ű«żčWçBg6­j®ú9ëŁU±‹“�ôďĂ÷Śîż¦Q×4Ő$d­j†U×U}^ÄěÚ!�î5ŤzfYMŃäÚKY'’'žřČb‰Óc^ľ|ůxy'Ľ˙ţűáęŐ«áćÍ“îe‡‡‡µż:Í—‹A˛ŘĄlo/v1;zčˇpńâĂ‹®rqšĚŞçěëúŤş`“¸>“ę;h–žÓćy‡ŇWGł®ç@?şŐ3ŚOŔl˘ŞÂZQ<6Ö‹¬ě‚gÝ ťŮx¦íIąW›?Âu �ëoŮô ËŢ—¦R×ôĄÉ…Ë.Ałôxf*5űĐőʤę�šb=3TČ,Ë>¶pzě±ÇKž›ýúѶn.  ×gŞ-«­ŠÎŹ–=f Ćú{Ž€±u©gX-ł hRđf/¦xwiz÷ăĐCÓY4ÄÔN›¬ÎұBg�lžX{Duţ°•˝·×©/˛çîł®S›:njÓ0Ś©IÝŃÇQŐ9�¤¦ZĎ´ ™E˦ĚLÇ‹ŽĺŹçąfsŻ>»4ąŢG]Ŕzp}fąşˇ±˘Ç4y\5TďámźCý�ŔŞÔ­gRŢ·¦AŔlfb»ý8­ÁíŰŁúMBfŮxFײaµ –-;Vç8�›#ÖQ¬Eú˛Ęş¦OM/\Ö9żM żÉűvß,îłf`(s®gúşńŻéO˝ç6×g'łŞq�6“ë3őµ šĄŹkóآçB—çW[�°jCÔ3ŚCŔlfâ‹,ׯ_§Oď…>-»‹Ąęśľ:rPOÝ_�ş„Ë� kŹřŢŃ÷̡ęšU¨SKĺĎŹÚüq·k=5µ: ŹÚ¦Ëą�l†)×3C\“iŰąĚu›zúŞKş^»Qó�l×gšk4K›YUť´ĘNg�Đ·!ęĆ!`6Aewź¦/˛k×®… ·U¨şč٦#Gž ™'†ĽĹJ�šŠµG”]t¬;ĄĎÔëšľ­z†ąÔQmę µ �]M˝žé2ËŽE];—yĎíG×k3®Ý�PÄő™öşÍňĎ‘šr—ř!ž�şj[ϰzf—/úO^d!Üşuk17mß©Î:3ëś×ćĄEŹĄ>J¬9bí±łł}_íŃ´sĂuÍ*­j†®ďő]nCF s©gę†Ě˘¶7˙MĄÇşé«#k_ĎŔúq}¦]Ż˝T=ßT¨�ŞľęVCϹȿvvvcűűűaM.dŐ 5Ą ýhúumú &�dbÍßb ’ę#ř3t]łj]ęźUÔPůłlóció8�Č›S=ÓgP©Íu›U˝÷OY_Ł:çőő˝`=ą>ÓżuŞwÔn�ĚAźő ăÓÁl&bz3ŢI×;;;‹Tç•+ď…sçÎ…!Ôąc6=7ę»ăŦŢAŰ÷ϦĎç‡7�y±ćb ’µ,îr7ëŘuÍ4­—Şž#µnőR×:D@™ąŐ3uŻËÔ©1účXć=¶ąˇnôó˝�Ř\®Ď «ďÎfcP�07}×3ŚKŔlÂň ł;â ,.·oß7nܧOźCh2ËΡżÂ[aÜ^—N)�еF¬9Ňb?}żhұ!ZU]3}_¬\öµźęŃ!ju �ećZĎ4ąÎŇćÜ”i2»ă:ŚZ`łą>3®)‡ÍÔ�ĚU_ő «# 8U/”˘ÖîîI»âË—ß «ú¸Ş“.ŚŁë×Ü÷ €"±ÖHkŹLŐ{N“ccÖ5S3F˝”ŻË¦˛ ń9@™ą×3MŢçÚľß®úý|J†ţZ´yśZ�×gVg•uĐ&Ő`�¬ż6őLvśiĐÁl˘â‹$WDöŠiÎř˘‹éÎزřÚµýpöě™0”ěŰö.Ť˛Ľ»cŰ⏲�P$Ö±Öw“Äڣ莒̲â*uÍTĄ_?5R=j�ęX—z¦č߯óĚő…÷âúş|­|ťp}fzęĽ?/«żĽÇ°IúŞgX-Ě&.}QĺďR8uęÔbýöŰo‡ĂĂĂ0´!‚M–ćKßß�(k‹Xc¤5Gţý¨é{SŃcWU×LŮďýsçë@ëVĎtyT_Ś«ŹŻ·ď�‘ë3ó5ćßz�`ʆ¨gX ł™(*>łtgÜľtéRözđ}`™X[Ä÷ŠXkÄšŁĎ aS©kćbÓ/@şř @[ëZĎôńľčŹťÝ ő5ô}� ĺú �0wCÖ3ŚË™_8iËÜl?Ď^`±e`‹ ĎĂðż=\ąň^¸pá|Cú"7ŤÓ<řÁ @]±¦µĹîîÎÝ»IŠÚgŰů÷l.uÍÜ,{Oźkm¦V O›PĎ}Ś}>/ăňu Ďő�`îúŞgł™Čż¸ŇĺÔ©˝ă˘˙fx÷Ýw/ĚsçÎ…1 ›M—¸�4uőęŐEMď"‰5Ćť¦\׬ď˙�lşM«g\—™/u�e\ź�ćnŚz†q MLz×Hş_t7I|!fNî(9 —.ýżĹţŞŠý˛ż śĂňC€>Äb?Ö'O-jŤx'IÚ˛8Sçn’ą×5�Ŕülz=#l6}®á�°Śë3�ŔÜő]Ď0 f3Rô"ËZź¤>O…[·n-^¨·oß.\SáĹ�ÓvĺĘ•đî»Wî)öó­ŠűĽ›dÎu �0Mę™ňŹ/8[ ×Ä�hB=�ĚÝŘő ă0›ôn’L|ńĹ;G˛b”ÍY‹ýř‚˝qăFxôŃGď�Č;ąőRŘßżľ¨b=±»»»ŘN‹ý|áµ)üŐ5�@ßÔ3ő?î2Âgݸ @Wę�`îĆ®g_ÝďŇVÍc[5Ö[%űٲť¬łeçÎŘNn‰ÇÎÇőÍ›·~ÖHţÂ^ş_ŮXÜÎ/‹b?®ă9Ź?ţX8{öl��H]»v-ĽőÖŰw§@HŰç—ô.ÖLÝvĹę�`(ę�`îÔ3�ŔÜŤUĎĚŐŢŢ©/ŻbÁőŢťőAn9şł>L–Łdť_BÉ~Ő:żť·ôîCĚ&*»{¤hżč.’ücăřÍ›7ĹţŰo_ZĽ€/^Ľxŕt��6Űőë7ÂĺË—ł9ď÷ööîö}űę� oę�`îÔ3�ŔÜŤ]ϰZ:MXŃôËî(Éoßľ}{±Ä‚?Š/č‡ţ[áĚ™3ZŔ‰µÁţţ~xçťwď© b{⸤…~~;Ş*öËĆRę� +ő �0wę�`îV]ĎĚŃşt00›¸¦Ĺ~\Ç%kSśŤÇÄhú @ď.9wîÜâî’lî[iP�żěý?^ě‹wŹ\˝zuQ Di1kt®űř @¶=D±Ż®�ęRϨg�`îÔ3ę�»©Ö3s#`V|LŔl�ËŠý¬ ŹŇ»IňĹö @|ńgÇĘţŤl?ż�¦#+´óëüń(+ŕăĹ˝´°O‹űtť=>}Ž>Š}u �RϨg�`îÔ3ę�»9Ö3s˛.łÝŔäĹRľĐNÇň/ć´8ĎÎË ţ,-űXřźüńpw<{Îeľ_��`xËŠę|-p2¶řďÝ9ďóE|Zŕíçź·Żb_]�›I=Łž€ąSϨg�`îÖ©ža|f3QTx—űŮ 5˝‹$;žŽe?�2é'é�0mEu@Q±žöůsÓĹůB~Ů~ŰŹW]�dÔ3ę�;őŚz�ćnnő ă0›™´¸ĎöŁ´ŕĎ űěĹś÷ůÇg­Š‹ űt,mi �LKŃ|őEĹ~Qâ|ń_öŘTźĹľş�Ô3ę�;őŚz�ćnÎő ă0›ˇ|±źËżłrz§H\˛»HŇ⾨čOŰ�ÓQVśç‹úüxŃń:wŤ Qě«k�`ł©gÔ3�0węő �ĚÝ:Ô3 OŔl¦ňwŤ•˝Pó…}ŃsĄÇ€iK řt¬čř }u � žQĎ�ŔÜ©gÔ3�0wsŻg–€ŮĚĄ…{:ĺ ţ¸Žm‡ÓýŞ6ĹůwUŃď�č_Uˇ]v¬ěN’TÚć¸îóŤA]�ëG=Łž€ąSϨg�`î6­žafk ěN˘ń|Űâ˘EĹz�–Şâ>or·ČŞŢ÷Ő5�°™Ô3ę�;őŚz�ćnťęú'`¶FŠî*ÉĆŁ|Ńž/ş¤î‹Ýť$�Đż.EwŃť%EÇ›‹ş�ÖzF=�s§žQĎ�ŔÜmr=CĚÖLŮ]%UÇĘ~ ä¨óď�ăZVŘ—ťßôŘ*¨k�`3¨gÔ3�0węő �ĚÝ:×3ôCŔlM•ÝU’K-;oŮ‹ß]$�0ś®Exż¬šş�ćM=Łž€ąSϨg�`îÔ3t%`¶ĆŞî*):/Ó´p÷�¦Łéűň\ŢÇŐ5�°9Ô3ę�;őŚz�ćn]ëÚ«0‹•ź˙fŞnÁź??ĺn�ž.Ĺú\ }u �¬őLýóSę�őLýóSę�ŽM¬g¸G­ÂLł Ň´ŕ/z,�0oëňž®®€ÍĄžQĎ�ŔÜ©gÔ3�0wŢË7Ź€ŮJ_čî€ő·ÎEľş�6z�;ő �0wBe›mę3UčŔň?�ţ�0›Zŕ«k�`}¨gN¨g�`ľÔ3'Ô3�0_eŁ›tá¤÷XöÂ/�°z úzÔ5�0]ę™zÔ3�0]ę™zÔ3�0]ęš0Ł?`�€uˇ®�ćN=�Ěťz�`¶Ă0Ün���������0žA2[CĚ2‚f���������Ă4Ł5tŔ ��������€™Ú Ó§ ��������°Ž&źŤŇÁ ��������€Bf���������ZUŔ¬ik7Ód��������ëdŞÝ°Đ��������€)Y‹L“)2��������($`��������@ˇąĚŽjŽ��������¬ÚěóNcĚúü˘ĺ��������€©*ď4JvĘ™���������ZEŔL×1��������€ćFĎ^é`��������@ˇľfş“��������¬NŻ®Ý0m?1ˇ6��������`ŠÚd›ŽÂ„2QS™"ó(·=©/��������Ŕ€Š2S“ČOŤ0;Ş9–4��������ÖѲ|TÓĽUďVÝÁ¬î'{îMéĺ{Bh��������Ŕ”¤Ů¦˘ĺ°áó¬DłŁŽÇ›ţ[eá2!3��������` ОMEÓ`öőď´=ľT“€YÓěhŕăůó®��������€Ő˲LM3PCo}ţSdŐalńĽGG‡W��������ŔŠ%Y¦A3Sc3`–jó UŚý"���������¬Řť,SŐt}ć§5DŔ¬í'rTsÉź{×·nÝř›���������°bw˛LwłMˇ<ű´,'ŐTď!´Ut0;*Ř?Ş8ž—˙˘Çýđţűďż���������V,É2fť*äsTGÇG±Ş)23}|Âńy^}őŐ×��������ŔŠÝÉ2ĹlÔAčnôPYŞŻ€Ů˛ąB»|’eIĽ{R}/ľřâ_��������€K˛LESdfşL…™=>]—ďd+4łUóXŃvşÎooĺĆ·ďl§ë¸ěÜŮßÉ-玗Ýýý°łłý\���������XĂ—Ďś9ýŰÇ›·Ź—«á¤‹YşdťÍÇ´t½ˇ´4–ßN×UŰyµĂgM; Ůn­Îśˇů/T¶ÄoFxóÍźţI���������X‘$Ă3MEÝËęd¤†ÎiŐÖ×™M?نűËÄoĆá·żým3��������`eîdb'˛ŰąCCgŞ Ą5ť"łę1[%űůé2ëN•™-Ť¦Éüŕ«˙fooď×��������ŔnŢĽůG>xîwCőô‡áĂ)2Óé1Ë–P±BńT™EűËĆ őŮÁ¬î´¬Ý[“–péů·âú‡?üÁ ���������#»“]ş›e ĹY¨˛lTŃů!4›^sŮxcm:U=nkÉvŃş¬“Ův(ďb–v3ËֻᤋŮÎţţŤ?ŘŮŮ~.���������Śŕŕŕđĺ3gN˙v8éN»—Ýv*ËÖé’ď^–ďdJö‹ÖUۡĆx©>;ĺŐ+_Öú-lÇóoĆí?ýÓ?ţŹ��������`$w2K1Ç3LYö)„ňŔXş¤ç‡äÜ"MrYťőÝÁ,lYłŞí˘.fEťĚv‡ťĚ˛.fŰW®\ů—gÎśýj���������Đţţµď]¸pá_‡“ XÖ˝,ë\–ď^v”Ű^Ö˝¬h;]WmçMŞYË>±ŞfůăŮ7äzÜńĹ˙ýńz?��������� g˙NV)fbv) ”-Ë;OĎ+Ú]ŰfUŹÝ*Ů/ëfVÔą,ÝßĺÝĚŇ.féúĚń˛÷Ę+ŻüĆÓOö÷��������Ŕ�^{íŐo>űěłN¦ĆŚ ±˛FYé:ßÁ,íZ–Ž…°Ľ“YČmw™Zs©!fůc˦ÉĚÖEAłü’ź&sçÎcŇ€Y\âT™găŘĄK—˙Ĺůóýă���������ĐŁ÷Ţ{˙??účĹß'!±kádjĚtZĚ;§¦]ÍňAł˛ŽfUÓbŽ2=f4FŔ,ÝχÍĘ‚fe]ĚB¸ż{YY7ł˝ăĺ¸íÚţżÝÝÝýµ���������ĐŰ·o˙ÉŮłg~'ś„ÇâÔ±YYײüŐí^BńT›!Ôď^¶ěX©íĐ^›°ě*šg4żź+úÂÇńětóÎrđ•ŻüĆż:<<|%���������tłH1“N˛J1Łt+|.«Ę6eĘ2Q]CdeZ…ˢťĐÍ]ĚĘž'=gŮcă7fű'?ůÉí7ß|ó_ůĘoţňÖÖÖ�������� ….ű­ßúgżóÝď~÷Ýp,»ާŔ Év~jĚĘeˇáXëY•.Sd.{Ž­Šý­ŠuŐöv¸7\–NŤ™Ťí„ű§Ě<sĽěľđ ~ď{˙í÷L— ��������4§ĹüęWó›/˝ôŇq÷xŮ÷O‰™u1Ëw2; ĹAł°d»hťß.Ú_6^Ëł˘ce]̲uYŕ,ŰĎĚŠBfŰK ™=pĽśŠű—/żóĎ|đÁ���������jřŕţÓĹ‹˙»p‹ťË®‡űĂei¬,\– ˇ¸›Y( ˇÝ´™ťfۡ»>çô,ű˘dűE-⪾1i*0¦ă|§‡Çßčß˙«żúËß˝3��������Pf?fŤbć(śd‘b©¨sYY†)„ępYHöCč·Yçi3űU©JĘŐX—m§ßŠżAÉ:ŰŢżł>óĚ3řÍo~ă]żľ˙_��������@NĚĹŚQĚ…\ţ(Ü›KĘÖEá˛tĽí”m¦ĆěESdÖy®­ŰeSfm§ÓbfűéXvîNn|7śL™Ç·ľ˙ýď˙˝/|áůşłłý\���������6ÚÁÁáË?úŃţĂ—żüĺ˙N\1@§ÄĽîo‚•v&Kf!ÜßH«*XV7TV6 5ŹŐ¶Š€Y~«d¬Iŕ,0Ëöw’sÓ€Y6ľwĽśÎΉAłçžűű˙pooď×��������°QnŢĽůG/żü?ż›Ëâr#śL‹™ÍňɲńĘ»—…P/P¶lĘĚ&ÝË&0[ö|MBfUë:!ł4T–îçfŮń2ŰÍÎýú׿ţŘ׾öµđÄý’®f��������°ľb·˛ź˙üÍ?ţÎwľóß_|ńŷÇá±Ř­ěFř00–ĄťËsű!ô3%ćJĂeQßłeĎ9tČ,ż¤Ý̶Ăýˇł|-v4;•ڇ^xáˇo|ăźůÔ§>őÔůóç˙îŢŢéŹom…'¶¶¶/„“i6‡ř��������ýa«ëGG‡WŽŽÂĎoŢĽń7ď˝÷Ţ_żţúëů­o}ë/^zéĄ÷“ób(ěV8éX–ŤĺĂdi,:k3ćäÂeŃ”fé~ÓYŃXQ粢PYQ(-v8;ug˝–áňÇËľmľŢl��������¬ł6¨ŁŠńŁ’ý˛ŕÖÁťĺV(îP–źłhŠĚtżęßm.«ł_÷XcC…—şv1K·»„ÍňÁ±ЧÍ,;/[ď$KŃTś©íP¬lĽP��������›¨I8ę°ćxŃÔ•Ér{\Y7˛´YŐy!ô۱leá˛hČ ÓŘ!łl]6K»…pH¬(`¶µäů·so×îeÂe��������l˛ş!©ş]Ěsç—MY™ŽĄÇóÇňᲪço˛®Ú.ÚŻ{¬µÝ0śřoŐ<–îgźčV2ž®ó–OćÎOźc;s‹fůŹ=ś›Ž… `��������u4 …°Šf鱪€Yşźß.[Â’uU¬ęó¨ÚŻ{¬“1ÂLm;™Ąű}v5«»ä˙ÝíŰu>ŢeĚ��������Řd]fEc‡5¶óa°:Kýu+›d¸,+ĚÔ$d–ë.+ZÄęNŤYöĽË>ćüv!3��������6QÓpٲíeá®eSe¦ëtű¨§uŐvŐXťc˝3Č´ŐđxÝYŃXÓîfi@¬n§˛ŞŕŘVXś[FČ �������€MŇ$,UÄŞęüU5ufY¬¨cY›ő˛±üvŃ~hxĽc‡ú™ĄŰm‚gQYDzôXţxŮůe˙F(8��������4w´dĽ,ÔU'lVŐѬčߨ$«Űm-T쇆Ç{łŞ°S“)3ë„ÎÚv8˶óá±íŠóŞöCĹńPqn‚i��������¬“6!©ŞpY“îeEűŃaÁ9MĂcMş–ŐŮŻ{l« - ŮÍ,Ý®BŰ.yžíŠçŻ •ŤUŤ×%l�������Ŕu H-ë^V6V‹Ś÷Ů©l˛]ËRS*őÝÍ,Ýns|«ćă–}lecuŽu!|�������Ŕ* „jÚŮ«(ŔU' Ö¦Y“YťýşÇ7•0RÓ Ö˛©)óŰmşź5ylŃăĘÎ Ž��������Íş{…zÍňŰGˇ^@¬Ëu‚puŹŤbj§!»™ő±]'`Vg¬Î1��������ŕD×îeů±.a˛6ŰuöëŐNž.ÝĚňű]¶‹…ň„ٰ�������� ŁM«(PVgšĚŞc}ËĘĆęÝ”CQ}u3Ëď7ť^łí~ŮX“ă��������@ł)2ËĆšě· śµŮŻ{le¦ŘÁ,5T7ł&Çęě��������Ăé#`V46Dč¬hżl¬Î±•šzŔ,ę3d6Ä~“1�������� ąŁ–çô2kł_6VçŘĘÍ!`µ™jr•A˛:á24��������¨oČYŃŘĐÁ˛:ÇWn.łL×nfEc}ťłlĽîq�������� \ŰĐV›PYŰsĘĆę›”ą̢¦!ł˛ń¶Á˛6ăËŽ��������Í´ pŐď"[‹pY4Ç€YÔ¶KŘÓ^ŽŃ±L8 �������€uÔGŘjČŽfMĆŞĆëźśą̢>Cf}Ž/;Öçc��������`]µ c ŮŐ¬íxÝă“4ç€Y´ŐáśľcMbÂd��������Đ\“ÖQĎÇÚËęž3IsE]BfCks��������Đ\ÝđVßłeÇšś3Yë0Ë 4«sĽî9C>��������ÖA×PVÁŻŤ–eÖ)`őŐUl0™đ��������ô§i€kčĐY›ó&oÝfQßSWNu*L5��������ćděĐUßa°Ť —Eë0‹š„݆:·ŹÇ��������ĺÚ†ąš<n¨sga]fQ›Pל¦˝Z�������`NVľb:Í>3yë0ËŚ4ëűń��������@s]C^‚e9›0‹şľ† ‹ ˇ�������@}Cąş<ďZ‡Ë˘M E}şĂ��������`ľú …­}¸,Ú¤€Yf€Đ��������LĎ!°Ť–e61`–3&€��������ý3ěµQÁ˛Ě&Ě2Â_��������@™Ť –eĚî%l��������lt¨,%`VLĐ ��������6Ź`YŽ€Y=g��������°~Ę–0kOč ��������ćC¬łaź�������Ŕř„Čz&`¶>„Ú��������aŻ5 ”��������@ˇí����������Ě���������($`��������@!3��������� ��������PHŔ ��������€Bf���������0�������� Đ˙ĆŢ}•¬Á����IEND®B`‚������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/fullview.png��������������������������������������������������0000664�0000000�0000000�00003407262�15234476640�0022207�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��X�����©ĺ“�yIDATxśěý  ,gAć˙?UŐËYî9wËÍ@ 1(  înŚ #(Ű€(Šl"ă¨ ŚŠ ‚üu~ꀀöY„@` BHî–»ź­×ZţőľUŐ§şOď§űl÷űÁ˘»««Ş«»ëśHŢç<Ż+������������ôĺ ������������}°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`€‚°W8����������ěD‘°ë1(?|®����������€íD¨cÂŚŹĎ����������°ľ!áđ9����������ö2BčŽĎ����������p1#pŃ A;>�����������Ö´H(ŕ3�����������`uŘâblĺ{'Ä����������¦­ ?\”A‹‹qŕď™�����������`'›F(⢠Z\LÁ€I˝WÂ����������€˝`R‰‹"hq±„6ó>§őÔ�����������ŚcZ†Íwχ,.†AţqŢăf?Â����������€í´ŮŔĂ8űďéĹ^lE°b;??B����������°;mgaÔ×&h‘Ú«ôŁĽŻim;‰ý�����������Ƹˇ†Qö›Ö¶»Â^řö=m×v“Bh����������v§­ űz۵ݮ°×é'†ć8»i:����������ŔŢ5Ťi?˘M>?ęv;Ţ^ôßl(b;B“Ţ����������°·l6 0í0Ĺ$Žż+ě…ýi+6Ču;�����������6c­Óxn”mv¬Ý>řż™pŨë7óÜf¶���������� Ó(a…I‡&F]?ę6;ŇnčwJŹiŻôÜ$÷����������ě}ă„¶"81nĐbW†,vë ţ$Ă›Y×oý°Ďđ����������ěm“Śl&Ľ®ßúaźßqvăŔý8Íă†(¶»Ő����������€A¦ŮV1Í Ĺ® Yě¶A˙Q ă†(ĆŮfĐúaź����������`Ól¬Ô6˝Ö óÜŽ˛[űÇ -8~ĽŮuăl����������@§hĚmĆ]·Ůǽ֍ňü¶Ű ü›m­öăQÖŤł �����������™i†+¦ý¸×şažŰv;}€’áŠqźćń(ëFy����������€Ľqš &®÷ą~ë†yn[íäţQÂŁ<ŢîĐĹ(Ď����������7‰€Ĺ4“h·ćąmłř§ŐZ1ęýažë÷ü őž���������� Ó8Á„ΠĤă†.z­ćą-·Óř'ŐZ1­űٶX°�����������ŚbÔ@ u‘&˘T»Ĺ°Ďm©ť2Ŕż™ÖŠa‚› S ŰvŃą_Żm4Âó�����������äŤ2EH¤áť÷7ş§ ŁßşažŰ;a€š­ă<ď ąß sëµnç6Đ����������ě Ó l¶Ĺ" čč·Í¸A‹]Űf±ťńٶ;Ś;˝Ç 0EĆíq·Ďń‡i´Đë‡E����������v·Í†˘Ö;%H8Âú~ˇŠIO!˘źźŠí¨źtkŨëş%ş…**MU2É€ˇ ����������Ř›Ć ô X ššcŔEŘe›QCŁ4[ óxŘç¦b«í§ŮZ1J°˘W˘óůÎöŠ^‹Auy����������€ÍÔbŃ+ŕĐ/`öŮľ_“Ĺ4š-ş=ÖĎOĚVöO:\1J˘ßmgE>TŃëţ¸íŁ|Ţ1����������ŕâ4Jh ×” Ł´X„îGÚŘb1îí uť÷»=ÖĎOÄV âŹ2%HçşI)ň·Ý‚ť·ť ÎcĐ9wŢď‡p����������\܆ Ű 1(đĐŻ±˘ó6?šĐmżűýÖ óÜDlĹ@ţ(áŠ^Ź7˛čŐXŃoé|Ýa›-:÷ë¶®Â�����������cÔĹ –pűťA‹aisí˝Ö óxŘç6mÚů“ Wô - °č¶äŰ*ÜŽýú5Yô ^t>×í|!`����������06°Č÷ Xô Ht¶S„]î [ôş&\±#CMϸáŠI¶Uä×e!Š|Âí˛Ď°S…t1:źďDŔ����������0ŠQÝÖçźs:¶ď°Č¶Ëžş‡5"µ‡6zť“»ô|Ôĺ<m|˝Ţsżç6eZů[®¦µ"śp5¸Ő"ëĺ–^á uě§!×wCČ����������.nŁ„Â!×g!‰0÷|[ÂŽýúµU„Cl'iSSô»ßíń°ĎŤeůă†+ňŹ7ŞČîw†(Ü.ë»-˛@EQ롊AÁŹ^S†tçó&l����������‡qBýöé6%Ô;Č-šZ\t VtŢ{lÓďuÇ [ óxŘçF¶“ă†+µVt6N¸ę¶() VdëuăŤ7.Ľđ…/ü¦űÜç>߸¸¸xm©TľĆqtąă¸űă§gD�����������°;ŔA-ŠÂĄ(ŇÉFŁ~×ňňňWżň•Ż|éĹ/~ńß÷ľ÷­ä¶3! ´h¨w¨˘sšPŰ,&ŮhŃíń°ĎŤlŇá€í Wt›şŁŰt YCEţůrĽ˛mź˙üçůĄ_úĄď˝üň+ođ<÷Á����������`Ź ‚đă'O˙Ŕë_˙ú÷żôĄ/=­őđ„/uµ(ş5\t,:§‘vqČb’‹I…+˛űă†+ň­žşO’­7Ťĺl››nşéA~đCžP*•%�����������.RŤFăß>ţń˙˙ůČG~BëA˛hhcŔ"ŞŇC„ąE=dŃ-P±­!‹íX ş?ěT F>4‘=î6ý‡×±Ţ´Ṳëm°âˇ}ŘĎÓV����������Ŕ:ÓjńŃŹ~äorA  ¨)iµČ,őžFDÚ8ťČ8S‡ {żÓDž&cšStޮȇ,ĽÜăěľi¬3Źź÷Ľç]öŻ˙úŻĎľöÚë~Óuť«�����������ZĚXú=ďyĎÇ=űŮĎľ2Š˘/~ä#©Ć«‹éÓ&¸Đ9¦©}lżŰv‘ĆËô3Jna,“j°p†\żŮp…‘o¦č®p´1l‘-¦µÂL âÜrË-ŹąßýľńńýY����������€AŞ·ŢúĄ—\ýőďR’0Ó…6‹°Ç©÷T!öYô»íĽßíń őC›DŔbśöŠ^A‹^!‹náŠ|ČbP¸Â´Wp…IѸçÎť{Ćľ} O�����������Éęęę›:ř%‰¦’E áBQÇҲč¦č¬6`1čą\MŹ3ŕq~Ý ŔEţqżpE·€… W–ŠâŤ7޸ŻR©ţá �����������Ćłoßľ'™±w3ݤčŔŚÉ›±ůÎńú~cűť… R÷b©˙T!Ăd&ÂÓćL˘˝b©A†i­0·ť_X«ąâ)Oyʡżű»·ĽÚóĽ‡�����������ŚÍuÝoxâźômÇŹ˙Čg>󙺒1ú°c33Žu<Îôk“&\1NbSá‹Í&7ś!×÷{ó‚Fg˛Ą_[E>haÂĄn¸ań]ďz÷Ç_đ�����������&" Ă›÷¸Ç>ó˝ď}ďrü°ˇdş´0S†Dę>uH~za¦ é6mHţ¶ó~·ÇÖ´™€Ĺ4Ű+:»j[ô[˛pEIIŔ«TŞŻ, Ź�����������¨ đ?8;;űl%a °0A‹,dXŚÎ°…Ô=hˇŽuR÷°E·ÇĂ>ד«éf”nëşÍ·ŇmžicŁEAI¸Â=sćĚ3W�����������0žWxÄ™3瞡ő™& Ú8ľ/uź±"Ó-# Ťź9¸i,†ť6¤Űú^Vg‹Eç_ĚzÓ^áŢ|óÍ?°¸¸˙‰�����������Sł¸¸đD3FŻő'ň!Š|˘sV‹Î†şl'm.‹0žĆ3ěô Ýî÷š$ż×’}°^Ç}/÷Ľů˘ĘĎ}îs/ýÉźü©?Ťď�����������¦ęŇK/{H­V}ÇG?úŃŞÖ§�1Óqd™€ÎűŮí );úezm7ěń†6nbcR‹A!‹nő ť)—,`‘M 2oî/--ýîěěÜă�����������¶DµZyűţýűOI¸b-^üô~.ˇÚĂůűQÇýn!ŚÎűůŰ~÷; ul0é)B†­Ţč”2É/:C¦­Â}÷»ßý Â�����������l-3VoĆě•ĂW÷ńýAÓô›"¤_aőc™tĹ¸Ó Ó^Ńm~/w›µWxŐjýO=Ď}°�����������Ŕ– ‚đăłłĺ_WŇX‘µXdíť-ů&‹aZ,zµWŚÚb±% “Jx ›(É?ß-€‘…-˛öŠď$\����������Ŕö0cöfě^í-ťíť… ˝Śš-ÖČÇ™ä!›ť${ě ±M·íÍ—â|÷w?ě? �����������l›‡>ô»ŻÜXľĆĎôŰF}Z?˛I,qĆXźo«čL´l*äŮĎ~ö‘R©ô(����������€mS.—ż˙YĎzÖĄĘŤé«˙Ř˙ F‹©(™VŔbłŁ~�…xqőWő�����������Űî©O}ęĂ•ä ŁíąéLÁTBŁ,¦™üTď‘Ü9‹ý2®Ľňj�����������ě�ą1|3¦ß9Î/ —vNah٦D6«ß|(ůőÝ·ă6żŢ{Ä#±ĎóÜ ����������€]* C5›M»A`—(Šěb8ŽcĎóěR,íâşÓšŔb|f ˙‘Ź|äľ›nşiEÉŘ~¨ö±ţ0˝Ť´1tá¤ë;ĺ×÷Úf*&°4×Éf%˝š-ňşž˙üç“�����������ŘeL¨˘^ŻŰĹ÷ýľŰfa‹,Q«ŐěúBˇ rąl—ť¶xÎsţŰ7ÝtÓMźĐĆ2…Ľlݸa‰lßaBcŰę‹N“¨ňđĚqţÓúO÷�����������»„ IT*•VHb3L0Ă,kkkš™™ŃÜÜÜŽZ|ó7ă}ă›O*Űojs¶´±˘Óv,Í™2(tŃmŠ-,,\'�����������v¬0Ë4Ŕ†YLČÂ,ŰiqqáÚôn·±ţ°Ď®ťSHíáŠ-[L#`1n+…3äŇą­ýŠĹň5����������`3-«««§™ŕh4Ú·oźťBd;¤ců­±}őűď6}H·`Ű&ŔŘ®>qBNźőŽç9— ����������€Ş^ŻëÂ… [®Č×2Żi^{;xžgĆň;y“ĚLŐV,¦őíqÇÝ/�����������v jµŞ••móÚć¶šë:ŮXţT3[a”€Ĺ¨'ĺLůůÎíf����������Ŕc‚ kkkÚnć¶:dEQ6–?j`ZĎŹ˝ý$,&}ňŽŐmN–ü-�����������;‚™šc'„+2ć\¶xşncűťăţ“|ťqźh+§éfŘ7ŕjă‡Ü-d����������ŔŽŕűţ¶N Ň‹9'sn[¨W¸"[†Í.lk6`«ÎëňĎ]Tá‰~đCúá~‚]>ö±����������`wZ]]ŐNµĎmP>`ÔĽÁÄmwEĆé¸Ń+Ś÷Ľç&=˙ů/Ô©S§íňň—˙ˇ�����������»OĄRŮę–‘s3ç¸uË ěüŔN Xă†*öDĂ„+^ô˘ßW����������ě^aîÔđBsŽć\·Č¸y€“ tŔâ˘kť„ná Ďóô›żů ����������v—Ý®Čě¦sĂD3 ;©Áâ˘tÓMďß®p]W/|á ôG<\����������€ÝĂ4BÔj5íć\·°ĹbWŰŽ€-)®řťßyцpĹďüÎoë1Źy”�����������»K˝^×nłĎYŰ=(Ű‚p����������ě=› +<ć1Źł·GŽ\˘§?ý©zČCÜwű›oţ¬^óš?ŐÉ“'íăw˝ëí‡9çŮŮYˇż­j°drÄéXvÂ����������°÷©6|ß×fť>}Fż˙ű/Ńűß˙ÁžŰ|ęSźŇ _ř{­pĹfsޢiB¦5Ţż%Ůí"d3ś!×íX„+����������`oj6›ÚŚĹĹ…Ö}xřŁ?zµ>ň‘˙»a»˙÷Źë÷~ďĄńë5Zëöí›×flö܇°ëÇűw[ŔbW#\����������{×fC żđ ?ßöŘŚ-żěeزřčG?¦—Ľäĺmá ă§ú§´[°ŘőXlÂ����������°·ĺÇÇń?đhýĘŻü˘Çi;ćK_ú ;]ČG>ňQ{ż3 ńä'?Q?úŁOĐflöÜ/í ;ş6„p����������ě}“)<á Ź··Ż{ÝZë˛éBLđÂ÷ý¶íM¸Â,›5倅ÓŹ´ËmWŔbÔ@Ä®šw%ďüІp…çyzŃ‹~Gß˙ýŹ����������`o˘Éd˛Ĺ_ţĺ˙lł[�bRá cRç>¦q2[~Â{ĄÁbÇzŐ«ţp����������\&Rč˛Č›d¸ÂŘć€Ĺ®ŕ �����������ě8‡¶Ó‚t2ë.˝ô°µvCŔb×NbüÖo=Ó¶VdL›Ĺ‹^ôűzĎ{n����������`ďč†ׇ>ôa˝â¤0 7<gÚ&ţřŹ˙»ŢńŽwjR&yîăž‚v8,¦ěŹx¸^üâß۲řÝßý=˝óťď����������`oTHá}ďű€^ţňWÚ±ĺŚëşvÉĹźýŮ_čßţí=š„°Řń¦°ŕÝxă B&eôâż„����������ěů1áq}ŕŇ«^őÇmÍ&üđô§?UĎxĆŻ·…,Ě6“j˛Äąď�SÍ(4+:Üxă ń˙ž^řÂßmĄŚ˛…ń?đh����������v/Rh6›×?řaýá¶O b&Xń¨G}kÝk^ó§­m˛&‹ůůyÝpĂĂ5®=°ČĚB¤ cŠ-tăŤ4Y����������Ŕ^U,µů—Ż®0÷»5YĽţőoĐflöÜ/,¶ŘŤ7˛����������€˝hł!…łgϵîgÓ‚äĂ™n!‹üľă `1ŘNXěÉ©FnĽ‘����������ě5&đP(´Y‡Ňsźűl=ö±?Đs˛xÎsže·Ý,sÎů°Ć6ÚŃQNÎb˝3Ä­Óăq¶¸ąŰlńŇu^Çbž[4·ŤFóŁÚeŢ÷ľč…/ü]AĐZg.Úľđúx´�����������»KµZŐÚÚšv“ůůyÍÎÎjZJĄâCă3÷Érzt,Qzć–(wŰą¨Çă~·ť÷5Äú6L˛ŤnĽ‘& ����������ŘKĘĺ˛v›ÝxÎŰa؀ŞśŞc'¸ńĆô˘ýΆĹüÁKőÁ~H����������€ÝĂĚZ033ŁÝÂśë™d; •‰ Ábřţď䆅™6äŐŻ~Ť�����������»ËÜÜśv‹Ýt®ŰŤ€ĹŃ-d����������Ř}L#Än.s¤˝bxaÇ0!‹R©¨W˝ęŹĺ8Žž÷Ľç����������°űđBŁŃďűÚ‰ …í#j‘Ű9]î÷»uz<Î7w›-^şÎëXĚs‹ć¶Ńh~T�����������ě&\qáÂíD°!‹­P*ß„ń˛śŢK”ކą%ĘÝv.ęń¸ßmçýNýžłčú�����������` L€aaaA;Ť9§­ Wě%,�����������’rą¬ůůyíć\Ě9atDR�����������˘ŮŮY{»¶¶¦ídÂŮą`t,�����������2lp]W+++ÚfZš+6‡€�����������[Ŕ<ĎÓęęŞ|ß×V( Ú·oź˝Ĺćđ ����������°ELĐáŔŞT*v™¦ąą9»`2X�����������°ĹLđaffƆ,jµš&É×ßLI‚É!`����������Ŕ603}‡ CÔëu»Ś;uiĆ0S…`Ĺt°�����������`™@Äěě¬]Â0TłŮ´Kv‰˘Č.†ă8vń<Ď.ĹbŃ.„*¦Ź€�����������;„ JdMŘY°������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������ `�����������0� �����������€X������������ @Ŕ�����������`�������������°������������€€�����������Ŕ�,������������(�v¨(Š4*Çqět\Ű���������» �;Ć8ÎŽÁ 4v®m��������€ÝŹ€€m5‰çaŹĎ€4¶Ę´ŻëÎ×ŕÚ��������>�¶ĹV @÷{M¤1 Űq]ç_—ë��������`zX�ŘrŰ5Ýë”Ćfě„ë9cÎ…ë��������`:X�Ř2;i :o/ţő˙¤?kí7âz��������¸¸°�°%63=ěľ›PŢMÓ[=¸ßďő.¶üI}öÓľ®ił���������,�¦nÔéq°;÷ŰĚŔôföź„ťÚŽĐMŻsÝkű›ýN¶ăş&d��������09,�LŐ(Ę“l6(±A‹Ý¤U·÷¶ű·+X1čxĂ~–„,���������&€€©v`yÚ!üńÇhŢěţťÇ¸í–ĐĹN Uô{Ťa>?B���������›GŔŔ¶ę7mžËžĎßĎ3Ćůe×ŰĚ@ónJ sîŰ1ßVň|&őÝŽ,Ę/ťň×tżë›đ��������ŔÖ ``* 2ó| ĂĐ.ݡłAg×u[Ë0A‹­úc+M2ô1čX[ý™í¦@˨ÁŠěÚöúö<ŻoČ"ۧßëÄ��������� �·™p…lö@µşŻ•Z µxY­ůjřˇšA¤ 4űFrWEĎQąčjߌ§ů™‚âŰ™rA^.l1č<vŰ€óvvË[mď% Uń˛™ë»ŕyöúîő„,���������¦€€Ă >7}_ŐjMgVşó\ cBťX uľ*­Ő#5‚dŰ’'Í—ś•®XttŐO÷8\Đ% EÍÎΨDŢ­λĄ˝ˇ[óÂĹdŘ@‘ą5ᡉ\ß…BĎ���������¦€€‰·˝˘ŃlĆ‹ŻĄµ†Nśočëgęşăl<�˝,ť^sµT÷Tó=5ĂdđľčFš)„Z,:ąčôŠŁ W÷ĽdV—´ľ¤R±`˘Mź°SB[9ŐǰĆů\ňŻ˝×Ăý>çüs&8Ôíú>ş”\ßËŤî×÷ţ˛ąľĂřúnv˝ľKĹb×ץĹ��������`ňX�Ř2˝ŁMs…|>ż\Ńí§şůx¨Żž‘N­¸Zm¸ŞŽ‚ČU¨xIĹŃ~CŞ6Ą 5GÇWBÝqŢŃ˝/ÔőŔ«}Ý믋sv:…l0ąßŔň Ć4l6± ˝^cŘĎi/‡-† Wű›ąľĎW“ëűëÝ«ËőÝ­É‚��������Ŕä°�°­‚ °Ýaµ®ŻŢ]Ó˙;ŃĐNx:ş\PŐ÷äGݧAâč@žš‘§Z(­ůˇ–jÍ@%5lhă:׋ Ý¶é¶űŻű7ŠŘІ‹i'öRŘbŘpE6íMţúţüqOÇVĆ»ľ« s}77\ßžç ���������ÓEŔŔÄ ;čś_ç*•ŠŽť­é3ÇBýż“žŽŻ¸vđ9†„7ŰVšžýKĹÓő(Đl©¦ąb¤ůůy•rĺżŐ!‹q“ŢŻłUˇ›ě}wŢűzن-vcĐb”ë<»ľŹž©éÓGC}ńîÉ]ßsĺőëŰ:?ËAŤ-4\���������چ€€maxÍ_áWkMť^nęŽÓ5}őŚi®đâÁç‚ĹĆńv×Q)ţMU*8ń}ĹÉÉ pFňă±ć†ĹK<�šżřw´Ú,ęčJ ’ç명ŞĚąr˝fkŞł×ÎÂóýůPÁ0Ó‰äŹÓm˙~ď˝Űţ™AßŮ>ćóThŰ6ţ̢tóXć©ÖnNňŮš˙‹ë˝lŔľă}ĺo»˝˙üç6Ęç— űţű}ţÓÚżóÚéőýeĎ™ëűÔRcŠ×·×şľ»…,���������09,�L]·°ŕ÷}_ËU_wžkꎳ‘N­Hµ  0H6ĂÄf°x¦ččđ>×%g;mÔăç•Z¤ •PgWCUö…쾦ŕÔjS_‹ŹypŢ×ěLSłĺ‚ …Bë|Ěë›éI˛@€YĽtZę˛ČÎłýÍm¶żŮ7äî.Čďo–^ŻßkßÎ×϶ϰ·mŹÎ‡f*–FSQ|żŮŚoĂřµýô{q˛ý=yE7^Š*–’iUÜôś:ß—9nöúŮsÝ>żÎ÷Ňďó3űgS] űůuîßďóŰěţ˝>˙lŰüţ¶ťĹ^ßÍřúöőős‘NŻNţú>´Ż©™r|ŤÇKˇËT!4U���������L �Ű"€^‰GŽďŠ Ź-KkMW~” P›żě7ĎfŕůŇĎB/θöŻýŤş/í+‡*yŽýë~ĹCϵ¦ě_ýű‘ůKWÇ–9ďëŠ šOA©ďĽV‹_;^ęÍ$P.ÄÇź-h>^ćƕЅ !sżŃô[ű›pH­ôÝżó=gűŻĆďćőkŤ$ 1Stµ0Óľ·Ď,˙ú+µŔľľŻ/8ˇć ‘J äEˇI°Ř`… S~`~|ߏ÷ýŔ6$ił°oÎ.&LáÄź{±\´! Ż Řâ˝\.Ĺ·E9ńăŔqUł€P ?;ŻçűĎl:?żz3ěúů•Íkőůüí?čóu˙,XŃ{§íűóâĎŃ|öËkÍ©^ß—Úë»ďż1\��������€É"``"úM‰Ńm۬áÂj]GĎ:˝ć©¸­mĚ@łt6Ď—ď÷ěŕs!?NgP°ămâĺ˘ç´ź^ ä7’盡3„Ž —/kČ÷K6`QmFşű|UÇ/řşkÉŃrݵ ‹Ą@×ěočŞ]vpÖ{é´"FÖX°Zmčäąl ˝(1űw}ßîĺ‚.=0ŁEGö7Żżʞß}ľżŻ¦Ž.;Z©;6`1Żš®(®jżŞš âˇ^WĐhŞo6}ůÍ$Ta–HŽ V%Lę+’u¦ÉÁ406‡büÚφ*Š3EÍĚĎhf_Ya±¤†WÖąfQÇW ZixmçoŢż9˙ý]Ţöů™óöóË7Bdď?űüďĽĐľ˙=ô˙üÇÝ?˝ć÷o?˙(÷ţg5[tâí}-­Őě5xz­0Ĺë»ŮjcĄ±‚v ��������€Ń°�°-’iLŻs•H+MOA´>Řk¦J0Ýźýe˙l©} Řü­~ŃţÁľ«f©/KU3•Bôđăč•fAçăýjÝ·á3ĽR uô\C_;éŘJ!Ţ&™Ţb_ˇiŰ ˘(Ô\üZsĄői/ŚlJÓ¸qô\=Ţ_ńţŢPűgóëűwýzüYĎÄ ÎwîoÚ굚––ë:qŞ˘ç|ťYVĽŹŁBŘ”U´ę.ËŤÖTŹGáťfCa3PĐ4MńçmÂöŁ1A 7 Th=X‘ż5˙¦a §ŕĘ3Ó«ĚTTś‰˙‘13Łš[ÖŮ`F' ZŠoC×Ó|Ń´e÷ż~ţF6-ËĆĎo¸Ď? �¬~uÝu¶®;ÎG:şlöwŇý}5ýfŰëw˙ţFŰ? x űý›íf‹® óžý<Şő ľľ5µëű\|>•ZrÝŚr��������ŔčX�Ş^ľŮ_Ű›)*¦p!đjý/üăqýxŕŮiýe/ć9łÍZ=´űḏ˛i,jŤ¨őţg—›vpýÎ%Okń w3}ÍŔĽ~Éu]2ßĐÁůdĘ…ü�}ŁŃĐą•šÝ˙®eO«Ťţű›Áůü�}~˙^ŻďąĎŐăý“ö3xoömĆűV«Uť?»˘Ó§ęZ=×ĐľjE‡›5Í5+*‡5•e‚|3EH<Ff păűń­ë¶…*ÂŽ…ňa ™×ŤÓŚlđŔ©ńţ E^]M·¨ş7'ÇsäĹ˙izłZŽüĂĐL«±~ţY8d”÷ßďóŻ×ëń÷—íďĆźżŰÚ?Ś_˙®řć]™ýíëőýՇ޿ß÷×ďű?<WÓ|±śs3Úő]’ë»Ţ\˙yꆦ ��������€É ``Kĺí´A Fਦí )×uě_ů›©Ü>cĂf…rÁ,ŽťÖˇuěřX~7|?hµHÔę.TÜdp?rm›áÇĎŻů]¨šVŤ ČČź«YW­5íţ«ŤBźý};=Dçţ¶±Łî÷}ýó•¤ő QŻŰOĂŹ˙»Y««ş˛˘Ő ËŞÜ˝¬čt ą5_łÍŠćüŞfüŠ ˇ/µ5R¸é şÓ> HG˘˝ą˘űó2S‰řć~|×5í<ݎąb%~OŽÜ˘Ô˙«?yˇĆçŮpAţýgS¬ z˙ă~ţÍ0ŇjÓě_ﻥÚÔRŐé»Öx2î÷oBCćýÚ÷l‚SşľÍ4!ćúNšCÚĎ•@��������Ŕä°�°­’żĽźÎ`°dîl6Á‡fÓ¬/ŞŰąő č}>ÉT&<Pęążďwß׌›ç˝~Łá«^7ˇ†@aµŞę™sŞź[˛‹{~U‡+ńëÇö^ĘŤ‚x “ýÓÓNBę¦P®ąÂq{NĄźŮúţöµ·ć™’™–¤±˘RĐP͏ϱ8«µŇĽ‚x°ßo&‹n’ĎÇťňçďôls0ű7măCi*Żo¦r‰7‰[ë¦5sGň¦���������Ř*,�l30ěĆKÁ â%T3Z˙+3ÝBÝ7‹äąńŇăA<xm¶1ŰáúH¶c'Qä9Áúką®ťfaĆ©«lĂłvĂLöPŠĚ4Őx›Y;µD~ŕÚÜ7ëŠ^~˙™űĎÄŻµľ6Řßůúa4«,†ŕEMŁŞJţŠ˘ŠŻÚ©VoČ_YłÁŠĆ……Ëyő¦ö…IĚ!4 '˝íŇHőh¤Ř°ôŘ^YHٵ]ňÉÚĐJި† yö Oń—‡%/PÔ,(ÂV‹„ůňźYćsRĎĎßsfĆüüëöŘćóϦÉ-Ěë˝x/§1Ôţý_żűůĎ8µřüË­©EĚ̵=­ëŰ,ć! ��������€é#``[dîfŔ˝äĆőŽ&'ĂƆJ+µHűĘfĐ>ŘîĆŹÇ——kˇ–«‘˝ź1‘˛ÓÔŚŰ+&ăŢg ş¤t^µzM¦řˇ’›±i38~Ŕ» #ĺ ~Í9»m6HnŹß/•JZIöŻÖŞńţşîż03g·Í4ňűgŻ_­ŐlD=š±ŰŁŠĂ3:č¬Ę;ď«v¶¦đÂ’ü•Š‚zSa3PdmîHˇ u›ţcÔŰä[[Y¤ŹMĚŔ‹|Í4Í4% •âÇQm^µj]3336d‘…ňďżßço>żÁźżŮ—ýĂÖç?Ýý«]Ď˙’RżÇY»­ił0×mÉ ¦t}űöú.J­ź'`'řđ‡?˘ý×węčŃăńﲾĺ[ľE?ů“?®Ë/żL»Án?�������Ŕô°�°-’aWłeOűË5ÍÇňÍČ“źţ‘~#ľsˇbźťxđŮ »*ÄĐn:†lţß 8/ĹĎgVCťŹ·mëáoš+漆Šń t©¬B! Xě+ëĘńëř5ąµeŐâq‚+4uéL]W,–µßLĽ}ˇ- ‘5dű7›f˙•ű—í¶ťôć‹űJąý—T +răŃöU—guIcMŵ†µŠ˘ĺ59 _N<0ďÚĆ ”psÓ¨~h Vl6LŃ­ů"kăČÂÎzȉßŃ´…Ä_HˇŞ˛\ĐąłkňŠe»ýěŚith˙ü˛ĎżÖěQű}ţ­ö‹xÝţłÁ~~^}%Ţżn÷źŤżëd˙™ÖţÝ>˙Íîßëűźő’óżrrţćZ3ëgJ…ôú®Máú®k±ÄŻ‘ü,°Ŕv3×üK^ňr˝ýíďh[Ë-ź×?˙óżčĺ/‰ô ďÔNµŰĎ�������0},�lZ~†aÖY`aߌ§Kfť^­j-(©•ěó _:,éÍxpyaĆU9ý­e¦MX‰źÍ6'—;XmöÉiGöë:2ĆŻQ_« đĎĎč®<¬ąŇ<·ŞJí‚=—ŮřŔ—^ĐĄ‡÷Çđs=§Čöź-^Сóf˙¦}>Ű˙ȡĹx~ăţ†¤_›Ń=.?¨’{^űÎ\ĐÚňZ<Đ_ÓB<`°YŐ\˝*Ż3ßLüć“)%r ęh”Čn§ő|ţv”ćŠ0ߌŃŃ€‘sä›,ÔviăÂ…†\oUÍřxG.Mž™›-§ďż¬{^q(ţü—ZźżŮ.ľ.?ĽŘőóĎ®ŁäóźŐ˝®JľżĂç“ýÍÓs3Ĺ!żżń÷7çßűű÷t١d˙ěűożľkńő]žâőíő XdA•a×ďFGŹŐŹýŘOi«Ľâ/Ő#ńpíŹ~ôjiiąçóűöÍë˝ď}·¦é˙ńo'd*•Šž˙üßÖ?üĂßëŔmĎÝ~ű×ôÄ'ţLßcßë^÷Ň[Ţň&MÓ¸ç�������¸x°�°eň ;=Hˇ }ł%]±6Żů:×lŞv ß <WfËPž+ű×ű«őPe/ ®ÇŹÍ fŕŮ,•F” ÇCýnĽĎ¬ŰÔ%3 ]ąčĆŻQh5ĚÍÎč˛ĂŇ|< ~`ÎU­VłÇ›ťťŐÁí ¤©„ď6člÖĺ÷?8oöŻÚçĘĺ™®űw†LŠO‡fäV *ŻÖµ¶Ľ$§ą¬™j#^L¸ÂWŘłŤafp˛PCëlÖ›$˛×r:×w4]´nGk°Pnš¨ë4!ąÇć{«Dňťš…˘ęń?f"Óşa>ăřs1Ëe‡7|ţf:‘ěó›íńů+=F¶żůü«Őꦾża÷ςݾóçĎ?Űß\s sĹřúvtfµ_ߍřú.Oěú>2ŰÔ ćú.¶?:ĎŘJ˙ň/ďčűüęęšŢ÷ľ÷ëG~ä Ú‰vűů�������¦Ź€€m‘ @/鎔tnuE'âçJŘT=´NQb™‚€Ó+–Şˇ ®™B!4ăçü0™jÁüeżP6ř^<ř\Žź÷şf1Ô=ĎĆŻQn @›Ĺ †›Çssł äBŔ4�”J%»ŢÜďĹ<—ß?»Ţ„7:÷χ+Ě}ł­ßh¨ľ¶&·RŃÂňŞf——“©@LĐŔĽˇČDĚúú´ý,śöő¦ Q×p„†h®č>]Húşą‹Hą|Çłm µJ¤ó§}-…u1ď˙`ĽóülIĺrň}ĚĎ›Ď/lµCdź_~jŽnźżŮßÜÎÎÎLěűëµg@fď?;;%É\I÷Ľ¤_ßuť¬6'z}_˝č.iżľítňä‰Ű?~R;Őn?�������Ŕô°�°-˛Aőůą˛®<<Żł+M_­©8:לS-JţŇß 2ű Ůżŕď{ĽxřŮ >Ď85*TtůlU÷¶Ż8<g_#?hoŁÍbĘ»ť× óÎáÍ@7v0<70oáµř˝U*j,/«~ꔚwß-ť8Ą‚©ôŻÖĺÄď3l…’w´ń¶ťH«Ń"k¬PgSE[đbô抍áŠ\[Fľ)Cçë©BU+ńűŽ˙:žjaM÷JOxv& Yä?˙nŤÝÖgźŻďŻŰ>Łěź˝nŻémňű÷űţłmłëűÜjSÇVĚő­ôúžŮÄő]Ősćú.Ĺ×÷lëú&`ívčĐa-/ŻôÝć’Ki§Úěů/Çżßßö¶P?óósúéźŢş©l��������“EŔŔ¶*—Jń ÖAÝŁâëÂĘią~-m–Î4]5˘ô/ý‡`:JNS‡ŠÝkî‚îwÄŃ=.˝ÔŰĽF^żéz ěçźë§sß÷Ő0­««ŞŢ}Jő'?.ť='§bZ+;·GÖDˇŽ† ui¬čŢ`ˇîë§í±4LÂM›-Ú׫Ł!ŁłÉ"˛0q–r૲ćéËA¤Ó Ó4Q±ß“žô:B˝ľ“q¦şć{š–Î×ήďkâëű›–OË ŞéőíŤy}Wuďůóşď%ŽîyŮÁř؇6\ßŔvyĚcĄ×ľö/{>oZ^n¸áíT›=°xĂţJý\zé�������°‹°�°-˛h;UÄÜś®8˛ĆŻ* ×äźYUˇhŮ/©–í tyI»C:źÄ�ByŽ}Vłn]‹…†m®¸ĎéşËguů%‹š›ťí:eÄ űQé;·7SWŘp…i­XZRőÔÝŞ?ˇŕîSrĎś•W©Ů‚y?ˇłţľZ9VCÄŕÇť!{¬Üú(·ýfš,”›&¤őęl°Hżźř¦`ž#-W"Uäk®ŕ(ëş6JÚDfĘE•Š…¶E˛ďpmŰe”kĂN%_WŮŻj%ąľ›gÖT¨†c]ߦą"ąľçěőm~v˛v–qÂ(Ŕ$=ń‰?ĄO}ę?ěŇÉ\§Ď}îłtůĺ—i§Úíç�������>�¶ť¸2Đ÷şÇ*–Îk¦xN—ś=§•˘Î5făčUŁ5Âőżř7Î%§<7´ŕUt¸\Ó•óľ®>äéŢWŇŐ—ŚŹ9cŹ=Év„nÇč¶Î„+*kkŞź9#˙č]j;.ť:­ÂęŞÔôĺDZ.´µP¬/ůöЎ,:+ňM¦ ÉmŻ\"¶h=©3\‘}"ŽëČ C•šŞŐ˛ľp÷ŚÎ7Ěçcš,Ţ?//ŢĆ`ňßCżď+ł]A‚~áŠ^×Br}Ď讹B…âyÍ–Î鮳Őôúž‰ŻďŮž×÷śg®ďŞ•Şéő]еWn»ľťÂ4<Ľć5ŻŇ[ßú÷zÇ;ŢĄŁGŹŞ\.éúëżEżđ ?Żűß˙zíd»ýü�������ÓGŔŔ¦ôpµbvfFĹBAĎŐŚhˇtA–ť\­é\­©Uż®ŞďÚżô7Ě_öĎĆŰÍ|žőuŮ|¨«ö{şć˛ýşüňĂZط϶äĎg’!‹^ďĎ+üFCŤ•ŐĎžVíŘ wÝ)çô®pýŔ6VŦĆÍ 8ëű¶7H¨­±Â'˛„“ q8ąĐ…ŁŃš,ZáŚőІrA‹VŔ"^ÜxźńwęTÓŐšďhÖmÚ­L“ĹĄńF3Ąö&‹üç;h*—~ŰLĘ8SĂt®Ë_ßłs}/i˙R »×j:[őă뻦Zŕm¸ľ÷}šńuůľPW.zşÇĺÝŻďaßÇ´‚F»ÉŁő} ¦\vMÝëňÉO~’]vŁÝ~ţ�������€é"``K úË3Ŕ›Mrĺ•—k~ß‚.ą°Ş«—ŞZЎ+µx�şá+C»ŹΔ<Í–=íźźŃÁĹE]zpźěß§™rŮ«ŰTýš 2h‚@Íz]kKKjÜ}RŃ׿&;.÷üyąŐşśx˙|cEë¸Ę‡$66Z(jhŰŻKEgs…Ôµ±"Ę:0ÖoÝŢa ©Łcý˝äf{Ö“*~>ŽN­ąúěÉ’Öü@fâ× uɤÉ zw|óÝôű^F Ś eźöëű ÍÍ/čđ…5ť[ŞŘë»Zďv}47“]ßłöúŢż8oĂŮőÝ/Á”!Ýýöo?ß6���������ŚŠ€€Ă —Ëe‹E’Ř7WÖeŞZ[[S­VSłŮ´ †`¶ŰĹÍsń őÜܬćççíŔ©9Î8Îă °a<(Ţl4ÄK}é‚ę'ŽË?vTîťwĘ;NN˝)'77­ѰŢ팍Ź7lßц‘o®ČÚ&˛f‹VĂE{đbŘ‹őűJŰ+6?Z§áJĄ0RŮ“\?R#turͱ[Íšńg^Shš,(ţ΋*Ôµ]`ŘLŻý¦aÔösîćú4×m9ľM®ďY{}×ëő®×÷ěěě†ë›iA���������¶ �cwđzĐ~f Ú .ďŰ·Ď.Ôh4ěŕłi‰0Ď›AćlşPđâĄŘÖZ±ŮoŽc°0 KçŐ8v—˘Űn“wňn9«+răAs…˛m­ýÔŮXŃąľőIhPsEď¦ ©3DˇŽőę M䏛 U„]›-ÚŹ/§=X‘®É #Ő”ą âôś®xúÜIÓlaŽ^‘Y{É}¶ÉÂîŐ#$ł•St3čÚÔÔbäŻď™™äúÎÂť×· Txž—^ç…ˇZVĆťň†¶‹ń­¬¬č'ň‰:wî|ßí~ěÇ~TĎzÖ3űnó×ýF˝îuŻď»Í‘#—č­o}ł ÝlĆťwŢ©˙óţU7ß|łŽ;¦ĺĺ{Í>|XßřŤ÷ŐĂţp}ď÷>bčéhţŰ{Ţ˙ţöÝćĄ/ýÝxă Ú,ó{÷}ďű€>řÁę _ř˘.\¸`†ŘŻë®»VzĐwęŃŹ~”<8ô1G=˙Ď~ösú•_yšFqęÔi=ä!۰ţuŻűs}ë·Ţ_�������€ťŤ€€‰ŰLk@¶Ż`6ĘfĐľ4U‹GôWš5âyłIąŕhÁ-ČuĽřľ Z ?%Hţu6Ó`îűŤ†šµŞjgΨ~ü¨üxŔ˛p쨊+Ër‚Čž«m®tŕA Ăj' St>έo5\8ąiBŇć‹HůŰîMö3č6¤×›0sÉ TŚ?*Şt˛.§›šóLkC]Aäę˛x»™’i˛đrűß82éŔ(×ň0áŠLűőíÇ×·ŰýúV|}ÇŰĺŻďÍ„!RLÇ‚žţô§éĹ/~IßíţéźţY?őS?®«ŻľşëógĎžŐ›Ţôf ňĚg>cSáŠJĄ˘WżúOôŽwüë†kÓ„ĚówÝu—Ţóž›tĹWč9Ďů-}×w=D;Ĺ—ľt«~˙÷_˘Űoż}Ăs&Ŕ`–Ź~ôßőń—ńçýú/˙ĺ�������0ôŚşQžóëÍ_óŻV:y®Ş/ź¨ęwřúp<žö‘;¤OŢęÖxÝÝç«Z«5í¶ÝŽ•µLô{ýü2ěó6\DšpĹÚéÓŞßőu9·~Iĺ;ľŞÂň’\?7 5śAMŮúÎ&‹nÍ퍫˶ůéDÔľ^ęh®p×›-âűv‘ąu’ç§ËâÚ€EŃ Tr|łµ=F#pm“Ĺgď.čSGÝvwUg.¬ŞÖhÚżNĎ>ď~ßφϨăűÚě2Ś~Űö»®Ě5k®ÝA×·ůču}gÇęwnŘŹ}ěčřÖľŰßńŻëůük_űznčçˇ}Ȧ –——ő«żúkzűŰß1ÔőqâÄ ýćo>[oyË[µ|ň“źŇSźúk]ĂťĚÔ;o|ă›ô”§ü˛}��������l �Ć2éŰěxf`ݰá…fSK«5=WםK®ŽŻzZišfGű M5šAĽ} ˛ŮĹ4éú™ÔÔ ¶ą˘ZUýě5ŹŢ©čÎŻ«x⨠+Ë6Í`§q˛©4¦hÔć Çi;§ČYWt›.¤’čÖdˇŽF‹žÓ„$ E'´‹™$Š’}jaAwWĚwÖÔ|±)Ódá®.=Ú&‹‚çöüζł‰aذG/&0‘\ßőľ×w%×÷LüOëlšĂ4`“ü h·ŘĽç<çYú™źůyűýörÓMďדžôE}ó7SŰúŰnűŞm”čgffFĎ~öoi\ć÷ësźű|}ůË_i?smüÉźü9r©ľďűnÔv9~ü¸ž˙üßV5ţÝ;ŠŰn»MO{گ뵯ý3]vŮe�������`\,�LÔ ç^Íoţ˛Ĺ<n4ö/ąĎ,5ôő žŽ®´Ötăařd`yąá*Z.( ›:P®j®ŕŰÁG3=Śq’łsôăskž?§ŕŘť*|őËňî>)gmMnĄÁ66U —–Xo˛Čš+Ô¶t®oo¸:,”;^ätܶ˝N{ČÂ4W´¦ É…,Ö›0Ô:şůOÁ í’˙t’& étĹŐgOăďŘl*ńZ_ö•4S,Ř0Á(ß×vN2ěö&\Q«Őěő}Çů‚Ž­vżľ5µżTÓ|1ĐÜÜ\+a>“lejśažÇřî}ď{é'ň'ôw÷–ľŰ˝ţőoĐ˙ń«ÚÖ˝öµŻkĚzůĹ_ü;eǸĚô#źůĚÍ×ţá+ő }‡µ^ůĘWieeUă8qâ¤~ű·׆,ń��������č…€€©ôWü¦©˘5ÝF3ť" Ôô›ŞVkŞÖăÁćZ<đîĺŰýd�:}­úŇJ<:żV­ĆŰ6ăc4[á?Ţřq·ť:Î?Ś6Š––żKÎ]wŞpň¸Š¦ąÂD˘|Đ` Fm¬Ř°źÓóńz“Ev۬čŃ`‘5W´Béó ×4ŚÄß]Iž\óDúţŮ1ji˛0O4Tvüř» tŹC ś+¨č™@A”{#;ѰӉ$·Ůő^©FZm”z\ߎ–ëľ*ő†jµřbW¨zÝ´´$ÁŠb±dŻw–0·˝Ť T´{ó›ß˛©öĹĹ=ţń˙ąçó&ńŢ÷ľW§NťîąÍÇ>öqÝzë—użűÝ×>ţŇ—nŐG>ňQősíµ×ę§ú§4®ŐŐ5;]Ćf,/Żč­o}›~ů—Q[ík_űš]6ă–[>o§:yň“ź$��������ĆAŔŔČĆť$ż_®0MÍfĂ6›E‘i°HZ,âqäxŮS!^Üş#'tZăŘfŔŘ ’ ń }É :›éĚ őĆjţIŽ-;M_NĄ"÷ÔIď¸MމcňĚă(j5BdŮ…AźŇ í" ;lßžşčŢ\‘>ßLŃţ8Ę=î:Ö›+Úžë3My츎fâďjĆ‹ż«Ŕk,ňŰ&‹3Ő‚>ĆLÄß(ĎLRŽTô&;%ÍVęţăĹ×®_»…40Ńíúvăm<•L‹‡¨Ů¨«é4ěsŽc®ýş Y”JĄÖ>ŮÔ!ă†*.†0Ćë^÷zmĆUW]Ő7`ašF~ă7ţ«^đ‚ö;Śţćoި—˝ě%öţŢđ?űnkľ“ç=ďŮ›n^0­@›őö·żc[“bB&?üĂ?4‘ó]ßç>÷i=>zôčPÓ—ä÷É �������°ó°�01ťÁ‹nA ÓPaÂY°˘^««ß~Ó+Ě@Ľë¤Îń ňüLA‡ç]UâÁ÷ĄşT’cÎÄî‹3‘.ŮWĐÂ|I3ĺ@S~srâóv›uyÎŞpö¤ çÎČY[QdZ-Ls…“Ĺ+ňűĄ·[=f=tÓE{0ŁşH-˘´Ń"j _ôaä,˘ÎAz' äŮď¸S«É"tuşVTy5Ô%+ĘĺPWC•J‘Ľx7wŹŤý/Ě{şdˇ JŘýú>ĽĎü m#™>'”o.őČ—ßlĆ?G¦ą%ţů fíĎ•™"Ç ÂgA‹Lgp‚V‹ézä#żW˙ň/ß©Źü“=·ůŔ>¤;îřşÔ^a×_˙-šóÝ?ŕߪ{ŢóžöńWľr›ľđ…/ µŻićřęWo×µ×Ţ[ŰĹś÷ĎüĚużűÝ/ţQ˛çó–·ü˝>÷ą[îk¦yç;ße§r٬űÜç:˝éMÝzl?öcý[F.˝ôHŰ>�������€Ý…€€‘l¶˝Â ›ż˘n4ęjÔëń`±o[+ĚXŻ Tqáä/ô˛+Fşf<úěÄŰ-âAčdPxq&Ô=}]˝h®0ýv®pę5yçΨôŐ[U8~TZ^2o¨Őţ0~sEÔ±8=¶k·±á˘Ş˘˝ąÂÉ˝b÷‹ői>ś Ó‡´O âćBĘM‘â´^9JżÓAąŹ0~AÓdqjÍŃÍÇ=­6Ě~¦ÁBšŤŻ…˝°ŤŻÝ«ăëŘ~Î]®ďköÇ×w)˛? 2źsvyŘ–ŮÖ–z-°SŞ4›eÍĚĚŘĹ,h±Ř^ĎzÖoęIOú9&ëĆ|ÎozÓ˙Ňňňrßă:tPO{ÚŻhRî}ď{ëe/űÝóž÷h[óÍźŐóź˙Ű:wîüŔcéM¶+`ń˝ßűýÁü~[›Ç=îqŹxý ző«˙Do{Ű˙oŕ1ŢţöwN$`�������¸ř°�0Ú+Ěă¦ý‹űşjµŞjŐjĽ.iť( =«ďgŠŇ‘9ű'űv\y9€Ţ_Žl¸â’řąŇ4É(¶śřś gO«xü.O•ߏ‚@a¨d’ÍŽGoWÓE§Î÷âäĂNë6ę{›ź&$Ť8ëÁŽ~ĚÇmJL°ÂÎöâ¸Z,›k#Ô a|?™:fŻ-Ęńµ{dÎ\D~÷ë{6·É¦ IBó3ˇ WŤšBö‰ÂÖó…BˇokAŠéşćškô¤'ý´ţúŻßŘs›wĽăťä™Ď|†4 ‹‹ úď˙ýŐşä’K6<g-^ň’ë©OýµÇ9yň¤¶ůL_üâßëůĎ‹g>óżę‹_ü˘nąĺó}ŹsŰm·éüůó:xđ ��������…+�ŇfÚ+|ß·Uř¦˝ÂL bĚ 3mDżAޢiˇꪅ@÷ż¬ˇ_U·Ëőń}łn!6ŰLM:5·Ľ¤Ň׾˘Ňí_–»t^Žß´u ÝcQ×ĹÉM°Ńľ´Cn»îGĎŻo?Bçú(ß`ŃąäBa|ćn[ŤÎúm(7yľuĚţL“E=pt÷ŞŁ˙8îéSÇ<_vUi: B훹ľł–Ďsí7Fm…©V+ögÍüĚm¶q›óó?˙łşâŠ+4®?ř;őýß˙HMĘŹţčŹt WdľíŰ oů–˙¤A*•޶Ă/˙ň/ÚŕP/ćgâ—~éżhs} a��������Đ �6­_{EňWöęńŔŻY*•5łVžk‡˝ž‰ś1Me/˛ËbY[Îi6ä-_Páîc*ž¸K…3§â‘˙†˘ŔLk⦭ľbłM“nşćčŽ8ůéAÔµÁBN{8#ąq:¦(é/ßdŃX˛/¤…RrÄ+C-ÎÄ׳ű›,6{}›©@’ĹQ†vĘť ’4Ăź-óśąíb˘ĹbşĘĺ˛~ë·žˇg=ëąU©TŇsžó,MŇCú]·yŔ Ďţ }·1mD[Í|řĂn÷ßńíÚ·o^««k}·»ë®»�������Ŕ¨h°�0Uůp…™$ ¤ÂqwüŔ®ź§WYQ鮯Şüőݍpá¬ÜFMNüś-R{«Ĺ0c »]çöëş7b ßpŃ~ťÍťÁ¶f‹lꏶF 7i´p˛Ű´ŮÂÉBĂ3MŤř’9µćčćăž>/'VUM“% -I›…«( íĎ\Łő3×°Ź34Sl˝‡=컇 tzĘS~^W]u•&éČ‘#·9xpżv˘oţćo˛•AĚĎÁýďýŔíNś¸[��������ŚŠ �Cg`6›Ä ňÖjfjş6Ó‚e'3S€¸ń9ÎťRéä]*ž>.·˛*ľlJ`P>mPÓD¤Áéiç4]´ä)˛ňŽMŮúőSrFŁťPľÉ˘irŽ«Ĺ˛ąv]± řľiCŮýM›e•ŤBÁüĚjĆ×o­ZµÓ) j±čeݶ[|čCďłm[é™Ď|Füşzűąą9=ůÉOÔ¤ÍĚ ( jÚ.GŽ\2ô¶—\28H’´)�������0,�lJŻéAĚ­™˛Ŕ,ͦ XÔ…‘ŠŻ5Ľ“ąőŞŠ§ŽŞtüÎŢ-wmEŽ WäônŞčŐlŃ}Ń€eđöęz^ ßpˇŽw•k°Ógş7m­pm«…%­ă”(&‹zŕčîUG˙qĚÓ§ŽtlŮŐši˛…”çą*˝řg-P­^ł-ŮĎaţg3ŹV‹é;|řĐHŰ'!42°y‹‹Ă7k,..ܦZ­ �������€Q°�0fĐÖLM`Âf _޵ţ˘~ÇŠ˘ťf]îę’Š§ŽŮ…ßwăuö9§#”Đ=ă°QŻí†ÝÔăN}˙ÎIJ’¦[Č"ţÔd&UńĂx –ů4M“E(­Öݵäč+g]}9^îĽŕj9^× 5Öq÷š¬­Â\¨¦=¦^ŻŮćółHbűüŐ_ýÍ(›kyyEúЇ…uµZm˘Ű`�������Ś€€z ĚöűKřlzfÓ,Íôąť˙+Ç šr++*\8­âéŁ*ś»[N#¬3‘Öv}›&z5[ôxÍ˨ű Ţ~PsFűö˝´ż[µîgá ÓZ¶,L¸Bńi3ăü&DŃ ť^stóqOꉗ+®ŞÍ¤˛ÓzdA  ţô›ýYěüůĚögŁ»ăŽŻëÍo~‹FőŞWý1- 9KK†Ţvyyiŕ633ł�������`Tüů€©0Sżšo4öÖőĚ_Ö3qEÇqĚ€zč¨î;ŞĆK<Vl=i¶©/E7’;úˇ;$sWŘ©AÎťTéĚQ–ÎČ«®*2SP¤ÇĎ&Ǣ֊ ‡éş~„ÓŘŇăNĚúä(Ém6mkź2í ?ŠŮ©bLVĹ„0FeŽo‚«ŤřZX6‡vµPŽěú+BíŹďÇ—Ú®‡­1­ëŰŤ?[S“ý –Ęeű3iŰ-°Ą^ńŠWÚ٨îľű”^˙úżŇýŻO¤[oýňĐŰ~ĺ+_¸ÍˇC�������Ŕ¨X� ó—ďahţr> Xxń¨÷8SÁ畺«ÓWG— v:c1HżzŃבą0`Uö6ů—öńů:ć<×–4sü6•N|͆+’!ý\"´č\˘žŤý—¨G“Ĥ÷[ßľ}´ľWĆ OtăvíýJ§ 1M~<¸_kHőz|”•ڞ0L0Á„˘Oó´TsôíWĹ˙P;jľÉÝ%9‚i]ß&H‘…śšńĎ ůY¤Ťbë˝ă˙ŞĎ|ćfŤëď˙ţmúÁ|Ś®»îZ]ěNź>ŁŰo˙šî}ď{őÝîĚ™3úÚ׾¦A®ľú*�������0*¦0–AÓ$·˛S!x3ŕ댰0čvđy© ;ăĺë’ĹÜ7Ňć9łÍf9~SŢÚ.Ü­Âą*,ťŤ×ŐstîĐń¸}vŤáÖcśăsěÍî?Óşu҆ߌěb*(\hI—qÝL+ĆjÝŃ]KŽn;ëęËg\ÝyÁŐR=i‚wAž`Z×·™&$ YřMż5-Ë8Ó„`<KKKúÓ?ýłľŰ<ţń˙Yű÷/ö|ŢdLßMâMoú_·ůűż˙ ăşë®��������Ł"` Żhěđ(ý úĐN a,Ćh+0Ó&ć;í_÷ÇÍcs߬3ĎU'°pëĎÜĄŇé;ĺU–ă‘Íf2Šźk­čĽÔ01j#EŻý§˝ß¸ç9hżě3*€MüYFľYB9fŞ »ä‚Źťb#ľN­9úĚqO˙qĚÓńeWkMÇ0vşi]ߦ-&™$’ćgq3?ËÝźţéźëÂ…ĄžĎ—J%=ĺ)?§źţéźęwÝrËçőĎ˙ü/‚ôîwżGýčÇz>Űm_Ő?üĂ?jůů9Ýď~÷Őv¨Őj�������ě^L`jěŔl:6ëŽ9„i"0Ó&) ę)?HŽS âÁúxÝr9i+˙$ă˙Ŕ·ˇŠŇąă*ž?!·ľ&ÇN©;çÎEk˙M¬ĎĎÖŃąýfŽ;ĚzMö¸§ÉB’% ¬pL{…Yiâ}Ů<!nşŻăhÔˇ|ł}|H­Ĺ×ČQ?9ŘB99Ę•‹ˇöÇ÷=WÉkî@ÓĽľM‹…ůĚĎ!!‰uđ/kş˘NO~ň“zNÝńŮĎ~ÎNŇĎă÷X]zéĄú‰źř1˝ĺ-oŐŇŇrĎm˙üĎ_«‡?ü{tčĐ!]ĚLPčyĎ{~ó7C?ôCŹKCD‰Ź}ěßíw[­Vçaűî‰\ť …âŔm–—WôŐŻŢ®kŻ˝·��������» �›ÖkÚŰb%5f°×qvŢ(· WTWTX9cĂ…ĺÓëSdá49NŰzĺ .Ú—îŤŃ Űąß8­íë’ĎÁ4T$‹Ŕ6VĹLăÄ—…ă†rL  tÍ˙µDc\'Y“Ĺé5éćžVŽ=‡âPsĹř<<]T˛ź5[ÂâD~.ןŹväĎĺ4ýŰż˝W“đčG?ŞkŔÂL‹ôň—÷źÖŁP(čgöÉöţÜÜśžüä'ęĎţěµ=·7ňfş‘ßýÝęb×h4ěçű†7ü•îsźëT.—uűíwčÎ;ďú&ś1 ‹‹ Cm÷´§ýšľďűľOPĄRŐ™3§ő˘ýÎTB�������€É"``dŁü5|6Ŕ;î n1_,GÚ?i©nţĘ?yí/ŇâLŇPPÜÄŕąŰ¬ŮPEńÂIÖÎÉkTd3!=¦™vÄÔ›+Ľ^‰*˘ö0‡]­,d§ńăQŃPnŢfł04sXÄ·é!MÚB®BŰlá$űŚx˝dM&XŃ´ł2¸Z(%'{ĹBhŻźťŘd1Íë;˘ÖŸ´7żů-úÚ׾Öw›üÁĐĺ—_Özüc?öŁzË[ţ^çÎťďąĎ;ßůnŰzńíßţ@A:sć¬]Fő­ßz}Çw|»¦Á„e>¤łgĎőÝδ•üă?ţď¶użökOłŤ&�������€ťŤ?•0UÉôŰl!ŇŐ‹ľ®ŮďÇ͡ĘńŔs9|ľGĽŢ<7W÷"ąŤŠJçî´‹ąß6ŃĹP!‹nŤý›-4fłÄ8űlfż±–řËvómA¨f5YÔL¦ Iš,BąQĽÇQňŘKŰĎjĚ‹Ć4YÔG§V}ú¸§Oót|ŮUĄé(µăL÷úN0;ČÖ9qâ„ţúŻßŘw›b±¨_ř…źm[7;;«źűąźŃ ŻxĹ©ŮlębtÍ5×h~~N›a¦yć3CÓô }§ĆqňäÝ�������ě|,�LE4ˇQÝr<¸|d.Ô5ń@ó=âAč{fËbŻ tÉ\ ŇĐNČmTĺU.¨¸tŇNŇšÄn»u´!\a[9ňaŚ,7Ń&ipHF¸Ł¶íśÎí»îßľŢŃhŰŰ}ňŻŐçőZo±í|sçeÍI˘uÜt'Ę…+LP"ťÄńC5kšŐ@ňM€"˛!Šä6™BÄ>ŽňŹłăŹţ˝š]Lbµîčč’ŁŰÎşúJĽÜyÁŐrĽ®&!ŚťbZ×w7I‹©{ĺ+_ĄZ­Öw›ýŃŃW\±aýŹüČtŐUWőÝ×Lń·űżt1şęŞ+ôó?˙łÚڧ>ő—őŤßx?MÓŹ˙řŹi,�������`w ` §Qd§1€[t#-”C]µčţ—5ôŕ«ęvą>ľoÖ-)Ü1~ĂN R\9ĄB弼ƚ ]$O¦7ť!ŠÜúőU˝"‰·CliEź†ŠţŹ“÷íĆďżh‚iEŁ*ňĂ´ą"˛íI›E®Ń" ]¤íă†, ˘hŽNŻ9şů¸gŰ,N¬8Şš&‹”3Öő=ČNřŮŢkŢ÷ľčŁý÷ľŰ,..č)Oůą®Ď™f‹§?ý©äŤo|“Ž=Ş‹Ń“žôD}çwŽ7˝‡Ů÷ÉO~’¦í›żů›ô„'<^Ł:yň¤��������; �›2xŕusł®ŁdĘ„xú˛ů@W/&‹ążN©ŕ:cׯ©¸r·mŻpë«r‚F|Şa˙iArËzč!×ä_ú4FŚŐD‘í×ë¸Y3F¶m«a˘cĂŽ†Š¬yb}}çńň­цǦ±Âm5X„­… L‚@^3PÔ6âőůĆŠV"jVäŰ&Ś1›,âĹ)VŽŽ.gMžîZr´RwL™ĆŽ:cZ×w»ţo”đÄćU*˝ć52p»§<ĺ絸¸ŘóůoĽA×_˙-ýˇFŁa›2.F®ëęŻx™ö°‡˝Ź™~ĺ/xž~ýן¦­ňěg˙¦~ř‡h¤}h°�������€Ý€€‹Ź 4Ş*^8¦âŇ1ąÍj˛~ČpEgĐbÔf‰ŃD1lCĹĐۇëÓ( Kü@…f`[,žH/J+’Ű4HѶ>]6˛0L“E=ptjŐ±-˙qlg6Y`w{ík_ŻS§N÷ÝćĘ+Ż´Ó ňżńë·ůřÇ?©÷Ľç&]Śćććô‡řr˝đ…/ĐŐW_Ýs»ýűő?ńăú‡x«~臧­d‚ Ďţső'ňj}×w=Ř>ääÉ�������ě|Ăţ]¬3äsηŽú[şąŰlńŇu^Çbž3 ę6ÍŹ ŔDőúËöüú^÷ëőşVWWuúô);ĄĆţĹífÓVQ:{‡öÝţ1•ĎÜ!§^“Óô…ńŻ™@­[…j{loÓuć6ŠîŁh=^:]–ŽőQŹőťëúng×;íÇĺőŰÖ9Ý÷W¶˝Ó¶.rrë•_ď´Ö›ĎĂńă_ŇŐ@őµPç—"UęńGć:Ébö±·ć±«ŔqÚ‡NűvćůČ®7_ Łqr^üO‹r!Ň5ű#=đĘ@÷˝$Đĺ ¦9"’çŘĂîIKË+ö=räRíŰ·Oĺrąőś“{Ó˝îç9{őC®vűí_Óżř%ť?NaéŔýşîşëtßűŢG…BA;ÁÚÚšľôĄ[íÔ.ćź‹őzüĎ RŃţ<<xH÷Ľç=ěR*•�������{UüďEM=±i[Öú[~‰´>B—-Qî¶sQŹÇýn;ďw8 µ3ţÍ3€]cévň”&\Q¨žS±rF^}Y®_]ź$kĄp’ą6LX`ĂzĄëĄő¨X~*Ť µW ŢNă×4N8ŹŁžçˇő¦ g};űžťüzŮć ;Óɡřˇę«~Ľ„ŠšŽ<ł}č&Żçxů@MF.´éű×µMÉ­9`ü_&UaÂńz3W†}Ą1B¶ÉÂwt÷Şô™ăžVëŽxU Rü3ĹH…‹$;ŮďËŮô6ŔNqď{ßË.;ŮüüĽľýŰh�������ŔîFŔŔEĹ ę*¬ťQaő”ĽćZ<ď'1aúw˛Ű|č" “DťE?Qű~ifc=ŕtl—®Ë‚ IH%JvLůžcC ąă:íŻÝ I8íSyDYH˘5µ‡“/ňűEą€Eëq°Hß»k’‘l‹…”'Üřdüf¨z5Pł?Äëě65ŃzďQÇc¶0UúarĄOgŹÍÓaÖ´?bČÂśş™Ä+î2ŮÇřŔ ĺä—/„{ľÉ���������›GŔŔEĹők*®žŚ—»ĺÄ÷•›´¨WCEŰún Ń`1|s…†Ü®ÇsąF‰‘öŹÔÖP±á8=,˛[3QHąrăÇ…0ަJőx]# qxÎzC…i˘Čš)’ĆŠřąČI.ÂŤÍNş>ÝĎL#’~1#7Yi“ĹÉUé?Ž{Z®;úö«"=i¶pń4Y���������`t,�LÍ$¦ 1S;4ăAu3(^Ť—f¬ĎÄËńRt#;ö>ŕdâAü@nł˘B嬝&Ä Ýý–LŰëEIB{ĂD{EÖH±ˇaB§éz<µ7\´)ś¬Łó|rŰdMmŤjk¨čl°pÓíCŰR!‚p˘pý6k°9µxßJĽ®/~ĽŻ Däš(ş5S$/”Y:š-ŇÇöY»_´ŢdaÎn„P„yK~ÚdŃL›,g’sż|A[Ţd1±ë{€ť<m��������ŔnAŔŔDLk�× >ŻÔ]ť®¸:ş\°Ť†żzŃבąP ĺPeŻ˙ëŰp…_“×XUˇ¶ß®ŘéAFXt4^D6řDú7L¨O“Ä8 ŇPŤŤ›.†k°P”…7$7 Z¸Ž«0JnŁřÖ4|DÍř;[âĹ,"™ŻĹ¶T=;›)ZŤiČ 76[¤Źm*Ă6\Ý“ă…ćőťô G dM§VĄOóâkĚŃ·_¨äI3[Řd1©ë{‘ýN©ě������0ľzÚ·Ëg};čÔJ skaüďk"Őš‘šA$ţ†XgţŐbŃs4StâźéčĐĽ«K<]uĐÓ7.čÚ#É�{ żŮ�ěhfÜ>/tg<�˝TK„÷Ďd˙kĆŹĹŁÁ‹°)ݱ¬Bí‚ÜćšÜ Ń>˝„Óç¶Ď’´Sä“5H´7Lôj¸HţGY´^™u„%śîÇłSjäNec#E{3Fr®Ń†¦‹Ö>ŽÚ»¦5"2ą7Ý?´/íÚÉ@ÂőŰ4dáíL˘Şąć+X‹Źă›0†Óú,74SČPQ[ČBíÍöů¬ĆŁKł…ë¦ă5Y¬Ř&‹$¸aB Y“ĹÂ5YLęú�����Ŕhn=éëwÔő™»šşĺxS•z(�Ă3˙޵˙KVł,WĄŁL=ołm›Ů’Łű_UŇ·]SŇľˇ¤ű]ΰ$€ÝŹßd�v43m‚ůËţ;í_÷»Ş§S(żô7ëŚCła<8Ţ˙8NĐPˇrF…ęąa=ťk#üwZSS´OĎá¤óqD­ů9´ľ}çú( (hpE˙Ć ×HŃą®łbĂöpśö×Í7^É9ÂěřicE+d‘>vĂPĹŔ‘˙ŃF5TPOZ&<sd3żE[3…›äDL"m¶pĚô"YłEú8ßlaš,śnÍář! Ă4YÔâkě䪫˙8ćhąęŰŻ TôÂ-i˛Ôő �����€ÁL¨â¦/UőÁ/×ÓÁ`�ÓTmDúř×ęvy퇤«xzÄ}Ëzä7ζ�°kńŰ Ŕآ-čÄkÉ`łůË~3ř¤#č5SÉŻ[.;v›AÜ ®Bí¬]°ĐĐSX-’đůLÚCYM†ÓŃ ©ł‘"k’prÍą—wrŰ˝{îץ#ŠŇÓX즯ćš)’ÇÉóö=ŮíÂ$ăŕ$Ót„émľÁÂĽ¦ëÇűUâe5ŢÚ|Q~rN®ëÚŮ=’fŠh˝ˇÂśAľ‰˘ł™"‰u h¶»„,rA™!ä›,ö:rµ¶G\ľN˝ÉbR×÷f1]�����ŘËŢqKMo˙\Eź;Ö€íc‚MoţDĹ.÷żŞ¨ÇÝNŹ˝~F�°›°�pQ° µsvqÂFßPE׆ őo´°ë"őiśH§Ń¶‘˘óů\ŁD˙ý:0˘4TˇÜ ů¦‹Îć –prŤ­ýBŰ,áf! ®\±ŹF$˙\ ćR ¨™Ň ŰLaÓN2‡ă$­ëˇ§w3…Ie„=š-śôĎ7b¤ű‡É#…, Óda¦ë¸{Uúô1Ď.xĄ¶¬É������“÷ÖOVô¶OUt÷ mŔNcOź;¶¤˙ů‘UýÄwĚé§ľsN�°°�°Ł=i±i˙L¤Ąşů+˙dĐĆ‹´8jüśŮ¦7m…×X–×\‰ăýöFŠěvÔF‹|Čb˝#˘=hŃjč~$R+ôĐj¤’#´š&r Y` ßb±ľ_ľ±"ŮFŻď¦g×j¨č±˝ë„IŃDÖXˇ,ÔŕÚϱu«4dÚ<VC5V|kˇś@vŻőfŠö†ŠÁÍYíGş"Íi´š-śőď¶ëţŮłc6YŘĆř}šëÎâň}I“…;…&‹Í_ß������čôO7Wő·[#XěćçôOßżbĂP?ű]ózüf�; �;Úl!ŇŐ‹~2hľT°Đ†|ľGĽţęĹ@s…ŢS•0€i¬pŞ<ż"ׯĹk“˙a•54t6RlfÉöřm ˝š'ňŰ­·\¨gÓ…Ú× ŃH‘o˘´}Ö”‘5V8J§‰’é@˛Ű(ľŤLŁEŞXŤl°˘Q l“…ů8=ĺ›)’[›P0éžÍI Ä$6Úš-ě±Ě'µ>=ďôąő¦ŚěKpÍK$S†8ŽF™ČĆäj¦ÉbEúĚqO« GĽ*R)ţ§eŮK¦ ™¤Í^ß������Xwó]M˝îC+LěB&hńĘ[Ö»żPŐŻ<|A¸¦(�؉X�ŘŃĘńŕň‘93TîŰ0Âr:�mţ˛ß >_2Äß} Ł@® V¬É jńŔ|3‰5 ŮL1j“EÖ^EąŞŠ\E[ó„]ď$»f§”íźo˛Čí›qä*4 Á"9ŐüăĐľ^ŇTa:%’ÇíMQZ‘´7„Qv›„/Ě~n#>ÖrĽ,ĹűÔM{…ŮĆI›%Ú&lń…}ŤöF ą‘MCDŮzic3…yGNîxůFŚÎ㥒V›Ĺ!‹¬ÉÂ\gÍtš“Ĺ té>iˇ4Ů&‹M_ß������°ţü+zó'*°»™€ÔÓßrNOzĐśžvĂ‚�`§!``G+Ćď ĺP%/ҡŮ0™ľAÉÔ ć/űÍŕłŮ¦'l&S4–l¸ÂŇů9:›+&±ŢÉ…,ň +64YdËz‹EŇ(ŃŢ€‘5LlľÁBÇ79‡$h‘4U A”ĚşĄ·vúÇ>oŽă…‘˘Z¤ć9_Í ńńÇëŮ×wÓĐHÚ0áfÍN{3…˝5g’¶[ČMGśŽf 7ű2ĺäš1’´GrüüńÓ€‘6e„îúµ0Ę”!¦É˘ÚttbEúŹcžVęŇŻ TÚ?Ů&‹Í^ß������»[Oúzĺż-é‹ń-€˝Ă¦>}gCĎ~Ô~Ýďr†3ěüF°Ł™1t3 m–ŲF愾ĽćJĽ¬ĘŤüń›)†^Ň„˛@CŇP±^hŃ °­ mŤjµX$Ťą „ÝŢ%×jáä‚ŮţmŹĂ´Đ!yM7}˝0=?ĄĎŰi@˛é@ěvaZ@‘_źÎňaŽí‡ňjńq–ăg—}…•¤Ő¶Wt4JŘWËš(ú5[¸ˇ E¬7SDŮ—Řv<)·_—ă­7^$„NëćY´š,jNzđ´PNš?&Ůd±Ůë�����ŕböŽ[jzŮ»–ń÷)Ŕžd‚S˙ĺMgőßł_Ź˝~F�°°�°§%‹5yţŞśČ·„i4Wdë#۱kŚčX$µ·Xtm Xall¸P×őęő|GŁE[c…‰>dĎgÓ~t4e¬ŻĺF6˘a§/qꡢ3ńr>^S ĺ…éy; i“„mćH›-’ŔD®ˇ"k¶0ďŮMSö&ěhĽpZÍYłEľ)#9~·f‹xmü8tÝ‘BFÖdqrEúôqO«uGß6…& ������Ść/?ĽŞ7~lM�ö6 zé;—t삯_ţž}€íFŔŔžfBn`kńŕű ›\ZŽ$Ó„r ÉsëA¬"ŠŇ„ă´Š0Ú‚­ădÍíÇÍ7QŘÎôy;ó†m¬ş7V8Ič ´ÍICC‚H¦ëhÝ*™kĂâŹ1Z‹÷^ň.Gvj7LÝš)˛Š´ˇ"kóh­—Ö÷3§łń˘{3ņf‹ôq¤.űĄMa:‡ËČMőřęą:¦Ńd�����€á˝ü]Ëú?ź« ŔĹĂŞÎĹ˙^úyŹY�l'�ö4' äůąAņ-† IlşŃ" Hd!‹ ŤŽş7\d÷“ uě× XDQŰqŐŃTŃzťŽ×_ß.=~vşp"e…0JÂŮmßš÷çřŽ kńó+ˇękľÂZ6T$Ń…]š)˛F‹,dˇÜú(m©Č7Z8YăE˛ľ­Ł­™"×l‘®·©Žôx­F ' q8É1Âôs©É"޵Ňtt|ٵˇ ¸x i˛˙ůr& �����€­ň»˙˛¤÷~©&�¬Ş6"ýŢď�l�ö¶(Ôâq}ó?şÂ‰´T ŇHţOR®m˘ŐX‘śŽ†ŠőĆŠ¤Ĺ"ĘB=,ÜôůőŠl˙¤©"i l_…¦ŹŐ:NÚh‘…)rÍů…“NŰáÔăc/Ĺw.ŠŞľ’R¨*±ŤiS…•6GŘ,GkśČ5Vd ‘“N–ŮŮLˇ\#Fîxť QŘŮh‘~úťÇsC%źČđ! ó’a -×5ä˝-–’ Ęeű¤}4Y������Lá �Ůď�B�¶  �{ZŇPŹ—FÚf Ť#…(z4Zض‡| bC[E6ŢßŮl‘=V’HCjŰo˝Á˘}ű.Ź[Ű©ő:íMisE¦0áŠhcȉ7ô‚řkgëj^đ5Í{\OŘ÷mÎ-ôä¸ćsO¦ÔHNźfŠ,$¶5^Řf sü0ßl‘}.N[SĆĆf ĄAŹüúäxćĽB7ůF YAüöŞńű>±âę3ÇĄŐ†Ł^¨ěIEŹ& �����€i1Ó‚®�`ßł%‡éB�l �v4�hĆäußQŐ7íÉúb< =[ěô E7ičq„xś˝a¦Í"%U›i©p×Őm˝ 2$!‹´HÁɵX´*r-],r é6n”ĽhŘÚ>LCnŰţöóĚvi“Eú:nü8)€čŢTŃZź{ŢÎ‰ŃŚŹł(¸ĐT°\WXMĎÝń6|âvŽĐk5Y´2š)rÍą&жf őn¶h5Sd/ÚŃlő8^ľŮÂu“…ůŔ# f›,Ň)B‚09—Ĺ™ä{82?z“ĹćŻo�����€˝ď/?Ľj§�€ŚůťphŢŐ/Ď>ŔV"``G3Ď+uW§+®Ž.ěŔ¶±XŽtő˘Ż#sˇʡĘ^÷áqŰ`5“€…mAl‚Ň–‰a)ş­ŞŃ"Ę'Ôš¤˝qB},ňŹŁÖTíŰwßżőzYCEÇzĚ’dž(:nÓ& Ą­Q-PădUţą¦ÂZÔʨ´&ćnđH»&dá$ íÍn’q»7[¬7Sto¶hk¬Ö›264[t4etk¶ÓăŮOrČ…Ä»­5_Nćşü¶+•öG*Ĺo{Ř&‹Í^ß������{Ý;n©éŤ[�t2ż®:PĐcŻź�l�v4ó—ývđy© ;ăčĄZ2�˝&pöăí¨Ď�td›+­€Â4›+:×'Ót(¸ĎµX8Yđ"ťĉ֧ţh{>{ś4U(ęlĽPÚL‘l¦Ť6´Đj¦l…¦ë“F‹Üm¶>˝5çd›#šńşZ|ÔóÍx©)\ńÓsČŞ:¤~©×VT¤Ű¶š$Ň Jz4[´+Խ٢­™Âîף٢rČ˝nŹf‹0űţFi˛¤ĄşŁć…dgŠ0ßŰĄó‘ćËi“Ĺ€ălţú�����Ř»n=éëeďZ�ôb~G\w¤ ű]Î'€­Áo�;š™6Áüe˙ťöŻű]ŐÓ)Ě_ú›uơŮ0Üî}Ś$H´WlFŚŃ\ŃąľßvÉ4!Qş*×HŃöX­f‹îĎGI:-r J'YŹČN÷á¤Ó{´7]tL ’Mұ>;ݰćË?QłÍQĹO>FE럥•Mᑜ_çz×Uä(˛°ÓŃL‘k¬ś´™˘KłE×fŠŽf »Ţi;ΆýÓćŚlżĐÍB#Ł5YTL“ĹJ|¬ăŇjĂŃ·]¨T0Ó|D›,&q}�����ěUŻü·%EüÝ €>Ěďó»â ?{X�°X�ŘŃšA2Řlţ˛ß >iíA-Ĺë–ˎݦ·¨µŘl…“®K§ Qç´#6T Zo‚IČ"Í8Q{ŕ‰ZŤÉă0ٶő8Ű>ŮFiÓ…m¤ěDműٰ„’öŰh‘®Ďš*ÚÂQ®čXo?)?ţPÍnš+ÎU.5ă? ,ô®¬č˝Ţ•×z˝(ěŐL‘[o?ĽAÍQďf‹¶ăDÝ÷O§Ź­Ąh5YOuPý„Ö›,–ăk10A'iźđâc™—ćKý˙ ŔćŻo�����€˝éĎ?°˘/žô�ßćwĆÓnX�L �{^ä$‹üŽl‹C®pŇŸÍ˝–®ŰEYÓ„ZMíÍQÇóцfŠ$’®wÖ[/ňű©ó8&ŕD=›*ěúh=dĄa”°Č?U—®ˇpµ)5“IkjôsÍżn–ŻčµŢ =řđśÍů扶f‹Îf 7 ˇűÝš-˛ăŰí•Tht6[¤Źm*Ă6\(ť†Ĺ±Ó¨„É<+C…, ?>ĚZĂщeWźó¤FŕčW������Řč滚zó'*€a™ß˝vF¸¦(�&W�°ăÁęĹrd[ĘÉs#»Ěxf]¨ýńsf›žlČÁKá[ÍůçµŢ8ájc`bBëóˇ ŰH‘-=»éb& a‡íŰ+Y׾>L1Ňé@˛ŰtW·Qűëą~ g­ˇčBMáŮŠÂ UEµ†úr =~î6=ża×gďĂ Ł.Kú>Ăô\6<έďÜoÜă…=Ž×úN4ÓdŃd›(ľ~ŢŤGńG§şź<7µë�����`z݇V�Łâw€­@€m¶éęE?)AX*h©ž¤#ăÁç{ÄëŻ^ 4Wč=‚mŁnÁ.ŠšI«Bçtc6Wt®ďşť›ź&dř µÂťŹŁÖ{hk˛0ŰT‘7´M­ŰtٵzköË&Q1ÍÁŮş‚sń˛ÜPXOŰl3„Ö?;űᦟ»“ĽŹÁëł[7™Â¤5MHh[Eś°Gł…“6Lí5[dŤ¦z"ěŢlŃöşąăµ5[¤ÓŚ$łŚ ßdŃLCg*ŽÎĆË‘yG ĺ$<ŃÍfŻo�����€˝ćźn®ęsÇš€Q™ßćwČă0+��v´r<¸|dÎ sűv}9€6Ůoź/™ Tę7�®GnQ‘W˛ Rř;]CmMF4ćúüă\Č"yĺ48aSYŁD2”o¦§H‚i ÂQŰc×$˘l;›h­7M ®’PAë8­ýĂ4ç† ˛ýÓđ…üřüľÂĺ¦Ó\±ÔPT ÍÇžěă¤o( Y´‰FZoŢ“=×(9vúÖ•¦#ZŚ(«ŹČÖ§›gá‡([ťĽńöő]Ž—=ŽÚBëűeŹŁÖă|ČB­ďŻź >• ţĚVę&dáę\5 W”{\Ł›ľľ�����öżýŘš�`\ćw �ÓDŔŔŽVŚGáʡJ^¤Cłˇm°ë=Ůżě7ĎE·O…{%»8AÝŽ±· ¦Ů\Ńą>Í1´Z*ÔŢ`!©˝ˇ˘GE«Ă6VL@gó…iČBQ’=Čß*´!ŚĐLÓḶµÂü'h NWśŻ+Xj(¬IůCdÓ!ÉÉgs«É˘c}&]ßúśó룤)ĂžkZB‘5G¬7StiÖ›464[8aŇxŃ E8˝›)ěqÚ›2ZÍŮŃÖ‘ě&[ ˛0jľŁSkŽ.‰—Csń5Üc»Í^ßŔ^sn-Їnkč–cMťY íŹĺáyW×_UÔĂŻ+éĐ<sć����Ŕ^öÖOVt÷J �—ůb~—üÔwÎ �¦€€Í Ŕ—ăÁgł,–5:ÇSčÍÚĹsÖŇdCnŔş#1ŃćŠ.MÉ(}döÝř6trSw¤Á|ă„k§ůH‚Iń†›†+Lc…ŰŃ|‘k´°{$űga {›>cĂć¸A °ŢPh¦9»fĂQ-°Í¶µ"›ćcĂçŞ.ŤCpÔ:žůčÍÝ0r’ćŤVE—† Ó<ŃŃD±ˇńb`3EG#Fö}8ÇWÔ}˙ěŮ!BŤřó;»–LŇđ{o·éëŘCnúR]˙üŮŞAű/—c»ĽďÖş˙­łşń~ü°����Ŕ^ő¶OU�›e~—°�0-,�ěi‘SPXŹ—9E®ů•ĄMZoałą˘×Ňo˙ČŢ:ë!ž í IVĂ4Q¤Ď·+ŇýZÍisEkű°=da¶‹Ňć Ó€QmĘ?µŞćůŞü•†ÂzĽgśp65Éúg©Ö9Ż€ÉqňçŁlż¶¦‹.ë““—ş¶śÂmk¦čhžčÚL‘5^8ÉÉől¦Č¦ Ű÷7˙qÓL¦°_]úÜzSĆzsFÍhâ8}ó%Ť@:WutľâĆ÷CŤ—Fö¶µř÷Ím§}ť«DşëśŻŹŢŢč»}ĂŹô¶˙¨ččy_×*čĐśŁë.-jľ48ô����ŘůŢqKŤö �a~—ß)Ź˝~F�0i,�ěi&Tâű^«íŔö'•}Ăi®Č=¶ŮGąÖŠ0ÍdÓz„vź0}lÚ[¨ŕÚé@ZĎoh¬mðŠÖöaŹ‹H‘(¬5,ŐśYQ°\SÔŇô@|L'WĂßł­"ę±Í¨ë×Ë$LŘÂ!l’!}bcŁE{ĂDfÇlo´›Ľź([ßzˇÜńĚi8Q[SF«ŁóxYP$kłč˛đCG+uiąîذEv�.jˇţĺsU}ěöřwP8ňîI# câźÇďşwI?t˙Y-θ����ě^o˙í�&ÇüN!``X�ŘÓ"§¨ ¸¨ °ŹŮ׺×K$Ö †i®0ăwQ÷í‡Ýß„+Ě}ŰVŃj~ŇĆ ĄŤíŹ7<ßj¤Č­OŰ!’aĚHb vŞŹ(»ŤlĂCXm¨qbIÍók ÖšRĂ„’ć‡Vň!?=HnjŹÖúVXE}×GNÖÄѱ^ŮT!ÉűsŁô)ÓDá&ç“5G8éű°kś´a˘oł…=PŇnˇ$Śâdď/×”‘ś@Öf‘kÄH›3ňÇ3çä¤Mˇ›żĆ6F'üxűJ<ţ»/Í0Í„8„,�3ŐÇ˙řŔŞÎWĆHVta~Ö>|[Cź?îë×nا«x����ě>·žôőącMŔ¤ß)ćwËý.g(Ŕdń[Ŕžą&`q@~ń`|ż,ĺĂť|Ł‚3|C…«‘›+ÖOHi)B¤(tÚ§ţČfšŹtúŤ°Őv¦Áw=\%ŤF[Ł…mąH§ÇH.’ŕB¨ĐÔëňĎWäźYR°\Udš#s.ćÄĽö“íÎ#ąőnµu}ëCY—”IÄg“µLdßSGŁ„ťef‹¬ŁŐLŃýxRnż¶¦‹ÎĆ‹d›˙p“¤NgČÂśŠÉ¬Ô3­A<ß˝öË“őţ/×ő÷é<­%ĎŃ »¨#ű7|ý\ —˝kŮŢ˙Áo™ŃßVÓđ´·ś·×Ĺ÷\WŇ“4Ż‹‘i®d¸"ĎÓűůŹYĐM����°ëÜôĄŞ�`ŇĚď–ű]ľ �$ţ 4€=-rKň‹”*,ĚÚ)C’Áđh=La8цéAlSDŻőnÔóq¬čÜżŰńňmv‰6>vóĎ™&†ÎíŇőv;skź ×÷3K*j6PQżón5â%\^‰Gţ›Rčˤ,’éJĚmrß& ňëÓç6¬W¶>Yě9ćÖ·öm­ď|>·>ÝŢ5ď#>g/‘ö"s/ńű2·öą(}.Ű&^ĚöÉ’Üoí—Ă|.n—ăŮÇQnż0·_î¶uNąýĚcűUFÓ#QäŘéjľŁşďŚ5ĆÓ"ýŻŹŻ ;‹™dኌ9¶y ����ŔîóÁ/×�“Ćď�Ó@€ÍüĹw3L¨«ńŇ ’ő¦ `¶©/E7Jf‚č"2Ť Ţ\2M Z÷Ék®ĹâŤl‹ő9C’ů:r·Üdˇwk´“'ť´Ť"´ÓY¬7V$MfmR›a ě9‡i±›†)Ň˝sۇfxT? |őP~µ™4Wś>Żpµn&ĺH÷ϵ8lŞ™˘WEE4üńr˛˘Ű>Ń­™"k H*"§c}v0yl›'Ú/ş7S´…nrÇ‹Ôeż´9#LC;›,’k¶/ĺ.˙ÄÝěőŤŢn˝Ű×GľÚĐĂ®- Űo-ţô±Űš6óOxŔśćJüĐ����Ŕna*üŹ^�“f~·0M€Iă7 €Í >ŻÔ]ť®¸:ş\Đr=4[,GşzŃבąP ĺPeŻ×h˝z» ˝Y5gŽČó/ÄăĺÍxi´ĆĎ“yÓ.‘„+˛Ű¨cÚ¬}"[ßů¸ďv®}…ő Eş>˛/•¦ ˘$<á:ą …iwp\; EŇv‘M)˘d»lş,dŃzślůš+55–*jž_•ߏęľŮ·çŐ ČľFz'·>ę±^ÁŠÜ´!mÇëµ^I€!ŠZÁ'ż>ý<¤$ĂŕŘąRlšÁNËa;®k›9Z! ĺÖ›ĎÍNÁ’ŰĎIÂ(ćűµ˙Éö7ésüôq˛ŢlžÆ)LŞ#=ž“'9®’�†›Ä\:Cć{ňăýü°{ždó×7şąę€§cń˙xúßź©čú+ Ú?Ka×vűĘiKZ\ĚĎÚmńkÝ˙Ş˘�����»Ă'îŕ/ĚLĎ'îh°�0QüF°Ł™żě·ĎKÝ@/Ő’čý3Ů€łŻR<řÜ�ÚIWČőWĺ5.Čó×Öüí`ľÓ6˝‡rO l˛č÷Xý×;ŮK§á•°yŚ$:iŁEÚX±ˇ©"ßXaC"&ł)ô}ůőşüJCţREţ…Š‚ « M¸Â´V8i?D×&‰š(:ŤÔ€1Üë›÷m>7mްŇć\ s͹ƊěűŤ:š(Öż÷\#Fîxť QŘ˝ŮbCă…*Jż‡,da¶ ˘¤É"ůŠŰßŰd®otzü·Îę/>´ŞJ#Ň[>YŐŻ>|^Ř^çÖ¶î>·Ć|<����°›|殦°}f\Ýô[W´­űÍ·ťŐGľRÓĹî'ľc^ĎzôÖăKţó˙8ٶ͵GŠzË/_Ú¶Îlc¶ĹÎđ™»ú™‡Ě �&…€€ÍL›`ţ˛˙Nű×ý®ęé˙_jţŇ߬3͆Z,÷?NčÍ©1sµż®Rĺ îůx¬;°MIť„Ú[†m®p×÷k5UDCl—[ďDÉ€Ľ RDéóvŠ$\‘4U¨Ő8‘KdÍa+,᤭aĽŹżVSíô5.¬)¨4Ö›¦.! t¤ÇéďŚŇF §Łˇ˘ďzĄMąĆ‰dűőóm­Ď>ÚŽő-}ÖŰ :B/m•pÓY]˛ď®W3E’Ű/Ó€aľŁ0ßlaÎ+lo¨čŃl‘LI’_źĎśWč&ˇ‹VČ" W„=Ć–'u}ŁÝ9W7Ü·¬÷ÝZ×ÍGń˙*ęŰ®ŮüT!·źńőÁŻ4ôőłMť«Dš)8:<ďčń±żűÚ’ö•ÇoĘ0íŻýđŞn9–üKĄyŔ¬őÍ3¶ű챆>~{ÓžËj=T)>‡KöąúÖ«Jşń~eÍĂ4{Ľ˙Ë5[ŤxľÉ‹7?ď˙ź®,ÚĎěŕÜtÚ>Žž÷µUĹ ����ě·'`á=ő†EýÂw/´>ţw%Oů›ÓzůܱéO[ ŕâBŔŔŽÖ ’Áfó—ýfđ9H瓨ń�vĽnąěŘm‰ś˘‚âůĺKŐśą\žżŞBăB<0ž%±Ó6…,i‘NbŮÓ§{6S¸}Zßzéřý„Ék9mÓ…¤Ťi"‰$­ IłE˛]ôA ?ţ0u_ŤĄ55N_ż\QŻł9’|sE/#5Päß\·í'űëöĚC/ 8¸­©E66Säš-rMmÍęÓl‘>ޞíh¶z/ßláşIČ"ů(˘Üąµ›ÔőŤv ?Ň㮟Ő'îhÚÂ[?UŐ}/+j~@ř ?ľţî}ôöƆ×YŽ…|ílUďţ5=ĺˇóú–+GźšÂ\b˙ó˙®µÂŹ»~fC¸ÂĽÖë>˛¦/tüK'żéÎsAĽTőáŰęzĆ#tůb÷_6ďýR]˙ř™JŰŹ¦‰"ą(Íňţ[ëúéÍę»î5ŮpÂMńëv~vă0S˝<őáóZ‹ßóźpµç”#˙÷« ]u `'����€ťí«§}Uę4žjüď’ĚďškŹ0$ `2řmŕâŕaî‚‚â~Ő篵ÍNx«ś –NĎá¤öQŇnŕD¶ÁÜć›&ňMC5\ ł].ÄáäZA ۶š’17i¶Hű#L¸˘^©«ľ´¦ć™ ňW*Ét ~ĽźVB"×ŃjíČ*&"µMŰŃs˝Ú×+wĽ^ë‡xť(]ďtĽNŰz™|…—„ LsD[3…›*ěŃlŃj¦čŢl‘o¬°)а˝ŮBNÖxŃޔѭŮ"LŹgb¦!Ŕs´Ţ�‚©k‘ćJŽžđ€Y˝éăkZކúÇOWôłoŞżüđš>—†Ď»zř}Ęş|żk˙ÇŮWNůú÷Ż5ět$ú?ýűF YKöo˙˝˘Oß•ýÍ36Ňéď>Ym…+î{YA7ÄçpdÁÓZ=Ň-Ç6q!~źŻýĐŠ~űUpŰ/8�ů˙n®Úű&¨đ=וuŹCž‚0ůľ­ˇşéo?V±Í“hü0έúçĎVµYćÝüěCćô ‡ ö3›/ąZ®őţp˙żć·]SśZ#����`2Ě˙&€i#``’řm`G+Ćcé‹ĺHűg"-ŐÍ_ů'ń3^¤Ĺ™PűăçĚ6%#Üaa^ÍŮ«âń†ĽćR|ëËó+ú˙łw€ŤÜUâÇß̨ş{×Ű{˛i¤÷^ !ô Ŕíčí8ĘAčíŕ8ZČ…vôrp˙Łwé˝’B*Éf“-Ůînµ™˙ĽßH¶Ş%Ű’,ŰßL$ýf4#K3ż•ć÷ć=+“Ę[.WËC §âLům“e¸(×^NPDrĺ;Ć3TxŮ2Z.D fJĆ_8ťÎH*•’ä¨?8:<&É}C’Ţ»OÜá„KgłVXNĹ·e"›bűÔy;¶IQ‘}SÇ3Id3OTĘl‘ äň™- 2Sç>ß+É”‘·Ý ™-˙3 Ůž8v¶„K‘úíßČ—Îfý8e˙\÷pÂü€Ň '¬ŹČÁ˧–aâşż'Ç+_–ןŢ^Ľp҆¨ VřâĺC&ŕâű7ŽČ‡źŃe<jńĂ›†M€†ŇRL7nÜ”0÷µ”Ç[Îě(Ř9xyHVv‡L0Éža ČČAË&ľâmpĺWwŮz6ú?$ßč???›‡Sś˛T.ţó Zřź[FĺĐaS~d¦®z(i^fęěŁć5©+HL\ˇ4ăÇ•&äąGĆ����Đş6í&Ŕ@ăŃ×�¨',�´´xČ“Ő]é`hş?dˇ•>ŻőŰWwe¤-TűŕťgG$Y쏵§ýÁěaŃŃňčČcâ¸ýŮýlĆ Éf¨5#EĄ eÚ+®Ď„7ńn0okIĎ2ĺA\ ®Čf¬Đ˙gü)áĎOŚŤJr÷nI K&‘wĚΤͺ‚@/›"»ÝĽAţ\™€ C†——1"Ű>‘JŁB{đĽ\@ĺUj—šÚ'2`Há«(óFöŽíŇDŠ\°U”™b"c…ٸ[ŮbňĚ…™-‚vËd±˛ë)y~.s†żśţ#ń?‹°]>E˝÷oÜÜ>ďO˙pB»üŰďú5™‹üŕ¦ůĐÓ»¦8đÇ{ě QŰ”�)Î ˇ4«Â Źn“ďełeÜ´)i‚%Şů·ŤĚę”ý"ňâăÚĘ.·{Ř?ţY.»/ťşDVtŰ&+Eńküó}Ł’Îx[ňÚÓÚË–JYŮíŕŽďŢ0,ţßpËć”yM3•+{2«{śń@‰­ýůéíµeĸŰß6����ĐÚ¶ěĄ6ę\đ§w¬01s^đ•'ä±=i9˙°6yţ±írŔҰ9…¶Í˙Ý~ąâ‡7 ™ó •ô¶ŰňüŁŰĺ„ ša3$]ţş“é ć_OĘoď‘[˛›ä\ň’ĹrŇ~±’u¶*"7˝•ą÷–¤Ľú;;K–Ńçťwh\ŽX‘ĹŽnHdß+íHÉŐŽÉŻ˙:"Ł)ÎÁÍgô5�ę‰� �--ę./iÓ/ăi3X:€Ö+űuđąŻ-ă!žB€…ĺçÄ%Y$‰¶uf`_-š!5,öx&‹ě€ń`ęd™**e©Âwóńę®—Ť9J—č”öęÓţkM§Ň’̸’ĐihDR{MIĎAögANvM^¶ÜEµ×0­Ě^…çy•×7ŐöÜú*´Űâřé®Éháą•2Säµ›mUËLáUÎlQ°ŻüółŹuÜX8ÁTf\ľîű7JiĐÁÓŤÉŻď“]C®üňÎQąŕ¶šžű˙ĂKł?¨Ó6FL€B%'푟Ţ1*C Wn~´z€…ľŽËî Nż."˙xb»TZ{OÜ?Dnz4!§Vx-űő•~­ó»ąý± B˙Řuá‚“!ĹŽ÷ç˙Ď-–Éţđ·­ő °Đŕ™ű}Ů«4°ĹżŐ ‘o];\sFŚ]3Ü6���� ńv 2č9…üÓ o?§[^zbGAű˙ÜĆÓ:ĺüĂŰä-˙˝Ë?·Rš5@2Ţűôž’sšĹµ=’5‹BňĚ#ÚäŠűGĺĂżŘ;ŁŔ ¦řÄs{ýs"Ąçiúüy:iđĹ«N픋ţoŹ îŔüD_ ž°�ĐҶ'ťQ× ödQÜ•Tö{~áÖ+űuđY—™*׉›R!šŃ³ÒqÚ$:ô?6ľ//ł‚ţÇ RL’‘b<ŕ"|Qśá";˛^öye2ZčcĎÜf+[Ňţ4ęo#‘“äĐ^IŤŚH&™ ˛V¤’bŮ™ŕ58š_"—±BS]xA@ŔxE~Žě}Ď+m÷¤4sÄxôÇtÚ+l§L»gĺŢöÂőUj·]G\Ëő˙ô ™)ň3Od¶(ÎLaĄYô~ąĚă™)ěl …[šŮ"÷ŘÓŚ¶čďD-÷ˇűią�‹Fíß(¤·mN™ěą?!Çů?Ş×/®^{e뾉“�ů%7ĘŃĎ÷€Ą!ąý±¤ŮÎdţđ·1ůíÝAÉ-YňĘ“ŰËfĄČéŚŮţkŽŔŤÍ{2ňˇ_ ȱkĂň¤aŮŻĎ1Ů5*ŃŚôˇôÄĹΡÉbˇ Ŕâ‰&ţčÔ÷îmOîEíŽ|őŞˇ‚÷㲪'ř¬~ţ×Qy|_íŻ«ö<%����€Ů˛‡ŕř9I(Š+ň­čväcĎí•W{gÁĄSÇ­ŹĘGžÓ[ÓoöłŠË‡ž%rŃO÷ČtÄüó —ľt±ěż¤ząX ´řâKúäe_ß![öQJb>˘ŻPOX�hi:đőźuꪞqżfž–L(lr ÇúU?= ®›'“;“1ăçćËľŽşŰąŚVůL“e°¨eţřëŇŕŰ\užńí3nJŇnB’~ °HŚHjlźdFGÄKúř©l îŹçgdĐ˙\CI¶2řfŻôŹQfŠĘ™(¦·ľ šÉB ¨hůʉĚą+e¶Č=ÎËX1Yf‹˘ő•Íla†x&6Ăńw c™ň !KĘ 7j˙F!-™ńŹ'¶ÉüiĐ|ÜßżqXŢ÷´.˙3šüyűF'v¶EmŐ2zŰ‚y4é™ …rĄHr%Ar4Ć®ˇoř˙őë!yËć¤ ŽąrĹ 3©ĺ]¶¶2,§mŚ™űůúóŇqţéŢ„™j18VźŔžĹí¶bbň =ᡩDőóxűŮrńź ‹ĂW…ĺŚl&{¶ĄäĎ÷ŐöÚó· ����hmuúý‰ćzĺ)ťćśĂĎn–­ţď~Í\ń‚cÚ Î…ş2"G­ŤĘí›'~ĎżúÔ΂ŕ -)ňéßí“»·&Í…!O;¬MŢxV×ř…Jg7§Ü·=%_6 ]±Ay?˙µ…'Ň^÷˝ ,ČPbbşđřŽ‚ŕŠTĆ“Ü0$×˙}LĆüsŞG¬‰Ę›üuµeK©ęíËOéOývź`ţHĐ×�¨,�,hž“Tt™?čš–LzŹ„­”„ű$ś‘pÚŰ˙âm2AHöÖÖŇe2PčŔşgUĚH‘?żRć ]·ëŹĚ'Ă!IZ:@›–”T H:1&d8“Ę—ÔÚL`!dîfŤ§xÖ›MŁźűŃbJexŮ8ń� //3DnÁÉÚł ZZĄ¸=ÁQľ=»oây^Ţň^ţ Í~ŮÍn§z{îÖ~|Ť;¸ţ˘šU˘Bf “‘BoÜę™-r+LLůĚÁzĺż%˛Ą=d©°¸”~Öéý§5ô:ŕŻY$ž~X¬ć,µ|†ůYJĽ*ëĘíÎwmIÉďď“óŤÉd˘ţ Š×śÖ.çíŤÉM›r˙iy|oĆŚh“í “ťăYGÄ ÖĺNó·cşNAý$Q-Ŕb$éÉŹn–—žĐîź(±MĹ·Ż‘—źŘf> (ůŢ #S®btÄęęW¨�����f×XšAĎąH«żň[; ˛=\q˙|íű –;iżÂ�‹ŤK «űÚAąîďA–ĎQ‘ď^7(®2ăI+#ňđΔ<Ľ+=žeS«ż>–,°¸{KRîx¬´´Ç=[“ňŐ+dýâ?…ĺG7ÉoA]1K^wF×x[qŕ揱} €ú!ŔŔ‚ćY!ńBâE—Űľ^2–9X&ŕÂő†ýN2ăđ…Í ˝mĺJ}”[‘TĎP‘M6áeˆh! Í‚ŕúř^Ć(M§D’$=Çź\JJ*3,éô>qSţ ¦—–lĐeĘ”˛*ĽŔ,7;jęeŁRĆŻr{YůeAę´ť2íú–d¦=dafg¦đ Űł‹OšŮ"×^f}ąÇžťÍ áÓŔ÷ް'‘ &%ZĂłŹű?¸S˛{Ř•ßŢ3&ÇŻŹ”-Ý’Óźąg8#K;'˙0÷ űVÜߢˇĘ+~Í©í˛qIH>ůűAsµÇ/˝Žş˛z@Ŕą5˝mćľfÉŘ´;#wú'®z0)ÉŚ'żřë¨)©qÄŞpÉßpÁ1mrÎÁÍ=QpćQř‘¬rÂ,—Ů#dńĎOŇŚęłľwăHA&ŽZč3§oä¤����´şT†AĎąč×wŽ””ŇĐ@ jĐĚ9K; 3‚Ţç>).WÜ?*űF&~÷˙†!©‡›7%Ě4™âA÷EdĂś·čk�Ô� šÉ˘Cܶ$mÇÄó´,Ç$Ý=âX qěN ą! ůżô'­ŮĽ˘ :Ţî•É\QˇBL€f©ČřSĘŮMűÇi�?ťJHf¤_2É1É$\q3®düÉMűuÓ&Ë‚§Ďw˛Yr&˛ŹDň3Eä§„ČK ˇŻGľsĄ0ĽL6Äř»0±śÔŇ.íĺ2J”m÷&¶YĽľJíůŰŃż2÷r¤đyžÉ†á<L˘ «(3E^f‹\»‰pÉĄ)ĘlaąÁ»kž¬4}ąőŹĎ÷ßÓ\6ŚżŽ®¨'ť1˙Z‡ô­B^vB›\rů¤ýU˙ď¶QyŢQńŠËŻě™řš¤#4%e%ş_>°#8±°˛»r9‘ă×EäصÁ‰†×žÖ._řó ř‡ş|óş lI_Gí?ä5ŕŔe!3˝&"źůÓ iżń‘äx€EwÜ1).5KÄ#»ôő57č ·Í–ç—źÜ:RuŮü ‹ÜQsŐ “ĺcŞžçoS· �����ę/8ÇPęń˝é‚�‹x¤đĽŘŐŽÉóŹi|üú¨üîźWȽے&ŁÄýţ¤÷Ú‘švVÎrô\á*˙<Ď~KB˛Âż]ÖĺČţţýă×f% -� X�€˛#âŮ‹üáuÍ&1ŕ“Ś7,vr·8î¨d,˙±&ŤđÇë'( !^Č”Ąđ4kkŤOž ňëŻ�S¦ĂÜúëMűk÷GauŘ>­“YřŹŇVĆ<"ń·ëoËK§ýÉ3ĽŚ|±×_c¶“dްr˙ɲ)¨…`¬‰'¬Ş†Lĺ¶Ysf É+QRc{5yĎË•_p=Kl±ó2PäYČxP„W”‰˘$ă…”y^Ţc/?Ó…Ţń˙őס)»üßha'÷Ń ž´",'mĘ Ź$䯏'ĺ5•ż i¶eť¶<1čĘ5OĘyOŠI,\ţłĽţ‘¤ %‚«-4˘’X^چf±Đ¬?ľeÄ@|ĺŞ!yĎS; ę•*͸qďö´lďO›ĺËŃżoŇ,ŁyW_hźuÔę°\÷pŇ*čşW¸#íďË×ů§ž`XŮăÔmŻŐŇ,z‚E_C5dˇŻţ%ǵËÖţŚüßmŁ2U§î‘'Dö ���� Âú[–2!sNşB6€ôäUBĺËW Č«#ĄBôÜĹa«"fĘŮëźżřĹ_‡ĺ;ךs&Óµ˘Ű‘ß!Ď:˘Mşâ\±…ą@`�y<§S¤ýqíěUíŢ˝"ŁŹ—Úë>ę0ą?ččř?�BQ±lčŚnČÔw‚�‹\P… ¬Č—NůĎOřłĆüűţŕˇ˙KCÇâ5�ŔÜúË»úë#Ł‘ß˝^L1‘˘AJ2QXdŁ0s˛ĄK˛‰ĽěśńÄVŚae¬ěňŢřjňK†xŮ VQŮ\IŤĘíŮŚ•ÚÇ_‡L˝=—)$űó·#•ÚłŻŃvmóbd¦(“y˘$3E.ă…Ľ7ű<+Čbe×dĽÂŚnő"âßďŠyŇ·$T9™fÉ Ź‰Éß¶§d`Ô•Ëî›<UäyOŠË÷n6µEżuݰĽîôv ŐŃ2˙{[ˇˇŰ˙±~ÂúÔęÉFĺQ˙ůđ±e_Ć”ĂĐ"ů®8!żľ+¨Gş˘;dŠéó“ŮcUOá łŽÉM›‚"_˝jHŢrV‡yťůô™?»cTţś}?.8şMÎ9¤~A kző+gő� uÍCZ;5íź@q§uµĘę^ľŢ���Ŕ\ `±čąW}{§\xB‡<ű¨¶ěů‚R˝í¶Ľň”N9ë ¸Ľö»;§\:Tµ&"_Řg2{Ó=në>˝%#Ç®ă"Ť… ŇES�0śĐŇtp-ĺ^'Ň–ŚúS*T Yâ!O˘ţ¶=±ëőýČŽŠg_Ş5›„¸)ń2ýâfüńüÁlYŤ°ż\ĚPOů÷5ŔÂńź nÝ ‚9h ç/ďůËyvҧőŰô9iż]0,“ˇ"(Ű‘ ’ĎTa%=¨‰˘x‘ŠíeRI‘ËlAqyŹ2›­ÜîUo—jë¨eoŠíŮÄ[h „Käf”f´đ 2TxąßmE-Ä2”xąöń M¬/â/ÓéŠ[“FG7}˙†ŃµĺÂcăň_× Ëc{'ż´â”ý#&ÓĹ_·¤äNúđŻä´ŤQYŢeË8?¸#%7nJš2ËôňŰĘţpźĚKO›şĄúZny4)ë…äÜĽŕ†Óýíýĺţ„ąbă7 ËO¤ĺđŐ!éđ·30ćĘťŹ§ĺ¶Ç‚ŕ-ň” Ó[®ęqä9GĆĺ˙n5Űřčoä¤ ŮĐ2ËďrĺĆGňčžŕ˝XÚiűcíA"µXÔ>µ÷$— d:S/����ć Í�:0&X@iOľ{Ý ™–w9rčŞ<iEÄż Ëáţýüsië‡äU§vĘĹ—őËTčą´?»·ŕÍć=iůÉ-ĂrÇć„É´©çYÎ>$N€ĹŃĺ+€ú!Ŕ@KÓÁçÁ„-;Gly| $‰ŕ‹PWÔ“Ő]iYŇćJgÔ•¨SßH÷‰L1±M°?Ř8ň€X©=úŞD43…«Wzë@^éŔóěl żIŻ$7·Ůű&łkůu1 ˘ČefHşDTĚ8‘m7A&oEqF‹ü/‰^0Úke·/ąL^™őH6“…d¶đ&Ö_Đž· ©Ňž—xŁd}"…%A*m§B»—m·ŠŰÇ߯ŕuh<„iŃL&Č"›ę#—ŃÂÜęňAö‰É3[żŇtĎđ˛Ů+˛ë –óÇ糧=“d°­ý"ǬŤČ‘«‚Ŕ‰j^{z»üđ¦Sâb·IQYZ¶BkŠľć”v9teX¦JK{ĽáŚůÔďM`ÁĎî1ĺI^|MÓlo8˝CľvÍ '<ąqSÂLĹşb¶Ľö´vém+ 08÷)=ň“[r$°!÷—®C·űĆ3ÚëŐŻ©?C¶L@Ť¤ŰĐŇ+����€ąaQ»Nd_F°°tĆlsC/8Ů>0*ľ78ײ¤Ó‘/˝¬ĎVä3Ť�ý–„eUĎÄ:ĆRžĽú;;MŤ|í‘úž˙@ëZÄ9�ę3Đ�Zš^ŮoźűC˛Ů€î ľôvÇrÎipŇ«˙�tA&‹D§Ŕ ®·2~ŁßË5cůV !w?{$°&JN”ÍP‘ceK_”IďP‰˘ZF k˘„FŐőggło#ůĎń¦–™˘hsĄ‹—–óî{5f̨ˇ=·ť<A’ Kě\ÖŠÜűS”ˇÂ“3[ä2bäžçŻOźfűűb»żëhy¶˙qO`1kű7Ś—žĐ&üf@F«ÔňÔ’ /?©]NÝ?*W=”M»S˛wÔ3Ů·[rÔęÉřĐťţ5ÍşđO§¶É^>dvąo\;,ď?żs<XâŔe!ůŘ3»äŠ’r÷¶”<11W|´GlYÖeËá+ĂrúQ‰Oq¦?˙Uaąúˇ„Ü˝Ő˙F<˙owMFŹu‹9vmXŽ_mHĆ=aqň~۵• ™®SüϨŤ“#����0g,íÔ'Ő/~ŔÜwŔ˛°üË9Ý&ŁćâÇ?/áĘ_y”eÍŮ9‘;OXh Ń|™˘‹7ÚËśŹ).ŤŞ´WčŮóo“Éź1ŇsAŐ–©´fWĐ×�@}` ĄiŮ˝˛łąşß–D6 ]Żô×6µ(îJW2ą™,öÇŃýAG�öżŐ?čŹÉď.\ĐÄKx&;…Ü+ĘĚîd2E) 2QxE'Ä”ÉKäP1Ó…d—/ĘtQQ´}S÷B2Ůíf3QxĎÚ˝ěëŐ­zŐÚ%Ż]JŰÍűę$µ?Ěň^öď(l—l»”ü9…Ż;?†-Aŕ„ÉZa»*Ć`ÜÂĚăA'Ů ă™-$›CrÁ®8ţ2ń–‰űűdŘ˙15Ů`őlďßóÉ“Śši*ôÇö.č©yůý—„Ě4_~IoŐeYžt9=ađŚĂcfš. Řxöq35ŰłümŢ˝5mN 4‚ţmĎšÁ{����hľU˝ z.[÷iÉÓČxđţŽ˙Ę?ôÉ7®”żďL™öÓ6Ćä釞ł¸íŃ‹5ö f<Ń€Ť·źÓmJ€hĹe÷Žš Sňőu8ňŽs»ĺű7 ™çoč ËkNď¬Zd¤č˘Í‚đZ˙y›÷dä÷ڶŃdéyŽ×ťŮ%WŢ?*7oJřŰkp:OÔ„ľ@=` ĄĄ2Á`ł^ŮŻĎ/ř>–ńäý¶¨e–i‚LcŮLATýx&‹ślR da ¬ig˘Č›oU¸şľ`=ĹíĹë©aľ îp@MÓŕ•Ů^AÖ ŻükŞŘ.µ·đjoŻa}¶L” )›™"—Ń"›ˇÂłŠÚs+qÇž5‘ńB3Môvř?»,‰E,qŞ$4őýh"Mýů–ł:äŇ+†ędˇ'etÝšb����0wäg*Ŕü¦eOżtů€ tČ9pYXţă‚Eźł­?#˙}ă`AŰ '‚„łyç8_zb‡ą}ŕ‰” °x|oZîŮš”CWFĆ—ąđ„3ĺ{lOZÖ,ŞĽţmki&ÎמŃenď|<a^ßvŇ Šüç7ÓGµW~sç`öŃ×�¨'ÎB@ 4“…×~¸ÝÇ‹×yśxmŮ-ŠYŮL¶'–?‰?ŕn9~›–xĐďpˇŕľyśť,m yAégbľ¶™iĽ-˙6oą˘ůĹë WŢNđşňÖ«™,7Čâŕe&n=mËdďg ç×Ň>>?Sˇ=»ĽĚp;ŮűAZ‰rŰuÍdű“ăú·ţ/2Űżu˛ŹĎ›h÷ŠÚs÷óźçzămń°H_Żm¦hD�YŐăČEOë”Ó7F$T‡oˇşŽ3Ęűüuęş����sËt3EbnúŃMCňĹËú%•©^÷î-Iyí÷všŔŚ|<ń­kË>g? ;AäĹGąWöN’=bËľ´|ŕç{e2ŹěJŹgŞ(vŘŞŕäźľşŻ^9Pv™ĂWq‚°UĐ×�¨'z�--쏗uE=éŽyҟЫü/Ô1Ç“®+ÝţĽp3ĆÔ 2Y$˛™,‚ćI3Yä§|¨K&ŠéfĽČµW˨‘×– J†Ô%Ů+ĘÜ/÷r L!EMë›d;5l_ßײĹÎfŞ0Lf ĎÜzŮ f]y+rď»—{źM0Šż?Ô�‹Ĺ˝–,ň§Hx’Ú Y-łM¤™,^vB»<ď¨6yhgÚśěxtOZ®{8YÓóOÝ?"k{CŇŰnËF˙Çq[¤ú±����hM:čٵe$A……âżo2Y&žL»·>*«ýßřť1KĆRžÉqçăIąüľQąúÁ±ŠëřŻ«äÁ)ąŕŘv9xyŘ”Uö÷ˇGw§Ą§Í–ťŮäßŃמ—ťÔ!§“•=!ŃŘ‹­ű2rĹŁňý뇤#ZýśÂG~ąWîÝ–’óŤËşĹaSĘDËŚÄóÎGüüöaÓöÂă:L Ř˙ÜÇŕűt«ĐĎŠ� �őTëi«ĆyV ·V…ÇąÉλÍMN¶Í)štžćc˛“ÉÔu ®Ľ2ĄňŰ&»źL&eppPvíÚi2:twuĘt $lŮ2čČc!y¬?dˇU·?řĽ¶+-kş2˛Ş3#ťŃ&}au& Â}Děţ[ÄşS¬‘ÄJí.żĽLžk‰—ŃÉś˝ÍoÓ[É»$`¨0ßÍ_OŢ|7÷ܢůnîů…ósŰ—Ľmë)\Ć”ÉĐPKoťŕÖ şć M—kźhóL`ÂÚ­ ‹/]ޤŘ(lĎŢN·ÝŐǶe‚-\˙6cYć6÷ŘÍ=¶ms?“˝ťçŻÇ±Ĺň\-_‘ŁŽŹËŞua‰ů?ĐBˇÉ˙™môţÝ?0菖ôő-‘ÎÎN‰D"ţń8ńšją?YPOą?!?˙ë¨$Óĺ®"ţńôüŁârÖQ����Ěďřß}ră# €F8qCT>˙Â0ű"‘đ)¤\ňÂÉËŢşy“—w[<I…Ç“Ýß/VőŞ`B¶�´´hČ“%mÚo¦M”Ő@n�:ęÉjđąŻ-ăşŐˇ^¦’ÉÂ4foě┓dšQ&ŠâőH…ąj5ňą&čB*lvÂ$źĂ”2PL˛>ł|}?oý =×ńď™,ĽńŔÂŚćőä2[ŘvđĎy6ł…¶$ŇfKW§%¶Äc–żHő€„–ŰżYô”˘rôš°\ů`BîÚ’’ÝŮ4ž}í¶ľ*lJô¶QÝ����ćý-H€€F9z ĄZ�Ô�ZZŘöĚŐűÇ“EqWR™l»?Ţć<ëŕsŘnţ�´çtŠ´ěŹÇG Ë˙’¦™,Ü2™,Š‚,ĆC-¬Ľ`Šü9ą|>™Âů¦$…ĆEdrKóÍzüy&ű„L”%ń˛íVv=^v=Vv=…ëĎ{–Wđ½ěú, ,𼒿k"MG^»—·/;żj»¶o§\{ Űń˛íĹowA»h|…UŘ–ăO¶mţfskâ#ÝŕÉ–˙X\óľ›˙ůŹŁţż¦˝=¶,ZäH,\QK‡Vݿ٢Ď=2n&����ŔÂpÂú¨|őŞ!€F8a=�ę‹� �-M“�DýÁgťşZ)+üŚ2YdGú-‘ň™(ňŰjÍDQ)ŁEq…TČtQm;ĚwMʆ좵f¬đ¦Ř>uŢŽmRTdŻĎT¤Ş¨ŮÂ˙Lca1Á˝ţ‰Ö\ažÚŞű7�����@“´<$«{y|_F� ž´oŃ>�ę‰^�f 0“…Mř#í#NžÉÂńL…—Éf†ČŽúOdśZÇ3GdŰ‹3ZHĄLfym/Ę‘żÉËt‘›_!FIF 7(uĺyą×WY˘ Ýóň2FHéz˶ĎóĆ˙ĚJíRS{q‚ÉßN~ćŤěŰ$ŞČ`1dQ”ŮÂDGx¶y}ŃHo_ČL‘HŤŃ������0Î<0*˙}Ó�@=iß�őF€�ĚDA&‹±l&‹”y\s&‹Ü «L[I¦‹2QX“Ą‚(7żZFŤâuxA–Ď­’u“ée¦¨ôĽIÖ7ŐöÜú*´Űâë˙}šŃ²“¸"—ŮB˙|ÇńĉYŇŮiKwŹ#í]Ž„ÂX������LĹŮÇ °�PwÚ·�@˝`�ud˛8D\;ćŹÁkCDdäň™,”•d1ž‰"»®lT€I4Qé˘xľ•}\4?[bÄ’Z3^H•ŚEŰŃv]Ö$˛(S.¤$3D^»W<ß«Đ.y1#“µK6Fńö˵—_ź7žřٰÝvq-WK?Q×üÝVđÁ‰ůăm[ÂaK:´4Č’´wŰŤYb;X������L…¦đ?bUXîÜ’�¨íS( čY�  2Y$˛™,‚ěe3YAE Q&«„UQPi~é¬éeĽ¨–QCŠÖŁAV0»Â˘e_›çM±]Ş´WÎD1˝őM°Â/ţßiO”4±&J Äb–ô. ɢĺa‰·;â„®������ŽgŃ&wné�¨íS� °�€: 2YěŹÇG ‹3Yń 9*‚yEăĎ ˛Nx™ÂLAĆ čđ˛kÉËtá?ÇËf˘ČsĚ fů2y5&2]XŮíeĚpÝńD^^fÜ‚ÓiĎeÎđ*´ç˝Mą�/oů’öl¦ ĎËűĽ‰÷µ\»ckŰx™×_Ô6ŰŹÇ-é[‘Ĺţ‰Ű�����€éyĆá1ůć5CňÄ`F�`&–u:¦O€F Ŕ@KsýÁí”kI"mɨ?Ą˛żŻÂŽH<äIԟ¶ €·‚ig˛ČĹ•´4DţüJ-jÉDQ´«\:‡I2f( ˛Pą�…É’oLą˝† S]ßÚ5 C÷CSŃE‚ 'ě˙ÚaKç˘t- K{OHB‘©ď„sn˙�����h ×&˙yů �ŔLh_�ŤB€€–¦Ď [vŽŘňř@HÁHsWÔ“Ő]iYŇćJgÔ•¨ăI+™v& +›É˘\¦ń ă[nq˘(eĂx¦‹Übů™.Ľl押Lăó'Ě·ŠËŽämG·a‚,ě`&DńëĚÖ©Ú.í%&k÷&¶YĽľJíůŰŃż2ďíĚߎyŞ6şA& Ë˙O8ęH×ňô®ŚH[WHBQŰ´OŐ\Ýż�����áÂăŰä'·ŚĹŔ´iö íK� Q°�ĐŇôĘ~3řÜ’Íţ�t˙X0�ÝË 8§%â>·Ü�ôt3YčbN¶ŚE™ůeUĚDQaáJ- ć—źU\Qf;&ČšxBÁŞjČDQn›S΀áŐŢ^MQbsײ%ÖfKĎĘô¬ŠJ´ĂŰ™^Љ9»�����4ČËOn—Ďüq@�`:´€F"Ŕ@KÓ˛ ze˙fsuż-‰lđş^éŻmjQÜ•®¨´¤ÂLše!,2ňŕä™,4›‚]śqB3‚Av/Ŕ`˛*Xţül&Š\y‘ y™&J"ĘgĽŚ”ŮNĄŚe2ačM^É/›!Â**âYyË—mĎfś¨Ô>ţ:dęí^^KŃv¤R»Ů+¬%±NŰWtŻŚJ8nËtÍőý����� Ţž{T\ţpϨܹ%%�0G¬ ›>�‰� �--• ›őĘ~|ÎdGÍÇüÁ~ĎoZf™–UÉb,›É"řqX5“…ťKQKF‰Jí•ćç?,ăEµö2ëwő±YĹv”ŰlĺvŻz»T[G-Ëx5·;[˘‹BŇą,"íK"ë ‰5ÍějÎďß������ đú3:ĺÍ˙łG�`*´ď�€F#Ŕ�š Čdq¸vLlAy`J™,*ešČŤţOdśČeşČÍÍĎ„Q&ăD¶ÝËfĽ°J¶“@ŕ)-L{~F ŻĚz$›É ˛AŚ[xë/hĎۆTi/HĚQ´ľń·¤Ęv¦Ř®ďW¸-"=âŇł_›DłÁćď�����@ݵ&,/;ˇMţű¦€Zhźˇ}�4�ZZŘéŠzŇó¤?ˇWůŁÝ1Ç“®+Ýţ<]¦ĺd˛Hd3YŮ+jÍd1BQv<żZ& +› c /&]O-ëĎ>vőpűOő¦–™˘hsĄ‹­oüľWcĆŚĘívČ;fKŰâ°t­‰IÇŞ„ÚS2d&ćÍţ �����Pgo:«SnŰś”{·§�&sČňé3� °�ĐŇâ!OVwĄ±îţ„V:řĽÖo_Ý•‘¶ĐćgYÉâ`qíhd1ĹL^.SD~ĆŠń€lC¦RĆ‹üçĺ2Nř÷˛úă *fşěňE™.J2ŠSL¸&JÄs3Ůíf3QxĎÚ˝ěëŐ­zŐÚ%Ż]JŰM`…WÔbüý0Ë{2žicŇv˙˨HliD:łÁńĹq"–Yv&,ćŰţ �����POď~j·üÓ÷wŹźß€bzzVű �h,�´´¨?¸Ľ¤Mł¤Í€÷@v�ZŻě×Áçľ¶ŚDćŇ�ôL3Yh€ĺĺ• )\®z&ŠĽůV…÷­`=ĹíĹë©aľ îđ?CË˙<·4cDIÖ ŻükŞŘ.µ·đŞ·ëŰäŘép¤cuL:×¶IlqDš˝˘ĄAćÝţ �����PG-ÉEOë–Oţ®_� í#´Ż�€fˇÇĐҶ'ťQW"Ž'‹â®¤2ŮvGĚ•ý:ř¬ËĚ5ů™,4…]k& +?D"›‘"›‰ÂĘf˘ČQx™âLRŃb|ŤŮőH¦¸ĆFŢvňÖS Łt;Ĺ™0L& 7[&Äó*VxĄ 0&mĎýĹŮů&3Fąö<SŘŽeŰ#±E!éÚŻC:ÖµK¨-4ăĚ9óu˙�����¨—g“-űŇňÝë‡�ň˝âävÓG�@3` ĄŮţvÔ|Ö©+*óG6“…‰3ČŚMnÂÜÖ”É"?2ˇ.™(*­§†ů–7ÉvŠÚsŮ,Ľl6‹’ ‹2÷Ë˝ś5d˘¨d˛íř˙qb–D—FĄ}U›´-ŹK´7"vxć9óv˙�����¨Ł×ťŢ!{†]ůŐťŁ�ęYGÄMß��ÍF€�̦P§¸m‹gELVÍdaŹ>X9“…‰&LmË›4…—ÍD1žé"?ăD¶Ą`ľ•ť/EóËfĽČßţř+“Ş52Ůőş®˙7J6“…$žŕţDG.FY˘8ľĂ´›L‹OŢ.ąŕŻhy}}ůíÁîp¤ë€né:°G"ݱkâý«S ������T÷ާuÉhŇ“Ëî� Ű9ÇLź��ł� �E&°"ĽŘ Ö{™1s+nBlĽĎ ů $Ë?1ă`—)çŃLĹë)n/^OůY…ňJ†TĘ$aL’‰bJ™.&Yßx‰’€qÄé K|E›´Żí0·N[Čż­‚żĂórA(Z������4ÚGźÝmn ˛�. ®Čő�0°�€V`2YäýGÄs]q$,ÎŘCbĄ÷T~NQEA¦üLůe2QxŮLV&·t^¦ K?¬ěÓs%‚v+“ź#›˘\FŤüŚy/|<C†ë7L0fšX].őDv~Őv)l/ŢN™öP»#mş¤ý€‰-kó?ž°Ř!‚(������f›¬Ć#ĺB€HË‚ąŔl#Ŕ�fQ.ók2Yô‰Ó€†Ń 3‚— *d†ÄŞ)“E®DHůLůmµf˘¨”Ѣ8B*dş¨¶ ć»ú—şŮEkÍXáM±˝:+l‹Ő–ز¸´­ď’¶µťŚR&K…~~dŻ������h.`]ÔnËwŻ� Ă+Nn—םŢ!�0۰�€ ô¦LÓ)nü q5“…߲"µg˛p<ŕe˛™!˛Ń'‚ÖńĚŮöâŚR)…•-Ź‘)Ę‘żÉËt‘÷·•Ë„Q’QC3YčzĆËnf–o—Ľ 2‘üÂ* ä(m÷LŁ7ţg–¶;qG"«;¤m˙^i[ß-ŃeíbG)‡Ŕ �����€ŮŁ­«zBň©ß÷$G0żčiŘ‹žÖ-Ď8<&�Đ °�ĐŇ\˙ÇQʵ$‘¶dÔźRŮ2aĚ;ň$ęOaŰ{žŚu{vDÜđâ :ŔMńn˝bĘ™,r3¬2m%™.jČDaMöKµÜüj5Š×ˇ¶?ąU˛NL÷łW!Ł…'VČßn,$‘ľ¸Ä×wűSŹD–´‹ÓńßÓĆí\ m˙�����¨'pݸ$$źůcżÜ»=-�ć—C–‡äÝOí––3ś  uĐ#hi:ř<°eç-Ź„d Ś4wE=YÝ•–%m®tF]‰:s?L=WnÂdłuJ:~`P:Äd‡K(ń÷É3Y•äYŚg˘fyŮč“xˇ ÓEvţx¦ +»|™ůf-µfĽ*5жŁíş¬IdQ¦\H6ÓÄÄ ĘoĎŢŠ7ńĽ˛í’32ŃnEm -i“Řşni۸Xb«»Ĺi I;r™9ň>źzeŻXHű7�����@#čŔë7^ľXľ|Ĺ ü÷M#`~xŮ mň¦ł:�Z �Zš^ŮoźűC˛Ů€î  »cąç´DüÁçů6�íi`Ex±d´tEf,HsčĄL§=i& • ˛B!Ęd•°Š# ň–OńPfţT2^T˨!EëŃ Kr•@Ę%ß(űÚĘ傜´Ýź[¬#ˇŢD×őHlĂ"‰.ď”Pw¬ ˘Qĺ@ęţ �����Po:{Ęţ1ůÚUrç–”�›ŽX–ןŃ)G­ �´",�´4-› Wöo6W÷Ű’ČfcĐ+ýµM-Š»Ň•9+7xďy^a ®p:%?Ŕ\H6“Ex ™,‚ř„˘”VqÄBî®—]Ş0SEqB;Šćg3QxŮLą`ĎĘn?S&°"/ŁĆD¦‹`ý%5\w<ĹD „¬?ű´ě7yűřűśß̱Ca±{bYÝ#ń—Il}ź8Ńěň…Ů**=ž‰…°�����4‹Č~ĺe‹äçwŚĘ÷®–'3`nXÖéČËOn—ç�heX�hi©L0جWöëŕsĆ ´ÇüÁxĎoZf™ů T‘»oŰqC‹ĹÓv7TČp“Ň` w¸†Lą$5dިš‰˘xĺŐ2QmÇ*—~˘Ňúł4ČBĺJÔ”ÉBŞËf®°Ĺ%Ľ¶W˘KdUŹ„µůď™]<Qîq=,¤ý����� Yt€V§Ý<"?ąe„@  …i`Ĺ‹Žk“ Źo� °�€R)c‚f˛HÇOŠ2Yd’UVÍdae3Y”Ë1žˇ"÷¤ĽŇ&ăD^°…i/ź‰ÂËf´°˛-rą#&2]ËNäÓČ›_P $o;údˇ‘"™ Í+~ťŮZ"ĺÚsyÍć5†Ăb/j“ĐÚE=lµDÖ-§+n‚@¬&������´>°Őé7wŤÉŻďˇtĐB´Č3Źh“g�K°�ĐŇÂŽHWÔ“î'ý ˝Ę?%Ź9žtĹ\éöçé2s]qv„ŇLŃl&  ćy) %Ą¶LţŤçčúĽ˛ó+=Żđ7ÉňŐ2ZL’Z˘`~…í kâ «Ş”˛Â+ÝlČ+»ŻSśµ}Ů™D×-–Đ’N±CN^�E0UĘdQŻ@‹…˛�����Ě&ŔŐéţíiůó}Łrĺ y|Y-€f[ÝăČ™FĺěărĐr†(ĚMô^�ZZ<äÉę®t0FŢ2ĐJź×úí«»2ŇŞĄ&Dë+—ąbâqv~(›ÉŠ SĘdˇËŰą^^ćŠŕýó$·=ÉfśČ>ÎF(f¨đ&–/ (“‰"Oáv*eÔ(“ CoňJ†xŮĚVQŮĎň 7›×nGcb/ígĂR‰<i˝„×hćŠ6±C¶ŘvmŮ+ę™Ĺb!íßsĘhRĽ1˙JúźM"%’ń÷»´ěwźš'Č�d™ŕ0SÚ(‰„L Ä#˛ %<Iş2ęšc)WŇ™ŕđtMŇ"ŽĎrt?˛ł»Qȉ…m‰ű»R[Ä–Ž(Y™���°°č€îAË;ĺMguš`‹›6%ĺöÇ’rç–¤:€ß@˝Ĺ#–±*"GŻ‰Č ë#U�čÉ�´´¨?¸Ľ¤MŐÓfś| ;�­Wöëŕs_[Ćkš_?~ĘXx&�Ŕ•l& l⼤ÉdaךÉÂÎ%Ť¨%ŁDĄöJóóL–ń˘Z{™őëč™– Ń ‹â˛e6[Ш’mq±—öła™„÷_!áu}ZÜ忯ţ enĘľďA°…4Ľ<ČBÜż[•78j&N— äf™ Đ)ě“ŢčDŻ}–´GĹꌛi>Ű;ěĘľQWĆ<ɸô‰SĄű‘Ć2j¬X"­Ý\î*˝Ś8ţżw]1Kzâ¶ô¶Ű���,$A°EHţń¤6óřď;ÓfÚ´;-[öfdÇ`FöřżGžŚĄ<Ie<!® §JĂŽ%±°˙Ű2jÉ"˙wĺŇNGVő:˛~qHö_L�0ßĐłhiaۓΨ+Ç“Eq×˙!“mwÄ\ŮŻĎşĚ|S`Qt?/“… 2Y<,Î42YdšĐ»™Ľ…ó3UXąLąąů™0ĘdśČ¶{ŮŚVÉvňĽŕąiĎϨá•YŹd3YdÇ-Ľ‰őç·ë–ăa±×ô‰łß* ¸VB+ýűťm%ÍČZ‘oˇîß-#튷oHÜţ1—Ás Ę…±»ý>­§#HS0h¸Ó?™ąkČőUúÁFŃ€•˝#:ąňŘ^Kú:lYâź Ł<���"�@-ř¶� ĄiJë¨?ř¬SWTć˝üAüňZĘBJ2Y«śÝ¤ ,°=Íd‘šd#…™,ĆC(¬ Oš‰ÂĘfÂBĆ‹I×SËúłŹ]ýÜŕ~ÁS˝‰mG"buvеb‰8Wk–ŠăBÚe+‚6»i m˙nZęc÷ x{†()€ů!ť×ß§-ź¶uµ¸3[‡iîŃXŠíýybĐĺřl2 dŮ>Ľ÷Ë:mYŢí§�������L Ŕ�ZL~`EîVý5¬ÂĘäÚ<§SRŃü9aq]× I4ő8Ţľ*)Ědáĺ2Eäg¬Č9d*eĽČ^.ă„/›‰b<ÁDĹL’]ľ(ÓEI@FŃöýżZ˙�ĎÍd·ëó˝`Ąží uµ‰uŔjqö_#ΆUb/],v{|<b"Ȣ\P…Ý”,h.S d×€xÉ´�óŤ— ˛üýÜęëšsĄC´ČÖţŚ$ŇVĚ&ÝŹ4ĐBłZ¬ěv(������ä!Ŕ�ZT~€…ÉZáZă &“…µXŇž+^zÔ Šhöа?věL%“…8X^^ŮÂĺŞg˘Č›oy·W9ÓEńzjo‚;\˙ÖÖ\ůă&=~[\¬ž±Ö¬űŔuâ¬_)Îň>±;Ú˛Y@ + ç˛YX1ßx;úĹÝ;$Ŕ|§DŢÖ=b÷vµ´[ć‚ÇöfLI´ tydwZ†’ެéĄf������ °�€”? Ż˙šťb"Đ"—Íbbđßu:%=@26A®ß˝GÓ›$Tk& +?D"›‘"›‰ÂĘf˘đň_›ĺe3Nägş‚ŚăkĚ®G2ŢÄFóć{Váz 3a”n§8†ÉdáfË„8!ńâ±Vô‰uČboX+Ί%ţ c—ŘńčxEqpE~ÖŠüÇĹA›Ě`óö˝âŤ&XH4 ČKеĽW¬Hk~íO¤<Ů´'-Ă ˛V´* |Iş˛~‘˙Ý"Ěż…������Xذ�€Udˇ4Đ"dˇłőľ)QoÇÄ ‡$ĺĎ÷2 qł™,Ô”2YH^D]2QTZO ó-o’íä·ű÷ĂŽx‘¸Hg—XK—¬[#öAÄ^˝BěÎv±Ł‘*ÁvÁc]†ŕŠůÁK‰·m%A°`™Ŕ˘-»EV,+–V2’ôä‘]iJ‚Ě�óĐδlč I[„�����°p`�-¬RE\ˇ™-ôÖĎłL “É"˛żdĽPÉ"’XćŃę™,$H4!ş l$…—ÍD1žé"?ăD¶Ą`ľ•ť/EóËfĽČßţř+“É3jř÷Űbâ-Y*ŢšŐ"÷kĺ ±őÝŃ.v8\\Q.Ř"?kÁóW¸:°ś¦ě�6“ĹĹ?ěU‹[&ČB+Ú‘–´KpĹ\ˇ0ú™m\J������.,�´4wIą–Rß’QJeÇIĂŽH<äIԟ¶'ö<?ĎźäĎYhY “ąÂDDx&Â\8QÉx‹üÇ®Śą “ŢÂdŻđooDüw°Ę†˛7v™r ÉDQĽžâöâőäZâ9ţNŠŠë··OÜŐkDÖ®{Ăz±ű™Ŕ Ç_&?`˘4°Âš4sEٱ7ŽP޶‡ŕ Ç?Ě1ˇAł\.DË‚hć ‚+ćýĚôłŰ¸„r!������X°�ĐŇtđy0aËÎ[É@"8™ßőduWZ–´ąŇu%ęĚßAšâţ\…g",\m1÷5@ouʸ]’ŚîďĎ ›ŕ Or™,úkŘ`öĆ.ÎQ”i"? ˘L& /›‰ÂĘä–ÎËtáĎó2VöéŮídŰ­L~f ÝniF Ď±ŕŠžĹ’^µ^Ü•kD–kÖ ŕ°«SěP(®ČXäe§( °¨ÜŢhěߍămßKY 9&ücĂZ»DfÓ¦=”™ËôłÓĎđ e­Ur������h,�´4˝˛ß >÷‡dł?�Ý? @wÇr3i‰řĎ a�ş¸\– ɶČe±0óB1Éř]|ĘouŮp…”)»1őLą!"ĺ3Qä·Őš‰˘RF‹˘˛$yí&�#ö˙¶¸d˘âvôH¦oą¸k6·L+‰ŐÖž ®ŤgݰĘXXeĎFYöďĆđvô‹7š�ĄôŘĐcÄZÚ-łá±˝NЧÍuúęgą¦×������`!!Ŕ@KÓ˛ ze˙fsuż-‰l6˝Ň_ŰÔ˘¸+]QYŠ,‚,‚,ŮÇ®Éd±Q\+˘Ď6-âSÍdˇűZ’#ăe›ł&Ć3N­^6 "—ˇ˘8Ł…”ÉDnXŮö˘ŚŰŃ»¶¸ńIő®tßJI/]%^ďR±;»ÄÖŔŠhĚüýÁdO”ű¨1Ŕ˘ŮÁŠý»ţĽÁQq÷ €Ęô±ă±:ăŇL{‡]Ů9Řř˛=ZĆâćMIąń‘¤<1‘ˇ)t´E-YÖáȱëÂrň~Q‰„(…QŽ~–KzŰm������ ,�´´T&lÖ+űuđ9ăcţ`Ľç· ř ©ĆŹŐ´”J%C4°@Ů,4Á˙O(&i ‹J“ŕŠ~{¦™,r3¬2m%™.*e´Č›oy•ţPńś¸vL2ˇvÉD:$ÝŮ'éľU’é[)îŇ•ţŕ`·Xˇ°ŘŮŚˇě” ´°¦XŃĚŕ Ĺţ]gşďď�Őé±buIJYĎő»ú­ýŤďĐúG]ůÚŐCňŘžéok$áÉ#‰´<˛;-W>”7śŮ.K;ÉÔPŽ~¦ÝmČ(������Ŕ‚@€�ĚAą@�˝ÍĎbˇĆ,Ľ‰ŔWş$)Ĺ3™,\˙ŽÄ3ŹŐ–É"XĹDĹx&Šěö˛Áć%dşČÎĎtae—/3߬%?čÂżçúŻ4“Tű2Iv­”ä˘Őâv-iďië0Y+śPŘźB㡼ű“•˙(W¤ŮÁ¨?o÷ xÉ´�¨NŹ=f¬ľ.i†íţ@|"ÝŘŇ ˙ß˝™WŰ9”‘/_1$ťß-Q~9•ĐĎT?Ű•= ������`aŕ4!€–öĎ×wE=éŽyҟЫüÁ™ăIWĚ•n^xžÓ/.’“p1±H\2VDŇţă1/hj„\& /UĂ ‹ Â+3ł(“Eެ’¶˘§j^ Ďň''ěżÎd측6IĹz%ŮąBRÝ+%˝xµx˝b‡#â„ĂŮ€ 'Ż,H`‘+ 2^"¤B¦ŠŮĘZ‘Źý»ŽŇ®x{ćNiܶôĂ%°łHŹ«§Ă˙EĐŘúĎÍ®4ÚőOÖ5¸"g÷°+W<0&ç=)&(Ąźí’N‡Ż������° ` ĄĹCž¬îJCóý!3­tđy­ßľş+#mˇĆ^Űęrą’mVvěv"Ŕ˛—´u ŚÚ1ÓîßK,óč”3Yy&rőCr-ŠË…ČÄ|ÉËt‘˝ 2[ř˙Ď÷]/,éP—$bK%ŮľLRË%Ó¶XÜX§xţdĹÚʼnÄLĆ {< Â)É^1YćŠVËZÁţ]?Ţľˇ’l.ŤŰ'îCŰ%sĎfqwök=˙ĂŚŠ˝¬[śV‹}ĐĘŇŔ ו̽[Ä˝÷1q·îńŹ×,c-éç@˙9G®+Â×24—Éxä;ŤÎb±s0Ó”ăó¶ÍÉ‚ÇGŻ‰Č Źm“ÎŘÔúz-ň›{FĺŞë&Ŕ˘<ýlő3&‹������ÎähiQpyI›^őš6ĂňŮh˝˛_źűÚ2a�z<P ?“EH`îŤd¬6ÉŘQ˙Ö’„¤ü6[ě¤^íëßf3YŮ)&yOME®‡WKQ6SEŃ|Xa;âzÉř“+š±˘MŇv‡¤"˝’l[jĘ‚¤;—‹ď+ń›` ŰÎTŘ%™+rÁµU´J9öďúqűG¤ĽIýę&ńv Î÷aťžëö‡%ü´ŁĹęížłoXRżąĹNQ “nűëIďř›>çücÄ^Ó'ő¦ŰwŘ*î¦ţëo4©YbµEĹŇ Ť+ÄŢ…\’Mc!ŇcÇip€Ĺ®ˇĆgŻPŰú łW<÷čř”+T[Ô’ç—«HŚ˙‹¦e0\Ż>‡ÉýO¤ĺ–Gň÷ťqM bwÜ‘ý–8rěÚ¨ĽĽ¶źh÷nOÉ­Ź&eÓî´ôŹşţ볤+jËŠ[Ž\‘cÖ„%ě4ç¸ÖĎ� ������,X�hiaۓΨ+Ç“Eqפ7íţ9|˝˛_źuňł6¸®[1ĐŔł4“Ĺ2¦™,,GÜd\"™Ír÷úٱ™2%@Š7”ÍdaMwxŮçä†r&2TäžäWő»–d$&)»G’ˇĹ’,•Tt‰¤c‹%é/÷?ŕ¸X‘¸8á¨ŘN<áŘv6˘4Ŕ"7U ®Č˝G­‚ý»>ĽÁQ‘týË”lgď$˙÷Z‘áÄäËmß+É˙ąZÂĎ>Á?ĽlIţâ&‘ŃÉźŁ©źÝ áçž$öÚúYxiW2×üM2wlň pkI•DĘüMî}[ÄZÔ)ˇsŽ{ŐbAs¤Ż»O27>0ţŘZŃ#‘ ϦóŹ=†¬Î¸4ÂŢa×ßÝšÓŹ%‹şŽČôűűHČ’°?%ÓÁk×?!ťńLűt Ťyňß7 ËÝ[KËríĚ醇“&ŔâNl—îxůŇ-űF\łžű¶§‹ćx˛Ë˙<w gä®-)ůý]ŽĽôÄ69`iăňég¬źuo{cËÍ�������łŤ� �-MŻŤúĎ:uE5¨”Ͷ'&Íá:1qmG’–?đjÇĹMwI8˝CloX,wL,/áß׌:eüÇ:r•—ÝÂĘć«°ł™,Ě5xĂן<7äŻ?ěo'dʸ®?IÔLi«C’NŻ$Ă}’Ś-“t¬O2±^ńBmăY(Ěä·…ů-ňłWäţćVĘVQűw}�‹†oÄ“ÔďoŻ\1.‘’ÔOŻöżZ?2®żŤ[%úň§ÄÂ2\‘ţĹŤânŢYŰň{Íë5 ȢÖÖČ�‹}ŁÍÉ^Ńꆞüç岵żz ˙yHŢ~vGIĹHŇ“KŻ”'ŞżŻhńĺ+‡äÍgµËĆ%3ëSjˇź5������ď°�€y¨8Č"—Ů"śÉdĚäZ=âÚH"˛L’éĹNď–Pú qŇ;ÄÉř÷3{ĹńýiDńŕ$ťŤŻČ˛đÄ39ÓőAČ#Ö’ţäµIÚk—”Ő)i«KRv—ßŢ-éP·żÍvŠ™ qâţÓb EĹrBAŮ’â� Ű.ČR1q"¸˘ŐłU j z÷Á­&3Ĺ”d\™ňuűţß’ůë#âśx ĚDćúűK+ôřXÖ ¤'Râîę×ŃÚ‰ůiWRż»U"Ż>Ç?&Iőż 4đk^«hSŢ ˙ ¨çú~xÓpIp…fĂXŃííhy“Dfb»†2ň“[Gäµ§u<ççwŚ”W¬_’W„LĐŢ;ŇfĘѬßżaD>üĚî†Wjćg ������Ě,�´==ŻĄĆŇ–?ůă€ţ­¦ýöÇ*%—e\ üqu‰řc€Ń'1ż7‹ű·:&Čz ?Č"?ř W:DŰ3ţä†bâfz%“Y!Vz@Üôb§wŠ“ŢĺĚěÇ4Y-oÔJ™"Aą‰˘ ž§“c˛T¤= ®đ'ió§l€…íON·dś.É„şĹs‚Ň$–QäŻŐ.Ěba˛nL”±ó2Yäg­ČĎ\ŃĘŘżël4éżB>sßi–Ěý[f`áż4YÝízÎ b/îĚŰ+™[2Ą*Ćůí‹sř:AťéAî´ćŐýćňŹ%‰G¤ž4kCĆeĐýî-)S˛#ßiŁňě#ă˝úhĘ“˙˝eDn~t"čéÎÇS˛}Ŕ•ĺ]Á~ŁďçM› ×sÎ!1yΑŮGÎ÷§kLČŹooŰ3ěúŻ!)G¬®ďç[L?k}ŤQţĄ�����ŔüE€€–˘Ă0:3ś˛dŰ€%ۇlŮ1dÉľQK†“Öx}uxnŹxŇ÷dY‡'Ë;\YŃ%Ňi{fpšSűrĺ2ň-48Ao]Ç7ă§#ř™?H˛L2™„˙ačäöx)�.cnĹŐ ‹´ ˛0C4¸Büçű“Ţj …—»ď˙3c&+,žö·Ëżµ,˙ź+žČ{LVXEą  » ¸˘8cĹ\ČVÁţ]ŢXRšÁ۱OšEËuh‰+4˝ÁxŻDĽdş Í9ůŔÂŕ Óh›@÷±]fľů[',_ý}0řž:ďhqž´¦d»é?Ü.™ż=6±úý—KčŮ'Ś?NýúfqÜ61˙čý$tÖaâ>ľ[27?(îö}¦śŠfذ×-őço«§˝d;îîI}¶č›Î÷űËڏ÷o ĘĆDCb/ę4Á"ö+5ÚL&5’”Ě˝›%óĐv‘QńFbĹŁ"]qq6®ţć Ĺ[č”Ĺ9á�˙őü]2÷lö?“a‘XD˘Ż?OR?»^ÜMĄĄ[Ľmű$ń…_šűÖŠ‰\x†4“KVť,F’Í-R’ab†±őZßUŽ<>buX^|\[A›ZĽôÄ6€—Ę JŮ72`ńřŢLAŔJ[Ô’g+ŮŢiDĺę‡3¶ö»ţvĄáô3ď’������ó�Z‚çĎ#ţŔóŢ1KžđťŰgËVzǰ-{Í�tpĺż ›h‘^�z×°kćĄ\3Ýó¤-śf$ş đ ?0a<¸Âź<˙ČŘA /÷o=żÍ5·Áü`dá¦üűŮ� mŰLA€Eéné˙,1™*J=ěěk±˛ĹÁĺ§âR ­Žý»Š f¬IŰQţľbĄüí…¦7ŘíeĽ˛ë¬$|ţ±âŽM”°"ai ČH˙ńö‚×çí’ŚNw?*á§-öA+«®Çó߯ôĎnw×ŔDăHRÜ‘Ý&€Ăľű1 ?ó8‘Xůż-sďc’ąěNńŇ…%ĽˇQJoÝcĘ®„Î9RěWI-RĽCÜĽ€“–×€ci4%Me•ěč3ë$ë±>Íčp˙…ďí3›Č8ˇ˙6 Žąć߉®¸-˙tZ{Ĺui”ŁÖLô K:m U¨űŃçĎ˰H¤›ěŇěĎ������h6,�´`Hd‚ç;·;ňČ^ŰX¶d aůţ¸Ź?/ż„‚ŢęXžČß=âČ–O6ůĎŮĐëĘáË3˛˛K$ęxâ0�=®8›…GäZY-ě‰` ĎËZxmžaäJ„6ÉVd‡˘ĘŚGĺ‚,ĘXä˛XXE-Š*r·ůË\ÁţÝ8^˘IŁyq`>Ő¤ 0ŤL˙+šŐÓćĂłť(+sí˝b÷´‹µrQéÚŁbűSły»Ä˝ëŃĘÁ錤~w‹„;N{ŐâIוľěÎÂŕŠ"îc;%ő]/8ąd^ćÖ‡%}ŐÝRőőúźęw·Jh,)ÎQ&]Öݲ[ÜGwĘ\˘ÇR˝»”±Ts3X´˘Gw§%żJJwÜ–•=ŽěÎČďî3ĄCF’ÁÚ§˛2,g•ŤKJX2S-¶őľ÷K;›ół/řĚÉ`�����€ů‹� �łN‡ôĘ~|~h·-÷ď˛ĺŃ}¶ '&J&Ë @'Ň– &DĆ,Ů7ćůŘ:j 1Ȳ‘ލG9…<ů ą�‹â@ Ďł'‚)ĘN!s«rąRĎ+·Móß’� ÉeŇČ žČĎ®a•iź‹Řż,Óś\kiŹxŁŇ ÖŇîŕRőé>?är™;oó†Ć$ůăkÄ^Ň%Ö~ËĹ^Ý'ÖĘ^łěl1eIüXěý–™EË{ä—ѶôďČ+Ďž4y€űČbővsü&ŔDˬdn|0(’[fóNqď{\ě'ę$x;ú%}íß WŹsÄz}íâí–Ě_7ůŁĆ%RŇWÝ#ÖęĹb÷uU~=Ůŕ }Möş%ţ©ĺ—‚Ţ9ý0qNHJćşűLvŤ|áť܉6/‹Č¸KéŚ4Uń?Ţ K„Ôc}ZÖ#ߊn[x"-_»zH’éÂjň™»·¤äzÚa1yz^¦‹©¸usRvNl7˛äđUÍ٧šý™������ÍF€€Ye†Šý˙hŮ˝˛_ź·ôĎSÉf­ËůĎŃçŞQ@;˛:#m‘l)A±r-4 aňŕ }†W`Qx›żţŇíLÜ\RUĚĺŕ öďkRÚ{űĐ5â>´MšÁ9dŤĚ”sơâîoKá�ľ»s@Äź27>`‚8ě5‹ĹŢĄ8®‰MŻ$ÉL„N’8ÇnlŻ_j2jdn~hĽÍŰ7,îÖÝ“f±°:ăyńi&8Âđ—µ×/—ä_á0Á™»+°HßúPa`A4,‘ O«g˘L«$x•H.[Šż|ćÖż‹}ŢŃ2çČőzňá%Łôv_§ąuőďÉ °°VôTÍÔŃP 8–štxŽłLo8ń‘gîOż‡¬Çú…Aş}ăÚŇŕŠ|:Gł[ô¶Ůrň~SË.łeoF~tópA›fÄč6ç_Šfć������@ł``VĄ2"ĂŮ«űµlBţ•ý: µĹ5Sľ^}©ďíl­q-]ˇ'ńu€BËĆgüÇúś~ ;ăŮuDV÷¸Ňĺ(´‡= “­ş¬âŚŞ\`ĹD»ą7ţ¸ÜmąuçßćWäÚçSPE>öď&é%ę5r6,—Ś?�îmŰ'Ťd-ęçđu2SV8$‘ N‘Ě-IÚź¤\)•Ś+fĘ\uŹ8';4ëŘkŹŠsô~%ÍΉŠ{Ç&S’#ÇýűöIśă6NWdYť1“#sýýëy|—xţAeůž®ß}h{ÁsBÇî_\aÖă?Ö×™ąab=ŢŰÄ;űŠ@¬Ž„Î:¬yďe=4ŕXr›sx¶´â2)Źěöëe]¶ĽđŘvŮżĎ1%B4ëÄŻîó˙ÝxÓţď¶9fmD˘ˇÚöŁ­ýąôĘA›műő…äi‡N/Ćtđ™�����`ľ#ŔŔ¬K[˛mŔ’Çüç]ĂÖř•ý&Ç?0 [˛¸Ă–ž6[şb–V ŕypĚ“}#®ěrýÁ 1Cą+ýwë심ęvýhÎřW“Đ»ź41Y@…Wa`®Ü:ËPTş?×±Ď#ţG~ć ’úŃUâ ŽICÄŁzĆń3*RŔ¶Ä9á�±ŹŮOĽGž0e+´$…·w¨dQ 6H_}ݏ;$|ţ±MI‹bŻ^¬QE%íb­ęoÓΉ×702ůşÖ.)Űî¬[Z`ˇÇ‘78"Öâ.ńöŤ”Ô3°7,-żż˝ ŔÂżĽ~]OgŮĺ­‹Ęţmh¬V,RÎ’GŢ}^§Dť`]qKž|PL–w9ňĺ+'ŽĎDZäöÍ)9iżęŮe6íNËWýç''^ä’NG^{Z‡Ř¤ń������ę†� �łJݞÜ>hËVz {eżŇ+űuđYž—ú:ÝłÍŐţJ:˘®DüÁ‰ »»kÖ•Î^éŻëÚ:`KoÜ“ĹíţŕE6ö^Y™r-˙ů–ŚúS*»=Í�yő§°íUŚXĎ—ńçç;h…>?mž/2’ňźďć>/Oâa˙ůÎÄöËJ¸b™í'3ţöSöřóçëűßěý{AŇý¬IY,4+Ař‚S%ő×Wđźúşăzţ‰bW°źŃşCŽX¬ŰźŚ‘„¸Źí’Ěß·‰űŕ¶‚KÎÝű·HfýRSŁŃ¬öXĺy…WÜ{Ă ™TG…uu–i×ui2ڎŃŇív¶•]ŤŐŐ^ڨϯ`1ÓĘ4 ¸MűÂLăżZ1Ô¬=\hó¬#căÁůY6'Ţ5‘˝eóžtŐ�‹{¶¦ä[× ”Ń Ž·=ąĂ?4š]A0������ć;,�Ě*˝Â_Ë'<1d›AĺhÖAg|^ŢíÁgÍÄž;qŻxGÇضĆďĚH:Ě×uí¶¤Ď_÷ĆĹ5Ôup|0aËÎ[™jŐőduWZ–´ąŇélG+dXČĎ×€‰tĆ~Ň’]#Ž˙|ÇľmŢŮ.˙9ůĎ×€‹r2ćůšÍÁţŕü˙š˝/HZ[%éJłhąČ…§Kňç7Š·Ł>ĺB4 Břy'ůűMJăßű UfŇl©źjŔČD°AćÎMM °läÝ+®3PeđßĘTŘĘŐ+¨Ű�đ<IŐ?ㆮ2ÓĽĂłîęŃł– pX·¨ňO°Ő‹ś‚�‹ţŃÉßŔIĘo.ŘŐWö8ň¦3;¤;Ţü,*!·������`ž#ŔŔ¬Ň űĆ,Ů7d5ČŃR zuîĘţx¤p€BŻ .¶M˝ň¤?é ÄH65¶®kŻ?^¬wâyšyŔ Ž÷‡dł?@Ţ?¬·;–™HűŰ^Ĺö˙|˙}Ý5ęŕ‚âçk�†eĄ%ę˙Ë ąžog3Ćű×ěý{Arfa4Ż=*áť"é_ß"î¦2ÖŠ^‰<çDńw©—´–ÄŘŮ?±ŤýWshů€ «·Cś#6HúšżM4î”É7PţřöŇSI÷ú‡+ĎŰW8Ďj‹TY×XeŢĂâőmAĘ—r443IŮő”ËX2IŽ9©Ç’Žĺ—5ZINťK„Lg}ëúJnŤĄ*Ż(Q4/äTäąěŢ1ůĹ_ 3±lX’7śŮ!m‘Ů � ÍÁä-������ŔT``VéxÜpŇ’áTáU®zdWĚż˛żť§Ë 'Ü‚«&3f˝Áşó׫erűš}!‘śÖLÚ¦ĹÝŠ%x>ĎźĘó›˝/DV4,ŢhRšÍ ‡$üś$ý—»$sף2öĆ:˙úŹHŹIćďŰ'¶Ó?"ΓVWĚá !xáÂŻ‡Zb$Č×Ű5P~=SĚčámŮăŹ4űź]¬0 Áo[ẬîöIוyh«„–÷”´»m+l°l±:˛e@zŰ÷>=Ą”yä -+]Oćáí…«ńß#«§|9‘ąJŹĄz‹…µ˙ZŘQ`ŮRy[îx<)+{J3Öh‰-÷‘oEwi˙ U‘~zǨ\q˙XAűKCňú3:$š˝ě*±0),������0żq Ŕ¬ŇA‚T&ňÓ[۶e®ň×R “ŐóÖ ;5c‚&8y şŮő&‹Ö«m:®™ĆŇšˇŢ2Óß®m:/5ÉXĎçůSy~ł÷ď)2‹±˘¶-ˇłŹç¤dŞśŁ÷“đ3Ź3Á őf­XTđŘÝ5 ©ßß&2š(\ĐßA3wo6S>{Qgár…™Ü{6‹»»0Č"sóCĺłELÂKĄ%uĹ=…Yü×”ľü.­Rřšö[6éşÜ;6‰»łđ5yŰö–ţm«‹ ö ’°7./źąíaS6Ą`=ţßĺŢţpA›uŔŠ™vĹ/łťŽ¦ÇRĽţ1“*ţa3YüYĆßׯnë«D+NÚPDô§{ňŕŽÂÔiż3˙áM#2”(|MG®—,÷Ýë‡K‚+Y–7ž9»ÁŞŮź9������Đld°�0oéŘ•5»ă @ð¬XýJkLďř_¦N>H¬Î¸¤/»ł$0 ÜňΉ™ç4ŠsČjÉ\Żx°î}[$ńŕ6±–vĄ1ŇqµŚČp˘ôůGo(xlŻ[*™m{Ç{ţsS?ĽJěőËüuEĹ}˘_Ľí{Ĺňč˝äÔęA¸÷>&É˝âěżÂ<Î<¸UĽýËX‹:Ä^ąhŇőh°FúÇ×ý¤Őbuw ‰Ě˝›Ą8Ĺ‹sŘڂǡc7Jň­‘J‰”$ýő8G¬«§]Ľ=ţzîܤ©ňVb‹sěţ2SV[aŞo÷ ¤ŻĽÇü˝b¸Jš©ÇR[DCZ+ĹľWny4)W=Á„'‡Ż ËYEeżľĆý,:÷I1łÍŃlůŹtĆ“˙Ľ|PŽ\‘µ‹Sä¶ÇR˛s°đ˝:n}¤ …„|ýę!ą{áq¦ńwZäÇ·ŚT| íţüçÝř¬+Ág������Ě_X�6ËÝőĽ™]>ŻÄa't|+7ĆĺúwiĎÔnײđ•®Ö‹Ou]6“w)żť·Ţü ú¸+ęIwĚ“ţ„5~őjĚń¤+ćJ·?/<ÉEÉ<źçOĺůÍŢż§ËšË‘ńX¶-ž;»µRĚŔ˝˙ZŇż˝µ äDáB¶„Ď;JěVKCů;EřÇKę˙®7ă2®Éę0YŻm˛Zěý ł:8‡Ż÷¶żO¤Ý‚ň\ałżdn¸_j~™«‹g‚3öIz{…ň"ţľ:÷¨ŞŃDö†eâ>ň„dţş©ň2ë—}paĐ‚ś„N;TŇWÝ=Ń8š”ĚŤT\OčŚCĹîë’™˛×- ţ®ĽG3ţűĽ®.‰41ŔBŹ!Ýë­#dßÉĚrŞŤ{z`GZ®ý{”çČ˙ęrűcI3­YäČ©űGĺ¸uQ‰ÖůRo›-/?ą]ţëęˇńmë­ľ–;/˙ś•=Ž\x|a@Ķ}™’ŕ Ąoď­ŹN^*iQ»-Ď;ZJ?kýĚ�����€ůŚ� �ł*dëU•ž´‡Íxť™”ŢŽyţ‰zW"ŽSqĐ[Ç1Ć\ő Ć4uĐşÍ_g{Ř3÷sâ!OVwĄĆţ$W:8ľÖo_Ý•‘¶Pĺ žĎó§ňüfďß V{ÔCGe¶9ű/ű‚S$ů‹Í }>-Gzćńfż¬˝~Ń)’úó]&»DU!Çde0™5ŠĆG­Ž¸8ç#™ßÜj˛W”đUCĎ>~Ę%B¬®6qŽ\/©ßŢ^>ó‡˙šÂţv«eŻPÎéOĎĎ+ý­Ězúńĺź{ě~ć€Ę\vgůż/÷ző3<÷şČh† çÄËĄx»ěÍ:ŔŰŁŇ(]1KöŽĚN€…f«¸áá”ÉV±wdň ¬ÇödäG{Fäg·Ź ‹S7Ö÷=9leXŢúäNSŢŁtň×rěÚĽč¸6‰:s+XA?k������`ľ#Ŕ@ăyb2]”»J^3I÷Ć<é‰{2j®Ô–I¦=30ńÂf€ÁÖ±¶ń«őőjMë÷źw ąfŕ$™WK=âxŇÖÉĽŽúßKÚt`#mƲäšy@ÇűÚ2™d€ťçóü©<żŮűw>“]fv/o-Ďáµ@€…ŇŔ†Č…§Kęg7L´Ç$üÜM¶„¦ľ–Ą=浸Źî÷á'Äݶ[<- 2–Kîc‘ üĆÚĄb´ÂRTâě·\ě—ťi2,¸Źîô×3ćďa±W-’Љšż-30őĎ@Ë`DşÚ%sÓ’ٲÇßńýc«łÍ”%qŽŮ Vw{Më±ÂŽ„_xЏ·ţ]2÷=.^˙°b/îç°uţß·rŇ,Î!kÄY·L2Ű,™żo÷î°aiV ٸ\ś'­­{– h±—tIćŽMâîŘ”"‰„Äęí¶ß“fĐc¨QzâvŐŕ†ş)ú?ý‡™*ͤ™.t*1Ă>ő€Ą!ůČłşä¦G’r×Ö” ęNxz(™÷i˙ľś°!"ëĎÍźhú7�������ó�ę˘bąSÁOGŚíŇR:`˝¬Ă“]ţŕËžQGłă:Ć´ŰXÎdÇdRţŕrgĚOŰ­ ţŕł.ł˝?c«ół×ërKŰuGóĽĂ¶ż“5Ŕ“Eq×_o¶Ý¤ÖĚ:8®ËTÂóyţTžßěý;GŹE×uÍdYĺ#0ćtY"fpX#T&É>ĐLš™ ň˘Ó$ůóLş’đóN««qŘ“ż-Ť±ÔL3^Ő˘ ťsdĹůΡkÍ4ĺő.ď‘ĐłOń—RKłpśx ™¦Ą-"ÎqÍ4Uág/Óeo\a¦YăżoŤ °čm·ĺ±˝–(4>â«Ö^M´H{Ô’ëNČ=[SRKĹłzü!Ű’Sümë4Uúş˙óÂ^iEúwég ������ĚwX�h\ĐEĆEÎd2âř˝Ĺş±°ČňNWöŽY˛eŔ“1Ë”OĐzí#&Ăľk2¤ëŐűC w<]v¬%tŕY§‘¤g¶Ą�´,CWÔ“•]®,÷ cy=ťÎŹúă:uM#ű7ĎçůSy~ł÷ďśŕ¸ËÇťżůLQ‰ÝÝ&îîAiíQ _pŞXZú"V߬@=é±Óh}¶lÝ�(폏]•ÓĘ꞉ŔłĂW…MÉŽ›7%ĺꇲg¸IŮ6ćýŚ�����€…€� � ĺú˝étZR™´ŘejÉÇCž¬čJą˛iŻ-űĆt ŮňśEG‰5“˝ěĚÁX¶łĹf˝nPjAŻě×e˝˛4ě/Óá>/i÷dmŹëŻŰ5Ű�fĂlíßž9î2ćŘłlG«§C¬=Cĺ3éĚ+Ę×,´6 ľŇc§Ń–t:ňÄ Űđă3&+ÜĆšEŽÉVqÜúČx[±î¸-ç“§“źH›ň }<)ĹI7‚×?˙Ö¦JßwýŚ�����€…€3˙�Ęu3’H&$‘H(Ç)<ŻYý;í ÔÁ†^WţŔó–~[úłWúkJńtRĚü“Ń+űuđą;ćÉŞn׬KשWú/€‹÷Ѣfk˙Ö¬1‰„wIqBaYB¶)aáµR  Ĺé1c˘»LË(-ël^‹ńlٞş·öíkZ2S˙hś¬5ŇĎ6L|������,�LI®ěGµer´DÁČȨ„C!‰EŁţ(Ká`Ż.©˝ţŔńáË3ëÎxöÄ•ţ5eŻě×ÁçŁWddăbWzbÁŕ3ń-łµÇÝ9ö˘ŃŘÄë©!Úh.—±wŠ58*ž¦ý�0)+2ÇLł,ďvdď+‰tă˛X¬_äČa«ârĚşpĹlµĘeµ8ű Ü˝-e˛Z T4d™Ď������X(°�ĐPZ¦`xhDŰ–ÎÎňiČu¤Íx^ŮĄŹ\MYţŔČÎaKüAč„?VšĚX’qe<]·Zë sŘń$ć÷dťŮ˛ zeż>ŻěňüuxW`ÖÍĆţ­ĄA†‡†eČź:;»dÁĐr}]âmÝ#�&§ÇJ3S<iż¶Ňdwă ^{zýËťX~_|řް™PJ?S›/[������X@°�ĐP©TZ4eż'}}‹Mö‹rWČëÉy0^揍DWgdMŹ+›÷ٲuŔ–ţ@ôŢQ‘᤿ľě˙€şÝëčŤ{˛´Ă“]®¬í Ę&č•ýş.NřŁU4s˙Öc,•J™ănĐźú–ôÉBbuĆĹîíwď µ„źyĽÔ˝¸K˘˙ňlÁôé1˘ÇJłő¶Ű2”tdç`sJ… ±–t:ć3������,�ĚHµ’!nĆ•‘‘±ýŃŕѱ1iO¶I8ňŰEëŃlŢZˇ=âIgÔ`î˛dߨĺ@O”T0ĐţrZzA —wĐ]QĘ‚ ő4k˙v]×5ŤŽŽÉđđ°;ęµ—ô™/¬ĄÝbŤ%ĹM €BV<bŽ‘Ů˛¦×‘‘¤+Éƕ Aăµű˙Žég ������,4X�¨¨ZđDµĺÍcń|Óińzú$‹JGG»D"‘ňëČţ§=ěÉŞnW·‹l\ <—Ppl ÚÖúßžÄüÁęxŕ ´¶FďßZdhxHýcnĚ{žç–QL5¨b.aXË{E¶ě/ٸrŔ\cEBÁ±1ËÖ/ ÉC;Ó’Hd1EC–ů �����€…3c�bb@Ö2WŐ'IS˛ ‹I8ÇqL‹r·Úvtň¤+Ş- Ŕ`ţhÄţ­MzśŤŤ%¤żĐźücnĚoó·g[ć8›Ź™*&Łɲb‘x[v‹¤)G�HČË?&̱1ˢaK6ô…äˇiI»ü?—„ěŕłÓĎ������X(š  !t0W(BŽNޤÓ)Ů×ß/{÷î5Ą R©”0sAi”lŤČŢ={Ą_żÉfa;Äd/Č� eĹÂbŻZÜĘŔlŇcŔ š§E´E,ٸ4d˛!`nĐĎJ?3ýě������€…Š� �SVë@­.ç8! …Âz‰˝ŚŤŽÉĐа ™Űd")™LfJeH�LĐcGʎD2iŽ©ÁÁŕŘMč!'‘pX"‘đ”ŽŮůF”-XŽGXtß·Z,¸"ÇY, I{”űV§ź‘~VW������`ˇă’N�3¦˛ą ‰Üý ¸Â‘h,*ŃhDĆAw“ô‚űűűM™É>' J†,Ä+ěéĘW$MćŠaŮ»·ß[šÉ"ÜŤFM€Eţń•ś-”cNŻŢ·Ö.oGż¸{‡X(ěޱ–vK+ÓR- Ëc{3˛sr>­hI§#kz������@€€ÉXD"iďh—ѱ„xnĆ”2“ápŘ^h‘Śß‡ĆËŠäĘ”š\đ’Ţć&=Žô6•JK"™‘‘Q1Ç–ÎÓcF+ÚŰŰ%‰Ŕ”ĄÍv<"Ţ®ń’ić+TÔ×%Vg\ć ŔďX˛µ?#‰4™­Z–YŮíHo;I�����€,�L*?;ĹTžŁS(2ĽÝÝÝţ�đŚúS°.Ë\y?:6*ţp±DüâP8,aXźăčäßw ¶°Ç× ,4A®̸ć¸É¤Ó’Ngü)-©tJ’É” ¬Đyzléň¨ÔÖŢ&]ţ±ok3ÇU~ĐŇTĚ·cOś­Žx»ĹŰ3D‰"Ě+ć8_Ô!ÖâN} sŤäw·Ů˛˝?#O şźłD÷Łeť¶,ďvÄćë������P€� �ÓRxQî±I´ů»===2<4$ÉDŇĚÓÁb˝Ę^Żľ·í¤ąďřĹIPŘń'Ű^ąLŔBTśąÂŐ@ Íăߦ3Ů@ ˙X ˛Z¸ć9NČ‘ÎÎNY´¨WÚŰŰĘf°¨öx^Ó~EŻîďéo߸ý#âż™ĚYţ1ow·™}ZBs;Ű€čŻěqLY -˛kČďë\-š!äżů}¶yďĂT������Ę"Ŕ@CäkŁŃ¨,^ĽH†‡‡eppĐ ç ŤýÁâdFnxˇWâçßć—…&`¤GN6đ(w«“*<6,3E#éíí•E‹zĚ1H Rţ@´Z8ţä ŽšI†µś‘+@«ł´hŹYYćP)Zé�żZč´wŘ•}Ł® Śy’!آ®Ű’®%=q›R ������@ °�P7ůY,ň,z{{dhhXöěŮc2YäĘřCĂf™\�E*•ź‚«ňSAI"Ŕ Q.ŚNápŘ”úĐŰÜ44‘Ër!¦˝ŁłĂdŻčî.`A°E©‚AęѤxcI‘dZĽDJü]‘´«ť}šĘ«:iV -› ‹DBbĹ""ń,:đźüJx2’teÔ?4ÇR®I>ه§Ć]p|–gő˛»Qȉ…m‰ű»R[Ä–Ž(˙�������SA€€ŞŠËTkĎźŻĂńx›ě]Ň×g®ŻO$f q >‚ăÉőŹ7[bń,Y˛Äd°Đ=ĺĘ«4Ábř×VvđšˇG µh@@G4Wż‚:�������š‹� �uUt‘+eĐŮŮ)Ë–/Óëěe÷®]¦,H:ťńÓÓӡǚfxŃcIŻŢŽDŁŇ·x±,]şÄsšÍ˘Ů+���������¦‡QM�3RK ť‹ĹüAߥÚbÄu]IĄ2bŰZÁbŕ¨QîXÉd\I&R:ápDş:;eůŠ•˛dIź9ćň—­¶.���������LŽ� �5©H1ٲú8 IGG‡ ŞH§ÓćńĐĐ ż\ZR©¤ßfIÚ$vuň—É=_o§˛m`>Éß÷őVŹ ¦H$RţńâfŰD"‘¨´űÇW_ßY˛d±9ÖôąĹÁS ¦ đ�������� �f¬Ö�]®­­M–/_f®®ß˝{· ôËČđ?XśÎ5%\4öĆ+tPXôĐ;A …cZd'íţ±‘ •bń6éîę–Ĺ}}˛hQŹlĹkŽ �������� vX�¨ŮLłXčăp8,]]]ćV‡ŁŃě í“ŃŃ‘ “E&#’we~l + ‹%–îöLai°E¶Ő űÇOČ?ńx»ôööJOOŹŰă?ž® {��������@}` .Ę_T ˛ĐŰh4*‹őJ[[Lş»{dxxX†‡exdDFGÇ$•LJ*ť/‰żŞ…`>ËŹmĐcĹqBbŰ–„C! G˘ŹGM&ŽŽ.ioo÷§6“&‰L)¸‚ ��������€©!ŔŔ”L–Ĺ˘Ö ĺ8ŽąÚ^-ÚÚÚĄłłC†‡;eddD‰„¤R)I§Ó&¸bz%BÂ@+šzP–ŃăE3Vhć—ŕi¬Đ6]Ƭ˝Ć@ŠÉ‚+Ľ���������(Ź� �uUKE~›Ţćő | ´Đ€Š DHXQ˝‚Ŕ ĚůAąűzŚč}˝Ő` ť4đ˘RÖŠ©´�������� :,�LŮdY,*ÍŻÔ–k×Ac ´Č7•` /0M%ءҲSiݶ=‚/���������*#Ŕ@ÓT ̬=§Z�ĂŹ¦Á±���������ĐX�–Z˛X¨rY+&k/7ŻxţdËsU­“-7Ő,S]��������`!#ŔŔ´U ˛l™JŐć•[ďfRÚŕ ��������€ú ŔŔŚĚ$Č"7O‘µPŹlµ®‡ŕ ��������€Ú``Ćfd‘›Żfšµ‚� Ě3 j¨WŕÁ���������µ#Ŕ@]Ôdˇj ´¨¶\-Ďć“zeµęr���������` nj ˛Č-§¦“­‚ X¦ü0•ç\��������0uX�¨«Z,rËŞ©MLe`` ´’F5Lu˝W���������L�ęn*AąĺsęÁ@2ć«éîŰ���������ÓG€€†NvŠüçĺ…y`���������3G€€†šn EńóË!řóI#‚ ¬���������¨,�4ĹL-&['€B���������őG€€¦jD €����������ŤC€€Y‘?L°0}U���������4�f]ń�1@eT���������Ě,�´śJČ^`!!�������� µ``Î`Ŕ���������Ŕl±������������“"Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş Ŕ�����������  ,������������Ş � ©\וT*%étZ2™Śyś›Đ8¶mŹOŽăH(’p8lóýK€ăhľfő?ßŔÜG §UżĐ�Őqţˇ9čŹ� 5`�M ?8’ɤ™ôGšŻŇŹ<ýq‰D̤?P€ą†ţĄÇ;ĐłŃ˙p|sý€śąđű…ţ(ŹóÍG�­ÉŞĂrV™ű“ÝZç&;ď679Ů6§hŇy]z›L¦®�h!žçÉŘŘ™řŃ17菓X,f&ËŞőźH ůč_fŽăžąĐ˙p|­ţ@Î|üýB˙…‚ó­ŹţŔ\‰„Ońo4rl {›)šĽě­›7yy·Ĺ“Tx<Ůmńýb“Í3°�€:Ó###2::*»âń¸´µµńĂ-…ţĄ18Ţęćj˙Ăń 4ý€ś…ňű…ţóçć&ú#�­Ž�‹ňó°�° éŹýńˇ?B0÷éŹýQ˘?N€ŮF˙ŇXď@es˝˙ářš‡ţ@ÎBűýB˙ů„ósý€V6_,B�±t:-ĂĂæ!ćý!©ź«Ö–loo—P6Ń|ô/ÍÁń”š/ýÇ7Đxô�ręďúĚśčŹ� ńČ`�3¤5‡††ó_GG‡©g4 ýËěáxÇB7źűŽo ľč/�äđűeýćŽßů‹ţ@+!�ŔDS‹páĐš™LĆDŤF˙2»8ޱÍ÷ţ‡ă¨ú �9ü~)D˙ą„ăw~Ł?€ú#Ŕ�¦ippP‰„`aŃś®ëJgg§�ŤB˙Ň8ޱ-”ţ‡ă9ú �9ü~)ŹţsÇďÂ@�őE€�LĂŔŔ€©c‡…Ixj=Ă®®.ęŤţĄµpĽc!YhýÇ70}ô�rřý29ú´2Žß……ţ�ęÇ�Ŕ”hd7?> ű€î @=Ńż´&Žw, µ˙ář¦Žţ@ż_jC˙VÄń»0Ń@}`�S 5 I›‡Ýtź�ęţĄµqĽc>[čýÇ7P;ú ú ‡ß/SC˙VÂń»°ŃŔĚ`�53őę€|şOčľĚýËÜŔńŽůţ'Ŕń TG ż�見ţ­€ăŠţ�f†� �¨A:ť–ˇˇ!ĘŃ}C÷`:č_ćŽwĚ'ô?…8ľĘč/ Ń_`!Ł?úĚ&Ž_äŁ?€é#Ŕ�j@Ú4TĂ>‚ébß™{řĚ0_°/—â=ĘăŘ(Ĺ{‚…Š}ćx1[Ř÷PŚ}�¦‡� �¨BS¦ĄR)&Łű)1Uô/sÇ;ćúźň8ľRôĺŃ_`!˘?¨úĚŽ_”C�Ó�@EžçÉČČ�µĐ}%‹‰eYTÓJý‹¦„üÓźţ,ţóĺ˛eËq]WÖ®]#çž{¶<ĺ)O–P¨5ľ2ţä'˙O~đ˙ö_źČ3žń4yă_/ł…ăsY#űíO~˙ű?Čĺ—_)Ź>şyĆu}ő8[ż~ťśuÖ™ň´§=µ)ýÇ70ˇý…žČ˙Ýď~/W\q•lŢüXÝëëń»nÝZżß8Ăď7Γp8,ŤB…„ó#őE˙fâřĹdčŹ�`ęjí1­çY5ÜZç&;ď679Ů6§hŇy]z›L¦®�¨3M“F/¦"ŹK{{»�Ő´R˙ň™Ď|A®Ľňʲó<đ�ůŕß/˝˝=2›FFFĺ _f‚?r.ąä ˛ß~d¶pĽc®jT˙łgĎůČG>.?ü4Âţűď'ţđdѢEŇhß@ ŢýĹ®]»M?±iÓ&i† 6~ŁŻo±4 ý ÎŹÔýš…ăŐĐh–H$|ŠŁ'x˛·™˘ÉËŢşy“—w[<I…Ç“Ýß/6Ů<!�PFwóăSĄűŚî;ŔdZ­ąé¦+Î{ŕĺcű„d2™-Ź<ňĽ˙ý,®PúĐGĺć›o‘ŮÂńŽą¨QýŹf®hdp…úűßöűŁ3Űj4Žo ţý…f®hfp…Ňďýč'šťţ çGţÍŔń‹ZĐŔÔP"�*¨wŞÚJöîÝ'—\riŮAÂSO=Y.şč=“>˙Á’Ď}î ňřă[Jć˝á Ż•g>óRŤF˛_ýŤrÝu×›őěݻǴ÷ôôĘŠË儎—SN9©)WŚÎşďhä7PIłú—Zyä‘rĂ •,´źůĂţ$OúÓ¤‰„?đ  ÉÎť;ĺ‰'vȶm[ĺŽ;î4Aĺ~čďŰ·Ď šh9“ăŽ;Ö¤_şt©™rW^DŁ‘†¦çxÇ\Ó¨ţGË‚42¸"硇ţ.üăe ëŹňq|cˇ«wˇeAš\‘ŁAÚG=ëYĎ”FˇżŔ|׬ß/Dy×]wËŤ7Ţ,÷Ţ{Żůľßß?`Ž/ͨ·fÍj9ńÄýéřysĄ5ý­YÇŻ–ţúĘWľfÎ1űŇ—ľč˙^_'ő´cÇNąúękĚůÔ;vřç2÷úż˙cţąË^ł-=ŹyüńÇ™ŇSĄÜ~űfý=ô°ě޽ۜ·čéé–ľľ>9účŁüőźlJNć˛Ëţ"_|IA›mŰňË_ţTŞŃó"ďxÇżšż«Ř<_^ůĘ—K˝Ń@í°�€ šńD4˙ó?żdNL•^Éý“źüźüčG?žö•ś:`ů§?]&ßúÖwÍ f±ŃŃmţ�ç6ąí¶Űĺ›ßü–<ďyĎ“żř˙KTP?HPM3OPţţ÷ôOt\éh<jÚôŔ“ź|–śwŢą _ßő®‘żüĺ ż_É“ęK_úŞbó¦ńu]}őŐuĐÔők¸o_żĚ„Öoש’žžyŰŰŢl‚ĹęŤăsMŁúźË//,3¤o~óëgśůë_˙FľúŐŻ´iE€Đxőî/tŕ%źzĽĺ-o’Ĺ‹ëÄ­eH.˝ôËrË-·Ž·]yĺŐX�3Ьó#znbëÖ­%óͤßůŻ˝öz\ńŇ—^(Ď|ćÓĹq™Ëč?ĐhŤ>~‡††ýó_1ÁÍ Ďř#ůĹ/~U’i3•2ç7µŻĐףç^őŞ—ËSžňd±,«¦őßsĎßĚßSîĂÎť»Ětď˝÷™×pÚi§Ęk^ó*tQO###ň‘Ź|˘lpĹé§ź&ŻxĹ?J#Đ@í°�€24…l#ÓᏎŽÉ׿ţMůă˙$Ó±mŰvůÜç.–űî»O¦K4>˙ů‹KNtV˘W—˙ä'˙+·Ţz«|â“ÎÎAyşďč>ÔČ«ć1w5şÉŮłgOŮtý÷Ýwż™´˙Ńšä:ř©WtVľůÍo(°xä‘GĄŢ4cúÁšŃ˘¶$z回 iD€Ç;ć’Fö?›7o.x\Źŕ íżt ĄŘŁŹÖż?*‡ă Y#ú‹Ç+¨xó›ßX÷ŕ Ő×·XŢň–7Ę+_ůšń¶GÝ,ŤDů¬ż_ôü–ÖJŻ×çÜyçÝrŃEďź‹č?ĐHŤ>~ď¸ăůÂ.‘Ý»÷H3 ČűŢ÷Áń HŞŃsúúîľűoňÖ·ľÉdŹĚoű{“…ŁÖR×\s­˙üUţíß>&űďżźÔ~^˙ţďź)ű›çIO:DŢńŽ®9Xd:ۦ?€ÚŘ�(‘L&ĄQ4Ęů­o}ű´+ôyo{ŰŰg\ˇ.˝ô+5WäÓúçţđGM€*kä>„ą­ű†f®(\‘OŹe-ŻQ)ŽëžPhD-NÇ©í«¨ž0}ĘSÎ*hó<K^đ‚ç×|uE#ŻlăxÇ\ŃČ}UGóÍ4¸BŻ„űÔ§>]ö57ł†4Ç7ŞFěűĹý„B4Jń•¤Íč7č/0_5zßţÎwľ?ĄŕŠ|7ŢxŁ Úžëč?Đ(ŤÚ·tţk_ű†|đmZp…fWxßű>TspEľ {ďw&]ćĎľ|JÁ9š1ăýď˙ )YR_ýę™LÂĹV­Zéżßďkxđý�Ô† �PF#żL~ţó_”íŰ·´E"ikk3‘Ő“Ń-—\ňĄ’v˝ňKŻŻ5*ý¦›n®ŕ±téY˝zµŘ¶%[¶l5Ů2Š=đŔň›ßü¶ˇivç:݇ćKMXÔW3~¬jťńÉ‚+r4Čâř“<ăç´kĘK.ą´ măĆýĄŢţůźßbNj߉' "‘¨tuu™A—5kVÉ~űí/Ç{´iÓ˛�9zÁ†¦ú|ń‹_hN><řŕćęÔ]»vÉŔŔ ˙>'Ěr‰DŇ ˛hFŽFáxÇ\1WN–içg?űů˛ßAšŤă '×§ŽţóU#űÇ{\~úÓź•´ëUćÇw¬}ô‘ŇŰŰ+ĂĂ#ň׿Ţi®/ľŘCNźóśgĘúőëe*Ţýî÷š `r´l‘fř› ôh”FżZŞçWżúuIű˛eKĺ‰'vH#üŕ?”M›6•´k6‡µkךm' łLąRĚżüĺŻM©ýöŰP2OĎIh`CąŕŠŽŽSjUŹŃť;wĘ#Źl*YNĂżţőoČűß‘ĚÄOúsůÝďţPŇŢÝÝ%ůȇ¤łłSŤţ�jC€�ŃëŤMYř%\żŘżë]ďď~÷ćę‹IźYć‹ţé§źjjżúŐŻ3i2«Ń«Ő5"»XOO·Ľímo)Iˇ×]w›AŽâtýaB€EeşéľT-ý –Ć÷/ü@ĄÇµ¦áVZ*C¬r.żüŠ‚� ş¸č˘šźůÎ<ót©·ŁŽ:Ę? ńUÓ·˝ç=ď3mźţô'§”-.§ťvŠ™rf˛ľéŕxÇ\Ьţ§~řĂ˙‘[nąUZÇ7˘ąÔ_´ú ĚGŤî.żüĘ’€‰x<&űŘGäC.h?ďĽsMYĂ÷ż˙C%Żéşënr€E+ˇ˙@#4ňř->?©#_ň’ ĺ¸ăŽ‘·żýťRoz1…ž‡,vĐAš˛`6LMčyĎ?ýéĎň_˙őuSî8Gߏ_˙ú·ţąĎ7—¬ç›ßüvI¶+=_őŞWČ3źůô‚¬zŃś^<÷·żÝ[°üő×ß(»vížv†®ëŻżAľóťď•´ëEyüŕűeĹŠĺŇ ôG�P,� ¦ąkđ{îsź-ŻxĹ?N«^¨fĽxýë_+gźýä)=ď†n’ť;w´Ĺb1ůä'?!k×®)YţđĂ“wżűťe‚2,“5C3PžîKŃhT€śfő/Ĺ5Îő„C.]żZäX×$żě˛?—W|đArÎ9gKŁč ą“zµIţÉ‘VX_-8ŢŃęšŐ˙Ě”öO?ůÉ˙´é�Kţ¦ÍĆńŤ…f®ô­ţóMŁűrWŁźţÓJ‚+r;ěP9ńÄăM@Eľâssýę­Y˙žŻ\ąRŢő®‘< ¦LšÓń»ßýľ$KŞ>ţńŹš‹.ňé9ÖóĎ?Ď”Ńóůöě)-g˛wď>ąöÚëJÚ˙ůźßZöśëňĺËĺCú€|ŕ*yŹyä‘iXh¦ŕĎ~ö %Ł9čEyzN¦™čŹ� :,� F:7š–ôxÇ;Ţ.Gy„L‡žlxç;˙Ĺ˙RżL¦ŞřÇ…Ň@ŹrÁ9zăK_şD05ş/ńůšŃż 36ä˙HwÝÂ+XŠł;¬YSŘhóá°ˇW/ÜzëÄ•ęzŐúL"꽾ZpĽŁŐ5Ż˙™ľm۶Éç>wqAźŐÓÓ#ď}ďżĘ+^ńj™-ßXhćBŃŞč/0ß4ş?¸č˘ő·Qřű$žütµ^ R¬ŁŁMć:úÔ[3ţ=ęSϕ׽îźĘ—ő˘ýW\qeIűk_űę’ŕŠ|Ď{ŢsĚTÍ_ţryI¦ŹC}Ҥ´ut´ËĹN¦ŁřÜŠ–9ýŘÇţÍ”7)öęWżRN9ĺ$i6ú#�¨Ž� �(Ňčt¸§žzŠ\pÁ Ě—ń©r[^ö˛—Č‹_üÂi vęߦuK‹é"ĄuöôGËŤ7Ţl®j׫ص1ŃôűúÚg2ČúÚ׾ˇ¤žşž<ůÁľ;i}?MőĎ=+i˙ęWż$«WŻ2÷/ąäKňÇ?ţ©ěóu�Y׿té9ćŁĺ™Ď|Ć´SöM©•Q¬YűÄşuëäľű&®öţâ/•7Ľáu˘%Šľň•Ż-»¶ŕńÓžöT“óÁ’O<Á”itjČ[ną­ŕţ _xĚD˝×W Žw´şVßGő;ȧ>őĺÎ4Őđ{Ţón:›8ľ±Đ°ĎOďć›FďÓšv??ő~5z>AÓđ;öŘce®Ł˙@˝5rźęěě”|ŕ"9餥ŃôÜÄĐPaId=ż—»hmďŢ˝ň‡?\ćźďĽĂď#žt:e‚´µ|ČŮg?Ežô¤C&]˙m·ÝQŇöÔ§žcnµĘ­·Ţ&W_}ŤÉ2100`Jv¬ZµZŽ?ţX9çś§Lz>łśüó+TˇÁűöí+YNĎ]ęqłţ�Ş#Ŕ�Чc«·Wľňĺ2]˝˝˝ň’—ĽX¦K&ŠÓ×鏝î¸ăŻň…/|Qvď.L—§?ôŠRM—§é÷Ţ˙ţ÷ÖµîźÖCĽćšëL=Őr4’»¸®áT颡ˇ!3işB­ąřîwżĂ 7RŁ÷%Ě=ÍÚ'ôJ‹ü�‹ŰożC^˙ú7•]¶¸ô‡ţŘÁ ž'͢©÷Ýw˙x©$˝ŻmS=IѨőŐŠă­n¶öQÍ"óź˙ůeóo±–+:á„ăË.wńĹ—–¤ţ§zĄ~řˇ2Ű8ľ±Đ°ĎOďć›VاőĆÎť;ĺĆo‘˙ýß˙g‚Áóé�ďQG)sýę­‘űÔqÇ#͢ Ĺ´ś±úĹ/~%ßůÎ÷JÎujIăM›•?üáOrúé§šrĺ˛lčo”‡z¨¤ý°Ă“íŰ·Ëg?{qÁą•-KtÇwČŹ~ôSÂăŘcŹ–ZéĹs9—^úĺ˛eUô|Ąf™-ôG�P�Pd>‰|řá‡KÚ–,Yb?>ń‰OUM¨őQ˙ĺ_Ţ)űŘGLmĹząüň+*X\yĺUćO=iĆ˙÷ĎČ7ľńµ†^ËkÖ>qîągËź˙ü\0™>Ř\q1›4řCŻŽ8âĂͱ~×]wűm5YsZa}µâxG«›­}T3Lĺjk†ŠO}ę%5„őÄčUW]UĐvĆgČłźý,ißXhŘç§Ź÷óÍlíÓ7ÜpŁ9G1ÍTůśç<K^ńЬ¸ĚŽ;ÍEĺÜ{oá ©^ŘQéâ˝(ĄŻŻO‰ţő6_ö©G) @Đs™ß˙ţäÇ?ţUźőŐ×Ęć͏˧?ýÉ’lÂO<±Ł žŇľEß;ͦ›űSÉŕŕ |ôŁ—7ľńőrţůçI-lŰ1·š…÷ňËKKźpŔFů×}gĂ3‰N†ţ�Ş#Ŕ�ŠĚç/‘{÷–¦śÓ(ď‹/ľ¤ćÚŚš–ď3źůś|ń‹_´Öa5Ë—/7ŃŕJËč)ú©Řĺ—O ¸¬ZµR¶lŮ*µ¸ä’/Ś—óšď•ŻýŰăi÷ôďÖŔŽ .xľ4 ?HP¬Yű„fořŕßgNJź8Ě9äMJOMÁź“»Ň|÷îÝăëéîî6Ë>ůÉg6$ëK®śÇ±Çę0A@„¦ŕśn@D˝×W+Žw´şFďŁZňKłRĺä2ÇäźÔ{˙íßţ]ľđ…ĎŚRÜ}÷=ňío·`]ëׯ“·˝íMë*ÜVí©Äëă űüôńŢaľiĹ}ZH5SK—;,öŰßţNţß˙ű©ÔBżoüëż^TvŢ?üĂËä _(ŤD˙z›/űTąs™šuâÖ[o—Z=účŁňĄ/}Ů”ĚW®4‡ţÖ¸ä’K«WäčűüµŻ}Ý”$ŃËŐč9=úőŻłěü3Ď<C˘Ń¨Ě&ú#�¨nöÂŕ��M7<<RҦ©ö4už:唓䳟ý´üô§?‘ď}ď[ţŕĆ›eŃ˘Ň Z÷ôţçd&–-[:>¸˘W™_qEiÔöćÍŹ™¬9‡rÔJuşşşĚ¤Ű:óĚ3ĺ oxmÁ2;vě`ľŇŔ˝Băío›©MŞ%†tŇű˙ň/o3ót™|ůÁJŻôń5×\+˙ř'ĺ˝ď}Í'jˇÇţm·'E4Ĺh®v˛DL'sM˝× v]]…ýIîßŘWżúć*°­‘¬u†5›”ö'źţôg ‚<őßo-G–źÂWŻ,Ë×ÓÓ-��`aŇ‹>~˙ű?Ę˙ýßOË^Ů`~)=—©Včo|˝(ä/xľ|ík_–źýěĺë_˙Š)­ś+šO3YÜtÓÍUםL&Í…jÆ ć╟üä‡ňă˙·|ä#*›ŃWĎhPF-lŰ’Ďţ‹ćb°r~ôŁ×őĽ � 1°�€dll´âĽ .xĽď}ď5i»#‘ ¬xęSĎ•‹/ţ¬,YRš ó÷ż˙SIŤĂ©Đ,G}Ôřă+®¸Şd™ü6Í^ˇĂ3±té҂ǽ˝Ť+´˝r\K€üŰż}Lľ˙ýo›Iďź}öS¦•nRŻ4ç;˙µn?öyd“Y×âĹ‹eíÚµćŞuío´-?¸j¶Ö vë×^AzŰmwŰ3Î8]^ô˘ĚÓ:ĂźűÜLÉ ¸ČŃ~éťď|»¬X±˘h]…W§­[·N��ŔÂĄßď˙ň—+ämo{‡üđ‡?"ÇFGËźËÔßš•óUŻzą9g¨™'ôwÄË^öůřÇ?Z­3çWżúMÁă‘‘ĘçIµěčç>÷i“Éł­­Í‚ë…˙ńź’ăŹ?®dů‡ú»Üwß}RŤ^äV©‘Ň ˛Z5��ł‡� �X@,«|·Ż)ě^ţň—•ť§ozÓJÚőNĄŇµĐŕŚcŹ=züńŁŹn6.ůňë±sĚŃ’NO? #“ÉČĎţËńÇšnď)O9K�Lxë[ß\µ¶đÎť»L™ z¸őÖ[ÍíńÇ;~…űŃGý‚–+™íő¨ÝńÇ_đřĘ+'ţ ŮË^j˛dĺ»ţúKľGĽčEČ '®'ČrU„YĽ ��_t@óżř?3ýď˙ţHľúŐ/Ék^ójééé)XNż'h€Ĺ/~ń+0?U:—ůŚg<]Ž;îزó?üPyÎsžUŇ®™)ň/sśňëÖ`Ťw˝ë_ĚhĹ4;ĆŰßţÖ˛ó¦R¶d2šˇC3ő��ZWH��4zľÖškk‹•m?GNz5ű±Çc˛Gä_eŞ´„‡FtO‡¦ĎÓ Q®ÁęňËŻŻWxď˝÷ĘöíOŚ/ÜqÇů?0n©yý?üá˙H<7÷ÇĆr÷ÝwŹŻOOĘĽë]o7ĄCi:0ż5ŁŃ“Ś7Ţx“<])÷Ýwżô÷÷¤ßWzB@ËrČÁňä'źiN`*˝ă;ßůĆřršićᇖüŕäŽ;ţ:Ţ~×]÷mäž7]zŇ ŘîÄI˝˙Ç?ţÉĚ{á /©¨÷ú¦‚ă­®ŃýŹÖA˙Ż˙úĆř64hňúëo“O>Élű]ďz‡)3¤ĄÉĘ9ꨣäĄ/˝°¤ýÚkŻ/Č@Łë:唓Ą™8ľ±ĐĚçßCŤFůf¶ú –Î]}Ź;˛ző*3éo—÷Ľç}ňřă[ –˙Ţ÷~ çž{¶ąÂ<ß+_ůr3•óîwż· ŘSŻH˙đ‡? ł…ţő6_ţ=ŹÇËźË<˙üó&}Ţąçž#?ýéĎ ÚôÜČÖ­ŰdÝşµŮuÇË>WĎu”+™śŁçSN<ńxSv$źž'ťŠC}’)Ďüö·ż«$SÇ7żů-˙7Ň‘˛|ů2i6ú#�¨Žž�ŠĚç/‘‹—ż2}íÚ5“>Oß“•+W”´ŹČtiP…žü8ě°ĂĆŰ®şęšńű×\sÝř}­Ă~ćŤbÔâĎľ\~ýëßšé˛Ëţ<\qđÁ›Úî:Óhü A±Fďš*WO8~âźň%Ż“Ý»w—W(mÓy×\s­|üăź4žĺĘ~čzĚ|üă1?ěói�ÇL Ëý÷?`‚=?|˘8ę¨#L›‡č2łµľ©âxG«kô>ÚŰŰS’Ĺâ;ßůž$ s_ű“÷˝ď=eË}-_ľÜď»ŢUňőąßýî÷ ÚôDfOO·4Ç7öůéă˝Ă|Ójű´jľć5˙TŇ®á7ÜpŁĚeô¨·ů˛Oőő-.iÓżM®&Łç1s™-óŤŚLśËÔň˘ĺT;OŞV­*ÝţTÎ9¬_ż^>ôˇ÷›őĽúŐŻ,™?::&_|ɬÉĐ@uô”�Pd>‰\łfuŮöÜŕÇdĘ-‰„eşr5RóS†ë€Ż– Q·ŢzŰx»^®éůęQWUë!ę•*Z÷˝–ż{&řA‚bŤÜ'4@âťďü×IkyVr÷Ý÷ç– ˛PzRâţá%m°0·ß~‡ ôĐ+6ňŻ4ÓÚ¦‡r ¨şýöżÎÚú¦Šă­®ű¨Ö?ÎŻuĽeËVůĎ˙üŇřc-A¤W†j™®ý÷ý˘‹ţU:;;JÖ÷•Ż|M¶mŰ6ţX×ýŹ˙řŇlßXhµĎ_şk×ni”]»vIá¶ăŇ ôoZqźÖďűĺlٲMć2úÔŰ|٧֬) vĐ üRĺčürçő÷GΊËÍŦž4"µĐ¬ű؇ĆĎ]h6Ž#Ź<˛d9=Wó‹_üZšŤţ�ŞŁ§€"ůóÍĆŤËţp¨”®;G٦‹SpŞ%K–Čtĺ~ăśvÚ)ďąÖCÜ»w_ÁöÎ8ăt™Şo~óżä׿ţą™´nëWľr©żž3ĆçëŐý_űÚ7¤‘ćóľ„éiÔ>ˇ' ţýß?#;wî’éŇç~ć3ź«8żýö+x\\2h*nşéfůüçżhîëŐfššWŻôĐI7Ňé [Íç?±)EŇěőMÇ;Z]3öQ˝ŠěĽóÎ-h»âŠ«äç?˙ĺřăŤ÷—÷ľ÷ݲté˙{DźÉ*µ˙ţű•¬KźsŮe)hÓʵ\MVoßXhµĎ\zé—dˇÁşî|ąTŕŤFů¦‘ű´–{ó›ßV2ĺ—+gll´BűĚeô¨·ů˛OiiÓrŞťË¬4_äč9R=WZúܤš|¨¤MăÔâcűpI ’ţç·”-‡ň˝ď}_{ěqi&ú#�¨.$�€ĺć ý˘~Ě1G›ÁČ|řĂĺąĎ}¶ąŇ»śßţöw%'+ôŠö>HfJS|j ˙[o˝Ý<ÖčěüÔßúšŽ?ţX™ ýa Ů;Ţýî‘;žżň^K‡üă?ľ´lşňzĎű¦§Qű„ g®8účŁäe/{‰ě·ß†’«(4áᇖüŕäŽ;&˛:Üu×=f]Zo´Xń:¦R˛§ŘĄ—~ĹĽĄÁšU¦]ćË_ţZŮ×ÓČőMÇ;Z]łöŃW˝ę•ćßňüúĂßüć·M Řóž÷óXkśëT‰ÖJţÖ·ľSĐ¦Ł•j¨7Ç7šFíóO~ň™·Ür«\˙“4ĂYgť!Í@ů¦‘űtWW×xË|śůĘW®Żř<ť_ÎL.�iô¨·ů˛Oi ĐÎÎN,h˙ŮĎ~QP´Î/¶bĹ s2ß©§žl˛Ýć»űîż™�ŠŘXvÝú}ćž{ţVŇ®%Vk±rĺĘ’6 ÎĐßR_ţňW Ú5‡^,ňŮĎ~şiôG�P,� H~޸ůčyĎ{nIŰîÝ{ä?ţăseŻř¸ůć[üAŘ˙.i?ě°'•­8gžyćřý{ď˝×˙‘21P|ňÉ'Öí3Ń üt˘šRđŃG•F™ďű¦®QűÄĺ—_QđX+ôŠ ‚*—˘RŰô‡˙Ç?ţ9ę¨#‹ÖuĄ4Z(TűIZ–­÷ú¦ă­®Yű¨sľ˙ýmjp…Yč‰ÁÉ®.Ő ¨K.ůRIp…®ó=ďy·Äb1™ ßXhµĎ?íiçɆ ¤Ů4ŘT·Ý ôoąOëů„reL5Đň·żý}ŮÔţW_}Ťąš»śŁŹ>Rć2úÔŰ\اn»ívyýëß,ĎzÖó䵯}ŁÜrËm%Ëč`˙łžőŚ’v˝xě‡?üQŮőţŕ?4ç3‹i°g1ÍŔ—_fTi˙óéOV¶mŰ^˛üÖ­[ýs¨ź-飴Ů 'T"Ď™¬üFP*ä’v öřÉOţź4 ý�TG(�Ń/ş<“«ł[Ůá‡j&˝R=ź^AöĆ7ľĹ˙a¤ßńŚÜ,×_Ł DȧďŃK_úR©—“O>ÉÔc×ú…ěˇ'MrÎ<łľW›§đł¬ĆÄę>DÍBkT˙’ËĘ’Ł™+4 ¨]ćţá%Y,Š×•ońâĹţ1¤ňîëë“ézë[ß,_|‰9Ţ'ŁŮetŮfŻoŞ8Ţ14óűÍŞU+ĺ¸H>úŃOÔ&ţË_®{ď˝_ţéź^)'ťtbÁsn¸áF„Q|S*>řÁ÷ĎJiĹńŤ…¨Qý…ž¬˙đ‡?`ú†GyDšA+>üá6ĺJLú ĚGŤţţ Ů­4¸2źžĐ+¸ń‹_š`đžž^’;ďĽË”)G3u®_żNć*ú4B«źßܶm›|üăź4rŹ˙íß>)—^úE˙÷ÄŞ‚eźő¬gĘ/ůk*h×�‹[o˝MžüäłLĐ–– ÓßĺĘtww™őÓŔđç<çY%ÁŰ·o—·˝íírÎ9çČ!‡|ő·Ěe—]fJ){ţóźW13p­ôŤžłxË[ţą$0ýÇ?ţ_9á„ăË–W¬'ú#�¨ �P†^Ý=::*óŐ;ßůyűŰß!űöő´ďÜą«l¶Šb/yÉ…&HŁ^ôĘTý‘ ¬Ř·oźąŐ?ĺ"·k±wďŢńÔyétÚümż˙ýÍI™=ŃÚ¨“0ĺ˛�ŞýKń±<•ÜűíW¸¬;•čý\Mó™*h†Ťoűţńx§\{íőňřăŹű'/ž0'Vz{ůŻi˝) °µ Ô{}SĹńŽą˘™ßoŽ8âpůČG>hRóOę‰ÓO|âSrŕČÓź~ľiÓRdĺN‚jp…ŚÖó;ÇTq|cˇjTˇź˙üřßË˙ W^yµÉ&Wnb&ô·Ĺşuë嬳N7™+š•ćšţóU#ż?śsÎŮć*s˝°ŁŘ–-[ÍTŤ~żő­o’©úĚgţ]ZýĄ•ĎoŢpĂÍăÁ9©TÚożI^đ‚ç´wvvČ»ßýN˙·ĹÇK.»˙ţĚ4 ĐŚxşžr^üâšó…Zę0ź~GůŐŻ~m¦ÉuÔQţ:.zXľ|™)ŤřŐŻţWA»žŰÔŚ€_üą†f ?€Ú`�eĚ÷� =±ůˇ}Ŕ pěŮłgJĎ}úÓź&^řB©7­‹śźąBťvÚ©Ó®/ř®w˝§ę2çž{vIíĹzá *iD˙R|EĘT~lď«“]ÝrÜqÇČwľó ©=Áˇ'!tjĹőMÇ;ćŠfżŃšČ_řÂgĺSźú´lŢüXÁ< ¨(T‘ŁY0.şč_eýúő2›8ľ±P5˛żĐď)zią«Hç2ú ĚWŤěržźüä§Mş˙©Z˛¤ĎîÇýŰ%2—Ń QZůü¦ă”ĎşiŰĺĎ{ěŃ&ęK_úŞ 6¨•~ďxó›ßhŔ+żÇüöřřÇ?%÷ÝwźLĹ!‡ě÷cď¬kÖ‡g<ă|ąöÚëä®»î.hôŃͦüÉ«^ő iú#�¨ ą~�  ýň=ÝýąBŻýâ?'§žzrMĄ:;;ĺ˝ď}·ĽéMo¨iů©:öŘc¤ŁŁ0’ĽŢĺAňiƌ׽î5ŇşďPŻ•,„ţe!áxÇ\2ýŹÖV˙ěg˙Cžň”łj.]¤Ë~á ź›őŕ Žo,d|_™ú ĚgŤî4ËĚ?ř>yűŰßj˛XÖú˝ÂýË_ľTV¬X!sý©•˙=?ńÄMĆş|Z>řä“O¨řśsĎ=G>ýéOĘl”Z¬[·Î˙]ń9çś§T]V/Ŕú÷˙„\đ˙Ů»�ÇŞňďăOf¶ĚöŢ€…]`)‚ôŢADš "]°úWş / ŇAED M@¤÷*‚ô&u)K[¶÷ľ;“÷ţNr’›››6ÉĚdfľ “MąąIî=9ç9Ď9çű»ý(Eĺ i3­%µ‰Ž?ţĽĎGnżý{óÍ·¬-P@ůÁ� P%váÂ…Ö• 2ÄN;íTűä“Oí‰'žtSáMžüąÍ›7ĎU㇠ę:7¶Řb3Űa‡íc+öµ˘†ÉvŰmă–ńMó©,đZQöŕÁ‚FŘŰyçóÖ~ŻĄ¶üśĐ5Ôş|6lÍś9Ó]׹ÓŢĎŻ•gź}Î.żüŠĽ%O Ů{ďŻĹŢ>xđ`;D޶ĆůŽÎ¦#ę7}űö±“N:!8g÷˛kŻ˝.oę]oíµ×˛ď}ď;ö…/¬kő€óÝ]{–Z3ýŹü“˝ôŇ+Ź´íÓ§Ź[Vđ;ß9"oÍööBy®®­ËĹ´\â/˝ô˛ý÷żĎÚ|hłgĎqń Ĺ † l«®şŞ;ßwŘa;Ďč (?ĐÖę5ľ9jÔHűĹ/δ?ýéĎn¶»UVYٵFŹ]ôyj3h–ĽW^yŐĹŢxăÍ 1Ó˝GĹţFŽábŰlł•m¶Ů¦Í,ˇ˛ćŰß>Üľţő}í±Çž°W_}Í&MšdsçÎsł}*‘bŐUÇÚFmh»ě˛ł‹›¶}ßúÖ7íŞ«rgŐ)—^ú› vrYÍËĘ#�(_ąCeŢ—(ăo˘ŔżýĄ!ô×_Ó·5F.şO©Í Ë–-Ú� †’Éd¦Ă¨„:«Űb–tµ._^xá%űÝď~ď®{ěŹÜÔ™íůüZ9âďVĽlQ! tüĺ/×Z[ă|GgSő­‘¬€ĺ3Ď<ăţ˝őÖ[»äGKë ç7ş»ö*/”\qĚ1'Ř‚ ¬ýű÷ ę3żédQĘ tuÄGÚĺÚç/ĘEy =ôęŐs›ŕOKp™—ţŰą$Ó[B—dčoôbţ]ěoôzT±ű,� e?×ëZ…¨OAׯ_?Jˇ|É÷ťďiӧϰZШ•kŻýٵ%ÎwtV”?Ąq~)íQ^śţ…öź˙<cµ°ÝvŰşe Űĺş ęµGůöÂů‹R(Ź�´—®’`QţüH�Đ őíŰ—Ě]”MÇŠŽ ”/ů´Ćč1Ł­ZZ‡ů¸ăޱ¶ÄůŽÎŚň§8Îo «=Ę - R»m˝lí‰ňÝ ő‡Ú˘ü@{âüE1”G�P9f°�€”á]Źk˘ţ(Ó[ß@ą(_:/Îwtv”?…q~ą(/ ŁĽ@wCyP;”hośż(„ň@{b �č&TÁěŮł§Ĺčˇ1‚JQľtNśďč (âq~ů(/âQ^ ;˘<¨ ĘtÎ_ġ<€Ö!Á�ĘŔt(…c­Ĺ±Óů𝡫ŕXÎÇgÄăÜČÇg‚îŠcżz|†č({â�€Ö!Á�ĘĐŁGëßżżqtlčZňĄsá|GWBů“‹ó(Śň"ĺş3ĘęP~ #qţ"Śň�ZŹ �(SSSS¦!ŹŽ @5(_:ÎwtE”?)śß@i”)”�ĺAkQ~ pţB(Ź� :$X�@4mZďŢ˝  LĄ‡Zˇ|©ośďčĘş{ůĂů ”Źň‚ňđhżT†ňő„ó·{Ł<€ę‘`�0`€őęŐËĐ˝éб�ÔĺK}â|GwĐ]ËÎo r”�<Ú/ĺˇü@=âüíž(Ź� 6H°�€V8p ™ŢÝľ{@[ |©/śďčNş[ůĂů ´ĺ�ŹöKq”¨gśżÝ ĺ�ÔN�´Š˛}lńâņîCk2ŤÚĺK}ŕ|GwÔ]ĘÎo z”�<Ú/ń(?Đpţv”G�P[$X�@T1mll´ şľţýű[SS“íňĄcqľŁ;ëęĺç7P;”�<Ú/ą(?Đ™pţvm”G�P{$X�@•TAíŃŁ‡-\¸Đ–/_nčzzöěé›úžöDůŇţ8ß”®Xţp~mň€Gű…ňťço×Cy�m'QÇ%b®ű›(đoiýő—ĆômŤ‘‹îÓ˘Q Ë–-Ú� i:˝E‹Y2™4t~‰DÂúöíë¦Ń:ĺKŰâ| ëěĺç7Đ~(/�xÝ­ýBů®„řCçFy žőęŐs›ŕOKp™—ţŰą$Ó[B—dčoôbţ]ěoôzTÉ@,� ĆÔřP#„µ ;75BÔQٍ”/mó(­ł–?śß@űŁĽ�ŕu—ö ĺş"âťĺ€zG‚Eü}$X�@š"K–,q—ććfCýÓz“šQ"¨g”/Őă|Z§3”?śß@} Ľ�ŕuĹö ĺş âőŹň@gB‚Eü}$X�@ ­]¸lŮ2wˇ1R_ÔéŐ«—»hmB łˇ|)ç;P[őTţp~őŤň€×™Ű/”čî?ÔĘ#�ť ń÷‘`�%´´´¸ÉŠ+\cD˙ö´ť†††ĚEŤ=z¸ţ t”/)śď@űkŻň‡óčü(/�xőÚ~ˇü�J#ţĐ>(Ź�t5$XÄßG‚�����������Čč* ¤ą�����������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ $X������������”@‚�����������@ = ���¨Ë–-ł§ź~Ć>řŕCkii±ŐV[Ͷß~[kjj2�ÝW2™´W_}Í^ýu[´h±Ť=ʶŢz+9r¤���@gňŻÝa3fĚ´QŁFÚWżş·�:,�  3gδ˝öÚ7öľ††ë×ŻŻ­˛ĘXŰpĂ ‚Çía&¬iÝÍś9sl÷ÝS …uÖYÇ®»îël.˝ô·vóÍ˙p×/Ľđ<ŰqÇ ]ËjüqŮŹżćš«lýő׳®ćĺ—_±űďĐ^zéeWľ©CsčС¶ÁëŰWľ˛›mµŐ–Ö–Ţ~ű;í´źÚçźOÉܦ˛ôľűî"Áč`Y>Ě›7ĎN=őt·a\p. č.¸ŕbDŹÓ»wďŕ\bk®ą†í°Ăö¶Űn_v·Ő›_ýęR»őÖŰŇ×/´í¶ŰÖşł‰ßł;î¸Ë•KźţąK<x­µÖŰe—ť]ąŘłgOk+|h/űď}öŮg™ßzëMAŚc•˘ĎyôŃÇíôÓĎp×=ô;î¸ĺÜČ!‡Ű‡~~ěÖ·o_«Ć9çśowß}Oćß§ź~ŞíłĎW h …b‰DÂúôéăę¦ë­·®}éK»¸d`ÝŢť,Źę żţőoÜßo|cűjşČzčˇGěg?;+ç±×^űGűÂÖ-ąMµĎöŰď6eĘÔĚmŰn»µ]rÉĹÖ™„ʎ 6ř˘]}ő•�ő �h#y=ţ{ë­·Ü妛n¶/ůKvĘ)?¶�Ô‹E‹Ů/yŽ=ţř“y÷) ŞË}÷=ŕçżřĹYÖż«µĄK—ÚÉ'˙ÄŤŕSPfĐ Aîú?ţqKĐŃ:ß]?ňČWĺĂ9çś——\ŃŘŘh›oľ™ťť~˙”X¨Ëż˙ý»ňĘ«\{açťw˛®báÂ…văŤ7»ëcĆŚ¶˝öÚÓ:+•‰—\r™Ý{ď}®##Lu]ž~úżö§?]ggžůSŰx㍠č¬Ţzëíśä yŕ‡ě{ßűŽŐ‹ĺË—Ű“OćÖQ´Ź$X ˝é7Aż“&Mr—{îąĎÖ^{m;ë¬3lőŐÇöĘ+Żşä Ůb‹âmš{ソ¬ m3ś\QŻţýď§ěťwŢu×5qĚ1�ť �PCJ đ–,YbÓ§Ď´Ź>úČ/^ěnS&ň»ďľgż˙ýomذa ţ|ĺ+_¶>}ŠŹ˘6l¨uJ;é¤S\cÜ[}őŐmüřŐ\ҤŹí“O>q·˙ç?ĎŘÉ'ź”a—»™%jé©§žÎ$WhTÜEťü]Ů©Ľ›oľ5ä%Áh{őP>Ěš5Ëu:‹FkŮf›mjóçĎ·~ýúĐů6:cfĎžc“'îfAYłfŰi§ťa'śp¬|đAÖ(Áâšk®uוpĐY,ô>Ž9ć—<ďőčŃĂu (ąěóĎ'Űś9sÝíú>Ź=ö;çś_ŘN;íh@gôŕg®k69Ĺ8ę-Áâż˙}6“€­Ů{QRćôéÓmÄ´ĄőÖ[ĎVZi´»ľbŠמýôÓOÝo»ĽóÎ;A»őűöë__lm´ˇŢsĎ˝ŕţŞÝ´É&}ěC=äę…ŞsŁDŚÎŕÉ'ꞻîşŰ]×{'Á@gE‚�ÔFcť}ö/ňnWçŕ}÷ÝoW\ńw] ?ýé™v啿ëvSťÁ~pt·jŕ)Hę;O‡ lçźn^đçé§źqÓT.\¸Č=VŁŐ5Ň –Ô)á}ík_ÍŚňéŐ«—čőP>h–%ľŮf›Ř6Űlí®“¨ŠÎęg?;=6Á@#ĹŻľúŹöĚ3Ďş˙ć7żłńăÇŰ–[na¨šMÇ'W¨“ă;ßů–pŔţ9ł>˙ü ö»ß]é:ŐÔŮöóźźm×]7ÎĆŤ[Í€ÎDż˝Ź<ň»®˛HÉQ˙üçíniŤ<^{íµ¬<üpj[ůáżďfQ‚¨n?ä hKçśóóĽŘŽż˙üçiűíoŻp‰ČŠjĚżýí:>|¸˘ú‚hfŠB3�8Ŕ%Íť;ĎSĹ–*QňűcŹ=ć®4Đ=�жj;ô�Gë‰îż˙×íŹüCPiNŤ´ô�ĐŃžxâ‰ĚőN8>vdŤ:4O>ůDZϩ•ĺËWd®łŚPęˇ|ĐÔßž_.čŠÖ]w·F¶źÖ^ť›żúŐĄ®ŁOÉdŹ=–*ß”\ˇŃČĹ­łhé˘?üáwn¦Ń˙_˙úR:›W_}ͦM›î®+Ńk«­˛É^JŔ¬ZbÉĎrµćškÚWľ˛[f­xŘ€Ž cpűí·ł?ýé*·ÜĄhF‹?üáŹČĽyólâĉîz±%·ÚjËĚu Ü+Feá‚ Ýu’s }0�´“5ÖXÝ~řĂŘE]âţ}ÓM˙°=÷Ü=ö±šű_˙ş3č¤ř·ŐÝÜÜlcƬä*×ßřĆ×môčQ9Źż˙ţíç?˙Ą»ľűî»×ĎĚŰćŹ~tś˝řâKîúĎ~öÓĽŃĄšjű+_ŮËq•ňŔ÷¸©¸çĚ™lso÷Mg¬Y:4ĺćßţöw7rE#V5ť˙^{ínt`«§W¶ő>äÖ©T–˙üů läČ‘¶ţú_°řFÉőß{ď}»í¶ŰíĄ—^¶©S§ZccŤ5ÚŤ´9řŕlěرź›áň¨Ý~űżěĂ? ˇKmµŐVłüFÍGéŁk źŰn»µ]|ń…vóÍ˙Îß»ÜR_üâún¶š0«:˙_{íuw¬öîÝ+(Ö°ÝvŰŐŤh-6c:[žyćżnôŘűďঠը˝ÎWżşw°ŰXĄ¦L™–ąľÖZ >n§ťv::Ou׋ur>űěsn˙´ŇĚ™3mčĐ!6~ü8×a¤á2BŰď˙‡yŰ8ďĽ ÝET¦izâhÓV[mçţjű÷Ţ{—»ţŤoě¦d•[o˝É•Ma*»ţď˙Žq×5ŇčöŰoÉ{íË.»<ř~RëÄk6“oűśű5rDë®˙ďo¸iÜ čďĘg}˙Ĺ:`Ŕ€ĽmŞěÖ[os×˙üçkÜËW]uµ+Ż4"EK*„§U°XMń©÷Ł@‰F;©łć pż'@{¨eůPéďô6ŰěwŢ«ľŁ‹Ś9ÂîĽóöśűUćÜzë?Ý’C©úS‹+¶Űnw~Úu–wBפßČ“N:ŢŤjÔŞëwG5QŐÔ ô\Ő}ďż˙~{űíwÜ(Ç~ýúşú–JŰ{bs´Ń*ˇv~c5RWďCËů(ů ú;Żßb˙îŰa­mrČᮯzÔ“O>ęž{őŐ×Ř /ĽčÚ+ŁFŤr‡vp«f*űűßoČ\˙ć7µ-¶ŘĽŕcµLf*Ń>éóĐ4ŕ'ľg&¬™·żľŁzăź˙üW×^SY¦YzToúö··Á[ąŽ;î„Ě´ăgžyFÁö¦?T‡Ő_}×wßý/2d^xy-·ÜÜ6ÜpPâăĂ?lÇó5_2°RęPôË ęüV™łŢz_°×_˙_P¶˝íĘbq�QyřÄOşúĂ|ŕĘ‹UW]5hWěçÚ/7ÜpŁ]~ůďÝcU^…—…őŞ©»ëT;A±źÔň˛KÜčs•ĺ_˙ú~E;_Qßt<ę·ŕ#ľăbz<đ ;oâĘôJűvl °ÚzÔóĎżiç«Oh{#FhÉŁn9F%fŚ˘}ń¶Ţzëś2Ľ?śÄŻnq�őöéÓd+ŻĽr&6Ąă"ęŃG·ÓO?Ă]?őÔ“mß}÷q˙ůĎeŘ$w<(áíŕ´vŘ>çąÇ{Ľ{ďa?üá±™ë7ß|Cđ=¬»ŻŞĎ]ý î\´h±;÷Řc7·ś^ĄuV�¨,� ©âyĺ•Wą†Ă»ďľë¦˝Ž&K¨Ň¨ĘŞ_GÔ{ď˝÷Üĺ–[nuŤŁ]wÝ%sßÖ[oé*±Ş űT. 2x/˝ôR^ŁAŤ_Áß|óM]Ă*JŤBq}’Hxß4Ť±:Výë_UÜŔúüó)vĘ)˙Ďm'LŤ,]TY˙ć7sS~Ćműşëţę¨ŃŽHtąóλ\€±P0äĚ3îašÖ÷ěłĎuÁN \^ř+»ăŽ; ŢŻ ÄďUfş{Ń1¨€….·Ţz{ĐAlŕ_ŹSĹŹžôfÎśeŹ?ţ¤»ě˛ËN.¸Rɲe^|ńE— Gť~TmퟦÎ~čˇGrnW9§‹¦<WŮrîąg·Ů ęLR‚‹¨,Ť&X„ËGu\éý¬ĂŹ wN©=ăŚ3ÝzˇaJ˛ĐĺŤ7ްýë»ě˛_g–7‰3iŇGÁw|‰ LĹŃ>ťxâ)Áă&ĺÜ>yňä ,›t€ÜăĘB•‰@[«UůPÍďtąž{îyWň#·<ŤÓĺ¶Űţ”Qż,Äę’đÔ±ç;ôTGŤ&XTS'Đsň“˙Ô۟Ϲ]ťjč˘Ńé—\r‘;·Ëˇß¨Oüq¦ŁSwíł)+Qm›ŔS‡ÁŃG˙Ŕµą˘ŰP’äś[QY0{ölWOµ‘?Ľôo°:öŘcwWöČŁŹ>–“`á©\|óÍ·‚N·ă3źź¨> „ĎÇÜÍ„8bÄ+Ç{ě‘I°xôŃG &X¨cZ»˘¶$ÉÓq©cOz÷îíőwŁŤ6pťcšŮBráᎠDo›m¶J˙Ý:űPYvä‘ß-ř|Ĺ7Ô~‰Î.ŞzĂůç_dü© Z<Á©šş»b :÷Uö…)aNĺ».‡vhĐ)ůCCç¤äÍţ˘Îq%'©MĽÇ_ÉyLk~űv\ °ő(ż<î_ýő ľ–>˙í¶ŰÎ%‚čřyčˇ‡Ý ÉQsçÎÍ,1·ŇJ+•µ,™’Ç´¤Yř3\Ľx±‹mčعᆛ¸Ĺ…EÄ´gťő‹Ľ˙⬴†b<—^úŰśŰtě\~ů{öß˙>‹—vxÂ€î‰ �hGĘŞŐ,ľňůĆoć$X(÷„~ěÖëe+k$†ž÷ňË/»ÓŞĚk­seGo˝u* Ń˘~¤†2›µ.ŞF]x)Ż–×�{á…řNŰO?ťě‚që®»nĐPŮĹlµ-ÜýďźsŁ/<đ�+—‰ĘXV`B4ŠkçťwvŁ6Ţ˙}÷zŞđ˙ýď×»uUôŁä<˙ž{îµ?üáęĚż5ŠvÓM7q•ku°jßÔQŕD™đŃÎTUŇĂ +5T'Lŕ\TRĂm­µęc}YÔ7ťżO?ý_w ożýöA z°»x˙řÇ-vĹp×uî|éK;»ĆŞ‚˙ @‚ŽůN8Ůţň—?ą–°pGж»Űn»ŮČ‘ĂsgŞ=řŕîŐvü<묟Yą4ŞŔt>( ÷­o^v§JÜţéýí˛ËNnôĂÔ©Ó\§‚ÎudüăźŘUWýŢťŁcÇ®âFőȵ×ţ%ĚŘ`/Úľű¦:kµŤ-¶ŘÂ’É– ŕq^ćőüózőęťąMUź`ˇ˛ék_Ű7gU&„é1]â)0á<îąŕ‚‹2ÉzęL^sÍŐmáÂ…Ap÷1·&»‚ͧźţł ńׂ üß˙ţJ7âBA¬µ×^Ç%Ű >ĚÝ—-SAV­w­2M彎/}ľú}P D#źÂű´…Z”­ýť>ăŚÓÝy˙Ę+ŻŮ]wÝťyľ?÷›š˛ű óăÄOvA>ŃHŰŤ7ŢŘŐô~¶SO=Ýţô§«‹&Aő@É >ÁBí…¨jęJôôçőĂÝoĄÚ 3gΰŰnű—«ŹčśŃă~ü㬍t=ţř»€Ľ¨3SIĺâçőűxŐUŮ©Ńýy¬N�ŻÚ6§ßÉźüä´ŕołrČÁněÂ… ÜYµ•ô:ş˙Ć˙VöLjůäŘÍ6Ű$ř]îWÖóTŢů‹pGWtń‹sÜR’‡rűNŢ{ď—°«˛QIŞ—\riP9Żě׼č˘>®“Dßó‚ b×vä‘lg’2€0uţůszÓMSɲÝvŰfF«±#,t.«í%:Ô~°ô>úň¦T‚Ĺ•W^ť“\ˇ'ëĐČţÇ{Ěu@Ć-ŹއÖÖÝU¦śvÚĎ2Ď]{íµÝŚ�C† u#ę5°FíDŤŘVýhçťw2tNúMW‚…č÷$ś`ŃÚß>b€¬E=J‰á˘¤µ¸ÄOĺ‡Ţź,äŢ{M°xřáG2qd•ţz!úÎ~űŰ+2˙VŰIß±<őÔS®\Ň÷ó˙÷Ł  úkÁ$Ďűî{Đ 4Ń>*qU±‘G}ÂĹFDI0Jzó3!*if÷Ýżbçž{A&±C‰?ţ·dذüŮőyj_5K›ŽÓ=zşă[3ţ~“Rť�Ú �ĐÎ4íś7yr63Z luúа¦9;î¸ĺtŇ©ŻŠĄ{ţůŤî›2ÁU4}ŕNŤŠpăĘw*ŞĂV#•¨ÓŠpP3Üńč7˘4ë†2Ŕń‹ł2űőŤoěoţó_2AŚ;˘Ć•ľaĄ Če—]’3 ťF‹©ÓDű­ŕ‚^?<MąÖCVŠ*癪NkO uhkÖ�%¦hĘN­•ś}?3ł hÍ!¨‘"Jx)ÂÔń¸Ĺ›ą�xt*ĹiÓ¦ą�ž <(˛ý6čś_#s˙QG}Ď%N) †˘ĽáQNŹ?ţD&±ŢzëA‹sfĐôŃ˙÷ÇfF{”3Ą¦§Nm[e€:'PĐ& 4(ÁK ĺpYÇŹ°H®ĽňŠś©ż˙ý# Ęqn˙t>ů ڦë×Ô“©Ď(Űů˛÷Ţ{fnŘ 'a„ď÷4¨:~Ő© "© ńťTľ,Ś&XĽřâË™”m¶É™4ç[o˝ă®ëű»ęŞ+sŢźóš]ďMŁ×4bWűGÁę‹/ľŔŁ´.ݞî·ß×ě”SNĘů P AŁÜ,»âŠ+ňn—Ša€JÔ˘|híď´u­™h|‚…¦@Ž;÷Ď9ç|· ÂŞ3YŹóľűÝogęO*.żüwAz‰őLÇ˝™IYmťŕŢ{ďuŐI˘„#MÇíé7ń;ß9ĘŐÍUď×ë¨ßŇ“Nú‰{-Q™îĚôżóŞůßxý>ĆťÇŐ¶ <íóŚ3‚ßÔ+‚Ël‰öM‰)ępŐ6.żü ;ďĽs¬ţýɸqĺ'h…Gú%̢4ëÎĐˇĂ‚Ž¤żä|Ź*+ŐĄz‰<µ„d9Ë©^ Ž}÷ę`RGUt´t¸cZKťmżý¶„…G#‡ë¬JĽôŁ•€pňÉ'ílKš©Çw kKŹ©·¤Őˇę—Yzë­·ŽĂuňžŻűnĽń&w]ĺśf ź+ęÔ=2ł×Ä©¦î®ĺ TΊ:sŻąć9źĺ.»ě”ÇGşŰ^}őu,:±pl.”j~űvL °Úz”îÓw!Ą–�RűF‰_ŠAĚ™3×%3Ä-}NÓçˇ÷^–QŇ—hßôî˛ËN™ű‡Ö Şk*é¤X’§öGĺ^8éăĐC±˙ř—|Ł÷×]÷dMÔ~”p˝ę„Ĺ’őfĎžăŽÍâ—cŐç˘%e•l#wŢy �:sç�@; ŹhOc­Lv?rzܸqyÉ˘ŠŞ:pEť‘ZcÜ gśGGiű+łZŁ;$Üů¨€ťFI÷…˛“µ?'śp\Ţ~ibŤŇeś+Wî»ď>w]5Ú˘Ó Âú)ĺT9żăŽ»rî×r=t_¸*§aĺií@/:m§¬ľ3U‘čôËťvÖYg°ž_7łß~¸µÁ ]˘Óz:N‹[§Rk¤ŞcOŽ9ć‡9ɢ€ŕ©§ž’™Ć[#´ô„čÜűĹ/~–·Ä†ÖřU™á)P.˝öŻ}±KęňI3Ô ľŕ‚‹íë_?Đ?ü;nT@ˇsűöŰoĎ\?á„ăóÖÍT™rć™? =ľđ2*ŐĐç§™!D‰ š"ÜÓ4ĆÚ}†‡šj|G“0üTť˛í¶[g®ëóÖHW­OMm3Ľl“MGĺp\r…ĘC¬QÇš‚ѲVĽP AA  -Ő˘|¨ćwşŞ?i*oQÇH8ąÂSýI#CEçŤFÜőLĺżFrŠ~ÂçW5umÇ/QĄ‘€Ń:żf:¸ęŞ+ěŃGĚĚ6U‚Ű?ýéĎěÍ7SÉ‹ę¤×Ň ­Q‹6AÖP'W°N:é„ĚvŐŽ /ÉQL¸ÍVją€0%DčuE#â ŃÚŃďQďW#JEďWť±ĺŇčPOË„Diä®ďţŇ—ľTŃŇrčúTN<ńD*‰KÇo¸Ť¬ÄŤruĽijöŽňĐCe®ď¸ăŽ9÷)9ÁS›?ŽÚg~ć+Ő˘‰HęČS, P9XmÝ=\Ymµ±y‰*j/ŢzëMöđĂ÷í«c ťWx ¦đďIµż}Ä�Ű?X‹z”ź˝B6߼řrešŤKű˛ë®Ů÷¤ąÂ”«ö¨,*5ĐFÉ~‰0ÍĘąË.;ĺÜŻďEq-_U’çĚ™3c·ĄY{˘3jhŹ<ň{™żýöŰV-Í|ć“+ükśxâq™‡:–Ë= –H°�€vć+óânňď?•ąľ÷Ţ{lČő«Ů5Î5u›§‘šžN4ť5jC4ýś_ß/ܸʝpk+DSő6,ďvUŔÇŽÍv8jťârh?}ăDť˘cĆŚŽ}Ü>űěťą~Ďždš1Jl­5éiŠÜ°pĂ&şĄ§J±5OŁ &üůťj)ö1š6ö‹_\ß]׺ˇ>ŻĆŻźŠWÇąŽÉ8ąĺä•®y®ç)p÷ĎţĂůuĚ‡Ë u^j´ÚÁ3o—G|˘ K\CôŢü >j�űQµ¦)(˝_Ěšü>®ľúę™Ç(Q-<˘Ô˘ôyh¤H”:­ĆŹ—w»Ę­źîëD)4ł…>WpS˛†ďĚŽÚa‡l¨ŇďhŤjĘݵżÓĺןŠQţÜQýH#Jz^Ű·Ş­¨ÎîG¸jć­ /ü•Mź>=çąJ (§Ăýüó/ĘLy®rA# [»ţu­Ú^ˇ‘ŢšRÝ'bŞ“GÉ—ĺ(Ô~«•/~1ľ­±úęŮ„\ż\C94"Ö/?ć— /âg ĽgžůŻ[šB” mßěşk¶®˙ŕYGв~Ď=—JŚVyŤa„źuĽ‡ËSď™g˛É!~YŁ(ÍBW‘jëîăÇŹË”™ZŇI3üE“ľFŤŐęrő#üVío1ŔöŹÖ˘ĺuhćĎčŔ›(˙ťj†OďĚ9¦ÂłWř÷Tč“§žúOćş_–5Jźď.»¤ĘQ•źú]ă—fŠ /Ǩä˛j(±/:c‡(™%|{ąÇ �ÔK„�@; W.}&ąL™2%sÝŹ ‰łŢz놞35çľ­·ŢÚîĽó.7uÜ|hk¬±şkÄűił7Üp7˘[#'ÂŤ+5rĽBk/J±ő†űôiĘ\÷#AJ)÷=«2jÔH›:uš[_RŰŹf”kš;5&N|ߍ×c5qxíÁh#Ck$Š>›¸)†=­ÇHGf÷ˇ@sßľ…ŹőUW{»¦ß,ÄO©cw§ťvµrhT“˛ôŐ`÷甦ŞÔ,ĄĚž=ËZCÓ[j´. F¨GAIŤňT§ŽFGüIöÇ?ţ!32TÓpű ĄFż›ńĺ _X'3»¦Ó-µ´@kä&XĽä¦0_Îiąí{x™Qô>üŕ›l˛QÁĄ7´žňóĎ?oďż˙AđřO]9Łr)\ľ‰gŻŰ;övŚ–aĐĄ”YłfĐ^ZS>„µćwşásç¸ăN,ë9µÔ3ý®úNý^ůŽ»ZÔ ~řĂďŰO~rš»®Ů04U¶fĎS\mÍš×™öË_žăFŻ{çťwvfakÔ˛M …ęj˛ĆkdÖ^×o9´Ś†7sfů|•5ľ\ ŹĽŚ*ÔĆęŰ7[in.ľžz:dwŰm7·<’IÂË„( ÔŻŻzXˇÎt_=ôpćz\â´f=Ńôň:¶ul©37nż¶ôŘcŹgĘÂm¶Ů*ďőµ$:†U7QYˇv@4yzúôi™ë묳vÁ×Zgťub— ¨¶î®Äm-«pÓM7»÷ň«_]jżůÍďÜľl°Á®c\űĚr€ť_¸ă7ü{R‹ß>b€í¬¦Ąýń:t~—›´©rAő͢8ŠDýŔ ÍĆăßÓ{”Nšôßę qm6O±çŰo˙—»î—BŠ*\É–É•Ô_â(9¶đůTî1�µD‚�´łđÔńjô{…áE§ S–®§FT2ĎŐ¸ŤÜVă꥗RŁI5j[SjD“ÖJT#E#·Ő±čGśj]żRÓÉŐŇÜąó2×Ăă8 t &śçÍ›—™fQ ¨‹/ľÄŤ ‹ŽLQASÖů©Ł|`XëbťÂáDt}Gő=—%_Kác˝\~dGô</ǢE‹­Z*kvŢyGwQPčśsÎsç™őżűÝvůĺżÉŰżrÎcŻ5ď«ęV@DŁęýHͲńÎ;ď¸ű7Ýtc7ňDAKšTţiÔÚË/gG±Ć™X˝č˘K2K„i„ŠF…×hŻTkŽ‘r§6j­ÜňAŞůť.G¸ţT.ÎÔ»Ź?ţ$sľ„Ű µ¨ě°ĂöÁďŮůÁyú{÷»ĄßIťş¨“@çĺWľňe·śFˇ¤€pr…üőŻ×ŰÉ'——ŕ§m‚°b’á¤=żá™B&M*żĽš4)ľÝ×”Pˇ Ń2!>Áâ‰'žĚLŁÍěRÂdxŇwŢ™hřĂŐyŹóť–zĽ–˘Ëk´µĚ&ÚG%WxZ š`áËSĹŠŤ6×2�qjQw×rNZBöúëopĺŞÎMµ9tŃmę¤<âoş 3Yt^ą1ŔěďI-~ű¶ °šzÔ»ďNĚ”=[lQ|y¨Ż~uO»ě˛ËÝuÍzŁ‹‰ßËĚČąŮf›ŘčŃŁJnÇŞ+WŠĹž�)$X�@;R&uxťŇđ´sᤊbÓË/\]łŃ݉ç©á¤ŽC5ĚŐ`ŇW^y%sź¨ń¤†ŚFĹ)#[•fßŕŰzë­ÚµáŢ˙đZ”q.LŤâÓţůĎJĘÇ˙ăLăIٰÔŘŃ{\yĺ•Ü´›9öŤo»MK4Ý®:_őÝšÖÓŹ ZKçśźÚů†ţVÖsVY%— ZbăüóĎ)ůÜZźÇ fś}ö/lソć/ľřrfIř<.u®řóX˘ĺW-i$›!<Đ?âWźË¦›n⣀†,üČ”đ•h‚…‚ݞB´ÜÉ–[ná¦eU‡‰¦ľ÷ŢűěĽó.´Ö oµěě_ň9í=ZS¬|¨öwşá2RűˇŔr)Æ 5 ž…§ĂöˇI­ę:µî¸feŇTÚęĚÓŇ93gÎrťšnZ1—_~YÁŃ•_řÂÜşÚzĽ¦¶W`§ťv´Ö¨¶MĄŽB#çÎͶłŠ%µ‡©Í¦ĎAť(*ăʱďgĘđ÷ŘTGńŁ]5c…ÚiúČ#ŹfÓޝ⨚‘Â×wĺž{î-ůś|°]Ź%Í<^ŢG3I”š=âńÇ·źüäÇ.Vâiô˝â&K—.uĺXˇö“OzŹŞEÝ]Żů­on‡rk‹(†óúëŻŰoĽĺĘ]”<˘úÔ÷ľ÷Cç^Î.ü[P‹ß>b€lm=J3az›m¶™Uâ+_ŮÍͤýöKv<ýô3™ű÷Üsϲ¶ŁĎ@ű©Üâe_áŘ3� … �hGš>Î7"Ö[o˝śőLGŤĘ®=¨`ĺ&›l»Ť·Ţz's=šť¬»FekÚn5ś4’ôí·SŹßj«-Ü_Už5ză±ÇžózNăl›m O Ř4âŰÓ{.DŁcýr(ZOŘgškŠCß°Rööo{iNĐD¦M›^p»Ă† Ďtz«aTh}U˙­Ąó[Çš×#GŽČ PŠÖUŐy«Ćݦ߯gY-®Ľň*w]ÓYţŕG|¬Ę5ĆčÓľhÄšőšŢÖďź’Š5Ňß|3{ž—3ş˘µ” ń—ż¤Y^}őUÜ^|™·ŐV[eĆnşKŤ‚Ńg!ę°Š.]r÷Ý÷f‚ÍAöĂţ ď5ĂS‘¶F¸<¬ő÷ ´F-ʇj§Ë®?i Îtvú˝ąí¶Ű3˙ŢqÇí3×kY'PťDSNű©ń•< €ýgśĺÎeMaýĆoĆ®C®äŠkŻ˝Úujú‘ăçž{ľ­˝öÚ×S/¦Ú6A”ęîJ„Śóć›of®«SMU®rPťşj_ýýď7ŘŃGYô9Ş[(ůŇŰe—ť­˝í±GŞ3Fű¬ďSÉĄJMeŢŢłj ţ=üđĂ•>Ĺž{î·´áŕÁ­=(I(:j˝u–Ş#rÇwČܦX€Fł«ěÓl3…ĘÓŹ>š{{-ëîšACťáľC\çěÍ7˙Ă®¸âîßűŰőöťď|‹Y,:!Í0ŕ—eŇqâărR‹ß>b€lM=ęąçRÇÂرc+އ(©}»í¶±ÇŇ �ŃĹŕÓq ™ˡ¶“OŃŚ…–H*{�¤P3€v˘Š«ď¨ŤRSEŮ»űîű  îşë®Ěőm·Ý6ď~?ňZŤ†GyĚe˛«Áî×ç“­¶ÚŇýýß˙ŢpQ%ÜŘkJ"ńŁ8ŃŠq4rĆOCn�†×oÜe—ťňVňÖ[…má)ůîşëžŘÇhôű[o˝e@54u§č8~đÁ‡ >îž{îsÇlxýHť# ę˻ロ3ÝtŘ‚ ‚ăř©Đ”´é˘Ë?˙y{Ń©˛Ňť˘ŽTżŢ¦öĎ'„)L›8 .ř`ČŞ«®š3Ýv­)áG•Ą¦ŮM%Oř˛OU˛‹¨łA#<%nypYŁ‘#qÂÉ#­ˇ2ÚOi®Qv ŽĹyď˝÷Ý” 3gÎ4 -Ő˘|¨öwşš±Ć{ŕ >NĎçźĺAP×T˙żä’Ë2k]kšëđoWµu%ŞCAIßďż˙AÎ}ę(Řf›­íK_Ú%sŰ'ź|»ýď~÷[7ß<5íľ:0öłłZ•pXm› ęî»ăëőęŚđÓ˘«}´ŃFZą;ěĚuuvŞ<)DI2żüĺą™ňFłg[ë˝­ě¶Ű—3˛šµKť=ľ~Áň RąńĚ3©Î:•wÜq[pÜ<Uđâă j·„gFik>řHćúYgý¬č>yäwCĎËmů˛T Ő4Ţ/·UmÝ]ĺĘ#-ĺ­›¨|:üđof’ ”¸Ş™;Đąh»łĎ>/ŰŰkŻ=s’jőŰG 0W[Ć�«©G©ŚP‚‹řdŞJéň43Š˙.•Ä©eOĘŽ=ú T&=ňHެU=B3ť��ň‘`�mL7Ýtł}ô˙e¦—Üb‹Íl×]wÉyśř ˘Ę|ŕF+ř…§Q >čˇé­·ßľp‚…ÜvŰ?Ýߍ7ŢĐeË{[n™j\Mš4Ée€‹F1ZgąáőLŁť3Ú'ßY©ĆĆĎ~vΔ¤˘ÎŃkŻý‹»®Šýľű~5s_x”Ś}¦‘cW_ýG+Dë"úéú´ne´cXű«}Şt„ Ą ¶?”h×čWgŔŮgźkßůΑAyńĂśűöÝwźĚőłÎúĄ ö…é˝ôŇßÚąç^`pHf´S)9ˇQ¨˘\'žxJl‚†Flž|ňO2eŇ.»ěRp˙.˝ô˛ĽmhŐŃŕí·ß>Öá Aˇ`ڍ¬đA$M±ëG DGłn±Eęßę<öI->&lđŕěúöZŢýę°(Ö±[hżüĺ]ÝuŤÖąđÂ_ĺuRiů(•I§ź~F\Ů735(ĐjQ>Tű;]u*iK~řQ·öq” §ťv†{ě ¶Ç_-š,tŐyŹ?ţÄLr€~Ë4Ą}t‰Žję˙ůĎÓö­o}×.¸ŕb»ä’K]'Lęá>X/ĄfŁĐ>ţâgŮС©ßI=÷Ę+ŻÎ{\îď÷´Ľű«mD©,.m ©®Ď:+[ŻWC%Kmi*pßöŇçvâ‰'»<˘ĺ‰/~đc\ÝŔż·˙řD«µp§Rˇ©ĚGŽi›nšJ‚}öŮç\’…¨Nî�ä‰'žĚ$ hTwx¤yś/ůK™ë<›ĽĐłgvÂä¸ßÜpŚ Řň¨QZäŤ7ŢČlc‡¶+úř]wÍîăSO=ť“Č X€wăŤ7g’Ż<ŐĂ/¸ŕ"·„HśjëîW]uŤýß˙ăfÔűë_˙ž·ýŹ?ţŘŐ“ü{ŐL:čt<öŘăöíoé’!Eł0}ô÷rW«ß>b€Ym¬¦Ąýőĺ‰ON­”8|ťëOúsćő÷Úkʞ·ˇ%ťüw¤D•ýa:~Ď;ď›={Žű·â#áŮ—kˇT˝�: –€ŃH3ŤÚňT±ž6m†kŔ„G3L0Á­ĄJţ™gţÔŽ<ňű®Łďúëop:e”«QńŇK/ç4 ţß˙űIl†˛:D42\#´|Ĺ>šm¬éÝĆŤçöÍ?&®S±¸Ô(XUÎ'Ožě"«¬˛’}󛇹űôŁŘÓO?í*Ő jpŔÁ®sFküiDą¦żóŤ›>ČÖ]wťĚ¶5Ía˙ţýܨů‡zÄMMŞĆĄ–_xď˝ěŢ{ď-¸¦˘h$Ů>ű|ŐuĆč5N;í§AĂss[gťulîÜyö裏şmkÔ™o„­ˇ%'ľ˙ý#íňËď‚ŕGő7ĺ·Žç+š]§ýÓOgnßţöá9Ďß}÷Ý‚cüˇ A˙Ś˝óÎ;ÁąpX0Ü5čT\%8îçşŰµ<‡h}Őý÷ßĎĘuâ‰ÇŮ1Çďű XtĐa¶ćškşóTŤë?ü(§SUÁ!?rŐS€Uű÷ä“OŮŚ3í°ĂľĺnÓ¨+MŃ©ű|‚™:l:č@kŤµ×ž™iâ”SNsĺ–FŢ„G§yéňŕgÖ—Ő¨úč JÂPG–‚8ŇŻ_ßśŃlžľ+%ĘÉĹ˙Ú%m¬ż~j[ę\Öë <(3Ýhk{ěÎŹ˙şĎLCšću—]vrA”)S¦ą5®ýkčs,4ý9P+Ő–ŐţN—Cu$Őź”ČŞßňóϿȭ{¬óŁwď^öÁ“\”@~ýëűĺŚÚ›Fłú)ťuĚŞ\W9`Öq}ę©'çŚ>őŞ©¨MŕŰ j[¨óGËH 2ÔuJh&-Ý'jłÄý&F©ÓOIÇ’{?Ť­N}ux:çÔţP'¤Ţë)§śę¶Ż}ń3)TÓ&Ňo¤>g˝ÍjĄş—FűεˇŽ=öGV©3Ď<#ŘĎă]‡™Ę@-Ź˘Ž1cƸ™{>˙|˛ű<ŐQôś¶XşHĺ°÷ç?˙Ĺu<kdntI—=öŘĂMŻĎÝ'ď(ą¤-:ŐĐą=ôPvy]vŮ©äăwŢy'űŐŻ.uçĄęŇŠ‡řÎÄđLuŹ>ú«¨ţŕ™čřUů%ęČŰpĂ ík_ۧdęž­řł 7n5[cŤ5\˘şŚĘ_ć¨|ýŇ—vv#ţŻůŃŹŽłťvÚ!¬ĺę-Ź?ţ„}öŮgné#żŻQŐÔÝ÷Űo_—ä­ú‰’µTn«ŚVůôţűçëÝ™şË~ű}­ęúÚĆgü<hë§Ž{}_j +9FÉÉžÚˇ_|aě2:µří#Ř~1ŔjęQ~ć+Őń´ýÖP˝BżëŠűĺ§kŞdF.ŐY~řĂďŰe—]îbϧžzş›Pe”b6J¸Đ÷&ú¬O9ĺÇVkŠëx—_ţ;— Ż}QlĐ A�ťµ3�¨ˇp?J šÎMť…j8\rÉE.QC@ď|Ć»§LăÓO˙nU!j`h¶ Ďg«‡©cQŤ«ěs¶µ¶˘‘v 2¤Eź…ÖTCčĘ+g?ţń©nů�5H˙ńŹ[ň¶ˇ†Ő1Çü_Îmj¸ťvÚ˙sź—G ęľ__Ť0+䤓Ž~ł\ǰh}LżF¦uÔ÷\ Të°Ă ‚.+ěꫯqAyót Ó±¦2"îüVb–f¸Đ( l‹RPâ ϯhŤĚ/~qý 8zˇŰ¶‚©µ8óËQ`ôěłîFDFýň—?ηłÝţ)H©ŕB”¦=˙üsZ˝~°‚2šbWÓäú}Ô¶´äR´\Ýzë-3ëÔ‹¦áŚľ®łáÇ(čQ�öŔpe“«Šđôă=řᇺŃÂŐPgÇďąKQy¨ŕLÜ6~/Ľđ\ÖaF›«¶|¨Ĺďt9Ôˇ¨úÓ™gţÜŐź”ř¤K”Fl)¨ t´bm†QŁFşDębÓ1·¶N v„~‡O:éd›>}†ëČřÝď®Ě{îj«­śűäÍžQ~cµ\ęűšÍć—ż<'řýúsNy dČsÎ9ß]˙÷ż˙ă.ęĐđťťŐ´ ˘~öłÓÇç:?t Sąsá…繆JéwúĘ+/:Ę.±űďOÍ\Ą5u¦Eé{<ăŚÓ[= x)š\ *óôúŞ_jMőh‚…:Ś/ş¨ÉŐťüČŮ=ö`yäR'eř÷yçťw.ůµĺ•LĄçéĽW‚†Ę?~śŻ"š5Befëô _űÚľ™vo«ÜQÂC1á˛3:Ł^!Júö ÚJx/ŹsÚi§şëzާ¨ťˇ‹§¶GSSď‚ ŐÔÝ•üńÓźž´Îwĺ’ăt‰Ň9\ŞĚCÇQ˛źU%ŽęŇJVDśZýöĚŢß–1ŔjęQZE”´UM˛÷Ţ{ďé,<•iĺÖ×<}¶Ë–-wő}Žěđ#ŞÇüęWĹĆ~ŞĄŮţú×ë]ýEIh˙űőîvý¦l·]Ű—�Pk$X�@Q…\ŁĆÔń¦Îą=÷ÜĂ5˘KQŁç¦›®·Űo×Tm˙¶)S>·ćć– 8:ÚÝwŔ_/T&şo\Ť9Â8˘”ĄíGd+đ÷ZůŢ÷ľă¦Ľ÷ŢűÝ´ţĘ‚ţěłÉ®q%ʸľîşk‚@ĺnÔ©FĂ*X¨ŠĽF‰ďż˙×]Ă4Ž‚0«¬˛˛«+ű]ŁĆ4B@Ąßýî·cG „iż.¸ŕ<¬QĂOËł,]şĚe÷tĐ®3FŁÂ€Zřö·ŹpÉ˙üçż\Ŕ_ç´šrQŁ1>řŔ 1ľjěs,8ďĽsܨWMgůÎ;ÝZĽ˝ző 6«şóţŔżŃŞĆş‚˙*wî˝÷>7íĺ|čFś(Ů@çĐ:ë¬e; ŠjÔDŤ¶Ňţię[ťK'ľďÖÖč•ńăÇ€˝Ý®j’4ôꫯtÓ~j„ŘâĹKÜg§Ń/Ńѡů +üěá5ě=}Vë®»n&(mĄ@ŚF üë_˙rë®.Z´ŘMť¬Ń{iQ«$,ŤQy¨ µ/tĐďÉšk®á¦:VpŠQlh/Ő–ŐţN—KťŃ7ß|ÝqÇ]™ú“Fa© R‡Ł˝Ěú‚z¤şčđáĂÝhľí·ßŢťKqkЇUS'0aM»á†żŮm·ÝnO=ő7Ó“~Ó”±Ć«ťy;şŃťĄö!ę裏tç¸~źužků’+®řmćwď˝÷˛>}úŻ}“˝÷Ţ{®CVŐücŞi„©ýsíµ´«®úŁ«—h”§~łUvŘÁ­J®đ”Đůóźźé:'´vąęsZ^ÉĄšÍJŁcU7Ř}÷ŻäL“^kjGýţ÷ż :v®pKˇ©N4oŢÜĽÇéXŃL\~ •‰Ĺę;čž´ś_.OuăRËyę$óť›:Ć|‚…\pÁąn‰˘^xÁŐe•ŕŁóDç…ęçž{¶KFP[CC"h7Ě(úZzśźťGu¸ĺRă¨LU'˘¨SË*ů™2ÔŃ{ŮeżĘ›ű˛ôn×ů¬X€b8űď˙5—rÍ5×Ý~5uwÍH¤˛í¦›nqm µ •ďë.*GŠ ¬A}Q'wßľ}‚řÚ÷[Ą:p9Ivµří#Ř~1ŔÖÔŁ´\OÔŇ ŹjŚ?ÎÍ6ńć›o¦ň•ż<HĘkŐnąĺ6÷9jŽ>}š‚ďfĺ lßĹŐŰTF¶}W]uEP6˙ŃÍf˘2Sߡf€Î¤Üô¶D™÷%Ęř›(đoiýő—ĆômŤ‘‹îSÄ aٲĺO������ş•C9ÜŤ„•G}Đ% ĺĆo˛ßüćwîşfäRŇ(€ň(9ĂŹÄżč˘óm‡¶7�¨„’ŘN;í wýwżűŤ\�ÝYŻ^=· ţh:áyéżÍ‘K2ý·%tI†ţF/VŕßĹţFŻG»Ďa^a������  zîąěÔç™ kĘ”©™ĺsâ„—�Ҭ˘�P)?ÓŹfnĐňI�€® ������ ‹ůđĂI™uß×\sM[wÝu €ąéđĎ>ű\Ű˙íśsÎsKsDiÚ|-;&ÇkÓ%�t]Ď?źúŢpĂ/¶éňa�€öĹâÍ������@đůçźŰ˙ř'ëÓ§Ż=ňČ#ÖÜÜěn˙ć75�)MMMnvť=ô˝óÎDŰ}÷ÝÜ,óć͵W_}ÍüIK&SłCűŰGXĎž= �*uË-7� ë!Á������čžzę?vď˝÷çÜöĄ/íě:ʤ 8Đ~ó›Kí'?9Í>ýôS·ČŐW_“÷¸††;âoÚ7ľ±ż��� ������@0uęt0 ż-]şĚV^yeŰ{ď=ěŕ2�ąV_}Ľ]ý_ěľűî·Ç{Ü&N|ĎćÍ›oMM˝mÄ‘¶é¦›Ř׾¶Ź­ąć���„%jđ¸DĚőbţí/ ˇżţŇľ­1rŃ}őwٲĺO�����������¨+˝zőÜ&řÓ\ćĄ˙6G.Éôß–Đ%ú˝Xű˝Uě>§Á������������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������PBë">}˙Y÷·Ąy…����������€ŽŐĐŘeRf°������������(ˇË¤‹Ś]yLęJ˛Ů�����������@K4ZW ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%`�����������P ������������%ô0���td2{{"‘°Ö>żÜç����€úDĽ��€úD‚��u ÚF3:/}Ç…ľ˙rź����čšt_Ä ��¨O$X��PhôvoŐM�����]ń‚îŤx��ő‡ ��€:@Đ �����D/�� ľt™‹L'Ůś�€:Dcí‰Ń-����Đ9/@{"^��č]ë÷‡,��hŰS‡ ����t}Ä P)â��t,,��č@K�����@ń��€úÄ!��Ô'¨%Fł����@×@Ľ�µDĽ��Đ1X"¤.‘`�č,‰H 5p ¤ bA&����Đů/@-/��Ô,��@Ô%ŻPpŁňŰł×9Ľ���� ó!^€0â��Ô§®“`Á�€:nĶ´´¤oK<é¦JŤńÇEôqq·G7E}����:â#^��čjşZŤ¦Ë$XřŠg2Ůb��´…jz®oĆ7ŁFݎBŕ¤ű¨tşÎčmá–óx����@Ű!^€Z!^��芺Z]¦Ë$XřŠ�@=ňżOą“D&xâ'ţvŹ J÷‘)$©tZP����@}!^€R��:ż®őűÓuf°HĎ\‘la �@ۨ6x „¤‚$ŮŰĂÁ%ÝKü¨’řűă‚%Ą‚-����€¶CĽ�m…x� +H40E]ja �@KT‘e™°DN $:ĹgtJĐpŁŕI×RzäI|@¤X $i…GŻ�����ÚńÔń�@W•čb?@]'Á˘…,��ő)<µ§ş$’‰LĐ$MŐl€Dżoáűžt^ŦéôŁ“ =ÎLÂ’čfŠŤP����Ôââ�€®.aĚ`Q—ZZŇ,��u¨ˇˇÁý Oď©[âFśäަżÉ÷YÎ6Ńąä8ŠŹ:qKĆ>6~{L���� 3 ^€(â�€®&a Ö•tť‹ćTbE �€:“Ť’ČťöÓ˙bůŞEáé=ýó˛ŹóŰ‹nő-?Č‘˝=oÔIdôIřvŐwŠL ����PçŔ#^��čĘ’]«˙ľË$X¬X±ÂýmiYa��ÔŤHŃEq čČ<2׳SFů5W ĹEšÔ‡B#Aň‚ %~äIxÔIţ%DJ±ŕ ���� ~/č��şł†®5E×I°Xî,šI°��ÔźTŔ$ IN˛‘ĆƆĐí©uW8ńĎó|Đ$u=˙5št¬J%âgŢrŁL’-9Á?ęÄIr˙ť˝=îő����@ç@Ľ ë#^��čî­Ké:3X,O%V47/7��ęŤ “Ć &™ŇŇҨ´äSüsă'Ů©?=‚&ŁÜ�Eřa>(â®[~PdyP· GZZ˛ŹWp%oY´Č¶����őŹxA×FĽ���łĆ®µBH×›Á˘y3X��ęŹFŁ(č‘lLZC2Ž$B#R|ăVA‘TĐ$ĽnŞn ˙;*$!hŇńâ¦ăL&­čz©ŃQ(şžúw:bˇŕIs‹577Çľž-����@ý#^Đ˝/��tG-É®U˙č2 ‹—,sW¬` �@}ń 7ĺgđżĆĆF7ͧ›ę3h7öhLÝÖĐh=üőô4 nÔFŁ´´dFĄř`•Bp¤ľD©DÉÜ@HŇOőiˇŔH2‚¤!îoKsęúŠćŕľ[Ѽ–-S"i2¸Ţl�Đ™©üóĺ]›é€źÇb/Yϱlj]S˝s]óřŇ»˘‡ íŁžŽ4~/jOí@żD>a%W4öh°Ţ˝zXŻž=*ŽźĹ"‹ČކŽGĽ��JSů—šÍÉĄş†=şÖ]&ÁbĂ-v3��ęQ´Ý4„“AăwÁĽ™öŮÇďŤç¤-]˛Řz÷îÜ×ĂU6’É.h’y~DIĎS°Ĺ'l¤$Ůŕ.ŁR:FÜč“čż}pËFümú·‚"~:Ď+V¸`‚$šňÓŤÁżÍ†ŹZŐz÷|Ó J©1�čLâ¦!^ľ|ą˝öú;öż7&µ_3:uv{i(űiN4X=ŞýçSźďł;Ş‹)ŔíDuwô–qN¤Rţçë’­;˘n^Ďíu&»[˙Éě~Âşj×~ˇó4iŮ#,÷ł(ąÁrd­ý<ëë[HVpjĎŁËiÔŹT‡ÚsçεŤ [ixŁŤ;Ôš‚8Á€ľ˝¬wSŻŕëí™nSŽřßőhĚŔ'rřç/hÄ � ¸Bń‚=zŘĂ ¨W]&Á�€z \46?żÁeđđ•ËJ¶pţ,›ňé{¶bŮâ ńĽÔZ\Đ$i={öH@Z2 dzĆŠÜĘg6`~=&'7b9#Rô?}ż˘`ÉŠÍ™Q)Ë‚Ä ­ĄjAgcc:rUkěŮĎô·d¶Kć6€®"éĘŔ 4´Ú•ʉDÇtę™ň2ŮFżËńż÷•˝VĄťĹůŻŐźu˛C¦´N}6ť±NÔ7’EÉvÓńuŇÂő§hRT¶C˛¸DCĺcG|ŐĽf[ďŻëL,xoÂJŤoë*3 K„*{Ś_˛ĽíĄ¨}.·Ë˙ [qا~‹•ßWr_\ݡu? msl'ŞČg =7¸2hĐ 7KĹ {éťĹÁ{ťcë¬6Ŕě\úYŻŢ˝ŇmË9mĹ Z´„5|Ź$VÔâ�PĘ3Ô7,��čP ëۨŤ›°‰Íšţ©Mź2Éš/ ‚&©‘ ~ ĐĚŁ\ĂşPđ—`Ilj®—šş,ń#SüuMń©)=—.YFmĐĐŃÖÔo¸˘÷™Ą`��ĹDĘô{Ř®/›¬ťhĎQŔµ$Cç¬[%ÝBtÉ6üČ*I¬éČĎ0YpâŹŢ2ßWĹőłŽú ZűşmżżÉĐŁŻťL?ß“U´„;M $�YY[e›´&­‚™XĘ}\Nľc±LŻdë“!%ö;s.'Z1-u˛ĘşDN†ŚKČlN/ńZ:¤ź˝űÉŘgľŤ[ąĹF ígÉ>˝][Rń‚0?(#nßRK Ł/�� k!Á�€:ĐĐŘÆŽëţN›ü-_¶¬đcd±Ôt‘ŮéM«1¶ťćSë¨ú�‰żMS|jjOK–/[nÍÉF<|ëÓh:° �(_Ç—›í3-s±Ń‰‰Đc*ÝfkÄwâ ăU´¤@ĹŻä8ëŕžđbť°qwůź‹mŇ=®˛s-ŐÉlHË&HřP’ŃŇ4´˘•î[ďL’ÉÂżĄ›ąť˙•,éĄBĘ|bátĄ¸GĄ˙•,ňřjʨô®[[l;ó•$WÔP¤J °čis7Ú»Íwťđ#‡šőn*đĹĄăž„ágŻ`‹ú@Ľ��€ÎŤ ��:nhéˇ#VvIS>ťčĐáǤ.©Ů+4öFA“pp$<r€IÇJF¦éM],(ń˙ö#Q–-]îF˘ 1Öšú é)Đ�ŐKqÝ.ť45éQ*o3±CȩԫšV-*řšÝQR7‡EöSČŰŻduÝÔ¨R&_%ć`ń·…z÷“ŃçubÉ"IHɸ÷śó€Dd[V~ŢSćÉČż[ĎĄ#DfäpúE¶ÝÚ,‘z˛Dw´ä=Łň¦~°T»żÁ.ëá’,ôąŤžĹ R3Tř¶¦Ź„— 'Wdѱ��Đůu™‹$5 �@'l(h˘é[‚FôÔĎŢłćÍ©+šSkŞúƶdbŤÉü¤ ~ë‹›ě34%¨ž(X’ÔúމF<te,ÉŽô$ŕ�ĹôěŮÓúöícýúőµ^˝zXĎŕ’ú­l±–A0zŮR[´x…-X°Ř–.]jmM?Ă˝{÷°X˙ţýë˝­A7*12(ó—/3[Ľd‰-\¸0اnTb]jőĐđÖΞQ ę7esŐ‰¶úĽĘŻŁ$«Y &’ą×ýńť,°¨«O·”ÜbĄ“ťíČM$ÚţLV[&S?ÎĽ°E’·R×s:#c¶Ő©% ·Ý2GYÁ7™{¬[n$G›~ą‘,Š•…sKJżLčż:U'Đooż~ý‚ßß^ÖŁgІN¤fXľBK+,~{żÁ‹ę÷÷·'Şç,YŢÓ&}6Űz÷JŘĐÁ é‹T’‰Q¬Ś"ą˘ţ/�€¶ŁöwT*11•śŮ«WŻH˘&Pf°�� á Ő>Î6RS~f J˛<lŚMźúiĐłŔ­Ą!™ł6gjűąË„dźźť4şO¨ť¸ď×CÂßUřľĚú©APOSÓ~6qäŢA°d›ć3ő=ń]uWѲ#óď*†˙f¶‘ČdeE4LÝ‘÷Ř[ŹďÄëJswŁÍůňŇ˙ž…ác?˝ćAźľM6|ř 6l †ôě™J¬hllČď.ɢą9čTi±e˖۬ŮólĆô9Ape‰ŰP2oöü®V˙{›3ú3Ó+ë0n|¨ <ŔFŚb÷sűÔ«g/kěŃ9źÜo@s25Ĺóňĺ¶xŃ›ěϬ™ólńâ%©Ŕz"żŰĐżýśĎˇ†żZ¶ şµdŇÍ‘UÎł-w_ŞßŻzL­¦>UËşWąźM2Żc<áŠäČd VÖÚr±Ăá+|O‰řIČyo‘`©Ű—Ëț÷-úŻźv˝ŘG”ĚY"$żł2QrżÚOkŹĂ¶:~Ý'–ôł¤?ë¤/˙łßŤlôs«őÇđu™ÜWÍůgU‡p _®—LBĘ9FK>¬š /ç’}Dńý ď{nYŐRŕžÔ1Ł[ ěk#F ±ÁCú§ë=]űY·ŤL¬ŮÍą4¸Ěś9×fÎc‹/5źx•LźËţ«Jýţ'Óßéó!])&\gČü†§‚‚ŹË™˘$‘zlćSUý¨1÷鍍=máâ6{Î"ëÔ‰\(xP*6ťĹ"™wěĺČ ^ж -´*^Pb–˘ră—nŻUň<ĘT+šXěŘrżůA›{Yzům]Ź ÇÎ5CőŐ#|ý!ú8 N—I°ŕ@�TŞÔČŤJ*oĄÄ=§Đvt{cŹ^¶ňŞkŮGďżâ*†ę¤ 'Sä. ’żźŃ©@Ńö PânÓÚŞÍ-Ín4JĐ÷g#W4w}@CąĐĄä—Q­=—}·‘äGďKÚśŮsěő×_· 7ÜĐę6M^ě@Ażçž{ŢÖXcu=ztĚă8†Q™đtŐ™$‰–ÜN'=FŚsC]’EŻž=b;lÜy“htť ÁS¬oźŢÖŻ=jMť2˦Oźm -ŠôúfG­7¤;)bgs:ŞÖÔÔŰV[m%—\Ń«WO—ä‘/™Y´ľ{ôčaM˝{X˙~M6xđ�[0z‘}ňń4›tô¬hYI˛Hd:—ňßg^wy«$ZqOëWZ=&WÄ)8Ň<¦ÎŘžŻďĺMŠźîĚ;b’–=Š&ńUůgűĐŰMńÎŢdNwp˘čłk»ăq5Ľ¶řh*=ú­ĽżuGy*˧¬e7–hÝNXőźa~S)÷†¤µ~'÷[Vâ1Ą’ÖvĺIŐ”¤WîA]ŕöd±‡$B’ą7÷éÝŰV^e¤Ť=8¨żż="Oőmáਠ~›{—ŢÁďt˙ŕ¶ú٨ŕw{ňä™6mꬠ˝˝<ťăZf#őĽÔ@żŤÔoyCÉÜ㜎ĎdôJ¨NË’ČÖדˇ÷쏾D"Ű)Żvdccűřó96lh?—hÚ’lÉtŢŢ·ÜăťxAű"^€Z+;^L–őcYh°–Ěť;×^{í5ŰxăŤ]Ľ ”TĽŕ9?~ĽŤ3Ć€j•Š«ű$µn&Ëe™ëĹÚNţľTR[ł{žfˇŚK´?‡ßMxĚ`�č–Ę©ĺŤD«°mśZďÔoÂŁweŔŕánä­bEáµ8u=®˘W,é'n”Šż,]ş,¨Ŕ'­±gßL0¬łt0ˇm ˛ťůłłěÝwßÍ»OŽcŹ=ÖM‡\Čś9sěOú“}ňÉ'vŘa‡Ůf›m–ąĎw"ßpĂ öŘcŹŮľűîk_ţň—íĎţłÍž=Ű=~ 6Č™!G—űî»Ď®»î:Ű~űííÄO,kô PLÜďWBťéŢâľ}›lÜř•lŘđÁé)°‹wJEőčŃč.«®6ĘFŚl'~ăó,·gHżÁ-™ýĐom¸Ěvű”î¬Öeř!¶Î:ă¬wS/—”QĆ»Ěyż˝z5ءmŔŔţ6eĘLűđĂĎlńâĹ9ýŚ Éě>Ő'żĘ;ę± ô‡R24><g/“]ł®X¬ÓĐŹRŹÓŮëεN¬Čßráäđr‚×ő¬–űXÖ¶‚‡´tňzS4éˇâÚ°©× ý~ׇżťkMXŐúökjŐ”ŢJHŘSˉ4Űęo“>śěf¸ŇěVá¶»hűľ-žH”΋=’±W‹ĘΚ‘š«ˇ1÷uuü,KöµEKVŘ€~©Aöâ“US3Ĺäv@Ĺ%ˇ#/@%Z/8Ćúőď[p›Ĺâ˘2äď˙»=ţřc¶Ď>űÚWľň»öÚk+Š$3Ů˝@ő˘çAj¶źn& ÍVá·KmĂ˙fű„J]_˛d‰»ôíŰ×%Z´W=:',��(ˇĐ ţzNgPŚÚR•°ü祂7ăV˙‚MůôťĚ(†p'OęQ˝®5Ę‘ ’äNÝZiěc ŠŃ±2oŢ\›5k–M0!'<hĐ ’eeâĎź?ߍ:‰NŤčË%U¨1Ş�—ţńj¤FË?]¶ŮfűřăŹm«­¶r·ß~űíöűß˙ŢľýíoŰ~űíg}úö6 RŮĺ=rw\sͱ6dč�˙Hk-Ťbí×ŻŹ­µÎŞöÁűźŮôiłó’,–đ>Ą^9µ$ČJ+Ť° kŤµ^˝{[5ű“Z7ľŃV;Âzön´wßţ8/É‚T˘A·‰Ô_I¦§]IwĆ?)YÎ1Öůę*ůőď¤Őb˝’öNd/ńŇRćLáw™™Č*yQ]Z"Ó•ěŇ„ĺąÇW2¦Ź:iÍyĎJ¦“Ůâĵ­âŮËQm°ĽhrIť5Ó }nĺŞćí´ć»IDĘ&ť #G±5×ZĹú6ő±jhOz46ÚČQC¬Gđ;üţÄOmÁ‚ĹÖ‹-é}ŤÖ±Ë;T҉éäRű}†Ť¸ď¨Á,Ô9™Ş—4[ŻžMöΤy6tP?ëŐ’ŰÖ´Č6ŁI©íęńT#/7nś555eîKĹ ‹ÖőŠĹ ĽÝwßݵQvŘa‡ĚăçÍ›W4^đÉÇźąxAÂxÁ?‰ f˘ő ‡JŠPL+îţBŰ—·ţ9:ľEŰÓíJ˛P} X7ş/,��¨Ż„©ŇĄ‹:b|#ÄbüĹ-÷ZÖ?¦Đ6ýhňÔc’6hČ(űčý× ]ŹĚ_±‹vü¤®(©7©u{#—Ô|ݶlŮrëŐ4€P bĺ4řŇ·ťtŇIAGóš9ŹSą°hŃ"7ťˇĎ˛WĂR-G.sôCô·TASjäßĘ+ŻlßýîwÝżgÎś™y}5T,XŕĘ:-ĎЧOwű€Üh˙ZzýÔ(«ÔőÔ~ #”/'y0}]Çé ~mŤ5V©IrEXSź^6nő1îwsćĚ9Áß–ś×Ź&Gúß^%XŚ3ÜÖX3&ąBËDëg›9j¨ŰźwßůŘ–ä%YÔ3f±(¤ÜŽŰÚÎÔN®HÍÔ™f>îxJVň˝ĹŤÜî,5҉ő,M&*˙¤ă’-’O@ÓgVj枆ęŹëdů dDg(¤µßuÜoCŃÇ'¬p†EÍÎ÷ęµţójß÷ „…#†Řęk®ÔG{×ŕĺÓ$‚íhFŚäš+Űű'ŰĽósf°Ę<:Qć‰<¦1Ýžo ęĂC÷wuţRutQpá‚%Agč<›3{ž-^şÜšĂŻeé<rLkfŻđ>­hęésuţĄn94·tH˛!7Ń"2«&ęń´V\ĽŕÔSO-/PÜRíyµëu]·©ĽkHôHŐ Ë˛Ą+lţĽ…™x–ellL¸xÁQGĺž?cĆŚLBĐŠĺ-¶`ţ˘üxA˙Av衇şrOŐ>^ ĹÂ… xAĎVÍ@„î§X‚¦źąBÇb]ţ6)g†µd$ˇŇ´ĐżuŽřűŁ3Y� �€n©šĄ4ÔpPEËW¶üvü_ź|á·«F†Oš›Z,:űEö1Ae0ŃT× Ö M eI˛¨…FˇřDšÔz€-î;Î~źŚLAü¬9Ĺ %L\ýővß}÷Ű÷ľ÷]7eç-·Üb7Ýt“í¸ăŽöüŔüT‡˙ţ÷żíĆo´©S§Ú:ë¬<ţ{¶úę«Ű_˙úW»óÎ;íđĂwĎ5PőxműłĎ>sSjÄÉj«­fŹ?ţ¸]vŮeî±m´‘[bDŻńŹüĂ>řŕ;öŘťĹ# (%.±Â_WÂĎŘŐFŮĐa~ťßZţ¸5¸eGĆ®:ŇýÎÎť;?“dţ=w°čŻöeµq+YSźä Ký}.VßĐXđDđÜŃŁ‡şßü‰ď~ě×ňI˛¨ü—¨úťěî?µ|˙šÂ>w¶ł"}Ľ~Ö�= ‘Űýžť= ?Ň´Űú¬< ĹŃnýž•×N¨`ˇŤWŇ"o­’Dڏt™°„OĘ)¸Áěr3•|/®Ű0:{Eäů~ľ Ôk”$ŻD2Ň‘ťżÖECěcăţ]đ5,‘“DŃÖe\[nżĐ¶«>”Ó‚Ńs,îĽk>ĎÁŘŞ«ŤvłP•>­‹ďśźé'ó¸ŕ߯ ~[lâ{KmYzđDÎ{Owz˙-ot‰ }úô˛á#Ű1ì©WOźĘ‘yśnkÚÓ† `K—ް)ÓfŰÔslń˘ĄnÖJ Í~ˇ„e7Őą«'„gjQGPł54öp‰Ë—ݰĆůK›…µ&ö¶CĽ�­ŐšxÚë÷ßżkĎď¶Űnvë­·şxÁN;ídG}´+{4Xâ©§žr·O™2%/8ň;.^đ·żýÍÍZyÄG¸Y,¤Ňxču?úč#;ćŘÚČ‘Ä PZ´Žç+öî—‰ĆŘKŐŤ˘Ź?¨ÂĎbá“7RłNöä7yH°��Ŕň3\Ă•¦đuU®|r…O˘ …˙úŠž˛ż]vxCCÎk……oKm7‘™™"ŐĐN¦g±đŹËmTe+’$Yt¤b†á�J6Ľ7¶Ý•/W₣o˝ő–›ŠSTž((1fĚ·´Ç;ďĽc>ř ›]âp÷)ŔáŹ+MŞä‡5ÖXĂ•CŻľúŞÝ}÷Ýn$JśéÓ§»e@PŃk˝đ îö3Î8#§śŇý›nş©=ýôÓ¶îşëضŰnkýú÷7 áßÝđ,M:ćFŤaŁÎ‰6|u8¨źŤYiX8Yę.Ńr8ĽoýúőłUĆŽ α~ą›)s€dKţhďD"Tţ»>˛ę(›9s®M›:;řwz´xŮżéĺĎ&Q»j‚˙=cZG)@ô#“ć.Č>/şä\¨#1çŕË=jňúĄŰPůČI—ůť˛ř lčŃEĎ…zîôË…”ęn‹ť=ĎŠK&Š=.u®·ŞSß÷űĆ&WÄ<-Ů6Z2óźDôÖĘ·•ÓżŐ5ëö™.ŢVž™ó)Y|f’đy§źIÍŚ6fĄá6hpżtrE•ţÍ)zVXÚÖé$ _N¨Î1oţ"űôłĎ][_uW7Q=Ŕ¬dY 6úŔ}měŘQ6tč€Ô˘bÉâ{Ó»w/üî2Ŕ>ţhŠÍťłŔµůł3\&ÓŃ_Ąš´X*'µĹ>}úşňÚÇ|Ľ Ą%5"—%EëńTŁ5ń‚í¶ŰÎŢ~űm/8p ‹Ś5*/H•ëšÉňý÷ßwí{m_ń‚{îąÇŽ<ňČĽ×ŇýĄă‰śxÁ3Ď<c묳®m˝ő6®]”+.~®ß:%ůř©¤Ţ—‘Ě$7fŰ|?@tvj@H°��ŔJŹŠň#T©RĺĘ/ĺ^®ŁŘső<?Ĺ^xj±¸„Žč~-wŻ×3ł­R݇úă%⦜KMV47P‰?˙ůĎ™ňBA‰Ż~ő«vŔŘşë®ë‚&˙řÇÍnt‰’)N>ůd4™3gŽ+«HŮgź}Üĺ±Çłë®»ÎŤ4 /qndjzO­µŞ1Ţ|óMűőŻmĎ=÷ś›ÖÓ—Aj`N0ÁŤJQ‚Ĺć›oáF©°¦jס …FiÖ“ŃŁGŰŞ«®š™âşvéđżëŠp={š˝bäČa9ʉ*Ő1Zô}‡Zđ˙AűŮŔýlŮŇÔoµŰŤĐo­Î‹Ť=lČÁÁy4Ŕrg®uVGöSő…™3fآŕś9b„őí; &)3˝?‰ěűT’Ĺřń+ąN–ĄÁ>%­ŇeGĘüdŞů� nĐj˝QT(?y7J°(=2?ŻN*žąÚľßqůł$-:´˝Ôűôł> —–~íěňŽPň“)ôÝ–ÚjΆVé÷^zÉď†ď.,¬˝µZ?<w¦¶ýňË9ţËyµÚËd63%»íčď›OŇIFź[Ţç­Ç)ť ±ˇ1řýč–ńH$ĂÇaëŰáô«Đ/WjPĂŃ#möěą6ţ‚Lb‚K!L$BĎÍJ„ž?h@“Ť7Ć%o†+eüŢĐ7¨cŤ˛O‚ësg/ýň'c–ÍÖzőěe:Őš›[Lh¬ uŢ%Ó×[S =/@­\{íµ™A]>^pŕ©xÁ6Űlk·Ţz‹ýýďĎÄ Ôľ›={v&^ Ç§âŹń‚?Ű'ź|ęf×K¶$3夯ôíŰĎĹ tQĽŕ’K. Ĺ RűÓ´ˇ&LX+lÄ ž ⛹Y3Rń‚Ö—ă¨í/ČořŮĄó©Sż“Ş”\h.ýé~[SŁÜŤŃşŠŢŁ0YËßPĹ ¦L™ę–ÍQ"Ô€ýůŤîdH°��t.5Ś•¨J'?řŚUUŕŠÍv7#…ż]ŰĎd}L±»wĐ I6äN#‰Ž `ĺÜW`=U’dĐZ{ď˝wd⮫Ńę×WUą˘™)b“&MrÇ×f›mćîóÉ`}űöµaÆąëÚ†:°ŐP,t,4ȆîĘ+MóŮ»wo÷ř X±50ѵ|úé§.P§ŃP Ěi ŮńăÇ[­¤˙‰ôŤ®“ ‘h°‘Ł†Ű€AMVhęq>žô‘ F”˘cW í&ÁŃw6×ú4ő˛áĂşő†/Y–Ó)čg‘R‘¦űÖzę9I™C>7ą@S•ľńĆ.ńHINJDÚyçť N…›;JQIýNža6éŁ)5ëK´ůé™ű ý ÄąŐ?B]€Ő˝P¨ÇвťĘm}hUš\QIżĐż»‚ŞÎČôú ľ#Úý·‚ ĹĹ6°hŇWŰÖ)*y39,úɶv/“%î­čí'ĘÜŹdŢÓrîŞ,'˙ĂRĂÓHeWďŢ=mÄČ!Ö»©wč÷×˙fvˇ[“~ußŔM6jä0[´`±µ´ä–Ż>Q"ülż©¦Ţ=lÜjŁlpđűݵRłPię< Ż5®:ĘŢ]ĽĚ-^šž\%÷XČŽ ÷3É)˙}ű3ô;ĐËşzGĽ�íiĎ=÷´#F¸ëZŇ@ńJŠL°f/ś‰lľůć™2ÁÇ |űčĐ!®ýŁt•3©ň°1ť™šş ŠčąęT÷ńµĎ4«N¶¬_ĚĘ+ĂŃYäĆ ľÄ ŽŞqĽ ţwËĎ.wźŽŮ÷&ľoß{ĎĹŻbŹ·d6ˇBÇîŞcWł 7ÚĐ%§§–\Ěn×/EâăůµřU"ŇóĎżh=ôÍ1ĂÖ_}ŰgźŻÚر«:,��uď7żąÜuv4$3Óe3bäP;ôĐC­±SćĆ,ůˇĘ”O®đ ]7ަˇˇäö˘ŰRĐg˝ŕčz„ ZůřYZďÔ'U„-]˛Ô5hŐx\k­µ\ĐDSpj4Ik-żŔŤlŃ(ŞÉ“'»©•”ˇŔ şM«éd(Ó_5ţk0‰ŁŔĹčŃC Ţ˙á‡ÚťwÝiďľőNY JFZiĄ•ěë_˙ş›m%_ 2Ŕš&Ďt y‚ŕJß~}Üc’yŁşóiťăgź}Ö~řa[´h‘;o8ůüóĎݨ0%CĹKä ů]yĺ©‹ŠGXçvţĺő#%ÂţÂĺMëUŐ­ŰĄ´Eݬäô!“Ěë¤ÍéĚůgjôV%Żĺć¨OuĘ–Q˙Í{vM?›Ę’+ nĄťëĺmýJá® GźM¸ł¸¬-dĹ~¶1Ó+ÇÉŢóřśY j#łu˙!dŠŃ¶_čXNuD[äÜČF-öŻĄTąŢHˇY%ŞŢ Űhü¶Ý?Kś[9żE‘7Ţ«wO4¸řŇsŤ•y˝dj&źđ :ÔöÚkŻ‚ŰS䓏§Ř˛+¬\ŁF u—­á—Mqł` ět޶O>ť–Z¤€ě2Hčl ZĹęďJčn·xÁ‚üx’2t/ąń‚·Ú<^଼\W¦jůÜ®żÉ^{íőt‚Eě–‚(5°Â'XqÄ·l«­7‹}´Žs ś¬Ĺ,sçÎ bŹÚm·Ýć–ôŃysë­·şóRËö¬·Ţş†Î �@Ý»ţúëSk 6ô̬Ď^̚ƕť`QŠŻ¨5§§fŚKľŻXž_.D™äĄŢ€î)vV›ôM÷Ýwź 40sßčŃclŰm·u Ú˙űßnä:pŻąć»ńƆŮznŞĎÖX°p=ňČ#n‘>řŔ5”7Ůd“Ř€‰¤ĽüňË64Zożý¶ÖŻ?ëŞvZffĂ 7 ‚ŻŮlŕţÝÖ ęgM} O+úüóĎŰ›oĽiëÇ÷ŕA©Î t´°Ž˙(}´~đÝwß] Á"TŃ”Ţó,˛-ąŁŞ”đˇűzżÝĄúĂ ŃyŁex”ءYgVYe7“…ÎQMÁ«Ű4b,W"ŻG°_˙>n˝ů9sZe ˇ­Ć>­ô¶e?˛ĐöË:uöކ¸)×}ý°#Ţ›_ň"Ýgl…‡N'ň˙7,;ţU vV—/>ßÚmµ>ą"śPá±µe’…;&¬}…Ół˘Ý•ť©ůüö*yF2/‹'7ą˘çLޡ”Č»’űřdh餵űwÔ!ÂFč¦ę7#Y|™«Üd›Üͨ˝<`@ßŕ÷´xřZżď…ö(3Rzějă‹&X¨˘ßßé3ćZ9zöěa+Ż2ŇZ+ű¤ŔŃc†ÚÔiłmĹ’e™ä źĚFç<€bń•‡jŹ{Z˛Ań%W¨-2věX·HMâ ňă›nş)ń‚n¦­ă93IĄýň šM"îwńÉ'ź Žµ—l“ŕxÔl,˘DďđľrČ!ˇG¦ž;mÚ4»ů¦[즛n˛­¶V;=?öď—ęŞöwXII˙üçívÇwşÄá‡nk¬±ş=đŔvď˝÷şŘš‡b»îú%Cý#Á�P·|€óňË“‰Ý%J…~‚»űöícµ¤Š›[Ó,2˝cŇn¸á›2eŠtĐ!nt¬¨QqăŤ7X˙ţýí{ß;ŇĚr§wôYŻęxaöŠ®#oşO‚_¨‘Ôz)něm´Ń†nůŽÇÜ-Cpຎ[MÓxÝu׹2ę?řU¦Ĺeň>Ě-%ňꫯşrNÉjü…—8ňÖ^{mŰj«­ěĹ_tA– 7Ú€€IˇĄ5Ž:ę(P0¬Đµ4dŘ€˘÷ëxÔťk­µ¶ 4ČݦÄťŰlłMŢă5šJç·Aŕ/+?…`Đ 6ejС±¬%{_˛ÁŤž<¸ř>ɬY3]°Dç¦ćU獂L (*¸©ewî¸ă¸Ńçůĺ/9s>ĺýf¤{{‡Ź’N°¨TY$íőŰTŕőë”Ř_íěŃwD=/ŰQś¨0i!®ăŰWŔ“ń/ăă B‘ńźC˘Äżsö#~ËfɲFÇ“I†±Îr´VŻ=ŹÍś¶“µ-÷Z‰9Éř¶­“^23&˘IXĄźîLŹ^Źnżň«ýńîŽ+])˛Ś\ĄÇ]ĎžŤ6tx鎿źţô§±·7䦥%¬wźŇŁ«‡Pv‚…›«O/KĆLxˇßýéÓ§»:ęú ôď;ďĽÓ ŕęîŃOĄ)¨w ¶ąřó™ŮĎŐh_vvÄ ĐVÂń‚G}4g0—:ľ5ŁPĽ@Iß˙ţ÷­5´<HNĽ`ăTĽ n0ń‚®«˝ă:Ţ B娒~–,Yj믿n:Á"a3gΰYłgŘ®»îݢ[®ăÎ;î¶wß}×|zf´Ţč;Ş1uęT»úęk\˛“ęGq¸;/úç‚’ź´¤ŻÎË+Żü;_÷Űďëé%| uŠ �@Ýň-·ÜŇý­u0°śmé1J†VÚüsU|â‰'‚ĘŰçvÚi§ą™).˝ôR{ýő×ÝTţŃQ&álŰrĐčş/ż ‘ĘŤSO=5hDć/] ŽŰAŰ7żůM;ŕ€\§®˛ŕ÷ţęW]CM‰\Jö:účŁÝz¨ €Čşë®kgťu–ŰľF¬(вÇ{âÖŻ_?;ţřărŞ%đöqŤW•ýúöł!AăTűłí¶Ű¸ ‰¶-j *0ŁĄ4Ú_Át ú][yĺ•ÝĄ˝h´j1~É®1É>q´D‡ŽŰĺˇßól <ięÓŰC·§ÓŁGc°ŤŢ9·Eé<ąűî{ÜT»Zd˙ý÷·ŐW_Ý}~˘`“Î1ŤčůË_ţâfŁQÇŠBâgÂJ˝V©Ď˘reL7ŢŽIíUĎ)kYŤ6Ř•ęë®ácÎ'ţ4ä˝Fîżs· G‡Ó]ZB׋̽f9CÉs’Ň3F¸»łű”JR /Đ’ŮRô•â?“{ă“;’ 1ĎČM|n­L’E˘šY,üwŐRňQí­Ľ9LÚčµ]Ů–ť%ÄýőßUhöŠd~Î[YňŽ«L-“Şbšś¨53¬”ş^ą†Ě~e“,’Vů'W+ů©MáóOőÔ>}z—ÜĘżřĹĽŰRŽI‹¦ĐčoN”î©0°ż•kÄČAďÓ4ŕĎ=÷śëTQ}\usŤ˙ý÷3qŽ<Á>:Ŕ&+ÁÂ:îŰPß*‰(ńAmţŠăŤ 8¨żtđ¶çž»ń‚ÁAĽ żwü±ÖĽ˘9h#ĹÇ ¶Ůfk[kí5­đXŐ Ç®şJ/8Ęć/88h[őt9Đ5tDĽ@ÇŞŽýBu˘LĽ ‡Úâţ7?aąm«dć˘óÄĹ –/ŹÝžo«űÁ—­ˇ$-i¦#Ő[Ž:ęH[gťµÝ9(ŁFŤ´Ă;ÔĹÖ.ľřb»á†]¬n·Ýľl¨_$X��:‘Ú… NĂS:űű}‚EÜÔĎt –<˙ü vöŮg»Ű4őž*KjŔÄuVčş*{ĺ&x�č>â¦ţŐm©r —}ú4ĺü»ż~îâEG¨©e <eĘëâ;Ä”Mź˙šýűpOIę@ÎLGšh}ĂőE#'4Ő¬FYlżýöny‹Ö®1^®ţ:fÝŢľ}{AÄüN—Ť=¬Oßâ< ĆhéŤŕ9â#\€)ôQňŇvŰm炚—_~ą{Ľ,â+|'­ű,ňűźÚLmëánýÎĐřĎ=7ˇ'ŮĘč–Č–Ň·ßJř»Kćď—;&Ă3´¤_$żŁÔ=#Q¸µlˇß•¶HĚI¦§1 ŹŻu=Ľ-¶Ůjˇ%â¸D“*w5ű=%ňoK'W¸7”żěA±ÇĽ'Yűď±Ř>$ëä+ŽŞźĹśŢĄľ‡RÇŻźQ¦ěÇ'ÍŠ=DżÉ}ű6Yk$b¶ť¨ ě¨$Á±Ř šŞ7iĆ Mť®ß~Ő 4•ľ:/żţőŻ[tźEÇ,¤!¸­%ś»F|�čÖÚ=^® 6Ô]ĽŃŁGYÉxÁ€ěö•°>4xţĐĐ6Đ5tDĽŔ':Äť…•ůű©¤îD~zcµK„()äŃGs Çw¬[$:ŰË€ýí+_ů˛[NçôÓOwKť`QßH°��Ô5U\6ß\#;đ gť6a­qvýő×§Y�Dfj×P%ĘW‚”ý}ňÉ'ŰŮgźkŻĽňŠ{ĚZk­ĺ˛Çu_x™őŽŰ (ŚúÂwŚZ ŹţÚŰĉí¶ŰnskějmRÍ\˘ieŰRűw¤z™R3IÄß_j‰2%Nj˝T7}ňR2Ů’3›€ź©Bꎂ3Ĺ’żąŻÓŢźE´¸•ĘQˇř$wŹUŁčíh"\˛úągËťĄšăş-ëXn}eť§U˝Dz†�-ŤbťGC´Ł˝ÄăKŢďľ§†śÇÇ-ŁcVú;­‡zugŞŰ§vµ@âLÂgU$s’AÜ(č2Ţb9IBÉčă­:ĺ|pţó\‚E¶$u^§®Ż2nu»č˘‹¬řë–żçö-xR(ůX#ĂűŰßşúýź0a‚sĚ1n&«Śd×ĎŰŤvĚşD›!^€Z"^€ŽÔÖń‚zHPÇó[»/ŠL›6ŐĆŹÔÖĚl/ú:Ľ´Áë»ÁžsçÎ3Ô7,��uM• M5ßĐOV˛hŔ(%™™Ň®Ôv‹Ý˝7ňÎ_4^jM´†ĚăRëÁĄ‚áç* RlłJ¤˛g“n-¶p€’Q-mŻP€8˙qT$nIˇÔ?:â`JvĐ뢞466ş-ZäţŞÁß6ÖśČ]ΠˇŠ@aô©ÉDöâţí_%3Z4Ydîdîv ĽžaŞNëtÇőý÷ßo˙üç?]°I#U~vĆY™eu¬ŕë„¶žě‘ÚhěŚ0áÇ& oŹsŘ)V7ŞżNŽBGbCčľâÉ Ą¶;aFú8KÖ.ÁŁ3Şe×eĚÜu'ÜvPqÓPĺWž:ź´˝ĄlB@˛ĚOş3$W„*ŰnG…G^¶Řť†"ł\”ŐîL6†ž›~^C8+™÷S•:^â~ă’ˇżŮŰóÚ˙ÉâĄäŕsŢWô·=µ RzxG¨ş÷ĄÓ’-ľÍź˙{­÷â*}Ľ@UŻRť śH‘Ś){“Ö¨Rh©m'Ű _Rqę�…xÚJWT6ë�ę][Ç ˘u ?‹„_"§¶™żáă4ĽD.Ťe.U»}Ő‹ŇŐ›nşĹţt͵.‘BË‹^ýÇßŰ ASUĂWPó×-,��u)ĽTÇ}÷Ýc©ĘŤubŁĎ>űĚ®¸â {űí·mĂ 7t•,M˙y饗ÚńÇo«­¶Zzę˛dN˘Fí+��ÔŢšk®éÖëŐr[l±…­±ĆÖÖ\ТˇµA‹j^7™íHIf{TZLI¶XC˘˛}š5k–K®O>ůÄŤZ©|ź*Nµâ’5ۢ»˝^«ťg†±–×s5ät+NĘ<"ď}‡:>ÓÉᔋđĂ*íXöźu"™ż˝ÖvR—z˝d܆EŇ©tľűY,*M\ÎYďŔ/ĆŇöÜ÷“´‚ `aÉČó<ßqÜ’(˙ů9·ç, „»™A m©Ł#Ć©ţ8ĺ” -­ŢýÎ)wy~VMß]¸gŔwĆ•“‘: S‰Ĺĺ•Wćü;®Ś©T%ë¬/X°ĐO üüóĎÝěšďż˙ľ[FTeĘoĽa×^{­[R4Ľd_JęninÉţŰ•ÇI˙‡ŽI�ťFç©gٵÚ;^ŕĄöÇUŇÂí§č€Ë¸ŐĐŚ~– -ÖÜĽÂĐą`�¨K™�ldö‡J+2µ¨ř(ű6.Ŕ˘ŠÜťwŢé’+6Ůdc;î¸ă­gĎžöë_˙Ú^~ůeűÇ?ţa§śrJÎăýţh›Ě6�¨wtk„G× oKóç/˛ˇCX{[ĽxiÔČÝŰĽb…-^´Ôúő+=öZń h;]/ŕ[ĽS0•7Pú=§“ M; .ú Łĺvěç%ćřÄâh}·@"@\ŇEŢcĘ ÔűQĺłŇď'QäłJ÷»WR_ď¨fĺ&§ÄĄŇ¸·Yŕ=Ć}Ćqßsî 1ŰÉűbłŁm“žÓ…S%ŠiÝů_^bE~˛IνE¶Q‹r)ţ;meŇOÝ Źě,Ľ#ů MĺžWn9-ýţöďcímÁü%ĺ?vÁbX`†Ş|ĐŢ}÷]Ű` ě[ß:Â{Řu×]gŻżţşÝsĎ=öýď?ď9ú´fĎžźşžô·ř.â�:—rgtAçÔń‚p˝A5¸QĘ;–Âł_Eë$1ż©ˇzK´ľžąşM•ŘEÔ,��uďî»ďIUšR˝’u‹ŘöŰoo•ŠVśüżUqS%Ę'Yř©Čtź¦üŢ}÷Ýmß}żfÆ s·ýčG?rS‚ki“Ôöň÷¸Ü)Óhx�µˇĆ—–îѹ׫W/ëj´>ă’%KÜ”ŚJôjoË—/wű Ď¶őÓ%ĆÓ´ĘÓ§OwĺéčŃŁŰíýé™3gŽ{?¶3f¸ë ęVłéĽů裏ÜĚ1cƸ™™tśµĄůóŠ'Xč<Öń ă® .tż§ĄÎ}uâ„*SuŹŕuV4÷-±~ý|OűE9ćĎźoˇPçWe‰˘ŰoO÷záOVr–jŤ*/řđdfNŚl-Ľ!ňśř ¤…VŹ|ŹIĨíwYřýűśD…IąÂËş–It°¶-]‘×Ëه2Ţc2ôX+‘<»ÝČ'ŕ‡á»-$CË"ÄěsĄÓ×čC,8ťě­‰ÂÉ<ˇg´÷(Ţř×)}Îç=#Ů6Çe*Ů#5Ke2WN$¬9řM^¤ßß O<ńDä™ĹË-ͱŮf›Y1 ć/˛rÍ6×V3"ö>ÍP±ÓN;Ů®»îÔ'‡¸ăŕ°Ăłx ŕҦú<fΚż$Y¤“ �ęYř·H×§Nť´©úŮ€íźLʶŃń‚čďťbBĹbş?Ń xÁ˛Đ­…ëEjskĆĘč~GgŻđqŔ#Á�P÷~ůËłÝŇĆ?ëC‘Ž­ ’˛ÖZ«·*Á˘u¤ů‹đ(]öŮgźP1µŰĂí裏rĎIŽ’9ÁAÝ®N:*e@űQŁďăŹ?vĚQŁFYWŁő.?ţř#[yĺU kŰŇĽyólćĚ™®A]ë`‰–VřôÓOÝ÷6räHk/Ë–-suĘ+ÁbҤI®Á­ |wJ°ĐRXšĆZł5­»îşvÔQGąőAŰŇôéłŔLáótĺ•WvÓkkô§?Ţ”Ł%94TÂŞ•(Łű×Zk-+fîś¶bEjIŽl00iË—­Žń…6|Ä`+ŘÍü¦7LJ=JčPŕ°ŕë̝뎡r’˝”\ÔQŞ›i«ĽÎ×ÎŞĽŇD¤ÎZn‡fŰuľú:kf†~?µ@˘řk».đLvMĚLIÍRa±_yˇŁ Ř±^˘'oň‹to}Ň’ŐR™÷?ş>óv“Ů}jé$ŹKĐí±ż'µ˝I(ĹŢKµď3Qâß™×)rÎ'ó¶Pćůí“)bľGźÄ>cvĘ*˙Y–źu‘L\î ďg˘Ň]Ë3…¦jië"3çü-.\$$˛O.Ľéôw?˘śŁ;zLĄn_±ĽŮfÎg#FŻŰć-bĹ,ÔůS*ÁbĘç3¬\s‚úâ…K¬OďÔďz¸íŻÄŠ( Ě8ôĐC3˙Žîę’ĹKmÎěéô¬l RęôĚ-o� łPŮřÎ;ď¸2Xmjb˘]CGÄ ÔŽV ¬P"®j}úĽl/<˙’ 4ČݦÇO›6Ănľé–ôٞőSŲ-\dë­·že“Łłu~ż,I5 z^SS“‹3ÍźżŔ Ś™ů*ýŇÓ§ĎtŻ×ÔÔ¶[P=,��uďÄO0ĺ)ř@gń9,’6xČ@kŤB•$ź`uThJTý3Ľ\t:1UČĘ휣Á¦óKŤ9MˇŻFŠ VZi%·Žˇ’)tž©Ă_ťňú·|}úô±M6ŮÄÍN –Ů®5‘Őé©uuj[ęÄU(ŽžŻŽĎÉ“'»çű×Ńů­ýQgĽ¶­éÇŹď¶ŁÎ_5Üôx=Fł12ýu®«1ŞL{íż2č5#„:…•X íkŰęPVcQł(hĆ =WĎŃě ZłqÚ´énÝK,´ozßzí#F¸÷ŁD=Vď]źŮÚkŻŰ¬ű•Ô ýĐg6nÜ8ëŰ7µ<ÂĉÝgĄ×Ő¨<%hęcŤFѶőYęş’4“ŹĎü~¨3\ź›>c}úŽ4>ďhyç“bŢ|óMwź>mëĹ_tßłöOë}jż”„ˇĎVď[źŹďt×űUGĎ×ţčµâFSčűŇg׳g÷˝hߢkbë{Ó~ë8ŇçŁď`„ 5ź±ŁŢčsŐg¨ăYď]˙n뀉f°X0_ÓmÇ/ɱĺ–[şcíőW_Ë›áAËsI¸IÇžŽá}÷Ý·ŕk.Y˛Ě-M^"Äý†˙Óą¨‹%K—YSďř2Aç§Ö›ťüŮ'ö÷ż˙Ý—úĽÂn˝ő– ÔŰť:\,FÇoęýµ®ŮŢq5Łŕ;I‡Pőű™,¸Ťâő»RÝíńŻ•ű|+şýDô)ÉÂť˘ţ\Ę$gÄm1tc˘Ř ůĚă‹ďcftvxoüyYô©‰Öe#¸áóîJÎëĺ$Y{zĚ,x9{•(=EÜőjŇ›ÂŰ*ă+Éľ~Ç}ěsŮď,˙ţ≭ݗđÇíżÚd(P^(ż!u_"tĽG7l‘}kĺ7”Ěî[t»îźíRD&âoIş·ŚťJúd¬Ę>—đ™WOĎZ©zź–ßXşdąőn*ś”xÄGäü»Ô¬ŞźłháR÷»_îW¬äĚO>žjkMëţÝšc7üŚĎ'Ď ęééuŘłŮm™ĎŠĐ}(Q\1 ďPlAídµ'ÔľU›TíµýußěŮłí˝÷ŢË<_í µŹ•ŘĄ8Ă”)S\›VńÝ®‚îÍ7ßp墟±Q·:Ô=Ví^ĹÔT[[ݎvŚöA±=Gqµłµ?ŃX§ž«ýWü@ŰÔóTFę})fĐâf*Zdn¸Qpßâŕ±gâ(Úf±¤uÔ‡Žč8-6‹ĹÎ;ďżÓě…ç_Ž˝yţ•˝ćš?e^.PçÉ„ kŰ7żyE,DǬ^łš íŻ8&}ř‰]zéo¬˙€~öĘËŻä<ćřŁŰ—O?ý,'ô öÉiŻl\TŠ �@Ý;äÝßÔšŁV:ľSŁúF¸Ň¤Š”:Xâ‚%>cÖĎjá§÷˙Ní{*Č®ĆFxzűęF‡Ý›Î5 Ô0Wă[šjĚýď˙sAť_ęřW0BIş(�ѧOSĐq˙‰˝˙ţű.@ ŰôW^y%ó%n¨±¦üč’>ţuŐxTgĽ÷ᇺ,z�žţy<Pr‚ &lµŐV ´oÚW5B• `‡$/żü˛mşé¦îýčyzś‚zŽĘ ˝–öYżĎ ¤čůz]5ÄÔĐţj˙ô9č9zO>ȢíhzĽ7â–+ŇűQ‚B”Ô }ÓuR´}6úÜÔů«×XgťuÜűŃEŻŻ2Nɢ}ÓçĄŕ‹öYݧmhź´oúLôľ·Űn»ĽÄ•— ¬č±Ú_?3Ç[o˝ĺ¶é—ęP†>3˝”ôą*YE÷)CŰĐ~iż•°˘0%Whźt i»Ż˝öZ&y$LÇ“\i_ôť‹ŢW¦ĎuŁŤ6˛W_}5|mŘn3ŔL™2Ó®ź`ˇd!Í µĺć[¸ ]śp§¨ľO‹«­6Î ŃHŃĄK–ĺo'™ °(ůbά6zL|‚…Žß=÷ÚÓîąëN{öŮgc÷ë‘Guu<n˝őÖ¶ýöŰY1:f[Ł–µŠbťDů÷4|Dg«ë´uHí·_úó-ŻÎťy!`ĚěnҬŘ6Ęx[U ™ŕ„%+J(&”‘ČM˛p7Ĺ$OTň>’‘Ź-o-ňđž„_ËĘÓšw—ęPîcóÓ@RÇIţ(ÂD4>ą/çC)đZŐIL¨VőîöI¤(O©ЧĄÔFÎůúxőŰ<kÖ<łŇđ‚ĎÝsĎ=sţ]í˛&S>źi•š1}Ž Ú×Ő7â•ČH͆1sćÜÔ3ąĺ\ˇ‘ş�ş&Ĺ ŐžUűKe‹ÚĽŠ(î öµÚÖj+AAI jżŞí¬¶ŞĘ ĹFÔ.W\Aín]W»HĎŃ µ“uŃ� µÍ•tˇ¶żâÚŽÚÖşO1˝ľâzMuž+^ˇv¸žŁŽuĹ6ŢxăśŮ,µ˙jkë±zÚ%V¨,SRŹ(A]q-ĺđÎ;ďşöş^KńµÍu[/O‰ętTĽ@çAˇ dřćaß´ťvÚŃSVlŮ´ Ň óbÔČ1¶ć%†ÄÔ|ÓńüjÚ1Š×iźţú×ëíᇶĹKĄëÂŮ6ôí·˙ËýŐ9°ë®_â »ę �€N#Q`”O{P§¤*CŞĽéRNŔ5:u°*lŞ�†G;“\TOŤ5úuŽţ÷ż˙u˙ÖĚ:•„ d5öhĐ,ýűp÷) ç©ÁîGghöý[$4“:CĂ4{…ęô×ë¤F×-p >1C·ëßzŤ^xÁD·ůe4”č N}Ť¬×ľi-fí§¶ŻűýěÚ¶öOĎOQčË&ZôZ Şčß/˝ô’{Żęü×cőŢ(Ń6őţôşę¤Ž›MGŻŻä DhŃv|cRÉ úŚ4„‚"JFĐ{SB‰®zĽ^ß'šĹŃg«m*QAßĎC=ä9Ú'ńe§ĘLl�Ňö}2‹öĂ'9č5}ŇžŻ ‚PÚ?;Éľđ·O*ÄŃgŕg&Ń~*h¤ĎBÇ‚ŻŔŹ>Ż(˝®öEŤu}ŹúőZ]=ÁBÇ«¦ůÔgëϡZńɇ™ř–f·Î€ľ—3ć¸c~Ř ÔşëŃQë:FÁ›BÝ e˙ľęüX˛Ä¦Ďm —,ÍîŹűÓ`-– ¦, î›>sľ 2Čú6©ť=wÔ‘ÓŁˇŃľ¸Ţ6fä(7ĺ§Îٍ–ôŢj‹ˇC‡¸˛*&mÓ=rŢĽůÁy?+ŘźÔż‹˝ťŽ¨I„j8ĺ=ľŰvµąŻÎ–rCýó»ÝÓăČýbźÚÇ`&ˇŮŠěI‰Ă,™Ě`Ţr™„€üD‹Ěc*–pËĆ•K•śáîŮrö˘ĽîÜřý(#eÇňź™Ě”U…&€Húk‘B=‘Y˘ţĘ —>; G:©ÄL·j;FŰŤqŹ­Eçz±%`JĚ+óďřň­úŮdýn.]şĚ¦O›e‡ô ~›,űy'-{üUVžşYe©ä1şű=ž;?x˝™łÇ´¤g3IG®n›äˇµXúV[şbą}řŃ´`Wzżń3Çréä•ÔńĄ÷ŞäŠŹ?žb‹—-ÍÔ–o�Đ=¨M¤63ĐrÄ=zôtmŕđĆaŠ ¨}ŞÇhĐ…ž«¶´Ú&ľ¬Y$4E÷+î ‚oź«Ť«D µĄEqµ•pˇ6¶b+~†ÚjZ‚Qmú'žxµŁĂKčvĹGô|m[qĹ5tż^Sísí«¶­űcQşÚÜŠHÜ€Ô—¶ŚŁx‘ŽW?°!w&ił±«®d«Śc…kĂţGŢ˙«Áý`'Ó#5Â)ýńŞż:÷Złd¬ŽĺÍ·ŘÜV^ee›ď+šWXˇÚ—Ţ—>ÇQŁFf÷u‰ �€â2UŐń¨J9$ż,H%K„_@a:GÔřđŁÔŮ®ÎqÍ. óMÁ?‚#ČöëŞQ¦ëjĐ«aď—ÁP`B#Dôü(źPá—-DI *řýŃu%bře |Yŕ­üăÔXóI ŤŤ=Ü~č6ŃóýŽđű.ôyřĎA ?s…®ű‘z}m»Py¤}R�G#T|đA—`˘!ô^Ôx}ć™gÜ6´?Jxж´żĺ–Wţńz}}ćÚ®>gm/Zž†ż7ńŤ\}Ţú ýě!~©mCÁ jŕŃçpĎ=÷¸ç©ÜÖcôôÝűźô]úďDŰ.–`á?;%e<őÔSÖŐé3SBŤ.m!5Űu"}^fk-ZjS§Ě´ˇW)ţÜ"÷•†ĐăfÍśď:5\ 2}c¸#«%ř«ßüA‡ËđšgH{Ńůâ/Ô<´WĎÁqQx›­đ¨u/‘ž¦ô‚sxys¨Ł·Ţ‚*­ëPě,j5J¸ř!-ĹźÜŢ E{�µ/~}wb‰îŘ ÇŐ(ý˝č<.’ ‘żńI±ŰµP^J6AKÂw°&Ę:•3u•ÔL*Ix^Ü}Ĺ>÷Öw¸–Ú—ÔńŰ’ł‘üÄŠzStÖž‚÷U’öRz»ĄęxőĂ—QůeYţ29•¤ű„¶üŻ%řőś3gľ›!běŘQˇ…^Şř<B7˘[™:uzj´kÂr:WT÷S} »ź©}]°`©}đáçÖÔ'†”ąĎĄ’,’6gîűčŁ)A›aa¤\Jm VI6�:µĂ4#€ÚôŘ ŽěđlŚĹĘ%P¨ĚĐ’ jçŞ\Ó�%UřNi?ú_÷+Ń"<ă®OW»]÷ë>=FĎ×}Ś˘×Đ� Q\1µ§|»Z×őXżtţ*¶áË3ĹĐż}ÜĹ?VínaPZýkëxAźô ×VL'*›Q"b:ĽZ’Í™‡‡˙ĹÇńŞýîÝ»—Ť?ÎĐu`�čvZ;ŞĆWŕ|€EŤźd}\fíčtŁA•ľj§/|^Ę AÝ( ŤÎđtî) ]˛G|�@ }ß0Ó}ęŚ÷k,Ć˝¦šĆŇS@ Ľdf­řூ bh›Ĺřç¬X±<ç±Ú^ÜZŹ>Á!Ž’4ű>‹đç @H)zŤFŮrË-ÝűŇôˇ ƬżţúîľťvÚÉ%ExzßJp(öľôř ‰Ţ›>k_+™Aź[9esę»kÉ$cčsŃLÚ7˝_OŰÓÍčˇQ0á÷ćFţůţřđŰ×őh2Žç÷[ü¨TG§KkČś“>é"iS¦M·ýzŰĘcGX­ůî ysÇďŚŕXĎžKqË{ąY,‚căŁI“­OS/4¸_N’EK:ɢhŔĄĚ*€^ĂOŽŽ— P‹í•ŻPFë“[ŞYއ2Ů^ußd%Éq) ą3 ¤¶Ůf˘TRL]3ߜ̍^T¨-‘lËÝnŮ}N†ďŃí„·Uk©ŕsęşĘEźdQÎëąIÚě)śQę</]¤»ŘËŢy=®T•ßf2=qB~rP-Ď/˙;VáłJ>"•JJ+w×őĚeËWŘäO§}M6lř 6[^ĺłOgŘÔ îţl+éLŃă.XlßýÔ-=¶ň*Ă6Cď˘ KK–,łO'O·©ÓgőLuhćvřä$OŐř;Pßtľk‰ Í�ˇ6ł–4ŐĹĎ čˇh\RłFhöĘ=öŘ#3hCËyčqŰlłŤ‹eüç?˙É)Oâ:DďS{Čß®d ?3…Hâź§űô7®3\ŰŐ~&ÓIíú·ţúç…čS¬Mq«p .ü·żx®;űbü±éŮä¨:›“�€ú PŞ‚Ż ś%~Úyß ç§ě×m~T˝®‡gŻŽČ.çµäóO?ł®Żľúx7ŠBżf©fb=N úđě3şčv?kÁ;ďĽăţjęKť»á5D=ťăęĚź4é#75¦¦ą|ě±ÇÜTšęĐ×ĚZkTŻŁ}ŃkV2M˘öIŰÔ>Ě1ĂmKłO(1@#:4RD3n(H˘$>;_Żçg‚Đ z/JĐíZ¦ÄĎfQŠŢż>7%VřrÍ^ ˘<űěłî54BĺůçźwźźMÂ7l5’24’EłHh?}ą§Ä­«żoĽń†{Ś–J&3ÄIm#‘)OőéłU�IŻŻĎMű®}Óľ*¸¤ďC´?ZBFź‡^_Ńg«ďI šőBźŻ¸‘ŠÁűÔqäGßčuôťč±š˝"PBkĺö|0CוôđÁ¤)6eęl×…ŁK-C ‚N?śt‚ĚĎÝŁĐqč“#Ýď{p™=kž}đŢgÁq»$Ý í\jIdăă.űŢ,< řóÉ3ěĂ&[óŠĺVĎÄ–ĘVNŮV}ř-E.ĺhM˘@CdÂű‘âßkôýÖňýW˛­üó.ůë¶hĹfµ(¶í–tçw˛ŔóZqĎËß›BŰ÷—–ĐĹߦňş´(oT–úň´Đv,tI„>‰đ'Rů©žČI2Čý Ęl˙$Ű·Ś)'y˘!Y¸<ű[%Żü†´”¸$ÓKs'Rł™¤ó~üĹÝ^@ř\ _ŠýFąăĘR—âż]µRú\ÎěGđżů ŮGAť`ŢĽ…VËĄd\I|ÖJpřčă)A˝}y¦ť5˘śâGŹŐ6>űlş˝úň{öö›Ů´ łlEł5ë3.Ë›[lÚŚąAĺc{éĄw:˙ô Îł"ťL“˙"‰ �ş6µ—ożýv7›Ą8řv‰âjŁŞí«¸€ftô30ŞýŻŘÄlŕÚčjźűö¬T†h{zn%ÉcáÄsĹB—P[ŰĎ\ˇ„ mWmrÍxé‰(ž˘¸„Łö·|řřBřő;Őlš©CŰ|őŐWíąçžcP ňmtwĎ:áď+ő| ‡ţ·ß' ůŮWőáD#Ŕc ��JŽ^ń6U¶üúkj`D_Fˇ�Őń L>É@‰ "<ňČ#îüZuŐUݨ%C©#ţő×_wĎó™čţüÓ9¬^~ůe÷Moř…/|!3ĂBZBÁ żD„–ĐĐmşo‡vpuô+cÇwtŹń 4- Ú'?"CŻŁY4ôWŹQ‚‚CÔáŻY(4¨öy‹-¶p“‡~ŘíŁŢŻ^S "zJxĐ6t»;zč!·}%čłP°ÂŻ)ú¬Â#^ü¬Z«őĄ—^˛‰'şmo˛É&®a©ĎHŽ»ďľŰ˝®¦Őľi î(ůBŹYo˝őěé§źvËs(A3ŠřĺP´=}_O>ů¤{OŰn»­Űvôs'¬…gťđź“˙ţőů(DË™čßš6U(˝Ź]vŮĹ}zßÚM±Ş÷Ş`•č3ÜxăŤÝ{ŐľjŰÚž’(ôšJüřß˙ţçCÚÝç׫Ős·Új+Cmd—ÉvŞďeń’eöŢű“]gĘ©)c‹Ť-‡¶?ábű Ř™"|w±ż?śq÷…–č™:u¦»}ÂÚcc¦)Ř—ěLĹ~Ó#ó]Yř]4ť-š–üý÷>u3čxµčÄę:^|ňD"‘MR+ü¸üděóu»E>c˛ ŐkĂ#ÉŞýLrľ—dtFŠrĹ=/5ÇDńo(Đó_I©Ty ćW «6!n&Śjľ›R§KÜůÔ9:ŠS‰щ)˛ű®˛żăÚr…&ĚH&łKËÔôśËŮ^ĺ‰Záă®Ň¤=pÖěąÁď¤Ůęk¬lô«îM_4%řŚéó\r㢠ó±ˇ!7Ů3µŹ‰śD‹B˛µ”eAăÔ©łmú´9.i¦ t¨PDNĐ=)& ö«ÚŐ*—|{VíRĹ8»Đ`µó•đ rJ ÔŽU»\ív=V± Ĺ”ä ř€«6ĽŹ‡(.á;Ť}űŰĎÎPn›k ’(žxâ ÷\Ĺ´]Ĺ 4»Ąâ jCk¶ ÍşńŔ¸}Đ{đł*ăËYĹôŢôŘ{ď˝×Ĺ6ôďđĚ™@Tx©S>‰Č'J–ó|{.Ňżývý¬¶Ń>@*™»®śűeüMř·ż4XîP]Ó·5F.şo ţöÓ�@ áNÄzPŞb¦JÝóOÝeýúhĆŚ 3¶GĐ  3©lÚ†ôZA%0‘a›ÍŞÍ„ÂQ˝pp-:jÍWĆýčB?ň]ťgú«@ŰŠĺ+Ü(‚9óÚ„őwd$Rť śŞ3]3H„—ě2dHβ­}ťhĆĽ_ňC#<tŰFmT°S*ÜůŢFĄ”˘™7|ăSeŠfáŻíZKJ\ĐL ®(¨#ţóPŇF’ńŹk+~–u´šÍBŁo”(¶ŁcýŐ×޲^~'čÜhČ9–ăÎEý®6n” 1Řz÷ę™:ţ‹ĹLńń/_Ţl ,˛÷>řÜf5îQ‰dNwqřőÁ–ěľ5¤FW˙6lH*ɢ“őň—–" 9ŁŤSÍŢ–ć¤ DNť:Í>šôYŚ\fy,‰–˘żáí˙űž>ťěDŐŠJËČÖ”©ńĎń]mĄ·W«Ż±XÇ»;Ň+~ˇBÉCą3WÄ?&_-ŽW?kDK‘°đwXęőó§ÄkHżoW>$·ç–9ѢŔMBĚ]®ŁÜŁ,6Á˘Ą˛c´¬ď&őŔś÷Q|–ŤŇŰô3űä?9,u®µm9“ÚxK‰äŹdd?r÷ąőŁ;˘ -71§ĽĄBĘK°;öyŹ)ôÜŕw7Ůł-˝‡úŮ„ «ťŹýŽ>=/YâLoHÍä˘vŮŚšnŞ-Z´Ô}×=â“J2łÖXi Ë~Öţý·|ŹÁ¶[RĎRŽE˘Čk„Ë żÝŢA|`˝ń 6tđ�k ęJ=µN|cz˝řĆśxď@Íţ%^ĐV «Č”aéxAx™„j;šËI\C÷•šEłÇ/ëń~FWµ­ýLnĄ„ŹAźá/J<R2Q4îĆoemźă6–ŞLÎK˙mŽ\’éżá©“ˇżŃ‹řw±żŃëQ% (f°��t+•Tŕă:4ý6Ę}~řuă¶AĹ č8ĹÎq]3čҢĺAÉN‡4î4u¨.í)nŞj5~÷ÚkŻY×RŁ~´Ś9Ô×›5×\ÓĐ~Ôaaáó/˛ţ¸:)-^jďMüĚfĎZ|WC­˙€ľÖ”x”cٲ¶$ŘĆ´©s‚ďx¦-\ľ4ýząŹsăGCIár!ó[žîá9s¶-|i±­´Ę5z¨őmęttô,k´]Ť°™?o}>ůó`[s‚@z ő‚Ô¶IµX&$.ó¨ôËśh!µ;ľnÜňSâ~— %¶Vąź{ëöĹS:¤3 ťţNŰbšÝ¬éD2÷"…:zËK*H& w']l4aŚm˘Üd—r+ Ůă&‘šMĆZ)šg…÷!6 ·Äą×PöŽĄŤ¬Ŕ{É)€ň_3ľT‰ßšf~đI~&‹ůóÚ›˙›Ô†żżCRť ˝Ę që¨\şdąK¶ś2uVđű;×–ŮÉD*ď&Đ µŐĂ#[ËUIQ돋ô?bo2u’Čó¨3�h~¶ĐčŇIíQźĘĺ— Q‚ˇ_X‰jĹŽµpť)•Ú†+ü¬Żaüî"Š �@·ŇÚLëp#˘ÜÇ{á×)tĐľâ¦ůkŻĆ~ôü÷Ť:-ˇ7r.ü<[g L(�®eS4Őb¸<îHš±CŤo­C« ‘f×7nśˇý¸Î¦¤ObP/&A1¸,_ŃlS§Ě˛ąsŘ!lčÁ±Ô+‚ô ‚ ©uRSŹOÁ”಼ĹW–.[jsć,°Y3ć*K˛CK“>8z­ÔčÔÜŽźüßčôq›Hýgń’ĄnYŹéÓg۰alč Á>ő´^ Ěôčéf›JŤŇn±ĺË’.‰G#k/^âfJ™5kŽűwf4·ętB5Rĺeř–jĘťDn‡XŻť§ü§Çľ~ŃýOćü‰îŚU®e´_® ‘ůwę_‘zqţ< VLîHďĐďdÎ6ó÷%óş«…ϸ¸wŢ’óÝG_3‘s-÷eĂS XL'já÷šđűZĆc[/‘šś&ç–Ö˝N2´É‚Żćë0UeT«Ň1Qrk…“*ü¬qÇz’ů[OűWkfâ)p{ÜY> ’ág—1MFŢűH†žoˇÓ2éë�ÉÜă±!aKßÓIM¶™łçŘĐamđŕnęú^˝‚:fpÍĄzžűý]Öě’gĎžosfĎsËĄ^"éfŃő–L˝ ‘JŁI×Q˛‰ ˇý¶ď3\Ď÷çXÜ÷’HÍÖ‘ľšy‘L[!™,ńÝ@ŰK¨¨Mű=‘—´–?>ýRŢşčwß'ůK4VďgÖ_%f(ąÂĎňä·‡c �€nĄ’JP\bDąĎŻőă�Ô^8Aˇ=ĎĹč”±ajÔ©ĂżÎ\nh Őč:ŞŃ)Ű›Ńí5K rizůĚ(Ďt‡ďoó1Ó´/Z˛Ô}ľÔ¦N›c}űi ­Ţ.ÉBS&RťWJ°Đ¬ZF%Z¸í5&|vDčxË-* uř.ŽąóćŰĽů ěł^=¬ż&—D¤ŽíS6Á"•đ±hѢĚŇ4©×nLwl&óúţM'rAĄśŽÓú-gJ'±ŰVů/[$®Śâ.÷».3É7ó¸†b*rGÜg“,<ś·…ŘÇĺwLşű}ôëýDÎw˙¨8‰ĐŁü¬2™é×Ńmäíeh#qçvá÷§eI|ÂN"š`šf":@n§lÂĘ™‰ çńyŹn}dÜwčî‰Ď¸‰l1ôÁ%­ďŔM„RhŠĚb‘đ^‘óŻÜ%-ZżÜF2ô;T,q5Qúő“qß•Ţ^ër,Šo3‘ŚíŚĎ<ß'·ćśa‘ăŘßîŰżŃ;Ň·Ć'/YŢ—‘ ťo‰´ťdvçr¶ßH=:•Ý’ţŤ Ď&Ą[šmöĽą6oáë=µ·ő ~{›ôűŰSť+–IěŇV%[.ZśŞ$W4‡ö)ôŞÁ.´őżçÉěľ'Í˙&çěf¬„Ĺ%Ă$ 7ůńE~I”¸d§T^fÜ+@ýó‰l@µâ.ú$ ĹzüLáeC|REřâo o·Üöş/,�����í+=š·Őxĺ-Í6gţ"w‰rÓÜűnťĚ´ěˇŽH"G«FúĆLĂľtérw1›źżOÉ–Ězç>ÔĐŔÚĂ˙ź˝÷€—ĺ¨îüOőÜřîËOŇ{Ę!$$„�"lŚH&íĽađzmÍß»ţ˙˝ŢŕĎâÝ–µ×¬±MXł€Ád F ‚M"IH(Łôž^N7M×NUWw实éąwî˝ç+Í»3Ý•ş»Şş»ÎŻN­Id•¬¦ŚlĽl2Äó0§Ďâôőj>.fÄŰâťň›ëŐ•°f{óŠâ3¬·ÁJčÝV˛‘Ç{­GÄ` ËX Çë Ŕ\ˇŚ!ZáRdŔ­ř>ŹâŁÜ[iéčËucHďšq9;U *uF¨.wj˝ăřIň4m‰L‹Ă=ű‚ ‚đĘă>śÄä[îĂ×ŽŻ . ,‚ ‚ ‚ %‡CýĚ˨1#6KLS’ Î wß JWÚ@Š2Ř4<$Ďlań¸Mňc¶űđ%`µČ@ÜĺB–Ł ÂňJshHhÁ!ş¬ĹRâó0¬ŞĽx÷ńD ÄâWŘží‚í°´%Ko\S´ŰV۽ҡYôˇ}Ń´8 ŕQ˘?Ęł0ü‡ŹSÝ«Zôn34t±Ź»˝I˝qŇŕ\˛Î>?öąôĹSB µß'´(÷şoórźŚ/ł-Ăą”÷Č~ę đcyÄŕVš>Ô3Î(Ô8‚ ‚béÔ¸±g‡~źŤ‰Ő ,‚ ‚ ‚ %S;0€60v•é׿ś±Śł_•w�΋čźčĚwő×cHę7/˘–đĽ xŤd[©ć|3¦ - żöĐŇaµ/ÓđŐtźCmą'ś7[\ˇś…Ĺ)éÖ ¨ú–“°Ź§:Žbź2‡Žp“•}~[ąĆĚżBEBD6`ż/5¬˝†Ř o~á»P˘ľâoVÓ6ĚĐn]La‹,Tßf‡ˇrn¬$ă –xTŐ%xČ&a×;ÎL¦›„–ęřą'Mćę\–\ŔDAk…Ř3 +XAAAKHe¨¬3ő´!"đÍ4És®O†-fŤć"l*W ý ˘ÔÍzž427ŹşcµgĚ/%ÜůĄĚF+qiĐ2/ĹąÇĺ%Ü|ŚĄ)4c˛0Ě•uyPW¶ýÍt¶ć¶żj_îŹÂš-ťc*rî\âćiĄĎtSm:4ł_jşđš¤ôxUşPŐýZ63@ëĆŢd/=hLî¦ďr¸»°‘JígÓ6.Źoä1ˇ.źAęnŘoz JŽ[ríx˝Ëë7e0ö‹ł[ÎŚíâ/.˘:D®"yős.› -BŠ~YJďA±Z1Ţźú€îĹD XAAAK„2Â,ŤqŢ6â„˝Kŕ ÚŽZđĘPġ™a±śA1Śuă{űpćn9sµcĐҲĹéîút–ďŘť™ÚÎ!©úۯТůyZöúĘ«úČWÔĹłĄf!Áˆ5 ›zšRË]ĹŇHdđšćľéř>¬ Ö–¬‘nĂłśEĘů4„'Đż eŘíÇĽż@_đÂGG°ďuvyě{˛í=Ę^âgiK ç9ł„QŃÓ°Ďł×;Eń—%nŻĽWAD3ęĆbH`AAAA¬*t7ţĆöŔěX®­ëö>áOÓźł‹2éëΫíľpľńŁ#ľP†´A˝%,m+t|łµ3Ďţ&ç§2N˛ŠŰ†‹¸‹”z(g­çĺwßţşR$Ůç5ďrĽ˝Ż=ŞĽäl{eĆ#­ó|ęnCÁV–+/%aÁü®_;űřóV\‡úP'=\Ö!%IK ŃĆ5ë·ýřófiőęEÍň^e\Ţ#&[3ăÍEşW _Ý­«SjĆĚeDŚý•O^Š9láâ d<]Řŕx±°:2µżß’‰xśDA±ÔôăŃŤXýŔ‚ ‚ ‚ ‚XB”14‡nžĂ0°ÍĂ>,olÜ ÍlŻŹ§Í˛—öŮÂ#:Ź›ęĚĚu†ÝáR· d8őyůPuvŹËm»uFǦm=ܦXa3f΂9ľĄ”řAsŽc´ęô¶+Ăuu­&tŚYQ¶€gŽľű5÷xˇŤtÚ4>—«R…;™ÚËŤqY%ü1ŻŻ˛ř×—·ąSŕSĄ#R(E(ˇú¦çĺC<ŔÍĄmŚ O8ľ:/Î6(´@Ż_©K„čWŁ ©B‚ ‚ Ú…D„XAAAK„2ŮUĚtEŁ—=łŘ6îř\•7Ą42ęŰ éc¤”aé~lóňĘ ÎŔ×MDiÎQ@Ö+l·yMÍ›‚šĺľU‚űę^Úb;ÄŇćU_˘‡÷š ˝…±L ă[ (†o†~¨śÜę·Ęţ |>fě#qŹŁÚËÍÔóť_g6˙‘ş<Hé(¸/ĺĂi,!HÂËTžŹĘý ú)ßőÇójkć=x­ŹÓÄęÓŻ‡ qUíÁ¨…¨Łď<űę„©u/µTYMĹĚŰAA1$° ‚ ‚ ‚ –![ňĽĚAK,cŽĎ%ąľ ‡ľ˝oR•Fn|g >ŻqtÉ˝Z¬Lˇ…ŹvűtXB•€u˝Ë)˙K›oµ<µ r=Y0˝ňlc®G8ˇ§ÁYW[­ĺ}šx…ýnVşÉqú"¦ý›âŐ@–_ŹÓ&®I»ßvŘÖě~™¸oM`Ôá»™űXí-¤ů9˛}žpëo8=Ż *a"® ź;Ţ+ôô|ˆ„Ę ó“‚ŤXpVÖi7~JD[ĄlćĚĚ…şE^łż ¬ů#AA¬ybĎ_ŃXAAAKŠiĘëwP#b d†?÷ZÁApv{C±…oąŹAm]ľdĐü›3¸Ń±=ôsŃn™ŇŤżÍ­gÎH¶ă/Ą;y¦ÄËd›ânO!÷,áŕŠ+b‚ f›g˝1ô6VĹĄq—k- Ďű±ňů1ű,^äK…ß*áŹc Ý!´ńÔi˙54I"V …îŰn‹+Ň3ôŐűxSéÇĂđšßőu2=~®×š^!•§˙ňLí,«˘×¸Qí4·;÷Vc~Ć罢ü•xFűő ‹,BI뵄‡ŇfŔúą¤AAD AŃ&$° ‚ ‚ ‚ –Ž3Ľąe™h_`!ö*ç2~ŰJă cŤr6–‰ ĚřDPgu1$‘…iű•DŐ>SWµ]Něç V2ŤÍxő)–Ţ "yňʨ9L›`H0Qź§Ů×Ô =Ş6lćá;:Set1šŃźŁcťH~Ĺ\ţ€iĺȣǨő‹`ĐÔuďIĺ…&yą“dí„ŰţR9őéűŚôľö®Ľ+€±Ź;âĎ}Kő¤áëŕÍ›¦¦J`‘¸©pű¸=׋É5B´đćuŕľx–· °b0OvĆń2Ď˝XĄ«h*rÓĂš/®iF ^Oyq]ŚŢŤ{Ú ţäDAA´ ,‚ ‚ ‚ %B™†i‚…Ę@Ć•a§Ę×0ygŰÖ¤]Äe D)$»/ď#íAčĂäVüm§ŚĚÖ@?RKçO„{·Żtł•)@hÇ9€_TPşöWMI‰§†ŰĽ˝e1 ¸š ĘX’ öv¸Jx R6Ă„ĽÖČ.&,€0ót¸abö°~ëË)Č ä/{·ě.Ý0UŘ´~¨QuhXYýAY°$ĆLž8•°ÂÝ›‡„=I ™ďÇyătu‘wD†±:US’"ŞOś`^'¦•Ńncz0P{ncOt¦+”g‚ńú»„#€hp©Y‘G(N¦ :€ ‚ ‚X.H`AAAA,K¶fľV»4wpŽSČMَîŢÝžw-!)ËŽ¤ĐúY6ˇ‰ˇŘçQ#y:,ŻGąiŻfłsÍŐ(%gKĆl?�<z¸¤Ěšö5ť´ŮÖkÝŔ𢅡™ďĚů—YĐövŐî«ň ž/Oö¬`%ҸíU9ř—MHOˇ{¤T4‘ ,- š¨LúąŤÄRe­éLď őâŠJÜăŻ/ýÔIU‡"!RĽ~€ôŕ 9îĂ×Ó„ĘŁîËĚęĎŐ=‹×x›bĚźOkâÇއąý®Đű<ɸ’§"íRň o&«ažt—Ľ™AA%$° ‚ ‚ 9’Čr ‚6ýdÓĹ >«cÄiäŕĺž­Ž=jő„ŚDćĚřfç¬Î0]?1\UfS¶ĐúńËŮÖąePcÔ=đ;ĆXBĂU޸Âkd¶QÎČôŮ€ş¦„Ňňů˛O‰s­yuýąe›ŻĽ „ëHÝňÁĂa™ć=B+¬ĺ ˘˛‹r#]\ţLďĂô,Uš¶ÎČô´á¤â5.ÇŤŇao*n»ŢtIË>”ż#±B˘ =¶^ź ÉŠîC¦Ńş7’ÁŇ µjΕř°ŹôťŐ­cęľ[ÝUÄŞdyž=§¨4ÄÇ# ,ăÚťžö^cżádzţ97<räv2�Ž ‡{Ííö˛!e`JúśĄP™©s9–đEAŁJűĎŁ‘NĘřAA± ¸í¶Űŕ»ßý.>|81˝¤1\†9ŰÝ“řD:ËÝ뙳ńýß—Řy) ]-l™iĺB\ŘW°­<MÝFo.ăŇk†öY.Ô,çč¬lŹ-Ń ~cl®}–·ŽąÄÄÖP–·­dAaQm{J0žÁI´ŰlŘçDoŐG\EÎŁń› Nb×aé1ëşçś4W”{ýˇrćâí<ÜlŕkŻ÷©ľOuĚYńé˙úÔ‹Oš§ç÷ŠaŢ't± s͸:6]”Ćo.^§’Út śĽüˇ]ÓşÓ™•ňháÓD0-LµŤ\LmłsçNřĆ7ľGŹ…,‹›¤ěľ‚ "őÄrB,‚ ‚ V8+ëöŰo‡O}ęSđÓźţŕÜsĎ…—żüĺpć™gÂřř¸1Шľă@Ć'>ń 1¨ń'ň'pá…Š }°óşë®˙ýŽż„ .¸@¤·}Çq@A,ŐlÝę÷( "ĹˢĎúî'Í4/J}-×Đ�}&ł˝­ ęÄ)×{ą KQ" ő ô(alÄ ‘3ÓŘ#„5zď1ööňw1㜣•~@Ź`éő›†Zĺą$ĆÂwlĽŘ®„C0®<}î—:&n»ďG<d|Ű Đ“Ţ+bעI7[6ŁżţŚyŇ´cČ„ˇÉőŐëJU%©úvý=Ĺ›c®¨˘P-T†×LećÄŹŐKo=†śËă­B÷jˇďÇďŐ˛q-†±ź»%ĐÓ2ĘPŢ5–Ăĺ1ŇÜyçťđĆ7ľQ|ä# ŻyÍkÄXâŹ˙řŹĹB§Óg>ó™đŰżý۰T|ä#Żýëđżńpĺ•W:űő¶‰eüó?˙sśś„wľóť@AŁ ,‚ ‚ V(®řÉO~o{ŰŰ`ßľ}055%¶]{íµđĂţţóţĎpńĹq”€bffžô¤'Á‰'ž§ź~:ŚŤąŹÝĹ.ĚÎÎÂüüüPŤUAËc\Cg¬żK1,ŮKڤPĹ©Ś˛ŁîŢ´4śÁ`3…ĚY»Öő`u&©Ş f4żń» Ľ6Ę–˛©µf‰őÉô® uóů+CťéADěőÔĎR„Ŕ ˝úË‹ě,$’`e+–%®7.úŇ‘ŇĘË…ť‚đ”€Ű9“Kq™kÝúďęşd e íŐϤľÉZšŔą~‘4ĘăYrü?ăĽńuΨŢëoş›ŃÂyÂBbšž€]ŕšÜWp'M»ÝÔç ×F[âÚÉŞęg·aÚ™8?¬ě›y ŻB0QfXüá¦č˘Ş?ć˝Ď^úCĺ­D"ţë–—í,óy–±ë* y"b§ň´~7kŘdsfÖŮň«ó’3Ź  AVMş™®ő)żĆë±öP+°^ÜvëpűmwÂ#Ď9O´…űî»n˝ĺv=:ť1&&j¤đîwż>÷ąĎÁË^ö21 Ł_žţô§ĂĆŤáŇK/­ ‹csss@AŁ ,‚ ‚ V{÷î…}čCBń˘˝H|PdńéO>ó™ĎŔßüÍßŔ_ţĺ_ŠćzHxłŔY88‹Gťw>śqĆ™â;‚(Ô@A†ť_‚ ˘b˘‡¦3ëG‰ćód}ˇÁfó‡riÝÄŃz¨Éóx˛XrŻÉ'Iżfí_«”Ü9óVz¨P†Ý»€ĺ}3˙v(ĺ"ŇŘŹčž(¤ĐBšp•ĐBŁâŰż=Gm‘ÚgÇQČ%8x=%řĘol ő“m‹+Dy´vW]‹P]©ËCüë,”¦BNÄ—V ąűíŰ›^ßôô˛âxs=‘Ú®ˇ±p‡Ş0Ëęž‹<÷Ő}V¦a×Eó»,«žbuĚ•0Ń6qÓăŚďŐy¸0ó±K^„SÇÇš 1ěđâŚËk<q”%!‘a‚ž*Qhž/÷ďß[¶lď}ď{bÇ»Ő{?Ž 9rD|đűřج_żA„ñ‚CŹoL†=»÷Âć-›DýĂeG1ü>11!Ä8‰cqqvďŢ-Ľdŕo‹Ŕ}§ťvěر6lŘPć{đŕA# ܇i‰‚ b%@ ‚ ‚ �:<řŕpýő×Ăcóxîsź [·nűđ;€ěŮłG Śěßw®şę*8á„ÄrżřĹ/ŕ/x|˙ű߇úçŻŔŰŢöV8˙üóáĆo„÷Ľç=p×]wÁ9çśÇď8^ tA,%Ăře•+úôľ®M‘E^DV&Lű›~Ő<"‹!Ŕ“B¤—!ĺÍĺ ŇIW´lTh~Í¡ŤĺRxᙡ/\›Ęí[Â!Gă°ÇPkR 'TyáfóP_Y,Ď…Đ"ănÎţݶ+ŠDüe`ŤšbĺáI,ž,üK…ČHžš÷ż˝Aˇ‰(DDÔ©˝Ą°BýVĹĹqꢱ=ĽĽIéÁ“¶îŮ!Dčę羡–*7wV§B"[|#÷çŽ[iąË« ĄĹ1W号—Ş •Cm7=]@µ$Ź&¸đy•)—ŁaymĄ]ŢVT‹ş¶yĺ¦Ă*©Ţ4š—uĚ*@Ë} ±ęٶmlÚ¸Y,îż˙~Xż~=üčG?+.»ě2řöwľ)Âu»]¸űî»…‡ ô‰ű7nŘW\ńLxöłź-–ő¸úę«EXśÔ±wďxýoľNŚK|öłź…źýěg" NŕxĂźřD±ď˙đĹD“O>nąĺxýë_/Ň˙ĘWľżó;ż#Ҿ馛ŕă˙8Üzë­˘žüńbéL ‚ Vé AAË\Ü{ď˝bđLp·íÜąS š<úŃŹ†§<ĺ)b¦ËäĚ2ś­‚¤Ŕ D Ρ×5ĹŤ‹.şÎ8ă ¸ăŽ;ĹL‚ Ő€îvÜĄˇˇ"Q"Ś-LźaÍÍ,‡O€áĐě Ş#Ď[Lł)ĂPA Źúů÷+ŹJě‹2·ÂňŇČ®˛!f ‡ľ°ű‘śeâĂA~ě2čńś´ěŹf|ŤňęÓŕ@ü} ôü-QďŻb•–D.t’{D *HJ ťľQű„ ă5ŻŽ4!P,ľWqôřvˇcž)bů¨}ąvm…ţČř¨űAü?Ćő¸KmxҰËQŽ•‡(ϱŘZ*!3¶Ëtp[ú°˛}_DϨëÖ‹ă[Ć7…z?`Çó…×Bx¶U{ÔG´:íţí„ĺnîýô5安Ëë„�'bśrĘ©B<qĎ=÷÷|K@ˇz’P  âć›o2p©Ńç=ďyÂĹűŢ÷>¸í¶ŰŕńŹ<śtŇIÂNČxęSź*Ć>ö±Ź ÁÄ…^W\q…đXńö·żîĽóÎ2í]»v‰1‡Ë/ż\¤ˇPíó«_ýŞđK‡<ăĎi|ň“źě•őăX8§ZOAŚ&äÁ‚ ‚ b…€‚ 9ű Ä(ĺěŃ9¸úsź‡˙řÇbvďŤRţÖżů-زy«Řľ};Ľć5ŻÓO?˝t˝)VďnżíŽŢ Ë}°cűřÝßů]Xża\sÍ5đîw˝§ĘPN·sAD;sPiÄb>šÁ¨ÂťAMC&”>´°S…‚W¦JĎľ"âJ™«:J匝×abxth)ó•Sú#Ţ.ݰĽpÁ‘jh©Ľ°za‡^‚šeTŇXŚWJÍf·ÚĽ›oqUB•ľŽ– L"kC¬�fń[Ős$×*Ľk\–×Jž 6°aLŹo¶-Ý@îŐń™ő·:~ŰSDLÜ”{ŚôN™bă\hžú…Űb±±řŢ8mVÇw„şg¦0ű]‚űI!/0ĺ_oâˇ|ü¨|ĘĘÄ 1 ř˝‚â#.<Ř8"®%W„+ÜđČţGË[…ń‰JäőăU ¬J ´}m´+bőKrŕŔµ×^+D»v= ‚'<á rB†Xę'‰ńIxĚ…őÂoęŤ5HĹÓĚĚz!Ľ@AĆsžsĄđxńąĎ] —^z)<á‰O„ŻíkpóÍ·Ŕú™ ˝x›aĂúŤ°yó¸ďľűá«_ýZ/Îs�kôqÇm‡żř%"ž@ ˘¤kxî•Ď…[n˝6oÚ÷íÜ)ŇCďű÷€™u3 Ä_XΤű$AA,1$° ‚ ‚Xŕ:Ş(ŔAµÂŢ˝űaÝşixÄ#Ω©ián=YĚĎ-ŠđnÝşuÂs~ϲ¬ś–±<Ľ÷a1¸±iÓfŘşőg[ď/®yZaŤ3Ř ˘=ÔŚŮĄr{ínš‰,Tu.ĹË<”‘Ĺ.¸§L(h|łË3´ űÜö“ş2†„– :™‘ńřĐ’Ę#zZĘŁ1Ľť,}ĆŐň;sĂňbGťQ±ô ŔímiíĄnż˝ä€ÚVşą4Ç›]LP)›Ţć#)şŃX4-•By†ˇŘĄZ ”ź…2|%:©ÂĆŃűa7źň»łĎ·µŠgIfŚżI†i^•Í(‡ÇóݬÜS¦PYmšôŮŢtů ýľŰë(qa(żŞ>Äóäš°‚Ő\s§ťýť&/jaďw^ÔĆşĺzŞ{h%pŇkŤ˝‹Ţ'ˇGxŃŇ^64ŤR™˘uŞř±¶ĺüÖÄ\ĺ’T$® ŔzyĘ)'Ăé§ź&ĽX `bnnžüä' –jL`~~nąĺVáMì[7˘!¸©‰E•„ :†©Éuđŕ»`_o\âÄNź“N<ąT&ˇđâmÇ–ŤóJ\Á{Iç;× 7ÜPŽS °Ât'Ă1á1Ş A1jĐ!AA+�x@±Ä©§ž wÝu|ýë_î;qůŹ /Ľ�ĆÇÇazzş·˙ŢY˙× ޲e †‚˝{÷ÂĂ?Üp™+˙A,%Ëa,¨\ĄăŻfƨäô,j.UΤ«ţ„´CĆ­hFŐĂÚĂ"ćZ-\ăcÂBU†`ÔI–F;nn«Í#ŠĎśł™©­pĘ#B}üĘĽ)˙e‘°Ő¶ň9©¦(±6(Űł[ä D)5´pˇOMą|)–K;¤dߤ¬&ya1VµŞQÍJ¸¦\+šĺA89C\ažCýYX_%—Á\BJ`řăŮŻÎ�-Ç‘pJúŚ×NfHoĂń¶%Täąg˘Ţ…—ţ llF•†şÖńôô¸uő^őłzßR`vĺ,Ű‚1N¤ŐÔyDęż–kSN9E,ŠK}ŕç„N€łÎ:Kx°Pm`ďŢ=‹%.#ň¸Ç=^üâÁÉ'ź\x9R YŁŐď™™Xż~F¤÷˘_}!ĽúŐŻ†§=í©bL—-UŘ÷!ĎPí=U|ôŁË‚<÷ąĎ…_ţĺ_.—Q¨‘}†%‚ ň`AA±BŔµT_řÂÂßţíűŕă˙8|˙űß=ôěÜąž˙üçæM›`vv6†¨ŔÁśŐ‚®?ßńŽwńÎ ˇ ‚ –jFérä ® óÚ8‰ĺu'ąT.Ç#ňERKΚ†Ę9áĐźÜ#Bâ©:ćY,I–:Mžů˝WxNż2¤ë9úDJąg› ě3jŞYö:ľŮďö>ÝĐ[•CÁ0'§ćçË13żnÖ§m_­đŐł ŘĹVŽF3]¸ }4ůu„ą‚ ;ĽeXłďµÓŃËg‹“y o#O毋ýÜß8ŹţS:…Pżčó:a†ĺĺ¶Ô’‡ňĘó<Îľ÷Ď“h[ĽěëmĂ­ľś†XĆÜrŰ÷mĂ“EV%\][}_żp­žž)bĎM® ±6Yż~˝xç˙Ö·ľ‡‚+ŻĽRx¸ĚX5ß'l9rDL˛@±Ău×]׸G»ŻlŢĽYx·Ŕ±Aśxâ‰pöŮgĂĎţs!Î8öŘcáG?ú<xţŕţ@äBµ]ě>,–1}ŕÄ'‘¨0Xö±±1Řłg|ěc—ĽôE@AŁy° ‚ ‚X!LNN ·žŻýëaűöăŕúëŻ|¸ęŞ«ŕĹ/~±‘˘3OÜÁ]ü‹3O~˙÷Î=÷\řńŹ,fµŕ� ®×J±,§h@ź€š:ű7%L,®Ďb3¤č× uóęëMc+—á Žú˛†×Đnz±ŮëćĚó*Lx†ş?ę‰gňŁ-˙ęś™öV8ü—Čx–­Č´żU~ţ2Kc»ţqŚăĹGN‰Ď€ç¬üŘj…Đq$÷/Ž^ĄŹ~)$<3Š«®$&%ϧOP^‡Ŕi6Ź=m¨Ô+Ňh¶ÚÉŞzg|Ŕű)}őđţ‡tC^”wc¤¤×Ük†ŻmŐĄĂ­¸ŕůÝÔÓŽ’9–0amHžĐő©rŮa™–nJ|‚h >GśsÎ9BË€^rÉ%b<ˇ›wËz…âç<ç9bl�— ąăŽ;ÄÄ Ż„—_~9śwŢyb©‘o~ó›BüđŇ—ľ.şč"řÁ~�źůĚgŕčŃY1ŮCyˇ• ÁĄO_ńŠW@·Ű…O}ęS“ći§ťV¶eLÇ=p2 N,!‚ Q$ő-%îc Yŕ·úŘo™řéŰ:Ö÷ˇ ëÝ|ż A±ĘŔÚďół03= ÓÓSĐëŔÄř¸0¨w:™0¦głđeU­_‰ŕvD7ŞíŕLŻ~ăuĂżÝŢ_üޏ†)ţť_X€Ĺ…E1[dßĂpöŁźÚxŕlˇ—ÎřŔ™$ř4>>&ÖK•!�ÝE»víˆl۶­,×ÄŕÇÖ­[DX,nĂt0,~ĐűţĹ]¬!`9A „0q_ś…ď˙řfřŢnHťÁşdT}ť1C6:\^Ëł.<”–•L™Ě´0z\˝˙µó«;_±ýöúňMƵęo¦wú}Ôö:KC a˛ţóĚü.®S˝Q¤ś çúĺ¸lg¶i”tą˛â_ć¤-ĘYÔQ߬ň¤kŞy°ĐŤĄ93Żš Ď‹Yęexmi�ń,Ćdiíg6#Ký·}ťńXş*¶O´epŻ{üĽTçófĺ�+/ÇCóĎŠ·ű;V^k~,ăÁřuđŔJ®¸"&” ¤kˇ¶céŮŠĘčoíëňĺęÜČ™7žĽ°ń¸ľşć¤“D^µá@”~Pľ“Ľ3p%iŕĺý/V7e[ŞÎA(ţĚ ÜŤßXFm[^ôeX˝ű˝Ç•×ŮSÍ;`Ţçť8Öń¨ş%Ę«í*ÜÄÄ<ęô ¶nŢ�S˝1±ÎXo¬ #Ć đŻ>^€câŘĘżfMăí±\ă=Qŕ»>z¶Tc� ó °Ą7€ďů‡†C‡őĆ—ÖÁ† zc óÂĂEw± “˘âÎÍÍ‹ń�ôFiěßżż3P2ĐóŽ`ůŐřć‹Ç€Ëb=ðX,†Ç<qiSô^c…ćqđ7îĂ<p˙öÇAk ÷ÄűرÇÄęŁ÷ĚqČ—Ĺß®őáĹß\űpíŻýŔďŘ_ű»MíÍ—–!‚ ‚Xaŕ�şę i;vě(+7Ŕ8X- ô°ÓÁ‚ ĺD7.ô;sS—ČN2•űY!dXEłPű3Â(‘HÖrşŕWV©çÂ/’‰ "ŐSÓŮďągtÎuěşÇŤéué‚8±Ěš¶žb4.+Ňř´Ůs–ÜL3PoţERĚÚćďo ×ÖĘÁßI§eę}ćx.°E>…Üž{¶ VÇCńŃPÜĎ1=lň$ęî["{k9ŤţqÓ©–řŕơŐúy0¬qUŻ U]7Ô-„YÍá‡D¬H–kĺĚ!,ţ�pŹ=+úx!-aĐârQÄjĹ čBgË–-Ćď™ő3âŁ@Q.Eę'—Ë„lq˝\nŘ8#>\ŽEsŚkűÝ[&Š,đ˝jŕG• ‚ F XAA¬2ÜAS9€Ił’‚X)¤˘,qw7pyW!CrśÂV“î°=X¬«SĘś×ěď'MÄw-ëŻďrŇ´Žfí:CŚ0Üţ@ż®×‰˙Z”ᄵ·ź6\CŁvÂĺHČhǵ ´ť­ôÓX! ĹíÉ˝Ţ7†Ţ&tŹ46•؇—í&$“ŰÍtÍ}iWÂ×>í6ŚžO"Â#łěPč÷Mß=4—Ę`ąÇ#Ç|xáUfÉq‚ ‚ $° ‚ ‚AšÎÓ ĄËfÍ-©ŘAŃ̨μFćůĄ‚őYůÍó“e­ÜÁ»ĺĐ7ŕ±Y®ä…÷J=˝Â%:— ęłWőó—qÍŚËÜĽJŁŽrŻ•ł µµ5­)7َ%x‘·µÔŠoż +—Ąđ”ĄÁş*A13“s˛hhôÖÓĆľŘLOź·‚@Hćńśŕ+[ďĽf,|}ë˝%Čô•ń·ôÝŠm"Ż®‡ř]ÚŇą Ď2sI‘r Ďň ĺµϱ‚żěŘ—őâ©3ĘxŕŤŮŐjËž´™ž&ô#vŔ~!÷śKłĎŃ·šőÍŚg/%âŻ"Z›÷,«’Ú6Đ3™~˝Ç<¶®5řÚ…řćÄĺŞđ¤ÁµŤ}m¦L—gŽzęx]źX&Äöžŕ’™Ő´F”`Š1X•u …hÂw_3D…˛ŰX%CqMrpîÁnnx4‰ ¤@iäżzRŻ«™V)XŐ‡•ËY· Ő—Ë€©p —7˛‹‹ĺČŠç $/űB>²6bŘ 2^04hIQ‚XÓ,őxA,7$° ‚ ‚Ab.¨íýŐŃM^f‚ šˇŚ1v_SLĹżEčq®)<°ŤYĘxV•9).Íh©–t)/gĺá1ˇ%Pu<˘ĆKK(+ŮĚ�äš1ݎŃ®©Ă2<–Ű ™2xl\Kż|®©K™{ź‡Ü<U)ÓKZF÷’«c°óÖE:Ľ0ŰĆ=_đ2/µ\B§ˇ"¶°OGÓW »•ĹĹî»őtbja opqä'u":+^R_Ńđ†ç”I;,ŹáŘj‡J(0<ÚHż®óżĎT.ü°žm6–‡z†Ńźäu‰ż“1Ź`†ÔŢ*° ]€č˛>ĺ˛"‘´ÖřÝ}MCăAŚË3^@Ë ,‚ ‚ F”T×·úlP,!b¨ľ(eÖ\;¸Ľf{|T¦nđąJŁ0B§ ň0eĹŮŕj6uCăš×Eůđúpş?¤×E2!ęŢFZ4i©dYŔč›TćšŃIČ3_ *ŞrqŻxĂýf˘ů;†L«ţ[¬Âáč"ąźk婾›.÷»y5{]ngM›¨×<&{ź^Ş2`Ałböľ›®W_R´Ń<ńZ*A†ú«‹‚ĎŚ\; \ő\ÜxŽ4r2ěŰęŘĚ2u\ˇâ×ý´b™żµó,Żł*”^Çę˘Ýúç_‚kBľP9Ëţ˘©ŔÂľmp­ŐǶn;ęHˇY„Č<סîýBø¦ď¨ó:"Ľżđhwé•ŔמԞX^yŃćň`źéUx¶i …U~-Ľi‰ďŞÝőŠe,(®Čě>ŢÓ-1ëtá÷¸"ëŁ_#V4^@Ĩ±ôă±|Ŕ‚ ‚ bDi<»4˛n1AÄ ÄfX†öŹę@‰Ďť>D]ĺG`ʰK°¨Q2VÎAŰNŻ®Ěib“ţőű&žL\3§úˬż‘ęj?t}ą×3_°Ă4Ň U–Bąt„žŽ>ë>ščË p¨fĽqĄP8׌߮ťŰ‚céîźYžŘFCâ˝­r^´yoFĄôĂMëęjY-őz!̰Ŕąib—箊d,™P”3cˇl̰P.ËQ]·üěMŁÚćą·‰q+í”4Ër‚:ýiíF﯑Ü*›m$¨„Q…ČŽ…Ó{2`ĆWăśGŰ‹ŮĆŞµ(Xm“ ő'~‘ 8ŰtAXíâ\µcsi&Łęz•é†+‘ö«v,L ˙ÄÄLľs`n ËĽ]‡%/%Ü#ÉÁě'ŞbZ]W‚­°F>ĎÄÚ†Ć ‚VÓxA¤B ‚ ‚ U –1 tcšoVŠÎʸŤ[“űú §›’&·Ś;PµR\Š§Đ¦0b%ĚŠŚ•±ŞłĘ2ĆËţm/ ˘›ĚXbíjłMĄ¤•:Ű[lË@ ¬öIuÜ6ČXÜSŽR+a{ŕ¦ń=·ç›skfzY23\#ᓯý·ŘW¸2ŽóHě`ţ K}ôľ¶ę꫞Şá~—Í23úôă‘—o ďyd–�Ąř×LW’[Ńíă y«Pĺҵ¶!ŢŤŁĘĂ<—Ŕ'~±ęz Źj‹sˇµźń{ŽŇ=v»¬njÜŠ—[lVŘɦ×X°ˇp×[DůŚç ;Sc‰®§™—^.T‘Őáfç,cĆůôőo*˝¦r0łeU±Ě4Xµ_@(o\»ú˘”VÜ:łYQé|gLď ˘ 4^@Ä0XýăáB ‚ ‚ UBlöADÔyAĐ×\]9Ř?éÇPg°¶ ––k“<R„u[)i­\Ł|šaS†6ÔA T%§Í_JR4#Ée*,ŰĚř-R¨ ŠgËDĺôoO#.׍§\ŰĎ<†RÓëźCťÁď ¸ŰŠoCle­çPç=Ăžq¬J›˝HřŤÓzzŞŇJ[ˇuă·J/ąŰŕÖůgŐ1ŁX s›Gxŕ]rÁź&€)Ľ‰cźw;ľŔóô+ţ‰Ω«Ü ŕą»1đ‹/ŔYB $–”čý LÁ‡ďĹ~¦<@řëˇ)d0đ-‹c”‡Ë~ž7 Żę|Ą<+(1†!&ÓŽ†A%Ȱ—Qq2nD4ÚP} ˘‚Ć ‚6«sĽ€ üŔ‚ ‚ b Ϩ C/)A “Pë{VÖě”j–k[TĆN˙ěŕA„ ľřË-”X)^,šGj4E¸°ÄnŢÝ2ůë$x‚Ůq‡'+»üŞVÇç+X(^­ďz:¶ů´\6DZgÍ|8g÷ŰŐÁśńî/źď7 xt(Ë�…aW~ŃöŚčz@0ŹßN—E˨/QÄÝýE”±Ú(·%Ę0Ž•Ay˝Í:ěwxë_µ?Vö¸ç ţąý $t÷Fž`Š+ÂÎÜĹUbéÖ°JŮźX<PJ/D7K®†¨§ĆXâä˘ß ˇGŇq[…Vâ§j©!s9ŤJrá)ŞQyK˙čËŽx÷Šťüµ ŚëýÖ'áôýzzry‘ęhÔtbCăAŚ«Ľ€ LH`AA1‚čŘö ‡ob?,AM°Ťn!c˘NJÄ“—_0L\1*"€j8OÇ’·+ęÖşőmW'ŞîdĐŚeÁűp0ÇTc‡žŹ˝Á(CZűň6'ošĘ8ÍÁ±·ë^ě<s ŮĘé~ůě˘YŻąöŰ.›kL—E͵zÉ=FŢjż–V/\nu<gĄń8śŻŞ–ˇ¬ÓVüČŠ:d‹§*}‰[OĎĘęŮďT03]ńl•6‹ŠBŠ$Xö‘é‚•ŚgÚ1TőĂ®@ŽŹęrfy¨OÉś2ęßsfµĺšćfzŻČŞ2‚śX{g <ư¸˘Nŕ‘äí iů-<ôGY‹Km,ŐÁ¤Ç„ş¦uÇSÖo^ÔU®=G€%śĐâä˝mĄÇ†Ŕr.§u=M„=bđJś„QýŁűŢBś7¨ę‹:Ĺâ;Ż<UčaŞ(KiEĚ 1Ć€MŠXuĐxAŁĆ°Ć bT!AAÄâŘT(zýŻ CŃ6yžżëúŁ4WűMú+eđĄ&,KżČ#ĆŢS@ÔĄ ‹Ň×|bđĐĚ,Ví·ŤŃY[†¸5˛zŻym|ŮŽt/�ˇŞ#ÓGCvîŮn‹íú lő;XŰ`Ę«tt>·fšËă0,üFxźŃ»2DyÄŢ”ü¸łü•!w©|ËmĚŕM_?NYOó2?Ă“HŃI6`?ÇK=…v>‹%ęű»îrç$ęí!<ŕn 'lˇ48ÇĹ>t!‰¸>ú!ÜĽ·ČßąČ'×Ç—žřÎôíF(hŠ˙ĽŘ×U»×Úלk­ó4Ż úń3yÄŐR؆uÁM´ôPwĚvžĄ+éś™B×sŰ,Ęň°á.kMxߥx!JbćóŤ$7OźŠbgŮ*“#:cfÚř7¤—iË‹k/ b”ĆxAŚ2$° ‚ ‚AěŽÔ™Ëöě‚ ¶Č25s;>CÎŢ×ţŔIZ·Ü6¦‘ËŢą<eŁA,,˝>ĄÎŘnr6 lÍ´µĺ( hëÓQaíÁŃjđÔQPý7ĎŇ…?ĘÓ…áˇB®p+Ľ0„÷>h€Ě=ç<'× ĆŞ}¦J¶ôp¬,¤›6 zÎp-<&ÄŇö2g™Ű˙*ŁnŤŐj–|ŕąQ•Ü.ź˝ěŘV-„ś…Ň‚Ňh]gęőÁS6w›Ľ–ܤ´łŞŢ¤zŻQ^<:ňZGÄ/ŇĂŠ˝]ü[ć=(~‘„{Şĺ8ĚÖíx›á5łŘąűŢÁ 5€´‰/ ˛úú·Â»Ó”!hśQĎeD(Ę�ĚZ<%+–·q[°}n¤€kőµ ~1ĂWy»5>Ż.C)6Óű­\Ë'+tE33ňÔ&¶Č˘ĚKxđVQb @ăAŚŁ3^@K ,‚ ‚ FĐ‹GÝ ­'‚h‹şţ'<#9š*ÔĺŞpÍëf捻™T˛Ú|Ň©5ŕÇTŢbţm0jĺ‘řD‰đzS˘k Wqüm&8ĐŘş¸˘˙°© Ąh@űmĚâöyođć› ‘„nŚäš·3n1x0|Š}h‘ \rĄ) żš'Џ0Á‚©Ą ł/«jŠ?dZą“»J®®ťbľt’ĺk:`­Ä3Q*+ĺÚ¸y6iűćYuäUÜłDIMbÚö¬qÓ7D4C¤tŔ`.Ťcg4¬~ĐL×—GřÚ§”Č_nł­éç(3¨pv)ÜXŇF¶qIŠ:çćR!e`�»/QĆe«ĽľĂ¨Dv˛5Ëpń˘q—Źx±É|(ÁSąÔ‡%˘PB [hˇö+ěĄGą:ĺÄš„Ć ‚5†3^@Ł ,‚ ‚ F{PWwݧ ĽĆĹ-ADč80«Ď– NÓú$i>[zŇ)Fæ†EćýźQ[Ǡ†ŃF, Á:Ú@\á5Â]čmĆŠŐ,řţĽYtµďńň÷óÜ ëIá6_Żł†NÄžg^—GćőPˇź¦¸Ĺ˘ç`n(®p\ď3˝e©ý†T#cÖEPŐą2C¦ö=Nz˙ îŇJŘâJŠľ@«SŇ2k{#ńćË <:=„}/pĘ2ţ99hK~X{*q+E!vz*˘ÝŢ”1żîtçőAĽÂsżoëpH5Nř겯G Ŕ|ŰęďiB )*Đ®g•x‚ĺĄČŞS¦'Óô—%3ł›#y{î»`´^mk/żŇŁóočÖˇŁWS©¬�¬p\•ňhˇÚŻŰΉµ Ť1* oĽ€ FXAAŚ j0$ô2â ô˘ˇˇŤŇív ˘MT_¤÷IL›]nďÓu—Óh6 Őâ Rj­×�wf|›gÄľGŚ‚Čb%‰5RĹÁYěʨčO<$&eĆú:X{ś5×*I`dyeŕ‘YôŞ|Ő9uŤćĘ4[‰-Ě8şXŔ0‘Şrp]üA/MŃŤYv=/EFyxĺ}ÂČß5zY“óőDŞYúzż›ąĎ‚e˙lULÜ5Zű`ĹĚ®m`ĽőmĆođŁÇő-ëR‰Âđ´ô]bfKč<÷¶Čţ&ÔźóćişqxđgjúľwŁŢëů;±™‚ˇyŃKřkeµ—ľéˇŞtt!‚íń%T^$·ĽhČpŽżDÎłWý\^‰âT%ÔE_ B\&ČöxA:4^@Ä(±RÇ bH`AA1‚¤(Ľq€D ’/3@Ń*Ęř§Îâ6śŐ‰{ DTIJ7ß5Á†Ô†™A{i…\š‡ö-%m–Ő#‡Ajžápő0‚i6gTĺZ1„Š•†=;VĺÁt1 㕇hö,đÝSxŕÖ”qÝ(©ú#Ľ±O–Ő0Â÷‰Ď`ĺüö®MŔ-‘….ůÝŚkĎěÓóCOLWš�ž,ŚěÁť|_ýJ9+ içFÝPßÓ˝ViÖÔÇęśçÁ—~ą‡űâ„ ç†÷•š6ŻD®šŁyÍŞÍk-M_ţľü|}€Qőp {=ł^Ř#kŮýv\\®ĘI^ţ›1­Ď1rö˝+ĹE!2Mî:¤°D±{¬ŠY„,ĽĄ!;~)D(—Ox±$ęĂ \W @¬IhĽ€ QbŐŤD$° ‚ ‚A|/ę/+Ýî˘y266SS“0>>Ţű>ťN§÷éß Cáűˇn7‡ĹĹEXXX„ąąąŢg¶×±^˙3á1Şő YŐgŤĆŕł2r0Ž ˇÁCöń©ˇ˛i§xčsVő¨ t-‡¨BZ÷ęŹß¤ůŚđV<†4HBfמˇň2cú¸nô«~3MTP„Ë`ËKÉAůŔč)ř<%ČŢÜČ·_B†«ĐąPF}}·4ĘűŤ©ž]NZ -uaz(Ľ‡xDNż¬ĄaîŻ?¦*7ľ1OyÝ|ë±ËĚaD§-ë<WžŘ|‚SăycŢnŰîg“=R€»„OąŻĽUu"6·Ó· éÂĺ˘\2Ä'Č@_\‰,ŇĘ–_»0Ą*ľ7šźž' •Üś¸?ĽxnMt(‚WpRX¬YhĽ€ Qb5ŚDSH`AA1‚řäÔKÇââ‚0LOOÁşuë`bbB(—ÇEÄZ�>ĆĆ:â´ÓÓ“päČ=zćçg{Ű'Ę™)ö€ď(aĚôçĚń\ÍÂőÇM0ŹĎű„©ĐšŤ¨fĆşaUYĆnƢż}i ~ÄË[gââŠŇŔďłÓŚpU6®Ż]Sk±s«3î>Íc‚·ŽëNîK4l"Q&¶¨©rZ¸uBýFű¦u-íJWˇŐĚ}=^ŘŕZ_Ý2F<7Â2ť&Ń˝TűÍ~GOĂü®y©śźwć•˲Ďäđ˘>ä–PţńR0ośX˝ŕ¬ąđ`X„Ľ…Ä#a-~ßŇýŔýY S㼨°ĹŐ/ŰTJ›iŇż…úáĆ÷°Đý©#¨ţ…šű2ףú<iťŁQ‰ĺĆ ‚%VËxA4AA#Ž>cSşůä°~ý ĚĚĚY(ŠŘ¬;‚ A°Ť Ř÷lذĂ;xđ`oĐdA Ţ*Úž™;(ÁŐ@”…˘ü.‡f€§2×řŤM>Ż•¦éńô#ŚX„Ż[řţʆŹç<*]Ň{ž5ŚşR%l±P(}Có¤ ˙P€yájŘIÇŰŠ€çĹZÎĚ Ë=y§˘wUüJt3—3řśŮňn5ج{żŕĄ@ðÝ" ¦—Ď‘ćxP!¤WżýW·Ńp§Ä#fęzs-Ž&ţĽš{ĘĄÎ9W˘Ć°˛ Ő đéűé›Í8îýŔŃäĂ»=„ŮI˝ßŠX*$éţ$k¸ęGđ˛'Dq*CuďTŇH@jX¸-´Ä’¨îś;‹ŁĐˇCăA,7+}Ľ€ úAA#z9)]Ĺë§âJpŔÝ{ÚĐK AĂ@ŐżOMMA–u`ßľý˝A“y1‚3SôpËÝ/±†ăČuF»Řń°>gţŞĂ^Ł4oęM –OzŮÚşv+G¬Á\KzĎs…Ü»Úhóú<˘sźé‘B7’sÍđnŘ+íÁô˘Ń¸ÄĺĹ/zÁ˛Xş©Ó'dRË™¨íľňvś*mµť›łŮ}% ­-ĎîYöĹré ·ďWűôه ű)�Kݖɞsź7 ?yáĄŔ-?+óáV·ü¶”Ĺünm<ńőY•z\Ć5Ŕ)SxC@đ>ĺńä±\ý·_d!8˘Ý3»_#őGţ:ă,ÓĂÜ6VőM ÷˛`qjâ1®rĂk~k/ b”XÉăŃ/$° ‚ ‚aÔ` ľt,,HĹ÷úőëĹZ…:Ë=JÄÚ@ €č¨‰‰qŃ/íŢ˝[¬ő¬ďo#?DîŇ Z†k{5yµEkÄZZ‘Ĺňήt.†Zi^ŘÚWôCX8PśW‰+¸6ĂŰžŐ]ő=ęyf_L+“ůŐ\˝žšA«2„=O¸†io�‘e‚üB Ý3/¨YţUśzĎ;Ą1N†ĺČ ¶Ę׉_ţ5ŹK¤Yx ¨0Qîëmď *Ďţ¦sa�QáóďK=.ŞSI«: ·ümß/ … ÷ł~™Gzś.H©Ť_Ö#3Ľ¨WÚ=[-cÄp–Üńy»0z”Ľ×f2nĺÍ’ßźRĂë§´‘ř¤B,‡î.D/ b”Xęń‚XNH`AA1˘¨<0Y\\Ű6mÚccrŇ?łÔßA 5b÷3ř×YĹŮr‡*õąÖselMŤŔAÍgC°J8ç€ë†×pĽ,ż)KŮĎŻ‰yž™?ą=ŕč ăZ#m3qШĐo™ĽËe€ßŔm‡ĆQ΢gLŠ zF%ŹĆ$+… Ţü¬xaďţđr@ĘiJi÷!cvm_Z x4CDaÁ‡$p$lŘ®ú^_Ţö÷ÜňHâ kî ť =?uuχ¤|4śMšĐˇú>h[Ť4b˘D»nĄŢăŐąď4Ś'±ęˇQË2‘:ľ+Ćďaö²Ü(»OЬţą!ĺľŘH•čĹ +Ź.LŃä‰5 Ť1J,çxA,$° ‚ ‚QPŮŤŕKŕÚ…ÓÓSb›š¨P3W”«=‚ aᛑŢéd˝ţiR¬ŻŞIÔ씥Fäo´ťr°~Lm~DÚÜťŰ&Ë=Ţ–‹Ąă#X~ž•3¤}qBůóČ oI^lovŢětšž÷a P¦Ö=_ż oâ Ż8A7ś‚ň]az·(“® F¸ŮNĎő^WÔź«´íUÉŐ,=×C)É"yTéWuŇçÉBž¦JdŔ!ŹÔű2X­‡ź˘¸‘ýÜ{íCőA‘—>4Ŕé?í˛b;*ěĎ‘Ff¶ŇHééMĎ%¦Ŕ†3^kŔî·Ýůâ-E?jÓĆyĐv»-ŔŞűé”×CÔÝ(MŻ—ĽTxĎMn•MK“«¬´kËĂž,Ęôsđć—RŻŰ@ĎÇ::çb”âbÍBăAŚ"Ł>^@mA ‚ ‚ F_KuăĆŤ ÇIL—{ z1!břflVn‰ŚŤM5VçććÄŕ-~–»_ňćߦ¸BX„ŤąŐ°Ô¤8Íi#Mż!s�xЎ@3ŇkáĂ ŹŔ°×Íŕ΄;VÓT)ô0Ę<®RĚ#3 ËkĂ·ŻĄz^p˝xD‘×— ŕň\Ű Éň1ĂWřҲ˝”´Űĺ ~5Kß-Ę[Ű'ÄCP“őzݤ …`Ísť¨·ŽĘŢ丼×ÔuÍĽámO&ĽěfmM¦˝Ľ[V–¦Iz.!‘CúíOÍ>]ďĎĚtĹ6MKˇ<5…ď iĺőH\Ą”ş¤÷Š6u>|™ű=Y”xđHβ•ţ€×ŤŇŇ?v#Ť1*¬Äń‚XAAŚ8Ęíçää$Č 'ţz1!†k»ŞÁćęcÔL8tG<>>łłłĐ„a¨#|­űra=É“â7cp+GŰÂQ&Ĺ0¨Ś^"<I”É´gŤŠ—Ítkoă«<#8ëÜŠ“5H3•r™„HĘđФz °Ó°˝YŘáJ1(#Ż{)Hđ,꽌Ţ*/-ĽŹ”×ĹČ™ţŕOŞúݵĘŕÍ0đŐ)®ýëĹ+@*–"Đ„Gi·żˇŰô�!S ż¸đ QÓGk†dé»ŔGáÍÜőq×p¶:Ş&]rĺj곬e6ąWŘým,npm ź`lH=®Ľw 1ťŚů…I¦ĐÁ¬űč%ł– iăţi{3©óôŃoÚ)az·#Rˇń‚X>F±ĎF™RîciăťŢxA{ďc±śŔ‚ ‚ b€/3h¸$bÁj~Ż0pŕ¤Óé´bW4ň…M+‹2Š˝\Ź6ĎŹžćj4ž+î7A÷“¶>sYßîdęŇ&ćŰňevŻŻżÎćžxÎóuĐWŻEĂú§{F¨–őĐĘTb¸§5Č_ë‡Ďô°Ú2"vľ*°[ü ¦źYŢKδúăS$í"M8S\˘®xmČ«íĚ(š“nxą\¦A°áIĄč3mÉŤĘÓÓĽpí:ą"űŘyq˝UšćÎLíĐý€ĹzŤá ^RbXµĎÜ‘źë15ţ“v'©EoKásÄPČ(cÔŃBüŔ˝^v|ŞŃ*ŤÔľĚŠX´ 3-`şČ Q“şĽrřŔ*±†ôžÁtőFU®RÜ!ËÄ‚Ĺń,-’@S -&ĐxA,¶¸?Őł }U˘|Ţgú-Sż÷G-5ÔF™aŚÄrBw]‚ ‚ Gľhĺ@ckA ͨ3H*#1X˘”CúĚX‡]ĹkBi¤17B¨ł.í<Ś­éAĄÔcć9˛S mqE]ůôe úĹö†ŕ ać)eÁŮ6ˇř1ăkmš2BůÝ5¶ËÝ\łW›„ŞżŇ=ŘÉ8fŰHy•‘цÁłĘ«ÄEfŞd~Ăsĺ ¸ľ ěňްĆV¨Ä ‰×ŐŹń»E^ =üé™÷ ×{‡~Ž´kĹýÇQÖÎŤU¸Ą~ájÉhnUVÔ»hś đK¤�a”'hއĄ&Ą>ą$§:iIŢTü§Ěďbe%Ňa˛NuŔ×ÉZR¤ ®:#p«.…LÖ ”¸ń ™k bíAă1Řý4 şÝn)žĐřQËdŘń›Ţ'RËŁĽÝČ%;¸! PËučeŞŹôi+Ő ,‚ ‚ V»A+mΫggÂĚUÓV\7Ü Ą?‘ĽË# ( Ľ4qCĘ®�?ç}ä͢ťtÝL÷¶iklŘi6/„šIßBRž™cnvj{scŘ Ä ěö~(^ďc)ůĺF,ĹI˘KK“gŐDY˝%tôtŔť’äe9Ő,sp„/zy ŰlČ&^'”©™ÝϵUO2<»ßÎC…bŕ:Čkmx_(ŤĘz÷bˇÎ¨ş'0oú~ă9ó¦e“ÇŚěV{vÄ!›{M5^eśW?¬ÄBâ 3˝Ř5lÖW¸Ń™˙»‘˝kŘ×ËŐvôÎÂŚâÁ:|łO Íě­ÂÖ•Ľ"˛äű×s‰÷—ĽěO=bĘ0ď?Ş<éqÂŤÄh°°°�‹‹‹B\uQ.b@occcâ3>>m˘ß1o,“*Ź}¨2©ňčeÂňŕ÷ö©Ä&±Ň!AAÄC/±z±Ě b`tçŢ.ܶkvîĎaď‘ć»)qSóă05žÁÉ[Çŕ´m8u۬›Č¤Ą¤…Y}vÎňRc4ĺ…•…Ëů­Ŕ"á 6kttúç~fÄĆÂ/—"Vw¸ąVGÁYőIůúĹAŁî•ZŔ2´'EĐqT!ŇŇ©ţežřÜNźißőĐuU›ąaô4 ďĽüâٶĺś'‰+ĽĹ)•hĚ·’ú¨ëN›×Ž\Íx˝mşbň§ö×6#3_™‹@†XŁݍ>ŇOO×c8W"G ÂýíŇ®żÜşÎ<ÎÎW+•––Rŕ)ŠŽ@_M×NÓÔÎDr˛ňaÜH \ßč׳,…Ş6ά[žd¨Ő[Ké-�R˝Üřz™ňX-ŕ` Ş«w‰Ź:ôsëićˇňĄ^Ůş6ާr‚eąď+/ Ń�… sss0??_ŠttÁ~Pě€aQČ€‚†ÉÉI!nh%Ĺ<T™|ďé*–?(Ä@ˇ–cbbB|t/"ôł$° V $° ‚ ‚q¤Ş‚Xefź^#ż}×|ő–yřńÝ đŔyŘ{„áąŢ HνqŤąÄ‰}ŽéŚŤ1ضľÇns¶ŹĂ“Ďš€Çś<ÓíĚP‘&°„X™vPVÍt^#×ÝÎ Ăa*!O uř–Ë5ŕ@@Ş=49Í8uÓ°Éš÷™w;†µáĚ´®ĘR#ůĄľ-öy1®-ă…qż2k*�ŻT`5ôšsí7‘úâ°2(ŻÂř›6»<~ yĂđ)XâŠ@®¬Fcă.sŔĘxĘČm ‚e×Ăj§Ţ{Ý!^–"§˛<śÇ¤ÁXâiî·o–_¶aŢp{™_ńEÝř“ë‘ôoRŠ,R§Sq55HĽşö<\ď}"ĆRŘĂ\‘…8^ÔM`ý‰,Q´/FĎęg8ÇA¬vhĽ€ –&=zTümÚ—+ŻŘ–§¦¦„¸aĐ{–…łłł"ý&`9”HD•©]‘§>‹XŔ‚ ‚ ‚ bŮŔ‘…>wĂQřřfá®=ópp–ĆŹ”ˇŚă‘2«,.rxp˙"<°ż ·<8×ŢyžńČ xĺ7ÁúɶN–bĤĆâΠÚĎ#Çeź<˛k, iŢ%–ňâ¤ÔÂĺęgĐĐ5rŻ\xŤWű{%¦ĐĚ™š1=Ď]ŹÍ„,i&RŞ4łę@^wů„ţűD÷,-5rÉ–T!ź!đŠ+Âćýş~`Řw–TŹ7NGĹRŹŢFôsëxm& "7ë;|ň•hř#‘ŃŢ™Ő˙yDíP(;–�.Ő3ŤWëߣŰÎAŃ6ŘgٍâČ‘#âŻZÄYVÎsO@ń‚žŠ4 ˛d¦… ,桗I_ţÍ.ŹľA¦Ű¦§§[Y,Ő=ś † ,‚ b„ˇABąˇę@« s‹‹đáď†Oüđ(<t X—úEL 21Ső’S'ŕ˛3'ŕ‘ŰÇaëú »�;÷qřé}óđŤ[gáî=‹p×î.|ěGáţ=~÷ëá¸Íc˝¸ŐŕIÓň´yďŠ3„JWM¶çćߦů«ţ—łemS'˙�€íĄż¤ ›[;Š<3†SĽ^čw¶‘ĐwMÄrt‡ůüQ{,Üs]‹Ąę+chĐ/&ƉrĎěëę{5«^ĺ˘Sg¬ĺĚżOř—asÝ’1MđÔ*çÚ2đÍ^«Âpm™�®ÚK!–âÚ5•uĘtOŕlď‘1óYKîÔŠ“‹<«ă/ň÷ž,h^–ÉÉ ÜgąĂ8ÓËU´[3 "ěĺ¦Zş¤ĆP® ¬Wůȸą­Es’RŢ2}Sů%Ĺcg™ťd•„¶DJ^7Z¨ţŻŰ ŇÜ_„˝„˘3k śPśđí‹y#—Ţ|1X^ó«aíĚö*áK0/ž=rg—Z.Dř©Y.Ä×JŐ’P˘}—˘ë<«%C´ĄmJĎÜľ ó TŰË„cB*W8eEy~ý7¬&˘ťLFżs«,L[îCă ďŻmhĽ€XkÄúŇZAŕ�qC —]Ȁ؉PY|÷GY PE(jhZ.LăŔÂk…žG]™Bâ>ڇ" ,׆ Är&ľŁĐX7±Z '0‚ ‚ Ą©1 •†¸Źý`ţţ{ł°çp¦7°/ĺśŇ8Ľć‰ÓpÁÉ0=žÁXo $+Ć1ÎŢpŮYcđ/7×Ü0˝n:Ă?ý|Ísřłą hôUĘîSOň¤8Ăč ‰+|Ë}0oŚÁĆ}d¨†˙4Eu­Űś]ĺ‡{ ”ŤâëTKt"Şí2´Ą~g[§%Ě-r,dÜŘ—ëá¸f`eEş–ń>&Љço hrPk%Ď<ďŐ˝ĘÔëŰďkĄüÖ÷G…2šbˇNPS¦%Â{ŚĹŕ¦cK\šś{“Eăąőeđ5ĽńKĎGĂyO×ô—0„»Ń€7'™}č~ÉE±d‹eX´Ď˘ ±Č&W˘‚P:Ě/l@áO§J¨Ě+~"Śz4}<. á!dů®6±'—J0% CoŚk/ ĺĹ(†ĐĹ ˘žÁ0݉‰ ±\˝ ‰ë1ŠďÚě0-LE(üĺMk XAAA,5˝Á/Ţ4űá,<|8‡AÍĘŐP|žyîüöÓ×ÁI[Đämlîdřa°cӼ겜˝}ŢňĹ#p˙ŢYřćíGá­×tŕßýňĆ‘Y´20TN9Í“fč/…÷†ĘřÓý pŤÜŔ|9˝8Ń<ćö9!f$®=ó a†= ŮŻXxś(ă¦z�¨‚‡×ŹČ¬€L3-úÜW3×˝Y‰iŕŐ@¶™—żÜ˝áĺ*®^“Ĺp-.c¦a–—ž7¬$.áíâ_¨‡%Ďre*fřEĆŹ„»›„› 2 čý"Ä ëoź´-n ťÇ°0Gü«Ý/Mѧ-řjrď(IŐ…ţČRuÂC3{Ľ=éF#Ł|µł˘‹rđÁ~w¦ĺ9w4‚ µKHx‡bô1 PĐ€é+ʎ÷}źZŇŁMÁ‡zëŔĄKěĄB–â=š FXAA¬RđĄęđáĂâ%gffĆyŮŮ»w/LNNŠĎˇC‡„űATČ|);zô¨xůĂ2aľř‰/­čć]úÖ˘ÄcĹýxś¬UIKĹ/vwáęźĚÂνÝÍCĎĄ™©Ăá)gOÁë/ß�'m±=´ď•§ą¤ČegMÂżĺxËŕóđ?:—ź5O8s ľČű* ©ˇÍY9ćĚř¸Á2wĄöŕ2ĹľŚyíăş7Eók5!¬¸Š�MĹ2xLyŤ±â­.|¬KoŠă!ˇ@#Ccf 3$ą2X:K ¸KNŮu Ú >;¸¶ó4şk|-Je -dXf„©¶ŰבGói„–؉‹IŚřć: Ѱ2ÉBĚÂŰ8çJ^ÁĽ;ŁĺŃ—|)µ�¬~ Ąô ßűM Ćý”śh ďĂúy`ő)ĺRHĹĹÍ IiuśyqĚť€çźaK¬__´«N™.÷ŢgËDÝg.ŤfăîKןę~’˱Š:hŔű�4ââ»4ţµ÷ďßż_ĽcoÚ´ úg˝ăű˙úőëťô}ĺÁ1 µ Ž%`yqýşuëś6‚ůŕr 8ľ€űŰűĚŹŹÁ˛LLŕĘ„ߍYíˇ–Ň8rä¨đ86>>Ń»ŢÓŽ·Ľ>X7đ˘@�뎅Ąôł>>GbZr©¦öÁôń±.áqUK± Ç͆%řPé«2ůň'µĆhĽ9AA­łgĎř«żú+ř‹żř ń"©/‚Ż|ĺ+áSźúÜ˙ýđźţÓ‚ýčG0lvíÚůČGŕŹţčŹŕßü›oxĂŕ]ďzÜwß}ŇĐ ˙Ĺ/~żů›ż 7Ýt“w˙>ż÷{ż?ůÉO†¦Ö'¶čöŞčŹî^€›X�Bg74›ä…aWýÂď9śşm ^tńz8ýXĘŔ罂9żd'ź5/Ü´°,ö‰>~]ođia ŚúĹäčЧ ÔŚT}fjÓ2oýî4üRa»\׷늠ߓŢR}rń‰çY•Ë —ł¤2çś/ď±ö™ź„%–—ź*nRÜL×ĚË<çŤŕ,zľŃĘs– /św=ađßđyLČÖ°O€ţčëśůĄśĂP~vÜĐöjzť•žldÄ>ôó;îÚtjŰ­/R&ú,±bÎ�y'—Âő“[ţľĽĺŕţŮ˝mzáA,í3ĚsMČő×_/ŢłńýüŽ;îpöç;ßç=ďyđÇüÇ}×Çë®»ţđ˙îľűîÚ°7ÜpĽéMo‚»îşË»˙ź˙ůźáůĎľçŘ·oź±Ë÷Ţ÷ľ^ň’—Ŕ?řA¨ĂŁ@âž{îI2JŁřăóź˙<ĽůÍÚË{?ěß�ţĂřOđĺ/EÄżăŽ_ôĆ8~'8fA´×ţcűDŻ^ýż˝q 7Á[ßú6¸ńĆ›‚×·c]˙ź˙óÂßřFQÇŢ÷ľ÷ÁîÝ» 5őgULëÄ0Á<t‡ĘßöŔ¤ţ6-ŽĂÝvŰmŤĆĐp,Q…oUäJ+XAA¬R¶nÝ ŹyĚc„¨ :(¦Ŕ™(—_~ą‰ňśç<N:é$&řüţ÷ż®˝öZ¸âŠ+Ä ÍUW]%rŢţö·ĂĂ?ü<ćcŕĄ/})śp @+ť]‡8üřŢŘ{d^+!BťŢ—KN™‚Çž<é gš$ü®Ľp·~ş=«ńĎî›wΧÄy5HAřˇpu†Ă6 ÍĘ5ŚăćĚk€-g>[†ŐÁqĹGÍIńr ĹJĚÄ‹OµżţX0„sđŇđý°?…\�?±pÁ‚čgË:;x9H Zںׇňă7¸Wˇ†„nŚłŹ,Ź/COyőę¸tq›§ÜÉľ¶ÎÄűěJÂC« ¸a}Zę'3?Y·”‚iíÄďnÚ<®ŇmÄĎó\«Ŕ§ęŽW˙49W±ëë»^MÓč÷$ć9•×ç/ÎK$śęďĽĺSçüĺŢ6X÷ čOĽM^őAž÷"ąŢµŤ·[3tqo€ˇövÄ˝AŕxZíŮř˙řŹ˙(Ć Ú*µ¶ôşyóÍ7;‚ śT‚ŚŤ7&Ą…Fâď˙űđć7żYŚŤ ĘÖ­[ŕ%/y1ěرáľő­ďŔ7ľńŤŢŃK„x˝†|čC†‡zČE4źţô§…— ŹăP(şćškDťJőbˇŔşb†AúţT>>„ť7¶Ý¦Ţ+ţÇ˙řđ[żő[bY‘Ô2$Ăô’A+ Z"„ ‚ b•‚nQ4îűnżýv8÷Üs˵qŕáĽóΓO>Y¸ŕD—ĘÍľĽÝ{ď˝pçťwŠ­Í›7‹°ř2ŠŰP°ń¸Ç=N¸ěDqÎ.ąđ … _´ľřĹ/ÂE]ÇĽQžţđ‡bŕćŻx<ţńŹ/]~žqĆâĹîŰßţ6Ľđ…/ap&‚˘‹ .¸@ ’ ‹OĺćË…Ç´sçÎŇ])y® V ěĎá·qPB3ZôŤ4Dś°q .=mŚwä¶`ş‘]¦ĆŕĹŹ™‚żüęĚ.,‹Nť¬]Ş`ĄˇFő3Pś:—J(­ş|š”cäݶ–†ô0Ü0´ŰîĺőănŤM1áKa€ÇSA(|`p–\ĺ/ÂH] â!ÝăŢ`ö^î ®ÎUÎ=łó á‡JĐśU®ÂĄť7ŢJ5aF5´ó*Ý9+i/‚َJ-uá)źÝdyĽE:zť©Ż+Şá5éÚákÓ­Űď\t÷:űSµÎ—ÝěőŻ+Řę¬ö˝űaéďÉŢ2•k´řÂ[›­0fťžţ¨ÚŢŞ>ČĄoThn-ŃĂ5×îćvąa}3ń"ÄpZŹg?w‚ă10žpC$–Ůľ}»ř{Ë-·ŔĄ—^ ۶mżŃXŤ"ńÝ—ľP ×|ŕÄ;=Ž9<ň‘Ź,÷ăřÂĎţs1n€†oźxáÖ[oăřŹ‚PËnÄŔ¶xę©§ Ł3 BpŚC-sŠ9pś�ÇtpLĂâ„O8űěłĹXŽm w {řÚ׾_|1śvÚiâ7zűĚדּΪ-›\–¤ZšgúăŘ÷ŐqbŢuËŁqŘßűŢ÷ÄŇłžőLQ'ÖŻź?ýÓ˙*®)Ög}y`}Ä:óâżN?ýt±+©čËIáŘ×°=8(AÖűŢd—Ă *řKÇŐ2!ú=łíwd‚X Ŕ‚ ‚ bsâ‰'Š 8xđ "ŕŔÂř#řW˙ę_‰0řRůľ÷ý_xő«_ ÇwśxůüÇüśXż_ţ÷îÝ ?řÁuđŞW˝Ş70q;|üă‡3Ď<¶lŮ _úҗᓟü$üÇ˙řá‰O|ěÜy?ü—˙ňfř?˙ç˙ |ٸ;v/Oô^,ăŻ˙úŻ—#×ŐW_ §śrŠXóôÓĎ/”î…>F¬?ůýď˙�>÷ąĎ‰88€±ś«Ë L¬>¤A`ď‘.<x +FŇ•=Ŕ2ÉA|p]Κf¬0Řĺ]8fzÎ:vĽëjx§zZŮ4f^vĆ4üĺ?í†Ůyw=<Ľ±%§A`5ý5˛»Jqq^Yý qy]ŇŽĄ4ür{†·L˘n‹‡Ů{ŤŇ€—=KXšń™sÁ‹Ú­¬ŃÚGĆ‘ű´ ĘŞ}mß TŃÄěiîn—űôLî í÷nđe ŤaM=sÔťŞŇ–݇ Ükß ďĘś�uKĹR żxˇJC݇Şúč}oXřd#ŰóFĺÁäŞţĎ×6ą§Źö•ˇp¸ű ô—Á‚×9(îß婌Ą-;�w~0-e°„0ćµHI•Ű}+÷·űĄ%µ#ŘŃŇÓŻsŮĎYŐx}\ť6—É(Ó -«SĘË:Ŕ4!ŘR6něG”‹Ž§ţŞţß06©ňÁ3­Šé" qżuôĚ+ĘpŽ] Ç­b1ë·ęką·<Ţ"lÂ%i"ś"~Ŕwi4üŁq—U‹Ďţ ˝ńípÚi§ĂOúS± Ÿ$ 0ľ§ă6ô6y饏^$pŚ�˝ ŕ$ OŔmUáôŁĂG?úQ™Y׫ߙ0TŁçÍg>ó 0źůüs̱b ŕg?»±7ńÄŇËĺÇ?ţ xž(Ę”ç\ô/(A/číË‚ŚŻ~őkđÚ׾¶7~°îąçŢ^ůŽöŽý˝qŠ3áá‡wĂ?üĂ?ń†G‘ÄŐW^,Gş}űq˘ĽˇľÓ{ó›˙+|řĂŹçÇ\ľđ…/ô Ҭ7ţ1&ÎĂSźz9<íiOăD=:+®ë/ýŇ/•×'áÄ Űoż.ąäcĽ Żď˝÷Ţ׫33âúâuA‘�ŠsžúÔ§Uď#‰·ČŇcU!z¨Ö%Ź‹éÇ–ŇŐˤ¥=ű¨2)Źjú{Ô–Iy°Đď—$® Ö"$° ‚ ‚XĹŕ,,ůú׿.ÖWDhŕËÓ“žôä2ŕK&ŽüÓ?ýłŘ˙kżökpě±ÇÂ-·Ü ˙ţß˙{xÜă.37ppŕÖ[o" (Yż~xaĹ]GśxâIÎ Źůů±NéćÍ[Ę Tľ?á Oж01 ‚łgpVľ(?ôĐ.QFÜŽ8hˆĽěe//Ď_řÂ5˝<!i”’ – 9xsd®7y͇…±0覔¸ĺ1+‡ďĹČaŻ]¬Řş±ăo©Í˘Wś“·MöÚŮ<t{&Ť]ć«b7I'^xß`Co·8Ř$¦…&ç…‡śĹ.ÇŔ©SšWRm!bĆţŕg"h ěk3ź~Ňđ}żAže”3gë™>K¶Lˇ-rËCB•ťľťË:f•Éëł‚¶/čÓ"YĆËô˛çưZÚuĆíëđWî‰Q™'tměp˛­yöq=Ą,(~đ °¸­†Đ ¨¬P"p§”PzâŤ4ü]´vnűhŞĽfkaŠ€8ć`=çfFĘa%Šy~JąÚÉ´Ó]_G=×Nz-t©Ě©ĎnËmú©xću°~_Ý}F,¦í÷ô=<$D˛ĽSč*źÁ‡UÂ-ÓG¸w—EŕVżŐ˝żúWŰé~żśë/WÜľŃĎÜ#5Ö÷sÎ9GxŔ÷|?ŔwďĎ}îjxîsź+Ś©Ş}âŘŔ·ľőmxěc O{ÚSĹľO~ňSđÎwţ\pÁ…p˙ýÂŐWA ®¸âbŇĆß˙ýßĂÜÜĽhf8.đ—ůNáóĹ/~‘<Ţ5żýíb=–#Ë:pŢyŹ‚o~ó›˝1ŽťÂ3Ä=÷Ü7ÝôsxŐ«^ źýěg 7‡ë®űˇ0ş_yĺ•=ú#Ĺä’·Ľĺ­bBÉ«_ý*xöłEŕ_ţňWŔqÇ+ĆPT‚Ç‚C>ż˙űoęó·ŕE/z‘8/u=-ć˝gĎ^řâż7n‚—Ľä%BpńÝď~Wx÷ŔsF‹ţY\ě ˇĚĆŤJ‘l§“ o)8ćd{6ťťť×ëöÄÄd99ç›ßüĽň•ŻěŐĹóˇ)ş°"$˛Ŕmý×( Ӆ׼ćŐb™ž>O­ľű’ĹE7Ţx#|ík_%޸˙ţ‡zíŔ{ßó>®09lß~¬¨ëuĺQůđŔ33A¬H`AA±JQŽ80€./Ń=%śŕŕ�Îٲe“çÁčíBPtŃíćâg­Ľđ…/1nşé&ńűQn/q°�×±|ĘSžăăćc&–ĂęęűąąřŻ˙őOEú¸˙¬łÎž,đ˝Ląݶmk5s¸ř‚eĂ(8ëä”SNŰ.»ě2řň—ż ±Ŕ1‰Eü€ĽđpŔĘ™—r ?Á0_xŻXär5ň¬÷›]5Ŕßf™gĺ€ä,¶MŤáű¤™8,`đă•‘ŹŰ€ö4˘?îpŤ\+őXbĺYrÜaÂť+Éaj Ă öŰŤűĂL·ß´JŁ3W“PyCç2ŠŰ C4ç2ő0Éd‰ĆVSő&sguëĎë‚V=İ2H(‰đrAnÉ wĚ*ś“ ĆOÉwđđĚúë»ŢĹÖҵDó3–)ę–ę.RękČHß/öJR$Áťň$-Ĺb{“Đţ­‹ZŁ.ďřąJťýË‹ćĘ 1AżÚ_•W™W91°â]€žŚż„  ~|Â=ZÔYsšícş0!>@ď“(¬Ŕwţ'=é2¸ë®{„çËg=ë řüçŻ)ág¬ł_|ěŘ!—yţóźúЇÄ2Łčcaa.żü)b?6ˇ‹/~¬0nă÷]»†n¸A Ţóž÷Š´~xW/ŢB,^"RxÔŁÎË—üô§× O×\sŤhś}öYe»Ĺ čÉ=tâ˝ýźţéź�[*.ýb‡ßřŤ«Ę1ŤÉÉ a¤Çń‡Ç?ţRá}ó+_ůŠ(NBÁr7—EÁ1‹W˝ę•ĺĹ/ýŇłÄŇ ´DČ`0ć5ŕ5VKâšŰ»Â îCaĐśß»¦á]ďz|âźčK`!ÓŤßp˙'?ů‰Ţ— –uáŻxyP`a‹úSžYbapLQ8aCża~ć3ź-ľĺpîyŹ ,ęň µ ,‚ ‚ V1jŤR\†p �gvüÖoý–÷E_řńeéQŹz<úŃŹŰđ7Š(pŔbff˝Ŕřá(fc(ďźúÔ§ŕ„›oľY,5b‚‹-[6 !ơC‡…'Ť±±ŽlÁµ/q˝Ô˙ř'đĘWĘeKp& ÎLQźşkÜ<ďŠY¸Î¦bÆő˘,±čU}č0_Ŕ_L΄âŇĚ”4pÂÔ,–ÂDo€}®Ëáȇ ăÍ e:íţĂÝ2í™ÉL«˙$¦Ńŕ ÇPĹô)­şOňHL3ôő3G˱UšÝÚ ×î�¨nłgo#‰Ć&kĐq9ŕCĽŘŢ—¸"Ĺ€ÇĘţ˘ uçGÚŕ[,eńd‚ÇŽ˝Ĺ©tĽ��ç¦A·)ď"ĄÉÔ0kIěűţ˛×łnv˘•"€1;ž;i3¬č‡i0]-Ć‚{™•_Jš˛/¨[ZĆJ;śg9ÓšÖŢJ$R]ËŞ§t?*(€ş¸ž8‰ĺI24÷dRÜ´C"n¦ďË3VţxyüâĐjyŹ [č1t‘…ď1DGŘb ńľ·ĘJ ŔěC ą;ć=ÓNŰŹh$Ć>ŢpI(‚€^!/ľřbx÷»ß=ô0|ń‹_Ëo¨ĺBřîŽďęʶG|·Ç‰8'f ÇK\ŽA133#ŇÇşŽ-đ]ţ™Ď|¦đ¶‰FoÜŽńł…çĘpů‘ .¸@xÝxÖłž%&”ü‹ń/ĸ+ĽŐ,,Ě‹üp’É“źüdáą�óÂeDP䀢w»ýáx._‚c¸ěÄ)§ś*&4'‘t»]qě*yôä‰Ë˘őĎĺîÝ{Ęs‹^-öď?�gžyVQ§ŞđXń: —UX ç‹cŽŮ&<¦ţÝßý4%$Äó…{ŰŰŢu,lŻĂÇőŢö¶·‚Zrôťď|§X—ăťšĆ%{{c�3aP5!ÄĽO’ŕ‚X«Ŕ‚ ‚ b•˘^vP Ź čBgaŕ�Č9çś ľŃW܇8đä'?IĽĽ"(~ŔmSSpú駉5UqvËyçť ]t|úÓźŰ0.ŚxJÓËó‘đÝď^+ÖJE÷›(xöłYĚŔ¸(Ń_Ôp­RčÖóÁ2]ô±MyĐ •ŔúI[g2xpżg˝Aô@‘Ł' ž,Ěfěý=4Ű…ű÷,Ŕşă&`¬ĎńŚvóÎŁÂĹĆxo|ĺ„Mc€™-“áş}VÖX*±B±pĆHĐď,ëZę¦ ŇŤ  ˙«Î#Fyµ4H“c4=uřŤcőw[Ć“×Eđ΀kmÉU$÷řbŇöQc|B}ĐŽLËGK›WŇ+ďµJ0R6ąĆq1†-řĘEŮ2`‘úpYLò»ß産Ś50#­´Óá7âÇjkť8‡ת^0(µ·â˛Nť…Ú´ťęžšBq—RV&Ьµ·T˝u%•ȢŘQn­Ň•˘µĚŽËˇMpK´jx%‚Rz5CŹ8ďimkđęxĚĚÉ E´ ¶nÝ*D čőňO˙ôOĹv^4üÂś”¬–8‘(H@Ž9wß}l۶Eěż÷^ů®ŽuřŘcŹBôqÉ%‹đhÇĄ¶lŮ»ví*– ŕ†ĘÇžđxřŇ—ľ$<Y˘¸ăŠ+®čĹ]Ő ˘Q"(č@Ź7¦‰Ëś`^ş'Ń5p÷ř±XRâ×~í_Šń ôl“IÔ˛i÷.ĆM0ôŞxŕzżž:cKBqÖ­›†íŰ·÷Ć•~OúÓĹuĽőÖ[ŲxnÇĆ̉76l×ň?ř¨'ji‘|PěëÝCk, zŽĚÇ'üÓóŃ˙Ćž°=T˘© fÖŻϢ\ř¨ŢyMŻ“>O!±!AAÄ�˝N ¸?ĎzÖ/ ‚|QEĎ8H/ýř‚Šâ‡řĂđţ÷˙_ˇf?ćcĹŚty‰łE¦¦&…€ă3źů <éIOr–Ađý]mâKđ_˙ő_‹`|ŮÄÁ™ř‡îGď÷ŢX„Ő_ ˇě¨2¶nÝ"ĘřéO˙x!FĹ?®űđĂÍÜvÄr±m}Ű7p¸ďbopE ݞݕ35e}ŹŚ&Š™ŢĹÚ§řÉ<tpną˙śą}úÓúîD››çpęÖńJč´B5Ţ&íüůčÇ^ˇç±ŇĂ.CÝ64·2¨ĽHđúdÁAě!ÚS5â‚%®HĹ<–B\ĹýűEĐčÚéśéb‹ŘŚ»F$Š+ĽeÉeäśUFá˛|ĺŚxS|Ŕ9w®J¸®pĂH. )¬‘aÜžĹŰź’†±:bą¨šŘ*÷`z¶äfmľĄŢ#„_€#V 1ťŰ}qš–SyIYNb˘śÎ·•&Kđú1Ôş“ł^÷`óXĄ�B| śĐý:n”íÝ[Xîé¶°ĎŞď?ÝĽęëb[é¸uD» WŠK.ąŢ÷ľ˙ ›7oËp@)V’aĐÓĺ׿ţ ±Ě�—qŽwĽăpĺ•Ďďéčµ'f|ŕ,–˙Ř-«É7®ž&ţüĎ˙ŢřĆ7÷ůĎţóÂ8ţú׿N”Ó¸ýö;á„䏧žz śyć™Â ŽKŕĹáĂĄ/çb\—x˙ű,ĆĐżsçNřł?ű3xĂŢ�;v<C'.rË-·1Ě ď÷ÜsooĚdCośásbY…óĎ?_HpÇ.p9“ÓN;MLHÁÉ* áčAăcäŽu Đ=nţýßD,ÓŠńH`Ń?8)—Ą}Ď{ŢÇwśOŕRčµE>xn¸AŽ;˝ńŤoËĆ`]Ćq­÷˝ď}đ+żň+b< ŻÍë^÷:‘fťÇNÂĄG† Ö±”ű †Ă:Ší'ŤBaŘ, Фěm±!AAÄ�_4q–Čwľs­p…811Uľ@âËľá@�ľŚâz‹8€®1ď»ď>8ĺ”Sŕ­o}ko�b‡Źë’˘ _&O:éD‘z±řěg?—]v™pµé´ă�ÇoţćëÄ đ'?ůIřŘÇ>&AP”ń¦7ý~ą6©*“a°dňËłf^ö˛— ÷¤oyË[zŕĄ/}©đha,@#Ę ›28ç„1¸á~Ţ�Y˙śwÄĚN¬ĂčR66+D� wúc8˛Čáˇ}óđÝ›ÁÓĎŰ$<dôĂCűŕßß đÔDž|ćFÍĽ±r . ŻúFŢŔ@ç¸(_¸łŽűI„Uv´2× žjTjnëżßČŮv9e®Í’6véńŃ aEO­‹uÔ¶† 3tćÝNł×˙E‹04ZűBęRPaš`×E•®ożŹx٤_šBfâěŻ+“ŢďßÖţ”´úÁ{<ÖŇuŢ*Ştbm»hg9×–ŔĐ㦤_f™:ě~<߬†ô Qyłpj€GdőH,�´g}Ü^¸*O¸_;ËpxĂËt o°´ç=­VË Ń bbpÔL|őî†kOüň/˙˛0Ř..Š5 KĎ–'ź|’B|čC†˙ď˙ű#1Žđśç<ţőżţM!ĚŢľýXříßţmř«żú+ř?ř·B�KŤ ÷�ĺ1âŤoü]a$Ë[Ţ*Ä ¸4É«_ý*1N€ĆáÇ>öb1ţ€)žô¤'ĺĹrbžęűĺ—?ľűÝďÂóž÷Ľr —"űl.Ź{Ü%b ář�|üăiţúŻ˙:<ëYW°8ÖËFĽůÍo^+^ň’—ŔÁ‡ŕoţćo„ç‹+ŻĽRŚq`žťNÖ;ž3ÄXÉ»Ţő®Ţ1˙k±ÔÉ{ßű^16‚ă(xž°ť˘pÇ,°(čŔý—_~9\uŐk„¨č\ň'ď h'íŮłG,}qŐUWÁ±Ç+ęŮÄ„ ô¦‚żůČsD˝ýŕ˙ţčŹţHԿ׾öµ˝şű+M XŹńÚâ„!$~OŹőŐyR>)#š ,ä˝´“Ť÷Ć&´rÖ—±±VI}Bd‰űXÂ_ř­>™öW}:ŶŽőÁ}čÇ'ëubß‚ ‚XeŕCú÷ľń™žě˘§ Ó{Qśč=\Ëgůb‰/±ËĘcőŔ«fÇ\Éýá̢äŐšĂr¶D.ţv{ń;ľŕ¨58ç`qaQĽ¬ď;pÎ~ôS3|ó"> äÚˇgĂjÇň\nÓ=Y„–!ѧ0#đţń¦yř«Żí‡‡w3sśQ rýcěb(8WÄ Đ^ßŇřĚş pňĆ ^˙Ěăŕ™çoę ”4k's 9üŻŻÜýînëY;_đŘđ˙^ylŻ@Ü1šĹŘłgź†łżÔ`q˙árMäůĹYřŢŹn‚ď^{ciZôÁűń˛ß˙x9ýU?ĆQ[ą÷ĄŻ 5úË®×ţ-Ă{f{ >FśL–»îŢ®—)´}YŃľülbł±Ťß9łĽW¨0™ńŰ6x)†'¨đçWy`Ńe'”«iy˘l©Î›Ę°źíRÓçLź'Ż[jŰĹëź[Fůň{ą(Ž)PČ9wvÜ*Ť,x ‡M¬}V?ňň:Çηź6ă˝ÓFŤč·^…ĽOÄ—©—¤‰ÚUx2±ÓnÔöŘÍĽË(ńŠŇ8‡ő†7 M,î†VĚżŠWµvfě“ýNf ­™¸µpK°­ľËvç˝ßb›ôyËŇ5 a?VË%™â»é©1¸čś)ضyLőĆ Ćz†G4.ăxţŐÇ Ôłeő—Ć †ĹZ/PďďŁ^}bˇyĄ¦0Ň ë1®ÉuWí—Qm|`Ť^SädŁú˘čdvv6±<ö›kÚs ŢWp‰ť~ß%÷ěŮŰ/Ř/(Ŕ~ ďc¸´±úč]óË@VşĹß®őáĹß\űpíŻýŔďŘ_ű»MmC"DmľAA„đ=nTž6hŕŹXé¨ĘśÁĄ'uŕG'ŤĂöOĂBWľ7˘i kp!ú–‡#ë9”Ë*dYş<‡;ö/Ŕ‡ľ»6¬ëŔcĎX“c¬XŰĽjGy10ϔ֣·ăŔl®ľn|áűw3ŘĽąĎ{Ěz1ź ˝Íńˇ ’•9Ť=…Uźâ‹iĚĚź 3 Ţ€+cµŻď!‡ŹĄ2 ŰůůŚkń ‚†÷š‘­<â/¸×5/ĂS1ŇŞŇ +tao°U·'ͬ׾3cŕżXN¨ˇa¸é=49}ýŔBKŞ;*s÷ZâŠę¸äĽyžĚkź«ܵ‡“x9ÚEH|Tnçj¶ ŮvBb…Đţ"Ygúě°’ ä5ńBíÔUDvâÖh9:ÚŽlâA@ďĹRĆŕě~.…ŕ9˛ú—H Ń{vÓţ_Żk'Lĺ,ËćůÉ5‘Ĺ ^,bńű9ßĂ@.“ł´}A4e^ŮSĘ ëŮiaĺ°ś×J˝«+/°(@AňŔŠűe«űR ú=FÂŁ�Az›­?hŚáQ€-ź7&ő~˘ cĺ±Ë„{y˛kXIř:dE˙)/Ż-AAA¬4ŽŰ8Ď»pîŰ—ĂOî͡+Ćb¤Ń)ă¬Će>‘ĄÂ™4Z2\SĽ7ÜuţĎW€Ůůcá±g®‡ SťrÍúr&gaŻčöâ>¸oľř“}đÁo<űćrظ®ŻňvxÔ Ó…·„ŐAřÝU mf«/nŠŔao(¦1tU¶´´F 1¬ç-: †/ż§B†XЦŻđ¦i°Ňí ,Tęľ< ó OÉŁČ)bčsmlŞžB¦×ż˝wî4CqŇv^M<JąvŁn†dÚżâ[Í97÷W•€Ă c­źC9H#9ĄŞ¨~ü)ÖÖ«ŚôYšÓf_ \¸η]ŰÚ‚á_ď‡íVĂ`0Ď(©b‘¸Č‚Î]’eÄ•O=čňŘÓ/2QżĽK‹e«ââ‘ÂÇ$m‰Řćô÷ŁŢ»A¬>lŻHŇ[Đ5č^›<sŰ÷ő…ĘĂíÍĎ÷]•ă w %ö°=c6ąŮů`ÚřŃ÷ůĘBkXIÄfR ·ă¤N™ ‚ ‚XŤ0xĚÉSđ//ĺpd!‡[D7żĹŚůňź…AÉ%7pýÜ{˝ëtá'w†˝×,ŔÓµ.9cN9f¶ÎŚÁÄ8śg0;—Ă® pëłđÍ›Ŕwn9�{Ž,ÂćÍăđňÇ żzŃV1©z5ŤŹ¤DĚw˙v{ź“ŚöŚôuiŰ^(Â'ĚchÁĚIÜű˝‰‘J3ňFöŮa*Ź ˇrĄÍbçzVÎÉĐLŹlłÔňű=ŻĚ˘<p¤nť‰źŹĽ&ľYÇă†ůţÚ‚«<c}cËĽ™eB÷”©n‚‹r€Ă"aRpĘ(¦4•ˇ™ĺŐ;_׉>śOUă �×[Ą4)˝aőîî,Wő;Ô펓ńŰlĂeť‚ÁŽ><¦XĺŇVŚš‡ ]8cçĄę±;qĚČĆjgőĎ@>CR“¶×LLU¤_h?ä./%‚XjB ôˇ–ţQ‚†Ô{‚ňˇ 3ĐkĹÄÄDňŇ zZHWxĘ„FĺŃˤ“ňŘ ‚Ŕ‚h©Đ‚ ‚ ˘%zĎÖO>k :˝1ď(üđî9č˘Č‚ĹŤ® ‘•6źL¸s|ĹËᮇ»đżş ľqÓ>8kÇ4ż ™tŕhw›ďź…‡-öňĎŕ´íëŕ—lW\zLoD§—ÚŚ›´!'Ű~ż©K->ł§˙cMť1¤Ž_˙»Tďx^73Ív!C+OHËÜo]wđxˇH†y4 ŻVË@1�çNVţ˛3˝2ŞMĄMXß2şB_ń˛m pĐ@^ôgaÜ8©Ňśî7›)Ô¬9óŤ:Άż‘ĚË'Աۖ]·u±Q^L#ë€ń`Ž™i±pű§u8®ř�j'2ŹČbÔő<°}pbmÎěŁ}„2¤1s¶­~ťk˙ÚŠµ\á<Ţ,\Ń ËBÝ"�”‹|ńËĄiň$Ď*^¤Á¸MŻ+ďmKбAµ(A ćççKAâ{†IM…>1CH0¬ßOPđ1== GŹ-ËŁ/ó‘‚ý<ˇÄx¬!Źd7$Ö"$° ’h·lrSˇŽ™ ‚ ‚XťŕSńX‡ÁSΞ‚­ë:đ…Ćá›·ĎÂ={»ń<1 4dĄˇŤá Ë ďôŚ Ý.ÜţpîxčPoO^'ńKt:lß4 çź2Wśż žú ˝Á¶äŹŕ­t›çî±SĹĚ$Ü5Ţë^ &Ë{Ľ.K!˛p<WÔÎb7·óH¸Đ錟gžNĎ«8Ük^(#„Q—ëÉ;‡É Sź]pf„�= pÓ—·Q»u3+„iés®Äeţá•÷ {ż?-]óŕOÂÝŚkČě}Őyűxiť–˝Mý5 śMˇ†śËß×qâí§QŤý’îKĆÁ¤•ĄşÎćy‹…őĺ]]t”.!a lo‡ř’ć63ŽĎ@˘ŚęŻ ?XySÄ,Pç‰ÁŃ8íŃěcUpť÷-´eD|xďę–ÇŻPu”%Ť„í§wiz˙%ăAÄh /ʎĽLŕgnn®\š#ő˝Đ‡"HčK{ÄD¶˙bę;złPeRŰęʤ 6¦¦¦Dšör#±Ö!1ľ›€MµĎ|Ő®‡^‚ ‚ ŐŽ4–<ęÄ áeâ©çLŔď^€wÎÂ]»»°ëPs‹őipn<™ôčô^ôz#Y<ďtsaëô¬ťŢ¶ S8~Ë8śsÂ<ć”upî‰Óp–1[úçď:{n?Ćáfn·ýď(†!Z—¶B ˛ŕ~ÄđFŕ!žĆ`đ˘<`”ße Q‹ż™Ç­lŔĚČM }Űq}3Ľëă zY!0±ň6ľG®!SŇ"-m_Y×YÓQX űŰ ÓđxM7xJ`‡O>qIˇ¨5ôÚ9^Z´ňpw«‹ĺŤŔ>fŠ-Ri6ˇn6ýŘNRă.OżÜĎ=!~>Üú6ŕĘŽď]BF*ždúK[‰F¬Týbő/g­,En”#~ޤśŽqEënmôA1š(Ż(@@Ďz]'0Fď*< đ[†Ăç5Âľ7(‘¦ĺAďMž©”hĹ#x\>Ďt?"X ŃoĘőŃ‘#G`ďŢ˝přđa±®ŞâđŻú`¸<ř-făsO´)üžá§×ń‹uť˛Nď& ořÁş"Zż~=lذ¶nÝ AA±ň‘#é[×wzź ącö™‚Ăsfńą»IJ…ÁäňyÎ…ťLąËÇçí‰ŢxÍôŤëĆ`Ó4>g÷BgR„Á`4Jš Ĺ Bj˙RxlçáXí›Y&Wˇ™ÖaĚÁČĽ6Ý€%ŞOĚ ô±t‹rŞŻ!†nôĆ6–3�5¸—ÉCf«­»ý–¬{(Žŕ}_±%AŠ ÂéŰk„€cÄĹ ú€tÝŔw%ĐňçWĺĂśôŚľ–ąĆđĐu®ťu^ąŘíD,5KO83ÓmŰ;‚Ľá0zXg›Ć _0’,áęá—ŹTÁIÚýKuJm—ŢÁééJA€Ůg9đřł…ňˇ’×µj~‘EéČM ˝Ž0pö Şçnbź!#?ΡŃňׂ bą¨»Łý Ĺř=Y,..ÖŢŰцaPŔ€Â ´ůň°Ĺ ©eÄôÖ­['„©eRâ ,ŹZ¦$Ĺë…ŠKk XvßZ ÂBáľňč‘#°gĎxđÁa˙ţýpčĐ!ťť(vÎ(ž¨^ŠąázHÍȨÖWŐ2cÖ+pé~ŻPÂ1ůš¬:wteśeqcŔTÖϬ‡őë7ÂÖ­[ŕ¸í;`Ó¦ÍâćAAAŁ ó|Ăďë§đÓŽűÍđřIađ`úŻŃi6{9ß6ć•Ű•ˇĺNÜŘzí¶;ÖfĺhMćCaX˘˙ő«Ď§îş»KtôOé!ˇ0Đ őgżů[‰+Šewňš2ÖGÎ Íą€Fn -¸ć#ß':`EŠY÷ˇuxT.˘…s2ĎŚcđ^Wʏ"|Í•Ń7ÍP­˙UßÍvŔ4ý†ŘŽ)Ţô6š9é‹TX&™}PVĆ‹-šy$`ďPÖĹŚsŰŽl•dřđâ˛ŮKĘxB÷»˘¶^ˇ8j¶€¤fř¬Ţ ­/N•żŠëÖC<d^ŠJüą§Ę¸ŘęďĹrX‘{ NŞ˝–: îÎ"VcŤĽMřD˘­ęŞh+í?)5őz5Ěg‚ "LĘ˝SyŽv«B,Ś““ŃN¦ŰÎPX?ŕ_µmĐ2řĽ[tŠÉĚX.Ě'Gă¤i51Z…U“śQ$‚¨rĄ”„ÄZ…¬Đ„źŢKÄá#‡áwŢ ;wî„˝{wĂÜÜl)śŔN;a…ýňŻ“^�ő HGĺ±oďŃáKQ®{5۶ Ź8ç\8餓Ł.•‚ ‚ b5ë`ÖŻ•1(ŇÔµi(®kpćĘ©kÖ;†Î†łŕC3}úmđÖŇ6aá…éM ŹÄTXQ¦§„É.ŠrĆD<űň2×&XAŽŻaîĎźž×¤ÚČ(?8TłŢc‚ ٬\ YRΓş.á´ŁĺÓę•Ař—±á˝}ľ.Âí7r§lĚXĹěo¸±]NraU·$Ľ žçXKľóx*Ř u‡űĽŤpËÄ4š—1X /Ku-–TŻöďţ—°Rýl<\ě>ş—–ű­ľÉ'^¦]bž,xŃg±ô´ć+Ël &ŞÄť‡ĄĘ‹EQ·T<OŘAńžC!zŠź'2fAŚ&Ę6¦@O첕éűSűň&ý~čŮBĺ‹^)đz? ű A¤C ˘‚áň‹p×/~7Ţx#ěŢ˝«ÜĄ”ę:JU§ßÔ *®í„^.8 qr™\xş8‚ëP ‘*őŘŽâl BżŹŤŤ÷:ú ŘĽy3lܸQ¨ţ„ŔÜóŇŁnN6–q~~N(ď˝÷nŘľýxôů‰'žh¬gEAAÄĘ _CzHŔ0,Đü’™čËÓfyW‚¸Âüí1h' *Ô>w¦Čx%żd� ęWi¤€WďČň :v¬á<bâ zęŻyť´]*Ń€Ď^Ľľ…ç \ęȲ+Ăxě=ż§°ăň`¸hzţ _sN‹ÚŔYéÁB•ĂWO™&:`ĹlőŘ`ů řŇíFö©íMňŤŐ_.T$Yßń]ŇĎý˘ß{L›„Ú|­Ç‡a oÓď§µ"‹^ dŃ%wóşĄI·čX^mŹ+zű�%ü\!âW‚ "Ě ÂýQwoZŠňaB B€ťđě„kŻ˝vďŢ-¶™}¬+®Đ;xG<xîż˙صëáŢ÷0Ö™(ÓŽq1ŤĹŢßCgĹoĺ2 E“S011§ťv*ěرĆĆ:‘Á &DJtq˙ý÷ÂC=�Ç·žđÄ' Á†‡ ‚ ‚ ÂĹťŮk›• ó¤<‹ÎňDd2úď>ĘHnnÍ!l|÷Ě}“Ľq•mť»K5ř¨ögĄ·[<!ÂđĘpŽ˘�ďň^cżf|é×Î˙™·ö +8¤ĺĎ+‘J,Ľ-Š@rËXŮÔ…nč.“ŤpŢSY‰=ÄaФ|ń±ľuµíV*Cĺí‚ͬ^żX݉VÉëŠďż–UŹ«_“¦×}ů¨D4XiBÂŞĺëĂŐů5ëoč‚EĎ·=QŠ§Ý›ŚëĘ«|Ş%HÜ6Ôä\ rZŰľ.ľ~ĆçÁB-çCcšAkŹşg¶a‹/ ‚p!!Ř»w/\sÍ5 ×Ő@ş¦ÔőňßűŽž*~öł›`÷Ă{!Ë:bVĆÜâ‚đž%t•ťđ^ˇ­)%÷ĺâă”áđ÷Ü,ôâsľ(^~P ±nÝT/ݱčŕ”Ú®Ľl Čâ[ßü:<ĺň§÷ŇŘAAAŚ>Ło$“(‘DkiiřŢ{V†p˘Ó¨ÚW—†ř×ÝÎÔ?…Îđ7_żĆq¨<â_Í®W‰+$ş¸":s?Pî8ö˛•ażĚźyV`ŠC«GZŮfQ'¬Pˇ”X|ËËK›zÓçyd<…˝ń =qć,wP{ĹĘ�şw ´z2ČĚČĄE¤".©â§•q—PöSŞ˝äN=ňF˛XKĎG¦Ą÷7u˛Ş&éÚ;¤Ťeń>Í3…ňŐĎ‘ę·mŰWD’�¤­űpPČäٶâ+;AÄÚ¦ą°yŘĄz> ‚ČN÷úëŻBôţP 4đâ Ă~ŐpÁe<Î<ó »Ž>*–YXXq±Ďît2±tţč.vˇ3ÖQ�!Ö“-–Áíyo°cbl\Ľ2ˇçŠuÓS°qÓ8ůä“`ş÷JÉŹřn YV©í1ţ>tč�Ü{÷°yÓ…�¬ů€AAA+‘ú÷™ä”ÚÓQ$äUżVýĘ SĆp4ŽëďeţŮü6ş(ĂëÉťłĹŤÄ ¬ ¬Ä>cżđzŔŞ$ýţ4e?Nź!­Ťë˝4K‚ČżĽŹ¬¸f·-ĎĄĺ]˘Úđ�á$ąů„'k”™B\żłÄ3Ě…8´2—{Ďe¨˝BŚ6ĚúëRM´©U”.häoNŻĚ}Ąő“\yŚeÚś¶»±WI»çÁ_ŹSĐwDďcĽ×ˇ*‘…ňÜŕ+ŠÚ:L4Ą§ş5YçŢÖôPąE÷hýš¨JZBJ ‚ •ČR<“€‚ –X˘Ó=räDLLL‘EI‚j^ĄËwlٲöîÝ'ŇS˘ \îC˙ŽB äG”`ţřml|\¤955ŮKs3LOOóľ4â ËÄG ‚ÍÎÍ˝AAÄę#$ŔÖ=Äfö„f˛mÓĆö‹+ětS ‘őÝ*×ě]ŐŇ•‘Žӳʕ’ŻÇ Ř†¨f¸F×2U×đťđ®‹+ňr7ŇUŰá%Ä'ŔH7DWEÔ—vá ®©üÇ·dB(!®•Ĺ.ż)¸đ•bµ˘YŃ‹ąĎĽľ)g«i=hBß퇻ý đ嵂 âÍ(ő<ř–§Jé׬ܴô<1Ľ$ö…ĺóBÍ~fČž,|ń+ń‡¶ =›A­Zš !A¤C‹5ŽęL÷íCQÄQČsSSSĹ2r0@z‹ˇ!ô˛ŻÂNNNŔöíÇ˝#ÖozçŹ\–—(‘Ĺ#łłspđŕ!�şIAAIJ#VV¨1¶7ł‹ąâ‰ĐŔQp_aÔĄbUšEŁLöűHüHŞ<ánąÇÉĺ9*f®Úűü9ş†ČĄÄ¸fj‰7”ö×cĚ+˛˝Qč&1|ßłŤďMŞKšřBć*Ţ„}FNά˛Ů¸3÷ëó­Î‰úVgöĺŘś,žşAVüĂýĺôŐ­íO‰YtĎU»áZ<ýcG÷žP†an¬đHH =�MRĄÍŔ'á•Q] o´÷˛Ż,b%xzX^ ’΢?®8fĐĎ_®.Î ďó2ȢçVżÎÁ§K]*Ĺ›«ź,ef[ť‡7™xꪜś.˛rí2s�gŹĚnŻęľ¬„ëŰś"éÚéW·ź\¤ÎŁTô;“ÖŰkmޕ繱‚ •Abé6°Ĺ”Ę®FD3H`AP`±k×Ăb©ŹĹĹ®XŠŁÓbµlľü©Ą9pÍҸ’]˘–˙Đ;hź^§N)®¶ÉĺE˛b€R–QnĂ˝ń"†Â ü GŤůůy8tčĐëA±’ít‚ (…Üí=ź6.¤ć‡Ęąór‚qµÖ»š]"}Ŕ¬ľ_WF)™g©čЬü\ű„ĚEéeku@ŤŰď{‹u@`ˇÇ3DÎ~#1+ż@±jŢ=]23ŚsšMĄ7xMxS%Ďä«…gňX›,µŃtŽsč\Şr°ŻlŐqűóń .\ˇ€Wř–üŔq*Tě„AĽ®řë !Ś©v@*ćŘFčÚ¨v^·uq ó/0*óqŇËWw-Ępŕë âăG) r.sŢܬféaăwŃď–‚¦âżđrG<)]S_ˇ×h^ ěfU&ÁYq—(Εíé"X·—ĽčĎ-겼Í0-†yMÚ]P©Ź"–Rý®ŠÎ´ýfĆÜľŤX{ĐxA¬FńůŤ„Ń?$° ‡"D÷1>>.Dę#E (fč€ů2%_FtŃ…-Ŕ@ń[Ń®ÄJ0!E•Š.¤¨CďyŢ‘nwNüĆĺHP`qŕŔńýčě,AA±2¨gű¡!5Ýč¶&†‹śő3ýý±.ś„5L¤‡·„ĹjĂÓBéÁ˘ú¤ä«Š3šÔ‰ZůM =0^«ađ‰ťRĎ+OH|(¦*_ˇkŁČ8ĚĂżňéßčŠnÚIwúm ĽqHS¤'Ę;Ś·de\ď{ÁWěa^‡ö„ŽNLđ*ZKź ‚ ‚XmŔ‚ =Mŕ_ôô€Q\177'¶ŹŤŤ‰O§Ă Ż™&¶PźLűŤ©2ăĹGźÉSąřdÚě,n+ěA6őËßńŻüT߻ݮřŤe‘a»ĄČBěď}ďg` ‚ ‚ á5Šë?Š™§¶Q*l$W)ű}o˝ú«BĚâěóĽgřâ§hBĆCSđáÎŕŻhžg(1BťË…ę]Ź!týë˝ čä Ĺ"ăÚűgűĄň&"Ž…ůŇ2˦‹:š\;_zľř­A­văfhžűşç…¦ĄźRą­Ľ?xĄ« úd– ly°Ť†˝; _LĐVźQNľ †đ·˝şôÚb ôZęVýuŁ}šŮę Ľq•z/rĂé÷ôΗíͳÖůÂZÁÚşż˛á·i‚ ‚ ˘=H`A„�ˇ â‚AG|_„.ĚĎ/‘‚XŰ0ëŔŘXď3.˙Ş%:”— ÝÓ„ů„+O=¬ktJázÉs94˛°°úr$JD¨mÝ®UHĎrż|1źď•sL|Wń[AA1Ä ćžĐŇ,Â*;D˝±Hîr#OĂ3đfž*FžćÇ҆¨ňęĐ\<bě‡ä˘t‡nŠb8¸B™&HŃŤ%JŃíyfhĂ9ľXÎÂI1őĘ0 O>ŕP-‘pÚ›_íÓź wi^wB NP[/Ę:*E9śË¶›–¦«śp–& +Ú3ćWPB׳Y;T⤕a”­ń)Ë žú+C˙ţ+y&2¨7úóµďžş¨‹}k´WaŞíú„)ť°˛]µťDáDV,MBâ‚ ‚ „„�=?dc`ťL ,ŕ_Öéôľ/@ÎĺKQE 9Ě-,ĽR¨ĺC“““•čB­cČ2#<~GÁîŃ…Ľ•&˝Qä`/;˘€Š}<«Ür9Ŕ‹LÜ—«ż˝4T»AÄ2÷ÄÝ»÷Šďę>L1j9Ňî’|ý¸ýo,(ťř]„놟qŞÜě±b AC˘Q^gIgEŁáŠgá0˘(1Ďáôy@őňřQ¦"+R•BÝŘî÷ĆŔŚă1Ă„ŹÍÉßÇm<Ą=8uMFlŻo—Ţ;,űe¨Ý‘D%¬hŻ‹1VNŰ:/Ţů˙Ʊ!ů`}CË Ë0n _Ę_ĽZIMźĺŃ#zOă¤cÇĺš§!yNuŃ„Ę;¶Ś–O *wĐ“hĚđJĺ»O†¶—eíő3,<O:ş¨Ó{ob †.‘ Ď»ňŃ`ąkŠű|B:X_÷îÝŻ~ÁhönA¬uŽ= ±Z !@ˇ jYAtY×p·Ş”ę(ŕ\}Ç=UŁGçʰă†G ü//^ępIµS řBŠ,*Ź:嚑冼\’DŤT•ż5”h ‚ V"xżÜ¶m AŚ6űÄ2ĂĆöPOČ-84łW ÉđŲ̊Zg\fL#ăź*ˇJJX€4qâű2oŢÁÓ§—Ëě«`§‡W8‘BĺKq1‘hÜë×8ß¶1ť—J?u ĺ±Ň_żúc…ě•Ă0o÷`‰šxËMMý«‹ŽÚ,·žv3ęJQ/&§ş.hß×m€~}şŇdY ťśÚËkť—Â%©;Pő-z´0ĘĂłR9%ÇűĚ0!„ÚoŹ#ö%.baŃAxŹ/dJ>MÓ-ÂI45*B,btŔ:±eË& ‚eđń`vvřă±Ŕ‚(OřW.ŮQ)Ó Ő¶¶Í§^×÷+26&=Np¨^ÚÄ !jó\‰5réćS {˘xC 2,¸©¬7_6Yůń˝č’Ŕ‚ ‚ ‚ V/aC٬%ĽxŹ(Âz=UTęrw_ŕwh[?Čt†aüm^Ć:Ă˘× 'ȢqĚąÇuáĚm°­ôVˇ—ŹEâ•M›!ž€ĚťÉ ¸9ş^±÷LP®Ł_ôrĺ,-ś˝MżiBś,._2aE™:čŽô‘ŽĘm.ű+Ź3âKú<%žűŠŐżxc€LW ÁUx<ŘÍĽ#\FČń6ąß¬‡ĄwX±3‡Đr!Pî/ę) ‹ež(ÄV•[6,8'\ŻqîŚ[Ę1„µLŻŚzżĂ̵ÉĘe©úń*TWÍc Ői‚ ‚ • ,Á‚ř‹łc{iގ]śˇ˙¶ĂŞđ*oEěe%ävPĄăĚS‚ ‚ ‚ F‡ľfžëۡyóXZęýĂôbˇ ·«mU~®a„% (RÂŚ")elâ]"%?EÎëÝ˙—ű•ŘĹ“ŽďwČ Ëű¸\Ĺ+łČüé–‡‰kiő]ď ň–­wŢYŽEq¸Â‰Ä2ŕ?úeöžřjőÄ KH©µ×1â='&ęaËtľ|ŢZ—,O¦Ő đVâ2(ÎŹŇ‚ę;tĎ�JĘPÝSˇŞô¬ňN›rŚí ‹2Ô†©K  ß"­„{?AAŃXőSAAAK…iř‰`•ŤČvđ`ĆłÓsż‡ňĐŤ$!Ip¶¬Y"łŮëErG&jčĆúŞ˘”Yĉ‰ăů„ü–™ŃŮâËŮžYmäŁy$qâłpšŐSŔş¨źySQk.Ńr˝_ŰäĆĹąy9c±1/=¬7I?'MęŐN}đľňo.3uËŇ]€4T—ˇ âý_4ź‘Á¸ž_b%ćŃ´ű=ÖQ1€{ŰiŰyhy•Ëz^(ŠŢ´¸DU}3j!Wm[yŤ¨Bčş7)Ę`^OCĆ}Oüc./e>ľ0ć6^Eô»°ĐâĎ Ňc…ŢwĎ6°`ßŮo#aAAÄčB BZ‘ ‚ ‚ bYP†nߎă$ ĂFĘ;Žehńx±đ[Ú ,˛€eŁ™°‚5~ŹäÚÇżź—FW_Ň®€˙5 ěÜŁź –ł\„Uů3Íđ[F3Ť‹\_ô0qqęé´®5Šź$ć©1v{/4ÓI-æW�d·óxG¬sC q—W¨jŽĎ‚yş0Á$IŽ<ľsëkź~"Ë  ¤Aë÷šMŃ’ŘÂľ˙ĺ\ßňvĘl)”Üf¶)(ďÉ2D¦5ł¬LŻ?€ô ÁŔí·Ýű\Őú–‰“*˘+€¬ŠĚôň3Đ„yÄíŞâ×@-_ÔŞ7”•Đ  ‚ ‚ Ö0$° öň«}‰‚ ‚ ‚ –ąś`4€^·Ř$?Ţsó‡áńŔš÷faš]b^-’f×&łôď1ý}†´~ň {·Ä+-ćYmľaq…+ (=Ł^2”Á[p0óđp>^#3@R™ű© އʎS ”ô-Ü[őCGdmç–on€ÔyGĐ“ćuaZ&¶D^Ěwű __¤NbZą9ş¶ĆOxDůШ|…ßG]I‡ĺ�hú“z~ÍÌϬż¸D°˝L/îtĽđžT(Ęh2p©Ëŕz]ÎAżÇ¦Ýííç‹úĺzŔ(žXu×ć…�ÂĽ‹SßOuśe\föm,ˇĽ!ďP!xq 4ŽIA1šŔ‚t:ă·î¶uib†ËZ’A«ŤŔěmšÖDÄŞ€ŐZľ\7ÜE<őň°A ű(#…Çű„·K­fü†˝X¸nĹŁx×(2»\Ů„kJď}ő Ř“ ă}Ęw϶*Ş.(OŢÎ×LQ÷\aüyÜ0j”ŤA’ˇY–´ůŐojŘk ed źvîčcş±ÖMÇźż“BŤ:cč°0ú•˘Ž×“1X{´s˛pşLëě}jěěѶ‘GŇÍh|…?ŹWí«Z–†«Ëě3ĘKá‚hŰ桦‚ń˛Âo<Żîą\đç-Ňa]•¨ ę»"8˙Uđß“Şüě´ĚßŢrçĹ,BnTÎôv\OřŘ‚ ‚ 冄`l¬Ş ú�ĆjAÄʢŢđH±ň‰ÜkŢI #Iiča®‘ŤWSK5‘ÔćéwM®ŰQ”±Én;#ö Η`l@�ÁK˝O‰ĎÂçůÁTxĽP¨üyĽ�B �ueŇ iöQ5¸găőČg% t}GÓ+ÚÖ˛ýägâÎ\Ĺ f$+űýŢŤĆÜADÚ6Ćö›ZM RőXŘł›Ž;ńP˘Í:+ŵö´m{Đö€–’.fî×eČ›b)şN/¸Ö2+Mp<Y¨pĚÚn®w sé[ůXxäđzŐp‚ĘŞÄMOWuŢ©eIîŃAAD«Ŕ‚Ř,t–k¶Ë0 ‚ beA÷-‚ zXiťŚöšĘާ¨łČy<^űL”qľľ÷ŽĄ»r(ŤcaA)®¨1˘Ö.Ó¤,öv+,úłmlĎ1±@^ƭ̑зAYĄĄ–(HüI3c›j%îňőuĄ˘ąç ÎŇÂH˝-ŻOšŐ˝uÓ“0=133ă05ŃŤ3“°ýŘşeÖOŹĂÜ|Ţ{î{đ�ÜűŔ!xhďčćyBq,GmXjÁ“ť§ťŻ>ö§/ßQE)%•­.ËËLáůBöWrÉ„‚AইřäNąő2ąŠľBˇäK:ĽËC‚ 'Ě TŽ/xÂ}ßľO¤—ź ‚ ‚X*H`A&&&`XpýČzG_Ş—ő‚8>>AAĂŔĄĆ×›&ÖöŚIő{ĄÔ‡aŐ]Lݶçă kbU®»«Č`a8Řď núnv Ŕ©m;ĽĎc ęgŻJ}Ču«n‰†”Ą1RDBtŔˇ4đ©™Ĺ*O®í“Ćľ"®ř'Óóžî\?ĺŕŐ‰pî÷˛`GBaĽç)“uß©±óÁ"{ŇëŃrô9ňZř]‡řĎQjşÍD9ş8Ą.\s®­OžĹą'÷śfÜ{ôg‡Şf[qą9˘<xËé°č€LŃr0ü¬ČĄ$8dťŢwý@™L÷s^MŕÉX&úya2Ďą±\śŹń±¬[7Să055“˝żŰ·ŚÁôşIY7Ýű;ë{ß§§'zcVťŢxNÖKŻ/ç5scť1‘^şĐírXXěÂbďďü|öîÝ »v= ?»sî}đ ě=pÔ=Ň>ëŕ ř=9 7]˙3ŞşW2oUZ2¬ÝFdť(D`ßÝ%Ľěçe}{üŢŞ—‘ﯮCŵ±ÄžüCŘ.<!ŔńpU“A±úhŇÇ·şÄTä‰Đ}‡ Ú„`‹ĺ@ Ôč/;¸<ľ AAD›‚a×…Q­yž;KęéĆđvË­ Í5ˇ˘ŚĘĹË›ĹwMâÍÄş‘4~Î2-$/cÖžk^„OĽm_CçLp«Î03LĘőSłˇ›Ĺń¤0äĹĽ[řÂÇňQńâKW(ü^)¤Ŕ ×m×ő˝Ř SŐ«ab_s•s4O+Ű ĄŻ&|0HQd¨e„x^Ĺ×ceľúPžŐąĎBŮ4hłńëؤç‘}Uěhq¦ś dUą2ąoľ+KŃaRŘ„çkrc03=ë¦&`¦÷}ĂĚ$lŰ<-ľŻ›ďýť„™ő30=5YŚĎČňac˝çađ6”1éĹ�ó+un(LĘyq~ ‡đ —‰ÂűĆ“"&ÖËkë¦upÚÉ;ŕń—tűÎÎ/ ·Ýµn»{/ÜűŔ޶±šĽT}b^�ô>Ę/ŘCTźe{ŁÁż]ůE\3–Ëkˇ’M6*9^˛˛LUŮeöľQë“Y‰F$î ŻC¦Č[ľ>ďź­Ýw™z!‚ V < ¬Ť lń|ż÷ĐŘTŠÓŢßFybµBÖfB099 « éPÎ**™$›·tůAAýz®›•G¬mFµ.Řâ dřeŤ§/= 3ckŚ\^Łf1ó›i;•Á•Š`üÔŚö©íiiřâxgéęńkóo4hĐÄăj2x§öĄĺʞׯż„AÍJ¶·VYŰ‚ í<˛ŞlśCm9óA޶kŻK˘ô\!~ř÷‹äk®’đöSÔoO9•óß“gčé­$Ž~şď5ä…†úň„f·K{­0őŮy˝Sa|"=µĄ´Ó+Ď@(qDUa,/Ę“őĆJd߯–wŰD¸ŢöuÓă˝Ďl@o3°a˝JLŔÖŤëazŞ3¸_xš‡1±ô¬ę«ŐóĺőÂ4Ţw‹ŹÉTÖ‘ýW/NŽeÎÁđFĐ媎…bôăäö1ĘcCO¦ÝĹY±}ýtÎ9íXńQě=xîą˙�Ü|ç¸{ç~¸×a!䡴‰‰Tbőp)Żx3&š©¶ůŰşľ]yßŇ·•qrużÄűS%˛y¬°·›Ű”„é‘Ę{˛“3×{–â˘ńĘ;Ź[†p<7śđćÂňe™ĄLA,?ľ{>Ł,,,~_\\,ű˙Nď™ ?řŚ‚|^Ö„•Ž*–§Űí–ĚK•?8E°úŘ�Ý·Â ,Áj[:sp<XŕM€<XA1(řbš"¤ŘI¬JRÝE ŁçQĂ_˙e¨Ś$>QĹđa`ĘÂÔvu„}x‘r¸mšĺ{ͰP¶‡Ýčç‹::ŻGË‚2^ů ^Úň�bövĚř×.FY<Fr!p7ŽEßëÎH6Ó¶÷e‘2Ty{Ż-Ź×-LW§¨I–ŃΉËÓĽQ¨ý(‚°ŤôŽpb„îMÚ`<laxmžH yśRD•–źqßÖ<˛ř<s$—Áľ¦¬ĆĎű_VLôĺ JočI #„˝OgĽQ0ą˝“ÁĚÔ8LOŹÁÔ´ô0‚ PĚ̠׉qX/öOôƉ:"Ś#Ęd,Ń}‰ ÜśmS ĘgĄ2”*0ÄNDŻśń—ő®…rŘcFbFż§–:Q÷5uţÄ’$Đ÷S`á{Ý– ÓâsÁ#¶‹¬Ú}îŢyîĽwěÜu�< ‹Ýćş=Ł'şş_XIŕ=ß7KQ÷ýŮ#T}÷1Ő^DKG žw¨ŻÇ彎A˝ •źÇă.<“ŻGĆr%ę>"ţ8R5ĐE5zą˘íRÜŹUşš€Ł%Ł”jIe!‚ –óů#‡ąą9ťť-î…U…řÁpxoFQĂÔÔ”8´á1¸?ŠůůůR\a— ĂŕĂ`ąŃ††˛±\JüA÷‚p!k3!X} nüU7Ő¶ AAKOČ ­L«ß˝Šşş ?pP?8�‚ż]E¨A9'h€ëăÚźZćQC ¤Ń„™[˝aE:˧€AĚsçZwĄ‹T#]ť|Ă_&}[ż”qy¸dţôł`ą8ÄÍ“¶÷ n QŚ}¶+y+®"ĹDH|ŁĽ”88âm–7Kvř÷Ą´C!2ę{=éĹ@ŠJŇÄ"¦ŕĄÜjµhhŚ–§·J;µ<)ąÔ bŰł„Äű•ĹůúhźžČ`z˛šM±E±]-:95ë&Ç…·‰©É^řŢß ëp9ěç'{q;Ĺľ±^<&®4Š ş\‰3Şkž+øčC3Qđśűűűşu´iż˝ACtKojÉa¨çP.•`¦ś•ÂAU®ę\¦śůŞÇoŰ·ÍĎăÎß!¶ť[˘‹öĂÎĂ®=‡avnQ|Žť‡ąůEXX\:ˇ[±şŤ˘“jżVß4á°-®śF°ň»~ŽѱꏵkĹ�˘˘ [daŢSÁş•(¬4B—[¦›•qTo”útăŠ?áÄý<-Uź°.I„«‹,´ ‚ ĺ… JXệ¶ásב#GDĽéééRh1ę~‚e:zô¨Nč"Jű^ŻÇĂmĘÓ>gb™PlAcZáB B033« sf…Dą†¤›AA€/Ŕ1‘bHdAÔ‡+ř}`V"ŽĂ‡;bĐdff]oŕdÂď]aPĽ^lĂk$şë2 ¶:šE«Â{â0KdŁÄŚMĚ3ËC¬ďi*¶¨z˙§‰ ť¦ň´áć“kb‰P)ä;ť•wź^ĵć5ŚëŮÎu5D íý¤UúA. ŰJĹKHNh2U˝h.¬Ű.]Џ‚÷Qâńx´ŞvšAf&sX·nJ fŻß°N<fN:áŘĐűŽcëĆçĹŕ;ŠäĆĹ2¨˛Ők1ËŔđŕa‹@ńßĚ0Zł2ŤŽóŚÓôdúÜ+ĹňXxŃ~yynísě»oÉm™(†đ<9^{{çzN9?[Ę­ÎÁ{ĂÎöÁ®˝GĹď#GŕĐ‘y8Řű=şÝĽ 1xB}h®‰Ś `]1ŮţX!ľŃRz±íú%…1¬TDä…pS:vŕeśČÂ[jG|T‰.Ś}ž>¦,Łh•˝Ś/˝^t!ć­.^¶J¨×ä= V¶ňŞ p’WAŚ�(dŔwkXŕ÷Ô>_y–R^$0 ßĎń4©D(®Ŕ±…&˘mÝŰ•šüqđą“Ć´„„ŕÄO„Ő>€€Đ!AA ŠD¶·Ĺ~k} Üŕ¨ß8sŕŔ!®P MąäT(·ť ]h �:tčHwăĆő匙ŘLÓĄ%·ć \DÚ2,#H±YË<Č •1Ń5އŚ!Ę€T„* F>Ă]Ě�3tÁUęTŰĆTç§Ţઌăţr¤_SŤüÜ60y,ÜqĂ·mŇgE.ÜL0ć%Cţfzđ`¸QAy° 3Ř ŻübÖ!{Vz…Ş?q‚í53^[݉^D‡ŘŐăuš}‡-Ŕć±}°yflXż¶n›†íÇm€ŤësŘşąÓë&{}ôş*ĎžJAW˙—k&U‹,řútßq'lëĂô×Ç1ĄŚcţě~U˙«ďŰ oÂP�ýŢ7ýuqă†ińyÄ©Rt±¸ĂľłđĐžŁÂĂĹľspčČQ8phöö¶84/Ë /¬˙ ŔăÉBFQűd ň=ű¦őeE˝ôTşvš ŇČBß&Ó…Hî˝ÉľGW™Q&=ĽżP±ňúŹŮ† ‚X9(q…ň\ˇ )ď|şíĘY âÉ…j↾ Ę'µLhŕ‡<Y„ Y›×8ŞC<˙üóá+_ů ěŰ·Żě0őN×wSúŔ` śńrŁśp†Ęz±ňb§,ă 5Îö8őÔS ‚ QŔ6¤„öo_<˙8>OľÁYݰľÜĎNÄňŕ3čŕ�ĘţýűĹóŞ´ŔÁü‹}PoÔÚ©‡.<]´S§0Ýýűµĺ7mÚč5¦ôŹ–« :|î1Tk!lĆcFúňµŔ>©Đú Ve|5÷Cp–ŞJŰŰ~K#ěč¶ń&3–Âi@Üpd´ăĆqHßěO™7Ś:ĎŐ¶Ę\ť˙ŞŢ¨ýÜk46ë ďćë‰XTé溇Ď7mcIîă=i¶S/c ćmCqXiČuĆ<ˇSĎ·şŤ¤xÜ\‰{҉•Mˇ´Ţ} âm¨0rç]Ţë‹ÂŢ™śž€Í›Ö C›7o‚m۶ÁöÇŠ~· ďCcPĘĹ8«ćĺcąnuW+zć†Ô׉łoݧĂTűń¨•PÎöd*={Tç"Č�'‚„N'm[Ö‹Ďąg+¶ÍÎĎÁţłđđŢ#°ďŕ:<ÎĂî}Gáá}GzűŽÂÜ|@řQSoă§źE†i(wázÖz{T}cµÝ'rŃëĎŔeźl\OČKĺ&\ÔnŔÚ7(óâş'›÷%0‰‰1d˝LéăŇÄ!M ÷b8Xť,A¬`šĽë„ž ›ôłzż¬ę]ľěű*~0=D÷d‘ęéIy®Ŕ±µOĺ“ZF»Lj©ÜŽcuĺ!µ ,Á–-[ŕe/{üěg?믿^Ě ł]ŤZ§É/ĐÚ ^Ţ]?VăŚ<„xĆ3ž§ťvA1*Ô‰(ęö3ď0úóOhao·˝˘„Ŕ(88łnÝ:ظqŁăąBb |FdžÁ¸GŽĚB[,,,öŇ<$]ĐŻ›nŻÎG%t�a±á|Đ<VP¨Ú%g\ź7ëĚŽ†á@ę†ČBĺž >ੰRŤĺŤ®Cy>ĂçĄ/x|—ë} L®ÍV‚f&ôżz`1�éÓ™#›âŹ‘­ăĐ9óîQ3ťőt9„O[ż°)ńü®÷«r…ă…öÔ穊ĺ5–rźŔ ·çŕžCUęz' +Іś|jąY—ôÍ}·ś˘ŻčË×Gď|ŕ—ś-Š6Š:uä0.ĺ4[ô[÷ QzÚ°q&§&aëćÍpüŽă`Ó¦ °nf¶nŮ c˝><)Kčźa=Ń”r&Ç3żžáߌeeżbÇ)Źr÷éhjr\|¶łAüĆr>ڻϒ‹ĂGçŕŔáyŘłď(<°ë0ěÚsö8*Ĺ ±â€˝ŚŹ˝ěGřą=žŘýAu.ÁJ1+ś)tŃăĺ3îŹRä˘d>Ň9 sDz<™….zPe±ĹXš(˘Ľßłŕ%7ű’˘Ďfáű´ů›{÷ŰéúÄ'®—Ť6ÇV‡Ő‰ŐĎ0ßł bĺŃôÝLőń(fŔwz5QY…AúéëuᦋŢŘń˝_íSËŐÚď•ú_[°—±Óď§LĘSŽ„&ÄZDÉŁő(±TČ1ÇW_}µčڱÇsőÎQjt»SW„ â{©(‡¨M%6ŢĘs]-(•t ó˝›Ď‚¸áoŠ\rÉ%đĚg>N>ůdZ"„ ‚ FÝÚ?ČĐjšżúžqÔË®úMj~"Vp;Ć XÍ.™™™˘g|ćN1(V.CÍĄE˲oßţŢs3.Q˛:žť…q=ăŐ;Ż˙Žř.›„Ć__^Z|ăG¸†žxx) É ¤i2ĂË*I|WBwíőáyéă±đj�ďŠ\¦©<GpĂ膓n®+Őw& {U1�"ĺ.ýŐąpŃTzuK­ńĽx´ Ľö!Na3m”ż.´`éiŘ”í‰î7Á([,Y!ččö"wŃ͡m9GąF^ fgzź=đĐC{€e Ć{c릧…đbzÝ4ü1°}Ç1běăäSvŔ¶-ÇŔJ‚)yŠÖ‡•B8Źńw䆯ŃËż~ݸřÜzqOZě]𣳽ç#r ‘ŮůEسញĺFpźMĽť…ĆâzgwŚ*"Vő]\O3ěˇBm¶ď#)3b SnCÁŠĽö ýJY¦´!OţTˇ\}«Qax;TŹŐu%ţčé/‚X«čOĺ]RW´‰Jßů•WKßX“.v@aEH\Ń8†6C‹ĐËCă_ÄZ…¬Í„Á¦M›ŕ1Źy ÜvŰmđýď_'ÔúĎjÍ&ěĐq»ţ×V®©Î÷y/Sú[k N.đć"ĹčĄBţĆνŰ]eś››ďý–77,Ăgś!–ńÍ$‚ ŐŽzŮůůĎ×\s ÜrË-âţü¤'= ^ô˘•îý|\wÝuđ™Ď|^˙ú×Ă 'śŕÜÓqöüG>ňqź}ÚÓž&ž|`Ţď˙áŹxü꯾@<oH|ík_‡Ďţ đß˙űóÄěŢŤž¬ţěĎţ ^đ‚ŔE]ÔZÚöK¤Ďe˛ˇNBˇę L(q>kc»Pm(µ®`řÍ›7ŠśMŇ–ź©>Ô+×fEÜ#őâŕźA#öäh¶Ë˝ď,u^X3´a¬Ú6ťbSIéśŮ´‘4ĺ±dŇË0ąpW|&'× ÔĹűUVYçô­Ĺ¦ĘŕĹyŠ×Ď~}™čŹţâÉóĺÄŐ§Ü—›Ěă”¶î+i鄯Ż}8±ă »f˛-ĂŐµ±¦pxÉŤl•öLĹLŁ™nĐu묯—Šő5yŃĆpř=rf¸üiĆÄë63ZńŇe0ßĹî˝2u–Á}÷í÷_LOM¶c¶Á‰'lĎqxźŮĽys9(>’đj"Ž~¶B˘¸áÚ˘ţYs¬“Á†™±Ţ§ş& ‹]›_€ŮąŢµ]čÂá# đŕîĂp÷ÎpĎ`×î˝0ąáQÂpc‰ Aآ /ź[±|¬$Č1´\ôÁĚ·řďh¶AĹďůÁwÝp[ś¤%ňd¶g Kŕ!îɬ8vk/cŽW Yú€pËsc­ŽŮł„XQďôsĂ+}U_4Oh§ď'Ö2U˙„ďęřŔŕŘc·ĂK_ú8ńÄŚ·Ţzü·˙ößáÜsĎ…űo˙臟ţô§b\á5ŻyŤÜăć›oc Ż}ík˝ażóťďŔ»ßýîrůô�řčG?^ţň—‹{ܰ߹÷ěŮ#Ž…ń8Î@,řîű˝ď}Ż7–ôy1.uţůç÷Ćš~Ž;î¸Ú¸÷Üsüíßţ­x^zĂŢ ęPTź­ĽL |/Çrâ{ľýLjŁ<d¦ >ěűtZ<<÷ř,©Ź… KĐAŁ ,ěq výúő˘3V3�ۢ ü«>řb–eŃ™Şa\RíCä÷Ęë…ú¨"Ľa¨€tw$oT(¤PłüdXů‚Ł„şŰ#)čČÄMÇ—qű† Č AA¬9Ô}ďŹßúÖ·Ä äńÇ/Ľ:ˇđ�đ…ô­o}kPń[·nËřîĄ ˝Aßűî»ff6_¨đ^}Űm·‹A|¦¸ôŇK4Ŕľ}űŕöŰď€a€ĎżřĹ/„—€:°śßůεpőŐź÷ďţťXç<„rËhżHężCł˙ŐK“Áq¬C(®ŔÁ ¬{¸śťrýŮô4m ˝X`ZŞnĘ‘#G{ďzýCF…x[Ş 'ľv(we·#|Ň-7kŕů´×Ý€řąçĺţxśÚÎĽXňŇÂŮîpUňţYîhŐ •<,0·łZCoôü%Ü#Bmş­ű‹}/kŢĆ0:&FZŽš[3ęăńË}<Ap(v^O/‡/lÓóç#ëöĆ?zc ]‚ůĹc çŔşŢCŁ7ËĄŕ@sŠżĘŔÎ;e9¤GĎüěă÷Âm·ăÎOajr¶oß §źvĽXŽ ˝—˘!BăÁ4Ô3ärŔ:•—�…of¤.nm[¸´T„ęëXďľ;>†Ţ.äs8tŇf¸äŃÇ÷žmsčö®Ďî˝GaçCŕçwî†_Ü»_0ş].O^¤7bŮpé ĹęĘٱy!´P÷Ękm™†Vmo>ŐľL cld˛µĎMć~÷ľŁČÂĎżŚzđ…MM— V.řĚë­·Ă 7Ü(Ľ@Ł Áć‡ĂôźűÜŐpÓM7 [AżŕűřÝwß-Ćđ‘XűÇw|‡Wamp,ă?ďyĎŚ˝{÷бŤ7żůÍđö·ż† Úîż˙ţŇžA,=xîüă‹1®K/˝Tx-˙⿇"ż„ađĄ/}ľţőoÂŮgź-&ď¦öěĆó`ŻqŕxÓ0ź™Ô}ŹW= ©íˇ2©°©üÉźü‰5˝÷˝ďíŤűM&•IŮä”čCm'µ ,|©RĘ=ě(Ńč˘nřpĆ%Ľ¨㥷 5sNĹÁíJü�šg „^&ÔK|®ýVŰTG­„¸ gŰbj 4ü(O2˙Ľô¸Šş&ŢA±Pž›ppâłźý¬đPőęWżşyĆ3ž!f…|ôŁ…WĽâŢ4Î<óLřÝßýÝ ¨”Í8Ăăćźß _ôX_»îşůČs…˛„/ż—)< |ÎŘ»gÔ ţőóa{ł°Uüú6bíb?‹*l>«âłmżĎŞ ]Ăăó;Š6Ôsö ŕ3·\cuVŮ©:ŘßŘł{­™§ˇ"iX ŰőٵŽŔű{hĽłú“˘ ŇűqÝřžjĚ·ENź*î#Uş¶Ü!µćjęĽFÜx[ř%¨†ÔÍ6‹ík›6Ňl* D<ő¦ßŰeČX-ËÁĽBb‰AîŰý\gOض;ĐŰ×ű>. ŕGg‹± ěăQ‡÷ńl‘)Xď{!°¨Śë•±@ήÄß‹˝{Ä,ěë¦nľĺ˘ÎŽuĆ`űqŰáŚ3ŽíőőcpÎ9çŔöíŰËçśĺCé–łB•pB.菉#e]Ў”ş V śimŁw\ťŢĎNˇ‡Ćkşiă4ś}Ú6¸ě±§zňŔÇá–;{ĎÜw> ÷޿ϻ¬˛0żPLvbâŁĆÝ”G 5JµücŢÓÔé掸Eť1MÄ=˘=Őg§ß§,‘MDi·á:G©š´}× ĂąůÉe~Ş@±gRZ1p"Îężő–Űŕâ‹/ęÝs¦Ĺv¬‚_úŇ—ÄX šä6ë3ŠË/¸ŕa ǶrŇI'Á›Ţô&¸óÎ;áôÓObuKÂ˙ó?˙3śwŢyđş×˝NÜ·°żă;wF=™ÜpĂ đóŢřÔ…^Řř˝Yy­Ŕü”Ŕbý´ş(!‡ş?űňTáš>żîŰw�v=´;9žĘítĘ.GkXŘ1ęĽŘYâ‹<v ř_îĺĺBvެěČŐ~]]‡ťnVÜ´„Ę Ĺ˝żJˇĎ´Ăďj›ňh!–)é•i˛7�­fWLNŚ•=®Ę?×T‡^N‚ µήŔ{óe—]&f+*N;í4ń2Šű‘źüä'đż˙÷˙†SN9®żţzxţóź/fŻ ’ý/ţâ/Ä {śyňáDĚŔűęĺ—_.f ÄîŻ=ôÜ˙Ŕýđ+ĎľnĽńF¸éĆ›„ LO†OęłđÁżű€¸w_qĹđâżvěŘ. Ľď˙űáË_ţ˛x‘Fפ(úŔ%ŔÔĚt!ŠłjĐkŐsźű\áŇçćńcű‡B<Nä÷˙M˝sqş”ů_ţżzĎ‹đš×\W]ő*xŢóžŰ;/?…ż˙űŹŔĎ~ö3qţžýěg÷Ęö«03SotÖEÄÚ#6ă\=3cĆz5čŇč9źß±Ťę‚çAŔr., f4éEJ(Ŕ“Ś+ZýŹí¬ᥭ®4ęë‡čn#de8 †1fkW‚µĽCRÂ×yŠ”@‡ĹŠ•G\ ťň§ť÷˙ź˝˙�·$ąĘDŃąýńçTťŞ®®®öľ[¶ĺ ˛Á $aÄŔEđ€Ç|ß.÷1ó.\ć=fĚ� 03y@ŢvKęV·L«˝+oŽ÷ŰdĽX+re®Ś4{ďSçTUwĹß˝ëěťk­?ÖŠv§;$ ÷ŃbcęN‚Öe!BŚ‘ĽbNŘ„z“Âý`ęVłetvMsĆňňŠëWŚń`š `¶D¤‹8I\ ťzĐżô·ÓëŔ‘#Gčřä'żjÖgSpĹł´.Bz¸IßwŢ”Ł¸ž‰Ń^‚ÖXpq‚ź:¬@O˛řóňćą]: Ż~Ń•¦_÷`iµMáDz|;şÇOŻĐ.ݰQŁđşÝ®ŐËĘzťŐ: >ímÉě%Śôr‘·,,‡$—& @ü=—\±-¨Ýť˘Ý$;™5˝űđ”"�y<µ€ďĘŃW]y5<đŔpâÄ #k[’§?ý’[žýěg“GJëŐ"¤°Ł(ßu×]”îe/{üüĎ˙<Éŕ8W=řŕ¤G@őh—PĆ×»Ţeň˙4ĺŰm·ÁýĐQHŃÁęśö`„¤ Ź=JáKńţâ/ţî¸ăz1ś)ćŹsŕßö¶·ÁźüÉźPÝčńó˝ď}/üÚŻýC˘^Ź÷‡2ęţŕţŔč~•ôX.ę˙Íżů7¤;Áůň—ů—áąĎ}.ÝçŹ˙řŹÓ†l3Ě u¨ŔvŔz˘×Ť˙ń?ţŐżđ…/„7˝éMTw´g ľĺýď?Őçá_ů•_ˇ§(?â5X7Ľ×K.ąŢúÖ·ÂK^ň’m{C|2˝ś  u?,÷"aźö9$Ţäµzkůä'?E‰°ăf¤a!×ALhŘm’o@Î#ćɲŮĹŕ™É=ŕ¦'^—É{—Ž<<.6x‚…GL`8žDtŔxžb7¦M±g VËÁµkwTü˘ ăFłAd L»eTÚq=dâQ¬G;@sxR2Dž*č^2PŘ#!Đ–Ă›XYÍuDďAěOvhťÄ„Ä8‡˘đí =oyË[Rם8q’”żńżAŠTH#Ă˙ú_ď'a˙~áh‡Ŕ'>ń R B$OkĘGy”ćĺ[ną™Śµ˙d®?yňTL°Ŕú ›O$>üź˙ďß‚ÓgN‘WŤ÷ż˙áÇ~ěGMy˙_üâá×ýש̿ű»ż‡˙ů?˙')?°ńîwżÇĐ×’7T2 ˘•Â?ň#oÉ5ŞíNţŢ7Ľ*AŤĽ}üď˙űŻĂÁË:ˇ«ÄwŃîTť9sţÓúO°µµoűŰSmí~÷¸x =•ČßňĽ ö`q}˝UZ±P>;Ů-iąçqëń¶ąˇĐĎ Łrż–ÖGđ0v˘˝‡ÍC uöüŤGnż×Î_™®Ě|:%Hyă;ďb—ď ŽҦeĘh7wÎąÂ"vĐpż$€ł=śh,T®Q_秢‹Ę]ó:z‡"^9ä ŇWśăW$Ý›ťsa�]Ő†Şîšs5Ňwp:{Ďř«“Ćf łh$_YY6뽞968,kĹ~ʦ—ĽaĆ}ˇ)äĚ™úÜu×P5óĘôÔ´1řě‡Ń±0kÉ}ű÷AłQ§s ŁâÝźDîPyońUäL€˝q@i8 9÷^ĚŁEŻ˘qŇô“±Ür-~öÇiŽźŮ€oî‘w9\‹/.-ťśY‹ľ×éjŘjwŁŤR–Pa 5`/ô…C‚}ć Í,Ťäy8k"']ä8"Ő?óźµÎ¤+$zô…SżâËv˘‹Ľâo^vđ8ż ˝~/„›nşîľűkDş»ňĘ+čÜ?üĂ?Ц ůNb¨Źżř‹w›yg ~ű·›<č!Yŕw~ç?Áoţć˙ Nź> üÇ ŁŁc$;ĎĎ/ţoiă…ŐQhřŻ˙őżÁĂ?D2>L€áPć8>üđĂô}˙ţKpţ‡ř‡´‰ă?ţÇ˙HňĚűŢ÷^óy…ŹHćT‰äţććć©ţXŻßú­ß˘±đĎ˙ü/č>“0ç]"qĽůÍo†źř‰ź ĽŃ{^‡2�xńŻţŐż˘|pĂząôŇ´QŰ ń»żű»$˘ţ7»`{`¸†ú§‚×˝îuđ‚Ľ€t.ďyĎ{@€ă7ę;^üâÓůŰożľúŐŻ’î‰ PĎ´˛˛łłłńú×#čŮdnn.—d€ş1l«“'OÂýĐI˙t6`»/ÂăŹ?ĺ ^M!NŠô7ߏ´kĺÍ•Ň|đýŔ>në÷¤MßŃM“B„„äő‡…5Žęämmž`á‘Đq˛—±Ĺ™<Áµ ű‘ÇĂM<ŔJwK)Ą“QڶšŃ€Ü e€'Jz¦ŕk±•Š˘ĹLjD§ăoâqślg#ÎĂĂĂĂĂăÉž3q^EE�{‡bŇĹ}÷ÝGě}DĄR…g>óx üŻ~őwÂÓžö4:‡JU.ăŁý(|Ď÷|Ľüĺ/#]$"1/ ×(´Ëňk_»®ąćZ¸äŔ>¸©}#|äŁÇ{®˝öÚȰ\5‚\~úg~Ň(DöÁŤp,..Ŕç?˙ڱ収ŽÓĽżąŮ†ű±·Ň:ăLß˙fÍ1ß÷}ß—_~nĽńFc'’G2EŔ:a€\wäšväŤOŚB˝Q…©é ¨×kF�˙ µŮW\nę4O÷‹»RdňÓ?ýÓ©uŰţîw/p^\(ÚU"ĎăűÉJ™íôŹt?łΓ×Î|ËË€]G6s~ú«Řľí¦‡Ä(k˝ 03BE#ÄîÉuôhiđgC:ď@UCŻtť®Äyx¸ŠoĆ–%Ł™ö“hÇ‘CŁLmťJd‰Ç”:“…mă ‘BëÜďhüÓ©kĺ÷€ z6=“(x‡t& 67ë$¤$×#.'Ú&ś]dţ‹Ž*YĎ|b”R•,Ń#úr˝ şiiűôé%eĎM•˝}ĽH [.¬OŻNâ5D×&ďE(ë«ă·ÓţŻĘ+`7X(¨˘§žz�M3?7Í\Ť:®Y ´;=útşč%SS_ăťř¤?ŤĂQźŽß_HúTŞzšžkaÉÚž]erĆĽ}‚¸i¨ŻAV×ÁßmßŔ°Ş+$ň;ŐC[ÉuölµŔ´YłpżBzĂ50éÖf¤çP©;±íŁ3$\ß w®ąöř‰“ôA4›ułF‡˝ű&Íú« W^vöîÝCž4šĆ€„ź–¬ ÓÍ××6­ą˙âĺ:o°Ž›c'ć·§*°Ez†ś}{GŕU{°}Ń3Ő!Řj÷ŕÔÜ:9±GO-ĂéůŘŘęővÖ6Ú°iÎw:Ö¨¨(s-B6‰­‚DYý$”f_-âX Ňf 7JäÓšď°Ťú”ťăCü¶B´–J¬ô;ĘÇl>ńUŃ}@ź:¨‘ďZ3ŃjĂ΀Ę-SÜCnŰú÷ŔălaÇ뫯ąNź9wÝő5xúÓźf ŘkDř™źůi:Ćřö·ď#Ů=^ŢrË-tě—~é˙żđ ď Ď±c'ŕÔ©3đďţÝŰi“vŰӧω BÁ‡>ôa"S`źFoW_} |ęSꆇzÄĚ+{ŁŤś¶Ľ, ˆ5řַKKËđ|Đč0žAzôqď˝÷ѦÜ(é77·ČCĹńă'`ßľýB7 ZAU´Ž›LVW×á'~âmpóÍ7ŃąwĽăáç~îç(Ť%2đ’—|Ľá o 9ó{ż÷űá7ó7©]PÇž§^ńŠWQůç<çąp÷Ý÷Đć—'ž8 >ř0Ý?»±.Xwlź{ďývş}Śt1Xďďůž×Á›Ţô–Xľ«ŐĆ�ޢ°_/~ńK൯}ť)Żđůˇ.K‰µµŠˇÔBČ’°?wÜńeň^žRľńŤoÂ0Č#4čś5TşŽˇÝŁkĹ«®Ń_ý}Ę۬ŻÝ\"C‘ގĘřěg? ż÷{˙ \Źżř‹żČąŔM7_O^ls«ĺÍáN˝žËăb‡'Xxd€7.’ŕŕ ăr@Ob4Bć Ňť$˙–“CŰ$T¸@Ĺ€«uŕrhq1ąČňđđđđđ`°2ě¨pÇđČBÇůČGáčŃcÄŢG÷”úĐéÜ]Qú…RÜÁ™™I…úHCSzTPÜvŰłáź˙ů_hŽÇť$č‘âyĎ{.)ĺ-q˛Bä  —HůŽďx)y¦ř_˙ëŚašĘ|ŢóžW]u%)(Đ $§Ͳ=pŕ®üĽIÚÝ*b>ČäÇşcŰ„¦®č) %řwŘťOM¸ý©¬ĺ)G.lśď:žŁA?EÔů”řťU쥕ÎEů\¸ýM÷5’Ę÷¦¬Oę‚kËďťµ÷ůäŠA~ďvăą)i®d˛JĆR8Xtáq‡¬ Ňi)„€)żQła@[MóiT‰DQCBEŁ#­*ŚŤÔa|´Ó-Ř3Ý„ŃVť ÄK«[°´˛Eá­¶™§Í:§Ű ŁĐ¤FŚaĐk¦ůnC•†1)żˇ‚>ž;ń{7ěŃ5!]oÖ3óë&˙ŽÓ>’䓺˝čĄ”Ś‚l:wbB*F%>ऱUöÔăŕšu*ř׬Áµ ~đ7®k®.‡ËČÓÇ ŃőÄń9ú ük_ý6LŚŹÁěľ=Zdrröî™ ó·iô0¸» «±ţĘZ@ö•Ň‘C”,±IA†Ç`hÔ+pčŔ8}�.%rÖĘÚśžŰ€#'—áĚ½[ë¦ďŻ®µÍą6¬mv(ÔHŰ{ö1†Ž' ¨/*€RďâŐČۨĹÇS}YgĎÇ×äL¨;9çľg¶Ű*şďÚŇ÷{ŹÝ�é1 Ĺ?ř!Úáţ™Ď|–Ľ"ÜtÓŤ)‚’ę4ĆŹÇŻÍ•W^Ecn@çô&Ŕó\BzLŹ^!Q?qçťwĆ^pîEo8Ź(•–á]`Zô đŹ˙řÚT‰áJ°Ľßű˝˙BçQz/ŤËÇĽqţC]’z‹ňÇúˇ~ď ‰„ŚC‡ƶćŹçY€ú Ě˝ éçVi0goŕXwôäuůä'?™ÚsĂ 7nls|_ţňWpúśg>ó™đ˘˝€ňüľďű^řÜç>Om€ş[o˝…Ňăś{±�É'IĄ Q„^O ýp±˝±ăłĹ C„{uQ¶±¦lL~Ĺ+^a”čŤĚÜ+ű–‹˘ů­¨ŽýH¨ŘÖÉću×׾KF݆žj¨?›Ă^ý°Ű!ă<<ž,đ Ź pfR‚$K¸¤\„ÝSä6ÄG—„ éF˝ađ÷Ľüdů.ˇÂ-/q©ęÂeĄ‡‡‡‡‡ÇĹś Q™€ŃŐäUW]EŠîźýŮźĄąřŹţ菉�1¨ňzT0P •B­îŢřú׿A ô–ńĄ/ÝNÇQůŠT|ě1JxV(ŕÎT¨ Ř» š¨Ü@Wž§Nť$w¤_üâ—Č-&şĎÄŻ(DŁ NT(ŕm ÷ •P¸˛l‰k–ˇ×ëW,•?öc?Fí@C*‚Q ÷đ@ jMŚgÉZÁÜÎF‰Ź×ó.’ťävvcy{?((6';›t’–m)ö@úš‚gŃßÄź¤Ó¤Ë\~Ň;„Ý{K÷•ÁJ*îc*Ůşë^łCv%Ű R816§v%’WA¶ľ:r9_F®Č\łMŁÖŮ\·[>űÝŮB͇ňPĘSŃÖKÜŃ.I1Ń–tô¸€Ä‰‘V ĆFë0:RF­Nd‰‘‘:Ś™ă“ă kĐw$VÔjĽŮ#ĘMń'0×)ž‹ßńčí±FTĽ&®»k¬„h÷ކžîEd «KÍ÷Ž1ü §¬n=d„pű=GᎯ3k›0gĽr©lŤ˛ĘŢaíüµßy˝”§ áöćď’Lk"I AŁŹďř› ٍ;‘búő;*č6šź_…ył–RŹ‘Žhll¦§'ÍólÂŢŮił~ÚcÖŹcô{jĘ7)ş°^.”»÷ů^�âĐö·í®Ád§ßŹ‹e„…�ĆG›ôąúrK^Ć÷`qy“ȧç×`qe“+«[0ż¸I'$7m·\&h§ßËńŁř—*˘ł–8‘-Ţí;šѵEő’NW4ĆË2¤Á+ŻüBâřľîq/z—@/źţô§áMozS& Ęó(w wî–HŞŔ17C ‰çô.±wď Ťĺ(ëăqLʤśw~ň'’6M Đ‹ć‡00ÁČ{µđ]@^ʎB1´čľđ…ČÖ�ńCSůűöY~uuE„ ŻQ¬sŔëPź`ß3 9ßŢC"[-,,ĆçĎX?śs1ěęĚĚ4ŐďC^ ŰI�/|á áđá'ŕ+_ů*…yç;ßIó(Öłž Ź>ú…Ľř›żů[ŇŁ`‘‹řڰŻ=ňČŁđüç?źÚ‰+Ř_ůĘW’g Ůw0tűíwĐŁŻ|ĺ+ćöž{îˇ0/¸‘çđ‡&¨đ̵ŤIŕşęß˙ű}ŃPŢL<LťĘ€dťg>óYqť~őWŐĽ+ đk˙ú˙Iú5‹>…=ĎĎM;<ÁÂ#Ń !˝XČZ%¤W ôĄĐŔç\oî. &Gđ�-''ľN^F»]eşĐ‰3Ĺ ?Đ{xxxx\̸âŠ+(tƧ>ő)šŻżţ†pń�íůáţa„yŹxŃ‹^DŠ–›oľŮ(ϧH8}ě±Çŕ¶ŰnˤEĄÄwÜAîŰßţÓŔ ˝żó;żßüć·Č=#4ţđGŕe/űR, ˘� űöíĎţóFđ= ŻzŐ+Ii€n=1, ®®şęJŞ*T0>)^űÉO~ ^úŇ—¦” ódP@o¸kw‚Ôë xđÁŤ ~šŇ` @‰ĘŚKŤßoľůj§{ďýyÍŔ{B÷ŁW]uĹÉôđŘxíËä$)!y©lçJ? gšµµuŘI°Lpľ1¸aš÷ÉçCľ5ŔrşČ%wAŮÉnÚ¤śr%Yl⍠•şľ ®áePä¶ĄÎ|IW§č:QOyŢýž2gĘÂżi··éżó;żm’2Ł> ŠÎËTŮśv‹\q¶ŘIĺĄŰÎIH$’„.0Zć<oqŇľS¨70*€±Vťc#5kÂČh‹<P ±˘Ů¬š9¶ăD˘¨C«Ů€ŃVŮXcw™*§ľô=PŽ!ަ§ŢŁĐ„ź<ë„P‚ä�üR�Ź ˇJj ŽK  × 'ÂÜzÝ,Ü}î8-2$÷tD•Ę}Žş8żřyŮc‰‚=ëÁÁí'řť7¶đu8ďpULOÄŠëm ¸BŁ.\}P^Óc*’Q:0ż°dÖZËäE ?ŁŁ#019FńĽ÷îť‚YcěBŰŘč(ť5}ëUAť‘ŤŁ•—¨€ßCç^˝®gxč~mć0ŐđÎLŤÂž©¸áŞ:†ˇC–W`± ćďęÚ,­mÂÜây{YZ1†Ň­^śGB›)B@!H¨/ó{Ş’wj°10KtbŇWfęĐL˛ę?—捇‰7Śü±Ň˝ľźśĹF[%śˇDG •s˝ď˙»ô*yë­·RhP”­_ô˘Ňq©sżňĘ+)ś'¬QfĆyäo˙öo)Ě(zŤ`ąú_ţĺ_ŚĚýZ’uPľÇüH˘xÎsžůČGŕG~ä-DŘŔ°˘¨'xÍkľ3!ŽFńË/żÂüNľqNC’Ö??ôCo4ňú˝¦gŚŮ˙ŽĽv˘Ź}ěźb/”čńu čń é†Ă~"ÁőĽ: Ľ˝nŽŚ §męú±¨ ŕ¬qýő×QůźřÄ'Ěýľ†î˝Uŕ”7˝é‡áá‡6Ć˙ŻĂłźý,¸é¦›`uuŤÂ‡ŕ=7׿ů›ż!’zĽŔÍę‚É" đb?E]¶>׏üă´~ąöÚk¨!yĂa > ŰÓá7 a_F˛’2Đ[jI˘LV•}‹qvGÚŐ(7ťďÉŚÓmç~ŹŘĆž`áQ�ŢÁ€Â5"O€U™] i†ě%ÓÎőn!Áž1řĽ<.™’ôQ&dŕBĘ 3Tđş×˝Žćv$G`¸ t©s-Ć ýîďţ®(e7í?řßď~÷_Âźţéź’ŇI¸s ď:tzäČř±űQŞCRźIŁ|y:‘/ľç{ľ‹”(č˘'Š?üĂ˙A»G0ĎWżúUäáË@Ż=ôĄAĽńŤo$‚=L»:PÁ@ĹÉ˙đŃ÷FŁIqa?ţńOö$}Gĺ †HA% †aĎŘ—]v2ďz×»L›˝Ö(5žM‚÷Wżz'|á _$E®Ź^őŞW€‡cе¦L‡ë]&Xŕî*T ťÁ˘C!svŇU'“•Ď;ĘÜ÷ń‰íľŘ`B1Đ•MÓ1´0ËHCsŃ®Q‘¸Hąj!]łÎ+2&*ȍニ÷<y*)ą ¶!ĘćŤÄśť—NĹFăAI~ýŚŘ\VQ^±!ş#{ĽX Ĺ=Bź<ÎE»› RĂ p˝¤.S‘ĂdčÄc{ý¨TKžoŔäXĆÇZĆ`n‰HžhTŁp­*y§@ďYňŁÄíĎĹŞX-%Ią]]ńyQůč=ˇ‡´[‘x˘ďŠčŢěq&ôđ8€Ç1 ‚5Â*ň˘a  ˛V®BTÁé; "Ó«üűŠwÔ—Ľ§âÜ€"ő0|ډL|Ž7·H7Ůr žCěÚę&4š5zć\†«čçP˘^ŘopÝ´¸ĽKćÇy$ ÷çÖŁ…é3¦ßĚîŰKë=$Zě›ÝK¤ 4„đ# Čű‰J9Ú)jŹł…*bĄ˘F#€ŮF f÷ŽńIXßŘ"Ď6\O‡BŤĚ-mŔ‰ÓkpüÔ2ýÖ\"íxŇa‚MQźĎźßŁZ¦Ha!]rIyóĽ}ĺâ="Eéľeçé5ó aîďĚýiČ´ňËóđŘiĽä%/&ňn`@Ůçž7×^{-­żôĄ/‘lŤÇQŽůĹ_üEó·J^#ľ˙űżźň@˛�’!P?Ď?ăńßď{ßßŔ˙ý˙Ql xţóźGs@˝~äôżüËż2׌ĂM7ÝPZ_śCŢüć7Áo˙ö˙et _†ç<ç6xË[ŢL2˙üÁRśëPZ­N*‘‚ĆuÔŕ1ö–…T^űÚ×RÜ‚óÖu×]·cÄsÔuüĚĎü |řĂ6úŹ?ŚĂz˝ôĄ/ˇv (×˝÷˝ďŁôH¬řŃýQŁ·ŘKşL‹uÇ6ĂM$6|ęUp1ˇŮl‘I)ýׯ_ľ÷{ß@ú&>bν—6ÍÜ|óŤF÷őúTjÇáżüËż†o|ăëđ?ńăÔG·|l;Ű-ŕϡdň ç"¬:’włNEőđđ¸0hŻWžSüUżůżü©DÇ*Îϡ/éŔĽÄ_ŹhÄ@×SČ2Eö*WyŕÄÉżK·Á’ôŔÂźw=[ä‘3¸lWĐ‘1^x¸ĘÇFç¸j¨¬ţµ_űµX9¬K®"pÜúňç>`”Ó ăŃŁu#ŘYăśUt˘ AT>JOBvŁëzň8{H…ĎCÉf&łŘŮÝ´Ý!h˙âîľn§KŠŠĹĺ5¸îÖ—*Q.ęa,ń^›Č7Üpź…Á—q6/4â?~<Ú9˘hÇüĺ—ŠÝ�âqBQ™11aĚĹĹ%ňPqË-7“Bď=Hś8qśîÉ íö)Köďßź2îbyŹ<ňyĎ@Ą„„ŤÍ:Oń\ççč7îvyüń'čŢ0/ڱLÜ™ŹD ÜŃ‚;GQá€JŹ¤Ţ«F1r„vo »OŚ)‰Š&eâÎô€yâN–Ó§O™ňŽSűŁ NÜ‚ő»âŠËiýpäČQSÖĘ?¸BĹ *90Ď}űöSZŹ2Ţ-čý7} wĐ`CĹö·í„äŔ±ßK$áşs¬„9#ľ¸ËxXŇĆüü"íĂzŕ;śk ÷‹_ţ|ň ß0†¸%.ąUľ{Ô yĆť:ŻâĽ˘đ-7¦Ýô#Ě̱™żě>Uu-ţťăŐ/§)úĺ7 ňř,‰÷T)âś›ÖÖ<9§2ó¦ôNÁý4Ô®'‹ cŇÂă…KŁkrë9ht™ŃZĂňÎÇYl›`ˇaxB”b+Ů{­ú+UÝńÉľçŠHt<2´ŽĂúäX&'°oď…î0żÇGęf=Š›2*–8Q7kScT©W+˘6T*y’ÂÝĘ·{—ÉďŇŘ’]ň©>ˇůţPGĐBÉ>(ű]4(Eăi—Ň&*+üďÔü:Ľóoď•ő-“_%Mčę’m[Mő ö5§CfoÄéřwşŹ×Âuhvíz(ń¶ă¶Qy§\Š«+é·Kź ©÷MŰo(sLLŚÂÜ™eÓGzĆPŐĺl°‘ˇ_“÷5"·pfö`|˙i$âŚS5ý ‡] 3{&ab|Ô¬Ýfi—jĹ$®22kŃÎü×˝WŹsĺ´}·§as«Kd‹őőM83żÇϬÂáă+prnŤB‹ 3^)Ýłď$őż őÝůX"P–4•. ?ŁT<ĤúŚ É9H©°pŽŤ{Ł<ę\Ů»¨¬Ôwú™¬EÜ5¤íënfśnTŕY74aĎÔ84ŤÎ Z©’ۆB¨¤ôŇ˰ýëő»…s§/°×`Ú´ľ`p Ťň2#pcÄÖV›Bzâo”O° ”×1np@ Ç„ăÇŹ‘,Źýő¨[ŕ>„uyâ‰Ă¤@BÝÔÔ4}żúę«bÝ�Ęř(ż`ýq3ę!ĆĆFéľ{ěq2ž#™˝LH ütúôSŢĺDČ@`ťŃX~éĄÍç€ŃQtb‚­ß^Ł_8@Ţ”lý6áÁ zb٨ÁűC=ÖŹŁnĂŹb¸ ô^‰¤˙đţÜzë-¤@[nĐ@ <wß}÷ĂÓžv+É?čâСËČ.Ŕ{ÁűÇö´^?B ˙÷‚߱ݱý°lüŤéQʶ <vĺ•WPńY ś…:‹­­MšC±ÓÓÓ;J´żĐˇ#'ꔎ;Jr%¶!>'劲6Ú·ĐsEű4ęŔĐă>cDŮG–Ă礗Ý$4`™Řgđľ˛ÄŔôc_Äző_Ůkî»ďۤSĂÍEVŃ-…} űŁ$Y C°ŔqĂî ˘/Ŕy ß_ʧĚ3XµÁrô·ç|tô7-ţş(ř]ö×ýî˘ď 1čĘÉ,."ŘťŹŔźýŮź™ož&rđXá+oţ+wH řď;!\á]ş­äĹ!ÇHçăś'Żq Ľ°ÄžhHůĄ_ú%O°đđđxŇÂ,.L<ŮçEJyßiTŞˇ˛ dž’»ŘaÇjT>|”ćZ4?ś-ÁŻĂşŚŚ4‡˝t‹ŻÇnßs‘cń—÷TŘ^Jç,coD஫0q s,›żK˛ öAÖHAl>n™“ç`ߥ~�BHćžň1L*r˘uąa6ď·%Xä§ăüäűş†Yú“íżˇÎ‘Ů“„Nž•›&ăµ",»©˛(ľGÎ÷\,líTşq3 Ę•Ľ<6đZeeÜŮ9>Ö„{›°off&›äťb¤Q…F˝Bˇ8j´é˘ ÚČ ŮöW6ÜN^—“íďrĘ :ÖĄĺÝrĎô‡#oô7d/aMëĚĹHŢ”5Ýń2yoě®öĄŐ6üţ»ż˸ ?¬ć¶±$L¸`‚…-ś2’ľŠGjz#"X0ArH>aĆłgÜ*NX0LŇ2 "ܤ{i™/^‹d »‘ĆćŤó¦Ăţ#˙¶|•2–»kgÖŤęä Ýż% š~Ö¬Čěżd]v)Ĺ—źÝ»‡ôS8ÇńüÂůyrĹů…*i~|J(µŰ= /Ňîô`cłKD‹GŽ/ĂăÇČزą±ežiPdéŽůë(;[Ý{_‚‘´C°Č«¨ď¦ŢQß\Ţ­bRDŇýČŮ<TrN~e×3F›UO°¸�ńd"Xx$ŔfFŁű»ßý"-ĽřĹ/¦÷Ct`¸‰?ýÓ?ˇ ţU9żŘ­)‚= ˇÁ [ż“Ŕń74áz]ęä_ $|ŕX°[őá5&Z\‰'Xx § Á‡ńȇAHŇ Üř›…s—\Áp‰ÎG’5$C'dţ|-B¦ÇÖ€C±8ĹAÚ »…ŚýV:ŕ_T(ŕnÜa‚Šôë[Ţé4P1ńŘcOĐu®Ái;°;®µ1–Ť#Vv$/Đpţ 穝5›eŇĎ'm@eŁś´’›cA్´ÎWбI¶éúçő›ä¸c°u úýęŮŻęRQ)Z9·ťý[î®w GĆsB-čč١Q_äWâw“+䱞[‚ĚBGĎ(2¸ëL~;ł›0u?`˝#€Sg.ŹO© 1ÎŁml¬{&›° SŁ0kţɕ€Ňŕľ ‚ŢěoĘ9°ť.PÂ;khDą?ÇřČ5Î#$đ=ő­Ě1űnBüXŽDh‰8‘ۦµď/“𿊲mÔm»lĆôy\'×g¬eÇÖ@W —ş—hü�VöëTE÷śüN§ăţ“%#¤ë‡eJŹ®ľ…Śv‘nE%äypĘ’¤ —$°` ĄĐÇ9 ËÁşŕ\f˝¤AěßLÇa`Ó$ŞčÝ I jwÓ×6Ť±"č°ľą ó Ëpäč)¸çžű© ÜŮ|`߸ôŇKČ‹ĆW‚é©I¨FDsPň‚Ŕm™ X†ű.JÝ«ÄĹłx'Q6—ź™j�ŤZšcIlř—MÂÓnŢO^cđŘâRNśś_cÇOŔ©ů¶y®Ľ›6­ךőŻĂŇőU úë̡4ç˝÷ýĘÍ›ëY_šĽoy˝Źs 9Ž ÇŤç?˙ąđ÷˙÷đw÷74˙]{íuđżńëDöóf†óŹóń \BÎ[({łÇ’-ďş"¸:™?~G+–#ÓI{š;ż`z"j™ő”[Π$Î×-ókóŹ#<ÁÂ#8Xrl±´ś&r•±8ÓŠËě_öą,&mČÁÚÄĺ1&W  ÎńłňXsßÍĂĂĂĂĂĂĂĂĂă\A®}ł†cÉÄčZ•¸®Ĺc<đ�y`CąĽćÍSVŕ7t ‹®oŃe(®Ű1żľŠ b›Ŕ±¨”ÁŘŔls×ĺ;Ťłŕ1ç©…ŃU«ŘČ––/˘çY ]Y4äěŠŚŰ •Y(…´Qą‘¦°élžEžr/żF ±ŁL!—'·˝{®Ś<‘C‘ľĐî— ţî’âűÉą·^®‘ĽČcCäe€<@b,îźKţ»¨ű’@€<p d{MŤ7azÚˇ÷šĎţqŘgľOM6`b´ő{¶dKŘëîĂ9;±e?Łî ÓĄjA%tHÚ!Kt ŰCxđ=†‚<aŐÉýIĄ3˙&o$NźM—Źţ}L6yĂ´]-E^ë˙tµ$micśq¦°.*ő]S8¤Ťx~S0ŤŻńăę]ňç“§Ë‘éňďO§<šâwÜŐËů˘«u9‹zÖ/ń\•.”xćx?µÔĽ‰[ş߼ëk[pňÄ|ížű Z Č5<şFßżöÍî…+®@ŸÉ?$ÂíŘWUónV„ÇMs‚Í^Ţ_čüĺóŢ`p¶k!9–áđSŻШ۾1>Ú€C—ŽÁsž‰żn¦´'O.Ă#‡ŕÇć)ĽČĘZâ^NŹ´2™syţv}O ¦Ôv~‘ďpz.€ Ŕë `ĘW>aI’™˘B’ Č|oR'Ëĺ{xxlîÚm .á¶Űnˬ;<<$°Oŕúĺů˘0!ĽĆBäĺĽâÚÓŘCĄ;‡”őE<‡›¦‘„k9ž3x˝ç–é^+!Iąśž=fňo˙^x\ěđ Ź x‡2đ$[M*yq@Ć4eD —qçî†éqŔçÁ^’-ň„—đ‘W&ÇxÖRđ𿇇‡‡‡‡‡‡ÇN˘HA1Řc^‹qb‹?H´@c§x}ŚĘ żqüř ,™vʰç Ţ!ś Ý_ůŽ÷ŃjŤšúĚd r»»~N ň;ŚQmČuIÁ;Ôó®áë¸Z©ł˘ş‰!†«ß\ÓťÎ!zäÖM\§wÄţ—ÍdţŚ)Î6âpX"źĄÂoč¤^ôKhŕcŇ OJČř\ôŹcLÍŢ_ç›á7”6R*” .”AŮnn×°ž­Kô„•ő"Až%"Źh¬c˙ÔÔě™nÁĄłcpÉ^ôD1 űÍßš1:·»l8XA wXÇc–Ęö}ĄŠ•·Ę‘ý™0aź‰őŢJM-ž‡múnđ§Ű 3e&˛}2vIň…$A©@Ĺ^2Ąž`ç`۲Ѩd˝™ x=˙µÄ®Ż/©‡a°ž%i<šĽěŮ•ë®VćÁ!Zů:nĎ~1Ĺe>é˝XŕĹžEQż„1ëŃł~—ĎZz¸ŕű”úľ‡Ř0�–<˛¶¶ßţöýćcëÝiиâĘË`ďĚ4Íg33“^Ă,Z2˘ŤJl§7ÜĐE‰÷aNç±]”˝Ź BKţ<0c>ÓđŇç]EÇÖÖ;pôä <rxž8ş�§ćVMß ˇjúG[$•«t:5w3á!oއdnÁ‹*xŘJŤ•ˇśÓŠ_řě|źNš›7@ćݵđ ŹłAží!ĎË•‡‡“eČ%\Űŕ¸Ěk)÷§˛đl×nĆë]\ł €É EőČ®ĺ-Á×Ič] ëä†}Ô>&çövŹk¸sŁ#đđxrŔ,<r&»dܱĐë†úČcÓĺ±ô\ć¶,‡=RČtyő”üĄ î=Xxxxxxxxxxś ôŰI’÷›•.łłł¤DA’ĆMEʧNť‚ăÇŹ§všđş×ęбť|ÜÝÇéĂŇş±«ĎÉÉńm)_Î d'-V: j(U%;qŘ+㨧ä б-ďţ“żEĎy/âŢ`łť0BQE UĎTʡžYÖ03h›;Ąş™_çÁĺó×’HQR Nyó2ÉÜ{Đ2ó’:ő;ćžO6 R‡čOIZŮ>‰UŻ(¨UŃĐŽ|ü ßé±±&LO4`ĎĚě™hÁěLËĽŁMkň˙(IWj˛$KĐç’´Ú!Ąo˘§Ű|1iŰ5MŞHó9|gÚ`h=iŘ1°–şNć:”´o]XîÎ÷ ÇÂm«1:R‡Te€ ˘ Y‹ëŁKűZRG€˘qÖ ‚;ĆH"]f,Ó‰çO—¤çáCęYř8ëdúŤ#yşY—Ź}•űčÍI\żÍÍM" bi@°sZlIŹÇrěএŰŃü·ľ¶ Ź>r„>•Š‚‘Ń&Ě왂ýűfafzŘÓćo˝Ń4ď]ÍDš4—ÚyĐöËD•?§xlî{šú^}BóÖŕú«fŕú«g Đ=ňTrrn Nś^%OÇN­ÁÜâşé_Řj÷,‘,"7ó®XţYBÖ¬EsŹëާ‹(äĎh¨‚w?ňŹU0ż—ÓŔwQŹł†;»s¨‡G°Ź Á˙b¨\óČőXŃš*#«uSQć—ĺ S'Ľžó• wΫ“».drę Î&©‡ÇSž`á‘ 8îw4 ä€+!ě<ĎyßÝÝy?—%Ó»B7Ăó<Áyxxxxxxxxxśô[‹2ÁĂr "„ÝŞŁá‰]{"¤+v4Hâz]+ĘËÓąe®ůk022j \Ť”!6ľr(#ČÎ#DC*€p@[wBÚîˇ�2îŔUäµ@GÎĽŁ$ŇŔˇ ĐÓÄp$‰,d„aň±†Ü˘sŰ{f âďP@d( Ő§Ó%mÇ_Rd…śü’ëUä¨2ÇĹE©ëËÚÁ^ä+GŇĆL�2ŚÉ+黪Đ{…ž%0DGł^Fß»Šy‡09Ţ€éIcžhÂÔ„ůmţNŚÖˇŮŞÓŽű¨GF¤ľUóNh'\…ô<áđóŔNěă´`É ˝ź$˝°ßk|˙ŃąĐ^žj›TyŞ"ňHaNúb|ëdž» ,g¤YĄ­íZI%5×']/ŔóAr˙"9¤ŇŘ—#Ň©dő#î}»Jow“L)"É3y¶nÚ˘ú§çžäŐ“a\ëqPß„ú>‡„ ÜiŮjŤĐĽÄů[×ŘëTÔ26lŠ$ď�>iŠY]i›Ďixâ±ÓP5Ď­5Ň"ŹÓÓ“0>1/ŰOßŃ`€s Ö©Z­SľEíć1<ň?ÎO ˛ď}‡<Vľ »&F+0>2 ×\>íNŽśX;î> ÷=r&ž«ú•VDTdoADĐpCý”ĺWhPSÉ}Ąćk-F5X~QjđđđŘ>ňŢ/oDör gođL •v«Ň9!‚\!ń”C«ą×ć®sělL˛ŔľŚu’Ţ5ą'yoě}ĚőĎç=<.fx‚…G.Xaë*Ĺ’řžŮťrEWş3b…®LëNü×ÝY!żł˛Ŕť°řţ•L?/{xxxxxxxxě¤QŞHŃPtŽŻ!… *Ap *g˛;żq‡o-Ez.‚Í7kĽÄëPi\/ç˘ůzץčąDbDOĎĄcă·R ď*ˇl®Ľ“•¨*+“ä•™śł^,k„‘QBLń51µĽ>ĂA’3ŇőSéD9őĐ™c‰1*WéXđXR»Žă"‹ďł¨ "{U$NTa¤Q±ón™żµFF›5©ÂÔ¸1îN!‘I 2ęZ¨s‚LQ4^©z†n‚řn2÷¦)EŃ‹ős“şÖäĘ y&mWQYXď•Tö\pc8ó±aVř¦űŽ,—ÓśŤüźglm!Átîů$ťěWyD“<c˝¬·lö¬Ň]v™W>©Ež“:¤Ý†#dŰ;˝ŃĆUôËşş^NYyo˝3Őčú­­6ťÇđ¬÷A˝R2g™÷ b‰‚¬˙Á& uňť{;’ëĚQX]]••u8|ř8(témňšś}űöÂ8ľź3S0kľă\چ„‘4p4@nôńnż×ąsp\ĹăjŠiżc­v×\׳ä3§ďV«¦˙1ۇ»`¸4śŰ“>ÉDw¬Ó™zkAő©űM^·,ß“OÄÔËü|˛óśď—g˘ůŇŹůĂ€IˇěuťIîćc™^ĘÚö“?ykĆ<›™{̵ˇq¸Qś[q]ÎkóĽüeťđx6®ŃÜu»?<<,<ÁÂ#8€â`΂7 Áy‚2—Çř8^ĂJaW¨vŻĺÜŤ9%w"’Lx·l<Ž“€đ=<<<<<<<<ÎúÁĽžĺ8®Ľł×5„áwTŔ ·Ć•ĘUZ·Îç{-ť7,:ćÖ)W–‘‘9"ŰgZúC}aáÂ6oô#‰ r}ę7Ŕ¶©!ś_ĆôŻÓ,č·’Ď_GH2v˙íÖ"ú«RGtA}ľ=´U 1jڰÍfťŚď­VFĚgr¬ÓMkбzÍ((ÉěîÄV‰ÉÎy<e]Ź\Čë<~Ôǡýr”¦`ŤĎląDňUĘÝ˙hŚ"’Qڊ腉ܖР¦=RČţ&=ď)‰‡Ĺ }yňŃ`ĺŮ{5Ď’‰AĹu Łë˘ď±u79ç\%tó’GbJşÉs*KxČ3”ĺ‘o资©¬—ˇ¬\‚khŔ9Ç0t�!µPßĂ„ ňr„‹xŢ ăű°ä˘ ą! 7Ç<S$­cĂúÉM8~ň  §FŁNˇ˛&'ĆÍűŰ"âĹž=3ĐiR™ÓÓÓń&ż»ypđłeý HÝb–`±şşZĐŹ%ą ȓʞî čůńëR5?Ş•hĚQŃ(˝›ě"Ö1Fy*~ßĀʉň/ŕLe0ČÚAŽąą)µŠ©og3w{xx ‡˛yÍĂ#o^Ę#ç M × ¸^ŕÍĽĆreT–űyŁ3ţĺ5”Ű•ŮÜőÂzčŞŇZŠ=drťÜp¤LaÂ~wËŕôž`áQ�ŢŐĆ/6X—Âx‘€é$܉Â]¶¸«ŕĺ<\?©€ć»Sňđđđđđx2B ĄŁ`<<.l†yw9-{Ťc¸ŠŚÝňG_;řu$khw|P°­21 Ř—UřdÚŃu*‡d±ëyi�Źň‰BhťŞI 2Ď2%l%>n}ł×ąí$Ż,‡Ny“ły9ˇ0rújQ癓6ĹŰ Y–‹’Ąň<_Ň7SĎR–=K…˛ ~A`{d cźŠ#ÍŚŤZ˛ÄÄX5r׋ħŚ´jD°C‚ĹHHÍF•Č©wG~ \»Žűa’P^çøŢI;DWÇĆ{6Ëg¦˛cŮ8Ś †‰ažÉ „±^óź,1"Kf`Y]ŽSé{r±ýq,1NĘc˛Ťâ:kI !‹ltĄĽ6ż_Z„¶iM™ĺĆ*«ĄNŐNü.şŢć­RťB§ľ—~ÜqOęm¤ŔŐøD>>&˙–ßgúý/3< 2>ÚűT©ôřnµZÍ(O‰Aěîš ÷řwjÚŤ6Al,ŕżx íŢDO-˘NämĹüÝŘěÂćÖś:µHűZýQ"Z´FTţľ}ł°o/’.¦éŘŘŘ(•W©T1%!NĹł›ęߎ»lWĚK‰{ťcGěô«©]ŃKϤ #yćčá¶KŢI,Á"®Äó7¨tRsx¶’ölÜ=kóě*Q?ĎTô\dá*}/rîŹÉ:ö†’´FBÎŕ_rP§ľPŕ ‹~ěaĹ=ĎdŹ„XU6\ňL=<<׹xaŇ©L‡6)$)ŕ|‡ëw˝ĹźĽźĂÔ#oDĚk$ödáÖ‰ëÁu´3<ÁÂ#ĚV+S–1ăśw¸„ ]Ň„üŽ,‹ó“±]b…$SȲQa zxxxxx<iA:ş´ –śđđđx˛a;d‹aŻ+Č ÎCů ĺikđ˘z±iU&Jĺ\óëÂ;fóωBtňŘ0+®’<Ru‹Ś)R‡îăDk(˛ž¸˛“J[¤¶ŃćĂ%Rđ1YnŢąä7Ő,Ę# ÜŘ”]§uęš°ŔX¤Ąá\ & h±÷6ôÇd�ĚضQŤZ˝FGŤÔI''F`|z„ÂvLŚ5 Ů¨@Ł^ŁĐ-óA˛E­VĄO˝ÇÄ'$Č’)¬ś‹w­Ŕ5’®]/e‰ççŤro9Ž÷feb÷eޭϲp©y˛ä÷06ÜńqŰż ô±˘$eŔáŚ:ý]É_ö9Ó˝E'‚0©yż‰ú`–¤QđNÇćUă¦ÔAč¨Ďĺµ±“‡ć±ĂaOó3¶ĺ¦ßkÝ÷ľóü[îB,Ş—{މŇD?%}úÜúC¶Q–ŕłąą‘ňp!uE¨#Z[[Ł]ŁhDŔPH¶¨×í.L,»¦j)’4|ŕq"n´›ŘŘę�ś!z<üČa%ŐZ�ÓSS°˙’YŘ3=“c055iĆŚ¦é'VEŐĚwŹçƞײś´l&Jq›"™?˝®ůëcäé±Ýăü˘çÇófŠ\(ë’iÓ¨âµU©Kl‘¶´ QźvçH÷Ő×"/Ĺ_ó&8§"Źô(âÖ˝řÝŽőĄŃ0‘M ĐǛŹéVČŁ-I´2´}Ş(ŻaŻ)J‡ ül»!szx<™á ąŕÁÖE‘0,c@Ë42f“$Pđ5ěů‚Ir‚’e9Ň…‘«Xŕ2ů·'Xxxxxx<•ĐétÉŔăáááq!Âîá\ ˛•ŁÇwpC†$âJŮ!:›ŮQJ©`;– iB—eIÂyžěW¸c‘.§@Ű®A´´¬ś2GtŻ9×"ŔnxNÚÚ~/o{ĺxsČ#t$ĎĐ>ň6ѬÁÄXÓCG`j˘eŚ Ł0>‚Ţ(*P§ÝeĆřÚ¬±˝WđÎ÷ŘŁLDܰ™j`†„ĺ'p›ó&¨¦TŃPÜŽýNžP"ľ‡†(8SbfP8ćްaĹăDf®P›°Íž�*‘ÉY.."ř¸í'ďůÂCÔ.�!Kţ˘#ŠĆ:Â$KM‰vź«„tC×j<Nđł7Fš�‡`Ô÷ťHĺ›îß ŮB‹2帑Ę~»Nä3Ë^Ż2Ď[wß#—¬±cЬËNćÍú$Ôań}pt|_¶¶¶Č-6z›`WÜ|žŤ ě˙b éńÂz QĐí„°´ĽË+«X*<Q9­%Ď6^dzf¸Ć'l1ű÷ÍÂČH z7éýÔĽ#4Ěă |żAÚP>_IB!Żâo/—<Ń‹ \˝Ý„ŮľĘČŻ‹Nýč†Ëî)f˛EäŤvfJ?_«óI'ÔKëŇ48Ł…çĺ;x´lgÇąYWyxxxxxxxx ݎ÷Č š şPĹż®g ÉZ—ž$A `Ë;be• @pľyJP÷˛âĄb@ć)Ý*y‚…‡‡‡‡ÇS8ßmll…đxxxx\`íø9í‡~Ěôéă|Ę ‰lŽ1ňŻFiÔ¦ٞӆSw3maŢAc§H’&†#WĐ™ü„+ur$ńO2ňs´$I¨'ĹČLNNÂôdÍ|Z05Ń ĐăŁu"LÔkÖ;c­Ša0+TŤaµDî&ő`úCŇŢAäÎčÄ<ďěNäĎÄCĹł¶÷ß‹ë±JČk Ě’6ĺ¶Ń܉PŮ%YÚÔwŔÇŐ1ĺŇoK¬@o č–ß–mŤ¸Aý!e÷|Ź.ŰyľçÉ3QÂX›r˙ďđo={h;.aµŰc _…ĹĹEXZXĄ~sÓMW‘§4ŇU4жšëŇż— ˇĘßË!ŢviV6ĽA* Č"ÉłaŁż,ŻěŮá»Âî©ůš<#3 çýŤóé´ĂěĚD22ż«¬Çb]ę’Xź„„ ++Ýaă‚D L‡ÄŚÄ[jhĂ‹DĎűŐĘj–Wě¸~âäxä‘ĂTVÝÔI—\2 —]Ф‹Ř»w/yŔ @Ą úďF•÷Ícź »+‰TüŰ&şDxdň„%S$ŢgÓ$#ч˘Ăi;żËÓő Ű\H2Ź*!%ąď©¬—ńn¦ČpŃ•L‰rH÷Çt~xF’(âţČÄ@ó‡ěur<řŠň-ÉBAʉËOźńµI‚äL<<<<<<<<<Î;<ÁÂ#$%ôÁ<ń/"¤p'•. ĂőÁ×ć ‰(Č)fŮ+ ¸˝c$. “ď(ď”r×ĂĂĂĂĂă|ç<Tâ.//ĂÄ„'Xxxx\Ŕ5<îüeCÖą@(í”ŔîŔ…Aż�±}Ó1ÜY�ggĽĐ‘D ُ{^ĘJŰ-c§H”5ě1MÄ :2ť0u]¨iż íQ6ꀩÉQ¸d¦ ÓÓ3°w¦3S-#·6Č Ú#9]ńňf–aů Ř:±AŚ Ś±‰M´eb>R# SÂŢ4BëşĺY6 AĎŢ"wņľuňĄ łá--7CŃ'„ µ ›±wG6şŠ~đy{>Ňý«Č“‹˛ľsţHÉ»D†FĄ*±ńśëÜÓ–Ň3mµiŚâk«pz~VWÖÉĐ|âÄIŘj›s›]ŘX_%·ÜrÜpÓ•Ĺ.úŁň7Űó,uĆ žęóNűµoY3ęT> !Ă}^¬ď(GXßâz •y¸d ö�:ývP N6Éż®ěÚ~c›ô˘ĘÄ-Ö3ÉÍ?xŚőDřIóóóV‰řápąx-ęĹ$é¤ÓíˇI†Â:¨ŤŤ­P57żŹ>v”Ć'ô”łwĎ$\˛/ĚÎî1ź˝°˙%Tß›ô Ë„Ea‚y,ďY–y–7${NĽŰéë¨o:ý˘hrĎń¸TŚčŮFcŞ}f@D1{eBÔĂP%mjŹŽy—·čŮ-,ĚÓ3Ű»wFGGÍ÷câçm›şÇ4a×AÝżęĎmČí§*/ >ëČ# l›‚âááááááááqá ą@ŔŤĹ şY€dŞÜÉĂ)Đ3Á‚wEH—‹WvëȬ{™ţF!‰]$W°`)˝c¸,~Ź'3Ř{ţµ»î:GÚĂĂĂăBŽSëëë´.çu˙ą$:ÇF¤äHtĽ ­¶»Ň&:p‰q$ ąűŰšM˛'•2„]¨$‹A‰Y`Ly±ă6öú`ĎÉžd6KfQë~tZŤLMŽĂţ—ě›=330;Łazz:–ďXFuĺ=U±scn›Đ?¸{;L¬dôL {šHÝgÔ?zaW”Ć÷E÷„9({®'šF†µä߇ HËËH¦Đ#ě…´Ëśď+!Y±ˇXĘÝévHĽ¸FĐ<"@ަ M~¶uJH]ÍĆćÂ5¬ŻoŔâҲ1˛.cö"¬®mŁk6Ěgs« ‹«°n Ţssópřđ8uę¤é?ĚNĎŔ•—4Ćň®ąö\}Íĺ9Ą ϦmëµlČ ×…lÓĽ÷0n_UL(ăĂ Ç*Ë-#[pZ˙ŕö·Žn’á°ű}§¬^|Nę°(áza•÷Žäeśł¦¦¦â¶ZYY1ýh“<ś4›-",!ŮuVŐJ*őJ*I˘×ę@·g=^čČŹ$­­ŽYż+x|í<öř ¨`~ŐŠÉ®żţr8thż©C­h"Ç ű=yöą@€ RD,NŞ!ۇS—ŞrV”D9ŢMňĆY_K°„˛Ü|ăż 9¦bÚwks‹ô}ř.#ńĺÔ©Ó晬Ćm]7óDłŐ„–ů4› ¸ä’K4Óh G’:…OŞŐkĹíŁ“şĺµEŃs°c~Îű­E»pýçů€%©2ůÓ-?>¬/äpN<ÁÂŁ(ĽąĘ+<†Ćfńł÷WH’ěyrů»`äëxW� łH˘¨Q,Ü* PEBŽ$i0)C ĎĽKÁĂĂĂĂĂă©�žOź>—^z‰W¬yxx\P@cŞŘčt®Ç¨Ř‘Úaę’"śk˘$îŽÔ"ŁŚÍ[»{Ř3éһԳFiçăÖŢÓgíFĎť"Y¸y4Ö“‚ő$Q!‚šˇŞĆ`91Ú‚ńń:ĚL¶`ĎL ¦Ě_üŽF3L›×°ĚÇâżěr˝Ä¦f¸üŰĄÝJłça¸Äüذh‚»ëÝşwz:rżĎ$ a4 "˛QěEąwŔł»~zżŔÔU4ŠĂ+Ö5Ôý˝”)Ü~çţÍ´Ď.ô™A Ű- “Ý®†N»cÚ·Kä-$Q,-®’w”Çź8LĆ×Í­®1Ľ®™ń§ÇŹź‚Ĺĺ2Žă_4Ěâł±FQló¦Ń¸}ęô\z`/Ľl†ŚżNK�“UCvMcT—I‹ ©śâ6ŹčVąí›x¬`ň¤ĆöZüLY/RD¦‘c˛ÔŐ0qĎ1)H’yúa"Ö0ýJ÷é÷śç424 ß«ÔCąíÇödŘÜÜ ů Á!Exc~Çc¬ďÂđ![[äI$÷eI¶"R—)¶Ółži€¤—8Ĺő–ď%çžzܴâX‘מ±Ź…ú×ďŘçO”żß¨óëtlřÔ/.IjH-HžÂÎ^5mŠmşBü ÉŽż×ęU¨ÖŞć|- í˘Tíhźs¶mBe —.¸GĄbRŚrÎĹďŽůô˘P! vjĚäőÂů=<<<<<<<<¶O°đ(„$0 p±Ź Éa…¦´W ¨Xřcďr×…,C’70 QěőÂÝŤ!…b cLŘŕëĺyO°đđđđđx*@ŃîÂÂLMMśł8ŮeŔ5ůÂÂbě]`8ĂOd¸É;3 A?MVÇű¤MŚ™•ÖíkR?’<ŁĂz€:ČëuźŇsQÜ|ÉnŰ’óS&\iT4ÎCU ËЧZ­»^ `l|ĆÇZĆ06“#06Ú„ńńŚUA?P×! ‚ R^—BC`ßíJÜm ĄköČ3…ŽÂĐŽëÄ+–đAĆŇČ=?z˘ĚýbĄÉx®ŃŔWŤĺŰ8tĄ m(Çĺ~ʸÍsü  äpRX[g­Ą‘ŹËJ{;ífďɦµ†DÜ {guŞE‡4`cČ”Ýí@ŃiwÉóÄҲ1¶Î-Áś1¸..ŻÂV»k›°¶¶A^+zäq“¶GFŮŐµu2~SȰć\$®Ř{Ágdßq$H�…v»ĺ•učöşĐ #Ď&Ţ16[ŁiűčŮ M€ˇ3;çóz±|4’@`Ď©\Âo`á4nů|ÜŐ™äémúÝK?l‡p‘GĘ;źń0ŕ±Ü°´®NI¶Ü¨Ămş.Öw!°Ż"�őVH®Ŕ°X ˙x¬Z©ÓőTL&čő:¶Ż‡˝p‘>˛ďąĽoy/ÉsŚŻ-"ßu·ť’U”$¤;XŇW¦Ěx.ÓQë‘C&á8™„,±c’KÚHž Ż{ř>/ÁĘňÇ{čÁöáŤUÖ{n &&šäĄ˝yĐ\R©Ňo"µDĎBW,i­X˘ ßC% Ťd=$éLżHőź ßgwZuŻ’ç5<ä»™^(Aú ”ş NżŠ;O°đ(łňQadđŁ`ĂÄ ţÎ+ aŇŘĂÄ öFÁJWąB†aʬ”bˇTş^äp |—‚3‚ !;Ă*÷đđđđđ8·Ępöö„óÎu¸KwkŤŹŹ“AËĂĂĂă|ĺ„3gć‰ü…®ą9Ěŕ 0k¤9;RtĆŘČßuô±îâ´ńřFçăD g!>2†Ž˙Á˛­{ WIä•äşP——ČúsDú¨ňZ_©Ń]y‰ńĄ_ËS4TWÚQ\ŻG/úŔH«ăcukÂÔä(LNŚc¸«ŰŞ—öI+2|¶Đ‰s‰¨tľ‹Â§Ě‹a2őgă•㝢Ň)Cš$ˇ0ů·Rv7zĽëźBŕ(29ÚaÖ#�XŻ–Ă“F ĺRŃoA©Ś!5ö×)ÝK9ťvĽdmŕJüµdş•î»d,ďMrUüvEĎJĹX»Ă="˘(klíšöiou(üI·Űő5kś^]]7†×ów 6ÍůŁÇNCµ €a>ÖÖ7aa~ W7čüęę*]—GQ•j\G¬•{’ç‰;Ř+dx „÷‚N§GdŹl‰]ű`źaŁ^<aÇô˙ôŘän\±} Ő#ÝBnHqóp§ËĎ˙- úůő>{kî°Fé2ťNŢ}¸$׫’ÜäS”—Kş`ŘPŤř7Îw ¤óbݍŁjµZ±§V$ŚŚŚY2‚îqaD" }–™�lřŤAI%•ĚsŠŤđ*=·DWĆcAYé• #D,7;– Ä•,!"¤ą’Ţk<†^eş–0ŇŢjĂââ˘yG7Íń0Ą›ăµ€Őő9¦Ń‚ÖHD‹tŤü—‰/č™C{Tđy¶ź×˘ő„LÇď�}” ˇ¤‚ć*ĽŃŽiĎnrx±HÚR“±m_D˛�'ŤÖÉ3pÉOî»ę–ť%Çp=ňÖ¶˛áĽ“ĂĂ,< !=XH•ÉLž»‡‰r€tŹč űL´`"Ç ĺóL®°ĘNĘue^9ě ĂĂĂĂĂĂăÉWyĘ KśŃ•.+ĆĆFIéďÉ„ç 8,á:}}}ĂWŚá“CşcŃą›rˉ7wŞŘ0ś2ÎÚ“Yč2ω7­o�n]xwpł¤ŔbÓŰ|í%ůí‚CŔPÉź2Ď ¶>»u­fŤ 衡Y·nŘ[ŤŞ1ŽŐ`|l„>­ ëć:k�Vü…÷Đ} ¨ěAż ŮF|Ұd$<pŰśŤĎôÄ1Çč J´côR™6LŚ•ŠČ/:EäOţň÷ÄmóŁťÔH6ŔP)ńmŞÂú%ma?Éy•2¸Yăi@;Čąźe=˘ô7¶Ĺ×Dĺęřęä›ĚUÉ hK˘Ô‘1˝LĐÇ\ŃÓD§Ű#ňŐÚÚ,-Żšżči˘Cd¬ąą9"XlnZâĹá#ÇĚ_kf<ŮŘŘ„v§k»Q+ic¤4:¶$d™BÁěąC[O1AˇOłaiUŇEtJH‰‘{Hlś]LŞďÄăk¨MŇ$mĺţ-"E䥱„-ůŽě©˘ŮwˇśH1(!!őUîµrĂĎŮĚSčŃÇKÖAayž=[0Ź!ů‚˝\ >­^«Rű" ĂbÔj�5X;ç=Źô!˝š„qhŰç»ôžv#ň’&B&Pt{QŘ^ş‰M6\O/öTÁzB†¨ćľĆx#Uy4b˛e%’_"(ńőH´"O@1YIř;z>H˛¨D×Kr…ü¸m@=W—÷ŮC‘Ž)–:kŹFዜ6N˝k<WÄ— rśŠćÇ’>ťśS˘ülş8|I&ŻÝ{7=<<<<<<<<Ęá …`–8…)ą›…-ąKŤ…S銒 RŔ‘‚<_Ç“t™Čy°g )P`™|^şqdÁ˙˘KBŹ'#¤á„˙ň܇Ŕą ›¨Ř!7Ũ¸µsrń®7ŹAg@c$îhEĂ)Ž=hDBŕřă@vŇQd,Ë3ұ©9ÖH)wioÜzŚŚ 467(2rŘtö|ŢŽUČążBcŚ{@ĎOFŔ]ŐýŘh@ß‘ ×jšďhü3łVSÁřX3:gŚ€őJdĂ6 #… ăˇRءSzş†aȲbr>ÉĎ,2dÍ´‹ôn}[žMÖM…CH?!k@Ω‘ć~"ŤĐIZű<بWI IžS˘ź_ČF6á !ý\óź±R®1śĺć¤.®=É?sw%×ęt­">iŢČ}ĚűżŃނ͍-"S wŠĄĄ%2Ż®oŔŇňšů˝jÖ&Ë0o>k«Ć@»Ai1ôÇćĆ&yşYY]Ł1„vÇŁ>ŔÜ÷;†T“h*Ϩž´§*ˇiń<ĐP«Â(˝˛}ĆŘoh2̧٨Âňjżń"ę?Ę­ť|6L`l¬t7¦”Ť|^¦+&„¤ÓsYÉńí{*Ęsëą·˛4îÜ ÉgK®p¤Žź\<†z)ěk¸N§pč ¨V5éšf|ťM­ďćĹ›‘,˘—cCc¨XŻFáxÂ(¬¦Ű0ď+{§°ů$z5©ßł:ÁšđÄ!ŹWSú9 Ą‚Ŕ„„ üm âc–`ˇ’cŃ'^?TT<wó\S­TSéŠČ t<nÉwNöô>Q‘haP©76S’‚”đĽŕ&ş{•¬'´Î+ĹĂĂĂĂĂĂĂĂă<Á,< Á‚ "(xńÎ&ܤ· ěLn`R{˘`¬L±Čĺ°€É0ç%‰ś·$_° É±žýtŹ EŠiž™”s*pŽfĄmţî'€ÁŚ.; ˝(„:6Đŕz›]v'nŔÓ†ŹA×ŕĘwěBîNV>n7©*ŕ]˙™| m® +óě"ĚŇČŚĄécŮşFqÔˇČ8Č;Ć“ë3÷ýTb·ŕv®7j°­ş1Ţ5`l´Ł#Mi0‚‰`ˇ`tT™ď#D˘h6*)b}öŢx·o�6äI:­R!J,AÂZ첆NkČ A Ű“'ěmĺtŁDhŚGĎd¸V×cbAzDšˇâçˇUl ÓIÁq=ĺNbŮü‰L&+–|§Ç(ëÖe}ŽŻüŐČ'dŰR‹w-!aôCšĐMn[Űw°wĚ»ŤDŐµu:żąŃůĹ%łÖčšc«°Ľ´`Žź8Ë+«6ĽG»Cá<Úí¬mlPř€Í­vĽ"ęô’*T`ĆŤ¨NU± <&ń�ÄaJäýĘv(mG&Ô( rˇb/+öíÖŹčˇÄŚd ű¬“đ]I·#×Ú)4j\ÍôŞřćŽĎŚNNu! §K’pźu™— ·ÝňiňxroŰCQ݆ťú-ňλ›{Ü<Úň®+Şo’ÇńĂës";h$=DëuqíŘ÷ë 6| ®ëŃsα¬×bo­ś§ŽHOôކL°0é)” Ń 3ďL:Ľ’;ę i!Pqčö$Á!:8Ô’»čţ˘±·R­¤ćújůÁ%D`ľń,şĐ† ˘÷ŃĚ+ÝzľŮ¤{9uę>|®ĽâxÚ­7憛rźĄmwK BBhLŞSéç•ú® ĎÜS4Rž,Üz„xĎHŐK‹ĄSľ•3ć¨Ňw/ŚŢMŻăôČö/ô.'Ž€‡‡‡Ç…&¤zx<ŕ …`E) n&T°đȤg fĽKá“ 8¸˛đ)!ŤH¬ÜBˇ“„0'„çÇÇ`ááááááńd…«@“ŠJž«q>Ä-ÜŽ ?zxx Š"†Ś}Ž^+xrw–"\𶡝ëŐđcYbŢÎ!1hČl2Őą$ ™$ö@á=eŞÎN>0ţÔîÔëUóę0ÖŞÂÄÄŚŚ"Â|FP­Uíůz…Â|ÔkĘü®ĺÔ­ßó!U´[—Ă`Ří»Ř€a’ Dd°Ţ.ěó‹ü8đÜ”"9DGjgKv<[óUĹ®µŠŤ^�ÎqIf ă˘Eś6JڦJÔ7ǧ…çŤčyK/Ąď‚č„iŇD¶÷O Üv¶ťz6aI[ôBK˘Ŕ]í#7Łšµ•u"I QĂv ‘˝M,ݬ™c›°ľŃ†#GŹĂŇŇ ,Ă/.І»ľąEaĐJˇ6´đÜ TÜĺm{Gn˙“»H·ľđĽĄŁg“5-I…űmjn—ţĎťuüľGĹCÇ·{$Y„t?Ë^Š VŮŚ4yt‘ůööÓČóKL0ČÝśŹ,Ä8·`j<u çň}‘ď¸ ÎµrDĚ#©%i‡÷^1(aü!?¸÷+źy¶Ď¸ďŇŮAnJâżn([ú«{ä%¨RŤÎEa;”˛ä­¶Ń‡u:ˇy§Đ;Ô*˝S–#ń4=kmß©XŞPmVAµFÄqľ?ĺ[fE%çÁöC$×…ăHçc7@‘žŹßY­SéěY=_µŰ[pâÄ _'BHŁŃ„±ńq3—5`d¤E‹Ťő5XZ\‚S§N›±ç <ýi7Ąî%ôĽŁî‡$“^Č!ُ/Čy_ÇcS)Bö«87QžSíĎŚ;”FxaŠ wűoĽbQŤ)·~ ô:ćáááqˇÂ%¤zx<Ůá …@˘ƇÇď,(ć ]8P2ÁÓ`^ěQ »ś_˛{Ąŕă’`@§g˛†kL’‚ś7(yxxxx<ˇs”r‡ĎË2Ś—üëćéáááQ„"rB\X1"$ŇŕÇ8{’…0Ž‚.6~ô=ž5˛Ą !)CGT–†Ď‘˛ŚćBć7H»XyGÁHłł3#°wvʢZ䉢٨‘ŚU5Ćş†‘ę9”~R$ůľ¬Žô˝-ŕ×—I=@g뉉Čx«¬˝śd4AžP1 ÂNđĽ•Č”!»¬[ :× #Żt.1Ó[bĺφă‚Ű(K1TąFíĽëů{\ކľůşs˛Jěj@f¸ëć棝~lźîd§z*{­%_bŘ̬,ŻĂĘĘ: Aen~––Was«K‰•µ X]YEcĐ<=·�ËK«&íš ŇíA·g˝Ö`~čÝB‡Ńű·»"DŐT1, Iˇ`Â…¸[ËŃ?SmIĆžÔŐQߦ}ąLľ¶Ó¶¬gd¨hË*Č7jC®”$ŮL$yČ­ŻÇÓőĎŽEëDŮ_Ýüą\Ą˛ca>c{kĹA×;M˛i8ë‘Ü6rďŮ%«ěXŻ•Ę3Š»Ăcs26Ú˛Í/¬ľLë˝’`ÁcDů$HČc4npźŹĆS•«!n ŮFň»${HĂ2W˘Î­ÓÖ°Žd­Ő58zě(ĚÍÍQČ&ô’411AzĹÉń1XßX'ňÄĆćÝGËL^Ł#u3ÇUČ;Lł&Ý´7°Ď$\í•p˙#gâ÷ß}D™őßťťţĚŢ“’ôĚiKüĚ đl‡H›şN&†ąĽl~dîň¸ř€ýCúxxxx\ȨTÖÁĂă©O°đ( A###´pgrsPÁÂÄ ^Ľ±°Ân‚Ů —‰P”&džěÝ‚Ůí’Ď×ň5V°{⼼=ÁÂĂĂĂĂăÉŽ"ĹY™ÁÓU¬űąĐĂĂcP¸cŽk¸ăżý Ňť{2„1•‡Š E†pĺ\“, ®MŮ»Ď1°Wś„KöŽÂřXZŁÖCEłŐ€–±B5u"_`¨­\’„Îýš…€AŠżC$6¶ia%Žú†fbD�증 ]*6đ…19BzD´†î¤Ęl¶ĆBëš ŕlÜcŁ˝ ¸ż•“E2„• g3›ŹĄŤłö~Üë´ÄeF3KSB(ٞ¨$\Â’(ÚD–ŔĎÜÜ2µëââ*ś9ł›ëîc¶6Űöăř‰ÓpÚ@–V`Ĺ;»adFŮ75Ä^D˘ňÄs ?Ab¸‡DÁ-Nĺßý`Č3d;éŇ1&K2H˘­‡€^â)łŇ7]˝¶ÝťÁé÷DÖ19¦R䊤dďS’lÝżE}Z dßÍŽŁÉŽ˙ݰ$‹snKŮ>’L—&ę$ÇÎf® ì§öâJĄ`[Ł7•®‹ŠÓ˛§W»óɶOş¤ &$÷ËďŞý©xĎ?¦!oĆCočoee–––ŕČ‘#0??OăÍčč(ĚĚĚ@«Ő‚±±1X_[†ÍÍMŇĎŤŽµ aô„ŁcŁF§8J:ĂQ3wÍÎN{ŤĽ0•$IäuĂŠvß[oµčgö’+ă6-‚m×ä^4¤ß˙Ľ®ĆiäU­%ŕÜŻ ú-Ľśçáááááááq>ŕ …@‚ Mn0Á^$Ř%ąFŮł.úYI!=]H!!ă_ĽžcČł Î/v« •®˛€cSş öůąÓpçWżL÷;˝Đý`Ý(#뵺)§F‚^ĄR3‚\Ůçáááááq®Pf t•ç©xäůÚĂĂĂc§5Nĺcutן;aźµ¶Ę;ŕs/L'ÂČîčŔ!Ťč8[• Gb=#ôč”ő› »˙ČŔĎű†+©RTŞ6©¶ ĽĂ´‰W¶Źë›AUČ3Ä䤂Օp´Ť.ĺmĹJ` ů–Ě^!c/Ę35 bdś¦‘qíÂ×dÄŞyĎŁ[ú† 1†;"4 ŤÜX˛Čž¬;dČłŹÖľ¨¦čÁ‘­Řť˝Ž¦Ă#‚UL€s?JxÔŔôÉ:m'ÝÚç#É*2°ó×>č×óڤqI%ĆW&íäĄ)ľ,ëŤAĄáŰ“ÂĐ®ř.É˝hÜ\\Z…ů…eX_6ýd67ÚŢcs«sËm ń†ĐÓgÎŔâÂ"y¨@Oaä˘!H0ča!dç hôT ™%n•Ô“IťL°;ńíű%Cíş¬˝†G9xwľą'EťZ±iâ6:´L­k »x¬Kç(´Úf'e§đ &źžc¨ć~‰a ŇĎÇz™‘Ď-]ǨUŮ}űŰŽiŁżŠ Ä.™" &őČ4y»˙ó ™jÇ´]rÂ0$‹2ł<žWůngŰ?!ąX‚Tň~á’«\’ —í~·żŐëih4k©ĽiŚíZ’„=ęi"ť™ęĘ:]3VWăr“16Śß;®K/˛±ăŃt 0‡LŁh,ŮÜÜ"BÄňň2ś:u Ž=B$ ÔÉáF«ýű÷[ňÄ謯ŻÁćú&4ĚĽqŐe)4~đž¬çŰ:L\µŘ[†$MĐws?]"ź›M�"‘0Ě˝·Ű=kŇyĚG‡Ů6çűdo7ř§Ű3Ę'-Ă<…v|Ňiß)ćD_Nř¨¤ß†*çy¢ŢŔ}Ä –”Ô+Źđö–…={4ńđđđđđŘEx{™‡Gž`áQ”¤w T@ 鿣 úYčŔóě=‚ÉŽI|ž˝Tđő¬|Ăc<8ăuIš`âţćëY@eÂą'Ś®EĺÓ?Ľ˙ýĐ4u¶q˘ëtO3šóĂëHńXGŇEťî‘=pŕwü‹&žźśś$!ŹW#E§uÍ[Ąkř/ßç “ ďöśH°M¨X?/zxxx<eŕ…ŹťĆ…8®lWÉ“»+5áYäŃ(Mä<6˝fŚ<6U¦N:maňyęZ$•ŁŃ ĺź $xÖÁص¬W™_l´RÖɵjČF(ŹTT$źąĄŞ ŽD $dÔ+$Ő«5Ş/^;»w¦§Çh÷pbÄM<˛‘ŽwücžHŇ d@SD\·éşP„ŇguúŮv ÂiBHĘIH’ †“Ă3°W…® ëaúŔ²1z®Ŕüü˘1r¶ausH[í®ů˝eŚŁkpâř)_°ˇ=—W‘Ó’2ÎŁĽ—x†¬c´%N“ç˝W®ˇ9>†Ţ5TdH„ţ÷˝]äĐŮXËd Ap’rűú‰đ:ąľMaBş¤Ch™÷٬k ń{j´áĽ÷Ň*;ŠyuĐ}DŰďÓĺČ#6ědYe$â˘ôE»řó×#=ô”YňĘr˙˛ťďGľ?nzŮrńŇJ­&<Včxl‡HßĆd "µA2ź N ?ëëhŽ9Lž'ÉĂÍŢ˝{`vv–ôZ­f6Í‚ˇröLŤĂĺ÷™ąˇE:4ŇýQŞ&éĂÔgFöřžd0ô<av|č÷˝´$”xŁpËívBho“Íí©tüÜ ä_%*#Ż+)Ř …$R äMc—Ţ{Ź<Čőµ‹a×^Ox‚…G!<Ŕa8X°“ńÜđ8*çl|W+Ŕ0qÉL˛`Ň xŕeĺ–…ç$)…6öŽáz°ŕ|pÁé9]×äµj>貙řXG¬?–!…\<ŽhlˇÓn‹’$ lĄçü‹jŐ(AY§žÝIEDH3h7*=kú‹ÇČőd‚sÉü;á5Ą‹ŇdëšB”Űwyxxxx<9ŕŹťĆ…>® BtŕÝ»ü]©´2˝R(ízˇĐ #ÚŘšŢŃÚowµ˝„ËSDuYć…¤´)ŐęMčn¬@Ď1Ş˛<†'2°%eŕőv G®×“ĽxW:]_…H©C«Ţ"âĹęę´»ű`Ďž)2¸cždwϲd=X@L®çűqC<^hpűIňě†5T)č' ŮMŇa´áYĹruÇ´ţEŁćÖVÖÖ6`qaĹČ–mj÷“'`îĚ2¬on™z¦hĂĆć&=z ćČ]˙V»ceşH†cbµ Ťş‘ŚGۨm(Ä@Č;÷Y±ČĂ‚<Çdľ6 v߆;9v¤ňRÉ1YRfo¤{d[ëŐB“ÇŹN;$,z­”Č8.ĆŇGŞ5eäôDRÖV|>{ďl\‡ˇ âz_ÜŐ˘ľ´}Ěę»ÂČ. I¦É#ďő{nňý˘ÍKˇŃO]ŹŻvł’ «±ŐŢ‚ĹĹ%X[]…ÇźxŽ?k+kT÷™$ĘM[BD˝fĆ—M¤mÁŐW‚FýZňtÔ2ú»fŁF}j$"YÉq‘;~§lŘ A8„z~Ű%Žnú> ·=]2ŠD˘ű“Çű?ë.†Mꆅĺă8P˘Žt d}óÓdëš>§DţŕäçćYFnňrž‡‡‡‡ÇůÂn®Ĺ<<žŚđ ŹB Ťür&đ/{¤ŔßL>ŕóV®a>xŚCŚ°Äž+ŘeŁT4Ę<H yĘ"|=×W|ë…ßŃĹ`Bh¨@ÚµgR˛GWQ¨”ŠëÂ^,¬+ITl†‰0Ş’XžŇ“Pđ8’3| ÇúĘrËŕ ëLŔ`ĺ§$gđ˝ółĹ] ‰÷ŽjŠ@b !•čCN‘Sĺ(vUŞTě2V˛Q;$;č,ů$•ş Ü˙&÷'víüĽîááqĂ 7O »Ă9ąâő k´HľCL˛(Ę7ע# hH#‘”3âkbăJ… aŇ Ćĺh6dˇI Ĺ!\C›˛BŚL9F©”¬˝1[¶ÓńŮÂśď`ŽF61†ş­Ť®1ĽŐ ¨V`d´Łćž˙*‘ç?+ŮĐÜ^¶îa\–™_Ô–`7wâ—=ßíÚú䏾uáVŽDO(öĚ1rſцµő5X\X"Ź ‹°¸ş ëë›°±Ž!=ĚłŘ2iV7`~~ćçŚum 6HdX%ąUő¨° RŤBrX3¨ŠĽ«Đ!·ˇá±AEס¨Ťtć\bH¤g&*JźŁuHüŽóéI# gŁŁw‰QĘęŃŃnq«3čĹýŮŢO~qčidĽŐHô>ÓýÚ%zą†\ťCâëúĺ]|lPl'ż˘óyíÓo‡c‘ńYžäř0D‰d ßĆ8 łă~Tű”ŽGęv ŰÓtÔŐŐ ŮqĎÝ_3sgHo„ş”©©)ŘłgŚEa|Űť-©Á-7] ŤZÂu4uÚ�1 Ő´c9Ź˙¬§!"éod˝Łâ«IŘ´˙ŽčXq^q•ůžÂ0őŰý›şÍśçŔ폄ű;ČčéňDz…ˇal(~pçq&H$­‘ßWĄŮçpÜ tŮ˝ö[–«üF(Źó O°đ(‡a˛ţ–D <n‰ ALX®`ĺ4Ö»'XhâťO®ç&dđyÎS~g |[LěŔîÎáI0={ç@pţ˛~xžëĂĺ0ń€ë-Ă TkŐ¸=ÜűäżE¡TFr}¸Lţ=¨ňF’Ndţý0¸ĚŠ•‰'Ź@:*1IcAc[1‰ŁZ­‘Ëa¦Ą"ÜWbďř] V`”dŚ@¤ R©{řŕ´ř«úß–‡‡‡‡‡‡‡‡ÇŹ˘ťăŮt|RFŻ´băR’ĆÍ?ąNîbeŻňZ6bÉşJŮ€ŤHib—©"ňyĆBH–­‘9ĘšÖ#†uT&çtdRQ;P8¬Ž6·¶HVŞ×«DNďvĄgŠjŞ˝ĄŃÇ5BĄŰ2‹sb|ĎA™awPt¨-iĺ­NCu´i÷6†qY_[§đ++«°´Ľkk›ć9j8}fNť™‡Ťő X[ß4ňcŹĽUś8}Öd±aňęĄ;âXĄšČGäŻBԿ²]Čý4HČ®SxŻ(z‡ÜçÇĆ~­˘†yĂж÷0™'úzî ď#ây`ůI´‚č˝#˛“˘˘´¦ľóü`ŃéŘ ńÉ`;7é}ď»Ň—‡ŕF ÚoĎöDŮ»=L;śŻ÷Q4ččąo·mňË‚8O™oü[–ĄlůŘÇľü•Ż™qdf÷ŽĂÁ3äu˘ŃhŇźz¤“c]K%t¸×‡†Ś )\Y˛—) łď(§w)ĺ\Ą-¸Ń8m¶yuúVSóa:O&EqičÉ#&†¤Š,'é Ş× 94ű)öHŐ?_-4SGĎ6Üäů0}-ŐHÇGP¶O¸ó«›Gę:AňóđđđđđŘ)ô›g=<<x‚…G!Řx-Cs0‘‚ ěť ’HÁçX€tÉ,$pIXŕ°$2-çÇL"8 Śź‰ x ćÉa5T!ă3„•|oI˝­Ůś)¸žy8› ęl®-‡W"pű‡¤řívs„CQnBˇaşÉs’HÁíť÷A7ÉďjošČ/•)'™Ä*E Á´ktllÔ¤ó⇇‡‡‡‡‡Ç“ ąëd-ڞuräí2%d–§2/ ăµŐZŻl¬ĺ´Z›¨¬ Ţś1ľPmÍ—Š2rWϦÍÔGó^bK*¶ Ǥd6ë'o&\ŘŃú˙3ĆřäŞtŤ‘yk« ­Ę?!Hr˝¬žńgPŇËůBŃ`q$>ΧPŢÁăčY˘˝ŐMó·ŰëĂv¬­­ĂJD¤Řj÷ŕر“°˛¶+«ë°ľd•llnÁÚú:,.-S4ä[Ň‚"ăh\żšÓÎŃżrĎ4"FQH3Ó…ť-ĄűŽ.0 çňÄÉ8ß`¤ul$ą_EűÁ‡+éĂĘ©ě˝BËÚř µ ľ_adPo·»dµĎ ¶WʦU¶-ńݨTúď¦wŤée÷ęNwÂŔ_–G™ž˘ß6ßť Ë%Çű¦ËźIÁśPRŻĽ´iB_ľîĹm1›W««›pÍŐ‡ŕŔěh¬ßČ3äË9Ç &bNŃ9vGŢóIŐ8•Ć%d$‹ź3ęXŇ×iQ×J&˝›‡ś39ÚoR˛^-ľß˝°¬?'ŁçÍó8“_ěśś}?Ss=@ˇ,MŢäkˇŕ=gâ%WĹŰ=<<<<<<<<.LxK˘G!ڰµµ,ÁÄ<î%dŔá?¤>Ď„&\H‡őŕăŇ;…¬“)¤Ë@Nß‹cÚvSd Îź | 6äKbźO%ÝřŢhÇK.…ď =5Čű–p•“ÂUlş9„C(aú) ¶~Š–´˛(+Hö»ŢőĆQ„˛ÝhÜ×8< OŽŐ`||\r)\qĹ02:JĘěťhŹł\‹ĺŻű®×4‡8°nşy'~áZ/Ú.›1ÖEµIHŕŔÖ×Ä"źKŚoÉő‰ŤJ9 {çˇHî1˛R© dŘŽę–·;6ůÉ|Yj‡° ;‘ŃŘ:Bňü‡.ŢŰí•§—5,Z·kťY×÷3źŻ¶$ÖKŁg§Ó&҆ňŔ¶ŔĎââ ý]YYٰëć<~?zô8,ݬĂęú:tŚq~ŮC‘eyu 6¶6‰Ta=;ŞXVŤ%9c $ ĂÁ•ľ}7őěđwžQÖžĂČ5Úý«Ó}BKoĘz‡č'•+W•?âÚą5ÍÉ#L§ؼ¬'ĚsłÝ6ϰkű?m¦6l�€rÚ~ˤ«Ő*)…[żĽńb$ećť+ľfP “vl‡Ěáb˛Í úŚAŽ/ »‹6©Ő·ř>rt ˇÎé˛HćÚ„‘VH?pHRůlgW4ĄiY&’•MěßAžŹŠćŔxzË@ôn—y[®ŽŰi;s^—§GŇQŮ“ ŹZ¸“ŇDÉŚ^+Ą›s˝ŃŠ3:Ěíw:™’óŃóЬ!â#JeʱçÎ×LęááááńT†·…xx O°đ(ş‡ÝÜܤď’�ÁJ"—!ŮűLtŕ4LP`˛§—á3ŘĂ„UpubŁ8çËáG¤BËâĽŮł*„ĐĘ(×ÝşVtÖý^†ĚRT¦ËăşÉŹ 3"=cH…ăđ9¤ę  ŽĺÉ÷'ë×OY%ë^V—˘2‡9ľSŕűsŹ1\o*˛-𳼼 s°ľľO{ú3ˇŃ¨s.ŕáááááááá±;čgÓ9F(†»VwˇR(\C»ĆĎ4‚’$v`cĄCą;ś#ň†µĆ¸ i°Q¶ŽI1ÍľŰÝĆĘ@Ł óÂ@ěž ˛^ąëęx}ĎíßѢ Ţl«`Ł×íYu$s%aůR2„Ά7”ňOžÚ‘\('MRĎI»_řg≠#Ö ndÜN—By W‰jĄ +««DšŘŘčGŠUóCv üřăGae˝‹ K$›;4çLšµ5ŘÜÂđ [Ń#dŹ&`=ŽÔ<ˇ˛&0ņMUٶ¨ˇÂ=§MŠŢ‘BąN)é&ő¬ňNBü)»‘ťóŤÝ¶I}dÚôîsĹď« ř(ý‹ä{ěH°PÎ� ĄoęO¦_ʵ*”ľ ňg¶=•ęK4p˝hč˙ÜĘóR9Çú]S~®?ŮeűČŤ‡ě/Ű%Yđ±˘2űéodšüĽé_kČwßĹhě•çđ/ę$šÍ…�)oŤ–I]’üÜkłóɶ RRůi9^(ń=>`űmjž4eOiF¶„J̵Xę‚őRÓ óűWE)ׇd;/ń ţÉŽé2“ľDădô;UśvŇ Ý¤űKY‹SČwŢŹĘ, ůäááááqî1čÚăló<_ů­×\™ĐĂăb'XxIčÁB*e86hËđ9°bŇsC†ía=¤\ţćďŇkFŢî#Š…kĘÄO·Ű6 KěŔť&VHMâ\éĹÂe¦łbQŢ?—Ă!&d(“Xa ĺ¶‹Ýš€d;ÉżZ(…UŽŇçl´ťšü·<e3˙•Xđ7{°°ˇD*ŃłěŔC?—<.˝Ô/ <<<<<<<<Î_z ë ŻYckĘţd©“ž ic Y°eYiČfOV°D .‰ŰqÜ5rJî�k>b'ďHǰ&Äo�®Oę@®q9/D(ďßž°×)HÝNŁíßÄ %Ş#Hy‘ Ţ;bTw+™”ÝšN"1qß’)0ôĂúĆ&¬aČŽ•5X[ß ’†îX]µ $NluşpěŘ)XXÚ‚µŐUhŁi>ßÚÚl kdb[Ťt=‚¨˘ň-d/97¦·ŐDLš)Ć0Ď.oCAô…‹‹Ď§¨ ú Ű)uqţ5…k™T•Ś\'új=SÄÖSqCJöśÝîâR[ËX~ˇŐ¨9źţˇ$ňĐĄ÷®!'}6ßücŞoşaÎźm>EÄ…AH ĂΆd!ó•s‹|ny÷|qeu2Ś´ţ ŕČ‘c {!ÔŞýĽŰp?î~O!S˙Ľß»Ą˙(Ď6ű^¨HŻÖ6óQŔa°úÖM& 7‡qŘ2=_PąUŔąFŢ)yűŹÓ*y”Z¬p ;©ą]śađ{őđđđđŘȵ€\#°§u–µŇ.áz‚we˝ť¨ç϶‘2Źáž,ŠCsI»’‡ÇĹ O°đČ’¤€2Š'&@ȉ€=Yŕqéť!ĂkđDÂÇ2D_Ă!=xbA‚„$7đµ<°3ŃëȦÁ<đĆFH*¨Őjń5ŤFňŔP<Y0q«‚1U%„';—H‚ǰ.$öú !Ő&çs˘áňÝ'y‘Â÷lĘ˝PŕJ°O 2 ź·$Í BÝ"?ôĐC0;; µz<<<<<<<<<.$¤IńŃľĆ8‡tAkM)2žirzˇb+nĽWîpŐéěn˝$ŃÂHtş,ĹĆę06›ëčWŤ‰"ńQyŹ:mpÉŢ=ä™w˛ÄŽ€ŚQxŻhB‚ś«Úk¨ćZzĚ;{CŹĺE đD‡@OÝĘg=ŘÚÜ‚ĺŐUX^^5˛YťÂuĚ͡WşŽůlÉâä©98uz6Ö7`qi٤Y%™okł‹&lmuL~š k‚o«¦rżgîC%a)ňĐÝëń‘˙ZÚNb<”Hmb°ěˇŘ¨¨Eš¶÷Ärĺ¶Ř"¶ß—źß™’_K{·°ˇaPý,Cĺ‰^xĽuÚ`ˇŞ `ňA^Űťo B®„Ń/Ý0yJăİ:…"B…[ć0¤™Gż˛ÝrňPHÄжsž8qZŤ Tčťë?Žgýˇ*#sUIű®ŻµaxŘq«ö/™¸Ü·.ćy¤H‹9$ťoľnPóqž)4@!é Ňë 9ćzz…‡‡‡Ç…9†ă¦e޸̶5>Çiy(~ĐV…öŠ2RĂŮ�Ëe˘‡´ÉĺÝĎ7ls‰¬Ť<<.x‚…G.pĐÄA'ŘyBŔs8čăyhYĂ é•‚żsžžÜ«jť 5"I xžI<ŕKŹěë†ç›Íf\W„evHČÁóL*@Ň,8 “ dÝř>üŰő¶¤ ö\ůăďäŢů>U׹ڏŰ!?řŻ<ćBvb˘<×$ ÷ţä÷„TQIy¬@ČÝzťN—úÉéÓ§Ł ‚ A÷ĺáááááááá‘‚50(5řîëXášë‚d·*M¤ŃBxśH—'w*«Ä€bÍiŻ´ß }ฏ=ŕ±Ő ,Šé=Ş 첵˙˘TĘX¶8µQzGU|ż:1Ě„bGSĽł¶RŃč´ÜCů ű‘bH’ŠČóH¦čżä‰=Oż(jť™›‡ĹĹ%hou`m}“<V<ńĨԴ |a~ –Vˇ× ÉĐÖ1ký0’+1Ď*“&¬,–IŮ+EŞžP†°źĽŁKM_»#hHŚTnÓ¨>LěŠ7Ü÷—㔊­Ťép:eĐ$>˝4nŞ´·K‰Ä󇊼´Ř°¨,×§Ţx•6š"°]kŐZĽ!„Š@ćÝa LTVßnŰŃ”]S¤/z˙ó~ʧ‘'ňHî{ĚYJăH^^î»UVNtEîuym†ý±…›‚."D™ţiss;‹(, ŰĚ®Ę>«řşďHěΙ©)\§I‹ńŻÓĐJ=SđńĘYCd ZŠ=_ÄG<<<<<.ŕş7,ăZ1oăÎĽéíZh»hµZôw'm*Ľ‘YzŠ/˶«ń&ĺĽőŘą´ýxx\đ Ź\`ěÇ/|á pď˝÷’‡`ă4{Ž`~—$ NĂ$«ÄęŃä炯ç2pRáëYŘbě¬AŕÄž,đ;ťÓ= bŮVy†ß%űŽË“ĺňƬ>ś"Ş‘ R¨ďLaoěëČzF`bç> Wp•B}‘‚ŕlq>'Zžř%ą‚źO+lmßDĽŮlŃgii 66¶,ąÂĂĂĂĂĂĂĂĂcWˇő٬AuéZ 2o!‡`@ẕ̌�ň]ş»Ž•´„Ä€c€ápnŢT|R¶MS3Ćë.€ăĂć'ʉ Ô®L•îěŽB „ý]Ć&ׇt/\&·«ôžP^Źzˇ@ą+´dg$>¬Ż­ĂŇň*Ě/-C%¨ĂGŽšc›FÎëÁŞ97?żH^)V×6ŕřń°´¸ +k«F3kzs˝*‘'Dó76§CěI˘˘ #ޤ.ü·hÇë…b‚Ĺů@ćů)k’“d#‚>ŻíĆ·jěAĎO;Äď3äÂuş^h“DňI€:€^Ľ»=’ÜŢg"9żjwJĄyvC.*łp6y W×PtßŰmŹíSú\ÝHô ¶ëmÁM§ĺ;âč^r ćg§ŤwZ©0¶;Ť2BĂů{±ĺďgN/Ŕ° O=8?…ěj‡ďUNô|h'Ţukő€ś˛ôç p]‰ä ^‹Ë9·lžŕůŻyUŤ7 ź ŘľĺzŠdÎ’ëü°˝OŢKŃ&WŹ‹ ž`á+° wŢy'Ü~űípß}÷Áęę*},±˘{—`ŕ@ĎäÎ ř›˝\0) 8 K6bss“zŽÉěq‚É,db,\ţŤix€gĆyŔčF.>ÍńF˝#Ł#±ç<Ćń­xRaĎL "x_ć{P ¬{T1©0ˇ„IL,aOéXš:cë\"V^Bv‚“aW܉?źÝż=ś+’×™źŤ$TpźcBöNŰh4éèTj¶˙\ JʧÎfÍ…†b2�­çś]Éň\˛ë41V0ą!•¦Łp!’¤QäAŤô–°ż  ë™Ţ�=âiö>5Ş^±qŢĄWÇŔĂ2MŮş»pçl”{® ĂÔ�ë`®Ł\Ws]PŽęaČĆh»/{ŚŁżć¶»ť,/­ŔÜâ2¬­oP^č‘bn~67Ú°˛˛A!;î»ďŘ0Çůů_\ 4řCró›Îů̬˙5–oÖţ‘ ÓˇŘütÇ[DTŮvIFJŐ1"R@DBpë¦ůץ‘L:„ę˝LľĐ2‡4´NĽYîR†|P‰KţÜgăc˘żŃľ<Ř2ý+ěiňďt¨˘=č:ß»A…äÇé$Šęv>Ë;a4ßny× “Ďٶ×N(ôA’gŮ}ĺéM¶Ó~)#‡ůËú­JE•‹Ş‚6ľ Ť^h-©Ś¨Ňnˇ�$a¤ž­Î>źŇůWAAX1Yí|˘XY}’ľçL®ŕŤĂ¶±]‚ŹI˘oÜŤ×Ř&=®3ń7zmß.xĂ2Ö‡e%>>L2={ug\č¤sŹsO°¸HÁd‰ŤŤ 8|ř0|ýë_‡;ďü ĽěˇB†ţX]]#E{@ŇOxŹËxR|ś•i|ŚÉ ’€Ŕ“ ż9Ô–Á.;%ăŽ'ž$đ&uđäŃ3Ç›Íy±@‚{ŇŔ<ńĂä éÍB˛řt`ňbr*%‘„É8Ń1AďMćSDX8—p'¸<Ĺ“ÜiĆýN+Áv{˘ĺgÉů9 $±‚.ř±ýˇNŠlş}e’°BÝĂĂĂĂĂĂĂĂă‚CâéˇdÇqdŘ^¤-&V(čëĆŰž„´knťgŘJTÂÄ­C”š*Jž!T…,ŔäÁ"ŻĐ>ËÓ~;°ĄQF+ëŮ §ŁĘoÚz–(ËF,›±,„ëč•ŐUş ۱˛˛ ó+´3{uuNžX 0čú}m« «ćüÜÜ<t{!ś8y捌şI^-ěó©Đł±Ä÷­Í«ŐÄ3 É-νSk…ŰNa 2®Ő5jĺµë Ţ:Šî’6ę4‰˘@Ęž(˘n©wĺ#IZäSěÁ"€ACů ŠTÝ TI˝2-é$ş_쯢˝’s Đçí€ßkéő2»!űşÄŻěąaň.˙íä7l]óĹd ťŰ„.Ä5€¸(}źtşL©gaň_ü[Y‚O˝ŔÝD%('ž-ĘúďŮäąÓX]Y‡aqVú7Íy CZLŽ.•)›‹kí*MáóÔěâüúĘőđđđđ@[ofđ\ = ňqFŃÚóA›mަ' ö†áÎenŠŕ’DřZ¶©H “݇ÇS ž`q‘ˇ×łq Nž8 ßúÖ·ŕŰ÷}ŰîľČťN;fÚYöśuSXiUSŢ(pŕDŻě }úL°ŕAŻĂr8}ç4äń±óBMŢ2° üMsŁĺč´;¤ř "Ëăúŕ$ĆB”őÄŃ#˝IŁQ‡±±ŃŘ«ĆŘŘĄÇßĚ䉎]áZ ÁťŤňŇPŹ`… ¦gK<±HAŐ¶a@ŠV˘ŠÍ ±ížy€rá˝±j+÷l$¬üě„§cáQ xMzÇŹ†~šÜ"Ĺ…«PyíwŚź>;&VpyńNąČ *xĺč(čě3ŰŘěÂvLC`—[ş„'›>­syí›g5‘×F^Č€sÎ: ÖĽ*—á¤ćö·Ą�É#{ČÝńZrŹ� ‘Ł˙JŢ–I2Qφęč÷pxM.Ýąw:]xěńŁđµ»ďŤv�§O-ŔĆú&¬®®ĂŇŇ*ĚťY˘4č%qiyÖ·’<ĺfd á@ϡŠ?Iţł­Ă2K�Étť¨ŮA¤‰‘ÁL "KŢ�EŰÂËűČuýŰ~=*ŃýcÝúô›L§ľçyş Ů6ţQt=źťóé|¶˘v”¤(`˛Ť’˛ŻxŻb2X—Ń&ěďřÉŢsRB"ÇąłVqČ%6ó~Ď3ą÷§†ňy§ ô–Yč%`H}Ă0e¸Fű˘± ¨’´§ú-o|IúŐnA—ßNžmeUL`ŇšÇFmt—›0,0›0bŻ1q˛ß]Ĺ:ąĽţŁuöîđÜß„ě;¸¤˛CcŔNőyŹí71ç٤§ó<ŇfÓđ†b¶e [§´}OşŢ%„đőĽ‰š7'{xxx‚ĹE •±şşb”Z‹0?}ôQxě±ÇH±…Š„J`ĺ›Ć¨Śęôţ Ăşk„3nöş!lmu ŐŞš4[dś¶“F%ŽWĘáAĽÁ ŔŮ .ŘË{•@ Y&Sźn'ÓÄŢ$avXE“’+¨ç‘PoԠ٨ĂřŘy@Ă;žźÉěĺ€'7LĂ.›8?<Ć!P¬’NǡDř|BH"˘…Ś{lŰß’Ň»ř<5đĽ%c„ń1ÖÓŢWÚý’Ü—Lzé’<bŰ:ŚŹqzY[®¦FL0ágČĘٸOÉcⓜOOÄňxk’ŹńýËş§w…@TÇÄÓ+Xd–.Y댤Šz˝{^‘ő°ů‰:+ŚĹ»a•°´őm÷âźzxxxxxxx\ĚwÄ `l`{A!JĂ2vMKŹ2<e4H+2ś$f'[q뀉Ęl„5ź D™‰i_Q�͛ŕ5Ňŕş30źŞ‘FšU¨Ő‘`Ţ&Í,í¬R,!k@±(ßŕgďXîP c’2ćëş’ígÜ<yň$|ţ‹ß„Źâ‹€v±S§N‘Ľ†˛Ú]ĹŁ -‹ʠö ’µą]Ż‹:Dv[b9VŽłśsÇŔ©’|Ëz`ŢąT}ˇ?äcbŹA‰ ‹RâĆ Pé>śä-ż§ű•kŚĚ34ÇßUŇbĺ9†%Ď$żŇ„üücÝÁĐۧP6¦0<řQQŃŽđ˛Dﵼ‚  “­�žbŁ(Íç1EĄß™äŻm07TŠůˇ"Ů3I›<˝üçXŘ&°Ç/T K˛(:† äń˘tyçŠÎ‹”ąy‘>ŁDblş°guRýž÷Ůx…qőUEő퇬^ęlG¬dŇÄ1Éx[ŃF®a€›¶Đ#’Đ’ABÔ12U˛ĐQąú*]t>Ě2$ą2SŻh¬Ŕg:m,‰býúZެ¨‚î8îá1¸ßđçáá1(äü‡rĘ;é5h’Qf3ÉăůŰĄZ­V!ˇ!»¦Ńt/[ËAĺĚo\W¶ĺˇ=¦(˝‡ÇĹO°xĘBĂňň2,ĚĎĂââ<?~~VĽŕ8$ÔqĐF¦¸ŁĐ[ÖčŽj$Y°QV èÇ7ç—(é’ŘO[’ŤčL¦@Y„ĎIc» ď�‘w ¤ ôX1:Ú2kdL1÷ŔűáĐ&ŇĂg2O ’0ŔˇDHŘ u| ł|˝ÜŐ"ى¶‚' †śD˘…N)ń·ëv)ő”Łëeţ2OţÎy˛'‡˘É›ď‰ďĎ%Ađ˝JŦ,“ż•Á}űR– ’^ °6­dEće5 ű…öŚ‚ç™Hc?ŐT›–MüLҡR=<<<<<<<.Xűíp "wÝ—üŽä•đś·%‰•m&OĄú—CÇÂÄČĎríÎŤôŘ–6’+řŃVĆFŞP­„ć/Ę �ssk ;»F"ľźřŚĚĐC";+Ît®±©0e˝ĹÝqÇWŕλď5"[%–=¤L„×đ 2Ţ9ĘvC)ApmÓq†âŹőZŃŤlYÇě*6v+8‹ëŃ1áă#%›ĺ¦Hd«Ś‘”ŻęSńě˝ v§ýd±ĽôĂ`~Jé@E¦Ö6Ű1©Č’2B‘™’­ćvŐh:MzˇŻ‘AVç¤$G˝łéΆWţ§^üL^,ňŽjŕćtE“Ňš‹tyíá>’ÎÉęĐp ľ°Śyíâ¶ÁvÓÉřŐ0?W–סR­Á°Ŕćíőu `:Ł *{ÖeţhĘňĐş˙¨ŻS“WTżčŞ®6—ţ㵇G1ě˘ôĚ™3pĎ=÷ŔČČ(ÜrË-011žJ…ˇÜ>÷ąĎÁěě^xń‹_ Ű’pď»ď~xöłźăăăĄiĎś™o}ë›đ¬g=;S„}Ď{pěŘ1ÚDş˛˛Bµ:7Üp¨s0|˘Aý¤wóÚkŻĄ0ĺÉšÎI.=z”<°c;Çw|GßpGŽ1ĎĺňŠ>== ĎxĆ3Rý źn:ĆöˇË/żnşé¦RŰK8<â0rÄ0`[۵ŠćbY¶ ç±`[ÎvOEx‚ĹS ÖÍręÔIł9m@spüřQX\\LîÝ–łgÎ+¨(h4ëfňŮ„v§g=[(ëĺ�CvPšŔzX¨VŘ@φxüŽ“€,“‰’ íş—śc–žôę@ţ@ņsś`FF@Q%{Ł^ŹÂ@Ôb8ů˛W ĚĎ%¤ËĘţVT&_Ç„Š„Ä‘ě®âăL¸°żUj%'>W ’„{\Ą„tyÎ%,H‚~şÝN´Ëâ˛LnqŹK˘„d Ęzşu—ő¶u°uvű’$ťpÚ¬Â"Č”-Ű'ÝfIą–TQ‹˝Ź°çŹ^äĆË´!@jńâĂĎÖK.\0= xxxxxxxxx\`“š»†+Sěä@"(Q¬}SAÚĐ‘)/e»/0ŘOdâ8%·^âĐ௢˛›F~Ů;3őZęU$)çćÖa}ÝĆńE`Ci“ÝqĐ˝YĆ4z Ä]ąäÉÂbTN6njj VÖ¶â5<{Źs×ůRÖ(ú[Ze•®“$ťĎă'Ąř)Ş„L!.VRM1Š \0tt˙Ä I (C™!y;$žó(‡‹H˙čĄ=¶ll¶)Ě(…öĚVbíőŔ]„ÍJôî畨Š;DL´JňN¸.luŰE;Ë1l“őkăažLş]]ű c;?“âóĂ’,˛ÇĘĘĎK—o/&V§“”jmfÉë &Ęô*EHÝYJ‰F9’MWˇŢhÁĐő1źn/ŃwĄź @Ůć ¤*Ńؤt2N¬§Ă’ů @—öŐ<}žĽ/ţîá±=$}ń‰'ž€wľóťFÚ‚_ů•_g>󩔟ţôgŕw÷wá9ĎąmŰ‹‡~Ţóžż4íC} ‡†żř‹÷ŔˇC—ç,Pż˙őŻ>úŃŹŇzőúhŔpâßő]ße>ß » ô~…u@5é‘@ňŐŻ~Ţđ†×“^Úăě€úűűî»>řÁÂ׾ö5:öśç<§”`ýř}ď{m8ĄgňíoŢö¶·‘Ť�íH$úđ‡?LéńŮ}ęSź‚ďűľď—Ľä%0 xNmŢ%plűÉ›7äĽŔ›śĹĂ?Lď’«%šH;ŁźŹ<.vx‚Ĺ“îŔ…'Ž›Ď1źźůą9XXX≦=HŻr Dĺ§ÝÚj›AÔF”6„µŐ Z¬ ć ŹmnlŃŔn.‹‰ŕ‚çŃ8Í?ăĐězS’¤q·hqݰ<®c="NqÝÔ 'J률b[Ł$ŰT+ŐŘăǧÂňĐć…ÇŘkß+Oü—Ď39=ä±Ç%ńB~g­h‚qÉ I~*&t ¸~ň)dąŢÜP2„ôÔÁyćMĆňţlžů›;™óýf=Nä+ŕ\a1KÂHĽŤ0™Fşf’Ž\dT«µ\cŰ„%‚Ŕă´]®’%J.ľ0¬Ś‡‡‡‡‡‡‡‡Ç…\dĹN©l†´‰Ü5îˇńlÓŽŃ´ŔXÓ)”捶:ěŔx«Său«ÂhKæ‘ĺŤbk“<ş^ďδćżÝő|L Ń–ě®Ů…†Śg˝2(+8Ŕüâš•it9™"︛>ď^BHv%Ç×�?’ "ł€ őB˘•Î8ź©[§¬ť@ĘCŠów·÷wťľĎ„xâĘaÖm˝Hâdä?íÔź\JUz/#ň ę.pÓ»ŮWą„”D>© Y3›®¸P-Nő]đ}űŘMĄżÄůčE¤‰˘seé·[~ŃqÜ€“貆}DExXElmv†Š‘~.áęÄv._HXŽôŰčÍű,ZÍá !Íav¦°„F©k‚ұŤ‰; 9ҤQÓ>ÄdÝ sČ›LŃ äĎAEz;7ť‡ÇđP©ďSdFcëÍ7ßlôđÖ ľSHd¸ě˛ËÎzüÜ©ń řŔHß˙¦7˝‰<k`Čň/|á‹đGôGpđŕĄpë­·ŔnË~ŮË^ Řvřýk_»ţîďţľű»żË,v�H–ąóÎ;ɄĊ{ď˝·4=Îť˙řÇi“ń˙đ“7$Wüţď˙><ýéO‡ç?˙ůpúôiřô§?Mşţř űöŁ÷Ľç=t÷;˛í ±[kaĚźI,'éŇč`˛drí>Daoşéfc‘l1¤]ŃĂăb‡'X< Áut“třđpúÔ X^^$¶‘ €ü€vB±ńŰ k!Ér`ĆETĄ‚˙V«´Xhoµ“PŠCŁ$D–˝ +҇kŕú2±A˛Ă“zX˛CµÄän7ňDĐhC‘ŚçH€ Đ‘+0ŚCłŐ$ᆠńÄČžJxÇp±cŰB VA‰&Ńo&WHĹźKRŕüm;¦aI˛H“Ň Ääy©Ś&'ÍËŽŇI‚‡ĽNÖU,Üç-ËÓ!R;*Vˇ”/î˝s]Ü{Ô˘ţňľ]b…ě§Ľ¨` .´ĐËD%¨űHWMBš©ű•ĺg$1qi <<<<<<<<<ž<HŇĐ~†5Śččl~6v{ÚK…rňLç°?®GłQ…©ńš1ĚŽ@Ma(ş6¬Ż,Á©dÜí q8ěä“ŮĽk¶ËČ&d×ÚŃ×ĐRňDżöc‰ţl´G°¬'yRç*J•“,ďDé´|ľń?FF1˛bĐP0vijX;Ó†Ť“ć^:ŮĽ•.*ŞľśkX,{Ĺ a.ńBĺ'ähśčlš¤ĚđxN †Ęrµ Óî“őŇĐ›č-ř/ľ#H°€$JLś°D%(ôđ’©�%–Ťš—¦´SYš2rŔ Ř‰gŐo\é÷îőëK‘,äČ>X=ňĹFń 7Ź Ň%Eż¨/†»j! ěö!Í5:&DôBűv;]XZ2óă©ůT|÷Aëeu‘!’š»ŃĹŐÉěqH÷Ë!ÖDůőĚŘëᆧÂâ KÉ< ©±şd“×Ç.üăńd�†S@<đŔCäűŔKč7†őxüńÇá5Ży y`ś<yŠ<[ —ěŹĎ}îsČ{o İ"HĚxčˇM^(Ůď±+⟀Űożćc ÓđŇ—ľöďßWZO/°Nä‡~荑®IXq÷ÝwĂ?ţăč8’E>ó™ĎÂĄ—^JĆvôlpăŤ7Áw÷wĂä¤őŚqěŘqřŘÇ>fîń ňý‚Ľîż#zčasţźLşŁ°wď,…©Ŕ0'˝^îąç뤷Ć4˙đ˙@•˙ă˙řMxő«_EaCĐűÂ[ßúVŘ·o6jŰéž_÷ş×’× Źb`»ľčE/"O~·ß~;Ü˙ýĄé‘<ˇD^ţň—“'ś?Đ+¶÷g?űY"P  űöë_˙z¸ęŞ«čş7ľńŤäŃâÁ$bŃ0`Ű×n‚ç ¶±ő ĄČ›ůw9”ř+?Tri9Ҷ4ČZÍĂă© O°x’' ôŃcĹÚÚ ¬®,ĄÜ–Ý  †Ă*łlÇĽ Sa<x@Äďh¨–FlNc˝@XŻČ HĽ(ŕ‚ CVAךX&±Î;Ę“Csŕ" ‡udr*ëĄÁ†r¨‘bqtd”,¬'Ć.Ăë8ÔC•HŘ]­”B¤†hđĆď®["LŹyZ˘E@ ôm(”(ŢĄ˛íB wbĘwăö‰C«üV®@- .!‚'9×ó_Çn ů~†yž)Dj±•I‘ň&5ü͡Z¨LA´÷'ď‰ î}ňoűŚÓag\!;Očä~Ă­[é™"©"ę«\/ě(h[·­6m˝Ţ m8ü‡}Ž˝¸^®˛Ö…«4ep;a˙ńđđđđđđđđ8ż(3&ôSĺdÉĂi˘„›GÉ"÷ÚRE’ő€˙¦Çë0»Ç¬Y­gWV–`qmÝČm’ŁÄDηŚĚî}PŤËr!É=26[/…Ă YC ™ČČ\ É ®ŚUš”Žd_‘Ľu°µé ¬íÂčţ*ěąa “UĽ˘—ŤÂŇ‘MsnÖŽµáČ— ˝2—"yA"”şČź? ÝÍ,?± v„ÔSŞ]¶†Q{C†-דÚ:´ňd(@E 6˘v'™flGN$ĎA®Ł˛ÍC  *„v$o’ hX/)!ż¬ČVt ű÷H+ÚáČ×č{”«´ćÎă-ú]W†r˘@śjČ"ťÁN*ÚĎVq_FŽHęO˙fŇKO޵EăšS¸ĄóÓ¤Ďţ óĽ0w„ćÍÇůú1ötkç2ôHŃë=cdřé=b§qëŰĐŢę=ă&,.­ŔâüŞŃq®ťŚ™ —Ţ�‰Żn·—”Ô×¶{Ţ<Ü‹˛!˛ä=RÂü7+ŹdÁÄŽxŘUŮ´Iąyë˰.ąä!O«đŘa úĆn‚G}ĚŘNÄ $ ÜxăŤDxâ‰Çé’'Ţ÷ľżăÇŹ“wÜ †Ţ–––ÉŁ’¤ţęŻţ{ěq )‚‚żôĄŰɸŤŔ±IúЇ¸şű»îş Ž9 o}돕ÖsmmŐäűěŰ·®ľúęÔű1bě Ż|ĺ+É#ęů—Śńü#DŢ@c=ę{‘Lő{ŰŰ~ÜŚż5ř/˙ĺ÷Čîđ‚Ľ€vńż˙ýď'{ÁK_új‹ßű˝˙ W^yĄąţĹpěŘ1řó?˙s»žńڧ±Ű ‰%hś˙ć7żIäŤëŻżžĆ÷o}ë^ oń]ßő0„9<úí8ü|ń’0??Oó ’yś‡×âłřüç?Oż‘`ŘżÜođ;†8D˘Đ ‹"ŇćnÉm iĂ+’mů÷n\Ri^=<<.&x‚Ĺ“�8Há"ŮzČľě´7Ídľ –0`PáŤB™é{Dˇ0ŘŰ x’”€Fn4nw:]łX‰ ä2ĆTÇHÖSPZ$C`č\Ülnn%Ä5®Gä6†sH6®kŁŘ {Ő’Ře"ţ&ÝgâˇC›pťŮଠ‚÷i7OŇ+5ú+R â$ĚäIBa°7 n7&ŹŘ˛íóŕz0x1ŔĎ„Źĺ*‹µÎ1\ćaŮÄ©¨}ČĂ„Ęoń˘Dü–}Ĺőh’7YĘň]ďňŢ\&ŁőJŇŤ]Uq^ü¬Ź¶zśźź­ş]IBŲ©?vBR\ńFń=k«ŽľËrůŢ\(÷{~?<<<<<<<<<Î?ňÖÎŰͧ,ŹR’Q-I9€Ůé\:Ű‚Z5¤đëk‹°´˛bÖŞKî…‰,˘"rŇD¸Čőß7b'Z,ĐşšČçC]n ĺćzTRâ®Ć ’Ůd{ąDôĽże JK¬äógd_¦ź>ÓO…ÚH�÷ýă\ýş=pŐËöę0dň˛)č>MĂÖŇ"<ţą3p⮕ qťKÎ×fŞpĹwÎᝆKž1ĎúĄË`ţuč¬9µĄŕĚ·×áđg–`ýD[zÂß=óXDŘQîNx» ›ž­«Şî« uŠÔ˘tbŕŰN˙+{ź·«¤\‘á5˘Ś žĺT 99Ň�ËWܨ‚›J¶Ú[ĐjT!˛ŹU7e Ť^f•\ŻůiČ H[gűĆ2súwQşÁŹVn˙cy´ď ˘¸ßŽrß%™őK·Ý6Í%h�‡I6‘ˇ ¬łâů‚˙n¬wŁ®="Sŕ{ŐnwH®űڎ `ë›ë´ldlŚÜ´OŽO@Íč+AÖHÝ|Đo.żňZÚîp'ݡÎÎ/äMěů"â ąě×É΂@•Őź‰t*źx±SëŹ"°ö†n„S§NĂ×ďů\wÝő¤ý—ůř×˙ú_ÓîŤQßüć7Č›Ĺ÷}ß÷Ásźű\pý÷ß˙ű‡7Ľá ´Ľë®ŻÁŰßţvxŢóžKv‚ŤŤu"d pśřÓ?ýSxÇ;ŢŻxĹ˨oďÝ»>řÁ‘ímE@1zŻŤ˝LČűŘ»w/yřĆđçřö˘ž˙YĎzĽęUŻŚĽgđgöç"bĎžřůź˙yĘkffšę}äČ"AĽđ…]řČG>B˝‘Ś155Mc’5Đ“…Ść„^7®»îZ“ߺ߉‰qJ‹ˇ)ľüĺŻŔ«_ýťş=o ëčQŽaÇ;loś$i!ć±?ŕ8J^Ť<Ć!íą|ĆHş9»uDţuřnüÔOýôĂüÁ·E„ţîÖa{@‚†´áyŰd*ľvff ^ö˛—ĺ^ďÚ«<<.vx‚Ĺů†+<©dpBfÝÜ<đ�¬®®‚ő ц"öĽýđî ^ĘS~8‘Hă7{Jŕ ČdĎxśĎcúFCGÄN%%Zä1€?<‘IÂĆ”šR·¨‚X©Čá@Ř[CUxŃh™ď ˙ ‚$äE52€3‚ xO’\w:,‰"˙ʰ)’`Âän6¶sť\Ďě=w d…7·“}»|tź Ău™›Ć…ź˝Í;ŚďŰÖ3;ÁĘ6HĘQ™şđó“ˇUřąĘ:ĘĐ/|˝[/Y>“8ÎűY âŽân &6Ä}˘ZŁ{‘ĺ¤î3÷TŮăŃDů5€Ę}a·Ý|yxxxxxxxxDFó2Łşs.ĄXŠŽĺ©‘l’� Á»KUě/ąeö”ÉYÚ†ÎP)˘“5ďÔh®»j¦Ć«°°ĽjIFQ‡Dó0Ô)o{Š=ČűŇÖoŤk‘s#Ď™U<TŞĽćvďClÓäS¤|K<h@J’2 •¬ ćŘĚôś>s&2PVŹeaId‘h”żŞöDÄhşyÓF=# Ç‹‘fźŮ„Ďß÷}ŕ(¬é@ŁŔŢGaěú&4'j0~é\ră^şlzÓĆUcĚ[ţ6\÷šĐmBĄQŢş‘ÁŚáNů˘62edÓySlŹÚWőLëš:ô"ů;´Ś˘gˇ˝SąE´™ÝŐBsź‚C/ž…Ůۦaęš1ťlÁ‹ţ·[)äeŁU…Wő¨ŹU+ 8qÓ)Ř8ő =ą@;·YâvÉ* ¸)0Ż'–ŹčÎSrU,ĎBšXOm!ĺ/Í\łŰµw6×–ĺY$çÉ>Üí ѦB: )@›'(ŤJ…Vewýx¨ÓYQcĐˇÍ •!5X#j±="Učä@&…ý7ň`Ł‹÷¨ďt»m'żť¨›G™QŕlHý ‰ľe8#…„ű.$z˛üŤ):…ÂMÂ` î‹7šş˙Ž]Î/TeFŽô\ˇc6_ş®śEâşÓ{ŃŁwŁmľ·;!yzÁߨ·A“Đ؉›Âp·8†Fť![ŃX„ĚNŻ că ŘÉu0>1 sĎŐZ•ÂţÖjŐČ“G@›ŞpάŐkf]…šĆ“‡ť'·L×75‘8¬>(Mň?`ů2áIô…¶ěň|٤<Y¸éâç(<Ă&Çď'EŐ¦pGŕá±}DÝöěť‚§=ýf"GĽňUݤ ¸|ŮËľţęŻţÚöeeĂ >˙ňËătňŔ H"x衇Čű6L`=JîĽónz?qNźšßú?˙/řď˙í˙Gkă¶±3TŞ•…‹ôxšô}¬O­Vˇ±7nĘtčyÇ\,_ş™™8tčP*ŕÖ[oĄq ˝QĚÎîÉÉI !!D}ôňZqđŕAű~ř¸îşëh<CďŰőú$ĽřĹ/¤ws}}#Łw§ĐçÎ\Ű ‚č˝ăŹ˙řŹá‘Gˇ1 Ů7ŢxC)Äcxŕs`űŰ©x,Ĺ5ž´ÉţÂŔ9 IŰ)·Żl@}­%+đú´ Č2›<ćçoś·ÝI mŹŚfł^ZW¶ëô [âqqCö@%¨˛`hO>x‚Ĺ‚^φ#ŔIţŃG…|�Îś9{" δá˛ÖäDâ¤Áß5ăÂÓŰE¤LhŔ ‹3Á^4$Á‚óĹ뤂Ž!˝'p:„¬ M€ŐJj’ä›˝_ä «L–° ŻZ\. m®đč!ë•—߯$ȰÉ3I·)·2uTŠśÁ÷Íßc&˝Öń˝&d ^LfŠĽŕď\/Üžś·Í·’Q¦”ż˘Ż„"¬÷G&vpßŕĽÓĘ(IéĹ‹\şE‰ţít ť:öJ‚‹Xľ'K2vBŮJqŹ''X›gÔJq ˝ËˇT-úkŤńH‚OĚQÖ+ߤ1]sĹ4웩ĂĘň’QJÍÁ§ÖIaĺĘa’X]®/‘; ’=şFÁlÂn‰ÚViB×÷őÚPyŕş}ď޸˙GČF„Ů÷ĚŠŢ ‰¨`äĚŔČF# LA!8`”źc!\ţňpŕY3°µĽł×ď…KźµZÓ-rýŢí`Ě”ú­Ń)˛»F1é3÷ĂĆ™.śą÷\ţâ4M;V5Ô§«ĐŮčÂľ[&áč#pj~ť”:&2ĐDtPČňhh¸ľWľrlśnĂ‘O,Boąj*„Oź2őŞÁÄĺăpÍ+/=WLYň<yr¬QÝí.ě lő¶¬‡ÇŞ˝˙ú”9~‰)«aä°sŔá&ąP§•Z1ĺ"Ňn±í¶bî; ń�¬Ń}wTR¤Çąj‡µ±$Č„Ű9—pÉeç-ęŹaOÁHk, G©Ł±ˇ¬ň¨ă¨ĹáW·Ţ%–]„ĆqiL§Óaa5ňdÝ<"ÚvŻMźKt\ˇ$ýÎ?d;÷'Üm—QvÎŽŐi‰ű· ňş(Ç(_7ŰČ:`Ęj5 btFčk‚\Ň„r¬ôˇůŇ’z1©‚ëă–Gµő4Aä‰N‡<NŘO/ŇĎtakŁM›«p^[XX M`¬3ĝڸݫomuŕ˛ËQÜ{Ü N¤ s_őz5Ţ …„¤Ř{m ő[ŃX2é~"ŹĄ•!Ť6*rüŇFoQÜ—tŢřÄm2X_ ¨‘5Ź{şŘE{ę\Ş˙Dť”ÎíÇEďf:MÚĐ; ůńńŹ‚HűŘGÉKëŇ®]ABę—­><é»<ńxů'ň'099AúpJkŢüŤM™†ń¤ęńńq¸ňĘ+áöŰo'Ă5’'�Tôşi¸ăŽ;Á$HëIąż/rŁč©Sgŕç~îçŕ†n "¸c˙ă˙xTR˙ą(¨ ·C—˘ń?&í=LöđŘY`_Dű>[–ø&}ô‡ý˝)ařL‡ sůĺ—÷•ÓĘĘ/ęXzŮ.Rkńę7H|?ĐC Ż'0l¶ÁŹüČŹÄâű­qËĆ�÷ÖŁp—AŹžóË‹đT'XśGôzťŘ=ŃŃ#GĺyěŘ‘ ) g‘ÇRăc( u»i"/lěůj|ŽěĄBzĽl4· ţĂ:Hćś$ ČĽ06Ä#¬×„DxäÁÓ¸ĺIB çż±Íd†KB`Ď XdĎň}ĹaUtÚý'¦Çg"=>Hr€ôę Yz‰â4«HMk•™“cAˇđŽŠ?÷e[»!E8Ť$[0CS)Č%xČď|­ ĺŕüX8DV®$źHśžŰš™ĽLx‘±ĂŘ˝$· ëLÂŕt»Í†Ś•ńâ»7ĂÔĂĂĂĂĂĂĂĂăÜĂ5Nä©´¤×x2}ßüăëajŐ€vËŤ´Şppß(…�io!™â Ü{ß:žŇë›”·)›\–+¬ŻY˙†UktEĹr׬ˇk ĽmvHÚ)Ś×ć]”Ó`8‚*ł÷íť¶Ćb”YMD…D4®)lÇ�Ş-#źLě»u/Ě\1µ–őHQť¨BOwaíÔě»y&ŽÁĘŃu¸âĄˇ·ižĂH:sëpćŰsäŢyuýŹ€î˘Ĺ© SWÍŔ{Nß;oʨÂřľ&8\qěksđÄís0˙ř:`óVZh^7ňeE“\ŁL]S‡«_ŤÄŽYj ^đ {`ľůÁáĘ—„ŃK[0ľFgFÍóoCÍŚÎÚk[Đi [:í-č© §ŽőĹ6,­mÂÜýK°ňĐ&íd>¨ ą%H<d ŃEó¶!§ ˝č0#ć8˛)&T‡Ó`r‚ČçÎ5PţĆ 4 o‘Q9"[őą¶ŮlXw3}ÂJd‘—9“-ÂňëÎŘ0_žŠ [Śł{îgßgĘůéĄŃZet7yŘÎÜ"ëgu%Gřj$dačÓâk,Y"Ńq] E˛›VĚ8âÔ…­Í6l î±Ý‰ÇwTżtŤNű˙Ňâ,,.št[Ôü¸»zÚ«&ĆĆaCxÔpÉ%ű`|˘I»|íNpëuÂę{.·ˇ~qĂR¬ґ׆˛¶aÝ™ŽuUL˛„”|ŹŰčť&"ö.!EŤ8(a‡QR×?VéBČîvΫ_˘?Íó›üĄăçsđxĘᆮ'ăó?˙ó?Ă˝÷~~ů—9“fßľYŇť?ńÄa36\B}řË_ţ2y@ň{´ţć7ż/zŃ i|ş˙ţű`ŮÔpŚ8tůe°wvxđ>řÎď|­źŹ;gÎĚÁččHô~�yÉ ‚ôŤy_sÍ5đéO>ó™ĎŔk_űZłĐ‚őĹă˙ößţ[J‹×ŕćąĂ‡Ă3źů Ę÷ž{î!ű�z©řú׿NőÄô8¶>ü!×\s5yź@ď<ÓÓSäâ®»î¦űĽţúëSm‚¶kŻh›q¨I›ŃĎŤ7Ţź˙üç‰\ń´§=ŤÂ‰x &ðž˙ň&^>śĂ0Ü>Ď+®¸‚ú!f0 ’-°íßö¶·Qz$» ­áŢ{ďĄç‚óŘ'>ń zöFf¸vť<Ż;ŤíŘE´Ţ݉AÚľ<<ú!ZŽŃÇŘŻ~ănř˙üůÁSž`qNˇ‰5‰îŞđlĐÇ{Ž=f&vlČ·E˛čv™Đ.‰ =©Ô +=4ČônČÎŹ•‚¸Řŕcl8çşŮü’—ăşł#¶y´¨b϶\»8bR€śä}ćÝż$[ä¶°@¸Nś@Ąw—°Ŕ†~&p>…óf/L*őuYëü e¨٦Rp—Ď%Vb ORQ+É/2¤‰ĽY/éiŁ× ÝSňµś§ëćI>_émC’Td]ř™ł .ţM‚~·HL5ůႸ^·.Ü\/. ÜtŰYPđ5ČŢôđđđđđđđđ¸°p6ŠśdÝ]t<2h á«˘`r´uchźťnŔÁý-c ď#Ô2<ňčqXY]'ŮŔ%TČő±Kćîo@>Čí5VfBR~µÎj‰ťC®ń'ä‡:–†y°Ř3e˝6Ô†2bĺž›[Đś¬CË´ă%·ŽÂeĎ9ă—ŹŔÚ©u:8e”Uâd,Ď-ĂńoťĆtÖçÖQ”„é+'AőŚŻfdcxTćyL]= Úț˛°µÜŤĄMX[]…Ť€Ă_:uóÜ˙ÂQĽl¦®‡°ÂĆ™¶±&*“w fn¨Ă%Ďš„щ¨Ś¦f”´§;pý«.‡ńéóěë +Ú(n×`ň†qüöM c3 c\7µ5ĆŔ°@wošöę´‹ ÖXąf Ć ą>ż ‹'Öŕđ'ćańî-AĽ?7–0&WÄ„‰dú¤fgôŮkaÉMőâlčl�›s¬p-2P–É ąćüÖÖ&ɨşgnµš–\ÁádRVV¶ęć—Ą¸=ťó÷»Ď}s.Ń!/Mٱ,ú+ô“|˛ŕ~Čď'ý/ÄQ”¦ěZ©Űé×>yiňŰ9}N–ŹŢ($®e‡k@ęéĂR…Z'z˘¨LJÓ‹ţvz°ľaĆBÚĽŐµ$ `Ţ�këäö{ueÍĆž7ş1 sˇ|ÇÇÇ`zbĆGšpÍ•‡`llŤ*…ď¨!qu<¤#ła~ŠĘč}$Ňş;&0Ägˇ %-Á0 ĄA:Ł(Éđă"Żň'ÉR$Фý±oöÎëĚőŃóT*C˛p˙fô·ě ŠCu)<ôŇvt^ýđâżţóţ/´ÓýŠ+.Ď„PĆ0÷Üó Ú™ŹşS|_‘ńS?ő“äĹćŔýđěg?ţń˙Îś9C5$?Řu3—›źýŮ·Ă>đ2‚Łgôň€záK/=@ŢĐčýĹ/~ÉĘg‰ś áF^óš×Ŕ‡>ô!"O:t9‘ î¸ăËđú׿^ńŠ—C4d’ţË_ţ Ť«8ľ|ęSź‚ďüÎď„ÉÉqs×RŢď}ď{Én|˝˙ţűáÚkŻĄrĽíđž÷ü%•yüřqŞç[ŢňpíÝlĽ˙ä'?EĆű[o˝ŮÜO‹®Ăz˘nüúëŻŰő „O¬­­Á>HˇUľńŤoĐ&Č/}éKä9é/xµăG>ň¸ë®»ŕďx\vŮeđŞW˝ Ţő®wÁßţíßŃç _řyŻxĹ+^Aybšç=ďyäĄűnîD’ΛŢô¦m…aۇ°ßMČŤËyë×ε]’â `ąÖ÷eŹľK”“1ăőgżň%řŁ÷żŹĽ˘=Uŕ 稠Z]]6 Ź“đřăŹÓ¤Ľf6Fb˘ť<ěĄÂşÝĘŇň ňîbš6âłQ›C’P!ó—\˛@bOÂV0ÁĎń1IŕóLÖŕßR`ĺkeČ „¬»+¸J–śËw‰$LDpŰN*?!ŢŁ–Ô‘Ů‘˛mŠ Z Ľ C‹$¤néU‚cvé an±»^ž(ą˝\ŻiKâm»“l‘â)ʏ‘\—&•Č<„Ăž+ä3ĹE7VĹÖÁö{\Đ`á|x×\Q=Šp¶ä ٰîŹl—HcEŻđs‰şdQ7†ó‘ffgŚÁé˛qcüęÂÜÂ>:O¤Š cČRŽŚ ów‰ ErD~Ą#ă¬ęF\#…ćŘpž$¶ 6äÉ\GŢçĚžIŰ揹•f«ž= WŤÂäˇ1˝Ţôfö‘,©et“Ü#„FNŘ<łËGWˇ:QŐckĐš¬ĂÔˇ X=łŐz6—¶`በŘZk“‹{ŘÔĐ[ˇ2ŔäM#°úřÔF+pík.™k§Ě5ćYN5 RŻÂľ›faáŘ"<ö™ă&M nřî+aĎ%Ó°iŚë],{~ĆgG Ü02Ko ަizËmSFN}cFFÍůµ ô¦€®™{l ćY€ÎzÖLÝńţ'݇ő“k0˛ż {®™†…»·`®·^(sAźĹ¦d¦e8+lZĂ]nY±áo0ĂxJ–[Oz§Ň™ z€‚ťŚ&‘’QKň.oď(Ŕ‰ĆÝî[´ »±ń´ H° &%ÎŚ˝˝ÂąŔnW‡!I”Űw ,żVçÎ y× ű.»×[ťWbpÇqqyeNź™#’�¦BŻv—nB˘k”Ý̲˛ş KË«: ŻŻ+ÇĚx591cĆ`y`ß^h˝ ö]Ô˝ Ţ±‚„ "M±îŤtSčýFŮ÷*Ń’˘R•µ}zŢË#%í‡óNÂsHôyŰ1X…˝$ü�ĺĆőĎM­“…Ńţ,÷¬“FęşÜRŠú©V™1YńX…6>uňđŘ) ˇá–[nމ ¸›˙ŐŻ~<űŮ·Ĺzm4XsÇÄAoyË›ásźűy©Ŕ±ŤÔßýÝŻˇńóűń+Ŕżő­oůŕuŻ{<ňČĂäˇń?đýä âöŰď€v{ ®şę*xĺ+_I ëľç{ľÇĎď„“'ORř9 $2 ÁâŔdDGC<Ţň'ÂÓ_Iőá1 ěĎ}îsÉł°0/ůËáőŻŤ…‡]żň+ż ýčGÉ^óô§?~äGŢbÚay ¸ęŞ+é<’G>˙ůĎ‘W„źüÉ·Ám·ÝF›I‘ aőßóýj“Ż~ő«T>,l[ÍyŰ�=,ô›k<,P'Źä $Ľŕř÷Śg<ľřĹ/Ňěcűöí#o&ęűíOýÔO‘“;32ß˙ýßO}ýÉH¦řĘWľBóĚŢđ"Ň ×ž‚yb_Ř-H;Ü „iĂëű>cßl6›Ńz¤˙ú†Ç„ˇd\Ź‹hüříź˙ď»ß ßzč~š4ëͧAÇ,ÎP:rä0<ńÄăd}c=đĚÉPů‡C™Pçvü›˝:d ÷‰·Čřp>8iä‘ä_&p°× &8Čúş×0p˛`‡ Ĺ‘wßň|>Ń$©Źś€¤±>˝Ł,ńŢ€%YD ÂY¤Î;ďžĺ±Ľďě•B>ź4áEĄÚÇťŘÝßĺ)źk?¦cQ˝ÓÇÓž-ŘK… Âçđvĺ…¨Vë”Î ö•¸oĘ$ň^ňŘ˙ý°r…[..<<<<<<<<<vZlČŰŽÁźŻ+[G֪ʡŞ0n ď±ôŚ6{01Ö†ă'ŹÁÚÚ†ůl˘©ť ˛U\b« ´L=€Ń%çJűwĹ«^Nwă¶M~µQĆćŤdѸn§ÓčZ~x™©‰H.˛ňQwC{Ô`öÖ ¨· ŚĐŮÚlȰ҅ĹS °ąÔ†ŤĹ-X<˛ óŻCˇ6ż×`ćę1"śĽ{zë 6ŰĐš©C}ovRăëé«ÇaĎ S0qu öĎ“EđŔ3gÉcńŁÖ0ňI­ jĚČWWOÂÉo,ŔúÜÔękH4ĆĹVÓä٨@g˝ Ý-s˙ưąúЬY‡ą×ŕĚ·Wˇ˝¶›sÖëäžë§�ŁK¬žŘ ÷űő‰*ĚŢ2 3ÇaüŔ(Ě?şS×N‘rţş58üńą]5„ç!îűńGČť*!Ą0„A MĚȤŃxvŘaÝë ď•[Ďl‚�}Ś’a§ŰKbĹ÷Ď×*é·zí¨#ţŃ®s]Zź„vb+‡# +ę\á|ß^Ú®l<č+ĘrĎV1ßol/‹Ó×ćo¦‘_Ę7×ČKŇĎ>ŃŐ 1Cń�Lú·Çźxš-Ô±4I_‚Ţ'¦IeC®NLŚ›q« “D¦¸ü23ŽŤ´ QGŻKfĚ3Ćľ€ô,¨ŞŇ¦.UQ‰î+"&ĹwMަä^ą ŢĂ€H“V’żn.I*­#t7x \şây¬\Çš&iĺ[;óôžÉóŤt‰?Ć L¸ŕAR 6{’…Çnáꫯ˘ĂaüęŻţJüu¸Ż~ő+S×`7ľń铇ŮŮ˝đ¶·ý„s4ťÇ+_ů ú¸@Ř÷~ďëé“|P§ŚDü”ÓŢtÓŤđć7˙p†Ü€çn»íŮô)µ×^c>˙[ćxŁQ‡×˝.mÇß| ß×5łvDĎ 8–#)`||ü+<0ôĚO˙ôO—¦yŮË^F ôś‚ź"ŕśůęWżš>g ¶±=k·Öú\Ć ă?ŰXúoVMÎ=ëYĎČ=>H9™\ý<ĺá� Hűü§ŕ?ľó÷áȉ㱗ŧ<Áb—n°5wřđă°±±n”U=ÇsÂÎ+¤Ě;đĄ·6xK[š`xbŕkóŢpyĆ}7ť Ńá^ĎeÓw4Ř‹ÉI9ÂVQůn}ó ü7ĎÓ·Źôň!Ű!Ű‘‰ QESÜaŮNéx‰Yážż‡aR/&WČş¦Ó:ˇXiFŢ'ŐK©Bö˝[Y§~Ś}vçČĐL®ŕ´ŤŻăAł9“y¬P w¬’\’s˛ g» aBŃěě,xxxx\hŔ˘ď˙űăß8fˇ+MdîŁűIfďočŠńk_»Ű(ŽÂ _řBÚńńdÎčFŇĆ\}&Ĺâôđđđ`ŕîÝńŃ LŹ×ˇUW0R72TĐ%/ëF!ş´Ô%ë.-ŘŘťĄ%p×Ů»hĄ]·‘|˘mč‚Ĩş}㪬—»Î§şĆöE…é­794ô9î Éł›™ž°;Ł•˛nę;š űź=ťŐH'çˇgŚŇ«'ÖamnÚ]h/ő`íä&lśě@m¤­}8ôĽýШÁúńM<°*ĆH8qą‘)&k j�­Qc`ś™€Z˝ŠB$čj*M#u{°qfĆ÷ŤÚf#‡ ‘Ä1LÉÜCKpâľ3°yIžXˇ0=S·`Ěô‹óĽë!,=¶§ď1ç–۰µĐiŮ®múÉl‹ÚjtO fŻžęX…ÂŽ ‰dăĚ&ťoNŐ‰¤®űkÓTZ şëçV›ËD*1ôęŘÇ‚Ęt'iŇ…”úRéTvs†rS|žü>,ŠdĽĽ>ť§7ČÉ‘öµŰ![Ôß)´‚¦×Ę^s¤e agsŁ C“GPáĽÓ±çY¨|‡2Řiě–± <˙b]ĹnĂV§Ľą:Ą˘tâŠÔŻřb#JtHků7{ŚŹŚÓ.ŰŢž)s¬ÍŘű„ÝD„Îo‰4ÁßUÔfT%Ý~2µĐŇ{)Ľ‡až.řŢ®žŚ˝žu}”E/z—ńťR}ęźhR‹ CŮ1ĆÇ9ł2ü yóŻóĆ)ʧ66¶ŕźţéźÉ ĂĄ—^JFl˙j?uŔc5ÎÇH|ě)7 ×ŢâÚľň6ßć­×w ˛ Ź2lµ·ŕCźýüçwżź8–"ŕ«s+ď*<ÁbWˇŤ‘â.řć7żAńĹhgżŞ¤Xđ 8t˝Bé$LAĹŔ%E††FwWK *CHJ‚Ä"ŚXÝIŘ Mç•PÂXçĂn¶<…—ŕcyÄ n«Ô.­K<EdIý ɱ<7F˛exn{ËçaŹ 6»’á^T®°žÜ �K\?7˙ĽI“…NűÁĆMŇŮgq9¬ütó’‚žRir‡$Śŕov÷D•ţĘöAWnŰw�1ń˘V«Ça@ř8§×*ÖDzňČk˙< łppËŃž¸Cdyež}ŰsD{zxxx\XXX‚ż|Ď_AĂ(^Ń-"şpÇEëţý—Đ‘ç<ç9F9[۶0…;µżôĄŰá«_ů <x]vyęü®®yž‹vÖiëĎĽ´L•É"IŤëś/~ńvřňwŔHk®żţĆh—xxx\ Đ ăµévP¦Ř±§"Cf$żTĚI{÷ŽŔhSA=čŇ=*l¬mQřŹŽt©ŞS¶ŞĆ@·N®,“‡ä¸h2 ő€-änĽö<Y'ŁěŇ–äŔö[¶áĘőoll—r‚ůvíwI(ĎÖ7s÷05=Źłř§b’žą{î ŽAuÄČZć–6O¶©Ru$'ĚTaâŕ(ŚŚiŘwĂÔGęfnëAÍśŰ{ݨ¶X»y ®xŃAc¬@˝UŤĺMX:ľJ–ptË\­TÉţ<>9zł|ř1ÝŰ‚Kźk’ ›}3,Ů€3ß^†ąűa}˝óÇ—aĺä:ś¸kş›�c{Z0}ÝLζ >@}ĽűoŘ íĺ6,>¶Gď< ׼ę ěąj ¨Ö«¶¤˝Ů¦ż¨X=y˙iSďąčLݶć6A/~7ŮÎFŞşid#S™‡P©* ĺ ĄFr<=¦PGsbb ‘÷C-沨pw·ľx>‘<Ă´‰řµČ<ą¤ĺ/CŔĺÂ#ĘŐ –ľěĽ«'qŻuĎÇĆhŤ;«:ôü8<NP)7ę˘^¦Qǰ=Ń‹3 Ř0‹dj+ÇŇżdCÇşyĹ/ő`Ą€J­ŇyEĺŞ, ?ݞq{…Öp÷­Ž.éS˛/äĺ‘őLÁç}Iľ>Â5`°®ÇMkugé|â>Úľ$ÇWÜÝ|Ő•—ŔÓź~­é'˝t莌1#˝¦Í¶ŤJU)ŃĽéLşň'¶««˙liÜGĂüÇeŔ;ˇ´=çY¸_ü|ůÝłWó\źšFu9âkCĺčÖĐY±^ŽżóXŔăt2Ä+Ůs óe}®‡‡G|·.żü xó›ßdôăcç h_ąě˛099A=ü&ľ§ä†]Üä„6 *$—ÔĹëTţí^‡öľ#Č\ź÷›ëġKdžyu(_—gÇłöĹJ}ëľd1BC{>řéOŔűë?‡Çޱ ¬ ő#xĘŔ,vHЏóÎŻ’ Ś÷ÄFřDcQ&¸”ÔŢéÄ=z­’«GFm“/¬1?&c@b,ćP‰A;t” öxžÇ(r…$@ü=ËćV"]×!OhÓ™Ľ’vL+Mř{ĘH/ҸäyŽŰ…Ë’÷›¦‚•,r‚ăűă Ĺ%gČ|ĺDd2ý wâ•÷—®R˙˙ěý-ŮU ŻŞ“:÷ÍqÂť¤ŃHšQ3”…dř„%lŚŰ˛ń˙<¶áłŤů –üČ&FF„rB9Ś4ŠŁ™ŃäŃät󽝻OŞúö»v­ŞUűÔIîíîŮď}Îís*ěT»öŢk­wŻ•M¤QN€„âDO–É]i™đ<pŹnc(/KĄrRď2çaËĄ±@­G(:+ĽŰ" ÂÄ"ékqn!RôÜÜE…~Ćë7-”Ű+ćinvŽĆĆ'Ěř©4śrČĂĂĂcă!.ă/˝ä2Ž a1&żň•ŻŇ—ľřeşú×PyĽB«ż‚ä_ft„¤u‹5rB[ŞLěĎş—5O–ŽMľÇ˛ĆHę9UĄ‡‡ÇyFşĆ[˙5—uŰŹÝĄ!MŽ—éŔľqÚ1iÖ¤q W U,"v}łÁ»]Ů(erW‚"ĂT¸ŠµîĺŤőr<5®HxJŽČdø«Â-K˛ť""Pv–Ň^ecgÔ¶2RÁ˘<\ďBnh±JLcQ#¦•3 *Ż4˛ŁL‡ŻÝM‡ž¶ź*S!•Şő4aî-Ź–iin™Nţđ U§Ş4t‰v_1MÓG¦(¨Ôn´)n—©bŚŰµ±*˛Í:5Ú+4wl‘Vć[ôŘwOŇĂ7ś Éý#d¤…w 3/Îź^˘Ł·ś¤hĹT®ŃčŽMďź É]#T›¨ĐŽ;¨j®+Ť„´´˛zZY¤É‹¦Lúó”Cš84Árx{ąE­ş1Ę›­F‹fž§‡n8FŤÓŤď«Ńň©ťyl†Ž{†ëTŠk´Ť| ŻŽŐCś´Ű-ëY:iřXú™é“É«!ˇ'ě-1™ďR Oő›¸ í°+Ö:5kOÂĹzĘ.ÄhÝŠ°9 Éˇě&źI/Ŕ“Ęhµ”Tx¸2 yJŢË@<ZÄŞ­˘H.ënäęr|°±¨?bço†Ó; ţ§[lśčťVç[RLÜ°× B’ë¸[Ţç,5WďĚGDB„ŕô(;vN˛ëů0(ňZ˛m^4@l-wölšMŁ[b}Ű ·Ú>޶oađtČB±›KçI$úŘ(ÍÓŐOČ\P&@Q7t’5´>X—Wyŕ¨C/–ę7p¬ôđŘĘ@|Î0Žżđ…/ Źí ŚĂŘX ˝śu5Š­úŕÚ“äl*Hé[&ńvĄËÓť`[ś†ľ^Ű$í˘zz<IáSFĎň©Ż}‰ţ˙ř3ş˙ᇒđ”!YŐl˛IÝ,<–‡zvíÚ•ĆcŇžxP íΉۙ;źKĚ:…ÄޡCj€MŤĐA^Śă˙Ő`h m6ëűJ©ŕ˘”5AŢKśC]¬ëŁĚŁ…xí¤)ü4ˇˇŰ�ě’tŮşAb2ćŘâAç® Q$ ąĄř Ë"Q§—•ŮĘJPÂH8]ż4Ô‰RxŠG—Ä‘{vÎ$ç*c‹Ľf :u†f Ó>ç–WÚG5ě~˛d=°č_QĄJ(´Ž[fĺ(+4IEÚ,PýÓ u?•6ŇdMfY+ô¨Ó§OÓěÜ<---ŃÎť»č5Ży MOOű҇ǦĹää‡Ůąs'ŹaßűŢ÷hyy9ťO~řĂŇÇ?ţq:zô(Źg/|á éşë®ăťq�ÎęSź˘‡~×)Ď}îó8ţ©;Îbľ˙‹żř şýöŰ9ľé?ř˙€Óüđ‡?LŹ=ö=őĘ+idt”nąĺzŃ‹^ÄăçźüÉźpúozÓ›č†nŕř™żř‹żČk˘/|á tß}÷ń|oŻ{ÝëŘĂŃńăÇéw~çwč)Oy ýÂ/üűä'?I_úŇéÇüMôěg?›~ű·›Ë÷Îwţ}čCËÄ8”éŐŻ~5{ó�ľő­oŇ—żüen‹ç?˙ůI{dőńŁş‡ÇVÄęŢ܉cČß7IűöŽč2µ›+ÔZ®Óś;šĆ. HÂ%öLk1x5DŠő�}R—楄čn?k*RBŢ`١řľ˛¤%M[ÂIjôqÖÄ…Füä:xoŁ™ą%&µÁČ5q¸B‡ŻÝaŇ čĐs¦h˙izď$“Fd â]ÇD'î:Mőą&UĆ«ôČwź r•ýŕÓňlĘ•ąĺ1jĚ4©±ŃéűćińäŤíˇ±˝#´ă˘1z즣&ä˘kÓÎ#ŁŽM¦=G":đ´=tú‡łôđ·ź ÝOŃŽCTą˘b”—#4ZŁVŘŕú7ZőT¶9¶˛Đ¤»>ń�U'+´2łDQłÍ!Aš-„:Yˇ™›Vhţńe:ýµ‡(¬‚ bŇYiŇĘ|ťJń•š1‚Á+%ĽW ˝ŤL[y§D¶˙… ™†˙A>ă_x­`™ŞmÍy1Ą„H»)ĂdC®"D4ńE[|BŮ˝Ý"–iőfâAqPFámĆâM/mJy©ö!Pď—ŐŽ3ĎBn ( ˛ů±‘ä—ó"˝Šlęfé$rt’=HůŤ(z¶v3JlĘ妦ĆimţVCÜŮ4AD‹ őˇ[c¦ u§IÇ]ć1>]řÜ-É"Wś>zˇ•"3´zéň:őŹJo–Ě2€¤ç¶Ůűčááá±Ő�ý6šÂĆ í,îxď®)ňzł±kT¤·–ŔşD‡o ĽăA®Óײgţr…·ť<Éá<ţfŁAźýĆWé÷Ţ˙?éˇÇĺěě• äaco J‡€Ű đ‹ Ăqšź_4‚R•ŤVb¬¶;)Ó]ü,LG9»ŁóDzďň×Ćl´qe—SŢ#±ˇ\ Ţ \/Öť8ö.Ć3Ż–ü‘…‰ČĘçj=9¸†qwׄ‡"˝iÉÇ _!ĆyÉWň[·ĄľĎÍS{¬Đ×H™…4#éş%Š&ÇX=˛ăA&�v©§[.IŻ„$á’Nt\á-«CČ!@$Ö—nkÔLҰaŘRëţÜüĆPÖ‚]ßîX`čç&ůk"Śë•dX¸w.'¤Šůůy6ÂáÝ„ńUŻz5=ëYϢݻw÷ô¸âáááqľw'Ož¤'NĐM7ÝıkŻ˝–°|ţíżý·|Ýĺ—_ÎD;î¸Ç»7Ľá ü$Gy„Ďß{ď˝L 8zô ú±ű±\> i|îsźă1däóßţŰ3iÜÉî.gggÓĎĄ—^ĘóňżóÎ;éĚ™3<`Láâ}ď{çÂĆ_”¤‹ţĎ˙9×ç®»îb÷‡˛FAýîľűzŮËfȇ4éŹţč9Ô ya™ă[ßú“AyäQşä’#ô‘Ź|$!„zĄŁ‡Ç“cś:Ľoś.˝`‚FĘMŞ/ݱďť™ťcO�+™p!€Y;bsď"'!ąăH›Î=ÄJ©ßmk0grt÷2­ëŐ¬eĹź¤»dŘŐ ňNMMŇěܲ¤ČG÷^5M•‰1ÚyÉ$UĆʶ~ŇL6ź §éř]§iáě2! -şű“ŹĐě#K´|şNaÍzĽ(ă6ľ°0ľłJS‡@°¨Ň®ËvĐÎ˧i˙Ő{čŕÓvSmĽDÍĺŤOOPÔj|Z:˝Bˇ‘qćźXa2_´˛Lź>JQŘbŻ"çA››Łú3ß|s†ćhd†Ą}ă;hńä2÷™¸m m澺5ząĆ°1š¦–yv-âC#WČzPaň}ĹôĂ˝Z¤í$ž+ŹRť´ !H±˝$°,ˇ”(ăŃzĆWęő:µš{'é„k­Uł0˛a˝Ż›"čÍ,˛g=N˝čÍ8çâ! ‰$é“CA§…1¸w]1 ô»&;żşűşývˇu#™Í]ąÜ.(t…fś<—Řú! HżŹXgłŞ ›Ă†2G]6ˇżwá9u\ ľ×<ÜkÓ‘Ë.&’Paç‹ęááááQ Č ĐeaچÎĚÝÜkŤQ4ż -Io-e’ŤÁ: »žoşAě\r˝lşumZY>ÝůŔ}ôűýôŔcŹŘţlÖ¶ĄrÉn"'F-Ě1ëťy{Ŕ,6čD\p0¸Šw mÄÖäíý€ŤÚ6˙a>Îď]Cľű]˙u˝gh˝t3r„v?¤ Üš8!“… ҢQ^ŕ®1_—ŁŮÝ Ň^.ABâ4jb;Qą"K¤aX~˵R6M˛ H ’·´‹Í’ßÉ@L:p«Ú­ŚŃ%{˝‰AˇBFß§ÓAľ2aÂ`Ąź!žłuťÚJŹŘ ]©ÔÔł;ÚĘ…´ł[ńňˇű ň“ç9Ś{bíVÄ$$0IOť:ĹĘRě|Fźýěçň®îv01ý˘ÁĂĂcłâÖ[@żökż–ÎUđ/Ç@†ř•_ůönxźßüć7é=ďyÝsĎ=ěe„‰űďżźŢö¶·ŃŰßţv:{ö,ý‡˙đ€133“ŽŃ7Ţx#/0VţĆoüíŰ·ŹÉ7ß|3{šx×»ŢĹBßźýٟїľôĄiĺxÎsžCżüËżĚä‰Ď|ć3ôü€~üÇś~ę§~Š żů›żI÷wG?ń?ѡPL j‚”ąĺ~ć3źI_ýęW™ěńŔpąA°�i$xÚŔ˙OţÉ?) =ÎĂc{áĐžqşú©{hj,¦ąŮYZ\:M'ÎĚŇJ}™Ťňí‚Xď%öJ�M@„bżaĽĎG<óLF°ăźőv@1B`÷ŇRĎ»;e.%^vŇĆ˝ĎHX›—réö’›22Bź°µ1ňëÜ#u:}Ď]ů¦ÝT)ÓÜĚ<‡›l®4éńďź ĹăuZ:U§Ço>AKgš%LmŞJ».ť˘Ë^s!=üµÇčĝ˴÷i;hbŻI»ÓřEăTť*ÓÎ}4=5N%SÎVŃ‘ ęţ25ĚP3ÇË s ŘÍŔĆwUŮ-˙ěăKěĄcĺä‡ţŔ3_:Q§S÷śacűüu:ó­jζL_iŰ>d’1gî0Ü·Ú «P ŮáĆĐ÷‚(!PP;y V$Ćkó±Ţí#ŢL§ ÎRBŔ±¤€8µJŽř}Ę')Âäşa˝QśďçŕőK7!ç[_©'¤Ěţŕ]…•Rj >ăd7Ma vc%!ކIX@˙{dMFÎ1-ˇąk‹Ň´>ś„msňȧw~®=ÇČ.×ë:é5lÎuÔ±ŃD'owŔŽmZ[g`l®5p¬§żÔŤô™3svţŁÁ FđÔ o4‰/źÎ€2,ČŃŁĘů˘{Üëäw/CZ/˛Ĺ $ÉŚt§Ź{™ĆĂĂĂc3�ämŚŰĐ­Á¦Í p‰ur^ć\7>>>tXnŔše›N/QCo®Öä AŻyÎăÉéQ ‹‹ô•›ľM7˙đ.ŞÁ2=>ěRŮ!±I{óČ×O°Ř@`ąâŠ+x·¦î@$„ţ®Ż ©“X!†qţ„ >;R&+dˇ<:•”Âśp'÷ć˝3iˇ”#…ds>´„()äI+Cžlâ˘>;H4@+uÝxSŞŁ$!ĎĆťätx9ŹşI{JűMRB(ű\ĺ§F?áL“G¤|˝ ‰E}N—Eř«Ű őŹ&8†‰ytt,éW"‘t*"´w‘”ěBaÇs‘ç†ü‘źô-—83Č" ¨ VŚ’+„XĄ) …?ó3?C]t‘_xxxl9ŔóÄ›ßü&żýíosX xŚřő_˙ušŕ±á8Ţ˙ţ÷ÓŁŹ>ĘcĆrŚđ 1řĹ/~1_·˙~zď{ßËéâĆD¤őůĎžŹýęŻţ*>|ďGHäyńĹóc,<W€ÄˇçK\ 2<j€L°"pq1wjjŠ? ¶=ńÄt÷Ýw3a#Ż.Vř#ý§?ýéLěŘ»wo¶ 4@Đz!/|†¤Źí ĘźqéÚ[¦ĺůctô‘Q< !¨ÇéNó2»‡ÂîÄSůÁ˙`L?/ľŔ†Ť°†ˇËkËTˇv«ÄĆů®·ýwҦ˛�őF”¬Ý[ńŮýŰ e3GLMM$!W6µ—#:úť3T®´r¶E3Ź/ŇŇăËÔŞ·¨4JT7ĘHc°L%w_^ăpË3+tŃËöŇÎKĆilÇşćWĐčÔ(Uâ*“ć—hea…*ć™UËUŁŘ0ĘĂ`‘ö_˝›fžĄÇn=N_wĐş m-S٤żr*˘ł÷,˛íúčŽÓ©;+Ô:Ő¦G?gä„G—¨~¬›—oVŃ' ›—C*–Lµ[¦ě脉’ätö"[ĎQśäeĂ9Ú¶¶„ ë /×F‰ç„DDaŚIÔAşĐQgđ·ÝăZ…ľ V!OőRλC»—!ł›q„*Š@Vi™őC˝JĆq2H/ŁŁĄ´”ˇč!Cq÷˛”÷Ř żEý/¦AŤ§ną{Őż×=®n$+R‡k�{gA^E=Dá~¨ ϬLťédĺęe°îv?Q\ŘVîýA0ÉÂ^—Ýç¦C©÷mČĎŽ[dî“72ZĚćÔ}¸Žhqqađ»™”a7ézńŃýšźAŻĆĺgTJŠÔą1¨/ńÂ%éW^•§WzÝňđz+ŹţŘ>+Ź­‘Ç m~đqm ß%,!tsĐsi2Ć kAĘ% ńHž·ĺuB6 Š-ŞhMéç$÷Ó5=~”>ř…O±> dŢp¤LĄŞ±7r_*ń¦ljĂ€˘m4]y‚Ĺ ˝ŃaŇ ră]Vdُ@y’Db Ľ\`GVhŻ/ DBŇČČiZA§7 Ŕô-őťH{Ön6†)ý\ĽU(Ů{ú ôrŹ&5¸^6䯰ţ„X!„Měűuy5Ał ĄŢ’żľ§¨|®‡ )—Kp Őî®· üµu±¤^$ ݆Y~qŞ€“řY: ܇°Y{–ŘP…‰>ďE"H:O]^©<ń~ˇŰ@ňŐqĘ„””„{LŢú^ů€HcâĚŚůăvQĂř†zŔă ‡‡‡ÇVB3< ^*Ž?ÎD #ŕŮá÷˙÷é’K.ˇëŻżž B–yXI\ďbĽ…wĚ)Bđ”5 ĆŃO~ň“ěŤâСCLĆÔs‘)zóL\JüGM,µ,JóĹ5'eŘ»F„‘9aeH÷›ÝÇ€#űĚzł˝H÷Ţ{´ă\j(6ÔÇŮAmwG‘ě.ÎŚžÖÓůŮ@ťąý6«t¶˝‡(gĆß:ŐJ¤ô6TęăyEY@”ŔŽĎp±ž'É÷3: J Á‚S ’z™v>uß-ÍŐ©\52g5˘=—OŃôĄ“Tť.QĹ(_&/ś ‘ÝF©X-Óâ1sí™ÚeÎCű2ş§JíFDÍ•ş1žµ¨2ŇÜOÄÔ\lSc¬I+¦ťęí:‡ďxčË'éô]gQUjSZ:ąB˧›túŽyšl™j*T1Iżč×СKöŃĚăóôŤ÷ÝBŹ›)®T ž ´18H¬z™ ŰqYRD»). q˝ÝÁ&ľČí„L;B&ů¤‘&řňźE(Äţ8¶ÄŠĐJţš ÁĎ´ űr “˘ćL˘U·k5Â8»n8*Uć˘B śŢę^VÖ}¶nÁcŤ©HŁŽ0.¦Ż�#XşŢ[bÖ×Bćń2ŠŁ”ͶW$î�6ôÁąŘ°żÖ{kßîyu†ýČ.íĽ§łý\‚ľ¶řxţŢÜNšşL ´Ľ‹.¨°jJĄ'«ŠÖmxmҰ`zbA»ú.đ3ĺa%¶¤¨żĘ=_4®ęŰC‡S”~·<ű•ĹĂĂĂĂăüBŻĆĆĆŘ–˝>Bn±\H ĐĂáŁ=ŤŻw™ôf(!ZtËG“*´žM×­[>˝Î{lo ´Űçľů5şďńGXÇ[3vÄéq*Ő*Ľ®jcwÓČĹŤ¦ŤÖŕ � ÜúQy˝0HZÚ ‘Aâ~0Ů•‘zgŔ IpYš šęš”\„Ö3!LN‰Ż±ŢěĹ8ÇéKXa‘‘7DC$Ěňڵ$ që=Ăć“yF…_ŃŘ,ˇ*l2Q_S7ŔŽĐ˘=RH[fyE$;䜡„ś!†$!hŕ{>J6™¸á`t9ŠŔíDy/ÝžĄőŇż/dy۲‰×‰r9H'p­0ĺÝj‰ńË*řlÜ/ ڶžYÚ6ďü. —h‘ĹË“n(WA!“·&ľHű÷‚<›ŁxĹniě^„a ß1Č·Zí\ÁhŹ­1ľ---rh „jşďţűhfć,»ĆX}ó-7ó¸ýÚ׾–^đ‚°w %�¬KŽ9BwŢy}ösźĄ±ń1:}ę4ýŹ˙ń?čiO»ŠŢň–·đ|X­Vč§ú§9íŻ~ĺ«ô˙ó÷qÉ%—ňxŚĽo˝őVΡG–—‘!Đ$ÍóĽřâ‹x ľóÎ;™đ±ů±ÇăsW]u—Â'Ľ ˇĽ w<ôĐC)y˝51NŕÝ_řâhzzŠĂłÝ~űmé‰ĂĂĂc{`ey‘‚f7·ţÖB¬ ýb|ŽŁ0% óTßłÎCÄŔc{ŘËaJoĂď2Ő¨;ĂB+ż†)WŽä-;ĐŁ8 ŇnG}ďsQ1ëý˝»v[ď ”Ĺ‹źĽ°BĽt'Q3¦˝WNŃO?LűÇŮ(]+ĽËž%@’8u÷Y*×Ę´2× ă?8IűŻŮÇ<Şă5jÍ´©9o4ułöo†těÎłt48MKó+¬¨™?¶Lá$M_8JŤŮ&UŞ%ÚyąÉďĹă´˙iKtňghĄądĘA´˙’Ý´gďn*ÇUŰ?jJ?Ó­…ťżÜ}mßhKU¬1ź¸Mŕ )‘.Đ>%>–µ±HoF6ŽsĽéöX\Hlŕ<q´íśť.8HŹÄáKG:|,Ńä®Čđ×ů.¸ĘŘáćčŐ+rsďLL9Ĺ÷ ąŽÔ¬.$vŇě§ü :­î±Č»‰—Ř%lĄő‹”5ęqn°ç&.„;ŤĐůëŠŰżż§ŠAŃ«ov;ĹďrÁÉĆOA¤ŻSŁQ7ú’­ľ„[j.JŹs 6,Vßg¦‰6IH0ůÎBŠ8\ŚWq2Páŕ÷ŠěÓ+ż(H^{5ć<Úw’,˛4;Ź;9‡‡Eŕ‰8çEd66›O/¬×ZĄW™ä»l¶]o JĆŹSaÂŁ%Y7kÂzŁA+ć/Ân,!äL«Évµ±‘Qš0zÔ‘jŤŞ•*ŐŚî!7€óŇŞÉ2ěń“Çčźý•Ke5z扝ÓTŰ1ÎŢ[F_Ó0:ă¸Ý`9•×Çm"Äc�`PÁS1\˱µ˘Ż ĐyCţ\h„uK=™CZˇlî1÷» őĄqv,< MÂ$ rž,Ń )h׼)™Ę=j/ž ě÷(Š;v`Ů E©Ts ŃŚ” =Qč˛Ęłµßń·ść…¤˝/Në¤Iú·ýž1µ‡ ą&ď]$L$QzN“ô1”G‡ř‹IÝî`.§yé€ëjµŃ4vX–oň\â UÂŽž.n­"!ŰńÇůöŐí ]Ź©�ŞÂŻč{uz …,-[b>p/ńÎŕµBvC‹›.Ľ—p-ďááá±ő�KKD÷Ý/˝ű=żÇG0Ţa|{ők^E»vď ç<ç™tď=÷ҧ?ýi&4 t†˙ôęWż’Žź8JßúÖŤtď˝w3 ěú§^u%MNM0á÷íßCĎzö5ôÄŹŃżřyzÚÓžJ/Ů+Ř+ĆÍ7ßĚ^2@j@úµZŐŚŘ˝uDĄr@ĺJČÇŞĆHvÍ5Wó} eÜwß}ś'ĘBB”€ ńň—żśnĽńFúŁ?ú#şđ ™ŇOeă([Ž"şţ%×ŃŁŹ=L7Ýô]zôч™ ¸˙Ŕ>öΑlc÷ęGŹM^­®ňĺ\hThĽl Ł”ąRµËUk„¶†jk¸°­ŚřkG„ ü)Ż|«Řšż-ąBŠÂž dĹŤťĽýazÝ>ĚŘŔfź‘®áúÁäŹuô¸QtËŁȱkĘ(SĚS‰ˇdŇžľ¸F‡źż—VćëtŃłA«ą˘Fĺ^:Ú–ĐhŇâ©%:~Ű U&Ę´<[§łžĄ™‡42fÖň;j4űÄ­Ě5ŮJµ|˛Îź±5š¸pŚ¦ŹŚÓE× ?ˇĂ/ŢM_wI*%#‹íŘż“Šč)/˝nůÜtüŰłڞEF>©ÓÔISŇŁÝZ¶Ëń8é+݉ŕvC4pĚ®QCe7Gďc;^,V7¤ĚĎĚHČ2_Ůk4ą\Ń"ĎxĆqF’`^–ÜŞ!ÄŚ"ďö=^ŁQgăŔZ•Đ<FYYYf™Äüé鉞z›Ĺ•9šžçgé’,úCĆ›„�–¶™[Ź˘Nľ­N©†}ŽëYžN}L·sbĚ ľ;äóŇ:ŠÁ ń�ůćÓKĂHYXOcíĽmv^îGHŢ—ĐŇâJŞűëH/GL/ľL§`çF˘ËS ÜŃ®Ý<G$dcfv¨đŢüĽ‘Űoµ±Íý®Ű JűQg™Â>,ŠĽ„ód‡ô-ńجC čóçĂľs›ýt,év>?FĄµ•Ń—Jś\°d䏣'OĐ™ąc×Zˇ…ĺE>vjö,ťž9K'Îś¦‡Śnó‰ăÇivažĆŤŢöđtä‚‹hßÎ]´sjšvMNÓóŃb¤6BŁFşcrŠöîŘE“ă}7,sqDĆŁU ¶~ü+ź§GŽ=Nă;¦hrßNÚup•Fʆ±ľ´B­ĆŠőěŘ‚^ŁÜ7$ĺV‚'Xl 0PŔ`QNÜbo´ ĽŃ(ŞCŃ�«_\ű=Ę ˇ"X”“Eź&t#rąÁ˝&˙—sé¸o;‡łt®‚®ň€a>#U„ĘŔß©�Ö ů.^-„8 Ţ&l=my\ÁÝuÁ+ůçŘîˇMşíú±×Lú¨TĘ É"LĂ6b�·˛ŘĘH:ńVÝVnú©§˛őČ<j„ĽËŤëâ¸T-$ݰ)R_MśčňE·>Pü" Čé33ěF;ĺđ Ąlâ…ő’Éôô4yxxxl5ŔłĂ›Ţô&ţ.ă"ƶÇÓ _řBöńÚ׾ÎĚŻ5züńÇŮCČ đp"X—8¸źŢůÎwŇ÷ľ÷=-/3ňěg?›ÇO„Ů˝{7<hîGŽ0 âöŰogňHoűŰůĆY¤ýŕr: Y`Ě•°$űöíKËŤëŢńŽwĐUW=•Ž=ĆkŁË.»ŚËŚz Ü?őS?Ĺő€"„qÂqxǸä’Křüë_˙ú”tz#ýż÷÷ţ]~Ĺe<ÎĂ3ĘćÔ eĽ˙ţű9 Źí‡(!ikĽ"1XÇÖc@ć€Ŕş·kOK¸°ci“=וu.ĺ?-ű¸ařşˇ› Ć{Ú«ŘYR®”hjzĽăřň‰&íöŮĹqWĎ›1ʢú™&­Ě,RP*ÓŮçéÄť3tüöłT3Fďł-ŮSĄÖ|D|ă ŠšŤ^0J呍í­ŃľçLSąŇŽCS4>=JcűF(¬š9çÚ=třy{ŤRÇČc5öťáK+uuUˇµĚü0sbޱrG©jdľÓv+ë÷ĚlŹdG5‡ôąOÂ{EělŹ“M©«ěď™ć)`Â…l`Ű|d‰CVšŤŮ;‹b–UDqšF’Ü:ę0ud” «lJ˛ŕźC*M7ň]éý.„Ô†Öôë!3q™ÜŁř sŹŇôŽŐČ’1uhÄŘž>  2}Ĺĺ/2ÔvÍ}Č6Ţ4ŐťÉß¬Ţy}Mľoą4ňĆđβĺű§ľ·WĹćşÎżůg†T¬‡ŃRÂłÚ^F;ĹéŻ|·É÷ĚÇ+Ëu&Y ťO O·J!Űt-ů¦¸?t#"Ú;łŤEq—@î;ô rtęÖT‡ RšOzMPG/’‘Ç“v ˛Ľ ™_Ž ł<<<<ÜńbPŇ~7čë _bÍ-6ľí†ľ˛9 Ď÷=ňÝřďÓ7o˝‰9úÍĚÍŇ©™3F‡™xç´ěŃäŹM«>פ3ółtë˝w±Ě&6*TŤíoŇč~Ç&&hjb’ďÝO—]pÚ€ď;@—ş€żOŚŤ§Ik¬ĺ)`ŐőıŁô×÷ ŞŚŹĐäţť´çČ!šŢż‡Cť.Ď-PłŢ´žá5߬ÓÚŘHŇň,<„ěšCůV….{ŻzGýî^źąÝD¸–%‚ Ő¸ĆtţZb€„%Ń„Śôo@éŽ5N7,ö˛ˇCŘPVhĂRz\\ët«ŁҢ1@+6´ŔT*DŇŃuŐőŃpËŻďu‰+ú Đ˙$¦—([%T†Gp >č-ËŮÖMĎn«p’6 yןݵl‰V©—�ÝţŁC®H;Ąd Ű!8 =‰P`c\…d |`›1F?„A Ć4alŁ^B‘ď� qx/=<<<¶öěŮá:zăëë^÷şWÄtńĹóÇć‚WĽâąc/~ń‹ů`7Ů—żüeö8đ裏rž_|„ÇV!€¸�)ă oxcá9Śő‡˘·˝ímąă/}éKÓď?˙ó?ź;wŃEŃ?ţÇ˙8g¬�É ĄÓđđđŘ^hG2H$ëbY:ĆÖŻ@—”aÚőŐk¨™hµ82ź&=Ë_ר—"蝎xâăż-+·eËńţ†\¦wLtź{t™»ĺ8Ľ|ýţió{Áĺ j.¶©ąÔdďsG—hńńŰUeעXó_ůă‡iďSvÓČî&ŽÓřŢIŞŤUidWĹÜÓ˘V˝M»öí˘ń‘q٬AŚă:ąî5›4űđşŕ9{ŮÓ@«a ô U ­%˘ăŹś¤˝{NR}ĄAKó‹LęXO‚ËKě% ‚ýŔĘĄ Ę ČĚ˙a™´ÍÇěVލͦÂ8ë˘xËHlĎAşŢîŢŽĺÜ# !ź?ÓËŠĂ<.um:Ny<˘’‘™`÷Wöá}Ŕ±˘waŐŠâ ŮX@:ħüÍ“ zˇp!EÜëúĄ3H^kĂęÚŞ“$QtM’C7ÝvZô¸çu:Ďކ„aŰ"îĐaÜEľT7FkmßőĂşfă8«Uúř‘ňę1ot<##Ł4l–(g«u!fĎ9[1ôH+ą&NÉnťúľ~„ WWtMŃy} çčrĹăîů…=6DÇ:gŚYŘś čĄoöđđđ(B/O®Üéžďu/Ë`f˝ŤÍ±bS{R ™öď}řúη2ąâ®ďŁŰ~xÍĚĎĺéŐA¦Ó°vÎĚ[^,¤‹@¶>ŰçĐ2Wś]^¤™ú=~ň8§ýůoťmavíˇ§\| ]tč:°g/]vř"şŇüńňL–q÷˘÷š=pî“_ú=xę(í˝ř í?rö_qUĆFhev‘šËu–ńÜał‹±ˇ;„KO°đčđXŘŔĽ• ˘›ş“ŐťxpHvG)tz.ÉŔ%adé ?@ňL¸Ě°>.¶|}\{‰p=kdÄ {ű"!K“+� "âŐ˘SŮ™1řµ‹Ľw(W_}ŤÄÎĘ<d!T¤>Ö‹†Ěđ4ôKëݢ’(amYl9böřˇËˇźťKŘ}°Ş‹üÖĺÔŤnBeŽ”Ç©× Ľ‹KË)±BĽUŔ5>ÚBA}„4bCˇdáQ¤˝"Ä Ăă*Ć×üŕtÓM7ńś‚ąđ ox=ăĎHC‘¸Hě@ëŠ&BÁg„<aí!XŰPElĽLţjײđ‚­Eď˘Ýş#––› Ŕ•XöHVÖć±Đü§¦Ć;líSDŹá ťůŢ--.QÔ4ëó*ŃÔá1ŞŚThÚüÝűôÝT ©:a䓱ćŹĎŃţkvÓČx•.záÚqdÚ<ʲů]ăť03'Î2y‚=ó™OPN„»v@ŹÜp‚OŐůQ6ëTźoRă1˘ŮGiţŘ"µfczđËǨy&˘…ŁËôŕ—ŽQ{)îC‹ŚÓi%$ôD EK•‡ăÄ‚Ű/IMžaBźHĺŔXRµç#Őß)!qź^Ey•łŚzZ :ż4˙@QQ\ íAÔÇšź~ŞD´±ČĂéx$ÍÔtŰ™¶ cω›M )ČŻČX;,†5 o$ąbÝŚůC¦•×Gőż.ŻŰ ˇĆ ;÷Ä ďĎľă§Oź¦f«‘m6‡®˘“¨ł¶réf•0ÂZ6=kćžŮ™9ŁŻŞ˛~) 7ľ ť†ěŚłcr “o"˛ňÚ$jö'ŰH(2ÉAçfĎK^ŞÔ…dAŞże7uöŽx3ŚĆç Z_Ť6BŔ%růzŽ©O^­ş]×m1dLlĹ%›`·ŰřäÖgÁŘŻ>ňĺĎŇ-÷ÜEŹ{‚î~č~:uöLv˝s*Ż Ö)í ČÖ©Ě–Ů8í˛%Ó ˝?uśž8}‚âď›jŐÚł—.Řw€öěÜM8D×\ţTzîÓ®¦Ý;v:)._G}MžźýÖ Tť2˛üčŔĄŇîCűyMŰ_˘V"ŚśUoQ”lú–őďv'Xl0Đ™ášk~~ľďB|łŁWą]’ţ¦‚SÜq=O :ŢOLů ±ľ/ŮUŇUíaŢěf«ĄEÎHÜ\°ˇ=,qśyF#Te¶±k’„=bĶ„aâQŁÓDś[ŘŠ§IżÉB§#]˛GZ‡ ď™C”;A2’ƱŢa•D¸@®ŔäwńB@ëĄ×ä‰*ťä"Ö˝«TŇ÷ąäiO©S·‰YH$(ćĚ;tćĚ żK V· q+áž)„0˘ŰĹ%XŔMľ‡‡‡Ç¶FĎ-ť«_ČÖFŞôc?ţFzÎsžE‹Fy1óʡCizއ»lG‰X|~5Ř>‹rŹáŃŽB˛Ú©ůTv{D‰‘2ťÂbĐŽ­Ń›”Űo‡üŁhË-"ł0§$ĐDôÁ+dĹ­,DČĂ,Ć'FÓµwšnĄ( &#Úsńíşt'íątM"¬GŃČÔ(•Ť¬‚+óu:q˙)Ú÷ô=F1°m;<NQS% lhB3ĎŤLŹRcĄA3ÇćčäŮö€Q7÷>ń˝“tňöŠ›ťůţśQěDÔZ6rŃlĚĺ� /˙»&ťýĆ25[Ômq‘×H«ĚŤŠ~¦$tŁ\ů'Húl§;Ą#ÓiT›ŘîNŠÄ7…6BVTĎ5Ł]"AߢJO:;LȲe«Ýä~÷!X@W�Ď d‡<‚l€âź°Á©f¬Î#N×N›…ĆâÖ-îr.čso‘18Î]>HyÝFľÝ]ýÍ:*É%#ś<i”ß·Đ“Jtľ±ŠoWçd!ú.ű~ MććXćŕůy‚˘1ŐÖµ¶l ĘtmBĆ´(zł:t^IB)á%’16ęŘTĺÖ/­SÇ÷¸ŕ\ě|ďěŻiY‚ “D÷¤ł=şk/čIggçhďŢ=äááá±^f-ŐŤĽđóîn€Ţ–0MđđŃÇéţö/és7~•Žť:™Ęk˝Čđ=W_qÜAşĐäËPý¦Dîd˘*/±Ş·šô)ÓýO<J±‘ó'GÇhßÎ=t`ß>zę‘Ëč5/şž^đôgŃ“_T!{=&sîîǤÝ졽ě§vÓČÄŐOŰÝJťę‹FÖ6v˝vaAâdÓS‡-O°Ř``°ŔnůcÇŽŃVG/Ë5´kTęµa=ą1ůK{I§ôRâ¸pĎĄą+Ŕ„¤‡©v`Ż&%BV+<8X’…ÂÄęQNĽEhXEĆT×aAŠH ®G ń@!çĺ>! hAO<V�ę¤(>9^r)r…ý].Wirr:M3Ë‹RB†.źmĺNÂE®ĄăN·–rŻMP}ŤöÄ!ǤLEýD ÔíěŮł4ż°Č,GáBČ+ T  $Hö<Â\żÓí7őŰłXĹđ=11AO˝ę©4<¶ĎÚĂĂcs IüQű۬<ŔDŔU(˛&h5Äťîů(]Ç„č…óµ#§Ä*2°K îł»Ą)QÂ$FţD¦‚…–Sú#`7÷ ßÁ‹Ł�k÷C/ŘM{_0a,]řě˝4ąc'ŐJ5“i;‘Íuć{;^¤wÎĐřá1:ußšŘ3J;.š¦ńÝ#Ô\śĄĹc+ć–NŢ1Cgď[ Ą“ j.µ-y˘Ń¦ú‚ůŇ‚ŞŁMŤ“+LÂ1Ň@N7ÄŢďfŚ88ÓHJ­Boäš.3|ŻÜ˙x4ÖŠcp°‘5ú‘őµbýWP*‹ů5+C›Hy¸ l‹6Ů «+gj߲ŞůěÄPĽő\ý˛ÂŃe§GQÖnŇ>Ô¬­sţ˙ĹóNô—őAÜ9Ó}ÜĘ:Ev‰|’Zä\[t?®qCźäJ ®Ď®ÍôÔŁÜŤKÝ6wdçłrôŇmużđ˛HNn(Öz}…jŁÂt˘m­or7ÓX»őF…)xąľLł KTÁ‚†ć¬ĺ, žCÁ+yµę ńd‘%¤ÎčÉŠôkq:ţSÇĆ´4EđéÝלRlłţâ18´.Vëáńwd¤Ćk1˝éq[3=<<6şÍ ÍĎĎń_»é7żx«ˇhľčňŇ}řKźĄ˙ó…OŇ]ÜGÍzJŮź[ŰĆé=9 ’Ż˝!ý©ßV/’µoTÂE@ĺ°l®mÓRŁNś<ö}˙î;č ßţ:=磌égŢđfzÁŐϦAđČńٴܬÓôÄ(MŘCă;¦¸đÍ•­őÜĘâ5–ëÔj5YÖŠ[%ĹŰgńâ  ,d8@wÝumuEB„ţ®HM$(b°íp "ß¶"ЇůrƲ¸$˛±N‹Ó�9AívÓ7·‚VBČ{d�!¬\Î×ŰőÔ ˝*čÁW‡řĎryâBÖVpýĹĄ„ÇP ň; KfA=Áič!Ň>Q;k+.KdJ¸OâŔJ™\A¸›śÜQśkŰŽÖŁʢ˝sdmnËŤłłł, HłŮ¦3!Ůđ%eó©0©BĄR†H¨yNřŕÚ]»v‘‡‡‡‡Çö@?¨‡‡ÇöE‚Öú N'k|‰RjmbL żqh+:c´kf5D‰ŐÜłŢp‰Ü]xČěN˛Ž·ëćVâjݕӴ·şÎ2ÄĽO,X&06éť§ŮÝúčx•˘VĂČVFîüÜŚş‡ćgé‘ď§'n>Mµűfčô=ËĆH°@óŹ<Ę÷![ě~bc\ĂühďˇR”Şĺ…$aMűś‚I;-U–$@MôRČKqâ±"9ËîčDűf˝ŞŘgćČ Ö#†5PƉÇ7B„µ®˛Ë8Ř=aŹ~µUć^[N«/`p[ۦÄ�Úű^!úCIĽnrJúb©qv#!0şCNJÓĺÉĘç¶ĺI%\crç}]żŢ(._Żq˝?ábü’ź +;Ti;Bë©D'd7ETo`·ý"ë¶ŚČĚ ‹-Ú˝{7Ź-ÚjG©‹ô¸~Ľč>@é+%m‚8ŰŐAŘpt›®ŢO_çęC.iyYĆc^sÚ™3gY˙‰Ťyî&A×[˛‡‡‡ÇZáΡz®Ăśżh ígĎÎős5%Xlet#TB6ř_źřýá‡>@§fÎZ{ ^ÔŐď[Ńďnyçî)hËtí"×´ěş%66ż6‰c#2Y9˛c۬C?~ŚŽť>E_ľů;tý5ĎĄź~ă›éúg>Źzá¶殺Z¦1#ű·LBq5dbĹś™–f穾´lC„€Ě޵“,¶®ÇĐ"x‚Ĺ „#%•`«"˝Ęߍ8QD,pŹÉőn"îĐ á@Ű)`4@@Éń—ôo]÷tóÄ «,ËŽµŇô1ÉXR…u?jăNĆLz€V~µZăkÄ“î…@.BŞ&óŚŚŚňíÍAÚ&&ĺĺ;”Kq!1F·IQýŠ„RL.B0ˇ$, bn¶¸ěvaŹňĂSČPĆÎĚĚp}PG–DE–edŁťätǢ~•µy; đőđđđđ8·Ř¨µŹW<zxl]Dqś’rWŚí­€ŞT!Ö\ŔŰ™žÚ•,Ţ)r¶–T^ˇUËçQ —ž#4RA{5¬ś`Dů$ ËµÚHşć ‚v¶†ůDi0˘ oČé¶Î—Ź”ݵu7Ŕ¸ Ůeb,KKîť{|‘ćŹE´űâZ9]§ŮcgŤB&˘3÷/Đ©.P}ˇI'nśŁ•cÍ,l†ů,Q˝@ “°NěB%–śďV&ěLb@ăBÜožÉ§ĄFÓ8!xDöYě¶Â>ł¤~,±;‹ĚމL«úŻÝ…äČZ’EBŘ“Íď‰p˝hÁ¶Pr¶Îby?o0Íë(–Ťň2§ČÖýP22éčŘ5gó‹Ţ÷Şg)Ä‚¸x§}…÷ę|V»ü|Ś‹iá0źî`Ä o‡íżIiCtż´†EŃĆŁ˘c÷E˘łČĆ ôżryŚőŁ•LU;LyÓ¤ám5ÉÁü{vÜ8€Š?Öj¬Ţ) ˛MEĐUµ[™> z l–A¸×ĺeču ßiĐÉSgY÷ 5msÝäÔ$ë¬Ň \®Ńţ;é%/y …VÝFŢÁÜS˘F=îęÄ}o\2Ué˛0ŻXńź óČë6yçl™őŠÉÝĹŃv˛Tx ŮP¦őď˛é cÉÉ“§iĎž=466šd)Ń5{r…‡‡Çú"?‡RşĆÁf„|ÇśŹ łŘ(«í4öú­7‡ńŘ›|’1őô™3ôÇüKúóO~–í:!Ž]Ë$o¸kÇ^687éxśçóü#+Gv0Ó}ŘŤŐ6DÂn !Ż„zTlĘĐ”«µiÎ<«Oí‹ô©Ż|vMLŇŰ^óFúűo|3ąčâźu_úú ÂN7RĄŃŃQ&S,Í-0±kż••&µĆ.ŽŤ-UĎAYý[�ž`±Á@çťžž&Ź<ÁŔ%_¸ŘÎlm«¨Ä·vŽÉŕ7 g‹rŮ2Ë´÷‹0\NË˝Ýd,®eŃ-Ç3ĄÎĆŐQę%e–IőŻ8†şž1ص`˝U4“]D-&R`ňB…Ü+“±zR6¶LÖZŔĹ1˙Nzxxxxxxxlt3S p'ÖżQŃniJ FçFYs.”BQBČ ’Ö•ľdŤő/ TXëB<ÔP\Ű®qÎÜ0iAţžš2÷>a×îÉ39qó,Qő‡ô`\˘ă·.5cš{x…Éatt… oUMĽŹ‡36µGÇî÷Äź ÂŹÄě0J ™â±碄öžĘg ăÇťéĆ ąŢśfLk’óz4ú+DŮÖ—‹˛IŃäÍ ć-‹lŘ–~€ä9R-Ńě:ě‡Áfň´łú±†˙Ow¶e@Á&ëS’4¬~&˙B”|wĎóö´Đ¦ţ(đz"_d|‹Ĺ`ň{gšöŽÔâÜvÎ]%tT«§(ZÍVŚwŃ(Ń­.gĹk󆙹ů9š7 vÇ!č`jµ*íŰgŤ˝»vME|Ť&ĆGhrŇn ’ÍFBvc[ýîÓc}ńř«Í˝şíÄ“Eż \úľ~ŽnÄ©ţúŃV»ŽňŘÚС‘uß/Kx—žxâ ]>==Ĺď…ď/8]kÄf=°L§Nťdďâ]]l3Ú+˘:~«@FR¬…ľř­ŻÓxß{éÁǵłň€kĹa®‰"‘.“üť<ôŻ˘5F–N”łť1»ß7 JŔĂUL.-»Ö;˝˛Hďýđ_Ň_é3ôÖWľž~ęő?FĽ€C‚"Ĺoß|Ećú±±¶aÖÍZ=WĚűŢâ µá˝Â<˙¨ť¬—"!™Ó¶'Xl0Đ™§Śr©—'€íŽÔóăJ¶X ‰[ cTĽÓA{]Đ}…˝]$C¤!"ĘN!1čt¤,úă€(—ţFî&vI(§¸€q‚w±ÍÍńÎ+@´Ŕâ,kím÷K;RD&`¤%í çdb–]z×&t¤çáááááááá±őŃÁ"´† Ő™ahűŔ¬iن©R)µdÇAÖą2„eVĽŻĘHEěÍήácŁ@Nf(qÂńT‰ĆO&©ţXDŹ<zÖ>%NҬőµ řT69Ď.ČÂ(ş,AeR»››Tń!Ĺ•x9Ó‚żń1%÷ĉ‘ŹiQěŘ>şrÇěs ă`M$‡˘Ô»1#y ÉUYźJöěÚ‡D®„LŮbEbB„ˇ^•°aŕYq3ˇHǰ÷ôKc-č40®·t“Π×őĘ{=t)Z÷°7'~y¤_ÉßAó‰S†T ś Đׄ ž2{fMţ¶8t‡%'ŔE‹őMâ˘NKFYĎěAµbE‹ffgiž=S¬đXŹ1jj‚˝…îŮł‹&§Ć©z ÂEŤóg^X«PÜ—Ů;«Ý ňf"ŃűH»B?du:40Á&äP:ġ­buă Ď*G~‰;=ą)p,čé ÚW$Ý|h”Č9ßőnňxňAô®®‘R‡ Ć9ń÷¬˝ ŹőĚ9s$ô;ě<‹d€ő؞͉[Ţ›N rĹ }ć†/Óżzď˙cÖE öżĹţu6ź§s|ÔŰ~‰™A*OŞCYű&k!×ÎŞ˙ a¶Ç0 ™—Íwx‹7ëµRĹʱqłLgçč?ř—ôÉŻ~‘Ţüę×Óß{Ů«h´\ˇł3TÚeÖxµZYZˇr3˘úÜ25W¨iÖíF“"„÷LHŮújcl’çž`±Á°!FR/[Ť0°^p…GKŞk·c[iÂűWÚ@3ŹÓI&t„@`ÉöśŽ›ç’’>„ŕJµĘĘUwâęŐĆ«=續”<ń»@X ŽĹ=gńXŹE0ńÚđĄtň•6Ńu„" çuŰ !r¸Â4ľŹŤŤm±ÄĂĂĂĂĂĂĂĂăÜk˝F„µf“6Ö?[GΉÎâÂŮÖL´&”#"HîÖsE›eO¬˙±ŽĆZy5€a­ť¬ĺ-1ş:T]+Ő íŘął+Á<ŽËĘΗ„nIIç[Ý’)ű° Ű"č$>„Qâş=Ěď§8“oř^ÉZZ@ö'YYF˙XBL˛ť4.Č~mýq=‹°Ü&úÁ®˛č)÷ß>ó$ bl Ô„˘†1 Çěů…ú#x7~–Ďđ˝VúűvR0žo *ç»—iC~·Í0.ň†xęéy C/‘Bëgx\HbR۱"Ń ‘č‘:ÓÝ|6r-śRĂ“'RQ›˝5ZMÓç­çP$–Wę6ělËľ0ڰW ói™ű-bŠ&&ĆĹ ˇrĆFÇĚů1*Wŕ5Lt9(8Ô-“(˛zc|Íľg€dËô;ÁPĽ ·í(ʵ‰ű<´ŽĘŽóvĚŹĄ‘ †Ź˘>§!~lĚ…^=O—Ą›‹Kv‡ÔŽşg@Obő/Ůh&ď”lN[\\d}lŢČĺááá±>жüŐÉÝMŐŰ\5Ô§żö%úŤ÷ţöŢĺRâJ„(7Ç –ráÂÔő©čáđµe Ň ń'¤‹ łĎşkN¶eÖ‹Fľ @şőË6„H0R2Ë2Ĺ•6ť9Eďý«?§Źĺótí5ϡĹĆ í™âĽ@¨h­4©>żH öjÖäued™7ąjo§ůÇ,Î0@Á"ćÉĽxég°„)ľŮwQtąż]2„+Tév Ś: föjáLLrżK($ľŻR¸ »y#Ú×]Üc1ňŇ›­ż/,,ňDeˇ¸›—ř+°†®'>˛ËA{¶ťr"0Č1©/vTxxxxxxxxxl4Ű™5$N,SößF.ÎŰz„‡`ăOB®&k¤)L×ĆZˇž†Ök߼–6 v ŻÂ ¬Ń''&»§vzŐ8?ÄŠ"‹h—ăîťN("ŘCâmĐă  íö"ëąBNĹÖ›EjLM}Ié.źŚVCęwä”#¦`ť[rµ©ĺí”ó×E‘’µ›ˇ±âą#Č=Ăâ~+;üĺy´Ťá©‰°F S�çD%óÖŞĺ,lĎ€ýĆIfUç6“N©¸,«'ťôĘg}˝Xđ˙ť ćîš´rÜ~Ź»’±ŕéGë;0Öb¤BE°HĘwnÔ‰b[†VŰ’'fÜF¸¸ân@ŃhŇ Čm> &ÝŮ\ŤNy6› ă159É őÝ»všţ]˘‘‘T®”™<Ť*5c(.ŞT–p­ň·Äd ÖąCDúz/3ŁAö rő1ďĘCđŞtUAĚ!Lúˇ+i&HĘIť}ˇ¨Ä¤Ś Šdá'z‘ß É…ĺóî<:QäuĹŐ Ë_¬Í4±˘ ÖĂĂĂcµr C¶ËzGĽěč± ŘŠc64|ôKźĄűď¦ůĹ…”`ç6Cô‡K®S1¤łm@ÄOSŽ;×)QĺĆ}ţ„YX3—`‘¶'žÍl8ËŔ2V)nšçiÖ|Őłţ3ëÁȬő¨RÔlÓă'ŽŇ‡>÷)jÄ-&×ÖŤí/\4˛‘±ű-Í-P}©N­F‹7|#ýdYśÔŃ!‡lqx‚Ĺ9�‘I#¨Ŕ¸\´ŕy˛Ŕ<n»¶{űtk‹^lvńp‘ť±RźĺaŹGąđ,炼"Â1&‹ŕ©¤ ü^X¬“ě†ď„yë*ŞĚ‚ynWĺ…RíĹŻř †4tHIŔ΋'ăűçááááááá±)ˇŚCßjÖwŤ„`!I7z•w~@‰'Î{6ąÉ]ßĂ\µŐů®©v(ąd7vŠv?|‘ Fţí{ăÄ…]Ăîm×u|ÂĆŇč)żş×ňö u¶”´¬Zh—Xµ?˙Ë ŞţE§&e°ŃCâÔ‰E(ËŇŃ*_§îXezA,MĐęžŰęžuž€Ň˝đB|Á•,K"T%{°čWáźUµV¦VŮŕqö'(<yţÍĂč«zŽĎ ş´ ס?%·#PÝkŃ[ŐO·%éë6Ę Ĺ:ń2QF!ŢJ‹†7ž FQ Ż P`l®×[´´´ĚZŕ–: ´j'Ť>¦Ýl2qD |FGGhll‡ąvë`@ś€÷#Ěě…˘dĂwp:‰ražXIOÝěŞßĆş}ÝѬ˙;“›—hľHěmŁ÷5™ţLŽeĺ§zŰÇ;ž;”Z ş řţâT˝‹^żőd…«+˝°ű˝čąßMĎĂĂĂcµĐ ÷»ž×Š[ÉVłdÖWüĚ'č?ý٧ąEĺąBUˇW}ÜőˇFóF˝Ę ´í0ýgŻKŰ>Ó5’Ţ śű@^%Říš&f~E›Ă[†F×ŇŠÍ:˛S©Zˇr­Ę1Z•:µĚš4lŘ Ó°ů…Keö`±ll€+‰‹D &nÄIÚQÚŰž`q�!ĺ /¤Çśž¬čÇŕ.:¶P4až cůvśËv˙t»O~ ‘A·Ż&[l$ř€X´bŮúĘJ˛+ŁťîŞ«(뱢Äő>„˦r ŕ ¨q©'vV MaGşőÝż?yxxxxxxxxl´Ł€…˙`[¬«¶BńRâ­Ăą*ĎmpYZxÍ_d(Ś“&íöđˇĘĺ MNMv’çsd‹ÂŻÔ·ČńĆ>çbq´‡ŚäĎf;š@Ŕ#HČáŇ.Qlĺ=šI |š<§Ůěr»®×±˛?JÎ>…Ťŕ{ôĂPž,I©^o°Ľ:N˘ŐnRµR¦ŐÔ.NFi±‚Îwp´ŐŁ cHłçzĄ÷IżřÉé,z§ÝźěŇí¸(݇żw°ó=ŻĽą^?çÜŘHÖĹĽŃťś:uŇt°5٦%[¬4ŘĹÂÂ’ůŢä4*•*‡bBŚs\cu!Ź»ăc46:¡;ž.bŁ“¬ĐČHŤĂÚw#(8Ćv�E˘{ ĂÄCźç>`·ďhˇ (<ŁűŽ„}•6Š{}×,,‰˛qU Ýúů!NĆ`·Î®Tßß+˝˘˛zxAo>sÇý]‡—Ž Béxr…‡‡Ç č6/iŁ˝{]Ń=[u~űř׾HďţË÷ŃĽ ’“áhx¤cpěČ’Î8ť«µ š'ĐáČš±ş_Ö|éĆä/âő ĺBĬs’µPllyŘrQ6kĆJX˘Š±uWŚMoĄĽĚÇAĽh4ęT^)Qc±ž…i¶Rňz,^ݶáTă ç�`‚_uŐUtűí·s<qw#p«ËÝáŃ9Öôg{ŻkÜÜ]T/?QÇy÷ÜV`ű•˝ßłŃ»ÇäzV Ř@IdGĽ #˝^ůJű÷Ë»ß3ŃedÂ0Ď(q«jčđŮcĹŮY3ÉĚ3©bŮ|šŤfZlě@ßÇ_ŽÇ™ ęšMŤżp ‰ëÖý¤eŇa©0ęĐ>“SÓLfÂGČ"8HšŔČĂĂĂc« Ă8ĄŽ{%‡‡ÇąFŻu®k ×ßű­íW;ž±× ÖŘ8ę™Ýy;ŽŹ%Łçí®ěŘÖ5 Rn -2&*MŘXWśéÖăĚHV4ÇŔűŚu8ŢNdWń<7@žžâ°|NXDń˝ OÚ8Łr§Z¬ŔśîĘ":ÓÔ)Ć™]=PrZSş Ú08ôGjű ŇDceg Kc˝y(pЧhźó$Ű[ŻĹž,âä=@ŰăÓl—hŮȬŤv+S�ö@Ő(Gjb¬’D×g܉IxĂŻőşoféĽn°’ô#@dČç[|oçş68ýîFčŢD‘aIĂ裹¶ŰyĘĽcжŰňJ“ě šź=MŐŇ(•ĘŁ46^3:– á T&&FijjĚč«ÜW9ľ96ŻÔŞL �ůcp’&(!Q yBĘŐ­Ľü?m,ňí®f%ž·Ú­á7Aď#a­’ ą…ďCZ‚śŢÍ–)Çtt`…µHÓşÖM§ŐAěX§~ćeÂ'7şérőX[t\÷KŹő€&rilyˇZÖ>qě}ŕă¦ÓgĎdĂĽ'Í Ys‰ěťV3yݢ_#!3’¬‚$ĄdíHţęoć¤-ÎB“čŠéĘ’˝*Z^É„<!ëž,ă–ÂŘn`A2Ľľ‚GýFdÓj¶FG¨j>µ‰q¶ßq‘fLő…:­,.ScąAm#WE­6_é”ĹTŁ_ĐD”íO°8ŔŕrŃEŃő×_O7Ţx#ť={–ŹŁęDb5˘‹áą“„Ń)l-š†Ĺz j˝lúoŃ@»eŐčUWę…ĽB$ÇeŠ»]WLŠ~ŁŮĚÝL)kQząÝ‘,Ä4 ÂsĚĎĎŃěěC˙†p+n…«FĐĄŻěšČҦ´ŚiĽč¤˙·Z­¤+@âXZ^âř¸P&Lĺ-ĽVTkŁ9WGR÷™ěر<<<<¶zŤńĂÜëááá±(RÜjôZ_öBÜŐ×ÖQ?v“‡T)µ#Mb8Ýf˘» äŚőüżZďbť=55Ĺßm¸ľ†YŁ7áđ“ÔćĄýqňł°„QdŤ»pE/é J°€kůńńcô«ŘA’9m& ÖŹCźëKŹO‡Iăó˝‰R‹rAď6°�JxˇM!NpÎëÄ™R.-×:60§®­ˇú\ˇ˘4,ĽN°‘:�!…ŘöőQJč é?¸Ä­7ŰV†Ť˘žeFZŐR•Fj–4”sń1\é Ň&ĘĽZ#čň{J”Éä z“8Ň»‡čźÝ AúÂ䏗`a=yâ,ĽT /íŮ˝ŹvíÚĂGFG«i(U„î¨VËIHŹ2+Ç‘¤čNúíuËY„s§“ë+5ŚŞ'#8C°Ň>Â\Eöť :ß±žőËv.T;Aű“,4QŁ;ąŁH/8é˘WĽÜ÷ä…Öń‘(\]4 ›Đ\=˝‡‡‡Çzˇ›ťŻŰ|µYÉąŐ›ů±°´HúŃż¦»ď»— {ťÔ;!+Äaľb!Ě Ń ˛7§ë�$!áTpÖ5B•µŤp(âě»č:š7Y—¤ä ¬mňD6Ź´ĚAX˛rk`˝éËf�‘um»ČŠŁ6g„ă.Äk®48\HÔhS} ˇCZÔ6r•Ő'Ř‚I”)đvšy<ÁâŕkŻ˝–žńŚgĐŃŁGé¶ŰnŁ»ďľ›Ă'Čn |đ=ó1q,"Vži­‹Ik]4 "€ąěWwa׏[tĽ`+ˇ›€^¤ Ţ¨şĘî5!: Ţşß şŘ†Âvqq‘Nź>Í *@˛ŔŠ)QÂÚ eţŕ·ôőH)®„LűđÁµ\’ĹÂÂ"ÍĎÍň1¤ ˘b;dÁíGaa=třx‚…‡‡ÇVAn!>„1BĆ{Źő†&÷#çęs äÚ2ĆŃj%ŢĆÉL}'Öř0ńŢaÉůÉŮ؆ϓőż6Ľąs ëš_ĚĆ*Ě':ÜŕŔĄ ŕűlŚ#´°¸Lą[ám$XĂZOďqŘEë<­Ş+ÇĽŁ.úíc 2˘ +·E™Ř_EčwŢ+WŢ&Ą0)[`ÉmV9f•{ăó2­ ÂŹ®¸Źt–ϵś%JĽ|č§<ćB-4Ť2¤¤ńń^)ÚwgÄąˇ\ŤáY†Ź÷_«ĄFWęT,DH€Č¶ZRng™žă{˛4DŐŰ=ĎÁĆ”˘ttŃ÷v´xçąľ^Ó’4xŚNIkÖËĐţűéYĎľ†ĆFG©T±á hO˝O$I…}ÔŇ[[Ź/”Ű3Đ]ć%n§c˘óäs’;FÔëŮŰÉWýĚޡ °ź]Ë’ďŰyă±ĐúwwĽvuóŰAßîáá±ůPd÷ę*‡*rعЬn©>ňĄĎŇGżňyZ¨Ż¤ç˘„ŮÖ3´k·@ţ&27ZĂH׉WI!a$ą(2pśx$Äu‰“NëE>!Ř‹ü—ćÇÁ‚şŢ'¬Ě¤$Ž ˛ĺMF쵢dËÍ×Â1!„ ŮbŮ“u ű[·mlxŘ Ý¬ăÓŕtˇ;€„ &żv™‹¶Óä çčŔ‚Ďž={čĘ+ŻdC2?ü0}ěcŁŮŮYZ^^fv^ 1LË #ĆiuÓqí"űC€ţqś«ĺĹvżKyşĐ;ă˙bÁµ›"UçĂnd”ŰZ=xş»sÝó›u€í†açDág!2ŠÚW_'ńŃ»ÓÜgĹÜüť9sĆôßyîłKKKÖ%PzŔ¤"!UH^řŤAVúµ0ä>ą^Ü!/x¬Ŕ{‚şR*Óôô“$ŞŐš*\uöQIGňÇ;…ryxxxl5 BŞ#>šdˇ´^‘âáá±Z`Ť&$Xű˝b•�ëös©(‰Ťb %†xkÉ#N-f]]’ń]v%fWáů`­‹OFâ§‚gă¤î¬÷q^ÖŃí$nępĎ3f×÷Ł#5š_X¦M‹ Ů6¤÷6 ë!!$»:ŮHÄy„q˘\Ăż}ˇRBDĚn_#kdMË–žŻc˝ä*Q«ÁMFŰ1đ%ˇ:Vc.ņúĽq± p®XAÎŕŢŮXG ɢwb1-/-Đ®»’VG? “ŹU€nfe±‹ő6´Ĺ˘.đ^Ň9­žŔ0lűö{&î9=V®ľßĘÜŘymÉčČJˇĐˇż§&'h×®i›ÖŇ}z•m+Čpb:©/KŰí8ŮçYpÍ�éeMŁ6ĄçTż˘lŁgű»×_łuĆŹŤ‡ô'Ńą»ýCë¨]٦ďG×ިDZѸä m»Ů”0E{ôčôąoÝ@Oś:ŃÉfHČÚ–TˇHĺRJ¬†{.ű=NHöÖSbąi‹VXŮ… ťřŻť‹ö€Ç<cű;dmÇ DŢLäBaÎÇII¤gŽĹĄdŽHlĘđş†sL,Ź@¬°şgümG-jűü,Í"ÎÚ"#%lox‚Ĺ9„^ÄŮ;đ<Hăăăôđ‰˛ŇvxtDe!¤ $X<‰ç mÄ2ŽĄqwÉľ„î&wŔł®+i9ń»¤őúÚ¬Nś:IŚ^k°wzE¬~WPŢŠäŠ"ĺ„®W7BĘF– ~!ýF˛„ÂT÷…4®Ríć‚" Î&f€Ń!ndeĄÎ^+@®Ŕ_ôx“ŔßZ­’#NH’üú9'D üéß‘.ÜăW™Üס—YwI9u[ş^;đÁ{ć…Ź­ w•qcƸŃŃQŽÉěááá±@¸¬íúo%őR&kąó…V˛ĽÜÎâ;ˇ‘ßË-}”´ Ě B˛Ŕś€uą&ľ÷3¬e2±RGµ‡+kLST„ NѦEa˝Ů!”EŮ˝kŻ{Ü$rňF-C,/óNĄT5&2Q“ÝGAʶHčaziLaždÇ4±›WqáÚ• ÓúrG P,k%o’4 ?śŢŁZ­j »ÍľžŔě汍ŐFREiQănV÷>=ünúĽ÷‡îçłőěP¶ę5c5ĎdbFŻv˛z¸Î{j#53VŹRJĘ!»!Ĩ«ŤÂ˝ Ň­|nÚ[V!??ż´Ş5Âű¬eIź5ŚG‹6+ĺÚ<Ö^ĄđżC° z‡ ¤Źv^Đö%zô‚čnµîÓŐ˝‘ŇĽ^ÔĂĂc#áŽA˘+€ś*ňĄŘź�m‡Úl1ő«7}›nąű&P"ĺ<&!A@J(Á. rEÉÚbá=˘ÚPf$›;-î C•PÓÚłJB>’Y‚”‰˙*’E?§9IÉ®N¬ű &X´cČţ!“)ÂŘ–ťŻ“Íűřن\ŰârD­¶­ür€TŃ4ë¦ĐCâvd5ş„­O°8ÇĐ :é3źůĚ”ŕ�Ŕ˝ť&)ô�„€0�1kaßa ˛„›óž-¬ëĘ‹’žě\#ąK…B]'#Č1fĺÔËe¶ąußěčVÖ~ĘĚŤTĽQ +“±ă\ţşOŮ}lvfžć¸źÍḚ̌B˝Ő˛äéoÜ7@~@@’ľět”ĽńW\ë6b÷Ać<<V ü†bxzzşĐë„ŰG¤Ěş=ĺ]‘g€rzxxxl5¸J<O[­F:¶€v>Ť›O ö;>““ăĽ<yň¤Y»5˘…%wťŹµ|Ë(ŕÉbđhí[vSIDĄŽ3YŤ!óáą´Ě:„;×›ÜŔy%óLe2¦öp×Č®júÉŘčHš®Ř §Ź‹^}»łťĄO&r¸üÖ¶6Ł”âf÷üţ$۱qmgĂD¦e^BŚ'đvmVX¬ćáš éÉB"¸"»×˶I9»äşZyx-rtq?ĄÎw§Ĺ;ŕČŮÜئjąĆ;ϢUĘúB’ˇ˘ë<vĆńĆłkňďDďü\ŕjźżö4p>!ý©óxwݬP`—ʲv·á@j#•l|»ŻëŁ8ďáÂͧW›lN[F8Žž8AĂĂ™[Öxc@äř˛(ęg=űž gU´‰ĘŐiĘń:Ű_Čq<ŘÇ ô=«ÁFę=¶´>´ŰúÄí«˘7őşŹőF·9MŰ„\»cŻű6P·źxŚľôťéäŮ3Ľ^ëXń˛-­dCża}W5şŘxC+»µ´m˙… ą„í¬Ąl<– Mcďm•(jŔî۲Ô|xH¸”VRU¶Ć0dÁ!>ÄF™,ÓŁ@x™…ý;ĆVŠ c»nápÍ<Í)y&˘fŁťÚ©Űm«Cx˛+�O°8č¶čÉâ¶ŰnK ĐÝcIĘ®Ů-&ż1˘gJ±(Ť}#ˇô &^*äŻÝ =`Č5RţĽqÜ~´q^Ň“<ŠČú{‘`°_Ŕ^$ 9_Äzß(ČłÔ®–\Ą·ô9€hł°°@gĎÎĐŮ™Y&<ˇ˘Ĺ®~ěsĹ­}ćyď(Z™+ýŔ­·¸y€\!»î^^´Ŕŕ’ŤÜßîwąGţ"<ʇ‡‡ÇV…ěNwk/ABĂXéáááq®cţáÇٻ™%ŕ¶Ň5 °VăŮ €‘ÄŠV[íµghpňVAŰÔh…Iń“”®vVwĚ &ĆÇ©fžČĎ=E*¶ źŠxK;ť{†•ÍŕMizjś6ësČ×' av˙öRćűş€ąýi•[%!B>¤”C{D€U¤e-YJwE;0}ĂUúm˘MŐÓĹ:c˝Ç•FĂzŻű¦›x%­…ĽËBt«Ú©Dö†QŰ.úűöl“n«3Cß±ˇŠ3 ŘŤ%ňĆ÷K3îšöÖVf‡´0żDĂ‚ß@ŮŮéž[M{)Dg~q§W€˘krĎ(Čvš†‡Ç Đ†K—ÄVtŤ‡‡‡ÇFAơ˘ă[ ¨Ľ3|ë¶[č{wÝ–;'ňŹ©đúP.Q Ţ#Íßrµbľ[ł{jź ˛{ÂR™J#*תT22;ţ‚(0ŃJl(7Ť.¤v˝‘‘Šă Y—d„¶Ź9ë‹nbń|ˇř ›^lňŠě5 ř3iż°ç „-! =ÚuŞőPŹmöfѶńÝěďÔ &uŐElíµjž`qá*—]vÝu×]Ďg»c(ymRc˛6®Řs`H1:ŠY f˝[´ůZ»kÉ` â¶H ŠQ(JĹ;†ĺ n|¤Ě’†őşa‰Ab`„ĄQć Ť/¶Sh<%ש ĹTˇ”6SŃ"0NĎI=’lÎ \ŞŰÄQÄś×÷w,†Ýt„˛Ö§ šhŁI®`ŹÄ,ѡÁý`~~žNť:EKËˬhBD˙á°4Ő+LĹŰ žżý!EŐ!Aâ8s …>&¤¤»¸¸Č„ôŻť;wrŘ(†µ—ť~7!´ázµ8pŕ�yxxxlUČXŽńn¬§¦&Ůxćáááq>R,Öqss éškŕ]q"î¬É˝}¶şŞ¸›"*9Klp§†ů3šĺH¬qŢ==Öč»wďfĎsXwcWLŁ§Ůµím@=ď § x~šš(ܡ_$Ţśäę;©Âi§`ĐkJver˝möL)ÂŚ(ĬžKÉiZY–-¬× ŐVÉőqrŢjÁâŢĹÂľčű@ˇˇ|]hqA^루 ’#–`‘ynéYȵ«ÓHť^˘¨,Ţ<$˙ňO™ĎRľĄ{@ꥥĄˇ`îľµ\÷ąf5eę––›nŻëú“a¨0t‹sU’Mgw ÔßL‘7XĘýé!;çîOűkLĽË‘ Găć +2H—^‹t3*´ÓAe>‹‹Ă,ďL<W¤oT<Řű äÚ”=Xd!——éFÔ—\ŃĄ6mZ(ŻÖ¤µ˝OO&čľëę{‹<ݏ÷xxxx¬'ŠĆ•˘ńi+@féGŹĄ/~çtęě*ĺ6˙&‹‚ÄÖÉëş Č LTŘ“Ö%AK®Nä�ŘąjeŞŚŽPmbŚF¦'it×'Uź_0źe Ś­,WŘ3 A˛ÉŽł‹Rkqş~‚~O’…¶W’ł˛Źc5GgŮ(LlAb—eĎ”l‚dóGÄáBxIEŮâ8ŽłĽ¶ń”ă ›pń ĺ¤5XçŤěÚ8ă´śs•]0XăŇëÄŕl˝P”r›•J5MSvť‰A<uS“ëul7`y9N_Ríő¦ #|ófÁ.sR2Ą^Ä`ŻC:[[yÉ-Y$ďžVŘű’gV7Ę•SÎwŢ[|®E Q-@÷R&ĺĺ¦ç˛‰ąÍă6ŕůrÓŢŽ”ĄÇůřznątDBä‰ĹĄeŁźcr>đ&ţ$}LČ7ké ú™…eŤÓ>…ç 2…ţŕzěŔF˙‡G í5E ÉRG݇5H“T\÷S pxxxxl5Č@ĎÁ ’…‡Çjŕkë ô#„uk6[f ą¬áÄ»Boĉ1eŐys" XVˇÓ†î ŤĆë—`-ÇňeŔN‘RjČłćZÓČ!ć…lÝŚő;ÖŘX[ďÚµ‹Nť:ÉëzÉó‰-ÁÚîxé ŐČrf+Î,†d‡ńń±™ «‹6Z­O»ö“ëâ4.FwĂU7yp¸ĆąŻAj• 3ú˛„ä‘W<% ¸¸¸l'ś]«oŤű+zqJ\Ó˝(颠@çŢtĎÓw•­ ÜŮ3Ťşć9 ň˛°«Ŕ†”:ďk¶šýIëe€¦‘źKĄšůćzel·7P7 žrdÝíÖĂIś(,‘BżŘÝaěŹĹq¨r(V^÷ÖgtWlsţiÇĂŻś“÷µÁ"H®v<×í,ßÜçťŐąó™ ÁLÔŕůű˛÷Ď9ë´)!ëXŹ$ů¶ Őů¬Žúńbbď·ĺČt3‘ík1žu˘ÓK^†R˛ůI2¨ýʨňJ×»wŠ2Ü{­˝žďzŚĺ¬ćj7iniÉÎo=6ÝŰh%ć€$>zz.GŞé$Üt¤%\wze”ăÜëú¤§ŹçčUa`⤏ŮďŔŻĺźÜV§íŢăááá±ČQ‡]nÄ6ÄýÍwÝAßşőű쥞˘t>·kĚR`C„F&€WŠŇh•Jµ$Â�ÂB¦6¶7¬Äk|0Şc5ß=M;/8@{w‚™@K§fhvfč¤Y7¶ĚÚŁnî/µ(2ň>dvq\ɡŰd Z·×Ł­Ł~rBdĺË@ä>^.F,đď8Y[Ą+3TJeSVS¦©o)¶d xÁ„=QÖĚa˛fâp&IŽÁíđ‹M—EˇĄŤÔBTa^ľă(®4ÉB†�Úk»şäÝüŮ‹'Š2ëΗŇ]°’ż¤« ŘEtÎ+ÎÂLdŢ5•y¸Jľ3ôKičN+r†y©«v-Ś:鼥L’ŽkŘ—p¬śPaMz),]ť/"?¸×÷ThőTeéËłUu˝?FXŹzčŹ6ŇT±´´bĂ,.rHxݍ׉NJ:§öGßŔsqűĄ&żHşşŻ¤ ÚÄ­0ň’p#HÄ ¸ÁDúšś3Hę~^ôlݲđŽááá᱕ ‰sbä‚çŠjµBĂŔ5čckÖ]Xga8ÖyŐj`…ń^ý‹»âúĆq°…ą¸ćŰqá!M„ÇÇ’ö+é:»ß{î´ĺo»m]{‚í’śűóÔřÄhΔ•Ůăő™(â~F©@ŚŰ§ú©‡C·úIó{Ó îr,čwÓFÍ'“Çz´XĐń}eĄA-x mGNŤĚnT•j‰VZM›F‘ŤßżGLѤ +ÓÇŞcŘďQj°ß¸¶ő�ňúśNĄlęYÍřĐÉ ±i‰ŢMT:PÎW«– 8LĎ—±ďŐÔ‡*E›XGXRËŕ÷@'ŮlEy0ą5oú-wźŘ#ôüWřîw)Kż>Qx>Žťy O4 (Ȥ}Ň޲†+ŹM ™[Oť9M_úîŤtja–mQÂ/Ľf@ŤŠ±wVŤü=RŁęř(…•šF//yş…B_˛ŃĘFF™§±S4¶sK±Ć2F+Fţ®/.Sya…ecű„Ť”íˇíś 0]G `“ěKěŮş2É„ínÉw$Ä6›‘;DoвkZüo€ŞH˛Ţ‰“5pLŰgýâ › X�zAŻÉúĽ�AHŃÂş¦aá-Ě^>!D௄ţĐ%‡xĆĐ€X‘*Br^äDŠ“kq]Bş#Ş%N…‚4&‘9§˝#hŹ’Ż MRɵ….2rĺúcχ©'ŤÎsüň7O¤p‰ ´E ;=ęgŞĎ÷“)]Ĺś[GJĽT ąý óó47g?ءâČ08Ĺ8şÚQĐj"‹&k¸dé«r}gyy™˙âŮ"ü‡Ýy]c‚§»ܰ5şíÜ(şżČ}ž`áá᱕PD`łFĚ o÷X5ÖC�óđ(BQŔcÖ•pł_´¶Í#pţ®áᦿDŰ®á7¦lí Ł kxYkA{)‰˘GĽ†6ϱÍÄŤĽĽ8@)ŤáąLăă$^#¬Ţ&N2DťrĐZŃMQÓ1ŢĄ.\44É"°Ş˘ô‡S˘^ýű|ŚÂÝř%bď_í“čf u Ö«CĐĺűúĄ ’V}ĄÎJжZsużÝöŰ ÇWnŞ4{=Ő¬‡vęđ;ń,“†%ĎýI1§“ćjó_o˘Uqú\ŮAŁ~mŢ+Oý=Ž3˝ě.´:ąd\NâiłÇŮŇ`¤Ăţ ŐałV˙4Ô-ÖE˝í±čÉőŚÝßĹíBäËîYKßUZżÜ¨!ńŐm÷ËĆ”žYů%˝‡‡‡‡‡Çšá®ĎŹť>I7Ţň= Ś\´Łü|MÄ^+²őHVŞU©2ZcĎ8Ů‚÷Цů;“·“Ľů=±Ďâš•…esߢI§D+‹ËÔXZ6÷5Y&‘ŤŐD†Ť©cť–6ĽHV,mI¬üń(ż‘= K µö\c,Y9“ëĹiůuŁő×m=x‚Ĺ& Ďaâ&ĐílB¤#˛>®=UČ5úś&aĺ á0Ś#?ëŦ©]ŔŠbA“tşöZëúo ŘJÂ\âO`CzÔŞŐÜ /u¸*DˇĄI"ęÄ%xéC—SŇÄĂ“;Ďş-rä‹ä{¨ŇĎ/(ULé`$DqŮůLsĘĎbF7˛F~@Ďďćá˘Cť§´\M3Č…f@‡÷łgĎrLf!U@+»ŇĘĺ »ś‡‚\ÂłČ3r 2rN÷7ůŤgRŇ—ň˘#DD.©B?ß^Č)„ăÎ:n{kE<<<<¶ Üq¸á×ÄJŹAŃŹÔéá±V ?aíŤő–ő^ÖÇEşă;XłÍâ~ۤS"ŠăíŰŻ]Š{4ˇA°2łőv5Ću[óNĚ=í,DČŕ "dbr,łÜ‹±˛€Ü°FÖNeS¬úY\Üçř–N™"ýťěĘÉĹsîM ÂMÔ‹LČÝÎw2Ił‹l»Ztö‹ő#eą@>đäąďO‚…Ý´b=Š-ŃŕeŠ39=Č+­B!ěôÓ‘űá±Đ:AśXą»Žę:9T¤r•őB:b=\E“í UŁ‹ eő“ýyCަ]—ë-;F«ĂAJRčśEöë<§(A.›dŢ z%˙Ěĺ{ś13şÜ8ß‚|*p§ť‘=<<<<<<Ö=o׍˝ě· s,K#Ě)Ç 1<Wă¤R˘ęŘŤLŤSu´FÍFťâv‹7·›m&WD‘µ˝"şgłaěfóKĽńňöâŮYN§ąĽB‹łó´2żH­•:çĹBěPk€8¦Ś€©Â€Ňçsâ4Ă€ÉZŁa~Ł:ˇ~l[–ÍĐ—»#y’vî�rkÂkč7`€v˝CqXC{©Î,ÄŰ…6‚Ë_( ÂÔ•‹íěVä÷9˝J‚(˛ng`hG÷Ç_Mf‚râ~6Ě·Ł¨’ buS·§#Ć÷ Ĺ\’+tÝ\b‡=!Ćrü’…E˛{‘®u-ăh[ŮŃĄ˝`€ü]:|‰´!bb†* I Ú[¸éÎnçNŹÝ/—°ŕîT–ż%ć$ý«2®"KgP„˙8yň$ÍĎĎ3ńA<J༚”JeŢ} Łša4 FĘç–Yž“tŢbnDÜCÉ‹O‰]^V ŰcPś+ şĺŇÄ [·ě‚‹äőVÜzxxxl$ôBY\żcw¸‡Çjŕ*{ýśč±€Ě�ąën¬/S1& bX­:@ö}FB„lLźîGD8—ťĐÝHÜřŽ5> çjµÖ!Oö"U�2˙DĘs…›W?TŕŃdl”eŚf[v⇴©-‡ŇšQÁX)v¬ids@™ú…´-:ß«g‡qfž„/ŇŮ·V˙ŢôęďĹy­Hë¬fłÁĘP­Ó(Ě'ŽRŮŕ~Q…qʬRÔşËm§$ŚLyş‘ă|9}Ď×J Ńé úW7cüéĄü…vŻoÜ5­tă‘RzK l)JI_Ŕ“ŻbK(|šţuÜ sŇFaX29ëÎR‚EFtŃý9#Ńd÷hô" [RE˛Ž ˛ëÝ2¸(ҡő‚t¬MŤBJµ?Ň3ëőzxxxxxxd]§nţ.…Ő2 "»°ŕŻ5Ř{Čeö\1:9Aă;&yŢÁÄ x°đ‰Ěú¤mĂ“«Ń[Ô­ŤtĄAK3óLĐ(aăą9ß\©SłŢ ¨b†ÝäŔ„9@¶@° &ËÔtăóŮéj7¶Bë$-¸ IýáÉBě“ Cg€OPJÖC1ĺ<l’?¶ŃÖ,6`|†wěđď&,‰‡�1€Ëu˘ł¤ëÝA›-ą"LÉ�˛·ş¶8ÝiĄhf”¶ůĂ�ŹďQâÚJ2!bh2„�1pk6eő Ó˛ÚP/DICH\âغҏrNvU YDĽWŚTYŞÂ’�QÚ6ĽS«ĄÂ>â©Ařdž/ěBr§á"#_”rĎQ?ąN{ß Ř÷Y»díÜh“„őRRţ«„´3.ŁŁU~–L6 ó¤ ]6)ź<cio!ČŔ;Čĺß±cď<Ŕî9é«nČIWסź’@úYŃőZ¸tC•¬j„‡‡‡Çy†Śé2/b­ŕá1,\ĺë s®‡Ç°ŔšĎşĚ·†A-'tř×bB„·Š €ÂĂČ;QHyď«W2hh™ęüŁ»‘OÖÇ ;cmŽĆ ş[ö”°Ě$w;<»ĆGŢ·°G×aŁ5*k78˝ĎĄĆďÍ”8Rßą~čôĽi˝ ~çęýCxÓ:oĐ ë ő âÁ˘\)'×ZĆ ű#ˇ�D…ŰwĂţ9ýKë6V×úy Č“Ô$ŰúÚáŰDřµˇßÎ]ö»$ĎކBuŕIŚń±áu71,šö=J¸|k7rş&M{‰;őPz|č—on,)̬[nĘQ|Tú mĘ9ÉĂĂĂĂĂc+ H7ÝëěÂÝ|ďťT)•©5RF˛Ą±ÔŔĆěr­LµńQÝ9aţŽQËŘÝÚŤ5WšL’€gx˘`{#ßĎ j›5Kť–l‘Z…‚r‰őLĽ…m¶:#gćşËÖ‰7‹Ř¦!ÓľŘÚbëjqŐb'”!-ÉyÖďŕw˛f Ř“¨ő�X6mĹla!ŁäÚwi{ mx‚Ĺ&”`{÷îĺďîî|1*ËKŁĂ…hŁşa„�ŕ·$Mw7†2®ţ…Ě  rŻf”k2€ËĐ¶Šµ‘Ôč.Ţ„ ś˘tE~.ą$O¨Čę§ë©Ë!-$ ńěĽŕIC <qRw©3Ż 4Á˝O’'¤)ő)X—KÚ°Ě ĺŚ„ˇÉRM((bĎKŮ原 ďÉóÖD…4­ J #ř Ě­V“۶aňzÄ i7)PoFGk)áA÷]?6F®2Ň=uę·ž/€LMMĄŢ*¤ÍĄěnź)ęGÝ€űŃ—@D:sć +Ť>ĚyiBŹx<‘88/Ţäáá±U‘y_~»ýöŰéCú˝ň•Ż¤ëŻż>wî]ďz]rÉ%ôO˙é?Ąűďżź~÷w—xŕ/1'_|ńĹô–·Ľ…®»î:ž70®ŢpĂ ôŰżýŰ|?®›śś¤kŻ˝–ŢńŽwĐřřoýÖo1±í×ý×iŁpď˝÷Ň»ßýn./€9óČ‘#ôó?˙óô¬g=k`7öÝpăŤ7ŇWľňzó›ßLW]umUĽímoŁń/ţ˝đ…/,\xx¬7ÎW˙joźI-CmćwGË%˛®Ć8^«Ť Tî˘úA‰Ă‹.ç^°4j4b䍅ĄĺžeŘ\íšŰ"\ŚMdČ%ßćE^W 晟+?ú»Ő'dIWBb˛&«2ˇl¸ş$ßH‡Ë bVÓŞ mV›×ęđ°c–KäÚőBľoôľnřń˘?©Ëfwͳȑ±Ű7ş‘YőoŃĺ´#›fZ—8ÓKy]|á>hîz=Ó[Y"‹{M—÷Yťď¶ÇR:őť˝Ňë•§;ęßq¬é‘Ň«žGáááááá±ÎĐsµl ^1vÄłół”Ë™­1ą>˛3™ \«Rul”F¦&¨<RĄ¦‘{Ű+ĆWOHŰćbö ٲž'8ýXm†'Śşµ›–ĚýS‡ö°GŚňČ(5—ë´tz†7+ŔŰĽ``qĂ!;”‡ÉőZ—g U47<G˛ůČ#-cQmGĆ.×xó9+f”-w»Ă,6„Ś ž�˝h×Ţ'tX ń* 59÷Ŕŕ cj҆x§%/ë @˙uŻ"ÎÁč-ž$¶”I{•@:µZ%I ÷”Ů€nwľQęVX3Ľă¸ś+6˘GQ-G´ť\H䇬™±źßű¤,ăF "”‘–¨`ŰYňfwÇH,ń$˘źK .O”s™‚BČ%BLĐaJěďL®TĚ`ś„sÁŕdF`v%$ž9¤< 2,ݬĐÂâbę­Cę,íÜl¬p}4áddÄĆbÖ^;¤ý49EĄý mŚ#đ\ű§§§ąLB’qű¶&Wč¶ÂŚäˇű–(هiűÓ§OÓ‰'¸ľ¨Čš|¤\]ŕ‚ .Xł±ÍĂĂĂă| “5ĚÂ4s‡Üh´h~Î,ň[ť÷ăřňRCĺCôş×ý(˝á oŕ1ţŰßţ6ý§˙ôźéç~îçč'ň'YQ‰ôöîÝOżökżĆc˙ŃŁGéýď?ýáţ ýĘŻüSÚ˝{ÍÎ,šů˛¦ĘĐzďĆĂ|[«ŤŇŰßţ�‚9áÓźţ4ýÖoýúă?ţcÚż­ĹfrâÂÂRęn˙Ü"yVZšYe23gS’©‡Çą@”¬‡ű22ÄÔKî{Ţi˙‡đżŇ –ŰUÇúľlĆrČp3jÖµ!vÂůŃü­OmdŚĘ•45@ľ(UÍÚ|,]ű!R»¨@\‚RŞř‘µö° »Ćoł¬w®Ék2ČÇĚW]CŢxl6D1ç$Ů6˛wÓĽKP¦6ď—€«CÉEÍ{‡Ş6ôę0rfÖǬŢ@ż›VaiĎY bXő8·°c“ÝkhźC˙ëădg!ŕę8Üŕ 5Ś.úč‹FJZËz·č=†*LQ'1÷÷š9‹*çҶťÂ´ŢÝĆt­«IĂNŮ\y<ÖÂŇ"˝čE/Čvdöl›¦ťŁBŞĂ;-ÁUuw2W˘;©BßçÜCĹúłÜ¦®¸8DH/˛EçůRr u)W`ăśű)ÉĂĂĂĂĂcxîO{ŕűwßAáص›-Y5Ě×ĺ ŮXŤđ¨#5źž¤‘±QŢĐ bEc±AŃŠY›Ý)+Z Ýf¤ťĚŮ•ˇľŔśŹ0qc%šÜ·›>ĺröŚqěŽŇěŃLÖ€ ^ „IŮľUę\łDŮšPËďlläná\`ËŐVëÖHůŘ ŕqŻ•µ {ó‡ü(H6˘=DPfrE%^ŹŮ»#ľŽ”]Ń®‡iŰÁ,6,Ů Ćë^c¸xŁ˝@/âĺ¸Ë®–ßbŕÂxĆĐiK¸1të€>: ‰\ë’E4YA‡‹Ŕw!aIC\ˇg†ĄLĐ�†ś×Fzń’€ó”K{O�`’đ8.ž.$"„ü€úkňŠ&Č5r 9”Ë™ć†&҆Ô[?űŚl‘oĂP BŇöŔĚĚ ˙•žRLąÍŁ65жšŕ!»uŮp\Č*Rg\'†%y&řŤP Ň_vďŢÍá@äŮj’ObU^Ý7ĄM¤ŽrÄ x«�±BĽTŕáŁ]ĺíŃĺ€W o\ňđđđč xُňʧĎüűyĎ{]qĹĺôîwż‡I ‡äăWŽąöíŰË×bĚýź˙ó}ěa‹lţ/&îaÇ\kçĎ MLڧó[łŮ2kˇĹtžçPVEc8ć‚ĐSŚ\vŮĄtÓM7Ńm·ÝFĽ2!„Ô9L–Ěqđ~¤çśCyP¤‡óE±źQ®ůůą4ü®_\\âxí–ĐZĺ2ŹŹŰűĎžť1×Uy0I~¨;€r ~«ŃNłłłl …A`COŁIŁ,¬fîźĺ¶ÂZQ<”éňâ¤ĺúäÄyxliţ…8¶öő™%Đ6&W�vO »ŤËlܵČd ¬ÓeŤ`Ě\„qV]¸F ý]d1Y§13vŤŹe íÓüš|p.=WdˇAŠ˝Q�AëžÝ«żąßM«đ‹9Ä&Bâô34Gp…۬Sµ6¬˘0Č}Ďö©‡éŮR,Ţ2­_Î5Šä_î®ř­‹¬ Üueß;ckĆôž"xŃ9M Č?§bravo˛!„ ÎX­^ełX›K§îmŐIޱ=Ö;)ĺd2ĹŁ¸Q»Ĺó4 łNm4›©÷Őf»Îk×F˝L;wíŁGÓŤ`<· }ÜŔ••Kt„Ŕ!÷ŮăÄc?G*n«˘Ť?ë=îw<<<<<<<†€]&Z2@čđľřýoQŮč!›őFţzĚí%cĂ)ÂČĆUŁó«MăÂb‚\atťKu#'4-É!%:€‹`˝OD‰ĽŽc i„•¦ďŁÝ—^HËggéń[î˘vCmôJŠ!ő$…Ž7,-` %Ä .G˛Q;Nę¤îczq ;yĆԡ㠡MÂ’%~Éu|¤lŇŰę ›čdP´k‚EŃb]\V´$„T =‘A büĐ¡fpĺŁĂy�’ É:D†ýa�\Źš !„ ‰\D<aÜp˝H™]‰«$´†šPĄmw@¸/"RV×/yâ:Q6¦ů:ˇ5ÚŁ•Ôť˝.”+l q=cČ=řm=xTRL¨Čšń%†"Ü]’|‰ňáI‚ {"Jŕ¤ĺ¶ ŇCľĺÄý‘<;C<g ¬ŚÚµk™†uc©I5.ńGŇjpX“9Nž<ÉĆ"\‹zHßRL7Ĺ’¤+iÂh蕹ĂăŐŻ~5ýď˙ý—ôůĎž~ög†Źe e‹={vó\$á¨dŚÄé®6˘x>ń‰OŇťwŢÉkő^ä…/|ľďëôťď|‡>ö±Ź±×"ŚűŻ}íkéGôuL$čĚ-łłsś÷DB,XX7y}ŠĂš`NÁ\đş×˝Ž^ńŠa˘Hů— [o˝•Ë~đŕA>˙â_—K»n„ŞŻ~őkô§ú§ô+żň+Ľłî®»îˇżú«ż˘Gy„‰†§‚°%żú«żBOúÓčźü“_â°Ź>ú(×a:Îś9M˙ř'¸îhżK/˝”Ţţö·óßV«AżôKżL˙čý#zĺ+_Îů~ţó_ ď}÷űôÓ?ó“Ç4ýÜĎý<˝óťďdĎ"Ź=öíŰ·Ź~ę§ŢĆůDQ›î¸ăNúČG>J?üá˝LÔxËOü¤ő†ĺáqľtÝzIýĐË\"Â?o‰C»n¦Äo· X÷â}†˛E‡%Đ‹9˛5Ööđ.yŔ]);q۲!BÚm¬Ĺ‡3nŽŤÖd‘*WkŰą4ôş˛A÷ ­‘t0‰ápű)�k�–ą;N«ő¬ŻÝ韇ÝÁÇ[äe4} Yo±+7© ś)—Ş•ˇŞ&Ćgľ'kdóĂ($ŰvÇXź´†5Ü®·ˇ÷ÜB{ýşśĚP>Lž˝Č˘h rß č>ě&ˇsů˘hŻ îńĽG†Ž;ˇŹR;##µcsŚ +ŘÁić$K¨Ž©Ůl's±'Öąąyó·ÎŢâĘfŽ:xđY??…öďßźn˘ęąń§âçÔkŢęuĽ;i)Nć€Î÷ßÝpT”·ÖYöÓ§ BôńđđđđđđÉŚŢcĽë±‡8üGÁ‚’y¸dljUŁ3v˛©Qsm‰–g–iyq™‰íf‹ĂgÄ ů“É í„p‘¬ˇ¨R˘ňh•¦즑‰1:y×´2·#W€řQ­MŐ®ĐUz-Jô–·DÔĺëŰQJţH mKţ°žĹ‚$$H”®wt«1qV씡]‹€ Ṯv˛‰&!XHÁ9íÉ•¶ <ÁbA<Xô:hŹ ©çeřÇ]Ži˘6®˛×F{íŔ4CňˇÇM_çă\Ł‹ä) îD�.)ĐÂľF<1¸ßő± ȇTÁî›/Ľ<”R2”G“ä·Ü/ž<Ä}»”%3&±ó@ŽĎ Á˛„8W/Hď “˛B1Ě.vQBC~ Y¤éÖŰ1‹}ɶ_ţý użR ę.^K`lą܋ݷřŔČĄË5ŚPçöKąmŔ»2vńĘ_F*éëz‡±®O&«7Śmž`áááńdĆó»ďą›ŞµüŇonn®ď˝:áĹâŕßz'eśxx衇xŚń.ŻT ś1źč–[nĺqDőţ÷˙ţßôűż˙űôÜçţ;v”>ó™ĎĐSžr˝éMヌľűÝď29˘`yâ‡?ĽŹç¦٤ýęWżĘD€'N˛7‹·ľő­ś&Îá _0×\DW_}5ç}óÍ·Đ/˙ň/3ŃÄ1.żü˛tÝtżöµčĂţ0ýâ/ţ"]wݵě©ăýŻ˙Ĺůţ›óoŘă đ¶Ç™sË-·Đ?űg˙Ś=k`.Ĺ5¨űżúWďâöúëżţúĂ?üCúż˙ďß2sZ˙ťá((żôKżÄdŃżř‹÷ÓG?ú1şćškŘłŐ_ýŐ_s;ýĆoüĎçü›%w‹<<6%‚n*ŤÁ‘*  (bzr¸Ň·;icG-ąDÖńvܵŢu„ŘÝ3ŸӋE꽂eˇöPk~$5::BăŁçĆf¨Ă,¨ľ•Żw—‚Ä=ÎuĹů#YDÖžb¤”˛."żNCáąô´±vÄvW}ł•ŰPŇihµşŞfކ§ŞÔErI·÷$ë‹Bźr˝í„·şD-ęôVѩְş^†X›Îą~¨yü­cLëN˛„fŻÉçYT×®„ ]§ĎŘÝ~A˘°YĄĎ#,‡xĺP·#”Ő–Ď-‡*őCď0"YÚ©>,fE;wÖó„Ýł˛E“׹6Tť{pžĂí-.1ˇd»‡. ‹/Ľ*U¶vÄĚ hkěOŇ”­(*8—ßФˇÉŮĽÉżzô™ [|¤Ż}ďţĺ¦Ő™gg“vĚŹ«™.T•ĆĂĂĂĂĂĂcU°2ŁK¨}řäQZޱ9z„Eë<k5˛€‘u+ă#Ľéş±ĽBu,ĚúC$ë’ČĆÉČdçď’ądŇčPĂÍ=EmÜ××Wä”%© ďş.^łÚ łrbWNĘÄv4ŘÚ˘d#=Ž·óaŞă4µâNä“@®ç{KvmËz&żVŮŽ¶9O°ŘdŔŁ~ň„&Yčşüo€xˇŕ-€^,qM2ßÚk…ä+rB®B{—ĐeŔq!7hoš ¤ 7-ÉOî•öqIú·öČ!ů¶ŰR]Gä“…fŠ€ňÖő-G{MF*ŃÄ)»üFlM©Ż 66v«ěJ\"ÇpŇíŚó €D±ĽĽÖ»´›Yt˙ĐžL4ŃB·Ą„\!äěú…ŃFú’Ć0cůŔx†P P.ŮHܵă˝ĐDś˛¸aJ<s¸žK\TŢĂĂĂăÉ Ś±ßüć7éŢ{ďVGCö4ŕ^ľÝÎ<l`�˘·A‚xîóžG;wěČÍ-2—ę%őßřFöN13s–üQöţ�bÂmH”ž†äůĎľ96RX.ňľ÷˝ď±7Ěł(×Óžö4s˙"MMMňý 8,..ĐńăÇ9Ě҆g ěśűú׿A˙đţCzÎsžÍe=p`źÉďyLüxřá‡y.üň—żÂ.ŢńŽ·ÓK_úÂ|üř .ßżűw˙–žúÔ+ą,¨ĂăŹ?ž[‹˝ěe/ăôpč»ßý—áď˙ýżOĎxĆÓůxîř—˙ň_ŇŃŁÇč SoŘtüÇśë…uĂË_ţrúó?˙s:uę“\Đ?ń?AOúÓ9Ďwľógů9yxlN¬Ýب/L°’5<mW$5†qŽEůŚH ëjŚ[ZľĂX„upń.ŮâÝą®l*[†�†~„;Âř˝ńj×ňślŃ ˘Îcť÷č}ŽŠĐůľ:×­ÚŕŰ‘Ďv€U“‚˘]ůVFn&^{Ą ÂŃňňMŤOÝÜłNłgyđná=dedľ•ń;Ś­ş2¤&—%YM¨ŰĎß:weHU·C`íe+"˛äĎwëÝcZ'‘'Y©É.ňiKH×aPd´'|¬K•ë±Ţ(eÇűV3!P°nȆđ€§9»Ńáý¦Śľ*âsÍÄűč¨YĂONMŃľ}űŮóô8µ‘‘}ˇ.Ż(áׂ8˛sa;<4ŠKlČžYg É<±›ž\·Fâh®Ďزôě“üßö3Vxxxxxxśđ†żsĎí4:1N­v‹‰!ˇĐ°)!B‚’Y×UJT›Ł‘ń1Š›M"Ĭ‹@®°2/¤wëą"˛rIŁR«2Ń´µĽÂ¸ŹŚÍú«—óĎnkE!r•śő:˙Dyx‰hňÇz4 8ä±ÄzŻ€PšüQß(nńşŠ%Ă@e"kŘ„9!u$&iDěÆRKÖYq¶FŠăíéyË,6 ô‚‘aÝErźëíA®+ łŃů’ĺ bŕ×éhŇ„öŕ ŤôÚc…ä!ä mĐ—ßťźľÎőtˇÓŃЬo—|ˇ!„}źÔA~[Ź Y;B¸Ô v ‚8/ß+[?sÉ R$äY q–¨ŃĘ1„ÄĐh‰—†0ç•pNÂt༸–v—:şp‰4šč néi+ ±BŇ\ äůHśx잆AL€¸śxáëu8!XŕŻ&áh%‡~ţhŁacF{xxxl'€0đŠWĽŚ^tí ŐŃ€ţőżú˙ő˝ÓW^i‰kˇDýÁ~Ŕăđ]wÝĹî|_űš×đĽˇÇăă9¶ÄÁď}ď»të­?ŕcBŠy!/^ýęWŃŤ7~“Ăc`ěFřŚ×˝îµ499ŃQ¶éétýő/¦WľňśÖ>Hř‡DźűÜç8śÉ#Ź<JźůĚߥ޿@(Á‡9B<%>|8U\Â=óĄ—^’”7fŇÄý÷ßĎË˝{÷±b�ˇéíÝ»7-Ëž={xľ±mdçÖť;w¤i# C‰˙Ŕý\w”«ÁBÚŐz ±† ńńŃÔ›Č(?ŽIž‡ôóźÇ¦‡•Ń» Ú˝Vžâ‡}9DpY’qÔ÷ľ­ e8ă$Ży�Ä7Ź$ólt•‹Ŕ†¶DN�ˇ\čú–4°,Ć™ —m÷]w#'ô®Ťtçôj‹w$¸!H[pŤéëâę´řą ąbťę°ĺl~Iy%L¦‹|߇śN4 Y<H÷•÷ÉŔ*.Ń0‘hI6šDś¦‘ęͧ•y“ ›ˇ1×C!:čř±ş´z·űĺ-óIçőBd z¤›ţ˘ží;Ćc©şÖőŰEőČžO§R]t[Bz†ç6‡íhńZx ;.ŤA�äcxŃ(WŞjnjjš°—¨Ý.Űt «VÍúv§Yűŕ¸ăĐßTOĽZgÓ«¬ąňŃÚ‡űěö®‘Ż{±ţMî)J§°Ś]úNVvŃCe×çÓÔ}«ŘcE1âu!mxxxxxxxtB¦_©e~ľů{hbj’u†L¬ŐZ !Ë‚ Q2k ÚÄŐFj´\7ö´ĺş ďőHšx"c­‚Żŕ”Ś˝n¤JUŁ»+Ő*!Ě'{1‹ű/%•łŕlšĄ˝.[‚L'ňGe’EČł˝´dŮŘäÝ6ukĂŢĆÄ’8Ýł ëH]+CZ/2TI“‰‹IŰ ž`±‰€Î Ač&0i˛&@Č=ú#EšöÖ ĂcHrŤ¸‚ŐięßRÖ"¦ľ[VI×őbhR{˝k ×BPWáĆIŰ­{ž çĽf¸e×ůaD·„I(`´‘_ľKťĄ­5™C— Ů­ d ic·Ä—,¶%Š 6źJ.Ö˛xŻĐDë # “˘ëë`ô`Ť®b”±¨cďÁ{8 -ńVc®g !‘�hi/!TČ5ÚKIQ>RWDÖK‘ăááá±qrrrŠI�x÷ąýöŰŘ›ĂĎýÜĎńoŚ«äß/>űŮϲ‹ĄĄĄ%©„ś:uš>ţńOĐ‘#GčĹ/~1íÚµ“zčaö®!ë‚§<ĺ)tÉ%—škOŇÝwßMźüä§žűÜçtŚ÷»511λä€Ý»wŃUW]Ĺä¬ćá}!Bţá?ü9&H /Ě?Öŕás̱cÇčiO»ŠçẆđ&aŰ)`ďMŻzŐ+éÁ˘~đLX8|ř×s+ÂrH›‚0űłşÇ9E=Č·ćççRE<¸yN: (»ĹY?`®c%ůRv?<m´Ű)ë=<6+ú­ŕě †Ć•(@8ÔmJ®P»Vâ0 2ŕ,0¦hăp%ńz'ň®lY,Ë,˘$f¬ś°´<Ž(+TśIĘż¦5z@Ô7ŘlźKҸ©÷-[ák ákQM)Wţ¸Č¨kI= Üś·_B´CŁŃâył?Ǹ0!eŰ °ňi#×óľµ /* Ůĺ07ćlĐäw. â´Qiś¶2;ěÚq KipÂF/3ľÖťÉďâýň.ŞŁ{ŤÖ· @6n5ÍńbŹmÝŇÔ›ť2=š%ÚµŰvěnÔ›ĆcyąaÖ ‹´b”˙ áUŤľgtd”¦vě ZŐŚŐf=”Ćř^„î2kÝÝ»vsřYő p’Î.óT-«bďg±Q•ÄĐjĺźóĐ„‰ý©H?ÉÇsÇşF2’ˇM+MÉIĹÍ? Oő™=<<<<<<ş"•GŐ¦ŹgϰW.OŁV;·n ¬@N%ł6ŞŽŐ¨6fĂ´WšÔXŞçB|Čş Ax­Ď$ ëů˘:1Fµ© 3Ď[Ź &©dĐîš%Č ú9Űęâüj‰‰Î�žóa‹CŮŕż”„i…\˙¸ž\§˙ĺĘa=aI¸xěKÖMX3fţm O°Řd€˘_{ (‚& �:,†@Ňp‰€xRĐFmń˛ ĐĆi÷~M¸‚DáB§Ą˝S¸×h2…öfˇŻŃuqË ż5ůB˙ÖaHÜú¸eE[¸!W$/ýL´g÷™č{uů\R‹×ĎOČš<cóÍ^ ŕb@š!Ţ/tňŠG )/Ś6ň* V  ŇOÜş ‚"âţ‚PC RŘ!í%ˇ>4IE“W¤şnrŤÔEÚÖ%ŕ7vD[O ůľíIŰyĺSŽC;ˎøěŘq& dÇx/}âź kŻ˝–CoXĹ_Ě!©ŕťä‚׼ćŐtĎ=wŃżôy:rÉ…<—ó§-Šę8YCé[ŻŻ¤÷///ѧ?ý)[sńO<AýčÇ8Żk®ąš=T,--v!@‘Ú4sĘ,—ŠdÜçťwŇŐW_ÍăĽőŽO»yž¸ýöŰMÝŽňÝSSSôÂľ>üáł=näöŰď ·żýďó5¨Ëłžő,zĹ+^Ażű»żGň'ďŁýŻ˙<x€˝W|ň“ź¤ű±3ů¬Đ7żů-&ohÖxµŇŇÚ{öĐ—ľôe®ć±~đoŘCH¨˙ˇC‡čßř]~ůĺĆ䦛n˘:×=N? •¸í€Ň1Ţ;ĆÇÇŘ úáÔ7ŰY”ŮfHíĽ1=|ŞEߢN§fÚtfŢôeÓ•˘Ŕă ˘b©}ŻÂÔb˘AŔ["¬ J‹Dńg¦řR)¦©‘€.ÜU¦+öWčŠ}e«•řlŢ!Âć°–öęÁqb1F<{Ţ’(»{óŔ5 ÉS˛Kšĺ$1ÂđN”<I]<ăŮ5¸d¸çhű™-ĆŘAډ#fq,ď|gú˙šzVŹěóňl~ÍşŁ[˛ëŘýÖ«äńŔgË1Î�hsĘWÝH/ű3 fŁť'Xôč¤V-u¤Aĺô’ěäĘ’´;Ůě(¦:ËF«AU#ď[]oĽ?Š•qϧ,<XŢEŚ=Ż ť+é�\ÝŤkđîRş (4i^ź–O—r笾'Ëű±G6ÇVŚbzŹëyÄěŮ™"ŢXsšVŰ5ŕ…˘ŃhÚŻ+u^żĎÎ-rxĽjĄĘ$Ţ}fť[3zžruŠő"ĐĹ`·%ÖŤ““é暀ăÜHѢ‰ÝŇŮŮęAaŐסĽS:Ď8ßCŇ™Qç»Rô úmÜ*ľÖ)�u·˝űuQÉú]Ż[]ýVÖż¬A#Š·ĆZÇĂĂĂĂĂcó!±aĄ¤ç€ć—hÇ®ýv-)ą RŇ@Éč4kFÎ7//ÁŘ ‡XăŤŇXwÂî…P‘ąŁiíˇ±mŐĆj4ľ{Ú¬ËĘ´<łDí†őËş« 4]3#ą\ź¬ŰrkĄ„đ·˙&aSĂú4°ĺeŰ›©W5¬R\2kMj°÷3ĐÄ™' '»ö‚ŠE4 oĘhS),óz6HÂj]ő*÷…'Xl" ciŁv7ń] Ębtô˘^Îk‚"C‡ŁĐĚwMF{tÇwÉ .ŮA8´áĽH Ëމ Ee–ďrNÚË%oč˛kă{wa)Oq˧˝O�0ô oi_÷ŮIşşlEaWÜöŐ×ä 2”Ë-řî–U÷ýüuţř`—­¸K‡0=11‘s\Dş,ŘŐ b\Şc·Žń޶$ôîĂB¶(óN‰ —K<o7‹˘~.yéżr;Ť…`ááááń䀫őěćĹŔĆÇŔ»ÂG>ňşá†xl†‡ç?˙ôÚ׾Ć̵”Ě'F} łű÷ďŁWľň•ôńtÇwĐ‹^ô˘$ż(-‹L' ĽńŤo`bÂwżű&6<ő©WŇÍ7ßÂ׀ЀđŠń·ű·<ĽęUŻâkŠĽaÇß_ýŐ_Ńg>󙔤˘Á[Ţň|ýë^÷:oň;żó;¬`–›,ĚůwĽăô|€ţŕţ€•Í»w聯Ľä%\§Gy$Íç / _úĄ_˘ßüÍߤ?ýÓ?Ł_ř…_ źţéźć2ţÎďü?ě é˘üé(·>:pŕ�˝á o Oú3ôž÷Ľ'=ö‹żř L@ůň'Ҥ˙§ô»żű»tŃEŃčŘ(UŞ•” bËíÎÍöůÁ«Č[ßú&¨€ ‚ąĎ><¶ěsĽűh>sű }˙‘&Í/7haŮ덀ZLš°®ĺ�kšÜ8Ů! »Iů˝‹Ĺ…C¬ŇĆ«7+Lł. hĽĐÔh‰®ŘWˇ—_YŁë.«šceę?ÎŻđŰÇĚ•űŐlT+Ëłő ˝ 4‰ hž/ĄŔ’bô˝"ŔĐ&ëa¬ËĺJáÚ·<Q&¶ŁvšŹţŰ«.Čk~–Cz\·™Ł@ďž[­W‰^FŇ A¦ť*:wžő5Ú‘*3Đw;ľUf¨RݬěÎ˙äXJÎÉ]IL‰`‚…•µŰqd÷gEťm`ż'›@ÂÎw6N2‡‘4n·hĄŢ ‰ńl#EQú˝› Eeí×O¤ov^Slزk»µM7’ĺôUŠ;ËEĽëŐ˙©Ă#Fç"˛őebŕ§Oź6kŘš­˝L -ŠŰJ<Q´8”G“——i~nŢŚńusĎZ2c=Âx`=}ÁĐčd‰vďµ}÷ĐlĂÇŤ'sA9§ęě§ä4ďů—Ýá»ŰŞ$JĽqw##ČoNCÍcŚW…í$ĺqôp4)tYĄÂsy"EХ̱úxxxxxxx¬gç(2SsmĽ–­™rdr¬ç9´˝Ń×…‰ç÷úň µÍÄ+„]áf=ŹÍ„)¶ˇFĘFß2ľkšF¦ĆievžÚć\¤äě°'Q4H˙"Fݵ Ź3âÓë]{2ů“„2ŚC!ˇ ›h™ëÜn’őĐÁ<á U9Ĺ’¦]S"¬őšá®›Ďż†i}á-Ž› 0 ô:ĄüE‰HÇ×Äů­ íâ@“„ !žD!&$ŚÓ(É ×ą4ŃA<c�¦B§!égůízp… —€ Ëč ‰n;)ĺ·ú+´‹Ku}­@ŽéĐÚ ÎË_Ýf’źRŠG©Ż¤ČrŻtąt<O”dś±†3¤?iŇÇ ń?»ApŽ˝ř.˝~溼˛ĂN“]¤/ę>"Ţ,t»éşęg @ˇŕz…ŮŞŠ?Źaoďz×»xĚwńď˙ýżO×_|1ýç˙üŰ©·슪ժ¬¸3‚€±ôşë®Łg<ăiX ڧ8†Đ `ĽţŤßřŤBbĆů—ľôĄ|?ÂY oŕ~äG~„CvŕŢ7Ľáőtýő×ńy¤oE$)~ű·˙SλE©T6őśH‰—\r1ýËůĎŮ’5ôŤ˛× ´¦öqřŮ%˛9Ź{GFjôĽç=—‰đt\yĺô_˙ëď±)|žýěg3 9PŻ{Ž?ÎĘlŕżţ×˙šŢ ˙«Ż~ß]…®P/3d{öłźEżů›˙Žë^«ŤpşŰ¦§§¸íßűŢ÷˛W&Úü·~ë·Ř“ň}ÖłžI§‚ú˘-÷ěŮkŇ|&G<63 „Fô·7-ŃľcÖN ĆŔfŚ,Ad 0ćŕ["“ck@ň]Č!˙¶Rj˛ľb’EŰş˘äßfť„~†ăćÓnFToµŤˇEŹźmŇMŻĐ­O­Ń/ľlЦF’ĐA‰Qp+ męW `äÄ/­ŮnŔZWąĄÄ›EśÉu ‹áŘc6\Ţ !ˇ\Hš0Ôµʇ�ŠóŞŐ ­4[´žpąepî/3ÄÔÓď}Ľyß!×řXL¶PgשŤM1®Ę6đ3„>ˇZF{µ]Ł˝FLâz",ŮçŹ]]Ľ[K‘JµNĂćäšU”žŇŞÍfŰ ďQâáŇz)˛;Ô%(=»ŤĹů!t ŢO“íSçZCvm^“„ż+ e’ÚÓ#…:°8JĎrš5łţ\^š§ĹĄ:}ę ŹáX =vśfÎÎPŐśßeÖz9B/¸„¦wLsB_ÁŘ^6!ł•ŘĹsŘ[Ů>(­‹Łó?µrb»3wmAüLŠÖ�<şľ˙}H>¶Ň_zŤ%֤뭌8Ńď>ťŻ‡‡‡‡‡‡ÇđŇ˙äw@GOť ňh…jŁěa^DSq.°!>xOfíŹ`%öč`l[Řü’¬—Â’ŃO98,‡ÔXZ¶¶ĽjHŐÉQš8°‡ZFćX™]`˘c_L7$r^ÓPĎËă1DŽÉąăq~}ŞŤŃí EQ3JËĘ˝8 /°wÂóe)ě°Ń’ľvÁ,6ĐéQ|iC±ť5ŮBí±@ Ťú’§x±RažR…ľx˛€ä-‚ś¤YT…šŘ!e—<]ăżüĹ58ŻÉÚ€.çµ!Ţ’ôőBňë5ąA‡ţ´¤îzŕ‘4Ý2J»HÚ®7!Hôŕ$í*ßuŰÉ1íCH$âńÁ%EH}4IB·qßç9Ź huź™î'«ň‡2�Ţ*െ/Ôö-µ„l’‡´+‚Ű>ňWÚ\Ľnôň’‚sČÓm/Ź'  pŧđz �ŮŢ#zc(<#ŕăćťsxfčŚÝ:_�D8ć'|úéô+Ż%ěáO7€ŕŹ ·Hë‚ l~ düţď˙w.÷ßřFž_úóŤ*t{0ĎíŢ˝‹?E�qŁWŰ]xá…ąßhw„Ńé»őuďńŘl@ȶ6ýń×飷,ÓěJ“Ý3¦jöŘ®ăě**HöF^§fdÖĂĄjâZެ­Ůş±+Jö*ĎÄ®ż˘F?ň”zúá*í™ 2üŁgZtëc úü]+tϱťY úČ-+ôŔ˘÷ü_ÓT+•‹lz›™§šmKš´!öëUrU`Ýt&ç]yP�ńË„<?,¬,‘­ĺ“ĚĽ;ć! ­­7ÁbŁ }ÖŢ® ]ćuе‘Ë•“‚sJ˘@Y˘>ŮE§Ř07Ľ—N‹ňĂD_™ë\Ž)]źMfČL/5˙ęŤ{°aBŠ«>`CvB\…§©ďÔ ů=IOµ±UpJĽ|+Y ÜH™¸ZIÎ…I©¶Ä`Ľ!ÄČśżŽN·Hé›ýîç…@ÂQea©ş•QtWŮ&)ë=. l–p;IwÜ~;űzţóźĎşčJ^4:–ó\[6ëÄR˘3qu$ü=Îľ‚Ľ¨îĺ•-dű±čÓś;yΩ×ě% ëđŰn»ŤžűÜç®ĘCŇ (%|¦8)Ô!Wď ŰtEÎs-Ú„U\żNmŢqÇ·yŘą$čA ’¶ŹăŢ:¸^ýŐĂĂĂĂĂĂc}pôôqŞŚT©<VĄREyާdVO¦cö(‰µě~FÎmÖ Y"aXY˝<Raö>ł–3küÚÔ(ŤLMĐ©cQ/°Î ®âu~Íc×v-w%‚Nćo*·“2‚y…ŃNĽý'ë^ça-[NÖ˛‘ő®ŠÓ™túŘÜ‚<šČ`1ĺÉŰž`±‰€Ž!Ą_gŻ BJĐ‚•&3‘+‰»ą_ďú—k´±]v=écBĐ$QäiŹ€1„¤!yjĹś& čAďľ’zIş®g ń† ëŻŻ×D!hďrż”yę0ş]ty%Oť®&­č6/’ľÜAMÚLht8ÉO·Q\O®Ŕs :€ř�Ł 2E„ףĆ0Ŕő¨Ü[b/ň’> ŕ7Ň^^^ΑD`ĐÓ¤üĹ=HK<ZČs’2K;˘Xm¤mIő[Ž' ¶KÁĂĂĂĂĂŁ0—ľő­oĄ÷˝ď}ô«żú«<Ż@!ţÎwľł<âáŃ N˙ü[Ëôˇ›—iˇnÉ–˛»ř ,±0PâĄ+¶˘= ¨aXf’mZoa˛—˝ŕâýă—Ž3±‚ĂIŃĎ|vM”éYŤĐ[ź;A_Ľ{™ţüĆ%zôL“ľýPť~ůłôÇ?˝¦BÚ2€WÓf­Hvog8á—âüZkf¬ű-!ąD ŁđY\\JÉďĂŔ®ĎŰäôA[ ¬ç­§¤Ĺ´ŚÜg0u+ośz*Y?#˘<ą’ŤJá&čZŃ:U;“Ť{Ď×K!¶ďnXo%Ň«7ęéć�»łĽKűÖ¸˘SÍ(KëŤ(é@qŞ -*_‘!:Ő]”a^ŻŃxµ¦Ň‰EnwĹëFc-íĽ©ZOeŃY'­˙q•ÜÚ¬Ţ�¨P#đä†:y'_r jAčÇ ěőť:ölcŽÖÉ8ŹţÎzžGŕůt™ç Šxŕšť™ĺ>(ˇ\'N˛G77¤îz‚ťĹ$eµN·­Ň^/�7ÄłŚ®ł~&]óčfp®Ét}B´(Cě\oż‹ž®¸ď•Oß+FŹőDĐńýëßű6…•µĚŞÂd‹ ŢÔMV6nE-j€`aÖ"Â59DçčÔµŚŽ'2JŠĘhͬőCÚ}äĹćXsa9ŮX#,Ňb[Uwy¸sŁq‘˝+='ě(#nÉ‚&Vi’ó]Ö«b‡e[śY¶+/‘Cô… Őí†%÷t’™·ĎşĆ,6%Xč—H ĂGčK“�1 ‹’­Č :/€;"„ő}RąF´RĎ%HĄ^" iÂä%„!Hťµ ]^íeBň–ű4)×ÁŢ­‡äŻ˝DHŮJĘMޤ݅VąV9v=eBź„Á˛ęk×›]´w —¨˘‰ p.éhR‹.o~gEď~¨ <(ox¬Ŕné'ĽˇŕEšŘ!y˘/€äón›Č3€"VŇ"‰´“äŻű˝î[šd„|ôsÔmčááááá±`~BČ˙ň_~‡<<V‹¶n?sŰ2}ň+´°ŇNĆٵN;¨‹k퀏›L˘€· ,ĘA……ň8jR‹Ř*´«Ćŕ÷ú«Çč]?F§%ÜG–Ż^ŤWCú±kFéĐt@ďůâÝ{˘N7?¶B˙ů3łô®×Lš´Ę4 Wő CŻ5iÎHŹ–Ač VSl?CŻqIŻó%Šrc/x‹Ăz»Z­Ąëň˘°M О’ÚËŕ e†§źQł‡˛).uĘ‚˝Đˇ$Š3CŐđâDśîĆ)>ß˝,Q`ߊٱs®18ą˘;i"˙> ·»‚.÷=çâľ$‹®÷ٍź¸×@ö ¨Ţh&,zŹ=!ë-BvlßĹŚ\1 rJŃ:‰0őN#á(ÖŰU–±qđkSs8‘‚…zĚ#ůŤą3ĆzŮ<”é,âT÷R„(źQB˘ďN9ôŹ€ą™ö „ aĄxÖ—ŰífJjµÚĽ ˇîŽ;JŹ=öX˘‹˛ŢEˇG©ŐĚ_xžŰ?E—^´Ź=hčMT?t,ÝđłQ}*’z ÍP—¶­dŰKZ(Q‡7ť"¸F‰nĆ÷ýÜÝ]źé5ůᦡçŔ¨0ż,ͬfó^TPÎhŰK=VŚ;Řŕ&›ń®2ş\xiÄX…–۲†¸ď‘‡¨|ˇ+keË˛Í ˇđĘĆöąR§–3cČmëęŞ2QŁŃÝS4wôđfďdS#4şs’NÝý‡ßÔÉö#RH!c’ßaBöŚű’,: edQůŇuÍ>n“2Řn‹°Č)ˇślhŮ 'vFM[@ ݆KO°ŘdÄu«\Öą|׆x1΋áÚ%1‘´7�ýréPÚc‚¸<t‰¸W”pXIÝ$/]n!*h„ľV 2šŚ‘îöHÚDČš!žš¸!ç\/Eˇ3t[h":=Mâ¶Ň-lë2jR„&‰čüô5ş˝.É@“&ä^°ÖíŻ…Ji]‡"P |aaÎś9ĂĎXňvŔ_»cͦ‡ëA´�‘ {śÓDyNşĚŇW5F×_Čîd"éKdŹÍ„N6č3w,ŃŃY(>r ąv't‰$LGĚÄ «Fů\52»^Ś­“ňĐ(K[ŤU"zĹUôÎë&čŕt©@ż/.Í$;Łźw¤F˙ü•!ý—Ď6čáÓ-úÄm‹ôĽ‹*ôÚgŚ)‹MzæAÄ-bĂ�-^oWCC@Őîă ůŁe‘ @x…ş=G…F¤~4EîÁ:\Öď¦5:6’z´ëY»BÓŕčG>`ýýFkďÇ˝ŤŻ… ¦sŤdĂ0H˙¦Ź ”§›Tâ"Vçđ·iň…×—Vłť 'Z&’©’uďääęľerŻ1ť8(­Ř÷¬f;Ůâ0}‡Ý{1 Ż©v‹`5}§ČS‰«[ȧßÍp_ś†&Y€”چŐH´Q}űZňť‰pF©ßl5©QĎB !XŹF sM‹}ěQš9;Ăd R©lĆó„H1RĄK/˝ĆxL™űt),q=3ŞÁ••lÚQ›‰¨ÓFmćÝ(A˙c~5É®##Ě˙LsC%cfŹţ uN®n®74QÂ=¤k7Š7űdáeôąÎ~'붸GY<ÁÂ#čiżóťďĐç>÷9şďľú ÂWľîuŻŁ—Ľä%썱_?żýöŰé?ţÇ˙ȡ'˙řŹ˙<<<<¶2šm¶V8qö íľ|'U;Â,+Ţ3q_(‘°kó_\Q2Ç«Ł5ŞMŚq0±ÉNŢGÍĺeš?~:[ź (3¤6żX•;(ľ† λÇőRÖŞ„‚B¨=`˙‹’u ţĄvbVc™äđ(”-RÂ…äçíźŰ Ţę¸Éŕ†(‚~aÜĐ€& hD‘ÇŔuY¨ÓÖä"Cę&6Q¸É}blÇGBE@©Ib€wjÝ„˘0Úîž“ôä¸KľĐá0´× }_7"„.— ˇC[¸÷ dnuąĺ·&N¸„—d!ĐEd""‰NS_‡g‹]qłłłś¦„ŤŃÄ )źnąĐ^4ôwąF{#)"Hň¬„`ăÖeśśĚy&é%`»ýf#TMcü¸ĺŃ:Ý{ ^*b%Ü‘µĄjgÄţ(`;Żi(Y+&6¸7čŇ}#ôŁĎš¤ wɲ/Ă=Ęj�zŢ‘ý_ϧ÷|ńŚ)ѧo[ˇ—_9NµÁ6ş­kŰyP~§'||J[t ×}陬Osj  ”îtçŁÉZ ¬Ńń2XŁŃ´ źÂ ‚ěŻěbQ°Äę( ›0,&ĆĆilt´ç5ÝŚÄ9ĺKv:Á{Ď0×vM#•äł¶ţ;tţké×qÖk6\Y«HѶ*yl¨F*Îł ‘ôuűś Ť®±őZQ©–ŮřőÔŘ["˘®ëżŮĽÓ•Đ)]Ü㾍Ćę ¸«×öťěYY’c™˘WůíąîyÉFDtoaŇg8[ ő•†ě<…„lŞŻÔÍ8żŚšű*vAb|ž_§“'N˛ń®/бÔjUÚ9=Aě5ó:H™ľ%HÂ6•ś°łyj˛¤«?¤ßS.;oŇYb"ÇääD_ý'…ýŘŇ UJŞŹU¨ZB]¨†_äßb†Ąňjˇ§Ź‚ń¦Hgč~/$PŚ[ٱڱň`ÇĹomn.)î_ů˛EN^r®×şÁăÉŠz˝A7Üđuúó?˙sÖ·?ĺ)Oĺ~/5˙ýż˙˙óć7ż‰ş†ŔJ8źŢ`űčăĂna­6Ď:ÄĂĂĂŁ§gĎŇÁ‘UE čŐšZ#"FĆVV–/0k›±]ÓT1kŻČ(Vrˇ3v_z!żí‡6Ś–Á@\°®a")‰í,ł˛Ě×gjQ‚DŁÇ…öÖŽű˘¬BvăÁŠ+ŠJIČ9J2íěşBŮ~Á,6Đá üôR^iD‘ŃX‡ Ň„ö¸ ž+Äđ/ č oIOď„Ňż9®Ťř" ŃBÎi#ż„“Đ.fˇ”IÂJyŔ U"ůK™%ýׂu»čżúĽ{o7»>'źn„i7÷ ť†ű)ÝĽ„ĽawC”:„C´ˇuýXO‰® Çqa9tť…Xť 7"dä)Ď ĎVúô3ä+ýLB†�rŻ<cń°"}Sú‡ôSM*qŰD·+~kĎ'pe'»ćät«˙Đ <Ź!ˇóÔ|“n{¬NłËyĺ{Ţ6¨•“6žşSÍÚŢ›ŁŔ®aJ0 E-*W#zćĹeşćP7cEĐ÷čkź6Iľe†î;™Oťî9Ö¦k.,Qf|§uŤâŐ›}Ă8°aS CŔÎ ó»m>e„SŮ€­ţŻč\ŁňŃ@v1&1Ü$ŢN\Ů ¤ ¬ÁµĚĄ=%f2ťVš˛ß69GiČĂ„Ä}Ă&at´F#ٵk܉8î4rĹÎßs‰XY´VÓĂş•9XĹ=Ăĺ;\*çB6|PCy×űŢi[䍜ŤF+Qők}˛ĺRoĄaç{ש[aY”šT ´ŇlP\ ťüźÜrjľ¬e2ęB4ěĐC'c_á˘WtŻ—M:¬«2ŕ%"]U2˘€×4}`ff†f·}coŰ\ń¸<3sÖčefýHĚ$ (Ęĺ>Ľ“Fŕą´ZĺĽ]CŘĐPr6oĺ[$H»ŁčT0Ď Ôán˝őtËíŹ0ŃăůĎy*]xááî$ čˇć(şëŞLMQëň‹)1óY2SI»… &5-QĆîČĚżÓÝ\‚"2‰†¨cä{YÖgä}§Ľ•$ť{óz]7Ű|9´>ŚÎĎdč±iqúÔúčG>FŐĘ˝ő-oˇWľň•¬˝ńĆoŇ˙ů? O}ňÓôş×ţ¨YźŤ°n÷Ţ{拾gĎňxrŕŔşřâ#466j'Pý!»qďľűîŁ'Nđď˝{÷Ňĺ—_ÎáŕŤ:}ůË_fâĆ•W>…yäöšqÉ%—d…ăd|‡őđđŘ|‘)j¶lÍ’Ő°­Ť2Âk¶~'#‘“Łv¤6¸xz1aɨihlzś‚VťFÍXąđÄŚ˝7 ×'EDÎô\Wňh˛’»Ż:ňRdPą®źü§e{%~âŚ~Ű4c±Ű–’zDýÂDnUx‚Ĺ&4ýšP  ĆúĎEžˇÉ’§6Nkb†¤+lńX ů­ŤŐÚ»€s­„]ŻcůÂč.$�! Ŕ(w….™DŇH:.9Áőî!J ×cŻÁL<I¸Â—›~‘Ń_ß[dŔ/ŕŠnyÝzĘušŁÓĘ»Ł,ĺH7nYÜĽń¬đL°čĆ»áäśxž°ńť«i{‰7 ÉGÎI”|]o-rNvyHŰ aĂíłnżrźłüĆBßőÚ1bÄ“-<<<<<<<6 Çć"zđtD«‡µ,ĺłP`ŞB/¸h‚jĺŐŻa¦ĆBúѧď ˙÷‰Ó´TŹč;/Ó5N&yѦ„)đ—7K€yR˘uÁą02qKós·%SÄá8#ł CÖÎť»x­î’‘mµâO+Vҵ5+ŤěF”(ĘËý€KĆĆGŚLWÉ4Bý/ȶ÷¸_Âż(…輇É{”ˇsa꼹úmot-«˛P&:ą®Ö0ą?.&át‡6Ŕ†©•}ďL›e뾉P9´·šF‹`ŕv7*Xăxwą?Ý,‘((áAh„<VĽa}p¸DŠÎcśz>'3śwęŚ�­#±c±Ők„ĘsęéS§čěĚYî+uc¤DNź>E­¦őDQ®”8śG5!RěŘ1F{÷MjŤ=Qo Ě«­E·’Ő)és}ĆÜ®çěiťń®qd îwßsýíGżHŹ<>OW\~):töíŰĂa]‹€ť3z¨ú™Ó´;ÄfHěŚ,wř‚Łîzł]¨OŁ>u-®sZ«;qŞđ(qč®<u69g?™«˘9Jí|Ľż"݇‡�ďŮŃŁGéᇦç=ďůôŇ—˝„&&ǹ˼řĹ×2ynvľV,ńˇ}ľńŤođşăĹ®]»čŤo|#]wÝuiăšĎţóvŤééi&pĽćµŻá<~ď÷~Źu¸/zŃ‹čرcôŁ?úú<ÁÂĂĂĂc3"Ň™uß®˝„ąĽŹ˙ĄÄî—^§˛4«aÚ XDěQ,ťČC»Ö*ŹÖ¨>·Č^Ćö\z¨U§…“gŤ}¬5°¬ÖŹô`Ď%eą"ó‹–^ă®ulşťůČ‚ŐnAčDóř oFQ˛.¶ ‹m O°Řd`&{ą÷cŃá#ŠXך@ˇ ýÚ+&>hŇ…é…Ŕ eŃ÷‹\ ç:]ž"Ob0—PZ‘gcC¶R˛obĽÇő(‹&-¸wŔpĂč6rëÔOIč*?ä»›V)ĄČŕ*3ĺ»GŠĘ©ˇź©~Òޤ!Ď´žě|ĐBvQ4°ŘĆ® Äî“/ňüeśĆCĽRčrQ‚U*TŤëĄD÷/MÖq˨ëÚ ú<„uQhčüzµoŃóöđđđđđđđX/ś]ŠéřÜę ±ÚľshŚvŤU鲽5Z+žwŃ„OQ˝ŃC'VĚzhbk¬‡ ä°öÝ®k7ëĆÝ®sŁäÖâ‰C( ůäh(Ŕ‹—Íy˘DŃšWvšŔĆâČş§cc#lL¶´ČľăLm3ěZ|S<ޤýĘí$*BÔÍý»ŁdŠăâŞĹ=”QęćÎ †3D«™ &ěśîĄ‰Š'CpâĚč̇V›Z›U2Xó.÷Ocđ­UÄ#6’„ňµ+j=ŚXŠ­â1Nňo’ÇůKšč~MĐńś‹ŚűöŮ[Ł»ě-Ç›_ĘdĚDFç2GgĎžäq¶R-Qm¤Jí¦ {x-§PÄcE(éęK]Ęę’ć‚°{X€€şż»6™ 5,0Á˘=x_…®ďűß˙ÝyĎQ®ĎÉSgčÄÉůľ$ŤĘÄÍ_|‚ť;©Z)ĄJěĚ|`©+őfGm‚‚]śń: śQT”ŽöVˇ ±ęRŞźčÁ*Češ|‘ĄGDĘăTšZĽ™‚?yś/h}ţ©S§ř÷ÔÔ$íÜąě$CLĐzůË_–Ţó­o~‡>ö±ŹŃÁégögéôéÓLžřčG?JGŽÉĄŹtAÚřëżţkŢÄö¶·˝Ťóřä'?Ió7Ă^,.ľřâTŻ OÂŻxĹ+L:“‡‡‡Çf‡^.ěŰ˝7%”Ú#Y÷ĺ׆qşą!j[ů–×j d$ź2Ľ¸C–6ö0|ŻNÖhevž˝o–ˇËú«/ÉB­1˛%.’k î/ ‚Ę­©l2 $ݝ܇z¶á4Ďm´xń‹M~ 1Zk’ë)A^�íeAB-h€|ÇGÂ1Č‚HŤŕ’oŃ WTAŃ‹…cđXkâ9F~|ŕ9att”ÉbÔâ„|/2ČKý5ˇ¤hg&mč¶q‰,šĺ®Ťöš¬!;ÄÜç óŇíÔ­ŤÄK„”Í=§˙ę<ő_ąí©C‰¸çuYp-ä ¸ í%ÔWÚS5pĎE»˝Ô}DĽŁHžÚ;…~qcÜäÝĄŽľč‡äŰ~xA‘çÚ+ľg/ł‡‡‡ÇVvŹŔŤç•W^™†Lqî†n`ĹÇZÇĽ3gÎ$Jś)«żöµŻńN–ŐŐp-܉bţyęSźJë¸<…+Óç>÷ą]Đ.@0D»íßżźDŘą]9““vW?ć?¤Źu KßţöwŚ‚ę źC~ű÷ď3J§+Ěőv}7¬=ôPÚ&{ö졧?ýé|?ć_¤uíµ×Ňz�s)âíbçž9ľ#ßőÚI„°awÜq·Đí9Ł·Ţzkú\QçaúÝÉ“'Yéwá…r~ôŃG·ün¨ĺŃüĘęĄJ}gě 36ěÝĄ5 Źě­ Ř;µŁťžo’67m¶RśX¸ńF§ČümmS‚…­cb¨3φâäYÇ0Ň&$‹Dn°ˇůŞ A˝DĄ2ÖŔťňš»öí0vwK;u}:|ź‹jĎť0] E×ŇfBÜ˙˝Hw+gŕvw. \˝]v¦kťqĎz Ď;ş%4:uüG:5IÇŕcŘee7}ÔyŢdrPaaDGŻŽ!“ŘCŁŇŻ@6ŠhŮVż±\A®h¶LţĂ™ž\č÷Öu}™zÜëęQ¨0ŤL‡AĹ©Çq×ICńŕţ�˝_˘ŔˇbçÎi7ăeąrŢ!ëTňk«€¤ďHyB§\Ab Ďбöí±ţęů:Íş˛Rçp&ďÖoX B·ČkíăÇĚűń¬îYš˛Ž™ővůňK™lÂúčů’óBú€÷—ů%ŠÖz€ žiÚ{»Ě1kSe7©n¬Xý_¤sĘ•)pü_¤Öó‰ŠÇ/Ź';¤Y]i˙ľüÝď~—e÷ç?˙ů,»ź=;Ărř—żüzâ‰'RĎ2˘ŹýáČÄÝĽŕôÚ׾–ĎÝ˙ýôŮĎ~–ĺ×ǧúá7żůÍÄĂĂĂc« H¦ď‹]@ŹĚ/RĄ;äbsGČŢqb“jC>nóń0±we ¦ű ¨mdŠÝW]A÷}íć⼠Ö|«cçt‘ăĄ'ë»LŽŃąłq‰-ĐÎ?m»µ?:®Ű.â«`0-łÇ9ěŢďM€p är^~k˛~É5ŃB ăÚĂ€6^K¸ńXੵËY·ý Ý^r䢌;věŕ<ĹŐ­xcĐ!F\‚#ˇËˇŤôÝČ)®ń_‡Ń„‹^ˇ*\ˇI+şÎ.ąBnąä»ŰĆşĚEí(ç%DD:örŃłˇÂ.Ú[€H{éďrNú âmDúä'Ę%ą×i%“n ‘#ih‚Ś<é‡R–˘ö–xZYÍ„r®&!ŹŤ<?~<·C ßxŕu1Ě`Ţ€á^­%]ÜĹ ë¤EîăŹ?>T™°Ö@pŻ (’tĚiÔ�q• …Ü«>íiOŁK/˝Ô´˙"}ýë_§ąąyn#¤;11AĎxĆ3č)Oy ľ÷˝ďqů0÷˘-× (çŤ7Ţ–dNÖ3}<wćdJŽ9Âuv~ĹN|´Ö2XÓ@!¸ŐŤŠQS´–!YJÔJvQb“lyBcŚQ„˝ÄHG’ő,mâüÚvO‘ ­Ő·ťĐn‘9üŚŰ5K˛Úi]µÜ€±knn–ÇzĽ3řÝnÖárďVḇý5“˙°¶‡śP3ýłÔÓ€ž¦“ţ hý{pŇŢAď+â ł›vôc&Q™)Ó úýîÝ|Z†RńÝ׊Á[Däh‘ý“ç[ožÍF›ÚŃ!ݱFĐZŐč-FkćŻ Ý ň'dc|dS†lÁ<¦őůçäÝlt”ö|‹Ąk‘‹‹ô«IoŘţ>Ěő(NĐe—ź-k±ľĄč{ŃuöCIł:¶J˛…Ź›ë*ečÝ*ćo@ě|,LŘa˘EňÁ˝ k„AŢ#hNŹäCĘvÓ­ fÍjú3B KFŞđ.wě–Ç{ń´«.Łk_đÔϸ.píŽ]F/htĄŠi3yN-Ľ8ˇ—–›ě ¤×ŘX¤_Óˇvĺ»&IéónÚş}ůą(]˘Ş}ň/´GdĽ‹ózÄüÜkź#Ď!”ŤkÝ»™×[=١7ź8p�GXŻ €�sĐűß˙~z÷»ßÍň'ä+\ŹMř;11ÎrZ«ŐLőî:}č0vAWŹ÷0p/dX]ČÂ[ Mź{ő3iafŽ*±•±Qˇ’ÁÍÜ$^Č Âb˝&6·DGŃŞ7ÓuR`äčŃ© ŞĎÎłDŻç}M«ěµ^¶k<«튧»ŽH6áPÔe]4Ŕ2yőŁ»ŢÄzżŘ7ĺ·ţ»ŕ=Xl2ˇş `@Y¦C{¸ě&mä !!$hŇ€x Ŕ9=¸ľ™ �b,/©ř@7ľ[†µůbÁ†6Á 0„€!Ć{rÄÍ[ę.Ä]>NE"@éóş=]b…&E¸ő—tń]ÚT”,n[ćŮĆq.W0ÖnEµçí)­“ëýCú€î#0ę ŤĄM幋Ы‰)Rńl˘Ďé6b…čőőš #ż%$ŚÔM{Ípű·K°´©ĂĆ(<<<<¶0îbG <`¬„§‹+®¸‚ÇĐ|=Ŕ“Ľ3¸ž°[ĺć›oć9Ćűk®ą†ÓŔ|Rćđg=ëYlXŢí·ßÎJäë{yîBş·Ür “60Á ŇB™á•ç <Ú·o=űŮĎN˝MÜvŰm\ÜŁ= ˝{îľűnÎ÷;S¤÷Ío~“çžÝ»w÷%ĽöjOxh¸č"»kçŔ}¦Ťn5m|]}őÓ9/īŮ™żýío÷Mm€úÂ8B/yÉK¸>x uH›ÂC„(şŕℊřĂôĽç=ŹóQ;Ťŕ}⪫®b’Ú J3x5ÁőP~?ó™Ď,TގmďĽóNž_‘—ĚŻXç ,wÝu˙Ćł˝ě˛Ë<‚{PVô•ľđ…L¸@?€b.âç�ß˙ţ÷9]äŤz"=¤Źs�úáWľňľ˙ř�˝ęUŻb/#îó…—´+< ?#M2„ ˛˘lâŐ}ĺDŰŕŮĂ#ž‘Ú}JĽŹ _ĂP ;şäýA›ŕx?AĹNŞ•€ę«ôźl°``%eVCÔlG=¦±Ń5¬yLÂ'ć[,°ŤÖBężE­X›pEÖeş¤ÔŽdWÄöňJ(oQŽdĺb¬Jx@ŚŤčÓŐjŤę+őtMÜ Z†JżcwŮĐ h´Ú-&Z„á`Ď ĹpllÔŚąVÚgaN¤^y9–ŹmcŃ ň¬\ł–W$3îgf¸\×o¸Bj“/lWbĽögľş$Ň·‡Cî iŃ×5 ˘ł@ÖÄF•ă*ď0 SöPw†U9Xô0ŰđÁ5˛9A?S+âhű(·dŢĐČž}~ĚŠc­Ë_«ő<ö:­/˛d ¬A+ŐJ.í TdĆ‚ľěęŤěß°ëuýHĂ#_¨ĄĹe^O ’śčx^ůŠë©62ŽRĐ3Ży*]véĹ©˛ÚĄNNĎŇxy”&fF©=ż†gâ±7‰ď˝´Ňâtńţđń °[‹ňwuHý6ŹI˙1Łe;HłŻîXŇmÔçRCŤ‡Ç€@źÁ2Đ}÷ÝOźůôßŃ›ßü,ď|úSź1źżŁ±ń1šśfĎ€_ýęWyó�ä_Č“á!żCtű?®‡,†klşŽ=Ęsňěĺ1ŘĂĂĂcs"ń$ $ëBşü˘#´đĄY ’ÍżmxcŕńPŻ#DÔ0c"ÖBđ‰u]Ŕž¶×"őĹ%j×,+4íĆ­vŁ™4Çë»ŢĄí-¦ąk KîĄÔ;‡ľ&HC™“‹óëŮŢk÷št-JťΉ,{Žá › .öîÝË»»A“+\cĽ68ËG{�08áÇĹ(Ź—&wÍÚ–{´pQ$č 1AĘşZČK§‰`ÝBY9”0¦Ç©Ł&1 M]#> ‰’GQ¨ MBşk˛…ű] í&!2Ęé…Nň„~vB€)j·"˛…<OÉOŽI^x¦ňĽµË-ŻöZĽ…Ų(¤ěÚ ®C™‘‡´»Vŕâ¸ŰFşnrŹá!}RŇrźŤ(¨tşš$m+»†\Av IkŔë<<<<¶:0ţßtÓMôĆ7ľ‘ç(J`|ÇřŹă 5Ŕ›BŔÂu×]—Ţ ňćcŚëW_}u:Cńňú׿žcµÂ¨=Śâ0DK/~ń‹<·÷ Ł7 …pCŠ2!.ěOţäOňš†n¬™`° †u˝‘7îkRĚ_řÂRc7ŘÉó#?ň#Ľž@ť°Sk îA8€Áéá:x "+Č\ŤôA@ůžńڧĄçhoěę5ç N Ŕ…+ŇBť@†Ŕo´ ÚädŽ)Ďŕü ?[¬°ľ©mB%HPA‰öńŹś˝n\ýőÜN } „Ś„•đü@–�±ó+ÚLęň Ň˙˙ŘűpKŽë<]˝ăÉgň`a‘H@0™"ER%*Z¶uź$ŇóµŢ'JďR”­lë“%_Y‘’®mZ `@$  HÄA 0yćäťşoý«juŻ®Ý˝Ă™}fÎôě9{w¨®®®®Z᯵Ţđ†7đŤ}HţR,˘ <\}dÝ»wsźÂłŃĎDd<;ń4Áó:žÝG?úQúţď˙ţ. „¨(ç _ř%Đf  Ż˘îh3Ü ú!öŁ ň•Ż|…ĎC˙ŃŔýˇ q¨×m·ÝĆýí‰ţ‚>Š÷÷‰ňQv/LŹ´u" ý'huBV†ËJĎź[éĐľMştĽN'Ç.sůH9zö¦úÚó+NR?¤ĐŔ§ÓŮň[ġH;nĺʲůŚ™/FŽ&Čů ‰ďĆoôC¬Pśä÷ýv5Ć ›[Ö:°ÂŐd.0ťÉ© Ş™÷µŐ^%Łč4 ·ĐĎĽ58¬ÎáôąvźăĎXäU=:ď¬:,YB6q_‘«ź>hźEdú¶#ôSYH‘-Ä‘,D I‡ĘÎv,0(oÔč;g6|{Ŕ˙ťGńę=ôŹ0ÔgKăč ĺnslż7Áwúç#őÓýPę×óü!:ŕĚĚěŔă‘\˙¬łvŇ{żçí%KF˝Ę€aţx{žîŻ<I;ËŰčŞňąÜ†%y}ŃÖ¦ŐÚćďŠqbđŘŃ铲uŠ[˙Żß&Ym¤íg=ť.˛†|¨űzÚ&(wJ¬8µ$˙yt†Ź˙N ×ýđ˙GŞř»żű(ÝrË­Ľó Ţź˙ůź·„§·˝Ť>ő©Oń_ř…_ŕy „ţ›oľ™HĘhč6ôGDď{ßűX߇žý|€ç5čp s@‡, 8Ó$UK˘>ś»u-;NGĄ /ÜÍvźÍŃéŚüâZµ^ă´śě74r`kąA­F‹"Čý K|N{@bŞĆj ‰ü'Ô<„BŁ“ż–/ßîĂ2 ŃĆ÷±‹ué€0"k˘D– #ä)Jâ�—C~‹ł_”{!a“^§‚}Z9˛^6_I{čwĎYçć•  }ŔśĹjCĘqp(“];„  ďG_[ÚQGšĐ?UŠ[Pžn;żťtd]&ęĺ>â•h®íýç®™^>ŰKڍú™ëű’•ř§€N—á·µ]}Ą'(çK˝DůÔ‘!�MÜmŇNBڢʄłFĘňĘ2†o¸Đm eéëřýLÚŽ;ižňś÷·@6d\ô\"cµ¬vŃ p,Ś' ŕ7Ű VÜzë­)‚…Śí’JĆěë®».ŽČr�śŰ G™Ť(uq|‚…Śż¤€:!ş EřŔ)R�H� `NRëŻ8ö8˘ ZH!¸żk®y%–— kŃ8őϦ͛·OÄŽwäšG>˘.�pśŁ¬¬ą�ŰB˛Ň&ú<‘í¬CąŐCúҗç=ĚUßő]ßĺ ňŮKÔ`ěÂĽĂ×Ç?ţq®/®‡(xN~=eľĆ9ň¬AjŔ÷‡h¨ÓK/ätW]u5®Ď;oŹi˙Ć9{Ě{V\&ž%R›€Ř mA Y\\ćăwíÚM۶íŕ2p lP7!m˘>xŽxvč'Hź‡řÜÜ‚“Y­\ sĽ–©P–ţ+�ąÎdČ’ó} ¤ <g\}×ÇąXĄ4Ďx8őĂsü‹żř –1ĺ>…P*Ń?EÖA9 «ŕ~SĎĐ. °ë"J6ÖŚçۦĘtîć2í?Ѧngmrr9,qě09G{dĽ 7č‘éâť5v8ŘFŁÁŘč‹ßX Jhś}Ą]z–’G3ŇŚQ¤ŤÝč%“uĚvµ/V­ĽZ¤ţr’r\ĂB@ůŤ‘ď|Ď+7‘űýŐŇEĘfJ a5tůNůŔČů.¬óäĤkŰ/ç¨Z3cR9bźM}2u@qúŠ Ď­˘ĘéęHě<}˘b T¦ľ’uIBَý$niY®#·W'. ”ŻehăO7uaóSc9® ę˛ ¨_ů‡.­lWßu°0č~˘Ś·GĎóęŔ®ëÇmůµIđčsŰÖ93ÖŹ§ę× Ę)bůFdüm4˙`•ÚâŇ"G[‰M®9¶  ‚… Jβßtťăł} ŽlŃiRÝČcÍŚ´ xďĺČ›#†5Š&uMŰş âđMÎ;Yřed·UÖ8»“PŚěČÚž&Űx,âźÝ6˛ Hź—Q(Gö×dHsRťĺš„đ±Ă'C–Yg9>Ďö‘>_•¤ŹÍJe†ňŃ_[ő…´§ ěúfd”˝ŤôÜŃCT› ćJHă<÷ąŢÁŃ+ {fÇEŻ’{ÓĎ@l„b“{Ě/3öuŤ—Aš\#× ŁÄ.g›6ťş,żĽăR]‰z’z§ť.—ČÄĄŘiŃé´GDů+°P®ôš®ŁßřÍ˙H˙ăü&ÇŁ˙_÷ęWŇŹýŘŹ±ábçYŰéCżúANťvÚ÷~ďwÓw÷wó>ŕűŢ÷^&aÜ÷ĺ{č'˙Ůűéß˙ÂżŁżýŰżĺEŔo~— }¤óZ˝Âr'OŞÁHr!(P ŔÚÁÍŐÎŇÁzĆ–É ;4˙ Şo§Ú¤ńaU̜ۂ\ŃayŁÔ‚ýĹĚÉ MVUŰÍ–ő˘Śr‰e˝ćR:ÍÓş-sÔŻ6UŚŤ´=żŇsÎÎň•ĆrĄ5śd"[GRzk””/6€^2\žË™J˝NÉHVćëa1PÇŘ żsŞ’’w?Ábť±W¨l@;ţu ‹ĽÎ©™Ö:ę…DH‚ü•ú„áh…˘<Ş—Â’*ŕĽr¬Žg˝ĹéK˛Ň~ř„ť_Xę‹c�i??Eě÷ŹŐ«_äŮęçˇg+˛”?±Aę«É Bdż@żśçpPéëË}ęëřŃ;43M˙Ő©I$Ť ~ĂĐ+Ƥ¬!â ÂqÉC˘d�:j…Ô1«Ýp®ÉŞ× xąCĎ9züĆü‰•űHĎ�˘Čp˘Ë*\üń¸ütgMéë_˙:GrąB;°5Äé Łpá/¨ę‰4* ¸$ťć3űa|D�Î=p?_űÚd Ż!;Îáś—:‹8/eÚ†'´›-·™¤}ăśÚe¶Ăů.ěGä‰WĽâ şď>›dË–M=•ÜźŽr{–ů˛_Ř ‰@ĺ·5Ú m´ogëÁ`«c@Vpwʲ€ă$…Śx¸÷N§Ĺm+ň€ô?´ŽyńĹ—LN±1.+ɰ —DëŇ}ý�D ‘ç˛Ňľŕ^ADÚ÷®Waá\¬ĐBź }Ję‡6@Ä Ľ?h¤ÁJ.\;~.ld,;G˛őrî©Đžíuş˙ą¦Q:IhPÚ#ăd8ľŘ¦űľ=OoĽl†¶O ˇć©Ëľp¤EźüĆ v˘NŤWéŐçM$^εôkő@/]$«ďwĐ˙ŚŐ ś‰J»v­x8Ąßyç$äJş´4đXá—©#Z'Đ mkŹ›žš`ç!źźÚĐpý>čKȨVÖż—ăoT×ęÚŻ}ť˘3i˘EęyóT`dl:śv‡·ýŽ…ŹÓť(˝(€ŹČ čm5”Ń)Ski5ab ¬qϿIJVą¬ĺ±(‡ś—eçčŹŐŘđşŁÔ¦Ë{cčěkmľ—äÜŃ;S1Ťź5?E7.\DŰ&7ÓŘx)wĽë´#&Z){_˛_ě~"/růʆ•şnMĆÓöÁĽcJFŢ ;Q\˙Ľôs´s~ÉĂ×ŰŘ>$qrBRĘž[D(ĐŤóĎ?ź~ń1w?úô–}čCąÇ€<Ź�úďżűw˙.óXěűä'?I (p¦�łŞ] “ĆŽ-[ŤÝjĆ6ŹÇ‹–ÚäĆA�2Eład÷eŞ»‰D°`~Ah|`K+6Š™‘÷Âf›Z+MsÜ5ú,�íă]-Á'GřÄűAĐ-· U¸ ńńńÚŠ`4:özBA°Xgs–€­‘×5qŔ'_Č~íśâDz‡„}A®9*d+É>ý·°âF DłŔ*B8`ÂNeˇ#S|Öą(]€IÂŻ›ŽzˇĎ—s}â€<ßH¬ź‘˙¬|ä±Ţ5ńBoÄŞźsôŞYyîš°!ő’¬n#9ßőę)CV˛ę¶şŁĘJ[Y!űü($ş-ôőe;ś:´y Ľqs�V÷‹Ng̡"ěÂÁŤ48Žb„EŠ  ă)áYssB(Čź·1~Łp¸#Ťä 8ëeŽđç<l“ńNk™ź‘ZQPDż@4 Ô{‡r@®Cô•P%¤ŕ�jµ:4vîÜÁ„o‚&䔉2p]lÇď^÷# ‰”ĺď·9ÜA(8Áíą{÷.ľ&ć?¬Zśśś kŻ˝†nżý3ćúÇiűö­ą×Cű#×­*<?[iŻĽzöÚoʱ„DÜĎ÷~ď÷0é$|¦§§RǢ­ŃG:eJzÔcjj’#jĽęUŻŚŰőůBꂺcR}@f»ďľűâ}¸7\ĎAĆŔ3ř_-×ls$ż=ę*$ž<™}} ©Lđŕ\ô¤ŤHČ\Dĺ@ßÁs�!Ăpo=ôż_0XĆDNŠÜ%Ú4Đő{ŞtßSUzöhŰ)ö«‘µíę6čzt˙ Ýůč˝ëU›h¬ZňŚÖą“ąĽÁlš3Ž˝?żăEízÓeStŢÖš­Ű:ףPdâŔE˛°ś–3şřÎŞ€âg§7Pgzärô[Ű–8‚„Żźd^=C÷))ťBśSőz˛ť-Ǭ`QŻ:‹Š‹äÂHzý@}lDá 5uʧŕE7kE1…5ÔŃ©ăb¤‘-š­µ:éÔÝ0rŹńţ–'Ý‚WžŻŁ§mÉ‘rL¤ µYŃ+ śŮHl8Ę oćŘJYĚş ˝ ĎA0hŚěŽ â÷YMĂČÉá–xÔl5Ůépüř 5§¬ÍJuĚ[Ű7oŁM­Ů8 ŞFdä+&Ü9¨Ő&&›˛»¤dWŹR”^mé§ĚĹG:b«ľľţîŰť˛ÖneÉ€Ú&ëźcËŇç]÷®ź‡Ř ľ­®ń¤@ (pň¸ćÂËčsO=D[Ú›™QŞÚčY¬Ć†*rfŁEŤĹešÜ6KŁ—Xç66"cOi­4¨ä±—Ę%j,,QmrÉĎR׊lŤäw±3ŢEąú H‰nÝŰďJA>™4ëřĚc˘ěcô5 “Enáu ç0ń¤ XX#‘şźÁÇw´kµď`—ăd›Î#OáČZŐ¨˙ŽÚč0,sIîh/üaP‡3DB=‹c^˘shň t»á#Ń/˛î]·»´—no_“ó53Ţ/7‹ ‘G Čr@e=!±čE°bŹ~š`"DÍž÷EÝ–š|!Ä lâ„8$„€!×cF tuZí€ó•Tż]t{Ŕ1µZµ@^N€ó+îąi:0N>˙üóq: Ě›÷Üs$ŤśÎ[A¶@Ä 8ąA€# 8ŃAb�ů!/"Ćt8§�ő@}ŕ FÚ 8ë2|U×p|ă88 áp‡ăçŕ@Ŕ5á¬?pŕ@LEZÜę]­ÖŚÓű�AŠ«sŤgžŮË)C°r©7M÷ g?îÇŕ^ő ·a€şÁÁ.Q;ŕäŢÄǶm[9 "`ĽăoĎ-Ď)[Qs"w€¬âĎÝ>đ,ŃN h€ ćgťµ…ób?đŔW9˝Ć‰s¦˝W\Ş—„¨g…<˝¨`ŁCŘČ&HŤńä“OqŰbŢŢ»÷iN‚c¨?Vn"jŽ)A˘b€„r˙ý÷sxć Ϣďá>đýýĎ Ďm'Q4P.öIÔ!X ş„–‰} -Úçˇ˙‚Č‚ţ‡4,ô_\ŰŃ–ř+ýďĎÝwßÍ„ ôQÔrh ÖrÍő٤6_˝»BŻą Fć#Zi±¶N1ÓźzűR»öÁ©”i˙ń}ěľ#´yĽDŻ˝l†ĆkŠde„•wÎÜc múÄ}GésŹĚQÇ(Ľ»¶Őč=×nrä ß pj1ŚŽŔŽčˇ(ÍXR^ýeí1X{G‘8ÉŇş…!„ QíT¨5sÓu—Űí4ҤíaŁ˘¬éi¤í«f8”ä˘ABäqvŁ.g„ŹsPÝV·EčY¬×DiGčČęĺ˙Nî*YĎRď{9Ă>Nyśť„(&'au~oň(ĆÓQ­8§g(:qúHßi-˙˝*Sďčgň3ëW÷,›Ë*ŻDkńnžҶ DWŰGz˙`uĎGSčźjLZ&@L°iq­¦ŃlÓ˛‘˝—8]Ćńĺ•%:~ě8í{áŔ�Q^ňďaĐç Y˛ţBÎjů$$ם0!«ÄF|ß^¤ůďc·íͦčňĺmm“ă“wÝżnD2řç« ±łCĘͶ±Ĺ‘¤bOE (P`T¸ţň«čևĄUŤ=¬bd'„|mĺâôż+FFÂT\56±Ş‘“@Ćč 2;ýČb#¤•]^¦ęäť˙=R…žółŔšlşĺ˙oßrr|‘iżĄ[2ÎÍşŹŘ‡¶“;'ŤTA°XgŐýľŁ]ď×ŐďěYť_¶űÎn‰Ô Îl ©¬‰ú÷Z +Ďř ×ÓŚn([pú௄—śđ€N“â+Bş=u™>áA ‰*Y¤ ú™ůÉĽg›źPW?˙ž„L#+;ł�§śŹ<ňHL|öĐÄ M>ń šá_őŞ7@Ę‘Čţ`ď§ńźŤß&~˙—:ĂŮŇ/ĺN ltŔÁŽU÷  ­ĆJ8çá,ÇX‰ů¤$0~b;śÎŁ˝eŕčąÁňwáQáŠ+®÷ÁŮ '8ĆcÔ×aB"Qś{îą©˛PĚIâäľě˛Ë85Ďßô¦7q= Ď n( †V8čĹřŠş#H$8çĘ+_áH‘©Ë9ćľvîŁÄÜ7˘a<ţřăěÄGşĺ¸?ť>í„k ÁăĽóÎeb�®CôöíŰ ýAdĐĺ^uŐ•<˙BYĂ=\pÁ]×IáUŻz=őÔS\6Úmůűňd´Úí‡ö@)Q/DŇŔ¦›nzöí{ž 0—\rqŠ\ ]@ş@Űâü«Żľ’ź%”ÍłĎŢÍĺ Ż ^h[ô-�ĎLH¨ĂĹ_Ää ´1®ý(oĎžóĚýăČ8ýmŤ~…ľ‹~†gzýő×ółÇv!XH_äů˘®8�ůBžÚ÷‚6Á6´úî ĺů$"/}„<oô?Ôçă}Âý /ŕI'3Ş#/·Ëí¸8[¦JôÝ×ŽÓ Ç#ş˙™&çóŚW@GÔs±~˛ j™Ďq%,…ôíô˙x€ć!˝áňÚ2YńDŽXđ*íçŽ4čöŹÓ'ľ|„ćW"Ú±ąJ˙ćÍŰéňłęĽB;eż?ż×*ŃË%{Ăîžńţ†Aśl;–|ý0•˘°Zá{9‹}Ä˙ŤPäťU,€)D°«Ćwä\‡‰Av7‹$žh$䢸ř‘ TŢ٬ëĹ şô”^Ö±eY¶Ö+hüA #?&Jú™ŤQ´Ýa"ęŮdt'e‚EiVKÔjvşŢ3˙ť”mR. :÷Ń×Kťq3.ĐéÄZÚN?Nő Pš`ѱ ŠŮ6Ó»>YvžŐ@Hˇ<mŔ.cú9Č řŢ6ý©âV–4odď±±q«Ź3©ďţÎĎĎq$¸łĎ6ň®‘{ă6eďř1WŃhŕwhKY÷:ŢüÇőš_fR2lZ­ś(/‘LMńűeÚŹ|» éZŰôä}ű•>×_P”7ƧǍ &Ečą:âp[’öĂĘŠčYv»´=°ĚQ;‚ľtÜ (P @_DQ2›.Řu6-ĎÍÓüńQ°ZŻRÉTť+žĂ!O!˛×ň *J•2ŐŚý¬ltď6|cm»ĺŽmš¦vŁÉö{=˙ňQF•˘.ť‚2T?ßÇ)čŇ_ú6Á0ň„#—;»•%ŞG]÷%őâŐßŕS…ŚłÁtŤÂóx‘e@˘CŻ"Ź}äżzĄż´“ZľĂh,+ őË›GňÚ¨ă8 őX ňä“O˛AףAí(ôz~ýp?0ŠŁL í Ăą8ü%:BV8ňA2źAŢ«}|â˙]—Őî>™"«nşÜ$'rwŽ&­$‹ĐěŮł‡ťpHČJ[M¨�ôłĘ"{„HˇĂËąPâ5ŃC«Ë“gĄűŻŻĚfµ‡&ŕ:Ya$ (Pŕ嬾żňĘ+3÷a\ĹęűTJ8ˇńéW6ś˙‚7ľńŤńw $R�R>˝�Â"@ĘŔGs9ć-|üą�q� D ©@ď ҢôĂM7Ý”úŤ9KG§xő«ŻË=aÄA(ĐŘĽy“ił›Ü÷Íą‘&ŕ´O;îíµ1‡÷YŔąšH�ą „„~@[J{ .�íP—¬úč~„ů$ąDăÚkŻÍÜyR�Jý"ďů‚đ!€| ÉB xä]7ďýľä˝?ÎÉ•Üjt(î!ą%tĹ®ýŘ -7Czä‚›‚ĺî(qÜ íHPŠ,ÉÂôłoíoĐź}ţ�=ôěÝxń]şkŚvÎÖh˘^bGůüR‡ömŃ7ž_¦/?>O›ăÚ±ąFďýVz×Őł‰?;J;N5úęžc‘:áú“˙†Ó§ô’÷OŕV{Č3Eî>[­ALÂj|čbĂęt\~‰�Ćr{ŘI9śúĂ:&'Ç©^«Ć÷–e€‰Éü7ęÚ§K´Ą rÉń!ŤÖqe4|ŕn+’.Áp×<™úĄ �RˇI I·Zč÷ł_Urę»U \ű¤˘§ß­VŰF€á…żcľĂ”\ĘĄŔ8:èEÍĆŠ1ĽF]}SČ˙zń‚üNŮr:Móž5éTb”ďÄ™ě^dźs4Ŕ1´JD¤‰< ¦"\t÷1ަ}Č…A ťëŠŔÄ·`Sľ!‚Q3Ž7?żhe…ĐXřŽ´­f›Ł—mŰVŁęTĹČ÷“ή˛‰zß*•*§–›śŕ+ŹOÔ–YPgĚGü’äNŘďdˇWđ>=żď�“Žvď^˘sĎÍ×I°Š4~/)Mbčw8±çĄ÷šŕ ö6ý=Î%î˝ÇřŰi§ î*ě ÔűĎçbRPJ+„@ĚZ‘Ô)Ëć(çé~P @ ńb…Ř<Ă8këv -Z<>G“S“T6öžĂ©ă"-(B¤÷[nPsi…Ď«ŚŐŘć×DšĚűmçó‚~aŽ Ę°Ů9˝ă'âę¤őąnť9Ęä&téBx ŐůuóéŁ8–GěßŘŹJAą ˛Č쎻aP,Öx•QΊ{ßQď+âL׎iqX©UM._Žť^E ”6(opŞĽóťďäU† :Hnó|݇ýeFy»Q—Ľ( y÷čżŘR.H¸žüÖDźśč”˝ ŰÄoă~$ (b:]‰O®Č»OMěČZ]ć—§źłNÉ‘•F”B8H$—;€zú‘?˛ ABÄĐß)Eţężňü|#­l“ëK]˛VčűöŰŠ:>Á˘@66üq>‹pQ Ŕéutne%R…D‘q˛)wáő{ŞT«NĐßŢ·Dw?Ń ÎŔʦ’ ÝJy(íĄŔć}i.¤O>pŚxjžöl©Ň–©2Ő«VŢ™âŔ‰6=s¸EÇ—:l0¸řě úń×mĄ·^>c}Ă1ąB®±¶>ŘŐ"ć8 ©;Ńú­oOµAyY‚ Y­9»E,‹ó?Q.!›ő3¬Ş ŰC#Ň•bť˘ÓIEĄgq?ŕŮLNŚ›ľWMYýú¸iňž§ńáćę‹0´iłŘŐ/Ź `u#Wąř€í9ę—¶Ťe­ŽZuĺ†D¬ăú]`ä†8qz§ŻÝn!˝N‡WťEQV#jrE@e6–¸ ůŻG¤ĐÎWZ§ťŞ,Óc3YőݬS˛Ä©­WŻk=Ď“j拎«x䥲Ä+ü*—l_I•DąĹëES2¶|Fv<^YnÚ~kľ/#˙Ňň5[-Ş`áŠ[p¸rŤ¶±‘ŐhjrŚjőš±ĹUř8Ř\Úşęň‡‹]2ŇNţĐĚ'Őj™˙ÖëµZ@ȆuHň4Č· Ö‹d±˛Ňf»ÎÇęDzÉĄĆY%š´zű,µI˙ÖŰôo=׉ ,s±·KŠHĹŤěĺĄÜĄÔYę[ ~ˇźKäw˙ (P @ŁÁx­N›Ç§hyaŃ.‡ďr›3<°`ä0Čí•µŚľ]5>5¤ a2ćű°cS©™jîŔaß<A“۶QŮČZárŻÓĄWFŢ6!]ŕŻÔHtńQď…ŕ•íű%ť˝+ŠŁ7*ŰŚÓMŮ˙ldÍűeĂDďÜ (§yť¶O˛čç<ČRZµs\˘ře ąB”5ßAźGşĐuˇáŞAŞ�‰CrŽ#wőŢđ†8 6®Hâ쇒„—JŇJ Ś6­ńń &\”UČÄn–yşO˘Ç@AõŤ y|ÇvÜŻVj˛śô˝fYtt‡<r…®«< ťvE‡ ěelńŤ2y$ żŽIůá“ t V`ő�Vď"´·<ÍĚ—úëvÓ„ ˙9h2‹äÖm­˙jDńď1+„¤˙čĐ«¸'M)P @/†Ćë Aü]ł$ßăĄÄ΂Wť[3J|‰.ÝY§Ď~«IOîP%jô);ňľŰ|„ެR˙â\›^<ްrYäŠČć›9~ű–:˝îÂizçµ›čúó'¨V dáCÖťŚ1ŃŘY´(›'ßvé4b‚„ě€ŕň:q(•l¤u˘şî`‡ŻgśpĐ>f.ÓµťÖD&†>ĆdöJ)7·Ľ-#ۡ¤ë;”:Öˇ$ĺ B°�¦§§X×čöµ‡ÉëĂ:jO¶ĎćÍ'Yú[´Šľ6Śa«gĘ !Ä ‰TĹş7ő"÷Ó*ŰmTůWNYŃš°ńSĆŃvXâ(ůiu‚Ô׺±=LLŚ0Ľ‰#Ô·Yd-ÂĐÎÚ©‰s$ÇSĹÂGŻwm˝’8,úŐmŔw­Ç{9ĽS[Ćr¦UŘ2řü’#XHi›3ć3\¦căPSŮhD°ł5@2ĹŇ2˝ôҶuÁ†»Ę@şš’‘jµ§M¤Z±Qk‰‚ A•˛%QŔîR Ň-#¶§î[q#>$$”Űm›Jź-óŃÓ{źĄçž{žî¸ç1¶9}űé9şćŞ éźĽyÚء6eÚşpťsvoŁ-›&hvv†‰)â4HdŘĽl;áâÉÚÉ(·KäŮWłś2§Š=K/fJęiçY&łP:•sl?sDX)Göçő)ë°p«=Íódň,ą{LŮ&M݂´_ @ ±ËxBtčóvźC_á Zž\frE©ędĺ6|ÂV‡ËMją éAJ¤jţBľę4LˇmLŰej­,Ńâáyš=ű,›¬sÔ Ę‘©GJ`ŚQîńYHɨ«¤‚üü'C¶H-´ UJ) šBm6šÔ‰$ęŘĆ@!…­CHD‡^«Śňśę>AB”˝O“ üľ2©‰�ú8Q «ä f“ĄIŚČł r…ä#@n”‰ŁľĚŠĄ(Ś(eâXś[ŻŹÇÎvźhi Tí�Ea¶‘+űčŃŁś#cŁ´ŻOtĐĺö"ÁČ˝fEŃĐĎA—­ÉYĎŃßźu}! čëůß5ůAňm ąÄ¶!˛OçťGŹ=öX*ĄŚľg}_:}&KČ6}u@{„PňrúřD i_‰^áD|  ËD_Ó9î (P @NbžEŕmK–śż­J?rC…Ţryťľö\‹~.˘'†tŕDHËíţŽŁHţrĘSD%„a4żKÉ2‚JĄA›&ŞtţÖ:]}νúüIşhÇmť„3>DZ˛fH+˛·vUp)Ó3„ś"D¦§C9$ÝŠřHą|ń‚u w”č$"«‹3ečJw»Č9â­1„úWäz¶Üph'+t۱ń1^É;’;r÷e?ÝŇyĐç-…ŁyCV_rÍ=ÔűHµYÇyüŢą"{,¨?eNYđîYçeÇ"ᬎ¨QzÁG„Ş‚F€ŹsŞÂ`”Rv€ř A÷ Ů.ú´vÚž ¬†¸´ţ0H› F5ŇŻ¸˛łĹűNŐŃ2s|»Ý˘ĺĄ¶ůŰ ĹE,F*щsôŇK/˛ăţlNÉđq•j‰ęĆ€ż}űV¶ŻŔžű™ Á¸ŹŤ #?)ŰVąÇ¸öę ˛Ź+_˘FłĹ„ ꊬܷô­ů…%şóλ辯=Oť° Ş^<N{Î[6¶şc´iÓ,§ńß|źť™¤É‰:ź#s"w™‡¶:ŇľŽZ!çSw˙ÖöĐî[ŚbBoo’÷TGkMĘ Lý¬-+pőcGĂqö˝€ÜB¦rę>{Îż‘#ŢÄŇM¤ďŇžŮ'8=ý»@ بWkô¶ë_G_ýćC´41F5GRmPŮq ˘˛Ť`±Ü ĺ 4ły–Ş ‚E­J­•&EđQ•¬Ö_2rA‹ęF¦‰É˘±=( Ż˙‰î)äČä9űÔŃłŽíEL–ăă(lŽäkm‡–P,Ö!ĐńÄ)ť'ôëHţ>ÝquřV”—AAqzç)őš €rAZP}˘h`Ľ÷ľ÷˝]9ÖqO`×kÂé¬k(#*–lŃ1Šĺ2;Ę9Ź+_GÜzYŃ@˛@ČÁ_|‘Ž;Ć4D9ň‰$ş-łČÝAÚ.Ź…®ŹóŰŇ'Âř×ôË’ý>)ĆŻ—^ˇ¦ŮőyťQP.rŮ#úž)ČŘ&űtÓ¦4)B?˝ę ±lÇ6鏚<#żĄďŁ.ľÁ¸ôţ‚`Q @ 8Ó0=O™ÎŰR˘w\Q§¦ŃÉŰĽ2“†/Üě@$Í\Ů)_ćU U〙0ך+±L~:‘ČŔʇ“![ű€Î�żJ[ČÁKKhł`ő+ńGŚáB/pŁěPâ‰Lž^«u"ľvĄt'_ާK˘;X眀ݬAç25iÓ6ňŞě~ȩש„¤Ía}Ł\¤: réhŔľ{sKĘĽÓěsďg¬[K g2śÇXŹŐáQŽsŢúÇáMYwFJÔJĹ8Ž+Ő®Śľ^®‰R€}źC&vŁůTÎ|r cćč çź^ű{3(Ęĺ =·o}íűiçöĽXiaaŢÜf[ĚîÝ;hÜŘ5Ä.fSë<ŹăŢKń_ű)E¨ŞŽ}űe]áZ­vH۶mĄîyŞű÷żČ¶Ŕ—^ÚĎżĂRťćjtŕŕ1žÇ}›`ş}Ę]ij“{2ăD)¤væK CKDpwť|ó�ćMŘťtZ]mcóŻë˙•¶·¤ Ěk*ňk[VbkdÂchlśŤą±¶.3NeôĆÍ6‘‹äĺŰ !»•HŰÄ|ůh#ĽÇ (P Ŕú@Őř0ß~ăMô‘ĎÜJűŹPuičëÔ(9˝ržAmŕř-ĚĎR`ě+5BÇͱ+ j/7‰dń˛9ľ±°Dă[7Qi˙1ŠZX‘ToÚO¦©”%K ®we“Ň_ĄG,ĺčĘ×ÉÄ fyAĐĆ‘] ‚Ĺ:„8šó D­�řJ dż¬ę×á\AxĐŃôwíĐöÉ( „(˙u…—‘ ?đ?@7Ţx#;ÔőKĆą!Cî#pL-)[αu·Ç!G#~CˇDťuDů«ď_G_Ŕv8é‘ŰqźQZ‘2d۶mń±âČ/s(ÎvĺAçRôŻçGnđ#„čcuZ ź“Ǥ—gˇ Yť.Cžµ6®PV´«|H_Ŕů ÇpĽ0řuźÂŽ=4ÁD÷Ii'I#őĹóşˇFú">śű!Ś‘Ę_‰×k°Ç1č“B@áPŐB(P @:qâÝsĎ=ôÚ׾–Ł?ť,ců‘Gˇ÷Ľç=´^qÇw0ô’K.8Ě}ŁE@y*t˝b?«…+)˝µK‘&«űräF:=Cë¸e?t|-7C&ÔH9$ÍiuŁ‹@~ŚS,G‡„X?MţŮVăŔŚ˘„„žvž$ŽD&ĐM©(˛Ľ/şëWµ Y‚D©[h]ĎĎ3Żeď0”p¨Ă,°ÂvrbśĂ«¶ĂÎhh C2h·Z|Đç1jç~OrE”8ěŕ°Źú:řő‡pÂEîRë!‚E‚Ö,şEč˘kÚw†2/¨ĹücőÍNMŇKĄ9ŁŹ6)ŠS5TX÷ŐvK¬Hś¨z‘˘Ă`Ľ?ui.O‘cm‘Wtő/ߙљvďŢIµ×˝†¦'&9:Ĺ%ÓqÓ-HýŲ&~żľźc'ĚŰ6x]Ý‹‡Ô\ćë…^ŕŚä˝Ďîsw>Ló‹mN+Rć•‹°U•hl ý˝·ťGG8•mÜĚ˙ hĹĽs°5¶"›ľ¤^7×(•ă÷W˘Rřö2±â=;—@/>óc |[YÖű„:VL]ŞA9žźQŘ®t$}3ą4 B ăý%±A1ń϶‡ĚŰëu¤.P @Î<`îÝąm;˝óć·Ń˙ý‘żä¨%ŁSWŚ|ŃÁ YŇ0;Ph~7V¨±¸L3“Tźš 1󷱼Lí•&‹óVćińŕqšŮ˝ťĘFÖk·ş)Â>ÁýdäôL˛°K’EZíG.öëĺ_+rßÔ~(ˇĺáZŞ‹Vďwo‹uđ" Ú±îĆ4±BśÓâd—ď’‚D—'B˝Ž¶ †9mpĂůHąaÓlTăÔ §‰żH rýő׳sŰ�$Ą¬ć°ő#ĹúĂ(‰"eťĺ Yŕ3;;ËQ |ň&‚hH™¨R„ĚÍÍĹéBüčŇ^ÉĂwęëö•çä]|٤Ž(ˇ÷e­&ĐĎÔ'Čřú˛ŇÖY)6šđ€Đ’ržOđiš ˘ď_ę#űôł‘ú@™%×ÖiODy˛ŤÔ˝ß„˘ ĆňÜqŤ xąCĆE-ř„!ÄIĘ.˙81úăą_¶lC¦ľľ”)‘°ôo!PjҢžC!őú|)ß— ü:ůu•Uk ¬_¬ľŠĎŠhjU+e“N—i^ȶYŠľN—¨Łžéń kËËA)E1™{ŽhcżßQfę…ňÝ—ăý(€ńx›cXIéń ]I2ě؉đ©ăăěXÝôT# ‚„`ĂŇŕ×Ü(&$|‚­Ö`ĐiM12űvâß]»ë9™¨Ýăů‰¬ŃáL“S4fŢŤ–9D ‰Ě)0|¬,cťĺúýâô™/űp˙hŰQ´A4²Ö�܇Mi68ÚÁ9çśEcĆ~a$rŽPAQ˝űđǦ,ŰPŞś“D˝^ă—‹ Ř^SęmZĆBžŠłź5ŰĚGuóÎśżç,ÚĽeKę¶ňęž“Ü}đ*/7‡…eS^ťĘć]lŹĹбĄF.€—Ö4‘!˝`Ť<Rcşš (ÇřóĄŘČş‚%A” * )Rt"Ś3d®®Tj¦˝*±,—Őr&©ž9Ăz (pF�¤××]ůJúĂe#×/ŻPÝřĚz3€űŞ“ř»ÂVÄé@ŹÍ3‘˘T-»(5j-5Ěß±zDĽ3~Qč S›§čřĘ1Š:Qߨ'C˛�|iŕt┟OEněG´č"W8bEuLŕtOŘ`!UŚ,ŘŽ8MČFZäV,Ö!$˘€ß‘ťÇ.Ňßušî"Č‹“A;ÝuYYd€fłEGŽćä 9ß:9"NĹqőŐWs‹,˛Žła3+Ę)‚2J)âB:’„­~Ůć;öC‘R@ŻâÇ_(upěäqüřń8]‰Ü»źŇÂowąŽvřd1¶t»ůĎÇĎ«™đş |ÂLVyš¸ Żë“.tš¬6âü—*ęDóđˇ ţu¤mü>*At@Ű'„ś µ@Ę’zČő«.lE$ ~Ű#|fÁ˘@缯ýë} cę+^ń şě˛ËşĆHŚÓ:"%ĆQĚé_|1ŹÍŹ=öďĂ\ĽiÓ&Žt´[—±ýĄ—^âąúšk®ásż÷ďßOŹ>ú(]zéĄ1uyúé§ą.{ö졽{÷rô+óÄOđőpĘ‘˛1/ ÎŻ|ĺ+yľ¸÷Ţ{9:ŐW\ÁäÉ|.¸ŕžÇîż˙~žăźţyţýú׿žvďŢÍu}衇¸¶oßÎ2ÉnÎg] ŔzĹÉ)ťybS/őüt-Ř@iRT 2a”&Pűd_»Q¶”Xq—{C8m¤łČáź2¬Î’^Ë’oT‰âăD·4ńĚ:l#­ĺb="ëęAwd N„Xá;…şŁ�éűĆ©b NŃRĐÓGQ¶łČżfźF”D`Đu8==Ľ<¦@üTÎ$‡Y¶?;g|ôs] ˘ADŃ2ŁĚüLÎiX]xĚČSuc(´«űâ#ŽS|x•/J)yd‹Ä`#„FéĄŔ čEö:3"X�e*Ů:ů]JŘ®{ TŇ‹Ţ÷•e§dÜ„\†1ŞŐjóglĽ>Đ9;ŚÜýoţŹďŁ?řŁ˙MĎ<w„¦¦¦čâ wÓµŻ8—¦§&z–!v,yW4É D–”´Ň°ďY'˛+JůÝŞŘOÚĆć§NĘ ăcµýOË~ÓŤ¨‹śáË,‰ Oě|8¶ÄaČ«•z<g°Őn#er3¶Š],J*҆ň˘‚0^ @ ŚĹwmÚB×˝â*ş˙™oQÍJŮFĂbŁGđY! ŘŠń7ÎÍÓřěŐŤ?ކ(łĆą¸BMăGy:4ówc~ŃčF~š™˘ŇÁ9G’Lëä§JLÉ*–:<J.ĹY†ĺWl ąCëëĂĆJmăřě ‚Ĺ:ŇX|ík_Ło|ăěp€"Ρî ,¨ŐšPČm�Ń@Ŕ!˝áôđťď˛JR„fYűN{‰ •°©Ź=nţ¶cĄuěW^y%;7˛^*�÷�'ŹVôĘ4q®Ëµ­5qŇ ™ăرcěLÁý‚h‘—vĂośgG0^ŕž4ą�÷’GBІJ_ÉĘsţ˵őj[:Pž‡~şŢţ}čßYűt™R®6‚ć‘ $l)�R‚”):˛ĘŇoňŹ‚‡^=¬żë6őŮţr}ꏑ}ŚDŻDŮ/P @ŤmŕC(®»î::tčË `NÔčBHëyd̵8î…^ 7˝éM<đđĂ3qÇŕśďůžďáůů[ßú“&dn<pŕ@Ľ &Ię­o}+Ď9˙řŹ˙Ď2Ü|óÍ,×<đŔ\Ć»ßýn–!nżýv®Ď9çśÓóŢ!#€čr@ć@9ßńßAO>ů$Ďď}ď{ąwŢygJ)Pŕĺ‚,éčtůr­ĚWápçÖ±¦RěiýDV€.ĐfRE ¸X95`’ĹéF>9":Ô7ľűcTBľĐ:´ŁÇ—‘—>p‡J[Z=,dg]@˝ťjÖ•  ±cĂ{۶ŃSg©V şÜj <%ágDë'yíUÁ…dQŔ×ŰVsţPçJT €LäVK †ąN—łŇ#ĎŚî˝Ĺ ČFő±ś~ŻHG:|U_�ú,> {Z˛E“–W–Řľű‘H’2N”Ë|ŢFZѵ: Ó“1q-0ô;1,\ŃŮ T¶«ű‚^)7!@sĽ»3/˘QŻsűľÇx‘mŠĹĄŻF°Ř˛e–ćŤ>ň3˙źď§ŹţĂ—h۶Mô–›^I—\rQעŻL˝7¶EŽX�B“%v~)ŰcŮYBB“č)bÔ×Ô)qűµŹżĐ)«ÎşŢú»¶Ęwk—ł¶9Ěń Z ® N;đ¸çŰ?»éé—y (P @Ť„];Ϣňú›é὏QÓĚĹHůU®UËĚŃ­6§Î ;%j7:ÔXl0ˇéDĘăĆo;;IËs ÔXj2 HóK´xđ(Ë,‘Ń3VŽÍSgĄIHݰtŇ~89:ńˇVĺOéJęŁ!'čČ]űú镥nŮĆ˙ť"Yŕ{Ĺ÷µ‘E‹Ó 8ő±Ň+/át�?pTd9íˇśă!9Ó±SöÁYU™&ç‰&1ř»Ž4 ýľĂĚôăÇçâp®:őU�"Ł mă±ptżxÉŠŚC‡:Vľ0ĆË©k2s_;ĆŁDŞ ŚLÇćě…˘•¨Řö»#÷©k=Śh8V$]‰ěÇ˝čtş^~hsý]_SCoÓÄŚ¬J+GşÎş,ýĚôyRľ8§´© Ňy†Ml�iGŻ đű„݉":,»ytFü™EH2ş>ţ*˝ňN}üëäA3ü‹ô  x9CʵŁńäŠůůyŽ?ĂhŇćyçť˙E” ™+9çbţ”hP n`|?˙üóů|yB Ą82Ň{!ĆqČ68FRu]xá…Lř�0( ä!%.şč˘xž‰u‚Ežá$\÷Śű€|…h¨3~CVA™BJ-Pŕe<Ű{pę}ĘńĄťL ]ô–dg¨H×eÖdÁfüúGĄř¶ŘÝÂ+CŤÁ#ڍ Č.`ÍnµiáČ|YIŕĄ8ńś©źQʉ”ĺ ŇőHxéŻýĆCÖ-N"‚ĹěĚL¦!eµ¤�ë^“s”ŢčrCvHŮľ“ßŃăkʏôl§]íâzŰuŔępů÷±úÖqmWkËUGó ü÷"ÝŤţŮ sÎăíwó_ĄpŠîqQ"ą¦?äR Úúä…-~9ÍHŘT˛l›ĘZ"Ë śuĚđď˙°ç ó|×¶]N…śČéž(˘’ŽJÄŁ[ŰGÖřÄÁť“ń]ć„ä „ŘÝÄű Úľ‰ą`nn‘ZĹóNŹBa‡;ďÜ]täč úď˙#OłĽ>ÍĆ·MĄëcGĂ•F›#;¸<*¶î+ä±Q‰¬!‹Ř`żťIŁí_Rů›ĺH™E×Ő_tĺ—ˇďMěyé›GŮ6ą˝fäĆŰ�v#$®Ó'É8S1ĽŚZ @ýĐ;Rᙆică|ý5×ѧľt=ôěăTžš rŐř+FîčXyuäv‰‰+ó‹4>=A#Ť™c'7ĎPc~™‰ř»rř=űŇQŞšy»±°DM+\ŞŻ¸Ý´ą #Ę<•‰qŞLá3Á„…aô1�ő“­nťČZ\_Jü˝ęBéňD—C6 Ä'/k„~†˘Çśî¸ăşűî»Ů9ˇ‘ĺHp $ösĎ=Ç‚6śX1 g…D1h"č뺦ű–@°¸¸Ěu7ĘĹoÉ—Žó@č€$»ŢBÔXˇĂ‡ńo«´8CŤlŻ»HÚÉăôĄrŮ*.ŐJ™Łi>|kbG?˛”88༠ŘX ×—Č y}_9Ę{Vy O*ČŞŁO®ČR(ő±ţń€0ôĄ łŇÎ�Ň'PÚE“%¤O䵩¬0EÔ'’q\Č8ňśł Ó„hC”nĂ^ď…&tŕyZ%ł@^ľŇä‚gžy†‰2wgŤĹ±Ł“(} dND׸ŠyBć1ú+ĎdĚ^ZZbr‡206ŁĽ8Ě­9ßő<©çMÖp¬Žć%×—ąFÎóçî<‡¤#+PŕeuÚÝ­ń ‰¬ ßo‘#“´‚vü±ňq@e„RGNÓ¨Íî©Ŕ9¨:f[+„ĂłĂ۲äî(vfΨ! Đ©pfú`€Đ8j;± !ăm›„ä§şz)Æ?¦ÁSňn%5Ţö1®'˛¸uvLÚťvfŞMŠÖ×LMaţ(ĺę@˝!ÝÇH |qÜćÝG‰WĘ$\”őçLčÇłĆ"+×G6·őz† ą‘uřjÉ5ńů´zřýM×EVŚçEąÇn˛¨ˇÍ¶ŤĄ†1’š÷<=6> rOĄfÇ9D·€]�d°Ň,;‡i™Şc3®«ęvý¸´±e 7>„Ő–FŃ~÷—––©ŐhQy¬l#/ą-™–µ¸źRF}d\ç_ţ‰é»ĚWâqÖN3>!ËF±¶s/Ňç4ͧR­Ä䡬zÚbíÜ066NgďOm뮂7—ązë9@ďŹ(ŃWějçôP—3Itľ/Eęâ S‹îىň[Ű®ň"âęńF)bB¶Ei’—ţT+UJö!Ƕ6KÎ)P€2‰=Y}QĐEć)P @ˇ—˙F/ÓcŐzĆEçíˇ®ş–|ěQjWZ–ĐZr~¬¶ČĆ~Ů4úĂ 5Śr˘Ű•­ě?L'ž}‰Â¶™łÍqaĄĚ$ŤŠŮßiź§9&r &m DĽhÍ-đ‡ő‹™)ŞÎNQyŔÔmZ.Ě’±zů,]VŇTućfZ·r˘o‹7;9ŻR˘Ť$Ŕ‹5B–qŰVűÓźţtĽZ3ďÜQ„…„ŔýěłĎ˛SeÇŽĽJD_hĎ‚Ń`Xh4Vb˛4IcbbśÎ=÷\vÜäÇ-,ŘŐŁÚx*W׆TRí�EĺroA`DűŔo\_GHČĘ‚$ÔGr¤â<śŻŻăöš@ ë¨ď3o ň' ˙8@ËjìkĘ6ß™EžÉÚ í’Ůo0„đ‘•úCę$ĎIŻL”ýŇżt ť˛¦_ťđN@Yń\ @/gŘ_G9Íǵ×^Kű÷ďç(Y@ČjĚ© EĽôŇK<ö"2Î)ń»ľë»xlFÔ-@ČŚ9Q"Ţ쪫®â±×|ík_K_ýęWé±Çăí D"˘[€pT$YóĘĆÜ "%˘Q . Ź^rÉ%Ľ×EťPgÔĺeAćĚ (÷YÇ#šä— ¬DQ·ke6<Ŕ±_.uůŞ;¬†R’Ű<dgP˛˘6CľvÜ ˝+Šdă0őÎ’ÝWc1P„8×8:‡vŇF݇FĐÉÂĚ:±lĄýh>)˘oŤ4ˇ!˛©A°Ş?e~Ů3Ó Á"_ŤrťSÉwNL¶“° ëĐh'QűT­W;eoO˘“AÚč]ť<ą"ďš•'÷Ä˙Ś&!«ŰłÚ:­—»1Çljw,ˇ [ő*xů뤬JµLQX§Ö‘gÍÉU ƶš=˛Zmř1©úŮJÖ ý®»ŢŤëk ™Ű-‘§~6ýlFj‹ýÄäŔ#îDAlŘ—S@N$ĺ("±ÚE6ÇŽ/%1Č;@=§˝nšţÝ]˙,;Y/4Zd¨(ű|ߦ'‹Čd~”Á�l˛HŢiů®É Ykő|–¤lîŘ´]”ŘKeIWś6­TJ5LŞl'ŰT…°¸Fă`3 ÉŠń^˄ũĄýý (p2yŇ˙îŁŰÇŐG8Ťťš¦ËÎż¦ŚŤrÁŘťúť~ ˛Ds©AË ËÔ:±HsĎĽHó/âÔ!±MÂLďÎßi´©6Y§vŁĹçJ‹UÁ´eëÄ<*“ăTŰ2Ë{ž2B±Ax˝_ľ–EfrÇłśS, >úŃŹň ĐA0 Á"‹©ęÎŹrÚ+ŻĽ’#ZČąú“8Ľmj´ŁALŚŮŮMLŢčĄř@ˇ€łF+Zčó �šĚˇŹ‘ăâsÍ_@P6€űDĂ*X8yP>VŘę(ľRçłĐł„Ő¬ýţ*źđŕłŘ}%Ň˙ťEćĐçú†iw|ÇýÉ*ażŢppI¸^ťŹRŚÚYĐĬ3ş/ Qu"‹˙¬8NV kdŃGŕÄó-P @—;0î"ÇSO=ĹQł$V0îÂČ{ď˝÷ňü™i4@vŔŠí’ö ŔvDʩ⮻îŠÉŽ2`nÁďË.»Śľýíos$ ¤čŔ÷űg¤!ěCd,3Po”‡˛.¸ŕž+Î>űl&­bźä/č9U¶c^Ŕ9(uĹÜçGČ(P Ŕé€"P÷*X^ąiƱR§e!>ĐV˘JąFŕ|ă5·ň+ʰŃń:í(vÄSŻÜ(Î" Ť;V®¦Áj?Rc´ňnYÓůtĽ}‰cŠUˇę|+Uź”s<Ę6ÖÄú·Í‡.KČXˇŁ#Xô–ŮíC�1~fz’ŞĺJß6ëWfg¶=ÎĚÓŇżGň ˘n÷ţÉÝ×<ý€‘SaŹ÷ÂÍQ6Çëeţ”K5ę•*!-ݏ/°«e#ĎXó\'&0ɸ6X»¬wĂhŻżq¬˛°gEˇuŔ—<y¶úŮ©˘Ś˛ě[)FĎ:Aň;ŔřN6u Ţ]is"Ö9˘CR_ęYOm×őŘvüD#ă˘hĎR®Ž  „R/@"ŻĘ1zľă#6-‰„ˇďG˘ař¶Vą¦Äu*•ÄnćŇč2a”\J“’T–¨‡Ý1˘Ťó.X-˛ęľ.ú?ú›µW ‚EFĚoZZ-«»ăŻO´č&]®ăńÇUőĘ /ˇ«ĚçîG¤ŠC˰«¶CžÓC!­™ßŤcó´ď~ W¨R«¸H!µWšvBd“›µĚďęD-ŽbY+ʰ… ‹öâ26¤ľm3•Çú§b;Yh�]ťeš č–˙HčĺŤÄŻ(§ůČGčźřÄŔÇk'ő Jh–ă<‹,�">—_~9Ż$ő!Ę(NřH$m‡Ž6}33Ó}W€b@ĹĘSďł×4‘BM°Đ@˘g >Ť†8ZMSç*ŻrĹľ™™p®`ĺ+VÜb+Čš ź´á ĎC?»<ĂcÖóĘÚ®·ů$ ˙ś CÇ_´=Ky“śoţ•ű(MöČ:O§‡ńďW×U¶kVšČÓÝĎuŠ9včrŕĂ=(P ŔËŻ1G#ć"@ŠôçJěżůć›yNŔĽą(0–âóš×Ľ†Ł>`;Ę€˛$©Č1haaĚytçÎťtăŤ7ňŽsQ$®ąćŽ>} 9‚Šď _ŕ<"W`<Çu1ľK}đäÔr ę9�ő@97ÜpCśÓűŢřĆ7Ƥ Ü'îĺ\|ńĹ|Îzqč(đňD¶ó0E°6˙•KFV­ŠlhW—7ÚËćŻ1\Tí¬eˉdĹŚ1dLIZż~×÷żźlŘä“3Ř©ľ[Ű:±ü{ CY}fč.ţEä•MJW´ăm>’mŽŚ…vnveëém3łSĆ eK«Ex¦Ź×Ń™S˙<Ý1P1-Fm ] ÉÂeS)lj˘Ž‘ul_OĆ©,]ť¨jś¦őjŮŤWůdľ7÷"Ë]v[H9ęY©Ć×±öŽ8UČ~¶§ lďqx@⯠ZĐmwĘ´'Ů«d–#ä9K°â”X]iÉf®]iyŰ|Ě;±´Ň`ąüŰĚ_–ĹO}H@Y ”’:ś|ŰźXč~_ęNçá˙µű,‘)kě2¶´ł^ý/Ž#ßyŔ‘?Ěź25’Ô‹6‚ŻKK¦‰Ü$ R…oËZĽäŰ(í±TŕeŚ<˛ôI‰Â]ѧA¬€cKúf Ś–Ô:ż]“ćććâÔőzqój|n§ —칀nľîzřÉÇh±Ů 1c§lť¶„µm{?KűQăČ1*U‘îϦ,‘ľ>9FťFË)ě ţŢZnRuĽFĺzŐęŽ7Šy˝˝°ÄźúÖMTßľ™ÖZ¦+]ň–|g×m Ęý$Ç3 Áb ťţđ‡yŐč0đéĂžëŻÜĚrŔcő(ÂdżúŐŻŽŁ>Hč;�ße…ŞfŔ ŃAĘ”ŕ˝Ň�’^V™Ć %u–O®'dťŁP+8—jBÎ…˛gLŻU±ş=ŕXÁ*] öę\˝şÜ~¤—~JˇŽň Ź÷ËË3Ćôş9O¶éűC»ăÚ¦łęŽßpBÉsáÄ/_MőčŻüőűśŽ„!Ű%R†ÔSç˝ô#aČů~ŰĺAł"qO¸ç (` … $ôĆg!�L50ţb›żŔĽ‰”"řh€Č€Źł}űvţţ /0ˇbĎž=Ľ˙Î;ďd9×@” }czŢuu}}čí8$ůŽzH] (púa‰¸»7˛ČáQ$+H›˝BÄAަ`>íN“JbÇ˙řŘ„]J j‡vőm$¤đRü]Ę·2k·cmP5lÔÎewu˘T´ŠÔ˝ăP„q‡±"ě’őů·K~ęë3Ö=9Ţ‘¤;Žř%rţ`eAç¨ĐÄřĹ«s‡Dd.č=3Y_O-FÄB@őĂAőŐStŻrťQ-xla§”Ř>dOö a «VĘü—ŹÍikT ]|š !RA× ›´ŇtŞ˛ %Ę˝f|űĎ ďç06Ő?zDt: k •łg+2O˛)›hÚ6ţmÇňÄŇl´©‰\ŢÍŽé ó»Ĺv!ŘÖ@n4[F—§M›7ŃYFĆ>çÜóéU×˝ĆČŐXÔbm.Ń*úŞ®÷ɢť‘¶ĘľŠÝ¤msĚrîčú-R˘RtbçGŇĆÚ†jßńNl«¬pú|Ę©é=q>$rNWý3HŚYőŢČďCţđíÔňÝ.šlđĽ433eěÝ“.U3(P Ŕš‚ç@#ăÄXŘŚ1 sĄD7—cOŻL9�LőĆŤMő­7Ľ>óĺ»é«ŹÓÎĎfŽŰ- MZ~é˙ `×�ąÄČUĄ˛ńÉuJT޵ÍSÔn¶©Ý¨`FvYi1Á˘6^Ą°eö1áÖ]pDh9NíĄeŰąmÍŁY0ąÂ}Źe)G.Ź\ę3´ţ–rRÇś©(k8 ţřŹ˙xŐÄ !«»V!e(yż1¸}ţóź§ëŻżž~* ,$üťl—Čͤ8múŐWrťŰëGÝěk|ÜË%u‡‹żeAŇN%k,µźÉX™ŞĂúůĐm…c@0Ay8Î)ĐŃy&Z¸Ői/tóyeúżł˘xÉ6aŐ÷*WHrżB°†˝”ŁsLĘ6M˘@č/:”˘#¬âމűŹDËĐĺům“•¦ä8Ô+“…ĚQ @Ö0çîŰ·ŹnżývžŁ@®@äŚ Ľ<‰ă‚(ĺÄŇĘ€/CÖĎ+śÖŻě"·Ů1Ůj5±ö›‰Ö‡ë Ů€Qf™6_ü&Z§äඤY+ŽĂôő „ř´±¤kekF‹a ÝöůDňŐ¦‰RN!_7IĂę°§LOMđŞÝpíD%çÄ+°‘ŃO7Î?q°Ă!aŘ­dŃ·L™´dĆ,pz§o 6Ś 0úq©LcA›ŽŔąmśŮ-,t™ i­+řcWŻń`}ľĎ¤q Çůä“p؉oö—|ăsVhě]jŹŽ‹F!ö=!R 2Ţ1ş?>O'°şÔś3==C;ĎÚI{Îą€ęcU㩳ŤĚÚ‡Ě [µöśaSěiŮ(>–WZYWu¤Ľîů)ËƤm\h'˝Č Ŕ=‹=KŰŻ´ Ś®µ›qt ‰pQ©ÔX~ŃŃZőÂ.ßnŰëýě&˘óâËy �%ő2CÂnżď] ôd*° ¤Í……ĄxÁ®ďZ×ó™©Ú•_Jo~őŤôígž˘e#Ga^oÍ-Ňâóm0ÜOhŁH‚0ŃqD¤›§vŁIKGB—*„,áÂČ/őŮqŞ´lÔ<¤µŰYnĐâłűiü¬mTŮ4•qkéHdĂębˇp)(‘i"9źÉ6g Ń-JŽh±P,Ö�űŘÇčďţîďhµ°«J=÷ë•ţ@Ö*ípĎsRcßý÷ßĎä‚+®¸"v„ ‰ť’CţJÄüEČí^@yH˘W˘•ËĄ¸N:‚…/őŹSQ#‚p!FX.Ăľź\”KHó^m($�a%$:já++:DVÔ]®Ż8jr…|—sł Y۲ѬgŻ·Éóó̴±ô,4㹬H/ú:ŘŽýŇôJ Q@ĺńD¶ ůÂ'VčkkÂĎ »ô\ĂÖ ˘@Ö`ŕAş;~2Ďj°VĆŰ Ś#óAţě(}cB5vDpĽ;b}jUodswFVžť/Q»Óć•·ść¨bd÷©2*xˇDŮüÓq BőNně˝(!ŤdďvŢÖâ㌠ÝÔŁ“Ř}˝Ď.‚éÖ9z"ňńóâU9‰2`Fx®MG_{€ë†A†çLô#ąđ §=;Čriđ3 ¨ď ťŞűä–†˝mł$¬z4HşJsŻŐФżé}1±ipjźČ®úŻ1lĽjßíj9˘Ý›ĽÂiő«ü9Ç_ů|z fýĐďyôGĎôn[±±Ý}Uld-cÔ_^Z1s+˘˘´ŚŤ«ald‹tüŘ záĹmd»sΡ‹/ľ„ö\x9G§šTó.úa…SouŮG4†ŚZN8ŞN”Ž”%ďąnO‘Cd±WŮEÍŐuÖ‹{¤,Aµ^ă“eŹ˝ŃdB 5–ů©VĘU~Y¶6MŔr5™&ë]-tž—7ÄvŞ ;bž™™Ť#J(P ŔéćĽM›6™y7d§ýćëNĽG}˙Źďý!úúcߢŰďż‹ZGćhůĹ#‹öŽŘ ™őe#Ź1ÁbĄEĄM4{ÎVj.5Xö 's¬Ě-sФé4ŰhŚ]d0]y(`Qú‹‡¨n®]۶ÉŰG™˘óÉČń˘é’M Ű}KĘĽä—‚`1büíßţ-Ýzë­´–ČJ5á;˘ő_ Ź>ú( dW_}uL°°}=bĹ aµZvQ^ˇŚŹ×ŤrPď©\cßC=Äß%ĺ†8ďK`ć—K.|ŮJě°·ź’ËűhŚĄ`ßš+:X‘)UŤŻE }UŞu3`Uo%m€hř+Š‹äzň�/5rŃĂ{âĉ8OĽ´™4@3킌 úůř‘ ügć?ß°‘E đź±Ž({¸Ô’‹^ ĺ ˝eźâZYÔß5 “!H Ň–`GŁ,żť¤ý„Ś!•¬¶ĐFs?‚†&®äATÜsŻ1 (p¦Âć?ó1jB…ŹÂĐX Ŕ™KvëግbÝ; ;dCm‹\hu�Y'*AŮč·j´iô¬ŢMŹ7˛˘b}Âo„,CŽHAmţPś Ĺ#NDţŠůnR~â´)S˛ô »ÍĄħÓ|NrFčt“c¬űuú8­ý˝¶^IťÖŰ8źŰŁŤáę] 2Žćąťěs>Y?°¤Lq+]—ô{)›‘  fôÝv QeręÍďŽ]%1ó«Â„ŻVűŇ„€ü…”J"ŮČ5 lXűŠs¤›O}l‚ć–heĄŰLŚE„ I÷!‘-„ �b""PŔ~ÓFŽófËĺ9_¤ĂGŹŇŃŁÇhzjš.şč"şä’Ky;ěB :÷B©$sH'[^_%sj›äęŇţ#Ç踱ĺMŚĎđ;U2ďV©pÔ%?͇o‹˛¶ÎjĽđ(oA•oçË[(%éW Żŕ9ŹŹ—ťěâ–Mż˛´ĽŔď7":ŐŚí ‘ąJA™ldŢäzÚî¨íţ<­S xyAúťŘ˝1oá7l˘H R @ë–d1CJÍÇŔşµá ůŔ‘,¶lÚBżô/~šî˝óKôâľCäś§6 „]Ů`x89®ÝjsdşÎR›Ć§'hÓ®mt¨ý"˙ŽŇČ[Í…%šŢş‰˘É:-!˘děa§Ó]—ţ<îľh>ĆäńúŽ-I±A~¤Ď®mQ©Â®b±Ű"‰N¶Żň Żi‰,ů„wéY·)20Jr…/4űűzýÖŰú9Ą5{ě1>ö˛Ë.cˇ €ó]ŇL$©:l„�(ŘBB/ *ÄÓO?ťr€łŔ©Q(ë•ŘA/Nz‰śqJČ`#$!X`řÝ^YćcP?Md,--qý…( ĺú¤ěĂ= lůáÇů<.tH@ź™. ®OŔđ A]FNµ˝źŃ¨—Şë!÷"ő‘íšH"mŕ—öŃdL´â)ýP‡EÂÚ]žĄŽLˇŤ�:Ľ˘Dďí˘ĽúÇK›JÄMÖč7áb?î ĎŻ@ (P ŔF@˙µ2#±ă"Š$˛_‡*,Źä[ŁSÔŚł˘ŚĚóv€ĘJqëíä^ÉĘçÔŃI7z”L±ĺ„#mHxu# ŇÇpEÂzC”Y×|ý0}|—'´:\Çé !°uĆ3›52z«•°rGďÎ:e�śN˛Ĺ@~Ćŕ¤í`ë ©~ĂÖ´ěF‚üóGúĽřUrwő<5Č7ëáܶK«vtş˘˛OÖVR挧˝l/Ö>k ‹ě l‰8bFČďשęĎĂ؉†9vmŃŻkKŕđ…`a5ö5±Ŕ=¶á…F ű´NşqtŠcĆvh“´uËVÚµëşňŞí4==Íd ! dŮuÖ#ü¨ ER±Ç4›m~ݰh*›ěĽ/ö%ů ű—Yň®ÉwmŹĘŞŹŢ¦íUY¶+ü–NÖNÖa;(H2+ 8cž«ŐGčňëĺ§t^[ŇJ3~˙»ęěla-P ŔúćADŽźźźďZĽĽŢ!Á�üĘ4Ő)ÇvŔEÝ´©6„ÉĐě7s}»Ń˘ĄůŞŽ×irfŠ–7ÍĐB넍’gĘk.­Pcb…ęă–Zźl.É‚+CĂĂťŰ<z‚ë®Iń!}žCJF‹Ňç âŻNo/< -Č(#WhÇ}¤Ck$K ńŁô{QüqVęöCHOB´€bPa ÚłĚ‡~8&ČŕYq‘,8/‘#S‘CŽ“ÜľžŹs-w`(µĘ'¶K^9}ľŁ~8äŽäüîvŇߡ„ÎÍÍń9ř®‰šL!ed1Ç{aĐGZÉË{nú>D ×$@ţĘţ,h‚Î=räHW„ŽĽşhâ\Ď'°Hg<'MjÁóöĎ÷I*šĹ׿łÚ ©a¶lŮB (P @6 "¶hz “lÔ;l˛şCČż‘»Ţ’Üą1Á"vąĹůى(^MaŁ%ôłZXŇ­˘Ô_qęF‘Ţ§ŽŽJŠttËěÉm÷ľeËűÉw{`(ä GČ(«–ĘĄň@ÇŰ{Î_IśÜB:oě©ŔF"M ”>vÚsž¬!śţçu'ĺX•ń§ëq :ŻŐ˝Ë™:lČ1CrxĽęŹqÓJg©§­@ż‡ňĐoŔ[ŔxU.ŮÔW–lqŹăÇŽQ«ÝŠÇnĚEË+ އăĆŤŤjŰÖm´{÷n&Q`‘l˛(uŤ ›Ňú Ét#kl¶®í–] ÉmÁ˛B‰ťbO”PäbăË"WäŐ-‹Đg[ĺĹG°űEÝŃ…I“C©LµjĹ|l4`Ś ­fËĄ,iÄשV+<ž”\míĐ`çŤýbÎiS1>Ľ<ˇű¨,–Ť·^ŻQ ¬7`năĹÍ:‚…ě[ŻöŁ7ţßOÝJ—íą€ćč…CŚÝÁE§#%‰F˛°<ŕT! ¤n›_ Ú¶-4»}3µ—Ś|ÇiD¬~˝xlŽÓ‰€dČ­ČřŃ"/ \¸Çď'3Ĺ*DrRăČ Žľ1fę2t[x RX.RßygüÖĎ5ţ´Ž÷Đ(#ŔťwŢI÷w—Úć áĂB3ĚłĘč6zucµĚfD˛€â±k×®Řޞ$Z„\'˝-íčŕb’ßŹŞ·u¨;F})đW»ŇI;ía(’bďéöń‰8~Á v’2BHrm]®@¬@0ߡ´:B…Ü›˙úˇWt m€ÉSôüóôqzŕáÇk˛žť<?|Ž?žş×,‰|Đ®`ŰC©—h’÷OžżD®Ŕ~!âH_BŤ&‡äőű~ä }ś¤E)P @ (pć#!”SĘşě΀ĐÚV.ó±Ć–AíNŔF >Î9á#ëŮ MŇĐKAňEż:Ń !‘„QžŁPŐŐc˙¦‰˝ô.%ĺ(OoóÉčö|űéŔaĺHĂ:Ŕ8‚Ĺě4ë|É˝ä/&x5zäžď)°ŇldNÁ 4‚Eż2}VĂ;jtÚ a"M°Čî—čÖ+ËKtüÄ"UĘ֑۱ö cIŤ\Óá]€15(W©Ń^b‡°Žl0†Ń“}gע̓‡?^wŐ¦ÇľÓ Ż^bź!K„=%(Őiqy`N™šš¤m۶ŃYgťĹ¶ě×i]i÷őF¦~ľîY–˰KF4V·v}—nXGgET±Ť‰M*+冮łżŔHoËZÜĆăÔfA¦ťжE®“‘aJőRüś%LłŐ$I˙!uAi-ă¨jŃ:{äN´}["#:s ¬Gß~:,DV>]ň~_¨jÁ˙űQç˙…ŹëŞ‹/ĄĂÇŹQłÝLüh”H«<>cˇ¸‘÷;Í6-/,Ń‘ńęăcś¤ąŇäÔ R€T±pôMmŮDőÉ:ĎýH´#GşŤT]V1á[Ö‡ţAŤCǨT5ľÝŮ$ťÔÉú±5Á–•öŮĘw®Í\ ‚E|zŻţĚ3ĎĐ˙ńg­¤¬ŐtNq<w:ťľÇůżó„řađ裏ršDĐD)ˇ”/„ ý$@VxîąçâS“„°aóˇ1DŔź(6:C’g2 ť’CQĘ /uÂqşžňAŘ! ʍťřú·Ô÷ RČO)yěôő4ˇ_D Ĺ@ż(~ßóźgžáÓWţ�ią×,ŕ9ú MrŃíĄű“n;]gýüuť™Ciâ~VYm3Hä9eöK[S @ (PŕLA‰D C븕‰Ś˝ŰGN70źĐ™9RrsşôhݬúŚ<ľGĐ˝?†˝/{?%Ň'¦ČŃ®Ě~„‹j‡˘B›WiúG°đI,Ínš¦˛G°HůěűČűý ŞwçS;ú —÷ĺ“ Yđé§Đ:L5Q˝V'äś¶´^ž˝Hb¬^ŁjĄĚ đźŢWĹęyc­”KÎ.Q†GĘű»lŢáÎ|Č6ŽČłN°š|t?@ÔŃjwîÜÉź®3î1XmšŹu뼠“©›mC¤Őś�9!PŰŞ±J/ţ'4 6JMňű˝ţ›şr†ťŽŻĺt˛Vćú Ş˛l€É÷‰Ť’J„ä#ń_ŘkLMMPbk-˘W(P`=dâR)čň­g<łw/ý‰ń˙jLONŃĄ{Χo=ý¤łQhÜ©IXřŃaĹ‚šZ1·@căc4>3IKÓ´Đ9Ať&!GşX<v‚&¶LS}jÜś¸LĚŻč¤ĺľ.i<rvZX’±Ů`ĺĹCT«™Oťú"JŤ5úŔF°Đ Čůw)Y‘’6Nń˛'Xä)‰YÂnţüĎ˙Ľ§‚ă Ń©—­OŮĂŹz1«‡®Ó·ľő-şé¦›âčúe˘„(#šŕ iE čŰô D6|]’WÔ*. s+¶w: QŁÓ Ó$ǶBšLEC"Pd‘� <!퇎ƑuĎBöťťĄ2Ńßu›ęT#�ꡣCä^|rÄjž‡.S˛‚&/hr…´§ô ´™Nń‚{îŐW}˘ŤD˘đë&űóČB’úęëřĎHŽ„ŃýXáQ, (P @6|}*qĚ;gFcB%vŚC˘MËČ%gWâČ’U"FزuÜ Č®§+O˝8c´S.f\°łEČ$±#)ŠÖÄÔˇĺéaTÁôyŢbȶŚGťĐ:‚ń}¸Ó33Ón…ľ”OŞŽ ůĹ×CŐź˛÷n[ň5×ŘÔëŰöÇXŤ `Đr3· 1hbµG0'5‘"¤:–ýčţ¬ňBOĎLńz51Ś‹P‰+•2Ő*5Öż#ÉSJĆuŕH­×«4 ř 2Nö¸AÎ?˝8^N´§I¸�™Ô&9ČőÖ#FYŻN;+ęQ~Zě–˛Č+!\Řw±SJJ±óYď¶»¦ŻZęůěüů GiQdűű:]Ń6âr•LÄv6*đr…ôCۇBN-S @ëvľMëzkĄżŚ ţđ‡»ý‰ćsŃąçÓ˘ń9>ýÂsfö/ ű‘•>ś  I¸(óKTźX¤ńé šÝ¶™Âv‡–Ž/@é0˛€;ćŮżyŠjSuŠŚ$Đ$„‘ěŻsĺ6_š x»V^<L“śMąĹf=—”]Ć—Ź(&\tg3Ić«őŞ?®Ŭ» Č őż˙÷˙¦'ź|˛'›†TˇĎÉXVSŢ ×Ô››Ł'žx‚.»ě2ţ-)>Déď~¸=ţŹ=J_˙ú×-k‰Čć Ś,™B++rm”#Îţ´€(†˝„Ůć;âĺ8ů­ë@iÂwMĐu´D®€B…ČpÖ#ĘŔ'Ó Éb "‹\ĐK9ËSô¤=ĺ{V ^MŁĽÚ¦ŃČdÔkr„˝BÂJű ąCź‹r%R†&Kh‚…^Ĺ!ĎJď˝bĐă (PŕLĆČĹĹ%˝… (P`˝AVYŽ 6<vZy'ś"pđŠpF‡ÂČĄÉ«BîwaŐăŇ|ą\č±g?^zzHµ(ągČČolµ`„ě –sóŚS«!yű«pđŻŤ*Ĺ«€ű—‘Ţ6;3M5Ö=ňŁředŐgđú‹űÚţ‰©*ÖęCĂb5Ćżaôőµ,{ÍĐÇI|şG®íA/Ç6!_r@íVdě-îďŐj™<†ŽB`tĐ:MOOŃô|Ë–áô^I—‰±jii™Á ëße¬®7¤!^ÝÖ±„ŁńíT`cłĚ°©`Ît¬ąÓ$ężÇ· „l!﫤Ű—¶qć•›Z%Ńkăęń¶0Žn!63&YEv™ /°›‚€S­TmJ-Ô#p«A)YȤë_ÂN—%´íśh};) (PŔΕ ŰG,?ťřČG>BO=őT×vTäéKÎ;ź=LKËËŽ_áěB4@ôGcŁŔćĆâ2Í:jä˙€ę“4łmuŚĚŃgş5.ŰŤ-_¤‰Í“T›¬S3j{ÜrStÖ~AÎĆÎJÓ…ŚíŘҵ;u=OçËŇäíłÔ‹ô­íÂ÷o®6Űzņ!XřNZy9EŘĚsNűŽö,ľ~Ń%'Rüýß˙ý@@/ÖržQD„ř~đŻßď>ýsüJZŔ€đÔ“OŃ9»Ď¦ŮM›¬ o |0 ÷.ŚcUäuÎrÉq(ĺ}ĺ+_ˇĂ‡Çz™ ecřě8˘˝FŔĆBDqŠŽ¤ Yĺ Q"âŐ(˝Z«PÔjÇŽzICÚŰ…ˇŽz!ŠĹÔÔTrAůW˘X;vŚĎ1@÷'źh˘ďyµČę{2éú’.Cę(Ę!>:ť‹ ›m Ô@™č‰: …|p®ń(CŢ i~QČř-‘D4y&/ĺŽ^ˇˇßWąWyŢ Čř}=«ťtŰúÇhh˘JżăłŢÇA¶ťdŤ'[֨ʾ”#)čgô>´Wńëä™(�ÔjŁYŮX Ŕş†?Ĺٛծüs˝ó>Ç8yHHîţ´ű;×QŃn·YZ?¸„Śm Ă.˘9}Ŕɤm^=âAÄW ńAE‚Đë>Č®Í"bt˙rďkpř2}”"Ř[Ńr¬ÝÎ W˙N¸L•pÜď¸OĎHĄIzWŕ É–qĘňśs˛ĆHŻ´ »téä>t9›fgě^v$Ą§ű:©/ÇÇ: Vőöib–ŰŁ(UM˛ńÇ6€EýY‰4IqŰö¬Ë�Ä˙ľ{CŇÁäÇÄRÔM XĹ'Ő ăg);Ľb×7hô’­ű~ň=§­ä¨®ŞIń]¶ťH=í;Ŕď™[&÷jűt@MŁGˇź¶5Rí;Q«F4ćěö|µ ‰ĂŞŃWkB¶hť»IËͶ­”Ë5«đZĽ3»Ěůó”EâȲUť z•g÷…®“÷Řď§iű„=ÎF0őÇrą!ÍEqŮL,QďAË~IŹ'zűÉęj«9p}ZsĚÜT¶¶;W WŹŐÔsTö<;ééÔ“qíV»ăFź ÷ýÝ·‹=LÄŽĄŁ[č(:ĘoĆąoÇ69ŽHŃIÍmöŮŰéĄR…JU=C`°»‚8ęÍ­VJ"“u"G�+đrÇ`rD†Ea^ $:đz·öîÝKźřÄ'z3iüP—íąľţřcĽ�DÄŐX+f6‰Ő7-d9Z¦ |Ś6ď,Ńřôµ˝óÂ{¬™ë[ËMZ)—Ś^0i.@Ô\jr n·(Ôër0€?Dýh>FUs-ť*$Ó—XĘęÚÖŽn|¶Bř´LűŰ‹&YrźŤ4]m‚¬¬ĐéüÎĐËpŁYSţvI€ßpXăĺňŇaś©YʉŢ&‚~/džüňű9>©ďăO<N7ŢpŁ5^€aęĹ+ś`_«Ö¨fÚő˘Ëčßř†9>¤VÓ:ůńćŘT ˝€kŔl/(ét§ ‰ó™É>§ŃlŤ©7Č:ş†¤+ѤĹBrµ‚4==MÇŹg‚ĹĚĚLŞń@¶Ąę8Bä)‚ňś|ä9üó:Bz~†ô B’" †S}ßŇĆ~ŠÝŽŇ6(+…őŻ'Ď”‚IŮD)ż]łÚYęk€D“E¬ňźłŻDk…ß/äţ*ů«Ű8Ż_č㳌RyĆ‹AĆ“~ýpPCĐ dŢ×#L¬ë[gJW˙É)˘×ř­űhŻşçŤÉ… ^`Tq»@ŤŽÜądŔ1=)RäŠÔy#p>ȆČEýeQö#^­!«F}ůPd-Mzćł$šË}®ÄxE„ůцü’JYhw8ne?xöPglËúôĽ·ţúmëkťs$cĂTŰŢ‹Šd‘–=ä{HÝŽLŠS8¦uçîşD‘Čą6—¬čW©»Né´ňD’qb˛Ćiâ=}ä+ż óšńµ»÷$˙:Ůś†@”|±z:ĹkŢű0¶~­ľrńsŚ‚Ě+uنCűąŽżş‚{Ź?ž~F2¸V lzŇ$ő¦_^şěĐě3ć c')Q:Ýëýl;Öľq¬" p› Ş+Ć€Z˘&ŤW¬î g1e8‹5yéÔCë· ů"rŹŁüňwÔ-I”ce›čVR¶]t“lďŽ|ÓŤ3mÂN,Řî¬ć,Á¨tĆaIyďĘ v9żź˝b-ŃjEq_ěé_~ŠZß$vDȰcj˛>ŤĆ •Ę%¶IZůŁěŢ—ŢŁc#T„R¶‹Hă0XňD@–ŚĺŮřFx+ův#@BŞŰÍV(l  (0ZřúI1ÎŽ¶M×»~ôŁí{ 䆳wžE‹‹‹ôŘ3{í9/Q6Ó2H«CËsKĽ€}fűfšÜ<k“@çX˛”ő˛,¬0ŮbljśĆ&ǨąŇäča›HŇZ}:©K˘ývŰÍr¤=©$5ىóÎęí÷ ­IŰO$::źęH#¦|ÔNé‚ýa�÷Ń •"DXÄâX•UôÚŻ#ChG°jĺŻ 9Ű‰Ź‘T>ř }ík_Ëu€űBşFžÉw8Ë}ôBŻď;{ň” ŮöŇKčđáĂtÖYgń›"ʆD7][ë´?ü0ÍÍă  ‡ÁB ŁZ±…ś[­ÖȆÁµç'ŠŽ&;HYp8ˇl1ôIű ąő'˙ääd|ßú/ ×Ŕ_<oIĐ„¸Ł]ŹuZŻ5R)UČöaDtĐFSŮ'÷ �Ŕ3ÖFjMZŔýrŻŇĆň\�ÝgĄ=đm¨Ó†hŇ‹8tűɵń‘´"´Ż<ď-[¶¤ęä)ôń]®V¸µá^ßADĆŮ&+!ôyR¦O–Ńź^\/ăó đÇ<"Ŕ F’a„ÍA®9 $ĺ•űÖĂťŕť—}\Ö8ę·MŢ÷^e(P @Á e™ÁO˛˘Ľ}Ý>¬§UAň•g ˝ˇR­xŽu•¦Î­2×zśuD¸ăSĎ3"‰şÍ«+¸»:z#)ôŚŔ®ضA‡'nD¶HöRŇPA×y)95`Z Ź�WéÇj;\ˇˇť§üŻsA¤žššH“®ű|gwD©¨"Zž'˘`Ô/morZ_жµ%W¤ĘÉA÷XŤ¬ą×! äţŃóQfr}%° ęŔ°iƧttE°đˤý'&ËVŚn]©ŇxmŚĆÇŚn¬P°{E“–––6SĎzöĂčt íä]Ő®D čZ–LaťĹAś2Ô¦5ňő÷€l„˝ŕBě:éhŁt¬Gđ"ĄzB^Ż:a–Ξe—é§Ż%pąf«ťóÚE™N˛~z˝o–¨b[FšFsĹĽŻ¶ż ÁBútĄ„Ş×ŞÖF]*{×/ąßĘ>ĄŢ“®}”¶;ńś¸ýń{T¤Č- (›÷‡¶1xYࡇb˙ď ¨˙Őnă7Ýwř -!­łJqŠ9^l0N ťi{ĹřăŽ/P©R˘ÉMł41;M­†ńC·Cę4!×`^7şČRý©cÓ–dŃ02wkĄIa;˛!%"\$$q«jj/©íů0ĺ.,Q{q™ŞFWA,ENŹ·‘*™xíô*Ž@éӾō‚ C°"„Š}'8:$ś˝ň›ŤxÎá/iäÜ•–űĹ ĚafM·Ýv[×ő}g˝O¸Đ×ĚB–Ů‹`ŃKéôťéY)zťo“×ĐśúôާéÜsĎM]_-mcx¨ŹŐă¶>xđ =ńÄ㦭L|@›ŮĐ˝ö»„Ô“{D¤ iüĹoŽÁĘw;Ž8!ĎXH˘řŕ/ŚłR›#µšÚ/A˛‹ËôäBŔ_p<úĘ$„íé„ôc¤„#)9ü>{B¤Npź:˛…FbŤk_ť.D“+ä˝B®'ď¶Iűk˛K˛(J˝§ř.ĎőC?⌎’ś‹s$‚…OÚkČ>yCŽřĎT§«‘:ë> }KHú}J HÝ„Ů; Ü6©Łî_~®ĐĽşúB˘üŐőÎ3‚ô3hř†‡~„p°¤ď_úG)˙X\˛”v1HHă Ę ţ{4¨0žŐ® (P Ł ¦ÎËÚ©żĹđ|ÚP­Vbň3ŕË0Ö)_MćR÷ŹßŃ:ěţŁ–d±±vDHÉrŻDs›K´ ĺĚd˙Śł„đ±ÔídćS}ň©;Ń+ ŻµŰÝ$‹ľ:Şy&ÓÓ“1áÂ^?}ť€şĺ«¸_đ1XőzqłuqwŐŤhč@ §ĄśmÝ÷"†ł@,lzăHś~QWĂä=ăüöËŞ4m¤ß/rĽ=¸×‘Ą¬‹t]/µ;´ú"Ź!}Ć«găZą”[ž€ď)˛«Ý™laĆ·±ŞqŘ6ěâ‚1^ÔłB _űtʧĂĂŽ¶żń‚4¶·Ř–Ç|ŃV–…IÉyľýDƧôłw´©Řń݋̒˙ŢgéhëecLź‹cOäÝGŢ!Ăö‡4á1ę©/ç]gÍž‰)·Ů¶Ń"ş—WLţńí/±KiŰ©@Űc`·[ĎynţDj¶mÂ>élfěě(….őGŔ|-9TÚLŹ潉/iÉ%Ę'±ý…Üó-ŤMĄ@^NđÇMŽĘł±xyáÓźţôPÇošžˇË÷\@?öm#3Ýś×9¸ľĂ*UdĂľ±Ľlü©+-Z8:Ç‘,&f¦hrÓ4G¨hDËÔ1ţP ,‡4Ű´tb‰Ć¦Ć¨6^çţČ$‹–łh;‰CfŹÍéĆZ"o9>4ÁÂÚ^\XĚß>ĺÄIŞÖ6¤UfĂ,Äą.° €:íG]Ą±Ŕ68oá<׫ńĺ/ŽŹ‹€ýÄOĐ#Ź<ByNI­|ř+ᵂŮo0×e÷rôÝtÓMôł?űłĽíw÷wéË_ţr—cVęâ§ŠĐŠ„ď�–t ŽĹQ,:D[·nŤßQrxKqé ü}ŕč…ýĎÇ+Â(!8ČŞ~©ŹŽ``ź›Ž`uEDŔńxfžOę,Śrů.Ny‰ľ yń#䉬ö”ľ€ó@Ä@™BĘrŽdˇŁeś ŦËĐ™qMVěT?Ë#×蔸_´+î÷©ŁĽheTÚH8ľâRĆHşMžëKT@žˇD“‘•�šd#©~P¦<Wů›9W?[y6R'}?>YÄ'eh%ŰďúŮëPÖcô8”ő~éč úúľ±Bź«•{ż?řc‘.K×_ďĎ2¶e˛ĘŇm§ŹŃuŇ5t;ä3,ŇeäÉ"ulĐU)’•“ ą4Gޞ÷ jÜ,P @AK7k2‚Ч¨ĎŠçĂ`5ó]äť+˛‚NhÉ�2§eS_–“˛řB¸}óŚräĘŮ pˇůcG¬čN‘iż'd Y“ŢOńo-„Wž˝.ŚB'—¶»t‘túĺ˛Ű:Fnžš™ ’±8 â´î±7UnĆÉ™ű’¶đ?Ť˘Úšę§µĎ÷Zŕ!áńóÉ󣓟łIQÇ$¶¶ť ÝjôŚúß:sóç-­7`…;“,Ě 5ŁzGeK-˛‘##X¬5‚@ĆSyg•ţŁăţĘX\qď·~™ł†ál‹K VYxřşž9úňccµŘYľdéßŢnţĚýr˛Žńí!ë­ť1Á,(¶$ß~čŰVô>m˙Á_±1Š}JlH€,}JěXţâ•8ŤH«Ác>˛�§R©ň;”Ňö¦rl€ îřĚi‹˛čÄőçĘG™dÓ (ĐĹŘY üqúĆ7ľ1Ô9 ÎŰ}6“.}ę ă73ţDD­*ÉB1CEôÖ×˝ž~í˙˙+Ľý×˙ŕ?ÓŹ}ťj“ă4>;Ĺ €"t±B1ˇĆü2o«ÔŞT5rd»Ô"jZR8Ej9‰ akÄü%Ç÷L‰îŇZ0×XnPE†ČDřßČ;ě÷í¸©Ahu?ŃţÖT>ĹŘ0 ť6QZ“(’7O€cÄ żĽĽś:Ŕ±óóó±ÓXśˇwÝuWfĐçjĺC ěyçeíÓ+ä}ȱoyË[čř@¬DüüĎ˙<ýđ˙pWťňĘÉ«sj»úňÜóĎŃÎť;ůgąZRÎâä÷íŰGßţö·xA»!DNÉ9íqĽD‚°ů ĂŘIŹ[ŞVm 8ßęΚ‹\DçÔĆłk4ŰL–Ç3ë=@ČâüH+KY¤yÎř‹ş‚d#‘OPľg('ł&ňŚ˝ś¸ľ\§C˘DůCŇŞČ=ŁÝqźB„Ѥ­¨ęíŇÖB”Đni{M®Ŕw\Gę„çčóE ŐﮨzA1xNYď“6Ľëçć—ˇďUúmDBŹ.ĎWâu»dŤyެ{ÔÇúcž>FîÁ/K_Óż7˙ŘĽctŮy}S_+«^~yâ—Y=˛Ö$/J¸0JÝ÷“Wß0ăXĺ (°VŔüććc˘I}®>Dů٧!B–*C¶$źŕ©yäţÚđô"“j¤F^ ‰SPä{Ľß…¬\'…qÁwaekäB†fjă6˘^ {Dzż5â.׿îú˝´+v6ož¶ŃĂ"›. ×=un"Żl]ľ’/3Žä\ďžhuXŰx{Ó]“ř^#˘`Hgu×3E(ú"¸4Ějűš®Ü0abĺ<ÝňŹ[Í;Ö1ăN«ÓŽmý˛®T±x¤ěVpőą\2Fąq.™ŁeěM¶w ‹<Ýqăúź›čŽţyx-ĂPţł%ŠŽ}Ďís°zp-S"ÍŠľ,í’Ő€ýű–Öq‡Ç)žFěď·;&ĎF ŹĎę~Y)çtjŰ|¤éÄi°şç-SčȲ@LoŤG~SωQ۰pěřX-&gŕbOd{UµbmĚ\f%–k¤ě0ęžĎőţř™° kgđ`5ڤ (0 »ďËwÜq­.8ç\–v/­Ŕo) ČUWúŹżüA:kÇNŢö»ú úĹ_˙ Ýőőű9C�mš¦E»dômDŚ$¸)ęŮe©iţź\˝Ę2Ë68¦Z!"˛I:bů}€:űZgóŘ\L°Hľcű€Ń*F7€~P)±]§T-3Ł˝Út&ŮB-_žb™q-±aZ¨ÁY:”˝¬Ž‡€+Q �8Ňý"pĂY-d€/}éK)§f*¬B—�ÜŁŢşţľŁÔż7O®đ1¬‚“wśŢúěłĎŇ«Ż{uęš¶]¬SţčŃŁ¦}î çžŰëlh6FłeÉ Zy±äq|[g«ŐŽ·çQNśŃ˘Dč0~rźâäׄ4 ĎJH�RqúűÄżÍQoÜ—ôI‘ç,^-F5a ‰DľgE.Pg(ŚÉ,ű‘˙í¤Ó‹řÄ�Ŕ' 9B“tűkă·¤ŮÖżnCť>ĤĎôJ"ÄDŃJ˛Žt˘ßKÝşźůQ"¤Ţ˛Oú¶!b…NoHôA/„ÔÍ'Té¶ö·ů}_·‘´Łľ/§üsňČY}1‹‘g ëő»ßöám$Ov»´BŚČ0TdÔLŮŞ˝{Žh0ɤň®]í ( 1’86ňŘjWď"•=üN-É�˛ďâĚťéD1áHËqˇ›Şő|-yĐ)ţ‹¦!oĐÇme^ŔF n6÷DQśN…÷;ýŠ›.H;‡ú§:ÓňcÇéSâXőŹM€ yŃ×̶͛7q=±ň¸\)»Hů×××N·]µL˙˛‡z!’ăV‹é«ÇÉ žéç9zĎÚ !MäwÇA‰ig|J×чděŹw;ýµiô>,â4=žIµRâ(˝mÎB~[C¤7ZdÓŁFĽČ‡6 ˙ěűŮťVŰ– iBëŁ%÷ŢʶDoőÉLB¦±c3tg;’( É9Y)€ú·ÇÉéRkú2ws\­^¦Q˘źźµŻ—˝Qo÷çÚ^ĺ¦|jB>™ľŮëŮb×JłÉ6ŰzĄĘ!·AĘÔf#±oĹd)U?‰ę*$ ůëŰYÓ}?©Ź=,YĐÄç±í*ŕß•j•ߍ°Ć6ËĆň 5\™–mJXĺt“ÂzŮe^ڍ Y(P Ŕ(áĎŤ:JRŤ Ě×wß}7­Ó/:o÷ˇ'ž{Ć’,DöđWřD6˛Ůo~ŕCô˙űµŇ_˝×Č%šśž¤es\cÉH ń3uJ.š¤ńs5Ś<Ń©R3vŁK—ŞVâČť¸ŘřßD„Ë"0{Z§)¨ub‚łw$uűéÔNGb鲔©ę†H–‰zń˘yYÝÇ.vÝ8ö¸ C°đÉ ľĐ,„ 8G!|Ě.O9áµS˛^ŻÇeásçťwň +˝Íw^÷ ›ď+˝„ć<g0 ä ‰ĐŕţëýŻńńúúĂ*3±óÜţŠ·Ă¶˙ tîąçrn@aJ3+»Ő¤‡~}ô›l,«¸Hâx—‰H§źđzV!±ż‰śQ´b^HÎyŞŇpr$‘ÄÁŻ'>µAöˇlą7‰< ۲ž”!ib8%Šç×)6ÖCŠ©›U¨ťë~¸$Ą€(x>ˇBoÓý^ż?Iz—ôGŽÓě©«ÔI—äŻÜłoh•cóRth(Öşmô{« ":ę‰(ÄŘ/Ń?üzÉß,ÂD–`ćGD‘ň˛Ň™ôS¬ĺ˙˝—¶Č«KŢŘ™Wľ>&+‚S?)JŘë¬Ő‰Ö'Đ!9»vţÁ•ź5ž¤‹Ý8DőŽnçĚŃ#ÇhďŢgéĐáĂňş÷ąyrŽt ‹<#FŮřęÝR˙ú5™śš¤Ý»vŃĹ—\ÄŠJO™ÝąďĄ#ôÂÁcf\VWP÷sďm—‹+ČÜšߣ٬zHůę ¶ĎÎLŇŮ;6ÓÎmłÉFŻLMpÄk¬•ů-QĽäÔäjˇ*L{rÝ3“zE”M‹Ëü©OĐżkĹmĹĄDş¸¬SÜyşŐúŤĎ8gn~™Žť§…ĹefâĂqĎÎ{cĚŹB‘K”|ŘÚD™puÔo)ő¸&‘Ć´«’V“ą™Ř@¤Ú“Ü3bʞ8LÂŘ8o«35Q§í[giĎą;NŇĹ;d•¨„Ó?–çí]ą:gw†äŮ…±łÎ ĚsęDşOmTp NóŃc{ ¦ýžzí¨wF^cňž˝tŁHČÔaŠ<źYl9ľmŰĽ9‘sĂČ:şäÔt™Ôń]ć<ęŘPt’;Š˙5ÔCřx˘<ç'1DqyĎ2ҸŢ.Ýi•í™-W™}AŽďŤśöp»âóýOĘqęĆq«“µŮ vÂŚëD©+ ’Vni¤Dk‰â¨/ÄŕvÇ-2ż[Ô´× ĘśJ MLĘś=W ­/öÚ¦ˇőĘîgV"ëSNĆX»_żÇQŞśX’ „Ľ! 8ô3_ëŮGc­ç† ő˙•‚Ń;i´Žž·/oż}L©dźgŞŹD‰ÜŃó˝\cÝ—žź_12ü"µ*6:D'Ä{›Ř@ÄÎ$„źLáŰClµłÇźä'˘^ŕŮ B™$¸ě2•RśYŰ4ĺ/PâEHÖ_J\·ô‚¤ž6ď`ŘąŁ@l;{Á^:~ü8÷Y¤ żä’K⨽ýđ /ĐÓOíĄ7Ţ|ť ŔGóío?Nłł3ĆWqNüž(p2Č"WÄ‹AŤđ»÷™g¸Ż7ŤqjjŠÎ>çlÚelPĺňhçöŘśPŕ”âţűďg»ÄÉ�2ĆĹçťĎß…dÁ˛n`gë_ůŤ_Ł?üÝß3s~™Ĺ…’#YüÂřeúÂ}w1Aˇ>9ΠąÜ N2Mhĺ/-@Ü\iQ©j|mF˙Lß+łZűTś‡]Ö“ÓbÝ-[‰C´‰Ć‰ŞÍNĺËxN ś˝Kűń,ÁÔČdőg™ ľŘ•€ZđQµKÖ§thŁ`CE°ČZÝŽíx)d幤üŔ_í„Ö DÁÔ)E€o~ó›±cY;bzŔ•ÁŘwDűĘkž€ě;…ozÓ›br…‹rë·~‹Ó—řĺh2Ŕ0?E‡ýöçťĂ/sŮ9?Ú¦]÷í{–zđ«´0?gYŘ.䣴ą8×uTۆ6_©8®í•l¸X1řę:á7ĘR€ÜżQšp"NlýL!â\‰2 I:â‚”rABŁŻ¤ÔĐ÷pާű}Jú®8éýôň]§¶€PŞÓŠčľ+ĺëH0’:CúYčkđĘ×nň[ęęGzgĺG)ŃĎÖ_äšB¦AD9O?{?5~ÇDÁŐă‡~o%bî÷‘¤ą » z|đI şŢşťtűjň‰OšđÇ7źđŕ+Ýúܬ1AÎóËŇőÍş†ŹA 4§Y÷”‡ŔŤ]VZĺ-4hůYcvWŮj˙ziź/G$Â2"D=ůÄStË-ź¦/Ýy=ýôłą ĂŕÎ ďřA§Cwş˙nprghď~Ďz9UÓNů-[6ŃݏśŢýîwĐ;Ţńšž™ <4ŚBr˙7ž˘ĎÜő=ňä>:rtÁU1íĎuýô)ŰôďÔ<ÍJ•.#}oĄíÝŃâ9ŹňG2\×öMtíĺ{蟼á*zĹĹçP­îćV9/ťbŮ?.cě/ł#ß¶p`ťEńő’ą“.‚¸TNŽ—TÄ))®ś;#í€ős¸g¶şn6yF ˘äx×FYr·ś„4Çç–é©§_˘gź?HGŹĎSŰ\ż…ÔgŤ&µšËć= y%A›?*ťę¦(ż ăy9` KĚîo˝ĽŇ0ĘłŤ 9ŽVر+bą9vg89Ďě'ÇAš­R˝§ÂŠzdClř‡Á˛„©PË­¤Ä§Ńlń= <=Ęź™ŞÓů{vŇ›ßx ÝpÍ%41V÷môČR' Ąme®´“AŠ68ů}$–5M?ŽÚóś\zęÄöSD°¬v\’Q!íĐ”!5PL„řő$ŰY¤ŹaĚĹ%p‘/d #‰bض+RrWt±EÇ_:ń¶­3ł+„eÜĚÖY»ĺ° ڍImđ©ĘżnVY »`Tňđú•Óv‹čúÁ»ŢquÍ [&ulĘ31d … A¶Ź·ŮęôÖx>/Ĺ' ç ç×`ŕ `ęđřŇćI«kZŇ>Vr%ë`‡A”Ťńw;F.«NĐě¦Í¦´#RIňg._÷×˝Ť"y߲Ľöšvż>^śĐvîaŞ ›guZ§Ŕ“ń\+%ţM]-Ň×^;(ă©1ĂVËŐÁ.i‰Ô+u•ăÎ@ýCŐ-óř ygtźôeáµ椹ůŽŞ¸w¬Ýi±<†wŻZ­ń"yT×3.gŔúgµyľśJnľµ‚ íf"EĄLUNYŲČ\­Ž‘ťý–É ZÄD2iá'pó©jë~żţůçéÖ[o5¶‚§ă÷öĐn¸ŢűŢ÷D˛xđÁéĎţôż§ #bQߥĄ%zřáŻÓöíŰé’K.frŐ>˙Eţľk×YÁ˘ŔHĐ-ëüEt÷]wÓ'oą…Ä)ޱ}Óě&úÎď|]}ÍU™QÄŢcu"o}ë[ŹŃÁŘ˙gĎóëć—K=î ¬ÇFĚőí9ßČ%mzü™˝ÎCü¸?ó…ĎÓżý…˙“~˙·˙SL˛€Nđ;˙ׯŃ/ţÇҧďř,•ŤÍ©@¸ďDMů¶ˇRâŁé4ŤüĐlTȲ%Z”°/°i9´˝/î*AúKW7ßo~‘ É&oAŻ’KQ`5ŁČEŶj™j“u&‰ŕ=i{Scq…–ŽÍłś{XÔ˘ 3óhĂŽ<t„šF°¤Đ‘ ´#6űhĄ0H9)yä‘ÔvĐÔŽ\@"bhhötŻ?RžÔ1¸ţŇ/ýRʉ‹Čź˙üç»ÎÄѨŹőqÍ”ľ|ŕŔÔ9ř@űęWď§§žzŠt;ä9mĄ tÚqÚëë~Ú !‹HTíXŽ ŮQ”:^˘XČ6ť&D˘`äA`ď Q K;]JMjpSđÓ ´ŃEî !¤ę”9R¦˙ }2Në!ׂ‡˙̤Ýĺyřu—çá§‘ró„ŽGJ܇ܫ”Ż ~ż“c¤žŇFMĹŐ ă”r!Řč~§Sč÷_ď×íŰAż7Y¤ źđEşĐĺúĺůí˘ Űú9ř×ÔeK[ës†ĹhŚĐůNĎĘ÷p}”ľŔEň®O}ęW Ŕ©GŇ˙žŮű,ýáţ Ýyç—hiQJ=±Á”żAŹ÷Î6ÄÚŐqöEĂĽ8Ň×rĆD»¶ß•‘ě?zôÝu×=ôčŁß˘C‡ŽŇżţ7˙"·*w|ĺQú«Oü#=űâa[/rc_ĘÝO™ňˇŔ'¤±<…ń}ęýR٨ÇŘĐkÔHÍǶâďAD q!JןýŹŃKÇNĐł/˘źřž7ÇůĹN)˛Ç[§¤-ˇĹÎ}W¸'8U±/˛ëă›ĚŚÇ!ĺX«Ç#,n=D˛a˙ˇÖU 719×µdLČÔ} n>ĹÇvkÝň«7vËpŻ|Łöo9 &Oś8±BăąđüÝt±ŹŚZĆ鶲ҤEŁs4mĹBćŘ ŽÖV)Ű\őp¨ŤŹUi¬VćHmQ¦—Íy‡ŽÎŃľGéČ‘9s­NśfoqižćLŮPśá8�a˘dW8OŐŚâşeó,]tîvÚ˝c‹‘ęF¶«ńłh@‰m€dŽâJLnµ-AąÁ9ÁŤ!ß”»¸´L'Ś˝„ŐŤË?{ź=@ű^ú"-Ě-Ń{Ţv+čü´Fd ő!Ď[đuPXŃíGhăQŔ1&t$-Wq”…íđÉ…c÷ßýő„1A+H7G¨=áťd;őJĹ@)GNüNr˙¶éA,(­S%Ó@ý ÔőÚ´iĘŽ;ĄÄ9¤‰Éx›ÖgT]‚”c·ą".ŻËa=ň|ůýtúÁprýk-3ßś&U7yź‡hšžÇ¦vęIŔ‡íł–dňĘ+î?=uKâ‚ ă*Ćl@ČDÇjµşźËnáI…§X&`´N0Y óÂÉ`PyLËa}Jě’×|ýYƑ؉¬ĘMĆ"!Ou§@H‰H4ĚDsrcňÉŤ'Ś}>ëhuLŹ‘™5°˙˝Ę řĹ×Ď´K®ő¶çý^+@ľi4Cšśś˘zŐ’üçá˝’…D’ŽCĚ�Ú.“e ó1Č»#óťžî×ÍŰ06ŘČ5p†tR.@dĚHRŘ1*ŽÎJťUŰf �ű“źü$GŻŔ"D­Ŕ»?Č˙üź˙“Î:ë,şůć›étďŃÜÜ<}úÓ·Ń+_ůJ&ULOOÓ»ŢőNšťťeBU'ě×óĆŢÇ{‚ţôĎţ”nĽńFzó›ßÄýďŕÁĆ'÷şĺÖ[hËÖÍtŢyçѰKBżzŕř l/†÷S Ś{ŁBéBÎÝC/>LÇOśH< ćźO}ćv>F“,0ż˙Ć/˙ ëŘ·~á3L°@ęxŤÚA‹óźJd=± ňâ#űťGÔă> =Ű*$Yü‚Č—+Łř_?úikq‰´­ Š”lçÉú¬†Q";:[XĹؽƍŢ_źçăZ+ :aî'|Ářş¨Ľ®m+ĂbĂE°€� 6ćŕp…c´Z­¦›rŽ8š}ĄÁwŘďŰ·ĎVOtwüó˛Hr\*¤DuĐĺů‚1~żůÍoÎ%W|îsźËlßyŰ«íßxFĘď¨úűňĘŠi‡9š™™ćc‘#×߷ﹸ íĚfٞ3¸ !B§ćöÔŃBtÚ]'™Đü6”HyŽh@*ąŽN3"eę6“:ŕ·vŞëýú^5™cTđťŰYűuŰčö’6‘6Ë:OúŚ@GމW3ër|Ç‘˙\äŮéďrś,�?MŚÔK ˛€6Ž C“¦|řÎ.| TűQ$ňH € 41퀿ęńCYrďşmý÷U§ńßUÝ7u_őIţű(u”ňĄ]2wŞYmäüý€&Iý|2Š?nőBľ1.ű¸aÔ[č‚Ücĺ:ńy”aĎŤ…„ 辎űϸOŁ.Ż@¶_?~‚>ő©ŰčŽ;î0ă=güĄhD Z—ĽB˝k“7—Ů÷2‰agÇ R<^&2T˘ @őÂF˝Ň5Ŕ»zěčqúď˙ýočUŻz%˝öuŻîşîc{ŇÇ?űzn˙ˇ”‘ßŮ:ťKĐ7»Ň3ŚČ©q5RNţŚqÚ—Qt+ :DJ +kÎ/‘vrZE «ůľ˝w?Ýv×ĂtöÎ-töY[ôMđźsŢ +GÎQB T9ťĚ\€Č„Pćć·k Ä6pîZ.3C%xŐ{ĹŐ!4;š\3DP>&_”ů8Ëv/ËX,2FŞő=#u”j2G‡±sAQ†k&^—ś´?§ôpźçÜ żcśôSÓ5ź°2,B1‡Ľ*ŮF«8>ß •ĺ6٢KEbĚ(ÁćSŻbUł]‘ }Ý>ÓwKUó^ş‘Ťž?p”C&ÂL^.Uě]qBMă$Ŕ9ćÜj˝B;·ÎŇömłśŽך™§]Ű·ĐVŁĽNLŚŃ9† Ć(ż¸h} MZXjR«Ó¤•F›WP@öš™¬ÓŘć*_{É(»¨üńů%:řŇ!Łü/Đ#ÇéÓ_ř*]tŢNşüŇó¨§/rĐď…S$šĹŇŇbʸ•÷ůÇŘž_µ†…(k Ú8ÖŞ0RQ=$öhúßož\’ČQ–ĚąţF”ŠÚfŹuŻX×ĺđ|"ÚĽeÚŽů 'é`öZýÓ/&Ď4ęO®˙]˝Ěu˛iE˛1ŠBÓ±ˇÁýe¸Łl‹Ü>·Škô'W W(Ćw¤Të¸( ifžł«^+S­Ž4§u›8(Çş¦Ő=J/ł1ˇ8/1r);;É逶'$вD"Łh˝JŢUy*‰\‘8ůĹ‘M©żiűEú÷ÚŞF‘÷÷ÔĂÚÉzGć}Ě)!gŢłűúëźi;§FŻsýzݵžk#•9D»±.±ü2¬•µAĘE#…­I"˛FŻĹ#Y¶Ĺěw%§~Ęâ¶Äzy&;FŔŽ9(r6ËVlÓ٢Ůíű!ď+v„fČ/#č~ýěłĎŇăŹ?NoűŰٱ+vű .¸€"€ľc‘BýĄ—^˘M›61ń„ ±íęrAřĘ—ď§ŻăaŽętůĺWpÚsDĆaűŘÇůx,úĂűů¶·˝ÍřfčË_ţ2}ë[ßâw÷˘‹.˘÷Ľç=üüĺ_ţ}ăß ýű÷ó;~ÓM7qD‹Ë.żŚvěÜÎ×|ě±Çé _řűpvěŘIoxĂëéŇK/ĺ}·ÝvGĆ[^^âE˘°'Ľímoˇë®»Ž Đ}7kś iË–-ôţ÷˙Ď;Ŕ9çśĂ$ż{îą›SŻŁ/˙Ż˙őżčµŻ}-]vŮe<ÇŔwöń—ô}ß÷}töŮgÓ‹/ľČQčź|ňI&ß‚¬Ň"Č`őˇC‡čţŕżŇ?ů'oăľűÍo>J÷Ţ{§đٶm˝óťßIçž{6G Ľďľ/ÓsĎ=Ë$¨‡zöěŮĂQgđţ<üđĂśúţÝď~—yŹ.¤ý˙/ĆĽQ~Ą+.ĽľúČ7ě˘`GH€!,“dadßüż~•ĺ¸[>w•«e&N”ŤŤ‰ -bňwéEĽÄiCâ…ş±îA.đ^Ŕ¤Ť@ů>ŇT 'Ź8Ń"‚ţcĆäR s§Cy>%ňŢYH}µÉ1šŢş‰Şu.arvĘň>Ž˙}Ď´Őg6 ÁTÉ<„™,ä íXŐŽA1ÜYŽ@q,"D–ŔwüűěgŮÓ+´óWśţZ¸—sđ°’E®řÍßüͮȾ°źV~ł·e(ĺXęôM›lo8çźyf/ JŢW§zëAÄ ¦ťęvĘ;(Đ«Đü¶‹Éťt|ĎŠ¦çpŽ,ąCÎńS8řŽ_٦SiřÎtťFcŘ4,yČSŘş•łn§±ľl“T8ň[—ŤvĤ!“˝D~Đí.÷©ŻŻťýţjA&0貴Ł^ľËóŐ©LäË>ą^–S_—A\×Ižź6pľÓNÎGĆ8‚1d ąoťÎ$‹<újRŽn3ąOŮŻëśő‘±AßźľG=–ůýVľűa—ĺżësü:é±IżGň줿HY˛OGMń릯룗‘˘—ˇßA=ŤděxtaícďW¶8$ň®yÇŹkmt*P�‘§ľřĹ/ňřĆKîG˙ťŤÜ?Qď ]żxĚaFCăăýžł9Ë#o_büď.$‹Źě2 _}čQzvßăаNűú۲„RU"_^*ĄĆ8]7Ý.¶-ŇÓ,™+s{ż1Á•ncB˛ńWęáć%ä|ôÉ}ôŘŢý1Á"RBßq3ľ79‹Dčü@“)Z‘#VĂ@´ŕĐćďH–öAňŠLD¨ŕÄf7fŃ ŰCy=jŃaň…Őó*üÝžSŇNŇ’’ˇő3v]$N”áČ,aüěĐÍ­«VBĆŹVBTaL¤I Śl.K÷SďB” D|@dć˛j«R”ĘĄ§Ľă4 =LĆŤ<=5FµŽQ’mĘąĽŇagžĹŃă'hďsGhď ‡čĹĂ'8‚„í}ľFUÍ8 ‚ŠMíQ«ŹÓ®łvŇťE“S㦙šٱń*ŻÜ¬V^%ÁaŘÍýNMTiq˘Mó Z6u±‘Ś<ĹaÚ#:1·@‡O,Đü‚]q}ôŘť_ …ĹEj¶:tčČ şűoÓ—î!7™ŤÄ!ś†–Sä#ŃęXŁŽMq™ŞTJéyp¦RŠľB›l>Ň€˛ś‡Ő0®çzť·C¤C‰ĘjÁۦë*‚L˙˛|ą“_…¸m»J†ő°l= –Ď„¤nƆM“N.nÇUë^Ą-©řŇőę®ë�Ă&Ů1(ôq‚!Ľ˙˝eŕŃő'Ǔȸ~ź6ęC®đwŤšh’šCGMŞPE"¨d\7ç$~ŻUČ<˛A›ň"ż41V1ăî¤9¨MÚ‰©99}]űNµÚ ~§f¦ghµČÓóN%wŻQÜd|č’C”)˝Í‡â‰ľëj¶ŢţŘ•ŤŤ¤C 2·¬ö~łú@/»•¶ čß«E?ŔÉĺ6[ˇŤ„×±Rźđ_ąśŘ´´ý6üM"ĚX›ź¶áfŮśtßĎl9ĄÔyşOGžŽżKˇ•h1·JZ!YĚ_ßéĽĆĄŁĂyµúĆqR8uĐăůáÇů]€C¸ŞČ~ř§0Ţ�ÎÇżüËżäw¤ /ţäOţ„~ę§~Š®¸âŠ”ý$†Ď|ćłtď=÷Ń+®Ľś‰ěźůĚgřZ?üĂ?lě®côŔ_5ÎáçčőŻ˝9˙rÖ—ţáţŁQ^uŐUü^~ęSźć¨|ď{ß÷góeôőŻ?B»ví2׿”Źż˙ţŚ.4FŻxĹĺ´wď3ôżń›tÍ5×ĐĹ_Â9ţęŻţÚ\ď‡čꫯbrśĐ yĽň•ŻâHř‡HüŕŤĂú\*P@CűE0#˛Á»ßýn&W$曀.ĽđÚľ}+ű0·Ü}÷ÝtţůçÇÄř!`“{Ë[ŢJFNĽĺ–[ů]şöÚk9zĚź˙ů‡éř€)ç"&JŔGóŞW˝Š¶nÝJ_űÚ×čŁýożč˘‹Í»ń(ýöo˙6ý‡˙đ«TŻ×č±ÇcÂÓ÷|Ď÷đű˘ÇWľň.ġ{ď˝—~çwţýţď˙ľyź*éN 'ýÉźü]pÁůLnS)C—ŚÍŕoţ毙Hňs?÷s´Ń ýżŁÄ®í;čŐW^EŹ<ő-{KdŤ=Ů$ ˛$‹ßúŕŻňzËg?mS€Ŕ…ż,ëtlJC6’ŕŚÄÉ6řşôÂgłłPF-wŽüŇN{i…ń˝:Ť*ÎĘ%–8.$ÚX•f¶ĎRmr‚¦7OSŐŘ®ć‘Č[¤q&cĂ,ŕ80ţřŕÁĂ(ÂŞvűÎK §…nÝq 8€™é+’z ŐđŤíÚŮŞ?:U‚'×Ŕoź\!×öÓ‚řőŇB¸Ż�řŽ�˙%ám]Ëä7BÚč:Úvc‚v8ăçŃé¤S'Ó†qQlt4ťĆAśŰ˘âyI”8äĹIŹ}:Ý„8ő3i»°Úůî˙ĹĺŘ{°÷Šëű© ˛Úv ¦¨ĺ#+bvÂűu•íĽ‚qf†Y“Y©5¤lí�Ęrć:-Ú ĎH§Áq;-ď©ô˙ąË±:rCV»úýeâ^4)�Űu˝ŇĄĎá:`™BaŔwD­@…T{¶Ôif¤źIąÂÖ–ű—c¤BĚĐýZď—{ŇŰtö٬hRŠ&€řőŇĎ\Τ }]ůžĽ×QÁEď"“Ü—ÜŹôŮîŻ2Ő×ôŻŰ ýŢŤdÔŐ¦öBň'č[F®1i„6ˇµ64( 1wbŽü µĺäú]u ĺL_ţ!±<Źnl ĂX°çât ÝxďlÂÉřo‰™×4çC!ÍÂÓűsę…0Ň©"ëCg‚zGKAŰ đ0‹Ü‘Ďtú±(ă>ĺ»űb·ëďţ1™H ´z,·ěJ=˝=qčÄ-ÂŤzŃ ŽžPd…Ä9‡HN® ,ÉÄ�y-`R˘9ŕw‰Ł*tśÓŠź“2"K˛€ŚÁí‚(6˘®Á‘0BŰÔpň×|,ů‚S8XYĆIW7;¶‡q3đj}”çňOňoGq.`®ÔĎRä»w¬łÝl‰4Ĺ„JKtôř=ńä~Bîk{­Mßi´ÚLp¨Vl ô…©©Iššg™d|Üë+ß'H�pŇÍ-6éčÜ5VBZiv8uËăĎ0Ďd‘ D®ŕţUáú¬k”MUKU~›f&é˘ vĐ+.ÝEő1r˛\Ő=Ű“A`ÔDJ¬Ż—ÍgŚĆj ŹQĄZv«8C:>·H‹ËMzńĐ :pčµ›-NE2ßXˇĹF›Żß1ťáé}i-´%µĽÄmďdw^aZ±O˛ Bsđ—FEGŢ’óâççŢVÇö‘Ňjś·'!źźJ€¬E–ŞD˝#ľ^E/T.±ňśý Ţ>vĽĆX‘VŚ!|yĄ‘*Óׇt}|ą_#čU€‘Žr´Ś‚T–˙’ń|­ŻTĘ»\Żöó,mkĹ#~ćĄŃnçż“#–ŠN¤u-ŔĘ,Éqbł¬U+,Pą!Lébö{ä䍤_ŽŹ×éŘ‘Ml9‹N'üwPëX“NÉ“ű:ę·YŇą’’¤Ę“\d’î ¤µĹZ—ż:ř:{żăÖZě_3®őpÎśjýĆVś µ¤ő'ă t„TťT°'ă#xÇĚ;™Č#¶Ś 8vö¤ÔˇNIž9äŮ6GĘé´m*8Ńw´=H"m$ňŽMőh ^ěV=ŤŃo śą÷Ul˘Đ_ňŔ˘T�°™Ţ˙ýěţ·˙ößňĘ}Ľ7ż÷{żGźýěg١,ĺa\ßż˙EăÜ˝Ź^sĂkŚSú;yŰŮgźĂÎäwĽăťfî;‹ß·íŰ·ÓŹüČq�sóÍo˘7ľńŤ´cÇÖk‚ĺăoĽIW_}µů\iŃ nî˛uýŰżýhóćÍô“?ůOŤĽ9nśŘű9ĹÉ=÷ÜK—_~»{÷nzűŰßĆőżöÚkčg~ć§é›ßüfA°(‚ď׳ »—Mż9›bCеÚ6ëűE?źźcRJßůťďä1ü¦›Ţ@۶meHx_÷ş×ŇÜÜÝu×Ýü.€$„wńMoş™ţýż˙úä'oˇ÷˝ďűř}/ä­oµ‘aŽ9Ě60Dr˝ě˛K9Ě?ý§˙”ýšçž{ Ě‹x׿ôĄ/q” ›0>€\ń§úgćÚ˙@»vť^™u­đüóĎÓZ�2Ĺ®;izjšöżô"}ű™§9’hŕxĹźş=›dńŰżňX`ř‡Ű?EĄŠłťbSĄĚ©BJlK\B°ň„[ä\*Ą%í#‰ý.ůÄÖYiRmSÚN™ĺcFä ¶ťB–7†=,bë»RsˇA+Ćε8q‚Şc5ŞŮjjÇfŞÎLŃYć=zęKŃFÁ†!X`µąv˘ " uVĹŃ!ÁwjŠłTr�ăÓʱ ËŔím—zČyYNMßń)ÎJ„úŮźýŮÔőp®+´śĺTĚuö@l t·Ä˙&ëŠ0¤ %’qh/qľâ;B‰ĂĎAN]K1‹+6ä™XĺÇîăĚ^›Z%˘“"hÇ´8ĎEyÂqňWrľ…"˸'ýA"h#®ďô>ÝSÝĄ­µŇ.őÄ=abĆżÁŽÄ{ ďAżGÚ©/Ä ”ÝâŢí !!ü•ď8VŢ1‰ ¦#€ Z”]@RtHŇ92ĺťĚ‚pű�.$Ä´n‰Zí¸w\  ŽdEßDqŐѤŤőę@úŤěÓ)WG‘vôź•Ľ26éqDŻ#Çč±D ý]÷ ý> )C"aźDĄ‘wM÷ýH;čßšh"űS!rŐqYĎsčľîʇö�Ї¸o§ĺŕÜëęqş‹Ë¬K^˝ýzůÇĺ9 @plqčµx-˙H čŻňÇŚ4ąÂ®¦wnqőn»căŐvős©d#`µŰť.’«YmăŽčN—s0`ĺ˘äÍ›�1Ô[­W»îIî«dżtÝ»E’]e.Ńârř”üż:’/F<Ć·SŰc˛ťc«D<ćKČa×n1™ÂĚCćű2śI羍`'»m‘YÍÜ@5˘Ěd ś×2ĺ5ͧíž#”ľNĹ<„Äó2J_#čТŮßt&j”S5m€ż5S">ULu˛q‡Đć׾ˇ#ÓŮgBś‚Ä팉ö ć_—z€ 2Ňn˘ÂĘ®"‘=řC‡ŽÓ=÷~űhĆlÓFsóË´‚0Ófž¬›ľ…%šťž¤sĎŮI{Î;‹¶n›¦úx•WN‚9waąM‡Ž.ѓϢÍŃńąe:6·@ K+nέRµ6N•jÍFŃMkEŞ”B#×T貋wĐ%lŁ™)#UÍ;Đ2ď·i––Wčđń9:jĘśź2ű'Ťs lś}U{ߥ2ץeę~đđ=ýÜA:z|žž{ń0ď߼y†öěÜJUóĽžÚw€9ĆŃ+šĆŢlKµA,AňW/çR"ă—©^ âPß0ňŚŹSYľ×<;,lYťD§6äÎ Ź“.*ěř’Śé' @<вLŠrdi#'üq•Ľ(x^łFî>qb>ýĽ’bÜ)IŻÓş»OéĺěËZ%?,R¤‚0 ˘xLĄ"˙9¦źGÖ1=Î[FEV‘Ł»ŢóDí˛i Ú$ˇn{łLŁeôÜ•%j¶ÚĽâËĘ:LSăS\A>kKÝčÉM9ł6A’xkäŤqÝďăp°˛ ń<¦ÇWŽ’ëxĺŮ*+š!滿äélŽ­A8Ńw«}e»3]_*9;Ŕ őýF¶ĘáËčŢÖK^łgfúbłcŁŠQ¬CPfݤ,6&˝JČKË‹l§Äľ8˛EX«¨ëËądŃ"b>vv^kCŇ!K,˛ď*¨Ź|ěÜ]˛˛şZx$ăH™W˛Ú÷e|¬JgřkQŕ4AŢO¬Ľ—w °‰#=]IżC8Q/°b>Imʇď`~nŢ8’/¦éi›Náú믧?ů“?ĺô»w[- ›6mŽűđÖ­[8íÇm·ÝÎŽhDť1ł\NŢ‘’ _r'#%ÂüŔĐ–-›ąp(_pÁśţéÎ…`ĘŘĽyG¤îňć+ń/áďÂÂ|¦ wĐ1x۶íüţÜrË-Ü/_óšë馛Ţ/D_ć 5ńĺúë_mŢ»ťî]ăč.xçľ˙űżŹŹ‡Oý™™fŇŇ”qäă}Áwś‡÷7ąĎŢőEY?ó3?Ă‘2ţćoţ†ŻńŽwĽţúŻ˙š#ĚLNŽÓ/˙ň/ÓFŇ·¬Đf¦¦hâü ŚŹtśzěQcĎiĹbĹ­·ßÎÚÁř$‹ýGî˙pۧ(*‡V·€<ůZÝÄ­;Pň|áY¶Kßş#}Y|tÍV|drHż†Ké y§˝Ň¤•ą%šCD#37,ϛŃäćYšÚą…6íÚA—żőFÚ(Ř0 qćÉ !‚¦5ľ-ĹljĂ@gđťĘ€8.Ĺďlý•Ú?e€V>ýHľ‚«–šŕqăŤ7ŇOţäOĆÇH˝@®�sSęŻ#­ČęňuŮţµłÚ1.“˛Ť©0f˘Ńhg°B‘PÚGŐVa)§Vökçł}^ä>‰9µÂ“sÜK$QčEŇ„á-żĺZ%CÚ*ëţ}G‰6hňŽÜŹŽ  ‰§: Iz›Üę AmL˛ ř©r˛KşŹB6Ń‘C’ç“8ďĹÁň~c…"ţ‚l#d í\Ňi^tŰj…؇lC™Če€í‰V`{J]'MdĽ÷`o˘l1 ŚńÂwNˇť$şŚ( ň‘ŐROO䣏—z˛,Ę‹~G“Ô9i‚‚”á“*ôűH=ĺxźĐ eú©Z�ÔGž+îí¤‰2Ň'¤\©łß7ü1IŻDbŠ~Žx&yĎT÷Ç,čľ&ń×'rtďÝwŰŽ[9ĺä 7đEneUŕžâśËŞSŻzfŤ+şOdť{˛FݞРδ‘_9HŔň]ćléózŽ˘2޵ MLÖ™ĽŮl´Ů9·˛Ň$RŃ4V”¬¤©ĄAz>Ő!ź‰ěÉ qJäňŢqů@É-•+©m©ńŞTË­gŕBŽëzHÝlţö´áئÂřfBҤcŻ«¦’ßđq :E;˛+ý‰Â¶uĚZjB‰ eçHm—ZFŹ*S ąÄŰ7š`­›ëśX$:Z‰čHŐ̵ŐĐjÍůËhţ«…)DjćÔ±ŔFĆ@Ť«“ (NRVő,;"Śíɶ>Xą9‡lŰ08â%Q,콉˛éŽ Hâ¶eŹ·sFüÖcĎŃâň“•ą ’” ĺJŤ pŞ­,erÉč»¶ŇćŮIšś02’iţš1‚ožť˘±ǬĚĐD4†CXó]†F^Ű? ăů»\™ ±23]hĎîişţęsč¬mS`ÔĐ /,ŃýŹěŁăs Ó®ÚµsšÎß˝*AŤćÚtüÄŠ)#4Íş1°TM=ę¦nD SżGćÉ<Úbęłyf’®şř<Ú˛iŠIvQ5×;qĚȆ¤ŁĐš,‚ …]ĚévâIźŻVËěđܵ¸¸ÄO˛‹ąµ.fĺ;D#+Żj…|–î¶çfîů‘páĘą•^÷ÉŁ#î 9.« »Ęż›� gëäÔT¬;ĆÇSŔbJŤy#D„t™AέYăŇI#Y“úyňčnŁAäÝAeâ|—ćžd˘ł˘š$Evm>D=ú×.8ůwt4°ĎËęV6T˙ @Ô vk‘Ž=ÎcÖÄć‚î6DńkŠžŰ Ó2Đ(‘§C űާS{JąZÓ†$…ŐĄpů„P›.źŁĹ2b°áÉ1NŹ8ÎČł­ýĆŻµś7!7"Ą™•ŇŠľî›:j* ŁŘJ_†m¶!»Ľ˛Čö-`ĂÂń°ŹŕjµĆä†|$é=°2ąÝiń*Ó(Lěe(ŻŽ¨©lO˛N;+m !Cä.KŇ’úű nřjA§_.P`XH˙Aä Ř'í*÷t$‡/ůËĽýMozSl× '9…·łóů¶/üWV©ËĄ*kgXáĚ|Ą0ŕČ}ňę8pţŰűcN=ň†7ĽŢóîď¦W\q}üăďs#öŢ[čöŢ’HľÖ:›_ú]Ń  Ľ|ŕËžY:źŘ–ńÁ°sçNzđÁéío{ę¸C‡ŃC=Äd˛/XâĎ„éźď˙‰÷ÓozÝwß}ô©[ogŇŃů/˙…Ď·ăą­‹ŘďĽí×ňÎ ,ˇOČŹEHŤíß@ůŻÝëč˙űó˙'ýÎďüýůźý}ücĎă�ü'żőŰż§?Ůh8rä­5ĐľçíÚÍ}ça&YŘťś.äöŰy8űýßúO±ŻşńďüęŻq·řűOÝb eή˛z0÷I{ëˇQâxM‰ťbď´ßJíuť)jwb{—~O˛úŹŁNç@zvŁC+Ń2Ű­:Ćłtb‰Ž>ű§ÎťÜ4Mç^r!Mn™ĄŤ‚ E°ŹHd˘ÔNMmćP źŽ ˇ©rµ˝][?’Ľâ,ÖűĄľ"ČË~0‘géź˙óž2 ąâsźű\WüvČűí ;yl˛]‹÷ÄáWńÂ5Vń$cĂ!OŃÁb…żU<ŞÎ¨Ůvi[˛…uÎ[&”&`h‡ )&tMD‘6«vřJŰŠ"ýlős{ŇýH ťBş\ýĽłÎÓNÔ^ĐÎť,¬@®­ %ň[ Ě1óÝ0őaF ÉҦB  ÝWRńĚ%=ʤ”hÁaŕR¸ŕĘXŮY«–YYĄ¨cę `eŽ&ô®ŕx!s\)°¤…¨cŤ¶9^5ÇQĹnľĎČ=8„Ěd…@蓸?yć`}b’ÔdÔÄQ¦ź@}h#‰ä D/á$5$tŁ&IBÚVH%:˛†źEŕ’2uŃő”ëČó–wƶqrmÝĎ$ý‰Üł ąmyʤźHµQÂŹŚˇë(}×Oµ¤ŁÍč:ů«Ë±_MâÄ”÷Nę˘ëĆĎ ‚A)˝ßźÄ ĄĂŐĆ#Ąúb·KŢöR¦2¦ŻăßG˛Ćý˝ź\ Ŕ¨kD`ݶ÷…úĽŽWN:|=ňÖ qjËű-ó¶Ítč^+_ŘŘV7cVŤÓKŐhlĽFČ7Řian0s:ĎMyĄA %÷W|P:œȧ]¨×Çâ­L˛€GÎ`^*±’ăkPn)ÉXą„O`ůČ:Ó+©9]ŹŚN9nNw@nüăz˘ŚŽ]!‡ßHŐZ/Źą•8·Š C¤y)L¨ :¶TE°oZ1ÇÔ«;á7U"ÚZFT âvM]›ŚÂHň‘ĄÍ}N[Ör=˘ÍćVLí€ćĂs/ĂÚÔÓŃÂÔm¬läăÍo‘%Ą”qćúKfËxTćô!ɂӠ°ă5pú˘ůVŽX™ śÂI¶łÍŚg€/“Hv•Sä "ŰoAlČ­Itm‚nµi9.ÜEű_:dŚ''¨Ü©RĹÔň ŻÚşâ<šź_¤Ź›Ď1:>żDŽÍŃ®Ghr¬n ˙-Z1}|br‚űňââ =¶@‹ó j›¶ #Ő$ŚNŕ"†v2o G´¨ň[ĄFg‚ö*qją zä©#íâňK7ńĽľuşÎ+¦Wš6%F«rŠ‘%ŁÜ.,Vhól‡&Ć*´}çVşňŰb“ ¶d ţ KüŚĐż§f¦éěŰiśWÍŁí[gś«qí楼9Żä­ŘÔc d1+§XyVR˝ÉöÄđĐJ0i?VíHšĽ7EtS ŰV ń #"<?űžX’‚źGV@˙çvŮŠűśß©Mőv%ץŘH#+Ö%|×xĹqśRóBŁŃ¦­›§yü/ůNŞŘ8ŢžŽÚPʑȓ=‰çé{ţGƬđęšwů(úUËŠţ˝'ăTěţEŻvđűm‚°sG†˝–Wüíäďá`…cĆĄ!6MÖáąŢĘ@Aüߌç·oŢA‹ f[^ ůÇĚX‚ĆÇ&Ť.<Íú®Ť¨Tć÷—i7çhyiÉü·˛Pý2ŚeľWôÓ‰ŚV/ďđ¶´Ô ‰ú¤9¶Í9Źí;p¤ĐĽ˙HAP…óĘąl}CR trŰÝĘ@Aüľ‹+ď<"gÉ$ŃrÂČłm<D.ĄXZ6LGŰ´;,ÓäŐgíp2}9XĺľÓß6©1LkűDżsűŤq«=·lć¶vĂ:ŁÂPć”n§Y–ŽťµMt‘é©Y'o‹­¤iô•­¬€ÔiěAĺGCš6±—a?ë¦ěN,ó«jĆş‘ë˛~ů´˘ §ŽýH ¬çťwG8ľë®»hĎž=ěD!ř?˙ç˙LßůťßÉ6V¤ŐxŕčŔ´uëVîóO<ńťţů± T¶6CŘeąâąçźĄW\yď{ä›_g9ü˘‹/஻ŠeS7ď{áyš_8A?ţ? ؍|č«FO’¶ľVÇM˘\Úą›xe?ę÷Îw~żźp|?óĚ^ăßnîo†çŃőš2ŞŔ©…?ďdýö·˝űÝßĹďĂ»ŢőŽBąc˙]wÝĂé4ŠăśsŚţ^­Ä1Łó4yŽxüń'­]ąŇâŇ"§Ď™ťťˇůŃ ď˙ţéźćó/şčBľdNĽC›7oáŢűö˝Ŕä]ř=Z­GuAÔű0ě&ąĘűPŠŤˇúDą÷ë©EßxóëŚ-ăgčżý·?˘gž}šß˙_úĄĐĄ—^˛Ć2Ůéëž @.8o÷nţűŘާŮ/…v<»őöŰl$‹,’…Ůó‰OÝĘ‘ZI"eaÜ JN'Va,x¨łF-–…2tK´_‰Zn†mFç(Ç:ĽD®s¶‘˙{|öŘĐ'±ŕŞiô‹¶éő­µŚÝ©lúSä!Ç^:A űć8ěFÁ†!XČD.!×$ôŤv ˘�ČotTq2k[ ˙€8 ýHľ“O őheT~‹“Ň/|%ýÔOýTŠA‰ëţúŻ˙:ýă?ţcęň"_I•íC!!~'6<÷˝ŮjĆ+ެӴGŹĐÄ’„t@)§°ř¸ízEĽÜ3ŕŻ~×Ę*q Ës‡ˇ[ÚRÚŰý¶—rü|Ş>YA ďMŻţ‚~yßű6ą:VG‚ű•cô±âpt ź´ăCúŁN"í¤ŰF§Ög�Čű†ó$µľóő(ÉWɶí[â´- 4đvDލŽYCx­bś5gŔę¤Rm#Ď (őĂ=€ŔˇÓ”čÔSn•ŚcÉę™0ÎŤ&d!^IPŻÇˇżä|‰ě ý^—|ąUt]uä!QřD/!Ăčô7š !ď›ÔWż3ş<m¨–ü˘şM$Š„DÁř'¤!^`źNi˘ÇMÝżdżĽG> "e4Đ‘iÔ>\S÷{žSߏO¸>˘#Ěđö ĽK=+&P”X&p6ÔLűWĘu$ĺdg˛®ŐU^!~Ł ¨N/¬yŰ®'îű8zh(Á µ-ŹtTę {‹×©¬1ó‘]�"…‡š\>”É ŰlUhl űĹ9„!%ě=ŘkD‰/“•ĚU%GB Ů(9‡U)«Ü’î*–UX˛"Xŕ|kpu9•Ý<‰®’zN‰lÄc_(2QČΓ1·@— ť#«ýáDZXGGa)ěm�wmxpĹ8…LyUă|3ĺT W™*ăe:§PÝ”µ€4a™ iŹwĘ4QAŞŹS…ÔA ŕh %š[îĐ\$Hâ$S漙13ßÔěj&” b†UŕlPô…ś†c2°‘+‚(»§ Ä/hlX˛E‰¬Ó«mNjaŽÂĽd®ŤşWc‹uč v,´gΫ1=3aŚ»™0:fd—éé š5şNą*tÝ«Ż`rÂ3{÷s´‹—§ý/¦—^:ÂĎŐp&ĐT8W&V@!6s4G,A? Gô°7 ç7W‡Ă©ůˇR§¦ůűěဎ-™9ŇLůŐú4˝bO…fÇǨižĂä¸yĆÁŽ…�móűÄ|•ŽĎµĚwDă2ňd*sˇ-›ˇŞlśz‡MŮ!-5VĚ{Ő ă ´RŁH›†śśŁ‰Éłh×Y[rž¬%„X$uăţV«[Mňl#^i*zŚ=McÜB»ÇxH­ĹŔŇ}•‘]Ç:›…HE”ň8{D¸“…}Ýґɲt¨^˛ĐÖ-łülşöŤŚ°čră&[őĄ’{[«×&OĎěĹ"ł uÂPÄť“úÄ{üľ0‚6đË·dź W†0n d•(ęvČ©†6óf˝ÂsĹÔÔ ŕŚŃbW©V­™c&y|Ą ÂiŤWńbAĘ„qčň{$éH"r«Élš+;ňÁ$¬�«c¦Ńë"ů`¸ŻpÔ¦2€°×ˇ˛;>i·x"Śm5yŁůé4sB“¬.ącĂ}B’Âx]!ŻýQĆuRĺĘ"™î(R÷ᡍZŮHĘ]żzŘ06ĄAĐK˙̚ﳎńíR^o-Đ‹tgłí·OîÇبĄ6:/"™5ŚmhyyŢ|2/hl[ăl›’?©6Š(e«ňŻ™UŹ^ößF8Nßő®wŃ_ýŐ_ŃďýŢďŃ•W^Év98}±ji7)î†n űďżź>üáÓu×]GO>ů$§ńř×˙ú_ł=¤ Řňî»ď+ĽÂÇ|öłźcG3ÎżýöŰ馛n˘m۶Ä×vţAśÉp"ůË_á÷ ‰{ď˝7¶bţ„]ů±Ç珤E[ĺŹţčŹŇ?řAúËżü+v€űŰßć2~ěÇ~43znĂŕ-oy §ˇůЇ>Äß­is{ě1zç;ßIŻxĹ+xÁõ×^Cźüä'yěFĆbi!·"ĺÇG>ňž[2)) ż^~ůĺü 27yßsĎ}tÉ%—0‘âcűźsńĹóű‡yď}ď{ŮHĚŃĐö°AçÔń­o}+Ű—@ľúŢď}/]sÍŐÝů ťa­qmĎîłiÇć-ôř3{éŮý/Xꙑ±oůô§Üđ{żńŰ ÉÂüţí_ý5Z4uüěż`ä˙„`2pń(˘ÄfBŽÎöÁČIÇ"ÇąďiŐ×Ů;Î)ÇdČ#L qŽNs[¶‹1"řĚ`‹Ă˘^ăwbît)p‹˘LßjFëYô†`!« uČ5Y}­CßkGŞvNŠĂT D:Śľ8µŁQŽIXbݡđý¨:|Ź>G”řüŕţ`j Â6M®ZpT(ç#Ź˙'dâ\•¶ó‹ĄÔ*÷¶ËŮŚĽBö¸jĘ*/ľĽÔBVČŠĐďŔ϶“8rĹ9¬•yÖâÖ}C!y+üďr¬gt Až2Ş 4Ú)śEđťőţ÷¬rłŚšR缀ä—Dß–ÔÉj”0uźÚńź<ßvÜB’±e$í9;3kçmqźłL˙$rKWlť­‚7&µ2Żň)u±ü:’Ö’bDČQBŽ@Y¸R˘H¤y¦B‘Ź„”űb„ŤÂ’,4aH \ôxČń>1FG¸Ń=6hň~Ţ~d Y.}LîK÷‰rkˇŽh ©-íĄß=.JĐuÔőÔuÔżuyú]Đ}ÍoC96RcŽćă“=ô÷¸~\Ĺ‚©÷Ź? oŹ'Šş,čvU3wN®^(&δ0‘ńnöú=(˛Ć“V´c.˛Môŕ›"ŁL­,‰;˝-M=JýŤTY%)8‡°ůgo»ÓHĄÔ€ÓwÂ8‰eN ]X;‰ŃŽlX]”Űh5ŤBaS•Áßá±du žŤP˙pňO2ţqŚ€Mţv< ›BŁeîˇâĆv'8•kl¤ Ž^Qré@JI$-|·ăĹÎqŽ„QvŽ`”Y oś±ŚÂ„ěČÄ+0Ö·[Ô ZTęů)@„†&ĂŽ]í EJŹ˝˝€uwĆ?D[Śß›q\O•­{ĄV˛«â±ÖýqÎ?·bć5Sź=ăD›Ł2Ívő f‰qsNTéĐ SÎ s‹‘%Ň€/S®÷čaĺ FTű̱Ť™őf[˝dsiwŹ~ÝăkĘ/čţ-Yź—ŚgÇ).@2á”)%Š#EÖ öÉ>ĆůŇ+UvfťsöNÚ´y†‰3HQ3?·H›f§ŤAĺB&Ś>÷üAşă®‡éég_2}·ĂĎ´R®RĹ‘’ą?•©Ďd˛óK ýsĄ‹<P†«,¨p‹(¨Ńb«L+‹f.7NąWž_Ą ήŇÜ‚‘ÁĚ3ťtQ8śc«bŘ™)ČDŐ*%~Ë+D“öłĽR3Žż:5šPzWĚ˝Ěs(ľ6/¸%Ä6ËN9?˝ó‘~'´“�a2±Ęf˘<Ć‘ŃdĄ±DAÓČq•“K’±k°Uk˝/ŁĂ(Ű4`bS«ŃF•äŢY2֠ϵ˱Ť±á>yuU»Kfńu«nY& m›gí*~Šb=€r©TŁAFqÝRĎ뮕<—´=­>ąBR†Ś¬^® SlC$čz<QěFĆĹ»QĽ‘ZRÝ'»Ź­‡M‡2á‹ő\wXml‚?hŹĺĺE36­=sç¤qc#Ů<3etŘ :qĚčŽ3¤ô(‘ßâŮ0ŕYfśv˛@=6 í;vńn…Jf.‚A~ąůµÎdÔrIH¨m&x¦ ď% ÝJąüFŕIA#‹g„X‘ äÚAŽ“˛“(fé1)±‹Ä Á"kÖ8ąwGżŰÝă%ČĽüt­Ľ6M‘Ěrl[˝ÎďUÖZę´˝dŰĽqßÚHňĎkµ ŃF,OKäxqVdťĽ’bTŰ�‰˘ĄíkÉü¶Ą¤ěAöbąNĐ˙^óš×°]ő‹_ü"}ík_c˘ś«ďyĎ{Ř–Šc.¸ŕúW˙ę_ѧ?ýivŕđ/˙ĺżdBöżúŐŻ¦7żůÍô…/|Á{ľ9÷]Ľŕ NaČŚŻýë¸<ř �ýöݰżđ€>ő©O3ć÷ż˙'čŢ{ďăăQżďřŽď0çŹŇwü#˝ýíßÁ«éwěŘÎďäŐW_Iżň+¤[ną…žxâqÚmś—ď˙űŮ) :‡¶ŁÎplďÚµ‹ čLîç~Žű;?{÷>múŢNúg˙ě'™,Q«Ů~őC?ôCÜ·îşëKÜüÇśn˝őVÓ×'éĽóöý?HźůĚgč¶ŰnăĹEb˙š×\Ďç€Äôä“Ođ{ľŠH.°Űţóźă÷}őW~ĺW¤[ŐjâŢÝaäÂeŁô#ꪭs™ë&ďđ°€ç]ďz'^Ŧ§xľW^r)?«˝Ď?Ç Ű1&ţÇđĺ÷~ów’íFž˙ŕ/|€>ó…ϧýŤ•kcۨÓóE÷·f§˙M‘)"J¬˘štÁ¶·ŔËťž"}’ŇśldU8,î‚0Lü0§šO3¨m YgĂ,ÄÁ&/„8„ŧťëBvçˇv¶Úa퇺§Ą8µłÓ7@ůŽ8íHL9ű˘|ör–p=R¤Żáץâ2”!$>S˝AR&ÂnŮĐÔvUfĹ2aÄ­V8ş&´d)i€väęýľâ[ç@Ç3ç, źqÖó‘r¤~ľ1PC_W“$Äٮӕčs|ç2E®Đűł¶úě|æĎ*”k`đ mtěر€ ë'÷ŁŻ/ďH âl—´5†Ićđ1ă,۶m+;ď± ďńń±¸QdĹüíJ^<2Ůđňe®#>Ř'T¬l:'“&*ŕú*ä9â~$*‡–3„8ş†"Č éH âĐ—~%:dŚ‘6½éwXú‡Ś5ZQÖm©IúŮBĆ!qHY:j…~'tů’Qžź&r«nżÎ÷ ýÄϤ )SZtZ=^J›Ę˝K›č¶ĐD }ďRmXŔv‰¬!÷©Ż)í(ďc|úQ8!€śmÖ•ČPŠŕ\ÎZíOń±ý*ŕđńAWeańÖ'  s~ýŕüĄÎ`m;ł3wó~߀ŞEęî’˛ľ'ż#Eľţü˙˛÷§Á˛eŮY ¸Î9>»ßůŢwß/^Däś©ĚěLHZ2 iÚÔHĄ€A#5ĄŤŚnşLt#™ŃfPmmÖfčGc2„2fІ LTŞ(Í,II*S9EdLo~ďÎ÷úěg¨ő­˝×ńĺçşßáMqńáĎýşźaź}öŮ{íő}ű[˛r}”#G6‡¤K‘!i#Hý·XČŞň Ĺ+nâČ 9pÁhzQÎeáx˙ (\u( -'đÔDÇzécB?™q y+T =HäÉ‘(UZEz%~ ŮϧD*y2F#ŘĺţAšäý`ęÍ4†l±;G˘^†4 4ě ÁÄ”Xr»×¤žR2ŞńOń_=ľ´FBŃ2»Të< ‹Ć‚ô©PT„\R É5żÎăx#�!‘ĐpAFŕť‚…€F\ÖmŻö±Ćß]âcňٰčŻâ14¤AŻEn }źë&{ľŚ"Ź5áG¤®‡˝Ę’"ä—»Śúť&Č”Ę ”a×qŚp6ČŇm÷éŃĂ=©·V«Nťn_"âß úÖkwřž–äZ˘µŐEą/Ë‹MŞ@%Ż?r{éąÜÓçVgNŢşy[Ăý,s{(Ë}u~v™KÉő -…+ŻĂçńu-. µb•rJGm˘nH˝nLýžKI¶Đ,Qk=ô5Pó`ĚŤÇŐ*{ËTĺcß㻆L!ÝC}Žbç·ąqx ’ťÇ'=ŹMóŃOÚVjJűOQe*H˛‚âRą92i’rýĄ s”óCS~Ą§cO3¨€úÉŃľĆ}ńäٲ‰ŕČ™J×=’~(IsźLż›¶ď´żqęU~Včśe™uÜ'˛,8ËW'ŘŮëqbݧüŤÁësZAá|?»ß|<ł‡`ęOÇ‹đ´ËX^Ię3?ź:“J3·=úËi‹úpżŤ5MJ¸…˘”§Vę}jC—}›ŤĄŔ¸ęä|„TžaôĺiććĽH?őö;GÔj6xüYĄŤµeÚ?ܧĂűIÖ)DjłČ‘!2MđL‘˙śĐ¬ţÂť3˘áň}µÎŹ+efdĄ,±ł<~Důą?ĐgŮx[gă<ŇŹgEBĹt˙aLęz<{?ĎŐŠľżýnúöt¦ţEýK™7ŰŤp=u˲cęÁ'—Ď–¶güę ůĂť_A~îR!ČÂ׿=śA|F ˝d”+§ÂÇ×…f— ý7Ź©ć0ůJ×[‘ś1·ą=kCýčG?*ŻY†¶ e Ľ¦ć¸˙Íó7'ľűţď˙?Čkš<Q´Ź}ěŁň˛ö§˙ô÷ůăGômßöŞĽÔ^yĺ˙<±-ČJ¨(”8Š×óc?öc4·ąťĹ0ŚŔgűľďű^yͲ••eúŃýŻ'ľŞ…”(đšvü&űtíŻýµ‰ďAľŔ«¸-ČEâb>˙yßMq‹ż˙÷˙>Íí˝mč;?ňň+2ćżs÷uűN&+MOöźĆnćâ’á$ytě_d>=ná�Öu'2„ 9ČŇ1ŽbĎ7—FRďݸÉĺѤ Čq—Q˙ůYžĄ]‚…čěÍVPPA>K†PP¦«Ç5ČcÁ:lŹíT%Ă‚ńEľ¨>1ÍŠĚd=>˙‹ń/„ýieńâ'~B¶9ŻŠĹ4€ż8‰šő›?�M@-ţç0 'Ž­rß Ç9�MůdBSJX€Ů–łXŢbý¨é}Ńű­÷­¨¸`Óvä Źżo6X$^Ě’9R ×Đ_ëâę}[ćiő[ĽöłÚńŕŸ~lů”/‚ÚĹýP~\ĘŹŔ3Ŕ* ^Űú°*zŤ6e…’Śo4ę´Ľ´(2X�đť2Dśß[6›RF•ŕ0cE�ž9Gfđ÷Kë˘0Aײ@ĎšŇÇ‚#6´¶O«´ˇuŁ*'ö:đ»*]ŔT C 6‘í/´_AÝŐ ´>­Š ĚŞnXe ű˛*8EŹ]!a‰–dďP^Lôq]x˝ŞűŮt ú^ö¬*ŹľŠíŰ*IŘţĎOë»Hč±mşX_ú˝îS$ŻŘzŃö‘¤±[%…ţ‚śĎ˙%ůQ5€™+M’ÉĆČž‹9gŚťő<Z›µÍ4'ä4ens{óp(ŤťŘĚ|3VŞžlĘůÂ'ňżÇç9ÎĆ4G™đÍ´Ďź#Šś@&žEČqËj˙Z]&Ż2fxinyΰ¶+ž(—<ľLóÇý GäŇü•yPWäřđc¨ä ‘# §ÔáČB´P’…ďçq˝ Š” ^†ŠE…〭ôĺQNâsdŤq}Iý(‘ię¨DČńČĄ‰Q®¸GÉ`‡zoÓŃö[4ňd$“˛¨˛BĄJŇŇ*ż×'n¶˝›ëĺ€n42j1 łŔ—S †‘‰ZŕD&h…żŻ×I RDZeĄĽ»7hc<ף”6jDovZj-ó^â}€ń şDť!űelëŘŇcňĆ@ŕ( l>i'Ýę,p÷$ć‚î9Ŕ*_~ÁËŻ‚ĽHÂÍqţŁżĄIŕž.čúx{_EťNŹnÝzÄőV’jëcÚŢ9ywäňE ő5îÝߥŰwŇť{ŰÔ őćQ˘9îAT.EčS“ČőGrÎĚ·/iSŇĘTcźŞÁă51Ľ(!őE™ë·Šô'!ŽRZ­ăúy¤Ę@]ičV @a Ž…Ŕű§’óáîHîÓĆJ…VVtŘň~Ŕ Ü@nA–řÔ}\R¬Ü,JĂż;f€šÜ—žôSěß(»(WP +Ď…”Őgß§Z& đ˝ŰöS‚SLűꌎGK`xÂÉÍĎ`ÇxYćg§b‘Ą§ˇ“ľ’K"ţeďž˙óTČŹWö|-źOÔ|,ł%;ëÍ ´¦YJąŹ~ě—éŰ÷=óýµ‡gl§•K‡˙T iEmš Á\ý(ž(ŞHßި7ýÜ%vŞŤü]§Ĺ´Řô©*µś4î+˛,˘Ć(Y,,Tig4 ÝÝÚŰoÓŇň‚äë^\\ÂĆѤ4¸<’2#IĄ,9©üůOo—úĂM—ô~«ęŚ#µiĘ2WoÁÄ\Ű}ŻýÇäXRě˙\ýâ•>aź0.çřďÂďĂ9׳ž/Î\4`ú©iŹ»źJŹ·~ÎU›âWÖ,ń,Źuů4Ă"cťĆ1×)Ő: ť>;NH˛žś.ő‚ž›*)ăĎx·Á{TĘU'curÄüďb|{ns›ŰÜćönŰiýń»ď_ĚĂĘOfźk|Ţ?áĂ/˝L­zîo?5“˙ďű˙–j:ż‡ó˙ú˙ü·n®%YIó´Ť+§¤ÁA(?¬Źëú¸Q¦ŃăŔ-P \¨ÎÚŘoźígëńÓüݱ˘†¨ŇĹńo. ÁBĺý‹ű`– d�K¬P€O ř @±‚©ŘSgĽb[ł+Î- oËS@ň _ř‚|Fţ2u¨ń’Ę ®Y6ŤĽPüí<V ĎéäĚm%8(8 ŔźQ‡š†ÁÔT.^?ö·jVáaÚőč6šşĹ¦Y±×kSľ¨:uu»âyfĄŘm@|›˛ŔN¸f‘XfŰZ´¶Ç+Ţż˘Ú€ýţ´v‰şĆ}B»čŽë˛@ş^—‚ţöŘ ŕ+ąB � ˆŐ3`Qş{»IgT›HăS¬k}>p>´€OXEYô5¸S¬Ýwgg'' ŕú@t°Ş&říčč>|·´n›&D{U»Ń¶®ujI¨7Kx°‹"ɦX^K‰Hú¤©ę„ţ†kÁËĄă }ššŮş(’‡đ®ASÁŕPńP‡%6Ř ľŢck–Dˇý•ţ]lZžbŰźEBŇű¬íŞŘoŰ}Šu©}zŢć}HY%ô3sŮŔ•` “©Âů3·Ę^Ѳ;µ2¶š6ŕd)ŃbŮÎbĹ61·ą=-s~đDA‘r3HV¤+ű=Ć6Ůž'•<9C˘`’H8IÖňc~ybC–ˇxˇĎGßbú=í࣠ăˇ�xň\XHÜęK€áP)x˘ůcŕ®!˙Xř\oňWč•/<™Â!1J¤p*äŻS€rŻB�B…»6ç*UŠŘźÂ JQNľ(ç‹0ű*҇a…\âeŠA,“ô#%wo“%Ă]ęĽCĂÎ6% Ň :Źř5¤4ćm˘*Uj”U©Ú\ăß;…Ęp¤Ź7CÚ¬ňXş»‹Úň'�ř>¸mńő´˛HľsH’ź€ů‰šk#PŽ`?Bň´gT+Ô¬íŹ2Úăaz8`§ĚőV]:ńĹágîŘ‘™ßY€/o™F®]:’EFđ~8 ‘ćĽwUôü¶€á«4 öŚÇČşio÷Ę ÎCbqiA­¦´U´ÇV«A/\»DUĆ·Ű=ÚŮ=ä`ú@"Á¨łH!ÝDŠ4H„őĎîY ńŔ] )Hjő*ŹÝuęó=L ŻT „~jĘőÔ‰3Zµ•”ë‹ËRs·¤Q-Ń_đîALť~B÷·0˛ĹtÔŽé­Ű [ô‰-ĐĆJÖÖeÂ\oTŔ® Ao§‘ë ˝ŰÁ˘é>€I™cÓš~NöŁTZ•°JńĄŇ»})ĎĐpíčzÔo"˙ż$ |ĺ�SĐ}Nó>äŮ›ź¸ăf©Kő'+v3GÖµjpşoŃ'Ň{µܧ1‘ěů-Nň»žą"ß-3Ă®ißĎŮ%Z‚Śë¤ń¸Ě|ďöV{l_6{ö÷}âtç('Ć݉Ô�%­:ÚjčŰŰěşNŻČĹ+†BŠň·’tîP·<¤(íđŘĽA‹QĂ­R ôyp÷EÇ$őŠź˘<JZ ËWÖyěAzíďĐţţ!-Ż,Ëر°Pá>˝/©ÖÜJú’kXhby8&@̨-çKćóF%Jř®ôµ–açčYĂus¨‰f.ź5EÉx˙i~čÓł§ŃÇś˙Sę7”>őhń«É:=«ťç2ÓOĺälł(cŠ96M^ńłžă"ŢDÁńĹ!.¶Ës§që+H Á+…•uaO4V‘ C7Ź+\_`úBŇ4”# ŐPąBépDĂÁ0ŹşŘ—#['!M‹ŁĚmns›ŰÜŢďölúň,Ł)ó-űůÂN~ź‰3y·0ŕ/^żN˙»ďű>Q2ęqę%aţý7˙ö˙ţ=cĂęwŚS ş·±Ď ~fŃ3+XŕâOŮUÇÝĎń ‚řdhŹťŮ™ă$É_ĎĎęcvą¸n‚ŔĹđ•÷‹]‚…‚‘6ם­Óý0u˛2ĂŠ@©®*Ç1×ÖÖdUü4Ôbš")`2L4•‰î‡s~éK_˘źýŮźĄů‘™Řďoý­ż%źg‘,Šç}RłŹ¤üăç(Űsáz@:ĐóčŚÜ*Íh*©BÍ%ŠeźĐXĐWčb:ý¬ďš"Á®č×s*nÉ/')X(ˇ@·U‡-ŻťŘML<ĂđÄ{c÷?íXEł×ŁőŞĺ›µź’b°ÝţţľĽŠ÷Ct›ŽÁ’/đ=‚ďB­âćÍ›"U«!íž=q"/ťçl0č‹:…%M�Xp׍útÄ'GÖq@S·źX_zÝ ŠX2‚Şghš/^{í5ş}ű6äÄ *H&&Ű�®"YQť8 d°ČĆA'ďYAČńýÉďU0ŔÉőP'äcµŠHÁµŔ­`®”Ç ŁJËč„`�ľÇ«Ůhů”uą· ŕţhŰéß+iCëEŻĹ#´.ô+¶­b[Ćńôy‚Ůt"EÓăęg{<űěgŠmŮ>J˛Đ2Jwĺ•+t[©_nĆ™'Í@F;qP[âĄĺ±B+Ś\Ţ{ĹĂ|4S"â'Sűűi@ĐiNí´çýy s»¸–MŞU«â´±N± đ^ü.¨»6ěóJ~n%3ą‡ Áu¬•Ôˇ[ÉďúŁ’ď·Ťó)Š16ĺ DŕźŃÇ1Ę{•›©ĎšëiŔ×Oŕö± @ŕűj÷ sV€¤űŔ +ŰĽ:Ć’RTjTŞTáߗʢfár:»‰ĚŘ'p„1h¸ź-Ť†4Žyâç”3´Pw˙5ęî˝%c°ŚóőŤ\O ¤ôhŹܡ”ôîαڀmÖá@&MI Šać�8|ŕH¸ ‰“äR=ËAƬLa&KůsŤÁŢU+J€śşÄ€' Xđ6Í�)G§&¸ó—�Śg“MË7)÷gFyj“4_T,FüĹ0ÁXN—Üř\ĺ0Šë­se´ ń ňŹř[^^ őÍÚz´/ţĘĘęݸqEî@,M¸}‚xńĘKWhkkŹş‡yć0Ö;ÉÉÇ»˛f2©Ě}˘ÔµőĐ€Qqe._·ˇKÓ‚ÖűP*Aí%hűDR5+!űř P± zýť6mďviČĎÚî>·‡`H¸GźţČ%Zá2Cn>Ý+Ńp4 ĺjSČ>íŁ6őąüŐŞK­ńîŽIŮDęÇ"©B ÷×Í•[ňc:>_,ʢą~×­$wÝî4�/0ŔĐůîĄwĄHŁ$Z÷–ś¬‹¬>‹dbOއçç8[gţ¸íp˘˝@ýłcüÓĆŔ'·c×nţ<ćôÔIůP:ë¸Á´˛ś­ňůR6«žź_żrŢXIś¸ĹBŚpŚRźĆ=^zQîyi˘Ó9¤ýmOôö \™›KGˇ#YF삌‘ŠJWPY§¦ř@ Ü¡8ć~YćůQ¨G "±Ś±»]ZĚÜÜ·V-‹ Ř`”P§7˘m~55F2Dz˛şL‡mŁvS¬z­E•jx‚ęF80;5‹,ďoÔÇłÄ gi+śŁó@9şě˘sę0÷ĎŠ÷vr.ö4ěńŽS(—öŁyúřý™{/~F‹±¶Ç9×Ôß,QŚž^]źŐ@t=<<äg5ĚÉ :69®q,O‰ .Ęó8&Să+šŮjěA˙±ßŽw)ĆJ5Ţ,±ŹJ’—ńÄk·qŞŔeI9§1—ŃăÎmns›ŰÜćV´yěřéŮŇŇ’`dď¦}úÓź¦ţážXŚ:äXŢßüţ8ýÂ˙đ?řÎŻ†” Ţ‹’%ÔU›ŃFü*ÎŐ¤hö“]Lĺâ„Ažzן(/Ç1˙4Çlż@ş őDŮż÷•]¨!vşv.�ő扵Ş08»şÂŽ­šÔńŘ4Ŕ?ť"IgW`I–( Îż:Đ Jâő{ż÷{˛/({\,pŚ_úĄ_š°šET(Z�<ö»–[˙đ‡i4Çę ő¬ŕ­÷ ňű"8®ÇĐk´ĺ.—öľŔôţŕĘ·¤ Űű§ę6@ž ç9­Ü6hSOŘňë~é)ŇąĹë´ďÓĘ5ížZ„¶«YׄßU˛pkkK`čáz´Nń٦¬Ŕ±± >Ź<xłĐZ ëׯŇúúŞk¤C5pĚŞíů¦é•Ęó”Ż Â*)đŢ~8@@ËőáîL©B Ź•••ĽÜV]î/˙Á—č[o|‹vwv]Űáă”K~•p0ăüBű8…Ľ¸OŇ�á!E=„áx”ČW5.ř5ĺYtĎ8Çf¤y¬Ű‘-RÇQË)AÔB›P¤RťnUtI@”˛NĘ#·RZW`Ôř.]şDT)ă:Ë`“Ŕ ą4;:×Éľ}ţŠÄ ’`ú,Zµ›ÚæŃűĄ} UžV†bať -›n7®·Ô­ŕ´„; lň>á…j…¬ZÁĐ: K$CG.@úűçČ3>5ŤďŹík,ŃcÚs^ Šś$9ođwns;ÉĐ_¸g!”çŢ鄾›Ç~,ňß©äMŐ§É™$iŚ’úĽ¤äsĎi–ťyr©„ë;c<ç „&i(ç‡Ä é,Cég“Ě퇗r.éÇϦ«ĂüjhÂż8V/â{•Ȧ7±’ę™OýĹkçŽćÇvŔmčÉq%˙ąâe…CQ@¤@Ŕ4@ß,ÁÓš¤é¨ÔŞ<΀<WĄD‹ ‘¬€ "íÝŤ˘Iě,?>GĄ!…žľR«‹˛A·©×n“äUb§ęŔe”•łĂX@xÔl6ę›;x�%ĄŞŻ.î…ĺ…{]ÂçDO<6;±¨,CaŮK˛š7K}]F4Č@ŔËh‘«ů…Š[%;Bß[‚J”¸1ĆţPR’ -Č0đ„ÔµE×É °Ź'Ža`q-ŚW®!FŔxö3b˙[Ä-©”‘#ů¸c ­IÝ/@J@žČ.×Á˘ÖI8^±ńÄryu‰^ąů-..1 Őˇj „Ć ]Ű\ٰŽCęuűB�Â=Ľqc“öÄşű`‡Á-§T!é@|>{!CČ…a53¤Şy<Ä Y$.‡7Hž Ĺ AŞń$OÔOĺ:KęĎWěę) ĄŽ€]A:ľĹuľÔ 靣„îďfôhÎŐŹ= Ţ°Oß|sŔc^H˝R˝Rbđ޸sŹZ Ň}čĆG˛čQođŹý =+KłôŘĘŇ1ÓÝŹ"ąSźąń‹&|ÄńóęŰ6×G/ …äRĘ\@ÂÔ] \>yÉ…CcظÚ€9vÉNÎtŢăŹ?îmąOж×Â|7/Ň sźŤŤuŢţ^ůDßéYŰů˙ó·§tpöýl¸Jţ~ŕZ6Ve8»˝{ĎO0véĎ\ éWlĐĐŹ[“k°üh–ąďsµFôăůťqţ‰B߆ÜxݨWä9”~ó3'Ę<ć;•&ő)˘…*÷Ńü::ڤţAŢ QF€ľćă[č}1éŔB%]8o®V-ŃíŰwŮ—¨HĽ $‹z­D ÍŤ’Ž:<>„-öŽ(AĹč––[ÔjUho˙öw;tŘN¨^_ fiPő:ձϑEű{!YU?›Ć7Äů ăşwű:"íśű®żŃ˙ô›:ů<c)ďńľývogé;‹ŰL‹ cRg9ÇYcŹćŰü=ËÉ Ó2łŻiÄľ’¤ĽíŹc{ă…)UI­&ľz䱸řŚ{ę%“Ť ZDyĎĆ‹`Ž—Ą° ®X¨l| ÜsÍ\źS*9"Q©TáX´KłÇCź’>}×Ď1° ŞĘŰÔň”AöŢŘXđ<v0·ąÍmnĎǞĦ~ü{čśďwĂűwŢy‡Ţ-łä Ć˙ŃĎü#úŇ˙3U± Řbaś sŐT·ŘËú'Ţ ŃŻÔw/âN3|­)r‹?©oăß‹Řô1ßÄ“+t–E>®›cjÄ. ÁVL‚—%Mŕ·’_ýŤĎř „ Ľ4gĄý�« ŔI Zu-ÉŁxN-źNŇ�·Ş  ‡AÉâ§~ę§čoüŤż1A@řń˙qŮfš’EŃą~gűXpÇż/2­Vq>ęő Ěăt 4±Żť¸ŤÁÓ4c,9æQŔ^÷U˛CěŐϺ¾řŕOűnf}dcĹ [v˝÷Ó&ŞErĹi¤ űűi“Ůb ű˝mSEb ő‡‰(V»ěíí‰: ®Ď‚¦TÁ}ÔvŞd˝' SÜĽy“.onŔ`UTJI%•Xceă8ăs7|=¸{/«Y$7¬{îâQbęMţťĽw暡 ˛şşšß#}¶żřĹ/ŇüÁPűč`ÔGŢK¬ qsćĐ.p…3(éJWë3ŹßRßV•}gAőqůě1p7n“łĚ\Mć›č źŁç)STI$đ/źâEź#5­×Ű·ß‘UŃÚÇ!ťËňň2÷k—¤ ŕo¬Č•<Úţú-¨ý¨ţŤ{śß3ßć´źÓŐ–¤ˇŰÚ˛i¨¦¤ ŰŞŽMŐ2~ÖG$ <Xá#Żä܉“®Î8É˝2z± âNŽľäVĄ~E±/–`˘±Ä§[YĎ`&‚‚>Klb¶Ž´l=ٶQ4[7E0âąŇçö_Ś @ … éâĐߥyź7n{:NÁlP10§c HAmśqZ—Ţ�[ 1 IEýqu!Iä«Ç´q}ˇ`S±pĘČZ”KWYfu`á8 šéŐäßŮ•’ő‚ňyĹ [YćŠ(VxŢóçۧ�± oŕ ůŠyO€C]�PA 7*W©\© ±$ľ2ŢAŔ¨Aµ‰ŹYsé4‚q Ř‘ˇ4#(3€<ŕVç ĐÉż•+‹UZ2ąJG]ąOč˙bô…čßýd*a<çqv88^)ÓńôŞ8r‹ŔöÜ^0 ¸?a`  ţrßÚÂŹëM Ă˙y’˙¬–°b);ŕćď:f<ꡓQG+©b;ś/s¤, ĆąŔĄmrj#žěŁľcć¤ËČI_rÇ…úFr}RęŇŤ„fL+ŁÍ4Â˙"]ČAg@ •&W÷#µÄîţu:]şĽ¶H­F…·íŃ˝[ĽiB›kK”p] %KaC´´Ň˘±ÂG{|˙bwM9c”Ëť†Bě Ě=7Xú1 „@�Ďo$=!•ąťS8É"©·OOúC®gvąFŚÝUCOT"·š�síín@_»›Đ·î¦´Óc_m6sâŽnL_{ăÝy°Cőr@[»»´t$÷ŕÎýmSŽčŇz“ŹúÇčYáU#öűÚB [qŔű\ňä6ö峉ůűŘxŢŰŐŃ ü=ŢE˝7± §Č&Ʇ¬˙¬mÝvúyržrĚ‚ăżg™’Sʧţs»'ÎC%m]­Îmx4u>ôL- ¦+ĆíăÄťO;ô1 ŚOgôí¦–OÉ4.˙óJ'r\}â|+ŽäžęĂ;ńĂc>yŤÓîČřüĹí2šŇUľwÄďDošÎ‚ňÂľĚ%–x޵Ľ2ű’ *%G@Đ# ú;Táů ňVą:‚â^ěÔ–Č_$ůýĽŻµ=¤1pˇŐ µ•ş}÷>ÝăČ›—Ö×xśR˝Q¦KK<×oS·ď‡<ög ‚j$žÁë×.S‡cożuŹö÷ŰôĘË ť=(\9˘…ë-Ó¸«ýł.¤ńq*CěĽÝĹqś_čú„tâ9ÓÇAIąJş8© ě/Ň~׾íÉݧ>'3‡{7x~á urÖţwVťűţq€˝pÜÂ…çcř±qč”>—ź ‹Ę•Xâ[ Vw‰?U+Îżö$ßňČ‘,ܱ'çDĹkČÎ\µcęµŮ¸d® =HĺéEéFďĹ’V1űĄťîS/˛EkjśÁű=éĚmns›ŰÜćöľ˛+W®Đ»eEr cüĎýÜĎŃkßü&}âĂĄ®\ĄŻżů†ÄnÜř?Ž•&^ą ńÖ ďĹşĆů{FÓ6Ęô éÉ/NÉěĎÁÄç Ż­€g¨Ű_\l xq|— C°Ŕ*u€ľ`+k0�ślŰ0řł+m bď φ4ÖQ…SŽß?řÁŇŻţęŻć ­s`ÁltuľJň;ą2±b»xLużđ…/Đßű{Ź~ň'2?¦*YŔΚ.䬂‰ e–M¸Ő––—¦ž ĺx« Ľ®Í®n·çÓúTpÂŐľ§·P &}$Ł»˝Ž‘ř ňt.ZOŞd jĹňř^\[ç¶ějzMz/aŘתr‰“ßI‰%‹÷Ń2L‚É“u=íŢi9íąfÝ÷# żńĆrż<x_ź°? Ř_Át­Ó_|QHbKĐ%Ť˝Ës©ŘW•.´ÍăůŞTĘ’ţĂiĆ9.!j(çµőV¬GsŃů5 �C€çÂ}Âłń[żő[^–±ěJyýXŮE%樺†}¦aE"–g¶ş{hNzîŠmF÷-N–ĺx9˙Â×CˇnÔŠ°ľYĆőm ÔŔ”ÜĄr”P�ąző*ݸqęµ5ům0’’§p_UqfUx”XĄmf Eemă–ĐfË«†öŁmGۧ=¦ëĎ]͸úĄm©ÂÇ(2XČ€—‚®hsd xU 9fx%íĚ…ÍmJ¨Y„neţp4®˝OÚ—L#\Ř>ÂŢw{ÝÇî÷Üćö̸Ľ~<ÁgżŽvÜ­ř@¶íc|rβK}úî%ĚĆ„…ěX€<ó$\Ä3:íé©!‚HVq†BR$Xcr“wA$đXŠ*B&sĎ ‘äx…@3S»ň1ó„ŤIsN~I%ňŰČ©1Hh^ä<ă! ăÔˇ»ýׇ1&”dě†Ů«éŢ ©ś üU­SµVˇJ˝DŐ_k™ű’:ĆQ€éşAőá Čń/÷Đ[U… d2ÔâÍćŠäwîööI˝¦BĐľ—ýQž“Q~żµ&ĐďŽřXI@őĘěo…ލĐe0f@"¤×KźďCĺĺ ~i[HKßAŞąÁץ÷ŰÇxÄżWxóJ”‰âU™ëä�¤ ÁQ˘Ě߲Đ; Š/IŁp3!ĐČMt„!!hüdţ˝q?í%źKrŹ2)ŮŕËD6{©ß˛¨ÄÓs@¸>ď?Ř–•É‹ 9kŠx| N·#żUĘU:ętiwçš uę†ôŕáŽH9ş ą«#¨T  ŘF™ż„¸)mIT"y‡,}÷iŘwdŔËVŞâ85ń‘Qüvż85–K2ä{tŘ i§C´uĐĂN‰z Í@IER†„4JÝ3ĂŻíÇÔëwą>ŮżŤ‡rz˝µŹ$˝ÉhSkˇ2ůđ<e0H}2ő,™i<^ů×űÔYţť}ăńŐ7®Ă‘_ŤgáâµN%E§oŇŹÉ÷3.8HĎŚÉţĚĎ”ą•·xnD¬íś•Šţai©E˝G»tn{lP^•vf]ö“Ë”ÎN1ľ'˛]đř’ \=Ít!g˝‡îŮšŢĚ"é¨OqĚNްÓĘqĆÝŇŕĚÍĽpőĺăcs”Y&dv׫Xř‘«ň¤2V…ľ?BjÂĄFFk-ŽmtÚÉÖřWGţ‡‚D? ĐO/Ě<™Ô‘ ˇŞč҇ŔŹůŻ^«ŇË/Ý W^Jč­·ďŇ›o‹Í%ž×]áńăHGH†(SsĄEŰ;‡<vŤ¨ŢlR»»O‹\ŽOú#âźÜz{K�_§ę7VÄ|ý‹KĄ_mîód†–îSmŽŞ1˛í<؇)óľ_‰fݱÓČfKzęŐSłŮęjĎ­fîiß§mWŚqMű<íǶ™ĐśÎhśĆJ;~žłô“ ĂKł’Ä+4f‡80b‡xiڱbŤiL[üĄç¶±<[–óôŰĹmóżł”T OĎç„"!h)™BüCľ· °çҶőܵŔ_ŇXgźĚçq„ąÍmns›ŰÜžĐ^xáz7ląâźţÓJżű»ż+~Ô+6ÖÖ©ŐlŃWßüÝľwWHŕnŰÔÇ>G´đé‹ăjM’,˝˘H‚u1„¨Z9Ń·ű6ŮÖ\ô܆Çö}·}á§m†`Ç ±‚v ĘÁV'ŤBťl ÚjŠü ’…Î�⵹ą™$$x[qÁFťlÁCKP%�UĎPŕ\ÁI¶×Ŕ˘ţ¦@ďoţćožH˛@ş"mŹkeôO˛ ’ű‚t……}śÖVW'öÓĽ‚¶N-`_TxĐë·Dsyň  ·(^xň„O”4 ×BM ×ű˘ÇÜćţŢ[e %tŘű!ťP’L­'m'šR/çÓűĄ:K¤(ĂŞKL#WëH÷łď֊ǰmĘ’-ŠŇŹ}ěcŇŢq-¨«b^ë!dT×öâ‹/ĐK/˝$«]´Ľ%Qw§jPĄ}°źť¸»żS˙,ČUůz‰řům €P,÷iEm ¸,0đŕ™@ꕇh Á{mc–ścůüDQ8ń,áŘÚ¶4őŤ5+Ýd_'™ŞşűŚÓ®ů¬żÍšÔë6J€pm†'íí#zçť·éw~ç?J}"­ČÍ›/Ë=:b°hŘw€’CëWď9úV%ZčůT CźA­SíŹmŰ×6¤DU˛ő=N©äň#¨‚�ż ä„2‹f·á,–X9Ăš ćąţ ]Z–Ä—ÓłŇ.Ľü¦Č]çŇYbwĚJ8)ĹUěJ z2Šţ¦ĺ´ę.ł‚4łÚŔi©…ć6·łăąU[)i˙ ťe†ô$msśŠ)đÁiYyŤW»9�Uc2ż2LQ!L ČI˘Ácoäňěeˇä-×ăú@Ó8Ż·+«S‰pĎĆ8€Ŕľ#XiĐ6RP°đ(e"Ó]ˇŮx`Lë×'Ć ô˙ř,D ?®€Ĺ@ETq HR‚L1ü‡ŠS°p*eŞÔ"Ş7B~qYw/žÇ¸P@ŞtY@?÷ÝC“†®ĎBĹÄc\Š~rHńA“NŰöSŇľŚ»‰O…#.{ ď99Í·ÜžßÇ6oŹ´Í'n”\ŠŤ>Ô- R-¸ E`{îaű|š�Éąľ*ˇ#48ŹĎ’¦$¤6ď×âßWůDĐ*ŔŠXÔ[©®ČM÷@ž¸»šz ^Ú^Ýdď8˘?˝•츧ŽÁ›q/u}{ďU5ň+iˇĎ¶‹şÉ¦·śé ÝĄoĽyW~Ż×«˘�Qáű»Ę�q"Áý ě‡tz|OËŇzŽx}®Ü3Aăö8©ę4ĐëONRCJT÷ÂdDA\˘‘ĺ]JľŹM˛PÎżäHPÝ$¤˝^@ľć~(m*Ą(–çăY¸ńŽRż:›ŹźĄŤÔŤ©Łăk–׋XŞôtÇ%oáwś<ŢMNŔłśPCţł7Ý»ń“éâ›Čđg•‰[TĽ3«BtFÓ:-!Ďw»âŻdcŇĘY1l·°Ř˘űŹvčĽö¸ ’/Ů3[1>“X1•Ă—˝g|ĽÓęSü×ÉÇÉßďěŘvłČ'ýţ¬mÚőťµ,ÄJ*ź®–PśUĘ%7źä>\<ˇŔĄů<¨\â>ą^’Ý§Ś Mü€żďs<*©8‚h`Č4b$ű5%x:¤NwŔs¸÷×Szůĺ›tóĺ+ôčŃ.=|pŹšŤ5Žryx,FÚ,¨8ľ|s“mďĐ~í›Ô¨ŻR¶y…Ǹ-IO¶ĐXŕ9j_ü-8!Ýnźę•E3ĘBTL’™'§’v!‰ű’î�JJ:uuĚ}MčI&)®<ćEެaçÚř Ç—B�9ŹŢm{VmU|šw9¨|˛PŃfĹ7ě<wVÍÎÝĆvőἳ(Ć-NşPFĄ‚ޏŤĆnsQuS,ĘĂ1ńâkÍ*§ŤŮřĹiĺ±ĺžfMŞËŽŐş]'ëČîđÝ ž+đśa0ŕk¶©/ďă”Çz=Ěmns›ŰÜć6·'ł—_~™ž·ťF®°&ăŢźűř«ôÁk/Đľů-zđča>7ϱ QPMŵ’Ĺ`ł–‘÷M(Yܡ(D\+ťžVDË8>+gq?ë?Í ďQ»víš8Ípž5 ÇÁÁAđ+h‡w0”Ě€}°ť%.ŘUŐřÇŠ}HęďďďËvC¬Öɉ˛˘0=ĚS*¨S®$ń‹Rň°‘IG ż©c˙żńňţ?ńgR˛ś°N‚x§™ ˘řĐ[6I®¨×ę"ÁgMŻY‰':°¬j›@I ú j˝)P«€¤�ýţo%.hť*™@Iô;»b÷Qď•뺍ť M#:Ě2›ESč˝ÇwzŹ-Đj'bÓT)fÝÓľźVV{a')X@˝âü@ŻľúŞ(X¨J…ÖźKâ&i—/_—………  [ŰňEĘPDVéCŐđ ‡ Ŕ ‡ü´{^>(ML:O"Ř|Ý�ˇöňÓ?ýÓôöŰoËd“fśÓ‘�˘|UÔąö(Ť>-Ť˝F]őí9cbŽŢKKҰϫ«K˝nu%ÎĄiRT #ĚÜJZ•KŇsŻ×>϶l?rR]Ͳií ‡�ńćÖ­[tűömúÍßüuş~ý:˝ňĘEá˘Vm08ÉŞt%@čÄŢ’*`¨M;ŁĺS˘™n«ę>j6Ť’ö 0í[r2@PŘĂj¬D@ ü82K߸0ĂÇ, |ŔÂ+ĐńYr’W8vA/OLN0KłĎµíű‹Ű*9Ě’.ěsiďé4�wns{:ćű•Ŕ řąHłÉ6(+3¸aţ™‚`ËÎRă: Pśwbâ;8t Ý`eÄä;Qż-?/ ¦‚h *Đ>€’|†’¶ý13ń* Ě ÁÉRŚ»ĘŇöţRľj2ő ÖrßQ®L­•rąJa©:áăLö›Ž|Ą�®^oţîŐ7M ")†|Ú<ë‘#ë…Ü_†˘\Á}đĺj]ę�‡ z”ëUU[<QŞ%žQ#bđ…ŹÝ śl1Ňk0^Ní÷»ĽÍh�8uR—ŕ«rż78¤agź†˝Q¨�Ńă\ăkćVź¦ž`p¬ń·j­ ˇ(!ńĂŻmQţVţŔ÷,ă2vxŰt@‹čŰą,µ ó«”ůÜH˙ĹŰĄ|î#¬„ĺďWĘ|Ť\?»üj3čRăíę|Üúá %Ĺë$Ť…”1ĚËWËŹ-z–ŰîW»†®ún{.Č!#QKŃ P*¬ŚÄ·ˇb˝¦zzý!őŽYaŔ  RŁVˇŤ•Eşó`[î‰ř`2ëçe :”rD˛ę°"ÄŚOVŻ]ż$)>î?:”Í©­8Ĺ ŚWHé#2đ™Ś<ą#`‚U›uúČ?Ńvčüőę2Ĺřđ÷|˙đ—ůąĂ3í}Qr(– uŚW´É\*“ă4÷ď@fŚžóܷ蛸>iL`¶>‘¦™›ĺ˙Ř[ŠŰqˇI™%żeă‹ \j€ Hş ó[q^©¤lU T;‹~j™ç”Í&„?_{V Ý€‡ĎhEýăŞXśTç'ߏu8‚ŰI÷˙¬ń§eéäĐ‘—ál–É őşR&łěuUyŚÇřB†;§#Zl,•éúZ…:í6m÷*ąŞ,ćR „|� r˛'f4B.%×?—yŚżvenݾǯ6-.­Đ`´GË 5şşyŤ^şY˘ť˝.íîŤxĽ8 AÜçńjŔsą mn®Ňźřî˙-=|đŢxç öÁřX/RŻ;”tťđZ Uj¶Jtëí»Ňż4› _É„7˘r%’÷0r€0ƕɹMH.ŤWBNÇ̧o”ľÜŤńpť*Yš÷ç3wŢ·sŁâó‚Ôie÷ŕúT{ď–MÎ;ÇËIq˛iăí´í‹ŰŘý$řoć!â;ÇI“gąç Xd'´ÄÇÂ#ř6sŕ…Ĺyx9˛EUR‘IŚ" ŚßIʵŕaZ?—/q×®Ęr’ňGĆS7±5އ’&*b6ž€ŘrśÂ….Fář÷(Ąťí˝÷Ŕ8:·ąÍmns›ŰűŰ€Xü÷YŰyČEC9˙řg>K»»»ôµ·ß¤ťÝI3«iĺŐźAÜžxčSßS0V¦|!ť™PÂŹAłVń>VV ÚO÷7ÔóQ_.(+ŽůwďW×~Š]‚$ŕp�¬*�ŕv ň¶ŽµŚô )áA>%U`{¬‚·7^U >ő©OŃo˙öoçÁ$KPP•'đ=öSi{µiŐ”0P$Ř !H0%Yh qɢŘhĎčO4|ó›ŤK\ľĽyl_ť¸ŘĎ °[ZŻfWý¬ŠV…AwşŻ%[h™­ÄźMűˇ�żîŁ�§Öu¬ÖňĎŞťÜčuĺ ”˙lWŞ[rŬIčIÍiĺš6‰µçÔş6±C;Ľ{÷.˝óÎ;ôţĂ ¦‚Ö¶.1 …rˇ>ôˇ\ůĂNÂĺ~ȵ‡ţ>&ąZ=źlpoQw�0Ytj27É”Ét(«„($ ĚšÔZĐú«_ý*ýĂô3ů¶ú,)¸’…’xĐqM*ő¤Ž Ż/×V“‰ödďłU×°÷[Ëcß- źq~%ĺhŮu[wěĚ“,"! ”üł“Ż6+Š÷Cż/–ç<ć®ŐN3!1ŕ8h/ \ } ]\ż5“Whey…ë¶.čú| ¬Úשж-ŞţX"™˛lĄmR ÷Ҧ I}Š™PääYyŰGÎU9¦%úŕ·ŹÜ 0Gxq+¶EB<#ß6KBŔÁďhĂŇçČő'.]rpRNÖ1éĘÖ·’xôZěQ$]ŰŐ´€ŇăÜËąÍ &q[,B„Tâ•!Č·?2ŕ%VOŇ,7ąâ^Ó/xR•ĆN9ú!QŔđ{•°YaO"Ăx&«ĄŞ#!ŠDYö+—Üs#Ź·#W¸Ź. ŹçČ€ĺ=Hüł<ůĚ„^•ĆŤ%™'€:ńďHß•ŞÇ‚ÇąĺňĹ49 ńybE(ÁQ§Äá®Iĺ´G4ěw©4ڍ¶vEH%%¤©p�·\’EĄĆ`=+DŤzĆ G*Ę ‹|Y‹|óZ Öz"EQ‡_Ű 5đ°1(9Áp¬đ©¬ŰŃ}"‚Ř'Mű˛ę�;äÄ…”&ÄUÍ—~Ľ_ęCD5_>ä|ÜŔ}ß,q˙^Jd%ě"— ‚óó^oł„N‰ä Ot÷*“ľ+S‘¤ştH‚ţ»™9ĄŽÔKG>eýÝ ›¶Ú>ËÇBü•ćmÖI/gR7©' …^ѢJ®ďÇĐ2”¶‰*ČUJ9Qp @ŕŰ5žd^ą´*îfŁF/]ߤőĺ%úćŰ÷hoďHĆÎa¬ľĽ»á. H7^ܤFŁNýč‹tÔĆřůvbIŃâ=¨Â“DąŰřtVüé)/übE‘ٸ>düĆřĹ-\r” �áÄćC!•Č8ĹBşHR?öŇäł„UŘ Ô®<ĂâYâ@3'éć™Siů,S»WŘ‘}ÓÜ"šĚ =ÇD{PźŐŻ”?éneN­HÇ€Ó,o[ŮxŐmN~÷ţTńž6÷ÄqVW–sbőĹ·|ôsqęóýg˙fŹÖzž¶ť•—}úv¶vřÜÍ×拱ĚKĆs—“ú¬RÉű&xÝ`í˙Ć\4 \Ş.ŚE<fű,GB6ču÷¨ÚŞrż‹1‘Ýň¤?AćU‘é>HŻýČËttxD;;mÚztŔ qv÷;˘±Ľ´ŔŽ[GH†ÄGxü>:ě˛oR˝ÉăXłFßţąoă}şB"©”ÔôäřŢ–W[ôŮ?ňqßéŢÝG´µuČă`“ă\<^ŽŕG…Ň'Ci‰rĺ3­%ë†~NťČř+‘iŠ1—Ţ(MÉűÇëŐYVx6ölç^Ď'EHŢ?čŞÄÉóŹÇëö„cš}§úĎÁ¤Ďf·‰Óxbü€˘¤*@¦ŁÔjB@URŰĎI·ŠbÉŚ˛I¨wÄ‹ˇš…6‡i9tşmyaţ®±_Ě?"UÚ3Ç8K۶͸.śŻç5]ş]]8†ąŹS™r +O-WĐEú˝8žE§D–đ"šÇ ć6·ąÍmns{ ö‰O|BđßgmOB®°¶şşJly™¶v¶éÍ;·iç`ORľ;˘ĺ.<¦KrAZŇ«äżÓŘgu©Ĺń1·čńĄ,5~L6éŇř—<ţšűN~Ţ8Ţě—Çtˇü– C°Đ•Î ¨ŞÁ!yŞ –± '˝ _¨Dś‚JľP˘Vń˙úŻ˙úıa8†‚JŢPŕß‚ŢöŃ•aj,Ć»]ťoM•,ţößţŰŕěŹ˙řŹËu0·ÇśŘíŘo.Š–°GÁ öYűkŮQ·Ş^ˇ)@”Ř2 ŚÔz)•Ę÷Î’4”Äłä{N‘Á6 ­–AN{n[>[†Yu¤ű*Á˙EµŠâlÉbaÂŢŻYű}ń}"#Ńpk Űěíí ÁAlů1áÜŘŘ 7® ®)V,áAŹë�ę oű`Őz*ÖŤ›D;B”¨Xx Ď(.p¤uc۬Ŕ ÷˙ă,Ä(ČZN%ŰX‚„ťŘ+ŔmÂ"ąG÷·÷ZŰdńZłŇ›úYÓgčőŮóŮ2X% ÷YSc„˛2+JU•EIE*'iËsŢÁŞFhĐŰ–,Îýý=zóÍ7¤?¸qăEZZ^“ţS‰jš/Tź{› ĹŞĽŘ:·i‘ô{Ľ”Łä%ˇ‰*EęĘ™p�1FţxO@J“’_ŹÜŕ‰Žţ�nĂRNfA°ŃŚHNd1ý§/SčűćbťŮţĂ‚jzŹě˝±Ä‹b[Ďó÷Üćö¸†ľ’ĐŮx-żhżP‹6›j?”Ó)ŔŽ Í˘çđʱ@DŔSőź±ŠŽ*Č©)<JăŐŚâ“U]ţc÷ś•eź;NÉĄ*H•EŘÄĘuß\đ^!đ<ęöŽ<% !–¤ţ¸Óe¦‘˘ůĆUö<>ço8îا(ľGÁL*ŮÂżúímjożNĂŢ6÷‹ T©~·Čű*ůŞ\)ËĘĎr•ý‘*É;”ŚK\W‹|L(B,p9j#�hG:ÍqM©»10 ¨Ţ¨Rsať*Í ŠŞűTĆŠŰ.Ź·Łyă8ŠŞ�ďrŠ�…wů˝ËŐÜeÔ‘Ô$ Ź ˝—ęK„Ô!©¤˘Xâßü:ä]‘"DŔűŔ­xA1A”Žb�őě'7†¬yšŽha\�ˇĆŻş/e®]˘TdĚÜž19Č”>ťÜËłrR>ÚGťż«đűżčáú¸í»´ňX µ‘i(Ą{+—K TµheąEźúđK´ľ˛ ÷ş\)ŃĺKˢhrűÎ=ÚŮgpjčČBˇ“~'ÓŻcĺđµ«ë” !3‘Ň®mĐbąFŻß١;ń•´ŮR®x”Ďu}MĺžT8޶ë+2źî×Ę÷ŰÇb-Ł…š;g»›Ńý-ľn¬–ÄsQĘä9Nph§.ÍMĘČ*Áţ_ď5ľ®Ă6ÓU`ž¶ťţ: něźĺXNîcŇ„Ż:ž˙hݧî~K€`L»X†»—8ňYrň8;Dç'qJý@đ4s*"ń(™¸'ůö§Ě=×ÖV&Žo;ŮĎ/r5đnŢűÉ>÷ąť5;ű5?Ťú9÷D›ćS¶ôI«Ů×[âŐőNR°PsqMAęSȢßÜóÓ¬–hm©»x>Ţ ©72ÄÍřB0KWx§®ŚeDý„ÇŤdŚ­uwoźŽÚ!-.´čćÍEj÷ş´łs@{X-ĐZn)>WłVˇ—^ľB_üâWčč¨Ç×&ÇŔŞBĚXYiQłU–±;đýă`8˘;··hˇŐäŔ‚,şčvpü}žË÷h8P靼…# č"|—ú’’ uNíü4§Xá•.BÍťąë}¤yVĎ^y‚ü@ÓcJvŰi1–iŰ‘Ź Î$™Ř..ĐϡSdőKňiů1ĚA@Ž.±oµľľDµzŐčOݧ‘W„8ÉŠ1÷w@­VKľÓ…9xˇ<Ua~˘ÄŤm•(g٤ż2 űľ?‰ýóć1MĚШÚę¸ţ‚g&đR™ŹŐŠ `ćÚ<f0·ąÍmns›ŰS0ž5ÁâŰľíŰŽ‘+ŕ/ü“ňOč÷˙÷鼆ăln\˘Ő•UŽImÓí÷i—ç˝^ść#u~aNn4…ˇŹśI×}_Zl:ö7ľb=L'}™ľĄŮ1âmj±Pší˘ťg~ú~° C°°d+U“šŔ7�d€°ř Y8]ÁŹĎşşÁe/+ČúŮĎ~–~îç~.O˙‘KŐ{ŔY·‡)hÁ±âC+:Á ęďE5’<,ÉďýŻ˙őś`ń$ε­á/ĽpýŘ÷Z^”u_TŚ ˘ @Ú’," ]PÝ*}LéőoK¦Đ÷"QĹ‚âúŮ`‹%;ů*Ö‰ô~X ŘČE’Ĺ´úšö]10<­,îŢX0¦«Ňʎ) =č hř™XY]ˇ0_[_Ł< ›y°ŠtUp†$¨Č—ÇVíŰöŹÉ4ę $·:EeÜm |\vm.(c®ÝÜ Űv4ź¦%čKďą*$čqôw­ëb Ă)¦ÝÝĆnoËY 0O:¦´ű»öC|·iRK( V}—©‰¬Ą#aDŃxµ…äÚšhZ×”·Š×]üŰÔ@J{ýő×嵼˛FW._ÂĹĄÍMV,äuĄ%ßŘçE‰lö¸J†±mUŐ*dđŽ\ţ`´ťŃ!ř/píąĚ B™[h˘Ŕm}ĺ‘[i.đTšř~aÜĆąbśĆ¨ŽB]ńťMôѶ~Š÷Řö/öu?›ŽF÷±/ÝGÇ•ąÍíÜ–98,*{ň¦€Ú©¤IpâAÁzęÉEWµ!Ç“)đLŕxh·�ŻAb Üs%©2|Š'UÚ%vÄÝ ţT4¤BĘŽ˛<ŁŘ«Ô@˛(1wH‰O˙! ü9@ľQIVvAěŃćD´˘Č%>`ťIj 2 YŤk×ŐŁî 9D  Üoę8—?ľ9ŮăTi ĺĽ Ž;UÍ)*ąśëi<¤Łí·i÷ÖW(î=˘AkQ䇗?@Ń‹ź˘…Ą*#5H5äľ›r.Bą’ (ŽŇ€ę[C˙(čúý2×N´€DĄžReÄ~í°Fk—_˘kúŁ\-mÝý ®”ŞÍ*÷•±¬nC] ű|˘›­¸tńU“ŻĄ‚><ô@ ţB¤HP31ÚJę¨(O_ŐNuŕ—ż«%ŽřR #ĘżżÎŐŻq/ď_ř{6 ę˙ŠO™Ľ©?G~ͦűOÚ ź˝şŐÂ]ţ§ÝĎxŕúű…z™ňsNÂźř»Â÷đňĆ­,4$˙u§ëŐQ™V–šôÁ—.ÓBŻo&ô`ű@TD‚Üż´ó€”Ú‡2fw; P- čúĺž/ŇĘňmt‹i$¤źÉOUt*•RÚXhs äâ”ní;"Lęoj«Đ奌–*ŽJŐ!Ý Ńo×%b‰úXč2¶AÖ=qľSJą-s\[YrăŻOł–łUž‘ś˘ďbQŘY`őŐÜß îąö€z­ĺ‡<ďµgüîĽVĽÎÇ5%˘ăő ?A‘—9k6űµ”kvN&s@ﯜtś˘ˇ_¨›En–á TtbŐ>I­OźŃ3´g÷Ěś|žÇĽ¨ě¬ÇźµM6ŃďM=Ef~•†őŚęč”*8iÎŻ†çnŚŤÓćÖ´ď©ä 2ĆŠ;xk•V—8–Ŕs—Îűç8’ľ[V—AŞżGŐZ“ý—˛RsĂŹk~dtľYꔡ*ĎÉútÔP˝Qă9Xť®_˝, ťî@ćÄ>Öpp@ŽŽFôĘ^¦.[AÄčtޏ 5z´ŐáăĐB«!*~.µĄKI’¦ěD˝bÇŔ«W/‰ŹvxxDť6b�^]0Ĺ|(�±#ODRę̧ÂpÄWőmH|IWŐ˙ŠĹ—\ˇ^ 5MďwÓT(Oµëń•,˙L3«ę¤8„îžSz ŰätÓ1oOó< á }ÚâŻĂ!·y¤gŢ?ňŔęę:Źđ6Ý|„Ű]źŰ)|,¤RĂśß*ĺͲ^wäÚŘ ×9Í$¶@g)Qł‰TŇ —®TĐąx.Ę7XÓMcQć1atś”ć‹äĽrĄüťäńo ™+U}ěÇ‹J^ÉSđ±ł;5­HčT61XăOą5Ímns›ŰÜćö_¬}îsź|Ó.’}ÚöC?ôCOŤ\a­ĚţʵÍË´±˛J[»;tďŃCÚŢßżĚĹEśż‘.î™<qÝLb©'jÖeÁ*LˇĘvˇ!Ý⩏Ąćr‡ă^îžř‹=ëüűâř.†`’L×bşĂń˝¦ňPp9ůc¸"ä ËĄ/čO¤™Ŕďźüä'…Ťl8ٲÓ�‚ÄW€ÍJĂk™l�°ţ+IÁ¦×°6ŤdaŹ­e±vÖ WŕAČâ¦/ÝĽ9q®býjMë^ŻAAnK–PłÄ K„°©Š`¦Öę^‰şŤŞh«>P$xزĚ"4čoú»¦Ŕ°×dŹ™ť3BgďI±,öz'€}ťDe®˙Jłl˘Ś¶níyl=IŰŔ;ĺLn/]Ú”Ő)xÂŔÝŹČŻ>QŔL_nŇĘ„PßőşŐú¸÷ˇ…dbÚČ9]ů]Ĺ‚&®ě4q”tQ|¶Š**©|ö6•ÉńôăňK ·íŔ*źŘÚv[=†nÔŠíÍžCŹ9­˝Ů6Těô…ż‡Ăq?Łm\Ű&dö+ŐŠfpTVRű@'ת˛¬rV2!”™Ać“úŽý˝ÚŰݦ;wޡ/Ţ”"¨B~P%ßh?hIz˙”|q|eČärKn_0 ‡Yp rĹ( `W«ňB®ú0Ë$đ±űś˙ëžY–zÝŘAĐţOËc÷uű'ÜďťÝOłďVIĹ’N´¬úYŰŮ45ŁąÍí,†đ[•ü«›UjďsżĎ¨wźź‘·yŕč#ô• ĎB<“ěŁ0°*Ęž,éf„řÓ|Ěq+Á˘"}|¤+EőÂüBśC™ ś8u–ßŢÚąż+üw•Ş•&Ĺ|îQŇç߆2)S&xâT‚”\VäCGQHˇ?/Ź[˘xá'´/ 61ŮĎIÍTTb ä Ę”ať™~'50dćÁ}Ł"×ć®@!Ć �$Ý˝-ęě> A§ÍeNř}ź˝ýűÔŢ{‡űÄ6Żßŕ~§JF˝«uî»j�cRŞňq8š\ bŐ¤ä©->zÂA™ĎSĺ˘T3Gn@üâľÇµĹ5Ú¸ńmÔŮąCűŹľ%i7’·©sżxpä‚Č~˛3Ůźyµ€,SćöĐ(ŇŹÖC×÷¦ŞÄßaŽ…>·íëuÄăRUF©¤ ‘ ‰ô1ZCÄő8âÔĺjFZT^$Š%kpu!únśçDŽČ`˘tDZů—¶_§)ř\¦˝˝ëk˝zG†É"!]H@=Vđ,đo}ľ€˙X[ťďŁެ(yçąÝmí슚S…Ç؀dzÝß˙: ŮŚb„ôX™ĆÇ!ű�,€V,bőďĘň"5:`€ }},ůíë4â÷v·Cń0qAx'ńX‚ÄFrśn¶7×Iďń Ăă]âƢf%Ł—72j–S:<ĺ:cľ?ڱńă»: UQõ[(e$ę#—v„<8ű°µ{Ä€\Ě ÝbŢź<‰ť6±ăkŃŻbu~©Ý§xě©ţxćĘ?ŕşjÉłp¬ťÁžÔ›>–?%`<pęYÂwŢŻ(|úśÉş×:óµYPŃš�— s2Ŕą¦^sňî ť·Ühë«­‰ů€Ž=áZ×':˙8¸˙´˘e§Ěż§Őů9Ď:ĺśÓëčqŞ.3}°ŰťRy™ůpŢKvÓ—Ó/$ońćř'Í˝Ž}ďK‰v'8ÎfĚ»­U@Ś–‰mšŹ(5Ç´¶ČýýAf]ő‡ÎwytÄľBÖoScýĂŽĐJŞ~‘äí@dO‡Č/ĆÜzE^P¤č´ůuÔ§ĂzŤš´°¸(ŕî�‹Ť@ë é+_ýµZ<ţ´2˙_ć± đţŢőúP—lqy0w#§(°Ř”ńg4Hi°7˘ŇŢ~…Ö×W9n°ÂóÎíK˙Z*RWĎ %úęÔ]ťş™KaDWđ9›4& ďÓ–Dy‹G-:ů®>yü4í<Ď­Ě…ËłÔśe˙bĚdě ú’‡Î[·Ů~üLú 9M#˙»ľ?‘ą¶(>tűÔĺ6żŻ\^…lXÄÓëi0Ś©ŐÄ"´E!ď*Ă Aľ(F/ÁDmřáY\ůKS_ÇęvŘîŇ,›öĽŰ}'ű)G./—*ňâËđ1ܡř~HˇÓéIEI ¸‚”ÓŇ98r‚ą‰Ś‡î¸Ź,UJů0Şä×\Ś'ä>S&·ťm÷crN@öż·ž‰ąÍmns›ŰÜŢŻ˙äóź˙<ýÚŻý={Zä kŔ°Ż]ľBë ZěíŇĂ­-ÚâV»}ä6(řŽnşâĽ‹¨YŁa—1•Ča8‹|ÜWTżť"1ăĐ‘,tľ“‘u/ŤŹŚż“m’wWWňiŰ…!XŔ‘‡)x¬ 'LH@•`‡űa°’°Ť*0�tĆ;Č´»»+ŰÝĽy“~ů—YŽcA0N<Š %eĺ,pfěc­)’®ĺÇ~ěÇdßźú©ź˘gi/żüňÔďí5*ń`"C%ŽăÖŠŕuQu˘¸úŰ’Jv™dU•b˝[đ´8IťuŤ0ť ŮňŮßg]›ť@Áůb™í>Ĺ2É÷Áqâ‰}WĺŰ.‹×‚É0$Ę——Ö8°˛,/´yKŔłPzÇmÔKúçĚŐ‹ ş¦„Á$ĘňĽŤÜ=iňpJÝú@Ş›íőkúâőŕ3$íł4+ŕe/l[)’`V…ĹŢź"q˘xžiŰďź%WŘý-ÁJË{Rű@Ć“Kđ÷ÖńĎź,üŞjČ·¸©x™oGD “z7ŽŻe\f˝¶“ ŰAčk_ýCşsű–¨Y€hâNTIS ŕş„cň™*éÂ’‚äž'nĄş”JY$«EşI‡úq_BŹeR4Rr0$ Ŕ¤!iR¦ż-öą–đeźeKô(>·ö–h6ŤôcďQq ťÖ—<nĐmnsËÍ7EŽÓźůžŚîÜ h7%ގÓA»B‡~–\ąQqIKąz9ŕ[VĐgŽd‘y‰g›ĺą.ů y$„ qłEą"˛CÉ“+đ9Ë4éH(é{8„ÉÇ©qŐb_lş ćrż–„2ÎI6o>o5)Q/9˘!?ó 3dŇ„.őOę¶ =čvwůĽŹ“TÝ•*÷Ü/şś‘Swţ#ÍËrĚ,U¤śĆbČĺE'ńEnÜőip¸C˝‡:˘6€{ArČ[´sďé`ű´¸ţ)>(ÁŰ2oS ‘ľ ě«"« úGôM™» ľ§ŕúD}đ¶Č1ĽÄ>o üwŠ H•Ôa@ߍwČiÝ— ÷ňÜ2÷É|E6ú¶‚닸$ü{›ĎÍX‹¨iHâOĘ‹Śď©”`ĺ`Ŕ Q&u^ ĘT-G´„P[ [é ‰ń䔑»49§“Nź(ĘŰ4żĘ˙âĆÔ%—±^©7L(č˛ßňÂFY®×ŽŹ˘řŔ%Ű:čĐAg űş'„[ŘÚÔ¬5hˇQ’•»­Fť’”7x> Ü˛˛Ř jµ$Ħ.ź/ä kt8  ÄsĐőRzó.ŹmC×nu>Ol××ZüچÔ•iÄĎB­ěhî;_CŮŐiµ’ŃÍő€.-pq¶Rž<¨Yâń6 čŃABí^Â`\" śŚs[ˇ€15âöâ žK<[Ť ”±B!W¬,µčĆĺU_§çBĎkEBőx śŠ>˝¶ś  cŇä ě¨ČpČ]óÂLŹ™ŕiüAGPóßĘż¨UPGź:›a¶MÖµS+S_38CcY^Yˇ‹fO*ĆpŇśrnç7áő?/íĆ˝TVpaś ‚Q6•xVá18 'ǡ2Ź‹—W± !%F¨Ó ĺ¸č“ăČŰĽŃ"Ź)@u{'•hââ<4Mş´ÎĐşÔnw†tď~‡Ş{uZZlŃpÔçůRŤźMś­&sĆNÇ͡HŃhUiccUĘ‹ő@˝^ >Q§;E‚F‹çŐ€®\^ ˝žďµ‡ôÖŰ÷DŤkcmUćţ'ë5Ž-,·čŕ°OH5—ÄN $L[§fé˛!©‚š*‚Iŕ6 źn,˝YśČaçnŢži<-¶±ăq=0ëĆg‡f}gç¬9‘"NÄ—9+ÝęGöőŞ Y`ĎľÝĂ|%ž“×[’šŮ¦ÔĐĎŘľ¨[śëÚŘź{~&ăÓl8:ľ@ä´Ě´Ńń¸ŰXµÂ=Ž`ŃĺWź}ü.;˙ bŕYA̤"¨{)—Ş9‰¤3Ę̵N;÷Ľ×źŰÜć6·ąÍíÝ·ďú®ďz¦‹ţĎ˙9ý…żđÄřůź˙yú?řzQ€ë—Ż˘Ĺîá!űńG‚s?ÜŰËĹ `÷:%îÉń¬ę#Q¤yÜÓ«Ĺ+Ţâ•n©€ŮN8fC*Îq/Öqa"LŞˇÎi˝^ź�ł@ �ń¦Ä €đ((yy˛©,ct‡’+p$Î5¤í®\ąB_úŇ—č«_ýj®JaSUŘ}–`];‰Y QTjÓ@\kH ˘iA¬'*§M2NłËW.óÄ{}ęoE@¸ěWm•ěy‹¤“â5+hoëĐ‚V-Ű«’Ĺ´ žĘë¶zÎâýVßV- ř˝M0ë^ÁZ=_ń~Lm˛ăÄů.Íh©Ĺ“ŁhvŢRluz­ĘA•&w¶yiŢTU§€l»Ţź")�«´í[R†ŹŹÓőWq<�:ÎëŻdLž°`¶Sň“ÂísA·Ĺ66ť‚ÝÖ’p<ť,ďIńľęßV Ąx_ěó=MqĆ’…Š€˝ÝfÚ~öÚŠ�˝}®l›ŃţĚ}P»Ý‘ŐT k<¸‚pŃhV© • ˙ Ť öýüý¶Gʤą˙>]ľ|™nľô2÷—…Цý«M¤×gŻ /*RX©Űíw(ěQ_�şjĆ×ÔeI $“ľ´7Y\O/¤íHú·’TěµZő ´AŰNŠd˝VEÉşźýďş nšŞ‰í‹´śŰÜÎkžr@‹K}÷źŞ2^f€˙ö hgo…ă)}ůőÚ#¤š¨Q»ËýŇÓ¬$¤‚$óx|櫤Di€‰ŻÂA‡@)°ę0(»łf ůq 1tjüť¸™ůÔ X!ŹgŚŹUjR©¶"’Ůoy DŹËŇämBĆÄë!?’·rąiH˙ŕô.Jŕ“hŔŃw˘*Ż=ŮÇVŮ_¨6h,©«đŹă…y”Čő8’O–’ąăB‰!’±…_%G¶uĐîҨČe[Ó͵ő�®“öţ=ęÜĺm?ĚőSf&¤*ŇVđąˇ`QĺëŻÂUÁŹvwDi?řŔHßQÁ>ĄT@“^4¤Ł˝[t¸óĹŁŤâLV‘¦‡˘Tf®Ă#N9‡ŻůĂÁQLĂJH}ţ‚1yjsp˝ĚW"BŁ ‰—ôč#OşĆ�‹řdX˝Č‡AŽy ÎŃ€BGčÚâ䢡ęĹ}ŹĹŽO É?,w+h]ßĘuÎ7mT „Óăz‚:’n7áGĂŕwző#Gš@ —$Ż@’ʦÂ}u«QŁő•ş(IÉłÔ×ó…ň<A  ü¦!qg«Mۇ1-l÷… gw•V˝LWÖ›ôň5Űř·ű!=d`«YËh}9 ZĹݾߓߔĄVHKMHŮCM/Ţ~@í~"äŤc,ąq ţ žeŚ“ˇSç€_Ő“ő•*˝xiQČ1;‡mi/µjÉ× =‹=ńR•¶ŠdXׯ¤Ţ—ď—ůU´c˘u:1Ö«_QG,uľ˙Ĺ$Xí÷űR!ś’Pń[čMYšNt5ą#Â?^€#óőě|žt‚`q[Y^¦Ç±Ç™Ë:;?™ä‰C?~…ĎăXq>ňvOŞ1óŢ·ÇąďOr˙ěřëć ±,o ÉB˙Ö2"]TĄ<ž‹CQđc//ŃJ3“@f»ÇăI?“•ńŁŢ#ÔJŁ&ŹĄ5nßăq“÷]Q"‘}r~ü ôßwď=¤…Ö"µšužß•©µŘä¸-¸˙?č A‚ŁZB\\Xŕ>˝Â>aʶwčÁĂ-*í:EŠV«Ęűud|ĚĽZŐÖ.˙ŢnŇď·´�ŇßżÉçüpű€=3HR¨((Ţxá’(ěî¶éť­G2˙\h. ÉęH2Ż ü|Ů÷ëĹ]’+¬.Şa,‚/p(= ń\yz|ośî3ČN#Uč|ĽLߡ>!©=úC‰`Kź?×j ‰Fě÷'1ć5™›W+-ö󚢚))ňdě. ˇÔ.n˛ĺ>) “X"{ĹZ>˝ÎÓfA:u®<-fs|ŁcĚ ŻěA>Ĺm,jyxw}ŔPžąZ­éSąyúż'O´Ŕ;ć9 ÜJŠ˝AFS˙eSâb§Ů´řŕÜć6·ąÍmns{úöˇ}^}őUúĘWľBĎ€+˙ÄOü=/ŃâĘƆĽ <v•q›‡ě§ßßŢ­3Žî±/"Ý_<é[qč•’PŐíť"ŞSY eQ•Z@“1ĆYŘ—Äe.ĐäőÂD¬d#LWs«ię4(Uąp‡ľ€gpř1yPŕ  -�Bl ˛Ň& `„cü™?ógčµ×^ËAlë]*„ţ¨«©,¬ňš‚oJL°ßY©ĽóšuÖ‹«đu˙yí#ţđĚßp<Ô«M×ú‰Bń|`—iLĐ•íšB@ʧďZ_şz_oIŤ`XâÖt{{_Šr¸ö}šŮI(LÓX‚HqXĽ§ĹăÍšôM#]X+’5@N)M|ç™’ćŐžq-hë6—dȤ±R©{Ň“dTŇ’˝®‰4&aRŽîA#—ŁÖK‘ë+ÍrPĂ­ŞËň{ŁÇ)Ş‚hp\ÁďYí`ľŢ“Ržóöx ®OÓ'ř¶mZB†ţVl‡Úľ-nĎk÷ź¸_…ű<Ť€ĎZF«ĐbŻEŹ_<¦~çîźN ŔŞ+üPq˙ ¬0i2 „ç·V«zpĂ ƛӂĹ6†są~ô¶¶¶čĂţĽjŚQŇ çÖţn4ĺ× ĂŠi[˛‚ľK‡ÁA›a;ZŽśJ8­C]úe˛‚ťűŁr•ŕńó§iHÔ´ ۇŽş˝˝/č˙m›RP§Ř^µ-ę}±DŰF´=ę}SłŰŮăĎmnŹečCFčźV©ÎýĄŐş|ĄJI7 +]Ú\[˘íżżř ˝}§KżűĹŻQ€¨_YÔćSČÍ{˘B*kö#!>e’ł ĆŹfĹĹűA”ĽVč3¸ x Â37 �ЇÔSÇ€ňET„`Q.µheőŃGĽo—Ňr(ŕ.ČĄ b˙‹źË˝T�ÂĘ5Cţťđ˙†O˘tă‚:\z*éółËýÁ8€ďŰřoG›-ź6B€$€y†ľąĐń<Kž‡ÔŻúwÄŤĐăBA˙Ş\˛Ť,S­ŮôJS.…rŠŹ]*W@h\”ŕőţö]ţĚÁě4¤»é:—Ö׸ďâkÎÜşN-r‚ţ€O±Ý_ݍ_ÔdŻ`»ź«M]îw»G]ęu iç8éx‘MOˇ�»·Ó庍DAŞaIŤ˙z(ťTSIë.du\Óa»OU®‡˛�Ůî\)V>ĆîšbŚç|Ž*dÇË‘KMăÓ°dEĚ3g|<łý¨˙řôH—–2Č…yçEßSęśŰ|«Ő˘ţ0‘Ŕ8Č#K­ uű#:ęÄ’ŁmMúoů)'-dž`Ńé%ĽLQ…Ç( b·F`4ęSŹÁ¨ âREö‰˘@RbA)dŻ3 V•üÜ�˝bŔdÜ.Ź!ívů3Ú#×i„ŤÝLTKRŐÓ°ÎĎGÄa´=.c)ő €XŐ2ú…PžM<×1î3?ŰKužpłČçÇř‹űÓeíŃ0ö·ŹŽ¸oqi1ŢNúqî9Gq>~}8Xqµ¬őŰôď^RâÁĹY­d3ôáŮĎ‘ş ”¸•ťy~R4»Męý›Řűnެ}vŰXmĐóµóu.OşzJýŮ´ľ©x˘,'K?Á ň7>ę9ő^ú˛§ń gîşbŻŇ’e'ËŮâ÷Őĺ2}ň‹ôďóm +«ôßv…–P”ęŇţŃî>ęŃáQŹ’Á.ŹáCé—@¸HÓ#j…»<.±ßricĆ D÷‰Ü-”tSËß»÷öë´ŘZ’1 ýčĆŇ F<ţôĹ€šÄpÄÓ$ŔüćŤ+ҧîîŇý{÷E‘ióŇe{@ ­ó±ÉcÝáaźîÝ˝G;ŐmnnRłîÔ7®n® ©ďđp$eB_ľsń|’}Ŕ…Ŧ?@»;»t˙ÁűLZ[ۤ;ń¨C®Íú\ĐdŇ·úľę˘.±\‰ÎD÷šÖ'Ű”}wŮ4Ć©=ČÓÜöÎ7I, ‹e<=âXçŃ!űŚ],B %uLťçéŤú*oÇţϭ뵺ř?•ŞŹä¤Ě1‘b"öâ}ŐŔ–Ő?D6.bËmăBÔ*č\}Ř(q•Šk›FČÖw*9ĹĹ9\ŠÄK RX–]ôćŕá™âçˇŃr@‚Ä;]Ę5űPÇŁŃ€<GéńłŽ—ĆIOĎűĂ©ĺłő6·ąÍmns›ŰÜŢ}ţű¬ď¦5Ř/)zmy™nľpCp-no-4ÄźôsbJ>%QDőßžDşŘ•ÚŘß r2†ýMgRY|±H˘†`ˇä]9Üétäű"°© ¤‚mpxń‚Šö@ŚĽĘ´‚T±ľľ.“ {ÜŹ}ěcôÉO~’ľüĺ/Ë1ěäÂüŕ”ă8JŕĐ _V˘@`Ő‰Ëy$Ó¶/’-,řš]»vMäţO3M»;iĄ~ń7ťG+YB'ŤVÂŢ;ĽŁNQŹ Čę6 HZŐl-Şu`W—۶R´"®ĺP˘‡žł¸Ź­g[¦“ęß–OßívVŃ#ú=i�†Ď„˛âďřu¨:ČŕÇFI^ŹÚNgú +!“M� ižUäł5ý<Ť4ˇę vŰi©ÔTŇČNÚő¸–anťŕ·łd K®°őg'éVőŔ¶×±¬ĺ$ѶąâµŮ:˛ä‹âł`Ëaď‘îoý<h¶‹ý}Ž»C/ó™É¤} +—°JĄ.}˘+‡–ĺń‰^RěííŃţĎ_¤îÓ§?ý̨ŃlHŞęůJÓRi ®�Hâ ßagŹ•ľ ÄőajaCČAĺj™#‘/ĘW©•čë÷‚‚Ú~Vű^­c—;vH6Ťže´ mŰŘuˇş"ŁąTmߢ)¨l˙ŽĎ8®’2lz#[_–ä3m•ĎÜćvnă¶7ŕČă;ďě (ßéÖéC7רUM¨őéú&÷‹űGtűÎoSТVój•?i ęĘüŚNyHRhpP«î8(_ć�,•×G�‘€fžÖV_`đ|‘vwńs¸Ĺ~vŹJPŞČ’DV%R*Оz@rP¦JŔŕq\ˇFÔ¤Q•_čČżş¶$Š;Ł2ŘüŚH5U.Qź˙† FäB‚$ĺ Qfb—˘Dî;qöóáGŃĆ”Şµ”ĄUa $~ĺ»$…ߌä]Vün•Şň3B%AřľŕH]Ąh•Ö®Pąą@ĂŢ5"ähĆ3Í×ŐéŇŢÖ=şrxŤ: 0tFmşýĆ×(ľů}ŕóßÁý„[Á™ůUÎ~ýë_§GʶéŁý8ݸ~ťĘĄµÎ =űB�@ ÂńµÔ#Ş7ë¸öÁâ°ěý‰€¶i&¦Éń 5’Pô2"!Eđ7ÔöXm­ ŐŚúÝX ˛^~0eŠ2Č®Q&ŻÁ ?qżŚ´üťLÇ*%Ţ?â¶!´ńUB-›$|ú!ćńřŠ2Kś&2@öz0Ňâ`ňSFc&^kKző«ôp·OíŢ–[eşĽÎm•Űĺ˝G]Ţ?“ű–nł-/"OYę&ľi*íbh•ŕ  Ć%¤a#r&ÉyďR« -v¸^÷şęsY{IUúaJ÷vůľ×řŢ„‰H©Gˇ“[ŻVůŽ1ŘŐăňôůŕ+K%şşÎŰ%C!j´»­4#Z¨§ đ… ®ôxĽäqŠź¬PH¸bÚ<~ňö}w:˘č‚Ńr{žQä$áŔűöę߫ꖓL)™śˇ˙ŁcňŰÖŻÇĎ^?~ęž÷”eˇW¨:)p© š„°J“Dߓ晳~ĎçL©#Y!}‚K'E粍őÇS°xżY±Ođ0Í$Zd“Ű<Î)Šĺ|^Ţçé䑳Ĺ,ŽíCO`ž×µo¤»ts•Ů»h×V—hwçUé>ůˇhm!ä9WG”ž^ż˝OíS5äXS5ĄRă*ĄžŹřř#j.˝DNüb4ă,î䲤%:8čŃňR‹.o®ň<k—nÝ~ŔăJŤVV–„\€ç(«P­î”ş¶÷řü•&űű|!­Ż.Ňćĺe.×ĹCîmEm)u§zµB/ľ°L/߼J;Ľß˝űwé÷Ł+«+´¶u´#ńď0Ž×ęUنôö­;´ĽĽÎű"ŐH‡ç– ôíô:mmmÓá!ϧĽwĂľż &Âxm« gÚwVke:Ă‚fÇ‹ŠD87‡�ŕŹ98ćÄP˘88<¤ÎbťCö}ůţ¬R˝Ń˘K—Ö8öyŔ÷»"ń�¨M‚T±Ä÷Ď©RD˘J1Ť¸`Ë"e?ü—úü¤™'ô‘ĄĄĚ9QiLřE*ŻŽZ®Oď{Rßŕٱm•dź_‰×.ćČÂřÇPĆ´JXşh ‘ĘĄ!V8 lçgMÖĂdL�V.Wd1I–Ä˘Š†VŻ×‘çŠ8v“ç˛ę3°±!%At’2'`Ěmns›ŰÜćöüěSźú}ć3źˇ/~ń‹tŃ ţâ­x-3ţ˝ą±AüđGčsßţGé˙˙«˙3ýÚoýÖX™›ÔĎË>ŚúY©[”›űöÁŘĂwţ˝ůÎřs‚ă\ ÇćÂ, 6aArĽ@ŚĐŔ›ŞKŕe'"Á ¶k6›"kŻ)plťŔ`±¶¶Fé/ý%‘rQ‡¦çĹ~´ئ čÄKŕ¨V‚‰�Öí-)â$;>™s 8ŘźeŻľú‰SĎmÓŕ:ІŮUÝvk +°oÓ^Ř2ŰăjýÂôĽz?(Ĺ6ú+‚Ůg!°XĐĽH®°ę ú˝ÝoÚ})Ö]‘x`·Ë˛ăě~ˇCä+ĹƤ„ő8łLS{`’Ăţ�´1©¶“u«:´ÄŽ1‰J ¸E%ň×.+ŠŁĽMČj›Čď<%ď‰ĎqŹI¨”= ňN˛“R˙q" ‚˝ĎŘ [OúĚÓvčKź3űüO«3í7`şť­­űi Ř·Ďź>×Vť˘Hް„KĘŃ6X<¶¶=Ż-O"�di‚X6N#ăŔ ío č‹V«)d‹……– p_ź$¬u…ľ÷ťwŢa đ}úÓź¦ë×oH`fŐo´ŚBNŕ@ăAÔˇ <”•˝ë„UřMG^őhŔA" ähźÇÁVł%ŕB*Ťá±>µř<*™CűgKŽPC=č~hoÚ¶¬ŇE‘…�•Ua±ö˙0;6Śďť{–mż9·ąťËŻĆJµ>Ýąs›ú1žŹWh{D]¨ÚÄCÚíľIw¶nÓ[Ű Ŕ"^§ÍőKÔ¨,ĐĂ­šäÚvčFüâľyi% ?ňퟢ×ŢQVľĚ÷]1H˝şt™AţË"!Ľ—%XęÔ•� ŁßDO=pĎýl«ĺŐÂ*Őă -7ř<ĺ&ő¸oş´Ů¤Ď|üeÉ#ľ3¨]Ł(`źŽAú·ŰŹHÔ*X5 ň�ś|Ż:ŕg–úŔeIr çŇřŢ;”şüűŐWřĽ „…×A6bŕ;‘hŁîź¦O•ÚeżJ ¤ŢA‰�«Ă’:  %‚öĘF’Ę„T˛Y�öJŘ–ëeˇŇĆŇ>ĽCo}óK´óđm* Žhđ™W)¬.rź‚ô, 3č˙ú[ߢ÷K˙˝ůć;ôé·Ţ¦żđ˙]ŢX"CŤŹßDAŁĆcn·śrP·"« °I+7îĘŘ!râä ľŘĆâë`Mµ<âcş :öLŇńŠÝA?T!čĎş ˛D|ŽFµLËuˇŃp= ą}‘¨f49`ŹÂťŹ‚LĘ‘‡˘Lł°?_Y{\ĎÁőQJ]ägđaĐëˊâ?/5#ľHJÍ*ŃËW›Ň™hĆ´Ôŕ±|­F‡=§•ČxéRR”J®˙Τ턢z¨ŚĽÝeHlGÔ`eeąNý$¤Ţ  u(L%|śÚR÷€–&âEPťHB!m4„˘ŚźťLÔOŞP4á î ů8 Oňq–eIÓBÁ‹çFµŔ/ Öfî:@„ĘJ Ĺ<ĆŤô+QĐć×@ž”)0`cđ”oŽŃ:ţYrşSŘŞMU¨ÓűŁV»sŕδőţţ 0M§>®8Jâ“Ăr�í<ĚÎĆ焊,Ë~f>-Kš y>gµZ> łvRJĂ‹lg!śĺÁS~ŹÍYĎxř'UŠ8ţě>ľI,zZćüĚ…â<ć“ů}úEë\îÖ#:”iuąIťN[~©óŁ7ש•ݍJ«k+ôđá.ĹÝ>Ť®ňE¤F„˘ŔM»¶ '˝»ômHúňł^áqhŹwes…HăÍ;\ć®_»NĂ~ŹÁbŚO<V/6„śzëť{t°ß ĹĺeBVźŹëëkKŹ@Ú`˙ŽÇAč!ű‹|M+Kuşzů*]˝r™<|DoßyÄçîŇŤë/ŇáÁ¶(]U”ľţÂö]!čîí2oˇśGoߥ›/|6Ö´ýhźöŹ2‰HîfYl“¸”C¨?Ě}.pvDr›ŐŃÄÚŔéfçü0;§MŚrÄ9ą!uËáa—ö÷Ź$MĹŇâ2-.-ÓĺKŻĐN´K««Wką˘^­ÖňÄ®"ąAß­lń7}Ď‚ăétÇ϶#ĺĘ\ź_CvN4Ťs‡ă­Cöǰý+ŘämëÇ>1¶ĺ ”-P˘‡'EA>W§­7!şT+\UIŹŁ‹,śßŚUy"†jş¸2M»_ˇÉCńËÔŕX‡¤Ńëěô8¶Ü•ů=|,t„R××8kNŁŰÜć6·ąÍí˝b?đ?p! Ö$îR©Ňý#?B7nÜ ?ý'˙¤QĺW…ţŮŻ˙˛\?0sX%Ě™D… ^Iö3‘÷őŹăm.e ]»0ČŤŞŘ`RŘŐÂř^™Ůpěwww%Ő€EěBŇĘĘŠüŤďä+0 pĆźä÷‹żř‹)-b‘_…ÂâóŮÎp°ČÓ•úřÝ®°¶@pq2ŁŰŠĹß설ř·µ“&.˙řÇy"¶š? ÓLŻSŐPç�-qŤJ6Q�SAéâ5h0B뺨ô 6™F„rňęQ'LřNUB¬ŢaH/NZ§©*č}Đ•s0ÜGťŚęy‹äi ýD2®îQü}‚@4±ÂÝ®‚×ňéőO3wŤĎ%9ľ/ôáůĐc(p ĂoZ%Ox€śä¬Qć~¶ä;Čq— ´Áďl’L uĎź€¶*4z>˝wĺRى˘ :m˛+,Ů@É#Zm›ú»ť4[%’­¤×{2MÉd–2I‘ cÉ!öY°ŕĽËŞcX‰JŰVő^i;Đ>p|Üěś6” Űďw'î§*: ďęćVW–řŮ_Â…MŮó¸¦eaí÷~ď÷ä»:%O8wÜď˘ýiýô8¸W>`oaÔ ZŇUW´Cĺ:iYňť6ŞUz}Ȭ÷)ńó#(’ĺiˇě}ŃľB漢ˇ¤-mKř¬iźÔô·"ŃEÉAú7ĆíÓńŇsj=čxa şb×Ö—UšŰÜÎkXőŤ•đ»XÁÎ}Léuzýţ[tťźµM*ľőčMjs`¶ĚA˙*ĂŕAŔ ńJDźze™î=X˘ß˙ň€âAá`z7(c‡zs-ˇËK=zń;רşzťŢľµFŻcź!˝UŞU¨ßă¶ÜBâvĽ»B>tH5Džä ¨[ŁĹ…eZ ezaí }ř& =nÓ•«¤i‘î?ęp¸ĚaÖiye@ Pgxë÷č>= !éHRäę–1‘źČâgxÖRZ\l2ŘŹçůĆíÇřąě~“jýmj,W©Ôrîđ {@q‡Ňýű” ąOlSĄţ!j,^çş«Ň}ě=ĽGŰ÷ß ő—>JµĹ5!t>¸K^űĎtđđ=Ş ťHüą”V) yĽĺk[` căň Úâíďľő-şőú—ůúŽhw«E÷îߦrzYĆDČyďpÝޢEĚçýňţ!ýńo˙Ú`źLRHđuľóŤoPŹű¸Ő^ Łťű\®7iĐ;ä:I<ąÂ§IUĹĂ+WĹUĘ.ŤŞgożÍ <÷Y ˛WáOđ«V¸ ÜgeîxÜ˝y)jĐfî—yś>pÎc[)”~ąĘ…Ľ_­Äü ţP@)‡’FĂH—‰ZŚÓ<ESżŇç˝Ô!Qhcě@Đ›ű1‚ďŇ^'§G2†reČŕC”eh…Że±QĐlżźŇ­ű‡t»#Ül×äúŻq=yL:bđkp0ż\˘f˝ĚĎŃ‚Ëߍ<ÝĽMź‰ĂR&éF ČHŠ/¨[´Đ,ů”-)Őąh—–BÉ*ŐŔÝnö=>ÇhČuÍߡřÍzBµ�¤@7ά Ţˇ6Â×ţpo(ţÁR‹Ç˛lDŁ®é[Ęr¬:?çí^…–[ :b0�˛ŮJ¬xqŚęŞ„1Ő.­˙ăî§Sg‚ăó7ŹWńË|Đi©–>“ky/ \}(#FűŔI‰ž’żXňÎ;yôsCĽ=ćÔ< ÷’Im<‡öń¤D‹“HŹCŔÇža×ě)Ő‘ť/MĚ•5?Ç÷IM瞉O˘ă ŃńzvçĚčó˙›Đŕ“<Kˇ8 ;÷·©ÓUĺ>Ä2I»1—iČ€w–"ýVčŇr•ĘSËá†n›zuÄľN™nßąÍcÎ*÷Ő›ôř»}Ç·ж¶öطاVs™Ë~DÝžSů[ßXĄOj…vvvx|ÉžÇ(ö‡ŁLH’�ěË<4WštÔ=¤»wrPu™V–‡|%ICňG>łÎţÂíl· NÓ.Ď۲đ)(——Ü_§Ż}ý5úę×ަkW_¦»÷v¸Ś{BÔéX‘‹3!5ňŽ!–¤zx2ňŐ{¤– vÍĄS;Ćw-Ť ýaŢŠz†"ÂŃaŹ>ܢngŔ÷fÖÖ.ńĽý2]Ţ,ó=ę:%†jYť‹^»v=źżÚxśµbl©hĹ؆ČCăń&1ŠŹ[бźźEŮŢŢBÍ}îű1×nqĚe}uŤ>ňŃě”ňë=ËBQ<©ř¨1\›zTŻó}¨ç)Jłpâştü,E:^ŽŻ{˛®Nî[˛,ĚýÔyťýľZ­!÷űmO¶hóë('[ŔšőěĎmns›ŰÜć6·wÇ^zé%úţď˙~ú…_řşČ†k|ůĺ—ĺ3|“fťč˙Ź^^#Ć_ăŘä/ýĆoĐ˙ô›żFřŤŻ ŃZf=I&Šż3-ťŚÇÎAr Ňć‹÷ž)ŞŔ2ţ†Ż ·Á KŹUÔ ŕw¤Ŕ�‰@yÂĘń¦„ b‚ÇŤŇÍX•=ŤŔ �&Ö”čaŐ”Q­„XQŇŢÚă ¦ôűâ±ń”:>ůÉWÇŕń ÇE91Q€iz˝ .ę˝±ŕ¸Ruňáň4"‚'/hP#đ}™'ŞŘď PAppŐqşšÜs-X]4+í?Vcß=ć,rF‘0QTćF™ußíK¶ŹB'©ĽŹ‡ĽyŕWđd˛tÖÔ-ňsŹd)r.U*Ą0VÚ-¤"!shÉ)8gŻ7™T¬TŮHÜçQJůĄcUjTÎOĽĘd>rJ-hăĹ4#E˛‹*şL˛ńŞŻrĚAˇ‘¬(ŞÔŞů=(>3JôŃ{®$ [ʶ]ZŕmÚ´”ř`Ő´ŚZŢâ˝Ôöˇý‡Ç¨ŠíB~ÝNŰy^ţžX°^ŻÁ¶)€3îéćVeŚSĘŘ”&ÚÖř×a[ú-ܤżHźÝÓW–ZC˝‚dń'ţÄ÷Đâҵ»G|®Ú?اAŔís:é 5Ű-Z¬/R©VĘIŇWvÜ})s@Š6ŁŠ Zôť„>ßc|F_]$Ŕ Ź˛iWś|g/Ż_˝O8¶séoĆý¶·D=®%Čév–¨¤íDű)íĂô8:VŘvYĚ%?·ąťŮ$ć‰ŕj‰Ö.3Pz§Mm‚&uą}Ýă ^ŹŃrŁI­€Űt™}v»ô{wľÁĎŮúŔ ×čZ}@{‡ z}ďC´uĐĄýĂ7éöë]şńňďłGMî_–¸ş4 ”ń´Ă ňâ]][¤N{ź:G<N iÄÁ÷,î P–č…… Zú0{[Ë•ř_ i˙­ö{KÔ\‡_‘RĚŹY÷p—®]éŇ««Ľo“˛GMŠřůŻrźÄ×2$¬!q—I ’Ő—ÖëôđÎ-zíŃmW1s+@‰:»ß¤ŢŁw„Q÷QŤúÝ´w(îP" HĆAëCm}ŤčÚ'¨ľČAßJľđ;˙<|‹ĘÝ·h‡Ź×Ţy@;whëá=î;°r­J Ôđ§  D•i¨Â@Ktx‡îĽö€>z 0=×?üÝoĐ˙ß˙˙he骆<xpŹÚm>÷Á×.÷E‹týĘ%ľ„.}őő? 7ŞŤEú_~ç?RŹÇý~ô#ôÚ׿@_ůťO»Ű‡r.\¤ôÍ™ v &I?x,ůüŇă¦âĚ …ôˇHPä4rýYJ’’ˇäŇLů$AŕÖĐĆŔôCďSü‘đxGÔ“UľPKđďÎ/U}ĺ@ňŹ—ŃgfnEĽ¤˛öůˇ�ŃŚĆcžŽ_Ú7şîĐČyfśöDÇV)#±RŻĹßöştŔuÚćq¤?RŹÁ¦_=+ N’ĺşÖţËëÝçýâxHGť’¬ú—rő!»ô#ľŢŚŞ :ňnőr($›†ü™'¨\Ă,ydµ ÂQ_đCn#ń ĆĎ)ŃJł$i>pg@>© Pˇz3â:JE Až–H*‘,ä{Áeúę©u®$@˝ł›Ňńß.AźË4ę‹Ě=ČuBj0~¶řL‹˛RË ˛(p$Ô¶iˇÚĄ:ß”}}±ę‘˝'‡fŤc�4ŁIr:ü Ľ0>#•K­V÷ęk“ ‡őł'ĎĘK|aJ„„đµľqkČőĘő˝Ńj-ń@Ę4�ĺ¤%Ô“ŕË{Ć䙳„2Cř…/čf4AxÎΖNbÚÜDä@SőS:«ň˘Úý¤F˝|ŚŕžQöśµm öśOý8dçÜq=Ăú±�î™¶źQžYűOµNżô!H%`Uî\ ‹üěcŹ™G´ąąN[[mľvďăGčy«1i4ěËŘŢďcNŢö)kąSN‰齲LźQü›’Ëp )€d†-ż/´Zô™O­Ń;·îŇťűďpĆ>ŹM[Ű÷yţÖ đÝż·E’E>čÁIgµ¸°H+•+űôć[÷y¬ÓËŻ|ö÷îóŃ1?čňĄMö§Rş}ç!Ý»s@++ëě/µĹ?ŮĽ˛Bë ÚŰ?d7§JŁ,ŐŚO©Ž:»\¶ }ęŰ>F˙hBŻëuză­;\/7xî·Čý:{PYäú$qĚHR^ě—e§“ůŢ{󢳏č7]lÂýŇ“2ąúŔ¶ťÎ€^űć[üóüü ×ď ű«ůÜíH ,-µŽĹţěßÖśÖOŘ8IÓˇÉńÖŹôůŔ»Î«±¨ópĚŁ_Ĺ żcQö_^^¦_|Qţn6´ąq‰xJ’ÇŁl ć¤ç¶Ó>˘GěkÜĎ,b ¨Ę0QX:¶ż -M.�š¬łÉ¨LŤŚĚďĽÖ˝É×Ű\5ĽŢ°/‹Jşěcö±8#$ţVŞ7d>” ü†ëGť$B C7žcŽ"\8˘ăiÄŹąý—aú|Îmns›Ű{ŮŇôý3fýĐý}ĺ+_ˇ7Ţx.˘˝ňĘ+rŤł¬Ě±¬Źżô˛ĽţŻ˙§ż*¸:đđ˙ń ˙~űů˝}÷ÇBäĆŁÉ…ŕůËůű©ÎőžH˙^ł C°€3 ޵pÎ!»†w�WPžŔ N?&—.]b…®F¶“ŢUÎ ¦A#aň4›â´˙ŐżúWéďüťż“nz^ť¨˛FŃń¶©E`(‚‰JJP`ç.4fŮI üyLť˙Ď}îłů1O›Âęv·d‡ü8Ap ÖWń\|vu›ĘäfëÔ‚Jč°“?KšPđT?[�ZpVÍŞ�húÝ~šzE±^,8[¬ëiŰú°Ç’ňn†ÁÔúr_Ę‘¤9< …v§çD[SđYÉšBAÉBîš]ŕSĎiÁć±yvŚ`Ő!4e…ŢC;‰Ö »˝®i÷D`칊 )ÓҨ Ę42„m+j6%‰%Ičç"ąÂŢ;-ż=_1x8 (žÓÖŤ}®ěKËaËYÜO÷Őş×óiĐĐ^7V—Hżą¶F›—Ö9˛$Ršăă†y�ě¬ý̨ӣßůOżCßý=ßK—6ÖęÓÁhź#Dě”äŃno7ďO´-jÉ4¨bďH!0%°éůµOĹwşŤ{”§é?`Ú¦4í‡^Ö™MbIBÚţTYĹöűZ_š*Ķ +•^ĽOs›ŰYM[L•Ä/1›ŐéîVę’tD ¶B­!QwÓB9¦ŐĄ¶Ž¸(uiČcEŁ•ŇJý>t5 oĽĆcë!‚•Źř7;ęZ^> vСf˝GŐ…†€»˝Ą€76éclŃĂŰ[´·Ť´CXÁ@éÁě˝.µh•>·¸AťÔ Řç‰ď0Ľ@•Ą”®m.ĐĄE|ă…q›Ł!nQŁÄýhťźYľ./שZŞ;Â%˙·¶ľBׯ±_đ¶{‡Hmc ,3¸O`W'fČíµéá[_˘˝»_ˇá$uI’ş•›AćÇ®Kýp˙ťßŁ$\fŔ{“ŢřňWř@m ’-Ţv@]>NżÓŹ7 đI˝Ô“ ćĄ#jlŃ[o|‘v¸„dxLˇ¬˛ËhçÁ÷ŻSłU¦ľŢĂCG¸ísUŻ·€ŹčW~óżŁŰoߣ×_¦|đŁt÷öWčÖť·čk_ţ%ppvűŃíîtřóHH‰ÎÇS\M ¤şÔćFOÝPgßÉ’w°ÂľŽô«eIé"~ôIă1Ş5Qşea-ť–ĽňEŇ/Q;"‘K–~.ŚÄď�)©Äi#"Ô•jBě, ™oTĺD4-?î &sVY ő‹‰�0íńŢiwEŞi5Ü\.BŢ>ü·w¸ţ»}ľź5Aś ĐpxpH•Z“ţ«˙ýwń™*ć9r+ô%W7ßĂa dËH)®ü<!ŔÍźQ©+¬›4Š$˘#ŕB®b‰†B* ©$ĄJ8˘Z…?‡©Ô5•rÂűÄü[Â/öuĂL¨0érő\Ţ>”ÓĄqů•<X.ŞPs-Ś‘kŰ˙±:×ĂלĆ} b›DaLIÂňPÎtĚ)ĎoŇÁ„ňL€-ď˙ŰyÎĎpß1Ćísť¸”vÎź#/‚c�§Ş[Čó8˘ Ôn¸%µĎŃŃČɨs_sm%‘ö«>ÄűY5 PLć(:ăk—ş|µ¸g޵ŰĐ=˙"«~2ą»8vÁ1ÄÇFĂřÜľ žű•Ą…ă?ř®ivK{6÷čYN=÷3zľÎzÜÓďÝ““¬ž‡ť…XqŢăIФ}MŇSAW鿸żéö�6'ô`»K»»{ë<·Dµ*ű;e¨$2ÝďĘś¨Ó=’çˇ^mR«Ĺ*)ŤŰą§] öĎq$�ëŢ^‡–«}éĄëtíúîŢyČs·jÔč€Ç•ý˝G܇Žd,‡#H»Űű4,R· ÄĽĺĹ}ć3§v§G˝NWR#¤<ŢuŘęhum‰>đň ŢľEHʶwčŕ¨ËĂYŤŹÉńˇ>±´ŘŕqpH÷îŢ—íâd…öî Iă#ű }ôŁ=`_'MüJ rÄGç‡8˛ëŻŁc×g2îĽ &sĂ(8s H7tţĎáÁ=|’Ë&-..˛:_śPĺśÜog(ĆÜŠç°űČqL̉ü;Ň«Y"Ú-Ćf)đұD M©‰X,Ćl¨š\˝zUČř±TĽÜř;PÔ"jwťÖr«bÎŹř@ŁąčŐ*ŞăůYâ¤ĹXÜł°P2 ±&©Tmr|!v)ybîńPČĺ(J‰ýT¤t‰ĘüÎĎ”¤sĂ˝I >ĺb #ř×ŮĹx>ćöt MŞ´ćšŰÜć6·÷šaĹűÉ~ř‡~ň'ňÂĹćáóŕÚÎcđá>űŮĎĘ‹ţ/$"_üÖ×é?}á ôµwŢa˙>Ď3útÔqŞ]Ă!ŽKŚŚrEű‹d†`ç\c 2ÂÁ×wÜT8Ý"cÚIłu&�9%:¨s­R|ú›‚–PÇŔ9766č/˙ĺżL?÷s?7!µoW-+�kťz+Wgż) 0ÇÁJrK(�›îęo“¦)f'ßţíßîRŚz:Éě$NëHĄö­˘ŔÄŠÉŔßâďîŘîo ~"NmŹg•0,©BŐ-ô·i¦“ęÖÖ›Ö-p_śŔžT·ĹóŮď,x«ßŮz}(›�áˇZˇęZ÷ůŠwOv°×ˇŔŔ[ßiŠ}u{MÁá1R@^Ö`¬6ˇĺÖÉ­¦ĎŃ öYµÇQŐ¶‹ŻMďPl3z>lĐm´-·SP۶»Ť-[ń™˛÷¦x˝'mkË<m`Ѷ`‰Óęܶ{«raIĹgLżÓgÔ>ÚŽt;Í…Ţë¶…”¶ąy‰űČę±vyVÓ˛ŕ|î˙đľHźŗ̌©2(XR9cŕ6X¤ZłBĄĄJ~ź•$ˇélŽŽŽ`ĺsPVlpŹQÚ6ô7%OŘúÖŔMń¤„)­OKS™S­íß4H¦÷K÷Ós)ˇGŐot_^S±Mčö¶]Ďmnç±Ŕi•JH«ëMZÜéŇA/ ˇ¨3p;«ti±BűĂ!«@ȨoµÄASák)­,Ä´RŤô] rô¤‡T/Ą Ńí»»|ś6­_zýˇ‘‰.uîŇBă­Ż-Ň(k1f7b°ąGë-˘…jORipt2îSjâ‹]jďP–©ßjŇÎv‡Ę p×číoís żC}î/±O¶ł=˘ÝîU×úDý´ąśŃ5ęvŽDz»ÎÝ@ '._ČŔt@U:°#ĎI¤Ř Ż\a­D°?5 ¨OÄn…ž<§üŞ!ź ”ăî÷űÔ'.Cväd­‡G\‡\ľz@Ť¨Jť>�•¤%ˇ(pH:�™˛�á#::€”ó–#Pç!� 0@É)Nä^ŐjP“JĐďöViH{TÚôöŰoĐbŹîĐ׿ú;ÔtĄ=ÜOře5,�ĽËřrfę�Ő̧!ťÚHC ó?·ľţë®ý Z@ ď5®×ŞO/5đŁ$ŇĘ™(b a@.(ČÁQ­y‚ë> ¬O—yŐ źĘË+aIU¸®JrĽrä PŤ†9ą’ćUĹ*O^ô îeÂA@”‡‚1YŃőé  ł°¨e0`Źkń9*öóG<C¤&ĺ =9rިo•ňu&äýy9A$ő‹z×+sŔ‘dg!hq$ŕ>IYüŘŹděă'™” Ö0+ ´6juŮWľçcŁn٤$« $51€TšćűQŚŐ¤=ÚÇNÁBŇĂĹŇQg‚ŚKI„Źúąr„‚(껹ű÷lƢ"0d}0™›U«’ĘEÁĚŐ4ĺۤ/ť…<é\bL°ZZ�<âg©7¤IŹ'Ä>‡#o(ŕó~�“Ź›WěHąnBĚ‹5§»ť˙¨ź’#Ę>ž?§†4TxF,ô,ÇźźÁĄĹ&ą”/Ëśüüóş §Ň ˛gC€P{Ö~^^~ ¦~?ńÝ EyŻŕxç É=i�OúB,‚żĹŢËP—äÍŢypDŻÝÚŐR¨î’ďßH�`ôe‹ěoőü˘šn{Źű#~~—ŠĎ„źÔKćučѰJl›ý2#jôŇ‹/ĐčÚăGńĘ ŕ‘ş }Ź;—/]ŁË› >·h˙ Gö Ű˝•vŘW\jrź›ČśB‘’ĎŐí#˝É>ŐylŁQŹčĘĺBJ9€ÄŤÇÔŘß‚Ź×ghq©NüŔ ´»·O[;Ű|Ľ ź˙…÷yŰÚµš<Jű¦k[’ÜĚ™»>Ô ü.«8đţ7 %“ÚpĄHĄśQJF`Ţ ź¨ŐZ•ń/ Çi˛Njăž˄‡ňăcq:öë6¤·éđůuN®żáo”ͦހ*>#řŽą9Ú8Ţ%-|=ŹŃř¨|ĄŃ±[ŽXTBg5”µŮlŃÚú†K Âeë´ÄwŔóU©Öüśş<UŇŽE?äYĽ¶äZ¤‘ż4žń“ĎőÔ� –ź),4éĹCjó<+ ÚÔ-Wś’ˇ» I)WâyN•}ş5,€Ę.ÓÜ憶Ľ¸¸@s›ŰÜćö^6řđ%Ţ/öŇK/ŃŹţčŹŇ?ü‡˙.’ášpmObŔŠţ4^ě»äořŠoß˝M_yítëö-zČ1Ľíý=Úc|»Ą3ösJˇË„p‹.†]™ Ŕ6L6؉q7 äĽĂÁ___—w8÷:yĐí- ňDŤ�/ËĘŕa˙Ďţó˛ĘűßţŰ›—gˇ˘H°�˝•Řł«ů§M΀)N¤ÎŇm>ń‰OČĂ•egĎOlŹ«�µ€çŮô×kśR+ŕjSŔĆűĐî€Ęq ŁH*ŃípŻí9íyŠĺ>©NŠD‡iŕ"�oźEÂ(~.*©Ř}Ě'Ř^JĐşšüdtě<ÚĆi¨J.ßi(9!Ič.%¶S‚…şu®"{ťÓ‚Şú˝U±ízéŬ’…ţ¦çÁDZ öyšE´ĐöUT ĐĎJŢ)Ţ÷byaz-·d‡byíő©źĎâőٶkŹQäőłüĹŐ—E5{>üőwKţ˙–I~lQ°˙ĄKÜ—6ŽÝŁi×V4˝č;ńÚŰăv°MĄV™–Ć-Ş„U0íýµ)“P&ôńJţĐôxéqőÚp.%@(9Âöµzßő¸8†Şi{·Š'J’°Ä1›¦HI.řŃŔ^»ÖŹ%ďh]kYő;›6dns;—ąŹ ŞÖ©ßľÄÁşü>â >·í¤EµAťV78�9آö;ąGü|tC:Úç¶Y/Q´Ŕ c•Żű5şő6›‡äk$…ĆoŃ7ľu‹Űt@Ł~WzŐJ‹®Ýř~TJjtđőH°¤(yűµ¬‘ç1ą$AűQy‹î”r°6ˇ­‡‡Ô\\Łí…u*o^c_‹AţűŻÓćkĺ–ę*Ą *Ś)dôĆWźÖŻ®RłŐ˘‡·nsy÷©±°H(Ě” ‚îmŃáŃ1pÖ§?;H+˛ŇZ’ľ¦\ágťD”í2@2ý Žű‡T«` RłŐ§H<hŚźe’†ěë â u‡U"ÍĆP»±ş©( t�ĺá}Hľćź§Z/ËJŇlK:$řéÂi˝~,2Đ˝^*ä�ßĂ~"ä°ýˇç(‰‘ĘÄ3S!iچˇ|ě\úąLĆY@ú’±ŞĚĄŢň°Űˇ›â WďsYP™¬x¦€tÓ@÷sb€úi +QýoÎqăş ťŇĘäV˙N¤hôfWF’rČCÎF8.Ł'†@Í,ókyÉD‚9y›OA ÂI„iŕ‰‡üR[W94< «g±¶ă1(Â? áúđ‘ÁݸáŔi)MFy’DTC\}Ąrť\FľÇ)üŞŔ5^$ )EÔdbp3R©q ™Ą®Ţ"YĺČ ŤčP”ă’»$"ńŮJ¨©$̉·PĄ´č¸' L ][‰9�‚Ĺ(‰óëq+˛±2I{7żćŠe6ş«’ç�Ď2Í™®ňă(›¦¸/}«$%»–RŢbC%+»gtVđI„‚  )ńřý`Îw“O€ť„ŃÔU`V÷ˇÂ<ćÔsR´‚EęVů+‘ă¬mJ+k«‹'ťĐ+Y<ă¶÷l˙ž2 鞇\‘yY×÷‚ą™I–~v‹sÇó4QýIĽšfV„¨Í2ż.ŃŢŃľůÖ®¨ MT˛ĚŹĂăôWđ% 8Ńl4l´xîP—űëz}z:YIŕčbrW2—ľÄʲGŐűaěß­/ÓÂ"ǵş|ޞÄMÜ·ż}ë---ŇĆĆ:?{1µ;ě/őŘWČذ˛˛B1Źc%ëŤ*÷‡íôŁŰŁF­!~ޕ˗%Ý×>űŹnÜLŘo2PG€˝Ő•U~-s_ÝĄťť#ęô!x †Ą'ÉüĽ—13óęZ’áš»ď®Č5€ĚĹ�śĆ>¨mu:ŽÔ€<dgy$ís®óŇTçĂ^1cź¦-ĆřŠŘŞ*Dâá=öi_kŐšÄ.onr[Xŕ6Rói•ůUwäG§FVĘc+J¨ ɡ5*˘ě\s^W? '7ĺ%1’@†ÔçĎp#+•şK˝"”-,©Ď?“ń>zv&ľ¤řÔ.}ßřzSńˇ¨W­¶ř•Q3Ĺs;ŕąVŹç=ę´i‘ŰÂz)rľ'ďZöh“çTÇ!?Ds›ŰÜć6·ąÍíŮŘw~çwŠŇ÷żúW˙Š.‚ýŕţ \ÓÓ6ř‚zéy©É^öÍöhgo—v÷öh{wźţăĎ˙]»0 Á0 @CÇAڱJ¸™:yP’EŚU�ŤÁ©J¬Đ”,€¬wLBľ÷{żWVTýÚŻýÚÔňY°WMWL[ĐZÁD őĽşýYWYŔô<“”řĂô‘Ź|äŘD,8ĺ|Ó€öś QŠrĹ‚i†S©’OMĄłŚ&ęÎŞËb?ŰëWiŕůiÄ%XpTŹ9 $/–Ĺnw’ ĹkĐ߲)޶>¦‘ŠÇµíľú M8ĎĆŔ‹ O;éS äÁ™ŔžCŻŰ¦V±+Im˝ëĘŞ)Ëm 2 ř[%ŠiAťÜďą=ż•….+ěöv{_‹ä{_ŠuSl?Çîo–M!´·âýźFČ€iÝ+i˘¸JĹŞźhż>TŹ'Űđď»»{yđĺÚµk\śí´rMű Cߪ ŽŐć{¸˙h‡n6_¦V°ŔŕWŐoYÄ™$,QA%ËŮ{ĄrĄŞ¶˘_,ACż·ŞCV®Ő…´?Öc*ůÂŢSΫçĐăę1¬B‘í3´žíozOqNŚ+ŞŇ1·ąťÇtH†%:|°HG[;o0H[áţ»ÉÎlFąv‰7¨ĐQoźú‡‡ Üą ßL¨SkÓŁhH]ůËTŁV%ˇýv ŇĎdą}R ű8ćŘŢÖÖ6¶#j…e hBĺˇ^/Ó0CŔs@ÍË›4â`áöî- ąßć }ĆŕćŢťşź>˘KĂ”ĺ!í<říď<är¸'H¨Ë×°ľ°Dq§ComżMw2�Ú¬QĆű—cş×üZX—�pwg[R€P9ĄĺĘä yúżbꆒ:!îá9çkF0j)r}„ČHĺ•x`ZŔPf ~”©ŠŐxH{•„Ą€kÉŤwńČîQąJýúTČĂQ,ă'˛#ô‚F.’ţµ_ćr¤B®@ţój9ô 9T*Ô>Âvněk4@(+‰"IÄ€D­Ž•ţ¤öčőb<ń;�‹s;pH|ŞHWŔNZ$\™˘4đŕ‰¤@zĎu7ôąźą "źžxź ľň`C1%Ír2†«Í,ůO¸Č<™V0<\kšŚŰqÁä®Ŕç‘4'’źDËĺÇ@ř—J͙޻>‹}ŕ®SÉa6¬pÄVWŔÄ&wß1‚¨Đb5±ö3YĹŚUŔ"—î+«öA¸bŢ&äqd ţ\ĄüÇ6QŮBęÜî†Á˘a&çÁŠŐ*wU•�Ĺă&ŁT<Žű1âçc 2ôŇ~łD$ë“Q&m|0H¤Ť¨šE&>źKmŁDňŢ`ś.ëYÚéóW÷ ÚŘ<ď–\©$íśř";S~ď±Çů<��TęÜKUÁß8«śű»m:gÓöWôEť˙aę98ĺX§Ě]ŇŚ&8Ť.@8SyůżŐµEťjĚÚČ]Oa®ůXV8Çą9±ě|ç>+9ä<Ä”'1G.š¬ŠüŠN<ýcTÖ30!Ń ±Ŕź)8™_ńŘmĹÝź31/—/z6ÁB¶çźÚNí ęZĹŰZĽ×J~BQ]ŚŞBű LÄž ŮĎHeŐzCÚ/9a* ”ąŘÇ€˘–ÓyŔě§#é@rĹŘđđá6íîThey–—hq±ĹŰ÷x°Ş˛?·@řv€÷ŚZÍ:]»ÜÚÁQźÚť6µ»mţĚ {Ă­¦˛XĆíŞO˛ÍóĹ=č×V–hy‰_Ëë´°Çă ×a ő'îĂă¶k‡ÚGIęwYEtŃ,żßŽU"ń1sŕÄ>"ó$”DŇĽ:ő]G~ŕąn%śą'|IS—Ťč<Ç@çŤw]”†ńT縺xă­¤"á6 EŠz«IuŽąVEIˇ&ßŁŻźXčR.MŤ™Č;ą´TúH¦6ţô#‰#1©ZŘ´xBŕxiý_đbžE!€Ô›ň‚ßb3”ĽF<ź ş˛SµRwD \GµćÇKĘ_Yţ=Ł~,pŞfY ă˛÷˝… 8Ď<H%-Oj¨•ôéf_¸âAŹ6ůY¬±OľUáůĎ3|Żďńľ÷—VčŰŢ+,¸ąÍmns›ŰÜ.¨ýů?˙çĹźúw˙îßŃűŮţěźýłr-ĎËŕĂŐŘwą˛~‰6Wן?ţ]˛ Ą`µ ¨O`ŐŇ€hŞ *Ŕ…‰�¶Q �L'ŕ ć)čŻ/8ě˛á·ž—ČĂń5ôWţĘ_‘Ľ‚żř‹żÖ,°gNXěŮăú˝~vĺŘł¶}čCôꫯĘgÎJ €Y×®l·)t»IË|°â8ˇ@VąBW‚ç{@ZM]aÓ÷"hŻ�¶czŮśŮUţô¶ |‘hp’ŮŔĘôŕç¤M8‚Ů�¶NŚóÔ4^ić®;;&ŹhÉ=ÚnÝg7»L}°VžAaZú 7 ňgN•ě=ŐgĚ‚ŕĹk±÷fZyaJ°Đ†–Č4íU<?¬†Ä^Ď´{`Űc‘dˇĺž8ł¦$†˘ňŻH¸°íŁř®ubëYËdźŰŻŕšUňŰžO‰izßňra»Ä’{{űRßH!äúC:v Ó®]AtĎň~yŔŔŢV—V>ĽâS˛šá„L°ÂCŻ ÇŔ~č+ń-ł*\ŚSEůu(9NŰ‹’ďP|ƻ֏¶ -źÖ^šbÄ’ďŠý‘^ł‚<Zß éß¶ŻÓăZâŤĘ®b?Śes›Űy-đͲßMéťoéŃnËĺ%J�>8ŃÖĂ6Âă üá~Wtôű«­*»čS3É|xDş‡ŠŚ&‡ ÉýLŤ%C¨­”W(Ę)ćgşCCŞ5#Â÷¨ÍÁŔF«Nť·i¬ŚďńąlQżŇFĺU8:č˛?Öߡ­[_§…Ĺ2Z±ZëP ˝4äŃ+pÂł*}+ý¦ý› MŞ.®Đa÷Ń`-j- sß‘KYÉĐSŔ».Z÷şG’n«Ř|!Í nâŔwI’"…‚’ řC‚úáqţ9DpÇâßGBJËdű”ى€Ř$y“e ŹH‚ĺP�(Y*G®ľůüGť„†}.4÷}Ť*ű«ő2´! °# xt,Ä wÝe!´‚xRX*ä ¤?Aä6e˘d�€÷ZŁD¬QÎ@,H3+8BBŕ~„ÚC(ÁâĸîďbW”:פ“2“މZ“;–ŚWę$vJˇ#n`E{(Ú®TŞ\!ýc0'ˇ‚2 ‘&D}KV$ެ!)Qđ¤”Ńßr±bIçáR¤I3Mîq*)ť>Ó ŽÁÂĺH3!/@)¤ŠDýÄŔĺɆ˛ŠKVńIJ$§‰Ę™‘˘2—q4…ČXK ‹ę #j4ą<&†%Yý 0«QŻČ«T‚"Źc2¦Hc“óŢ^µ“aN°@SOÂr»čó3ŐȡKGÔ6¨÷·íšNŹÇgŢJ*Ýţó™‡Ě¶ ™ôŇßPńpD‹~N®!Â*áĺ�¤¶gřHľ-‰_ËqRNÜ=É*ůx­«xE˛źŹ­9ăßűD ˙śrk›�ĐĹďTô2óĚě9Ĺ“çzłŔ˙ś¨ëýő{ÔŻ9Í�@#í€#9…ŹU†óXvęOߊäYö´Éů3 d˘‰“Ń1žÍű#-H–ë9<Ť2ťĺö+YĎÍkcQ°4‡i˛A¸á0Tb„§zeăĎůń'JäUµ‡-D|śĂGT ű´´Ř0é‹ěqíXî”P¶" ó~VcPyůr“:´»ŰĄwhwŻ,JMĎřYÜŢęČX€Łz˙áżÄcNť6V]ĘÄĂ.Ô,ŘOŰĎhóŇŹămQĽh4+´¶±,©äŽŽzôpkʶviuy™Ë^Ązd÷ ííöŘ_ĘrŰ‘ť“Čx^˘ięďW› řůžÄÎřĚËřť8 f‹c\JSGf†i,@ű`Ě••ą6Ď+Ĺ–)· LçŘŞÖ»´´$ă¨.Ŕ/¤öĘ%QŢ(GłI†SĘocY^^?˙lĹâĎĹTŹŞ'÷‡ľ˙:Ť s˝Ţ˘†ÄDÉ"NbQ«Ůçč—ůâ:·pĂ=WŽdńl>Žţ{żŰ1«bś)ą®´÷ieÔŐ7Ěaq‡®đýţćŇ:%µzŘXŁn)¤gű)ҧŽ5拹Ímns›ŰÜžąýĹżřĺýýJ˛�ąBŻáÝ0UŮ˝Hva݇c Đ“¨VŔa+[' ¦é÷0uŢÁÎÖżń;& ^¨ăŹw•»ĂDűc’˘+Łu"óçţÜź“cü›óoäx6Ŕ¤D 6(ÔÇĘ·/ýŠ)G¦ôÖ¦ş'ŮÇ?ţqQݰe•�ô9¬**(hI%V…˘8!+*uO? Ä TN[ťŻ�«Íş˛Ü®$/–˙¤kS@\'˘znUH°u\é§(ŠŔyńÚ-ÁţŽ ~‘xbSŘŐőo‹r…ăőZ,Ń@�ř8ž�“'®ĹÔZź¶Ě�0âd؇iĐz¸‚‰¶m'ۤŤ 3č÷x~,XmÉ –ěcĎgď§­s=ż¶ K ±Çµ×;í>۲[+^Ď4Ĺ»źMaaI=¶MčwÚŮă)đoďµUĚŃ6cSéů•cëHÔćć&]ľĽIkë«€±uO”Í$VčŞRUĆĐöćĘp�¨-«Ź“‘+s+QyżL®Ý=Çčoő9ÓrÉ*îgl* U3˛÷QÉZźz}<a?UÂŔńńYÉ J6ŇľF믨śíµlYćŇŚ ŘOSipËŃt[Íi‹wŚe íű˙ąÍíLćözôźţÓŰÔíu(ŽČţ�Ű#ÚÚ>”>»\ ¨ÎÁşf 9”Ëüw™z %%’ßJ ”8Ŕ‹śÁ%Ŕ+MŞ•—Ŕ­8[.­ňĂĹ}|ÚˇAÚ–mű FŞřŹ3ŕg®ÝˇaŠíĺg Öć€|™’Ţ"Őâ:Ú˝Ëc÷÷Gń@ž˙!ËQťV7i%şL_|ë‹B|€ŇĆŃţ�Š—·sČď ú=VE|"Ť˙“Ťë…{ Žg×ĺ~v MŠ?ş” ç$ ř�>7tńyŕű \®ňDBˇ”荜R€¤pđ˛Ç f’"DG·G™¬ŕDažcdh6«ÔjTř~Ô¨QcP‚_QÜ!–…îXHe‚ł–«šÁ;DĄ�ď�xOdlÁĺŻđß\SkˇB9ŕŁM\ČŤ%’:#đşPű)ňÇŤ�É””:• $$”˙hE¸—ˇÔé`r{H…‚ZDýXxŔ¤¨Źdp©öZPB |\.ľ® cŠHŚ»Ő~ˇ@@"ČbYŕz8r©8xßją*@Ę 2Mś&rżˇ˛qŤ�$Gčs+F5U[ÉĎČ€B4Š8j÷NEâËr;Ń䎠L¬ňM‘‘#ďę.ŘbD )˙ňŘT‰…´ÓŹqUđŃJ˘ ŇlŚxl Á"bđM0Î&ăď"ŚAŽxń3’…¤ ńę%royz´ŘĄ>·¤ É’‘´ŃJ)Łj ęR׸4\ýáł'XX߸8g |›PÓźŃ?T«nŚÇ¸ ˘ĆuJBl řGN±üť Ý$âĎBľó?_c‚¦ľ«Ż‰{€J UĹđ˝dâ….MHFđóR°]Ő]B2`\źĹcťůĽ©#Y‹łîáňR“Îay$‹÷š=Éőś¶ďIż?SŇÄ3IßđËěłJťŮbźFi¬î8{[ô}!ÜůçËű0÷Ěw¶6÷Đ·'Y™î?8¤­7hcu®^ŮyŽAvź1ŃÂ*¦:˘üŚI•a™V×VheeYŇy<z´C·îÜáqe.mf’J e =™/ÚĽÍűxeI ŇjÖhuy…ÖV3ýTđzěŰŔąŔs—••E[ööiwç!mo˘f"Ç0îúžÉ‘KłŔKĽł,8¶8ç"X7đź%]ťťä“ú±~QŹç‰>京É<óFÄ&…üÂc Î#•pů¤Î7…D ű—PĄPő'%S@ŐˇR)O¨ć1˘ĐĄp‹ÂđIJŞŤŚÄßó˛©bÉu;m.×]»¶<‘†3Ż?%ÜN;ß •¨Ç‘´j%GŞUâ ŕŐďąX,ęLcóuJoOż ťĎe?ˇĄ~›>˛÷}摨ޕ¸,­aźv«uÚZXĄ¬Ę1”pŤî®Ąô¨¶Âó8öĺKˇź]°ĎÉĎuI8‰¨ŘÍăs›ŰÜć6·ą=A¤Ô÷[ş¤yžĘEËݶ ć˛\‚Ĺőë×eÂ�Ś ]=Ś@’#@śĐ|‚0l‡I‰Äŕôc{% ŕx:qaÂŕK ř]Źů§ţÔź’ Ë?űg˙,čô<¨cU›ËuŘqňđ^ľ6ĄS?Ť0+ŽĽNĚNł"đ;Íđýg?űYşyóć .˙Ě1ëO;“C­$>ę%_ Nn%ČAžňĂř™_ő$eÓxY`’Oµ˙^Š_J>čT@ŮĘőĂ”Üb¸yY2Ë®›Uu°$˝ľié.Ф�±‹ż©Ůô Ĺměqĺ7“˛‰6S$%äíX€ŹLVdr‰äť„aňö]á‰t(�®Ëĺ(÷1TŠd) ą•Î’űŃ-ĆBęjç`›ŢA_ErB1® ¸­/{ťv;€î¨.ngŰ‚’*¬r„ťŔďźžżšF·)*–(ŃĆŢ+{ĽbPŘőE˛Jńšl=ŮW1í„U\P‚…žG˙V‰PýMz 9ŕŹU¸|/AV{áĆuZ_[•ĽŞ5Ŕ”Ę%%‰Śô¨›{UĎŻ*86śí#B �×ăţP꫌ÓXdćŃÎŃŻ[µ ô»JRŔý·ę$áś8¶ŢCm#¶ÝáwG ş‚ÇTRžŢUĘĐ ‹Ö­” ˘eĐúĹuâ8J +’z”x˘ßalÂX‚kŔuŰ•Es›ŰąÍ’ţßŰŮ’ ¬¤ľ'˘,Ďx9 JÚRčü ôá|“óQô‚(7űŁÎ€BĎH‰ €C2˙lÄ ÖŕE`żÄ€ţ@Ƈ„9ĐŽjŽŇŞüĽĹŘ+Ř:ÔďŚhÄ�ý ,˘TĆ3*k)#ęw{ÔíńŘÖ¨;ęJ@– îRřăgű[rÍPń̨—ŔşđľŔĺi–ľaXáŽ>(ŕW‡ô'č*`¬Ř^)9¸J"Ĺś%^z]–ŐyĄ öC¸~KĽQĄß$°=ËJHşgŰĄŇŔŠŔݧ\s+‘z©>U'eěŇ60@…Ž€ţHŇHT°˝[q\*F2ţcńΉ2±Smp€F ©C\úź‚ZţgPv~”RŻ�Ňä(…ĎSĺ:á=řX1®MRj$ŽXÉż×ŮźXŕň6ĘŽĐ–¸Ť S D!ŔJÜAFŁ÷k¨#€ůž¨rŰí˘Ŕ/Ť^ č@©F%>Ńž¨pŔ<Jť´He9Ń%â˛AŃĺĆqëQYŇťŕ^d‰#˘ŕľ–śG#ăY}ĘjEÜĎ7ĆÝŁ!ŤŐÔpěR&K?ÍçŞWyěáz‰¬ďô¨‚…WÖ�ąÁů‘�çŕ;˛RNÄç’¶%Ű”„ĽĎX�™”¸LC€XˇČżA=»ĚÇę–0NőĺŮ«2 R)…r|¨S şmľW ˛gnĚďFBz*ůş=b ¬ÝIę¬|Á˘T†o9Ŕ<Ăşb;K ŃáŮ͆§5uE÷Ś=ŘÇ © ?ŠE­Ł×çľRŕ^şFĆ~ż†_”®Â˛řˇ�\ ĐŹDI!2ţLýEőct,×ŐŔ çĂ—(’l§]‹ýî<ä…iÇ)ÎÔ1ţžéXÔPě®ꦮΜĄž´uzşD{n%A n¬s'"é‹…Ë…çyVW—§4©Ů÷[Îw2ůÜę1€1«Tř´ŹýdötĎ—™vvŇďç1ź©Áú“‹rR»Źż&Ś(@ŤĚ3^�€ Ďv–j\ark[Ôb<€¨H0óŠO<ε žŃ˝‡;<רĐĘĘ ˝tă-//›ăŃ´+ÍĎwčđ*¬çëüě!}ǶiëŃ.żvčęŐË§Š¤ĎGëşzí2mn&tçö}ÚÚޡŁî"-/10_Ć<’q8c‘ŻwĐŃţA—j5K˘Nł´Đ ÁĄ>míˇ·ĺţ},Ň ô}ëë}‡'YAFŹqKźŘžě99ąŔyĽ#pÉŇ4Ĺf0cŰâˇábqĂĆĆíďč+_ů2űńłĹ‡ ťo‡$ü<¤k5To4yśjĘXĄsd!S”ÇŠM–LaßµNr˙Řߨiă\™4q)ę@JÂśů¶<v>zôHĆ҇ŇÎî®(W,qű­B]Şe,r‹ŢŠ‹dމđřg·?rjj¶,¶]ę7¤˛sĘj2ćG5ĘĘN±¬^k‰ď…ąÉ`СűN˝6‰Ż„B:ámĘđăŕwJX6±| RI…CQN˝‘řô„™»'Bú™—}­Vď>~đ*ń@ĆęZÜ‚Ä×6.Q§ĽŔĎ:{ĄüęFü¬đ=r¬o§\'Éđlă+BDŕĽßxŃŔŠą˝ěÝó7žĚбî÷[ůçv±lÖsô^o›ď×ç˙i ŔL~ćg~ć±ć#ĎÓp~ôG”ľó;ż“ŢM»¨­äÂ,4ĺ <b çA0ĽÔđťćÔmwŮɇY0V/�Đ)ŔŽc*;Ç´ .Ŕ4ř dUźţ韦·ß~Ű9öěX÷{�Ŕ* @M Ľ’’Ç'U§QÎ+n µŹOúÓy=ŮßŇÔäÇ6Ǭó[ ]ÉŽLᤨ•`SxX Ü’,°Ť`¦]ĺmÍ®0łe)ŕ´ ľ‚¬vŰY–Nȵ+ŐiJÝÚşÔý¬ň‚˝ ¤ëů§Ą€iťĺéJĘIVýæ ‘sű6®ő±ĽĽ"ωĘ?Z _¤Ęeĺţ$±B@ňú‚9Ś”—ʎŕ9¬xĎ´ŢT6ئ‘,1©xßÔ” /UEPU fŰ 9öĂsZĽwöřZ‡ú®VTë(’!l`ľŘ†fµ-5«"aË®ďZŽ"QÇ'Ф ü 0@ż/ôYÍëó$A»oŢŕ Ű&·“ąóĄ‰ű1.—ËAŻDÍĹŞĘ<zlűlăéxশë{Ü/^˝rÍ5¬ĚŽ:mékmÝ©â·v¬ęDÚ˙ë÷m]ŻŰ„‡öjSĹŕ>銛Z c�ö©¶W)r=¶¦ŽŇű¨eU Ω)Ą”СmLü†>YÉZ–÷şł6·÷˘ů>TBä �Ó8Ę/„„Ěyˇ'ě%’Z ”ÜÝCnŇH%1\H˛U +é‘R `?,»•Š ´đţd‹{’”„@Vö'žđÄĎ,VbŚá€|©=xdă¤Í82”Z÷4ćŔ#âi‡nÝyýXr' ÷űčKBé·”ŕÇN–\˘¤óP"šĹBtđ†'<¤îůŤ|`_ę„ \7H˘R@”Wú ÷3�[”đšyár76g`Ś$ J‘ â:B€yî˙Ze$$.ČŽ¸xęÇó(ŞJnÂ$�Ý|śÁČWŇ�RŔ#ţ»/׌JPh(8Ŕż ĺCA ź"ŁÄ‰@)ČUĹĂYJ>ăł\E·Ű—"X₺‘S­@�:ŤŮDą! ňKťwm0XťˇS’ŕcT1`—9p ĎČŃŽH°ď÷â·‘’kˇAâ¨.W0–®]±?hř;ĹŽ$<Ś%˛š2RúŇ!ČH‚TaIÚę©’·g(Żt»=źNDGhżí)|6řDG<V9›ôË‘ śË8Á×Ŕ«ą\ŘýľáˇçŔ‘jGf…ň¤qég¤Î0^`‹ä ˙]–ű2â±VuD!~lD‘$ŠçÚ~+†ąîę˘vr?ü€Ľ‘z0ŨP8‚O ä(Ô úQ·Ŕńˇ Q‘ě.‘KcÉ»Ňdô,§ĂEżz¬Ěg$ň—ú<y*şt(ۨ2Ŕ=ö©A†}ť«�Éýe0ź@(Ë@4SË‘h‚ śo§ţ¶,16c1|ŚŮJ¨„iŮźU°©äš_H}(Ę}5Éôw­OĘëHć™ÁŮË«{B¶°>Ľ3ňhvŹ_ËęĘŞWń™v=ÓÎźwćďy;Ë˝’öqrŚ@çX¶ż?żemçů›ŚŻÁłąăö9ťrâ Ň$ĆQś¦5=­N@^[`ŢŹ+,Úů°[ťż]z˛ćĘ:-¬^¦ý­Ű2áµ·D÷î?ŕąÓezĺćeŻĆ:­Lî»|n™:%¤ év1OqĘ+«-!KôşY~ý7vwdNň~€ë`H·ďÜĄ·Ţ|Ť78 ĽÉeě¸ţ% IµAŹvvRűh‰ç51Ő› čóŔ´yyCČŁ‡‡#jw†’zN.4ńô·<—9 ­ Ł?P˘ă_ćăŤUn‡źĂ:P˝Ń¨ó«)ăP«µŕüŁÄ`•%ţ„N]ËÄK|2?ë,˛ ř^Ůxˇ‡’U™űa\Üßß—E [[[´w°OŻ*Ą1ŘÍÍK2—G<Ĩ›Ď ŹĹŠ5a-1›÷q8ď'=Q!?2áuQÁËÇ dAҰÇ>SW|Ę?'Éţ5+ öÝ—¨\/Ë~‘_d‚9C–“ń—]Ú5¨ĹtčĺĂ-z±łËuKůAŻ­˛˙đ»›/Ňa}CTţ˛RMČ2žš8KÂĺ u¶6hN¨Ű»j6Ć9‹¤0+úĽmVÜ×ţ6kŰąÍíiŮIĎ´gĺ´ą™ĹŞŢM{/<ă聆đ /ĐĎţěĎŇoĽAďE{ĺ•Wč‡ř‡éĄ—^˘ą=»0 €_„\[[ËsŢë@ pţ±RÎż‚gpîáđ[@MAcĺńYI¶ Âa€u˙÷˙Űߤ_ţ•_ˇź˙ůź§ž\ŚbĘ2ýźtM†®źXĄá'÷Ź,śuĹŽ RÚɆ~ţČG>BŻľúę±í§ŮiŽ…ÖŻ‡98ŤÉ˘•&©€+M”Ńp×{éţvąĘ­,żHoö‡TLă ŕn¬Wp_·SÂA‘`aŐ Šu€cĂ4Ŷ«B0­ž4}Ă´Á˛čJz„r9Wč°$”˘S۸֭M_R,“*Ż`Bk·×lSJh9Q&ý¬ĺŐk×`sÇÔ'ěwŞ d=žž{ˇÂ§HjŔ3ŠcI^P˝@°ĺÔkŃmfĺ…Ö¶§×Ą„-Ż%Ůč1í=,¶ĹbĐΞSëȶËâö–hbŻĂ*RŘ{ÓzŐ`‡>콄ŮzäÇ˝rő2]»vUúBH—ëłQĽ&­OÔĄ®„±$]ĺi‰MvŇĺŔ‰A~O ćsűömj6[”ŮÇ/tűa5Ž^7únôËZ¶Ŕkč“ő;ulݨBQ‘,ë (ćŠZVśÓ*a`{GÓAa[śíDĄČőzTŠU·łíVeXő^âz0–¨l«*vhš%í_ç6·Ç5 ¦‚Đ�“¶y"SęIŠ~/€Ŕ<�ăá09i×o¤˛ VĆGPŕg;Ă“Hş‡ŕ;Wţó3šŽ„`‘Dę8ţVĆCń�=,‚a†Őó@t9@ËŰŰnµf2ŕýŃÇsůjĄ iąÇˇ*”öBöK<Q’(ď÷Üó{‚“ŤÇšĽČ P%ČĄÁ,ý‚¶©säĆc¸S �ÎF öô‹J!”—®Âˇ#Ţ3ţ őfNŐ¬^Ż1¨žŠrŽ+Ŕŕá@ÔAF:Qě=ɨ,Ŕą”%# ňi褜SU Č­ZüW“c!(q/uă*¶çöP‚LxÄAçű Ö·“ˇ#>ôąź‚Ü2» x®€ČAQÂK�ěG\n¨$®+˛®OVú ą2ŕ Ţŕş"ÍçÍżŹ¸ŤuŰCZ(WśT5Č*P^¨`Ľ‰ä^GÜ–P}ŕóCť˘ß>¤*c©ÖGŕď;H)—Š$8q'v©¤0T¦‘¦RKĄŚP»y”UÉCî“ŃWK‰zŹá^ÁB‡íXVl†’ć©5F ÔˇM É% ]`ßg$ę"|VY˝’'ďdNŐ ×6ňMmÄ×L}ŁR!lH=ń„´Ű8‘gU|`(™ î…ÄäTd\ţő×…KŹáv‹I*5hW1P«Áó9Ü+›TĚz^¦ç˛ăľSŕ¦č‹ş¸ŤzIę j2ę'9bc"Ä1ń˙„`¤«ąSO„r —fí‘ÂpLÖ¶$k%6ëńďŢ˝+c7€"(&ÂěĽë´ŕŘÓ6(•î”9ňľłÉůÍ“ŢW»DÁ'Őî[tćc»ůrC|N(¬\´�ÝYîýisđ'9ţřwz_šĆBžxü>¸>YÉCBčň©˘™rvˇ‘ĽâÇcíSäń[0M›÷áOQ+ęői8p„Ô8v*ő…UŞ4—ipp—ö¶ýĽ¤GoĽůÝą{ź^|á*˝ňŇU™çźrĄ~n‘9˛*źëĺĺţó°nwÜ÷‚ś·ż7 őŤ=ÚÚăßkô‰O|‚^~éđ9Űýş|ő=¸w[ĆEŘ\ÚŘŕ×2=ŘŢapý%;UZh-Óęăr‡?cŽäc‘ëY ^ĆJ§¤97cP�  Râ{±N—*’ŇĄVkHZM¤o„ńPŻtŽ\ś‹Ë! aQ-÷{ŤŠ“%R(ąPçůďěěČ6·nÝ? ߡ ÂźÂÜŻ5.óżc|ÄüßaĚÔŘť¨DBixČľJçĚă€ÄM˝>q d˙vŞfBŕß4ź+. „P • \®¸äŠp}ŐÂ&?M!čŘ?zěóĆÔÝşOCŮ›őEŠŞ%ˇ(Ëb˛NB ˝‡ô˝÷ľ‰dnâgÁ§FZĹŰÜţżşţ2 ŮGEl$Z¦ż;Â,|Ô0ĐđĽýĎíýaÓžU.ĆpßM+–+ËŽ«JOŰţ˘ůĄs{ŘyćŽĎŁŤÎÂ5ć66ţîßý»ô/˙忤_ř…_ ÷’}˙÷?ýĐýÍíŮÚ…!X ¬*ŤŢŢŢÎC @š®pÇ6�Ƭ ·Ô­¸ŮÝŢŕ ěĺÎQ[:Žş0€íí슰´ŘÖĘ2Â@ÚČW0ó1ďÝ»'ň|üŹ}ń‹_¤wxňA^rŮĂŤnđFP>đ9´Í‚­I;đ¬Óz fZŕ÷Ę•+B¬P%�´ű @ŕŹuZpµ�cŇĄĘTKŢđ4'&ŽlŻĆź6 ś,›Ë© ôÜń•Ł©Bđ·¦P‰~[– aż·¦ß)xŻźU9Ŕ*ˇXE-ź˝V›˛DY†ViĂK€/’ě˝µŠ ®ŰcŰűoÁbU.(’)”Ł„$ßőŢŮ}Pź°˘2‚‚ďz˙aJrŃ:°©0¦‘!,)B'őjú›¦‡P•�K6Á3«’—şŹ=ż^«­wk–Pˇź-ÉDëQëKŰĽămŰŃϰ÷§xŻ´~”lcź K¤Ń˛č*N%lŐ0Š„ ­—®]ĄŠŐŐÉ·jŰV±kł)3´ěd)¦Î°×f۶wé—q ÷Rä¶9č�D5]‰Š~C°FŐ(°˝¦pŇ}m˝âĽŕŘgBÓ…hůPě§éŁ`ř]ď#ʆ“2áŘęzL%Őá8ÚpmJbRňľÓçOÉZoFář Úą–đń^Ëó>·÷ŻésEŽ\�Ő�Q¬ źJކrG$ĎĽ*D8rc¸Ô ]JSBJ^h¨)H·‰{ €­;źďKř1L) ÁŠ·Q&äŠ ]äČAŔcyś*†LĺR- ©/ \ĐÁ‘Ńś ! _<VúŃţ#ɦ݄ =Đ‘+O`?ą†Ä‘)Đďy %÷K$Şçód r+ąĄ]t–¦ŢÉ ś6„H|“‘.DŞľ'¤µă ¤@ç%SFĂLV:�$ɤ/ âT®ť{ä vj#�îCŻ gt«ń|:/˘áU ôŢ8ąjź,…"m¸ËHż•¨&ţ\ ŔiĘďu>ÎQÚ§n»T ©4Ů6ň‡Á$ôuŚŢ«* x $ �XÇ— âÜ˙sý˝'źđĄJ]”,âÄ‘€OáÚb¤=Đ}О‘¬HLąKBµd�҉K¦rĂę[aɵˇ¨"Ş�ÚłŔŐ…(Hx…¦:ƵŇä´HŰ…‚ ›aE9®2#O É)]$~[. Ě"m%Läz2¤¤@Ę »gR_"C Rę7^ežT@š„CF®0oL=Č—O=ŃU|…H&vx6ĺřBąq*"Pj�ů#Őí“‘<�đŇŘĄÂďń}ńĐ•Eý–á`HĎŇPoK­j†}†a:‡S"ő¤ż­«v<Y5 )ôR•ŞÜ–”ě8äJÄ8«¤Č0ô~wäs+]7ęüĎěyV}}«š¦>Öť;wħ�ŃBýRÝOJçŻëŮ­2šĘ\±ÝĘgE©3ŹX?ŕ?ëűÔÜ?ż€ÂĘy‚Ň�A˛Ř?čśi{9ęcâOď‡Ô"O+pyü8ŹSif 7,{rőŠ“búűq˘UÔqßËĘtżçtK©Ví(ŇtWţč¤Ď©ĆLĐ?©"ź<7 ž–*˛ŔójmEV˙—«GŠK^ˇA˙ĽůEÚŰŰÍŐÁľńÚ›tëÎzůćUşůâUIąpÖŔĽ›WóĽ䊬$·ÄÇËW–řÜeşs{‹=ÚçľmŤc] ÄWčňµ+´ŘjŇĂí®¤!Ă@Űëöč÷ĺ záĘuşľ™ŇÖŁmzý[oRűÁöĄM×O űâ[eŇ÷îsęćg’âHş«y�ßîŇl  d±ş˛ĆăOMąÜ}ö ŞÁdŠ]»˙@B“żYAÔ.>ĐEř1T¤úĐX+ćĹ—1îá…ů7ćÁxáłĚł«.­Ž›:~O¤jFŢÎ:NăqŞe{-ă†#OŠźž:’…¸ëŁŞ¤÷@}ň˝‹/Š˙9˛v¦ÔڍQkRÚbżiŔ±Ă ·î±/~Ź>Ó? Óޤ!‰áç ™7¤_Ţř�í6×(¨€ôÂľ§¦ź“r„˘řeA”ŚVžaÉĎH‡čÚ>Ímnď[+úąG„c‚ĎŰ&HfÂ…–Ďţ=’çö<mV;Tłř]Ńf)?=ŤňŘóźöŰü™!!2|îsźŁýŻ˙µ`Ŕď¦}ć3źˇř«V<'»0 zZŔNýO0]Zt9ý09�„wn˝%+§/]ş$’)ëëkâh7šU™° č äÂ":aqV}ílm“•îGŕyÂżúŐŻŇÜ„‘ÂËË‹ô=ßóÝt÷î=ţíkt÷Ţ=ß ů m@…É|&ÁYb’›Đ9ŰÁ™ć›¶Ăg˝ľË—/ç“™â6űÓŮ­ŘŃ*člÁâ˘#ĺŔs&€T Tę˝´ä \»Édś÷ĹŽ\'p ¨kŞżm Ô–ÓšřőwĽ˙WöţŘ’4; Źű]ŢľĹ{±o‘[UVVÖ˘ZŃR’JJF !Đô t#ÆŤ™æŤˇÇcčalş1CŘH€±I# ©AB%ˇÖRŞE*UUîŰ‹xűz÷ţżó˙źűń˙ú}ďĹš‘‘÷dŢxwq˙ýß˙ł|çF™°ýhűŐ*W ć`{řŮ*n™‚ �ë1gű…ĎG•!‘űb=츨‚ÜÍ% �ń9ěkßmÚ Â4ä[ S°MÖ8Ť< ř™ő°ý,j8Żś)đHÁ~e¶…c`#QX  ďF,Ă–gçI D¨‹^Áëůśxě-đÂâ˛my6Íďµ Ö“Q$Ľg®ČńĄ%ąřÔygĐ_ňIđ,Ż` 2Bą?Ľˇ0î«ŘŹA_¸Š:„khpăćM·×Ť{72dDa׎•ęAp9°ŢPŐZp-Ç×đ:;¶L˙Bąvݢž¶L>źý%)ęË4R7{ÚŽßqľ� ö9÷<iFĚęî—*F°^Sť× UrçH®i(˛ľ7RűË˝÷ü.”űâ¤�:¨?÷ Ńž;“%Ůw߸óŢv’‘üşLőy„Ž&ş?ő„^˘đŔ!ď窄ԨąăÁ:=M17Ůtű+Ż“ĘNuîăq2ŕŮď§U¶§DŤŐý4Dó@9I(#Ľ€QěŤ�ŚŢÔŐßUIť/L5§dZ/5#j…–ďA%šf¤ëű˛ 0~kú=Ń*lČÚ0¬‡TžODŠ€ šc©Ű“Ń#ľßá%‡{‘ ` ýĐL[ŞÔí÷»A±ěَikű$xÖŠ*yĂĐ8Łt[S·ä)xÚim3Ňslîďj”q÷B¬6xI6O0Övă°Ł€dĆܵăYCç†drꞎ¶ 5GŁ%í‘*<”sđ€@4˝�Ňo "4ô÷&Ŕ(î7D‘đÉnrď¬)/}‘ď[#ł8žąŐÔ Éž3¸=YAż®.]äŔN“`¸Ét:hôŠ^‰Üí)xŕ™ź4S?Ź>Đ‚-¤b"JÝľ%:šňEŇ:~}i* ¬ DqcÓLs}ů<z±^ßď—sץM€dtĹş66Ý3şĹM٤€/Ë<€"ëyĹ˝„~%X:A”šľ˘^ ţčűč ¤Ę{FŁY�äŃ(בňŹÝîC=Šç,%çÁP6ŇëWĺ[ұ¦äĎ k€ź×Td8ĂÁ»€§ÁůŠß3r°rżŽĐ‡i•7"BţŤňyÔç:Ŕőx& Lţ%Hňá+bňk¤0¶IŃ+rćęARž4óŃŚ†ÉRĆfvZV×¶FĽŽ  ŠÉź,Ĺć°~x”Ďóëź|D^�#¬ňÉq¬{ď•~ˇŰÍôl@d!Ę0” ÇťÔrűÎnßó<[Ň 2ążWV–ŻĘŤ×ż,›[›ş‡cýíŻľ"o\ą)—.ž’ógOéYx$ vÎT=­7ΡµŐM÷ś)ąp~Éń3"ŻżzĹťˇÎľxĚÉ1[qk|rVy)Q° “Ď·÷/łçţ.K{¬!ÇfĺŰ?ő ąvýş¬nm¸^\’Öřśô»ŰR >ĄoöX­„<Ęáś×Ť?‡ĺŁv¶weeuUŽťq|ŕXĐĄe*ĘIHdäŁAń…;¬ P(€>î\ÜŽt{KVWVő<¬Š87ˇ @ä śkpŘşpá‚ʵ�QH™–ş«Býnłg }źý‹)e-�CŻ©éđŇFŞS"UXSžzŕŻgőŔó;ůŃűŔ‡ĺt‚~Ôp]Çk‚żÚqçz.»›riý†ĽgűŽě´›>­ +ď·ĆNČ+Héç¸?wBĆf§Ř«z¤±süž_8~)Ř ă®41lÂ,ó©Ů�ŠÎc@ÖFôxSťQ5vYľýqÓiĹufĐŃ5Ŷ%ýęČl@Öó(ęA[‘uz­‘A áÇ~ěÇä·~ë·äsźűś|ůË_–GIpŞ˙Ěg>#üŕeDŹŽž€Ń˙ ž�Rll¬+ĘúΝ۪XĂ Š5ŕ#÷äĆĆš|ń‹_( ÜŘ, @@P '2„‡ąąT¶xb|RźŮŚż×®]—›7oC§ ‰‚F×sçÎhţ›7oÉË/ż"ŻĽňކwVŃ2Sw:ý«ą›÷˝�žrËC<‹#î_Řô ü ĽŁAuFTţµB”öTĆĹ×ĆD…( đ6}†5(ÇFeş¶4ĘZĎ5{/żă{ÖÇF©°é ¨đd]ěóůµÂFZ¨‹baAüÝF/°Q,(Ä'ř›ígk ¶‡"Ëâw¶~Ś–PÇć7F(ŕ8Řz± Yđ>[_öKMd•Av,,p„ gŰ‹bfůÍ+{(Ű1°L{̬c˝ŰĂŢ‚xčsśXn<6ń÷öwŰŽ8zŻ!č‚é1âT41ĹŠúa±Âx˝đy¶Ž‘ZŘ~BČeäÇŢuúÔI9yň¸*đř,R,ô¨Á á:ÓÄöcŽ`çšfcŔčQ˘Őë4ŘS±3 ĘÝÚÜ’éS3z˝¦rÚńaFůÔma' vŔ_Fą°}Ŕ”%ěZˇˇĹC$ünÁ+ ô#Ő°Ź}Řń^en㷍‘Ć"˝€ô¬Qvđë@Ć/zJłĎQź=˘Ý+ĹóGçr0$¦Á{>ĎyÖ‰*™×mDŘ/R†ŔČťh†T˛"ŞC?ó)CAÄŁ~PVŁDîój^ˇ÷ ˘*…Ĺ›wĽ§ŞG_hT59ĹăćNKÓ)LŤ7tĎh;ĄpîŚ)ŹzfaÍÚ¶–<Ű>a?h«=€")Ó™hj¶„űYě�Ia›„b[Ł€„ö÷4âF˘ŠY„ýÍR(iS ›­‘¸g(áú±§ŘÚTmŘŇÔ(ű®ÔK5ëéµ q!đ•đŐĐí†-ˇéúÜóUĘŰ6Úę‰×qĺôĹHÔŘź)ÖB"´Iń®R4҆tŽ—sűÓvw_Vw·ev|BóE|” é¸L·˝gâ–«űNŻ#ÓYŰU&µÍť �QÔ˝™úô H÷áÚ0íř딞 ¬,ăëŕ”ý‰ "g;˘c4%ŚŤ/Ř{Ć|ů®¬ÖŹB„t#ýn_/f‚ŘL-1ŃÓ1Đt,Á ú ˘ĆX3Dß¶~„@‰,Ěń´č1řßÄĐék4\Ď€äŁ�ę5C ŚqÓ˙8:zą 4I�űlËž4„ÓÔşű´Îx@HÓó¬ŃN±®z>2Iž)°�´đ@ĎŐËşţ™8łÔ(îß+( z{żŕĎ-ďń°| <_iĬt†§^óë6ÓĺÉxţUň“ŰÔx9Ţńü†ăöövÝ™=%}׏]ßé…WŻ‚§’*€ËMÖHJ~‘©CžŚ` ňTŹ‚4MNP~n^¶oŃ?}a$ž»!Ëo2‚Ó(ÄăŐLb=RčĚNϸďoÉ“FŹŹŇ±ÝÝ=oOý‹u&Ő?h^ŘĘSußQž€ëąëřóĽ]_p¦)Ľ66×e{kWďÇ�ĚwŔ^ĐnC¶h§‘Â.dŮľ×!Ş3L-,ť•‰éEÇ3tdíÎUŮZ˝&[N§…ş~ů·_–7®Ü’§.śăK‹2>ćź×h”Ń{JąFź q!¤—Z[CDŠTúÇŹÍËŠ3ľ_»ľ,űݦ,ž8%�Ş"ťX3‘ÓgŐ)諿ű˛¬n&ŇŢ—WĆXQ Çĺé ®?rÇÓuőLsüÔ˝:ń|€qáĺ/]ą7â~7÷äćŢ{™óOF#ŻŠHO«««ňÖ•rîěsú}Ż_M˝›Ńĺ‰ŕň ÇŢĚ‘ˇůę„9 yŕěÇHŮqňäI9~ü¸žk8Çě‹ŕAę›bť_EŻ’”ű~ÝYŞu|’®ٱĺđ°ňm 2ö~?đĚYĹÇö ¨äÚż0kiO5áĐŕřÜÉŢ®çá9ą·"Yą"{Ž?Đälníći_®,ś”/ż({í źŢňăY·ö�PŮY˝- @ľíI·ć¦”Ď•w�´pĎvĽmQžRż»áűFâĺĄ$đŔŁ!#z§PŹ3LÇKöýŰIV˙jéq«çž|ŞłŐQ÷ÍHÖń|}zbëLĚĎtę?ÁČÖŁËő€^_˙ú×ĺ~áäóź˙|Ńš [|ó7ł|ęSź’çž{NFôčé‰X T´Ď;čñżüŤŻË•+oČňň˛x C*qx*ţŤ ŢxA1† ©A¬qŹ)Dđpźa4»yó¦>‹›žćwÎJĎÍNś8î–%ůčGżI^{íuW׫rő­·dscSQä4đwP†«r�Ó Ł%˘U RĐ匰P —”ĽZ˘TČ(ŰŽ˛aS¸bÓk^Ăă›ô ĽÖ`-"fȬŮó ŕř±]|.^Le`#?ĐG\(ć‘�iżT -10aH#6ćÇźI¶6q¬đ±ýe"Ś,Áv2<ĹÖČoŁhXŻí Bŕ{ö‰'[ö˝5P×Íø^1Á Ř^éĐ )'Ş}jSDŘ9`AuLľebŤťÇ6Rß·BJ  ‰ç°S«ŔăoĽŔr9ÖÖřoA,řŚůŽT ,ĚĎÉŇұ˘oě=¬ëO4*SXý4NŮ—Q7FWŘqd]ÉÁŁ/<ĘŔ]§ś°€ŠŤ­MUřXŕ”¦vB~ÔöÇÎo|¶uDžé:@(Ć•$)ŁĐp~ă:ÖŹóL­Ý iĆ2”LÂý‡©vŠÔS!Ť ař«@’&„ *z±ŮvŤhD’ŕ5ĺu÷öĽ ë:‡.Đ)7ťq üťn*«[]5 C)Ć”â‰ć.†‘¸á ÷!µHC×OîCó¦^1š}5ü©ç|?X|4 © ¬Ž;Iśň´#šŞ¤‘¶T0=íŚ;îĚwŠ{Ť ‘H´E™OŹP|_ëHĂ®grďÍ— M �–Źö噄¨IÖá ńP’öżßJ}ÚŠ°ź …ĽŰŇĚ@ő1>ë„4ť®Ŕ‹nÖóĘčFZń×H -y¶qŁ>3QF€)�Î(¨ýŠüÓIîB#łO‚Ý=•Pĺý�žHťr¸­‘ş5áę3ëŚAÓ-·7ąg›”Igüj´\ťŰ ¶“–ĚŠŰgÁşvÝąě:°ă”˙í$(‹†Č| <¨ĺÎŞś|ęĐô©"´˝Ŕď¸}༟Čxx€$Ść†nw?ůh+]ýˇßó�–>ĽĂÜe:U˘§ţ~Ě[€ĆZî,qŠp��d ě1ycE_=Iu‡2µ/sźBES„dŢ#×۵=�)/˘ŤxCB ÷ű©z5űj6`ŃA–¤Ž €?‚]ť‹ČKßLZ Ţ��fż“č÷míkH»™řŢąŹÎ’ZP‚Ö3SđŔP”ÔóOŠ3=÷Ńh+Čđ'÷•ŕ^Čó Ă~“ őÍ«iôȧęgcŚń<nŁđÂő€Ńmg�Ýt}0!{3É?€ á‹-cy>AÍň‹ŞâĚg^z-&Žş˙ž(ńóŃ÷M•í;,±ćę»SĆ4ţ:·sďEĚhf”$%đĂ“Oĺ9sčsŢ)4Ě pĐďGˇŁ”ń žóXŃ#nB…Ź´pk[AY$}nDĺč�ET¨©ńq‡¶(‡G ł{Nbmý%U �ßşë5âž{ÍĚÎI÷Ü3˛¶ü¦ÜąyE¶6VTŢůŇW6Ü•/ËŇâĽ3Ěź’ăK 2=5áä“fEŕ°,ě!”‘!ŰěÉîNÇť3M™š—Ůą9yú¤ÜĽu[ö÷öezfI óHź˛ą±#łgg套Ţ+wÖVdůĆŠëłL¶wÜk×ńŤm™qű`’őĽÁ;ń`0O•›ęž¤=©ň§G§ű›÷ů=^äĎ9¦ÍÜ‘•;rölOžyŘ{ł¬Îk)ewoŰÉŹ{*—R†…^óßá=ř#žK/^,έ™É©BßéÁ@í¨1‚T>ćţšmYý†¦7íyy Ů`4¦[»¨ëŽX‡˛‡Ô~nŚ›ýžśŢY×h~�6§Ž§:łµ,'··dslBz-h]™>.żµxN6&&ď>棂%>ůÝxF,Çß7¦ZŇššÔľďěí8٤#]�.v÷•·ŞÝš1đî­FĹÖrśľş^6Ňyź<\PëFô0Čęíľëř¦c¶żŤhDo7QÍÓĂl$km$Ó0}-ęhuí#$�đú‘ůůµ_ű5ůÂľ _ůĘW4«ÂýĐüüĽĽřâ‹ňˇ}HÓ’<*GŽŐÓÓűׯ]Ő<•ŰŰ›±9)ý¦S"ż“dĐHmđŘ;ź` NŔć¶şŠEË›oľY[—: Ŕŕ†$ ÇHź<qR¦ś `Ľ°Č66·TřQ/i§ O Űč=Ňh0„‚BĚ#âlHÂgŰöŮöĆ×ÄŚ7&Hí=Ăi,Ęç%…1‘{UxŤM§˝ăg×ŐÓŢoŤŇ4ćóů,ß bö=?+(˛ v|ăş×•mÇÄΓ¸íq»íł9'cŹB‚{l„Ž źG¨°őĄrŘFŞŕ{ ذuł†f 4‰…m ! ;¬c¦!ţťĎ‡ŃmfIö/=6’M#bź]QÄ'Iíłc`Gë)+ ęÚhŻŤÁ|Ď—çbţfĽ/( 0סđšśÉ)¦s~nV÷(ňŞćD˙ŢqŘo(ĐVĂ#ź/Ľ\Ő šÇ@‘ę:‰A#üŽ{/?[ď� 4şŰÇ x@xŰm(BbF¶ŕ`żŁ'2Ćžó߆&ăőŚĎŚŘýÔ¦"1ÚîáZg}Q6ć—]wdnů=ęD…”ťŁx.ë‰k |$ŕ‚‘‘¬§«ÝcÔ`=ę<rF4˘»ˇ; ąŔď'Fů})\źř űŞŔĚô˝ŹxÖ9ŁÔŔłŔ‚*éšÎś·Ľ±9á>$A‰ď#b€şyBŰ”áZwÍî^¦LëtâÖĽłâOŽ75 Fşß•=D„ 5^aąŻYÁ¦OT!®˝ŕ]ęŰ•kĘ…~Î*đü Ţtí˘LHXďÁ śé.�Či%qŕSKh‹Wk¤°�žĹ˙ÚçJ<�8ľíŤ¦¨w›‚U°_·Ľ¬Ď<‚´#l›7 öwÚ‡Z`‘4<ĎzĆx‡FćeřfŤĎjěČÇńó$_2MŇÖ}× Ú•ÔXę†Éno_6wveÚd&°?ćľľÚOâyY�ňĽ)]f»~V€Š»j  :Wv'ó)-Ŕg;ŕtĎ!‡OŐŇqĽ@Ă+«©Ě‡s F€c49”ë'˘ßÜôíl¤\‘çüSĺ5˝‚ŢĽˇ oS5@ĺÁj€±őg·źIâ7śO ,J´Hô\ő ŕžĺ�Y˘/ö€×Č|ş@]0<e©‚"ŕµÚë»s» ă]Ă­…–LO¶5˝Š¦řAĘ w]·CăB¦Ć>D¦IQ)”‰y‘űńóž“}_Ďś€ �í‰ D?xp¤ł"Ď<çlÄ;˙×ČvĆ\ée%y1Ďi aiÚŤµ«éVöôh+äű,‘*ĎnyY[ç?$Đüř*5cOeµř9Ľg¤¨O^�'ŞýT©gů­HµŔďŮü&ÓőÝTŰ®şßŞĎä\É”o¤wüpĺtdŢ� Žçaô¸ńCw«„?¸o˛óçŃQy†‹9§îeĚóâo‰9Ęrs*ćÎĺ%č2÷ű*Ň@őB´›źîöđĹc3ęýżłÝńéˇŕŽŔĆÚűŠEZsAŘŰä�ŇF?ó¬Ě;#ëw®ĘęňuŮX»#§żşukU;}Ńśś9µ$§OźŮ™Ii¤¶cę6żĆ»ťž¬w·eckÇÉ1ŕĂšręܢ¬ln{¨cšV×6eůöşSřN;ytZΞ>ădˇ}ŮÚŢp÷íĘv§éÎş}w^7Ë.¤Ü-˝Đw˘XČôn0~ĺĹąëMńă"ćΙ[Ë7ÜëF2óŃyű˛©şĂí"Ę$öb�q5z˘;ŕfggôĚY<vL^|á}n.¬89|Bucăc…C@ú�)”ŻŞęKD¤ÖÉ|¨¬[tÎ ťä]đ58ńéH¶]˝1ć ş°¤©äŔŻiÔ¶$•Ę^dç…űzwŻ«o<ؤZ]©'­nGNě­ÉXoOÇÉΆĽtë†\™š–ÝÖ¸cą\;[ň;§NË›3‹Ňi75Í^ŢôşĎ;5̉Üź‚+ óW”§ÂŮ7‰ôt®O{ýi•ď÷;{Ňqýżçô*MöŽ+0ąŢ ÝŇrŮ˙Ę™úÍű‘®`DoĹzÖa×<<\̇Ŷ›aşčŤčaRÝścúéř:«cd×­}¦MUc´f&č>ůÉOę tőęUyőŐWĺĘ•+rýúuMËľŤQĂAĐŔn›/2Ŕ‘Îţ—/_–sçÎÉzb�ßxů릒8ëIT(ŕr0nÓJůŢix‡¸5®ÖÇö!¤Â#�Â<›píÔä´ŚµÇeáX·bčĆBř\˛AuFÍ(VÇßĹeĺ’ LÉëA¤Řxㆥ"Ó”c+ţÚ ńŘ$^/^ÜÄůŢŤÉŮt ÖălXÔő#îˇ!XÔ[_;Ź,‚Śm‹ë‡¶}fďĂ‹‚iś:T·”uDÝ9Wíśµő­[8ČŮońXSĐ&€Ĺ‚0XvÜç¬c(Á’­ŹŘëń—ŃJŘÇxoSÓ°˝ÔŤď€% 8^¶^ĽŽßÇŕ‘:€EÝXňZŤ"[ëFŤ:Ţ;Šč)&Ścýxđ>™ŞD‘)Űj ­JŢ4 Â};;ÝŇ“¤ŇΦáÂ7$ÚţőíÍ5ęPˇîáíţfšŠ`_•*L˝bÓ?ČEŁźÉčś{'^Gä/^dţř™×Ňb÷~ť؇Ěß ‘zxV \Ľ÷©Ş<¸ 8ő4 De“ő˛{Ęĺ1«#zäťěË(ŞşMŤ1N­ö‰šâa‹Ý„˛Űóŕµ˝ö|0il 0Żm5পěb}ń JtďéŻFę´zöćAˇ^şpEěú•çzýD6·{ ^™ĆY/25攕Ͷl;ăčŽă«ö‘BóPk÷Ţ˝kÔłşšv#ńFŹŚ‘C{ ęş·7´ú;#^{R¤äĺ�c=ÜK3˝'ëâŰÔ`8`őňÎŔ"7í÷©â|T di†ňŐ=ŁIŻR\ëÁ uČď$Ü g�'N)ÜwăÓÉ:B E3oůy`ˇŹ«ž‡T—<Çí8#ţŽűr<qő€14€Ląujxm¶7Ô&xâ5d‰?·Ú8ď{eŞ;ŚvĂç p}ëçP+D‚Č\z©hßxL "v¸6ĺč ߯Ý`ôBúá™Ě("ąWt§‰ŹęŕőŢ©¦đ)ADű‘04R–čśĎ<pĂýÝAxč<૦}QË€“J#X�D€C)ů„Ad u�n„ö$śŰyH‚sBá/Î`ç{ßńüŚb DoAe4jÚ ±M‘%}ý‹=ănŽĚLµenz2�˙|Ş+üc`şßéBÜĽÓđë„á—±.e”Ź•žd\ńţoŕý=¨$+ÖćĂ8ЬŚ0Ś@bäŰ$p9䬻Ź:“ i­¬2é !9"Ć( ‰e—Ď&_Ĺň€m•)Ń‚/\Ĺ ~/BâX^老ƖF¦Ş¬!•:[*ŇĽ„ +|DHäŻňhwK~»ô{›‹¦OtŔ]E{�^ź ü[au•ŤE÷:są?T2ăć(2¸ ąçŢűüńUüű¶ůŽľ›:“ ďí^{ľFĆYî‰T䬳äśÔ:Ż~ ŕw{B ĂT”¤imÝŘ^ěĺSă©%ó¤ÜKĂáVÔ9ÖiÄzĄjĹë)ö°öŘ„Z,ś‘ő•eYąyU¶6îHwKîÜ^QąäĆ­;rę䢜8± s3ÓjT× mY¤ I*} viO@>u\Wű,…<çÖň®ÓoÝľ ‡ˇM'ó̸µ=-‹ ‹rlˇ+»îúýnËéqŞWÂ|“Ó˙¸Ůôçß»”ěđ<ŤŹ\űü´ܼuEö~mMÚ­qlâ{ÜĹ<Îx4Ňůę⯏™vç ŇÄŚŹ{ ĹéS§ŠóÉęŃô!‰ :ýNęs˝Sf¦ K}Ó@ç '2śŕU]gć"Ę;¶8ď “^6 Ď,¦#랥ő €Ă~Ýqć UřŁ…˝m9żyÓGýpź[Ý=9ż}GÖƦeurŢť÷můĘ©§ĺ•ů%ŮmO)˘™Ç÷jKV®Ym\¤ OÁEF,pZÔú×Ë Điŕý€úiĘP÷~{ß§kŹ©ţN.x1‚–J(CśÎ’ŔbDďPş^éaP\ŹX§?˘˝]Ď?ž1Ď˙Ťýňµík˛Ößy¤»~ŰéfNŤÍË&/Ę|c˛˘C‡îşđŃ::: 1I<9ôÄ�,sÚżĎ łĚÉËßAVxŕće7k줕ˇńXö0C1•jvÓa9�Tl¬o9Ac§Ř0éőO@€m‡"˝Í÷Ă6¬¸}|?ěłí‡ĹđÄ©)l„XP§č´QCŞ ŹŞ‘޶Ĺ8ěK”Ĺ´¬ÖHnű%˘,±bp€HŘ6ŃčÎ9b­V(ŤŤö|ž5TŰkl”•¸-Ŕ"ž·Ta#=ŘďŮ˙ôČŹ™ÍXůcżŁaÚ^÷«mĂ0Ĺ ťźużłí*DC1Sš±}m ;Rb­W!çܶí¶ó—{ť›¶í¬żł@[Ϣ/pmß×uvvZfgfdrjBA�X4ÍylŰÂT>ĘGC}ű¬ýę¶ôV—úÚ~9Śěş­Žej®aĄn/Ü•™ćŢe™ÜńÖ0×­ŹŞ±[”cÁB¶®PÖŘh,ŘoŐ°g@#Ě‹ďy ‰ ¶ř<Á_”MĹęM…żC‰Ä9č"L+QadásbŞFĽŃ$y#$•”^‘YĚyü¶"äÉakĎ)»™÷¶ŹÎŔđ!`!rŤXˇŕ ŔS-Ő¨đ’LiĽcôŁY>©˘˝ß?^ü Ťr±±Ű‘žł^ĎMO8ľ3”§™LO´Ô`ľŰéÉ^^¦™†«–ä€ýË(+­ˇúD2ú &A‘ŚKáíď# x�‡Wě˘Î˝^VđŐŇđF|E!DÓBtbŃ Q(ýâ<–ý ÷@FšĂC©ŘÖĹş_§ş‚=J1¬Đ ű#(ě#ĘC^čŁC9†74]®FŇý®ědéCwÜĚ4Ä9ú9ÖŐŁm…§:ŁF((ŔC,Ň,UOB�?šcÍÂXŻiJŠ”&™¦şČ5eJ"-ě‰�,4ŁÚŤvž+đŔ#Ľi}Ď>hŕoš�É´Áč™Ďmťřt*8wšÁ#/ä×ÔNˇżçúhŁ·?�< :~ńz÷dŕŚ÷Ľ@É·Ŕ 3WcE˘Ŕ¬‰TÄ��Jž_ďO1ÂÖeÂ>’ĘA=ő%ľ¬Ôw·¦#o75Ü;<‘ÇJtƄ݆OYŇuĘü=·.Z ź¦}‹ţĐČ/ ć�ňV`HôŔź~�)ů8óz;(¬ĘhČňČčl»ţ}R«xŠËH‚·¬ ąÖň)Ť,żkym+‡çźŕĂ´ŻÉřÔśż)™źť |¦_Çő}Ëvä!óÂčäëŞß–—Xs~ď˛_Ěgzp‹_xu»}-˙p€)Q#ôśk»­ŰˇőGOZař Ë‹iPž* ĺwWFräe_$Ą0Š>lŠ×ś'#×Ůy欕˝ĹŃ…ô\pŚĘôÔLŚĄîŐ”ń¦OŮ1wzrÂE›ţpNNaÁz±śâ»%ź:=ÎÝSµĎÇ&¦ĺÄŮi™™_”ťÍY»s]ÖVoĘžF|˝í Ţëríú´ś<±$§O.hjÉ´¶]Üű«uŰŰë†úúďaiiÎ鸶e{k_#Ënnnh”YDÍ@Z’¶ë×Ő•-='=č‰<ˇ|&ů۱ČG ý iátŻśń˛jß˵„�đf„L ą‘yŃé8Đ*t;—Ź5k9ž“”Y‹AŹ ˝RŹ0Í2Î8:EŘ{�üŔkiiIž~úiďť9獂‘ăb}©�Nşv¶÷äŮ«ż+éö¶¦łď4»»-3ÝyeîŚěŹOIÇ­ŻĎ—›ó˛>ćΚ´ĺú3Ń`aÍŔ aM+—ľ: QTî㤱ýJG Ś‹ďŻ®ăq;˛ŹZű»Ú޶‚,śÜŻăÖ,xuÖˇ¬ÎhaŚčń!{ŽĹgšĺcÝëŰIG­ĂăP×˝;‰|-SpŘąřůíoČg7ż ŻěߔͬFoń©ĺÍĄÎŚ||˙šü‘ůŹÉRs¦Rgśoä}G4˘w#=1� k´´‡·=ŘíÁO-"Gi…ďč1 FźĆ-F. Ń‹ŠQPh`Pńęë†g1Ü RUüĺUŁ·ÖYŚ˘=Ü€x®nâH1Ĺý ůŠŘ?Ö8j˝éŮF‘ŞÖF° Ű·ě_kܶH>©íő¶˙ ň ÷Xśî#6|ÇĚ”MŔçŘ:bl87ę˘XŘgŰńf_đl›OŹĐ*žoú± Ěű¨¬Ť•»lS ˛ŕýusŚăĹĆěC¶‡ź9nvăöěÂ{ů\۶ř·Şâxpî‚ °Q3l$ {ë§†Ź¨,XŠ}kÇ–í‰÷ ŞaÄ‚xîÔ­K»6¬ĹމÎáľĎŤ°ťs󳪰×-5•ő©Î5['î_Tbó¤�TÖŃ+4ě¸uݍkkĚ ŠÄ ś$„Gϸđ /^śP@� �o¶uÇ_(ř,zưl®G(|řoźrdL˝v|šěÁv ˛ÜXä˝Öĺ0˛ Óŕ;® xáw(Ľ�® ˇĺq­YćĎŕşçďŚŕav#Ń˝PĚ›äć{PE1ţUp…Ű":˝L¶özîo@˝>Ŕ—8-”’mx±7ę>Ós†úDŁ>4 ŕˇ�ň…ďfXČg)öů¦†ç^ÝÜWĺűÜBěűc­†F$l7´Îf±ë^Si§ľO|Ľ‘^Ł1řĎj°í{#![¬ő DŹ€°7č%ŁűÁ¨äSa %E®Ŕ’¦3ŕöş8§™jJ*Řň,€ń‘„x¸búáw8šĂÁ!U�R€ř �1ô}Z M«áóż7ҦŻwněÎąTŚN‰µ?!]Š{Ťĺ8ëťŇŕŠ6”ó-˘A¸}‚Ż>Ĺ‚ ®Đ”0ôI- âŹÇ3ančĂSýőLZ‰ &űč�Ě›LžřŘŤŕqK1wSFÓČł`ě ^Ćî?¦3ŃÔ*-BĎ> ’kĐ®1§4‚q:�QvQ8˛čVĎČ’Ź”XáÇÓ.řcő·@J='SťÄ—™ú¨ÓŕÝ´>2ˇ�ÔH ¸ÂýÓvóaܵkĘ'ÇŰ2>ÖV`…dÎĐŃqívżµ`‘čÚh„ůčÁ8ľŢĹ)­?ý<ś±!PŞő;Řřđi_äß,«Î‡ňÚbÚU¨nźaz–fjÖEr0čbŘo$Ë+ÚűJVţg˘-_őЬNĎËÖÂĽ3Ţ6Ô¸ëykz,çÝ3yëňŻő¸•0ŻKŤŮÍĂDżŮ[ �c™¦ë‰„52Q P"ósS~íUÚđpč Ąą­ďĂV®×ÉEw{˙Qî=ęuĺőĹ»Ęţx«ŐŽłá5ŽÚç•ďk”ĆͧRĂËűł8®W8u˙x˘ęäLK–geéŘś®Aě©‹ÇćőóŇŇ1gÄž’sgĎČ©S'$=Bw’‡Ż«cüŮʧ&¦ś,95#ł §äŘćŞl­ß‘ÍőeŮX[–ŰËk˛±ľ-ׯßrň渓[ćĺü™•_Šz2şO^×pü–ęůëđąLOOËüÂŚô:]Yľµ&7–We{wGćfçdéÝśYů=Ţ_“ąVÚGąĽA:'Âś‹359#Î?ĺdËiÇÓř4›R`ÎŐE¤�' «˘Z¶yë°đ˘ž {;"¸dAŽE Č˝7nÜP'"Q`Îŕ7ü…®uAŢ)7AŔüeČkžg™ăe×Ýś,éh{ĆĹĺ7¤sóňĄö’ܙը·NK§Ń–ĺ‰é6ÇBt=Ď·6´?}:5ťjI^•z†Ńް'řŤäŢ×cě�ÄţőşeÇŻĺn-Lj*—nw_öö÷l‘n§há®`#µú˘2˘=vó3v‰yá·“†ń/u¶ŁîŃĹsŃÚg@_Űż.?˝ůň•Ţ5É›XoŤGęö�Žö¦lÉŘ˙™Ý—ďźý¨L$Ą'tÚ1¸xD#z7Ѱ(ŕRčĺa^z â70Ü1<<ľŁ`BŹă© Đ@É{iÄdů *SéYĹzt:Ţ·˝˝ŁČ‘ďHXX&ę‚gŃXhŤÇ4Ś’,(#6Xa]z{í"2OÖŁ±nęL㲭ݧ‘1öđfźÚ@€±ă8ÚP‡ĘęĘÖ' bë`ŰŔß­W˙rüđ™nűĽxÜř˛ [ČFßŕŘZ9…6K¶¬8ŠŤü¶ ¶ k„ŃęŤ@U0 GqÚ ;Yoz1Ô)’bAß¶ť}Bý¬RŠ‘l„ ž �†s‚Ř>{˝]71®q މëGd±¤ý‡ď|LpŻ„ěű 3ł3 ¬hʵBô‰†‚*Ň´ ŢČ’śuŤě_ě'€řjXăç~˝á$fň˘xý°ďę+Îu„ Mťńëcű‚اh ^Ř Ŕ± (ďě<DCAëąWâ¦ô`Ý-č÷ˇ\W¸Ç®I¶JBł@¸ÎFĂ@ąŚâsŕnĘíŰ·őxćŕyĽž,đBť-‰ŕ>¶ ×ÍűsD#:ęÖîAĆ‘Ü#ÔČßsűÓö^WöşýŘ şö~ďU–ł5C?ŮCT„ÖÖ}Áó6ý~;THZ‘wzUŮ‘ëáTŢČ­ŤÍť}é¸ĎłÓÎŮJUyÜTOýÔžs™t{čŚkÄâĚä°Jëľëë-Ş€…ń ´ŕ/ä‰z˙ µlŻ�Z¸z;%."utjčy`ŇH°]đ80$ieÂŔH0‚×ń�hg–·Xŕ) µ4X˘ťŕInoďIżŰóQ%�mAÔ�řĐ|׹·¨"rűŻč]Â{?bţkD9hĐ—‹zŃ!¤ôű‹4©kwÇ5|7÷�€ÉÔ}ŰČ5ËJč[XDuđ� zę·šŇĂGłČ.E­¬>ß·hë?ŘFT‹Ô§y up‡ýŚŔÄ\ÇMů|žýâŁ?Á€T"Mđ÷� jŇ@d©¦A”†~â=Bő7׆¶Oâőę4Akő’*Sr Zíc­c’řh%č-R¬/A©!4˛I_DM I?˛<HE"X đ6Q4Ý "¸W?I B,ŕ˙Ц[é˘ďÎ$­FźŃzä!NŠoLÂI!âŔ ௯ďë'?Dp…vy@ î%Ł,×ůň0´vÝĆßÇ<¬ĺcŮHů}÷ŰÂܸ5_yőŠĽţĆŞLLÎ*?4áôS‹ ó °őEÔ›m=ÚŠ=!g¤€ťŘ änč >°äÉz:Çë˝ŕ«ä—€ŞÍÍÍÇş=| ĎQĺßş±~Đô¨”Źe[Žr]ÍEák;Ź ŐIÜĺžcEŞ ¬wu�¬éůěĎß–[‡łs“˛¸4-gN.jtŠÉ‰¦\z ázOÉÉăÇÝďs±ëpl¬­2�ä29őŕą:ŃvrÎęąu{SĺČ^Vńă`çúěĎa„'´ĆĆeaě´Ě-śnç’lnÜ–›×^“Ť•벺¶©Ż[ËkríÚu9sć”\8»¨ŃX‚‚ó¨ÝšĚGŢÁyľł˝ëdšŽkkKĺŮłçNĘ™ÓÇĺĆň˛ě:~rs+s:6Č7»şç¦IKăNĽžçźM¤ńđű$¦ÇÖçĘ_îívUn^tsŔ…4őiř¬^‚4pöE=ZwV®fäH:@^Ço7oŢ’••;z-ć2˘Ož<yRŻ;uę”wő(�zT:6ŕEýő1Ö!¤¬g&ŰĐeť�šĚ‹µrĐfđrL~Ł}Zî4&Ą11/S3óŇjʉŹ-—« S* r˝ÂV“ľ&âĂw(6Ksĺ/=TČGŰËŽ40ŮC–×ę3ýw^wÄÔ cc:2­}ÜéěkźCź€Ł_ř×hÚÂŤč1ˇřbŐ±’o5چé%ŞÓc{.Śč‰#k—˘Ý†„9úĺÍ7ĺµÎ˛8Ńîmť—»IO~~ý·ĺ÷M˝_&B„ě<ĎGN#z×Ó”"¤¬q1W#g~!óĹPv40Ă@…_�WP° ‚Ť^AňĆ8ö<0‚ÂŔ0´ŃŘg•‰( 1`.ů€Ń—ŇřžY©»ĆĂmĘŁNŹJ,m`Č{o$H e"ţZłŠXˇ06H[Ă- ­űű>]�űĆ lßQ¤g;Ç0~ď‹A4Y¶“}IP Çť}a qŞ;>ÖËůfŤůl ˝řń,Î[Ą‚×TBo{ć·ŤĽÁĐFáŘPůG °QXoŰ‚l›ěXÜpę”Ô ;VńšC{h´¦1ÚöA\o‚+0/í÷¶žvđŮ,ŹFr[Gkäg[ě}±’QFŠąK ÖôĚśS`ÍO…F a>SkPô7^ŚÔ@ŕ�Á'cň¨|Éô�IEŃbiŘŐQőĂ–‘Ëŕ:"ÂÖĺ'?ůIUĐ@ď±_â/űšáO9Ć ´ ë€Ŕ3\Ź®Çµ¨<i0ô˘ÁőŻqŢŕ™ŚPÄ˝…‘)Řn¦%!�ŕ<‚%!CóÝ;‚ ^<řţüůóz×?®ańb(\Ů6üÎqĺ:Ź÷ĆŤčAPb¬ív?ÓĎ™7�Sé:Ţf}Ç­µľOßv;_Fdܤ"4/¬čRś‘˘źĺmx±Ś$Ü”'UŰUvč>NEe¦á$qÖĺ˝®;Ç6ű2=ŢvĆ D*HCX_o€V`€ZZBéýPŃ4á€Ă˝Y0ŘăHóýcv8›Ń�úBdÉ˝w? ÜYĎ3�Üŕvëěü®Ýť°ßĺß8OŮcz5SĂżút�čg(žťr¸×éĐAChď÷˝Ďzöö$´-„Ť0)Bݰs‚¸‹\Ć[cń�†¤&ă�"dŕ˛ĺxÝ;]źVé¤3Ďą}ý[H+äŁîĺäišr“��"25ҸţÔ(>ĺJ"D ¦M �”Č˝DËîçŚ"jh@ú ·Ô÷OV„wOőyH/Ň@D$W?Ť&×ĎžŞÔ,‚9¨ŃGB:\ďŐ‰ą Ó÷ó8#V”‡Iq®Ł˝šÖ%g$ 1ë&­ť‰ĺ9ž…rřś‰çMŁ]�d|�(Ňëč«ŰČŠ((yÖUC"4’L}[‰O‚˝0wiHčçÉź§ˇ|‡†gߥµó“çť2ňŔŹ8"›oAďvo+˰!ÍKK_Ć뙟Ó0ęuó~uß“R6łď»a:ë ™§NžÎxőň«o:çm›“mÇ MµW?qFĘcy…Ź®>×eśř}»2§ďĂ#7~^Üć,Ł.«€‚)IPó Óáüxü<žęĆó0Š»9O\Ůńýww/Ż­›?÷A‡lĂę9ěąőó{8é)SÇ’ Cáü&ç‚1AJĄÇeiqNŽ/Í9|B٧ś9y\×ŮSĎÉô„7 ·Ú-·>{Ž7ßvu‡. ăľokşĹ´‘Ęař¤ŮéI5‚oíôUv@ô<č—<ĐbĽ¶ob9ęÁR`�đW˙±ńIiŤť“ń©Y˝}]®żţ%éî{ťŐÚzW¶¶_—«oÝsçNË… 'd)Ä˙*g™ž%ČĽΠÝ'Síş˝®•ËüěŚŰçN+ěöť]YYŰtÇqCäÄ‚­Űź7ĐÉČĂę‡Çź*<y"¤9ľg}cSA*““®_‘«ę´Ä÷,ٞGﲦ-«¤öŔ_8šŃâÖ­[ú˛râćĺÂüĽ:Ŕy�˛6dwĽ ë^şt©úKýi ¦`ťęÚŢišžöl¶Á8éěqŮ?ý”ô·¶ÝśÝÍÝmź@:Ő)Ç˙MHŁ•(xBą3ťo®^  poBu«řÔb Ő=„ăą;žČ:đ öô‰ţ7FöPý´Ó l#µ´ÓiPçů�QLĆǧdD#z\(ć‡ńż÷Ëó<H˛<˝µ‹Ôńő#ŃŰEöü\îmʶÓ)%Í·_7|mMşůÁQÚF4˘w=A� ý·’ĘŠ4˘€­×;ŤiŚ�A¨kü(Ä ţŘřNF™Ď¤‘ Bôęꪢ÷•!Ž6@C.Ľ‡păŃĚ-Ů ŢÔ¬ç�@cČoÓPXĂ<ëhA�,˶ďţĆ h+”fRclŻ0Ş�żçËD, �ĘX ę�aśéýÍÔ�ôz·�Ś:A”Äţ"耂b BŰn˱Ŕ›nŃHś§lžăŞ5ühŔ:Ř:˘|–ťG gć˝D _X=ĺc°ŤtŘńü°s?î ¶Ĺ*‹âń·ýn?ŰşX€]·4Ds­đ{®]×"Ł9đ3źŹąÁ(Vřgů°ŘčŘyiŁg°ŻmT öÓçđYPVĚLŹ~¶±\›ŐÔ8PZxAĺ…W`´Šz`ďŔ§żńd<eUA?h°cŔ:Ö­‘adçë\Ě™`đŔśĆ:„‚_î;«Â·űw¨„>Â>ڞ H°i‘ đaą|ĘG˙áĹţG ç+Ż#`‰iEX. {5ŻeXUŚ ŘOp/Łh°\ϸ×CQŠąôĆohű xbŽU(¦1ĎĄ7çú‚€ {ưOđżŹŐ=H:ČpˇďŐ®Ş‰ 4$đN§Ż{PąďĹ‘&†;(Č“Bʲ) U…ńĺń§á™ Ců°ˇ—xĺ¨Úyůěđ©@:˝}köd©Ü Q,´>ş—÷ĺ(}’ ÷_÷DŤđy0 ¨ˇ;ó«‘C9uű2Ţ#J" •Ś‹#´Ń$ËR ĽÔ(r@čS~4ÔăÎGŕá™ŕö‹ľ.ÂkôSđ­nj”@Čz�ÓąQkj™Ú@Ôxľ"ń9Ą u°ł9l_Ç6´š }i8ĺ aˇÝo8ß]ý‘ł w-WŤô®>x6ö¶Ě÷˝�Ő°Řđc* tđó#q Q?jńű úŃ%:@ń�IuśĆš€IT á(·(ć ČdŃĐú§ýŇŘ–Ă›ňÄÁ`Ż€ŕ¬'%:#v1ÜK•wŚ©śž„řńN #¸ţ–2-Wjz>¦ A?Ł©I’đ ëŇĎ _Îđ�;ŰŽ'ë6Ôhâ{Ňďî»1C›2dŔĄÝˇ¸­ŁďqŔQx0 ę €K€+yŚ`Ź>7’ÇôĂÇĆ@ ňtžWI4ŠĂ©ˇŐÇł#źµuŠä:…rĚGĹĆŤ¦µĺř€í]5^ž;{Z._ľ(Ë·–ĺżüŻ_”WîČäÜIiNîI3Ű’ąąY=%ŃţáĺTJŃĎÉŠ>+ «©óěJŇEąaëëş5ÝhĄŢ{ře îłSşowzGL“<zĹ÷0Ţ9¦Ł.—űUŢßËý~ž~wżÄs%żË*=(ýCÖ ĐÂ�Ëô ű˛ăa.=uFž}ţĽĚÍLąą#ńś3ř— çOɉ'45O#iŞ7ůíŰwÜ}Ř7›*kÍÍ.č^é÷ů†řeś �Ŕţy�FhČ7ôH÷@‹I•𻕓cÁÝ‘‡NĐS*{u:{¤ŢQ>ŔÜ{îŮŹ»Ł:“Űo~Iĺěť[ň»_}E®Ľy].>uJžşpĘŐy¬ăf‘‡”`ĽäÁ\©ţó†|w>í‰ÜŘ_uĆî¶ś=wZúšÄË«dJ 9(ă>:’{*kC÷ÖĚÍť]ŮŢî(ź©Ó$ďĘÓóěëĂIÇŤygߏ?–——•¸yó¦Ž9ć#dPĚW€°6�¬_XĐď™Ú/«ł/Öß~>¨~ ?ť.ĄÝ@ža› u´aľąůמž“¤ŔqüÎŢζělmËîÖr‘vtbú–qźf� D k [KAĄŤ,-SĂ©¬‘Ë�#ĆgĆQö;‘â?D ›l9Ţ`6D¶čh4䍭U§“XŐţźrmn·ĆÜ™ŰQ`zéNĎČFô(i !¤{”ÄşĆr¨ÎF1˘=JŠm3VžĚ”ó<šlő°)ËłÚ3nD#z7Ó°`ŢFéX±»';Ž…�˛  JÁtź>}Z…\OŢÇt­±±4‡PÎŁc�ıˇF¸2WRŁ0ŘŮŤ‘^HÖŰďéľßŮ/ r±QkWÓ;X#tĽÉ1ę7<`ĆC‹Â|݆x7ĘFö/CőĂРᲅ×4xÓ"E)XŢý,`Ťň öéÎÎ^Ń1¤#L@Ż~†8´ˇ �ŕłY†5čŰHx Üŕ{Śżc´zŁ`ŰÍńcßŮ444ěółť#śŰ4ň@d…[›ţ‚ăĚč6˝ŁT ~vÝŘącç­3kP/B‡yĘgňöwĚ`Űů+Ąíş«‹xÁďQ6Ťçv\9–l7#ŚP@€AÄĂşó~Ű?sŢëx‡±äőńśE‘ĎůŕůAPG"Ý CŻz¦ĽTsR9PÜć!SJpĚ,Šý YHbű:ř 0±csBŔ2öŻÎO§¸ŮŢ&°B Ä—ůńŹBżĂľ‰vn@ąC ë„6pŔ:á=”•đžáţ B_ăz�*,0/̦çŕ82—,ëŤ3/ś \‹ěDÄŔsY.ęäu{ráÂY\\,ćëËľcZ*†LE˝YĘĹĽE9řÎö7ĆD#zX4`opEÔŠŤÝ®zp*˙“đ,ŻŢg÷eť¶0’7‚X-ěaďĎŁ UĎ,: ěsĽŢăr5~c»ď×pČŻmg<@$‹©±–Lši ţ©0ÔŠúóiú ¤ž`ô…<Dđg‘=·25üwsď㦑`ŔÖňB˝ťň'´®đćkhčl€ :wFôËÔUě;Ż0Ď‚±Â§ńĽ­OK’‡˙đ˝žůY Ŕ`%śÁI� h@ ěçiR5«ć®Ąř,~čÔĂOĎ€Ô‡ONŽ#ńý=›ŚÉTÓťG-D i:hGZąOŻ˘ýˇQ62�Hó•­ˇ ct8‚E#% Â’>'Q`ź#Ţ{5Q Ny‘—häŢF�‰ŢT,IHK“*\C�Ség˝9çQĎM� Pa€HÝŹđŔđ‘GşŐ9b°<•hđCÎĂÖXšüye-ŹáÜÖoÓdĽ„^ѵ!!bEâ#[Ŕë^Â8żvśA)QZmď=ěŁ69cEÖŐ°ë‰úf–Ń0Ň�úđąÇĂ3$Ŕ¦jŰ’ÇBŤ3čŮmů¶nożŕ÷m´1_CŤ¤ä˙b 9iżß”˝~"u>ˇ{dRŔŹż‹ďĺţÇú+â.ŰrěQŇt{ĂÍ5g i+˙ó˙÷ż_ľöµŻËí•]5rŽŹ·dë­kZßó1S Ę ~TźĆJ9ńĂ]†7sň¨¤‘ShČSľ´uä{˝Ő”Çs-ŻlHzmí ˘:Ä;éţAGŐ3DI@Şě‹3?ďé}ćÜyîągĺüâ¸LMO8ý”<őÔY9urQ&'& ałŃ’••UM·•ç]YpĆd=cĂů*x†˝ÓËiGód¤Tö3˝ý·śń2"`?˘A›şźFă^S�X=P.ű¸ł)] Ü÷]g|îk¤¨¦F?Ŕ‹2‘Ýł¦g—d{ó¶ÜzăË*GA‰ľéd™ßţň+rĺőrůŇY9ďúr¬Ý*Î"‚**�®Ü÷'R€(đĎé·ľţĘ[ ÄŁ ?WB—ęy¤§P+@ÁÉĺ^&ď:Úş+yk§çčzĐçŢ^W¶6÷ÜFęĎ puŚôHąSS|¸ąxőĘ7˙6tţ!µdQü}ßűާs•` ę|dÍfá„PÚKNëë&+żáĹó ˛řţľňŔă!¦aôÔť¦a Fűřeđ}đ€ ™™…™Em÷¶›˙»»[˛˝±.‰›ďăN·0ĺÚÖšĐđb8›(Ě#@YS#Zô}´<!ŽťĄŘ!Ąöľ¨ ňľµÔŤ �ĺŰ;[ €ßpí˘¬Ý—ÉńIŃî‡~ó7SţÖßú[rîÜyů áG5:ŤĄßřŤß?÷çţś|ôŁ•ż˙÷˙ţŔýp*ř÷WőWĺýŁ$őŻţŐňcúÂľ ďďý=ůń˙qą|ůrí5еýüĎ˙Ľ|öłź•«WŻę>öÝßýÝňĂ?üĂévc› ×é_űkM÷ľżňWţJńű0^~D#zŰó:GŠĎşŘţ0˘˝›č‰Xř¸}E?ŻŻoŞç đČSMćá“Á OOO9CŘ1'čNG‚A顲Fh•X~ĂHegŰĂ €zŻGŘ}z ő^O|¸»$„·rĽŐňžśšg2÷ *5ŐŰ'ő›iô· *çb ‚Ö<©FŮđý’ Aâ÷–Ů·žÔŢóC†Ţď?łĎJ0ŤÍŰŰ;*´Sáć ŰŮ€‡Ľ5¦Ç†l °ŃđBŚ ě“ŘĘ @Â_F‡`ß1} ëĂ~±FŘÂSÔD8QĹn(— Ö› ~gV1lÇďŐ$6’łľÖĎIÜོ†élż[EŻM›bŤř${-ëĂúZpŽ5ÎóYük “m§ísű͸`ÖĄ.4%Ż·ďAč¦bSĆřĎĄŃ«×ËtÍ«§††Íf¸ó`|s×¶4'|¦ˇĄó!''ÇTyĹąJSo$É2†݆ĎdžÍâĂwîĺµe˛ŘĆ2†ýÍ~LŚ2Ä ;uŢ·ńřÄÂ’Ą< € 3ß ěŕoĎ)ôĆĆÇUYT ÁC@¦ńŕ c×Dň!a�F x ׯ%”Ť÷(ĺŁ?m:ü†ńÁ˝čg(>Ů7řŽ`Öżă30¬xü�\ń:sćŚŢ‹Ď¶ź8O ’`]VÄX9‡YgÎMucD#ş[ňĆÜ`33gŽWŇĐ‹ÔŢ»[çś{·ŢqJő˝žš^a×)Ť5žÔŞxdđ¨sŠÎ¬řÍî/U°śĺ1Ҥ «&Ĺ*‡BŤôYęęK„çUÚaŻÜŮďĘćÎ^±—ě7·kűĄ×q2UcŚÚ~óűk_•żĚ�c­nń &mĘ_O$ŢŔŹPYJ^†Ń2MŇhô}”ĂŁůgy›˝–ˇŔ6Á+W÷âÄG0hÂ{Oěő ó)Ć­żçůś)xŽB?4•}Č}˛�5Bń|5VT&ń3a˘źęíç×”†ŚĄŤ`žMÔ®Et’ú°Ę{YG&1ářďLąÚ0ŢxŹT&0Le]W/4şli8g]©Á–DO�]4 ŚS†;›·$!3v"I1&©NoČ)x˛PĹ,D�!úŁhôĐď�/&MŚ5<čcsWÖö¶eÇť'łŤz0ˇň‰ďµbŔBú…‚ŹĚ ŚŢˇ@.YZYĄŃ ăX¦ĂüđÁßÜ|ŃT*Y�ޏżiOÁ™„Ňq}Úrź÷ŔSäîüÄůřN¤rwňŢŢŽz+C6R€F®aH4šE#�6Äřa+ŕ(j?Ćş‘>ÜP¤±Óň©öňünG÷SKá\PŰf5á°çYĘ2‰@ ×ÝŤ˛(Ől9I�¸4Ô@ćË5ţ*H?ŇtƲUŮ\Ío3/[ą3f®ËülW.^ľ(ď{iJ®__—ĺ;벚ŚÉÎܾ֮˝)í1g”]•ůąq×Ţ$l­ëÓ°ź~?¤2ňuďË0ťĎĽ”TORDHń9†dh?úuWĹ[ůˇÎČT~6˛»ŕ‘4)ŤÚQRµŻJŚ~”wŕh+@+żPźĄp¬Źč«˘Íy R—`Ý cťVŁ}f^˙śĘw9ĎÍškňĂ”Ä6ňŠŢˇű_¸ą(Ă–…WłŃ”± ČN©,.LËűžJΞž“…ůI9ľ´ŕŚ2îóŮłze?đŕ»{ű’ŤµĄëÎďÉ™éÂi‚ĺűł¬šş Î3śëĹžnĎ}ë1ŹÁ?ĺaOaż‡€Ěy2Ě–[ë»{벷żáxŠ ™žšs×ůhVÍ•˛ýĄ\Őéě»rv} -Čââu­ń1ź2qr¶p÷Fo´Ť†55ŐV�×ń“gĺć­kríĘ+ŇÝXÖ4TëN.ú—ż&ŻľyCž~ꤜ:uŇ«ť 4kRÂKQmüŐě1L‘ę6ÝWßpć?z>§ŁYă= ěč�4´ĐąŻĽÁţţެ¬,‡sD*i0ˇŹdjËŐŐY]óQˇŹ;uę”|ň[>)7nÜPąôŘśwü€CT»=¦ßŮÔţŮiˇGcÝC+ ] (ŕFĆ~«şMÎQQŢ%÷(ŰpVtŐŁăřö¬ß‘±¶“™[Ó‰ Ľň9×Oť_ţśŘěv”çŃoR&čkŤ5e~lAććçtm�Ř´»·%Ű;Eź`žKłíAľ“iéą)÷ň©Óß•<`ęŐ9#‡–@kź¶_čö83úÔ…ůĹBWä×~§H ű@¸˝‹ :ě¶|ýëß×^}]žşř”ʤźýŮĎiä”Rď(UYŢČ ńľa÷ĆâJQĽ×z-Ŕb˙üź˙sůĄ_ú%ůÔ§>%ď}ď{ĺÚµkňÓ?ýÓňĄ/}IţößţŰş·­óŚ—"U{}*řŤčQRě<}oţ¨¨”ĚJ>ipmŹÖĚŢÝôÄ�,:đüuÚ0ěçąT sޡ×'‚ÁtÁ”FÖpŔËi|[[ő!çáŤđ�Ť„LëQj=óŻ%#]wŤURY ÁÝn®uŠÁŘsÔđy Č =}ő(Ę)uK5ĹCśjd˝ţÁř{%_đ0ëvT (y^©SEŔ~g îL۵µS©/úťˇ6ŃŻLÂńŁRÄüÍFp°× DIĄ/ĦČ`9¶ÔČăH¦ŞA2¬'Ś|Á:XŁ4ëoŻĺśCßC°fý)śŮşÇ‘$ěoBX0ŹĆŢöI €…Iű˛Ď°íŞ*xň"r‹˝Ćţn×ŰI!Ó>×¶‹břďó}ćCLÂs‰Ę3?ż[áŮeÔ•~žĂ˝¨!@đ§!ݧďĐWćŽm;癥–ÖŻ™˛?ŃÖĹ׹!÷ŞüἳŃo$dęŠ=ŕ/řě@!ż! %’Y7vMĽőÖ[šŇ OzqYO‚řĎQ(Ř€.P”K¨‡ťű ę^üFE×*ŔrTş0= ĘP”‰±`ą¸ő‚§Ň‚°Î Löa:\9‚úč…g1uŠŤ–~#ŕbD#şWRĄf0*ey˛gűYß+:™‚@ůwÁÖnOÖ7vdżÓU#! 0y†>ą–¸.cľĂ×§ŢŘ–4Śp&ĄŽĐó ľ!ú6«†$¤‘ĂF;â^“…zÔQ¦©,zâń UcŰ9°ýĺy¨J.WV<¤!ë—`UFđJ¤<›,Ď`ëkyŚ8‘ď×Ţ€ň´FŁŞ F3+úŃ6ĄF ‹kn'wěuÔ)u:“SÍ ďiš2ňB�Ťč†éĆçµöcđhŐ1FĹu!«„˘Ď“ŔsvűEź‚ú‰7Z%DˇĹ¸EŁoýh=ŘD/Đ Ş´×rś»íţNaŻF˝ú];©Ś7D&eÄă^s‡UHa&H¤ň—`ýĘל†˝Ä/\ítĚ«ĚÍ^×¶÷ĹG¶@$ đMíKQ^ĄňŞűPđÝBľđcs°â¦Św@$!ŞĘòwY‰ź™Ş§oÖ0#¶čjŚé:jµš<,Bľ«Ľ^Ž$?éýwŃŔ:ą¬ĘO…yź°Îë5©PţÖ—ń‰1yďűćdsc[=ÎoÝxb\dwÖ¶ĺŘŔN¦psuÚµ5źť–´é l«ë˛ł»'+·Ű˛xlV¦g&Ô8•š˝$m´Ýµăîö]yXVťă9 l<\ëÇ׌…_MÇëĚş¶ÉőąëşÖ/ÚÇĽŰěN~9 Ia#Ă×s|íŁ#“FŇ ĄáÖČOŚ–95ŃTg‹§.^çź9'§–fÄŮŠĺüąSrńây9vlAݧĂtDڞ Ţš }’ľs©®ý–żđg[`ó%űň±śE#{ŰŐń¸ŰźçÔÓ~oGnßą®QŞ&'\[Ć'B$«ŇQAů}Ýg˘ýŽ×yéŮ�(<řÇ'µmLáPĘÂŮĽ I0h{ůôĉł2=5/Űë˲~űŠĘ=Ýým•~ó‹ë"_üşś<± O]8-KÇćPďÓæ˙”ÖŽó»‘ęxŔ#ÜĄş‚©©I=ó®ľuEnß^V>2$äbü…ś ™ÎçÎť“ n�ĚĂď0/ąW7އ صŚ4š>…‚9–yÁ‡¨ZIŘűĄä-4Cť®Sďx†3ˇ� ¸9Űítő7”µß3R¶6dÎÉ˙ó ‹n5•/‡Ł d¤~‹#pŢ]§n-Mę kHÁU»pâŘWť1†br+'­@ę ypهó–Dz:ެř ęf•`đúVOĘýĘó<­Šs^Řń·ÝjĽM{÷ž$ÂůôµŻ}C>ň‘ŹČěÜŚ~ż±±)żň+ż"ţđ‡ Ăźg{{űŽw]Ö*pp:}úTQÖ€]››[IKpZşsÇółłs!u{űŔz˘Ś/~ń‹ňëżţëňÇţŘ“OúÓĹy‰z˙Ążô—ô÷Ź}ěcşĆ çC=Qw:;©{fÝšAtrD™ÚÚÚÔ=aiiQŁÔzť~G^~ůZGDŕ…î’ ÎŤhD#Ń»—ž€ĹťŰ·uŁ»őědžtvvF_0¬Pă҇—ďŰL[•ŇŐx'ŤÂ ˛z<—>«T%bž^~–(ÔÄz Žę”Úu u ç ŘŁß–UţÍk/ ‘çĄ5l3š¤@ż7ڍGŻ U Ąq”ѢÂF  ÓhضdžYŔűžmć÷DĂŇ�jĽC• ¶Ď* I4"Űhq´«$/ö•ÉBŻ·Ć|•#l˙ÄĘ-+„ÇŃTlŰ8Ľ×F+!ĹŃXŽMĺcłŃ8¬’ÂŽűÚeXoĚô˶$•{­˛ż\‡Ţ((ČÝóŠ+xˇpľqÜËőžeűßS]PÁvŃď ýđlŻ 1Oäh†‚aTlŠÇÜöW•üBWOînO÷C¤3‚˘Ä@Tô‡ –‡ő¨Př€$ąíöňL’ Bk\s̰łß¸Gâ uËĎ>%‰ß›rÇ÷5¨2"DŤŔË{“miŮ\/já|ćţŹłkŔ”€ʆŕČĚUËT>LB ç•ĽL/Ĺßéµb O#ŃÝSnţM*t€=đ“qŹÎe×ńR+Űű˛±‹4^{˘gy~¨ZÜ6m4({Ţ×ń' ~V_o}—ĺר‹¸7ô` yŘŻň,Ż)Ó{Ăeýl Ţ¤¬źUą łOf”R1â‹Dž¬ÖSĺłÜ ?äß&,•ĽQ˝M, Öy5Ľ(úĺ^!şiŘ9‚ç0BÔ8Ň­!zEÓ§*ˇ1IźgëkŤ©¦ÍţçĚ×+/aÁ.ěÝ„�ôQß÷-ÓşT W‘@‰ŕ›ÓËŐđo�”„˛Ĺśwţ;zÓşz`K�~ĂÜďYţ×A’đ<Źt¨W\çÔ2Úń0Ä”ŕ 7Ň� �˙ĘBË‚!†5,z>šF/A ”~�XŮ#¤”)# ”ç3 ÖŘ_7 ŘţbŚń)Él˙ýAŐ:Ţ…ŔĎ{Żn Ř2óL’ŠěRĘwGă™°l|ź\ŽÁP/íŤS©—e\‹yđT%?ěä^&ăŕá//ČĘíŮŰŮ’µőÇ/L8æ$ŽgL˝×wŰńŤ­I§č=1'iă-§ŘÝŇPńŕÚ«®ŚĹ9őFFz$ĺµ1mzŠ"•t]g^N†l;Śg©“74ĘGî#ŔÍNO`Ť»1…­@s†ĽWÝat7ŢöĘ3ßž©÷ó¬śűhň'É‘Či% ş…Dě‰ybé Ćťá˙¸|üçŕ<??'O?}Á˝_Đ” ĘyŕŮů66şdńÔHÖ5˝9kϸ$€Šr[}žuîź]¤ÓŁ#-€suypa~ÉŐw‘úpÝíË’nh1­{ ÖÔţţnŕ'!˝F˘Fă±öD0Ľ¶ÍŢéëź=Wě`a)MË(ąř_P›¤n˙™žžŐ×ÉłOë>˝ľüşÜYľ.»›wÔ|óćŠ,ß^ŐýçÜ™Sr|éOßY¤:ńű3ű´[ ď“'™Ľ.ëîT°Ę™ăYy|Ě;ś8qBťŚÜV}§OďY´=ÖVuKü›~±™°¨µ*řČ0ÄĎ˙$Čđe$zň—ä!‚°F°tűOůŚ~�SěűhSżë¸: ž� ŕ©é†kÓś“ÇÝ\ź’©Éq÷9)ř /K°>”ůMBďóRׂ¨éĚ ‘ľ¶ÝşŰ–­íMui«~f\ד]S5ĄĘÁc6¨ű° Q:lđ;‚h°–ÇƦHău Í‚·É  ‹]ĂĄ,Ô‚ţĺqŘĘGôŽ&ěĎ<óŚĽúę«ríúő`ńąĎý;];ŕú­_ţĺ˙"żđ żP¤¸ĹYű'ţÄ×])?˙ů_q÷~NßĂ1 ş5FÚ˝úękň“?ůSz?ć2�ßömß&źřÄG\exö+ŻĽ˘ú8€>¬~�łű±ÓçˇNjńŮĎţůĆ7^.tpźřÄ'ä3źů}….’kŔ«_ţĺ_–˙ř˙“žyř “ř?¤iJnŢĽ%?úŁQľďűľOËýčG?"?řXF4˘ŤhDďnzb�HBĄ÷ öĆ|€*r+ŽĎ+%†—QŢ®FÇđ†55bC —¤˛×*–í‹÷ÓĐ`=Ć3c¶Ď©câÉ€äĹ+÷bŕ€­KśęFúÁ>0Ţ榌¸}ääë"#¤&Ş€}vLqßŃźEžŞěK ‚°Ć–B9’”&¬Aß^Kbyô6·ßń/ŤĽ$ aß1ť ë{ďÚ:ł-ńx3úG-"îkаý@´ť/Í"dtżŇ¶ ľ·‘/ěóí8Ĺŕ–]g g?Řľ·ceŻŹźS·đ= Î6leh€m°s‰ ›jżŠ ´Ą§ y[xĹÓŘXËZM}OŻKľ$<·Śš‚ëŕámŕU±˘Tř43yáůçÓ‡T3˙Y*Řö/ $ô>¨BA.! ę9B‹zĄQŁ ˘QËĚ|A€7憇 ç#ŮĎŘQ®e_0]ú”{,ßpţ3ę Ę…°ÄhÜßY.űť€ ‚^°ďCđC]ĐVlx6Łć  *J â>^ËT/l?˝Py‡{<Čî5` śŤč~¨0CŻKŁą˙ a˛·÷z˛ľŰ•ŤťŽzPű”ei±–ăź´ÜčÜăÚäońľSěŮuJŇ`¬H‚÷ZVH|H]:áöóáŢřĂ”ŤIš«Ô§ H ŹŮÂ/4Šň0îš,)ÂçA9­Ć¬<�-Bż5 ĎÁűIŘăí9HŚďg6=ämd0šűă‚äb= qimßÖŚĘYó µI·ŻĎ5}ţmí©ç“!ý^Ô›ŕ}@RxUk$ ý!€4 ü8ür“Ńšr˝! ý“űqÓgäaţ&fjűxÂiZľO|j“žßĎÂü }ŔČ[ ŰMLú=M,8˘¤˘íŃ<ł×Ąi ľĆ0MĚÜ柦(˙ѧř@J.D‡ÓÉ{Ę«xůÁ�iňÜx–Ę|očȤŚVŤ–WYC!’Hb7 9ÄŠ}ŹDè0E2C–‰áůcYŤĺ$/‹çäá~Î!G'»†cľÖóž~<‘Nˇ¦!4şŔ[€yˇř]“ůťÜ)±gĺ}/ÍĘćú¦Ľńć5YßÚpĘíug<;éÖS˛·»ˇ˝ßv}ő ĎĘÎö®\˝zËń&۲ľ¶Ş vôăÉăó*óNNŕŃ˝§!Ëó»1|–€´QAÂá='ĺđňüo1‚EBăÚÝQ±ö‹ŹîfY<ś%TKşFňzť�ŤuöŚ©“‘$ =Ł‹ŘŽµăنâ8ubNNž\ŇH-ůŔÓröŚ÷®}ţąó ľV€‘ĘVÍJ$PĽ‡lţn¤Ő(‡uułďýú•§€ęőUŃ}Črîý~·Łíđ»µm”žńLo‹¨CyŘ“›îę7zęĹPEo§§©žĐ¦ůą%צůčÄugľILŞeđl-eá˛ÎţzM«pń™]ş(›wŢŰË·dk}YúÝ]ąqkUVV75’Ĺ™SÇeé8R@N˛uuâ?ęEúřeŇ»ŁTőp&Cd“gžą¬ŢÔŚ¸HŮѦ€±ďůÜ‚Šá(#µĺ9ŕ\ ş0 ŽAG´tš†&€8;îÜé¨üŰUEÓęi´ĎŹŞţd`)iµg¤Ůňú¶–Ó…4TNO‹Ď͆çíË”žŹń:šÁ^AĘÔěĐă"‘ŇI%|“xG€¦§f(ÔéîëzCšťÝ˝źzČńĂĽäÓ¨ ŇűYžŽZü§|Ć ĺCo€1ÄXÚHĄu|Î@ëâqŃ�=˙üóňëżöňę+ŻČÓO_ŇyöoţÍż‘ďú®ď*öL˝—_~E~îç~Nž}öů‘ůS:Çę§ţ±üÝżű˙’żówţź Fř˙â_Č‹/ľ(ßű˝ßŁQ,ţé?ý§ęôÂzř˙Ç˙·‚Ăţüź˙ójĂůąźű÷ňąű9wî?pNCź‡(ŕ —‹éă˙xq� _űÚďĘő_ý°ę żđ…/Čżü—˙J.]zJ>ôˇJi/yíµ×ägößĘ?řAůÎďüNŤbń?ńŹä_ý«ź‘żřTŻŁňGôĎkt‹ŤhD#Ńž€•‡˛aČśžžRă^ô¦¦a 9@ ĘĎĚ×ÖÖ5„=ňöŃ» Ś/ ްŐŔt0eŤl` Űý!!¶cÁß ÂŮ!šżXąWGqXč˛ć,·N(/˧‚CŤ›�o ´ß{,¤Śö{<hî:ˇ‘Ť\hĽäx0‡-›Ćb>­Č ݱšĎb$“8·©5ř3ę(ŽL×'án !Śäaëcö~ö‹ŘHü+Ř|—‘ bŕčaÇ0VÖŮy<ÔP!)IHôň§ň€żWĽ3Ňjz®EŰ˙UPH9×bĽ)ěb?Áśđ^ i!áRögí4÷}ňÝŹÍÁ+ýĽa ĆúN§ç _ýl ŤĂÖňPzÖ)ŐęľSŁż«ăŢţž†ŃTOX‡ŕ”ýE&ď$XuăuüÔSO©0ĹĎhy®\ü†ż@•cžCŔ©4l”"Ž^ŚPÁ5Ît ®#>ç>ŕɦÝÁ ĎĹ ×Á[‚×ęĹ|Î$†Ä8ŔÁľâ^ÁuG€Ţ㾢ďĂ~dW#Ń˝Mř…á)OĽ6ü+“ŤÝ®¬níËÖ~O#Wäa"ŘŔkú*3Ëu^î)(Ěßd¸!ŽĎ÷kÂśŻ2¨{‰ĎŃaĽzf$Ť@šP‚6Ó[ę*ć€`Ď*Ąźő¬Í¤r7“±(˘Qb ŁńbđĽ„QĽ‘–ŔĹř\o€EÂáĘsRX`Ş÷ ‹úň€sżťź©śĄŢ;}Đʵ-;á+÷˙Ь¬2âYHSCEs¸ ó˛Ňł4ŻOô÷rL|D‡Ľ0 j_„ŞhŞś•ňă#~h„ŹĚ·‰ľŃÎĆ­F<—ÂHV(¸‹öŐ+’ć-ů5 şĆ’TQíSôZ_×lž5€&CÂ�¶çGhnZ1ž–üeý«Śh‘éş6cL”Šäň(4öo8ÇcŞ®ĺáŃĎLW A#Ö<¬ ±ń˘ŻĂD|[÷˛Śj¦˙&%€hŻë”Đ[˛˝ëř—)gđ™T�Ĺ®ă!®\ąáţ:~¤±äćö¶FĽ¸}gCŔë<÷Ü%ĺW®\yK6Ýţ}ĺ­eĺ3çć<ŕslOŮKî‹bŢ®üĚýS‚1_‚ńÍó·iÍËý‰ýăÁĎs�XTĆëî+­=zď·żŁ(“Úk"ĽJ…ŹöîĂtwSŻ{ů­×÷Ž&SÓréâ 9¶0+K Óňţ÷]’§/?%'NĚËüܬÎűťť]•Ďxţ± ŘGb†ę™X/wň,±�G;âűé9źP…OŰŃQůźoÝŮŇżśă“zýž÷ęĎ=  ŠnĎěˇ_‘Úg7ÚzÍ.Ľěw¶Ü˝űęqŹëah?J?'E›ę~«ň �Nř[· ›MM˝ ÓÇ.ČúĘ Y»ý–lŻß’®“ŻßĽ#wV×eńƬcNž<ćö+€ŘS©ž­ď^˛N;‡S?A€9~ńâS ň/™ÉPťžŐ“€řą—ŚheĚ’w�QŔ+t8�ŕľę3úĘ_¦)÷ëLc� =MĐxJŁä)›©‘=˙ť6ĽîLAPBą#)x‚=<Üęî)ćŃç©ç›tgŻwÖó€ ¬;´uEÄ8Č Ú�ě/’ŤHAp+Ô2Շף´*u8†ů°ýşfÝňűˇŃHS�”_ř­/ĘG?öQM­h ßýÝß­`ŇkŻ˝Şgě·|Ë·8ÝŢEýé:ţäźü“îúërýúuuú}żď÷ą}ë‚ÎoDޏzőŞ^‹g íČw}×§ĺńôŮ7®ßĐ4ÂW®\qz·‡Öő°ßÉę«_ýŞ&mtňä ׎_”ßrí{˙ű_,öK¬×7߼˘×|úÓß)çĎźÓ÷ż÷÷ţ^ů˙ŕşJčěđű… çeD#ŃF4"а Ń a"çśđ Ź…Á×G+ 'Śi�VÜľ˝˘LAi´M]Ť×Ń(KŻmp­0aBCh‘çÁc±|Ć+,Ĺ‘î—bá«ţ»dŔP]*†«Ę›ŠÂ*üµ=ĆŁťhWk•ŕ¸Ä@”RĐČ+@['~GI°†Ö›@ ŽeŐś D¤(=üʱ°iJâH¶ţ6wş{Xď~ŢgŰÎůWěµüݦ ˇáŘ‚BřSbp<b3wbÇ˝�Ŕňlű¬!¸Îđ`ËŠ[;—,‚íň9˙ŞsÍŇ ’HŠ1á81mC3„>‡ł�Â*ďŔFÓ$lń>ĺ»×Vâk´yo)4űű=¸J ?Żr}…”Î,Šg›J¦n-r|Ř7÷«�µýb÷űľÓéŞ@( ‡*ěCńÁőf×]<‡ł¨]říâĹ‹ B öSÍ!ݎ1˝â ›nkż8{pťŤÚ嫆GuăaÁxŹßl8r»7ńěg” d<΀1�®�đuŔ5Ś\{ń=ŁoXŕ“*mLęöë`÷*_ř|‚}F4˘{¦bÝy•ą‚ťŐ‚=§@EÔŠť}§ŔßwkżçL ÷j�‡"5ńa®łţQ©Ä=ë®/˝g«ő,•ďö'5´K¤( ÷€)öw<řě: �[•FŮ)"Ő˘šă99€˛=oĐ|ďń}W%xú űťĺsô,4‰Aĺőž‡âąSą?/S©g‰Ůócž¨®]ö{ň˛Z§Ú§\ í }Ú˛gq(#-ŚP䑲*ŔóŁ‘s“Ŕc=ă7o×í•H gŹ–Ź5˘Ů=4ŞJÎc3Çr©ń`÷Ž4"č9ˇgEV*ó1nř”[Ł| 0ČŤäaó–ľ n0Çą$Ő”!i0.$˘ýťe%@$÷g.ľCš?ŔÂ�yâąLŢŠĽ-�BeôŠP¦0‹osµ/Ĺ ÂXöŔtn4Şë8 ` +Sxoq\ëű“yއŞ|j˘)B2öČ=QĽßäfĐŃIČC¦Á+WÔ(55Ó”7߸.[›S2=3+[ÓcÎĐž¤)—źľčö\đŕ ÜX;~Ő±i˛¶/[xĂđ“ĘÓO?ĄăyęÔ†,/ßö)!ć罡ëţeHö×ŔŢöá,ŚS+‚ĎeĘ[†˝ŃGRň�‹™™ IŃg÷FĹĚ}řS· aĆŻĂ®=ĘőG)ëŔ==śź=7–7ďµN\݇_SŤrń˙؇Ţ''—äŚ3Ęô›Ţ#‹Çd~vZfç¦*Ń"˝LW:Q0šCbyť|<ËYń{ü—&iĐěăŇáA<�˝`EOĺ§­íŮXw/'\żÓ•ŰwnĘŢn×ŻŹžŰł €xâ=ö[Ţ`›*2iłĆř>¦`Š©Éiő¬ßŰßqĎÝÖt�𪟟RoüPŰCÇnřďVÇ#°•ĽcA6šśĽ,óÇNĘöĆmYąuUÖn_wý Ĺެ®l9cŮ9qrAÁsóSE=uő?8ŐVM[î•ZĄ j6ď,kJNČśŤĆD!s‚¬ÍR<ÎVOĺyčŔűö3(#kvşŘŰóŕÖ$ Ž$Nno9¸íO4MŞÎㆂ°ß[‡—$-ŁÎ‘Ö?ĺgĎë4Ňf8÷Ă™P€ä<CÖ "X¦‰÷6R!ËFM ]ĐD6UDťĐČ{»®OÖ4=O{lÂť»ăAo×Ó~łŃ)˛§Ý†Žc2¤‡ő`FDZăäyłĽčűëź˝u{ŮFô hl¬-ßôáË˙ď'ŇŮCîČżűw˙N>ôˇÉąsg+×!}z ’FĘě-««« nŔzZX/~·i76|úŢ3gΩ“.\¸ —/?-O=ő”loí­#öA<ëÍ7ßÔ(ă(עT0Ň-ô€xOň<çŚ{ţzEźť-ś§P?Ť€%ţ<DÄ čí¸Ö°Ž§¦¦eD#ŃF4"ҰŔCSÖz®4ŽÎtâŕ|ůĺ—\ˇÂEÇĂ °FîŚĘiOb`„U`2‚Ţ«RËńĆônÖ0ŔR*¤eęM-1L)zŐ!šc¦Ű°­qŃ‚,Ő)oę|*űÁ$1ÚÍĂG…°âďm=cŕźA% żł^íÖβmŠ ,uĆ_˘Ď v°ăÂv‚0ĆŤ ü§?î;®¬7#h°ď ¬°í°` ôŕ5q˙Ç}dŻłu·ĺŘ2ě}řžŕ!¶ÍzÜ[ ź?—ĺŘńµżŮßY?–×7n S*°Ě2bDŁb˛ŠúT€ká}ő911¦�‹8ť`#Žž˘ÁČ{[ ={µÇŠç3Ľ5L|Ď)ŇŕiH”¶YJoj.5;žĺď }ç•=kóö´kÖÇ~ć‡2aűP÷<\‹¶Q‰C` Č_tťôJCŁý^Ç0Ż‚”ŘN*¸B FôňŔox&Óh`Ľ!ś1•öR;!ĐüÁůŠ2rŔµöąČ ‰sĺ`^0 çç=×*rÜB8<sćŚć¸eÔ ?ěžC€ Á;¨Âp¶p΢m|”“в‰Ô,€>ŹČJ0˘'†8˙`ČóJÂĚÜž¶ÓMdc·§€ ¤Ńąś#Lľ7*«Wö†{×˝ůˇĘđaFžř÷¬föżfJ B¸Żâ][T#ͤĐ+Ňňeń94¬®Ę^Łî,łĺTŇ-„P˙ř‘{OáÄJkžąş?EŢ|~Ń ×Më—|™=ňâHŠľ)ř¨,7 L?HTgűe1Tq†ę Ć8ęHjFc>Ŕ{$ŢxNs=üô÷°wjtńó”Ď °WPOZć G•ŃçZd�ˇîΆIÖ¤çŻCßËa>ĺ4í& ŕA4“^OKŰ&S~<ÇŮÖŠ~Ď7x�ĘŕXřĘř±">BCk'io"ŔEű ŢŇR#XV*<E,Oč‘z0QÁ—…ş”Kđá*ďQ'*.q¦óü/eźĽVńďmýĄhGÝX^ ĽĚ˝·u 5á·eÁjÉ:ejl‚÷P6'ňú+×důć¶´×&ťÁr^ÚămÇ«ş¶ô÷uO†™)iĄŇÎrcůŽ»BćfŹÉ^Çő[×˙~áü YZšqüD"·W¶ÝśŘ7sôpCÔa}vĐ5~ţd:–[÷ĺrµw°ćg¦=$ĽîAu‰#3Ô‘ČýŮZß!t`3َŻYÍwuď諾/V6áŮSňěĺs219ˇ†”ßw^ŹÍČÄř¤ĚÎŚ»ë¬.ŞŰń©Á<żNđ´mŕAg},˙Ä×ćąŮ/ĄěK+7ă=x)Č,>ˇ“—»=MS»ą±Ł©z6·đ[GöÝ÷_ýŽ}©“Űn_“‰”ˇŐÓB‡ŕŤĎő:îG:qéö:*wíěşçm"uá¦ţ659Łér!ŔŐś÷ZfŁv<ř·Z•g†Í*ŕJ2ŚÔĐ4=#“ÎŘ4»pB6Ohń¦¬ßľćö¦}ąy뎬®mĘŐ·n;ůk\–ŽĎËéÓKú>y(‹3‘{_ôw1°:nGľMÁ4wCjřëuÔY#MŰ t HĎ^SÇźŘ÷6Ęd�a­ˇźu´LčC�^�8ńľäP:ź(×pţ¦V÷’„cŻIJ (Ä+?§öśÎŤ˛Ę+Vr€|Ô)9´ď,?0ě\˛{?Ŕ„5€@M«k·e{gSעX  őž>ŞËTˇ?i6ŰF•Gk*xľŐÁۧb}–ý>I’wĹY7˘GGřŕKňÓ?3%żů›ż)ź˙üçĺÇ~ěÇ®a4XDű&]ąň¦®¤âŔo8/oܸ!ÇŽů4ׯ_+ŇßBýĺŁý¨Ľřâ úÝć¦;Ű6¶ää©ăňőŻ}chý /\ľ|Y~ă7~CľôĄ/É·}Ű·r1ž÷wţÎßŃ´#—.]ŇµąĽĽ\Ü»··ŻöÜouÚ�Ť!Ýę  ô†X†¨'«:[ÉF4˘ŤhD '`qüřR0Zy =ůĐ‹Tţ$TÖ<7(ÄŕMg<Ń÷ ° |4„9Pä±¶X2 Î ăđľOo@ŻIk(f=â0ľ"RIk0,¬`,XĹŚąUŘÇí®gäŤŇRJs,¬±lČi„Ą‘B»}†UîĐ oŰ{ë[cĽ~łB‰}ËA],Ä–C#* ¬; ě|®mÄL…UĹm/Ň'0…ýküžamm?Řě‡ŘX“UĽfKŔźĹgđž8$Ăş±¶ Söť­ł6ĹB*ďµăDsŠýBp ëĹ( 9 …N†ÄëŢ8â_š˝#c¨lďĺš÷Ľł $6ň[Ăă�CÍ0žP"řĺeHĘ4xę7ˇO|şf怱,EjŚŕů/&MEání÷ 1ÚQ¤Ş˘Šű×d%CÄôcę?'Ro<´s‡ýÉőˇźsŻF(ô˝˝UÎlo免Đ?3QŹ(+hps^ŘőÉ5… =‰}ĹDJ˙ć*±.^8 9” # Ŕ Ľ¸çáz*0đL\‡}:öv… acqçÎťtkˇč„0Ĺvá/ž ŕ…Ď{ęç3˘Vŕ^Ü`ą¸Čx}Đg¸÷ŰşpÍíÂŽŻĺúÁgÖ×úČ!>í Ó—ŕs~7š»ŤHĘý8Ń7VşAAr�»)Ú   «Źkř ţ»ÜyͰŞÎÚ+Ksî™ĚÄ0�Ѝ‚#J;# ˙Rî‹ńo5úüÜx­K¬@΂Ń‹4)Ěí0 #ďóô ĂhWďk9%5śĄ± ‘g? č;o“Č‚‚ŕđo()j�{Aßós S“…:ĄîŞ ć®,m[Ď+žôl·^ú®�4ŕŃéSŘ3ׯÇ+!„ş^—áy9ËčűHA‰Ďˇ^(´“˛»Ň¤zľÔ6x¨±Ů Ťá•ăA"±|h*4h$ˇßńňFť´�°žiž‡ }Oż÷ăíř7uŻĚµďJĺx8gňŔ‰_’´¬(ÝZń7(ôµśĚ§ŰŔüVŔ”}i¢řHR©ü\ŻŔbë”ÜeÔožÓ�+ÁP_đŰąSÎi‹ÄśýI€c&/Éşn~¤ľ_Ý<Í ăú·2Űö’á`˙ę*ĘĘţÎóŇcËýűľÖźăÝHyš{F˛bô,đĐřĚs:–Şü±”ó]â4tř7-®©#ö‚¤ädĆâ�˛üíđßYO˝Rű•ĆK€„đąßC´®]9áäŘS'ŹË­›wä•—ŻĘŐ7ÖdjöĚÎĎj$ V~ŐśX:&ÇćgäŐWŻĘ­kWdÂ7gťâş©üdžîESÎ ÖÄşmVú­4şŠ©=/z$2ťë÷âÜČ)Gç[�°ťť.×µˇŁa¨§…Ż «1—[ţđ¦ď� 3Švý]őű`!•~#ŹnËŹźgݵňnÝ®€ŚĐţň:–ľßżÂFĐs—ĎČ'>ň~9{ö¸Ľ÷ů§ÜĽ_T |{ł™`4ä>o¬EtADyáZlvą—˛-1Ą[’—Ľ ď*örÉř˝!ď!˛ź39ýÍ®3FŁ~űnźÚŘŢ“őµ Yßč:yĄÎo¤pčÉÍ;YŮČdsgĚÉ §ĹCčPÝKíţ{”ńÇým¤'hµŐč ďyě™vvną}"U Ĺää´ǵ\Őžf¶¬Ź ČçG!Ü3>1ĄŢýs ÇĄ{é}ÎH¶*·ßú]×W+˛·ęd°ŐDnÝ^‘+WoĘął'ĺÂŮEzÄA‚î«Ţő8ČDuFîaŻńöxKőnő„hsšŇŻßSDŻ×Q ˙ţöęŮXꦲ"˛‚ʤąŻó7Ë÷•§kµó5Ń;(4šmĺsĽÓHÖŇŕŔĐ,ô` ň3żsţ*ꦕďÉÇ×G}Ć3ČîC¦ç|d‡!ű‘‚ťű/ ëü)˙.BP‡çGëô’ěK%sŻbˇú^WĆôÔ|áXşaýů(ű…cŠ×ťÔ§ţ6ćw3§m=+ß˝ýËbDďx*ĎT¤˘űđ‡?,źýěgŐÎňˇ}@×Ď ÷Ľç=ňKżôyůÜç>§űöš˙éúźě�ű Ö"Ŕţóţ/äđËúú†üň/˙J‘š‘Ç?ó™ĎČ?ü‡˙PţĚźůÓň żđźäöíeůăüŹ»ó¤©�°7ß|CSŚX;öš—^zIľň•ŻČOýÔOÉÍ›7ĺŮgźUŢO˙ôO«Îđ}ď{ź®Ç÷ż˙ý…ăňĺgÜë’üç˙üźŐë#ůH‘Ö™Qkźzę)]ß?ó3˙Zľç{ľGźýěżvmú–ú9h’тѻ‡ňĘ»ŃÜŃęč‰Xxćź‚«'ËČRáCD!×ŕqă …rƸ›7oËÍ·4|Ult®˙Ňc…ÁzĎGŻ€˛FBi őŢI3/¨ŕY`Zâž E*Ö­gw Š Ý‹ iÁ Ă ˝E_F÷Y§Ť4Á~´B Aŕ‹HlÜ/ű5x‡†2iÜeź@Y"źi0č]oŤÄq„ÖcÂ÷ŚŠ÷L«Á4xOpŤě¬Żő˛#Č€u±e{†¬*�Űľ§ÁŐö—{ ś ňŇZ(üŐ ěúŠÍFÔ°a>dßŰT¬űÔÖA"Ń-ěśbý-°¤ś?©šĽ"ÚĎ<„äg;W4Ąz4IˇDň{@Şk{rrBąńľWYŁŃpŘŕĂţ€DŁé#&Ä*8&űBsG¶­VXݧ#¬Őp«5‚”†„Ş â°oY¶ą×íËfH_=/F\€1źőµ‚‹ýŽcm•¶6 Ke_Ję[ÉqĆ>‹2$g;©}Žya†yAřlű÷áZ(e ŚŔž ˇŠ×ŃĎ+ĽÎÝ_\e$ĘG” €.P€đ4Ě›“'O*¨ĺá‚3ěĐĽá!.ę�ÁŚë‰Â#®cÚ\ĺ Ęç=đPwö®µéJěXŚhDwKí±q™™×Ü© :ăsĺ}R~R.)©^…ýµŰsŠÄ¤%ĄŤ>€”ϲ{B�6Ň\§�=Đ2V_©{EJÓ^Ö0öX[Ď愍inn^Cřú¨HYĺ|QŃmÉ@˘8“đÜŕ}Ş{ARđĘ“„sÔ[PCŞ‚�ÄEđ:Ä>ťd’ ´Ü›űs ^ziŃö,üÇ8jíNŐň-˝ĽëŚ?$ŕs\§ŐNKLÔń“ܱŻĹˇTŮŻΝ׼·´Î{�Ŕ° #đoř-(ť4Ú…”<#Ši$! ŚËý˛8OĘ~íC}xR‚+ó1)j •Ż-GŞuOoˇć_͇ă•÷-7~ 'N)`&^8CćçeÍ)Ëg 3®¤ń#MżH EE.Ą˘X3”SI’ADž÷¤Še»fě÷•Ď•ďüĘÂŮŚłđaůq‚€´Ŕąďpz^Ý@y=•Ľ– p–Ŕ[KrőĆňß±A9Ô,ĺó± î×CŤ{`*Ö°™$4tboIuL•oXËdg»'3łărîÂiyú™‹ňňËŻËëo\—·Ţ\‘ńéątéĽtaŃůpöĚY·VĎÉ«Żż.ŻĽzE^ů†´Ć—äŇ…SއßÝQĐqĂČ#o¶÷ GŠ1|ĺ>ÂJuďh”©}Ú­3źŁ*TÔ©î–¨”@‹·›*ň`˘óäőŃ`ę)&„ołĆÖ: ü‰‰qůžďxIĂŠź9sJ^|ßł23=R ´ >YÁw)Ŕ%ťeś–$P§ĂÜď’˘Ťš‚3I˝ü;±WO÷ö»˛±ą-+«[rŰ˝¶ť\=76®{ A€+k]yůÍ'şő—¸ó‘+ň %z”*¸áŕ±ń{ ×ŹP7‚>›žžQÝŇć@ ˲ľ±ędDě›…Ŕ'ék˛N·tŻ„zµÇ'elbJ&ť±lĆńZׯ_—íĺo(€ú2¤SY_ß”7ŻÜ”KOËůł'Ô"*IWşç}(Ś÷ä]¤~ä:Fú4ĚUďĐ•©D©+ŁS@ç‡3dômU4UE«ťşůËÄä¸ň¦Şhú¨ž‡ô€ ¦KÓÁ¨ ńśµýPčW%hoü>nĎĚ»ĄžăűYýŮV=ă«!;ÍÓFćt$Xăű>iĐ+jD5a˘¶[cS•©$Čó¸{ô:˙ˇĎšĐh<dQ>÷h`*»w×őőŃ÷đŤč^¨\/ßüÍ߬`…OúÓŞWc„2®!€~č‡ţ¨»ćgäŻ˙ő˙«ÎIDŁřŻ˙ë?Łűɉ'őýOüÄ?’˙îżűkröěYe¬«<ĺ ů á/¸ßBţ‡˙á˙ˇ29�ř˙€FĹł^xá˝ňw˙îßUťě4–ŕ$őC?ôC ăçţçĺźýł¦úAÔá‡ř‡ő”ń]ßő]ZçňOţ‰Ę(űĎţŮ?+Ď<sY÷şďýŢń7ţ†ü­żő—˙ţż˙ż)¸ă_ţË)?ţă?®ząO}ę[ĺýˇ?T‰X<˘ŤhD#‘Ą'` ą˝Ľ2­ž’`4°`� 4|ŮPďP¨"Đß`ßxă 7µ˝í•¸hp €T€ÉV'‘TÁ|†…‘ŠĽ¬Tč)Çám6âčnĽ+J•č{«ř೎ÂčóŢŘ+^ŰÚá‘«ÝB�aůÖč[†Ä.źÉ(+P1iźĎ´+ĽŹá˙ Z±ő°ă÷-Y#4ƆŃH¶Óś`_xa2íu„-@Á]X.Űlç¦MBì}ž]رá}—ŚFŔ(V`&¸‡ăgű‡9x­í‚lŰ÷Ćő#„ß…©Ś»ŤňaÁŕ&żA ć(i  ô´Žç[ldŕ<bŢM®[Ľ‡!őŔ_‚XĘú–Ę«,»_Uť`ÍşĆ@&^ç'Öą„\Ş»űş?ÂđŹqÂxˇ]>ĄR:TqÍ9AÇ0nă0…ILĽe">C(Â_�€· Ľ= 2¨?Ćíaôěh Ú…<ŚŘŁQľC˝q-ćľ%\{Î&8ż�„Ă}ŻĽňJQOöž‡r! Ńŕe žKݱxě0íÚĄâ…ý‰{đB9·ŕyř ucÔŠx,F4˘{ˇcK'äů¤ĽőŻ˙…<â`Ł:yŁĄ7ôgŤ,X÷˝`H$qo{٦)1Ď· ŮŠń‹Ŕ`tĆ@%~˙g>S[ć‹Ď}P~ń?˙{gDŮtFĎŻxĄjW×,ÁzŹĐó<KěZ J¦<VŢć’™l&iâĎO`0ü!M2í4çI4Şß˙rŹ)Pśžß(Ú[úĚţklYß^řJ‘#—‚żA= ŕşxábmżĽô{ľ]®ţłź,yäPꍻŕź2Ľ¸ú8y”Ž0�ŤYŻWéü3U’ĂŔÝ `cđŕ 4č{#Óuíć<˘ěRS±Šxđ Ů# )<ťZÍAŃ�„‘ýÂo}±řnŔ—”`šňK߉ Ď·îIń)Ď«†­qÂW•/ČúG?,ĐB˙J˙H÷áŚúŔKGAZŕÄÄůŤsyŽÇĆJ”ĎUîĺćKž“<j•·¶� ĽťDżw׬nĺ˛0Ő—ńö˝{Ş”>É?ˇ”<ß«ű”«?" íí! M[6¶–ĺÄҬ<űÜeyńĄ÷Ęď~ő5yýőërëú M"É®¬®mČť•UÇkĚĘS—λyűś|ýwż!ŻĽ~SćfZňňkw¤=vBĆ''ÜşŮ=’śËJźw!G'§Ů÷ÂÖëzĎéşµTĄĚotąçó§§'5b’Îëdx=}…l5ňbű} NG1¨ń:Ňý¶ŁNăYĄ0¤ä`:hyůÁmSażÉ“Úç€0ţĹ~đü9y|A^zń’;oÎ( xČXŰäË!ĂQ¦CŘo(›Ţ=P§¬SőłTTIĎ#·onîHgż§)b÷ö÷důÎŞÜľł%«;AŕŚŐ�dĂČíó‚)PďÚ­=yăÚ®xçŕÓ:{Ä:©ŁťaĄśČąĺőΠ;1ĺä‡]Y߸ătWđĆ]qűç¬ĚÎĚ+ăaP,’–m°µą%;Ű;Ž÷“é/ČäRO¶—ż®2€`++k˛¶ş.ŻĽv]žćŚFµ(Ňň–±DDÄĆTÉUů±M÷ł6ýĐtóĽt‡ßĂľĄ#@ŻŰTyócÝë;˝^ "R4Üއ±¶F†Ń4­f±ö4ýš¦ię|¨NxCŐ°_§ëŕoőŤŔcOf‰ŕ#!prŘşłgݞąFŁÁ«ł]‰šŞŃ)§f|$ŠĆPw·ŮŹźßŁŔŻ2z&t »»;N·qSűxllB¦&§5ŤOă.RĂX=×”ýŤm)úä1<űFôÎŁ~đ‚sěâĹóňŹ˙ńOŔ"¬Ź?ý§˙TEGűţ÷ż¨ k#ŕ>9 ż´çŐÔäÔ«ĎÍÍČŹţč+˙Íógőęe9§˙ň_ţËĹő1áĺ9~đĺ~ŕŠ5A]>ŻÎń~ŕűĺűľďű„ö/˝ô˘üÓúŹŇÔhřζ“ĺť?^~ćg~f¶ŃF4˘Uč‰X¬®mąłŇ§ĆK/ľ$ˇ®ŚŇ3¤ÖHhÓđ;0¸ĺřńE9Ĺ–|@•đpčK ńqĐâjDoP±§n«ĐfîNýěę8îw~Ćc Ę:ä…Aۦ{°FN~>Č [†=šş—ϰ×Ć‚•4řŰôVÁÇqAřĐpaëFŹsőŞ´s ĽL8n4*ŰhĽŹ}j~Ľ:•Č dy-řĚH6ĹŁ_€8>–ŃbĘ«�ˇÚFu•$qł/ů>´ě¸ň=Á ¶ßQŰÎř:ĽZ—‘4hDŁgÁ&Ľ‡‘W%ϱŕ•8­ ŰÂuÁzú&W řMëiÂG˘n0NY†ĆtćăőmëzU(¶¨T@ťˇĐS&u � äćC?ř)Y!D—s8«ŤjsÔ5uĹ�ö5ÄÂ6Ç~o·#۱Ýí¨O€ć&31P‚÷Ú+,‹)sřť@°NwŰ.ÜO`˝Ż ¨ŕ{(Śž „ś'đ¶F´ FÂŁ0Ŕ0úU¬@ä:� š %´ Ö }„=í¨v¦đ{=ç ó/˘ăÁ‰QA؇¨7Ç {sËPÁ¨ĘAđg¦AÁ ×qĽF4˘{!Ó˙čýüö]Ţ|ăŤ{Ţ—,q-çů`Ä›4µ�Ě4şçŢžÝLҧÝË5ŠŐ¤Ń’ě#ňÇř˙X[ćÇĎ·ËŻ}ůóňs˙ţł…-0«±PĚ~ś— ŻŘĘJ°Gŕ4"Bű[ł´˘7xŕź¤Ś‹!AŹpW;MżpN2¤Ë"Ł‘íF>#śˇŤ$Ô=óxżA±îËÂ>ó-źř˝ňŇ ŻöWčÓďüTľńĹ_“×_}5<ÓźQa`Ëó ŕ‘ž2‹8ĄuŇĐPĺEŠ­Ôř°˘+ÜomF`âŮB;WfN‰! ýć_>,ĚtĄ¶^NČC g@ég.ČÇżűűĄ56čYúÔĹ3ňíßţqyó꛺oűą(Q˙Id-!*BÂ^ćÁIŤi(DP!ř‚Sň.Öň Ń±ú™`ěřá<zéý/Č·ۇĺQÇŹ|·O«µ©g,Ľ´m”7źJ +ö•$Őję¤)HŇŠ7®zťçů€ ľzi�r9yl\ T÷~öbvAĆËýüÍó˘~žWiȵuşĺř›uŮĽľ+SÓł’őväÖÍu9uzANźY”÷ľđ¬,ßÚ‘·®ŢtĆßméô{âl“˛ľ ţă–ăçä©Ëĺ}/ľ$7oÜĐü×Ýýu9v꼬ÜŢR#Tăřµ»˝žňU)€D´ż''ÇeÍą9$ďón‹bQěËŐÉň Ô řB@Z�Ň$ąÇCĎáĺ:'Ź5ĽcĘÇ>ô¬|Ű'Ţ/—/ź‘K—.(ŻK�1ĘÄľI�;^bťŚ­W]DĆĂćĂ0ť‚"^ăuś§;űú°+»;ű*÷íěěÉćĆŽ[7˛ćţf®Žă­T&šŤŠüŚőÝsioż/_ţÚ¦[‹=Ť Đj'ˇË†×Óę(+4V‡µ1vp€Q}ińŚtfö5˘ĹVxaďśź[R† D ¸÷łĺ‚ÚŰßQŠ‘EuŻsĎěäŁ NkĘ—ťsd}ĺ¦Ü|ó+˛ăäTěkk«ň«żľ*_嚼đüi9yň„c“Ş‘'Ăl9BÄť{Ý7Ű÷Ä~„6Mڵĺ¨EqŽ@î=sć\˝şâÖÓ›2;çútz"8NLčúňŔ ž AzśŇÉęĘľVóQq»úśĘđßęúď~ú:Á<—Ú˝B˙*ř.+ŇŁŕ…ůiS·Ű“23M]PKh|ők´Ş¤¤ÂËŇÁ/ě3XŰŰ›n_ŮÔ±AZźiwĆ·[ă”DĂ(ŢźíµBŽŃęë‚„yGQ’đšć€Z‚â2*ÓRły¸Éę űI~˝§CëhŰyP›ęúdD#ŃF4˘'`‘k¨<„”íĘŘx+ń*”¨2 ±Q ©ĄwSéĺ„p—‡uáÂy˝fss+�.n8Ţ^Lá Ďű­i €äl4ÂŔô{Îp ź– @´J?›rŕ #ŰAx| … Ë„ƨ[ĺ ć±Gµ5ÂŇŔ©u6†ŮňZ-µ¸Çđc Ëń@¬b¸'…F{FR°)X>†~K©`±ŕ «ŕ©(hŚa™`†JcT ś`$ < ďmą@Cĺ“ «K!ئ†‰ŁXŘT8Űącç;ď§ŇŠýCă5Űg•ęŚÔŔľ·Š ö±)BŇÁFşŕs~±J$ÎŲ/DCZúnöĚ+ŢC(SĹë„z‘Ň㉠k*ĚE˛Š}ßsś9/ˇ†QV|XÍL=Ů. Đ)çAj”!Őô.uëň~„_;ÇIv|Ô,„~ ß퇰–�TŕŻzF¶šÚvôç<•§|Ďh%č+V¬ëűn•Ţs>Ń#� çę@�v~X磊ŕZĽ8n DÇ č®) ‹ĚőËýă­·ŢŇpřPö\ß±®Q9p?®E?ăŮŚFá•X>Ň ž‹űřBť PF;ą§Ůţ`Ħ3!Ŕ„óŠ{ŢŁn#ŃýĐżéŁňŁéŻČOüĎ˙yýµ×Š5t/¤kĘ˙»†ą÷ Ƥđx+|ËsA¬®5˝ÇĎé7ć fČCěf«í –ÓňáoúüÍżů7ĺ úäżŐ|±˙Ë˙ňd}cOß-<K‚çdŇĐ ‚m‡¶JŢŐĺY/Wyť,|í°Iů$ú @ ź$D# $áü驺[i0Ňç‘ń>aÇŇp”ůTW=9”`oQÂůß–ăK'ĺ|Ď’?đű˙ČĐ>Ŕŕţźţ˛üÜOţĺőW_qÝé÷ş•ţ®ŁÄĆß݉‰IXh]‚ŤKÓ`K“‹š÷—çJPZçR¤‘ę„Čú_–çsâól %ÜÝë…-ŕŰărňŇ%ůŽď˙S2·xbč}űČÝٲ-?÷ţŁ;ŹîŕŇJÝaÁ5i;4tĽľó©s†Öév!Ţä±]énÍĺsň*Żäż*ŠĆ691&/ľ˙Eů‘˙Ă÷ËŁ"{z…l«8ăqî"ěý8Ri ­Fŕ1µ…ŕ…˛</˙‰0Ťď#ˇ(OŇĎÔ8É™jÄóy_}ł!»Ý†śYLej˘&5Í‘Ča}ýhDýü~Áô.¨Ó„ăŐžą|V^}ĺMąyíY›“ŮůcŇ鯻}'—ąŮu×nđĂ=7;%[Î |ăúM™śs×%rsu]ŽĎíĘÜĚ|ç§>)kë[rőƆ´Ç¦¤ĺŮľ<lĘň*Ŕ"?Ň U4Y0’‰†Ż_ŰDd°*zTv˝M•}Żił%0ă ůâľĘó*Ń€@V.ÔuÔô×ijŽľ7R"şČüĽOË7>Ţ–çź˝$źůŽĘůógślv®ŕ۱nÁ3ú^ŕy5ŤVrp›ř›•;ŽÚĂd1ěľXëý̧ţŘ bĆÖ®ěíwÔIgsc[6Öma_Ď]č’fÜZňgo˘<Róř ]CGno$rĺúžt0>a ;2ĽžĆúY9k¸!·¤(–UúČß_ę±őg|ü”ăöö†kۆ¬¬xŻúé©9ő¨Oźró€lSŮťs{/ ÖET̆ŕvČEř‹(6I´xůę˛,ž8+Ë×_•Ű×^uă±­|ä¦Ď˙—UwŐďČéăKrů™ł˛¸8§:€TS,‘÷áľúN!vp˘‘;č(t”M…ş0ȰĎ>ű¬ś=»S|‡±k6« Š*b0­úÎ~ĎgŘçŐńÜV/P÷}Ýuj˙ň�…říiϭ箉,Z8Qu÷ôl‡ó@Ť´©ş$đŕKˇËm·ÇBŠY:®‰¬!bxʤŚÔgy'ę‰ËîHĚ ×ăě^t/w–wŢÚ*"[`ܰ>g¦Ä@ÓÚ>Źi|ąÉ=ň$#ŃF4˘w25¬ţçm¦4y|Ó¸ŤhDo=1� (l!Ł€ ÝďtewĎ+˛€×ţ2ĹAü˛Â;¨ ľĐõąÄaV˝‘oĘ =Ϩá ׍Í-YvĆŔőŐ5U‚é‡qĚ>ĘUP…MřçäEŠ ŕóşˇN¨ąC®5Ţߍŕ€`€$°10mÍĄ mHˇÜ vlgť' A †ń˘áź`‡=rżDŻZ2Ëcě¸[Aŕ dŕómۇ,ĂŽe ’¨4°|¶żaB”łľ¶TXĆQ1h(¶cÉľáŮń! Ăöżą 0P€`·ĺ۶đůq_° ÍĹŽ«m‡z˙´|>б6<3|ČĹ †Ś-„ÝŇĐ—ź|çćÚËĎľ?}z>”ŢvR™vžÔ*ęÖQ<Żî•ěş¶JO�B  Ô=%¤‚‡'ç.˝>µnIąćą‡°1čŶ‹÷p^Öí1w»‡°\Ľq/´Ŕ(âú@J&Ś">ŕ7~�÷3?;ÚÍß °#šJ(�:a$Q8Ďń¤A}žţy˝×cßćE9řÝz®á~(Ź™6őŔ}Tpˇ.hž…żĂTF˘Ţśk(  ÔŰ*L·ŐŁ« …§!Ńî–0żďűPŢűž÷ČĎýŰ˙ż|éK_*ÖĎÝR?ĂąÖ {g?´˝2JĂ$�äôß$ö‚“NYđRŻł©Ý>ö‰OČüáTęA`Ô_úŃż.zńSňKżúłrőĘUý>—*(LŤ‰WÎB ĹiŹŔĎž7ň* OŻă>�• *ĄuÜď±Ţ“°°›'^Y›…0űjwLÄáŃ l  ôž˝ů đ ďőËO?/ßńÍ@ľé›ľéŔ>Ayç/]–?öţżČ?˙źäµŻ}ĹźÖ+JĺňLČ‹h­’$¨—ˇĽhWP;çĺ]±]Áţ~*ÎáhÂĎrŔDCÝË4l“Órá™÷Čű?ů2żtRŇY@!˙żűžOËÓO_–_ý_C®^˝jR÷%µŹĚĂëa)“­ŚÁ"––NČ_zZľő[ľEĹ|çA‹0ŢíîěŞÂ§ŕk^şše"DĄčg%ř4ŃW({x^şć2mMÚl»2š…ş±ş/›;ąś?±/óSi�üŢMgűyˇĆKF@K=ŔC4"I?�@Ü~Úqü´3ĐľôŇózŢăëoĘúÚMYYkÉâŇq·Ç µ"­�´*p˙ř±¶l­ŻÉťĺ+˛ş>)3 sŇqĆáδ´0©†#g—­ŕRiČýQŻ«c%ĺüńü‘oŁň9G’O=Ń>Ú®]SÎč+ůÚ€|6`Ä»KŰjžČ=+ŢÉ4LOő+ nÜŮĎ€ěY86-ł3“rúô˘|úÓ–…™Ygč=Żç'îcZEđĽt|�˙Nž8»az‹ĘóŤAa—×VËg”¦ţč+˘ăţP±ĺĂöÖžFŞ€S€kk[‰´Őnęů5>9®‡´O‚Ěĺy}šěî'˛ľÝ“Ű+»îoUą|/�śxż;¬Ť„fďçwL#Ĺ~ctxÍOOÎ:ýŘ–lmo89MAĄ*k»ď[îo öŢHÝ×ţŁî@TśwV~ˇÓdČp^Ď&áü çbĐŁŐî9}ţ9wöž—Í•·dőöuŮCŠÄÝMĺ1oÜş#ËwÖäÄÉcrńÂIY<6Ż0A'ő¨éAśă^7ćöđ6väFv=xĎë¶®+ô·ŐGĆ ŠşËń”ŐđćŐşXťG\Żaý0Ŕ“Ő´ĺA}ďö®{íl:ÝČľ0wZîLÇ|é‰�¤µéo«NwyĄLOMę"¸•}0ŘV»Fůś±ö„ľćçr~ěěnk´ă›·®†4"ă291­ëĎ««�ĂŔů۰F4˘ŤhDŹ–Ž7gd:mËfŢ}hş…ŁÎśłc ŇJďWşŃž,zb�JąÍÁK#ł÷övU‘ĺu-ön¨’Î Y![aÄ{UĂÉÚ0ôD%xÜ/.“ă'–¤ßői`÷5 kPśů0Š0H—Ń pŚhhĚŁqĘDFDfäěŽA0†5x¤¸Š‰˘ňQ ­ôŇ& ÁűÉ4Š>,ŤÜÁăÁ�¬Ńźż±ß­ň‡eá94“b`…5\–cšFVľ·eÇž˝1˛śéO™ÂçíslS‚AâH$’ăúŮÔ¬S‘Ř(¬ł-Źer b`­ŻiŘß8q»ě÷6’IˇlŤŔ ÖPĎh4řS9èăPÔLŞ1k ([ĘPŤv|Xô–âwě´«Śx’W�L–â9vbŻîž”G%kČ'ř:§,ÜďsË{’yŹNÎŤ¤âůëSY=Ç$ęÄĘ{]ť’ônÁ, ő°é?đ ‚,ĐDw@Z|GpS|°Í>BP«cüN ë†ß:ˇq„Q+ueź:uŞH7âs€{0öc>‹ű/AD@ąĚ´8P,ď+�7đžĹ˝ 1ÎMzőˇ *,9Ţ µ‹zŁŤ(¤8Ѣç^xżľž,şźőáďýöo˙”ľ)©^š‰Ę5u;auŮZ [¸'>{Š’KĹ®-=?b;“Ýŕ÷wy.MÍÎËďůĚÔ×]Q^Wˇ»ľäᑵß˝÷ůKú:ęŁŢ ôö©h)>ď”ßs„÷ű¤;Gq®B¦ë8)CĎ[1ům�iA Iôż™–|b´kÔtÇ}W•7V&dżł%łS ™™LjyˇzJ*kÝ=rő„÷ Ńżíîudc{KŽ9žbaaZ>đÁ÷ÉÖ掼öĆ[ޏ#·nnËŧ.ÉĚÔ´ěl­KŻ›ËÔĸĽôţ÷ĘÖζĽöúUŮ\wrćm‘ůĹłšSľÝbşüÓ{¨śK™‘|d¸ţ÷¬ňš1gĚźžž”şEËľ–8D®}·¤‰©˘' @/R1ĚűTŚ"mM­7)§—feĆý˝|鬼řľKňÜłäĚ™EA¨ŻGń�mź*Ë“ĘqăđĎŇQřŘXź0ě÷ś×W2@OAxitÓÝý»µą-;îďÎÎ~!4ţcjĚ�|z-ŤŠ… "Ař€{ű‰|íMÇăoŕ7'‡đŕÝRl0=:U,+ţl©ÇÝ~791ŁŻ^żçŁZěnĘí•ůklĚŁ›Đ«t¤Óë¸}f?xý»ńnxgŚ/Ö)ŁńŐ®ł<^żĂŹ(©ź¦§ß#§/ĽÇŐiKV®żědŔ۲»uK×®/;=Úšś<qLΞ9.‹‹ł x|§zOâ4kűČí‘1Č‚ú{Öń·şy4,*‚-żnl’¤úü: †ťcG™żľ¬ĂŻ9 YďĘúžÜYßugčž4ś!NŢž‘ń±©îeĹýpĐgęŕhwwKů™®ăkîěŢň`4ÝËDEźuĐsů,mß»ôŚŃF4˘w˝ć‚ü—Ţkň•Ţ5Ť}úv€,pţŚőňťł/Čt:.#ŃJzr"Xdý`LôžAĺfĂĐmÎPĽ»˝ýBąĐa Ű-F?H× IReřÁč–ač(ŘřÜľ>—nŞˇęţUş´´čŚx'ŐřăŰęęš ęAá r¸Á|•0¨!śËBEµŔF°ÁĂŚŔöú ĄĽ¦*H•‚—�YVüŮjiP'¨ Ç‹ˇ,R#Qđ…ßłľŢ^/Đ—Ą/DY3([;Ůľ*óP˙Zp†őŔg=ăţâu6Šýť�‚hĺ÷ÄÓĐ JĄo<>4óŻŤ*€ďhص‘+â(4¶ŰH”BăvśĆÄΖA!žéj 0Ł7ż^tět®#rTfN …Ü{fşĽBabbĚ)vś`˘@a5yPˇţ®ĺŇ-,TÖ;ÎFź)<gŻdA1ăű ¶1OXŔRĽ&bŠöúŁáĐWÂđŐązat¨˘Ă¬ęIäç5ačż$ěśă�R¨/`âŁWÔłŠŁ(3‡őÁ˝Ęaä Ľg*˘6ŕE@çŔc�Ô°4A˝h\a(×á‚tP€¸óŕ�,văâĹ‹Z3č}Çţ`*ľŕů[ń„{B]ń—Ď& ×0ÂuŽ€>7DŠÁw( Q6ć*ęŤú°#Ńę(‰ ¤±oÎ#9čéĂ•ÔńÍĂŹ ¨¨łŢŤćôqŇłšîyT€Î¬áçôáČ ĘGĄú‘< ő®űĺÇežđÜŻ“S<ß�ľáw˝k[Ť^îKŐŕ¦ÁÄ&ÚąçYÖA<Ź­ ňصŤ)YŮěËÉcZLŔ8ćóĐFË Ľ”ĐŔä˝Ę˝Üčĺ¬f«©<ŕúÚ®kSOfg¦Ô�÷‘ozQV×ďČ•7oČž3„ÎÍĚjY;{ęĎÎNËÜ쌼ôâ{|ä‹W_s÷ß’ĺ»rúĚyg źé®»~Ű–F“iő(«(“-LUâŮö|/Ě“á¨-ŰŢŃ„DÓd*Ŕ"D° śdůćňo)Ýáż`qŔsň·Gˇř0éŔÖ´éşM8 ű;ń}®ň,é;HCNťXtĆërćô yęüiůŕ‹—śîbIŹĎ2?śS¶wşŇ0€`xÔ[ąz>˘ŇŢĂĆ/ݻîÉňo‘ÜkoŻŁ�t€'™BŁU JĹöž‚¶Ýg´˘=ÖRPES˝îBşĹĽtL śŽ””ăеeŢ­Çy·Ö¶w2ůÂď¬Čć–—UR€ÖóŰŔs»ĄňDÉőÝ\ăﯳiĆĽnE÷DţÎk˝@Y˝?Č˝~7ě›)ˇĎpŢžŹś·ş·Łŕ Ô{fzNSŔ»^ĺ_ĐŕŘäůAÝpPś†o`źzćC˛pjKVo}CÖVîČöúŠĘBWŻş˝íÖŠwsň”›§K‹�MŐô•ČÁ«Ş®VaJâ±8j™,Łž*ĺ&‰FÖ=%> HɬšZíŕ[‡qŤ–×äü,żW ó´˘ă0żUʲEĹó$Ö©»îp*ŻGdY\XŠ"­†ŠŮjQ—ë‡XÇ@cv˙«?ÄďůŚÉI¤.ťÖµ··żăt>{ĘŰ@GL˝…ŁÝ†¬ÜÎSł$yýäŃF4˘=VŰô†zIĎŤť–ďźů47ż _í^—=c×|(őÔJ–źa[lNËď™xZ>3ó™HŰĹoI’ŚtÖ#z×Ó°€@śÁ3ŤÜDr)O» őŕiłł'{É~Ĺ«ľô†·JąPZa¨çłý†”ČU  FÚH‚RÉG¸@H×'Ž;ÁpIŻ2̇ąßu €ýĽ˘X0"txÁřÁßn\vsŽ•W$ţf#đşh0¸ŮE›)Ď*@mĽůúmçQ8Ź‘÷üÍ–MĄA!Ô0"î×tŢ蟆1Őű1xĄyĹ8LĐB©‚O*�-PÁŹm5r†Ť>aC˙ĹQ2ě<±†ýşń‰#Wđ3Ł=°žÚŘúŘz˛~TYE)Ó‚Ř#|f\/[ü¦‘-ءčÓ^ż čHř˘‘Ď…@85ćó\"¤'>{ď¦q}Ĺé)č-Tb“b-rXŻ›ŇŃjŘ?6µŠĄac0L௞ âoĂ„ŮČ8ŕ[>록÷őĚŠ( şloó¦°Ç+!ŞK`P® öG”±‰”󦨑yZ×ţ¸Źű|”űń\��: � č€đÁ3Lc`•ŚJÁ>`š”‹ľ#Đ Q1Ôá~C*”Ťßˇ>qâDyÂFĽ!@‚őgŮ¨ź­ ęM�Rę ¶“/F  xĂ®1Ôĺq=âZĽG»Ľ—ŘxäÂuGU ŤhDďFJîâŰ»ż¦îŽ{¸ď!:9ŕÓ;Š’{úéÁV!ą—'~Ď˝{om~Ź˙=ĺ×F&Ď`A 4/#ŕ¬äµ ëń©qĺ•ĘčwĂXIb/ŇwÔň|™O%—xě[·g\íĘŇ|î {-g¤=Ęś |.S÷˛cý üńěě¤ÜşyG6Ö‘7ŢńmMÇwsMŤ÷Á—^;+ŽÇŮ aĂĎ˝·ß“Αs™śjČäDK^z?€]ŤhŃĎödgËń“đÎß YV|_ć•öÖ,’pk^ů˝ěI)ŚČ(»ź3ŠOFV;ĽŁĽSÂĚĚTřâ`Óěat/<ӽ퀨jî…㡿”ö¤NöĚĂ÷ÇŹÉĄ‹gäüąărö̢\<wRÎś9!gťár[·çÁ˝P¦ćYXŹnH48Č+ľR÷BÖô‘Eë@ßmlakrďt»ý"’__u)Ůrz”Í­Ç‹ű�ꚤÓSůhĚY`ŰăA~˘N$Ž™OńÍôTKő7ł3ł˛´tL‰O[ăiÜ›„žH4eÖNŁ©e"ő�<ŇjÚ[Ű�pČҢÎOČQ¸š<«F$ĄÜÇÂw�:¨ďĺcý�Š~żŁĎn6Ű2?·¨Ŕ´vkLö;{Ůimuę!-ćQXÉŻd±¤ÁYĆ‚,â}ô •8l>@Ćšśú€;ľ®©CVo˝%Ű›«ęíő­[˛|gCŹÍ¨Ó©ózýQ)ĎëĎţ˝÷mŕŕ=§pnŻ3<j™şÇ�‘͆~đ^– ąĆŚ[»Ăzic•ÔµT.,uąĽNkkî%A7�‡ťvk\†©l{ÎAúˇŁś)u× »Ż˛nÁÓLLë«ß몳ťŹ^şçö›mýfššúv˘&ýaé¤3˘˝mĽĚF4˘Ft&ĚŚ1č“SĎhŞßŮs|Q‡ňÝŁ!¤°:Őž—L\ů†ÄçĆşýîh” µGŚhDď4zb�Ţţ[*îŠÁĚ˝7Q¦ĆiźO!öˇT€ Ýhú¨ŢKą©BŢ{c{®/ ĂŚá™ďy»Z:ö(0 LÂ=PŔ�·ľ±ˇ¨eÔčŃŤgúÔ�ťÚ”1ĹyóHŽAöo’ ćő÷–%ë`ݱ ‚@h®ć9 eÂ–Ç 6hëcŰÔŹŚĹ6eě5eËćw4Áńłé<bPiP^ű˝®Î ŰV>3uŘ(|ďČ˝ÂčÎľĄ×AÖ Íô0Ţł>TxÚľg›A>"„vš”ůNmJű‚1xrzJ•SS>„(˘S ś–*¨’ĘłcpëBĂşMýÁq# ud$˛o« 븟ď—âµwŘcź:�dÉD Xß{ÍfŻ3ţE;ńŚŠíźRůć‰}Â:ňuŚ çh¬p}Đ4LÁ€×… dqqQ×"40ú ۆöa×&ţa×5ľ#ĺ€đ—9ˇzŕ\păúőë:ńüăÇŹeá�Ý, cŔč( ă„=Q/¸@™XE0…]wR|çŁ|Ô™Ě2ŇGL…˛QÔť9­ń˛€ŤhD#Ńž$ęěwôÜ+yo\·ĽźM“± Źů—Ú€ÔósOŁYlďl)ا)h đK$ŃËUţ)�9SÇ{÷YŮLeϱć'śz~J*Ŕ׆óXŢâIôÎä%ç\›Ű˛rç–ăSM2>îxŢ|ͧ<É}j‘±1„ńß•ĺĺU™[Ů®»o+‘ąŮ1źżđŢËÎPęŚĚ» ÇSl»ű›Ú óÍi™‘ďĚË8ěĂh‘}5`SŽ"YÉŘőďřxK凇MĂS…ŘńJîß1Xň”GŽň,?ż˝1Nŕ%/ž;!/<wVNź:-O_ľ(çÎśÓ§ŹËěě” ™AÓîą‚2ĽĺmWÔKíQl-Ą0"Ą#t3űđŇ]MűŻőőµ-ŮŮŢ×ů˝»‹(Ý wɤŮňňc«":˛>Š.É0€Ňa?µ S“ăôut_Y\śW€Ĺ�ŰE;9ĆÉíq×_s> éö†{mĘ3v¶ÇńbR ái•ţ¨ôK[V.¶rYúŔĘçbę1L�ÍňľfŐ:y€ĐŤÔÉęSnźŃ=iPg>© &ÜďÝîľ‚Ö7WĄáÚŘV™Ţ§6Ŕ}¶îEtHSĎ!]bŻźśYń©™[<!›kwdĺÖ[˛ąrÓ-®íĘí• yëšÓ;LNČ├<y˛08ĽÜ¤¶oĄqú¨{AR€*l]Źb̰{őă@uşÇ´ádo7'‘ęfŽj �ab)oĆîú¤‡ąg×é79&š‚©áťézŽĎĐőěÖ҉�@™¦[yą˘Z´B*”Ž[łN‹!ŹpŹč1¤řÜŃFôř’•ˇb˘S!Ó_[›Ő3c'őőv“µĺÄzđ{ˇÇ…ßŃ€…1ôĆßNB˘Pd}´Ý‡ýŇđ«©’Ä+ÔÔs©o ńYařCž_FŻ€p fąßď)đ‚Š,}‰††ŁT0…ćžvJM5Vă~D¸Ŕç:du]›c…—˝Ţ…ú| ?ýď`Џ4â!€v2Í„ŤŚPWGö_|Řd5^LŮÁ¶ĐXŞQZÍŠĐoAV‰J3ݵ€ •Ľ‡íÁ}0đyMĂ 0#îSOb€‡í;ýĂö->\cÓÄĐ@kŤĐöą4ÖdÂôö¶?ř|ŢÇçkÝĐ&ř»e=eŘB$xůŔ®ÜFż«ŕ$PbÄ� ¨°Ńcb@—`ůdýÉYäŤZđŔý ČĂî=J™Őµ‘hj ý=źŻxÍč9—Řf©˘]D÷ŕ÷L[ĎŤ˘Â5ÁĎu{b]˙ČŰs¶çr�pŔľF� Á l;ÚÓn€YĂ︑'é`!€.˘‡m‡bŤ�¤ĺ¸zőŞţŽůzěŘ1˝÷‚P@¸ž©HP/6B ţjJ›�¤@{mÄŽ ç4@řĎĆőô¶E[`Hâu(ża•©mşZ/ŢToÁŤhD#ŃމD°(唿G({¦Üđ‘)Ľ1rŐÄř„F÷÷÷do×:ÖgŻH5÷{ŁáËđrŹâË$$e9“Lă *?…3•­n[z«™¬9ďéc]™™lÉXUĺQQnCyę,ďą3O=oćć]ySrăƲ\»ú†´Ç§eŻsĚ'5b†FÓpu9wţ´,.íÉ+Ż\•×߼é~_pĽń’«©“EŔ‹¸ň5•\â¸Ď· Âµ#WŁčpú±ń)‘ş!Ż˝&ćÉé1R„LM†z>$ĂÖAŇń§#z=ůŮCä‘u‡=ęŚuú×Í…÷ľçyůČűĎĘĄË—äÂą3rúÄ‚ĚÍĎ«AšQŮ@č9>ŢV}ž—&÷ć·ŕ¨m.�:®.ťýžNtşn.őťˇGVV7X±µ˝Ł,�ţ×3" &ަŐN�ć=·Î}š…†“fÜk+FŘóçNi_€—˙ĘWľ"oÝX—çž}N&¦Žů=(/Ł Ţş˝Ą4�ŕBČţÉlŇëhśQwocEů/ôVc¸ŠMëŐ— G’ŮŁ|Ď>‹»ČGŰďôŕmŘďěşţq}”!˘G@K^‚ 5>^¦bDťލ—)ʇAó''Ü^:­`‹Ýť-'íHskÝ·qrZËŠő ¬{"ŚÖq?äőOŘűgć–djĆÍÝcÇemů†FµX_˝ˇ˛Úő{:ß®]oË•kwäě™SrćÔbáI9ĐŇ{Ň>@J$čďâ–Hv?ĘysŘďJîPĺ•ŘŞ[`Čť—>Zd/8ŻlčkggÓńS *ŇkÔPť®Ô>ça]+–ô™&rŔ"xĐFčTOáÚÖŮXwú¶¦O›űtf›çĎĘFz ˇŤhD÷Nńą3l­BWL‡ż:˝ţŰM´7@—}ĂÁFônˇ'(EHV«\8ĄÂś–eXFˇKp¦˙Čş!÷oOżORIŔ+±’"ţŇŘćוiő÷–×ĺďxł5crj˘0vÓ�oĆeťĂ68ŞŐ2řqą4Ä«w|Mą1€Ţ. ´—(6-5/rZřL+,fy^ ® 1’ăÜ € k¬‡€ŃD8SęŁ˙Ě[zőT ý¶˝lS\ľ­KQ_M‚ďmä–Ăëé©ÎvĐkÝŘÇô;X,#iX‰M-‚{qŕqń~‚(řl84$¬»HI–Ť±<vl^ćççÔ PCĂŽ©˛Zű$)•€ľ iáůcÁ:,źú4bówCeűß÷…÷hdůFá{?¦™Ä ťşy}·T§ĚĆŕTA nĽ;=UôC„ô?LAaű†ŤÖ?‹k…×Äí«¬ť°VjŻ˝/Žtó ¨®<®#ÎM€0·VWW €S…�l`D�Z0ĘęŽţĂ\Dżaţ  |Gp”Ĺ·nÝŇň°6^{í5ďµwń˘,--U€^+++ Ŕ ( Ď"Đe㹦Ö}ŹĎ¸Ţ¦F‹ż[0 ëEp×.™O�CuG4 «čFůh'"f0’ĚꍯĘF4˘ŤhDOÁ;š!ŢKPE!zç-y"Čŕ1aPŕy OU€Ű‘2ŇGďĐ‘©©iő%(Łä“ ź^ň śř~ŤÄ0졟we§+˛Űi¸ż©ś_Ř–Ů©vq^łÎĂMľ}¨š¶´.­V¦@ú^wĆ•“Čůó§ää™EąvmY^{őU™uĆĹK—źQĐGŻźËx{JžşxÁOË׾ţšĽńúM÷÷Ž3BÎ:fô´rË{űÎŁ|HRDĐ)¸ÂFĽ¨«oüÝQxF`VĽçü`ڿÔ‰í¶3¤NO°’ň°@o'=(‡Ę–:)ý+s{aa^~ď·˝¨Ń)^|齲xlQf§Ű (.Áö˘óBefČÎMF ¬Ş…†éŠŞćŰ'…ˇźß…=H>Ä<¦”çßÝqrS?�+z˛ą±ăřĺ-Yąłˇ)@’†‰2hPšijĘTEPĘeÚí"ČFn=ť9­‹šJgŰÉŻ˝¶"[ůŽŰćC䉆|é+ŻĘÎ^WÚăÇ4JĹěLKn-o*OŹ9/_íĘĘzŻĐy4“¶ăŐss!r˘YllÜq×efjNĐqŹ)ÖçwRSý׉‚DňŔWOÓžějĘ€žŰ× KĘC?"*äńɉqČř˝­Q€Ő`ş[‚Ţf½ą <{Ë®×ÖďČúĆŠ¶űR¤X9˙AQĄ¬@;§gŽÉÄä¬,ťşŕö÷=•ĺn_ý†lmŢ–ťÝŽěîÝ–•Ő ąruV.ş=ô¬[v_&Ĺ{ÓŁ¦ş!Ăę˙ëöá{\e?ż›rv_ĆőÝŮsú±®„őŘňŕ0GHŰŁëqÇéÜšÜÜZWpćńÔôś®É¸ÜXżş熻ťű‰ß‹HRÉ!ëú€©vÜÉ´h|Yş[ŕÎF4˘ŤčíĄŘVA Úbä ¦pżzŔćŤčmĄ'`ÁĽ–•ŻŽ¸ZóĽo„,/{A8-4ŘĂó%WĺZ0ĆĂ8č®ët·ŠÍĆ?zâłřÍFx€×<Š<pŔ żŢîĘŐ\ ­`ěö‚9Ţ•ěíŘőč4şŰP¬ÖËźFXŢ lĂĘő÷ä…)X0I^¶—>Ł8ÄFŢş˛lýA6=jŞHng¨UDvHţ˛­ąEM,¸‚cÂż|¦UŢŇŘ­ÂLÇÄ Ś6`ÁŚ0`ű“ý`ű—Fb äŰGĐďĺ!Šz0˛Ę`D >ŰF `;,áłůŰÉrŘ?쯳gĎĘÉ“K27?ë„Ňqü `ŠąSů¶TŽŇëż�ą žRU±l˙ Âۧ꩛÷uî—¬đ](ŕ+a•}ŰÝň ~€P?•˘ĄŠţ$a„ ©¤ŕÜłë0ŽNAeű‡őáőv-Ůz˛ ö§ĆÔٶÖ7Ăľců"AEúČ*j74=Ň^đš׾Ü@:„�pŔ‹„{ˇ4FąÖóőÚµkňňË/ë}ÇčW€m�öů™3g´n�d ˛#Rŕ7\Ł#cp-BŮĘvaśq/®XÂî_'NśĐ˛P&ÚC~'u$ mäÜáYx)ůF4˘ŤhDď@˛ĽŤ•OČ#ůtbřn1@ ÜŇMHĂORg¤G4Ŕ˝�˛č©•˛™ŤĐf#D•Ŕ ď)Ę2÷9őé áŃCt.>B>ßý·˝—ÉË77Ö•çĎJ­1϶ÓSfęť«Řב·ÖĄ·žĘüâś?6+űČ)Çs¬ËkoÜ’µ•UgĐÓoľy]–o­Ę©ÓÇĺ…÷>/ďńyůň—żáľż*7n\q}Ő’‹OKŁĺř‡~ÇŮrݍ˛­5ędúÝ2Ëpüz3V5Tysô3Ó˘ďZ °H´gß~CQĚŰ>Hyâ¨Ŕ•<€'ęËś1±)ű0˘T\”sçĎËĺK—diÉ˝Ý<ślëťkŽgE¨yđÉÓÓ“…ţ öXŮÂm´ÄĂÚ7`ÄVýI_ĂÝC˛·×Ń”ř‹µ¸çd¨[7×du‘*6/Ś”‰®; ˘žu*Ag’ä>]kRŇLNŽ;ůuAŽ-ÎȝۮýkŇqĽôäXŰÍŻqąyă–“ŢB ź—ĄcSN.X•Ąă'eyůŽěíwĺ‹_ú˛líĄre9 €i�ćóŕXĐđŕ¤Đ(wá%ßíÎĘĆ檬®Ýv†ÝU™ś€Ś2#íÖŠĹZßd!’$Őqf_!ĆŢţŽ‚úý®î9xŇ ŇÍÔÔ¬î5ĘÁńŇW:Ü3ţ^çŻúű6"EúŃĐÎťť-X�háÓ‡¤‡Ę”wűěčŤh161ĺ^“29=ďôÇÜ|Y•ĺ7×íů+šľĺćţmąăöË×ŢĽ!Ď\:­Q-¬Čž5Ă@ “bÝĹak1Ö)ŽÜÇÉßKăç&á1QOUčČzuȉűç(^-·ććf3&h±±ą&ë« Ŕp2ýÜě˘^_çpň çp=eĘKhö9y˘íÂúßÝÝ.ôĂl?ÎÉéé)85‚ö ěЇ<бŃăGö¬ő“‡<‡G4˘Ý Y޸ÜgŻăotL1˝řŰ ´@],°ÂÚl˝ŁťŚöŞ=ôäD°Č«LlÜ;hÁÚč–ôxäé�PďłĚý–Ďŕ!°˝˝ë˝ÉĺfčĂÚű0“>•÷ĽŇśş"E _5ş�Ťúý®z)0E�Ľ±ň|0Ę5¸Ć›v©ěĘú†íçď6˝…˝6 Ćdg)¤ň^Ű?řŚúBYČH čj˙Ň{«LËľ˛) lű@ŚľŔö\áIQŽU–ÚĎc#0"„Gż7‹~c |ʱC[řL*‚q/ʲ©?l?3š ÇצJˇ’—ýĆ~Ćwč6h&¸¤H€€Ä÷ĐSßŰČ6- ćć!Ú‡¨§NťR/”|Ń´‘ĺxa<żŠ6„ľA™šŇ�Ęt& 'g•öóţęZM+ @˙{VË|pLâč(BiR§-Űś¨˘t2<(›ĐśŰYH±BFÄub… Ża›8Gm?ŮzYĄU6~°ý3LÁpŻ}Ú Á˙ćÍ›Ĺ: ýĂů `€x±śŰ·oëÜÄ5 Pkë óe˛_�¬`T‹÷ľ÷˝ ŚŔ˝(Ŕ ŰĎ´č€Ď¸†}gtÁëö�Ŕ×â=÷A¬+܇şÚńaČsÔíG°·ŕwĽŹ•E|ަߙťŐĎX'�źÜď<ŃF4˘ŤčqĄ§) ¨ĘS3Ę`Ů‚2<ŕB ďÔTP"W0•řđ ŕŰăTj$ňÎäżÚ-ÇujÖÔ=źž#uĆ\Ř|űYHcçţ®ď¶ä o4幥ŐôY'z9Š<XSŁŻe®üÎľ—OÎť—+oÝrFŕ›ŇŰ[’ĺ[+ňĚsgĺ;.?%·omËők·˝'ű]�0Á#¬H{,sĆáůŕűź“O|Ó‹ň•Ż~Uľńę5Ůsm?ľtR6×—ELDFôg’§âÁGuF8\Q_Wdą¦ť°<óđr|hŚ—Fvs˛I÷1ŕy¦˛ď膏Á~žš?ű'>-§Oź”çžż,ÇŹźP' F’/ €Q–wCÂc…|T^˛ŕee(qPVg”]‘ŞcŻÓ•­M;:G`  âÎíuąykUuHăys·Ö‰‚'$Ż‘9‹~™oÉŇâ¬,ťW€ CĐ]¬.oČ­ĺU•5¦§ÜoS'5Š` ~c×]·ĺʵ5yýő7e{/‘^>.żóşwhđ)„ Ł!E,Rú…ögő6kďÉ7!Çťáłłżçä‡5Ťô€×¸‚ćÝď“aL™ÎC ů{•ĘĘyWĺ]č„`Dťž^đŽŤ¦ö yşN)mu?–Ä|ö)F2?żää¬cˇŤ«˛|űZ0h/g‚2m˘ÜósI–ݞVvŔbvnAÎś9+[ŻEV^űš\Ő¨ś=ąukY–—o;™íšĽđüy9súTˇŹáĽ¬%ĺR:ž„9ťŘ了µkë{XÝfŰ•QÄî)Ý"Ülęą>l/ő{QZ¤´A÷!Ş"ͬ®ŢÖ҇ĚLűôˇÔyńއ)wÄÉz+Ŕ,č’§G­íx@˘ ¨ŇŚQŃ™MChbb˘}D%1MíF4˘Ç‡ě™uTpĄĺő ŰĆëq˘ř>ę9D[ČFô¤ĐÁâŢsŮô"ĘŚëf”BýŇÓž›Ł”ĘĽŘ#\ ëNq°ż×•}éĘζG™1ŻeňhŽŤµŠ(řď)n”Ŕ^°®n\|vťÁ›d˝=¬Ŕk^AYő ±Šő6ÉłŠÁ×F>°]Fď°†c ,ü>1‘8Ęe™6íE¬(`˝™Ć‚yF›ÁH !‰¤™‚ő&�‚` zĐłlF˘`ú [WMů˛×ă{”G#®ŤjĎ6ýŽ{ˇę…hĄŕßív8§dtCŘ_\Ĺ ŰÇ~$ ‚ĆkĐÔÔ¤3ösJ‘Y9~â¸S8ĚkY@‚=Ě‹Oťm’9űj…Ô,iŁł�”Á6[HžWč~.¤•rů[ťR¶N˙ŤP„ú#0ňŢ"j Ö7rłż!ÄLOĎD§×ěŃO@ü3,*ž–ÖoP÷XĹ)_vžĆkÜF×a}†őáý’GDt`{ń(óL"ŁŢŕ…Ô�@Ů׍7*�-Ě70h(Á:â _ř‚>ëŮgźŐrŤ‚‘(Đçč3�‰pŔ,›}ĺ>žÍ=HŤ'î(¬Š–k <e“PŔh#ĘFşöGŮô¤ĺÚ@ý¸ŕţâC8'8`‘‘ÂdD#ŃFô¤R]šPśĆÇi–ĺ…Q^ëS1ć Š—6 ©ĽlEŔ$ÎÜń‰ń Ok˱çľr®Ľf ęLyqt'�čť•6ŕůżs}JŽMőäé3 aŘgĘÄóp5’f0ĂřĽ»íxŠiyĎ35RÖoŢpĎž•—_˝%c­[rl~‰ś±·-sÇÚš>áÍkë˛0·ä G«rëĆşś95/O_ľ,—/=%o][•;+ëj Îáéžř•ް—iŰŽbÜ»«q4ő~Ď(Ír©Db 0Ćöşhb ‹1é:ąůa±Hî‡Ĺ}Ŕő©ç·K«OÇô—Můîo}Ź|ř/(Oř­ßú­I!I2iµ}ú<xg·šŢ©cvvş’ ůnůűÜ/$MW‘&e*Fţv?GŃô†Ă}o<Üwú˝ľ,YbuuCÖ݆|;1ĺä¦1'ĎKł2/˛P/řô“^öu2ĹÉy9~ü“śnĄ•h¤E˙©W(Pz}G~÷WdéŘ‚,Ěź·Ö%q}ôÔÓä­·Vĺ-·f~í·×egžîYÇ4íG)3Q dÔĽLu:,˛îA4‹cÇNĘ1÷i}ýŽÜľsC6·ÖÔ ;=='='Bž´*;�™<ˇ) Jý‚o·ĽÔ{ÚONě{yhäź  ü˘Ę˝dT �ZÜYi:đڦYn&ąÇt?ĺ<ŁfLżő/ŚŹÓKµsż§ínoÉ\oCľe|W.ťKĺ_íOËç·2™(îÝ rč‹ďąäĽćŔľ˙(Á%ĺBĐŕ˝Ru$C'Č’yô’˝—:ťu{rő­›rg«-_}MŢşľ,»űyˇ?ĹÚ9üů2=5§/ôĂúĆŐ1,//ëga9]ŁJŢm_qţ ›GÜW1ÝΞŰo< ‚ş2ę„Ô±k|JÁZőQZóŰ9˘w7ŮąÇÔş#Ń/Ş;'ęÎ «ŁvÍŰI¤J:čډéěí˝#ť÷ŢÉôÄ�,Jăm)@X�@ŞŞ0X:F†aý"!dy}(ľř^˝ßţ¬ASďIJĺ Ţď;ĺ\Góĺya±ťűP˛IęŚŕY<űˇÄëk>á<K4źíääÔ€w>źs "6PÇQ,â¶Äí˘ÁŻhŚ”ĆŢaFY>Ç"ó¬Ńź ^cŤů|–ŘvÄ ŽrN 3„%«X"Ŕ€ő¦ÂÂF.ˇ!›u#QIČSr€h€¸!­°.q:(‘/ŃçF•° \ßWd롄atŠRŃ�…‹ĎĂ*úY(ž ”Á� /{x.!'/@Í–O ’�„ÖY˘©nŠńČĄ2v|q>ŚŹOó‡r|4dr�RزJuieÎýoěý°$Yv^÷Đ_˙Ô:Kktwµ–h,-€&B41ŕb%f̶FĐ8´…ÍblhFŽ‘fŘY�.8ĂአTC°ŃX4€ÖÝ@Ë’]U)*ućס…»ď;÷ůużţľÇĎź™•UYŮ~«"#~„űó§ß»÷žw®k\OŻó¶őWů^ňá*˘‘:)˛[#§Ĺń}Ť‚ŹX×0˘LâđeŘ:ú-“‚Ë aj‚ �B€âÉŁÄÖeV=Üp!R¦Ľ!®"o®Đ}ôf74yé§€ˇt Á �‚°?@ńČB„ô€“džCę¬ćBgÎśáďßô¦71€m$\+÷!i"hW<KB– }�Ž:EžĹ)ö›†€šđ=ŢĄ®%m¤<ŕ3ň đ„�K'ĽĆ&żŁÜrŹśdÓl(»5ŚRH!…ĽÖr' ą5ą]N(}b4oż’2ßYgŁvŠ ĂEşg ¸ "@E„ éşü˛6K±Ď{,˛QpżĄÝž${¤ńxä·ČńÁjŢaĆU!!İóĽşEÔîuéČrD ł Ş×RuŰÖź¦§™í-Bľ'CłźAĚř!ÍÍ×Ě~ćqzö™çi}eȧÂËžqĆ„öt{˝Ô {ĚţaeŤÎź?MĺZÝ8›Pw¸Nĺs+Ć™\ŁşqÂ×k%ę€yĚ„ĆNóÁĹńĄT4Í1“´Ă.›\ď)µăȆwtO7IűE18&â8|uűÖÓFŻÎ’·wv…ő¦(Q‡Ý_igÇ%éëĎZ†Ăw~¶É€ŠÓ_ßő¶Ç豏ŇŃŁ‡čČŃĚR!{I0âa/Y ¬ţ1;3›ě™w«ďL_é†ěČ–vłťĆľűQÜž¶ďXýÖŚ“/ś.ôM_ŢęĹ!@�pęŃşéŰ››Ř“÷8R1:iĄQ˘š_ÉÔy’ď”cŹë·‹ tpo“uZŮű1°‚n8ş«í×СÁhŃjÔř·•µu:{ţ* ĚľżÝ‰h­ă»Lȡ…0§ ôč'Đ÷áŕĄ, 'Ń•|ÖČČ‘‚O¤ÎíüŔu(bť>Őű˝ńn…ť«`98ßJąš”ÝS‡¬(Ý׳ŕé;ÚNcŻßÎfáöçizônÄ˝—ífmšůifn‰&�Ľw·X‡ąrµÇl$"ˇ2˝2—-JęµhËl—âŕ@vRE”ů Ós¤)[3÷!ŰĹ"c91ĽJď]{ŠĆ¦AěSU Lż<?w˘ůGčţ¨AëW^˘Ő+çhhć|´€ďn^ĺ˛OG.Ňńă'Ś.¶hÚľ×ă­Pn{»®7m#Ó÷ľRsÝőŇŃóDúY˘ňm SçĹ[čOXu9Ľj¬óŽMÂÁ„żzůÜzîąSôâ‹géü…ZŢwŚžxÇwÄ1k[ťnZçąŮ%ó"fîtÖyL®o\ĺ1 ÂđTJ^†µůEhižeĽśđť%sg ś°ź űIȤ9awđ,8Á5»VZ§Ż|!ŻO‘±Š}ďÖVÇئćxý+¤Bî ą™uţvéŢ·*ů ŔÝ•Ët\ý˝B^ďr×�,ĺ$×��m¸ĐXíÔĂŹĽ‹čSÍ7#:mţ,Ôp–©`’ –e/§>43†äÉ’Č{ÖŘH™ßµh°C^(7¤†=1±;qČRň,1ä9•ő»űYźl“6Ą.NF„Ć *=Ä•8Pâ”–ëd!u­ťÖÂN!á4$ź–¦ośśŞGy´3U§§YL„U@B` ]Ű6^Âŕ0™¤'V†Ăq¦}­â–"ú¬:R, evŢă™�QHTěÝ»— ÇUP¬ňC¬µ'1ź†1ěŔ÷Htűk@…ôKÍ` iiýĺµé4ÉäôoQĚřân.4€ l)×4ń”ˇŠë8ŠĐŇďřÄDĄ !ÂÖ ‹ůH:Ňw4;…ü¦Ă»Hž…)ÇŢ+†:Ě;)łŠäOŹ×ˇŻqç<ąF×—|w3ŔŠ1ŘęçăY¨7ÔŚÂBs…€),@Č‚�:°7’N–ŕIáDŇóĎ?Ď×Áy˛˙~ţŚö‚ŕ:×�?ŕo çaŮHFIýá7Ś!aŤë�ÎÚe䬒.Ę�Łl qŹu°¤!q>Ś&xľĚä@„AZ’6ŇD= ëE±é,¤Bît‘ůTĺeíË[‡ Ů˝HĘâVEďô^Jö2ý›Ű¶Ż´ČlŔ‰4´†—ŃUÄáJř4ďYÇëpm\cŠđÍÍ  73ěě•kě~{ś”Y—;ӟጽŻ,NöTćŐ§Ŕ8q«tx_…ďő¨QͲŤĄĺ˛Ď©š}BËěqÖ×7 Q·¶F&_=zŕľăÔ6Fňk+mSľŞ§ě°ßˇŃ8 ů…YzË›ź`§őłĎ˝DW.˝Ěě89?šÝ„ş1x}Ćžô¶ŕ�?ţp¨Ďz…ąQCžŰOP‡.ëŢôűb§t|I­^ĄFÓxÎÖÚ™ý­[_·" ,ŔËqęÓůőěk·,®>îîËŃöď]0{I„U¬Đ˝÷ˇĽ˙IÚłŽßCIxJě1îeOż™©b~Î:ôśńë`xĄ%đTńéňńhÂc ŠNŻĎŚťî€ÁB˝ŢĐôéŽŮß©dśÚŐšqĆ7k™z‘úĐuS.—¨Ę×Wąö,¶hqa6a°şw<Ä€«±Ч^·O—Żői~n/®]kÓ…Uź:CËv[YźňÂ5ń\â3¤ÄüIOÉ”Ůîó-˧=°1fqÚp˘–üíY>Ŕ!4ęŁŰkó ¶ 0?ŔůÚjÎ1+ Âä„;´[žÝGëŕňťüîÚRÜďäţëÎíňÜřłľ2d<„™źM9Je„Ůgôµ±)ŰŮÖÖŻ1»ČL­EŐć yh[c˰}WćpóXv GÔ4v†ŮŃE¦NA—Ű:Mű†Ô.µhlę ź Íú›ů‡éLcźQ¦ܦ7ćÓá€Ňă´¸˙^꬞ˇµŐ«ěDő·xÎ>sn•.]íĐÁ{čŘ‘´¸8gÚ§úš:#·ŤY™ o"ťťÚÓťłăoiH䕲ŔvÔîôĚÜłďť]¸x•^xé ť9s._Ya Ö„±B6 3Ř©JµŇuźy˝ňJ9ÜrÔ‡p70Ž‚‰e48¬Çó2öĺČ.’qÂĹ!#Ř&e.@_łs„]{mŘ2ňCÂÇşö«Ű5gr÷‹»O›Ö™™;+ś@!…|+ËÍčŃ·S˙~­ë#löĐ+?×öPH!Ż7ąk�âŔ§ş|§ŤYÚůgT‰¦€nvł+FíMźë“=Ádő&ž€gźĐÝéĚ×sNç*t]ä9ˇÝôô3˛ÝöşĐNuą_;á4Ő×@4pešńIŚČ6ˇŐ/ő)kP m¨˛�›Š—e[ĹéčAęy“ş°‰N‘‰*§Ż0!Ě :˙ŢCęWŇŇÎvŰ7ŁčaËHl@rźŹSIňY kZ'.ŕ¬Ĺg8]qâ]Bxľ({Ův#1.ÇuIĂiźR)¶™xIżg˛ô_yi@ŠÄWÎ#×[§}Ü{µˇ(Š(÷÷ě5;ź Č»×ĂFN Ȋ°iç1€ŚGT3Ć®RĄś�Y\CŻ�&ôi=Í űĽÎ‡Ď ¶ŤgĽ¤Źhcľjčü»uĄ™Z®'2ćŤEWv“ž›źĽ<˘~ĐW! äAž…ź¤�Ŕ ăMŔZ€đężź>}šż»çž{čСC\� �ŚĐ¬ú”ÚďŘĐIlJ©Ś{|‡<Ę\‰çuźú@úgŕ~‹HČa9Áµ<6˝”q×Kř'|Źż1†q­�4d΀ . K!…ňzY»0O XSˇŠóîE㬠¨ĂW*h@­ sVÉäáv·™ěA]G«Ý QrşŘľG™0„�ĄĘ>]źöN÷X~âČł!Ě:Ýĺţą5Y3ĺ…łŁÎ�fŠ40ÔŇ“GńNď&Ü—CŢ?ËÚ/űg8b*p{v¸Ö5úIg±Ňň\E±YČ~Ž˙e§,ňwâřaN÷ěŮËtńâŠŮŔ9;CŹ>v]ąşaôăśöşĆA UźçghiaŢýÎ7ÇT‡ž}îÚ\żdśÚŘ2Îű`Ň7Îâ‰jC{BśĂŤĺ>m7Đď$ŰŻŤävĽĂ©¤Ă<ć§!϶m ‡XxźČH†|Gŕ­öĹČ)Cžěö¶â˙´¸q…ŃOć›´wyÇ×ŇŇ<˝˙]ŹÓńcGüsď˝Gřô1śü·zIBűWfŹźďOg“ĽY‰SŰVďÖ‰R ‚ÁČ‚Ń{Ć!ąŐc�E§Ű§vŰ|6ůŢÜěňďŤfŤóŘšiŘ”ôoC�č´! \®ůÜţósč× vDŠcÓę tăŮtF‰yöȆŰŰĐĺŐ>]ľşNť¶ ?ŇîXšfĂŘŞ š…=2ůĚŘD˙ŠĽŘ©.ě7>QšOm3€@Ź“µMÚÄçĂej–›ćY5f¦pűŇě̿ƓĎCpä‚Ő˘j桜ą�Z”+SGę’§çŮtÜĂ ň›>(°cźq_fŇ0ůńJÜobÎNSîÍĎ.Ňś)gÔçPSÖĐĽŐşi‹Uˇ+­ŐÔC=ĐÁáŐŁ1Ü*6ťlбŢ9şŇX˘^e†FfŽţüěăôÍĆ!ęVghbę¶nÚ*đL0† Ua' ö“……7Đ‘{‰őĂŤ+ߤՕk4č®óşzć,ű«tp˙2>´ĎŚË9Îßözyĺt1›¶ŻS› ˘ťN9ÝJČŁŃíotÎĹ}X_ˇŰ®mti}łgĆc›Á/ź»D§Nťă+ë[XŐc)ź ÄC›†a¬Pe'!ěÎőž9-źŰí°ůě›xÎŇâ>JőL_E(Źv{“l(’š± ŐylÚMĆA4$öBÜcí}ž?޵ 7kµ§ ›’°żz>e쪮-¦Ř#r3˘Á–2ß#ĽmµZáW!…rg‹»NÝ­kĘ5ôŮŻ},·r¸˝Bîąk�n(1ŇiǦV$óśĽÚY«OĽZžŃYK”x'˛lŚ�°đ,ÚŮläˇ�ÚÓcDćť\עAn™óŚWîwESËä~/Ď‚rĄcŠÎ»-íX´ň‰†E™SkČľiq íŽgą ’„ń"ľGŘ4Ü0$ĐS ţuąÄYŚňąu.ýG×µ5;ň<‚űqŘÝćÍRźÚ8’u.GŻzOďŔ;7;çśĘŠĄóó{Ú¦úqٸµ–FUNÔx~öCęĘ*ŠAz$˘,ý©śđń2mť×ţÓÄMëGyăsÚÂ+mĽ- ó…5š%Ćń‰e¨Ř—ÂĆÁÎßĆżDŔ9 \…\>ë9Ă1ĽI¸ąŢöťAŇä4ži x”°;čôݲë9Kú¸;v§ÍsÉĚ1Ěި씆äu ĂčYa<EŮů4©šÄ‡ĎâLÂ}Âţ�ŕX�Î&‰cÇŽĂŮBâCŹ=9!"uÓa‡@ެłeŽżÇxÇ÷:Ě~Çł¤h# Ę!l2O <Âx‚ĎČ›„CÁK o2?â>ɧfĚA ŠQH!…r§‰^óeM‘ĐK27f‚Sö…Ľşâ[Ńh/Ů˙bMÂú$�ÇWJÚI\CRvď‚üj…?ńß©#ŰËŐ+�Ŕ°§JöżAŻ5?öaŇëaŤď&�“R|şŽLŃÇ6öęĄrrN¤ňľ€Ô>(Ę–i«çQgŕÓ`Ńľą‘q˘–Ůń’îť(Ţ÷Śim}Ăě=Ť“g©É§ŕ»óÝÚŔ\ßg‡Mo`÷ë72mumµM[ť1-/·¨ŐlŃ;ŢţFsý&ť>{‰˝MŁč/r(ىe˛°őäŃ"ňâ¨yôĘ´m$á EŢţ•÷e (#ýľŢ¨QłY·`pĘ×5n÷ܡ_ Ó7VbűW”Ő¤Ü ółt˙˝‡ŚS˝EO<z’yč^SĆíŰ»@{÷îIXeiÁiăŔëîăsrLQ”Őím9n¶MMz–Q`»7Ś31 ˇéŹ›fOÜíôÍŘĐÖf×ěkűĚ^1ëp­Zf¶Š¦Ńg=ß [š€•"î—�` ˝qϬéżó3ĺI®’�D÷–21h˘Ýˇ•µ×ÝĘZŹ^ľ4ŕ5Żö°B[Ý1oU*ŐĚ»Ď >ňeĆôşRÔŁYă,…e{ ,Ş3­EČmđ÷†ÝXŰa�~JAÔâ6,©±´“gÜ8˙+ö>0Ó =Ëö°qŐ|× F˝i˛ c”iWźru7­Źşí/ßMë»™ŰÝß3ş|XĘÎ#‘eĘńă­FÓ”§AÓÎ(ç¤ÓŁFç*=QéWnšŰ†Ôśtčđp&¦VŞ ä™ůµß§/·čŮŮ{iٶŔ¶ ˙RŽđż )â!řQ¶!«yQi*`:ŮÜÜ›iaßm\{™ÖV.SżłfAűg/Đ•këĚ*sđŕÚ»<—h|eć[çtŰd7cÚ^L÷ŻÝÎ!Đm1Ż^˝Fë›}ę9bks“V×VéüĄ şxy™ízĎŤŘ[ř6�‘ŮpY©Şv˙aúLŁ1Ăăˇ^7ëŰĚâuó1­/ßčţóĎÜě÷ááşű&Űđzý÷q„÷Az° Y_Ä ĐO¤Z®eŇÜÍv»÷X…Ü˝’:(KdŮpý° űÂEkŕt!…r牶ëßú^ţΰX­­­'Ló2_k`!Żwą«�.0ÂE+‹‚¬ w®ŃÂýíVÄU¸ežs9U‚)v[ĂNWAŹ„Š.O9Ö˘Ó——K!énô]$wĆŔE;>K—˘OÇo+#eC~Da‡yŤ6€ôŮéŁwjPRŠńSŚÄâśÔeăkăghŕ…ÔŹ8ä„»8Z]f 9ů®Ů+4Ó€e@$„„±)—=6(µZM6žˇ}‘źč¨Ză^z#lËŻŔQ¤â?Gl(őĽ´íĺD/XPK–7Ó÷˛Ć. ¦më#I?ˇ¤@ęÝíÓÉ/Ţδ´şM3÷îЧuźtďŮţ,5Ţă0`¦@{HŘÝöXÔѨk®/Jű°¤#{ÝÇBu˘Qň.íoź9N^’ž…ç O!Ć´ĚGŰ!ÓÜJż“ĽÉDň%éî¦îô»fÄŘ©­ňd§ëő3ÜąçäÉ“třđaFŇK?ĂC?GýKhYH<R "ż]¸pŕô�T‡®Óc/9‰‹˛âw<ĎhC# x2cNě Ŕłđ»<°“dk+ÓÖH_@¸ŕ¤Ź{q=ć<S;¨đp×pB�8Ú× \‘¶*¤B ą“EB/ dÚút3ëO!·W¤­°&É^ ëŐ«µţä;|ĽtźK˛Żđ’ďő^Ô:d­łŮ˛¬Ůý¦ !bĆx!şł � Hí¬ăÔ8J*µ@QÉî§±çâđ^FgKÁ©î¤AăačѵMăLh®ŇÁĺRÂň'e¶ű˘!-šÍ*9˛ß8ŞÚ´aV/Ľô2-.,QłeU÷jĹě‰L9®­™ýQŐ8hÍž±fśB{–ěŢáMox0>Ő_¦nĐ”s˝Y%“"˛Ś�î„^çśÔĚôES÷óyŇh�ÜÜČ|÷ĘöżX‡ÚéŠ)? Ř?ďg‰* ŔÝ7>v‚––ißľE:qü=öđIłďkŃŢ=‹ýC*𽄫ŰŮ!cBë†éóoEp?ÇDb6żŃ„í­®Ů{isŁC[f>`‹‰é6ë(¦O–*é‰{„|đ¤Îâđ”�U€ÍmÜjŐăĎuÖ}+äOµĂ Á6ÓƉř>­o¬›}ű˝tiÂz]»ЇošvĐÚqPE•ëĄ\®ňw[}äăÇäŐüV1ş/ QeúÝ„)Š'a™©ý)2i›yaÝ”Yô/ś�.1¸Ę¶[•Á‰‘BŮ]ÂLM­k[áqřÉy>T@GŻß3úĆş±m´ůÄ<NîláCŹŹhSŠ[Wy'óĺşmýc—ÝEŰx´°N:1ĎňĘ1ý7Lçk€m0·ěéoŇCť3TF»xĐ©†´82?SϧĘË4›2›ëľ4w„Ö[i­µLžqN—˝’´X7műˇťű�ňx®Aś—Đ2ÁS=ďşEbĐÓâšť[¤Ĺ˝Gicĺ"­­ÝrËęp§Ďöčʵ X€Ep~~Žöí™çC.Ż”°MaW'5](×.î¸î|™…Óĺ­»;ĄÝőÚĘ]ĽtŤ.]YŁk«f<®oµ¨M—/_ĄµŤ^ÂʨÓKú)ÖiŻëčƆC-ő&ŹÓj :µ]{kŤÍÍÍ3bľĄÝH^_˝žÝÔkŇű 8T/ňÄă*އŚÇ6vĽŘhÄž—´Y´c&3ö2×^=MÄÎVH!Ó%Jö¬˛ŘF3˛ ‹B y}ČÝjűĹţ�€Kř ˙‹Ú6ďB^Ďr×�,˘0Ę„YĐ› wĂšrĐNK=ČŻ·ßí ĆŚ kŕ‡včĘóĺ^}Hß聯gĚrë@—{š"’*č±âm„dŻKó-&M—ÍÁM›óN””O¬a4{J_bĘIëĽă{qŞJ˝ @B—WśŢ’–8:5ť«|Źô%T\#ÎP©s\'Ŕ É»8Ćń‚±ln®IőF°F=¦¬U­#ˇ(ĘĄ”Ţ’ÄŔ''’´Q$[f|d#pŮ}R%–ř¤‡ŤKK|R,Ŕ ¤pśhöiź ř†ň%Żď§¦ĺé’2¶LďłÓžçyYçqy99k_}0T6žË¸Öaäď$˙Q”Äń•°rźŰo] U¶ÇÜ/tř°#HüdŤÎt«Ďöő0.źŤ_-i˘}`DŞÓ<•Ô§ž˙¦Môrź&7k´€Ĺ‰'d0°C ®Ö××™ŐBŚÍ´ţ \‹ŤŘĹ‹y3†±väČZ^^ćkŚď‘î‘tţ{k+©wi ů‚ϨW¤‡ Dňżĺ4+®o·Űüí)óž Ŕ®—1Źç #ň%@ I‚ëę�eE^D"!AP7¨+é;7[˙…RH!·Sô:őJˇä7˝NgöĹśvÇ Úë¦�§9Ů^)‘ýOvďeľ×zŢÇŘ[°—µˇD„jN’ V-¨öq8!^­Ôí©uZÄ€cěęÍd?‘ędYp…ëvő»·Ő/Qw`öăŽ.wąnł ŰÁÁÝnČű@°ŮíŰWć“ţťNhô…¦qjorúË{ć¨5[§sç×éây0_,§řťŐóó!;%-ł×=V!-Ľ¸®>ń}K\ó$ţ˘€Ě `‡‹ëÎÝÇp}E>;`}Jť˘ >µ\#ë¤ŢÎzńJËNóĐ6ťW@ âSŹż‡îv˙=éţűŽ1 ŕůwĽĺ1ÓófOŘŕwěű°g@®Ö\S^9w,{D×u(^Oý‡$'ĚŚŇ3ă¦Űîq¨Ź5ă8ŔŐđŹĄŔ7F¤J‰ĂaxŰ€óé…z ýwv®EM°“�@Ó¬3S Ŕ¶l^áP—ń>}óşyţ^]zůj@[– Î/?@ťaÉä§K“Ńeswߌ›¶ě^’‡Ř+™üÍô˙ĽVőůű˛y~­â™<őĚ1ăÝ8ík„¸0{ô¦Cl[ ©iFڰŮIý[’°ě¶ęÝ6Â\„ŹńŃç"°Z TŔ ăp†łYýµäŮdôÜăΙ¶6®Ď^Ă`1¤tŐ/f<Óź#čźÄá†z°Ž–Ć[\'s“.î^ˇçZ÷Đ•úő[s´9sľ^jŇĄĘ Áđ×ďĐl"˘zŘŁZË<·ÚH[ ‰dJŁřK3Ď@gŹřĘĆ®^@=Î/î5s(€‡h}ĺ ­]=Mť­uÖÁÎĆvŚçĺĄy:|p?í7ă»^ŻŇ­ Ű%®“Çl˙¸> őzc>dós\şşEgĎž§ —×YďÝ2sĂÚú¦yuhłÝa‚ű¬„UŢ‚lażDKKűiv~jőSTj foeÖŢŘů+P65đĽ~»Ű"yÓYz]ű(Bö�\51ă{Ě CôË1Ăl3™·‘W Â%áKQ/�XŘ0WÍííáeóG™9ÓÉű”¶ÜŤť­o]qűµ¬ŁQČv'ěé±Áˇ¦‚ŠżBî\ąÝúök!`Űŕ ŕŠ”ů-aŕn,{!ß:r×�,$ĆłëÍ çXÔŚ :ŮÜŚhĺv{Č/fÉ´!B„ľ6ŠOAÉŁY8ô k׸čöň(™ÝşqËĄcnKźhۉ ]NťGĽ �B?CłH䵉6ŔĺĺOÚHň‰“Qâ|'6ľ×u.żi†´łś˛ÔôµFBč­ˇTAq ‚äM¶RN\C) e˛yĹßrňĄŃÜÎB ő˛íŻ ňRU­’×[&}*N†‘ööeOĆQ‰9Ě/|Va+Ü6uAF®‚ŞŰîFĹ‹Ť]yéMë#bĐŕ�1ţKű€˛Öbĺa*¨/ź šąAŇÔăŚř¦L%äg™`ÜëeĽał � }!ˇ?¦ŐÝö:IűBŮźŐ¤¬:Ô Ňď5@ÉťűtřŚmFîëäďzFťĽkô ŔÁŢ˝{žŕąKKK @?đY„ U”ďÁ¤ăÇŹ'ĎÁ˝�HČÜ(a:¤ţ%䇄`ÁóqOϲv ^0fQßz.ŔýŢeAúüŔő�ŘJÚ F]řNBťČ\‡çü! .É7ŇŐábPš §B )äN˝NMŰ?ěf-,äÎŃ9°Ë “Ű-‘‹ÓgűS¸iĂ%pX!ŻA8ˇ$ęg6ä˘q””ę©ăn8߆cäç°p5âÂvŚAÚłˇú#ž~wż“ý‡#đĽ P^;=ă\ë]iBÔŞ čđžr´e÷;3űý †Ř?”čŕľ˝,G´±°D‰AQTˇă‡÷ĐÉÇéÔŮKtîÂ*]Ľ„xŰ 4‰Mą&T)#ŽüĆŚ<‡:?`%EeşçŐő$ŠR]jgAf°a·tŤhś‡^<I·ÓĆvŁ{^V”M]ÎÍ6éÉ7>@'O4űŘ9:yěť8v„ٰßmss#Ń%ěĆ‘´µMÔ:ŻÝgßne•ôş!H‚IČ`ôAĚLýq¦^ۤͭ­˝ç`>�Řcņȑ°bCIë‹C^š©bĆÔĎÂ|‹f™±Ż^«rHŤŘJhžÎ-s΄^ľ¸Îz�öŇk[¦Ď›±R zf<ö¸ßwÂ3 Ż;öQµ~”ĘĄesď–éçM]4Q"™'Đh64ß$OEdĂ !ečŐ:ł<Žhaev¨˛-ČĚ%Ď‚‘Ŕţ8W i®ŽP)cÖ˝Çcó,ŻL=o(Ňc|w,¨.@KNĺFŁĚ` ô#„(čőŔdłJUfţ›aýCŰ52ÝÁ›®_»@[;,ôÜ•QŇOÜ<EoęĽD‘ixßĚ»µÉ€–Çm:WŰC_ź;NĂę1*-­V©[®RP®Äl‘v€—ę!Őf–¨lÚhŘ{h‡:Ő«`7lQÍĚ ĚV…q8‰ŘTâ©% ľl¨‰(şˇŮŚCE.ěĄFköě;Dí­ ştćkFGł¬ťN×ÔźVW6iĎâ"9˛ŹöXb ŰÍJ^XQ-yýÇužĆ_îĘá>-=-`‡ąxţťzé"˝tá2]şr%Ń{fŽŘ0sB·7J›îô,¦Ě.Đěü>j™ľ:�ú®[ű˘ĹĄ=f>©reí";nĄněX˛U…4olŤ˛Śh›Í"lkü÷y~;Â~YŁŐś3ź˝P† Î[ hĂ †™†™páolȱޙW¶,#mc&fŕpęgĘâVěŤ ąĄ|–ţŕŔư‡ˇĎc/{µe]©Q!…ňęJž~›ŻóľľE|j˛—C˵Z•»ľ™Ü}N!…ĽŽä®Xx”JÂX ňŔÚA qHaĹH7(•L(­tĘ}.[vgźAqZÖ¨S Ö f€�®NŚžş¬R>\#FnýlqÂJy4€C*DäyĄŔ‚L٬'Ű1 ”¶Jôéti'1fz”ťT58#y–ŞKP 㸨n¸ l$ĺŮRźâ—vŔ †{˛E€“¤-őiL„ń™™ĄĄĺ6pĚ j˝Zły0Š(řá—*ahĂf„=Ň‹ 10°‘Í+%ĺ¨Ŕ!ÍßҶű¸,čŁ ¤ô™(ŠOÔPúž#;ˇ—§9ĚĄ\qűĆNéć-śyF¦L_$bŚ‚h,Ö0„ăoËb�Ĺ×ËŞ6n¦ý™8ÖµîŹx A??»^lČńí wĂ#ăO>Ă<€UABFä•%1f]g•€°§'*‰“_ú ¨pç0=®]#Ăn €×=żę<±BŘ( Ě!ĎB &sĘ€k4ł6b`­@HŚW™§ńęZ�Ľ¦ŽżÜnÇŐ RŕůË"i‚=CińŹcî" ™'öíŰ—�-�Ş€SʰfČ<$'‘�$¤~„aĘ,®•Óř ÚFô#śŇýéŕ·ówن»B ą»dÂńęí|™ç€v?ß}˛Ói°ťť)·Gđv›XçăN† ˝‡Ć;Ö®[•i{w_d÷4Óó…uq2Ć!îŔ’ !@l2ŔĚńľÜ÷ O”2{�ŰK%/“ž}ľĎÎżŢâ![í5>=Źřď3­ąĽmźeăĺ$$‰¤™hĺJśzOčq—č |ęKÔy´4oöseŞ–łˇčŕSę÷ş|i…͆I‡�,[ŢÖ– ™püřAzđ‘“ôŔC'é…ç^¤ł®ŃĘŐ•LöíÝcô8ťŤQËÓ¬1ÓGdYĺňęYÄ»Áý�$“@řuZ«2g™ŰěÚ ŹGÄ{y€,¬3͆ZHó',Ä`&Éyţ6­'Ňc!$Źî˝ň¤÷łŘ[3ʇęF?_­ÓO<DË‹3tÂÔ÷ŢKű÷/1€Ŕ‚Ş ¨×F\N"ńěäčÔý_Ţó °y˘ÁÓÉ;Ą:™=‘ÄL#ą1ŔĆ8 •k›|"}őÚ:,0¬NJ¬ˇbJĺô„Y$ěĂř ů_^hŇŇ‚qÚ4ë1c™Osk¶?©Ć10uĹ,uW;´ąµF/_ěĐË—Dť ń0d×ŕ!ţśi6Ó7üUF—©ŢÜ ţx@ŁÂblycŃ8qŻ'đYšŚ»fîęđłĐĎxv˝5ctë{éôŕńËîţÁś/ß%*™±1‰j<ÖáÚo›ĺ­ř1 Čä/(Ń’™gĽ!;X'ă¶qÖš¶÷öPŕ79-ʧ ĚĆţ2Rŕ-v27B„÷Ś( —Jľ—¬@>*®¨Ůh™6ëS§˝EëkWM?«ĐĚěŚů~>aŃKôëHĆ@¤lCfzƆĹä>vţŠâ÷2ú:Ŕ fĚâ@rRŽąe¸˘ôŚé@ŤŢ±ţ-vN{Äl`ć3Î?µç1şÔ\fĐ @`J“zŐ¦ąJ€D  Ż(î«h‡Zٲ$P2Ď2SJ»˝NÝţ&á[ÍYvVŁ>¸ž<[>üďG–Ą“»"‡KµóľÔ—> ”VŰ>»DŤ™š[X˘¶éŹĎľ@›—M[O¨Ýërř–+׮Ҿ=KtâžĂ´o˙^K0Wř´č ťĂ(*ŃŘÔs9śÎ$«eÇ}S´3DlÉzâ[°áŘŚ‰ó®Ň ß<CĎó4ť>uŮ(Ă őcŚ‡Ě˘(;\Ü| 6˛Ř(6`šąˇĚˇ=ęFwž[ŢOsłËl»Bx-Y‡¬ '‹éż}Ó¶ËW¸­›MĚźM‡!ěÄĐE”ťł=J»Q”´!Ö^k#Ó /7L1ÂUŤ™)Ĺ*¬Ý™fË•ÄĆö$„9Bůp@Glw鼜ł„ ×°ÝŻRâB-3żŔ~hH¬SŻ;ŕţ‹yżY‡-›ç´SŢš›·čöĚ»·o]É‚ŠýÄFnöd»Wí÷‡ĽđĽőÄ–•¦Á˙R!…RČŤŠ^Ż´RÂv–JöËh†p­]ĎGRH!wşÜ5�‹ > ‡•Yh:N#^·v¸ xÁEUéÓĆr:]‹6ŠAôIs˝ÉáS ‡t¶2 8 4t. ‚ÎŁLRúˇv*K^4Aň‘çTg¨—ݨ%J|Φ_ňŕŇ  PA‡J0€.«¦‘•ű´S^Ţhâ‚PÜp/RvÝî©“uÄmt`ŕŃ÷ăűůůY:zô(źGH‹¶+3đÁÖq¶î]IŰüWćZ[iű4cÚO>ećKßĂm”SśűşOídŚ»â†qË»“˘çćŃÍŻü-iňcȧ¬z}«ŁěpĆŁě©ŕŽa=6J%?ăř×ý8«€gY\ř{JŤî€„î€Ă?ď”gĆč5ĄĚÓęI%ôćCÂfčß4Ŕ"Ăȡod< °A—wšÓăzyÔď:ÄŽţ u#í„w<_ę.91‡ĺ@[Ł|�V\ľ|™Á2Ź<ň<x™"�¸víť?žÓXŕ ¤‹>w�ĐOtXŽ.ÇŚ$!b$” Ę �ž‰ďđÂýş 88�Ň@%ŻŇđ;Ú_€08y‡úŔő�Ţľ×m†ß'9M�Á\%Ě0]Ć“B )äN—bžJ:Ż˝\?/yŔóänµ†_ď´í-K´ýDŻŢŰKH.÷´¶�®átócG0–c`ł=™í'ÎmH P—“Ď©HžkuŠŃö}C—O0ĂŮv:P€GˇÇƢ�.Đ(­ĺ<˝Ę-iG>Ř6<cŚűő†%ăŘŃţ%źZµ ;ĽXG�€z…ś ŽÁ«k8§O_0ÎÖ---ĐŁOÜOŹ>ţ =ýĚótöĺËŚghvnÎÜ»ˇ\:n¸=ŃQ${řC÷Éw×Űúâgěů�rŐn¶4]ÖÚÉ!ÓŰa\_`‚ą™=xĎ1:yâ0?zŢđÄ#T«—Í~p‡0)—K ž°Î ľ•°ÂV†–éa·z™;z¶d˘·Ű…çŰ’I÷7čŐ˘%˛zK§Ýă~‚öš>¶±Ń¦UĐűݵis«Ë×VjÖžQ®Xýá:Ü|ącmµĽ4GöÎŘpwĺRZOú§Öą%콯\Ű2ŻMŢĎ´üÍ‹Ś�1:UyŽJU€™ ż›N‡oôŤ“֫Ѩf•—ŚcwŽV7«ÔżH3 ÷QköóÝŁ+ĽhśĽç¨Ţ�ăĆś©° …¦Î�ľbí:>°ó@hƵ7´Îytź …ąĂčÉÔö8Ňx„?1y1:§ąöňÚв&DÚŁUóh®ję}˛JŁIß\?f VŻr„|8Wc‡ÂóMŰ  8©)ő o[°!,´Ă˛¦Tš‹ÔlĚRЧvgŤVQwĄ5j5Ťţ3łśDf`MOnü±SźprĐłŞŠWá2DśÁCžÓŔ.Ŕ�!sÍd“žl?GoŢz‘,(Ěč9áĘŃľ<ó }uţ +óćÂUÍ=Ăň,Ć�ĽE6ç ¨‘¶WúfDYG¸ô|¦�0»6laśňÝ-ßŕ5 đĂě";µóĆ® |$ÇşuŔŰ5€A"1xj'Áő�YÔ›s4·x€úí Z[9G+W_fv�eÎ]şB—®­Ňňâ<=üđ˝Ěh±3޵Ć�‚ČŽkĎ‚k<ß»=»Ď2uŚľzĺę˝lÖçź?MĎ<{Š^>{‰&AŕĆü™Y‘bđ`)n·’ž…hUć*­Ů%j´f¨jlWÍŮy>!?¨Ůšµ�e‡őtŕ­Ö<ŻgmłńˇÓŮâ¶+ËěĚ|µ]˘x ńâµŃç)[˘Ř8úý.‡ŘÁŢAŰp0NZ­ąä°BUé~h«.k§•<ČłtťČô.ö'<T K×ŘŔlŰ~ĂúfĂŤ–x˘źé–IľßÍ>Ě^_Ř ľUŵ3jۧý®Â� éZĹkŹ\Ç˙ú\!…r˘—¦~”R•úâň�¦zÝ+¤×ŁÜ=�‹�T—2v¦kmôP„frG›ëDŐÎ}IKhî…:W#°4«D#4Š+¶äÚ)ę* Ú,kÉŰ„k Dło䥑ç�ŹŢ%ŚŠ�VÜđx ­°NËe±Đʵ=‘6IB*h#Ž«TŘ0aâlÇßrꮤ‡<Ŕđ%”űrĘRŇ€ă÷á„:©PzŕH•“ôŮÍilآ|áS*QţI0IK„Hx]?ś?ЎäŽ,•’—éKyiëżu^o‡ěÄ|±Óoy’äťă·†ÜVB۸±ąÁĆ)¦uFŘ>`ťĐ˘ŔĘ3Ą~ÜŁűMžŇŞű¬ü.÷É5’†Ě@ ”v€ěˇű´¤±­ď8†Ć©#ąWÂH¨ ôU CˇÁrŻnťOJgÚ3Ż—'·|ŔV $C^„őu,ˇBžzę)"Üwß}´°°ŔסŚź§¸żŁŹČg0[ <h 1ĐĂ‚ôőś†äCć>·Nq­�4p?®“¶–y_ňŹç Ć÷��@„;p/®0żKß“‡ĹČ|(ŕ ”źĎ˝XÄĘ,¤B ąsĹ5~kc÷ť7ë=Ťk}-Äžú':’Ţó˛Ó-"J…íůM 5˘çŘt¶łęßq˛Y¶@®ľQ©4¨ÜŞ˛cŽ őőł_i1m=@8Ą §ťeó 9t!ľÓ W]·ňšä:„&Ŕw}ŁÇ^Ů,ŃFĎŁc{Ć´4[Ę”3Ѧ‡,pőę„*R{kH+×jfŻ´HŹ?ţ0=úđýĆ©¶FkơÎ^UvJĺ…í¦+®¸ŃýIt-©_Ű.97qxy¶­÷Jµdö=U¦fÇi{×i>kgýśçÉßľÚhĆEěµNž<Fß„ö7<ń�9´Źö�ŘC$¬3@ GI¸ě7]°ŽŢ×ݨd@D1ó�ü[\ěĐú°MłZĘzđ0čzTČĚ�ěX�ČÖV7ÍţwËö•®Ń‰ëS×ećŔs śp’‡9Ä, !?€|óÇÂâ,;8—„Ę@…6”ęSi2–yŻľŃˇ —·čŇĄKtú˘ŃńzUŞ˛Ô`O© ‡p™YÂQ`ťĎq0@ŚF¦îűĆ)»Ůˇ•µ-Í7é`kLË3fOM-jG§hŘ_5ů:A‡żŃ|g^ŃőÚ/›tV9<I€±ĹŚ"‘u!Cĺ.Ń^ü'ŇŤţšţ‹"™€ ˛'÷qâl ‘qVQ4$Żlô“żĐÜ;ŠĘ4m0Ď`lFÔ¬·©U ©nÇüŤĽ: ý}ü\ćR Ǧc ¶ňâ~ hÂyňíIz°1°ť+Ë^‰uŹzý÷]čťö*mµ7hffŽćŚăÎn/nGűNĚš€1˛áMFž±ÝŔ¨ďzT®Ň}ťkt˙蝼Ěá>|3o\©,Ń'ç§ËłűM3&_f‰ŞlóđJC3ŁÔiŚtüŘţ”řJŮłN{ňüĚá˝î@4K¨Ě͢C‚Ý Qo1`«łÎ¬Bh1oćż=ąˇ«<f.ŠF¶ź×ßn„sfŇi¶fĚXiĐÂŢtäÄ#téĺçéŇ…SF*0:ßĺk«tíęŘ·L?z’˙ů˘ć+“„mň›^ óüWfŹ€ş<uúeúĘ7NŃ׿ń4ť9s‘®^[¶†Ç‡ĎŠÂmĤР^Ŕřµd Ôś™ĄćěÍďŮO {R úş_â0:ˇ‘˛ł \†Ě{*ČĎ A ć˛oć‘eóÝł=l™öět7LŰ®ÓLkÖĚąËT­lZ¤s” +` Š™Ťú¶™ëz±ŤoÄk€5Ó‡Đ_`kt˛kIÖľŃvŰÚnÄ]31Ç Ö͸CZĂáŔŘ:|€¶Ěź°3X=ű!ą<°¦Ř\0ĘR™WőžDŰ“Ý>öZę…RČë[\â4ÝŕVü"…r'Ë]°�-”†±QČ/§JD±#Š«ĐÉŐeČcjĐ@‡¬ˇ+ÚćČĹw0¸@äŮâ v70‘{%ĎZ锿Ô 7ý.řCżëüčĎň<ÉcÔŤšXÜ(a Đ$ÉŁŢđË)͢=Ä®˙`‰žx5;” Ć…Áf›•)Ź�:¤ŢEy´şvśw:mî/�SÜsň$>ręŤzlh•şłT…¸Î5 ňÉ*gH˘4ß‚d×Ć'ɲ3ËIş0V#V6Ńd~ĚbaOŢeŮHÜör§Űm,Ďë3yůČ/ާ)�™IL‰Ď‚wybvĆ:Ľĺ4b©RÎôs1ŽBĐöňY�7:4ŚZąĐ}M~Ó}[op҆Ců„ç¶D4ËwÚ1ďÎrťnĎ<Ł‘[Ż0ęJ¸=Öt9ô}yóA^ş;ÉŽm«ęI^KKKt˙ý÷3 ¬�č9 †€``�đáĹ_ä÷7˝éM|Ę'ŕ Ü+ůĆ€úÇŘF]ˇ=Ŕjć <çĘ•+\'´�KĆ»Ä~;|ř0§ă$^0vŕYRÜgŤć^bTÇ §í¤ś.éV9”Ozjy €.˛ô‹—éŁßJú(#^RÇ(/ňħ9‹Ťg!…RČ/XëÓ8ŁvťĂÉ bľ‚g_˝˛Bźţôgéłźý,ť={–Ă©íŰ·—žxâ úЇ>D'Ś3ŮžxöHé)¶W7¤Éh<ʰČé˝sŞ;xťDN݉~'{,ĽpjÔ‹ÓÂ^RîŃ:[ş˙ł!2\@®Ő»ěŢ NľjĄn8`ąęš=ŕ*ŻËÖaSb™ś’–{óöÉ.*űAfđ8L�¨'�#zé2ńéŢĺůšyv9â×{7„s8pp‰—fčéoś6y¶ DíŻx›ö.ĎĐÂĽqNŽŕśĹ °Ă„ĽB’ÝăĆ ń ¸át°ż^ß돦ę2N&Ęń1y±^U.ŰĐŤŐJ™}ŕ[;Lósł43‹uzňMŹ›ýá^f¨°z¬=eŚ˝žŘĐ7%ô…§N/K~¤/Ý,Ŕ"ŁŰEč’r¤á™‘´-śµM¦ �?�Dč÷†tyeŤÚ[}Z[Ýb}łŃ¨RµVˇj˝RÖ�‚RŽ#`Ą›kŃŢ˝ f=KŤB[ř†O­ŻX}'´'·Íľ|é2]ZťđžüÚúÖzł±~UcÝ—ąĄ1`V îŹŢ8ś‰™K™a!dpIŮ7ÓV•ęÍ=Ti,ĐV€‰>-Í™~Ó7ű~şF˝ÉUj|…{M»§Öěăx[4ęž&06�d4‰C ”=Ó–�9“X�úôńĘ8Ůť'ńË®ç0ső“qÜ.}ŞřĺřÄ?ĆQÉ‚Ą†şĐŘ4X zî¸ft1fţ'!ZjĐL°Eă ŁOł4¦şqh»l¨sĚžŐU�P�Ľ@‡’_ĺGˇľÄN#ş :ĆA}ą{Ží`3sKTŻbĽ—c.“O3AĚú6ć—Ţ:˝só:2^ĄĘ‚ůÁ7úó¸Ażż˙=ôâÜQ*• J b¦2s]Ŕĺ°Âg qy0—qX&óÍHlg^–Í@ŹŃÓeNÖó¸ďĄ‚�Y^ÜĎ íöu{[Ě‚€1 F 0Xf´ó<  ˙ć řQÂxÁ¶'óŚ#÷ľ–öť k—Oѵ+/›ńÖă~|îĘU~U*%:qdťĽç3÷Χ!J‘÷wźŮw&a”Eť…ŃΉóbĂęf|ÜVŚ~ůě —čk_ű:=ýü/ą7GQÉ‚Č:ý}ĎOÖ>ţ›�UŞTëÔś™ŁFs–Z3ó\^/žÍVš$ČWÄv)ŕQÁOŘ)m?IŠ÷WfoŠô–˛éĂűĚzµH˝nŰĚ[tńŇ253¦mây_úeéČĄ×k[†Š(¶+ôV­™űLţëMfCŃömǤHŮgTÍą6·mÍ2Ĺ~”~§ícġĆđb@Ą± �´ąşşĆk l°'ŐjŤĚ™ťň˛SŢ ůÖ“Ýô×"ßĺÝ[Řť )¤•<żűY‹;ĎëZ!Żwą‹,"K ʆâ8ŁŘ´[ăQ –0yhNw#«ÚÁ&saoĐYľGťÍ[S…n7Ţé{Äp¦éű%ŻšÄ źŃ,Ó”í`–gé<HB®u`č.đAO\Ł’äYčň\Ŕ)ډ©1J{čgi ť¦.źÜ4đYłŠč¶c¤„Ŕg\šßš1Ü:tŽ;ĆRŽŤ EOSf”Eű…n;Ď×NřÔč¦OĹKť Ëú©v>kcdČ#ý!WH›»÷$ůń^[$`ň\6řÖeË&á>F̰#|·' ýőfĂ(÷­„ćTŇŐy üŃýBŤ4°BęFŹůÍű®r,×H{ˇ @{˘˙ŔŔ.ůČ«w)3X®\ąl =N',lřŠ4o0&Ă€„> ô?x†6dşs•Ź ŁŽ«@ąă4Oyżž\ďZ=^5› Nó <�I�Č€ş“ p€qáĚ™3 D@ţxŕľżc|â…z—đHR߸bŤńödë‰'’¨w€a�ž�Ă…ŚQ#ĺ]Âş =„ Dúň…ĎHĎü!oŇ}  ©oÔ-@%ó9Γ„Aßg‹âőu!aAŕ„Cý@řdZÇŇŠŠn!·"č«čóÂ$P’„9BE?·ái¬a󱜲’ąTőp`ÍÂďëtV°Î¸‚Ľ`m–±TH!"čŹŃoäÄáÍ ćqôC¬»'OžÜő}X;0ď˘?ŁďďVĆĆÉůĺ/…~ă7~‹ľůü ĽßÄ8:xhýĂř˙¤'žř¶Äá»ăęóź˙<ýÚŻý¦qn^ĺ1żĽĽ‡Ç2@źůĚgč/ţâ/č{>ňaúţď˙~.#dš#űŐśVE=»ú‹Ö]°ÖĚSrmŞ›Őűŕ|IśtbϦ§A ń2ŔjD8%‹ÓücË„Q«6ڧl˙]ZŕT5¨Íáśâ}/ďyCÖ4ŕVĘ’0ŚE6Ţ<¨Mú–%Ŕg6ßł:íË«eşÚ‰čřžÍ·Jń>0Ű>p¬_ľ´Jó 3ô¶w<J§NźŁ­ŤMó€şqŕŤhŁm~e/Ţ‘űNÔ÷WV˛{NâSţh‡@"Đ:Ë´ľĆşXëĚž¸Óä;›(X°»—˝{|r>b€jĄLŤšŮ[›úűÂŁŁcGvkđş÷ţ÷˝%ł/„ßëŮ}:ţf€”g0^˘…’ň¸ 7«“ą:DŚJęö Ëö0¸ô˙�S�X±Ž›=ÚÚěW—$4šUă¸/qÍ`Éěxm]„R5×ůFŻBKËł ¨i5ůű;ĘĹ)+4ý–ÝbÂß çass‹Î_îŇĘz›.šąáSÖGűÍuevôZ€%ö)ęű°8F aBŰ®ĆńߨĎQłÖ`¶Ť:Y ~ ČěŁůä÷]5ę@ŁŇ š×§r°E‹fHnšü 6.SŁet‚ň S2SĂdtŃŚ?č1cÎ6–2°T3s‘Éy!Ú`ŕGźěG~0–�"@(ߌÓ@úö˙HËĂř7:ť…cđµ\ß�a•[tiÓÜG¦=ü†é“cš­ŽÍł6M9&tâŢGé™Ó+¨Zö těC[ôĆ–%}PŹ ´ëüü"3X´·6¨Óۤő+çé$uifi/EĺÍtŻŃŃÁ ˝Ąű JŹL]'6ŇúÂüŁôĺŮ©W7sYĄÄ`€Ŕ8Ľ‡gCąVü Ll̬!ágü‰éSQ…Ă‚„|(Ĺăp( ÜA*‘—ŚUmËŃăB|pç±ó˝é–K¦o.î5zÖ^v®Ă!żľ±Ę` „Oi6g ”ôQm?¸Ńu.˝$‹Ú}ni™fÍşą˙Đ zé›_ĄN{…7Ń$äqůÂé+tîŇ&=ĽźN;HsółfŞ0Çł„,4ęŹ)Ć8Ů'8S3öĂ!ěCOal@'˝pé˝řŇzöůł şäŽůÇZ×*ŁÄŔĹŻełó ¦ß,1¨˘ZmÚu ‡{ě‡TAćĎ–ßËžTŤd­ăµm’¬ÇÚ^űÇÂÂ2-Ě/3ří  K*¦˙l]¤ÓŮäuW�"�l ß×ęŠEŰulKęüČZĚ}ŇË_“t_ĚÔ©wkÎh±mŔľţßí¶6NB¤,ĺÚ®¦Ůś )d7âÚ’§IŃ· )¤•ĽőQ?í÷B ą[ä.˛jËé#ë؇3ĚŞY+ ú¤‰¦t…h €äťNŮJ Ę8>ĺoťľśŇŇI–Ŕý,éi Ătš¸1îµ\%s#ŞŢŚńLŔrŻ.†9ŃmËEldÓĎÔJ‚(:ňîć;Ť™ś:ŃQ'ÚEňŹw´?ęTX,#Jś™‡ÚPÖĆFŃ<°‚ź”Kם=YW¶CB·Ä€Ek *Ć0jfZ=ë…gZ˙Ňm°­‰˘ĽĐ.·gs<Íp(Ćż0JŮWT!´DRb…x&n#NH[Kůĺ9žRŘő ik /Ł.rŻ6ŕč|KžőŇýLúą�yÄI.aAHŐł6á>ß76Öéĺ—_fG$ęÁ5¶ë÷N'"ňś={†űőo|ăŮ )!ktţĺ™84Jťqľ§ŤS÷¤['"»U¸u-őwaw@ÝA$‡´ę–ŤFĆ ĆŠrßƬ&zŔ=H_%$ôŇA śš“đh'´—´Xç>ź;w.kqšřô�:ÄĐ®Çs$6¬ô ľ“ň =äUĘ*ő-aŠ@«,�"”,Č/ÚIÓ˛^Čópo!…ÜŠ<űěłĆáúkô‘Ź|„Ţ÷ľ÷e~ű…_řf™ůG˙čń|ő żđ?™1ąÁă}cčŃGĄ~đtřđ!6 îsź§ń/ţeŢĹšú˝ßű·Ěśőľď_ţËÉßýÜĎýܶüüáţ!}ăß0NçČ€¨B ůůź˙y^3˙Ů?űgĽţÝŠ`îF:`přÄ'>±ëű~ýם>ţńŹÓßű{Ź>úŃŹîň®’YWÎŇŻ˙ÚoĐĹ‹—čîçĐfŘűž9sšţ—˙ĺßĐ?ř˙Ŕ8,Ó˝ĂÜüĽSů4ü+!X;>ýéOÓř˙O˙~čĂ wżëÝtĎ='ŮđÔ—ţúKôÉO~’Ë�ߏţčŹr8*ÉÓkiTÍŰSŘ˝I´lťoé~‡]x‘uôętŇňx‰G-ŘűŰýböµč]|eĽ5Đ3öôHGbĹ,‹ýGqč[3ěX˛·FĽßŐú„ä+q6ńéwËPŕ±Ë8bÇ+ňĺĹĚýA@Ďť'ÚŰXˇ˝f¸0[%ʉ±ľąŃaGܱه¨»&°‹tůĘ&ÓąĎHęs0óL—MBtż3xĺ9|ô÷\Ź=}ď†Ä”öŕ§2ŰWyŘÜhÔ“ýĎ6ŔĹ� źÖN'>ˇ]Ż‚NŞ3RŘżD÷ßw”öď_¤VłNÜwÂ|·—÷{Xۤťlč»×}DŇôłĄ?ş{ći§Žw#Úö ë’aŔÎVäk/B´·z ®@¨’ő €pűć».3š”XG-™¶Żš: ='ŐG•ÁYí[F‹Š 2??C‹ËsfŽjđ}%ÇQZť=ڬ†8±‡ż˛ÚŁK×Ěgłg^i×h8Ŕq�Ńǧ¦„˛RFKŚ78˘k–§ÉÎSɬ8ęŁ㸞¸Î H0mŇ{Ô �ZjŃLŐ§ů†·Á&5jFĎčmš>łH^ĺ(Őę÷™şč›ç_2M ‚6ë­H;ôlČf±4ť,ôăń6g�…Ç'Ţ1žě3á<ŕšŔ˘�´�PÁ´•*6JT満maÄzr…ş#Ô/ĘY¦OźĄVPŢ€:ţ2;Ł Ŕ09 úńx#G˙(iܧąpD+¦4ÍłŁ.˝ĄwšöžŠćy[Q˘˛G9˙]­,еú2őë-›w.°Ńg|ë„ Łlľ'_tű€ĂAč=FóL†-1";C?n/žJ”äĄö ÷0OŢś/ďČú„„šŕk}«+Ě0^A—Ů��|á›ŕ‡hůD 0h7C2›'±„1sH`?cn3őµ¸ď$-,¤îć5ęš<Śúíd.yᥳ 8zx/=tÇW˝Vĺú¶vŚuÓ|î>˘Ç,4�L]˝şNçĎ]Ąž™^ľşÂş˘¶%ęúr)v}4ăşaĆ© 09ÔfLĚ.PŐ´yŐ|‡08ÄŔ†ZĚđ§Ăk升ÇpEň$v Ý®iöÓßíÚ1(?#, Őáh@Aw“VV»\˙µZť–—0kI)fŤÂx‹Ľ0™ťž˝äY¸Đ¬&y¶!]†ÝĘníuY/°ľĚÍáĐÉl|hŁË,»x•™ĹĂ­žUÚfGuËPČ·®\Ϧ—g#v÷n:­ťúo!…RHž¸óŚűÝNr˝9¬B^r×�,ěF!LhWĂ;çĘŰŔš ®8É .€A‡ěHk<Ó'˵SD uÚQě*Ay Úi+Ŕq"KřVXµ˛Şň íä—×NÎg]LŁ?SׇNGţ¶Š]6”Š.§N[ęOęGłkč<é|iô»Ľ‹QL;Ł(JśDpĚÎÍͲ‚kÓgżNO”M›/«y±*äv�«[§;)Üv×ő§e»a¶)Tw¢ŁA-ÂŘ"'ľ&A�,D`č€AS‡Šq Ň'ă2­`@÷/‡ú=Ż~őÉ«ËÔ�žQ8ÚQ>8uXwüŔYCČ… 癵B@@şÝÝĽąźeŚÁň×ý×ôČ#ʰŁRž«Ç”ÜŁĂĄ¸l6y)c^~¦Én~×ĺ@›`!Fj P—0ČÂ�*S€�^@Č8k1FkqĽRÔ%^¨ “ŁęiK˘�Sč‚&}\'Ŕ\Ź4ÄPë._ľĚ†a§€‰/<_ć <_ć<CŇ´sŔ(iŕm ż /ŕoü†rŔˇ%kŹŚa)ÁűdbO*á7aMŇíTH!·[0ĎĽ÷˝ďŁřĂ3a{ţŕ>ĆNďźýŮ�‰�ú'˙äźĐââĎŹżű»żÇŽéŁGŹ0PŞBľĄÄ8—6Ö7饗^bÓOüw߬óĽÖüîďüýŢďý>ýÂ?˙ź’Ëa,ăÇ~ü˙FO>ůşUÁúúôiúťßů^ł� yď{ß›a9rô >ňzç_ýŐ˙Ť™.ŔĆő}ß÷}ć°;EŇ}"Ů­xhݬřCŔŮ«»zLşŚ¦qZâř‘ýV6ĺ¸`_kîÚĎf?S/±sŠ"Ý6ŤĆ^Ăá)ÇUť–ç!ŠYđ=ŹâśécvކńPtŐŐăpëté#-ĎWsYPFĂ1]Ľ°Bós3ôčŁ÷ĐůódŃ1NÝ…ĺ%ó¬Aü ˝ç°č9;µíJŇýz¨�Ó7ŕü1÷·š ĺŐż3ű‚Í5ň�S̶Ě=µ ł.ě5ăî±'îe0ÓŚIkŃü}Ď˝‡Íosd™PRý"{@ŮW¦íťö—ë9,¤žÜşÜŤÎ&ż‹Í@t}Ţgš~Ţî¬ăµ?4ď�üv8|F§Ó§áxÄ´řĺ öŘŠ3lÓ‹|Ňkpm­^1ueęl¦ać¨T@/¶á ŇĂ6<#%í9@’­>µÍ>vŐĚuçŻEĚöłaöŃ˝‘ŮŘçV­C>L÷°)‹cN{Ţ ·]3a’ĂŘ;37 •ăS辌[;Ě—`Yjâߢ=JuۦˇGsAÓTIĎxý«´BzĂ5ó¬%ŞÔ›ş8nę·G“đ" # ;Tö(e{‰M�>óVX€‡=ťÖ†1×+OKˇ9D|žbuV3*"dŔĎ%%ŠĐ˛CpH[‹J ö¸LĄ E‹3}ŞŤ®`® Ë-ó»y–_7ŽxŹë§ ©9éÓˇńŰg"Ó–†4ô¨jĘëćľËóGčąIV˘ ť |Ş˛vJ{©V1vśö7őíńřś¤`%Î#r:$/�@€S?¶3Q 6 Ń?âP»qč 4RŮ+ŮöÁ\Ăß{ ›€>¬˘íG®nŞmFŮëEÇÍžę—Đ ;`µ@(§vá'»Ě�‡Ľô7;¦§ëTvľJÇ!ŘPb“ÖŢFl[,™~°°¸Ě`€ú=™q°Jk—O±ž74Ďő;¬ď>˙ÂYşxqŤŽŢĂ!ťöí[¦Młf¬?ݡö†K›[tŃčž/ź˝BçÎ^Ą«WÖÔúYĐŃT]úő٤.QÎů…eZŢÔĚ -WJř//™Ó(^ âđ1vVŤé%ĎÎo‡9-kKPKú]ň”ř`ŇYk0ža;BČŘ´ť}fĄ@� éőŰlšÝ­ŘľWµknĄdÓő˛áŠtž\ű›ŘŽů6eŹĘłOąv¸mĄž˛VM“í×űĚ\W�<7d[@· �]ȶ…FĂî/ÄV™ź^´řVÝGoôž;Á®\H!…ĽţĺVć’›™Ă )äN“» `Ál‘A”ÄÂ…dťŽŰCYsV‡ťĐÎIwc-ßËł&ŠŤaÚ»ľGîÓ"yPÜ«éeÝ|h`…«śj ‰Î«Ë†ŕćgGEÂQ:Ürh‡´|–ú•¶HҢÔxP‚HţݲK™ů„űh’Á:č' Ă fóósě…ˇ™ďSI”B$O–ľP¨…$Ö©´Wš'o[ţ¦µµű]zŹ´Cľb¶cÚň®ŻŃuĄżŰ–ź(çąî5^˘t# 6Đ…öÔB˝ 9ĆxŔ§«0ć`lÇĐŁBÁ‡ÁŢĆ0öZ`É5† ĂeoqďŃqu_pűŚ6Śçőc—ÁE÷EWŔI�®"ńI¤±1hźg'$€Ě…ä˛Ĺd řq˝Ęď00đ©2ăŔ”px>ś�ś<y’Y-$ĎîxvËŻßóć ];mh®gLĐaTô6Ôť„ĹŔł0&q˘/�V� Aąp�0Nˇ=qŇ̸€\úAzúţĆ52'ŕo|oĂłôů3žĹţýű9m\CŇÇ}a�°×á^|/`Ýĺ;I_ŚĹÂś>zp^cĚ/řŚkaXÁÉXë°)Ęo!·(č?>ĺóúfż‡ďŕĆń f‰ČĚ;'čŕÁCôs˙ŻźŁo|ýzÓ“OĆ͊ż{řuđŕ·˙ë˙ú˙1ý¶,üřµC~bůÝßů}ş˙űĚÜy…cß{Ď}tđĐAzá…ç…o}ë[ăĐB#q‘00N1~1‡?~,™_ź{îyfí�@äĉ“<¦0ľßńŽ·óď—.]¦§ź~šťC�O=ńÄtěŘQ*äv‹Ý“b­DŤŽ1cî˝÷ž{čóŞTqŞ2í702?űěstęÔK: §¦Á˛rß}÷2« ÚóäźţéźňňŽwĽOżëçI?Ľpţ}ă©o4ŤcęŕazěńÇ8L�úřąsč™gž1űš!3ý%ÉÇĘĘ*}ţó_Á‚UîŁoűŰyíĘŠŮ/ĆńĹĄEW@ŕ(ţ;çűhfv†.]Ľ\Ť>€žűä“oLŇpëkgyú;Ö•żů›/Óµ««ôÝßóÝ ’Bč-°5˝á o`pń§>ői^ĎŢýîwÓţŕŇżů7˙†ľü7_á±…ý…ç˝Vúí ÷t]oS˝$λ˘÷;V—’Đöôqş›ćäÓ{"˝Ď”{l:Ä68ńÁ€~Őno±Ă§Vµěyç ś±0tEB¬§Z0Â$°{¨”Ů­DÍÖ˘™˘«tęr@}ăä^)ÓLÝ2k¤ŐŔîfÚÜęPĹl?÷-/Ó3&F“* ź¸ŹřtŻŻ®·ďŻÄţ"Ű~6Ę$c …„˝Ěk^š€DfĚއ(DqČA«Ë€iˇŐŞÓěL“Z�ÍĎ6ĚŘo™9ä08°×|ß2u3cÖPóĎPŁ^ŤŰÓ$úÎ Pŕl 1©ËŔ9INVç¨PÉ5ŃÔżó>»şť8ŃöĐź�’‚őĎĽzÝľ=ŃŢR»30{Óľ™źĆüťÝ+šţQň¨Q©‘Ě–…AÓcpK«Ő fŁĆá1Áę13zk™ż­łź÷ˇĄ4´" *p#M»Óĺđ†ëëŁ µéĘŞOůgÖű­A“Ă‚ úx>@*ŐcP…“6ě%ĆE˝^Š÷Ç匭E:1‡&`źŰ0VA˝RŁě´ „ŢaCÄ&ăź,Hßw&�0=”â<Có:C•ŕ"ůŃóÝ~ăś>núŞOăŕšąş[ÇĽ G@‚ó‰ńYŔGn�Ű3jDüE˘3óŤć9L9Áׄ%b& —ۢ0Lú=ď]pĂÔŐJ@“•Ląëٵ¨cľŻS7¬ŇýÝKt¨·B 6Ý×™N5ҵňůĺ*­Öö0;ĹJ©IťÚşČcPHÍŘ6raŇëSkťjC3OŐfÍ­ńBVC3Á—ŹĎ`BAYc4RR×` ńâşµĄőâiŮ‹]ő\D1LĹKA:Z?uÁ®ŽŻĄ×§úł;ĎĂvcC.ÎSĂ8©‡>ď kµ;[<'[ ý,łłčçZ]lĆŕť÷hű÷„çz�ć|żĚ€şfłĎUfOÔ±¸„ ś÷n{ť6W/ŇĆĘUę™ço™qôě ]:{á =¶ź:ý!ťzń"):f|E~:_x‚Ň!äYJŮ<łjÚ¬\­'LŞ>^Đ«göpżâü›űfÍ^y¶íbű„nIçŰĚŠÔžÜ٦K”Ś3ą_v"I›ĹʼnÂ(YŁÂĐ­ä`×ńxČ7cŽ@=9B€ž˛MµZ3śĆ`0[XĆÔi.´âĹĚ6”é{qÇ!Őđv~ڤ>\nšďťl ;­ťůvżëKą FMËŞ),°¨/ě/06k¦ýýŘÎ&aQ’|ż6Ű·BîŮÍ^n§˝I!…RČÍJŢ<’ç+ŰíşYH!ŻGą‹�Vů€q›oHĘe6M˦Żs  ĐĘž\ŻťĹ®˛¨Aú”»VóNčË}ú%× ˝ÎWZ)¸Áu¬ę ”»±šć`Őϰ´śöoqxë]Ú©* KËć–U=$SOćA§éŠÔ“.·�Vp*†đö3ő±8)çv’¶°‘L2uw1pŰ-ţv[Ţ\§µÜ«®°şhd?'t¬řęçĺIâDϤ¸]¬]0šú;âBÝĽDIŽ˘ô‡„hĐt®^Đôi$źăäaĂj+’wsn?–ńç˘óó ﹥ŠňŰÄýM+ŇZ4ĐBĘ';spÄ ¸"›70Śč©§žbŔ�ě6˙éĽ$Ď”şŇă-çQ¦ó,áI�Ţ€Â-ÔÉşÜR×Ësä±ěčçěd�ŘÍoQ” sÇ%ęMÚZ@`®€ăçřńă|zŔ őŕ@”`î“ĎH[~PĘ%á?$d ę× �Aŕo8ńÂőpĚ č÷"Ô/ňŠë%< Ţ…ńe ‡0[HxäŔ g‚ßä~”Écç@5é[ř,ŚřN¢H;â%!V )äÖÄ‹Ć9+Bä!Ľm×ŔpěŘ úĚg>Go|Óö6gN€AŰ/9uĘéFS�Éoö9˙ţß˙ďśî#Ź<L—/]ˇŻ}ői3wěŁzŁÂ{şO}ę3ě¸ţ®ďúox,ýŇ/ý2ʬď�Sŕőýß˙ý ˛řĆ7žâp(ßxÁy§üľ}{Ů1ŽpD`�pNů—^:Eźţôgč'ň'éĉcTČí8.Îť;O˙ţW˙=ť?1ľ ÖŹýřŹr?ł€ź‡xúéçčW˙żżĘŽžѵ«×č7ă·é‘G˘{oçŘŻ~ők¦˙üoܶďxÇ;) JŔç§÷+żň«ć™/ÓŐkWčĐÁŁôŃŹţ}Ç˙ĺ}¦ośŁßţíߥĎ>€ţ‚5Ë2ÚYĹĺËWč?ý§_㔳s-^?đěm� PÁ‹S"ŮăDľöŐŻÓ–1Ž;µÁ†gźyÖôßoŇý÷ßÇŽzĘś�ŐeÉ/ąkÔľđEÓĎĐŰŢúvJ}ĺ+_ĺp<o}ëł´¸¸HôGdň~/˝ď}ßÎë|3}îs_ Ó§Î0ęFś�·CvÜăEę7/?,DöX©ţdç3{˝o›Q”ěŃ /¸u,űR9ő»Ýń}H‹Ož6ZńľcČN=�‡�D®×ě$˛űčQ’ź0śÄ{%ŮŰý[ !ó*Tˇ÷6l|qÝŁÍ^DűćZž-%:SÚ�¶Áţ|@3Í:í]žˇţ ¤••vâh‹"{zlpîŰů?_ßr÷Ś®ÎŔ:['  Z-o/ă9EtđŔ2íß·HĎ?‡°6dHłU§ů…šźkŇÂÂ˙~řĐ~Ú·w‰Yö,/šů|Ń”ąĹ@-yćx*gľŐa+SöTŮňşş›—ŃnV¬ŽeőNô°!ŽÇ`˘0đNź2mĽŻwŤ#Ń8×�hJ:ÓŢUË ˘ó,ú,‡B0źĐʦ®[3Ř˙Öhn¶É€”;eMżňJ1CE줎Y„Ač‘Őő6][Űŕąů‚™Ż×ÖVÍş;⺆ó´5nŇŘäi dŹđĚ|�'tµÂ 2äh°$đłâzÜv ?ž+ą~ĚîÂ:‘}yĽP&îăŔ]`ÜÄ6&Kř>2c20eócŹ0W0ÖĽ ő&¶FÉcht5:oętÝ”˙ ŐK5”çÍu‡ŤV‹3†×ŤózdçŚä? »L&Jx$łŐĚ$p÷/fÝŻű6´',hK†¤lŚe€‹;ŃÁ  6i~`ôoB3Ô3eőé…ąĂ&ź}zđĐ"ťm7čŻú‡č…ĆZ)Ď‘Ç@l?ĂZŽíTČ扅ůeÖ‡|`ŰCŕymÖwpr!­ĽqŔ’ęDěе€6k'|Jąb{DüČ–—âľ÷0¶ÉřŃc(oŮnŰJ×?Ö_•­B‡7rçg„=ëěĐĎÁz�ÝęÚĘ3'·ŮQV ¶˙Ä  ˢ0á:çľ źáłĂ»ĚýŘ =áérxÜç«5 ¬k4ghaq-ď[§ő«—heőuÚk ”zîą3tęôĺ$¤+#ÄŹpe“? €˝ˇ6C´Ťůa?jő¦ů»ÎůdĐŽŇ»uhÖ­v‡Ęý;ákµ&—y›)3í«ům'HrŻmëYfˇŘĹuŠ5űf«ĆdM´)Ó‡ůŮE´ť.e‹Ăř0ă ŐšĺöĆGĽä€ŇŢŹ> Ý9úČ$›í3y{Ź\»eNőŘĎ^îµŇç5 h÷â1;Š„Kě#3÷v9ÍĂż .Đoř€XPÍ÷q…ÜYrc}îćď)¤B q%oMtĄXł ą›ä.XP¬T Ůp"ŽÄ0>ŕ‚&D´"'ÎMíüuÁ îwnšňL `Ł/ˇGôőúo˝éÖ@ °Đôšî†ßÍ‹Ëá(ôËILCZ‹â("�}úKž«óŽërXĺa€gär˘\§ç¦«Ô˘ĎŐe€ĆŢ˝űŘ™2??ź8«%T@†Ű5ÜgçµŐŤJŞĐĄ ąĄöCSzÝôt<o{ŰDą×)‡şs­GşżÄ§„`8¶GŘ%� qě b^'¤íř3 ő@“x)9Ń’¨·‡Ĺ‘ĽAÜ>¨Ăh†ľ/ďóŤ›'ç#@,(ěpě�€ľä†Ô€±ŇŻ}íkĚ2!÷‹s‡.§¦=•P(š‰Ć~oŮ„Ń@®Č'®á�ĘŁ ÝÍ&&ť·Í]Ů͆ÇCú9bŕz�¨'—QŻŹ=öqŕq‰rI˝ăoÜÇś]šÂYB‹XCs9Z[ ~GZ¸÷Ę)8Äpꀅ 0ŔHČ o“¦źl¨üŤşGČú&Ś98AŹg ó„´'śoč3rZß!mÉ“žCd!¬řNBšČ,¤[ô_„đř˙ýůźQj´Ä¸<ÍÎÝ|‘ą™ uéRz_ći {Ě“_úŇ—ř”üĚl‹nF`ŕ˙Ї>dĆkŹţă˙ńźčŇĺKô?ń㼖Ăţ…/|Ţ˙ţ÷ńX{ăßHŹ?ţĎÍ_˙ú7č÷~ď÷Ěü9r>ö±ŹńŘů‘ůoŮ©ü /Ň/ţâ/r:Č/Â.,ő·˙ö÷r†őő úź˙çÁŽčźţé˙ ą}Ö«S§NŃM_yűŰŢaÚŕo3p/ĚyzMůĺóô™Ď|–)’?úwČ´ů·q[}ň“Áě%wŃÎźúÔ§řýÉ'źä4¦ %ľë˙w^Ż˙ŕ÷˙>˙…ĎÓ[ßö$÷‡Ď|úÓtĎ=÷Ňw÷ws~ů—™\‡óČ8jž|ň˝ 9räíF˛ă7~ă7č+_ţš™˙9WřôÔSOÓoţćoŇŹ˙řŹŃńă–E%ŐvŢjÁ: ŃĂ=Ęŕ ¤ń–·Ľ…2ţęŻţŠ× ¬gßű˝ßË×xßý÷ÓÇ?ţ Z5Ô;AÜ}„Ţ›űľ�Oí ő"űS’ ŚżđC6ťíş“ý é¦űĐ0ŁËh‡ţÖŕîT,@ö"ĄÂ9´MżÝ˘±ŃI=ĹŚ‡şě¨+•9T݇۰ ¦đýôÔ·łĎMt"ó¶ŮŹh0ЍÝéŔb@ÍZŇ·ŮňšyŮ8ęű‘ )Ť)<·S[¸ďdËä—˘Xoť0ó€čBꮤL>YDz§�çËKóôŘĂÇicu…Ş•˛YSš¦ż¶čÄńýf˙»L{ö,0Íţ’™ß[ÍźN§Č†±�“Ą€Áeď)ŻÝč Óö˝»Ů»bËČĐÎŰŮ˙Ś úÖhbfcÚÚěІY?ÁLŃŢę1ŔküÎý€ŮJÓóYF°SĚÍaßÜâ)ŤZ…A)ýQŽučn^ěʏ |fÁł�$k›µ÷Ę•şzu•Î_ĽČ{Ö^·“°±ˇŹ—KTc Â>"Ó6Uú_Ă‚„| ň|?q†sŹ8ź®>§ËÂ}6î+QěW‡Ű9ŚËiŮ'- —»”ŚyźźĎs@ p°DJ10Ŕ\rŻŚŮ*Ô =/ÔA-1Y!ż2¤Ů Âp€f‰zĄ‡Í3ŻQ8^5NřóŚ‘«°ď@ďĺ>eĄaĚŘÂZ™gÁJěŘEhŹ(5�XĐĚď3J“!®Ňá°C{F+T3Ô™q—Ćĺu'­Őgiµşź&Ą­x{hĽP˘`Î8ŢďÝO_yi‹KéO,0@�a=Źi}ѲXÖĽŃpŔŕ„Ň�čl¦Ŕ8ńtĽG\u\…·¸?‡¶`](yý—ضWŃŃ8’°t„Ć` ?®;‰ťI…ěú»˝ßS$`†l8'YÔč‹ËkÁµŮ9Ýîl9±Ăŕ7ë|ŮI đAĄl™*„"wĽQľýÍÖ}6eSź {Pkn‘Ťľ»±z‰6WŻr]Ś=ĆJ%v˘śQx 5(ĚzR®šď›\÷�€ŘçůvŚy^˛^ C�|0fĆD¬]ę™6®VŞ1đd&׆°{ńRčKDq_·¬ 2yśńşĚ6#ŁçÖkÍ„˝†+ŔP!ăe—öm;bPF©ś”W"ĺ ÚQÂw KQnir×µëŮ\Űéî׍ë—ŐËMő‡6ťŚ;\Ç#fńrűr`d\$*|U…(ąŢŢĺfm©…RH!7*zß$ş|!…ÜMr×�,Äű#Ší•Ř™uËő!ńWői!(¦b\H Qâä“ëpŤëPÇ©84ÝMŽ‹f–çI( ˛ëŕř†1Y—EîŐ I_‹6nÓN;€Ą r­Î§›>ňˇ©ňőoÚ1Äő®ëA+§nh^D®Ńu.yőÂ0ĂrgŔQyřđa~A©‚q§^5Ĺ/E˘¸ď,®Ńp7’żIŤŇGz˘’úąý!?Mk�ČrĆk0EúłÓţ‘=}"Ô¤–‘‚vĐŽÂP!}ýKŔ*¨SX$ĘČžJ'·bĂóÓçK9u;ąuĄŤčŇwä~¨1 °ŰvŇ×»§ ܱ g:úśt.¸‚ľő•Ż|™™+´Kú°Śś¸`æz†f¶Đ !| ÇT‰ë[Â_Čś€<ˇ}ŕĽ×}HŹŤ¬€2mŁ?ëvsŤř»©C÷;ťę ÎO©G8Đ@UŽç +Çoč[úô‰€PôG8m…©B®C=p }” Ŕć^©CśH�ODQ7Î8Ü/e—Đ/Ňßĺ;wH]H_GşpLiđҦS�_�L"m%éIČ|äZI_@iř ďÓćńB ąÁ8:qâ¸qŞŢC`ńôSĎ^÷^tAYĽô‡yďźţÓĘc@3ôíď˙;?hś_{éfäľűî‹leZ\°s.BŤŕô2ŔX`Ŕ30ţŢüć7ÓłĎ>Ců—I/ľřç§»666Ů˙ŃŹ~”Ž=ÂóÄC=@?üp§gśŢgĚĽýGŮpŹU™ ą}'ćĐąŮYz饗čżţ×˙ĘműĐCѡ‡’˝:Ř~çw~ŹçŐ·żý­ôŢ÷ľ‡Ăy`^|řá‡čô™—čë_˙:ĎŐhK¬Ńsa×ŘÔy."NŽ;̬%ř±?Žr›tŃ8n{Ď{ŢĂ!FĐÇ˙â/ţ‚Z�ZxßűŢǡLb—B~!í�áőé|ő«_Ą÷Çűé]ďz;Őµ´Ťŕźř3}€ŮɆ©Ń'=Ú­µÜ:ĚFÉ^c/ °źśhEŮ|đÁ¸-ü„©i2~íA|Y0… ÎĹ~¨˘Ŕ˛˙•#Äçßí^ŠÇMĚś=AŻí5aběŃűV›‡¬ŢÂNóF^âČ:qi '™ą/÷™±Î8·XoôK™}§¤ÍzÚ?G˙Jňă۰ÉOW6#ęš}čŃ%˘ą™j⸴ődOÝGł °Ř«’=běĘö˝ŕͶaâ<Ž÷_“x_v˝ţĚ~đř§jŧď?F+´¸4gćň}těřaÚżo‰jő*Í´šĚ(›8śŢcăä:Xńů”˝·s(Ě-×őŻá)ý×´çűĂ1‡Ń菦ż�h;˘­M3÷ äĆ*Ďş¦MS6dą¦ŠJ9ó\n˙ôA,°o,."&ŘšŚs¶VˇĘ°ř xđ$T…'Lv`‰L>°o]ĄµőMş|ů*˝Ć HF}bMg耗ŐŰŘ®âwhŢ<Ş-zűbŘŁ˛c7˛,¤jĹŹY\ÝMtË0Ö™ą=b9 B€UĆ©jÁ!¬—7ڎ#6ä™eó0ç’Yă=¬í%‹Nbá°;#3Żf|ŽĆf~éĂQąAKłłáŮ4ż›«*sÔ÷ď3ż_6í·žŔ Ďć—ťňp€CWÇ\‚±ç 3 ý™¶‡ssÔˇ{†—éČhťÇm*�y ¨S›ˇUjŇĹĘu!㦡Éč°lôqßĚçĚZâQŐ´Ń™ŽO‹ŃŐ˘6ŤJ ”®GQH”™7bŃştŐ8ń«¬s4ŤÓżÇ@‹őőľŃ—|žżfgç,«j6ŚbđJ2A2Űϰ¶Á¬mÂ6W÷={HXQdűw�'ˇťôšŕ3 -nnŰayÜ1XżĎčqĚ€Uóa™ {ýŽ˝‡łĘUŞ4jŚA;Ű´Ý ›˙|Đ�sKű¨5»@{ž ~·“ä,,ŐâÇ E�Ypť«PNbéI@IsGv‹çGvA}a�° X<ŕ„6^ßX1í»Fułµšł ,ąq±k0Ŕ9Ăv&Ë�Ävś2FPĎ�ŰBĘń|´ť*Šv§çĘŢ.3Çó“Ţ÷Řş5těő W «äŽ%‹˘m{mË’żŻ·&čtôw»’(.÷[„D ăľŮpIčŻŇ~ó.eL {Á·°äíWw#Eź)¤B^mIýůßóR!ŻWąk�Ppp 'Ĺ�€Ťöd2‰Ť=Öx¨üňYśrúą€ ´Ąl!éhR€"yŽ28…Ľ(‡šť!5VĄL)Ł|v‘čnľ4@Aţv™. Úąťő•{ H âĐ7Ćy’PřŕŘĽhĺŢuřJ�Ý>ň›.ľ_NŐ@qő±8ĂaLNŤ¦*” ?'_avĺĆ'w{ŠEV O×U¬‹BěYžMş.Q”Ú4ĽŘxź—WmHáľ=±¦­A ˘ŔOÖˇŰKŘ)$Ä€(đGś(ë.%.·aÄgQŁ›Ps¸4YɤŁÇ›ă¤ĺÍö·lŔ ëÓëĎçxŰ©I5°ßmń‰˛6;S\†ÉŰsĎ=Ǭ Ň7Ą/rż/ĄĎ.B^Úh)Ě6„ĎăIíp6É8ˇ�ůBčiýSłÓč9@ľwÁÚw˝zÜ©~ÓÍRÄ ‚x a®�Ŕ u„úŐllX2e‡U@%ÂH°!RÇŠwi3¤…tŕ¸ŔŔ U„ďaÁWă„=ő)é#mM1ŠôqŤĚKxázÁµH ăe°Ú eľző*ź*¶4łĺ¤ÝŔ°!@&�P`Ňs˝€.ädN!…ÜŞ Ź>ůć7Gň»Ô·ýéÇ?±ă}2ě_xńyúŽďřţ}kí>đA'üÇĚăë±Ç6NžÝŚd źŽă1Ąę'ăz†ţŐżúW šŔš˙ÄOđ\Ľ5öÚ±ž¬ůľe­®®0Ć+�ßůťß3ů±Côćň]Čîmń裏Ň?ţ˙Gú̧?Ë € ţěĎţŚ~řżý(}×w}_‡ţŔ„ă¨g`Ë8U±w{ó[ž¤O}úŻčsźűĎ«+Ń/ŢK×vYÓ5R@‰XWyíŤ"v<ČiwŚYł1?§+‹wbČŕµ”b�Şy˝eC_üČGľŰôŐ{¶­Ů`ä�HS¨±îivĎ`űgÍú‚ý†Ył–—ą^Áü"űb¬Iżú«żJ˙ř˙c^Ó°NbÍ«7nĆÉňĘŠëذ'Ň#‚Ä×Y§NŔĘŢ!»§K™.P—ĚŢ3*h˝'l-ĺ»Ď:B;ĹÉ/ş#�˛|Ňb÷ ý“ą6żaüLźH8-Ť9…ĂÄ'×ëu8z:ěü�E:ś|pFJ~ôžĚ:˝ÄQµÍ©C©Î'űîv?˘®D´ĐőčđRH3uë’ă{¸äaňw D;w>AĽŰ=˘kť ‚i÷%{Đś`sŚň=ôĐ˝tü8�QsÔ0ă`8$3M(çëäžq4•¸>ěöy�m벇ŘNůŰŤ„Ń$v~E ŞŔśĹŕ�cşşşNëkmÚÜč2ŕÂ:žMŢĘ1,ŔŹ÷Ďa6<¦îß袨„D™›Gč;ěU+\%čĂ;˙Ďľ Ö†�kŁ™G{ý]»¶N—._3{ÓzéÔ‹<ŔÉl÷ ńéřdÝ•qdYal_1iNŚł/X§jŘ6ë˝GăĘAŠŕ<ť„IHÖ. !6¦ÓîłĂ?s=�,*ĐŔuŹ˝÷�‚Ř›ŚęÇý yýu÷©‰ĂŐl *c˝'Űű%˘ShĆ$…fÎ5&1Łą/Ç´Ň3éFk4SQ©Ö5ßmQĹ;H“ęęôO™d;ěŕä0%ˇuúOhh Tb;�ŇőL˙?Ń=G÷ktĽ‰F¦P­hHőpHkĺyzŞ~”Vę{hT5ű|3 ˝ŤL™&ĄşyľeŽŕľáYŢ ä}bž×cŃ\ŮŚp•¨şdŠě%{3]§z~¸,‹xć¬juffç%:OŻŰfŔśä3­9vG<ŹĆL8XCĂxE˙ jěôąO—xN™XĽ‰Ň Ýqĺ: µŢ_b0Ž—€kÂH‡ “Ă›»&żă‰ G¶*˘ťfZł &a6ô§’Ýk"Ôö�ťî–yG|oË3Ěň mbÂމ>ç„d˛kMľŕ^ß´sĄŠpGóŞă§aAl/ŢG¨ ¦kGKęXŤ8Ě„ '2Ó«â0[ôLąńýÜě"—9›8mKw8ě{Rß*ĆŁxý*Ĺ, f©”kÉ%{(ťO ăśäŐ)ĎN˘nýkŰŚ°´`O' ç «ľ×:BžýLž1Ťůh7kŰźu=L»—+FŹ0ó2ö ¶oŮ2Í4ćíÜăŮ˝‹Śg€7ŃšŤĘuë±»_¦íçDÜy·B )ävČ´y(oŢ)ć˘Bîą‹B„˘Ţ:kĆŁ©Ą§÷XÁ§¦„¸€h–a˛Íą(ĄQXĹ™+!´qL®“´´’+f}ť8bµ‘M–Í»„€ŃTźrÇ»‚'ő!ů#—6zéS[zÓŻ'6­ .ˇ8ć9ł3 ^:9 ¨˘Ç|uj×ńëNŔyF Ôwiz¨o×a@—p*ú9™ü˛%&Űw¦*©9ď´PHđ]wî}žźĆťWą é ‹TŮfăWLńËśPC|6(ض¶Nk†¦?Ăů c®™™±hwkTNË,Ŕ�ů,Ŕ°čľlO Ą éÇIâ~†ÝDśŃşďj–}ż¤)×äőÉ< ÔNâöoÝ&ş˙ĘżA!ĎĘěĚ̶ôp?N?ź={†ç ©#‰3tŁ8…&}ŮvČw2ć“ń ŁqɆśCş<C‡oÁü–W.—mCĎ šUG®uA4nYw#:2ŹÁ™óôÓOóÜ…Ę89+4đ( pŚŠ .aŞm>aQtŔ…ĚĂ’w´śbxˇ®<°’/唋„o’ů ÷ĂÁ:ŠÇ Ú7=•1xyŔ Ú�Ćg Źö„|źÓÂ|„ĽŕoäWÚ ůá…8¤ŚfËŔ=`őµů@Úč‡f¤BnU0'ą@×‘ě ¦×?ţă?a Đ>đä{€…ŢńŽ·sč 8ż˙Ď˙ó?Ńůóéđ‘ĂÖŃő žäó'?ůI[?ó3˙×>˙ü79< ÖĂĹĹ%.Ôőă· Í1}ó›ßäÓű˝Ť±‰ąáA�ŠBVżńŤ§™-ŁŰ+ËŔd„yí˝ď}/ýÄOüłXüöo˙6}ń‹_˘o˙öoçë07~đäëââăú úˇú~>±ŤđR`e@ą÷ÉĽŚ¶Ç||âÄ őä#ÄdîÉ7ÜWćććůô(žH¬7c¤–ŢŠ{żüeËnőá8ČÎ?W.^ĽD/˝xŠóŠ~i}#zOłÓŢ0\Źq đ Ň{ú©§č˝ď{×Ö•ů‘áţýŻ˙őżću c ëă7ľţuţě!ݵh°«e$Ô` ëصú‡ ˇ÷ŚöoJÖç”á‚S$ŮôŰ}WVçpONóţ( Ś|ŔŽ\ś u÷•J™ťpzŕ6<_�2Qd÷¸ĺ„fľ­ÔŮ4őľSńhv~)ŃŤdŹ–ěŐ}Dďç¸7¨=–ýŇçP«í:=ăĐÝW˘Ĺâ>­Ůďěü{ŁoŁpľ"źÉ-a¬BFN®sJő ”ůŔAË€Śm¨‘^φ:Á«V±LJ~|jŢşžµnĽ"„<ť![Ö$#“żľqŠőúÄͩÓĐĆz›VW6imm‹FÁÄ2jtPňlV쥡;ĄŤí\Q€Ż™&íÝ·HË{ćÍ|WRLRF×��Č÷âä|vx˛3tf•Ö×6čüĹË´şÖć0ZgΞf'kęNM©>Ĺé‹®¶çÓ´i©2!Ó4T_ĄViF´—ĆĄeÓ ÓĐ’°¨p˝E~R¶<G#—9° |RźY=NÇĆ×´ÎqJlAr­éeŕ“±, ‘u<V<ó}Ůčcćo´¤„ÁĐ4Zx »Ł$Ú˛â3@ĸŠů™}3ƶ¦Ż jT6Ě«MÍR@łő Ęď4Îéošt{¦Ş ¤ˇ,Ća}h¸Ć€ŠĂăšşT2ů<WßGĎT÷ŃŐň˘z“Vë{)hËě_&ĎŔ‰1ă™’gŔýďĹĺ3%´,že©p(!ŰĆ›“yZ¬nîľN}o9sđĆu»v Ńďń5ú‚ŘU|3§-,ýŬ‹�Y´Ű›Ô1ŻFÓ8Ąg—ě!�0wx‡Żń`?` Ťeő ŹŰ‘�›P8u<ąß鲸B€shwśä :ěě!”@‚z­ĹySE K%9sŞôg<`ú*3íôzťdž®TÖinv™÷Ś˘ŻŹ\’µ›IşîA'WôĚáMąv§˝ř´ý{Č+i_ĘÚŔl@@3ĚđĐíqČ”k×.ó8řϲ"4LÝ[đéhÜŹCőȆČ)™:®3X×Y† JXń3}™/)ÎS„úŃömłpm~y˘ű®ý›˙Íôq÷ĐŽ=¨Rç<Ŕ˝ 2čĺX“äP‡Î—űY?ŰmŹťň;Íľ—†doŔ]Żgw`Ä $53ćLţŞŤló¶;Ď-Ř(¶ĺřŠoIqűěNrł{˘B )¤‘™knĆîRH!wšÜE!B&ńI٬n2Ę>Ä©„ eS�…á(!Ŕ Ůŕ pĹBśĎâĂKž:LP�B¨á!ň,qtĘwrŻNWD+oB#/éşĎǸ”A3nČóÄY ECNÍY�E)FI— C’?/p|˛D®ŃˇŢŘ!1¦IťC)×NuąNśďú;WAŇHůNŇ…ŔŃŘbxÔʦ+^ŽÁÚUšôsµ‘b§‰˙z ×Áž˝9šŞŮtýÄXĚeŚ‚¤hc+śÓ0¨Ł]áL‰őĄżQJú€ffČśŁĚë!¶˝R°Ť”)O%3W·AžâŞżÓ×é1Ń�&×`š§ěć‰~® čŃm,ý8ŮČcń@ßs§Oa|·q·KÉřµaAJ¬äJż•úČë›2n!vľ©$§i%l…Ô“8‘Ëv‘MÇ-“n6úÇsü®?ďÔ§Ő«Ľë~$uůěłĎ2Eůý÷ßĎóčŢaě€ACŘ)PF8~/>5eľ‡SMkp=a(Ć:ň ŕú»\:Í?ž#× |…ôń7îÁKć<ÜŹÓ˝�8Č…ďřđƧ‹z‘P$!ĺÄóđÂ5xÁx#§đp/®Ç3 !ˇ^PÎ6Çjďňőp â:P棬�bŕ÷Âń[Č«)ÝN×8bNѳϼ@[ưţŮĎ~†ţčŹţţű˙ţ'h˙ţ˝ĽÉ<&@¨w˝ëÝô…/|‘~ë·ţ3ťĽç¸éĂűév Â˙řÇéé§źĺçěcăąćŰżý}fž¨Ó»ßýnú/˙ĺżđXBŘ\‹ßßóžws,{„(úw˙îßq^Áb¦8žögÖ8Ă?H…Ü>ÁĐÁżý·˙–öď;Ŕ¬F`řÁzűĐC&,&ܧŢývă$iĐ/üÂ/Đ'ţôtňä zç;ßƧ¶ßţö·1űŧ>ő)ďÍňÔSOŃ/ţâ˙Ű8$gé§ţ‡ź¤ăÇNŇN�ôăÇŚ>˙ů/ĐüÁ0ČB@s7^6µ~F– éäÉ“ôţ÷ż?¨ Á€ţ÷?ôń<óFO¬­ď}Ď{čłźůýŐ§ţŠâ1úÁüA~‰ źC°ţaó…/~Ţóî÷ŃC?Dݵ¸�rŮOhP»Ţ÷ŮÓ›6üťmŻ,ÓśŮ6]¬Ĺ˛Żś°óÇ/yü˝;—%™qËó°§ŔKë[ÖalÁÎ6/匞h/FĆ‘›‚7ććĚľ­A›[ĆąłşÂŽ;´™ôµä¬tÄ@1YČupŽ Gę®?6ű†K!-7FttŤÇŠçIž)ÎoÎ^Ů ăňĽrĹě#`ű ÉCž"áQđÓx`�hÇFŁĆswfçŮ3ýyÚ“ëŔ“ďvă›–†äy4˛{;ÔůćF‡™3!ńV7Ú¦mŤou‹CŕqpŢú¦ µ˛Î˝č#–•¬[&˛‡öX˘˝{çhÂj9R×yäżąY}%Ťúcłľ@Ď<ý Ť?,jO?ý”Ńá‡dŮ%l§Ś3ź,®Ç˛¤úX”čźŇg6ŤX$Ěب2ţ SÎKĚâ1˘%�dCŃ”¬Łś¶Síëń†TZ4QĚ3Á]Ë iCo„QĚ�¶ ôŻqŔĎóĆ'†#Lŕ„Gč‘é#(/<ĚX,‡5{°ÁŔŹ’ őáˇ˙Ź-d‚ �”`먲ݣ? ©řöăJ—űNćú–G'.]˘­}†QĹ$aôżqŇçg¤[GéZkŻ™¦(c“ł AŚa­s/Iť‡¦ AhAË>ʇ˛É[Ů”-âş2:?~ŹR¦ÂŐá<žÓC‡öŃł§×¨7gÂhý^ô~ `›Ä‡Q¶ł$áZ8âgçÍžjÖč>hŃ7ďu„=ś[â<NŤ#>`e7˛Ěś~‰-l8ŰĎ"Ę,ĽëÚÎ#ý,,#Qź*A�oĚ^Ă`Y>˝gŞ‹¦ón©¤mnbrügvĄLőĹ&-.ě5cz‹Ci\ľň˛Ő)g—Ě>ź±Mi»ÂíݦëćGĎéPĐ‘®ŹŁ[Űru»[Ľ.­¬^â_gHĚlaׯE_T*Ö¶çEŰ%@ śĽ‰ÍĹ›Z¶ JjwuâyůvŐȱAŮ·ëâxA°ĎĂľ{0´1@ŰřM÷QwÍČłEMµëQz¨EęFúĆŔ<°}×ZŔÇśéÓ­4Ě6ąÎ©ßÂ?ő--·k>*¤B )¤B®/w Ŕ K0 ©ZŻ''µsQ^nxqňă{}˘H®§µ8¤ĹI«Ă_hG±€äD´lôĹ."y– É‹¤!'±äł.‹¦ Ő €¦“w ™SRę­čr@¸ś Hń2éHyôI|Q$Äá/Nů˛˘ýÔ ¸(đ†V\ ‡Ô­´/N2Âá"÷”JŰO fÄ»ľ3~ęo´“î˛Ýp·]9“ď(6z ß‚>˘4ń÷ÖH1ŽO€I_ŽGě�} ŚOž� ą�Bż? %.H,Âľ ṵ̊(ÄÎxécZIdŔG”e_€­Ł,&9ý‡%Ń5·/Oë×®±S˙ć‚’vjWť}bR3˝Ŕů g¸0˘čkń;;Ű“€±.uŔFťX™ÖĺŐ}SźŇŃó’UÂË<§áô‚Uľ#¦¶Ź;EO]@yĺÔĺŐ† =f!zü޸ăÄ5Bńôýo|㹢íXŔ 'GtťŘ|/áC4Sę[÷I‰© 'ŞĚł�@�Ü� …´łĚ™Â§Ćž!×ŕ> Ă"ár¬dO˝·řZCŕ]ŇFĐWđס €!őʞ ĚHm†ë‘_ô/€Ođ˝°U�8‡#~Ç}׸ľÓĄB ąiÁ‰k€€Şµę¶ßĐĹ蹬;�%üÉźü‰éĎ-şçŢ{čź˙óź§·ľő- @ăéÉüS5 żő·>bçżLß|ţł.ďˇ9c(ś™iĺć§Ń¬›űg“ű- І)�űEłŮŕ¸č2/^ÂëüĐý�Ź'„ Á<9 #Žič‡řďšüTč×~í×ĚXÜd7XÚí-NëÉ'ßhęă§č?˙çߦźűąźătćg~¦�WĽ ‚˝Č»Ţő.6î˙ÁďŚĂl-,.Đß˙űź>řˇďJNŽxŹW¦űî»×´çÓŻ˙ĆoĐ_˙ő_›żOň~ďťď|'ł^`ŽFXé'ř푇ććËËKĽĎZX7mż”\S2ÎłĄĄEă4±ýď­o}«q�G&˝˙ ?ô¬żú§źŕ~‡</š~6;3ŁÖŰü}"ú0Ö¤ .2ŕç˝ďy/ż¶ş¶íÚËW.Óź˙ůźÓ’É'Ö¬%zµ¬qŹ<ň×/ÂŽüúŻ˙:}ß÷}_–«ďŃ'ĽÖ}ůoľLżôKżÄŔä÷ż˙ŰŤĂlŽnÜq«ŇôyÝÄĽ"k°­sĂ=ČÚĽŠŢ�'|ŞŘűěé|bO°VŔ™:N¸°§˛iYŕ5ŔÁx6ęŞR±ű ¦ű­Ěć^Ě`Ż÷âŰö$*Xř4<öćşrµaÁeÔĂŢÁĺĄýĽ?P}ë°×“k´®¤Ůe˙¸{ŻĐ† .ëVÂ*őĎőéđžłÄXvł39Ń;$şiŮi˙¬Ž'×uę`›âŚŠä{]ŁQŤď‰őęĚmÓOzsk8Î1ť×]+HśÓ˘3GfÝÁ°Ď} !@ú浺bö{ëZŮؤád3°˝l¶©ô”0!ItťŔ˛• ď˘_VkÚ»göěť7kRÓ˛uř6ô‡× ďßK^¬;F̰2`f´‘ÉĂ–Ů'_¦sç/çp›®^ąJWĚ'–Ńm/zGćQěw©n#óŹ8ťóę’Ř,hÂq,‚ĐôßqD­Ę UŞF?ˇ&MF�,7T`O@ó)ó‡ ٤ĺ<!<b'ičgçŰ8?(üŞ%ϲ;q}ÚŮ“öq!Oî<vǬç%Ç߸>9dDŔńBä"ńÄ<? :á5¦1J†#:Ţ»Dč|•ŞŢ„ţ÷“¦Jk†.?I˙îŕŞE`-!Úô(0éE¬ Űđ`{đŁ*®�)!OdlCč[\ż3×”ĚŢĘ«›ďÍ˝�S Ű� Ϣł™6 ™±'Äż7ű>ŐVŻŇ#÷Ą§_şbćÓˇM±$:nĚ&ů™?V? (Ëš”¶5ĎAf^Y¨íĄ™ŮEÚęl°cřę• nĄ53GŤÖ,łŔ©ń đ‰çH�n¬±ĂŽ{ÍfjA:Vz†H°6¤>‚ö¬™y˛^Ç^±eÇM&v°pŔbËUʱwĄ™°¦0€'®›Ź�Ú@ŤvgťÁ[í5j6f‡5µ™Ů˝ń­­ˇ7ă•v”ĽČw)P ŠÇΛµ1ˇŽ�kł+'34·g±]©Őśăr'sŹŐtÁg;' +»Ź± )Ýľî¬í»©#mŇ J±ąě&¬¦0^B˙ÇŢc=fµŔßË!1Y˙Ą~íłe/°$Ô°cÇ„í�őmFŮ}Öw9@’ ‘¸ ”„¶‹I{Ú¨Bv”Ľyf7cŻB )äFĄo ůV“Ýîä˝]ţćíâÝ›ň·Ľ|ő.ŻRü]Éyá7Xýźůéźü, U8!=1JţüÂ"ÇĆYśËú´=D�÷d’L.ő®jy÷d»fĹĆeĐ“ŚÎ‡ëŐ@ Q`H'5ŚČâh”tµŁŮM[Ňҧ˭âT˰Q˘(€ą®Ó˛jgł(1Zѱ�—Aň<1”j¦×®ř,őë0¤ţń=;ęKV„�°<‹ě¤¤ęöÍko'÷u”ßěsýmßë~•ms{’IęWępÓ^ÂŘ ŕi3ü¸ýU Óňťf(qr](D¶Ő‘wă§6nĆpp«˘ëX tuŰădçńăÇąoąůG»|ć3źaÇP©ä%1†Kű”€�/aŃÉŽ3k´§ĚGpv +Ssš±ź2„ĆŕUŁ'N°s1O„uAç]łgč1§óä¶‘şÄ­[m,Ii˝'ě°üžďů6 >�l0GÂZ‡ŞäUNRá%u ơîdCP’C'ľÔžC vp*Öh7Ě”y@Ń~8I‚{al‘vCąŽś`E:Č®Á}x!M ÎA~QF)Np/ľ·q®S0“ Qŕ%ăyG8�EPgHŹOŐŚŻŇĽqvĂáa5f(•ČăYęiŐÖßĎÎ=ŻĹ8Ľ[Eϛ霒ţ-c#P�.Ś_ĽĂ<[ĐÜĆV—îě}ą ‡;¶Đ|đ~*dş`ě`ąc %0VŔńýÓ?ýÓTČ++˛`.Äüś·ß}%ź…öĽpáýüĎ˙<?ăW~ĺW¸­_s‰ĘěĐD¨śO}ęŻx¬†‰óp{]x $jŇwţ7ßAýčđľ^Lµ"ëîŮINť:Ĺuňě3ĎÓŃŁ'č=ďyłq4 âg?űYúüç?Oű,3�ă#ůČô"EiČ38íVŔđµ¶¶ž°?sͬ{˙ůcIżôüqžFőžŐ:o<VX'Zě�7ޱOĺ[�„ś\´ě-t8E”É*ĘŰöŔi.e�áîp÷Oîľ’!ľ=a/ÎC�ÇJľ§śyž§ŕđD™gggb§NňOŇwÁĎn>ő~LöF¶îBšo…tŘl·ęÓźŞ{Śs·g*kŔű×0¤<nŰ3j‰Ůů·=Ű˝N×±”ÖéÄŃ}tß˝Giyϲ= ÓöOŰ[ި¸ő|żO3ăĺÝĂ0€Höă cQô{CłÇűĐ8™»ÔŢěšý\—66;\˛“ü¸ĎŃz8Óô—ˇ#źVŢ»Ľ`�ęV©Rł!D�Şđb°ŽMςƥÚďvú´ľµI/ź»H§Nź3{Ň!ť;wĆŚ·kfI(IÝ^îKçuűu©1˙?˙Č8M™ÁţP§•NťÚ»?/•«ŞUüŘ×í:|Ť­ĎýDĚÜ�Ɔl�îËĚNaÍB!ł8ŚHĽĽ>úĄTáĹ 3>�ÔELá–’WfÇiokŃąCźęÁ–ý1őŚłľ1ęŃ›Ú/Ń˝ ´UnĆ„5Ć–dśĐ_l>Dßhě3űpŁŁ”CŞŐ‰j€EĚ˝C˘Ń¬%U`|™2E° ™Â% ba¦–ç‰YĐV`Ęy" ÔVă˛<0ă%öőěřµ ü6SčŔž&y•&ťş°‘YKlżK™[S`?%{V}­fĐö�ąn8웵~mËgL�±bŁŢxš­ŃSűbaňHŔô‡“ü°sŚl{ p·Ňŕ9ŕCj×=X ÇZÚϦőm/3·ęCöďě!%ąs5Â8 Ź�p˘Ľ•ŞŃĂJĺdľMëQŰUܰťŃSęÚÖIV/—߲ĺĘŠ.›fxr­ ˇíať‡U݉$䕵]h›Ú/»Ź ů7č´şÔ3lşGĐe#R^žő<2Mnvßx3éę5Ó˛Jôř%63”yĆôm�Oěř)ĺ¦Ĺvś({„Ôth4Ąm@v B§G‚ Äm߼őTŢĺ×.çJÓ¬#ďĂĆ~µ4oěŕ5îź“­Í°”±čCö˝°Ü.y5ě7’·Ťo&˝B )¤ëÉ4M~»±,ß%>ÄUČÝ'¦?Ľ“,Bw+~śWż‡ę©w÷ESţŢéÝýěĘuË»†Á‚EŚ^|:'uZęͨŕ˘Đ"U)WAŃ´qrC+aň›íĤů^;ľadÓ ’~¶6dąi¸NN1äčp"˘0iV&†ŻqňKť°c×Ë2h‡˘ˇH>5�EŔĐ –žhqm%fńpŤŠn{Hph ŚČN~]—Żô†2Šä™YP‚OLă†8ËĐć¶(¬…8k­x6)ŹfśĐ'Ý YtŞŚI?×€WŃŐźőÉ3Ľ”®<E"k�§Üľú‡R ç»ô?ÝďŕÜÁ †Đذ˘Ae‚Ĺ5|h# ­z â7´ą€ „G÷=ĺµ…;Çé>ˇË!×čůÄÍ‹Ř$=ĺ~}Ź”őńÇçąpÁ(FÝW%TęĆW ççDŔršÎ Ńa¸ LzĐuŚ6GŤÇd.¶ �*$6¸Ě›ČźśčpŇFŢđ.ŽďI[!Č/ŢĹ™„둾\ëežÇÜ%ů8öoŹOµ ăčŃŁ1+Ť5zťzv• )¤ëËżřEf�łć „M:X, ąýr;÷˙ăüŹôĺ/™çŐř¸3ŔŁ{ě?°Źţî˙íÝ·Ě@9-ś~'0ëäűľý˝<×ëýŮő+;É=÷ÜC?őS?Eż˙{Ło|ăiú­ßúÍ$śÖ�3żíŰž ďůȇ äz˘u’Ű%•r…Ă‘qd÷űĚ6S‹ĽçĄ8D#ŮĄ“@NdG\·Ö0m÷ϲÎ[Ź+ňí'ëµ%»o×§÷R.ŘÁ:&ŁŚŽ™M“ŰöĚ“‰ ™˝bńëMžŔdŃíöh}cÓ˛YÄŽąGXăě!~<;ŘY·Ťčorďz;â{ç|šm^ĄRŐ:ŠPöô¶=M{ł2­opż‰uŔh”ýý•<ĂťmĐGńő}$ŚQl™1yĆČĽ†Ł1 #-0¨˘?2{;€o´‰}`Č7ÁąŠĐ%ŰĘ;NÂHÂ$xâŁQŻ0ÓSłQ7cp–ćâĐ~˘;°;ZśŇže/™<třôłÉÇĆ]ą|•.^ľF—®\ĺ˝ďĘĘ“Ç.;ćŮŃ‹Đ\8 ĚČs0Ëßî÷Y‡-ĺţn_ĄÜď!¶? hĎLÄl[«4&ś7şMĂ‚­ÉŃ»D· BëfV ©‡Đ‚J"3vB˛áw0#@˙â`Ś¬âŠł  Ď‹“‡-Čě×+µ¸=|‹éĚś©dî;v¨ar7×[ˇľ2÷ô®ŃÁ9şTY¤I©BcżJß»źž© AąAĆ üłN”Ü0Îˡk˝î„óІů{¦î›W‹jĺuGć·qȡCÂŔ¶I‰pŚîÇl¶’Ç�ČIy8qĐCV@â±îŮi,"ćXLĆ“k ^hŠVh€śŞÚ~%ĎÔlŞz~łëHݬY™aá%:ť6jŐ3‰•ËŐXgÄ=–1H†'}0ĎĂÉźę—e^ęőyî'`M°úç8y¶Îź«ë~ކaĆŽ$}3íŁŰű­®“tްú/ôB€®†9{kkťy:šŤ&‡tĐlCiô’Ľ$@;?›GÎĵGěŞsŰÄ®E–Aó€błĽÂˇwČK@¨ßŠiŁF˝¶ "χ ?¤‹2cş0ŹĺşMCOĺĺOË«±ŹŘIňlňY'aťűě5q°cuí Ď9č×`0)18®łďŘ0]¨_®çÉ˙řPúqÚý‡eKIűĆv@ž;ŢőxŐö·źčrRČnDŰ˙ )¤Bn—äéh…r7ËݰH‹Ň¦řT‰¦Ęă«â …� ° Ńúň}ć 9Ć QZeł®)\† ›żí` ­@ş¬:âD�…~®.“¤…ďÄY©ňZ!łŠT–]Bśńiył“Łvdşi‰Rו´fĺpë2É "Lw‚–Đ�(SľsJ/™rMŞäxę_¦ÉŰ R E´Ą|2çř(ă p…e7Hi‘áÖŠż5~ä;łuŰJ=»ŕ¬Ńk»b–>' îÉSŕ˛őtcňj/¬»yžî[R·0XBÁž¦¬,�'8~ç“ZlĐôÄmĎ9ršKň˘ÁTcdű9ú�śFBMiŻKY0‚Ř,ifŤI)ČKň­ŤPZqן]]޵AO§™×/äćzňÉ'g®F éălô__ç{PV” Ć  xá;´ 0ęČÜ"ŕ ü-'A$ś‡0…[î€ ćNI틼ÂP„ç ăDh:…MG;„1ß™–ąÓAW’yHŔ9x—¸î(‡f6a?A>q"!Bŕü{ Ę&m•Ą-¤Bv‚˘LĎ<ó ‡sÂxü±ű1ž— yĺ%oş]‚yôŔô¶·˝ŤNž<IßýÝßMwŽŘ5ńđáCôŁ?ú˝‘'Kú÷­Ő#Öźřď~‚^|á%zöąg9\�Ö(8‰şë‰'§ĹĄyÚ9OŻîž 8¬^kz·Űf'ś0` Bt.qÜkpÖá �_Cútq”8 ÓýŻümße_­Y RGe”ěÉĺ7ב—)—f�°:öL±>V­ĂZć0)˝>hńÇś8ÁŘI|±óUŇ±ĺ §î߲{9˘ö J}Łď›éŔ’Ů‹ĹţŐ´ź˝ňmmA/!;n‡ăgZ˙äňg«$wXG;Čď#ž`2¶{j„UAČŹno@ínź":ť>:íľeV©–ąŹ‚•땲:,ä‰CÖ·,cőz…O#ä@Môď’Ő|ŃŰȆłĂÜěÔ9_ăIH[íŽŮ'o2¸ăĄS§éÚĘŞÉK‡Îś9M`.!$‚gF ěÉů´?[pQR'S^ůż«>ëĺ,DĎŃăOtVű[H‡–Ć´g®JWÖ´Ţ3ľCŤćlě„/'ůKě4ž¤p †‘ĺ˛ŔŢĺóbö˛Ěć[*ńA&Łs™ű°@aŰÁآblě “-Ś{t04Îaă ŤFjLôČđ‚ü0CE§fś§­}9z€žjž µę, «sö4ľs‚0HÇçú/•"KYŤ*7Dźęݰ˛LłŤ>ŐĘcš/­‘ѦʙË* †>ŰЬŽ¨Äül7@ąőÁŃě<‘„řaÝ,˙Deš{«Ą1-Ő=ęeó¬If-qő{±Íh;Šžgұç7ţNíMŁ#hŃG|ŻÍóp˝Öä98ŔÁ‘ÉAö B…ű:Š`Ž«V꜎€ľ’ńEŰú |Żíw.›…ýŢËčÖ".ŕ͵©¤óDäčëiť�|/a/´@肢żĂžŁ›l˛:$iŃŻS==ʵ·ědݞˇ®lČ ¤ Űçp4HŘOmČ?“݆î!śţɸ§€¦Űz|gëłłó2Eôj°Ť ]*•k™¶Î22äÉíÜ^O´ŤËµ;j[¦\+4ô9QŹ:¦·;›\V�ŚřÔxŔóB9O żŁž±nŁoë5(»ONMn^Ü}…ěy,0'koÔów!…\OÜ~âęn…RH!Ż´ëS!ßjr,,ť¦UĐFl©… †(P_óň�Ú Ń� RĐĆ-IÓ=őÍ9󶟔Ҭr2ÝÍŹ .Ł˘śŔ–k´]ş8%P®•ktHaş'®UÖ\ôĽ5rľńýd’Q¤ňNŕ:KĺSV Böž<%Á Ťâ¶®'©vüę2JZ7%QVéÉş=9q:”%bđŤ&꤯NDIŰ ő 8Ď˝ŞOÚ7-‡Đ¦†×X˘ťřÚ  ´ńKÚ]łźČýşŢ¦Őß4…7r»Ůiíď tô¸ŔgaIßt]ö é×Ň–bÓßiăŹ>Ť¦›Žä *JÓ§! *)‹ô1ŤĹ”¤n;hĐ„{ęHŇqË­EsňĘ?­ÎĄźáÎLĽ� €!÷ŁŢ`xÂéwaň ®ťżśđy€ů,ĎĹ}ĐPPBú‹HsľĂł‘>^"Čî¦ D±†±JŇ™…e×�k…uůŔ»°ÍK…ÔĘ…ĽH¸é�mŕ:|Źö�W:tŽ;Će@ŢpŇ�¤P~ )dw‚˝Áw~çwň«WWn÷`í˙đÓť)ŻÜíîWnFŔ†đÄ·=ĆŻ)O™zŻ»ĎŰÉqňJ•Xgm¸ŠT˙şn9ą-§„qJŕ‡rŮ‹­ć{0‚iţÖXŃŽ7 °{Ď9}ě'{ëđÍ:?HQĐëÓÎş®pźĽŹ©đ%_Ű÷dÄŽ/qÚ€Ť�ű8ÚA˝g çË·5›Ąéűsý®Őóy­ăŃҨ÷)Éłç˝ňăV÷ßI0IôÜÔQtë’ďđ…ú1zD–Ąb2fÖŃІ˙�˘˝@EŹý‘e®ŚîSĺ˛OµFeŰóěžÜraŔ)^­”9ĚGى°pÂUh~Á8Uvú—ýńŽRíFW6mÚŮlÓ–ÉĂÚÚ­¬¬Ó©ÓgyɆ^Ú˘­M�Ťž?‚?žťźžŇ/R@­‹<€…vOĄŔĽ{2ÝGôXŃuR€…Ýë6Ťł˙ľ#5Zm—éęZź6{öd¸eëł!úd¬…¦„ňyF,PĆô"ó]‰Ăm 'ŢĐ †Ұ~ĵ00Á3Îß™I—ŽŹVɸ„É47ÍŚ×hOЦĂuzą˛ŹÚŐ&ůćą/ÔOŇ™.Ug©[źGč)`7ŇŽpŔi<Ńą�@»Ă.‚:çůŕ ÓëP?|d…6şU|„R«zš3§L_2ú‡)Ç`lt€Q‰á"(3žRŠĂj„^‡xŮ.<_A§÷,H‡|` ܉©ĄĐ¤í7čČBÝĽéôEÓo:ý\=Žç†¸łČXµĺKçKyÉ<iÓÉÚłŕÔ·‡~ŕ\¨×ď˛ó`›|Ä Ś™–uŇcžłv‹0“ä- A›ęÉ ¸ž>*ĺ’ľŻçÁ<đ‚N+ëŘNË—7Ďŕ;¬E•Ę<łW€˝�ő€qjô55Ôkuž?(|eô~ÇĆ•W¶ěŔÖőÄth¬—č`NŔw2ŹYţ¦©çŠ©g^ýl(ŹřéDmłuÉ"]ß‘şp¨ 9�9ú¦ť;Ý Ő�xP3ĎDű–+i( Ióµ˝vçŐsŢďbÓ 9Ë–ó÷ůÉ(ĺ;¶}{fÎĚůł™}’eÚÎR!ĎŇ6QתǢ·Í–ckTß»“]§B¦IŃ_ )¤Ű-î§Bîvąk�â6�N‚ ŚqÖآŃůY%jşĂŐu.Š‚ˇŤš¶Ť I xUf¶+¶ZtZîIIß  N` TĐJ°8„uZšĄ@ň§·rŻ|—L†‘šťzĐĺÓŽdOŃ“jY+núď<p‰ű7^p˘âž¦»Ô˛Ű \_—i˙¤M‚D$T€UŕÝ*F´ťbŃS@rűP?W÷/cčXČi٬Î5Šic®îwĺŚ(“7y®–Ľ¶Ü©oeCţjlćóž‘§HçŤ}Ś™pćç)á`R€ĂżY E9qŞk#ŁaěĚíSY‡č©'Ľ„‘q$Î}ąWĆ?X/*ŐZfĽJ>u™˛°rr& ¦ŃŚ'ÓŇš8`Şiu*ĺyâ‰'Řđ€ęĆÍď…ÍFć=a­zokPn'ya"‚q€\‡qç ŇÇ éă>´‘€ä^ď´’0GČs""íC/®Ĺgäŕ¤)¬2x†�#d~Ĺ;ňÇź´^[]ž'ŕŽGÜ.^ĽČ'ě ¸ďľűx^Ăő’Żiaś )¤Bî4ö2Ş0ŕíNňö\®sçĆĺÖę^ü5 řívŘ † "ý„€…á*4ŽHv\Ő[ěHŇÎHj}BĘŕž]Ń][E÷áÚ‹ťä8š%-ĎK~Ţ–NęV“ĽX}”O3Ç!ĺĉĂ×űÖiWňfhT*óipĐĐădpŁaś’^…â3îN^lšY'(?1É«ÝóLhĐ5ŽŔ˝sDŤšĘSD·Ëîe÷ˇX„|‚úVű¦–<(śÍ!â—O¬®†°° € 8ť»íłT ČżŹâ°Ő®!:[ÜŽ�n1\hťî }˘ŮŞÓěLĂ|®3íľ=Ńlu�ŢŹăE©.`üµŤMłWŇĘę:­®®™=ç&ťżpž®\ľLëk«ĚDÁíCq?ćTOJ1늰Jk%ó·çy×}eřéŘÉű]|Pˇ˙Nu!{đNćKDKfźyŁBW×ÇqĽďź±ď®ŐŞ–!·:X'ćP$ÄŚ#�5ŘpĄaś9łw7_µ†«ä™¶>1^ˇ˝“M*OŚ7éŃŃŃ:]őgéĄę"çĺěÜIú&=@/—iX2:WcôEÖoŔ†˛®€ť""Ă5Y'łFĚ‚04`xV)Y Ď2mđüLßů—id~Ś"jšy«ĺßoúŚŃ[ęg¨aľëŹęŤ<M fË‹ěü�É5LÇŔ„ (L`ń<D%ZßęÓLÍŁűŹíĄS6™•Eł>$v,™ßôXň˛đ D·, C§>ŰdAalýv.Äť�…Áálç¶ _Ď÷FaŇoŇ|Đ6qY%´MNŰ9´­m»l.ľ«ĹťÓí+ĚťSôő’OZH!SlŘ”.mn ¨ë”XË('dĎ4‘ç^Fc[Ď;Ź[űB%óŃâţÂk‡_Éđpź“Őó‰ŰD×±——ŻxłőmA1�ýP0`qŤÁÖ8` ŘHŞ•F˘wkÓ­ďi^ÉÚ:ěwb×s_�Q”J3cćřy¶ű€ˇŔ–Áö�¬# vČ ±<ű‘ŰŹ˛Äđ[‹·Ýľ)ɸéÝ)u[ČëO´Í¸B )ä•”b]*ä[M» ĚĂŕ1YÔ±8Ŕ±9vÁrźVÖ4˛X”(­¬ąĘ‚6lieT9ôgą×u~ëďµSV§%ÎAq|ę2ąŠ¤»áÖĆ<6ISźzbđE)Ą…téĹIęžŔőPD´1SÇ%ďšéBľ“ku;AY"§Űuýä)5y»ţNŇg¨Ô­Ľ#o’žäQž§CH>tŮH…VŃ *ş~u}䱑dÁ¬b®Ť Ú`ě¤\’¦66»Š¸ :Č#܉‹ĺNĘ[ž<ĹTĘ…6‡Á/ŻĚ`*€ă_ţi[•Ł˘T­aŃľg64 b‘Řŕš]F,Ä0ťPń‹" ŐţÚťËdŚjđ×Nu1 ,ĄeúTĎ'2ľAß–a”Ŕx…qɆ7'Ŕɧ0PXBBk@�ĚŔ˝Ö;ät%ř×"}ˇk•< -a©ĐăBc€ÜďpÚďŇgä ŚÂśďpżÄg•taPCšĚĄČŁĚYśôŻ]»Ć/äóŃGeö ʏy€śŚŰB )¤;U4Ŕ˘P¨oNdO§ĂľV†Oy¶´ëíÜűY†§†=ą®Ökއď±ŕ¨#Ü÷6$M¤z%�W"aŚĂ DXďoÓÜ2óÎO)úÓp$Y€Ş8ňtµ$:#ٰ%µW`›?;Ŕ‡`‡©OőF“JĆ) g]żßĺ˛ĎĚĚň aňRC+Ń6GŽuÁ!7´ÎXě Q^¸†Ă™ĚžÔŢŢ–¶E¶&ń6mĘ´ÉÍŠě§íţ3b節R;ý‘é+ć56NnłoëuĆáŮĄöV—6¶Ú4Ć©ä0⼡»1KE˝b´®@qÚńw@ţMšźkŇ X*ęű–Š*źOđg©cnďY2V×7h}m‹ÖÖ7éÂĹKfĎ öŚ6żV®]á=č¬-śJě¦T÷Kt߆ŞĐ ݦr­|ŢéeAľăŔÎ>oŘBôWWP±ţ˝^÷M˝•éŔr•.ŻÖéęú€O˙ă…}8ó|Čßł 0”ě‘z/ĚŽ6Č3m·4éĐcý3TEŹ6Îçr8¦˝ă-ęzu:]?@—f÷Ń ĄéŞ×˘kĺŐ<łGŻ}=${`D"™&`6 R DIŕѡ’z±@‹‚Łpz—JUű=ú7¤žx?ígâÄěésä ÔwMżëSł¶Luc«Zh\Ą™ŠŰôCŁëř¦ľ˘ ×F•Ř; oĆşá„Ů,JÜ(Ůŕ·ţ¤D/]îŃ‘`…î9Ľ‡ľňl[őéí‡\ňl|Ý‹™‚a|ŔdϵĄđÖ¤rÂÖY)žWm=Á¦ßëRŻßfv�(�l8ĺÚ”Dďu%Ę…aÂŞ ë&;ÇKYâfŻc†€\»€ĚĺzJ×ŶvPc@ĘŔŕ‚ŤĚXŢŘ\§RÇçP(ÖŇ®+’_9\C  BćďÄÖW˛lł»Âţ’°g–2cözâÚ!u{»¶Q„p±5׍� Łô^�-ä+hĽ^Yöű’°)(łĚŻŐ~†ËâŘ m]Ź™ŮkÁ$fü[lA�S  ęCŰkŃďÁZaŮ,z\n¬Ő` (˛ŮśaĐô=)¶—€2őú+żmoĂ<fQąvš]«Bv’Ľľ˛S˙)úV!…r3’]ç P`!ßr,¬’ăëĚá8Q–`t±ˇC˛”óZŃ”PÚ9®ĂlŁSO Č •­´Š±T8$?ň·8Eő÷éÉ& B|I9âN^’>ň.4ôú¤”k\çľ*HZR^˝×ĚӼ⤔ߠ¬čď5¸Dž§A�‰Ń1.+ľ‡ŁË 9nŹiбäEś˝P®P?p”ŠCU÷R?6Ŕ:ÍËI^íixyF”i[ýŘÔ°š2HzşŽĺZ­Ŕé~ćÚĄ ´QË5®É»6¸mé*śŇ]y=/‚R.סUćEÂUČ5R‡běЧł,‚’ţ đ ,rRĹ}É\�g‚=Ő’w40BÂőŕłäGUđ·0Řčr@$ )—»ˇqëEŹ·/¸ź]%Kľ—y`ďŢ˝üla©Ö ŚQV\  ažŔw�]HŮ16QF�4đCŘ)$\®Cť€űQHźńBZ`•Ć |‡ĽČ|†q/�\†<C@´ň&§ě #6ÜŹ™ŮičBŘMä>|HDÂá>äăŮgźĺ4Q_ËËËś6�¨#ÝÖň7ň|µŘ„RH!w°¤Îm+·şgxýőv*ďÎ�Pľ"Ú–~-ë@@tXÂ۱D߆©ČOAŮĽ×.Wىęsś’ŽúĆ©1f'ö�~ěhĆŢČSĚÁ¶}—-CďÝÓú•=¬˝R2‹˘÷Ć)đ”’ëô~<ŠÁ´Ö±'bOć Cž;%9o˙ĘĚ%çÇpµÉ±Ü777h«˝ÁˇäŞŐVFŇá7‚pDÚ@t8{ŕ�cA‰’z&ĹŽw»ş™­ÇŔ2&úâ+Ó¤nq˘ĚŘż‰s˛? Í~¬C[›8IŢa– i‡‰©Ď—Đ2ĺ¸Ţ#ƶ¸‡Cw(]¶ŐlĐ¢Ů/ε¨Ő€Ł´Â÷âđŽ8wl0ŰÚpBW®®Óµ• ş|íď176ÖinaIL>·6ÍuŇvfĽ•Äî†:HőőŘÖŕŮßĺ•§o¸şˇ«÷»×IꞬŮtôő�—t˛!Bü ¨B^ ş�ëźIw®Y˘Ĺ9ł§6{čkëŘł[€ó łAłsóÔś[°{üq—ö ÖéŔx‹ŽOÖ¨5nsř—ą OżFçĘ{hł¶DQĄL]ť§NTĄvąNăRŤHúż_f¸DděBččĘĹs/WŔ‚žYňŚC´l>›>Đ…‡ľĹuRŽÇ\dűŘ,˘`Ě€(ËuʧȆĺđqëDxlľĚý¬T¨c~©Ő›yí�ÍÍľHłá uŔ2cž×e™Pµž…ţÁ‰Pv Źpbň4á\„ˇĎŃSLič @ă‹´\ďÓµ~#ń»ëж  ]Ř:ůZ/äč)+ŐYnG =aí"©-ÄóŇň;®‡Ă@1ô÷Í­5ęt7ŤNetĽÖ,ł!Ř{ä>?>¬@»U^Ţyx^fěązoz¨DŰ«\Öź8ˇíXÚîUrEÜĂHrm•çé*‡ę|źAý$죰1B¬j„ýâ4™}ŃĚ;eŚťR…çß™c´˝Č-·�Kd± 9~÷ňt. ¬Žź]S˛L"\Cˇččş/Ĺí\a žrA—†Îޱ ýúňífĂš&bG°€ˇq˛fBPŃĂ´ęůË#aîŘ.¸ĺĹšŠ6eöJÓż{ýłyTĘő„eS‡žµ÷–rm2Zvę×®}0ďţB qEďqÓ5%ĘjĚ»§B )äF%YGsôŰaK(¤;AućɆ_�ÄFĵM©2Ŕ%´82…EA;9!âP…¸ÎHy×N5­ čĐ%úžĽÉ%5lděr*źÇ1şZçQ€ň%T3ihĄTNb#MmTÔ …>=Ŕ0ŁTqśŃ¨ęU9Í%ď¬TŁ.ČŇm"&-‰x´â\Ô[©#ý,_p^ŁŐŮXŁsłóĆ Ú´é†^rZĂm<ç˛V~ˇÜBéăSBqŰBń§µ8·%ݬSŢKNXeŐ‹űLL[J^b´•çËý˘´é0 Z9răňťî#îbä*WşďhĆ )“ÎWŢÂć÷廼gŢ)˛›ŤżÝn=ç1‡Č}P’çćfąďŘÓ]3TXcť„ )ń‘+?6ägű;~‡ă\úšť3l_ÇiŚUJŚ,˘řŚÇ`T¨)9e:ßnůuYÜżÝ9Oę’Ç^ˇA2×ŕ3 `cq ,�č˛CF ůŢŇ€§§Wa(BƧ�)!ôáx 8¸^ň#ăYŚ2WâÖ üŽg‚yŠWü#�b�F ¤/íhOÜÖŕîÇÜ"ĚĚüc®�™Oť:ĹĚ÷ß?ł}@÷ ČDęVł›RH!…Ü©"늰2 űŽţ]_ww„o®,®ŃüŐ˝'r÷ٞ/5ÔuäÜÎ<A˛€ J¨V+|âNş^«MăTl2«=É+ ëtŹÁgČĂ1ł¤{që¨ Ip‚ŮgQzŻÚŮtł€rBöÚ1gťN)P¤T§ihĂ�ŕN§Ä!Oř7JC[ŕd˝o{ĽOčvÁ Ö5éölY=ĹnYG<ęŕ]vćD µ{­zĹŁĹşŮOů5Rĺ| O¶(Öă˛Ŕič\ɸő¶łŔéwůÍÖËDŁIëLaüâ,'ţł} ÍC‰Pt" ZŚŤ#z ÇĺC DAź÷š�UôčęŐ5]TLźá=%ŇŰ+ŮOEÖaČ ‘Ős˘"ŕP4eZÚ»H ółÔ¬cĎ^e@E•C¸”ŕ‰·üž�lĽdż�G§Ý§ó®ŇVg@—.\ˇ•Ők&OíÉt„M0óŁęZ°n0Ç`—2ç3ť#Á‚©¶IRç¶M„˝ŔO€ö÷Řé«üĆĘ‹śâg0ď˙}Ö _=×óßń{BZřŮÉgyáx)v{¬a(Ě›íőĂÇđ¬Úě4L=›şŢĽHÇŻ<KďŮ2ú‚††Ę¦ýŃΕ÷ŃgëG©\mR»µ@ícˬ5•2\Ć4ńJ¬K!tĆUdúĎp c˘‘m۸ă…]bg:ěĐL»”˘jl7˛iyńxE—°AöćŹR*" ¬�«„‡±Ś-¨‚;pĎ7¦–�Ö0ýf2äţofó{Ůč—©ç§oă5+ŹÓěĚWhˇ´AÝQHkĂ&‡,c„é·ÜF%Î_3Żđ`Vš ă0Oć,sýůµ í©{´ż9 •AŤŞĺš rÂÄFďôŤÓąOŁń$ ţý,± ‹Šź=ČaűĄeó±v8÷€Fş7°iÎĐĂhtb{L‡Ů,ćfů!ť;ćę´˘«űý<3bŰ—ž»ĺ÷퇣R››·!¶¸i¶éëL–ŽŞVüŞU‡Fܤ­­5jw6lż#nčšósó|ťµ•ČS�®CźlMÄóc`Az‘fA˝$t2—‚éDę.ŚĂ qТLy3Ě!ÉälŮ+’Ż}űť|eűĄý®d&¨Ę6;„i··D†úŔĚě\.“LH#špřŹK~Ě="ö˛ ^›­ť‘Ç^Ľ~x™+uťŮîӂŁ<V2kj+> cç]ířˇmiEŰúOşf¦k=€ kŰśp0˛Óms]]ÁöŰ éŰV’ľ¤?ËţB?_ď×\O!ßşâÚÂóěśbŹÇďr{ëë¤L…RH!7#бˇëŔŽ˝¦řJ®wCň|Q…ňz’»ĆkĂńiÍ�í›ÍZĽĂuĆAŮÁÉë¬ÖÎ89aˇť9‰ ˛f#€č .DD´SR®ŐgŤš×éĘ˝š@‡}ĐiI~ĺ)_«6 Ęß6śJ|Ň$v^ŠaĐŁôż OĹ€ Q†Ç©ŁÖü”¸„вč|¤ućÇieY:,¸Â^ ‡*N #ĎŘ낢({:_ś8).aä”W3K0FˇĄţ¬bď'Lâ<Őyq-n;ćő qÜĘ˝®"ĺŠë×éë~ ű˛> ăö׼çh‡ďőňs§Šk(ß RăU3¶čű!PŽŹ=já«Ü‡,�¶;N  ?ŮuA|ÂËĎ�lЇ1.Ä©®ÇźDé>ö &śfşfضĐţ[·™N_î·ź˝XŮŹO˝8§6ěo)€„L9 ŔÖŮłgL±˙~:|ř0- Ŕ �ĘŤż±ÉÂwŹČ«8&ŕČYXXHŔř^€z^Ä3–�%d˘,äż‘>Ć:®•SYČ7îÁ3\†öŔux†´µŃĐЦ2‘ć4ÜŹ2 Şf Ěrbżˇěč/§Oź¦Ë—/ÓÉ“'“tEÉĹó„żá;Ízqw9" )¤»Q0gb–Ľ=r!Żť¸zŢÉžëGv;÷~aěM`©ěedí‡Ă‚Â%ś &ăđq“ú嵚łÖ±‡LŔ‰ë f/ÄžÉŢźęC„nĹOÇŠ>ĺ*bź©#Mö ˛ß�â·Ëď쨍ľ˘Kg€˙d\Çďľ˝ôĺŘ?0E|˘Üî-�łÁLhŤ8-“ŻIěTʬS˝j´üV­GóŤ-ŞřťiMAÍ:Übp….›Ý+Gi=ęö m¸ëđżľî¦0{ęxóÓ%î‰ĂĎä4FS–qp82.sSŘN§O++�đ¶Í>®ËŔ‹jÝę§eăx÷áĚWě+–ĄBźÜ ěŔ'k9עýű–Ě^Ýô{sĹô©˛WŠ <€jj ¨+Ű~#Z]ߤ^x™VWۦ_včŮçž1í„đwmSďAěäK÷Šž+”<ź4€"ű˛Ď†¤¬”«ű»NÂ$ˇ®őˇ×Şďđl %×@w)ůŰŇô} }XÎü–‚)<çď,»žcĂ'ÚďőóĆű=:ôéOÓÂÚL|jU:tÎ_˘S!˝T2kÉŇ!š,ĄČ8l{h× źA.°O÷‰ĚӞрY$Řp‹%f –ŮPÉ8?9ÄÄ8ä(!śáđďšaP®ý­bęÍŚ5bv”r슶ü~±V3ÔŻr› Ă•ů±Cň&3í”�`ŕŰBâ#ĂÉŻ™›JĂxüX– ĎŮYíy`sXˇ®?GŕQS7‹t|áO¨54:ŇЧŤa“ű>€?ž7ćC'¶˝łŕÓ¸ ÔŐʰE{kmZnôÁ-@/]Ú`ô<Ű.e¢‘2+¦éZĐ ;”ý¸Ćö'a9đĽRîś sśžđć­fŁÉzóćÖşÇ <�[ĎüÜ3[č!Éă@Îł‰]L?Ďť›\ű›ţ^új””/ťßuZyóť][b0C ĂüÝtŘ PIłç4LŮ리íÎ&Áp¬jtŮZµĆí¨í„¤ŃlĎ&ŃĎ­]ćĚKžŘĂŚÚHNŻ+°HŢŢLŠĄX ő ?ŹP“\§ľ@ ĚUÍÇa‡e¶çŤĚÜ˝şz…6:Ĺ›Đ‰Ł‡č‰G¤#GÝĽbÖq�:«f,ú¬—c^ŹB° •čĘ•uzéj—VV7Ťž<âąëŔb' ­ k K…Řń ‹ĎÎÎ%ş¶=fë`Łť�¤˛Frą•ýN@.řÁŹ™F� A;3“g,ƱµÁ,0bż°¶˘xź ÁJÓí6.XH÷Ĺ×›m®WVô<©} Ňod‰ţ7;Ű"͢RtťB )ä•Ě=psÔë)S4\BŹł~·ôŔ¨»+¤×«Ü5� >™¬č\- Ă€šRĄÄĆ(­ě‰M°>m'†·<#G\§łf“ЬúoW™sČňLą^”G1Ʋ�Á÷¤Ä±Ż© ]ĐNn•¤Ü2Dň/ŽI8ő ü$\î[ż� )ĹŇĐéI}äMBhJQ]nIĺÉś˘'«4 ­ n—뉤+í$`Lępb’GšbD–z’¶Ő,yí„´$\€ŢĚjc‚äAśö4!ě&şOâ3 ¦D˛v^Zš‘@çI˙¦ ÁR)ď´EÎíĂ;Éír ÜLş®‘ŃEuë2Ě#cĐ5ńÉ Óo€ö€�Fkh·}BŔÂ: ´“â ~%á)0Ƥ?ČřvÁ F ę2łŔ¤ĎşFaĄŃéŔ�–žěĚHňŰs;¸Cד¤ă~F˝}đä±–†Ż~ő«ôĄ/}‰Á�9r„Çţ–x¬(?X!đÁ;€řעޤ~đyßľ}\0ĽXJĎ•; Ď ž!! 0]şt)3h� Ś‹�Ô[YYIBI˙A9qŢń7~G^0·Čü‡|áy¸N ś9s†™+ľíŰľŤ™+4ČDźŠâ“L&mÔ“¤/ý¤B )äN˝WÂąó(ć.˝ÖěĽö’'·kîw÷vúoW‹“{ýí’Ú“Šn‘îK­łČ˛qůÄ38»±ąfs‹|*Őę+ł€ńnM’ľvýýOş_´űę;?¬ľ3Ęě]fBŃ5 ?Î血0‰ýÉS§„-P4f4Âś ϱ€Ň:—'c±čtşČ1,p·^…Łt@ ő jVĆÉţ‰™ĆAÚ„3/Ś‚Řˇ“\k.›g™(ô>šĽíL|ÓÄ‚´ţh;8#uZÆ+Ó�ăN�”ď'Ý&­ĆŔ 8ě±'ŘąZ«Řý®§užu/a•‹Ë9ŰjҡűŹÓĚ,¨Ü+ě4,ĂAG9;ŤíÉq/f3PE`Ú¨cö˙˝ţÎź_ˇgź9Ĺ gΞ˘ł/żdňmڇěd% aŻÓcÎŹ¦+<ŰG "Dˇż¶‰Üßb¶ ňXÂË%\ŰGŢ÷nHOĄ7íľ4L&é{µZ‰6ľó»čsź}š®uÍţľyŔ\gÚţ@H˝Í-jwŰ®\¦Ů™yvľ{`ůD<žFŢ$f“ˇx6ٶÂÉzv6čŕŹÉb°ĆnĄÄóMŕ¸3ćî‚č\a‰&¦Tá,ňÂłiE‰Ă9;ńSŽJ1`¤e™&‚±eĂńČ2 �ÄaÄ> c&0=€cËłL2ĆZBţ—i•éĄđ˝ĆŮ^¦C­OŇL˝O›}ăpúĚbtĽ!€dÜÄ#.îk~˘Ë`~q8 ˝{ćčÄž&Ýp†¶ćŚ\çJ–}"e*ąQlL�%1@*+âxŻ$ĎÔú˘Ě‰ŮšéÜ›‚Ö*´gů -/0ăşM[í5ş¶r‰Ż_ZÜKŤć¬ ße=Y˝-$ µ¤çŃ}őÁ'=ÇLc¨Đ�<™;ô»žőúˇÇęĺŽz‰îhÇ|Ő꿍Ů$÷ÎĎ/˛ó˝ÝŢ +W.0»ú8<´}Ň®éÁË"aoyĺűßçeC_mo„™rÉď:´±>c€%(Űú!~KžĆ@ pÄťkVčĐň^Zśż—NśŘO÷ś<`Ć”±–ý‘ĂŹmąCvţž<r<aO©š9yl¶›[]şxyťž?}™ľúÜËôµçÎRgŁmĆL…Á|Ř»Ŕ�=Zź”M€)^ČöWx;łsIżŐ}#ł>Ňöą;µŹŘh‹ {¸]±.€˝dssťmp:ÍÍĄúľ­ß hčlać9® Z·_!ßş’í{iryáo„Ąm6ëńüM…RH!·MÜ}’ „Í{ÓJ%{8Aî)lD…Ľžĺ.â…Íg Ną@áFLÓrLŮ/F.Qě\#�˛Đf‰ČĆV”X ~ CNZk‡µvÖ»cí—żE‘â¤-ĘŚ�"}Š{0IÉ󴢤óŻ7Z’9Í­ŻCúٞTň% ě”őłaä4¸>ŻRFţ»”N°)EYKłń@Ą®¸Ü@Ą—*ÉIďiÔŚş´˛Łä÷üůóś”.80Ą|7”‹N+/\H‚†h›’Şű–¤éz´RŻëU;őµq`§EFňž—–[&W)Ě[ä;uşnĽš ŕÍ>ËEü»†ů íşwďŢdĽą×AŮG˙1{[oŔĺ@ĂŹś.ŃL$čÂ>C ŇÇłä»Ä á Ýs%Eŕ4„ŤoZMŇÓy”G|BĘóĂ‹´ÓĽĄ§)íI1Śq)“> ăXĘ.iąs“ü pűcÇř:„ż¸ző*]Ľx1vtč™gžˇ§ź~:ł2Ç��đž\đŘ"t» ŕ×ěŮł‡Ű€AÁ"x€ ¸ףN€ <WX1ěéőäHWč;‘G€5pĎ€Č8Â}�l4â“^�J |x>Ę€4„ŮâĘ•+|-�R/(·pB” şÎaxÁłeŽwéö )¤BîDŃű$ŇaΕÓŰÚéV„w'zßŮé´ĺŤ¤éîË ŔPÍŘđjH¨Sďo˙˙ěý ´,ŮUďČáfćÍ;Ľů˝š^U©ć’Ş$FHČv13 Ä` Ät˙¬Ĺb5îe÷˙·WcĽÜC»Ů,mla„$KB%ˇ±ćyxUoîsfDźoďł#vDćŢ«WRŐ«ŘŻ˛2o 'Nś8çÄŮ{űŰvťŞ ap2FKUÚ쬳ăąîÁf`„€Á“`9GîË´ŕoŐżT´ë^»Ţ˛ŔLŐi5!— 0+GÖ„1;ďqš°UősŔy>ˇ)θ®âŇ>!Gă¶ZMęu;ÎÁÜĄůz…î™ĐÂÜAżšB@ő2ľFÂÔ nmuŠV×Núg-éĐđÉĆeś:ż!ŕU:ţL/áÚđҲ¨7äެżG�XL¦Çzś¦_T-ćî÷n]5pżÇě,ëĺľI+ÜÚk­ăîąĎ‘ŃsŤ:µ©ł^ÚG˘Čőş¶Oᜊk»VłA{÷-:.Ŕ˛sÎů=ISb0ŘŔłSˇ”g"މú ťÁsÇOŃ#Ź<1=sě=ůÔ㮞}‰N'IŹŃ¨·|›řĘM#lżG?|ôrŃ)¬”üÖą�…ţ.‚ŠÎŃôăA)@" )="‘ŘáĚň,ŔÂ^Ó2Xdçä`ÉĘŠü˝ôŞ·ŢMţśS®Ö]ť$ś6gŃ9dçZ´éÖĂúáôÎ )RsŮe$ľg¶Ht=R8w-§#ˇ°NµČő1ča~ !ëJŠH@`HČI ¨ŐÜ6§ŁŤCNa0‰GĚZÂ)fşXBýŇ~Äś˘€ ®�GÄÇ ľŕ>aĄńIŞ2x°<ú#»x9EÍĆś¦ě¨ęn|„FŐ«č©á›i®Ň§ĄÚCÔBŠ gvŘě'ědFS۳帺€~ą×ж¦ÍE;3;ËŇ~jÖŰtµďB+rź!íqĎq઴чMÂÝ?;ä3@~ 0÷Qőě§Śá ˛9ÉękÚu.,:ďmß×9�šůůckëçéÜůÓT]_ˇ…ö25Üó®˛~kÎń”íCË+®1t›eŞ-Whł$łĂ$~~˝ :ehäw‡gC�E{~™šňCŢ´ˇÎ÷ýn>_bŹŽ{Źť:}ĚťS§ůÖ5[mŐŢI…Ľ '–m<G%ŕĎ‚K‘˝‡fÍ=Ĺg¦ĎM@E•ôk§ăy2”ľ0ń۲mčÎuă˛Ő¬Đu×ěŁë®Z¤#h ¶ąŞźđPĹ„Y dl9ťwżÓŁ™ußYcĎŘâmy°ş}{÷Ěąv;HwÜz€ľó›^Eëť=ňäizŕŃsôäskl?ŤÜűdŚ1âq9ŐÉDŔs‘<Ź0´SۉµíhjËłíXö7Zććš|Ż˝^—Á‚çÎťĺ>PrłŮ2€ŽlĚ.E[ží良|Ą„hSřâݵ´´Č€ş¬Żf6ŃˡW”RJ)ĄĄ¨Gc®4ľ77»ąíYn©W–RĘ‹\®€…Dţc‘.NIB Ô"<DěŐE„*öQ1t­Ímť^ęä×ăSĆě26†ŚÂ%ěBŘ‚<t{‘˛Ö:ÁUŃ…•HýmŤ_*zŞŮ2ôe­(‚,$1‹z5@jŽ‚5¬ÂŞéDÄ€eţ°NZ«°)ŘDY?ÄáŮćúó1'É4ôv–⎿QphĂ௑çjĽµĎAë\Űě3´ kŚÎ€$q®oż‹ő¶ż­|;±íŞb Úv¶®ł®ke«—Ú,É—KžŻâh˙¶ý!Ú÷ě3™etÁłŠ«>EEŮaě\A”ő'ĘębŰÜömuč> ‘ß!,P¶ť'ěŘźŐ¬C@Ź·u° 0[欱¤żu¬ë¸°ă &Í­P7ß|3`€ŕ�)2đÁ±ě¨ő��są:伥N:ś‡z(�ŕˇ:lósA}�vŔµq-me`ŔÇ�<ˇ%|�jŔvulŔp†2q¸ŽĽ[†|ś2cXg˘­pO(ŕ °y�TÔ28ç NęŔÂő8ZkĎžP!y‰»Ě ˇěĄá¤”RJy1KńťQ'ĚĎĄĽxe»uÝ—kÍgťqd!ëk |OĽóPÖZ8Î(ôłMÎő�¤ëoÁ;ĺ”r;h 4"ŽČ1Ů×+ŻÇŇ[Ś­N @UŐ±p>"ÚĄľqĘ"Áë˝$IA´X'  Z©0tF.Nµ(­^«ÂŃ\­JM·DZl:'^Dě´):3së†ÔÝÄ|{®˝d­ÔŘbęss¬3ëşHî1đőŠma”1pĚě@©;đĚôžt}o<dfŤ^oČŔ GČë¬.Ö66©?ť ó‹ó>i7ĽqFeŕü0PG@ÉZŢÓvç°lÖĺް6L<Ť=E N¤•čuú|ÝNgČ©HľřĄűťăwײĎ<ý­¬^Hť­�Ŕ©č{(ßwž ‡žFPËó%R0Ť˛ËU˙ě ęjy‹"p!ÂS€ “"„ťÎţSBĚP„3g@Š`‹}Ó©D¤ů~Ć ŹŢţú%úŰ/®Ńů• ä¨Ds´´\wÎć!u;›îY¬1K{ľÍ˙‰KH‹Ăş!„y…S}€Ä Ĺ>ŁśŤ(PFěŻ×¶aT#řsńĚqn\€A—Ş> Ř/�‚Ŕg„”�TqŮ®ď8§:Cę#|!]j2–gÎş•g»*Hh"� ŚŐˇsΧ©Z  €ű»f|–z›gi\;LýÚť4ś¦vý,-.őyě¬#ęöDľľŮőseäÚ«FsőŐÚ5Ö1íÜ €UÍÍ7=g#Ś+ÔpóGł6¤˝-§O ÄuwO€q : ţ ›K&¦HbµßÓK>ÍPŢ)oÄEŃ)uâS1ŔÉŚů»ßÇÜtžV×Î1x®Ůtö z“S×DěüO¦ËEű†Ő{­®ś›ŁĚ<©Ŕ8"Ë ‘Ůř„Q°—FUđî‘­0dË‘ňăô~%5„FLK‹{iqa/ G=Ďć±Â÷ v"ĚËË 2Ş"`‰“é´Wi›'yűűYŃ—¶†L<ŢŇ5‰Ť}„<ĐÂý¨ąŃŢĹ9:ző˝âúýtč€{–őĎÁü̂ȿGä„qÖďwi®Qsú˙÷|k Ľ<L€ë0ŤR«í5ć©Q@*¸ăĆ|Ťľę®č«^u÷Ă +«ôčÓ+t˙#§čŘq׎ťkË-bNk“\'¸ŤoŮÚ,­ -ë/”k#ۧŠv¤¬=#Ő OŁ?a>CZ)Ř$ČŁĺÓGžšd`)M«§Ď@Ţc0CĄOŞĘú­ÎĂ{÷îIÓ?Ů> )ÁĄ”RĘ -E˙$üx…â˝gŮŞJ{w)/uąb�blË)ä‘nwŕ 5 WĎępłé 4m†uşC,¨b+4•5Ô‰jť˘”�±Týž5‘äsĽF#YEžęq–i#e’0 ®ýh[čýC`xłNhetŹšrŁŘę`<şťď;sÎm1ćµEŞ]”ŰpÎFŤňNűdŚ®3´"hAťˇ‡óŽR­§–iÓ-Řt+V9W±ÎđY Ó"Ű^§¨tŮăŠĘ›1ěưĺ­Î-*Čv[±Ţ—Ű ~ą^–—ZŽ=Żř»h�Ň1fç{Ž:‹9!ň†˝@#x2 V.Ęr*;lS4bČś1aÖŠŚb´ÂĆ1®3ĺ)×u,ęs”Lš2:ďGęźkŠ} ŘUÔ°ú˝á o n¸Ç>ĘĘQp“˛ í@Q¨÷ă Ŕ?üpšfE™*JżÁXňpĘĂĆ5ŚP…XěłÔë);� XŔuq @8ŰPOl·ĺá:¸ž}† ~Á>Ě):'â8ťÓĐŹ=ö>|nĽńĆôĘŞ`…‚lŘŮ0’\ë)Ť˛g·҇–RJ)ĄĽĄ¸–±Ű!ĺ<öҢăeÖöË-Ô ±�r®ĘµĹáŻQĚ @­×šTYŞQ··ÉLcŽm3E9D×e‰‰ř…Ł#Ő[MEÂîqÖcôX˝.ŞfA ˘Ź)Yz†—:Ź˝Ź-HÁ �RđÚĹ9’Łw3=jâť_ě "Jü?8Ȥ=ö.„ÎŇň<˘ÍŘ@}d˝hőEF®!ÎĄĐűűĄM÷i/6;kěÔC5@c§ŢâÂ×NCTŚ®ćď-Hť]ł%ć5ŞOű1tŽĺÁ ˝ţ6{ç4p3ôőÍŤG4 …ŇGÁ;‡jłŐ`Gş”磅ă$uŠéú�Öln­\wĎnq©íó�ŕ6ĹńďÁ YJŚĐ3pÄÜ`6üŔk ¨xâ‰ctň”°¤=ňČ#®Î}qÄ;NEGĐö•çĎż%4[śwúoq¤ÎrŇńłŤ(-‡iAVß"«…,¨ŢŞăĹ~ôąŰ´E€ďCźć"ś  ˛(ÖCľi[€¸ľţo?&�LÁ3Ćľ9÷űÍwďĄOß·F'OË8âÉ� ¦sŔ:gsżM›ÝuZôş4ך§ůąyç{­xGłI$Ď×qżă*�`IReĹĚ^�’Ć4YjT Ü3vőA¸±7šČq®Ą,Ă©‡ř|€?"FD0­ż»Î "´CäYBx<3ڇ<XNqń3Ć ‡ŕ譎з7™ë€ŽÁ1ęl<I'»cŞÔŃÁ˝s´oÁéÎ)˝4wŽ"7–’ ú}“Şő)ŰŤŽSe3dŔH5ŕů‚’ ;É×{Zë-4Cj7Ş4‡>ÍqŞ˘ŢXŘvC}„˛ °GĆ>#âŮv¬YżóuÓçAF•ylŤűöqc˛Kťî3[ln¬RŐéQÍF›ÓU}еŰh_·‘Űé Ă)Ë,ÝŕÜřÄżw„ťBćyox§(xÔN0J Ŕ ë”¶†ěľÓ–É}ă8�Ýpä�ŁEĐŁłgOó»ŁŐ–°K(öoqÝ•$ů@¤Yö&m»­Ŕ�ÖV`·kŤ=®‚m!ű—›t͡zĺ-hďžý…‘Xę�ŘqZ¸<îßDC7ç#ÍĎň¤Čh¸vô 7ŘCa—ŕë„¶…ĽŤu3[Á`Ăé8üł_\hÓëď^¤×Ýuť›+†ôŔ٧čó÷Ł'ź9G«ëÎŔď<’ŕ17ć˘Ěáłl |/ŰkѶ[´íčoµźŕ7�4Hu†ż»ÝŽ­ń±č_ŢĐ€ {yNéZ#}^ÉDN]ĘE‹µÝéŘŰĆŘV6ÔËmó-Ą”RJ)Jńťi·çSFďlżTK)ĺĄ)WE5u:ĆŮ=Ź$š%š˝°µ, ^µÖČiuŔÎZl۶e2(&u»ĂÔHR¤šÓúčvëŔµŽZ+ZW«8Y¬^ß*UÖ!\Ś6`ĘË Ěě,ČĂ–g÷Y#Ź5žÚ…ś:$mB™XXh§uH•Ę@ۉ¶c¤*°Ńńöţµ|5°Îb›°NpK5\Ľž-W·Ůs‹ýJʱíq)Ćkí›Ĺk۸¨ŕë`˙.îŰĘŘľ“lµ˙r‹˝ČVő˛ăŐ¬(x@XjČçÉLĽ“=I˙EÖe­Ń9Dűś‚zlžO)Ł.ŃŠ){o{o4Ń{˛)…¤,2ÇSę0ŐgŐˇ ĎµHźmç°âś¤Ž�®şęę”ŃAĆî#S%Ú§Ď@ěSŕűqÜő×_ĎŰŔ8qüřq>×Ŕń�,ŕž�ČŔń\GÓü�śŔ9[G#O  khS � Ř®iAp Eň-BS·Ř>€ű�«Śg¨7ŽŃô%Ú:źŕ\Ô Ç`ľyöŮg™ˇăčŃŁtäȮꭩ>ôyŔpđ¶k„+ŽS DÓÄĽXĆR)Ą”RŠ»NŘj­°ŐŁ4ę˝8dÖsŘj=ůBÉ,Ý)«KČŽ=©‹ö/q\ËZ+cy©uŮA…ÜöuçŔ¨Vę~]�Ŕy2ĺIőDË™kąhlýŘhhfŽH˛ú +@DőJMśČž ‚bŢ)ź$€ąa`RxV"sź®ZŐ¨Jű+Ôži{DµjŕY ß&ëŔŮÚ/ń€ 5˛Kd+®łďk=łó—ď_~0„ ĺĹĘŠsđ9'6hę¸Ŕš4ŔF)h„«˝Ýső�R¤ýX[ŰtÎâ>3StşîoçPęlö¨Űë3“J=|µ^  Ń…ĹńN쬯ĎŐřţç[ ZZ¨¶NsľÍ€r€}>JMŹµÝąłhŕşÇŹź 'ź:FĂÁŘ­AWčěą3ÜŹ(„>‚_Á%:×iÉšú3L×čůOć/ęcŁ+?¨ ĺ+×ýa”1_�¨sT‰rűŠ)B@÷YduË9Ń ĐDHłR\ŽzDšnĹďó� Ź„ ®ů#ő ŘVł°Đ 7Ţ]ŁĎ>Ńł'7i23;…kŔ°RsĎĽŹÔ śĂ­™Ýoloş~ZuýT‘Ě|=˙¸ř=;Ź[—10(dćÍľsáÂÝ:a’X(JĐžaśŽMŚ[�.Ędh:�*0¶=#öĚřÖ¸<aŻI¸Ż$č/ÉD�Bč×nŤGR÷XŘ;ŔÂ*)bŻËőéÂęőĆ׹qrµktŕеtpô8męSť†c~%éłÔůD"÷3ă5łs¸±€´#˝‘›GB¤1¸ą+$ç/çó#gs"IĎ9©qF`˙ŔížÚ2 ň ‰v.´kí3Ů<? ĺ× Ůx 8Ę€>Ŕv€(ë¨Ň›cĐŤ¦"S}ŘŽs­Ç,A6OR]ŘűTL%ÜlĚ ÓPQ– XR€šµµäÂl”^qę=:ëo­'ćŰZm?×€AôóÍΑ‚¤Vťcç|f)®Ü•ÉlVÔ˘^żÝzÍ–›>×@9Wdü\up^×a:´w^XkÁĐ‚6ô ™Ő†áôx7עW]uÄÝôh×ĆÚwä{ĐĚ9F�>i÷ą–o#@Đűh»÷Áë_s”n»ů =öÄ)zü© tâl‡ž=~–ÎŻnşs·7…Űľ;k{ńzö·]CLŰÓô˛ă Á©gđŢŃ ĚͰY( GíE¶nĄŤ ťCtśĂÖ¦űěqĄ”RJ)_.)®9 űlóĽ(ş+•RĘKV®€J’(ďń¸Âß“I— /0ęD# Ů CcĐđ�]¬*+ţVĄŞŔ~%¤eY€�D6–ÂŻxś]x«sÓ::óJ›ŇäF\ĄÎÔëŘz¨ĂVŻĹÔ"E#x1ŇŢ7ôďĐäT~k»X%BËäöJÄH%p<ÚÉŔ[äb2ÉX5Ř) ±č~KÚ—DT3WĘ5˝}k+Ă/ę'%(ö!p”B9± ·QŘ6°÷ˇŰăí6Uęí3µß¶?e«Ĺ­˝ÎVŠť•˘!zÖu¬bmËŰĘѱaÖą/öEş5¤Űv°2«=¶RVq,ć8Őa<‰Â,Îr˙?ĎšŠBǨPÉĆ©‘Z `L#‹±âŚ gĚI$‘vľüĄEÖÎ T‘äŽ+´Č–÷9«fµŁu0=z”Ł.67…˝�”˛VŔp `‚¦çĐ2BCSŠ`®Ŕ8#@8�``�Ă…¶Ęřǡ<\ó7` Śu”ŹyRŻż1'ŕůŕĽĺĺeoŔđq¸ĘŐ~‚24»ŇŰ#ĄţĆ5ř ůwń7'Ožd X+î¸ă>O4p6Ż;ę‚z«ŃuŃôR¸>ú/J)Ą”R^Ś2Ë€_ĘK[¶Z ĽĐë=»Nłş“�ĽŁśŁBűZ({žč<X[Őj Ö!C°!ôhŤh®.tůşP0{gř6Ĺ›9ŢŕHěů¨í$e7K’lťç5oâě—؆ż˝+^®5ń|AĹĺű PXc9|Íčđž-/VéĐ"Ö—ń˛Ę—hD=Ť ;˛“PÖ§H~ř”pôĹŢéëő8Ëc˘Pbďř”í`ĤÍk}.бÓîúŻUëU0t„)â [aG,˛ç/lĐé3+´ľÖqk­[ďŚ)5Ŕ 6�édţ¨ţ­ŽXŃą‘šŻ9±“qn®Î ­ů§>`&†€Ň¶Öň(ȀΓ!Ń™ł« öXwëČűﻏV×VymvňÄ ކ¤i4Z_Ššäte):Ěý¶ŽĘüoĘŔ�iBŁ›á(p©î0‹1Âţ­ß™Q2śyŽNDž˝ÂĄçŘňiŞ<FLłW豑Jř{)¦Iď5 S ,ü'«|ť{ćčMŻ:HźŻUéńc«Îů0Ű‹ę/Mu0Z4Zîy ŘéŢti8čQŁŢtkç&Ő\żÔëŤŔ2Ăŕ©H†ž'ü\#á" Ä;ćń�ǵŚÄŚ…DXPWQÇ’Ôˇ=žôýłŽX/ÄćŘ3c~n‘Q{v„XX2&2V9]‘»©CĚă¶—F­%L^W‚~8w¶• tfőµ6íiÝB­ćÚ•ÓÔwý{ŁçôťˇÔŹ&’Ŕ?ź(g»Ę†0ć śW»ßňó›«$Ě*0WK¨Y x|ă¦Ŕh1rĎc0©7ňö®dl$i<@:· ;EžÁÁłílłóűŔÚ€TPÇń¬ÁN»ąąN˝î&kŔ„27×{xiož"Ă(µ‡©NÖ|ŹLQŕß,lÁ˝×Śůb€LLަ'b좬IňďN;—Léáé{@� ­&X-šŢéîŢg`gíŻr*™´„©Ißi64 źć7«C`ěEÉŻăüńIöKĎÍ®ţ{ŞtŐ˝âčZhE xbűjµâí­±oe ¬ÍM7V{]şćš«‘1DÝňó’̡źÄĹöáç|'QÚ–ÚNAZË„, $IÓYÉű}±…4"Géµwß@gÎoŇăOžŁű>NO<}†Î­tř˝şŐňĆ®k·˛›Ź·çézÁöőÄ<« Č—%}ŻĘ¶µ ŕý‹ŹÎ°Ř °íęSĘËCôůg¶ř ŰÄŠ©ńfI©·•RJ)—[Šď$űw˛fGë-ßeĄĽ”ĺŠXd‘× Ó ŠS3ćEk%],¨čb6|A1¶¨ukęô,:Ń‹ÎxÝf4ýŰF<Ź(HAŻk•4»(WŁ5đe†Ĺ<k„–e‘«ĹşŰo”Ą‘Ű6ŐIń|ý[Żc2Š€ KÍČé7-5ÖčŻdyV6ÂMPf@ íE§H¶8K5'ŁÎ¤†G•Y�u¬Âń G*¤ěŚDöąŮ{™%»Y„ÎRvvű˛ĺ Řd±SąĹsg•ŻÇí¦Ě‹Y„çŤ-·xßíń;·hÂŽ»b„ćĄ-ž‡Ĺ�”–ÄS3ŞQÇ©Ě!ŐăM±)}°eÂIŮN5pú”5Ó7ĹŚ™0ŚrchVj“­Úh0¬(ĹghçĚ@py€#Đ6šCÁŹřŤý�Q ]06‘F@ ˝®«ĚŕëB8VŮ2Ŕxz(ßW]u3^ŕ·2B .¸uĆ9šfĺâz¸e»Pf ” Đ…¨őĚ'@Üę\ (¤¬Ŕ|sÍ5×pz\;ăČ<Šzáš ĽÁ}hůh#Sđ7Ę×kŕó\ąŘ,Ą”R^˛Óš¤Tś_:ňĺ|VÖ)a%u\Ąë2 ­€ âŔ‚S á@äďČ9Gśf@t$Őcźęů€őÝx2öÎcwÖÜşNśîA šµzł Nň xöţ„Ý`šÂYâ[Ř) §ëň|….y=pG '’â@$˘00ĺ'¨Ł[w†š^ÄëoŢY§ôűvǿѠ^/–6s-˘Ćń-kÜ,ődŻ7J«ATe§ä\­Â€‡j}^hüëâ”‡Ł lýÁN±�·©;ľšs8yý0ŐOĄŢ¸wčő‹ uçLDę’µÂ$‡g¬, ęŔË|‹Rî`8˘óçVÜz,j#Z]Ů G’Î_8Ď÷¶˛zşIÇ>ąf�)¦ČĹţj SŰHfg?;)Šş«öMűwńř"ŔAőâ„3®™ťÉÎĎ4ě±čŇ‘×iä dFÓuau¤ 8`Ä„ˇs*şď9çŕ>°Űę´±9¤§;!úŤ Ôkp®WŮŃŚ(˙.Xú×[ś"*âxH_âôţÁ#`š@Rôřq…ş±íaâuDlj8nŐ¦úűT�ŹďuľřrüVô{¬ńŐÁomDę4­×Űéܡ)yÄŁmÎ6 îć=Wʧ(Őčtź»˙ej·öP˝rŽććOQĎ͛à uz±0qč ĄĎIćĺ-,řoč®ŕĆN×}תn "Ö5§;·Yw:J+`0AĚ Ž ź3t×ě �¨r:ôHŔă8{VÚŹ„E(shk_J%I˛1LäYTĺ7ěx­Ę<ۉ´Műn.ÚmR­×aƢąş�$0‡"m‹�)d.Ă|ŹňC›ss‹÷D^«äĆpa"ČŞHYŠ˘Ä×Uűwűľdú ÷Ý z/d·lR–ňś Ayßáďąš»·š¤•°zíf6Î>O?W'±•!݆VYÁ(‚K…łÁ�i_ŽÓŢśŮĘ|€Ô|#˘kÔ誮źĐĺ=Ám8§UIä~ĐĆxVĐ©¸i�Wa&›HŇ‚ >ˇ€ľ07fŕ‰0ołQ€P2 ĺŮYě‘?ÄtpO“î=J·ßtú4Ý÷Đqş÷ˇÓ´şŮOm.ˇ/*6GŰG‹ö]{-*¶™Y§Xű ž:(%«]c@`7Đyç9o_Ŕ;€ ŔCş ńEŰŰJąňD-'śd§e|©“•RĘ‹WŠ>ĄY>¦—˛(ó7ŢiYŔi9'•ňŇ•+`Ĺ<;ô‰ü •úŇň"U;]ÎëŠÜv•J5UŚTÁµ€ ËŇ Ę,D˝4Ô!¦żsJ‰Wޱ.–­×+‚5Šë}Y®gŁŹŠ ű˘ńÇ‚1Š@ =^©âNS=rtE"ěE°G‘ĹBë± {OE&mĄţ—ý©ą1'Űp=8<×ÖÖXń„łű,dˇŚ^EĹd«IţĹ>ůż^P/”˛·[p…Ž[ ‚˛ícűhŃ ž3z¤cŐÝ ’‚‘(ĚŤq;gŕ<6ú$bč®Ő*™ŃÝD1$q’«Ł—ŮŘc‚5ďöyďdÜŮęýčśqÓM7Ńűůş�(Ł„¦Ý� ű0ť ŕ¶ ëŰEĎSĐ–솱Śý�-(«Ř"�Ľ�¸e)hă‰'žŕô¸¦¦ŇT&(CÁ8ŚĘDˇ`‡sµÝ1—ŕZĚM¨ :Ł~'NśŕkŢpĂ ®@źĎőÓyVݎ lÇ1h'§Ŕ”+yÇ>ßo•J)Ą”RJ)ĺJ»WťČ®…t}•”ÁB�«]ç!Bk«ZµFICśŻëë«ÔŻuŮ9‡Ľđ Ý'i´°Ż…D1;‡UŤ2ýO"ÚóěrşĐm¶ţ?/ď¸ĘR+Ů­UĺéSC:y>ˇĹů*-5¤BőŞÔq–¨+‰R§šoź@ŇŠŕŹ4µ‡žŁíěťĎa.ŕá1§'�s@-§ŁZ€ĆÄ9úĆĂ> űN†‡l•Y=ZMçđk´iľ‰üńCŞV$%(l[Č3ÓµeĚŃŞ[ďYnşµ”8 A#ßjÖXĎW€˛eIĐç{`Ę Ź”n·.;霯C·V<KŹ=öGO#|ŁłÁW~NědŔ9ű“0žjßâÚ:ďä› °ČíŁ `Q4áL–Ů� µ?L(f±[Ě.o`AS۵{®Ü‹XëAé6s.�3óm‰ĘG¤6Ź_ŚíÉAH ňÔsëî{ťV:rnq‰·3ýßÚ* µÚŰ‘6S‡řtŘŢjµ™Ý@Ź×yCu5ÔΨl çÓ˝bź´CŠ·� eýĐód˝?ô�%Mń§ă‡ű&Ý‚e´Žö·Î<˙M¤OŤcźö'éSś ÁxkË4W]pNř#Ô®Łfí<őŞ­ *L’-˛9ÉÚ‘‚|!éQ “P—Ó É<–šÎŔŤQ€Ř¸=śţW—˛,U­&ŽS|őŔv1Š|Á©EŔfd ~âűc°J6—&ƤNý u <V•5ܵšĂłŁ>H3ÄĎ)&ôŻjĄÂ „Zł–ll˙$ű™_ź$ P.ÔG�X ´€Ř÷Búv1:vŃ–u鳉łt»EĆţE|ď`pi¶† Ľŕ渎›kő;Üťţ ćąW· đíSB°�€€ű“µ„•<@ Ý�t€Ä&ť:Óe˝şVKř] öŠtîKäZ°Ň4ˇĐĎź»Ŕó|•SŻTůĽ¨Ję ¤‰rÇÇ`Eât:nÜ đ$Ę·_ÖfAúśfŮrtź<Ç€Ű�ŕŤĺ…:}Ő]×Ň+®ŰCŻľăúÔźĄ/>x‚SóÄný’‚*‚ôu1R bÉ·ĄMC3mĄözĘ…m?•uěˇĘÄŚą¦Qź{ÁlnĄĽřĹÚúń»´•RĘK[¶Ň?¬ĚňŤ˝TD×ճޗĄ”ňR”+`aťŹj€ĂBTk«%J<Ł0ÂŤG ő‡ýt˘eX0„R2Ş“KÓ‡(]»FPŘ2¬‘Á:ŕÔ!i"´ËQD1«Kv-W”jř€ŘŸ5Ţéő‹@›ęCËŃëŘňx?Ś�\[뮓!Žłö¶Ş0čyÖ¨§ "˛Ń¶Lihiď"(őA´:ś˘ń® 6˝KŃpeë[”­€ »y™mrŘnßĺ’/×5 ۵ŃWBŠ×žŐö™[Ą\ÇŠ:îóroÜ 0ˇ˘8¶ZőřŔG±$yV›Đô7ôKKb˙ČCťÓőŐzޱŁ˘q·şöŮŤXŁ:ĆÖ]w˝Šn¸ázs� ((B Ó`tPć Mo„ă0Îő¬٦YAy8^™�j�ŰÖ†´ýŐW_ť2Ô ,�0ţx�Ł„Îa�G€ Ô ŰBő¨ě vP-ž®‹űó1tľÂy`ŕxć™g8-ĘĹ~śűŔů(Ç+@Űq.ꇺ*»…ťp�…hťqm´mŃĐRJ)Ą”RJ)W’ä;aČ żUçP]KS!fz‹Ňţ+‚:;ŐÉI ´gp…űŁoU˘ť±”âTěHŚH&’žČG‹Cnlhĺ­óSÖŽ\Űt-”ó˘W—ż9˘ş“®A­.ęŻ ţőîV;c:‰T ˇs Ôö´CZšwĆšYÓÂŮšţéŻÉű$@ ýť¶uĆá˝—Ľv 9RÎ,Wʤę#z+iä˝ę~ÖÁ¬íĎĎh2tÎ^ç8]nmťÎ…pÍąµÍ’[g-P{ˇĹ4nďIF./Ď»cÚnMV&z…2f„ uvq˙đŐÖ~±ľŢĄcĎś Íőž[gŽyťůŕCŇ…óg9ҽ밍¦wźőĚĐ;oJR ô4hy–ł¸o+Đ×7Č3XőĎ­X(rżS@IÄNmŮI¤·gŁŘ <1 ˘w°Đţ8 řˇű‚0ÉĄ!ÉŽK¸ß8  ŠŞ[Ë·hďľ}Ô� �IĚc`čÖÓ§N®ŃĂŹ] ÇŹ] µ °PŚťc^ÂěDŁ˝“™Ě{R©4y\ŹĆ Ôë:§{w“+gŮąŢj-r_TŰGÖ§ç®QT5¶)�@Lě%Ý §úOřq®ÎŃLź$Yص}dR±B¬mIű‰ź0łEX•čz±> p“şqz6őG‡ÝÜvíi>ŕÚcŤ%.tśl"í®s&ev\’JîŇn08 Ç27:Ő}r•„ýcsSĆŐÚćÇ6ŘH[ŤČŤáš®žO±Â/"NŤ‚çŰíŤÝ·ű=Ńs5?KĎ–úçáŮ4 ©> PĚdÄé&ĐöׇŁ>ŹőáČëé®ď�|1?ߦVłĹş6€Ň>“ÎíŇ*ˇ´ň aW`V’8cQň{H9Ě‘Ś™)-}}’Ą‡˛ýŐÚëtüD ţd€,�0ŰC%`đĆSť n|UęmnpżŔßHźÔB @jk”ů=†x›Yy–Š$ŐŃł ŞÁ52×Ç Šă1U\ů›îąŤ›n|uÝ}U©Ú (˘:JKÂ:âŮ{,)Âs[ˇÚƦӉ«|/5źŽkÔk "��cRöáŠ{˙EiSŃ–2műŃżń­ďť6íYś§«/Đľĺ&}âďžć9”’¬˝xmZ Ňö’Ů(có®ÍěMÖf3Ëž©˘ó-ě° HÚˇ_J„މŽ6I¤ŹďĆ€ZĘ'ÖN©óŠž–RJ)W®ĽĐľžR¬®”R®ąbŢşîő„)Eů¡…)ějĺ?rĘf‹éé`hcú@gŁśńA¬ŞčbQ«ŽŃbÄ.€ˇ`«ó,Ëőä@;ˇ(C× JPGŻeŤ€0 ­1ęi9Z®öÔ¦×(F)HCŻŁ |=ázW˛ËZas&©ŁTŰ@ó*ČÁô~„ĆlL×_} Ää;™˛i):ÇQśŁę„…SĎ@)÷mt€Ň łrŐ= ÄNçîF¶s°îôRÝíőźďËąhzˇ_”[ľ5PŮ~śÁiş Äŕ cłX–FV8Ę$ „„H’jĄęŤ'ÂP€ykú = 2ŚjܲĆ= PŇçŻFmˇ¶Ťsăv7ŕŠY “íţ¶˘eë=zô(]wݵ LŔXS¶5h[bÚ� Ě�hQ$(8ßú<p€ pŚŰP®‚0W@t®HBŮ'”Šçˇn`ÍŔçرcôôÓOsűă8\űşë®ă{ĐÔ!Ôó^×Eý”am pĆ>Č׿ăŽ;čđáĂü[ďEçF”‰÷�č:ďˇ ”CçP°X`?îŁČTJ)ô‡5ç´2[¨”RJ)ĺĹ&xW_ŚX «}çŮ<ăŞűäŮČ&©?Aő9Ľ‹ŐÉ)=śŁ­aťVX“t»¦ÔFÄ;śťě$K2ęzlCĘN!âKqâ©ö=X[S‰é{޲Úu°:ŇôżĆćţôxŐˇŠk9D~»[ăzŤÇpp%těô„ć›D{Űí]pŽ5¤\ YĹ鵡F—»#Ť°łßżBR0H Dň!—$şS€„0ŞŠóŚőGa·@ş»v¶ĎφS›Ś7ŕpćě Ż`]v͵Wsöµ×`@RDŔA`D2ŁD]/KZ|*ͧ€ë3¨âěé÷ĚGôÔÓO҉Ç=ŘPR°Ł[nG@!Ąäó´ŚĆ‹ęäú$‘:đ2Ç®îłzäN@‹J8;ýÄ2QĚH =(0KAE€Ăl †2ĺ)ŁE^Iëé>=6 Ü‘ŐÝď#q:çŔÜ„fÁ­{÷íŰËŔ I™8aĆ‚ń°G›Ý!ť<ŮŁÇž9OŹ>u–V7ú4pÎö!ŇoÄ^¸'‹źSăÓ¬} úť�R"f®Ŕgss•6;Ü›ÍyjĎ/1›i¦[ŁÜJš2%Ž­ÝEuł$íŘ&ÎÎNnNâ4Bn^Ŕý ŁFhő;ٸ·u¶bíÖÎ$ó‡+6™DŘ �b p!™tÝŻ®»ß÷wB›5W§Ć]tíŇÔ¬»żÝîŐţ $0IďM G6šZXkŁře—ĚŁ‰- J’ţ! 3}>łş9fâ.ź|ÝŤíý{ΡŃ|ŁFáJÓ!ĹqÄ€§áhBk›=·­ęę6ż1§* ‰ü|3ˇ~·Ëó7ćĺÄ�*wó»>×§Đčz˝lŤ˙ns Ú&×€™¦4h"đw{‡R„dl(8ĺqM�Ęf®^ĄF]ŇÚÔë�Ó¸ö®„ĚPU„-iUŞ‘ŚŘfźü$-󴟯u}?ń` îŻDđx§»v8&ě�—anÄĽ<써ďŢu`"Šú +‘ô;WŽ#}×Ţ«—Nô Ô)öu đúÇÚătóVeHťaÇťŁŚD’>+Ś&~>đýWŠ‘÷ Ŕ ®kő“±«×ÄŤËwĐO0ď7ť^wăŚEŤćśű4¨áŢĎ�\TĐ®�YTt<$¤SŽůâ*ţÎż›c€ń3ľűy`ß<˝ăí·ŇÝ·˘ŹÜó}áÁSnNęqŰdsÎîA6hn–}Ĺľ7‹6MeŐÁ: ď3µEŕşŐ*Ř6Ř~$sxĽ×DŞĄçiĎ+ĺĄ+EEPö…RJyÉČół/Őń®U¶~ĘRJy)˰ČĎ5‰VrĘŘÚú;Č0áŔ™ĄQ×jŔ‚ńĄŮBŢş&m©‹Á率ŞTVŢŠl ů Ôí6…ö)ĺ<ĹJ[ŻôřşV6 h°@ »Đ†XăÄ.śôúZľžor­ł-Żh䱨éâ$§](ŞĘę!_yĂ!‘|´†ŢŹ–«çŞńP+(ë¶Űnăr q±‚˛ŕŘ„ĂĺÁaŞ‘đzMë„.ľ€l{\ŠÁłöżP/˝ť®˝Űë_.°ĹvNúÝ‚"vsÜNÇ÷[fkĚž5Îô·Ś}0ń˙seq¬J’±ĐÇ`špFFąŘp‡<ÁśBcÓý]CćZęő‡yă@ä|¦üłFSsjşŤçŰnŰť§ç ăĂ"§Ř�(�ŕŚ70:@ŔDą�° ăź}űö1+Úŕ Ě“�g`Ζf6 0QŘÔWńÁ98‚˛ä�čAŁKQźýű÷ó\�ć ťŹ0G�hŔ®węÔ)n7ÔÇá÷®űÂůh[Ô çâë<üđĂ|ěÝwßÍ÷kŁP¤/ŃçŞlxö¸Í«Şď°_`Ú s ľ­“ç”R ÓĂÂB›J)Ą”R^Ě‚őŠßw#łÖá îˇwrřÝĽîŚh0¤ďw:”U/dF‚D<ěę¨Gş w‚ńnĹ9qZěx…łBÖwp¬ŽŘ釲+•);†‚=- \׎˘Uýúq®™TQ˝Iu.Ťx/¶ž§Çă8˝çÁhČ÷§űF7 N?ˇ'OI,»WĂĄ[ZNćô·×Čô˝L7(:‚äoYčqAÝ R}đzk¤ !“4¨ ÓUăÔIËŽZ×´ç\[YYĺľń÷ßö&:|hʧ8/če†6–ť»®€ľ[/Ëz¬C_úŇcük¸§žzÂ9”×Yg/®ă3 Chě2QĚäćBźÁ´GĄÓmXěŻĹmzmňeG3śŞ)€" ·OŘmł@6…Çěs zEЇáî,$…Cęůrßš˘ÇSű»ÖćXOcíŚhw#iđz´ş1˘‡9E÷?r’NśŢ Ţ ‡8ÖĂ#IÁeUBďŔ …9Á=Î0ĘękFěřŃô76=)¤ŐZböŠnw“Ö7V8ŤD{~Ń­Ą–ŮYiѶ-Đ'ăÄŤQS��âťăQŞÖŞMw~=lëü˘×ć>‘×/íüˇăRŰÖ‚/ôąN�śaT"Ą ŕ�Ó1Ý«ŔQ ›Ô)>tŽj§—„ΑݹŹŢ©ŐţjşvůóîŢÇn[@+ý*"¤ü„çII«aC<�% ĺ'2oLŮ&c¨TCĎ”řąMů|¨ žµsŞźßčs˙D›kŰVŁF{—ZÔn$1Çię §/#8Ď•)ÎŽĺ ęttúěŠĚI!î]ć�s�ľ@ę”I,mO–D2öťNvŠY.ŞÎQřĐUśĆs5Ćł/8 ¬î>�CÚa÷Yj7©5W羍1��Ĺś{ŻTYçóÁFHK4ÖZ€QbňëB_u}fĂíK&ăt~”ď‘»źÎmFîYl2ăE*‰bż$]ú®Í÷‡ţçŰá‡ôUx0¸&÷cŰŻÜq#÷ŽÜp:,úçüüBĘ )¤ ŇOq Őc•)ˇŰíĄinđLÁŽ�=m0JFT‰Ŕrçťw0ŕ…Ű׍§mŇ7p V$qjĺůĘCu\3qăÁ˝CŚ˙ľăTÜ{ÚŤ-w˝&€ ¤ŠŞSŁYçzHş¨lî”1™·‹ŘůÚn·ăŤőtMŹâ›sýîćöÓő×ěc6ťßüýżĄłç6ÓóŃżĄLJÇřVbŻaß r´vY}סŤ`P¨Ús¦Ás@E4u_i9•‹·ˇ–rĄJ´ő|캥”RĘ—GvëË™ĺűy)Źńě}ZŤ•ňŇ—+Š7Ę:)ĂąĚ`,f«Î7 R yĄŁ‡"C8ăŰnaŰe%Ń ýAź?Z6Ę‚L ‘nťkjxŇŁ‚‚:¬ŁÔ‚%lK1şŢŇßÚČ.˝†5ލÁ稢Ć0ÝoŁ­ jŔ+˘§őZü …â׳‘ă–ÖÖ_ĎE[ăţˇ,h›ˇ^ęD„=z”ŤęlÜ­Ř6"G/ĘĹőP^‘µBŹ·yžŠ/Şç»Ýîüz»Çvű‹Ç^Îş^®ćĄ4´?[ĂśwÚ_-đÂRwÂŔ)ńÓ¬A’7^ Ą2Ą ,ę$P:Žy#9GFB!ékĎ![VfřË�BvľSCé,‹­ÚlÖöťÚWërôčuôĆ7ľ˙ÇŹOA5ôbścŽŐńŔ¦A˝1^źxâ‰<vÁ6o0o뜀s†PfŤfUF Ě_8s: í (ĂŰP7e¬ĐąŔ‰;3ĎXB�s(ă3đ  ˝žáłĎ>K<đ�"nĽńF®7Ú�×ñřFY¸&Ę@ÝpîÍMôůjů8^Űí¤Ěj-Ą‘K–RJ)Ą|ąäbç)«dĘ̱Ź4`)`S’ĄsÓtŽ ˛Ż5rN‹Ľ^Ă˙çHY‰~ ť¸ęŢ·ëζIăÉć[ ě ËaŃÁ©Îű˘321€t»žTgiŞKůşéúŇ:]tídżŞoA„1Ăť3IŃ‘ßi`mÂäétfeDçÖbçü iĎ<ŃţĄśż’€Ó«ví;ÓDTŕE ™M ¸vÖş)�ë0¬Ý ś×űĺđ$ČńemKtíuŮy¦Ŕ�»†ťxg.ś_ˇ{ď†ë…őŐ—>÷IÁ)7ńsŐhb<7mK‡ĚěkśľBű–סýýkôŻ]_Ď2b ĹOq%śNá‘9ňgłQŘÔ!ö<AĚ*ŻXvz>‘IPˇ¬­[×7c˛¨ĎĚ|ŔŻw›ÜžxÎÁVέRßyŔzô}ösDZ"Ć~<3¬e"¤ąŮŹ<NĽŽĆŠX˘Úá8NŘT•Hôý8É;FĂL/ł¶k÷ĐúłNRo˛ Ş fµXs «ÖřrţçŘ�Ąĺ0+Žo6˝í$ĘŮ=´űZv Ó¶ďŘľ¤sŤŘăm° ďKŔćŕZmâć±ó‹łŸG�U>‚ 󖤔ÓÖ7?Itći±u3j?DíVĚÎđŐN…VűOŔt2[MŔ}Oî)ń ‹Ń$Vľ"ކ9`4öłÇÔ=şö„“VČ1Ę x jÔ:ťđ”sř'řŚéřsn¬;;;Ř[u:|`9|€ć�n¨Wé¶ʰ=oÂó9Ř Şâ¸Żx 0÷¦@aPç>ć¨jĄ&é1‘śrĵńpÂĚŔ[w ÚŽiŁŰŁŘ!ÜŤ®¬uh­ÓwýANe“ľ�±`&ąněß5`Ăăd&c‰Ě'f¬űtqâíhÜDÇw]ćĽÄ3ŔŃžŞ#Šó= 0Ŕ�7ž«µşë*8qúUÎW¸7›-źNY` ă…Ú�b€ŹŽGçľĘ§·’“.Ý{ßôÚ×ŢFÇ:™ź!…IĄ" «I%búp ,ˇĽ;2`Xâç €-BNg3�4pďô+ć›H{ҦÖ<Rľ¸:5ęü.ç)Q2ĐËÍ÷É씫é3ă”8°‘Đőµn»á űěĄ +ťByňÎŮÉVVś›Šű jűP– óŹ`hP`±ÉßWńUĘËSl?°kéÚţ\J)ĄĽ°2ËOeÇ43ń{`¤ľK.§čÚDÓ`Cß»śé‡ŠďČrÎ*ĺĄ,WŔ"™r¦Ű…-©pb©â §›ŇżĂ‘…h /Qŕj s ~5äE<”m(dBy+ůdĹ ęÓmÄB5'‘b„łl}¤Jľ*¬±IťięTť%VaW¶ kHPP†!,s…*ď:©C×ĹަR±u` ‚/_™7Ô�%JĆjłőÓ{·Ě˝^—•X¦ŃlĎÓUW]•Öëb&ÓŔÔ Ę ś’ę¬T٦¶…m­[ńZ;9—w PŘ9¨\Š‘z»ó.¤p9^n ®¸\` +ÜdÇXń·5PęýgqYb¨ÁóL.ąĄ)e™Đoeť‰Ů$atQÔEq×vW—lˢů,ÓŤjíÔ~ŰíŰjÎŃóěµ™‚ťł�¤X^^f# Ć"Ć$ 1Ta?>؆±‰ąWÁj@Đů×B[ăZ°MŔŔ1®iBp>ŽGy¸Ę›„4ŽۆF‘ᣬF(s¶eǡÍQßűďżźî»ďľ” rď˝÷ň˝żúŐŻćsQoD Žú,tÎ`^ĹbőĐDy8 a�4Ä UOSa>Ćušś«:ˇSĺBł”RJ)Ą”+P8;ç¨'ŢĽ]Ńťł¦Â�N#Ákű0uŢ«ž‘˘×HU0QZt県9X[Ł{‘®)ÂĽ†X›…s¶‚Ţiß‚@ŇŚ`Ť¦Ńń6 AUů[×”ęěUѵ˘Ł­s1_×tśËĺGAČ~ظÂ)Dŕ•«đ}ťĂď䅄άÔ8gQ@{ćÇÔnÄě4«1Íz^OĆr4N$e‚ ŘńHâ$Ô{Čę¦k×x"‘良G\ű{ĂłÔ” )ŻëÜcÇÎĐí·_ďV˘3özCÖąOź=E'OŻŇů ÔsÎÍcÇžˇ3'źdŕN‰‚Oťd‰ş~Ăm{nM2Ę}~&ň`|ű°„ßčsŰXˇ¬Z†8UĂt_…Ůđ °AĎeŰÁ4 bp!ÔôłAŞż-|Ú0¤)G|N¤m2ëX2Eě0­đóĹšëâöÂĽ¶Î¶˛áÖÂ}猞г'ÎÓ}÷?K?zŇůŇCvţ×ęiĎ ‰”řľ°’Ó!úž3MÉĺM8ĺŤę8•śž|ůł€ş}ÄାĚîzHű••snM~’ÓÁNÄ ¨ŁĚů v �2$ĚT’HöqÎţˇă[űydcFX`(mseşĐqom3vŽĐů!“`.Â3«şóąÁŔě0×Dç@k“kkűMĆ=ZŮřmôŇň|‹ö4NŇžE§§´«´ŮCúŤ1 †Čš$Y˘V�’IČŽr<D0E03KĘD>ÍŽďo~T!-ŚÖIď3K34âym0čĄLD GŠ•J…�ď7†Ý˙řéŚÉĂ´ćęÉ(K±™^HŁ·=¶óąÚßFăľÓő΋„{xţË{öqYăŃ€ç¬$ÉŇEɸ=°€ĽyTîOŔYŇb˙Ě…í‚Áe űô.:äHțLöť„ŇΞęâ” g6-î?‰·Çůy÷Q­Ě1 şí©S'Yo%:źÖAY sjŠ]N‘„ţ>ó şŐę€ęę+�ŤĎţa.ŁëÚ¶Ćéy%ĺŢŐHűgŽçŤvPmló¤iX˛ÔEşBŰöú1őcÚŘěQ«ŽtŁ®~ MţnÍĂŃSgöâZ-›C‰ Ž(Ęş†ť3ŇwwĄ^ ™kăDćŰřő7Ó˝ź¦Őői6®ťldŮZ!Hm?hŘKĹ ­łt´Ůľlçf­%L"Ď"¦\ş’¤d°(Eűć´#¶”RJyi‰µÝÁ̬AĆ/„EEšĹżÁ¶s?wň¬÷r)ĄĽTĺ Xd‹ÍĚĐRpxzĄ ś|J/ŻÎ?ë°Óíćf‡b§ ĚąĹűh®–Kű!ŃC>ß­_ ;]-u|ޱÍF?¨ăĐF]ŘôVŠó]e[ÁlSŘÔ&ÁŞÇ©á •*ďA–;' …n4Š©D4J_Űm„ßýA75p¨rŚ6 ýđ‘Ă4{”]ě*›Ľ5` >x©ŕŮU*•4JݶˇeĹH•)Ӷʼn|'`ÁĺZ\ŮHń•^T_NpĹĹ�CŠ’.Lôťíë9ăFh i€t»eŽÉ§=uŞ”ă M…:éŘăRL”Q›Ů‚I c‰Fńy|-łĆnúňvŰ·;¶8ź(6>púøú裏¦÷а_Ç%� ©°1ŞĘ”kÓdhÔĘŔvĄÇČ�‚ý(GA ä@Ýp 0P�¤ˇtŕ8ĎF‰ę<롎ďxţvŰ�ěă^A�w¨ ę{ňäIúČG>BO=ő—ŻŔ 0Y ]$ŞG˘¨PĘGý´\\KŤ†jLT @¸Ü/Ú ď5�ÚČ×R9.Ą”RJ)ĺJ¤fÜŘ\÷, Äk#¬©ŕĐ­Wę ’ˇťˇú5Lʏ‡¨St&óş’ęD˛ľAîyD;7hqˇĘ4ç˝^‡Y yťŐs‘ŞŞĂČ0ň”˙Yä<;2Ł0­§ľűíúŇęPş^ÔuśM9iÓJBR¬‰ŽO4\01Li*;‰ź¸*'­u+ ®UÚ×ŘtNU8ľS4(«x¨)ńĽs.} Ąé�bJRÇ׸P�xńËQމ€ Şŕ¤¨SŐß»ś˙Ŕ#OŇŃëŻćTyXo=wü$;vĘť? çžłŘ9~é<ŔYôűČ.ŐsęrÎuIy rŽ÷­ľ‹ż3 Ăö¬E'ˇ#,€X€ašnCőT fPĐD4‹ŤÂ…łÓŽdýtvZ‘$]DךĹ1¤Ě0U¬­Ýú}ľÝrkŰ%Zh/ň¸Ś'’Vőä©ó´şŃĄ•µť9ߥ‡ź\§gŹźKm�•Ć<…ŞW%’€Â<™űŽë38JźOŞ(ôă(Hß* |Çü $@¦¨ËṌĆ2 eBĎŤuÜ*ÖěřŢtóú�ÍĆË8óţ\šŻ[@¬Í!Ó%%­Ť>[™?”Eőźät-+ŔĄícź-ŘWLŘŠg *bozö9µ…É%bfÁřa��9ýl}…6ÖQka@K­홫RT_ˇs˝ŠÓUĆÔ¨Íě(*öŕ+őď~WŔř“„iÝP›Ń8IuÚ T!Nf™űÄŮŢn-¤Ń‘ięŮXÝČ €XT/"ŰWŞ•\[rűQ>˛ß:ŞŃ_<ś‚đń9î,__XęÜľ)(ŔP÷’LÂ&yLLĆCú¸� Ňdlj9=^mnq\čC §>‘ę31›ÍŠ}.ő)m§)DâDXY�&Á„÷g5TGV˝4)ŕY2ČPć1 ꊹ Ćn6OBg zÄž}(€M±Ć÷Ŕ:‡nnďWÂÔI>uKśđ»JRCE~śČ˝lú~ĆŻŮě;çŽ{7lô»ÔÜs}fŢÍGMZXjąz×ČÁýÁżW)7ßiśÁřŕźc5/)°ëĐ‘CôUw^EýĚ3ą€5}–Öflí1ÚßX{�>–=¶�Ť¶Ŕ{ Ű'řý۵C޶« ĂR^ž’·'ň–Ň~TJ)/a™®PŃ@EŘÂ-@Wő [FĆ hßt”ő°IŰÔ#_'�#7669uR†eŞ”RJąb�łś…Šč-îł SFIpˇŚ¬đÁäˇ@(„««+¬üiz P`*…¤‚ P6G(G1+bhËâ˝n *Q¸˛H ĐzZŞI5ôYŁ]ŕëő´î¶\-SËłůr­ň` •`ű˛>É,ŘBEŠ J´ŕl‡BŠ}0“KĨÎUÔŠaÍ+W¶]‹ţ»‘í^hsŚ=îRąĎwaü•ĽöĹČNŕ «p^jYyđU~DÁ©aÇ·u ©[#VÁ•r ř! sÇZvĄÚÔëZJW1ÎĹľ.”ŕ‹Ô˘ł”ëâ˘j7m3«=ôŘbć‘#‡éöŰoKçĚź8ăăQ[#aĚ lSę2�̆íLí]—<Ć�hč˘lř­@ś‡óq ś«TÔ8˙Ŕ<ż(­/ÎÇoAĘyçK^čÍ4úUź Î6Ł ořĆ}\wÝu̸Pîďá‡N S(ź#GŽpťô^Đ<z˘îʡ¬AhŤľ€s™Íg® ˝RJ)Ą”RJąŇ` P¶[GtŢ.Žku*ťzćPJء•$c,‡«îź¦é—5Ź:{#j¶šÎQ†µEź×ŇU‡“žĄŔŤ"µë/Đ•gkÁ±BdëŢαzˇÖk ÄXđFUgë@Y?|°sŔ‘ĐÖŕÎżťąëTgĎNX±)˘ĺĄ:µçĐţcrţUN/°C-Î,¤ q€yĐáţď@�ęÔvBł[]D�¤0ÖxôąĎ‰V×iZ´Ó§ŽÓćúy¦čOëp N§iÚőÝč-ÖąVüm·ńߥ@üE[,Š  °Č#| <ëp6[EZV(ăâů,¦ĎŃc)ušÚă±FeGwcŽ#űŰí–sb¶Ü¸¨ň3:ťţÔé tî|—Μߤgž˝@Ď<wÎŻ�ăôţÉ0˝g/úü$> )¶{±ŻuykDV}LĆŘ€´łJůqněÁą< řÎuś 'sł9ďî±ĹŰŔ˘ĐëKT9҇Ŕ)]síP‡ł= sN} ~šv‚ (Dë–ÍQ”N«Ř>¬ó‚ť ě5fµYHRÔMµ\®/ŔăÓ‚ŕ#ˇArśFk­wSXŮG‡Űj×›Tkś§sťŞÓąś*’qÚç$ń Şńhś¦Ű‰“Ä,4%Ň8ŤŘ#‰Ěíҡ#!ZĎÁęťÖ–„YúýŘyQŰŔÎÚçă¶.‡&ľÔŇ4“™ą¶v#2[�|Ô�î«JŔĂd”Y8áë(¸ ß´Ţv<¦÷8Ć;­­ŻXϤÁB:źKš Î?{Ô�7ëŘĎ8ÜÔrs|5ŐYń|p ôRč×Đyá,ÁŘĎ[’t) ÇhâĆLčćŠÓ_#w˝ńl:ÓŔČänc8VđÍ€Á;ś(’�\Cőhui?‘ů-đwŹö0ŁŃY…ű´ŮmĐş«ó|kνËÚÔjÎń}VŁJ ±c&Ăß%’$·Ń:ź˛qůŐŻľ‘admďA‚˛îu„Y2@Ë0D§¶|ěĽkçY}({‡S Ś™ul)Ą”RJ)/~ŮĘ^żŐ\^ÜŽ÷6lâšzۮ݋ÁĆXŕ8 ú“Ŕ�_SEíŢ?f뫬‚ÜłGŘ©K)Ą”+`aóŮ©9ĄŞ0ˇY%M!Í7(f,žˇ¨(ę{yy1aŔřÖéô|ţÂ,g&çv¬!·cRM⊂خđy#G(Ę8ߦ˛ Jrŕ U UéÖűPşŘ”1#Ěčd­ńAv{ż9["©>´|k8Pĺ«zEď[€JN6h6ÂxeMís>_©(´L+ꉻ˘¬ŘBP6—¸ĘR§iŃŘ` ™—˘„ěHqąŽąŮ饬ÇĚŢż»ů )ł÷b$ËÄ[yig ˬcô™FŁsťüoĄŢ´maŰ č±‘ ŰI:ž(o0ĘŚ„qážĹ ›ÝĂÖĎ»8ď÷m÷·­ŹŰiMü¸n·çd ŕŔih ĘńAş ´Ús~kĘ eµĐyAŮ(0Ç*ŕ@śU>ŕ7Św|0żÚE%Ć7ÎŃůKŮ#p>ľŐ{P¤ŻÖ ×C9;p/̸ăŻăNś8AŹ?ţ8§ąţúë†:dö8uęŁySÁ¤óy ÷©űŃV¸ĺiîU˝—Ó¨ĘóÖ(.ś‹:•”RJ)Ą”R®D‘ő@ßu™AťcyGcŢÁŃń+HUŢ©Óú މËÉ1nź®K�˛Ŕk eČBµś/N\»N´Ňę šŇGu}ĄN’Ř8Ú v­§¬v?ś7Ľź„M™Đ$â{ś^WŘ»¬‹"+ě¬ ť~ęśšŤ*;6{®ťşç'ĽÚDŕq»‘óSŃ\5ć´"µ R�HšÄ·O^vÔr€vࣲ}ʇ@’ŮS¸›ERÉ:ç‹÷>’ÓMëÎá Ł[GŮ='IÚ¶T�ďVl[ÎräŰ}ł� ö¸ťľĺ3 şÂ,MČ,`˙ Çb$şíç–•‚˙6lE0ô‡PS€„ÓiEđ­kq�‰đÍ kíů4"Ť°Ł ]8sžNžYŁ“g×Ýg“ž;ľFgĎí…ŃQ©sTŰ)őMdÓX��¶Ů@íÓlĄ¶–˘>$ýdÓ©ěQ«×DQ«Šă©?„Cűt˝ŢpmĐârŔ¦Óďw¨×ߤfŁÉű*•Z®źÚzi]‹`‰"@ďÁÚlâxvŠJ{ź¶oí7z­b[ÚkĄ€fĚńž…í=9îĆÜ1:>3Á>:Ľ°ććeÚ7V{ u�´Ćśűś$âąv8î§ĎFŔŁÔč ×Ü\3M ¶ «cZ DL$3Ç©.ŘvČĄY ¦ ٸΧF˝00�¸gżşzŽŮ‚ę5Aź Še…’Ę#ô!A8ÍŽPÔĄůĎŇÔKç5ŮîçZ?Ýň9Ţ"ókśÚ΄ťb”Ωř "é@˙Ĺ˝IŤ*íˇúnÓq¤ŽčËĐéq>ž™‚-ě˝wÇ ĆjU:śĘ% ű<W'`©HüSÉ@Ś�ÖáQďńďŞ!ß-3Đ ¤ŔűátËIwU­Cú`÷˝Ž ›lÍéÓ]g3hŃ҇đ|VO»ä~ýČŁ_l›d  ˙DŚm2d`V}®ž&łľčÓ¸Žäý¤`"<b»Ş´ú”¶1ćý„fŰäfنŠ6ťt~ă4ý”í˙Ą”RJ)ĄĽte»wŠ!Şíďhć±_m†ŕu=D  žYěŔ|4ËżéĽ1,`GG]J)ĺĺ.W ŔBťşř/*§z ¤hě‘}˘,LOl+$X¤/..Đű˝clŔ úőőNęřł “ľů3Ŕ‚;‹€ź8Ą}4ôQ L'(†:už)0B"/&ąČE@Ł\kPĐóđŤ…<D)ń‹ ž*Řł@Z†B Z†:ů&AĽ(RđçŰRö«a˛Z”ÖS8AĺÜx†ÁngAůpŇ*E?^,úĚĂ0Ż8«’_„1n+gć¬ţ´Ý1[•ąS=Šýs»˛v[·bYĎ«ąÝ9/´ĚWXE׊‚,žßµÔ8NĚŘž4ͨQEVç kĚ™µ_ŤnĹ…‰˙iĘčQ@ÖS ,ł˘”ŠJxč•wŰ€öď™ű˛}Ýâ\ť¬á @P«ŃE ş¸Ă×Č$ ŤŔř`XÜá€Ř”ťçrôŐŐ4eŽŃ…$§ň©E0Ďb>Á5őp lר\OS—č\kYoě}˘LĄ§E}PޱcÇLqË-·ä�j ÄuphÔ � ěW–ާź~:}>(uÂq¸/,vuľE˝±0Ć5a¬©BJ‹RJ)Ą”R^’9”Ĺ™”­u°“(lâ…QQç(:býa~mčZK»OiäŻý LpÁ9¨iËpnł1ďĎŹýu&)–x‘©6ÖÓC‚ ·îĘęlŁŻ&ěŘdň(c,:ž•i‘ĽŇ.‘sîTř[Ĺ:e!ýqBM˘ó›Î9äkÖÝZÎŮĘÂIŹjQâV@RçSÖ‚˙ÁKĆx aŔ`GĺŚv=­iăěłTP,čöĂ>]Ŕ.�§­ŢŻ8âKr.ŰŘţ]üL"˛¬¶ĎÓqXpE¶-0�‹l»>ŹPB,‚,Č"w×)H EdRŚč~ś}Xc=ŞŔ ü­€g¬97‘ŞołOO;KO<s†ž=yÖ6c:aČĎ5 ĐçłzZŤ"ÓWň}«g±¬şÝt\i_W[‡Ú6ŕŕÄ3‡l•ÇŻţ]«5<HGu/Ć„¤Q~Ůř#>oqa™ŞÝ^‡Y-zý.ÍŐ› ŔŔ~­Ż ^)Úě=¤ŽQŁSQaLX†ť˘ť¦8F4f›”ʉ“\ŰYŕRL8;L�}"ňűp˙Úîˇgĺqm;xśŽźwmXKhßü5\űÍ7V¨7™}�ÁEë=°‚€#av6őÚW*,ŘĂÎuůţ’Ź ÍÖżm{é9ąo˘©}z.hómpęÜjµ"s҇8˝®·Á�‹Ć\‹:�äm.âô.Ö5w/ť3ßHŇŠ* „äď8‘T0ńÄëđ›ěČxŕĆABĄ’¦śĐOL¦ŚNą÷¬ŻĆÍââRH['ô^Ľ˙„…ąs—>2× \ęîÝč¶'5׋śŽĚýHR•0›p,ă-1vĽ‹Ŕ‚ä±XĚčÁ÷ćú=¬fŕ™Ô*i°Z IBC9ßőÇţ`Čýsľ1ÇĚ;Íć\ šÔq™qźZČăČf´óęfŹž:vĆ9Χ€Źá`Či˘ń Đ÷ńڤݻ5CÔäqĹifÂ|ŚgĽ«f˝ĂŠď§bI|_°Çgő/mĄ”RJ)/f±óůnŹÓőŁ ĚĂ;>µÝ˛GŔÖŚw0B+ó—NŰ,ŠÁÔúÎŇuł2j�daŮ3J)ĺĺ(WĚ�jąR‘ü˛ LĐnş­ @q®SŁś–ˇŰDY‡q˘íkűŘŔ¦ąő€ñp´­®® ˛ş×wFŠ } śŇŽĆ“qŠŞÎhał”" zČę’Wčˇôčą„a™.ÔŮkZęY| ˇĆIŤ4·uRC(ů6µ�ËľaŁ24í^Sź…FŠKÇÉE+´ŢšÂŽJ|ôľó†ÓüKÉł›ëŘvß+ÖáË!»»–(ŘĎWňŠÝôľd …rËZö +»=o§2Š „˘!;.h_˛óH6nÔHš~·ąV ‚ŕ~<™Š€˛}ÔÖe;E;?Gd†˙­ę˛];”‡Řsćç[tűí·óř…!őÖôZg,ř Ř •ΫšVŔM+‚ż1oŞH#pt\cÁżáŕPF ýűž€ÁGŁv�Ä@}tţ’(ÔA:i”ŽÖQŤ.¨#ę‚óQ6)Îś9ĂĚŻ|ĺ+ů^t~Ä~‹F™Ř¦ó-R• -ř%ůťO=»Ćí ©AP7šŕó#®ˇ©MpĎ:7—RJ)Ą”RĘ•,ĹuǬő`Ńů`ŠŮÚMţVlQ—Ę~[ŠvŻ_%čÍŰjµ9N]ŇĹ;ąďô»¸“:{˛ş%~Ý•řő 8ĐSç(yMR˝6z_Öa¤h ůE0]ŤŔzĄ)?ĽCÔÝ\y† Ő�!»˛ÖĚ;­­0hÎ0§đ Ć €hµăîa §Ć=çh h©]Ą=Kp6şu �&Ţ.P‡A‘–J[=ëâ3±gÓŞłcłáž´pb<WЧôűÝčXĹţ`˙¶kňY¬YŠ0}Ö!ś°!`ˇĎ' v °Č®™–€EHf_V'˝¶ţF˙€qUÓĐIІzş¶Ešs}ŁC'Ďtč©g/ЉÓëtćÂ&=wâťż°î#ú‘fĎ9«Q6ŢâD@5žÁBźGnýĘŔ?fFŠ%jNŘ.Ô!›BAÔ†fśç€D™S9˛TY˙’ç˘:€ŘeěŘô�‰g Ě÷číůEv”˘ßő�O;ç1R‹4Zě„Ď®3Ýż,@Â&Šú•ísdauFëĎ@dIÁČ-ÇDF§Ôy†ű\¨,©!eÓO’nÓ¶ŕk2hm~śŽźGäýÚ­EZnGÔž;Kíz•šý€Nž1«@-ń€ŠHŘ´˛ăÓŽ%»Ýî+ŽeŰ´öXícE;Lú~ “ÂŁđ|ŘáźäíE–Ms ��Ó5ćšěDآ×ۤŐősTď7x{@‹°’ÇŮyŁxöÝ5­ëOítž;b—ĆńS»Č;-ô)5PIĚD0ëš9FtĽy¨\ U0šMWŤFÓ˙{¬_+›ć˝Ţ$qďČŢU®>ĐďCIG×—F®wŤ7F˙Mă“Mi˙Ćw’Ů=&î9ŚűVCZŹSw)ŔˇŃ¨§ŚŹŔIÉČŰWĆî} €Ô€ug€ ÷†á Ŕ Şí€÷.@ FbŻu}űŢžŕŔ Q`NÂ܉�<MsůBúQv–:ŰţlźłíĂłöoeW’5ÎîldĄ”r1‚ţţŮĎ~–{ě1~/!ýí×}Ý×±Ť îsźcĆÚoű¶oŁŻ„`n|ôŃGé/ţâ/čőŻ=˝ńŤo¤RJy©ĘNş‹®đ.†ýď Ľ aß}jYăxśwöě9ľ{sQ·ďÔ ¶tŘĚK)ĺĺ,W ŔbcłĂt€@[WŞ+G@Rj8ë ˛JŹEdŮýł~Ź“żE™Rd·îß·oŻ«ËČÓĹMxÂQÇ™ĐÔwś±â‚wţˇ#ţĆb].™7Şň© 9Ď´yŕ †*źŞ¬Űč.5Ř©r‡:ŞsP#BôÚNPŘ+‘PÝ[dę Ť1Q#K˝‚#I2őތ@WÉ.ŚaöYŕ<€W@E„kÂ! eg+cYń|Ën±ŰkŞl÷ňŰ©ź\ly/™ Á®”»íŽŮně]j™Ĺ㊋«¬SxHż¦‚$;óŚ‚şŠ†+–V+ŁËn ĂyÓ4u¤‚=`č*žŁżwűlô8‰1ĺ媫Žđ ăő°@Ů �_h:%ĚjúŢ18őŐšZmż5另ýÁą0úb®ÁoĚł¨˛V(đBÁ¨?ęˇT´ş U°‚Îwş8Uv Ě+`¬xřᇹükŻ˝–QÁ8ЦFŃŘsQG\Ű”C  šîD)8‹b|Nž<É÷ŚňđŤcĎž=Ë+”©×A}5źŢůTJ)Ą”RJ)W´ťćę&ź>Q@tš·Şľ—OM••9ݞ’DĎĎ"á.Ŕ)™8ÝiF•QJˇŽ”őZÝ3TrÎT^ß00Ý€)üúŻ˘ŕr*č”­39Šw,k¦Ä߇SÔ@ĹE)AÓL:g8 ő~ó ” —>đ ­Vâ‡U€Dť“ ŃĽëtre“–VbÚłŕő §‡5QŻ*Ţbí‚g¤éS( ­śĐŰ®KCŽ©÷ĎmŽť‰ çô„ł{äžI<Luًѭ¬ž8ëcô í? @L#rÇĐTŮaĚpŘr˛!ÁÔţč# ™e¨ľ‹u,to¬C•DŇX{˘ź;±BŹ>qÎ9Ě»ÔéöścrBçV:î{ČĆרŇrŮŠ� śŁ¶€ŹšÍ†OÁ'évŕüUPş4‘ĄµLľżY±SÓé ¨“»„sh:`EAv»Š°ź4íŔŹÓţYzd®ŢHí˝žÓWşÎëÖ÷nŰ|k1gɧČ;Ůóc- šać`ŕSíŰs´Mśž]'&{Ŕ/ßnG8»%  s*?…ĐŔł°*8]@Dťć· ©ÓrłG‡÷lP»! g;~Ž™Č<$zꎤŚ0Žlµq…ž5VcE@‚¤<šnk»+űí˝Z)n“€¬i€–”'׋}žrĚ;HSwý ›^ŻK+kç)Üp¶żZš-7®Ü÷,›BţŮĚÎąž2J„”*¤˙ŹĚ¸Ýś{UÂj ˛ĘR`Mß«ťcµÍж˛Yö‡Ľí@]j ŞjyĘ&ëÓĘć¨` •Ńĵm‚öcČ•{‡şů†űl%¸××ô‰±đ ů4]Ŕ@  Ë2ľ xÄc0\ŔfĐuş6ňÍ×ŇÔ.b;ěÄŹ5ŕµĆc§óŹ«îÝ5fć•ö8Zü~Ö¶€¤űę÷G´ąŃc€ÎĹ'¬ôů{źróß2_m€ąűä][á5�ľµý2Đś0}Ějçâ8/>ŻYĎł¸M––”—¸m±”ŻĽŔ¶ö|€îż˙~şţúëy|úÓź¦/|á ôĎ˙ů?çq˙Č#ŹĐ}÷Ý÷X`ţ÷˙ţßéĂţ0ŰŃîľűn˙_.ÁóKżôKôMßôMtÇwP)ĄĽ˘ďpMcŤßXÜ=¸‚KńßÂfţÓ§Oó–KYpIAU;·˛M—RĘËU®Ţφ2·€ GĽ¦¤Ď �(�´¨×ki¤.,ŠÜ*¬v+ Öě:ö·N*¶Ý.(k4oĎY^^äo$Chě ¤`!Đ|©˝Iuĺś˝¨»2L¨ˇBŁżőo šŔoun2Ąť;wÚy§ŃÔ0´h„¸FťčďFĆxaŃzčý«“SťÎPLqm ĺ:Ä ˇLŘ=«F©\:#ę[ŁĂgOgý­×˝X …ž»Űş^ŚÓüůĘv`ŽÝÖ÷r\O÷]ę}]®öŘ®ü­”Wżł¶Ĺ9‰L‚\äPUÓśŰöxŰ÷ÔdË”)5cúĺVmaźiń~tń•Ě8‡v±Íď2^ˇNW_}˝ţőŻă± 0ĚU 4ĐşŐđ„nĂ|˘ó›R+…FĎéܡŔ ś/óăA ř¨‘ ÷ C±.(5u®:A m•©<ąaŇëbŢE}$ňĐCqů`ęŔq©‚ňPž«ĺk*eĺ@]đ7 Úzż8_4p>®qřđá4Vç5€,�ľPö"”Ť{HŁ”RJ)Ą”R®T):ş­3ŤťvH ÁaŃ!;E—¬�ÂQŠ:f,»�ĺ�ŕŮÚ̦ŇčSą®8*mD9ŢÇxgovÖťgťĆuçĐi6Ř0Źł}­Ą2ŔţVÇţÖ5Ošî –h_ě—u˘ňĹĆ€‡ f|(;Úxí †SúŽm_˝¶ęŤÂb—±~(3CÎéK»úżŃlÓ _ĄÓ«]:»Ţ§Ąö<-¶[®ÉÇÔ¨NhßB•ÚM§űĆn]çśah,ůěu§´Í”LŹŠHÁp4"J>žk8'÷z:‚wˇ{Y0ÂnÁúť1Xě ˛Č~gíźŰľÍuBożŔă)Ö·XFN§Pëi¬5±Vµ)D±ĹZřĚąMzŕŃÓôčÓçéěů Nâ4öÜŘŁ«ÜC«Ő`@úڍptÂŮ,Śs-v0ŞN˘¶›¶5ńdm‘¦"pź1?ÇI:ö°_˘Őç|ĐL•lđ‰Őł˛ń$v8őź±Ô„~Śiż§Ôˇă˘mĄŰl[�ŕ` €&›·¶ďy^PĐąŢ?ľu®Ńň¬­)çÜ.čłňúŰÚ…tľ°ŔŽ Č#ŠcI΋™@ć÷śťÝ éŔt–%ă:Ž0ă¸ßU\§Gk›g©×ťł˙•îj†ćš‰Ű6¦Ő^ÄŚqšŞ$Î=§Ľ®+i†l[ëľô>'[ě˝Ů2Šv®Y@kÇŇ})ŕ)'&”ΩzMزćݧŐZđ`›Mf4éö79}Ěüü"qŠ÷S¬ł ¸€0CEżÇ,úLuŽV–´Fi»ů;—˙ó»1›lęŰŹŠ,¶ĹţQ”"¨Eú“Á,ŃhU .ŔśĂ)?Ń–“1ʱ8©0°)bF“Ó>%˝Eî éśîµâŢÚo y“-Čţ ď»*ł& †7Ź kć5×´9pmmmťç¨*ŇÔ¸ţ ćM°í čmě겱éć÷®®ą¶]\j‹ťÂÝĂ„02$I™Cś¦)Śţ8}Á]#l8›@Ű÷¨ďm¤Âz� «3ŰĚs!}> ®ČćoJźßV�Şb™őڬ}é…˛ő•ňň¤·€âío;˝á oŕąĚ®żř‹żČŰďĽóNúJ ćźĎţóô5_ó5Ě8űÔSO±íîË5pť{ľú«żšJ)ĺË!şÖÓŔGő]śdďś/éľwf±ĐőşĘVţMŃ],Jy9ËŐűE1˘*:čnŁńÄ)~CŻ|D)›‚°+D>?$±KËŃH)QňŁřf׳ Ä*u¶Î3" %7hŁ‘Đ‚Ű»oď]{ÍQF=e&ÓkÎąî…••U÷YŁUçěőô0rz2AIÂJ€* AyP˛†>AA:AŞf•M´‹ ł'SFÎI0ˇZPóFąďŠî{pŻ0j9ęüÔčn®»î:VÄ´­Ů2Ë�¨×–Ȳħr{ Ů——÷NĺÁ”sň--‘]#C}Ď–h›>V¬ëv˛c߬ýŰżĄs|Ćą6ĘŻ¸oÖoű]ěß;ÉVő*Ž űR.ŠçËßîŢwło«{ĘÎÍÓ-ćë­uŻHżÄF(!§ŞÎ#�2´ŤFö>m-ż=(Ô+mKo€·iŁťÚ/0Çe÷%ăđŤo|;ůa¬µ€Vá€0öadÁý+;DÁ 0Âŕ8|Ô¤l�$ŕ8­Î8čZťłpľÎWŠÚ…ˇsÎEJÍ—ŽTjäÔ9óćŞSc'Ŕ"Pď˝÷^ľ?0W(»†.>u>ĂýÝçâş�EčXŃň h+ÜŹnS˝olC›(#‡¦DѶŇTH¸.”ÝůęĹŤÇRJ)Ą”R®�ąTěi°E9iy¸ĂE“ŽąÜ’1J¤‘ídD!ň›KD´FE[‡ € (ď˙qZzq˝Ą H]ĂŘcCźę@SąéZ"©Bęŕë9'ÎG¸»Ő].µă8ÎŘ Ôą5vNL83á¸Awˇ|ŹÓd¬7Z5ç¬vkI0Ywlek=2Ű ŻW™hÝ;§™×"€.)ő*âśK&qĘţÁçÂůë¶EµŻ‹üő±s&�C_ĹĄđ,üńa�çyĚÁ ś6Ĺ9űÎÁ¸˛˛îÖ2#^t\˝×!Ő˘ 5ÜZi©QłîÚ<O9Ňuf‚Tšú$d—kxJzD1÷Âp[#ň¨NŤhIÖfŁ!MPwwĎqâŮí·Yt´:í‚0sđ[Đ‚<wqćál N×ćÁ©@— źDľg3P(("Śd”eçdú,źëŹÍęëŹ ĺz°c N�"�T±gyµš-ř�Ňë ©»ąÉŃŮk›]zŕŃ3ôĄ‡NŃĘúť”˝gKIĐçeĚIGĹŚ#?ÎŘ΀©\oq4{§»Ćźöü;źu|AôĽjEŔcýA‡Ó© ZÓqT8ýHs®•°}4ŇÔ6˘ęY4Ä2äő΄ő.aşQ ‚ô#çµÔ6‚:)C¨žoť™ ”FZ�Ěě\î 8¦Ăí±Ř^HY5Y/H’”yTç 35úű©„pWŇ~)LÂ;Á©pŹ�"„â˘8Hťě¶<™DM†Đ-z©˝GEôť†·Ťe×–á#ăi*‚ 'ÎęîCĆ{čd˙6"çT>Řţ;šw¶­ŤnH«=Wç±gq}i2HÓłCwź÷“TÇÖ4Iˇm‚TUO<8ĂĎPŢÎSŻůűd›šŹúLbÍ>#ăÎĎ3rŔ�iMgâć &ŮmZ%TË=›J@•ůe×ç—ť“}ÇÁąó'ťăľI NźĂ<Iy‰OÄ�” čv�ÖŤŚ"6Č(_ž[”‡2„¤žŔEf#Ó:ęřSŁ"SG‘éÖwlYj Ôc!jă#÷ü«•şO":7l«UgK]h/ĄÎ�§Ŕ@0EJÄďq4ĚŔŮ.‡#W^ ŻÄ=»„*ćqß/“$sú$ň^âw„źÁˇ ĘÓ§WÝ»/a[dgŁÇű+Hë\ʧÎR{ˇĹ€H Ś?ů,ë߬‡»~?öslĆýłs¸ĎýŹžĄ'žq¶°řřG©ëŔ4Ň f&î‚írĂMšl’9.[ hý…é‡R»eúŽ ő9ç],@§hËɶ’K]0–RŠŢÝnßőă¶™A07ýÂ/ü÷mć­sçÎÓŻ˙úoĐßţíßňţwľóť ČP6î?úŁ?¦}čClËBşÝo˙öo§›nş‘ţřŹ˙„íZßýÝßE‡¦/|ţKôŻţŐ/Đ˙ü?˙}őë^M§Nž˘˙ç˙ůşöş«·dČxä‘ÇśMmľáŢÎ׹ďľű`q�żÉ˙ňżü ú‡˙đ ~đĎą®˙ú_˙ýÉźü)ť8qĘŮŮڮΟ˘WżúŐôŤßřŤîr:Ř�â'ŢMwÜq;_ăřńô§úßč3źů Ź­7ľń |ŹđÓüČŹü0;~ń˙ }ň“K?đ?H˙ĺżüW>÷ď˙ý·óůŹ?ţ$ýŻ˙ň˙O˙ń?ý:Űô~ë·~›Ç*ćJĚßó=ďtöż%úĎ˙ůčSźúŹó7żůÍnű÷0 UçýRJáw©[KÂö¬�‹‹Oť×çqľ¬cWÓŔęĚ˙¶H7ű{VąxݰŃjQ)ĄĽlĺe/Rg&ÓĹ1ZĽź9TÖ”"ş­ęŚHa F,Ť’)”ę'›Ůo?e€Pź(śš´´Em]CYä–;u^_ßäÍąsgŮ1‰ŰĄnAÍEI–oŔ ř04†$5b&©aAgݤ yÍŃ*m)‹}5$ÂŔS­TRę}(íŠîfe¬:O7ß|s¦°ůz…•5ڤ� \ ÷ %ŽHy±THŁŻŠűŮiBň}b¶CżřŮîü`—+ź‹9v§r.‡\LŰ\L™—«~ł^ě—CŠ`ÝfűMŃ›ˇĆE=Î.>¬ŃMÇzqq2 Ř`˙śuoŢĽ<uLúMč")X,ë"Ún–Ňf ĚŤP†�ŔŘÇXÄ|€ż&P¶ (`a°[ĄżÁ:ŁĘ¬Q�€ip, ×�J€1u€ň†żˇ¨i*McP‚'4 ćÔ MĎăqś‹´ �Wŕ> Ř(MM˘móp?řŤk 8uÇő´ÍpMETß)zź¸î÷ŠvÄ5tŢÄ1�[ŕ–_ť ¸¬O}ń#TJ)Ą”RĘ•&vý1Cž×Ň1[gĺxoSĹ9uŃ/Że/sü„)¨ŔF}‹ŁŇłCTj©Ź9€ĐsÔ `käϡś“I׉®¤Q×ňľNŘq¤F-©—č�›.~0śsďo�'Wůq¨„Ţ!LŐűxčÁq.zeĚÍ7¦"…áWq.)qžW+ą¨%‹Ô V§@„°:ÉČ3$“*8TjĂ˝Ę`ŠÉd(kHçŕ âP+vľ€ő+u.{8p9•±űMNý†ĆZm‰ś/•úÝ;Ě›mç¬ÎQĎ9•6\}N­ą˛ÜµęsuÚ·Đžů±«Ă8·N9^<'€!üśB¸<áô׺ű¸úář‘ÁĂŕĐ«rÄôصő`ďhË�ü™žřnŻ ­Gü ý˘˛Ĺ61˝}ŔQ,_)ü¶ b }{Í©2ڎÂ:żkő*ŻE.nąţǬX3şľ·ęÖăţVÖ{ôŘÓśłđ4;±Ć@‹ńhĚé;ŇńTMY'ulXPŚŠ2Ç ďV*cI0ś§µő ´˛ fÍ·–$�ÂőE¤Tč÷Üß𛝊äÇQ­ž2$(¨ëŕ €¦)�t|hš?m›v#s>Ű4@Ň®Hi˘LsZľýŘsíĽ ăĘŁĆüü|›Ak :j6ŰÎń.kŐÓ&I–âÇ:J­ŰÚ‚FaĘ€‘µ˝&äS„(ÄŢ)+ö")KÚ €D×m,!“8sľ3˧Y-2¦Ş¤}‘Yd ¤AqâŚň‰»ďńYęźíşű_tzŐ txńZnaN^ëGÔ Ç4&ě( (IŕpŠ™Mň)?˛kgŔňDfwžѰ`EPP?xî~EH7˝â×˙":yz“|ô9şçóĎĐŮ ›dٸߌ'ąűc‰ż.Ŕ@ Ľŕ‰}.{wDˇ´¦ÁAY í=Ôl,0ŘneĺĽsöw¸o€=A #cŔń`™MĐţpňëó·cÎöéŹY*jÝôůĄRDąqś/'Ě1Ëč·Ď\ÇśM¬ďătNCű»÷ Ć1ś„ĂaźuZč¶§»§ůޡĎ{–ljżţ 8ź®G@o ×ßÚčŤŔ“äĘkQ˝2˘ą°>))ŕ�ýÁÎŹúěĐ®µjÄ©ł"ŽŚ*`h y.ąkŽ\{µ†xOĂI5ŕ¶G*“áĐ˝›Ç}C F`Ô»>ÓĄű=K'NoxŕeD)Îč­Ö<łř(k%l  ŔËě”2†°†±cÎÎ/A@ą9MAZE&}^úüWJ)ĎG®˝ö:¶CýęŻţźô裏Ń×ý×»m×8Ţ~î^ŽLčŮgźŁŰn»ť~üÇßMýčGé˝ď}Űůnżý6ú˝ßű}ú­ßú-ú™źůŢö×ý×ô+żň+îď˙/—ýńŹÂŮ/0›ë=÷|šNť:IźřÄÇ`ęÇŽ=KŻ~Í][Ö©Anľů&şĺ–›éčŃŁôŘcŹsćňňĎgNźˇ÷ţöűčÝ?ńcn˙ő<G\¸°ÂiO~ྏŢô¦7Ó{Ţóú—˙ň_2 á»ľë»čýď?ýo˙Űżr÷ń^7—­ŃďţîűéĉôOţÉ?á±ő›żů›<×˝ăď ÷ď~™·˙ŕţfúŔĽ‡ň5° ‚µ:@Ş[ŔŽ $®őš×Ľ†íżú«żĘÁWď~÷»y˙ű˙ďéÉ'ź¤˙ý˙WĺP~ČĹř‡t ŚŹ®eźŹŔ˘žľ_.‡={HĄ”ňr–— Ŕ˘8y©RÁheď$1ĄtšŠP®{gľ�12%C43ĽLµ)Ň:Ňň·sěë¬JvÁqEňČ‘Cdé ńŤ:>Jy§ţŢÜěRبJ.ÁŃ@hs9ÂËMĐÍ ‰¨��CŔCchdUŤ•ń )Ć农Xň‡Ž˘é´P^°»í¶Ű¸=Y =�„ňy3‹m" L’>UÚ°Ď«ŕ@¬Ńëbe'‡ţV/ż­žĺvÇîöE:ëÜ‹ąTf¬°ßZn,0ë¸K­_Ľ?v§{˛uz>2 ŕ`÷ŮďY˘ă`Vyúm#“¬1˘řĚ‹çÍš—fý.6řŰl/*é—"łî ň-ßňͬD€4*Ź Đ&M ‚cŐů0¶a>€ˇă�_�´ l ř?~<5ę  e€ŔŚß8eč˘Ć«gź}–ËD]p\ǡž�_h$lńÇ?đŔü7ĘęçaŽĂńĘn ˝Ž¦rÂ5”©ŰĐGĐF¸†`;ľ8űŃ9ś OîZ śĂ± `Ă7ę‡m:×]®…o)Ą”RJ)/F)€,üź1;çbň„|tql;´Ň2Sg•®;F©ó6 }´<}ĺÄ ŠY[I>óČë i—őŹ8Ĺq$é3ĹϤ €hyÂôWőÎ(Ť(źäĘ‚seE>ýĆ„mâ#ĽGuˇ/b ±ľľęś6nm0ďó· ˘žŻĚ‰ü>"./[oi*ąŠwćJ˝ˇ/Ť CśGúř+޸¦Î—±¦>quĂ ŽŰZÄu»{#˘G@äľg@`ް8˘]ůĚÝ1pxâ»ËÇU ‹‚Ď=¨8=ˇéĎÎŃôÍąyŞWÝڪߣŽs0;7+µ—$zŮąpŮÚwkšă牞;Ňś»Öţ…„ö.ŕZÎé!¸;Ŕ}‚(á Iś~ĽIŽöbÎ~8şŔB‰g ]Ľâťá¬«×™­CśŽîŘz˝wZĹJ®ŃÝyçąuFމY:X Ä4 "‹¤ÎŽMňç…ĘbćÖ©Ł<Đ#ĆŚď¨"é°.FĘÍ…öĂGĐß»`osN\8*źzîÝ˙ŕ zňY·]0Ř& 5E!˘ĺ#ŽĘFó©Á6 ˇś3UÁMeÓŹ{âŘ­D ÎhĎ/Š3żłÁ@uúb~7ćZî=>µ^ŤË˛ě38FŮ6Őp¬uRłŚMĘÍú u[ŃAŤuż^KÁE¶‚Ôő^ń­ÇI÷çł[Ô!mŮjZÍ6µóŢî"s¶-,,št<A.ĺMے١‚śmÄÎŤÚŔ°Ŕö'ę[QŔ€†N§Ç@8Ľ3vź:5šMfŰ@YčČ;vóýMme¤óC5p˝şůdÍéwHÔˇsç?C«Gh±ą@µĘ jűiyˇKű= o4F*ç„/¸şÖŮv‡„çkĎ‘΋1ĎJ2FŔr[ZhĐŐ‡č–ë—閛ݧ«ϧ`%•ý{Űt÷WÓ÷~ŰčÉgÎĐÇîyś>ýŧ©ŰňÜř>SÔ­ą=C˝6ĺĘ”v yNKHŇXŘ>Řl´��ď|¬`ŽRpżëö]§ĎÓ.”ŤÖÖwă„}f‰éKúĽ­˝LAJöť¨cHËT±ýQYrµ]PNƆGT,;]»Ăúď§Ëâť§©=-ŔČĎ‘O"fbę»><×i#đ ¸5÷ľhvą2F<ńLA™ý…ëś2?hN¦„A4d¤–ÂĽ‹w[ě¶÷ş}~–źBďɵŤ=üäy:qf“†Lă”PQÚ7tѶłcżˇăă9 ö0›śrŐ97ďˇ `;ĐY'Žł«Ů´©Ń‚BßËć6í;Ůř4€ĎÓfVJ)‡˘źţéźbPÄźüÉč}ď{ÝtÓMôĎţŮ?Ł×ľöŐ| úăő×_ĎŚHĂł˙>ú?ţŹ_âqÂď˙ţďÓOţäOŇ7~ă?ŕăŘOďyĎd¶‹·˝ímÜgOź>C·Ţz }ć3ź¦ýŃĄżú«ń|rňäi^ßăšłÇ|ęS÷Đ˙ô?ýŹlSĐö<�^űÚ×đ1?ňŁ?ÂŕŇaĽĽâĆWđ6�Lďľű.Ľá Żçú}˙÷?ýĺ_ţ%łÚPňS?ő“ Ě�;Ţ ÷Üó)wüŁüű꫏°­�‘}űö¸w~gÇvĹz)EľíŰľ•×3�™Ŕ–ůĂ?üCé˝ţěĎţ,ýüĎ˙<=óĚł\‡ŕ+©”•ňe“âşt–X€E‘e¬”RJyńČË`ˇJ…•iÇŻ|ĺ,xCLÄtWřßÔtb«×›¤)�Ä—):9¤·q€fJM–rdÖ¤š)šÉÔ6»Ŕ†a ÷……¶3¸Ě•ă†.ô•®ەßf¶yŁC¶@‡ň26Ęľ˛hp$‰3˛Ő«ŐÔh"ôĄB+Z4DAY€SČR8\ăd»¶Č·R1b§-śŤ( ©˘ĂŃ*šé˝Ó‹ęR�Űťs± Ś"Đá…”"hÂ^{»}[ɬ{ÝÍâ`·ĺ ú{»všµo·ŰvÚo班ú«Ž•­ŽŮ l‘űm $D»«óNíżSűQ2M­‹¨ oĽ1–°F(!š“ăű1ÂpäČ6¨�@�°”ĚZ6€ĘŇ€ăPÎC™vńňóQŹAkŞ ™ˇŕ(ë„Ň”‚IűpˇQpšŠ×řřÇ?Îۿ꫾Šë!F±ő”÷‹zăţ”Aó%®ůS śʼnŤAî7ć)m/nÔÁ‚: Żs#ĘÔë*HÇá¸o|PŰ·J)Ą”RJąÂÄ!śôťăi˝?ˇ/ĐgžѧĆtb5¦îh÷kĹŔëIş.ČżCŞÎy°§ŇÍ«ôškjôşëëtxÉ9ŠjˇäL˙ HXšŹNŘÁ%@đĐŻýC٧Lu"ô`8í˛Ľ˛‰w"Ĺâ` ƬßÉąĐ}„ĹBSąáý ôˇśž’DijŹńdäÖ]ÖŹT[[5pŽ´ev*‡‘€7ر ‡…išE8X1ńו‘ĹűV§ŻÖCSŮőŽa˝ úXPcĐĚ÷™°˙’Ż NP¬N Ů`c"Ýz&B˝é+ܦXçĹ;ă+�„¸ţôÎÍIqKťAí_­Q-h8çm‹Űk™U¦?nŇÖw úY5e]9/رłczęTL ­*í_ iˇ6¶‚ŔŰŻĐý1z í ţţ«đÂQ ˝3‘íę’őQȬ•j€\,ŢŃ8–đ5Ň~•ď_ÖmAEC®0©:šeđq‘2OÜD`‘.2ş˙Ś=Ăęc’’˘îÖ•ó´˙�ÖĽ{(ń «^Żďś‚ΙąŮ§“g:ôŕ#§é‡žŁőÍNÜQĚ:�Ö�n�µ¬ĺÖúń$­żô5J}Ň×D÷W0DSÉŮz G}v–c U*Y$=Rç�tÔtw´Ŕ�dŽä L!6JťÉ–ţ¸ř\,Ă&GĆ'I.ş\ËÓ˛(Żűµ|ë¤ĚXrňiaě>«Ç)sˇţP¦ćĆŇłll¬S§»É€O0đ #-@¦ŃěśoťµźžEŻ­÷ËŰ’ ©]Ű`ăÁŘ“9‹98Ý Ňµ€i¤Z­1XŚGX<H۰čÜUQŰǦHü?¤ŢhL@n3(`Ű<R<¸1:9KÖN»ë¤jý:Z§7?E‹µăśJĄéô¸VÔĄę|Ěm†&í +´ŢőĎ 9QČö¶fcžîsv¤köĐ+®ŰC×Y¤Ą…¦Řť0/n÷žňřŽîçĎ˝óŤôŔ#ĎŃ'>ó$}ńľăîŮ 8„JhQ´#é;NyHł\ ďĂą–ŤÜD›«Ä±°/€Ńzź¶µ˝f–ö)8X{‚ť¬XP‘í‹¶ďAÜׂ tě öž‹ăŔÖ«h÷IĎwĎD 4¨ş0ú:•Đ{y,řvŔ8`6Ú„/čŢ_ö>ę»wƉM§_7Üş¨]wzö\"`żdÂŽŇŠë{<š™ďN*rźp$ …Ú¤Âýď^›&©—G1Ň}… F»°ŢŁn/cţLâśîmm»ô ÷ŻvTS♫.ćaśą@ěőÜ|dÇź}ßëugPÓçićúŠÂdKąRLßůťßA˙ř˙czüń'čO˙ôO™íáßü›C7ßü >lŰ�W Ű©­ sŕsĎ=Ç糧ďľ;-ëŘëΞ=ÇŕP€}äQN˛ľľAď|çwŃ>đ'ôସë=Îľ€f ŇŽ`íŤý¸–®!žxâIľ&ęii˙ţĆß"ď›Z˝Ćs†HŔőÖńŁţa-ł­đóź˙=őÔSüűˇ‡˘;3ôý»“Í;óńČ7ŔĄ`ÓżŃĎ<óŚk×˙źgą}ké ĘW´ěĆ÷S´íëĽ9ýF/´Ş”R^nň˛e°€l5ˇ(JßźÉ lä"ŕ…CHĄĄt±;ĎŞ~›(|ĐůŞŐ<EĄ‚#Ôpˇż·r´gŰ©{Ń]š»1ׂۤ`€zaaÓvJÍľ}{Í5¬8Ű&4|W “´®˘ Iä.ެ,É”}ˇcQ úBä”抴÷m_E„=Ś5 T”t�¦­š¨­˘|1�b[çŰwűs.¦üťŢŮ5_U””{iŕŠí^¸;Gv’mÁ4 ütyŔ«´nwÜNő**ÝĹ:Aů}Óĺi9ĽťfŐ#Ű3«L{Íllď~Ń”Pľm0oąĺ&V*°đ«ĆĆ´˛7(kŚ'hÍm „C �  ‡}JŁ ÁąPČ�Č@ů�XP®…CŤśĆÉ3 A”}÷€:©G˘H:|ś(şçž{¸^o}ë[ůř … çáPŽĹ9šGV)Ů  âx“čś ű8GŁT”…ěLGęÚA+p>�'ŐŁ‘v�ćĐb”9·+ŔX)Ą”RJ)/E±s{B§×GôŃGô{{ôČi$DĚ<rçRO!/ëŔ8%Çđ D­Ëç㏠éP»GoąąFßtgŤn=<ÇŃ›_N±zeéSžĄ:Š8Ń.”ŕ(Ő TŔaĂ©âÍ}¤ŁptsÄw@vH$µłřM¤˝äú±_Ai„˙ŘgQ˲¦)DÜőű=ź“~Óé•4őBVŇzLô3a>Gť°pä©â­ÓwV;ŮHV$ …F?!q`h˘O@‡>ć{„“­Âč�u %ü;‘\!Î@P'*o3°tA�.\ýGLI.|pâ..-Ó¦s.Cw¸öhÎŐ)¨fΨ8IĽ]ˇˇslżĐńصQeD­jB‹Í!5+1Í#ç° h:§měęŠ#=p}˛‚´xţa`ő™ÓßŔÝ·¸TŁÎVÜnhŹĐë{yŕD¦S†L¤Ű‚`v>×ďź™‚DŹ óײ  ýëB]O ÓŰ"·žGgłOV7he˝Cg/ 艧/ĐŁOś¦•µC¨8řŁQwH™7ü#V–˝€ź}˘ ‚ěú±)Ŕ¤miÁă:qÁ§˝ÍÎöfŁíS~HŢpŚţ@śÎH‚sjuçěŻÔŘ&!ŽČ,(BĆw”ӿʼnOé8°Nbµ1¨`:.¬~„żuMoŇ6ňۦM°źYÎT»MŰ ě0äSt�´�˛@ ‘öüU1_ř9‚ifmŹtţ1ęćŘEĚ2JT5-Ýy.júą’xÎÓoľ—p:ĐĄč4/ÚR@"˙ËÂőŕT%�5…Uî;‰gŔáQ‡T"§#u†nlqÇ,Ńúř¨;ă)Z_;í¶ąí4˘Ĺ†¤¦]h…tÝa§#!µQ}]˝żél×ҍ״haľÎă^wdÜj�”Őqăز.„9Ű6â·\M·ß|•/géżßó(=řčIZYíŇ`4öc—x®PőľčČĚó]LbMUaUŁ1ź˛˝ŞMKś űAďSżeDQ ť 2�C–dVß´öa˘çúĄÎMzđ’Ž=ëŘ·}Ý2®Ř~/`›Ľăߎ ̸čĺĐeŃ°ĺˇ đ´ä诰Vőç“ZžĽÄRj莯N¨3Ž]«GŤ&Ăí_Lhľ‰ű›đ yNKÜ8ąĎź ^óaB÷n‘”DcÚDÚśáVK´±ľ&€Ä@ßhim-xU´áŘąŔ%,«lŕ&€ I#3ź`Řöł6Ąâ󶬪öšĄ‰ ”Ë!čK°ÁN�ć+ŘoşégčᇦŹ}ěcî÷+Ě¸ź¶›kęu›.Cç¦fSÖH-ň©O}š>}Ďg蕯şćUzŐ]ݤĎ|úďčřs'čMo~ĂT˝t\|đäzýÂ/üBşuF0”Ú*e<eë>f"JSAév˛i)cpă7~ă=|M0^|Ó7}ýŮźý7TÍî;Č]·ÇIşsť¦˙I’ľ×ńÁ¸żá†č]ďz]wݵ(…ŰçÁÖš-avoË-ĺĄ!»±éÎňXö(ű.¸)®˙.—”öęR^îň˛X\Šłxö1<ˇ”@aí§Ć5°aŹóŐrFÍË+‹„pjAbÁ[9”gUUŻůĂ©ó؜ۅ@¶›Ú@”{UĚȡ9ő›üqľŞ¤FUH±ř2™P8ó%`űm)8ˇA1Ő\ˇ6BE•MQĆ2ŁJÖ.[;Ř· °™ Ěą˛vwl¶PKʦí%oßI¶Rlµo'ŕ•˘!übÎÝ®Ěâď­Ęť4¸Ř˛/őoHqq˛Őř-.¬Á#ŢĐß»hÓâůj$ŮęŘí$1uĽÖ-ö&ĐôšK”ŻQu��\�c fÇqĘŔĂłXbĘA™ř†bˇŃ-HĂŃ”¸>®oͱ E ŰÔ`>(C/°_ëEK 80fhZ ă±ý–[nIŰĺ ž0vŕXś€ľ±×Ć=â:¸g݆{xĺaęĄ×Ră/ľq˙؇şŕ¦XvőDY8űŕˇÎÔÇŕ\ŘËk)Ą”RĘ•+Xg?~vH˙÷=ú뇜 ćĽççţ@rÖ“˙ěkWč@;¤…FDuř4ܲĄ;ŚiĄÓ©µNoŚčż|nHé‡Ţ˛LoşÁ˝ŹYK̢˝^H± ŠÔ!gôéi~yďW0©:Ő)©Ž&u>*µ;Ň~ŕ^ ł€µ/Ś|ůžĄN{‰˛ź°3u.qžxqţ�D07'°‰ŁZü@nMTťc§ o››´±ą.ěVaÓ·`bî%6Îő€Łv5ZÖ®ÓÔIÇO!ĚÓ„s‰Ib˘˙…nNŢ}űp>Ś®'˝Ó2Lx6|]Ŕ6ző$’`źÁ>#fłđQĆa…éźvBtáÚ BGş·®Ázj hľ 粀UĄ4G˝cŻc"ň{ҡřlĎŐ»O›}šoT¨ăÚůde‘†MDâŁ-FI26 6V“ŃAüłŐČ37˘ç"MN€! éműÜ4[Ĺě!ňL<ÓeŔ3�Pa4p�˘•Tő$R `ť+,'±[Owéôů5Z]ëŇąµ!ť<łIĎ<sŽNť]c›u<S:V^% *ţţČ;jĹř>Ńűgc[Ł75 Şü=Iץqä×™ĹÓ¦ ßĂ0Ŕ^–—ÍÍ5ę9‡t×94Áę‚}¸/i˙„$ÝN”ł‘¨Ń×:ţm†ÖĹö}­CŃI¬ç`ÝnäÖa]ś¬“ł8öŠäř¤ĺQ6~EźŮăAâ´Ů٤ KĚĘĐ@ö«Â|ęí4‰gDMF©CJÓ0dóź¤A;âč7éýsęˇ TČ˝VIGăÜýÚűÔv·Űm›0('‰RG=?—DúÝ„Űl’Ž9‹ÉůQ°á6<ěîzĎUĚžSť»›ŞŃYj5;´8ߥĄĹÚצŰnX¦Ă‡–9Ç=ěi¸lN< Lö.KŇ÷ĐlfZ´—8Ř26ŐĽÍč–W Ł×îˇÇž8C÷|á zäńÓtćüŰöâIĆ ÁéuÝŠ2š1–9)KŔVR`R°p»$“\}p\ŁŃäa;ÝëÂ�ÎKţsó9m磼ÝqúÝhůéü[Řy¦–ÉŶźíŰĹą!X$‰ĽűfŘýřC®§ďPM жČ�m°˛")TÔľ €ŞSC%qścçP¶]ś§c^ŔuÚśĚQżWáľBAMÖ®ő°KŐĐ˝·-pßćş‘Ű',.'WT&É)·ŚxŻQ fďyş˛ď$É·›}?dωxĽ*¨B7.śçúbλ‡�s*ĆŽ3]űśók*Ą”KkKüÂľHř‡Dßú­ď »îş‹·µv=0Űî$°^ýő „@`'渇~”ç˝»îzŻożývúËý}ęSź˘oý¶oáó^÷şŻ¦?ţŁ?ĄşóźÜvŰ­ą2uüť<y’ľřĹ/ŇĎţěĎńńˇgAúÄ'>AůČGŘÎwýő7ę=ٸť5@’Âöě·¦&˙ĆoüčŤo|ŰBa«Ä|/ő¦Ö�ěpźÇž}ŽNť:ÍcőĚÖX¶ťĺüëŻ?JűXŔlGŹĺ÷@,¸Î·~ë·R6ĺ”öż—ŁíľĘ ŃwáóXŕüN§K—ÓľŚ˛4 `)ĄĽ\ĺeÇ`Q\4«ěäx,N>E­ĄĐTé÷ŁÜbXíň ]ŰĽ†vᬠŰ9…§Ą¸ët$j¬ôżW`YYHŇE_JA®^˘ŁM(ŁĐŚť±•)áF!ŰŞ­!‚‡.n4šG_*öT™K hňY÷YĽćNÇë·SY;˝ fÝ˙Vem%˙śV¶‹ĘňVű¶i'ą6×çWüľQŁůĺ–­�;STb‹ÇouĎĹ9§ř­żíöť®µ•\j[Ď*˙ 躣ײ~~ˇMä�@ŚK:�6PP‚‚�`$Aźaß0¬`…L#v0čąPDp. ¸oěÇąPXpĚ%8WŹŐ4AŘŹň`|ÖňDř(@CŤ;8J¨ř�Đxýë_Ďĺ`?ę‰cUPfč7ę€2 ôŕXÉ#-5x -°M©^ÁBűÁąh�IđŤ{@¸?ÜĘ×6ĂvÜ3ć>ʳ̥”RJ)Ą\™ňŔ‰!ýĆ'6čóϸ÷ź§z>k!q¤‡´>˘;ŻŞŇn¨Ńí‡ktŐrDíą€Ł:/tbzćüľplHźu×}äÔ:5ˇűW›ôc_ۤôJĽ„­î…6ň)ŔÓJŢu©¦ ÉaęlťKtůŚÓTÜ Á™.8ň‘ńޡ '[>ĺşěô Ş©Ţ¦k3¤ýP&�DpÇ€9ü ç}ťÚUçTŢŕµ ˘dçŕ uďň0ČŔĄŢę¸TÇY>˝¤ŤĆW=łčMťŇŢŃ–âüLĽâĆ5őz\Ŕ`Š€Ł`ł�;;ŮŕűĘcĐĹDR† M+Řîî`VN5")/âĐ÷aäçł“¨=ߦÖs›«ÔY?çîżĺ> wí 5Ç}Zu¨áÎ[¤U];­Q›ś#Ó]żÓźŁM¶ŚóÍ­/ÎŃBõ{­B-W—|”vŕ«=ĂHnVăľ^!§xIÂ1ë¶Až×'Ă©¶Ď}Ćá†4†É"w.��ą˛4Č"HÁÚÇ@#Żkd|°†ä5c§O'śáýŮ“«śţăÄé :{®C›˝‘<ÔĽ.–¤Ă3äT¤qH˘*ÁÇ2K°„ô›,°C Ęę`p$×ëMm.}4Čő;aóŚR¦ ˝o8žö°Ă´ŰݤޠËcBR¶Ü~Ńë'8ŻóNŕ"ŔÁţÖż-ťľ¨ÖŻÔß9=:):łó×ç¶@ŤFąí–1Ĺ‚SW‚Đb/5ÜúľŰë0ؤÓŰŕg®¶ \câç%ÔiФ:ˇŐq,抷IŞˇŚÝCűz%ŞůgăL<Ű×3 ™Žs;ďZP‹~{XŚ!>7K+Ŕ _®ĽůÇ˙űÂBLK +´gŮ9Ú÷ŢBKˇißŇííÓ˝ÂúPdoŕ¶Ąlî§n¨Ć,ĘÉĆĆ&=ýĚqj6*tÍ5×LěýaSÍ9ÔďĽí0Ýpt/=ţÔYúÂýÇčK<CO=sšñOź;â ˇź (HR®�`ů4.‰܄ۤ,^ ˝Pu=| B‡ä”Jssiťmßćs} ¨­ŇGčTčÁÚ_Ą˙LŇń[_ÜNphű/Đ PJ€ŠţÝäíO8WŔ(5nS°=iú ať¬yv‰ŠďÓq®”5s‡§�E\&Ž3& Ť^Ң~ś9WŐf™¶™{ďÍUő˝®¶Đ­íB¶/Yć-ŻČ0˘ŔNiűĚfĆďĆö3 +هô‡ĎŻ`÷&5~gŘgŁ×*Ňd}".}±Ą\’¤s®ëo·Ţz+˝âŻ żř‹1ŘűŔčpÇwĐ×|Í›wUĆ÷}ß÷Ńűß˙~úťßů]žŰ`?»á†ë9-/äꫯbŰ×C=ĚĺâÔ;~ĺß˙úęŻţ*şęŞ«f^ăoţćo8Pëío˙NO˘°Ĺg>ózě±ÇéČ‘«ü(śśěĚB­ç!•@"źřÄ'Ý˝g[ŢÚÚ:oů#9ÉÇ?ţ ž‹Ţň–·ĐÝwÝEńˇż ßţí÷ň˝Ij¤˘Ý7»Ö-·Üěęý:fŐ}ňÉ'ąÝ}ôQnŁťęYĘK_.ć۵ 6i€Őć|)‚ő0Ęy> Ť˘^SÚ­Kyy˰€‘JQŚéI+ŮŇyş“Ěrxť§łd\şDą<‡a΀CYšźjDΗŞů]?ńyĂGÄ˝fQˇ˛őÖo«ŚMk S×0ܢ9F#°]îs“2TˇnÂď©b^lç¬ÚŽŮuÂ9Ůpś˘ŰU©ĐëL—eîč"Ö%Ű=ĂťžóVŠçsĚĹË4`B[ĺvÖ¶ôx5éo˘ŮĽ‰š1ÔČŮó›4¸ÉÎK¶Tr/(±Ó¶­ęĽ]Ů[„fť·U»ź=?‡$ąhB¸$Iv5/mSŘđT«Ň™ÓghÜľNńş19ďĆ!Ř�P€1F FĘPˇéDPem°)2° J Ś $@]í˘ÇĂ€‚ă ś(P×`1k) ŽÚÁ&Łć•1BŻŹ:=öŘc<w îGŹĺůÇŁ ܇˛GŔČ7ĘŐ{D˝°eˇlÔĘĎ{>˛¬ç#55%IúÉE‹o�,€ŢWă2ę€{Ű…ŐТL¨ŻÎ{Ą”RĘ•+É. ?ĄĽôe 2ÁŻęž<;˘ßůt‡#ă,“HĐd‡2“ôh^›y ´ssÓőűkômw×ém·Vi;Ę­ťáďŶýíîşşJ_sSťţôKúŕC:ąÓüX—ö:ř›nśó~Z©ý ŐK9/|amź­iň,ęĽČµ‚_÷X'”¤ýĄ`ŚŘGíŁ‘ů/©>ę…´ě OAÖé%KĄéVqX‘wU.ľR#©·ÉőŕT‡•Zšr1´îňmď=OŰną^UĂ;ż  ę˙‰_Rô¦1§ńl h 8Ĺé/ĚRčŽăAHŠÂiBQ<Ibó‰A·(s& qz�Ár¶đúrÄ 8–ç(j.Pms…®[?Fëë»­aŹöŚ6iRmąăGtŞŇ¦“Ť˝ôHÔ NPĄs‘sŽ…H ý:îĆ´ÖsNţąÚµĐµaDsQBÍzěĘqŞô)@»±PĆ Ůą¶€-bç/ëŰdëy§e¨Ű<hÂ2S¦}×čďât´€‹0÷7Öť ¦@Ô2;Wë5¶ctzcçě=GĎž¸@gÎučř™=wâ<uű®­n Os FęČŹ¦#šyPćdŕ4ĽfĄÎFubZH­Vá˛g9¨“D˘ň Ż“Ůţ«mĂău"}¸âîą˝°DµAťÓ+`L€*_Yđ†Çk¦Si»’>·Dő˙(˝Wý¶itĽbAöřŚí"IźuzMă@ÖmŃĚ1 (<°ĘjměŔŽ'i ~î®]—ëËĚb°şvÁé¨×ŻĄL•¨ęÓÍÖ¨îĆ ž±8Z«Yý5ŔĹ«g s–«“•ťăˇŢ“I‘Ăs^"v¤Dľ5Ý;sĹÄÄé@ü ĆÁěźq ł ůě;`n�“Ř&"ľĎĹvěiŃÁ}NoÜۦýKMÚëľ÷-Ďą~Đô€2gסł doEŃCS EúřßóŤŕľ}ë8ýëĎ>ř7ôÄ“ĎŇ5W ŰoďŇŐW˘eç䂾Őó©›Đpä @^�DMPÓß~nĽn/Ý~ÓúôçĄ{<A'Ďn¤©&•qEDÚL�e"Şżây×qp$›Ă\Łz ęÖuýuŰ…ÚĽ2F¦Ř7˝g=ň㍟y1h;J|ScIx3Ř+TR�Óý=0€żÄ2X„ř†Ň{ÍŢßI˘ď5±×j*ÔŚOü|ĚęĎ Ôšž0#¤Ojď'{ÚER>5qţąx`ÂÔĘ&ČťkÁz~q»ľ?0pŕ.{0’gĽâ˙Ě×�ÓŹűŚ[ólk8{F·ÓĺwŢ“¸çĆ\Á9l—ó`ĆY6ŐÔNpIöźRJÉäČ‘#ô=ßóNş÷Ţ{ţuçťwĐk^óNW†ľ}÷ÝwŃáÇŇől]`{�ý¬�Ź>řŕl§0€„ýű÷ńńxß|ó7Ývű­tđ €:H?ü#?äětץŕˢ\}őŐôîwż;®€ .˙č}łaÍŃwżó;y› ćÔ׿áőą`ŘWżúŐtăŤ7¦i}qĚüŔ÷;Çő2Űßľă;ľť>űŮĎr�ŔŻzŐ+yśÉű ä6ëČŻyË›hľÝ¤cÇŽ±­đľám\_a8wzŘŰŢĘe«`^Cť‘캨Ű;Ţń-ô¦7˝‰.ŁĎ»”ˇm>ŰŮôťŁ|Ę� ;µe0»A?†ź cS×Ĺëí^˛ă1nK‹R^î˛[;Y°Ë}Á.ľ-ţÖOhľőăµţ¶ě×-ü˙âý[qÎRĺZi8EgžL¤ěb»čÜŤŁ2ą ‹Xkıu‚ŃÇFąČoC+JbORđ‚Ż-©˘‘-ř…úV±íŞlŤÖˇg,ĄűĎŚČ;:aŁć#FýÔ‰*ns˙YŽU=OťŽę4ŧb”*›ĺWŁ]ż žŻób7çďtĚVű‹/¶"0˘xÜVßĹmú±çŽ §ó:ŰzĚŞo+üťĺ”Ë÷ô˘aŘö©YŰgí›ő{7ďvŰVăŮŇTnW–U´·Z¨lg ·ÇŰ\cÖůú·5/MVřoľůfV, `)đ@ 2‹P˘4ťć8×VV� .\¸–Š9І“\G(+8ç`ĘS „Žu.`ńk(ŔBA�h í·J«,T› >”†PŽpMĐjT_óôĽš®÷� ®Ł|¨“F×(K…˝ĚC‚j_ăúHT^3eőPŕ¶Qw,ŽŚ—śíăt®ÄuĐv¨ö˘†g\÷ŢżűKšoαâ9e­ć#x„ I"`Ă m Ă­çŠRžźĚšżt“ľGĹé›čPůÂŃ1ć«ŐőÝtç×m9·čą:&µ”+Gf˝kKą2EGx`6¬vFôľOu菿اMN?¨ďđ„†=ޡLł–€ ŤmřÝ?Gß÷Ćyzë-Ρ[¶©M&§ÖcúýżŇ~ťú€n<Ó/|ŰşfŻ=ĽS‚vP€_¸°’ËI?«ŹăÝřGü$ýöţ›ÜĽYÔŤ„Ť"ćű ˝S.Iť;>ÚśŮ(2Ö?9^tfŔrĚ#_ĹiĹ`ÔË« |=8|-îYťPŵ­­źÎŃSşe(ě€pžô=Öáą_«ÖIÓ•$”­•á  ˝Ł76óBŃAlő´4§´űąűĹ+ĘŚšöcÂNWź6…ŹE˝˝ mĆX/Ô@~»µRŚ"n]I’ ôiEĆ©ě¶ÖH"Rá~ ć•pÜŁ´źú´<°„¨5ęÓRÜĄŽk‹q•ĆA…şíeÔ÷ŃŠ+cµR§s0łc)Őm­]#Żńüęî’ŤŻ#÷\ť«vÎ}ę’$¦m•]š0 tVagPg:y ±Űdé=*9 · ĚńŰCJ×búÁ:kg¬5RăBS?{î<=ýÜ:vbNťÝ¤ «=çŽ3 H@ą>hőá̱—ď{B©ßKkOuşÂ™/©9˘”Ał¨KZ`—:ěńYz~j3ŹOĺ3IÓě) mđ‘0gĘxKSôlˇ—ę}ŘëȵBo÷ɡĹ1kŮ�Těü¤m¶ť­·'4Ón⇷ęÚţÂx:âń‚(őŃĐé4ÎąŚąiiiŻëŹm*ŠÖ۶ʲLÜněÜOŮR=6¦ĘÓçy0NX x Jł0°ě=ŢaÜj7čĐľ]}p‰lÓľ=ót`)!N_jřqUĐCöÚf¬‚e`+hjâ&�|đŻ>N˙őŹţ[ŞźíŰ»L×]sóŰďÝ»‡ß ĂŃ€çůfkŽÁřĘ(k®Hn=ţôłčÇNĐß}áY:~z%w]µÍÍ*č3Ń6·ĎË2Řç AZ)e)/1?`®€^™ÄQî9j™üM2Nč㯳›…~k=4íŽíĂE[‘ö1ŹrH 8ăZÎ É2ďęŞ6˘‘{ĘR©s;Ö�ĚôŰŢ$IY%Uź‡.Ě÷P®MíŘL<�ĹŽŐ̶˘ź<€DĆKśłô0 ¦(2Ľčs/nTĂ(·ĎÎIEѲ5pCÓ Ş˝m 6Ö©šc;ĄŮ¨Ń÷ă ´ď"Í5ŔxSaŻŘ#˘ś˝@ë‘}—ö‚JľśöíGSnľą´”RĘ‹MŠ6ýÝ­¬Í°C�ŕAĐd7ĺybyfcA:ô]]šdď8°j` v±‚<çĎŻ¤¬nŰŮ đS V)W–¸gţ&’µîż'…OâżcóIĚwńC[ü˝ÝwńwQ¶ŰÇr1XŚS'D' F<ł˛A9C]‘‚Ď:O‹zÖ"&żpżx) ŠéE†Ă$· ‡čß6ŞD•źĐDŐ¨‚ŁąVĂ(o|ÝJbiazöQĘÄ íRIšL1±ŕ ©˙–—ôĺfĎí€IĘ—R&Ş˘h E%sÖďŮךn˙Ý·U?ŘęÜťöďTv¶=ĄCM•=랬’TTš)¶m‡<ş?™úmë(QnbhI5iý&3Śb9»ÝžlYÎlŃVŠČvűS ‚ŕÁŢ‹<ťl{:{›}úwzß.ú;«Cv9{~ŃRř.>ŹKťŹôş�U€š�€˝{÷ry0ř`<ôT6Đěšę”Ęč� !ŘŹů`5 Ł °7hť•aBĎSçć đ…¦ÁX‡!uč@Ů-°ÝR*cîÇ‚óęĐĂ#Ź< µ×ľöµ|o+ŐŁŚ:g`®ř­sŹĄ±‹FlS Ř7´ŢhěC›ˇŽz |�ĽĐ…°Źż<†ů\Ó‡  ´'ŽStňĺx¶Ą”úÉ˙ú_˙Ç'ă�©oţćo¦ëŻ?Ę}öcű8=óĚÓôO˙éŃĺ’ßřŤ÷0 ărĎž˝ôć7żŮŤÉ׸ţß ç#pŢ"Çëő×_OozÓéĄ(ŻŢűŢ÷Ň;Ţń:zôhiĐ|ŮIBťÓ§žpď¤AćH%ş~ŕ×u‰ÄHÂ9ľ·Ń;·ÝRsNçÝ—uh!˘w˝nŽV6ôÁű»ôŘ™ýé—6é˙óÖI;AWł‹«źuŢĎŮĹÍŽJź—]X$ÂW"~ĹŮ-Ń>s¬ ʼn:ˇ˘Ôą€‚­)E‚DŁÁ…©O×YjđŃ÷¸uTᓥ1P—‘Ŕiz˙&ß"©76Ö8uB«5ďŁă#N˝Áş9=,‰x ¨Ž<un `CŔ|M1{}e%AÍ9¨�¦łó3đmT`@€ śXĐ ‘Ý„™CśýfŚlVÝ~DÝ%N—ıÎ\Ŕ-Č\Ô ‘űĐ3ÇCZęoĐ5ń&]3vk/wĐŘ]{˙¨KëQť6’=;·—&Ťý;GĎ:ŇŇ ĆÔŕtRˇp9‡g‹Ş5çŇ´8¨/3äÖ¶O Íc·>&Ü^PWjť€ÍZ@K-Dʶęi¤�€Ń(ˇÍŽ €gk^·-dŮžm9};!řçy§¤ű*řĄĄ~Ö`.Q€ČfwLĎ<{‚î{ô4=ôČătauHau6:Îńčž_%T‡mÂĆD;&lżłÎ^uĚ)hCŽ™¤őÓvj‘{™ Şŕ~˘}˛ŕ(Öuą:“­Ł>űNr,-8Gę&ăŔ‚v[Ć'˘č.\Xuż{9ĆJ˝ž~+ă§ţ­îĽýFŔEÇ·]?«}BS č˝HY™ĎRÇTllEúüô>C?GP+Ě©1(X[ďGSD‘�Ő17ŚÝřŞÓŮ µu±ĚĎ/Đ\˝‘ÖÝŽw2eŮvçţäY Ô©­ýÄgpɱ{H_`2%đe~uěAe<ć)MsÓ^Ł{çéŞC‹tí!č€ó´g©A ó`d©q#XU’DąţeżŃ~ávo”mŔ…‰· ÝŻ˝ú}í›_C÷=řŻ©ĆŁľ›ăúĚđv°2ŠŤ°ÇýđŮgŹ»učëůż4â2¦…v“îş˝I7ÝOŻ˝ó(}ńÁcô©ĎŁ3ç×S[Łm?µ‡©3\źĹ,@RÚÖA{nx– ÜÇ5 ĎBďMS_6ZîR.żëR@î1í¸fĚN (˝ž>bÚ‘Yăyëő, 0ˇĚŢ’Y?Ě`ç' @űX0ć5 T@ź•PŢ1^ŻĆyř†ŽŚăZ ó<gH;äm'–ŐJŻ“ZdN*ÎuäÓĺş^áYmĹzŚţÖő3={}ĹőBŃv©+řs!ÚLJ`A?a–ĎůVJ ż¸Ł”RJ)Ą”+G0Ç+Ó2Ţ °ĂŻÁöť˛uÄďS€+ÔîlßűŰ]buěo9FÁĄ”ňr—+`a±ŞĚŞsL”űĐ#włčüťxÜVe^ĚöçS÷–śQ#OL)ĆÖ(iÁyĂOŢÁnĎS©¤h1´Ą¶I0ĄŚÁ0…˝DQĂŽŢS¦´lfĐrˇHŔi …RŚYuŢ ů]śü·“Ý>C{ď—{ńnS ş“vŃ€1kŞ(‡Ó9ogŐ1˙"ť ,JµPHHĎIvYěö÷Ě:lQŢn®9ëďx‡kÇćľŇvŇă‹×6Çq[Îş>mµ€ŮľÍúűbą}>Ěsn@ČJ~čyţ†ł˙ÚkŻeŕdX ť<y’A p â<e¨€Ăç!* ˘Ě(†˝üËÎĂńŘ®l�4hz Ě �VŔ>= .`·P–Ě!¸Ć'?ůI^x˘LÔÇ ‚żuń‡{Äy�yŕ~Ô¨…ű„NëŤů×�»…R;ăZ(Ç)‹®Ť¶@»(D ŢĘüvÄuńÁą¸5Čâľ�ĐŔ=©Áç˘|{ąß;ĄĽĽduuŤžzęişé¦›č–[ná>řw÷wôŻ˙ő/Ň/˙ňżcă&®űďżź.§<řŕCÜźßţö·sź~â‰'č÷~ď÷xžxÓ›Ţ𼌂 FţÖ—rľGĚ9źűÜçč­o}+•ňň“ŤABź;6˘c+X;Ű9^˝|;1RéÂK×Ĺâ$żőpťŢ~kcpĹě}űŰ}ßëčĂŹ¬Qß9°?úH‡ľĺ®]ł·F/ä[¨č˛Űů=9’äyW0…�RबUk•>ũ H*©C™ŻHůĐG¤NĆ$>«, VŘ\îű˘ăĘőőýśĎÍ.Ž–(ŚĽ3·Ĺúś©Ýî&G-c=Q‰j¬›VUc,¬^÷RĆ-:öD­ä˘¨UŹâ5˝;®ę™Ŕ8*{”-ü&ěĐäu&;»Ý_h7W×0‰\ß™0řŘYŰN¨Âíčtľ`HÍ΀Ă5::Ţ CA—ă.Ő‘.Ä9)ד:=R]¦•ć"EsĆsÔuetwnx@±ÓSçbwŽ«“›ż7şk4÷śĂvUŁj¦>„Ň樭2,Řq â#yîýŃzC˘NźčÂfÂ:-.»Điy>ˇzÍ;şůć%[ÚŤ¨ŰçčŇRČé:rz’ žý6a“TçĽu^ÉľFsŽŁć±–•©"ZYݤGžZˇ‡ź8M'ϬQ§;¦őŤ>­®­»őqǝסů¶s˛Î5Ý)Şë»of §P ++ÂČŤ´_jJ|ŔĚa—Žr/yŔcÚĎě·nWv9ŐMôţőÚY;Hú;f,Đ!sHVÜZąĆ`‹N§Ëďs¤T} TŻĄ×/ÚHě°¶­›¦Ń‰M„03Ł(ČDťĂ~Ęĺű• x}6ađ ľ0€dĚsRßG›«YžCĹőą:U2÷�t ăÓνőzŮ;�Ş�ČbssÝé›Nohó6�s’$Éű-ÓźudstbOk¤ú·Kśş°¬śjbâőv×çDN7¬ĐŢĄ&˝z]{Ő"9°@Ë MN­Ńj€Ť%â”=QEAĘE«wŞý.›Ú•E@ćÉ­d+{4Ă„A‘›SîĽótÍ5čŐŻ>N?ü=}ě—‹öD“Ş`ţĹĹÖÇęsâÔGŃܧhÄĎȦäšoÖé–ĐŐ‡é«^u”>{ď3ôńO?Á@ ['±3fíj€t<ŞŘ1aíY°C Kb…׳čÍć<ë™Đ7;ëś:da~™÷ ČŹĎILžŚ!-łśkdvRËdcŮ7 vnU€_śäÁŽdR豬5vÓŕ µ bś7¸żÔÓyUYyµ~śÜ*$?w Č€iNŻćTśnŽPVu i˝„AĂ!Šě>ů”śF‡‚m˝Ó@azH…5�ŠüřXÄ‚'Š6A{m[žîÓÔ(šbéCxÓí¸űŻ38sLj{óŚ2Ą”RJ)ĄĽ´Ĺľ{ôďMÍŤ÷ޱ°«!Á‘۱P€mvę'Nđąšm'p…ÖĄ¨dë yWÁžľ›˛J)ĺJ—+`1káŞ�"JPFé1Ş V|ž»ŚM,źKň‹ŕ"Mă唼ň˘÷ˇĘ‡lǙݣ"ł3v‰ť€v»˝—0ČSËŰýEĄ-Ł/“Ň„hý´®0 ©±l'Ѩn8Qń<`lȢÁ|ýÂ,Ź­:X‹m7Ki™uß+;!v»K ]śY$ f°SMmł Ů>ť>Äţ]ÖluOĹzŮ}y…<»W«úS~Vů—Äő÷Ĺ–§÷4kaQ<ß>ŰY‹Yżgť»ŐX-–}9c镯|Ąsň}=đĽ16�`}F‘®0cq‡…¨É`ř�łĆ.>XěÝwß}ôŔ°Q�  �34  05 :E™$�€Đ9FŻŁ  \†K_qs6€¨§R Łm>ö±Źńu[ÎdŚŔ({Qă+ľâP¦ 56*ýęĄó ;Xâ:¨‹2f M�ľŔGŹĂçZ €8 PíK8uÇý¨í‡ëŁÝČzçť6Ą”riĂň]w˝ŠŢň–Żá>÷ş×˝Ž~äG~„î˝÷>7^î˘Ěi¸»÷önĺaü˙˝ż÷ \.ĆĆŻýÚŻsn×;ďĽ3aíF'Űş^/m‹â¬÷d)/IčäÚ>=˘śÚAşŞŰu ĚP`ôx÷χôćçh˙ÂĄ:n<ŃŰniŃľ¸N+›1}ţXŹÁt’“Ë"IśO/‡÷cž ŹHsŹĂáXó†!ń'ĤąęĄ0]BśÔY:BK`M2-Ž +Y¤«8*á8Ujó|š˘sҬšéÇUGŤřz`^@d:ś­X3­qşy^żT¸Žâ7KÄ‘ęn‘a0�űÄeŽ2]6´ôô‰DÁ‘:B®ű@"wůŢܶ ;´"ľßI0aşöú§Ł‘čŰ#ëݚϭ›Zý şyĽFW…]:Ň_ˇ.Ť©5rTúÓsKtßÜ:SßKŁÚPÔÁÚŠA/$©FĐHCÁŽL® Áô�GsXiŃ9ÝÖVWÜç‚Đ ·©V™Ý;sV˝VŰ^uCulZ'?ţF�†cIÍqˇK´Ú]{L s1í[t5'9˝ż˛:ŻňÂBB{—›ćYĘóŕß�Ý@ H‰3ëI�+Ř‘ďúĎŔŐ»ÓOčˇ'ĎŇ˝ž cĎ­şµ¨Ű> S —QĄĄĺ}ÔrŽôóN»5îYj5˛gĐâqŔ € [weEf„(çŔ'r9oÓXf«‡čą!­ fMqˇŕ XPđ‹Ô+s6Z&N=^źťŹcÚíyÎíŽő/ÖÁXcŚŹu˘Z=mnź˝‰(ŘBënĚÓgĎÓíކ~<ű1gj(¬2#n˙!őśs<§lzę UV:±)Ux^Ó{Ôy.˘PÎŽ1Őj.¸gߢ^żĂL7ťîşŰÖ¦…ö2;¦m[Űń ĎNR$ĺYňNŰĚţeűëž©›—�ýźoŐé×íĄ[nŘO7\»‡ö,âľśm¦Vĺ¶ Á8çôAOaŔä!lW (C*j”>˘mé�Ŕ¦}űörşő–WP�p»¦hĘŘĐöÂ⢕ x˘Źcžs„yĆ˝[hÄď:ÔłŐ¬ÓŤ×Őéš#Ëô†×^Ď ‹O}îi:ż˛‘˙Ř:é;Cź—g–Á"w�@RSQ $€î¸±±Ę 0p0§éćÉš %ň>S°Dц~˛ý .{ŠŁR/iĆć„”áV~hłŔőď(†ĎápŔ  } ŘN‰ăÔé˘ŕG ÎĘŰB´MŇş'~\ ý#­-îY¦wôĚЋч‹s„ФmŠfÚoě5í\ą•ŤGźĄÎúÜŠ,VEű÷» śşľg(ě<ÝCŢÖ¬í‰çÖíuRđ §VńsŽôż’eQJ)Ą”ň˘•Ýř˘¶z—c®‡];8ŢĎ<ó =HŞé˛U4­ö©SgŇ÷–ľ7¬.s±őQA9đ ývĄ”ňr•+f$¨â®ŠwŕžČ/ŚU­ë;ă‘F‚`Á®@ -C”VJË™µPżg}Q¬c[˵hh+ł€içl*0ţ,˛HîĽdŽ»00ű“$—oÓ*–z“ëš]«*ŚVYŰŠz/˝¦S€`ôĐ(m8BápAÔŤeßĐëjnJ˝öôËggÇĐĹ:2f˝ŕfm/îßîÜâľ‹15l猷}©Č\RX(Hc«ň¬QËţ†Ě\ďo«íEEw7Çϻ㷒펵[™í€vűv`ŠâqŰżU˝/ÇĽŁ‚űCŞ€×ľćµlŃÂy_ݵR�×Ă1�`�‚˛4(»ÂŤ7ŢȆ śŹqŚhx j¶řĚg>ÆG l•Ć#‹sNť:Ĺŕ 21ăşŘŽc�`Pv …ŽC˝P'�4@ź‰ëืĽĺ-tŕŔ‰TňFX\G ·j·†˝6ţĆve­@=q?¸¶¦ ŃöÇńŻpO#řŤ9 Ç‚™Cź•‚(›…’ńÎŃűqJ- ĽŔĺŻ^Ćg^ĘËW4şg3‘~†Ň˙ë˙ú5Îsř]ßőť)óË[Ţňuôo˙íżĄn8Jżń˙‘·ˇŻCˇű±űQ:zôčÔ5Ő¨ ŃČTĄÇ2ăĂţýöo˙6�Ćx×»ŢEo{ŰŰř]ŽőÁźýŮźÓüÁđżőÖ[é§~ę'Ý|sÔÖŚ‹gź}Ž~őW˙Oλý®w}/;m~í×~Óŕ>żökż–Ë»ęŞ#Ľ˙—~é—ů<Ěi`‘xĎ{ŢC×\s5ýĹ_|Ţ˙ţ÷óřĽűîWŃţŕňu!?ýÓ?Mo|ăé{ľç{řď§ź~Ú]ă×čüŔ€•_ţĺ_ćy÷rĎ=÷đŘţ™źůzÍk^ĂuĹśŹřĂ<'}Ë·|‹wľ–ňr”ł›1=»:ŢSĹlÉzĚëą±WűŰşóČ=źWü‰ďÖýů—śSgÓcg&¤Á‘/Ä«ďdŚ·Ý˝w(ŕ#†ax ţ%ě ľ¶ ˘˝·Rń)DLd±–«‘ý(a<IšĎtH>§|ćp‰Ů©)ş µŮ8Őuš:74iý˛]đěxĹş{×8şěľűĚf±ş:tNÔ%¦ŻVäϰ‰|Tt ?+Í\wÂQöQXĺa.É,Fpľ:çpâôµ1ĎNç«°…»·ČµÇőĂóôŠńşvܡşsľąZq@O7Úô…p}qń ęm.oČä "©'„©’Ţ­[&5J*p0U8ĺ ž•ÓÜhFW&3ž!eIT§ąz“şÎq¶âŕ4µć[ 0)źRuÂ"kD`ö}€ő§j3ý¬ÓŹčŮócjT:´ěśócdi1Z]ďr8¸Ń·oŕŻĎz/úÇľ}űy˝YČÖ­ëÖ:}zňř}úާé‹÷>Á€‰2†Ž0‚{’öQ]'îŰ{Ö7VhumĹ9W9­ŘMúýˇ¤ˇđNHT`\u†b{ő&ë ´ŽFËȡ}جS^)´`ű¦^[ŹŐ2±†¶@˝¦Ţż´ý„× `†3US$ŕ]©c}®ęěµ@Ër˘ő·ë}†Ö!+`Ş8Ť´ăs•Ű\YčPe ±×ÓHzč:µśx" 12'UҶU[Ć,ÝĺÂÎéŰËś2dĂő 8×ŰóK4ßZŕ>‡ú+ĐĆ>ÇŔGÖŰíš[›ëć·ësÓ¶Ŕő®=˛DŻĽe?ÝÖ†# b×Ű}'hú:ĆŢ^Äďĺl®éřM¶Ĺăí¤Ď׳ÚĚÚí¸íĐţ‰eP˝Ů:ÓńwčŢňükő*ßI%iŇ­ÜőjŐȵŃúîo]˘ŻÓ+č#ź|’ţöłOR§7ŕý şW­w^Č@–ÉBĹÚĽ4xIeˇ˝—ZÍEçXwó¤›ŔĚÁ´ŕ®Ź´Ű‹p ĘÓľÇm4-A"PFĆY®Ú–�3čńx_ŤF™ýä0Oö +3¨bŔď7ěĂ;§éęŮlÎĄó�—‡{ńďQűĽěóŃűÍŮ8‚,±1¶ÁF±¸¸Ä@čĘpaÝ�˝s„}Ů÷żž_,_ë‘»čvµ§ĆąyĹÚ9myEV=‡á˝Żý 6cp+R±ž¶ďśą§±'µť˘đŃcçç›îřŰ©”RJ)Ą”+OT7¨ża3Ćúď�-ôXy?×S_§ľź%ŐáîúS ‡Ôci[ćŚRJyąÉ°°F95ʨ¨Ű3E"Ę«�]ôëÄŁ4±łá—»ţdę©RT*·«Cńţ‹Ű¶—$÷+1hjVޡ¨Q2ĄX0ÚÜDČ\ŚŔXŠ6‡‚„cLÖ5â¤×ˇŮzůűĄy–“úRźť*âĹÓí5¶[l·ŻPAş±  ˘°ŔŠhĄ`ŰŞž¶˝­ˇ`VďVfJô3ëçs­Ý\»}[$ŠJKµŞÇ##t{ń^g]{–1ŕr ʆaN@Đó>ůä“i.77ˇ´Cŕ4Ĺ6 c”…“źbPăŚ7ß|3_wÝu &€!@Źüă|<Ę, ś€‘Ŕ Ą=Cpś«ČX5´*ňeÁČ�g&ä;ľă;xNA=ňŔ~”‰ůĺ@p�9`qă8ŕ¶µ^×@Ýp/ŘŹúč3‡Á@€C4‡.îÇáď¦Ě¨Ł2‚Ŕˇ+‘<qšrăÇŁN8NÓŹ¨Ń¬”RžŹ fŽ‹.˝÷˝ďc0Ŕ«^őŞ™ÇjÎt;UiÄ& ĄčŁčÓßű˝ßËŚ1ËËKł®Ęź››—źřÄ'9Ą� čëźüä§čWőWč‡~čź2‹ĆńďüÎ︱s€nżývú?ř/ô×ý×ôÝßýÝ rřŔ>@?ýÓ˙#ýŢď˝?­'ęsüř úO˙é7ylçw~»ł-ú˙á×čĎ˙üĎéç~îç0 Ň0Áý}ôŁuuy'ýÄOüČ>ôˇŃűŢ÷>úáţa77]ĺÎůsúő_˙uúń˙qľľ:vŠí¤FSüţ«żú+ú±ű1z÷»ßMżű»żK?˙ó?Oň'ÂmŕĆ#Ź<ÂuÂ˙Ă?üCc”ňň”őţ„.tĐźÔásń’tQNL‹Ť€®qÎăçC2¸Ć퇜8GËs+ę|¤D�^ŔŘŃô€ĹüâÖ"uúDěÜŃt ŤźL˛őHVR‡•¤óąŮLS@Ä|–w„bľ+Źm}°_Úeš®R‘”*??0¨ë)s*€Ť9aX]…c}Ő­úÔl´(Â)‡Ď¬6±`vG Š*Îq`Ád@aŚäH ’pD6gp[ŞN÷Ú3éĐ ˝óttröŽ»4Ó„+w=¬ŇcA›žmíˇăóűh!rÉ:$ÉG'ÓDP‰D«ł#9¬»…“{78‡Ű8R2tNj€+\}Ü^WW>X-Ć=ťÄîjq‚×]TjŽĚíllŇd4qĺ…ôůYÇŁ˛@ôY’EQç«PĐSgb÷đĆĚžů1µę#N“p~eĄÓ}XźŐ8@#đÎ|8…ĆżNKË{sňä9zîä*Ý˙čYzŕ‰ÓÔÄśů�`š ł± ĂÓ:ësU}ĎP˘ł{őŹcŔpŐşŐZdC*Ö‡ëÔg_ÔÓtżčőTŹÖs”aEŹłú˘:)-Ą–«ĺ(ĐCƱ0<ť› řŕç‡t8Q%Miˇë \`üâ>±ćĆşksčxwb>xŽh{eŐP�Ă8g»‰Gě˝ę'm�˘0çřÄu±—ăÄAŞ€pSpűڤý'c×&ÉXúYTKíOúŚ´}‹zźełČÚ/­´ç™Ń� 8ÖhŃZrmÓNu«Ë�Çş pávŠděTÝX;ĽżM·Ţ¸źn˝é]{5úy…ç™Hć îžť„AHvĽ–KšŢLA‘y‰AIj'ş™ĺ`ŢŐy¤u•zz“÷7îÇîY­­öéŻ˙ňŁ®]7é5Ż}Ą[ßÝ$z�,ë$v0ó¬uäĐ2˝ëŰ_ËźGź<AüđŁôŕc§ťmmőH;ú\m?Đgo`¬^műúŕňŇ>ÚłĽźNVVĎńgmmÝőËĹ)€§‡˘ü{SŻĄ:¬˛˘č9–őDß7:^4ř€AG“·kµRőÁHUˇ :î}<‚¸ír©H¤=ÁR|j‰gă°ö* JĐąOs˝c^€ýăőÓ4 ÂD" _ÖîeŰÓö) HË®·58ö§–©s­M»ÄÓ©Ťô\˝–ť›e{Ěs"Ă mň,b÷ü{ü,$Ëč˘mŻĄ”RJ)ĄĽ8e+»0µś† ® ˙_öţ3X’,;Ź{č§ő{ůRkY"KWwµÓŤFĂ@�Ë!{Ar¸Fł]›YŤîWđ×ěŹÝł3†€4˛A�  hYŐ]2KeUVVj­3źˇÜç~çÜă~Ă_ÄË—YYŐUY~˛˘"ž‹«üŢë÷śóÝď$¬W1°ÂżŁ÷†«_(HC¤Jéű'•Trßrą(J›ľ¨ěń$�A j|‰kX`­Š™5˛ů^Ś@WU•;q‚†·aZđ</˛:xţę!I:)žíĹ«IÔ&dí˛¶ľˇčÓÄ{Ô9¬×cŹ‚Ă ©Š†ű{5€8QřĄ€ÉZ§×čŕľT1첸]{ÜťłúîŤßď—tzů&Ź+@D~·Ţ+}ËłĆĎţn¬Š*ťb0q•Ťtt’Ű]ë>çv×ß (c­i¬V·ßą;µ\ö™Űµ…›F§URîe/ÄŰ»w/}ýë_7Ć‘śQŘ@€é.í,Ć)Ś›jtD}1^’€Á†8\ń[_ śXż~˝Ä7Ç‘v}ĂÉxâÄ zçťw8]8@qNNŠ\C ®�p VË:AzŘŐŽp(ă—żüev°Şa×ü€:©E)|u>QP„:Ž•ĹőxB^¸LČSC~ ŽšĘŽ|p˝¦ÔXŞ!Lp\´Xă7Ę ¶}Č›c¬ZcňAţ7.~¸ćźT>z`Ď˙ô?ýĎôo˙íż‹Ö=ßřĆ7h5ݨó{FBŽěŰ·—ľôĄ/tĽż^o0Ĺ‹/ľjźzę)Ú´i#á˝ňôÓOŇŽżËŽM8f�Ě |8•Ţxă f‡řň—żÄăö·űźŃÁ[Ö�WüŢďý>Ź�1úŤÓ ă÷Űßţ6ýÓúOé™g>Á× 9‘ą€Ü'žx‚ľúŐŻšĽúą¬�B|íkżD_ůĘ—ůĚ`Ą8zô(łô´ťÎŁcŇVź˙ü8]ŚÝňOţ ýůź˙9ĎuÇ0ďaľËíqěŘ1Jĺă)uc,_=9éBűÎ ˘ÝŘě!s9PŢx±+Ĺ÷öľŔÝýŽ0ď°¦G‹Ëwé![Ł„ˇ¬ů\‘tFřßÝSłÄOW' śŞźŐu«c)ă…‚¤=ŽĐę‡Bë4q aŢĐô°›iÖ�ĽGÚÖAĎqŰ)×BôČ‹ňÓ˛×kuľm G;Ú Rç9ěŘ%'|_ĎÍ/Κ5Χ°�päsݰN/¬Qt=É ŐYť°gÔ¨rb'©ů»€ˇÁô ăË/ĎÓDu†Ö‡ 4Xź3OÖ”%[ˇëą.:•˘S…š.šă0`1ńł#FhśjľPţga:ČůŇóMáNÁn˙Ć’<ăňó rĽŽ ÷ÍZ˝nźE“ËfŕčĚHßg–Łu­Ä¬E—ćiʬ튥2Ď›ş ‚8Äšę6±ţ"ý ýŰeMP0ŚëLSÇ؍ٮτ\żˇŢ< öšň^_˘ËćłÉ8źGGú8<Â8ůôôŤÇě2ýřůăôÖ©šžš6NŻZÔUoĆóĹÓ˛'Ś o.h0JŁ)�+ϨT,:÷Q>›7N{ăÔD( SľĄĄEľWęćSĚă:jµ^zNÇ“:PÝĐ*$ۡF@ę¶�ČĹ€+mŹ6ĹÖŐ‘eG\ëf×Ö–“ZłĆ÷`ěřv¬áňz˝‚Ýę]]ݬ›(Ł©ĘưKˇ†aĐŮl.Zź(�Cë íˇwűĄS«ĆőhZ}aŠ…˘éÂc>uaŚc„rÓÖ¶ÝEĄ›`ź_¶ĺYą;ă% 0%ä¸>Úp‚÷ç†xN_c�˛0n«Sŕ”&Ď fŕqjúJ±”·�!ŹŮČ6Źië– ´yC% Ďć9ysŮI@'l"† qÝLźž™wC™GQ\=pfiŮ”/Çz¤>{Ď%t´w­ĹVĐ>ÜÚ%:Ý%eX0mĹĎ Ś9ČŽBű~‘ňĂezä±鯿÷úŢwHo~‡>şŹ¶lÜL=Ý˝´X÷éúĄłĚ–€¶˘ę—ieĘٱeÂ|ÖŃÉłWéŻ~x–NťFČĚEZ®Ö˘ńFN˙pí. Â÷W†„P{#Â;5é/h€÷F†×™ůŁF3łÂ®ń!Ŕ¤2÷‡ —Óe”•c|h¶�\Đ€öK ë ˝[mĘvR, ۇ×ňe^v"÷Ü)bKj¶Ř^Ł÷˛m™äé8‹\îܤcËe¤‚ž€ë4|Úúž€ÖZŽ–q±«Űc»M+đ­ŕ’ˇdéšv=ˇ @–)„ĂăP<G«]Uźż»a,ą4VřćY<<±QSÄ©aÄ8Ść;SIĺL±©¤’ĘGLtž×Ť‡x?(đ®3Ş0(fVlVŽÓ[-/Y§ Ŕ\™%3”ľjRIeĄÜ7� uř“łxÂV*L˘•Ě˝¤]4űnč‰PLc)­6¶Ŕ„Eş †s-îRlşFŹd~­%NÔÁ)ŚRQ:/ňđŕĹ×ë=I`ë|Đc+ËĐ* StČř¸Í"ŁfhÁ&:›†­…o©÷íŔ jÔ‚BtëÖ—Wwq'ŰĎ˝‡¨Ä‘Ěo5Y­ Ö˘Ś¬ć�wÓĽ][»ixn[ŢĆŮžěOŃyí÷mX+4t‹K‰ę;T…IĂš¦ŰZźŘ@ŃnxgŠ–µ° ů‰Óˇ–ëÚµe|°ÖgÜ®ď%űK»ü:I§r'ďíÂXMü5�´V«wŽA}`€�u=街F¤Ľc,ŽŹŹóś¦q>a´€’ŹĹŠ=śŹ�(Ýî@ E ĚřVŠ_D°\Y`ŚP čÍPg[Áá˛yóf>ŇěŘ ŹrBwák(ĄW3@ ¤�đeBľ0Râ7ŽŁ.îNA”¨`�-®‚żÔřaĂť ď¶AČ çńAŰ1ý¬ŤťŠc(/ňU§ގ h5pëűéjľ©¤r÷Ňčč0ýĆoü;˙± ęСWé÷~ď÷xŚ}ń‹źo™ă”Ę7“0&k˙„`\uw÷¬š+úńľđúG˙čršçĎ] ?ţă?ˇ?űÓoŃoţćßçô^|áeTLĎÜ2sÇUMéĽ%qddÆ©|öłźćoݵ†đ(űoţćo2#Š 0 ć.�6T0ßŔĺľë0‡AI”żĺľ 6F÷`Î4ĺşÁă4Śśfd_ܲçS¶zbˇ”ˇŢžvŠ@ ř˘YAóßccăQú‰˘áWRąEŤćžÝńXÓ{Ƭ»s� Ü!°"JדTĄ/6…ÄÂ8Řŕľ|/o 8Ń–‹˝fy8ňkětϨrŹŤ* ¶ÇÇű.Ž%NŃŽMvě‘Ö7ŚŔí`×3ľŐÓšPÍ„ŇŢ‘0.Ŕż‡ńéY¦Š�Ô[0r˝°Á±ä•JťŠ3NˇŠÇô2qĚdáTo `Ó&?8&s`ŐŕsR' ŕt!Ô Ę=ÂŚ iööô‡nžC†ĚĎMŻq!śÖěľ”I�ÄĐFĐŕůó4ŽŐ‚)`@*őej„u*-ÍŇ–Ú<őÓ2ĺÁ`śr9SŠ›….:Y¤3ą>š/”ążŔm‰˛ }-J[Ŕ‰ÉŘu#Ú5¬ŞŁÚç]ńňüÄi˘-ëĐ5ęÖ‘dŰVť†ĆąÉP"^űČĽełŃ§{ŮÔ»-šą]fĘn§bŇŹ–ÂnCq¤?;×)qwh'C4p“Z=~fÉ3Ěó˛>›5í8rłÎkĂ‚1.Ιbžřá!şxe¶E/µŠxÇ:Řü8_Ľ?ÜâcĽ± Xâo—i"ëß2-šüáäťž^ŕťâpĘšP@pú7Đ9Qßl¦…m’tRjyU7Tť@ŻÓ2jűąŽRuöiBç¸vŮx’ᾉ„ĆiÝE;ICÖ=ţŰ·Ď2kË-3&ţĆďS8ČçfLź5ŽóÓ'Ę"™blů›ÍŔ©«ô©K-‰ŕ[é”ĺągř“3y¨á8 !RĚÚÂmĺ0z™–Í$‹ łźć|®'~•azđAš>ëç™h§:;Mś"Îl±A…ë čťú‹T«TiŢ´ĂŇň<U닔ϩ\é˘r©H]•ővi°Ż‹Ć†şiăşZ7ÖGăŁĆ!ޞć(îŻE6OAJ^ÜöbC8 aFYÄń7ó#Z_˘Ź¤‰ń>SźĽ€Ńl%°{ŕyäĚ �0!'îÄż2D®+ńšÔľă<uĚËXcčŢUKµŐF/Ç«öŤ×ŹĐ©Óçiă†1Ú¶u öó8ěéďăݜ۶mĄ®_+Ńź˙ů·éŮçž§«×nŇÁS416Á�Ä›y¶ 0QĂľ‡Ěó'6Ův’µß¶MăôßýĂzçŘ$ýřçďŇ™óStËŚY°Z¸Nt]C»¶…¸Ű\v"ťź„Ń7ď 蛪.//ňűó‰„ă+1Ł ‡p í\@Â’ �7´•‚ţu >hW …ϵöů„ UíŻíĂźčó—Ľm}$ vjRŕ,,|ľČk±3 «„«“„ü µŚČSAĐđ­›*ŕŠÇuŔ}›mľÖ¶JäµŘ’µĽîüç͸NĚ $´Ď�Cm ÷ůy¶ľ:7»ŕ´IƲđ›W“C×h"-ćŔ‚ I¤l%®­ ß%3x÷z–J*©¤’Ę"kńI%ŻĹ;_C¤uwăä‡OĽqŮRIĺÎäľb°H:foçÜtťĚú·ű-ʵ?góŃE®Ňä:´ÝÉ,iŕpËęţ˝:ÇŐ¨—(—[»p˙0Š*Ap€ ŚP]šQśWe3)É6[«¬ú¸Sçýť\“_HůůŻřÜ*}˘]yătĽźÖđ ˘ük÷#jX1*% nnyăr2íŇHĘn„ö€—v _»vK^s»cťÚ~µöît­;f“÷t*k»ď$ ăĂ:ŢT´Śx^0Fěß·Źw]ľ|‰Ç˘ ��nČ Ěs�Cl Ç‘€ ÇHKŮ`śA1Z ?0f⣻l”Cw`aüăo¤uáÂOŔ8‚{®0’ŔyŠĽ�x�ç¬Ř˝{wdŔV0iڎĆ!¤ˇĺDŮÁÔ<qNÁ¸é(@Cű=Ú¬¸uҰFşăGwů ŢZ/ü­L(—ěü)ňµ�˘¸ń¦ńQVeÇĐ:é<™J*ďE°& �,/ńń fůáČ�‹ř]@°˘V«Gó»;G¬UúůŘŘ(˙=1>fĆĂ5úŃŹ~L7nŢ çţ‚É˙GôëżńëôÔú'¸Ď#DDRKKËl¨—Ýwd㇠<˛k×NŢ]řÖ[oq‘˝{÷ŘńěEl7a(lşC˝“`ŽĐĐHťž8büh'4ydNËv—e(€ČI‘lY*H ‚ĽŇ@# íŽ^űg)çQWÁŁéĄ{3żcĽ-îykľIc=ď-&꥛U޵śĎ„4Ň“Ť5Ź÷Á˘ vJĎ/‘śŐĄüx˝‰v×8;úÍ1?GGčKŚA?´t3o4á2×ÁůĚZťÇ^B¸.ĹIjTa8Šd—/Î7ů~8ľrć>aa'.Ňk(‚8Ľ2â5a:v„´@^Ť¦ÝµěKc5­ţ–%ëĄ Q§”őĘćËÔťÉQŐ8ĘjUł¦€Ă8ł-w&łÜr•†őxuĘšů#Wť§Ńćő™:UęUšĘzÔȇSˇDďřýtŢ/ŃÍ|er¦Ć!í5ęŇěÇ­ó®[žß‘Âm!%8xdnŁ›ë„u¤×´ő“™ŽŰľ€ôĹ©nđľB|„í:ˇC«›Äˇ#ĐDâ°˝EYĎ0˙˘OŔ©$a$sQGL:˝’z¶ PýHu/ą>vřk¨ qĘÇéť»ćŃéËxŹĚGm ˇ)Tdg9ônc¨K™ä=!l Tđ…ˇLA�XD›<Ľö w\ŰÝŐÇád>Ew•Uˇ`žmŢ8 Á4Ĺi醿𰇦›´¸źh·|3V¸tú. Ď»•­Á¦‰üŞ|Ścśˇ¶‰d�­«<GĎ4fµŇ˛g˛9ęďC8Ă%q$/Íó7ÚÎSŚUż8`‘ź–—W8GŐńšáMţ ][Ŕ^´ůAËí:Ź]'¸¦«őlÂůÚ°,Z'®v] dŠ}ąĚÓČĺŰvđířâ6–i†óčď&„Ęřfśy 馭›×ÓĆu#49ŢGŁĂ]T.d-ř)kW#ł/t’ĐÚ›Tn˝Ą«»Ë‚y”Q!+s–™?Ęĺýä'ĎŃŃŁÇčÁ‡öĐ^ŁO–K``ďvRšyj żÇč4]vÇcÂŔĘf¨Î M´`V˛Úu–iŚ3çŚîşXĹLŔ cÂ$`ź±™ëF†‡čرăôťďţ-mܸ‰öîŢJ;¶o5çŠÔ×ßËkŃ›7§™yë[Ě/ÓÓ3tőĘ5Z\¨ŇC?@““c4<<Ŕ 9łĺłNŮ\Ű„€Íöď^GŰ6ŹĐ»'®ĐËŻźĄŁćűúÍy2ËĎ[F’±ÂenInśrŻsŰ'by´�fł'˛­AÇ…ľ]*cž(Dě.a¨ˇ˙�¨Ť� ňP;&Ɔ¬y}FŚ@\vĎ_±pç]±YĆăBĎé\ŤG[ßó[îuAtíl0ńśĎßř»h�* -đQ–\> U.ŤU·lš¶0IXv$gŽJ2ř‰9UĎű8éY€ćg0ř¶N ŔŔ1Ěq<g,‰˝� \Č…ąLf ¨póO‚#đa ®H%•TRů؉ľżW;˙a”ÔĽťĘý&÷]WPY pˇ a°ŇéęYK¸âš$BYk5Â+ŕâŇý)…¦¤!Š´˘·`ś#=‘ç(¸Pwý¸N]·¬í”Ô_Ä„ęyťY,t÷”?8N …bôBXĹ’¸˛ÚąN׻弓űŢK[¶ŢëÝćüÚň[ ÖYyŚiŽm;f"0‘żâ%ěöm5ŽAd7XkĚůĐE(tăU†-Ćşv@ ÷ţä±äąvŻ&Éë:ýÝ.˙N÷$Ż_Ëąµ–÷)PÔ{ěQúüç?Ëó'`ü‚QĺÇ1°I1;9ůń -vuC462ľ1ž]CŁ�LŔ×�”€t�@@ş0Ö�´s¸^)Í&''i۶mśŇ…q÷˘ś§`dtt”çś°Ŕ¤óꤑĺB>Č[Y5'Žă8kQośÇý0Ć(ČB!öeB˝ŕ¸HB¨“Ţ«¬şĂ¤É;žň;†îÂu(§:t5D:›t>DYÎHĆ©|týý`8}�\Â[ ‘9ł¶K㍟>}Ú|Î12DŻĽňęĎo¸ýFk¬möąóg©P”ť˘gĎťˇ‰uăôÔSOđµ/Ľđ— óĆ÷ÄÄ>|¶oßĆ�+”ç[ßú ú­ßú-^7ˇŚ{öě¦'ź|Šţŕţ€Ă‚ đ…݉ů—I˝˝7� �łvďŢŐ¶¬ČóŃGĄź˙üç´˙>ž·^{í5ź›7ob§Ú  ” $ŚŇ믿ÎsŔZ†' A㥗^2Ćţ |?ę‹ç‘Ęý-^›żđ˙Ţr††»ł4˝TŁ»g'§¨4˝Đ 3×—i´§r÷¦vsă«§ŘY�Á†ÁÂ]rl¬M0řZ«SµVŤ�‹ ć„�ĽŔNúz#r˘1” |^S@)0(ńŮ•‡+/UË>‘áĐĽˇ;퍮UG¸• }|Čdm`đíŽ_b€kh¦Ë·»p9 ź1ÎNvžd¨ °B`Š”Ź×Ęß%»×MúŘUL!ßĎ„˛ër¸GŔQ*VŚC9OµĺĘĚ`}V¦‰¬q|eC*Uç©ŘX˘‘ć•eZ2Žú[…njšuÉÜ�Í9:ź+QŁĐEgÁT„`ó@žŘߨQ;f˝ĽĄű6Ź lrX Ow[Ŕś@R@`ÎĘŘ0,ä8đpÜg—´5$ Ô eĂS˙"ň -€Ăłŕmqže™­ë!ĽCj5�hăőc&“oq8©Ă-ľżŐŮç,Č2SąĚŹëÜZŇP@°ÎĹ‘' ę`çťÇÍFäŚĎç.t[¬ż3™LéĆa¶Ćuň…Ž^ĹţĚŘ’Ąžî>j”ëĚěF ¬˝+ŮĄÎĎĂaęH: Ő©uUCl҆‘ĽFďu˙ÖóęVťÝu ëő¸FťÄ®Î©ŽQmSiCżÜ†¬CHů$ŚYp‹Çí öŠR©‹nŢşB·¦®qä˛EncŚÍ¦ ¤Ŕ |pź˛SÄ@5î¶·ť°˝% ýÖíKîóLîŘ-Ë÷§Đk )+ašÔP\&÷ßö/.4Ř$Ť){–ş+yęí)ŇČ@ uÓP_‰F†şh|¬ŹzşJ”U€µyĹă5xÜz¶=:‰:–ą[ţň/żoÖ+´s×Vł1I欎RąR4kĄ‡éřńSôܳϛgpÓ¬ë®ĐC=@Ý]eî˙ ®żvő’Y‹maŔ˝ÚÁ\IÚ9\űQHÚ§eĽHC‚>˙ěł/Ń»ÇNĐö­h©Ú -›×›k|fű(r´uëf3— ĐóĎżÄ!âľú_…ÔŐ3hĆÎŁ_N›5d…Aą� ‹g~üř síkôŁNŃĆMëxÍ8±nŚuäBˇ‡Ë77?ËíU0ëÂl&×ÂJQ,dé˝FŹÝ<Lď»Loľs‰ŽťşF—®Î0Đ—ěXk~­´ťi˙Ňkő9E ¶ß1cŻ kŚ2â¶ź7sĹôôMn+ŚĚCŇłŠŤ~géÎWuâ»ĎDöy“®ó”˘cI›M+«O‚ĂwěxAëů8ź0bëĐë›ÍĐ9‡žqA)qÓ2× íŤw‡2Jň¦‚€�¶H‚&´|QůÇ\ű‘† NžcđC#ŚÁ>E,[xÇşď eĂÔ±Q1ďĽBľ¸"Tš>ëd;şí.cźRI…(ÝžJ*;ů¨Žů0$g]žÎ]©|´ĺľX¬ćMŠ«¬´ĚťţnQ<h%˘9é¨vclŞQĂ]Ś»;9Dń ťĹýJĄ?©Ľ¸uH^űANPťśÓn;ëNow—8‰®"©×~Žë;i§¤"ą–ëÝ<’ÇÚ=ż»M_  Ččî,íK®Â4ľµ«;€„Ň5sظ"ů‘{V¦Ąý×M·ÓwR™M–ďvżŰŐ§Ýń;=–|~k9˙a5~>üđCôŔýěČ �J>Ś_ř@4ĽĆ*Ŕ j°PŞLe­€R!p^ăŔ)E' <j°‰wŢŮÉăŇ×Î�RŔř2jxä«:~Ź9Âlp´" ´óĄK—ř€¸Ô   Ô†&ĄW`ňŠâA›4P.Ü(ŽëÎŽi¨@ąpźĆCE}P5h©ŃDëŹ:(°C ßh'´)ę«m¤!CĐ–p¸âś\ÚĹŇK%•;ô«ď|ç;ôꫯÖËËUîsżň+_gÇÄ–-[čűß˙ľ1¬˙}ůË_¦2 Ś�,(¸čNý „őŻţkčËĎ<óIŁňź˙óŃżů7˙6C2Ăc`Äżřúö·żCř‡˙™ç ¬ŔŔÝ“Ř}§ë$€˛~őW•~˙÷źË˙÷˙ţߣüŹ˙1}ó›ß¤÷ď~7@pŐIP·Żý—9Ż˙ř˙· ć ´BáüWľňúťßůú_˙×ÍsꤱĚU’k7˛;1}ţ󟣿ú«ż¤ßýÝßĺz őý}·OĄ“Ç"‚XŚödiă`–Ž_»K€…˛Ăţľ<SŁC§čÁM¦eîn˛P é;ŻMqĎ5>=Ú·ľHď§čú ”çpÎ)sŚ2 JO:ď€ ĽÓ›'BâX pB±ď>tÚB|ĎťőgÖ2ą !*śž ¦ŔŢq8yĽ¦eś°Îp„ˇş„(3ŽppYXö4UČÎTqyĚÁŽĄ°Á,pl`­đÄĚ`ůĐgŽ hB�€@¸ăDôŤ¦ŻQĄAżJ=Áő.ĎP¸Đ/@ŹłYł¦Éč|yf)O7(Ç� ĺ]Ö˛˝É»Íeg5śĘ-“ÇMä5 q±ůdrvfÂ94›QHČ0€[HŔÖž9 sVSâH˛# ŚdŮ'ŕC]ëSäH—eqé*:‡‹Ó»UßP‡‘Ćüm4 f>^Š€°ĹbČÇUŹVĐ$ă„űŚuŹAş6wC‹´ujŞŽÓ´� Eëő’.ĎÎ:aŕČĺ˛3GČíÁÎ5 `6_„d Ub¤ş;BQŁRîaçáĽqđÎÍͲó�|”™}VŇŰF2ü€ű;n?oEů\»ţFZ1�?XáôÓ:h¶ę¨žsŹĽ'Ĺţˇů5[6ĽD` _Ă#(FťęŤŞíC5»F 2ś“ĄR‚CŮîTĎdZC§&Ů7<Ź}Ĺn–aE¬C'ëę:ÉUZ.2Ö¦0îđŽw_6ĘXěWb± ľ€Ăŕ¶­”ó4ŘWf�Ĺ@_Ĺ|JÔ×S˘áŠŃ9ş¨»R Ýśă€ě4´'—›„Ő‡ç[ÎĹĄ*MOÍš5IŁ„]+Ëă™Ëb®;y⌄Ř8u†zh/M®źŕ5oűëüü˘9ţ =˙ó—éÚő›ÔŐÝkÖg²‚:ę8éé*Dú\;qí0É>W­…tęô)Ł3őŇ�Âąĺ-(ŠC6yt`˙^Ón zńĺ×čÔ™‹ôĐ{ĚZm«iź1ňL›ÝĽ5G·¦ćirÝzł~•’gÎ]6ĺşŔzŢČČ =ţř\?ä‡q\©t3kĹŘذY»¦źýě%ł>GO<ń(mßľÝ8Ë,*WŻ]Ąz­ÁaQ&×MĐčŘ p,¶ŻTĘzôˇÍ´kÇť8}ŤŢ<rŃ|.Đ•ës+ě†Éţő'«'md+ÂUp¬G,6<&Ba‚©Ő0o.’˛Ă tý٦®Ą–gŃÎąŇJ;Ňpm9:gµłĹ$ÓtmFä\„ňvŻĎOŁŮtć[ [č·äßÎŢ&yČ|…Ŕz˛®Xć9sqqAX-°Uj QÜ’®MRßš÷g¬ě—ÜĆmMˇ űŃž‰Ó´ÍŘ‚÷Ęíí’ľgSaűŤHî|–J*úNK˛mĄ’J*÷Ż| A¶r§’ĘGU>6oÜ$*ŇnQŢÉ®"Ç-EaŘşk&yźë̆¨2ŕ.€›í-±AvGÉBZűî˘]I핉d}ÝďJ:9žqŚQó@ÔÇ%>¨ ŚDz˝îOTVÜ©B±šsĽÓőką¦]šťĘ˝–:¸`ťd>I°„Ű㏿âz=~»r'C‚ÄĆ.jŮÉăRÉęď¸.í@I<¤dŐ“!GôűvĎ»]ků;yn-ý)™×GaQ€˛ö÷÷Ń'?ń4ÝĽy“žťk065ś‘Pü1Nń Žén �Ô(®ăç±»C\Ł»—Ŕˇ4ý䥬ř(¨�eCę¬DŘ]Żsv)sĹÓO?M›6mâţŇG>—/_ŽŚČlpjb'<@ ş{e(BëŤ{eş1ěŕĘĘ€ˇFÝ|Q.Ô×+0őÁyeľĐö„S�Ç42Xข[Đž8¦mŠr%ÇO*©ÜŤlܸ‘ľńŤoDl)x ż‚Iaűö<ݵáżůoţˇ56féŔýl€=wî<Č÷îÝkĆŇ{͸¨00óÉjň_˙×—ç ÉSâĘŹŽŽ1CMĄR¦Ç{ŚËqéŇEŢa ŕĆčđđßłoß^3v»yücL`LîŮł—ă őŇ/˙ň×耴±Ëđüßä:b>ţ¸¤ŤyFYˇ ŽŤM_ţň—$®± „1 Ö‹ôŹţ!ť<y’óĂ<Ł:ň€Ŕˇđßţ·˙SŢË\† 62p@00\hyĐ~*˙ý˙ç6CÝ}ôn3�ĂPĐZc×ä† RĹňc(#ÝÚ7‘ĄO{4·ü^ćxń¬ÁµżPkŇ+'çč“»»čŔd™îF~ňÎ,˝{e™ť‹ŰFó´o]Q ĚÄpďI¨u-©,JOÎďH31n»}K«Źťí�<đ´Áĺň ěćoj6BoÜ;dBó1—2�Â8ć(@žowĆKt8L<€AŔl ž€9‚Őą|9Ţ­Ś{›�`MěŘ'Ř–c'8€ĚŻ©'á "ułžhÖ$´‰qVŚłxĽ9GĂÍE*Ö‘ő€UĂd\5×Ď–űi®ĐM—Ë´P­Óé¬q4+Ř&ÍaQ%đ2ě2 GĎŃ L»ě,m„R_€AŔş‘çą&‡*‡W‘',vŤŹ?Ń6٬;íCŢ;̡RäÚŚq[ŞřP� Ŕ„®‘˝Čń,Lű·®écG·˛]žë�y@gÄĽ)aë$l†ojŐUb}G™Äb˝BuśfKÔü�ŠÁ.c0R€Úťw‡ŰňIó¸„MŃM ®Đµš„© WÄĺ§;· ->ÚO#!4A‹ĂĚ]([â…l™űf6»ÄÎS´…�~K‘łACaR'‹Ç›Ë,Ź‚!t¬öśŰ/âô\´ŮĆě:ţÔ©ëýňĚŘŹ® =©FפëĆ™]ĺ6ˇÜÇXčáq‰ópžˇ¤‰@ÂŞB °hl8şdŇŃí‚A v‡ŢĘÝún}ÝvÖÜ˙�^đ1çj:⑆gĎIsf>ĺsę¦Í“}48ÜCĂýeęď1źţ ővÁ śăqÁ€ߎ-OgcŐ˙CÎKŰSB yâĽ�ĎF±Ó§ĎŇ›‡OĐľ˝[iÓĆ Cć$ Č+ĂŻţťŻ1xâĐ+ŻÓők7čŔ»i·2ÂjÓ@(3Ď>ńÄtkú—bvć3őu÷rXÓŤŹ˛;b5LJRÇÇł…SăçĚŮëôíżú>Ż;wíÚA7­7eÍS.źˇś™g÷íÝÁ †ůĹýä'?ˇ3fNhţš„€4×N®Ąż÷w˙łż  Żš5é™3g8<&úÍöí[LCĽvÓCĄ«L›·lä~5;łH‡żĹsa˝P©Ümľ—©Żż›×rŃż\`mŇÖÓ])Đ{'iËĆ!zhßz:|ô"ză]ľ6ő÷zťSئ’č«.řIű ę¦�¬©_ÇvŹy;eLIHŠZě3 ŠÓ I˝;˙¬´wř- «d’€÷Y·ŚĽl›e,Ł” 2 ýÖđ·ťl<. ŹŠ ŠŇąGěE~Ďú÷śé3KËK<o–ˇĂ'@Z—e$Ş/§ëÉ;Đv'ĽĺYÔ"ťO5äÚŔÁ\6kY0¬ ŹC…µ_]…Rń–vuźU˛|©|ĽEÇ Ö«m,H%•TRůE Ö%Ö/•TîůŘ�,’Ć HŇ)íJ§A®;bóBč^ŻůČĹńâF=nĎAMÎ eŤÍ»­‚*ÂĆGVä)Šc©‹j×`‘4Ü®N÷J\¸{L• Ť ‰Ę Ă>5€At—|RoçČn—çZËÚN:Ąµ–|’i&ű[ňx”“<Ń'včźî=®rŮŞhą  rŽ©ˇoe\ĺ7Y.ý[i9NeŘ™™"ůi9oi>“Ęw˛<ÉrÝîş¶çĺ µ“Ni%ʵ<Ď0\A´Ú®~ؤĎŃĆé$úv� Ś 8gˇ[q M�'0^•˛@°9(Č�‚ăj` Ř±q©»›Ź!Aóá]JĆß(ň`± v=űěłś'@Ę’˛ˇě¸GA0*c§= pꢌ�]ĽýöŰ|®Ç\g(îSęi5NˇL(eEŢŞś˘>¸ů˘m�š@š¨®Áqm7¤‡ö@H|”ĺCÁ ĐP eđp ]¨Žă<ňJ%•÷"�đ|öłź]őšîî.úô§?Ýr   |T~é—ľý>xđaşť<őÔ“«ž‡ó  |Ú ú?Ć=>IÁxŹ ©�…@0-}ë[ßâP_űÚ/ńî°^xžAd““źâkôZW0†:Á§ť ʇ~Ř|Úžn)ŹĘ׾öµč7ć đGeóćÍ”Ę}.Öý¶’ĎyôІm?žˇWĎ5č= űwd·7Ŕůň-©di¬?GÉĽuvţăsרfÖyăCůęĆAVňí*t2»÷âîT•]ťy~żÂ1¶°Đ b©B*đyň^ËbwxĆ8fr™x „=˘Y'/¨Y–Š€‹ŽĄ™§Ł„ÍšúGĐh0�"°z`îľ';eLdŤs@Ž;¤šˇÄ‡2ćgóŇě`˛�ç…ą‡©Úč@gÔřÂz qľ”ęs´yi–złU^Z6“JťşMy—Ľ,ݢ])öŃR¶@5S¸š_ 9Ď|gK ¤¨ĺ—iyižhqž ¦ŚĹ˛€a9< 3 ŇWĘu/ŕP$8Ţ Ěú#¬KŘfC]ňŞ{6Cć0—p YŻ…™�×4qyNŇžĐe0#§%±Wřąř̸ LŇw¸Xž<7Őý4qđŰŢ9ÚGĎ!žÇŕPçČĘr˘L@®×‚k’¶ p—ÝS✯I Őq–`žîľçcŮ@A¬KI›‰n®ÎöXÖŹęîâ´ŹŰWţŽËč�áGH¤S«Őą|„€ÝC-şşşW�#’»Ýcđ…‚śl‘Ôëô^}Nú|ԬתţŁýEÓÓçˇăŰ“­ŕöůâg ´ť�a Ş tѲ ßp¨Ź<čýKÜ÷ °Îެč'ć9Â±ąĽĽ@Ó37ÍüZ4ďÜ.vŞşúµ»ű?éHnuÖÚ~¨”ZŮ=\g«ęĺÚ%d És•¨8<Ç{€+yę/Ó†ń>Ú¸®ŹF+Ôß[¦Ţ˘צŽů¬Ô× -…”żŽÖăٱâŮ÷‹g˙ŮFµögÉU:ţýĹ_|źfç9äŢ=[hËćIÖ˝Tż‡nßŰWˇ]»·rh¸łg/R_ŹďÓęââ2Ź™b)K_űÄ—„ĹĄ�†ăÄ6ëq çĚ·†?iŻ»ÇĚ.!jô7ß˙ť?w™nަ«WoĐäÉqÚşu“ŃáF©`„nÝĽĹý!BNžś¤Z˝A§Nť§›7gX'`âńG áˇţhě@źC¤öŃĄKWčŤ7ŽĐ~đ,íßż“ÓHnqÁ§K/łŢą~Ă:ŁO^Łx€rfţyăőĂfy“¶ďŘLźřÄă44<ŔánŃď�˛ePŽł)…_UvłKow‰C‡lŢ0H훤WźŁť¦éąšÓĎ˝–íSî¦ŐYŃF.0 `8¬1•1ěI!ąěÍhĚ`ú1Ĺ̟ʢ¨ăŔµű¸}Ţ-‡çµnô‰aZźs«ŤĘŹB×rű4¶sŤ–CíašN˛Ďč<éŽE÷ťEä%Ćą„lŞysÉruɆ:]`–eĚ’0ť–ą) [Ţ%Q{°ťVě"ř(ŰĄ–éçsĘ•łÂ°ťçŮy@ęä'Ŕ#I°HŇć˛ŇęńćŠö¦®T>â‚› đ1`Ścl§ÎËTRIĺĂ(˘UŰú»RIĺŁ(÷5Ŕ˘ŐŇŢ™ś\Äş‹ÜNi૞×E~¸Ňi„ív¤´"ĽŐ°)ž$„nŽ"'ť.°ő<î…RĄ­“–WÓ9ú ÎDĄGYˇČŨ±aJť“ú;ŮŢ*Ég†wŁMxÔnďôě;ťK^Ó.­vŔ =ývεCâëąNŕWV‘6¶qŁ3XüÖĽĂÎ`×اĎ&6ZĐB|Čj@‹–z…íŰk5iצkůÝ.ť;ÉŻSŢíďëÝőË÷Wžzú)Ţ‘ … @üÖť˘x†8ŽťŐ�¨ňĂv€cÜPŕ‚đ·”Ů 815MôK€ `čbŁŁĄĘÄ50îą;LŔŘ�c D�eŕřË/żĚŔ‡/~ń‹\f\‡kp ,Ú˙đA}*�‚áâYŕňăĐć"üF™`PÄőČKCŔř†ăG†4Ô¸­ď ”Ě8¦€ ” ¬:Đžh+´ŹĆ WĂŇ�łęŠűp-@nz¸÷ĄĘq*©¬]BëLÝ»w:ô*ý˙Ă˙‡ÇöŔ@?}úÓźˇG9H©¤ň /TOmńé »rta* ks˝ɰÓͧec°řëצ¨bÂß˙Ě ÷®mípĹżú«KtâÚĆđô®>zfWĹFÜx×4­ţXďfů]Č CŞGČ<ď6-óNí˘Ś—60u3Ű�v™ÇîeG,v† ăpy9Şę€0wĘ0Ń”ç3ÎÎ,v”#˝Đ†rŕőmŤA¬—řĚíĎLę$€‡IŽ+řŚ«`ÎŔNđ’ř@ŤĂoxémlÎŃDs™rÍe5ę2Ů^/Uč’ßE' =ä Ô4Ηĺ0CŐŔ”™×®ŕB&O©TÁ8-=ăŕ¬gĐ2ď@®gły>Ćńć Ď7őGčS,ęč›rˇ|<'*EŔ×#t�v7x-ßF‡fÓyžGu®†hçtČýAu0 ľáYźr`A˛›u_śK˘;(­z†ő‹>ŕ…Ą`§Śöh’†@zęHTp0ň+’ęąîÜĄ°‡#Tť`ÉŰěÎĺIśr˘źŠîEöšV‡ž~\Éu’*�AĂĽ)p‚Ëg7t Śrp(´ţqZx~ÜŽ¦ź0€cXW˘ŤPěąÖç9®—°Y,y•K˝+Ź®óV °pĎişNÔ,Ń@Ăz_lŃŕ邡Ř4Ä4y7ą‚e\0€Ý :¦(śoűr( "R§¤oŁeŞ”ş©QîˇĹĄyv"×f YíŞ7¸N]·Ď¸veŃKÖGë¬zűleŁMěđ”čŤ wŃću˝´u㍎ rčŹîrŢ<§ó ľńHPĘL!NiYd„Çô­Y'É2h©~Ţ ‡Ž�¸{™ľóÝźŇoľÍşŽŢoŢĽA۶n6mťł!KC_  ;vlŁłgĎZŰŤOŚ1`l¬Č,pꏎ ńn|±i qđKÜ&)+ž1ô6čjj&i‹ żŚŃË—®ÓÜě˘é!łe,/Ő8íjµA.\§ĄeŁ_™gşiă$ýö?űď¨nSÓłtôŘIf"»rĺ3¦íضÁ´ł�mF'dÓ�žĚ©SEúŮĎŽńsöýÝĽ±ŔŔž˘ąvdd”°O>ů¨ŃaüpÇ /ĽLGß9FS·ćŚ®9A?˛ŹJel((ŇB5 é›—¸/ŁŤ™•1Ó’¨«R =;&hăä=öŕfzţµóô¡ł¬kżsm)ʉąNj÷AżÖ0DqÖ1#˙äÝ&sWÖ<«;ţ«ĺĹhóô\ ‘R‰6#¸ý> jp¤KçK˝Δh,Y 7=7}ť'ulé;ó¤^ŻsŻŽkťłÔ!É´ÚÎÁʶsądćŚr…YS�Nă0Ćsłfîçv(Wş©ů+xuyóLęµjK($< |đaV§LÂTAqXź„ÝąÓ·_Üą¦c2ç¤’ŠŚLdwY·RI%•T> 0›T­eŽşöîŐüyď罩¤ą/î"X%ů»“Łş“S4 [î>É´ĐÎqAÉ´ôzw׊›†‹ŢöHC<xv7P\†âAÖŰE•Y5’B 4•0rť¦×ôđtWSB–r‹AL˦ĆU�Ő™o y"†)L#ę~ë®v·˝ÜvsźIňŘÚĄ5,Ĺji$źăŞ©†ťĂθ״;îžk—ž+­}P ”ľź‰ ”˛Čoéc‚źbP„owáJp„*­aâś8Čń|c`EňŁi¬vÜ­c'Ą˛][tŁk‘µÜ»Ú5팎®HůčC#ZN(ç~ĆŚC_A0Ş\¸pÁ†ę�€˛*�`€ŽÁ°v~�žPŁ •¸FA0"a—<@�0¨ÂŹôq�0VŔऌ 0BŕCşPśŔ×€y@ŚŻ|ĺ+â�yŞĺ÷h^8šćëq?đŔ ň€ńäüůó „Ŕ÷«Żľ±Q ,`¶P0Ž!/ ?âĄQ.ä‡z#¨ ľHy Ťő<×FE×Ŕ €®Ó¶Ó!h+ ©‚cn$iN%•TÚ‹NÍ[ŤĂŕ·űźń¸RĆĄÖSIĺ/ůŰ‹ŽĺÍşű«vÓĹąýŮkƉRłŰťYÝčŢ!ÝŔI>Dü ătĚ0sÁ’1ü˙éˇ)ş8ۤü…1ő‘ŤÔaPY4yţří)ú?ąF'Ż-Ó˛"ű×é_|e”zň6„n™~źÄ]_©Fu,č&ĹB-.ܢĄ…YŽ{^2ŽÄ†Ud'Mť�<7ă`?ϡySć:S;ç›°‚Q}˝&�Ěf~0˝ĐSp<˘sxLĂ_ëěÔ†ăÍ7ގ¦ůh›óo„Ń€Ţdś)AĂ8{ęł´oá*mÍ,Óčň ŐMţ98ó%şé˘wŠC4“뢜Y3ÔL™kĆiŘđŚc2PŘ ÍşŽ>8«IždpV)d–‰€óË”ŤłŻ:Ď;ő——Ť#ŻŇOŮRC.dd „e±B˛–iZ@%ĚÂÁkwŁóQžÂŚe–ptŐ÷T—c‡_(ˇ�Ná0)žĚŁĚÚĆf@BŹęďüm ó€o>ş˘]»¦gp&ë˝nśzߨ�}'ź+›{ęś6śvŘ<==eŽÂ8¦ú(v&×M; ť€čĽşöU˝·ŐÉ;cŘoq°©¨3TűŞ:]šM[ű8Ś\‡“‚–Ť†Ĺ@ ÷0¨l(�#ŕů™ö'¶€ToÎf‹Ţ TŞ5ë-šžš7ăeÁ´GŹiŹ2?ßČ  „F6Đh=´ý]fL|t‡v¬{JČÝY/ú *?á `…겮óóPŰ€ę‘ÂXSŚÖůŔ3UŇa‹ë5ŚŞę˝h é_ŇGŘ9j>pÖOOÝ [7ůywwőĘFŚŽÚŃ–Lˇyj˙Öcăőa(¦‡śqö6lßcn+ä3ÔŰ•ˇÉ±^Ú˛q&F»hý䨩źg>*#|;ôă:ą˙ť|qH¸<€ŕ13Đ—čŮç^ˇý{·Óř¸Ńń¨JµeěĘÇś2ç)_ČS­Úŕ°JźţäĂÔSÉŇK/żM3F·iÖęt˝»`ĘŰCĹRR ÷O] ĚO?ýë41>Ä:QÁ¤U�PĹ‚ĚřYĺ,C…u áF†Ë–ĺ~˛]â~˙Źą;wo¦‡ŢOCCýňĹŽGÔ0cćŞzs‘áe÷ď~‰Ţ>r‚^|ń°)Ë<ĎŃWŻÝ¤EÓfg¦Ť^¸‰}üčc ‡iÓľYÚâOĐŢŰč䉳ô_ţä/čgĎ=OW.]ĄG{ş{ia~™Ž?etŢyóČÓÄŘ8ÍÍĚŃé“g¸_Ď´ÁP± Śr‰–—`;€.vîÜD6®ŁŁGŽŃýŃźštŢeVO|âi^b6‹©ičŇ5np{U*Ý$ŞĚü¬Ď@‹RžvnĄŤëF蓏m§>÷˝řÚi“F- ©‹ç€q ăş-úµnJұ+cÁŹlsʤ#s‰OĘĂsbSĆrÉĚ eóÁ=“Ŕěô,ÍĎĚó‚’©{& odç;ksôř=cçĘfYŚŘw†ť %(ŚlNşH‰"ťÚeÁƻߺyH™’áh]p†¶‡~t=áÚSłžßb+ćů$+× %žŹćś1mqëÖŠĐĘě)�ÔGć!ŢhR,sµ0čµĚW*’—0 č»ÂĄF×ű\FŽVŕµŘZŔvŽ˝+“h*÷…¸ë }§2ŕljĆض†Óľ‘J*©|¨l|�ů*ˇnľVťę^Čťř QŕŠ»ńm}@n˝>N •ű`‘ě¤wâ”íä8mçÖEpŇě.Ž]„qұ®ß.R˝“ÓveůZ•îX_ëĽ3_• ·<î¦č1Ef+Cw¸$©4Ű!ÚqF,č\ŞAeŐ€!KË ÷»íçs‘Řť�0wëpďzŕsm®í”G§rµK{µ<!.ŠÝPčµI0N¬|YE¶ ťhł(¨h»&•ľd~ ¬Đň¸»‰Ä(·’n·];¸ m;�EňÚŐηkłäąµŢ÷^ĺŁörĐçşgĎ((pBĘš� ‚^« řĆ| Ôˇpťö=̆€0Î$Ŕß+úň�Č�!D�ľPł‚`ô„čNśźţô§túôiÎű©§žâ~Tʢk�zpĂphŘäĄ@ 5LŕĘ ňCŮP”éčŃŁ\fm€:P0T`çÚ` \Źűż˛Uhűéî?|p€ZÜŹrx˘áG (ă©S§¸ŤQ&” iáZ{(‹Ňżu9ŐŚSIĺNDAR©¤ňáŹŠĆ őúD™ŤřۇŤŚ}žÁ|ąGéäM˙_¬…ô#3ô“w¦č3{{čsöÓÁ-eę*ŠĂćâÍ:˝x|žţęĐ zçŇ’ń=‡Ě4°o]‘ţżjÖ Ý·î×=—v:•®I ö˛ĺ*]fŇlĎ•ŚSě 8IUăçIŁYe@�KŘIÚ „e G8Śđ\™€CwPĆc¶ €űE 3pZLJqlaëqłnîÉš{Ă ;ßülAam&oŃžÚ4m1ź˘q¨ŐłĆˇiî9žď¦gsct˘<BőBYŔČ·)¬>ÚM\>ăŔ2©&łĄ!iő;©<0K€ĹÂ8İ[ţŘBÎ8As`-0uŻeÍZb–gŻőyŻ„O0ĺË…`â0kşş Ó.q8(ÁŕqÓdAŤw3ŁŤęÍ:/ŘÔÇxĆę‰Y^‹@רóu.#ť†ÂČIÍôĘqÔ’eDzŐ;«KѦ�×C\ýŇ 3ŞÖ–ĹÁťË€Ŕ´×ĚlŤfç¦)śŐűcçX ůďđWýTť[1S¤ßfDÁ =¶čbîĆMĎĄëśť×Ę Ç8ÍĆEůDv0ŚB hß×|T—I†BQ ‚¦…Ýö8633eÖĘÓ¦}Ěł—Ű�@ t@yŇď�ăÇy6µ(˝öznČý" …UÄşJY…h;â8+±Ž…m ^ŻFuU† Ý}/ ‘|Äđ¦ÂĎ ť–™Dę-úi;ýZA*dFäŕŕ0§‹58ץR™z{ú8oĚ űÜŔCÎśäYîśÝŚŇbť÷¦_�¬ĐÄŘP7íŢ6D{·ÓĸY×WŠ”É  ÷‘ŚÖ‹áĄťÎОŁ>=}=b€–ąĄúŹßü˝ńĆazńĄWč‰G÷ŃřÄ(ëDʰ7;·@ŐS\˙ţžnš\7ACôđCűčő7ŽŇŮs×L?¬Ču^¦ÂŚxţĺr…˙.©"Ó†ľŮ śçä1�ŕ™ŢŢnĘ|ęíë⺣Źʶ°°HďĽó.ť>sĘčZďЧ>őIZ79nô¤>s®1âą ü#ăÔgĘzŕÁ]ôŇ‹oСCoÓŤë·Lźö¸=®^›˘«WnĐĂ÷ŃÎ][¨T)ѲyĹ‚é{¦_–K˘ť>u–uJ´ @ŤzŔacúú»čóź˙ýúŻ˙JÄqíÚ-úÉŹź5ů˝JŻżv>÷ůOÓđ6ĚÓŘŘůćť]-kžk˙@/˝ůć›ć·ÇúĆWĆ´ÓŁŹ`™®îaĄ!ač$h €Rú–H©ŕŃö }´é˙đ úҧ÷ĐţésôÝ2ó@–˝˝ý+úą;>Ýq sŤűţT•çÁ|Žű4ßĆá/ÎehpÇ•°š\§Ět†×ĐĐOŐY«a|řĆółÎm !”dň,:€Á[–BŢĹÍhNÔ5€°O8‚pĄ5N׏Ŕ Qza+ŰŚ ÓcŤfŁ˝mÎ;ô?Ü3—™c°ŤęćşY }í’Íhč{Ż}7ąďÍCa:W'Ă2É ZŢ!nůÜçěnîӺꦨlnµ™%•Ź‹¸ď@µŤőů?•TRIĺĂ ţšÝÜŃď…«ĺný5ż(?Ďý>h·~ŃăÉc÷«¬µ†ŢĎykřö:ü­ßůÖŹĆ’Č$>8ëą˙˙řţżŽ¦;9ń6ävż!íţît]ڤŽşnÉ<T’4pí:ťŢŰN‘Đo•Žé:«;‰k¸RQŽ‘íÖ]׸ĺ:ÜÝľ* z”EثҔ¤UŐtİ’mI[ÓIĘZŹ­UVfns~­eI>c=—Ąč·ĆetŻŃöuŰL?zNc»ô­íÚŰEÄkůäZAÄ»†ÍȨ­F$‡©B”ąXÉv7I`…ćÓ©_&Źß8Ń©oŻ–ĆjׯĺÚN÷·›;î4˝â%#Ŕ ‰‰q4(»‚–ŕegĐ\ńޏlÄ.¶ CX e­Đ0ŠaîU5ÎMLLDFäĂ� BÇt'9Ňx†!0J?~śA!Ź>ú(珹Ę!ňA:ÚaĐŐ¬REkG>`ŔÂMŤş›QĂn \(‹ ô€MÉ�8˘€ÜP"Ű·ogĂĄRPkąî… NČGÁ ¸éŕs¸ů •ó<·›Ć†ŕ>Ô ővwľüÜ_RĄT`Ł ŚSy¦“–]•â@đ"ŁĽ;Ö“;ä> ›JÚÍOzČť ›-0ůýrŁ.`ĆéŮÚľďSçH×)ń¶sçvJ%•Tî#aă<ţĐż~‘ţÓ‹Ë4_mňÜŢ%{QجçŲD# d·µ€dÍ{:v:vőŕť&v›÷É'÷ôÓ?ýŇ0 w;ü»xmŔ±‹ÝꮵÝűďŃ?ýöłôűôşŹ»~Íú‡.—ĹĹyŞÎ/ ŕ bŢ•ťa*šÍdgyłĘÎf˛0˘AOhëÁ�3Ϋ&täaćÖZ¸Ě »€á�Ă_�Ä‚ĽÚĚ;{¸:O[› 4.·mÍ\ăÓL¦Hç˝n:\ę§é®AăÍ[�EęV‚@ö÷ÂŚ“őFťçyß8]ŘÁ‹q¸c<‰“ťť%ő=*ŔNůe®gˆoęŤ&‹ó3T]Z&řĄĘ}˝T ‹ :kÇ ~ čeíb’ľÖ¨ÂCŘľç1ëďÄ„9EŰ>©› †Gó8 € íÝčXsÄ î ď,W§¸ę“˘k3ŞHÚA‹ÎQ]ĂÝŚüÝ �>0Sbm™×TaŘĘ©ý§żoج»­ţÚ´;ćťÝĚŮ%ÁĄßWIn&@V]XßÍŃ0ńb¦—Ő±](Žöŕ…ŃŘP˝‹ufŠŮđrůl‹ÎînŚpÇ>#×a‡óóółÚe¸¤··Ź5Rţź°AP&Ěđ8ŠŘ'„Đ$Ýܡ —:–AłÖˇŽ_™ rö\\Đ…V\ŕ‹ŰnÚôZýí>Ç¤Ž–ËĆI°î@ý�kôrą‹ŮU4żýĎA7{„2Ś1Ž …‡ôčî+ŃÎŤĂ´kŰm^×G˝Ý�"y   Ď2<„^’é4ä  ťŕ ä=ćÝwŹŃ–-›ŤĂľOÖý…L4&0ź\¸p‘ţ_˙ň˙Ë;‡‡úhĎ®Í €ţ%¬/âĚE»ŚŤöp Ą˙h?hpżĘpx<s|»›kĽPźŘ lMäšquíę}űŰÍ „ʠѱaž ĽČ¤—áąí§?ý9ýÎ˙ňo8üĆŽŰiÇÎmT®”y.°§ĎĚ_[·m‰tO„»áĐ ËKôęˇĂôłç^3:ÚUË]•nŁO©Ňť§Ť×ŃăŹ=J6nâgtţÜ9ŁÇÝ2i6MľK—.]ä<ńÜ/]ĽaňŢjĘů�ŤO ›ô—˘Ť…BÉÜĐ‘·ßĄßű˝˙Ŕ,!»ví 'źzŚ ¨36ĚÍÍrZ?ü0÷©Ă‡ß¤·ß>F3Óó¦L]ôÉgž¤ývr ?bçÉDćN°‡ÖíxóIĂNá]ef :vň<ýé_˝Bg/ KŃrµ¶˘źđ8‰ÚXúw»P:f’v© µ2ţş¬UÓŢ·¦nńĽŠ¶ÁóĐÍÂĎŤ ľX$�&qŇÓüyN ZŁĚ/™Ě PŹîl­vQ\ s¦J˛íXůĽŁ§é;…çr®ó‡a˛çPo¤=çŔžŐ‹÷lˇHD+Ů*Ć;A |pŻŃůŇÝĐŹýćŠw…ŽCwĚjٵ}u>ËĘ˙ń+›hxĐ”ŻT`@>˛C8Ób/íúťÚ Ţ/ů ěI»-ľ1†ń쇆Ół©¤’Ę/\0Ça5;;ĎkMč$I°Ö8ˆ‡‡čŁ*íćîŰśśôKß«ônç'3ë“§HLSłö»™ř„ö;p>ˇóťüP‡żWűNţ^QşŤÜW I廓ÓŐ˝.i8YË=îo•vNőä‚>©Ř¸ŇnqÓ^íŢ;]Śkű¸ńCëu‰u¬ĆuF¶kWw§‘¦ë~Cp/vnšÉëÔ¨„´]# çE…®h h˙Ü:I§öëtď cX›óÉsÉcÉçć*Dîy^\·)WŰĽ-""Ů®˘ŮŽ Ă-Ł{Oň±đÎřyąĘŻěZ ÚŢď~’őh§`¸Ç;) «ý}§×ąŇîvJű^ŽĂJŔܰ{×NÚż;îN�KŽKśÇżáÔÇ® üÖgFĂđh?ÓŘŻ0>`ě(€ôŔň�Đv!!mTqçaś@:ëÖ­cCŇ€a Ŕ äF°\ěŰ·Ź7ŇÖ°ř÷hY`€D^ř[iSń7JOÁ(ănCóŇţ‡ÝMj\Á÷–-[hÓ¦Mś€�k -äűÜsĎq»Âp‰t5ţ·2v�<ţˇŔ Ô÷*í Î< #˘uб‰vB9ŐŁ ŤTRI%•TîCa {č<Y¦×çčO_­Ň›ę´°\§ĺ†YŁ7­o|­Iç=<Řě@E(¸íAăŠ. ¶Š¬1¨çłuĺ}Ú6R¤/îď§Ďîí¦îŇ˝ˇćĽI:GôX´Cźj¨;…Šyă8čËQuŃ8<槨ŇeÖĺ’€LC…q�U†ńő4Ůq•ĎîPm°Ó¬‘…# ĚâęĚ™˙ůĆIYf¤A]Ëó´˝:C˝ćďî`p5hÖç3%z3?@çňý4_ę7GłT D‘á]ÁËÔ€ăĘ“¶n"/'�ÔÇ8ü¨ =G: \ť“ÉçťéŘÚPµjŔ(SZfľČxPŰęÄÔŔQŕ/LZůr;{ćM{̧XłŘKĺ®2ďJfýΤZxż*!=_ú€oúśX™0#ě%¦uĐÂ@| ÂńT˙ PŔ ¦Ś>6Ľ¬ŐóÔ±/L*ŘÍí:DďůĂ`^ "p˝<g±źÄëňŘ‘§3Ž«s<Ţń,ŔěôF`‡vŁ6Ĺełćť§ů…ľĚYfjČÄ“ ‰¤^ßÎqŻ`X×±ŻkUm/“$u˝b Ś őš©‹oCřÔ˛[ďŐ´ÝťŘ.Ă+˘ĎëŽuŠÖšÂî6kś¦uęéîc`„”)»˘ÎřWO=bŃzŔ *�Š&)$Ś>!@aĹ�@Á�TđsňZwpëx×ÝÝş^Öţ‚k“öWqCYşŕd˘śěÔ4ÝŞ««; ‰8gŚ»÷‡8B9ÍCv¤ó·© úSÁ|ş*Fg*ćib´›ö省ú¨»·‹Á*Ă:)-ăE¨LBÜďCÇ®]y$¬úŤ9ól/\ĽLöçß§ţnzâń‡iýúIęé3Žî®Š}ľŕÉÇ÷Óţăo›ůb™Ŕü0 fŔ k#ĎňÚŐ[ôąĎ (}…DemcűápŻs˘Ďä&QŁ™ŮÖ—~›Nź>KOâqšś§®î•K˝najú·öO�ĺ�Ţźž]¦M'iďŢ­ćž ÓÖfľH 5ĺr/•j%zâ‰Giű¶-ôÜłŻĐˇC‡tbn¤‚Iç*ŤŽ^dđž7Śđ�{ŕó¸i»ĽygĚš2^ż~~ňăźÓ»ÇŽŇÉSÇiÇŽm´yË&Ł öpý††FÍusÜfźüäÓôçţ—4;gĘyţ {÷”Ń˙şhý†u z)•>*d¦„ ůĘWżBŻz^zé5úឣ·Ţ|—>şŹ¶l[ožúJžß_ű*�C… 6#ý­!€8„:Ůłmíř­ tâÔúŇŃWi©Ú`đćßfŁąÂnć>·¤Č,Et.tKw>„ ßcóƤËŘ(`‹n×b ¸L˘ŻJşďî¸lµŤzd‘„ȇµH+H ëżĹfén�Ň>ëE]´Pâ¶AŇÖkďŕăËŐ%Ó/—ăr",‰/ĚĺRŮ_dî# t{čýS·¦MţMÖë»Ŕ¤•ŹCşŚB®Í-¶·ÖŁą;i{“y]@‹ZWmGwc_ŇŽ§ö‚ʉ*•{,nźpÇ?úú�gX{U*ĺä“J*©¤ňA‰ľËnŢĽĹěPą\!bĐk· ű~”÷»nkńk­ĺşµúŰ’˘ë ýíŢ·Ú˝÷Ó3˙X„YM\Tôí® NíNNaw!Ż‹Ţvť&™V|˙EţŃoş}ťV·Lî˘^weÇ ülÇر•®Ć‘d>j8SC»#»]jʬᦕ¬[;pĂíęÝIîŐ NôX»¶IžwżÝßšV”v`㯆ŽńÓQN‰ źA‹NĹeÄX‘®S–h‡”cĽŇó1Т3SEň“l÷úäąvĎén^k×z]2­ŐúŮjőů0*V0~ěر|đ4([Ś `g�x@ť÷jx‘€a›;V`LŔ7�Jó C ú�îhC™ĆĆĆd�Їµ¸u‹Ařơ ”ĺĐü‘'€�1<ńÄ´aÆÔ�ŕň‚ATĂ‚�ś@ Ç8ăň�p‚Ľ@Á='‚ë]ŔŇE9•IíC!ţFÜ|ʉ|Ž;Íi¨łÎ—ČSŰ×ič%äŹ:tˇ`\˛�PĐŇŃ:ˇ]qĺXk_N%•TRIĺŁ(ˇ]ÜËîÖ& t`]žŽ_kĐkç–éäuă›3ÎÝĆZŢv}gˇýG ¬h Đ?cö}Ą,Mäi߆í›,óßěCoIé׉‚ârYÔqB9—á#dX8�.¨5Ö›1kc¨i.K¸‹¬q˛[0!<€ŚQą 0�KŚcĐ8Ś‹µ*•Mş=Ć‘FÁ2ő-ÍŇpŁJ}ć7ÚkÉËó.ôéB…ŢĘ Đ•\7Íbç?»P}Ä laUv«ÇLťË9v’yľ´€° �{ ̇qśáZŔs T „l0×ÔMť2x6ˇô°m | Üi//mJţz†Łš€ż^ Lžw¨–LŰäin~†k ´<3OĄB7r%v´#_)ŻÉ �8Ö&}�2ân6Ä)”ł»\ářcÇNSvV˘?d¬Ł<ë‹ÎŘ „CSĘň˝`ipş l€Čóµ”đÜ'ë+śâęä榺ăH”4°Ţ2—é=p†™,ínÝ.!�Y䍬«ŇcC[Äúę8ű—±J%ď80ő[óÓ5¤®Ď\`DĎë±N7’ín˝Áâů­ÎBŐ•4-7=¬Ł“�]‹j[Ë&b°C>ź5m1G·¦nŘöč¦b!Çŕ™x×l˝­ť@Ëkfg—#Ć/bNó şňÔ ŢEDáC´ţ:ŢĄś!;Óý‰¶aÜobF/ ‘ܱ®ik»ë$a4łŇOŃűň<_,,-p{L™»Ě:|°·ĚNôJ9ÇuîĄ c˝´q˛Ź†ĘĚ^Ái ßqh†6\«ggqŻ•)€7]yńÎĺąŮ:wţ"ĆÇFmź.Ę34ÎmĚ}ýF˙č§ŁGŹŃôĚíÝ»vďŮJ˝F—ÁXŔÎćZµĆ^„˝ČřYÖÇŔÔtSľ Ě `…ˇ‘ˇľ\‘´M…Zp˘h|ăK@ ó‹třŤ#ě`ßłw7­›—Đ M’ ˙ěÜąĂÔi‘ţđ›˙…~—®\ąNűě¦őëÇM?ëłý´ięŁßřŤ_Ą'ž|Ňč”sôÖŰGéÂĄëôĂ?KW®^ ]»¶Óľ˝»Îžoń¤o€ˇ}ł§·›ľňŐĎĐŁŹ —_yÝ´Í MPÄyÓžjź1:âŘŘ0ł�ÍÍĎ2(¤«ŰĽăú·Đ¦ÍčĹ_ˇżřóďŇó??D×®NÓ{đ0?Wçôć];9ąŽľň•ĎKY—éÍ7ÓŃwŹšçv–öěŮIĂ#CĚĐţ20ĐÇý~ß=¦­Çé;ßů>ýěąçY×޶c3x`­›Ą!ó<Á´Düž x^F{#lÚď(Ě<ošßŰ7ŹÓćŤctôřzöĄtňĚ ş~sŽÎĽ¤@e›‘÷=­�$¨^罦©%ÇeÔ#�*0ýú7ćč«řLMÝ2߲i�}V7đř3eR�Ť—eŔz|<˛…a+¨‚^–ÉĂeĹŕň)Pë\˘µOµłÁ* ĘÖ´ 0 gŚ<¦`†k«Pč† :Azh čîHkŢĽk—« tóÖĺs�`uYˇ\KčÓN)w>Kůdnk8ăp% mňÝ ec[Gţľ4í§˛FigßŐuúüŐ«×yľÂGír™Ě¨N%•T>˘k�_±¶RÖg°…)ź«ŰÜ+źÜť–ńýÎűněřďĹö;€ÄZęz;˙Üj÷¸ë“;ąď~Źő*¬“Łtµk!I`@»ކ¤ˇSÚIĄfµ{Vw21¸Ćw±îćí‚(TZşp…răţvĎg2ţŠ6I:˛Ý…ˇµ¬¶”9ů:ť[KÝo—îű5Đ“íŮÎyÚ |ˇÇ §·Őĺ¶żçéNł•@"}6*Éă®2™<+ZÓp pÉtŰŤµNăŻ]űß­ůnže§1´Ú‹ę±č$( §  Öó˘NzB dÁqŻFY�!�TP:L,z`4Ŕb×áÁ.€p˝2A ¬@ 0® mÜŕňW@ŚrihşĘ${đűäÉ“ś7‚ěÚµ‹Ťj,€AďěŮłś6ňŃą `7äŇŵ¸aL�Áýnť”1qőÁâNË0ÚJŤśb$–ŘǨ®Gú�B(đAŮ;Đ`ŕŔ1m+¤‰o€S� Ŕ9ŢůbĘ„ú°ŃyQw="/eÝ@í�l©¤’J*©ÜÚŹőÎŮĄ ü;Fňćs‡ŞZčĹ_ž„ŕpě3ďŐšěloÚ<á|ÄÎSĄ‡–Ľ?xi§Dş ‰04¶šu>0Á8î»+˝´čÍSµľLUó./—°.óy¦ţof(T©Ď8UĘĆ™_2Ž›žĺ9ó÷<ő†U*Ô›t3_`gé˛1řÎŇEŻB ą"Ő̱Ľ_ †gÖ ĺ‹Dh#YzęI5éĂlvűuvć˘ýá(Ó—5ŕ@Lđ9Ô ß€÷=AHżľDĽ·ˇ8mÍu5“&… odü<??8¤ŔČ ŞăSß>Óř˝�vŹĹy KÄ`”ěş”ţM#𸠱 ĺk’uţŔ95ł1€Yű;®p~) 'dg qş8çYż—ĐŹ S„„ąi˛ĂŚěî~ß0(ÚQMĘŔŤMŻ}ç …˘M¸c!vţ đ"Ă˝DH`ŠľŢAłîšç¶žąIĹB™éht¬ ·şO$ő(HLOłS¸şŤ¦í†íP])“`jQ#$�P­ ůŘ@©ůi ŕŃżcHÖŮůěs¨„•XXś3ó@•ffoŇĽyţ0tćy'™´[T۾̴a :NÁP(ôDĎ$nŹŮF<Oľ­ę|khQĎÎO1“źcŁlcĹsquM˝ŢuÄş:®€Y(ZŻČäŰtŔÚ7:Ňm®ŻQWŚŁ´wëł(ŚŮÉŹÇvťš=?vľňLđMĹz'~[ç¶GË�HőZťŢzű]úÁŹ~F=]EvcÝ ýrŢč ŇźÖŻĄ—_>±ů©epp)bNţ€Ęţý{é™O>iśÇKÔ7Đkuś^3©XƉ˘ŐiTô‘q߲ă&v ‡lGú�1üÍß>Ë}ŕÂĄ«´wď.Úşu#Š˘çh!›˛íÚł“ž˙ůKFźš˘ .ÓâÂŐŞ zŕÁý´s×FS¦nzňéG¤fdë¶M´yËQúůĎ_¦#GŽÓ±ăgéÚµôČÁý¦žCÜw�".„ąeč}Ó捴iÓzŁ{]ĺĐ!gÎ] [7¦ÍźfŕĎĺ‹Wč굫´Í¤ß×ßĂ čcÝ]Ý4;7cÚĄdĘłť~ţÜKĚjqöěyă(żntËí޽ӆ))ÓvóÜV,hËÖőtôťăôÚkŻÓOňëvűL»™bi ĚŹ`‰ĽB·nb3Ŕ˘é?%ęčˇË¦Íđ™X7LŹ>ü Ź 0]?śů`8BĘÚ±ŕ ŽIâÁ Ž}»'hëćaZĽôú:qú:ÝZ`�Ś�aČQ-ďN€tĽ¸źÖľ®żô¸Ëš�=ú6lĐeçfgY˙-�d‘ÍqyŇń[Ćť;fhĺŘ2ľőąhÜÚ1ĺ9ó®”#®“Ěő­ˇj[� @¬ń¸Q`EÄücň+Y€^Î2YLŠŚs�ľÂx>qC €PćťŢŢę zMźY26š[ćóO6+xĹ( }ŕ㆑âcŻZíwmć—‘Cęl×pž:8µ|ś%i?Ö÷­nhR»ŹŰBÁ~rüé,÷Źă+•TRůŕDŢ›!ŰěńÁz2épC(~¶îv~ť÷Ë÷w»ôWós…wŕ ]ë}·w-Ąş»\ŤÉő»�ŐŹkŇ} °¸§çí®Ť;=[‘âť]+&»{V‚\e&ŮiŰ-¦[Ó]Űq­Ëí¤“!É=&ĆŞŘé®urC}ŕ[é;Őă¦éI$}oE¸’¤RŤâž:ĺZ­w"ďu]m"tĎ'şú»Ó=Éň­ľPđDl¤jŤŻ™|¦ňwĎâăü+RÚÜÝl0µ¤KWË» ­Ő÷¤ÂžĽ§ťÜé‹amçĄ î•Ľß/â»?>ő©OÓÁ‡b#€0†�<�ĄFĂo0Aŕz�đ,5,��࣠]ᣱ•q/Śx8ć™Z�0b0�€„ow·�śńĆo0Ł�>ř żp?Ędžŕ@;Ă ¦,HuR:aĚ5Čס.Ę ˇL`’�uFą� Ŕ˝¨—Xđ­ç‘ţĆ5(+ňRJOUN‘@#08Ap ň;ľŻ\ąÂéâZ”YË…ëŐXŁeQ㻆QŃ:!M´ł2o¤’J*©¤r?ŠăĄkY¦„w°bńăűŁ{CqpÚS‘ÍÉzÜ®Đ( «ŕ•RH¸ťŢŐE’ëIô0+49G“ë'®(őE>¨ĐŇňŤÓ¸«¸Lą ő„UĘa—ŞqvŤUç©ŕ§ Ŕ›™-ćJt"?H7Ă]őŤěą‚¬«›;VÁÖĐŇ�ˇFŕ|kCŕóÚ a;Äé*!°;>@AřŕY �hS¤Á„đ÷Âu5ĺĎHLxvę4š|8Ăä•ő¦ ŻĂéîiřD —tü¬ä‡öP"N©|X¤°BT]Z¤e8Ó«ËơT6Ď>ˬĽ‹` “>î«[g:;őXדŢö•GF@´ëäYY°• úę„r3›E ,A¨”řćYTë-Ď€�Ýméy13ëDŹőubűŽÓ^śNX#Šc_ęgW–ť ó:ŽceWt¬q9ZĂn4Łö‰ťęŚĂXx-שî”Ô͢ĐA:%ÚÁě‘„�°ýިC˝őŞ–UŻ×ôĺ VÇ~đÎhCôńĄę˘q€ĎŃluŠiý…ćŢ·!X‚–´°VĹł‘z‡‰Ú1»>˘x·Ľ:$Ұk\żu7=b»kxMÚ\Łź¶ą dŃvĐ´¤zҢRĘÓđ`…†‡z¨ż·DĂEěĄń‘.čďM{‰¤z šŻ6fh'p"_0şÚ f¦ł[”­jô’Š™ł0ź˝ńćQşxé=ôŕ^ÚącłŃúhą^‹Ę>4<H<°ŹÁ «Ź•L�ôĆBŠńÂ0ýň/yx?‡oÉX®gÁ- h °Ą}ŇÝ1ŘlÔŤSß´y>ÓŇćĐ ż�zy<ĂăÇOŇĄK—éÚő} HéęŞP­^ă:C§yřŕšX7.ŔtÓŢ׮ޤӧÎŇĚ̬ч¦ŐbddçĆl&Ç,"űöî¦AÓö§OźˇËW®Ń«ŻĄî®<ML,2«Äââ÷c��"�XsúĐćÍĚgŁiĂËtäíctřđQ:w[dÇä­›·LyĆLŰngĆź©[�ř‹>Ľg÷NŁĂŽń|0憋®ĐËsŻr˝GÇŤÎVáóx˝=}´s×6Ńňţý7é•W^c@t7\ö�ä™3ăĎě‰'Łő“ëM{]ĄwŹçÍß:˙]Zż~‚|h/­ß8A] Ş)˛ÍKŔ�Ňźe¬ńč‰Ŕ(ĄbŽÚżž¶oĄc'ŻĐG.Ň;'nĐĹË×"Ç=ŇQF‹uh±˙¸’4‚·ÎU­!7t cśCŹ…> ýş1úóbs–«E*š>�}ßť˙’c—ß›k°ź¸bI/tBCůQu¬¨mB~×"°Ú…u|€ áÜcÇ“pX\wË®ĂQÚ(¶_˘ń‚DXňZA#śfĄÇŚçnłţX'R}ŮŘ2nľ]Šě ®]4i+Ł66M‡1ݵm4,Qh™mÝwc*?qmĆú;ÉŞĄôiôUŚa× Ö^ҵ©¤’Ęť‹gÁöj×V›;d5Vű$ŘóNĄÓ|¶źÓZýR·;Ţéü{M˙nÓ»ÓölçŁ[±nYă}·»×»Ď.÷mNNüN×ŢîűkĹŕŠë¨vďMv¨¤ă»]ZťävŽ})ĺęvQ/1iyŽ!‰čd kÚ†–VVóŮ]Hbp ěuž“whÓö"…ÍîBsŰgEá­19ĽŁň/ÎŃ˝¶ľăQ´ŤV˘‹Ý>\''Óv•Ďv/·Ďµp¸'űµ«&Ă„­Ü Ń)ťvy¶ţć˙S;ą“çş¶±ôţ€+Ö2ŹÜ.ŤµJ§|Ä “Łű÷Ńţ}{x'I.×Ĺ×ĂĐ(R0Ś�|€ß`a€IŤ§ ’Ŕ5Ľřa Çđ Ăž/ ˇˇ8”u€ ÄÔU�†‚Ż�<`úMKpĹ™3gčá‡fć ä©ůă€Ü Ăę€ô‘ 7š?Ŕ 0ü)‹ŇĆőşÓKŃú¸eT ˝_'jôŔßHGcVŁL8ŽkÝP'ZW€'pNŤ'�B -äĹ»blyĐn¨?®Ő2á<BŞ�4ŇĂtż~ć@™p-ĘzRI%•TRąĹ[ő÷Ń˝łđÚ˙čşş3”w˝[Ýxg§ÄEÇqţËłz Z}‰ňĆa;ÚX˘~ŻIýµ9ŞTgČ_ľJ}ĐpŤÇäbˇ›ó%şžâÝú—)G3ąŠ9U˘¦PŮ�¤ŕÉN`‡çp�§�M„gń„ý±ë3Öéý‡u ěŘg��T?žiÎCˇĎ*H�×"DŔ–Y Ëky´»e9hr‰X'ďÇ·qŕ)”° ˇut±SŰęKh®f­Îńě9?�bł˝T5ŽÉ%ă \0Îź|3Ďl~(ž×LÎ:­�(ńŐČ%ú¬°OŘöČkEĽQ ‚č8Ęh§N]Pů+Rí†vm€ÝŁ0ŕě†#XB‹ř2Ăî ˝#ŢŁ»gpNBO6ÄuÚg¬c>Ť‹x čęę7Ż˙řz¬óŔâék¤@eĄČDެ .˝ëLl·FOŘÚt^Ąaآ繺`áöç°�¶ ŮI gśUŇ$/z˘RĘËr¦ČoH˙S¬ X{óNWf§¨°ăWb† qçîŔÖ˛QTĆt ÂĎő }U‡ąďi™8„ŤíY$ĽŽgܵ°°bzŃĺůĂüר›ľf~ĂąŹ<{ş 4ÜS0Ný>覡ˇn¬ĐĐ@…z» H`0ŠuüŞsYËí{ú—<'8iŻJĚa¦|hĂ7ß:Ƭ ĐĂvďŢAă#F/óBzŁăŁ´{ďN:~â$ť;wžŹw÷tŃěÜ;ę1O`Ľŕb°E 1ř{rr„úúş©żŻŹź9łštsě«Ďbß­éÓő†ďMů\<žÓ <§yľ´9Îá١źŇ€†Ť×Ń‘wŽ3‹DÝô›'Ŕ,ąe‘FFiÇöm´nÝ Ĺ<ß;côłóçŻĐ›ôłź˝HW._Ą‹®ÓŽť[iÓćő °_,0M ěćžË¦—.LP>[d‹¬©W¶T4m0Č €JŔę }ýpŇä=2<@۶n ·Ź§ăÇÎŇ•«×x.˝~ő–ѧ.Ó•k7h~nž6nš4mş‰Ű� ·",Űw\g0Äł?ý?Ź]»v]m„ča0Ëu™ť§"@¦‘Á !l‡ž™k—hç®´ďNÖď|Ë 5>>L;MťŹ;NGŢ>JŻ˝ú]şr•|öíßM=˝ŚhŁEŁ/./-ňsť3yěÜąÓĚ‘>‡šrí8Ý•<°žvnˇwOݢĂן¦ÓËć˝–€L†2Ż0‹ŠµÓ1؇çŘÖ aÉ=DI»Ůq(cCC~âYëć Řđ – °­(€-° �ß“÷…†đ]<—¶Ěů�›xv XOm–dű§†ú@�‚PÂU±  RŕßVđ‰�ŤČýB~é{/»™LEq{´ŘN˝•!Iv©T¬Čć–Ş0· -–ĚŔµ h8*ťăŃGtÎ@…°:ąeqm}+lËž×Ö&—ĘÇOÜ÷±ű^Öţę2Őh_q7ŃuH•RI%•Tî\Ľ–P‰Ş§©¸ż×ęG&¸í=·óG­Ő»šokµ{Ľ6ďĺdyÝk’ç“ë ×g¸ZŮ]z7źdľîµIżŁćíôÜ<;éşÉú&ďwŢťÚä~ű`ˇ†·C·žëěŘ^«s4yŹ›fňşvçÖšĎjůs:k»¸íámŃ&ýäµnzŞpDu´ĘZŰ"¸÷еnUţ€d~†áv»g¶Ú[ äkągµkÜoźÚv’€Šv/dzî5®—ĽÖóÂ5Ąq»üŰÉZ^–wz~­/ĵܻZÄK"™Źľ�aýĚg>McŁĂ €S_t�& N(U>0�� ` ›Ç? (Č×�ü`†ÁiPˇt_Č × <=";¬‚ ´J»xNź>M{÷îĺň�Ô�Ă>¸ 0J ž(3îCş�(Ą!ďš©VŁ(“ŇK»!?Pv¤ĄL¸eWŕĘŹë7ňBťđ·†ÁqîRÔp)5K=ŠoÍG ÷(7=Ŕ‚úë°K—.1CeB�¸ˇ`äŹ<‘ŽiXÔëâ}¸�I%•TRIe5y/óţG띪ӞŢf€€ĂŁaÖ›™�ŕŠ*!zkU h¸a‘ő*ÜĂÔ۬!š˝q¬zt««›f2:cś33Ë5şšë§ dś‘p¤«ęp¶Ă‘p�/dňŚ0…8űC¦n7ż3‡ĺŔîzŢńęI¦ggMŔ»ż©.΢¬oś¨Ć‘É!BŕS ¬q›ť'v§“¦©—8»eá­˝H 35¬Í;Ó¤#ÇËb°Ęňng5Š4ćÁ\®@TöŤ}™ŞËpúTy ăĚ.Áő - Á:»ŮAĄtä3Ţe± ­Z'4ír<`G=ŻĂŐÜ`=˝EQ´†a$AqšŐQŚJ~ĽóžâŹ8ďČh—4B%ĂJb�†ĆŻVý(d›¬+‹öÂó˛Q ®ń-řÇ‹w„şL.BóĂGËç˛Ü˛j»E,k#vDăąÔ#FÖpš_ÔB Úi6#ľ›Č8–ńٵ©K•Żm‚ş)HZ×ÄBeý^BÄ�KďOdđî3‰ ÉEý#č;€‰¸aË)eÎe>śĽ<aŁQyp~ĎŚS§Đä²Ł  „ÜX7ÖĂź‘Ał®î.Pw—Yß÷uńwÉ8˙9ąČ�hËÄ…0—RTxžßŇŻtFŐ{Ý)uDŰ}÷$}ű;?¤©›łT1ízăÚMZ·~Ś6oYĎěhk<ŻĹĹe”+%:wţUL٦¦çhŃôIÔ:Îu÷tÓččŃ Š484H]ĺ’8Ę=Ď–ĎŹś±č+ę,^6頝ѷ1_ĺŔvă“e۱Ě3©cČóqhŁ™™)~fwQ«Ő°`Ç'źy’™'Žź8Ĺ!<nŢ2yÔX·™ť™egx.çťl#3ćŕAő÷v3Űô4°PüÍ÷LŻzËä1Ďůvw—ů9/™¶�lܤ?`ňٸq=m۶Í<30,öš:(Ó �{üLën}´ę a<6ŇřÄ(íß·ÓčšçčťwNH¸’óWMż©ÝpÖ´ń"÷˝ ë'(%*•Ť^hŇ4ş$@%Ö›éG?ü ÍÍ.ÓcŹdFĚG`¬@>żôµŻ=nIŘ�â0:ô›oľK/Ľđ ]żvťěßKŰ·md0Ć-@*»÷줡á!.ÇO~üsóž(Ѐ鳳süŢŽ‹<#̇”0<ôčqÚ±ąźŮżŽŢ<z•^yă4]ş:ŤSĽÍšYvśŽáŰŁöˇŚe‹Ă%®CŻEýTŹČaŢŘćççDtű"é$D•:z%u°¨m5šy.ĚDď ž÷Mż¬YÝóTZHća7ě‡kŘçr:�=Çs9v•˘2č<D ÂçxűńŚ˝’ ;Ľë�´(Âű>j/)—+ü|x]aÓŐvĐ÷"Q{g‰űw§÷M*?ąťŇe Öë!.kÓÝć›J*©¤’Ő»ZýT­ěS«I ¦iŠ®ÜUZ}Uí7(»Ěďť2Vó™i’çŰ’k÷X»ůÚýŰ}ź»é$˙Ýňą şŐŘ]`­^Łi¸‘ \pż[żNí›l§d}µěÉvwĎÝr_1X$ÇiˇťÁ[|Đ©Ăëy÷»ÓůŰ»[ů(/`Äpá­©żhĺ Ýd±*ř$!«őťx"¤ČřÔîĹŕÝA[ub®X­ťŽ·9›‘.ź4RdŚ n›ľŢ›|t’Ű)ťîy?äNŇýEö[”óK_ú"=ţřcĆ�Ѱ»Ž–dçżUőËbˇŠż‚"đLaäŕ†3y�N@Č śC8 MĽ€ŕŔy¤´ šD™'Đ>ďĽó+pÍg?űYÎż5śňBy/Ś5�Nŕ~ŤĂŚk ˘ůC´ş»ip@0î€%×âo”ŐeˇĐp$�3ŕ‚&”E˘á:ČRv=B8­iS¤§Ę­F{Ťq‰öÓ<Ń~¸WĂ— ®�YŕŁl"ČuÇ߸GA©¤’J*©¤r?Šř7<ë06ď]ëäî­.ҦĄ¤eęäÇp&4ë󞼞)ŇĄâ ŐŮ!S¤Z!G ĆiTŁ;«™yŞgV®¶@ĺL‰Ľlž ˇq46‘ö˛ ŻaéŃŤĂ$ëU!gś1ua›–9kżĺzYĂKhś—c? â\Î’@X&2^–c – ‚I*<›F3äp �’°Ě$’őeąOqč˛iö·®šuąëś¸Ç•ˇ¬`ś“Uó{nNŔ˛ĚśĺĺůzĐôĆĂ $ HH–|/´şF“¨%ÔcŔ4ěüÖŽaÔn"6čgÇ–9ĎÝجI€9ţTç<ę ´˛Ë^ĂkÄ剝ůęčWIŰĂ5rÁÁ@Öap”ÖęUvĐ %q:‡âTor40|d[Ú^ój¶P¦·d˙‚eǰeŚhăýÖˇ<"ä/mˇëZ7\§¤(`‰Ř`˛’×ç…âč`ÚŽŇ–’éoŘ-ůÔm8•%ŻR.uó5A ŚŤ¨ îő8No°Bßă20»0[ ‡Ň±çđ\0 ¨ăźŰ é†2ö„?ýÂŚ»\†ňćÂľîMŽőŇć 46ÜeśúeYtçswĄ(á‘ü¬ěž'eĄđČSőÎkZ¶Đ‚¸”ö™ĹŔ& IŕŽ3Ś`Ő‰+ơŢŰÓEÎ]2ÎćŞ){•—8DµZçú3€LĆYF†OęĚn±më&*–ň $¨TĘüsZ/¬5č¬kbXť=w–.śżĚ ďѱ!Ę愳´TeF v@łÚč2ÂŔ´Q#`ö…«×®Đµ«Wř9čţ180L;w=cś<¸›C~Ľűî“Ďa¬5™ŐáĆÍ[JLeSîî®nZXZŕ>˙ŔĐţáźđóč˝QfÂJąŔúd—Ń›�~˙$őövS˙@/‡4ÂśłČ$ë- ť–ăž°•˘˛µĚˇJvďŮNgĎ\ CŻľE'Mą1ćĎźżFł3 túô9fŮ´q }I]Ľp‰Ă™ŚŹŤ±>wíÚU* €G¸°s�đž �;Đ{wď¦W_}Ť^>ô&]»~Ëč€ó´eósoerˇÉsžÁZű÷ ?ţŁ?ŁÁ~ÓçMyK462Læ Ĺ’0(Bw;Q`YZŤűîß�ZŘ3I›7ŽĐÁýëčĄ×ĎŇKŻť˘éŮ*E»šśą’çĂ0ŚŘj“}âÎÉ:ÇąÎ~שďÎÓĚaľ9ü€y?ĚÍĎ™ŹnX(šgŢŐîČÝ9/  $±lP fµ\ć53~\§Ŕ°x>ŁŚŔjݲkűa~ń¨Ő!Ň"ŞŮ"WćeżĄÍ¤ĆÝĐÝ „ţĆŔk—A?}ϸ ?kżĺť‘,§›¶ÖÉ}>±ÓRIe…¬ć߀¸;ÉSI%•Tî•$ś_y]'›űT˙–ę’Iq×FI˙“"É˝>é#v×&n¸Â$0MďO–]őC˝×Ő_Űů•’ë9eâ8¤öčŕ"4m¬/týáŢŰηé†,CÚşqż…•­}ýÚµłnÚE~Ę^ŢÎ÷禡íĂú†ń±Ľ_ľĽ_„ÜW�‹vťâ÷X»{ÜsďOWA>Nr;ŕŔ/\ŃIV[”¶SzŰő5÷ZQš[cîµí&¤äwkzŢ Cc’Ú'YV÷ďäË(ymň¸‚,VKłÓßk‘ŐÚ»ť¬¸q§ů”»‹`ĽÂ3‡"ʬ*óxI©Ż@8ô@›) ®1w.��řA_ĽxĂ0 »UpňŇPČŚJŞŔ¤uěŘ1 ˛iÓ&.ëääd”Ę Đ nz ˘Ě06A4ć«:pů"|�ă(;4. ĺB€!CĂ} ś �Á÷",ꍼî`÷˘ p-îÇFB€4pź2iŕ~ÔË]¬éÂy ĐČnܸ‘™4P.]¤ SËú‘Ą’J*©¤’Ęý(=őeʧJom™Ćs4YźĄ¦qlçë¨A—s=t2[¤)€sešĎ—iÎx`–ář5NŃl'E7üć3ă°Îżjž‚ĹăY¦°Q§bá¸ŔBAöĂĽ°©Ń¬±?» Ů…ÚlX§´„'Č #Čô‘a“NmËčŔŽ ‚¶ÁŽĄ:‡ĂŔŤJK˛Ž8Ŕ śĘ5Ł|ű|-‡ęČz¦vM 갻܆‰ IbBŤŕĘB�Qç–€\*q€rĂ©Ú×7,$lFŹ8Ý NP6 бg˘p`§ŔúKśë±Ă ů˛łÖŇž ¸!g hę0RťÁłĚ9 �©·ěDvw߸ŕ­§  Đ:Jţą=Ĺ˝O PqH‹ Ňżđ|ŠĆ‘‹5Ŕpb ÖÝÝËŽ±Đî`†XX0ZŮ+Ô@ĺ‚>’ş“ÖKzŘ’ŽK ´0BH¨Ź¸.1Ĺ*Ůň6”_-=kľ¨[Á†$Ńţ“Ô­”EĎ×+x÷ósÓ¦źÜ2NΚYó÷Ú:gąŹ O:»:¨»kJˇZv.[�Đ„2źvÉŮR6¤űVů‹„\Đ"¨ooOÖŹöŃţ#´n˘‡F*TÄšş Gf> iâ)Męݢ ‡Óŕňj�Ű÷xw˝ÇĆ>„ô@—Ö3ž2¶DeZ)¸vbb”ľţËźŁ;¶ŇˇCŻÓĄK°Ö<«&@b& 0& ÓŻýÚ×Ůď›Ě�.�Ó„ź& ß“ZÍ7z‚�ţdbS^ÍŚĎóç/ŇsĎľL`b9řČ~Ú·»ÉłfÚ@ů¦gćŚCŚ%Kć3ĂĎá9ff�öľfúrÝ”k€ĆÇ„…ŹÁY0Ôš6ęˇńu¦ÝGiűö-tüř9úéO^`†ŔĚgj,}F›5éŐXŇ4鮟1ĎŻ—>őĚS´aĂ:nca>Č3ë� .Ł�\<’PDN¸Ů0ŚęíĆ(˙Ťô'&FŚn6H[¶®§Ă‡ŹÓs?;džĹu¬UÍ»FX€rtăć łűLOߤ˘ąoÝú úíţ[śÇĐđ€i‡—Ďbn„Â>ôq<O?ČŇŁŹ<DS·¦čőĂďĐ@_uUŠ<§„¦˙ÎÎÍŃÂüśÉc–öíÝI_üâgiĎŢ]F—,X–Ž|4÷IČ}Ň­4Ń1jBŢS*]ĺíÜ:J“ă}ôĐŢqúÎßľE‡Ź^m™Ý92[x^ #P ”˘¨Ť5ďNv'Mu(ŕ٢ďă˝ýŔ•Ĺ…e>® -ó†ůŤţ‡ą÷¸ó™ęÜşaÁ}öíîyqčÄs·{źÎOfSŢIđž›GäpA[:ďʼnč\«y¸ŽÎŕoô=ŘhQ0Rľ—wSŘj˙Óy›ź#Ň ZËčîČĄ4śC*m¤ťMŐµť¦�‹TRIĺ^‹»>sĄ“ł>yŻűľÖëtŤ  ňv~§¤>Ň.Ďd>îq7oWGK^çs»ß.°?YߤżË˝^ I¶×Ď—,‹Ú ’şh»{µMÝcŞĎ&CFµ«7$ąy íľš´k§ŐĂT}´äľX¨trđvrš¶s^ßîű=”Žč í}ďĺ|EŃ+8ĘŰ©í\4üíîuÓh§ř­6éµKŻS>r_ç>ßNAvDĆ=ßé·ň;6v´»¶Óďöc°óxíôB^m,Żv~-˛Ú˝·Ë÷!04<účŁtáÂVřa$ÖŚ�<€˘/\0.�€�»ľTáĐÇ7®U& €1Ş–N€ ˝ˇlű°Q�č<Ý…ňxĺ•WčÝwߥ={ö0›„‚;4l‡»óŹw31ťě"9\ŕ®Gąa$pBiŤ5/\PŇ„a÷ázPÔ°áň±# eV¦�'Ô‚ü‘&Îk¨i LHW.?Žá>¤©aL/îÁu�hŕŇE¨ŽkÁ Č@^�ş žřőÁsE{Ó)Ą’J*©¤’Ęý&;g/ŇŻ\~Ť2ĆÁ”7ÎűËĺ:›ë¦“… -ĺá|Ě™7 Y7ph�€2ÔäĄxr™˘ů3ϡB–`Ś0'™:ž¬wĘůć<há§goRąŇCĺ’qîŔGŻqŞ4,ĺyČTóŘ>ďSѤŰđ…͡‰%ć»Ţ¬3đ ëILxç;ywąÇeó>!»řCs}Đ”p~¶ŔyTUŢ­źm6e˙{´ŰÖ'2Ĺ1Ů!şĆqw k¨]{*Ł€kqAĽĆÂZËł žŚY-˛sgzú %ĂőµN­Jó9ë jrČvV!ÔG®`ňĎG ě�š‡ ÄéĺŁ2J:ÎđĽVťih65ô»Ć#5ąçă4kl‹EÓN!$ż× Á÷e—q~1oś ł4eÚ;­8Đ2b­­ëÇdx’äsR :Ř$<Głĺĺ2ŮČ™‰cʡuŐúÁ· ç¶8^u—âę‘RŰi¨RžŤ¤‰ë\Zr'—®ăÝťÚů\ѬgM™Ą…ĹyZZ^4NŔ~łĆď¶,ÔRo·Oj˝ÔP×ň¬•‚„ŘC@M|‡ÂäRČgŮ™^6Î÷É‘^Ú¶i€¶o˘ńá.ę.—ČĎűTĘçy¬h[·*ą“Ůţ@ťtOEs@' čoľ˙7 ¬N•Ë™`92pb÷˝†¨@P$›‹ťłŇţyn‡ ë×ŃŔŔíÝł“×đŻżţ&MOݤQăč߸a#u÷tEěâX—şjń1ÖĚd$ĺó˘ щ“§ą|ĐI2$yĹ•l™>ú0ť?w•žýé‹flĎЉă'éˇűŐ!“™ŁF=`�X¬\·,uUş¨«»H»vo7ו-ĐA�HYô!_íaqS„6ܶmłYĽřâKtsę×gxřş�+Śŕ—ľŢ>Łł Ńżü—˙‚Á$�>äň ńĽiÁ.RŹç_§wŘţcĎ‘GIÚč$cöK6ůüˇˇaÚ»o˝óÎqzîąçéćŤižŻ1Nŕě1ĎlďvŽ ľ E3OämŻčE¸P8}0,/WXR7í‰úŹŚŇĹď] săc&Ď13–¦i ŻÂ`Ź SĚ5Ď<óŹŐl®•ý ĄoF˛rMÜç3-ó¤\ĘŃşńAÓßčícףyÇŐĹiź‰ć0eljí­cĆť/´ ZşéGC|BŔüąŚ$čoĐ·ˇCż…˝�ÜŁ</xn …É:2ěÖc i+sßyQžŔ"É÷‹:ô~¶‰…áŠ÷‡ řÓvL¦©ÇÝůŰí—ÚužF@Ý8śĘ<]żq=˛?twő¬`rí[I'‰Ž‰äNáT>^ŇÉfě‚…Vł+§’J*©ÜKI®Ë]YÍWé®í’× SV®ĺ]I2Gč»Ö]·č;=ą–‚hEśc&.»VH®7:+đ.‡(“—ęđIÝĽ]]•i\¤ÉîýÉz+9ŽubŹPIúÉtíĄĚŞłęZĹm7m;÷Öt(7Ö˛.XŐŐ7“m§e×M¬¨ł†”ż_äľX¸Ň®#¶;ÖN’ÎňN÷ÜnrHĄUDţp+�·›”VS`Úő7÷\»´:ĺµ–<ÝIŇ˝_łäu«ĄŃîš°#P˘=b­˛–{îŐ5kHä¶˙µĚ”čsĹÂáßříÜą3räź?'±WńÄKĆ=Ľ¸�\@9áŕ«„‚đÁËĆ0(ŔůŹżµľ�h�<ŻÖUť˙pü«!` Ľŕ0čďďçĹň:räť8q‚žzę)Úľ};_cîÇâ ÔeÇo�'đ­ $¤ äĄFxĽüQV”KĂg ]€$4Ô @�A  §Oźć<` „qĺG˝`¤DŮń­ě�h Ít˘LHm †] ®(/ţF9q?¸uŔ÷­[·ŽŹ#MÔ ×ź;wN ŮfQ‚2!]´ ^HC?ÓWŹR*©¤’J*©Üo2“ë˘7Ëtľ{fK}fS0‹Ť-uňŤ30Óđ© IÖcg3%�ŚČú9ŢI\Ż/Č:ŚĚßخ żěňÍJ4·pć§©ľ´Čˇ@ŐŹ0ů¬ ăaś;O`ţ2ďéyŢDĎN(0^÷ąě.Ď2#´qíáHô�pČűM9“@ž·ľ›Óuˇh‡“)l.s]3ˇ €#90äLŢ90:0 ¸ ×¤ěę$sâj QBÖ˛¸†N×Óń>*ŕÜĽeś˘SÓU*ş˘µ8‰Bnk°Mä `y(µGŘĹNń:;?á “tkKÔ���Ť„ʸ Ž+b§&ś—î®gw× ľÝz¸a)\'–«G©“˘ě î˝:Črţxn˛óX™$<ŤôőöÓŇň<Í™~v“î®^vśŔeiŕPŔCQĂťÖ‰wU[Đ.vN7š&íFČ ®ĘŘ”pŐZòTÔŁţˇF<¬átÇGó‘˛ŕ:ŠĘ(!ĽČ¨ýFë˘m«}Iśš9™ „ĘĚěMÓO®ŃÂâ´i“¤kÔ0č'“_}F90Zú5L}ëÇ …:Č` Ň0e¬Đ®-Ăć3B[&ű™ˇám0®#G&ú¦łq�łás<ćxNq‡ëÂhk„´ČçMűrĚŇ27ż@ׯMŃwľ÷7¦îyz÷ř)ăßA›6OF¬v‹Ë5ş5=ĂşÖä ¦ĆŚ“˵ä9šóęé-Ó†ŤăôäSŹG%‘r…‰˛®´`Žó†dČÜě=˙łWéŇĺ ôĐCĐO>fK fˇVĽ,·ŐöŇáĂoshŚĄĹe3Žţ®î9nłj5 Ş©ËüÂ<ZĂče[ilbŔÔ§ÂóBľ‰�ĺ�fföQÍÍ-ŃôÔ4ë/qR*Ťţ4JĂŁ#tđ‘čť#ďŇŰoaV’-›7Qa\ňĘRQ°ŚbÄÖťăÁpř§ööŰ·ă¸fúťçQĚ12%çń|íÎqíl&ˇeBp Źjtl„††é‘GöÓoˇW^~ťÎť˝htĹ%şxá*]5şć®][irý:Óďś1¸<@#ŁĂf,t™>\ćy@10ŢĚĚLI8 „2iTmőë×ÓvŇç>ó?CeJtźą�6ôďŐâO++SąLúŤzŁ ĆĘZfźÖ<c¦ × î¶ˇ8'âëuÎiaJ@_÷cpOäě[ĂX¸ó$úB¬@˙‡n=ż0˝×p/tdŘ+0WiyuĚéÖUçSvF4% — ¸ÓűµúŃwŠ;OEŕ‡qGi.€Oß1A4w7[Ęäö?x˘÷ĚEĺRĹŚßnîăş©ă ĐJW…ç¬Mt|`®Ěf˛1e9Ţo‰pU©¤ŇIîÄŹ‘J*©¤ň^¤ťßKż“ÇnçwSç?ŢË‹‹X#„+Ňtż;‰«ë¸@�Wgi§#µ[KµËë<´«łčŕ™,bŞ«Ş&éËÓ5J˛,î >m' ÔčÔÖ.XBĎąĎ'É”ˇewŰÓŐwŰ1M¶ş�]řoî'ąďí:~8˙^´su­’.˛ß›Ü«çÚ.ťv/•N‹ßä±N/­NyvʫݹN/©N�‹ä5·ë{ťÎßMźm×6w*µ‘˘t‘=ô#đ2ĂËéćÍ "@Ř ŰŕÜWÇż†źP$% �đîŃÝ%—/_ćß �1°ŰBŤŕ¸imذŹ#/ ő LČóäÉ“´˙~ ٤k¨ר÷�HĂ% 1 z� ٵUć2á~\‹k”I‚ň ¬x™Ł-puhőŇ—('ÎáeŇPÄ)ňB»˘m?ęŠ<QnݨFVmCE_â:�:pŢ50Áh˘‹*Ý™‚żµ^}VzĘ…űRI%•TRIĺ~•+Ą^:4°‘8aŤÓÁ7Îď†g!pŇÇ`~çŕd5NY8RB„k âťŘVŔ©¦ŠŔ®çÂ<Ó†Í*ď„ć�ĆŃÖ] JÎ82Śó|vnšúú‡(&¦q@†Ě:QE9°ť2LOßÄýŇhRa˛lžMďyf8ÇwhÂŚět®Á9e.�kż˙ů¨0\4ëË ¶ Žh k!ěJ­ńÁe_p)Î5¬Rĺ‹ń%ĂNG ŰĐŞ „x qBZ\š7Î×%’ĐD˵sŚHŃÝŐg‚˛~©[ŁĘÂ�0lXć €�ÔŃĹ�Ňú2‘»űÜ'fŃz ˇšě”Gş¸$ťa.0Á]ă«?ÓVü®aĚ5˘Ĺž Ĺ1+׊Ă2ăÍ!;…sYăčZś3kÍ+fÝ 'É‚B$_´‡ćŻż5_M7Ţ=ÓĚ"oôM”D×JŻ� ¬Yń‘Đ$ńn˘B!óJv ďÄÖ{ôY+řBB´î‰Bm/»Ľ˛Qű0�ˇ^cçrěxôhxh‚YMfçnńÚeĆ:]Ăł¸;›ÜxĹš7×ý¨i×·Ěܡžîm쥽ŰFiűć!ě- S„:z=źě»VŠ ;x=3|‡­;Ýř#Ýž–ęKôýďľ@>´ĆÇ)_`“©gČL•J‰Š*´sç.úŮs/Q˝ÖŕpLí3şŃ83M€Őő°`aŢP«! vG}?)YF[$ŹŞľnűm(3ŘÔ° ť$SČđüS(–xţÂśwňÄ9şrů:ť?w…n\›˘wß=NźůĚ3ÔÓ‹2~™-qş×®OÓ˘yv›¶®§…%㨭ä©ÜU˘˝űw™g8Ęĺ?wîýřG?5úŮzóđQÚĽi }îsOѨi›B-G.¦Č,? `_™ź›7:Â+Ţäţ y÷Ý«ôÉg>Á Źîá M~á3ôĄ/~–2ńóĂŇúK·đíÇ# ÓŞ‰ oľyŘčşr»ŕŢjuŃô§•3˘·iXEí‡ńÜ!…†Ź^ËFÇ,0X úžOO=uĐč§»čĐ+oŇĎ~ö ÍL/0Čbzj†ĆĎ^¤ŕJ�ę-Ě×Í|‰w×™±‚AKc&a:č/Ó¦Íhßţ=ô÷ţŢŻŮĽÝť:ËŘ“ńÚŽÁ˘U�DŇ4"@ĂŁz˝k°f6„R±Ĺř®cRďŐ .`CÇ*će‡I˛čâ:&ťßÂf”îÇ{ŠCbŘ9 LRÚ`;€ţ [Ë íĽ…PJZź¬ť§ÜĐJî<Ěí7yt\śŚíÂk Éä†LŇ6idžä‚<ô[Ź»Lî;LŰEBzLóŐrqzM€7ó480dćĂ:ꏭ`ó€­Á݉ۨĹë� ’ĘÇ[:ő×±w§÷¦’J*©Ü­tM¬6ß´ó™ąçbAĐÖŻµÚýŞź¸l}.``5_[r­ eŃë’>µ$0Á^B°vs™*“uĐő›fňťźś×uŤâ‚cÝőźę®~ćęÉíęâÖSCË»ë?Í×˝^ÓuŰŔ-‹›wĚÄu˙Č}°Pié€áJ$‘ţí~'»ĆŞv°“ł:)éBřĂ-I´Új@…ä‹âvŔdé”vr2n÷‰Ż×IMcÄňQ’¸˘­Š»śO˘ŢäúößíęBÚŐ÷v}˙N®_Mî4źŐϵŻď‡mś˘<02|řaV¸Ďť?OßúÖ·ŘŮŰŰÇçvîŘ7Ŕß0\Ŕá0^ŚPÔ¤€{”ŽJC_ Ť°űŔ SJO8˙Ő¸ŚôŔŢ� ­�lŕ% Ä›oľÉaA`|}đÁą`v�PCŮ)&ŇSÖ ó´L(®ł{p ĘĹęŽ2j ‚:č}J+9LŰ)ß�3 ¬(„w‰|P/´ @0üŕǵ\(łć…ű‘źĆ)Ö…‚îţĂqŢůfň@}5$ ę¬� €Aę°†† ¨i»F±TRI%•TRąś®†�ü„ <łÎmTë h�y<Br`A›1Îóź„0ŽFÎqĽf<A[„pžăý'_3`gYŹ?Ä ěĘ/Ťó<[ źWÂ’Ą �,Ż™@6Tg<@ř;QN”ˇĘN|]bňę`Fđ$‘3yˇlMŢŠP$â0gÇSa‡±îÄGů˛>vĎ YEw†¸ˇlTNĄC­ńúUvłZšwë”…`ç?ďšhĄQ€ ë !ĺňXO őJѬq@ѾȎ5„šóPžlžŰ“˙ů±óžťHś_MqnűhÚz¤Säs%=D Qő .N5VBřڤgŢę4tŤRř­ŕŠ8I«#¬ťńNŤ5IzV5đ4›ˇMS@ jÄ‚“¬d©˙‹Ĺ ď–Đ�Ô%ăěęëZ±s\uE « Ć˛A#¦ŁmFi«CŇłyc}©ë]|Ôń‡u$‡Čć#ýMvT7L»LŁq§l óđŁL®ˇ.?„ܵ-Ą HGę& ™ŮF˛¶<ęďáţő:Ö´ RÖgČýŚŤ¦�‰8ÜM†C}”Š9Ş”ó41ÚG»·ŤĐŽŤ44ŘĹ: —‹Ź÷=ݱŤR ä�,xŃZŘŮ=eő]üËfxvŕ9›ëkő€௿ţ6ýŕoFŻ˝ú6|t7íÜą™z{ş©§·‹YZއłÜ Ď|özéĹWéęµëĚÂ0ukΔ·×č ËvGżÔgaa‰.^ĽLźýĚÔY\ŕ@8Ăđ˙čŹĎ=÷]1út»¬és˝Ą2÷î·&żŚQ»öí—đ˙úwţŔč~x×z˝ţzâ‰'Śž1m>·<qůĘÖ×&×­§/|áóF7ć¶�łEž™JFwŰG[¶l˘źüřYúţ÷@ďĽs„.]:GO?ýmذžë)€óśŃ—J\0< ¤ô§őÖŃđđ÷ŹAVu™oßÚ¤÷ř<7;2HÝ%Šë WąGSÓłtč•Ctřő“¬w˝uř(<ř íŢ»ĂčOf,řM»,/עÍ` řA^µ:$ĐFĐĂ*FçÂÜ Đ úgĄP”ö7×vwWč©§ˇ;¶Đ+‡Ţ wß9Ĺ:ŰĺKWčmsÝî‹pjĐ—qp~ŁŁü]2ź|ÖŹl(ţ„V ě‘‚Řb[ÎJ[‘„› íX­3SC(čÎΑ¬›[Ł·.§Jůf+™ 5DĚ9xÇřÂŞĘsRp…–' ĐH:2Žżatµz-b·Ńv®ÝcĆtcť3Ŕŕ�˝w‘7\Ö“®  ;O /¬Żdő,‹C˛ŚíĘéľÜp xh÷>qY}ôý’ â˛,é;ËMËu¸Ç4=ťźu®č0ý˛+˛SŔî€ç6ý@ÂÔ8íŕ{ČD@ęT>Šr;űkę—H%•T>Lâ‚ úw×!1ÓoYë´{ź»`Sč\ĘfĄŚYzŤ~»�˝×őjZš;ß`;±nvUż„2b­Ö Áz e‡`]čnŘtĹ]ąŔWĎ„źdµyßőAęýşžBy4¤[om74¤ćµ Ú iŔŹŁz®Ţs·ţŔŁ|l�ťZ'ĐD»Óná˝–<ÖRžtaóá“;y&ďuRčĐi×W^ď&’é®<–ĚcµßÉëoWĎ{  Xkúk9çĘíŔ0w“¦^ű~ŤcM/¤O~ňôÔ“Ođ N{0Dś:uŠŤ÷WŻ\˘+—/˛g=@0~â… E/b0<ŕ2Sŕ…ö |«ŔéŻá0đ*\ CňÄ‚@`«P ]äsöěYzţůçiăĆŤôČ#Ź0 ×aA€2�X lˇ7Îó ]|Ŕ¨†riěU qm Ć\Xŕ7îĹ7ŇĆ×+]6^ôČ[™1p?~ëq\‹ü”5÷+řcA€:ŕ:eüŔ9\§Ć,p-ę‡g…ô•ęTC¦ /°n�8㨛–ĺR@ö#¤‡{ńÜćož TRI%•TRą/Ĺꍦ2ZSá˝Hâŕb§;°ě˛ í%Őć’q° ĺ?.đ�`…R»±\eď¨Ý/l˛ĘšuP--ÎÓňŇ<5˛uónďç ą&ëgâ�çmÖ“üÍA€€=ŁYŻIh .›Ď€Ś ;™˛ÔlÔ%„B„X6ĘśőÄ©¦ BX/kërĽ°cÔ=Ô=`ÄB¦AťbSs6Ő1ä[÷-Ś5Ü„!‡”‹ •˝†É™l ”+欑*Ăç±nB3#ś©pž/-˘tÉ“㙬đ€#5d:¸OăęX‡ăÎÇ&3[đcµL!;ĺ#­Ś‡ŐPÖŤŘůçµěvwŢ´ô jÝaŁŽ.¬ŰôÁÜô\C‘¤ĺsř‚0rÖe"f3�OćçgŤă÷:•KÝě¨ĹÇ ŰŇäşK»Ă)(ˇHšÜVčŻpä‡RFęĘáFśť;ę(ňzOA\“lł×Űçđ4¶Ś¦q·rvr±ą^‹Śr.ĐD۰Őh) &z ,HâGÁ‰ 2ŔzUu¬ą±ľ×5-ÂöäM�¦čď«Gi†şirĽ›¶m ‰1ă\kś Âx(Ű—˛‘M°ĂƆ0°N`T„Çy_˝zťT##C”ËËsžy䌳vzfžĚđ¦łçOŇÜâ]»~‹ç= –m%ťY`&řôgź˘W^>dĆŔ‚Ń/¦i`°×†"ô©\)ÝjŔ|$4`!çsX „xqř;ˇńďŞI“wźgbŠ\v‚ĄÁŚĄj˝J'NťŁ·Ţ>JgÎ]ˇ»6ŃcŹ<lÚ­(,!ÜßJ43=cĆfŤCWś;wŢč$˦ÝrÔ¨›g“Ěs0Ďbn‘¦oMÓńwO™gct›3tđ‘ÔŰW6:I7őa3s�|çĄb†ü!şuóýőwDµĺ˝ţú[¦8€0‡ľT*]Ô×ßGë7Śšúo˛ {ík îĘľ!}ĆHÉŔńěYňŠV„ŔđZw÷I q4żúÚQúŰ=O 35GÍp–~úÜKtţâeÚ°qŇčEćxćfćL›4XßZZ´!DňŁźĄ^x•ĆĆGhÇέć{Ă;ń¸-dś„>ť±ŔʬéŘăcĂô•/†ô!úŃ~B§Nźˇ+Fż˝::"@si}ş?ŕ»Ŕ/—©†śP­zĄŁÖť}!ĎüNór-sA4fÍűfnaiK…$*@ż ż;Ip+d^ćĹŘü¶ĺóř1Ĺŕ!OuV¸śy€9bf¤Ąˇ4PV�_jŐF<_™~P*ŠŤ@ť:·7$ď˛î®nę2ó X +OMÝŠÂsş÷…Ô řĐůZ ÷Iç†ű.Iř\gŚ <ŃóúľHڇї‚0tŘ>šZN÷}–ÜŮÚlµLoO· Ŕ%x˙,.Í™yižßÉhS Éš®B úăE©¤’J*©¤ňa×Wr;ż‰ű~‡čűÚ  qÁ’«‰»YAő,¤§€…Ű•[™¨\PĄű>_Ígä†ôťŰ‹Ŕ.Ó`'qęŃzwjCWĎső]Ő ]żO»{“ůC”é˘TowŻC4<&DŰ\Ż˝ß6’~l�+D¶‚´:´*Ôň»Ř"•ÎŇYő~H»<n‡ĚZËuzľ]ż¸—˛Z_ü ň»pDňEy§÷żWąÄ{y~·űďßÜăD™víÚE›6mbP^Şř†A,8C'Â`�,�G˙kŻ˝Ć/EĽĐ` Ä50\ŕ Ç=>HCwŔhŞl �Ŕ ‚^Âş“ €7”Á/X ăpĹ[o˝E[·nĺ° H×!´Ť,pŹÄ Îp(3Ś(j°Â1�PΉ‰ nSÜE€!8‡tř Ěh €GP~ĐŔő§÷ŁśjčQ¶” ÷)…ĆOC; }yń©¬ş @^AÂqSyw‰-<´NšÚWY;P\§ĺUŠg,‚Đş3ĐEצ’J*©¤’Ęý(ę8q×m‘‘%Ŕ.öŚ8ô‚*;e3~Ţ,ŕQ˛Ć“f ` 0ŘykŚ ěÜ–]ž~>Ăá:ü¦Ďďâ°Q Ĺ*� sT*”–_بŚĘdZçkë بűYAt0SS80Ł�>—«Éˇ ŕL‡CŠĆuĘĘní00Ž"“/KaXe&‡ §é3čĂŞ¦ěDâŐ.8�ŮǻěŽC<¤8®{ÄÎ#ˇC„Q!963™ViŰŚł‹×g$ŽáŁŔ\¬ó8Äe×lĆ÷bX·&€Ć@�qů ~‰v6gb#C<ĺ&đ¸ť4F˝»›XŻwťq.-»k4r`zŻKéľbWďŞ×ťÚPŕņ<iÇ€™A´˙ĺsEęďË×;B©Tšˇő[¤Ńh¨¬Fˇe/ÝÜâ ”]çqŹ\6ŰqźŹg·#«C1ă kÖE@)5ëď ťöÎDFH—DŤsÚ¶íŘŃ\Ę}φsĐç­¬ś�EćąÂŃZv–®R†ĆFidxú*4:ĐEc]49Ţg§EŮŹzúÔ ń<Ů9Ďă%\ą‹Kë* Ł 7çey ŔńxęôYúŢ÷ľOCĂcôŔűŤ~ŇÇĚ,ľ'pŞŢŢ~úÔ3ź˘|¶D˙ú_˙.(rY Q|ÎŮŃŽg»aĂ$mٲ™Îť?ËÎÍÍ›7˝§źŠĄ‚Y‹ç­Ń·ĎD@a™•âr›ůăĚŮ‹tţÂEZżn̬ůGTc.Şt•%=ŁJ9zä‘4oĆÚ±wOĐ-Ł·\˝tŤ}ě Ń5*¦ ŽBxŽë×®=n˝‹>TâZż~śJĺ"—,—.^6mY§7ß<BŻĽr.^:OO<qĐče›ŘQŢÓ3d湢Iëë-F?C;€˝ebbÄÔµ›*Łc#¬0KO?ó4ű„oňś§z­I �ě/Ę5°) Í�ÔŔ$śIě.Śź˝ô‰0ĂŇÇ>ýĚAÓfýôüó‡éüů‹ řš››ĄcÇO| Żőpx™ţľn¦íŰvđXÂ:ňEÓú©«§D/ż|Ž?IěˇÝ{¶S˙@Ü‚š„ÔA{aś€ťz]__?­›(ŃŻýúŻĐ /ĽDWŻ\ىuĂ´qÓí ąhśĹóXôÄŁůBűmňŰł@˘0”ą7>oYgŁ93(Ů6Ş6ę-9éśA«MŇiQ«‡¦OŐ[X+ÜgŕΛʀśWÝüôyé˝3…ţÄ‚ZŐÎ/2·Aď…ŢĘaf0§Ââ�ܹε™ŕ^ âęü¸GíčŹ(«‚Üţ”±a«dÄćă€ěÜë|ˇ÷©~î‚Ü{[žĄÓ..@Ă}6IŔDŰçG­NXă–#ź+ĐŕŔ-3“Ň<Ź1ŘŘîaÖ,oűKć•J*ť$őe¤’J*”ÜŤOČ}7ęÚAß«íBóµťçĚŻë‰Ő€ 펹!Ő’!*;ݧâľÓW€č×Đ.xßky`±ź” ÖR’DË~'˘ ¬éVË’ô ˘Ý±fŃM¬íä~{}|‰›T„V·Ü+§űť8űďäÚÜK'űť¦µÖëoθWŽódY-ÝäąäsŻíş€Eňüí@Éáű-kÉç^Ž‘µ¤u/ęťĚƤ'ź|’¶mŰĆ/h0I(ú0|đňRÖüČââĹ‹l ÇK „wŢyÇ›Ž3+@p. ĽôŔ4ŕ† ¤*Ř` »HŚ'Čź3gÎ0“ĹŃŁGě±{÷nľ�¤…ű”€PŔ®ăX4ข pŔ‹í©±žń’Ć5¨ îSđ‚2N(ĘŤóř | śŔq“ Ę6ˇ/}5!/ä«€ ”ScępŔµ8Žo”ĎĎA8¦�üŽ âuNKăn» ä…ç†2hÔ×u(¤ňńYäWő/J%•TRů0Š:j×*ę”Đß±ó܆.č˙›ŽŻ Ŕ2!¬ Y„ăđír6€Ł]véJŞMvŠÁ‰Ę!H(G~¶Čšp€‚%8t©apx·ç|$x¬*×ŮÁËÎ1Ź! Ž`·K(ńęüáLĚćL9<BŔÉŽ«› ”ĹIśńÉś’á"Řż…ehJë$FýDŃ´Ž 8ţ¬‚@áG»DtÝ 1îvIîţŐ¶VzóBˇČ` Ť±ÄůâXѬ]ÄúŁNM[fu”‡=¨ów(+‚<Śe˦ 7~k\uáo7>­ö'5é˝n=ő>×ńĄ÷@ر…şzÎî㦠§‘łůf¬ă< ÉFXO*ĺnă/ĐŇ2BçMłc]܇këĚlŇŕp)`5@˝„é"/ŕ_Ř"�PęĚ,#ĉ€)" I(aeřz­»·ą?ŇJ˝Ňµih»)Ĺínč÷[ž°eúе§çé“ćç9:ÔC#˝4Ě€Š ÷̱^îcö 8Ő›ˇ„í@ßÎ`|gěxtl/`]?{°bIŕ1ę•r…rXsg$Í:Ć0ď"ËSÝŚ“3gĎÓ±çé˛qďŰ·‹&'Ç©ĚôµĆ0ą\§Ĺů.Çöm[yť˝lú4vČĂa^*­.áSXúzŚ3łźyô�38ČĽC¶Ś^ÔoĹ˝ž1}ąÁŚ9pŔ»şŰ˘Éă§?{‰Žź8E“ăC´gĎnę*Iމuë¨Ča+|fěٲuF^;ôş)«čd[¶lá>çęÜÜ-:súśŃé®r™''×ŃŽŰiĐ<2}×Ďľ›ËRˇ°—ő98]řźđ}5¦Ţ\ľÉŔ´éé)Ó©·Ż›>˙ĹOrČŹM›6ý¬KúnP4Ë B;s?6÷ˇob>k~ zŢĚĚl´C :ŤęfĚę‚ţcY˘>ĘÁQ¬ţŢb[Ăšn3Ďjdt‚.\¸h>—ĽÄă8ôŤľ7Ĺ;úsąŤ¦Ü¦äČÎíM{ëÖŤŃŻüĘEC#ô˝ďţ€ÎžąHK‹5Úµg›€$ĚĽ«;•2ąTŞČřôÔŐ]¤ĎáÓ89:d‘ FPTVťŹ,FDG$ĹCGçGźDĎcŢÎSMžŰë-ě21®}ȤíĄŐn aRÜ]‚nÜlbé|/óxÓ)«oŘĐ;ř]7úlÝ?4§eŇ)K”ËçěĆ Ďď.ČŔ÷Z†ÜąÚĂ5šVs%tŕžž^ΡCP�m ‹f.Č棝 Ú¦íÖ ÜÓăn[şĚ.ϵ-µÎ« hi ˘uPЇ{ź[¦$ିm+ۦ›& 2¬sM ,™~=µz•Ásó3ö T¬WR{A*©¤’J**éäÓZë=®Î§€ÉN˘ďce^€NŻ>=·Ú˝ ĺŃđ\*ş®X­şYRő„·ŔÚIT÷†`]íćÝ)ßx-*k>ÔAĂ hůuťą–ü‘†úE4ďvyިľ© Ú˝Ýý®>?­[>ľ� +íśÖî÷‡]>¨rľ—<î倉w·Č3 ďLs'Ďeµöé”Îű1 uJĽ—ű;ťż›4ßËą$š.YŻ÷Öśad„ą—˘©ĺĚKů™gžˇÇśó€QlŮ8đ˛‚C/i€�‚ĐÝ"Ł /t„ę�Ŕ@ô`}ÉăĹ©Tż�>��ˇF'¤§ĄłčBŤµ0V"D vB=ôĐCôôÓOóËT‚D =Hůá%‹űe‡TžĎˇ ČOĂw N‹)5†á^�Iđ /Ą¨E�`¨q^çse¸ŕÝ@& �B?ň‚(¨D)š‘'ŔhW´€¸WîÎĄ{Ćâ ă~Ei"]Ô@ ,n´nh]đ©iâľááan#Ą[Ť,•TRI%•T>ęâĆs÷V8důĎÁnÍLÎ:€šěÜĚ‚BöŮ[×((Ȱs $ ph‡pB4Mú`š a˛0fvľfĘ]Ô¨a6Ś ËäWz‰“G|ČŽpa °.»EÁá‰#^Ă…đ`E Îy8I8Î}ŔĄËpr Á Đ$RŘ­Ęć„A=PŘzy ‡›ÇYY‡ąĚ±c]×X-ÎÇ(¤ë _ŕ0Ddăä*2›G†phb—{>_äu©°€0$^@3đ$_pÝCDZ%>U$XšW÷ŁeW‡“®Ű“»~‰Ú­ĺcŕ€Ww'K_j "KDóJ–i"|´ŇĆK›jß”!ž×E3¦Mf°ľŐh  ńrEvxózÁ.ą–2 ›‡qĆYg[¨hčűד SâĐqbp“ăaŃâ…ČFB9¸ôµę�TǦ:&“ÂO1şŁlĺbކú+Ţcl¨Ë¬c+4>ŇĂżűű{©—ţ"ygb@ŤMĎŹ|ŔÎ{_¸L?2ŔČ÷bm^Ă÷˝yřť9w™¶lZÇ ´)ĘŤ58 "Ŕš÷Üs‡Śs±aűą€ X·0ů5Ě3ZX\˘]»¶ÓđČ� öÓčŘł,TJeÖo8Ôaą   ?ŚŘX,}Ö@ú®iŇ3§ĎĐäÄ:~ÂŇ"}„4ľ!íÝ˝Ť^{í :tő]ą>E»wlˇm[Öł®U`§´„ „ţ43=Ç`Ź˝{÷ŇÖm›ĚgłiŰóA(Łevě_˝zŽy‡Nź>ÍĚ›6®ŁŢË ˇśyŢąl‘ŞĽ»}™ÖŻź¤ń‰1:yâ4MMMý˘Î�©óç/Đ5“ÎÜÜĽ)c–¶ďŘL<°Ď´c/Ŕć�ş „(ŔÜ€eę5”Ôͤ…ňß4ĺž7úVą,a1Źŕ7Ř9*•2?g6°†A‹’9µp‚+ꀆ~U0úĐvÓf›6Orý1×ëMşqă?vĘôŹĂtěÝ“¬OmßľÉčŻ#üĚ�´@Řąs;˝üŇkôöŰGčřńÓÔÝÓE~&ä~‰ç = ,`®€nĆóŞ —Áa¦"“9ŘĄŚ+AMa¨ă@ę¤óđ‚Řůîî¤Ô9FÉ[\ÇĽÓ*N¶Žu-‹k/µËŐÍ.Ô[ŢĄŞŻ{á{1ŕ…ôýQŹ ôŞç꼡:.ľ”&éŰńîÇ1ŇńQ�‚ ępçw>Ň2rű�he-cI^vBšyŔu€ÁA7p˝lh~.#– î`pŹďÖ~ç–ÁľĂNáy1Űę‡ů.P Ž C9 ĽĎÔecŇcĚĆĺ°qý9 W ‰úăFł„Ů˝ÎaQ°é#¦›AşK%•¤t˛%ÝOέTRIĺţv>Y ÝI\]P˙ľÝ=î˝v÷Żv}RŔŻ`ŐÂ`´KĂehlÇĆŘ)Owťç~:ů“zu˛ü·„h®Né毙Űçź|ľ÷|¬I@…ű»ť¬ľXÍ~§ťćNďą;ćíÄóÜďöĂ˝××ɰw§éÝ �ăýzľÉ6ëôw;@ÂjERŕKŇřp·€Ťv˛ÚXMľ,nWĎ÷&b L¦˙^ž™tÄ8�Đî�0ÓÁŇďŔAč 8ţˇ Ś^pć«Ŕč  Ů ŇĂE2âŚ`€L8®Ś0`�X�f \«a9\€p 'Ožd6 °k L� Ŕh…Ź29@7Ŕ ’� ‡+p Ž)“ňWŞb5đ nDÁ¨ ňAş¨#®A}sLO;Ŕ×!m°Bŕ¸2FhŘ´+>eÍ@ş¸^cxăYęqHŕ2S(#‡‚JĐ–şůˇz/Ú 5®)sʢuBůtˇ )ĺg**xJCƤ’J*n“ďNĹ5‚´¬ßxMŻx–wĚr8ě"őěz‰ž0D°CZ€ ±qÄc�DČÎŹ?ćÍ ę fą`Ă@Ćî6ĺĄę"-ĚO‡d7e}ă¸Ěů|ŹqÉGŽ4„�ŔJ-°Śp®cp­ˇŽ¨,;>Ă&ČŽBśő;Hŕ< ŤsŠăÖ�� śÚÍ:…ˇî‚ŤÁ&püf44‰YËš[śIq[Ş#+iXIRĄ'×éXĎbÉ!k­ ,Ŕ^!aá$¤YľQ”c(_(:PďC2ľ°i4ŚÚŐlČlh䦠R/l¶ě¬Öňę:OË;*[wxë}î.b=§†-=¦iŠłSĐ^�2hýŁđž˛Ddíqńrx8J9m´M™€`˛ŔúŻ»+oĂÄe"p ßľ Ř™´‚Ô)Ž:k 4ý�Žóä3‹čď=ß:„ăç‹ÝăASž#ł¬8;ŕ;=󤳳PĚÓXŤ wŃĆń>Z7ŇĂa?ú̸»@ůR.~†ŽSRúÉXMgA!ľíÓI=?DeNÜĽ5EńWkăďPˇÔE/]ŁËWŻŃŢ=»(_Č[ý�árf84ĹÖ­[ččŃÓFŻ@ÄfTh4kÖéotťržFFiÝş .ßŕPżYkMZ9gů^Ě"őĐňCç x9Ćú ň}ń…—é­ĂGh˙ţ=¬÷”ĘyNkţAîŁ3íض…>´‡ţ·żř>÷<›Ţî’q~×Lg¤tóĆMŞ_5ő@ý™O=Mý]ĽK^ň2T6ĺ»ĆŕP7­;4Fß˙ŢŹLţďҵ«×t˛~ý;ňů2SĐĐQ>˙ąOÓ>˙G˛nr6�*9zä8ýä'?§›7oŃ•+×Mţ·h×®­Ü.ČsŃŚsĚQŇ4‹Mô<ŻB?A]KĄĽŃ}ĆX7Ěç3<î”ŕÉóÇ?7“-.€Qp™4đLTźVÜđě2ňťwĎqřŽ˝{·ĐĆŤ‰Rdđ śůÝ=eéĄ 'Yţć7˙Ä”˙¦qş?Bî§�.fü-,Ďs»vmăöE{°ÚS˘b^ÂXpŮ0łó‹”b •;&b˝>îa¨sE&:ŻŔ*°é§fĂĂ„vü’k'ăą^ç/·MŻ=H@ć[a™Ń{,9}îzó˘iÇK-¬E-iÂÎĂóůѰ»-căx3± KąT±ĎÖg•ŞôŰ}o'A}Zź$cŽăŁ{墖ú) GDzŘ–yÎe¦JóŚÁÖR1ç0pť¶Ň)°ÂDŕĐÇžă‘<ďxî¤ŔŕŮŢÝ漓‚ćĘů5fňZ(Dq_łI[¦ŞÇĎfiyß'Ě”dŇŐݱún`,Ľ&•TRI%•T>héäąťŹÄŐQ’ľ×Vp|k^Ę„­ë…; ±­vyěńnWOMć«?D7pv ‰‘MCş–ř7|®žĄâ®t-§÷k8ęŢ)Š»ţPQ’‚EĂžŻX%ÖŞš–˛vhţYSőúdY’őş_äc °p••ÎĆî®h¨¸“|ŢoE*«;Üß‹ÜpÓéŘížáť‚,’r/ű‡"ţ“ů% îjXX5Ý0ěp?­éľ÷ëüť^›Ö$ďqŰá^ôAUńRüú׿Î4±Řťjü†ń €ĽŔËlTĂbŕ7B€ŕņcxYă~ĽôŐĐë&''™­BA� ŕ°"�ZŔHP ¤ C"ň �áFNś8A;věŕ HGŮÔŔta Á=ccbSf ‹Ĺę‚ëQvüŤsX(ťĘŕ*(ÚuŔ1€!8ż‘Ę ŕ„î\D~(Ú�Ý‘t‘ҕخůh€E€#¨ň‚Nc—á:eĚ@ťĐ>(Ö ´%ʦĄEóŇâůóç9/”uCŮPä« ď§…G*©¤’J*©$ĹuŔ¸s,±�@€# €f€…1@Ţópڧą'áŘ×ďÉÚVBs…¶§:%Ŕ8Pĺđ"ał�lQ4Ý Ţ×ó3fÝ0KůLBŻD˛ďY�žîd†ł„ă™"]‰˙ ť0`Ge=uÔ;ç\ňVÁb2Ą=9sÎ|ňƉaV‰÷©ÓF–ďšwŤ$ęruZwÝŕîviĚcŠNaçp …�öU,›…¬§ŕäÁZ&ĂŔâ]ĽÜŽ`¦¨I+U‡Ł9^� ĎkPčsw™\`„»’ŚqŻŽ´¤Ň]«»iŞXT1SvH ¸¤ÉýIŇGVÔ^~Č;űóEc8ĘĺeG3>Ŕđ±0ÇNżpLe  y[‡ć ď4¶ŕ}ÂŽaĄ¦źĂń/eźżkđ l處ş§€3ܱäĺ4=]Ób<9R¦­ÍzxĆG»ĚóÎPOĄŔŕ„"@ż ŻÂůzîl­“ŘL8”BŐ#ŻE‡ [÷ZkÄńb1G7§f©\µˇqę�aç9”ŠÁŽl+p]·oßhôŚ~Ş›g×cśč““µm—©Bm  „*4¤Gčzř=PLOMÓ€Ńy,ť“Ľr9i÷|.4:ŇY:~ü3) <6­Ł={vQ& Ý d¶Fm‘×ňׯ3m:BSF‡[XXägŚÝ]ÝĆYZĄ[7Ż3ŕüâĹ+´lî{íő7hçÎÍ N@ÚĆĚ+ —BŽúúşĚą­ôßúMÝšĺđ$'Ośáđ :«‡\&Ě5�lŰľ…ďÉdĄ˙Ł~›6MŇĐ<Fč‡?xÖčrGŤľ˛Ŕe8p`/xëVoÂÓ`ˇŔ®† €5Đ�Ná±ÄÔ# ŕŻP¨Ix3zĐŇü-/-[ç}Í­m8 '¬ úÄsĎżF˙ĺżüoćxu«‹F?Úłwí?°Ë›+6tŹG óËľdçî-ĚqúÔYf,éëGxš<Ź_ß8Î{{»čw›4¶30gll” Ĺ,3E!vÂÂł›v´{j_•ż}k,!µfcs˝Q‹ Ôî‡Ç7‡•réŚD’üi%°Đă×jOqçuü\ŞútůĘe:zâ&ť=‹ćŞtíƬ重–tĽ;řÁH4ż°±@*8‚Ů)̸÷(Ž7îÎSaŰH=/Ŕ!ĚŹ[oť—ÜO;zjwNŇżŐ0ď†ČT#˝‚ţxéĐĺ§§gxlˇß¨ BďŃg—Ócˇ†)hžZƸťC'ÍY!ÉšÁąÖe^JÖtľk´Ń ÇDň}­ď$€¬ĐĎ———xŚă=‚T …˛Ź=–Ięé[ć”JąÚŹSé(Iűn*©¤’Ęű%ťć™Ő|`Iß“.ôý¨~ Ý঩÷ph1Ł§Ţ©( e€Ť?É:ŃÉ×Řnݦ~”N×´;çCQţvůǶ€Ö .čB×ZkńÓi.ÓŁ[÷ŰmwMŞë:P«Ç“›<ÚJqL!÷|ěC„¨¸ť$q&:ž4\˝_ý»‘Ő&ŞŹ“ÜkG÷Zů·Y´“µ‚0n—÷=“ÄDy7/ÄÎIß»r®%­µ^s§őř Ç; P_ţň—é`0ŇႦ™iadĐúBĂ  8üa`Đ—®˛8�hˇ;ôp?ÎcG �P(PF°V ]0[�päČ6x¨‘ ß;wîd:[ä©» ńŃ0X(B¨Ś78ć˛P = ś0LÂx Ĺ•+W¸6l‚hč eí@úúrH#‰^ŐĹîA;˘Ž('€nŮ•9,ŇŢŮháˇ!H�x㔯îTĄ¶Ču‚±ĺAŰâßx^¸_C® Ž8đ‰Rě*Hi �dAÝvnęĄTRI%•TRąEA…޸»ˇ±šp¬ŔQ -7‚ä˝ ‡X€µ‰ÓĚĺő,‡đ`<¨˛ ĘhZŠv€�¦€“AĆIŃd‡śĎÖűŔNĐŐGAm‰ăżăţ®Jŕ(c72ÖgMa €_;™y'˛0řˇP}/7kÔ¬ŐmHa{`&‡Lťń9ăü CźCČú4#Îf"đy—m6g Ň¨«MśA˛»89ⓆwI.'a+Äů'yˇ»«c=7ŕňůć<Řp|qiw¤ĂA‡,vŁś*멚€ř¨`wD«Qˢ`¤ˇČŤËŞ”ô2ĄÝë:Î4Mhé=š¶ć#×(]˝Ď;ůÚ nA �y|~â1°@€»){HŔŚ˝=}L_–Ź™™[Ľ&ě6ëk±j›¶l¦Nů¬e«‡šʵŚî.py4…-EśĚÄ»šÝÝé®3’ŰÄüW«ÖZŠÄ!î˘][‡hÇćA¦b!Ëěč/är‚bôDÄ6ať3mv"©pź1ő_ŞQ© ;«sYßöQj5¶©‡[ďłi ÄÄ3O?FŁCôęëoÓ©łfÍmĆŮ•+×Ř9"uăöžžnŁ3}–Cn OÁ/»§¤]ňYŹCaŢ€CľHq’Çau�¶Ázü‡?ü8`tŻ™y3·¶3cUÂŤThôý7~Őč#“ôţý›g=ÇóSoO/łC,Ě#ćqŢči7čęőiššžĄđŤżcô˛a^ű÷÷őrýŔLyĚ›6o˘o~óĎčäÉłtÓčjĎ_¤ě¶L0dŇî7ýŞJgÎ\˘é™ięëďfťO}úSFŰNëÖŹĐĹ‹—8Ɖcç%ÄĘś°ě!ťJWŃ‚wPď‚qÂö˛ŢöŔ{éÂĹótéâeîcㆆiË–M¬?uwCéćvD›d"}+ŕ9}0d9|Ř*ĘňÖ­›4kôťEَâů¬1111†`°iÖ˘ń»~Ý0ĺ %S—ˬ 6�ţ_XdF’]»vp¨�%0^ŃŻXůĘWľHß˙ëqč“ĹĹ}´q#6}¬$mśÍÉ{…ťëv\řˇ«Ó+čJmn_—9Uć(鯾çG|aYŚç—zŁş\ }[X&ZwţyžĂB”0lëĽ(�‹V tç+×–čÄą<ť8}Ü´÷Mfr©ŐL®Çs¤˛Djű2űą �…,€ë”=ĺáo€Íh0?$‡ż;BHřw~OÖ' ¬Ó¶‘pž1p%ičwťîü!$\Éň’0] ‹d†uěJĄ+J7Iu:ĺqY4ôýˇ}!~Vž]Äď`-ŁëPĐyVoîőrM1éś­yęűjÁzK2ď34Ă€9ZÖ"¬ °–á:iĎ·ë›TRY]ÚÍ5w+©˙!•TRąą¸"ů[u_Ö xżăOŘűŐö?Âja8â´âąď\ŘŘq ëŘâď$”ţĆX”Áłë#×ď :ś+.Čßz‚ëáűĐçz,éßtufŐń4Tą†ýÔüÝu¨{/$yżş\©ZÍŰ]÷¨Î®áŰq\7ţşů»LŠÉűu-}?±u§�‹;w0č÷íďeѱ–ĹÎGaQÓ®Śk]ČÝŤSű˝:Á;Mî÷2?÷íG퀤$'ŕNeH–}µónş«ÝłY ŘĺNÎÝI9nWgWÖ:&3 1ŇĹ‹mĎž=Ć@´w˝{ôď$‚QŚCCö:\Đ�x±i:8¦ě X€hČ 8ö٨jŚjX@`A�‡ż†q?Č ,H xiâú^x^~ů娂…@L“k^츋Ľ,Á"Š+€)`,h@QŠjPFť0@y]Ç Ę `…2w \0śŕ·†äŔý¨ęrlÚ´ÉÝb†.ôŮ|˘� ”ŹťĚ Ô^¨7Ú eŔ5jV@~č2 ýŕ8ę‹rk;jY!8†tQv ä…"ďć˛;…tqöâ‹/rZ›7o6çJ*©¤’J*q ‘CĂ: @ăďů�BÔŘ3Âë¸ë›ň;oš~Ö·ë‡ÜFĆčEŽ^g Ŕ8R”ČyyvđÉšNčĽ)´×"M�@}oľg猣tî–1tIĚy¶ â2[�vŻgx]Ó Ĺę6YĂîŠfFŞbŮ?2ě<av 0pŘrF¬aËÄ;‡±V4ĺDxuF ÁĄö2śVÎJv Ő8ś…Ď´ćɰü—u˛účTJç‰óđN/gĎ ËCÔd"e lşxg-śśiëŠi8‚¸¬lHń¸,¦™Çş&´Ŕ�^`P ­îă)[dĚĘ‘Éd#']“ŮZw{6n˝8ěš6ôGłeG°ćíîćѵgµ:Ďßâd—2c§±P¶aüçZ`Á/°3µ˛«h?őąo€)AXáćĚZwŠAÂĄb1r¦6Ťˇnú[«Ţ‡Ýüěđ´ˇ4ŘyÍ}×:Đl(:@ľ8ĺ˛9Ä8‘' 3X;M?-–sü\†ű»h÷ÖaÚ·cŚ6LôPOw…rĆ9™ËzÂěâ…–Ţ^úkbL†!iJŔŇÝţ2Î<:zô„Yă.Đöm[©Ë¤ďŁ$al„éÍ‹Â﹀aś(5/ü›7o¤—ŚŢńö‘fÝ<ÍĆ;¬ËG‡+T®”%$aąbĆV@ňG:ëÖäęe�sL­đłhš1°´XŁoţ§?ˇÓ§ĎŇá#§čÁ‡öŃŘč°ÉŻČm Q©źCe,.\¦‰uătőĘ ŁßÔ¸Ż”ľ°°lĘ ,3F'€Nqýú Z öRˇ'kň1áú,Jf±¨t•hűŽMôËżüyú˙˙˙Š.ž5ýŇ8WË]ež.]ľfž Ę=lŽÖMöÓ?˙żý_Yß*ĺ pÂóče¶Śgź}‰ţöoJo˝uŚ._ąJ§NťˇĎţÓ܇F†ÇL=Łď ,äEŞUÔÓŐO{ÇčĎ<B[·m4úaŹ CgÁ®Ć:Úą }ţřf>î*÷p{ÖęKFŹ6ŃۦL[Ě3đjdx”†‡%G!'L=ÖxĚa—€šcS&ĆĆé_üó˙3yű8}ď;?§+7/ą±nî+ĐđČ8-.ËśşĽĽČ ŤžîÚłw=öčŢHwŠ ĂY’Đ šđŁľ’0´ö‹€AfÖĺwľ{0¶$Mźőńš™c«KŐ™ÂyoůˇäÁˇ…L†QJQ<t`d(“Ó-Ys(gÁĐİLS×&żÉl.'OÍ҉S7čěĄëtkÚ8˛ë©™3ýĄŰ\É”qJć÷¬€#�Šhr{-ѲéS đX¬Tę˘B@݇<Ë€Ŕ@ĦgYQLY�ŘłíqŚöÇ»#ËËÄł„Ě“nGvxÎü­äZŚ—Ś/ÁŁâŹŹ˘V�Š�;Ľëyů¬kăý_6yL˝|ŽÇ‰zÜűőůş „ˇçeîŁüĐşÉN¦AyßJI2–}K­» ŔHł.ëF­Q×ÍoĽ‡ôRfp€Mü>ô„…Ó …˝Čłs=ŢŰžťżSIĺN%I¤’J*żhIú[Úé…™»Aa´€`Ço—N§<\ď_¤}»ąĐÍÓý[C}»iv’v¬ş^rĹ:•]™îý˙;{˙f×qť‰˘kźĐ9"g4r$�$Á(‰%*X’-[’íqžń{®Gsď÷<ľďóŚ=wĆ~ďűžŻíëľyöŘľľÎ˛%[Ń–d‹˘(19 ‰śčFçîÓ'ě[˙Zőď]gŁ‘H€Zgń;ěĆé˝kWŐ®ZUµÖżţá>%” ůáěO‚Y<X‚€ŹĐ7-‡ ]ÖőręŔzŕ‘»�h˙z”Y°x3ŽřŮ a›Ż—y©Žňď·Í޵0~ßjŢ (čJµűzÓa„ ~‡ŕ¸On˝ő6gqFľI0,S�BŔą ®Ĺßŕ¨Ç"€€řŽ{Ŕ:Áôxî°�¦Řŕ”‚ L Hż@đÚkŻ)y‚Q°ZŕŢo~ó›z@0d .k×®Ő{ađâ;Çćĺ0-ęź`„@]Q7ęŹv Ţ¨3 —Ř81UŘ!ČFkÔŘę®kiiIĆY ĐGL ˘}éîC?˘naÔ 2�G îx¨'ę�† ô@)Hź‚{Đo0šCĐf^° OQ.s¤â'ë‚rĐ?�‘ŕ9¨+ó©˘o:$»wďV掯>& iHCŇŮ+Ü|? ˘âó3ä‰'H2Ц˝3ŰňżÓąEĆPik9ş§˘ă»ˇđ¶”ÓÓ–#”ćL)zçJUĺX¦+Ó0<8GoÇźŐ=ž§ępř8GnFWęťtµšg<ČKGkgůaéLň‰łIŮÄŇ!0Š7McyĂĹ´TٍÎŃŹgăw5€äŤ˘}şRRĘó‚§˝§Ôî4ö”ËĄ€¤ěŤ:ĎváV1 q >©YŰÝl}ÚŞuqý ë„wd‘A#Ż53ÔXęšďíŹ|>a‚h*´ÔrjQUAř{Î;¸P7«ć śW}úŚt?FMӉ˾˘Ń×r?†=ŮĂB#ĘřďQ‚ĺŇ@fűŃ4ş űE” đ,öw ®wÎ2Ö/KďŠý4Ç|X¦r 0Ęç „bś)îďĺŞĂVĽŤĄÇŃ‚E%’ËćČňĺsĺćÍK•Ą˘»»ĹĆDÁ3j °EĽ#B‡ĄH»ăbr}¬Nrëă˛sŚż,O>ů¬¬_·^nżc·2 ´µ7+�µ[ "ÍŃ'+ť]:Nę~IÇ�ú„eË—/“úÁJ]Š…lnd{7Lą@–“’›îÇOŐ´­­çTÎI“`|´:'qAĹťť®OkÎp;ŘďĆô°˛&¬[·F¶l^Ż@&°Íĵ‚ś8Ţ/'OťĐ3ĂĆŤkäŔÁý˛ióZąë®Ý˛`á­÷äDIúOČ׾ö w^9)CĂňňËŻşkn“… şÝ»č’î|›«s‹ęŁÇëO¤°8°˙¨Ž=¤jlkoŃ÷�ÇńcýîěĘâ”aÂ@(p€ żĎť×%ůÁ÷ĘÖmĺO˙äłîyÔ§Běpçą.9yb@Yp6đŁ˙”±čŤŽNĘ÷ďM›Ö8@ÇeĹłNiż˘]˘ÇÜ.ĂX9qü€×Ď`×8"CgG\?¶Éşő«]]z4EŽÓdĘ`ç;îŤrţ˝E,ਮÖJZĆČM7o—ť;·ËË{ö»ńô„›»“rěč!M™‚w¸|Ů"éh3p ďç®›>%Fäu‚b±1^śíâ™)Ŕ €ďrĘŘfÜ‹ł6t‡“• ©–čĘ0@FubŤú2`hŕ˙b˝ö§˛ÎcÎ-HµĘyfŕĄŃ‰Šě?0(Ď˝tB:.g†FŐ lA`;rşo¬´Çµé¤4·.“|q­ÓHQą_ĘĄă2<4,e< ét\{ZšZťęÔ9Ą¬Mn¬ţݦ`·Ř§Cޱ&Ü•ó�ŻjM×C¤ŔŇuA˙¦x/edŇąQlJ@h�uĐîöM^Y],ÍEş>…ş%Ô˙\ł9ÇiÄű‹Ěˇľdd+Ć*m�\M’6 ÚGB]ĚgňݢĚ|d€­lô§î=śîŔÇŢ+Ł9=XR ŁX‹| ¬Öěý&€ ąÉ” ĚŰ‚Lhď€d#JŤq)pĐHC҆4¤!×·„ţ@‚äyf2pAUíë°Ń‡űż‹ů‚p/| ô[„g >ďBuÂý Ĺ>Ď'.E÷uüBĎ B° ™ČŮO—ZěAŕOÁľ~”°—b‹Bŕó@9Ř·ŕs9@ ‚I�Ę&súl‘YĹ`‘Tßo€‹ëlńý‚ąÖĺÍĽ“7űłFşË˝÷­üýZ“‚…ń¶Űn“íŰwč‚ Đ0 Ŕ¸H ,čpň‡čF,HXq dž…– ,Z0đâ{lp/ĘÁ†Ď4č€^‹M@ (×ŕ;\ŹM�Ęxä‘G´>ďyĎ{t3€ ĹęŐ«uEŻľúŞĽţúëz/ /ľř˘^‡kp6¨?€0"¬\ąRëëad Ď#ă�hîĹď´ťĺ Žč'€P�BĐÜč0 úý‚öâ^ô Ću\`6 ŕ^PŤ°rřđá$íúף¨?©¸hô KţŤwI;ĘDźáů¨®A˝”‘ÄŐŰhAǵ짟~Zë¸uëVí«ó!Y҆4¤!łC.UÇĎVFN”řÜ<蓉 8*°G0pAĄ<mQżšĂ(ŃÍ!_őĚĺsΆ4Đ™Sóěö(¦˙˛°cě'Ôń×âśĂĄ ·~ŹéGŁpóĆfˇ …¦ĽQéĂ™ä)äcÝ'9~×˝ŤsüŠ aß“b”‘±5_L+t 1â4핪9ÚAĎŻ :”ňĽ¬÷!*<ut™‘řt ©Vű¦¦Ďě;eŢŃöĄ \ćpťž�|X”-hͱßÁ>ÔěŚ`ɫӲjő‹D.ä›´ýĹBM÷e ÖŻ{çRď@#¨…ÎÜĐůD°÷}VÇé$ťĎTěĘş(+Dŕh#%Ť˛Ź0HȆ:­Ň(+¦+Á {ĐI·˙v}Š=#ŁěyŹŇöű¨'ŢźŽsr* ŽIDléŤĆ‚ą÷Wtý2·§U–-ę– }óe}ß<Yą¤Çő—sşwžÇřÂ<Éî;>#€ÉÓĹSÄřß%©'�î¬Đăž Ć5:űr>ÚşCŮ÷ž|ňyú™dßrË-;eËć Ň?= -­ÍŇT—ńŃqe6×÷©Fąć‚Íἥíˇhd¶¦îŃ!ç—(aGI·ąd®üń}VÇôŽo-[׹ůgQö-­íŇTh5'ĽëÔ_ř7?'}çqů˙ý˙ĂÝWsNé6™?wž:ŤGG'Üw‡dppH`Tś–źţŮźtgś•ŇÝÓˇL čS ­ćć6™3ŻC–,ýIů˙ćoÉŢW÷ËdiRľýť‡dÍęî¬wŚŚąłŐĐ„žc†‡‡Üm\Ţýž»ä‡>>GvíÚ©ý 0X;^}ő59ÓZ&ƇĺŃGž’C‡Źąko“+şţëpýÚ© 00ś8~PŽ9ćî”±ŃwÖk‘!WĆÚ5keeß5#"L#{÷ľ®ĺăúGyĚ•{XvîÜ&˝sşÝYČŇ€™˘4U–áܸ‚-ŕ$&{ŚĺąĆąĺ´>xL8,«×¬”ů ćJOo‡ľH©d 6śqz{{\ßÇę°Ö gÓ©’ÍŐGz^Ö®_)7ő9'yQn޵Í}¶Ż9NƇâ�ÎcLN#ůŁĚzRSŹw­)3 •ČëđfŐKĄi7>+ÓIt #üô~üçő("’ęzΦÁDőŮ” )ťQĘ A‚ŁäĆ؉“#ňňž˛gďq™”)ź˘kJľĐ"Mă5«IŔśűŃ{ďĎ ŇŤ·µmpďväšVH±íiË){RçhZ*e™\5ŻóĹęj(€Čł»ä•ÉýËŤgsÜ;§†O‡Ef(˛ľ¬±ç ĺ˛\ÄÖŻ… ‘p­ĆšEUá¦3 Á…!`‚ď2‰4uĎ !íóô~:>”cÚNč\śĹÇ'Ć4µ-ô™>%X첱• �žµ„ˇ"¬§ŽWźéĘôŚ{7®ăöŽ­MX“0޹ޠ?Q?6CĘíp %®d×Á‹EÍ6¤! iHCr=™CFC| 49"X» ČJvÝ SPPżĺR„{”C@xxśi­ÎJČřŔ4sřZ.öěd”ś˙Ł:Ŕţů€ u`ßŔ~`Á ą¤ľ^NBćô ěb¶©pĎL_./V‡ëIfuŠŘ"•·jŚ=ßáá­–qĄĺJ<ăJ¶őJÁŻVß]évˇg^ Ýw9Ď»Rm»Đ|żç? �`ź¸ńƲté2(ŘÁ[ÔůŁ`€!š)8đ;A `:Ŕµ0lăZâ \ Ę…!ŹĚXĐu‰űČŚÁ?Pl<Ŕ.Ô Ë—/wőĽQÁ Řd�€Ŕ<ař Ś]»vÉš5k”�@HsűaDe^.\ĂČJ€0 ¨Śó¨űmŔâËh@n¶P´÷˘®řÝ"˛N'ý‹ëŃOŚ€C˙0 6(ýFĂ<ÚKŕs…9ĚŃ˙HBđ >(ĎÂżq/€L ‚ç8şa#ďQ6ꆶ=ËÍú ¨Ö[nąEúúúfUN˛†4¤! iČĚr)t^7…uČL3nT=ř€yË%I ižú˛:CŁ(ŰO‘FĘóEÍ;ý}ŢOu”Ä ŢČůTŤ´5›ó+{G˝E.ë~i0ň‘Fh#Ą€¨ś¸mZŽ…ŹĎç ‰CŽ;K—cÍ´sJ„QÖĚ_oŃľŚ˘­%�sîG ۆ9}bm/SI””ťÂśĹ‘iXúś¨č@7ÜŠQ˛P€żk¤r.ňNE‹´µ4Ţů–/xŁ’µÍö.l¶ýܤs`1â»­­]Az‰-źĽ:ś3QY,¬.ą|ĘP¶ĎDo*{÷ćÜÍů§ů_łTědđ +A 4”éűĐýv>i „Ď SŠ0r*ŚşÎ:ąX×4z;—äłmv™J.Y¤iNjÉŘŻËUëšĆÂőSKÎmŇÚś—Eó»eŐŠ^Ů´n‘*Ú[›Ô‹ö¨łĚůjÂ�’÷i3LĽŁ:Ń7ć ˘ąŮ¨t:ŇöÍűż+g†4âŋtŚqďŠö ]�S#]ÇţýG´ž}öéq{�Źrâ÷ĺRYç×ţýűdűömrĂ [%Ť ?Wż‘ť"«ńNFÇ&Üü+ę¸EZ8wuűń\)×ôŃÜÖ,Ż<»WNťŁÇOČÍ»"čT�J-vç—ö.)MMČŻÔ/ż ęq} v…ήNY±|™žN¸űĎś9­©7zCn»m·¦ijĘ+ăÎ ň«€C?ţ/~LgN`¶şsË—htB8ěę7¬Ě K—-–ľUË•9ˇą%ççXMćą÷|ׂ[eÓ¦ ňĹ/~E{ěiŮżŻäβsçY¸`ž;›,ră⬌8GňŔ™!÷qă¬Ř*7ÝĽKŢőî[eý†Uî8_ČB€EKkŻĚ_°[6n\/_řâĺ±Gź’×_ŰŻŕ‘-[7ĘňeK]ýŤMĂŇŃó Î\ ÎS Dkk‹ę´S'űhqäčyíµ×ő ŠM›×ÉÜ9îěç®kiiuó MY0�ĘsuĹ=p~#ÝÇ´Ó3+úʡÇdă¦6f‹Y‡q$!đ';NRˇŽ‹ë�fHk˘ă:{Ý›“”ŐhT޵iMŹA–…pžŘIęXT¨ Ăł¤–ŕ@˘d®)ţŔýˇR­)ŕd|rZJn|ž:=&űČË{ݸWv¤ŠjnÝđ1–#ť§UĂL`é°‚1KČłNďžrspµ4őŢčÚ3ęÚqŇ]?Şs펣&źF)‘bĎFbóżZĄ?¶Ô>běĘxY:ťÖ­ś±Ĺ5>đéEđ]‘�HŇÔ5·žÄ‘0˝ ňÔ«tZ„ď‹B°Ďăśűa*1~¨Ké1]š—ŽNgioMX#pĆf*"0¦ä4!!5¶‚7Šyß7ŢťY]E˝MĆ ‚ňČśD0ŁnC[a¶Ě°/Â\č!#ĐyQîâůç҆4¤! ąÖ…LW$HSaŔ¶ľŘťAä|MŮó÷RžOfúý \ŹÉZq!™éĚ_~jĘĽ€ŃúBB`?8GâlÉÔg—*!űĎ·d5ż`÷Ä(uŔď8űˇ-ąËŘ{p˙‚˝?Ę‚o†ĚłEfOŠůţQ\Ž\i‡X&ËÍО×\Ny—{ţí™úä|×˝rµX!ŢĘ{«×]îµď”`qĽůć›ĺ®»îŇ……(JŁyŠu!s‚�ZµMX±IŔő�`aĆŔ@áŔǢGT#)1ń,”C=®C9/ ��l p©§öîÝ+/Ľđ‚¬ZµJ>üáëf‚ (`8Ŕ&ĎÄď`›Ŕb 0 ­X@äx饗Ô0‰EőĹ˝¨űŇĄKuŁD`Úză{”‹>Ŕueä +™‚Óu ^0ě1•ę‚¶„m#°› Ü‹ľ´H,Łe=đ üÁ5ÜDq‚,!¨ž…ňś`ßLAý÷†>ÂOzđŢŤRĽ¨iaöďßď ©›dÝşuÉóđ÷ ĂIC҆Ěj™­ŕ‰K•Đ űTď9Oąm×C˙mń‘˛‘w¦3ęâň-úďČđLp¤¬�„±9XÂ+?uŇăŢ’F\—4-‰ĺś Y˝JtŘ�@ŔFę1ÇoŐłNŔ!L† ¶?ëäQB.ď >˘Ů9¬ăięĺďśÉ�-Diş“¸VKÎĆĆć1ť8·�@ż%©(ĽłŃ@,Ě1o©B¤°ďjśQÍ8ŁDS€Ńb||L÷nűŞ4ţćŔăłĹGÄž˙{Gg}jţ´ö[_Xß—ęX#Ěq\L>aD4ťxq: )ßS'n6z-:řÂw4SŠ€”>Ă^—©JĐ7Ř/f S!¸Ďx`NO‡ôşĎÜŢ6Yş°[ÖôÍ•UË{ĄÓ9 mŔˇśeĐb!sţ©._D¦G5·gŃ;ÚŰ[śs}X-6f5K×c´ĽŘcúĆľ żăö›dŮŠĹšę˘CŮJb·Ż”Q·^±r…?qRÓlLŚ·»ýűY7? ęXĐOGš’… (Ŕ %c¦™Y˙…OěôMÉ9ĺżňŐoÉÚŐKdÍÚ5ĄŹ˛›+MZfŔ&`¦[˛X>ňŃűäŕˇCrěČIçĚ·Ô7­–®n0Š´»1Ú®ěHçŃßFî}ß»ĺŽ;o“µkű¤łŁMšš›tÜ,XÔ+ËW,‘ÇʵkPŽ=%ßyđQ9~ě„ěܵݝćÉÔ¤g»qăó´+ €…Źüc Ăß¶mŰeóĆŤîü0*O?ý¬Ľ˛ç‰öä\ż-wg‰a™7żWćÍ›ëĆF›!ŠM�ŹTÝĎ‚»w‹<ůäsîÜpBJÓrŞ˙„ťîžŐąŃÝÝăŢ[Ń=sȵ­GÓ™|ű‡eđě€ÜtÓŤ®ťM:78îĘĺŠ2oÜtóNŮ»gż¦ů@9gG]9§erj\çďŞU+•™ď�FôGnÎ\ż÷­Z!˙bŮŹČćÍäK_üšś8qFţΓ2ŕĆÄM»vČÜąsÜŐcŞ#jĐ�ďbĚťą0>-žëćH§ěşis˘ż/$ţ{Ęš€+@…h:’rĹ€PµŞé8˛D‘HV*´o)E˛VÔ˙Ć^y0X&&¦ő3:ćĆÄŕ>yVrżĂhoL Ú‹ řPŚš”µĹ"Ť=FA�đŐ*p‘să˛(m8k›T4}ŔfŻ9ýßë®™ďţ¶Ęőő¤Ô˘)ä'ÜĽ–j<­ëX›*b验}"gPÉamq}‡T ř.ŻérĘĆú˘&TRA&Ë;’€đ”„ DKÔĄÔKaD$:“:<̵šŢOlëgNçt.Îü8{3u¦Đ“Ť×`žŠ8¶%eˇ°H=h'aîrÖ™ ?KŻÓś¦ óěLŚh­ß礱!‚×q= ‘!Jvđ†4¤! iȬ™€Ś<ÓYęďP?“đÎóÖ`HČxˇűy-×Xřx-ľĎ–“-“g˛PÆŔó)——*w´Ź=@Č"îŘöĐÉ=IxVĹďđEd÷2ˇ°ţŽg(ĘgłŚ°.3íŹŮod­ ź÷g÷A׻̀śy8¸â%%/r–*/Ői˙vJ¨ś®ä? ⸔뮆ĚTţĄľě˝×Ň»{;@ ď4ŘâZÖ»łŁCSdl۶MY�°¸€!Î{DW*mŞÓgř� �C�‹i†É6cĎŁGŹę}DV˘l°1Ŕ3hXŔŤçá~~O€űöíÓşl ¤°ŕ‹4€`·�ČŔrşćF\ÓÔdTݨ�� Ŕ°ëq/S‰0˘Źĺ3D9˘ŹpÚŤöá{´ ýďđAýŃ~6đAŕ¦!¨„uĹ5(ŹpüĎC? ßŃĚY˘Néda„)óg‰}Ŕgˇľ¸őÂżq?™4Đ6�Lp/ę PR¬ŕôŔDvňY ĂIC҆|Hťý÷l—¬aĹ~¡RSÇ0SXŃ 8zíŚTKśçöw‹ŢW€J©ů|čpf×*ɵd{hr«Ľ[wó |â„rż·8§,Ć�Z Škys3>­Î• � ő`‘ġ ©3ľđđńßd €˙‰Q&¸˝RfŠ”ÔPGY"đď(ygˇ’Ř'Ω`Ńą•:ú˘Z>y€)°/Ĺ5!#Y$¬®y!ö9¨ťÔŹ:×›[ ř[Š3ÜT‚ľ "ž>#ŕ�ĎVĂ /|Ű›šš“”YCPýËm‚q˘(=KóY4Ą÷ÔGídß!źÉďC§XÉL{x4®ażŤ˝"ÁµŘâŢÎÎéél–Ţ®&™7·[–:§óĘŽҷ¬Wz»[­íĎyľOî cuÎ2”w8Şă2!¬0’Ц&–ű˙é ťS;v®—%Kç%ç¸RJŘ۰_]¶|™<űÜ‹ş—}řáÇä–Ý»dţü^}rGŘë._ľŘµ{‡ŰĎö»=§tvµK;›=ÝŇíĘ)jäx›ßóRGldó’ý™ô­Xš(’:gěčبĽňĘ·wŢ+Ű·źq{đ9 J3§×Ő·SÁ­-MnŹ=©©}®äóľ$gĺěŮ9Rň@�«ÎťŃ3ĎÉ“§ĺرrűí»Ý»hQ–™réY¦4 NłkkŹkÇ=÷ĽK™(ţ?żůM›ˇNOWǵkWyĆ”V÷Ěieijx`ľÜy×-îţ˘ä´=; t~OŚO*Ódzϼ ű÷”wŢ kÖ®”9sçčł:\˙ĂÁ~ňdż¦)A_cś¬Xľ\Ö¬Z%۶oQ–3şÚ»V°Bo»|ďÉçä•—_—ÁÇeŕ̰¬_żĘ˝ă%®Îíű‰ń 8#Sn<îşi»ôő­ĐT>==]îüÓŻg°•�t…nWĐtJEbßň4ćPU6n^#÷MŢ+ź˙ÜWÜýrěh§,Y|BËĎňzV˘Q` ¤›ij^¤Lř{.˛÷<“a}&™i]Ě)#CAuK$¦ç�`(WË^ď”tGťokÓU„ç­pţÇ~ šŢ3Ŕëa  »@Órfp\††§äĚŔ;9"'úGdpd\Ápj¤3‚?\ŤUńC·Wdʧ¶ Ś/�ŠTw¤%oě7Ee–((…Ó ‚Ŕś60t?‡\ťş%uş>čv×Ě“J<ęîrUź”BTÖűU?úu"™Źq¤ G�Lx.oŕoŇ:WˇCj–ޤ3ö‰śďC’ĺhź1×ÄŞŁrI®O čú� ÂwFX†Nö}"#-ÓëčŘł�ą5,ÎY™Çf±@‰É© ÷ź´EXٵD'QŻ3@Ăč­ËI}É\dúÜě3`m Ó‘…u%Í7×2o„ ?Žíđ÷ĽÎdś6l iHCŇY$á~�vuěEάŔ‹éÝp~ÁÚ~> “Y`„±1¶éď('\ĎgŞ#ďeąLMŽďq–Âţ’]×yX˙M¶ÜKE’ă| ĚpŻÁýŮĂôćaY@{XϬ¨ëÁ÷hY¦­đ~‚Jp Ú”îa9łEf Ŕâ®»îTş÷7ŢxĂ;ăt“É íŐ’wĘéu-‚, ł±ŻĎ'oö\ŻŽŇěp9÷]ę=ëÍ8(SäRÁrMú� ŰĆŤ5EĆśŢ^=ŘĂ€aNP3�’”¸ Ľĺ86:(8ĺ±Haq˘A```@A � -O^‡űń7°198S|0')®°ŕµ×^Ór¶lŮ’¦ŕóP)6ÁČŔ<Ó�Á|âŘX0j�\ŹöŁ �$�,Ŕ5Ô ”ŤČ6Ü{ 4Áýř ®N Îx^h´F˝p/Ářר‚ëP.úĎ$+QˇDzŕŕDH󉺢­xó|ŁŻČ`{đń´uă»C9L[ć ę¶sçNe a´ ÓŽ\íu¬! iHCríHvoůý�¬°CľQŤC,ú7uäŐś20ŔńˇÎf| ŁÉŽ 4áŚP†c°ŚTĘS®t®˘wTYúHB„+'®ÖQ—§ŃŁpČÁ’óŚ Sşć#Şľ­µÓČ 'NC-ÂTFşŇɇŻřöeťL4BĐxb@Ô Är a‘ŰöÜšgéťS¬ęŰď)ÍăH˘ ±XŞń�”Zň^X_3¦Đcŕ¦ţ`=±‡íěěRöL ł·žZ`)řzŰýT«y …ź¤]06°fuć3/Ď`i”q®Ž1$ť39?ľŇč'ޱĐP…=ď ťŞ¬ohđ ű‚ß1'46%`‘8R‡DşÄĽł­ óć´ĘŞ•+¤·»Yz{»eáÜ6Y4ŻMćÎ1ö:ž$mńă!â2ŕ„}üÝ‹9«ęEšŽ¤°  Íxăőrâř)ٰiĄ,[ľXćĎ›‹—ęŁď'tĎ;§§S&'Kúˇł#5_(jąš2§Ą(}«–Ęî[wHwW§‚Ć‹~LärQ¸ÁHń°ÎqÍŇÓ /Î�ŘżSÔąěÁÜčëv÷·›vm“oüÓňč#ŹĘęŐ+Ü™e“OA9ŕúą­ęÎ.§äř‰ăz߇~ŕýú./Y$k×­vç‘9ÎÁß,SH1ăś­ű÷U Â#?ćöĺ'\™+•Ţ­­Ů�BÝ-:—�vŔő;wn“^xIű�Ŕh�J††F4E 0:»:¤Żoą¦ń<Ó/-­E›ŕĽs÷lظZ ÷ß˙ ›'%yę{Ď)łČĽáíś™ĐîˇáQ9vü„=úY˝ŞĎťOZ –Ľ¶8éM¤6Ůąk«Ěsí;tč°?vJžyzĘŐű¸¦zÄřxĺÖŢŢ)+űúdž;Ë`N‚uäŤ7ČłĎ>/{_}ÝŤŤ“Ę xö-˛bĹeś€n)š4ĄĘÄř°'c®‘şq®¦$yę{ĎČśą* ~˘>xí'H9bě"{Ń ŔtI:÷„s0—ďtwN+KŇUĵĽ˛3�Laě=©Ź¨ó -$ÎÉP$ŽLűŠâßfŽľşŞI šŁA q9|rDNŚÉÁŁCrôÄ°ŚŽMédÚ2r}ćŚË…V·FŐ´ť�[€I¤ ݧĚNOTŞ^Ńóy‹öW± cĆl±Oßdŕ@Ż÷ÝĘů5GÁ„X»"ü}ŔŐíŚë7/ňÝî:°ś,wíre€q?¦*ésŰDű• —HÖV6!Źâ\U_'ŐW�¨Ĺ^SvŽŞ ńÇ|ĆAA0E–"űţyŹ^'R—*ÔąöžŞÉĎ:€¤¤©^˘@ĘĽłĹĚ1€…2Á‡ݰ+0ę•ѰüÉ4Zů|ÎŰQZ°ś­ŃĆ.•®q)+†ĄqJáz‚řÂu(dU‘` ňoQTkHC҆4ä:ž»B€"VQ¦<O—ĽH÷`á=dźĆúÍTÝ3ÉL@|Ç_řťľ”™6„’6T@ =}! ",'h„k?Ů+đ ™çz¦ô “$Üsd÷Y°Ix-ëˇob¦O¶ ö îA=`Ĺďáąy6Ůąf ŔbůňešĂrýúu:@źčhü®”í5‹ É"~/&39¶ŢipĂl5´^ŹNÄěáo¶É[}—s˙ŐşöZ‹nl–Ý»wË»ßý.5źî?Ą‹UGG»±Đ §îŘŘĎsť"±(ÁxC$dd@Š ,šŘl„‚ Ŕč+9pŔXČPŔLaEŽ~¤¨ŕÎ;ďL đ,\} Đ�ĘÄżÉ‹=ăŔHŐă0ËŔ˝¸‡@!šXż~˝"C °Ŕ€0;Đů€{Ŕúg˘Îč3ܧڱ¸mC=(Áßř,~‡ßađ%sé<q? +ü×ázćIłw4¨uĂuT…„¨ĐF ×ŕݱ(—©Hp-Ұ�´ �W0Ý îǵ¨3ž×�X4¤! iČŰ'Ygę…® ´aô<ŤâDégËşĐyâR÷—çsHĐévĂHÖébň¶śybÖ˝>§:ť!4¬—&Vđ„‚•ęÁ ´@d±űoşT ˘Śíďő›¦#€�X@§Ľ:ŽŞV¶¦‹Gj¦ĽX7ŕÔŚ#2�>H‰µrŇś4pähtGÄçXÝůBgPµJ& cçđ*ĎGT+eɦ‘`›\›N-ušWj‹EĹ Ä;3 ĆŕˇNŻŞŹČŁnŻIň`ߥ@ŚsčXZ–Ŕą™+(u<�,LŮÂ÷Ç<÷¶Źś’Ňô¤ćĽCšˇé”™"e€ě!¸ĆQ)hCAâ+-ś{ö“{Y›qŕgŞÖEٰźĂ9QO§šľ+Α,+HŘFÎk3$Uýř°úń>´ÎŃÎöfYą´G?‹ćuKŻsŘĎëmÓ”]ťV:á" :~‰­Č0T¤‹z‡0žýŇKŻkú€ľ•‹%_E$ż9mpá>’k“-7¬‘'ż÷¸ Źť‘S§O9'úٸq˝ĆĹcLˇF`P�CCŃ9$—,îÓ1>4 @w‡´µ�ť]ťĘˇ bwmާˇażÖéěqË–®őÁű®ş÷vřČQůǸßí÷WȆŤ«Ü\˛‰� �ŢŃŢĺ~GŢŕVŮvĂŮłçuyńĹ—µß[[Űő9Í-püáîug­·‡•‰ÉyĎ»ďtĺ.Óşa~7ésASŰ)7Ý|Ł‚­}´Cľűčnżîڏ#:O/Y¨ç¶‘‘iť”áŃaŐď»ď=˛ë¦šjdĂú5ŇÚÖ"#Ă#:ć±oßłçU8<°\.ě•-›×Ką»ěꇳR –|´ÎÝűÄOĘŃ#'ô…v._¶\ş{ş´?QŘ/ ůH†‡FÔ´ `‰čwí۰aµĚť×«s©ą©MçĚ€;O‚cĂĆ5rňÔ ;-_¶RĎd˝˝= ţhooŐ~*jŮĆaÔ޶@»s @˙ôOß”ÇRž~zJ&'&ÝßwůÔ*MĘfpöěžSpvE9­-Írűm;eó¦5˛bĹ wžtçźfKaÁÔé''ihExƉĽ:ďç2ŮY 4¦:Ů3é ÷ú©˘úd Aöń닏ŁČ~_ăÜÁ‰-ÝE˘#tĄéA왑L•Ş28T’“§GĺD˙°;ÓMI˙ig<5ęƇ±żDŞĎLďŘWCŞZ5Ń}媭Óî©NŹş±÷ŃŇ–¤ł$‡**ĺd­Sť#¦›MŰD>Ý•F$6–&µ}jÚ,÷î”ÔŁîž÷ç.‰ KÝĎQwíëŻA÷ţ+Ć#®ß«P-č{čfĺ¦Đgą^:T%ÉŮßŃ6˝/&;Cjj®xpDÂnŐ§b˘ŢeŰŃn€N H’óëAý>¦L€µâ8H)*ź3& {VU×{¬ÓdŞů÷biśFô>Ě{1וȳٴhŞ.0‘±“ë9Ŕ‚ţUԭݶ—±µ7™°ýÉű ŘTB†‘z@EĂ6І4¤! ™Ťž·LRv‰ô h@p¬÷Ć ×”0,@čGČ®™YA ś¬Ő%ńAY› ×äPA–6^fá™1\×C@Ę 6>!ÓĂLv$ţd �…0 3´CE3€;˛Ŕ¦NÇO´źĐ~q±2ř;«x>ŢK,öÉl’Y°€“ źnO“%śČ}‰üš##Ł©Á-ó2/´Iĺ ;®e§úLu»ZńK1@ż™r®§ĂĄăŻy+}ţVĂâĺqbąCébďšu„^şé¦›4ýôRŞ”Kš, !K�`4 éřžé( ßĘŢ0Iv °V`1Ć‚ ĐvÜcĆŻ1 -Q¸×ĂÁÖ ”‡ú€e9z±¸0A ř7ŔČŔh3�%đo�5P^Ř6<÷ l<›9¸V€°\2Hđţ ŕ@Śěâ⍶-^Ľ8a `Ú2b=‰ű•”ařŔ€BĐ´őG]Ń—¤˛bŰp/ĘA˝P¶ ő`Ű.„)H¸.‘ş e?óĚ3zý®]»´Mč[|O¦\‹r”†4¤! y{äRő-AwĄRé%YŕĂrö`z>ąÜó×Ă™Ŕ,ŹFi2ĹÂĄěăŻÖţ648¤ÎęúľD4˛ĺéXIÓFĐ9ođ4ż»•kŽËš–ť�jĆd‡G. ŇD©‘}F€gÓ¨ůHUî6©ššZ”"\ď vqśDźÖ4őG!©‹•™Oô(—¶ŃÚĹqQłČaÔµgť6 L‘¦ŰHö̉ĂŃ ŞX‰ňyu.łŕŚ%}>™),IľîÝë‡x`-ŕ˝Ř{Í«3 ˘� M§R‘©\^ŮIN,°0:—LŚđ%ÔéßSV Žó0G}ęÔOßU}ľŢ”u‚ď$ś—`ňËć»ç˛wW Ć&˲0ŠzěKW,é– }‹ÜŢ»SzşZdnO›~Ú[›ě ŔŤ¨ĚëCďŽóo*’™)ţҶđÝU+¶o<|ä|ű'Ýľş]÷¶}«–軀sܵÂ9ß±˙ź–…ÎŢÚ^”ŁGŹIĹ9ü»{:Üţv®:ó9ŢK%‹<Ząb©|čĂvÎĹĽ‚"ćÍíIhoŃÔ)ˇ±,ÔÔGYöĆXBµ4·$zh|jBž}îyŮłwż?qFŽ»}˙şu`j/Óĺ&?_*i ‡d|bJÖ®]#oĽľOÓ] uR`€92<<*oě=({^yCĘ•)צ'Ô´ný*uh×âfż´7wđ&kÝłđîűîrâŘIőŇ˝˘Z3@Ć1Ї7ÝtŁ,^4Gvě¸Aç;š[ ˛°uôşţ[¸hˇ¦ýřÚ׾)ĂCă® ó\;›Ü= 4ŇŢaFGśő�–XµzĄÖů–[vËŤ7Ţ óÝů@ôúsÁ‚^wNčÔsĎ‚…óä+_ůšĽüĘ^9Ő?ŕ>§eëÖM|TG[‡gSPv’¦b‹+óflܰmŁ,ZĽĐ˝Ż&Ď{6źŽČ†‘˛ŕŚÚëžwÇí·Č wzéĺ×5őî_čž@ć-ÎmůB¤}ŇŢÖ˘m[şx‚-8O٤`{fúť$:)Ž şݢ:$ň ®Ľ- ?”ís>™źS©®ăŚ‰Łş9Ĺé˘j0ŞwÄ×ü5~- Ťßg‡Fĺ؉a9rbDŽ÷ŹĘŕĐ”Śąy4>QrăÓé<§OáÄĎ‘É!g¬H<›3bŹŤU#ľ˛ň¤@¤™Śđ9ßQ]{"ź~Ăë_¬q^ź«ĺą±ĺj ĐBۤ:zÂ]:ćţ1čúpž+Ăťőó‹Ý÷˝î»łî»!WfĹ·Y”U†şę ˘?NYެkcr˘˘1@ďćęť\;‚˝ţFşę0EF-ö M'zW‰˛¶˘(unDY—çđÔŘź‚řŕ„¦Î‚ţŠô„ô>f7(%ëX™:::ĄUSäŕK¬ďřžkݱm{·´S«ß‹…`“ŞŃBIB ۝݆Nš«bějHC҆4äm”,"] ˛(×,C‰ĐO”śég(źLüwÖîŔßyMÝy:¸'›ö,üđş°ž3]Ç2X&?a@= Tęú‡§Ď%ü꛵ÍÔ×iZÎjŇź3ťwłĺdźE;A+Ůz„mi�,®Q!]=ś—p¨ÁYµtéRulmذA¶o߮ޱ}űö«#±ßF'4Ҩž…4  03MÔkMŢN‡˙•zÖlp$fŤëײ\¬żß °ĹĄßwu@WR`0Ľá†Ô°ŔpŘC`Ľ Y NŔwp´c±�‡Nă@8hÎ4¦Ý�(€¨EíÔ¸ć™HMŚú@w‘•©EŔZ:ěرC¸,Đw|Ś€�iŔńÝŠď¸ř˘~�˛qĽăůJë 1hA"(› ô `üEß0] Ś-(mkŔ#h/ú:ţđáògĎyńŵ<´ěxúŚ}AÖÔ`Ô˙F]Y?\‹6`}Ŕőxľ#¸őĂ3ąqÂýF«Űś°q A` ®°? xA›pęk^~ůe퇻ďľ;I ‚˛QžÇ 6(¤ÓjHC҆\] Ďç~B/c=âÚ,Ă}_x0eF¤yľgŢ?‡˙ži/™}:…ł÷††x®/Xç°ŽaMŁC5{żÚ{ól˝°ą‹<ˆżŔ9Žť“wš´—!+SXä4ŤD>WÔ(\‘¸Î0ŁL±9ňů(p¦;c„+;Yš^v‹r­¤Ž0cUHiĎłu6§JŃ9‹J™OĘq݇4·žłWĄ‘gĘÔQu.ű Ţ Ó…T«)CB8kŕ€3çc5qVŐ±2DH·Q¤QŇn} G|a•�T"'·[J{fJĹjN´jŕ(*ú~/ką•Ę”^Ł´÷®~­-mĘŠ� Ścťs”Ń‚yíSPY<ö#5†ÁÁjF§|0z uÁ˙Ű`ěł´_mśÓgŃäŐşńć´ĺµÜ—±ýśkôv5ɢ…seýĘ%˛aM‡¦\�kEw'€»`  ©Ţî`éÂżŐłR\`ć%-»_™VjňđĂŹĘ#Ź<ęúąĹíŻ›ťxTSV,]şĐ9öŤAŻuzz¬,÷Ü}ʞ-<˙ÜsrĆíO‡Üž<—ł´† ĚwűŮ^eĽčë[*ËW¬Î¶VßĎą¤OĎ'ě3°-ě}ý€lÚ°VőÓ2ťź¦qŽú;ďĽÝýmJřÖŁnŤ«^C]çĚé‘©ÉŠLNŘžřŘŃ“ş·_ż~­ű¬QÖ 8ţ»şÚőw8Ř—.Y(‹]ýç/\$_řâ—äůç±ď”ţSý ˛hďDneW÷úiHŽ=¬‘ëwÝu»Ú‹Ţ˙ţ{\›—)ăŔnßţšěßwDÚÚŰdŘťÓnşéŮşu‹Žgč8Ł{{ćH“;kĚť;ˇőúŰżý‚_Ă:nçĚéŇţZąrą;Ź´HWw‡‚P–ÎŹÖ÷žNÉ÷ľ÷=ąăŽŰ•˝ÂŇŞôý 3ţ\w®Ü,ßyđ!w:¦cőŤ×‹ŇÖÚ¬)9Z›--"@ÇŽź”[$ž›ó‹—ÎUpĆŘبę@p8=Ô vźfu`Űą®¦@0—ŕŮë7¬—={xră¸MzÝ»€NÄÜU° Ň$�ĐLD}\¨8˙NÁe6ŚĄ`0)�XĄ:Äő/ L µ†O!ĺ9â ßD  �‰fśBµ8’@fe$k…:ňíw=w•×Ęѓξ8:ál‡TL•ĘI %Ţ´öX âX)0ľ-*ŇŔ_x8ríŻOmq®aźźpŻî)T?AWçŚÝ`A°y@ף†»đé´´€Şö­{óîÝ»y ,jµf÷Ý<Wˇĺîšů2]=íz~HÜđ0FÍS—Ä`‘3–'‚"ëq°\|{*µśÖ…zRĚc-J×§Đ ˛MÄŇCŮu Ŕ"Đ)±Ýh@–B®.Z5Ëř ~”ČyöiLCš:Zjš6‡¬�2’sttXźÁHLľ˛°Ü\Ŕ>~fSP?†é?˛ďźŕľĐÄň¸V%ăč·;6¤! iHCr©‚L˘ä<=Öi…†ŕÔ,k×Wî5čĂ »mô\§SÖĂúş„`îcpŢçľ�ţ†0ýdxö¤„� ™łQě÷ĐžéH€3>7 Ǥ÷okz>Ď–í“°_Âzđ|Ë˝+4PN68ő Ë`}\Áľ ĎG]B&ްś°MłEf ŔâčŃŁúrxX‡“ŤT&xŃH#ŇŢúÄČž÷)آ\!R»vÎ QFaNŐps{­ËŰYϬöZěźđt1Łń•Ś\©ţ¸ÚĆnĘůś WűŢK|‚\ÜřřÎ ;wîtô÷(âĉ“ śč�űĂ‚yJ{ #ŕpÇőS�p�68űˇżŕ¬ç˘‰kŠ "‹˘3eˇč<čC �b°Ľe‘.tX<żńŤočÂ÷®w˝KŮ-p?i” E¸3 ?nRpž€ ¬+îÁ3PWôę ŕÜś Ý_nťú{®ć®işŤeË–©Îës±Ą)E §85-Y!Đ7hęÁzâÔ Ď nh¸‰iƆ˙ĆóQWÜ‹˛™®C{Ń�GP‡pă…kŃ>ÔuǦăŽ;îĺË—ë»Ŕó°fˇ¨®Ă}LŹr=¬5 iHC2[d&Ŕ×+Ű!ˇC|¦=_xž# ď©Ű/÷L:•ń;Ö |BÇKXź,`"['F N\˙˛`᫹ľ=ĆnÖKť&•is¦¨á˘ ÔÜšň"b4oNť@ćůˇÓ.gNm8Ă+Ţů0B\•4ÝëPSGY^˙^SGaÁ•o‘¬¨WUË Áf¨I©îážĎ7Ik‹E€+Ąľ:N[=S…˝“š»Ěµx:u˘řvÁV Ů3'm4™ső©%@¦#©ú[sćÁoĺÖô~cȉaRŁRK…băŔŔ80{f%@ŔyY‹cJGK—:íţš{'ťC“SczźŤ»˘§aŤĽSP__>$óH–ÍéBPWŽ˙ĐČfóŻfîŢ1kçüĽw–Š:žŤuNXFă„,}>ż·MÖ÷Í‘uk–ČŞĺ=ŇŐѢă˛Ý9ťŰśÓ:4HŮřŽá竏H7mĎÉĄ,ŘV×µk׺=ç°<üČó2 ÇTS‡sSK^ĆĆ[˝#ÜU¦¦�°č« źüÔËÄř˛3DąXŮ%ÚÚ[=řŠĆ9wľ)4ă#>Ç1ČwŔńŃĎáużŤ˝ô­·Ţ˘éu,8GtÁ•ßéš­Q“3NŽÉšŐ«äÁo?!§NťÖgvuu¨“ŕ%Ľc8¬Fäŕ#˛yË:ٲu˝ŰK/ußăś3ćśÇÝš–"vV®K{ĺćÂf9zü|ýď×{Ő­ďĘpädţ¬{÷oč} ÍŐr¶mߪýŘÓݡlhóŠ eőę>ůęWţIžţE:; ®=§űĎĘöí7¸ţ”ę<7‡s-îěÔ/ÇŹ•3Cőő{ďý!ׯŰ]™ÝN?´Hsk“ŽÝžžY°p®¬Z˝ZţâĎ?+oĽľ_Îąs‘S˛mŰVTX Ć.ťÇ\ągäŽŰo—ŇÔ2o~ŻÜwß=˛~Ă*wľěPć¤.�ŘbѢĹňĺ/˙ŁĽŕę{útżÖńä‰3®ľ[ĄĄ­YÓŽ€•bşT‘ŇĸLą5 #îw¦2+ČÍ7ß(;oܡ㤧·ËÝS €mLgIŐl<Ýć#Ç‹éhKo«ľ)š ä׼±yJő@QŠŐ8ŃU¦oĹŔ3€9Ěéok SfäâÔ°].;=ŐĘC9rtHž}ńĽş˙¤”¦Ë2ĺúé?JÜ—‚ľ"í»ÄŔíó|Óčť±=>,ú”GIú‹ZČxeźpmIőU5ŮkhĎŇHΙŻëĄÓż±ÓŻyWż¸"1+’őÍő-Ŕj`Čđŕ‘ô44"�qÝ„ű9î´ �@ó%WXé:m©L—ű]YýRŚŚéÇŘ"jú`eÉpăAßßMÍ ó Ŕ@<ËŘB kÍ űśş} ú,_Lö®ńĎŹŁşýÁ–a”'rˇ±^÷ #E0Ć©§p Ů#CG†˙Zp=ÉřĦĂwz˛­­˝Î±Ăw‚ő½Bř‚$xŹľ±Ś˝™}Ž×0E ËŃŹ4¤! iHC2;„ë×GcŤNSRr@âLv”Đ¡í%´„’-+{}¸÷ Í?¬kĚJřLŢĂ}�öŔŮz„e†í Ů&pćdY¬ËůÚÂűCŔkzÎOËͲ|đťĚ^ÁOř7ř<>źďč|6.ľ»Ů"ł`‘Óň\Ý0Ă9GśŠp°áĄ’"N/‚/nżýVĄô{ń…塇’SΡĹnŕ!đá$ľžäť´×Úd™Ét©×C®ŕâJ8JŻPă­ľŻ·ű}_mŁ˙ĄJöĐ †0Wŕŕ=>>ˇ‘Dp°#§íÂ…ó*i˛$�Č�‡=™ÂŤ ‰0˙ţ=†r óŔČ€ý�8 L”`řLM>8ďađ{đÁő0ü@_ŇŔÜcÜ<ŕ;”C`Ŕi„ŕgă:€& ci<Âý08áy�@đÎPGŢq-ĘÂż 1 Ô ôSŕ'®ăó�BÁý¸ĎĐm{ĺ•W`Ćš5kô''ČĘżĂŘ‹2QÚ@ ú×�…Ęőý硿¸ń�`ď u ŤeÜ(đy`<ňČ#šćL!ćpÉ˱cÇ„©X"íĺ;&Ŕcčԫ҆4¤! ąú2¸B #¸˛g’™ś8\ń=Ö–ËÝӅ׫ŁÚł%đN@x ĎÖ)ü;ë-ľ#Đđ|}p5`ŁâN adf€Ł­ÍÉůĚéĆJÁčؤ­9%(W6…ôúš~§N o@Ń=H”:Ŕ§ËĄÄ¸`}TQţőHŻ)x‡U�j ŘÁę[őë?Ö}·Oh**[„:q¦§5ÚN6+QAť•Óĺi-+Écű¨V=szV ‘$Ç;ëö€IŃIčŘL™ŕ‚Cú í 8ÜŞ¤‘ŻyÖ Ű[2ÍGµ\Q0¦qŔ¦ý÷"tPŤůÔu4HE íD:˘Ü €Q "ĹÁ˛Ńâöd °W ö?ą\ł:|™FOĎôů:G*ĆKEA3)Ă$ŚôĄŠ{6kOzĆ"<÷sߊČýđĽŕ ĘĹózzşäľ;ÖČ®íËdţĽN76íoĹ|˝ťŤ˛şŐ’şK’˘ŔhÔi‰wh@cJC´Ź9sŢPĹsAŃ™łšnµ(Ö{ćÎťŁ †ĺ«É—ţîQ9sjXň®˙Îôź•ή’=+ŞAĎ··]*»vmS0…î‘^Š$pś‹9R1FĂôôöË! „¬řŔQ F„cÇŽËŘČűyBvîÜ!Ë–-5çő”;ëä[äô™}rřđ3wŢy“<˙üŮĽe˝Ľë®Űdé2IONN¸=÷°|óźż#'OžŇóŔÁdç®dë ›u^Uś=jn•¶ÖNe+9(K/uçwĆŞÄ 3§[ť¤•2ĆRŐťNH_ßrąó®[<x«&căĂ®nu·ş˝řÚu«ä_˙âOÉÓO='˙ÇgţĐÍëŞkŰ3î7~»Úµ-§NžVÝ>ŕΧϜŐó‡ť]ZTRuz欛;ů±‚ttZ ĆöŽf×εň żř/ĺ×ýżČáCnn•0o#Yż~ť45 LAîî÷+—ÉŤ;·Ë˙ČG4µQssŃŹµ”¦Ąµ «Ö,‘_ü7?ëęű˘ü×ßýŚÍ™Ş6mZ/cţýV0G§Ëž}°){€‚úY[AÇW @Ť®{ç2Ż[Lś¤’ŔőLŰ”/ŕÔ&ĺҲݔˉ®Ŕđšžžđó>§�:ę+ĂôX(A€…éd(0*6F‡JĆAŹń{ěÄYyqOżěŮwZ†F'tTń¬Bő…ŔCŁńžyŕ^ěsf·#ͤ?·'ě `?ňó—éŚ8?0R«ÖÚłú,ŕ1q¦CGFîŢň”öć5�6ů¨`ú¤f鞪ÓŐDGăšiw_®ĆőÎéŔ´rCî70Z@/ΗBq‰»vąÄ•3®ďNş1@Ć‰Ş®'•˛>(ňÂܡç# � ý–Ăél žĂ8¨&íˇ-€é_°¶U«ç¶ßtNĘÚ} €oě7oą:ĆŹ0JďďŠĚ ţs‹‡vßĐŮÂTjmn>`Aď€ ë;ćĘáóđ%ę›KmC;Ú“Qnö™!đ‚÷fť4ażpüë˝Ň`ĽlHC҆Ě ý±\çpöa`iČđ'†{0 “�X¬ýáٲLńľq‚LůFű=÷táů/dB̦m%Đ{ÜGżD–ĺ!»ţ'€S‘doëB抰ď˛l÷8ô;‘µí!ř|gÚĐďÁ¶1E;®Aě[öoŘ®¬ÂzÍ™5� P¬“j/ÎĽčOüLD#*7Ň<řôőőy ĘXŻ饗ÜyşncnĂÉűNČůĘWÓř9ä­:⯨áZ’ěîÍÜ˙fî}łĎ»Vú’Á¨Ď¦M›äSźú”ö ŔPá—4éď?éôOs˛hĚ@§ Čô@ „9ŽdŔB v €8HźŤĹ şëŕÁ @™4†c±äžŔ0�ľő­o©˙ü ę?܇®�őGÝqĎúőëý úáoř„\śÉÁž:  ŢŹ4¸ŹtZd…�(l¤éBů�1�€6˛ Ř� žĚýŚzc@›ĐwH§‚ň�~xę©§äé§źÖľĹ:°zőj˝kÖ¬řId+ 'ř źŘ>Üáő XmA›Poô%™;¸IÁĎgź}V7ŢxcŇź¨; txúď—‚>!Ŕ‚ĎmHC҆Ľ}ş±N×ÓH§űŹ‹ˇďC§/k!Ę3Gď峡ĽIŤ8.Ő9BçŃůĘ$0Śe±~ň öÁŐc–*'ΞÓřlÝCÔÝ!uÎ#Ř~ňxQM#4ÔAçŇhŹ śUď€JűpŔq.=ë†tőtÎŔé—Rx"}X51M#B&ŽhĐŢnéŕŕĚmoďĐßĂxŢd„4"xÁPš¶H›Ę´ŃlVf w†…-¶HíB@gŞŽx‰ 0]F$I¤ŽE‚ ĺŠŐ¤ë`Ú°~uÖ`©DĽCQŚžyéS«}ęś±ĹVMÍ{öîmÍ5­ß[ä9óŢ}Ůyqţfíg‡°ž¨ĄĄ5p<ćý^çđjÂ^Ď×;uɨˇF† Ď'„ Ésó;÷ÇdLă ÇVZŹôž›6tËÚm)‚ţbŃ®QöűŽg2…«„}—ŤîŹ“ď0lŕč’çź{IY-^¨ă ËŇdIÓTŔÉŽý¤¦€Ó8Gmč;iФ=×*Í-nuĺ˙íR9°ď¸Ľřü>™š¨Ęň=n?Űë‹mZžĄ,JGŮűÂŞlaßőźzR–-](›7®ÖKđ.1®qNÁX‡ôötË˙óţČWľň5ůÂżîćĘT(«¨ĄpÝ'ŁcSĘĽÇä?xŻüäO}Rß5úőkn.HWw‹2M¬[·FľűČłň§úîěs\&§J®ś1Y˝¦O:»†]ŰÎĘÜ9‹ÝYŕ€ŚŤź•±Ń!ůŔ}wËűď{ź¬Ĺ5mî|0(Ď>÷˛<ńäÓ °8s¦_öîÝ+·Ţv“¬XąTćôv»ë\rMŇŇÜíô­;+ •i7·G5 DSs$ccîú%˛fí*w.éŇq ÖŽ‡~\žöEw>(É·xTŽ>&ÖŻ–ĄËÉśysTŇTl×ÔG§NökŰ?ôˇűäOţĎż¤héîîpďk±,YşJV¬X.Ý=] ZJŔ:žĹŢ‹>äb˙o€ďFĄ4Uvçҵî|˛Xě?¤ăĺł…µµµ*c çŤn÷>Ŕň `@ ľĘĹQTŚi%âłf’ú({Ű9ť—h+@WÔ H«2= °ü 2ĘD\pM”«é\C‘¦ ’ś!LáŮx26‡p}M泲eÔtÎHlĚH§‡Fĺ•×ä…˝§eĎëGXO6BQo€b »éô†ž`şJ¦u€¤A»Ýë.^Ëű|OhąYćGöŃL:Bv6ťXS˘Ľî¤…­]ŐŘ�p„§¨¬­ĘT”/¸>VŕÇ´˛&•Ş“ľLôٰ”knŤÉ-r:e©{'‹ÝJpVâęWƸš>P¦ Ő…ÎÖ/¤`5§«±?I!n­ň ĂĐ0Ďw§ď˙ŐŇő¶ZŐÁQęĐuŘÇlZ,:>ţ➍4ŕ°óÚvé`°öÓUSŃJ¸ća_aëBÁÍÍŐodĄŁ{Ť0Ş5d JBçO¨kłű9®EÖOUBš™Ń˘a)hHC҆\ďÂsW ° RŁŐĚ—@ íá9n&0A€q!|.% Ţ Y+X§0]ěL2Ó÷aęöĹ"’ĚTNŔş„`ôIŘ/Y`nŘ_ü®~ďcű'śÇ/$Y!ďc}đoř7ÂgfíH!8úz#.¸Ě€D!"ÂÍ&Q3pŇ!2ב‰Ť2śo‹ť!ßÁą‡#@pw‡.nÔ9¨!!%۵"ç›D ą2’UvW˛Ź/Ą¬kńVĺÍ3Ţě}WZČÂ�űG>ňęśŔ‚SzsSAŮ`ÄÄŽt�č|‡ńß,�$˙\đ Łŕt‡ń‡ĎÁßa`®ő¬űđl� Ł°@‚ˇ ¸¬��€Bş†.ڍ3€ �j@P€ĚÓN>ĘSstˇŢ4dŕ^F12ÝĘ e‘ľ ע~hÚ‹¸ŘłM�ŕ9¨ú }… t:@FÁjhK˛iŕY�»°‚{Ńh; ąŢě€úá™dśŔóđ~Đ>|P҉’FýŚďÉŽpÖüť ¬/x&�č—-[¶hęôÓ‚Ŕ°I6 ´…ďí@‡ck6!;҆4äZ•™öö4Ö‡†rHxPźé`BYnxĘĂÚBPbřě™~ż#ŕ#<pgŤóa›Âú„�Śl4Ł)Čžt±ľąRp ć4§Đ‰¤{ţ…Ń®yď@¬iäuHĄiě)sAčđ‡c©Š4Î)‰",Ú»ęť8FIŽrŐŘá¨řŻYÚ¤ý’RŇ[Ę3ô”J鸠Ӟ cshvűŚQĄŢ‡‘Śt>ŇPC`Şî˙ĘÓÁX©&ĚpRZD·Ą°�…>˘~Q}řśÂH^Rćç|*ŤÄá# JĹyŞ C„=«¦ŔňÔ´w•“wŻĚeM~ĚĆ€xNEźACŰÇ©Q˧ÚµÚTR&ú~îÜyIšKUÓćß˝±†Xůąný™OÚfá–Â#ŠŇ÷:s9B#P:ÂwFŐ„†§Đ€–4s¬Ť¸şw)cD[kSvŘ÷'}U7k‚é‰ţSÉ©Sg4ĺĹ3Ď</űť#ĽŻo…,ZĽŔ9ľ;\Ů-şď„cíÔ©~ť÷pŚcĎÉýc.ź:č,…� sd^ŻČrw6ąëŽ]>Ą‚=?ĘŐĎcj©ŤĂtZŢx<ÓgŢÁľUm(nţÄOČsn?űŇË}rÓÎmnďÝŁĎź*MI[ç|imëp{ő9vçHĎ�š3š|Á‚y (9xđkŰI·ď=!§űtĎľë¦-îŚŇ­ďĚ!==ťJŐO Íâ%óäöŰwËWżňuu‚ÂéŮŚt3ýy/ÓĄWdrbĘ•łAŢß{ĺckV¦Dřc -k[$‹—.–ť»¶Éľđeyú©ç•˝ŕŃGľ'§Nž‘Ť›Ö9˝Ô,˝Că®˙dxxDNś:ćÚ3*˝=sĺĂľ[n˝í÷®–ޤ€€š]űW,_(?ţ©”Ý7ď’ßýŻżďĆĚ)MOqz`PÖ­ë“5kV¸s‹sҶu*› úiJćÍ›/ď˝÷]ňţ÷żWA$ť]b€ ‚°&G6ß Đ3íĆöčř€�Ćś°\›ž•ůäĘC~WÎ śÖTííÍĘ„łSSs“´‹uşÎ@LášRKĆĎůŹÝ6łőČľ)»ä0]—É)°#L' �ŮüĘ6;Ľ;żž©â°™Tó AJö‹őBäuľwĚ'Ç$żfL—« Čť’ĂLJä™=ÇäŤgđÂqŽg.X°HűddLß±±Ť8 FëxLJç8:čËeű¤ëj>™“üFđĄĆ˙jݺſÍä€O·TBŞs˘ŞňůfOEű—Ů:”O€č°]�˘UĹŇ™SŠ€°ľT‚ô1ą‚[cOIiú¸ë˙n.vcg\Ăîç)W6ŔUëo´iĽŞ‘HXşľń뎂2ě_ H Ź´\Mu¶�ęxľ{¶ßôW}ú î§x¦g Ţ%÷‘¦ŕŞÖ<řü|ÎŘRř× �VRŽwúH^uĘ….Č‚Ď&KfšÝ—qݞ–@lµnKסp?Ţ–=›í„ iHCŇď/á9>&âü€0öMY Eř;÷N8g`}†pďĆu9d«÷^ˇO™k0ËÁyÄ‚Zę!…„€X–Ĺ3<mIÜ› =,' ÚXîu"žLŮ´u„÷‡ö¦°¬5mbŠX”3ŰDČŕĆýQčŻÁ~Üzü²Â}_x?ĎŕYűÚő,ł`heŇąDź „‡ó/—9|ŕă„Ĺu0R·łł]©+׬Y-Ż˝öşś8yBŻ:;¤gĐMžm~­Čµţx'ĺj8Ţî>~łĎşö\±\ŻgBô-Ň Ě—];w©‘ ”µS“SĘ`�ăđ˛eË`…NŤúrŽt8Ýá€ç‚ }eçB]t>ĐQX´`Â_:ú™"¤ŻŻ/ŃyxA`k�‹Ę޵k—lܸQďÇ3Ă ‘„4 `Cc2˙fľQÔz€čYnJ¨gŃ~€PY`|`şćzÇć�×öjDU›Ö—LŘ4Ŕř‡ű ń;ú“i:Đ—xîGąa@YXČäg­[·NÓś`#ö`ťŔłńŔ,2±�‚>eÚü}ʞ eź=ĘH<‚1Đ.Ô?qž°ĘÂ5�]ŕo¤ĹűÄóPYLţ´H܆Ѥ! iHCŢÉîí¸Ö„Ńüž˙>Ř3Ś.ĚÁĂ&Ś— ¶ĹşµäB,áół˙Žăzš˙°>Ëétž©¬+-ˇB@gbđý €BXďHˇÎ|a»ň˘đ�%ÄýˢuŁÄ!©qÚ9ŃkSЇ] R0?KF䣻 řIyÚŘ!Ŕ6‘‹-=‡_;śŁjJŤ+SîÝ!]@“»'‹ÍG9-Žiu€LP Óż¦)LŕŔ$DJąo4üě‰ŔÚ^ö?Ĺ÷A^ťgµÓNT¨‚hcć´e˘źš›[tź Ä“:o đ±”,u®s JµŔa_v.úa€]hôŔ<϶rF±ź0“H×ríĎłDHőĘşĄĘt’Ľ#×" áđ5J=óKjś2‡3úu8q˛ß˝§˛ŚŤ·{˛Q™?·×í!»µŢÚÓáĽT_ŕĚ YM‹SŤĺË_úyč;ŹËęŐkŐDÚŠRiZ-śg†3PĂšŰCŕĚE€Hľ`©lęiŠ–Y<ť„šĆ3!”ńžśsÓRőTäÄń“ 4Xľ|™:›-Í‹şç»óśąH™ö˘E eďŢ×u, /nÜľIćÍ푦&8+]˝K䰳ќ<ŐŹwDlÚ´An»m·»wľž›ŕ,]˛x±¬]×'ńç_”7†(óÂđđ¸lÝşN6o^§ďh|¬äşŕô6g“Xý„,X8W'�4jďhsd×÷nÎé{9uj@&ÇeËÖŤnÝ)ťćookW€CěĆçĽůÝň©ý¸«×fů˝ßűÚÍ-Í2wŢwRÍ"ň~D&Ć'eldJö˝qXÚ:zäĹ—^rő#AU0UŰÚlĽ¶µş˛ŰŰtĎéí’Ź˙đGĺ·ţ÷˙¦=^qÎo¤fépGÇZF¤łËíýÝůcEß"÷}»Ľď}ď1]…T pľ)9&0}-2 Ćč:Ý#ÚPősŚ!íí-ňo~ég´<<ĺ+cŤŚĺDę@@dś1}` )é`–şßP›cŁŕtAEY‚Ş2>}Úô•jµJléb–gĚ2n+C ĚáM媧 FŽCXÄ‘Rgx¬i1/''¦ĺäéQyĺő~yu˙i7&µ.îűć–ĽŢEőŚ„<Ű‚EçC|0çQ. Ď¦ŹŠu€ ęDÜĹ)`1LłÖŚŞ×dA ס>Ďî/ÂßĂrą€Ţ˲V$E Ш{’šÉë^íת_9O†RĐteʼn«)¶Ó ÚÇy÷¬bţ”»|ŘŤłyçÝ™?^-•xÔyĆ Ó -HYźbôoEßo \4v ÓÁ‘g˝€`kđk¸¦˝ŞÖT7{.%ßvö7ßY^ű¬păTÉéĂ ŽHÇ0áľ+t,„ —äťĺH‡éűJ€b}h€ÁČ„jŞóŔ4…9Ď`ěË 1~BVî9˛l”ť˘VřÇYX_Őî9¦’:'PsqÖö҆4¤!ßÇ’µ›„kbf÷Mˇăž~‚@@˙ $ P ××DŔµ¶zl-m^±îÍÂ,a}ŕ»!ëhâ$|dA¸,#,‹)Ď®@}˛Ŕ Ö- $e›ČXJÚ2ž‡Ŕ–—2xFu€ěyđ7¦€S·„íʲ—…ßÁĎ3[dÖěÂ0@ŕÔ#ĘČpŠŃůď0°Éĺŕa>=ĽTŇ’( ¸ůóçĘ 7lQgśdŻľúŞ:ă°qĆóp€edǵ&3C ‹++aż•ľ˝°Ćuád˝„:^oÎâ™Ţ A˝˝=˛eËfyĎ{ŢŁ ) KÎś)y ASÂ$AvHű ‡r|Ż9{T#^‚pÍĘ•+u…ncŮ-¸ €ţb.vh}ĺ•W´Ě{ď˝7a«ŕ¦şßáZ°S�l€ňPA�L�Ŕ…\©ŠÝýř›EĚ-Â1¨‡ćsvבFßáYč/E�*�ř�÷Óq„ďŃoĐ·ś[°Îě'¶ÂŤîEßĚÁw¸ý ~˘<€,Đ—hÓž Žč˛#1"”ÇH˘Fńîh,Ă=(ăŤ7Ţ×^{ͷʶmŰô^˛w°Oɸzł_Ńün¤ş»!oEHÁMę8Ő1WŻ^ĺćP—+±ÇÁčJ Ć3ćć#IK–,U*mŚkčč'€ľ°×ş\az#�¨Đ¦7#ăăĘ2C6öŹČ–‡HHč#´lE+W®±,D@˘/‡ťeˇMË—Żôi䊞ý‚ţܸqyĄ†čË€Ŕ űŔć:ÔŻEî@ ď�} ¶¦ĺËW¤Î§Ř(ęÁţĂ”}}+“´W“ě^ŚQŰ8fY„fr„śOBŁ~vßHŁ<S]ÍT~hT€„µ39b| r©mÍ/¸NŃ€ţíjIč| ‰S_beuP‡ö6°ĄZó ž5@ˢ3ĆźăšEÓˇ®Ž\W«iĘ üŽČöäą®ę ,ŐÔY¤né\ŕPÓßi°hoЦç|Ý‘oľRµ”uz¸}„sĆäśó†‘!7>ŰŰŤ9+§ÎqĎfˇQÄ®ś‚9XI1nÎ#Iqš BŔC9ˇeZzN 5uY¤4R~�p®A»Ná«D=Ťą1T$˝±§ď/H^ŃzÔĽÓŐt‚UR6 ënÓS–ĂÖ"É ěµg „˘4üµd?k×pĽZĐhSM3]7¦Ě¸yăŤ^5ŤvϲQ"ň› ”tnoGEű1—PĆ­;ăníšvk*ęęöe%�dđ Ň,ÔĎŻhƉşĹNżĽďŢw)€`hxÜé÷Q7&«ęŰWbFSU§¸DgÝ:µD"—ËR°¦ĎÔ:`ě«3aäč;›ßăcnťętc¶&§úĎĘ—ľ|żŽµ-[6Éşő«Ü8C?Uuťă¶©ĄMť·Ĺć‚€˝á©ď=Ż)w-rŃ<ušöôdxtR^Ţó° ťŐ6-[şX~äG>Ş©("7¶KÓc®ĽźŽ"' ΗO~ňcrčŕ!9|踎Ź\TU‡ëBštl‚ştlDßRsÜu×­ćüôú`ll\^cź¦çxăěkň´{öÁ#ÇeÝş®=k4ˇÚ´Ľáˇ ÔA EK–k{.^ +ű»ţ]®Î÷ç\ÇXËD[[“sě»=Ă yüńç´Ď6oYă®_âú1§ -Ĺ&KýqěäiuÔß°y˝ôÎéŐ1××·\ÖoXçÎ=‹|Ş÷.ŕ ×4UŐ-i¸ľńS(� ď®ŚÔ ĘĂżĂŮkz­ŞĎ…Î뇞]:ś¶©YSBpě¤ú<ŐµQTţKć†~íSFI|¤z´ču¬{§Î>QšJŮâjť\"cÁ¨3"¬éc<h¤ű´±éU u‡ÍÉŘ˝Cś…§dl|ZÎMČéÁ19z|PötżOy› ™7puÎpMŃQó¬T“Ţx^Ńýś˙ÔCé|«%çXc¬Čy†ę “¦¦É{@�#ú˛kfĆäÇďłŃŠ´3„Î÷™(ˇ1'ôÝřuĐţ–Ón Ť×!€ăQŮ}ŔVT›Vć ŰŁł‘o45‹(h¤ć á d«žJí´{os$ĘĎuß­vĎuűćhŘ}ňĚ9Î lÓUc/C˛€aVS„{ę 5c˝üűÖŻo€9ĽŁéJɏﲂijdŰpc˝ŁÎf!kHÂđě ÎM§Áu'išľ?Öőť§4ä–JKĽÍ+ŞcNĆ™vĚIěAÉâiiŠI� źŽŤt Äɸť-^“ëßSĐd*ƶѰ4¤! iHC®o!@>¬LW)Rż^sφ}1Ó~0P€ľ_î›C–ˬ % 4ÁÚMGč7† †ě™ˇÝ„2DđZîéčź ÓŤ„íă}a˝đoÔvŰóëÚ:Â}&Ë,‡ű´ őA9dŮČî]ł@FpíWˇO(ËX1S9ü0¶ČŮ"ł`ÁÁJ# ^0W�BÁLt 6ż0¶â'' ˛pÁ(Ë6Čh``‚Ž@ĐĽ#G'"±y†Ó‡r‰˘aßď?ąÄĹî;ĺrž÷Vę–˝÷J·óRʻҎč8v6oŢ(;věPspA§Ŕ1t 8˙ Šş@×ŕďpŇá^|@)čč.\c&Q„Đ5á.°tÎCB—ÁůÁżQÎsĎ=§żűî»XŇfQ‡á:iÁą °€ŽPÜKŕśµpÜâ^dfô]ô®%¨ DŽ2o3Ű'úŚyMih"ł*řßá^0…–ő@ýp?ÚGÄ(úťŔ:Ö¬YŁĚd7"÷?˙üó´ `aŞ”…硞¨ ѤL`6 «WŻVÇ/ÚB”(Ţ+Ax}¸uĺfŽ őy|ŇË€+>ó™Ď$¬]–Ł~Jő×OýÔO Î÷ß˙€ĽňĘËň[żő˙•+%Љ<đ€|űŰßV�© 7lŘ ţđ‡4úőÔ©Óňűż˙?äW~ĺWŢŔsô›ßĽ_~îç~VA—+Č•ţŐŻţęI®»ví”{îąŰ÷—Č‹/ľ$ů—©óň˝ď}ďŚ� 0}ýëß={ö¨"hěć›o–}čęÄşňąĎ}^žzę)Ő-X‹ `ńćÖągžyFSâ}úÓźľ¦Đ…ßůÎwäá‡vż—ÇÇżü—˙R©ÔńޱŚńöřăŹë=�îüŘŹ}*aşdYä˙Ő’0r1ÜŻĚôÜl”ăů%ý;hü±ľ˝ď}﫣 ľ”:e)«ŻĐ"‰ŘśLő¨Bâ ‹b‹Ř®sÚĺ-,J{ž:%ĚATCĘŹŔ‚뾨ú¶Ş%ŠęŢCâČfńŃ*ŐG“�Ü�I"aP~-í/ x§Y`ţ|r.µ}VäÁU›ĹąXď!-¸F”äŠö^LQńνZť#Ô@ q@0K5‰tŤ0¶‡jŃ~…“™×’ŢÎd–IGSůľDâä;)đ»±x5™S*&ý}ěYĚqdĆ—ĽŹŔŤÇß7©W LgĆQŔ4…á4NeéQCŁ÷ÁaÄ* "p˛Á)‰öóé»Ăč€"#2âďă“ÎŮ;%ó6Ä9ńŰÚ[SGZD\=ĐĎ@Ű�čű‰źü¸[«ŹËÓO=#gGÝŢvÜ˝ŁłŇŢÖśÚ9š ÜŤýhRă5Y˝˘č\}ެż®~`éT0R>Nöŕ(Źď¤©© ©8žyö·—ÓgNËĆ kÔY_-G21Vr÷ě\’ţţAçŘě”M›Öë~);–.["Ë–/UF Ś+€^Űű†[_“C‡Ę‘c‡dŐŞ•n]íq{čůŇŐÝéť’í2]2§ôíwě–Ç?çÎgÜß[t¬Ă¨zöě°L¸ţ=;4ęÖúµ˛téBWĆ™śss�h<·´iăYíž3:>$Ź>úŚô śŞlŘčľsm–Ţž^Ş:|LNśÖ=ýşµKe÷-;¤wN·Î›ÉÉq„� ŃÖŢ#ďżďݲfí2ůł?ý‚ĽüŇ+2;ŇČűŚjĘM96esŚť­ňĂźř¨lÝşIÇk[‹‚(ĂŮŐDÁDĘc¬g�ŰL•`ČśÔÔ=%WďI÷.ktÄy E»;Łč|i±T:!ŔČśĎ) ¬T—ýĆ"ö™2uŠĄňéJħÜÁŮfr´nžńw…vćs) Ă�l¦A#©yp…•ůżUë@JE8^’ł28äÎźŁ%9uzTă'db˛ęry˝¬,!8‰Ć_Ěs€w0–ó‹ĚŠř‰ńBă1~â¬ŰŇ2ĺĎÜ͉˝1Ő±UŐ‹çcHČôičć;@ß8ČşŁR˝®Ťçü.Ő1Q]lNą:×u+Łţź$ĄÖ…ÚEž:ň€´ŻĘ¨L^wJrµQ×ÇsÝxmwß.‘ruÂýr%¸u-š’|ŢďJcu+Pu•OkScŕđ©ťPc�¨‹ŐQRJ#QńÎLÇČJ6Ů8׾Ť-}'ŚnÚ4n‘™¦©:7gűLď,ěűĐéiJ–ú”.!»Ć‚8 eéFqŢÇř"«ßÇËf*´ĐI“ÖˇŢéÖÝÖć†4¤! iHC® ĎméĎś2‰…çÜús{Č,–×µ–ç<Hr¦fđE|núŚl@MČĘîBđăůĘáwî3CvHX.Żg›Âs;ľ'@M–‘ě˘sÓ†±<îmř“gk2?fë>7lK¸˘?Šűç°Ś,Đ"LsBpüB�¸Ăž9[dÖ�,ÆŽ@ŤŇQH9ÂIĆI™s„t0p¶Ń¨Ă\ŚpÂ)‡ <)ŕ:ěścgô@Ě22ł\­ľąaú˘â¨oV˛ĎĽZ†čKyö[,Ě~Č›Î)y[D’·éX„�P�Π2Ćü‡®!CŚžĐ4ľé�Žs|Bt ô ćóâ‚Ďpśˇ\č3€ČÜ€{™N /¦× Łő€C 0‚•N€© MAÖŇLAĨˇóI=ŕlDq ‘4 �PăŹň Dx†`‚á ·™Ćzšu˘a:ě¨/u;>düŔď\Üů; ńp¨‘ş ßČ@0 ŚÖE]Ń&čv\‹ëP/ô'€(xŢ믿ž�đŹ ÜGć ® '`AůčnfpŰ€:¨ďqóRă'!ڦjHCŢŠ@WÜsĎ=rë­·Şaůůç_ßű˝ßSž+–É•ŚY8ď?űŮĎĘ»ßýnąĺ–Ý:ßöî}MľńŤo¨Žřˇú:H~ögF–,Y,o^"y3�8 ľřĹ/:§ý#ň©O}R0v´ńČ#ŹęśýČG~@#ăzč!Ő˙Ó˙ôo”I(+p^ˇ]�jÜ}÷{dóćÍ:×_zé%ůň—ż˘:ăŁýy«ëç?˙yů™źůy˙űß§ú˙­@6ĐSLĺt­ +ţůź˙Yn¸á7fďQÝřÇüÇ:ľ~í×ţŁŽ7€źyäąí¶[Ýx»Ĺ9éŽČýŃ)ĐíŢ{﹤-^vÉ(« .ź“»ÍIčľÔúüÍßüŤŽCĚĂKX„‘ !ŐůŐÜÓ& ěé‰\ơFúŇŮ’%ĚDÇ”őĄEL[JzcYëŚ�pz‡9@˝±ŁfÔôd˛đbýCL”FźĐFŹ ל”u(ă^_«nliqF“<€¸EsjĹihóźSőő÷©T|ަ É�ŞĹ$Ę߀yOOďYj‘:ŔIŚçć"‚P „ő+X ¬]Q @˛„Đ€cL •Ä'žą˘š€cÉĆDÂ<óÜ›a_‡yNĐk¶&ĚaľCţ-Ežź<ŰH­>goĘ Ęśs…:]1oŚĽ—étĆ'`ch“c'N+#@`sçőH'RÁ4“1nËT=Č‚F©ů`~čîr{ŢąrřĐIżomqNóVý´E­­U{ę<ǸPú˙HrđGŁŞ+č ëŰcÇOĘSOż,›7­–ľ•K>őj-§ ů\S2N/Y$·Ţvł8tTŽ>¬©7 Ë–-–¶ÖaťoĹć~}'GŹÓç|čC÷ş:/‘ {ý9ĆŇ eĆíwܢő2&˝WÝągTűgËÖÍî·©µµµäöÂe™3ý2gn—|ęÇ>nŚzn­Ý°ať:Í8,/<˙Šěqĺ ž9+‹/ľUKeţ|w^ZĽPűĚ!łĘčîÁ~ç»ß}FfÜgcîuĺTm>-2oţ\mp}~ěŘŹerjBV®�ÓV»ž{”qËő3,�Ě@J–Űn˝Iöď{]ÓJŚŤvhz’ÖźN˘© ť]®>Ś4ó±ôŞCbźqĂ’:(Ŕ)Ę‹1PŘč(;‡6‚w&''ôó&"÷ ë5Ó=m®î�o M ˘řńÉAÇDą`Ž,A5çCěç4mV"L9`é�ćoŃ´qŤc>Ť¤Kőś›—šN$ϡˇ–€"‚*Äë˙ÔşŁ;Ď%Ŕ’Ó“r˛T††Ýř8;&ÇOË©S ¨Ĺ€\`á)4ěiŠnł4F`­ˇ.Ŕľ×ć±éâ¶6Żs‹éü¤ž‚0_7Ďń�ů”¦'Ýhu÷µ×1<ؤěő]®>·7*‡vG˙M×T“¨Ęą�4:¨łhS`™ŮI|OˇLhŁË6ţrEKq"±Ą¶"ó�*č¬Ҹ$¬*±±Mčxšrżsşăě6˙ËÜýî|-cnN¸k&Üó§ť®©x�_A×č-€ ýJ–ľo×ÇÉűÂ^Ç}ČúP,¶)Söăy@¨Úŵ€ŐČֹРJ¦ű&tNd×–ě=ˇă„eđ{Sz§ Î:Ć2•Řhđ;ŮCCçOčÜ ë’Ö×Ćkę؉)B҆4¤!ł@µ/ÜĎ0]$żĂż±GĂšČT ˇs?»Ž’™4»GbŕcRB» Ë maáą~¦ńŕţ-Ü?pĎ@ű%!Ŕ—ŤźôÓ„`QHh—áwá‘ĺчÍ`Vúx_¸Ç S¤d?¨+ö0ôµĐo“-'ŰŻ3PŚ ßězđ…Ě™5»0Đş"µéTŁc “ N-NBұăß0Răĺ2ZßĂ ÇślaŢ8áCą0LăŕţňË/»ůquĆä==‹rÉ\i Ó•”™ Ηd„Ö3ż?ôĘ•­O(WÓ8}9e_¬ďßĘ›ą Żő˘˘Ć;IË•ŽĚőoĽQvďľEĆ’c)A # Đ=ĐĐGX ř"ť7#8♌Č=¦„€J’QÉaZ :ůˇ— (‡éBđz Ďõp4á{�+ ŁP2dа¶ˇ,üşXÔ´OXÔńw´‡(Łżż_Ë#ĺ% Ţ]\Av n*Č*6‘m‚z™€ ´Źi č3|ĎÍSv >bî\|Ç{ Ü ®'ŰDHF€Ů;ŘvF•˘î@Ý�8Á{†ˇuÂď�R ­�7=( ×a˝@Z›nş))Ó˘olĂ…ç1/ ¨+Ú‡¶¦‹@M§2ĐKiČ[΀ *»»{`ůśX€v€\żsçÎÄAô;żó»ňĂ?üqť`ŔĹ\Ŕؽ뮻ô{ ţö÷˙÷˛nÝ:ůÔ§>ĺSőDŞŹ0ﱩĆs`,}ňÉ'u `ĺBGÜyçťzýŁŹ~Wöďß§ÎąM›6Ęí·ß®Î”¬ÚG¤îO<éöd/éśCNű;ďĽC$Yčţűż%?÷s?'ď˙˝É÷+V,×{ź}ö9MgrŕŔ~eE€łúŁý¨Ö! °_zée¬|ŕPĂ=dŐŞ>Ťîîď?•D…�‡6cď>CńLČńă' ŔhĎöíŰÜúłC^xáEmŰčč¸ţm||L!’ĂGŽ(ă˘l!ýןŐ2¶nݢzćÉ'ż§Ŕ”Ů­·îvĎžăęuÚ=ó¬]»6IWč6č:č2€0 ‡�$~ôŃGµ\0hŕ}­YłZ÷—ÂńVăý‡Řź »wď–/}éKú;ô?Ňřđ öô`&B=żő­oÉ{ß{ĎeăgyĽÚó! Ó}q‰2ż‡-Y.TŰ~5Á%”8N@ë©ă(ţŮY˘ÄŘÂëRJz-ťŚőN•|ň»‚§ ďhTt\ą©2ŞĂ*“ҦžEŁ'\ZČ;Ç^GQ“ăžŇÔÝ× PCJ‘žF‹˝ş:˝Ŕ0Qµ|öS¤mĘůT –>$uşĄýĹ1�}¤uQGP.iŹxĆŤ*¨ČkvŹ]Ó,)8ÁśmšÂ pŔjU‹6– «7ę™:Ëz-€Ú·‰Ł±VgČ-”еrŻ”ŤĘŤSŮč l´r8öC#ÇNX‡Đ`Ą¶j^š µ:Ç'ëŠTÓÎ;:<ć±Îˇćtíś^g_čéJ˘–˛ýX4G{”°I@Ż^Ő¦ě ⇟¦Ž†1ęű(gŽůR©˘Žőb“Ď † �iśłą˙ô€<üč3ňěs/Ë‘c'd׍[dŮŇEŇ3§S×öjg}_•ň„Žu°L>tP×ᡡłn}Z"ť]ť:¶ŢŘwH÷żH­ć‹9§“j_ŤŚ ű±'Z6˘ďzםŇŃޡ{ĺŐ×5-D{Ö‹śýŘţ{ldL–-_čž˝Âéů]îÝ·h�8€ńąpáY°`®ÖăŰ<¬A-ýîLłyóŐ“Ó hiiŐůqş˙ŚŚŤNČŽí7ęܸiŤ^»fMź_'Á6˲®Eʨ1wŢéęl–Gżű´<˙·>ź•-›×9‡z»ęťéRMŮ †‡ÜąÁ­Ý`Ęř‰źüQMÉŃ;§G–/_˘e`í·ůk4=€IL㉥×)Ŕ®šsőt×Ä6.Ŕ `G©4Ą©HJ“SęŘÎBAÚ\ąä~‚ˇÂĆŚO-ŐGÓŐ«ë\ś°ůŔu&@IE)älďP©MŮ\¬–pV©–”ő$4 sN„�ݬŘßm W“y—^WSý+OF<qu<qjT’Sg&5Z˙ŕ¸ôźCL9M="¦ë,ť„+Łfú{şRö鏦ëäĆLѢă-Ě•m)ʬVĆPÓŹ©žÄ8Ä}vnź’©’-Š0ś·"P«OŐQ«c‰H€™(ľ,(> ˙Î:§†ôřś}BHÁkö¬đşp˝ ťů…‚§Ő«ćőR,XQ°^@;ŚřDűëÓmÄx†.o¸¦ěÖ4¬amR‹ÜŘ–×=NżÁÉ0ěîvĎ­*÷RhzŹś˝ËiÇ{Ł^Ł4ťţ(´µ&)Akq€áŞľ®–VKŰYMÇΣ˵#™Ţ.2ZpźF`† ‚RG—B`_řžĂHO|Ď >Ú&°žaÝ7peKŘá{fB` ףz6Ť€măťŘ§5¤! iHCr%\ßB0±%´xVDKŁÍ˝íč!C6×ĎEŚ€®Ł\0uÖdŘ´Č<βÂrCV–ź ⤠ź˛őWRÖ˛8K˙ý¨a]Âý,÷+,Źí„ď?|Ę3tH:eŃČÖ?ÉĆĹ YúĚC¶ŠpďĘrx5đĆę7‡ÝöE°óL?dÖ�,`TE´6^|xé´+iíSz>©Pp0Ń)† #8ĘaÔ9«¤"eę‘;¶ë5đycß~ŤŢddö… ¦ ąrňf@ńŰ”ŘĺzyďŮč‡Ë˝÷ťh§‘lľu9§îÂ" @Ŕ�~€yŹ…ŹŚp<Q—\'?ś>\°©ŹŔvŔ´č€ §¸€…yBÁÖ=Ç\Ő0€V|”ž˙˝ď}Oź $i(ÂĽd¸ĺs1VæZŕZ˛X0RĎg˝Yg´Ź†Ë˙;ť°nÁďq=SoĐđ 꽉ëQ6#ĐŮh#Ú‡{Ш3 ¤ÜTJâĹ‹ # Q.îAźő‰wÂÍţęn´—©LAťąfp‡:áyč{¦Waš¤=»ŰőĺĹ_Tg2ÚhS0MęÂh|Ř>rĐ>Ü‹ź'6Ś& ąr‚1':ĆŕŞU«Îů;ĆßSO=­: L,X 5ĹwÜ®cNkĚ�ĎŕđŢ4 żňĘ+ňËżüËuěp–  ĚźÎÎÍÍţ·ű9ůÄ'>©Ńž�<`ž�Řüçp~ţó§ ¤hĂĽ#ćÜŹţč§´Ěp}˙Ú׾¦Ś��D ćć/üÂżN@ě1ď‘Â#Ř P_°Y -ôęA˝±jŐj§'Ď>|X˙ŽhŰđ9×÷Ý÷>Ż3#ŮłçUe €Ń�®ýű()RćĎź«NŁĎ~öoÔąwú}ŢŰ;GV,_©Ž´ó*€�ÎŤ}®Ś§ÝűBż`ń­o=ŕtc‡ëłÍî óŠüŮźýą¶u¸cŕ~ŕCĘ(ňâ‹/(xĎř“?ůÝODýöĄ/}YÓ¨Ľ˙ýď×>G:•*Cś _˙ú×U~üă—«)h+ĆŁĄW˛1Đ t,ŢĆ"ę‡VĐŃQdăőüîwż+oF˛Ť Ë…tôĹďżT–ڬ“ë‚ő‰YśHąôŁľ0H#4ňż{şsy 8—m€çbĘ‘Ż3ž„Ć™ÄÇMŽé Ę$ŤžćsůL!BcŚö‹s‡ű äl@cBâüŠŤÖ4gŹ@Ts¬aČÔTI#vŰZZŐ1­­ö*u>™S)eŠHű*gŃë°o®Ťę1ŚŽVŠ‚¦:±ýÔ´ţ´ít)]}žŃ±5oĚ)čxŞŔéš�b1cQ>ç:jĺ„Á#@˝†1{–ś‘Šhđ>6ôdÂfťC0oh8ă ťŚ!"ŤŽ˝z`Mäť×Q]ąSÓµ$MHÜ0°á°˝ÇÉXş˝âáĂ'śżÓý»¤üŽŽv¦&€ÄťěśŻc±Aý=ĎľőMzýäDIĎŽ(ă¶+%zi!�|@twuJOw‡®AŻż>%ăc“˛yÓY»v… ťv{°©€Ů®]:¬i»�ľűä'ŘťozÜď˝2o~Żôh ŻHzzlĆZýś8ŢŻëĂ©SgdűŽŤN˙ÎŃţÓw»±[ŤÄY‹+˛vÝj·v’éŇ”ŰK/”Ő«úôüsđŕ!ç<źłC®=Ëeűö-şçŔ:Šń„±ÝŃŮ&Í-ٸyŤ´ąuíěŕ°|űGÝ8¨8ÇnAÇ/úőĆ~,�)€ůČÎfâPňę|7†fśÇZ›uÝÜľm“›±Śş~zřŃ'¤2í ‰`ă¨ć5ÝKOO·ëŹ^­K—ëĎć–ĽömÁĎ= Ň´DŢŮ.~­Ęĺ›}Ä~N}ŮHf05=ecÚ9ë±çÁ§Ďůô!9éhoQC2€¤�­ŕci 8~u´×Żâ$†1‚ß~ĎyP…jLyYꥊ2 pn—śPŃů{&0Ü %`_ńó$Ôɡ!<‰¨ľüŽ3Ź{‡gÇĺŕŃAٻý*ËĐĄŢ ËäĽ5cl¬}8Ł8ćolŔ/üťÔÇ4Ú’Y…©¨Ě.dü Ń[’3:ëoFwŢŃsć„{oΞčĆ�íínD™ ś˛F¤€‰pÍżî¤ŃŚYŔYÖɶ)źü˝f/LŞ@@ű `¬Z|�ßĹ~<Ôâ8Ţäu „ú ˇśę*´ä={Ž˝Cc}Šl«†´5㢿ĆE·Ő� kž«Çh ÷Ü!7î‡tĽ\)—ôůĆîQ”&׿íŢ_ËBŠjÓ{ZG1¦SťĆ(E¦Ş"ú ®X ¤ô«¦ëúµ’®5‘éĎp­ŕľ«dâo…z€KčŽWíkĎFݱIFN| ČvÁłF8X®®sŐZ˛Ý çY>×H҆4¤! ąţ%<…ż8qĚź[Ł$h’€IŘ­˛ÎúđÜ‚t�ÉßQţFVlC˛áďáşĚóiXgšąsAĐő~a–G˙3 \ăĂŕË‘ď†ű–Ĺź î mMY`E(,÷˛]¨UĂ˝hXŹlŰBŰ î‡˝A\}}}jŻýîRÓ×^2kZ‚AÁaDßżůĂ+ň/ăŇáG lnἂ3ŹŽ2DdĐ(C” ś†¤¨'u?śjpÂ1ƆABŚĄÎŚň˛€“!;pŢ 'ô•~ćĹ ÁoĺŢ·R×™î=źáz&eBy+í»R’;PľĺRî˝ďáí”KqX„wˇîvşóz/DCp«Yťppş3Ĺ :{ [(Bŕ~8ëq-tô ĘPşě9 „@ ,ŽjŕyD]âZčż§ź~ZËݵk—^‹gâß(ź .dpD Ě6$xŻçbŚ:ŃaĹÍKb P ÂT(Đ˝xY$¸a¨�íF˝Ů>čP2Đ`ŽöáşćG٨_h B4Ŕ“®Š›€EPüťíĂó Üp <uŁ….˛wpC6Óč6Xű0>đ|8…Ń_0ęÂI‰ďŃ2_ŕ^üť  ö'>k ‚ça}ą´hĺ†4äÂ'ÇüÁ8gýß*háěŮ!ůÄ'>! Ě÷Ç—'Ł��üČŹüH2ßCÁX†N€~Ě Mř°ÓŃéF}ýúu®nV.X ×~ú§ZA¬Ł@;"÷DfüwŘ“'úĺţo> üŕĺ®»îđ€‡ ň»żű»ňňËw:˝¸ł®Đ ĐmMő[_GĚq‹(.ĘťwŢ.ßůÎwtčCś1ťôóžŰŢNm ć38Pg0O@÷`]ůŤßř *üÔOý„öĘGŠ čńáá!ůo˙í÷ń±Ź}DV,ď“ßůť˙ęęt—ěşi»9/,ŚPÎ'ŻľşWעüÁŹ©ŽĹÚZňÁ‚züÚŻýš, ¨�kŘptëÝwß­Ś`ĂSV‹« °€ľ$[δ˙÷_={ö¸ľř­ő(ťr¬‹oVB§˙ůţţďůßKȬp®Tĺ7~ó7Λ†ĺrA ŰÓ�xňůĎý˝Źě<°˙ ţţ«żú‡ÁĘľĄňéOú‚ĺ‡Ńý—»—z3’�!„�ŹÔYÁŕs˘DáD—ÔP:ŕ˛N*urĵ¸ˇ÷×Ň٬AG:)Ů\Xn:Őđ 8ɢdŹÂňfĄ=7NÉéLę6EC‹˛[ä Q,6'yÚŮ^¦ !Ł€4ć\ŠÄR{¤ôř�@X1ť7it/ŁQčŠcŰß!r›‘ŢĐpŮ;Şř÷d ŤZ`ŕ‘¤Ý9ŹEŇpGĂ Ű@}öo8ö0˙Ń˙�˘~•éî˛FŽÝ°Lţ-ë´¬?÷ĺPŤH˝S“űđ¸%_g` ë¨ďÂő˙áŁ'ÔÉ®éőJÓšîaţĽ^éîéJtźťĎ_`^©QLÇ«_ŃÝW5çô™3ĂňĐß“ĺ+ɦ-«Ü޲GßÇ`­f㯫{žlÚ¸^^xáyúŮmŻÝ\Tg~G‡QîăZ€�®—­7lrö“µŇÚÖäćŤ1’DQUÇé˛e‹ÜşŮáž·PľůĎ»őá{š"kbrBnŘşAu.�BcŁeuDžę?®Ś»wßäÖµ›¤PĚˢE ˝ťf±,Yş@›°Á€ĺ€ŤµkWé§Łł]Aą\“»ľI†Ý:622Şűo2Ömmß(6®ső™çžmcE7ŢnĽq«tvµÉWľ|żîĹĎžteąµmŁŰCôézŽ'(»UtŹ41>Ąě/Ľôš2’T±zuźĚuď®˝ŁUÁQŻó„ó^OëpŢÍŹBSAA ?SÓĘN1éç8ö ? žp—u¸ľn׳Śs6›´ź 䓦€<ئn(°#wÎX6Iue>×ěęmé`Ę•’ÓmÎě~VÝţ©âVĐĆž“3'v.urëó%40›C?ëě­wDÇ 2!Hŕ˘ţÁI9pd@ö<-g]_Ś—dx´$C“ʢSps"ź«×ĺÔ4XřÂtŁž˙ňEoč50 ÷¤)`!…eÓ{ç|(aşOíMMCcç}č#�ÔĆÝĚ#-cĚeNkę›,xŚĺ„ë“ďbsžK˝QšëbŘ˙‡űňÔÖô肸#Ďâá\óQˇµ`ť$‘) ŠÖ®üś]`k*úąfN�řŠEŚ w~ŤÇejuęvăy‘Łůn^tsaHZ[š¤M™XLÉésňądŚđ‘Św0Ýä,N dÁ™˝lɰ|}ȑՊěŮţ6†’Ķ–K÷ëȨžőB’Ą¬!i]Ň=˙%˛` Ś|Bű4SS3$ ¬!`&97űg_©)kŹÓN҆4¤! iČő.\;C`ÖAě±_Ă:‰�IK™O졝 ÜKe÷r´S2Ť;CfţîçXfřoŘń;Τd'›C¶¬p_eŇ »'L#Ć}#ŰH9_ÝčS@ŰP'¦- Ë;_?±<M·č®‡??éżČ¶+‡@žÇéď€O Ć`ůFP®˛•`čŮ ł`Á˘µÁZÁ„|ĂprÁ` Ă6ľ‡“ ×Á ľ|ůň„’ŤÉtb`S0pa Á@€‘Ćj ”‹‹gâCĽ˘“[Ú”Â~ĘatŔŔBÝBÇëő*WŇŕúv8Ţ/·ľ3Őéí]ś�r%ú+‹0»Ř53É…ęńv÷Ő•¨Ű…čÇěÇÔІ¨DèÄĚßN«~ѵ XÇ}(ş: >¨ôtśüĐ Ř @‡@_Ě (  ~đb$)ţçîĺő02!JőÂ} GcdÓ ¨�e@˙ÁŃnđAaä$”zŽ ,‚Ěż…ô'ĘÁ¦†čNÜ«kµ”ć őB 2@Ýńwl$Ŕnŕű˙&#u/Ęĵř7w¶F…Ŕ¸v!”Ťw‚2 lú őÄ5¨ęŹw…~$ó‰ˇÜL Ľ7FY&ęüĆo(NGŇ\a,ŔY‚ ţ˝ŹţG=Ń_¨�€dFB}ÉřÍ"S…üňvčdžĚnÁç0"?ńÄň…/|Aç›6m˲_„iAB§ć"Ć;çËĹÖ_qĚăĄK—ypśţočś@* €2pÝ­·Ţâó.›)–ĺ‚Y)/ţäOţ/ů›żů[”Ş‘™Đ/‡Q�TXDĘŇüÜůĹůÍC~“čşsŰÔłÂgb îY±b…Î8OÚŰŰ”mĚC�X }čŰŐ«WiűÖV�ęz<ŘŞ&m­f@…ŁËĐčp€^`vîsź“˙íűĎz¨Ágýúĺu+ö¦dô c’LHq')ŢĎš5«Ôé…k�@~öŮgő}Ľ]t€]ţň/˙RţÝżűw Ɖ˘ÔÁŐ•xĆ%oZ.€xáĹ\'^Ŕ°U.šjärşëŽŐ©ţŔ JF˙4ç`›”‹Őg¦ýć•Ü÷Ď$٨]ÜĂĂľ]:C?ÇŮĽ˘4ÎÔłc¤Ś‰ b9çĂT8i+IŞ‘(CŮ.uÎ’Ô %É>Î Fďî[§Š®XĚë\&󤟞†Ółâč5\Ťtž‡ů[ń*ČHa‘ż9avěUMoŐ<ŁANBp…ęĂŞxcˇ®Ť˘ľ¬eW6ŁźŃDýłSTUŚ"ť@´Ý9ĚŕŕT|ťT4˛Ô’ľŔućüŞ$Ď"(7d 1t!ŃŻ4ĆiŚ,kÉ;Ë8UĂş’=ÄĆŻ9őŕMuG-q´˛Ź9fđÎ8îC@E87ÂgŽŹOx‡°s–·”¤4=ŕöŹÓ2ßíAçÎéV˝9ú2bŞ™ŠŤą±±qŮ»÷ §—4‚hhD¶íXëö—˝}5Y‘¶Ž^í›S§ú•}ŻŻo…<|\×<\ŁűĐË4­ČŮłĂňÔSĎ( )0&'áüÓÄ<ey€ťtŽäyóçHS”wű‰E˛pá„3ÍQđ3Ţc±)/=Ýíş_Žkł±łĂ–ŰnżYąrzş;Ąg�×€ …XZ›Ű¤łc­,[2Oľ»fŹüéźţąÖ}ttBA)+W.WPC§kK‹[sÎ ʉăĆđ·ný*·–Ý(»oÝ%K—ÍwĎ/č\ĘĺÜĚפËŐe۶MşF}ëţÇäďţîď 8>%Ł#˛Ä=ł©Ř&ůÂi}–ľŻ$[·l‘oÜ®©ŔPÁµŽ¬ âiűŁx:#]lÂś/—Ý.MjżăýLşń:ęÎĚďÜŮŮ.]n?cé>ܧÉŇř  ů\ĘJqîÚN窥 1}P“ä!Ć@c©ŹrĘR‘Ď7«~+•Ýbş<Ť} –Z˛˙RÝ5éÜŐŇtĘćŤ%2ŁűÓ5˘*őëC˛nhnšvŮŘxYŢ8<(Żî٧Geŕě”Ląľ(ą1Ąmđ=[tőn*ćü™55B„OÝŔt:¶jRŕôw ˘Şy}%�Żpž†ěˇ>… ę&˛E‘ŐlA--�Ut)ČbÂŤ)Bŕ GpFŚUH�\4ŚW„�”p}âzÂčÁsX2zëS.aiŞ$: : 0ŘJn.DH«á 5‚ś9Ü”5˘Ş 1j<ŤĽ÷ś¶§¨k ŇŔ`XVËÓŞëJÓ`cśrkJvgůfg+č^/ťÜ\^äĘt}äśEKĄŁíÓl:±> iżLĹÉŤËrĹF ŮĆĐQS µ~—łzDĘä%÷s˝LŘDţSńI SpL‡¬gáx ×Hô ÇW¸÷ŕľ‚ç ¦­Ć~¶ čoŚ%î),ÝVUf3Í&EC҆4äűWđc°ćň,ovťb>ÁYßVčäçŠ@]2găLI@DćŕżĂ=BXNč;±=aK]j‘°¬Đ~Pť!%îÇÚßî7 zÓ9iEη ÁÜ/++ž¦Çk­č†�[J¶mażÁ˙A».ú)<»ÎdŹĘö÷:ô—ŔMpEcă,‘Y°ŔˇĆxű1đ˘űúút ÂYHDşaĐbł Ę`�ŐŤ 50`…‚܋Ñ�Ç({pVŔ@Î\?ś°d/Ľđ‚€ńň’ÖőĂDY·vµĽ˙}ď•7öí“GśS[Jjô‰Ţ¦¤׎d ¶Wˡ‡ßĚ3Â{®�Á[‘‹µ˙­ĽóÝ{µŢë…äÂď)VcąóçÉFçP‚0,Ŕmmy5şŤŹŹŞ‘ő†¶Č‚ ő^PĚdĘu8,‰\„®€ L|‚  ? ł¸ C/D}Ă”4�ŕ:č PŢba Ó_�Ä€ĹëŰßţ¶ę)č8ŇŚ=R‡ç…i,h,€®ĂO\F�b1ĆOŇ±Ł®¸×pŔE› ,Śô†”z÷áz:Wáŕ ScpqfÄÓo ~¸–ĎĂfĺ˘P6úí ŰÇçA×c@ú*ÜOŕDh GżŁO±^ŕţđy¸:ť©¤Đř PondPś‘{÷îŐş`łŔ÷‹2Đ'ˇaíF=ČŠqgę ú‚w3í űóŘţë[×4äťĚĄuëÖÉîÝ»őß»wß,˙ĺżü¦¦«řő_˙Źúť9g:ؤŃa”p“N Śd Ă8G‘Püµ×^“[oÝ­N=7úf އ8ŚĎ†nf§$óYëˇNÖŞJmŢÖŢ"?˙ó?źčhŁÍŽtf—‚•+ű|ÔěŇŁ‡ű|čč‚´.&óćÍU6č“PĐOŻżľOuSśę›ýj‘ĺ ý9ď IŚbG[5Ýw¸KDş‡y’ĄŮ§�küţď˙ľ2<őÔSšFĺ¸O>ő©OΤ(VĘđđđ”:Të÷>tTf´W[Ŕ ÷ß˙ű—˙ń—{ď˝Ç§2Ť ‡ÎEÎvŚcŁ…]; SߌdŤŘ3µýóĺ/Y.&¨ŰL÷ĎTöĹ@ adëL‚t.ď~÷{„Žą_ýŐ_Uß_˙őg“2:ÓŇńţ{¦ßŻ”` ’Ć[Ô)b`Ë»îöHŕ÷÷€ ž“ڎ€kl<ÚŢÄŘ!ŇÔ Ďd ó‰ŔU˝_)ýCŔAdÎZPǵşhaëKË‘‚ŞŚvÜŚ fPŹös¬íăľN™˝śłűąpŁ- ›/*WUiPKN?¶ŠŽ­jMŇ*ĉžĐ~Đbź*nŇmŞľ_ĚÁąB`"Ża 2ŕ­HęČŤ°FH?O0ŻíąJI€É‚ě_ř~Z)ó[C Lµ�¤’Ż3:1 �)VyÚÇg2%Şp޶¶Ö”`h¨äöW]îßmÚŚR·´~)ĹŞĐ u†±4:*>ÇiɺаĄô¨eĚżś7”U´źx˝–!ć”®–ÍŃ]qöˇ3ŇÚŢ&c#ŁÎëË�ZĚďŐ3Ŕ3EhĄżóťKšňçöWňŤŻŰí‡ű”a!vßéc%™šUk–»ýŁE>rŁ z<ăôâYٶm|čĂ÷8§~›˛VX×tí@š‘eËĘň‹]ů-űŢpő“Ť›Ö:›Ézwý´4·´şO,ó›;äčácrčĐIe€X0żWőÉ]wŢ*ďz×Ę0ňťqĆ´rňÄ)îرM6n^«ď¦čćBk[‹¦Ľ‚^ljn“|qĘ=ľ[wOKĄlR°k`Žam] {ńyn}o’ŁGŽ+Qś“ýűK[k§‚Ú; ®?:ő=5AĂ�C—»'VĆ<ç sě¦Jîg›:{çtĘÂEëT?65ô\‹Bv�cđŔüÓëÜnRŕćĆBĄRŞËĺl€lKsr‘l^O—'‘îsRÇ—w`$‘wĺĆr`Ś;éÁőŤŔü6@‰×ËŘ7Ą"oé…�ŠšśFJťq€LMMú}[€Dń3Ż™ŁđjlsUŮ+LĄ(#KMĚ!­µŇéŢ{ŐŹČ9˝päř<óâaŮóĆi9ufDőť9«Ýܩؤ{=čEŻŘ0Ü«•ŞöóaÓąÍóŤęśăú JÚO\żŇ4qťc;Ś´Ë€.xÖ ŤÇL3b˙®%ý÷ŘŐéÎŇĹfMLŚ»97•€ţm˙ZHĘŕ�ŔßÄŹúŇ`‡hͨ#BgŰŘÓő$Şcf ď×ý&ö•x÷>UU^Lďç˘ Wů”[+¦+Ş'âČ0¸¦PhÖ˝{ąęÎŰ®=ů˘­;ĐoS>(Ŕ­7ÍM­ŇítsEr“î]ď‘RµŰ饥îń‹Üe˘tÂŤłIi†~ΰăžO;š7ĆŠôŐ4âŘćF)ť:îS‹+<Ôĺ˘×äň);1ÇBČÂ~Lç{”¬<‡‡ď&Ľ. Mć‚Ôł€es”Ó±Ö cv�Ú“ń!Ł>dÔNą\”›—Fž†4¤! iČő,çł5pźžŽvŇóŮh˛Î˙p§U›ěŃ{>ďĺÚŤµś{E”?ÄLőČ–Á5?L) üř\ĚÖ BM¸D?1Řv¦úd% ĺ^?±Á™úBĎĎ~Çý)Hňţyěeŕßâ>>Ë€|˝Ë¬X`C ŚÔxiŚnĆË„` 8·`¤…Ńy8ü@,jpµŕBä8& €pÂńPç1B‚ç‚‘ä0čÂaöˇ}H'ˇ0ÖĂن{Ô±ę+˘á…âĹ_ Wf(÷–ąkZ.eâ_ěţ·[ŢjťĂr.$×�ăRűůj€*®e‰ĽáÚ{ď˝WiŮ1g±ÁcŤľhSŃ~űí·;'á­şŕěŰ·Oťî¸ÎCü@�t ŔXĐ3XP °Ř@˙Ŕńr� p‹5Ŕ püA€ ÎAčč&܇:á9_ýęWŐhőľ÷˝Ou0Üg?S@á6B/ńy¨ >xte\‡:ě@Jvü›ô•Đ00=S-ń€Źş!J‚rXŔČEô#Ę…EI‡2 h+ę G%c¦ő€$B6 ¦A;x/ú÷`Ă„ţ€ h?ÚŤ5ď…‘÷řI*Ţ @8wąŔ5tęâZ0áýrmA›Đ/X'a‰gâÝ .¨Úď Áš�pÚń‚>Á»Eý0^ا!•mCňV$4b\sR¸éçÜÇśŔ¸†óúСŁçDH]Lçßwß}ňO˙ôOšĆ şÇ-&•]s€°lŮ21WxŕŰ ‚€®ÁźŹ;®€°őőŻŢéćŘR˝Ç�TĆů„ýŐLNv¤Ž‚Ăţ×ý×Ô8‰ňˇż|đA}€X—"HG=úŔhťq/í¸kÇwܡ?Ož´ôQČŰ }đĘ+/ë:q©Ńó!)ŚúŁŁ�˙v:Ý2˛ `†^ţđ‡?¨)NľôĄ/ËcŹ=ćúńhpe3^?vě„ë—…úîE9==˝ `îťÔč÷Ď|ć3n˝»W>ň‘'Há`ĹţTóűöíWF;Ôű‘G‘íŰ·Ë›ž%.–¦ ű7+Y‡.żËţ΋‹ŐÉÖ*XÓ( «g[í_;ďýˇCúJí—/*‘íÇÂ[î5 ĘJŃ”ÔÍX*ęěDÚŹ˘>Śü Ó„$Α\J™ĎDÓ¨ęÉ0ŇN ®É<ł…Ŕ =#ć-÷;ÇgY#zK­{ÚżH%/D s–y‘,= ţŤ} ößpV!ŐŰZ˙ReZ%ˇ'çź l.rmtcO,W=iήxŃżŽ@Ń‘~ľ¬´ëčc ÖÔ×ÓŘÂľ3—Ä0 Ŕ(:'7žoÎbcČ`JPXV ž(&}Ďvń߸×%Mďa_‡u ©”�î°t}ůěJ0M˝C‡xŐ׿ćŮ*RP‡=×öiĐ߀Ŕ±řúÁHćvÎ÷ĺŐ;şü‰Â9úĂ#ç}ͱŚOL«ă1_,¸÷šse"%\Y.#sćv*Ȣŕ¬u¬B‘źá\uNÄű>pź<ůä3Îć°O–-ď“W‡vç”ĚŹäĺř‰~#ş6Í™3Oץ… ç:‡~Q©ř ”4Ç|Uçöm\Ń´‡;vÜŕöéď–żúóżwőQçf[[“ŰĎqżË©“g\›÷şýü‚Ţ}÷­ň#źüp˘+  ůáO|TţěO˙Ęí‰÷ą}ř„{GcrđĐAٵk›îsKSUť”–ć:;.ÇŹäÜďÖđĹ280äÖĂ›äşÇí…Wh˙ŘĽpłW~ŕ#Í›·ČďüöďÉ‘ŁGtOq˛˙lŰľÉőĎiră§«ËŤ ×ćĂ‡Ź»Ď~÷ĽIůŕŢ'Ź}÷qwď&ąăÎŰ\˙ôHOo·Ť¬oÜ;Žâ:° ť´r‰ô=Zd|�Žlś¤ Š }źHY˛`aݬ^łÜżcFČ‘ć7¦,˛ńím>nüÄ 3NÎż32Ć#€–`A=ŔRŃÔÜ*Ó%çÜžžé¸ęÁ^eü¨hÝSÁąú<ŞŰvC±�ĽšW4D5öĹťpĹ8,J·7;9*/ě9&O>űş Oiý€8âł1Ő âšj)Pň € ş.Á1í#Łř(4Ř&uź Ĺë©W`% ”Ś$aŽęĐPÎňÂß©¸¦PźSoY A—ÓŐ®-ŁĘ2CzfśłeRň…z€A:a4%Ćt”�DŞuô”ÉČRuDA´cČČGp­‚‰�sŔ X'skžŮş$gLRł±—Ó5 ¬¬Ń�Vŕ pş©XhU°I3X_ŠM 6«•ť‘őŠŽ÷’«ťqő\,ąÂ2W0Ţ8=źuóĎŮ$ÜósW_°V`,—Ý=|«»±ÖSŮ–ĐUűhy v-Ĺ�%ű$˝îńŔśp˝±űŇ4ˇáx .ˇ3‡ý\óő%u*Đf@' Á@YĆ”Pç‡u‚Ý€Q¶°‡`oŽ9ŃŐŐa¬-Ŧd˙VB€× ą‚|ßEč5¤! iHCľ/64ś .gˇ#€öNžag3¶˛aĂ}?Öi|¸ż¸{ ÷Řg`Ź?�ęH¶ďK„çcü,đO .2dź{)‚vÁ_˝"ĘGYđ+ńyŮsyȲĆý4Óřa˙ßę˙ÎŘÇUű{ü{61YĚŞ!ŚpfÄ0 R¤™G27`ŻŔ$«dčă};věH"Ö Ó 9ťwřŔYG$=�p°âyůČG´, Ę„ÓN#'Ä&śgp8 :ä1GJ0_`0ѤHl‰.yR\2Ňl&#ňŰQ‡ď™iüĚÔ3ˇěŢĚ3®‡ţ5CyA:śÓ@Dv“Ţ s“ó ŤöXĽđ“¤�% zŽ8ҡŕ�Hs‹ s…AÁi]AĘĂś‡C �8řhČgŠćĂťt˙ý÷kÉ‹E pÔ÷âąM n\´I5Ť‡ |¸1€^Ă5LĹA#ó‚aqDÝńo22 Ž¤EĹóˇáddťÉ:ŤĘÇő0ĐxAÇŮШ…E)MČľĐ×áyhę…>€ő@ż˘Ţxw¨ŰG#ęŽç“]e1o.îG9ř7ĘĹó�†ŕ†�4°•€ �TúčKşĐßdÄ čcT-ꀲđ>čäĆsąa#»E›ćbnÖMŤ…6KCňfă @َ5�ˇżř‹ż FSĚUŚÝW_}MA]pV#2ă:íˇ‡şl˝ţńŹ\÷Y˙é?ý'Ť¨ooď§ź~Zç˙/ýŇ/ąąÓëćć™ – *@ đ üŕu>ýíßţ­Îż{ď}ŻęlĚçW_Ý+wßýąăŽŰĺŹ˙řŹĺĂţ°ęŞo|ăk:ó7󜲡˙?ýéOËţĎ˙Yţ×˙ő˙Ą€Wč ¤ë€ţřůź˙„F_Š�„őŃŹ~Tţđ˙P~ű·Çé†[´żŕŕ‡žü_ţ—˙Y:`íř«żúk÷ů¬2Z ˝�żüË˙^Ţ̲ GÎ’%‹Tź}ţó§kö’ÜoBľůÍo*đŕ'ň'µ˙°_Ĺ:¤ş%Ü‹˝ëo˙öoë>eâ>¤¸ ĆK/˝,ď”`]:táÂEnďţd˛F¨çŕÖ­›Ý»{R>űŮĎĘm·Ý¦ű|ŚéŹ}ěcÚ·—»Ťf¤!ť9WsNgđů„†}:®¦Đ‰övűÔéࣱą l4Gx†] ć%e˝Cv˝NĚéD& ö_]ô©jX9¤•÷,9Ţ Ę(aFpXlMY4zi˝jv-śč<Ă‘ÍÂŚ Í>iQÁ!ŐhŤ ďϵ˝=EQ2](I[k{ť“'ĺ?|AÓ ä}´r¬@-·›S6ˇ¨/ŞSŮ,ţ±2;Lű´Kő†+ë‡\TđŔ.cbꏴŚŃ‚Hfs*•l`Ś$–Î 5@Ĺę ˘Î‹<3Ŕě_^‹ë�0ĆŃ4i:ŃuĹ&J2].I{[gbXBéH­/3çY„,= R9‘¨R—B€�d”z ˘Ď¨Éʱôväť!ĹŹ1e1GµÚ‰"0+iXµ:Ýô-MW4į́sŇŹ:*#㣲xr,Ű+ť-ި°YM ¸EÁäđżůëňÔÓĎĘ׿ńmé?=(Ýe0Y¸wŰÉôTŐťk:eÍšn›-N7ĆqĹúvzJJS%imkuc©Ă9>ó–f'*( çôéévk~Ż[«FF†śţvű`ŘDĆ$´ăŁ%¬^ݧ{ÔŃŃaíł––Véě2F»¶¶˘üë_ř9·î’ß˙˙˙źrâřiŤľĆő}}“Ęč€=Çđ°sŞOW4yôŘQ]7Ńß;wmuűđy®_«nüźőF¸B�@ĐÂ/ýŰ_˙ý·>ăöř'‘ôČ­M®¬˛ß˟ПšV˘:)Ý=]˛vÝ­nOňM=`ť«˙Ř|˛iš Ô3V›—�GA?a.ťöZÁ˘‚ßŐŢ´hľ¦(•Ŕ�ęµô6ŤťÄ�Lv6ŕŮ9Ś„'p¬ c>a5µ¶ą±Ë„;Ł”ŞS295bě4µHő¤±D‰Ţ©ťOç»"5–šń:¦ęÓF mQjŁ3wÚí!§JĆřü+Geďrr`R¦¦=%pµ˘séNňąf}gŞo 5eÖvăpb:˛’čjÎ5žĹ8˙˛©,CR|ÓH%ó…�÷.čŕÁs<˙ĄNq s¦ ţç÷|~ňĽ8evuuëx%čĆŘ0ŰÖŰđ™,;2.<!u ŹX1ÝT”LöUhô·T'žé ťZYAV‘mÄ8 AŮ9Š-Ę[bĚn.L90\RĐ ť°ţ� ×ŃŰĺtJ›vB¬@×F§˙jUK+»Ź+׍Ł\Ô¬¬-ůÜ{ţ€k;�<sÝ3{Ýó\Ů#îç)w˙„4ąµŞš«(ÓF-.+@GÓ•A) ŔD ‚…-oĚS&‘ÁýQ@|aşě¸á=! y–nś’µ]„ĎĚ^6Ă´[!=7Ç­Ëă$+l(ĚŹ5‰€-cŐ™}tŰ iHC҆@�F8zÁ“6…é7¸wŁť8^.+ÁÔ ŔŹŕú:`ü%÷dÍŕţ-dąşá^űË0E%ę_B¶mj+A( í #nšéúěżąď ëĹ@UúËŕcY츳If ŔÎ�‚ážÇ3xáDs@ĂçľĂ��RN-»Ă¨E\Źrđ F…ĂŽ0& ŚĺČqŽë‰†çA<D3s3Mú}üŽú \8yQ_…áČCą\Ç]ťőĐó6;ݦ„ň|ż_Iy»ˇ\Ż Ž·RďëˇÍ“PćçŰ·o“ůóćęż1™?•ó Ś€�\!Ńčů7¦ÔŔeŕ:Q €łzú Ž~Ěk87@€žÁÜÇ×Â)ý€şáçáY8PăoĐřz ĎţŔ> ČB܇=4<ϢA�÷č€vpŃ„ŢÂßP_¦1Bą(›”+ę�p̡ľ¸ž‘G¨®‡Ţbů(›‘ÜŚŕZ¦â@] Sń<´÷˘™ Ť@ö„ě¨3€h§9+  €w÷@]ËM Óvŕ~\‡z�xÁh}´‹‘g�WŔ1ËÜŹráŕ@:Ľ; _Q´“9ÉČĚň9v�ŘAąę‘ÝĎĂ5ř;ĘĂ÷¨®EŰđ7¬-č—•‹ŕІĽyÁŘǸk>0Ôcl"•Ć?řťŻ`âcţë_˙şsÄ˙ yď{ďŃ1úÝď~×éŻ=ňŁ?úŁn\žH€e�]Ąá|‚±ýţĂP¦č,8p�Üř‰źř˛~ýúD?lÝşĹĎăśęM˛ËXÝŰäßţŰOË—ľô%ůÂľ zä]ďz—üŕ~L˙ Ĺ¶m7((bÝşµňÓ?ýÓ:zč;JMľqăzůW˙ę_ť& lٲI~÷wG>÷ąĎ+�ó®`ßčë[™\·té5f^čŕ$ôë?˙óýňŕßÖşnذŃ9u~ČégKtóÍ7é3ţáţQ�K–,Ö>@Śí]»vŤFŐR"Іyli6mÚěÖ™y.ŢĎ7ľńu}G÷Ý÷×öá$˝É'>ń }&R@7hü?`�ô5úÎQ” 0Ě_üĹ_hľz2;ÝsĎÝęëčh×˝0Ńő¸ý }µ÷¦Đ×\[ľň•/ ťZ§ÖÖůšň ’Ż~ő\˙ţF]˙ĘŻüŠ2›Ľ™ęŃ:´Ż´°\ž .&Ś ™ÎS˛Đ�±rĺruvçGâĹ딍켚‚1‰uó‹ąKC‡¸9˘¦Ď1>Đ9 %zĐkډcN p‘F„›cÂŇŃ@€(Ö0’]Îqα<uâúHčĐů‡˙0ŹÓśĄV¶2T”ńějťC†ŔH†ó~ŚçuîĂ)ŽśöŁŁŇîć>=ŕhŇvŔxŔtIčśĹ÷ęnň”ď4HŁçí<™KÚeăăť})ë„őqEŇhűH×뇪Xš’\Ň'iW•C’”.ĆÁôR©śĽ—ÔaY¬s0ń˝">ŤÂŹŐI‹ľˇN€ţšžnrN[KďF† Žá”mŁ˘ýj ŠU¤€/ ¤ËľI™Jh°Űs0–…sО|sü#M'×"›cęřË©“R]ęp’c|9‡ă©ţ3Ęč–¤^()›Ĺ¤,Z0Gş{:ĄĄą)a?9w~ç,=”kĂÜy]N/ß)óĚ—Żăw>8ŁÎRE:ZKňčäcnmŘ 6®Óô†h3ę6…j%rë{Yë Ç<Ŕ�T€ ,Hůč}rđŔAŮqă·7¸IUěIyá…—dϡśníUČŽ·JOo‡[ż ©ů-wp^đ~�*ü»ĎQĘĺĄÚź-­M˛hń<Ýo—¦śŁ~lPâ#–Ň  ŽcÇŽČÍ·ěőV@ÁőkwwŻt¶wJsK^ŮšĐŃwÝu‡|ń _‘ăÇĘVÎ[z°#Üyç-ÚOm­^g`üXz“ŘŹý8“ĺrEçf �ŠŠ9›yf¨TŤYÂ"ł¦Ą«»ËőCŹť!öŁŽĄ‚šĆ3’Ú( ćş{L<PIÓťą¶Ć…žó`äďČçݸpŽăŇô„«Ç”srŹy–ŠŞŽ»Şţ.Ę0GU#@Ĺ2#T•= »Śé;«é¬Ô`ťĂbúSüő�äŽM”ÝÜ*Ëčظ;9"ŻtgľcŁrf`Đ}ÎŘśŹb45µJ±ĐäMĆr €#˝OęwxnŢ3á̆>äŮ›:śú=›>-L{Áů Ü r˘X&Żá5ŚÄ Ó8„ϧž™’¨[”$(“épNÔ „ń1éhďH‚B€Gîżc4 źK¦{¦Őe‡}Ăö§,_ą:öÖ84])ův4=ĆÚŕPÍ­)HiĆ$h´&ÍéÝ&M�ľŠuάC>™ť“ÓšňĹö­Ć|QÖąćŢ«[ĎkU,Šđ.Žą¸{p¦@úć•R® ąşŚşż—Ŕˇ$e¤HÂzyv‰‚Í c_qÇZ…uL׺˘Št±Źv¦°ż“:×ju@‹ô@‡ÇA¸îçü«IKjµşqîQXnöݲ,Ňp‡îeřţČ‚Ś5nJíPŁúÎ,­Q“Xz¬‹ďď҆4¤! ąöŞ ÖK°Čúń![ü�E`ý…˙‚6†ě^1{X.™p¶Dy°­Á?˝?,3Ëô–EVpŘ÷±˙…Ť/u^¬^ü7÷~đ«đĚ Bť˝c†ň˛ubYdÝF™đgaĎ1“Í3Üżń‹{ž«É‚ź°ŃÁĆÉ}ľíWru,_ł‰ÁâRÍŤŃ%ţ-ş„źŃyţÍO.řÉóć3ü­ ?Ý ý.)ýé0Łc1t°á #67Ś ÇŕĆ`€Co8µŕôŔř >&% çq1¬Ć^ĐNă™p2ŕü b‘-úo<uĂ€˘łŤQÓt`pĽ-„zÂHŔë0‘áĐCţdĐJŹOLÖů®ąX}ŢiÇűLĎĎ*źëAB>äj‚!Ţę;{ł÷_Ť±zá(tčkÖ¬vU›ŁXhĐ^ ŘAčŠPůÓaŽăxôć>ALuëđo8ĺD�0�t”ĂŚ,Á5ć0jMęŽĹhKDC˙`aG°�4Aöčč%č8Đ Ő1&Կ㙣APÔ›¨Ĺp„ľC˙p‘Dy�‘€Ů;Ť¶ô^řĐÁ€2Ql�2€ 5úÂŚ«CIB‡6¨ďÉś˛ˇ› ,!5®Á=¤íE90äR÷Ňh‡÷Žş ‚żăyhx&Ę~ę©§ÔIŚq:őhXÁő¸ŹL"ĐáŘŇ…2đ<ćUEÝńL<Ź)®ŘF\ŹkČĚ4zćuéęhÓČ8ĐÉ6ůţ„!ŢŚ6‘9[ Ť÷sŤŤ ą22Ó†ž_Őm>ă©É§1NËfŚ—u[ß}Ţ5Š÷âZŚĺ ÖICŇ·GčüĎF^)ˇSĹś’MußĎ¤Ż Âc~ú«ĄÓÉH•ĄfżÔçť=;äÎTg“˝ Ł!˛‚uřł_Ľ_ţűź~Ux.ö$ç8*Ŕp‘KťZµLH6ťŮ”ˇ‘ĂÖGRÇç‚ßtÍ4gH<·âÓ~äŐ!ęăjÍ"ŇC‡:gŕüŠÍÉF_G–Ą®ľüéÂčßQ‡Ü98Ą°÷Á?[[Ú” AăŽ}Yp\á9p|ĺ<�‚©ŇrEďaD9ű ĺÖ/y±čőúČ\+Ł˘Ž«ôü‘a ötö0í%˘ŠŃĎĆf!‰Ă›ű1ŽýĐ: Cç"ĘŔÂîgŞ汏°` 5ĎVôď ’€a(tzqď%yĐQX‡´Źă„Cť^m9YÔëöŞmyiiĘéűÍ+ŔĹ�`ąČ›7"]`ź–×ßcY¶b™‚:ÜŢnáü·Gť+sçt9l«FÎ5:Őł‹X›j2<:!Ź=ö”<ńÄsrv`DçIoĎ\éîiRŔŢâĹ ¤oŐJuÄMNNřq! `ĄXlÖw‰â‘¤»ÇŮ*:Ú}t´‹đ\�bľůÍoÉ#=#‡Ó˛çĚí– W˶m›•-㣷w®ŢwňÄ)gř;+űŢ8 =ô°ěÚuŁ|äŁď—ĹjL4¦0=hŞ ÷„ţSgĺź˙ů[ňĚS`U€ÜćÍëdÓć Ŕţş·ÇÎb‡tYÔ©"/˝ř˛Ű+źpeµéxpĎD™ď~ϲműzY˛hľ‚l®§ýfźXÇ>XQ WQ&ľ7'|%Đ%vnŁU± :Ş)9çiJ‚Ł.¸×ż«ßď™:§őG"ŻËŔ(�0Gµf){ Ĺ¤tYŁĽcăĄjT*šn†Ö4Š–Í§k»ů!¶ÄK$qűR�ŔÇet|Z‡&ä౳rŕČśM€déĽ0öž 7¶pÎA*ˇft‡“^ÁPîš|Žů–ŤŤ„z>Ô!Y0�ż AXYƉp~†i~ęâ–’%d; m@á÷ˇ>cůÔ“¬/Ů B=ŐŞuëď#pŕ'Ú ”[$m–¦č©odë“íŁ,cGÔб2Ű‚–핪Wń QXŁ~fjjÂ@(1őnA™*Zg>®S]›.aw€#źłTAşŞyĐ`dP"EôxOd�¤¶Ä� Ą˛»/ę–(ßížŮ$qě,§ÜP.+Ë pHi‚ÂěťZş;űç’z`NŕĽĚµ.dő`˛Ďř9@ŚěXă¸˙ěpś†ă*ëáž a'IŞĎ8ÓúDŞ›X>÷¦Đx HŇÚ&żô/vÉ‚y=Ę\„w–;łáäëě|vúła/¸ZňvŘ ҆4d6 mü°…‡`Âp]§źöÚn°×ÂY>„@™e+Ë‚é(»>~˘ Ří îOÎý€’ub9Ů”r8ÇÆCß0|ˇ=`¦=pX^ĽĄ˙ öš.Üׄő üÉ6˘żĐNöYĹC6‹:®_»Â2yĆFP*|ęđ/ÝpĂ u 弟őâžČůnCśŹřźŐĚ'ö?kR¦?ł9Ďż/ô3ű{V.şřÎ ĽDFZcĐÓÁ‰ď0áÜş‡8ľžá&–1 ŕĂw¤‡ťÉ“O>©ĺĂ1ç(�p$‚:yëÖ­:Ap)éń<| 4TrЇči\OG"ęÁčmŕŕEť=Ť8XĎ8§ ~ň-_‹áëex5ŤÔWZاW˘ogBłťďď«ĎĹĘżś2®ô» zó‘Ú�Y¨®hFžŢfťżLŃ�Ç=ĚY¦ŃŔ‚Č\°ĂĐ ¸:N\;sČp€g#ĘebˇÎ€n �*č(.R(e�Č�˝��SGŕűoĽQ#!X ™ ôŃš�@—‘-‚ č'˛ahAö´ߡ=ŚAť :`ž‰ża1'PסhFČždĂ”¸Žş™ě aźrăÄ|\4:‘1ď´í!Ŕ„‘FĚă‹çˇťÜAÝÉPÂ65¨A'Ś@˙ŇH…ďˇ{±Q@ż#eŢ 7l#îÁs!Ü4 Ţ!b“l 4Đ2-îáÚ…6âßcă Úφ4¤! y»… ;®ĎWZ ăgĘ1JvŹŠ5‚ëĺůö`oeĹ:e˸Zűd´k±9LK @˛Ţfiňq„Ń%šbN3ńNČ;qb ˙‰®_ĆQ[Łs#pЍ±Q±ĺiď IéýŐ(ŕŤôłľJLŁëźSR„ôâa„«őŻEújť=Ë„Aję Äž }495)Ą¨äö°-šJNŢXÓ8#”sÂćjžâĄfTďiŰëť@ˇł Ő4Çm­Î¨±úJHž9uÜ@ŞŐJb€©űÓîµô(9­3Łw Ś ëFŁKčĐbżĄ4ů•:'(÷úpNNZôć/÷WLѦéÔÉź÷Ě%挵ľHÓ„„ý@cľ‰śc9'˝ť"s»DzÚ]ű‹®ľµśčÔ·Hg7žĐ˙NŹ9¦ˇ"SĘH4yč„LŚOČüy`łčĐóI±¦=÷¬„rćôtÉ{ďąËťćĘ÷ž|Föľv@††Ýßş”R?®ťŇ6uv¶+řc¨§Ç@˝�wt{3&$"ŔH”VÎ €>Ţýîwɢ…Kĺo>ű÷ňş{úˇŮ ć/'sçĚ‘áˇe«Bj �Żqľ‘mőšŐęhE ÔăiÂÚ]0ź/ž/ý襳ŁKţč˙L$´ďÝßćĎźcLĺŞ:ç»»Ě(ŮŰŰ#w˝k·ë·IŮŕ ĽşgźĽ0ůŠ{ć€<đŔCš~k×®M˛Úťż*ŐRňî–� ¤¨Ŕü.)+EIÇ*XgpťŮnÚÍ îú¦EĎ%Ec‡‰BđSśč… AöÁ|60ţťó içhŹ'¤:]ňú˝ęÁW¦â8Jć].˘‡.JŤÍ‘Ą8˛Öb„ëWMťyéxBj•‘±)ésg™ 9xtP^;0 ýîlR©i=ęAN–Nl<㥯HIś!zbT?ě°twöřłeýú¦FŢZ|đ!»††Ü ™L ú,—¦^b]YNhLĎ–Iaą!řϤâuĽFËÖ#ţ O8Żb­ S‡ŘÜkN ôůŔ)ĎţNŢ[°n„�4®A´gRݞľ! –¸uˇâDĹłł(§bk(ÖŚć&śQ[ýţ$§sşŘô%ĐůRÔ1�†ąx‡€_rťrTp ŘU0„ËU7÷*S:öČçÝ<¬M¸Ë`cďuŹh—¨°Ö©¦!W€›µqaş)8ȧc?XźÔTD•€?fxGü>üßy8^č6Üp<„ýJvýČ.8ř÷°¬zG‰Řľ Ç”cMú|¦S ™Y҆4¤! ™M´‰ K˙sąß‚ź‚ýöUŘżsźČ}\¸Noé>™k1|#zĆqĺŕ=,×k¬µőç€úµ?\ëiÓgz¬Űđë2ř$Ü_†{µđţ°ŽôMa˙HVlgŕ4˛íd™Ü“ÍÜ΄u>•°>a[CđË#sXÚá+».M ĽČ‚OCƵëĹg|)2k�pbýCy€Á‹ĹĂ5Ś’!ł' éáqś’D:á^žxâ ĄĘF3®%ź9DcĐ…‚Ž[2i0â@ 8CiP$Ő=®g47>}}}΀±H'5śy¤ČG”óµ¶©žMevHÖ`)wÄ—€ÓşŔý—1®ćxÁĽł� HÁĂ3 t5#f1ISÁt� ±HPŮŕ Ěstć5ţ†9‰9 =Áü͸:†Q+[@•đľÇłpŔ{öěŃg \ęPĐ#ß<i›¨çđw|ŕ¨çBËÜWM0eő$ꎲÉnk!Ô{M`q„a÷…é/�Ň€ž‚P'˘ÍÜ„ČG<ý„w˛GTč,qôÚwEÖ ž‡¶ ďĐLËBfALÓAĂęM˝Šű¸‰ˇˇíFŮxߨîá÷|Ň&€É¬"�ć ž¸†ŕDĆŕfĎ» 0D˘NL'CťŻN×ô)ó˛‘^¶ˇO҆4äíF·Ó€}Ą…kUxž Ř®¬Sąz%…ëhÖhpµ�ÉąČGW“ýŠĆ ®Ůtf%ŘŘůç¨E.xu¸$ΤČçj§qÂ�•€A±(‰†öŃĂ1Y$juÎ}sÄ[ ‹‚gŽ€„yÖmEfIśˇt*óÓjD‰CN­\ŕ źş ¦×Ł.>YŔ^…Hâfu ONMčGť›qA±ůŔ¨R«U‡¨uţT—ZEű-RgW>źóy뫾51ŠÝPŤZěFí'Ŕ’ŔPd}ÁÔ+t úńȢCgß]če×;¤0 Ún�,Ô1¨ď!çťjŐdü`Ü`<ˇl¦#‹ItˇÁ'jĐеB'­ö(‡®»FŞ2<ËĽ®ś,š›“öćš˝_óŤ»ń+”ůJ˘ďúˇŠďátmרq°TŽO–da©Wćö‚ő˛#IßT/ĆŚA˙~‹s†Ţ´s›;K,“Ç{ZüöcîrRY Đ'MÍguĎŤ=&‚6V¬X.]Ý©!ÍRF,-…«7Xš›ŕđ,ú÷ZÓÔ§ű”†űŽírčŕQéčl—uëÖ¸2űdÎÜ^™7×öŃ“S%' j˙ľrâř)yäáÇĺôéSz=�ů‚•�rčęěÔţ:ÝĆ ̶!°Ź,Z4_:»:´=`Î(€áCqHxeWŹ&ٶ}٬YŰç>+ĺéď˝ Ź»~xö™—dhđ”D÷ć\|t[MÁĺi‹xoi5Çss›‚P�:QălKsÂ$Ž‹älě3É?‰ëŢ‘ţŮď�U@çÔŞ>‚9¶1[®”th ›Z”Ě˝ČđVú3ĺ$ ś řLťÍÚ‘¤ÇwT«IżÚXvĆă±’ś:3.'úÇdđ R}ŚĘ±~¤ýÔ”!Őj LĐ4-ľhHµT)esp.#ĺGww‹>×Ň •]€׬,‹ú=-»śŚůl”uE}ř2…©/,ťQ®OXo¸®p󽄬GÔçÔEá<ÁaJ/ť?ŐjĐ×q˛fńŢäÁ”•c¨ϸ!čźA�ŚHTĎ\ßHŔćÁ>«¤ĄŔA>óX˙îŢÁ>ÍmÍĘ0‚OµćSBĺ|żFq2şáäÇ/‘¦•Ęë¸Äő´W`Zä™+˘(X+"ĎRIÖc€*ÄłNä"ń€9Ńő<—wçű¨äţí쨵N×n°ŮćĘswß•ŤC$Xď· ú!'á\NÇM\·—b‡ ‡,cI˝Łˇ¸“ډ BŮ‹|ąuN+°®Ül¨e»ż•ü|ŽH×.łŮ´Ŕľ]4{ÖŐÚ§5¤! iHCňNJKK«ž‹Âs:ÖEÚí!L˝Nöë±"Ü»…€ÉLË´nŘéáż đ€űŻ1-Ôrʦźd˝h‚+ÂO–i"˦A%ËÝ~$Ô‘)ö¸É~„ő ËĂ™Đöî–:ÚX ç”î‰â ŰŚza p‡á«Úľ}{ť$u ™4f‹Ě€˘¦Ią‚ Ć€Ť—Ź0'˘Ťń óD„!$ń7¤ÁóµŚ4!B§S#RóĂĆôřĆDrŔ J–b5< 1w:ľ3çÜ"ż.tĎëî’ŢžnĄ¬PĂžnÔß.ÇÜ;ĺ�|+Ďť ‡lűĎצ7ŐMoń•^Îřˢě.űYĽ7řw“›{ ,ĹKËb7Wöőɧh\*MÉŕŔ™éť€ů ŕtFUéő@`f ,5X„‰’$ú‹t�ĘáÂO†,˛LI‚ň ź¸ŕ’ÁiŔś�`ĘĹu�Q€MeĂč=CC tž‡şăyř05]Ö`\KŕY ŁĐ&Í™+NA]pÚČţ ˇu‡,č'€W ¬ĘB{\#BPŔdűÁ3JĂ�0Í l?Üě0Â6R·óý˘Ť�ŻQÄ  @>_ű…yÚĐ>¸đ|¤sA1°ž�!Ř#4`ˇďäAÝđÎĂ”%k Í¸ýA@ žE€ ęÁ~ťK iHCŇwF8 íQTĄˇ}Kh,‡đZ–FČ_¬ ţN 6ťÇŮŕ‹ÉLuâA8ŚŇŕµW[bu4DŇŠgű˝ ňŚŁ.–ş!i©·`PŇ#5Aě7ćĽqď żgˇl¤3ÓW¤ŽŠš¤”űyĄ&W#@Á(µë#>$‰şĆs™ßÝRľ[$:ťŁYűçygb® ÎeÔ_©Î}tzU#~cO§îĘö)A^ő 当•‘«SSĆPPf†|;«A›}„oTá9‹†űŢ"bÍëjř0Ż­—äµmč_¦'€3Lc9ŇŮőßqĚT+öŽţß۵ΠV)'©ăÂqkiGězľ;´)pTŕŚ®¦ŞNiź!—Ňę·¶¶[Ů‚w_ŇTpÚ"ŞÚÓZę FtVá±U˙ŢŇą-u‘ĹáX˘N0U$§Îdޘμ,ěEZ÷ #0±¬ 5KĹPóNóšűcäú)@á¨DŰsů˘‚&'J˛`~Ĺťń;•]‚uÍŠŤYsVΛ3GŢ˙ľw»óÁ<Ůóň«ňÔ3{d¶e<°WrôŘ)éu׌ŃÔ”Oěf,erhk-J1_JśÓ âرă:VÚŰ:äĆopgĄ…Î>Ń!«WŻTĆ ÝO‹9[[ňŇŢšwgŻyĘřđwwuyN$#˛ő†MnŢăÚ đGÝ|ŻĘ‘ŁGexdTvßz“łµ,”wŢ «úVHG{‡2ž( ďZ§6Qč\ÓW`™ŘĽi˝ë‡ňťuűlĚŤ˛ěÝ»O-^(ĺił üŢÖޢ  €íÁRŃ vÓÄËţ®ůţőúD Ĺ1PőĽŘRmŚl€ńôďC)Q”ę6±vEWř¶RËPň©µX»•ř˛4á=Óéźń‰Şś<5$‡Źž–Áawţ™’ÓrňĚŚŹŽ‹Ąň±7ws®XČhý´Ź!JYú¤ŕĆJXSj{śĹJI®iďőz€Ü%1W%ĆŐđ|2 q^§}nŽme# ÖÓ8Qóő¬A?D©ťŹú&Q0Š0¬C ČťcD§m0 ¬ÂZ!qÝ{!Đď:„đµŤ)ŠÉJ454Ąc±˝­=I?C˝©ĺ@Đn¨u=C}$ŞűĘ“ež“,ÚÔTĐ9  ťČďG°ć(ÂŃ•Z [ ĆĐżŁ/ĽÎ¨EľŤQ¬€:«SýľH× eW±µëu,9Ú˙E˝/®z€ŚÎ Ż×dÜőí¨›s#n4·ą‡ą3v̡�áŔŃ0ęĘs?Q^$IZ,ńia˘Ľé¤ŘŻƬP/ öN¸·ćß×q?ËlďG&”ĽgnŠü8ôĺúq¦iOňĚpFŽJÉâwżîF±ÁµtĎő·f@#0ď`ţé{Ór :Ď�~Ëĺ-UhäßusSs=Ö«! iHCŇëP˛¶•Ô–?•śá  ‚÷Ń6‚˙oöţĽY˛ă<óýś»ß›{b_ ŕ"® HmeUVf’ĘF6cVSVŐÖ3őß´Ů|ů�3˙Ô|…éîĆJ]ŐÖR««T]’¨*IAŠ$H ö…Ř3ąç˝y·8§ý÷ľţśóFäM� H†§EĆŤsü¸űq÷ăţ>ĎűĽńĄü"RÄ’lôRX#xżĽ"~,ěXe¦A9–<â˝*wĚ+~ĄÁ;ů)ô‰ľ‹ůi¨ĽHŃiDNţ·¤`Î{¬ç,qTďłaýTž×^{͢>€—€1Ĺđ"1ż¸ďŹëŮ›!Ý4 n"7‚7Sŕ™Śjü&C¦n"ť›AçTÜŚ€ €~tZ"�ŮČ÷÷˙÷Mî�Óbˇĺ #$ t*@4Éôţóź7Đ”¤ĄM4�d ľS<F®#Ź4’€lň×ů @čŻËżôÔ˝÷¤O=ř€m| pĽúłWÓ[oľĺ ţö“ţbž~ţÔ~Lî÷GE¸1g‹<Ţ�× ¨Űm·št.„ĆŢO&ż(1�čóă—ńĎ\Âřc,Óž<pDšWß17DC Ŕ�żs=ć Î' őPÂA” ÉEjb!2W1żp<őxŕ¬N<ăĚIÇńĚ_\đ bRşĹhCŢ\Źżő0ăoľă|©Sd4Sx’ćUÚGžĽ’Ą˘ŽRűŃÂDőaŽňxáŢ™Si6e0âĘŔśH˝ĄBQňTaWW9–ż5_Š rć}‘ Äb!CŞÜćVęEą´Đb꥗^2&!AľúŐŻvŞ›yÔ‘C(+ßÓ ]"ď$ÚH÷rˇ”ÁobÇj‘%Bő  j°Czçgó9|žćižćéŁHĚŃ §Ąůž¤ÍűűĄ¦Č÷FŔéAů(ń<!\Ďöź§L‘d.BĂ/3ÚÔ%ě O*Ďý˝ülĺç"ë65†¤p5q5ä˙[WFDzŚ$•dŚ‘­HX�„jŹA`§D3Ě۶�™&‹^€öY\Ű‚@€ęęÚ˝ÍMČ nBśöĆ¡@˝x‡ăIŚşÁ rŹ_>VÖúŮ`čęQM­Ě µľ~KVżÔM†[ß h™š®,©šöÂtˇ,ńL•röžÔłŢѦśaF”TĽŠdžVłč˝w{Ö8ő réaióqÉb2™J…ß?…iqŻxîŰŇŇĐ€4Ĺ÷őxU�By,­[ž»{„ą»fí·¸°Tň`Ű5\%Ł7*EÂJ{Źr‘tFů·«×†,ÍşíQşűV_Ďhg„ďKŽÍŃvxL«¤Š+—ŻÁb3Ţ×¶vň:ű‘PVxŮP4wxĆôൕĺôŘ׾yčţt÷˝w§˙ýĎľťŢ9}¦ Wzö\Ţł<ůlŢűśKŹ>ú©\W(QČŚÝ]BĎlaqmmĹ®{ű·X]VWVM â3ů\#Ôĺú¦Ěᄔ͙ ¦ĚqĎÝ·§/|áŃô'žČű«óvoÖ7Vr}ďHÇr˝Ž?f$š—_y.˝öúéňĄ- á±´¸bˇSp~ßÜĽd÷Äę2 ß8ąŠ±n4‚TŔü]Űw@ŕąó®ŰŇ‹/ľśď7c�Ňűa»a>OVWó\·X—ľăá9|ş¨śUŹŞÖĂ\M…´P›­ďŹľZąŞxm­˙şwżż[?nĆÓót!ňTu•úáĐöNméŰśß*ěLę\M[Î+ Ľ‘"ňźgĎmf›ĐąôćŰŮf´™÷9—·Óą —Óި- ·çeˇOş~ŢLí­b#ő÷â°'çh|¸˘Şö@xňŚbżĂ<Ĺąqß9űl”BSümJ  ”!ŽMŤÉ^!ĂAn›?«ž 1_‘&SJB©ŰŰ«]fˉp;U¦8‡¤Ś=*Mĺp´×)+J®yeyÍúźF&N,I6_ö¤˛h”—A>Î˙ľnXîÖ4jg)%Ž4gŰ=čÍÄ}[ĺz5mGb%Ȩ®>ž¦Á +C= ÷ )s`c$ĎÂ(ŠöśC]É} OÓîćďň±í|îb>o%ß őü]¶U´Űy깪Á5+Ó ’JLcíŐ$=ĂË=KU?¦SSţöç–‰­Ý#WÓSŤžwĽĆă˘ja㯵gôp’‡UâşF˘0âŠP#Ú˘LŰS öí`aGwl Al›ě;©c!ĎĹnRxîA°hu^ŰtĎÝyš§yš§yš§OrŇţJÇäk_óČ©,‚u%k÷#ŮT{ŃI§TŮDŇPtěďŘë•WT†%˙öűŕ~í,‡IpÎW¨uĺ§<U&…÷른NˇA‘Ŕ˘ä Ë4K`Ę„ňŽä`°$•Ťv›UŃJłë¸¦éŐ5äHŠS0XöoüĆoN&EŤ¨m�1źîń'9Ý4 u$ „ ť ěÍ7ßě6u F:=ťŔ>€Í'ź|ŇX8t: 2ůČjâÝÇpőÁÍďÄĺ;®áâoţćo,~h¨Ç5%[/°Ž2qݨnř7—qŕňŠÔ‡węČ1’řçw §NÝk�ÂÓD}÷컾!h§ĄMçéćOżě 룜 e¨8uęTzřá‡;/LŚŞŚ-ů ĺÁ�Ů2‹PŔůĚ#ŚŔs@xPň°`üsśĆ>ó ÔĹE‰üůŽq©‡ţÄ6λťR×ŘÎw=tîىbKŹ>ú¨«¸ëŚĘGţĚ5(,p>ÇC°`~”!‚ÇSVĘNYIśĎÜ(RĽsŚć(ó¤ˇO8OíMűQ&=¸Ž©äzR®Éś§y‹ă6C€€Â•4ŘÜ#B4‘4wq/Ed3O¨b "?‹}ň¤•ť:Ň.”Wd 1@)m%/`)#×$< m‹bő"/ę¨R\—c9—róRř [´«Ŕ3ň¦/Q^)úN×™DˇO´â·Yéřyš§yš§yúĺ'ž!Ě˙ńŮőAS$=Čh ďŐJ®8(ńěÔţEĎÜúĽ�IňäŐ3gbj=H#B‹)Yěí¦í˝í ě®Ń6BZSH  M >ŐP16ŔŐB@ĤĚM`ˇSĽŠ`]ÓoŹâÁ[eŔ5 ’·‹{ K‘˘ý*Ô.śLa —-LŠgKăţ÷”IëUWC(`_9ÖŤŁh•§¬ŻäŮŰ{»/,,@´łăˇ/Ąń‚”đŞ˘�F®’Ĺßj@ßQ1ÄD#Tqł50Ż)ÄÎqăR“RżâŞ®Xaę)ö±ĆŰ­íŤ[ýď˝rJęÂ®Ś átŻkŽqµĄ@iҬ\ľ‡e©»şÔPhşvHŇN×¶˛˝ u¨18™ÂĂťbŕ¨ů¤KÍÂ9d RŢRłĐßŰ8ďë÷é»mÚÓńŤ&Ýz4ßď˘l`Ř[áČŇŰŞt0µ„çŰĘűí\îAîű#˛˝›n=yĚ”"–:řBjP¸şę€Ë:÷wÔ-ű7żžîąű®ôÄŹ~’ţë_żóZ˛±µă^`GsžűŁÝÜ.»6XC>|$ŰVíZŢ—d´k‹z-SH0mX/-d0ˇÚ™ü˛ń Y ăńőÇľ”žyî…ôŔw§Żý«F€X]Y6»…ĂW—ŇáŤCé[ń7éÍ7޶6x7ď9P±řÔ÷f 9ąšKZQ YZňş3Ö]€ţ%ď.ŮńŻţŐ˙Ĺʶ˛˛`kôőŤUKRy©¤ ‘ŞŽPÔ–qRt* ŃB^č“BÚ !& đ –Kźlm|ľÂCc*űČmdš4H!rČTßí§]‘ĺ ‰¦Ę|ž4j”YD°°ßŤPPĄ˝q›Ţ=5˝řňŮü:“ΞßĚ{‹Ľ·ŮY;Ąđ/ävp<ąéçqŮéů¦gU ie}Łáµ ä«¶íÇ,/ůrL`ź$[]”6ö=QÓí#Ł—›öÚ;EE‰Y7Iˇ·úyˇíö–RŃ‘S…lk±Ü¤H¤ŠůFŐżON¦HŐ´z…'Í !ÖËŰ.hnˇŚŰ•´ľ615 樋.ĺöŁ­V‹Q^ˇ—\1ˇŻOę<Ýs3?ďFśQŘĘHJQ}»đÂ"ŕ•˝˛©H¤iŐY"L4Ŕë¸čMŰAy¨- Řó ńçłóMR“<¤ })Ź×<f&m[ž›“ŇŽ[¦ôĐ4Ëąßn¤aťmłŐáܧŻĺĎgS;Ľf©*ź/µ&wŔÉ÷űŤÝĆHÍ8×·Ö=M6ż Jř+[?´ůş“Ú‡mëă’ň4ăBtŞś(Q …�×pË檄xaÜ×CWËHEE[Ł´ŰĹ.7"arB~¬®/çű¸`ˇwxtęQ€$% Iϡ4·ĚÓ<ÍÓ<ÍÓ'<‰ŚIŞq˝Á>»9Ç€…J=ú ˘@$jDĺJ­ÝäxĎ3u#y)TŰlx‘H°ĐąQýBŘ.ůqĽí=2Ž '˙Ů2DbáJ„[種1$Öé1™ň™ ˘ĽHrţUhőŮqMCŚčo® Ţ^ţŤ3*곡EbľÚ+{¸łÉukě›!Ý4 6đ�i€X�XĽd$”Úżsś€Vu mü´áŔ8ő˝ď}Ď8t’Ç{ĚŽŕ řF‡dĂŘȆđ€|�wżöµŻŮń?úŃŹŇóĎ?źžzę©D0ťe xÄ@�đÇŔa3�^~ůe» 'ĺĆ뜎Hľ‹€$ed%®éă×ý×í<�ĂgžyÎBUv7[hž¦Ó‡yo?Žý†ţ‘ …ڰ —<Řب^»¶ŐŤ3Ž•*c›ů‚±¤9sSŚ5$Mţ ČGęš[W0‘ócPD.~‹˛Ş$ćʧ!d)ň…4ń­o}ËĆ1c—˛ŹâvÉH%ĂóÍ7ľń űL8Ľ#ÂĽÁůśw×]wˇ@á6¨Ż¤ˇúD‰2s=ĹőŠ’VÔ‹ď);çGb<iĄtˇP+‘™)’‰Č-úŽą•¤EdŻŹcxĹć>Đvňđá|~Ł]5/Roę(;çČÓ—c)—î» ‡Üi:`aŇn\O!LäáKň<á^+üT4đ)Ü Šúžcôě‰F:ćn®!)x¨ŹŢl Źyš§yš§Obąš$˘łÖŕ„” ç¶B@ý" R˛ é™ńAňŤ`ĘôQúŞţ‚Á3ۧĄĄtm÷š Nśˇˇô§1±Éw÷:‚BFx^�Şuyć.vJT¤iŻçŞ#<ŻŞ“ń—żžÇŤřl†Ž É袲ôŢĽ•&U•¦Ś“â%Ű)r'PÚ¤JS Hô<k“ Çuipę¶ąyŐBIŽÇ^­iŇ”G‹{ŃNş5Ź?B˙m{2ľK•Č5ŁĘľ˝ä­ß–P®ćĺSň6ž�ŻW[ĐÚGk SČŕ˘ccĽ[^€ŚťóÝëH©x#;ů#·•ÝÎ&y¬úq"JőbmmÝ€,öéWFWňrŁ#OM&MG^4űÖ×�ĺŰv:6®îEP–ľ Ą´¶„DŮÜIiw?Żńö«tçńÜ——< ˇ7¬›˘˛Ř×XlŢ `ru‡‹W¶Óµí˝´»ł—nŮq5‹US•¨Ô+=Ż*µj'»pź?őŕ©tۭç˙đ§iká¶�–ďś>—¶®í¦ťk—Ó—żňEs qĐ»÷`ĘG–{•\!Ć”\ä¬áátĄĚ)]¸x>_㌲Ż\˛=Ř˝§î1Ĺ Âă,Ż,›*†ú1üČńôµÇĄ{î˝3ýéüVŢ ýMÚÝŰ·°”Ź˝ĺä±B„áx7¬îĺßŇUŠ••ĹĽď¸+·s'× ­\‡9VUTęøi¤N)„úhŰNĐߏ­ŇŻ…%[Ü+3Ž÷­=ńjw…š¦ÓźčŤ¨6j”Űk{og…g2RS č~O>>ů©v´7ť»”mEŻ_JO=:·űfçó~mg7mďn» äŻä÷râÁ°¶”uoo”űçnÚ+RĆ2"CzAÁ$ągÁv˝k|ĆĽâďRŤeěń e?¨ĐŚj§¶íI"6jΖC€ňUšUŇĐ•q8’@â*űźl€"ŰÇ:Guĺ?ÔSĺŘuzĹžYOG7ľO¦žĎ‘‰*FŔĚmĎś.5‹ ÎwĎi)2Ь"Łľž—ě%ĺ`˘9Öź°uQ*śš:M]S/ÝżhłŤ±Ľ)E…źćşőGśş¬˙´yĆö‚çPKßäŢqݦí@NŚś8},„ę12W2a¶5,’÷‹vXOKŐ±´XťĘoć<˛˝ga?· Ďá‘©FˇQ5=ůCÄ9«łś amRą—,ĹŹčsEĹĹú˛‡ŕé8JV´¦SOöYŁ±çą‡qŇĄĎŮů<Bîě0îv]F<·Č¸Ëó"Ę=CÖ %Ľ ĎQČ"F‚ś嬺¨g5=)RČś^1Oó4Oó4Oźô¤uC´łH±•'íĺ+La–AŠÄמŘZu„ÔŞę•Ĺř[NʱÓdčë@ăÚ1®çäx©µŕlůfË××r65ułB\X̬­&~î÷×}˝}ż´×$b»”Ďlţ±®Â2Řăá\Lľ=ôíÁFĘă˝ňÉůfI7 Á‚›7Sbőśĺ´c Ž|””W;�%¤:  %Ňđ€z’„4Ó&ŹŤ˘¤Z´“Ě= $ y$#7˙GôGVČ„¸S8ĽÎ$#Sźrâˇ.)® ą‚ă"#H`§¤m�zą¦dö?ýéO['ź|*ýô§ĎX]HłňW=ý<mđQ¦gÓÇń>~Xe˘Í¸?ýČ#FR`<Đ˙ůîرŁćyE:zô•ńÄc¬đY`=cPŠŚ3ć ĆşŚ7tSĚ‘}G9P;  2j@ ŕw^ČSs ¤ƬzPýŐ_ý••ď_ü‹asĺĺ!Ďř§ś1>ĺĹJ™Iü-ň�$ ćłgžyĆŽ‡¸ĹüÂ<@ŰČL˝™ è'‰kŠB2Żš<?QfŢQóá;•kJů‡ąJs—˛Ô1ĘEŁ äĹąÔQä1dhĘFąń¨sS‹ť#ĺ±"EV÷’óD2á\î‹Ô0D@9äŐW_Mßüć7Óľđ›ËµĐQxÚAýY„‘Čţ\0Éî˝®ýď©çs® ŤRBˇoPv)Ráz"†Đ/ćižćižćéŁOĚŐ</ÓĄGŠYĄ¸îá<ćwÎűyT+bę ëEŃIeRÜĎŮňč}C‚Ě~Ů)>d¬PY�úÔćyđâDŃ:€ň٤đ€ě€S ĂE »ŕ™cŘKŃăD ’›ɰâj "Hřé�Bzľ;tâa�Pd�đ7C„#>ŘĆ˝ü‡¦TĐX 1Đ~ń– �Łé‘DwPĐÉŁQk@ŹÖV¦±˙ŢjpöM™˘˛>&Ň&×€<@›ÄľâF% SĹpŐ:čË:ĆĄĎ{u–I×6˝ń§÷DtůŇŁQc˛ćj;ě<FĽ<Ć´ukśz€|'ŕž>ň¸îă캢…ú ÷ny â<őÎęÚU dŔqŻhď´#^Ô„ÚÜşv%ŻŮ–MůŁ'jTF&ńőf2rÎîîvŠáÔgŁw¸ęBeđw/Qę«Űuş´9N÷ܲNAĹ €˘“A)kť„1¶Ö’}€ěË5üŢ4<Ď jžsNž8š×kFRp‚F˛|D‰ĺ ±˙§˙ä7Ó>÷pú˙é/ÓŹň\îkFą|ĹUé~üÄ3é׿™í!‡7¬|ô)ć·ťť=ë÷ěXŰîîî›:Ę ^°ö˛ćh+S޸˛u9çw)ť;{>ŻŻŻ˝äţOżoáEÖ×–Ś`!RˇILq$×¶E‘ˇC×°µńg?ű™ôío?žÎž9ma<î»÷Ž|=ź—4ż2…z>ěŢf¦n’Ď!mRÉ™›vŽ!ŹfÉĘ”ŹCűYë%©«p>$ęlá=&´É¦…!qU–B¨h=\Šßx(ˇŇc»ľH]ĄX"ešřjdh¬ q¦íĄ˙ŰI›÷/»éµ7/Ąď?ýVzý­KéüĄ­2NšČVF¨XČsĘâpµĚ7…»Ň3ŞĆć&Ćă!îe4¶şą ĚÉ>vú6Őž,ÎŰJ"ÉH.‚ű"ž=RŚäťą‹—Ô…8VhÔVľłőy=G4Źiüř<TuĺÔţ-¦(ł,ňŚŞ ®şPMy =™"@Dáwćmĺ1»sˇÔ7ĚÁˇw{ĘK—/ćńŐ?ź!Đfëe,¶ť˛żĄ.ež_X\00ľM}h$›çCâó"ü;r\ąľęK‚@ĘüSUU÷\m Ő̵«¦Ś —‘Í˝Ş‘µÇV^ĎjPY¦<Q{ÖóS=ŘLőđRÚťśË=˙dZd›Aµ‘ĆíµÜ×Ďćßw¬}śŔáŁŰI K6f«˘ B;®ÄČ0UˇCAfHĆ[ÄČ*yHˇüü¬Ć6ľ|Öö{@y—Wťhgc8çIěřťí´»·SÔµ&iqi%9z"-- q޶yĆUJ¸Cc˙‘ Ѥn É-Yř‘ş­‹RŽŻČgžćižćižć铜äŚ8›śdęá eżШ¨I±Z;şÂ—ďcÁr„ő€ß(j€ňŠ ¤Wt’ĐZě…$ek©T¤č ň‰Ś<ëxÁµ„(Ľ¸l�±l‘;«Z1ĆĽŰ�8Ôă˘FTŐP}Uľ¨®Ázźüä'éÁL_˙ú×;ŐŃŮňĹrŞ,QĹ[ź…Kß é¦Y…I±BŢâ�stD:$ť@ŢÇx#rŁy§łAÎ`@üń˙±Ë1+�ţ˘!Tr/€]t"�?™Ż˝öÚ”74Ŕ"Xá@x'q=ŽýÎwľ“~üă›—9€!^÷([Č»\×äx?ĺâ8ŔA>óčS9 ‘M* •I‡kSn~Řăď»ďľ+s›m*_o÷WÍĐ6 Lô(ń8Oź´ä^F5ŮăĂě;2đś:u*ý“ňOҧ>ő`úŮ«ŻŘŘÄP„÷ěŮÓg™qĘ8‹cźČĚĚR?`îRÇ1á<4&o<82ŚF$„ü¦‡jmŇŹŁnţA]˘×a®â{Ć&syěsÎüÁY:Rv=ÜߌcÎĄ>Rťi zžPŽxŔ^,&Pe |Ľ›§X.s‰úBÚRHęHĚw\9RĆ,=ą~ôTä{Üz»hSĘË‹ş0Jń‚ĎľK㢇şŃ&RÚáţPćł#ŚshŹH(ăo‘ć̨xJIÝűČśH]ř[’śôä­hňĄ\"Çh&)v®ÉgE~áEąfF‹"ž#ę8‡kň,‹Aúe”$“âĹ<ÍSźćĎäyš§Ź*Eňó¶ÔěfcŐGZŞł˛âZcGpčď›”źňĐfY’’Q®[ŔK$‚«Lłĺů(’mŢ'ÍTݢ´§NŞŘ+ßŐieyŐ ř1‰ţĘŤ|ăD ŁD„z./­$-Q-â{íŞ5„'F•)7�ň ‹BŞZoĄâ�+`+Ź­Ł"K´%”Ţďŕ“˝ńG^ÂUjuO XSWSĆ#˙Îó§=tśžC źŔq®¤uĹÖľnňű=A<ŽĽ2�AĂşµp-ăuńló=pňÇČHU5.y¶3�¨“zuȱą*5ăRßĘH0¬y ĐhŤÔK®î›‚ň÷ö©7’ęB´\)Ă t©-�ŞŞŕ-ŻhÔ˝˙ ş°Nä}căPr¬ęúű]®÷LĽV«Ţ!ßČĹăAúŮ™lKا;N�(ć6¸Ň„ YťJ†úÖÄA{ĆóúˇcXÇB†Îă–ÇÓŃc‡s˙_îÁűÖCšTש6řšý®»îL˙úżý繆˙>}ű;?*€Ľ‡9wi3ýÍß|7}á Źäµň Sď  ×¶vŇhś×­—ěóx4éú’Ż˙ÇFh?qâXşăîs[nĄ?ű[y_óf:{ć|úź˙ý˙š~ë·żž÷#_Jëkm!ćXkqaiyĹ®5iiëÚĹ @nĄcÇ׳mäÁôWőí܇×lßpâřQŰ_ •ż¶î{_ź‹8ÓłÓDŠYREOXhÍ%ŚŻa76č[ô5Hřďďďć[±YúŹźë^d®$Ó‡ ©Í›]Š"V$¬ŰZŻm,?i|ś±bU;6Â÷ggw”Ţy÷jzę…łéŮßIoź˝šöꋲ´ŻAíóÇŇpЩͨ µľĎą¶ă .}ÉÂäyj}ýP—]I˛bü”Á3>ëäŕűş ¦ú ‘´§sőśŚĎ,ö…Ú§Ék}sÖ¬:L?®SĎ>ň”˘Ž•a;†żĚ(~ĘS JŞc];é…ĂJÎ’ň´ď%_ťŰ6}<é*őë…čô…2ŚňŽĺmfżĺą.J]·¶P%Ú±9Ô‰nm7Ż­®otŽĘK2Đj3Ę&†ݽ}«çâŇâÔú M&]ý§ ÷ň|śLÝżř|¶kŽö»ĎšcůËB2ŮËĎŘšđůú<#šžT ŮbPÔ<ƨĚk®`ąÂ®S2Ú$·sMĎÜ~élO.ĺsĺrśĚç<”˙ľšó8—źu»i0lŤ0Ćú€gą©»”HK#S0*sHëęšö–ń,BTU~ży3H]T¬&ňř›ägôJ;F&a~ ¬ŻÎóŢRZÂŽbXËĐĂ˙4®|Ĺł¶ŞŤ2´đ$Vͦ¬3S.w;´ŃďJYökšďçižćižć铞ú˝®l�U·Ź9räP·¦QŠëŤ¨N%´^eíŽĘz“=¨đ…HtŽN1ßHkD0~—â¶B‚DlFŻëU,{r˛Ę–ÁÚťü¤xŞu_TĐwq­Ub}± °^ľ­sŐv˙Ťö¬Ţ9Âó§ůáhäŠĎ}îsÝő%>p)eö>D˛ďŕ(7Kú V´ęţV}€÷ęźőŞĂ»^ Ě:yń›YBňMzś Ő1úđú ÉS@„ŘI÷ä“O¦oűŰf\@±BťŽcčĐś#”w!žĺ§Â�}ýő×í]’üxIĘOť–M$ŕťśżÉ�“sŘTČđq}@8 VH ÖŘĺyŻĽňä­ (çr ®°*2Š<ÝđFyň©§,ż(‘Łôq&Zü<e»$7ŞCŮľ‡±ĽMďWýĺýQµ›¬< Ŕcl1†Îžy§÷14𠡿+>)cC¤ )"DهÂT0Ž2(<…bTńcBăŠß�÷>‡ˇ{\.Ůü!Ĺ Č '“6ä:Ś9Bđ#ŻÄř'OʧąHR ¨ĘĂ|ŁřcĽCťç2Oqśú�mA9 „šĺ3’‡¤Ž§žĽh?HRń ľ“7‘ÔB(źÔ* ¤p´0ášśCŮi/Ń™W‚$i8–ą›óh/÷žŰé8Ô‹9Ľ(?yÄĹG ABżĐýŕE`U»Š�óÓźţ4ý—˙ň_¬ţ_üâ;â„ŘłR8â>Ň~,ś¸źňŕ’ŇmŔyŃđÄő87˛ki©šĐδ-çĹľ#R×#˙Íó/ĄCë«ĆÚE¶{±„ŠÁPęת̋U†şŢ0:-ÓőQŻn¦çÁ~áÜî¸aq:)žFű°‰Gn¨ľ|őZúÔgűŔyUrîZŘ2~řá4Oó4O]š“=Epgö»xN<ć9Ď–é ňÄďIł S­~ŢtéˇĂ.uä’(/Ďŕ?úOßN˙ăżűVŁ«)o8ʞësŹÓÚ⦳!o@BŻË¤¬\…ÂA"'D&٤PŢ..űď’Âg4ťq )á5äťźŁýľÎŻĺót!tT˝§t$ÍS'ťŤľF‘Ôü‚+NŘźŁ©{¤üg @D“ë Ţ%-ď!Šj@ľÄhěRŁŤúMń´ćNúöđňĆ»§ú ş=‡Ę~®Ň«\P·…*…×+’-ĺ#@“Żm†Sýf<Ţďö¨±E1Ä×ĂĆŐćN„Žĺöľ!mďJj›îŃźőĺe<˙E’ŞĂ˝ť•ÇŔL[_¦~,NÚâí-f×;´:H÷Ţş”Ž®łžs˘KĘ{˝: ·&ęş'wpo»%ď­Ą[O3bĂĆĆjZX@,ŐűѰćüßţĂźĄ<ńl:“÷!¬CÝ>¶kyźt2Ż_o/6‚˝´·ŰŘ®w2źă6ŽC‡×ŤäŔË mş–×č˙ţßýqúŢwźH;Űűéx.çŢ“~ë·ľbvÖBŢ–Ś$EÖç.žË€g›Żµk¤HČzľüĺ/¤GŹe@x!�żÓëÚjvůTŐ‡éR4]9Z›Gý ^´żé?*/|ţIÔU„‰Ť“şę˝ëŞZ şżĽú< U‘˘PĎ}Łů:é"%ŮA{ŹŹë˙ä gÓOž=“~öÖ%#ŽąqŚľźshË?ůüU•09|M¸$”Q\qŔ ¶Wíea&mľ‡p“ÖÇľîŻús$ ö„°^ĺ@íí\2nKý «ąOçıĂdo')dúŁBWi?©kk/ű@ĽĆ¬çŁČq ű~ĽíÖĺšűgźá2B“â~UuŐ5ë¶?F×W[(W9ňĐłe¶Ď©5"m!âlZlÉÉs»{FâçĹߪż®­çŻíQ(Sn űG1Ľ‹ÎSŐf×z¦ë»¨T2KÂč#ĺąî=ľ÷/™˘Ď!xCôŮa]tŚ'{vëŔäűÝ2©Ő„ľŃŚm^7‚Ą©GˇŠ“Ű+ΡŁůëežÔą~oçąňš+ÇăÝdĄ1Eͱ 6ŽŚű–űĆŘBżL a©ęĘDyy)d‰«Ő4¦ „ áwěY”ź'„{YZZMKËůQFj“=›PňI%‘©b”˝Ľ9ľ[«J <“í9Ô–ďŰn ăĚ{NA–ü—ż{*ť<v8-Ż,Y1ź›ý=Ú "Ćßçö‚+ý2ěó4Oó4O7KrňršÚăĘIŃ××ÓsęAës$V«µ ¶|aĹ‘ĐójšëĂtóëU©•i=$‡×÷łóÄßUF©˘Ş<$ŮPâZń |Ú¶˝®¨+í%ň.ß—żyÍÚ”´ď!Ń~ŕÉ(¤Ąá8¬ňĹ|âűŤĘ¨5!xŤÓżńżńŤäŚř«ĺ}2ó’GE^mxź}Ą|~Ż÷ŮżgÓű>|o [$[Â;7 Cŕ! ť$ďéXlB�R!W0X‘‚˙ťßůťÎ‚M‹T"�ÍÔ�=ÉO×ÔF1z«iP/�š<źŮńů’D�?®Éů€žtX$Wž~úiĺ(˙©S§ěz ş¸Qá<ť«ÍpRl,Ú@uçDľW¸ęG=żöµŻe`oó3ö™˛*VŹ%Gëop:®yú¤¸p˙¤&™¤Hl Ož8™ľöŘ×Ěă ăŃ»Ů(xuóŞ3ňm@®Đž…ÖĹ’cŚ- Z!AH˙06*´ŹÂ )Öą<mĂ€űä!˘c†qqb– Á9Ě=zĐ11Ö1"˘šCČ ő"i,s,ç3~EÔ`ţQŠy…sô "ÍQŠ9…˘”DÖ˘}8žúCô í(/ÇK)‡ëK͇‡,×ÔB‚ó¸f”ŤR[Ü)CH H-…b”{ y"’&¨?çpŚyîr‡Śqş¦âŃ;°0édżX©ĽĂ5!š|÷»ß5‚ ¤ćxIÚJÁűM]u/ÉKMş&yIÝr‘ŹÎW;ęŮCąřŽ20żKšL ,†¸žŔ)ÍÓŻjęăôÉ ?ďó4OżÜ7…ďED¸Ń\=Kdře•é˝®Á‘_túűHx–îew2žLyňG ž»m�0ľěČ´YÖ7îÎZ€wŇyš7EuÁ%ü6Â%ŢëΛÖĘŃú^¤¶”z# ^¤€¨"˝ąZBęH^ÍŢ㻓�m¸Ôyz„ďI ť§n;n;iň¦ő8îÔĂëă„%÷z÷!{{;É=ńýĹ ęđr°u×Ö„đóKI%D€Ň ÷ŚV’÷y_/'�PŢ=Ľâ­üŤ}¶{7(ő«†,_'UDĂ•T%ś„á °8©<lĂ´+•ý~ör«zWx’÷#ű@ĺžQiÓŞ€Á y]Ľa^جcŰťm#Yđ˝” Öď˘7»ĘŇ+]öŢýňžL5:Kí ˙ąĽăŃ ýěťQÚ:6IÇ×éĐZ‘xť8ˇ"µŢ§*ďt¸Ż,ÄLÓdŕĽ9™Îś»’®m省íÝtëÉăyÍśAµĺ\Ď7Ţ›Ż­­¦˙ë?˙lĐúőô˙˙·”žᕢ’ axśp�ąÂŤ‹éž{ďJÇŹĎű€Ł Öe<Tf—h xěŕkë é˙ţŻ˙Ąíkţ?˙ď˙Ż”Č×?űĚKé‘GčGę#>‘ĺßíĄ• @®¬.ĺkÜ–~ř”“* H}źů3nĂĎ>/:©Bc”mé'ĂÁŠ-¨č/{ű[ůŤÝ‹ĽUč„It=<…Hţ·{Ž—ą·qO{ÍOÖŻÂîöâÖ Đ=!Lĺ(ďňkű$î‹é‰g/¤—޸ś0Ôš2‚“(Zóęgž!kRH€Ŕ>ţĆűAUűëë®nP%‘Ľť�“ŚĚ“J9&Füś$Ł˘ÚśÄo…đŰÔWůÚµAęÇh4ÔĘF‰TQ8扪Ćňň±.t%„'Ƣöę>üşňJ›×aÎÁ*†óÉŤ—ľŹD˝÷do›%SĹóT§Î6×ô‰‘8˘w}W˛ˇ#rxš5{ćŮý[ĎďËSe´¶BéđbçDĹţ„“„öŔ1üU §B2‚ ˙Ęoň:T™"ęoő ĺŰ"m"‰ďln¬\AĹ•}z’‘,ŠV G°¬¶°9¦2˘J“ÖUlĐ |®$śG]H#F˘?/'ĎÄÜ®cHJ„" óíôś<׿›ó»šŹŰ3ĺ HOV^ 9–ű$CµŤ'TŮÜď¤;†Ml pµo*MůÜ!ăo9­B±Đ;K¦HÓÚXž¤¦H5Ö’}WU ťÄweÝyŁő>;¦ď ˛ű·`mŮ{–˘x’A…ižćižćižćé“—äĽĎE°'ާs÷äç¶#ÄőšÔÓpö~‚Ý>†‘Ť–!bx ‘5řś $:éGü#†Čh¦HtýúKXź=ôáá.dßlŘ ­R‡P™)+ůRWę,rE,c\“bąbůhż—_~ٰ"ÂÍă*L+ÖW6›Y ˝ÔžÂLŔ=Ŕ9Ŕ—n–tÓ,đŘć†rŁD&�ěäĹŤđ'‰|^ 6mt<ÇÖ 4#G˛}$…Ű`�0ř0ŚŤ ç�J2đéŔ&É63`Yş9FĚ|mţ Ox@@ĘK§#ľ ,u�ŚcŔiPs<©%Č5E$„Ô&Źr*T‰Xě|GÔf‹ąžź~äa ·°µ•ÁÓ·ŢNgΞ1©OĘÂq2zʸdźË¦ż-O.‹ŰÔx•|LŇśýűѤYŁĂÔoËwŚÓűďż/}ĺ+_¶±J_„4ńî»gl®,÷j<�$}ížW»Öçy°@L1‚ 7Çq®ËŹMCę\ŕ›qĎČ.…âz`ńť$?˛3Ć?Ľ;“S5żC¦âAőŐŻ~Ő^R-*ŠĚ”_ó“Bf,t ýŚÄ<Á‹úĺ#‘7‰ĎË1(÷‚<ąs/HäĎ1Ľ3ç)>®ĘI˘.Ľô€Ťd´``bîÓD›4Á1J,EҦ´1yPNîßq]âČO߉ĽÂ˝çÍ=•'•ć´»gžyĆČR LZ0¨ÍÉŹóDĐ|¨0$+ů-ćtćd…oaFç@f‘žü%·* ç�Çoü­¸fóô«ŞÎčhŘł··źűÄâGĎzŢÍÓ<ÍÓ/&ý} ż¬ôó–éďCQ:hŽ™%vŚ pöyŻdĆ€  ëagP`śyöŮFßC�~ŕ‰ídö=Ű�2PŰ9@t/@‘!g‰Ľˇ ćń‘"CSÖXłˇ]Ň1@{E˙®éÔ,:Oަ ONčÁz˙l%#4G•¬ĽCĘŇVYšŃ^˙\piŹBh‚JF5ĄüĹ5 ¤°®˘Ť×Ö6Ę›=]mŢ´RĘŔšH(�8Mf'“ýÔ…Üh›`vŁÍ‚…ü�€r ą)÷`śDX‘§¬‡ p@UIž4uíăÉŐ|/»zYÓ(Ż:.ÄC©d8X%U…PŹŰěsŐ‘¦S˝ĎĹŚ4(mĹžb©ě){Â÷„®o÷†˝¦+ꞵ<ĺ›iŮŐ˝rßß<ť×ĺ éîu:„šĹ°'#±˛jś(PU„�Jéő×ßÉk弇ż¶caevvňZx'ŻyŹIë¨Y*†€^‰öÉîAţíî»nM˙Ď˙îżIňţkzá…Óą 獨±aw/·ë„đŞw¤Ľ/Ýu÷î]űşu2n‹ŇH]Č1C# X/™´FθăŽ[ÓC?žřÁ“(^HgŢÎĆŃŁÇÓơ ÷¸^Â3?ď©Öójép·ÎF©­š!—jüÍÎ?ÝÜ”¦=ÂRŃ|pňUQ;1p3Y8"HR×v6 Ôî”rf®‘,ü‡şłŽK¦:“ +-dŠĘ¦#g¤žXˇ>âŢČătůĘN:™âňvşpq7˝ńöĹôΙÍtuu 'uX˙a„ë ŢÝŰé ©2TŞÎF/{íÉ4‡z؉ÉÔŘŘ˝śŽŰí<˝RĚ4OůB¤Ş eţOíSŞ7“~^RľłŇÉ"…‰LGů··eŻ~ˇS˛čB[RaŇ M{6&*ĘĚ>›´ďŚăSž‡jíűŁl±Bo¨^µ…ö—ş2"+E‘)¬]ZÂGěYű�ŞËA`Ö9A)ŢoŇpaXćňµÎ®!5DµˇŚé*łć;+oÝ{0꾨^łŠ$"Řu$”ÔŐŤ2Ňâďí´bWOJ©¬®7F�IůYŮÔIˇ’&×ăůi©SôÁ®ŘšŇŐŔć÷ÖČ ÷ťRGÓşú Śq22XUĺőĹĹkůčË9_Śů‡ňÍ9bˇŐµ\¦ĽŻŽŚ`Ö0w–2™*ĎcTAňř%܇őµI‰m>alçܵĹ5#V 034¦[ cR/¦RE ±„›"DR•ź+…, =Łě¸˘hQ Jpmž»Ýs“ço!’ÍM›ó4Oó4Oót¤5do×>RëŤH$%E5L…-çy-µ/Ž•BXG~ ëRĺˇüuĽžÓŕ SÎľEΠZ˙Ć|#é8ľkm%§NÖpZăŞěqť9kS™­wTęŕ%§[‘m)Ż"Dr…ÖôłÄ •‘XÍăŹ?nXśŇq=ÉÝ}¶uSÎĽs„ńÜ,é¦!Xpä­L’¤ż:47‘Á—6ä 60�šŔđ6—w9y(Ô‡T$x‘“ß�éh1Aާ´€7ň·ł€8 &®I^’ńc`Ńéř_ţň—­üÔ €•cćčŘbâYÎ;őđ+pŽĽ5‰E9¨ e1©±Ë—í{®%0ď™4N?–ĽvŢü_4Ź ä~ŘRVRUw‚ÖŮŘUçBâ˘ęcJb“+Ţ?ýĽMô^ő÷kýÎř@?˙ú׳ż奦@=046e(Ńś@źÜÇAŢ"M@B‚ô ĺ ~×\!â�/y–0n($±9—kŔŘa|(¬ĺŇĺcŘ×Ř#¤Ä,ó+ó…H]äÇXglrMIGQf’šň^á:¨Ô(ŚŠć)ńHéߤ^Áď\“9„6bˇ@űH˝†Ľ!^<÷Üs–Ż3GOtĆ2ć=ľă|‘&Öúi.en‘ …ęĆuµ0ˇlü-cíĂKä‘NČ—>AäŃŞk27Ĺ^Š“«:*„ ß˝úę«V'XŹ>ú¨/µ…w‘ŠŹb–Ĺ0M\ŹWŚ“F˘¬ ő!c 5:.F¸—ję-BżQG){ś}c–˙ަY€asójî/=Ó7n@z`ažćižćéĂOÚ4“4˙°¶ŕŮ8+!~Łd„Ć•ŐHÍÓ|˙¬ üîäĂÖHg€áËË#óÚ65„Z"zî¨:îu}čĎwXŽuŕŘĽÇAhşă¸÷P˝”z[B@8 /ďçHü»Zß�Ć5E͢.ŕ[2r‚' 4äía%R|CH™âísíçNĐJľú»+±Ú)yA Sł¨bőŞÓ-ęYF„ ˙ÎAuH"Aî¤G r‡<ü#Xä ĂîZMÓ‡‚ŃńNÄP;÷Ć2'Ż´Iˇ\”wۦBX©‹”jÓ]Ë :c#‘TU$xÔF¨€8"#š“.Ú˘ü±`í´Ó…X©¬˝L*ľÜsŮ”˘ŃJ ®ýöîŹ@[őŹ˝Q•^>=I·iŇ‘őAÚXÍm:hđ<- +ĎŞË—ŻAaqq/íć{Á‚őđ-'ŹçýŔF ©a­WÓůÔ%®űš˙öżůĽ.ţYúÓ˙ü7é©§_°6ş˛ş–_±µµmăkgw+ďWîJ«ËĂn|ëv OQQĆ€ük[›ą<ůĽÍ­ôůĎ&˝ńúë顇ďK÷Ýw:y Dđcim}Íî1Ä ]CŘŹž•şľâżUĄíSšFµNŞ=ô@'mQ»i‹wş‡ýGZăd¶żFęBÂDQ ł|ĘQ"GąJE˛ sÓösa$jréĺťtîâµt)ż_ş|5˝}úJzáĄ7Ňéłň%�oN XXö6 w›zRŽBF( g üî›Ě<ĺ(óS4xFr€ĆťÚ;TŰ”ş}Śú\ ÝÔĎëí”aUůÉęv˘T?šë Ć$[e¨Őő´?”}Ś—BuÓ`ĺ¤/ČS=9`aĘţ7kxŹFôŮöđąŁM]žBÓĽáódźŻĎ-ëĂŇADĚ—±[m&/ŔŢůiĐÝCHÔÎ:WeŚíĄöĄO7UO˘“˝OŽf¸^YN+¨(0ĆCcc�BCUÚ®ęćÍxßâý‹md¤!Ć}]M7˘e|v«źöcŁ1µ돥‰[ ÜŃš:…‘ ’Őu â˝q>g„ŇRí–ĆA ĄáÄ&§XôÎ_Éć­Ô¶…čçż™HÄ­j?ç÷Vţ.?˙Gs}岬çĎ8¤\Îǵ%˙dm5ÎĎÂ<e«¤áâĘ,#]¬.Żĺ9lŐGRnŽó<ł >=±i0t%'NŚŘčęXE˝˘öů¦4LGóî:°öH6'ŚĘ\čcŔvÜămžćižćižćéž´ţšŢ“:v1)ĎŃéőv$ŮňŽMź5‘0a±‘8 =[Ě'’ÜăşF”lűÂS´nÓšGk·¸'%X8,ŠóX*ú€ę©ő׬*Z¬7)®Ůx‘§đ“_Ü7Ď5fÉ*#u&Ś=řůg>ó™ôŔŘ÷‘ä=˝'HÖYçáoîřČŘ7KşiňP  &/gn6 (*Š_ hI‹Ţě1ÂzôŇ„=k Źk~ńç3€!Bč<6„äÉ÷�s”Oîňf–„Ľ/ °Rrü9ŔVň)ś0ɉ{~Ł>÷Př̋󹖮IŐáůŽßńđ¦.$Ĺ"âE{PŽŰo»Ý&®÷Z6’\Űş–NçëÓΖŞîżT·lšŠ‘˘m‚IâŁOsŕi:}P˘Ă‡‘÷ÉŚčŤőB6@>Ę‹ßW­“xkŚr=Ś <řDšĐ‹w1EFůBLAĆžHQŚoÜů]ĆĆcM ˝¶"0¶H"9ń€ăب†ň*ęFh"Ć(cQĺU¬YŚ0Ô™±[PäđR~iB6©(Č FŢ` "UÄTűńç˘ę vU(!ÚÂňăPF‘.ĂYd~ăzZ0h®Ő5ic‘#¤ĽÁµE^áEý8‡öˇ, ßÁ÷R· śšscH&…Ś˘ěRü oćLęđŮĎ~–x_]YdĽTsOµ`˘ítĎEĐ"yPm«°4´™ źĽÓ¨ÂÉpĽę(µ ÎŃśŞ>%XçéW;É(|íÚvžĆą/MKöÎÓ<ÍÓ<}Ř)‚-úç ­%x®Ĺ8˘ď“«ýeÝg=IPuĐ1}üŐĘÂ8,-­äµÄv!7&űÎ÷9Nřv#Ië.†oř÷; >sĂĹR¶‰)b´UďŤ^ŐB®H Ů  €Ňä:ďgŃşWl ): xN (ÜFQÁ€* ­ËŚ{[©-Ľ Ť”0Ŕ¶é�dý&AOJŮłs‡€ł %‹gÉ~ ő‘¦ '€–~?]™Â‰Đ´&ÚÖ—ĽžU×"&¬{š ÚóÓo~ŰŰ®n=xëŞ!ľNd\YcÜÝ/K]®ß÷ÍŞŠ@\•¤ž!–IüNxq÷•ҧşk÷$”iŁ^|7c€fަ}_öő.éť ty«MGĄtüPťÖ—«ëŔJćúrŃ…‹Wň}¬ÓÖćŔ!Ű,vŽĄăÇŽ¦µő•BTizŕî:5 ĎĄŔů/§{îľ+=÷üËéŐź˝a$NlŢĘ{ţík¦půŔ}w»\~U/jŔľíR—‘]’Źoňu?űčCéŽŰoMŹ<üP:txÍú` w%…y‘†öŹmšť:ş¶0Ý̦Ě�"fP/Y>F.ŕ^˘!aFÔ‘©ăŘ\Đ ŘÔ<&{EęĆÉÔß…Xa˙Ň‚•cŠ+ôä/»Ď—Żî¦·N_Iď^Ķt%˝}úr:ýîŐtysd}ČČHă:-­1oř˝|Ď Ä_«ÓržËööw§<ŰDâ _˛źŠę’%¦(N‚QŘ ëđ(cÜÍG]»5iVu"ÚĆbßďÇS=ĺݦ4ë¨1§ňéNŚ7ö®JągŻh«bn˛ó0öÚ=ďçőď¶"—Őf*łćŹA —˘Ej ÍI6ż™ĘB ĺc—‘›ű%Ąuß|_ľĐÍM*§Úl–•vdlŹ÷»d’źWĂn˙Ďu!8ůsq§hgăýʆń¨Ť:u®›ząěřŚÖń:g°°Ď;«[‚Ňĺ Ę•§¬ŤéK…$QY[’^é‡ö,®‹˛O*ß5Aů§Üë›ÜŽăţMśô`ˇŚŰ6oĄúrΧĽŐ| Ž8(e^±×ţŢ5{žˇrăa¬*›żxn.­,çríŮfEžĐf °2¬bI]ŢeÉ)ÍŐ¬FF¦dşň¶Zż‚<bó !QxŢ'?ŢŁę’ŻÚ·'CÎ,ćižćižć铟à ΀íµ^Ťá'X+Ęq•µ"xçůúg8µ‹a#)7’Xë`_`ĘńŕĽbD$Ő¸Ž&Ee°Ů0ĽŔ8žu=e^˘5j ˝×Ů1Š>KˇsÁʤŠ=›ŹĘ×ÜQAKůń·Ä ÷�@TPWťă+Ö;ć©5Ł0,ΗsĽ7Cşi’ş—Z7Ź×믿nńbä5 ±PM2ő$€. &±‘čp ":>ďb0JĘŻs…Ü˝döé$|&Oä OĹqĺš Ry‹ĘňXÇq”ťkň÷#Ź<b×äXŔ\€<�O<±źzę©PĄl„ˇMTGĘO>śCçš+ ÚÉ»žë ¤Ü·ŢzK:uę^Słx167Ţ|ëÍ´łµk{7Ö+4ąůđăć䊏oęHMąďA€úŇ—ľ”î»ďŢÜ™q€05çĎźËăď˛G•r€<\xË( ‡źČô{¤@@˙–"…X~z2î„!1ţ¸&ßń»Â_ć'cL1˝´ëáÉśđÓźţÔĆécŹ=fsŠ$ĹŢŇ‘óâC`^cXňŮKžŠ#ć†Ö˝îzbh*_Ę ‘JˇB´XŕĹőŰdX‰!*¸h®Ă1"dQGĘ ™…"Ě%ĚM´%ÇęÁ †ďČWĆ&‘ D¶'e!yâ(„‘äC٨óźŘ¨šł¸ż }"…]OÄłgź}Öž ¨˘@"ŃâDyń7דĚĵ-×”j XÔs!—жşž^´™<ÎČű ¶ázQťCs°Čn©"łvž~5S4d»ÔÝfîëGßóřyš§yš§;E˛E[Ŕ-@ضĽ˙|T<b«ičř7IqĎ’9@Ő–g8{¬IčE…`P/řZy s2Jš&S/u$=Ö»yw!.Ú´Ž śăGJ2zL:Ő  ĽmDhşszoqíä‘_YY�rYôIĺęĐŕµÚ…Iq WtHĹر`ˇ:\͢÷ŕŽ@gŚż ¸»˝˝›ö1–ÔC»§ÖUo,râďR1FŐVʦOŻĘ{8čŰtŢ2Úö÷ĐAşI㤺^÷¤éÚŇ6=™#łňrP-éű6Éł7Ęž*t‹0I˙Í=ś#¨śR€Nöě‹Eńm/Ż=3ŘÖ,Ň�k5żv[Ŕçö†R©Ö˙›é2ëwۇ—ö¤ţ[;mÚźTióÚ$ÝztŽnäcR“"ˇI ˘ŇŢ>ˇ%70Hë‡Ň;g/dp zßB†:Äľ$ßĎaf•,”(Ď-'O¤ß˙ÝßNźůôé?˙ů_Ąý虼ÎĎe;yÜúÄ‹ŁyßA}µ—HĹĂ B®­­§ő5<燮”R÷ÄqĚžVßŇçúďť489 ű㦄ůHÁČ:)ýÓ=ĚëľRČ5_Ű.¸@ťéëöß5Mů칥fÜvŔ;a ®ln§·Ď\N/ýěBzëĚŐtţâVşxeÇîATťř Ŕ^U‹…TźňľcË”bÍN‡P;Ĺ5wČ-’ " Gă¸?5ŐI;UĎhU:g>ŹD…7őR?ŽyD5„ŕkěF“”ŻRO"h»¶@…G{WÂŘj4ňď‡fÁÇ™ß÷ž¨óŽwqF—š$’/ę#¨!ĐŻmŻIřŃÝ˝‰ń>ßâ°rťÄłňŠă:Î!:VÇL¦BG¤©v×ţ:¶7ýd˝FYa1íîőŠ‹RŽ\D˛i®3€GÂL¬sś»\5˘FëţFµ ÝCk;ó·*¤‘‡9ęTbóéËa>Đëú6ĎäĘĂŮđlżŔkęţľÔRsJ";UťjMĄ2wdW­Qw ¶óqů98‹r5ÎűţÜvŁf9íŹOçű—çłĹ‘!V4ĄţurDÓ”{hÍćá;&ö\Ě÷ҜɌˇ¬#Ľ<N.‰Ż'ů3‡Đ#mŐŹmSJSţŚęÔ¬Rî_ťć ‹yš§yš§yşRO†ď×kŘĘ··QŇź&™J!L¶á° '®µf\gÎÚ("Tkl)zó8‚ÂwH±<vgó‹ktý-‡NELб¬Ń´_WŮf‰É±|1_©Ŕɉ_kF0¸ť}iÍ7«^!, ŚĽ<¬EëűYâôô>îzĺ •SŞđ졅ź+Ď›%Ý4µxÓÍ´”űńŹlŕ(ßă)Î1t@8ŔޤčéŕüŤĽ>ß“$/‘|7‘NI\W±ÂCŇ4�t$�C:€)×ĺłBhs<żCz …&€¤!Byś:uĘĘ!ňĽěÉ—Á@Ýů ńÎ;ď´˛”äł<˛ąĺćx7¤-v5ĘF=¤ŕˇ ”5ŚnÄ€<qâxÚąć!ŢĘme1ŤŘ7™tá ÍÓ‡—âCá—•âµ~@ýĐţdîGŚÁŰożµ Şb8đxĎô=Ć€”j�é!Äئ" ú ˛”:‡9€Äř#1Ć+%I]Ŕ™’Ç,O‘x`)Ć@pĆ sŚĽ‹¤ž@ŢŚ­źüä'¦^€ÔD¤’Ş„ĘIAsŠ2˘g u l‘4ÁązŔ*\Š#”ż$ KA]”íE’bżQ®ÉńR耼ű\ŹëŤqzĘČB›(¦,eäťëSo RěŃÜŞy‘ď9žrsß1Ńn‘¨ˇrĘЧ¸cZ HáB Ď<óŚÝ‹Ż|ĺ+¶Xş…Ś{2s=ňfŽgŢ•7ŹŘˇĚĄRÔĐ"AIýöÉBs=ů™\pQ˝ŕX…­áCť¸źşş&żź~m˙*§hŔ”:Ěň2†Ň•©E˛Ňěçyš§yš§;±®a-ŔłU@ţNa AĂÎëÂb·WS ˝Ëł ŚĎk•ŐŤTqtĎ€Š••B �4kĄ`ŘăD Ŕ’¶xŽ:9ňĽ†jFĹŁÔ˝Cđá€Q]°Ľ¶Ř »l7€‰)d´®�¸Ó@8h]!BŔ™ĽkÜŔ1 u) ;ŞdŐ"9XťĘ±ČƦ¤Ń4Cťpá�̸3Dą!f4奣Đ(¬äőŇ LÜ(2™"jź¨w$ŞôŢî2ŠMŠ7ąĂ´y[<ë"%†Ř ő�®·-¤=Ř9éÚ»ŻggŰNŃ‚¶îAĂa>döš×{„70Úý4âŔ°¬ëŻEĽĺâŐ<ě»ţw^Ţ3'yŮu 1€´·!7Üö›tůÚRşăX“ÖVú>sŠ€í›˝pŮúÂöµĽ‡Ůu/®'öŇŃ#‡l˝0\Xۧtcâëć¸7ý‹ţĎŇgůTúëżţA:}ćÝ\¦ő|ňł}XĹŤŤµ\žEË›pťäÝD»É63m$mu«şzř÷Ćzz]?ögú…y¤¸ť÷“}ďű­ęTuó."ú˝«€ŰĐŤ©7^ş‡=ô ˘Đ§››űéí3Ó+o\Jožą’÷K;éĘŐítîҵ´ż7**4©¨0,vm­űĽż“ű>ˇwš‰ŤG…„đDźqĄĄn/¤˝€Ţ˝ď×Ýü1kť­ŹöÂ:Om Éú;:t~ô@‹ý¦#L…Đł„ Ť …–tŔ0µáţ+žłŚ˝ÚGęş*oŻ ¸Đ9 (ô˘‡AZž"SÄ2Ď’*ř}ÖHěáŤŇT{DŇ IuŮŮŮł9FĆí…zĐ)_ęąĺűmWńéCJM“bňxTXŁYĚl" CÇvä­2g1.µÝ-Ş‘ÚFĎĂhˇN †ÚJm }ł”RěÉdŞďĹă'ĺůŰÎź«ö|k ą°rÉo'Ő ]…Ąň1čaśPz¨l|›nČŔź…ÖfE˝‚±ds|!$ŐBí׺JŇ`(ÂsňÄÔ=Fű%˙1eYČë+iqéHZY:™ď݉\^]»ąĽo&{6´„>·d›Á’‡ô¨'¶~p"➯ZW–©}™E±5ëú‡)XU%:‘×u`^·µ·Y3­¤Ň‘ iłÁ!łÎÓ<ÍÓ<ÍÓ<}üS\ß(ůşjhk¤čóÂŢNbm#|!*-ĚÚRIŃQ6’Cu]ňäXňWť%ËFµ ť×Ě‘ Ę±¬ĂD|�cPůbžq]8Kř]Ż‹ř!ڬ!ł"üĎŽU樮ńüóĎ®f‚ă>ůiß:[wRÜăĚ–QůJµś˛*/ao7KşiDr�ÄüŰżý[±ľţőŻ[ĽŔJn˘<§Ő�ȸ©Üh€@yikŔÉ\¬'ňçĺˇ 6MfžĎRź Oňގ9Ô™(‹Č$Ęŕ&Żg×ŐĆQ^ĎňΧ �p|/Ď||�“9^€$ <ć‘ÂH ±‚öD źlQĂ ÎL"€¦‘ŚÂ9”#~G~Uî?u*·cL§#oľ’^9ýRÚ:˝)őŰŹ<ý2Éżj)nö˙>çđ˘_˘äđĹ/~ŃĆŢŽ-÷ ȧoËN 6ä ©5h˛ćŤŻhd`,*T„†ÇSŚ=Ćź/ űCżćÚśĎ1 [ˇ‡«H"[HÚ—Ďşž€}ĘńꫯÚdžů˝ßű=#<‘7eAv‰2pM©!Đ&Ś+5·šG{Ě3ŃHËřWL1…• ±*ĄćŔqäO[ńY* (îpO‘Ëâz1ż’—B¬č!,ŐćO®Ç±ÜGÚěÍ7ß´ë}ď{ß3ŇóíIý©íNĘ!C—®ÉyŠCąÄ±€ îťĚAľôµ‡" Íňkżökö"?-(7çŃ6Zq$Ő%‰úJ™‚ö˘ü|fî”ú†ćTúíBż8ˇ¸Ű‘�#‚×Ôüß{˙AăkžnÎä‹âş3¶ÓŞęX’gžćižćéĂNłëé¸Qç9ę†Áuů÷KdĄiąůh¬Ź÷ŚWá ŹHeɉ ©7D,-Ö…ü¸g ëâҲ‘ÁŤ”ŠÂBÎÁA•Ľ–ÝóµéęWH)x{T¦X‚Şš>®ZH.SîŕG“ÜSu,Ůn�žXa˘L)őa:`y2*ůÖ¬(ŞC[·đĐ„vsU74yX˘ťŚ°oőwDz đ˝Ľ|¨�Xă´·ż]€=ŔͤuŔ«ßák!łŁT*ç*ĺÚ´çůZq\Ö8ŇÄ›·é"mho­T Źbëý¦´óŔŔ|/Wš’qŐwşŹň,w»0ő Uý ö`µ__y×u“„ňÂa8ŘÚŕu†ŐŐAG QYD–čHu/ť˝Ć«Hl§7ř~oÔ¦ WFisk’î>1N'Źot óÔآÔ˝w_łÎĽăλÓëośM[ׄ&dČĆĆşÓŐŕ˝Ç%}ú¶[oIGŹM§î˝;ýŻňż§ ݦ/ů+éSźş×׻ˋľF†P4¬K_ą~ĚOŕ| Y Ç8¨ŢKÖĆű¦6Ű/„újťQ´Đ¦ç›¶űß=»±łór/@oŰv}:MyΛż}Gč“Óďn¦ç_9ź~öĆĄtöüµ´™űŔćÖ^ÚG塄 ˇ›-f°•q?éć°Ş#ä‹ îę)[÷ŻŻŻ%)|¬ŻŹŤdA˙b>ĄŽ¬ń"yaVAígß''´”Kźa!Ş#ö÷úz€ź$›Uc=ai0E˘SŢ}XCż×"S4Mo öň Hś¦Č*Oţăą+ cI[±Ç•yuu­ĚYmW]c‘2—vŚäĺ )ĚË<­˘v‘SE$şhß·Ľ°8uźÔnôŐşôëčA ĐÓťQľ±'MGx™őĽě;“ý´'ŽFnT¤ …âËę ŠŘq,Ůéb“ł_ťU=Q*ÝďžŘL•·Wcjèë“úGGŘ›¸âLÓ%źAeä�»KßóDřú^Sć…­©Pů}"BŹú^ĺż×±ÜQĘľ‰6šřxlFŤÍŰ{{ŰÝÂśE±Ąe†´ŮµüĽĎkŽQ¶´Ů^RÎźÎylćë_´g�Ä ’‡ ňöB‘©µ: ]ÇâGQËđţ¬_m/MłWŠÚ4\X2g[şí¨“<o<˙äŞŢWŁň'Ě÷ó4Oó4OóôÉOłkNí ¶?~lŠĽ€Ý¬‚u$0›gíł„€YŇ+‰u6|lű¬ pĘŹ9P0›gĚ'ćÍÚüő*kF0-đRT#‹yĆ2Îľ+O9Čă ÎÂZ4žű^ďq-'Ű2ĺ{â‰'¬=Q\çĄpŻď—çAĺ$±no˘]Á¸(k$UĚ*u|ŇÓMC°PhHZ˙Ů?űgéTţ)K’Hb´zI‚^Ţí’ˇŕăłŔG ,ĹőÜ� Ő  ÓHó·©Üt]Ŕ@%®Ëů”Oy+›&^ 'ÂäÉ‚Á© 'ď˛đ=źR@!hbč�4r~îsźł kЍAů™Dä%/2ŠĘ­¨kŞm‘\Z[IWóżÍ•Ëi÷ţ˝´0ZNw˝rkző'o¦yš'%ú'ă‚q+îË_ţRŮ+Ű�Óż_ô9@zMÎS$ŠČ‡±+Ň€@lŠ¦čżŚ?ĆăGj źCßă#Ľy‘/ÇéÚŔ9^Ş7ŚýŚ)ĎpĚ?RóO˙é?5"”Ômă!&ÉČŁrÉpÁř0Oâʬđ"]`TR]'¨'0)ÎhÎŁX0@baG,B⢠-XÎ8Á¸W;‰¦dGYi[ćB˝Â<G˙îďţ.}ç;ß±ë17S~•/ząńâš2¨“ć!îsßs<uŕ8ÖĚGňäşÜG)ńLŕ^@ćůô§?Ý…wQy×ü¬účŢđâ^*~›Č8|ćş Ăâď©ÇČ;”ĽĄF˘şI˘•ňŇ.|f®WŰ*¶°”Mz�fž~•“nYo ;ň'}śůDýKÇÍÓ<ÍÓ<}é ů…ç.ĎŻsçÎw!feĆß7_@ÚŞT•ŻŔVІáp1)ä†ČÜşĂ]>}Ť™A¤áb~Žďíäőä®yËK.Ĺ/˘ç¬őzisÖc„€Éx2Uo7Dxř±N®¨¦€ÉdńÓÚĎg_Ô­2°ôÓŚ ČN=12$ŹźŠÇ<erĐŇżkŰŢ»ß×mNÚ ‹^"t·€ô^Ęča>Jű” ô„ 52ŕŤP"§"‰®rÓn®Ęµ××Ă<ť‡…Ě  0«všâ“V—ě÷……>TŠ“lGS}B ž�iŢ}ť§0�ÓFW©t$ �0ÝFv µyjmĹstŚŕłB»xYÖ7ۢĽ¶ťvv·ň˝ŢĎýkŐ~źőŕ'/Örô™ʶAéU ]_ku^vß‹¤üĹ‹U~Ö/§GOŤşugô²)˘ ŕá3Ď>gä‡í˝l·ŘÝKŰą_ś<qĚÔ,VV—:°ďĆcµ2EŠîż/ýw˙Źmí¸„JŔ .ÓÔ±ˇá»�¬zňB|;sO –*îŚAçă˘03­ÎP`±IM­˙LĽĎ’_4šBJj“T_fŤ—Sž|ćÍô§O§·O_1Ĺ ŔlÚr´Ź'{ăŔ¦ +ţ+}ĎH\M§„*UP’‡?Ě@÷ňRńŢo»ń÷»®f±Ýy¦±7!¬ËĐ„<DĚ&ibüťęúmą9‘\ >qüÎzŮÜ8qňŇ,A oż¦ŰŰ9©«îRÇ…ČĄc˘ ‡Ę­±®~>{onWy0gˇ,łµµ™űůNZ[]ďöYSFnÔ,BžŘö"1 W[HŇXíÁµ±Ż-›ÚO/Ú¦÷~ŚÉ~÷Y÷JżĹö‹{ľHÖŇßń<‘­R;­ř˘kXŰ16*žFUÇőőŤÜż7»Đ!FÉßĎ*Ψ"a2ću†3ĎąčĹŘĺ—śh` Pmms˛ >@Ęj=<–‡¸űĽW®‰ GecĽuő#1G„ĽźgRY+4’ÄI<:w÷ň>=ĎŐ{#6Ćhu%Ź© Ö,.,G'/N ÷ÁćĚóú ÚÉä=ý´[R5<™s?jD‹¦ÍöžA~~TZ«mŠ Ö2W2¤**0F.ÉsÚŘVE¸‚{>±Pfü=Bá*cᏌ áőµ†«˝o2˙, ť,ęý Ź=łr^Ë‹7—'č<ÍÓ<ÍÓ<ýęĄŮ}łÖ#„ eM&5B^ŘÝYŁa›g}€m4ŞV(ź¸¶Ňšę µ9˛6"O>Ë‘rV˝!’“ŁjĹlž¬ĺĄ^Ízž<Ák´—ŹeŚÄâXŢYuň#‘R·TÖ#Q9bJ±śł*j_đ’ţđ‡†ă€«3Ö[MIł„XĆh Q™…ŤP&ö�8RGgŇ›ÍIđ¦!XĽöÚkéŮgźµŤB íL W!/cÉŢs3=4’k€Ç�"Ń)řŕ ŔPť_růň,§‰Tx¬s<€ßqM:<�ŢäĽŇßčd�J ŔG©L¤dAą_|ńĹNr”ź  /Ĺܡî `@Q�ŽU¨‚§ź~Ú€N”6¨Ç<ňČ#vĽ<ÔĺYÁu_{íÍtĺęĺĽţ'8o›Ży1íďŽň†e/9´‘ÎŹ.Ąß|!=µýTzsůŤtçµ;ŇoűbúĘç~-ŤţY•žzę)k×7ß|+—ë´m¶}c® ×?:čÜ‘úţ“@˝¸úó�Ż˙Đsßżý|łÜVn¨®›Ç“ĚŻ»ďľ7=öŘŻĺţ¸”űÎánl6*3ś¦´?ľlăĆ=wßcc÷|›¨ŕŐOWŚYĆ„!1ěčďŚ-EŁ DҲXÔE‰B„*ľ‰ŠüEXůt˙ý÷wsăš1ÎŽ1ýýďßBR0®QÄX“I׌)0đ°d>#QGćęBžäIńŤh”`žą X䕢µŚ+b<*ô=ć-…¶ŕšĚ1\(„,ęG"_ľ¤ˇ‡ł“\ŹĽRüP«€„A9ąjÜĘĂÄśşQÚż%ťQ„kĐśËu5ďJEHm+ž´s9 ”!sĹśĘs2¨oiŽUŘúעÜ"M0Ďsżî‰D?c®ĺ]}HmUd d.f®g§¬äŻgĂb•˘‹ÚV‹&I­ËH5OżZ©ךNM%ʉď}ćĚŮÜŻçţ|ČŔ%=_çižćiž>Ś—Ž€ů G¦0 Q’3†LxϵlDĆíxĘ iOQ'I–ŹÇŁâń^bŽ;·ÂB[řľÉv~ßN×ň~kÓ�ů.vhE9—ěo‰řúRŢ×NXŔ˶í@Č…^Q˘äďˇ6öK8�—–÷z Đ2˛}ç÷€gwC<X;§rr‡yźńÁóî˝Kj#Żě e‘J)Ká�cQ“đµP~)䞇îp jaaŮäÖńn†`áĆ+<…¦C ôŔU]”˝–ĘóF÷lTMО©~í¶\·7÷2đ/f@ôDÚP™‘G·vnŰ@¨¬ŽÚV!ŐčgôĎqgč‰yë^ĆxŻ}EhH©—ż(ŹuýZ¬ĘëČ #śŕ ľ·»ië8ÖyDĄ-GÜźäžć€gZŻ*|!ˇ<\b…Ľ]kc‘b–—Üyb!×uwܦż’ҧďľÚ©ł Š JÝÖ$î‰Ę{Ť‡´9~ěD^çźÎkŮťtë-;é–“ÇŇơő\–ÁŞöR›Y{äć:|x­˙­™:°7µ=ÁĂČŃ ęD-R»0eđóţásĘÖÎV´ŹśPŃßÇ6ů…Ł!®öŻŮ?Š‚”h�i<ÝQYtBNJćM® ¬-ň RĂťňëüĄÝôĚ‹gŇŹź~-˝ňzŢkä7žô¤µ•ÍMžxĺ Ů([T*š¦éúţÚęFgěŚjőBŻŢ§q˧x¶pyÍö¦xńJ‚[űŐ"ĄÔFjňđ(µŃŤÚ©)ýv05źF�>J ČWý:â@ۇŤčçÉ”q•ýPk3š§{Eś*Ď3‹Ý1úNiÖ›Ž>ĄŽu Ć]?ç ňřCÉĄŮ+éę&*»öťöUßőlೲúz@L"ô‡ÔFş2ُžcrJU©J†ĂáÔB’ÍPá–â|ç­őµ‡ŚĺS{Ć=Żî“Ę«vRŤ4@(•?—ň Ţ¨6ş°ťęgkkëic}ĂúˇÝŹvŇÍSN,c?÷»a=ś"ůÄúĆvŃ}U(ËgHFCS¬@™¦ä}0,ý“;®şsŐ˙\‘¦(á´NdÎlŰŇÎů>B a>Ź]™ŠgězŢűŻ­g;găĎŤ¶*s‹őűÚćŁr4<×'vÎb~.ňŢ4ŇŢřR~?ś'–ăů¸rţ—óqçr™Gą=jźâlîËçWčMx?Y¨}~äzĆČČ}{i9ą˘O]öúc#błr–«[¸­‚ő©«‰=×QÉŕłµUs‹yš§yš§yşąR\#bk€L«P—ZËJ©\Žô7Jłöô·ÖgÝŢ'çÉő°˙Ďb_ł×{"Oµ7%›Ćk|Đzë:_¶ŕ~o?šZ+”G$SD’„ÖŐ`µD@xŕ 3Á¶îň~¸ßŤę"űDlE罟}č“–>¨ ľú€żUེÁg˝ęđ®× |7yńšöőżů7˙ćq�Ö/ůË]@8:B7—ŘCs8P±kŕťII@ˇ@<ŢŁÔ>y�<Ô čTxą6B o�€ śC^„5±)ë/ďňTäŁ|$~Łś/đĎ=‹ö§dGz衎\AŇ@gđYŔ“AEžxw#źŹ‘ci?€Ç˝ÝQ:zäpşĺö[ÍsţâĺtůĘ™´»łź6w6Ó‹ő+éŐĂŻađ‹űż–~óÔoĄ[OÜ™ë>~'í`Ë5Ef@ô�­I÷E–ŮĎ“2¬éďřů“’>n‹÷Ěł3?W©©óßă´’7íŹ}ĺ±lŘ;™>÷هŇöµítϜݝlpdC߆“.ćľµµuŐúţ=÷ÝźVW–KĽË&ídc ŔµT&t/¦!EČĂFßÓż[ôo~—RŤ E?xŁSÁ`‚W¨ -S�űĽ4ŹpăŠń,•ČçG?úQzüńÇm>‚8Ŕ5%óŞp=”Ť±Ď9":É[Ăă`^u~cŚrÝYů'ĘIů fČcŔb@QxĆĺˇŢĚ4ż0Żiţâoő ® ©"Ďt]ŽEAe”Kó&íȵɏëŇ~Ô•ů—kR?HÜSćîőĐyEƬh|âZ,�ô€Ö5yçZ´/íCű˘“gá˘D`Q'}&Q?Ęqb:žwęćić_µŻĹăÎÇqMÚ’ëJ—H.üN™¶EF0=ąďô>Őw©+í+—íKݦCë«&ŤF¬×Ĺr}<Rëş®®Ź‰&Ĺ_ÔÜ:O}ŠógĎŢí?k!; ž^…Ý?2�Á×WŻĄO}ö·śŹăâ9‚?ôpÇ}§ö„Ł›g±úaĄůx§yúű%ł'ťęďń™¨Ië´›t61Źý/ú7éż˙·n §žůZĂkŻ$ow%Čř~lďN’í�ÄâÍŞýĎ]Ö +Ë«FÄQÁćíĆű*Żyż–ĽUóĽ.޲ţĽîÁ%WŘP9‘ˇpBl ‹ş‡Đč÷!ăIâÉăŘč!F»·g]ÚbßCŐe E×h¤¶÷0ăŘöëąWŻć˝±• Iô#E› E;6e†Ý˝m;pxiÉUÎ’…Stä’¸§ęÉŰÓUňĂG ¤M®T!% O3 ĚJ­CaPâÚĄóŘNő”ę‚'^żşě˝QCíAľqŹĂmhýMбoýx•·÷žŹˇlč[¬s![ÄĐrjSÝ»Ç?Š2f)^gĚ䲴Ü9Tx ŁQp'ŹŇw.ĺýSOćő2ď÷řn¬ĺ5äâ =v(ÝvëńĽ;ž÷GŠšEšJ=»{ŃÎüîü®\sZťB$ˇşZj[)ă^îŰłž[ĘË<Üo`Žj’+QXŽĘ‰N*' ©şŰg@s3ńľ¸G¸ľí&˝ňÖĄôĚ‹o§gž?“.]Ţ6›‡…'iűđ;�ńR|‘Qw¸PŰ}g´řĘ܇BÎaâű°›_dÉ*ökí9Dň #¶‘ć0jĘľrŹ�Uëóí¸',Lí†Vo3ľÖíu ü¬±5’0Ň˶ďąHHßUÎďĂ„L'öYѱ ŞĹÄ~tm…jÔZzÖ(®}±úŽ“,.ŰZ!4ĆR!˙çw:F_n/§Ć#űoL‡ŠeĂł¨Ý¦ćľüoĄě“#é@çůs¦éBP©üQ=˛źo¦ç>l$u;"âŠl*C7Ë|Ŕ^Ń{…T2›·úˇŹ¨÷Öµ­Ü;öŚpÇ®•nŢ·k$…ĺšVęŃ~$¦ž<5Ýfö§2a7?5Ĺ\5¶§őyĚÍÁ¨ÎLR*Ďca¸deˇßŹKő—í­k¦B1¨ę˘Ă<™çä<÷ Ëłż±çŹÇÔşK¦c@» Ém]—đXÚćWP‚č”m˘cVƦ9—˙ľ’źĂ{¦$aa[&żoJ¶V±¶NÖž,"”`Ęmč¦őH?™VF˛°1™dÇťŘúcÔ–çoą—¨Q‡ĺÜ˙ĺďŢ—N;ś–W–\ c8(ë“Á”˝ :ůűÜ^đaĄ_†˝`žćižćéfN ±ÍłňęŐ+ťóşJµV‹ę QĄMöíődGĺ8Öń`)Ľ+€ÖQmá Ĺ?ÍáZĂǵ;XeĆÖưĐŮďSN˝3ÂôRĎ•›ň€Ů(š�kcá>±ĽńY>»ľEűWđÂşŁ.˙Ĺ/~ń†í7TÖ¸—#”)+őßQTĺťËţáÉĺWËűdćŐ–÷&ĽÚđ>űJ7řü^ďł_w»Óű¤›†`ńťď|çqĽÄĺ=M)Aˇ>´ˇăťMGçxn˛ŔL~§Ł 8•<Łdbä•@â\€‘ŔŔń’¦Ź?@0�×”˘YŕÇH‚^őňš BßĹĹżSO@@ŰäŹ/©W¦’Ű'®É‚‡7ĺ´“V€/çŢw˙}éö;!L,XÔTî.]=—^¸đbúţ»?HgVO§[®Ý’NmźJÝöHşűŽ»łÁ&űK.eN=rŕ‘vś,ĺ761NÇ“Iš•Wü‡¤HŞÝ|~ŇŇ'‰`a†\ýź7­ăíĽŢO_ýúݧ[x0}ţ«ŹĄőŚ,•ąc§ńđżxÉ<Řô?~"�Qd9d†6§Ú˝ čżôú)*ѸĹ8bl065ľ8Ŕž1Żqˇ?Rˇč—"Mčˇ"ÇK!BFŤk”¬GĚ#(WĐ—!*ýöo˙¶•E`9×d.h!…e㸸buŤŕ… ?ő•7u%?Í#Rf`ŢP|Z±©'×”‚C\x0˙ Ú!•Ä Čeäš|O=8VęRfŕZ\—ßi7©>p]ęJůzo˘Ş#”@„AEC$îć0_\›¤pFÔ_sźôDÂ= lfľńŤotĘ%°P=Ü×čqëň˝ëÖ†ZІ´ őŁ”ĹŚQĄŽZśčľqŽÂJő`GŰp¸®j ‘}¤ŠAţÇ;őüŮóßMëyNť,>>é—a0‰ĚV(˙&ä-ŁkĎ–ţůźŁ7ú¸=?çiž>ŢIa´vúô*ĹçŃAcF‹˙á˙bj8Š .ŔÜ=&ÝđÜ�F2ĺ}\r˙ÄçdHŰ»�'Ä�2ÂJçˇGĺ­—öa=AÄW·ţ{ Ŕžhä!(Ľ}¦ëî„INóyşű¬ë÷¤€Ú’‚X¸^™^¶i•WpĽ˙‚ýîňý*‹µzr/ŘiąT7÷§€MĂŻ ŻL¦ÝIˇcójř—¬żÚ•ëy”iąPS­9{R|MÔš’†ĘĄgÜě3+–ى0ÍzŤ –Ś?gÇFŢŕ©}Ä2FĂ›H“°˙ô>Üčü>öƸ¸†•‚@pľ×^Äďs6ĽíŹ:őµŔf4Śá=Żz`/š4“ëĆŚÖă\ciئ»OVéđúĐ$ďă´{Z·a,z>ËËKéčáő´şĽŽÝH·ßvK:yňxZßX5/ĄvÚ(W ‘´ńŢĎ>sČ/’“­Mé»Mk*1Ńř˝ÝŰz:tB\ď©cćJ#ëZÓş­˝­¦¶ ko—>˝›Nź»šžyél~˝›Î_ŔŽ7,¤‹ňšH­ˇ5eŚY…í5´ŽďÁř厄ŐLzŹć„)„§¨” )€łM!hŃü´uíŞyP¨@ąL¤.Ëľj°ďűŔ\S(ă]íŐ%íu{˛K;EŠÓzł'đÔwŐÉv›H´“7Žhżh¤Ťsqô¬‹ĆđŽpŚÜĘ»ë'ˇ2W@pÇŠ‰Ýź••Ť<~†…L±ŰÚjkîŁöĐ"BĹľť;â8aÎ4›WŰNÍ ńŘ31EâMü.·#@ vŠĎbŐ=*“TÁňźĹzŽ¨ç»˝Ü·P1r˘‰“¶!%i»vRâląëşžyŽôŢźžwe}ÚÚşr łź =O1´zÂŹ+SXßDr Č%4ʇĆv Ćülä á˛ŢŤGrçygbj>­*'Oa‹Z4˘Py¶1–NÎ#˙±BŠ™e:_żˇß.[›˘‚1žäuF{4˙¶fÄŠńřJš´çňńyž®÷Ó`aŮ”,ˉ6pŮżG¬ jSćs-*j“ş<ëJ[Wu©{˛°O"HLLaÄg@ś«ů™óŻ~ďÔś`ń1Ks‚Ĺ<ÍÓ<ÍÓĎ—dăżrĺrâŤÝ,#:xĆ=›ÖuqŽíç×IG#$ďä)ÇÇČzE‚ňŤNo¬ˇŔIŘG“'8D$ĎÇňFr|´ďęZ/R^Ę©° ŕZĂĎ’nD°%€°~Ć™óo˙öoÓ©S§Ň׾öµ)bÉ,$îѢZĺUž´%¸4Ç ;‰eŚíŞkĺvš,ří##XĽđ Ź3·R #ĆŕŁcsăé”’{á3@#@7Źnň™Ý¤Ŕ@•QŽc�˙Ři`X|ú´ťĂ¦„Ľ)“$ße(ă®pG'†4ÁqJ o@‡g`ęš€Š·. G:°ň˘üü&Sà ɉňżSö¨¨!ĹŠď~÷»t’/ ˛ĹĂŕĽăöŰÓ‰cÇÓpy1mm^Nß>˙·éÇű?IĂń0=´ňpzl#ČĘÖQŢě°‘X?tÄ61€Š´yqÝÇGˇ\˙@ť‘f|=™&’ü˘M?¨”ŽR4 Ä B4Ř|’Ň'‰`aq´QČňl˛J_>ýDşýÂËéęýŹĄ»ý\:ńŐßJKw<ŹYJ K §úňĺ+éí·ŢJűă}óŔ[ÎĆoöŔyęĎ`rŢŕŻä1–űĽ”(7�6ý—$2ý—q °›ă8ćÎ;ďěĆ©î?ăĐśóř^ž 2xI q@ľäÉxF±$Ą¨@R¸ţÍo~Óú{Ś-E?f~€ÍÇXŤ†->ó�&oľgüę8H |oƵrMĆŤŢ­Ýsť>$ćŐoř[D ň’:uĺ{ň’˘ ů0o’ŻHf´/µŻČ¦ôŕÔCśy€kr®ŚÁĚ1"/Äđ%ĚÓĚŻäĹuĄvĂĽ�©EyPÎaŽc ąN‰˛–ĺ/˙ň/M1čłźýl×¶śKŠlFűr˙ůŽňó}$LhÎáwć/úާ>ő©.$L\¬4AyŽö¤żH…—Ô7¤ZÂo´%mEţZř(Ś ő¦l´ËOţî?§µl,™,>>éŁ2DC|üăúüËNź4ŁĎ|<ĚÓ<ýý’ö qC?k¨?(şQşÁ‚Ô+ 4@@|tŘ" pÄVYTÍK¦Ö•źĂŁń(m¬2�Ćńă¦x·Ź 0¬ŞşË×ĂŘ Ë>ęH”ô7Ů€üĆ4Ű QÔ%¤‰ĎĹ2Â4e,@oP@ĘĆĘm fr zěZţľ~[č@1Qxőöş¨Rp12:ŹűB@đđ ZÇ4^¤RĘě�°‡¬ ĽŠ—ĚkŘ•C˘7˙Č®ëkčŞ# `ďđ6¸8ľ-€[*aGĽ=ŞŽ8ŁşÉŁ_Š^?…•ɢ./÷.ö6—´~ŰťŁó”«M"©ÂűUÝĺ×{ÔIĎňŇdąC¤kíí© ëâ‘ÚîaŚÔű €wö**€|F¨ ëŕľ·wOĽ–§¸Ę˝´8H·¤ŰŽóŢ©îÖ|˝á®*ŢŮýžxmu%Ż!9~×—‡Óí·ťH'O¸wŐňĘ‚őÖv}ó0žĂʩ殱^fŤgŤq±śvĎŞi�8ö•.5ýßűăÔŻ‹~bS ;ŰŮą•÷+»ătţÂĄôĘ—óëBzët6˘š3‡d|˛±ÇţŹűc°yJFXćşß1L Ď?UęĽý;żéî—�uWęÖhÜ—™9Ty(oµ @í(ŕ›[›vţâÂRZÍű)BÉô$ˇqQŚi»<ŤH„’É ëó–a4’¤Dö‰÷ÄČ#řU`d;‹ä¸hKëÇo¶2’W˘:ę®~$'!Í]´e,·~/˝1IĄČź¶®¦ËWŢM`Üš“}>],D¨Uź9ť>ěˇözőšşž%% ü^¦jĘ`=HÓű¬HŚý Ö7Ž«hź%|MŤ¶� DYhµżĘŢ=«vjo¨2±iS;Őďśřĺ$@ö¦dCÔ>ßçët]ąă<ŐQ"Ae*ôLSČ)Fňç@[Ćq?çúýH•<%GFŇbĎěĎHW˝€hÄxtµÍ¦<*ëďf{·9µęÂyMJȰܒFXp"YSćŹŇ(§Ĺ…ŢÎ0™ěćßÝ‘ČB†Y]`e›F}kžďm6·[yÎGˇe›m»“<źZoK˙e„Ö>żŰúf`!Ĺ{ĽMĄ P&¬EZźcu®‡×xâDŚőµőôŻ~o®`ńqK•˝`žćižćéfI¬w<:eŰ­Áß/Ĺ5ąѤŢÍž-**Deňř,Śxi\ĎćÍÚ„µ“ÖĎĘSxĹlžĘg¶¬qA˝ŮW’†’ĽŁúuĚsöů‰ŃfL9ÁšpJWçN°q-{P›ĆňĆĽÁt˘C˛VµĽQţż)Ăt“$€B@D‰: �–ŔUÝ<‘ %�ŠéĆk ŃaŐ�ąÄ"O€N…‘ş� �ZŽЉˇBWyÔSFĽŇ9OF~Łó;ő ś Y  Q€*ç+Ü�u%O  !ĘNŢ”“ă�Lń‚gBR[Şj`éšňČ&Ę/Âď٧źIß˙»ďĄűďż'­?z4˝vî•ôŇę+éŽńÝéłKźNźąýŃtëĆ->ń´“t9—ýg/ż–.oľ“ŻăžđÔúrM ´ŁB%�„CpáÝ=·÷sŰ^0ĐúZ.çÉ;hjăFĄn° † ?lľYřE&M”ęÇôSúݡÇґÜÇęlŘ]Ţ{0­Ľú´”ďńÎsO¤W˙ëżOő7ţĎiăČá´tâö´yř¶tmś’Ůp{Ďť÷¤#Çó÷‹ éZľ˙ŰW·Ětţâ…üľ•$+T<p:C^Eę×аOż×d¨Ď8Чoň=ýKjŚ+TÔw¤Ţ@ľňXb¬ń ţ‡?üˇ…ä,E›Đ§éłśçĆ/sH ”WŞ ŚQĘ%RżIiG×Sx©oÄů‹uW=öSÎ×üEť¤ĘŁąĆ<!r´ ×dn‘z×ă;Îa> \q®bĽ’ŻĘČ9”Ź:)¬ I )NđA˝R„úXĘÓ–˙ä“OZřŽ!k˘˛Ă˝{bŘ·ľő-›G~çw~ÇňDuĄnš;É‹¶‚C]ŐŽ$ŽáwęJťE~ŁĚRJł•ň‰¤#©.ŐS„ żSÚKäŐUó±B©Č'ő>`ů<}ôé gW\@Ëߣ·ă<ÍÓ<ÍÓ/2Í~Ńđđ^IëĹć;pőRô0éŐ ř6`�0˘ťt�¸‡č˝uEÄčJ1úühk®k 4•'€ÚI•Ŕ?ŐŐËÓUźŰ‘tY‹Â†´Eu­ó((ç;٢u/żďŹĄl0)d?�o†ĂŚąĂAx•ş+z=€Ó¤éí $oí€S÷”u5‹¦#+x{¬­Yůe?ÚGYŚ5í Smđ}–+gTUěž?Ä÷ÚďĘjkó\Źa!6«\jooŁIÚ“‡˙^B¬$ ¤mud´ń{7(j!şn$čD3ŢG%÷DĄŢ–RABuö5óxĘkgTŔx3Ş PNđđyȶݮ8yşiÚ.vn,¸‰)zŁIĘr#öžÁşsWę ´éčú(m¬a`Ŕź—\ýˇîUJ¶¶wĚă‚Ĺ$1Ę÷ްűÄ9vôpZ[_Iŕ’ÚsECš{Ž ¨\7öM…rÜL˝˝wSšj?Ť‹ţ}š8Ş÷ŢXXYţWÝUËu¶wöŇ…KŰé|~˝ţÎĄôŇkňű•´˝µťëŘv€­÷Ź ­Ö>ź@¬j1Śîç6(@.ÄŠŽ@•úđqýĎřő#ą—ńb+ň-žóŞźŻÇ†6N'Ą-´fkËq2ČFc%ď1Ě-sÁ2ŠyOŇ�á|FWvÓ^ţŽđ„ţ1˘N7Ô]A7÷‘đ {•¦‰H©»_Ńc.ŽÝWÍĂ2Ü*ߨ⣼5/IA}%'¤Mşk‹đÖŹIĂŘěy¨KúËnŢ{áÝżĽ¸lq '…š a0!áówc÷rż(éHĄ2ŞeôĘ+˝}I„‡şMSÄ!ť7K<(ťö:eŠ"Fíç$ĺÝŻ_ďÇëwdŽ)hÔçĽîm!ŮąsíˇCiy1Ź«‹y¨A[ÉÉ+‚Rs‰yĎúśäČAQÚ(¤¤Ş„~r’S˛ů‚ÚŢľźĂógß”ŹZ{C „á+ťÚ¸¶g—‡ú°yˇ„›â3¤„…+ľŚFŹëÔTŁ˘zSÔWmü8)ăxN™ęL塩Ş:źĎ|–źÇČsÔ‘y{�ĺ ËcXźĘ'˘ş™÷ö“˝4f¬WNTY02 ×c~ �Ď#˙]Űš 2r “- y4×5W#ˇ´c[Ś&"•qQŐinâś§yš§yš§›9ak?qâý׆ł{†üÇ}HÂYwÉ?†ďDÖYrjĚ+ŞVăŔĆ� 'Ş6”גּD|QNňĂ�˘ţІ |µţUŮgËŰA8™0e˘|ţóź·Pę*[TrŹ×P>łůŞţ*+x”D˘JcĚ?Ú’" ůfH7 Á   K`źHÜtIĚ ÜăE' ăćĘ{B‰M4E^׏•�I9Ok�J:=ůpžŠÁ)2ßńYjäŻ? v€6IűSfżň®§,üĆ59GI!C¤:!V;ĺăÚ”CĚnm\ňHŚ%íĎ` =%óĄ/})˝ýÖ›éńżűŰôýÍ'ŇÎÖ^š\›¤µ·VÓńöHZą7€»yp­ĺÍUŢ|ěćÍĎí–7«x\/-vŚu/(¨3×d“©vVĘáÂĹüŰJ,ť�ŮÂe~ö™¶ß/ŢßmŮ ’"ř4Ëüź3ľ´I§hKú÷ěľűî˨cv ®\ľh†¸{îz,­ýăßM[oż•vóƱýÎ˙–®^8“®>óxÚĎ÷tű–{Óň±[ŇđŽ{Ň~ú|š¬>”ÚlôŰX^O+‹|#ëşşś_këv})-p}ú6}>ÍŔ‚ĽŔضs 1‡}žwÎŔ R~ŚMň¤ďAšŕ;$¸&¤ňóؤËvÜSO=•ţúŻ˙ÚB‚üÖoý–=PĚë/Éü»«˛ěXçoĘÉ5ąů‹4A˙%ęĄ9Śkqă^!+Ôs,ĺfĽ’ÇF"k¬3~ :§ć�ĘĎ˝ăXćŢÉŹň+<…âzq,e`ěŇ´/÷›|DsFénÇĐd.¦ťţ„şRůS~/Ü#Őź±Lą5Wqő'OţşÜG…:zîąçěX®“ó~řakcľçČ Ňe¦lĚoԛ߸?ä-‚ š,¸h;ę¦đ2äĂ1śăŇłMGô$)1WK΋뒗yziˇńÄ} -˛eçéW+EćA„A=Ď"łšôAÝFúUę§óuÄ<ý*¦H¨QŢküżßÜŕ„…É ó^(^¤ö{Ó“ß;©óŞxh°ÍÁŁ»ĽuĎV…^ÜÉ€żŁdQPÇŻ/Řq{ĺĺ9,ĺťůdppIŰX#'c' Ś )`Ň SŻÜ00Źk¶ âDlZËł:‚z®Ŕ1(eq ­WńpĹ…ńF …ăčŰ:‚ÜMđWH€ˇy3´‘‡rĚs˛JÓ…q�ąSb(y>KĹAáFŞJ!KD’ń,˝ńI±]'žő¤ž”Ѷ˝ňÄ xékŠözGp]čięŢő}Q@¦žą=™ÄC"Ś­¬¨uDXkú¨§uąůH·+v?S[îM]MÖu]<ąK~=ą¨lcŘ‘:l˙ĂK›M:˛6H'ŽTéčF3C•ßI¦LQ¤őÉugŹ{vÍBNěngĂĆÁkŰéÄÉŁy=»Öíâ¶pŤe,´3ígOšŽś“â3/ú*F)E'mâázci*zZS«HfóˇâÜ…l ¸|-ťÍﯽy9˝ôú#‹PUĆí`uO1\JccŃűݨ“µ5’K1&2/�(ę^­@íi �ÖF¦čďIN%#‰€2™L‘˘qUj=i¦-s@ŻÔؼ׏/~ü„w˝9źěí[?3r¶…t€>HR˘QHëS´áŚ:ËA„–Ć«/ΆţU÷Đ|©cHšă8S˝»9:•ʆ‰~顄úţâí6 #zp¬ Ýüm¤«B Yƶx4·•Ű»ööŻ91%÷ö€j7ž1nđ•Îő}4¶K´3™ˇiŻ3–DZ‰EŃ8=M2J)’ŞtžňUŁ7`•®'ÇLŤť4]îNq¶ „:…˙¨kő•yŽäq€ýή;;ÉÉBÎhq˙ç«ëČ:FF*ĺi]ťgXíŮ´M(C ‹5éç7#'@ŞXYM‹K‹Kóń¸(›x9Z›#×’ĘüťŚ\Gż«Ń¶Hů±nuvĺŞ~އŢ8¨} adOsăZ§5â…µą©B,&‘E`ikW¦HŐF¶lšlÓ¬×sß’?CŘĘůŕłoeD€ÇîEŐ8ɢ-ä–‡c¶ôCÚ.őĎ/Í/ťełĚ9Oç¶‚yš§yš§yşYĆŮłăŽPxă=CŻ�Ń)•µ™Lµö#)¬y\»Äwĺ5µg)k_‘„˙ę9†G•Żo\cGçń/ç w ×ĺ÷‘¨É&RéĆqőÇ?ţ±áŻ<đ€]#–ó ňF{GĚWÄ áV$Ö†ŰĹA^ä۸÷QžJs‚ĹÇ0Ěča4čŇ@á{:’@,n67đPDçŇ �ýD>𠬇Öp Gg"źáč,\ŕ_�ů36D^Î*çs=Bdpś:çéšś§Ę1%ö@j j±íE°�ŕDĹCŢ÷$©UĐ6�©ÔÚ iŕhz«z+m>´mńQJ¦ă«·¦…ť*]<w!ýčO¤W^z%®wĄŁxe/¸n}ýpşýŽ[ŇĆęzoSáD„!qÚX“Ţôd‘Lź×úú†}ç˙Űv yQ~ K2u”…G1iĂÝnŔFjžŢ?i"ĺŢ ¦ď®ó:vě¨ő{6µ Ŕ==sć´ÇřÉOĆבĂGň})­>nf±ýű?•Ć/=—®>űtZŢş”6¶ŢMÍ;/ĄÝ—źH§ź~<íÝu*­ŢzGš|ę«ipě¶tîÝ3¶éĽă¶;Ó±“Ç­lR ?1vh‹¬#P_„') HA?QřĆ$ăTÄ' Đ·¤ 2 AĐĎ+~ň“źXHbV)„y“Čpťy‚˛@„ĐśD9¸¦€~ĘŔu5G4ˇçPŤmę‹"…”rDŃ\Ŕ¸ ?ćň‘K!H0@JˇśÔSěMĹÎR<2yTŃî(źćňÓ=A­ö$Ú‚˛4ˇöUX#^äK_âXʇ»×)y¸ş§Ö—J»B<Óý~úé§Ó÷ľ÷=;‚m͢ĎOť¤x"Ň„ł_OX˝ĹbĄ/‘d€ä3}‡ëŇVj[ŽőĹÝY+§Č*|'o+D"Â=ŕAťU®Á1"‰ĐÇqşŻZĚĽ:ź·~%S$PÜč·Ůďtlô|űű¦(yŔŻý«ĐWçäŠyúŐMłóŃ/bmí—~Ź1ŰĚ·ňúŽŔSí^«©)’Ďy.îŕf[bż7ĹŘČ…8°˛š÷:Ű­ĹořYZ,$‹¶WY0.ĄĘűÜŤ�łĆ=ďÍŕ0Ţë"m¨Ü�K Ăâ}í 3¶őnӺʅɉ'÷ĐOęIQxh3pÚ…72ŐˇśX6“ľÜzC@Ř k‘X×sŚ{‹;qđ Ľööw‹*j^]ŽÄs`]2˙˘"Č6î@4˙NžÎ®1 ,ömÜ_Ç•6śč"°µęäăŔŤšîYäŚH@¬:€–ű Ołd?FEž;—Dv3G×'«T�˶¨ @ĆfÝľWÖýyO»Ľb^× '1)Š"ö¤ňŹfŐMí•©<”K2Đ’¶iň17«´łź×°;mşőČ$’öĹëY™—}]K*?™j/Ąí=ĽŻv̡a29jkeĘÚVíP:šôŢňŃŘfeŠ t*JYŃř©±cD‡¦WâŇ÷]ľÜ×ýĽg»÷`g/§łçݦłçňđÂfţ;Ű®î©˘Ç Q%˙5,˘TFö“ÂöŘŘ){ĹŵuSގŠ…¨şţW…ĐAŤ@ńVŻŤtbc§ ą÷Ęô¤ˇchff.‹ýÎhfČÝvąiä6îŮÎ)śčO K–×öö–Ů=Ü›ll‘Â9š2‹řŤ±2ę8Í5Ýś<�cŘÖHţmfŐZWĐůę»R‰¤a/C3CJ&ë;Γá9<T^s8a˘Ş]ˇÇĎŁŚck/> ž@Ćđ×n!ëűĹÎá@}ú øHů u.%¶­DťŞ®§ćĺ«sd|VÓ&3Ď×Y"E*ĎťYE>¤<żdÔîŰ;·[Ő$)čpJNjŠĂ’ßߥĺ%#řѦŚŮ|h+)Z(LKĘĐ‘FRQYŮnÜ”^*!QŞŘ/JMź1J?1gµILkŢÉçu -N¬­ł·ĺYWÔv:®NFmG3ar5ڶ[c4ö\tęAÉ$ě9ÂŇ8qËě\ÜožaWd25 {8ĺőc~1ŰÚĽľä÷*Ű0ÓńR?BTcšÁ„ă˝/ő„,k7kžýľÎ“ÖĂ©XŮ]e„g+P5–ßRۇ3™§yš§yš§yş™RTś%»ęďH�kn9UĘą1†Á:ľb:¸ˇµ§ŕMŕZĎi vPľłűśĘ,śANüZjťó‹D“Ů—ĘË1”< ¬'zp­•ĎŤĘ{PľjÚV›Ú@ŘěAíďŐGĺřaĄ›†`ŘĹŕM*tFy-ü6*q¬B‚+ş�¨td6 �z ÇF PŚo.8 çđY`!×”Ęçq ±¦t y—s]6&śKůEáűÚ Üd@,Ub@a8H’Ś2‡L([›[¶_]^Mkkiem%mo]K[W·Ňµť­Ľč_HŰŁkéµöőôbű˘Ü>·ţhúőcż‘N9ay—/]¶0�ÎŻľň˛žČ›ŰřLwŢq[·YtΓA^ü’đÇł\ >ĺăľ)t� §ÚĹR~ÎrŮđIc‚0¤ěîd0űň%k“Óď¸Tżó{»ľń{ č`€éĂŽ2P·ú^±ý&ĺ÷ĘOç'mnËŻä©kŇÎX„<‘ÁöCëvĚVž0ń`@âöhľgÄg˘Ď2¸ÁíÝsďćöŢÎ÷~5çłÖÝŁ7ßz+-Ż,§µü›_ŰŐB:ôč—3|kZ®˛ńŕÝ7ÓţŮ·Ňů—źNgŢx#­=űă4ůÉߥ…Ť#i{%ţw>”'Ź»·Ü‚oô©Â…‹—Lĺ„>tňä-ٸQ§Ýl,<}ć´őŤµ•ő´ľv(íŤwÓ…ÜO7sźżăŽ»ŇÉ\~ †”ąIäCé#zřPnúýNĘ7ôIúBQ –@_úÂľ`&…ŹP(ú=ueŢŕ<@súżŚB"©ýEd`¸Îgň˘\ÜäI’ çIÁ9rÇ00ĆęÇp ”AD ľg>áş\#Ť¤úÁřpŔńĚkZ(ü’¤¶řžö™Dń¨őpĺX‘FbůD˛’ęó§ćX-^¤ˇ)RĆ‘Â!ZČúSfÚKm(Bó&u•çŤü"”¨íHś EÄ:Íń2ŠńY**z&H1‰2‰4ARXęŻyO1dą.÷…Dť¸OzfHîë xĎÓ'?˝pyŁßŔóçéo?/ĐúÉHsÂÓ<ÍSë‘Ä|ĐüqŁďĂÝ{§$‘úMý(€s“Ú˘’ ÜÄ3uÜ‘ÚаV5oóÖ˝¶›ęđ8 hĘ~a;Ż_—–#ĂÚ¶x“ody»ÂCńbiĆhŰíľ‹ĆČ ňŁ.uµ:âAŰyˇş*„T$©nˇ2&Ł~` {äťd0 ü9Y¤Ň“Ă�ÁîŤßt„®á�~?ďS7XZ‹¤8±–ÚßŻŚ˛µµiţ¦�R;5‰ş–˛Č$¨RD˛ ®]OäA05Ię *·@AH)±ÜNąŢkÚ Ž<Ň…_©zĺ)ghm+"±‹&ť7woŐ÷´6sÇ Qc}¬‘˙¸Ô$iŁÉh)÷1Ôí¶-o't;ř^µU!ł8™hPBˇšÖCĎF’E”ć><tĺÖXŮŢÍýy—P m:qxn=¶@đ˛¬Ý‹Ü‘ö±—lgŕ3Ä2ŘŮÔyáŃżŕę'­…6;‰ˇ`ŻÖęµ{}wc¸.]“.ŠÚHŞ:>˘‘ť -ě˝ęĄ¦ˇIf´ŰÚKĎżüvzůgçrç:ŤÓą‹›éüĄ­ÜžűÝ>V÷q@{»eŤÝ´Í”ҶĄĄEęŃĹ vçµÉU*´ßŽrąVŐ”¦Ľâüš×µŹęÉ&šSôŠJX—Š )ŞŞčľKĄeŇŽ»ůÁH!ů| w8t;á5±u@YĚăÓB TíTŰDbD”V_şČO˝QYĺŽĘ j_ŤeŻşéłÚM=Ѱ<™ôsţâb/ŐĚ˝€!ŐŔq7×,”ŇBoí 'VĹţ4+ÔJ±I-.”ůlżěW÷ŇţŢČć™5ś¤ŠTWA™ĄąąO{öĎČAšźťúH ĄTÁ0CŹÜđ• ١$ÍUjÝ˨„ÁwQeÄçiC~°]ŰOÍ-Ś÷ŇWxć¸Fb̬ä6&gíݵ7oĂ˝Ź}·.d$Ć"÷‚gĄpÚIG’äY˛˛˛fjmP\‰¤¨5µnŐš"ZjĄ ˘đ]•ͬž©L•çc°äŮN|"l+)Ć4EeČINjđąŘŐ†bÇĆ´+šŞ¬¦$ :âÚÄžíÔŇŇ^>~3_{ҡüűńü^Íżç˝ţd3 «]›3‰=Ďś€XćĐ<çVłyÍ‚”T®h…ކĎ/Réhí»yš§yš§yš§›5ą3ýátB©#}…©ý˘Ě-ÜěAÇ,Iá rĹÔ5Z·ÝßđŢ3¶.ĂΞCĂÍ櫿gm!Ť°9[Ď9¦ű×fÜęÎtü–ăוď˝^ŘŇťâßnzţ…çÓ+/ż’._ąś~ă7~#}ĺ+_™Zë+źŮ2ÇöŤ×p›Ç(˝“1\ŇÝwß•Űö¤;ŤŘ"(‹đ;KÚ¸ŮŇMC°üä˙µ‘•·8Z*‡bäHF_Ŕ˝d÷đH‡`!B€ÔČ ŔQçH™av *,ç"˛éŐwxx $UĽĘqĎ=÷t±jz"‡Đ�lä8uBŽ×±Ń $ö×äĄ8@ćmťŻąŤvËkË(LŻeŕńžSw§ő•ŤTŻ Ódod1=Ď_9ź^ĽúRz~ô|ş4¸”oI_Üřµô葇ÓmÇn·M){+Ëwä‰nÝ6.nDňđ„xâ‡?0ŇžńL:LfŞ·<´z€şńâw… ·>÷€Ô7ĚU'Áo’¦»;ůú«6YŠ¸Â­€$Ŕ˝ćţĐv‡ňß·ĺ2 CjW�n�T&]y KYC’é‰$}d)NfSę{ś#0ŘŤ¶U˛†ţBűs_ ŃĆRDA-„¤°ăiîßËqéâ#Rđ™<D>b|@jŕŢ*äX 7‰l$%ú/}ÔŚš(V|ć+ií ßL‡Ţ~+˝ůüói÷rîçϤŤç˙"ĄÎ>őéÜݦÁ}źOÇďą/­Ürk:sömŰßsď˝éř±&ĺ¸7Ú3¬‹/Ąóç.¦!1†şł!îĐ‘cąÜfF ĚŚçďµ-ŹmĹKęJ?°.˛Ő3Ď<cŞ ”ýßřF:uę”ŐKNĚô)îôUęJÇy‚6 }iú"×ĺĚôE'Ľ¬wá{¤ę b’Ę#Ň„ú© ÂÜĆžX„ä%%ĘǸ I‰1 p+ 9¤9’>ChÚF!Ź(“úă^ Ó#uňUŐ6qăú×%_3 u+¤F¤yEŞ2ÚĆ…Řa~`aRg‘Xë yKˇAx§OSNćy®Aá2(lL ťD]U>IíJőC^;ňĐâwć2ÎŮ ĽMÓŤĄ&‰>Ŕő”—Hw¤¨(4Ożz)Ţwý¦ú|ŁßţˇéW$1Oó4Ożt#ĂAn>ČśdF† ą J<¶Îi¦Ă9´m:ĐşüZ®Űá˛ďm˘ÂC-„d<ŕ7iŘôŰăiÉÍâiQÖŤ:µĽ˘InX©ŇŇ"ŇK©*»mAµŤÔ €âŹ« ”Pťl‘ČŹűP <6ü"v}í°J>ÜJ%cÚşW¦€iŘw!… ^óöżű°ľÇđvó5ĺ¨×Ĺxzłs9ţÖ>C˛P;UUę<‘]‘aľĹËéž·ľ‡%…Kńý¤·ŁČ —âu‘·ďÄŔ4§‡S}™ö^‚<Ő/Ô7ÜŞŹ©«ő›T6tüt,ÚÁÔ^lbžŇ=@)©ŮxJˇÉu_^^5ÚlsóŞíµV–×Reŕ`ÎĎĽÉ`ŰŰoś�QO{ÎĎÜŢN‡«±>LĽÝ:íĺźvFMşýh›–—ŠÍ”ń+ŰçĄBRŞ °ľµM}®¤¦^(!JČ•~ş`ý´ň>ě­Ř)G0Y9¶hwąéÁJól§˝šëçµ!ĺżtéjúŮ›Ó Żľ›Ţ<ťm®¤·Ţ>źűۨ _ʱ‹AÂî7„é°ďÔ>Š÷ľŮ1rŻ&Á«÷ŕ˛{^X$¤Ź/ťŻs�pťČP@ń|ÍI!ŢÄ9Kĺ'ÍxÄĎ1ú¸ĐEáŁRČ\ůűö[[]Ď÷9ŰśöËž)Űt†„¶Ě ő`XMyŠĹđ41d‰®kűťń¸¨řôqŁŐ�˝Ő !¦űm<ž"čş^ÇIgo‹Ę±MôRxFŤ©ŽTQî#ű+©aÄ=pUőm˘öŽű{o;ŐkhóĎ‚*.„ľÜÝëěT~o¸·űŐą®¤Žŕ!bŹĘű‹úG´É¨]b{Ď%fËeŁŁhVZżuj0Wɱgź=ż 9¦4w¨m=Ýß˝ ®$™�e”_¶ˇh/`źkvBŤíňÜu[ź+ČxÚr˙J×»~ĂÔ§<äBMYYč«•Ź1'99€â!BúyĹB…ŘX‘‹QŰ٨SćéÚžµ#;nhm˛ŕD¤˘x‘ĘłuŠ& KX‘ÖfÄ›:™R“+Đ´öŚ±ĂźÉIhő^ţúbÎ3MFôٻҸŮČkžló_Î%ąjĎSćŞ[WÄh¨kmĎN»_öĽ/äĆçW€â¸aOTť§yš§yš§yşÉ’ŻSü™^ľI‘¦męRú–ă&ť÷\Ć>ΧŮÎ~;ν8ϤšPČ7˛WÔmĄ&Ż9Č÷Â…óéä±ăéäŃăi Ő´j¶D©¬#Ú®´ł©*/ß;ŚÓął§Ó…sď¦[2ÎpâXĆŁeĎÜSű=ěy-ŐL+Ě wŻůš2cbi/ă›»űéĄwŢIOeĚdőđm髟ľ?Ý}(Żwßů™“bŮ˙-9c„âÁbÎxń†Ęľď3ŁFz7×˙ü»gӡÇŇŃ#ła\u üĐrđ> ţ7Ůşĺ¦!Xŕ1Íâp’`" |Ŕ4n@˛Ú„°ĐŘÂÓ9˛¬$µ'‰Í°'Ďv�Dňă{®Í9€|Pűŕv ©6OćYpH’¬Ľ:łŔ7… )k˛á\äĺO˝ů^ *6=ş¦‘8¶‘ŢĎ�đ…w-–/śĂy0¬¬®ą"@5IőÂ0íĺýÜĹgÓ“KO§v?Ą/ ľšŽ/OëăŐ´ya;]»ňJZZYLG)îçlsŠ9m,`–:ľđ  -â@Mʧ6ć7ęJť(+ůpŚ€eÉő+´ŠÂ:đ±Ć…şŠP"ĹľŁť(!䥤vá8 (3$dsäy/Źt…x‘§ňN˙EĄMčÚŕFéTß,ş´!FQ—çőE}áÎ;ď2˛ íFá}tőę{ČpĚĆĆz'“Äýŕ3ŕň•+Wíę ¬P:ląŻR0—á>'" 0" p-ÚU†ŤČG!,,˙<ˇoá1uĎéÔľ”ÖWrż|ç•tőbîó/>‘vţúORúţM#6ŕ‡Ž¦ ·?śîřŇ׌\±”7óM6î.%$™éŤ×ßL›—‰ŐŘĆxo+˝ôňłůš‡Ň: 5kË©ŮwcGá$(“BPF~§Ý©/!A�ď{ě1ëOšSřťąă!0(/ćH’ŽpŻCRÁ‰á#¤jC9dL /©(®ÉgSy÷]#Č€LţRéa^â^PVÍAÜs)thÜ@ Đ=’Ňy0Ć*…D~R^ n”Qĺá;ĘA;jn’Z‰şrľÚ@y?É(Ęqęwü¦üNŰüô§?µ—ĘU€xŹ×Ť6ŕ™@[ńÎÜDýŐ>´ĄH)‹ĹJíËu™+DŁNŠ3ĆĽěŢon.s…ťĺîYˇľ¤p1RŃs€zżQž#N$ÁyúŐKłÄşR\ż(Í ó4Oóôa§ŔÄďâçYô%“÷TćI`g€I›J(‘Aćűo@FcWˇü+ň€IđŁ']LĚ rĹnł“×L×Ęp`2ňÚ“!Íďr—Ó¦~wRň [«ąE[/I*/•8:otľ÷5=ˇŰ˝r}=íqS=Ô 0@rÚ\¤p‘<äŤďŔś2ŁŃnŇRÂ÷ ‹Ý3Ć UY‹ ¨łvä__ş4ąĽ¤÷övŚśB›ků.”°'•ÝŹč­/FŻöŕ*8.°Đë/ĂŘ<Ď«r/ëv¤.J~O! DŻy…dÁç÷¤_«kż(§µAďĹ?ěÚ3î˝âł6‚§:/’<îëPb–WĚC{iiżŘ®Ů}][Űč$'" ‹ÇzL*ż]Ż­:X© ç`÷1ťą8JW·ÚtŰńa:qČűߤń¶š´~2#@ČŘĎŔöˇDwňú|;ďWJą’í1Łc¬•79&·*’-ü~¤˘Č8Ý~˛üěťýôü‹/Ą¶i{ĐťÝQÚşFŘŹţÂĐ0—+ ŰÝÖ€X,Rĺamvk�j k@Řś †×«ŔE<¶ąî§]3č\ęřHŠ^'ŰË.ůĹ "čŘHd4óÚ¨/é{)(8[«š"ő�\3_\5Ěăi´găó2!,ň˝c*Ň©+7ýU/ő3\]®Żv‰!CŚěîŁĘŇ—=ŮŘÄö ÂęèžŞ«öPRšˇos/ŮS‰”P•űÎé×5ć]M§îűÝĚ=Öu"ÁÉv‹i5ŰĂPh`Ď΋kF{•Č"2f“˘Ň`T5QŢ5 µű¬–ň™%“D˘\$`čÝ›HÔrĎ€đńމ„ÂG}ˇ°SŤµŁ¦9~3G+Ü˲é-t5ÎäĽ6ÚßK‹K>>eŹŕžZ}jWţY3ĄÎ>“Ź­T”rFÝł!Q$7ťL‰©Ś›)e$Ć-Ř3˘2~IkŠ/®*á!«Rž 51‚U~Ş•?u’BĎ0 «Ôě۱uŐ?—!B´˘ĂäPŮsohe´ąaâjNÉ=ŮÖjˇAr˙ž<—óĎm\}*˙´–Oľ-—óBĘVÎ4$ź<ž}Ť’ďç>k‡IQĆ* ZÉąĆEMca°0×Ö›§yš§yš§›6í<˙Ă´űěăá›ëíă¶VźÚÝ7Â�돵Ľ®3&viq)•eŃTíxxÚ/Ż7'yżŁĂŢ.ůćµÖáőtŢ”˛«T‡<?PňEŞ©Žöwíů>ÚÍű.Öy˝~Žý@‹ŞXQ´ĽEÉą˘0CşőPeĘ`¨zćµÁöf_ąr|~o?-žĽ+>,íäÓwrE[Bş‚YąÖAd^¬—růF{î ż Öš1źKą ®Tőőg¨q«6¤˝?X^K7Sú ë°ęţV}€÷ęźőŞĂ»^ňÝ`ćĹo‡xĎ…ÇYx ŕÔfIx@36�=»5  ĐĂ ś4Ŕ  ŁçHŇ‘Ż@0ň’ÖŤóťńÄ–w6XˇÚĐČpO€- $ďňV–3ďÚÜ‘¨Ľýµqb#Cąň‘?×˝÷Ţ{ Ř´.uÝ+Ň8çŢ=ç€öĆjÚ͆‹ÝĽ ‚ů˝±t(-_J?Ű|9=ľóýtur5ÝŇŢ–~kă›éŰ´¸’ 5äQľ@¶†±RÝŰę®ŰäÔFO×|ę©§:ůEĘĘw|¦yä‘ôąĎ}Î6[/żü˛ŐŤ6V]E„áľĐn —ÂqRĆ2€î­<ôPi'€Uyř Ľ$ţČOŇuEPÎKŕ0ĆGÚĐÔ7µµ }†ý žű§~$ď}yřĎJÎĆ4k�R™‘úĚg>mmƆcW Ąňâ‹/Nť+CuRč©+HĆQ@=eá7m€ÝłĂ ęOęgl ąŹô)m„SJ Ľ«o+lŤÂ_Đv\“ű*ďkĆH~Üsęžt÷mwäQž7”­{�Mv3˙úKéőümşňÎkéđ+?ĘśęEäOł‘í˙ö˙JGŹM‡ŹťHŁlŚ9wćbş|ő˛•ăřÉ[,tÉŐÍ«ůµťëȸÝJ8˛1ťä‡墯HĄAm@ýčß˙ţ÷Ó“O>i@řg>ó™® @§ čwRҡí˙ôÚWýČ ĺNüQż‹ä/őÚŇ‘yťůWÍ-*'ż‘?ň…”�A@D.ÍI qB]8Ő…"‘QHŢBRę‘'çŃtĽ ÔUÄęJÜo…ľ Nü&•Ža.iBůóN™8Fä4úýEs ’ÇśňÄO¤‡~Ř”+Dü‘A‰~­6PÚ™<Ż—ß?;ŚYęÍyŚoňĺÚR{!q<aař¬ąŽkrőŚ:Ł|Âwô'ú‰î«B†pĺ’Ń”ĽÔ÷tM,EXązîĹth}ŐfđZě‡ČóĚE2čőžM˝Á?ľĎÓĎźâśŰýçÎĐZŚ˘‚lÝ�‘¨Äuż|őZúÔg;˝‰&â߯\óű<Oó4OVŠsĐě\sŁyęFóĎä˙ĺO˙&ý˙î[\Dŕ*ć#Ű× ®Śŕk57.t ´EO—×ďŔČüYďčInĎNŐ 50ż|ëeÍ;ąňř@Čpép„Á]F~´ď@ŠÖîů<(ĎćÚźŘ3P»�ŃIűÓĘcÇŰs˝tĎ­ë4­hŕ{¸><ĺ Ü{3÷í§ç’Ż©‚„Ľµą@łÔµ­I…ô˘őU*čm /A}E:§ÝXsă nRíMČ}Đš…­<׍|ÔŻ}Rw|Júo ÷ć`â¸ÜĎiŻm’aEŞq˛qęC9Ôeí]w`u’`Üäę×u.I{ĆŘ·Ő;`Ý€Ĺ)=úzď˙}#Ľlm9ÁřČ‘cFŔ€°í&ă©ú]N·}ťő{wŻŞ~ĚYH“ &ž8\§ŰŽâŘP8ůg” đŢ6Ą‡üa[Nś<’î¸őxşó®[Ť|o�ŁăúÄŹ¸NE0Źîä$§b3 kŁ˘ŃúľţÍ3×Ňł/Ľ•žĺb:‘pc_SďŤgú¶Ć§Źúëb˝‚Ię^ŐYˇ\, @ÓLí˝cŢőŚú€®m)„ůŔşö˝gťZFI‘HŃí)S!QbLŃeߡĚÔĄ kÇŽś``oľź>̡«ę4ݡűXíŢđÉH´/yÇІ*w7–ý˘ú™•‘v9`^Vą9NCʎBÔ§µ×ŤŞC"Th¦ţ,Ç#Ő1*Źlźqż’?+fC­č¸Á@j“T—9—ńĐç$©›R7éĘDš7#‘Aec±íÂ8…đEIdŁjŞż¨~*ŻćËĎ/2Ą2ňfصyĽ§–ď°ěC›Űü)RM(ŮńÚdó$`ľH*ĎlR]Ą°á6Ń+ť˝ÎŻ×šíĘČ=Ĺ$%)ŇâŇ‚={|ܿȶ÷ć„LçĎ}ÝĎ2źëÁX‰lه©Q›Ůw­‡@ŞŚHR•ą‰{ć$ Ô’DäK©WI˛ţšÜĆą`äµ<ÖŇ~ąßŢŢEŚ2ńv´"5&óák‡˘‚SW=1ŇB†Őri` ­¤˝ ´Él›LëI“öťü÷Yźg­Oxř¬şż‡¦ÄZBC2˘üů:ky\˙«ß»/ť<v8-Ż,YšNŞLŮ ˘ŞŚżĎíVúeŰ ćižćižn¶d*×[›iˇŤk‘i§ű&Ď—ĎgśęÝłéŘŃcéd¶é›Â\]w(ôAµ†˙=ŮiŁI:wöÝôîůs†iŻ­żlż^lŐlžďC¶`Ť’÷îçsľ(A?yÂňÍ…íY ­´ ę”ÚHoÇ{ůĺŠl¬÷v·ňł˘FĆ™2Ć vöę™wÓË?{%ÝwâxĆto7rëĘŇr-Ż›ráîâj. m­`P¶mŚë…×®ť÷ýsYĎĽóN:qËÉtË­·±‘L ÍwăŞÜľuYăŢýČgż‘üÖ\-ď“™W[Ţ›đjĂűě+Ýŕó{˝Ďţ}}5Ţ'Ý4‹Ľ1‚`$o6ŽR{`‘φN„ ël4éH÷Ýw_'/ŕ ŔŤc˘ÇŔ%ę ł }…Ä�0lاÍ!YĘÂÂ@€p�Ź2‘8ŔŤ|z0ż5p@2›$ĘĹń�~|G˝Äç:ňśćĹ5y5Eľ˙ÖŰďČÚL 0ŹP xăŤ×ÓKW^MĎÝóÓ´°7LŹě<’ľrę«éÔń»ÓęĘFaIűBŹ ëĹ—_˛k Ş!śvˇś\…<`)íHů”Ň*ń>ýő×móJ>�׿ó;żÓŐEm Pm,śÇŻ­­ŤDJٱĐ'r2ś:uŞó  p¬űJâ\Ú÷hTá×"ař¦ĘUC('÷–{(懲œp]<ĺűŰ{ú(DIÄ©epÎ˙ń[{}úÓźNŹ<ň°«”‘~HŰSwĘ÷ÜsĎYŢ䥶SČň“÷˝Ś!ôwÝŁŮ~ řŽ"eqŻĽe«#€2íč†Đ‘őSęŞđüFř޶— AÜäŁćBŰÄ eăxúëĺ&ů‘ �Ý·śČDd&—c~ëÍwŇŮÓoŮýZĎ]äÜÓO¤s§ßNGţâLíęáÜÇs;ž¸#]üňď§úř­éTÎăî{îK‹ë+¶ĺ Ő“ÍđĹËWě!yáâ…ÎčC](ŁÂUШëźüÉźŘ} ôÍo~ÓÇAncľă© H1‡~'E őc^"˙0O©čKÜS© čXň¦Ďó7ä�Ŕ)·p}ĘË5y'ß3î5}…q¦6—ń‡¶Ą}ř›ÚÚWĘ&* Ç’c˛pßI\Wa1¤Ä€Á1‘4ˇ±Ĺś@{HI†DŮč§ô)Ťc‘Df˘Nä/% ’–p Úä»ßýnzôŃGÓoţćoZŰGc8}1+cíCąv$L¸c“üą.d Ú‰¶‘µîs÷óţűď·6mF9˙śGą„6ÖÜ­$r}žDۉ¨!ăuU8ňĺ}ëÂËs‚ĹÇ,ý˛ &Ń oöúńw•%öőyš§yš§_DŠD‰>˙C“˙żűçÉ ®ŞÚÍ™šë†&e™¦@č(·®ă”¤ČF’bä 'üî0„=|]Âz­8¨\‰*…€Ć˝=ÚŢ›wXHś§Ö}ŘŠŢÓ¶ř“$î÷LšĽ/o‘oÔHupY�IuëíĐNíSŞ¦Ę®Ľ#…ő‚«WH=Ł.`SăŢĹ]ţ.Ąnm[l„a}Š·.ä_›ŐĄü"c´PÚď}’¦«Ź{čËy˝g¶dĺUG’€4łľž_2ĐN{+€-­‹hoy¤;0ąĐ…~Ó}ŠyË6 şÇű)’pßćŐ”Ť ä'fVĄn^'oîőĺËN¸ÝX?ś×äkHH1šöúp%J–÷¤ť"x¨ż[żŞűp%:×�ô…&Ýsr1;Ä:Ň˝°mŚU~fqˇÎkćĂé®ŰoÉűŹĽf?´ž™gŇÔÚ"ËfÁ˘ďš§¶— !MtúÜŐôÔs§ÓÓĎźNŻżłť¶ŻmŰľp[cg–đ` }rÔţŢ®…VŃ˝R=©m¶Ľ´ŇíC˘âÝźzšLŃ“Šš®Ö!ąá4‚Ú‘|Ż}u$p–?öťÖŢ`Ľ>öś`1(ę$ýzÝŻÁ^"†Ďř "˘›2Íxż«Ó,Đ‘Jq·w¶şĐ…ŚO^\_J".č~H‘o–$ˇňĚîqIqLDZ™#ŞĚĚ’*¤¨©P°ŃŮá 2ÇĘGű]•M×-Iý$¶§ćP‹š“˙Ö8ć<îűEŮž˘Š¤îĎ,0ĺŐ&qßĂ̆‰Ď±P aľŠuRűč%˛ĹT?/*OłýGÇƲŪꝢ3b$rÔWř,–ďeSwi7ňaOë6‹ĄŽh±Î ň©S˛čxMMš";‰PĄ:iżËX"D‹iwwj"Są˝­®†6}ţőůhdŞHŤ}7.tíd¤#(Ž“H„‹ +± nçÄBŠŚ -™}©®—L©Ä/_YÝŇ`\Ö®Ş""_j\m+·°«Ő°d)íŽ(U¶UŰzc4~-- ®¤Ĺˇ‡fQ[—DaĽě~%óĺ‹Ss‚ĹÇ,Í ó4Oó4O?_qâÄńđ|šV˝d]y&ăŹ8?r4Ý‘qĎĄŐ•Ś--v´“Rř śnś‹ÁHŢxíu ‚ý~™|ózr)Źĺ@Ábá '*s>xéËŻľbř­ëkëS{ÉŮóTţö€ëŞ8\<ů㟤?˙óżHźzřˇôŹ~űwŇŃŚIÔC©g¦)‚­JëE}’D>`'ŻőŢ|ăµ´·łkĺÝČë»Ĺĺ•>ߥ÷YRäµČś`qŔoÁ"PŹG/y^Úô˛Ř7ő† Ţőł®*mF8Źa©`Äč¨ @Č9€¬€c˝­9^ěĘźcä­¬Ť–6š�’€™ŃsCá�ly) ×f“/…Éçs]�Z]“rßťŻyüŘ‘Ö7),~rţ©ôźŻü§´5ŮNi-}öÂçŇ­+w䉨ÎůN·ś<n×ßÚÚNÎ_(aRV3|O†dsóZç/P_őÂŕZm© <íĐĚdń`“ó�%?űŮĎÚyÜCŽS&)*đ=�ŻB·pďµŕä^(tHś$¸\“ţŰ 3÷EˇKH´#e‰CŞRIáťëÉ[źă8÷%&)ĐŻ˘Á<™ ĄF@ Ańgög–×ďţîďXĎ÷"MĐvô ĘDŰŃf¨Ä6Vź•§<Ç©ŻI5ü%CJůč{G)‹B}(Ô×ç^Đďę@„#Ć…®§M°Ôah#ýĆĚ}‘÷Š6‰ôUĆ mqňÖ“¦růÂĹtmkÇ6§+ĂŐ´~äp6 ˇ‚p6Ý’Ż{Çťůa‰W"Č3»×Ň?ú»tî{™–Ţy! 7Q„Éő?yWZĽď3éŢŻýătňŢRťŤp•…v¸^ëŚĹ·<rôX®˝?©}#�ăô«?üĂ?´ż˙Ń?úG¦¸Ą[ąďôMB̨os®;2âčžÓ–˙éź´Ż …’oĄż?j"‘DüˇÓe4ć|Ŕ)„č{óËýXóă‡kR7•ŤďEš Ś Ďˇ± C‹JôÍŻęĂ ‘‰ô;ƨ”<č2ČP')ťśD›Ń.šCɇ2‰ô@ŮŚ ČXŤ±$ęI‹d¦{ŞöŐX×|«0Cłô_Ú"׍$ć$H,ä!˛†ÚžrrOřŽçŠÔCřť1%‚ץĎĐž7ČKc„ú‘u•â ‰{zî­§ÓĆÚĘś`ń1Jż I4¶Î~? ěĚ,ć÷zžćiž~ŃivŢŃwłsÎ{ý“˙ý˙ô¶7qP˝ĺ h)°}0t‰lS ĂĄ°Ě)'P.Śrg0fŹý�şâkT^€â;;»ÝzeqŃ˝ŐńX­ QÚˇŞ€'ŐÔž.*b{´wĺˇ+´.ńú9‘Ae)EíÔ&"çő—víź÷„4€á¤Ó‘?ÜŚŢÎ*Ź:«Ś—kŔ)m�r�ìަ”1qŔn  ­Č٧¶#´“©‡[[RĎéŔF’6&]9\Á îQîÄ W(IˇmŞë€>µ k.Wáh?č€ŕH`ÖůF^đ®|˛p]?Üßß ĺę÷T^ź¦ëK\ËT*Ć=‰'5î»Ăą Cĺŕ7˘-J‡—,|'F@µR›W‘î»ňގš#¶Ă”Ő°Ŕ%-ĺ=ţÝ·,§“G2xÇ*}˘r‹ŁG×Ó­·śHwßu[^«Ż™'w·ŹŻ{Ұ݋Ao+iKŇÝ<ľž}ůÝô˝'ßL?}áÝt1Żs–‘ăkُvá;í#D`ĐŢŢŔŐÚ•Z±‚Š€ößľ÷OFę‰ű©q^Šŕ˝ÚnŠ4и—żÎ‰ˇnÔ_"Öč~Í*>¨|iFY!Çń>jţĐ=UʵHĚ�DžRnôޱű$ż{NÚV¶-ßź,Z;ŠÜďŻöůę÷"´Ç4»ÇеŁúB«Ć#."__{ë¨ I&ú¬ĽHłD íą4ÎĆ%ö±ńL™H.đq:1cřl?’ҢlM<NRyŚ xďîx÷·H‘$•V tŚ ™@´hk éľŘ¸IN:ŇR}NhĚP}ĘúĐŚĺŇ‹!ú•ýćĘ ×‡?Ňý‘Ý®™4>Ośx§pşjwí±76Ö¦Úmss+çë–xŃň@ˇ”çʸ„¤’b…HtŁ‘?ËŤ1ppBˇÁR!. đÓ6“Bžđó[#ôä¸ ~÷jWč7#Ż?ĎËÔLs˘’ĆxĽß)¨łŮÄĂ…ZÄź3ÂNę^i„)W»ăPZě÷čµ7yÖ§Đß(ÓŔÉŠ­«mLRîŰŰóqŮŽŮäßęwrť.;y­ŰxS Ľse×ĺ›ažÓżüÝ9Áâă–~ö‚yš§yš§›9‰‹]˝'‹Nş˝śíĄ._ÉҦ©4Ĺą e¨ő ŮVş=Më„j›w›~mËšUs36z𩥼&:‚cw^·Ö ¨žŐa;­\—Ú°÷ˇM%ŤŠ`„_YXtG_sň­ëΦߩq•=X çűâ4EÖúlí?ţÇ˙÷pw§Ż|ő+iťu6*Šŕ´ĂBÚN×!iݨ5ˇ0’BÇŮđ˘¬îŔÚ‡ďÓš1â¬ţwšrđPľrę&ߌˇÎ üö‘,ľ÷˝ď=ÎÍŁcFojm8�­�Í�řd”‘aŕ  ŹMâÝóÎƉü��µ±"±VśçË›\‰ŽB^tpŢ#[ťÍ¤Â’PV­€iútş&PžĽčÔ€ů\?núľöÚkÝ@7yĂlä:zčp:tdÝ6W—'[é§o<™~0ţQ G顭‡Ň§ď4=´q6:lnćvČ/(wËbpÁȻӷߖ7HKľŕşmęÔ#äqM[Č“›{B{Jv’:¬S_ŔHÚ™ş!ýO;đçŇ \î¤ęď­)Ě řĄŤĹ˘çXôÚNa¸×´?ď’ëçţp÷�0Wę Ę[ "Ô—wýĆy�Ó”WÚ‚ă�§ą}…ß®«/}ç;ß±{Pą"†!ÉŁň‚6Ž”Ea&äÍa첢ÄB˝čg¤Ľ O{ľ§LÜŽ9)’&x Đç8•‡˛śKýE}cĺÍŻ>®>}ÚűAůč´A6»l§1Řž=ónzóő7̸Ľ0t#±lđ;Ľ~8 —ěxšÄ:sö\zýµ—{×j˛źÖ^ýQZxö»¨9Ąý«—Ňұ“i˙ž/¤ăżţŹŇ;ç/¤áú‘tęÁϤŁ'ŽÚF\‰˛ĐS¶oűŰV‡o|ăÖ.}h^ţ”öd¬éŢrľ@$…ő‚ çŇG™cާ,ÄŐ«]`l¨żčËńËýŕťv‘@áV¤ČŔyô'®-um”Źú°ŚSőá^~×űůÓ§(ŁÚ"’Rč7Ě_ä-ň™ćd=Ä2‡<č#"źq.ץÜQr”s j07<˙üóv ,•+†ćPSH|Żąş*NŰ×ÉXÜcyYi!Ŕ¸bŚľňĘ+]Yj¶‰‹kĐ.şoÄDžŁ®äÁą “¤E H,”?Žq~SČ)Ý uúŮ9Áâc–~“h¬~ż˛Ěďí<ÍÓ<ý˛ŇűÍ9ŔJÁâ˙"Ĺ-e?§öůtë í•[ĹkݧÎuuËÄŚ%măęzţúÜ,oăAâ‡S@¦}y~ľ–źß”ŕŔŰ塅R`>—G:Ŕ‡.ńÄőłŢŻł`eXăĎŃTŰřő=ţ{Ƶ/’‰·O˙|ׂő€>“.@ŞĚhcDz~ĹP•z»jTn?¶żF/˝/ą{7’L áĹĎCŃ‚6Ä•LĽ¦"Í AÍ~ý#‰÷qGŞp 4Mł4ŠHl_˙|QŔľďS“IďďďuQgHĺš©`ŁŠĄ—ąŘcL©şÎC_�ŻÝÓ˘Pâ䕱5˛B:Îׄ:Ýî˙®V8íý?ë_W=čěďęŕ1gkěÚĂǬ,Ň·/§ŤŐĘÁËśŢŇÇŽJ·Ýr<ď/ť`aÄ BT@ ązoOĆÉÄÂă\˝¶›Ţ|űRzňŮ3ééϦmܱQ\ąíËÂě¤4µg$IőP„)ŐEíg/ ’şýPT’ĂÇé˛őąvq<ş® zÂÓŕş>m Ířú{ŢA} ÷ ŹĆŨŘ�y¦`ě·S÷´îU[¦Âřęc”ąÔ‘>RQ”€$5öńőHR‘â�Ia>5&5GMĎMu×ćł™·ő×ÜĎYăĆ{«úq­x˙•…Ôß"ÇĚ*ÎÄűŁ~éůTSűÉYµ]ż»ďFđŘź"ÄüIÚGj~““ŚĽ+Őfqď•Xbţ±Í5˙Ě~7›”w$Sčžőm' ‡ý<ˇţ.rĘ m… îýłĘ ÷Řęâý�ČX Ş»>ëeλ׌䰺şŢőą&EÖ}żň]Nä‹Ä&Ý˙Ň댴h{á¤çśĺ’Ćᤠd˝¨ôQ€blĎM#jÔwmÄ7µ6Ő×qŢw%"…ˇ2şJSfdJKôZlEłod‹ˇÍ±Ů&9ÉvŐbzb„Ö OPͱµË$ŰÇÔő¶|­E3zOĆgó1»i°T[yp2j'"ż`ź84ň1Ls‚Ĺ<ÍÓ<ÍÓĎ—äH®tžś” Ń?×ëŽX_k=Äęhk`îM×Űôv µžđÍ._{•|J~Ĺ_ÁËWćyĎ«äď™ŰĽľ‹GţÇszˇŕ(ÚSŞzUŞ‚yĚšr-_źh­¤ç)xd …nČ=üPÁ ĘšČó‹kçbÄvPţ´żµq^Oŕ,`űězxŕzÁ› 90ďřNťiçüŹ˙ńMA°¦›$ŘŠ]Ä ¤p€(É{�1ŹŠăÉF OćíbDăĄĐňjCŔ;L†?RÇ�xă{~ŚŁr žţR@Ú$A3  (Čß�ë.Iňň¦Ó Ąęäő¤®ÁćăŇĄËT˝6Ö7Ň­·ß–Ž:ś._ą”6ŻnĄ+Ű›éíóď¤ÍúZz~ů…ôns&­Ź¦/Žż™~ý׾––P|Čůµ+É *—/.Ą·öFÖ“ T`¤x÷Ň9cnŢpOű…šMt´Ŕ ő)‚Ď´«BhĤ LÖ‚z~Í>ňů€©R} m©żT,Č›ë?ßs/ą_´ť�J® ­ű)â e‹Ę Rl҉ĽÖe, ±řµĺ~�úň= )d*�ZäęJ™(ő•'}‰{νöŮgÓăŹ?nőúęWżjá8†k+†,yĐoÔÎ 4ů|¬“?ä �dmŔi?©´P_’Úóä]"#őâ;=\ćC!Eë’ëJq€s!čŢŇćjČ"©M9†ş.ć‰z¸¸`›<óČ›‹!RµGŹĄĂ‡6ŇöNäóôęĺ+yÖÇÍáCëé˙`ďO-»ÎóLđŰçś;ĺÍ›r@Ě31p'‘’H ¦dY’ŰRË%‡dµşÂŃŽîptýstEô?˙rý¬v9ŞĂ®Rý(©J¶¤˛EÉ(‘)�8‚ ćyH$Čy¸Óvíg}ë]űŰ;/@"!0yâŕä={ď5ݵ×úŢw˝ß…óvňÔ‰¦ÚáC¨Ňěµ…Oütł‘o^2O|ÓN<ţ°ŐOÜgÓ—łWţ˘ŤVw[}ývaó¤-\»Ť®8”$ž†‹Ë6ŢÚLҵ÷ß"ôüýźýű¶Ůü†‘ýüsϧ ę*Ć»&ß"dáoú¶ŰnKíB™čkîˇ?¨ž©?ľµ;˝¸ůŤş…ě!ň‚ú }€k´-}—k´±®  §NEš NuDö">ą˛!>â‘{âQ»Š|&B8äUn^tť~µ^�‰ĺtŹ$"DHmE$őqŇT˙–ÁŠńŃ…ë÷Ţ{oú¨,Râ ŻË] Aî~Ô7ĄHB=dĄBĚ]Ě7ü[îOČĺdlňJR4‘uDYgYJ–¸ß,đ”&eĄ˝UGħú§NxžrŠTB<äGDĆć©ÓŻ>fóđĂ´.é”ŃŔřV‰o-´ űy‡y‡~čĎ3}˛ĹN›ó7#Y8WbfÚ‡ä€c>s@mšŚYÝž°ec_NŞ2¸Ć»´Sřfµ,H�.?06řÚşNkÍYĺŇIbËä‹&ŢÝÍ;šÓ·[[ Ż^Xp™Ń F€°A•?Öuî;PăJQq‚ “'îvdબt"€˛:­‡ ľNpPFF›HŹ'‰đ>›µŔâžeĺ‡*äMZţ *ĺf3+†ţáŔ <^žYüT:8%Ĺ.¬�§–Ő/äa•µ”dăYÓăĆAdܦ ŘJ§”«Ö]‹ľ•îx<1W·f…ŠY)\7»ęD ŔzĽ®Eđ¨*?­2ú©ü¶#Öu4 Ő%Ď\/Ú Tóv‘A¬*„ţÖ4pZAvł’H&ć}Íď_Líä©/¦ëëë›Ď…bkđô‡…ÍÉçÖ8•O0ŐłśçĘdČ ¦>§ď˛ú löő3{äĄ »ńȢí[elЇťĽ°8N 9}× j¸őX_ß¶‹Ízxý¶˝~zÝž{é”=őÂ);vś59ţi¶;z}Ź2hHž¶ĆŰĺÄ;Á]Ś;ŞÚČ•Kę/ŚŃLľ'8»ŕÉî$ا$Â@ł_›¦C(+Éř—@Ű*‚†é˙™dŇ;a–ă‡TĺdÚ§©MĄXéńů|‘Ôq¬ ÜŠ"đ2ďÉűlÖ!Dđ=’.vRśq2Ž»ĎQ[zÚ>ž¶ÇNa¬%jŚK"±ýuĚţI.f©GŮ?č?ůDJWµw'ĚŹÄí׼¶Š+®$—$…ě0këb}¬Ęí$r ÷EâM$ÖY õŠŞ[ŚßÓYT˛2·¤öIy÷y{<ťer‘Řđú–;™YţwU€˙x(‹}!ýŽzLý"Đ u‰QÚ“FµÇ~űŠL"C\˙GŐ‹Ô?r˝8yÂçÇH&I#pPßŕJÇÓžvŞ—4§SçÍŘ÷÷JÝ9ŕ%{¨öôúVßPޢ ŠîcśnoíJsÄĆćzšç f,fŰ TYW«!ł[*\*EIKŔˇ^Űôý]dí^&·á¬¶đž•[ť¬ŠaĂü^š9žQ7cą±w.¬d·,™Đ·=ť8™Q*O'é */ kşQłA=÷%Ăj!÷yg¬dF>F‡”aÁßGS÷Ł>ÎÄËY=¶ôj™˝ĐÄ‹k›‘ŽŘ‘M¶Î7×.4ĎĎ|®JaşĎĂ<ĚĂ<ĚĂĺ°™ďi0ˇ:Ű XO€3˛ăš“FE‰HŇífgY±±žą›°Y^ǰ®¶@ĽZżQĽéď¬qéďôY‡dę*łäb<źÜöĂä‡ĘĘc i=—Ö$Ú' ňús¨őî4çÓm&łi«PIžÁŤ Wp÷Ç~ôÇ’"á0­y‡­zGĺ„yBÜ#j Uę´–ÓtŇ�”×)Pj]×áâ"h˝ŐŇ[˛/ëKâ•űË!\6 Ŕ͸€IB ŚAg;‚�5ąAH2ł0$č$şör Á0S§žÔp’–ÜV�ĘAęKů!ŔŤ V”6Č›€5ĘÄ˝t|ť˘—©7÷»{ŽĆ°µ{Ź]{Ő[\Ý•Ül@ßŐŐ{áÜ–}ő¨=˛őU“Ýtćf»iíz»úŔµÍfg+Dˇ ÔÝ ¸Ż˝ňš4�:jCůâ™Ói`P‡ü͇ɇň‰@݉�0 -2÷PŇ‘Ň,ĺ7Č&řŔRŮ =PW>ř`Š—A ¸Lţ¨NŤÇÓů´łH¸ońC†’čjC$Ú•z–‚ĆA©•oÜKÉ/y8J /”U.i´ ”»ââŰĺc]Qă±Çł‡~8DpC‘ PM˙YH›YĘŁ|�ä’Oß*+¤ň¦@ş¤CşŞs‚´áŐ5î“"‡ŚšôčרóIyi_‚HžhχúŁmHźö˘MčłôeĘ}#“ÚäŔCi ɰ 5ŇM u“¶N:Ń/äc Ł�˛P×˝÷öďş[ěÔĚÎ<űĽŮÉŁvřĹoÚĆůÓvćĎ˙w;ËÜý¶{ď6ٵ=öÚ){ň™çíÚ믳_ţĺ_NĺĹܵµµťd.Ďź=“ŇÜlĘnµż@örA:1ç'­(›ú7÷P.ľé?ôg&¨kžĄ¨Sąoˇľ©_o˘" řŁŠ‰úŠTC$ŁĄúŚä÷)îůˇżče)ré’'ůťĺąB҉“:�äW*´Ł3äŹ4i'ňË<ÇďÄ%Ą ú˝ž•;%ąÄa‘ŔŘ _¨Vŕ˘EŠ)’•ĄŚr["Rd…É«Üyđ!^ĘÂorC˘NU^Ť1)NЧdÔ&˙äŹČĚ/¤E_}衇ҽrCţ(7őÄř¤ľ!MHőBe%˙2\é=@şŚm:ç'I~8C'ăw ý“pó0ó0ßĎĐźgľÝß„oGţ UňŻžôňaŤ gw’‘ oâ¸<u2Ş őv š�z�`‡ĽĂŰÍľ«IT—śúŻ3ůŔ“‘Yvé`¶”Ś8› ( ‡›‚aö©>¸ä˙¬@,@ł*)Úú©6ůwĎő"p–“®ńp„ŞčË@z€ZŔLÇsZ Ń:_0÷�JÍš¸gY ťŰ‡ °ńg\yŁ1¨$Ń÷/ň€�i´1¤ŚBHw’ÄÔ,¸MqW+‹y-µžęŻ®w5u_›ÜŹ´'fSiâW×ŘP)ĄÚEűŠ˘Ô]™¤M]ĄbŰĹó3Č$…é ‹Ś­­g A¦ŞJúNĆPŢZ˛†ňŤl4u˘ÇVJR'†“;™"Ň©đ&})>&@4íö&EÍ´ßJ„ …Ć(¦±@˙źdňYPWXîA&ĹHéđf÷� žVöü+S[]ŰŐW.ŮýÍZ”z¤O6ßgĎ56őf˙ł1¶łç×;Â9{ţ%ČăçlkěĂĘ5v›ú«’Â…™‘ڵtú<ꀧľ[BĹ u\mr)i&ÖşD°Ň_0ňß í=ď‰$A;4ĺÁ2FȤţŮě;č'é“ÝÔX-Š uÝQQÝ%).`FąÍë:�Ó­»•tš}Ô>—âN§ŤÇBËN* ę7ę'8ľOÖ ß©äĽHąÎ•mt$Z'ÔÔćnîO¶K?!4ĺěIŘźQ`Ť¤Ŕ0hçÚLJ’şÄ­­Íśçv¬ÉííOI»ŁŘ2µ’ďa—)_îÉ6Ő“ę=*›Dµ!ć©)zF­ĚEŐpŔt1·Raü$c!e5ŔąUEIČóŕćfďUž«†nČ6.wWłm[ËŰiŹY\Ő­Z‰Ę#Ą‘aÝîá#ĄôĂAë¤î¶Ú÷U®‚,kí„"V·J"’łÜ?‹’K wA¤6á^‘("éIAv:^+ý±§ÚűąNjĆ|CZ[ÜgŰŮÎŔ)N>Ä›ě™\ŁPŢwaĚD‚J›v<‰Yßä31Ëzˇô<ń·csPŢCţľĹI&Űä9h Ł°•H-°Âz€ą‰ů=‘.+µaťU€S[Ň?§¸)1˝»§ţŤâČ@®F F6wڦi}dv´iÇf-3[ó“pÓ]MŰ®77l4Źn$bÜ|8ó0ó0—khÁűYÁFX˙±CÁVďëżăzD'˛‚v}Y‡U°žgŚá7˛É&AH٬ßŇŇÂ׏¨VĽüĘŃtďľýűÜí}P珇-üŮ:č¨ęY'˙:d÷®O>ů¤}öłźM¸řG?úQ[ŮŐB:uQíÇđ·öN’n•ń©° )“GîHŞPţúu®}˙Ösţć «TÇ/‡pŮ, ŃůŢI…@>î#aB`>ż¸ü2(ů( Ř(&ĽÄG'“ä˝:†dń•&ů1kS"@Đ‘É�@”xµ©%M哎Ƚ¤0č¦ ĄÜp €.…¦3ݬîN2qç7ăB“.ľJOoś˛—NĽ`l~ŐŽOŹŮŢĄ=vĎâ=ö®+Żł@ßÍ©˝pÚOq“w”ü[Ş’,Ą¬äŹ Ť´)ŻŘěňË#iSňOyŁ›ą˝ŕo·rËÁo�ś”“ňę;y0 čĘ@üň—żśâ'ŇĄţ  P/RiRĎüÍbm'X�7ĎB" ]⦬jĘËs®śJÝňjł«Íž €¸)›ÚRĘ_˙ú× ™ä#ůHJŹűŐĄ\""ńÓÄEśŞĘ đZn?tşDŔşňB"ÖKߨ‘ lů•q7úYrß­Kť ô–‚ňŁĽČ˝ץ¨Aű‘¦Tâ ĂŤtŁb˘ť$ «M9âAŤ&’€ýÚqĂ&|ÝmwŮľ=°ĺÁ/%U—ńńmöčvúř+vć[÷%ő—ő…}v]3Äîzײ­ź=Ő¤7´•ĺU[ˇŻěmć‡ĆHtáÜŮt‰K@€Í­ ;úň+Yía)ťČŔ ¨vcnˇmŐäłTąŇ©‘IT.Úśúˇ=T6®Ó‡xV§DÄaLńÍ"]ęQ¤ ©ëđ7uIťËŤ‰Ćßęß”gtú¶ŃxVş<C_ĺ^ţ‰€<Ęđ¤ůTäňǤlo´%s°\‘°P€LtĎ=÷”rźć{Üsä*…|G7 šWU|DQ˘\Z<ĐäWLä1D2Ф8Q9iŽňQźÔsAý€rqŠĐD^ Rˇ]”ęžżŐľ85ó0ó0óđŞŞkôhĄÂ[°pb2ąŚŠŔŮ #d®eŚĐÉÝФďańäž`š@łş(4¬¬8ˇ0Qű<ň4ËJíúżÍŹź"oťyţ»$ żĎÝbx9t:ŰŔó5-@źNşxťů©~WX0ů‡—˛Â p®=±âéÖxŢÎí‘}Ő¦µľă•®f1˝ül!ĚäĹÉż´Ń,­ˇÍ–řÉ‚:ső…Î {îçŐąňé`ŞźĐ¦N$q.đŘóâůkÁ®a®›*źHöÍ"IÄÓĎíó“ 9ëšr-Đşq±r_Ľ7’"EŇ™M˝_$usB‚Y{"Ţp“Ń ‡‘Ó›é¤7`ę%V<ďĂ.ÁÄş¸fÔI!Ó^hË�évB! Ť/4ů86łó땝:×ě•Ď=}”ŰöÚ‰óvüDłŻŢ¸kRÍđqČ6y_HŔń +Îl—“ďę7ęnńz$żŁâYJ)Ţo ÄŁçZéÜ*Ţ®z zĐ^XDkí¸O˙«~Ú~Ö`łbŽć™hŚýffÝůGŞ2^ĆyIőŢĘżwBUŐ铱ýbߊsG:íaj8ę|Őד*N2·őŽ@"÷„>+ŐŮ*QC6ă­l7XqŐkŐF4$C?]]ÝÝ!=H=!¤l ¬®aąÝ†yś¦>3qĹśi&šUV9˘o Vú±ź ř§ýšż0ćf˛ŹČ5© Ľ‘ŠÁ×Ő}p 3Nd ń4Ľ}¬ô;É3»[©Ş¨úaő¤č!Swo3Ěsů´Óž±ťăÜŁrĘÎň^YGBő‘3ŞtŃO5ÎĽ_´}«.Şz×d4 C Qe4Ž ĺ'ÖyĽ¦Ľµs»·=Ä yĬŘndËŮÚöůBö¤čňw2ŠW}˘ßŹcžvRž‰őÇĄ~WţőŰ´yꙏޫRĹwĆł4Vúfz/g˘D"ź™»‰Ş2†ŁëéBVťu"+f÷ìä$—\ÓĘ]” ±żť·Yu®‰«±±Öűl8CÁ˘Ďzr;2ťmÚ·°ž‡y‡y‡yřÁ ŘŮOśx=˝“۱fŹ!\ś.î§ű¤ćťBÜ—kÝ/â,kpá¬o¤†ˇĐ')ÄőžÖXÂEŔ�¸Žýżźß7Ësź°+2:eŕŇć[o˝5ŐÉNyŤßúw¬‡¨¸!"-؆ŇăčMŢ(˙qďŇß/KEŤúĐ!đË!\6 IÜ ”f±.BAm ©ÓátrŔ6�P±‡ TÉŢbŞĂHI@›x:÷®±Y >î É5:˝N Čo#�@ł@oťĆÜd8KëĘ&ߢŠ[�?ŔÝJ“6’Ťđ•WÎ6‹óĆ`˛0µ‡†ß°“çpr´nw.Ümw^q§]łďj[]\K ›ŤQëŘ«Ż¤4ő¤!e ŇA„<RV&5Ň$)×'’řŔĘ˝€ůrkˇ ·¤KśÚđđÍ3¤ç>h¬§Ž Rxúé§“őNťę”;÷“.żQ‡Lf:±.rM”¤!żÚ´Çú¦Í(«Ü7PV±"F„!˛‡>ô€TîÇ%ň=ÄËix@dmdŐޒוr†TPřM@®NčS×Ô#i¨ß‹č —Oti@Yäç)Ę(É MýDr„Ś.”—tEâËÚQíâ®jśx"ő,w&"§¨ľů¨O‹8Bą¨;‘=¤F  ż“â´&>)¸h¬ËEĘvŢ´ŻíŮm{öńiú|µ`GšćěşkěÂm÷Řł÷É^<;µŻšŘ‹ 6={Úę/ý{µ1R­ďmĆŐ•7ZuË˝¶Ý-Nś=cË +väĘ«l ‘¦Żn6•ɸ™gĆíő“'Ňé%ÂúúFj úĄ@vĘ%u ą ’ęŤrŃODR’|«TlDxâß"BQnąĄ!đ»Dt˘~Dšě•SѵHVôňG=ň7ý™oîU»ŞŻGU©ěČ@•x Gqź[RoˇEDĆ2ä#Ć…G”IýJ¤*î•rĺ©Că”y„rR7ô#ąDáy‘Ţt"G÷2®IŹyMŞzW0vµ°ŇĽ!e$~Łě"0Q7”Ť1'b uĆ8•%Ąˇ˛PżüF~4~H›0'XĚĂ<ĚĂ<ĚĂĺt2?‚"ńT¬Żĺ¤dĐŢď–Lá`»ČČöűÂ)îA&H˘U7b„źţp€ĚIU^]ĚëçQ9!>Ě@ZLr\uÝćą®»'tOÁ€ăx9Ç%ĎŞíŹT~w­Ń%  2@’-´>ZŰÓĆu!D 3@WU ’k’ µˇĘeq`Ő÷y­z3/k$™đ ĘHź&W+ÍšĐÜÝy´'Đ˝ ¤h°PÜDÄÓë~ď$©T¤»YJ5‘*<磌,¬;ŕ™ö@ V}EéyťĚ‰’ţíiďiPôĽ´`žN ©˙¦g’âD®“˛·đÖ2mąť�E‡#=4Ż·ĺĺÚÉ=YId’ÝŤLëI’Ą÷Ľz›ÇúSŢŠ:‚I fč®lĆđ­omű4î@cŕs§‹bBú˘ŇMü–]Ă ŽŇäy+÷ŻÉt–Ód Ř÷¶­+—a!µ¸ŻU‘ńz&Y[µw ˘fw€ZU‰T‹aśčoůfN.Mó‡xňJĆżĐÖÓ6?1čĄŮŞ ČÍ€\ :}"“˘’ČNŔt”ëŤd˛ľ=ÂÝưÚĚuś¨ŻĘ™÷|Ę>µqĺ°Úr©)&’˝bĽ"‘O&ľOtĄ˝­bĎńN¨XĚŞ q¬*ß­ňŚuƇ×{VM@=f:NeĐ‚ű'ůrNőbÓRöhČŐ{@sµĆsiSę8+ŕČ_µĺ†VԄ꺨X‚YĹÇŐdZň‘Ü2•´3ą(NDwÉ´gmO/n÷Ú(.W ©őn ă®öŁĽÇľŰFĎhžŽsŠţÝŞň8Ů)‰!ä4bü‰|ÁpÓÝąŚ“+InÇö@PGńťły+Ε±ĎĆwZ$ ĹĽ«ĎI5RöFö×ę‹nšÜ<EĹ ĹÇü$Db:„inĽ8ŹĹĂQz·ĹrFŔ ÝgJ;(ĆäţU…mzRŰA&e$ż#ÓĽne~T٤’“ú~YÔŮĄŮĐ-R}MÜ5J3±Żíćo”rO6swc;™6¶Éú@S‡gćüŠy‡y‡y¸,X>“öFŘő±Á ÓŠD‚7"*h ŃßĂń^×Al<ăkÉŢÝ˝»HĽq˝D }k©ąë čĺ;®ńbśq=%r¸ ŠÚwÝuW:´-Eďťâ퓢Mˇź®j¤ŞqĂ~ĽqĎÔĎsN�câ7H!ţA— ÁEÉ€w€’ť§AE�`á®Sßę@tLůňő (Iw�4@/?ą´Uq¤â�QCRjl´8yN| ‘µ 1Ń5Y`>’<P‹ŐMľI—żU^ ,Â7šß_?ůš=úŇăöČŕ1;˝pÚ\ĽÂnĽŰn=p‡]żv­.í*§ię-ßÉm ęA�(Ŕ"y¤Ô!Ę’÷'˙\S>ąNi“Ĺő>;ž Ť8×eIWĺ"]µČ#Ô#ióo€W‘$űĎ5Nź?ţřă©=¨´Ť”?DüФĂß"Ä4†•EÜý‰—ţ"˙K|óśÜČ­ $J¨›DxÉ2‘»+�])/.P¤ÜAˇĽ:9OşÔ;ϡŞ!đX'‚¤D@=‹!—"Ą¨]ř›<RúĺyHî?Ô×D˘RKQ2Č-ŤJÇi|PfŐ+ů‰..hcú÷Éý}™űEŕîw¨›]ÉďőfQ®H“ňÓ®É-HvŁ ľ«$}1ůęÚ»§‰×-G›tWmąÉŰž¦®ĆŤ‘ö‘Gš1ňä3vŕÎŰUď{żí[[µzŁÚ_xÜN=ů-;öüó¶ú­oXő•ż6[\¶­µ&˝ënµa“GŚ{śZ\^LrŹŰŰ+¶˝9¶WOź·•UW¶!ŻRžBu$uęśńKyU.ęţÄ8§Ţřť:�Ŕ§żĘ�"<Ô›62bI6K Ť-ú ő˘6“šŹÚŠ~"ăÓĺ΄ ˘íČăßR{!/:…"’íOź"PŇVźŇśÁs¤Ią!Aş÷Ţ{S_*rEy‰“x¨;ž—ş…Ňĺ~ť`sg‡S2ŕĐRŤĐ|§ąHóšâ‘â÷Ë ×Č‹>¨#âR§”?KďĘHťůrôB!)EwDbwľúÂ\ösćaća.Ď7úŃ˙'Aű@¦……®;\[…ť0nU\š{8lOVËíŔ®�n¶ś¦ya’%őťČ 'đ›µŢ¶“ EF†@ Ľ¦}U2~xŢZĂC4ĆŚsţZŚ”“¬! Nę 2LHa#×Z¤ĄđĐ‚p—*+„ #ŰŰcłâ–cPęJ÷ąĘŠ{�/‡JĆýžI™#¸Ż:.NÔ^ľ¶™MŠ{mŐĐK ĺˇUD¨J»:é˘DłĂB4éŞ^Ô…P/őh´"D`Rëbť„ö>Öó˝›÷şńžT7¨4 rżňzUťz›¶�ĽňϵŃ`”üĺjßęň‹‰¬˘ 'ťgů´>˙n|OOöý2ËH(żĽ©_«tňÝAď¶?ČŐŽe5„:~–ÚQnHpŃ“ݡ»ď‘ňAUYč^ŹĄÔľR˛đń8Îőî@¸úKěżŢ§ÜO±k&“VUAeeŤ®"r·ČuĆklç>軕RP5¨ĂI®RŢ|ÜŐő WhăŤóY4Đę^=ß’żŞbďéçO}ŇĄ2ś ÁFűżD<˛Aéoۨ‰4¸"Ecgś{ÝÝĆ$µżöĄŻhSW¤\*ŞĘs1.ç,e…ÚşJ!"ťÉc“ć?ËsS$ĚjŤŤ¶îTĆ8¶s[ t×µć@Ď×ç°ÍGíJ%Ąäwů†¶ˇ_Í$M`"3´ęC‘x05óĹĄD:LĆGˇ4Ďő]U¨oE"B_ů%¶—Ţ‘"Ě2Y.ŤŐTwu!.BÎrwDq¬ÖÉE”÷hÖ{U*+šŰ#‰± 1žNŚFôřoőÍ?qN%ČťŹlŞ˛/ńIJ™´]ÝýűcBżŤĚ:„«ÎülÖ©÷ľBM•]ÜtÚt(RN•}žëÝî.rtOĘ—uO‚¨ksŇgĘ|f`$RQ"§aC"WŁôI®±fc'XTS'�™+ϤĚ'2Ąçc:öwŃöz:ŐDÍ»tÍ«šÍĂ<ĚĂ<ĚĂ<\޵ĘáÇţ#ě*îĹ}"AźśÚ'-°ÎĐáe0�đ‚čę­ż–؉¸±SĽÂ-Ŕ^tS‡Í[BůĄä‡~~ -9·ýĽ©¸,ßűŢgűŘÇ:űéťęäŤýë~0ö ŕ`7oD¬Ř©ŢűyŤkF)ΓWÜŻş\ÂeC°�(&°Ř¤#�Ş´¸§ss ¨Ĺu©B�ĘŃȸ_Š %€‹GŰ´Qč7G„čnÉ@¤�ťf&-®‘6€(e`�*]mDĽ’6@ł:°[ dÎ>h_żxÜľ¸ő%{qőŰ®ĎŰÇícvÍŐď˛ĺéjłźŘËG_˛•fŁĽwmŹťżŘ€~ 89iňŻt#Mş"<oĘHš:N1@›s±ż¸đ“zxľ«u’^JR]�ěŐinĹ!RIÔpyÔ §Ţřr_@pI“v…|ĂäC[2%ő#Ů~'Ż’ľ ˘…H”tÉ·6ą’d2văCKŠ‘ 1ßD˘řô§?ťĘÄ$x÷Ýw§8ÝŘä�·ŇŐÉyĘčJĽŞgąˇ�îi ň% ä )LP˙" >jR™żR©#�úJU@.U$ą$�Xd âăy^@:ĺÂ䮲rźT3čŻ")iŚHEkŚýN#.˝<,ă‚:’Ô 5ů#©ŐÜć#Wä‰4I{ÔÁŇ&˙Á¸>9ú˛˝Ü—źzćY;öękvĺ‘CöŃý¸]ŐŚNÚ5ŰV›ÜňnŰuĎGlńč+vü‰ÇlëĚ1[|é [}ęk6yúËvě+b/ßöA[<|ŤĽő.[9xµ˝Ôܻތ§µ=kvíuפvT?&ď´Ż6íÔßr§!Ů\Í1Ô mÉó”WÄ/ęNuĚýÄ#…ž+RĘ=JWF©[@Ž’ź2ą4"nę”tąO$Ć‹&äÂDs:¦/h 1öH“ů"¶ąoÔŻD^Đx…|ôđç{¨ňN˙ŰS§Îd¤a\đ{t«CľEÖq†ş!N)§¨źhĽs?ĺv0cT\¨®NôČý eáyÚ„zŕ7ů-Žăť:ÓÜ&RŚHuRa>Ä ŠŢ<C=2źŃF’I%Źó0ó0ó0—cäőŠŢ… " »ŕ¨#ç-"…«%8QŔ`dd5 {ľGsp¶*dť@Źj Z7y^ü~v”žw wç’Ű8’ët éx):8#Ét‘@Z˘‚Cşfyđ“Z9öÚZe‚îé~¤Űµ‘ב1×0)ް¦wPšO«$Qg’‰×ł“9üwŔŰÓŘÓ x’ÇSŢÓ˛Ć2‹§Ť‡Üöý˛×Ďňň‚µ„™KU\íBĐm•ęV{EşşŇî"BřoN<©FýBä~ĐF=`\kbíÁ )aŘ­gő�éhs8™NÖ7ő7ń„ĽĺvU[ŕÁéd“!ĘPäľoH.2z<9›€î]+»śX3đÓ÷É% §Ôë± �T>»'ÍëîŐdÎcŁöSđ‰¸0”ŇGcç�řÜjúűÖ¦źŞžů¸KŔëBî­,äř[uú ŞăqKdh 3UG Ôt%ąsY¤J„ ŮZD¤PhIÓ„+n)m,\‘u7ăU¤­±őŚúü$+ˇ ł{—ľ0ô¬Č ôAţ»oŚŚŔt`VYČ[4vŞżs0¦Á^S/Ś–Š:Čl&ÂCK¸h ®nĐş·¸˘EŐ*řD×%: áý’\#Ń766S=Ë«üńď2ćIÁVj«ĂśęůkŰgTD� R$…ćě*F ·ĆµňÉj3ʶ˝íĺ Dľq{–I‘°Ú'ŢPş`Š#:}Ę]Suç'l ±Żmźqé«‹é>ŕ›÷\©j<ĐŽĚŮ 3N#ŃD¤­HX(ő]ľ f�ĆRę·ăô~R»ŞOázhq—· 9ý>¦|)~ŤA˝O"Ů#ö—8.4&fł®Ětěç‘‘îÄrÍÂb9}•EdTżkç“.Q˘ź÷Ř?ŁŇE¬Đ» ?žă<ťâŞZB‡ć¨â:75ÓśA™Ćµ¸‹>O iËß˙ăäŠLuĚz.G••­xµ‰Ü20'smnˇJ»žU`,ÍŤKé$,äÓí¦ţF6?Ž1ó0ó0—cđCŁ`>»Ę˘€›đFÄ„>ATîÄ…é C÷fD>q ˙o©ćK©uŤÖdZGEŇFźüó÷şnĆyŰm·%· Úß(.­ÇoD®čďIô‘Ň?ő-•yĹ×Jýü÷ăę“N¤ŕNÜ‘ÁEv"­ü †Ë†`xčNé„˝¤íuz_Ŕ"äť´Wçשz�k~ř®NYă:Ďé˝@E€jľĺ€tÉ˙ )Ő )b. "LJ:uˇtuŠA�˘H<Ďo€ŰI}bmŹ˝zö»orź˝\µ«.¶÷ů){ĎU´ĺĄÖîĎ”‰äŘńWíř믥 -›ç+_YÔ 4(ĄčAT^Ň¦Ś”Ťzj÷ P'o´‰Ę Ŕ(.Ô‘ÜÄ:”ńȨJ:"8Ďóů'nµy‘Ú§ŢEŕ‹ NÄÜ~ík_K÷bľűÝď.y”ŃL§© ăé}ő))Lŕˇ6'żä˘A3×yŽ|ŕ‰~őó?˙ó…čˇ  Ü2pťľŔo�łŠźň d©C !L¨Şg‘a¨_ę¤5üąë‘XTĎéT@n7ň¨e‡č!â‚üD1!’'ť¶§Ý?uŁüd íĄnAŞ q“NTvˇ­!Ä"@\€=őJ=K‰@Š/\'˝`I—gi_©,-5`ţ.łµ¦íÎ4uôú網kŮî|÷ťMÝ®ŮĹó›öZ3ţW×öŰž˝«É4k [ŁfCëťvhď‡l?ÄŁÓÇířăß°Ů3Űř `ÓŐ=věŹg¶tčJ;väÝvő{?`G®żÓÖöěMĆ©P´ ¤ťnŁî©7‘ÔŽÔmÎż!=qMŇ™"wQĎŃw*÷Q/ńtŚ^dÔéň<żÓżég’ÖŠŠ'r}!µ â’"i«OÉ-÷ČŐ‘ćÇ芇|ň­¸™cĺ6E}kŚ“'žx"őg”]äEä@~rj1ĺťg#R‹ ą;‘Ş ýBő ~&ĹWE˛{ň¢Î(ŻĆ ×É»ú ÜFi!ÁG„!ÚtśÝÄD—:’Ł~D˛`\0?â§X0qiH¤znćáŰ…>Ůsćaćáoľ›`Ĺ•b�J‚Żeđ·@— Ş|ĘXŠî¡hS éo­†Ż ¸Çó[ąlŽřh1€şňánđ¶˛?ČÂekɴƶa)W]Ť3`Üî#eÄ™Ítęz’ÁĎA"Ml‰'‚[˘A÷TN]űB†‚ďi–Ljž&k<)lÔaťč.Mq!©T©=]ůIÝ*qS'Iş<Őłáä:­Ňţ’şjŔ*“‡ň h'Ęřľg;¶ÔyňýČ(¨p´ ˛BF9ťYhżL‹ŕ^\˙z}zůÜ­I~ëV)Eűň¨TP�µÜ#p¨ňé™ŔvŔżvíÖ€´ł±ÚŻ­'<ËJŮř•]pĘÜűű8ďŮŇéz[ZNÄŠŤM\"®§:AÍbŐ?Tď"Ş ßWL�äO}ÜÍ2$IÖ¬.8i˝ą5NnŮ&»vH Kî~d÷ěÚĎjěńÁ%ŠČ UpÇM8]ęˇúGťcŃe߯6mŰ^®pâşYcŽ|&˛sła]őŁű“‹ň0k•$â¸+`}Ő%E¤9’ŐtÖ9ß_‹µäźAą'îŰDNŠŚŇÇ*vŐ@®|,źîÇ5Ž5&%^ę/*f4fěi§>N=ČťĄ°�c'bÍřŢÜÜ*.W¤é!?‰Ż¶­s˝L3QB•t ĹÓlűd…ÚyoćĘďÄ®şC¨*%^/"Qů=I-u6MD‰4ĆhŁI—Ě"Bę-Nźś‚OΕµ*4&c»ęÜ9Őµ\#ŐĹ~ćę‹»y„úfĽbËXZ^˛]ËÍ^´)ßhŘžlU)ň»Żő^rÉ» ĚI”/«™¤$ë“Ljň=čR3VW–w•ľ–Ţ# ±?ŚË{°?m_[Ýéó±uŻČ5-‘.ĎÖŽŹH܉D‡î>ş)7©Š’#ăS‡á°č°O$ ©ý”ŻH`©3 g•çz•S}&’@Töřlśó«ˇ&iаH~˘"ĺŞ'ĺ/żÇ4ßBzZ&§ćÔ‰. Uű»7““zĹh–Č7›Űm»y—¤±:sU©••Ý©±ž‘»E¨Íó0ó0óp9ÖçÎťµ·jŠčŻżőÎçwâŇűťýë lů¬5Ę;żşTů!îceöÚ“°&�(ŔNqî”ďř­u"ë;p“§žz*á”`1ä[®Ě#١_ö˙şÖAä=’Á6v˛ýĵ`?ďýü+~ę\űę죿ÇúAoµ$Ő[ĽV˝…ďę ţÖgľőć߆˝×öđÝ4Ô}ńT‰äXč|2ś° —{ě:ń.Ĺ@6:k–6•KEĘťÁ)câd±€@<€i�Äqó,R‚�9â&]:ů…€!_ˇ2H`Ś#tJŔ8âTyĹĽâ4ôgž°çöż`gÎŘ]›wŰŹ^ýcväŕa۽؀Ëlhšťć¸ŮL}騽zü¨-4e»ňđ;}ţśm^Ř(@?ńł±a„Ľ˘Ę6Rŕ>©'ęY'hÜKýK§ě R‰Điv©$“‡T5řMębiń;›|Ń‘±E>i3@Ký[ Ä}Ă 7Ř=÷ܓڝz$ŹÔ7ů!>÷GÚ’CřVűjâˇMúëwiýÁüAł?ôˇ×!RR!ßrÍ Sđ7ß|sş‡ňÉ­�éĘ]€&lŇĺ´{ż_©ň¬‚@^ĘLÝ3™?ýO**rŤ P›ÉZ›tꋸą.˛†8cRSOäúíBÓ¨?Ć$ţ&]ę‚ßĺęAd�4~‰'ʦô˘!>ɨGĘ™H4»Ú`!ą 9öĽý/˙ŰďŘÂâĐ~îS?c‡^‰IŰN7e]_ßtŁć 1:mŽÓ‰R¸ńĆlď›8°<6 8ŤQřüąöň—ţÚ^ůy»ęË˙ĹĆ»V­ZhŚB7ĽŰf?ůk¶˙]7¤ş"ČŤĺ’BŤĘKŁŚô5~çĺKŇ˙â)!˝üD¬Ň©Oę‡>Ř'jP7´ őM›QÄMűJEú¤J"‹{H7ľđ4ö¤*#U —ę:ś>2xhÜqeyA„©c$ĹÜőWőW©?˙äOţdúMij‘˘¸dx%oô‘;âJ0ôg˘Q*GRP!mő‘Ƈ wÄI»Đ§Ł˛:ĆyüˇąY +‡G ¸0’;)‘e “0~QáĆěŐ¶oĎîäs©ÔĹěóx8ÔIşŞřŽĆhIPżŃ"hľűŤ-C·ý»°‚łńÎ ţ˝ `‘ĺµĎś»h·Ţý‰ď9!bNĘ™‡y‡ďučţ¶wŢüńíß˙öź¤9°Ż$˙ÝžoA)_Ťč¤ń+­Í‡0E®PrŘ (R\®”±PŇőą{Ü1VHĺ!c" ĐbMĆ=¬ ’4»ßiî:c@Ĺ…’/Ą+’PĂ%ď®za™Ä0 ůlO×’7ť ďžđ%ďŃč#"‹¶Ý-¸µí'Ę‹ •„B�˛…?»”�Ŕ0ܤPö¶.«˘řŐ–sVN;ą…4['"ą’ .J RăpĐnÖ3¸{yf—)Zűčý+`Ů÷ŠLŢhÉń$P\;EđOű®Čúżö°SüŻu_\S·¤Žv˙LD ąÉM�0vVKvv;‘�Ľ)›ÎXqF©ÝY´Őţú÷ÂŔÝąř úf˝Ë÷śÓٶm%×zŰÉ]H"É$5ŠĄä2HRh0ëś`oÓpąŢsŹĄ¶µ˘fĐ'IT™¤±ÚošÇµ“ä ÓO«°˛]ú´Öă±ŢăŢI’Ľs¬­Ůpż)šńφXBAňz[{*ť>›Y—ŕ#DťÄ9&ŽżHćĎ{™şu# =®ë56 R ÔŽ˙QĽ‡ÔEĄ Ycµ¬iöÉr„Qć©tlżUä€(ŕ6˛:íiś1H ¶\µói>4Są;—Ô¶ő¤Řo˘ÖI ©źŕÂĽ@˛[ D¶J*0m_ÖRý¤>Ǹ®‚ęAŐQ?Šd…䤊d©YŢ7 JÝuÉOu"LXqâ#-ĆŠîqegTššď¤¸+’Jě#‘DRH9˙sšotř‚ů Kňü Jj±ďLĘű ťŹĄôbu×?ůN.’bJL¬W•]yďâ|í„8^űóĄÜ9K9Sî@5®ŐÖJ[*DÝ÷wŐiWŐuź”%ÂTe- cZGImŃíTUÇ~™É„㤠Wç™$ŇZň2pĹ"@ř3Sźˇź¬'Ň eB­fye—÷×aÎ?y¨ťĽďjlżţs7١Ť}qe)Ýďî”ü;Ú 4o´ßs{Á÷+ĽÓíó0ó0ďô ÷ůţýűěÍ^OQ‰!~´ľŕąçžKëđąŃš;®»űëoÍŮ1^­›…`ÇÁ:9 ‰ńÇő]űnhß ZW ' î§ź~Úľň•ŻŘűß˙~»óÎ;ËÎÎ^¤÷‰ő˘x[Rń´¬±…ńč0¬Ľ$¨Z;L7î~ŢcśZó7řĎmč´ęĄÁ©>f~"â\ţžö>uţž…Oľű{żßě»˙ď~ř¶/߈`Ń4Ú}qń ĐEÇf�ŃA䦂Ť �‚:-÷€lęDtž!-čµä>@˙hĽă0î™gž)¬%~g㤍�é’⣳ą'=�uŔ7 üu€ęWŽŮ™łg\:ĺy=°Żo�×w]í›]WµÉÖ†=yô)ű‹Óe/Ź^¶Ć `wśľÓ®±Ý»öŰŢ]»mߡ¶{ďŠmol§Ž-• H"ÚŘ‘_ęBŔź6<L €­€žn”kOjĐl$!Nî§Žu2„ň2‘ ('^î×is®K PŔ­TäJ .öF©ëhĽqt©guÍ©p‚X^ä pY®ÉőĺäC{9|Ú†ľE9Č·&ąg Ň—»Ź˙ôźţSĘçĎüĚĎŘ?řÁtŻÔRäîARA¤ŮôUĎęC|Ó·ČłHšŚ�{©#m2I›ö NÉ�´Ô6D^ŕoň)Ň ŕ·Č$±?Dš2…\”ČŤä5ilSčĄ:Â7qR§Ô-yäűĆoLßý@9¨;îÓf›>%rBě‹€ö´#é©ô'Ű2ńÜďţîď¦gó7łôOę™ňŞ®Uä/şzĐ\pňäi{ćiúO3ćn˝Â^ŕ~»xć¸Ů_üľŤú­&vú†{lĺö÷ŰöÁë¬ZYłŰoĽŐ9N}Ő9ܡ^¸xŢŽľř’ť?{Î8ąĂwřŞĂvđĐa[Y]N ${Ť1ż1¨ľôňKvŞ™®şşąľ¸l'Oś·őí‹É¨D]Ń|äţ‚±Ä"’Źč{ÔíFUy©cĘ+e •—:Ô!7-<Oýk®“ň‚Ć4}“´UoJ—ô¨cž}đÁS_ĹwsőÝ=±ćs÷?ĺ Hä*ňB$^ú }€ńI"gIŃgÉý€8ŁUc@ďňCź¦k~Źä!ú y¤ŽęŠ*IĚAóš[ą&_l2€Ĺ±'w?<ËĽvúŐÇlĎî]s‚Ĺ;(Ľ“ę(Ţ8.Ţ(D9Ţy‡y‡ďe›ę7şNčŻŰwšăÁ⏾`˙.,"XGÖ?’aw€ľę€¨şw2‘K'4¨×<Ý8ŹJŤAó·�?%ßş0ŚĆ‘dü�´šşj çĘňj»¶˛îB ˘_'ŞHÓ©Ű ¤ä ˛Ź3Ȣ÷$F™P˘2ʵB»'jÁ*ÓUÖţş×ę¶ĽîRdˇ´ęµ Ç­ái÷~’–ß´–’ Éýşe›0‰µű#žu5@6  "-1dÜékPTű”Ć!¨ :Ż=ť€·hŠkł>±6’)ôw—Ým̬ôW[pw,wש.sżQ|É•ËtlNÖ¦±ę"ß·ľq±(`Ę'ql'}Z@Ú:ĆFą1đľ3L„7¬Ť2ˇfZě#}8ŽW­őť2-kďdz˙iÁÓ'8YzOŕo—xő-U�ąęńzśtNĎ{î¨÷c~cŤ-é[ö5r™ňIÝłNèۛ—řLfÓKNć×ĺdzۦú<ţ‰ŠżŘ�ęLňČí–ć·évé“ä!¦ďöW´`.qŐ„ŤNýČM…ú˝)ZR—ěQ¸młÖŕ,;‡úő&"ŠúZ$1‰€/y˙!öţćŁvŃoq|*.Ĺ!‰!ęv`ťřFĄŤÔţIů‡{jWPbÝrÇd*·+ÖY“'ŇŃ@uŁ÷H&Bhfíř`<_Ľ¸^ě"ĚwÚo·ÄŞvÎá@”}Ü-ĺfq˙ˇ÷…» Z-ö2Ąź\ĘTU÷ťfRuÉ;U)^™Ďâ<ÖÚ±űri+ňźÇ€?;*{QőCŐm|wÇ:Ť×űk©÷čwĚy}bfźLź×ܨrEIꤷ eĺť`‘ SwHulŢ)Ď*'‡Í\–ÚhúáB"�Í’­¦׋K>OëD¨@™1χ–Z]]łĄ]�?ŢwÇŮ˝ÔŔâňőťžµÇŻ˙›ç‹wXx;ěó0ó0—Kčż÷őîć=vřđˇoűü̯͑Řă{ě±´^Âf/ĽŻźîNń˝Ů{‘{Ŕ›5/W˙ŕ÷wD GŤźC©ďyĎ{ҡTą{˙ŰĆMŢ9¬ Ö>Ánafě ď8~·l¦C¨¬Ý¨sęĄ_—Íßs‚Ĺ×ţÎŹ>úč}�‚lĆ�˛č€rË,6? đ Ŕ1¤@Đ_„s?`:đx†¸ŮŃ9řÖF“N#rÔ xV §Ô)´x /°l›ĽžĆ˝ÄŃWÝuĂĐ™˙Íśbű×öÚŢfá<B*˙Â1{čÄ7í™Í§l}׆Ý>ľĂî<t»Ý±˙N}úô);}ö”m®Źm}k#rH0 ZşäS‘0˘A ‘:J>`›ß( D@TĐ’ő—Ľńń,m�HĎł·ÜrKú[u ÄH)†žŤîF¤ś!đV‚äťôuŇś6@ˇMčwÜ‘ĘÝź(¸"0Á�^ €ž ~Xa”MÄąsˇ Ą¦Ŕó€ÄbÖ“úá·ľő­”ź_ýŐ_M„ ¦ÔĆ]!.đ z%mň)Wę‡Ô5ń2éq]®1čS"yPü͇öŕ^jôb -€[ę9n®¸—z&˝¤śBŰÜ šrÓÜŹQŠß) ÷‰¨O<p/iBŠ‘†ţÂ.„6ďÄE”ňu˘t٬\B¨/Ü~űíŰ«~Ą~ńÍo~3ů¤ýÓ?ýÓ)]ę1¦+E ú*rĎk ?ČmĂkÇšľĐŚŞ;šľ˛Ľ¶jé<Sc˝p¦ĺ{Ü.|ó~[|â«/ś7śćž˝ő¶včZ»öÇή8xŘ+M7ĆcŢëç/ÚK/Ľü_}ÍUVOÍfk3ťtŘÝl°÷  Óüűř«Ç›ű.Ú5×^gL~’˝Ž·›>˛U\ÄČĄń)âB4 Ч(/m,Uú–ÚVíËýri‚úÓ‰.ę™gD\Şs#éjq jô źűÜçR=˙ČŹüH1rź\Ó0ä«‹9€ĹŠ uJWýQ¤ ž'”§o¸!P2«?r/y&]‘¸—8™?¤˘#eŤű.}ŠţÇ;AĎČe;Ľţ¨cĘFş<'_prÁÂďŹ~ýłMXž,ŢAáí&XÄĹ}<ÓkAK'�çaćaľ—!-ŚvŘ$_2g˝‘±C‹ßúÝĎt€ mä•–TmÚY‰ˇÎj 6í€îJ;ťÂ.dŕy»ĽŻ»§oŁ×:Żťű~E'ů3- ¤=\Ξ5ďw”�¨ÝGě°čę#Ă…—/–{f­{ş€§�ČJEĂÓw0ŞN@‹żDę´|[÷ÔŤ“H<ŽŞr˘ <ßWl�¤meëGeć'f–ĽŽŇ9Ý®‹ ŻWËdŤVéQqśîťt€4?ťłžżV“GűŽóş‰`X—„SĄri )µE©W( o·Á%€^Ě_t#YĂMë7âIóFwOöĚ.é©m¬ ,kÍ> J¤=ŹěżĘD»'ůQÁ‰‹Í}+ůŮ*ťnWün¨ŰĚ�µ¦ €ÖłŠ_÷Çş!(ßqĚJ]Žôä*ĆűpŰ'$_Č}ĎJ_Ź`yKÖđű wććt| h¦O´mčäW [gî’űEîgź]¶c4źęé ¬©;dĆÉ`xÉž‡4âÜŮ7ÖŞu M!öôśÍRů(ć1=Mę¤"›ĐOýoWąEÔś—”jjÍiîRŁ”µjÁüv˙‚놉E× Ş[ęu=»[é<íĂk=Ć7î2h©Ś.Ť'-yH}<–_u¦}S;fé7]âTş‡6Ş[ącÖŕĽ&Ăa'ďj[2*Ŕ:–;®â×\Ű5’{˘ŤPď®a/˝>a%©¨¬_(íĹľ—ŹĆVÚ+äkÜ+’ÁU*K»˘ľYţťTi¦ÖŞľTć]¶éŁĹ¶żŐ—ŞřÄ˝˘lnúíŤVk˛§2¬U¬!ÖE$±¨ß«Ý”®úD<ôˇ"ěżŮóľŐu'|ŢťŮN$ďÓ´oVú‘ĽŁţšO´ă´Ňü^™”xʻ¤řäë\ݨß,Ś\ ň "îBi;íÓ¶Ç›™ęsÇâŇB4©uÂsűü8­w/âăÖ3~íçnś,Ţaáí°ĚĂ<ĚĂ<\NAkřŢç˝´oß^«ëv]¬ď¸>í´Öa­/·óŕš}l$’‰űkÂťâmçëiQTç7đ�Ţשb(¨,:÷VR¸ţĚg>“p“ýŃ-năž3’>cü;ĺ[u*z0ÖqÂăz*ć˝wżîűĘä]x { WśZ×7éÎ ;\ű;#Xü›óoîéPŤŽGç�śj7BÎVHÎżÓ°’pŮpŤŽĚ}�Ŕů`ÓQtšYBŔ#ť'0w>:/ťV`ş\+H"…Ź6ëëv˘ą÷ÜůłŤq¤É×ţÍő¶Ţ�§§Nľnç/žlţ=±ł§íŐ•ăöôŇÓ¶»Zµ{Vď¶Źů¸í_Ýďrt,şŁÚúV’=fÇOž°Ń Ý´zRW”I@u#ŕťëä‹!„ \ă>ĘÎAOĘĚ$ÁAn6xB ő™äNł› ę—{hňEŰ6îRµ`˘°Iľ!@DiEĄK=“®ń’.ń*]“ }řČDŘU�żÄA‘WĘÇ3”ź¶…|! äő†űďż?ą< î�ü9‘ȬteĚ!~&xMd\‹î"äR€ó;÷Qâí«Pw|d0Š’D"Äh#K?„`Á=Ôש7 ű .žĄěÔ?A q4¦I±ÂżI…˛Č‰€k⢍ńĺ/Ć}©éW"—¤1J^Čż)âć9ęZ®\ş!í"Gš 2ôÁżüËżLy… ŰODň"@ť“.›u~#Ýx’Im¦1ě'•šňâăĘ#¶Ś!¸Ż 9Ýuúô‹/5ců¸M.žµO<`ĂŁŹŘVŐlšO7őz iÇźřǶĎ^›ěÚkŻŻOl´´h×\wcÓ.WN­7iť<}ĆN­÷MşµźšŘÓôż+ŻąĆvŻěJr¶rmV”yh×öTSWm…oĘ*’‹ ú©Ú‹1A˙$.©žđ;u"E›ö¤š—™¸č_ęŻŃ@Mťę” cUĎţóilýÜĎý\jGâ§mh_Ňä>ą¦iB*qa"×&r Ą—µňËXA‹řE ˇOKI‡:Đ\ĂGdĺU˙ŹĚMą…ŇűD Ň–šőŔ‡rÄ9S.Łbş"É/ĆęWďűc[]Yš,ŢAáí4ĽXĘ­ÜóbúĚĂ<ĚĂ<|?‚ű”ß.﫝�Ś7#UİÁBó§â!ÔłŞřŽ'ý(Ny]`n Ŕ;°2 äŕϤ�8í:eX@ey{™' ¤°çä첢ĘD sĄ HĽÓ4–—w•ř!$˛±«ph,‘ĘCŚßŐ†éÄń¬ZwŔz•ŐÉÖ«}Mâ€[$>(´®VÔŰć®?¶?úQzź¸âŔ°Cäk &-±Ăăňz,k¦zŕ÷Y¦Ó–Ř—ŁTnęÎ×çľ/�d§~äÚĂËčŕqŰçśDÂ=*»ÖŤE#X¬şĐ:1JT§ŃP xŞĹ!Ă“ÚAéwIFŃ×mUĆ‹ďÉťŕŕŔ›“%R?SYę3qĎ'×8ŐÜJî»*őGű¬/-­fŽ÷9ÉĚŞĽRśÔľIŠ*żĘËŁq×7’¶÷3‘qĽĎËÝŽ?;)Ä‹®qÎĘZV€µö-2Ĺ~Łö•rŠŹéi‡˘4űÁFr\ Ş|r?°Éµ…“é"É [€Rő5mć¦á`Đ#XÇUK|&’Ľbߍu®~–âOD‡Ai ůKާňI;ä—˝~]®\~Ä¸Ý Ç$Íłľ‡Š.=Z7I<«ű‡Ł–\ł±q1©2x»890ź~ín>ŞÎ‰2>XGIx—ČFçuÓU‰}H}Eď"öGĂĽG/ëpúý «‚ˇČ…0 ą`ć{ŞAUć&Ţ;šOrEć:í’e4oz<®0]ËŠ<Ńî'k;ÁÉRđáY'U ˛aIA…礊ŰËóńWÝ÷mzä1¤:Hý~`•›~żŚzµI$µńwÉsŞH”‡Ęř¸ÚGW}J{>ą­osˇŞo׍ę·QMĄ}v–ć§8Źkţ‹ ĘS$ĎezJ›î  łNţmÖ% Ť|^śĚš¦N*4(0Ę%.@›űQ¸pŇ„“Ź †~—‰śz_{Ýxß™¦ř˝îÚµ<W°x†9Ábćaćá; qť'RŞurxŚ{¸ţżu�[*_Ä]ŚwÖ„;úqĆżEÜ h]!ňÖ!}bB=˛SüZ[°6CxôŃGÓođĎHrďç{§Ľ÷ó«ř…eh=GţŁKĹ·˛ŘÉfŁwër°ĺ7şéďoŢűŢ÷Î ;\ű;#X<řŕ÷ ü¤i(�RüŰd‰đ@ç”ä:ŕ`5N ˘ '|člt:˛NBÔHź%6>Ň#^ůĂá7N_VJU\éJ‘Mŕä¬YD:Ô€ÚGŮ?Iż±qß¶WŹżl_>űM{ňÔăvq߆]»uŤÝ6ąŐ®»ę:Ű·Ö,¨WÓ"öúx}Ó^=ůz"k¬5i9x8ĄO^ä˘|RW�<Ła‰ş§ĚÚđMÝ�¶ŞĽ&@ʨM]P ´€{IW䞇CÝhÓĄtE ŕ^ęšş#])=Híë¤A?ŕo)8°Őé ĘFÄËo�Ë"9¨i›Ż~ő«i2PM»B®ŕ~ęI¬7®S/ÜO;#Űs×]wĄĽsM¤)5Hi4¶Łl(ůˇŹ<ČĐCyĄŠ˘S÷štx) őAŮô‘Yýťt!`µÚ]“ ő$5M¬Ô!ĎoÜÔ“OI ‘7ĘBÝSVµ/ý™ghsĘÄojc•W.SH“çuŠřHWu]÷H@ăSD'>Ü'ąMâýÂľęčCú}ŕ(/Vú iŠ<$ą¶!m˝ <C:"v,dN5r˙Ô‹M^’[™•]Íß›vćěůäy˙ľ5;xĹ~[ٵfçOżn§žxÄÎť=eK_˙¬m]Ľ`Óó§­n đÓ[ŢgG®˝ŮvßzŹ-îÝg+W°ýz:p’Ô±ŁvňÄÉtJCĆ5¤të{ÖöŮRł‘ŢŢâ%ćc,şŻ  ”OD©rčĺF}ŃDšĆĚ›z!j!Ŕß´ Ď’–HR<OÝiN }ISă€>C=ôPşďgög‹;™¸Ŕ`ţPż /ŠŔE”®ž‘2y‚ASFINËךČDüĆűAdŤ8ωŔŁ|jN„Ň%OÔ)s qk|F˛’Ś?2ŕúµHq"… ƉNş©m¸÷ŧ´µŐ•9ÁâŢ íUď¸ /Ŕ\íÎ$˘yűÎĂ<ĚĂŰ�ľx_C¸ŕŐN†„ťźw‚Ĺ˙ôżýŮ%Ŕ+ˇ Ş…|Z€ĎÄt‚ĹĚeŐĄxĐž*™«8Xç´mĚ“żç;`ŹT$ú'ť}ý;H'P'Ůő…Ţ·�öjţź&Â<ďč••ŐBF°ě·ÝÁ•VrÝ%će,ŃÉl—ŻóIđxťŕ¤‚AGźfr®N«.ëD¦đő¬ç €CŐe$śx™ HďőŞĎíűN€˘» q ΔęŇ6ŃŔ$ |>ZWŞ^ônC„µ›Ô,‘e0Čů÷úŰi]Ł=<éW•ĺşië!‚yq˝Ô'ëDނք:Uű“®ÇÓęŐ>ZkN&Ů}Ç€?dľ•~ŚßŰj’d˙=­IQz𺇤|ˇY‡žĎĺô5ŕÂÂr¬i'NSĎę:Ź™6oýrËÝŘEC¬ĂhŚ‹÷--yŢ4&ęZd‘\Bżö>LŰÇöT~Ľ˙VAEĆ N˛ťőÉ2ÚżEĺH2‰ý]és]v ĘÍŢ7şíŚĘÖÝJŰFS"Ó–0ăQ=ć3ĺ1 "Ř­üëŮ2.Ć[©~b<]Č*Ú4.% Yg̦1^%ô>¸µ+üÔ^·L éů*’µf]9Ö© Űc'ŢQŹr™ęŻöľľ=Ůr›Vč+LŹ}‹ňÄ‚±_"‘_m]Q¶aŐžěW2ń’Bťě\–Y®ŁÖLűN麢iűĺB®ÓŞŰÁ%†f~“*Î%()@ŚŇA¦ŘX×ˡ1ŞľáůŞÁ˘rź(>ľňHý'«0Ţ!‘ÔÖ'aô˸3Ń öĂî¸÷wŠ~ď»öcOĺRüşOuçŰ8Ż´$†¶műsŹ”Tt�F{g•1ąXÍ5#"R,ŁňŰ7͙Ö(%%OŰ:ďĚTެvˇ1Ů´’%rM“·¤VI(EP)‚äöH'3MŐw©·¤|%… W̨rű’P"đ»/ód›ýŕl{î"äŢ{Á<ĚĂ<ĚĂĺúëá´^ŃąŻ]#Ě:ëŮ᱿°f”˛D$9Ç}Fź” "cFâ®` ¬w±ńGő‡Ö?¸ä Šň ¸‘ąu0ěéľűîł»ďľŰ>ń‰OX{�äÍóëEĺhIËž8‡pUĚŽ{c}úkg? ©é!«ět�;Ć›±ĄË‚`1˛Ë$°ů€LÁF„NG¤C"?ĎĐMŚpNLÓůjŠÉŐĎ< Lä#Yâ‘;’Ü�¶Ľëô5 ŕ8łpfpđ<iňAoâ,†ŚŔł‹K‹éT ‹kü,âăseaŃÎŽĎ۱SŻÚŁŻ?dŹ·C«í޵ŰÍ{n¶­ ¶u~ËŽž9fUł^Ű˝«‰w\CG]i‡Ź.F&�P[ŕ>ąR‘űmn¸".0@Úrż€ięś2ɇ‘@Qę�\ŕ(+ąVhŔDmÜhŐˇÔ<¨_Ú •|IuCőL{‰0Á7ů!ŻÔ1u­ ”çřť¶ĄmHWYîJ(3m˘Nz´­ÚKD�p)Âőn¸!ĺ™8)ĺűä'?i·Ţzk91/¸®rĂ'a©~č´őĆO0uF}@ nDî« Ň׆žg%ŮU&´)Ąn•÷Hm<ó!o¤Kś”™±'Ő 4FřÖé~úŽ^v’˛$=&]Ő1qëőM’Íäš”Q¸\D))}Hy6~řá‡Óďţđ‡“:I4$Ş|Ş[‚ű}¶B ®ţ+E)8,/-'cŇFSĎ7cpcô:uúhŞwvá{Đsm­ąoךŐÍĆvď‘«ÓCÇŮ}žţĆ6>}Âżö´m5c÷ü“_ł×ď˙Ś-ľÚŢr§Ő×ÜbŁýWŮÉó§lscŰ^qÄ>Ôäi1Ąµ‘ÜŃđi€ůSÇš˛_HF,µeřÖ8ăFĘ,ôꡜÚĘÄ$枣Ť¨1č#\ç9â9†ş!]ŐĄ¤‹2Ě“O>™âf‘ŔřŇ\!#&ůqAD*)ĎHíAs‚Nj1î)#i3ćE�‰Şz'¨|ÉWzínLÄŘÔBŰÓ?(3żKaB}š |JGjIôGÍ)<Gý@&ây÷“™ŁRf±rÉń‘/‘¤¤h1?Śagr…@úŃž=»/ń ?ó0óđvN'C?wÎ ă~z~ˇ:FPěÍBÜp˸ŕ–6uŚť_�@Đ� CËD:(Ń͇ˣgŕ!ý\e€ˇu›—¤Ô'Ó|¦%łE`Y'_}ťě{{p•tÂ9ţ"3d ĂŇ’»Ř@~”Ö+‹đ—"„Ü4°ń42`VNîO3‘b!Ľ0f8ÉD@LޤČáĎc{äňŽÓ‡»cŤ“ŠG™1Ëjă¦M'Üńô…"U7°´nJ°wÄÚžÖ0ô ·‘L˛{€Öp3H§śůPĘśö]X\°Ĺ…ĺpRz`"ł¨ďČ%J][&L i;†˘<˝ö>}€0ŢŁ=aŚG$‹ÔG@±oÜrIůY!¤~ž `‰4+rE3(púŮŐ Kůx_ÝŢv|N»RÂ0ӓܶěňoŮŐP(;)ű±xjOHŰ—Şí“ ˘!1Ş�8ŕ<I}Ďű樨˛H‘Â÷ˇ:Ő?Éu㲶ţiÓiKHńşÝîÔżNII CÚh�Ŕ­¶‹ p´đaÝ/{ÖëĹŻąD߀ÝýöWľ”Oĺ=ş»Qşę_ÔKëęŁ%ýŕŠGń©¬�µĂÁ°ŽÇ¶jçÖa4çdü,Ť™ŕöŁiÖQĺv„¤ rD–�j·óRUć›!ni–—Š{\?¸�A}ĄU<¬.•Eކ[‰{W#“kőɨ&ăůďú‡î :tęĆëÔűjrŐS ř™¬Ę¤©ghž!üvŰʰ36"Gc\§Ą:"ÜńÄxž“¨ę@}U¤�ć]Í#ž‡L6.d2žĆé$űr!šęľÎíWű{&Ö—ß“ŘÖ’ô¬3˙Ĺ÷˛ć…ťČJ‘ű ę­O2ęŞ µD/Őüů.A2ôÉ_TçÜhŢ"č1ď±N‰j*HO±ś1ŹSk]¸×2ń}Â(Š;ć׉܅řÁ´Ĺ]»“꨿ŰgYť*Ď™p­jźźÓ{Âę2năa‡»Ň‘H6NdŚdÂy‡y‡y‡Ě őAü;®5ú6…¸ţ„j>ŘÝů-Úëăž0®SúyA돸ľg˝­źµ‡ÔĎuoďŮĎ»ĘŘ_whŻňÜsĎŮ—ľôĄtpűă˙x‰?ćűŤňëDé) á»ŕ`°Â<ű“~=íT7ýuźöTÂl nP÷Â÷ŢJŢĂeC° Ń˛ßrË-‰DA˘>€Ë€Q6ĘlúXTÓŕ�˙€q <®‚1HčrĂ  "€‚űő›@|îŐŔ�X#>`:€ťFĆFą%Ëůýä)`ňâúFJçĚŃ“†Wżz4µ'«§ěŮóĎŮéĹvçÂ{쫲›®ĽľÉçbZśŹ·6`ř”mŔôÓMYŇ& ŮXľâ@ÚŤ·Ç¶6FęHl.ŔDŇä#7!R, Ľ�Ź”_Ę"§°‘qA.%D¦ŕyoÜ8É %˙‘"0H!CD~¨Éóń„=ßÜOžH“¶#ßIjŃd(UĘ —é:)/ß«äRik2Ö„Ćd!† ďńÇO‘PţčO¤¤Ë5)Oí]ݏŔ‡˛�đ“?Ôtú#Ű|SWń”‡Ü\čŁILŕ3ńÉĺ…�cI)¦>×ôÚťç´­ÔBHSJňĎ$ŐŤM´< .ŕžřH[ŕ2ýDő/5 &w䊇<K€$Vȇ@čřr˘óMŰᎄxP‘2ŚňăĆ*ńŇv”Y~¨č·b%Ęu u)×9)ŹŮ2˙Ţß<Îś?kë붲 ÓJĚŔ×’tęŇĘrň‡ĽĽkٶ66ídĂ×صw˝ßöďú‡¶yáśMźÂ6źÄνzÔN˙éoŰ™ĺörýM¶ŃTíŇŐ×Řđö{m0Ű۱vŮîĹ‘íN„KŹńŃÍtŇb÷ÚžÔĆô-Ę+ĺęŠßŐ×!™Eę™kšł\†k’Ę+% µ'őN}0h;ú5iđפ^˘qC{<řŕ)”DŁĺ„í ×8ä‡<Đž|D cN!/<G /ЍD;ČĺŚä­$yL|”ťg)ł§\c¬É8Ł>Ç7 )­P¶Č‚%Ż”™@f|DŐVdÄ!ŹRÓ!R¨ÁGŞŚĘŤ^ÄóŇÓsŁÉsĐűŚ ĺŠĺeTdÖĘř‡y‡yř» {ö¬Ą˝Ć™3ľn' Ţ ąBkćţ)|5!eU?NX;±Á%Ř%ąž pH ůlZ�¸ş˛€€o?Őęj.íŢȸ×UZđT.ĽlS“{wER§Ľy¬¤Sçd·'†Ó§éDnKfđő{÷$ŠKÔµeEŽx˘¦.ů7‹§ŽŰż(_¸F]â÷ÓîËp±c0JłrżE-#ů t2…ŔëşöĂ%"™ äŠâźšÜG$ ˛e†ĄÎŽuŇfk{Ă–—ĆÉŠÚ¨ j!Šż.§BŰ“âĘăp8ě€|~_«Ő7Đ)D0·-oÝQ¸SŽ÷čZt#ŕn3† ÔM}3vęÔGş[ŤĎş¸őä EGSu÷iW)ą¨Ď r6jěĂTű>†űvË^‘�óg:™ť@ŕč:ˇ­·čąOňúNHđ׺}‰„‘wÚ9A„ŃIY‹«˙h\Čn0⛆îévĹĄ|őO˝E’M$ôúhą^*x­b‰öř¤9č�ÍŞ›ażm«qÉ›ŔÚhTŤsß8ťx—rÇKË»’«¤a'ž˙fn¶ó¦"†–»çřK-}’2…ĺ1l:5í@ň “ŔęÜďůĐĎÓDJý¶,¤ţJ;�.o{jµo’MI¤v•µď–"…˝=»>ž5gÄąJcKń$5‘IK˘JórŐ5|;"JIçáWeUŽzVŇk]6ů ryă= 㤠dąFjű‰ě …`ĐäY‡W¤K\ŚYp’ͬ•ťÎă±Ě¤2q�ő— pmť<QI˝€ye:î¸öő®ń úŹdťť âqî‹DŚH„ŠHډn‡"é)ŽmżŢý=’=4¶dß‘mWu˝¸¸\öčJ;ľK#ILˇ?¶+źŘň<c…\XNµN¦ĹÍ’ŻĽđÎňô›´“bŤą ÖDĂP§UK4­ň{9ŤÍj–Ć®çĎÝ„$%¨Údž“Ňä6dćaćaćá7t×-ľ%BC´ĵ ÖĐÚ;Hąډµ”ĽÄ}öN`\gě¤Î µ«o€Fu¬ţš)î=vú(naQ`,`Ž`·ß~{Âp„-÷óß'ËŞî"™Cká |S¬‹Č»ÖA‘HŇŻ#…~ÝÄďi&šJ5]‡ÄU/1ľťÖ^?čá˛!XĐI¤z E6@ Ćť|ěÁ©©Đřü͇Ĺy$H>E ÷łIÔŕŐf‘Ĺ=t(â`O~¤Ü SËü¶™N o$@ �NŔňž={mskĂŽÉž8ú”=[?mÇWOŘţíývÇěn»˝şÝ®ÜełÉ^L›dé“ĆXÂĆqqˇGWö6q¬ÚŁăöÔNž:ÝÔÇ[^Y.uA™¤Ň�¨'đźň0Y0€ČäO›"©Äe^$ŁĎoIʬµ™ ä˛zbR$}ĘLýŞĚň*6ik°‘?µ/A†1D~‘Ë Ć‘@ źűĄ| “ăzE2 Ś€µ<GyäR„gé7üFţ¸—żo¸á†ô ż}ĺ+_I¤€\H�´+€?ńAäq˛*]µ jő-•WäąQ˙ŕĺY•™ç(/ż“ąˇŹĘ`$2 A@7¤Ć€ ?JW*”Cnč”Y®[Dná©„¨ľČ—Ňĺ9®Ë߬3Č'/(µ;uEߣÄ)°šëäť±ĚsäŹßąďk_űZz!ŃľýčGShrŹę"[qŤ<ŇU×:AB´ĄH0R~ˇÎx~ą1ţ®¬®$ Fü§ž8y"ÉŚľë]×6}qŐOŕllÚú憝{ýdÚ/,ŽŇŘŢl~żâĐwŃŚăµ+]sm}č“¶üň3¶ůÜŁváŮ盾qĘ'šyăŮŻŰ™gµéľ˝¶rË{lpݶÚ�‹»÷ÚkÍX>ż~ŃŐtšxâÜBűČ— Ɖ\itúťş ż@‚‘ęŽęL~ËřČxA\´DJ“AHR¨Ě5¸!ľ÷ż˙ýIńD$ÚIî’cIź âýDrU"ÔôB9č«" ŃĆ’XŐA„ž—ëÍ!"1ţTŇ!˙¤ÁżEŢŁTóżČRäI®¦47ɸCÝÓĆ"M„§yGîMDjáĘLürG2Ť.«…Ç<|gA› ­9ÖÖöĚÉó0óđŽ ¬“� DÔŚ`Ë·{‡ůfÝŔť ®ŚĐJÝ: żµ'Šý$§%ŕzVĎBÜ é¤çpŐ˛+ iU5ˤ ąŤ‘B'E @ĘľŐ“Ű ůą„ôµD”,üÄň¬Yßěę€ĹŚłěÎĂÝhLĂI婵JíIj$�{Ü˝Ř ‘{ă‰ëVQ¤Ę@§ďq%goĹĹÂ$×O&š$ÖĘusąż%~HľÜÁ.ś‚µŔkßo­5˙;Ęş <u�ieŕqęëć´¦Şó>`Đ‹Snc,źě—âD×°$…ëůx’ąoĽSy´¶Ś!ĹúľáHĺSŔ w›âřĆűvŞň*‘…č3IýgšO-űÉ{ď7K‹ËIn^y. Sň€* y&ÜĐ? g&"°eCšH ăI[gÖ‚Ž%ĎáĐBtQˇż˝îZ·ńąííͬP1-ýĆUer[ÎJ˙!8p-5—Ş€ÎNÂXLĺPÜ‘(ˇöЇ+b{F#lߨö“ŰŽč“Ř÷ë ·:·Ńmfé3˝ţ®řَxź‹dŠč^A„v©ëµ@łą ’ş5@‹ôá÷¸űČT¶B6šd—“$5$«„ 2­äZ¸§ ´ő“ő®j!×CzXÜ ¤2Ő®Ü]ÖĄ<%’ĹjjWę.[‚G­ĆF_Í`' >Ž­ÔkŽ*ńÖ˝S~Žd_BÎ Ď•‰ŞBÓ<+U'’µ$¤”çâ†Hŕ·Ú{ÚQ"QE6‘Ś´Ţ%äMîe¨?ć>”|HW62íĹŐ7 ż”y%e'÷ŻäţEJ8µ«•$Ĺ„¦µęIúŁń?ľŁ#ÁBőçÂ*ÔˇúµĆ@$I\ňŢmí¦j˙¸×‰ń‹ Öźs4†#hˇgĄé‹qi~Ó§HęIy™LSŞď¨?Ćň Ş.ń$9r3“Ňhě­ ‹®H,‚NQxŇ»Ó2éĄĘ¤î«ňśGąň{vÚĽs§cW”ˇ2ąŠ…ě4Ë.BňŘ]\ĽlLűó0ó0óđCâ:=’j!Ť×őěr‚ČŽě±ëó®Ç†ŻĂĘ­ÂcWI­OŞdH®Pü:¤.nńPşâ‹ë~…¸ĆďÇ O?ýt:¨ö#?ň#[Ťk–>$¦ë“CT0=â›éŰ’µv‹kťťČ'1~ĄĎš4¤ęˇşď“3TO}űŔĺ.›U "@•dŘČ °ŐB›SÓ�x4:€ö7ľńŤ"łÍ} Â~ç«N¨Ćß ^Ň!]žçwIČ3ŕH €Lj Ú\¦{šç’6ÁMZ+‰ąľě ÷Ę iÖĎŰS[ĎÚ#»µŤę˘Ý˛t}xďG4ÚĄ/Ź=fg–O§<łL?{öL:=đŕáf@°Ő]ËiS…rľ‘ÉŕťE€¬XL"€¨Ě€ü’Ô§NEfńt­¨0ČŐő ×bŹs ´�XŔy>š”PiĘG<\÷Ó7ăľ LçwňpK�Ľü¦SúňÉĚ/)vŠ4B{i2&-â"NęŚ|«|ä‰ü|öłźMîp;ńS?őS)Nâ#4q#ňÍo~3ĹE}ă6„8ĺšFJÚ4Ëg)÷ĐGh'ąKar˘î䦅˛ ¸@9bčKmŔV§”Źv–ę€6—"!ń!=úăG`şH ŞSâeśÉ]„úéĎ(›y[ŐM¬|S–Hv _ô)ż#R ećwžU9P“.u®qúŐŻ~5=Űm·Ůťwޙȭg±ŃgřD8!Ä©tyF IŇ —*‡Ć1Ďśš¸1ÔűőF2^yĺUvđŠéôSIŐ€ řO<{欝füť<‘6ÂlŚ!_$EŹĆ˛1†23ţ®¸ŇÎΚ—čęUvxµy95FďÉKOÚYęůůÇmăŃŻ[uđ*;·Říozżťšş>täj[Ěľ˛!x$;ëë‰\őzÓŹ·7Ç~‚g·6G›9b·íŢł»I%mä‘ÜvżĚC»ňČM;n6őM]7źłçNuťJ˘ťEÖ{úŚH<ڧ'žx"ąjˇ@ŢŃK]ă;ZÔ&Ë"GЦ2Ühî˘-H—ľ#·8Ó Í)%¤ˇń$ĐA'‰”'ÉfinÓa|wúJL[F}Ô/Őç5ŽŁ;hSĚŻQ1Fă2ťV[Z*J/óđĂâBW cú §ˇćaćaŢ)y 9x­ÁµÎ~+ _[ŚĘ˝qă­ĚÓâ ź˘.8É<�‰­¬{ť jčč4ň ‘^“ÁŁhÉWL.9IyÁ ňÚ=Ü]ˇ€“2>Č€ákČ M=I}Čeęʉn�áTë —ĹOĄ., 3ᢳôw—ś pv9«I�Ń>ăDćĂěšŕuÖ#L AE÷sy0 ż.§jýš@đ¶Ý…ěIüćů¨r˝GŕĚŰ­ăFÉ·|:ő;'—+Ȭ;Đ>Ę`¨Ü#ŽSů[.�ęzňÔÖQź$ŤE "¨(¨|ră˝]9űAY›zr=ओ efUŠĘó^eZÜÖLÜEŕrťă¬ěDŁÍäFĄT„žt uľ>EYp!Ý»˝˝•É×}ŔźÎ\†ŇÔcRUÜRyż¨ü|Ű­vÇ“N’Úwá4ő‘T7µe@ŃÇ«ú,Ë~)0¶Çă:f…,BśďPµ?ő=ĽČŤĆĚľ5u]í¤ü·ĆŰq§meŘd\jŻÎß»wŻĄqÇGKš–ąJéTł şO¶mskZHě ĂQqG)U>h‰}sHKŃM•öp®FgZyďĘĂ+Hu •u]sT©OúX™LÝ˝RTűhI.yţxý&ŇĎ� @§,.f€Ŕ™¨Ą±&Ŕ[$y)Ć6jŐJşc©Oěq5–a&CŚŠ«©ue"ŚFĄ pż0Éý×f"ÔY™ĂçIdu!x ĂśTçľkĄ>ĽL …(FşŢG¶Ú¶Í}SĆwR¤Đ\’Z ÉËdÖÎ+©ţš:lö€“ĺiżr[#7ľ‘%0?Ů2Q¨ĘýSďĹiVŐ(jJýşeîó[«tä׬î*KD° –9’`úţhď+©ŻG˛†Č+YDt”K+o'ŃGĺ’›öPčÄ­T‡.ŚSý‰h!ÂLšăÂV[ďN˝‹’Ýcc˝Ó׼Żl™ ĂVµ+=cĂwKR‰kˇÖ퍿높»)ď±$?“É,ôťŮ´wčľZen‰¤öíÝĎĂ<ĚĂ<ĚĂ<ĽŁC\ę Űv5 řWÝŮđáÝ ö�†ťTú*}u‰ťB\łčoÖu` ¬ÁŔ…t8>*3(ż1î~‘TÓ`}÷­o}Ë^xá…th–C©`'­‚Ţ`Ǹߨ ‘Ř«tHCŔ1…Ĺö‰ýĽ÷ÓÄ ĹO�łćAü`.;ĹŻňě÷z¸l€Ňbi,:A%w›SĚ:‹k§ÔĄ?˙ůϧ“Ö�Ă$ľŇikC$P›Ž$7’ä—:CÉWň Ř|ÍFôČ•{€6J'ěâŮ3¶k÷«—+;vî{äěŁöňđ¨íŻŮÇ}Ěn=x‹\>ĐļĹ]é Dd#FşÔ…”H}”üü:`ŚaOęRNŕ´ż@MąR  Lü.0]¤¸I >&ľ5ą”$ź#H›¸¨ňÂŕ–B -Éě‹(ŁIQ~8E¨ŕoI˙K}€8u ź<ÉýőĂ7í�)@'Ő)»Xg<Gß!m®ßpĂ EEA`:×”6Ä eźüä'íÝď~wʧ 3:ŤO]HŠ8h#)+0ar‚źď¨ !wR‹ŕ9)Ađ‘ч|S>Ú¬ €•je¤ ~šp’ rw@޸Ź“â#ČĺKě[~úh;ĹA]S6Ť'‚=¸_*!´uĆK|.ĎKUßé/¸#Q{‘'~§ľ\‹¬ˇ$ş#.ňÎź˙ů꧞ň2˘ţŐź¨© x§ľO„©—@|‘8Čźúqh¬(.ćŤ(±©8T˙–_$›[›éôd†Ř6©Ľë';/Ŕ1sËxŰ®nňxĺ‘ĂÍ<ŃĄî|Źhň3=sÚ.>˙„úŰzö›}ö÷Q˘nŚéŻ=ň7¶uË=vŕžŮÚę~syěaSŽq’Ó>xř ­5sĚ`Č Ó vŞÉ+íµ¸´hk»Vm«é_'NO'ăŹ\y$ą9Á8°ÖĽ3×ö¬ĹÚ•¶’L§UE’/oę‚uH»Pw"L¨ťĄŇ ăIľ ÷Óg ÄO›1¸}ÓvüN“mF:ô?)˝ĐÖô[ÚLsŽ ą:™Bů Â8&Ł–Ú\iËŐő“ÜĆ4ýUň["=ń±„téßÔŹT2â‰ęHŞI}fę<üp„Tiqďn‰Vě2[Ź~OBdEĎĂ<ĚĂŰ� VWwĄwp<ńţVHŃĐç˝V‘ Î Ѭ€´€î&ÝÝD@ݡQćŃt"ŰOĂŽKš(YřÚŇă™L\é�ŕ¤5PÔáă§Q[`+úeÝRЇk~Z|ЬĽëëÓ'f*?Ş4üdży:=­|úÚ`l’®×úcŔŮĄp*xŇ!@)§­ \§őˇ“TŞD2‘GKhO”C¤X\–őQk\!"µZPŻ•µ‘c¤ŻÓ;N"!žQ@«jPĘ®|ĵµ”K¶hNŕ@ÁŇ⬩ĂÝĄŽä†"*8?0ł„Źŕg$HDăŹH˝QA¤ŠXîh¸“[Öśm_nÁÄDźL‚Hŕ]Ó®L[%ú_:8˛ŕkń¤Pą§­!Ä$˛Ď$»řČqO{'Ęő;$ ęJ{[­“!` v‘zëĚAĚÉŘע®đâm¦¸˘Ń.úî�¸Gj)ROŃËűЦ €ôú\HÄQżÉaf­+ž–Óq’Ť»ěQŰďţ‰x=Ąć§>UŢěoç…˛ż ţ¤Ş¨>/ĺ4ć2Jť§˝lV­+$Ęm4Ř”ő!îŹyI㉺¶VŐř-»ů¨3@śäö!Ţá Ú˘rţP j ‰p1Śj4Ó4†ĄVÁ|ŃÎMü“ş{°3%’Ď%@_d“qgÎס ą:eŹăýo©”Qß;±ţő·@úííi‡X "”úĆt– ¬%Ď@b°JŠ@­‚ňé łu&Ń h]×VwęR$ĐXg^ŇŘ×a%}|d‚ź×ĺ6ŠFežYtŃUqE ą‘ýQŠ RŤjjăÔáGu¨ţß'?”=GőPÝŞţő‰íë?Ú5ÔFú·ćR=« ôµoÉĂał%ĂEáYčç•…©˝´ę=RREŐÇݲ,'µÍ1roĹ3±MŇ~>–С‰Ř7”Ż‚Ú I´AV…!r2iÉDe ¤G̉,R«ŕ§L&©ÇąüEÍKd–Á|ď3ó0ó0?đˇo˙ÔżyĎŤFĂKî“§�đ އrýßë1|'ďJĺ?¶{0Ôđĺá;Ťo§řYď€Gýë_Oó˝÷Ţ›ľĺî» Zß)oRÉ?çC}ŁúůvůŤ·m�ޡĂÎŕgßMü?čá˛!Xřٱĺ6P `źoąy¸KĂ(ăφŤ 6{t:Tľüĺ/Ű>XĐ{ßűŢD^§ Ôa�ŔHź4tâ×ü.0–…0é&0ł‰ăşëŢ•�Môű:ě§÷_?Ú�đOŮ‹ö˛=·÷k–ţvăÂőöŃýµë^o«K«‰aż<Z(r•R>Qře0ÜcÁ/Wň?iB rÇp)€S6@?ą¨hŞSÜ”W$ ®łI–Ë�&ąR nŔFęR�rž'_\#í—^z©€©rgA;Šő/"ĺfň‘Űň$×ÄOź'ůˇĽ�§l˘¤ňŔ3*s{âf’&2ą: ¶9ľřĹ/ÚăŹ?žňĤÇď:eNß!€şÁÖ™Čüţ裏ړO>™H<ô ňF9écrW#Â×ů¨ĺľ  hőI>RŁ .?čÄ!°V,|ĘKß§Ě"Ńp-*u0~řôbcŚčäE”‡$ Ú´);őA˙\O ç;uMž(#Ä1ۤ#@[j+2€Ń^¤)&˘ŇřţÜç>—ňřKżôK©N¤ŞÁóÔť€vĘBžč‹r " ťţŁ´żr_Âß”E®]Ô'© Í9ôWĘ,őň.W*”OĘ6䍗™Ś$Ôůšé’?˝q´Ĺć»1Ŕ-®4/Ř•Ý6Ý˝ÇÎY3ţGÍ|sý]vő겝}ę[vüµŁvĹ_˙ˇŮ#÷۱?űm;vÍíf÷üŐÍĽq®©Ź+]iW]}•-./$÷ľ}ŇI™ŤőŤćŮăö≗ŇF~ŇäĄÁFŇ)̅űŤŞĆ88•“’xĄ,ôţf,kA#ĺÚűoţćoŇxúŃýŃTGę+R¸ŕĘL]P÷RY‘ÁVF ę]n¸'hî“ qńé¨o«®EśˇŽąG†Ö8–4öĄ4!CźN¬1®hOQŚé8?‘G~§~ű*Ź E"x‰$"źmä]†Áh ×űE`Á<üđ†htEťf§…í<ĚĂ<ĚĂßuđ5’Ż6 8z3DźÁßoń]—đ>úIVť„÷çüô±č¬9·Ó=Iů>ź•ş÷%7!Ő¨<ţIâĺ>şéň|rŤ8tú8 •!~˙ \ rŔ’•'}^¸p.¤®v82W v'ěĽ Şfe *ŕ Ŕ4şH!ďş×ëĽUĐÚŠ{ü.ůßÎd +mĄµZ{jfTČ&®®Q Ú×i-Á]rú¤A]‚úţÁr~G Wť¨"­:Běľ.Z0wťâ§ż«´&ÜJ÷8?Čm;L·nG¦ĄüZFĄ ~Ńúj*Ł»VhIŞkď“ěęž*jßä}¨•¦M×!4użµ˝ęsNA//­¤ľâżeĄ–Ô@uÎŹ»I˘'|-ČMËÎ{Ýo0Uůŕ ™’ ëđ={v—ŢćUůRÖ"· x!rě@RîŕävÚK(]oßIjsŐíîŕr»–Ű_;łţ¶ŇżĄxŔ=îz‹Ăr”ŕŤsŠ�l‚l8"pG`ÜźőËÇ矨ßܩňŚĘăőĐőőÍrâ]cw)ąwh‰*Ş+˝«>§~ˇúó|ć1ŃĚ)ŰăÍT?š–hłT6s÷>iŻ <«ËŚÔŹÍU{¤“@ôL�GŐ§¶Y©oMP9ńűśdAňvţs7NQa#¶�níq¤yáÂůtřŔÝO.—ń%WşĚÚőű\ ¬O‹»Ť>A&’ÁÔö©Ź†wD¤×üăi·ďˇQyĎh_@Źű‰ŞjÇ…—c%�u&ڨâ ŽźÔĆą?H]Q$†·öśńđöíŹűd �E$©Ĺľ–Ú&ą&ŠäĽi!Ĺą$¦Ń'śĺ‰ĘÝŮÄô5WĆ=ŤěŽÝúo×�š+"‰AĺDQRšŐ—*®h|ů;´}—ČíhQa˝p:ą0˘Ýč\ŃľÓq«x#;UçVu”}b˝M'čä÷6 >y}PçµÂ;ÓLňŰÖ™?Ň|I¦vjĘŞ±^9!Ęë1§1“+ćaćaćá?ômúľpábĆhşŠWR~ÇĎz\.Őúdřg\ŻĆýa$^łSâß`7ňb xűîAâżăŢóĄµÄ„/|á G»ĺ–[Ňo¤·“Ű‘F q=¦ő[,‡0aÖŠ¬}8ě®řűęo´'ÖżcĽÚ ˙sŁţÁx˘şÇNuŁ´/§pŮ,�óhĚč‚đZ'̽⠔şč\"CHz^nžzꩤZŔ3wÝu—˝ç=ďIĎĐéĺ2Á –Žrj6,Ěýv*s~ˇŞ“QŤőűëői{hú-{eď1۵±ËŢsń.»rĺ]¶ąľe''§­ľbÖ<·Ç.®_LqóaŁH-R‰T (3¦e{ ŕÝ5ȨDą©€˙¸™ˇNŮü<J„ż,¤Č©kR=PąĺG]ÜcpŻ6|S? B1ţ‰[Ď €@N”…ÉŤűHWĺ&>ęBjÔ 1żtĘś2Ë•ikc-0^ä‘xŕäć�BÎÇ?ţńt]“őA]Éq‡n¸ˇ#KDß„-FżB:"„ ęŽk¨apĘźxŘ0K9 e–r�1ýZŕ.ńđ;ĎĂÚ“jßĘ›1¤8 ŔW®l~âfˇ¸Á ĎP‡”ňĘM‰6š<K(÷ËN=‰ČCŢ<ŠkýFť‹ä >FÝČÝäąLˇMQśyć™gRů~ů—9Ť-Ć«âb,PWŃ(Ó×é•Y#ĘA™y–iĘ}…Ô9 ÇÄľ ˇ@ęôWĘŤJKýQe¦Śä‹yI ęěôé3i#-őŚQ'N·+±GŢgkdîý¸M'¶ţÚ){öÁĎÚĆKĎŰęSYő­Ě–Wmvčz;wó¶o÷§#,nS°Ň4‹[H?UcM9Ůpqh7×íů_˛QcŔ[Ú5´ý{®°]«» ©€:Đ¸Ň VĘ)”™z„ ĆśřŃŹ~´ô ˝°%m*ż´RRť1.E ĎÓ¤ AßNĘ ć/|5äúIs­d»˘ÁG}\‹ňIŕíÎßÜ/7Dä߉—~Ç‚‡o&ČŻHMä[ó}@Šęךó“ţ¨Ó˝´3d0ĄËs¤AÝÄ…Üúégm~8C\ś‹WÍíh;†ţf©šWÔ<ĚĂŰ\úzTČŢJ›yÂÎz+†¨TĐ7b¸ VZÜOáÎŚB3XdÓ¤ (pšŕ§â‡yŤâî>ŞŞk°pŐ )öi}3,`‰C'3d`Vy]XXNÄŠ­tŞ}3#pWPž”˛„4@ľâ”¦˛ş¬˝ŚMVČŔĐ´ż"ťÚ)źAKjÝ „†čá'ř©y €ů8˙VĺôÚ“îj)Yt 7íIôhl‰@™ö“z^`őA oÔŠk|¤ŘŰž„n•$Ô×´/”ÚÖŽ}ň…H2÷"é$śI§ŠpˇüűÉçÄ”;�îY 7{â…VíA mrɰťűs•Ó$Ě„©­č:ĘIâżžuHÄÚÄöކY9p=VWłúejűV@ý^ý!ŽMĹ×w7 vVýŇNp’’†\ęŚ3YiZ\šDăŁęŤĐŞ´TyŤĚ]Ţ0fÚ“î­ęJ]Ŕpť†ďŽá¶Í˘R‚ĘŐ.DÜĺC.žźĹr@4o8ůË č®©ý˛k&V«Şě·¸)4‘®Éá)?™¸”4JëAgŢŞLd®VŤAj 3ą™!ţ˘ęB¨“z ý&‘+˛z đżĆŹÚ2Ť-“‘Ôű®—ub"UřŇ+#jcŤ—]É=îR˛/^\O„öą"ű´ę Öůc?V«Ď°“[ýTqĆ9NĎŚF*_÷„¤ ŘHdí]Ö/,,•'ŁĄçŞVmd{{Ö'q>ŇŢQcLcKm¨yJ®¬J_ÍńIQ…}¸Ŕ…H”KńOĺŞU÷‰ăt6mÝOUĽĎ¬%E˘YÜKÇńUażĘ«~TEá]źČLX'RşîüÉżÚXý =?hUq”ÇHÄP_ŤeÖÁ µëTLĎťiúŕ…2žśđ°`»–WˇŃ:eJńM» ­j ĺőňa2ÍAYî|ć.ź†#'wzý8Qb8¬Ë<Ç8Mő’HŮ•ó˘Ö©w™+®đž6ďďî¤ë<ĚĂ<ĚĂ<ĚĂ;%hmˇý‹ÖŽ7ś6w7Yç5h»~Ŕ®.´~| ‘$đF!’´ţ'”|Łřż]é s}ä‘G~�¤ő\Ük~§!’Ft°ZefÍ(o;•áÍęe§ř "¬\!lłł{ł.\á­¶VőŻUoá»zżő„o}´Ęö>\Ť4Ŕë}’Q!D �śO l�ŕ$ýO界;@ $ 6*tŔp¤îůřđ`ŕKßýZ-�ł‰Sy➸Âö [clşöµ§°Ď ˙Â6mbWŹŘO­ý„ÝxĹ-¶ľµa§NꞭ‹áš ęx3ůb%.6 ČŻ�ĆŤ2�FÓŮ•/‘;D˛PýG�>ę€ëëĺcH.9xNn4�ĺj%�,őÄż.˘�P.ž[Ɖh�€ @ͤBţItĺÚCĘ�€Ť„;î¸#Őa¬iÔ<C9¨wmđ¤kCKy(3y$Ň&o"ÔP>‚Tî»ďľÔöśÂ˙ŘÇ>Öq9#5â’Ňe¦?$"M–Š›TŇ€@ą¨CÜwČßq‘ß;ďĽ3Ő1äâ Źqڇ“#í¬ľE9é·”Gä!ĺ•ÉšřH¸(ź üĆýÔ+y'ŹLöô1Č1r˘‰™ľˇ¸d /'âPş-ŰđB"“ĐN0ÔG岆Ľg®Sä‹2G5Ń€Ó¤˙Ą/})őµŹ|ä#©]äî%Ć*őCyč×ôąˇ!^ę2ŚT&äîţJ©QqEJę;´3ó…ęGőA}Sžc®áąŐË)1¬Eyiż8>7×7ěµăÇRY“ˇ˛ę{Öö¤9hĎŢ}ěß“ÁËĎp5yh ±Ç^>fO?÷ŚMĎž´µÇľh+Ď}łH˘ž{ß§líĘkě]ü-ĽŇ^xöy»¸1µĂW5eąćę$őŠ!nă–ť?uŇÎ\¸hM{ŕâ„@ľ%»ŰXscđ÷˙÷S{~đě h#ęU>Ěčc\ŁOP'zéSÇRăщx -i®U}«ŤÔ'Ő6:Í$Ň‚ČZšç‰[®ŤH[~e(Ť âQÔgš{´ÉŹ4IC.AS*%¤«ąX§ŕHWţťµXÔX}îń/Ůî]Ëéä+FńĹLÔÁçFÂ*űçî˛N[ß´om‘3o=Äh�őw9eÝařf@‰ĹîŘŤÎgÎ]´[ďţÄ.h—x7ČĐ6móÁś`1óđw|ťx¶qŰ“™—ŽGŢ‹đG_°ßúÝϤż#@ŁŹ€}«Î{p5®˝tÍA–ÖŐX$—;Ńú4ĺo@Á$soľ¦Jxő`Z 1¸jÄ‚Ż˝pŮ‘Ál–č-”JQŔą91kç'ňľ± °¸áD‡jXÖňNĆő<»«€Aq $^vßB{‡ĺÝSUu »GĐk”H*ŞďI>+by<áܶÁ¨%IČĺFViÜÍJ<Ĺ,÷KE vĘSŰĆÚç¨ȸĄ6o5(F6ÖP´ëSN ooOr«{@˘ŔݍÔIpÝSČaťYÜ:dp-žFŠJ1˙"°¦ŰNäďo‰|4\(JÔĄöÄ�&… “ë”vĎ)ĘB@™ŚKýzţŮ5č¨�˛|ŚrôŠWnGQÉWýČűé¤3b;*ż"0�0{~ŞŇ¤R'őHč÷}ôFçďÁ`ŘqyăJ[ąţ†ťSeŞ{µ•ëq 1í4ńµ±‚Ś©‘®5\Śâ‚\pşÂGôjúDŰÜ$˘K3®§ÁؙC.O“ÚÇ´K4Ó\ÖW+�íĺšBŽĆµ®/.,ç¶ŻS?‹Ŕx@w…™ĘU�¦Á ]ŐĄĎőŐ"™GvĺKß"!Ĺ=łě7»wďĘdö®˘ˇÚ(‚Ř\—[`Ť_µo¬ÉK«»$�‘i¨ŁxBî$裤/rV:č±"×­ú7-‚˙u- ~Ř!(Žř>ŇřLĺ­\Q¤‚¶Šc1it‰ľŽ‚ÔîÝkĹv $‘LŐ "CEŁľÚSă®%µJ5—Ôm ëűIŠ;žněŹ=Ť×¨ZŇîmťđ#2KRy°KďőţS™Ü˝pÉ„¸jľpá¬Ĺ€ë©ŐŐ=¶˛´p ů®Ś±ěnFĺŚc w ¨U¬¤˛Ń]˙ĐN–UťĚę–°X·!žqBé0˝Ď¤`„z…ČNzźzľwŮŻ˙›íĐ˝¶Ľ˛”‘ €úĽ5ěŘ â»Ężçö‚ďWx»ěó0ó0—K93ľ_Gamăöwp!ř ď?ąí"DBk$ľÇ˝mT9ÓZ,~?ýôÓé:v{)Ö÷Ůôďľ ^ńjÝA6Ö®`źţô§“m—CÜrůצíZćR%x( ÂőîÁÜ\B®ÎU7JCńGwoq Ş'Ú…v`Í ć·jĎó~ÉÚ6—ˇÉ×ÇĚý¸žËßÓŢGľFgáS‡ďţÇŢŕď7űî˙»ľíË÷˛!X<ůä“÷ĹSĂťšÄŁ#Ńŕrâ'6.d1Ę�`rŤx�ăSvÄ÷ŐŻ~5§�q€(Z�ČJ ‚ôéÄ�»t:âć>:›ŇŢoŘĆzc :°b_=ýu{rőiŰg{íS ź°;®˝Ó–w9÷}2fhńš?qĽŮÓĘŔ‘řăÉlťŘçĘ @'— d:µNčÔ6S§š�.‰O›Ň�TfĆ ,őĂ�¦Éץ�@˝ę¤ş´ ů‰ i4  ćymĨGŇ& P t‘c�­ŮřRĎr«A>)ů÷qd‘ 4yPNŔRH(—đŰÝwßmúЇRŢ#“]Z&_~“›~ÓięTĺH§>É#€­Ś(~2b3±×PËŕµý ’ý«Oá>”GDP =ŐN¤MŮäĆA®čŰäG“›”-¨?ň7×(…ĉRmĂý(»đ,ůbĚđ›Ü[P·R�{~GĄ#ž¬“[őMč B@ čH¸N>˙äOţ$=÷3?ó3éwą­ˇÓFRU€BĽäŹţ(҉Ô>ä.(žl˘)7qFFťÜP)€HÍ@ä)źĐ6ä“öˇ,¤/㍔m¨†¨3Ę,7qcK|ŚAŐ#fk6×K‹#[]Űmű÷]‘NYpŞ P㥞µĺ&O‡›¶ŰÓYÎź9a§ (ýŐďŮřąÇmŇlÖ'çNÚÂţ+í•»~Ü_“Ýrë]¶rĹA, “‘uNJ­_ܲŻ·×OĽŢyQŇ©sęŠ:…$ôGôGi‘óó?˙óE‰˛F©.Ʀ˙;˝li?-śd’˛Etk#˛ß´ł”S¤.!’†TBx†ş–ęP˙ŞoÚ┌r¤…‰#Ä ąJýL.ˇ4·ŠÁ)9.ňDşŚ«xĘFéSOÄGľăBäü‰§š¶Ü5'XĽÂŰa0ŃĽ$‚ýéÖ[oîßJ5ąůŠľ*ÂŮ÷:O¨uşË%”—ľç}±otţNëč; ň_˙Ý”‰öçy毸暇y¸\‚,Τëőh č,ţç˙ýĎ;§Uâ˝îR %Z8⤿ŢJ;Xˇg´ě*Z´ "ÚÍ’ôoóé@÷ łöoąĺ¨Ę; şí ¸ˇf’ŢÇRxpŮňiIź2¸«Ý)ožŽŚ&­qĆó2,ä GLKž¸§ÓYg?Ü1č% ©Ę<Ą+" !’žcŢ^î®%Ş𳂲¤äř‡…O ÷óÝÎéłp:^ć'śp˛śtüDůb®ë€ăěe™öę%ž€V袡+’0dh’Q.îĄÜHVĄµ[’Šş ™¤dIťÔ®` `ÜëTÖtÚ«AÔ¨¬%yÔ™ŔÓ!fdµ~9Cy‹ő ^ŢŃR“Ô»)Ć!’„ú©ňËźk,ő!3ű{©řsŢ´·đ~>Í�üR©ŹDbŠŔf¶Xv‘ăiĚ:FĚţű_m*€űŇţÝ~Q%Aý]j*˛ É•äÚע(#%Ő÷—u¸ĺÓëˇ˙¸[—ń%�şĆ•ČWQ‘FŔzXýÁş€©a˝ uRé�¸9¨Ľ¸ĽqBuěĘŮZ·.@˘=DĺPţ*ď<ĹÝűVÔ9â÷I.ŃěĘG웜$ĐWc* >‡iŢ‹dúH¤/őoUÇÜÖă4ě·Jźédyy—É,qŚRťµűĆ8ćý=6 äÂvΑq:î=EJQŞlĺŔEßcźě«a>{G­·™ µ_%ŻrEűX?ͨԠ44ß™u‰Ą»U-©%ΕŞ;ŤßUťßcÄ=¸@•Ř·˘KÜHŇ×ţćď1Í_üťę?»&Oü�…Üâz ·?ô7â»xńĽmn­§Ľ®,î*k–H÷ŘNÄů¤Ľ«¶Ą{˛Ű]g?źPé´óNÉÎßC‹n~Ň|UâoçPŇřµź»iN°x‡…·Ă^0ó0ópą˝kăÚ_îÄpk®%Ě,AÎăZBĎ˝YŃfgő裏¦ôÁ΄kĆřâž°ďNiő‡Ź˙óţĎ)˙?ń?Qo”ďť~ëÇ÷ĺĽ3ŔŔ3tč<ÜżŰřUn­ŮÁ`°‰‚óIe|§8ż]üMŰÍ ;\ű;#X4�÷}Úř  dĐŃh€m möŐl࢒6z€J5°‰;ž¸„g`đ;A˘Ď®˛ g@Jź űę©Wíˇ—ľaß\y¤YOěŔxż}tíăvíŢëmßZłoú°“Yhm¬oرW_łÍ퍴X>|Ĺá4ÁČç"ĺô“d ńłˇ"m� ĘÁĆź|ň*o>r» Ť�e@NŤ�Am޸N:”Źß!HÔ·Nq$w/e ęŠÁř¨ŤA@ş\§ KĆĘ-E ®ŃvL Ú0Š�đ+e Ň`đsźŃ`HÝ0ˇţĹ_üE"6ŕf$sĺŞAőMąČ?€­Nőh©%P&Oô ČęcŃxCy™¤řM (ôcŕ-ě6ąë ^®QňI}lÂ5ň&`[†#úńčDˇiĘ2ž©ĽR°L_MJ™„@żËň ¦ÔíŁ ˛ĘÍ3”S®PÄ ä[.9”.eBą‚zýéźţéôB˘îé×’iĄéŁz#mę˝o¸ĄnD–Š/MŇĄořçCţȧ®iĚQVâˇĘ˙ N§űhk‚HźçO¨wDЎoŕÁsÄĹŘáÚáĂGl©1<nlmÚů çmëb&4E"OÇ^=ÚRvýµ7Řľ+Ú(I\dˇŤMęÜ©3öě}j§O˝nW=vżMꦍ𩽿i›÷ý¤Ŕǵ7YÝ<wnslçNžJóĐî=ki’'DÔľ´őá̿ň+ż’ęNăM}Lý~.Ă ßšäZó$mC źEŇ}AmHÝňíůŠ>ÖďŰÔŹę[§)qö™śÄKŮ÷xź6÷Ë” ,Ś!ňŞüHŐCď-<DŔ ďŞlJWL[4OĘ5©i<űŘ}¶¶ş2'XĽÂŰa0‰†C?ez!ąŞúNĂ׾ö5űťßůű…_řűÄ'>Ńąö/ţĹżHóÔżü—˙Ňľ×yë˙đ1•y’ůeČqŚ×h@ýNćQĆ`ź°ôý ¤Éę?ü‡˙Ö rŁóSźúTšľ]XŹü»÷ďěĂţ°ýâ/ţ˘ÍĂ<\ŽrëÜ6čýúí zG•€žT•Ôf­LĽN¶ř;° `z”âlA/†u"1Ě2đk@HÝÎďĚßčÝ †Ś9’łźe`gŔaÜLĘÉS•€ď{).×oĺţKyn¬KÜ€#“É´ ”.vŐŹKuNĂ<"78`ŘűZă’Ę5ëśČő{ęLDvPÜó°PČm[n]b¬R>•¦Ç?JI&´ůä÷¦»péˆƓŇŢÖNz±L4�ŐiywC ©z€đúćĐ'H脼ňˇßăig“¸Ő7u‚GiD2rÜŰ d,}9ÔUKš% PmnYb~2ÍęÖUkeHµé8בebyă‰óŢŞ Z‡â ç9%đ(Ö!JOc%‚±`Ť§ Twíß*スň‰“ˇäĆ mcĄ1 +ăŇŢVUq3RŔÔ~×ŃĄKěă@ QqAö(±Ű¶ď )¦řItË{đqrwáJ‹eAžčŹÉĘ—Ô ¦—¬×Ç)m´ë˘vŢtÇ"dW‡´>Ś„‘ č<¦2ÉŘÚßűÜ<J&C­aq; rAgŁ&_a{¨FÄ›H~P˝éŮBȧ÷k›uîą„„µ¦|}{O,G?ôc¨µ¤ëś0L÷L¦ťţĺîš¶J}Ň/^HmÜ’ ĽŽčŃmAóy;O´ µ•ĘŰ!¶ť~‹sťĘ4 ;őť>ôů@jűáv)ůЧ"Ł­-¶ẆީŠ7ÚÉúói¬ ĺ?ŢŰ"§OÎq)~ď&­zUźčˇüGµ wMÔÖIT ’Ý÷Lę# <Ç~k˛íc^d•ĺĄĺ2 qʶ´cOyá÷YgŞŁ*ë™]k‰lĽN¨JFť#ą˘Žę–¤(\ÁIzN4b¬Ě ďĽđvŘ ćaća.§×5Z§ąjÜůĆöw.á`#Ń%xT8#D"*AńÍÂ\•&řö lř`2Ř죽>~´¦Š ˘í"’.ő;ń5`3EąBnÄűńö×Mq ×Aqݨr¤ž„áôIłńĐťęŻ}GµęJŁ][ůľHâ2č«Uô˙ŽDT•Aż5u}Y,.‡'�­4.�1 ­ŽCg˘łęd’P®Üř·\dÜ%MĎ7•k ťXđ€Π¸˘‰űž÷Üc'ĐőńÇź°§źyĆ>˙ůĎŰRcŚŘ˝{ŐîĽűîfđ\L˘�í¦]lë/ť~Éľúú7ěůĺmWsď{·ŢcGFGl¸µÔ�ŹŻ4ŔçĐÖv7`cłßÜŘ´ÓgN'Cß»®ş¦éx{Ëž˛‘WŔfČ#eĐ×7É�Ä&K¬vÇÔĺ҉ʤ´ŃÄÉßÔŻâP©!ş¨ mMBq"#đqË €äš”-4±Ě¦Ś X÷9ď›SňE^i#N·«|ÜŁűâćŚü7e!]M$ÄO»r]ő„"Ĺűß˙~űÉźüɧNĂ“>yŽF7Ę[¤Ď„/ňĎé†Řd�Â"µĐrá úáB\ˇ¬ä‡Ľ}ůË_Nu@›P7Ä÷Ţ÷ľ·L†äÓOo-˘B”s­2«ľÉńSĄ�(3ýŚ8©G@%Ŕ1MÖ Ä©vÖĆśżĺ„8I[í @™tę?ѧ-í¤1Iăď˙ńO Ł|hRŹ|Č÷ŕ×ŮXC^i/ĘD^T7"X‘Ć´ę“vď+ú6縗oČrŁú†ÄAy!W•OJ"BITĘüNÚr=ˇ1G[ŚĂýÔőź yęV ˝ěNô×Oľn/>ó˛]ÜxĄ™–Ҷűřk'ŰĚÉKř ÎůŮś\´éU7Ů•·ľĎ®ţŮ˙ĘÎľô„ŤŹłé#÷ŮÖW?kÇţâ«n¸Ű†ű®´sË«6=pŤ]sőUvU“OŚLVYÇĚoĎ=űś=ńřŁö͇nć†CöţĽ7ő‹ąŽ'ăě7íLšß®jâ¤oŇÎÔąNŃ+n×PÖQ}KžKrĆŚ#‘°¨_ú u¨6–1V âŽÔ%č2ÔJNUä<@gą÷ éÝ!ň”Ü qMAŐGA6–ŔĄťoÔu¤w•UÄË5Ć÷Rąźyţ‰ďž‡Ü7Ń(űť‡ČmÝéÚ÷>0?ü˙ĂżMľé—~)Ť=Č ögŢŚÇóöO˙鯧~ţ–B}i6sźýěç’ęÓűßţŇ8|# �ľżm€¤őŻţŐżJóÂŻ˙úݧ÷%®‰>ó™Ď¤9ë7~ă7 ąěÍÓ}óĚ|Żň;?ء•ÔÖ»¤5Ę~/‚Č ľ–ýîü|ľqh7ĎoŐ¬űv:Ĺ-Ĺ'68Y"’Ř_KÜA'ęf�s5^łpZTŔĆČ"AÂ×Ô–ŚÜĘ›ZpÖ÷•śźY?·‹â„ Ü×?íÝ’Ş%pqX%CşŻřfWÜĂÖj<ž&pŹĄ}^+W|Í?é´Şžúňúěşµp"I•Ë0Í{-Ś3ý“şŁ „ĎJ$¸t6˿锑MľÇ”[—Y!Ąxü~R^�y ڵDh€@'+Úďxžäž`ŕ§0V|˝Iý]Ľx!Ęòp(C”Ú1îŹűĆźxŘ"ŞčşćjŇŐľşośę“HD(°Ô݇©z=9P6mú) rÓíI©Ó4†y=ťóÚÚ™$Řšű‚YKröŹź°Ęp¨ě…69µ?ýUý#÷"ů$ÚZĄ­]F…ÄŕůpŐw›ˇq?.}ŮËTwň¦4 öç Ćt±ăĽmí8h•NÔ?TĎ>^‡E¬Uş™d´ť#č·RQ”U WÚ§[Ő%†µ†ÓAÚăÁňĽLş®]ŇX«zóȰÓO˝®›ľŇü‡ęAŚż%ş9Q@ĆX'žůŘžŚs¤dŕe‚L 4ý6Pż`ż©gq2éÍ…šwűÄ AčCRE•fss+Ňéě}Śy›SMgežK$›4-v×ËĘ_ÇăI6OĘ|Ĺý¸vY7TŹMJţŽhűĄ”tś¤WçľěďŠT^ćĽiŰGŁšS4Vk,Ĺ÷Ľę8—ŕ’ąI}©O2ŤŹúr÷&nÇÔÁŤ…BĐvžíjŁčÚăŤČ şíQ"Ψ˙Ĺ~‰|‘ŚçÝ'° %«L7ĘőßçúHą2ŽaęFďc/o${x\[[Űkł‡/t¸,JxcîW=tćÄć˝4‚@™ U®b•۬ŞBľšŐHZ˛Ewôó*S2¦NBŚän¬Î}oZÔćŔű<ĚĂ<ĚĂ<\.!®Ťx/ę},R…”¨˘ý"îSúqő˙ÝÝgN> Wq¤Áş@‚>]Bo}IÜ„¸¶ŠűGxŞő(¦sHZ.ÁDb:of“‰űĚáRÂÖVÖ€}’ę*†xm§řőÍÚRjĽŕ*Ă`0xÓ6č—÷ő—C¸l2vĐîu©Č} %PŻ1ľc8`Đ�ÔŇŮ�˛0† Äâ@2�6�Pťb �Č!sX€7éÝtËͶďŠývńüz:˝pęÄkéÄčBcPŘ{pź]q`Ż­ěÝe'íu{şzÖÖ›vëňMvűţŰěúŐëlßňɨvöÜ;á¬?q*uZuL€‰µ=«‰¬Ń–ÜB~ɧ6\—ë6¨üF]$g@|ś©#Ę‘´@<ÄOEépmh[*"!ŕ°¤1I›¸HWŔł@Kâ$éómÂ3"{@ćPÜĘČłÚäž” ä‚ďČ#]Ú’¸äF†ç¤î@Ţ�jIóë_˙zzŽÓ¨ýčG;€ŤŔĎiB‘ëň#ßµ”“r‰@şň %’Č:ˇA~x†ú‘ë˙ćyąťÁm‰ú°Č¸¨‘‹ őa€ Úšgiką„Ń3”WJšĐI;ŞpČÁsśşĄ<Ş[‘t˛D~I›1GţĄÔ!U ĘL]sź&cňCŰHő„ w.rµńpŢĚA¶ą÷Ţ{SEŽJ' 2Š:”:‹zp?őFŰĐNö©ź(™Dľdô˘¨uHZź2É ńč7Ę'ĺęKŠ+ęßüNY¤ęBRn LJ›|‘¶”c4OÉ(Ćď"jŔA^¶6Cďpf‡Jń‘ń/¦S¤Ś5‘^¨‡Ýk{q!›®:âyý±żggš>łýČvîąGíâóŹŮęÉ—ěÂŐ·Ú…GěäkĎÚę»n´ęČŐ¶4ZJĎś<qÖ^}ĺ¸=ýÜM|7ŘŹýŘO6iĐ··›v~5ÍŹ+ @°°8˛uČxšĽ\{Íu¶Ľ{9͡ôMą©áCťËpM_”d±NŹ$^đĄ.BR"ŹdÂAă“z—__î“ü} ůG}‡ľ˘>("‡HP"C|Dúę˙<Żq¤Ľ*nň@»Đ/˘1_Ę'"8ERŤT‚d¨™‡yřŰH€śµKµ»ˇ±Nó. čź{÷îI’oŚSÇO“ű,Ţ/�€×\smÚ ,--^í—ľt"źţw˙Ýż¶›oľ)ý†Ë«C‡ŽŘźţéź6ăíTšżřĹżNä±n¸>Ýăn·žIż9r¸Wě©'ź¶ăŻ»‹$Ţw7ÝtŁ=óĚłöđ7±ŁG_µĎţŻš÷öÓ\~ôč+öÜsĎ¦ç »ŢvŰí)žeś˝ňʱ4nőžşűî{’ź41PRžŰożmÇŤÁţá5csËţőżţ˙6sÉţôŰ»ß}gó;lýםć=ćN°R‡iş‚Ó­·ŢVN$'6ůc®!|ž˛Çźx,ĺceeWSľ››gŢ• ú"Ó6'NĽnď{ßűŇ\ö˝Ăçáť$Aż±±YÔâćśP×{8:éˇu…Ăďyßz+ńít˘ˇ«¤ ą‹űĆ \8ď@}<á>I�•Nň{Ü3 ď„•pzŰd q°B@…ăWŃ`®űéB+ófW ěěëăKso:?ä^H©ł Îâ‚`=ďqFmA"Őew1ţܶů…rX)Ż×Ď ×•�˛ŞĽüţöőDt‰'´6öÁ[Î^ç2ť�Ŕó1˙^" Č LUŔs‘`¨•ňŞu:Ůë@ńB3ďC˘öµ¨ĂÔńÂ%Ƣ>0] H3žljI$ÝS9ńtrŚ;~§2poX[e*7HÍj)8Ěütq5(Íś[(CŐŞ@~Ŕ[©łdr !jKI)"’&Cű[©¨ůIďĺDśVőÝ"ȸ&¤Ć­·ó°�ÔNö©2HîD‹ÁŔŻ3Tži%ýz —:‡âS¨Śš?˘b…ÚM�®HRĹ)$¶«l ńäZ! "GÇą_x}ů>@d 訿äŞÁŞKúLÉ×$Ź+ŔŮŽBŤĎ-:}ŢÎ%nŽ2ILýtU/¬ŕwŞ´|^†ÖY"‰8é§Ů?Aň°řU˝¨/µsCuÉÜCĽŐ´ ř+D÷,ĺwňć µ‹»X]Ją™CQ€ů9‘\­‹”ďLBt×+(mX§ŤµŻ,î'jąž\čťLfw--ńÄ u!:ŞźŞîĽlSsĄś®‚ś¦eĚ÷ŤŰú;R:m<îŻăĽ«~Ż8cŃÁęP¶3Ô‰„0˝˘«™8âü•)TÝŻňů|4ě”MźD^ .@ú0őŞô×;şă—Ędt1‰Q-ˇ˘=í©wD°hŰFűyꍽşěV˛ĂÄ÷@\żhíÁřµL«ťbtŢł–ß ĚĺC ŞŮL$WŤ)„¤LR¤? ‡ú`UÍbĚĂ<ĚĂ<ĚĂ~čżďő~Ĺ>řđˇ Č4č¬GăwŚ#î˙´—Óż…§€ĺ°Ž�[Ŕn¨—qϧżűźľ}&®Ą”vU°Ľ'ź|2©ŇŁć+€ťĘÓŠˇ_–¸ĐAnÖ*r›Ő=býřă:/Ć­üëßÉCχ”+„UĹrôó×lńÓŻżôpŮ,�XřČIM@§Ôr, §c ýNÇcᬠ’gä6€AĄŢć´1oŹ›8_·­f0îoŇľ¶v7×§ł±˝Úů_;úş˝řÚËöőç˛sΚŞ’qţÎńíöń»~ÄŢuđęfâĆ„Áh`kŐšml:Hę t@>� ť,aŔ $_Rŕ Żb_ńa˘ĐéyĘCÇ€Śľ tćßr!€”,¸‡g$9Ăuâ“+ťüř.)pŻNŁ3 äŢ„ë<LJô);u�B\RE l”‰ßɏȤ-‚ß\×)Ú]§˙p«é+�č¸zI†‹uޤ<Q÷.3»XNÁĺ,Ą,¤©rÓ)÷ó7`Šľ&ő5ŕ'y– ł6żr! ň “ĎÝwßťęQ.H“Ľĺ$ď"E• ~ăßň a6ОJ"´Ŕ3ŚąKŇ÷Č_Ż”D° ,Ô€’T!¸F›ŠAČEŢ ¤%ś:ÖÉĘĂośN†ôó| }×r‘"r‡F´—Üü¶Ň•’…ÔQÔNR×qDL?•Ź{ĎOÓxß/0śß(Dę\mMŰ«®äE 9i‰©S92N‰I<R•!żäSăFĘ<¤M>I‹ľ+Őţ±…sDôqţ±ş÷ [ZŰggöî·“×ÜaŐĹóvĹÉçmőL3·ž9eÇ>÷źlwcŞŻżÍVĂŇéŮ‚=zę˘m/ď±››qó‘{?n{ö®5Ć­iăŔ¸Á¸ŘܰSÇOÚdµfm´ŘÜsnăB3áM“?[ÍAŚ ňCy¤dAůɧNŢP.ąQ0¶˘bŹĆŁTЍ_1ä+LţTŐoexáiHŤ†ľMÚZ\1hG©˝A+V­úiDZ!2•ő ;Vs´Ę,Ą×?e4óđ˝Z�3®~˙÷˙ -ś™;/ľř˛ýđsi ýéźţ™}á _(dĂŮěKIQčcű‘D¸—A÷ÜsO!W(ÜsĎÝMܻӼJř˙Ç˙żýĂř Á‚Äďţî°_üĹ_HďĎ}îsöĺżj«»} đ™Ďü…ýóţĎ›ů˙¤˝rě•ôÎyîąçÓű‚ëďýŢď%r™€_úŇöżńO›ôŽ4ďĘGSÜ(?1ľPźxôŃÇŠ1–y˛Ć?űg˙¬É÷Ťť|3ŹÜ˙ýö÷ţŢß+ä †đ÷Ľçžf3v0ĺŔŚzB KŠ<źűÜçÓsźüä'.©ű'OŮ˙úżţ¶˝~âxS/«iŤx˙ýŘ?úG˙—Dôŕßů—źMÄN‘B0aË3,Ę{Á»ďźŃ\ýHŇÄ5ŔŰMŕ‰ţţ†ž?M/‚Á°€"ń~ťęlIĽyZí†ľŞ¦Ö*„ČŘ 9ôI節öۓžŹZ „Č–€ εîČ4ď´ŕń,ŻńKg‰ °±1ËäŇ�¬ďq: —çCFWzčĎľkUä‚Aĺ•+ ľŐ.RP]Şťb›L§­*‚Żggˇ}»ŞivgŃ'> nëÄň©u'jDm„Ú†’ŁBŮ˝"˙FY·O<­6qGý]äýH¨P~#Ů6’ ú$†8–złl0«]\§Ü ‘�€ŔpĐžîOuD?šřéj7ĆySfµĂ(ô¤ëé+ ÔČ7¸ÔHâřăß"Ë–R×ÖQĐw4ÄĹţDzŹĹVĺA‹aČsťIQôWŤ/ő7ď‹-@‘FŞ(fÓˇGsÉN�4­Ó•Ż–´Ń®ÍµVŻ2©ĄŽ{ÜŁLHŞĘX‰n ř]ꕸĎA‘ń–lK+•?Ôçâ˛LđJ`l®ŁY’®é‰UOu§»*�ÔÓöl«ě-c¤ĚňĚřťÉŐŠ•řÔÖ1-Ís"m‰Č ~Ô7Gyś‡Ę „©ü8yn!ŰZ6“Şý9WýYýDîQ/q‹`’Ć1„ÂŃBÇE¬Ćˇ·ˇTŠF&5F•ˇ•`—÷Nß R­ű%ą”°Úl'rVßřßö%ĆÉĄä ĺ? ĽŻ“VKtXĚv5ŘźúA‘ĄT·±­bb[ôdÎŐý‘(çrÔKŐŕ’y6;Č(iĆů¨O˛Pý}Đö)4vÓ‘(]¶ďĺVĹ&şŮé'ę/i^¨­” ű�˘íL:ăÝ˝¬RH]ůá&őĆĆë¤OĎUS\yĄé“ÓÖ­ŃëyÉ—Ö%¬UN’˛<V}n¤~›kÍĽĎüžĘ8ř^«ÍĂ<ĚĂ<ĚĂ<ĽýˇżîÔű»68WŕüŰżď´'žÂš{Ű›©âľ•ńeŇ`ݱ‚ř¨VüÔOýT9ěů˝zoł.ߣŕQŕ…1› ööÄ [nt…Ůż˙‡qMrŮ,�ŁXřö\jÓ'ŕY 5 ‚WŠl< “g˘ ccBZ€Ă<‡áhÜlä®lŚÝăúÂČ}/6 ékŻ»ÁŞĺ˝¶zĽYD7ęf“uĺä]¶ůú†]8µnŹŚłłWźłšAĽk·“p7(ą§í�0Č»€;ň@,pV6tlŚí’Ý(KľaIi˛Ś˝ČđŮ4€Â5#ŕ´Ü+°×I{~'~Ŕ|ę\›*ňĹłr]BĽÔyâ[„šR’°(`I\Qy@ ?qp?`7š2‰5.Ŕšö4AZ!$Ë (*ÔĎC=”ężđř@ŇÄA:¤-CźęŽ4ĺf€ 2Ś�Ů"PGüN]HAEůŤÚr+ 94)ĆSőÔ9iÓ? H‚S®HAˇľhꂸŢ•¶Č <GžDţ¨«ISőM;đ·\YHÁE/ ZKÚ‹đ@˝Qšx «n“Ž$2jń,'‚yQ|âźH'źĄpAÚňĂ�Î=<«MµN«$"Ł™6Ѥ+·0RźŕŁÍ¸U"bń‘j‹6ŐR2† /RžŃf]ăR|â€/‡H"ä‰çé/üM»ÉŐŚ #š4WEČüŤjRŘŕ9ľéc¤Ď}¤Áó"/a@Zßj憓ŻŰ®µf|ÝtłíÝ÷IŰ\ż`Ź˝jă Í8|ćQ;ýĘ ¶~ôŰjŔŔý K¶zułąvż]|áI[ąín[XZLĆś={÷4Ä%{ý”K÷ěŮm»WwŰţşNť¶‹gĎŘâňŞ-/µŇRä‰öcNQU™%qJŢUwR¨'ň4ĆiIój‘$—7šô~PćĆ6uNśJ›Źe"’)ťŘ_Ą~˘EiPßrm$™Č¤G˙áwĆ5÷Ć“F"Ë©Ěó0ö}rç!c7ďÂo|ăö+żňM*NO>ůTęôńW_}Íţýż˙÷‰|đá8ů»˙Ă?ütţ˙ĄÝrËÍÍŘą:$ZKóţÔ§>uIZ�¸ď~÷ĺďţi¸TĘ<‡1ŽţúŻďKŠżüË˙(%q ‚bĆűß˙{ůĺcöĺżb˙äźü“´áú­ßú­fLť¶_ýŐ˙*Íź¬[pS‚bĆoţć˙­ą!c|üăKä…űo˙­ýÚŻýšýýż˙łiťđß˙÷˙?űęWżr Áb}ÝI[¨˙`ř(A€0˛¶vkú÷cŹ=aň'bżđ ?oűŘÇ )ä?ţÇ˙hwŢůîKĘúŮżü\"yü?˙_˙ʤ„Â$?ţă˙Ňäáćb°ýČG>l÷Ţűâ¶h.Ż uŻ\…Ô] ~9˘ĚĘÉňľâ­†Ô¨ŹńľŃ»‡>OË~)Řw:_ővŞŞŰ<߬s$ˇ?+@W %yóřş`řdâî(<ţA:0t_¬8—[ ĄZ ÝŐęB~č‚eN¬Xč ‘\‹�ćůż˝¬uVkXNů!}\5¨´$ŹWŔn *ŹĘü Ó˙€ôłY”ËoU6DxŐĘŚwOăĆ“Ě<wp[®R-:äĹ÷Ś"šTUK ‰€blsę5έj#)Wxţ#°WpŢűŔ,ź"·tĘ|yąJŕöÖÖfŮ?K…A§–tş]eRÜ:$ ÚõęÖ†#hZĘU;0®:­śč ~ŕźşZJܦ~4Ë™Şuq1Čń“ßAU§łKĘ@űú^¤*ŔnJcV—ˇ©g´÷ń2´~µ/ňCŰŮਲ਼ű ěÎŕp×˝A˙T<í†B‹ę”(DF’ňŠ“E"ůj+ôçî ÷H°†Ö­KëţEëx’_ĎDB€ĘŃEó”» šuú‚÷9úáb·±ó Zš,˝y$‚ŃŁˇ|/ץí çĚOęş“FĚźć„2ýÖů$<Čme•a•Ü5ĎTÓtjŢÉ0‘03,Ć씇©¨%@" »§Ł:qµm|éxŃő>ąÎăBµµÝ›éý'5IĆ*_ßÖy•ń.E!ĆŠĺ9CjFrˡ÷lŰŹ}ü‰0X!y)(˙Ě]>~' Źďš4vą·v—Fł0×h>Š„'…2^]Ą‡¨šëÔă ďŁOš ˛2†ć˝óçÇĹv"RBě‹Üĺ›/‰»îÔâ8'áI=éŚÉ4wĄ—¬ĆňÔ¬ĚyÜWŢŹÔ.*�ó&ę.ŰăíIJ6őű}-Ťĺzv‰"‡ľeKP~ Ń­ż-AŽJö_?<#AtM*’‡UVŢ˙iňźUyî5ĺ§q™~¶©Źťć~\ĺřjî­Ű±\WUŢżd7!´cŞÇ*Ôßw·ś‡y‡y‡yx'†¸ľoíµ‰đżSčÚş{ĚBtÍk2Ţßŕ ŕ@ü Ţ%[ľâ×~(’2cZqď D}â‰'ěÁL¶I”hąWiôâ§_†HŹ{Q~G+űîSvJGeÚ©®bt@ë’¦^t¸4ĆűFéěĎx9„ËĘE�:ZŕśN–‹0pƆA¤Éđł0—Qđš{Ą¶@`žN’Żî^łŮVmçÎ_°qÓÁ÷5Ďś^?ÓâĎÚ_n|Î^·×lieÉ>¸đa»iĺf¬ěĺ~ń…íŮ§ź±‡öěMŕÚ.@ßĺ»ňŞ#¶ďŔ@Ȱ@* ‘#ČŹ�?ąüÜ=eŃ)é�{ęřÚôCp�L.,˙ bđX \iE’ÜOHUC.”6öŃĆ„ű�6Ą:@+ą-щuM†"1<U9hoî‘B‰|0ŹŇ¦ ě a|ň“ź´Űoż˝¸B€N}«®— ¨\5DĂúő@śäKDňDú:…Ď3"¸ÎDKSąI[ $´ˇ\^8 G":đMű’Wâ– &?.ä¶B˛âÔźŇ&=Ú‚üJő€üĆ>"E =§‰SĘBGRHÚô?uÝhČ˝‹Nľ¨rŞíń"Iß°+őę‡4 x¤¶–Rň/Bú™ÜM¨\R{ źĹÓd‡ Ú@ó›üYŃ×"/iŁ-Ĺ8çôŤĺĽ9w˙Żăâ˛EiS"ä(ź2ѶrGBą( 8D\ńŠl$š P:)ËËť;†řm”iĆBÓ/ăř®=WŘĘžýiCż~ó]öň÷Ű#çĆvĂU·Ů!Ę÷Â#6űâ˙a§V÷ŮřŠC¶}ű‡mĺŔ![ąúf;qę„m6őşÖ܇Ô˙ŇĘ®$YĽµ5¶­Ť-»¸~ŃN7÷¨ xQö¨°CYtjHnj(‹\ž4AŮäF®h¤pAP;3Né ô ©OpŻH‘0¦Ĺ 'ŰĄ¤!·7ôg÷D¶ęŹcRPiB�÷P>ţ–{‘€˘iąü9ůĘPť‡ďO‹[ú?s*¨@ÜqÇv÷ÝwĄ>ţ7s_"ҡ*ôőŻÍ0�J†Žy‚E ß ĺN×]wݵöč#Ź$ő†Űn»5)A8°?ťb\\XL'›ąŹyŕ‰'žLäî#ĎűöíMďx0,Ľ{÷!7ŢxC«¸žâÔţ>O˛~ë‡x’ýŤ6u„o}ëá4@PAŐ‚đ?ńIűěg?kO?ýtzď¦ă@ée*ęŮÉW«éŮOúÓi~#đ k©PÍĂĺ´V”Ň”ÔÜ�ÖQ4hÁ}�˙rΞ=ßqg¨đf}”Đ›ZËJ=Ś4Xľ]!‚5ýđ-ˇ`Á|fą,dŢ«ÔDם€íÚ˘ş€ÜQđÝžVźvöZ­řĄrénđç’TŽsF „±–©C[z>%×ßĆ_gŔkÉ±´´’.K`_•×nm=NÓébťÚ—;Ż+Ą-%‰ĎśXáůłŞśěPĄ´ąÇçő6>ÝăJuĘ@Ł§ÝžěŁkÔ¤y=‚†:yÝ­)|D…„ĎŔňç&ůôąf(Ăâ˘%¶·7S^¸Ř”a°™dę-«âIr­·ă‰ćh‹€[źtˇöŽ�±Č%śdOŞ�@†U‡ä"Đ›Ó÷ŔŻ„RG#w)A5Ů™Î\=eZNy‹Śŕŕťçˇ{"ŰĂ,·[«šŇç#@?˵ ńWyZĚîÖSŘ˝{-(žxŰ©O«Žâ {Ý'b‹¦(}CČ!?Ń%.˘ń-žpńŞŻ!w°Ů^í% Š?®…Úř‡-‘$·źlA2*ú3­[ő•[s·öíéĐO:`rľY§¬ŘňŇJÇőˇň%†SǵŔ UäP^űýTdTgęĎĂŶ 2áâŇpP7).ĆZíu9ŢvĂě (Ö¨ÁÚ6džˇ«¨ÔV!2îFă¶ĆV;·_jě-$,f‰@BMWVNfżĆµęÄŻ/5űÄĄÎřŚóFŤ„UíÜ1s•�)U(.ÍyłYŐ™ŁD\ňą·U©3ł+ľbůŁý őÇş•uV{¶DľÁ%cfP]JňiŰÜů4ŁÜŹb~ăxQż_\jlł]ťC\Ä#ŰAźś ~Ç´?±Ż+¨ }Czr{Ăßj_úĘ´«Ä2 5őˇäd˛UĆ´pęKýy¬oÄ׺˝˛ÖőĘëQőOH÷TN†pݸ˘<ňž&-ŮúF¸[›e2 k‚UîďĹ˝—ą" ď`Č–©ĚNč)܌ćËÄ8ó~0ô—ş>Ěn€¦IÍhN˛‡y‡y‡ü őAkW~ĎűöďşHč“.„ hżŔ7ř‚”ĺăţ)*ťíd[‰{†¨b§}¶RÔ+°©€Ĺ±ŢЇ'ăzŻOJčďKâżc¤KĽüĆ> {m?®>éˇ_ž7JCé°ć~Ä:ÜJ‡Ńż]:ý4b:Zď].á˛!X�dIňN�;A jH€lKµř•:ŕ€NÖ3X$K˘]ĎH)Ŕý’ďMqîZn6'Ť‘óüú9;s⤝~í¤=3Ü´—6_¶W_´SsöžúN{ϕﵫv]mË‹Ë6lëW5ĎrâóÄë'ě±GoŔä§›x7l÷Úît:ň¦›oL ˛�7:3ťXö P ř"FDŐ&B“Fy€gvL�(:yČ'c.ß)ź$kT‡ÄÍ7  Üh˘ž sńF×!2fD)8ů7y–:€ RP �, |ĘĄ‰”,(q”Ň>2fpťgyî±ÇK€yä>ęVnÚ¸©.©o@ţ-˝R©?w)kČh# ťô¨”vĐ'nť°Ň)Fâ˘ěäŤü3aRNňËóä`ťëśv±ů!ňJ<p#‚Ziî6˘a‰:áň‰ř]MH …2Ë=Š€lÉ)‘¶ÚZnU¨ŔhťŚ s"|ůË_NÄÂĎţěϦű¨7µ5“/‘čH¦‹("Ň‚ÜÔČ&/ôú¤ÔGr˙ b ÷ňňS?#ßüNşţçiňËÜCś‘¬!e ‘cřŤg•¶ć őOµ7éѦ´ĺ‚ Ł92s?uÁ‡ßĄ¶ 9‚t¸&fˇŇ&ď¤-rŹň@ţE8Ł<kk{l­÷6ÖĎÚ ĎoŘb8.Ż®ŘŢսɿí±×OÚ·žÁvßô»ţ°űöŰÂú)»pň¸˝öĐý¶ůüC¶ńĚă¶ŢäiieżmĽŇF7˝Űöz_:µnŁĘ–GËÉXŻ6`îxwÓÜ݇ŚORľˇN(›Hc"yÉő ů–Ş÷뺌I<#eő3ą!!ä.FíŞ9–{TO"z‘'ćTů¦–ŇŤźčkO1."YCcZ׉‹1+Ă÷ó·Ašţ6§”ça’ŽťL'—\“d5’Äý_˙ßí[ßz$)PüŐ_ýUţ˙ń?ţÇE) — 1鳬Wü·6^T"žzę) 6ůÎźżĐÄ˙­¤Já~/]ŠęĆÄŻüĘ/ŰĂ?ÚÄődr˝ńŰżý;ößü7˙ďězDľÄ­śh”XAď ŇPô[7ýK‰!śB…(iń'~âťk¨f<ýô3ÍűŕęäÉŐÁ¬$ ąľâ$şŇMjžëَȩZ7D蜇Ë3HYLŠTĽ¤hÔß VY6žţŘĽŐÍXAëş7 qóÉÚHËMbÜ|?ňÓßDPŰUŞpŞÚň}“ëŕo<ý_�­Á0“ÁąJ… Ş3-”VkŘ ť™\1–B˝×…x@§¶ý[îHtęEä W5đ©mHWäÁ�WząępÖvZyzŻ[mŞŁY&"ÄS»N¤p xNçOsýNKyĄ€!ň…×ď4«_4@ŘvKiËéő®vp—$m˙ÓzHkť´…SCŠÇĺ×ŮŰ·ő :=>úisŞÄăź–5Xłłł…z–]ż-wŔąöů¬Ř”/)Ň ŤăS}µ›ß`tr\­ŘÉ »”:§ŘÚÍr\© sŰSe‚¤˘”Nzű‰đÚäóšušŢőHĎ·ý´Nq%r޵Ŕ«�ßŘb_ő~4HíGÚ®0ČN—“ď^–ÇW•É.SŰY]!޸»Ź……–4ŕę0łŇďň QÚ@ĎĘĄöëZôŐ˘ÚF$b$жC’¨;§Ű¨–g¦]7$ôuť˘óľ0ę´}t?˘±ŞĘŇâRĘwRF…đŢĚA»V]I°˛K]E@N†AםBç+Wđ2Ź ŃLę&|—ĽM'č+q›1fŔ·ŇşĄÉÉ’·ÉxŇź§U�čG–ůj)8Y¦.Ą”˙“˝? –ěşî;Ńť™w®U(Ě�‹$HPÄDBŕ N)JE…ĶlĹł¤ç~ök;ŢSżđó—î¶ĂŠŽîVř[GČîEČݶ[á°%RAɡÉEʤ8ÉIśE"bjď˝™yúüö>żsÖ9u (�E”r#.nÝĚsö°öÚÓú˙÷ZUŢëHj]_wd¶.ľłEúË3Ȥě_ aý|ŹâÚÁzĹ|˝‹D’M©vń»9Ł›Đm‰yĚن7é}eŇůHeNhH=Ű[­Śâüe;I†­R.‘uǹƾŽ�eÔĺ$5ß±÷śwŢ””e´e&Ł–ôáĹú2z‚m’5ú˙.kłcě‚qß„Ä`L«ăösĚßţühI ™KĐy*µnî‹mß,óâ؉şő%ŽĎX_żźŚŁç§Q;żŘWÚ8ăů?ëçöV¶{¬®OTm_ŚŠGB{d5Łf,Ź«ĆE•˝[ŚJ›>f\Vy^e\µ¬đÜŐĽ“CNá Łyg‘i‘i‘éĹśâţ'‚ńĹNŽ'đ‹/vŃn÷-î\÷ő.f(p1©ˇýÄ}Ů0˙¸ßĐKžűRŁ%`7äÂÚÍ7ßÜĂ–ý‰„ýťäŰ1üńrąŢëőÎ=ĂŲü;íî›Ý7×·«aöb—Ň–vżÎÍńÜöbO— ÁŤŽáw‰ţ­VáéhŔ7ŚîqÍ @éO {@>†i@aâ8 ŁToČ9ÄČîő´Z˙ţ‹Gľś>łuo:şz¤>l§ď?öştÇáŰŇő»ŻO+µa„ëÖzBŕ&A• “ôňżćş«Ólkšľôĺ/Ąo|ó/ÓWľúĺÜ@ €r�Dęđk†čŃÁwC<Ä4d'Ery<úńî>?‡TÚ¦7�=aĘ+sdBą€ÁHňv€iÜAýJy†ü%H†ŕ#„‰Ď˛Éże‹3ŘéoPŢ5ÄI<¬ň€ęL>oyË[˛,őb‚Pgň¦>–M^€ĄŢfçßLfČ…6{¸ĺ·áUÎ-Űp(Ęś2â!?čýAď�䔑=ĆOŇ€„>ëÍDă�@?yxXŐŁ m”âűx,�8űâżűrÄáÇłĚ�ÄÔs=źčꋼ%-¸€�:Gď#.N‚ŕzf Ć•ę§žQć‡>ôˇ¶ĺ®Ľík_›ë-ËĐ06”­ ˘S¶TČKŇ /Ţ*ŕ7ůóť�††YäjČۧ·ľ×ŰŤ·<xŽľTć1Ôu ŹĐweÓ×|G»ě+ňB÷ô6~ŮWzZ |Úí¦�ąĆ~% Îóm¦®&ňF÷iď¤×+ëůďşë®O“XŔ•ň©'3PxüŘŃôÔäH:}ňxúĚź}:íÚ·+˝őmoI×ÖĎ.ĺ±}uÚxÉ+ŇŻzMŞÎOOŢ{ozđűŇčɇŇŢĎ˙qăŢôô˙f:öÚ·§ĺWŢ™Ýx¸._m¬ŰŞőâéÖó ş†ěÔ3Űí\ÍçŚ%t(şČ·/™żŃt[ٱa=hłˇjś‹ ĎÂűŽoC@‘ŹáJ“đĐsËÖSş'„ţvłPn�W­źx›•˛ťÇ$ÔPÉgŢ–%ucA°X¤ď$íŮ[Ča>ř­Ăp¶¬‰ŹgbŔOľ÷'ňs�x{÷îK?öc?–o©âůĐďxÇĺ±Ç8d~Ţ·oO6ň1FOÔsĹN ě{Ţóžô żđ ™Ř÷š×ÜŮ~‰îw÷÷Ňóßüżë±w(”ôHEžx¦8qâx3ÇŔńőŻ»;˝îußźëô‹żřĎňű˙čý˙ �Ů ĆŞžľtŮK„ĎbnýNSÎ=÷Ľ=ýű˙ďÓOţäOÖóeÉ“1˙ŮĎţyúčG?š‰(Ě'„·ÂSϨ1;VöQ¬‚´Ţh}†ą"áćr‹óÚ"]Ţ ýadýA/ô&v©„š••ĺě©…4$Y<SŠkŠç˘řú¨×¦ç+†çłŐÇ3Dx ö#‹rÓżśk:`Śđ™dÔ’ �đK¸ oF°6ăŃn»%=äG †ä«�U~Oб(ŢĐčnę@u+ šÇç�If9ŚĂ¬çő@Ywˇ3ŠŰýâm€g9ßś‡¸QUgk=9—ëT6ťěâÍůBhHÉ2óąF Î­j�Ú¦’xŻ„™öŔ&@đŇţyČo’şăĺ(@9 ‚€}e=°Ęľ~2é€íÎëD  i Jś¨·ńrüŢP%żiăńŁÓ)¤�TÖ±BJŢÎ`~r»út6żŹž2𼽝"Á%îó˘'ĽQęßDź—E =ŁëĹňŇd©©Ď´„ţHťŹ„uhu[Í“â!aÖ„R‘xĽó;ÁG^“Rg�´ ĘŃ}r¬/©ś±ŠŚ$üyÉĎôÚĐ@“† ÓÉA]Š^Úb˙PEÖü˛ßď{20Ôy*(yş—7/÷Ď^P‰¤ωŃëŔĐČçű=¶ÁĎ#@k;ă< Îm€ú#ńznšěŞĎ[Ëç›ĚÉ´ľ¶ž–ëůś>]¦ţ©ަ܍/ É(Řvć…`ÓDJXĺüĎŤ9ʮۺTćÔQ#ăJ˝7”ćŰ;ËÜ5ęéü¸‚çĘś1_Hn©g0¶ź-§#̲‡~3ď±7”p8­—HŢÓM±ç}ĆúNëZţlÜőc‡ŚçFŻô¬âühęk©çv/¤Ś$őÁ6 =oú~4F÷Č˝Č)=”‹:©­«§©!”ÍzÄ=ĽX7/ŔŘ?–ŁQ^(yzŃ ĘnH˛0︦µž ĆeîkÇ cl4î­ő1„l±)žĎ{`ç[ \ůąIꍧ!ik8×*ˇ8žWÎGQw»vv!Láf'!…ßĘńüésis|>-5ˇPŮ«Ťl¶ë˝.اO*e}+ëöŔ :9nĆ+ýČ85¬˝Qńlum‘i‘i‘éĹšÜO ×5.@ěÝűĚ?âžo§łçďÂŢÂĺdɤ‹­ŁĂĎw˛ËÇý,öđ<Wp©™ÁěYÍ+ţţű™Ú4´Óx ™ý¸±űÖgË˙™Ú2,‹}5—źŮ'‚K‹…\,˙Kه ËX,ľ“†�C=›[< xűťĂঀo�HX$- t“ `Pdžśg1xçŤţŘąóôô‰'ŇçúLúüěËéěŇŮôŞÓŻJo|ů¤łăSéŘS'Ň©ăgŇŢŤ+Ňűňqö‰'O§ĎśLW8®<tMÚµQŔŕkŻ»:mO·ÓăŹ=™>ó™ĎdO ÄëaŕżúŐŻÎ̧čńŔťě%vęGť!.Đ&€VÉŮ G=Xh7 $‡S=uHZ éą"†KđP« rtR‘8 a‚$°î$@ŮÔźz _ú„úňC>´°Bf)J%:PÚHťbŮ|&9~üăĎe˝űÝďn˝R…6Ě@0Ɇ:˝Äv{ófJ<Soꣷ‰" h;ňÇŰ‚dYc&ń™eËDłlăĹƲ=ÜĘÄré_žÓٞŔĹ82•…Ć-bÚ łŽ6ńeľîuŻË€·Dĺí­ęÉáŃźžC?čkdJ‚ą§Îď©7í€ěνë]ďĘşN×”K»ĐĘ64ő˘lô€~¦l źČ”ţ ]’xý0ß‚úŇfžŤ`‚ÄäB[tŮŽŢKŔ ďx™üŰ™‡x—úZ6 .ßZ‡ţá}t=3ÔaĘp,“5ďŁ·ŽŤH“PF{ą=Çđśád¨Kguż¬áe˘6Ţ­,ďIë»v×˙ś¦SgN§Gz,}ě“Oë»Ó-ŻĽ5ť­Ťčůž=űr<Ň%n]íYI[+«éčkÓŢý×§›ęąěěßJG8M˙â3iňGďO[źřéT=_ąýťéÚknLGöL+«™ÜŁ˙F¶z%’4a{«Vă•FPęDŁc|/iڱ-Ń yĐ×č˛â–˝2#/Ęĺ==•ĐóF%ňó¶ŻŢ’$¦ˇ«†‹AŢümú[ĂŽd"ć őS(‹›ë‹ôť¦n¸1Ýu×÷§üćoÔúu"Ý}÷÷gýµ_{_^kŢůÎĘú÷•Ż|9ýĘŻüéoüŤż‘çleMš¤;ďĽ3DţŮ?űg‰p1~ë·~ł3‡Ň?ř˙ ř‘îşë5é‡~č‡Ň˙ô?ýĎ9ż—ľôp˝6#éđ‚qăŤ7d�ě¶ŰnO˙á?ü‡të­%DĆoüĆo47ůŮ+=™~é—~)˝ä¦ĂéGßý®<˙B>xík_“çÎ+\‘Ž?V”îŻ0ŻĘ÷ż˙ýy|ăP& ˙ń?ţÇéůH?ń?‘ţäO>•~ţç>ýÜĎý\žßńő‘Ź|$·•D”ß˙ýßOżüËżśţÎßů;yžţW˙ę_eŮÝzë«[oW?\ö–Yţ—˙ĺÓűŢ÷éÍoţôŐŻ~-ýÁüA&q°ö,Ňĺť)®/ĎuÎ4Ţ·oo»‡ż”4tÉomh‘$|7$ëÓ‘Ă—8R~đr;ĽUÜ×—[ö€ç„óŚÂMgu=ĐÖÖk5Rqomrä}Ćx%łyÉgÜURĎCýÝ7÷oÁ�zAO%Łć¸Ŕ°{™|!=7 hZ\ŐĎ`g–É€ďëëu–V ą`Ü…Čá޶6›ü‹„ńŘľŐ{…Ä÷ÜňĐî´iBť,\Η~5ä~ÁHoÎł'ZmĘŔl˙6éßěĂ'•°‚ňz©YLŰşĆۤpö$eđŘĎ%ʞwÂM;{ŻŇÖĄś7’Ć–˝±Ţʆ7qÎý[RBLžŹ†·uř¬%ФÔŢ(Ď7ŻkĐsŢç…T@(“­Ę-{v¤¸Ľ´Ň–E%|!E˛·ŠTú!Ó“•F¶%ĽŚ€j–é\FT (J,ŠD'ű]o—ČĎöz7ô]i×Ú1*8ŻćmţCOL-ch–$#yţ,á¶ĘÍ÷Ě­ézŢ„Z[[nÂg bV=âg=çm>>É2Ú€|·z:cďđ‹m2ęDö®ŘčtgÓ&,ç•Bőô©ŘŽs⸱7M§ľppš›ůu´mh‰@©x HĺÂ|űl ŰSôÇĐ;ä§>Îo@|źŰ@ŢÍčśÎ:Űvë˝AŘ·‘„`¨Qć&ő/öcÚy˘6ł~I^!?ĽH +úTdł¶¶Ń„Ü<›‰艗†ŤÔ·ťČĚŮŽË2ŤńCߨ!ËÍŰ9cxíHbť‡ ÉEqťówU lźďÖ†4Jm]ěBXéBiDRK$/i‰$ç¶öV&z9*. Â~»„­Űč‘´†8J˙/µýęŞf}"\j}¬¤V_őüičŇ<>–Îíy{BIĄŞGsĽĺşÔkóĽYŹăşc⻕Ą˘wÖ!öˇyfŮ‘gł–iź‰Ä’HŔR&|žmpőÜ|ľ^c6ŮÔkĺúĆz&QeŇK}¦Ş¦†'+Ţ(k)/úLťz¨)cÁŤYă #BůxjĽZdbĆěBÎ"-Ň"-Ň"-Ň‹1 řHŔ}6�˙™ľf­ĆΩ'đg{ďRĘđĚ`¸{°Gě‚o}ë[{űúo'íTű&/ëŤ˙ůČ{ř7ř{qpÄ×|'iÇĄÚ®^ é˛!XRëĆ4CˇŃ%1Î{`5”Äđ ,Pyôé#yăŠŰěsg·Ó‰“'҉Ż~9měÚ›ě­ŕŐIzěéÇÓçÎ|.}méK50ąšŢ2z[zŰ÷ż9­­Ô›«GYůFźxâ±ôČŁćü) ÷Ş«®Î‡E• ĆýĘĘZýyJwÜqG&!°ńč€ćć' âöŰoĎď�z[šÖ� ’|W₇HžTń°ŕçQ»AŁ<$v¸ˇQôć€Ěč‘5Ţ(8P´ĽőOůČÜC?Ďđ,˰LdBť’ý7‡Ľ!ÉĂ:q8GN|ŻA =Đł >ůÉOćç‘� DxP”8@9�Ω»a$pĐ%ʦÝč¤U~ô€Ň€ą¶ŰĂuá3ú Ů)€:eó˝·˝Ąó>Ţ-Ľů_nźhĂżhh´?Đo#3@ äĆ„†¬ľň•Żä¶á _Č7Ž_úŇ—ćw`Ýi`Ą?ôâ€ŇvęA?S6·p‘™ä>ç=I6ČÉ#ô7}ô±Ź},˙†ŘA~čł.*=đR¶ág,›ď(6ó>őWirŁĎ ŤAB>Đ˝—P®ó2×[ŠăŁÄz=“żŁl XČ]ž6éą‚±™& CżPßĘDŰ4D¸ŕßRhm—Ľ˘g ĘtÜ“/˛ŁÝzN Í’źČ‹v2n9>5nAĂ@ľ)“ňq?ť:q&…L?ţă?žË¦ÝŹ?öxzěŃDz.IlaśŻ¬íĘ„‰军ҍôÝ»~*}ôˇôôŁßJ+źüOi˙ç>śÎ×Ɔ•ŘşăméČńGŇękß’6vďIcn6ń~·ëßGŽMk«ËéĆ^žfŰÓôÔ±§ęş?”ăĚ΄±ą]§{ěáşOϧ›o~e»‰q °ŻĐä#aBŠĆ5Ť&ŽuÚç\Šžˇă|Ż×#žgŽB®Ś'őś>ŕ=C9'tĆ˙ľË3űBC}ë:A˙Ţwü›i‘éŰM++Ké˝˙Ő{ŇÁ+÷fÂďüÎog}Ç;Ţ‘ţţß˙ű-9‚9˙˝ďý‰ôkżöﲾ˛üĂř˙«÷ ×g’Ĺ˙öżýóô/ţĹżH˙ý˙ßĺçy˙g~ć˙QŹ÷]”‰.˙Łôëůŕ¦ô[żő[yNf^ú©źúŻŇ˙đ·ëŃßű{˙ŻzÎ|8ýŹ˙ă/ä}É=÷Ü“ç†Äő×_›ţë˙ú˙™ţíżý·éżýo˙ży\: ď¤Wżú–zĚNżř‹˙sns±ąń2ńËżüżçüţÉ?ůŇ›ßü¦ü|™S#Ëş€žĹť˝ő]ÔPI\ďţĎ)ýëýŻÓűŢ÷kyś"ŁźýŮżť ěç66ÖŇ?ý§˙$ýËů/ÓĎ˙ü˙'ËůG~äGęvţ˝ĚĽ'ĚČÝwż6ý›óoęyd-ýÍżů7Ó?ý…˙!ýĘŻüJýŮżĘűŁżý·˙vn ©�ĺ†ň"˝¸RÜăĆĎHîkŘ7˙“ů>Ţ .‰ńyĹűZĎjTźô@ŇťęaŠűť”şóĐąs¸cźć9ä…JŁf?,Ěa|ú.,Ew;·kSŮóB.€„  ~s¶ęÜÎog`b9ΦÔ°Ď.ţ3¨RĎ…Ŕ0™¬\�ÄPk97fIŻMË‚A<ęa+‡/‰ýW\ě—đC´ďĚ™Sőś3+`ôlÜżÉ;ro‘ZOĘÔúĆ8ĎyEK9lÇ({±÷nř u©“ý]µo ’a¦¨dG‰Ž .ĺĐ›ąŹcGVŤý÷dCrEÍ_Ϧγɸ˛B0®p·ŻĹ3ĘF x±·”…¬Rn×/·í Ěőŕďó«=˝A.Ú"Đ) šđ4zVd’đ0›µŢ4˛TůÜPM]ąx±gTuc"î ŹfÔz0Đű űęÚJK.šÍ‹÷˘™Ň8�¶´ŁĆÔ…!¨r‹Î3eń¬ÂŘ*ž$Î%ř0YOëuxiu©‘»ˇ2Ď—0ÍYݱґZJ]ÖÖŘŹ8ćKÝ$Šđůë­°„ţKm­-�ĺů^'ě»n~3,cxŢ^¸P˙«‹g”q;ŻHřáyĂ‹ QoŐUżĎulČŃsÎJm˙a<˘Ź'Nž®ŰµŐ^BiGŢfĄŚ1!;[Ř«¨‘\âĽj˛ŻmëpŤĘăo?ĚqČf©ťš[ň©˝\ Śđ˛ŁŚ—ę1® Çşř˝@˝žqŽŐ«ź›˙Ţ˝»{.ŹKůŰíśťIŔôS­Ű»7vç±lřFžŮ»{Ož{ÔéL�J]¸˝­9/Břďć_ëI;}ď.ýs¤őĘ}ŰH"ąHęŤeŢx<bčç’VFóR÷ě­dÔż-ضˇY»—ęu2•sW$TvBŞţzÂiRžAŁD ú!žW‡—ŤĚ_’Q$„"GéżÓgĎ4Ţoş1˝oĎľB”ő-5âp ÉóEĄRŃ2{I9őZ9•u>Ďjx‰hĽ0IpłN+KËťŤeÔÉy:ë#ąNá9I î ËQ/âĽQ<é,ç!†=[ĎŹçëý”9ŠÇ‹•¶_ň<›÷tĄ”ßôÓĚö”7‘\“×çZ–ËŐ··\¤EZ¤EZ¤Eú^MÝľŞ„öŚDqűo÷ńţHrŐk=k26z°Öf÷Ęţ&™—eĹĽÝS{aüŹţ菲=ď¶ŰnËvĘń,†g”Ř–ÎvĐíMĽ0"ľ`„1ŔŘŽč…-¶'–ĺd9îëü 9ayá×|wjËp÷(ò,‡t9,.Ő\;şÄďF—đ{t‘żý‡ßţL’ţ&ű?|š:ţô§?ý):Ŕ �2zy én�%—áí!÷Đép€”–ćUu~p‡Íz:JGŹ=]ʤ#gާ'¶žLßÚřF:»q&˝üôÍéM׿9˝ôšó͂Ѹ´ňA˘ ßŔYî”@8j}?y–żQfę…!ÉMInđB ,@MoĘÇ„ňÜúFw…�€®<18yŽ:.ŁÄ ?Ű\¶ěrŔtţ Ýö›8Ś�ŞJz°l@Ę:„ţ!€oćÓo lľ§-ĘŚg%-jF#2ý ú| Ýwß}w.Źö2áé=€w(Q_ľGžĽC Čn÷p)0ů z 9ůń.íÖD‚Ô žŮß”IŮ’ čSd‰"s'Ęá{ň%OnĂÚîŘçbŮÔ 2yÇIĽő*Bť }™‡÷©ó.r&ŃxRśŽí&?dÎÂIČ3Ě)ťş÷Ţ{3»YżńŤoĚĺŰߌYtŻÄSÝČuá;CxDHQŽč¤ăKŹôűĐĄ+ăLB úDôĆ‚Üňaż ĺAŮČç k3ś[xƲŐ䦞u7ˇ ! f#‰<éW>SĎČß°'č�ň¤ŚńúF(zN!éEA$ĂĹc ·ŇéWtń®·Ó ŰB9”ű;żó;ůo@@ƤmpŔ3ĘLŇš•˘k.°uť<•Žź|şžĂNçź~$]÷'ż[~>Í—×ÓĂë-w¦Ą[ßöí?¶&«é±Sgk#Â8ÝňŞŰ3pYŤçٰtvó\:qěhťW˝a9}60N]}čÚtőµW5±Y—{í–´ŔüćÍ4e©áČľň掜ŰČ'ÚŽ;Ćb(ˇÚh Ź!śtaLţ<Oţ†ŚqcĆóäçśţ§űí´«wóí­ÚP¸Ňg&©QŽť<Ü *˙¸[¤ç'E€˛Ű w»ˇś… ľ vâng˘×É3é·ýŕ€§)nÜ(^ńŠ›Ó"-Ň"}ď§g#X°ž°_cÍaÂŢ&î/žkbmcOÇ:_Üé_ś`q©‰ő¤„ßŮőśŢ#,ÎŃŁÇZsĽ:¬óoýţÇŇ˙őľµŕYĽ™JŕdM÷o�ÁŚ8?ú}4.ŔĽJžşĄwĎ8Î@avLq™ż€¨ľ!gţ—ů_’Ćh�.J™ôŚ€’F˘A%Ę©Üü_E @ZnýngŻ· A ü‘đŤ4 X]žŁf?Ô7şŻý˝í5 "şÇu/hę@=oĚŹ[™rByŤŃ&ʢl˘áÇçý)ý˝Ô#}*·ňcýµ¸?ăw$gřn˙L]5�q?d}í;Öch„łü(—¨K‚·Ąn%ŚH4Jĺgš¦Ĺ‹!E.ŰyŻAŐăçtuaFŞĆ»ŔňRЧŞ=؆$veLŰń`41źq–(!îÖ2MŐöo<Ť%Ży{ćő†ľúˇűýŢFžďÍ…2<LŤdÉč$@|ŃéŞWG �Öݶ‚GŐ“ť:C0Äł·:căyA/Dcő~×>@�mAn‰6“–DÖóQF$‰R;F•‹Rî<“w$·ĺU3öGóŕĺ&KşóÄ’  ŻE“ţĺťŘżSČ7 ŮŔP›^ř‰ós4°şAÝYmČ0T˘jH †^„ßµ»–Łkkž729eÜęd'‹Ô ů2¬C¬GçyĄęŤąčŐ"†‹‰—F˘çčÝÂ9ŶŕżófáÜąHm-ń­ń.篎p×'EŮEĂz<+š?ú,íĂĹüMq‹Ä=UloSD· δÖ: a”;s"S$FÎae˝,:7.3ŰĽĄ$ő´íM…ȇ¬ĆŁÔ#ď9˙Éd¦ÎëF×®vDĹç˘7 ęźç·ˇlx—qÍOśOă|?ŁęF!^vD–ř<}ósďyy:tp_Z«m´ť9­¬I“ž˝@ťí~/ě/TúnŮ i‘i‘.×Ä>\„ ;Í;Ďłźâ'î}Ľ|;Ü?[ŠeÄ=‰ý& âÁađČŢ…íަxÎÚ©Ľř=kBlë·űó–±S™Ă˛âß®G’”É[Â÷Ĺdv1>[9î‹x˙mo{·áćÉć÷lđS5żçá§ ż‡?é"?Óďáż/hRz–tŮx°HčŁó-=dbŔä‡ &7(ůžď˘Ű|o‚“Ź·ĹoĽń¦´ÁÁ¶.cĆFzi;íÚSęW,ĄoÎîKîy8íšěNŻŢĽ=ÝT˙Wť¬ßL+«ő!iR 3ä%ŕLŮäK=d×SgËćÇ0�ąńć=  4nşr![/á� hÜ ćo®cd…ŕŔdÄ@×[‡�!�3É[öä‡Ü č2‡>Cf xFW1f^–•řžvńĽÄú‰˛ő&Âs´•şęúź6 #7üČ$ßRŻ'UžXÄ´Cc–&Ę@>xü Ý?őS?•Ű# ů1 ůŚ:‘/uAć€Čć @N˝)b ď1‰ˇSäë ŽxŔâłŘ§OřŽ:Ń·č!r2ÄýCŰ(ăş“}ĹgÔWŇ‚†^äAŠ<ëˇŔ0#†MáG"`.ż©ůÓfĘňć$îŰ%jŕÍ2ŔţĎ˙9—čk˙ ?]Çۆv¬FŢđ˛l<e˛zM{ÉąŇFŢAG z8Ű_ mw4F7y0Űzű@‡ůŚşŮäg8 ž1śŚďáĺÁńÇ{äáÁ'Ţ.ĐŘ@ű ?Č[O,č ă×qŹQ¦e“—}mh C€Ä2,7Š) = Î yŹŤsztŕ3ôŤg(ŹqIB^,nČĹů9ţˇ]Ü674Ť2çoĂ)0§Śę’=YÔßS.í[Y^É7ż{ň©ěşőꫯKn˝%íý‰ż•Ž=ü@:úÍŻ§íGîKé/§s˙éWÓą3őĽ|őÍivĂ-é¦kŻI›§n¬ ŠkiŤ°%´i}#m¬®×ýq<=:}4Í6·3逼¸˙Á´DH™˝­ľP_ő1® B{ݨ ÷hüĐ{„471|ćFźQď0ź–ŰV{sŮW†®"Q¶ájĐ]+ó˝ó#7ĘŃHş8L/Ň"-Ň"])4‚–1č·›XsXŁX—žŻT€E@ĎçF°x.)»ËźN/8´w7.&Ée6ĎuŞŞ�÷ P%ăTź'˝Ěf@ęßţ-kµ7˙Ă÷¨€Ń}0rŇÝJßnN2Y ‚MU協QۆĚV ÉŁ=˛źy˙Ćy”K Ů´yÇ[Â4[[“ř]__Nń–v q˘Ű~ “ v`ę46Ü$ć;ëRĘ(`LĽ…_ä-A˘óĆĄ—„ń8Ż#]'źí¨m=L‘°9ŰĚçěąÜs÷Áőy G’Fis(ít¬„d(6ł7‹2—ŰůÔä­Woţ÷ŤM†oPWăO¬żŕ{4őoZ5 bß}/!BHÓŞč#Ţ)Şć™Ňç4SźH%\Fź`ĺÔęRsÇ%zŞő.}Ń×ďTÚśÎć›éçrx‡rS{Ą[)}x\u°Ě¸ź$Ž2ŢÜsÇąAŹ?ţ]Ę/˛čH/%˙rł?‚ţUŻţÝëĆhŐ|'ž3‡ŔągŰ(ł!ń&̢HĆPĆľ§7ÄâäLn/r( vG®Po”ý¨!¤0GDŕÜ2ěłČ›őĽCD�ą§Ťw”.dH™Ű�˙‹ś¦-‘+`&‘¦ą//íC’Ô!/a0C¬Ť‡ácŞŢY?Ú>ĘŤ>H3eŽJM[őp˛˝YĽ°."Ç|>#DCŐ…ňé<Ďt$˝čI"ÎżŃcÚĘt(ßn~·y8ŹYf$đdM pnÝćÓ˛Öu¤ŽZŁ*E’›çń¬óţy±[ŰĆ­Ť(÷Y?ŞŽ$QćúŞ­cţ bŕŢ"ęóýůČĐ—z’‰í5LM éSCqĽ®äp>5đ_ż«7›(;H„ŇITX^iÜ^çú>¦ ëŽ5ŢkҨCĘ Č.µmęĽőlőúGÝtnđ'†\Q¦CL (s6ú ^ž1Träg«ÖÍŐµŐ^(.ë=\;Ě_o,‘0éĽô\€˘EZ¤EZ¤EZ¤S:xđ@:tčĘüďHHŚëaĽxÁŢŹ‹'|náÖ‹y­·-'á:[DgĂS\¶őö·ż˝Ý˙Ç|/FlŢ© ’eX^ÄŠŔ) +÷Äć=ü۶o,+z¬OOĘěbmŮéË?^Ö/ŰĽŇeC°ŕv=ĘǦĹčBA�©tď cođĂgü ¤ >Ţ÷¶ďź­>6ů¸«ÜÜć€v&}ć©ĎĄŻű‹tbýXş%ÝśîÜőštčú«Ňü| 4ž9—|´egU đ•P€Ô–Ö�;=q(ा” €n¬Č첿ůd>ŃŽ‚& ĺ' D H´YO ´‹$7Ęůl¤otC@ąu§ĎóČRŕЉ7·i@4˛d°‰…g•ą7ęoúI–M�b)I|ŕLž”-Y¤e�Ri’ž-ŚÉw|†W~>|8»ívĐŇ”#ąÄ˛)SoL(†!!ĹůÓŹŽČC`ůń,ĺ"?ÚI=·éI �ěü¶lôŔ>Äw˛uRµ©—$őC0×I—÷ąa#Č?†I0¤2ńŔçŤ$Y�FRşú‰O|"×€@BŰ)Cz˘· ňŇ�E˝ô¬AxHÄľ‚0D"€lťĽ=”’'Ž) NtĐĘ…(C}YxôľB>†Qn,J@— A{ Âß÷(W7I»šŰ0ĽGŰKÔuú*ÇÔmH=ÔOÝ@.č} ËŢTâsá8)úđĎy†üiurŽqüňăŤVočQߨ—–݇ÚJß°A@Ţđ†7äw©‹ÄçHň‡°Á{´â�ĺY6ď?q WçkyÖź]yŕ`şęškëňëy¦–镇_žľäĺµä]éřŃ'Ňc_řt:˙ÍűŇ'źLŐ“÷§Sź˙PzřóźJW^{S:řŠŰŇÚ•W§ńŢiZ·˙é#OgcŘu×_“öîŰźŤj'Oť©ŤigÚ~w>Uěl7ő&ĹĐBŮ8Ř„üaLÓ®čŇÓąď%şŞ+Uô¬´űx«g|Î;č#:âs¬S6ĺ2¦)0<RŚ˝H‹´H‹´H/Ţ4śÇť˙˝i÷ßNr˝+űąI l~'‰:*ż°©Câ­ÜHn(®Î«¶]€3¤ H5žś –Ń_/#(\@ŁI�‰gáÖű¬+RÜ‹ şĚ#Â(€çĹ•|1Vǰ%ŃĎnĘ É!:pL@·”;n�. ]Č’«˝j‰†HYĘŔűé†pR…›ýĺÇ[çşS•ËŔ­lćŮuzŐ‚ĘĹ@raŘĚYR·s$č!ĄfĹć-)!·,�Ľ ň|ÉŃŔdŢî9í·X¦ů›o|7޵˘)G=xRx!ľ®®ÎłŽ•ü:ÂLy·JzäčŁö9 C„‚ÚńÖ´˛‘<®~ŤGăž1 0”đů\8E˙‚[ţŃä‚ŰńÓíYŐ1ŁĚĘ çú<^7í‚˙ŁĆ3A”iě·Ř†"ÇICV9—ź#d$&űÉńmť_žyĐÁ"Źn G"JßcŔRŁŹL:="ˇQҦůbŘ›Ş!U ĐŢŤÓh„Ť şz;ÔMŰĚ[稣q|Ä3xńfPĘE–†iX]^ą€ś#¨ťř ĺFý˛üxĂҨOî‰mëĽĚŰąďL_™úŐ’â¨w3§Q;Î+Ľ ÎňOń¶Óż˛±±+­®¬fBA™#S*!XjYWe>ŃŰH”U“K˙Orouó ýQ+§őŐµ´ÝśŃ<Źyá"Ř]ţŁŢ|űzzĆłx4Z«ę`Ô!ËůćOŠŁ^Ćx.Ł*ŇŚ�@7†ëvη{őęĆĐ$Ěő}–CRM4«C]ĐŽÓ#¬4öHlÔUۦď cĺdľ’†–š9�zXéëQ;«&LJË)ĚSł<›–ő«ľđ^±ťş°*Č·‰-Bh§LÄŘ*ŢÂ9zhDYlĎĐ3VěĂÜ©ňZŕßC˛C\˙$ZD»®:Éçq­‹€„ůÄşvëŃü‚1żH‹´H‹´H‹t9§H¶ŤÉőYü…ul›˙·†őb‰u>X,Âoąĺ–Ľd¸ż|¶¶Ä=Ű0INŕ7íz“÷ąg+‡4ĽĐ÷+^ôeog¸űç’†ű©‹µ‡ý¸ ¸ žů/—tŮ,�ŞH(L�Gt`•†oDVş·‡Ůŕ2đčdłO<u¤Ţ¦?•vm¬§‡Ď=–Oʦ/Íż’®\ľ2˝nď¤Űwßš®Ý_~ăĺ|›·Ť�Šßřú7Ň©ú}ľ·îsśČP6eP¶,$Ęf2mĹű´ŤúS?žăoĂ‚ď@¶`ĄÝźýěgówlÔQXA»čÂŤ=e�’§îú¨·e+I)€Šä ¸Hů�‚ü&™/ĺÚn“¤…*“WÖzaJ(;ÇHl@u'Hú‰çPôš  ‹ ‘—DÚL ŢH¨1yhAO([·:ü-a‚|u…#)Îňť‡PúCO$ÔŰ[�Ń‚÷–I˘]‘Đ 1‚Ľ¨ż!1ôfâ¤ÍoH˛î$‰Đ_z)ˇž–…ëĉ–~¤NôąFkeCűh ď(Ţ#_ň×Űß ü"+ú˛E1 ­çş ă…$&h źëŐĎwÝuWž´Ő7Ţ•\ g�rÚ»|ŽQŢQ'iőÖĂý˝KđóúĆ$Î;z/ ÝÎĘśw(—¶Ńf~¨2WŢäAý<$¦;.ă-Ę懲i7ďé˝�…ápt‰ĘçĘ“ĺSŽŢôP"±‡ş˘Ś IRŽwűQ}¤ ÚŻ.:Î ]ňąĎ}.ŹqŘ—Ô—ĎŤ?*iAâ�rTÂ<@ň-ä ú™;v$-ăA¤.ďÜů3éé' q´§‰ÝĽś–kăî pŁ6ĐM®»9­]óň´ď®b`űüÇÓĆSʤł˙ezč –Ö÷Ôz}ý+SuđP:=ZN_úĘ´go=f˛üę1¶Z«i»6Ü0¦}¤¨¸5‡7˘sµîĐö•|{fąő ăüŠÜkČDy3żč>š÷$ŃFtÓůJ˘ńV‘»ž+ś‘_,[ă,?ĘM}EޛٝęÂh˛H‹´H‹ôbOŘýw<˙:'‚č±Éu1ʺم€śĎ§= ·UřFSď@XSö§ťKňŚĎ[Ň‚{8>+ůŹz7ćőPę–€­Śâ±RbD);µ@Ľe”ż«Pç6w�Ę8ył^Ó|Ęß[ůyĎcÜţ=w®„qÔ–lŇýôC$H6™LJxN–ťÇ‹ŽL=!”:*ٶĚGREÚˇ-©Ěgá†oŚĂĹH´WOôđ0Ľ‰oŃětŰ\`ŞëÁůŇgŘűmnnµ·ě——ő”QÂÔH`čt#Ę©juŻ«[j‰(ńYë×ĚçĽ0µ ‹z…ÜRˇěm3a�Ŕ§”KÝ.Č=in@§LmÇĎ×z“ 3­zóT!7\x;:Ę9Š^”Űé8<_ź!Nä6Čo6«z„ŤťÚ,:9¦¤7˝Ďt!*&9żŽ\0ÍcÔŰę<Ż7‹8.!~H‰ ´őqń|%ąI]µŻřĚP8;łĽő»ĚŤÂöEĚÓzŁŹÚ ĐIúwµZM1¬€vm+¶›p!KăqëŃ!ިŹóBl; >’rËňÜ °?šw†ŕĄ<vFĆÁvJMȆ­­Bš˘ď×ÖÖđą!A–kę^ňe‚K‘uŐöiçI¦żFDŹ“FGÇ´ł˶˝_&Źćr‚çx=śx–/¶=“oCťŹr‰cŮúE’ÂĐËKGžę<s”w›đófţoJóŞ?Ç:Ěć}ŹFE®KŤ›BÔŘבŔR[źáľ#Ó™kŞÔkC\•Q!¬4HÎä~.—¶2YťĐ¶CÔd}Ż:ąu¤•Y;–2b”F=9AU’%aäI+Ź ę0™Ě“a‰˛ţ#§Ş[ăăřŚýçú÷f‘xâĽ=–řśŇS^ę†ă3ŽÍXI/ ĆSŹ!–$šĹľ‹}u1ŽígWi‘i‘i‘^¬)ž3/–ň%ůÚŹ×{ÖUp,/Ç}Ó0E’A$QúYôfć¸+źăąâŽ;îh=3 Ϧ;í!/­ÍU‹cŃđŇ3µçą&Éŕt´çĄ/}i><źeČý`‡ţŽ=¸~/ĄË¦%‘9€…R Vň·@®îůÍł€`zE�Ŕpă=nH?đŘ7Ó˝§ţ<=Z=žŽí9–n<ySzőäŐé¶˝·¦˝{öÖdą¸˛Ë̢­lÜŐŚ+vďk•R€ăe뮟M4@*uĄlęŔFč5&)’÷ éá!€ÁJ}QPApľcâ%Đ”6: ÉĂ›Ö�Ł�І10m’ŤóCŮĺ­DÖµőăyÚ ­‡ oě<ň,ídöĆ‹Ěx@sI ´9éMŔCŽEV,�•ńŠŔs”ü%;T{KÝ-ČRąîgő Áo@dň‰†3ţކɆ3Ľ|µĎ‘1Ţ(ŰđŮU`ý0›2%/í–\áÍľ@Ž”Cąşą%ę/aŮ“ňÔ«‰á)#őRĐSĂQđąˇe$»P6zĆyĆ3®(źľFv´äŢĄmčáWżúŐ¬“oyË[Ňë^÷ş,C E”eÚHß!ä$Joč y‡˛é ÚNţ|ÉäO~ÔËP,čŚ2§lŢs¤ Ľď¸p!”xB»!2ńŽşÉwüM^’5ôJB~”O˝ CÔťwµFF>7dşě8ç߲y‡~˘]$tüů[˛†„2ÚĚ:@Ů´ĹC|‰c6moĽŇGŚ!úüž{îiĂĺđ›¤'tK5äkŚ®čM…d|]ôňŞ«ŻI˵AfZŁ~»6´./A@[J[Űu?ś>—Ť`7ÜtC&M,ań˝áp:˝y&ť|ŕţtî±Óć×?—N>ú@šÜ˙çh9˙č}ééűŻOk·Ü•Rť˙ž×¤jy-ť>WëŐŮsőG+mx Ö]#Şşîه {’y˘‡ Ç=ź0c˝ŐţÖčÉżőv‚¬Ńqo†9öÉ™DněřśĽž~äKi‘i‘i‘^éR Ý x9»Iř&Űť1Ââ)éÍÁ!Ł‘ `éđ<á^˝¸*ďß>.ŕGG^(ßGrAjĘó¦ů8~(xń]ePNR�!)žş2ć 9`–:OŢf.mĐ.í§Î3BŐµ;âIiáA�™Ęžú\»OŃ{Eú»Űí’":0x€µYë ŞR¸‘IČrŔđ.ä‚íęÍč¨ëVĎqń¦v<×÷ŔŇѨmG<AîŘßńćľÉďńČŃéá<“Mvď^ɲ,!ă6›snGL(gPĂ/túp¬'ĺ xč#?sŤwę}lg®g&=LłâŽŔZ6ň!Ë ¤w$L�šôoýç÷Ră~ U­ŢoOg=9Ĺpzx±Ţ±_"ů©ŚÍQŇË ă®čt* űöVŁ+íąŘ1®>Ä›ÚQźÔ{Ë(rš÷nspÖ‚ňĹ»KÔ÷Y ŤČ ‘„ÔÉwŢ# Hür°żb_ÄPGž†€®ďř÷çĎ)’ŤÎźë<čTiżj=~¤ŇŐó–\Ô÷b˘ %’D"°>΀¸ő“ŕ"ą­‘#ŕnCÍ Á"z?€XA_ŻŻm4JR–3©fɰ}иčMÔ‡ [G˙ÎşÄÜ“˛Śv|çńX2Éy{4tóĄú"‹Î jčé!öm¬Sß‹DźLĺ˙mš6žZ&Ťw¦<ŕáaZćaľW A-5®źó3Í<#1Žń3® ŃŞęe>ľĐvŰŽA¨šnśĄVŢůĄŹKH¨2祼ć”P3«­—MçÁŢ|ďX—ądÉżÔ1{’JeÝa>.$—&HŹ|VČ}Y†ŮŃLG’€X’$a4eä°9Uu!Ěţ‰)ţ=$ ¨Äąh‚ĹödelxW/ľˇ—†OrěGTjć‰č9E"Ń"-Ň"-Ň"-ŇĺšŔ×zč[É3LLî·XCĹQÁşř˛ĹĄ¦¸wë.ot{™č)\l \Ś5ů‹_übĎ~÷Ă=ĹĄÖE¬@,YśďůLžoŔhŘe şĎ•˛Sň „÷AĎ·g‘żĘtŮ,�˝I·Nntşę5Ŕ›ď†ä0äŢ"IĘ7żĎ=•îźüezp×éŕÖ•éć=ŻL/M7Ő‘q:ňÄŃtöäą´‘Ý rSăL žHgk�ńękk ěŔˇ&.âĽШĽť Č2±Î† -ń 0Ú¬÷ň‘X8H[xźÍ>m5,Ä׾öµěú_pOxŔVÉ)Ź"Ah˝IđC>äĎů�ň>’şz``ŔöÄ0�ŠŢčçGP\BŚ$†čEvH’Ń[ÉÇ?ţńüÝ÷}ß÷ĄWżúչʊĎab xźmn°ÓçŃ]żŢ4îiŹ^Ş5h( äI=!Hp1v*ő€W€¸ühŘ@†z0eé9Aťµży>’čg˝kD/čšFI ČÜP9đ U`= ű\ĎtĚźżßô¦7eť3LmţĘWľ’ŰM}y–Ď ĽţőŻOŻ}íkó{±lʤ~4hđůň¬>¨¦í8čGň ŤĘ…1Ť(Ś ăHŮçľG~E$QoĘVĎőšb]iu"Ź:BđŢETŇáe$ŃÉ-,dęź‘'mŁ,ĘĄśhŘÔ8@[ľ}Îw6,}ˇß×ü&éRžŁŹe9NcŘóvĽh¨’l"‰ŚgéK o×^{]şbßĹ*ˇtĎ×}˛UÎmĄ“'ŽÔ?§ŇĽ®Ű®Ť]őwç˛g‹1?µ±{×Ćž´ń}w¦Ó7Ľ4=°ďÚ4>y"íťžHË§ŽĄł§Ď¤ăźţŁ”ľöçiĽş;ťÝł?ť}ůéäĘľ\·<ÇÔăR}ÇM¸'ŤkČ^/´ŐyC’ m§=z ‰ˇe5ź!+I5ę cĽ§rBo5ś8Gđś7±ü>Ć›6żçcCłH‹´H‹´H/LŠ ŮĹŇđ{4RtźţťÔAeĎW*ç‚ď<ÔČ3% Ţđ”śHę ýxăĺgi�:Ěšçş[±eßă‚ÎŰ2MĘż;p°ÜÜ/ MvĽ˝2 €s ŔšŢćm™C$-Ä÷"ůB@đ¨”ŃżŤZŔ«âŔ:ͤm{Ërć<—ź[YYmöÂĺ‡4u@S,Çóť[xC;Ć " Üi4*aEF)AJxĹŞč‹ÜKßEŇv yĐ7huýÉ6± „şÔďhŁ ă64í¶†ť@ŽÜŇ.·¶×z:čYBÂL$ŇDđn& †7Ö±Í?ômŰGČayŇČSbG•AĹů¬!PÚOŹ»p#ń6zś‡&Öą*7čG©óFÉE§;<‚~ć]@ÔľwŹ2–÷BKŢóż0iő˘s™_…ů˛ô—˛.íMÉ<E?R&_ôőv’ç6C—”ü»›ę-Ye<ľ€„ó‰$ ˙Žd¬Ř׾7 +2Ô e| 3őąŐůRO­±~ÎQ÷˘woGm>­§‘Qö†ˇ—š2ż–‹%Śź80?­®”Ë4ن`3nćĎ<îF©'§˘×…Tú»!u5輻Ö)ęD‘gjçUjËůrž‚×–Ě•¨.zČ^= ˝ľľÚÎ5^੪~¨—á:îÚëő@}*^iŞěĺ!Î'Ęn<ĄŞ•U3ÄSá 0>ç˝pbYWř´še‚K•úd•!‘`râb$8‡zQ¬%14dLś©uĎó«vMěn^j"¤‘:–ĺ”˝d8ĎLB;ş9'·ˇťg I'·ŁńŕÔ‘1‚E§‰ŁÔ´ŇĽ„„rí¶ÝŃ“Lě3ç¤v,§>8Çľ)ÎUńĆçśËÎyÚ6µL·k0geÚÚ$ĆY†óI>íü±4YŘ i‘i‘é˛MÝŢ©ęíˇYWŮ͉ĆíRÓĹö�ńüýr��—PÁw°ő{É2zbŚűúo'±ź—$<JHŢx>×zmG†µ—Ó´śH*ýNËaĎÖ‰ é/ç^Né˛!X ä&Pp�dëĽAçĐTwőÎ4ť> ©b–V×6Ň•fe:zôD:{ć|ýĚZZ«äŮÍsé«'żšľtćséd:›nŰxuşăĘ;k€öŞ´~U V7Ŕ  âSO?U<Ęá‚ŰŇWÖ@󡫥ĺĄÎË.ű#€†âę–^÷đzru…’óĺÓŁyx›ZŕÎp!€Ít lŔR>@#Ďć€÷ §¸8˙ŠWĽ"ËĚ[Ů|Îű„‚í‚Ńü8iPOĺB$+Á„|iźSg˝sč9„DÝ`™Q=xß[äĽGąČčóź˙|ţî­o}kvÍř)©€˛ř›‰đś$ˇ“ř^ŕž|xĐ™rőžŕ„Íĺ{čćsŢá9äž“Ť±CĆ}„ ňt˘ŐKeč!üČ‚u§O é!x.i€`CËP^$‹P/='§áqx˝Ąlú;÷ő A^†Ź ŤńŃ0#™˘ ?äC~ęí&ŐźüÉźäwi#íás ŢQ^ŚQĂ~(;cW)w <6ĐĆ ÝĘJ*Ň�ż.šH~=‘x0-ĆëIÖ9ľ'Q˛âG/$Č‘…z {e(‘Ă1*pŹĽťhGçz¶ŚO˝ÉôJÂ3ĽG›Ł‡>'OCŤ°�Ş?7őȡç ŰH”‡$ú ٶ™ň,eóľ1Ai§źKŘ0ŚN$P?Ć/źó<D \o϶ÓĘdĄ54lěÚH+k«éTýß±ŁußíŮ›víŮť ŐÎś>“ ź€%ôF=†źx*M6ö¦—~y]źÚĐŤ‘ňÜŮ´ýÔ›Ó釾•Ž?UŹÝŻ1ť{đkiĽ±?-ďÚ“6o|y:uËkÓňM/˱~—ą5·Z/ćµ!‹yţä±zNZ[Oűöîˆź3§Î¤óužxŇXY^K«»wĄĺ4yęéBľąîşkÓŢZöË9>ô4ÇxĹ�rú ណfů˛Ô{EŤĐUd|őZäř׍ăP˝Ŕi‘i‘é{;=Űa4Ţ –¨=Ä=×ÄZ|ć {Žçî~˛_×x[!ĺuü…Lzż‹ M‡Hx0LÉď~#Q€,o‘Ź{$‡*ß–ö™íđą^#&´‘p1wS/lĆ,$"PTźXVUw3Đ) ÎćÜRŠ şá¬Ź …čÁžd ŐîY§í-boZKÖ,„ßóŮ«" ]!JéJ·łK;ĘmäѨ #Đn_ôohĎ[�›úv \°e?—CY´7~Ç-0oývýŤě'=ňAĽ­ŃËţK!üEô�]ş–çÇmߥŻíŹâ©¤žŮ &S.ačĂ!ů!©ä#ŕĎME?şŰĐ‘Ŕű6|Ból• áŔ{jh›dśíKŁĆSCC¤Íę:,Ť2ˇXBÉLÍÄ–\ÇĆĄý›ôÓ|[~6ďôphŚč&·#Đ”q‡ŚřaÜJĽ‘ Žn"Sd+ÁFyŰż‡ńßÝxІĄž\ůUtpš"YŠ~/d©ĄÁ4] {ćey;yVń[N}6ögôHߏ{>`8wä®íŮKa^kĐ âúĆz’<”Ź3ő.1WŰr•mżďĆ˝¶t Î3Eü±ž†ŘČ˙^^-sIđd’çµ,ďŞ%d“ëÔĽ#ĺ´˛KŰy\’ϸ߇2Vs§y ©“ét“qźěЇ IhÚÎ <#Ŕµçôéi˝­·vˇ¨ ęÜ…7G˝qmŢqî’ŕ7klÔuŚäUĄ†Y Á’F­ű+żźInµnW٦Wűsfk ף¤şq§ŹĂą<ËrÔů>č€˙í,//h#)çŮŐ<ÎĽ\R>Ż2íěŮrAGď¤Ę×縠F_ogýŮľ@ĆyÂDŔrهńS5óíŰęČIĎăÔ‘&ÝCżńÄdHĄ& ‰ŽÁ¸ßđsçôâ!Ą Á2ę‡Q‰$‰ˇŽÉĂ=Ţ”u˛»xmľ;]ŔŽÓLŢ)|łEZ¤EZ¤EZ¤mŠ„áx9xđ@ţ&ÖGĽ‹łFJzđ÷sM‘`×p1&<˛=ßzë­ů 0b;Ă=bÜç<—D›¸Ëľ€KńŕŰßÉ%ś‹%Ú~ÁʞÄŃźď†%ÁĽĐ=Ďĺ„s\6 PĎ‚ä€Vz°`}ęÄ©”}*MëgŻ®ÁÁýőŕ\™�ŠÎňŤć#ÇžNGľőD:1;•ľµôpzlףiĎÖzzŰÁ·¤[Ż|uÚżqE6n±q][_M[kŰéÔé<~¬FŔšŠÔĘqşŮäëĂ›ä�™�µ€f†ş0´„ 8 ±7AP>�TňqCíá%¤Í†Đp3ŽŇňŚž<@P.y3áĽüĺ/ĎFw9,>ö±Źĺě”Ĺ3äĹű3ś<đ`'rĽ¦üx€Đ v2ˇ}”C=ÉÂmŁ®�Śä(+éä‘GÉ“›ç=ŚëĹ€ßČňĂţpÎ:áąB@^Ď $ţ ĐÍŹŢ5É ˘§ t…ş�r.ĆP'’BdćÓNŢóPFţ<;tµIâyä‰ő0{ čŻĂ‡ç¶{[ĹĐ-‚˛x0l ő%ßÔŞ`g ’A,4´ĂúŁsö'˛§l>Ó›‹ž ĽiŁĚ(۰-$ő1ŢÖŃËýJ>o~ó›3ů= !XĐ&t*$ô“vPľL}u48“źˇĎ4–w:‚ĽG{őěˇN#ú‰:xëBď$PoężkÝ2éťĂĂ´r‹7I4$Čn¤NäÉçzń ţ豞)ySH qÜ–ŰAłü $Ę‘Ś%xoŮęĽ=~ôp!)Š~·ĎŐ÷Ź~ôŁůÝřČ‹Ş„-CÍč%…±®1‘ń!éʲőč 3Ń04™čSż˘ń¸Ă{ÖŰyŹ›Qö»óźŢ% ůŮvćν™Uąśmë»÷Ąůˇş>/˝=-?ńXzěĘ›Ňěô‘´Z÷ŐŮ'J“GîO[_ţÓtnĎţ4ąí iőĆW¦=űö§sµńčń#ÇÓ¤.§ÝµAm†Io»îóÍít¦ÖőŁGŽĄéÓG˛‘çüÖątőÁ«k™^‘Cť€ˇLi×ú®l|y¤ÖmÇrg-*·˘Ö[·Čę:Â`®Qß$çč……Ľ2ˇlöüÇ?[¤EZ¤EZ¤ď^°#á’ůž5;’ źk:ľ„ţФ‚gJ?ĐF‚Ÿő&ńÂĄě‘ÔĚžIkŐĆ]ďÂT`˘¸ŞŹ  ¤É¤Ü`.{Ծǒ^'"8SÖďBĆ(.ę•E÷}Ô†bč»{/¤ ĺj9ă^9–/xÄŤĺň»»‰Sň‡ó•7őg9ÉĽęB‹Ä˝w4Ľ�v‘Š,ç9 Br—[@·š‘&\0ëí«˝)É Ę=á"H x*芼$,XGeׂÁ©4Ç[I¨ŚŢYô˘  âmŢx¸“wŔëiÂ~•�0$=xćv_úô©ě͢xD\éßť^Đ›ř±Cp:ŢĆWžÝŤý˘Ű}ŔŻxiIÍĹ‘ĄÉRhW‘%ZTÓyĐ×qS˙öôl4k˙V7 ëŃ‚ŽŮFńŚ-E»E<krjoX7ůäŤÎG�˛ś›–Ű‹ ĺ˝qă%§3¨*ŁN§:p2ĘRť·jç±&“Rć…đB(ÂČ-D#=a Chw›ÝţđK4¶Jv!† ç°Q>Ăv8>†„"ÇK4Ü漚[yžŤ8O0_měZo‰ÜůťŞ™$?ĹńdGŽăKc2arćU§łůK}ć7D Ń¸Ń©Y 2›OłľčMa©ń~áËqą´Tćň,‡ŞĂżýľÜ:ěú[ŮĚ7 íqHď)$ZHřČrČĘRŢĘR“ăüÔ©â ýÔŁşC°G<˙ó\”Żi©!0tă«#ÓU{řŹ>n<çT–ËRFaVuŔ˝„şFRy1f‹WÂ˙Ě{ú–˝gŚĆ˝™Qľzw”TˇçJ=Sv^{$Ě’ŢmHzÄE]ǵCĺKŁâiÚÎq}â̸!–M*×ů­¬×YGŰńĺZWĺ‹e|T%H3ç•.eq•°!UĎew rŠ^Rv{qΆ¸–˙C†v¨Ř¦H"Ś:×»ŘCÝÄF2mć]~$¤j‹@Đ|6ŤŰ·EZ¤EZ¤EZ¤]ŠgR·>Ź. H®ŕLîń”ç3Ö‚‹©`&„»÷űó]k=eŃ&°[đ©çâ‰ăR{Ę�›Ó뇞ӟď„üô®O9/ĽméŻ&]6 €<Ź8h 0'G‡n�4×@Ţî=»[ö<ö™µj-ťźźK_>ţĄôµĄżHgÇ›éÚ“WĄ—mľ<]·˙Ú´>Ů•ă›˘Ö mn,“ŔŁ&P=R�\ ž(ŞľC QR„^0ŠR_ÝŐË�ד@dăŰFÚ¦w o®SŻÜÖú3ŚµÔĽ© Ŕ˝îüHL ¨ž `dÚ¶č˝Á[ę–ĎŕAţČă0őB&p�´i ů!+ŰÂ3€ßÜ<G=i7ľMDG¶üŕsťďąçž Ü땚ş#3ň§íŢÂÇ­N¤‘›^�AéŁb·�|ś\t¨G�qÚÎÄDŰxŕ,/Ę ťä N˝»DAä%aÁ0äĄ×ŽÖ0ĐŻ$ęč<ůNŹLŚ´™ň9şD˝ř[ByP7Ű,‘™7Yřޞ%ôŘnoAŻďęúŤě í|ć3źÉ:ňÎwľ3‡mA.ô•á$Đ3ôísźű\΋qač’čúH#–á}HČ]o Ô‰Ľů1¤ ůŁS±í÷Ö´]Ż&|ĎłŃ ‰mç;úUĐYX…řŮčY™APŇ[ß*Gâ€nňGvqAxń=tç¨'zäýĽŁÚ¦>KňsňQ^ü¦ÜO}ęSąŤďxÇ;ňłF !¤\ő:B>|GÝiívD?‘+z(űQC«ňCß5>é’•E–wLq^$oBüxűş#ű2żíOëk%ôÇĽţîĚąíT]{SşnďťéŔîâĘůô·HGüz:÷Ŕ—ÓäŹŢźÎÖFńSőçOĽěuizÝËŇ-7Ýö¬o¤Ér­ăi)ßľÚXźŐeďJ'6v§‡żőÍ´Y ǵqńÄÉă9Ô®]iĎľ˝ŮŔ8Áx]˙lʦéÄ©“-…úéÝGď3Ę]Õ떦HüQWţËů/ů÷­7L‹´H‹´H/tŇCëĘĄ&èąş’!Ę$,?×ôl‡Ó!0ÉúÉ!ďŰ©Ż$ĐKqŤńŮňw÷śÄŃ2UÁĂ ű÷Ú$@üţúž^ŹGŮ{@ľ0ÝăşŃ}»DAHÝź—äŢ­�? •„‘ňmâň™ž #–Q@¤”Ăt·Ňű·ńu…žËŕvň¨„ň�`2ěA Z—óżK PLŠmÖµş^ѵĺĺčá!őä�¶ˇHp`Ś $uá :°ą�šK˝[Íh[Č‚ŐĘÖł¨ĎYwĺn;Ľ=m2ڇňë.łdČĎ­±ĺ 0kt ęĚ&6ŰË`źŞ×�~—}^źX_@2ČŮŰ-¸S<ĎĆöy•Űř%”@SĎ4jjÇI– ş]ĆGT­ČŞĘa�ÁK¨†bô_iÖÉwHÎŃkd&;Ď·zäë®\ßćá9W�7·5Ą–˛Ý…9ĺ̙ӵ^ž­euľ‘ĺréÓ¨Ë\E9+ÇÎónxÇí_ZŞÂ%­xí�gŤ˘Lîô¶OţQo;Ŕ}śÇĎě–ˇî+‹áüëZ‰ʲj˝tůKö‡üĂ:ěe”Hě± ~6ĽĎČžSô‚'mÖ©xŞhÂđT f”Rô0”e•bO]mĽÎćŰÁÓKŐčtę… Ú !;,c¸Fµ$—ě٧™§S!ÍŞyŹ,5š÷I4Q—­«¶CĹęéŐ˝ę»sAźÜ3îÍĘ<˲™»"yEťnë7JŮîxÔ‘9Şqé/Č*ÓYĘĎ3Ť§–ůlŢôŃr»>úY&•ĚG= HVńň2Ź@k…¶ <AŚކ¤ß5ü©ä4/čĄt­ţ,“ÓFÎËÍ8ž6ki• ÉiÔ†‚dŇô|3>Š×¨\6^§š5pk{«­KJ’ÔÔÔ×ýQ¶„PFC]ŹĆa]›´ă§„˝J=›¬ä+ç#Iq}Źű-ű˝ŘCËŔĄnNzµŔc͸Ď^Ţń¡IcD=[¤EZ¤EZ¤Ez1¦‡Üc{Ó©vŹÎľ, |Ă ÂEĹŻLC|q\żI1|!I»ü˙ńçrŔ¶ô /~HŠ—"~:ÜÄ5»Ý/6ç ęŽ-›8źłć»O5Ĺ}ł2‹{ĺHnŹ{b÷®üö2(ő€śÂß’Ęűä×qď\bî;Ľ�N˘<˙źŁ]ŕmî;Ĺ„_BÇ_UşÔ–Ś.ń»Ń%ü]äoĆá·?^k ~ř_ţăZ>Ő7ć¤ÖkÄcŹ=žYÍ"ö_±?]wýŤiw Ś•Ë°}«ôĺÇľśî}řĎÓý»HWĚöĄ;&·§Ă§ůć8ťŻ¬0ÉWń€pŕPVĐ#O?™¶k mďĹ#ĆÇh ˘l@PʉŃz8ŕ¨ë_ţĺ_fEă Ç3´Ů@6Ć3(“Ű˙*ĄmgP Ŕ°ž˘kJV R˘ĺSW”°÷!B�~Ă3ĺÜyçťŮ�k‹ö�3ŁH/í¦M2úɓꎑ–|(›ß<#i€÷™Dh7Ď~ä#I_űÚײÁő'~â'r{,żÜ.*„䦱“Ś‘<¶›„Ľ!FĐ~äČłČW†8ĺP>Ć L<9ĄuůŘÜň _¨{ś8i�ňu–ÁßşľČ™¶“'yH"0LňĎ:W×˰-ČńŻ7ÚădŇ?<»Ť6\óŢĐ`¦‡äćí#˝/ sŮz$&g>7t2řŇ—ľ”ö7Ľá Yw† 5É@Č“ľGţ´Ď:#Ż×ľöµ­ˇ:O‹ń†lÔu s˘Aů:;l;ĺCŕGŁ‹a|$©xsĹP6<KąŚ#ÝŮR.úNٱ)[‚ájâŤŢĂ�F{•˝^7x™ Pń.2˝ďľűňŘ‘ ĺBKŰ)›<ô˛ÂŘŁ,än¨“¨s´ťgŢ˙ţ÷ç~ˇŹś_č[ňpńÔĎSGdďíRCŃ˝Ď #ę™I˘Oś›x–6űś‹¶D1t=ÎŚôňz€)$‹s9<ÇęęJÚ»oo:rüH:{ętşţ%7ĄëÖz;Z.ó;îD§ő©ç룏~#=ůą?Iă˙"-=qšŻďKăúű3·ý@şęć;ŇU·ŢťoaôĂ}éĂ=I®8®8tM޶§éäń“é a¦f[µ±p%íÚXO«ë+µŽIçÎ2ç†Ü‡Ă¶GB•cś>Cnčj#ĽG˙~âźČóř-·Ü’–çGŇľ=M׊çŚÄ··D5ĹőE[4J/Ňó“↲Ű(w»Ěć1v_ů˝el]ć°“gŇ+nűÁ‹Ɯ׊‡“óéݏ9=×Ä8bľgĽë=üŔ>~îç~.Źő_ýŐ_Íź $Aľ|Ő«^Ő‚Ëď{ßűň|ŕ×nĚÓč!D ÖšWľň•˝růśňî¸ăŽôť&Öš÷ďţ]ú»÷ď¦ďŐ„śYożýöŢüë^ăŮŰĚżó;ż“~ćg~&ýUĄŹüăąĎľ˙űż˙’ßa=`Ý7ë5ků÷"Ů‚u…5Ťľ@— cĆÚ‡>ÇÄľěCúPzăßŰôlÉ}ÔsI®Ébů7ăňžÉpa>©ŢSÍcÜ›¸ v-Ú©ü\v€sůžĎ$©>×těŘńzt¬˙âMŕ׿őűOżúţµu’ôkhş˛‡M-€j›ő¶°ÔÄ—0\ď"±"ĘĎ łYŚ•ž"EęCÄĽQQŁüHĹłŇË«#môĂePźÚ  ĎT-0^�šîFż€yDÂ})»€S1D�µ« †(ŔW=  ]쓇7§ăÂuĚňĺ–}G:ÁK†ŢîH »ÜĘŞ“GöŽ«”ÇŰţÜŠI€kxóŢ:Y©uKÖ`÷ă9†c¤Ľ?M†g’>F °‰<ĽI,1&–ŃőwGtéÚf‹yÖÝŞę»ÁmAďi!Y˘‡ţÉ}<ęnĐ«W-Áadč•’˛ňć~ěő5ËŹiÔsévëINyѧşuUţ-ŮcŢy‰ş=,DF@żěk0đťkÎ1»ŰąkH´™ Ľ¸E"LŃ˝í>‡ą†ń=4’ĐJŻ®xž§q,xÁ±/‰Č:ůnŮŁ^ůÝĚíęÔ 4|FÝďyV©ŞŽt“ Ý^€9źOęú°o‹a.˛ěÓ¤W_Ëp|;:vôfÚž)šđGQUĺĽyám|ó±m®wťlG ±l©7†ůmż űŁÇNhŹČˇDć}1ůŚÝčEś3ś«:’CGžă\É3%dČ™ÜćÖCcŽWí|qţŠĺÄ1cťý·íFěél»ęŰą$Ť/gîŹY?ÄŤmŹ1çŠ6˙ćLęY|%–ŰßĂ91ęf$Ä6™×ĐűmDžŰ[›Ů&»{ďľÖËQ7Ź4e¨ëÜ6,7uN9ĽŠzG_Ł˙Řpç-1˛ęÍoYŻR I’0&’l_Ü›DYĹőc¸·°ýCŻ4$Q†qđwôf‘/Â4Ţ_RÇä|ÇgÇsç ŃBŰťëúîŤŐôÓ?ú˛tčŔľěm2kL!®Nzö‚•ß {Á •ľ[ö‚EZ¤EZ¤Ë!Ĺóťë°Ŕąsgóş.9ÚçvęźË:÷&÷‰ŕ-\ ĆnŹ­ÓłďđBřsMń KŇŢ{±6=í3‰!z‰!† ŰIϵŚřo Ş|&Ćfr×]w˝)apIédó{6ř©šßóđS…ßĂźt‘żźé÷đß41=Kşl<XDĺö0đ‰‘w÷î]éęÚĐ»UoFŹź<•ľńőݧĺÚ(tĺľiľ<OŹ>ýpúOé©Ú=O/[yYú‘ýďLW¨Ť›¸«ĆŮý]ö°đČŁé)ÂBpËay5Ýxˇö·Ć†xŁ|ŔcCčIo†G�TcĂ+›‡wP%�8’—7Ň1śb wŹ!›AGŠÁCeٰ�˝ŢŞ7·Î9\Ń6€>Eé1< ÄâŮâ _řBľíN[0ţňăůN‡ô˛zŰ`B44?ÔŐ¶3č�wyŹĂ>˛ddRăŮ׿ţő$B>ńPCy1”?ČÁ!h©żacxŽ|©ĺ!Od"SĚĐ%ľ#S’ŚD•xó čäď!“:S=ť~ŮÓ>äŚÜeIzX ľ§ŽĽO^ĽOů€çsý|nčt†ĎůÍ»čů{EÂrÁO_"{ęBą|NŮč}Ć;čĺó|Áů7˛ă9tĺŢ{ďÍ®ŚđVqśú ĚŰ_zý@ďxî­o}k®D@š?ýÓ?ÍŔ :í’�Ŕż%WŘç<Cý 7Áĺ _<{P_äŤ2ÔË$ÔŤq„ľŃvç >ĐG¦”ËXŠaI‡žPĐĘCČ‹±C;Ő7ë Y€ďuô` §ÚaH~3î©3sd>·lęG›yŽvQ]sňc_©«”óŰżýŰą=?ýÓ?ťűÍ0 äÁśĽxŹúčý†ńi^ĽcŮĽËĽ¦ÎóCűő2aŇ nŃ^äÎxÔóŤóßQ7ęLi Ż!€Č§ŽŠ‡ź‡ůVz¤–{â–Îh9}ühZ-Ą}{÷gŻŁqm$_ť¤µ•]éŠ^‘NmŹŇé—˝6]ąwW:_"Gż˙¦Éç˙8ťűňgŇĂżó¤ô˛W§µŰޚήn¤Ó›gÓŤ/yY:pe­ó6Ö×Ňž˝kµ‘çę´un3=UëĹSO>‘¦Ů¤‘w:0ĆwlOtť í´ÇţFö$äîÜţ3v~đ0Ź‘Ď~ę÷Ó"-Ň·›< 7×ÚIčŢ»ßýî<ţóđBĉ‚9…gň'2Ď[č.ßó�Ý�Bň  ‘Ő±@ҨdOŁáŰń4dFűŢđůhŚě+“ ŚÍí-ĚyßÝ˙0?ëőLuŤŁ ĂćŔ÷vĘO#öđűˇax'9Ťą¦ ©.iüa­bgŠ˛Ú x5ˇ;„™"1—łWEgś·Ł\-k'Aw»ż+ëbý˛SżÇgv’‰ő†}ëş®~FP†Ö˝÷Ľç=;ćűËôíŁ%{k�Ň-ů»Ç~¶0˙ôÓGÓý÷ß×ZwŞß0]JŢz4űn¤ˇ.şĐC]Ů‹2~G-°¤g„ííľ ýŇţIŇ5~$Hŕ‘ĺŇC$Łx~ď@ÎrĆ*Ďv$ ĽMPno}wű±]Ąť‘˝€(ŁT<IĚ3 _ćŞxľŞňyt{{ł¤€řÎ=€Rľg[čGx čŔ×q ¦Ď đ.ż§Áp•ZĎ"°Ťű8.ă8îâ« ÂV­Ql:ť] ‡lŤ}4L-Đ6�·ţ#ŕeţ‚ĘE/úŰ ŘäşI-ĄMŰĆT/‰e^ďn‹{¤?‘)ďteÄ[RŔY€ĂQs˙N`ró\oOi——V:‚z:dĆkE3oÖ:8ntĹz*Äü&ăr¦ ˝ŘŹŢ@I›ßă3;yh輗Ěîrsi#‡ÚÓ&eę1@€ZYµun 1Y˝UhăsĎľe}.ý1 áUÔĄQUäąĎC‘2×lµŢ=Ě_Ôó­sE<wF@5Ę*ÎY|F>ć/`ÝéÝRîż©ß5vžv]ŞźÁSëVťoł›ó Ŕż:­ťLO,Ž/Ä‹+y,fĐ»ĘúT<ÄTa]śeY.M:°nX5.V 0]<ôŘŽ®häíơ˛Šä ó>ž4˘ÝĹqÜ‚ßUqţűOýńFžäť8GŮöŁýŠ,´•±±˙ڎ2"‘@Ň•DĄxŇůOŮ;¦ş¶u^J˛¬&E¶ŃKůĺ‹S“~č$ËsÜNŕ>:A”Ż8c}”żň˝06ęý;Ó>&ąß÷­“óŽs ¶ŘrěXă)sOŘWŤză¶äB€ń÷RCd›ý˘üI&é «Ôöąm¤nq˙÷ć¶9ŢŤz' ŕß‘l$!‚ďŁÝŐµ0î•ăÜÇłz8śK†„Ť¨Gyn©ćí®w*t/Ď™łµ ΋´H‹´H‹´H/¦4´ą†ŰŇz]¦ÁžÍ ÁžgÝĂş6_jŠ{CËă7Xäg?űŮŚ‚YńYÄWâY7®ńq×ôżv ÷ŕ$lTÎ͇öDŹŞ;Ůű†í!E­g÷j`HŕxîOăţŮ2ÝĎ Ű´Óďč…Ă:đoťĐ.=Łš×ĺ*ä˛!X0ŔŚŐ‹Á ĄaŔĺpŤáăŞ4K'jĹ}řˇ‡Óź?đ™ôčÖéW=ölŻ§×ś»+˝áÖ××ŔÜ>î¤âzf–¬ŁÉ8»ů[ć�ş˛\cyKéČŃ#µ1ŕxŻ  p 8Ťrśó „±”şˇČt•Żr˘I® ůąnř˝-îD�¡Ź6bŚŕy6Ú€â†#ć0HŮlľŐ%5xHâV> _4–ˇř-܆§<ŢLg0Âŕ˘Ţ2§94Q>yrĐü ,˦Ý�ąń¶rÂÚ¨FąŢ”A˝ąaH›Ţň–·ävaĽ§‘K4–IŠ î´‡ď‘™7ýéŔmdĘó|ÎsLńV˙ć3ŚËčĎiěˇüF¦mHôm§¨7ßKđĐxĐĄ˙¦nô‘ámśÄ pđľz˘'ĺÇwĘ<ŠřŮĆŁ’xĎE™pŁMČRb‰‹L9ÚAŰ©§“»7kę"ő<úä'?™^óš×¤{îą'×Kąs«—żŃŢ1<äƧzwë­·ć[Ó” QR ďęNčpC4 žBí[ţM{(G÷žč«F#t™ Ţ0ä%!ßę ˛ş˙ţű[]â{É;ĹŢ’ůŚľ'Oô…ň©żó�}‚|‘5:ďř€,B}”!2ĺ3‰7€ëŽw Ań ďÁݰÔYňąc‚ĎÓVĆíůŹ˙ń?fy@®@ţ<OŮÔ›vč©Ä˛%4DŁK\t]„%ůÄPA¨xźDŢÔ—ů†Ď$aˇď´Ť¶K,ňĆşnŮqŁ4É7źŠA #óŐxż™o§łçΤcO?Q·áHö:´{ďFţ==7MOy2ÍęöÜň}ŻŞĺ±·žÇëů÷5wĄ#uź<~ď§Ňůľ–Öżu_:őÍŻĄŠŰzW˝,ťŢ:“6ćŻJł+®JÝ&k«ů6Ô¤Îóŕˇé<·üÎm§C×Ę›=Úmx(tąSgÚ…ž˘Çü8i›şŠüé3Ć żąAŽ|Ć’Eún&Ć%ëăŤyÝőżkă—uŹV wÚäK¤Ä+úĎžoŚ €d€nćdć/-ĚaĚxŞ"„ď3_đNÜ€3VţěĎţ,Ź-Ć cćË_ţr~žş3ĎBaŻÁ:ÂGozÓ›ňłxébÜ1ľ lŇ<70W’ůÓvŢ!?Ö# “ěóx‡öÓvBb‘ź^݆á$xOĚţđ‡3I”gh»±Y7Ł÷ÚÁ< ą™°VéYLÂÝÝwßťŰĎ|IŤ=I^î)Lx,b݆<¨eB#ĺŃϬ »XŻ9ó$ęBŰîşë®Ľgao�é–çŐŰŢö¶,ć4Ţaý¤®v ^2ç!WęŽüńŘFř°xđĄ ú”=ë ^@(‹v#gdNó%„ňBެ¬a¨'ŢX‡¨ni뤝č Ţ˙čG?Úzé@_Č‹>B6č zřđůßč+ícďKŘ«dĎBÁUă·›\ŁăMkäG˛6JŢŤăËĂńćf EÇ@0¨Ä®ź¤K!P ĘeŢ[»_č¤a!äIŽyôôôéSÍľŻsJ`ěČ1]Śř”$@đďîęňňZűďÎ�·Ů#%”üĘŤĎ®Śâ Ł3x3˝„wĎ·s;ŕvÖFŁi&ĆŚFp$N ‰D «Jzęa- Č?)bŹ–'™€ŃŁä;rŃĆĆ® 낿xYněî¶uŐ€˝+­g»(—ö¶ĺlŚ+©•™@Ž(«Ęüó¶´WŇ)‘Ş#1""čżkÉtUnć,µ^NLĂ}ő°ß%X—:—gđľ¶»•§ç˘ý[ÎĄśÍ�P¦A%şł]^ZnÄl‡Źą?–VzçäÔčĚ´qŻ?oni÷É<ă @JhŹĘ8Ůn4yŢ©űe4ő@ĺDWďŚÄč>—ĎCů[ wę•$ĄňY9{ňŹ[işż'úĚď]+ôŇčYĚ>éBőtdŚňŢrk -ÄŁięÂtşłĽĽšINŚ;úŞÎŁĘDGBŃĐřAŢHčć׾!×ä<čs1ĎvNŻş± ˛Ą1©ő:áĹÝđňŮĘrŐ ˇ±Vožőă ţ¬7˘^c·vońtłţr9ôG×e¨Zăw™›ć™±<^ju&ľ=řťcDBB´ˇĺq•:’ĸ™÷ňú0žç0ComźŚFáćřĽť‹í?öʆe-’<pľgĎ笪ôEYk–S$ďĐú †+Éóh ÄŇ&śUŃçQ[źń¤Č­„ť*Ä·Î{Í$÷QnC-Ňylđ†˘}jčᨗQ—w"ťIlZÂÁ|ŢÓר׮ŮcĺnB®§ó[%¤ňćfń [lZĹ{”$3Č7e~ž¶a‹Ň`\Tó’©Tm9ˤxHĺą črĘĎE�&®ee.śőƵ:•×qú¦ę‡Bqîµ}1„ű–HÔ„ž!i9r†É”űPąK\‘:Nłn1^¤EZ¤EZ¤Ez&÷žă\; ´VŰľÉë¶8l—bóx®‰rÁÁ·Ŕ8~ôG´‡Ő>ź‰˝¶5ʤ,lχŤi§„l±?‚‰‚Ea }.D”ç’Ř·yépÄý.×tŮ´Ă,F]6čguS_MÍ€«J\Âíńvzjő‰ôĄ˝_Íq#ŻYľ"Ý~ň®´gmw:sş6’ŚĎ¦U ”őÁ~ľ5O'ŹŐ w Ěq 9D¨‰}µŞŢřźŃ~úLë…˛í9°B0¸&e×m ÂLĽ"ČY=|F»8ÔIäđĆť@&@,ĎSľ7Ř(‚xnâ�3Ptň”qM9äĺA›Ď<‘-uĽí¶Űrž|ގŁ>ĆŚó€/ôyWO1<mb@ŃúGPÁIł¸a<Ý‹ÝKű0ěc\gâ|ď{ß›AęJ;őĘaĚLŰĐ’jB„d ţM´ Á°ČËłźń,ůŃ·şl&_ĺÎw�Č…öňą^#0ň+ nȇg(›ÉS·Bz$ĐŐ¬©7!ô~!Y„m„4Ŕ{č‚Ŕ9uEćÔŐż¤ÁIĽ+Ń# Ł dÚÉŻý.ÁĂ÷éôčĎ˙üĎ3ČhBćé/� ęmYä鉆@ĺ,� ŃdŔ»�+ü/ă ąJŢAż‘ßŮ/čőCŽôʤ¦|ČŻź—5o|Fc/őŁ?yąŹůľ™7]ň‡‰|Źě5ńc–ş«ó‘PĹ8Q')_O3Ě|Fźóľä ‹–.éő.AŰ)›ô•ńJ�˝«.ˇL’PĐ3’ždČđ‰wh·ĂâĐĆ<m7śŹşj U´ŤşG¬ú¤O·ă3’d$Uáô©'žlBŐăăŕi©18c9zäd:sît:~/.;ęů®ţňŔˇ«ŇŇň8ŻŮ~5^IW^Sýsc:ňDzŕţŻĄăuľűĽ7í:ýDÚţÔďĄGďWÓÖÝ?’v­-Ą·Ľ&M\UŻ)=NX›�ľţ†´÷Ŕžl„!_ô™ˇ7ôu÷ö”áz˘Á ™Ň6ú‰Ť:Ă|‹.ŰçŃčłH‹ôí$ć ćBĆ$‰ńűLzĹíţŔy‘uF`=:Îaâ}Ęüáţá¬ë�čĚEč7c2�ó4d”¬óĚ)ŚĽ·0^ 7đ,Ď‘¨ső�dg]eŽŔ“ufOÝČÓNňâ}ňĺYŔzžýô§?ťzţľX’Üg&H Ě…1óXWÝ!2/Ó>ęz´ű]ďzWößńŽwäçX8@AL`~„ Aţ$ÉWXăXW©#s*ů ďßýÝßÍů@š /Ö dJźD/&ó„tÂüDy<ËZÁ󬧬 h¤<.<C˝‘{?Awd‚\)›9‹w©“aó¨7őGô ä Ęb6Äš‰ůÂdšű±Ë}Ę;äGůČśů”żŃę‹.˛GäyÖö!ěô¤AđĆ!É™ÄĆ™Ă2˛gî%oʇHŢ [‘(C™ô5r`>–ä{±ĂŻóűĄ$ íöă†őťý2ŹőA§éÇ'ź|*1¬şöŽ{©gJ;ŤWA§ŐŐ弖·R^şGÖËý)ýKx¤sçÎgĂ `hęE¨ŕŘlö4ł†Ľ0nź‘D Ŕ[܉ŹR„¤çÂľ×…ŇŹ׳ŁÔy§&B/VŢ<ďÜ@ďş„/·É»˝_GÖ ß €ÝqRŔ´Ąü^)Ł´ˇ?Fdď<Ď0;n ©Đ_ö)>Sú~śÝă.$Ą*^:wöÝ-ßR_˝rX˙R×Qăqc»ÍkÔ†1›ä˛ôd!™Áţ'Hñ¦ńͶDĐ,‚Ů\x9‰`bsýlčî=‚á¶Ă¶{ăß1g=��ÔJ*ŔţĽ%č  ŠÇ‚čkĽŁŕ]Âg%ŔXĎ|~žwv„5:˘Qń^€f[mŰ•ŐÚš^ "ĹýÓ˘[©ę­Ęľv®‡@vf ľĎó)Ŕ­!!¦ŮKÄŇŇFs#űLcŰŘč•ëe–čmŁôő(ŞĄx ™ć< ‰gŇ‚ ĹłĚ¨őhőßvŰHŐ#1H¶p<˘Ë„6éú8zĄé“&v"aD]ʞ’ĚâÍł<Nř{Öy$‰iääŠw笽ŁTö~¬%’Ô­ˇŹřw©K3Fň4ićëQ[†ź/Ţ6&-Q@bŚ�q–uUVŁ4ęŮ„ZOMźDŕ_ŠŢwâZ=d}KĹî'¸ŢÍĄ…´6i<ATˇg94Gźč"е_©z[‰žAŰţuëz$ŤI¸LŮőëRöÎ‘ź¬şń“ç‚z=ËíPVąíe®…@@öyĎ“ž”ě‹č5EŇM«§Íy5Ú@âĽ;$JD"˨9kĎgó–'É/z Ęmäßaţ(kg•×đýű—ň*ë@ńĘ�©o)÷]ĎĚŰÎ)ŽŹ"çL;KŐ¨óşá9/5ĄžU:sô:ęňŽłvN€Ü©e4ďŮËZBIđ4¬g´˙Ć[«± “˛–Xíi”Z@Â68OukHăUeŇí{i‘i‘i‘^Ś)ž'➤`"O罄ŘÇ A® \ěküŕ3&őB’+XĎőîĺăŠ\áĹsěXśŔ®.Ĺfôí$ö'^<E†Č¤Ë¦…WÔ†Ŕ§j ęô©ÓŮŐ$Ć&xn,q«§6ô|ëĚCé Ź6}sţ­´oíŠô}łďKŻ:tsZąf=ť©ß;qâx>t­Âţ?{>M·¶ÓúĆrşáşëëßŮBµ\oŘ×kÄ•ŻĚFkHCó †ě€qš  Ť  ęĆ ő»@$?$D„Ji€•˘)[㎤ţ6LIÂJN}”¬'źGŕ\—şśĂčíFŮÜŔdâˇ\€�ŢÇř­· óÔOcRĘŚĆ(O{ ßaě' ŢČ PŕĐ€[†™˝]Ü ebôG¦ľ+i ş)ő–8ĎQ\—Ězž ŃWČžç©'ß3Ä AŇ�mdBůŐhŻä”ΰ9jÉÔ‹ç� Ôçő”Ŕg´˝Ą_h „ ĂH 3ČRŹĽaüŐ‰ˇˇ‹Tn:n¶şĄAr,Ůń˙FďdµŃ÷Ę‘Iż¸v<‘ËôˇŹ EC? CRx;“ę-®ÇŢĄ\~żxOď<OŢô ߤx+GÂmäłx{@OŢTÓ}§!hřŰv{C} /"i€w‘—®Bő,˘!AŹ%Ń0+ąĆňř-XŽ|˝I]tRFô°ˇ÷ ÚćÔ3®]‘‘ú©Üu;ÎçȰŽńÉ _ęŤŢđ˝7Yx}gLzEF¨$$ľ§ďyĆŰ:Ô 0’ą‹´‹ç%L86i;˛ˇüźŮbńoôÉp|î<A˝G Rpşn׾ýu0ŽĆĺf ŤŻm‡HćűrŰź¨űcFHqŹ?Ve·¤€Hy} ľőh)ť#ĽőîýéĆ«®OWľé-i“6ź:™Ş/~<ť}âëiëěVzäÓ˙9ť»öĺiůęĂiVż÷\s PšO×Óx©üŻW\±?wŃĄŁµŢ®¬ňČ“O=™ë‹ßÉR-÷Ú°F({€—Ź?ţDşűűďN·ÜňĘl˛T*`ŃÂ`˛HßYbÎf]Ť®p˝…şSr #ą®@„ Ä| .ĂÄűĚŁzT`Nw_ĂśÍ|Ç<¬w$˝11ç2Q.Ŕ·· I€ęx·řŮźýŮv˙äžB˛k…mŚy1Ź07ů,@úG>ň‘pĂöÂÄ{¬†Ôđ‡ř‡ą>ČÁu’çXŻ!E=S"˝ýčőŠy]™3ĎAÔ H#Ô‹ö0HNEžě=đ¶@?â‰9s'`ś<7s=ë ď37ó,mŁŢĂCŹ·_ Ń„|i7ëýD[ŮŹ ÇgKČo’;ůM]b’MY<¬ůaťeOÉ:áţŤÄzK]¨mç‡g$$“hS$W<S˘®wüÖ«ŠÉ[ݬÍ1śŢĹŇs™Ż#¸kč@÷"膡φ7IĹcĹJ»ßíą¨¬„ÄGÍ?¬S?ÜdÝ‹{nc°ďßż÷»şćŕ}Ü€zĺďxĂłě–˛NB˛ Î´»ŞĽ%ßÝ—\!±Ŕ$±˘¸ůŹ·«űî=çs]|wódÖ ¦L&ă¤Ç‚ŽLas�J0™çu›_�2ë8 ô(¬ű @Ý‚§DŻr<úí §4 {nÚ±”쎬PĘH-ŕ 㽄4-„⍶®(°PŤŢ¨cß»°-‚|q](ż ­Ň´vžz·ĄŞë"čżWľÖ/‚ŐDő9űyč ’Ş‘©ńÎă8¶Łôů$¬Ťĺv9v’{â!Ů©čҸw“Y€żďŤˇ‘ă<’Î ů'{ŕ~rÝŻÓŮvŻ>ľ›e?ťĺxí�ńTn›ŰëóY †,Ą‚fś ľź˝_€Ó2Ń­ěEăB÷·ö)Ţ`ž=í‡!ů@0P8ëˇ97y»Nň« »ÓyĂ(sB!U”>GV]=—˛Q3ßL[RËŇRçJ·ł’¨úáÔ»x)a'Ďę`ôĐ3”ŐĐăŹ:m{[ŇC*ˇ@¸dřŢĆËÄVmŻš7¤±ZĹ 'ŐĽ;šxw<D�¸uśůUÍ\ŔĽ’˛bKÍĽĎ`1|Sj–śB¤€Řž‰`a äą=„jQ6 y #)ŁŘX†^kŕŃ8jűá^ŇsJLŁTB( × u^D2 'k’„•xď…ôŹ[/1qMs+˛ď“l1µ24sŰxŇ[o¦Uéw=×č©B˛ű–čAöŰNËRżZ»ŐxÔ^ĆÉG1ŚE+«0bXż,s‰zmh… µśÇ¶rÄKU&x2Ţ™˙2ŹŢ†Š7§˛fĹ0]öżĺ˛ŢMšw;O óžžH`pΉk‹c'ŽÍ!jx1'Ę@;¤rĘ:zŁćűkčůĆ:j˙q<ńý˝g×ZZ i‘i‘éĹž$Aş.»ćďţű˛ý«[÷/-ĹsJ$öűŰČűŘDz-ęío{^_‡{w˛˙ŽkűN˙–Ť}IO¸®ń¤ážk4ş¸Çŕ‹µ%ţ`ĂĂ~h¤‰äqŹ|±2ün§˛†m"y׋ÍńŚ1”ăĺ”.‚ʼnă'˛ëÓ5Đ5©A®3'ϤÍéůě>&»Ń[®ŇŐS龪6ĎN§Ă/IŻ»âőéĆý7Ő�[9xŘ{EVŚý€|éX‰“oŻíJŰÓyZ™•Ή‡%†Á}€T ŻşúĚy¤Ô2ĆQ*ŚŔ$«äËŕ{ Ď”©Io�şF$Qž€/‡žě]Ł! xsBĐÝĺĽ#P€!žç˝ő®Wę@ ŤĘ6âáŃÉ �c=ő0¤ 8e’çZ€”ż©«Ää '�<Ŕő  €� ÖŃĂ؄ѥ©„Ůú´Wb 8ú‰źčÖ€ Îü=HÇ Ń¤KCÚ$9€Ľ0đS'&ľçsÚCľ|†L$b 7ędťO¨˛%ž3¬†‰#OciR¦őÔ%v,Ó§ÔKO#%–uŃ•b°.d$t–¶P’Ţâ¨>ŇÇ,�pÁM~´“şSľş§WĆ $!ű~ÖŚcGÂDťfŇŹÄňç]Cź°đAî NĽËMd˝X(7ꯒáC¨:' ů K ?ŚĘ@‘xDŮč/má9˝Yđ.y§$ zźpŚňIX´ŔłÔ‹>äßÔ•ňÝP¨o”!Đ$KRńŇuéLŰé'¬ 3Ü66\ŕ ˛‘ CžzщďĐJ˝Ŕ9˘3’g˘˝Ĺ {äé­Iűśň¬Ż$$ÚŽś-_’ ß1żĐÖě·n?ŕŁÔĄ‰}ë-#7,”_Őuą‚\-żÎ(Ć<ŮyĘŕ=tCŐľ=»ÓĆľ+Ň®}˛SÜę–W¦ÓO>žN|ëÁ”üJÚ~äˇ4űĆ˝iůüą´ůŤ]éɧ­ë_š–^ňŠ´Ľ§îőÚŔ1f.:ź¶7·ÓĆÚFşňęCµq)ťŻËÝnČiUĹ-ĂÚş<J÷}íëőü÷PşőöŰ@s-›(×w­§4żü6‹ôÝOŚkČ‘zŮa ţćoţćEź×“Ťă™1Ş—<1wH¨»ÔĂŤxň&÷ŃxiYĂŤ»‰9’6‚k\4Źx3lh<Ź·IIîÍü·)Š­Ďаďsń˝÷Ĺóëë-ëA$6^y[š62÷ńoC»Yksˇ*ç™—!»B„8|řđ·[‡ „?«o{2vI;ŽďG}Wü* D ’ІeĹŰĺî)Kň§žşXKě÷čŃK‚‹íŽů=[z¶g §™švІ׽îuą^ßI–I=$Ň6ƨnLJá:P`Ü„‹Ŕ,…ęJEük4J=°Ç۸1ôÝw3Y—‹şÝ#áľź˝Š·U—ă-\˙Ś Ž<ôϱ¦#QDĐżĘO@" C2Eý ů!řV@ÍívľđŚÔywpüxă75ŕ精ˏŕěĽLŤÇŢ€-mé%dĆIbŠäßâmC0sÔ€UË-xJů877·ňwܢ.ŕ·Ŕîh�DŤp\ppšt†ÔnťěśKś;:YW˝yµčŔ¤7źřąy"I"šÖ!ybźtsú8 ôWU˙ť®.ŕçMçĹBr)íČ7ŻŕUďP®mŁ‘sśÄú%µ:uÇŤ(Çm=¤šŃxÔÖqÜ´#EĐ—0,׍^Ź©íGŢ)űăĺ Ň–v”gÉżšVmxn%É<ö{”©ý3ĽéŤtäö'©[ç ` w1 űő­­IďlĺX/săvűY†Źš±=DSŁłÝřŽó«ú[ę¦vz0K( ×Árß÷wü,ęŻuŤk´ăTφCY)WHUĹCÂ4ĎTî†a$ů{ľÉyoNŰË^F°­Ńp;4’:^«Ô…U°?ó\2YńˇLÍ»şĚ›±éš’תŃ(‡ÝŐcĘpÎ7ß2?v$˘¸Ä›ţĺŮŽŔ’çÜ<�$‰u¤ëŰé9;®ˇKµ-ŃP[[Ó ě0ÚY<K“wÜ‹F#>˛›Śű!6ÇŤGÇnţ®2ľHń’˝éÎć”OůYłf.‰ŔC<‡Çy+ę†ĺçßśAY7řŻY7GsçKÇDG2jÇRó^$D_ÔŮ8' Bą.łív]ÔÉÖÖR¤¶mŤďČzµY›ňÍl»›S.Źë†^râ<îúŘí{údű<ÚW;rM ɵ”†žn"Păw‚"QÎ]–źŤëše¨ďÝ|7íb¸Ŕ±Ü¬ëŘŇ%î{i‘i‘i‘ľ“kŕpÍößŘGžé’ŘĹRÜë»/ňÇő{“á… Wۆŕ gÎřďţ9ąďý+îG†?ŰŰŰÍç\{©ŚŰ_´cĎCÍNy“˘­Ď¶•Đl›Ů祭¸˙ŤmÚ`ž­ĚxÖ—$o„۵“ü.7Ż—MköěÚťö¸"­¬­ć}ĺ;ůÉÚ€ý•Gľ”ľyúÁtdĺHZŞ W/?{sşcßíé†}צ•ĆDň–ż·âeŁŁ$ŢZÇĐ«— $ożEáÝ˝đCB‰�ÉGrE4Zx„˛ ó@}të HĘŽwPTę@^’<<bܡľü0IX~$ÄÁO°4Ľ%/Č|Çg†V�`ĐčÚ°ŢĘä{ ߀đĘŁ:�ŻLq“‡g@܇ÚsÓžň$Hb„ ÚŹěŇŁ™ ôÖařäŔ¤‚‘śň#i€r ÝbŘú2ިG/hCÇi'ßÓvÚĄŰGo} :óąmĐ…4űšşëeú"S 9éě;ţöF#s;”zYßHXĐŕĄkmę=Kč „zćEŹ#´ť _˘ys‹" Ä Ý¸kTä{d&ńĽ;qô.AŇăĺŇ÷ŢŠć>Sgs… ý…{ydJ=)“vňŠ,@úwĺz™ CUĎô©zlůĆłĺ·€ýĘ»�Ť€!.ŚĘŚçßčŠ7–eZZľúŠě%·x€§.č¬ĺk”°ˇw =O É)Ď·xˇM¸¶ç·„ęmŰŻ€ĄÔ͸˝´4Đ‘xžr(¶°8óŽž`ČKŔÔyg©'s”äÇď8ŹÚ§¬ĚG5ÉĐ9|&QÇ<αhôęcůŽ7’qp­CŰßµˇâôŮ3µŃy’˝yËfď5×§Ő˝W¤Ç÷_“ŇMO§µj;í:őTš?ţpÚ:u4űčRuŐMiißŢú˝ŤtöĆ[Ó@ź:źk®»6]qŕ —»Ň^ô»6bmA®€rôxúâg?źžŞű”‡HçÎźËëŘ2c%ÇŁ˝tfî"-ŇĹú/JŠĆsR4ęőư@&çMhAőYă^"&ňb~Ó;óŠs ăÂë Ţ[HzőqĎAyk M“r†á ¨OöSçÍ3ü{§Cĺó,ufľ…¸€×É©zo’ôfč©aŰâÁyµËvÖëbď†đë1Äꍶԑůšđhxę`/Ä|Mţxôâ{ÂZ0§1ĎŃćböMx÷ŕďH4°¨'eę…JŹĂCTěk~č?Ę÷ †Lô¸±SŇŔJH ţđ‡óşŔZ8<LŃo<Kßŕ±ÂpwÜqG»wTÎwŢygî+ęĎşŤw+‰ˇ¬—Bzđ°y©‰5‚~Ą>”ó‰O|˘%9>)S$TZJ2A*MťÇ ű±ÁgBhŠ Ó…®ű#x0ú+2ÎGĐ‹4$2 P{‹Ä±$ą„V59ĘA_ăLÓ!�şĆ›ź%ĺ+ÚÉ0!ľ#řWB x^ëB‰D’R$şŚ2yeÖ|_<l:Đşä xź�,+uiŔÔy �b e1mş‹ź÷ŚRxÍ$/Ţ –zŕ­{[@ěétĄń„˛‘č! oŰ*űqŇʸô۬}N’KGrXş�4Ť€ëp\řL4ÎDJ™i¨ÓÝółÔyé{ oŘD°Yą î¦C˝tŢ$� yŽÚôÁ,‡uč{ęP[ú:7śGŇ´quĎ>r逹ń¶¶·zröÜWĽ«,ĺ|őž’ËiPɜרóĐ‚Ţřćg>ΡgôśË©ć= ;Ę+ŽŐˇŃ2Ő<ĎDâA!u˛vMölí9‡ďY—údšN?ÉCRA#áşÎłĆĆ‘hÖ¬Q]ȉjťnT-©%ÎAţöß”uÝ‹ ©ă°´yÜÓ·×pż×ÎnüŽOő™gşŐš2ô>4Ľu8zUń Ägžó|nHŘ\!IkÜŘÍfŤ·šŞÚj‰kE·ŠäŻöy–ŨxK)öŞiŹtŐĘŞ Ť3wĆďHŇĘL]čĺUů_N©Ăö}j'bŠd•ň÷ĽgŚvÝÔţÁ>ATĘÚvG@ÝşvsaŃSçÇś÷¤[×FÍ8ÝÚŢlň1TPÓç“&Äě¨żŹŹrj ňUÖ–2·(˙yš÷ú˝Őˇń¨%‡´:ÎZ;Şzd›6ĎÉdÇyµ)>Ť‚Ń߶䀴ž‰-›ç7[‚éęęZ ońSu™Ĺv4HT śčŻ>@Łţ“$*Ä5sH¸I ˇ%É{Ť.ď1DUßĂQŕđłXFĚ+Ź«QČpçdQ.V-§ńxÔ6ćîi‘i‘i‘^L)’âšXΗx6;N<GĆ˝Šű#˙vŹÉľě¶*ějq÷ťńśÝîˇBCĆ [#ű8ělðwQž—b9±N;µ«;‡Ď[<›„Ýuh˙‹őž!bYĂźXV<Ďy ϋ͑Pëm»ţŞlO/Dşlűź}9€¦z“ýôÉ#éľă÷ĄŻŻÝźÎUgÓK–nJ7¬Ľ$í]Ţ›6Ďm×FřÇÓÚĆ®´o÷ŢĚT@0Në9�%ńÖ3ЉїÍ-‡)”őđ¦?I7Ú(FxŚŇn’ŽőF kcţ&?íČ�Âřě!�FćBňF_ęĂ3”/aCoü–,a[ôž@Ů–/xĘߨ8řů`Đ–gM�!Ăi   ď�Î9ďz";dŔ3€öÄű&–9`¸Ţíu!ŤayżqŠ˘±Ţx ČA°Ăúđoę!p[nĂ2ýĎ3+mô¦ż.¨ŁÁ›6şĹĂdqł»Ţz#Äŕ}Ëç3ň”¬áM{ô˝B†F€6¬Ś`»$žŘ’C´ç{ú‡ňť(ő®á­ ~óą“»®ÎőîˇÜÉ‹>óP ŘE_qKöž{îio×J ‘ů×z‚IÝÍĘçÉ@|.™‚úQ6úĚgŽ7ďhdŁ,túň9㕾—�Á ĐĆózD!žÓ=Ľ2ć{ꢇ‰´ťďl;mŕyä¬G ’ô‚ĚôFAI–‘ 㢯>!ň¤m¶˝x9¨ZbďčqB/$o¤“Ź®ź�G©ż.óéS=ľ(űxÓ›<\•Ł:­á.–ϸsŽäo L=hżF?eB%kHv ß‘1ĺó˝ĺ;~ůú¤úI ŔY2A‡ĺ;‡’G$¸xűžç Y’çÖłő¸?s.»)]_]Ďá<¨ď“O=ťÎmžO×˝äć´g7sgmD?}2možMłGHgŻAާIçľöĄ´ýőݦѮŢw0?óĘ4žn¦˝W]ׄĄU<ő:ő™O6=}ähzÍťŻI×\wM6†;~,‡?Y®ë7”Ň� ‹´H/dbľ€8§w�ƤźH° 1F+>8„<SLBŤ‡„&aě2fYcű¬¬%1¤Ď2·1Ö©‹k{ôxŔú…—ć:ŢĽg.„mNÝ˝˝MŽÖ Ö;gÎé°Ó)çđáĂéSźúTĎi{Ľ19ĚÇşJޢ®z´HI† ľhä�ę˝hxČ@ľxđ‚D‚§&dŤ×‹?ýÓ?mĂ3‘I2Śn”‘ďN±ůŽzRGäĎZŘ„&úťý勼‘ő3,$#cČČÇţc_€Ľ‡‰ůÂ&úÄÚŤ<č+öX$އ8©lܧ“Ţ«\ÇÓł%I~Č–˝ćĄ$ÚÎş †ŁŁ‘,ú|¤á!Ö}Ç31űź‹—ŽgJń@?Ű©n/TÚÉaŮe-_é$�–…$y¦÷ë €ź’d T˘ł …$@5jÁ(Ú€v NŚw^ 悪%Ěš›Ř©u[žZ¶iYkä0<ůąĎCËvţ·m¶Nť‹óěĚż%=č"Ľ¸>źĐw©1fLÚ¶¤4ooú v7` Ó·śCšÖL°Č ńćsńzĐhz6čú¬\ćó­öłŃ¨#¬Ůt˙ŢÉUú­«ĆoŻź"†$ É!ĺ˝~ř “gŁ4 nEwôÚŤIČâ žAÖV›sú(^¬čÂÖpŰ>µŕí¤ąU^]?4$ŚLĆő |z©|“ŰSg€' őX—6‚¦KăĺüQöřRÍÚŰŕó&dJ ý7o\ě{&¨"Wl{ěĺ9$® ŮNO:}°Oˇ=«xöŹŢşńÚúEO»żm¸:Řy>p¤>–wő†öĚF‚ŕčĐ(ŮŤůIŹPb_îä*×vëmĄ€«ÓŢ;ÓéVî—!ČżŠÇĘ0cţţžŚ—ŰPRČŹůY˛÷‹dú!śç»IG~°ë&cÉ-E7ű�óR& ĚF]x˘ŇľĆAč÷h8– Tňź$/ĹvX·Ö!Žżf§qꯥ)'µŕ´s{̧YHę12n˝Ć™:^űűB˝>yŐŤűȢ7U+ËŽŹźęąˇ–jŃ ľmĆ6^@¶·»[‡†~)ăo-ëňŇd©mGÖ×ÔÍב24l+'‰Ę´[C&ˇď ů#ćő+ęJ,'őcżĺ±“ô 4ęÍm©ńD5Y]Ę“ÍÍs9ܡCÔ۵öâSG"–ňş>n×BjJ˝6v¤•Q»gnçÇÔ­m‘ śš˝€sń0ĎHÔÉsčxÔ›˙̸§7ôń|:o‰K‘řaűăšŘ‘ ő$U/ia.X¤EZ¤EZ¤qŠ{’ký®]ĺ‚ë3™%†6Ť‹ťŐâůŽ}0ö6lPŘéđRęEŕčM"Ö-ţXΰĽXFüÎpó”í »Üpĺ>ahą˝ćbçiöĄ^šĆ¶ćEň‹µ#ţîźń«‹ţ;’,(Ë‹\^nžĺw*÷rI— Á‚¸őÜ Ţ˝{O €ťIÇNťL|öŹÓ“ŰO¦Ť${ŰúŰŇMűnJ{Ö÷eW[€€gʧÇ},==) 0SNo"™Â(Ąa&0cÜ|GqyĂ/ĎË€��|ŕYwc´ ňś·­uעáVeł|ţ0&Q?]üë•BŔRp–şZľĺB„A­˘{ d€–Áöóžn¬%đŚďPíöćż“¤ňĆ%9ĺ{SťĎą‰ŃŢA% Ę­Mn´Jâ \ň•� ÁłÖŤrhż,<Čđ¬7đi}*a€ö \ đóC9‚´% đť^#ډdŚl˝CÄ[ ”mČ IĆD�"˛ş¨`˙0XCâßÔÇ[·Ć•·Ďh‡Qâˇ!3ŢĺÇ’%‘:C˝ČGÂa1ř^ď äÇmZ�ţć9ÁÝ4›4bPý" Á[ÁzB‰á%hĎYľ‡nŢWn<#"ö› »}Â;”Í{€_Ţ–¸aá„ÄCYč0˛3î �z*hbߨç–oő¤ÁA ś.2”c}$˝x[H2 úË{św$eŃ>žˇĎ�wóLŃ8Ĺőˇ úŠúXA&Q'5˘QgĂöP>y¤ą¸{#Ă0*ü Ł”aům»ý)!şĐveĹű†‘L^ˇ{ĂňŁ [ĘDÓ¸:t}Z€—î¶š^DÔ_Ýa'×ň ©ă\ŕć&¤·ë˛ńFCż?’žzş^pŰĽ˙ŠýuÝw§•µ•ěŢuŻIő;Ókëú׆ôńŁßJO^ů)ť>ž˝\LúJ:˙Đ_¤#_ş2ť«őatË]iĺĆW¦Ą3'Ógżôőôŕæ»^÷éŐŻş%{ĎŔmîŚx·uYg crěDľpĽÓíŞEZ¤KM˘"(ĚżßůÎw¶cč‡~č‡ÚďôrăÚF‚P'™‚ďńľŔ<ʸÁ«@$Zšń%ů‹9Ĺ5‰<Úő<ĂgĚÔ…µO T©ßóÝ»Ţő®ü<ăFŚaćmĘńyć çjÖ”Há߀ęîżř»ÔFÄgżÂ¦CŃ> X¤wżűÝyb.á; ]zĘ‚9‹ç$±˛ŢPs-2Ö«yľăďČyŃ.ÚčZJž®Čś÷y˛#Ď"_ža]ë‡SYł80ş^ňĽk őŠ2B–ΩÎË )“ßÔ˙MozSűr@®zŰbíˇ®uIěŻŘ›RV44› ó cʢ|úEůŁČËqÔ‡łl;mĄ #@đ^Ač ęÂłî{HxEqĎü†7Ľˇeúóś¤IűăůJĎtxŢé6ĂĹŢ»´¤‘ˇ(÷ž¨Ş‹ćýLß}§iRĆúľ�™şě é·�Î7ópKşx“(7¬'-ČÁřBfŕďi±yٵ�6 «üěc/ŁXł %IŐ1:ăČ,�'“^űË~ű|+§Ž°Q@6< 2zM ¤@ö”ú–<ő61É^3&kü»¸ggn¬Şy v–łâ¤ÉsÖÖ[Ő4$˨ąąŢ‘VFMÝ4�u†šbŮpІűŔ›J¨ößC·üQžC@Ě0/ĺĽ4oűožŤJd÷ű貽˝…Ü€ŢeOşÚ\Đ8źeÜî]Sż MAŤËýŢŔďfUmČdš¨, ëJB$†XIm{’FŻĆŁ@ľµ>ďnŁK6(ň/ş( ŁŐŁIßhżäöâáeŢ}n(Żpťú†ÍH(}“zezĂúHŞđ,ŻwĹň~Ô­Y&·tňZ ú5jeYtvÜ3*_RôŚ0$ďHäôť–Fťő\ĺŰîy9Ú]Üǰ>G)߯®¬ĺжŮŢŇ´:ëáö¬G° ÓÇŁĄÜ÷Y†čGš÷@ZĎBzÝ$OĎ‚Ć-ą`^ôĽš4Ţ‘lű¨ ‘ŇŐsŇĚ5#¨ő»áD™ä±Ô$s“‰Óíöű˘ ÝűÄńŁĽ¬cëú9•p:ŁqçťÉ~1Ź2vűwőąąj.ętáŞŃťÔëSeäE=+şçŐ›gni…ug^©d›ă1fé|˙:푺ÔóěaĆq–űµ–Ç|”ÇbÜWYďHţ‰ăŘő*ŢŚäßUׇgШďŃÍöN{‰>1f”ĂŻ”>k{+Żąą-Uń¸3NťW–ŐúśíE‰|Ń Ű ä•ěYjH‚«B;Ć;˙‡óŮpżÜގÁߝܪ°Îö=ĆX†ůvku?ĽHţ=ëÖ7mZ’‰$9Őߏlü<ĎąxĽąĽ°ŠEZ¤EZ¤Eúk†g:Ół™ v˛©\Ě®BŢś'¸@ĂĹplUرó<W[ÇNö‹XŽźľžr±Íy±{¸‡¶űŮĘÝi/Ă{vJldŘÖâyăą´íRäˇWq/‚GűÚ_—t©Z3şÄďF—đ{t‘żý‡ßţHgź ~řKëřľűľö©łçj0´>`>zöôŕ‡ÓńىôĘóŻHw˝ěµéú=×§ŐĄŐfDÖ Rڎם˙Ťűď«tÝaĎŰő *ÝőóFaČ üV9‡ŢŘě˛Đ ô0$†‡@@HH(˘B’Fě—ś2�ůÍ Ä(Lů P>sCnŢş”;|řp{Ó;>8ř0Đ&cGj4�!10)bí¤M°|Ç3‚¶Č„Ľ)ă<ĺÇCĺń=ž>ţńŹ·7â)ŔćÇ~ěÇrŃŤ-e@ˇ|A{>—ÜÂż%‚?˛EŽČ>’e<("7=čΉŔPń N~ńiůFâůé<čw&1űQŹ–O¶‡<Ľ%PȢ§€Xgd¤÷úźú‘‡mWw źB} á ŕ ‚ŕT쀨XľúD} óň±Ź},Ë`‚ßĆľ2¤ ĺQ–äÚmůĘŃĂŁëE™,hň– +kÔ1CůôŘbůůôşlčăgŃ縗G¦zˇl€,ž.NČźü 8PľáP çcżK"âYäKťô.ÓÝDÚÎmáÇ6?<§çťőŚSĘ7˝qŔłô Aůż÷{ż—Ë$büóĽe¶Č1ď!_bW\lť/x™Bđˇ<ęŔáYC) Âęá‡>“0B’¬ˇG şřF÷Śq?Ü\P_ngÓO’ÚH†*0l“Ä ćňĄOůŢ1ç\IÝőL¤ŃČöŹ\ŠäóMÁ§Ź>ť©uŹx·“Ú(¶ľ¶+-Ż–˘„ٵgWZ[]ËĆć­­łé[<ÎźHŢ“®€°qúx:ţČéŘ÷ĄŃC÷ĄĺTçłľ+Ťęşü—­]é†7ż=Ýy×ëÓ^€AÚ_|ĽrŤ)MkÓ‰ÇŇSOIÇźřZÚ»{#»PĹ€˛Ň� Šáf”ë k¤bä|ćMß"}{)ŽŐÎ×ýÝŢ›wnÓ ŕ5ËnfˇÇOžIݏí/ş‘vţ(DĚóő:ysZ¤.I@Ó›ž 7 „ěäÉáŻcúő_˙őÎËp.;͵/T˘ćß~đ™ĚG%Ňb.ú«J%}éŮúäRź#;ĆţX \ĚŰëóoýţÇÓŻľ˙CMţ>sˇ+Jő6 Dž;w>Żu»Ű}Ąná­wâwžú€Ű4Ĺ«ź’ ĆÍ-m÷-Pńf®r±ţzŰ([˙î–lL8¨š¦*„`1íK{F­—rĚőć2«ŁJ`Ůú{;/]ęęa٬EŁqR±ÎL§łşď ´®§nb@Şi4+żű`¤ëź·«ăŤgß‹·ÖËž¸ÓÝűÇp CP^ywä.4Qż»óL< ŰÖd^ŘF]U^ÝMöŮs¨$H(ŃEľ+¸Ř)w©ń0˛ÜO˛L&u^őŢ`ÚT�ŢrßĎ›°ôŐ¤#Ă@ĆŐµż$ŠH&ńw µ0J â0BžđűÂ3ű” ób¤GĎ!öaôČDĺŐúŢFŹŁ‡ĺXU»uĽ—>śdÝ$”aô)y÷$6'zî+eĚÚýżuŽ·ÖËgŁ<–Š·›ŃŽŔ±ňŠ·Ě#pÁmËö™!‘ä>o Ţh[mBBDýç<÷ţů‡§>é…Ľsˇwzé!RĎ ŃŰbŢćů±#Q´·ßđŞÓČvž=3ď@C0Ů‹3qČźé©eÉpťĽłĽhG8źÚw;­'yN+¶}9$ \Ś,0\”[ÓăíÜ ±)ŤşĐ"äű^WÓüd2R=ľ9'BPĎćá\€Î˘kĺLPÚ/±ŔątŇĚăÖž4këçG퍎±Ř¶m'}ÔŻěMaÚď“H,rö],ł»TÖ§BžŤŢ¦)†čĘ}’šő:‡ů©˛—%l�ęq R<IEomşą%µ¤ŞŘ§‘4Ç‚óýđŚĎq?0~ÝtŽědšÚ>Őë¦sޤ ípí~‹uey©íSú#’ôb[7Ö—ÓOżëeéžť×W/'“†¤1éŮ ¬S÷{a/xˇŇwË^°H‹´H‹t9¤xĆrÎÔ÷ˇCÓó‘´O3ŕ ;"ř Xŕó˝ţ9gsäŇ/‹$W\ěťď¤b`8ěé˝ČíľńůLî}‘%X—żž«ëgąąĹFđdó{6ř©šßóđS…ßĂźt‘żźé÷đß45=Kşl<XŞÁĽż|ô/Óg§šžŘ$đnú¶tă®ëÓĄiuy=GŤa±x>x4Mę ć•ő`2ĚFy”â€.ă 퀂w\®QTŢ7„ §·<t‘â$Á`dŐĂnń G!pižĹ0ííuňâßľKů�±´Ť ĂIŠŕs”€2(҇1·©Ţ6H€–&ŕô.Á3” űËC<ő2„�ÉC—.űByîmo{[v…ŤgŢ˙íßţí Îâ€ŘŰóäKůŢÎ$/ä.a‚:ëZšž‹á3”‰.Ť• ©@pš< ’0 ‘·€=�yNčÍţÖ‹}ďAˇýŃ#A4DńŚžHČżi^=±ÉĎÉ[†áXČüÍGď/ĽÝjű=Roľ×›y˘9Óz čuúČG>’儇ăŐ[gĺ¦'�d«‡—x{ŐŁdĂ˝Đ.ţ¦ďô¤ač’ä ]šK°ßŃMĘG˙4ĘĆö[>ňtĽP^TĐCĆ ůŁ{Ô™1ĆM\äÂ»Ě |O[ĐżčˇÂĐ#üP b”A Ăâ8Ô{măyźÓ,´|§Ç 0ČD/1Ě?äAżľ„ď ‹đŮ'?ůÉ\·ţáÎä&ÚiůČ_ÂzAůČ6«÷$äCŰ‘3íQ˙,źw’Ź4®Pv$ËŘďČ|(źö;é¶Šwô„Ăw”o8%ôĎ0,†,"Ţĺ{ľł°AăŘŁĎÔIC°ŮpłCčS&ÖáEą LÝžS'OĄĄŃRşęš«Ňžý…HBř3g‘?ĺ?ťÉűöHGŽ>•Ξ:›n¸é%eĂ„ÁçĘCiýúĂéŞ;ß¶ëwN|ă+éńîO+Ź}$ݶůXZţěvzę‹JľęÍéŞú˝+o~E]ßşťŇę-ĩӛµasá˝b‘ébÉy ssŢvbr˙uNÇżÓÜł•ÉÚüá8ďçXvŞĂ_÷ôBöÁĄ¤K-ű»SÇ>HA’!6|F/'ěˇp% ±„Ö�°đüU€Űr;¶ÜŘ/ LŐ#B4­lÝ,ęę$�‰‚;p;Í OGŞŢľÜęBM�h–=HD�í-e6rÝ2�߆‡(Ţ ¦3oÓ—ůđ†\/E9tYnx“ŇvÂmćB-”ŘUá¨đtŇÔŻó¦0źogś3z^(šîL4Ľ­W‹8&Ľb|Z nDT®¶#‚i�ě]¨‡dŹŞë&MľÝ3Co#‘„QÚ:Î ˇ7đ‹~uađ:°ąYnaóÂ$„·ŕ˝ÍĆcžmË$ćŐµBÖÁť~ô€m\Â6 ą­ł”]nH•÷KŞü“Ă Ěbź”ßăQĘ"ÍZbg–cŇp™”Îa‘`0Ľ-Ő…łYĎEż}†Ü±ěç)ĹK%żä’F­§»ĺĺrĆ*ŕdwî-Ä~<Ś›y  {â9Ó1=$ďPnGʨ. „Ř6e%Ń!ĘJp5ΑeÖ‚¬¬_Ë@|GJ‹¶�xú?ĘŃó˝őČ`mUőě?ęüĐ+‡Ďx[^ű€J]çYל#â]^†ŕUĆřHe~@n¶Őó_,‹ż% ”ńÓ٨$¨ŮCĆd©%‹ C÷DŰR†µ‡O´ĹHŕŚ7ą"a ”1ď˝Ű/ŻŘ÷qŚ OúëüůłŮ#áćÖf«Ł±ďăüĚťçňx†5/á<rX Şď± ’)loÔ»®©7ţZrEJ­ÇśyUíHěćÝQ2•ăe(ŻŘ/˝rÂçŚGĺUd8ĎëőňŇJć„ö¤â ĄjŰ[l®Ę›đ`Ě»vď kiąěCl¸ćD"ÍĽ Óâeç‚H�Šr‹$ 0ćÉZ~WôŇYÝÚSŚ›˝ RzËS^ńěBßłľş«§ş ÖŮźőµËĆ´żH‹´H‹´HÍS<Ď–ýÄŮ–¸SŠű‘řo÷.~Îř řx¤ŃâŢ8îaź)Ĺ2#I׿ ÁÎxesx®{Ď"Ďdwžăźéµß˝ çĄIúIĆqż3”%É}Rw.)űBpÚÇY¶™_üwÜŻ_n6ÁËĆĹ'ľüńO}avozbt$˝ňôËÓ7Ý‘öl¬Ťm'Ň´ŞßµőtđĘýµAc5?Z˘Çʦ•z{Íuצ={÷ĺCcT u�p�q$ ăđN7Üőp"®2Q0oš \ň9Ę'aŔXć’ĺ«üPXCÄđŃAů�ˇüf‚`sO䥫|ŔèüĽ a@ 4;(ĐÚrx†öS×8čý^€ś|)źĽßI@‘ŚOśsĘ‚\›p6äCxn RO§@p7 ¸Śc8 6�)„ ęĆ„E9ŢT×7yQ/ňŐ€îĂ5~đ#`ěÁźDą€ëŢČŹíg˛D^Ö¤lüi\ERľîxřžĽ‘•3Á)›>c"¤í_ şęNB´źľ˛ýĽG[ô™äôĘařČ€Rä©m˝ŞčA1ßyî=ďyOëJ=&Ę\Bű=`ňCľ´k�'ˇ#„ę Ýô)ĎY/ĂXxŘĄŢäËű°ü”U,[™ÂŚĆ>Ú§ě%zPc$äŹLéCäÇçôĄ1Öę•'˙ÖM},ź6ł+’$ôÎ:űĂâf,yĆżaZ$wéѶ#>Łać¶«żńżŃ– měŐë†| ĎaBŹÎWË‘íâ3ú‰ń?÷{%L¸Ř’'y;·D™ˇ[ôí¤ýÔOb™ĚTŢG†´‹ňy.– ć’ÂşxäU;¶ O žşŁ,ĺŻŢ‘Fđý{ąů±‘ž:r4ĹnĽá†ş-{K\ŐllknfÍđ®s&=úŘ#éL DŚ*Ś_Ótřş›ŇÜ÷çŤDcâżşĚ'ź|<}ř#I›ÇžL÷Ľýi~ęXš|ä×ÓěôŮ4]ޝ滯JŐËnIű_u{:ż˛žÎž9źĂ’<öŕçŇž]ë ßC)ßşÍ{÷÷óu#EŢÂĹĹSÄ\x«vˇó©˝ńGÚi ˇd¤N pÄ5dŃ/ýôÝÓŐ =XĽĺ?W˙ú×ţ`@\čÇ(ď@ز®ăĹĽ·Ëíçrćšä=ŔňňjŻm<Ë-a %¤2&şĂ~™k·ó<^@šÎE4 ´nĚÇŢâ7ŔÓ¬­—ŕywfĺ|Y“ńşá~ଠŃ#DôčP5ž*&©„5)@‘ď›(‡slg)ŔmŃŔt Ýá-ý˛g.„”Ş*ybČ´őÖĆó}đş“«’ɤó Ńĺ)�›©WGëĎZÖK]ńÝx+Ř˝|LŃK`Žw2vů|_RCnŮĘíkpú~.¸:iĎj$źQ_»5¨ó–RH6 Đ]o+ső`Ű ”_t±#5·Ź—vÄĽÝóGpSP®ÜsîęRŔéŞ%±rXń$„bÜFŻ:Oń†ó0dúĎه>ŁĽ(oŽ]—ŁÎ:3W Ď ‡ńLěoĎŹŚ{@ěµ5B_îjŰSĽ‡śo÷Áą­7‹hDśµžýb,S }´[w˝ńEŕ=J}.z’ô"Ž:hX®8×xvV·ňó”“:Rú;4´ĆąÔ4ĚO‚ČĐĂßqöT^ÄĽ^Y-„—|Y© łĂöDYĺĐKóTćĎ&Ôа őB˝†AđŮh¤v>úŘŽˇŞ#ňäŃ2 Ćí,3]Ű&––{2Žş8LĹ6ŐČíWu~čŐ%Ž'�9d�ôt¨'++Kic}Wý{­!Ęuž]2ifÖŚů>ŞďŤ'›”ŤŢ›$Ş‘†úş“÷…!aŃ™čQ6·'’â>[ů[Ź Ey>ť·c.ÎÝúZÖJČŮ;ď Ś”u&oÎóÚYYź ۶˝=Ëďűžż# §í›@Řöo·'¶yŘ·‘0Ǹ˛ŽŢ{ /ß~0zÁ‰kśvY?‹vâxƉsUľŕ´ľś~ö=·¤C,ľ—ŇwË^°H‹´H‹tą¤áŢ/Ď56ĹE„Kp$đŚó$Ř?xi'gqżłSz.ëá°\/‡Ćł«— ăşî︮§ev{Í•žý#–ů\Óp=#mćĐve/íEáaşXyĘü5ŻyÍeáÁâ˛!XüŇWţ×O-ŹVŇÝëw§;®ş3-×ŕŘR-ę­ůůtô©�3Ś ŔŔNo$7×,!X°yçąî†Ärëť@ş€<Ę`+¨Gâ=ŔoľGń4€§‚źQŃI‚͆!yhá�AÝşQbŔA€Hţ&OcP›ĺÓËçňđFxdő{(˘í”o’0Ŕd�(Éż=<�ŽBî°aů˛Â EÁůî–gśúA[ʧ=¸á]CłPg€^B9H é\ÂŔ˛@*�1Ŕ±˛ă‡ü÷Ť;<őFfză�Íc<!ň0ć3ľăÉ 2ĹX¨ĺQ>žŚE>í‘mŠ“-z%  Ő”`o\tä„ ­ A#9†~ĄéŘëA]iű>đśÄžĄ|tFťUočú”2 ĂdžC˝� §®,dĂćöżňç=C°HpşcÔó†ăůĐ÷´]˝'Ć ]ĄÝ´I7Iqˇŕť{ď˝7/¸äLĐ;H%Î÷RďyÚOÔ‘¶!{úž9‡úR'.††á3ÂáHn±/ť{ Ŕ8^I=$N o41Ć~ó73?˙·ţÖßĘs˛—0ŔóĽčúź÷(=I˛˛Çhaô;ĺG桉ç ËÁsŽIĂHđBnŽIʡ|˝‘xů0¦ĽUâĽBů­ˇ:t¬/mĄ|>+›Żr;†6R>˛F&Ě)č}ŰŻg=ÖhÔ@nČ?zC‰‰6éĺý'çmŢá‡1C}©×g?űŮL˘ú‘ů‘L\Ę:φń±ŇńO"-=đ…tît=gmŐť]W¤éˇŇŢ—Ý”­śÝ{v/ßCé»e0Y,i‘éůNÎ7϶& çĄK]Cž+Áâ˙zß¶ó¦(ú{ó2v{ćâ>Ľ##”ő—ďwďŢÓ1Š'ŽX"@Ń÷†ŕů;ŢÎ.ë« §7qű�´çŞLIh.`ýr�áKŹłgĎĺď# Š§~J»SŇűE|n6›‡µÝ0ó°T0oÉ"ý6/%˝”3\’Ŕţ™NKX…ňL #!黄§\Íßwk\ _2I7ü;b@±â®Ę�ěR#źy<Š:˘FbÄN`™űÄaź(!ÉÂľ¶=]Ş2ϸžŐ8>˘§ŔňLĘ}šź«űnk{« żR�;öl„űXßŘ•=jĆ:JŇ{ÄÄăď­­íśGt3‘h>kĚžĽ$UžNŔNCÂθmŻ2-áFĺ&ýüÂĐŃSEě›xž‰r‹ç9÷üŃCD¬źş!Q ‰ÝĹŽŐC.zÁB;ĐŇŇJ{+­”±ÝŚ­®÷cXmCC=Ž€¨ŕ­ ¨2·­ç%Ńł?ŃëŠů+ŹáĽBxŠjŢÉĆ~! ‰Q×'ľę‰KĘ‘ď‹ÇšyëÍ‚ń Xë9(îoc˙ç¶äůrT<Ą4a,"‘¦­OżÖ#z¨!Q~46[OŰ?GÇÚţH© /ˇSţf=Žć†+eB‘w ä…âMahkč‘\R˙VĄë[ĽÉçĘ~6Ďg@ OtgâŠÄµńh)“Q”Y$Č IPqŤrĚuceŢúL‘řűyXźŘfĘ‘ ľF9 íVC‚Ś:Ë(:Ň‘ ů˶vk”^ňÚd áCb dCm=”ď~ßq­±ď"9fX·(ݍźŃ>mF‘AŠd Ąě±h3ë°ëEűŇČlËĐęüa>Ž•¨s1¤Hś3xo÷ĆjúŮ_,ľ×ŇwË^°H‹´H‹tए˙v­c»ňĘĎřŽku\ý›}8ëáżřĹüvC]÷Ó‘ =$\’âžÔň<_Äy™ĎÜóóŰËŰ`JěĄăŢ=†–ϰ1ďť~´SŢąőNň¬ń¤ŽŕşsŰâoĎ'±Ý´,„żÁl<?ą—ňw,g'YŽ.“!— Áâ×ď}˙§îľęµéĆC/I+ă•bśĘŞZÉÎMÓĂŹ>śµxxó†ĽŕźŁ$†d@�Ě�–’ůÜĽ›wĂ7>Áz”P™ňă&Ůp¶|ç€ĐĄ ‚ľx°÷ćźćRGČ 1$„’6ˇôC7-Ľhéí~ňâYĘŕ'/ľ§M°‡7ě1´Ń6Ú€ëmđVšň9\0f‚÷ 0ř�.©ł˛/7bşŰđÔ `“r¨? :żi?ĺ2)RWęÉßćeFtČsÔ×pN2’R LX>m˘Ďé˙rKć|n‡z`ŚŚ ßŰďaĐŘ”Ąg ŃĐG9xx /Ű/Yý(‡ň]Y/x–~ĄŽČuHX ?ú ˛ŠďŞ×č~ŽbJň<˛ßűŢ—Ű÷ć7ż9!Č#’5¨ĺ#dK{ĚŁţKô�€÷–u0,Žž6â!Řöó9Ď‘ĐIĘć]ęěĺY,>·üh07tdęjÝČŮĆ›ľC}!8Pwd y™č.Šw‘ 2”0€ ůĚö»�ń˝a+Đ™‹č?ďDzMČZoĚ)ČÝp2Ĺp¸ŢąW˛\ţčŹţ(Ëö˝ď}onSĽU|ČŹßĆ-%_ĘćYçĂhD ®xźzň^śóĐY=ÉzMß>|8®1†Ď$Qżhd lę0tL2d ď#kŤ’üH–Đ…Ş6žAVz!ńľŢXĚcŘţn_śgd|şŃ#ŤFňŁ˙yVŹöż.Ŕ:W¦…LďvË-·´kH–=î·ëź=~$=ôŐ/¦O>žv=ü•´ľZoR¶Şôř+oI{öď[,ľ‡Ň‚`±H‹´H—SÚé ˙Lź?Sz®‹_}˙‡z@\2ş÷ú$ �ÚŐ‘3¶ű ‰ŃeźŃ_Ńń}÷ůeí·D](Źr>ß hëŔ©ĄĐ®ÍŢ ďč1@ CQRxż¸ŘďHĹó…€íRCř(N ř]<nĚ›Uţńö®dŠޢ Ń÷|€Ë¶«ó„1iĺQęľŐ†•”<jšňo‰d-1Áţ‹7q;9ŹRô<!č+x§.D`0ŢŽ Cđ›4 ĺ>8, AOĹ%)sŇ[›‡ŕâĐPe{\ł :+†Ť¦Ý†T9®ě‹Wë}ÝÚJ˝w {$~ä2ĆKiHpž6DźÖżĆť‘ly˛Ü»m^äQB~(kŰŔß’F­Ž&Ƭ _c]b[Űĺ�ĄóY;”Y,#šŃÜÖ[cd<š<+DWü‘čÁelC¸=ŮŮN{ă·ÔiĄË}Ź%üŹ^]f˝w$řY,<¬ŻcÜůhč Ţx÷¬ő«'Ó/áŕ8öK´)ŘN꣍b’Ç~‰P>Ďóéćůě!İíŮ1uˇIJßŐ}µÜ÷¨áż‹7ż*4đFIô`Ý ńlů˘ ůRťçÖt;{¨2aú[rnÇ.zż= úUô;śOí×›éÔľ§¸Śđzą™Ż«VśAŰuf©¬EŃÖ¨§PÚGżäţť—± ëü,//ĄúI™FĎ ­ĽV–óYĐ~–T4”c“ţ{8Ź9~#‘Ęţ‰˛ŤúCm´uMUë]Őî_”ŮÍĘüç•ň{©ĚźU.‰Dˇ^ł„Ü©ö‚x‰%‚ĄÝ\IIQg­CĽuŠlçý°Î¶Y{Źý‹ÍŔ 2ćÇíH58¬+şVBuU˝¶Ř~ XüôŹľ,:° X|/Ąď–˝`‘i‘érHÎqń,É~†µěСßVž^˘ţčG?ÚzčĆ&=„?߉= ¸ř+˝đüB$×°lĘ„ĚVúB&qnđ °  |;vŁË…`qŮj»uĺűŇKÓÖćVš/Wim˛š¶ć[Ůxq´V22€đ‚şüŤ˘Ł � lÄ-˝ůí­eŁ( ¸Ç÷€Ú Ü0»ˇvłîÁAĄ›n°Sňâo@O˝D` ę jhÉ$ęM”Ă{ ëÔł¸ÂÜĽ€IO›ř±|ęlů ęCű-Pň,u'©÷˝R@@ŕ9…ČŽď,ß‚`ů‡>ôˇ<Ŕßđ†7ävń.rČÖ3żi;uĄ.z Ľ �v“?D‹Ď}îs™´§@UžˇĽG^ń& ů‚ę}BźńCĆĄ^€˛äĹ$ˇ!‘ßč»3Čש1!uĂŤ#’�x†: C–Źńą€12áY ö<(,ˇ‚w!6P7ęÍóô†®Ť†î}©[‰U}ş%Ę?ď“çţáf]ůń˙ń<1›?ăAÝçô˛‰ĺG#Şl4Ę:(YŔţG·÷ÉC$ňÇ`ˇgÚĎöĐ‹®FCm<8{×íźń.^?ČýQţĺ‘„ ľr÷Ýwç~Gďi7!nČS˘‹1»âŤ‰|ĐmÂh0Ő€Ąw ľ§ DZ¨«á{č ]aJÔpţa ó·żýíąžń€N™čmDŻÉ׹AÂăE˛źwŚwőĆ3Ś~ă7óďčŮÝÔ…}Îß|NßŃ^<·¸1âoÚAý(Că"ů1ŻŃ‡ô©^OxO™ŃnęHţ<O[¨ŁsĄ›0dJůČŽ:G‚z$«S’Źĺ“?ď ď¬Ô—ri§áXwäAůÔ3z#˘ĽËŹńŐ WĐfB"ńăśöŮ7D“zŘśçFŐţzCô’WĄ+îů‘tîěů4Ű:źF|>-Ň"-Ň"-Ň"˝Péb‡á=,ě�vŚÎ©´:‚ë?kąˇ×ôâEŠ€&gńBP(^! `0ÔÝřÇ5ű¬Ún@¬˘˘|]{—ü˝A>k�Ö­ž§÷¤x€Đcm¸•ěPÚ’šwĆíy®”błWĺ†xy¶ ]Q€–Ŕ,ä ßŰí3%I,XĘŔW‘eÎ=¦ ©­˝-\nâ"FÄ/#”€÷cÄŕé±˙#é¤óPŇ=Ç{Ę6Ę$Ŕ-pí»z4‰Ä ˝tL…Zd+č`?„I$ktd”i[7Ú|«ű})ßęg°1“dÖG™4ą [ËÖł�ße�l2nAČăŠĎ&YŮ$ŕİă¶ݲ^í +tż!6´miôgŢxÉ@^äwDÎ+HŃ—QŻ_2±Ł]@>ňÜcźz›kxCK)ľŔ¸tA}˘Gń±ąY\˙rfÚµ«j‰ECŻ�îĺí˙^¦Ö®c_Ć1mČ3^°^ńIŃa°um‰:ĎŃóy?DĹ2€sS·HT’5ÔI˙ŽžT#©Ŕ¶IM¦őúĽ…çÎ0†’\_ßhÇ�ş´Ľ2iCź´ŕyjÎácC$ŐóCUµgAR$Ítžo:Ź(C}2!$cUëÝR¸¬ë3ďô]dÝçŮQ˙RÁXP@ěQŻ-Ę+Ú¬;^dřásuç.C@dâ–ŔvÓNmô ç[Iük«ëť^Ź ®;f­<âš§lş±0*Ößć{/ C˛Äp1ęaÔ©XFśď†ĺŞsÎÉŃ+Äđ…ä&űżŚ·Y®sŞć˝~Ńľ”çBîÔĺůŞ#U˝f>"ÄĘÚęZ&X!S/D /ň ×’áZ/©D™Eň‘ßÇ5HRU”o Iۦ~Äy Ë«nÇh@r^1m$»ÄľŠkç"-Ň"-Ň"-Ň‹= ÷„ĺ÷··ĆéeáĂţp^źßřĆ7fü&^4~>“80¸g.v;ĽĐöppJđ°Ś2‰łŇ>°1Ů~ýő#k^6‹ý{rźâlZ]ßUW˙7{ov[RÖw×Z{?Ďş!ĆáŤS®·şPY!Ň(I2‰1ćC®+ůhü\IĽ’|Ép] !ŻľäŇĐQA *ÍP&Á6Ľ1Žşű Ďł÷z÷ŻjýVÝ«ž}NşĎé>ç<»šÍ>Ď^kUÝu×]µŞę˙Żűţ ›M Ď¦ĎüůDŢl –9Ů•0ŕév�;�/’LcóčzQ/€m€ő/÷čzž<ŚQ Jr/ÄË×e<ĺ<~ň±|äsÁ7™YŚaČÖAđŐŤĹ>ň;u‡°ŕ ˘w {ĘXV7¬Ś‹7Ô*ö@˛JdâSoČüŕóimB‚�(˘OĂHPtŃĂĹu°L’‹"Áü›oľy"• sÚđŁýh–bíŤn µBąÔßzQw˝rpĎÇM2ĂpÄS!ʦN 9ÂßÖ’ÔyŁWękř uGů\oË'oÚ6¶;IąÜ4’XcůÖL¸NжŘ)6  K†mˇ|ôOžVh Łč†óBĺ“ř›ß©_ěŃ ĺKPA‰zFŔnxđ;ňp rKôFAŇŁőŁŻa‹0č“čOĎ‘H"aŰĺS–^°!‰W\ă%(›Ń 2 Z<ŃŻ ’{CnőĚóč„ë|ó;íŽüśxž{ŇŇp2”ďKJ»#O~CFI†…ü PO®ŰÉ“r%-q/ňsŹmŻ ÚďÉ˝2VQíť¶FČ/S‚™ö„NćM¸˝é„ý“rh_ň˛đ›ž%¨żýÉxhŽm‘(#‰ÇÉŠ‰ĘfjńVáf–D‰o\#/ôŞçĂ8ćRľ^Z¨+7  Eů<'ÉCÂŽ˝éő‚ňůýcűX.–,2čν¸ˇwňńw×é®Íý§ őyI§NźJ'?Żś&üť˙ď7Ň.íŇ.íŇ.íŇőć Ń|ţ_AŘĂ‘”PRqż P!JŘ€»ÇyÉţDŽ€¨°\ö#™ z™9ŰNCÂ(@l9,!\]‡‚BŃög�xrËóëu=ĹjŮFzRđ·dđŻ®ÍĘGĎŐĺ˙0Ę·`Tͧ’/ŠsČZ~!IĐkj™¬·ýýe>I}îÜů‘D±ž¬ ęÖ˛ô.·šôÁé¶ý‹Ţ«‘$á3T®ĺÔSż�‹k©B ™×ŃŢü˝´Ýb”ŁĚŐ*™¤z2© Xń8ÂsŃEj&.Śyv–Á˝›v"Dȉ“'&°•0Ń»ÜĐ• !‡«´vŁ7 @ën<Ĺźr]†ś§ˇ s[# xI]†,ÝDĘdʰÎ( őÉę*s1úęşâ'íFW˝Ú—6‰Ćíßöm§ÉüI¶›ýÎ6Ś€8NDB}űĉ˙÷ěYŔë?źemÂ>Ě2ëđ`$P0w=#Í(ÓÔ ĐAUďŹ¤Š¸Šő‰v˝­DO†±Ü¨ď—Śám6ę-´‘„áµiŹ!”öHDčsrݬwXSk9®ÓŁÜŽ[+ ˇ§x׉ý2’Â"‘*’WlŰÖƲ|ŁÇ‡8nOuˇîŘŘX—üDŚ®źÓ)ŞM‚[lűřľ‰ňGO%¶ž*Üď›y Ř䵸žö+r]7ăę™3gł'“¬eĄ_ÇţÉ ń0ŹĺdyFRáÔˇMćí.¨˘ÝEđ!Úa¶‘<Ě=ŰÝ—ún;t´ŘŚW‡“ĽyŚĚýŞ/n™RšőŻ®+cjZ×viűG|OŘďô"b÷VŁ=Ůg˘~˘EťXďú.^M*#!(îÁř;m ‘ÔI3ŮÇ0Ž™ĂpA)ö9űňÔ.ŚÝ;ŽĹ.íŇ.íŇ.]ĂÉ÷4iľŽ{•jÁ|˙ç…<÷¶·˝-ă0_ó5_“r:_>2·läébĺůoçŕ `0ŕ'błÖ§%_^¨Ě¶Ľ‹Ő\Ś ĚL’G›ç¶z¶)–×ţŰżY€?ń7ős>ëqÔVŽmĺ]éş!X|馓śß,¤˙ŕŹţ0ýń˙ůÓôţřŹ6››sÚß�uiriŐÉ1 ś`­  Ä T ]Żz ł¸Řć߀fÜ`H‡Ň� 'O ÄŢ ˙âʲ0ÍéŚäO×ó·ä Ŕ?@Pžô4„ž1”G#“Zb<@€qţí)nľ‘IąX¤ şl(äy€PC1 3î€&ĚůáçiO{ÚĚ%Ž€*żIPQÔ‰úŰ.‚á”Řj #ęÂďx>`đÄ»÷ŁžA÷Ź|ä#gŢ@¨Ż^xžňą.Č‹ži] ę!Boä‰NőÜá© žNô‚břʧ]‚cý‘đąČ_Ď”Ł÷äA€îĘďć˛Ű¶üNYĽD$­pŤrôZXŽ˝0 Ó®„Ú .čnPľŢ8‰úÓö$Ëç9ę/Ŕn,lČ-”eůÔťŹu‚ŕAy¶ĎąI%/‘PŰđç>IFęM€[±|tĺf‚DĘç9Ę'_É1ÔC҇›%‚őäÉsŘ6FäĺÂý‰GĎ$žĺ%g$é Ű'?HV¶2P)ş–, ˝ Âđ!\ČWÝÓ6nđHr˘o’'ňHˇ|>ÚňŃ/rI<pCĂÍ=ú:Ä^xĆ“˘’5”Űxč<«GŻSIk’ĽHzˇMŁKU_ĐNZ¬ר;ůXľD"äE'Ô“1Űňµ=‰6Ú;yčÍ…Söäşu¨.Ş©+ר?ßUĐ™}ŰMł÷ż˙ýŮ6÷¸ÇeŻ,Ô]Ű“č”Ç6BŠ|ć®űęôéŇ=9Ô*őKęľ—®ŁyÇ.íŇ.íŇ.]e)‚1FŠ‹đ¸€w-#°A–梬­Š‡Š'öG ĺ|~‡ž<y*�]ľ'mz(� /á"\&dpP·ÍëuőT!XRć)}ťńR!™C/�ťN‹:eN"č§ç")bĘĆĐh­ž*�śkU§ëG‚DŞÔ I˛H†�lPÖ-)땹O$YD2Śĺx YbĚz˝šĘµĽŕ;ç§s#§.bŚX®`¨yZ†"P8~ĽÓ�bŕe?zĐuwlI.äŻK˙©lĘI…čp¸J8·ě¦˝ËßžŽ.kIÂůmćĐăÜ7^RqßžÝé§ŚUŹ.i 1a�$'đr¸5űŃSE±Űây›¦‚&VëEpŻ×®هŻWĹSkÜHkÔH@i]í«ŻHhNţŽa#"© ’ř.'âő’ Ýímćâ{ą?rťů¶ű ĽZcÍĺôÔë…6K†[ŕ۲˝7†˝Đ+F´=ĺ´nQg^ŹźŐާń±K5Îî–ń˛őę˘<qŚiAŢŘżâá’Ü6č›ö ZzÖ¤.†R,cn(ö6Ž3‰bu>őĂběg‡Ů㸚ÉCCżăţXę*qŔ$ŕ?˝§6v|~ux”TÂب!|DŰLA‡Ń–U{•| ‘"oŽwĹţ%eŠ&z6)aelű4ŽŘ<ĚłąoônÁűâÄţáĆFϤsçĎĄŐÝ«‰”É`©şľz{‰Ŕ}HYăř×z�R®H<‹ŕBK�šŢ#A«·ÖyĚXg;-c^ëmdÝ­gŕEŰף7—ěťÇ1q|Źą*˘O¶Ë2U"L}?äk¨$=H8n˛Ĺ}ť¶ýý´Ä%Ę„Ř)Çwőď}h§~"_xϤ÷.Íú^Î;uł÷ž×㻹’ć1ŇŁ¬±ďÚ–†‡ŮĄ]ÚĄ]ÚĄ]ş^Rő˙čŹĘÜcŰ^żE"7{úůČGňű–˝xxZ|Ç÷¬ÇoxČÁÍŔĎŚTŔ#–í<@˘}›ç…ö[.DčŘöw[YDŹę1_ńAp±d¤€ýɶĺ´ő‰ë14ÚÜĂĂ´q˝˛íł-ŵăő®‚EŢX–EŰŢf2zň† 0}zVź9ź>{÷gr,\�9 0ż Ĺ0Nú‚¶üNç,m] `’ř·a'\”‘y ŕJ ŕw:�ĽD Ę÷t?×=©Íó|ęFVą\$‚ő$AoňĄlî•Ô ‘ ’ʧűýXľ€ŽC‡´|'ř–Oľ X <Ô‰AŚëźČ$YŔ0†O,GżvVOÇňŃ-`­§ËI xďżů›ż™cd׳rQmÇ˝ĺdËŮ\ě�°™ß-ß“ô†+@o|SÚ r‰„×o‘°Ţ0#n<÷DRE´îE>ěJĐ9¨Ďk—ŔÔßđ–ä'�/ĐN"OíOzÄ.!ÁÜqÇůß°ůnąĺ–üś`ą/ÁbÚŠv§ż 3ëax Ř�eZ>yIbB. %¤đoCŘĐg¨u•¬aż@/<‹­ę‘†DžöŰTr‡^$ů%zg©vM˛o¸áFýąROCwÚ[§îĐ=/\ÂwPrÚ¦äĎ3ńÔqŘ“„É<|[ĘE&D<ą‚ry–:Z‰XÜ«mÚ¦­«LOZ¸A¤÷CáPľ2qźý›ßy)Ç8[Ć”u#ůi÷Ř>\łÍÜŚ \drĚäŰň•?z‹AżÔU„ĺK0ŇÝ*:—d˘·›ŐŞşX•Aý¸_B™ÄĘwĚrÜ$Iđ±|˝‹xR&’ÝđLĽ’qě/¶=ĺ“?˛ţţü~:ąŃýCđn´ąţgźýLę7źnÁ6Ě~؄ܥ]ÚĄ]ÚĄ]ş˙éb ÷¸ĆąĐ˘řr¦>(K ¸"ZC$¬Vp¬AöZĐĘ;›đ�XľËçu-ˇ4*Á˘źm,�H ®(WVçŢ3ü 3(‚™qëXEęU7#Ę©{ë5wç^d¬›K5üČp(†uÓP$«|ß0¤±U˙’JpÍ®.(_/uĚy$”5YđK~EžRźŐś©ß\•˘Ž[»‹@ń üëş#$ŚxÎÁÂbEÇë D‹©/'B‚!?ÚöŻDŚJ^(®ďgŕírŁű˘gŁÁö“G„"»ëZ�ÇĂ{'°„ń( óĂőá*źÎçßiŁsš€Ö’ç lËřc"»~Y×sđzą¨ű ßčČCäá4Yßőłż[‚̶6jO^G€T`4±-IˇMuCuú˙"^(‹˝•i]O›âY¦6úŃ3Iš#’‚V‡Ń3Hôl!°jű+Ź›śŃ•¶ÝĹbäÂĚÇÜhó âiůf!ë�9xÎ^ZŕzŰřŢnš!Čtóp0ŮCÁz´ť°çă^R^űś)žWđÄÇÎÚľÁ#F ”ˇäőP‰ó}źÂ8“š±k~z/ßłŽŚąofRČbv-·on“ů;Îö®yęą+˘gŰŰľéXX6űÓ¸Ö=śmw f’ÂD,IŮ“ $Ęôŕä‹“ăÚÝ~νŽIĘmyÚK´Ĺh™`&)Í‚˝ăLčkćSĆ®q\¦µŰCmÄöŠúŻk_tľśÚ×ÍúüüPHĄ’Ő&łž¸g"äUőµXô_űuÉŰ6B—’ůÖ¦}lţľŻ}WoĆŃËlŢ»Ů_ÎÂţÄzÇ÷ŤőLAŻÓĽe] DńýUő7}|ďD˛fl˙…cćǓݥ]ÚĄ]ÚĄ]ş,É9d;źŠűéíšä;–w$Ř ^żÁŞn=¤‹Ĺ‘âşäB@?x‡&ÁÎbYńŰŹÜ荰]Ó^ęľĘ¶yŐ¶ą˝ëά-żĹĄůŕŤÝ†ĘaĐ'=éI3Śs› b~čWďđ®ąŐŁĎÄşo“ť´#X\ĄéÓźţÓ  uOúě]źI_řEÄľ˙ pubÓřĐďüfčLq•/YB0€LĐłnd-'ĎŹ ):+ŕ%‹tCđś$@M žRĆ�l%T`\†t�,ćŰdčňá9Ę3! Ay:€‹kÝÖ3ą€—"‘k’±yŇŽ›žî·20 ÖęaAďžčfŔÜŔý�ŠÄ6’tBůŐţraŃ+ÄŔj;&eóAFęÉ€ň‘ݰ ”ŹÎ,ßÁLťf’"y�tň1Ô�íN{źűŃ…€ĽĺÓ¦ÔÝ™ ĄPŐiF@>íŠß% ^&zÄ odâ^Ęt06„ 6‹Ţ8áď€$ &z6pŔŇ“@±ĺHŘpc„çĐá;ŢńŽlk´«öěézI(č<H¶·'bŇ®¸H2Ń»G$QőâÚ"‚!G¸­Źž[Hz-‰ vľŤwŞű%t=l`||qX/~ʱŁĚ•ňyžrôhĂĹhxĘ LĘ€,Â7ĎŇ7x‰QG‰$Ś’2Č D/öĎLž[°_Č;üţu_÷u“÷íB˘ßŘu4$ y�ôŁCőOťim۰$<ŻŰKÇ.ňłľ´÷Ĺ0n®KQ_ČOÂĺ"d"Ęçşc–D-ëÎ3؉uŐ{ yÇMGÉs$îGf=­2Q_'VÚş!LČ8n[ĂŔ8Y ÉP±˙G÷żç=ďÉ÷Ţzë­Ů&¨?c€ýVo"b7r_ö%_šn|ČŤyż<{ 9„äw& «ąb—vi—vi—.ojÁý Ýs±ëW*EP¨€}« D%•©Oń˛ 0AÜapsať= po9yľÚĽ«Ëo‚ţ@[ĺP é° đlPĐŠŁá�i ™ˇ)âćŽóŇRN á©˙m'k˝—áZ iQő°ÍŐ¸aE űQNýú‰I0¦‚}‚łË8ZDđô±ő/^ ČTĽ4@Z¸Ž`°ŹňoAó4‘9Z�Ř׍™âaÄz ĆMëŇ©ţÖžş)×kčÇHGĐJ†T[ŚÖxj»Ü_róÔŁá˛/®ó c=Úkšî9}j™ŕsç*yĺÄb1k×b%dĘ\ŚDš~¶ˇ5†%T“ýgäG2€›˙Ëhvi› Şă墯ým=…FŢŃÔ'ËIú>獇µčE"nvF‚Dl›dôZ$Xmóě‰>'iZĚÄ^Iž´:H%Ä „€~\_ÜťöđĐ—ëeč_ĂHÄ:;#.ŘÖ®űc#ë‰ ~băéţ¨›öGď …hď 8Żçˇ…bßóyőűMŰ˙g›Ää·.abbţëĐoj»vÁŚĐgĎťÉ^P"ń¨×[E—Rőřs8ó@bŮ4JHŁJ6Š}ÝţéĆuî[3ݱż§#ú©ý˘›ĽŐD}WťćĐ2–§n!?Lý,¦çđL±ž{Ç®¸ámŰJ~F{-{4›µd¶çuÖ)ă+wł—ôŇҶłrF»ł®şľz;ę°ÇŮćűŘ´ÇfëkŠkß.5ü-öáG$FO)ľ[†ŃNşi<ÇvîÉ{EűEŃm±·eÖSK˘ľ=Č áÜ艓O b›éí"ęŔĐ#‘ĽßÁł~”ć!G”Ą%UÚ7ý-ęµ'ňţéćúj=÷ľ2+;íŇ.íŇ.íŇ.])ľťś:…÷Ďź®Ď×wő7ÖO`'<g‚<ŕÁȸľď帞$±w˙ş×˝.˝éMošň?ضvőßâ]F�ó¤n áásŐEűo‰Î” ć˝e|.ĺG˝ţőŻOoxĂŇłźýěôÍßüÍÓę¨_ńQńđ¨x !ęóbużXý®őtÝ,ţ÷ďý^şáôŤéKľô‹ÓC3řĐ5¤ÓË˝tę†ÓiőĂlä€őžLŽ€´Lf’ "ť Š'ë1b~‹§-˝7ĆߣĆş#&<ńěĆ” ŁĄ®öÂň¶'űuáďép@BŔA~s˘Îs’ ô,ŕd˝ťĚÇ )żéÝK@T0]Ôő)OyJö\ÜäË=z@fèÚÎg'¦NčY©ż§Ő|%łPŽ'ţi7@l:»`+ׇr™?ůÉOf°›˛ýáx&8´ đ¸9aůüŮ © ×tĚ߆™°ĽÔťçl‘ÝÓůÔO ^˝Űä©m¶E˘ţ´#ő·|tĚß”očÚKRa$}ôŁÍz ýńZ1@rÉAš$1FŹ †˘@źz¤ ŽäË˝”Ă˝´‹át­)9űřťúsź÷F›ˇQ$ÂP'ňŔç™HČAŻ\ăYÚÔP–o×ôF!éCt`X ä%1C˛ŚÄ m ˝ß|óÍY. F´!l [|řĂžú5ű‹ýŃÓQŘu˘˝�íą÷1ŹyL.”,a—Ś Y@ą$ÄP 3$Oe`Żô7 ÜŕyäB^ĽzjáĘwüá‰cęrµ+~×#×i+î‘D‚˝Ę€$I23oî5Ćר§=o¸ńá8Ž m8>R×?i# täCâŘJľŚÝ‘dL’uôâ5ĆBľ ń2âDĎ1»Ł]Ý,´ >ď/ÖňOž¤ýOoęöĐĽář»˙sw$ĺzNqŰšq#šěźůĚ]#đ”vi—€TOÖ~î©Küqşű+ď6ŤéöąXáĎ­™+Ć–ń$­ż 7ź˙ĆuA˙Z˘!2*đź0±Ky_K8-Ţ´$30G>Ŕ?×… yb"0‹¶oŔŰh%D€Çj’MÝ�q;7'Ű0$ń™ůi˙nFf¨z_O¶+ČËŇ#Ĺz=đŞnś× |–yN€Ą4‹»ĘóĹSZ=TÚµxÉŢş¸IT<,3PŻW’4Ö§Ţ#ɡzL(ŢLÚŤuí.굂°Ĺ–"ApN†ń$4žC*X\ÁBëĘű8ŽsŰ §Ăł·‡TĽNڤ@ŐÉ@cŹ:€MąľĎáBÎŚä•<?ĆľĆr–ýbň*!Ţ—ŁéŮĂEĚ+Y¦˝ĺ´}îK ôQ@őlű©ž°đ^ä2ş\ć*”łJ»L€?ź4' D˘€©%"”>uÔD$(¸Śy©×xFď�ôËZöŐ÷{Ó›L`ŹÁÓů›qŔuR$$)dŞ~$ T™ÖÓxQä*ž0Ş7”aVWĺkmÓö‹vgÇÎřL¶ýix]€}dČjJX™ňwé@‚ŰžnëĆ1iÇÇ4zŞĆ&yLÉý+M^P†ő¨ßm\ĘY­ {°^/aô$éÚ8ŰOę&ŰŰěn…±|ťô6RęŐOďIhÚ…ő׾¦wÇFţĄ@ü&‚Đ!!]Đy*#Żc§ĺB"YiżâɦkčĎÎ$Fĺ0ăáů~U™ŹW€ĽĽO˘—ČHÚjOaNcSŰ. ÓXŔoË˝.íí/gdĆ©)¨źy€žâXßAÓřŮůŢ!LIé˙ăřOuŇŽ«‘ŘU‰dz!Çqôż\Lď…ň®.†ł):F® ác•F?Łýăűń]„=â…g$bŚ‚MďăŘOí†ü‘X‰ î±ć!ÄBgObôVěľ„:śÚß9Cü[ýLDŽě…ä¨'źŘó9Ě8Žű[%äŚ'@ÇkÚŘ*Ś ĄGűYŹcđ8Žď»´K»´K»t-§mä€Őm»Ç¤ÇmB·ep0•ĺ‘P{oéçţçÓűo˙-mţŰuźÉu„‡.ă;ţţ¦me:_ÖK|$&ß×DžJŢüć7§oű¶oKĎţóg×<čÎśÉđó÷·LŇĺČăjI× Á~ČCştę䩼ŽŕÄj -�¨Ćo€y�iz�(¤Ł’ŕ srAt)ˢ‘{*% ¤ë’?&ÁMžŁlňĄ3Xľä]ýc¸Lúą—ňÍ“ň)C°śű�”ůť{�Ió˘6 n, ´R哝şëk<Oý‘‰çôĆ!€HČÎuXaÜűńŹ<ë·2�»Ń#˛Éŕ2Ä‚$ţ&OÜS_ľ‘KP÷Ű«|˛ç\Ö?`˛á0¨łbůüŽj‘goşé¦,ǧ>ő©“ ÂÄW~ĺWfď\“DśÖ‰ßÉ‹öäš`¶^Đş•\á5ÝiJ\Aä‘`sçťwćü‘źßŞuÉÓ Úú§ţ†KĐ+ß´—dë/Ů„˛ßýîwgťSßG<âů2ČŚm©'ú ńĄČź—’y #íŹús 6qRŐ'h[I#č�â2˘;CFPrRGd´ Ü@§l ;nČémFoę�Y(OŹÔ—$XOYÖ_O&ľDđaů†ýˇ®z%± ÖS&ń¬$éi¶3fp?vG˙ˇí)ëxá[ÝQ7“”±2Ś żĺ %žĽŘ€-Ĺú;vń»^]\ÄBúë&n<ëyůéÔ_Ż z€Â>f’D/˝IĐćÚ†ŢAĐ™d‘¸QmhěCφ˘ţ–/™h †B±ý aBľnVčÝ#Žźn–¸ąM~†‘8Ăsn¢Ł_˙ő_ĎcÇ3źůĚôŐ_ýŐÓ¦ős|çĂł’6HŰĘgłhożźâ6ďŇő›âI¦‹"đ Ëą2éżŘ„t·Ë¶K—#‚Eőzfë]şôTI�‹8čü±˝7Ă|¬kSK(đ·ÇkĚ*@L<‘"‘^’E1-#zÎ0ÜF<ŐÇéú\ç'ł čÁQďoO©ÇůŽă|Kşkeô1‰%UvĘčgďŹxjGP.¶™ _ >q+şštVSńdA(�JN˛ź9CHÎ6 Vęˇ�¨ë±]ŠŞ7¸U\Ë ÂË|­â#y"zş6˙hŰZMÄŰöˇ”±?µUĺŮ!´Mš•Ł|QżĘ™É›˙$Fä˛r¸>Ăr’†P»\Źŕ`ńşPĐ«ě9słÇ±ôDT!i¸^*ŢVRXűrĚŢ8´–¤$ u¶>¬‡/ЧŠ`k]?•C}}?ćE} ĐW°úÚ-q"nŽŞó¸Ţ°=ő Ňö˙¸Ž] ŮÁ6Ia~Ô'˝®hÓ'†ý„ŻĂ ^Źkעďýiýnľ’ş®äk8—–ěŃ÷ŃÍm)»ĘVÖŤ±˙·ëăz­%UÄńŁ^W:Îö÷Ł,#P>élŃ×p›¶\AŘč©[—Đ(Ăş†3°˝&rG2śĂ8^ z’`('´B>,N-sŰ6ČCx’TdűCÎčűůXnťÚ±>ŽŹmźźH’҆úFA©[!s@®(ů§\ţůóç&˛ Ý»ŽmäÚ:‚Űń=äŕ~LµµnZCÚÎÜCüćű†>{Ŕ°-˛=®ëŘ‚LeÝYIí>—ăŔÜ+Dź»Ŕ"„@ĘkŤŤ<}Őł6˝ůDB@ţş+}©č®ĺ�öÉĎ ›˙ˤźHt"4L'†Ňň´ŤD Iëđî-$”‰d´ájŢ‚— ő¶}XÍŢ—Ú¶„ť×AXËKpŇËdbʱĽm˙ěA%„KŠďYĺŚc…6“˝Ż,łţë“ë0Ž$ęĆr§¶éJŮ]o‡4…XŮĄ]ÚĄ]ÚĄ]şFS!?]Cl#<´ĎŻpŘ‘}÷'<á GĽTra_ůĘWćČźK2Tş‡¤/'ąb[Bŕ FUaO.Wţ˙őżţךţe/{Yƨź€ßPxăĺ"W\oéş!XĐq00�aOŐîŃÉ�ó Í�đ˝;¸q@00†ˇ`¨†’đ$ą‰ż ßŔď�Ő<ĐPŞű}ÝĐ�äQ>€0z,pŃŕ čŠ –Á}Ü/± ‚ŐĚtdĘB^Ęg@ńTż!<ŘH¤~čŮ�Š=UNşď7…‹ žŤˇ+\�?‹Cîađb!Í}t<€Mt Ç;;‹Č äřÍuC†@PO˘č�YÉ'ş»qqj(@JSGË—}N{(SĺCŕ~@kôA„ëżň+ż’~ů—9—kűËβ|eqqK}] ‘?6dĆÍL$Ć>yđWzd ţ‚¬ČO˝Č Z°ŢĹz\\“'ĺ’Đ6Důsŕ)ăg~ćgr»=ţńŹOŹzÔŁ¦đ ô°�@Ťěü›{‘;Ś/&Ájě»AwÜK»đ·nܨR6dŔΩů’˛ę…ŹD!ňAgäőeůÔź:"/¶7B(y[۵ŻńĽˇy$‹ lF’ m@~xŕb!ë/aÄö˘<ĘçŰ0¶ĎR_dA˙ôúĚÇ>ö±ô‰O|"{Ş í!2`{€őčŕ9ĎyN¶Ű\˛„dôG{ą(GŹŽmůxžňŃmO9<§WÚ †đ@ľHőî@ëÄPBč#žÂŠgnŢI0,‹^m˘Wô@ąä‹ĚÔßö¤ţ†ňŕžĺ>Çí-ž€˛ţ†`Aď”…¸Wű×{†ă':aŚ@Vô7lÜpŃËÉŰßţöl ô/ Iń‘ĺK2<P$TIˇ|Ú±K›ŮĄë3Ń´"Ń´›ďnĐş » Ś4í&˝»tyRwŃńçŢǦcěşo¶7Ĺc˙ŮŤż—–"FrC„÷´ŐĽĎąŚ¤á6CrÄ (Jsë‰P`r.pŐ‚sÎn#±÷m'•$ ę¸[Ć\d[&=f8.—yVîKB*ĐÝ}$ÄşGŕ%ݸś/”­u,`®Ď E›•Üućü¬žţďŘ*śfDŚůs{3 ±nŔsÉÝ›9ŃggdĺrźŰT×ëä˝ÔĹÓ××ć6‰.Q—ęÖ5šmîĽX/•dĐO÷{ˇµ@{>xy�íÎđ(sđ-ę§u/ďŘ 1%}ĚăÇrűô C5ž:ťöOěMműžş)6�0Z×m‹ĺH?<( g6Řü`!SŚĎ ôf»IóđÚX˛ÓäŃD‚T~fčrQ/Ńž#€É?-Ů'îyÄľc"Ůź»‘¸Ł×J°¨í-¨Ç1 ęÝ˝…¸IéşqN¬©ˇ16ü¨óţÂúU‚G°ť4÷ŕżą®­f›Î"Đë^Đ4­Ép0‘Ąî&2ŔfŚ:X­f}Ćűđţ G ŔoÇíL–"TVúBTX;MĹÓ@űéÓô§ó“‡XľŃiŻŮ/j˙N…T=ĹqĐvŽvÔ®gŁÇšĹř·|rboôR1Ö•ö9wîL~oE™$”˝Ľ¤qÍubʻٻ }‡Ä1łm›2^̉nń=T<$Ô÷a$pŘÖ«†ˇť)‹!b%±Dď‰&÷ç”)îźYf ”‰ü áĂ÷‰<ö!s�7”-Źs„ŐĘZ›1¦Řu_őA]r»ô™ěUś[TRA”5ŽąŤu,—Ü]nÇńWÝn‹?n_wü—XÇż}˙Ű÷Đ­dŁ–Đh»8.űÜ~mŔţ¶íýµBŹëŁîłă<€.÷–%śSJGćôżu7Ď7·÷né·K»tŮÓqÚSŮ­ywéjHÚa%âw#vx>UŹZëŮ:ťuŇ[Ţň–Ś%p0•w݇Qă>A\óů~f˙‡~č‡föżíßqýnŮŕÎ)"!·ÝOjßůŞs[nüÝ9QśKş. µäŽmen›s´2P‚ż˙űż?}×w}Wö‚.Á Jo%Ĺ9g[f[ź8GľžĆśë†` ‰Q Ҷ|“h|Ŕ8ÉqĂpAYĐ’XČ�"F` ě·ű·'ď‚ß‚t�l”č¬ń°Ń„Ś HvheĐť ÉňŞ=ŐĎ3Č lřzG@6ę/Y#žę‘0AZË7l-§ă‡ ¨ĺ#$Üć×sźűÜěůÄ f�žőÄĽä îóT»‹=ęC »O <†Oŕ9ęN 3ôcʧ ČůÍňI’t{+Ž×�=—ĽóťďĚD@oƶIbĺHZˇ®†'0\íbhěżŃ'$HČbŰđ Ě9tČ@iXČĽ'!;ň˘ňDNô*x®đ<żs˙í·ßžżżő[ż5Ű­ÄëF;Ó°˝RÔŤ•őVćĺ@ʡČKä‰ýx“‡^řY”éKÜ«W ˝fPGžˇß˘íë¶W|a ŹžT$ăĺSž!l_Ú€ßěx0| ő*@Űc/ö]ű—:¨�@?őGIôqţF/’i(źü±Uęf8dâ: =ú .\‡TŃÇ g=ëY9Źčö©žP[LÄtMů<GŰSňG߀ýȇ\ô ęJhI+’Gč?ÔĹ>ä&«DŚöe©}r„~„l”O]¸ŹĽé´7ý6@˛č;ĘH>´‘„8ěĘI őŠÄ¸8róŮ„ żž‰xŽú;†Óoicň~ŘĂ6#›éŮ=ńmř’qZcý=킌L@x†ö’ČĂß’í¬+˛R>r0a‡Ú d+Ç1A§hw»tý%ÚÖ>DŠ»¤ "¬xăr|şŘ‚˙8měŇ—®Żˇiçµâţ¤8nů.=wîljcĐ Ś,ž;.Ĺ“ěŘşCâÝ˝DĹ9Š€Š@J\s vń®ĺ]<Éf<)T@Ď9xőĘ ďÍ3śk†âA Ë «› ­Kwל¦‚Ex Ú9‰2©łŔRAb×qCB…@âěÄl_ÜŤűL)§)śĹşîíˇ{C¬¬3‰‚y%s)Ăčť8áúuľQ¦¬ĘEŮĄŚ,•2Ö© ༴bcżŤ× ‘hۢëŢŚu:·’ç“Ú‹~<Ť?OŃn”]ýĆő°šźŔĘöą®z–,SÚtîuĂ…ś`żëîϦĹŮĹ‚ˇďçö˛V\\ŰŇp!Ů;ă\—÷SôÔőŘW X* §Ú‘÷x­čx]ňîjŚ6jq k;ó2ERÁ¶“lĘ˱ωO|f6”"'ńčüčďłYgzBPŤ`ą2¶ŢT´Í(WBdĐO$l`“ŃŰM%î,f:‰ ě4lúÚ:Íîvy ‰G…qť¦Ýĺ{–8.׿ӌđAő U,–TĆÎđZ3 )“:úMą«T¸Y}ö¶Â8ëľ{îą;çUO»­łťeϰžĆöϸĆsě[BH[źÜ×Ç÷CWB¨ä6ŇäqđŕŕÜěýpúô ą?[ßY_I•\u?Ť©3ŐP$=GĎ#’ęă»M›Śő’„ĽaÖď)_{sLqď{eŚĄ??ä!ť…0±OűţłŹŘOűk¨ŁĂINőZň(ďşÜΛ;±ŃWôB’ Ťá<r^©xQ{|Ů»C~ntąůś`#>’R+ă8÷^ô:űxě“ŃSH$¦ /I)ĄŚĹtâ3ľoy˝zpÄýŮ:XÎú|$ÄoëÖŽńúęŕpfoqDZ…wF&±¤4µY›"é§-c—vi—._ÚíĂíŇ.=p)zT3ńďr ÷OÓ:¬źś«ňy˙űßźçš`+F÷ٸOЦ·˝ímŮkřĹҶ1 ÎGI.wRnç81ą–ľ’éĺ/y>đKřs0ŠLřß’îËäR˝‹\+éR5Đ]âµîľ» üí§ß~ăo‹ćõ‡ň˝1ęw(„ŕ2�ˇ‹ Ah€JÝŔ‘<ýÍÉa~ 4Lů¸ůĆó€däđÇß�„tŚ lî`tBůä-ËÇçôú@9\xĺ�:dđä˛S@=ňzz˘ş€ůŃrôčĹSýęŔzů |ôBůč‚ň‘Ťg?ôˇe†rľŕ/ČŔ`śô»äuĂ€<oşé¦‰¬:@†Pld±Ăýꆿ(ů ˘€ˇ8]$ˇ?ĘwáčýäŃž$“€¸�Đ»IĎ�íxŔFČݢ/BŠHp±ţ’} KxĘ€2 W o{â€D˝ 7â|¬?÷KBŃ[ 6Ë=„ůhOŠQ>6@}hC@{läE/zQ¶m ¶[Ôżc+ i‚ýB†…Ş$ţ¦/HŘ –##upŠÍJXÚ¶‰ŚÎ ΰäŃÝĺPČCŮÜÉńĺCů’×¶A·´a –k;Ř­ˇQâ†z§|ŰŹvĹăúĺâ)˝?@Ú |71Đ«a‡Z |l൯}íä˛Roü›1R�uŕoĆ Ú›4‚Ť¸¨§|=SĂŐ FdĐóN+yŃô1OaH0‘°$á‰{)ź~‹lčUýSgÚŢĐH†P!?ú!„Aޏ)ĘßčTőqśĹiěĐ>dĂ’†2©:p Ĺîř›â^C%µ›zÂ~=M¦çě´_ęΤ [`ŇA_ĐK…aTÜÔA6~‹úЍŃ$ű¸{ן|2=ôĆÓśÜlr.Ňţž±ÁÝŚ]…vÝl|7fô¶  ]ş©młň©;é^vµ§ŻĎ3?(›źö™»ÓWßú´´K»´Knjçń÷8_ŮĄË—xWţÜ/ľ-ý§ź~ó č!L+ó÷⪞űśßGO ­ úrFŕ=)P%Ů;6‹Ć˝x-›9NJ%|N%%k+%NĽĎ¦3ŢË)÷®Ź€KíFM xÇwz<é뵾DpÚß}WÍ�żA2ÄŢVÚ7ŠśuCÉđ s˛‡@§Ä ‰˙Ä POSČy8¸ľŹďŇa¤Gŕ/‚‚jÖ%z±>Öµ´O ůaľđ<śîOéhHewž_Ú4zŞs,ç§Óü¬W˛�őźş4łË–P ]c;S[­VÓšćĆ2Đ!S~FŮÖ«9! ‚Ľą˝77ç#›yâŔý°:˛.Äa?Ěő=FD!˝áxú9ÉI˝ŮfífdĚWůâi˙Ř–ŢÁFŻGYâiuú§dč:ě7cËjśł®°ô/Ö­˝ŻŐK©ßAЧÔc»· g”Őßl—x_KŠç 2<Á¬«G›6® †LЦĚg’o ٱ�oá'Ů–Ý4†-úĺlm‘ó§ńÉ:—rEo›˙đ`€^é]ÇEBÔ6KKč‘(Ç­öŔE·.ý8Űţŗ̌7ůę ˘ęéh¨Ž˘÷j&¶Mo3ˇdµO›ÔG\ËŞ—H4E€>?·(~|V}Dâ‰íc’PŔzň„˝†Ćűę{Ş’Ű"1$s]†ać%“(6z9wpľęcQŢoă@×2ô‹a|~/śfLăxG®ŘBZőTӒݢxoë$ö·mä/ď÷°Šc€„˝ß=ÓÖÜ· ö ˛–pß¶wf´ŰËńݵé5cIWőë3}裌ł«y_¶ýńÓg|/ßřĐSéE·}Uú˘Ď˙ éä©Ů äĐ2ZĚö ę{×ďÝ~Á•J—sżŕaŹzún-ň ¤{Óů®żěŇ.]ľä{Ű÷žxéˇ}Č´s`ÍůĆ7ľ1ăßřŤß8­Çă¨Ý#7ß7Ľá éUŻzŐ¬ü8§ż­Ă†‹ŻCĹy`üwL+¶•iyľ#$ië}qľçßĎňľ”wů…Ęść*ăż ˇ·Oßůťß™žýěgOóZ1*S;ŻŢVou÷$řŢŕKOĄČÍç3ă÷Şů ă÷:|†đÝ~ŇţľŘwűď6ÝëË÷ş!Xlĺnč@nř ódĽěA:Ccpŕ ŔËÓĚqĹłő�l|Ś’FĂvR (H  Ě7@ź"şÇ�1V€jî4…\'Ű€ ůQ'’ůR7C@ÄŤmî§^€Ć¤SzŞ=đ;€2şA_Ńł€ő'?@TäÄ«ëąÂ“íqˇk "@j~GŻęQVą )˙ć^˝}pú\„ť ©rşÁŔ€ÄnśĆvŁ>”'q†{Ń#˛“<U`lXô%ăMÂĺQoB7ІV ťhČ |»@‹mŽřr†áĐŹ@˝1ejF ‡a ÚŹŁu�ĺÚX»É @L{˝űÝďÎ6űô§?}ZzŞ9ÜdFčGŹÚeJ¶±|ťÔ  <’L’h[OBąQd˝SDp] ś$PÎÇ>ĚóČĂ3�ÚűqŕÖ%PŐ]iň¬"Pď&ečA˝˘#C@Puç^tĂoŘ.eŰÚ¤H�pŁEÂőwÓŹ„­á˝‚˛ ó@š@l°ťş`ę^˝ăáO$.E`�űˇ}ť¤P>ăG$ś9‰aLŇËý mOv¨Côař úy(lţmř ŰŹ˛Đ?c“}Ç1„{Ľ×0=<"ŮÝi—ô[˝ă´„3Ú ýчě§Ř-íď¦IÜÜE†&1”ŚÄ ݇bč€Đ.bn˝őÖL¶jű‚cůŃvNđ©G»ůM őĂ}äůń˝5ÝxúäŽ`qĄËąar_ [đďÚz—.W:.›yν#�ŰĄËź$XĽň§Ţ´|u¤mčťAđ-đŃCC8 Q †ŽČ]®G°qŠp© RÎĎyqĽťuÓ‰Ýő¬>ÖŻ=9S[˙€Źŕż÷GĐ´%ŔG?n�ŐúÂÎNŕ–gWÓ;®”SNůňáńiťć\†ůY$+;ßa ĐU’zŹui¨hbqÓ˲bý]7E˛I}o3ÂJlźÚ.•ěRĺYĚö�,ÇúX`wŻÜ}!٢闋Y˝ËÖiÉf˝#řXťOŤsQ˝ÉEŹ xP9îü4çźC#¸žÝë5śM.ŁŰÔđ”í•nNë˝×óëUżĂĽłďf¤măelźHQżÚ°×c{EíŰĆMNB€Ä>†' €gó©„Ąâe#ÎÓŠÜýčńâlţ›ą·ŢcY±żŐúÔĐ<‡9DJ±ÇÖÎăZ%ö1ëĺ¸ŕßpŽňŽ΄ĆŔÖAďUŇD’č§05€»Y&®Ľµśé=Ę=‡«âÄń!ľ'÷öyž+A¬Ń…’×AçÎä6ZŹ„tëš1Ú‰uvż@;n8v•q§Ż$â©‚ą5uĂ.÷–„ ŮĎŢJ ˇÚP!|¤ĐďËő岆lńŢö0@Ü|ŢÖ6ę21â8ě}Ó¸ŠŢ6ň.>bŘ@Ëöý2ĺAÝÇ0™z»–ř) ü:ŰG$uĹŤn›b1†ćĆť�ô6¤ÔĄoňhá{ŻK㻸’¸u­Öcx¦±N‘ß_ŃN;ł?ĹńÁ±-#6cŢůółvŃEűţp?!ćűŁ̨[óißS3}usRU˙¦{Ń۲ľĂmďú~LłĐ,ćß…čvĽPÎÉS{éĄßňôE_°#X\MérîěNş·ţ°k“]ÚĄË—âşĚżyOž8±żÁ0>şŹ1śü„ýzŔöÎ/5qhü?ţÇ˙>×ÄxĚü€ńÚůě•N«‘`Ď·ó‘+ťĐ»ţ=ôű÷ţŢßKßđ ß.wÚŚ±;‚Ĺ–kÁâ˙đß!a‚‰4Ŕśŕ­“Zv€§†Ţ°ĂTrżˇ3˛`ăd_—ń6ôB!ШW‰’”đ[šüŞúݬC>�m€Úč ÁEF<M|Î ň·dÁQ˝58YŁlęÂz/ HŔFd ü¸Édůżő[ż•ŢűŢ÷ćĽóÇd‚‚ # ©^),ó7:,Ŕ Č5‰Ȅܞđ‡X GŽvń®Č#..%‹DĎ ‚™´1eSŻĚŔßäC»Qž ,őŐÍ"$ €ň$&ĺIí¨ęF;҆€ż<§«Úç%ą oŕ‹Ág‘łÄţ,ˇĐ: >m’8óȄčźöĐí1żcç„:Án±Aî“, gICşóĄ/điln´ő2Îż”Ó×\ÔkoŘ÷ňö%y<Đą/%ă_Ň.Ü ąBÄ îĺ=&š›Ń«„,:uŤ^éŹ$r=ÓH1DňhŘŚ®LŁHˇ ´)toý%K¨ _ä«ôj€~Ü` ,î}Ď{Ţ“ĺ{Ć3ž‘m!şŁt !?ÂQč]ˇ3ČÔ›7 ĎĹĐ(č€ň$§H:ˇÎ<Gţ†*€°èŘyN“}…úc_Ú`ěCöGžÓs‡^â©dvĽ1Ś úR—ÖGňíŞ‡ ęŤ~‹Űß˝™‡ q\,¨ç¦Ťyăó¬dß †€29ŽŽ /5ÜŃO|Ćq™oäD&Ë×ĐžBč#ȬęŕŽ_{uşałY˛#X\=éj XěŇ.]é”O¬Ż.Ľž¸č¦R×4T9»oă{Ő5ÄnĂěH,~üżĽq "�î§=ő`Š J;6Ď=bÔ0ľ+u#ĎßqÔ‚ľĘ@ Oő×ÓÂëČO˛�VeNTßŘŮ6â‚©„ćźh]Ż×G�^S­#!dôPŞ–#Q`@ a¦·J~ýH¦Đ‹…�XšĘ· ňdQC­őc; )ŁŇ"P%Y#Î#I$’d#«˝GÓGŽĂ6 ®ëĄ–ź˛×‚4y»Č­›Ü˛ DĘ|¬ĐÉ<^.^ öX›”ĆyÁŃĐ©;Jđ*6tĐÝwÄwuDLx¸ËúHµ˝&]§ęů Kňő~޲îR%W˝®Fđtî‘ ’#l·jCÝÖ~ď‹@0I�޵K9i~n^«·ó^,<€Qíwťő>÷ÜPl¦Řµ¶†×RµŮbß±.Ö±”Ců‚’6gżlcTÂGú·ő8Ĺua.‰9ĺÚ0Ĺ^úĹQĎŮÖÑ緕 cÁ}ť§ő†‰Sž&Ď&ö·\—ŐA¶Ż:ÖÖ¶µź˘[ ąnŽrj€ôŚ-Ŕý×OţÝc[nężôŕÂPČ%ĘŮî-ŮV-Ę}ÝlĽ¨Ň4ľĹ1'öŤh{ę8Úx|çD˝cʇÁNKĆp_C™¶ŔcÝ[ăůc"KDÝńíľe}G-fvm9Á"Ő:y_¶ý>ČŇEŇa*s±unÇ\WúŔbôl˛>ś¦†ą>Ů~‡qAýÄwA|;ľIČý1ďlŢÓC ¬©źŹždZ=ÄvÔfµM÷"±&–÷â8űöól-ĚWâ;:ß7Ś$¶±Ś–ŘŃ,ř@°řöo~řŽ`q•ĄËą_°#X<8iŰ|8¦ë©MZOŰíű|—véJ'ç ÓÚccĹ«~ ŻŢŤ„Nˇ‚yÇŕąâs!W°‡˙ŹţŃ?úśmÚCýôŚu%“Cś]éw´x…¸›‡ź)÷ź˙󞱏˙®‚Ĺ2]'é-oyËä•“Ä�®íĂ�ČÜäƉ±”ŃA ż Po ‹ü�»ČźűIůćy^Dtr˝;�ŞëÖމ5ůBx(ő´”á)řťĽ]ĚsŹ :żţ3h ›�ĄŔť‹)î§Ľ Dđ�$/=wxꞼgŔ3\wÁ 0zÇwdR€ëžđ„\ÁnĘ'/I%zhŘ˝a°‘řB}9%Oąn !{táçâŹ{  AjęBůő´@±:@_ž'QÚ٨'@9r;HQ€Mëoü\˝ 3v€}ń Ţ)Đză;ů Ţ„{$W¸04T z‚0B˝ôš"ČďżăF1`<÷rý©ęę‰ţFzdţšŻůš‰Ł "Źn%y¸X44ĺK8҆ąź{Ń3u(§<ÚRWEü.™™  čY ö;Ę®¨—Ţ]¸Ź«+_uĂ«Ä{˘>´Żő0ާbôĽÂuękß%/ě—2R ô1žç^î3^gČÉ5eč5ňŃ5yˇCíGR÷Óě»ŘPôĘ@Ů„:ůřÇ?žË|Üă—ÇCSÄÍ˝żĐżięKč‘0”Ť\†C˘­$äH ?ľ©‹d#îÁ–MČGrěŠuę=Ńź‘ IČŔ X˛mŽô‚LhŚŤ=‘¸n›Ç „vAţ´/÷8^ę ČpFţ®ť‘hĂÓŘ·)ź>dô˛¬Ú~ÜŕĄméㆀˇ ÉKčPůCxV[düâ^7Ë,× “ä=I#ž ą·EÝ.íҶ´ł™]ú\R;Ć»ÉwţüA:îŕ‚ĎÝ;ÁâNąČű¶č\î-˛ŰĺĺHz‹�ďO9N©žŻŕÖ0ˇÎŁ„6L�)zOŕşŔ„ r{*Ćą�Uô¶ťşń]\˘{Š—4ŕÓ‘Óüĺľ±ëIlÁÝ9°WŔţaFšŔ“„ @á¸Zîé&Ň{pŰ$¨#ď)ŕ‡ÉÖ âiń¨;D[Ż»‰ â<ĽžÂíF€ŻË^o97‹ŔóQÂGµAuÝ˝Ç9±¤Ţö4¶ bŐÇ<ď|ňş›ź"/€ŕ*f=¶WőTQŰyäѵ˙ü„ňśH¶Î®Ü+ÁĄËŔĺ:% „•5Úx:z&2D܆©Ý�`şˇ<úÔét°yŢ9d±Ů ř•˛ĘéóŐZ‚D—IşŮćŇ|}*qhUŔ=€8@Ľ>5˘a˛ë!ą×’f6Úö5ę((í=ö±ěwţk»Ş÷Ňî…Xáş«€ŕÝH(8_€ëĂâť ´ąűBË”&ŕuîĄЦ¬˙ôŔRNÍťyڇWĘiűšźř¸^¬wZŰ÷fô°r„čŇuS?ČĎĺ˙Ő1łŹ^YR%4ÄöĘŻâQŽLÄčű#ĺd»Ů�yôźńol§ËýÂ>°)ą[ĺp2Ĺ F±SÉ7cŻ›xHL¤s˝1°¦7 ­÷Ô±ŁŽ_q¬Ö´í˙'÷Ęţ‹µ6şîłś’DčÓĄÍDzҎëÉ6˘ç‰Úů˙3­'\·LDé¦CS˙nl:z[Šż•z UY€úrć,®%ĄĐÎ<ëa÷/ô8©ľ#Y!ö+ÇSż#!ʱ)˛Ě„€HRČ”ĂóEŘuÇżľ0´ÖĹĂE&‰őęeÓ7şĺ¬_Ďë]ß˝đ<ŘƱ@Ňv A,R±Ië;‘aR ©1÷¶2÷î(uu~ŕŢ™c÷HĆDGľÓź"yŁďŹ†é˘Źa«ÝçőßĹÚ¶{Ǩ{›ĽŇśŘĆxx§ż»´KW Ĺ÷Ü6Ăě.r˙›1[ŹcÇ™ŕAúHćŢŁ®ĺD‹śŔ»ďH´,ďŹůµK»tĄSś÷Úůďb°¸÷˝ď}[ů+ĺŻl=¤|±ôĘWľň~“+(/z‘Ź8í•NĚ3(Wü0Ęî~đ0íŇŃtÝ,¸pşŘđT;ßL:é€\�Xt„čúŢÓü<ď„™üeýëą N×÷|KÎŕyŽĺ.Âé€ô€š†/!d¤ĺăćrN`NWň$ę€LČ Q��Q ßĐ#‚Źz·`˛/YzóĽŔ72 €ˇúúŕ?ŻÔß|óÍÓý$î!OÉ|S¦�¦'ôŤ I˘ŁJV@W´ßę ‚´ÔĂűÉpTO­nÔ@2‰�1¬®{ęb=M *í…lč�"€„ţŃ›�>×){2�áAř ě9<+Üyçť(G6)ÜKŮ~“Ü(FntEŰ"Ł„uC{J€Ń ŕą�­ő$?žÁá7ó7ó˝´¶[OlÍ'FČ€ţ¨WÔm@[Kr@g†Î <Ő/“ }b[ČŰAaÜH%Ĺ»‘-©„<ČOĎ’(ź2(›ľcPntG{ىÜĂG}Ĺ—´ůË:ŚDňł ÔíĄ +HP—ö! ?(ź6YĂË™hęK&Ż'?ůÉ9_őÉu˝śpż¤/ň¸"‰Ů ěHvb˛Á=ôQžĂ#IŔq ű·˙9ÖH�ŁOÂ$zů ú…&7íĂŽ#Ú2“O$«řÍďÔ{Gő¤Áł”#aͶqls¬–H‚îhɆâ~7DCŁ ä­ç ú±A{$5Y6ßÜCůţđ‡sŢO|âł~Ł čJKŰF.É?ŃCŹq]IČ­§ôMý°ĺöÄŰ.íŇĄ¦bň˝K×OŠöâžăWŻF¤äľ¤áÚ˛ÁĂUţ,6ę]Ö}Ýóëvăđ•H‚¤r"AyhçVńÄq·üwÉ7śĆsBI Îř» ™hŠójÉ E¦E2ě…€P•Mđ¤Aěâ1AŮZ=ÂÂÜ yž”CP§Ý„ňţř|K®¨@ějÓjH>( ç:śÖ^'§$–#F*óÍz:�ŠyŤáXČOrD\ź´äx:ÜuBKziůѢFŇČbާ® Żş+@]iOIŔ4y&.¬‡ěáB2ŠžJćŕözF ĺp!¶gWŰ(§yłľKˇ­W“ýL䝍l€ž »{ű‡\\gP´Ë &`f®ăa!ÂdĐq(ŕů0•“F‚DąGđ±Úf —“É(ťa$b÷yCž°ëaN$8 VWűmAÎhs†äkű@™°żŘŰ2Iđ)ý¬žX/:„ÝO°Ŕ?wî|&S7,Jx×7ČÁÇ=˘Ú׊=•~ZCĂXÉ9Ö5¶ď6p;ŽÄ®–[B´`?ý˘ßęÉ ŰúŢ”;’|?ŤĹ+K$ĐÇç‡4ŇŃ*ŘA kÔgbĎ Ź} ±ŃŤdśn§W°Ç8ţ­×˲QĆu>öŇ\žĽÚPŃq?‘2&O ëńD&€ŚűÓXh_.˙–,6µ}cm>śaâ’ămţ˝yä~ÝěsıÇý IóŐSGč§#Hď}ĽO‹-§mł8’\ŻbŻî+ąŽoÇõăŇHşé›ú”ń,ĺöÉevĹËÁڱ žŽ¸>ę&RZ_<‰ä6ŢčxąX±ëh‘śÇŇÖk‰¤ŠH ńZľ?ÎĆ™Ř&’ŢÚwCť#¬łG‘އĹ4îŕ$îăEÝzô´›†ůÜz"¸®F˛Ü|\Śc.FIˬ›qcj÷eżeJş[÷íŇŐ”¦ĹSó{·}}x•¬±ĘřżÁ-ÎÎČsyb"¬^éÜŮóăxt8â[{yľ×M»´KW2µ¸•ó±A°pJöÖ «NbľçHń»µŰWżúŐŮ3}Lí^{$÷ú­jńٙש ôŤ‹ő™műűíšVâ,ó8OĽ·2/;÷Ĺ==…ë5>z=űŘÇ>–~ę§~*ýŤżń7¦ű/µśX^śo_/éş!XŕMŹ�Í)�ŕś| Î ’ ˘ę‘P‘çM�ś.xă‚Ůű%u�|zr€O�OP ś 9Ä]ÉK0ÔŔ*€+�ť�©Ýś éÝăçY�OĘ1ÜÄ®!‡§ŐÉWy#PŻNÓ3`q/ �bÜh4ąB>†'đd…R“§ŕ9 5˛É (çĐ—u¦Í˘7ŰÁÍPĘC>CtŞ„ňhCôl P†ˇţ´…ž ,_W8€ä<OyÜ#cĚä@B™č`o$ęéĐ]CĚŕ˙¦lë&YÁ…™ˇ[Ř$C~îC?Č.y%&ţ¶}ń¤x!_ň"‰;ęŮP-č »1„ 5mŠ-Ç…-m=Ł´%ň4l ÷O,ź6ŕCŢ´×Ůí%ŽîůɆ<í!á@bR|iň·ů˘;ţ-A†<¨“`¶í­ç ’Ţô#KĐp6ÚöŁ'Ű Ů$W‘¶KŢĘ u€¬ČŔ=ŚWx!_Ć0<SHĆ2tŤ ż¤+‰Ś!¶˛|ŐW}UvŐDYĽôČ—r ý@ŔůčýÂ1 =a›ô izW nx"˛÷Şľ©ö…žĐ+„‰č1EO)’ÜśŃ  ą°Ĺrjúü´9D?ôt ő14 :P 3öct‹HĘ®§Ç)7·Á{±‰ęOšˇlô6B?ĂKŤaQ#í?Ž!n&bzFńdň”6D˝tć&Ů.íŇ.íŇ•L ‘,FňŕqI¨!ž®ˇţŇ.]ˇÄIĚřž“č8R=…:?IźfD‡Öc)®ˇ‘g�[8˝ë<°�\Cłöčf M‘ŐĐ>Şëçůi~O#÷MÝç›4‹Äč‹°­ k—ô|Át"ée˘\Ą>5”ÂśáĽ/‚®•đâfÓj&»„ çVzŁđYe´ß©Ű$şß÷ިEPš.-ąĽ„XůRóěbňFáú2žz®ő,.ď Ń!Ú×|S¬”ă 1d‹ä |Eçý0Ůt ł1Ldśęˇ ŠťT$Há�ň:ĺüF·›˙Jčą“Ĺćř˙~t͸CJTč#{¨Čŕčx˛>�đQOĹăµsí˘Eúqě˛×mäŠ8U·­—‡Öó ×ô’XűE%,č}Ł$]ô/'/.•ĽµĘíĚx3—i‘ô“=ä6ZŽóţbëgǵˇ«ĄŚ˝¬şeěgĄO-&/(Ńcźd!íWrÉ6°ľ Ä4çqo%y¦´§$ťľűw ë`çë`ű±˙&·Ä5u5čĄdHÁs`ö?,—‹©>m==|ÂIŮsă:çěŮsˇ,Ňz˝šé3Ý‘hVĆĽ@Đ˝M,&KÝ7ńĂ/•6©ÄŹů{~xÇ6ś“ÉŇŚXǧ؎q\›•Ň×pPłqrk·šŮ@¬wk/ńý§Žk%ďÇ>´ n‡ą¬ĂLL‰äş<ćć Ťd¬lĎE×ę, ľ?Ňäąëâ{1‘6eŤyşQ·Q‡í{Ŕʤ;çQî望–Ěf»ŐPPsŇF´seďř8×@ćĺ޲|Â<ˇx2ZL„źč­B"۶w|×Ď˝¨Ěl‚ëěo@~\Ď˝|Lý´/‹h“<ażK»ô %çŁá﫜|OÂsă™3sĎDÇ'UOmŮ»đf ŮďöŽ™®ÍÔ®Éü÷őŇvźţôź¦O|âśáwó|†§zToçÔ¤ößč‚ýřW˝ęUéBä†mżĹů ĺ¸OÔuź;©âŢĘl ľ˙Ĺy/–˙Ą–»ŤTŃţmýô.ß–sűí·gü LČß.–Ú˝ k±Ík=]7 �?�l�J@-€4@>ŘM€at@AÔÖ­Šl(�1@ˇ€3ŕ€Ą'©v)ÎĚżő¬`H ˝R&ŕĂá~î('Ż–•ĺItţÍ=€…‚€…Čüőxˇ'É zHčw!@žúž1¬ÇDYśĚfŕyä#™‰ä H¨‹LClč zJÝÓä‚ČČ.HŤś-HN’ BťŃąúöÄ€­:ŕ[ą wÂ�Ëó†kQ´rĘľLFg1|ůIĆ@cHň˘©ŹrńM‘}ńĚW~ĺWf<ĺÎŇ:ĹłöĹ˝’+üźŁîç9ä¦-ŐşF˙ď~÷»3©k_˙ő_źű¶#H-¸¬}P6 µvC’CBnôĆýşŇ •Łţ U~é†W¬`ůč)z7ˇ !W -ႚ>Ěozë@&ÚF@_€]2 h7í€ň$/ĹSt<GŔŐ^/¨ 6­Üh×;ý ş>Ő»y‘Ż >ČŚCrĂűß˙ţśn­ GŘ'Ő/ĎaČ-iËp:“˘gô|čźţ É„2©ä)ŘšÔ‹>+q"zFń·Ľ¸ug(~“衜ęŔDyöCłxúËúëŹDe°ôd!éH‘¤4‰X†ăc©c1ů.„öÔS:ň4$×ô#yĆľHrEď.zőxfűĆS0<kÚŽ+٬[Ę÷”‘÷Ş_úşýÍń/Ăţ÷o¦]ÚĄ]ÚĄ+‘ââ›ńqŤ4%Ç$ąVŚ˙Ľ<‘¬´m±Ozë[ßšßźśx \T^ÉÔu5¤F$;´ ¤©”‹ü¬÷E·ýíBŢyö˘9A7ŁŰśCčé­’B‹;đ ŘÎc¬çó߀^›ć�s  a7‚ĺĺą®ótk7Ő)ĘîĽŘßHqîOÇ›tÝőVňîŹĚ[Öë!€Ýó|â¦U¬Ż÷U"FÓ˘űy°6B†če"‚ZŰČôÎŤj#‘Á{ú�VYÎěÄyßĎ쀤-DOđŞcA!=ű©ő©6TBw_;dě'ťÇö)„Šu_‹ �ĆńĽR,˛»÷¸YÚ•"iľ‘µä´8�ßrČ®çĎź/k/× Ů3ø¦ęF¬C9 P§;ý1ě { #ia=ôŮö#±dŮ "|şőDľPľ–ü=¸©wűXµĎJ¦h˝ŐÔ>ęFgő"®Ëa~ęGY7#٦TGʤšĹ¬Íą§„ I#\Úx`wÜ/*óţĹf®îúŻß G‹ŕřtJ~Ó&zÉuŚöÁä¨ő¸ą;őÇ4+úBvÉ!Dş;%,H®{ßNęŠcĺDzJÚúhËJRO‹˘§Řďc}Ëăft=´´ąwÓÖ…xu~ ʉG‘“'OM^ecŮvĆ:+ű"…1*˛¤ôÁŘ_â¸0jˇ2;EvĆ}cžŁ—‡¨+zm;×;lG�?öü7í;DŇzÖĆYÖľ¶÷Ĺ6Ş$€y(eá[śzá÷zę»d1ë_Őž‹Gě‰p z„‘,XĆŹR^&í ă¸1Ş7÷źˇ ru“çŚ8[?űW¶•T<{đ>^N®ęç!ł"y'ľŐŰŚ ôÖĄn6Oď81 q~â^nëeĄŚ;Á«ĆşŽů¦=ô»čS üĚ!#9#đ‹ď®/ą$ňÓ.íŇŐ‘®=rý) ç¨ţvĽŇ8Çf>żůď\&?ö[±Ł]şşŇ6ŕüzÚ/�`ń—˙ň—g,M z—‹kŰřŽ%ˇ“׿ţő3[ަłř-~Ř’<ŰĽďË8Ń®gŹ®sÖGśÄň>×2ŰúµżĹ=·nÓ«é]ďzWzń‹_|Q9â:Üy±ÉuA$‘^ëéş%ă‚ Np•ße5�b¦B¶ Sę˘PÔ°|\x8Ńc`âŁ�ÄIlt7l{BŢPş¸ČőD?ĺIVpŔ Fvj ź{ä$„EŹ Č)(‰¬€„€~ä)ěF"ŕëwÜ‘ëúŚg<#ÝtÓM“ąßÓîÔi\ G€:ž.Ň­żőCv=]Häw@¤>‚¨ü’€ŕŁZ;©®k�Ô‘!ÚĺKâ@ćĚŔLeăT˘�ĺKŽ‘h× l†ß�© …Âo”mU.ş¸—¶ŕĄl~ĂÎhs^ÔŰü†î¸Oâ“d ľ©—žlĺP×x@ŕďG?úŃ™¨í`(Y{Ň«€ ąäd7Ś‹›”Í Śç!Ů #={čQ�[<ĽÇ¶¨/íŕb;á:zÖS틎tĺ$éČ:ńŤ}č„ţĘuű˘žPřMŰ'_Ú y Ëa˛| ’$ DŇNLČ©w˝¨čŮAO5‚řčÍşIö¨ç7e@OxůČG>’óyĚc3!âËŢEľniy^ĎČL{¶B˛ c÷CĐnňi´Ťlô'dÖÓ „ű�ú„Q-Ę`ߤ}iKĘ·?ča(ećÂíę&„vŇňČ“˛7Ć5Žă9Éva|¤‰ ’YhO=B`+†ł‘tCÉč‰Ĺ1}9Ž˘&nţ’$‚ďG?úŃśďSźúÔ\ž„$jđ›cś„ ú¸ď'h†$AwľSĐ d#˝©OżĹÝ.]µiÜą{3–˝óďHďÜL®ëésH¦7¤Űn»-‡©:¶)l ˇź_˙ő_OĎÝčä–[n÷š®®ĐŕJ®@Ń+—!ACý?řĂO—ÇÄČ; OOĽß®dRľ7ôbĺéö+1#Ţ(ä>Ţko|ă3ať0ďűŔ>0…­˛×JrÎ7Zwú‘Śěµn$fxŹ ÷¸xŹ!4!YNí˝żxěó©ęňž?‘=ä¸ç!˙(ź'y»N€—ůDmŰ0ĄÖMy«¸© [^ýŤÔžĆ5żę #Ą¸©]Ú¨»z˝†N±ś4«S-g}ŕŠD'ŻÇzDď‚Ö‹€µ¸ Žä…¸Á¤îÜđŮJĹ“Č-Ųʼ:>ßVGCÓŐÓzV¶ué¦ň9—G6ŕâ‰ěRčŔĽeŞd•Q«"dŐeő"á˘�lăŘ4Î)˛ĚÓďĂŐ•Së9|​C ä:těyÔ ® ‹ô#YdóßRŹ%ăRô&b˙™Ą"yÂ69 ä€Ř粷’E9!×cÚPŰÎó~]€śöĺ śćŻÄ§Ňfµ˙ĹuG$2śۨ‚˛’>C ý˘`µrŇđ1µľqěâúb1·í Çů‘É@qŻĂ ËüˢsňőˇľĂőn &Ëáx ů`$ŘVŽ%ŐvGňŇşôÝ~ŃMž­rźď6ő_3öÎÚhF<*Q,Ö+‡!uĺ>@Ç므€yLcvWě-—3†)Dˇčý˘›HJ1ŹbŁý®JČŇ—Ň졷۱¬‘‹GěˇŘs –`Ó©ÚX'˛äH˛Č×č;Ýp„PÓŽAuĚ­!šŞ,ýTFKŃ{kM÷CôĚzÔ;ďu 3“ÇúLúęR*5őY˙µż¦ +D í:;6™l9“82zŮp 1\r${D]hS)aś§Z—E‡âű§%/EoŰ,Ś™«!„nm;‚Ž .ăĂoîˇä޲8ú^ëú91$–‘ë;¤)”I|×O Čz �š¬«ÝvÁ.]5©@{ç;ŢąYß‘Ázk™ç>÷ąWŐ~}+“Ľçaţfă÷Jď}ď{ózřYĎzV^ë=X)’ü|oś;7Kö`$¬ľímoË{ČňÖøˡĹg>ó™?8ŽÉý‚‡?üáÓ~Á'>ń[ů@ç¶ý‚k)1çďzä#‘q‰¸.6µ6˙f˙ý›˝Ëxpf[ßö7hŠg´kĐ •ůश|çPŕ z{‹ó  Őíţ”éo\ŃŹ‡ą/TC°řžďůžŚ{]JY-ˇÄy—‘®‡t]ŃĐ\”Ńq�ů0= ĐxĽÜÔ~çw~'żŔř�(śb@‚Ă‘Ůe ^A/žw˛O~.Âbčd�ôđĹ…ĽˇF$�¬éő@ŕ‘Ä˝‚íÖI(ëSźúÔl,@mçs"@ÝŃĆĘŕĂ ĆČÍď�´v`6i‘—rľů›ży yAB’%ř đźĆG^‚ĚqcŚşCVŕ:ŕ+€o”pT€šëčĐśşÜtÓMG@rt¨' ĽÄ<z0JśQ@'u@Ż�ľŢŹ Ô9Đ /lžĽ|×Ĺ÷Ü'HŹ &ęAĐH _A÷›oľ9ë™îĽóÎôżńůl€LĐşăďčiÄđz Ź7żůÍą.„*ŔvŁGŚŘ/$Żč­€şĐO Ł"@Ť~ Ż€îÇ< 1‚¬\ÓƵsO´’$7ĄĐ9eé=Ä0 |Čź6Ddž'áú„¶$ZĐyÖ…3ý™z´ărń»Ŕ:ů ž čWŃ; ˛‘/ŕ7ů˘z7đkh>eSî ëWQO‘0îč‰äéOú䍉PÔ˛2Aâť;6Q¶)éHO)–ŻÄqŚöă7>¶;˙¦˝)ú3.R.ŕă&eHLŁľ´Câ‰=¸ “ptÇ7‹”‰g CyöEmT/-ô!dŕůJöˇuŔud0śŹc¶Ŕ˝ńt¤}‰ĽÉCŇňŇôí\o6$ę÷+żň+ą¬oüĆoĚÄ'm zň$š›Ç†br#(ęŔ±’ž¸FضămśPíŇ.]=©Śďżűżţwşýö˙’mx»›÷Řř˙!ßTtÄ"îŻxEC~˙÷~?}ď÷~oşĺ–›§ Đ׾ö5›ů×'ňďŚÇfrîčÜjÚä ˙ądżźýŮźÍä5I»Űăă‡>ôˇüžůÖoýÖLF»©Ě_úŃŁ\űéÁHÎ;ŘXúÉźüÉÉۡŔxgüŰűoóŹXĽ§żökżv"+\+ Q#(A˘Ôµ`wtŃy«�Nô†ačŹZv&Úůëţţ‰ ö”°mg§ ×]ě°ż”yĎzɇ˝H(‹ňI„XŻ!ĆzŽŕlÜě‰@‘w3 ^ď U5E"F$|,H]ˇ®Ó0H\8ŘşŮAAë™’DçSőĘá\đÄDÖ-cÎ*”%|Ăü4żßÎĺŰ:ĹşG[ 弍VĐxę3ńľXŰ;ÚfôňQdY„¶\7m€ŢԠݬ,WVtÂ÷O1/3 #|Ţü_$)đŢíł=®3(@ňÄsTî=uęt&.LëÓ”Ž�‹ąônÖp6ĂpÚeŁŁĂźÄSM€ďŇTV7íâfč6/Ńľ+yŁzhÁDmˇč®€ĚĺýzvOy6ŽńëYŰËöô·¸vPîŇfiŁŰâaŻÝOoGO‚E2DŔSÓ×]cEp}¬SńR!čűž}Z{ ÚžI<ůžĹXv)-fĆfŰĺʰfúŤ }!4ô™HQO«‰¤PH%ÄLô¸űˇuhOű»żC+x¸É5»ˇ´‰’g±w %\ËčacôLQw=ŁPçx °)‹îŞ×!ÓŢŢr’µxHqśŚcĂ0‘5"řŢ‚sŘĺ6OC™ÔŃx@‰ď»řN’¬QŰ~qd<´Ĺń°ÔeoÚ‹0iNMŤŠ>Vu”í'eý:~[ŻŐáHŞu—ű¬€ŃŁKöŇ1ę†a aÓU}’Ň*čzoňXŇö HD˝G]“â|ŔP'łţćž«ôľ1"UěłŢĎłŃ#E}7nó#qcÜD´¶�™ ýőóđ31TŐú°†PÚÉ&łwăčáÂ磇Ź]ÚĄ«)ýîďş_đ{łńŐ}°«iżŔńĆPlÔZŠ“?öc?–÷źŮŹüŽďřŽÉěŕŰżýŰóŢâ•L-ˇKť0=X^,8řź˙óÎ=`»-1˛fŹ]ľý8$çOx[FWěđbŹ…ąÔżů7˙&ďaŁöÔ!6]kű%Lú_ÜĚ[Nާ÷ť¶ľ-nĺob·Ü/şíŢű›Ú<)ĎůQ,׵Õ(Ór)˝Jż·Ä3č˘ÜĄ”Ő–köIŻ—tÝ,� ›ńŐ_ýŐÓÉ|` ¬'^^ Ô€šxpc[@΄ču�#ÄčČĂÓô”§7� büĆ©pÁ< ß"@ QÝ!.g'â&چ‡l�¨|xŃ ,ę’źßé¨/Á/,¤�'%9ĽéMoĘßlĘršPpŰInC pŤÍ\@_ç@şhÁa˝F /îuńFľüCdsmą‚äÂF“ö5\ “ţ¦|tahd‰á8lgĘgc�€™DůčůâIr˧\ę$Ě ŻLä†qáyÚđťgö°‡M5hţćwžc˛€ű¦_űµ_ËíC[îD;Ś›Hč‹ű‘˙/xA2ěyéU=¦�¨ŻöH>ŘĽž9°ol�Ň«Ź–ě㦲»0†<‚$ÓîÔ|”ü±cúĄz$7ÜŚ«‹WĂďĨ2¸Đ6\m Č…© löU&†€řˇwúdôÓÚc G®$ `çz7!?ę ‚äô“׾öµŮ&÷¸ÇĺI ÷¸á/ń¶ ?)˛ęá#Ú˘Dę‡ýęĘś:Ň÷)ą)C;˘ôŔł´ňa‡˛ôlé‡kzôa‚†={ZÇMNţÖ[2č>Ë>‰ÄĘ€ž‘ SČŚě’nĽ×I˝žIbŮ–Żęć.ş¤^Ž 1„rÓľ\w<Đł„!u¸‡ľF»>ďyĎ˶®=Z>e`<Ýă˝Ĺw‘6n¸&˙’ĎAścŽžhvi—®¦tĎ=wçń˛]¨Đ™W÷ąâß˙űźÇ�9›'çď|oşů–Gć±öMozsž»0—xá _ř m\„ř^Ť›ĐyS<]™„÷ ľ{!¶ó.c)D 6 žö´§]Q‚Ĺ0şdŽěćřë;× 5t \ČËF ¶Äż™[řžľ¶ŇĐ›~ć![˘kÉň{ÍÁąA\;Tr`u}.έ[Ô{îHčÔ{ľË-Ďv IĆlŻ�e9ő AÁysś—•öŞ€u×%|D`%ڤץ2đµ*puOľGŕÖ5WśE@ĘőZë"ąuWÁ¨r–ܤэĽ®F# %x-č �YH-ýŚX7wهŚŘ/ă˝ŐQoć§·Ű(‚RQ·ÚCŐAQőjPH,‹ŮĆ—ú,ĺf]h“±îĂëŤM đlo*Űşĺçún%[Ňdžňěa%ř,2A �ż�ň÷śąg3·ţěäm-¶=Ţ–Ë v}9‰ʲźXź1ůTuŞ`zě#‘ŁM´oŢďŢ÷ą'aje)`2e•:¤G˘Fiă ”űk˝°ô32…}İ-€Íß® %xăŤÉö[ldN–±F[ŚÄ’"ă`ŇU &OD€Ť~ű47˘N[˘×"Ç9űnGX‚ýiŚ‚L±čűf<í&˘řl37�ČCö\QĂ9đŇ-ú‰ •úŐdă™,Á©ţ‘`­.GRE%¤Ôúx¨ĹńB"˝ˇ9µ»"_7.8—7ň­G÷ć{#€áM{\.÷'ŰŹď‹HśjÇĂč Ňun[´ge˛X·e>×5ÄŠ:.‚Ĺň,'Ëć~"ě3ŃĚěä&ˇrç!8âxhŁ˙3÷śŮ´Ëąé€€etúĹčz¨dŤ~ŮĎ÷ć ™Ťcb)k#ËţţDúŔ3^ź|÷Ĺđę͵|ě[‘HŰiFţéű#$:dŻä´ąćÇzŰΑرő;šş‹}µ}7Ćkîł"ëyĆ˝…x°bTÝfč­ĺĆ1ŐĽr}R)ç P+ą¤źÚG»I»ř »t¦{î>“Iuü+ăÂŐş_ Ą¤Ë lnKx­ř‘ů‘iśµń«^őŞL˛Ŕ „ú·Ľĺ-ď˙ ÔĂ•<€ŐŽ·†{0ז졀Ý=˙ůĎOĎ~öł/¸_Ŕîí·ßž÷`đrśľ=¬ ‘‚ä|"î<ö±Ź˝&÷ đ&yĂ §Ó}Mx\¸”„˝I0´áĐŻd˘=ó2_Šs^Ň•(×uřŇĄ&tz1‚Ĺ˝•kdë%]7 =CĐ�ôŘ|•Ř“§ĽYL�¤döqŞś °[o˝5»LŽDu»0î„^đXWó‚˘ ą�“˛đ,FHÎż/͸ůöt9I€\Źü‰ LŢ!)pŕž2@‚`Óľ}+ĎPg@>^VüÎK‰Ź�=ß‚•č‰úŇ 8S?®ëő�€S^pââČEŽŕˇ ˝D  Ú‡şÚÁ‘=S_@ad ŃŢč“úó|$kđAgčÉäÂÚ“3” éĄ‡Ń€ÔŹë< QÇSöč:zĺtwsE0ŰÍĽ `űűĹu«á˙ťď|gzűŰßžźăHţ†řŐ_ýŐĚD¤m^ö˛—e;#©ň@W�Ţn~P´HČ›ýSGň&D íh˘˝é'ô%C=ôLBôěI2Á"nŮî´›Ţ(\Lşeń Ф&žAúž^!”AB�yS.mČuĘ5„ 6dX ţ¦źŇ§é›üOŘÎč˝9Č#ýýD¨¶ĘóŘ9y Ă#ąFŇ äňzÎsž“mRŹ3$˝Ô kô†ťąąČ3ÔIŹ q3›uˇn</q‰ňµUĂq/ýGŇ›‰’h®C´`Ń‚{Đs Ň«KÜ҇ˇzh3e@§¶ĎŇn”ÝH´!VG˛íĄ'"ÇGó‰ăą´7˙fĽˇ­(űe<’ÁďÜK»ˇ'WöaĘ'oôŕG;0FҦOyĘSr[Ćb$p"&a‚|ŃżaŤĐ3ő“ؤ{;džw÷Ń‘ă*ő¸Ö&Ŕ»tý&úçŹ˙řŹçwŃ…ě’ţŔĆŔ_˙ë=Žcbs„qČDgsŕW7cĘM_ńgý1Ö2üôO˙töŽĂ»îÁ8ć87gsÇ+4üđŽ`śc>ĹűăBÉĐ~ j8šËźÔA äV0/=ŕ‰ţfBtĹ{„…ě_ý«5˙ĎôG˝iů®lÉ©Ws@v®ßŽ)iOŤ’&`¸ëfd‚ŔĆą–Úöî©ÓaHS;ă5�±Y�©ĎlŔęľpľá¨í”5Ć"lNpžP† Q€¸ZÄ“¬iş'‚ęńôżĺµäZĎŤ:—Ś÷«‹¨[ÉČm}ŠLÝVŇB‡ 7Qć•{hVßž>Ž$=W´»ąĂÇ9‘mcŠ�gôP@ňľpVŕK=XÇ:~GO-1§ÚĐáĚNhŁ˝˝9Cy"!3*ÉĆđ1ĂdďŮ{Ĺ^·Î6ŔăáůLtp]¤ěY'hI93śs\ń>Ńw‹T<OôăܶK7ô t&ź8?qâäŽ'¸GŁßô¤Iżąź¬W3Qţíp]@ŐaôpŃ “ľ #ś=[×O<çü;öoë#9 %ËD/Ąť–36ďęíe�mĂôô}i;ě ™Nś`‚Py áÂq%®[‹ýLԕæ'Dő¶đłźýĚTW«Ŕ¬÷…¸&—ä!č®Í´$–h˙桾 K0µOWŰM=W[¬ĺâ•`c­%üC7÷ GeoÔq§66·޵ăőţ4^�čoşüćß‹dČ#ÁtI6z’¬Ţ>őôS˝H¨¨ăh?J:7ŕ˙|łŽ<•˝±Ä±áđ°x'ÉuÄF@|A9ů÷ŤĽ‹˝Lň° Ęł…ěDŞcU YíΤM’b,îřnr\hCĹţçC¶ř…Đ2ŽĆ ÝŐ±úLćpś˛<ű•Ä$ËŠöD]Ož:™öö—Yż…�đ†ŮšÔ÷ cÇj(ıR§”C‡`ĹĆVą˝ ±a•ö K„L›rĎž=“óŽ}ęô áž8VTrÄa O4Ôń y—V›űÖë©Nę.zÉ$Śnî…E»‘pÇxí"zŔŠďG‰-Đí5ŽOz”śIyzkIĂ0›÷H<±Ś‰ÄÓł˘ÝIÉŚď…ći·]°KWIĘű?öĘÍz÷- ą˘&úžţćßü›é…/ú¶ô`¦8ůnŽű®W*q€ŔĂe$Ęçđ$Łf”˝XĆĆ_ř…_ȡŘľRÉ÷F$“®$Ŕ{oÉý‚G=ęQůĐÝ…zá0ş»’űWcŇĂ8{ě?‚B ˙ľö îOc‘еmíNňýŽíĐßĐ[$}·zŠűKŰÖÖío’’)WŹ™íş!–ç.—RnüŽk.笅„\ćöťč%,ÖŮňIěe˘[öębŠ$v×7É{&ojě•^IÂŘť®‚…‹ ‹EŹ�ë‰4&ŤŻ'ŔëčŐ‚gx�X9i΀©Đ@’ű"›Ç—ntkHâ7�5 Ŕ.şö÷ô6†D^€ŚΔĄ|ܸW6QJľĽLČŻe1Ń‘ŤŽ@4znŔ>‰ <Ă=lRłŃĎb÷%/yIΛç$Ş~!şďăytAz;¶ž=ôĚáć ŕ ĎŁ‰eˇV<\xŠŕY¨şcŔçYŔe‰,čE˘@Śóă›ďÜ ŃĹđ-\ó„-2ÄS#‚ôäK~\Ź^Đŕ,í@ťy©#ú¤,= ¨ňĐsĎ!5d˘lI!NÔZ˘�^ Č˝�pă‘â5ŻyMÖ m ‚ű!řŞb&äCť!ş?ĄmŃqô’BÂNŃ7‰ç)‹kČ`XŔ`ĘŇcşŕ>C}h÷Ôßş˘ŢäŻ ü»Ý4v€Ą­ů·2ĐĘŔ¤R€=b;ؤ "$ţÍ †ç(=ŘFnQ^ÜTµ-±eꆩ/6€Ţőţ"ńť"Ża HŘ : °!dŔK ˙&”K łŃľ”ťńu#_ ?—hdŕß’|+I»@>=Äp/Ď0žĹŤőxŞĹ× gsŰm·eů!ľŔ®† KŰ0nˇcôÉ8î#%°ˇŔżÉßp6Ř‘ĘĐę Ę 0IľüŤţ¨ ů cęČŘAý©ź4I-�+±9ÚQď"ö ÉríćJ쟌‘\—•‰L’V(_ď äÉ8Ă·^9HôÝ‹I¶Ŕ¦ÝC>Ű"ꀿ)CYă$h—véÁN?úŁ?š^ýęWçcëء_óŽ"Śä¬?ü?N?ůŻÚ�8{9¬C9Jy|vţ^üâ§÷ďţ]~ŻčËĚ_žţ´§§Ľ˙ůsxP\žąç\úOŻü‰ô?đéÁŘÖe«6}>ő\€”.ĄáĘËăĽě_ţË™ÇěňOţɑݵ±űř[ůýmŢý?ô˙üżé—~é—růĚ ţößţŰ™\á©Ď§?íÓŁn}Lúţď˙ţôî;Ţ›^úíß™ßŃ÷ď~_zěăľ6]KÉ †V÷^‹'9L®ýZRI0ĎëŃ={ ľ–UĂfněaź´ §¶űpŠÖ9 ›†ŐŤ˝Ă4l˝2ď Ý ČiÉ‘8€g@\ëĐzŞp3Ąťű—|ëś#‚ö…0÷|=U艣¬‹<�ꤶŤ"Xě摿 Z ŔR.ó%=Ń9Gk7¶#ˇf[=ă đXV$’Yóňí ď+0µÖöJőDv<… €¦ž‡Y}˛ÜCv¦?V§ď<ônld/†ĺ `úb9l%˛A7y8 ¬ňOŢQş!^xÝ®×gÓi@ę>xË$ @Zd†źĐʤ…‘�Ňď@üěpU–b‡c;/3ÁĆzŘg q�CťÇ‘táš-ęß絩jďőžş'S^aŃ«J‘©?"‹úŠ}Čţje,Ď×:˛qÍ[ÖŰÖ˝ÚŕśXR‰SŽÚŻe]ČľąNy±Yďn¨v—˝,‹-ŚÖ2#šYÎbÜ#ZŹa^o§SńÝŘG±­®źĆcî‡ txö`¶f,G÷Ć“ťu•\bčˇŘŢŽŃM&mlęě™{˛ç4HŃ®âXp1J/»íĆ2†®=¸ÇÔâÝÄkąN«â1Ŕ1$nâ~žvĂGÄzj«íŘ-ńű,“şjűęÎu˛~b;§ˇNÍżm“Ö3Ś{ ±/ůőżńĆý<~‹5űáćžnĽ!żăôř“şůĆ~–Ą[ĚŢ]„É9\Śá3ďJç+ľP<a.'˛{ŃPÜGŤcbô*“íc#óş«cC>âýę·ě;•ĐńÝźm§×ÚKřÇúVw›ĚłŘÜr"×Y'í·ČZ=Žň[98qfŁ×tz<¬â>˛íŽ^î›ŽŹł> Ac´«Ý>Á.]ŤéGä•ażŕ!›ý‚gĚö ~â'~"ź¨gź˝úßą_PĆť˛öýďoW2qĐő‡ř‡ó^%‰1XO~ň“Ó˙ř˙#cÎOŁ9ŔńţÁ?¸b xĆ{× ĽňT÷AAËŢDüüăüŹóţ žBŹŢ˝Č÷”˝Ťă‘X—ţđýHzĂŢ˙fżŕ»żë»Ó7}Ó7MűĎxú3Ó-7?jÚ/řö—|G>@ů}÷ď¤Ç>öęŰ/pm˝Š~úÓšÇ I?ŰŇ…ČPŕîÉ](E%ĺ3§ŹňÜ×4\Â^šë ןϷkěű#“ó*őëZésMŻ{Ýë˛ŐH ŮV^ü·D–x€őzH× Áp@O7ë’�é„€�Ľř@ş�\c˘_7*Šű]^d�‹�Ş€Ű�ąäA~�ݵz*°L2…ˇCxŽŹ§łąŤ|bč“„]Ô;ńvńÄĆD7jčřÔ�†ś%š`°®éxIš>úŃŹN_÷u_—BeĐŁň1�ńś^ Î)§]€(2ęéð&|®©ů{Ď&˛´tkć<-‘Á…©d šńä€ (ţ­§Ę |=sxJťgŐu5,Љ6ćyôŤ-č©`9m@”…aëÎO°=ÍočňŔ– ť!á=Až ÝÜġlÜZцĽ đhń| —Ĺ‹y‘m1şŮڬyô€Íń7`/uˇüčŐ6§­‘˝PäŐv(â€m@˝¨׸Ođ8žŞ")nŃ©z˘.ô ňˇl Ôß>Ä˝´}$+żm=ȨCOgÄÍŚřÍP.†"aBoHd Ę�¸Ç^ĐDÚűpLáŮŔI.2č˘Ě €g$žĂ­úAOčV˛$ÝNq/2Đ®’©ČÇ04¤‡p˘gÇdŠ'cHÔůyÖ~kż"o #Ž)ä=+ íAč të“ţđľ÷˝/¸;Sqźň$¸ń¨ čů$KÄM+ô@Ý ™¶ 9$ÁĐN’ltÝK[9ŽÜ䤞؞d+ňŁ>|"Yš”[9釒<$_Ĺ0"´#ň’ âÄŚz’ś„~Ý#Ú†ëŘŁj<Ł—#ţMľwýÉ'Ó.íŇŐđęB¦żĺ[ľ%ź<Áާéł˙ôźţÓôĎţŮ?Ëď.ú(ﯲarĽ'LHÄ–eü\ń}ß÷}yĽdS‰ńČÄ€^żó;ż3}ů_ţŇt:`¬‹‹ŮăžxOÜrË-ą/ń΄ Á6şĚç=ÇűO1˙ú_˙ëüľ ýýĄkË-j{jĽťÓBĹÓô>cr-A0RÉç$Ś4 Ě›Nĺ$öůó«inĂű™wľ–Ëä_Ś^ÖT`¨Q< ÔSrńT<.ÖëâZż Ě©Nâłć«ĚQ/e3MsĆCť¸™1żű#žÜx)Däz ýäÉýŮz°%wD@Ú6š“ć^ \SIbŃÓ`$8x/Ätą¤ü­îş#ö]Ľ»żă:z�¶íARö6 k–Sń¶YJĹÎ�á*5łMtĺ„u<ą˝†T€8zZČ$Pźŕí…>P]ŮwŮ9ÁzF&Š$#ňĹcĹŮs őĚݸ.á4˘gE–)‡˘č Ń$×­Ż}đpuOĄk?Üsňä éDďRN› :Go *®˘§Š–ˇn# ˝-XľcAônb›¨xÓ®ŇޢKÖŁg•čxűôádÓ„%á~eeNTŔĺ3y­ĆXQâ[§#v‰­ `m3’~&S7y<Pgë¦˙Oő,ĄŐÁa&W¨»ülňŽ6>[’^F2Ěf<K‹Íő®ž€;{îžQĆđűű{™\[úBńŇíÁç•;†ľhĽľÇőS§ł­ť;‡§„{ĆröËA§ń´qŢźŰ °żKĹ>#飶ÁA&ĄevŞ›“ZZ‚I@śqÇń!Ž©Ńćí €áC7'pć1il'źËeŃŹÖĂ´ŹáŘÇeËrĚŽ¶ßń;z4‰ďIlýĆ a€ľŤ7–ěe4“ö˛gś%D”Ţ<›˛†ÜĆ•dŔžä=˝ŹŢ¦R7…ąĚadşň^Üć!"Ę ‹’´…Ü.ëúNJ™‹Vm"ˇ ąÇNĎ8ţúwlSeÉyGć-Řuy§ŻşŤ‰jĎş CŤe/ťź˝+íź:™çkó1(xŁZł2¬_~/Ťa`âéÖRÎňJcÁ»´K—śŽîĽ$ď™}úO?ť÷ ~đ0ęŮăfż�ŻÇqż�ü‰Ä–»6s߯üŠŻČűč—ěĆľʋ^ô˘ĽG|\űľ1|öqOqż€ýi< s°Ó0 ľ#Ŕ8\ýŻţŐżĘ{ßâJWcŠëCSÁšşűđžco_ĎŐ¦vm,ÎäĽ<zVhç÷'µĺ:OtnËŘVßÚk®ŻścEĺbeoKĚkŔKÚü#yõ®Öů$pŻűCąÚŇuC°ŕ´¸“oľůŮÔ›�“RbnŞČčâ9ŚË Ř_˙ő_ź ˘áL0<NI>»P$?Ę,uÎŕđ©+x>,¶Ý 3Ş lÜČA=;ß<Kđ®Ay ‡@9Ľdą_XаéJ˝Đŕ(@9 î•ńGL›´±Ă !¸F]ą®Ë~7/”‘MĎ” Ô[đđŮ�yb‡H?n¦Ä¶(§lÖSčň¤,�^]MrMđÝ�Č‚ôŘŕ´6×ôpŇőe3±¸:Ő»ňP6aűćB"2"ńŻQĎ|h3€SęGYČJ^ę!2ů 7€=S¶ŢCî¸ăŽÜľČhíń ak r´…2ö� żíÁ}&ČŻu˙KBňGîşQ5Lí@ązHáytfXIüޏ¦ =¨cęÉ>qŁťzP.e*mÍßęÁÜŹn‘v—ĽâÉ!@m Pظ'  „ ń´Ťv„|”%É —‚} ce ?ň¦ťČ÷ĎxF<Ü$Q´‡aD” =µáŤř·ö®w7’$LĐ%ąibČ’ˇ3ü]pźvEg.ü•!†7â:z™¸C»Á87ýОőpĂłz’  É6رäěĐŹ$´vsżö˝ĺ”’5~4rJř!?Úťż^…lG˝Xđů:&XV eÂýÄůC¦Ç?ţńyüs| ?úĽˇ™čCz#B.ňAžH–Pîç:2vGŻC|ŁGõpĺ3ŇzľŮĄ]şď1ěüËľěËÓ_űk-÷CNž0&<ő©OMßýÝßť^úŇ—f¶oß,ˇÇ+A˛@W„zŢóž—ç^Ś;lš0žFđ‘1¤%‰§Ä¸Žw7Ă_y?0Ć0oÇ)ńNÂC ďWĽâ9‚?$ެMřťąý÷|Ď÷lć3čěÚZ°F@+Ö±|włÓé~â*‚ú>[‰iz6‚Üć 1žk6ľi“Bz?1F«vOk™ąŰř §‘ŔďŐťľő.ź–GrD9q?—5ĘKŠ'—9NŢŢI‘tP¨RD˝­×Ôă~˝v¸<ÚFéŰr†‰� iˇĎeG�”yr8׎`˛ő†XQ6†j[G/µWłq6nö´¶Ö®âšP�ąÜguł<WSľĂаŢ€´”¦6ÂË�$† ( ÷™AĂ÷ [śźÚeYâ2dýĺü!sŚ`ňz2%ÎĚgýö§2 ZÚőD2dČ4dtxn9źËógôŢPÖ;{IŇ€c -P7·ť®Ź¶Ů1´!uĚ'žfóíÂP5ĺtů"ôqĘ.! ±©x—±Żű)6]�ŇnbÇŮ‹ăý[ď+ůÜ䢮Cůčę·äQ×÷ęĹqF‚Ľ¤+ďkôx¸Ĺë™pŹ~s‘d1’x°KHç6mążWHĂHIÝĽN¤ᣯv‹îrhźá°zGD?q˛ě)ĄˇÚ\ůc$5uµ­‹WźJ.‰ă0u,ˇ&Ç6)kjtĆ>¬ÝjĽč“éäމÉ6ŠĘj›u] ó¤Î Ię_O µödX lëÉ#Q»GQţěf¤…8&ÇxĹčVóđ-ů®ďfc{űlS|÷Y–{#3"anĂÄţĄęX'ľYgŁ®ĺC Ăůtęd í’ú.´É¦źśĂU—ĎÜ“‰/9DH?Ťo…¤8Ěô…­FrDÔ‰{€d=̽ٔ]˝ĺ{Öăz#ô±¨§vßÓĽ§Ł^Ú˝Z<Ąl^ů3â]<`cŰÇąßěď źł÷ś™ěÜýŠlŁxÍŇÓĆá*ˇÖÍÉÎBĘ)şÔ›ŚůďŘ»t5%O‹ł—Ć~ű•0 Ô58 k,°cÖ|Ç5A˛ ¶ţ™Ď|f>đË{Žýö^kH´r�Q 븦ż˙÷˙~ţfěçÂvŘgŽűqśżŢö€Ýđ^yůË_>>'Ĺ÷$˙ć ß+ľë»ľëŞß/đÇ÷‰ŚĽ1Ý—ţT·eH4ú@ŮŹĹĹŮ.$ăĺNâ|‹±Ü×:ŁŰaŕBĺů-6c8wşÖÓuC°,w’žôř@Ăú&ęYÂäž@Ç0ř �LđźÁš¨Á€žSé÷ŕÎâW†Ĺ'¬•˛�Ô�™tđ‚4&%2ëią¸_©�l<ol%er§M‚ČL|ä%´u4Ś “}ĘA6”Ď5CŹx’ž—Ł¤ä­ äĆpŠ‹ÁYň¤=Ęâ­,d�ÁÉO˛e˘Ż( Ič2Fy=¸' “ž+x–çNŽ®ů( `“kzďŕőÓűżEŹ”m0€%G<k!dĐ C\jkWÜ”‘@‹űÄý\o=0 Ą @zČ\ĐöOo Řrŕ}�=D˛ÚźöFżĘe°}Á†xĐ3őŕ9OíóŚžÜô@ٱ-häDFI9. hËI‡¶»©¦§dĚ„­J(®˘† ś¦}Đ™mˇ ÔÉ u† aü1cŮJ°˘ürňh^¶ť2Pö§-’$KnĽžřÄ'Nä ˛Đ·‘=ÂĂvçYä÷dNôrÉ ´6ă8‡ ÔG2ĺ ňCçęëä-ůIO5’ Mˇ Ę7ň¸Îb 8ü [$,�mD¦ßj¤Ş|lÇ=Úа z6A~őâ8O’¨Ł‡Ęq33¶ígi<¸.‹•ü°=ô÷ńŹ<çCŘ(ßČ7㦠eH’ŇK2H1,2PŽä I-č [ÖŁ†őŕ^žçßu#s—véęHŘăéÓ§rżţŐ_ýŐěÂűŰßž]]˘`—Jú†oř†ô¤'=9ýöo2żŻ ˘pšg{:>®~#( —÷!snl R3cď[ć?Çq Řὄç-’ó«¸đW/ş–ĺÝČĽwź7Üx:]K©Ý"9kAۆű1ÁOR%-ô31’ $dXW�×R~jŰőťďoŢÓ´‰DëHŔ$ó§ć´ţb›WĞ/3ö˝yW Ş’Z÷ďUgs±>ä=ĚrFrФŠvŤC Ůć^*ÔŻkŔÖV«gţ^ÍÚTęR]‡›É,‹˘îcYs"ŮĄ­Źk­ţÔU´ői*÷ňc�ä žö­®&PWI0Ăľg‚Dfa¤yűoŔ¶ĆcQĂBR)z+@zőRţĂÓ¤¦ŹđŇ~‡á|y—‹J9ĚD„dřR9¨r2Y6÷{ďj#Ëş€ĹŚ[Qwë±ýZ{ôwďs1¶“äŰrÖFÔ˝Óîc˙/¤¦bĂÔ_†ápôK( Ú¦ôůÚź"(;'' x¨ăJŞZdýbżÜĂÖ [ÉSµ_×ÄQ?QţűÔDřˇžž-ÖSżŤ¤¦>±Ĺ3ŢáÁ¦ß®‹×„!ô‰čA2Ln—ŐH:8,äCkĐŹX«ďźšő»uÖýNˇ[MmQ=%,S!UNcI;FH ‰ö°\,gű °!dČ]w}6­öĎgO {ĺÇńqIÇö\ăŇ6Ŧ¬¦±>ĄÎŁlŁÖóĎôo~;źI «i|>2îq˙h·ńPX~WPvX[nłqĺŠ6#q$Đâ¸QúŔśä§lôďLčÉÔ:ąV�ç6v|6{/Ęö»\Leăő$…şś<y˘Ľ/öOŚę´/Ö1ŻčcÜ·MzßßaëŁaľ¦÷Xęfú6gť,ă`Łâś!’0ăšé˝×/Bźźë2–5ŻÓŽ’)‡IWQŢ|Ť˝¶Tß;kŻ›ÂÚävÂK ĚD#é’>ę;ěÄúşŮÚߥë(1^—ý‚_ɇ1Xă˝ímoKëoý­Ý~AHOzŇ“ňŢ*¸ ˇ™ŃăMw—jB?*Ř`ďôőŻ}˙nşé¦ôěg?;ßÇíăx€Ç€÷ńŽaţé~É÷RŮ/ň~űŢ_óµŹŮě‰_]űq}6źß÷vőĐi›ś‹–ŁŤ0p%“ä ěWŚôJÖ٢÷§ÎŇmLqÝćĂ7ŘĚőD® ]7ł0Ŕ1@W 4/u&Ł�[şĺgÁ6�eÜ;–ŤÓa€’|ŘđÄŘ X4Ł >äAgń„:ĺ±aĚ=Ę Ćçü‘ Z7-�t?Çud—©đa:*&ł=!An˝őÖ l˛ČČHĺş®-‘›{t˝¤ô„Ŕ}Ü1y¸ÇE'őĺş }ŽÓ:çÔŮSô‚¸ü&QúC°}ÔC|1 ˛ńáÚĎÓN2ň)KÂHŚů‹žµęoŘ–ö=ö€ ęÁÎOý Ź ń†ÁÉĹ~éüIüŽžŃ7Ŕ.“ďףmč Ç)zňFgL®€ş)( ‰ýBöáCŢčQO ÔÇnü*uŁÚ™. yĆ“4žćç^ę=¤ČtsáÜČĘóe‘]\([NÜ(Ł-$ĐzĐ‹Y¬ŁDÉzHQ§čŃ09”ŤeKKz!O_Xń”“‹Ző yƶdě‡kôĺ(ak(Çp<€Ôťţ¦§‚öäÉMjCŇ 'ű¤í`âY=Dâ×č—zu0‹`KÔQ´c’}ÇoHTĘ@?Š-Ę`?22čaEDůČG˛~yž|­żŢ≠d¤ýÓ”ş(›rčÄđ>’hÝMIP@ň Éí ’ýžşqťSć´I¶+růŽ‘0Á˝ÔMHüćŘJý%˙ÄMS7Îâf zAFÚŮ? ‰´K»tµ%ÇxĆCĆ�ćEĽ§°ŰK™h—Dď{ß“nżýöL"`ÉIžŰn»-ëH€LŠÇ›nĽ!ăŤá­o}k&[@ä;n PÓ›ßüćü7ˇµÓ*¤ĽsŠyďˇ#l "řĎ˙üĎoŢŹ_yó#ҵ”.D˘‰@u%¬¶>÷ř¬÷ů.®*|/Ž€)«U9/A!>o¬{cŔÓ„\(Ź—SŰ‚ďíf멾ŹŢj÷”kˇň[€ęŞ+ô˘nş/ÚΕŚRC„D÷¤Yw#q7¤ZP©ŽŁŽ+HÝrČ0’#ŘĄ—Eć@äĂÉ% /ĘmŔ˛"0Ű’.â ĺT†ŘľQďq®ÁOďrO=ďŕ0ÔGŔ"}@ŕÉ„ŹqŤä‰űuuˇ*đz°* úń”ňö Z7ŽëBÎHŐ=ľäˇ\v·€Nś(yq ý®»ÎO뾀n�ę `˝ŘŘ´!C »,d†aîň¤…őŞË2F€Ů2c( uíLßşÇ9ó¤Ůî(Ů)Úťm)i(‡§$.›Ł%_=g•©čۨ€xńzSűmuKŢ[úăAôĚÇ5ţŽá-µ“ŞËnÖgc]ł^F{u-Sět™O˝kĎ1üĎői>Ô:Ť'ó±łŃŢFâŤő,ž!úěŮ`ą·Ů[YîM!?Šm•PÚă`ź cÓ¬¬üŰrŇ]÷´‰PŽ3±NĘ”ęS§3Q`uúlî„{'ާťl‹›Žám$Ůx=z⑨F[Ć1!ŽĹ±=b‘˘Ľ‘$ĐÖŐ´ai»áČXËŚďŔ¶?™—ů»WÔü­MuÝ8Mu„�˛íúěoÖĄËŤý–˝:HTĹ“N°ý‘\XljÔßHĽHŽDĂúE7¶Ašęx?ň-*öď({|?Äń>öÝ8nGâCÜw°_dOĚÉIŽC‡#‘%Î+b_ťt×ĹW5Ďö=hť÷6ş$”úČ�Ëx€ĹąE&ĄŁ$Źi´ůoŮ-f~˛ţwç1vé*KŰö 8|ĆľŢnż &ú1V~ög6ĺě rŔ€0ÓěąîRĘÇ»ŢőÎLäýĺ_ţĺ<f˘#Âcü÷˙ţßÓ›Ţô¦#!UŽC:7îPŢě@¶ŔűI$§ň.gż€w{R?÷s?—=X<â‘OWSj÷âZëľ&†·IĽ’$Ţń@¤–\ń@;Ä"Ţ{_Ó…tŰ&ÚĚ,ÇPň×Sşnž,gB*Ŕ%C@đ­«}îĄůčVŢÝŢă€D~€u€Ž®uČźIełńËémň`â k{ňŤ HÜĂďl˛S6ybŕ‚•ž`'˙xJŤÉ � $�@OzG`Äsżő[ż•^Nşă†Ë‰Ś‹/IäÇ lÝ1’2Çđ‚éz o@hl‰ †JĐĹ«.˙Ń… PAKžĺEaCűnZ CË$ăwĘř$odlSdp½ÔĐ›ě0®KşˇNLţиřŃ–$=ŕ­3żÓć´ňäŘrwčśk´eH‰d ®#+±Ő°)ŔlÍIU\ś)u€lˇň@źLĐ(>@˝ů(6)y�ůĐ«Ŕ0ú“DÄďz× ĘÁ=ĆJ¦…%®Űçß%6čőÄvđ#AŠ|± ňnOmj+ž´Pöyd`Á‡k”KŢر!eôĘáF.:0¤íŹmXżş9ŃÍĆôĆdEpvÖŁ$uˇ GÚí3†@g†Őzh7ŕS ™Cşj"t!éH˘gBDŹ9zeQóVŽiŽ)öqôÁÝsʎP cBţŘäĘ@?Č@?â:uáwO/’Ź!>$LńĽ¶c’¤Ç˝HH�‹^ZÜč¤BؤĆJ g¶C$ŢHĆqmő€\ô)ž§K~3ô‡^t$”hĎ’ňI/Jn,ţÉď}8íŇ.]M‰>ýž÷Ľ'{cxŮË^–mťwýďg~ćgŇ.•D˙%†*›$úůßř¦LFá=q\SÜ4ćDÓÓžö´lK,ü!Y0Wâ}B HŽ[â}Â; =ńŽ‚xűš×Ľ&żń˛Ä{Ś÷'›*Ä.ĆŰóýŽë/~^ş–R ^ů[üD@x|˙V°¦‚çĹ3Ĺ<ŢŞ$‚OôQž ĽE@˛�t<ćšžJ¬ůx’gćŢśËyę ŘĆÎĺúÜ;Ç0—“¶¦z”ßűŮş)~â\ŢĐ~J>it›&@°!C”zŮFël/€š˙Ž q~«gŹ@Ĺöw Zśťć±Q‘Ôať˘c»Ć“ŔţÉ�ę+¦řEpĎö¬ĺH¬) bYĄś~zŕ?ç &ÝU0Ľ•Ďë.Ť€ó^Š!\§ć°ë r÷zŘč )@űMÝx˘ś:¬‡ň=Ú d‚3gî=ĽťĚźE_=Ştëâa0;÷‚Ő€ďů·U®P áôrHl8ÚR \zH ’/üîR@Ł=G{Śm$`k·áIřw9ĹĆŚę}d±Ř?ŹO¦ę%#ž¶—D#ŞôĄÓ§»‰ŚĄ7‹†Łx qĚ4׎í‡Ö+Ű}Q+ )&Ú,ݍw�•„Ë*“§Ţm‡rJţ°„ĂŘČ)É?ëmo™`=ětă¸9.„˛Ü;Ęýˇ+őĎ�ţĆć�ć[‚Ä6ŇB!r,P×ů“GdíçŐň`Z÷ť?,�Sľ×°LYÓ•’bűÓ2˙®Î[҇ăÄDTË^e*ˇ«„J͸=űJ}Fď/C ?’űgŞc@·â]ó®wçbr}7…¸Řöΰ.“w¦‘đe(™.•÷v°ÎŐtHbťJřˇLČD€˝ÉŢK¸«óą?IŘë§şKrXç±&Ú4ŐZ­W3ů¬{ě«ńýžőĎ»s=ż®·IC"Yď!3•ń//&b]š·ynŰőü]8oËůĽˇż[ů'»OĺĹňˇ qßÔ@KĆU<‚ě-ŹxÚČň°/»žyň;ćxÜŢĄk •ý‚wĎö Xł_¶Ű/¨‰ńă~áňˇď3ÖÄň%lń.ĄBÂÉÓźţôL°ŕĂš<蛾é›ň˝>§Ä;’É ^đ‚°_đÚlSŕIĚ“čwŘŢTŮ/`Ęý˙«1mźßËßÜÎ$ĽQ`ŰE±ň÷@îErĐËÝM® ®Ťx÷ýI†ąX˘~čśT,ű"ł<éş!X00H>°ˇ 1Đ+ `qO K ŃąŽÁrż=˝Řm'�DĂľ�$/Du·t®ÝtÓMpiŠ`2ęUAĎ�rzb  îńÔ?ĆČ˝‚㔜LĘ�Ć O€ű$T^8 ˘­ë ”§g˝yĐé$%č±A(€9řv3/‚šęC——ÜÓ‘Ęŕ”¶ Oă“—2XGîA|¦%Żp=˘´%¤ Aaehm‚g ŃÂóč—V�Ú2\3l€§ă •  LŁ čöĐCˇ!Ú ŰÝBŠaĂśŘí´ť@<zŐ&=Ꮭ/2č„zS‹gđđŕŹ]ŽÂ:níA’7ůFBŇ2ITĐË€a3Q’€^V$רC7¸ř›űčw”e±UuäËN/$č(6ôZ˘G l]bAč•ůŚ‹›AĐ7‘Ĺ:ŚLČÁ3´qÔCěüNůďz×»r›ăţ+Ćxčşč’$`h dĐ5’ágb_Ń+ rŰŘŽ„íŃ6łľLž¨§ä'7ţůĐNČ禂 yeđ«W ä×e˛á;¸ąŁ"Ń˝r/6†rť2ůPwYČHÝxůiGěK~ŇsňsĎŞFűço‰T_O(Źo˝\ČÔ”(áƤö ř‰~i7ÉJ«Ôˇ!¦h7ţ%OPŹHFłí‘“k’ˢǚ8™łß!'÷Ú7˘+ë]ÚĄ«!ŃO ˇőęWż:÷3b‡rŞžľÍf €/ »•Dt\ýśy@Lţç6y:®É1”±Źy26ÄŘ‹wŢ?śDaü#4^Ľ íI^=. Ý —Ç>ö±éŽ;îČ›&¸Ťen˦úaî·:úácóôßń9ţůbYNĹ^+)‚'@jÁđxŻÉ9M ¦D€Âµŕ—÷¸^ń÷@ißa¨'ŕ«—¸sůď“'OÍ@ žÖ“رěč’ľ=ŐŻ<ŐÓBšî“ŔaY‘XAáJĆź¤¶śčŔSŢ-X-@륨óŇ&Ćťź{Ů÷Äđ­ŚqŢăzŢ9•kĆâ©ăXVÔźőmÁÉm›K‘ôq´ťŞWS)Ű6áÂSŐŃ‹Ý0’ 6öyx0z�ăF)¶k™Ű.ĺTóµ ŔĆbŕ.z$<Ě®ţËivdłîËL¦€´ §ü§ÓáD Ńu\+9b1‚×#dŘG»(!Cr‹|˙śH0·ënGűÓ&Z»°ť<ˇßö[Ę[­uë)˙8.ŘvĹŰEŔ%(ŰŻaxJ¨ž.Ű.'ü!ĘĵÇDúI%şZŻW!,Ăa Ő1z"•İÍö"đkýłmŚm҆ę)„ť˛ű¬—‘|:żď'6ßç&bż»î‰äl‡6kÔ—0 q\–\űb’ÔĐÍ=“ÄľÇGźł=KžĂŚ€V€óůřl»ë]SśgĎă ő®ěŕÄ~ [ˇŽŠmĎĂŃF)×|ëŘ=$DŰ›€÷U Őˇmµ6ßIŃÎkť»©ßk‹±^ŐëGőNĐőý™ ˇ”Ë98b#zŃFóz»tŢ$ÉŠw¤­őĆv÷¦°@…řB°•qOáěŮÍ^Ęâ`¶öÍemîí»~6¦ë=&ŤaAÔ[–ĄŻˇoZ=Gݵc|‹Ôőř4˝Ű†JÎńý>Ť#ËŁ!DČă`$Ĺ÷:Źú‹eĹo˙=Éúl;ç źćq±«aË<0DĘ$‹ÍűâÓrµ7Űăʆ-eÝ d—vérĄů~Ákfűě#rř î`çÇ9Ńź[ď ¬ń śď8ćKě-‘°ýĽç=/ď1ýâ/ţbľöČGޜìpč™ýóË_+‰úŽŹě°_€÷Ô?řßĎŤ‡ü8€ÍűoÍědÂď~!—^miŰ;ŮY^HŢvď ~3o‰sWmN󡔦Ф˵ߴm?ŁěśźĘ°ÜműýŰ~»·˛.Vľëű‡ˇQ¶•őą”íaý¸ż×t|Ŕ?ĎŔőZż Żż–ÓuC°Đ­ �6 ×t>^R Č‘4 –"�¦% °@ŢŘČĺă"€|É?nęhäm €B~c`cS€›2(‹Óťé†��¤cs á”ÎG)Ŕ°şńśÇ%˘,�zdyć3ź™:ŚĐCÂůSëČ7`,/*ó•=-(¬‡äb˛Ô†î yš›$Ń�›$á‚oęŠîxi#:2Dňŕ/ňëq€ÄoČÚÓÔßS!Ôh7îˇŢÔ…Éůń›ŕ8÷°YMč†Ďónć ¬*ĎpŤ–á"´<ÁŽ~xƷȇMb‚Ňęü ÄpëĎyÎs2¨  †Ŕ@‡€ĘnŇčÁ›ÝηRű‚ôC[cSL:(¶áßľTČR÷aÇ G†ĐÓ/$QDěö;CB`›2ŃuAŻôôáŔJ~xˇťíź-QÁ‰¦›PČaß'?mB[˘ČD˝•ź<%QFśÔ“'}†ë<‹ŽŚ§‹ěĘŕÂťúA® Ť�‡čçľ,ôěAz)‘Á=ĘI/~¨—d/ÚŠou w~˝¤đ;íN_R§ökäŕyú÷’(¸WO%íćĄ^}Č׸ÍQl+zjáwĆB‰GüNő9 \ŘĄa9č›ÔRZKzŃf¨2J¦˛-ĐŁ}ßń™Đ'2~H„ŕY‰s”/8… !»žob[HşáC}ôz"QĆ±Ç $ŰJxŽşŰ׹¦ŢŻ· Ç.]é)OyjŽwÉÉ»ßůť˙™^őŞWĺ żůĆvéGO|â'°éؤ®śě%1”ÝrëÍŮÀ鋿ä˙J_řE_O×ÄÇ;…ąóŢ‹n¨3†ă±‚yaíxónensś€Ďţ‰˝töäĺ?ßčă/¤ĎŢő™ôżŢý©blóÎř˛/˙Ň<‡ü“OŇjó><±HşáľVR»o7˘Űď®!TŔ´ćíŃÓ6Fňt»ůXNÜ”‹¤ŹxŠµČ  ]OÖ:•xő§&Yę&CšĘŞ đ˘9ˇSĂ:ĚIëÉĂ©ĘR˙Ž®ô#đŇ’K"ř× b˝#qÖ ¨ "AšęWę# –f:äŰ%z0hOę· »á%Ý$6Ĺ|‡€nŻą˘Űúú|K~‰DŚęq ‚hGë¶m˘ŘEY—Ą©-cy“˝ůć`gűëg§˘˝ˇT §°NžbGĎdÔűEŘ9e^�ŕňĚÁáůpjż€pa¦[4§ÂGo!wg`şŘÎ"ŘM ‹±žú@˝ž ͸“˝kti"W´:l˝hŁŐî‡Y˙ťŰ~šŮĎD/.…ŃŹeN€}±oę \ëqn~~ ŰŇÍ€ńb7‚¬]Î[;oŰ–ĐÝz2‹6ěÚ^r€ĎYçhcq,óú2€˝ńÔ|ľo9®†˘˙\wÂplţC®Ă¬źŹ“Č×>µ^¬uJa$˙HěJ{ŮF»ěŮ`<»,*úZ¶ŐuÔc˛L×őţ­W‚h‚ćy ÁkÇÚ1•˝´ÓąťĎź=—˝Ţ o+ŞwźB§ŽËe+µ5I<ŃÖ¬CµŹtśŹ6‰@zQšěj$cYž^Žćy×ߪ W˝ń=ŻG˘~V“ţň3«2¬˛ ů€Ă‰“ůw÷Öň>QWŢ6‹“eü8ȧ/ĎçŹ[—ËŃËɸt­YVŁÎúz$µÄ›Ř·c˝m›ü°N­ýFrFü-’&Ú}S$¶˛Ä~×öUĺ‰'pg65ľ?Í3ČHéö7cĐůŤnĎŹ2ů=4zç(!ŁÚ9Đń]SěŇŐ—žň”'ŹűěsßyÁýż±_pśc�‡cČMhe/ó¸'ö‡ÁhŢ˙ţ÷g»qśeĹúÜŤ}\± Ľ_­ž®Tę6{Oű'–ťÜ“>óY<ô?4ďĽëŽOĺ÷Ä ›=ü˛_pçfŹúŹó\gąç&]u©ť Řwżçž»ÓD,ß’ÚýS!fÔ{"–ęúą-˙RS;ŹhݵĺĆ9ţ˝…żm/Ą|Ëőđ齕q©‰}şv˙&ţ[Ot|{`žô@z y ŇuC° ĂčQAÎM€6@4@,’ ;÷Ç8;‚.tÍn=ůlül]ńc,‚…€u1ü/}<B6ŕYozĂ0ś©.RĘÉ4Ę5|“dŕ…!‰ ÜË$6©»9AĎƵ )äAjH�äa;n^Jö2hřäEB&É�І^(ő€D;“)¨ŹzăĄ)ĐO4¬ő„A>ü[đ†şëm‚äĆ<ňéŮI‰�=eAlŃ#EB‘P8†îĐ“€axaG)ůpO<ý/aB€ +€SĂf{ČÓ÷źüä'ł— 䇍ɤ žä§ d5t‡„"íÔ°qˇď ‰,č–<‘Ó0Ř$îŁ [áäľ$ ܶEŰöâ7CgĐn^Ҧ’´!ż‘C26ŹÍř˛P&6„lčĂ"€íČć‚SOČ ·tL?çwÚ›<âb6&ĂU`ď䍒‡ýÂqC—ŰčA҆'A=čę•vĂűyŔšŤá€LnPH0  ěŤolD=?őŕ>˝ŔčuDZ€žűč×z›ĐvâËĘgŃcň  ~C´ˇá)h#C¶@€˘Í%Ü?rBCÄäČn-GŹ íf*eń±/2F žgr 9 ›¤ţ´?vHYŘ+rÓ?%ě8Aô =IăýÄ—¶íŔ9Đc&e0frŻÄ‘HĚŁÎz’!Ć fŽŁ<CťlŰBrNl e žEw†A7ÔÁ~á;éR&P»´KDzÉK^’ŘÄcŕž{ÎäĎťwţÎěžÓ§oŘŚ7¦g=ëYůťv<Óxl6ś_ö˛ďÉ3ľ1ć=˙ůĎO·Ürs:śbâý· t·ÎŘ4ad-ń8Vi5ľř‹˙Rşíą·ĺÓ)Ľ—^ţň—gĘüŔ?Ěď$N-F7đ-řx-$ßń}ݦVÍ\~ŹďÇÖ«Éů‚@OKÄ�˙j<ÁAŢXVKË3ů×)?ç=lţđÜţţ‰đÖž|vľşŤŔ!řW=,,ŽĚ鸡c•Ob×Đ’ś-«-_ňA%hb‡D‘¶śxâ8‚Í)uł<= T\í§IŰŔpóŤú‰úŽ §Ä€v-&Żlü®w -A"Ś ëgëŕ¸ŮDŠ:�ëŞîşn~˘AqÝ´,íp8Ů să|ďćË~/‡ř(ˇJŘĹr<Öµ]ÉłőnVľ7srČÇ›ÍŐU>’ź2řÝ/Fwţ‹˝üoÉůÔýfs5ý°żˇČF8!{Ö(žOMáBrźÉŕđ*€Ć‘ô±(€{W]ôۦَC8€˘­·ŕj$cD»ĚŚmŰ*zr©6kžsbSy›LÓ žFŠ®ű@í 0Á×bĂTF´ îÁŰ…öĹ0…ÜĹëç=yŢočCÝšGô’`ŽÄ°,vşž{Â)sʡ,Ξ??#Ş”µĹfĽI"řKYűTŻpśô0Ú;äČ+ë2fb˛ s/=µßě%Ăuc]'ŮľŃ&,ß>÷¨Ôú/emŔ{Ún±W<-teüŮ Î$‹{6eťŰ¬ĺOçëE˝ńRČ+®l±ÍŐMĽć{Ä5q´żh«ńý%amľ)ßO$‹91gÜŰé ™OO9ćßO‘ôahe-ϦsgJ¨ Öcű™T…·“ĺŘW )©»6?őÝHĚŮěWbłăŁaEË…“É÷J! ÍC”8vA0ÜúŠž&bť|·FRCçä¨'ňőěL§ßJŘhßeŰ29Ďőp„ á;Ĺ6ŚDĆhŁÖsŮoĚ|ŁçŞĚwŃD÷+{›{ĆCN†ŻőmÖ a^´*Ţ…v‹]şZRŮ/H»ý‚KLŚčŚ1}zöźűÜçfŇĹqOOxÂň>ëë^÷şôÁ~đÎ~ÁťwŢ™ÇFôőÂľ0ŻŤŹSbŽ öKľôKŇm·Ý–˝_Ćý‚Řě~ęjƵă;ÚT<Í7 }.z˘p-âűÖąp|Ç·{íüáRĺnÉ~S®#,»]sßײc™­Î%/łGç†Űęeş”˛Áă-î5čŮ_ĽÍýš/şŇĄÖ¤»ÄkÝ%|wřŰOľýxdgŃ|¸Fë7 öA¬vaŽ!ŽĺBÇMŔĹÖ#�Đč©jŔR^nü.ĘW/|Žn� {r©8.ąř8oř‰�¸ôőtł2Š€ŤgňDę˘{z®R2>đdţŃŹ~tL#ŕožČˇ‹~Iv] ·‹?[&óČ@™Č€.ěó 2   |�zhî“,ag§|>íć¨!Đ÷ň‘¤  tTĂBŽC4AÇíi-ňDś'?č6”`mH ™2µ ˝ĐÚ5ô”m,. ůֳĜĚÄ 6zŘć"Ť÷a”EŢŃŠ^$ěÎ…r«µAi=Ľ�jčQşß|óÍ™AěćlűbŁýxΰ $˝…hzc0Śß&ěÚ¤Ŕ5ßęýr˙¶¶ŕYÚţdŘęeŘ®ćĹp#´‡2Dâ›o’°eŔ°ăH¸‰c ĎüÚŻýZvµEyĎxĆ3¦SuäŻ='Ú=@‘ă•6éřb<.˙Ř1rDňQÔ6ɤÉ~Äߎ=%$)!`şřŠ C›ý*�ä{1x.’ l‹m2P/&Ŕč‚…§‘µID-ĐůIhĂ.c_jeŕĂŘ.")'†RíýKżôKů9&ˇŽóęŹ Ű•Ź6´í]ăxE?%éI$ĹvGćË«2`’‡ăŹ÷7ŇCn ĘÉĽńľ?nÄzÚq:ÉŘÍO¨Nš[&L»t˙ŇöIlý{:ĺ�O”r"‰ŤËü^ţĚÝé«o}ZşVҰ.ŢZW{mÂÖ ą4>™Ž«Ç†BĽ'źôŁż2m´4”qŃq×Ôľ˙/k‘#8mü˸(łěřďHü} SńĐtúAµ_ÝÁű|Ĺ+^‘ß˙â_ü‹ÉĂúk˝Ë]í‰ö˙ą_|[zĺO˝)�^1¬ĆęȦÉ÷)íó-ŔȰ8NGđŇ»FŠ€ű˘q»ďT|ĹfO$ĂeÄ͢0.ň”wHô�!0SÂ�î×íEŽ4ąő/§îÓxÖú¶^ś§Jî(พłć^>Ę{LO`ŠÄö¨«üµn±]î! ÄvŔlŰ*¶§÷;nHúUś`Ź÷Ćşš"čelOŃOŐµó¨rš<ćYę˝ÎĺGđ:“ ˛¦‚îÓ vm´kćŮCMÔůťí©|Ϋ'ď%cŘ óźę•ć§ď‘çpu8ĺ#Ř’pĐ1× ©|#żf´ie)v[lx.o  ·dŠŘţ^Oż§ŮŘŔ˝Ó©ú4ßD´żÄvŚŕgŃ÷čů`8Kűä¶ňąJÜčsżj_<:D ĽÔą„%)Ŕr7ŮiäKř• ¶ę­ą™č ôbc…:ŠcXĽG�ŘC9ÔĂčÝsňV±¨„‰ЦźĎćÁ·ďś\÷¤Ç‡JPŰH�딉ö‰ňüţ4™wÓ•9¶S$(D»c™ĺŻ×›r˛ţ—™0ŚeAňšęüHD+ëRÖě{{'¦:c^çůąek±-´SűW´ńşŻˇ§šnfË­ýF˘UéGmťę;Ëľí/‚űîß(Gçăű,z®p¬‡„˛7ŽW}&í2 y ’Ý‹ť,Gď%ý¸-;Ś$‡4dŻM¬ëÉ·Ć—„¸Îö–=ŤŚcĽ2GÝĆţëÇ^Ű ©$miŻŽ ćű_~~U<Ěh‹ĘÇ?ËQ^‹í’Ig}7#k)kęSi'3Űě»™ ­]đNX§j7ľó˙Nź<•÷”+Çr?µ—^ú-ŹH_ôaóďÍś żŹ#Ék1Ű/D˘ň˝Ű/¸Rérî<ěQOżbë˛Ëť®ĹýĆđ?˙łĎ4ëß2Î=‰2K}Jľ| S»öw|cO |â}ÓŤŢŐÎ!W´ }JĽx=^ézÚ/.7ŘčŢësŰĆ›—ľôĄćBŠ!Î۲.wrÜ?˘mô®~ĄËŤe3®0OŔ"ĆvąĘżýöŰŹčÝżÁhŔÁ=Ý–˝i‹§¦»ń3ă÷Şů ă÷:|†đÝ~ŇţľŘwűď6Ýë‹ŕş!Xl&śď@¨)S›ĆŔř§c"J2ŔČ -`( ţ-ĐÝ‚h&÷ úsťűČůcâA7e�hĺÔ»Ţ�Q÷¸ÇeŔ‘{‘Źç$WČ‚Ž)€Ü*Č™ j<ţńŹ?âCđ]ďäC}TůÍ—¸€0Ď«7cä®¶ t@˝,ŕŃ0íĆŁzá^‰|“˛©Żˇ)¸]ó;ůJ< 0×=1n9†żhO-©îGn^<ÔOV•ö€ ‚¨ Đ“$x:€—˝2Ä>2 łžbâoČo}ë[s\qb‰é)…zaOČ%aş!v,đŕ¶—„ŮiäÉ˝äÓžČŔ$˘6GŘĄ^!đXđČG>2Đ“zŁdŇŁ›رáwřwÜ8-‰.â µ¸‹ťŚó,żÓÎÜC‰zl¦í¸—ţBµę ‚ÓńÄ"mGźŽ}#n+ßü­KRd  =„°…7żůÍy˛ÂiR<W`7”CÝi'^ Č*SOr䊾#&t9/5Ús^DŹ6©´i‰&|CÖBVŰ‚6UČŔłŽ{+ĐkÜŘP|#+ůjĎzŐá=:(®Ü©«„ ő@[P^+z8ËŹúÜyRšaP°!BçÜtÓM3—ť$ôŤĚ”E;Ł dBźäeĽcÚ‚üßřĆ7fŮżíŰľmr˝×nôH�"_zĐKëŢ–ň$L +îQO÷(ßô7zÓ›RkzÇřđű9ÝxúäŽ`qĄËąar-,.š†8Ĺ;rńŘ,®úô ,®Ąt5,ÚÔ‚Ř×j’`ńă˙ĺŤ3 #ގÚäčuŐŔz˝ž‘‡Ižň%Eŕ„TŔýPĚA×9,Pc!¤HÚkNĹë^^Ŕ)»[?U 箟,#ĘXĘFÖ4ĺíÚ‰ü꣎LÍW™ă|.Hmĺ`\Kfy nĹ|.DLi«r-‚éŐ{‡mŰWŇ@śďŐgÓ´&ŕ>Ľ,H`mÁLőËrăQbF!Ôö3@tą‡kŃ{„ׄŰń3“}°•'t¬G–q*+Ó*ҶSѦ0‘Ö­–,íő~q¸šô·uőˇ qÎH¸*wšÂ0‡.a�ö3Ń'—××9Ęú0 AŇÂáÝmkg“óîŘ~‘ˇn+éh9Ź[{ľP9µżĎÉ@ĹΖ3y"ń¤üv aµŐ.bź¶,ëŰ=¶k&úłń9ĆDŽkëXŹHčŘćRW˘úę Ž/Ś'NťL­—€Ľ©Ćo‹.{M‰ä÷ś˛ľ]w](BŹÄşN¦Ě‹-äGĐ;ę<Î1Z"ůę"źŘĺSĆ©źŹóélËËqLÜŘßU•ˇoi"ÖîńĹ>O=¶mjŠ®¤[2DŰVqLŽ}X{ŕŃOką98ărëÝd>^öŮCÉĐČ«NÝ’$F™ąZëJ< EÁd +Ă޵˛®+á {Äé$đ΋!śâÚ6ľ×ŁÇÍŞ‡ú~ň€vqˇ>ě=†ňđšßGČiNŘá÷‹kâźĺx=ż; ˇ@ŽXg†É¬=Űw ˙ޤťÜhvąŤ‰í{tŃďC©ąÇđBLG—Ł·*e~čCO§ŢöUé‹>G°¸šŇĺÜ/¸–®-ďĂÇ–`q5¤ví?\%‹űöčń#X´éZß/s˙K%XlK/~ń‹36‚>¶íă_ÉD2¦Ą<Ї…ô4ĆĽ×CÔ—;A°Ř–X—€y°–Řv Ţ´‘iG°ŘríA#Xl@¸wxJŮn�°€Ň4`9`ž§/0*&Ô�w€ý1ä‚d ľ·ůBlŕŔśe ŚĆĆă†Í@6€9ä‹L"\Ôf�P�R`ĐMwří˘‚ ±?�•{Řæ…4Ď�ઇ"ůKÂ0"©I» ?‰úy˛:7XŘ0ŕôk¬¸˘‡ODŕ°yťkčÉđܧ[|�}Ú<Ő“ĎBŃ}? xPZcŮđ,!c$m ‹lő`¸îsaČý †z¸Ř6Ł3d€| ž(“öDĘpqĹËAć=ďyOn“'?ůÉŮëĺ!ő(!‹ťđ›ž˘ q±ŚčŘĹ0y ol"žBˇ,ô‹m˘+”űˇ}h"^ clQ/*�džHÎ&ndđĺ˘;űK±‘9|)Cňd�~/‹Ć‡f@č !ŇÚ„^)Đłád(W˛P»é« ‘·vţ¨?ĺSžcvůľ÷˝/“ Vü˙ěý ĽmYUź Ż}ÎmŠŞ˘+ŢĐVˇB *éEĹHb‹AĹ›hŚ Ř âgűËűÚ$†„ Ś›Ř#˘¨4J�‘.ôh5Š4R@AÝ{ĎŮßyÖÚ˙˝Çšgťłď­şÍ9·žçţöÝgz9ÇlÖścŚ9&()ß”G&䤟4DŮ@ŮÓ^k¤›:1'­Ů’˛¦Qą?™ž Ń9˛EI˘ç\yĺ•Ë4Ô1׌PÝV'űŢWĹeŇÎ}i#Î9Ů:&˛e ׏sȘĘ#ŃZâĽÂ}h{mYÔz‘í˛E }$ů@Ź|úB˝âŘD(˘/śŠ„Đr”Écóľ,âLÓ:ßPö¤¸ס^Ç 9¤N𲠿¤·u΋âÔ–>´;ŇP;mĎńoxŐę`qŔĐÁb,':XěËAt°¸X¨5˘@5^ÇRŤ”íř©]á]•­a«+Ő¸R Z#pM'Tgîú>leqÝÂtt×91xĆx3Śá2Ž=µ Ďi¤•ŕ„őÇľ’Íxˇ:mŤąuőw'dNĐ®ä©ă˘Ś÷#ëÖÁ¤ĘŻ–GuHä€t)ířŻ:+äÚO×r®98-P–ŚŐ0xš~µ*gŢ?o“ÎjLZÉz:µ°s˙vĄzĆÁ­ÓG Ąäm•ĆÍŃ=k]ÍńÉWÍÍaŚš­7ő©7”ηFňś…é©«žűű©âä.§…*ăí>ţÖÂxxl%÷íAź…A=ŃőHße—]ľ<®K_.Ű˝óRʶ։vl]ëFu$Hý 1ŔVăbXmqłrd©m¬ŽÁrŤjŔ;ÜÄą"mdCŤ´0DčXmøŠ|“•ůµź<yŞ?¦ÖµZnąŢ!fAŹë$ú]Ýňqi_Ü+wĘf)SÚü"B Ń0Đ.ŻŃ ۶tŰCśęťE¸öfoíŁ?”«ľ®ë÷éîşÁٶŃŮĆ|ŮO®ä<_C¨«[%RJú¤ďjyf—ąVŽKşj^–˙Öj+†íŮv߲زäČư˝KŐy]{íű|e•kŇ<”ĹÖ˛Ëő«Ţ˘í+BŰO@äWű‘áĽíE٧^o Űt”úŢ ˝ôOéźëĽ=˛¨iJłĐ…ż7FřáÚCMHż1ß*ŰńŹČý5¶{•um}y.ôÔ}šwd†“Î6iÜG˙¸îş;ŻŹôóŇă—_lĺt¤K¤Žčď’B•Ů<2ĘO•aÔg[í?Ҷjß–öĽě;fCä‰ú<¨ýr­gő9ąW§«˝ú¶6Ťăz±čoqŠ™ícçş}=Ůś†FsŃPgh'»ë>r]wj!ĂčM/»ü’î u°8pč`qĆ'ę`qiű%,äB’19ă ëë`Áčó?˙ó—öÚóé\‰ä“h€ç“Ě“ă`ŰÚjÎSY\Ź- X˘ŮOq±8X\ňś@aĹ GĄÁ�‰1ŤJÔF–Č€1[KdĎűL\Rh€LĽęʉ¬fćzŸ`$Ăp†ŹŐÜśaeuŇ—m8jhŕDť`őůŢđ†Ţ`Ў'×á{ {4FňBÇ‚8‘Řcę|`źÎ¬~'Ť“gqđ b·+|cě$/‰’¨ \ąBV{E4ŇKŢ^:/d€A0˙Č3a`çrŻ“î—í4pŘ ě˘€Č î(’†„.Ťń7[Ňă<e•pÜ)d„ˇźň¨!IC¶yáţ©KĽČżgżŐ:Ů&Č·:ŽTŇI<卡-](χ=ěaýÖ‰ľBz0~“ę Ű9¤ĹŮ&ih ôtśČ‚ßÉyLy~‹a<Q\(ۡ$íâS>ĺSúzIľp�bűVćs,é¦~QăśR˛Í×D©łÔ«¤![â6ŇŔ=1J“¶\‹˛€DçH4~Ď8Ăv¬´NÝ ä3[ŤdŰŇŔgŇF:H¶tAöČ-äČď¤!÷Ź3N1‰ŔP'ÓŐI€|S#7ňĘw¤2§ÍĹ‹‘˛ŞŃCâ¬@˘@Kť˘mĹi#[¤dÂ_eQĽiçś9&d9„K=şŚĆ’¨:‰|BYDČ5[%Ę2«Îk•ŞÜ'ź\+iŕ:ČÄQóiĎôE\' ę ŰçÄYŚüS/ů˗퓺ñ”}kI?Ä=qŽá÷<ŕ}>égăŮeËYźm¸NĽ¸mW”'u3«Óżeŕ´]•™pĘ‘:—6C_Ó+FvҲH˙,8^#§ fu +"rşĚ& üů;ĎŔĚAŞqµŤŢHĺÜĄ˘űŞsjë¤ZďŰŤ«Ásʸ6\˙ČÂĐuriäʵsMN[m #ŮpźşÝâŕ00črŻí>4ú wŔ€2 »Ą±ą5P¶ĆÁ©<ĺjhN^[ăx•M=6ÎőŐ@6¤al”ŞeYď_Ťîmť¨Ćo’ŔnXťóáŢ[çGŹ®ś_GdŚŞÁöHVIK˝WŽ"úťO«a=Çź:µrśŽ=5ŞSĂq]}.÷ŘîăF FµnXu݉Źě>W«ąŹn]Ž·—™ílB˛¨ŰĂÚó]őýHo\[‘t0®őífkµ‚Cäć‘ÍE}:¶0N_ŰŹ}/˝tńßßűÔĘŔY˰ť§Ör¬Î>©/c§ŹíĄăBëQëmŐéT‡—Zßk$ŤÖi#ýʼnŚá·ú6”ö›{Żî3Ű5߬†Ý\křmcqŻqţk4\{ü™ąĐŕ5lBűOż–ü'@•e±2˘ĎvßĎŤËV7‘y__ć‹íh0`ĺc˙Č€}j9ß#_G«# ˛' ĆÖ°mŃlQʧúŮ8Đţj›™—ůkÍ[ŤJ°ęď}ĘÎű‘â8¶§­ÍDęś­¸ó,ä'„a˶c‹ľiĄçŠěęÖEőąSŁ/L9&ß5š&iă^­QG”ÜkŐßoŤîUűĆŞŹKZ—[Â,ŇŘG/Y8ę¤]Ő:xÝNţiăK‡†Ů°˝ËPž«cqŔéűŚY7¸čĚm§[ĺ»FĐ–˛p‹ă†-ˇVe=r&Ŕlçß‘˘š®ýë Tź?Y¬•6›öReÜËkçUNmźZ9”k¦|#Ď6ŇL˝wëhXĺ;Ő^WŽ„Ľoa–ç%šĚFyN„Ůúdkľ{AÓĄ—Ţ„‡ßŇůŤ:Ýíôaťú9(hÜ–ł‚ tn¬d5E«źúĚ+ iy–fëövNr6ŘOW˙™źů™ÝĂţđ~Ńň u°ŕyŹ˝ôOţäOş?úŁ?ÍZú±Ţbń|µWÎFţ«Ł`ý{ 6§Ř›ę¸öl§á pŃ8XÄŮŁŻL łŐ�“¨ÖA�ă^ šY9Ďd$N \‹Ar"ělBă¨+Žą•–t`”ăĹőc|ŚsÔÁzŚĎ8T°"˙~÷»_ß `@ä;ŚÉF>ňFŘ|îuĎ{Ţł»ď}ďۧ/Ť…´Ĺůă<JîY¬öĂ\5lŽGa’­0Ř’ć„ÇŹq›kÇ@ČőI_¶áÚÜ?4ř;Dč�2Y ¤˝*Űj:0$ňâ^”Ç’†D‰!”óřžô"O®Kş“/ŽázäźűSÎĽ ^ŢuŐXĄWf-¶v@\‹ű`TGä9dŇJşÇb\Ť6eQÓOyR~Ô¶tÉ6&SP˛gjG¤!rŕúq�˘nňéFĽ8'räwęe’©/í~Ż{SľW]uUß)҆¸Ž@o|ăűď0hsý8  Úí‰WÚH ¸w ë5*ǦWňP%żYegę×'ŤU±D^)®ŹsB¶tá=NHÜ?}rĺ»äŁMż§Ţ%eGšÉ ůĘv7 ÓHŮe›Z7Ó®’ę:iČ,\„#}Fś¬‘¸_¶ ‰óL­/‰‰”lťA8†óŇćă0U‘=uś˛ =Ą/ˇÍ$ Ô‹šňE~ą}EĘ!ŇČ©ďä1‘+âěyDž\ŕđ’Čärá<ęňJĂo´?îń‡<¤żpoÚ × ŮËśď9ŻFk‰Č?ŻDĆ@QşWľŹPęDÚXŮö…÷8k¤ŤpNúëDGŇÁBű ‚­§"rćĚ+k[G‡j쪻şŠ´:ITŁV=/ת+źciť2—§nlČ­!ČŰôTĺ°tµJ8ó VôÎçÇv­=ŹőNŮfau˙aë~;†Ĺj•ŻniŽŮîę ě¤u<–wٶ˘ÎÇŞaş¦-ש+¨ëjÝŞ�k Oőş+y éÎçÁhşµxşěv~i#}„l3DÜčŁ( N ›‹tnô÷YEŚH4íQ}©2¨F¶ZßV+ÄS_»‘<Vőv¶ËH:;[–SŽç÷•ńzÖG8µ•č+§€c¬đ>R¶5™-ćm;×ÜÜ1€nmo/ť8Ç=:Čšün/VÄÎya!Ś›YŐ<.ŻŮc{ľ0ĆiĆíĂ>Â'{‡Ť8n FĚ®żn­uĺyu~¨NS+ŞŞAąÖÓ*ď•aŁsć˛ÝŇ@\Ű@˝omďą˙`¤\E˘¶;ŮX–5Ĺ?äi«ĎoÍc5Żî7/í4+á7NQă>-ičhvúڦ‘sćŇŮć!ÇŐzۮ܏lű:»˝ęSűűpělXßőFňůŕ$ł=_ćădÚýl!ĂŮćR¶uś·±ě‹7cpQžÖ4Ĺá¤:ż%}+§”±ŁV-·e^ĺŐ¶›Ą,Řşˇ˙nÔ1Ô·í¦ţÍ—óÔl·@âPiŐ&6Froű§šľzNun[ĺ#LćË-â¤SťZǡÔůľţí”Nig™sN9{Ôôô×[Ôĺˇ˙Ţścĺß÷çł8+žžG3Vا^o mż[9ÖvË«wt۹މ…ŵ×~h•%uşOËĽ[n9C^fÝî…+ő™SźIm˝¨uż>o–ŻĹ6IÔUĘľ>·–íccµ-Xí{Şłf}ćCëŚQëF-ݤ7¤Ťĺ!«{µ}aÚľ˘O϶Ťnąŕ(ŰÁ8 ‘‹…úÜ%2Ü>đÁ®:ζŻ<—ł˝6—Dp¨Ńë| µ˙\ß4ćPý<ĺ)Oéíig ĆQ\Ź×üŕî‡ř‡{ŰB7畱rň>ĄŰSßťN^v”Ř»ăô‹Ü! ţ3ľ©‹ŐφüŤ“Łoâ?aŘ1¶R©˛:ĺ7ŚĄTPVˇsN Ć1®‡2NL·ˇß!ŤCYVeáđ†Á6•žď97«¤cäŚC+Ćů0B~üÇ|źF˘°ÂůŐŻ~u_QáS?őSűßs<$}ĂJŚŐ>žČ‚{“6äĂ9ČŁ!Çđ=2B.‰:G:…lO#(iĹXIÉV$µă‹< Î Ů®$цŐ/—.ĺDzăđ‚ě1âĆŕž4¤<łÍ~  ä±uTH™“Ţä;Ţę”iĂéŁás}?ť˛ \™Dˇ”4®ŹCőĂx»§Q-(Ę‘×=îqŹîc>ćcú:•­JbŽ,% Ž?ÜHŻDîHéOt* äc3i‹Á6+Ź(®™EÉCЏ†qd' Ľ�©›lµ€<ÉCÚő8ÇÖş™(\Ă8ůĎ1Čś|g_¨xŘ‘ż´ľŁL¸W"«đJÔ~çülŻ‚,bĚä/2Ť#T˘‹$ęE­—yđ’ľWľň•ý;[şÜő®wíŻ‹l’Ę�“ţÔî•mQRřťďÓ_ KdĄyáZWW.ňŞ[aPď‘÷Éö8=qťşMůŞŰU9Ä«‘z'‹ÔAÚzä° ą<ôµ‰ŞÂuiŻźşÉµ˘<ÉÖ¤z§Čď”EîGݢ<){Úf¶nJjŰĘŠ+ŻĽ˛O÷ #mô•q0˘m"úPÎ'rEÝę'ýW¶BĽsl˘ňđ;2K˝¬d%ĺL=Ę`‚ĽplśR¶qęIČ…ňÉţŔŮ6'áSkŮÉádżÁăATŇź­†/7ďî˛3pżĺN˝Ţ•ľuaËĎÔiúÎŹÚy&|ěNżą?‡G-H;~Ý˙~]wÉNŰţ¸«Żî®Ŕék§˝ľőĎ˙Ľű‡ť>>†çÄŃŇw.YŮZzx®ŕ´xŹ»ßŁ»ŐGÝjň~őö·w˙°Ó'Üýî·çöu+Î~(ÓjđŘď»ö7že8 Ó§ŃňÜbŚp¶h e‡—Y?xÓN=@VwŰ©SČ ×?ľű»×żîuÝĺ;ĎDĆŽqĽá¤ö6ť–j,©Ć¨�1h­ çu>˛˝0ŤĂŇ·†»¶ĺ^ŐŮ •ˇ}ý€ĎSűĹgE+úе ăÓş>†(ŚąCřđŐI[U$Íf+#ę^áĐ[#\UbT#P5öµąČ Ţ+ßŐc[CqÍsäP ‹ÓŽÓŃ#Ş©˛:—|í6+¦7–«y/ąäřÂÁ`¨õ7–ç÷MÝąÇéc,źj,ťĎ»Ąq˛­?ůněřÓŤś+ŞĂË ôZ•Wę·vŔiacsdđ›•Uů}ÔŠĹvĂňňŢëbaH\ČoéO3[¬@¶mČuú<mn,ćËp˙˝b®wxîŐ×­Eý"�\·Śş’ů÷Îđ ¶­ĄQ±1NGű9ł¤ÎFĆmťO=©U››ÓŃij4•°r"Ŕ]!í,嵪“Cq,9yňIJ>Ćąd¨7Ăg—ť«C×ćÝŃzŞ\ęyŮ&ýDć©‹íJúÚ&űk,ó:Ô«ľl,ę Őc{•†jÜ_–ŐćĆbEüĽwСžĺ$rź÷ŰŤ,úćľŢm.ŰZ…ăfă>Ąĺk’¤‡|G1śúוzRuNŰicĹIŻĎ_7_öˇqb•2>ľ0L_×ĎłuH˝~Ť Rű±Ü;ő°¶ç< Ş‘?&5:ujpH+ůk;HۨQj™'RkŤ~XÓš2M9χ Ë6ş(Łn¨źóeD#ý¶!}_7[µ‹~‹‰â ·µ5ŢŇhŐ_­ćŮq®aŽś~c×JÎ…łEž9yU'¦Č ¶ZoFőbq^uľčŰŰĆćČA°í›6Kt”)Úç}t;éWxU}OMWËô‹S(§Qyěvě[ d–i«y.4Đŕś2ĘsĂUއžŮ׼k¤/¸ůŽŽęŞ»ÜĄ×ÝNž8Ů˝ęUŻÜ™TżÝďţžzž9>ý ůBďÉsŤíćŃ% Ű&bůé¬jG?ÉńD0ßKŢ,xC—‰"ö¨c¬©ů|Ž9ß$=˙ôOďďí$č ŽďčNîtç;÷óŕĺqÝYb6ŰőńBäűú3ë>¸Ł/ N}pGgL9÷rÚÉÂőŇĚ——=ŤÎ/ăyŐđ>ŘIvGvnź·|f¬Ář.cçŃół9gęžűŃŢĘÁ‚çöw÷wźUçŠě ßńßŃ=éIOEëşM\ťLĺńLž-{ĺ= j![roĆz­nŢ3Ž»¸h,0Pi0¦%bşDČ ~Św4˛4Q‚g»‚JV1ÇčĂoVńSyâ¤Ŕ÷T˘D9ČVYŐďř¬ŘćáČu3a&ť°ąN}řeµ8••ërŤ<Ń)8†:yŽ6Îu tü'…¬¸ŽC_dŃzN“Źăą.é&-1Š’ŇŁ.Ç‘ÇQ¦guu”H|é$O1čfâ‘H ś›•Iůj ™Ŕq1–2xa@“U瑿‘ÎĺxŇ@^x ĹQ!eÂýyq—8iä\'u"“@dÍv.<ŮvWś|Čw]˝Ď˝ů>ĺ—z8&őšűc¸@–qâč÷ç[¤#ő7ĘšěÄoČĽ ż”G¶•Éꍔ5†xęF&ŤüM˝äšäŤ-0^sý‘i_ȰŤL‘Čä;F˙8¶äźś“rB”!ßG\7Ž/8J0€ éČÉC«ÖeÚ$×KÔ‘8p϶Ţ˙éźţiďĽ@„™şĄK¶ŘŕZŮv9Ô4Ä™¨ÝĘ٦ýP×(CŇE~ă…HYsʬ€$Ź\“4gűŽÔ‰ÔëDbČÖ>Ü;Ţ›Ô˙Vĺ Çe«lA_—ţďřB‡ŽÍv*ü–˛D©”uÝއżłőIMC"6¤Ý¤ %J ç& éoăäEç "Âđ} ˛â&¤yĹ#hÉOm[”í r㻤te“D©Iε¸?ď)‹8Bq/ŇĺK¶ĎI_Y'ŇÇm–´¦ĽV+}Ę€äěM3äĐNR§&­Ă÷«‰Áô ¶»ŕ0a˙‰źř‰>*űŘäĂ×uzĐşG?úŃ}Ý>}fŁy؇ŻýH÷ÓĎxfw˙űßgxőţ“ŘC¤D1ňŁ?úďű>đËżüË{9ýýßż«űĹg˙R÷gög}ŔŻűş;u7?z|ú%«ů¶·w˙é§žÖ}ű·űÎ3óÖ“2zéK_Ţýń˙q÷íOú¶ĺµť$Ĺ(”ú¶×$ęL©ˇŞŚ®ßµýßď˙ţď÷‘x>ЧŃ÷}Á|Aßo'Íg+]‹ooP{ş0J–Yoőz×?üc÷ł?ű¬~\÷ŮźýŮÝ7~ă7öĎŹ˝đĹÝ3źůĚľm~őWuw«+Î|ďŃéŰśöV•µŢÎcZ5’Ô¦ăz9ëWă®VŹWB·Ń¦ŚµąW»ę´.aĘŕ»2¤Ä�^÷w'ę×F7lă±±Ü uŐ¶†ëfÜcČËöHŃnQ‘ńDî˝jűăŐĽUćŐčSŰu=6 ő>őď_ˠʱU:ŐŐŮ­ĚŰôL˝†c7F·Ő}fËńٰ˘÷D/Ój8«Fą!/BÍO®5džţ¤ˇľŻŚŰݲ®Î@óŢăToĎőëvSľĄÁyař\ž7ß9o«´‹ncWD‡ţĹ%ÝnY¶2+ăăb<Ú Fř~«’>}«2ŢÜ\Eiä1Ěs×­ś’Żv?×hu ©ËŐšsk™µçZ§ęµŇŽZA[ݦ Ąµ<Óf§ ›čWŽL[»”Ŕl]SŰČę^‘Űęů™ßâ7GÇsňę8Őć}J6ŐA¬¦ż¶A äóí푺^»w$ ĎÔíEnś3ř7v€™-ëF×;8Ě–ýĆhžłŐŤejľjű®ç¤Ď®m°íË–yßéo7ËwËţş4ź/ÚѬď_ă,“9hś˛ÝB]¬PÇTUŽmż×>ŁZjź‘ĎK§„#»úÝ”U5ň§lŁźĚőę}ç]·+ őďţ>qâÜY9w{{Ôűc»Í‘ÓDß7uˇŻ.ă>rÜŽŁÍŢ8X0¶iŰŘÔsľ:ŁŚŰŇlw9oŚeXŰÄňYŢ-ÜŃf+Ç…©ţ§}Öe+•Ü»:oUçÍ\Ł•Ă¨|(×í<ĎÎ,ÍqYŻš>°ŢçÄN=mŁ`Ýüňăj gS_0uŢůä-o~k÷?ţ“ýśä’Ĺ5lWÎ<x”Ű-źÁg’ÖkŻýp÷Ó?ý3˝®őc?fÍ‚ŚC¤/`‹íźú©źęmTŹ{ÜăşG<â˝®ř×ý׻׾öµ˝ěĐ#ÔÝ-ů};óÁoř†oŘÓÁ‚97[(ý×ý2 {"˝Ő±_Ű—ö¤<K¤Ď\Ď„çüösvôíŻX.°C_đ%_ň%ËE×·ÄwÝż^h¶[׎÷ĽÎaóżë]ďîőŘŮz⛾é›úqË:}Aí_v±ź€/P{÷™Ăűe—]şS÷oąË9˘F ŚM$ ‘±Ňę"ůéţuď2nçĎűýť±}"eq®áÔtną]€ŇÚ<vµű@Í3ö©|ĆE;F‡śĎuÎŢŽkFű:;\4TbŚąuĄoÚ<ĐhPYőß{/BîŐ(�1ŢR10¨e«ڏŮbŘăuXµžČśŁ<ŽŁB<©,1vÇŮűd/*a~&ťöŹóZAčűËyČňĺî™ŐîéHG&_|ŹlČéÄA iČ ?[6p~UŠdĹz¶QŔĚ5ĄĘu}Ú9?ŰVđ=˛‹Á¶g’ČĂx˘QdÍ˝b¬LyŽă7ä‡ržEĘ#ĆŕDËŕ•­9(ż¬XOăŤaśc8ClĽĽř­ź¸,˘€Ô§ îÇů1 '”?תĆ`śŢúÖ·öye;—{ßűŢËzĄIśK8yDů[ÓP°IG¶Gˇ3ŁŽÇI<sl¶2!=‰ qzČ1q´ŕš§)î™( SdîÍ}y"{`"ę-/®Ťüqᾤ´P|_÷M}â…,)kîŮF.©»ůťkĄťňő$Fęă  ň’zAşSŹzě‰!e‚I¶ëąűÝďŢ]yĺ•KG¨ÔYăiŽséáz´Ő8˙Ž8!‹śhW1𓎤!ÎQôóâř¬`®J^î—ţ/ŃrHGúłlg^‰ü)ŁśĎ9i[ä!Qn(sÎÉö4­’‹ßIú4ŇG3ľKôš8m¤-p}dÇőHG&Y…Č+,QňD,%äG ®ĂŔ“!q!?ô§”'鬎Tqá:‰b…÷OyĐN“o®—gĚ”SyO¤šęě“>2CŽ/Vń$‚Eď˝˝ó×=ľšńwoϲŔnT÷ä`Ń*G¦(łé$C}ý¬Ďú¬îNwşs÷ÜßůÝ~‚ţIźôI}ÝĹi Ű?ˇ  îţŻ˙őż–mś:ζeW_}ußVpŕ;śšB"9˝ć5Żéʎ?ĺąHôĽç=Ż»ŰŐŰ˙Íőy®t⤊‚äˇ}hŻD‰cĘťüĽřĹ/îŰ4ýĘ}îsźľo˘_B¦qŇ\†{Ţyg.ú)®Á*˘•…)SľOßÝ-C‘ośEÜ^רĘčöx^ô×/{ŮËvž÷˙¬ű‚/řüľĎ#_ô÷ôÇ8©ŕŘ䳏ř±Ó2®eüŔ߬ŔŕŮË8 ™!+®Ë‚hRóć7żąw`ĺžL29ľFw[—Ź Mź®’4dÜP¸±*”zÂ!ý í‘6D}#˙Ś+Y…Ě8–zFݤŢđ DÎG[FĆuźôHę2, :˝‘|c´:Ł;Ş7ר×Z98L‡Kʎ}¨Ó›}?Ţ®\­ó˘ŚąâĐS '}îůʸCyĆň+ă˙0ŢÍścś®•´5 Šën4.¬ăÁ8 ¬Ś–»ť"żŚWň92iÇóĹ*ŮZF‘]í{"çÖŕWĎÉçZV­Ń±ĘbiŕÚo™RŻ=ţ<_*”˛žďŹ—¨tő:+Ů·Ć˙ÁřµµŐŤň«ż*łÉëƢ Wç&ÚCňž<µJ§jÜďËvľŰŮ(˛Î5jyŐň«uŁęFB]y=®3Ó!sksď8=S—ů.[/´e6ĺ‘|µő Ö­¶Ś÷2¨Ö´·ĺUŻSť@j?XĎŻ÷««˙kşŮÄ`żµlU~C˝Hţă´“*ŰKăyÝb!ç%ĘhĘ s‘lg‘úٶÎ,Sĺ×Ę‘‹ľltüÎű©E}íóŇ·F2lűĂrőň÷X¦µĚŇk˙\ŻŐ¶űęüTűĹ]Jv>—yń˛Źâ[+c;[¤ ÄaáčŃÍ弓rĹá8×iW>noŻśŢ¦íöŠ´Pëm}öÔzx˛Čż˙Ťü,ĆśŃa¶uľ­ż‘SŰ>úă‹•¦Úc-Ż”Á¨=ab{ĽíEŰ>j;l•ęqhɢ8Ś´[jö‘=ćÝraŐŢĎÄq$ś:~hóŐ§1ÎeKśzŤzÎ2Ý«ľŻć»5Zä>«öĽ{®ZVqFŞ}Z=n{{ĽÝWíłk?ś:z¬×ťŞ8 Ě. }Áťşç>÷ąÝK_úŇ~űäk>pM÷gŻřł~.Ě\Űíšß™ďî§/ŔƨßU_Ŕo8^ żýÝßýÝî®wűţďâ/퉗¤ű@˘3§˝3·}ůË_¶Ł/¸¦×O2gC‰ţ9D_Pť-™C3¦î™¶c­ˇú˘ýĆwýńç ŞŐ1c>ç~yQ–/Ţ©w¸ýz'dÁ|QŹČgćůDgžŹ<ŃSńł�’y/2ĆFĆwč`nw»Űw~đúĎ\ť Ż{Ţó»K/»Éžé>pĚWžxˇ/`h¶µ^ę ş˝őÔę Ńe©_ÔÍæ/¨cĐP#Ŕd¬śÝ±o´ŃîŻ/íś«%mÝ`ýÖĎüĚĎôýă űŔW~ĺWö:ĹŔV!ř‡Ř˙]i;>)ě,RóÝ[ćŢŘB蟏?Ţݸ¨,ę`łvŢYIMCŁ#âˇE#K(~~ËÖ OGO#¤Rđ}&ą1‚b¸¤ÓJ„„PCŕ·“őlg�ń¤ĘŞnî_Cňs,ҤA ďi (—Ôđ;ĎYéÍqtŠ<Z×NŠ‚‘±CÂÝW$:©H?×ăÜ?‘E")$dţ‘M ۤ¸×!/¤!b"MňŽüř>)2&o”]:~ŻŰDÔAE&sQśŇYQ¶\űS.ÜŹt$j×&-Ôˇ?Ť$Żđ1Ěó°âX <ĐbP®ťQx!SŇđ”kŚáŐ8Ëő)ŻlŹÇä•=[‘#2CNśĂouëŽ:ŽcOŚÇQĐ#vČ#é¨[HcЦS—R^¤˙Ď˙üĎ{ăéä|4”IőÔM╲ć¸ÔŮ!Üď%KG¤D˘AüŽłD¶[‰sJ¶k ť’ßDˇá·l!R'ljN@ž8îuŻ{]_ž HČ_śk˛ÍN\Ůž÷ꨥc óQ4¤®Pq®H˝<G—í§›l Â÷ÜźöE¨+uVîC@^ńřĺwţ®{ů’źLŕ‘ij·á=[ç�÷Oôę=çP/â0Â}j”´ęĺ’1qÖHg >sĎl9’6G @Ţ8˙dűʉkĄťÓFk;ç8ŚyüĆDŽňć>qśarA ůóJŽGq¨aĹR–鯣´O;HԓھɂôĄ]eŕGZxĄĽëĘ)˝ăhł9Ř—}éëň|¶Üîí-˝—rĺ|B]Ł-d»+Ú9íŹhÚĆëľđ…ýÄő‹ľč‹z#0ýý#\Úó|˙ŰżýŰÝ˝îuďťúýĆe;í×~mé7ó7ű{Đľţç˙üźÝýî˙Éý¤ů°€Śp�@<ăPŃŇGýÉĎýÜĎőż‘/ž'űŘÇ>¶—ăźüÉźôçÓd;$¶ĎzÖłžŐ÷\ë7ó·FűŚwÝXů ­˘d¬T™Ťľ»!´†§)ĺL=&Q¦Ţő®čëcÖ‡=ěa}ýb˛O]‰ľš•*üŕ‡ş_üĹ_ěǰäĹ]˘¶1qdŇOß‹R%ŰűýüĎ˙ürM]Ąe+¨©tď•öŠň÷*¶ÖŮ©´1ĆM‰„D˝ů˝ßű˝ţĎwŻxĹ+ş'?ůÉ˝LYĹóŽ6É÷(5‘72yÍk^Űý»÷ÍýeŢ͜ʶ *ßş>ĚűnclmŐŕU¦ Nu¬°ş^VČn-Ť1xŔho1Ξ\¬"Íő!‘¨bř>d»BĘĂëńăÇFÎ +ĚF—č+GůhUeUŁîUbě«çµýGÝ›ulL\jľëŘ9roŤ}Ő°ÔöQő:mß1ĺô1ő]5şćúwÎaĚ5RddĂÔ©S[˝±Gžů| §¦E0D!GÄŔPšmE†­j¶űm60ć&ÂC-ßak#]k ­ő~c¶ŮŻž97:Źę�°KĄl¦ę­Ń5y«˛«eÚTkŹCt5ÖşXË*ő©uš‰ŃµŢ«2eT†Ü«Ę§M§”±9&2¬TYÔşŮʸ:U iÚlť­ ¦§÷Úę١:oŐąCk°Ďw9&Ńł ŁťO·«ökäÚŰqDčvŻ›7Ƣˇ°ŁFU¤2U^µM¦nóUŹ­ýFu"€ę\ßö3mźÖ>CÚzŢżxnĎĆő}ÎvÇ–ő9s>ŇrÉńKşy·r0 UÖSă°Ú×Ěçóĺ65ßgĘDuŔ€Bźqäč‘>-ŐQ¤ćyŞź_üŐĹ™gŘ6bl´Żé©ÔöŐnA˛¬ ŰŮneěŔĐ–k•ů©ťĽÍJ” Ô÷”gë8Ô×çĹż­íŐ˘ŁúĚŞ·r®ĆĽúüÎďSN€[[íV\%RňŰ·çę٤źiź—Ňo©˛9vühëK}¦÷i^üýI-łDZ®[¨ôéîä°rőčř˛ }Áóź˙ü^_pŐUWu/xÁ z][ôĚo‰âŚľ�C.úć(Ń|čCoęçĂ\›ą2óę=ó»ßú­ßęďží0ę č÷ŻĽňĘ^čűđ쎾€öKľĐٰŕ�:ôĎřŚĎč^ň’—ôFtdŠ~5c,~gľĚ<›ů6×ĺąµ®@ěÇÔsĺúRź˝{ÍďĺJ>ČůeÎËęćąä‹|faŰ“ŐW}U/‹źýŮźí+č©/äźą0şęúćĚ·żýízť*ѨOČý9ĎyN÷‘ë>˛cđ25ď{?_/$Ăł=iˇ І0ÜŁçŢO_€.§ ˘ĄFNĺ0ę özŽÍ…|`‹<_Űl×ú˝@]dÔ×ę\\ăżý·˙6r°¨ŰéÄΔ(lçúń,"Ž-éĆÄEă`ÁĂŻČč¬)` TvY"#¤$,?çŃ)e@CÜmŕČŔ>•—kĆ1ĘÄĂ3F`ŢąOVäçş1Śr­x©Çą�E2 y&tśt”¤˝†&ĺÇLęŽ/¶— ¬,ĺľYŮv|±UIŚî¤7Ű7$/ŮŞß1@FC:¸?Żë„—kÄhÍńYÁNžÉS ˙Ľs^ Ţt~ąnĘ$ d‡ŤËąF‡jH…(/‘'ůçqF@®<¬cŽ!8+ěłĺBś6Č_D5rG”7|Çq”aÝň!†ůLě00xäˇĎ±Üźr‰,ř Ü'ňJ}a cn˘)Ôh*9‡W¶ŕ¨ Şçă0AŢ€�i' ‰Ţ‘˛‡şĘž4pí”G¶ÍH™äÁAú˛ ůʵř›ßó`¦¬1<‘®źýćxđ{¶á…Üq(ŕť‡éLů'ÂF¶„ÉĘl7Â5#‹8ĎŽ(DąnÎ%¤…ľˇ–d’€:Â�/‘c˛}K"KvÎŹ ´Ë”GŤÂő(„Ää:ČŁ¶ŹŔý¨źäŹzË`0Ž ‰TB˛-ňçZ܇tÔhČŁ:ŕP–٢‡t'®SË1}M¶2©Ńyit¤ßJ˝ĘöăąN"gä|^ô‰¸’ö›Hu žúÁ9üÎ}¸_¶>É6;)sň„/icŕHůe Ô»śÇäOŢ(RH3×NŰŞ“¬¤ ¸e‚ĽâP’ČŮN(_Č?Ó8Q¦é3S7¸÷Š#PUśnö ŔŮH{MÂĺÂł—$eV_ł±÷í‘ű%—ܤ{÷?ľ§÷†¦ 1™ĄŁťóś /e  ť–޶…śzŚ"€gČ—~é—ô}#“6dÁ؆~•şŹł×ző«_ÝŻJ&Ăl­1µmŰA„>‹ńů`K^Q äYM_Ź˘ŕ_ţËŮ}Ú§}ZÉâŹţčŹúg#}N—˙ę_ý«~bś•ČŽßčËą>ýÇÇ~ěǬ ;Ű»CK×ITĹvk”˝>T…H˝F®˝2dÍ—}Đ?â4AţčgYEA˙JÝa|ĘłPYˇC]úĄ_úĄ^±Ł!uE}'}.u„>öéOz_źc-äÄ1<{÷˛%Í”1±ľŹ3Ů J„ ĐźÎJŚRä ĺÇ‹vę 8ä—şB]B¬ľaśŁĎڧ>ő©}»Jı‡<ä!ý¸ĺIęR˘ŻˇŘ¤ ŁÚÁ‹čQŤ¦ů 1h@»bżR ŠU±XŤ­1¨Fé0Ôµa%a]ů:vtu!髆ň0Ű- ň9y‰ŃŚgýÉ“łĄň°>7›ßl×jéViYWşÖĎÉWäP ;ŐxYűŞ„ ŹpĆNŮ5ôh•K-źę@±—á±5ĘV#iʡUČćs]˝[ főžĽgQ�ý c­Ě×ZŁ;1,Ʊ±ŃxĽ’ ąo.ű»!˙[ý 'NžčçŠnŕhżŞxscsT/«ˇŻ]!6r�Ú^}Wť*)‹¶ÎvMý¨ő¸ĘĽĘ·¦±­SĆěĺ8fQď©ĎŚ"ăÜ?ÇÔgR5X®ä8^Ežë¶ újŕśZŮć+ó®)Łf­“m4‡Ü3Hăçmm“Cîáză>čÔ©AŻP±âF®™ö5U78¦­Ď™+Ô- r^í'"űäŻ?v{ľŚDPÇ­Ü{‡łn{$§Z^Užů˝Ü“Žzźz<¤?®ĺÚęßjyUxňSŹ©ŽC$Áq$r_Ţ{ŢŤäµŃ_ks4ďĚĽ/ۆ´©ł1n%U†5_ąvô'OťěűŹ*»ăÇŽŹPT™Źň5;ÍŐ6ŰOoŚť »n:BPęOm“ă=˝ăΑÍńö3ŐcŞŻĎř**µ>¦N.#E~čÚťţňبž¶Ď„ö^‘G>·ĎĘQźŘíîgÚ±B˝Wßwä·ó´"jtÝ.'—ÚfÚĎËűńLŘçż–]ígň7őâ䉓#Ǩԧ©~¤Ć×áyVűćŤ iTjťđő<{c / î± ş=ôŚĚŹ˙Ĺżř}ţĐE_đđ˝.˛ę Ł`ż ľ3gÄ)Łę ĐE0„è/@?Ŕ\c62c®:<ç}ó¸O˙ôOďůČGör`·Ît Ě—±/0'FžĚł€‘ľ�yrŹ˝Ýęw•ý~»!Ôţ¶Ž_ˇ:ĚsÚŻ}âwôE/ëu�Ô tŮ_ř…_Řç}*ş”8P—~îY?×›±BňŹ®€zÁB ơ?ţă?ŢËă#/ćŐ”Á]îrŐÎśůA»ň=%‡˝Úéůe<ĆV‚.u¤ę „Rőč¨đ°—mŚÓnqčůŐ_ýŐC§/"öťŘ-˘§?Ôą}aĆ‹•,Ęöłź˝çu¨«čuÖ‘Eű!÷Ęý[Çíósęuě̶ľx¸h,0ÖŇ!Đ ¨pY=ť°rtŇYa¨pTĽö2™ĹIGN'zVýsŠ:÷¬JF9ÇŚş˛źtäţYŤb=1B ÝB…¤3äá@GIcIŠ“E&Ü:cČ'ÝéXpň ŁäÍ`'«űbDĺÁ”m’ŕ~ Uź­;â Ƶ#‹ŞÔCć\Č_śGřžĆÍy‘çR6ČŽ4TG®ź¤Ny$l?ç0XCÎtU†|DZ”Y Rţ\'É?÷bCZłŇ?×ăęE¶A oŮ®"ňĄLÖ;䙼aLŔˇ�Ż2VrLŚöqŘBŇ•-]˘8Éä ™Ą>’ä2C®¤Ąv^™°#+Ž…DvHťáZüĆő“GĘď8¶î“Ł8çǨΠ7ŰÉd«”)'$^YŤAűĽ×˝îŐçŤeÜ”#÷¤®ówś tÖč)·lI’­L’¶ ë$żŃf![¤P/˛=L"Çd{>Ón(K AçS7(ŇU·Í \ŁT©N75 QĚrOގ~"ÓD0H¸8AľČ™4§ÝE1ç&ŞJĄ|V‡Ň$+F¸.ÓůžëĐg¤íE‰`B~)CŇÖ+~NYU‘ÁL˘Ç@‹Ú~úÜ8q eRť6b(Š#ßÇ!„tÄiŁ®fB†‰F”ż©s k>Ţăl•¨*ŮV†vÜyĄoÇŘ•¨¤—ëRž\7Ń5âÄ}łÝOę#ňĘ}j˘XŤB…{#GŇEţs­aŰŁă“J"9ĚŠQkú÷?V+§×ťs> ­Qß?đv¸ć}ä¬D‡b»˘ DY—gUśéh#QZŇ/ó™ţeąZo>¬"ćąůyź÷yý8ź•Č"ă´ĂeF~x^ńÜ'ż</}m›>™ăčO9-QÁ8'‘m€ßřţ»ľë»–2F–lˇ˛4ŠĚç]z˝>űŞńˇ}&^ż|îvŢČ}æ±ç9Ę"x1‰§_EŃ<â›-ÜŇ's]>Ë·|Ë2ÝČeA&ËqĚsľő[żő[—«Ó§Ć$IWÍÓ(Ź‹}ĺ/ň¤č.H7r!„,«khK(?Äů9đÝ0¶KČŕ@tlÁóÇ<fąJŠgŃAeJ X_uĺ2Tcs5 †–ńV�ą^;o±ZuŞ*΋cs]qžń^ 5Ý´dśŇţ–q@Ć6_%jľrn[O«Ś–{ş÷ßoŚ”ôŐ9˘wz¶{cqísŞň¨ĘŻ5–E~)Łj(mWMg~™Öň^†7»!2DĘj¸Ö »Uą¦ŚZ#׉óy˘„!ŁAÖÝd\ĺwUŻVň"SŕL1ÜgkY7rěć&‹†ó•Í‘Ű:ś2¬ÁüŽaŽŕ1"¦śę9Ő <vŔG/¨çÔôäř:¦®}|­ăŐ8Ů–YćuËčrďÔá)§ \ż¦/ů®mlŞźžŞC\3Ńb구ë˝bđŽń˛u,©ň伹pĚId¶ˇŘZÔŤy­"\9Żę Ú2o˲–i! }PćRü]ťÓsN[^ŁşŢŤŞrÝzźáo" ĚwŤ5rŻşr?ýKʵ֭ܧ¶ĺ¶Ě"ŰŢń`˝kŞîć:ą_¶ťX¶›íńÖ%<ßăԆż+Îb[C¤™!M«12Í6°ŮĆ”ëfĎĆ„óXdç:Ěł$ýĐŞ>Ť·Ö‰śÚţ˘uÚŰ«E¶mË3b¨ßcYŐľĄöËçg7 S67§»Y7Žb“˛oÇVµ}Ą?kˇߒ÷,ŕá=ŰhŽźă-żBęwÚWÍS•ëî>ľĺ{Ę©§:Ôv’üĺú Čą«~­ë2ĐkďQëíŇéfQ?Čϰô‘aŚ2ÇńâÔdx6mtŮć,íI˝ÁAć°ë Đ[ńüů„Oř„e˝%t=zÝ´ýčʨÇč ŁMé ęA‰t‰ľ�10GÄůüpę fýś &Ž"ä ÝúĘ“çxňŚN”÷ؔ賭qµE˙ÍßüÍK;sBrÔçDufŘ«z<×±d}VÔ>Ďč ßô¦7÷ Č źř‡¸/ç,V$˙±Łőš»!ZóSžň”ez9ގč ĐťóžčßčdŹ˘_‰Nöň›^6™×ł%łÎ¬[FňĂ6<żó;żÓסŞ/8qb¬/Žýr"š#?®A;Lú‚˝ 4‹Ăë÷|E°Č9‹ŇĎ”˘‡ŠŤ‡kĐß^:Śî9 ‹:ßň?(\4Qž$´Ť+Ţ;qČę v`‹Á ăńĘ+ŻěŻ‘čëxĎJuÎĄâdĄsś6ň°AšŽ c#†ävň5ť tŇBX}ÇC!ˇôcČĹčG‡‘(Ü‹t˘��é§s¤“Ĺ0ÉŞA ţ48~c@DúęŠů<|łĹ@ !ĽHs˘ÄIďăµ/1R5df5y¶ĂĂ–| »L@ۉxV~snäLšř§Ę‹<ňđڧe}&X©Q`&uŚě¦H箋q$Ž\‡W îôámË9q®Č<rň@Z97Ęęů‹—YUŽd02¬p^Ľâ$AýâZś/ŢÔ[ÎĺÁIÚăXCp"'PÖQtŹ”I%őšt‘vÎOH8dNyđ˘LąW¶m!]¤1çČ™żĺ�' Vźâ”-LŹť¶V•*őaę~ś�Čs˘p~"ĐđŔMt‰L´ăhg*Ľ`‘ŮŢđ†ţzźó9źÓ·ĹVŃ…PVuWŇGŁçłĺL A¤rLdŕ8®‘­NxQ?Ł|Ŕ`ByGŮQdő!K2Eţ Gů#÷8kÔh9W8é!Ü1¸iŁnS¦ĽŐ&ő([w¤<’Ž8Cpoę#é&˝ŮN%m˝:pŚŞ|FĆŐë’ňły‰B+ŽrŐ1¬®@Śśč(ĂD/Id–Dm©m,{¨“\;«h¸í' ‚ů"N.Ő‰Ą*dâ üRź¸&ő‰Ľd{©şUPĘź2ŁĽ2 ‰PżBíÚ-´Cú»Ég™\Xęuęsľëşqd–ÍM´%[˝˛ţ† ¬o(´Ń‡>ôˇýŠŰź~Ć3űULܨÓ8~Ňďł*žľí Ox®ĽŽ# !ˇBéß©ßL„3ˇŁmĐ>ó°Ąß"lŢÂú<ëe# �ôí8X0�ú6Ú4_úIň‹,qü˘ŹAF|&Ú}%ňä7ö—eÜF‚ł2Ę8ŕďvž1w¸ă°*«"cŞŢÝ \ÎĆ+˙ U–Ôß’6únBSĄäS>ĺSúľČ3raß]äFH”śxxţłB‡\cČ»ň%ďČ ą˘°˘ďäzŚź©ÇSůŘË0·4"\€Éh”¦I °•ĘŻüĘŻôc÷óoţM߆â¬G>YéÄŠžS(Q/§¬xfˇČC~qtˇ^~çw~çrKľF-jlĚwÓUđĘĐYĎŰ çĘ([ SŐřšëNŐŤ8ç{®Ő®ĎX-m!ÎŻ­˛˛R7çŐ9[îGʎ°Ę!ďq"HľZăYuÂźrx¨í·Ę˝c‡Ľmôň«ĆĄDe ë˝5ŘWClŇ|LpkLú¦ a5˝ ŐňÉ|&2ŞQ'"˙kwĆSČy0 ŰĺôQëĚjŚYű˝­Ą°Öˇˇn98 F·ŐÖ+SŽ6ŐPŘ–/˘iÔ±w­Ďµ|ăĐŇËýÔĘąĄŰë8çŐ{WgžÚ>ŞĂOć@1RçďĚ«ůŽůŻĚCZ`ťăŐčµ~TŁc­+Éój‹—SM™u»dŮÖ…*żä?F˘6ŇBÚx®łŠ‚31ăt“ůz®›ąÚććŃeť®ą=ŠTŃ7"ŻZ^ő÷äzW·XA!yK}Ś #Çţ÷nŐ·ö÷Z¶őĆ(ÝÍ'ë[uIş†(ˇ§ŽHă­jô|—¶šúYóZű˛ä©¦#2ęŁLŻŮ8zW#ÄaYßJ9öůíę¶AµŹŚú´D$ŤŚkŻe{Ś›G6G8xQ&uîž­Gů>ýmt—ś_# D6S‘!ŞS ÇĄV‡§z~ŰâÜź´¦<¶¶·—ýU×­ôP5ŠFŇsj§înů$ µn¤źŻýJľË‚´Ú6ŁkĘ6­‰âšm@ŰMíüŁŐˇĺ^µ˙¨úµę SŁÓÔ:;§í+kú—c‚ť:4ŰXőÝ›“ŽicY¬Rťn˛H˘cŐľ/‹eZÇŢ!hcµµHŇV_r0¸XôÔąźţéźîőeD `îÁü=Ű€2ßřŠŻřŠŃąµ.V}ÁŰŢö—Ëqč ¨çč,ąŰ?r?掇S_0čűY\Â\ ť#şcňN9˘;@/MdŹ8 ;ćÄč¨ŃÁÜâ7ďçşčIáwżG/tžśKd śóăx‰ž!şÍČ»u<¬u¨Î«Îuüž÷vĽx6˛ ş�ćżDő$­ä = ő™ ô"l/C„b¶aEĎDž‘[Ş@}žćť¨'l#‚Nąp˝?řAÝ#ő=ÓP©ĎV"žüň/˙rŻ/ř†oř†e´nô´/ęú(ô*<cí*ĺ|‘ÇaŃ0FűČG®ëÚ¨äŤ<’÷8‰dńÂęÜ­î\’HÔŐć±îţŘp~ŕ~`Ýâ†ŔŘ46Ç˝îw6iűć{Ř@°ÝŇď0^>ťvt±ŤM.‹tÜŮ‚�čLč0ÔaĽÂ —pLvyřdŰ‚(#ëŞĚD:Ŕčq4Q1¨¸(Ňë ű:)âEǰÇýd$’ ?+Ős>÷go)`đpŹ{ÜŁPp”˙˛ÂśF§ ŇŠŃŞG©Ä‹ű°‚wÂśOÇĘť˝—Ň ZţÎjőä™q-d@ç‹ń4÷äţ5úB;ůŹ|]"2Đř'Q¤-+™Č+éă7”a®‡,87aÇbĐĺ>\7°µ1' YIËo\“t“gö;ăs¶Lɤ›ňBćä…vŚűW·öŕƱ (yŢ+QZ9 # t@śĂďÔCů­FĆHdňË})+~C^I#eG‰ě3ś‡%ő,ő˛*i㌑H%üÎ;iáÚYaČ/iČ*IäL=IÝN´Ę#J.Ň—‡{de/ÚůˇNSŢČ“:<©×„Ćf‹śÔoÎÍ"´™Úăd±ś2#mu; îlë˝:p<†Č Ł" ăä±BZb„ŇIýA&q˘s_®KßoÚUV×ÖvByp_ŽA†<s-ţćÚäµ|9źňJt§¸r§^·Ń9#ůA&¤9ý[HH5ľăľČ1홲á=2l•˛ `8‡ßčW¸ß%šeśăH”m›Ą§ę9&#Hęe…Ě9&[˘Ô~/Žt„á'/xár/Úhś6â B˝¤Lâ,'5HôP¸/Ď &4 ČąG­÷°ŞdĽr5 ó8_‘ÖD§ }Č)Ű•PGă@Oâ´•¬„÷ľëťÝ?mnL@Tl&Ť%ݰjeő|ŘéS>|Mwô&·ě.$QĐ}ÜÇÝ˝W”0ŮbŚđĄ_úĄÝ˙ř˙Łűľďűľľßý˛/ű˛=ŤűŔęÚţř˙ˇ7ŽÓńŠ‚ĎýÜĎí'‚l'rŻ{ß«wD¤Ż9ŚÎQęҏчЯŢéNw\Ę>ĺűż˙ű»ű±ë#7° Ůဨžő¬źëVěć9Çߏ{ÜăzĹĎ“G<âýs>‹°Žżő[żąS>W÷ź«q7íjČ„|ľ!Š‚á9°RXT%uhŤáŔ8đžäńĎxFß2>zÔŁµÜ˛ úK¶â˘O%Żô“˙ýż˙÷ľ.>čAęë }ő(«ľř‹ż¸WĚĐ_SoąF«¸śú;y»Đ}čÖů¨Ěhgä›g'»/zŃ‹–†¤^wÝGşź˙ůźďź3ßôMßÔ×=ĆOyfsr¦>ëYĎęë)çń Ęrű�ęŽjെo ’8Q¤®ív2ę)b1ÜUcâ”ażŁX5ŽfśŁVMgmw[Ĺ0™tŐq^Ś*\;Ć­Ü'iŁľg źńHŇăPţ”¤Ý˘]®¶]¨ĆÔŞXY­˘˘dŽ™şRĺRÇccĺ̬_˝\WçćÚUέńk5^VÖVąL•wîÝÉcČ«rŽA+ÇU'‹vśť[Ń×f{»á:›Łą×Ż!AęFĘ9Ű®ćU›“«–kYŤĹů>ĎÜÔŤę±4öÍvGŹhÇŕą×ŇŔ·8&ÎŐŐřccŽiŤ°µŐt×>ż~—4·=1.3öĺu5V‡…¬¬oŤśµŽ´u¶Ę7XµŽ´TçäÝF“ČýjľkݨĆ㡼ňÚZG9¶F&äZť‡ŚŚ!ęř©öQő»ÚäśĂń<¨ŹĚu5ýGĽTYÔ<.Űýö*OµL‡H/q˘"TĚŘiˇFçiçc1Чı˘çá78cŚŁ^$ď´Őô/Éűr%×í2€çĽşÍË2][«ńR퓾UÝ8µ\�SÓśńźł}j\Žmµłč Q´Ż+ô‘;ß§lj]Üîe8VÉÎçăč6µďhóš|Ĺiˇ>‡Z'Ăäż>›'•·ů¨ĚRĆŮb—Ľ`ä­Ď‡üŢË!ÎC'·–u:r<U˘/ěőlF>‰ÂEťf'¶Č˘ömqPH~ës¤ö!yoź/y¦ťŐ|Ő­Jjť«ŽŽőŮ´lÓŰ‹>îČXXť>ęöĘ©_UŻ0´Ĺaë™ę°R˲öU¤őv·ąĽKt9\N}ÁÇőŢč Ďł-$ó·ďýŢďí瀏üă»!ÓÎŁU_Ŕ|}´úŚăĚťŃ 6}Aç#ôĽŁO_EŰ'răţĎ˙ąűŻ˙őżö:Č/ú˘/ęmB€Ăýsžó;˝Śł¨öă?áăűĎ}îsűţ‡H‘čçU§¶‹Ä®ŔďqĚj©ó‡vŚYrŃť.íŘľöőµ?®Ďhô(Ô¶ ý‰źř‰^?ĘBGtąĚwŃť˘ˇďcËň…,Đ# _ .˛+ ^°+Ěç»·r˘NQß%ňŔ…Č+mz2łn<öăÝ1yC,0Áq$sJ¶ˇeĆ/üÂ/ôĎ–oüĆoěëv—Ȟ粣fŰ"xg»řţ~ÝÁEZŻx:ˇUŞ2ź‹\úH7`ŻZǙօú,N]Kôý–V—…ŤÝדźüä>Í u˛ŔÖ{Ý˙t9ÝXÍűoüĆoômŰjĆ+§#Ďëíă rş’źťćołÓxźíń9ŻŤňž×ćâ»ÍćĹo7ă}gúҬ§ŁŕÁU÷˝‰ˇ•ŠG#¬gtÍę¤%ÄđĚ0´sť¬2â!)ç3P¦ń$ ť^BceuvVgĹ"†y~űüĎ˙üĺÖµRçaÇyń8Ë1ńŞ'Q^đ;÷ĎŞv”Ú1ÜqRxš˘ŚÍ sdP(j1 Ž y‘ž8ŠĐ!Ô ť6"ŇP·üŕţË}1šĆA€üFŇB'�1 cDEfW^yĺ("F…t$Z@$¬VöČĚä‹{aÄáoŇľç„H#i‹q—tP¶‘Í”#FyfÔ šgÉgÂXW…Ç'‚F É”a"Rd ĺ€<¨«ÔYň•ČmGĹu9ŹňćŘL[YÔS" D­HĽďHÎGÉOą^¶u©äşŮB„ëđu Y§nVĺ@śT˛U ×E8Xđ`Ś3�reŕĹ;é&}ü]äŐÉh¶đÉCŠű%ňG”u Çő0\±ş–xÎá^qtŃťi˘ŢŇÖ1‚ÄŘ_ˇţp]Ň,’>ŇÍ€Ą®j \Ź2¤.ĆŃ&ŠĘ&‰¤2IűŇQ·Í¤5Ž1QĐs턯ʲzN˘mÄa‰>0!ݞ§éHŘ5úGd™ýߦdAYÇł’{Ć‘'­‚źrĚŢz™„ Ëvt$j˛&,ł×\uĚJ@™fE]´Uę^«¬ ä=}ż‘×Dňáś_·"ÝOyÄs<yJÄ”´ő(Ţ1iHť®˛ üô[_÷'Ýö©ëú­BŽ/ö¦=rdł´©aĐ˝RďžÄ¶ďrvh Euňý¸—JÝůĽ(ĘOő/Â_÷‘Ý?|˛»ËŐ˙Ľ;$s<ąŔLMZÚ Qž§ÓćŮcťą*ýW ­bşUě·Ď›vÜzˇ”`{MćŞR§Ň¦»x†ß7vúóKűľ—}čĺěÂ3đ×~çĹÝł~ů—uŞ5 VG €u.T FSĆ”ęđPëă Ć^őůXCµGńXŻ_ÇŇ­ˇęĘŮÚfrť¤©P“¦ěCźůXŽ«Î5­őľ{Ý+´FĄj«+‹«’¨^{<V\­¬Ěئ¦ŻWĎñÓ¬Śűąf7™·PóŐʡεęqmä†ŮlHs [ú˛]Ž#ü†b72â¸aĽ'ă!AŚe­a5NSŐ0WÓŮöC)çęŃËĽö]ŻĆÄ©|µrëç´ÇŽŚęb5ŞVG•:·¬éĘqm;›2$W#u˝VVîÇ"cö¶TÇúl©†dČ\¦Î)k™UyT‡đ—ô'Í1÷eĽ#çy79ŁDFµ>ĆáĂţ`7la3_D¸ą´ŹŠŇÎ%’ćŮlľëąZď•tVg‡üVW~N9´$]™WÄÉŁ¶ĺ(1S‡zçťĹ5jżÖö7DtČłŻÎ«Ş3SŇQűÉŤŤŤ’÷Ů®~8÷«Ôčmşę6/ů>çÔgG•Ѳ>oŤ·•"O Ű]Ôű ‘zĆÇVĂy®' ŽËö¶í¶Źµ­Ű??v|—ăX_¶ŰöVăçW×Ë˝ęL†2›őŽaÖgmŐ«Ď÷âz˝¤źt×6\ĺIÔęD۵ĺŢ;;ÎW†¸Ô×”AŰO=OÚµť'Ý}:xN•ččkäŮíŢ‘aÜ7¦ük=¨÷J™Śó´{%wu©u•ߪCEú5)éiźťu ”8ĄdX^µÜZ§ !+çŻUš‡ďľü±źŘÝćV7=-}ÁŞl»Q·ďrvP_pđ©úě“'Nőóż˝ćŽťôńé§Výí~5wiőuîTÉÖ⛫ń˙^Ôľµ˝V[Ěç{9t\ćz•`x~©cŕÔ#ž©Ś‹>꣆mPbÇÁ> Ř0łpsŠýŻ˙uw¶‰}—{&ryČúŔŞúýźřÄ~‹›lD$‹8I„ýęÝłźýěŃçĎüĚĎěm­Ťé\“>óG~äG– PŻ;˛{�—Űy]łxßj^óĹűvyÍË{űęöřĽß{űwËÚ'ďEÁÖ•[p X4:*p<ť3ĄqVăk&HY]Ěů1˘aç{^ž1R‘¸6Ćz*÷Â@Z• üMĄç>Cd Ž11L’&k™¤% ÂilÜ+«ŻłeçÇy «˘ąi¦A¶+ćI÷#}÷»ßýzç�ś-p‚@©W'rŹĎqR!żäŁ'éÁ�I:¸'d›†DÉŞöş/vdÁ‹ó1¨c\ćzÜ‹kdET«´á{䬳u÷ m4n  qŕ{ĘCt^jdňČ=ăŔB:HO;(ďşBŁNҸ‘'Ł„cQH˛Ŕů#ʸ„FÍęu>cXîĂś- m”+e–t°¤ŹWŇĐvš|O]DŢ”-2ÉÖ&¨9‡ďxq.é }qjČöČŁw âśÇ”k¶[™š,×t¤LH÷˘N‘GŇ:…,¨1´ç{<+ńŔĺ\ę'u›aüƱ´•Lnëł}&: yËĂ7ŰÖd äMx6ĘOX<@cĎ6”G"1^dË˝(Ż˝<î2iŽ\ë^zĽEú‡¬Á‚<Ó®bhĎą‰‘­s˛ęZ‡—ú`Ď}(“l!B:żĹaŁ®ĘÁA†cqH„Ę-ŃNHi ?˘>Đ˙p<}Í”#ůö‰;Q*$Ü™ÇaßČéŕúŽ XKúkdĚĺA” Čŕ˘8—kßl;’´Ĺ%Q‹Ž3éĄňůă|ę÷§ź!ŤäOÍ8ÜĄŤĆY®N̸.˛D‰L“ăqţK´‘ČâÚľo§ż9µT~ĺZ-ăÉŃxĹś_ę¤ ź{ĹsVőű/ďL¶N~¨Ű<zy׳EB;Ů„j¬m©JďýúěIÎęPq!}I5f„şâĄM_ĆEi{ĺ*_9žßŽ]çŰť]깣Tk=ŞŠ¸jȨ†‡ú}®Ĺa»r7ĆQڇ«Ü­°­Ă­/F˘ú[k›rÎŕUť/s|Ý.d¨{«UđŐ RŤ›µ^·ĆĚzßú<Jťä¸52ŕćŘú ŠěVe±=é\UŤŃuěSąIcdŘŢ/i©çT’Ćşrľ5$ćÚ­Q¬o1„†ĐYn#zâÄÉ…‘u3_rÉM–őjµ˘=ubľčăÔQ-jÄ•ô‰µNµe85·Ş+Ö¦äŘÚjË6ąw˝~m+­ŚG÷/ó­ČľŽm7' ú9çdëČ8G×Pó\çr­á<×Mş…Łž“ă6›hőÜÖpĺţőÜä#!nŰţ„ĎÇŽ]Ň1‡sb¸¨}Ř`8Ś­sí!Cä™4ĄoJ˙Pť{ęŠýČ7żUĂv¶#Ť—ą^ćŞ)ŹĚ;©ŻóĹyŐ8y$'{YŹť*[˛Ö@ž´-· (Ń_¦"D¶)×ČfĘŔ\˱-łÔ×Üo™ďíU=[ł˝0ĐWç±ńöDˇ]$ť!sŃkŻćŘČ:Îfü–9eä5v°¶\ęĺ¶pÖš-ÍÚg_žSKG¤¦¬ :IőÇ5ĆýÚęóa“Ą=Ě»qَ^Í–ręeA$˘ŮŘ™ŻöĹ»ž ĹWť«–!‹{ńŞŹ}ÝŘ‘ăńťů{(đ;·şŇš†Z?jşjßTť*ęxcs"’K}ďŐŻL=÷RŻăŚ‘w3ig5M»űćň<n÷VýâŃîŁn6ëŽ/śęf{o 25.ź9¸˝ ¤NŐńYŹú‚ B}Fž:yj×sŕ0Ѷé•cĹî¨Oµ?uĚźgĐŔéËŁ˝O«/Č15 ŢůdŻ>lO–ú|†Ôźú=6t錽˛AŽ=_iĚŘ9 š÷ŁM6úˇęľű»ż»·w|Ď÷|O÷?ř»ś,N— á\ÓcĎK`3§[űf§ůŰě4Ţg{|ÎëzE°xÍk^óŇDČ µżA 30Ç@ĘŕŁ#ÇĹA!«ůŽĘÉńŔPPQâś±Ńxŕq.äŇ%«Ďłjż6¦¬®gź,î‰Q÷Ę+Żě vŮkű`€»|1ˇŔq!@Śžu…8×ćś8zdOXŇ™­8ľ}hĹy„´p ŚşÔ1fă¸" Č•c¸×'m\;éHg—í "Ó(!XµĎńíŠ ­kq®Hü¬îN™Ä0ĘßL`1ňräAgT·ź }‰±Č5Ę,ŽMô€V¤9“®‹Q›ëÄCtdɱěOŹ�žZ}čC—Űqp-d9Ä& äštÔűgpC}˘\ÚU>1Dg/Ę„¦Ľ!Ćpʱ*39pl¶ĚÉö+1\·|ţĆ€ĚC«:ÝDQ–­xeŻ·D!ŮB„s¸7rč˝+8Źă‘+éČÖ,í'0dÇą€wŇÍy‰Ž§™lUAIÔŠL^)OÎ嚤7˛Ćą‡Básť¶Í¦˝d«‹ě…qŞűdBŇQ·÷HűO:Rćś‹\ÇN9µé ţĄnrŤô)ŹČžűqlśĎ"§Úß$ô$éČw¤#NµŻéJż—hqşáÚ­,Rݞ éçşŮÓ-Î YIô“>ŽĄżŁ®M R¦”m‘űÝínwëűęV9>N@$ä%ýE”$ici?)—Ö™kŇ^qŠJ„~'Şí1ýWuNĘs{ ~O;Ié•·;“č÷˝ë/wF.ŢÉĎN›ßy[ä)ˇş76V«W —ŮÄÄĘ)ç‚vŇXߣ<]­H”ą"q{©ŕV-ď(ŹěŚ5n˙q;SWĂ»ĘzZÇOr¤ĎO#Ôß|"”>Ť~y¨×ýŹ»&¸˝Ńo¶ş~5ę…ý‚q[ťZłú.ůŁc?iźÍ»3Q,Éé‘?ű‹Ďߥ@©Ď­ôĄSu*†‘ÖŁEŚ–Ő¸ÇŇzlë`±JG˙˙hőëpÜđ[«(¬«sŹ:n2˘sŞ®c'Di4~ľŚŤŽĂXw؆ŁĘljm5.ĺzSF˝zĎ©(5UŢS«Űs3'ŞimŹŻĆŔöľŐ€ZŤÁSʸqY "+§’UxYŚR›˝1űŘ ˝’Ůpü|1¶V Ź ¸Ť"ąŽ[‡ú0´ůŞç×ňéŁ*lŹĺQëÔůä¨nĚĆýUMWćśő^m™÷ÝÝl6ę-Y Mš¶çqŚ!0GV#y®Ă íí¶ŤŐi/·ă˙˝ęc[—ňŞŽCm=¬Níł4ç27hűúŽV·Rl2öKÄŠČť÷­ĹV››“í¬:ł¤-µ‘g’¶Ú†ŞłNňZŁbFo´ö×ę=>Vu¦u"XŐĄ­.[„äüeľĐ©Ěfٍ5˘ÁŞ]o-ŤôąWŰFVrÜ•Om#q°I˛¦i™ňŇ- őłé±Ňî~mܧ¦¦Ú¤~¤ĚĄ% RYvËúĐ:!­ú"Něˇ>ő<ŞňČ1S}HîUiŰĘ^}s•Q"˝ÔôôľţĺYÔʰţ=’!őhľx~.˘ĹÔgZ}žĄí·s¬Á)îşĹłncˇáČ®6m=ŞyőŻ«-ÇŞŚęó3ékʉ\FÎ8Öm¬śéâěł2”oŽ"w¶éjťjús˙“§®ŐŃ~<sdÖ=ęźß±»Ű]nŰGŻÚü‘}őĂő§ ±ę Îm]V_p0Iź†ăÜĹb¬#?LÔqxŻćŮZŹ›z^út•ýb¶˝öžm]Żcšöúí±ç› yoŮźÔ™<é˙x®ÝęVWô:ó,îĆ^p:QŘRöl‘ńăěŘ Ű>˘Ť0‘űçű|Ɔ' l §ëdQÇůYśyľ! ±«ýęŻţęž6¬ÓaĂ Śp0ЬRĎď1Jňa ©‰P#t"#Đ@P2cüŠSCŰhę�ž{eoŔ¬Źa-Ć:ڬtćĹ˝Ů[:ŰOţ8=p_ňA:b$ÇŔ‡±®F”Č{ő„¦'Bע#JÔ€xŰgxÂÜg; ŚŔšiŘ8Zچ‰ Ŕ‹č ë䡙¨YĄypňÁ=jĹD{Č8bpFOÎŹÁ‘c˛Z>+Ď‘Wä¸Ç`8%}ČŹăSĆ”-׍ŁDfHżá ‚¬Hżó7÷Ź1:ŰĎp,«ĺą7{w±ĄDś+ ő y!kňÇuřLžÉ éá҉ża”ç…1—|dŐO ‰šÂ9śźÔŇ] Ŕ‰Ŕ‹kťü'ůČ*€ęu—m`_Ň'�ä@:HCĘĽfëŇ‘íW’Ž8!pOÎKTŤx¸qnV~¤Žr^äÁď‰8~`ść:×9/Î"Q„%ÝU)@y&Ôoö§ŁĚS§ăxÁőę śDnU¶ýI(uŇׇâ](ÁÓźđé¦]EiG@Ybě' üĆąś§…Ö±eě_ۧüî™tsťaEŐ±ţZ‰Azhăä?“ól Ăo‰J“9yKű# 5LuÚ|Vč sĘśë$m­‹ŇĄľ¤ďŤlS¦qBJ´>s>çP÷ăĚS•c©l)CąŢ÷ľ÷íď‹<¨»¤ŹĽ¤˙Í–4|Oß‘-|R?ăäBýFžq(‹R8«îZ§Ę“|TĎďD<yő«_Ý—EśîâX‚śHS<=ąĺAqŻ!*ČN{ď˙í¶O}¤_‘Â>®G67—J’Ą¨›^ĄŇ*ĚĺÜPĺŰ*Ę÷:>J­ĄCĚćFo´ŘÚŢéc?řžî&7˝uç\O¦hŘ0Uß2)ťęÖ];ýv˘$ĺ·Ü«˝fUĐďi¨; ¬Ň3•®±sÇVŁTż 9'ěUŻZ]5d<Ą]Ć&PW‚Ç1µźz5&ÔS+_«±- ”ŕ­â2éo 5?I{ÍW»ş7NÚI;Ś ô+c.°}E{Ź\kĘPąŰ ǵÇĆçVţ­˘ąUFŽ0lW6A#rleÓÖ€Zăwý;ĺľ—A>Ćďá}ľ\˝źŐŮŮşr{ζ;†©Ĺ6 óyMăř“;çRf|ŢŘe$«FPŽËĘă>RŔ|>ŞS9vĘÉ˝ţŢGÎéĆ˝ZGbÄk•Ä˝qţČƤĽęýbś®ĆVśtŽlîv~9ujç^'1¸î.ű®›-ť|¶úČ;×92Žp”ú]A«ÓFk[«őr6›VţW9Ő|M)ń§Úu•)iŞŃMcXž2޶í<OFQ fC”Š8ő çvË6[#|TŽ,ÉďŐH\ŰvMgîWWôó™yNúzÜ2‹-BŞa/ůnëčö|ĺĐÝSż E7Ž˘Q Ęąîp=—VýníCků¶}-T‡ŤÚ˙·Nią^­k«~fuýÚ&ÚgÎPncç—Ěáëöm„ęqÝqŘO„‚ÚVÚgĹđZ9¬Ö|e!EMw뼖•żm™j/«ú?DШѦžµŐ) :Ě1Ô™µr\^cc·3^Ęžµżoëou6X9'Ĺe¶Śv¬ůűxYWźoµÜëůWó?U·’†PźEő·ôi‰|çŹôqy¦¶cȱ•e}®,ŰȬŰőâč‘Y÷Ńw¸EwŰ[߬_ڱŮo ˛ˇľŕ€1ר/8¨¤/şäř%;ăaÁçÔŘ÷ 3ę7şiGŕü˝×8?ĎďulzÂŢLő7ísx~+ńÜt iűËĽ‡Ľ˙ý×ěŘ-Ţ×ĆÖrľŁ&äů[·-?“ľmék˝Ă&T#Y|çw~g˙™ď÷K}Sś¨/DäŠŘHú1Ř¨Ź¸qsŃHĘ0•WŚĄ<řCXVO×Á1g;‰„»Oř|*-Ć:*MV±eŔc •«:mp>×á…ŁE7lĹC8[JpÎ8\é°š™F‚Q‘ësOŇ#o6Şr0|‡átÄË‹{fÇpmŕ8Śz1ř¦¸Ë]îŇŻľ&ߤc4 śt‘WŚ éĐęʉ¤{atMţD ń5«ĘůŽß¸'2Éö 9†´‘Fä€Ó˛†şú=+Ă«<i ťnśoE Ń ÝČů|źm^0ZgĄXę÷K$€7żůÍ˝LČ?ű<q<ęl™’ľ8`HĹxšzCľ‘ięďO}!˝Dą¨‘6(óÔăl-€<ę$,ŕV ‡ľO:" Ęj:˛…ňŹłIČŚtDŽĽHO”ؤŽ6IíŕŤó8.ĺÂgŇB^2€KťŹł m"‘X¸m‡H¤9P.8-ĺÚ”MŤFS8üÍqϵďsźűôő=[ŞP1ʧť‘?äÇőI˘~Diď\:α)3X)—ĆŢ8µÄ9‹wÚyĘ5凉lÍA˘“·Ô·¤!0|ć·DÉqUG—¤{"Ă8ʤ^W'ś”WĘ1Ž ©qPcUĘťrś€đą:.p,í?myĆy%Ž'ÜŹŻ}íkűôăä„L"ďČ!í%yç»líŇ*0¸m#}>ÇFƉľ§‘ěŹÎuă—H*ĽsMîÇdA=M=ŕ|ś‚¦ęĹŕÔr´{ß»ŻíN]÷ţîŘŽBň«P6Ź,ú„ŮhŇÝ*Köú[Î/í¤¶źĎ–«�‡>q8¶7dŰé'Ż;Ń]óľ˙»Ł”Üě.ąě •&˛‹j™RřÜöźëUÚj°nﵯbý4”‡“AM=z”ńČ%˝ŠěŘĎ-+%ßŢNA­1"ĆŚŁâěšçě”cÂř^cF‰Áş±Ë˛ŞďÝŇHźó¦Ś5’ĹÔuŞ!ąžW‰ssćO­|Í˝–«Óç«ŐÎ U^ŤęS¸ađŐö*Igísę˝ZY&m+yĺV–őZŐČVŤßµĚ’—zż)ălŰ7¦Ž¤,†tÍU…ůŇÉ˝Źęvb§ťÚęťU†ú08S°@†mRG‡zš ›c9$˘Î›GöĚ[ m»ëŘjŚžu7Uń]Ë®—ăÎ}şín4ëÇ—«ëVi[÷jT9×ű ꇅë5Íu;Ô«ÁXÜßëÔ|Wšůś1x"ZÔ4Ő:QË=2¬FÔȱ:FM ÚçQ®_űŹÔ“”SÚ[Ť‚WëâP—şŢ‘&×Kú"ŁlRÓšr­u;÷«e§ŽÔÝ*“Z?Şń{ŞżIČ1‰ŔÇA"OĚş±1Ą•—ŽăŤ—ÇôßŮ(/µ.§\[§–^†óůdżUĺß–íŞoYɵ­3­üňžŰ«-sęł íë·¶Nöĺšďâ0Â{ ţüăyž3ąwú‘leĹwíëslĺFßV[ŁW[–‹±HúśŐV/ămcj]¬ýlë0WŁ3ä»¶oÍk‰b§Üîv;cäs?÷çßÖĽ—{u2™¦ÇpWźQŐ /繎ěOž<Ńoëôá}Á©ĹÜ|Şäď*źz˙Ú®k;jٱlmmŤśź’®ÔŹáÚłĄž ŤŢ›výHž“)ęÖą©ŽS–uŁ[őăGvžIw¸ő%Ý}îńĎş[_qÓ>Ňĺéę *{}/çžÉ1Śú‚ J?‡8vt1&žO>ăŰĐm?ÉlľÁŕhŇŹŮ6Íl´ăÓ:ľŘëö;‘:/ÉçÁ¦€]ë}$ ěCS‘#ÎuşŞsĹÔNëxęSźşë»ÖÉâIOzR÷”§<ĄŰ+ Ő)<ăüóM]3&v1pŃ8Xd˘ŽJ—H űY=Ů—Ć|NÔ¬˛®ĆS h75€×§!Ähç ȶś‹QíďxGżŇFyŚçu;‰úŔK¸›¬~Źs�iŕ~żc„ć=ß‘?ŇçÎá ÂČ€cH3ůĚo‘Yť´‡(1Fr ®ŁúßřĆţ3ż‘w^śOşÉ;źc„&q<Č6gc„®_Ób%í1ӉƉ%Ń C-˛ ÷¤Ó%ąff¸f"xPG(ól‹0ĺy•Ž燿ú«żęË#śDe2Íýń€cĆĺLV9.Qâ¸Á÷Ů…2¬‘9B?ĐY8ÉđÎqÜ/ů‰Qś%8.ůä·lŐç’„5â•- b@'ż‰|ŇÖ®›čäŹ4PźâŘ”t¤\rMdB}%Ôťś›č�5˛ ÷ĺZÔŤ)8×ĚÖÔ îź-G(Ó×˝îu}›ĂŮ‚óă Aťyýë_ß·I"Üă÷čŻM~cĎ~^QNđYpŤę tÄé©:h$Jiâü”IäAž©OĽÇ9+Q]˛"#Î)÷l+ŇFH:¨”kú«8$p}ź“ŽиW˘:¤˙Čľż)Ň‘č-Ü‹úé'«˘/ý#çSŻł/ZúC>ÇQ-˛Č€›4#/~ŁĚ˛—-çĄnńŠ“ÎNä­](›Şä‰óe@ţr_^‰*“r«ÎqŚ"ż\v›vžWÔ˘ŘBÔˇ8«E\G5úűôK´1ú,Îa{!Ň•čé#0nĽ˙˝ß˝ëďţĎŽĘíTżšrP–l–ŐN ĹW7VE‰’ĎraXM(űOŁď»…"meŕVŁdś˛˝Ł(|ß?ľł»ĹŽrĺ&—ßRĄ‰ě˘*Ě÷jçŐp“söW^ĸ2ŇĄ/Źázť‚ij2|PRćL}fu“öM†•¬ý:㹥:0´NŐŘPW?gµuŤš–í §3­1®WŤ‡Ő] Î9~ŐŻ"´ů¨÷…şĘ8ź«AgĘČĹߌ…{D‰Q·‰Lzsl5�ć^5ŐWÓą´Ć¨ý”FŐXÜ:äüjŘk©sßj]'ÇÖčWŹŇ©Ę5NÎUnĆ ${‡v‹mÚP]·3¶;ŢŤ·M¨Q=ŞńoľüneĂbş’Ç”SK•cÍW5Vb ÜŢÚŢedŻrÜśmNĘ(naŐé¦-ë)ÇŚ uő|d™×˛-%şt*iŤm]„Ś˝ë¶!™ł´őˇ^oęąWő;ąWë”|·é\/+Íkź1Őäó ź±3ÄpüĘůfX…OŮ^–çň\©N.5_5­Ő0ŃÖŹŃskcĽuG˝ö°’}č3"ëȤŹÔ2ßżu®Ę*ř®ßҡOě2Ťmšá~ă yŻőż˙ľ9˛°d<ż=Ň QQ¶w9˙´u$ĺ[űče˙˛(Zć)·Zʞ}PędúÔępłWŮEf‰¸xjá—$yVĺ^Ý"=D|™ÍÇĎZ§zGWňßU'‹n9Ϩý{íSNUFÉżĹqĄö9˝·¶Fm©ÖÇÜ3[ËÔr¨u�#\ú­JíŰřwjëÔ®>°ß~(í­ŻzC?ئuť ýÉÉ]N-“Ž=‹:Bú7t¤ł5Öö8ŞŹ;mŇś•ŁőůŐÖŹÚ×Vg—ÚNSçćóńł´­_Ł~{c1‘+îtŰK»ÜűNÝ?»Í-‡lę )ë™ú‚Á¨/ź­€ŃŢ™č°0rĘš;¶6¨|—~5bŮ/[žť űŤqěwd?ÚyN>37cL[#í˛ŤŢĐŽłÚżĎäŢm¦ŤÄ1<Ž íüůú‚­ŚíAžüä'/ű›z˙ĽÇF ËŚŤ}»ëĆNĄgĘ” Útd>ÇĺŚw[ą_č’‹ĆÁ˘vÔvŚŰ"łuEVvg5:żq,•Łd…ŕbt¤ctĂ@–0€üžS‡k†(Č0čb NÄ„D`QžtĹŕŹ:ĆNŕ¸<I«·óŔĎJň62dpťŔ11\Ćá"†ÇKą~VĘcôË–\'FPÎĹŮ€m8—ă0ŠĆH;Ą$ŠžrÁĐH"ŁË9ž{!oHxý(?Şá•´dE=ňH$ę\‘÷LşΆsI|óŽ"'ŕÚ8•ő€h”c˘hdeY¶îČÖ|G>ÉŁÖŹę ”é#śÇ5˛ĄçFöŮâ€ü’? şŮÎüD–¤Ą¶ňLŮđŞŕD!żüM;ŕ\7GYŇ @n¨9žü‘–¬˛KÍ ©‘ő”W­Ů6éH䏔SŚăqäHHż‘_®ů±ű±ý5âtÄoD>ˇŽrŹlÁCy>ŕčť+ęjŔ8­pOäÂąQ>Ä!鸤„˘ĚC‡ Ň…A=ĆýäłEQ¶Ŕ! ä“ö#~ęF˘îĐF&Q"ţć÷jHČ.‘蛸VęFś•©"'Ü#N@©§ŮC6ňłç÷JąĹ–GIg넬ą.ĺAŮpŻl}†DĄHFľ|ÇńqT¨Ű®ΧŻŔI†´âŔŔoôťm;«Ę®'›¤#ő$BbÄ ýĄÍ$ I˘¸Ä؇ˇ8[Ä'«Âę‚ßňĽA.Čšë“ňÂÖ=ôĄ´˙+ny‹î˛Kf݇®y×NĹ:±T–D›• í ®~žĎ–[#%]ŁČ ?Ĺ@rňT÷ţ÷üőŽBńäŽŇ䣺ĺ2TąŃÓ*{ˇ*NŞ˘=śŽB$†“?8¬”,U)Ü*iZN5®\ĘéŢsHď d^ެŚSy•sG«ü݆…şj”}¨głŐXş˛Ú¸ GF¶ŤşEĂÍ ŽŞ’±-ű)m»r>×HƉĂęĂÖČҶˇÜ3†ˇíŢ 4[nř­*ugöÇUFkĽ™’q5 NÍ×ÚŃ•j°kŤáSmĄU¬VŁ]»J˝ŢĘń ÷« śŞđŞĺťÎWWÖŕ<±µµ˝«nä^5ň%×ĚÂŤ•dľxń÷vo Üm, ź«yřN>çCDj[ůŚÇn+‡—VvaäÔ2Ű…ŕĎď#Ůmt#™M9yTýIű[vU'RëUujČçŮƸ®Ăj˶ť¬"Í0G„Ú®##¨‘jĚ1\§•WMW ß_ëaî•v×ö9őYG•cĎöň92Üvxždű™ü^Űv˝O•OëUe¶—SKű][—[Ĺf $âë©#;ĆčE_yTĂü˛LgcŁţ”Ѥ5ćΛm¤ŚWE–[Ũ_źŮ^§OKąWŰÔľą•É Çr<ŰŘŕ¶@Z¶–uää¨_Ë–‰"÷¨őŁOëÂPź>;ŰSfŢÉçÖ©ż¦1´ůK?YHjŃÎ w9šôy÷§mź\ëÇěÔęůVŐřuÖŤ Ń©Mő©ăr·Ű#ł#ËkTy$JEßő«|Ő:—>ŠC˝SÓÂ9˛˝huÄ[>»·‡(8„ő}érűŚŤĺ°}ŐH‘oDŻVďŐץíů.ç Z—ň}»mHŰĆ’ĆçÇŹlts§›v÷ąÇí»ŰÝö–}äËÁ0zúú‚Z>rpP_páÉs=}Ć“‡i>Xű»öYŮŽŁę8nÖ÷ăgKέ×Zwď6ís§ż×lěŕqľĺk˙wp™š—Ôńş˙,úśr,hË–Ď™gěG[w+uŽŰ\u4nďGúęö%ŘE°éěiüÖoýÖĺgú쏫…ó]cďš>ěŘb_Ľˇě5ŻŻrĂ)¶˘©˛hżkY÷űaă˘q°ČŔ7Űv0‘‰ˇ3+"2ˇĚô˛ON1Ę·˙„Ćçř84`|‹ˇJ‡46Śł/ůËű´|â'~boüĺúŔŔ?†đlł�Q$rEU.dĐNZHs ®Ăc„ĺ{>'ę�/®ůÎwľłO7÷'źY±C:W;r?ŽŚż86ÔIç“6Îĺď·˝ím˝Ă÷Ŕé|ărŐUWőżçˇ™­˛’ă/ĺG Ň)3Ž%O›(!+M˛Â2ŰŹ@äĂ{¶~I'”-D9çĆčšŐ Č!Ń>â�Â6|¦ ď}ď{÷ůŹ<¸vŚî”)Föě—„<ą˛®ĺ |—†‘sňg~ËÖČ$[pl¶Á _™@Ć›tđžtĆ‘&Ž!3[…&ÚL¶IHÄ�îI™e{„8$‘äW‘é 89Ô‡YśCŞŁDUŔÄ9#42Ł\ŞBňIzÇGIG" $r�ÇŕdńęWżşo+Ü—ĽD1Ň*ˇó@¤ŢDZ'‘ ¸'/ä|Ćé|҉ďÓĆ"7Ę•ňăÁ“"ńž"JżliBľéřś(ٶyÄq ys_ÚL®A"0©QhÖ–í &‹(‡łÍpż8[%ź¤#N,ś“­L¸Nś¸˘śH˙Wď—öŘöí¤5QJpZă:÷Ľç=—)hďµ\ŇçSgH'éŠ#\ęhÚ<é@‰HÁ1ŰngÂßĂöĂĘ$Ę…ăS—r/®“č›čȉűĆ! ('ĘăÚk?Ô˝ű]×˝˙ÝŐm]z¬_•räř±~ĄĚjŐŐD§űŮ5 Í=ĆPŰ ĺ 35 žĹq|Y(»AYßĂË 4éËw§Ě S~í5;ýřŢÓÝňÖw쎻lň>răc0¨F±\Zľ[ý>¬°Ţ÷Łďë6ĂŢ@4_•0nňâ"Ď«\vŞ˙™oNP‰Í´˙c{ˇdßn~´íť}¶kľ{óäÂ~=ď®Űy¶÷ýgoĚśqůůč‘á¸YočY0V›m,VŃ÷˲ íŰ|3ą_…·íűĐĹ}¶çŤĆťÁJĽl`ś·±Lĺ|¸Ďâ»Á°¶Ő˙Ö§aaČŰ\\˘›—ŞEv>äx~çę›ýęđa ílѦ7c<ß G0Ž÷Žä'zĄűŕŘşsĚćÂ0Ô-ÎÉ–ŰŰËkFF\®wŘĚ*u®˝ÝË2y絸ÂęYł¸>ďKĂ~żĹö†¶·Z1ýÇR‘Ú-…1ďŤ[˝ÄŮ. Z[ ĎÁ>%Oł…CÉö"ý Vřt+ăfďľą±\ťĽą±şĆ°âzá 0K‡k&?Ýl¶xV3Ţ;¶6xíBA¶QŇ1ü7[F+-űşAçˇnĚčóBĆՠߍĆÝŞB‘ť>*Âlu•eĺ™/ęřÎ\y¶{Ĺ|5śŻś–v;ŇlŮěâ4ď÷ň8„§ŚÝĂ?>uycs6i´ÍýFy[Pť>ň‘ďÂrµíćJś»Ý-ŰͬŁ/D6láCôB ~e>ô#Çw ‘ÝlśÎŢśĽ$B›ĄđJPo†•č6˝~;Fßn5_»EŐ mąŹđ®RÎ}¤yj0hoĆigá¸ÓűĆŕŔ1éóNťe%„0O[ŰÚ.Jé­ťţ“vqlÇ.·Ł=‰S SŽőő}cQŹ7g }iôĄ~luŁň¬N�Ń_ĺűy‰Ö1Ô­ů˘ŽŚŁ+´Ć•ÖŮŞÖ‘č ŞSOk ®ő¬ţVô×Ř8ŐͶ‡×-ÜäÚý<oóčâS”ô}ńĄ~¬ÚáŕĐľxŽ,ú»ŤÍÁŔ˝ąXqNuúí>Ré©ëşË.˝l¨cč÷z]NdĹůöŇqn¶0±¦ţg>1´ŤŢ¶ÎFíe»ß6(˛ś-t5CÚ†vŇ-®ąjCCŹíeŘ^´íú]·8gˇčźĎ†mCf+G‘ü¶g´-ž7‹z›(]1äę<ËpŔéý^ŹŢ±l¶ě€sż®ŢîčLŽôn Ý" ~N\×;ÎĐć7— †»oô nkŃžP›«Îťź76zY°ýHĆ }rÉńťcŹc‹~¬yĎ­T—ˇM4ýHźÜů¬‹çC—=Ô‡nč¶m…ÓzÝVyrđ­nľŃÝďîŘÝî¶7ď>j±-iO䊪7ČcJ_С46ž?ÔLĆóĺŮ0öé§ŁÇł>mbţşšt“óűĹ\xľŚÄvzú„áYSë÷|yÎ.ů.+ęőĎ'¶ŹĂÁjVuł›]ľ\Ě}¦LEŞÝĄqô©Î˘~9 ľ§ć:ĎŘGďz×».żűúŻ˙úî™Ď|ćČţŃŢ»ţÍx”HÝ5ÝuŚ[m´ůśEłŻyÍk–6ÝëË”Şza“l"S¶­ę>ĹĹ6ö¸h,0^e4ďŮÚ"?Ëŕ0ŞaěäŘń„d÷ę‡DÄČJo®ť( ą'ďŐ0Čľýíoď^őŞWői Ď+«Ź aécŚÄ)!ÓTÔ©Q¶ŔĘů#I éÂŔČ÷¤Ł†¶ç{~ç¸h×ŕXŇL:čBŚ®{­€Ę>\“í2¸÷§1ătńŠWĽ˘_]ž¨ü'Ž8Äq% %ůᎍ‡ßęJ–6YQŮs|˘@ŕđÁµ0–bČ ťČsŰ(ŐÎ1¬.g› >“Ź«®şj´5CęK+“lk‘mL0 ‰9¤ ř.ňHôέŽ9ź<Ä`#v"Ô´¤“ĺ<®Kţxĺ:YĺĎýb$&´äŇŻ ß9>׎LăX€zccŘ7ąá1µçSBaĆ)(Ž=©§¬ÖŹSIVr ;îA9–v–¨|N4Úé�äuA!Qr =”aśź‚ŔCŹWś"8–rA.ȇ‰şh>'eŠě⼅\kýHťŤLVĆńąR¶ä›<$CÚh_˛muŠkWÎĺąF1Ő¦#Ü” ×Ë$ ń™¶Âµ¨»Ô±*O~ĎőąvúŐ8JÄ©-QC˘#˝¤Ł¶ÝDxŕţÜ;ŽF‘Wę"yä÷´}ŽC8Wđ~źűܧď_R¸^¶…âzuE÷Ëv$‘GVČ‘Ď8cp~®G#?”K˘·$Ü‹>&Ńaâ0‘2It˘<wR.‰Đ“Ő(±.ŮQşťúČÉî]ďy{w:ß~ĎÖ#ËU(Ăó`s¤”ÜhĂł(˝VJF•$ç—ýmą,Űĺ|X!ŔÄ5Š0ĘeŢĆ©ˇî°zěäÉwďůűżŘQĘnw·ýgWuÇ.ąYżçjťĘŤ‘j´·űď3şäŮ;ç°uCł]Lühßzn7ĘľnéDNËYpa¤„(¤ëęű)ĺÉą`¶¦ždN8V¬ŻżŰŻ*Ţ:µÔ- –ÇĚwŻ ž2˘L)ŤöÍSŁDކózŻ©÷˝2ě‡vő\V[x †Ć8Ô†Ö`»×{]AGëĺ*ç’†Ś=#›Ë.;ż{ý®ŁŐW´ď—ÖuĺVëÉ^rśZi="żÖÉ•Łđîm2.˝tpŞ汳Ń\„bÎyIŇZŁ>¬Vކ\犝ůćâŕ]2ŮÚŢ^®îŻňŰK8Ą3ŞĺPç {ą´×¬u=שsŹ•ĂÂŘŃaj•éT7Ű8ş+íŮVˇ®ľ/)íj7ŃÎ=ň}Ň^ĎĆa%ý*G[n5ŤmD‡¶®Ôt×zŐ¦-çŐ:ľŮ­Ętk{pv Ýdă&7ądŮŹ$bĹH Ě™·NíĘk}¨ĺÖÖ““'ŻëďÓ÷';†ýč1!ýVŰ^"‡náDSŻŮĘ©Ö\§mÓĂçaŢXűß6˝m„3yVî§HßžhkSýTíË'L»X:Ö-d‘Şýóbgľ}“Ł—”ČOÓ´éčÍ·{çŁv,rşĎZϡŤB3E[¶äá’#'ş;ÝţVÝýîyçďnvůM–Q+Ь¶´[µ—uú‚Ó}NËŮăĽę n˛ŁŰ¶>S_pC9ěň›H˙Úf?;Óö8výyłŮé'7>ę㉿q® †Ď„u•Öá!ú˙Ř/OçZ/yÉKF÷ş×˝ş§=íi{˙¸Ç=nô™ĹÝ­ł9c›Ř §˘E�iăľŘMn(íłŁŽO˘‡±MqcgśnNOW…:;Ť÷ŮźóÚ(ďym.ľŰl^üv3Ţ_őŇç˝4X7řÝKµ×95\`=¦UPÔ >$ôĺ~éh'űĄ˝_Ź›JGť\žŽ<Î$őžu"Ű®b¨{µÁs•Ž)ĹE;1Ď÷űĄŁ†ÝËÉŁ=§ćńtÓ±ßuۉX;QŰ+ńlkÓŃÖóÚö»ö MG­§SéJ÷ŮLG-Ëš†8śI:¦jp&m,őtżs§’ÝHě׏LµŮÓIÇ^çîŐ÷ ®Eĺ©ö¸W:N§ŽL)<ö{&ěŐ~÷JC®—} 7aÉ'Š~IÚđŰŽň,ű§ć÷\P,VŹŽ‰ł}•$7¦Í…ât•eQrڍ]Ë«•y(M†>kZ|G±»ŐŻjÜěNśÄŔ´Řc~eô´çłČaŕĉ“Ýu'vŻ´8×ĎŻ ŮUNemľüo7Ę~âY­;=ÖŻI»PäÎŐŘ»ĘÝéT‘V®9gůýlďüµs9NÇ$šăş]Ç2?˝˛m™Ź˙îrŢËmÝýćkÎŰŻőÎ÷8çLďUŽź‰cvćőü}Žžµ÷šţľ˙můßŢÇL]ëtŹź»{Îwî™—ü‡¨ü7ßż´fŁ+MüVšÝ|żóÓ˙ťAąíyŃÉ“»ëÉŮ-ˇŚ:żľ“?ĂëĎW5nHýŘŻÜöbŰ/"NíĽŽÝě#q\rüh]¨7˛/˘VÔ­A†s§ť+¦ô>ÓÎ/çS_ŔúÔ©-ő"rQq}ź[ßóý˙_wC¨6ÄÓgóŹ˙äÓş»ŢíęÓ:ţŃŹzČčóüĐ}íČűÁsáOţřEÝą`«Ď§őňý|ß·u×¶x{Ęg< B^łxßj^óĹűvyÍË{űęöřĽß{űwËÚ‡ćEÁâ˛KĎó­SׯŠś+˘ÜGŽ) Ž#KÇŠ(B˘,)FşÝ “z}ą0´ŽJSżĚăŃŞXÍ*kľß•÷ĆĆ 0ˇ^lŮîĂW_zôřÎ8çČČ™§*d‚J94\zI'"""rcf}Á°#:‚,ľ¨:٬ۥ+PGp08źú‚ËŽ^Ň;[¨/é®·łÂő…ľő˙÷Ô§tßűÔ<-'‹6}mÔ­żčűž˙‡>|ůwŤĚxľ¸ě&Ç»ëĂ摣ÝĹÄEă`qlQ·Ün^DDýDx±|öCíW§ŚBŕÎFa7ŠdXw“Š)“ˇ łďqŁhélΧšŤĹ*Âő˘ ŮöF>2[îÜźZ#ŮäM…‰Čˇŕtô+Ăzq˛čVú˝ôů,ő""g—ę¸xľx˙űß×=éŰľ©{äŁÝ=ěáŹęî|ĺ•Ýĺ—OoqҦoÖ|^—ţ3=ţlöeׇÍM,$Gž3#XČÁ˘ź�ĎĆ+M˛= şŽüEJ˘U„vŹÝ˝ś+äÂpú«Rşĺ^Ş Ë\·űéC€.g(Ję^ć(KPśdŰ#~‡Ş0IQ&""""""‡ýôPŁWLé Ćşť+ę DDÎ?łŤ óüc‹¦ç?˙wű×~´é۵€rťĹ¶aű˛ëĂĆćĹ!á˘q°8~ôX˙ľ}‘~¦öAÍ@¨:O´Ę’©źUYŇŢC.ë”&ő¸ĺĆď{1_)VúŹó•ň„U*ů;żŐżEDDDDDäđpCőă댯ŰŢG. ę DDÎ/›‡ËNĽŃ<Ł×Ą˙LŹ?Ű?v¬»>ll\4. =Mnޞ’PZ"""…©=QWżŤ•%ac10Ę{N™Z‰˘˘ä`p:+S˛eźł›Mź?,NéW™ ßĎFŠ“úęWY""""""r(YÍű÷×ě^€1[ëX!sˇ/č˙śuűę Ú{Ş:‘łŮár° Ń‘âÁyřiź{ęÔ©óžßŘăĎ,( -rŘŽ\üL)A†÷Ĺ„˙¬çO]WëʤýťđťÝ˘ükP`őÉŇéf6v˘Ř^¬N ő7ť-DDDDDD‰RQ©Nł±óĹn'Śý`¨788śM}Áč}ˇ//˘_°EHŻOh®§®@Dn,¶gßűŢ÷ŢîÖ·ľMw}xß{ß{Ţó»y=w’˛Č"ë¸h,R óŮőŰűEDDä\Q•#{í—şWhOť+.nöZť5´gŽÍçŤá€ţďŐ*—nůYDDDDDD>SQ(úď»Ý[´Ű‡¶ßM][/űé &ŹďÉ‚sÇ6ő"rcâ°=˙ţęíoënyË[vGŹžŮÖ'OžčŢţöżĽ�×ĎŻĹ…=ę`Ţ9p‘EŤPŃŢ#äç®óö8G.Ćĺş^q2 šłŚN_ń"""""""ž©Eőď˝"a¶Çîş®:„CĎéč ÚčË…ŮB$Ž|ßéd!"7Ű#G‰×Ľú•ÝUwůčîŠ+®čŽ9şďń§NťěŢűŢ÷vo˙Ë·íü}âĽç7öř3e¶qqŤM.‹Y"X8P‘Ç^Ű„ Ż>gň[?ŹŚęrѲ*ßy·ŇěŽLQ·‘}Żc…ȡb*Eý<eÄŘo!†z‹“V_°—ΨŐŤŽSg "7cwęäÉî/Ţú–îLąyŤ=ţL™ÍŚ`q Y:Xlč`!""ŹqHĎńwíßSźĺâd/ÇšYż‡ę®Łw}׆ů4ě§Čáb÷¶ˇăß ť3N]C..öÓ„¨�ćóÝÇNéÔČŤ‰ç–Ť ,ŕ˘q°9¨¬Űćăt!F±¸x‰B­*;öR´çÁ:e›LÖmşNŕ<đâfJ_PęG·Śl±ÎÉBDDDn8ŤĹj é€RDD{mR۵_¦ÜhŘŻĚw;]teűn´•őFDDDDDäp±ršß˝âÖ9ž\źąţŘaG[‰Ü±ď;—\_Ç΋Í!T ‘sLëTQ™rŞŘoëą8o!łŠJ1µRi.vôËňŻ˘S‡'"""""r~ŘoĘż.j…ú‚űé ĆżOť»ëő"rńăăńś˘ĹŔĹłEČlô&""r`0”§&¬’""""""ç‡u:ur°:ŠČaŔ®ęÜr˝źYÁÁBDDäˇ"EÖ9‘óŹ 3ä c=‘Ă‚[)ź;nP-#XLt°‘L;¨Űk â„U*˘>XEDDDDD.,ÎËdę DD¦9~üx÷‘ë®ëäělu°ŘčDDDäśďÎ)/Ď˝ľ‘,Ňpő­Č™sł›^ÖÉąAŮ®0‚…Č9f/Ą˛Ş~X/EDDDDDD.ę DDöćÖ·ľU÷Źď~o'gdk‹#Xśc2čŘ/Š…Č٤­kgň‘‹ő"r±sűŰý?ťś”í ,DDDÎNDEDDDDDDDDDDÎ}Őť:97ÜĺĘ;v2pŃl"""""""""""""""7N®ľŰGwrnř¸«?¦“#XȡćVWܢűč»Üą“ł 2E¶2 …zîßOęäě˘LÇč`!""""""""""""""‡ž>ŕ“»ŮlÖÉŮY"SYˇ…znzůeÝ#ţŔNÎČ™Ę ,DDDDDDDDDDDDDDä˘ŕłý0ŁXś!˛”1:XČEÁ­®¸E÷Ż>çŃťÜ0!˛”1:XČEĂc?űQÝGßĺÎť\?2”Ýč`!""""""""""""""OxüçşUČő�™!;™F ą¨¸ňÎwčžř•_Üə̝LŁ…\t|ę§Ü§űâ/üśNNd…ĚdoŽt"""""""""""""""!źńiéßźýËżŐÉŢŕ\YÉŢč`!""""""""""""""-8Ü즗w˙őgžÝÍçóNVĚfł~[#Wś:XČE ·żÝm»gýÂŻuoűËwtŇu}—;wOxüçvWŢůťśłłpÜlâďýŢg{|ÎkŁĽçµąřnłyńŰÍx?yÍŰ^Ú_qľŐ‰Lń›Ďůî×ë÷n´Ń,ZńŻ>çŃÝc?űQÝ9g¶Ůż˝ŮG?`çm{çuÍâ}«yÍďŰĺ5/ďí«Űăó~ďíß-k+„,DDDDDDDDDDDDDDäFŽúÔűvĎý˝vř‚—Üh-p¬xäĂŘ}ÖŁÖÝęŠ[trćÁBDDDDDDDDDDDDDDn”|ŕę^ňŇWvúgŻ˝h·a+űß÷“ş>ŕ“»›^~Yw^ąČ"Xč`!""""""""""""""7zŢóŢęŢňÖ·uo{ű_wűwßýă»ßŰ]óv'®;qŕŁ\ťâŘńcÝÍnzyw돺˘»ýíţźî.Wޱű¸«?ćÂF«ĐÁbßßt°‘‹ÎÁbŁ‘}ŃÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …ČŽt ďüŰ˙ŰżooťęDDDDDDDDDDDDDDDä²±yѸ$ôÁBDDDDDDDDDDDDDDDd Ť»Č>úţťČąŔ""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""kĐÁBDDDDDDDDDDDDDDDd :X¬A ‘5č`!"""""""""""""""˛,DDDDDDDDDDDDDDDDÖ …Čt°Y""""""""""""""""k8҉Čâďřëî§~ę?uŻ{Ýë»›Üä&Ýüŕîkżö«»Ë.»¬‘ Ăě,7›ř{ż÷ŮźóÚ(ďym.ľŰl^üv3ŢOś8ůŇNDäó·ű·Ý—~é—wúеŁďď~÷»wĎ|ćÓ»Ť ‰ČáâرŁŘyŰŢy]łxßj^óĹűvyÍË{űęöřĽß{űwË~żőÁBDN›ŻůšŻëŁ*ś.GŽé.»ěŇîv·»}w÷»\÷ŕ?°»ßýîŰÍf§ëŰuăăWő7v9WŔ›Ţô¦îUŻzuwßű~r'ryó›ßŇ˝řĹÜ˝á oěŢůÎwv˙ôOďď¶¶¶ş[ÜâćÝ-oyEwÇ;Ţľ{Ŕ>Ą]qĹkŻ÷ô§?Ł{Öłţ{w:Đ]zéMş›ßüÝUWÝą»úę«»>đS»»Ţőc;ąpüÍßüM÷yź÷E“ż=úŃźÖ=ő©ßŰť/Nś8±óŚzřäoźř‰źĐ=ă˙ĄŃÁBDΧNťęŢ˙ţkú×›ßüćî×~í×»;ßůÎÝ·|Ëżíî˙űu˛›÷˝ď˝{ţöîwż§9lĽüĺÚ=ýé?Ý˝ĺ-o™üťzÍë/ţâ/şĽŕE}”–Oű´Gv_˙ő_ŰÝć6·éÎôE×\óţ…sÇ˙ńKv ćĎ쮺ęŞîńŹ˙âî3>ăÓŤ#"""""""""""kŃš "ç•wĽăÝżý·ßŇŻ>—Ý|Ň'Ýsň{Śż÷Ľç't"‡˘SüčŹţżÝ7ó·îé\1Ĺööv÷{ż÷üîqŹ{|÷˛—˝Ľ;—Ľýíoď~ŕ~¨ŹÎóŽwüu'"""""""""""˛:XČĐţ?űłĎędĚgöcşG<âaŁďŘŢ€¨·»Ýí:‘ĂŔ|>ďľďűľżűÍßü­îúÂV9OzŇwvŻyÍk»s Ű–|ŐW}Mż ŹČ^¸E\0žůĚźíîwżűv˙ń÷čd`ssłűˇú}e÷ż˙÷ëşK/˝I÷©źú©Ýťď|§Nä°Ŕv@ř‡/čn('Ožěľ˙ű űĺ_~vwüřńî\ň|°ű¶o{r÷ô§?­»ŰÝîÚ‰´č`!"g…ĎřŚOß1€^˛ü|Í5ďďŢö¶·÷[‚ě[<íi˙Ąű/˙ĺ?u2ćľ÷ýäţ%rŘ8qâD÷3?óßöüýرcÝCň îę«ďÖ]rÉ%Ý?üĂ»şľđĹÝ;ßůÎÉă˙ţď˙ˇű?řĂî1Źů¬îL¸Ímn˝üűšk>Đ}ä#Y{·?üáîIOúŽîńşK/˝´©č`!"g…Żűş'î4ołëű×˝îőÝ÷˙vű·;yá˙1¬ŢńŽwěDäđóęWż¦{ßűţiň·«®şŞűÉźü˙şŰŢö¶ŁďźřÄŻî~ôG˙ßî9ĎůťÉóţěĎ^yFß÷}ßÓ;}U®˝öÚî˙üź·uôG/ěž÷ĽçőNSŕđńŚgüL÷ÍßüŤťHE 9§|â'~BoP}üăźĐ]wÝu“ÇĽôĄ/ëľđ W_ů•OěŢřĆ7î:îꫯîžő¬göżä%˙«űĄ_ú•îMozso8…Ľŕů“«Î‰”ÁńüÇ/éŢň–·îP˙~çśw—]viwó›ßbçşwíîsź{wŹ|ä#şË/żĽ›â»ľë);×Ńäo_űµ_Ó=á _ÚíÇ/˙ňŻt?ń˙qň·Ç>ösşďřŽoď˙~ÚÓžŢýüĎ˙Âäq?őS?ą6ŞĹŮČ+é$˝S|ĹW<ˇűšŻůŞ]ßĎçóîŃŹţ¬îýďżf×o?ň#?Ô=ěaŮő=[ <ń‰_?u›>˝ż˙űżŰ9˛˙cę×ý7ş˙ďlň·űÝď“»˙řrßóßóž÷tźýŮ˙˛—[ËMozy÷Üçţvqa "+Ľŕ/č^ůĘWuoű_u˙ôOďďŁ7°­ËmnsŰî®wýîx@­aŻk„—˝ěĺÝżűwß6ůu‹:6Ĺ~2üâ/~\÷Mßô ËϤíÁ~řľÇnmmőŰ{<ç9żŰGźáśÚîN‡·˝ím{ţö­ßúÍ»ś+€­qříůĎ˙É~â=ďyowCˇo ?âő„'|I÷ťßů”ýß“ÇRŻľěËßÝň–·ě΄ýdü“?ůcÝ?˙ç÷ď˙ţ›żů›ť6ö«ÝË_ţ§Ý»Ţő®îčŃ#;őĺ®ÝçţçM¶®ű»żűĽî…/|ŃŽ|˙˛wąâŠ[vwąËUÝcóľŽ!Ă3áÍo~K˝×żţ Ý_˙ő_÷[¤ĐŽi{w¸Ăş»ßýîýué/ÎŇűĽçýŢNűxa÷çţýµovł›î¤÷.ݧúŁşĎú¬Ďě666şłÁßř¦ŢićőŻ}/WîE{»ůÍoŢ]yĺťş{ßű^Ý#ńđîv·»]w®yď{ßŰ?Ď^őŞWwo}ë_ô‘ś(+ú1ňë[ßş»ç=ďąÓŹß§ßk6›u"""ň˙gď,ନÚ0ţ*Ň ŠŔ‚„`K·t—˘"´t‡€”Ňt ©(Ý’b ’ŇJ‰í7Ď»ß\îŢťą9w÷.<˙ßoŘáĆÜ™3çĽsΛ„B!„BH‚„°ě0®ZµĆň}” „‰'Ëôé3ýúěĆŤ› #űX9}út¬÷`ř† k×®—ŃŁÇŞóŤ7^7 žwÇřl… ĺm,ŕĐŕËÁź±ŁB…râN]káÂm,öíŰgůúńă',ť+� ¸VFc»cňűt®�eË–1 ףՠëÉ×_ď–ëׯă$¶ßG›Y9W€rĺĘY:F\ľ|Ůhżqj@†C‚'0đbŁÁĘ•«%MšÔҤÉR˝zµ6¨ţő×_ҡC'ٵë+ Ü‘­Č™3‡í÷P.$qâű,,ŕěâ$pś>|ĽöZ#Ëě:čOK–,“ ę‹S O�8oxöY\32`ø„ł‰Éž={ĄWŻ·ĺ矎q<8ř`۶m‡ŃŢOĘ€}Ő€ď 8h 6BłYG!lřÝ ĘŁŹ>ŞçóĚ3O‹?Ŕá¨˙š ÄťK—~1¶ŻôýE‹í?XBáÇŹĘСĂ-Żăďż˙VÇ;´Ůöí;eüřIRşôóŇ®]c<¦§ÁoM›6S>účcËR4¸×ř îäáěŮj6—–-›I±bE…B!„B!„BHÂÁ™đABńAŽŮmß»|ůWń—/ľŘĺ—sŚćÆŤ”nÝzZ:Xqýúo2cĆҬٛráÂ…ď.\H#­@ D.ŰĂÚîÝßYľ—!Ăj §Ż†Ôĉ[~×jĹwßY_@dy ÇhoH–,™/nm „‘ĆgoŘ9Í€*U*ĹzíŕÁ¤^˝×dٲĺ–ÎV űĘ_téŇÍŇř)Lť:=dç €RAŹ?žÇrótćqgÝşĎÔ°o˘ýťŽ7oľŮÂö}dq’k×®ŞĂ 2®X9™,\ř‘¬X±J÷aŚoÓ¦},ç OɤM›>ű×ňĺ+ĄAF¶ÎV>|XZ¶l-Ó¦ÍđůYdÄh۶C,ç Oöďß/:t‘żţú[‚íČu@F±ěµ×^ײUNň믿íÓFť&ßGŹ5dBw•Ă„B!„B!„Bt° „Ä ŢŇÁŰe°bćĚY~}nÄQM Ȭбc×Ć2dS(UĘ:ő?Îiáíرă Í`EůňĺBÎjŕôµ"kCŢĽÖeiř=ůö[{Ł%ś¬®Ďë hŹB… ŠżTŞTŃö˝-[ěŤäżüň‹­Ą {,WŚ×ĄŁU«6ráÂE †Ď?ß*Ýşő¨żÇ¸˙ |$ńĘSŚ7AŢ~»źĺű™2eŇ’á�%0ě§ŕ`–r‚“'OËČ‘ďůőŮ &ĘŤ7¤_ż~ź ö“&Mµ}ÍšušYŽG‚Ň!“&Mńę܆ńŃ·ď�żŹ8 sçΗ@#Nż~leŞ7ŕěÔ±cg=W'ŔXîÜą›^K0 ]'LäŐŃ‹B!„B!„BHdA BHśpřđʶďĄH‘RüáÇÔúľ€±Ę—Ă24xsú8xđ Ś3>Ćk+–·ýĽ· [·z+bL×µzË ±o_lc˘·¨pDë˙đáŻ!ęŰ.*?gÎśĄń/X°€<đ€őç·oßakđÝ´ił­łCµj•cüÇčŃŁ—«ĚC°ŔŮćfK¤±|ů Gť ě@¦—ňĺ+ą¶˘EKĘK/ŐŐ6±2ügÉ’EFŤnYŞĹ %Jd›A}Ă)C<@Ů8(ůĂąsçĺ­·zkIź@X¶l™ĄăĆÚ;ď ’P“…ÝX1bdŔZ–,YĐçţůŚ ř®:&Řľâ­ĽĆpĎž˝˝Ă_věŘ©YFěHť:•(Oňĺ{NR¦LaűąaÆűíB!„B!„B!$~ń]ŕžBBäÜąsňŮglßĎš5‹řgZ}ŐS¦L%ׯ_“óçŁË\ŔH5jÔű–߇“AŁF ĄV­†á+µ~v×®/ŤĎŹŃčoO/^"ő꽢e<Ŕ“O>aěg°t Řąs—žź§!FZů­€#A–,™%XÂy­… ys°Ř/ĺĘ•qý™ |‚Q&$OžÜ®˙ďÝ»ĎöłEŠřWÄ×Zľ|yůđĂ9±ŢA{÷îoĺąçbgä@9+`śEfwĐ>GŽ;`D­^˝ş¤J•RK*ĚšőˇÉ­@€jŐŞč}‰ţřă×>Ú3}úôęsĺĘĺ3¬¸ŁöĺËW|~.cĆŚF{V‘—^Ş-÷Ţ{Ż„“GÉdükíuňä©X™L‚Ĺt )V¬-ZÄ[×eíÚĎ4S†[·FgĹÁ}¨QŁşdËĄçłhŃ'¶Žx}Ďž˝ZćÇť±cÇŰ:?ŔɤzőjĆ9Ö.óç/ŚŃ'Lp˙1gĆŚ)1^?tč°Ę@;đ+V0Îë)u�cÂĆŤ›%PĆŤŻ™=¬([¶´4nü†dÎśIĎóđá#2iŇdÍă Ć(J†¸Ë±`đV‚¨nÝWäÍ7›ëµ<aĄD<ątéůꫯĂR ‡B!„B!„BłĐÁ‚VPN˘{÷^^Łă ( đřăy¤K—N’#Gv×k0^Á8¸~ý9{öśĺ÷:wî 5kÖpý†/d?€µnÝúš>ŢWŻ^# ľ¦˙‡ˇą|ů˛†qńXdžŃ2ĎŇp$€ńĚŠŠËI(lذ)l×úŕé%**ĘŇcďŢ˝1ţď-{… ŚľîŔIĂoŮ3ě¨RĄ’Ą€ŐÓÁâĘ•+Ćý˛Î†ŹT©RĹxmŢĽ…bŚßÝşuvýĆíçź/)Mš´°tĆázÉ’e®¶Ž$ŞT©,M›ľ!éŇĄs˝ćéŘn0ĆĘ”)­÷,ÜÎ ujű :pŢr’ ęK‹Í\˙ůĺ—´d2›Xq;zô{*óLŕ ńꫯçf-SĎś9ă˙ŃnĹŽŢ˝ßŇ67É—/ŻĘ±6mÚ[fĂ@9 Śy8ś™ üËljá<€1§Ąwß"ţrţüyŰë€sE˙ţ}]˙‡¬ÎžýQ2d´k×ÁŇůcéŇĄ!;X\¸pŢö˝Úµ_p9W�8ßµjŐBŽ;ŞNF(}óČ#Ťíc?z#„B!„B!„ů°D!Ä>řŕCMóon(9ĂÖË/דC‡Ů~ď±Ç“lŮ˛Šż<účŁ2nÜčÎ�Ć+Ő6mÚdů˝téŇŞQĎŠ)RHŐŞU,ßC¤µ;ŢJzXEJoÝşÍňłČP¶lhĆ˝p_«ťŁĘ}¸§ł˙î;űů&žiô÷íłÎ` Ád ŠĘ"ąrYoóćĎ-_ł*IŕdŕαcÇĺÄ ëRÉ“'3 ŃoĆzý–-›‹ÁDď‡ô™·ŢęĂą„«<‡«WŻ•Îť»Iµj5eěŘ –™ś�vZňÂ÷ÝwźĽţzŻÁ�˙ĆŤlżSĽxŃÎ�YfjÔ¨aűťË—Ťń”/˛+…Ě+îÎ&pŞ\ą’ŘáŮżůĆľtB¬23ŕőB…üw®,µ+ŁŃ´icË×ńL¨WŻ®ĺ{ß~ű}Č} ŮEěŔsĐĘ9iذ!2yňéŐ«‡:Y•.ýĽ:Ä…3!„B!„B!„Đa B#|ôŃÇ(0~!˘7ŢxَWŻg¦”k(Q˘´í÷ě˘ô‘JŢ”ô@iŹĆúěÖ­p°čă5+§ /ßs’&M …p_káÂ-łBŔ(ůăŹGŐ(ľűî»Xź#ŚűńičiÓ¦Ő˙<řX,p> †*U*jt˝'§OźÖóÍš5Ęőš]ÉšÔ©SĹr,ŮłÇޤxńâr˙ý÷[ľW˛dq5šZqřáË’2ń ýČ\I\»v]fÍš-;w~!ď˝7,l%U¬˛4Ŕ)Â)±ŔęxŢĘeË–Íňő¨(űďx:!ŘÉ €Ň:vT¨PN>ýt±ĺ{žcâرcb˛ËŘżWE¶oß)ţŕé¤ĺN˝z lßł“wxýĉź\r,rćĚ!+W®¶|ď“O>•uëÖi&–9r21›ţÖ>čhŮB!„B!„B!q 3XBâ ¤Ë÷,Ýŕ‹§žzŇö=J=Ó㻚ÝfŚĽž™*T(kůY8:tÓ©�çräČËĎV¨PAB!.®mť$‰µó€éČ€ăy:KdČA%<1 ˝(Y`W6ĄpáÂ,ĺĘ•µÍFŕžĹâÚµk˛k×W–ź«X±bŚ´ţŕäÉSbGž<ŹŮľ‡sńĚ´b‚ڧO˙,‘Ę„ËÁ8íرŵ­YłB&MŻĺl<ŰÝÎ(ýű”˙ţűOÂÁĄKżÚľ—$IRqŠűîłÎPŕ-sťν÷úďřńÓO'mßË“'·í{ąsŰ÷m”~2Ay$Č+pţvc�<ńDń8CŘŚĽżüň‹„BĹŠle$¸zőšfű4iŠtéŇÝč絥L™ňҶm{u^;{ö¬B!„B!„BIXĐÁ‚/ĽöÚ«ŇĽyS ”¸°†ópaŻ\ąă˙(ía—eáóĎ·¸ö·mł.‚(ö%ŠI(ÄŵŢu×]–©ýÁŢ˝űőďc1sçÎeiśÝł'ş,]ö Ř Ě/Á’<yr)ZÔÚAenîołÍZ`m#©)R¤o¤Liß_Ż^˝*‘JťÄĎď&—'ź|Bşví$Æ ¶WČrđÍ7»%üôÓ Ű÷~ř!IčŘ9?€)’Űľç;ç÷1 oÇ÷–‘&§o×,W®„6ń<ęÝű-••ţrýúo˛sç.=zśÔŞő’ 2ÜkB!„B!„B‰,č`A‰S˛fÍ*ďż?RZ¶l.N®wĎă>đŔňÜsĎX~ö‹/vYî»ç »˛Áž“Sx·Pˇ‚–źc°*ňŘcÖćgí,žxâqI–,4CĄJ-_ß·ożËyÄÎń%wîÜ•%ÖëŢÚ:”űŔ21A_+S¦”íűk×®§A9ŤożýÎň=8x+ß‘PĄ˙Ú˝íoßőőą@ĆO8džÇ,Q˘¸Ś?F˛gĎđwŃ˙-úDZ´h-żýö›B!„B!„B‰|üą#„�ATo˛dI%cĆŚ’'O)V¬HŔ%A!iRűtţµjŐ”.]:ŠS Ä‡U™‰˝{÷Éďż˙®i˙í"î+T(/ˇW×jç`Ň'ČńÝwßÇzď‰'žL/éŇĄ•sçλ^7ł]:tČňEŠ’P)\¸¤Nť*V ”äřę«oÔąeçÎ/,ż[­ZeË×˝ewřĺ—KâŤ_~±/?áíşóĎ?˙ÚľçYľ&ľÁúŇ%ë6<đ– dĹš5ë,ß;yň'qšM›>·Íb+W®ˇ"Č`;~ýő˛¤J•Ęň=ŚU;ŁҤI\ű‰'oÇÇŘłËba×W|ý¦;Y˛d‘yófK|ç°>fČŻeÆM˛{÷·rôčQ˝v@ÉĄéÓ?7ßtŢńB!„B!„BłĐÁ‚âK–,2 ęé$>AJ{OŁľÉ… çĹIžľ„ 2Lţř㏯Ăé�ńiҤ‘Ë—ŻÄúŚ˙ve7!®®5mÚ´™íéë<vě¸f†pi3{ĹSO=#ë�ľóÇŚc±ü­Â…­Ë{ĘŚ”+WÎ0¸ÎŹőîKÚ´XŢ´g™2Ą-Ź™1ăĂbj^|ńË÷` ĆőZóCepýß[¤˙™3?{yď¬D¸ćĘ•«[ľ‡r)«V-÷ú}o%~űíwq8Ś?ŃöýâŋʭŔ#Źd”ďżßcůŢŢ˝{-ł¶Dż·Oě€Óś ,ŕÄaUJýkŐĆŠďľł>/ëß|XöěŮëő‹/H$€1ś7ďsş<>˘˛óŔäË/ż’“'OÚ~ĺĘ•t° „B!„B!„�K„Bn)rĺĘiů:˛IŔŔoÇąsçÔ čošv8Ř`żüňkůúëŻ-ß+S¦Ś:8A\]káÂÖY,¶lŮ*.\ŚńJ§Ü}÷Ýş_ @ţXß‘ńçźc; ¤OźN˛eË*NPĄJ%Ë×÷ďß/;vě´|3v%‘Ă´Áőë×-ßű쳍j`¶"gÎśęÔaâ­4 ˘âíîŐÚµk%’@ć8Yl6l´ý. Ň+W®¶}?MšTâ(Óµkwůé'문7ŐŞU‘[dW°Ă[{{{ĎsL ‹„K—Ú;Ő,^ĽDüĹNŢÁ±ĂÓŃËŚAČť@˛e 2U@®ˇ,ÔÇ/’‹/ęX@F–5ŞK·nťĺŁŹćIßľ}lť© Koܸ!„B!„B!„B":XBn)Šłvz€nćĚY–Á»ď–7Ţh*ĄJ•3 b/H‡ťdĚń˛}ű±Ł|ůr–ŻďŢ˝[ł%XQ±bčĺALâęZQvĂŠĺËWĆz­`Á®}+ mqž*zy“GͦY7<9tč°Z­¨RĹş<Čś9“dĘ”Éň=´őČ‘ďÇzýÂ… 2a‚}v”*qçŇŘ~ĺN†/F9´áŚČŽ_H¤á­ P˙ţďČúőb˝4Nź>mű]dD 8pěß@űúË/×µ,ńcRłf Iť:µÜ )RضDśw¬)ľţúY±bĄí1=űďłĎ>cűŮ%K–Z:6-X°Đv<ZQ´hŰ÷ĆŤ›`[ŽcîÜůŇŞU[©T©šT¨PYZ´h%C‡ŽO?],ţrăFěě)ăť:u1úR=Ł=J}¦¶´iÓ^Źýá‡ó,ŹSľ|YŻcet!„B!„B!„D6ÔäBn)Ę–-#ŁGʵ,50eĘ4-Q·îË’!Cty¤p1â=5(š ě¶mŰvưԆńß:^GŮDć»”řV†âGyÄ6U~0ÄŐµ">yňd±~Ç*Ý˝ű÷­Ę‹?~\¬(RÄ9 PĄJE92fydŘ˝űŰXźÍáAWZ;ęÔ©-C† ·|oٲĺZ–ĄZµj’*UJŁťˬYZ–ol÷ĚŽ€¶Bć8SX±|ů ٵk—<óĚÓŹŇ Ţśâ“ęŐ«Ĺ( ăîAĎž˝Ś~›^Łű'ľ_Ξ=cÜ—ďĽf]AF‰Š+żôíŰ_ĆŹźŕú˙µk×ýÎŘ‚Ň;Íš5–[”n*Uޤ¬[÷™ĺűĽŁ%DŠ+˘~8=Ěźż0†CŹ;ąrĺ’'źŚ™ÁÎfvN]8NÇŽ]ôţˇ˙ţőן˛uë6ůüó­(KR°`~K§"śs۶íĄE‹ć*c1Fŕ´3eĘôŽŐČđ ׋ě&ČĽG+G ŚidŰČť;·Žńx@Ë@8p0V0wî<ăs)¤víĺľűîÓ×p\8›ś?o]ŇY@Ěě?„B!„B!„B":XBn)`ĚjÖ¬‰F[±páGş%NśXŤpŢŚ®pž¨T©˘íű(őQştiM ďRŇ_Ľ;˝“Ů+@\]+ŚŽůóçł5ĐšŔ䡇ŠńĘ‹¸;XXăyľ|yĹIĘ•+kńÇىÝÁuŰĄí7ÓŔÇ*Gޱ|F_łIĽţzXŮĐĆčK¸_vŔacőę%AĐć0$űë<ŔY%W6lŘdűÓ±Ç_5jpF ;oŔůeđŕwµĐ­Ä›o¶P‡dńđäźţ‘E‹>ŃÍ'íŰ·‰őzÖ¬Q:Öá¨e~ŽHŘBˇU«75óŽç ^ßµ«‰:)$N|źĄă™ ®ŁnÝWb˝–6íröěąXźŹÎü3D÷6|Mš7oŞźŻV­ŞL›6ĂňócÇNéÓ?P™wúô©XÎxîŔ)ŚB!„B!„BHäĂ!„[ŽZµjŞ×¨uďÍ( ăYďŢoIňäÉ˝F*T('ţČgý%®®ŐźVŮ/첸óěłO»˘Ľť"UŞTjđő®˝J•J>?gšűIҤI$ Č'Ż˝öŞĺ{Č’g@hÚ´±ÜuW"‰4zöěnÝłŠ”)SJ4¨/á&I’űeذÁŽf™‰ŦGŹn*čovĄZÚ·o°cŠg©_ üO۶­Ľ~™PĽ9W€W_­§Ů4<É›×·Ł×\űp–ňÖĎ!w‘ýbßľ}^ť+{ě1yůĺ—„B!„B!„BHäC BČ-Ść}űöQĂl0 Ú¸Oź^†Ţ·SĘg<üđĂ~}Î3»ÄŐµ*TŔg–|Ć\w˛dI˝~ĎźvoŮGLž}öW _dÉ’YĆŚy_Ҥ ,“‚ J ;˛UX~Ô®]kń—˛eK놲‘FҤIe„1’?đ™IĐßęÔyYúő{Űgß ¸§L™äx&•H˘|ů˛Ň«WŹ ú ÚżI“7ÔˇŔdSéŰ··ßÇGiž6mZI ĽôRmă{oÚŽ#_Ŕ‘ˇE‹¦–ď˝új]źe:PÄź5j¸–M 8zŚóËB!„B!„BH„[8 ĐO ŠéŇĄőű{ůň=gZ'”m†K_8]Äť¸¸V”gđfDÄ9ŔYÁd~@yo)RXÂAѢE´ô‰7ŞT©,+WNůđĂô{¸6Hť:•tíÚI† ä3SJ‘Ŕáíé 8V ëD €Ś(ŁFŤ4úeOżťXLĐ—&MŻ'ÁŇý!sćĚŇłg7™:u˘DEe‘[ťĘ•+ÉŚS-ł7Řń裏ĘرďËoĽîółĹŠ•1cF©ó„7ŕŚńţű#}f˛ĺ=&N§Ž1ţ’)S&yçťZâÄ®OEEeQ‡o™8‰âçźĎ¸ţź6mZu&Bű’áŽZ;¶ÓvH’$´Ě8„B!„B!„BâŽČ´ĘBCŔ Xľ|9ůüó-˛mŰ9xđ9sćgą~ý7ą÷Ţ{%EŠňŕéĺąçžU< čç‰iÓfŘľxéŇÁe„p_+Jněßżßň=”ůŔoX2!ë×o°|†V2€Ú˝L™2ňŃG[ľ#ŞŻň*V¤L™RŢz«»4nÜȸ®őňĺ—_ɱcÇĺ—_~•?˙üÓ8nbI—.˝äĚ™ÝhłÂZÁ—Ă„;čOĎ=÷Ś,Y˛L¶nÝ®÷đÚµëę,’'On©V­jڬ‰E*W®¨×ôŐW_kżDą„S§Ni‡ż˙ţ[ťNҤI#Y˛d’'ź|BJ–,ˇýÂIŕ ű’2e*ýťś9sŞcĆ@¸łcD(ł1~üc, 6Ę÷ßď‘ăÇŹkű÷ßŐIŕá‡3JîÜŹißÍ›÷ą€Ž˙ôÓOÉüůsdĺĘUňŮgä‡é˝F ”Ó(]úyu$¸zőŞ ˛ăLź>Yľűî{Ů´ésă:ľ—“'OÇĽ¦÷ă%Mš´Oˇ4OÁ‚ürÖLxüńܲl٠ٵëKclÓ¶A_Ĺ1łeËŞăÜôadř¨Sç%ٲe›öudşřő×_ôÚŃ˙đÝT©RÇÎŁÎmp<ł“™„B!„B!„B"­ wřůŢ~ü˝Ăć˙ćv§Ű_sKô˙×ylxáŹwţůç_Ű„BqŽ/“&M±|Ž =ztB!„B!„B!„^îąçn¤4˙×Ř®ü˙ď?Ű˙˙űŻŰöźŰ_ĎMlţďíŻçľ'ŢŢSÁ‚BČ- ˘Ďí¨Z5°ň „B!„B!„B!äö†„Bn ľţú9qâ„<účŁZ `óćĎeÝşĎ,?›={v-1@!„B!„B!„BżĐÁ‚BČ-Á‚ eăĆÍ~}öµ×^B!„B!„B!„B„B<˙ý·|ńĹ—~}¶@|R¶li!„B!„B!„B!$č`A!$Áł{÷·ňŰożůü\–,Y¤Oź^B!„B!„B!„BH Ü)„BHgëÖí>?S¬X7î}Iť:µB!„B!„B!„(Ě`A!$Á“#Gv)\¸ ś8qR®\ą,ׯ˙&É’%•Ô©ÓČ3Ď<-eʔҿ„B!„B!„B!„Ë|î‹}oď°ůżąÝéö×Üý˙µDŢKŽżţů×6!„B!„B!„B!„BHDqĎ=w6ţüklWţ˙÷Źíż˙˙ý×műĎíŻç&6˙÷ö×sßoď),B!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„Bč`A!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„Bč`A!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„Bč`A!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„Bč`A!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„Bč`A!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„Bč`A!„B!„B!„B!„â:XB!„B!„B!„B!„ř€„B!„B!„B!„B!> !„B!„B!„B!„BîB!„řňËŻäСCRşt)I—.ť¸…íOČ­ÁŮłgĺ‹/vÉĹ‹—$iŇ$ňÄOHÎś9ô˝«WŻĘĘ•«tŚ—,YB"o×Bn-~řá|÷ÝwríÚuyŕ4’7o^yđÁôBBçĉ˛eËVyúé§%wîÇ$$4ŮBČíŔż˙ţ+«WŻ•ßż!•*U”{ď˝W2ţ®U®_ż.;v|!§Nť’»îJ$ٲe“|ůňĘťwŢy˵ I8ÄĹłřv‚c™BČ­Ä|î‹}oď°ůżąÝéö×Üý˙µDŢKŽżţů×6!„„•Ź>úX† iűţ=÷Ü#iҤ–¬YŁŚĹsi)_ľ¬$J”HH˙ţeůň•jdX·nµÜîLź>S&Nś¬űË—/6úM‰T|ő{+š5k"ŻżŢŔň˝‹/ĘŇĄËeëÖmŞ<şzőš¤J•R˘˘˛Hąrĺ¤B…r¶ăćÇŹJÝşőí~Vî»ď>ăX© eT”*TĐ8^YI–,™„JáÂĹu!\ŁFuéÖ­sŚ÷ 0kŐŞ­î§K—V>ůäŁçßşu[ٵë+É”)“,X0GłřjBHäůúţűc ąP÷MŠ+"C‡ÖýćÍߔݻżŐ}ČaČc“ożýÎxî´ÔýţýűJٲĄ%ľđçZČ­Á•+Wä­·zË_|ăő¶m[É+ŻÔâvk´o­ZµŐqĎőYłfčËiĽÉ–¸"’d!‘Ŕ¤ISdÚ´şŹń€q‘Pńw­˛rĺj>|„Ę<“äɓɊKĺ®»îJPmňóĎ?KÍšµuż]»ÖR§ÎËB&qő,•HÓŻ-_ľÂŁďč>Ú,{öG]ďÝJňÍ)ĽÝżµk×KŻ^}$XňäÉ#S§Ntýß—NŃŠ|ůž“ŃŁG !„8É=÷Ü]ŘřĄŃ•˙˙ýÇcűď˙˙uŰţsű빉Í˙˝ýőÜ÷ÄŰ{ K„BăĎ?˙4“g Ăńvé×o€4nÜ\Îť;'äöbäČ÷Ą`Á˘şýóĎ?Bn˛hŃ'R»ö+2aÂ$ůţű=réŇ/ň×_ăäĽěÜąK•ěŤ5Őq ż˙ţ»*t¶lŮf˛FHőę/ČěŮĆ0r9ÍéÓ§]ű.\Ôs q‡Żöß´iłk<îÚőĄ„ ĺë­ÉŚČĽyó]˛:uęT’2e )UŞ”ë3îcý§źNI¤âϵ{ŇďŃŁ—ËąŃĹ0śÝ˙ýňüóĎ uLC#úćwáŔ›lAv ł?bîJâŽúő_×voÚ´…D:NőÎYoâ>.Ož<-‘Š?÷Ěźµâ7ßěÖu°)óŕp†gJÉ’%ŐąÂó8‘Ü&qÁí$›ă[.ÄŐłřv‚c™BČ­K„B‚^řŮłg‹ń ŧO˙,ëÖ}¦“ćýű÷K×®=Ő[ŠWB:VýŢŠś9sĆzmáÂŹdřđ÷tŠ˘âĹ‹Ę3Ď<-I’$UG¤őë7hęÔJűöťdúôÉ’8qbŰßH‘"ą´iÓĘő˙˙ţűOS±ĂYc۶íşř˙í·ßdĚń8p`Í2ă4*”WĄŘÁ‡¤nÝ—ŤëI"$î`ű’đA¦$$Éý2~üXÉ‘#»ţrݤ{÷®Ć{“$}ú´RŻ^äfđçZHÂçرă• rĺĘ%#F ‘Ô©Së}ľă“dodĚQZ¶l®QÝyó>§™ÉÂAB‘-„ÜN4iň†:#ܸń»tčĐV2ţ¬U>ţx‘Ë1łGŹ®R­ZUÝwź;ÜJmBqő,ľťŕXŚÇĎ-˝ző°|ońâĄňÝwßë~űöm$iҤ±>“2eJ±ŁPˇR¦Śď¬a<đ€B±†„ Č›÷Y)Z´ĺ{Ť7’NťşhTś,>˙|‹”(Q\Ičxë÷޸té’Śť–/C† ňŢ{Ă%sćL1>óÚkŻŠQjś:vě±XZâ5ťhĺĘ•Ť­’ĺ{PFíرSŢygś?Á[eČáňÖ[ÝĹiŕ´Ń§O/!ńŰź„ÍŤ74›@–Ó!¸ŞˇĐŤtĄ®ż×B>(qfňň˵չđ>; ć†ŘÂIB-„Ün<üđĂ2fĚ­‘ŽÝźµĘ©SŃYpݦsp¦ÜJmBqń,ľťŕX č+WÎ`ůŢ×_ăr°€ŁD Ąa˘˘˛Úę !„řCĘ !ŽEt·n]\˙÷¬ÍLČíĆ� O�uX=ť+�˛Ľ´jŐBÓk­[·I°@eůôéS$S¦čßZ¶ląq»„BHäđ÷ß»öÓ¤I- ™[éZwÜďőÄoťoB! ó™Âą!„BIH0!$,<ôĐCj(F‰‚K—.Ú~îâĹ‹˛dÉ2Ůľ}‡Fí#M\ŞT)ĺ‘G‘çź/ˇ ľĘlŢüą¬ZµZöěŮ+żüň«Üwß˝ňđõĂK/˝h™&͝ÇŹČÂ…ËW_}­ĄPľ^Ő ä—ÚµkIúôéĹđFć~ .hÝĐgź}F^˝ˇdË–UśâÚµk˛|ů WÔL—.ťäĚ™]jÖ¬!Ď=÷¬íw[·n+»v}%ůň='ŁGŹŇčĂąsČÎť_ČŮłgőśsĺĘi\ó‹AE˛/^JţüóĎŻ)Rµ?xđ;¶™LţřăůôÓŲrĺůé§ęl)Sf©T©Ľ^—Ż3Č{¸eË69yň¤ÖÇD;ÜZµjHîÜŹI|ňôÓOɸqŁu?OžÜ¶ź»ďľűÔëăćÚµß$TĐH'جYKM»:}úLÉź?ź8MáÂĹőř5jT—nÝ:{ý,îŐÔ©3d۶mZŇ$eĘępR­Z5)Uޤ$J”Čň{f˙EY•ńăǨĚ;wž1ćĘ•+Wő:=˝ď1¶‘6ii1^ ĽC›äČń¨~¶X±˘–ż…’*h3€űöčŁŮä>”Ť7É™3g$mÚä“O>Ňš¬UŞÔĐ~˙ÄŹËäÉÄČ*Ň®]GÝoÔ¨ˇ4mÚXśŔŞý۵ë`üŢ1>׺u;×ţË/ż¤i$%y‹~7qâdÝ_ľ|±mdęęšçřÎ;´?xŢô+Vrc‰=zÔó˙Ę>¨ý»NťÚéa…SÇq'ąěŢ6;vlŃ´ű3g~ ©÷‘:µRĄ Fßî”|ýá‡C˛hѧúlĂs  ˙ăڢϹ`0ű[ÆŻIóćMőľÍš5[öîݧí÷řăyŚ6n˘c ŁÎŞUkŚgýR-„Ď Ý.äűK/Ő¶ó ”9‚yž8—×_o »w+óç/ýűh–…Ô©SIŢĽyĄ^˝W$**KŚďnٲU:uęŞűćuzcܸ †Ś­űČB ao`ü4nÜ,Öë3f| › śä{,×˙÷ýGľ€óŢŇĄËô~ýő˛1WKlĚS˛IÉ’ĹĄjŐ*.'? ćZLśÓřóLp÷ŁGż§ÇEüä“čqź8ń}:ďyó͆|O«źSäüů őÜ~úé'ą÷Ţ{ŚgGcŽô‚ϬlÁôŰHăv ŹŁŻ{âţlAił Öş˝řłŰ)™şuë&ůý÷ß ™:KŹuţüy5Ţ!]=žÁć=řůç3† űPĎ ÷.Y˛¤:|íµú’=űŁ*ˇ¬Ěöłě‚sl?ů ů¶oß]Ëŕ7ž|ň iĐŕ5wcÇNP9ŤkŢĽůłßµ’-V÷Ú}LgĎžÝ8ŢôXçěĽËI°Ř´ésCÎ-5Ćß msŚqśs©R%UÎůZ[:ѱvٶmł ătíÚőşöJ”Č~Ťc%O™Z°ŕÍv[»vĄŃG“Ĺř d©ńGŽ1Ö7´” Ö+V4dG1۵T(ëĂ`ű‰'ÁÎYCąOţ™€5ć¶m; YqÚ)¨<Çřňç7‚íŹîĎ­ţýűJٲÖ)ÜCY‡2O ôžY­U¬ž{žý˝uë–Ćď× ¨MśľŔk‡Ď>Űhô˝Sň×_«ţ«J•Š:·ő”ő\˝zŤ|˙ý^=Ď»ďľË‡¤Óţ…ů†ç3(ľds¨ă Ś\ő<íđö,vZÇć)×._ľ˘c1ş­*ă¦ëqw07ž?˙#ť˘4í=÷Ü­ë‰W^yŮç9úˡČ&OpśŤ7ăőS]gcíď.\XŢxَ¶Ăo43ćQ{ Ů“_Ţ{o„K(s1B! :XBÂÂ/żü˘Fb&Ťu˝6,° ,ׯÇ4$ź;w^7LÖ?ýt©Ś5Ür�Ąi÷î= …čÎŻ˙ő×_†ó€n0Úż˙ţ{’%KfËs7oľńţXWÍO€ Ś@Ř.üHştéd,<+Z~ řÁ‡©˘ŢťK—ţÔEŃćÍ[dřđ!âP8tëÖĂ•~Ű‹lř=(îaŚóf A)Sd2čŇĄ»¶ˇű9c1ŠÍIăŻ/®^˝&mÚtĐŶ;Xä`â%5îľűnËďCqŤv˘Ţ,H±a1Ź-ŕľ5ÂŦ×ÍPÖ`!˛dÉ$N�#g‘"…´L”*gÎśőë\ÂîGÓ¦-ÔplbŽw(&-zZŤHÉ“'÷z,\GŽ|ßö}t±€ť3gnڱmž6,´±ďŰ·Ź×~ĄFŁFMUié ÎłX±"˛~ýC1¶GŹ ĺšpL�Č0RµjeIH8!oťdŔ€wUůä ĄŘ>ůäSéŮł»”/_6ěÇqJ.›Ç‚Žůě (Đ`Tôě˙ćyá™…ľ_ŞTI <#‡/ĆkpÁµLť:Iť§zöěĄňÇ<_GŤ:¤ĎČ÷ßi)ßCť#@@ń<a¤ŻCF+{× Äţ†ś,ězŻpáB•YĹ7|vĄp||Ŕ!Ç N8ŔÜfŔ€wdÍšu1^ÇłĎlsçΗwßË"89v|=ÜÁĽ­WŻ>*·MĐ6pÚłgźaĽ¦rżM›öz&pEßƆ4ѨÇm…SýÖq5Ɲğűädż€ˇóK8ą`ÜCŕ™>`@?ťwëÖ3†Ü…ó'î#ć Á:ÄĹÁśďĚžýa¬ßŔůCö4PÂŤ“ó®P€M—.=´DĄ;«`ěa›={® ň®­óŚ“}–fÍŢTă“;掻#GWçţ`ÁşˇS§nú\uý} Śíôu•ň±"ŇÖ‡ľpň>٧â·ßîk^YŽăc{ĺ•:Ҷm+Ëď;Ń˝áÔ8yR¤î60˘vîÜ5Vß.cÔ¨1jXďÔ©×cŔŽůńÎť1łKb>rýú1}nˇíqďpĹ Ůę8pJFů"Ôó 'd¨ť\‹žCn’ 6©#ć/)R¤řóĚo0Ď1Á5›ë ¬›ŇĄK+ˇŞlÂ8ĂswĎď/Zô‰Ńg6ű ń÷<#a.F!$~ !$,Ś7ѵo]€(±>}úęB 9°Š)˘ćXP¬YłF'˘‡–ţýZz:Üeěâě…jÉ#ŹdT#5˘8`řÁb“jxň{p03fĽîĂŻvÔ ˙űďtqłxń] Á Ĺ ”4ž 2ÜĄ8ŹתUSŁÝĹ€c`âE~TT”„"šŢ|łŤ*ĚöB„, ĽPCYüřq]tˇý%h§Há wď·ŐF‚Ç˩׼}űv™4iŞ^3<Üa$ ÄP4mÚd]\Śńž.¬�"VMĄa† Z~oذzîUŞT6Śy5"~ßľýí!S§N·Ś FĂ‚(Ś{ď˝W#0%‰((&>úh‘. Đ`ëС­D*0Ţ ř®*Vp®Dżř˘dÉ.'ÚÓÎa(śüţű C‘ÔGűg™2Ą4‚Ăěż‹-Ve(úM»vťdĘ” ¶ýźÇ†Ě_Äx{Tűť{Ů•ńă'ş¸D­^˝ş<őÔY‹ďüń§Şä‘>ŢjŞŽ=VăĺĘ•‘âĹ‹ë8Ç84Aż5 u+W®–7ŢxÝň8WX`Ś+2#„Ă0~6mÚl´ç4} Q`ůóç×}D B¨ňÖI¦Oźˇ9hG3r‘P»víR#2kŕů‚Č|o†±PŹă¤\P ‚W_­§ýmĚŚ ČW8Ś@†D°żúę+yŹçíž={TQ…ç@ßľýŤţźMŁęáÇÔ¨oČÜŇĄźWüí·ßkFȱwߢm Ůq†hÝ”)S čŤçëbu®Ăµ ­7năŘNĚLľůć˝Ďx†ăŤě—/_6ÚiĄ>g {űő Ěu)+ń›¨C”˘Ű9…ë´ŽłgĎé>§ě1ÜÁ<aÖ¬şőęUĂXßZ÷á ׼ůÍčĺL™‚»7V@a ĺ.Ŕý¨^˝ŠöDr!Łäž—m۶×ţ†vň‡`®ĹɱăĎ3ÁĚíŮZ±byíźPCN˘ŹŕXÓ¦Í4î÷n}&-ZŘŘŠh–•Ý»żS'9(“AŠggźĄßFâ÷¤J•J®čK»gK(÷Éi™:rä(ąpáĽF?Łź^ĽxÁ¸˙Ë\Ćׂ ưŃ:‡Ä�Ůw~űíşiĐp ČXĺ+žq±F€ŃÁśď RĎć\ąré5!BżŹk°“_v÷ÚnL#Ł‹;Nλ‚çÚ¤Is•c�ŮăЇĄ g› 6Ş1s:DĎ1-–ñ“}ýăóߎŰi´-Ö8päš4iŠöCô3ŚWóč.Oë×o¨ц“&Ťw7I’$®}ĚÁpÍáŮ™U˛dIŤÎ…QsٲzMxNÁŔ9aÂŰČý`Ö‡ö;ťł:-+¬ŔýéŃŁ—ŽĄ$Iî—:u^Ö߀NŕčŃc:w3.2ň@€gŠ;NôGo8ąfžäÄ:Ă|î»ţH Şp·9@ż@ß3 č… 0Ú­¤!ăŁÇÜŇĄ+4ëÂرămŹgu‡ťő´wÍšŐ4ú÷ęŕÁ´_a§DČt3+\\ËćPÇA(2*>ęy:A¨:6;ą†ŚE¸WK–,×±Ť±Š,{&Śőš0\¬^˝VŢyg°îc˝ٱŮóăŹGŐqĎ8d% •`d“‰Ő8«U«şÎ‰qŚĎ?ߢë·ŢzŰčg×%Â5#„’0 !Ä1°h@şâ?śă2ćBaôÔSOĆú,˘Ř0é…âŮ <ÓiĂ)‘ĹP>b‘ŠE“»‚‹J3¶Ă‡Ťˇ8Áń˛e‹2 ÖtŤ‰µűBéá°Đ8żˇCĹšŹNá\ĹXä´VĹĚСĂôw`đ2ÁBŠz�EńرŁbLěa­QŁš´jŐĆĄ,Şúö ‹-,8íGw"J<´ &ńR€‘Î ,˘±H;öýJ6(ąłdɢÔPv|üń˘€, Pň›×‹¬Ż…<Ę'NŁź vąreĄaĂ7ôşߤÉ1Ž…véß˙ť˙§¸Lc(ÉGĆHµ Łć¸dX°`ˇ:äĚ™C"¤_„aëŹ?~7üÇ ĹĆZU> wéŇŃŃb¤&4’!>Ŕµ!RQpřp‘9o˝Ő[öíۧ÷ Š+Îźż ýwÔ¨–i �†ś‰Çjş`ȆJ•*Jo¨˘‹óúőëŮE!?şN!V ”"4p}€¶s°Ŕµ™Ę88e„3“"“L06‰Ö UŢ: -*”3”XoĹ8ŚD° ĺh´ÜŽ~¶@‰čôqś–Ëŕúők†˛wŠ*ć< Dľ"]+€\ś6mRŚçĆNäő×ëąĂ¨ŽÁ€łúő_5ž“7#ů‘vĘS8Ú`,cCé‰űÇ8×_¬e(jÔ%”NžˇÎÜÁ}®[÷Ăń¦ë5«‘®Ę@ˡEÔ‹/ľŕúLµj•ŐÁŕÚ)Ḻ́>äŻóććXÄř2rۉ’ž ťLç «hV(šK”(ˇŠaÜť‡ě×±˝§ÇŽŻg‚'0¸á7ÝŁÝpßaÄ@ż3¤č/č7&čŰčËLÄ óĎ>JżŤÄ1î "KÍčŇ@ź-ľîS8d*>cµ»C#ŽŃ´iKŤnĆ˝€q�ĺ˘LăŔAv;Ž`ë×fĄŞI ÄĹáСĂFŤNUG›ńăGÇď żUŻ^U×2×`ŢkĆ´Óó®`s’iX…S¶gżGiŚŰA†ęüűý÷Gkús§ű ä Ą3gNŹá ťéčyéĄW´¤ŚQj†Lv—§ho¬Ůđ»ń'"sí€čsĎ ô[d™B›ăyڵ"¸­f}H?ńF sÖpČ +`xĆŔÎ]F`-‰ vŤ7×>˝zőęXŰPűŁ7ś^3Orbťa>÷€?ýÝáls–ÍőJťŕîŔ°ŠČ~üŽpÚE™,�çdssX[BUŻ^˝×p’1ű_\ËćPÇA(2*>ęy:A(:6ät#¦\øF¦E÷uK\�Ç„#Fę> PĹ]gÖxmŰvt–„B°k8€g«é\űŹqćž- ú+Vi›šŽ^ÁÎą!„„AüäJ'„$xŕ5Ťúî[©RĺŚĹě›ę\EáŚScML°đ™={¦ 6ضV9Ź&¨cçĎfšCÔš¶ŠJ2|Ę”‰˛nÝŞX‹yóčBîöł,I•EëqŮÖ­[ă},Ž@ô‚±·eš>(Zµj)ˇ�Ďj3M5Ś·ž‹-óĘŢ\Ι3/VHwÚ·okÁ„h>sAŠLq tVN8P™ m(AŕďŽ{»ôčŃͲŽ5˘Ľz÷îé2PŔř _~ůµFŽz۰Čň‡É“§jä"üpJ‚ň!ţĽĆ˝›KY*îé6ůĺ’Ä<đt®�XěÂČŤh�%‰7pżí iňXşôS3f”¦u_ŕš ď›Š´»Y»Ţ DćŰ9W�Ś=(§�ú#ŇĆZ±rĺJý e„U6śH&Tyë4É“'“ŽŰ[žŚ•fę~Ü[oŠŚPŽąŚtŞV΂ZĐ� /«çRÖ¬QzŻVŻ^’áŽE-ZÄÎ,„1ž5ëMyܶm›XFbD –/s BaçN¨swpź›7obů®ßT¶y>óĐLç´ 6ÄŞ9…÷�Rö¦O?ĺ—|ńÁŃNyňä±M9gĘEĚăÜÚNޱăí™ŕ ťV©„5jŕÚÇďZ!‘ÉĆěۇ‰őľ“ýÖq5ĆťĆŰ} Gż@nĎlQp¨pŹĐ-_ľ\ CŚIÆő]űV÷Úq±FX°ŕ#Wzî·ßîe9ß!Ę\Ë„ §ç]Á€˛�Ş äłí÷_C.\PłqąŽ>ľf•ÁórbÖpü÷k†Ę*c$ ĄíÚµve$š?ˇ×cFŇúĐŽpÜ'+L9 ™e%#°Ć>|°,^üq¬,ZNôGo8˝vžI„»ÍĆ©é‡őˇŐzc®S§öjhµż»jŐ2-óЧO/Ë1‡9čłĎF;qîßP‚Á ŮěÔ8pJFŮĘy:I°2Ô_ąÖµkguÚD€€·˛¤áúP84€-šYˇßőíŰË‘ěˇČ¦yó˘ű2ÁąÇŞWĄJÔá5"e.,GŹţčSż‰ }„Běˇ!$, •üĚ™Ĩ_í ‹XlŘáľ8ůő×u­azׯ^˝Î6­Ňýz¦Ş‡‚eăĆŤş_¦LMiGٲe\Y+POÓŢĺf4(˘¬&PŢ[ű łŔuÔ®m漏EĂË/G×脲ÎN oîÜŹŮé)˘XÝK!„ oĆf÷óô\đŻ_íđDáÂ…lŹ÷Í(S÷{ óćÍ×!oŇXË_|©é-·lŮ*NĄ‚iPł2ƵjŐ°}c¤RĄJşą2V`ěGEeo`Aă–·¨{îą)ŕŔc‡ť‘Ě÷˛�f4»;¨ÁýŐWßč~ąrĺ4•oB"y™ĺŤČ~c>?LYďôqś–ËŔJ™ iÓF+v ¶ËX±áíÚýÎv)·~8Ú¨™2e ŰňP™2Ý,A4Čž„2GpikíR˘Cî Ę .Ćz™¬�˘Ř·nÝë}(D‘ľT­ZU"‘Ǐȉ't˙Ą—^ôš&ŽR&ˇ>/ípzěřóLpÇ. ŕpşąrĺ°Ť®7ű­]źsŞßz#®Ć¸“řşOá©O?m}Ż~ř¦Q÷Ú 8^C±˝Oq±FŔZćóĎ?×}m¬ J&HßĘ:Äśśw˛Śt÷Ě3V +ŮĂbE»†Ł"›Ś0’™ăp‚r¸ć貂ŢĎF$�‡ŮăÇOX~.ŇÖ‡v„ă>Y‘.]´Ă$2tšFbO0°r¬t˘?zĂé5p(ó¤H!Üm6nÜäÚ÷VĘ}kCo ]áŘjäcb®©‚ť+€Pes(ăŔiĺŤPÎÓ)B‘ˇţĘ5č%gĎžaň{{űáÂÔsá<Ü× ž@ö`ţ*ÁĘ&<ˇ¬ @Ŕ–·9P(Y@"m. ĐŰűŇo"S!„{X"„H»'OîŻ!-<Ő±ÂD iQţaěŘŃšćŘ×®]Ó 'OžRc$ţîر#ƱÝAťKxÁŻYłN8`LŚ_–ŇĄKkÄ&¶)S¦´ý-śŁąxDMesňmÇý÷'ÖTÇŽÝ\ěAvăĆ Ý·Sŕš`ˇ„ĹÚ"Ž64ĂCÜפ<_ľ|®ý#GŽXěRĄJíő0¤ĘĂu‡Ű`ę­¶jÚ´7ť_nÜř=Ć{?üť)Âź{h^JT ŻSKŰiĚú˛Pś={Në@"5ůŹ?ţ(ť;w“îÝ»Ć=g vHj*ťîą'~Śű¨ű•Ĺëg©c¦g?qâ'KŁÄý÷'‘@Áx…|Aů ´5ę2oٲÍőľ§|q'Iß}QJP�ŔصnÝ:ŤwŹÚXłf­«ý})Ü"‘Päm8đ¦ĽPÄ ,ҧ?ţSXŽă´\N)]`P@úc¤íµ×µ¬AˇB…Ś>ú¤ŁŃNI“ÚoMă´ťR ¸GůŠ, tŽŕŽ?Ď<řüţű±Ţ+UęyC ?Jĺ4˛Đx:š™i`-^Ľ¨D"îY• üőöĽtʞ÷6vBÁé±č3!Y2{cF ýÖŚVóF(ýÖq5ĆťÄ×} ‡LĹĽĂ wç§îµ;q±FŔok_YŁpŹ?ž[ťxăŠPć]Á`öĚ˝‚­qŽ>h®?|˝gö—@0×AXŻÁyÚ›lw˙-Ü ¤¬÷$ŇÖ‡v„ă>YQłfu-óChź>}µśžóĎ>ű¬®OĽ9+:Ń˝áô8”yR¤î6¦ł*ú>śĘ˝uˇż`|ęÔ)ÍqöěY9sćś<x@Ë#€ż˙ěäŤ@es(ăŔiĺŤPÎÓ)B‘ˇČµřú�=°·ůŔü'ÔyG°˛ Îĺ&ľćH¸ż +a Dú\ŚBHÜ@ BHP BĎNIŁđÚµëuq¨ĎŢ˝űĘÜąłbEbąpáDzmŰv]äyâ«6o÷î]u‚ßBô+j7b¨sB,¶<hP0 46¸|ůWËc¸;Ř‘&Mj –‹Ł=˛Ó§Oçółîçrá‚u)§k‡J°éÍvAí_¬ă÷÷Š>X ¤ýFÔ»“`•E·ňĺËJ“&Í5E'Śz… 4îiZ •_~ąůâ͡%śřZ ÷l2/†–>ú‹/viý[ÔA·Š”tz Šř-¤Qtď'+VDgµ@´˘U*Í„@°ň6¤L™ĘçgĚr3ŢúQ(ÇqZ.; RŁN›6Cš¸gŘ�Ć?žÝ(kăTĆŚpę!ĐĎYů ' Ô°†ăč•+W\ц—.]’ť;wé~… |*ă ÷ľŰ±cżżç>çq’H;NŕTżőĆ­2ĆÝą•úE\¬Ü%—|áÄ\Ňq=ďrÇ”s0¶+‹ĂŃĂiÔs—í®¬´őˇq%+`”<ř0ŕW 3 ćphł1Önž©çťčŹŢpz śPî˝7ÂÝć�ó>€’ľôľä:V®\ĄŮöěŮ«wOp_°ö •Pdłă�8!ŁĽĘy:E(ă(ąź mA¸őź&Á¶©{ßóŐ¦xNc˝˙óĎg$đ߉ĽąX  ăO›6o !„ŕˇ!$, ÚyďŢ}ZRáرcş s÷ęE-·wßâň’Çä9sćĚňČ#ËĂg”¬Yłh^«Vmm#qâÄšâ±~ýWuqŠEÔˇC‡4Ň ż‰mÁ‚…Z׾A›µ”­ÁjbçŐěĎń‚ýM`.¬ýY`¸+ňśXG2Á^ßÄ_‰ _ m%ú+RńAŃ‚l0ŢRú‹Y/Ŕř3Ťµ‘˝P$™@ц´ś([�ą’={v]xż÷ŢhqŠRĄJĘđá#´\ŔŞU«]?üpHł’€ŞU+IB%XyüIMm–Âń&7C9N¤ËeÔĄEşÝU«Ö¨bußľýš…)TQƲ1 &m$:81Gp dťú jתUS_O(™iţý7¸>gĄěw‚[yN—ý6ˇŹqOnŐ~®5‚űóË#ţťw†^ Ýń1ď˛"WBëÁŻ"7 ?Äĺ}B ţŹ?^ ĺ'¶nÝ&ß~űť!kQŰěŮsdÄ!’!C†Xß—ă­¸vЏpńg˝ęmî…L"­[·Wd\‚#ţCeŚ3J®\9u=iWîÂ_śÍÁޏ–QˇŽ×ř$ą ř7‚׆Š{Ö—pΑ"m.F!$~ !$lŔC�†8ÓÁi’MtŠÉĄM›VRĽx±Xµ˘­"˙¬@ůł ű÷Í›·Č˘Eźčmüř‰ęŐn<Ó¤ąÁß®]k©Sçe wŹl¤WôE(5KŐúôiż~™LҦŤźLqî#úH±bEdčĐÁr«ŕžÖôĉ“âî5cóć}VâDý`ˇímń Ů`’&ŤďČ+Ö­űĚĄH‚Ҩuë––ő;asÔ"-S¦Ś¦'ýüó­ŞĚAÄ Ś_�i@+T(/ ť@ĺm řë`2Oľ8{6ú3©S§ Ëq‚\N—.ťĽöÚ«şaě9ňŁ–'@t=Î eĽ2dqQ+NĎBĺ©§žÔZÂ?ýô“*şM‹U«˘•Ţ9sćôZŰ:ľqźó|đÁtź%ŰÂÍ­:§‰Ź~›PǸ·Rż‹5‚űo¸GPÚń믿H¸Ży—;ćś¶ŕŚSQBëć5'IrżaP\#· q}źŕ`\ĄJeÝ�d8śŚ?ůd‰ěÝ»WŽ=*=zô–éÓ'»ľăDôĆ­ş…p·yôoD÷!dđő(`Ǹq]ÎĄJ•”×_o¨Ůa=Ťëpę 'es(ă .eT0ç "×ÂŤ·ő8ćČôŕ.[íE˙*žs$8-y#Ř9R$ÍĹ!„Äá/DFąmI™2ĄkQÝ&´3Łűşuë"•+WŠĄ€¨-(0rÂ@ݶm+3f”ëuD�¤K—ÖU—)éÝĚúČÎá ,Ŕ‘Í#X˛e‹Ňżft˘7víÚĺö˝lr+HP€v‰Oy6l¤Ľýv?ż"÷ÜŁ‹ĐźCu˝wěřB÷óĺ{.ŢR˘ď<ř×ϵfA–,™%¶nÝŞ‘şuÔ¨á’?>KŘŐ«WĹiĚ(v8 ś�0ť[P6EŠr+ᏼ‰ßěÇŢ”-ţ8<€ŻżţÚëűHł Č’%SXŽ“Đä2›ŕ€ $łgĎt)„V­Z%‘F8çÁbŽíďżßŁÎbgÎś•čkŐŞEnö 5k”kĎž=ßÜŞsšřî· iŚ[q+ő‹¸X#ŕ7Ěúí»wďöúYDƆ˛ńE|λL}4«ţ…ah÷îo˝~Ö.{UBëć:kl”&ş]ďű„Čwo'O/ ć××`,wżNôGo$¤5p\î6ćÚżěŢpĎé‰)3‘±bŕŔţúě¶Ę\ŞĚ §lögD‚Śňç<#@äZ°ý׉ő¸9`á+ÓťŻůO8qĎPâKüřăŃşę@¤ą!„ř„°áľđtŻIçľhđV®`ӦͶďÁ}É’ĄĆbqŚíg<ŹÜ{コďľpÄ"łD‰şŹHsoŃ„XŔ|ňɧrřđ‘iQ»±hŃÂş˙Ýwßë"ĂD´›ićˇ\ąr®sůčŁE¶źbÁ‚ŹuuÝK˛Ä%î ‚p¦ÍE¶��ońőë7xýěš5ëTŃĘ}”@&”P@´7vŢ™�B}{ŕŔA®űШŃëź|ôŃǶď]ąrĹeB´xTT †7nčßäÉ“ăŔľöç¦Mź‹Ó@ć2móćÍ*7ŤĚHš¸Ć‰ńŠĽîŮ=dÇgźyÇ&_|ńĄWĹŘÜą \×Z˛dɰ'ľä˛Żű‰qy8bĨaÜIž<ą+ăB\:)ř‹s§©X±Ľ°aČřüó-:ľŐĺĘ••Hć±ÇrÉĂ?¬űü©WĹ,ĆúŠ«Ô$\$´9Ťż8Őoo‡1nĹ­Ô/âbŤ�Ůc‹ľüňk9~ü„íg!łĚşéâOşňřśw™”.]Ę•!mÎśą^?Ű»÷ŰR«ÖKęüěnśŽÔ>h7w+]ş´ëţĚ›·ŔŰ!t „~.'§ŇÚű3gŤ‹ű„cďÜů…Lš4Eťç¬@{öŮ›Çto['úŁ7"i Wë~_„»ÍAÉ’%\űf–V+ŕhŹu“¦ĚĚśů۱2"ČĽ`G\ČćĐÇ32ĘW ő<#ĺŢá…—¤aĂĆĆś~‘‚ëń%Šë_ČożčĐaźNHá Č&/^ęuíłdÉ2 –¸š‹B‰lč`A 'Nś±cÇé>Ť… t˝ă©É† -żżk×—ňÁłí/Ë—Ż”wŢlŔćÉŇĄÖ“b ̎ٲĹLß]§ÎKęmŚ÷»víi驍Üرdđŕaňę« b-¤_|ń]đás˝{÷µL /ô &I(”(QĚŐfS¦LÓ¶ńĘß•“'ŁKJÔ­[ÇŻ:€áŕţű»öÙµĹQ; :L#‹­@(RZ´h%={ö’ř�‘¬�÷ i)íŚ"¨™nö{Dź–.ýĽ"k´AF®{€ţę^~$Ěh—ëׯI(ŕú0.=Á"÷Č4˝ôŇ ,3Fʤµ‹X>}¦×ȢP¨RĄ˘ţݶm»+{˛ć(_â3Š;C•·O?ý¤K96uętÍ�ŕ ŽkfýđĆQŻ^o«ˇŃÔÜ5euúôé4}r8Ž_rŮ—|…SäśąP®ĹJyôč1Ăč-/łf ͉+81GpD(™ 4(Ȱ’%‹[f)kÜ#Ż]‹­4®_ż®ţ=rä1–YZ Ç\¦_żRŁĆ >3KB›Óř‹SýövăVÜjý".Ö5kÖĐżóá7¬že§Nť’áĂGJ° ÝşŮĆvs'ć]ľd/ ŁQš kŰŚX~sŤŤ7«óëĹ‹bôźHëH«Ξ=k9ÎĽP¦L)ÝG�;c®µk×îŇąs7©]»NX íţôđgÎ÷ cŞk×2mÚ Í>heŚ˝~ýş:/�č:2gľ™é̉ţčŤHZ;±Îp‚p·9@żËź?ŻîoÝşÝŇ‘}ďÝw{-ˇ`ĘLČÄË—/Çz™ůŇ[T}\ČćPÇS2ĘW ő<#ĺÚ ACµo!‹žçsáî»oV€·r®ub=G&8¬É“§Yöť_ýŐčżýă5»ęŞT©˘űč_ĐçZťô5Ţ€üÁ©ąŻűG!$rąK!$ŕˇëą Ä$Ż8pP=áÍĹ”î^óHO´mX ÁÓ)Ř‹+&)S¦ĐHŚm۶i4FćĚ™]éŮ=©QŁš*—Ż\ąŞ5Ż‘‚®pá®c %˘ŃčK/˝ăű¨sŮĽy=zśüđĂRŻŢkR±bEÉ“'·¦ĎĂDőŐÍúXđTŻ^-Ć1ž|ň ­ĹŽĹ"˛Ô­[_'بq /ixm٦%Ω`Á>#Lě€Ňńí·{çű¦¶i۶¤lŮŇ’/_^Iš4©NŘ/^¦N-�őâëÖ}Eâ ´‹ ˛'ĽüňKĆŢňŘcŹĹČd*(OĐ·ooiٲµö´O©R%µ­QžN3XśšíŽčú¦M›H|€čçµkתÂçСCF¬«çŠČbôO,”·lŮf(ŰŁÓbá˙Ö[=ĽÖv]ľ|ą+ť$@źCşGÔîD˙w÷‡Â©}ű6,Pâ! ÇŽ;5”ľE‹ (b-GŽú=ď6lŘŕŞMĺç˘E‹]™žxâqyá…Z,H×…ŃíÚuÔ1ůĚ3O©CdÎęŐkulFEEŮĘ—P¨T©˘aôšd(w®©‚ŔÁĆ›ŻU«¶ZĘ,\87†ˇ.TrĺĘ©ý˛Ę(RĄJĄ[îÜŹůuŚPĺmştŃ ›7oŃĎĂń÷Ę-DhEgآăN8ľŔçĐëÔ©§2Ä7~Ó¨Ąµk×ë˝GßěÚµłžO8Ž_rŮ—|EmeŚ!(ŰŃ–¨“[ąrEă˝UYhę%K–¸˘í4¨/‘†s„pPµjUă·w¨¬ľůZ‰zčf*\Ô™F-gôCÓ©®FŤęĆyoŐsGżřţű˝Ú/˘˘˛ Áµź.Zô‰ńÜŚ6—+WFrćĚ!á ˇÍiüĹ©~cFś#čÖ­łöŹřćVëq±F(\¸T¨PNźc”W^yUkśż˙ţG3g,^ĽXçč7ľŇd[9ć (©řŮgőŘ(µ€5_‘"ŃY:śwů’aţСC;˝FŚ 8®ŔpYĂ+J~ÁŘŚĚU mÚ¤M›Ö1ľi}}×5ć^(5+ –¸/ sçŽ:ć1÷:t„Î]đ>äćˇX“ði:Ŕ6oŢÔëÚ"Xüé'ţŕĎś5.îÖµkż(łfÍÖő˘Ĺ_xˇ†öaŃĐŹ±v1Ť˝čóČäN¨ýŃ×ůEĘ؉u†S„łÍMşwďjčŤč3öý÷ÇĆčFŰ?Żş.ôô=ôŹ:u^¶ÍrQłf5]óc­ţÚkŻË‹/ÖŇr!ČşräČŹQŹu±7™˛Ů‰qŕ„ŚňŐÇś8ĎřĆ›\K’$‰ĘµĄKWČńăŃ™ź}ö—aßäá‡3şö§M›nĚĘk;GEeŃלXŹCwÓ±cuŘ‚#t+VĐg5ÖʇÖěż—/_QGÓPťBˇI“FĆő|®s°eË–k_ĂŔ\}oçÎťÚ1żţůçÓAg—pj.ćëţE‘¸– „ř‚„ đ–ц)L¬±Pr‹˘!Cޕ֭ŰĘŻż^Ö‰-6w``ěׯŹÔŻßĐňŘPĽ ü®z»C±€E€ŐB�Ö¨mieŘŻWŻ®.fÇ?ß:u! ĂżĂ{ޤcÇvşpĂÂÇ9sVŚ÷±ŕ0 _Čiqář1věűĆ䵇Nţ± Ćć "Zz÷~+^#ú©_ @>cѲKć"˘uë–ÚćN#{»Xő%�v˙ţ}])łăÜŹ!Cýh¨FúcAŠżVŮí�Ę÷¬/V`áÚż˙;^?” Íš5Q%(é{ˇ>ü=]Ś"˘Ěť;; ś+  lÚ´…–ćÁć Ň÷40¤ţ›)S&cŃßM3. ť‘u›;P.”-[VŁşś ¶Â… ş®í^µŞ÷ň ÇŽÓżXđ;é\ lnÔ¨ˇ*ˇ¤0ŕ]}˝H‘BĆ=ę×1ś·Ýşu1®ó„*ĽaÄőŚÚĹůÔŻ˙Ş_pî@;aQo:±¸%UŻ^=UáÎăć\ö%_ńö3žM]Ő™Ëý3î@ąŠďŕÜ" 'ćá�rĎśŔxÍ›÷9‰R¤Hˇ÷rÆMę4Š(@ŚÇ+n¦¨~÷ÝF»×č48¶Mś8ŮňXpČëŃŁ›„“„4§ń§úm\Śqó™ý{$R¸ŐúE\¬̱ Ĺ> &žĎ28ě˘_B6ă`Z¶ln"Ű«c2űĚéÖ®]Ą÷Ŕ‰y—?2Ě0üLš4^3Âx Ł6O2fĚhFG2üÁXďERD¶ĹU«VëÜ ĺĚ’™2=˘Ú�FÂ)S&çű–¦|·“O­Zµ«ÄW?ńç¬qqźš6}Ă0 źŃ¨w7aL·Ćȶm[Ĺz݉ţčŤHY;±ÎpŠp·9ŔÜoܸц|ď¬2w×®ŻtsŮ`ܵӗˇläž=ű´DĚńb‚µă›o67Ţ;ďŐ!3.ds¨ăŔ ĺO ő<#ĺ®űťw¸íL * YѧĚď"*Öć&N¬ÇqĚ7şk6 8Áy›;hcĚyăÓÁs¬ŃŁßÓůćËpţ€Ţ×8Z ĐWED‚/ßáÄ\ĚźűIDęZ‚Bâ:XB“|ÔşK“ć5”“çV`‘?oއ2gÎ<Ť¨„G9Ľë)ʉä+ŻĽěµV€§ôGÍ×:…PŔBá·ßn¨Q JÔ?†÷0Ľľí€áF6(?‘]� 3D�â:pî¨ cťbŻĂcźA„÷?h„DҤI´ 7~C˝Âť¨;ŚH¦ ćę)X<"’ Ţč9sf×i${ :t°¦ÁĆ"÷}ăŇĄ_% ].ś§JH”Ĺ@»`QŠ4Ű\@G­Z5tqźĆZ8ań…ŚçĎź3¨żKŞT)µź ¶+ĽŐ˝őY;Đîp‚1<{ölę 4ŽŢ"řýŃ 0 *í{ď˝÷h4@TT–@Ł}uĆŚ©2uę cÜGGO`¬eÉ’YŞU«¦cß e52F ňők1&±°E$AµjU4ËŇÆ Dµ›01ÓřZ”ĄČ<ÂUF¤aĂ׌{z••(€{ cO „*oáx2cĆC±7_#­™uĎ=wë…ěB„ŮO?ťôű| hË–-«Öô…ŇQřň@yť:µUljkąěŹ|ĹoOź>ŮPŽ­2Îé3ĂXuHď7˛3=ř`˝6Dvyë—ńŤs§ ©Pˇ‚Ka^ĄJ%ÇęÎ;AĎžÝuţ…Ś2PšâÜĹŠČM�;í5kV—O>Y¬QŹçÎťŐčŞ4iŇČSO=aČÇŞA—’ ”„2§ 'úm\Śq(×dw0¦pr+ő‹¸X#DG˝ö6~Łś®ePÚs+üÚ˛aĂjڇR?X0Ź™0a¬Ńçf¨±Ď~<ëa0űŹó._2ĚđŮÉ“Çëo-[¶ĚčëÇőXX şărÎ[‡Hé7Á0‰4ě;věе ڧgÎśu9X¸_3˘ŹqÎGŹ×R„hĚa]»v-yřá‡%śřÓOüÁß9k¸ďž™ýú˝­Ćpü˛alA㙉HddňöĚt˘?z#RÖŔN¬3ś"Üm #B ćRŃkšS:—‚ăFŐŞ•t­‡; Űşwď˘Î p˛@ą(N@nĂqWĐŻ† ó^R .dł“ă 嫏9qž‘€•\ĂuÂQ ¸_%J·ü. ĆŚ%ďż?Föîݧ1ff:§Öăhg´éĽy U§ućĚ-q‘3gN©WďŐC!s^| Ź©S'ĘęŐk4° @Đ.(Ĺ[¨P!cöşöŹPqb.ćĎý‹$"y-A!qŤżZÁ;ü|ď?ţŢaós»ÓíŻą%ú˙k‰<6Ľ‡Ü^wţůç_7óőB!„Ä(1"ЧO/Ť–±JµFŤ˘Óö"SŽťŇäv)l›5k©űÄCÚÔř<ą=A¤ęzĂpşhŃBGË^ }x©RĺäĆŤZ~$”ňa$áĐ·oŤH…SëęŐ+„B!„TŻ^K“ő˙ÂĹ­2ăZ‚â÷Üs7ęšýklWţ˙÷Źíż˙˙ý×műĎíŻç&6˙÷ö×sßoď)‘źo•B!$H2€¨…RĄJzýěŃŁÇô/"lZ´6!·ČD`¦ęÍ›÷Y:W ˘ßˇ †'k‰[ ě‹Ă‡Ôż2Dnć"B!„§@¦“K—.yýĚĺË—]™"B™#ÝNs1®%!$&t° „Bq“'Ojš^€r÷Ţ{Ż×Ď#U%@JŘ`JĂBâ8W \¨Ył¦’1ź9Hg驲‰wŽ?!íÚu_¬ă57ŇUŁ(\¸ B!„ÜĘlßľCęÖ}MŢxŁ©ęg¬€óüČ‘Łô/fŽt;Ο– „Ü%„B!$h8('Nü$ż˙~C¦O˙@ţüóOu¬¨WŻŽĎď;vL˙,X@!‘ęE˙ő×ßňÓO?c{¦ľ†:Ĺ%JB"ć3çé§źÔzĎ$áň÷ßËwßíŃ9GçÎݤdÉâR¬X1Í®×ŕ¶jŐ-ŤŇĄK+/ż\[!„Bne.^Ľčr¨_˙u©\ą’<÷Ü3’*U*ązőŞfýôÓ%rúôiýLˇB‚Ę&z;Ο– „ĐÁ‚B!$ćÎťç*�î¸ăcÝA2dČŕó»ÇŽťĐżt° $ň:t¸ś;wŢő˙dÉ’Jż~}äÎ;™$LřĚąuČ–-«Ľ˙ţHéŐëmUŕoذI7+2gÎ,Æ ’)R!„BČ­L•*•ĺż˙ţ“#Fi9‹Ź>úX7+Š-,ýű÷•`¸çb\KBHLč`A!„§O˙¬)ďşë.Éťű1iĐ ľä˗ׯď.X0G!‘ÇŮłgő/Ć5+ňçĎ'MšĽ!3fB*ÝşuÖŤÜ<ţx™7o¶¬\ąJ6oţ\:,—/_QGĎÔ©SI®\95’˛|ů˛’(Q"!„Bą¨ZµŠ*TP/^*_|±K3Z\»v]î»ď^I“ćyę©'Ą\ą2Ae®pçv›‹q-A!1ąĂĎÝa±ďíď6˙7·;Ýţš[˘˙ż–ČcĂ{Éń÷Ď?˙Ú&„B!„B!„B!„B‰(îąçîÂĆźŤíĘ˙˙ţă±ý÷˙ż˙şm˙ąýőÜÄć˙Ţţzî{âí=…ům !„B!„B!„B!„B|@ B!„B!„B!„B!„ĐÁ‚B!„B!„B!„B!Ät° „B!„B!„B!„Bń,!„B!„B!„B!„B|@ B!„B!„B!„B!„ĐÁ‚B!„B!„B!„B!Äw !„B!„D ˙ţűݬ^˝V~˙ý†TŞTQî˝÷^!„B!„Ä-ś—B!„Ü„„ 8w\ąZ¶mŰ.§Nť’Ë—ŻHҤI$]şôR¨P©X±‚dÎśÉň»/˝TWNś8!Á2rä0ă7 şţ_ľ|%ýý\ąrÉŚS$ľ ¶m.^Ľ(•+W—PŘĽů3ąçž{\˙7Ű&V­Z&)S¦tý˙ÇŹJÝşőm?ŹEuš4i$S¦ŚR¶l)UęyIś8±„o×s×]wIęÔ©$}úôRĽxQ©PˇĽ¤M›Öňłî×T·î+Ҧ͛â”FŤš¨b!mÚdŢĽ%I’$~}wěŘ 2kÖlÝŻU«¦téŇQÂĹĄK—dĹŠ•˛}űN9zô¨\ąrUűÚć‰'7Ú¦ś<űě3>ŹÓ˝{Oٰa“íűI’Üo´yyňÉ'Ś~]^ňć}NBaäČ÷eţüş?ţ[,އ;ďĽÓÇ›cĽćT›,_ľRú÷¨űřě„ cő÷|Ń»÷۲fÍ:ÝďرťÔ®ý˘8‰űő}öŮą˙ţűýú^»vdÇŽ/tÇŽ-¶źűďż˙dË–­˛qă&ůî»=F_˝(˙üóݤJ•JrćĚ.%J”0äHiĎVř’G÷Ýwź+[¶(}N”+WV’%K&ńAÇŽťeëÖíşź5kV™3çżľ7}úL™8q˛î/_ľXĺkBäŰoż“fÍZę~˙ţ}őľĂ”)ÓdÚ´ş˙ő×ßč±w–/_a´Ó;ş?kÖ ÉžýQ!äVŁk×î˛iÓ纏yćsţ€ůvť:őäęŐkúĚ;w–dČAH¦fÍĺçźĎč`ČAB"ʏz6ýüóĎF¨­űíÚµ6ĆűËr»9·tércşMőw©RĄ”¨¨,Ćܸś®%J$ˇ‚µ Ö4Đu¬[·ZHÜôżÂ…‹«>˘FŤęŇ­[g‰K8/·&>ď ąőŕś†Bt° „ĚĚÖEŐďż˙ăő_~ůU·J“Őđ׺uKGď …Ű±mţřă9}ú´n0°Nźţ ŘĎ0–ć¸äďż˙–sçÎëöý÷{ô<şté¤ $§Č•+§ĽôRm™7oľś?AĆŹź$ť:µ÷ů=…çÎť§űpĚhٲ™„,ęŃż` őěh8[`[˛d©:XôęŐ#$ŁÂőëżéöÓO?©Ň´RĄ Ňłg÷ŰjĚ{âo›T®\Q¶mŰ&ë×oďľű^fĎž#Ż˝öŞ×cñÂt®€łÖ‹/ľ ´ÉŰo˝{÷ĆzĘHl7n–3>Ţ˝{Jž<ą%PĐďÍcmٲM›5j †7XśNN¦Ă řńÇŐA 2„ž-&'OžB;¶—/żüJźą“'O“RĄJɦ÷ů˝÷Ţ{_ŤŤ qă×é\AąĄX´č3fĽüöŰo1^7×É;wî’ >’AňďA!$âb^ľiÓféÚµ‡îŹýžäË—Wâ‹«WŻJٲużaĂפyó¦B!„bB BH@Ś7Ať� †… ÔčkD_ĽxÉ0 ĐÝţůGŤĐ.ś—úĹ8ŚËׯ_Źuě_ýŐX@ŤÓ}a€´"[¶¬‰„Ú6I“&U·»w'K—.Óýš5kČăŹ[í˘ľˇ<†ŮĽE¬ăšĘ–-ă5¤‡„w5˘Ţa@=yň¤´nÝÖh‹~)ş×Ó´iăŻýóĎßF›^4”F_Č7ßěVĄŇŰo÷ÓŚĹŠ§hÖ¬±±čß¤× úécŹĺ˛ý<"ö ˘ C‡özŻťćŻżţ’·ŢęíŠćéŇĄ•§žzRҧP®]»&ÇŽÓ¨rś"N4hdFHîÜŹů<>"1îľűîŻÝ¸qCţQÖŻ_ŻĆŠ+VIŠ)ĄmŰVÉř;î¸Ă»A>Ô6éÚµł:WŔYgň䩚qÁ.šďěŮł2tč0ÝO™2…qŻ{çw‡$ŕđТE+Ł�÷ D‰â’1ăCętúôٸqŁś9sVŽ?nČv†rx”׾™"EriÓćf»˘_CÖByŚ BřMČ(™Ńďě#ĂO8Yłf­ĘúäÉ“÷+•fmB„,§I“7´ßܸń»!?Ű !„€téŇĎ•f2lŘH}ö6Ü؆xýćk×®×ýěŮłË+ŻÔBąUX¸đ#>ü=݇^�ŃĎĎ<ó´±NŞY6áŘ}čĐ! úhßľ“Lź>9l™'É­ çĺ„B!7ˇ!Äo>˘Ńńࡇ’#†J–,™c}F­nÝŢŇ…űşuźI™2ĄĄdÉ®÷Ý÷=żg:XdĘ”É0\W’„‚mRŢ®Ůt°€óI ©ÖS¤HáH{fÉĄe¬€7˙¸qeöěµ$Ĺ#Ă–Î×cw,@ůž={«óťwÉ’%źÄ2„ ”Pť;w4 ťŐ0üÎ;ećĚ©¶Ńń‹/Q#:(V¬<˙| 00Î0ŔwęÔQJ•*ëĽŕ3jÔhŤîÇ}B3¦jůo Ô‚ťó 2 t ”-}ô±ÔŻ_WR§N-‘ŠSă!Ô6Iž<ąôęŐSÚ¶í 2}úôÓ2GžN�pč×o +â¶{÷® ®lÄűďŹq9W4jÔPŢxăőXY=âý㏲c”:FĽűîŻc«rĺʶ÷m¶cÇN˙p`ůüó­†<.o˝Ő]â‚+˘Ó$ĂiĺˇPhÍš5zŤNɢۅ‡~Xťm!Ä”\[µjŤěŮłWç5pöµ›gýůçźú�x®ôčŃő¶Î¸Eąµ@ö4¬Ĺ™ß{ox¬r‹Č–‡y6Ö&pĽÇ:őv,ˇB‚‡órB!„›Ä]®dBH‚‘Ř0Z”€°r �XĐ#天´\±bĄÜę°m˘•ŐoľŮ\ňäÉŁ˙G¶(zâ8­Q‰(Í‚úłNR¸p!—“ ˘€‘ÄŠhE×݇!Žá�™Pô±éÓ§H™2Ą, ÓŹ<ň :XKť�´Ď°a#$Ej¦Ë„ŁŔ7ß|+·;ţ¶Iţüů\÷e$&Nśë3sćĚ•ŻľúZ÷«Wݦ™p–@é€,8Č>ceÔBEů¤ŞU«č˙1¶ŽůQ‚Ů=ŕÜ€±�‡=°lŮrůâ‹]nPč‡~Đý˘E‹Şc¸|ůŠa�Ü*„BśĎ 8šÜFŽ|Ď2K@ żS§Né>ž»Ţ˛ŹBHBă‹/ľÔl> ]»Ö±ś+�df«V-\âNŻ‘ !„Bąť` BßüôÓ ý‹ą/Ą$ęyvîÜA#äSĄJ)·:l›h`Ô,[¶”ěÝ»WłGüđĂ!)X°€ÄĺĘ•Ńl`ßľý¶™S‚Ą}ű¶ęŘ€űhWűQűx´hŃTŤîá`Ҥ©úJłŢ˝{ú¬'Žű„’ȬŇ5î?pŕ`Hĺ }ôfi‹_~‰ÇšHĂß6c ˙GŹ•ąsç©Aţé§źŇ÷Ž=ćrşČ1Ł*L'Ožr9 ĺÍűśĎĎżňĘËƵ>¬ű÷ŢZIŹx@K/5kÖR3ÎLź>SťZ J�dŞ€C ˛Ţ¤NťJ.]úEťęžľ¤8˘±á4‚t÷GŽ‘ß~»ˇeSňäÉ-+V”%ŠŮf˙@§]»ľŇ2V“&Ť×ŇNS§NW™†L)pJ©[·NŚR]čź(·ríÚumŰâĹ‹IŻϲT~ť327!}5ś‰ţţűCf>¨÷ŁNťÚ¶r ż‡űú÷ďk›Á ĎdńYşt©;vB.\¸`´ý}Z T©’ę¸j‰”žY˝zŤ|˙ý^=ţÝwß%iÓ¦Óv¬]űŰ?čw'NÖű±mŰf-Ů´hѧzď`đM”čNŁÍ3KĄJĺµ Ý}3A&˘ůó?RÇ+dĆşçž»%[¶l:vpOBĄpáâ:^ĚZÓ»v}©YXöîÝg´óżňřăyŚ{ŇDžxâqý<Ć7˛,Y˛TŁđČ+\ Ů޲ ŻZµZ6lŘh|÷°üúëeI–,©Ń72Hů´]í2öç‰syýő˛{÷·F»,ýűčxø˛7ŻÔ«÷ŠDEe‰ń]8;uęÔU÷ý©©í^‘›ţČ2ŕŢQGüąçžŐvúä“%*óŃGá öć›-Śľ”V?Ůüů uĽŕ^CćČ‘CŰÂ;ô‰Ź?ţTÇó™3?ëýA{"M|íÚµ\NgVmÚ¸q#Í6„RhK—®Đ2G8ŻO>Yk¬"‹ŰÂ…kD z8; µ@üú{ľ2d… JâĎś9KKDŤ?ɸ·íc|ćرăĆśpŽîc®Ö´é–Çň”#/^Ô~ôČ#čĎ•ÔyŐ. Q ˛ŞH‘č9é‹/ľë\áűď÷č=ڷěŔý-T¨€ĽđBM•ÓŢŔ˝[Ľx©–Ö;}ú´–łĂwräxT3DŮ•ŘsżÖ‰Ç©,X˝z­ömDĹ#u<ä;žC¸7ČŘ 8/ČK<óĐá°ą�y‡ŚaČLć ó™‡10~üŮľ}‡>Ď0÷Ĺ<óĎŚXÁ¶Ť;({6oŢťăa\ŢuW"CE©3)úÎeŔ”)U¶Ăíňl2ąrĺŠ|úéů쳍ƽ9%ýő·f¬RĄ˘ËiŮÁČąPäŞg˙C™I´ýÎť;ŐŃ™á Q­Z5ťŻ›Yk‡qăFë>ć‚vÜwß}:~ŕ�}íÚoŢ©%%‘íâŔ´o%MšDłiľţzĂ˶&´çŁI¨ýĎ$”yĽż@1Ť1‰ű Ç0÷®[÷e}VŠŻg](słví:ČŽ_Äx e#M^~ů%Cf¶‰uNNÜWO0ç3eLfĚř@7€őŬYÓmżđઋڳgźk.awÝV„{nĘüŰ)™W˛Ń÷aÉ’eúě5ç*ĐÇ"� ŮĎŞU«jąVtzÎ꜆BHdA Bß`1°GdľŻ�5jT—۶ÍMҧеńbüÚÓ§OÖóŔ=nŐŞĄ–˛gřđšÂ)ś@îÜą Ew- 0Ŕá`Q‡Ş?` Ăľ©´X¶lEH§Nťví§Ió€˙Ű ů~ýúhId»8pĚ™óŢŁţýßQöń™„X'ůľűîuíź<yÚç磢˛řĄxň(AŠ)¤ŽD0”Ŕŕáé ĺP(˘Č—ď9I’$‰î/^ÜPĆ.6 ;üzFř†´Nťş©1ŰȺ͛·čř€}˝ţ0СL ž_&Pôöď?PţřăwMÁĂĺřńc|'dďY·nťLž<Á§c×رÔHďčŘ>ůäSéŮł»”/_V‚áüůóŇĄKCy»?ĆëOPLb›={® ň®­ˇÉ0:őěŮËPřĹĚ€‚±yýú1U®AIĄ/ gŢ€’´Ył7Uěä86”¸9r¸+"ß(ó¦FZ“ß˙]ű66(´ÓĄK+Ná^ĎÝäË/żR‡›©S'©âmńĺúć¨Q‡´/ľ˙ţHKŁ4”ÇÝşőTw Tņű Ăž­O=ő¤í9˘Cá=a¤Żc¬G/ÖĎęţ†(ěz™¨x Ť–.‚aíçC»ăă3�ýF `Ŕ=ëŐ«Ź¬_żÁőZ´‚{Ť*ŕ?ř`š*YŰ´i݆#“?ţřCŰŇ»·lŮÜö7Đ^¸_îý>|X7”aB!8•ř˘GŹ·\Ů‡ě€ x˙ý±*űÜŻ ÷úO—.ťb8k…”ťB»˘/ˇ đ{îĎ Q…6@61«ň^vrýŚ�0¸ 6((Ł”“@¶A {ÇYl0ěwíÚY*T(ë3čÓÉČĺ~ď�d;6Ü{ÎúöíăŐȇséÔ©‹>ßÜ\ĶfÍZ5úúzFŘgfçÎÝ]s]ČPí6oެÁwFŽ|ßö}§ÚĆ×·ßî§ăÁČNl0|>ű¬sv;nÇgý:wZw0o5jŚX;uęŕ÷ńü‘sNĘU2[¶lĺ*űŕ† 2fѢ§Ťv|'(§$Ěmý™ßÂA�óH%‹µá׊ű‰űęÎĄKŞsžíǧH(ĎG§úźSóxoŔy ówO9†öÆ{ VŞTI ÁĚÍ‚ÁÉńéČ,ŠńăŢöî׍űęÍI/Üs+§ćßŔ)™NŮŕĐ0hĐ`ăŮÓ©Ěü ¬?ýt©1އ{-ĹęśÇé9 !„ř‡„ż)\¸°NLFö—dÉ’ a۸sýúÍE˘\âď<®»ťGR ^ąrµ*a\‚7<"m°ŔG}[�Ă8ę|‡bÇ®]7•ŞeËfś„‘(MšÔŞĚB(X`5Ł9’'O¦Q·;¶ ŚľÍš5–1cĆ«Ň ŠôŰ}űöéű0ĺÎý$Dc˘!ˇĚC[Äu™d°1 ŔP „Ë؇qtţ|t„X©RĎ»^GÔ3,  x ĄŢ5ăMš4We ÂE‹6®Ż¤FFAa g©={öjÔ!”·&ڱÍÜ€¨»Ţ˝Ł•· Ô×,;PA‰,ď˝7Z’$IŞÎ(Qű Cäҥ˵ŻÂ@ G 3jŇŠőë׫ŠDÁ˘Ś"őp/V®\ĄJĂ>}úFĎÄ~E»sőęUm(."8á¨=D*!2 Ć'(®)5cĆ´€l ÜěСłÄ�23Ô¬YMŁrŃţPC$4’0Úĺʕ˕ŮÁ(›á¸ňűď7¤cÇvÉ$&Mš˘í %"d"k=A´śú�EŤëE”'JÓ@ŠăŔŮÎ idÖ¬ŐqŻtéçĺŢ{ď•ożý^3±ŕž˝űî}Ž`l!’QÎ)S¦ŇŇ>‹/V%)žŹPđ{^Śy­ZµŃ9�C ÁPHÂ(‡TçpĽAty÷î=eÁ‚ą¶ĎňoľůFŰ ŃgpÂ=ş|ů˛f“Aä- 0ýú ĐcQax&#BN?C„Ąť"ĆŇŮłçtżjŐʶŽľ€ÂŮ*V,Żí†ëÜ´iłž;”ÜÓ¦Í4Îc·öŚë˘E‹čb÷îď4Ęň~Ě3¬Îý�´EÎś9ô([„ţö„±Ď(o†(”ľ!}ąZµ*®ű’2ĺÍĚkĚÄ3 ŔYc;GŽěšťă׋ß0ŕ=Üźp×µk'uĹ6l¤L™2AďĆ î/@?¶2ćř’#ź}¶Aű$Âŕ 9{öLWDu|�ٰůLĂ˝yá…ˇ ąŤţ ‡ 8˙˘ßc.Žľädş™ĺ «Ő«W7Ś(O¨'ú""aÄÁÚc†K;fÎüŔřÍÝňę«ő´}‘ŃÇŔŘŠ–˝gŚó¨Ń©CF«VíT¬YłçZEŁĹ1Ć?˙<ÚŮ«×Ű:Î}ó‚óÚěĹkj¦1Če÷R N´ Öo˝Ő[űb´¬© YoLYŤg,ÚçŇĄ‹,·ăł çńć›mTdjAV0ô9Ě…ŃďcÇŽ÷ëxţČ9'ĺ*äK—.ÝőŢ!kdô¸® ş۵ë¤ň+kGŚ“ßŐg8ú‰]Ć…!C†»ś+áŤë~ôŃl:oDźˇČČâ áůčT˙sroÇňĺ+4�ŔěŐW_ŃLč{{öěѱ ‡•ľ}űr,›Îíť&ąś`�Ç˝ź2ešľÖşuKÉź?żî#Ç;NŽOOŞT©¤ý ó–-Ł3HÂażyófşo—e먥K—Ď•ĚĆś±’뺡3Â=ĹuCŢΛ÷ˇĄóL¸çVNÎżť’iá–Ťx&cťi>“1ż+R¤Ę68K!8ż‡Ü›÷Ţł/źĘśÇé9 !„Č€„żÁD‹, 0ń~ńĹ—5]&–ˇDľß °mn™I0éĂs%@)Ň˝{cŐPU0FćË—WĄPÂşu_Q…T¸8rä¨k˙™gž 䫺Ŕ„ŃB0~ăQŕ`!&”¦¸^drA$ŚUdčíB(m‚ľ˛uëvU L0Ů•Šß¸ŚşqŚ”Eęر‹FwíÚCł; Ý:”Šqጆ4Ů&Čú.ŕ,�``pw"ňĘtfZľ|UH#GŽRĄ,Ć/ú–gj^8A ’ ĘK8čŔóĘ+u,Ź…(gśŰC]™@ŤŐ ŁŃëj ‡B Š(´Ü(!ŇĽů›.%0”`v Z8W@áŤhG÷±�E:ś]`$‚1pčĐá˙7Bůź©eÄ÷\FQ(ĺ<Ç 2FÁąeĐ ˇŞL|˙ýц!h€ř łH# X}÷Ý1ä$RőBąYŻ^•ˇ*ófÄ‚ŃkćĚéZ.Ě$:+Â3†ˇă5B!Ś´ĺî DČ–#Fę> ¦ŁGŹŠˇŹţö⋵¤mŰŽ>ŁqýJľúő_ŐlG&p,ĸEäú¶’%‹«c©{ę^śËkŻ5T-Ś4žF9¶ Üfiwŕh§2(˙ˇü\·n˝mö/(đ!?Ű´yÓőÚó/ř`tÁo!j%LŞU«ěĘŞĹ·ťŢ¸ˇ8gmذIÇ€»çă'˘ÖLŁ.®×c‚6GCůŚ>„ţěy®(ŇŃמA 2îéŁK•*iČť—Ś{ŮV#mQ.ml×WatDÄ{‡m-Jđ{fy2D7:(FTatŞĺ*ĆďµÖű7tč05FąË§Áü«RĄ Ú·ČgśÇرё€0–wčĐÎň»ţĘD¤˘/˝óÎ ŤćŹ`Ř4ť+ “ z'F†´ĘŔˇ ňdđŕˇ*§ĚĎŔXdfľ@_™8qlŚvÁ•*U” ŢĐy ž%őë׳u,ÂřĂýwwŽž-H©Ť,I×ŕŮ•EÎY¦!Ď‹^˝zĆ‹UŞTÖű 9a–"ó ŃçGŤa9/s˘m` 2$:rNixľşg˝Ă'RŻ·nÝŢUR,nÇgś8Lăv·nťc=-ccŐü‘sNĘU8zb~Ă›»~�ăň †bŚń\…Q1”ą˘ 2*bîŚdGŹ7žk]sČ.]:Z–6ĹśF\�'¤±cGĹHYŹ2ś'ÂH‹±í áůčT˙sroJő�č§M›ăţáş (`Ě»«Áz€p¬3™›a˝06Mŕb•}Îéńé Ö<Řđ\0SťŻLxÍ˝ýú˝ăŮŚçÖTkÖ¬Óą1®%O<Ż)Üs+'çßNÉ´pËFČ<“‘é˝÷†Ç*ó‡18`Ŕ»úü‡“”·5m(s§ç4„B"đ„ÓBnI0ůĂÂ?(!01‡bşaĂ7 eSU]0@ íľą]ô¶­`Á˘>7D;„X4xdGEe‘ř�Ęľ©SŁkbÂŕč’p'3zířńăŞTqŹiÜřu '.ś×żX0şG\ů‹Yş‹NĎt§î”*U.V)_ľ˛F6ŕşŃ ĚŃHŹH':zf…ĎÍN· äHź>˝t‘XfZi” W”¸˘`ÁŞĐ0ÓCC9ĺÚ«qăfę‚ÚĽáÂÝ1ŕ—_ÂSşŃDľPvą;Žŕţ™f˘Ó»–`@ćDŠ(-=•˛�Ď víZkÄ@­jo …Ľ§bŠĘňĺË»ţă¸g”dęĚš>üŁíoŔČÔ·ooKá¨7  p†Qß_ÜŰ™QěÄP ˘­ .¨ °@ŔçW­Zf(Ţúéř´rBÎLőľ˙AŻÇ\p7`™ }ÍRRĹP˛ş§©mѢ™ĄQ}®oß^!×(6ÁxmѢi¬×a Ä3ޤmŰ6±~ĘFłáľBîş{µdÉ"U@{*wMŕĽj:ŰxkWd jŢĽ‰ĺ{ř3Ą˝»ă%Ŕ}3ťŻ6lŘ+•?@Ţp Ąć5ú Uöł˙¬ )Päšm~čĐ‘Xű3Ăę<1Gx÷ÝhG<󡬶÷ľmŰV¶Fuó÷’$ą_ěg™˛9**‹ahˇű¦’>Ü´mŰZkv<W`TF˙8«´ĎČłÜĆöí;Ăę¬çŤYłćč_\§§Çňr;:2żŞ:°™@N,]ú©Ś3JË&ą;@ÎAůĐ~.\°=<ď¬2áąçîXőŐW_I  ŹÂa@žtďnť ÷ÄŞ Š=ztłuzu˘m`(F+@ö1«’BѲşwHs»ŰíŮ„ß5Ťů`°2řA^uęÔŢď>ţĘ9ŕ„\7Ů_Ŕ™Ń40#SŠLž<U3MŔxřá‡s´ĎćĎźWćĚ™ek4…AD;�ôŽaś7Ađ�Je:E¤?ťęáÇ[qúô)ý‹ńhu˙˛fŤ’)S&ç˛<lNüÁÎÍü%ăÓ p˙đśń|6Gß×6.ąouÝq1·rrţ ś’iᔍČHĚcÆ Žĺ\a§1“}űěuÁÎyÂ5§!„˙ĐÁ‚hżőVw™9sšF iú0ąÇbłŠ«ę_DÄßNÜ®mĄ-”phhŐŞ­«ţeË–Í$.A˘) Ç3îÁÖ.ő¤ÖĎ’%‹î#-µé¨€čĂÉD+ Ä&mą{ŞÍ`SbÁvź3gľ™#DI ¤Ż-‚m«ŇŢę€&$˛pá<ŤË“'Źö×čTµ{eÚ´Iő /«s‹g˝ŕPI’$‰K‰aeDu¤7ÇPąr±#*6 6jĺ.Đ6Ńiť_°ý”–ćďA?~ÂňsHGěžÝťŚrí[L€{–"oŽ+Čx`e¨2AJ_Óđ˛qăFń—őë?ső÷F+ú÷ď+#F ‹‘ÁŔ_`ŚC™ouME꯿ţâőX´‘˘&žF;¤Kp†ÁĂÔqěp>°3�>üptmay­ŚrŔ={ŇÔ{‚ „µŃ[wß­€÷Ö®ČÄd—} ÷ÎTʢśŤ'ČÖ‚ BžŔiʬ×\µjU » 0~@™rĺĘaű,7ŰÓł-0>űě3݇AÝ[t&Ć,Ć#زe›íó mj?<Áď™ă´L™2ZFĂŽ˛e˸¸B)Eć/hK8ü�<ëQŕzlE rÄý}”ákŕśN€ëÁłÍĚ'Ož MšĽKvAŢÂČŕ-÷ž{n‡ĚTâV S‚îܬƟ7öîݧYź�®Ő[†5<CüŃÜQQYĽ~&Ô¶1Çž ČÜ`ž˝pÚ …ŰéŮ´qă&׾]Y �ą…RNţŕKÎ9-Wű\Đ÷ą"¨Qn+ ŰfŹ˝ŚsÝë=¬§·mۡű¸_ٲeµ=NůňĺËZéĎG§úźÓóx;ҦŤžs›‘ôV@Ć…3‹`(s3_„k|:AÁ‚ůmŰ:)Óä…릸ś[95˙NÉ´pËFĚGđa‡{_ővÍÁÎyÂ1§!„°D!$(P°gĎnZQÇH?‰Úv¨ đČÖ€L­Zµ8ĄaB'ŰŃČţdR@*BoĚ™3W7oŔtžőžťÄĚČá‹bĹŠXFß: ”—¸ßH—o¦óCt ĘáƬ˙‰T“ří@ť,đ˝›Ç˛wÇżçűH“Šš“Ë–­ÔÔ›óćÍ7”v» …ţxŻJ˙[…p´ Ň^z2nÜDŤdş@{Ai€íŇĄKňĺ—_kűlÝşU °p>sËĽy 5ý¦•ĂI0 {i@»çžđ8=™NPBöx‚gjU#­řęŐ«ő`§Ř·ă‡˘3_`¬ĂQ}Í3ŠŔ gĺH‘4©ŠUSÉć‰űů{sŠq/ŃbĆR�ďßżß8ןÄ_̬0Ů)çť׉~ ÇBÔĘ>sćś<x@ł˛�ÔHö†ű}ńöž{Ä98q"ş]ňäÉíł”ÓÓO?­”PńÖ?ĚgŤ·sń·�ôg°ť;wVNź>نó…ů“©Ryw˘D»ž8ůۉ°T©çeÄQŞp_ąre¬ZÖx Ŕ‰±xqßóo$Kfo ¤=MGVDÄšíd-ď ć&pA›ź:uÚŇ|˙ýöĎ+üžiTF]nor(úX‰őŮxěX`˘`Áü ÷ÍŁuëÖĹv~A[ˇ?áúÍ4ĎqÉáĂ7Łłí˘0Fó<ŞN)gĎžÓg Q&ÁŽ?÷Ěj7nü.`:’�꼹ű ă°7Ľők;mł?Á1Ń—ńů™gžŃšíNp«?›Nś–¸ĎŹ?žGĽ˙Ž%}É9§ĺ*ÚŃ4*Űán(FŰzspđ‡I“Ćë_<ăĐ?˙|‹–Ű€üęÜ9Z_,7&čďć=ĆýňîJ |ůe`Ůi¬ôçŁSýĎéyĽ/żü˘–ĆCi”üC•B… çö¤Ď>čˇĚÍ|Žńé¦s‹ýűčóÄS–Ć×Ü*”ů·S2-®eăµk×ôą~ňä)ăšĎéß;v¸ŢÇś'sB!‘,!!c:&€Řn U«VˬYę¤őň0 ˝ÓśERŰ úŁrĺJNp˝HW‹lqáXŕ 1k×®%5kÖ*«C0Ŕ9)ͨÔđŽ ĚX"{ eB.^ŚŽDĂýK•Ęţ»¸·vŠbÔEŤ\¤â†ÂnĚńҵk'‰TrĺĘ%3fL‘PqşM°ĐÇç�Ň”C‘:먊Č'Ť)‘�˘x= †¤J…ŇĆ”Ńhßľ“Ěś9Ő§ÂŢ~ůĺf$ "XťŠ23u0fź}¶Ńňs¦<‚3ɶmŰ m1 sĽ‚_ôßAĎł<C\“:µď6ŕh…•ű5úÂü,sNô;˘ť#Wi6*d\1kp»{ëO˝Ü`S›™‘ őEš4áÍÚäč—}´H•އ¶tÂđ§]CyÎC†ĂÉu—QöáĘ•+®hp8™ĆĎ *„µŹ…‚{”ś?Ni\4ÁÜ4PCr›?\ľü«Ä-Z47 ąŤuQÖY˛d¶ýl rĆAÎź<ę6T̲p }út pnDY»ŻżţĆ2C…żă*\%ĚÜËÖů’{8Üżóçý~x#”¶Ü�ţÜäą7n§g“Ů®X«ř*5âÄ30r5eĘTâ ÷¬‹Ě‡|g]TTÝţżI“ćZ.†(ehžż»|żćNÝG§ú_\ÍăQ² a@_»v˝n�ë čj*UŞVťM8u0q=ď „`ei\έśš;%ÓâB6ÂůpáÂŹuýŤu»'ážóÄ眆BHxˇ!ÄQ°x©_˙U)]ş”–i€#j łŽÜ­Ń6H'ßşu«ŻÝwß˝šÂđᇠ{)wPoŘD®@ˇ…¦żµwťĆ=CS)S}‘5k×ţîÝßJÉ’%üţ.Óß~űťî#j Řr&X¶oßFł´<xP•˝­[·tµÁ?rĄ6-R¤PśµM|â«M<ň«WŻ·ő/"Ú·og(đîTă^ëß Ö g*Wŕ®\đ˝áÉ_ýëű€ö‚’SŕT‚LëÖ}ć5e¨żÎŔ,çă$ČLdeJAůbĹŠ•;Xřc$±"Řň?NáQh…©Ü ¦…S‰‹(§Ö­Űkv “dÉ’jĘô‡Ę 5˛Q3”f]ípH[F2x.´k×!†Â1]ş´jüÉá!cśf’'ź|Rzöěe(BĎH8A:o8X R µ¬ÍÔĽkÖ¬uµĄż)çîĘá`dJ°ý+.ĺűłÖߌZţĘ‘¸rÜőE(çČf8Ŕ±$[¶lZúóÁěŮł«ă˝÷FK$ŕOźóG6úC¨mcFśú2‚;ďôý;n×g“żÜ\)ü‘«ţ”¨‹‹e”(@¶IdŚSĘVX•˝đç~%„ůF řşŹˇöż¸śÇ#Ŕk¨U«Ö¨ÓŘľ}ű5“ ś°nÁ†¬]}űö‰XR§uŢÄŐÜĘÉů·S2-ܲĺGß}wK·ůSćĚ™ĺ‘G6žíUź†ç;ĘÇq9§!„~č`A  –-[V>ţx‘ś>}ZهSĄňí™|;ŰśH˝ß A$śG$?˙Í:0 â`‡ Ó3>ţ| P\”+WZť ˘ËdśŇ’`ĹŠUZ*Ěź?Ç6Ĺ©»Â#Bě!á­M<Ać ”P™Ń¶Ť5” &iZߡC‡Kż~oK8I’$©kżé­®·;¦&iŇĐKĂ4lX_,�ę•:á`á^;9o^ß©dĹÝÁÂ_bü×_ (댙±ő¨×Ż_# ÷¨k;Îť‹–Eţd»01ŰA ś ‡‚%zLV©R%ĺő×jŤ]Oă&äo8!Ć"N}L=븦Oź~ŞÜ…śDć«5ŞąęRÇ5Č@őČ#Źh]g"M‹U«˘Ť’9sć k´c¨¸gĺÜöʤKx„4inţĘWŐ©ó˛$d•#çĎG·qÚ´ÁeC EiţŔ7ŁpĎś9«ý6Pŕ¸h:ŔY�ÎźHWíyÝ0HÄ'îQŕč×™2٧LJáĺňĺ+*N´ śŃ!§/^ô-‡}Ő¶÷Ćíöl2ĺ˘ň}ŤS”ą•pČU¬ůaXóíţ[¦l îĺNś8éö›1Çť/"}ľáÔ}tŞ˙Ĺő<×đÚkŻę†ľwäČŹZ ‘üł6l2Śę“ĄM›7%!×óž¸ ®ćVNÎżť’iᔍ(b:W¤H‘Üčë­4ŔÁ3hĹ*«…“ÄÇś†BHÜž|Ž„[x:·nÝV7÷¨o¸Koe\¶ ‰O˛fŤR‡€˛ßżÇŻďa;vě×˙+W®(ˇâžŢńúőë®}Ô5Á"×Óhýť[#Ë…]›¸łcÇN-%P×&PĺÎť[÷׬Y§[8Éž=›kÓ¦Í~}çСĂę,9é ˘<!Ű´içW”ŤÓňµˇwěřB÷óĺ{.FšX'ŔaĽřâ ĆomńşőęŐC? EĎÚµÝO3cÍőëżiŞÓ„‚{+ X3Ś9ĺ/Ź>]ýcŢ6ňiëÖ­˙˙­GeŕŔţjh·ŠżzőŞ„Óéj˙ţ–iŕÝAZűHňjŔ /ÔŇHZ;ĺn¸ŰŐÄĚPńŚTŕ0^8p@_«V-˛łW@¦%O­(†Ľó…ů},PéHy€˛ ť@äČáĂGÔdÍłţwâÄ7ç:ޜʞ<XÜkŽŁ¬–7p=VQ’¦LC†…Qن«­•±0®Ćžî٦|É4Ś['ć N´ŤYG~ďŢý>3!ËY¨çz»<›ĚßÁ}6łďŮákÎáá«(!‡,Ţ@¦oĄŤ¬6l¤Ľýv?ż2ĎüńÇÍńűî»ĎµŹë6×`ľî ŕÉ8uťęń9ʇńrU‘Ń4ř®ZµJq=ď‰ âbnĺôüŰ)™NŮď™ĎânÝşhŮd«Ś ×®]—psB!q,!~:q»v}ĄŰĽy }*Ś`HܸqŁî#˘%$nUŘ6$ľiҤ‘ţ…"Q 0 yl8WěÝ˝x/T¨€äÉ“[BĹ]áä^Ő=ÂŇÎăćŔşŹ¨ž¸,7NěÚÄ Pţ÷ Íľ}{ÇH+ eXßľ˝\ĘϡC‡yuR •%Š»~îÜyrâÄ ŻźÇâÄ÷\˙/]úůXźÁ˝…|üâ‹/5RĘ(ťa±Ý DŁ 8Čĺ´Ń¨Ńëâ4Ë—ß<_ÔµöĹóĎ—tÝĎeËVJ ”.]Úe@™7o×ĎBÁűůç[âÝHPęĆtB±bţü….C`É’%Ĺ_PrËŚvš3g®×Ďöîý¶ÔŞő’ IĂ ĄČśůŰ”üHŐîËŘ*›� dŔ˛Oľ”˙ńÍożÝpí{ăP@†[ái‚¬XčKč7›7G;A_®śďqźŕĽK•*ĄűxĆzs´Ä8üüóhĂlѢ…rfÄ3˘D‰člY8–·¨?86}ňɧę©ią‘#îď—/łÄ2x3:şgT dÁ2Ł/^˘éŢíX´čŁ_W‘·Ţęc^hĘ4§ĽÍµP›=>Éťű158_×j:©†ŠmS˘Dté/ś/ĘĂŮGÓů3n·g“{†>3+žpä]˛d©„J¸äę‚ mßłéęŐŃY °vŠŠĘ"đăŹ?j9ü†·9@ ,wÇ-”ÜÄ5�8�ÁqĆŚKRűÇ'NÝG§ú_\ĚăŻ\ą"ë×o0ÖgŁl׌ČPhf披yV ¸Ë4«ąC\Î{âŞ,X\Ě­Â1˙vJ¦…K6şĎĽ• ő7°$XâcNC!$n !Ä/P¢T©’şěŘ1éŐ«Ź.ެ8uę”´isł®_Ť5äV†mCâ›"E »Ę( 2ˇQŁĆŞŔ·2"b±ŢŁÇ[ňá‡sô˙P"wéŇIB‹R3e2˘é2dČŕzŻ@›€łgĎ‘ŁGŹĹúţ”)Ó\e& .ä5EdBÁ[› ř®\ĽxI÷;vl'?üp¬Ď@‘жm+ÝżzőšË!# Šĺĺ—_Ň}DW˝ůfŮľ}‡ĺgqżPĂŐŚÔB-ÓjŐŞĆú\ÍšŐ]÷sذáŞ,´ýőŁŹ>–ńă'é˙á„ŕiŔň8~ ŐwŤ\ *d—pO‰ěP,öŮgşŹűűÄŹűü{Ĺ‹Ő}”ŹAş^wîľűf?OĺśtĘ”‰V("c’ť1r k×îŇąs7©]»NĽ+ŔádÓ»w?K%12¸Ě™3O÷Ó§O'ĹŠA›éÔCŐŚX~néŇe†Lܬírńâ…€äKĆŚŃbčç—/_Žő>"v1ŠńN`6 ¸“'OłŚ„ĂÖŰo÷Źřšč=”Áu '­źUg´>|\ľT°`tÉ-Č(SN•,YÜ2Ň-ҨSç%×sŽ–îé°MĐ?şwďĄňí˙Ę+u$Xđ{wß}·“şvíi™•Átć<xĽújKŁŚ@Mš4WG8oĘćpâŻĚ5ËAÁ15**KŚ÷á0m:”⺬Ć(ŚĚS§ÎPxíµzú™4ŕ8f•ť«“&MŃÓ0j»;2 ß·ËŘ1}úLG˛�„ŚZfଛúő`Ń #“?ΛţŕDŰŔ!Ë4ŕŤ=V3z‚ç®Çt’ĺ\o—gĆVţüyuëÖí–ÎP8ţ»ďö«\‰?„C®®]»^–-[ëuĚÓ0žM9řŇK/H  2 zôčmk\‡űŕŮşŹ,žÎŃ/cüA†÷îÝײä˘ÍQÂ0!ŕÄ}tŞ˙95Ź7Żçúők±ľ Ł{Ďž˝Ô`=~üDË5#Öâß}í”ŕ™Ť)pw‚°s4«y˛S™sÖp—‘pjneG8ćßNÉ´pÉF÷@ź 6Z~f×®/]21\ÄÇś†BHÜp—Bź´nÝJÓŐ™ő‘Z¸pA­Q‹sÔ¤DD<˘”ÍÉ"ŚŠ Ľ*q”KţÔ †ěŮgź‰ńZ«Vm]©.śpMă[Ąm@ѢE$EŠâ4PT6o]ßł\ą2Ƣâm‰ŽýŃŻ¶yüńÇ rhŃôV8Ő.Hy%¶m;tŃÖ­[OŁŻ?¨µŁa4‡ˇöřńcňŐW߸ÓČ 2lŘKĂż't‚ßMá€(sü`Ń޲ełźC`ÝşuÔhĹ1ŚŢ•*U”9U‡m۶»˘Ú ÄhÜřŤXż‰ý'”6.5#jJ•*éRŚZQłf ٲe«*ő bţü±jłâľ–(QZŤ-¨M»l™%‹<iŐŞ…üřă54ť?AÚ·ď¤2ń©§žT%:”őH/Š{bö%Ô4>|°e*mDơĆ+Śč‡PB6ćË—×č›iµÍNťúY¶oßîr˛ť:µW6;–/_n;Ęő\7jAŁ®)Rg›Žl�ĆłöíŰŘ\ođň÷ďĘ•«®ßđ—Š+¸Ę˝ †{íă‡ÎčÚź6mşT¨PŢPČ>č2ćuîÜQŁ qťC‡ŽP…”µř Ć kPÚšĺXš7oęµVt\€ľÝgëi_Ζ-›! ®k»Ż^˝VűO]»vŽ‘fß:th§}}Ę~ČČM/^Ľ¨ÎfxödśjÓ¦u ‡7ηšaHاýéµ×^7 µôůŤ~ ç%K–©"<**Ę•v7ŔČß±cUšĂp†~‹~§!´ŮáÇU)*Ś#pVŠT 8Çx‘÷¦I“Z†Ď"ČôďeË–i$-dŽűX'U«VŐgč–-ŰÜ^«" ¤KĆs©áŃ_yuµ«KÎś9ôdöS^ˇü”?av<úh6C¶41 Čă ňRŻŢkF¬¨Ů°'ľOĎaŐŞµ˛tĘgČŐęŐ«Ĺ8"űôé«c ѧźM›6–řŔ—RĎ^2e ĂxŮÍň8/ĽPCď íÚuÔk~ňÉ'\iĺa<xę©'TvŰŻ«T©,›7nl[´ŻľôR]­ˇŽĚ0¶íŢýťFzâ™1Ô˝{×Ď�Ś5!wqŽÉĎ<ó”Îg`<‚LĆą†[¦ůĂ«ŻÖUg•C‡©“\ť:Ż×ZUťQ±¶|ßľ}§:GýüóYcžZĘ}'Ú&Mš4Ćw[Ë;ď ÖńÖ¸q3ťßa>ޱsüä“%:FŕPhÎĺv|6ˇ/׫×@×ďż?V€K•z^׸?‹/ÓkĹś#ŁŁNËU¬Ë0W0ŕ]í»Ĺ‹ÓL°_´h±Ëx‹c }  ÓÚµkuţŽ1ŮPŞTIyě±\z/ §€Ě@żo˝Ő#Ö2 †@˙qnuëÖ×±€ą;ä Ć�ÖÎ… Đ1É8uťęNĚăQŠKऌ¬%Đ7A‡ą4d ÎĎUĚłđ\C)Pßśc-Yr3‚k´H#W®śzÍ0®Oť:]ł;`M ™�@\Í{đŰřMčúPŽó¬cđśG‹“81·ň†Óóo§dZ8e#J}áúp 8žbŚ+VLĺt6۶mS†@‘pĎyâzNC!$n !Äo0ń?~Śaب k,Ę!ŚÍ ¤H…±$®"˙0iöÇŰúůçKÄr°@ć €Éw ÎŃß»5ÚLź>%,f H¤€E 6_ŔŘ §ÚJˇC«řPH@ˇân°vĆň·Ţęîw4h¨ĎĎ`ŃŽ, Č@á Ś&4ÓÉBqä ˛iôďßײť#±˙„Ň&ÇŹźQŁĆč>ŇEÂAĆ={vWE Úqܸ‰ÚQQY\ď#CŽÉJA)…ľ„¬"łf}¨†(8ěŇ çÍűś*h­J  Ć+ęĘN™2]ĺ# جH•*ĄaśhëÓaĘz_r } ż E±]Š×Pä˙Ę•îĺAü϶Q @~—âjőęŐňć›Í]ĄYŤLPĽÂ Ń…¨±}MÉŤvśhô™·ÔqFA«H[Î2P6Ć7ČŘ{Ĺú•'_˝ző´”ľŔstҤń飔Vuí3fĚh(ÄGčó:`ĚÜłgźĘ.ÜDŤą~…űwöěů°+ćĐnÜ讲F4k=Ł˝íý8’,@ǎ퍱wB•ÄčÇfÉ*ČN<â:®,`ě„ÂN±�2ň-ˇ�ŁĆŇđá臭µŠ°…|Çó¸aĂ×$TęŐ««F;Ü#0ŕDeEŽ9dđŕwbĄĺţăŹ?c”Ő‹Ď4ĺţĘ«‡ ¤ŽVĽôRm]ŔŮĆ1D»§˝†Q ˛®aĂ7$đ<@ô*Ć?ćřRö÷ćťwúĎ”‚1^‡#FĎžÝÔ�q”ĂćĆBٲe5j4>‘rŽ™0naĂ“;w˝{ż%:řžGů©¶A6/Ó‹9/Ś|ŘÜÁ„A'X‹ŰńŮ™<nÜhăůŃY cf‰Nw°ĆFéD',€“rőî»ďŃR€M›¶PGwg>“çž{ÖhÇAeňĂw† dȆˇ˛bĹ*íĂř‹Í¬=ŕ0ŕ)L°vcÖkď3gΊń>˛Ě Đ/ŢK ů‹÷Ń©ţçÄ<V¸8d S ;w¶® qö3Îł«®µěŽDZ֭[Şn,ŇHš4©4jÔPáĂ;(R¤qÝ7×ßq5ďiٲą´iÓ^×٦¬…SËÚµ«ĎşęÜĘNÎżť’iᔍGC†Ľkôő¶:ż‡C6wđlęׯŹÔŻßPÂI\Ďi!„Ä t° „Ľk'N§űđş…ňé¶QĎĆ“4iĐÉ/-ˇDĆĹ%ׯ_רg�ŁW°ÜŠmă$XČ™ d‰ĆÉvÁ˛qăFɨxDµ@© ĺ ”( xüń<j¸Fö€PBĆ(†Q”)I—.ťĺg±îŢ˝‹ţ6”Ě0@`ŃŽc`ě@aR»ö ůgEBé?ţ´ ”3˝z˝­Ć(Ŕal˛ÍBÔ,ĺŃé2űĘ´i“\Y4Ž»倲PŔ1[´h¦} ~Dó"ő*ś;îż?±<đ@ZW_B¤”?őiëÖ}EťV­Z­NMP*ŕxP6Ŕ©+**ła¸(*eĘ”Ęů ç�…Ň´gĎžM•ĆH]í-#B(ňŃצs˘FŁ˘˛řý]ڇrĺĘ©JZ<7y ´3f”ˇ€c(˝öéřE&w`Ü›<yĽ–1€ăčŃăš m 0ĆwíÚµ,KÎÄP”"› jNCáűĎ?˙ę8AdQť:µýʤc‡Ůxö"ň cm†ľŠ(3<wađ &“údŚj0d!-6ś{ĎrôkDę6RâŐ0ććÍ[¨@Îś9ŁeerćĚi(e_Ń~Źl7‘”ç¸g0Ţ › ť0_BöťüůóŠđújŚŽK0~*T¨ŕ2ŚT©R)Îjo;śÉĐ>ţřSŮąó Ăř~ZŁ,|0:{äŚČNţ^áÂ…ő>"júěŮ3ę(¬F@E˝y<'¬âpĘÜěنć,ňꫯH|b%G źáô—)Ó#ĆóĽ’F{f®r×ůÎ;4ş{ٲaü×_«,.[¶´fH’$‰„ ÎN˛Ő«WŐlX{÷î×g4~ÎdSá·đ<´{ě1-ĎôŐW_k–ôDĎV«VEłŚˇ"D,O0V "(÷„N<1_,Y˛„ńliŕ¨ĂşSmĂ_ľ|ůdáÂŹő8xFCV㙄LčfÉ™`¸]źM+0$ňÉbŤ&?}ú”üý÷?Úď«V­¤m Ç'qR®bM0cĆT-´eË•1—ĆŻV­šÎWB1Řš«hd6Ŕ˝8ţśÜ¸ń»Ę28±cÜ ;š7Y„sčÖ­łĘo8‰8đŽô/č3mÇJ(Ŕ‰űčT˙ uŹ(~8Ŕ kěď˝÷]WEEeŃ÷ŃϦOźlČU˛~ýgZŞĆzdAŔőbKq=Ď 8D çG-’#GŽčőšŮ(܉‹yŽçĐôé3TLJů*ĆśŰuÜö‡PćVľpzţí”L §lĚžýQăŮôˇ>×áĽÇTŕ:qÜW^yٲÜZ8ë9 !„đăŻĆč?߻ÏżwŘüßÜîtűkn‰ţ˙Z"Ź ďÁ"qçźţŰĹ‘Bü� ©FŤšč>ĽŔK”(.ÄyÚ·ď¨ĆH¤ť5kşhŘ.ţÁvň ŚTcĆŚWĺĂĘ•KĂ’‰ćVňźâ˘%QÎ rtѢ…^3óBH(Ŕ°jFfĎ™3K˛fŤrëČid:€‘wÁ‚9B! §de#!„ÜŢÜsĎݨµ…şÓWţ˙÷Źíż˙˙ý×műĎíŻç&6˙÷ö×sßoď)Îć˛"„ČŃŁÇô/˘˙R*脆™ ”,!·"l˙`;ůŃO W®\t®đĘB ˘Ů±äÍű,ť+!Aht_>üŁkźň†B!„Bt° „Üö -@:U'Ňö’Ř R‚i 7a»řŰÉ?LYĆ6ňĘB ś+6Ô¬YS!$P®^˝Şe9jÖ¬-'NÖTőV8pPK{�”Ö@Ý{B!„B! ‡»„BnsPw,X@Hx8qâ'Ť Mś8±<őÔ“B˘a»řŰÉ?LgÔˇ%ţAůOČí ęź˙ő×ßZ»|úô™úZTT””(QL!$P뫯ľ–ţůGeĘŽ_HĺĘ$sćĚZzčěŮs˛}űvů쳍ú™»îşKš7o*„B!„Bt° „ÜöĄh` ÇŽE~ź{îąűî»…DĂvń¶“o.^Ľ(WŻ^“dÉ’Jž<ą…řĺ?!·7C‡—sçλţÚŻ_5„BH  ĹŘ±Ł¤gĎŢňÍ7»e˙ţýşY‘<y2ăsÝ5!„B!„„,!·= Ě^Ę–-­‰ ŰĹ?ŘNľI“&ŤěرEH`Pţrűb–žB9+ňçĎ'MšĽ!3fB –Ô©S˸qŁe۶í˛zőŮ»wż\ştIţţűoI‘"ądÉ’EËąU«VU’'O.„B!„Bw8đą;,ö˝ý˝Ăć˙ćv§Ű_sKô˙×ylx+Ň;˙üóŻmB!„B!„B!„B!„âž{î.lüů×Ř®ü˙ď?Ű˙˙űŻŰöźŰ_ĎMlţďíŻçľ'ŢŢSű”B!„B!„B!„B!Ät° „B!„B!„B!„Bń,!„B!„B!„B!„B|@ B!„B!„B!„B!„ĐÁ‚B!„B!„B!„B!Ät° „B!„B!„B!„BńÁ]B!„8Ěż˙ţ+«WŻ•ßż!•*U”{ď˝WHÂăěŮłňĹ»äâĹK’4iyâ‰'$gÎB!„Iś8qB¶lŮ*O?ý´äÎýk®^˝*+W®’téŇIÉ’%„Ű™/żüJ:$ĄK—Ň1AnřL Ⴚ®Č$ŇďK$źű4!„,!„8Δ)ÓdÚ´ş˙ő×ßH˙ţ}…$°Ŕz˙ý±˛`ÁBÝ7)V¬ :Xśdúô™2qâdÝ_ľ|±¤I“FHüPłć‹ňóĎg¤xń˘2dČ ą]řů矍kŻ­űíÚµ–:u^"†ÜhŚÉ•ę\µnÝjqšřű—.]’+Vʶm;äčŃŁ†±ńšÜwß˝’>ýňÔSOJĹŠĺĺ‰'÷zŚÖ­ŰĘ®]_I¦L™ 99G!ńË•+W¤QŁ&ríÚuI”(‘Ěš5C˛fŤ’Ű_˛µsçn˛{÷·şß­[g©QŁşßß%äVέZµŐýąsçË'ź|¤ňÄ/ṈřLH¸|űíwҬYK݇©lŮŇiP×™Ä÷}ńŐw#ąß°OBHđ°D!„Äőëż. •¦M[Č­ÎéÓ§]ű'Ož’°1ă™7oľËą"uęT’2e )UŞT ‡‘‘#ß×>ŹíźţB‰/ ĎfÎś%µj˝$cĆŚWĺŃ/żü*˙ý·*ŕŹ9"‹}"Mš4Wĺ>o!áĹßy‚Ż94ŚiÇ�ÇářµÇ}ŽţÓO§$ˇ fź™0a’,îcáÂ…‹ňűďż ą5HHĎ„ŰIGt«@]WÜłiÓf׳×®/-?é÷%’ĎŹ}šB‚‡,!„8N“&o¨˘ęƍߥC‡¶B}ô±ţM’ä~?~¬äČ‘]˙˙ß˙ !„$4ţúë/yë­Ţ†rîs×kéÓ§“'ź|B3WŔÉâđáĂňÍ7»UŹČÉ7Ţh*ŁFŤ”ěŮBHd“1cFiٲą¬\ąZňć}N *(ÄšîÝ»s»I†ěK+őęŐBnW*T(ŻĎýIÝş/ëž$Bn řL ᄺ®Č$ŇďK$źű4!„,!„8ÎĂ?,cĆŚ’đ¸qă†\şô‹î#c…é\î¸ă!„„ưa#]ΩRĄ”Îť;IÉ’ĹĺÎ;c&ó»pႌ=VkĐBvîÜU>ř`ş$Ož\!‘ÍkŻ˝Şń Ť46"rĎ=÷Hź>˝„Üšđ™@Âu]‘I¤ß—H>?öiB –!„B Dr›¤I“Z!$!łsç˛xńÝĎ!L›6EJ•*Ëą<đŔŇ·o©[÷ý˙™3gećĚŮB!„B!„B!&Ě`A Š­[·ÉŇĄËdĎž˝ň믗ĺţűK¶lŮ4"´jŐ*Ć˙ďŹńyÔ4E}Éź~úI'N,sć| †O®]»f6ęËąsç%uęTĆçfIĘ”)ő˝ożýNš5k©űăĆŤ–gžyZV¬X)ź~şDŽ=*˙üóŻ<řŕ’?>©S§¶ĺń­~oůň˛nÝgZwµ:ÓĄK'9sf—š5kČsĎ=kű]ÔhGqśÇřńcdűö2wî<9pŕ \ąrUzőę!™3g–ĆŤ›ĹřŢwß}ݵMÖ®])É’%“@¸xń˘,Y˛LóرcšĘ QąŹ<ň<˙| ©V­ŞFĺXQ¸pq­E߬Yyýő˛{÷·2ţŮż˙€Fě˘ÝóćÍ+őę˝"QQY$ÜďU˙ţ}ĄlŮŇ–ďŤýž¶ń’%Kĺ“O˘ďcâÄ÷idÝ›o¶´iÓęçUaţü…zźĐ‡î˝÷É‘#‡Ô®ý‚”(Q\ÂŐV&żýö›žăš5ëĺÔ©“ňÇj˙ŞPˇśŃ_ëhéŚâĹKég‘ŽÔ.ZćĎ?˙”eË–÷|˝9rÄ8î I‘"ąäÉ“[*V¬h\K1KŁ_ |˙ýY´čٷ={VÇg† ăł^oŠ)b|ăŘłź‚3>ĐÍdúô)ňŘcąÄh \«;EŠ”píüŽí}űăŹ?Ś1˝XV®\cÜëÚ™2e–J•ĘëôŐ>álcĆ|ĺĘ•b|çŇĄK˛páDzeË69yň¤–€÷Ůgź‘ZµjHîÜŹŮţž“cŽ3h´Í‰'äňĺ+’&Mă^“FŤÄęŢTţÇWű™ 3žź}¶Ńó§äŻżţ–‡zHŞT©(/˝T[BĹĽ.”›4iĽžçÔ©ÓŐ°őę5Ł˙fR9QąrE×wđŔµCâąk½hĐŕUC>Ąňú{hdcXşt©!ÓN¨ŚC_x䑌Ć8©$eĘ”’»ďľŰçyýő7ZčŔ4sCҤI´]_˝ˇq?łŠż>|DďŃW_}m<»ĎÉ]wÝĄQ0 ä7dt-Iź>˝Ä'“&MŐż÷}úĽeČÂ}~çÍ7›ËçźoŃçÍ'ź|*-Z4Őë˛ăüůóĆ|eľöiÔůFyĄ\ąr×˙˘ĎHńHyžă87n6ĆʧĆy×±Ťď.\XŢxَƋ7Ţh&{÷î5ć0ůĺ˝÷FŘ+Xዸž? o/^ĽTSČcŽ9бš#ÇŁ*«Š+ęó<'N'O<ń¸fEÁąš÷óU<Źpo<3¤Ľ˙ţXŁ?Íý˙ţHť×zĎo´5ć×Ë—/¸}Ń1†·mC˙=mĚŮ˙Đ>™ćk. ‚yîú3O@ź dmĘbČÜ ćÄřžů^ľ|Ď}g”1—;eČŕ*§1O‚üówĚ8_Í›·@ľřb—Žů»îJdڱ(ý>ćĽĎíŰwŇĎN™2Q<ŹXµúĆ ›´˙â9,YRyôŃlRľ|9CžWtdNčÉôé3Ť~9Y÷Ń_ĐÎđĺ—_I‡ťőü‘†„1:.Ü Ç\ěfëż 1^sź§fĎž]fÍšë{N¬őśę7á|^šĎ† _“ćÍ›jŤúYłf2{ꮑŃń¬€<X»¬ZµFűŕˇC‡ô3¸źocn”(Q"ŰßÂý]µjµŃw7ß=¬r}÷Á3×’Oĺ«]żňś ţüóí“;wî”_~ůŐX÷§0ÖĎ™Śg_5u†´;óz7n¤ž~8G×@čoxäÎťKď d™Żv«QŁştëÖŮň\ťş˙¸xFc}†űŹďăÜ4xM×WcÇNĐ{†gţćÍźI¸pâŮĎ`¬¦Nťa<ٶĎ«K~÷oĎĎöf\š˛˛l۶Í*k-úTĺúJ˘DökX«µ·:"ŠĚsÇSź˝&ĎdÜăň 5cÉ}O<×+Xk Ź@V—*URçľt0vx·î4mÚBŰĎçąsgY~ć‡é}ĂýÇ9\ć^(„ľŕ‰7]—;ˇÜ‹PúW8ŻőJ»vdÇŽ/bĽÖşu;×ţË/żdĚ·Účľż÷ĹÁĘH_řs~ˇ<_MÂѧ#uÍI!‘�,! ߀ď†ću1^‡RPlsçΗwßĂ{ß}÷IďŢ=u҆…ö AC´¶ą'P*ĂątíÚŮĺ\aĹ€ďę‚Ĺ,î±Á ŇłgwCAYÖöűXluëÖĂUÁ‹lXa±Đ«WOźĘjL.GŽ|_â,Ş ,ׯ˙ău´6L¤?ýt©ŃľĂ˝NľˇXRr„I1^‡Ň8Z)şNŢy§żˇđ.,á ď^˝úČúő\ŻE/*ÖЇ}†2uš‚Ű´iŻ÷ÄFx(x±Á™N V8ŃVGŹÓ…ÝŮłç<^?j(' ľť2lŘ`ńť:uS%¦;PmŢĽE77 čk,0‚Ëń×_F‰az˙Üú9)PP÷ë÷vD¦‡†1şM›ŞŚwçŤ ň÷Ţnk<Ž‹66ńgĚĂ€ ůčęŘpź ”…RŔ›R$Ô± ĹdçÎݵ ÝQ×±yóf5ú"XůoE\µ”Ů(óŕ)çŃÇFŤŁJňNť:ŕ>AٶmuĘr˙­ţýrëw©U«¦Ěś9Ke‡ç5Í›7ßxɓ'Ř:ÂߥKC™±?Ćëč Ř HĆ6lĄň@îBN@)îÎĄKęsădřđ!â8g<·ˇ(1A?ÁĶpáGĆůvŠá\—@~›ý˝§ź~ĘŻďAY_ż~]­Ý Nť:­Ę|+ Xj۶}Ś~ŠgŚŐŘLc—‘ň<‡Ň¶[·žúLőü>”ëč—ľpRFř"śó´' ]prpďŰŔ”?P BůŚ'Ţä7žËť:uŃľŕ”ÓŘÖ¬Y«NĂîcľZµ*.‹•+Wyu°€C 5 T©’;WlŢüąĽýv˙2  ˙A`{ĺ•:Foeůý¸|î:qkŐ)˘K—î:72ü3ÇlŁF ŁLcŰc`.ňöŰýb9`] Šígź}ZĽ>ٶmGíKîŔŔ 9Žmůň•*‹uH xĆuîÜMŻýÁÓk:iO#[$ő §ÖzNô›¸|^âXÇżă5Č<´ÇÔ©“ôyÖłg/ůüó­1>ó5ęŢ#8wYÍ·axÂó˛Çô]lźŕą1tč`yę©'Ĺ0µlŮJç˙&ćóc`Ѣ§ŐŮĘW™.<礲ŰHlxÎÂ�¬2Ôűo>SfĎţ0Ćëř>ž%¸ ”păäł-Ükx÷ó‚‘üÂ…‹®×‚é#v85.áѬٛş¶rÇ\ĂnܸÉX÷ ÷ę¬ëNČ<;}8pŕ€np0„®Á&VŘ­WplĚm±Íž=W† yW˛gTâ 80`]ć9ĚöÂZ cˇT©’(Nęă»ÝJúGo8)#Á‰çk8ű4”5'!„Dt° „ ¦’ŢçŐ«WQ#ĽNU€E6&G06L›6Y#aL1´ŰP.ěÜąK‡î‹UDÚźŠË{Ťj>}†.ŞáőmzÉ"Ze×®]:ˇÄ´Oźľ5iĺa eô›o¶ŃE&ĆpÄČ›÷9]ścB‹ÂńăÇ5Ş ‹"DŘŘM ńyLġńĹšň裏ęÄĘ+D"Ďš5C?Wż~Cý‹CD9›$I’Düă¸.LÍó.R¤zŹă<׬YŁJšĂ‡«AĎ›·ď7ß|Łm…Ś~¸W—/_Öű‚¨f(@úőđżöî^¦ň˙řQ"eŤ6K Ą˝¬Ů"űľ$dKe+)Kd_˛+QĘE˘˛oQٵü*[(K{˘P)…˙ů|Ż3Îť{Ι33gćÎĺó~˝ć5ëť{ć,Ď9Ďó|źď#sćĚ kt{8¶#°˝±-ŃhőŃGktą°^§L™.[¶lŃĘ@™2ĄŤŰ=ÚńµeËŮŤĆt&"X�#ˇü^Wř~ôŃŽ3,#*T¨8˘yţüEÚa4z´ű|…Aß®]{­€¦K—NK… 4RßłhŃÝ'ѡŚFiŚŚdDGŻ^ĎK±?6lXOGš`´–5hÄěÖíim´7,0ZŇÜOŹ;f4vuŇÇ÷ÜSĘč<;şćšk®ö´8öq Ś=V˙/ ű…YéwA>räh=îjŐŞ)ĹŠÝ-]tˇlßľC÷GTčQyGf�»ÎĘx­cp;ćMhTAŁ"F<\xá…:Úű(Fî SmîÜw´¬DĂ–÷É'»8ţżhŽU”q;v•oľůFź*THËmdpŔw`”>Ňűôé§ßă&šň?5ÖĘ ”ófc8F\Ý{o-—±O,\¸DGÄL0Qü€Ě}ű&uµjŐBG(aYçÍ{GŹÁ±c_0Ęű¬\éwęÖ­ŁŁ~Đąpáb]^4 8D;\áŘÄ>Žß @ą†Î-Ś*Z˝úŁŕS ţjÓ¦ťq®ťAhőüóŁçZ”‡Ř§P`ů±ŢŃ8‚FsŚörsů‹/&­»\ąręč©n¸ŢŘf'ő{PľŁÓîh8Äţo¸&0U®\9ś?Ő‘X¸ąÁńŐ»w_=Ç`›)RD÷ŮM›6ipÎ?h„Bgbp'y˘śĎń˙1Ű đ· ÔŐ}Ó,#pž~öŮ~F9ü§ëúđ«Śđ"–×8FÍŽ0Ś«[·®Ńy‹^żá»çÍ{O;^ĐŕŚßé6ÇűôéŻçť-ŇĽůR©Ň˝Zţŕ;0J×½=`Ŕ`˝Î4(_Š-ŞŤćřŤřmT¶cF†ë¦WŻ>şĎ"ëJ“&čµ0ŽW'ázĺ ˛íŕŘĆş¶ŠćĽëĺ:ŹýĽ†třőíŰOŻŤ°ÝnĽ±°–Y7nÔl7(ł0jű”ÝČR·Ď>Ű7pÜVŻ^M×ÎMß|łWË{lŰÇ9.Ö÷Ot׆z¬7śßy×–čDAóúő×—Ď>ŰS˛M=ńD7 ”G™?aÂx ˛°ŠĺµX­Z5ôxuşNĹČx+?ëzŃî7ń<_âzoĆŚ7´\C™k¨Ď?˙Rł>˘ăxčĐçuq~Aů…ŃĎ—]–]ľţúc9ćk=űŽd†°Âţٱcg-Óç6t°âzĺ®A0Čő¦ž={ë9'kÖ¬¶Ë‰sp,áşť1­ŹriÎś·uů°]»>%Żľ:ÉqŰ “Á´8×<ôPKąůć›ud7˛sa› ČA˝(˙;w~\"íöGG”yNAÖŠ† ®0j×d8Gź‹üćçą-–ç`Óß7®±žÓăe$>kżďĽ3_żŰË>âÄŻăç2\§ay»u몣¸Q‡E É+ŻĽŞË‰ő‚ëAó˛Ö˝ý:żůUćąµ' ě^ľ|…ž°Ďbƶµ U_ÁČü¤ëź5ËČ´iSRśKâµpÜĘŹćÍ›jv”I[·nŐí…cż˙Ćńp­^{ĺçů'’ýËO©]_A€ÚPľĽúę}­S§ÇŚzUq}ŚěX~ńłŚ —ç×XîÓ¦D©s%X‘gčt1ÎíF 'E”×\řŤ÷‚F×Z=ňČĂĆwlÔĆźńă_˛eďŃŠ.ÄĐŕąsç2.Ľşş. .ępÁŮ·ďłÉ–iÍŃ@L¸ŕ1bÔ™†ĎĚĎ q©˙AZáAŁ:šŃ™k…‘.¨  á bF㸝Őŕ‘qăFŰFź›Qů¸Ç9žG©Ź"\˘Ń#ůń۬ĐůŹĚŘVč8D…ËéÂë/ÖĆ&4h#Ő)ŠŃč pD!7jÔPb•J¬k„3ţF¶ă·š,#–Ő„N¤GĂ*ťR"¸qĆŹu…†3¸)ă[´H^‰BŮ!Ă5ş›1cĆic3öUDڧÜCG+FšˇR˛}űvm ÇŃpŕwŤ!hp6lH˛‘g5jT3Žę벫6 <Ôč4™©Ť™č¸1÷I4аĎF˛Ż˘ŃPˇ3;NĐ`ĺ–nĐHŠL Ö|ZU©RYZ·~XŹYlëvíNń]ńXǦPÇ<Ęt’'Ą“Ě©Ůz¬S. ! Ťx]»vÓŃ hHF°YáÂ7ŘţżhŽU4›Á(Ł1JĆZf"ŁÍPѶŽü ćGůďő‡cÓ ®@úX¤‘µÂń‹Zاü€]h =zD˛ÎĐzőę 0i§¨Ü‚†`ëČ]L!ŇľýăŽ'§ňČl¬Dg2#Xá÷á·ŕ7a2dŽf˛ÂwŁÁŘ2a¸dŤUŞÜ§Ë‹óصtžćÔ8^GŚ–lô`RŞŘZFąŮéĚąx¤¸8uÇĘ×_ď <ľăoŮ+ÂĆa4!Ĺ:ŠĺöńaĂFčs”7Á‰r>Gg®ŮĐ…k2d—°Ž€C±dÉ2˝&ŠWáE¬®p4Gm˘Qóĺ—'h°” Ű S7´jő°ŕśŇ˘ĹÚ™lŰLJ5Ř (+p­Š2 Ç ,`YÎ`ÎŚ–s%jX`ßđšˇĹ„†b”ł€qsę�@yŠýˇmŰöú;—/_ž"Ŕ"šó®×ë?ݎß߉ŕ�kÇ>ü ( çěXÖŕŽRśOž~¤·č´FYoýL… ĺ5us§NOhCłtVŁQ–#8Ëú{±O㜌m‹Ŕ$ŚösꤎŹ 0 ׏čTyńĹń¶Y’by-†s&n^®Sý®ëEłßÄű|‰ YÔWPo1ˇÜC'7FŤb˝ă†rpđŕÉŽąFŤ×+­µŚF§pgÎ8—€™&Ü ĺ¦nĂţ‹ßňţű«R\{™pţDý‹8W™P>b[!Ë‚»°¬¸ÎC�¤)G@(ĘjëzĹążYŰ}‘©�×8Ö˙ĺU4ŰY:fÎLšžÇĚĉ/$;§ŕ©[·¶nl»XńűÜË:Ľ e 2ß`44ĘW+\g Ř çÇPű?ŹKüŽŻľÚeÔą¦&D€ő|×]wHăĆMµěÄő2ť |´Ö˝ý8żůUćyiOŔô ŚŔo>|„NĄbýŚ×ú ®‘Ń™Ś6Á!CIĽ˝őÖ\˝G]sĘ”W’Ő‡pĽ—(QÂ(ăÚę:E€pđďpâ÷ů'’ýËO©]_A˝¬żpíčwćżËČpůq~ŤŐ>m•uN"˘DŰIşčśňúëIeŚŞsJÉŽŃf,*gÁ©oQÉčׯŹ^HáÂëĺ—_Ő×1ŇĆülŻ^=BÎ7™-Ű%ҭ۶ˀ z3Ý$*ćÁŤŠ5SU>üđC)*<€ďĹ#ćý›oÎN‘fÍ ËŹľh�GG¦¤®ÜĐ9fÂś™N°Ű·ogű.¶Í‹]d TČěŇǵis¶Bm`×řŠJFăĂîÝ_§x?Úu…(r4ćţ ®�T¨ž~ş›c:ŔčtĚ˝¨ŚŘ͵ďéÚµS`4/ćŞ ×ŚIŤw—S€ŘĄőEĄ¬kפ9*1R#P Ö±]şCt®ŁQІ~«x­c+·cŢZĆŕsÖŕ�F%aÚ$łaŤN"=VQfa¤ ÁşgĎglËLtÜ9uŢ™ü(˙­b˝ţĐpjvÚa§]?ö‰§žzÂq*ŤH ]npă+ʇŞUĎvL˘Ă"8-:¶!˛1™öěů&ŮűÖ}óŻ:5ŕwšŰrăĆÍÚik…ĆHęüęk›ťź;>&n ő>xđ�ŰÔĚ Đy¸ÁlŠ·_Mšr ë×mʱhtďţ¤í<Ô(łĚs”Ýy4QÎçłg'•…č4E‡¨]za4¨ŁcĘŤßeD(±ş~ŔőçÂ…ďéÔH]mm\5áZÖü¸Î4ç7¶»LjX?ÖÎËĎ>ű,č÷Ý(KÜ`Ťňć:ÄčţpýđĂ÷zʞŘ\aB9;jÔp™?^Љ©qŢőËOt±ÍšP˛d‰Ŕz°;VpMŚ#€úÝHuě?([Ý:80mőÚA 9ʇŋ¤zpÎÇčLC˝ eÍřńc5ËJ°DÚ'bQ׋tż‰÷ů2OžÜҡCĘLoč 6Ë=čŇĄsŠ€&\+š×+(Ű0˘Ô ç“ ŢŃzFpçŹ Ł›Í ;v|%npÝăđ€�sŰ Ě ębvëehďŢ=ôw&]GPéöź3g®fk�´ŘťSĐQhn˙XńűÜË:ĽFHW�®U0ĐŮq Ô>Ěďă#Ůí24âzÝćw ~ ~•y^Ú0Ĺ®_°ß#Ó˛Y©Ż`*]ş¤ś¦óżÇ®>T¨PAyőŐ—Ťßł8¬ŽčXśRs˙:×Úťř]F†ËŹók¬öi«D¨s%X‘'îŔú¸qăF® ‡ÖĹß>F¨™ŤčüĂH®7ŢHšk•4sÚ7Áě„ďf#ȇ~콕+“*}¨0b¤™\đ=đ@#}Ś ‹Ó…>"„ , ń‚Î/§Y°6ţüţűoŽźĂHG§´Ľhl7+|Ö9Oýć4b4x@‘"78F†_sMR­ÓďŚf]!}Ą9my ű‘µR ß 3~CăĆîű*€Qű÷Ż0: i&ťzn)Eyo¦R\±â}I$n)‘b ®ĚĆc[…:ćW­Jj€C°WéŇĄ?‡÷ÍcŔ®¬4Ez¬"e2F~ö ·4ÜhŔtâgůńX‹ÖÔ¸ńýŽß}˘víšâ4ňZ§9±şęŞ+ŹŃčaéwMżýv8Ů{«V­4Ľą•GÁď[¨0ZĹĚ0€Ov+¦ŞU«8Ŕ`9Ěóę}÷Ýg\`˛v»íă±ňĎ?'ôŤA~Ť0˛B#—]Ă)ŕ˙™ĺF–ŮMÁ“Úçsś;Ě‘ô(#ÜEÝ2Yů]FxËëtơŮmt\¦Lg;Ětľv0˛Ó‰™Ĺ‚· Îăć9©´>śâďÍěXßćą-yň$ĄäF– łC$öťË/O™ş;Ţç]ż ťąőz"ص×&mŚŕG™ie–{¸îĂH'8+v—ăűćz‡÷Ţ[`Ű©‚:öŹX”[á@@IÇŽ]ôZĺ:ZśŽ‹DÚ'ü®ëEşß¤ĆůňÖ[oq,ŻĽ2) ť§NÓő™e#`ĘÍ`zĚ­óu§Ś“:MÜÎ[ŕVnY÷tVb ; q›Z×VX'đŃGE4*6šíżvíZ}ŚÎh»@6¦ Šő` ?Ďm±®Ă›4¨çřÖWŤIÁ…nűH°X—îăL~vČZůQć…Óž€l!“'OҬ’Öŕ”pę+ö—ŃŁGĆ,Sj(ąs'u ›YÄěŕX 5đ+ßçHíýë\jtăg‰hĎŻ±Ú§­R»ÎID”8Ey‚ "Ě‹#;ÖhŮýűżµý ˘[×­Ű ;vě'žxJ_CCF5yáÖȸčCzc¤^^sd0:ąB5d+v6Ą7ćpµëHąřâđćÇôŇc4˙wß}ŻpŹąßMfęg;Ůłçpýn4ľˇżäďż˙‘Xąäç9Í·Na3ęŮä&Üueî'¨h…J»í6ňb×®¤c"Ś”q;v°ÎMhŕpę¬ †Î-“ÓČ]±Ľ‰iN‘(ĐńîS™Ž˙;Ů{ńXÇVˇŽysy0ęÔmYŔ\t^8ĄŹôX5É Ô>\´čMÚܡ~—˙ńXfg/~ÓÍ7uýŽpÓę;ÉšŐ[c…Ů0Ě:Š#¸ĂÍZ…šŁ 'X/IŮ^Îăht3G™Ý~űí!–1Łžg1mO0ŚN3”ĽlŁ‹/ά©ő÷í‹Çę…&ť?ĐéňÁďÎĘś9sşXË4¬{L+ŕ$5ÎçÖs‡Ýh|+”X~»@żË/âyý€cŰ)íţů-[q kŠtŰXłŞź×�Á(˘@y°bĹĘdéĎq®[˝zµ>F– 4ʆ Ó†aĘ ”űľS”+WƸF¸S°ÜöíxźwýâĺXü.”[ÖŃ»áÔî¸ă ڱi Đ�Ťě#4ÇÔMČî‚ë7”»nĺD<ˇqĽWŻ>şĎ¦Dq«%Ň>áw]/Ňý&5Ηn×"ᔍŕ6˘°ť Ű/żülěÓ?iÇŽ9˝˘[ŮufvÄ8±$8đ­m`h¨6@€– ŰâčŃŁ¶#{ÝDşýqî0·¨s,ÖűÍ7ß$ü©ÄK4ç¶xś/ą$kČA,wŢy{`:§}$X,ŽKk™ćöž5Űźü(óÂiOµ^ę+© Á ¦AĐĘS×”*Uʨ#ݲlră÷ůR{˙˛JëíŹá¦ŚŚV$ç×XíÓV©]ç$"JD ° "O: Ý­ŰÓž˙îČ‘ßm_GĄ éÝ›6=;íB8Ól\vYöź1SFZ—=éyR4íĺ—ç ůÖNÝ_=,‰�©˙Ţ~{žlذQ/öyí@JíQqńÍş2÷TÜŔ-0Ŕş˙5jämžiNËëĆL^öksô$*_h0Štžgż§*ö*ë8f�˛p—Ç.Ŕ"ŇcŁaLÖ˛Ě:ҰŻ<rä‹ßĺ(~¬?s´7RP†ÚŻrćto(Há”G€,h<>xđĺ;[ŢĎň;śÖ‹ő{ŢxăM˝yéţŤś9“~'ˇ"éT %ÚyŽSű|n=¶Cť;đ[q]eN‘ŕô=ń(#âáăŹ?Ń9ÂŃům7BÍë:ŹfAç¦0”Ë–%°Xż~c ‘Őš$č>| 4$0zŇA‰ëq4ČVŞTIS§ńM´ó®WŃ\űšç•pëÁP†Ź?Ú¨÷ô•]»viýkŻMŐÖ3:e肬~~—YáhŐŞM˛çˇÎ=‰´Oř]׋ĽŚM;çKݰ˝ćÎ}GÓŕďŮłÇ6ë+T¦ouůł×!Áőůđľ'»ĺ{‡}\ů±ý‘i#”HĺÂĺ׹-Buä5ű„Ó>,Çe´×ŃňŁĚ ·=Á~9Â«Ż¤&LS‚c`Ę”iÚ™˝rĺ*˝Úvě€ĚźNANbŃÖÚű×ůÔţšed´ç×XíÓÁ˙?~Ő9‰,Č“S§ÂO§ čĽuňé§ÉGhüüóĎâ•Ý(ë`¸¨„ŕ‹@ó‚ÔËšµ2IJQż-^ĽD†}>±Śß?~ąúę+ŤFř«¤PˇťŚtľç»hוąŹyéôwűL¤űM¤Ű^ökëgażŽVĽ×q(‘/Ď ‰•PŁÁiY,Ę7~®?/ŁÓ#ý}©ÁŻ,/űÓgĽü­ťÔ…‚rŢ„Q?vóx§–D8ź˙÷ßŮăĂKămúôöçşx—±†Ń_h\5ˇ“�)ŕ‘^ŰäúëŻ×†Â±c_XÂ>Q«V yůĺɲsçNmŕ.P żľ·dÉ˝G¦Í‹¦aš7oަő^ż~|ţůliC0Ąn3gľ)ŁG?/ůňĺ ü]˘ťwă!śëB§cĹtŐUWÉ´iŻę4‰~¸F¶lů\SÜŁ<@ö=ÜfĚxCS¨»M3O=zô2–ůµdťŢV‰´O$J]/-ť/˝Řµk·tíúd˛�Ţ<yrk–|ů®0Ę'LÇq«ôîÝ'dÇYOwN}ßë÷ÄłĎúŁ9Çú%QÎm^ESw‰ö{í$ňůËď2/Úă$­ äAV]LE´lŮ íXßľ}‡^˙ 2á†éÚú÷ÎsŔHZnk´s>µ?¦fé×ů5ű´üŞs%"X‘'Hmzýő©rĂ ×K4Đ8aÂ$}l¦Ą=zś¦ ł6ŕ:AjÇP~ţ9é39r$Ď.€‘HËk¦ĽuóË/g˙OîÜ9%5!źYąąôŇlŇąsG)W®lŠ9ôě˘ĘĎ7~¬+sD ćFCŚ[EŔnŽb“9‚óŃ®ZµBb!W®ł#ž0źőŐW_íúy¤¤rĎś9ł¤uńXÇá@y‰}«lŮ{dÄá’Z¬PŢaj'(Ź9ęđ=ţ–˙ˇř±ţĚeĆ(4ľ»5 ÄjľZ?™ű8ĘšPżL:żYĎ[ÁűC(NóßZ÷LëeUźhŠ?Ű1‰äp,-Z,Ë—'•'O=ŐÍ×ö‰r>·îщN_7Nó*Ç»ŚĄ÷ß_h\ECj§NŹŮÎ7Śçx¨YłşLžüš^‡`|ôŃvšŤeăĆÍú~µjŐRd—®jŐŞ©7Ŕ~‡Lďľ»@¶mŰ&{÷îŐl S§NüM˘ťwăŁéP/0G§şq›Ü„ëĘ{î)­·¤żů]ľřâKťű!2”ôěů¬Ľýö¬dÇXĽŕZA oĽ1KGCâ·÷îÝW^|qśmI"í‰R×KKçK/ž{n€vţ`ßmŐŞ…Ô«WG.ż<tf;żýö[Čú•uű™űW0ë¨{'?ýtö{¬Ů,b-řŠ—r#R‰vnóYBí#¸ž29í#Áεăü(óÂmO°n}%ÖĽÓäÉ“GZ¶l®7|ţ믿Ń)/±ë ÓŞćË7ٸV\ĽH«mŤvΧöÇÔ.#ý<żú˝OűÁŻ:'Q"JÝ<SD”f*T0đxëÖ­ \äőë7HG."=ŘâĹóŤ ĽĽYŰż˙ Oˇ˙űż˙s}ŤźhDűZ]{mŇo1ŁyÝ|ňÉ'–ż»VR"ÍČń=ž6Ýk¤¨Ü�¦}8ßů±®Ě@t<o۶]Ü|ůĺ—Žď™#¨˙üó/} ÖůfÍôŢNp|!ĺaҲ…ž§6-Ç:‡ą<(c"%ĺ‡ ›ŰÜ FË:Ťółü÷ÂŹőgŽňĆoÂl7Člč®».éXĹďÁHg7ăÔ ú˛ăH=mNĂj@ٍSą‡Ń4¶nÝ&‰ űn‘"EôńŞU„,ËMXĎÓ§Ď4®>3~ăvąâŠĐźáH”óą5 5Ô~…9QĆÚ‰wKëׯ×{t Ź7JŠ/fŰApěŘ1‰4’/ž”Ę™�ó?›űOť:‘Mâű‚-&Ož(%K&)aĘ&ëů5Ńλń`Î_˝mŰŽón#P"\—]v™v\ 4@Ú·D_C=壏ÖHjŔ4&Y˛d‘¶mŰHéŇ%ő5ś/ÇŤ{Ńöó‰´O$J]/-ť/CA‡ˇY·nذ{9uţx)Ź?®ŰÇ Î•&óş.Ř_l y<~ňIRÖLdüÉ–-›Ä ®»0¶lqżÖÄčuŻ×(‘H´s›8vżúj—ëgpťfrÚG‚ťKÇĄÉŹ2/śö\'ŰŐŃ©ŻxÉPă$sć¤éMCM c ŔńťŰ×_ť´hŃ\fÎśč^¶l™çďH«mŤvΧöÇÔ,#ý>żZů±OűÁŻ:'Q"b€y‚ů€14Ě›÷žk…ĚK–,ÓČw;Żż>SGÄAÇŽŹkCG×®ťő9.¶Ţ|s–„ňńÇźş6ŢÍš5'fŻB… ÉŢ«RĄŠŢă7`Ž;'¨LĚ™3Oc´ ˛kř!ŇôÖ šµă4Xj5Ä&?ÖUůňĺŹßyç]ÇĎa{.\čÉŽůËÍ‘łgĎ7h¸^»v]Ř'Ś6łĚźżŔµ2żdÉŇŔ|’UŞÜ'±Ż©HⱎĂqß}IëŃůčÔułbĹűşL^R‡ë¦›nÔFDµ_Ľýö\Ç÷ü,˙˝đcýY3Ěžý–ăß#Ýď‚ %ŃUŞT10‚/Ô9Ňú~ŐŞUŹ1Ę˝L™¤‘Ňčü۱c§ăw`qÚ'ŃđTľ|Ňú]»v˝ë¨%ě+ďľűž}¤VęŰvíÚč=‚1:(Tc+–óůçGi¦-¨[·N Ä/‰r>żăŽŰuDĚźżĐőŘ^°`‘ă{ń.#b ť~-Ű%ŽS!�ćGŽ—š5“2K ńűĺš5IűEѢE5up$°Ť6oţX^yĺŐdťV(sîĽó쵯őĽé×y7Üë„ÔLˇ]ľ|Y˝Çń»t©sĂ4˛ěmÚô±ăű({QNĎť;Ďń3wß}Wŕń±cHj0;° •´yŚĎ™ó¶¦Żk1/i×S»®gJkçK7ýu<đ8xđ‚8˝v¶a_r‚ f)ڤ/X°€Ř/×_šqĘ ¦áŮż?©Í�Ű"žSŕ2Ô>ýô˙Śĺ8ŕřYÖÔđ~KÄs›nĺ$˛9™ť„nűH°D=.Łů~?ĘĽpÚĐ6R˝z-yöپɮ穯ôíŰO4h,#GŽ ; ŢĚP‹�§�+śk­"¬°ď Ž‰ şNő´Q˘c H”óŹ©ý1ÖíJ©YFúq~Ťĺ>íżęśDD‰DäY‹Íôţ믿–!C†Ůvľŕ´oßţ2`Ŕ ©WŻaŠQ»wď‘W_ť˘ŹK•*!•+WŇÇčĚ6;~^~ůU­ÄşA%¬Oź~z! sH›jČ4óVh 5SbYĚQ-Áß?xđPůî»ďôyłfM<Íç)sáçźލR`MÓřÁÚ~ż,ç;?ÖUáÂ7ťF7ęcĚačÔx‡ąŃżúę+ÇďÉ›÷rŁĂ¸˘>FÚÁyóě+Ú\晞ҽ{ą˙ţ&aw¸·lů Ţcä:,ě*-hh;vĽ>Îť;W˛Î×X¸řâłÓŹÄ2udĽÖ±W×Ňé:bÄHÍaçĂ?ŇmŐˇCGťOÓohhĐ ľ>FŁ-Ęe»,h8DŞH7~”˙^ů±ţPŁľ×ŻßhŰȇr~čĐᎍo‰Ł «V­¬ŹŃq7mÚë¶źĂţov|á[°`dď7jÔP÷ ś°­ě¦GÁ«I“^7Mš4Ö ¨<óLoŰi»đ?0Řđá#ĄyóV)]2f<;­S#Ršvéň„<ůäSrŕ€sÇ„¤ßÇ\´€súCµŐŽ »ĆÜďż˙޸¶xN–J=ÔRü–(çst2ÔŞ•”ĺ#¶•ÝzٰaŁk'ÄłŚĄ«®JÚ68—:Ť°š:uz\3ßŕş ľ€ĆÓÍ›“"j×®!‘Âąŕ™gzéÔKÚ®ŁűĎ?˙Ô 6@€–ušżÎ»^Ż˘˝†öC•*•Y€^xa‚Η Ůů°› ővĆŹѸM_ś¨eśť÷Ţ[xlUě…—˛5\±úüóCÓĘ ö|ŠßŻk1,Y'sÚgR«®gÇŹóe"@&'sý 3Íî\yá"^­\ąĘ¶~…}×wfç^ăĆ ]żg„‰¶çě¸Î,{ő$Ţę×Oúź(sqţłk»ŔµÇ¨Qc$–ńÜć®i”ĚÜGĚ2.Ô>,‘ŽK?Îo~•y^ÚvîüJ31µ$˛Z§ÝńZ_Y¸p‘fĺÂů�Y(¬ËaÍđÇöAxwŢy‡ŢŁgw­ŚălČçi&ŃÖş#‚Ľ&N|Ův˝ďÝ»O3ä@8Y?éü­Dj4Żż íJ~”‘^ö];~ś_cąOűÁĎ:'Q˘‰nÂV":ŻÔ«WWÖ­[Ż©‰QŮýňËm:7tÁ‚ŚFSÚůhö“:l0:ťÔ&T„1zŃÚ¨H"ÍśŐÓO?e\̶Њrż~u®g§QŁŐ«WŐNď&MÔD\ ?ţ—ŽÂCc .ÖЉôĚ3ÝŤ&\řöë×GÚ·\—©K—'5ĐŁX±»%kÖ¬ÚČ1ţ˘@gÎm·ÝjTzšJ´n˝ő˝XGEs–+WFSźˇ1Ňn.ă`HS‡Ôj¨P R‹‘ŚeË–•Ë.»TGzoذAŢóçĎH1wľňk]őíŰ[ZµjŁűÉ ACµC#ă‘Ć 1ŘѰ€mąfÍ:ÇďéŢ˝›ŽÇ\ś#FŚÖ}Ű=oŢĽ:2 hŚF# 5t¸s–"ť÷š5ku9pŚ6nÜLçnÄH”żţúÓ¨ ~n,ďr=ţPëŐ«‡mŠG?aź7 <Lx ±ńč´® !ŢOńXÇ^]tŃEŇż_yě±N:‡:ĘšŠ+HÉ’%ű#Ěě ^xˇ<ňH;‰…ćÍ›é˙Ů˝{·6d5iŇÜŘ/jëHÔ#GŽč>˝qăfa÷ăŹ?Fů‹¶ü‡_ëŻgĎgäÁ[i=:ł0бbĹ{uT Ę”ó8ţ1÷r"vf{ňÉ®zA  Đ�őŚĆLL‹…†/3U2Ę:ăÁpL✉Ž/Ś„oÖ¬…6ţc®Y4˘˘<Ăܲř{¬o§ "×]w­±]ÚťŚ/ťl»ŚőÜŇ8/W—˘EoŇ´˝h8Y¶lĄN+�h C&«+Ż<;÷ę”)SĄZµŞzĽ,X đ:®°ďF÷Lš4A"ëŤß˙ÝXg›ô€Ž=ś#nżýVMÁúß'Ťßń•Ž05{°FŽ|^.˝ôRń["ťĎ‘áçěččBYY§NM]>”ť›7oÖňĺöŹ?ţŕ8Â6žeD,á·# űA×®Ýôř¸ăŽŰôzŰkůň•zś,X0n×Z8WaD$Íŕ'”“•+Gž… ˙ýŤdĆŚ™ňÍ7ßHëÖmĄaĂzú»ĐßöÎ;óŤŘXÁ©őý8ďz˝NöÚ9sć4ö‰NÚisS۶ŹjşlĚŃŤrçĎwß] ĺ‚»12ÚćÄF=‚1}´qěÔ3~ßÍz.Ăú^Ľxi °eséŇĄ$^ĘÖH Đçˇ%uJö2:Ď^MVFĆăZ ŰşÚőęő|„ÔęčL@@¤V]ĎŽçËD€Î-tś˘|G&Éví:Ψ»c»/Z´H±Đá*¦Ĺ~aÖŻ0=Ęś‹¬eĎ-·Ü¬)Óť űU»víőxĶÄ>‚×@li<ř`3ˇo8~«U«˘uFä7mÚ\ËSě¸ö@đűüůóµn†˛Ä-uzÇŽ]Śë”¤ëĽ·ßž•¬ó3”D<·…rĂ 7h›‚Ö>řŕÝGPwE§4ö;j±“HÇĄç7żĘ<·ö„?˙üĂXÎ/4ł ę 8ÖQ× .ĂCŐWpĽŁ  řčÜąS˛ż·Nˇsj®\ąô7`Ľ Ë„ ěϸŽF]×Ń8ŹâšŮ ±Ś¨ßÚe”±†ýçZ”iXV\ł˘L2Ëł ÎfńhŐŞ…x•Hç@ -ÖôčŃ]Ż×˝J¤úJ‘"…uÝbťľöÚT=6˛gĎ®7\DËŹ2ŇËľkÇŹók,÷iżřUçÄ6*_ľ’ăąrĺ4ľkľĄ&XQX†¬©łQˇAĺŁ÷íŕ1¸sç•W^Ó tîÜ1ĹĽrgşS§ÇµbągĎÍdѱcŰď/]ş´VtqˇofİÂĹwź>˝%Qyž0aĽQÉčĄn¸`Ć-FR÷íű¬/ĺ)nTžQé3ÓŇ_sÍŐš^;T"0z¬S§.:Ĺ.>qłÂ:0ŕ9iѢµśĎüZW ±cGŤ˝u”płÂŠ'žčâ`ĂW_}ŮŘßžŐéqĐč`×€†ĺĆ>NĹ×jđŕ Ž *‚^–5k8°żŃ YRb­D‰âí޶µţćNťÓ†N?Ĺk{… ®µŚ±Ű ŘfşFżˇ"ŽyÔѡŚÎThŃh…cĺÜ“O>íú]Ń”˙áňcýˇ˛ţŇK/H·nݵÁÖąšŁŚPŮO hT~啉:ŇnűöíÚP‚[04üŚ9L2ítëÖU;PŃÉ…NÂéÓg${Ż ™Ç0‘ŠßóÖ[ö)áŃ@>|řd#Ź�ť"Č2…Ž8ó\©Ň˝ZŽ™0‚ŢÍHl\Ś1\Ga”çPF:Ť€Bąţěł=™Tü–Hçslď^«e¨qý…mj…đAúkçŽs§Y<ËXA'BďŢ=´ŕłfÍÖ›:Ď+W®¬Ł;ăĄnÝÚÉFtU¬XÁčxĘ"Ńx䑇Ťăď'ÍR˘ŮAPs—.SĽîÇy×ëuB´×Đ~©S§v hĺ:pqłjÝşĄv68Xŕú ř”k3gľaű9”ťŁG?vÄKŮ)t™Sś üDzřqăĆ–1^×bŹ=ÖިK>ˇŤëač]ąrY`YRŁ®ç$Úóe˘čÖí Ů·ď€v:cűšS~š°Ü¸&Ăď `‘1c& ¦}ä‘¶ő+@ĘüaĂ»n›Ë/Ď+M›6‘§žzĆöxŇvčđ¤ó|‡ \Ź·]ŕZ×Č&ç`±oß>˝Çőm8Á¨ç678¦Í}ĺ©]™ęeq’(ÇĄ_ç7żĘ</í XoC† ´mOđZ_ąęŞ«´ŽŠ`++íaq< ř×§čT^˛ä씎X/ť;?nś^Ôŕ:|ÖšŤˇcĘiHüöÁeÚ3zíët®Bç:®G°<áH¤óŹYn@‰%$‰T_A B›6­5hÇ ‚óŕž{JɨQ#$Z~”‘^ö]'Ńž_c˝OűÁŻ:'ę,fvťp÷i"˘X`€…d¸đ¬_ż®Ń€1_;ě~ůĺg‘]·Ýv‹6>Gé˘Re¦h/Vě.Ç�xýý÷Wi'>ŹiCŤkŘM…y~q†’ĐE¤u“&÷kăŚ3g–VyŤ 5Ś@ GáÂ×kŁźuähaÔ4'Ož"›6mŇ c4`ŢJŻ•gt"Ξý†±nfkC*˝ŕE'O›6}Ŕu>»ó‰_ë młfÍÔý�MŤýű:‰Ň#ŁCAgçäÉ55=öą˝{÷ëühTĂwaTĂý÷7Ěq źčDG F o۶C˙FâäËw…T¨PNß‹Ĺl;Č"NMth˘Ű�őÇCŻŻHÄc‡eĚŰoĎÖFł÷ß_­e Ž{¤DG'8FZ"]1 b #;0ň "čřÄ([Ś@™ŤŚ,mÚ´ň”Í$Ňň?R~¬?Śv1Ź_Śtýá‡ďuyѨ‡ôú2Ť(i…ąŹŁ,ÂH–}űökc}öě—iClŤ5tÄ›Sö'@ F0ˇüBŃť;wé2_ˇˇşmۇu*�/sĚ"¬bč¬E‡!ćXĹşŻT©’ţ»†C4˛Ľřâ8M—żmŰvÝ'Íě¦îÝźÔé&Pn<ńDg‰ľŁmŰ6:ę #Ä7mÚ¬#đ1â AźěAg˛_ű°›D:ź#SŔkŻ˝¬Ł‘Šűl‘Ăh</e¬·‡ô%ŢeD¬`4FOaŰ|öŮ˙éńóFĽÖ©SË8ÎŞë1OŘ_ÍŔĚčR»v-‰¶×€ýtÄ*Ιő†ňÇ ¶®ż1úÍm{E{ŢőzťŕÇ5´_ĐY[¬X1ăü4O÷ü^LË, 8§ ÁśŞÉí;pl™ßÔđČ0† AdvAىż‘tşx)[ŁŔt`$=ęk/˝ôr˛€řx\‹áÚ×5S§NÓ:&2!ŕA%ÖÎşx×őÜDsľL¸Ţ¶ĹoŔńŠŽ;¬{Ś -^Ľ¸´nÝ"¬ŔDl‡iÓ^3Î?ÓŚóŕ:-°> Čo”µuô\če} î?eĘdÍŘ‚%¬WŚ.ZôFiÜř~=·§¦¤í}ujF¬;Lg‚ߊë.죭[·ŇrĚmş>śţúë!}ŚŔ´H$âą-żö'‰p\úy~óŁĚłkOŔ9 ë�ő'th7jÔ@Ź1'vőś‡P‡ĂąŰ ×NŚz÷îi\‡ä’őë×ëßáZ ­Áă8Ź.\Xcp˝‰ üN”¶ç§� Ŕg‘1wéŇeĆşZ­Ó^á;Đn’7o>ýdöŠ4Ř:QÎ?č´łx‘Hő°˘ľ6wî;:%! `›ůĹŹ2ŇËľkÇŹók¬÷i?řQçDybBĆM"˘Ô–·ϥłyěvźÎáąyKoą7oÎĽ–!č†÷«4ý‰˙¦ y'˘s R˛=účcúŃ»hŔ$JH#Ú Ac}üÔSOh;Ńą¤nÝÚ‰QOČVAń…ř‚@ÇÜął…:TĚŃ•oľ9C *(D$:9čě›3çM‰TéŇĺ´“ť”=ôď?PłĐąż|ů’dďmßľCÚ´IšŮĘ—/'DDnÝŁbĹ*rüřqť‚-Ú`u˘xq«s"óŰ‹/NÔ ŻĄKĆmđů/S¦Śßsô=s2čvúĚý)Ëí´ĺ>ř&ĎÝîs{O%nx<Q8zôh`®h'{ö|xŚ,*DDDiF€>|Řő3GŽ Ś‚GF$Š/rb„&ÔŞUC(ő C({ö|xŚŃzDt~ §Ü°;ÇîÝ»Oď‘á'^YW(mCW@É’‘eľ!ň“uNdF"EŠ0¸‚,l`TÔěŮoIŁFČ3ĎôÔ9·í`zI“’ć™G:ĎŰn»UŇ‚Ť7Iłf-ĺᇑďľűÎö38Ž3Nďˇté’Bń5uęë:©»`‘:Ž;&#GŽ‘úőď——_ž¬ŰĂÎÎť_Éüů ô1¦YÁĽŮDt~Úż˙€tíú¤Qźl"ëÖ­wüŇ›S@Ůťc‘F0Ý ¦Ă!" Ĺ,70K˘OĎGç>żęść~Í !"JĄ€”s漅“µI“ĄnÝ::*Ë1.ć¶^¸pˇÎŐ ­Zµ”K.ąDŇĚ/l6TµhńÎ?|×]wHöěٵCŁfß{ofP€RĄJpôlś`îp\SlŢü‰q­±H_«]»–ëĽç;9Ž9ą1únęÔézmXłf5Éź?ż^3"•ńĆŤeőęő3·»}űG„Î_˙ý÷ź|ńĹV9qâ„tďŢC*T('eË–ŐĚ6xíÇ”eËVčT¨'OnyŕűS|Ďľ}űôžóÍ‘Wfąqűí·ĘE]$D©ÉŻ:§ůĄJ1ŕź,ôîÝS.ľ8‹Ě›÷ŽüňËA™<ů5ŰϡѽU«Ҳes!""J+jŐŞ©#ńGʧi„çÎť§7;eĘ”–ű ĹFv 2<Ůk×]wť<ţx{ˇÔŕÚ Ć׆}ĺ˙Ű";věĐ›ťlŮ.ŃkHd° ˘ó×µ×’ńăÇHź>ý4â>Ň›kŤ9Ě6ĺůľ}ôžDäË J$~Ô9¤qěŘrÉ%YĄhŃ›„(0Ŕ‚Č'žzę ©[·¶ĚźżP¶lů\~úéGŁBđ·^ÔçÍ›OŁŞëÖ­%W_}µĄ5ČŠ€Q@8Ď}üń':2™™.şčBÉ™3—N}UĄĘ}Ě\G»wďŃNúżţ:.ąsç–J•*ĘCµdjřT–#GyéĄdÆŤ˛|ů ٶm‡Î%ŤQę—^šM ( )‹ëÔ©mlżlBDtóÍEeö왲té2Yłf­–ďGŽ•téŇeJv)R¤°fµ¨Zµ˛Ö=í̙󦅣GŹîz#JŃÖ9sćĚ)›6­"˘D’·ϥłyěvźÎáąyKoą7oÎĽ–!č†÷Đr‘ţĉ7%”L™2–6îN·ŁgîOÝNźą?eąť¶ÜßÄáąŰ}đă`nď©ôBDDDDDDDDDDDDDDDD®`ADDDDDDDDDDDDDDD,B`€Q ° """"""""""""""" DDDDDDDDDDDDDDDD!0Ŕ‚(„ „ââŔ˛nÝząýöŰ妛n"˘xaůCtî:uę”,_ľRţţű¸Ô¨Q].ĽđBˇóDZcÇdéŇe’'O©PˇĽ%Š“'OĘgźýźěŮłGţý÷?ąęŞ«¤dÉâ’%K!""˘”>ýô3Ů˝{·TŞTQŻí(qĄóásél»Ý§sxnŢŇ[îÍ[†3Żeşá˝l¸?qâß BD” Ž=* Ü/üń§dČAfĚ&… ż|ţůň裏éăűKĺĘ•„Ľ›:uşĽüňd}Ľxń|É™3§%’ŇĄËi'j˝zuĄGŹîa˝ëňç\j]Sôl”µK%kÖ,ňţűË…˘óĘ+ŻĘ”)Óô1Î˙¸ ´ÁŹň¦}űÇeË–Ďő1ľßEöXľÇĎW_í’gź}NľýöŰdŻOź>E ľA(íXĽx‰q^˘Źq yýő×IZ3{ö[2vě ú¸L™Ň2räóžţîôéÓňČ#äË/·ęóAČ}÷U" ­gĎŢňÁéăŐ«WČĹ_ěéď:tč(˙űßÉ”)“¬Ył:ĹűU«Ö#GŽÚţmĆŚ%[¶K$ţürçťwHµjU4¸/śe –.]:ąôŇl’#GNýÎŞU+Ë-·Üěř]ćň)RD¦M{UÂ੮»čă<yrË»ďÎŐú;Ńą&S¦ŚĄŤ»SĆíč™ű“A·ÓgîOYn§-÷Á7qxîvü8Ű{ŠS„Ń9#ůJ–,Ł·I“^‘D€NtnFsýřăŹBDi_‹iYĆ×DĹň‡čÜöĂ?÷Ý)ŢO¤r*-”™iŤuűűí÷r>účŁ5k˙O>ůT(uảsç®ŕ t’]~y)P @ÂWŚ3>°ďŕ‰ÎMŤß/7Ţ”ÁmÝş Ž©ÁćĎ_®(]ş$+Üż˙ţ+‡–˙űż˙É«ŻN1Žýf2hĐPm#Ś­~˙ý|óÍ72wî<i×®˝ 2\ţůçń›őšî×_Éß˙-DDD”¸8EQ jţ±ÇÚËŇĄËĺî»ď’RĄJ Q<°ü!:·µk÷°6Â?ţ·<ůdˇóKĎžĎČĉŻŘąĺÁ›Qj{˙ýUŃŵjŐ”gžyJGŁ“Š(5¤Oź^zőzFZ·~XiFŹ#Ĺ‹ßí:]ÍáÇe„‰ú8sćĚŇ˝űSBD‰ĄOź^Éž9rD~ůĺWŮşu«qۦY«-Z¬_ÇŹ#ůňĺ ůť˝{÷ .ČxŽď8räwٱc§¬]»^,X¨eIđ˙ŹVµjU5{ÇW_í–fÍŕ”ZDDD ŽDDqҲes˝ĹˢsוW^)/ľ8Nčü„ 9ÎQ"ůţűł™˛yäa ®�¤Y'J-Ú¤iÓ&2sćrđŕŻöÔSO8~~ěŘńrěŘúřŃGŰzę%˘řÁ5kÖp|ďŢ}2tčpůâ‹/5ŁR·nOË”)ŻČE]äöµR©REÇéLľ˙ţ{éŇĄ›|÷Ýw:}RíÚ5ĺöŰoż ăÓsĎő"""J8EEíż˙ţ <Ι3§%жm’+®¸Bżóλ:"ÝÎÇ"+VĽŻŹŃ‰‹)F(m)X°€L0^*V¬ Ď1ĹÇ´iŻK4ÔŚ ¦%K– ťżÁ‚<ëÔ©‹|ňÉgrë­·Č+ŻLÔ¨í×^›*›7¬Ł;®ąćiÖ¬‰Ô¬Y=đ7ź5k¶¦äűăŹ?%W®\R®\YiŐŞądĎžÝő˙mذQ–/_!_~ąM~ýőWÉńÉť;Źţ˙űďo¨ŁP¬^}¦ĽôҤdݎeV˘®żţz™1cjŠ˙ôźoż=OçcĹoBŞ?,çťwŢ! Ô“›nşŃvůđ›}ô1}üŇK/Ču×]k,Ăňá‡ÉO?ýd,k.y÷Ýą)ÖÖÓś9oÚ~çž=_Ëüů 5- ć_D%–冮Óčü˛eËH¬”.]NÓ¶mŰFÚ´i­ŤN .‘ČńăÇŤßň¶äË—/ŮßüřăŹ2oŢ{şüôÓŹšú7oŢ|rÇ·ۨţV'^ÖLšôJ`.[¶H.»ě2ŰĎm۶]ŢzkŽlßľS~ůĺÉš5‹î+­Zµ”o,bT®'Ű¦Ž Xłfµ¸Á|šď˝7_–.]!ß~{@ÓĘ^sM~©QŁŞÔŻ_Oź»­ĂGm'=ÔJ¶lů\— Ťw‡˙&9rd—»ďľ[|°©VřCYż~± izKĚűyńĹ™ĺÚkŻ• ĘIíÚµGVvíÚmlÇ÷äłĎţOŹ!ŔţTĽx1M9‰''NśĐÔ—ŁxďŢ˝rôč1ąä’¬şźW­ZĹXŐ×C´ĚőŘşuKißţťOŰŰřäÉSróÍEußrËÍúyěwË–­ĐĺÝ˝{·~Ób`{ˇA4C† ®˙/Ü2�ŰŁmŰG“˝†˛ów›V®\j¬ŻK’}ćСCĆ2.’Ť7Éľ}ű4ťöě—ÉŐW_-÷Ţ[^ęÔ©­űg,x=Ţ0Ď4Ž}G?˙üó™}˙)UŞ„4lX_×K¬ýńÇ:"čý÷Wk94ă8vŠ˝IŞWݦçP˘)›"]NśăňäÉ#… _ŻĺÄ]wÝéř·ćöŔňLśř˘î8WîÜů•kH7ë6"ËN4ű—ßeć=ĆĹ;wîҲĺ1ާ‡jm”a…Ä/~śĚmđăŹ?ÉÔ©ÓŤďÚ,żýö»q®ąTňçżĆXou´a6T9âÇńŤ˛çŁŹÖĺţBă;čşËśů"˝~Á2 Ü·űëőČŔýĄrĺJa•SëÖ­—§žzF_3Ë]7¸ÖÂ5 s¦ri™Ľ>°Ž±/^}5Ę÷rß}#ă#…sݲeËŤs݇ĆůcŹžkq®Ă~T˘D1˝ŢôŇAěWŮůŐW»ttőÖ­Űż7Ô±‡ýöĺ—'ëăĹ‹ç;./®1q®Ă5®“.¸ŕ˝(Q˘¸/—_~y˛Ď‡»_ĽřâD]ö¤Ç)÷ ¬k¤é^ąr•|ýő×ň×_ÇĺŇKłť)Ű«KůňeĂľ®čÚőIŮ´éădŻuęÔ5đřËOtvüűHÖ·U´×iN¬ŰtÓ¦uzţĆłtݡŽqŃEťÄWÇŔ˝R·nŁŚÍň;ĂÝţ&Żő»m÷ÜSŢň¸”Ś5"ĹgüXŹáĺĘUÔ}ŇiY‡bě“ĺÄ«HęQ‘ns˙ŔoܰaŤ^ŹŕzűFWgČŕ­ŢbÂČî·Ţš«Ëój¦Luý7mú€§k.S¤uęH×_$0rSÖtéň¤ţż!C†ËôéŻ%[GŘ/ž~”>6§qZ‡Ń\‡żą^˝şŇŁGwÇĎ=ňH=g,XиVś!‘Šöú:šóĄyÍU¬Ř]ň ăt?ť5kŽ®7ݏN,R¤°ńŤ"ÎČdw-dűĄy¬7jÔĐ1‹I4őhôřG¸íe&żËD†ëDLĄ†cÓéÍ™3Wł:Fz~ߨ'ŕŔ±ŕ7·˛!ží$~\#cY?üpŤŃ¶öžq-ż_żĺNéŇĄĺá‡[ëß?üđŁĆňo3ęĹeěŘŃŽß«k.+?ë–©]ż'"˘ř`€… ™hÄBĂÄ_ýxŤĄ6:§˙6QęŤ3Ś Ë—“ý-*ółgżeTěß—É“'Ů6” ‚×»wă˘ö“dŻă˙Ď?÷é…%hŃ`ŠJx4Đ ÔŁG/˝ŕ ^NÜđđ?đżÜ*–h hÓćmLŠÖ)�Ţ|s–VBě–4ôď˙\Ě+ą˝z=«˙Ď ľFŤ«ŤV{öěŃŰĽyď BmµňKćş3őM‡źĐ߀y2‡ ěůű,Ôąó“ş?[ˇŇ‡ŰęŐżQ®ť:X&… 8Äę§ź~>ÓąđľŃ 7ĐhÜ)mű÷Ř× 9eÂ~ŠŕÜfÍzK†¬Á#vĐh‚c0xB#*n¨dc_ŞX±BŠżĹűH}‰ýÎ ťŽ¨4â¶xńRcű?ďKEÖÍŰoĎŐýĚęÓO?ÓF’×^{E;@Q^`;[ˇaܸݲfÍ:ťoŐi{ůU„‚«aÆeŘ_É^˙ĺ—zCăŰ{ď-4–yTŞŚöü÷ߍ΄‘ú{íÜąSołgĎ1Ą»KµjU$V°]±=Đ©o•´ž>Ň€4Î4Ŕč»Ôö;âQ69-§y|ˇńŤ}úôyŚ aĚń żöŻhË.¬sěG(_¬PcťŕxDąá?·3 {¬c 8ëĺÝ;ďÜ®ťmٲełý{?Ö˙Áĺé§{ÉŽ;’˝ŽcŹŰĚ™łŚNźˇŽ ć‘*]ş”ŃiSžŃPʆY§TţŘGđŔ5ś[ Q4śÖöEܰ]ä1rä°ťNĐůŃŁGď×n8×á†˙ŤýlÄárŰm·Ú~‡źeçüů ô»¬çmë±7hP˙mqí=~ü„dߍk ś+qĂąöé§źJ$ŤýťçHĄjżŔ÷®XáĽ_ í©§zč˙˛:tč°– ¸ˇż1GŽѬo?®ÓĽB˝¨C‡NÉÖQ÷Ŕ>úÖ[okĐ‚[ąÉö·m}'ë1Q®_¬ĽÔŁüÚ&č¸}ôŃǵSČʬ· fĚQÚąkçk¬?ëąôďż˙¬÷yňä–PüĽžö˛ţ˘ně čtÄşĆu¦1ˇóŮÜÇńú 7\oű=‰Rö"Úëk?Η`\Bhv§źî©ű™ ׉6lŇl°ŢRS4őhđëřvâg{Y´eHZ€�^NŽ÷˘¶_"x·zőŞŤś9si'˙ďż˙&©%–í$~óŘOńX&+\káo׬YŁm¡ÄëšËĎ2=‘ę÷DD[ ° ˘°ýűďŇ·oRh«V-tÄ.*q¸ŕÄޱc_,Y˛jpEÎś9td"lŃXľpáb­”˘ŕŔ!:Ę •Đ'źě®•@tuýúu42Ťşi†(`\Ôă‚);ÍčěZµjč‡cÇŽ%ťô5Ś”jß>iÔä…&ŹěĹ˙čÜů Íqá…j41˘Ť1ZżgîÜwôâüď'źěâ¸N^xa‚VJ«TąOĘ•+§QĹhđó ëĘ @TxÝşuŤŠĘ-ƲdÖJ ˘¨QÂE6F˛"ę>Vć aXŻuęÔ҆r4€X3G` ‚ č<D@MáÂ7hü®]»´r‚ :éP‰}ě±ö+řćşĂč—† č~튑,h�0`n[/FŽ-ű÷ď7ö§šFCÓÝ:Jpűö:•TdąĹm$ç˙ţ÷?íüA+Ö öă#GŽhPľ ăX¦9sfŮ6bˇ L€í]·n-í@B%~Æ ˛jŐşovéň„L™2Yżß Ł“Đ8ř»ćÍ›Ť7čńµuëVí@E#y˙ţŤďżVŹOÖŰOt×}�ű=Ž ŚFĄ 0ضë×oÔŠěčŃăäŮg{J¬ ŤçŚoč¶«Té^=N?˙üKc]ŞíˇCź×N4`=a$Će—e—ŻżţĆč8™ŻťĄXN4aD\°HË�ŚŢś1cš>nѢµŢăXEfS–,YŹ1âŕąçúëúGŁrŐŞ•Ť˛é-'ĐЉN)üTܤć6r#VĐm6ľŕoذžŽĐ@™ŽFst®a!ö[geĘÜ#~Ăh”Çď¬e§ąž0Ťb(,X¬ŰÇFUOš4!Ũ›x”MNˉÎw,':P† ±Ű#Xś:đyať7jTßŘ·®Ól4yĺçţmŮ…źfpţ?ľÇ ®pĽˇ±·Oźçtf4üÜÎ8ĆŃĐŹő‡rÁ#Řçp­2gÎŰşîPŽtíú”Ľúę¤ŰŇŹőŹë–víÚë˛�ćrĆ÷`¤$F.aäŃqťŃQÓ¦M‘ĽyÝG>†SNaą‘A�#ŕÉLśÎ™(~ţů}Śy§ť:Ü#]/ëcőꌚO5»R›6íŚk€é’;wč@+śĎ:vě¬çU@ç>:ÜĚk|˙»ďľ§űQĎž˝uź·ËŕWى˛ ŁňňçĎo¬×coéŇĺú=8ö°˙ĚžýFظFBv @ FŁ˘Ăđż˙Nęq‰@'hĽĆń„ă°_T«V-°_ŕšĘižq,#{FÖýâčŃŁş=ń>^/S¦´T¨PAG0"đbѢ%Z®â;„1iŇ‹žG㡠×f}´Ć8>§čkť:=&Ĺ‹×ÇČa'ÚőíuZ8°˙ˇüŔ(EsčěF` :P.c˝včđ¸Ľůć ­“‹tűŰq«ďŰFŹ«ĺ&Lťúj cÇ€ßë1Ňc߇ó­Ó˛ćË—W"áĄĺ×6Áňc?ýűďăŇ­[WÍľ‚z 2˛ĽňĘ«zĂ9×ýv×ÁË—ŻÔ €6\ăÇuđ7ßěŐs)ľŮeÜřY§ö˛ţüĐĄK'ýŹ2~ňä)šťÇ:öod‹üďvíÚŘţ}"Ő…C‰öúÚŻó% ţŮ·o?=FŃžq㍅użß¸qŁ±Ż˝¦ë uXÔďbŔJ4őhđłĚµM{Y°hË´¤B…ňcţŃXٲ]*©!–í$~óvűiuőxÁőÖÚµë4ĐĺŮgű׺ţÖx\sůY¦'Zýžb‹D6ŚÂEöčŃ#4ͦ©^˝:FEů!˝XÇĹ ć7Eg„µaS´o˙x !•6kĄŤúHˇŽ@˛µ‘#NP }đÁVZq@CŤYaÄ˙Á ó&\€ŰŤčÂß"Ŕ#i ŽśĆĹôdiËŃř†Ęp×®Ý4[:YĐ`Ś‹l;hŚA*JtD‡ ËkŽşÂEřË/OHÖ@ŠLÇĐŞŐĂÚ™€ĆÔ-ôÔ© 4ja¤żěţRűMśřJ`yŃnMqY±biҤ±ŃÓEł@Ěśů¦Ž�tŞŘGŁŽńý€JÖĉ/$[wČřQ·nmcY:i„ľ¨pżüňKÉ"ń‘"¸J•ĘŇşőĂÚ8…éCÚµ{Ř1Ą""š5kj46>x µH}ŠĆFŚşEĂ FH"5©öłi7Ň ŤĺË—×Ć)TňĆŤ{AGX!Í/`ßž2ĺ•dˇŘ%J”‡j«żRk>*sćHt6"Ę„c ťŹhPB'*´™ŕ%5u$°ÍZ´hnlżłX¤Dç FClßľ]oH 9xđŔdŰŁQŁFyÔZ×:|˘)Pî™ĺ Ę?áąÓčQŚ`@ĺŤöČ~ś6űé ACuŰ#˝vpąkřżfçĘÝaÆ$ÉRŁF5MŻŤŽ]tX >BËâhSó[a{ôď?H÷I”ůČr€�'«&MĐě{Ř&hر?ń(›Ľ,'RқˉId&jŢüAŰďĂČpü˙qăFGś ĆĎý+š˛ çt4’&L—¬ěA‡®Đ`gvfEÂďíŚó7:űßiB�¶-ŰĐ膲ĺ�öC+?Ö?:řĚ`”»Á#Ł"çťaĂFhcâřń/ťbÄM¸ĺTť:5µ#°ď:Xŕ=ŔyÉëČËp—ĹëúŔ¨kěŹC† ÓŃ•á@'ţĚ©q¬°Ď ť=ÎwhČ|˙ýUú­ü,;qý‹ëŰú%{Áž¸¦Fg:Îg8öPĆx…ăťV€ëš#†%ËÄ’”^¸–^'áwŽ1R§T0Żď­űF{;Xŕ=03­ĆڧA�Řg0â78m;±1b×·8ΰmMîu °fÜBGX¨,/Ѭo?®ÓÂr)­űĘ<ěźwŢy»^a˙B€đóĎKö·Ńn˙`nős[�¶YÎŁcŃîzŮŹőÍ1Ŕ/ŻË/ő(ż¶ :lĐ™:}úÔd!IYdîĆŤ›ęďFDzX×/:¸FŹŁŹx‚i¬#Q÷Áµ42Úąe“đ»NjýůS•vîÜQĎĎč,ĂuEďŢ=Śóë‹©cž~ş›ízO¤şp(~\_űqľ4áüŹő0aÂřdm<čx,P €î'ŘŻqH­�‹hęŃ~—ąv˘i/ M’Öŕ7™YąöîÝ'ŃŔtt„B… Hje;‰Ç<ö3¸˘lŮ{t?µfAÁőţĘě‡NâqÍĺw™žhő{""Š­´{uDD© iV+‚¸­Zől$8.ÔG}áéůL{ö|“ě}n,[¶HÓS>÷\Űl¸pD"ěŘń•DŃҸ…^˝zŘÎ ŹŃ”}űöTFp‘ëQă‘W�FŹ,\řžÎWŤÔßvŁĎ°Ě({4R›ó€ĆFĆuéŇѱQ iv͆§žłť?ŁŚ†MŞČˇb€Î©XŔšf ż~ýúŘ®;4˛?ţxń U»4‡ŘGĐ �čŕÂČ.'ٲ]bt µł}Ť0fĺŮ0‚a^k(Z´¨c]ěkćţ€†ĺŕ©<~řá{˝GC©Ý(óB… Ę«Żľ,Ë—/NŃq…yWM%K–;O>ŮUG /^Ľ fÁ€}±C‡”™B0ĄPˇłÇl—.ťS4ŁsÔ,ŹpĚ !ŮĘď2Ŕ F`}Ť9<EĺŘ„Žgćʧ3’‚”0—lpg“ űĘô¤…µu4¨ź¬Űăá‡JŃř 8pîAç=FŃX;s e“×ĺěÝ»g`ůŢ|svŠĂVŘ˙˘™jÇĎý+š˛ ŤáÔ‰Ú×¶ěA‡VÇŽŹI4b±ťq]b ®°BĂĄą-‘M*X´ëŮ˝0Š0ź±SÚY4\˘1­té’z­ä7\[aÎnřŕëŘ Łúń •¸ó‡ g}éţ7nÜvc9ľwÁ‚w´Ě n86a´‚oŔîzÓϲ×\( ‚żŻwízöZŔîŘsc/Y˛\l4°°ťć¦`Áë$łˇÜdÝ/VŻ^m›ť ßoîwß}g˛NëöDđVppĹŮßŘ)0âS^ÄZ4ëŰŹë´pŕxwę¬,W®¬î§ć˙Á¨S«h·°hę;ÁüXʉpýĚk=ĘŻm‚,�vŮ6PGV?ó;Đd…ď4;Đ:txÔ6­:ę¨ýű÷q :ńűz:Ôúó:řĚN|d-@`˛Ź‚B‘ÓN"Ő…CńăúÚŹóĄŐOt±măA˝Óě° ÷\ç§hęŃ~ßvün/‹´ WĹŠUŚm\ĆÓ-š@l7Ůł'µMţöŰa‰€Ń±mŞV-şL‘Še;‰ÇüěŮI×rȸ€ŕZ»)f‰˛ÖM<®ąbQ¦'Rýžb‹D6¤ôuJovŐUg+äNóß!%¤É®r Q\$;ÍufZ¤s®Z•T‘EĺsL;Áűć(ÎÍ›?vüśÓEŻW¸PÇw¸Ť¸Ë”élَ™®/0:ŃiŽMT&ĐŔh�q‰íŚzX·nŽň–eíÚµž–Ł)˝VpÜŇt"Rßää‚uč”ŢËa6\aŞ+ĚuyŕŔ}ܸq#×Q"ˇ` Ţ7sçN 4Aă„S§ö54śË“çl…ň˝÷Řv ăďĐQëĆOtę8­+ŻĚ§÷hTwJă|Í5gÓC"MŞ•ße@(X_N+`Ý_â9—+˛Ŕ`: @�‘5M0ŚpĂ<©ČŢâV>Gbĺʤ8”í÷ßßĐńsě›9sšôë×7Ův‹WŮäu9Q†>đ@ŇśÇh”tj(Ć踂 H´üÚż"-»ĐéjŽ.Â7»ŇpGÚŕ«íŚ>'Ř–ćűč¤@jÝ`Ѭ˙U«VĘYt@»ÁČńŃŁG¦Č〉d"ĂTPÁĐQcNP»vm‰…pÖ‡ő}L.L+âÖ°‹u3&]o7żËÎ’%‹Űž“ťfcﯿzďŔzüđĂőń}÷ݧS¬8©\ůľ@ŕtđąÎÜ/02pýú )ţŁ(Íý˘V­ZÉŢĂô6X\/4ně^fšÇ:/öď? ±éúöë:-nĺ“ő˙`ĹT)&ż¶żU´ő“ë1Q®_‚…ŞGů˝M0šŢ :ĚMÁős_Á˙°®ă`¸Ćy݉ß×Ónë/çhlŚ€›"ĐĘN"Ő…˝öúÚÍůŇ ŮR¬őé`ćpľ gşU?EZŹŽĹńíÄĎö˛HË´Sń†Ý «ő†¬iČć…i›6m®YeˇbĹ š1$5IJť˘˝F63˘âüěVďs«ÓÄăš+ez˘Őď‰(¶8E…-kÖK<}ÎĽŕfm4qŐkľŹőÇ<Í?ýô‹|őŐNM— Ë2»víŃ{Śľ7/ţť bHč4B–,ţŽâGŠsťŁń&¤aŤ•‹/vn ÄHD4x€—´ť%D„˙ý!S6‡ëČ 4 µ,Řçnľů&ť/2Tś ­¤éřńż?gŽŽp‚} uĹż˙N^ąGeÔ„(·}Ó:˘f˙ţo“˝‡Ž]¤’GJOLŰÔĄJ•2-oM1*)*Ťř "˙‘"i˙Ń€Fu4a~Ďxq+kĚŕ·yÚÝʿˀpŕ;p|÷Ý÷:Ú÷›6m ĽËă;.L~uśD¶IťÖĚ‹¤ó=^eS8ËY¬X±Ŕc¤µ5čVŢF*šý+Ҳ ĺ±9*řöŰowý4ř˘,ÁtLáŠĹvĆo U.ZŰřÖ5€$ÜőoîS´tš–#^*VĽWFʧ †K—.Mp×�ťOĺĘ•‘Xg}`{bű%e•úF˘}ťú¸ýňËĎĆ9đ'í\1÷·”ŰÍ߲ÓěĐq~?—^†3úÇ‹yťäĺ\wńĹ™uní}ű’7X÷ ˛`t¤ŐňĺIÓĆ ă"xź1ϵhÇ:v[ó\ ¸î g®ępEşľýşN Fmşąů梶˙ÇŻíoĺW}ÇŹő(×/ÁBŐŁüŢ&ÖăĆí˝ŕ}ç2(Zô&×kiŔyÝ©ĺ÷őt,®‹Ü đSLšôJŕ5Lś…Ó”Hua/˘˝ľ¶îůŇĘËu&ŕś}ßĎ齊´‹ăŰ‹hŰË"-CÂ…`&ŻŰsúô™Žu?™űč…şOÉ2vě  ‚zôxZRK,ŰI‚EsŤŞśÄ9íKvA/ń¸ćŠE™žhő{""Š-XQÂÁĹáŇĄË4ĄđÖ­Ű´â •·ąúB9t(iôíŽ;¤Q#oó<ŇçĹjJ„Ź?ţDŁăѡm—ˇ"©RC±ŽZFjÁPůnBĺĹĎF%sŢËH–ĹM´s/C¤ŰęСł#Cşuó^a?r$ů¨¤’Ć>4eĘ4­ü­\ąJo€�T kÔ¨nŰዊřřńŁĄWŻľFŁé.íäxíµ©zCE tčXCše»´©iEĽË�4z˝ýö<ٰaŁvÚK­ăű×__~yI-ćötâU6…łśÖ€¬pFťGÂŻý+ň˛ëěďłţn'9sćHÄb;_vYv ĹÚŃb-§MѬóűĐŞ“+ÖĐů‚ÎtĚç‹i7Ž=yřđaŮĽů}\­Zµ-k¸ëĺ8ß<xHÂ…ň|îÜw´ˇtĎž=¶ ĚN×›~—ť±×Üz\ľńĆ›zó"řšÂş_ łÉ±cÇ#w±±Ż@ĺĘ•Sl3ëńîą6–"]ß~]§…ăŇKÝ3.`ť#¸™g¬Ëç×öŹ?Öc˘\ż„#Ű$Ň}ٵ Úsv"Ö©ĂŐĽy3™9ó íPżňĘ+uę'‰Tö"ÚëkS4çËŕĎ$şHëŃń,sýl/‹Ĺő‡ť*U*{ňY´hIL,N:ÜÔx1bÄ0)[66Ɖ"šcŢzŽUö`˙C†äüÉő{buÍ•Čez˘¶Qr ° ˘„‚ČÜNťžĐF ‘žđŠ+ňéüĚ'}ٲĺ9ť#ipĆ?˙śXŔ( WĐXŠ™H×_˝V0ĽDÓ'k…=š€;Ö´ˇ^ҧŹ>p"ÖNťŠlŮ5Ş`îL¤•^¶l…ďlßľCGź˘ątér˝a¤)ćÄ îÁq6mÚ«F§É&ůđĂ5˛eË皍9_~ąUo3fĽˇéęS+-f´âY`^çˇCźŚ,@e8ţürőŐWÇřUR¨P=Î;vě"©)5+éćö×2DZ6…łś±,˙¬m˙ 5 ĘëgüŕesîşqKSí×úO”F˛ÚµkjG:~3ćoĐ ľľľbĹĘŔvĂgb-ÖAA»ví–®]ź t2ćł.X°€äËw…(pŤÜzë­Ň»wŰF_?–!Ö"=ÎěFšűŽ—Ő«?Дπ}ÄÜ÷íö‹Čϵ˙H"ňó:Í+/iňOśHúŚu_ôsűűÍďőV:q›ś<:¤Űr'Zť: OŞ ýé[–SĽ®ťřq}íçů2­¤Żă;^íeç´eA0 pýěęŐ+R”cĆŚ—·ŢšŁŹ·mŰ~NXD{Ě[ł¦DÓN—×\ˇśŻő{""rĆ� "J(/˝ôr ˛X±byčˇÖ:÷\pŁ�tŁ‘3gNŤ.[ö1b¸¤¦÷ß_®@ E§NŹéüłÁťŢ¸ČNmÖhL] ŇTšňä‰läŚSc…u4•uÄ“´0/!öKÓëŻO•n¸^˘u޲es˝a=~ýő7šJ‘đżürP>řŕ#Ł’<Y:w~<ĹߢňxĎ=Ąőż˙ţ»|ńĹ—ÚɆ}©{ö|Öř®YÉ–;­W€ŽfĺŁP‘v¸\ą˛)ćíµ•ąrť…yď‘*9u–#—NKăĄ\±˙űř”Má,'Ž1Sîܱ9Fe˙˛–Ç^ÖŤu´P8b±ťűí7-Ý�­˙+gÎłŁ}ýX˙ć÷aţct^§v‹Űn»UË4DŁaŢ °X¶,©‘ľpáÂ1­îú8x0iŰ„{Ś=÷Ü�m8ĆvoŐŞ…Ô«WG.ż<ôČ5S˘”ťn¬çć®];I“&H¤‚÷ 3ŔÂěĽ)T¨f¸Ją IŰ3K–‹eŐŞ’Öů}ťćĹÁżşî›ejvĐĺČqvůüÜţ~óc=¦…c0X"mś·Ń1f˝VqâvÎN¤:u<$R]Ř‹hŻŻ!Úóe˘ńTáÖŁău|Ç«˝ě\óá‡Űeń ĄM›V˛dÉÍ5kÖ[Rż~Ý4}¸‰ön§CĐŹ§vşx\sĄF™J˘·QrńÉFDäŃúőëőřÔF|»HO DüF#Äk$­ó7cjŠqăFIńâĹl;˘ýÍ~@J<Ě˝ź~úYČĎ›źÁďąňĘäs–^tQŇÜ—véÖ­zĎiYĚy<·lŮâö]Ž‘‰®Pˇ‚Ç[·n?ˇ‚Śă©E‹ć2sćô@Ĺwٲežţţ˛Ë.ÓŠÝ A¤}űGô5ŚäůčŁ5’Ĺ« Ŕ¨'säći­YłFŠĘ1 -qj¸öÚBÇź}ö®źEd¬ÖŐµ×&íűć17vŁyý,›üZÎO>ůÄňw×J,$Ęţ…őoŽôÂ4WnĐiiy‹íŚ9Ą±=Ý`=› Čźěőh×˙u×%8ľ-ČŤ—‘ě~03 [¦AçĺÎť;őµ:ub›˝"śő9žčŕ÷ ťM{÷îŐÇ 6GmçŘpětí•(e§Ś6ĨV@ ńh™ű¶ ‚.±oßë´_çÚ?˙üKS§u±ĽNsŞLýřăOŹ1ŞÔä÷ö÷“ë1-Ái›ç˛;v†íë¶&Rť:üĽÉśŮ[]ťm‘ŠöúÚŹóeĽdÎś9đŘ:…P0§¶7^ęŃń:ľăŐ^v.A0őoĚŇÇYłfŃ€°pajT�‚'N|YÎE~óůňĺ <u-˙Í7{őŃN<®ąâŐ†ŽDo?""˘ä`AD ?˙ŐŽ©,‘Ń­!ÍK Ěűî»OďQ˝jŐ®ź]±â}ůß˙¶xJ# ó7ăÂŢ:Ď{0ĚÚиP±bE}lNáŁ×®Mj�(S¦tŠ4‹ć¨F·Fw¬óőë7Řľ‡JMÉ’IÓS|úé˙ÉţýÎót®]».YŠĂD…ŃźűćÍ{ϵ3 ëK–,ÓŽ/«ŁGŹę>=zô8ÇąlٲF WĚĐĐú曳dîÜyâäî»ď <Ć(Ž´Čď2Ŕ)E¤µ1Ó-ijŞ`$Č5×$uČĚźżŔµńőťwŢ•ęŐkÉłĎöM±ßE«J•*zŹ}ó˝:Áű 6–Ö­ŰÇČŮĎůY6ů±śh™3'éÂĽ˛wÝu§ÄB˘ě_HŻŤu ČtrÄ öłHϧ±ÚÎsćĽíře—/OyŹŇ ĽçÇúŻT©b {Ę^7}űö“ ËČ‘c"ęČňšĘ¶zőŞşLř8®Y“´ü8ďbm?8-K8ëĂú~ŐŞUÄ«żţ:xlí†NE§ĆËD);Ý p·|ůňúÇ‚ŰH7”iďľűž­8m¤K7÷‹uëÖűĹZ}ŚăßiýWŞT)p]>{öqó,ö·H:…¬×ţ±LŮěÇuZ¸Ţ}wľë˙1×+ÖaM~o?ů±ý:ăµď@"m“ňĺËé=ÎÇÖë©`»wď‘Ď?˙ÂńýDŞSÇź×!fĆ™ŻľÚčL †ë)/YFśD{}íÇů2^p˝mr äµf2M=:^Ç·íeç 0H~˙ý>oÖ¬i˛`śp4n|żäË—W#—[}'­ňăżăŽŰ5óĚźżĐőż`Á"Ç÷âqÍŻ6„p$zű%Ç� "J(W]•”ŢŤ/Hy ¤~ý8F9*LfăĽSĹsfbÎ:1b¤ă…4*ŕčĐčСŁÎ1 ćoĆ(L§ď©S§ë:qbÍxńDZ­Đ¤IăŔ˙Cú@kš<F6öěŮGGŚa[4mÚ$ĹgPń2Ť36EşN4Ú>R§˘pRż~=˝ÇßöíŰ_E‚}˙ý÷2jÔI+Z´h¦÷_ýµ 2̶ +ř˝h,¨Wݎ6Ě™ĐP}†Ya×hłwď>Ł4iźő;~ü‹Ćm‚ĽřâDM…jç˝÷[G¦%~•H{8ěÖµ5eő|hű?>ůäSyýő™âĆ<ćţüóŹŢwÓ˛ĺzŹ2żŐ®ńbçÎŻä•W^5ĘĺŁÚĐnmÄôCůňeëęŐW§č: †2aذÚĐŚŃôÁëŰŻ˛Ém]z]ÎÁ‡Ęwß}§Ď›5kâiţŮHřµůˇQنÚĐ‹í‚ňé×_SŽČÄĘI“^‘hřµť­V®\%‹-Nń:Ę_fCWăĆ “˝ďÇúÇČ©ŞU“‚6múX¦M{Ýös .2ĘŁ5:˛ Ł]Ă٧B•SvËd0˘Ă7¨PˇśíŞp„ZŻëS«at(UŞD˛Ŕ—P0GąąţĐ8i¬‚ÔůqýžD(;CÁń‚l_můĚ3˝mGîb;L0IŻąš7oetŘżeű]H5Źu ®0÷ ŚÍžÝţwĺÍ{ąŃ›ÔpŤmćÔ‘‹ýú™gzJ÷î=äţű›„ÝkmäŽuĘähŻÓÂ…ßsźÝ~Šňt۶¤‘Ň8>ÓUűąýýćÇzôăĽřâłmńH·ť(ŰÁlćş<yŠm=çŇ~ýşôĹłNŤz^˙ţĺ‘G:hWjńë:äÎ;ďĐ{\×Ú]'ŕ÷Ý´+Ń^_űuľŚśŁĚߊ »}CŻ˝6Íń;˘­GÇăřöŁ˝ě|@›¶mŰËĆŤ›őůŤ7Ţh¬óf)÷Ź>š”ÉŰqěŘńr®ńăG°Q­Zµô1®ď°ŻŰ}φ ]ő@<®ąbQ·ŚF"Őď‰(´ „(ÔŻ_Çč€Ů®ŮZ¶|Čč°i é1Şť˝pĆEzÁ‚©ë‚á‚ţ¦›nÔÔŚ«W¨sR"=;*A÷Ü“4ÂÓSôďßW{¬“vŕ·o˙¸ÎaY˛d ť •a\´š#q.ĽđBŁ1§ťÄŇ*c&*]»vÓ ;î¸M+çhčCt<Ý~3*B¦wß]  YłfMÄऔ}ě±GŤ ĺ ş-š6ĹĽŚuĄpá´˛±gĎ‘aF`ŢŇ[ną9Ĺ÷ A©4Ńłyó'Zů­U«şfń@ĄfÉ’ĺF#Čn©V­Š,[f?owéŇĄďőŐWƲ4×ő‡mţß'uTÁüůóuąnżý¶) Ö% ×­Ű ťG_~ąMjÖ¬®ťG'Ož’čH<ĚÉ UŞÜ§ëބ߉őŤNü=*ŔřűĽyóę(Ś._°ŕěH?3ŐĄ Ű 6hśyôŃĆňÔ“[o˝YŹ쏋/ 4ž^ýőş ¬°—/_Ią1§ĺ˘Eó%ůUÜzë-ş_a?Ć\™ĺĘ•Ń-t(ˇ,”?H“‰u‡~ĂeË–5ţÇĄ:ÚoÆ ú?ňçĎďx|Żżůs˙nÖýť”eĘÜąę}7µjŐÔβ5kÖé~׸q3ťk#Cd°eË:‚Ű#•{ö|&Ĺ4FXX‡€}rŔ€~|_ż~}ô;ĐpŇĄË“Rąr%ť#7K–,(µpáŮż?)Ű ĄÍ�+“_e“Űşt[N”ąXÎůóéq ·Ýv«Ž”Šżö/?ŕXhĐ ľv b„Ołf-tˇśŔľóŘâĹKtŮpś…éęÄŻílÂH4”Ź Ő Ś�ÇčDü†wŢ™čpĂw U®•_ë˙É'»ę1„ň¦hpÄq„`C‡ér™Ó�äÎťK:wî$áUNŮ©]»¶±›´L8űZ-‰–—e µ>ĐŘřÉ'I)z±®{őę!á@g<‚8pŽÄzm×®^‹a[šçÉE‹iy‡H§ X~”ť±†ëˇöíŰÉ /Ľ$»ví’l)Ő«W—˘EoŇôô8†–-[ĎŤşuëÖqü>üćőë7ęľaBęb7Ý»wÓuŠą­GŚ­MŘŢ8î ŕľ@‡`˛p×S‘"…őoP.żöÚTÝ—ôę~Šö:-\Č‚˛¸NĆ~Šă�ç'¬W@<7ÁüŢţ~ňc=úq ˘L2 <Lx ±ńč´vÄ!@Čo‰˛M,׭ۓڙŚkţŽ»ËQM뎬`žK‚�J§N°xÖ©§L™¬ëÝ»ŻńxaĚF»ńë:ű*‚'QwÂ5꽸†Ŕ:Âuč‚I#żđ€ĂHD{}í×ů2^6¬§Űí>hWÁ±cť˘¸E0ím·Ý˘íJvËm=:Ç·íeç áühÂvÇzÁ5&2xX?ÖŃCŁľĂń€ĚQřßاĐŢX±b9WřuĚ·k×FĎϨOá¸Ăµžů=¸öŰĽył^â\űăŹ?8~O<®ąü®[F+‘ę÷DD,(ˇ ˇlëÖíšę ±î·B×㏷7Ţ;čz1ůŘcíŤ'´QÂüt’­\ą,‘Ť‹â ĆKŹ˝ô‚ř¸Ă…ěŔý© ý†FŔŢ˝{č4pÍš5[oVF¨\ą˛Žü±9!1‚č>ŇĘ<F�˘ÂłdÉB‰…&MĐĘé¨QcµÁ.Ť7Öó#Ź´•Ö­[Ú~*oýű?'O=ő´v® ˇÁll0a;b.S§� 0;VđT80:Ç •żçźŞë&-XŔСŤeĄŤn˙ňË“m?‡ĘopÇÖűŕÁŚFÓg´ˇżŮîw#€§S§Çtż±*UŞ¤Ń ŐIłX =sć¶˙ű†nŃŁźO1Š ućÂ%JH"óŁ Ŕ‡eË–kCBqk®ąZÓZ˘“ű_§N]45©Ý˙@ăÚ€ĎI‹­—Ťi8ŢĐ QI0kÖĚŔ¨íP9|1ş ¨ĚŰÍ+‹÷!Cę>lßľ}Ç‘nw4>Z·‚Ëp vĎ=ĄŚĺdŰ1ěGŮj]z]N[}ű>łěŕ×ţĺ—nÝşj#6:KŃ5}úŚdďŁ#fĐ QOyĺÇv6eĚI;‡’FÄnHP`Â/Æ N±-ýZ˙ččz啉:ÚŤćhĽ4;N­®şę*ŁlHOěU¨rĘ®;Pö™)•ŃĐgť*R^–Ĺëú@çÁČ‘Ă4đ"\Ýş=a”[ôş�Ě,�&\Ł ÜGšp·ŁhËÎxxđÁfş ř-8.ßzË~Şś×‡âÚaY¶lÉžý2Í�¤ ´ †€ĄW_}Ů(3źŐőět]‚ă©cÇÚ¨.¸µiÓZr°o!` pľ5j„ř-šë´p!ŕFFă°Ë/Ď#cĆŚr<üÜţ~óc=F{ –(QܸÓőkÝ7qŤŚu ‰˛M*UşWŽď©Ů Đ9‹uśÍ©K—ŽzseŻ:5¦=0ˇ®á–.>Öü¸Á9ŻsçÇeܸµcuUÜLŘGpŤaž'#íőµ_çËxŔčôĆzDĐ2QX§Cuź>˝Ťmň°íßG[ʆXß~µ—ť+BeOA[‚†:txÄ—˛ëÇ-‚ĘŕĹ_Ňkfěç ?ŽyÔů^xa¬¶KâXB>o… ńAúk€źsŮŹk.?ë–ŃJ´ú=ąc€%TXzö|Z+)¨4"ť8FÎdÍšEo0#k0˙¸Śľ4i‚Lť:Mĺ1— Fi jíŔ†·ßž­ŤýďżżZ;‡QI@şX4Ü#ăEő´á6–0úŃŰoľ9[ŁíŃŠĘ FAÔ©SKjÔ¨®©ÁÝôîÝSrćĚ%ëׯ×n¬KŚФăÁ ŚTFC%ćCÜĽůcŤ<GăPŢĽůtýßŔÜČN°-gĚftâĎ’Ť7éďFăś°­1úŃân’FćôŐůżŃ©‡~´Ŕ>íŰşu+ý>kU˘CA7őë×Őą·‘Ťĺ—_~Ö¬9sćÔ‘7uęÔvĚP‚ŃS§N–ĄK—ÉŞU«e×®ÝÚŔ‘3Ř>ŠÇ3Ąo0T0K•*eótDF4ĽbŰ ’sŞct€]Çńľ}űŹ1z-ŃE[ ă :Ž^yÓ¦Mú·ćÂüźfg!’gĎ~CŹotޢ�ŁŐ°ţѸݴé!‰1r×ČŽ€eĽđÂL:"¤`ÁžŢűÜłĎö”şukë(mŰvčvÇ6F§.]1B Ůqě Ć„ŽŠHa{Ě™3Kř12żű.ö=4Ł,4ç wmŮäe]Ú-'Ĺpě.|˝vúŃí…ű—_°żôčŃ]¸Đ ˝sç.-×Q#Hˇmۇ%ţk˘°�?ÎA&l·iÓ^Ó´ŃëÖ­ÓsćƦ:uęčzt ”ńkýă\=yňD=×cdĘRśËQ! ľ ĺ~$#4SÁp R­Zµ@ęęZµjxĘăײحltî#ŁFŤš!Ňm”éř~\7¬Xńľ‰áZĹ‹7®Z8ž#­˘-;ăÇKéŇĄő÷b$ôĎ?˙¤A”ŘĎ‘ýçu·ˇÂĚý ĆČ\/AdćöÄ´"(7÷îÝŻóŰăűĽŃÔ8fÍą¶#ďË/żÜč~GSIŁw›f.Ń^§… íŁGŹÔcŮÝpľÉ”)ٱ®®2Ž{ő|:Žż¶żßüXŹŃ(×FŚ®©¶Q  Ç:?|řw‰ĄDŮ&č¬Ĺ¨ýŮłß–O?ýĚ(‹2ÖéƵLaŁŁ¸©žg˝LÇŹ:u›6­´NóĂß×mt€Ajňă:u.¬ktÂc˙G™…kÔŐĺc´Íőµ_çËxŔń‚ d5X´h‰fů÷ß˙ôÜ‚Ě( B•—ŃÖŁ!–Ç·_íeç*d€Á~]°`­‹U©R9ĹôYŃÂń]¦Li˝îGĆÔyb—ü:ć‘ęµ×^ÖLRK–,ÓL9Ŕ3gmkjŰö!=ׇŻk.?ë–ŃJ¤ú=ąóÚJ–Îă{é<ܧsxnŢŇ[îÍ[†3Żeşá˝l¸?qâß”ĂÍÎŔś˝H+†ŤĺË—Ĺ2^ĽřâDm0BęŢÔnü¤řxâ‰n:ż-¦1cŞ%:Ś Â4h(›3çMˇ” `Ú´×µ<çť·c’.źRš:uz`„ćâĹó=u@Ą5uë6ĐpČlDDt~Č”)ciăî”q;zćţdĐíô™űS–ŰiË}đMž»Ý?ćöžŠď""˘Ŕ(ČPöěůFďóĺKŚ6ç*ŚJ…"EŠ0¸â<bf°@Şm"Jű0JĘL!~÷Ýw2¸‚<A&±Ă‡»~ćČ‘#š±ŘNGDDi,(ÍÚż˙€tíú¤4jÔÄ5}-ŇbîG(]:uć@?_ ő#”,ÉŽöóć8F:nŕv':7 ¸éhˇ~ýúBDDDDD ¦˙mÖ¬Ą<üđ#ňÝwßŮ~ÁÜcĆŚÓ{`;ĄEQőß˙É_l•'NH÷î=¤B…rR¶lYi‹×Đ9´lŮ ůüó/ôóyňä–¸_(vĚ� Ě_I燾Ն‘Ě™3Ëm·Ý*D”6­]»Nç*˙öŰouŠ(X° ”/_VB9tčP ]¨E‹‡¤fÍr×]wHöěŮĺرc˛wď>yď˝ňĂ?čgJ•*!wß}—Ą5 ° "˘4ëÚk Éřńc¤Oź~LńÁéÍNţüůeäČaś¶"†P‘>věąä’¬R´čMBç‡}ű’OĐh’1cF!˘´iÄQňË/ĎQ–đś¤OϤ‡DDDDDZ­Z5ĺôéÓ2zô89~ü¸Ěť;OovĘ”)-ö""˘´DD”¦Ý|sQ™={¦,]şLÖ¬Y+»wď‘#GŽJşté$GŽěR¤HaÍjQµjeÉ!PěäĚ™S6mZ't~©\ą’Ţ(í2§ůąŕ‚ 4°˘xńbŇ®ÝĂrŐUW ‘Wµk×Ҭ¦óç/”Ź?ţD3ZüńÇźrŃEíFą4óe•*÷1sĄié|ř\:›Çn÷éž›·ô–{ó–áĚk‚nx/îOśřwQBÉ”)ciăî”q;zćţdĐíô™űS–ŰiË}đMž»Ý?ćöžbľW"""""""""""""""˘`ADDDDDDDDDDDDDDD,B`€Q ° """"""""""""""" DDDDDDDDDDDDDDDD!0Ŕ‚(XQÜ”.]NJ–,#ÆŤJ¦Nť®Ű ·C‡IZÇ}0í¨_ż‘n«§źî!DDDDDDDDDDD‰€DtŢiŃâ!í´{ä‘BDDDDDDDDDDDDDä,B`€Q ° """"""""""""""" á!"ŠŔ—_n•wŢyW¶oß)?˙üł¤Oź^®ąć)UŞ„4lX_rĺĘeűwĄK—“S§NI˝zuĄGŹîŽß˙Č#ä‹/ľ”‚ ʬY3l?łk×ncŢ“Ď>ű?ůő×_ő5üßâĹ‹IłfČ•W^řě֭ۤmŰG“ý=ľżdÉ2ç+W.•K.ąDBýÖ‹/Î,ůň]!*”•:ujËĄ—^*v>˙ü yôŃÇôń /Ś•»îşS,X(ďľ»@öîÝ+™3_d¬Ż’ňřă$wîÜúąăÇŹË[o˝-ďżżZľýö[ąđÂLrĂ 7Čý÷7”ňĺËI´ţřăYĽx‰~˙?ü GŽ•9˛KѢ7IőęŐ¤\ą˛!żăÇ”yóޓ͛?–ź~úQNź>-yóć“;î¸ÝXÎşř˝śüń§äÉ“G ľ^ęׯ§ëŇI§N]ä“O>Óĺ™8ńEٸq“±Í–ť;ż’ŁGŹIź>˝¤fÍŽC‡Űn‘~׾}űŚíô·dĎ~™\}őŐrď˝ĺu?Č”)“ëw¬YłV–-[®űâożý.]tˇ±Ź^e¬ó2Ҹq#Éš5«DęĉúÝ|đˇěŢ˝G~˙ý±/gŐíR˘D1ÝrćĚ)~ř÷ߍőů–,]ş\÷ěŁW\qĄÜwß˝R·nťżĂŻeŤ´ ĺż˙ţ“§źî!6lŇç;vćÍLńąm۶Çęý˙żüň‹ń»łČ­·Ţ"­Zµ”o,"&L’3fę~±fÍęd;uętyůĺÉúxÓ¦uĆ>µ_¦O]>ýô3Ł,;$5jT3öÓŢÉţćäÉ“ňŃGkeáÂ…Ćçč>‰c÷ꫯ2>_ĂX˙%cĆŚ¶żÉú˙/žď¸~?ůäSăř骏‡ $+VHöľY~?úh;yčˇV˛eËçşvěŘ)‡˙¦Ës÷ÝwË65ĘîâëyĺĘU˛hŃb9pŕ€–EX.”AmÚ´r,W‰R,(,č\>|¤vŠŰąs§ŢfĎž#Ď<Ó]ŞU«"±‚ÎÂéÓghgź‚pC C˙ţĎĄč ‡Óoýűďżµ3q۶mňúë3eŔ€~(ᝣ}ú<'«V}x-©Ły…ŃáľÝřž)ÚÁŘąóşü¦ţůG;]qkٲą<öX{‰JzôčĄËnőË/ŤŰGF‡÷GR¬Ř]2hĐ�ÇÎMthŹ5VŹŐž={ô6oŢ;ňČ#mĄuë–â÷ršŰAj@ôĹ_ěú]čü3fĽDťŔÆ —?˙ü+ŮëIëí řĽ÷ŢB7n”mÇ5ö—ž={ËĆŤ›“˝ŽýË<fŢ{oľŚ?V Č/áÚłçkc}ő–ďľű.ŮëâŔmÇŽşÝFŚ.·Ýv«Dăĉuýß˙¶^ĂďĂľ‹˙ŕ QŁFČő×_'±ZÖX–A(Oúöí®h۶MŠŕ !xbćĚ7’˝~řđ ůđĂ5˛vízc,^aďÚµ›üő×_Žź9xđ <ýt/]?V?ýôłŢP„˛häČaÉËbë`Ú´×eҤW$xy°]V®|_† (÷ÜSÚöď>,Ý»÷Ô2Ô ;8f׬Yc”ń/ Q˘a€…ĄWŻgµňĺË' ÖÓQăČ0đ˙÷?Yľ|…fa0`Žč.Sćń2`D6 3±yó¦šĺťŁ[·nŐŽ?třöď?Đčč˝Vł \wݵ2cĆ4ý›-Zë}ćĚ™ĺ•W&ľ7K–,âő·˘yéŇerěŘŇ­ŰÓF§ňó®Aóç/ĐŃçŐ«WŐě č”ţčŁ5Ú1ŠÎć)S¦Ë–-[4€ L™ŇşŢ2dČ`Ľö…ŽöG@:Pń?™!\Čšđřăťµs#ý«V­,wß}—fěŔ˙_°`±ffŔň<őÔ3FÇéý˙VČ1nÜ‹ú Ô—Â…oĐĎíÚµK;Ć‘!ť®č,Ž$Äi9łe˦ˉ@†ýű÷k00ˇźłĎŁ#Ű®QŁúĆ>pťv çĎď=Ă2V<÷\Ý·Ěĺąçž{4{ţ˙Š+tApÉŔeěŘŃ)ľcÄQŕŠ;ďĽĂŘŹhÖŁGŹĘşuäí·çj fĚę…Ŕ2'těŘYł@ߏ üfěcü©Ľűî{ş]ä1gά¨2eŚ7^÷ý˘E‹JÍšŐ4«2) A@ř:<.oľ9CߋŲƪ Âľ1hĐY˝úC}ŽŔ XĂţmWŕű±=‹)˘µÁ]řß^ŹÓ~ýţßm·Ý"]tQ˛ß}ěŘ1i×®˝/Ŕí·ß¦ű!2t`ÝŻ^ý®;dĹiÓ¦ť±lÓqbĺ˙űź–tB9pŐUWeîŁl^*sçÎÓŔ0¬lĂŕ`-Ű;v•oľůFź*THęÖ­%W\q…~ÇÚµëdÍšuҧO?ý""""""""""˘DÂ� "ň #“ÍŽÍ{î)%Æ IÖŚ´öHÍŹ)ĐŮ9|ř)Q˘xXĆ^ĽőÖ\˝Ď•+§L™ňJ˛Ľ[nąŮřź%䡇ÚjG2F ›:-ÍQő×_˝ěŢ˝[ź;Ť´÷ň[ëׯ+ť;wŐß:xđP™5k¦í#€€�aXGt7jÔPł+`ĶŮaŰąóăҬYÓŔgj×®%*”“§źî©ŔČtn€2eôď?Hצ+Ŕr+vw˛Ď4iň€`ÚL˝€Žn,ź SLś4ZťÚ“&˝(—_~yŕýŠ+ßŃXĽ‹|ýő×ĆďySĘ–-ŁŰĂĎĺ|ŕĆĺDgö›oβťľüU˙˙¸qŁCfşp‚m੠.¸@ĆŽĄÁV•+W2:ĺ‡ęţ˛iÓÇ €:DZ¬€©+ÝÁ‚ď»öÚ‚Ćţ3LGď#›Űô'Á–,Y¦ÁD`NŰ`…mpÓM7j°BŢ•NĎ)dhŔţ‰ýÔ SĽńĆ›ň /éń0rähyţůaľ/k,Ë dĹŔ2ö}L  Sš`ßwMśřB˛@ěuëÖ6ŽN$ŕĹźţ!Ó¦˝ę8µÎčŃcÁíŰ?’"; ÖĘ,?Öď!ĂŚre”Ä‚+‚÷|ůňJ‘"…uę#aYÉÂZŽ�2™Á8C&ë1Q«VMÍěý�eQ"Iďńslá&"™1#©cń˛Ë.Ői1ě:-oĽ±ŽúFÇvť:µu$ąß~řáűŔ˙˛›Ę˘Pˇ‚ňę«/Ëňĺ‹#žŞÂËoEgp×®ťőńŻżŇ‘óNĐńj—.żM›łťĚÁÝ´i“źAÇ3FyĂîÝ_K¸9Ăśväá‡J´�čŕÄ” Čň€¬X+Lą€�0ŕądÁ¦Ë.»L†¨-”€Ś±XÎŢ˝{–ďÍ7g§&ĆŞWŻW�2R #ŔČ‘ĂSWęŐ«xĽ}űÎdďˇcÜ\ľâĹ‹ŮfŰ@ ö×÷ß_Vp`˙^°ŕÝGLČv€l-°cÇW 'ŮŔ6Ó @2Vř˝¬±*™A €ţnÝşÚ~nÎśąéqúőë“"K hëńÇ;W6q ®ŔÔ Ë—ŻÔÇ%Js,ĎdaN‡‚l){÷î“XĘ–íißľťí{XF$¦Ď±Â±€ŕ-Č›÷réŮóŰcż%–SLŮđá5Ŕ‚ÎsąŤ©�ŁŐ§Ó°B6„É“'I»vëÔ~Ëť;©SS8u$˘“Ó)›D(áüÖ5ŞËĄ—&ýĆ+ŢwüśSÖ dÉ’�P¤Č ’.]:ŰĎ]sÍUz˙űďżI¸V®Lę Egôý÷7tü˛|Ěś9Íč8î+ĄK— ĽŽNŃŐ«WëctZ»eĄ@G1¦8L©Bü^NtŢ>đ@#}ŚLÁť¸&d8)X°€D ÓË”,YÂń}dŰ0o,ąM—/_ţüóOŰď¸ůć˘gzÁtUŞÜçř>˛�dĚxíň…«^˝ÚŽS˛@ăĆ÷ţ'¦ŔńsYcU˝üňä@0–­WŻglŹCk×®ŐÇˇŽš5kxě± $2­Zµ: cÍlcÇúľ[°—0M‰uż·Âď6 xfµmŰv9tč°>Ć6túŔÔ#DDDDDDDDDDD‰†S„‘'{öśÍśŕ4’?^Đą>lŘť eˇt ŤRĄJť~·¦ČĽ‰p~+:›ďĽóťÄL{oç’Kś;yÍÎ\·ÎFsD¸9z>{ö$-FöG’ÍŁčŹ=¦Ź˝dX@‡1˛Q ăĹ÷ß˙ŕ8 K4ËY¬X±ŔcLIb×I}ńĹYÄoüń‡±ť÷Ęwß}ŻpżiÓ¦Ŕű˙ý÷_˛ĎgĎž]ł— řfçΝҨŃR©R%ÍF€zdýđÖůţýôöË/?Ë?ü¤Hćö ^ľpÝzë­®ďŁăÝ´˙·âç˛Ć˘ š1c¦Lť:]+v—<÷\Ç�’_ýU~˙ý>uŕx˝ůć›äăŹ?•PÜöuó@VPSá8Cf,Ł[Yä‡ěŮs¸ľŹĺ8p@äďż˙Iöş Ö}ĹNѢ7iЦ """""""""""J‰`Á©IÄŻż <ľüň<’šťS¦LÓNÚ•+Wé 1�ťíČ,á62ÜM¸ż5Ož¤é2đń÷ßk&DrčPŇ(ňH·›u:Ňú‡‚,&gx °g9sçÎ%g—ď°ÄŇľ}űĺí·çɆ ĺÇLńľSÖ¦A@f죿ýö»Ěť;OoP @ÍŽQż~]Éź˙‰Ä‘#GŚď{GZöěŮc;e –Ë­9˛»ľŹé=‘ĺĎ?˙2¶çŻâç˛ú]™S‚ЙĂĚĽ�á‘2×!ܰÎţĎ<Z6<xHb)Ô>ďgLÖcض~÷Áż ťW:F€,(l‘v®ů©uë–RŁF5Y¶l…|üń'˛}űťŽÁ�K—.×Ű˝÷–—ţýźóÔ1éÄËoµ~ĆŹNlż™ËŻífí¤g}„łś‘ţŹp-^ĽD†}>MË–?~ąúę+ĺĘ+Ż’B… h֔޻8~‚ě/-Z4—ĺËWę”&»wďÖl$űöíÓŰś9oËŁŹ¶“V­ZH8víÚ-]»>™¬ă:OžÜ:5Jľ|WH×h։޽űČŹ?ţ$Ńň’AĺÔ)űíčç˛úµ/c?2<6lŘ$Ó§ĎвŎ5“‚[ ĆŮĎdżxý˝‰P6{e\,’Ś=DDDDDDDDDDD±Ä� "ň$W®łŁ±úégŁůj‰%/ťoyňä‘–-›ë ź˙úëotşdřĺ—:mGľ|“ĄsçÇ%áţVLo�YłfŃÎôD“+W.ůá‡äçź‘H +ÉËwüüóĎÇŘFŢ˙Ź÷ĺÄö5ĺÎťSbS€Á—^šÍŘŹ:Jąreĺ’K.Iö9»¬vn¸áz˝2ťěرSÖ¬Y'ďĽó®üóĎ?2qâËríµ…¤L™{ī瞠 čđGpF˝zuäňËCgW˛8¸mÓcÇŽÉńăÇőqŽ9}]ÖX”Aô“Űn»EZ·~XŰ+ŻĽ*… ß ĄJ•LńŮś9ĎN‹aÍfáä÷ß“hĺĚ™”ĺ™O­'T°ŘÁIÇN¤ÇD¬¬ëÇů5×8gmA@Ë‘#G…(‘„‚NíAtŽAÇŻ #đÝ “Î)@"sć¤é3즰Bçv8Đi‹©(%`ćĚ鎼eË–I¸Âů­řť˙÷˙ÓÇ… ’DtíµőŢĚňáĆ:Jß„©˛eK *řôÓĎ$ó3č ľňĘ+Ä«p–ó“O>±üݵ ČŚbf®čŃăi©YłFŠŕ ŔÔ0áÂ42wÜq»téŇQ^|q\ŕőeË–{ţŁěÝ»W7lŘ@3`8, đÁ˙÷îÇçźž})L~,«_e©jŐĘrß}u˙2d\pÁú7Ď=×_—7>‡iD`Ë–-®ßŤ¬*۶m—h]w]ŇoĆďٲĺs×ĎîŮóµb@pYd–»`ťň'¦ô‰%L‰c2ËM'_~ą•,(1‰YU€…‰D猼7GĎźżŔµ#ň«WŻ%Ď>ŰWGš[™ŁÚżújW ó:Fö[3X=zTV­ú@FŹç„‘-[6 ¶�·Îo§©%Âů­K–,•ß?˘Ź«TąOQ•*UôÁsçľăř9Ľß°aciÝş­Ě›wös^©X±˘>F§'nNľýö[Y»v˝>.S¦´\|ńĹâ÷rbż™3gž>Α#»Üuם ÖíníöŃGkßCv‹ ʸq/:~ć曋ʅ^¨ŹĂ „řëŻă–ĺs΀ŽěH‚@ěĽűîÇăfĎ~Kď1U˛}üXVżĘ SćĚg÷ÍŰn»Uşví¤ŹŹ=&O?ÝKłŚX!`¨dÉâú$ű÷'k×®K6J¤*UŞŽäÍ7gą~Öú~ŐŞU’˝gÍ&˛mŰ6ÇďX˝ú‰Ą›nşQ§…PŰđí·ç QbŁë� ":‡´lů Ţc”tßľýlłěÜů•¦ŮGj÷Ď?˙B;Ŕ­îĽó˝G�ĹëŻĎLń÷ 2d¸8Á(íŢ˝űěoë” vA{÷î“/ľH °Ë*‘%KRÇ*¦˛p ˛đň[2věx}ś;w®ťš‰˘|ů˛é^}uŠ|ňɧ)>‘űÆŤĐí˛sçÎëĄI“Ćé 0ŐuÓďż˙.={öŃQçčnÚ´IŠĎßńçźDĽś•ďľűNź7kÖ$Đí7ë|đˇíg°Śvű±iń⥺?Ďš5[.\dű™%K–é!píµ×‰WW\‘/đŰäa—±áÇ’‡_°ŢGŚm{Ü`›á‡ Ę%›JÄŻeőŁ rҨQC©QŁš>ŢłgŹîgÁęׯ§÷ŘÇűöíŻĺU°ďż˙^FŤ#~@Ö dÚ€M›>–iÓ^·ýÜ{ďÍ—ĄK“˛ź”*UB ,ěýŰożU^ŕµ×¦ĘáĂ)§8Áţąqăf‰%,Cőő1P d›ĄâÝwßÓ)žÜ`Ý÷ď?Py¤¬[·^âáI|Ě‚A” jŐŞ)kÖ¬5n댭 Ҹq3©WŻŽŽ*G‡ů–-_Čňĺ+´Óéö{ö|&СnÂçŃ‘‡Vt‚îŢ˝[Ę–-«#řżůć폿ÇHqt(»ýöŰä–[nÖ, čPD§lÍšŐ%oŢĽ:ňý‹/ľ4ľăěČčV­Z¤řŽ[o˝EÓí#`čĐçĄ\ą2Ćň˙ĄÓdČ!äoýëŻ?ĺ˙ű\§sŔh~t÷ęŐĂvúD€mĐŻ_ißţq9qâ„téň¤T®\IŠ»[˛dɢ .‘ýű÷ëçcv$› Č/Ź=ö¨Śű‚NźĐ´i c}Ô•Â…oĐߏitŠbô?´lŮ\·S°+®¸B·ó¦M›Ťő·B]Ę”ąG;^Ý–3kÖ¬şśóç/’’2 ë@łfM%VŠ/&ůňĺÓ,ŘW1ĹöŐË.»T:,6lĐl*ůóçL ű ‚°^°Ż!CCéŇĄß±~ýzýČś9ł±ź5Żťď8>ţřSi×®Ô©SS—Ů<-Z¤Ç"‚ üȨФÉšĄÓ¸ÔŞ•tÜ:tHV¬x?0…¦“yňÉ®1YV?Ę 7Ď<ÓÝŘ—ż‘]»vÉĘ•«äĆ‹$ŰÇJ—.%ŐŞUŃ}÷«Żľ2Žćz¬\wݵFYpR®ćĎźŻÇĘŞPÓzxu‰ďAY7iŇ+Ć~·Qłĺ řëÁ?ź|’4-ö+”EÁěR¶ě=şŢ°ßµjŐF§jÉź˙cý˙ˇ7đ^őęU±ŇĽy3ÝçQöřácźjnlĂÚrĺ•WĘ‘#GŚ×>Ň@ś~üńç@ąlĘ”éeíÝ»ŻńxaXs(!%|l@Z° ˘2xđ@>|¤ŃşX;ž‘E":Ї (ĄJ•Lń:,;w~\§LŔ(xŚR¶ŽTĆß>˙üP ´°ŽËÁH·nĎh:í:13fĚ(ť:=&÷Ţ[>Ĺ{ČĆ€ŕXŕ˙˙ëšk®Öĺ ç·fÍšEěoű[IѢ7É„ ăĄGŹ^Úy˝|ůJ˝»çžRƶ4±Bç::«GŤ«,vS`ű<ňH[iÝşĄírÔŻ_G˙ţر?¤_żúÚ¬Y3#î˝.'¶kßľĎĆ,{``_ěÔ©‹NwܬĺbŔ€ç¤E‹Ö¶ß‘+W.cjtÜ÷Ô tŰu`#¨�ű[ŢĽ—K8şu{Böí;`těďĐ©‚§@‡3öOL©ăG€Ž©˝{ż‘Í›?‘1cv§x˙ňËóŻŹŇÎ˙X-k´ez >ŘŘÖ /ľ8Qn¸áąű1d`dî°B`ö”k~X pë•W&űPoŮľ}»Łŕ¬`Á‚2rä0Űu=z<­ëJţŞÁV8ö[´hó� ¬źńăGK÷î=dëÖm:­Đ /Ľ”ě38®p|?ůäÓŽßŔj척ůŤD.<űlO©[·¶ĽóλF'éť.ÝW]u•vŇ5jÔ@;–ť ŁľpáÂňÖ[s´ ĎaŤŚ-Z4ÓQíN€ĎNť:Ůč\&«V­–]»vëwdÎ|‘ŃAťOż§aĂzš-ÁNŽ9ŚNŃ—eňä)˛iÓ&íĚE&…ź~ú9Y€…Ýoýĺ—_ô˙äËw…N€÷.˝ôRI ącÎśYÚ1ŤäČő†Qďl¨QŁş”/_Îő;ŢťÖóć˝gt˛ltp˙ 2XďČ|q˙ý 4›€ŚšÇ”�ČD˙á…™´µ`Á®Ë‰ #Řî… _Ż™3¬ޱtýő×ÉěŮoČ›oÎÖŚ čĐGöě[•*Ý+M›>˛c÷Ž;n—ąsß2nďhötp˙ő×qÍô€uU¦LiÍ‚€l"áBfŹÉ“'ęČ"±oß>ýî\ąrÇAqiÝş…ăq ťŚ=RłX,Y˛\·M¦LĺĘ+Ż’űî»W·ŤÓďđkYý(Ü ü4h€fPÁ¶~öŮľ2mÚ”@đKR¦•ľ:%~ËW_íŇ@ [aßmÝş•–#ˇ¦¸‚&°îń™>öíŰŻ˙3{öË40¬FŤšëĆ Ę˝iÓ^•YłŢ’Ő«?ÔL4ŘvĚŔvCVŚożýNâ!{öě2iŇ XBF#d©@ĐUÎś9ŤrµĽ´iÓ*dF |e˙?|/m۶I3ĺ0Ąmé|řlşŹÓ…x|KosźÁro˝áµl¸?qâß BDDD”�ú÷¨Ů .˝4›,_ľDÎg™2e,mÜť2nGĎÜź şť˛Üź¶ą·»IÇâ±xx=™ŘĺVŹŻ„ź‹…Î ČdĘž=ßč=˛Ýѹѧ®XĹÔţý¤k×'ĄQŁ&˛nÝzÇĎaęÝ»wëăŇĄK ť."""" éż˙ţ“/ľŘ*'NśîÝ{H… ĺ¤lٲ’7ďĺúÚŹ?ţ(Ë–­Ď?˙B?ź'Onyŕű…Î é|řlşŹÓ…x|KosźáĚ=nśynľv îOśřwŁĹĐ֭ۤOź~Lá&ţü2rä0ąúę«…č|—)SĆRĆÝ)ăvěĚýÉ3·˙Î<7_Ăýi›{»›„x,!‹‡×“‰W€…yďG€EI`‘M`ADDDqňĎ?˙ČŇĄËdÍšµ˛{÷9r䨤K—NräČ.EŠÖ¬U«V– 2% °8*É,Ě Šh,‚+`! ° """"""""""""""JSΕ�‹ôžŚČAÜcR#Ŕ‚(Mń;Ŕ‚Ů)(řĂp$ŽH:[$}ű§%beŠÓAŹj%Q\ŘĹ $Dü@Ľ,N{|Íú-ÎmˇâÂŤ7đ]jg°đúcOIň(•ŕa%&kßľÝíTß“*ü°8ĺűáţ/§ŕ Y%»ľ}»i@üú?‘ľR8áţłÓ1~?řs %ŚtéŇ™}ůáĆ�Äęý?Ď)Bb•aBż÷ôéSG„Ć©S§ÍľüĆ ÄC<,¬"ů§]^?}ňäéź…ĆÉ“'Ń—ď6źń1‹�‹HČiŹ·ŕĎžÂýż˙ţó­QÂ8Ó—čŰçľ·[$"ý;G©‘Áâ´ÍóÓ.ď ^éx.ÇŽŰ#DDDDDDDDDDDDDDD”0Ž=öő™‡¶}ý.‚ăN»Ľ©5EÉŹ|ßłm۶ÝBDDDDDDDDDDDDDDD cűöť»$)6ŕ¤D/îAV~Xśńz4?Ň)%YTË!Cv%ŚçźjöĺŰMbŠf*óď­÷NďG%ť„'ťÇ÷ě[ď§ z=ý™ÇÖ{Ü2śyž!č–Ÿ]püř?/dČľ„QŞ:yňÔćĚ™/ěd<üϸý)IY,¬73łĹ)9€a˝I”a Ä~l˝w{ĚsđE¸,b™nĂËś)Á+ĘĽacČ?|÷‘QŞłôáŁOß.{…—XÇ)xć×!á.Äé0ꇂŤqjҤI ° """"""""""""""J�'N\#I™(ţ z+Ö11 ĘwŠ·żIçđ<xşŻS…·°¦ ůăŹ?eĘ”©ŠQŞřçźV^rIÖŢâ>=Č)9;Euz§›¸<±ź*Äîy¨×mů™ÁÂë…J÷NJëç˙Ĺýúőëć Ąš Öż'–ľ|±ŹpŠ °űĽHxÓ‹„z=l‘d°pű»t!ŰÝ;e˛H/ÎY,¬Ů,Ěű $)‹E†ăÇ˙y!C†ô%„âęäÉS›3gľ°“$e§@öŠ˙äl¦ óŢz Î^śÉBžŰÝ»=Ż;ň3E°Ó_ł{=Tę±yŚĎźŔă5k>|](îÎôŮŁ}řfßżsŔ„őfýĽX>k'ś¸„¨ůťÁ"ř˝PY,ÜŰe±°Ëd‘AÎf˛0łX¤?räČs™3_\K(.Ž˙kŃĄ—^Ú_’%ĚěfćŠŕ짇Ę^a÷Řzďö8XBe°đ"ÔsË`üľąAţĆó!C†ĽdÜ"""""""""""""""Šątéäř A&JR>úîÍ€ŠPýývď[?g÷8î"Í`áö·éž;eł°Ë\a}ž^śłYXłXXď3·L[¶l©~ÓMEĹÔöíŰúŢ~űíK%ij$D0%Xď3XXłVX_ ťÉB‚G3µHH±°~/Ô4!ć˝] Eđ-xš gţĆ`¦ ąŻýúëá'˛e»¤™QL=zěÍ\ąrŚ‘¤ ‰ż$ijë´ 'Ď|ÔšŐ"8ĐÂ)Ł…Ű´ q™â`a}láhá”ĹB$eö §l™ŚŰExţ×_ÇG\pÁĺ…|uňäeÎśą»$O`jd°pĘZ|ŻŮ+Dě§ńž˝"Ô{ŽŇKä"ů‡N?Čnž•ŕçÁŻŮ­xĽnn gn'kÔ¨ŢďÔ©S[„|ľřęŐk÷“¤ľzôŃ˙+g+ÜúöMN1ŃQ8‰(¸2Htb™ĹÂé{¬ź ő·Ř0é÷íŰ÷ß?ü°®FŤš·¦K—.ŻQT\ńŘcşżűîĽß%)°âqźD,ʧq¬0_‹8ÂM4S„„úŽt.Ďӹܻ=N/É+¬SŻe”S†d6nT¬X1ë˘E‹pş""""""""""""""˘ČaZš5ëö]˝zĹĆÓ˙ŚŰqI9%™Ĺ"8“Ĺi±´ŹíîŰ=őş'± °°{Ď)‹…yďpa>°° ˛HosCĹEĆ-#ž>|¸kÖ¬—<(DDDDDDDDDDDDDDD–?ţřăŤ9˛Ź•¤ŕd®ř[RWX)ś‚+Ě÷DěłYĂk"‘MU€Ez‰žźsš8­óą]Š· cŤŠA´ ć{9•#GŽ1_}µóŮ3ŻQhÇŃמ#Gö1’ÔŹ>x»ĚN}ř"îÁby.âo&Ѝ§ ń#ŔÂŤ[¤Či÷NŹ­BÄ~ť´Ü›ŹŹźąťşĺ–[–öíۧÁß_(DDDDDDDDDDDDDDDä}ëčcG_»őżKň~yóŢ.¸Âúz¤S‚D25/ü"ÄËwĄ ă±Ó”!vŹ­Ó‚Ď­Ż™źÍôú’4e^O·jŐŞâĄK—iť!CúBDDDDDDDDDDDDDDDęäÉS›7lX7­RĄJKR�(0%Č’2 ‚53…5ŔB$e"·Ŕ ŻAnÁâń=ĎR#Ŕ"řy:‡× ¸°0źg°|Ö`aľžÉ¸]h~%J”¬ź)S¦*BDDDDDDDDDDDDDDtžúçźV~üńćw,¸ý#IÓ‚Á)Ě×EśłWx ¨5eH8Ů+.Ŕ"Ô÷…dávď%ČÂTa}`aľŹ ‹ ĚĎöęŐ+w»víîÍ›÷Š ĚjADDDDDDDDDDDDDDçd«řé§>ś<yňC† 9(g'­â90`aÍ\q*čą?S‚¤jpř`ę;cd|łfłH/).‚1Ń"Łĺu©X±â%}úôąńúëŻ/’-[¶k3eşđjăĺĽéÓ§żT’¦‰Ĺ:$""""""""""""""ň‚ ţ>}úÔ‘Ó§ĺ§'ţůöčŃŁ_ďŢ˝{çŔw¬^˝úĺsŠřW’2VMSX)‚."™ $á‚+ ‘,¬ĎĂ ˛°{Í.s…]P…]P2\d<sźAB‚żď´"Yß ŕ """"""""""""":?DpÚĺőÓĎťNžąý+ö*‚§±›"ÄúÜí˙F\áĺą×÷«ÎűhłXXGl8!b?mÓçĚű –›ÝT$VéĹžÓëvTADDDDDDDDDDDDDt~ '8ŕ”Ç×í¦î8iąť ú;§lÖ nźń7cEŞW@,;ňădaŢ»[XłX¤ ’° °HâűÓ-o´Ů+\ADDDDDDDDDDDDDDŕ5HŔk‹SAźwš˛#8pÂú~đ{ÁÁnßνŰc»ç^ß‹Ř;Xŕtßł>7h:ËëÖű`ˇŢ·:ôyëw¤űŤk`ĽěbóYëk" ° """""""""""""˘đ„`a„``a}Ď-ŔÂú<ř±ÓMBÜ»R¸ý·ç^ß‹J<:ó#Ída}îgV Ż·ŕ˙›ŢĂc/Ë ,˘ °°{픇ÇÁÁ^n"ţe«HČŕ Wg~8AÁŻE\awo áuj§ď µĚÁŹÝ0Č‚čünpE¨Çˇ‚BMb˝·>>íÓ˝Űc·×ĽĽç‹xvä§ ó}ŻAvŻ…›Ý á5S…[ŕD: 8 ,ÎOá 8"¸e~p›:Ä)Â.cE$÷ˇ^ ~l÷\Â|ßńîÄ÷;ČÂú8’Ŕ pĘXa}/ř}§Ď;ý±yź(§CĽîÔŕ%ŘÂ-Ł…Ý˙đHá5ۆ¸<—0ß÷Mjuö‡3e— ‹H3\Ź'Ň»|Îíą¸Ľ/.źő‚DDDDDDDDDDDDDDç¦H‚Ü‚+ÂÉ^a÷NŮ|&Üŕ‰p˛Vxyîő˝HÍNűXfł°>ö„‘Ţá{Ň»|ż[€…ÓknŻ{Ĺ` """""""""""""˘´-Ú�PŮ+ś^s ”€SaĽîg¦Š„ÍZa•ő~gł°>Žäýt˙.Ô˛9˝ćĺ˝h0ř‚(1Ä* ÜĚv ^‚!"ÉDN…—ç^ß‹ąDéŚ7!ÔÔÁŹ#É~ÎßÚýťÓg$Ś÷‰¬ÂÉîpZĽe´~|ZĽHD3—@ŻďĹE˘uđÇ2›…Ź˝XxyÍË{DDDDDDDDDDDDDDDÁ˘Í^üZ4Á‘<öňÜë{q•AO4Ů,‚źGóŘÎiqŽđa°ĹZ$Áv^¦ q{ĎŹŔ §×ĽĽw‰ŕW6‹ŕçáN/és§×ÂyźČ*ś)Bś^ çy$‘<÷ú^ŞIÄ V±ĘfÎ{^žĹvŻĹ"čÂîąÓk^ŢKU‰`~YÄây8ŻEăt„źń;Č"’çNŻyy/ŐĄ…� dŞŤÔ ¤đ\Á� """"""""""""""ŠD,,ě^‹u`…—÷S]Z °0E›ÍÂî5ż>ęuŻďyiĐB$A‘~Ćé5/ď%”´`áY8˝i`E$݇zŹ(R‘0x}=Ú Šs"¸Ňb€Dš%"Ó~Ä#c3Îm~Ä2ŁE8Żą˝îőý„“V,ŔĎ ?_őžźCDDDDDDDDDDDDDDçľH‚b™Ő"Ň×˝ľźŇr€¤‹â3~N„ Á` """"""""""""""ŠF8A §}~/ŇŔ ŻźIHi=Ŕ˘ ˛Ő{‘|Ž(^ü¸ő^8źIXçB€…)–^Ţ÷ú™Xţ=ť[˘ Jđ#đἬ0ťKŕWV‰XS0x‚b!Ü�†X]Dňą„w®X€ßSw$ęT Ř """""""""""""J›âtŕw0Äy\çb€„|«ĎúńwDDDDDDDDDDDDDDD^DĚÎßĹęłiÂą`‘5¤Ąi?´ADDDDDDDDDDDDD”6ĄfđA,¦ńăoŢą`aŠG …ßODDDDDDDDDDDDDDŤhXä|°€hb,Á """"""""""""""ŠD¬˘ůŢs:¸Η� đ+ DDDDDDDDDDDDDDt.đ+(âś®€ó)Ŕ‹� ]Q"‹EÄyXa:,Lń Š`�ĹR<ΫŔ Óů`abđQhçe`…‰É1Ř‚č¬ó:¨ÂŠöhADDDDDDDDDDDDDDç3Va€…7 ¸ """""""""""""˘s*B`€EätADDDDDDDDDDDDDDi)"Ŕ�‹Ř`đĄ&QřŚçu%&;śŘ)ODDDDDDDDDDDDDDDBz!""""""""""""""""W ° """"""""""""""" DDDDDDDDDDDDDDDD!0Ŕ‚(X…Ŕ� """""""""""""""˘`ADDDDDDDDDDDDDDD,Bř.ŽŚ­Ö$Ý?����IEND®B`‚����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/library.png���������������������������������������������������0000664�0000000�0000000�00000521216�15234476640�0022007�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��ţ��¦���#Xć´�˘UIDATxśěÝĽ[uŮđ÷.PJi ĘŢZ6”˝A6˘(ˉ˘ˇ"Šâ‹”© â�‘˝7RöŢ«‹R {ŢűŢ甄$7wŹŢÜ~żźĎąÉ9INrr“ś_ž§k��������*N×��������TÁ��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*P÷DgŃ%�������4Nu˘â ‹´ Ű������� °Q+Pi>Ű������� u5đJăŘN��������íK¨-ĺŮ.��������‹ P —b¶�������@Ç&�ô AŰ�������� R-Ö! Ĺ9ôŇž÷]¸�������XÜ´g(g± �-Ž”¶¸Ď‚=��������MÓaťĹ*�´8VZëľ ů��������´ŤÖ î, Ĺ%ÄŇ’űŮVŰH€�������č,Ú*hÓ’ővúđĎâ>iÎ}lévę�������(ÖŇ Ns.ß©Ă?ť9 ŇźEąý„‹�������€Ö˛(2M˝n OtÖđHSîW[-Ű—�������¨TÍ Ű4ĺrmµlE茔ĆާEµ\k&�������ZK{‡b{}‹jąŠĐŮÂ#­ŇiĚz*©-�������@{j‹ö]Ő-śßÔĺ:ĽÎFiiXgQ„Zűň��������m­ĄÁ™¶ů´Ćú+Bgš´eŕ§%Aˇ¦.�������ĐŮ´Fž¶×”e:¬JĄ´$ôÓÔé-™×’e�������*ASB4­ćięô¦.Ó!Ur�Ąą­ąÚzzCóZó2��������‹BsÂ2íčin�¨"Ă?•6iÍĐOK¦Ő7˝±óC(�������ho­†in঺•§Ő7˝±ó;śJ ”4§ŇNsĂ=‹ş �������@%jËę>m�ިđOĄ…Qš¬in¸§9Ë44˝±ó�������*U[Vři­eęšÖyJĄ„Pš¦éŇĘă-ťÖśe��������*Au3—iî´–Ž×5­)óąJź´´ĘO[Ź7eZs–�������čČÚ2ôÓÖăuMkĚĽE®ŁOZ3ôÓÜyŤoĘ´¦Ě�������ččšS9§µC?ÍťWß´ĆĚ[¤:rđ¤)ˇź¦Ś/ę0PSć�������tt­üi‹OkTjĚĽE¦#OÚŞĘOSĎ7f^}óšŢĐ<�������€JĐśŔLi@§µ>Í Ő5­1óÚ]G ž´V•ź¶:ßPЧ©U�������€J×Ô LCÓŞSë…{Z«Pc絫Ž<iI•źĆ€Zňilu ŇËŐµLjÂ|�������€Ž®)­ľŞSă‚?Ąç[jNő ú¦5f^»čÁ“¶¬ňÓśů]yą†n[]Ó3Ż%„‰�������€ş´UXĄĄU =őyę[¦ą Š­ţł(C"M­†ÓÜ6] …|rşÖ±ž®ő¬ż1€R¦7–p�������ĐÚZb©nÂôƶöŞjÂôúÂ>­Ý ,5q~›XT’Ö®ňÓÔiĺ<ĺÂ> }j9ÖšÁa������� ˝4'ČR_đ§ˇ[Ť U•Y¦©aź¦TjĚxc絉ö“´e•ź¦~ę ů”Î/­öSWđ§ˇŕQ*3������� łi¨ęO]Á›ú‚?Uő,__ĺź¶¨Tn<5q~«iĎJk‡~šđ©ď´´âOaا®óÍ­öÓ”í- �������tM łÔŐÚ«)UŞ8_ťjWýiîiCÓJĎ—OMśß*Ú+\Ň”Ö^ĄÓZ+ŕSxZ.ĐSzZZѧˇŰŃĐm.=_ˇ������� ŁilĄ±Ut âÔWá§ô´đ|u+ťÖwľľiŤ™×*Ú#`Ň”ĐO]ă- ˙ÔUá§ľˇôz[ ¨ôrĺ¦ŐGč�������訚ţi¨ŞNU#Η€3¤Ô˛j@uMkĚxcçµX[‡LZ3ôSW¦±ÁźrCauź®%—«ŻňO] ŇyĺnOC�������€ŽŞ%ÁźÜx]Áźú‚;ĄŐ|ŞĘśo(T×icB?2üÓ=µťć†~ZłşOá´\¸§0äÓµĚeŰň«4 T:ż”ŕ�������Péšü)7˝p^—’ĺë ţä–Ë…|şĄň!˘ęT&Şë6t)8mh~u™ŰŮ%ŐľuÝçúćµH[…LÚ;ôÓ*?…ž®©á*@…§Ý †şBC©är©‘ÓËţ�������:š¦„WŞ9=Ţ©*ż `¨*ą\}Ő}ޱ\J©E­Ŕę;_nĽ±óšĄ-&Í ýŽ·$ě“;_îéZfzą�P.čÓ#}öi(TWëŻRÍŮŢB@�������Ŕ˘Ňś°J}—)×Ú+Ąş6ą�ĐĽôi¨\ŕ§ô|UËÔw˝Í 5fĽ±óš¬#šúi¨ĘOi…ž®©îPĎ´0𓛞ƌ3ŕ´ÓN[kµŐV[sŕŔ«ôěŮkD—.ih—.]—¨™Ý; ć��������4WafWWW}\]ť&Ěť;çť©S§ľöĘ+ŻĽxĆgĽpçťwN+X.Â;�š›ęű”¶űŞJ W˙iÍ @ĺĆ;ŻÉZ;´˛(C?ĺZp•kë•«čS8żWÍĐ=·ěÉ'źĽĚ±Ç»ĂС÷ďÖ­ë¨�������@»[° ę‘ ĆÝ}ŃEÝuć™gľź> őĚŻć¤â`OąŠ@ĄÁźŇV`)Upř§5?­úÉťonč§°ĘO·TľŐWnzTřé•[ćŽ;îŘ|Ô¨Ńű÷ěŮs—�������@‡1wîÜ[yäákwÜqÇGÓ§ť˙ĚMµ?…aźź¬˘Ş`H©éáźrAźEţYÁź†Î7¶ĄW( óäĆ˵ńęV2=ŞűôţdzřŮrË­ż ş�������@ÇU€|đţ?€"Ř3;-¬TüYęn–Rí¶`ÍiÖŘóĄZ%řÓ-µŽ¶lńUzľˇĐOař§[Áxî|Třéăß˙ţ÷—˝é¦›NZe•UżÝµk—ĺ��������Zd<V\qĹ˝N:é¤áŐŐŐ/Ü˙ýłj&÷řdvjJł&Ő©8sRnąęÔĽŚK}š’§i–ÖŞřÓĄ‘Ó[ú …•|Ę…~ş¤Ú! ÜU~˘˝W—gžyf·5ÖXó”šó}��������•hÖK/˝řłőÖ[ďć´0Ľmż˘úOUCuŞ»ĺWc«˙ÔwZzľÜxCÓ­5‚?Í©öSW�¨®đOąĐOař§ˇĐOTű‰ĐO¤»şN™2ĺ„ţý|6�������Pń¦Oźţ×A–:7- îĚK Ă? RăÂ?Ő%Ciř§\ȧľŔOc? ÍkP×Ôvş40^8­ˇ Páx}ˇźrÁźýDUźcĆŚé?s欳…~��������:Źţýű62!cĆěŇ?-, Y‘ČŚ”ćHęËś”¨I©|!›”ęoůŐĚL«č–Z¦5Şý4¦ĹWcŞüÄié–ŻôsÔQG şňĘżťÓ­[·Ń �������€NĄk×®+~řaŤ7îţ'žxbNZ©*Y,ň%Ő%ă9őUßiLč§9ź…‚Zš(ęŇČéőÝů†?ˇ4qU_uźÂ�P„~znżýöoľů–_×<Ŕ&��������:­ŞŞŞ'wŰmĎoÝ}÷íSkF禅mż"�­żŞSů`…mľÓň«\űŻÂÓŇóĺƚޠ–Ú˛ÚOéx×TŞoČ…~z¦…Áźn3gÎúżîÝ»o—��������čôćĎźOßľ}NJ C>ü‰�P.üSŐŔJC@)•�Ą’i)••oěĽ:uMmŻ1˝ĚĘM+×7­\żµ”jW�Ꞇ~şNž<ůˇ�������€ĹGdE&OžrBú´cT÷T;w’RůÎS9ĺ˛+)5? Óęş§Ö×Řö_ĺ¦×µ±J«ţ”>�…CLŹj?]ź|ňÉÝ\âđ���´Š ¤ąsçĆ/¦˛ˇŞŞ*UW7»1,¶şté’şví_BfCĎž=S·nÝ���Đzpř“O>ůâ†nřß´0KŐ~"[RX‘'Şúär(ŐéÓŚJaĺźś.%Óş¤ň•zš:˝ŮšűmBcŰ|•;_W{ŻÂóu ą`O·’óÝ ćÇŐë{ßűŢC9ôw5ç{$��� EfĎžť¦OźžfÎś™ćÍ›—€~ ebŠ})ö©ŘÇ"T"���´Že–2şć3÷Ť<đ@´űʵňĘ|R™óąÓ†ľüŞ/S×rŤ]_Ł5·¤Pk ˙”+§Tx>†\đ'×â«_ś˙řăŹÔ§Oß˝���ĐlD1cFN�ÚGTţéׯ_V���hąYłf޸ÄKśž†~fÔ ó?9żŕ“ˇ*‡‚ ĎW—ś/*=_xZßůRMţĄ]×ÔşŰ櫾pPCé§Â@Pi(Şűt˝ĺ–[6ú��€–‰ ?S§Núvű\ě{±���-’Č’¤‚lI*ź;©+ĎR8­ˇ‚8ő]ľľéÍŇÚšŰć«1Ő~J+ýäŞýäNsŐ~şÍš5çwÝşu•���€&«ŞŞĘBóçĎOŔ˘mżşvmíßď��ŔâeÁ‚ŞGúôéu|ZXá'Wő'Wí§´ęOaĺźĆTý©«ÚOS«ţ´KĹźÖJ56éT8ż\0(ĘUűŮLč���š'B?ü±Đt±/Ć>ű&���Đ|‘%‰LI*®úSZí§´€M]ššyi¬&ݧ5*ÔŇ6_ąń.ŤX¦Üňń tŮj«­÷M���@łhíO®ő���Đ2[nąŐ~© c’šźQ©o™TĎxCÓ›¬=kwiĆôÂę>ĄI«Z-żN:é¤ezöěąK���šlúôé*ý@űfěŁ���@óőęŐkçČ–¤‚¬IŞ?“ŇP 6ö4¤­‚?--yÔÔ Đ˝fčúĺ/y»���4ŮÜąsÓěŮłĐqĹ>ű*���Đ|źdK"/Ó˝i—lqÖĄMÂ@M ţ´e"©ˇrH…ăĄ}Ő˛cřđĺ��� fĚ‘€ŽĎľ ���-S-‰¬Iiţ$ĄĆeWÚ:?ÓhMM/µT}}Í §—ş–śNď¶ÝvŰőďÖ­ë¨���4ITY°`A:ľŘWcźíÝ»w��€öRUU•ćÍ›— ńŮ4†ęęęl]ştɆnÝşeCŹ=˛ˇk×¶jDŐ|‘-Ůn»űßsĎÓŇÂĚIU*ΠT}rZťj‡ş|2˝Táôş–i­µ…ęYÖ’¤S]•€ 7z:ůä“×J���@“iń•Ĺ> ��@{°Ď¬YłŇG}”¦L™’¦M›–}&ŤđOĚË…~BśĎ…b™X6.—ŤuÄĽŽä䓿›Ë”ź)ÔŇĘ> efZĄjP{Wü)Őw˘[¬gťuÖY-���MżÎš?~*Gěł±ďĆ/(�� µEHgćĚ™­ňĂ“ř C´®Žęµ}űöíU€>É<–fN楖i× ?ĄE𧡄TCa r­ľŇ€VM���@“Ěť;7•'öÝ>}ú$���hMř‰ˇ-D(†˙İ(dLĘePę+OTÚŇ+ĄâĐO»‡€Ú"řÓÜ*>]9”.›==zô‘���€&Qí*“}��€Öź3§OźŢ.ź7#X?héßżęŢ}Ń4Şú$c’Ďś¤ş3)ĺÚ€• ü4V«Uý¤ć„ęëyÖĄ[·.Ë&��� I„ 2Ůw��h-sćĚI}ôQ»~ÖŚëŠëŚë^>É”z µf®ĄMµgđ§­î`¶Ţ.]ş.‘���€&‰ží@ĺ±ď��ĐfÍš•¦M›–•¸î¸ í­ cҦY–öĐ”ŕOSoT—6ž_ş\ď���4Iuu»¶Z‰}��€–ŠŔÍŚ3Ң·a„r“¦fSÚj~ł—oŤfi­}ăZWąŢj…§���Ť˝¤xŕˇôż˙=ž^~ů•4aÂř4mÚôlŢ€ýÓ°aĂÓꫯ–6Ůdă´ŐV[¤ľ}ű&�`ŃxçťwŇ=÷Ü›yäŃ4iŇäšaR6}Č!5Ăŕ4jÔći»í¶M#FŚH���Ô/Zlu„ĐONÜ–®]»¦^˝zĄvR.sR8´Ö/nZW‹Ż«)a™Ćö5ëŇÓráťÜеĚi÷ONcčV0Äř€8?w��@#|đÁéŇK/K7ÝôßF˙’¤Oź>i×]wIź˙ügÓđáĂt“'ON@e<xpZĽţúéüó˙îż˙ÁF-żŮf›¤ŻýkiŤ5VO���Ô6ţüôŃGĄŽhÉ%—LÝ»·F ›†őěŮc‹š“5Cô:«úä|n¨úd˙Éiu™ÓÜJĆ §Őwšęohz‘öţ4&üSř) űţ���-2wîÜtůĺW¤+Żü{Ví§9zôč‘?üĐtĚ1GeçˇŇ ţ|jĘ”)éńÇźHŻĽňJÚcŹÝŇJ+­” #ëěÁź ¤ßüć÷骫®nrkłř•čAľńŤŻĄnÝş%���>ˇź˙tDú‰đO{hdđ§đ|ąŕOJu‡~«ŕOáôn©v�Hđ��h‘ř0űśšžxâÉÔÖ[oÝtÖYg¦A%¨d‚? ˝úęké›ßüv4[o˝e:őÔ“SG4qâÄôÚkݧUW]5 ˛LbńŐ™?Ó¦MK'ź|jzě±ÇSKDőź3Ďüi0`@�� e?lîŹ"ŰKßľ}łˇ­51řSřYęý´{đ§}ę#5Na�¨©—��¨S´ůö·ż“&LXkŢС˦m·Ý6mąĺč4|ř°´Ě2 ˘ż˙ţűiܸńéJ÷Ţ{oÍöIE—{ć™gÓŃG—Î9çě4räJ X4ľő­“Ň /ĽP4míµ×®Ů7™š"މäB?á©§žNUUUYŐŽäľűîOgťuvö«Ľ=z¦SNů^=zT‚Î$öĹşB?ŁFm–vÚiÇ´ÁëýĎ~ňɧŇwÜ™y䱢ĺc±®sĎ=Gĺ��X Ś˝ujO?|Ş$ń]GGý„¸Ť˝{÷nŻďeZ’SiZyÚ6ŇÚĘťolĹźr­ľSńg`śŞř��”3nܸtě±_N|0Ąhú˛Ë©™~tÚcŹÝü�oşéżé /N“&˝_4oذˇéŇK/JK-µTj‰¨l°óλ§ćřÓź.Nk­µfęvÝuŹôńÇSóă§ťvrÚsĎ=GĄWüŮm·˝ĘNżůćSSÄ~~čˇG¤©S?}ľţö·żN«ŻľZj-Ó§OOxhŃ´ÓO˙a5jóĆ®"}ýëßĚŞ唆ś~úÓ3Óý÷?ßyçÓ‰'~+Ń9uÖŠ?çśó›ôĎ^U4mĹWL'źü˝,đSźíýěgżHożývŃôC98}ë[ßHmíÝwßM·ß~gÍ—˙ʤńăǧ?ü(őęŐłć} ´ćš«§í¶Ű®fŘ&+]O±üŕ”t×]÷äÇ?ü°¬U��4…ŕOý⻉ٳg§JÁźţýű§¶ôIĹź¨â355­âOa«ŻćTü©ď|jÄô"ëgk���­hîÜąé{ß;ĄVčg‡¶K˙ű_Ó^{í٨_ŤÄ2±l\&Ö?~BÖBlŢĽy ¨Q)(BC1|űŰßÍöóő×_Żh™±cÇ¦Ž¦4d8hPűôĽ‡öňŇK/§«Żľ¦hÚ&›lś.ąä‚C?!–‰eă2…®şęęôňËŻ¤¶ď9"°tČ!źMüă…Y˘¨Ó§M›ž‘n˝őötĘ)§Ą#ŽřBP��hOń٧J ý„¸­q›iآţhÍ��´‹Ë/ż"˝ňJńAľĂ;4ťyćOSź>}RSE_é_üâĚt衇MŹ{—\ň§TŽÂö`Ď?˙|vşńĆ-óÄOĄŽćk_űJZwÝuSŻ^˝Ň†nľüĺăt&ż˙ýyE_ěFĄźłÎ:łIżň0`@Í˙럥VX!?-Öën îůÎwľ›U)*lX—7ß|3ü éńÇ;^¸��čĽćĚ™“*M%Ţć´21jĘ��ťŇ”)SŇ•Wţ˝hÚöŰo›µŚčŇĄiź˝&Mš”ţńŹ«Óţóź´ŐV[ĄSNů~?~\şçžűňËÄuí»ďŢiذa©µlłÍViřđĺ\nĐ –µÎ,*űäB>Ąm±Jm˛Iqđçůç_Č~]ĄĄ;ЎC—Mgźý‹ťŃ;3{ěń˘iŃŢ«9ĄÝ#ü—ýň—?mőčŁ˙Ë®cÄ©5]tŃĄŮş E±5ÖXŁć˙řЬťg´č›2ĺĂüü ýđ‡?N˙ú×UY��h•Öz«=µ$D“kµľĚ2ł%Ť=ŞŢĺ㇒çžű»4a„lĽ©-Ůsâ67çś‹›ö ţ´f˘©KÉ���PËĄ—^–fÎś™2d™šl§6)ôóÚkݧżţőʬ5Çüůółi?üpv0ďG?:-zčgÓ¤IďgÓă�Ţĺ—˙5}ď{ßI­eß}÷I[o˝U˘uÄcŹ]cÚ»Ńy”«ěS—e—]6 :4˙ĄT´đ{îąçŇ&›l’¨-*¨TWW§nÝşĄöŹIŹ=ťÓ=÷Ü[4>jÔfŤjďU—¨Šµůć›…rî˝÷ľôŮĎžZKTřąöÚk‹¦ ><ýęWżL#G®”źĎÝ+®¸2]pÁEůiŃŠôć›oÉţßW˘Eń���4OĽĎ}żŮďż?9ýä'?K'ťtbÚa‡íĘ.óż˙ý/ť~ú™5źć¦–ŠŰ·˝ľĎk«J¬«:µ±J«řÓĄ‘Ó��€ĹجYłŇM7ý·hÚqÇ“µęjڧžz:ýĺ/W¤x(; UhŹ=öČNc]ÇsT:óĚłňóâŕÝńǵŃ×ÓÚ˘ĘQ„‘¦Nť–ź¶ß~ű¦ď˙¤˘ĺ˘‚I,7aÂÄü´˝öÚ3ťzę˛óW_}M:űě_çç­¶Új5ŰăOiüřńéâ‹˙Ts�őŃôŃG§Á—Nk­µf:č ÓFmZ*ÂSwŢywşĺ–[ŇŰoż›&Ož\ł-ű¤!C–M›l˛qVQiĹW({ŮŇŰĽŮf›¤ßýî7ŮAäżüĺŻYĄ…¸ß˙řÇ•Eë/˘rS\gTw‰j ={öĚ qťűďżoZe••‹ŹŤ7ްćőăćüx´űęHÁźźţôĚt˙ýćÇwŢyÇtâ‰ßjđr/żüJúŰßţžž{îůš}anÍ~5¸ćľn\ó±O>ĽvĄ˛7ß|«¨RJ|ÁvÓM˙NoĽńFşě˛żdűKĽÖü×Ňž{îž_. wÝuwz衇Ó+ŻĽš>ţxZ¸ŚĘdk¬±zÚvŰ­Ó–[nQ6„Yzߎ<ňtČ!§k®ą¶f˝5{ÍŠĘ/˙űé¶ŰnOżúŐąE—˙ăźVZiĄTNÜ÷Ë.»"?Vb=~5ر<ňČŁEă;í´cj©wSüyôŃÇZ5řóŢ{ďĄéÓgM;öŘŁ‹B?!k_üâ‘5_€?^ÔâëĹ_®ů˙V~ݱź]wÝżk^‡žĚŞĆ{’Ą—^:­·Ţ:i·ÝvÍöĄ†ĽńĆ›éúëoČ®sâÄ iĆŚ™©_żľY µÍ7ß,íłĎ^Ů˙ĽRŻżţF:üđĎĺÇă5ŕÁďÍţź^pÁ…éé§ź©Ůż§fçý÷߯ěuŽűDÍAIiÚ´éi‰%¦ŐW_­ćŔŔöŮmŹ˙µŤŻ_úÓźł_ Ƕ<xpÚtÓMjÇĂjöů��аřĽŢČçß§ť}ö95źsş×úŃâĂ?’~öłłŠB?ýű÷K-·˝Ť+ĄV|E«/�� Ó‰Ç…Ő~–]vHÚcŹÝë˝Lüb?B'ýëßj½Xv™8hwđÁäÇ#,sńĹ—ć«ţDŕčá‡McĆlź…AĄŻ~őËéżřżü´˙ű†tĐA…WţüçË‹B?K-µdXŞOčűĘWľ–ĽË?~B6Äv;üđĂŇ׿ţ•f˙úćĹ_J?řÁ©Y¸¨P”óýđĂŹŇK/˝”®ĽňoŮÁÚŻ~őKŤŞ.păŤ˙I?ýéĎëśA©SOýQv`˛Pü’( 1\sͿҾůÍŻ§îÝ}„^lĽńFEÁź±cźL•.ÂńkĽxťËy÷Ý÷˛áć›oM'žxBÚn»m\ON<ń»Ůk]9/˝ôr:óĚ_¤‰'ŐšU”b0Ţšk®‘N;íä,ŔĐsÎ97Ý~űťµ¦ołÍÖéüó/(ş-ńÚ_Wđ§°5ăÂËo%ôÓMPüÜiIµźś 7,¦Ž?1µ¦ ŞjM«ŞZPçň?ůÉŹ˛ŔLNą°püúíoĎK˙üçUµćĹ˙ɢaĽ^ťqĆŹËîK±Žßüć÷Y0¶4Ä_Ö?óĚłŮáŘh˙ëaľ/}é«Eď±JŻówż;?ýă˙¬5/Ş=ôĐ#Ůđç?˙Ąć@ŔO˛đpCâô7żůí˘q˙o¸áĆ,�ŰsŰm~ý�€Ĺ]K?_üâj>cü.?ß1üü翬ů>ď»ůđĎ>”M+˝®Ă;4µD;*žúć��@§SřKú°Í6ŰÔH‰_tXÍčŐú »îşKZf™eňă±ÎXwˇř%˙˘íBÖ[oÝüxüçÜs“7n\şňĘż]ćß8>-±Äu®súôé5ŰćÇEˇźRĘąüň+Rs<űěsé¸ăľR+ôSN´^;őÔ6¸\T9ďĽ?Ô9ęÔ©é裏«ú)KŻşęęš”?O,"hPřz°?ü0UިbuÎ9ż) ýš;wNúĹ/~™UjČE]\gčçí·ßIß˙ţ)eC?Ą"č÷Ăţ¤Á/㵡\č'ôîݻ֯ ďż˙˛ËĆm‹ F…âőśŽç>(ŹĘ.-µĚ2Ĺëjr­iذˇµŞ×D;ŻxoQN„tV^yd~:´vµťüŕ”˛ˇźRń?ěë_?!Í1ŁÖĽÇ˙ŻŇĐO©¨¶óî¸ă®Ôßţöwu†~ÂÉ'źZ6ôS*Ţ‹|íkßČ*ŐçăŹ?Şy]9ąÎ׊¨äwúégdŐ��€úŐő˝@cíľű®éK_:¦¨‚o¬3Şˇßu×=ŮŹqâ|éű÷#Ž8<pŔţ©%ZzŰťĺçŠÚ}��yŻľújŃřV[ŐÝ #>8ţđ‡§7:‰µŃR˘Ô–[ŽÎŞÂäĽňĘ+©µD»˛§žz¦Ţeâú ŰlĹíüŢ÷NJGyTţCńcŹ=žµ ‰ĺ˘BQäËŮ|óMłîőÉm›QŁ6KźůĚţiŔ€ŮÁĆ+®¸2;č–séĄN»ě˛S>|xj¬8€ˇ˘ÂŰ•u˘šR¦Ný8]wÝ é­·>=h_&\wÝőYłşĽüňËŮi”!ŽĘ K-5¨ć�âÇ©OźŢŮôłÎúż¬ZQN´=ůüç?—6Üpě¶Dux\sL˙űß[˛×1Ű':·x~Żşę*Yk™Ď'ź|şÎľő].ąÎ:ë¤ŃŁ7ĎîOdr÷/Ä´¨¬sńĹ”mÁ"DmϢňY´Ň[nąĺ˛ýčĐ!ŮühýS ZrÉ%ł/÷˘şO,U> _+_{íµ¬ťâöŰo[Ďm_Ě[nąáYë˝WľVÄëMTüȉpĎ{ďŤË–/U† 6,­»î:‰ĹCi𥡠LSEmĎ=÷H×^{]~ZT<öŘ/g­2·ŢzËěůĎąX¶!±źÜwß§!¶Ř'ă˙Ý1Űgżp}úé§łĘ}ąöbNüĂ.LßůΧ-˙"tUď E[Ŕ¨~m˝^{íőtá…§wŢy'??ÂJ;î¸Cť·+^âýDĽÄ{Ź#VČöůŘźBTş÷Ţű‹.íÄöÝwŻ,\üôÓ oSî˝Iü˙˙ĺ/Ď®ąíżŻó:˙óź…m[×Zk­´öÚkĄ)S>Č^7 _˘uY´C‹–®��@ÝZ#<“kó{Áç§ĺÚ~Ĺg—¨Z(ľˇĄÚ8ř_„´îĹE`QšÔě��-~I^¨ľ JT“Č[â@Ö÷ż˙Ýš¬Őéç?˙Ezä‘ÇňËĹĽ‘#WŞuů8ř]ßu·D´ĐjČ€ý‹‚?!B ‡zHV'碋.©ąo'em}râ�b„„#ÚâśuÖĎó•P˘˝Č:묝ľő­ďä—‰q·Ür[úâŹLŤuë­·Ő ]EŰ’vŘ>?_*|ĺ+ǧ^x!?í˛Ëţ’U7Ş+¤"8ô«_ý2 8°hzč,¬l1Ď?˙÷iŤ5VĎOŰlłMkf.›µ,ɉŠFcĆlźčübź* ĆDp®R?aĎ=wOÇ˙µüř~&«r⦅¶żŠŔĚóĎżí×u‰}é—ż<łV;­RŚ3¦ćµgŐôî»ďÖ¬k|:ĺ”ď§#–Ď/ˇ‡e>őÔÓůi`¨/řöŢ{Ďšý˙Ke«¶Ĺ:‡šµËąďľű˛×żBĄÁź]wÝ©Ţם¨†SXQ&Şó¬°Â ©%&O.®"´ä’K¤Ö­˛^ýő˘çw0p úÓeŮ˙šM6Ů(m·Ý¶iÇÇÔúßâ óř˙V(Zń¶áZýőj^Ł6Ę‚E±|¸ţúľť_g˙ţýł•oľůvśŤ}ł0•†^şfßúz~ÚŰożťU\ŞŻ_l»óÎű]QűĐÜí.­ú·öÚk×üoým>ěá¨ŃŁGeŐŚrâµ5{+­´bť×ű˙‘G~.?-Ź:ęآŕqĽ_ü� gôč­S{zřáűS%h­AäÂ?^xI~ťĺ‚9­ú ­ýŽ&jN¶ĄÝo°V_��@§“ű|ÎŇKŞsŮżţőoůóú2dHÖv#Î:âĎ–˝|8«ďş•cŽůbQű¨ĐóÍož?HŽ>ú‹µ‚KuůęWżRëŔű[ŚÎ@…˘RNSDP¨Đ¦›nRú qĐđë_˙JŃ´¨ÖSz€µÔ©§ž\öŔjař)D Ł0ô“sđÁĄľ}űćÇŁ \i:§Ň0ÝرcSĄęßż_ÍëÁQEÓb_ţęWż” =řŕĂő®+ľ—†~B„h˘RH„ţN;í”ôÇ?ţľ(ô“aĂBQ…«>ńúúĺ/Wg«Ć¸Ţ¨bR(J‹ŠŔ»ďľ—Źuí´ÓމŽ)WA*çÉ'źJ-őÄĹ-WXaDjm}úôIçť÷Űěů•ćʉr÷?üh:묳Ó~űţň—+Šţ'/Ľ­OfŐ‚r† Y&pŔgj­+zQy«pÝ…aĺ‘#WJ‡vhúÁľ[ł?žWúÉ)W}čĂ?JőůŇ—Ž­ú)w»ĂńǵÖuÄ˙ۨ€•ăőäŚ3NO-Uçő-żüňEˇźˇĄ¨ Xčý÷µú�€†´fx&Â?ńăş~TÓšˇź°?ˇł´ú��h˛Çű_ľ%T}âWëĄA€Ž.Bžxâ·ŇI'}??­°˛Î*«¬’?üĐF­+ĘŤąRŮyńëý}zM«xTÚ–-*+•Ű?B8…• ˘UP´ć*g©Ą–L+®¸BŁ®óÖ[oŻó „Âë "¨ŻťCTŹÖąŠQ1$Â#Ë/߸ \GŐAâő T´âZk­5ÓÓOÚNpâÄ ő®«±í±"„đÎ;醴ß~§ć€üűiҤI饗^.Ş˘JCĄ˘˝O·nÝę]&B<Ńv0·żúęk5÷cbÖÎ(”Vű‰°âŕÁÓ¨Q›gí¤rnżýŽ´Ď>{§–¸ăŽ;‹ĆŁZN[6•_řÂçÓa‡’Đ}ô±ě˙ca;­śřßrŢyĚö‰źüäÇů/ËK˙?Eć‡?üqŮë+ ú„řźX„ˉĘIń˙ë˝÷Ţ«Ů?&e·)n_©†ľLßpĂňď…Jow´ĎÜ`őË.{öŮżLŤµÖZk”ťľĘ*#‹ĆK˙W��m/ľ‹Ď2Ąź#bZüöU Áµ—�€&‰ S¦ĚÍŹđÁ”¬íE©ÂVXáżřeÖú*FÇůśĎ~ö°T—Ň"qÝ­ĺěłĎJ[o˝Uj®m¶©»´q´ýŠ”Ť±ôŇu$_f™âňS§NËúy7fÝŞ6mzŃ´e—Zv٨ŇŐŢ|óÍü´÷ßźśęR®’AΤIµ/wŰmw¤Ćř裏ť_T‰đĎăŹZé'ŕWbđgČeëśm˛ ?S¦Ô_íŁwď^őÎá…Óu×ý;=řŕCYř§Ąşľ°ě˛C˛€Aae]pŔţŮů{ď-.ąľë®;':®hőűß˙!?ţčŁ˙ËŰşBž ‰J4…A˘řzűí۶m_T¶Š X1„)S¦ÔĽ–<Qó\Ľ7Ýu×=Ů˙ČśřßÚhŢżvUąćţŠ0Ěż˙}CşćšëĘ†ŹšŁ®}˛ôvÇëN]•şš˘gĎžMš��Ô­\H§ą˘uxT3-÷ž¸Ž_˙ú·5ß ĚĎZŹ·†Đ®»ĂgVTü��:ťáÇ×hű0?żp/­ţU!J-mnöÝ÷€˘iŃf"ZSÔĺÝwß­uÝĹŚu·‹_篷޺©1ĘőéţtŢü´¨,Š2żsçÎI,˘ĘTađ'ÚíłĎ^©ŇÔWU§ÜŻňšëÚkŻK^xIŮý2ŞöD‹°¸-oĽńFjm;ďĽSQđ硇É‚?Ż˝özQĄłhÁ! :®#F¤Í7ß4 üäśyćYé’K.H hŇş¦Nťš]¶Đ¦›n\ó\\1µ§Ae•xb�Î7ľń­¬]eN„ĺrÁź–ü_›7ďÓŔó‡~Ž;î«u~˘’_„ď»ďÔ”Ý� #yřáűµµVđçÎ;ďNgź}NŃ÷ ąŕnZ\Ďyçý!őčŃ=í˛KË€Ó‚?^[<��@»[uŐUÓłĎ>—Ź@Ď–[nQ´LTűičĂn„x~ň“Őű«őXwˇŐV[-uçźAťóâĂwTjLË› &dÜËm‡hT(¬7¶’PTĺ‰ IÓ§Ď(¸®ńe—ŤëŹvA…–Y¦yízT4ţĺ/—µgBŃŞĐ“O>ÝčjVɤIëśűvˇĄ–Z"5G„.şčҢ×ÔŤ7Ţ0í¸ăŽiÍ5×ČŞňÄv;˙ü?¶Iđgë­·¬yM;?Íś9+饗Ҝ9sŇŁŹ>Z´Ü;ěUs˘cűú׿Vóš|tţ ă·ß~;}ď{'§łÎ:łŃáźýÄe /ń?ě+_ůrjm_|iQŰĐí¶Ű®Î_µF°)Bi…UŤ ÷‰e–)n%!¨ßţöÜÔTż˙ýůE÷}Ŕ€ţé ¬YßfYđ)Zý}ôŃGi·ÝZ'ĚXz»ŁÝ^]ď��€E#~”ÓPËí†Ü}÷˝éWżúuŃz"”óµŻ}% ůś{îďňóâ´µ*˙4ÔĽBDv¦Í~5ŃVźľ~��€EfÓM7)Źö…Hă€T}­3Ö\sÍtƧ§«®ú[Z{íµę\.*áÜńŻ6ŰlÓÔ<÷ÜóYŽśÉ~ř§-Ë"lÔ#Ú…<účcµ¦ÇAţ{hÚđáMk…T”zŕ‡Ę.•WâvŠ€Ws¬ĽňĘEăĎ>űl‚R#G®”–ZjÉüř¬YłŇ+ŻĽ’*ÍSO=S¶úWTyńĹ—Š¦ 6,5Gl _c×Zk­ôłźť‘µ:Znąáů°T}UČZ"Z+młÍ6ůńh3öüó/ÔܮNj–Óć«2¬ľújéŕ*š­öŽ:긬uWCb™ŁŹţR­e# Vß˙ô抶“ŃR.7\yĺßëý2ý˝÷Š®…­)GŽY4/öŃÂÖ`Ťuß}ĹďMâ=ÍqÇ“µL‹ĐO(ýźÚĄ˙ËcÝu=VÇ÷•tÄ_H?ţńOŇ_ţrEš0ab��Ú^KĂ3ńŕ/yvQeđűë[ßČ‚=QŮ焎/ú@®ňO†Z˘“rÚ$Kăg��@§łŐV[¤ľ}űćÇ'Mz?Ýxăňă˙űUe¤­żţzé˙ţďéĎľ8kÉŃЇĘn¸1[wN\ç¨Q›ĄE->€˙üçż,:đřąĎ}6}á źË~őźs×]÷Ô:8X—ßţöĽ4}úô˘i˙řÇ?kUďŘvŰ­‹ĆKKńÎť;·hĽô@|ÜŤ’Á…fĎž]ó%Á‹¦ 64m°Áú©9vÝu—˘ń¨Ú×[*Ş%ě¶ŰžŮÁćhsőŐ×ÔŰöŚÎ%ž»l°AŃ´±ct4Xúă/*ŞĆŻ ±OE@¦PsŰ`M›VüÚ0dČ2µöý¨ŔR.@ŘZvÝu§˘ń‡z8«ü“łęŞ«¤•W™¨ Ç˙Ő¬ÚMˇxMţĘWľ^3ď›éşë®Żů˙óf&‹!ÎÇ´Ë”kqu˙ý¦›nş9µ¶xďPčµ×^ËB-QQ§Pěwńľ!†B#G®”?ááhĂ•3uę´tůĺWÔşÎř_úąĎ}1vŘçŇřăl™\UĽ¸žÂJzařđÚˇľ˙üçż©µDkÄŘď ýîwçgŻ?…îąçŢôôÓĎdíFoľůÖěu(ţÇ��mŻĄp/Ľđ˘Zí˝"čSŘĘ«\ř'.sŃE§–P˝·a•Uź�� úôé“öŘc÷,¨‘­8vÚiÇ,śsË-·ä§ÇÇřPúŮĎÖ¤ÂńköK.ůSŃ´Ýv۵(pÔRQ±çá‡mpąĂ?$kK–ó·żý=;¨–3xđŇiżýöM={ö¬ąź‡§?ţńÂüĽ˙űż_ĄM6ٸÁŰýúëŻ×\öói÷ÝwËÚyĹ/ůď»ď˘ebý»íVŞéÓ§oÍÁĎŹóă˙ú×őŮ´UVY9­¶ÚŞŮ¶żě˛+ŇřńźV@?Ľ{ÍÁÔuł§˙ţ÷˛V/…Ž<ňsÍîďŹó–[ŽÎ·i‹/ N8áÄš¨‡dŐ˘âˉ^x!ýőŻËn{ Ď?˙|4:đŔ‹ŹhWu÷Ý÷äÇźxâ©ěµ˘5ĹÁ÷¨hUźŘGGŤÚ<5×m·ÝžíCńĽŹ�Đ}÷=… Ť±|Zk­5Ss”¶Ý‹}ë–[nÍZ,F5“h˝xÁ× µ¦µ×^;«.ôŢ{ă˛ń˙»8\QřE$_oĎ<ó§é”SNKŹ<R{ě±Çłˇ©âµţ§?=3;żÇ»ĄÖÖř|âÄOŰQŢzëíY¸6ZÝĹ˙ŕ·Ľüň+é¦Ôş|á˙•ř˙sřᇵ»đ‹Ó[o˝•vÜqLZb‰%˛PÓßţöĎü>Ü5íż˙ľůuÄu“Ď:ëěôťď|;­°Â4yňätýő7¤?˙ůňÔZâ:?˙ů#ŇŮgZIđĹ_¬™vTÚwß˝˛ŰýÜs/Ô =EKĹh=��´˝–†g ?ĎäÚ{•ű¬ť›VŘö«Ügˇ¦üiXGţh��4ËQG™nşéżůVq�,~˙‹_ś™Uµxě±˙Ő¬Ű5rČ5­—iŇşăCëŹ~tzÖŢ#'B/QU§5ŐŐöŞTT'Ę"@sńĹŤ/}éŘěö…C=8 ĺPĆvůĂ.L'žxBťëŹ-]sĐňĺzsĚQµZ­łÎZEˇžh•ŹĂž{î‘N;íä,ptĆ?N_ýęńůj@QŤéß˙ľ!ĘŮa‡í˛ SKśzęÉéČ#ŹĘ?†qÝ—]ö—l('nç÷ż˙ÝÄâ%JŠ@XĽ¦´fŔŻ1UpVk^đ'BCĎ<ó\z饗łˇś\iîÂ_ä5Ĺ[ŚNçťwAÍ~4'ź7onúőŻ› … 9m!^ ˙üçÚűpŹ=ł× *K˙ţýÓ9çśťUŽůç?ŻŞ·}V9ń|Ţn»m˛ö[ąjmmţ‰Vv?ýéOŇ7żůí˘öYQQë™gęo%ąűm·Ý¦hZtă=Jaŕé–[nˆşśt҉iŔ€ůń]vŮ%]qĹ_óă.<ě°#Š.•…ćĚ™“fĚhť–_`zä‘G‹BÁR* 1ęׯoúÁü_�€öź‘âóKsÚ ZzéAéŘcŹIŰożmťËDř§gĎ^YĄź–†~â67÷űŠVŮ•ęÔA©ř��tJ Ę~5•~râŕ_´¬ŠĐGs?0ĆAĂßüć÷µŞÝqÄáYű©E-zm¶Í*{íµg~<Şoü×k¶ÁóÓ®ąć_ŮÁǵ×^«ě:ăW5ÎůĘWľ–¦Lů°ě2źűÜeOGůů¬Ai+ʍ�’łîşë¤ /üCÍŔS‹BBĺ~řaék_űrj©x~\rÉ…5ŰáGYŰ‘úDéç?˙iQ;NË/ż\z÷Ý÷˛ńÄü–Tßio#FŚHcĆě~ő«_— NÄqßý׊ć8p`úÎwNČŞŠÔŐo‹-FeˇsÎůMj+QŐíňË˙Zë~FĄŁÂP•#*˙D™ř=÷Ü=ťwŢůŤŞ‚ż<ÝlłMjţg}9«buŰmwdÓ¶ ˙¬·Ţşéüó—ílHŻ^˝˛÷(Ç{t­ęu1ţ˙wV¶ŻDű˛úD…ĂýÄ˙đBGý…ôÔSOŐ<ŠëŹ t„[+ř~ţóźeďł"¨Uźĺ–[.űżŻO��ĐÚFŹŢ:µ§‡ľ?UŠř,ĐÜŕĎÍ7ßؤĺ#T_8¨±â6Ó0Á�� ÓжQMŁ0Řń÷ż˙#Ť?®ć`×iM®ÚżäŹdĄˇź 7Ü }ń‹G¦E-n>ôĐ#ůń8xxŇIß®uPq§ťĆ¤ýëÚ4věŮx=óĚłŇe—]’d-gĹWHţó%éŇK/K>ř`úđĂŹ˛J@:řŕ˛6XĺD;ŻŘ\vŮĺéÉ'źĘ~ĺŘă`e|ŃżÚ Ńĺďż"ÝyçÝéÖ[oMo˝őNÖŽ¤oß>iČełŞ%űî»w«¶2dHúăĎË*ü÷ż7§—_~5˝˙ţ¤4oŢü´ä’K¤5ÖX=młÍÖY{3%…_Qő'ü Ńî«’‚?aÇwHÇÍÚE(aöěąiŮe—©ąo§Ď|fż4t販Ą˘jÉŠ+®®ąćÚôÔSOg!ÁîÝ»eűlr"pÇw¦¶A­Ť6Ú =ţřEÓŁ•-ţ—ś{î9é˝÷ŢK÷Ţ{_öż}„IŮkvUUuÖJjĄ•V¨ůĽaÍËŰe˙łr˘ThëđOü»ôŇ kľô$«Ř·p?ř Mť:-ű’»ŤńúaĽřT—¨Ň÷ýďź”8`˙tăŤ7e˙Ż'O~?k—í6WXaáz˘˝×’K.Yëňń?6ţżE…żxoíŔfÎś•UůŮlłÍŇ‘G‘­ŁµĹ˙ôoű›iżýöÉÚíEĄˇxڦOź‘ÝîŐW_-{|˘k®!��Đ~â;ą3f¤J"řÓ8ŤmĄŐĄ‘óş4â´K㹡kÁinčöÉ´n%ÇsçÎ{0��”ř裏ŇQG—ĆŤ+n/3dČ25ÓżöŢ{Ż:Ă.9q€đć›oMřĂ‹Ú{…¨ňÁ–¨ ÓY\}ő5éěłťŹűxíµW':§XU˛ÝvŰ«ěôÜ/ŃJç74˝ÔC=śN?ý§ůń\pÁů‰Ž)ޤÜzë§-‘âµ>B‹¤,x«‹°ŤSZů'Äó"ÚtŤł}��:ę7}úôZ•ą;ި\m ŰRĎž=¶¬9‰ŇÁS?9]P2TrZU0Tś–©ŽńúNKĎ—j°ĹŠ?��@§ż„˙ŐŻ~™ľő­Ó„ óÓ'Mz?ýâ˙—ţô§ËŇ6Űl“¶Új‹4|řđ´Ě2 ˘FŔ'ÂBń«ý{ď˝7[ľTbÎ9çěNúŠEEݍb‘+…ýÖ[oga)‹Ž'BšĎ?˙|Ń´]vŮąÓ†~hšş*˙ś{îo��€ĹFT@Ż”ŕOS«µ/Î��€NoäČ•˛Š'ź|Zľ˝UÎĉ“˛ 714Ĺzë­›Î:ëLˇčä˘eÎj«­–µČĘyë­·:hĺřÜsĎĄ—ČŞ3¶eëŃŁgÚsĎÝä” ˙ôęŐ;��ťGĄUŕiońăÔĚś93udqý§ń��€ĹBTţ9÷Ü_ĄK/ýsúë_˙–ćÍ›—šŁgĎžéłź=,kÖŁGŹ,ZkŻ˝v­*/묳NŮůŤ™^În»íśŢx㍴ćšk¤Í7ß,m°Á‰Žá?˙ůoşçž{ËÎ;äÓRK-• P„z÷…‹˙ă§ťvr��XśD¨fîÜąůęĆMT^Ví§iş´Âr]ĘśŻď´K㹡kÁinčöÉ´n%ÇsçÎ{0��4B´đşüňż¦[ną5Íš5«Q—‰›Ń2ćČ#ŹHÆ KťYT?:űě_çÇŁĄŮµ×^ťčś˘mT˘¨ŘrČ!‡§éÓgÔš7fĚöé;ßův§˙u ĘS���4G„~>účŁÔĹ8#üÓzöě±eÍIUÍ0ő“Ó%Cő'§UCuÁiéęŻď´ô|©úćeTü��;ÇOß˙ţIéßřZzđÁ‡Ó㏏M/żüJ?~\š6mz¶Ě€ýÓ°aĂÓꫯ–6Ýt“´ĺ–Łł–?�t “'–_~ů,Ě9cĆĚÔŻ_żě5{·ÝvM[o˝e���Ę‹`Í€jľ ť–:’¸MíúéLTü��€ĹŠ?PąTü�� %˘úŚ3RG?čiď^v–Š?ť»Ţ1���PŻ.]ű›  #±ď��ĐR´‰Ŕ͢¶(B?ť‰ŕ���,ĆşvőŐ�T"ű.���­!7ŃbkQ‰ëúiÍŃ���`1}Ó,X€Ęű.���´†^˝zĄnÝşĄéÓ§§ůóç§öźkű÷ďďóm+đÓ ���XŚůr*“}��€Öź3—\rÉÔ·oßÔÖâ:âş|¶m¶"���,Ćzöě™fĚ‘€Ęű.���´¶ĺôîÝ;Íś93Íž=;µ¦Xo¬_űęÖ%ř���‹±(ăż®jŻ2Î@ËĹ>ű.���´…ćD®éĚ™3'šűÝQ|†ŤVb1ü´ Á���XĚĹŻ­˘‡;Pbź��€¶Ať>}údCUUUš7o^6,X° Ş««ł!téŇ%â‡*1ôčŃ#„}Úžŕ���,ć"D0kÖ¬ě  c‹/O���hoŕÉUîˇc­���Rż~ýĐńŮW��€B‚?���@ęŮł§*"ĐÁĹ>ű*���@Žŕ���éßżęŢ]Wpčbߌ}��� ŕ���7pŕŔÔ­[·t±OĆľ ���PJđ���ČëÚµkZb‰%Tţ"öĹŘ'cß���(ĺ��� H –\rÉÔ»wď,:±Ćľ(ô���ÔĹĎ÷���€˛ú÷ďźzöě™fĚ‘,X€ö­˝úőë—í����őü���ęÁfĎžť óçĎO@۶^QĺGµ-��� ±���€ĺÂQůgîÜąY�(†ŞŞŞT]]ť€¦éŇĄKÖÂ+Â>1DŔ.*ý����4…ŕ���ĐhLčÓ§O����˝® ��������¨8‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*P÷��ĐTUUĄ ä‡ʎşş:?��@{éŇĄK~čÚµk6tëÖ-?Ä8��Ŕ˘&ř��,2sçÎMóćÍKóçĎĎÂ>��ĐQ†ĎË˝WŤđO÷îÝSŹ=RĎž=��Ŕ˘ ř��´«úDŕ'U|��¨TąJ•sćĚÉŞEř'†��´Á�� ]Ěž=;;(˘˛��ťMÚă˝n Q ¨WŻ^©wďŢ �� ­ ţ���m*?1TUU%��čě"č>sćĚě=p„€��€¶$ř��´‰řµó¬Ył~��X,Ĺűŕ\�¨Oź>Y ��€Ö&ř��´Şř…s~ćÎť›��`q 3f¤yóće h��ĐZ��€VU~âWÍŐŐŐ ��řTă#üÓ·o_Ő��€V#ř��´Šřs��€ň" ď›çĎźźúőë—���ZJđ��h‘ÂÖ��@Ă"0ďŁ#üÓµk×��Đ\>Q���Ͷ`Á‚4mÚ4ˇ��h˘xďĄă=5��@s ţ���Í’ ý8P��Íă=5��ĐR‚?��@“ĺPD{�� ůâ=µđ��Đ\‚?��@“ĉéÓ§ ý��@+ń��h.Á�� IfĚá×Č��ĐĘâ=vĽ×��h Á�� Ńâ@ÄĽyó��Đúâ˝¶đ��Đ‚?��@ŁĚ™3'��€¶ă}7��Đ‚?��@˘íŔĚ™3��Đöâ˝·öş��@cţ��� š5kVŞ®®N��@Ű‹÷Ţń�� !‚?��@˝˘ÍŔÜąs��Đ~â=¸–_��@C��€zůĄ1��,Ţ‹�� ü��ę4{öěTUU•��€öďĹă=9��@]��€:9Č���‹–÷ä��@}��€˛Tű�€EOŐ�� >Ý��@sćĚIíí˝÷ĆĄx0Ť;6MžüAz˙ýÉŮôe–ś^:mĽńĆi«­¶LË-7<�Ŕâ"Ţ›÷îÝ;��”ęŇ Ëu)sľľÓ.uŚç†®§ąˇŰ'Óş• 1o`śÎť;ďÁ��´ŠyóćĄiÓ¦Ąöňć›oĄK/ýSzřáǵüĆoŽ9樴ꪫ&��X 0 őčŃ#��­ŁgĎ[ÖśDŮű©źś.(Ş?9­*Ş NK‡TÇx}§ĄçKŐ7/#ř��Ô2cĆŚv©řł`Á‚tÁ§ëŻż!UW7řůĄH×®]Ňľű;îčÔ­[·��ťYŻ^˝Rż~ý��Đ::Kđ§k��(1wîÜÔÖ¦OźžN9ĺ´tÝu˙nrč'TUU§kŻ˝>[G¬ ��:łöxŹ��T��€"q@ˇ­4Qé';cÇ>UkŢ&›l”¶ŰnŰ´îşë¤Á—ΦMžüAzć™gÓ˝÷Ţ—ü‰Z—‰Ö_?űŮ*˙a˛W_}-k[·úꫥîÝ»'�€J׿˙ÔłgĎ��´śV_ĺç ţ��@…kŹ6_çźAVé§Đ +,źN8áYŕ§>Ď>ű\úőŻ“Ţy罢éűďżoúĘWŽKí-¶×+ŻĽšŢ~űí4uę´4{öěě`L”1bů´Új«¦%—\2ń©oĽ)Ť7ľf» L|Pj ˙űßăiěŘ'łó«®şr3f‡´¸şč˘Kł ÔZk­™¶Ůf«&ĎoO/żüJşűî{łó°_ZzéĄ�đ)íľ�� őt–଼<��EćĎźźÚŇ«ŻľšţýďЦm¸áúéG?:µQ1"ô›ßś“~ň“źĄ'ź|:?ýúë˙ťvŮeÇ´Ę*«¤öňä“OĄ±cÇÖlłŞ˘éłgĎɆ¨TôÔSO§uÖY+Ť5*uíŞŰr{‰VÎÇOMŃŐW˙+M™ňa:tHÚgź˝�@CÚú˝:��Py|ë ��äUUUem¸ÚŇĹ_Zs=źţH!*ý46ô“Őt~řĂSŇËĺ§Ĺ:ŁrI{yôŃÇj†˙eˇź®]»¤W\!ŤµiV1eÓM7ÎĆ»té’Ý®gžy>Ýu×݉öŹÁđáĂŇ!ˤ­¶Ú2�tń^=Ţł��ä¨ř��äµučç˝÷ĆĄ±cź*ší˝šÓ® Â?qŮOü^~Z´vŠëXnąá©-M™2%_mhŕŔţi·Ýv-ŰÎkęÔ©éöŰďĚ*˙ĽöÚiĺ•ßL#G®”h{L{íµG�člâ=»J’��@ŽO��@^[xŕÁ˘ńM6Ů(kÝŐ\ë­·nÚxă ‹¦=řŕC©­˝üňËůó;î8¦lč'DřdçťwĚ*…W^y5�@K´ő{v�� ˛¨ř��äµőA„±cÇŤo·Ý¶©Ą¶Ýv›¬Ňϧ×ńD:č R[úřăiŮiŹÝŇ2Ë,Sď˛ ČZMÍ™3'őîÝ»ÎĺbŰżôŇËéő×_Ď*Íź??őęŐ+-»ě˛iµŐVM+­´bÖ:¬>3gÎL/ľřRz÷ÝwÓ‡~”ćÍ›—úôé“–Xb`9rdZsÍ5R·nÝĘ^6Ú¤UWWga¬Ť7Ţ(=˙ü ŮíůřăXĎ‚tŘag÷ĄĐ´iÓj–{ľćúĆeçă> Đ? 6<­µÖiđŕÁ©1âv?ýôÓéí·ßMÓ§O«Ů®=łËF(lÄĺSsL01ýűß7fçwÜqű´Ę*«¤r÷7Z‚Ĺý?~BzöŮçŇűďżźfÍš•m·ĺ–[.m°Ázu»r&Ožś^xáĄ4nÜ{Ů} QĹjřđáiýő×Ë`9'NJ×_CÉmť”.Ľđ’üřľđąÔłgϢeZňض–Ř.±ŤŢ~űť4uęÇY»~ýúćď!C†4¸ŽŹ?ţ8[GTćŠÇşk×n5ŹőŇ5ŹőşŮsĽµÄm|őŐWÓ¤I“ŇŚ3k¶M×Ô·oż4tčĐ´Î:kĄĄ—^şěĺâőă˙[ř:uÜqGgŰůé§źIŻ˝öZÍíť^łžîŮăąĘ*±Í׬ő8µözrâńîąçłűűZĽ>Äă?tč˛5Ű~­¬­�‹Á�� ŕ��WUU•ÚҤI¤ÚONTý)ľŽI©­őč±đŁTbr!‘ú¬µÖšőÎŹ ŔÍ7ßš¦Lů°hú¬YłÓ›oľ• ÇÍŞ Őu](¸ďľűÓÜąó‹¦Gč!†qă&¤^x1í±Çn©oßľőÝśtŰmwd×YźEuĄú裩Ů×µŢzk§ŃŁG×XŠ ÍţóßšŰ=/?mţüŮéťwŢ͆Ť6Ú m¶Ů¦©-=ńÄ“é±Ç/š6}úŚ,řôÚkݦťvÚ)­°Â˛—}ě±˙emß"DT(·"¬3fĚiĺ•G¦ćjÍǶąĆŹźn˝őö4gÎܢéS§NŻ^ζպ뮝¶Ř˘îÇ;¶Ĺý÷?Pňś©Ęn Š~-1wîܬ˝Ţ»ďľW4}Á‚Şšy×<&g·u‹-F5řúëŠđXá~9ţÜšçěälxć™çŇn»íRg¨µÖűâ]wÝ•˝ŢŠÇ>Zưţúëdű�‹‡¶~Ď��TÁ�� Ż­"|đAq°e饥–Šj!…&Ož’ÚÚ#Ň«Żľžťżóλłv^ Uě¨KTŠ 0q?¬¸â iäČ•˛€O‚"¤©FÜrËmiď˝÷¬UŮ%2wŢyO>‰ĐĹŞ«®’UbłfÍĚnë[o˝ťîľűŢ, R—W^y% s,»ě´Ć«gUI˘şHaµ˘gžy&=ôĐŁŮůž=»gÁ¦Á—É®ű>ČB(łgĎ©YîůÔµk×4jÔ¨˛×żVżăŽ;łe6Üpý¬zRUŐ‚šűó^Ö-îĎO<•UÎYnąá©-Ś7>FŽ\)­łÎÚYŢxL^~ů•ôěłĎ×Ü÷Şt×]w§C=8«ŔT(–‰ŰěźÖ_ý¬RQÜîI“&f•¨"(s÷Ýw×<×—JK,±döś?ŕ€ý˛Ë\sÍuŮiTŽÚgź˝óëíŃŁGţ|k>¶ÍŐ“"śťîÝ»¦ŐW_= 6,»ť~8%=÷Ü YP*¶WŘrË-j­#ŞďÜ{ďýŮůh}·ĆkÔ¬cŮšőő¨ąíS˛ YTČiIŐźŘF7ß|KVA),±Ä€ěą9hĐÂרĚUwâąůĐCŹdĎ·xž×%‚N±]ŁšRě QÝ(*ďD+îsěł7Üpc:č ł Om±ž¨¸uűíwdŰ>öµ¨ŚűBlűŹ>ú({ţE¨§ź~®ćą58«@ç'ř��ü��ňJ«–T‚Ú·ąíďC„/^zéĄ,Ś-‹ţö·dőWYeĺF··ĘyđÁ‡ł˙ę3fűl…"¸đŔf�Ek­őÖ[Żh™gžy6ۨŘcŹÝkµý‰6W÷Üs_"ŠJ(&J9ú‰Ę-ĺÂ!ÂŹ>úżěü€ýŇŢ{ďUTĄ%*ŰD{«nřOv@Âj«­– Şňš6mFÎ8đŔĎUމŰŚűî{ ŹGmü)­–-ÍâqěŢ˝{VÍ'Â;ŻľúZ *Ű=ôíŰ'íż˙~EÁ ¸ýË/ż|şöÚëŇ‚Őéő×ßLm´a¶Î\e—A–ʶQŚ×UíĄ5ŰćpÖ=÷Ü“Oâ~F°¨đ±ŚŇÚkŻťnşé欍Y„V_}µ˘ý ‚T<đPv>Â+{îąGQ‹ĽűDőťXGC•¦ę3a„¬‚NîvE Ż0$·üňËeŻ«ŻţWVčąçž«7řĎŤm¶ŮިbW<ףĄY´7‹ĘXQ…)îŰ.»ěÔ&ë‰]®BŇî»ď^t{cݏâŠ5ϱëłJF–üX<Tâ{v�� ítM���źhëQő¤Đ´Ľ:Oé:ÚZ„tvÝu—¬zG`ČSO=“ţőŻëÓ_ţň×tçťweN˘ĹO}˘ęGJB„OJC?9Ń>)2!Ú•Š0ĆîźvŰm×ZÁś&ĺäÂĺD5’ŃŁGŐ9?®?BaĚ1e[3E�f»í¶IK.90­łÎZő¶úÚj«­Ę¶§ŠÄRK- °Ś÷^j+={öH›m¶YŮyÔ‰ŔÍÂŰ0ľÖüiÓ¦f§b)­–Zj©´ďľű¤#Ź<"[Ws´ćcŰoľůfúřăiŮům·Ý¦l€+ŞĎlżý¶ůmUúŤçx®EXlëÂĐONTĚÚa‡O×ŃQ…čóź?"í¸ă5ëÚ®Ve¬°ÄKdË…h3WźhŻWW›ľ+E�0DXiĆŚm˛žâ…L• )ŶŹ6a‡~H›T{ cü�� ţ���ym}aČâţąŠ)-­{ E••öÜ#Üň™Ď움zőZŘękÖ¬ŮYűĄhĎtůĺW¤»îş§ćŕýÔ˛ëxýő7ňŰ<ZřÔ%ZaEŐś-•˘ęN©dDE“ştëöéÇż¸Ťu6lhv}ĺÄm}ýő…-Î"„P_µ”w|đAYĺ Ŕ”-®ę«äQBTC‰vcm!Ú• ¤´đ1ÎÉ"¤UŞ_ż…ˇ§ńăÇ•}LBTňin¸śÖzl›ăµ×ŢČN#xUtꚡC‡fçß}÷ݢyą*>Ń&¬0¤T{KćC9ÍŹYčʱrrŹwCŰ*·ĎŐeÍ5WĎźăŤ7Űd=Ä ±D°śhÇW.€@ç%ř��Ňę ��h7oĽq;ö©üř=÷Ü›vß}×Ô÷Ýw_Ńřú믛ÚS´Ű‰�жŰnťU[yď˝÷Ň;3&L”µč‰ö;Ż˝öZ5jłZ-ş «E°ĺăŹ?®ózz÷îť?m}–\˛îvNQi(ZHM›6-Mź>=Mť:-»M9ŐŐUu^¶GŹşC*QŤ$WąĄ®ę3M•~ę«­ĄrbűD›¬ÖV¸]ëž?5Í›7ŻÖĽhOíČ"”íŁ˘ÍŮ#˛@T„1ÚBKŰć2ĺě´gĎ^ő>?Cź> ·ejâvćOąËE«®UNϢ}^k˘ş‹ý%¶×ŚÓÓäÉSňëoh[•kĎ˙4řVß¶iÉz˘RP®ÝW„ _|ńĄ¬˝Wě«o˙���`ń ř��äĹAä¶üńV[m™.ľřOůń±cźĚŞţ¬·^óÂ:Ď<óLQ(n´ŽZâşă� ŃÖ)*ÄĽňĘ+é‰'žJsçÎK=ôhęÓ§OZuŐUó—)¬"óŹ\ťköěÚ•J˘âĚłĎ>—…@¦M›‘ÚÂĚ™łňç[ŁÂHG-´ä6D(#‹±cźČÚźEĄ§B„––[ną¬TKCRíńŘÖ%÷ŤP[SźŁąŕϬY ź7}űökđrĺÚľ5EUUUzůĺW˛öb“&MLóç7?ŐP(,BLŃ*.öďÂ}Ł5×áž]vŮ9 IF jܸ ٶ˙šU8ŠvauUę óü�� ţ���ymü‰¶NoĽařÉ9÷Üߦßüćś&I˘‚ÇŻýۢim´~˝íÚS6Ř`4räČôŻ]—Ô˙ß˙/ ţ4w[—¶˝Š Ă˝÷Ţ—UÉYrÉ%˛öKöOK-5(«@săŤ7%ZW„ĽV_}µ¬˛Ó»ďľ—ŢRš7oAŕi1ŚąR3fű«Ý”ł¨Űćľ,X° ÜÚRC"¸Ó\Qeč?˙ůoRʉ@ÍŇKJ ĚÚ¶E şäĺZő)JoďÂeę;ţÚŇőÄkÚˇ‡śµ|űí¨&6ᓪJóÓ;; O>ůTV=mŔ€ €ÎOđ��($ř��äµÇA„cŹ=*}íkßĚŢyç˝túé?M?úŃ©Ť˙Dč'.ó¶ęÚµKúâż:šeD5Žçź1Mť:=«„’«�’«n•;ľđ…#SsDű­\0¤WŻži‹-F§•VZ1_m%'¶YK¶ŢŠ6S,ÔŻ_ż´á†dC„ą¦L™RóÜ|7=űěó5ŹĎĚôĆo¦Ç{,Ť=şIëmĎǶ.ńG•ˇW\!íşëΩ9˘ŇŐôé3őś)¬‚ŐTŹ>úX>ôłňĘ+eˇ¬Ą—^şÖrŻ˝Öpč'ÄcWßkŇś9sň…â>¶ĺzzôč‘UŹŠ!D łńă'dmŔ&Mz?kgvűíw¦ý÷ß7Đů ţ���…Ô��ňÚŁUĚ*«¬’öŰŻřŕôSO=“ľńŤoe­»Ë|ó›ßNO?ýlŃôŃŁ7ĎoK“'OÎŞ«ÄÝ›Ş°˘É AKf§Qą#Ú95GT™É…¨¶Ýv›¬úLi0$D5”–Š€KP¸qă\ľ1•N:›8a“¨ötŕźI}ú, y˝ňĘk©©Úó±­KT “&Mjv…ŞĄ–Z*;ŤPNiµŞRQͦą˘N4h©´ÓN;– ý„ĆnŻńăëŽÇ㓳ä’K¶ůz E 0^ďöÝwď´üňËeÓbű6÷u€Ę˘˝#��PČ'�� Ż˝"DŐźhůU(Ş÷śxâ÷Ó÷żr֮筷ŢÎŞÄçcZĚ‹e +ýä<üđŁéöŰďHm-*wDč%†gžy¶ÁÖDóćÍË*ľ„¨ě“«ňV^yĺüůgžy®ŢőDx ¶Cih!ÖźłÔRu‡Ţ|ó­ÔRjÉÝć‰'eC]˘ęÍe—]ž=nŤ Uš¨Ň­—|đˇ¬2O9˝zőʇOĘ…MrżÖŻ+OÓžŹm]VYeáă­Ą^˝ţJ9Ż˝öZV…¦4đUŠÂ‚Uéů矯óň|đAÍĺ'¦ćĘmăh…Vß2ăĆ˝—ă…^¨7ĽűNî>¶ćzâ2 Šď˝7®ěeă94|ř°üřś9m ăü�� ů„���äuëÖ-µ‡¸žÓN;9m˛ÉFµćŤűTúÍo~źŽ=ö+iżýʆ8Ób^]˘2ĘŮg˙şÍĂ?Ѧ+Ú…hŻsÇwŐYA$ÚńDđ%Ba­µÖ,š!˘UW]¬ęAĎ=÷|ťëąőÖŰÓ-·Ü–ţţ÷…–XâÓCQʉĐŔ“OÖ˝íšb˝őÖ©yü~”Ľë®»Ę¶oŠPĚ]wÝ“µ/ŠĐO®JPgÁ¦h­íĽ}ôe—ůđĂÓĉ +ŘäŞŢęŮłGvZW ¬Özl»u[0š;wN“珹R8pa›Şűî{ Î°W„Űî¸ăîtĂ ˙ɶKˇĺ*E%ÂAĄ˘^<gš[U(äŞĺÄúă9X*Ş ÝyçÝY…­ĆgqźËݦÇű_Öb+ŚąRV «µ×Ëßzë­5Ż{OfłrŻ3{őŐ…Ő¤˘Ýa}ˇ'�:ŹözĎ��T†î ��ŕíy!p˙ô§§§‹.ş4]wÝőů–FŤą·Ür‹ôĐCg•DB.ü˘ŐO[5jó,�1cĆĚ,đđî»ď¤VX!«îŇ˝{÷,tóß{ďÓVMŃ~hŁŤjť¶ÚjË4aÂÄ4}úŚôŔeUUFŽ™µň‰őLžü~ ŠMŘlłM‹§ĺ–ž č—… ţ÷ż±YŘ$ކôîÝ'«–ôÎ;ď¤×^{# |řaËŰ�E¸bóÍ7«Ů©S§§«Żľ&­ąćiđŕÁYő‘>’ÝŢ\ĺ‘ 7\żÎ–K•lčСiŮe‡dĎW^yµćń›–V[mµüăź_|)Í›·0¤µŃFÖZDzË.›U¸‰çŃ˝÷Ţź=nľ‰ŞJńKţÖzl ÍçťwÓ«Żľšzôč™V\q…FÍŹçó;ěn¸áĆšŰ6/;9rĄ4bÄ,ŐŽâyţúëo~˛|×´é¦]´'‹çy‚âyüź˙Ü”m«aÆfëŹŐóĎż=gÖYg­ôÜs/¤ćçaěw´»ćškłu ´tV•+®ăĄ—^Ęžł±˝"´×ŐV[5˝üň+Y{żh«5`Ŕ€l»Ç6š0aŇ'÷­GÍ}ۢMÖŰfťuÖÉZ!ĆăóŻ]›Ö^{­¬ýZ„‚>üpáv‹çGyQe €ÎOđ��($ř��äµ÷A„¸ľ/ůŘ´óÎ;¦K.ůSnhH„K6ÚhtÔQ_H«ŻľZşűî{ÓYgý_»†âŔýŢ{ďYsÝ÷dî#ÜŚʉ°Ć6Űl• JĹúýöŰ'«čˇ…‚”kwA§QŁ6«U5("»ě˛sVYhöě9eoÇK HcĆlź®ąćşÔÖ[oÝě±[X…d~zúéňmʢ˘Ó&›lś:Łxî´Óôß˙Ţ’¦Lů°ŢÇmôčQYX¦TlÇ Eđ'BB1„¨ôłĚ2Ë´ÚcĎ™|8 îÜyç=Ů´> _!§ˇůpÚkŻ=Óm·Ýž…jęz®÷îÝ+ŰçĘ˝V^ydÚn»mŇ}÷ÝźíŁ/˝ôr6Úb‹ÍkîĎ’-ţÄvŚ Ý#ŹÔ®Ä4jԦټĆ6ß|Óšű;+k·A·Rýű÷K»ďľkQűľÖ^Ϧ›n’…«^}őő,´ôđĂŹ•˝ŽUW]%{ž°xü�� ţ���y4 …­¤ÚC´:óĚ3Ňřńăł�ÂرOdđŁBF„"ÜF˘ÍÔV[mUs~ůüe·ß~Űě´˝Ă?QŮeź}öÎŞ¤DŐź &d÷ŁőN„yâ ţđáCÓĘ+Ż’'ęËî»ďŢé­·ŢÎÂ}ôaN–ZýűHË-7,«ü×YN->řŔôôÓĎdëę3Q$*ąDŕbýő×kőÇ4Ş‹,żüré…^¨Ůďe×Ű?B Æ Ż™żfV¨3‹ŞUźůĚ~Y5—hĹőÁdŐ~˘RK´q1bą´ÖZkŐů¸őéÓ' }Eŕ-Ş÷D»«=zdŹ}Bk<¶ë¬łvv™¨Ä4mÚ´lŹŕK.ŘÓĐü0tč˛éĐCţäľFeZö|ŹŰ»ÔRKfŻâ9Q.Ü–Őnb=Ď>ű\Ö˘,îK׮ݲçɬźí×ożýNj‰m·Ý: ÚĹ}™4iRöxÄmŠęJ믿nÍssXzŕµ®wí¶Ű.5·÷ŮšűýjÍ}ţ¸fŰtĎĎUV™=¶q˙Űr=ńXŚłCͶ[#«XŐÁb»G ,^7†– Łz�‹‡řßďŮ��rş´Âr]ĘśŻď´K㹡kÁinčöÉ´n%CĚ‹oP»Îť;ŻqßÜ��őŠęq°ĽŇ”Vţ qpü”S~UŰhH„s•ÇŽ8â°«ů´őz� TĚ#| ��´\Ďž=¶¬9‰/”§~rş d¨ţä´Ş`¨.8-Răőť–ž/UßĽŚź���ESÁ˘#ŠĘ?ßűŢIY•śś¨üó‡?\�� 3¨Ô÷ę��@Űü��ŠD[śhMS‰Ę…z÷î•�� ŇĹ{ôúÚj��‹§î �� DP¨Äv_!Â?˝{÷LçźAö‹čOüV�€J'ô��”#ř��ÔRÉÁź0zôčl��€ÎBđ��(G«/�� –¨”Ó­[·��,zńŢ<ŢŁ��”ęŇ Ëu)sľľÓ.uŚç†®§ąˇŰ'Óş• 1o`śÎť;ďÁ��´šŮłg§™3g&��`ŃęŰ·oęÝ»w��ZOĎž=¶¬9©Ş¦~rş d¨ţä´Ş`¨.8-Răőť–ž/UßĽŚŠ?��@Yq`ˇkW��`QŠ÷äB?��@]|‹��ÔÉ��X´Ľ'��ę#ř��ÔIŐ��XtTű��â|�� ^}úôI��@űó^��hŕ��PŻ^˝zĄž={&�� ýÄ{đx/��PÁ�� AńKă.]ş$�� íĹ{oŐ~��€Ćü��Ô­[·Ô·oß��´˝xďďÁ��"ř��4J´Đj���Ú–÷Ý��@Sţ���ŤÖŻ_żÔŁGŹ��´ľxŻďą��Kđ��h’8ˇí���´®xŹ-ô��4•ŕ��Đ$]»vMýű÷ĎN�€–ó��h.ź"��€&‹_#0Ŕ ��hˇxOď­UŐ��šĂ·ô��@łäÂ?P��@óxO ��´”ŕ��Đlą=zôH��@ăĹ{hˇ�� Ą��€ɵ&čŐ«W��ďťµÎ��ZC÷��Đ úőë—şwďžfÎś™Ş««��P¬K—.©oßľBó��@«ü��ZMŔđϬYłŇÜąs��°PĎž=Sź>}´ö��Z•ŕ��ĐŞâ@F˙ţýÓś9s˛�PUUU�€ĹU´óŠŔŹ*?��@[ü��ÚDŘaöěŮŮ ��Ŕâ$?˝{÷Î��€¶"ř��´©ÜÁŽ˙D  $��謢fŕ~��€ö ř��´‹\�hŢĽyiîÜąŮP]]ť�� ŇuéŇ%őěŮ3zôč‘���Ú‹ŕ��Đ®â@H ýúőËÂ?š?ľJ@��T”¨ěÓ˝{÷ě˝m~���Á��`‘Éý*:TUUeáźÜă1DU Ü���í%Şř䆮]»fC„}rCŚ��,j‚?��@‡;˘5�����4Žź$��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������¨{�������€ ÔĄKö÷“Ӕޫłżźśv~‚?��������Tś.]> ü|:-ű›ťŻ^ Ň?‚?��������T”řäB?“&MN~řav~©Ą–JC† .©�Ôy ţ��������Pa&{"ô3yňäüÔÜů˙,\¦s'ş&��������¨ ąŠ>ąJ?…rÓJŰ€uF*ţ��������P‘,XШiť•Š?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T Á��������¨@‚?��������P��������  ţ��������@ü�������€ $ř��������Hđ��������*ŕ��������T î �`6mZÚyçÝëśßĄK—Ô§Oź4xđŕ´Új«¤-·Ü"ŤłC6ŤO˝ţúéđĂ?W4íÚkŻJÆ K•nź}öO“&˝ź˙Ţ÷ľ“ößż�����ŔB*ţ��Ruuuš9sfzűí·ÓwÜ•Î8ăĚ´ďľźI˙üçU©ŞŞ*�����ŔâNđ�¨S§NKçśó›ôś’ćÎť›������`q&ř�t(ŁGož oĽQZqĹSĎž=k-sĎ=÷Ą3ÎřY�����€ĹY÷�ĐAś}öYië­·*š6}úôtűíw¤óÎűCš6mz~úm·Ý‘¶ÝvŰ´óÎ;&������X ţ��Z˙ţýÓ~űí›FŤÚ<}ń‹Ç¤Ź>ú8?ď /N;í4&uéŇĄěeß|ó­týő7¤±cźH“&ML3gÎJN+¬°|Úm·ÝŇ;lW«˘ĐÉ'źšîĽóîüřŞ«®š®¸âϵֽ˙ţ¦ńă'äÇţóźÖ¬oű˘e®Ľňoé·ż=/?·ó?˙ą> 4(]}ő5éěłťź·ë®;§ÓO˙Qš8qbşôŇËŇ#Ź<’&Oţ -±ÄŔ´ćšk¤:0Ť=*µÔ”)SŇ˙{sV5i„ Ůö\rÉ%ŇСCÓöŰo›vß}·´ÔRK5¸ž‡~$ÝvŰíéé§źM|đAÖz-ֳꪫdá­=÷Ü#őéÓ§ŢuÄărŐUW§^x±fSj¶ËRi«­¶JGý…´ôŇK§ĆzőŐ×ŇŤ7Ţ”|lz˙ýIiúô©oß>5÷iXV9ę€öK#FŚH������ťŤŕ�P† –ľůÍo¤ÓO?#?íťwŢIO?ýLÚ`ő‹–]°`AúÝďÎO˙ű?j­ç˝÷Ţˆ‡z$]pÁđô‹_ü,­ľújůů<) ţĽţúëiÚ´iiŔ€ůiř) ý„'ź|şVđç©§ž._k­µ˛ĐO9óçĎOďľűn:öŘ/§?ü(?=1<đP6|á źO_ţňq©ąţűß[ŇYgý_š={vŃôI“Ţφؖ]tiúÁľ—vŮe§˛ëĎi§ý8 픊 R ?ühúóź/OgžůÓ´ţúëŐZ®ŞŞ* D•>>'NJ˙ú×µéţűďŻylÎO ©®®Nçžű»ôĎ^•ť/4uę´lxůĺ—łůÇsT:ę¨/$�����€Î¤k�¨Qݧ_żľEÓyäŃZËEŐžrˇźRăĆŤKÇóĄ¬âLΖ[ŽN]»~ú)B*Ď<ólŃĺĘ…^ž|ň©ZÓ"HShë­·Lu™7o^:餅~JEćLÍŰ#BSĄˇźRłfÍJ?üᏳŠDĄâ˛Ç˙­˛÷żT€N8áÄl—şřâKë}|"„túé?Í\ő‰őüă˙¬ú)ŹaT‡*wź������*™ŕ�P1zôč‘6ÚhâiQ‘§P„;˘ŤUˇ•VZ)ťpÂńé´ÓNIűěłwęÖ­[~^´¨Š 6x Ńćjíµ×*ş|iĺžrÁ—W^y%Í1#?ţöŰo× ńD ¬şÜ{ďýéŤ7ŢH›oľi:é¤o§o|ăkiÝuשµÜ•Wţ=5ŐË/ż’Î;ďŹEÓ˘…XTŔůŃŹNK_üâ‘iŕŔEóŁ"O´Đ*ôŹ\U´˝ăń*Düăyé˛Ë.M'žxBęŰ÷Ó`ÖĚ™3Óĺ—˙µho˝ővͲ)š-ĐvÜq‡ô­o}#}ôÓСËfAިvT—xÜţú׿MŰlłMŇźţtqşýö›ÓßţvEÚ}÷]‹ć_tŃ%Ye%�����€ÎB«/� ˘,˝ôŕ˘ń¨,“•].żüŠ˘ů묳N:˙üߦ^˝zeă{îą{5jótĘ)§ĺ—‰[wÜqgÚkŻ=łń­¶Ú2=űěsůůĄŐ|Ę⺣ÂĎ[Ś.{™!C–)j)VÎÁ”ľýíoćÇ=ôt ßNŹ>úżü´'žx2 ˝ôěŮ35ÖWü5«(”!źK.ą0-żüňůi{ě±[:ę¨cÓ´iÓłń¸Ž+Żü[úáOÍ/¨/}éŘôÖ[oĄ7ß|;rČAEáš5ÖX=kŻ›śŇmuÓM˙­UÉç䓿—öŢ{Żüřa‡’ľň•ăł0U]Ţ{o\­ęEßýîwŇ#˛óýű÷ĎBM!*8ŤąRZyĺ•łÇ ����� łPń�¨(W¦™3gnţ|„b˘MTˇăŹ˙j>ô“ŐeJ+Ý|ó­ůóĄ•y˘Xa„ Óřńăóó"X”Söyę©â6_[nYw›Żá”cŽůb­i‡vhŃ´®|đÁ©±˘’Qi¤†~Bf"xTčî»ď­Ůľsňă›m¶iVčÇ?ţaúóź/®UQ'ôî]Ľ­?účâń¨lT(ކ~B„v˘âQ}zô¨ť_żţú‹N!Â?Qéé#>[ólѤŔ�����@G§â�PQ¦Oź^4^4yőŐW‹ćőë×7­żţze׳ŐV[dAˇś×^ű´­Őj«­šUčÉ…"ôóŇK/§őÖ[·č2Æ KŰm·Mzîą…Ő [‚EőźŇë«ĎŇKJ¬5}ůĺ—«5m֬٩±Ţ}÷˝˘đN�L9xşä’?ĺÇŁU׸qăłj9Ą"€4nܸôúëodA¨‰߯9˙Zzě±Çk-W¨04•»Îr6Ůdă¬mX܆r"¸´âŠ+fŐ‡r˘˛ŃżţumZwݵÓꫯ‘U Šóń8�����tF‚?�@EůŕÉEă/ť?˙ţűĹ•p† Y6«šSÎСĹaŹ>ú8«ÓŁGŹl<*ô\wÝőůůĎ>űlü) ÷l¸áúŮ´śçź!Íź?? «ĽóÎ;ůéQe&ŞĺÔ§{÷îMšŢXďż˙~­iË.;¤ě˛ĺ¦ÇĺGŽ\)?>~ü„tŐUפoĽ1këŐ±]JŰs-»ě˛e—ŤÇm饗®3ř~üăÓŇ7żů­˘ŰËGk´Âöh#GŽL‡zPÚgź˝S—.]�����@gˇŐ�P1"TSXq'¬ĽňĘůóŐŐŐ©ąâ˛…—/­ĐóĚ3Ďf§ĹÁź Ň:묝o•« ôěłĎ]vÓM7N˝{÷N‹BK¶IéĺăľöłźOW^ů·ZˇźÔ ><«ÔÓZşík­µfşâŠËŇ|&-±ÄŔ:—{ăŤ7ŇĎţËtę©?lńö������čHTü�*Ć]wÝ“¦OźQ4móÍ7Ëź_f™Ą‹ćMš41k5U®ęĎ„ Ĺ-§–\r‰|€'·Ţ^˝zĺŰd=÷ÜóięÔ©éÍ7ßĚ/!—¸LTýyüń±Ů´gžy¦Öm¬«ťU{2¤vź &¦Ą–ZŞěôş.ŰńôÓZTgÄéŕHn¸aZnąáYk®;ďĽ;ż-JĹü@Vý‰vaĺDČkňäÉ©!qűN:éŰéÄOHoĽńfzá…ŇóĎżµ^y啢eď¸ă®´Űn¤m¶Ů:�����t*ţ��aüřńéśs~]4-‚'믿^~|µŐV+š?cĆ̢ =…î»ď˘ńUW]µh<B?›l˛Q~|âÄIŮerc† ––_~ůěüčŃ›ç—{úégŇ‹/ľX´®h¶¨,żürŮ})ôŔ–]öľűî/Ź Îđá [˘˝ţúE!ťđ\rÉé ¬Ůî«fˆ™3g¤ú,·Ür%×ů@Ůĺ}ô±ZmÁę2iҤôŃGĄUVY9íµ×žé»ß=1ýĺ/J^ř‡˘0W;öÉ�����ĐYţ��ÚôéÓÓu×]źŽ<ň¨ôá‡Í;î¸c˛S9m´a2d™˘e~űŰóňU{rn»íŽZ ÝvŰĄÖu—VęąöÚëňç·ÚęÓ0Ď[|Ú,*˝ňĘ«ůń şlj+…÷?gîÜyůó}úôIŰm·MŃüţóŞôÎ;ďM‹ń«®şşhÚöŰo› EµŁBýű÷K·×ŠPÔM7ÝśęłÍ6ĹŰ4BR×\óŻ˘iq]żűÝůő®ç–[nKÇóĄ´ăŽ»¤}öůL:ýô3jµńŠPŘŕÁ‹¦őë×7�����tZ}�Ćwľó˝|őśŻL™ňazď˝÷ŇĽyój-»óÎ;fCˇhéőůĎ‘Î>űÓĘ@ŃúéČ#ŹN{ď˝GTyę©gŇ˙[N‰Ę=;î8¦Öu,¬Ôó«üřłĎ>W0otţüŞ«®’Ž&Mz?« Thë­Ű¶ÚOTŢ)uŃE§m·Ý6mşéĆiĐ Aé#>›µŕŠöYaęÔiYhf˙ý÷K#F,źŢ~űť,ÔTآ,*ĺ~řaůńe—-n6yňé׿ţmúěgMK/˝tzóÍ·ŇĹ_’ĆŽ}"ŐgŹ=vKW\qeţ¶„xĽ˘ÂϬź>ţxjşé¦˙¦÷߯żÍ× AK=Ź<ňX:ůäSł D´ŠçÎżţum­Vb�����č,�€ĺá‡mp™¨`sÚi§”ťwŕd!’{ďý´mŐ›oľYg™¸śqĆŹłĘ8Ą"@˛Ę*«¤×^{­húÂ6`M=ztú÷żo¨µŽÂĘ@m!nc„`"č’sűíwfClŁ=÷Ü=­ľújéë_˙J:÷Üßĺ—‰€Íź˙|yťëýĆ7ľ–šr˘E×ÚkŻťžţůü´üăźŮP(ÚŻ•V*´Â +¤#Źü\şä’?ĺ§EĄž{îą/r˘mŰĚ™3łŕW9›m¶iö<(ĽĚ]wÝ“ u‰ FĄŹ�����@%Óę �¨HßůηŇĎţł,°S—3Ďüi:ôĐC\ßđáĂÓĹ_ÖZkÍ:—)W±găŤ7Ě·ŔĘŮb‹Qµ–[rÉ%Ň:묝ÚR´úúŇ—Ž-;ݰ"NlŹýč´˛‚ E�ęôÓ”¨JýčG§f!ŁşÄöüÉO~”rôŃ_¬÷ńYj©%łőôí[[®źüäÇi×]wN ‰m´çž{¤3Î8=�����t&*ţ��R„5"„˛Ě2ˤŐW_5«¨łăŽ;4\ Ý»wO'śp|Úwß˝Óő×ßµźš4ibš9sV<xpZqĹi×]wMcĆl_o€(l˝őVé˛ËţR4­\źÍ7ß,»ŢÂV[nąEÖ~¬­í»ď>YKŻ«®ş:˝řâKYË®úg•t íľű®iԨͲVZQ)gâĉéĂ?Ę‚6C‡Í*čě±Çî5ăĺĂ=+®¸BúŰß®HW^ů÷tß}¤ńăǧ dź¸ěG^sÝÓĽ˝±Mâń‰ËüóźWĄ^x1}đÁ”ěvl±Ĺé裿† Ňŕz"|!Ą>(ÝxăMé©§žNďż?){śăţ˛lÚx㍲öbQő����� łéŇ Ëu)sľľÓ.uŚç†®§ąˇŰ'Óş• 1o`śÎť;ďÁ�������@§×µëÂčÉóĎżXvţÚk/ěřPUU]v~Ďž=â—ŢU5ĂÔON” ŐźśV Ő§ĄCŞcĽľÓŇóĄę›—Ńę ��������*ŕ������˙ĎŢ]ŔÉUźű˙ÎĚş&›dă„—$ÜĄPśRŞĐRęĄ÷뽵[»ĐB[(´´Ąw !žw٬»Ťü÷9é™ĚNFwg5ź÷ëu8:gÎHBö·ßó<���‚ţ�������������CÁ������������`"ř������������ A������������€!ŕ������������0ü������������† ‚?������������ŔDđ������������‚ţ�������������CÁ������������`"ř������������ A������������€!ŕ������������0ü������������† ‚?������������ŔDđ������������‚ţ�������������CÁ������������`Ę��Ŕ …������ô5ŹÇ#��€ˇ€ŕ��4ö������`0H6NE0�� ��Ŕ€!č�����€ˇ(z\‹ ��(��@żJ7ěC8������)•POä! ��Đźţ��€~/Ŕ“J°‡đ������‚…xŇműĺO���ô‚?�� OĹI4X ������ ±Ć±Ľ^oÜc"Ă>€��@ ř��úD*[ʵ-Őó%Ú������¤"^0'Ţöč×ě8÷ŘXa@�� /ü��—(ôăŚŘz pÖm9r{äq������Ŕ`ŕVúq<¶nË6÷ů|ݶŰW¬`„��@¦ü��“,đc“…}ü~x{ä<ňńń–S}^������ ™dAśX•{ÜíîŤkî16ĎĘĘrB@ţ‰ Ež���Č‚?�� #âµě˛ úXŕÇ&w» €äćć(;;»kÄC< x������`HŘ[ÁÚ¦€:;;ŐŢŢáŚ}utt8c\6öe“†��™@đ��ôJĽ*?nuř°ą±ÁŚ˘˘Bĺää„<������€ˇfo¸Ç&Żsc[AA3fÁźććçF8w˛ýn Ş˙��€L#ř��z,V•ŕ°ą~l˛u»ł©¸¸Čä�������†# öäĺĺ9“Ť‹566…oŠłq1›,ä+�Dř��ôÁ��¶Xw˛ O{{»s7“­—––v vä ������8PXȧ¬l¤ÚÚÚU__®Žť›»wśĚ‚>îd¨ţ��zŠŕ��HKdčÇ]v«üŘŕ……~lnw6Y•Zz�����ŕ@e7ÄĺäŚvŞ˙´µµ9ăhţ±Ö_nő�"ü��ŇAđ��¤,:ô9YŮb ýŘrQQˇ ������č,ÜSZZ˘¬,źšššŐÚÚꄬ*Ü á��Đ��@R‰Z{E†~l ÂZ{ĺçç ������Ŕ>vŁś×ësZŮXš±đO$Z�€tü�� % ýřý~uttú������’pÇÎ,üccjěÉĘęţëşČ°Ő��HÎZhý¶(Ľ��#YčÇţe6/.."ô������$ach6–9¶=î)z��ěĺţ/räČ‘űís·˙Ąâ��)YčÇ*üX‹/«ř“““ă”*������śŤĄµ·w8ÁŻ×ëTő±y$*˙��Śý.ËŁňňŃÎZmm­3·ĐŹ»mď1ĂÁ��’čЏ݉dÁ[1˘T�������Rgcj»wW8cln;’ČđA��sďa·˙eZĐg_Řgßţˇâ­ľ��Ŕ~˘«ýX¸'rźMnⲲ‘űÝŤ������ 1Sł±5·ĺWt›ŻČ19CË/��ö·ďĆőČmŠŮ>s¸˘â��HIdĹkďeSVV–ňňň������ }6¶fclîx[vvvř—”Tü� 5{˙×: ŞűÄÂíů�� ˇXŐ~¬ü°Íiń������ôŽŤ±EŽą%Şú��Ťŕ��HĘlÁćVzŘ&ë;ž““#�������=gcl6Ö掻EŽĹ��$Cđ��īʏ•¶yII±�������ôžŤµEŽ˝E˘ę��H„ŕ��HĘ-1ě>XźÔÜÜ\������č˝˝cmű‚?Ń-ż���â!ř��br"ěî"›|ľ,y˝ü3������Čkł17wüÍDŽË��ńđ;��Sô`‚­[ŹqSPP �������™ăŽąŮ\¬±9��€Xţ��€„Ü;‹ěNŁ˝Ákó•#�������™łwĚmďÍw6G»/��Š,��D‰P^Cňů|BďőtŕĆăń������Ă‹ŤąŮŘ[˘±9Ć…��@4‚?�� ®č`ŠŰ_ÜzŽŁg2q—Vô9đ�����úÜ17w ÎEŕ��$Bđ��ÄĺL˘Ë 3Đľľ,ËĚg�����0ôEŽë¸ăq¶Ťŕ��H„ŕ��HĘ –¸˝Ĺ‘şţ~żÜçc0�����`č±±·âăp�� ��@lHÇ@Î������Ş��©#ř��ĐËY€���������†/Ż���˘Ä ­PZ8u™zŻ2ůžóů����� ŚĎ�€TQń��$Ä€Bzzň~%zL˘}éVńˇú�����ŔĐbă9Śĺ��€Dţ���dHşˇźŢ†Ş"źÎ�F���������Ă­ľ���@¦+)ŮůŇ9'•ś���������†>*ţ���d@ŞAščă‚Á :;;śe·ŹĎçSVV–3Ą[ÍǤňZ�������� m���úItč§˝˝]1ŹóűýÎdˇśÜÜÜ>�ţ��������zţ���ôR*Ő~˘ŹillTSS“:+×É»öQův/”Ża‹Ô٬PN©#“ňą ~µr‹ËTZZŞĽĽĽýΛ,°“j¨‡đ��������ŔĐCđ��ÄTIµ•Ő&ÝĐŹ-WWW«¶şRů‹ŁĽ5Ę t;ŢÓ^+ďî…Ęîš‚+îQˬo«iŇ™5j”�Š čDž;^p'Őę?„������‡XcsŚŰ��€Xţ��€„üÄדJ?555j¨­QáË_Töî7’>ŢŰZ©˘9_RŰ1UŐqźtÚŤ=Z>ź/îs% �ĄţItގäß˙~D?ţńOăî·×XRRěŞN:éD]zé%:î¸éqŹż˙ţżé׿ţťłüĽO·ÝöE 'ß˙ţŹôŘcO8Ë·ßţM]}ő•�����‹±9�� Á��€čIčÇZ{µ·w({Ĺ=)…~"ΤĽ•VVŐ25ťńCµµµiěر1[E>o¬đŐö±×X_ßŕL7nŇżţőo]yĺĺúć7ż¦ěěl�������� v���Ňę]V±ŽknnvÂ49kROdUĽĄâgnTó?Ň˙ NĄš’’y˝Ţ„×/�t …¬˛Ď1ÇÝm›˝ľ††F­_żAζÇŇyÍßůη��������0Řü��HA:e•ckŰ‚Á®íŤNű®žrZ˝t«ÚŽ˙ś*Źü X±�ţI'ä“JőźáŇúëĐCŐoű«ű¬Ó˙ţďoÂm®lţÁľ_‡2M���������™W���ŘŹ^"§t—pż/_~ožzĂ (ńŻT8÷ëj¨Ü©ť;w†+ÖÄ»ŢDŻŁ'mˆ“˘˘"}űŰßĐŃGŢöâ‹/ ��������`°Łâ��8 őE%Y°&??OŤŤMÚS|ŠŞU˝•łýeůž]§ćłţGŰ;ŽĐ1cT\\Üí9Ł+ő$Şţs µţŠf“Î=÷l­ZµÚYßąs—zŁĄĄE=ô°ćĚyU›6mRkk›JKKśpŃ…^ K.ąHYY±˙)n×đˇ}ĚY>˙üsőÓźţXµµµúç?˙ĺśĎ®-+˧)S¦čŇK/ѵ×^÷\.żßŻ'žxJĎ<óśÖ­[§¶¶v••ŤÔi§ťŞ[nůĆŽ«t,Y˛T?ü¨3ݬ¬Rvv¶&LŻSN9Yďyϵ:č Éq{ÖYçw˝­]ň5wîlíÚµ[÷Ţ{źćĎ]{tđÁSôŕ��������$Gđ�� {}]­&Ńů#÷Y(§˝˝]Ç\«­Uұ]˝ĺkÚ®’>®ć™_UEđJ§ňĎČ‘#Ă­żb…u…‚bmO÷ˇĘ}ĎL^^Ď«2Ypç¶Űľćb"UW×hîÜyÎdA—˙ůźiÚ´© Ďeď÷š5kő™Ď|^uuőÝö-_ľÂ™ž{îýö·˙«‚‚‚稩©Ń—żü5­X±˛Űv Ů<účăzéĄŮşóÎß)@@?˙ů˙ę_˙úw·íťťťZż~3ýăęcű°>ń‰›»˝§±Řń·Ţú™ý^��������H Á��0,őGkޤm˝˘ö[bôčŃ7ĺP-ěüĽNŘó'Ťj]Ł^ó·©pÁ÷•µg©jNúŠSMĹ*¸X–Čë úO|özfĎž^ź1ă8őÄŇĄËôéOŢ x™ââ"Íśy’ĆÚ˝{·Ţ|s‘’Ů´ił>ůÉOëŢ{˙¤‰'Ä=_[[›ľúŐo¨ˇˇQgťu†Ž:ęH§zĎ‚ ĂŐ‰ě9ń‹_é;ßůVĚÇß|ó­Úşu[xŰ”)é°ĂuBbvŽŞŞj}íkßtÎťŚ÷Ę+sĂëVÁčĐCq^ÓĘ•«śç úăďqŞ }ń‹ź‹{. }ď{?tB?V}脎WaaˇS ��������¤†ŕ��6ú#ě“ęóÄ:Ć ËX;¤¦¦&˝ĺűŚ«yRÓęžW&än|\ľšwÔ|ÖO´­ŁCĺĺĺ***Úďš";„ö†c~öł_†4Gy„.şčĄËÎóß˙ýýpčÇZpYđ%˛Ďž={ô•Ż|Ăy®ÚÚ:ýđ‡?Öwü6î9_ý •”ëĎľKÇ{Lxű§?}«~ó›˙Ó}÷ýŐY·6^źůĚ­*++ëöř;ďĽ+úÉÉÉéşľďčâ‹/ ď·ŔÎ=÷üEwÝő§¤íͬµ—ú± ÎO~ňCťxâ áýö}xä‘Çş¶˙Ě ˙üőŻčĽóΉ˘rGźřÄÇőńŹT>źO�������� =��Ŕ7­ĽR=6r»Uâ9ďĽs5ţëz'tĄs&hzĺßä uŞ·˛ęÖŞäŮ›Ô<ëví^¨‘#Űť0H˘°ĎĐúkÇŽúíoďč¶ÍÂ)Äy㍅áVSçź®nżý›ájIé°Đ˶m{Ű·ť{îŮúÖ·ľľß1ĆúÍo~©k®ą^ŤŤMZ¸đ-'üb•sâůĘWľÜ-ôăúÔ§>ˇŮł_Ööí;ś×b!ˇwżűŇđţ–––n-ąľýíot ý{ťÖ’ËŞţX°'«ÎsÇżw–­rŐŻ~ő‹ý®Ůľvި¨ĐźţtŻłÍBEvl<W^yąóü�������� gţ��€!-SˇźLś'•ĐŹËgź}–V¬X©eˤ–¬Q:ˇâŹĘ Ô«·<ťÍ*zí[j;|‰jOř‚SĆ'YYYÝ®é@jýUQ±GůËýq÷[ĺÖ[oŃő×_§ââbőÄłĎî«Üdyâ1b„®ľú*Ý˙ßśőyóćÇ ţäĺĺé ϏąĎľC'ź<Ó ţk%éŐW_sŞękďuŮeďR<źüäÍzôŃÇť�Q,‘á(«â“(¨tÓM7čŢ{ďwÂBÖÚĚ®ÁŞ Ĺňž÷\+��������Đs^�� Q˝ ëŘc#§Lś'ŢţxŰ,(3}ú±N�¨©č0Íźř5ŐĺNQf„”·öź*šýiµVmŃöíŰť 0±®=z[Ěłő°˝ŮPa—;îř.żüj=öŘJWkk«V®\ĺ,——ŹŃ´iSňÉ'…—WŻ~'îqv®xˇ3aÂřđr}}C·}îő3Î8=a0kÔ¨Q Ă<ŕqťvÚ©JÄÚËY»4cˇłM›6Ç=vâÄ ��������=GĹ��0äô4`ŇźŐŇ ĐLš4Ń©ęňÚkó´Ŕű%[őMjZ LČ®\˘ŇgoTÓiß×®Ŕ,§íWii©Sá&ňšRmý5T+˙śxâ şë®;öŰŢÔÔ¤µk×éţˇ9s^Uss‹ľ˙ý9Ő‘"Űf%SYY^Ţł§R3gž–ňcÝJ:±XĹźD˘«8EŞŞÚwMś<P6yň$§U,ÖÍőüŘ™RUWWw_ä÷��������¤Ź‘v��0ěe˛ŞO¦C?î6 ä\|ńE;a˘–ŽľAËG˝_Aů” ž¶Zżňĺ.»KU••NĂď÷ÇĽŽT¶%{zű~÷'«Ncˇ ź˙ütË- o˙ŮĎ~ˇ¶¶¶”Ď“(Ü’LssłúBCĂľ @ö:“ItL}}Ď[ĐY ��������ô *ţ��€!%ť@IVJôTC5VÝĺśsÎÖ˘EokÝşZłĘtBĺ˝Ęf 8 (ůÝňUŻVÓißUGG‡ĆŚă<§[ˇ'VĄźx|†rőźxnąĺăzć™ç´}ű555ëŐW_ÓĹ_ŇcKJJş­˙ż˙w»RURR¬ľ`•ť\‘! xůúÎ:ë ťţyJŐQG)��������Đ7ţ��€!ŁŻB?˝­”îľDA k}tňÉ35zôh-\čÓĽěŻhfĹ]*ęÜ­LČŮůš˛žů šÎü‰vů§;ĎS\\ś0ě3[ĹbďýĚ™'9Áł}űö”[^>&Ľ\\\¤Ë/żlŔ_÷¨QŁÂË7nJzüćÍ[âîłËľźW\ńn�������€G«/��0$d:Č“Në®xŹËtč'ŇÁOŃyçť«`ńd˝6î6í.8N™âm©PÉKźTöŞTQ±G••• IŻ)Őm=9f°1—“)((Đa‡ę,766iÉ’ĄhÓ§^ž7o~Â×SQQˇµk×ĹÝüńűľsçÎ��������ţ��€a%YČ$ݰOŞAźčcăíK¶ÍÝn¬ĘеšQ>^oŤţ¸Vʏ˛kk†ŞČ:Tđö/Uřú©ˇzŹvíÚĺ´˙ŠĽžx×ëzSyo;ku5wîkáőÉ“'Ç=6Vć’K. /˙ß˙ý>aĐć׿ţť>úŃ[ô»ßÝ‘R5žž8óĚÓ•““ă,ďرS?ühÜc˙ű»~FgśqşŠŠ ťĺ·ŢZ¤ůó_Ź{lUU•®şę:}ë[ßŃ#Ź<&��������Đwţ��€A/ŐĐH˘ă,„á÷ű“NťťťÝ¦tŽO´?ÖöTŽÍÍÍŐ9çś­¦LÖşâóőfŮM xs”)ą›źUÉsRGĹj§µUsssҰO:ŐŚ˘÷Ö�U»ůěgż¨ÚÚ:gÝ*řśuÖÝŽ)** /[P*Úu×]ٱcËťe«řóŐŻ~CuuuÝŽ±ĘJ÷ß˙7ýío×ňĺ+tď˝÷«­­M}Á^Ă{Ţsmxýç?˙_=ńÄSÝ> {ÝqÇďťí‰X€čć›?ć,Űă-Ô3{öËűg!¦/}é«NĐčůç_Ô+ŻĽ*��������Đw˛��0 Ä«DcA 7$ŞľŇ“v_==¦§ŰgĚ8Î r,[Ö©ú‘e:˝î/*Ô*| ›UňüGŐtň·µ;x±FŽŃ5Ť”×ëívŹ§Űş‰Üë¸xŻ)Ů1™¶nÝ:}úÓźŰo{{{‡âŮł§˛ŰöĎţ3ÎűięÔĂËŻľúZ×1_rÂ@·ßţMçŘââb}÷»˙ŐµýËÎwî•WćęőׯŇĚ™'jܸqζ·ß^¬ť;÷…†Ţ˙ţ÷ę裏R_ůÔ§>ˇ×^›§­[·9A˛ď~÷úóźďŐGî\ĎĘ•«T]]ŁÉ“'éôÓOÓ?˙ůݏçşá†čŤ7v˝¦7ÔÔÔ¬Ż}í[:č É:ćŁUXXŘőşvjá·śç1ĹĹEúęWo��������č;��Ŕ ÖÓŤ~ÚŰŰĂ•sBÍ•RýV…Zkčlí“ę3‰Î—‰pŃÄ®©`Lť6oŢŁUągjFësĘu(<ť-*ž»Z«W¨öřĎ9ď]yyą|>_8¤+°“ę¶hýţillrB)Éäĺĺé3źąµ[Ą—…ŻlZşt™ł>ţg~őŐWę”SNv–gÎ<IwÝu‡ľöµo:a" ׸ÇE˛PŐM7Ýŕ<W_ĘĎĎ×Ýwß©/|á6˝óÎg۶mŰťÉUZZ˘źýě'zţůžË>Ż˙ýßź;•zčag›ŠlŠf źţôÇš8q‚��������@ß!ř��†ťÖÖVŐ×׫µn·|ď<¤śŤOÉ×°ÉŮgQ“ˇü ü®©ď˘!ĺŻů»˛ŞW©ůŚj[{»ĆŽë„G"Ă?&şúĎP©üÍZ©Y…Ł &čŚ3NÓ»Ţu±óšc±kýŮĎ~¬ßýîNÍ›7ßi fUm*+«şwě±Ç衇ţˇÇ{©úł~ýz'x”źźçTţ9ůä™N[°ž˘ţ0jÔ(ÝsĎÝÎő<÷Ü Z»v­:::UV6˛ë5ź®›oţ¨ňJü1YYYúĆ7ľŞwżűRç|‹/ŃîÝNE­#Juä‘GčĽóÎŐe—˝Ë9��������ô­TÓâIqź'…ą'Îş;y#ćîäűĎ6_ÔdűJlŢőË‹ů��ÂqÜe«šÓÚÚŇő ţÓ¨ż$«”˝żˇˇA•••ĘÚřŚňßúą<íuBú‚ą#Ő|ĆŠĘĘĘTZZÚ­ő—‰íÄ ń$ ÷ tř�����`°°*˝^ŻGůůÎM56nâVdv—�@fäädźŢ5 vM ˙™˘¦ĐćÁ)1Źžg=Ń<z9ZŇ–^�� Ré¶Ç˛ĐʵWĘ}ű·*w;ˇź^đ¶×ŞxÎç•łěŹŞŞ¬rÂTţŠýůÄűĽŇ o�������� 5��ŔiiiQ]]˝rÖüKą+ď2 PÁň?¨řŐ/©±j‡vîÜ©¶¶¶n‡Ä ˙Ä ňţ��������Č<‚?��`Č jhhT¨ąRyK~#dVöÎů*}öFv-qÂ?VYÉŢsWŞAÂ?���������™Eđ�� y­­­Nh$kăSňt¶™çmŢ­’?ˇěwTEĹUWW+„÷ÇŞôCř�������� oü��C^GG‡3÷T,úP CoýT…óżŁúŞÝÚµkWř˝we"ü��������€Ôü��CRdxÄ]îlkú^î–çTňüGŐ^ń޶oß®¦¦¦nű{ţ!��������‚?��`ČËÎÎvć 9“„ţá«ß¨Ňç?"ߦç´{w…Óú+V+Ţz2„���������’#ř��†Ľ‚‚y<UŚ:OoŽĐ?<ť-*š÷mĺ/ţ•jŞŞTQQ‘Vř'Y¸‡đ��������@b��Ŕçóů4bD©rF¬ĺĺ7)čÉúOŢęż©řµŻ©©¶Ňiý Ăű÷���������ô‚?��`XČËËÓŚÓU[vŞŢřeŐä.ôźěsUüÂ-ę¨Ů¦­[·Ęď÷‡÷%Şo[*ű���������tÜ��†Ť’’ťyć™Z´¨@+ËŽVV{•JZÖ+»Ł^ž@[·J4®t%Źä÷ä*ä±ü´Çy|{{»BAżŽj›§˘`­ú…/[YcŽ’Żě`ůF$oáy˛óĺÉęş¶Î6…ü]Ż·©Bş­ Ôl’żrŤô«/eŐ­UńěO©ń‚ßk۶&Ož¬¬¬ý˙ąifK¶-•}���������2‚?��`X?~śÎ<ót˝óÎUW稱h|·ýé¶žJt|GG‡ęëë•ĺ­Ó¬úú6ôăń({ Ę=ň2ĺL;WY㏓'+/凇:[ĺßąDíf«}Í3ňď^n/N™ćkܦâ—,üs§věđjҤIN+¶čđa��������€ŢKő·-ž÷yR{⬻“7bîNľ˙lóEM¶ŻÄćťó��2"8Á ›ÜekÝÔÚÚ˘`Đ*ąLRH·Tô¶¶¶6ŐÔÔ:yěuD“,äď9,ČŇÜܬşşZĺ׮Ҕ5żPvGß„~Ľ%”âMÎd•}2%P˝A­‹ţ˘ÖĹS°ąR™(™ŞĆ‹˙¤Ü’Ńš0a‚ĽŢ˝fŁĂ>ÉÖSÝ�����0l۶˝kĹŁüü§’˛Ť‡ŘX”ÍÝe��99٧wͬ]DĂć¨)ôźy0b EĚŁ'ĹYO4Ź^Ž–ô.n‚?��`?C!řk˛0PşAźXëÖ.¬ŞŞJ ő *Xű€ —˙^žP@™ć+ť¤ÂłoSމ7ÉăËQ_±J@­oÝŁć×~Ą`ăneRçřYj:çW*1Rĺĺĺá푞Xažx‚?�����`¸#ř�@˙.ÁŻ���kíµsçN5VďVé‚ď¨hŮ˙e>ôăËVáY_Ҩ/Ľ­ü“?ާˇăÉÎWÁiźÖč/.UáyßĚčóeďzCů‹­††F§%š+Q+‘tŽ��������8d ���I«ý4448•~ĽŐ«Uöúíň5íP¦eŹźˇŇ÷Ţ#ߨCŐß,�TtŢ7•wÔĺŞđŁňW­U&ä­ů‡üŁŽUµ÷Rĺää(??żc콎¬ć˝����ŔpÖŮŮ©;ďĽKO?ýL×ŘCµ2aĚŃşě˛Kuë­·(;;[���ľ¨ř��†­LT±Ö^ŐŐŐŞ¨ŘŁěőŹiäě[ű$ô“ĘÍyË‹ú‰”5nşĘn}Uy3ާL)|ëjÜ姬uśéégCŐ����Ŕpóűßß­űîűkĆB?¦˛˛JůËýÎą��0Ľü��CRo ‰ďîł;îvďŢ­šĘÝ*~ëTňÖŹĄ@»2ĘăQŃEßUÉĺż”'+W'§@Ą×Ýí\WFÎ×ѨÂ7ľ§ŽöŐÖÖ†·'jůEŔ����p xę©§ŐWž|ň)��`xŁŐ��@ ÍÍÍŞ¬¬T¨vłĘćKYőë•qŻJŻý˝ňfĽ_˝±§¶I;*ëUÓТŞúfYffĚBŤ,Îפň*Y¤ž(<ëKňdĺ©ń™Ż«·˛w/TÖ†'Ô|äµ*(héš ÔS´���� '™¬ô­şşF���Ţţ��€^tĺ«JSSS«ěíŻŞxá÷äílR_(~׏zú±Ëťżbł^^´Nó—oÖ†‰§MĄ3Ž;Xçžx¨Î>Uédf Nű”‚muj~ůÇę­‚ewŞaĘEjhČQ~~ľމ ńDz2đ©mlŐěUŤznu§Vî©3@h���ÇĎ+•JÇŚ ęĽC¤ĂÇP=ű™1++Kyyą*,,Tnîਤ ���ô'‚?��`PĘt«§TÎTQQˇ–Ć,»Ck˙aŹT_(8őVśöé´ěz sŢŢ ˙ű÷kZ±qwʏ۸łÚ™îv‘›<F7_1K—źq´˛|©u}-:ď› T­SŰň‡ÔŢÖJĺľóWµźđ)§˘RQQĎ*ĄăßoěŃ˙ĽŘ±…Đ���†—@PÚŐh“W/®—.<4¨OžJřűYßÚtŰÔŘؤââ"••• Ăź óÜzď;zpá]sŇýţ#G('+µqŽx:üÁ®s®Ń#‹*uý)ĺúĂGއ�ŔPĐ»�� ŃÁžDAźXűZ[[µ}űvµUmQéśĎ¨`íßŐWˇźěÉ'«č’¤ő«ęsÝ7ďŐ§~öPZˇźhë¶Uęëw<©«żţg­Ţ\‘ňăJ®ú­˛ĆˇŢĘ[}żM{śŮ`0čl‹®¸)ŢçJëçOíŠ ý����Ăß‹ë˝úÁK>"űYsĎž=Âđ·l[“ţ<w—šÚşţn˝˙Ž•Np§§ě±¸sĄs.;ç=]ç^ş­Q���CÁ��0č$ ud˛…Oęëëµk×.içBŤxáŁĘ®Z¦ľâÉĘUÉ5ż—Ç—“ňcţúÜ"]űÍ{´*Ť N2ë¶Wé}ßą_÷=űVJÇ{r UríşţőŘ»_ x:[”łößňűýjiiQ_±J?.éů€���0”-íúńć (SSkk›jjj„ámRY×řJŢľ1Š'–Tő8üă†~_\ŢfçžT–'��€ˇ€ŕ��öâ…¬µWeeĄ*÷T*oĹźUňňgĺm«V_*<ëËĘ}XĘÇ˙ć_sőý{^P[‡_™ÖŢé×ď}Q?űŰË)ź=ńDśüqőVÎú‡ĺooUSSSx[OŞţÄSŰŘJĄ���đ¬ňĎÚJÂ?80YĺźöövařU”­}vşňł÷ýš«'áźXˇ;§ť{t×s��� ��Ŕ Ň“j?=ióŐŃŃáTůiŞŢĄâyßTÁň?ČęŰ 1ޢ±*8ó‹)˙Ç'ŢĐ˙ý{žúš=ϧö<…ç}Ë©ţÓľÖJy·Ľ¨`0ä´Xë©xźóěU”â���ĚË°š››…áíüŁGęŃ/×ăđOĽĐŹťÓÎ ��0Tü��F_´řŠőĆĆFíرCť;kÄs7*wÇő‡Â3ż Ov~JÇ>»ŕť”+ńdÂŻś«'ć­Jzś· Lů'L˝•»ţQ§ÝWĽŘŢ´s{n5Ő~����ł˛‚á_¸ÚÚ¨řs ţ±@O˘đˇ��0śđ“��zôH§ÚʵöŞŞŞREĹeżó/ŤýIy›w«?X•śü™MéŘŞúf}çîgŐßľ÷ççťçN¦ŕÔOu˝ Ţý32kĎŰ ¶ÖŞŁŁSÁŕ޸T*5Ąbĺ†���€ádOp�ł›Mp`° Î#Qá ôÄ ˙Ä ý<Bč�� Q��ŔJ‹ŻDű;;;ťÖ^uU*Zř.ú©čPÉ=ꊔ[dYőť†ć6ő7{Î_ýóŐ¤ÇůJ')çŕ3ÔžP@Ţ­{ź«­­çݵ7•�����ŔđpAŠáźDˇź ý��€!Šŕ��p=iń•NČÚImßľ]ďhÄóQîĆ'Ôßň¦_—Ňq5Ťzä•ĺ(ŹľşÂą†dňŽMíő$’µmŽó™ő&řË1ă<��� •§vď0,eee –xáź÷ýß 'đc“-ú��Ă Á��0 zúIĺ8[·©¦¦F»wWČ»á•>˙ů6©ßył”3%µ 9ŹĽşBťţ€Š=·…’É™v¶z+k÷› jooo‹ü{ZÍç’Ł˛���@:flPŔ*//W8đÄ ˙<ą´Ú üŘdË.B?��`¸ ř��„ĚIvL*Űc­űý~§µWMŐĺżůSżţyü­ŮfČ“[”ұ/˝µVíĹ®Á7ęPy‹ĆŞ7|ţF…¶Ë>ľ@ yŘ)Ő ĐůG ���€tŢ!X……”Ľ:PĹ ˙ú��ĂÁ��ĐďR pô4ôcZ[[ťÖ^mŐ›UňŇ­Ę[÷/ ¤¬1GĄt\[‡_«6Uh Ů5´¶w&=.kĚę-oő*gŢŃѡLYśŻŻ_HŐ���Ř.<4¨ĂÇô¬Š&0Ô)7—Š?˛Xáˇ��0Üü��ýŞ/C?¶^[[ëTúńěX ’g?¬¬Şĺhľ˛©)·­˘VţŔŔ—â·kŘVQ—ô8ߨŢß>¬Řűůtv&ĄăşYĺzďńüS���¦ăĄOžJč¦üü<••• ţ!ô��†#~��úM_†~¬UTEE…Ş*+•»ô*~ůsň¶Őh0đŹKé¸ę† {ęš’ă-*Wo…j79skÍŢńŮöć;ó•wʧň���8Véçö ’·Ň†#«ôS^ŢűźU1|XŔçń/§Gç9“-ú��ĂM–���‰ž†~ÚŰŰťĐOGĂżţ_Ę޵@‰';?ĄăCµW*Ź/G˝j©vćÁ`߼v«üsţŃ­š˝ŞQĎ­îÔĘÝ!u<���† źW*/”ŽÔy‡ö^8 x<eee)//W………´÷BLç9Rë~zš���†+‚?�� _$ ’ÄÚźl›-766Ş˛˛RŢ=ËTúÚ·äm­Đ`“j@¦0Ż÷AšL)ČMáZ|˝Ż¦ăëŘŰR¬Ż‚?fdqľ®›e“���������†Z}�€>ס ŠTWW«˘bʞ×>¬â—n”ˇloHé¸ńŁK4XL“üZB­uę­l˝3·Vm�����ĆŚ­ľR^>F���Ţţ��€>ŐˇźŽŽíÜąSu{vŞčµo©đÍËěT_hWžz+ÔR“ŇqăĘŠ5fD‘ÚčŇBŤ•<řLńu%â v8sűxSi/–Ę1����� %—]v©úĘe—˝K���Ţţ��€“j#ň¸¦¦&íرCíď¨ä…Ź)gŰ‹ę­Ę;K˛ŹSoj·¤|ě©ÇNŃ@;-ĹkÔlTo=>gîńx����ŔčÖ[oч?|SF+˙Řąěśźüä-��Ŕđ–%��€>Ň“ę,ŃŹq×­µWmm­ęęę•˝ń)/ü‘<vő…€'[ ‹ßŁMľŁufËCę­ÎÝËR>öň3ŽÖŻ­Ô@zw×5¤Â_±B˝”ď?KTň����˛łłőąĎ}Ú™���€tü��}"-ľÜőÎÎNUVVŞĄ±N‹~ˇÜőʍݴeŤÔÂ1·h·¤Ž<ôP•¬ňXżŻ^ńď^®P C_NŇcĎ>~šť4Zë·Wi LťP¦sN8$éqVí'­ľ¬âŹŐúˇâ��������@úhő��ú]*ˇWkk«ÓÚ«mĎ•Ľpsź†~jr§i¨­hŞN;íTyäňř[Ő[ˇŽunž—ұ^ŹGź{Ď™(_zßŮÎ5$ÓľöyeBŔ›ďĚ˝^ţY ��������.~Ă��%·µ×Îť;ĺŮ2G%ĎŢ(_Í;ę+ŰŠNÓ‚qźUÎńşč˘ 4~ü¸˝;2T‰¦ýť§R>ö]§©sS¨ş“iöś—Ě:2ĄcŰ×<ŁLhÉíĚ}>ź���������‚?�� ăµůJĄÚŹßďמ={T]Y©Üew«čŐŻČÓѨľňxőÎČ+µlô4vüD]rÉE*-- QZ}#• mËt*˙¤ę'źľ\F—¨żŘsŮs¦ÂÚ|ul|E™Đž7Ö™geŃ�������� ]��Ŕ ŇŃŃá´öjŞÜ¦˘9źWţň»¤PP}ˇÓ[ …ĺźŇ†Ň ućëÜsĎQnn®<O¸őTGÎ(eB°µNmËLůř‘Ĺůúă7ßçĚűÚ®ç¸űďMůąZÜ™±Ď$P8É™[ĐĘ“Bu%O†*0�������� ��@Fő¦ÚOKK‹¶mŰ¦ŕŽ…*yćĘŢ˝P}Ą1{Ľ^˙UŐĄ“Ož©“N:1ö1nš`ŃeJókż‘ť)ČÄQúç÷?¤)ă2Su(–±eĹúËíС“F§t|°q—Zßľ_™1Í™Sń�������� }��Ŕ `ˇźť;wÉ·ůEĎţśĽ­Uę+•ůGëőń_V¨d’.şčvءű“““ăT—é(;V™¨^Ż–…w§ő ýüă{7éÜQ¦Ů9ýÉGuä”ň”Óôâ÷ÓjY–H°ëź˘Áňăťe{żdŞŞŞ´`ÁδfÍZ�������p ăÖj��0`Üj?­­­Ş¨ŘŁěÍĎ©pŢí¶G}ĂŁőĄkíČw«lT™Î>ű,ěw=Ć*Đx˝ůFˇoˇr‚ÍĘ„ć9?Qޱ×Ę[<.ĺÇ”•č÷_»^OÎ_Ąź˙íeí®iToŚU˘Ű>x®.?ýhĄÓ9«sŰBµ.y@™Rź;Ey%eĘÎΊŰÂ+­˝6nܤwŢYŁ]»v©ĄĄµëłő©¤¤DS§¬3ŽSaaa·ăźţE­Zµ:ŐÓëcŽvd úóź˙˘tÜ|óGUTT”đ@  •+WiíÚuŞ©©Q[[»ňóó4jÔ(~řa:ú裺U«JäÉ'źÖúőşmł÷㓟ĽĄësČŽůxŻkĆŚé:ďĽsťĺęęjÝüďFNN¶ó:'OžäĽçeeeę {/^ę,źvÚ,őD0Ôß˙ţOUVv~ń‹ź‹ű]»vkĹŠ•{Ű659ď÷#ÂߡȿG’±÷óţű˙¦ÎNxۤIőž÷\«žX·n˝óľěŮłÇůnŘź'÷»1}ú±N˝Týţ÷w9ç4qâ]ýuqłző;zîąöŰţîw_U.Y˛TsćĽóńög<//WĄĄĄÎűyüń3ś–‹�������€Ôü��ý"^ 0żßŻÚÚ:©f­ Ţřľú*ôđdkŮč´«h¦&Ož¨ÓN;użöRnČÄ˝V«BSRZ˘šĽC4®e™2!ŘZ§ú‡?©‘z¤ë S/ľh—vĹGë’SŽĐ㯭Đ?_Z˘eëw)Ç:^ď»ŕx]uÖ±ĘÎJ= `B퍪čć®… 2Ą&˙pŤëúeô/ůÓ űÄ;ľŁŁCO<ń”¶mŰŢm»i,ôa“.˝ô]Nŕ`0jllÔŁŹ>®ęęšnŰ››[śiëÖmzűíĹşćš«T\\¬žđűNxÄD±XhŞ·:::USSëLË—ŻÔ…ž÷ůٲekxyĘ”Ôo˝µhżĐO<öwÁěŮsş®yEÔž€öě©t¦Ĺ‹—č]ďşDÓ¦MMéś/˝ôr·ĐOOŮ÷řé§źŐ† »mooďpާŮda%űnD‡ŰұcÇN'¬daąX,řÓö·¶¶9ÓîÝÎźÉë®»FŁG§Ö~�������t��Ŕ€ŞŻŻwůoý\›úB[ÖH˝5öjĚť¬ăg§ŁŽ:2a¸ÄÝgP¬JÉ–‚#3ü1^VóÜ˙UáŮ·)]9Ů>˝çĽδ}Oť^_±E‹×íЦť5ÚSۤ†ć˝ďaIažĘGię„2ťpŘDťvěM*ˇéúĹ|ĂcźS vł2©uô‰NřŞŻŞ{Xu›ČĐŹ}®ĄĄ%ęěětB3Ć)vÜM7}Đ©ŕb¬BŠUM‰Ç‚ –‰<Ż;Oô8ťŠ3©°ă{ě‰nˇ«ŚbßIűsă†G,Lcá oü`Ź+$Yx#“Á«Hä¶oł€Š˝ßn Î^׋/ÎvŞ˙¤V˛J;öZŤ˝cÇŽUş¬bŇoĽ™ňńs漲_čÇľCXŚţYUśńăWň˛Ę<‘áĄŢúÉÍÍq‚?®ŞŞj=ôĐĂÎw#ťĘ?Ńěű1kÖ)űmonnŢ/X—Šââ˘p•*űűßB?.[~ę©gôáß$�������@r��@ĆÄ«ęŹýÂ×~i®ťo*kw꿌OGmŢ4˝]~ł‚ye:çŚÓť¶5Ńâ]·µďillRë¤ó¬zH^e®ÚMÓKß“oÄAĘ;îző”y®?ߦęKM/ü?µ­xX™Ôš5RľÉ§Ęçó:‘L´ôŠdŐN¬ŽËZ]pÁyĘËËsÖ׬Y«gź}Ţůě-bU[ܶUvśMńD·-š:ő`gn!–Ď|ćSqgĎsĎ=QSÓ޶qcĆŚNŘćËZrYpĂ5kÖÉ:őÔYÎ{eÁ«ăV[±pď¶VJEII±ö¶ŤŰľ}o «čë±öQnŘĆÚuYX#şT,±–M.kçgí 6oŢâ¬[řÇ®÷„ŽWŞ"3“'ONű;cźµŽěsHEmm­–.]^·ĎëŇK/ ·)ł×ňĚ3Ď:A{=/˝4Ű ŘÄc!™W_ť«L°öu‘ˇźČkł÷ÚľnK7«¨öć›o9ßťtD~?âěĎ‘ű÷gäńÉ\}ő•N;2—µŠł›űx»ćĘĘĘ®×5F�������€ÄRď/��aö j“˝ůYő…íŧéŤqźWÎ şřâ c†~ŚÜ)’…¬‚FáU•ź~[˘„¬ŠÎ#źRűÚç45żö+gĘ´íE§jdŮ(ĺçç§üt‚Ö"kôčQÎdˇK.ą(ú1Gq¸&L^wĂ-ÉXŕfáÂ}!µ±cËuČ!ÓRzěŇĄË¡súé§%<ŢÂ8. UX{:÷=°JIçźn·*.ŇI‡˝÷#Gî­rdáŤX•}"·YŘ&ŐjE±žëěłĎě¶ÍýóźŞŢ¶ů˛÷ßaĆ*3ťvZâ Śµ?sŮű~Ĺď‡~ĚÁOézMg…×-¤em±âyůĺWÂŐxĘËÇčČ#ŹPOYPÍeß+ŻĽ<|mö^[hÄŇđ1VK79qâÄđr]]˝Ó†+Zd›ŻČăÓe! ™3Oę¶-•€�������€Š?��`�YĹăÝő–2)äńjÍ+´qÄE7®\gžyFĘí¤Ü`…űKr«úcᎠųTŢşR™ t¨î÷«äĘß(˙ÄAÖÖ¦ëő7Íů‰š_ţ±2ĎŁŞQgkňÎűŰmOD¸§7U€,ŘcS"‘Á“’’ĄÂ--ű—,Ľă˛öbVuĹe-ˇ¦N=8ác¬zŹDL¬Ę@ÖŠÎŞđ´¶î­`“n°Ă*ßXxĹŞ« qD†/ě|VŃĹea›-[¶¨§Ü?ď®tŞąŘµlÝÚóŕOCCćÍ›^?ăŚÓĂ­Čâ?f_őš˘˘Âß‘I“ş‡]ěc -DäVŕ±@áE] Ĺ‹—Ş'ě}Ś Yđ,şeš…¦O?VsçÎsÖ-Dcˇ§xáÇX,ôhÁ9·ęÔŞU«şţ>Ý×^ÍÚ¦UVV…×­u[d(]‘ßűł_V6R�������€ä¨ř��Śßż7°Ő˛K™Ňé-Đ›c?­M#/ŇGć´o˛J/‘U}bU÷‰ćcˇüü<uN<[íľbe\0 †Ç>«ć9?‘B™k%Öˇö&Ő?ôń> ýHUůGhÄ”cť`zđéI»'kádmľÜ*?Ä8á„äíŇ,đÖ[‹Âë˘H5€bZZ[ŰÂ멆,Hqě±Ç8“t˘Y#ňśéV\±ŕĎÔ©SĂëÖ.,˛jжmŰŐÜÜ^ź:őŕ®Ç¤˙µĐ“U/zá…—´ďZ'¤\)ÉŘuą`,tIĆZ|uvúťe«ôن, Uą,$\2‘­ŘL¬ĘQmmmzůĺ9áő“N:ˇW-¬ěsЬĽYą*Ň„ ÝC>éV„˛ĎzÚ´}ߏµk×u{ŢČjPĄĄ%]S©z˘ĄĄĹ9Wd%­™3OTaaˇ��������ÉQń��  mX# oFţQŇ”=^‹Ć}Bmąc5óÄ’V|‰ŤÄŞbˇűôřIS´qË…:ŞćeśU×™ý#ulžŻŇ÷Ü-oŃX ˙®ĄŞ{đŁ TŻW_Y?âR9~|ZáŤŢ„LEE…ţţ÷÷Űnu,6zôč¤çxűíĹÝÚYŐT´··kѢ·Ăë豩7,Lň /†×­2K¬pP"ü±Š5péččt¶YĹ–ňňrg92Řaç·ŞC©Vš3çUgŠf‘3ŽÓqÇMwţlĄjóć}•†Ň­öłrĺ*mÝşÍY¶ Ů…žźŇă,8óöŰ{[jYHŃ^Ź=Ö˝n«"ôę«s»=Ć>—hŻĽ27\%ĘZ«ťzę,ő†e"Ĺ«VU\\”đqÉŘ÷Ă‚? î­TeßýM›6‡[‘ß;.ť6p÷ß˙@Ěíb:á„ăťjW�������€ÔPń�� źoď?EZł“‡.’ŮS0]ó'ܦ`ńdç—óÉB?±Ä«dÁźňňŃÚYvľÚ}©µ„ꉎŤsTýŰ“ŐňĆ]N% ţjoTăłßRő]ç÷ič§*˙Č®ßîźä@˘[-eŞÍWŞ,a!’‚‚ü¤ÇZ Ă‚?. ŮÄ«´ÍB?ííűŞĹ¤Jt-=ôp¸EWvv–.»ě]iżgÔ°Ë´iű*ď¸í¨,ŕłqăĆđöC=$­`G˘k·JBŃ•r’q;fĘ”ÔNÍÍÍÝÂ9łfť¬˛˛˛”ka ę¸V­Z­{ď˝OĎ?˙˘üIÝwß_ťv`‘ßźč÷ČK‘íŻ.Ľđ'|Ô$‹d-ßb‰Ţý¸d쵌7®[€hÆ˝ß‰ĘĘĘn­Đ9$3ß SŮ{fź������� 5Tü��ĆZp555«˛p†ŠŰ·«g<Ú0â"­y…FŤĄłÎ:3#-bÜjDî˛UŐ<őPm¨ąHG×ü[}%ŘZ§Ć§ľ˘ÖEQŃą_WîQ—w]@ßeµCť­Îs5ĎýĄ‚Ť»Ő×ÖŤ¸LÓ¦N Wű鏀Ź)((ĐôéÇ:źiccŁÓzޱ±IoľąH‹-Ö%—\”0,f-ľÜŞ8ćôÓOMĺiťQÖćËea’qăz^ŃÉ®ý‘G ·”˛É•W^‘r%{Ýnő{OęęęśHduŁĂ?Lé°ă­šPäu[pĆZ‡YŐ-[¶ęŞ«®H©zʵŘÚµkďwÓ^oäy“™={N8teU‹fÎ<)ĺÇZ(ęŠ+Ţ­‡~Ôů{ĘXŘĹ^‡ëěłĎÔš5kĂ}¬5`äużôŇěđúqÇë´8ë­Čç0ÖJ-–číŃŹK•Ußq+mٲ·ňRd«°°Ŕy]ö™¦ĘXîßÓ˛öe«WŻvŢg«Đ´yóf}đď§Ý�������¤€ŕ��0öK]«ěP9áRM®{YŮÁ4[Ńx˛µlô Ú]<Ó©Ŕ2kÖ)ĘĘÚ÷Ď›tC%ŃmŚÜÇŰv ŽL™2YŻm>OS^UˇżR}Éż{ąęţqٞF¦üSoUޱ×Ę[0J™¨Ţ ÖĄ˙Të›T°ąJýawá ňL8Ń ľ$Şö-Ţľt>_ ]pÁyáu ˘X ĂŞćXđŔÚftĐdĺçď_ýÇZ$-Y˛4ĽnŐoÜvXÉĽůć[ęěô‡×S ĹbUV}ôq'<c¬ŇĎW\Ţë¶anŐ#7Ľby"«ĂX;4 Yë§TY5$kç餓NÔüĂ ĎŘ{>{öËúčG?śô\v=n5;oäźńDÖ®]®Pcß•‹.ş ­öbĆ^÷Ť7~Đ©ÚdŐěÚł˛|š8q˘N=őç{`걫¤d_űş×^›ç©LQQˇÎ<ó e‚ý]ÉŞäÄâ>·+Öw;G}T8řcß˝ÚÚZç3qYp,Ýżk-6jT÷żĎŽ=öhýă˙rţľµç™?ó™�������#ř��ŚUď1b„JÇNŐ˛Ş넊»ĺ ůSzlcÎD-+żIMyéřă¦ëcŽîuőČ O¬í2í0-oü€NÝý[;R}Í_µNŤOަĆgľˇÜCÎSÎa+çŕ3”U~TZ•€Bů·/RÇćąjçiuîx[ý©Ó[ •Ł®×q‡LSii©ł-žž˛ Uyá…—śuż?ŕT1‰UőgáÂ7ťýŢijjŇŇĄËĂëvîŃŁ{ÖÖ΂O<ńd¸ęP^^®®ąć*ŤŰóęA. Ăص-^Ľ7Ü´cÇN§ZŤë¨ŁŽT&X…Ż#Ź<˘ëýÜ”©ŻopB$#GŽLř8·ĘŚIĄBËÂ:.űÜžxâ©nűÝ*>®?ţńĎÎüÚkŻîVAÉ®ŰÚłĹjŃVUUĄÖÖ¶đşµĆ2öţ-[¶"ĽÝ‚TÖ,Ţó[*{~ Ä}čC7*‘QŁĘśĎĚ CíÜąKÇ?cżăvîÜŮm=Ő°Z4űÎZµ$·=›}?"Ďť©ď‡}—ÇŹçĽcU��������Éü��ý"˛uV$űĄúŚÓőL×/’y?Ąc*˙®‚ÎřhÚ}%ÚTzľ¶Ś8OEĄ:÷”“ť* ™ľVy˝¶Í~)čˇÓ´mŰqÚŇ|†¦4ľ¦~čTűÚçťÉxóGČ7će•"_ŮÁňä–Č“ťß5/V¨˝QÁ¶…ÚęťĘ>ţ®)P˝Îië5PVŤşNĄăŃA´_Ő•ľú<öŘÚµko€ŔB>Ö6(úyÚÚÚş­Çú~Ze ĺËW†×-¸’j[- ¸¸Urěą­BLOX®çź1ô°ę<×]wÍ~SzĂÂnđÇŢ77řcםn›ŻD˘ßóxmŞ"E¶J'řăľ_îrtĐ'š»ßýĚÖ­[ďT‚rĹŞ®ôĆo†—­ĐÔ©;ËŃß%«úYů)Ţóçät(ű{ČZkąUw¬Ş‘}OÝöyîkXľ|EÄc˛{ő÷¤UýyőŐ˝ßŮyÝ�ZYŮHŤ3F™ůýHĺ»������� ř��2(^¸'ŮcěÖgź}¦,ČŃÂ’Ł4Şa±F5-S^GĄ˛męĚ*RsÎxŐ­š˘éĘĘ-ĐÄ‘#t ǫ¤¤$ĄçH&ÖuGż[· EG}¤–6_­±­+•çŻŐ@¶Ö)¸ő uvM]eţŃŞq†Î=îŘp»ˇT«ýô´*6mÚě,·µµë™gžÓ™gžî|_,˛qă&§’Oäů¬Y´ † XJ5ĽS__Ż+ö†,8«˛Ť…ZćĚyĹůžť{î9NËşHo˝µHŻ˝6?Ľ^\\ä„~ě{IV Ć*ÉTW×8•x\ÖţĚZňő–˝>k˝µrĺęđ6{?“˝{Ýë±ŔS&C&ÉX¸Ćľ+nµ§çźA^xS•ĆÚż˝ůć"'ä:öŘc”››«L±×nŻşş:ÍqśN9ĺäđ>«đăěűůřăOęŇK/qBivm/˝ôr×ăęĂÇ[۵tŰśE˛ŠPsçÎs>ÇŠŠ=á홪öc!űóXSłďďÓTv�������p #ř��k‘cÁ «&ŃR4B-:/Ľ/2|3˘ëëÓ¦Mu±~‘ÝÓę1‘Ź‹űDnłç<äC´kW…ŢňB§ďú_yÉ«t¨ZłĘ´ṫtÔQG„[ Eľ×}ŐÖ뤓NÔĘ•«śĐŹ±Đ‰MŮŮY Cá0ŹËBŃ! \¬^ýNxÝÚÉąmĘ’±J0nĹűÎĚšurĚă,LŇÜÜâ,?űěsşőÖO„÷-Y˛´[čÇ´´´ęţó\Vč}ď»^=e!Žčçł G=±`ÁáV[ögÇ®;˛ʱ0”UŻI$˛ÚŹU‹JÇ 7| áţĹ‹—č•Wć†×żřĹĎuŰ_PP “Ož©×_ß®kllŇ#Ź<ó\%%Ĺ:ýôÓÂë�Š>_4k=fŐz̤Iőž÷\Űm˙üů ś¶Zî˛ý˝ç¶Š;äiÎşŘLee•î»ďoNe·OäµÍšŐłjS. YµĄÍ›·tŰŢÓďÇĂ?ţűŰţ,Z»´čđe¬öe�������€ýőü¶O��€4%«ŢbżÔ>çśłťJ>ö‹p«ÚbNFŹĺ´Đ™9óD]pÁyÎ/˝}>źó¸č©Ż®3r›…ěZÚ‹ŐňQďb zs´¨üŤ™ě„<’UIµÚO*,´aAŠŇŇÝRtčgúôcuţůçîw |¸aűľĹ ďD«©©éš>ý¸•©˘ŰQEjhhŘďx»v vÄžz@łGä{n­«=ôő„®,(c“µ°Š~möçűÜsĎNzžČŕOt5¤ţ`™NH@±ż§ě»–,Ä”®č÷,zý˛ËŢĺ„"E‡~ěÚ®żţ:egg«·˘«űXE¤Čöbé°°›űý°PXtč礓Nčq¨�������4Tü��‚ŰVËÂ!&Św¦ľ|.“¨-Y¬c"[YăÔSOÖÜą*éئ©ő/ ‘<Z:úu”¦sÎ8-<ČDµźTgA˛}čF­ZµÚ©¬RYYéT±@KQQ‘&OžäTńq+EŞ®®v*ąfĚî<&rż'ö\‘-š˘]pÁůzůĺ9Îńçťw®’űžlÝşÍY·ĘV™Śűsí¶ę˛¶Q©„:,č˛m۶đşµF<ě°Ă´lŮríرà ŞXĺ(kEuřá‡9Á1 †eÚi§ÍRmm­�łV]ŃßÓ¬¬,]yĺĺNK;«”VUUĺjňóóśęUö[X'S×fËČŠB™jóeěωUš8q˘ó~Z;5�������@jRým‹'Ĺ}žćž8ëî䍻“ď?Ű|Q“íłŰ§˝]ĐÝű��€łŞ"D°É]öűýjmmqÚ$Y8 ‘DšLěOUşÁ’xĎ˝=rÝÚI-]ü¶fTÜŁń-K„˝Ţ)»F›G^¨sÎ9ËůeľITŃ'ťj?}Ő ËÎť»ôŕ9ËcĆŚNÚş ����€á`۶íňz=ĘĎ/pnú°qČĘ×}qó ��ŞśśěÓ»fVn˝á?ó@ÔúĎ<1…"ćŃ“â¬'šG/GKúK3Z}�€~—,¸ŃÓ¶]˝műďq‰B)V1fÚˇ‡iIůÇ´Łp¦ ­yĄ6–^ “OžýDëiĺB?ŽÍ›7‡—§L9H��������`´ú��Ů«·Ç „X×˝-r}Ö¬SÔÖÖ¦eúíĐĦ7u ZSvĄ6”^¬ăŽ;V‡vhx{:AÂ=0nË13eĘ�������€ýü��&•đĎ@qĂ'ńÂ>‘ë6?çśł5wîkZîąQ!ů4©i$AŹO«Ę®×Ö’35cĆtMź~lx_:-˝hń×űß˙^�������€Äţ��€>‘j¨'VŔ&ÓבŠxĎź¨ŇOäşÍĎ:ëL-X­eşQuySutőň†î:ĽEZ\ţQŐˇO8^G}Tx_¦‚<„~���������öGđ�� ™ �ő4 ’čůÓ ˙śzę,eggkÍ©){śNŘó'ĺ4\5äLҢ±źPGîhť6ëM›65Ľ/Q5źXźá��������€ôü��}¦'­Ľ"ĂéT Ę”xלNřgćĚ“TVV¦7ßĚŇĽ¬ŻjFŐ_5ŞuŤ†“Ç«Í%çhÍ+TP2RžqšĆŚŢźN Żdű ��������ÄFđ��ô©ž„";zţ1Vů¦´´DoĽń¦fNc›ŢÖ±U*'ؤˇ®1{‚–Źů ň§jüřqš5ë„÷' ý¤ ��������@l��@źëMřg Äký•NřgÔ¨Q:ďĽs´xńmŰ–Ąąy‡ęčę‡4ľům EO¶6ޏXF\¤śĽBwä:ę¨#ĺóůÂÇd:äC(�������� >‚?�� _Ä Ň v±BKé„ňóóuúé§i×®ÝZ˛d©Vä}Bš7ëÚç4ľeI×˙ýz˛´˝h–ÖŹĽLÁüŃšP>F3f§‘#Gv;®'ˇZ|��������ôÁ��ĐŻ˛úOd$ťkčmřÇXK¬˛˛‘Z±bĄvěČ׊µ©i˝­}Jĺ­«5=ŮÚVtš6ڏXÁ‚1***Ňa‡ŞC™&Ż×>®§‚=���������˝Cđ��ô»ţ¨ţ“,T’n(ŐđOäů˘×sssuŇI'ęĐCŃúőö€JŹPvóvŤmxS“¨ PŁÖ”=NŰ‹NŃŽŇ3äÉ/S^^ž:h˛?ü0g9R_…~��������$Gđ�� čpGO@˝ ‰¤DJ%ük[ôzii©�š6mŞÖ®]§ŞŞ|í.=X[Ű.WiărMj\¨Ń­«”lUiέ=…Óµłä4µ¬śśuM“&Mt‚JÖ˛,Ro>„~���������2ŕ��4:đ‘J˛Ţ„Lä¶‘#GjÖ¬SÔÔÔ¤ť;wiűöj-.цŔ©ZÓŃ®Ľ¦ Ń´ZŁZר¬}Ł|ˇNeJ»·HŐy‡©¦đ(Ő#ţ8egg;-ĽĘ‹ 5qâDMž<É©Rë=H¶-ŢgIč�������� sţ���DčMřÇ$ űÄÚVTTä´Ń˛Ę:UUUN�¨ŞŞZťůÓU;fşŞ…ĘnÝŁĽ¶ťĘkݡ‚Ž ĺwV);آ¬`› ň…:”jW§7OťĘ‘żkî÷äĘźU¨–ěrµäŽWk޵LR ·Ě ůŘä뺆â‚|•——;~¬"QĽ×ÝÓm‰¶§ş���������Ýü��ŇÓđOĽí©…śj;ĺĺÎ U__Żęę' T[[§`ε–vM]ÇÖŞçě™ rrTV6RcƌѨQe*,,Ś|Â=„~���������2Źŕ��@ ±‚9±Ž‰ţ‰~lĽóĹŰn! kf“U˛ PKK‹š››ŐÔÔěĚmňűý릀łl-»˛˛˛äóy»&źrrrś`ŹU*,,pćÖ«§aśLVůIő���������ěŹŕ��@ÉŞ˙$ ĄZé'r{ĽsYČ;6Ť«„ÇĆ;o*źé*?©��������€Řţ���$ŃŰÖ_&Ő�PäľxűăŰ˝iÁŐÓ}é��������€řţ���¤ ŐđŹéI�(Ůă"%»Žd××Űc{řIç8���������ÄGđ�� E©„’—‰J?}šéMőźTö§{���������#ř��J5ěr H'ücz�ŠÜďę‹Ď SA?������}ń�� Á��StŔ…A†}’…vŇ96SU~µë‰Tź©Öa������č.z,…±��Á��€J§R*aˇTC@ÉŰS}Uą‡)��������€ľAđ��$Ô=´aË´ýŠ”NőźtŽŹ–Éd»Żž„qü������ô‡}c*ŚŻ��€dţ��€ýÄŞd]Ť†A‡îŇ©ţăďJ74Ôźú# �����€îcD±ĆWs��±ü��)s‚Á |>źĐ]şŐ˘דÇö…Ţ "1������Đ36ćf_��é ř��Rćőzä÷ţ$ĐÓ�Päc]ýĘÄ`R������˝ccnĆĆŕ���REđ��¤Ě,ŕŃÖÖ¦ÜÜ!±Ţ€˘Ď©§çë‹p�����€Ě°17k!ř��ŇAđ��$e‘---*--R“éV^¶!ě�����y6ćfÜ›ď��© 2 ��âŠ\Ř;č uvv†{Ž#=CyІ'�����€ľacm6ćfC/ŃŹ��‰ü�� E,ř|YζÖÖVˇçÜÍ`¸‰ĽF������úŽŤµŮř‹Ť˝EbL��$Cđ��$ĺ–¶ąĎçs¶Ő×7™16}������úź;Öfco‘cq���Éd �� 7ř …Âëî€M~ż_íííĘÍÍ2+VčĆýúň9������Đ˙lŚÍĆÚ"C?‘c7ܤ��!* ��Š5Đ•µ·ÝWMM­Đ?˘«őv�����Ŕŕ`cl‘cn.Ćq��@*ţ��€ýÄP¬řc6ďěěTKK«�������¤ĎĆÖlŚ-rĚ-^ŕ‡��…ŕ��+r!şbLvv¶3ݬ¬T0������€ÔŮšŤ­E޵EWl¦ę��H†ŕ��H*V«(ë9î–®ŞŞ������€ÔŮšŰâËĆÚh×��z‚ŕ��)ň®˘Čmn»/÷N$źĎ«ÖÖ6Ő×7������@r6–fcj6¶ćVű‰Őć+Ö��@$‚?�� ©Xwíků•ăÜ‘TWW§ććf������ĎĆĐl,ÍĆÔll-ŃŘ��@2Y��ĂBˇPxîns[}ąě®$ëI^UUí¬ ������@wú±1´}Ő´}NĄźČV_.Şý��€TPń��¤$ÖGnůá˝w'í-Ilőőő������°ŹŤ™E‡~˘[|Qí��¤‹Š?�� ˇČŞ?.ڰ ?îŔ„q?ťťťŞ««W{{»FŹŢ������öVĘ®Rkk›3VfăhYYYÎrdč':�d��€dţ��€”E†€bzlŔ ˙Ř@ĆÖ­ŰT^>F������4---Úł§˛[Ől·˝WôDŘ��ôÁ��°7ŕk=VµźčÇÚöŽŽUVV9eeeĘËË������0ܵµµ«¦¦ĆąAÎĆĘ,ě“““řÄ ýDŽ·E€�€Xţ��€”¤ţ±uŰnrssĺ÷űťÉ8***śŽ‘#G(??ź`������Vl\¬µµUµµuÎ qĆĆìJ¶[);2č“Nč�� ‚?�� ¦čŞ?ŃŰb…Ü6`î˛[şŘ‚?věŢ~ćŐÎ~ŰWXXčTr{š3 �����€ˇŔĆľl¬Ënzłę>ÍÍÍÎqŰzŮx—Ťąă^îvw9ťĐăf�� ‚?�� ®TÂ?î˛ ZŘ`‡»î~¸¶nw:Ů`-ŰĽľľľkŇ~ĎyŽČ9������ĐźÜŔMô<zżqC=v“[dŔ'2ä9wyB?�� ]��@BÉÂ?‘‘A ·úŹ�r×mĐĂŘ6 ím ’űnXČ=G"‚������ ÉÂ5Ńc`{·9˙uÖÝ ?î±ŃźXëŃç%ô��z‚ŕ��H*V'^řǸpĂ>‘íż"·ą".w{äsě�����Ŕ`kü+Vh'2ŕ}ldkŻD•b­��ÄCđ��¤,şúOt ČÝ9¸Ůţ+ňń{+ý(fĐ'r›{������0Üq.“¨RO¬ö]Ń! xŹŤDč��¤ŕ��HK:­żŚ;°YŃÇ&·ÚOdŘ'V(˛}������Đźâ…tµëŠ®”j•źxŰ���!ř��ŇŻőWä¶xŃAźXçŠÜ������ ´čÖ^î¶Xű ü��€ţDđ��ôXĽę?&:�dskŰąž¨ÍWô`G˘!������ôD˘ŔMĽ}©´ěŠl–ęů���z‚ŕ��č•x{bmŹnűkp$V(r?������Đß…|"·§S͇ń.�� ��@FÄŞţăn7Ń!žčí±*ý¤:řAĹ������ôDoÂ7ńZyEďOw��@:ţ��€Ś‰Wý'Ńľx$Ń Tž������Č´dźxǧ»�� 'ţ��€Ś‹WýÇÝ)ŮqÉC¨ö�����€Ţčm' ��€ž"ř��úD˘ę?±Žs%:ž������2-QőęXŇ đř��}‰ŕ��čS©€Cŕ������ýÉŹŠÚ±}©„yü��€ţ@đ��ô‹X T= ’������`0‰׊żb, ��ô'‚?��`PŁÚ������A��0ü��ý"^ŻôT*�ţ�����Ŕ@żŠÜkŮ$j��i��@źŠ50/Čc!Á`Péś ������Č´Xmë]^Ż·Űzä1‘a@�� ?ü��}"•ŔŹ­ÇÚ–ęům������R+ccNń;Ń7®ŮqŃA!@�� żü��—(ôăŚŘz pÖm9r{äq������Ŕ`ŕVúq<¶nË6÷ů|Ý¶Ç % ��ôÁ��1É?6YŘÇď÷‡·GÎ#o9Őç������’IĉUąÇÝî޸ćcó¬¬,'dáźč Pä9��€L!ř��2"^Ë.�± Ź~lr·Ű�Hnnޞłł»Al0ÄĂ€������†„˝¬m ¨łłSííÎŘWGG‡3Ćec_6Y(^�±0�� ��@ŻÄ«ňăV÷±›Ě(**TNNNxŔ������jö†{lň:7¶8ăaüinnqn„s'ŰďV˘ú��Č4‚?�� ÇbUů±›[ŕÇ&[·;›Š‹‹śA������`8˛`O^^ž3ٸXccSř¦8łÉB>±@„��@Oü��i‹řq' ú´··;w3Ůziii×`G®������€……|ĘĘFŞ­­]őőőáęŘąą{ÇÉ,čăN†ę?�� §ţ��€´D†~Üe·ĘŹ ^XčÇćvg“UůˇĄ������TvC\NÎh§úO[[›3ŽfákýĺV˙1‘ Â?�� ��@ʢC?‘“•-¶ĐŹ-ް°P������ŔÎÂ=ĄĄ%ĘĘň©©©Y­­­NřÇŞYČ úţ��=Ađ��$•¨µWdčÇ*¬µW~~ž�������ěc7Ęy˝>§ő—ŤĄ ˙D˘ő��HÁ��P˛ĐŹßďWGGˇ������ wěĚÂ?6¦fÁž¬¬îż®‹ űPý��$Cđ��Ä•,ôś ›ú������’°1´`0 ĆƦpřÇçóu;†đ��HÁ��S˛ĐŹUř±_Vń'''Ç)U ������ 9Kkoďp‚?^Ż× öŘ<á�� Ż���Rú±*?ü±ĺ#J������ u6¦ćŢ\gcm¶9�� ‚?��`?Ń 6čąĎ&·ĹWYŮČýîF������Ť©ŮŘšŤ±ŮX[tŕ'rLÎ��±Đę ��¤$ňn#kďeSVV–ňňň„îúz†˛Î������ĂŤ­Ů›;Ţ–ťť[b ��¤‚Űó�@B±ŞýXůa›Óâ«{ ŞżĘ0Äs����� oŘ[ä[˘Ş?���Ѩř��’˛Á·Ç¸•¶Éçó)''GšÁ˛‰ľ.î�����lŚÍĆÚÜq7×±±8kĆ��H†Š?�� ®X}Ä­ä°ÍKJŠu Š•u¨�����0tŘX[äŘ[$Şţ��€Dţ��€¤"C$6řеEąąąΆSp†�����Ŕŕ¶w¬m_đ‡±��*Z}�€Ü…ČA»»Č&ź/Ë)5<ez@%SçËTYg÷z( �����0xŘX›ŤąY«/·Í—;.gă8î�� ��@LŃ[·SPP á$wQEžŁ/îĘĘôůąs �����`pqÇÜl .ÖŘ��@,��@Bn8Äî4Úü±6_9†Cx&“! ������ ś˝cnˇpŐĆl��@*hő��ö9 ˝ †äóů4”őtŔ$Ó|béMÉćčs¦{.Ú€����� sł±·DcsŚŰ��€h��@\ŃA»ÓČXŹńˇŞ'áťtÓŰę;ɤ:ŔÓÓ H������ýĎssÇŕ\ŚŐ��€Dţ��€¸ÜŕHtYáˇ8ĐĐ—áťţ.ąśneźž|vT˙�����č_‘ă0îxśm#ř��!ř��’rC nońˇ¤Ż?}Ý.,ťÁśt‚=éz������ô‹q+ţ µq8��00ţ��€4 ßĐO*Çöu((Ős$ á¤ęI�đ�����@ đ��RGđ�� ;™ üô&dwgEN‘-Ӣۧ Ö¸áwŮz»GN±ž/^ '•P: Ş˙��������� .��Ŕ~bY†JiáLUĺIwż­gňűýá`O¦Ţ77dSVV–|>ź3ą}ŢŁŹŤw˝™ �ţ�����č;Cy|��ô/‚?�� ˇˇ4 ‰ĐO:űÜŹřq÷۶v§¶uVjs`Ź6uVhk°Jˇzµ¨CmˇµvÍ›˝j÷řťÇ䆲TĚQľr”çÉQA×|¬§TSĽŁ55{śÎ*פ¬ŃĘÍĘvžËXřĆ �ąa Čëěi�đ�����ŔŕŔ ��H†ŕ��ňú2đ«˛Ogg§3Y�ÇZxŮňžö:˝Ő±^o6i™¶j‡§V]{÷=Đóź)ż' f_{Ś čš:öNYňibh„¦ë ťč=X3sUyŢHegg;mŔÜ�»ž¨ŐWoÂAé��������€ľAđ�� i˝ ý¤ş=2ěÓŢŢ®¶ö6˝Ő¶^Ż…Öhqp‹¶z«´”Nf`ü h‹§Z[T­'C‹ĺm÷hJŰťŕ9HgyŹŇ‰ąÓ”—›§ÜÜ\'d ›"_Oş Ş˙��������� ^��Ŕ•Jč'Ý*?±?ÎÔÖÖ¦--»őRp•žő,ŃNŐí=Č«aAŁMž=Ú¤=z8ř–Ć´ëĽÖŁu©çx’7^ůůůNČÂ?999Îc€z[ý‡đ��������@˙"ř��†¤Ţ„~R üXĐÇB?ÍÍÍjhnÔóţĺzÚłD«µŁO«úôFĄő ŢС7ttëD]ÖrĽ.Ęš®’Âb& �ő¶úá��������€ţEđ�� 9}úńűýNeź––Ő5ŐëĄŔJ=ŕ™§ťž: %«´C«<;t_`®®m8Y—7ť ‘Ą*** W2±Â:‰Ş˙ţ��������<ţ��€˘2©„múC˛ëčiŕ' :źúúzŐ´Ôë‰ĐŰú·ŢTŤ§ICŮ5č÷zI˙ ľˇkOŃ•Í'ެ°T%%%ĘËË“×ëM«úO*­ż˙������ôN¬±9Ć[��@,��@B%đcú*ôcm˝śi^`­îđĽŕf†“j5énĎl=zSi<[7OwÂ?ĄĄĄÝÚeŞúQ������˝7Ćć��ŔŕDđ�� ™ ýD®ŰrSS“jjj´ĄsŹîĐ‹zÓłQĂY•ősĎSz1´Bź©»HӚǪ¬¬Ěi–¨úá��������€Á‡ŕ��ôzúI¶Íď÷«˛˛RőMŤú»gľÔę_Š%Ú˘Ďzţ˘÷vÎŇű+NSis±ĆŚ٬¬˝˙<Śí$jýEř��������``ü��Z_„~ZZZTQQˇ]ţZýŘó¸Vi‡DíęÔýž×ôFhľŐtĄÚÚÚ4věX8űSmýEř��������``x��0He"ôcëî6›[[Żť;węµŔ;ú´çž6ôi­g—>ăąWs«şŢ›]Î{ůž%j—–h[:ű��������>*ţ��€!)ŐĐOä˛Uů©klÔ_<Żč_Z¨ُšŐ®ę1]Ú®[ŞĎUGG‡ĘËËĺőî͉Çjý•nĺ���������dÁ��0(%Ş“nč'hÇŽŞkoÖ÷=ëmmögA¨Ç<ou˝;•úŤ×8៉'ĘçóíÝßËđÁ ��������€Ě˘Ő��t2úńűýÚşu«*ÚëôĎßý¤`©¶č¶®÷jg{ŤóŢuvv†÷ő¶í-ż���������2‡ŕ��TŇ †$ ˘X`Ĺ‚+ŰýŐşÍóWmP…šMŞtÂ?[üUÚ¶m›SýÇ•Jř'Â?���������™Ađ�� É'‘ëT±ŔĘşŔn}ÉóWíP­žÝÚ[%i} BŰ·oO«ňá��������€ľ—%��€A˘7-˘˘Ű{íرCŰ5ú¶çAŐŞYč{ďľéů‡~¸AžíMš4IŮŮŮÎ>{Ď=OÜÇ&Úźě±X‹/Ńś9Żj×®]ĘĘĘŇÁOŃu×]ŁQŁF �������� ��Ŕ nč'r[är0tŞÓTůőĎżýd@ťZô=¤_úowçNMž<Y^ďŢ‘‘žXaÂ?ĂîÝúĆ7ľ­Ť7éꫯԗżü…ÇYhîżţë»zţů÷ŰwŐUW�������� .��Ŕ/$dŰ­BI}głn÷<¨íŞ2c—§VßÖúYÇĺŰąS&L‡" Ö0ʵ~{饗5wîkzçť5Ş®®–ßШQeN5›sĎ=G_|ˇŠŠŠ4Ý{ď}Z±bĄłüŔ˙Đ%—\¤cŽ9zżă~÷»;c†~Ž8âpŤ;V��������`p!ř��\:Ő~â­Ű|Ďž=jhiŇ{ÖzU™µQ{ô}Ď#úaë{UYY‚D‡}’­GꏠĐëŻ/ĐO~ň3íرsż};wîr¦ůóčÎ;˙ /}é şě˛wi(9ë¬óŐÚÚę,żúęK*((Řď‘#G„—-°URR˛ß1Žz衇Ăë×_ťnľůŁÎů��������‚?��`ĐJŠŢ___ŻĆĆ&ýQs´L[…ľ±D[ôg˝˘O4žŻśśŤ9ŇŮž,Ŕ3P•€fĎžŁo~óvđ¶ŇŇMś8Ńٶ{÷î®ďNł˝¶¶Îise!—÷˝ďz 'ůȇÔŃŃ©Ť7ęŠ+.×äÉ“ö;f×®Ýjkks–‹Š uŰm_TVÖŢňóó��������‚?��`@% ÷Ä;6rŮŞťTW×hAh˝ó,úÖĂž7u¬&錚#”——…D†{Ň úôU(Č*@YÇ ý~řaúň—ż “N:±Űó-^ĽDwßý'-\ř–łţË_ţZ§ž:KS¦¤á"77WźűܧÓÜÜ^7n\8ô��������/Fó�Ŕ€éM‹/—…:¬íTE°^żđ<ĄRˇgě=ţ…žÖ´`ą˛+łśę9>źo˙ă¸ĺ×O<®`3aÂxÝ}÷ť*,,Üď¸N8^żűÝŻő©O}N‹˝í|§ţţ÷ęßřŞTÖ ����zË~ľęěětćîd?˙Aˇ÷ěg7űYÚ~&w§ěěě?Ł��`ř"ř��ťtZ|UWW«µŁ]?ö<¦µ ýŁImÎ{ţ‹ŽťĎ`Ě1Î`ă`jůµfÍÚđň•W^3ôă˛ÁŇŹ~ôCÚąs§łnŻ)ÚYgťďT—˛góçż"żßŻ|HO?ý¬¶nÝ欏[®YłNŃ?ř~tĐdĄbٲĺzôŃÇťĘC{śmcĆŚvIW_}ĄŽ?~Ć~Źą˙ţżé׿ţÝ~ŰĎ>ű‚đňľđYÝtÓ ÎňŞU«őˇ}ĚY¶ĘG<p_Âó¬]»N3gž^żüňËôß˙ý˝ňĘ«şí¶Ż;ŰFŚ(ŐłĎ>™°2 ć_zéNE.óË_ţ´ëĎ���€á«˝˝]Nŕ‡€OßrßßČöÖĆ~Ƶ�ýüj`��0Ľü��"-ľÔÔÔ¬4O«´Cč_ďh—ÔÝŘt–Ó¸ŘŮ>ŘZ~ąçNĆÚ{=ńÄ#J… böł_ÔŰo/î¶}۶íÎôřăOężţëŰz×».Ž{ýĹ/~儇˘íرәž|ňi]sÍUúÚ×nsmÚ™gžˇ˛˛‘Ş©©U]]˝ćĎ=açŤ7†C?ŁF•éŚ3N���€áÇB>řq«®b`Y Č>›ť6Ý� ?W�� óţ��€A%ť_őő Ú¬ŇzC˝®sG+».[˝nů•IGq¸fĎžă,[ç˝ď}ŹJKKŐ[6€úĂţÄ ýŚ=J_|‘ĆŤ«ĘĘ*˝ôŇlíÜąË Ý~ű˙sřâ ÷;‡˝_ůĘ×5wîĽđ6kGfŐxě1Vqgűö˝a¶GyL»víŇoű«đű6cĆqúÄ'>î,ßuןÂç¸ńĆv}ůác’‰<ŹUzíµůá}îvc×eěó}÷»/s*™gź}>ađÇŞ!ą.żüÝ”›���†űŮÇ*ŁZđ—˛l˛ŕŹÝ¸c•€���0|¤úOŠű<)Ě=qÖÝÉ1w'ß¶ů˘&ŰWbóŽŽÎ}żĄ���˝bˇ &Řä.[ŁÖÖ!Mž<I˝‘¨úJ˘ŕOt‹/«8r{čA-ÔaŕĚ MÓŹĽďsZ?Ť5*Ľ=2ÜôIüÉT(¨¦¦F×^ű^§*”±pΧ?}«.¸ŕĽ•:w[}ąÎ9ç,ýřÇ?č6`jN~ôŁ˙q‚FfäČzčˇě8˛*??ýé/śe Ă|ýë_qÚzYčÇŘwÝŞýŘąÜôŰnű˘>đ÷%Ľ®W_}É `E‹×ę+Ýc̦M›uýőp–í}|á…§c>gKK‹.ąäňđµ=üđ)·?���0¸ŮĎ>öo~ ţ`豟cíç¸D­›1p¬’°×ëQ~ţŢĎČĆIlěŔćî2��ČŚśśl+SoýSţ3DMˇ˙ĚS(b=)Îz˘yôr´¤- Ľ��$R ýXŔÂ݆VúŢňlÔĽĐç3‰ ĆÄűüb­÷…˛˛2ýâ?Uqq‘łľ{w…ţëżľ« .x—n»íkNřĆB,=Q^>F?úŃ÷÷»KŇänżý›Nµ!S[[ąl€ü¸;ĽţĄ/}^×^{u8ôcl ďŠ+Ţ­o}ëëámwÝőÇAqíÔ©kúôcťe+ďVUŠöňËŻ„żÇ?Đ���0L477«®®ŽĐĎfźť}†öY��`č#ř��† ŚÔ×׫Éߪ?č%ap¸S/Şąë3ihhč—POŞN:éD=đŔýN»-7XcĺÍ_ye®SqÇ*×\}ő{ôë_˙N»víNůĽď{ßőq«Ůó|řĂ7…×_|qv·ý Ľá´©3V…čúëŻS<—_~™¦M›ę,766éő×h0¸ňĘËĂËO?ýLĚc"·_uŐ���0´ŮM ‰ĽáC›}–ö™Úg ��€ˇ‹:Ž�� _Ĺ …¤Zí§©©Iťz"´H•jTňÔuJ5 îjR¨Ş]Şďčş N…»¶7t(Ô:l î}@ű–ó|RvDŢş°ëź`YňeKE]ó®yI¶<Łrĺ“ß5Ď“Fç*”3t2Ú{Ô '‹őţö3ś;‹ŠöVٱĎÎmÝąk=Ůöž?~śSťçóź˙¬^xáE'<łdɲđݩ۷ďĐý÷˙M˙řÇşćš«ôŮĎ~*fëŞH§śrrÂýłfíŰżző; áŕѢE‹ĂűÎ>ű¬„%şí}°–b7nrÖßzëmç1í’K.Ň/~ń+'De×TUUĄŃŁG‡÷WVVęÍ79Ëö^^xáů���0tŮżýíçq ?n Ë~ŽĎËË���†‚?��`Ȱ@…Jš;[őo˝©>áÉ»ąYţŤő mîÔÜҨĐÖf…v¶HťAeRŇş8Ą9ňN,&Ę3ąČ™ű¦+4ĄPňe.“)é ]Ůy’rş 3ŢÉ«®sÓM78“…~–-[®9s^ŐěŮ/kĎžJ§Ť–µ˙Z˛d©ţřÇß' ˙X(‘ŇŇŇ®÷  ëűÚâ„~jkk5jÔ(gßž={ÂÇrČ4%s衇†—-P3Ř{sÁçé©§žq^ßsĎ˝ nř@x˙łĎ>ďl7Vm)??_����†¦––gÂđfÁ.ű9.ŮŤ0���|ţ��€~ÓŰj?ú±j?Ď—ŞĆ“™; =Ő ,ŞThUťB«»¦ő řôX}‡‚VU¨ëÚ\űO¶WžCJä9Ľk:¬DľcʤiĹ p ę®ĎäąĐR]Ó1˶đŹ U˘ĺäähćĚ“śé¶Űľč´ăúńŹ˙G ŤZ»vť~űŰ;ôőŻ%îăSµc,řcěĽnđÇZŐąÜĘH‰ď;¦®®^…µď˛ŕŹyć™çşž~úŮnÇ���šěçpZ{8ěgyűyÜýy���CÁ��0dŘ€c[g»ţĄ7ÔSËôĽ]-˙ë ˝Yą·ŞĎPÓTčť:g2ňfÉs\™tü(eť8Z:¬d@‚@˙ -ĐĄť'8w •B ]tŃ*+©O~ň3ζ'žxJ_ţň”ťťó1Ţ3fLÂóÖ×7„—KKKÂË%%ű–S)•ßŘŘó<턎פIťViSF›7oŃÁOц µnÝzçiÓ¦júôc���`č!ôs`r?sÂ?���CÇ�ß��Đ]Ľj?v×™ßĐ‹ÁÚăéaŐ“uę¸aŽ:ľĽ@Ámšˇź8BÍ~_ßŁŕť«ŐqË\u\ńĽß_˘ŕě]ň´ö_ŁŠ®Ďfv×gdźUd)řxźk_illÔŞU«ťiýú )=ćÄOPVÖŢ\|[[›*+«â»iÓć„çÚ˛e«ÓNĚx˝^Ť1"ĽŻĽĽ<Ľl!™d6lŘwýÉÂFýÉSW^yyxýĺ—ç8ó—^šŢą���ŔĐa?Ďú9pŮgO{7��€ˇŕ��č©¶ůŠÇî4ôűýzJKÔžwÔůĄŇŽf;|a‡˙ý¶:.Nţ/żˇŕ“[ĺi ¨Ż=ĄĹÎgeźY*zűÝeçÎ]úЇ>ćL7Üđá”,+++ťëvĹż»qîÜyJä•W^ /sĚŃNřÇuâ‰ÇGśç5ń?{^yenxý¤“NĐ`růĺ—…_Ű«ŻľćĚçĚŮűÚ-DuŮeď���€ˇĹn„ ôűŘw���Á��0čuvvvM~mńWjŤg§z˘ó§KĄöľ˝ JÖě­*~ş\W=ŻŔ–(´¨Zž>*Ľłşë3ÚÚőYŮg¤éO‡2M……βkţřÇ{o›ßţöŽđú¸qc»µäŠöđĂŹj×®Ý1÷544čŻ} Ľ~ţůçvŰúé§uť»ŘY¶süűߏ(žgžy.\Č‚HöŘhVyÇŐßď·U/:őÔSśĺ+VjĺĘUZ»vťł~öŮgެ¬L����†ű™"•–Ä80Řwa ~®��@ęţ��€]Ń%^;(+1 ő|p™BJ?­âŮÔ¬ĐúˇK{PÁçwČ˙Ąę¸~¶‚ßń*@ö˝\î|f©¶űĘtű/«6sĂ Żßwß_őťďü·6nÜ´ßóZ;°/|áËNČĆůŘXÚŰŰő™Ď|~żóYĄˇĎ}îKŞ©©uÖGޱ_»+»¶O|âćđú/~ń+=ţř“Îűy]O?ý¬~đ‡·ÝrËÇ•““łßµŚQ^¶đM»ňĘ+śą]ł˝–}Űió��� 5„~Ťď��Ŕŕ—%��€>ÖŰP‡:ýťz)´Rň¤˙řŕ†:!†=­ ÜąZÁż¬“çÝ“•őŢi ŤÍS&ĽZˇŹřĎu>»D•s’±ďNdE›t|řĂ7éí·—č­·9ë챩¬l¤ĆŽëTި¨P}}÷PUŞyď{ß“đÜ·Üň1Ý}÷źőţ÷ߨ㎛®ńăÇiĎžJ-[¶Ü©PĺúęWoSiié~Źßű®×ëŻ/ĐĽyŻ;×ń˝ďýPúÓ=:âĂťýëÖ­×¶mŰĂÇźrĘL}ŕď‹y-§ž:Ë©@dľńŤŰuć™§;ďŮśż_µˇľpÎ9gu˝Ćç}´×oĆŚł:���€ÁËm± Dr[y �����Ŕ f•U –ř7kŹ·^=Ęń ń…Zü ţk“:Ţ˙˛ü?Y&oU»zkw×gµ<°Őůěě3ąąąúŐŻ~®ëŻżN^ďľöZ5žŐ«ßqZRE†~¬ĎŤ7~P?ůÉĺó%ţÎXçŇK/qŞô,Y˛Ô -Zôv8ôcçúîw˙K_|aĚÇ[0çżř©®˝öęđ¶;vjöě9Îú±Ę9żţő/»˝†H7ßüQ•—Źq–­ÂŇóĎż¨çž{A/ż<Gý!;;»ë˝xW·mW\ńî¸× ���`đ±p‡Ý¸Äbß Ba�����Ŕ Ż T[[›3ź§5ę)ß±e ř<R łí¤ş±˘4EŮňg;«!ŹGž˘jµşFR÷¶r 5űĺéšBţ •@Pˇ§·©ýĄň^{°˛>t¸B…=MÍ ®ŃLć|†Â1‘|zSÍ'Uyyyúú׿âu^xáE-X°P;wîTmmťî±V\ăÇŹ×é§źęTČ™4ibJçµëţŢ÷ţźN>y¦SmgÓ¦MjoďĐرĺš5ë}đď×ÁOIx }ë[_×e—˝KŹ>ú¸/^âT 2V1çřăg誫®ĐI'ťđ<ĺĺĺş˙ţ{ś DóćÍwÎaa÷ĎN°×đŹ<^żâ Ú|���CId›f űŽô¦˘/���úNŞżiń¤¸Ď“ÂÜgÝťĽswňýg›/j˛}ö/MoGGç|�€Ś°ÖCʰÉ]Ţ{÷_‹‚Á&Ož”ÖůbµúŠŢ+řcóĘĘJ'PńˇćßjkVŤz*đ% >żC=á)Ě’*’grˇ46_ť'ď<iT®<#»ćĹ]ű ÓĎS{:‚ 5ůĄĆ…ŞŰŞjsć˛ů®®A×íÍ íčšwP@¨$GYź>JžËŇűĽ]SŁuOÁg”——«ŃŁG‡C>‘aźčŕO¬ P_‡RuÖYç‡ď€}ůĺçU\\,ěeU†ľő­ď8Ë'žx‚îşë���:::ÔĐĐ  ţäää}ËŞ�{˝ĺç87 ٸݼdsw��dFNNöé]3ű%LĂć¨)ôźy0b EĚŁ'ĹYO4Ź^Ž–ô®v*ţ��€>+ô“*kŁä÷ThŇ6_ĎC?&űKÓŐ±±QˇőI3Ëóĺ9ĽDŢŁFČÓ5y§–(4ŞoµB9^©,Ç™<SŠb'­!yŞÚÜҤкz×v]×kmovöő©†ů˛Tľşvy?xҵŮ[Ąş®ĎnT§Ďů,{:0Ő•Đ;O?ýLxůꫯ���€ˇ_H•}Wţ��� >��Ŕ€‹×ćËî:4oű7*ÔËÜG°Đ§ś;Ď˙Ďkxr›ÔŘąwGI¶Ľ'Ž–çäŃňžR.ŤÍë~m`^ŹBĺyňŘd×řźÍž¶€‚+jZZŁŕâj…V×őYe ŔÝkĺ;kĽB“ Ňzś}f‹ý›taÎńÎg™źźżw{?·űBßz㍅š7ďugą¬l¤.Ľđ|���:;;ť H…ű}±öŇ���<ţ��€A«˝˝Ý™żظ·Ég/s˝ň~ę(ůn=JŞjw‰†Fçj( ĺůä™9Ú™ś>©ť!—V+8ŻB!›vgđŽÍ@P'·8ď]ş7ęBď|–nđCßßţöw˝óÎçsť;w^8°wóÍăîO���`qîReß‚?��� Á��ĐďRi˙eÇX•›/ mQ&9ŐĆ ÍŔO<ˇlŹňuMúÂ1Ҧ&^ŮĄŕó;$k ÖKÁ ŤájCéXÜÚíłLV݇ @CĂż˙ý¶nÝÖmŰĄ—^˘ëŻżN����†Ž¶¶6é°ďLQQ‘���0xü��–ßPg0 ťľz!MS‹ä›z|9Lˇ•u >»MÁŮ»öµ8K“§'©ź.;}u]źˇ_?ažá˘±±Ń™çććĘçóéC¦éšk®ŇWĽ›Đ���0„ ćj?@Ŕi)<oŢ|­]»N••UN‹©ÂÂMš4IÇw¬.Ľđ|đˇ˙ŮwÇ~&��Ŕŕ@đ��ô™T*űÄ;Ţď÷;ómţJ=éťÝyŽ!_×”őŮcäz›‚˙Ú”v Ď‘#Ô~OP;ü5šęë|¦n9đt+ű †J@sçΤââb=üđ���0´YeÖÁhÁ‚7ô»ßݩݻ+öŰ×ĐШU«V;Ó?˙ůÎ:ë }öłźRYY™Đě»Cđ��`đčá˝Ű���™/ä¶+…Ěĺzĺ»fŠrţv®˛~4SžŁS óŘă®<X=µ%°Ç™Ű›1Ż+D° ����ú›UĐlî»ďŻşýö˙Žú‰f?KľúękşőÖĎjÆŤB˙Śß��€Á��0(ą!‘ÍťÉűš$ň4äÝÓ.ď–fyÖ5î?mo‘*ŰťăŘ KČÓu˝gŽUÖťgČ÷˝ĄI…ńöz”őŐ ŤÎQOmęÜüqĂ\����€e?sA &Ź<ňî»ďo1÷䫼|ŚÓn8ZMM­ľńŤo«˛’‡ú‹}wâÝÜ��€ţG«/��ĐŻR©îbǸ!‘ÍĘ˙‹§% Đ–&·4*´µYÚÓ*U·+TÝ&U¶)ÔÜ@KIŽ<eą]SŽ4:O—/ĎÄBy'ĘsP‘BĄŮęsÉ{îxyϧГŰřëz…*Z÷ížVě´ÓĚQꍭÁ}ÁźTZv †¶^����0ś ¶Š-۶m×Ýw˙yżí—]ö.]ýuš<y’łn“ůó_×=÷ܧ-[¶†Ź«­­Ó/ůkýřÇ?ú‡}‡b±ú‹ /Ýzď;zpá]sŇýţ#G('«w÷şwř]ç\ŁGUęúSĘő‡Ź)†'��ŔP@đ�� Jîťc{B ęOž¶ ‚«jZ]§P×<¸¦aoĐ'Ó:˛is÷ÍáűĺJ˛ĺ9ĽTžĂJäíš{Ź©Đř|ő źGž«Rö•9•‰•­ňŽ/ČŘóí Ő;sî���€Áa°ý|f-ľ:::şműüç?Ł+ŻĽĽŰ6Ż×«3Ď<C'ťt˘ľůÍďhĹŠ•á}oľąHË–-×qÇMoűîw ąsç…ׯ˝öj}úÓźü˙ěÝx[ĺŮĆń[–÷Iśáě’I aď˝WŮ«´Ą”ŃŇÁjK?(…(«Ą@ŮŁ´l 3ě„@ $!ěaÇńŚ·-}zO"E’5mŮ–’˙Ż×éŃ™::’ąě7·žÇÚďé§źŐâĹß«©©YĹĹ}¬sžpÂq0 ¨KµÂGü©Ţyç]ëřŞŞjĄ¤¤X‰ĆŹ§ŁŹ>RC‡ x¬˙ő\yĺĺ:ę¨#´pá"=óĚôÝw U_ß ˘˘Bíąçx+ô4hĐ@ĹŁžţ }łf‹ž˝Ázüř'UUߪg~:¦Ăáú9ăţďôňWĺÖňż]çţéA4~PŽ���âÁ��—Ü%Ç뜍ęJ6‡SZ\ŁÖĎKĺśS.ç˘j×čU”;Żi‘sną5y®¦O†’ĆĘ6¶PöI˝ĺěŰ ić)›kŠe3˛Ő[óx+#����;«x ţlٲE~ř‘Ďş)S&µ ýxËČČĐ5×\­‹.şÔ'04sć>Áź@Ţ|ómÝ~ű>‰MĹ!3™ăő««tŔű<¶˛˛RúÓź5ţ7>ëM…[SČL/żüŞŽ;î]zéĹJNýO0ć}ř裏őÇ?Ţěó7óĆŤĄzýő7őî»ďëşë~ŁiÓöRĽééĎPIašrÓíŞiÜzŻ|]®Óďű®Cá˙ĐŹaÎ]R.��€DĐąş‡���]Ä=�×hë˘ňă®Ó;ţóZNĄćK?’ăßKĺ\Pˇź`ĘäxkťÚn˙Vͧż«Ös>PŰý‹d[P%[_vmR“5'ř����ń!ž‚?óć}ÝîzLežpú÷ď§©S'ű¬›3gnČc~řa…ţţ÷{¶!7!˘›oľŐ§’[mm­.»ěŠvˇćÜ/ľř˛. gÝşő®çűKĐż—›ššôç?ߦ͛7+Ţôôg¨(;EĎ]¶‡2R¶˙3—;üc‚<‘ ú1ç4çî•Ý mŘ��b€ŕ�� ţnžŕOR«şBŰ?«ížErV6+Q9Wn‘ăéÔüÓŹŐrâ,µÝ˝P¶ď»·5Z$šě[ßC˙Ě`­����€®OŹ­X±Âg955Őj™‰É“'ů,WWר˘˘"čţ_=ß ÷Š<·Ţúşĺ–›tŘa‡řěcîŤE ăÎ;ďVii™g933C^xžkýíúË_n¶ÎiłŮ<ŰgÍz·]%#˙űß Vµ #Ž8Ějűuîąg©WŻ"ź}ęęę­JDń&>CîV 1¶Ăáź`ˇsNsn��€DA«/��—Ü!‘¦®ţ¬­—ă™´#qV4ÉůÜ 5»&Ű lŮŽ¨äcÉ™ÝóżîµÚÜß´ ����Đóâ©"ëćÍľAťÂ‚°-˛Üz÷îđ|………AŹąřâ tę©'{–Mx(??_Ď>űśgÝÚµëôÝw µűîc<Ë|0Űł=%%Eýë_4räĎş öTqq=đŔCžuĎ<óí»ďt…rĂ żÓôéűx–M€č‚ .QUUµgÝÜąótöŮ?R<‰—Ď;üsü]ߨˇeë5™đŹ ô<ý“ŕmżý��€ ��@\rq¬ÉűŇŃŽŹ7şţoÇ­6ă\˝EŽű©ů„·Ővë7˛ýP§žÔfŰzŻC}ę?����°sjllôYÎÉÉQ¤rssŰ­3í±‚1ˇ˘“N:ˇÝúłÎ:C>ë>ţřSĎăwŢy×gŰôé{ű„~ÜN8á8źó,Y˛4d˘áÇů„~ óš;ěPźuĺĺĺBp&¨ó‚_ĺč1Áž@•‚…~^ ô����@Źé±°G]×´‹;M9^[Łf×”´WoŮĎ-í–'�����âEzzşĎň–-[©ÚÚÚvëŇŇŇ‚î?nÜXŮíövëMXg÷ÝwÓś9_zÖmܸŃóř‡|Ű‘˝÷Ţ ¦ˇˇÁgyĺĘUA+ <(ŕúţýű…<'Ú;h[řçŻĘ?îđŹwĺźPˇźý��€Eđ��Ä%›mkŐźÔV»Rb\>zXäß +É&[~Şk”Č5pť"[f˛śIZZ5¶ZAŐ»ćŐÍrvsřČńŮ&k˛Mě%űĹŁeŰ-_ÝĹîÜz?l6Z}����|™*<ŢL«®¶¶¶€›6•‡=źď¶ŕ-ŔzőňmVQQéy\^ľąÝţˇÂ?ŢŞ«k‚n ÖŇ,ŇVgđ,üsÚ˝ ôěĎv·–ÍăWço? ý��€ż=�€¸”””äčs(µ-I )Š©¤}Šĺčź)çúúČHłË6<G¶AŮ®)K2ó>éJę“)ĺ§ú„akvĘYŃ$gyuÎuuŇ:×|mťśËkĄ¦Ř·83ś_–«u^ąl PęOw•ŁWšşšÝá.µM;/����ćon‡#Ć_˛é ˇC‡ú,777kţüo4ažaŹť3g®ĎrnnŽŠŠŠ‚îßÚÚń¶X}yĹĽž‘ů ĹŁ@áô1÷c7B?��`GAđ��Ä%÷�[ş#YŐjRLąvRnž¬ć_~.•7¶ßŢ'CI‹dŰ˝@I®ÁŰĐě€ážÎÄXś©®óőM—ÍL»ű0Ů\ăRÎ5[äXR-çb×4żBÎĺ5R[Ś‚3®Ó8g­SÓěŤJúŃp%ź3˘CáĄHĄµmý–fĽ ���ŔÎ&ž*˛N0ľ]éĹ_üٸ±Tź}ö…ĎşI“&†<fýúő!¶mđY.(Ř^)׿ŠĐś«3Ď<];łx®ę,üăŤĐ��Ř‘ü��=Ć 9ťÎ ŰŚ4G×üşâ–­Ô'öWŰ««äX\#[’ë9GçÉ>µXÎA™ľűŞ{9M>fp¶’\“°ue}›ßTČůE™śźş¦uV+ ĄÉu·—¨uiµěšäşę™-©Öśŕ����ÄÓFË´ÓŠ999š1c}đÁlĎşO>ůLŻľ:SG}dŔcuŰmkWMçČ#W(ß~űťjkk­çô¶yóf-^ü˝Ďşţýű{2Xź~úągyáÂEÚŮEŇŠ­' ˙¸ú��;ţő��Ä%wH$ÝŃu9eg¦]I§Sň ăeżnĽ’NÚ.ô7̵îŐ[öËÇ(ůé”ňÄţ˛˙xن娳łKĺř`şJv[řŕO<S����v4ńÚ8çśł”’âŰçűÎ;ďÖ]wÝăS‰ÇT2í˝~ń‹«­v`ŢLĺ ńăÇ…|ş÷Ţř| Éśóî»ďk„š6mŞçńAčłí‹/ć¶{~cíÚu:é¤ÓtŮeWčo»K/˝ôJܬb-Ţ?†;üc‚>n„~��ŔŽŠ?�� .ą Zł\˙żYđ3(ËjÓe&­¨UŰ[ëäśąVÎĘŽµEsĽżQIű÷SW(˛ŢĂÄ���€ťAĽý}6xđ ]tŃůş˙ţ|ÖżňĘkÖ”““mUé)/ßܮʏaÚr]}ő•ŠÄ¬YďZť}ö™f€>üđ#-[¶ÜgźK´Űn»z–MĹź)S&YĂ„…~űŰëuŇIÇkĎ=·¶*űţű%zîą˙©şşĆšLˇÝwŁăŽ;F;˘Důß|^ľr¬.~x±µüŻ vŃţ»ú��;‚?�� .ř·ýJNŢúkJżÖ\!ڎ9Vő]8ZŽ÷ÖËńÂ*9TFu [UÇC‘čŰšoÍÝď©ç9©ň����=ÂżşN<8餴eË=ţřSí¶ŐÖn±¦@Lčç–[ţ¤ââ> gܸ±V@Ç„rü[{ą™Ď/ye»ŞµżúŐUşôŇË´ys…µlHO?ýk $##CW^yąvTńř Ć}–ţeš���vT��@\rs¬D˝„%Ű”tČ�k2ÁÇcKĺřlSdÇ–d©« ˛Zs˙ŕO<1ßÖ4ĺ×ÍÜĐĚ|gb´MËĚÍĎ^¨¶l����źű÷ţxűŰçÜsĎÖ¨Q#uĎ=÷«´´,ěţ3fěŁË.ű‰ŠŠŠ :ćŁtË- Ř‚+55UżýíŻ4fĚní¶čŢ{ďŇM7ݢďľ[ňyúö-Ö 7\kU2Úą˙v��@| ř��â’;$24%ü7öĐžm÷Ů˙2Eöď«ŐúĎĹrÎ-ľs’MÉÇ–S]cHJ±5ŹÇŕOKK‹'đł3sż~s/Ě=qâ&Ň78���DÇüľßÔÔuŐ_;jÚ´˝4eĘd}ôŃ'úřăO´dÉRmÚTný­’••©’’Ť»‡>ř@ :DŃÚ˙}­`ΓO>­ ľsÝf+4qâ«ęPż~}Ű«W/ÝqÇmúňËyzë­YZľü•——«µµMąą99r„uý‡rĐý÷+��Ä‚?�� .ąC"ÓŠew&©Í¶s3:ltž’˙6UÎOËÔvď"9Wű•F·IöËv“sT×´Tł;l’±5řOß4ĆfB`&d&sŹĚ€.ş���ŔŽÇT·‰ÇŕŹaţ~ÜożÖÔvŮe´nşé÷ęóE‰É“'YS´nĽńşö;ě°C¬)^™Ď���âÁ��Đ­L;!ÓJ)’}’“íĘÉĚRQ}şĘ2ëOl[Ze«hVŰćF9ˤꩡUÎşV©Ţ59ĽĆ¬dŮRíR¶ëW°‚4Ů\SRŻt©o¦ś]ŰZÉ6­Ź’§ô–óŤµr|°QÎęfنd+ů„!rî’§®Ň«!KŮŮYÖ{i]‡ë˝ {­ěÓQ&ĚŇÜÜĽÓWř‰†»*’ŘĄ���°ăHKKSmm­€h™Ď���âÁ��·LĐ ##C7öLđÇ„wÖÖËą¤JŽĄ5Ň:×ăő®ëŘPż5ŕKů©˛ Č”mHŽl#r•4*O¶‘yr¦Ç0ha·ÉvÔ@Ů]“[Wµ÷rR›Żô^éqńmŔÖÖV+ôč™ TccŁő>ĆcË6����“žžný®DĘ|f���_µ��=*T ó ˛úúíÚÔGs´V]ŞŐ)ŰĘ-jűľJZRm}śËj¤Ć6u‹Şf9Íô]•µh=« ęŚČ•m|‘ě{É6ˇHÎôři—‰]‹­÷8Ô·»˛ÂʎźŘpßCÂ?���ŔŽÁü­FđŃ Ú��@üaÄ��t™HÚz…Úß]%fBňp=îś'gäCl®§kű÷µýoĄTۢ¸Ňć”óűjkr<űë†$)iB/٦+yż~räĄ(ž™{;1eőŘżâO´aźÎ„ýÄá���`Ç‘’’bM¦Ĺ/Žűó��€řÂh=��[IIIJN¶k`^_ő©ĎViÖĹZëßËńř2%„f‡ź•I®ÉqçwŇÔ޲^"ŰŢ}\Ło1l #}ërT’ßĎ5(l˝—=Á´¨"ô{ćžš÷´§ŢW����±cZlüA$Ěg���ń‡ŕ��čv‘TrďcJHçççiřš‚lÍN9ź_©DäluH—ŞŐ5Ů Ň”tÜ %ź4LŽĽřůőnhMľ †ä{ŞýDRµ'ÖmżýtsoÓÓÓ��� ±™żŮĚ´#ţýtăŤ× ±áţś��� ţđ]��×L°Ŕ ,íŮ0P1×Đ*g]«ťł˛ImŹ,UÓ‰o«íÖodŰĐ x0±q°ŐާÂ!櫦⺆ą·|+���Ř1dff …Ď��@ü˘â��čqŢ€ü«™ĐŹÝž¤ iĂUĐ8O•鍊gV˛l©rVvâ[Ťů©˛őN—Š3d3í¶Ňí[ŰnĄšÉn­s&ۤ†6©É55¶ÉYĺzľŞ&iłk*oÚZ˝'ZrĽ¶F-o®“í°Jľ`´ś˝ÓÔ Ó5>m¨őŢů#Đ»ŞO¬+üxëL(ĺĂgëąçž¸Í´.ËËËÓ Aµçžă5vě;mË+sŹSRR��� ±™/m6N ńńEÄóŮ0ź���Ä'~S��]*’¶^á¦Ţ˝ziě¦~ú d…b&٦¤sFŞí®ďBîfë›!ŰČ\نçJý2e+ÎPRź É59S;\±9śr–5ÉąľNÎĺ5r.sMK]ÓŠZ©­c÷͉śŻ­Qó¬u˛ź>\ÉgŹ”#µë6ŚŰÔWĹ}űXď]gu$Ô••hZZZU^ľŮšćÍűZ–čüóĎQďŢ˝µ3"ü���첲˛¬ßď[[ż2.bÇ~Ěg���ń‹ŕ��č‘‚ÜűđHAA¦,¬µRNu.Hä-é¤!®ŃÍdµ=űTÖ([Qşň‘kJťŻ¤QyrfŮŰ«+p&٤ľ®ç4Ó„˘íÚä_!çüÍr~ľÉ E­Éˇ¶G—ŞmćĄÝ<YŽŃąę6×˙¦llUĹq—Ź$ĽËę?mmmę.kÖ¬Ő­·Ţ®+®¸\%%´ł1÷šŕ���°cČÎÎVUU•�7ó™���@|#ř��âB¨v_ćŰe¦˝Ň‚!*©ýJkrŞKI‡—XS ±‹E)Ă®¤˝zKfúń.Ri•Ęůö:9F9»©QM—ŞÔ'÷—łW×·ţX“«Ý †)55Ev»ohŞ;Ú|9kŠĄ_ýę*őë××ú\nٲEëÖ­×ěŮkѢĹÖö¦¦fýűߏęšk®VZZĎ´Wë)îű˝ł¶;���v$ćďoô0÷�ćł@‹/��€řÇol�� ®ąC@¦¬´ ^LZÖ?ćÁź„`Ú‹™ęD®)ym˝Z__#Ç+«ĄŞćČŽohU›k˙¤óGŞ«M* ~#űFUí'–ş˘ÚŹ©hă®jSXXhM{ě±»^zéÍšő®µľ¬l“>ř`¶=ôŕvÇ›€Đ'ź|ŞŐ«×¨¦¦Ćş7ĹĹĹš<y˘kšÔn ućĚ7ôúëoZŹűö-Öµ×ţĆ:Ç[oÍŇúőë­ő%%%ÖsŤ=*ŕ5›ýźţ…ćÎť§ŇŇR566*''G#GŽĐľűÎĐŕÁ+ćžü���v éééV¸żľľ^Řy™ż[Íg���ńŹŕ��čr‘´ő Ç´űĘÉÉÖ>Í#ô^ăJUĄ7hgĺ,É”ýâŃJ>o”Úf­“ă™ä\Qţ¸Š&uµ‚ĆtíÓ2RŮŮYÖ{ÖY ĹşÚO(Çs”ľúękmŢ\a-› Ťwđ§µµUO?ý¬ľřb®Ďq55µÖ´té2}ôŃ'şřâ ”źźđ9L¨fÎśązüń§|~Ž–,YjÖYghĘ”É>ÇTVVęŇÚµëüÖWY×2gΗ:üđCu䑇+şóž���čz&ôaţţhhŘy˙öŢ™™żçÝ_ć��@üăką�� Çř‡:µ2%¦ ¨é ’3Ŧ¤#J”ňČľ˛˙a‚lĂrBîo•«®6}Ý` ě?ŔzŻÚ=÷7–U:2‹†©r3věžeSőÇ»$ţóĎżčúÉĚĚĐĂUP°=äcŞ�™Ž bľeűß˙>ď967wűűl^ësĎýOÍÍŰ+?™óx‡~Ě5îşë.š:u˛Š‹űxŽ3…>űěsĹBwŢs����ÝĂTŢŤĹ:XĚ{nŢ{���$*ţ��€¸ç®dźú÷ď«˝VŐÍ+U›a›«śÓ&%ĐOöýű©mć9ţő}»ę>¶ąJ>´D]Y—%·)MÓ¶ U˙±}=ĂÝÝćËčîę3î0Ť›©ţc‚O7–jöěŹ=ëM‹­K.ąĐ*•n>ϦMŘ;ďĽgm[łf­>ýô3Í1˝Ýůëęę5fĚ®şđÂó­vc&ŘóČ#Źiţüo­íŤŤMúţű%Vë1ĂśÇú±Ű“tůĺ—iذˇÖ˛yŢÇŇŞřcĽúęLMť:ĄÓď���€“ €żhűµs0U~¨ô��x¨ř��şE°`A4łoNNŽF ˘ië ľ¬�ĐQ•ňô˛_2Ú ű؆ä(锡J˝c/9ŇşöWż}6 ŇđÁC¬÷(Ú÷5šőńĆPÔ]}Ç´çňvÚi§XˇĂĽ6Ó&,??Ďł}îÜyAźă¸ă޵B?Frr˛?ü0źíĎ3qâOčÇýĽÇ{´gąşşF«V­����cţć TŐ;óú��HLTü��qĹ]Ý'Řc3UR2@ű¬˘ĎűŻUujŁŕË™‘¤¤łFX“[W×cÉoĚĐ´Ş!0¦żg 0XkŻD ôDĘ˙›Ż©©©Ö|Æ žuyyąí*ŮívŤ5ŇÓ lăĆŤ ¦¨¨Đgą°°ŔgąąąĹóŘűyÍą˝[Ť˛iÓ& 2X����Śůů‚im¬M1“y_MčÇĚ��¨ř��Š ŤäççkÄŔˇ:bĹ!>±r„őž÷fG ö„SZZćłěé]nÁľkĘć»Ő×7¨­­-ŕ~‘ŢSs|CCta¸ĆFÂs����Â3Áó7껵3źy/Í{Jč�� ±ńŰ��č6Ţ|B­WőÇ|Ópذ!żf­ćUnĐ’‚ÍBĎŮĄ˘—Ć5”hČA>­¬ÜBUűéŠ6_IIIr8şşĆŃVćyľůć[Ďrź>˝=!ꬬí%ŇÍ·b©««ó<ÎČH·Ş�u†9>==MŤŤMÖň¤It衇„<&77Gťeî9���€ťůCZZšUýÔÝę‰ĹTŞ5Őz ü���ěř­��$¤ÂÂBŤ=JG-®ŇŠĽĎŐ’Ô=AřJqŘuřŞ®÷b¤ŠŠŠşłâĐkŻ˝®Í›+<ËS§Nń<îŰ·Żľýö;ëquuŤUȻݗ©ÎłdÉRźýcˇ¸¸X«V­ö<Gż~íĎkŞü¸CZ±°łUy���vv&0’››kÔŇŇ"Äż””«ĘŹ»E5���v |5��t«H+Ľ„«c*› <PòűkúşABϱv°Fd›j?=Őjz˛ÚŹŃŐgL€ĆT÷immUuuµ.\¤üă˝őÖ,Ď>˝{÷Ň~űÍđ,Ož<ÉçĎ>űśšš¶Vâ1•«^~ůUUUU{í?Q±0qâĎăůóżŐ˘E‹}¶Ďžý‘®ąćwúýďoŇ>l Ňw���€ť“ äĺĺYS,ż\€Ř2ďŤű}"ô��°ăˇâ��HXćŰ…»ďľ›6T©ĺů•ZťS-tź’-ąÚwă`í¶Ď.ĘÉé|»¨X1¤XŰôÖ[oą=--U\pžUîŢÍTÚ™>}o}ôŃ'ÖňŇĄËtăŤÔ€T^^®ŠŠJĎľô×´i{)öŢ{/}ňɧڸ±Ô +Ý˙1b¸ ¬ŞC+W®˛ö3•ŠLu ómĎÎęl‹2����‰ÍT’1“i}lľđ`*™żËş« 3|™/g÷Ă„|Ľ˙N��Ŕމŕ��¦Ň‹©„h9ŘăţýűkŘŕÁ:iIŁţ9nŽę“)/Ţ2Z“uĘ’1>d¨dqëlµźX0śfę®fÚąŕ‚sŐ§OźvŰN<ńx«˘Î—_~e-×ŐŐű´÷2JJčâ‹/°JĺÇ‚Ô˝ä’ őŔYáółbBGţ¤łĎ>Sťĺľß����`żIÜaS=Ő€ĚÜ=™żQņů[Ěü}mľŚážLŕ‡/g���ě\ţ��€nçđéČqîÇf0kĎ=Ç«Ľ|łNX¶«žÚĺ[9ýą9›ëÇ/ßUÓzkܸ±a[|Euî‚Ě5uŐ@rJJ˛U}Đ Öë?~\Đŕ‹p=ďĽs¬¶_ź~ú™VŻ^ŁÚÚZ«ĘŽ©¶3iŇM™2ŮÚ/–z÷î­_ýę*}ţůš7ďk•––ŞľľŢz^Ôš8qOëyc1Ě€2���€`Üa����]'ŇY±E¸ÍÁÜdŮ=%yÍÝ“}Ű:»ßd¶ĺšyssË'��1áţž™ÜŹ[[[ŐĐP/‡Ă©KÔYˇ‚?ţŰĽ—=6Á†÷ŢűP3Kë“~k„®3}ý ľn´8`_+Ľâ‹j?±¬d‚.čz™™™�����±±fÍZ%%Ů”‘‘iUvWu2s÷c��©©){»fć[Ä5Űćm~“sŰÜá59˝ćţ“‚,‡šű?ööŰîÔä��="š€G$@Ůsϱ:xŐp «)şĆđŞB¸zƏߣCˇźPbÝţ+ÖUtĐ÷�������€žEđ��Äťp`Á’QŁFiÄС:}ńę·%G­ţ®{zÚ’Ý­{<zôhĎúh‚>±÷„bB)ÁZpˇóĚ˝%ř�������@Ďâ_B��@ʉ¦ĺS$łĎ”)“Ő/ż—ÎZ<NE Bl6fčG‹Çj@aëGú~„ZŽt[g¤¦¦ ]{ �������@Ď#ř��zT¬[~™Ţç°żúečěĹă”Ýś&tNNsŞÎY8^ý3‹´ß~űZ÷Ř-[|y3Ui¨Äžą§TS������� ç1Z��âVG[~Ą§§ë Ô�{ˇÎ^Dř§3Ě˝;{Ńxő·ç[*soÝâµĹ—?T"ü;ć^z‡ż��������@Ď!ř��z\gZ~ źdeeYáźÁŽB]´`‚Š2…č4¦ë‚ďöÔ ×=4÷2;;Űł-Tč'Z|ů#ü„~��������/��@‰4H’››«>PýíşpÁ ¨Í"ÓKŽ.Z0QlÖ=ĚËËól‹‡ OGŔŠ©XD‹Şč™{fîˇ��������â ˙ę��âB´a’H+ÎäççëĐCVż¬Bť»hĽFT ˇ ­Î׹ Ç«8­ŔşwćşEZq)ÔşH¶uw€%%%EŚąW¦��������OŚŢ�€¸Ń™H¨@ŠiQu衇¨¤¨Xg.«ýÖ ‘Í)ř±ąţ7uC‰Î^4^%…Ĺ:üđC•““ł}{-ĽÂmďéĘ@&Ě’™™iÍ ´´gî‰÷=��������ń‰Zý�� a°ÓéěĐrZZš8`}öŮ粯–ÔĺęĹ‹TźÜ"H™­):aŮ®UU¤K4mÚ^>ŹpˇźhCAńÂĽF39µµµYsó™1óť‰ ú÷ĚĚív;a(��������Á��WüĂ;ŃîjŮ<öŮgoőîÝKI_ÍWßo˛őÜď´&·Z;łµą:eéµfj÷±c4fĚn>ÁŹX‡|â1d^/a��������hţ��€¸*üh[4áîŘe—]TPP Ď?˙Bç/ÜS XĄŮV«%©M;“G’f¬¬+7+GÓö›Ş>}úřěÓ‘ĐO<·ř��������Ř‘ü��q©+Ă?Fqq±9ä`ÍťűĄŇÖ§hü¦~zcđR-,Ú¤ťÁ¨Ę"ąr¤zµf«I?Mś8AYYY>űú��������o��@BŠ4üc¸×ůoĎČȰZ-_ţ.\¤Ó—ĄkѦMz}čRUĄ5jG”Ű”¦ĂVŽĐî•}”““Ł]Çí˘áǵksëĐ���������bŹŕ��[ˇŞţŰnťČ^Fގ’’úî»…J[•¦áó 5§÷:}:`ŤjR›´#ČmJŐŢëiҦţĘIÍRÉÚ}÷1QWů‰f]4Ű��������=‚?�� ®uEř'в©ţcÚ] X˘ *Ż&[{}]˘ů5»dµ6gÔ+ĺ7ĄkŻ %š˛©DY)Ęëť§1cvSßľĹ1«ęCč�������� gü��qŻŁá#TŘ'P+°ââbiőę5Z±bĄ˛k˛4ţŰţš_°As‹×kmnŤś ~-ńŔćúßŔš\M,íŻq•ý”™–n~† j›’“}Ś$Ě,ĽCč�������� çü�� ˇ#áź@ë# ™`Ś É <H6lÔ˛eË”W›Ł˝~˘RGµľ)Ú¨y}6¨"ŁAń$·)M{”[íĽú:ň”––¦ěâl :D ”ÝnowLG«ü„Zév���������tÁ��0bţ ´.P ČeJJ¨˙~Zż~V­ZĄôŞt ¨-Ň›Gč‡ôÍú.żL+r+UšµEÎnÎąŘ\—Ú·.[CŞ ´{u±†5)55UÉéÉ*(Č× A¬kOJJjl'Űxú��������čy��@B‰$ücDÚú+’u&8c@ôWCCZ»v­˛ę˛´{ő@µnnQU[˝–g–kYÎf­Ę­RyFŁIĹR’#I˝ę34¤6_Ăk 5˘ľ—r“2­ Eć3Š2ÔŻ__«ťWVVV§Â= üDş���������:Źŕ��H8áÂ?ˇö‰¤úŹ{ťá ĘĚĚÔĂ5|ř0UTT¨´´L›7oVJMŞz;ňµWő9*jnkQą}‹ĘR¶hcj­ĘÓ¶¨2µAu)ÍŞOiSKr›ÚäpÍ·†RZ“dW’knWVK˛2[RTĐśˇ^MYę×’ŁŢÍ9ęŐ–­T{Ęö >éRnnŽŠŠŠÔ·o± ˘ěú��������H\��@BęlřÇWé'Üz¸1“ŮÖŇŇ˘ŠŠJ•——[A şşz•8ÓTŇV$5hëä%ص Î$ą¶ŮmĘĘĘ´žłWŻ^*,,PJJJȰM,?á¶Eł���������b‡ŕ��)’€MO‰4ücDSý'Đţޡ–@ŰRSS­Ş;f2ŰÍdÚ‚ŐŐŐiË3m±–›››ŐŇŇŞÖÖV9µµµYç°ŰíV%Ó¶+%%Ů:_FF†˛łł]S–ŐşË,›ç °‰U(ÔúŽî�����€Č1ć��Â!ř��ňĹÄë C¤Á¤hŞ˙„Zn›{»™LXÇL}ú(äţˇ®9Vűw$ŘCč����� gřŹ·0ţ��‚!ř��^¸ N$űu´ŇŹ·Hź?Vş˘ňO¸mŮ���������]ŕ��É7ÜaÇgŰ/ŁłŐÜŰŚPá H¶‡ÚŻ#˘ Ůt&ÔCč����� §mwa ��„Cđ��´(ăzŮZ �yoµŹ˙~]%’çUŕ'Ú}�����ď1¦@ă/ŚÉ��€@ţ��€ą‡ěv»âU¤­ż"Ů7’€O´-ż:+–Uyü������Ä3ćf0��˘Ađ��D,))Immmjmm‹ëŕŹ[¤ŐÜű‘Vďéh•źhŻ'Z]ŐŞ‹'�����€®eĆÜ 3��)‚?�� bfĐÁ@•––ŞDMőźhöŹ4ę¸XéĘŞ=~������ş‡s3c1��@4řÍ��„eĽęëë•hÜŻ!Úý#m—ÍţťíóuäÚşëµ������`+÷›űËwŚÍ��€HPń��ĺß*kë ÔŇŇbőOÄoEÓţËű#–mş‚ť+–:]Ý. ������±aĆỨݞÔnĚŤ±�� ��@Hţ v{˛µ®ˇˇA‰ŞŁßŠee˙suĹ9;z<������ş—k3ă2fěÍc5�� ‚?�� ,wya3·ŰíÖşęę%şÎ]ş»ĹW¸kčě9������Đ3ÜcmfěÍ{,�� Z}�€€üŰ[ąĂ!fŔÁL­­­jjjRZZšťwč%Ú6`Á΋ó…;w<ť������cĆŘĚX›wčÇ{ě†/m�€P �€ 4$'om÷UQQ©M¬R‚µôŠvŠőő������ >16ď177Ćq��@$ţ��€v (xWü1fŢŇҢúúíş"tÓSv¤×�����°#1ckfŚÍ{Ě-Ř8c;�� ‚?�� (ďA˙ 4)))Ö|Ó¦Mr8Ú‘%bp†°�����@|3cjflÍ{¬ÍL‡ń��Á��V ÖS¦ç¸»üpyyąv]Ő‚«łâőş������Ss·ř2cm]Ůţ��ě¸ţ��€€ĽżUä˝ÎÝîËýM$»=I ŤŞ®®ŃΨ'd�����Hlf,ÍŚ©™±5wµź@mľŤŃ��xK��@Â?Ű[~ĄĘélVUU•’“íĘĘĘŇÎŽ������SWWgŤĄ™*?fl-Đ—Ľř˛��Á��”\p:ťžą{ť»Ő—›ůV’éI^^ľŮZ&ü������´gB?f m{5m»Uéǻ՗Ő~��@$hő��"čGîňĂ[żť´µ$±¸¨®®������€íĚ™čÇżĹŐ~��@´¨ř��Bň®úăf#L…÷Ŕ„áţ´´´¨ŞŞZMMMęŐ«—g;������°3ÚZ)»\ ŤÖX™GKNN¶{‡~ü@ ��Á��1ďP @ʰp‡Ě@ĆęŐkÔ§Ooeff ������ŘŮÔ×׫¬l“OŐlw{/˙‰°��č‚?�� wŔ'Đr j?ţÇšőÍÍÍjkkÓ¦MĺÖ€FaaˇŇÓÓ������ěč›TQQa}AÎŚ•™°OjjŞ'ŕ,ôă=Ţć�"��!ř��"IřÇ,›őFZZšZ[[­É p”––ZůĘČČ ������v(f\¬ˇˇA••UÖâ 3fŞd»+e{}˘ ý���Cđ��ä_őÇ] đŹ» ű±»t± ţ}·ö3ßlm7۲˛˛¬*@îžć h������ ±/3ÖeľôfŞűÔŐŐYc`†»­—ď2c`îq/÷z÷ăhB?Ś›�€`ţ��€ " ˙¸›A 3Řá^v~¸1̲ů¦“ 1ŹÍĽşşÚ5©ÝsxźĂ{������t'wŕĆîżÝp‡zĚ—ÜĽ>Ţ!ďąűxďsú��Ń"ř��B ţńxđą«˙¸@îe3čau&´µ5Sî§p‡…Üç…@������b!\¸Ć lë:ë˙­ew…÷ľţź@Ëţç%ô��:‚ŕ��+P'XřÇ=páűx·˙ň^çqsŻ÷~‚=������Ćż…vĽ>ţűz·ö U9(Đ2��@0��@Äü«˙ř‚ÜŰ˝7ĽŰyżµŇŹ}Ľ×ą÷������z‚{śËU©'Pű.˙P°c˝ú��Ń ř��˘Më/Ă=°á]ŃÇLîj?Ţaź@! ďöa������@w Ň Ő®Ëż"P¤U~‚­��…ŕ��Z°Ö_Ţë‚ \ř}ťË{;������ĐÓü[{ą×ÚNŕ��t'‚?�� Ă‚U˙1ü@fnÚvy/‡jóĺ?Ř*D@������*pl[$-»ĽŰEz>��€Ž ř��:%XĹž@ëýŰ~ ňŢ������t·P!ďőŃTóaĽ ��ÄÁ��Ş˙¸×ţ!˙ő*ýD:řAĹ������tDgÂ7ÁZyůoŹv��@4ţ��€ Vý'Ô¶`$ţ Hž������µpź`űG» �� #ţ��€ VýÇ˝Í[¸ý †Pí������ťŃŮ0N,A���Eđ��t‰PŐíçm‡������t§hÇŁż��]‰ŕ��čR‘€ü÷÷FU������ô„΄vü��€î@đ��t‹h@Ž������âcY�� ;ü��ÝĘ{ŕJ>������Řö��=…ŕ��č1ţ"������ú��€xAđ��ÄŤp&�����€n@°��$ ‚?�� a0ŕ���������l—$������������� ‡ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ������������€ţ������������� ŕ���ˇššÍžý‘–,Y*��������€ž–,����a­YłF—\ňUVVYËçž{¶~ň“ �������� §ü��=˘¶¶V‡rDČ}RRRTXX ~ýúiĆŚ}t衇¨wďŢB×8ě°#U]]ăYľţúß騣ŽTw ô™¸ýö[5}ú>!Ź;㌳µbĹ Ďň™gžˇË/˙™bíůç_ň„~ŚÇR^xľRSSµł‹äłÓÓź//żüŠnľůVϲůoÍĚ™Ż�������€DBđ��Ä­––•––YÓ×_Ď×C=b:Ž?ţ8!2mmmÚgźý|ÖÝqÇíš6m/!:EE>ËyyąV8-Í™3W?˙ů>ë>üđ]BJ��������ě`ţ��€„Q__Ż?˙ů6ë1át·SO=EË—˙ >­>}úč׿ţĄl6›���������z Á��7L;ŻţýXŹMĄšęę*«ŇϦMĺ>űÝ~űÚ{ďiVřč.¦ZÎŤ7^/��������€xAđ��ÄŤăŽ;VÓ§ďăł®µµUwß}źž}ö?>ë^zé]|ń…���������vV��@\KNNÖ/~q™>üp¶6lŘŕY˙Í7ßÜßápX­Ţ|óM-\¸H•VĄ–ââbMś8A'śpś†¦p***4sćë®çýH7n´Î“™™ˇÁ[Ő†Ž=öh…<GCC^yĺU˝˙ţ‡Zľ|ą¶l©SVV¦ ¤˝öšŞO<^………íŽűá‡:óĚł=Ë˝{÷rťçE555éÉ'źÖŰożŁuëÖ)==Í:×QGa…¦’’’<Ç,Xđť.şčÇŻëĘ+éy|Ç·kÚ´˝ŠÓét]ë©>÷˙€öÓ-·ü_Ŕý›››uřáG[­ŮÜ.¸ŕ<]rÉEę żýíµzシ–ݱî×·ß.ĐăŹ?áú,}«şşzőęŐK“&MÔŹ~t†† Üî<˙ýď˙¬jSnýúőŐ /ü7čöĂ;DřĂŤ*--ŐĂ?ŞĎ?˙\ĺ囕——«]v­SN9Ůú„ňńÇźčÝwßs]ăUVV¨±±Iąą9ÖçĐĽoǬk9׳˙cŹ=ˇűîűGŔsí»ďžÇ~ř®ősá­˛˛Ň Ô}ţůZµj•jjj­}úőë§qăĆę裏Ôn»íŞîĐŃźo555zńĹ—5kÖ»®ź—µÖşáÇ[÷ýC��������;‚?�� î™@Ën»íâ<ٸ±¬Ý~&¬sÝu7jŢĽŻ|Ö› A+V¬°¦˙ýďyť|ňIVČ„Šyíµ×ő—żÜnmĽ™ „ ‹l Ś<©«ŻľŇ ݲhŃb+p˛qci»sPŽ™žxâ)ýň—Wę裏R(ćú͵\vŮ/¬çv3÷ąL8䯽­]#l6›ő:|đaĎşO?ý\ŤŤŤJOOo·˙Çęú1Ç›ĐHĽ0÷óý÷?Đď~w˝s3ź/6yűíYşé¦ßkĆŚéę ó<k×®ŐĹ_ŞĘĘ*ĎúÍ›+¬{d¦óÎ;G—^zI»cMhĺ7żą¶ÝgŮ0!43}őŐ×zě±ÇőÇ?ţŢ ŁuĆ«Żľf…–Ě{ę˙LđĆLĎ?˙‚Ž9ćh]sÍŐJIIQW‰ĹĎÎŇĄË\ŰŻQi©ď'LČËLćőôďßO��������$ş$��$�ď ‰‘‘‘áłl‚^xIŔ „7S˝ćąçţ«˙űż[nć™guÓM˙×.ôčzĚ~3gľŃn› çüřÇ?m\đgBúÓ-zůĺWBî×ÖÖ¦;îř»OčÇßś9_ęRW1Áŕq3×nÂ?Ěš5ËgyĎ=Ç«˙ţŠkÖ¬Ó 7üÁ'ôăÍĽ¶?üá&mÚ´IťŃŇҢ_ýę·>ˇŹ<ňUŐÇ߯ý»°źeĂTÂ1ű.Y˛TőúëoZźC˙ĐO &uçťw««ÄâgÇ�ţó_´ ýx3÷ýłĎ>��������‰ŽŠ?�� î•••iŢĽŻ}Ö ŕ[­ăÖ[oÓ† =˦-Đ9çś­ńăÇY•qLű/SíÇ v1c†<pĎ1&<qセm’L[ĄO<Áj1´fÍë¦ňŰßţv‡¦OßŰÓnÉ‚L¨Ä<§ŰŔuîągiČ!V;%sŽĎ>űÂłÝTZ1í‹úôéŁ@Ěó˝öÚLëřŁŹ> =™j/¦…‘7S‘墋ηŞđ 6T˙üç}Vhč§?ýąĎ~¦ĘŚ»˝—Ů/¦Ý“ đx‡QŢ{ď=«ĺ—7Ó˘ÉT˛ńfŞÄÄî2U¤ĚuíľűnVű­—^zŮő9Űô1š—_~U^xľ:Ę´‰3¦L™¤ýöŰ× “˝űîűVĹoO=őŚöŮgoĎň×_Ď·Ţ_o§ťvŞN9ĺDĺĺĺiůňt×]÷hѢEÖ60ú׿Ôm·ÝŞĂ?ÔjË5gÎ\ź MĆÝwßé©ĺ®Řc4wÜq§Ď~ŁGŹv}^϶ڝ™6e˙ůĎs>!Ż^xŃú<űĽvT¬~vîľű^UUUűś»¸¸ŹŽ:ęH«Íš©řcZż™÷�������€DGđ��Ä%SŤĄŞŞJ_}5_˙řÇí*đxŕžÇ&óÎ;ďy–M¨áľűîŃčŃŁ<ë&Ož¤~ýŠu÷Ý÷yÖ=öŘ>Áź'žxŇ Q¸™ĐĎC=`…ÜLËŞóλPµµ[¬e™5ë+dĽőÖŰ>-É  ˙ű_ĘÎÎö¬›>}]sÍo4{öÇÖ˛ :<óĚsşüňź)QŁFéţűďö7N:éD 6L<đ gś0SĚkÍĚĚ´ &řăϬ7S´L[%ďŕĎG}b]»w{1łÎ»rŚ `xŕţŠ77ß|“öß{héä“OÔé§˙ȧ:ĎçźŃ©ŕŹqꩧ誫~áY>ýôÓtĹWé‹/ćzÖ™Ź÷}\¶l™Ď9z÷îĄ+ŻĽÜłlÂlwÜq›®żţF 4Řő9˘‘#GZŰL�ĆLŢá7óžű·‚3ď•i5¶jŐ×´ŇősÖ¬»îú›g? ›0aO~řŃV¨Ë0?›óç«C9H±‹źó3ŕýß‚­ŻÁüśÜç9Ź Q™J]üăź�������@˘#ř��âĆ/ůëö>|¸OĄ™7ŢxËg»Ůćúq3!ڇzÄÓ6lńâĹÚĽyłŠŠŠ¬P© äÍĽC?† #ő_~9O#FŚĐȑí`„Ű›oľíł˙Ůgźé\0LË,SŤČ^0L»§PÁSőÄ?´qć™§ë_˙zČSĹČ0Ő‘şĘîŻŰo˙›çţ™ą ÇĚ1ÝłŹ›ŻC9DiiiŠ'&$ăú1L%ťŁŽ:Ę ąu¶Ő—©*d*0ůŻ;ăŚÓ}‚?&Hc>‡¦Ş’á˙>oŢ\aU¨ńţĚçççëî»ďRg™ó¸CkÁĎkjjŠ'řcTVV(ÖbńłcŞů‡žĚ6˙óyäáV•§ůóż��������‰Śŕ��H(¦eĎí·ßŞääíżĆřWHyë­Y>aoîĐŠŰ?¬°‚?k×®kWUhď˝§<ÇE]`Mř_Ë“O>c…„üů?תU«ÔÚÚęóşĽ :¤Ý:ÓŇ«WŻ"mÚTîYçÎ5ó|x€^}ő5Ďş÷ß˙Ŕü©««ói esĚQŠ7¦BN đYö˙¬D«¨¨ĐÓÎ[IÉ€vë¶WIš:uŠő90źĂ~űŰk­÷zŹ=v·‚KŁFŤÔر{<g÷ĐüLĎŁi}¶~ýëó[]]ăłźą¦X‹ĹĎÎúőë|¶™Đ٤IiŃGđ�������čţ��€„aZM™–GYYY>ëËĘĘŰíűöŰď(UUŐÖ<Pu—ľ}‹ Ó6ÉÝĚÍ´!3S$Ş««­R ÁAÁÖwÓęĚ;ř3{öGžĐŇ~äSmečС3f7ś}žââbýň—Wę/ů«OŔ¦Ľ|łUůÇL†©~cŞM]pÁyš8q‚:Ę„äL{¬˙ýďy«íXOŐĎNEE•Ďú^˝z˝ßĹĹ}�������@˘#ř��âĆ.»ěbUá0ć̙ۮG˙ţýÚ…~:«ąykő`‚˘ŃŮsř·(ŠGăÇŹłÚť­[·µ˛JMM­ľţzľUUĺÝwßőŮ÷cŽT4ěv{»uőőá+Ő××ů,›vZ‰îřăŹÓ¨QŁô裏YU”}6ĚçÍTÄ™7ď+]uŐ/tĘ)'+ZćżűÝuž0‘żŚŚ íľűnZ¶lą*+«ÔUbőłăžPç튪E��������t7‚?�� n\tŃůš>}źmŹ/ĐW\ĄĎ>űÂłý‰'žŇńÇ«ÂÂBźăzőň]ľôŇKtŢyç(}úôi·năĆR(R&$‘••©şşí-˘ţőŻXí™v$¦ęĎ?˙ů/ϲ ź¶SsçnoËdެ~řaІąŢ-®Ś ľÓˇ‡ôŇŇRźVgF~~lŰ_ő”ÝvŰU·Ţz‹jůţű%Z¸pˇ/ţŢŞĘc>›n&Ür÷Ý÷é l÷łÎĚ™Żű„~Lhęc޶x¦ťůą0•…Î8ăě. ţÄęg§¨Č÷絼Ľ\---JIIi·ďĆŤ�������@˘KüŻC�€ÖĎ~öSźę-őőőzŕ‡Úí7lŘ0źĺ (Z%%”––ćłîŁŹ>¸ď˝÷ţC'ťtš~ýëßş®çA+śěZľýö[íhŽ<ňpź÷ĹLŐź††íŐyöŮgZÔ!01UnĽ™¶b«WŻzĚ}÷ýŁ]ĺ–ŃŁGkG`^—iueć&�sÚi§ęĆŻ× /üWW\ńsź}M8č»ď*Z¦U›·łÎ:Sżýí5š1cşŐrĚĽ'†UĄ®‹źSŤĘ›ą/ź}öyŔ}Mk:��������Á��·FގĂ;ÄgÝË/ż˘+Vú¬;ě°C}–?ůä3«ý‘?˘8üđŁtÁ—čć›oŐ˙ű?µµµYŰLĹ‘ýö›áł˙łĎţ§]čdýúőz饗¬VW|0[?ü–,Yâu-ľ×űÔSϨ˘˘˘ÝµĽţú›®}ŹÔe—ýBwŢy·Ţ?p«ĄÎr7Ľkźĺżo°Öc&2qâžžĺ… ą®˙Cź}Ž>ú(uÄa‡ěw­őúÉO.Ó»ďľďyŻ s˙Ż»î˝ůćŰ>ű÷éÓ[&ě©DvĎ=÷ëG?:Wűď°N9ĺ =óĚ|¶›÷é€öowśwĽ@íÎęęÚ‡wŞ«k|–M;=&ŘUZZ¦P"ůě„Ű'?;S§NQjjŞĎţć~ÖÔřľÎ_|ÉŞ �������@˘ŁŐ��k?ţń%zçť÷<!Sýäž{îŐ_˙z›gźaÆjď˝÷˛?î}®¸âjťqĆiš4i˘‚X´h‘ž|ňiUUU[“ůG˙qăĆęä“Oňśç¬ł~dLÜ­¦¶l©Ó…^˘N8^ Ôşuëőż˙=ŻššZĎ199Ů:ôĐíBzě±'TV¶ÉZ./߬óĎżHgžyşUÍĆYľřb®uó<sç~iMéÚ˙ýkćµäű´izđÁ‡]÷ ŇŞĐsä‘Gx*ódddZ÷Ćíůç_˛Ö >Ě ay;ꨣ4gΗÖcó:žţ϶˘˘B×ű1MaîőK/˝Ş~řÁłnóć ýîw×)33S˝{÷v]w˝çţz3Á’+®ř…ěv»Yr˛]Ë—/÷,›ŞRć˝2aóy[˝zŤzčß>Ç6Y¦5—[ jK7ßügíłĎŢÖąÎ8ătk]ßľĹ>ű<účă*))±* ™źą?ś­»îş[áDňŮ ·O,~vĚgäŕÔĚ™oxžgŐŞUúяα>ëyyąš?˙Şý��������v��@\3ÁÎyę©§=ë>ţřS« Éĉ<ë®»îw:÷Ü ´iSąµlB &Ä`¦@L@ŕ7żąĆgť N\vŮO¬*"nµµ[¬0B &hrÍ5żRvv¶g]NNŽ~˙űôóź_á©PcŞĄÜqÇߌiqtîąg««ÎkŻ˝îY^±b…n»íoÖăAiß}·V:3fWmذÁłßŇĄK]ŻĺŹ:ę¨#uýőżó9çě§ŰoϲÂQţŽ8â‡oLµ–;î¸M_|i»pŹ ~G0—^z‰<p%şłĎţ‘Ţ|ó-×{±ŃZ6A¶PźeăÇ?ľŘçs8dČ`őë×Ďçýś=űck2LE&óY=ä­ :nć9M%o&<Öż«ÚU0‘|vÂí«źťź˙ügúä“O}BFćż ţ÷ďŔ÷·‚~��������$2Z}�€¸wŢyg[•NĽýýď÷Ęétz–M…“‡z@cÇîö|&qß}wkčĐ!í¶ť~úişţúk•––ň&8tĂ ×éCj·Í´šş˙ţ{¬¶SáŠD÷Ţ{—ŇÓÓŐUL($ص,Y˛ÔóřÜsĎ x |×nťą?tPŔs{lÇÚ|ą™VbŹ>úpŔ{HďŢ˝ô—żÜŇĄá©îdZvÝwß=V•›pĚűuĺ•—ëÔSOńYoBiżţő/•ś8çżté2knBaţÇúűůĎŞ=÷rźH>;‘싟ť‚‚ÝsĎß]źŁ>AŹ5aB˙��������$"*ţ��€¸—››k…:îąç~Ďşďż˙^oĽń–Ž8â0Ďş>}úč˙¸Wźţ…^ý -Y˛L›6•©ĄĄUůůy=z”fĚî:ćpĄ¤¤}ľŁŽ:BÓ¦MŐĚ™Żëf«´´T•VKˇ!C†hŻ˝¦ęřăŹUQQQĐs�Ň3Ď<©÷Ţ{_łf˝ŁŐ«×ŞĽĽÜŞ„cBJ{ě1Ćj6mÚ^ęjćľ<ňČCzôŃ'¬J(ćőćúÓŇR=ű™vK&<ő裏éëŻç[-¶LŔ'##Ăj­ä"9úč#őŇK/ű¬3-˘LˇÎ2፛núÎ;ď\ëţÍ™3×ő^nňĽEE˝4|řPpŔÚgźi]śę ýúőu˝gş>?čý÷ß×wß-RUU•ëłÜbµ«8p ¦Nťb˝˝ző xó9}řáéńÇźĐW_}mµ{3•úöíëiťg\uŐ/\皬_|I .RuuŤŐ:lĚݬ Ü”)“]ďĹ˙…ĽŢH>;‘~ľbńł3bÄp×ë~D/Ľđ’Ő*pÝşµr8śV[±“N:ŃúďĆ|(��������ť-űŮ<5·YvOI^s÷dß¶Îî7™mąfŢÜÜň‰���Đm6n,ŐńÇźäłîÚkŁcŽ9Z���������ń,55eo×Ěášj¶ÍŰü&ç¶ąĂkrzÍý'Y5÷ě/Ô6 ���Đ!¦j‹7Óţě ���������şÁ���Dě˙x@˝z©¦¦VĎ<ó¬Ď¶ŁŹ>Ę ˙��������� {ü��@DÖ¬YŁGy,ŕ¶‚‚|ťţ9��������@÷!ř��€|đÁ‡×çädë¶ŰnUAA���������Đ}ţ��� "--­ęׯź***dłŮÔ§OíłĎŢ:ë¬3TTT$���������t/[ öłxjn ˛ěž’ĽćîÉľmťÝo2ŰrÍĽąąĺ������������a¤¦¦ěíš9\SͶy›ßäÜ6wxMNŻą˙¤ ˡćţŹý…ÚfI������������€„Cđ������������H@������������€Dđ������������H@������������€Dđ������������H@������������€Dđ������������H@������������€Dđ������������H@������������€Dđ������������H@������������€Dđ������������H@É��HN§S������@WłŮl��H��@Ü Ř�����€xnśŠ`����@Ź!č�����€Dä?®E��ô‚?�� [Eö!�����€žI¨Ç{ ‹��čN��@·ŕ‰$ŘCř������=Á„x˘műĺŢź���č��@— 40j°Äáp������Ʊ’’’‚îăö!���şÁ��Đ%" üĺ@ë"=_¨ő������@$‚s‚­÷˙âšŮĎ˝o ° ��Đ•ţ��€ úqŚĺ¶¶6kŮ<ö^ď˝������Ü•~Üłl›ąÝn÷YoƸµ�#ü��bŤŕ��™p3™°Okk«g˝÷Üűř`Ź#}^������ śpAś@•{ÜëÝ_\sďcćÉÉÉVČ„üBŢç ���b…ŕ��‰`-»Ě� úŔŹ™ÜëÍ�HZZŞRRR\ f0ÄĆ€������ÂÖ ÖfjSKK‹ššš­±ŻććfkŚËŚ}™É‚€ ��±@đ��tJ°*?îę>fŕĂĚ 3‘ťťĄÔÔTĎ€������h¶†{Ě”d}±-33Ó3Áźşşzë‹pîÉlwW˘ú��5‚?�� ĂUů1fn?f2Ëć›M99ŮÖ ������°#2Ážôôtk2ăbµµ[<_Š3ăbf2!ź@ Â?�� Łţ��€¨ ü¸'ôijj˛ľÍd–óňň\i������v&äSXX ĆĆ&UWW{Şc§Ąm'3A÷dPý��tÁ��ďĐŹű±»ĘŹĽ0ˇ37ßl2U~hé�����€ť•ůB\jj/«úOccŁ5ŽfÂ?¦ő—»úŹá�"ü��˘Ađ��DĚ?ôă=™˛Ĺ&ôcggg)++K������ŔÎ΄{ňňr•śl×–-ujhh°Â?¦* ą>„��@Gü��a…jíĺú1¦µWFFş�������lgľ(—”d·Z™±4Ă„ĽŃú ��D‹ŕ��)\č§µµUÍÍÍ„~������€0Ücg&ücĆÔL°'9Ů÷źëĽĂ>T˙��áü��A… ý´µµYfž““Mč������ĂŚˇ9mŞ­Ýâ ˙Řívź}˙��€Hü��… ý ?¦Ĺ—©ř“ššj•*������žKkjj¶‚?IIIV°ÇĚ˝ţ��‘H��@üC?¦ĘŹ ţÇůůy������93¦ćţrťk3Ź˝Çŕ���"Ađ��´ă?°`Ľ·™ÉÝâ«°° Ý·‘�������„fĆÔĚŘšc3cmţď190��„Ą��ńţ¶‘iďe¦äädĄ§§ ������@ôĚŘšcsŹ·Qń��D‹ŕ��)PµS~ŘĚiń������tŽcós Uő��ŔÁ��–lp÷7Ą‡Íd·Ű•šš*�������gĆŘĚX›{ÜÍ{,�� ‚?�� ¨@}ÄÝ%‡sss������ óĚX›÷Ř›7Şţ��€P’��†woq3řŕZŁ´´4%ľ!Ő16›M������čZ[ÇÚ¶Ž˝™ @î±8Ćf��@8��@@î Św_qóí"3ŮíÉJJŠĎÂ|b+ŘýdĐ ����� vĚX›s3­ľĚř›Yö˙��ÁĐę ��äř0ËfŕÁČĚĚTĽđ®FDč§űpß�����bË=ćfĆŕŤÍ��Bđ��„ävom ţ6_©ęiNâ ď�����@çlsszŞţ0Ţ��"A«/��ĐŽ÷€‚˙c‡Ă)»Ý®žŔ@Güó~Ź(? �����93ćfĆŢBŤÍ1Ţ��üü��AůmĚ7Ť ÓcĽ§Ż%ŢηŁĺŕQ������‘sŹąąÇŕÜc��ˇü��AąĂ1ţe…»s ˇł>Ń vż:úž»ĎÇŕ�����@hŢă'îń8łŽŕ��…ŕ��ËŢp÷ďîçíęcž˙}Ťv°‰*�����€đĚŠ»âă\�� ��@â7ôC+°ČÄ*|Ó‘J>„������"Aŕ��DŽŕ��+Ńn¨˝H_¤ťh[ŔŃú �������� vţ��€v…Câ-0ÉőPąăÝ»pa*ú������ÄF"ŚĎ�€ř@đ��„Ôť ±ótćzw¶Á“hC:‘T÷‰´˘!!�����€đC��áü��qˇłˇźHC;|3j»P÷"’ŕN¨ý"”bŕ �������� sţ��€×™ĐOWV�Ú™ůß·ŽTř!ü��������еţ��€¸.ôăp8ÔŇҢÖÖVkťYîĚywV‘p’’’¬}“““•’’b- đě��������č:��@ŹęhĹ÷ú¦¦&577+Üąů„č í¸Ufnî}jjŞŇŇŇ:ţ!��������Đ1��@ŹéHčÇ{]mm­5­nޤ9¶•úÁ¶IU¶µČ!k/ç¶0‰µ`“sŰ\~óí§´EľŻçÜ6żçň_żíxŻmÎpűzÍťí®Áëřhöu†»żăî»u[Şk*HNŃčĚLí“źŻˇąąĘÉɱ¦`­ż˙���������ÄÁ��覻+ć„ ýů¦M›TQS­7ShnĘ*ź@NÜ„~ÜçőÚ8pŁ ýČëĽÎtß­çnr=ÚŘÜâšj4»ŞV{çćęÄŢE*llTŻ^˝¬�O  á�����€Č›c\��Bđ��„o-˛Ěő”——[ˇź'Ó>ÓŠ¤ň •sÔ塟ŔóíOu•ťpAĹ:ôcó ýDşŻ×˛iúőQUŤJ›[ô“mWç˙������ sh_��ÂI��@5hŞÚOMMŤęëôFĘ·!B?y<gĽ‰$ô4Č;ф~Bî«čC?ę\čgűziI]Łž/Űl˝7ć=ÚzŽŕďc d��������D‡ŕ��{î@Hkk«,Y×Vˇ/“Ww.ôqk-yžĂ{Ţ.\ŁX‡~eč'Řs…ýD[(HčÇ}ÜÇŐuZSWg˝Gć˝Úz.Â<���������]…ŕ��čvŃT}ń^®ŻŻ·–ż´Żň ä ňř̵u]č' O4űFúń®ČÓ­ˇůîbîú1ë§>­ŞłŢ#ó^mż7ÁßS…���������"—,��€ŃÔÔdÍ—«l늡ź\{–ϧ‰™ĂÔ7%OiI)AĎ[ŮZ§nř@_nYyčGŃ„~ä™Gú‰¸*P„ˇŻkvŻ›Ň«Ż~ľŰ8ĄĄ+ƶ6­««Óe›ôâ+UÝÜ0ôăľľďję¬5î÷ ���������]‡Š?�� n„« ÓÚÚfÍ«Tď>1˙猙š=JtžN,˘Ái˝B†~Ś‚ä,ý´ßŃ…~"® ´}˙AŹX†~ĽN`ź+ÇŚú1Ňív ĎÍŐ#†ë‘÷ÓôľĹŰžľ}čÇ<ßć–­ď‘ű˝ň<}U���������‚?�� ! ;,Ňšä Ś1ˇź+‹ŹTz°ŹżŚm…#ŞśÓˇźöUäˇm;Îo›wĄžĚ$»˘‘‘ś¬k'í©éýú¶»>ç¶y«çşś„{���������şÁ��Đ­‚…A˘©,cÚ{ý¬÷ˇŠV[[«Ö”Ż˘ńýDŘZ«KB?ź3`čÇ:ôcćkJ7XŻ=ćčkĆԴvˇ…ÉůDú��������L˛���âśwÄzěŚŃÖṞ́y•š”ěłoĹćrmŮR#‡Ăôü5Î&ý·eń¶„~"n­aG^™�!źHC?΀×Éľ[g˙řa™Î¨Ű˘üäŕż&%%);'W……˝dłm=>-Ů®S†Ö —µýçr­tďëý���������±Eđ��$ żͶ@ËŢY#}ö*ŻŘ¤'«>ÓWmÔ Vż Ž‚yÔšź !gGC?Š6ôłőąľ­«Ó·Ë—ľ†műfÚ“557[Ś–z÷ę-·úë_ß-S»ĐŹ���������Đ]hő��âNŘVOB?f]^r–Ďn˙«úRź´­Ž>ôéľNď Ź‚Wí‘÷őާăˇEQ(řs ýÇu­mz·˘FO/_%oé úq†®îC/��������€Ř!ř��z\¨0H»6_–ŔUvěIľżÚ|ÚşZQy|7aöuFä‰fßHC?ňýŘş,ôă˝ď{ĺŐňfÝ롟Ŕď[{zĆăŹ?©8D§žz¦–,Y*��������hő��şM,CZků‹¨ŇŹ…~‡|ş>ôŁČB?Á7 ýČK}ë[ŰP°kč$óY±Ůbs.ok×®ÓĚ™Żë‹/ćjĺʕڲĄNii©***ŇŃ~űíëšf(99±Mž9ó ÝpìÇGqnşé÷žmúűßďµîqmíÝsĎ}®ĺ;��������Á��|+Č´ý8 $¤zŹ…ź¨Zk… ň¸ĎëőĽ‘‡~l=ú‰ ‘ŢßĐˇź® ďtD}}˝îĽón˝řâËr8>ŰZ[[UWWŻŐ«×X™ââ>şćš«­ĐŽ(==Ýš¬ĺ‚‚�������€ÄD«/��üC?Î »űř†hbú‰¶µV¸ Ź:úQčkđ>o„ˇź Ĺšb\é§+”••éśs.ĐóĎżŘ.ô“››Łěě,źuĄĄeşúę_ëţű˙©Qff¦îşëŻÚ˙}uňÉ'ꪫ~!��������¨ř��âŠoeź i“(*ŇřĚ["ŻśŁ0!š.ýD[(\'ÄľŠ2ôÓľ]š÷:˙}·W˙éÎJ@¦ŇĎe—]ˇ•+WyÖíµ×ť~ú©š0aO+cöWďż˙ˇ|đa••m˛Ö=ôĐ#V °SO=Y;óÚÍ����������@ likmőěáyłĐO¸MŚB?ňż^u[čÇŮîzĺu ¶Ŕ÷×gßř«úsĎ=÷ë‡VXŹ“’’tőŐW¸ÖÝĄéÓ÷ń„~ŚÂÂBťxâńzę©Ç´Ë.Ł=ëM{°ŇŇR��������Ä#*ţ��€´ŞOČĚ˙µ¶¬*_§Á˝X»ÇíC4Ţ›ž ý(tč§ÝľˇŰŽ…­ŢŁ@×Ű~ßŔˇßçZYşQCúöő<µo4şŞĐúőôß˙>ďYţńŹ/Ňgśňüü|Ýwßßuâ‰§ŞŞŞZÍÍÍz≧­Ŕ·+®¸Z}ô‰őř±ÇÖ°aCőä“OëÍ7ßÖÚµë¬ăfÍzÝ:ź·U«V륗^Ń—_ÎÓęŐ«ŐŘؤ˘˘B•””hß}§ëřăŹő $óé§źY­Ëľůć[UW×(''[{ě±»Î=÷lŤ76ěńŢ×űíÖţűďpżX]/��������č��@Ük äy¤ćsťT·›µřżÖE‘WŮ úɶ§iBî@Mɤ’ô|¤d('9Mń¬¦ąY•ÍMZµĄVź•–iΦ2minéTčÇĚď[´ZgmŮb->±¦2˘ĐOw¶őň÷ /ĘápXʇ¦óÎ;'˘ărssőłźýDO?ý¬µl/ˇ444袋.ŐâĹßÝÇ܇{ď˝_Ź=ö¤çšÜ6n,µ¦ąsżÔO<Ą;î¸]ŁGŹ xž¶¶6ÝrË_ôâ‹/ű¬Ż¬¬Ň‡~d…y~÷»_+55Uť«ë��������]‹ŕ��H8Á‚<‹ĺúSŰ‡ŠŞµVĐOş-YGôŮM'ő§L{ŠInjŞ5 ÎÎŃľ}ű«©­M/­\©g—-W]k[‡B?Ć75ŤşfÁúöŤîŠ6Ć1Ç%»Ýń±'śpś5Eâ˙ř—úIKKÓ¤ITTT¤-[¶(9yűŻÚwÜńw=őÔ3žĺââ>š<y’ňňň´iÓ&}ňɧ®cęTV¶IW]ő+=űě“ĘÎÎn÷\ż˙ýMzýő7=Ë……3f7Ą§§kůň¬¶fţóm:唓Ô±ş^��������еţ��€ Č´µVôˇź˝ô›á«0eÇha”f·ëÔáĂuŕ€úăśyZR]yčg[›0§_uĄ€űĆQčÇ´Ú2A·Ř_]嫯ľ¶Ú^ÝxăuV0Ćß’%K=ŐŚźýěR«%WRR’g]EE…~üăźiĹŠ•*--Ó+ŻĽÖ®-هÎö ýśwŢŮşä’‹|ŞűĽ÷Ţűşţú?ř<_´bu˝�������� ë% �� ŃtIčgëâÔĽÁúÓ¨ŁvĐŹ·^ééş}署VÜ'ňĐŹÓ?ôc ĽŻ˙ú¶aĂFO‹*Xé×ŻŻşĘСCôç?˙_ŔĐŹ1p`‰ţú×[uňÉ'ęśsÎŇůçźë˘1 uńĹz–?˙ü‹vçyä‘Ç=ŹŹ=öh]vŮO۵ô2§n¸Vť«ë��������]ŹŠ?�� .9ťÎ0{„ ý(ĘĐŹMĂ2ŠtĹý”šyK¨D“j·ë·Çë—ˇď+«»5ôcŢS›­{‚A¦Ő–[~~^»ŕŠ·—_~Uź}öąBůĺ/Ż´Â.6bţoÚwßÖĘ!=Ź7m*÷ŮVVV¦oż]`=6÷đŇK/zžC=X>ř°Őö«#bq˝�������� {ü�� Čż˘O ĐOŕ6^ÁB?™öýnř!JKÚń=JMJŇő“Ćëâw?VCk›W`'ˇźpy­.l´xń÷zë­Y!÷ůÉO~4řSRR˘Ž2a¨Í›7kŐŞŐzöŮç<ë}ö[¸p‘' 7jÔHőéÓ'äygĚŢáŕO,®��������t‚?�� áÄ:ôc×glBµ÷ެ¬Đ¦˛RUWW©©©ÉZ—––®ĽĽ|őîÓG…!Źďť‘®“G Ńc‹~ضĆ÷~Fúqď·íř8••ĺy\YYeµý Uő'śPᡤ¤Č^łą†/żś§9sćjٲĺV0§´´L---aŹ-/ßěyě]i'Ó®«ł:s˝�������� {ü�� (ˇ÷y\˛“ŇtLź1J őőú~É"UWUµŰV__gM6¬S~~FŤŢEÁĂL' ˘ç—­Ö––6żĐŹ˘ ýřż=Ż˙~VĐÇ„WĚ´qc©µ.k®ąÚšĽ™c¦MŰWmmmÖrzzš:Ăhţô§[´fÍÚ€ŰÓÓÓ5zô(Íź˙MŔí555žÇޡ¦`˛łłŐť˝^��������Đ=ţ��€ÄAč'đÜ+—âµmbŢ@Ą'@‹/öY°`ľZ[[Ăî[UU©y_ÎŃî{ŚłŞ�’‘l×”âŢzwÍFů†~ÂÝÇ ˇyĎ{Vjjކ˘ĺË·V4zď˝÷őŁťńń¦˛Ť;ôc·Ű]÷0Oőí· tŮeWx*ĺäććhŻ˝¦jŹ=v·*ó 8ĐšŻ^˝F'ź|zŔsx?mm­Âń őÄő�������€îAđ��$ đˇgŔĐOŕ�ËäĽAŠw¦ŇO¤ˇ7łď‚ßh„ÉĘČȸϴľ&řS2ôh}ŔĐŹO5Ąž7}ú>žŕĎË/żŞÓO?Ő ńDâťwŢő<>|RRRÔQ>ř°'DsŔű鏼1ŕűátż{EEŰ[·™–[á¬\ąJ‹ë��������Ý#I���‰f[Ţ âĐŹ‚‡~Ěľ3ňď–,YUčÇ­µĄEßż0čöAąY± ý8ăŁâŹq ÇYíľ �ú÷żŤč8S-çé§źő,›đKg|˙ýĎă«®ş"hkýúőAĎ1fĚn˛Ů¶Ţ[óZÖ­ ľŻ ä|ôŃÇę¨X\/��������č��@Br:y|ÖG°oAJ¦âYee…Őş«ŁL‹0sŽ@ŠŇÓ" ýl›j뇡٤d€Ž?ţXĎň<¤§žz&ä1uuuşöÚ¬V_Fff¦N>ůDu†;|dŘíÁý~öŮç‚nëÝ»·ŐjËíŢ{ďşďkŻ˝nµáę¨X\/��������č´ú�� 'lčG‘‡~Lb%ËžŞpššµ|ŮRUTlV[[›:Ă´›*((ÔĐa#¬`I8eeĄ×˙üň+\×Ő¬[o˝ŮZţőݧ´´TÝý÷;Űí»iS™őśţrRS" ýŘ|C?aBńâŠ+~®ŻľúZ+V¬”ĂáĐßţv—>ţřťvÚ)š<y’§šŤ©ň3kÖ»zôŃÇ}ŞéÜpõ®űV Î1b¸ë=Üd=ţç?Ôµ×ţĆ'\ÓÔÔ¤żţőN}ňÉg!ĎsŢyg몫®±żőÖ,ę˛Ë~˘ôôtĎ>ć5Ü|󭊇ë��������]Źŕ��HLˇB?žę4áC?f˙pujLčgîÜ/¬¶Y±`‚Cĺ囬*>“&OUZZzČýkŞ«®oq]Ď’%KtŐUż´–M¸e—]FÜ×Tý ÄóÚĂ…~Ľ÷ło<1ÁŞ{îąS?ýéĺZµjµµîóĎçX“‘——kµP«««÷9Î´Őşä’ uđÁŞłN?ýTOH楗^Ńś9sµ×^S•ťť­˛˛2×¶OUSS«)S&é‹/ć=ĎľűÎĐa‡˘7ß|ŰZ~ć™˙¸żĄÝwc…–.]¦•+W)55U—_ţ3ýýď÷Ş#bu˝�������� ëŃę ��$ž ˇEú‰¤BŤ©ô«ĐŹ781çÇTX ä–[ţOC‡±?f2ŹÍşŔçhTP‘„~˘Ş _Š‹‹őŘc넎ó©\cTW×´ ýčÎ;o×Ĺ_¨XŘ{ďiúůĎęyîőë7čůç_t]Óz㍷¬Íر{čşë~ö\řĂ :úč#=Ë••Uš=űc˝ýö;VčÇ<Çu×ý6h�¬»Ż��������t-*ţ��€ÄäňxWiî úqFPˇĆ´÷ę*•ę(S«ČT¦q3•„mŽ ;‡yť ýČwß8¬řă–••eµ¬:ďĽs4sćëš3çK­\ąŇ ±€‹ űŚ=J3fL×á‡ęÓ>+Î=÷l«µŘţó_}ůĺ<mŢ\ˇääd«­–yľO<^[¶l {sĚď˝U‰č…^Ň·ß.°ÂKąą9Vçüóϵ*�}ńĹuF¬®��������t­H˙eĆá6[s[e÷”ä5wOömëě~“Ů–kćÍÍ-ź��Ä„ 8ťNkr?6Őięĺp85p`‰: Ś˙:÷˛÷z÷ă 6Zó«Ş_ߺ޻bOGC?®ů‹SÎQ(Í~ßş]Á„)ö™ľ_Č}ć|ń©ęëëŰ­żô'?ÓâĹß[•~ w«ŻÜßľĹSff–&OŮ+ŕůyî}߀϶ÇáC?¶öˇ×üŃýX»öë×ך{‡“ÜŹm~A$[€`’-\X �����`łfÍZ%%Ů”‘‘iŤ™ń»ÝnÍÝŹ�@l¤¦¦ěíš™oT×l›·ůMÎms‡×äôšűO ˛jî˙Ř_Ř^ ´ú�� )şĐŹç ů‡~"ÉAŞ«…Ý'//?ŕú””Ť5JűŰíÖd›uĎ‘źôü>Ő{¬ÇýÄkĹ��������€­ľ��@‰>ôckV‰&¤2tŘUUUZUŹbÉ„t†vżŢ}еaĂúvëďţűť>Ëüóľ çčÓ»Xˇů‡{" ýž�������� ;Pń��$žN†~śŢˇgřđOff¦&MžŞŢ˝űČžÜůÜ´9‡ óLś4Uiiia÷7‡ň ÔQůůˇŹwv<ôă$ô��������Đc¨ř��S°OŘĐŹ¶-{´´tí6fő”ŃŁwŐĽ/稥Ą%Şă’M;0×±a…¸źŃ„~ś´ú��������č6Tü��‰'L…šˇĎľňÚ7ţĄ§ghĚîc­ O¤Ěľ»»ŽÉČČ˝cĐĘIŠ>ôCŐ��������€nCđ��$¦N‡~üZ~%€ĽĽ|M0ÉjÝŽŮg„ÉÖ1‘ú±…ý¸Ź°���������]‹V_�� ń8CUďń „ ý$X…šŚŚLŤ?A••Ú´©LŐUUjjj´¶™vdyůůęÓ»XůáĂAnť ý©ţ��������€®Gđ��$śđAž`­ŔBě›` ­)f" ýřd_���������t Z}�€ÄËĐj˘ ý«ţĂý�����ÝÄŚďüřß‹Uđ“uÁ‹ÔÜęPg™ss™s^â:·“1�� ţ��€Äää‘×<ŞĐj,1 ý8ąź����� ‹}łf‹ž˝A[šÚôř'uú}ßu*ücŽ=ăţď¬s™sţŰuîůkj��ţ��€Ä(ôăôýŮ×oη·˛eWÔˇî'�����čb%…iĘM·{–_ůşĽĂáwčçĺŻĘ=ëĚąK Ó��ţ��€´-Ü2ôc#ôˇ ˇg4ˇú�����ݢ(;EĎ]¶‡2R¶˙3WGÂ?B?ćśćÜ˝\Ď��ţ��€„ăŰĆ«“ˇ'­© ]Zôˇż÷�����  ¸[^üĹ؇‚…~Ě9Íą��E˛���M„ˇĹ0ôS_·E5µ5jnjT[[›â™ÝnWZZşrrr•™•Áľ÷sűýٶŤĐ�����CîđĎńw}ن–­aţ1ž§2F©Éż˙Nč��ěH¨ř��SˇźöaŻP‹_…› Oăt¨tăz•–nPC}]܇~ sŤő®k5×l&óÂň ý„O ýţ�����ÝČu^đ«üc=&بňO°ĐĎ „~��@‚"ř��ŹWŞčB?^ażmÁ”•m´B4‰ĘT**++ ˝SĐŹ3ŠĐOŰ �����sEţ ú9Đ��HP��@b Ů~*ňĐŹ3DĹš©ŻKÜĐŹ[$ŻŁÓˇąC?Tü�����Ý/Xřç´{X3™Ç„~��ŔŽ&Y���‰&ÚĐŹB„~B”¨©©­Q<ikkUee•ätľp›Í¦Śôtĺĺ(%eűŻzµµŐĘĚĘ xLdˇ…ýDXA ����� «¸Ă?'ÜőŤZ¶Vúyuţf+đă~ěFč��ě(ţ��€„uč'äľÁ555*^ĐĎÚuë5÷‹ůZľ|…Ěë1böś¸‡ěIŰżÉfAő jljRż~}e·oýu/ôk‰$ôcó ýĐ�����?ÁÂ?Ţý��€ Á��x" ňDúqoMĺhkóY6•v*+*Ôę·>Öěv» ‹Š¬Ę=n¦ŇĎ—sćëŰoyÖ}óÍÖÇ“&Źkw‡ĂaÓ«W/ką-Ô5w$ôb_�����€ž(üăFč��ěh’��pB…~l¶SÔ!•Šný&¤S±ąÂgť -[¶˘ÝľK—® zž†ĆH+Ĺ.ôCŃ�����Üáôq#ô��vD��@â‰ačÇ™PjÚ_«ÍÍŢA„ ň ý(D@����� g™€ĎËWŽŐ^éÖdú��;Z}�€ää ´®‹B?¦ýVĹć͡Űfŀݞěz.ßA(ÓökÄ!žö^n#F zžôŚ E&D'ŔýtúWL"ô�����âÔţ»hé_¦ ��`GEđ��$ďĐOŔpŹčGíŰ{ůĎ#`Â7 POČË/ĐÄIă¬ÇË–­´ć&´ç„=îoOJRA~ľ"Ń.ČŁN„~4üăp8¬@—™;]/ŇĚw&I®Ď‹Ífłćv»ÝšÇ&G«ŰZÔělU‹ŁM­N×űCC9Ä€Íőżd[’R’ěJµ%+Ýž˘´$ţ<������xŮ�� 'úĐOű°O˘U¨IIIVIIeeejňÔ=ĺ L±%%)##Ă ý�GÄĽC?îc°ĐOŔyiiiń~vfî×oî…ą'î�PJJŠş›ĂőA«mmT][“Zś][] ;/ 3źŻ×gľ^ÍR«ëżł6»˛ěiĘINW’Ť f�������Á��‚„S˘ý$Î?îš`˝zőRĚu"ôălw•L¸ĹLĚĚdî‘ ˙tW�¨şĄAŐ­ TőAŹ0A ŞÖzë3—śˇĽ”HŰ%������@Ď!ř��OŔPJC?ä ¶ ˘RTˇgś©LĄąąy§Żđ wU¤ÔÔÔ.kfZzU´Ô©Ů5zš ž™�P˝ŁY…)Y´�������×Á�� (ˇmß7Al®·éŃy©šż!IŤ­6éÉNíŃ·MgŽkU˙ÜHĂ-ÁÚĄ ÷$nč§µµŐ ý z&(ŐŘŘh…’“cű'Ä–Ö&mnŮ" Ţ ÚƦjĄd+;9M�������Źţ��€ÄÓŃĐŹw0%P(Ž™ĐĎ5o¤kKSűëM±Űté~ą:bŹ ëžĽľ ^ż·V·ZŻ˘Ě˘M± ýÄéý$ôî{«đOmkŁUég&fŞ�ĺ$§ �������â Á��€üC?Š,ôăŐ˛Ş#ˇź††UVT¨µ­M]Én·«°¨HéŰ˙‘ŮTú ú1~Ľ_ŽÎž–íY>gZŽ5ě«V]ąO“ÂéTčG„~v6± ˙J?„~(ĚgŐćú•�������Ä›$��$öˇ[ŕĐŹ"ýDV©č†ĐŹŃćzŽŠÍ>ëL{Ż`ŽÜ#łÝşŁ\ëBă#ęЏסAöŤ¦EˇźŘ3÷ÔÜŰŽjr´ŇŢ Ç|fÍg�������â Á��€" ýDJlÎ�ÝĽNYŐ)"mčÇrßxBč§ëtćŢR鉊Ď.������€xC«/��x"ýD°oaÓ~«bóf«"OW˛Ű“]ĎUŕłnŹľmšł6đŻnŻ/¨÷´÷r›ům˝Ćő‹đ:# ýXlQěŰłZZZ:U•ˇ™{kîqJJJTÇU·4¨ą“USŢ^ň…®yí^U6ÔXËąúęĘGCóÄĽ7tÝ˙ô,g¦¦ká/źV4ęšőř—ŻkćâO´ŞrŁšÚš50ŻXŤś¤ §«ŢYůaĎQáşć wśëł.9)YsŻxXůé9íöwşţc¶÷˝—hCMąĎú'Îř˝¦đ|n©öőr]ÓÔA»éüÉÇhlżá ç†7˙ĄÇľśvż=ú×+Ü®Dqő«×˙ľyĎz|ńÔătíAç©#Ěg×|†óR2�������ń€ŕ��HLţA ýŘďëż>»ÝîňÉHO×€ÔÎת…eÉŞ PdĺźÔZó#vßÚňËžú¬F7ş}góZB‰(ČăLśĐŹaB)őᇳőÜsĎÜ–’’¬ĽĽ< 4P{î9^cÇ¤ťłf´Á‡ë‡łşµAŐĐҤ›fý[O}őfTÇ•m©Ô­ď=ˇÎXVľVüçOZ]Uęł~iůkzöëwôŻS~ŁI%»*Z­ŽV˝ľř3ť1ţvŰć®]Ô.ô©ć¶­ŻŮ¤| —ľ›­ŰŽţąNÚcˇsĚg8'9]I¶Łj������€ÄFđ��$ž@ˇźm-¨˘ý8·čźoÓŇŇU_m]úç:tŰ zě«TÍߤ†–íWÜŇćÔ=ďÖXSFŠSăű9¬ĐOaćöX“y-=‚yMčÇë„q 3ˇźđçnUyůfkš7ďk X˘óĎ?G˝{÷ÖÎ(šđOmkŁë#ұ‰ĂéĐŃ˙RË7ݵ–““ějuDVŐĘT±©męřĎrcKł.zîfOč'Ĺž˘CĆ*35Cţđµjš¶XŐ‡.yîV˝~ńßTś]¨h˝üÝě€ÁźW~¬h<b˛˛Ó3¬źÉ µĺšłz‘uĎÍý»áÍęĐQS”“–ŃąúćY•}RŘO;+s?Íg™Ş?�������âÁ��p¶Ćbú1ÇŐşţQ?7%µÝóäääĆMđÇ(ĘtęĘ}šÔ9ąy×W7nkąÔ.ô#ź6iÖ,dčgűűşş›·5kÖęÖ[o×W\®’’ž©Ő“Ě˝Ž4řS×ֱϯaŞąC?‡Źž¦GLÔ5ŻÝö¸YKçčŤď?µ›VZUŤµŠÖ‹ ?ĐĘĘ Öă¬Ôt=rÚőš<p7kyCífťţÄuV믊†jýă“tăˇF|î>ŮVE˘ĎW§Ň->ˇ!Ö™ąxëµ›¶]ŮiŞ¨Ż yľßx®†÷Úţ9|kÉçşäż¶›VesÖ,˛î]$& ÜU÷µĐžů,ü������ţ��€ä2 ú <—OčÇĚ+›š2ł˛­©ľn‹Y–y™Y·•×µ´k—,,hŢ.ô‡5ĹŇŻ~u•úőëëz˝NmٲEëÖ­×ěŮkѢĹÖö¦¦fýűߏęšk®VZZšv&îű®ÝY“ŁU-Îβ2RŇtý!ęĚń‡X–pLĐĺú7°'Ů’ô×c/×…˙ů?EëłU <ŹĎšp¸'ôcôË)ŇuťŻ‹˙{‹µlZjEü™:hŚ^Yř‘ňymáÇş`Ę1^Ďűť6ŐUZŹ' ÜEß—­V´5U9iYžŠG -ŤŠĄg濭߼vźőř]¦éŞgčú·ĐĽµßë ‘“t˙‰×XŰš[[őÔ×oę…o?ĐŠŠ jq´hhałëtť7ů(ë˝őבc>řažî˙ô-ŘřëżH6í7|O]đůŠ5óY6źé´$ţ¤������ĐłĄ��‰'ÂĐŹ3`č§}hhő–Z ÎÎ řT}ú«¬L ţ1ˇźŢ®×ĚŞ*wŔćŠ V!)’ĐOĎWüéŠj?¦˘Ť»ŞMaaˇ5í±ÇîzéĄW4kÖ»Öú˛˛MúŕŮ:ôĐŰoBź|ň©VŻ^Łššeff޸¸X“'OtM“”śěűkůĚ™očő×ß´÷í[¬kŻýŤuŽ·ŢšĄőë×[ëKJJ¬ç=zTŔk6-¸>˙ü Íť;OĄĄĄjllTNNŽFގ}÷ťˇÁ)VĚ=üilë\ű5»-IŻž˙Wźj6áÜöţÚPSn=>sĎCµç€QꊺíU‚úç¶oéÖ;;űľ ŐZ±y˝†őW$ö2Ö ţ/-śíüyŵě6cčžZ°a…˘e*Ő7oý9·Űěš0`´şJsk‹ÎyöŹž{îVŃPŁ žý?}˝~‰Ďú…Ą+¬ÉĽî§~ôfävę'罩ëŢř§O;ąW]÷vIŮjíR<X±f>Ó�������ô4F)�@Ú^Y¦łˇăÓ˛RÍčřém¶$÷S}]ťjk«ŐÔÔŘ­m¤:Ân·+--Ýjď¬ŇŹŰG+MŰ Ř…~śqRń§»sĚQúꫯµys…µl‚6ŢÁźÖÖV=ýôłú⋹>ÇŐÔÔZÓŇĄËôŃGźčâ‹/P~~~Ŕç0ź·9sćęńÇź˛*ą-Y˛Ô:ţ¬łÎĐ”)“}Ž©¬¬Ô<¤µk×ů­Ż˛®eÎś/uřá‡ęČ#W,DrĎ›ť­ę ›ÍUčgţúĄzěË×­Ç˝ł ôëÎV‹Łc×Đ7·ČóřŁóuî¤#}¶ż»ěKźeÓ˛+ŇŕĎ^Ç(9É®VG›uͦeŘŕ‚ľÖňßoŻjtŔ şűă˙„=ߢ˛ŞiÚbµFűaó:×1Ď©m[ĄĄk8Kýr{©«Ľ·|žUąh\ż‘_¬‘˝J¬őż~ő^O€ÇĽ¶ÓĆězÍÉzvţ,«}ŰⲕÖ>˙:ĺ·žsE{ĚęĘRýqÖCžĐŹiëvřč˝T×Ň 7]÷ń‡ŠőеÎ~¦������ ţ��€Äă ýk?&ôŁísłď›ĘÔĐÖŞ {đ_Ť2ł˛¬iGŇĐâĐgkjŁýl›… ýô|Ĺg7¦ŹL•›±c÷Đ{ď}`-›Ş?¦Xvv¶µüüó/ú„~233Ôżm޼٠ᦠé\uŐ/ÚUţ1ęëëőß˙>oŰŻ_?×s”Yˇ!ĂĽÖçžűźĆʧÔÔ­íęLŘČ;ôc®ŃTĘÍÍŃĘ•«TZZfg* hŻ˝¦Şł"ąç-Žî Ě™ĐĚofŢg…PŚą@9i™V™Ž8dÔýgţ,ëńŰKżĐőo< +ö=Íj%ő‚÷­ÖRŢj›ę©ôÔ4M¸«§ťŘĚEźč'{ź¨OW.Pĺ¶ë5U†vé=X­„/{ńŻíÖ Č룛»Dލh|µn‰®xůŽ€Űn:ěÇÖ=őfî÷ď<O—ěuśgÝ÷›V[÷Ě(ĘĚÓKç˙Ĺ ĺgěyúçe*ŰRiíłtÓŤě=°CÇü÷ŰwŐÔşµŞ”imöÚ…·[ŻŰřxĹ7úŃÓ7*Öşó3 �������Áü�� ©Sˇż}ëš[ôŠ:sÄHíLžž_¦ş¦¶(B?¶ŕˇm[ŽÝYńÇ(.îăłlŞ˙ŕĎĆŤĄš=űcĎzÓbë’K.Tzzş”1mÂŢyç=kŰš5kőé§źiĆŚéíÎ_WWŻ1cvŐ…žoµ3ÁžGyLóçkmollŇ÷ß/±ZŹć<îĐŹÝž¤Ë/żLÆ µ–Íó>ţř“VĹăŐWgjęÔ)V5ťÎäž·:»ď}ů×ç/kQŮJëń~Ă&ččݦ«31I3†í©Ů?|e-?>ďukr›<p7­«Ţ¤ő5›¬ĺôäÔĎíp´éĐ‘S<ÁźW|mfŻřĘłĎ!#·Vtrtđ®«.ÓĄ˙»U?Ýű$]1ă´¨Ž3S ×t~»ŕŹ (y‡~Św–Îń<6xÜĂÄčizôË™ÖňG+ç[!žŽóŮęž}NÚcOčÇŘgčXM°‹ć­[¬XęÎĎ4�������Cđ��ü?{÷&W]ö řŮ’Mď -„&= téHQőE^,¨€»*Š`Ăî‹"`Ă‚Š (ŇA@z'tŇIO¶ű?álffgvg7»É.Ü·×qć”93;3Ë•<ůťçrzúÉT:vŐľß>úh˛ńô2bDĽĚYÚÝ9·˙B?%]^LFŤ*?455e·i<Wˇ7żů¨,ô“¤ Mvë­·ĹÂ…‹˛m˙ůĎme?Éë_DúIRW Ă;´3ř“,X° ó~:On×]wé ýäĎ{ÄŻí ţ,Z´8ü‰ŘlłMc µŻĄ/GůôťkťÝ1¬!ľp؉±¦ŇűvŢ˙|2>{ůůńű»®îť•˛őËăËŻyotî:·M=ľęs§w%“ľpĺY°'Ť·J‹nzňŢÎc^7cŐ÷˘šfVWžřÝΑhËWÄ߸1>}Ůą±˛ą)ľ}ÍŻc˝±“❎°Ţ‰]¶Ą@TîÂŰ/Ë–JžY<ŻĎŹ™»taç¶mÖëú}Ţvę&ýüi1ţ����t�€ˇ©LčgŹ)ĶÝ9[?űľ˙ĆMsgW<vŐťô«,Ë[Zăs·ü'ľą÷^1Ľ®.^Č[Úâ3—?Ë›ŰzúŮgł±ń‰WnmţęUłâşG—•=öĹ&Ťâ*”ŹÜzöŮg;·Ť?®Kg şŽďŮÖ[oŐ9 lÖ¬YQÉäÉ“ŠÖÓ®BMMÍť÷ ź7ť»pÔX9sçÎ]+Áźµĺ;×]”…\’ńĂÇÄ—®úiçľËWŹúZŢ´2Ţű»ŻĆáŁâk‡żżÇóŽj_íâăŻ86îzö‘ŽçhŚíÖŰ< Ů<ąpv,\ąjüZ}m}l5yzôF Ěě˝ŮŽqíĚ;bEÇyo{ę¸gÖĚl_ę\łë´mŁ/FGľôŔx|á¬řżk“műÉÍ®:ř“Iß}ĂGcmIźÉ@=FH����xˇü�†ž Ažm·KŚďřÇůěţö;ÇŃW˙˝ŞĐO> ě‘ĹKâ+·ß˙oç—˝`Ă?+[ÚâóW>÷Í]ŢëN?źzŐ†1aäŞ?>~ęUÄkÎdu‡ź˘c_\fĎ.…”‡tŇ®\ýUÎčŃŁ;ď/_ľ"Z[[ł@P©jGqĄÇŻXŃ»đÄĘ•˝[ôEMÖjŕż ‹W,ëĽ?{é‚řŰý7T<6í›8r\ÄáŃ­tÜ?^5~j»©›Ćń//guÉ]˙꼿űôí˘ˇľ÷ÍzĂŚýłŕO’ĆXµ´µd÷ŹŘ~ß5ŶqÁŘ«'ΊµiĂqS:ďő˛Ş Yőĺ1SÇL™ žÉîß?ű±.űď›óxô·šaĐ����|�€ˇ©L'ý$Ůý^„~ňőf͉Ź]wS|v÷]bęČÖŘŻ4ŢëS—ÍŚć­čÓxŻ<ô“d÷KG~ ’Ž?µµµŃÖÖkCzž;ď\=rk˝ő¦v†|FŹ^=léŇĄeżlŮęĘČŽď[ÝÎŇăGŚ+W6fë»í¶KrH÷Ý]ĆŤk*˝ç=©Ż©Ťć‚YŃÓ‹ćÄy7ţ1&ŹďŮóŤŮ¨°¤ľ®>.ąóźŮýauĂb«©Óă€-vÉÖ˙ńĐ-qÎő—tžăť‰ľxő6{Ĺg.;/ëVô—ű®ëÜţúűĹšXŢÔßyUçú”Ńcm:pË]ăëW_Ýżü›âcëŹYÝÁę'·\šu9Úję&±űômc±}zĚž›ě7?±j<Ú%w˙+Žů1}ÂúŮúżą-ˇÖßŇw����`]ü�†žJAžnŹŤâcË„~ňŰ-ŽăŻş6ŽŘ|“8zë-bTýĐţ#SęňsÉÝóâ·Ď‰ĄM­Ý„~ž@Ů Oą÷·¦l@h][Óî(˝ń—żü-ćĎ_Đąţň—ďŃy 6»îş'»ż¨ă;•:ŽűJÝy|đˇ˘ăűĂú믏?ţDçsl¸a×ó¦.?#Fô_°­š÷|Xm]4·|đçGťZqßc fĹ+Î}ovTø÷cż*Úňďľw<»ę3ijk‰Źplv˙ -wŤm×Ű,îźóXÇĎĐďřő™±É„őŁĄ­-žY<·óń{l˛}Ľv»}˘/ŇX®WmąG\zßµťŰ¶ž˛IöĽ˝ń…+’ť+IÝŹîšőH<·bőł#fěkÓŚő7ĎBRW?z[,Zą4^˙“OÄ[v:8ĆŹ7?yogG¦¨úçIßÍB<}yĚ‘;çÝřűhliŽĄŤËăđ},Ţf÷XŃÔ—?xs6‚-ď˘Ô_Ňw����`]ü�†¤ÎĐO¦šĐOůOémŢőfekküćáÇ⯏=»Ż?5öěX67&&Žă†Ĺ`¶heK,XŃŹ.X×=ľ8nxbq,kl+éčS.ôSˇ{O{Ą÷·ř11:ţ´ösŔ$ť/u÷IKęŇóôÓĎÄż˙}MÜsĎ}ťÇLť:%8`uw–Ýwß-®¸âĘÎő‹.ş8Ţóžăcřđáďo{üéO—ĆÂ…‹ Žß5úĂ®»îŇüąăŽ»âľűîŹí¶Ű¶s˙5×\_ü»4iblĽń´8öŘŁcäČ‘±&ŞéřÓPSËŁ)łg—Ě[}ńęűµ5µńŁŁNŤc~ůąxüąUٞžX8»č±3Öß"Î;ň˙­Qđě ;ě_üéK·ź>rkĹ}»Oß>NŮçͱ¶}ău·˙úڏwö̵d~|űš_íOˇśł^srŃH˛Ţ>fÓ‰ÄiŻzWśö÷ół‘r‹—vviÚrĘƱ۴íâ×w\ý)}§����Ö5•J�`PJ˙xŢŢ^ľ}LŃćŇî?eŹ­©l) ýv¸éذ´ą5®zrVÇ2»l@(Jn»—Ő›c»}˝ŹŻxlwĎŐCč'ʿޮ*uN*omuâI㮚››Ł?ťuÖ×»Ý?|xCĽë]Çeˇž\ę´łďľ{ǵ×^ź­?ôĐĂńąĎťÓ¦M‹yóćĹ‚Ďu;mÚF±×^{FŘ{ď=ăúëoYłfgAĄď˙üŘrË—dAźÔuč±ÇĎŽKťŠRw 5 ý$ŐŚ(Q7,˘®ô»OôÎ8ýňĆÄQc㤽ŢX´oÚřőâoďţvüř–?gُžX¸*�ô’Égťwěúšl$ŘšxĹ;ÇÄ‘ă:;ô±†cľj:ţ—ηĺ”iŮąŽŢ騫]űă©¦ŚžżÇYqámŹ?Ý{m<¶ŕŮXÖĽ2¦vlßkÓâ„—ŃĄłQ_óÖ]‹éÖ‹s®˙]Ü3{f¶í -w‹Ó9>ľőď_GËľÓ�����ëXµ˙úRSĺľš*nk*¬çKmÁmľÔ=ż­®dIűƥۦ¦ćë�č©»I ݤ%żßŇŇ+V,ʶ¶ö>}ăč‹rAžŇm…ëůýüöŮgWýCű{úĎóXţzđë‹Îőęż˙9zú©6pSmč§7Çvú)óřýd›*{ý)ŰDˇ˝żůPŮĐĎE˙ŰÝć#¦ňŔOađ§4T.´&Aˇ4Ę*…^ú*uóI]qŞ‘B;ďz×;b˝őÖë˛/.ĽđWqë­·W||ęşs ďŠI“&unűë_˙űŰeťëßüćWcذŐ!ĺË—Ç'?ůéÎő#Žxm|đAťësçÎŤóĎ˙Qţ©dÓM7‰“N:!ĆŚk"uű©vlŘ3+FsűŔŹű‚6¬¦.61!���úŰ“O>Őńwíš9rTÔ××gő‘tÁMşÍď�ýَaŘŢ7é?ŰZ˛´?ŰV°´Ü–.Qa˝»ŰŇűĄşŰ—Ńń�šĘ[RĐŁpäĐa ±´)u~é.Č3ÄB?±¶C?«vŹ^\TJďuąĐOĄÎKk[*‚­Iđ§;ÆŐÇřńăc“M¦ÇË^öŇŘi§—Uu•Â:Ç÷ölě× 7ÜO<ńd,Y˛$벓şíě¶Ű.±Ç»…zúĂÔ©Săă˙HÜtÓÍqŰm˙ŤŮłggaˇôĽ©ăĐ®»îś=o {sŽŃuĂcaËň€ˇ.}—����Á�`č©liniŽá «˙1öŐÓ¦ÇĹ3gVňô˘¨ĐOŰ›ĐO/ş•żŤâĐO¬ľ-úYőoŘq|jJŁ´ič'IAš5÷µ˙ţűeK™1cűl©Ök^sX¶T2jÔ¨8űěouwŠhhhýöŰ7[RoBKcëGĢ–_™/P€A+ŤPKße����€Á 6��ą˛#źĘnf/^\tČ;¶Ţ6ްéćY矲ˇźnC4˝ ý˝Ú^uŮé1ČSÎéeč§» Oçy{86uúyóΓℽ¦DˇYĎ-‹ňˇźžGx­-ýÝE‡®zű×v|Ć׏ ĘŇw¸vţ· ���� Ž?�Ŕ:•‚!íí˝ěţQˇËΕO=ď4ąsěR]Çí{¶ß>[ş3ec|çŽ{ă¦YóúúéŰh­ŞB?űĘŹÖŠ.ϵj{…ĐO¬~˝{o:.>qŕ†1etďţHFhýőîEĺC?}hä2Pá Jimm°‘_/vé÷¬/áŞńĂFĆň¶¦hjk jjëłď0����Ŕ`ˇă�0ä”­Őqű׹sâ™9ł˘·&ŹÝiFA&żí!Č«ž»Şc+„|Ö,ôÓőąĘo/ýěűÔA˝ý$O?;;ţpoŰó§.Ó‘hIă®kňŢN6:`(ňÝ����Á�`P)ěţR±L™ĐOş]ÚŇç<üPĚžýlŻ»ĽŚŞ«-9wˇźjŹ-ň)äé|5úIF÷˛YKzOgÍz6ľvő˛XŇTîuUîřSŐç:�RWáźţ—ŢÓĽłV_ Ż­ŹÉĂĆ %é;›ľ»�����‰ŕ�0ä´§PO…qY·/^ßyđˇxřńGcás ˘©±±ÇPkkK<1{VźC?ĺoŁ—ˇźšęŹ­6ô•C?éŘÇźť“ýěÝIď]zÓ{ů࣏ŗ®Z·<SSńő¶µ®Ž?I}}˝đO?JďezO×Ôúáş§0d¤ďjúÎ���� 6.W�†„Â.1m+›˘näČ.ˇźüö¶%KăÁ‰WNž;Śë54ÄđÚĘ”…Í­ń‹§ćŻZ©ä‰ĘˇźŠ]vz ňä§ë×ĐO¬>oÇ~űúĹń®—ĹÄQQckÄ3K"nźqŮõ±¤±¦›×›BT)dµ*[ľ6;űô$Ş455}×_ˇźÜŘúßžšßĽ4`°Jť~„~����€ÁJđ�XkR¤˝˝=ÖTó˘ĄQ;bdD—ÍęŃZK[ŰâOłğ⹊ˇÎ—RMçśjŹíMč§Úc« ýÄęsWJažĚj­â5t÷şV‡~Ňs46őnÄZ%J•4ž*…z; îĹ.™¶&ă˝*IŠaµu± yY4µµ  µőY§ă˝����€Ą́/�`ťë.äQ¸/żß8g^t ý´×T­Ő§ĐOaGžjGkő{č'zúiŻ>ôSU§Suˇźôž®XŮşęe>·rÖvW \1bD 6,¨NzŻŇ{6ˇź\ Vl8||L¨•u�‚u)}Ów1}'…~����€ÁN�t*uĘ·×®XM󟋆I“Víč&ôSľsNt>®đ¶(ôSőh­*<…ŞýTäéͱU‡~Ęď«úIۢ¶}UÇ–JžÁ2ţ+…YŇŇÜÜ­­­:�•H!źşşşµ?ld6ţkIËĘXÖÚÍí­k˰šş]7<űÖ˘Q…�����Ýü�†ŚşşÚ, 1¦ľ>–Ěšu#GEÝ˝ ýô˘ ĐOU›^„~˘7ˇźčň˘—ˇźöB?­-ËV¶ĆÄaMŮzú¬†‚<�”ľWy�(…Ë^lA ôIˇ¬<đ3Ý}z|-Ż#€ŇŇŘÖ+[›Ł©˝%šŰZŁĄ˝ăó)éG}‘şúÔ×ÔfcćjęcDÝ0Ý}����€!Ie�ôňN?ÇŹ––Ö>rTÜÓÚMłfGĂzëEmÇú…~˘/ˇźčĽ-ä‰ ýD/şu}®˛Ažč{č§Ą9byck¶q«q‹:>ŻÉŮg•=Dşf¤ Ëş »P^ bc�����@eţu�X«ŞUî¸QŁFe·;Oť’EURř¤uéŇh[±"˘­uUĘĄ˝˝÷ˇź˘Ž8Ő†~jşýôj´VˇźÂpN…×·FˇźŞŽ]őR/śö¶šě5¶6×FsËŞ$PmM{ě˝á’ě°üł*TÍgÜÝv������Šą|�R¤ľľ>FŤŰl4-¶[¸8Ěw¶·eÁź¶ć•Ks´v,mĎ/)Ó^Ć©Y˝­3ÜRE!—rŰ*=¦ěyVpÚźl¶Ztžâ×Tţ15ťAźĘŹ)•ĽÎ˘ó”ĽĆJ?[ńcŠ_w}]m «~©«é¸­Y=F¬Ă®fĹöŹŽŃŁGeź•������ŔŔŇń�4zę“ÖÇŤ›nşIě9zLlTW ›Ž\Ż˙XÇg3=űŚŞů,�����X3:ţ��CJ Śl˛É&±íÖł#z$nŤ¶x$XWRŻ ťÇ=Lz4¶ÝfËŘtÓM�����€µCđ�XëRx§˝pFT7űĘ­'»ďľ[´¶¶Ć¨§ź‰í›âá¶öx&ÚcIDZ­Á@VÓ“‡-Ź-F/ŠíÇĚŠ F7Ç´i›eźI˛&Ý~t�����¨žŕ�0č• ˙ÔÖÖĆž{ľ<î»ďţxě±Çcz… Q%í˝<ľďÚź_††Ţojj†Ĺć›oŰm·möX#˝������ÖÁ�`ťčMןrŰňđĎŚŰÇ&›LŹ'ź|*ć͛˖-Ď:Uóü•¬˝PĐş±¦aśşşş=zTLť:56ŢxZŚ;¶ěyË=Źn?������ýGđ�˛ň0P žlżývťŰ» îĽĐC=ýĄ·ˇ�����€µOđ�”Şéú“oKJ»ĺ*_ęĹŞ6°Sé¸Ţl�����č_‚?�Ŕ:ÓݸŻJűË}ş;WĄă+G±ţęüÓÓűëý�����č=Á�`ťęKř§ŇöîB>ĺ‚%Ć~[›Ýzł�����€ň�€nőĚY—ݎ§.?IOˇ"ŞÓ×đŽ÷��� ďÔV�€žţ��e•†j˛ČPM¸¨ŻŁĽJ_·.?ŐYÓî?ŐžCń ��� «Ňš‰ �P‰ŕ�0(¬Iř'ß—TsŽJ^lˇ 5)őÇř.+�����€5#ř�t«8ś‘î\8¦ÚđORM‡źŢyQş×źaď5���@%«ë&j(�@O�€.ĘpJ5ëşčPM‡źrŻŃ¨ŻęôöóU„���X3…u«rµő� Á� jyqˇ­­-ęęęb T;˛kMŹďÉ 5 Ôß"!���€ţ‘jn‰ú �Đ‚?�@Őjkkٵµ5ZZZ,ř“«fěWéńIvXş×—÷Ç{ ���PYŞą%©�P-r��Ş–Š)Ľ±rĺĘXú.)\čkúľú,����ş—jn©†"ř�ô†?9��=ĘĂyŃaůňĺ±¶¬i€§4°"Ô˝ţ~żĽß����ŐÉknůĹwj*�@5Śú�**·µŞčŃÜÜśÍ_›WővôW5çc`yŹ���Ş“jm©ćVWWŰĄć¦Ć�tGÇ� [Ą……şşúlŰŠ+bmÓ±gđó���ô^޵ĄzJŞ˝Rc�z"ř�ô(o/śnëęę˛m‹-ŽuI¸dpńy����ô]^kKµ·ÂZ�@Oü‰�(«4ȑݧ‚CZZZZ˘±±1ÖµÂ3‚'kŹ÷��� ¤[޵ĺu·Ju9�€r�€n•+4Ôׯ÷µ`Ás1Ř”RFÖŚ÷���``Ą[aÍ-§�TŁ>��J¤‚B{{{—myÇźT„HW!577Çňĺ+bÔ¨‘1Ř)’����0ؤÚZޱĄ_©ćV®ăON} �(GÇ� ˘Â"CiÇ—aÆe·sçÎŤ¶¶¶�����Ş—jj©¶VXk+í¸¬ë�ĐÁ� GĺF=ĺW!ĄűóćÍ ���� z©¦–ŹřJµ6ăÖ€ľü�Ę*ĽŞ¨p[>î+ż©®®6V¬X‹-���� g©––jj©¶–wű)7ć«\Ť� ŕ�ĐŁrW­ůŐ]‘´páÂX¶lY�����•ĄZŞĄĄšZŞ­uW{�čI}��TŠ íííť·ů¶|ÔW.]•”f’Ď›7?[=zt�����ĹRč'ŐĐVwÓ®Ë:ýŽúĘéö�TCÇ� *ĺ®8ĘŰŻş:iUKâT¸X´hQ�����«ĄšYič§tÄ—n?�@oéř�t«°ëO.#R‡źĽ0‘äÁźćććX¸pQ466Ć”)S:÷���Ŕ‹ŃŞNŮóbĹŠ•Y­,ŐŃęëëłű…ˇźŇ�P"��ôDđ�¨Za¨\ ',ňđO*d<ńÄ“±ŢzScÔ¨Q����/6Ë—/Ź9sćuÍÎÇ{•.Â>�@_ţ��]äźrëĺşý”>6mojjŠÖÖÖ;w^VĐ4iRŚ1<����ŕ…nĺĘĆX°`Av\Ş•Ą°OCCCgŔ§Rč§°ŢV��Ęü�ŞRMř'­§íÉđáĂŁĄĄ%[RcöěŮYcâÄ 1räH#Ŕ����xAIu±+VÄsĎ-Ě.KR=,uÉÎ;e}zú�¨Dđ�(«´ëOé¶ráź| X~?o]ś‚?éŘUóĚçgűӾѣGg]€ň™ć ���� ©ö•j]颷ÔÝgٲeY ,ÉÇzĄzWŞĺuŻ|{~ż7ˇu3� Á� ˘jÂ?ůýT´HĹŽ|=/~äEŚ´ž®tJĹt?Ý.Z´¨c‰.ĎQxŽÂ[����X›ňŔMéméţ$ő¤‹Ü >…!źÂŰüń…çú�zKđ�čVOáźÂÂCa(ďţ“€ňőTôHҶZ5¬=ň§ČĂBů9ş#���@č)\SZ[µ-ű˙l=ďđ“[ř)·^z^ˇ� /�€• âT ˙ä…‹<ěS8ţ«p[^ÉĺŰ źC°���€Á \ý«\h§0ŕSzláhŻî:•[�¨Dđ�¨Zi÷źŇ@Pľż°¸Q8ţ«đń«:ýDŮ Oá¶ü8����Xň:WŇ]§žră»JC@•[Hč�č Á� Wz3ú+É …}Ň’wű) ű” Ž���€µ©RH§»q]ĄŞíňSi�@w�€^«4ú«p[ĄÂEiЧܹ ÷���ŔşV:Ú+ßVnżŔ�°6 ţ��}V©űOR�J·ilWázwcľJ‹Ý…€„����č‹î7•öU3˛«p<Xµç�č Á�`ŤTęŘSn{éŘŻrĹ‘ra Âý����°¶uň)ÜŢ›n>ę]�@ü�úEąî?ůö¤4ÄSş˝\§źj‹:ţ����Đkľ©4Ę«to÷�ô†ŕ�Đo*u˙én_ĄIi ¨šç���€ţÖSŔ§Ňń˝Ý�Đ‚?�@ż«Ôý'ßW¨§ăz*†čö���ŔšXÓ0N‚��úJđ�Ýu˙)w\®·A����Ö¦ŢÖŁÔŻ�€$ř� ¨j@ĄÇŇŐ���€uaMB;?�ŔÚ ř�¬˝ �•{,���� vjY�ŔÚ$ř�¬U……ť|����x!ö�ÖÁ�`ť)-���0ú��…ŕ�0hôT0 ���`mě�† Á�`ČPp�����€Őj��������r��������`ü�������€!¨>��†ööö����€VSS��Cŕ�0hö����0ôT§ � Á�`ťô���`(*­k �ëŠŕ�°Vő6ě#���ŔşTM¨§°†%�¬M‚?�ŔZQ)ŔSM°Gř���€u!…xz;ö+?^��X�€U®0Ň]±¤­­-����`0(WÇŞ­­­xLaŘG��X�€QMŕ'­—ŰVíůşŰ����ը̩´˝ôµt\~lą°Ź��0�€~×]č'/ڤőÖÖÖl=Ý/Ü^x���� y§ź<Ŕ“ÖÓýt[WWW´=ոʍ�ţ�ú›ŕ�Đoz ü¤%…}ZZZ:·Ţ>ľŇýjź����zŇS§\çž|{~áZ~Lş­ŻŻĎB@)üS*<‡��Đ_�€~QidW*€¤ O ü¤%ßž Ç7İaĂ:Š ©RŁŕ���Ŕ°ŞuZZŁąą9›˛ÚWSSSVăJµŻ´¤ PĄ�Z�Đ�€5R©ËOŢÝ'>Ňm’ŠcĆŚŽ†††Î‚���� 5«Â=i©Í.l5jTVKÁźeË–gÂĺKÚźwŇý�čo‚?�@ź•ëň“ é6~Ň’ÖÓ•McÇŽÉŠ����đB”‚=#FŚČ–T[˛diçEq©.––ň)�ţ�úJđ�čµrź|IAźĆĆĆěj¦´>~üřŽbÇđ����€‹ň™4ib¬\Ů‹-ęěŽ=|řŞ:Y úäK˘ű�ĐW‚?�@݆~ňűy—źTĽHˇźt›®lJ]~Śô���ŕĹ*]×Đ0%ëţłrĺƬޖÂ?iôWŢý') � ˙��˝!ř�T­4ôS¸¤¶Ĺ)ô“îŹ3:FŹ����đb—Â=ăÇŹ‹úúşXştY¬X±" ˙¤®@)”}„�€ľü�zÔÝhŻÂĐO*T¤Ń^#GŽ����`µtˇ\mm]6ú+ŐŇ’ţ)dô�Đ[‚?�@·z ý´´´DSS“Đ����ô ŻťĄđOŞ©Ą`O}}ń?׆}t˙�z"ř�TÔSč§µµ5+P¤Ű±cÇý����@R ­­­5–,YÚţ©««+:Fř�¨–ŕ�PVOˇźÔá'ŤřJ˛VĹ����@ĎR-­±±) ţÔÖÖfÁžt[Hř�¨Fm��Tˇ4ô“şü¤ŕOş?aÂř�����Ş—jjůĹu©Ö–îÖŕ��Ş!ř�tQZXHE‡Â}iÉG|Mš4±ËŐH����@÷RM-ŐÖRŤ-ŐÚJ?…5ąD�(ÇżŇ�E* Ż6Jă˝ŇR__#FŚ���� ÷Rm-ŐŘňz[O„�€R‚?�@·ĘuűIí‡Ó­_����°fRŤ­°ćÖ]×�€R‚?�@ŹR±!ź1žZ§Ą®®.����č»TcKµ¶ĽîVX‹�č‰ŕ�Đ©´PnŽxŢrxܸ±����¬ąTk+¬˝*WŁ�Č ţ��=*ś-žŠ[břđá����¬ąUµ¶ŐÁźŇ‘_��•ţ��™ŇBBľ^XdHWĄĄ®®>jký1����úC޵Ąš[^K ër•jw��ţĹ�(«\1!ÍOFŤ����@˙Ékn©'č�TKđ�čV~eQşŇhUđ'Ťůj���� ˙¬Şą­şř.ŐâŚű�Ş!ř�tQXP(˝ßÖÖuuu����ôźTsKµ·îjs��Ą�€ŠEŇíů|ń4s����č?yÍ-ŻÁ媭Ý�/NţŐ�¨(/”¶®©© ���� ˙ÖÜ ëq>�@wę� yq!ź-����ôżT{Ë;ţ¨Ă�Őü�zA±����–�P=Łľ��������`Ňń�(R8?Ľt;����0đş«ĎŐÔÔ�@NÇ� [?����°n¨Í�=ü�������€!Hđ�^ä\5����C“Ú� ř��������Cŕ���@•VÎśó˙đ‡h|â‰H-Ď= ţüçXzűí����•ţ����TaŢĹÇ­Űl÷˝ńŤqëÖ[gÁś°âˇ‡˛çą÷#âż»ěŹęS����ĺÔ�@ĄóÁÍ €u/Bćţâ±đŞ«bĹý÷GËÂ…Q;rd4¬ż~ŚŮcŹôÚ×Ć”#ŹŚš††˛Ź_~÷ÝqŰŽ;mŰmć̱ŮfńBwűN;Ų;îŢzŮ 7ÄŘ=÷Ěî?ő•ŻD{ssvż­±1ž:ë¬ôş×E›uîąŃ<wnçúS_ýjL˙ěgŁvÄčĺľ{-YucĆÄ`wËĆGăÓOw®oůýďÇ'ťÔăăîÓ›bŢ%—ÄšŔ±ăżţÁMS¦Dóüůťë[ýä'±ţqÇ�đÂQ®6WSS��Ą�€n ü�Ŕş×˛`A<ú‘ŹÄÜź˙<ÚŰÚŠöµ.Y+ŇňđĂ1÷—żŚ™m/ůż˙‹ÉGô݆ 6čv} ž§~Ҥ¨><��xńQ›�zbÔ��� b©ËĎwŰ-ćüô§]B?ĺ4=óLÜ÷¦7ĹăźůLĐż¶8űě·ß~Q7jTLxĺ+cóo;†ř@¬÷¶·EÝر1j»íbŰßţ6ÂŐÝ����”ˇă��� RÍóćĹ=‡+gÎ첯¦¶66Ü0Z—-ËF~•zň‹_Ś›oëżűÝAWcvŮ% ńô$˝Çą[l/ý÷żc Ą‘^[˙ěgA˙™řÚ×FĂĆwŮŢşhQĚľŕ‚˘mSŽ:*6ڨ˱#·Ü2����Á���¤=ĺ”.ˇźáo›śqFL=úč, ’4=ýt<ýÍoĆ3ßůN´·¶®~ü‡?“˙ç˘~âÄxˇjklěÓ¬ń›ýëÁ‹ĂúÇWvűʇîüŮčŚqűî����CQ_���0-żűîű«_mąőÖń˛›nŠőßůÎÎĐOŇ0mZlţŤoÄ–çťWt|ë’%1ű‡?Śľj|ňÉxüSźŠ˙îşkÜ0n\\×Đ7o¸aÜóęWǬóĎŹ¶•+{<GóÜąńä—ľw˝âqÓúëgçHçşýĄ/ŤGN>9–Ü|sĹÇŢ˙¦7ŵ55ťË“_řBlzę«_Ť[·Ý6;×6Ý4Ö–Ň×ó`I¤t˙¬ü Űľřúëăľ7Ľ!nš:5®><ţłůćńĐńÇÇňűî+ű<Ď~÷»EçąełÍĘ—BOés¸÷őŻŹ[6Ů$n=:®5*»ß߸j<\KKT«˝ą9žţÚײĎćú‘#ăĆI“⎽öŠYçž[(«$}–źpBÜşÍ6ŮëHçH?ëÇĎýőŻQŤE˙úWö>ŢŇńą¦÷*ý,é{Ň4kV 6Ď]vYö¸µă÷˛ó÷cŁŤâžĂ‹gż÷˝¬Wwúűó+•‚…ߣě;YňßdŮťwfÇŢľóÎŮw4ý7Nž˙Ýe—ů‘ŹÄŠ ���`đŇń���ˇŮ?ţqD{űę ˙hżUǶr#ri¬W ,˝ýöÎm ţö·öńŹGoĄĐÁĂď}o´­XQ´=0šţţ÷x®cIžmó›»ÇeĎ1ű'?‰Gß˙ţh]ľĽh{kss,»ë®lyöűßĎ^÷–çś5 Ń“‡Ţő®3DĆ`Ą Íüß˙> ˛´·µun_ůŘc±ňG?ŠyżúUlÓ±L:âč­ewÜ÷v<®ń‰'şěK­´Ě˙Ă⩳Ίí˙ô§ŃĂŞěIçKźk.»–Üxc¶ĚűíocűK/- śţś3?ö±xć˙ţŻËľěgíXRmü+^‘ýĽ lPöůłs|űŰ]~–ôYĐń3ěxíµ1¤ßŽ>: )uŮ÷ěłŮ’BAiÜ޶_ăö٧Ëqýýů•JżŇ÷rÚG>Ľç=«7tü÷%~˛Ď­đż5Z,ĄiéřoIÚżÉç>ÓO;-���€ÁGÇ���„Rp P ×” ”Úę‚ ˛°AľLűčGŁ·žţÖ·˛N&ĄˇźRŤŹ?wżň•±ěż˙í˛oÎĎž…tJC?ĺĚţŃŹ˛�BO_sÍ ý$iŚTęvSú)”Ţ›ßţöhzć™čŤ–ůó㮎÷˝\h¤Tę*t÷ˇ‡fÝźşóäç?_ú)µđĘ+łîOĺÜ÷¦7• ý”JA™»:(Z/î˛ď‰Žç/ Şj|úé콪¦óĐ@jëřĚî>řಡźR)�”şc­|ôѢíńůJŻíá“O.Ú–Âe›}íkEŰž8ýôl<`ič§TzĎ˙ěgłP!���0řţ���Ŕ ÓŢÔÔeĽÎ¤ĂŻę±Ł_úŇň¦7u.Ő>.—B<Ź˙ż˙W´m«^Űýîwń˛n­~ň“µí¶ťűŇ8ŁČ( ¤pÄŁ§śRtŽ1»ě’‘vąë®ń׿ĆÄWżşh'ŐôôÓŃťç.ż<»ąŐV±áűŢÓ>ö±Üń3V)@•şádŤÎ??6ůüçcřĆÓ˛hQĚęĺ8¶gĎ9'ëČ’«92¶üţ÷cŹgźŤ—Ď™“ua6ujçţ<ÉÇŽUňĚŮgGÝر1őčŁcOŚQ3ft9&Ť‰j]ş´ËkIÝx:ŐÔĆ'ť;\qEĽôÚkcłłÎŠúńă;w/ż÷Ţx¬$@´âţűă©/ąřÉ:Î3娣b‹o;6ůěgcř&›dÁŻu=ň+eŇľ\mCCL˙ô§ăĄ˙ţwětë­±Ĺ˙ý_ÔŤÓą?vRמBńůuűČ#«:Lu|ďrcvŢ9¶ůĺ/٦vu0uszúë_/zlú=ßé–[bĎ… c—{î‰őŢúÖ˘ýO|îsEç���Łľ���`ięřÇ˙ö––˘mĂ7Ý4Ö†§ľúŐhkję\Oá‹m/ş( b$c÷Ü3&żá qű;d]X’4˛kÁ_ţ“^űÚl=u˛Ůô‹_Ś<…:RČ`Će—EíđáŮţQŹMcźnš:5 %©+΢k®‰©oyK·ŻoĂ“OÎÂ5uu±&_w]<ţ™Ďt{Ěúď|gŚxÉKbM¤°Óä7ľ±s}Ł÷˝/nÝn»hž;·sŰÂË/ĎÂ-ŐZvçťEëéüśtRçzúĚę'NŚgľő­,Ŕ“–ôąu§aÚ´,¨““R——‡O8!×–KźëâŽc&vŘŞc:>łŇŔÎKÎ>; eĺR—Şńwî˝wgçŁŮ?řAlzĆQ?iR¶žş8•~ß·ę8&¦r}ä#qWÇw¦\w©µiĚ{Ħgž™}Ż—w,ťrJ¬÷¶·­ŢżË.ŃňÜsYH&·čę«‹Î1ź_’Bd÷vü6ĎźßąmxÇçşýź˙uŁG›BĄÝ¸^rÎ9Y¨.Ia­­ţóU;:~×F?˙:ŇgX���Ŕ`"ř���Lą[)0ĐRgÁ˙X´mÓ/|ˇ3ôÓůZ&LČÂ…ť[ž+ţ ›2%6|ď{»˛ÚÚ¨1˘3ř“4Ď™ÓíCRa‹ď|gŤC?É’oĚ–î¤pŇšFď´SQč'©ź<9 Ą€U®ń©§˘7ň�UnńŐWg]hR *—ş·¤ĄZés.ěF”ŢăÍ:^cađ'i*x­éy _{ú|6,1•Ś}ůËł×’wlJÁ˛…W\SŢüćl}~aÇ X.+ ý$)˛ů׿w÷âg:([şS7jTŃzé÷z >żhmŤ:ŢĎFę|ŁGÇvďm u•*} IČęřÔ44tnë ˙����–ŕ��� 2iôO©–… c ­|řá.]@ž¨Đ‰ćąż˙˝h=uý©¤uńâXv÷ÝY Y9sf,úç?‹:“džďSÉŘ˝÷ŽšúˇSʵýöe·ŹŘrˢő¶’ńY=™ôş×Ĺś /ě\Oť—nŰqǵÝv1f÷ÝłŔŃ]wŤ±{ě‘…«Ş1v·ÝşlK®†ő׏¦Ůł;·Žú*í\“^ÇGĺ䡟ÎÇv|_ňŕOcÇ÷ˇčç{>@V*±Ň­Ö^ľ_%użi|ôŃXvĎ=ŃřŘcŃřä“Y€gá•WXň˝ĎďˇăŹď˛mëŽçHĘIßÁ4˛Ż0(ôÔ׾Ďž{nĽJăÁFw,éţÍ6 ���`đü��€AfŘÔ©YÇ•4n)×řÄ1ĐšžÝUhnóU…ćyóŠ7´·ÇĽ‹/Žgż÷˝XôďG¨-é¤2ŘŐ Ö«íŐšňż˙ëýĺ/1§¤ËňűîË–řŮϲő ›r䑱Éé§÷Řą¨¦BŔ¤¦›ŕI|_R§4lVi¬]úťhŘhŁXńŕ±.5>ţx<söŮY7¤– ˘·âó+§§ŔÎÖĎs÷ˇ‡fŁÉr­K–dÝŇ’K¶Ť>ôˇŘ …‹j ú��€Á¦6���€A%ŤáąőÖEŰžűŰߪzlę82ď·żí\\ziT«˝˝=úŞmĺĘÂĹýG÷żůÍeC?iQ—”NëĘ´Ź~4öíxťÝ-ÖńX©Šjj˛ĐĆ6żúUŚŰkŻŠaŚ42nÎ/~·ď´SŹcÍú˘_ľ/ĺÎŃÝy{č 5Đ_{mÖťçéo|Łkč§ăs±Ĺ1ţŔ»?ÉZúü8öŘâßË©»Đ.wÝ•Ťg6yrĹă–ß{o<|â‰Ůďs¬Ág��� ���`špČ!«ş<oÉ 7ÄŇ˙ü'Ć”ÉTčÁwľ3;.7nď˝+ŽN*•ş©Şmh˝Ł·f˙ô§1ď’K:×kjkcýwż;q”Ć ßxă,ěpŰ;DóÜąAßL}Ë[˛%ulYrÓMŮçľä–[bńŐWGˢEťÇĄ®:Źś|rětŰmŃźJż/>8v(éŐ“ş±cŁnÔ¨˘®?+KFĺÚ››Łé™gb]IŁ˝|Ç;˛®8ąĐŰđýďŹńűí—ŤĎJŁČRŕ.Ť˛ëÉ@~Ëďą'űä'c‹ď|§â1 Ó¦ĹKľ÷˝Řâěłłă—v<z‹Żż>–ÝqGѱ©×‚·ľ5&qD����‡Ž?���0­˙®w­gˇăŽë:R«Ŕě .( ý$˝ůGú‘[n™uʵ55ĹŇ[oŤŢZđ§?­OűÄ'bËóĎĎ‚?çOďěpŇşxqĐw©#LęĆR?qbL<ě°ţ™ĎÄöücěńěł15ug)°ôöŰ‹+ýaôŚĹĎŃń]IáśŢ*cUúýÉĄńSĄcÁÖ¦ÔMk壏v®§ŔŇËn¸!6úŔ˛@[ ý$Ő~ŻűűóŰ»ă|^ůʢmi$ŮÂÂXid[ËÜą1zÇł˙îĽäśsbç˙ţ7^zíµQ[2ęmŃŐW���0¸ţ���Ŕ 4úĄ/íňŹ˙©#Ç{ěó.ş¨(`Ń4kV<ö‰OÄĂÇ_t|ý¤I±Á '¬ŢPf¤P{Á( Ô}Ą´;Đăźţt´·¶vyÜCĎuËf›Ĺ˝GŹźvZÖ)$W:iDÇqĄRG”Ć'ź z'Ťnşď o˙ląeÜ0fLÜ6cF,ľîş˘cjGŽŚ‰‡^´­fذ.!Ž55ţ ˘aýő;×ÓçţÔWľŇ帶ĆĆl\UęđôŔ1ÇdǤ°I. Ą�ŃłçśS´-ť{ćÇ?ëRé÷şnüřěw¬H{{ĚůůĎ+žc >żÔŐ'íßę‚ ˘~„˘×“-óç?÷—żŚ;öÚ+nčřnŢxăxđíoď2ĆkÜ>űtéę”ţ��� .F}��Ŕ •Ćď,ľá†h|â‰Îmi ŇýoyKH#łRJ]€ŇźÂ`BŢ‘¤Đăźű\L~òN!ĂÖ_?¦}ěc1˙č ű<wŮeqçľűƆ'ź#¶Ř"šž}6 6ä]Y<üůĎ1ţŻč<gÖŐ§Ŕ“_ţrŚŘj«·×^Y$ťćG?ô^ w¤Ď{ĺ#ŹtnKA’Mżđ…×ń9ŐÔ×gă˘Ň§Bé˝Oß™ţTSWÓ:>Ç™źřDç¶Ç?űŮX~˙ý1ĺ˙7†Mž+z(žůÖ·bŮ]weűSx-}_68é¤ÎǬ÷ö·ÇS_űZQí‘÷ż?ëđ“~¦ZIăăÖ寤ô{ť~ýЇbăŹ<űÝIŁůžüüçcŃżţUńőůŐŤ×ů_ňÝďĆo}kŃë|čÄc»‚ń{ĂÖ[/–Üxcçús—_÷uT6¶lř&›Dóś9ńě÷ż_Ôá(Ŕ��� .‚?���0H ›:5v¸ě˛¸űĐC‹Â?I I¤PY55±ů׾Sßň–˘ÍéôS‡–¦Ůł;·ÍűÍo˛eë .őŢńŽ»çž±Éç?Źć3ťÇ¤€@aH Ôúď|gL8č Îő©Gs~ń‹Îőş»`ökkł Qi°€žmńíoÇ{ďÝ”IA’‡ ‚4ĄRŘdłŽďĂ@HA±…˙řGÉĄn2i©$Ť’*ěJ3r›mbú©§Ćgś±ú öö, ––\§•‚n…ˇ™µ)Ť$»Ç±äć›;·=óťďdKˇ‘[m•ž*čĎoę±ÇĆü?ý)ű˝ÎÍ˙ÝďböO~’ý®&^őŞ,đWřţλä’l©dňßă<0���€ÁŨ/���ÄFn»měôź˙ÄÔcŽ);Ş«T«5ăoË:±tŃńřMÎ<łěă =Ó?ýéŘňűߏÚáĂŁ[çŰč”SbËóĎ/Ú<ń5݉Ť>řÁnš‚ ăöŰ/č˝1»í–}Ć)Ö“ÔjĆ_˙šVDÇw`»?ý)6xĎ{z<´nôčŘú§?ŤőŢö¶.ű¦îs±Ń‡>Tń±égÝć Ëv­Z›ŇëOÝr*Ia¶mş =%kăóKżżĄcşíř]- ڥיýwĄ'źńúÇŰţú×��� >‚?���0Č塇]ď˝7 ĺŚŰgźlŚR T7vlŚÜrËXď­oÍţa~ׇЉ‡Zń\śpBl˙Ç?Ć„ÎĆ€ĄqMé\íííĹÇťtRěöČ#±Ů—żăöŢ; ¤QCő'Ćč—˝, üěr×]Y÷’ô:JmńťďÄö—^“Ž8"6Ř {lzžIŻyMěpůĺ1í# ú.uXÚmćĚě}žxŘaYČ#µęFŤŠá›n“_˙úŘňÜsłďĂ@wiIĎ›žkçŰoĎľ©3OúÎfźůzëeŻMĎ<3v{ě±l¬W9©ÔßúVěřŻĹ”#ŹĚşSŐ64ÄđiÓ˛ďěN·Ýٶß>ÖµÄË~O=5Fí°CfJyFm·]¶m§[oŤú)Sz<Ď@~éw{ëźü¤(,ş%=ř¶·uŽń«92űďĘËnĽ16ěř}O?OęÄ”~ź‡uü cvŢ9¦}řĂŮĎ´UÇąj:>���`đéůRÁžŹ«)sż»Űš ëůR[p›/uĎo«+YŇľ4ÄĽ¶©©ůú��z­ôůŇzáŇÚńé¶ĄĄ%V¬Xmmí1}úĆ����ôŻ'ź|*jkkbäČQQ__555QWW—Ý.…jŞč �tŐĐ0l¶Žeńó·­%Kűó·mK{ÁméÖ»»-˝_Ş»}��������`ü�������€!Hđ��������† Á��������‚��������`ü�������€!Hđ��������† Á� [555����¬}js�@O�€˛J‹ Š ����°v¨Í�Őü�������€!Hđ�čVńŐD®,���€µş§Ó�ĐÁ� ‹r…Âmííí����ôźÂš[Oő9�€śŕ�ĽČő¦`ŰÖÖ����@˙Ékn}©×�/^‚?�@ŐjkWýѡĄĄ5����€ţ“×Üň�@5üÉ�¨Z*:¤«V®\����@˙I5·T{ü�zĂź�€"•懖/_����@˙ÉknůĹw•ęt��…�€ŠJ «ŠÍÍÍť3Ç���€5“jm©ć–joĄ„}�€îţ��Ý*-,ÔŐŐgŰV¬X����ŔšKµ¶TsKµ·BB?�@O�€ĺí…Óm]]]¶mѢĹ����¬ąĽÖ–jo…µ8�€žř�PVéń|=ŇŇŇŇŤŤŤ����ô]ޱĄZ[^w«T—�(Gđ�č¶pP®ĐP_żjÜׂĎ����Đw©ĆVXsËőř�Á� ‹rEÂŽ?©‘n›››cůň����ô^Ş­Ą[aÍ­RŕGĐ�(Gđ�¨¨°ČßĎ—aÆe·sçÎŤ¶¶¶�����Ş—jj©¶VXk+\cľ�€žţ��=*-:¤Ą®®®łýđĽyó����¨^Ş©ĺ#ľR­­\ � '‚?�@¦´PxUQá¶|ÜW~%R]]m¬X±2-Z����@ĎR--ŐÔRm-ďöSnĚWą]ąu�ŕĹKđ�čQą«ŤVŹüjČ®HZ¸pa,[¶,����€ĘR -ŐŇRM-ŐÖş«˝�ô¤>��ž—Š ííí]Ö ·ŽúĘĄ«’ŇLňyóćgëŁGŹ���� X ý¤ÚęnÚuY§źÂQ_9Ý~�€jčř�TĄÜGyűáUW'­jIś ‹- ����`µT3+ ý”ŽřŇí�č-�€nvýÉĄbDęđ“&’<řÓÜÜ .ŠĆĆĆ2eJç~����x1ZŐ){^¬X±2«•Ą:Z}}}vż0ôS�J€�€žţ��EJÇ}•ŰWř)” yř'2žxâÉXo˝©1jÔ¨����€›ĺË—Çś9s‹şfçă˝J—jÂ>‚@�@)Á� ‹ŇđOáząn?ĄŹMŰ›šš˘µµ5ćÎť—4&Mš#F ����xˇ[ą˛1,X] —je)ěÓĐĐĐđ©ú)¬·•†|„~�€r�€ŞTţIëi{2|řđhiiÉ–Tŕ={vVŕ8qBŚ9Ň0����^PR]lĹŠńÜs ł â’TK]˛óNŮ…AźŢ„~��*ü�Ę*7ň«§đO>,żź·.NÁźtěŞyćółýißčŃŁł.@ůLs ����†‚TűJµ®tŃ[ęîłlٲ¬–äc˝R˝+ŐŔňşWľ=żß›ĐŹş�P‰ŕ�PQ5áźü~*Z¤bGľž?ň"FZOW:ĄbHşźn-ZÔ±D—ç(<Gá-����¬Myŕ¦ô¶t’‡zŇEn…źÂOámţřÂsý��˝%ř�t«§đOaáˇ0”w˙É@ůz*z$i[ ­ ÖůSäaˇüÝ��� ?ô®)­­Ú–ý¶žwřÉŹ- ü”[/=ŻĐ�Đ‚?�@ŹĘq*…ňÂEö)˙U¸-/äňí…Ď!Ř���Ŕ`P®ţU.´Sđ)=¶p´WwťĘ­�T"ř�T­´űOi (ß_XÜ(˙UřřUť~˘lЧp[~����¬ yť+é®SOąń]Ą! JŹ-$ô�ô†ŕ�Đ+˝ý•ä…ŤÂŽ>iÉ»ý†}Ę…€ LJ���ŔÚT)¤Óݸ®ŇŽ@Ővů©´ � ;‚?�@ŻUýU¸­Rá˘4čSî\…ű���`]+í•o+·_ŕ�X›�€>«Ôý') �ĄŰ4¶«p˝»1_ĄĹŽîB@B����ôEw›JűŞŮU8¬Úó�ô…ŕ�°F*uě)·˝těWąâHą0Pá~����XŰş ůnďM7ő.� ?ţ��ý˘\÷ź|{Râ)Ý^®ÓOµĹ����č‹5 ßTĺUşż·ű��zCđ�č7•ş˙t·ŻR¤4TÍó���@ë)ŕSéřŢî�č Á� ßUęţ“ď+ÔÓq=Ctű���`M¬i§?A��}%ř� îş˙”;.×Ű Ź‚ ����kSoëQęW�Ŕ@ü�Tµ Ňă éę���Ŕş°&ˇ�`mü�ÖŠŢ€Ę=����;µ,�`mü�֪‡N>����Ľű��ëŠŕ�°Î”D���� }�€ÁBđ�4z*���°6ö��C…ŕ�0d(¸������Ŕjµ�������� 9‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������CP}�������™çž{..ľř’¸öÚëăÉ'źĚ¶Mź>=öŰoź8ę¨#c„ �0XÔôĂq5eîww[Sa=_j nóĄîůmu%KÚ7.Ý655_������ĐG˙ú×Őqć™_ŚeË–—Ý?fĚč8í´OÇě�ŔĐÖĐ0l¶Žeńó·­%Kűó·mK{ÁméÖ»»-˝_Ş»}Łľ������xŃKˇźO}ę´ŠˇźdéŇeq꩟‰«Żţw�� ‚?������Ľ¨Ąń^©ÓO[[[ŹÇ¦cľđ…/ĹÂ… �`]«������xHˇśGy4žyć™hllęńř3¶‹iÓ¦ĹĹ_RÔ駡ˇ!N:é„8äłőË/ż"Î=÷ŃÔ´ęśK–,Ťßţöwqüńď �€uIÇ������^RčgćĚÇŞ ý$&LČnŻąćş˘í)ôsĚ1GÇ”)S˛%Ý?ńÄwóď_��ëšŕ������/O?ýtŻŽ1bDŮÇzč!]Ž}ő«+Zę©§�`]3ę �Xç–-[ßüćwâ/ůkŃö=÷Ü#ľýíoV|\KKK\qĹ•qŐUWĹĂ?óç/QŁFĆÔ©ëĹË_ľGĽć5‡Ĺ[l=illŚ+ŻügvžG™Ůqžů1|xCLš49vÜq‡xŐ«^ŮńZ^˝µdÉ’8řŕWműú×ĎŠ}÷Ý'^ě}tfsĚŰŠ¶ýţ÷džnŘ«cÖ¶ÓO?#ţţ÷Ë;×>ř 8óĚĎÇšřřÇ?ŮĺŞÂäÔS?Żý���Tݦ¦&úC{{{—m­­­%Ď��ëśŕ�°NÝvŰíqć™_ŚgźťŐ«ÇÝ˙ńůĎ!fÎśY´=ÍY_¸pQ<ôĐCńË_ţ*Ž<ňâ|_ 6¬ěyîĽó®8ăŚ/vąB+ť'ÍjüńÇăŇK˙»îşK|ć3§®ÓĐÉ@;÷Üóă‚ ~Öą>cĆŚřŃŹÎ N ‡ÝxăÍe÷Ą€‘ŕ���ôÎFm”ŤúŞÖĘ•+côčŃ1mÚ´¬ž”»ě˛ËăŘcŹ):öňËŻ(Zßxăé�°®ő�¬)Xóíoźď{ß{úąçž{;÷.ˇźRmmmqńĹżŤO}ę3]®ČJRxčüpUm™o˝ő¶8ůäfÝ€ ż\}őżŁąąąěľ˙ţ÷Ž={v����Ő{ÉK¶Í7ß,ëć\Ťçž{.»Ý˙}‹¶źwŢă sçÎÍ–_üâÂ8˙üłß~ş:�랎?�Ŕ:qÖY_‹żüĺoEŰFŹË–-ďöqË—/ŹSOýt—ă&Mš›l˛I¶ý‘GÉB?ą4Fé·ż˝$Ţüć˙íÜ–öźvÚéŮU]ąÚÚڬȳőÖ[w<ĎŠŽÇ]›uüÉ=űěłqöŮß‹ÓO˙l@HW7nl,^Ľ$»źZŠ_qĹ?â­o=6���€ę¤úÎV[m™-˝qÔQGĆEý&–.]–­§‹ÖÎ>űśl)gěŘ1Ůc��Ö5�€u"xr)´óőŻźűí·oŹŹűásćĚí\Ż««‹O~ňcq饌sĎý^üüç?‰‹/ţUGqg«˘Çýô§?/šÍ~Ýu×Ç“O>ŮąžŠB_űÚWâ+_ůRĽë]ÇĹűß˙Ţřĺ/‡vHŃy.żü±pá€5µ`Á‚¸őÖŰ;×ëëëăÝď~gŃ1˙ű��� Ľ &Äi§}:«ő$“Ž?~|��¬k:ţ��ëTę°sę©źŚ‰'Ć?ţqe·Ç¦+­ţüç?műŔNŽ7ľń EŰŇLö3Îř\|÷»ß+ÚžĆtM™2%»÷Ý÷íŰkŻ—Ç>űě]´-…ŠN9ĺqŮeWt††R§ Ç{<vÚiBô‡C}M,Z´¸s=…–¦OźűŰeńűß˙!~xU÷˘ 7Ü0^ńŠýăčŁßăĆŤ«xľ&ůĂţ·Üňźxâ‰'˛î1 ĂbҤÉńŇ—îŻ~őˇ±Űn»=ćCúHÜxăÍ]ÎuĎ=÷Äž{® cÍ1#~ôŁóş3sćcńÇ?ţ9…6{ö¬¬ăRęܴ馛Ć{ěGńÚXýőcmHc±~÷»?d?K uĄďËřńăbë­·ŠŘ?^óšWwĽÝ·ůNŹ»č˘ßĆÍ7ß’ťoäČń˛—˝4ŢůÎăbŰm·‰ţtŐU˙,ęLµÝvŰvü>ěßúÖ˙un{řá‡ăŃGgĆ[l^ń<ĄßˇłÎúRvž?˙ůŇŽďÂź;ľŻŹEMMú˝Ř8>ř•ń†7Ľ>ĆŽŰĺ<©+Ö׿ţ­ÎőžKAşÔé*înľůćX¸pQÇďĐäěµuÔ›bçťwŠî¤ď綾ţ5ű~Ěť;'»jrÔ¨‘±ÁĆ.»ěGů†ěű���AŞ|ůË_/|áK±dÉҲǤN?)ô“ţî �0ţ��ëĨQŁăÓźţńş×˝¶ęÇ\wÝ EE—É“'Ĺ‘GţOçz zĚźż klľůfńŤo|­âą¦Nťx@çúţűď_ö¸H3ftŃó®X±"JKKk|űŰgÇŻ}QŃö™3gfËß˙~yś}ö·băŤ7îňŘúęWżŢĺő577gśjůË_ţš>÷ąÓ:ާ‘ŃW---ńťď|7 ‹vRJRŘč®»îΖź˙üÂřŕßozÓŔ¶ľNcăŇĎŢŘŘX´=}n¸á¦lI]źľřĹ3cűí·+{ŽôŢ~éK_ÉľGątľ«Żľ&űîĄ@MJ˛B»îşKđJÁµ§ź~şŕu]'ź|RôĆżř•¸ôŇżm{đÁł%…ŁľöµłbË-_ŇăyRpç˝ď}_Ń÷˙ŮggeËUWý+Ž9ćč¬;VéŐé;‘ľÇżůÍĹeżiIŻ%í?ţřwe]¶���`0HáźtĐĹ_×^»şct1żďľ{gă˝tú�Á�`ťHăązęľRŞ´KĎî»ďÆ ‹Űo˙oüô§?ËĆ&ĄK’şÎ|đÁń¶·“)JĄ J5a”9sćtąÂkÓM7‰’BĄˇźB©űĘg?{FÖ}§&µqyŢţskśqĆş„,Ęů׿ţuu_ĘB0}ő•Ż|­K°¤ś˘I]d&Nśt` „ô~ĄIORXĺ}ďű`śţ÷c«­¶,Ú—ŢżĎţĚŠď_ :ĄýŰlłuô‡ôZJżĎy'¦˝öÚ3 Tĺ.żüŠxď{ßSôywçOúsTęîą?řÁuĽovŰ=jéŇĄqÚi§WĽÂ1ůĺ/ŐqޱqÜqo/ÚţĂţ8.şč7Ń“Ôńčüóťc Ăa���Ľř<÷ÜsEžaĂęcúôMbżýö‰#Ź|cŮŽ¸Iűu ďÎ�€ÁNđ�X'zúI|đ˘őÍ6Ű,~ţó_Ä9çś×%°‘:ÜüáŚ+®¸"N?ýłť}Ł/~üăź­o·Ýv±ŃFĹ@I]iŇxŞ4ŽiŁŤ6Ś™3Źßýî÷E]hî˝÷Ţřďď(łtÁ?+zRçO|âŁ1cĆöY Ô]ćÜsĎď-uĺ•˙Ś·żýÁ,ČrĘ)Śwľsq¶?…¨ ťwŢ9ŮíčŃŁ;·ĄN>Ąˇź>(Ą•Ćz=ňČŁY#ż"nŐy~0 Áź‡z8ľ÷˝s‹¶íľű®Y'¨4ÖíńÇŹźýěÂě6IďĹé§źżřĹťAšÖÖÖ¬CNéwh‡fÄě——ÂR)¨sË-·FřÇ?ţQô|é÷!ŤbKŇŘąÂŕϬYłăŽ;vzYUçNˇźÔvüíokÇϰCG‘saŽşóλ:ŹY°ŕąřîwżźúÔ'+ž'…Ě’—ż|÷řź˙YU ˝í¶Ű;Ţ»_ĆĘ•+;ŹűńŹ/CyUçďEú®^xᯊΕ>““O~oGquă;w^Çgňó¬CUî?řQöťŻŻ÷×���úÇżţuuśyćłQ.5INŁÍÓrá…żěŘ˙ůŘsĎ—�ŔP¦˛� Ď=·¨hýÎ;ďŚëŻż±ŰǤâÎg>óąřÉO~[l±yôF ·¤đP.@Ţ÷ľŢŤ\ę­ŘHݵ0\”Â'ď}ďű‹Ž»é¦›‹‚??üpŃţăŽ{[Ö9&I]]R¤¶¶&î»ďţŘ|óÍ;Ţ‹-˛qgÉć›o–ݦ6Ö…Áź3fdŰJŤ3&N9ĺýńŘcOdš-·Ü2>ö±wîOďó”)“‹^óO<óçĎŹÉ“'GJÁŻĽËS’ÂE_řÂťˇžŢŮ˙ýâŘcßsćĚͶ=ňČ#qÝu×Çľűî“­§n?yČ%÷ęWźýěg:Ďsě±Ç”źŐW—_~eŃú®»î܆KťFŚQ®IcČŞ ţ¤±[ßţö7łĐW.]Éřţ÷ź’r˙řÇ•ńŃŹ~(†^ń\éqgťőĺÎQ^»ě˛svŢřcťÇ¤ O –˝óťďČÖź~ú™˘×ž|â‹éÓ§g÷Ó÷'ŤšË_ëć›o–}óP���¬©úůÔ§Nëöďš©ĂíG?ú‰řĘWľŘç Ć��Ú��"–-+9”‡~R8áWżúEüűßWĹĹ˙*ëNR¨±±1ľńŤoEo\~ů?âK_:«hŰ[ßzlç8¦rřá‡wé(”>Űoż}Ѷąsç­—vPJˇŽ… mKŻ?Ť÷:ţřwĹ+_ůŠ4iRôĹć›oGý–8őÔOÄąç~Ż(ô“KÁ•R©óLJÝ{ţýďk‹¶ťt҉]FbĄN5©PˇÂQX×\s]ŃľôÚ?üáSŠÎ“îčCQŁFĹšzüń'⡇*Ú–‡´’ÄŮcŹÝŠö_uŐUE§îĽâű…~’4/˝7…–/_·ÜňźnĎ•şô䡟Âך@…®ľúš‚çęzmÁ˙xi—ןÂ?§ťöéě{ą÷Ţ{ő© ���”Jă˝R§źj.0I]€żüĺłbѢE�0Téř� !5]¶¤Cgśqzçzę*’F\ĄŃT©L.Ť(zúé§cÚ´iŃ“Ôĺç«_ýFQčŔ÷ľ÷Äh›oľiŮíÓ§OËF|ĺRhŁĐ>űěż˙ý:×ÓHŞĂ}l»í¶Ë6±Í6[ecĘ^ň’-ş9ÖÔĽyóâŃGgfďďěŮs˛_7ß|K—ăJGi­©§žzşKg™4b¬śn(î •şţäžyćé˘};î8#ë’T*uŞyŮËvě8×M±&.żüŠ.ŰöŰoż˘ő<°(Ô´xń’¸ńĆ›Şşq÷Ýw+»=uo9rdĘÍš5«ây&MšŘŮ ŞTjž~§rĎ>űLçýŤ7Ţ86ÝtÓÎńjÉ/~qa6˛n‡¶Ź­·Ţ&1—î§‘t���Đź.ľř’˘ń^éB““N:ˇŁ†tp¶žţ^~îą?諞ĆazčáŃ©Óńa‡ďyĎńŮĹ6��ë’ŕ�0d¤Î-…#™R€ĺCú`ŮcÓ¨«ßüćâ¬ŰO’B'÷ß˙`ŹÁźţđÇŮR(uJá˘ţĚ”S__ß«íąJşë®»‹F~Ą«ÖňąőąćxÝë^ďxÇŰÖ¨{M ýéOŽK.ůCôYJ»%W\qe5Ť… W_É·`Aq'˘ 6¨FYý bMĄnRĄn»í¶˘őeË–u9ć˛Ë.Ż*řSiśZúţ¦.O) •›7o~7ç™RqßÔ©S‹ÖS0©ĄĄĄó{zúé§Ĺ)§|8ŰžKß™›oţO¶äŇŘą·Ľĺ¨8â×uéÔ���}QÚŮ7…~Ž9ćčÎőt?]ěőÝď~?ú*ý}:]ä˛6ĆÂ�ôDđ�2&MšP´ľţúëWW•:ţ¤Î#…ť]ćÎť•¤‚Oęň“şýJ…>űŮĎôĽY×R‡šý輸袋ăOş4žzꩲǥ«Ř~úӟǿţőď8˙üsbüřńŃ[©eö‰'ž\1đ“ÂEiÔTiˇ­ż­Iˇć榊çéîĽŐ´ ďÎ<Xö};óĚ/őřŘô~¦đLO­ÖÖ¶nöµ­w¶IÁ±jĎSj»í¶í(€ţ´ă»ö‹řÇ?ţ‹-.{ÜĚ™3ăË_ţjÖ!ę _8Cř��€5VxÁKr衇t9ćŐŻ>lŤ‚?ążţőŻ‚?�Ŕ:'ř� 3fĚoĽąs}ٲĄÝż|yq×”áÇ—=.µvţěgOĎÂ0…Ţô¦#ăŁýĐ #¤źďíok¶Ěš5;îąç޸ďľűłŽ?wß}O477w›Ć0ýä'?‹}čŃ[ßýî9EᕱcÇÄQG˝)öŘc÷ŘlłMc„ ±páÂ8ě°×Ć@*í:“Zk_sÍ?Ł·&OžX´^ŘUŞTáH«ľ(×í§Z©{Ő?˙yu~ř«»=îé§Ë‡ľŇX´ůóm›<yRT’Ć€Ą SąNWiĚZˇqăĆv Ç­·ŢzńńŹ$űš9ó±Žďâ}qď˝÷gť©z衢cŻĽňźß—ëŞęh���˝Qîźî.v鍺şş��X×~^�@?Ům·]‹ÖÓˇ[o˝­ě±)đňěłłŠ¶Ą±BĄ–,Y§śň‘.ˇź·ľőŘřŘÇ><ä:,^Ľ8žyć™Ř`őă Ś÷ż˙˝ńýď7.ąä˘ŘtÓM‹Ž˝ýö˙F_\s͵Eëgžůů8ńÄăc§ť^–…~’Ô™f mĽń´hhhč\OÁ¦űď zkÚ´Ť‹ÖS0%u5*µhѢ¸óÎ»ŁŻRˇ1użY—]vYŹÇ\}ő5e·_wÝ EáŻdŁŤ6ŞtšçGsÝŇe{ú9JźcŁŤĘŹĐ›3gN{ÉK¶×ľöđřÄ'>?˙ůOâüóż_ôŮ%·ÝÖ·ď#���*óžFg—şüň+˘?zčˇ�°® ţ��CF –l±ĹEŰŇ Ůłgm›?~śqĆ‹¶M™29^úŇ‹¶Íť;7N:éý]0ď~÷;łŔĚPńĐCwĽŢSâđĂŹCyMÇë?1 4JÝWvÜq‡˘mŁFŤ,Z/˝J­\x'u€Yş´¸“ŇFmŘ帿üĺoŃťrަ¦ć^“F^íłĎ^EűĎ=÷Ľ˛ă¸ľřĹŻÄßř¦řřÇ?çť÷,–Űoż}JžŁ)ľůÍoť'ÝOŰRםľşăŽ;;ľ«ĹăćN8áÝqăŤ×V\<đ€˘ă˙óźŰ˛ďwwRpéĎľ´h[ ßśsÎąEŰŇűW¦+ő˙÷˝ŽĎ»¸łÖEý&ŃUh˙ýWwęąě˛+âřăßtHqÄ˙Äç?f—«+Óďâ”)SжŤÝý3���¨FáßQ“óÎűa\xá/ł:PZ~ń‹ ăüókbęÔ)ń¶·˝5N<ńÝ�°®ő� )rŇI'Ä'>qjç¶§žz*Ž=öíqČ!‡ÄĆoĎ<3+.żüň¬PˇÔ‘¦pdQUő|(‰Uh„ńŮŁ3ĎübĹ×ń˛—˝4Ž8âu1X¤ŕM {䡔çž['źüÁx÷»ŹË:­¤°Ěµ×^˙{q·]vŮąh}Ҥâ‘W)Üńťď|76ÝtzŚ36^őŞWfďa QÍ™3·ó¸łÎúz|ěc‰M6™óćÍ‹?ţńĎqÁ?‹îŚ1˘Ë¶üŕ‡Ĺąýc·Ývéx-“Ş:ćŘcŹÉşĎä!ť4 îÄßGů?1mÚFŻg~üío‹k®ą.Űźş@Ąű…?ű®»î’uľIť’rW\qeÇwäéxĹ+öĎÖSG¨űďż?ÖD:g©WľňŔnóĘWľ2ď•K?çWü#Ţň–7wű¸/}鬸ţú˛€ÍÂ…‹âŇK˙ŇeĚ×!‡ÜĄëN©G}4űýző«ËĆyĄ\ţ^ćŇ9;ěÎőô=JŁĺr7ÝtK|ęSźÉĆÁĄNT <żűÝď‹Ţďdçťw ���XSGudvŃJ~áRşŔçěłĎÉ–rŇě_ţňç1~üř��Š�€!e˙ý÷ËĆpĄ«łr©“‚•¤CĄAť¦( ý$)$ŃS·šd0FŹ'źüžřÖ·ţŻsŰC=˙ď˙}şâc6ÜpĂ8ć·mŰsĎ—gÁžÂN7żúŐŻłŰ­¶Ú* ţ$)dUřţ§qkGýÖ˘sĄđG "-[V~äW €¤cR$÷Ź\•-§ťöé8üđWWuĚ;ĚČB]çž{~ç1)tR<)•ľ»ďľ[çzętô©O}2 ‚v¦IAźÂ°O "íĽóËâ†nŠŢjmmŤ«®şŞh[˝¶ůć›uű¸}÷Ý;{Ţ•+Wvn»ě˛î?© R땾ㅡˇB©¨™ľ3ÝIŻI“&Ç>Řmëřăß•}źré˝=ŕ€ýŠĆu÷Z’°J,���XSi yŞśzęgĘv.T__ßqÜ'…~�€!ͨ/�`ČIc¸>ň‘SbřđáÝ—Š7'ťtbęxˇ{ó›˙7>řÁ÷ŰaĂz<vĆŚqŢyßËC…¦M›ď|ç;Ę>&u˙in^5fëÝď>®ËذBésůĘWľăĆŤ«xLęŢôž÷śPv_Ú©ćä¸ăŢźüäÇzě^“ΗާSOýD—}iäŐç?˙ąŠçH¨OúÔŘd“MŁ/nąĺ?Y'¦BĄcĽĘ9rd—qf÷Ýw_<ńÄ“şĄî:•¤Î÷ľwv·źO’ľKgžyz—NP…R[ó·˝íŘ.ŰĎ8ăô8ôĐŁ'é39üđ×t<Ďç���úËě_ţňběŘ1ŹIűľńŤŻĆľűî��C™Ž?�Ŕôż˙{TĽęUĹţđ§¸ůć[â±ÇË:˙¤Q]ë­·~ě˝÷žYGÂN$/tÇsttĐ+ă÷ż˙cÖ…'ŤA[˛diŚ1<&Nś”Ť}JťUöŰoߊç8á„wÇ–[ľ$ë ôŔfďéčŃŁ˛î4 .Ś©S§fa”sĎý^Çóü!_•BAË—ŻČ"»ďľ{ĽăoŤM6٤Ç×űúבŤëşřâßĆý÷?=W*şvÝ©ćäŤo|CěłĎŢń÷ż_×\smĚž=;ë4jÔČXý ˛Ń^oxĂÝvŘ9äWĹvŰm]ô۸馛łs¤÷.˝oÇ÷ެ»Pwť„ş“Ćs•ęiĚWîUŻzU\yĺ?‹¶Ąź3u:ŞäŁýPözűŰKâ‘GŤÚÚš6mă8řŕWvĽŻŹ1cĆTóÔźű&qÁ?Š˙ř§qýő×gáĄÔ hűí·Ë~ÓŘ»rRř+©Ň1—^ú׸ăŽ;cîÜ9Ů÷$}~éw4}&ŻyÍa±őÖ[���ô·ţIo˝řâKâÚkŻĎĆľ§@Ó§OďřűńAµ„×wüul�� u5ýp\M™űÝÝÖTXĎ—Ú‚Ű|©{~[]É’öĄK•k›ššŻ��x‘9ôĐ×ĢE‹;×O;íSYťŢJ!ˇŻý[ťën¸Aüţ÷ż �����x!jh¶wÇMš şřůŰÖ’Ąýů۶‚Ą˝ŕ¶t‰ ëÝÝ–Ţ/ŐÝľŚQ_��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0ŐôĂq5eîww[Sa=_j nóĄîůmu%KÚ7.Ý655_��������І†a{wÜ´u,‹źżm-YÚźżm+XÚ nK—¨°ŢÝméýRÝíËčř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� A‚?��������0 ţ��������Ŕ$ř��������Cŕ�������� Aő�0D´··���� ´ššš�� �€AC°���€Á §:•`�0Xţ��댠����CQi]K�XW�€µŞ·aá ����ÖĄjB=…5,! �`mü�ÖŠJžj‚=Â?����¬ )ÄÓ۱_ůń@�ŔÚ ř� ¨r…‘îŠ%mmm����Aą:VmmmĹc Ă>@�ŔÚ ř� j?i˝Ü¶jĎ×Ýv����¨FĄ`NĄíĄ®ĄăňcË…}€�€$ř�ô»îB?ya$­·¶¶fëé~áöÂă����`0Č;ýäž´žî§Űşşş˘í©ĆUnđ�Đß�€~ÓSŕ'-)ěÓŇŇŇą˝đ¶đń•îWűĽ����Đ“ž‚8ĺ:÷äŰó ×ňcŇm}}}JáźŇ Pá9€�€ţ"ř�ô‹J#»R$}Rŕ'-ůöT�>Ľ!† ÖQIĹ����†„U¬ÓŇÍÍÍŃŘŘ”Őľššš˛WŞ}Ą%*€ÔÂ�€ţ ř�¬‘J]~ňî>©đ‘n“TĚ3ft444t<����`¨YîIKmvaۨQٞzX ţ,[¶<»._ŇţĽ î?�@ü�ú¬\—źTŕH·)đ“–´ž®l;vLVä����€˘ě1bD¶¤şŘ’%K;/ŠKu±´¤Oą�đ�ĐW‚?�@Ż• üäK ú466fW3ĄőńăÇw;†����ĽX¤Ď¤IcĺĘĆX´hQgwěáĂWŐÉRĐ'_Ý�€ľü�zĄ0ô“ßĎ»ü¤âE ý¤ŰteSęňc¤����/V邸††)Y÷ź•+Wfu´ţIŁżňî?Ia�Hř�č Á� jĄˇźÂ%µ-NˇźtĚŃ1zôč����€»î?~\Ô××ĹŇĄËbĹŠYř'uJA <č#ü�ô…ŕ�ĐŁîF{†~Rˇ"Ťö9rD�����«Ą ĺjkë˛Ń_©––¤đO!Łż�€Ţü�şŐSč§ĄĄ%ššš„~���� yí,…RM-{ęë‹˙ą®0ěŁű�ĐÁ� ˘žB?­­­Y"ÝŽ;Fč����zjhmm­±dÉŇÎđO]]]Ń1Â?�@µ�€˛z ý¤?iÄWęřÓĐе*����z–jiŤŤMYđ§¶¶6 ö¤ŰBÂ?�@5j�  ĄˇźÔĺ'Ňý Ć����P˝TSË/®Kµ¶tż°�P Á� ‹ŇÂB*:îKK>âkҤ‰]®F����ş—jj©¶–jl©ÖVř)¬É%Â@�@9ţ•�¨JáŐFiĽWZęëëcÄ����ô^Ş­Ą[^oÓń�č-Á� [ĺşý¤öĂéÖ/����X3©ĆVXsë®ë�@)Á� G©ŘĎO­‡ÓRWW ����ô]ޱĄZ[^w+¬Ĺ�ôDđ�¨¨ÜńĽĺđ¸qc����Xs©ÖVX{+¤ë�Đťú��čAálńT|čŘÇŹÁÂŐOëVMMM����Đw«jm«jo©P^‹Sw�z"ř�”•‡i 犧«‹ŇRWWµµkżq €ĎŕTésQ���¨N޵Ąš[ő•ęoi˝0ü#�TbÔ�PVi#­§ÂC2jÔ¨X[ » 1´řě����Ş—×ÜR ®\m� Á� [yp#]i´*ř“Ć|5Ä@yáń™���toUÍ­˝łëŹZ �P Łľ�€. Ą÷ŰÚÚŁ®®.‚BĆ‹Cţ9kO ���°ZŞąĄÚ[wµ9ő� ”ŕ�PQi']i”¤ăů<í|믓����ŔjyÍ-ŻÁĺ~�€îţ��ĺÁŚŇ¶ÂýüXWʧo*˝ď}ý^����×Fňz\Ú&ř�tGđ�čQĚČg‹÷ç9×ÖăxkSÄ���^ěR}$ďřŁ�TCđ�č…uú1 líęŹđM_C@Â?����jW�@ő�€µŞ7ˇ›uz±Şö}¬6 ÓŰQ^Â?������Őü�ş(üčŹPMµçčďăĄďOaťŢ€„���€łŞĎ�/<‚?�@·ú« Đ_ažľľ…‘ľéí®jWm¨Gř���x±S�z"ř� ¸jB7ýřîéÝ˝§=…{ş;¦Úî?Š[������• ţ��ë\wá’ľîcŕU3꫚�`�����@ßţ��ŞŻť|ňíMMMŃŇŇmmmťŰúkl˝Sm@'?.ÝÖÖÖưaòĄŇ9z ˙�����”'ř�¬3Ý…~ҲbĹŠhmmíńřžöŃ?Ę˝ÇÝuůIŇç—–ććć9rd·Źî�����čÁ�`Ŕô%Ś“‡~ćĎźË.Ś‘·^#ďţo ›?;j››˘_|÷ç1 Ţ˙¶PCäő· kć)ëÇň;ÇĘÝöŠŃă'ÄäÉ“ł}˝ ů�����t%ř�”UÚéďŽ:ĺΗ¶Ąî0łgĎŽĆYĎĆzż˝ †Íť M)¨5üŮ'łĄůÎ[bΛŽË:˙¬·ŢzQWW×%Č#Ü���°JąÚśş �PNm��tŁŻźŢŽĺĘ;ý,X° —.úy6gUkĺŇĄŮgśŢĄŚs���XM=�č‰ŕ�°ÎĺŚĺË—GKKkŚşíˇź ţuŰŤŮgś>ëDń ����� ď�€~××®-+V¬ČnGÝs[đÂ4ęžŰłŰüł.G×�����€ęţ��ëTa#u‚Iëőóć/Lősgeźqú¬sÂ<������}#ř�¬5=<ÚÚڲۺ–ćŕ…)˙lóĎşa ���ŕ˙łw'prÔuţ˙?Ő=÷äľCrsB€@NAń�euŐE—u]Ýź®®ş˙UWW×uw]ń`×EDąÂMB ÷•’’LUßęęžîžžÉ=“×Ó-ę®®ŞxdżyĎç��€®ü��†p,~���������şŹŕ��čU= pü8üđł��������phţ��€~‘Ö ĽlüŚ���������tÁ��0ŕ˘ÂCß7��������@ď ř������������ B��@żËWń…ę/‡~���������Á��Đkň…6s §ř™��������ČŹŕ������������0ü��% .‡ľs��������€CCđ��ô«hŘŕ,~.���������şŹŕ������������0ü��}Šę-8Tü ��������äV&���ŔtË-·Ę÷ľ÷oy÷WTTČرcdöěYrţůçÉ…^ ńx\��������� *ţ��€GE—Ă×@~÷ííí˛cÇNyňÉUňŹ˙řMůó?˙ ©««��������€Á‚Š?���ň®ľúC2wmňÎ;ďČ>$Ű·ż#Żľúš|á _–_üâ%#��������JÁ��� y§śr˛śqƲśű®˝ö“ňůĎAž~úţyüń'důňł�������� Ôń«Ě��`@ĐŢ Ůęg˘˘˘Bľň•/‡ë��������� ¨ř��€ĂŢ”)GHMMŤ477ËŢ˝{ó§űţřÇ;eŐŞŐ˛yófiii•ŃŁGÉôéÓĺśs–Ë{ß{© e{ë­-rĺ•’bMť:%ő9·ćÜ·rĺ*ąďľ?ÉK/˝,»wď‘ňň2™0a‚śpÂůŔ®”yóćĽvOźA-^|ş¸®+×^ű ůä'?.·Ţz›ÜyçݲeËÖÔuZRË·ÉGL��������Đ?ţ���ŕ°·˙~úQăĆŤËy̬oű;ŇÔÔś±˝®n·™Ö®]'·ß~‡üčG?±cÇJokll”/ů«˛zőšŚíííí˛yó[fŇÎ˙űź“~đýŇ×ĎđĄ/}Eyä1��������‡ŕ���{?úŃOĂĺ .8ŻÓţU«ž’Ż}íMµ›X,&^xśqĆ2S)gßľýr˙ý’ÇRŢxcŁ|ýë˙$×_˙ŚóÇŚ-ó7ź‘Bîľű^yóÍMfůÝďľ0cź~îßüÍ˙“^xѬO›6U®¸â˝2gÎlqG^}˝üć7ż•ýűČżýŰäcŽ– ŽďŐgşçžűdűöwĚg\vŮ%¦ĘOk«_9��������ô‚?���8,i…źőë7ČŤ7ţĆ^”¶°Z¸đ„NÇţö·ż3™˛˛2ąţú˙SNY”±_ĂBßüć·MĹť§žzZ¶nÝ&Ó§O ÷Ź1B®ąćĂyďEC9›6m6Ë‹/2m´˘ž{îyyíµ×Íň˛eKĺ{ßűNF;®SO]"çśs¶|čC1€~÷»ßw ţę3DičG« }á ź7Á#��������00ţ���`ČűüçżXp˙9ç,—?˙óŹšJ9ąhő­„łgĎžNëňË/3ˇőꫯĺ Íd۱c§©ÄăyžŚ7Vľő­oŠ<Q'ź|’¬Xqź¬\ů”,YrJFčÇŇĎ;ůäMhdž„úę&Lźz§ź%ô�������Ŕ�#ř��€ĂŢŞU«Íü3źą.oŘeîÜ9fĘ'ĆŮżżC«ó|éK_‘úúöůö·ż)cĆŚÉylMMŤśţąŻW^^^đó{ëN<qˇ©��������Łő���ň®»îSrÜqó3¶% ©«Ű-?ü ţ<üđŁňĚ3kĺ†~,G5ŻŕőĺÍ77ÉŰoo—]»v™ą¶ëŠ^»ß˙ţĘ:ęÓźţ S٧Ú˛K?ó­·Ţ’ť;w™éő×_—5kÖźźěň‡ň µµµ��������Á��� yZĺfńâSrî{ď{/•XaÚm544šů-·ÜÔ©ŤŐćÍoĄ¶ß*+W®’wŢŮŃé:Ým{uď˝÷Ëm·ýŃ,/]zŞi5Vqîąç>ą˙ţ䥗^–ÖÖÖś÷ -Ăňéíg���������‹ŕ���{\pžĽüň+rÓM7›pĚşuĎʢE'‡űďşëůö·żVÁр̌GĘ´iSeęÔ©2kÖL™2ĺůËżüë˘>oăĆ7ĺź˙ů_Ěň„ ăĺ›ßüÇ‚ˇ­ÎsÝuź «©áÇÉÜąsĺ#&›ű8ćŁMHAąôö3��������€Gđ�� ®*“ŕđ3ĐŐf.ĽđüQ6ĽęęęÂŔĚČ‘#äsźű¬,_~¦ ><ăü\trijj’żű»ż7{âń¸|÷»ß–QŁF<çG?úiú9÷ÜłĺźřsSĹ(űťiĺ˘\zű��������@i ř���¤Ś=:\Öp޵zőš°JÎWżúe9çśłsžŻUyŠńŤo|K¶nÝf–?󙿔 Žďňś'žxŇĚ5ěŁAˇ|!©†††śŰ{ű��������@i ř���¤<˙ü áň¤I“ÂĺćććpyĆŚyĎôŃǤ+7ŢřyřáGÍň™g.“Ź|äj)FKK‹™yäôĽˇ í¬]».çľŢ|��������P:b���ć¶lŮ*?üáŹĚrYY™ś~úiáľéÓ§…Ë?üHÎó׬yF~ń‹Ąçž{Ţ´ěR“'O’ŻýŠno6mšĎ>űś<x°Ó~mö˙đuijjÎy~o=��������(-Tü��}J žç ĐSņc yć™urŕ@f`F.5DóÚkŻËŁŹ>.ííífűG>r•Ś3&<nÉ’ĹrÄ“ĺťwvČ 7üŹlÚ´YÎ:ëL5j¤ěÝ»Ož|rĄ¬Xń°Ěq¤Ů—ËŢ˝{ĺď˙ţk’L&Íú‰'.”»ďľW ąôŇ÷ȰaĂĚňWĽW^yĺUŮ·oż\}őźÉ>pĄiűĄí»6n|Sî¸ă.Ůľý™5kfÎ{čŤg���������Ą‡ŕ��p„_˝ę)ĆM7ÝÜĺ1z/¨ąîşOglŹÇăňýď˙Kjű_›đЬ0S”VÔůÖ·ľaB9ąÜwßźdĎž˝áú˝÷Ţo¦BÎ8cYüŃĐË/ż"·ß~‡ěÚU'×_˙“N÷ţ×}ťŮ—+¸ÓĎ���������JÁ���–4 3rä7nś,Zt˛\tŃ»äcŽÎyěĽysĺÖ[o–_˙ú&y≕¦rŽëş2eĘrŢyçȇ?|•tttäý¬C ¶i°ç«_ý˛śyć2ţŃę?Ö˰aµ˛`Áńň‘Ź\-'ťt˘|ď{˙–÷‡ú @đZŰĹ©(‰őO(���ŔĐWWW'Ç—ęęj��ŠŠMuŠÜç1wň¬Ű)™Ű)l‹gMşo„ÎŰŰ;V ��čÚŽH :Ůem)ÔŇŇ,®ëÉ´iSsž—/ÜÝ^hyÇŽťfyü×˙FúÔŹn”>ő™k¤O ňűßýő˙4óÉ“'eTü)f9ŞżŞ(RężăĎn’ö'_•äÖÝâ5´3¬Zâ3ĆKĹ’Ł¤ü”ąť=IWÚWŻ—ŽUŻKbă‘DŇź:6uü<©8űxqŞ+����zâÁ2ż<SQQ.—\ňžĽcZĄd۶·%–ú˙‹Ş«k¤¬¬ĚŚč//éÜ.�€Ţ‘ú3ÂŇÔĚMMőÁ<™5yÁÜŤL^dž=IžőBóěĺl]ţf1��@Ż)¦eWôZ|Á*&č“ďx�ĎÝS/Í?ľG’[÷dl÷6IâťŢ’řФć“çKlâ(˙śşŇ|Ă}’ܲ;ëbžąŽNmzεHŮŃĄ?8��� ôlذÁĚŰŰ;äŽ;î”Ë.»tP„���şŕ��(6ÔđÚ>)ëHH_hu<iܲIĘ+«¤/$ś¤Śxcż”·ôMˤ¶Ę ixg›”Çúć·»ÚZ›eÔK»¤Âë›`MGyą™Ü†w×iü—?w°ąŕqÉM;Ąń[·HÍg.§,.M?Ľ[ĽĆ–‚çhp¨é?î”ÚĎ]*eÇ08��� {ćĚ™#Ż˝öşYN$’„��Ŕ��€ ZŔ´ÖÔH_iyŇp`żô•féćѵŇWęG“7)}Ą1őnęťľ«ÂÔZëż›xś?†C‚ëIó˙>ŘečÇňšŰ¤éßď¦ďßŢeč'”śoţź?‰×Ô&����ĐçťwŽĚž=+\·áź­[· ��ŔPÁ߸��€>Wlë&í[®šGŤ”ľ˛7ćĘţ=;¤Ż4ĹÚĄ~rŢ˙Ř‘˛?Ńwů}`Ď.Ůď»`Q˨fn{Ów…Ę@@iëX·ŃTňé–Ô@»×Ţ˝Şn,jřE���€îĐń‡wżűÂNáź;+đ��2ţ��€’QYYićűćΖľňZE‡l|yťô•·ťňÖI3¤ŻĽvĚ,ŮĐŇ }eĂKkSď¨oÚ¬)űÝVUőM«5�ý«ăé Ň_Ú×ôßg���:˙��€ˇŽŕ��čwů޸Ř0HĂqóĹëJ/njzµĽC6<˙ڏ®+˝ÍKÝň6iŤ§Ě7Ö÷‹ÉKóçČkMŤâz˝ßŽËK˝“7^x&őŽŇűo'u˙N,őÝc–mČ+~€Á%ąĄNú‹»cźx}W‘ ���ŔĐEř�� e��@Żęnp#zĽÂTWWÉŮ3eëŃGIo[SŮ.cžÔďß#/>ő°ô¶7ś˝Ň(R?fĽ¶üXém«/ű‡—íň\ĂémĎ­\! öĘ+kS覆m=ö(1k¶ÔÔT›ďÚ:”ź�Ëkę»Öť?,5µöţ›����˙��€ˇŠŕ��(č>|¸Ś7N^_|˛$ĘËĄ·´:ž<Xťţ ę'îşYÚŰZ¤·tHR^pvŠç:fZőţĄŇ^U!˝Ąµ˛Rî?ďtIzޏ^LÚ»GÚz±jQ[kł<q÷ďÂő«[ĄÍ齪B‰Š Yżx‘Ś?Î|Ç„w€ˇÁÖŹműâ1qŞ{ďż«����?„��ŔPDđ��ô‹b:�3yň$=w¶¬˝đĽ^iůĄ-¸n®m‘†X:(S`źÜţßßď•–_^ęOĶI“›×3ŐŹ&wýÍĹ˝ŇňKßÁŤW_,†×¦î×1×ßźHČMďĽÝ+-ż<Ď•;ţď?Ąńŕţp›VFúͰć^iůĄ÷żîĽłeĚśY2qâ‰ĹŠű#(á  ôĹŹś ý%>}ĽHY\����ŕPţ��C Á��0 ˘ˇŽě€GeeĄśxâ ˛gć‘ňň˛Ó)üَź;kZäŐŠŽNű6ľňś¬řýĎMđĄÇ×Oýďg‡l‘qµOŇńĂ9nL6?Kţđrńb‡r˙ŽÜvŮ9ňâŃsĚ5]qĚç$SźńjcłÜµ«.u˙=˙čł?xË˙É/>Óißëĺ ą+őîĽCČßčýż”úwĎ™% .ŞŞĚę …~�”ľňeÇH©Xz´����@o°áźYłf†Űlřg۶·��`0!ř��z]o8ĆŚ#Ë–-•Í''O_t~ŹÚ~i{Ż_Ô6ËĘĘöĽÇ<óČ=rë ßëQŰ/mďőpl‹ĽęěÍiţĆźŃ(Ž.?sŢIrËg/ëQŰŻÖŞJůߏ]!Ź-]”qM3i�(5=¶ď€üěíwzt˙ÚŢë–ź|7őîÍ{ĚĘŞvůĺ°ćµýŇö^O_tĽ•ú—.]bľÓCE8(-ĺ fJ|ÖDék±ÉŁĄâĚů����˝EĂ?_|Q§đĎ®��€Á¤Ř:éN‘űś"ćNžőBS,2ŹNş­Rç˙đ˙ß'��ôŠh»¬-±‰:9r„ô•h°cÄR[[+›ÚŰeÓĽąOÝĂČşÝŇUôC+Ô<WŃ.żŢ"ŰË’Ň•˝»¶ËóO®˛ňr9âČ9]†K´JÎćŘy$ľEv{­ćť¸®řŃj<6”4mżŮ3qŚ<{Ɖw$ĺ-»Äé˘BŹVZwŇ|ůďŹ]![§L2­˝lŕÇ~Ž^[?G÷íjm—7ţýËÝş˙—ź~L~˙ÓďĘέ›¤+»ă®<SŮ.e©7?5/âý;ňöĽ9ňô»/ć)“eńâSdĆŚá}ĺ«ň“}ßąžŕPbR˙J–-!‰µo×Ň.}ÁV-µź»TbŁj����z“Ž{˝ńĆFŮż˙@¸ÍŻD˝PJ}}˝˙(OŤóh»t]¶s» ��zÇ?ýÓ?ýLÄüŢu[0Ďž¤Ŕ¶’Qěßśôgđ'WČ'l‹gMşO˙ć1ÖŢޱJ��@ŻH&“fŕC'»śH$¤ĄĄY\דiÓ¦vyŤ|í§r…Šň-Űy]]ť¬]ű¬ěŰ·_Şĺ¨ç˙$Łw¶HeKÂLŞ­şLÚjĘäŔ¤ůÍ–Ír0Öł?s 5Vć-\,sŽ_$ŁÇNŁÇšíőű÷Ę=»äŤ—ÖɆÖČďýM:#6“žűËNĆ6 é ß×(G?·Qć˝ô¦ŚŮS/#Ô›ë5BöŽ)Ż3[^ś?Gö!ڀ̆{Ľ0X”ąÍŤRË“~üĺnÝĂ˝Ň#SĎtőôß˙ú…HKí0;vŚś|ň‰2aÂsLw‚?ů>€Ňäî: M˙~‡¸{ęĄ7ĹF“šĎ_*ń)c����z“ŽyÝsĎ}˛iÓćp[YY\.»ěҢƾúж‹Ĺ©®®IÝO™ ŃęD6řŁË�� wTT”/MÍôŻcęy2kň‚ą™ĽČĽ« 1Ď^ÎÖĺ_xü��ťôWđ'{=;đ]nkk“Ő«×ÁŹIď< …Üöř‹Ň×&˙×7#śĚpŹç¦:éP“Ě8ωśĚ=§đ5ł¶éqS~úeé/Wśą ŕţťGś/“&M2­ÚŞŞŞĚ¶\ˇžîVű)´ŔŔó6KÓŢ%É-uŇbGŚ‘ÚĎ_*±1Ă����z“ŽwÝ{ďýňć›éJČúąôŇKdúôi2ţ��ІJđ‡z€�� OJ@#׹2oŢ\9ýôÓ¤pŽKÍcâ¦ćnęŹU®g''µL¦JOd› ő8ć<OtrĚäď®®;éëÚmNÖqz~‰…a–-;]ćĎ?Ö”ĆÎÖŰ?�J‡3˛Fjżt…”¤ŞřěI2ěKď#ô��� ×•rč�� 'ţ��€~ŐÓđ†=ĎVhI×1•{tJčÜ ¦`›]OxNć6łěxx"rĽëĄ«÷¸nz[Ć5ĎMD×už”’b?‡ú]|śĘr©ýë÷HĹ™óĄ§ĘOš-µ_¸\śaĄńß{����Cˇ��0• ���ş-™pŋłÖ[~k.S·1hĹe¶Iş]—iă%Ym˝Äk[|ŮÚN¸ÖŚ^3X‘(“ů-#d^sŤĚ8ó?edů8©pŞ%™:ą±ŁQö·ÖI]ăVyűŔ˲mďłŇÚ~P� ĎĹcRýgç3ŞVÚî\Ó­S+Î;AŞ?t†&�����z“†~îąç>Ů´is¸ŤĐ�� ţ��€>Ł•[<Ď+ú\ÇsŤľVwäĘ…#eţÉŁ¤zbĄ)ńÓôĘoäőŽIr˙qgKk¬ÜíDB?6Ü{4ô“±®ÇG‚@b@N:�‚‚ŔOpîĽöarAÓ9.1\bşM˙~|ÂXń4Ś”šâ©id|”ÔTŚńĂgËĽIËĄÍMĘ[{ÖÉËŰî=őŻKĘUÁ'ş­ ?T™Ôż˛U—-1­şZ~ő˙Č.ŽŻĽd±9����zˇ��0”ü��%©?ję°2ůëON—ÚY5â™ţ\žxí®Ś¨ň䔎rô«ż‘źMľXvŽVô‰†y2Şü?%Łá‰TţŃJ?v[ôü`˙¸d…\Ő<MŽOމ;ţźä‚˝djJmÓÉŤ9ďĐ>c>rýCbq9rÜ"™4ödŮş÷YyţÍ˙“ćÖ:éO„w€ĂOĹÇš–]Í˙ý'‘öDîRí5?WĘ—%����ĐŰý��€ˇŽŕ��čw= ő{ŢěÉŁ¤7ÄSź÷É÷Ź‘šckýtNGŕŃĐŤÎSłacE>±ýůך«ĄąĽ*ŁZŹ©üăfµňж‹n“ô1ą¶-n-×´)Őeeâ”;~G‹{ / ýÄ?@Oí+óüe˝N2µ=žšOs˘Śń=y{Ďo¤ˇńé = ů†žňgɰ/^.M?Ľ[Ľ†–Ś}NeąÔ\÷n);nş����@o#ô��1��`Ąöx÷q•R{L­8ô‰A›Ô˝ÚŰŐűÖĹÚQ®Ľ÷…Ĺu=°Ń^nú±ˇ7ó¸a›/­üăW˙IďŹ9ď‚ć‰ňm3Ą¦˘\b•qŞNMU:•Ąţâ\§¸8©őŠ8ĺ1‰Ą&§,&e©{ÔI!ĚS{¤,^%“Ç\FŹľLAŕđź5I†}ĺý›02Ü挬•Ú/żŹĐ���€>łbĹĂťB?—]v)ˇ��0¤Pń��ô©îV÷Éuü@´ý_)2ëśŃâ&<q<ťü*?zž)ŮŁ÷—š-µKĆoŘ*o×NLWůŃą™üpŹ.Űmň˛·i•źČşîż¬|ŞĽwŘöq*4Đ7ÁMđřŇŐ~Ě-ęýč?’©{ŽëäJ,µ_«�ĹĽ`žşáçĎGŤ|—t¸íŇxđ>é ą‚=Ý ű† ý űň•Ňô;ĹëHJíç/•ŘŘá����}eăƍᲠýL›6U���†*ţ���äpÁ)µ©!Ç´÷ňÚ=qŰÝÔ_T{"˛IŠ™Ü ¤©žXĚ•«ö<áWůŃ)L®“ąžk[Ę\9UĆÉeŐÓÄI݇™´ŠŹVô «ţ”Ąće~((¨đcŽóËű„“ ű_éÇÎýNa~xh䨋Ą˛ćd€ľćڬ‘Úż»B†ýýűý����čsóćÍ3óŠŠrB?��`Ȣâ��(YQéG5Ü‘qǧţBş=őŮq×ońeŞó}şÚŁ+µ3ŮĘ=ÓÇ6ʢťŻÉę±Ç¤¶9‘ę>¶‚OÖ¶ -VüIďďUÉ553ýcÁäÄýpOĚ€RŰ´ÚŹ«!×%91×tźóߡ†}‚.e¦:‘#‘ÉlsdŘIGű[â&öJ_ j�Ë©®����čçź®,\¸@†.UUU��0ü��b B=]ŃXg,îW÷qÍ?!#Ađ')~Ë/­¤í´^rSë—w¬•§“GK2ňńüv_™ź X¤­Wtۇ˦JU,†s‚=éP�r˝¤ňImöÂ%¸g'Ľ÷ŚŘM�Ęxn§J*G])-{ţKJ_…<(k×>+[¶l‘ĆĆ&SÚ{üřńrě±Ç©'źŰŘŘ(Ď>űśĽőֳ즾4DÔß<ńÄ…2zôhé‰úúzyîąçÍu$Ź›kÍť;GN8aAęŢţŹďŻżľ^^}ő5ŮłgŹ´µµKMMµLť:5uÇˤI“ žűöŰŰÍóíرCZ[ŰR®•2yňdóΦNť"=u(÷”í׿ľ)uťt�î=ďy·Ě™3»ŕ9ú߲˙űż_¤ľłĆpŰWĽW¦Oź–÷şQúFŽ)łgĎ2Ľ\�����˝CÇ����†2‚?�� ĎőfȧŻ+Çś>9.Ő“*D:\‘¤cŁz¶âOę ç$ýv_N‡'®VţIz~őźÔ¶áUíréÖ•rëg„7«˘Źç¦+ýD«üpPj}®;LŽ‹Ťô+ ‰ rěŠë·ó®ßjLďĹ´“ôÁ,KpŽ„łp%űŰĐő˛ŞůâTÎŻíM9˝ůęµ4hrÇwJGG"ÜÖŢîĘöíďéÍ77ÉĹ_d6ĹÚĽů-ąçž{%‘Hflßż˙€™^~ůU9ďĽsL¨¨;ôş÷Ţ{_Ć˝ęgěÜąËL/żüŠ “hŔh $“Iąë®{L()JĂ.Ż˝öş ß,]zŞśrʢśçŻ[÷¬<ńÄĘŚmÍÍ-ć;ĐéôÓOË{n_ÝS1ô˝wüٲekFč§»4ŐÚZ'»vŐ™ĎűŔ®”aÆ ��������]!ř��JB44PŐ€jăžĚ?qińĺĆ=ż•V,¸?I·ô2A7uŚ­ö“đ8vůě˛ő˛˘eˇě)‘;Ü“c[4tˇ7ÎŻ6„|°OŇ/‘:V+ü¸Áý%ý™tżëE¦ ’¤3A6$YŰüuObµgKň?…D<}âŇJ?üă&<ŁU~N:éDS¦ĄĄEžţٱc§lÚ´YV¬xXŢő®ó‹şfSSSú)//“%K›Ş.±X̉VŻ~:uýVyđÁ‡dҤ‰2f̢®«•~l觲˛Â\W+átttȆ o0†Šîľű^ąęŞĘ@xě±ÇĂ€ÍĚ™3dÁ‚㥺şÚTŮy晵©÷]/+W>%cÇŽ•Yłffś«ú6¬V-:Ů·oß>s®VbŇskjjdţücĄX‡rOĹňC= WŻĽňŞ™ëĎV*¤¶¶F.şčÂp]Ź×ď_żc xŐ×7ČC="—]v‰��������Đ‚?��`Č3¬g=Ű—Ođ$^.âµ§ţâ>®ˇĎ´ÎŇxŠ ćź˘q\żâʦv<-΀üę?ĺŽ+WmTţsúĄ‘pOPĺÇKŻű 'ăaną‘ď`OjЧNŚĄ>OďFď%îa¤`ż ˙$üuNJ-ČRÇ‘DćÁóřA /]Y¨ęX5|¬ÄĽ&ěž|r• čhŔč’KŢ#G9=ܧ­łnżýٶímSfáÂ2qâÄ.ŻůĆĂJ?矞̛77Ü7nÜ8™0a‚üîwż7ß‹¶žZ¶ět)†‘lĄ­ę˝ UWWÉ3Ϭ3a´ŠŃˇ´Ĺę‰ÖÖVyĺ•×ĚňĚ™32B)pŇPÍ/yŁiłĄ-Т!­Ęłrĺ*ł¬-¸>ôˇ„Ől´5šVӹ馛Ą©©Ů§ď´VW‡rOĹĐwĽsçNó}k°çÔS—ä˝­X¤ôgL+7˘íÚr}Z!ęć›o‘şşÝć‰D˘$Z»�������J[L���ľ®3>ćʤâµyâµ{&ü㵥¦VW\ťk(t8×–`¶éB7~hAůŰrÔţ­â&%59&ôŁá]‚u'˝l›ď ÷«…Ar;’ćÜö¤¸­ 3%[u95µ“Ţ“g«˙)űxYó üťű! GÚăGIočëď¬ clÜčW.ŇŔG4ôŁ´2Ëňĺg†ëÚž«ŘëZS¦Ńi˙äɓ̵ýcۤXöPăĆŤÍ@ŠVÁŃj6ÝĄá 9i ¤ąąYşkĎž˝ćę¸ăćwÚŻ•zfĚ‘óţô3m¬Ĺ‹OéÔÂŞ¶¶6lĹĄ­ż´ S_ßS1´ýŰ‘Gi–5ř“Ż ™Ç´jŹţĽg˙śu‡ţÜhČËŠţ¬�������żB ��rňDÇAždĐâËÉ Żč_ü›*;AŐIŠßâ+Lč'釀b©ů‡w?*_®ůhşşŹm˝ĺfVů‰n›íTK"µ!žş~L<1GR»LZ[?Ň´řŠëÇŢ”ß,¨úăj�©#§Ö“©ýz=˙˝ KYçЏ륻‹µ•Í’ŞÄł2mÝş- jsĚŃ9ŹŃöO´Ń�É–-[¤ŃP޶ Ój5QڪɶzŇP±.şč]&Ä’ŻÂ‹¶ü˛Š©†Ąźűî»ß„j”L/^”·‚M.ZAçă˙¨YÖ N.Zˇ&×ýéwauÔĽśç}ôQň裏‡Çç;®·î©ú}čĎŽVóŃŕ’¶üš1ăČNÇŮ6_Zŧ˘˘B…ţü(­Ś”ď™��������"ř��چjňUŃčOsâ2rLĄ©ěăÄĹ„j<mńĺxf.aĆFűc9&lăíľLŰ/ÍŐu¤#ux2Ő9 Ëw<+Ť;)g[/ÓnË,;a(h|¬Ňt ‹ĄV*4Ŕ“úI¸~đÇŢ—çď4-Á’‘ĐOjJ¦¶uÁź„x~đG‚PdžýřŐ€’Îxéo˝](ZáeâÄ yŹÓ ŹęëL¸¦«€ČĚ™3Lřă­·¶Č®0Ős´Ę‹†i´×O<iŽÓPJľŔQ.]…<´mŇ÷¤í±ŠŐĐĐ wŢyWŘFLi0iőę52|řđŚJB…h iÄy÷755…á©éÓ3«ŢŘďbÄáR]]ťóüŞŞ*9r„<X/»wď–ľľ§bhhH«E••ĹM»Ż—_~ĄSđg×®]ćçGi‹2úę=çŔ˛fÍZó3¤?Kgź˝|@+f�������‚?��ŕ°Vćyrě¸ië%¨‰‹©˛ŁÁ ÝăIř×ďž ˙řUv4%cB>:OŘĘ;® *đĽżůiy|äńŇâT¤+˙x¶“�é”™ ŽăůąžrmďeC?IżÚŹ B?ŽBň‚R=a‹/úq#Á3I¸śţńCAAU g´ v--é6IÚň)źÚÚšČ9-EU†ąôŇ÷ČłĎ>'k×®“‡~4cź†D–,9Ĺ´®˛-ż•VŔyţůͲu …]˛˝ţúúŚĐOÔ‹/ľTtđ§ ®Ü˙&ŁĎĘ)'gě×÷Şş 7é~ ţŘăűňžŠˇ˙®kźŮłgËúőL 2 zEž^yĹdéw=wîś°˝\!úŚ?řÁő9÷é5N;m‰Ś3F��������(Fďüm��@éëŞ âRYî×î“gB@&d&O\łÍ3űÝvź9ÎNzś¶k÷Ű}9¦âŽ_őgD˛Y>°íQq“~Ą3érŇÉZ÷·ĹÄIťćšĐN»çOI­âÓ–·5‘š"ó–čzÂ?&5%®´§.Ü®×ńĽŚÉV˙ńĂ?^ŘţË.kŰŻÔ‘Ţ4•KÚŰŰÍ\ńx<ďqŃ O[[›cűöwäµ×^—ÖÖÎÇkĐD«óhE ŢPWW'wß}Ź ˇŚ=JÎ:ëŚnť_(DŁ!–Ţđŕ™vbjůňłdÔ¨Qűí{í*Te÷Űď®/ď©¶™ GiČV^RZhýúőfY+iŐ˘CőĆĺ‘G“úúz������� Tü��‡­a®'ÓG;"手8IżĹ—‰FG«ęßQËTú±UÜ ÚŽVáqýP€Ł…ULĺSZ'µîď?Żő%ąŻédŮ^96¬ňc.áF*˙ëČiO}‰ŕh °Ôç'SS™çH\Aúa1G˘Y˙zžiŐĄU{lUźŽČ\D /{’tHüđO" vZ©Eé÷’L&ó†´˝—UYŮuŕI[1Ý~űćşÄY¶ět™:uŠ íÜąKž|rĄěÚĄať{墋Ţ%G5OzJ[^ÝvŰĄ˝˝CjjŞĺňË/+Ş"QÔřńů۶M0AŐŠ›”Z´č$9î¸ůťŽŃ÷ÚÜÜ’ń®s±űíw×—÷ÔÓ§O3mĘ´Ü+ŻĽšş¦_=H«ű´µů!ĄîTNŇ–fýč5Ű4„µaòjŐS&°ôűß˙A>üá«z%L�������Ú¨ř��['J›Ä“®_Ń'śüj>VýI†ŐlU ió"‚ü*@~µź ©ö“ÚžđŻUŢ‘Źm} w•×ÉXŻOýŁĂKWűŃ©M§ÔA­žkćí©{nOD&×ßnŹó§Č5‚–_íYŐ:ĽÎa ?ôS\ĺ›RV]ťLŞlÓÔÔ9§Zşň裏™ĐOUUĄĽ˙ýď“Ůłg™`‹r¦M›*W^y… vŘc5tÔZéçÖ[o3U…4ôŁ×íN‹/kŢĽą2aBçđŹ¶żŇ–R=ĄA3­ŞóňËŻő… T.6ĽŇÔÔTđšv1ßáŢSwŮ`ĎţýĚwŁl¸hذZ™1ăHé ŠE§aÆÉI'ť(\pľŮßĐĐ(Ď?˙‚��������Đ*ţ��€~ˇížĽŞ$3±ŁCĆ×h›®Ô˝Ĺ]‘xęţbž_áÇĚĹL®ř›Ě\oßó«őąë™ ?şS+ű’®xAĺ *ţhËŻ…ÉÍňwţCvÖ®Řâ”ý?i/źn é”tôÖ<I¤n"žúŕXjî¤ćŃćYz;®ůČ m—xAőż‚O:čăćü¤+ŮjAńä>)‡Ň"lěرá˛Vŕ>|xÎăvîÜićZŃĄ«j: ÚłgŻYž3gŽÔÔÔt:FŻqĚ1GËęŐk¤ĄĄUęęvËäÉ“¤;víÚe*ýh5ú3fŚô„V:zßű.—'ź\%7n4í©&Mš$gśqşŚ7NzB˙=~ŕađ儎7í´ňŃĎٱc§©Ł­Çr{tűÁőáń}}OÝĄUô;ŐĎyóÍM2zô谕رÇÓkíě4¨őČ#Źšź­.�������@Wţ��€’Ń_á Ô§Č ‰vńÚ¶^qĎLš&hŁĄ-¶4é†~Ķűr‚>]6ř#ţzRC>â·úJ¦×ť'RuŰÖ$»ŞGúíÄňhíŘ!ń˛iÚč+59’ ü8&üَźXúq"ŃĎüĎĎůˇź m—xmż:"mżrUţ±óJ·NúZo%ň9ňČéáĎ“†AćĚ™Ýé={öČŢ˝ű‚㻮آˇ«ĐýG÷EĎ)†dnżÝoďĄU‹4´ÓÓĐŹĄ‰Î=÷l3*}ź÷ß˙€¬_żÁ¬kŔćěł—<Gż‹—^zŮ,żţúz9ńÄ…ťŽŃíŃăűúžş«¶¶VfÎś!›6m6“¶IÓĘOŞ;mľŠa~şűł�������8<Ńę ��vć4¶I­Fe´EW‡kć^«ßÂ˶ôŰľ«Őó[{µju /Łí—´gÍ;üɶ łŰM믄+µ©ófěo-xomíSkŰv“çË®´ŰLŰ/Ďo˙ĄŰZĂV`ÁńžkZ|E§7úiĎúŃ @ŐŢfě´˝”¶áRÔxë­-ű5´ń裏‡ëŮáŤöövٸńM9xđ`¸M«i‹/őć›oš*5Ů:::‹¶p;6ÚŃ€ĘćÍo™pO.S##ôŁ•~˘•‹šľłűîűS°Y°ŕ¸˘6ÚKŰa©gžY+ űÍvĄŽfÍš™±żľľŢ|mmm˝vO=ˇUÔîÝ{äŐW_3ËÚŢmäČ‘Ň[ô磹Ů˙ąŇŞB��������t…Š?��ŕ°R‘teN{›x¦µ—¶ůrL­ôăO´ůň«nčĚ 6yÁ‚çŮJ?éŞ?ž­�”şľßňKLŘÇŻúăŠë÷Ń’y»›dŰČJIÄsçŻ;Ú_“ÖÔÁĺN\’Ž'ń âOL+ţssg^¤ ‘řŐ~´îŹ_t(Ýň+»ťWG§ę?nĆzŇKČä –-[j‚ÉdRîşëY¸pLť:Őv^xáEÓL}ôQ2iŇÄŚs÷»ß›j@Ú*ëšk®–QŁF™J,§ś˛HžxbĄ güö·ż“Ĺ‹O1­Ľtź¶őZ»vťěßŔ\ăřăçg´{ôŃÇRźű’Yľđ ĚçZŰ·ż#üăŇŃáWyY¸đ9pŕ ™˛i«¬#Ž,ýI6÷Ţ{ż ŕ¨qăĆĘôéÓMŰ«\ôţlKݞ˛˛Ôwqş©ĘcßۢE'›`ËĚ;ła—ĄKOËh঎źoüŤy/ŁGŹ’?űłŹ„qĺžzbćĚ&ŔÔŘŘ~† u‡VňÉn㥡¦;vČóĎżn;ţřă�������€®ü��޶±Šjµ‹‰´áÉvěţf©Đ@ކ|âbZ|iđlj9ţ6Óę+HřDÚ|…WÓ]¦Ý–c‚>ží±ĺŠíµeÂ?r–_Á<áIyj~ĚöFyiúÜ7ď5H{ű«âVĚOťâdöŃđʶ(‹Él«//řgú6ĽŚ–_ ćńŰ~ud‡ÜÎíľjÜ R.Í’O,V¸E—›ç˝ ë\vŮ%rçťwI"‘”uëž3S”VŁ9˙üs3¶iŐŰLCC{öě5×R'ź|’ éuęëdĹŠ‡s~ö1Ç-gťufĆ64R;wîĚţh(Ȇ~ÔSO=-ůLť:ĹTęOZ1Él”ľ“»ďľ7ďńzzź–>«†xV­ZmB>Ź?ţd§s–,9ĄSfßľýá{Ń@•VbŇÖe˝qOÝĄŁcŹ=FÖ¬ń«iő§\-äşŇÔÔ,·Ţz[ÁĎŃĐZ‡»��������Á��0č$;’ŻČ˙ÇŞŠriiíÜhxkB¦6´™J?˘w4řŁË&ôăúl ČńlÂ& ˙„ĺu‚ę:&řc?bR7¦ ţŰ“~ĹźŚyBdÚÎ&Ů<ľF«s?C˘ĺQI–k*ţÄLřÇIÝfúńśŕ¶Ľđx/lč'ţIxé�PvŐ»mű5!ąJ ©Ş¨(¸?‘(ťŕŹš>}š©óěłĎÉÖ­ŰLř¤"ő cĆŚ1UćÍ›V±´âچPôśÉ“'›pP”VŻŃó^~ůٶímÓŞJżűÚÚZ™2eŠi6eĘťîE«=řŕ Ó†lÁ‚ă3ö™źťÖ÷§Ď?mÚ4ó^wíÚe0µµ52a¨ŇĘIŮ´•–ľ˙íŰ·Ë ',C?˝uOÝĄÁ$üŃ0“V„ę ĺĺe¦:”V¤Ňve'N��������ŠáôÂqNŽĺBs'Ďşťb‘ąťâÁ¶xÖ¤űô×ĺcíí…˙– ��M«śč_Şëd—µ=MKKł¸®gţ2ľ'rýE}ö6»Ýn—wěŘić«ořĽ «©”|:R÷Z·wżą×¨Ą›÷ËŘŽDXÝGŰ|ůÂ0‰łÝl«ŻŚ´Ź˝Çďůĺůű˘ÁÝnZ{ąţÜ´ţŇ>[®_íGězBd÷đ2Ys„üĎPóçâTăWü'čBćdŢZř~:‡lĹźdXń§sř'»őWmâu9Ú˝9ď=Ĺb1™4~´ÄcůĂ Í­rÚ§`–m#¬qÂj™ĽtrTprśb˙¨ �����04č/iĹĺęęÓ>[ÇGôOtn—�@﨨(_*ţßňÔódÖäs72y‘yö$yÖ Íł—łuů[°Tü��%I2ňUôhln)ü)O ŠL7V44H[k»¸©ëLŢ×"cęŰÄŤĹĉ{~‹Ż„“H R5âĹŇ-ľlşF=?$ţ^?eÖ5ĐŁaׯţŁĚó‚e�Ň?zZÇÍśŹŰť” u­R7ˇ*ç3Ä[ď–˛©Ű¬2­ľb‘V_â9™Áź Ő—çŮ ’ç˙éTC? ˙Ř)µ-#řăjX¨Ufx÷弗Xę]TUVȨ‘Ă †~ěw“A��������€ŢEđ�� :őÍ-2ÉU°&aY<&ăFŤLo,ňÂ|))]šVđK˙Ň;š =Ąáن¦V��������@˙ ��Ŕ Ó‘HJCĘ2 M-Ň‘L ���������úÁ��0(í«oĘŰ ýOŰ‹íŻo���������ô‚?��`@9ŽÓŁcɤě=Řč÷—€ÓĐO"évÚŢÓď���������]#ř��­Ööijm ¬Ć–Viië���������ô/‚?��`Pkik—–v ťPúg hřŞ•Đ��������Ŕ€ ř��JJOÚ>%“IÓfĘu ˙ôĎó‚÷ž”��������@ď(��€~˘ ŚôŐńnęŘ–ÖsNY,&ńÔ+KÍ š’dę}ş 75wMŔJż—Ęňîý1˛»aÂA���������]#ř�� rbů˙ŁűýöSíҦóÔ¤aô\Y<&Uĺfެ¬0óĽâţ>‚;���������}ŹV_��`PĐ I,ć‡IśĘAiŠUřßM<#ü��������ĐÇţ��€Wl@¤¬ĚŻôSV=BPšĘkFšy</ęxÂA���������=Gđ��”śh$ş\YYićµg J“ýnŞŞŞÂmůľO���������‚?��`Ш®®6ó1ÓŹŐ‰ ÔÄdôôŁÍR4ř��������€ľAđ��ô«C©ř˘íŁŞ««dňô™R6nŽ ´”O#“§Í’ššę˘[}ĺBU ��������€âü��%!;쑯=Ô#dܸqR1ő„ÔźdĘĄÁ‰—§ľ“…2~ü8ó…Ű ´ů"ŕ��������phţ��€AE+ÉLž<I¦Î-e3—Ńň«DÄŽ<M¦9S&Nś ±Ä��������čü­ ��˘ŐaŞŞŞdáÂR6zЏ“NČ}Ľ ż¸“Jůéć;©®®·SŃ�������� oü��ý._ ¤;­ ĆŚ#Ë–-;GÚ&/ϡíW_ó˛×ceŇšz÷2nŽś~ú©ć;ɧŘď–°��������@ńţ��€A# ŃĺiÓ¦Éi§ť*ń1ÓĺŔ”ĺŇ:üHń¨őÓ/Új§Č#Î’řh˙;>}z§ď���������}‹_Ť��%E#žçĺ]Ď>vÖ¬™R[[#ëÖ='űbžZ߲B’ɤÄS“CčĐĄ^Gę]v4{ňÎŢ™ąüqËŞeěŘ1rŇI eâĉ>Ý©ä��������€âü��˘P §»çiđäĽóΑի×ȶmoKeyęŹ85ŐRQ^.U•UŇÖ‘0S{{"\nëH†ËKŢ˙·˘é–QŁFĺüĽˇ ׻޿˙€yľńŰîĎů^ěűjjëČŘ~dYµLš4QÎ8ăt©¬¬ětÝžľ3A���������ÝCđ��”ĽBU€ěrEE…Ě›7W¦Oź&Żn} µ'QÔµËĘ*ëĆtđ$׳ĹbúîD\G˙HXüűZ¶l©TUU…ˇźB-ľó���������ô‚?��`Ŕä«ú“k{WáU^^–ÚV)ÉŠ"í­RŚęŃăĺÜsĎ–ŠŠr3fL—Ç– K1Ő”öíŰ'íí˛î·OýľjĆŚ7}×]…|r˝«|��������@÷Ĺ�� ő$RSScć#¦}ΤŮ'ĎŇsuŢŐ4Xó,ŐŐŐfŢ1bzŃם8ë3Ż­­•î"Ü��������Đ»ţ��€A#WE™č6 ďTVVHĹäŁ%Y=¶Ëë ź0Mćś°ŘTŻŃLOî§”¦îŇ÷ĄĎ^>é¨n˝/}ÇŃ÷•ëó ů���������ô=‚?��`@ äÚ×Ő¶ŃŁGËŚ3¤eŇbqk'H>Ă&L—™‹/N;Ó´řꏠM_ëÉ3čłĎś9Sš'žŇĺűšµÄ_úŽŁź™ë>ŠŮVĚ>���������äW&���h(Ăó<(ą>żĐ¶X,&Ç7_öďß/;*«¤ěŔVIîŢ,‰ú}RV–”xĺp;qŽŚ8b¶qÄd9öŘcz-xŇß–Ţř^ô}Íź¬ěŰ·ĎĽŻřmO˝ŻxCç÷5eĘćXűś˝ú�����@~Ś«��€®ü��9e‡kúrˇ'á˘|áë´ÓN•çž{^vď.2m~§óÇŤ+'ž¸°Ëç*ĺÁ•îÜ[ˇ÷«×±ďkĎž"Ó;żŻńăÇ…ď+ßçöä]1x�����ĐmŐ�@±ţ��€’P(ü“o_ˇí˛xń)˛sç.Ůľ}»466š}Æ “)S¦Č¤IĺpŇŐྯ%K|_=i×E‹/��������€ľCđ��”ÎĐĺiűU(äŁňí›<y’™z»]Y©†Vő95ŕ EJE$‚=������=‘Sa|��t…ŕ��褫6ZşŻ/şjůŐUU {o…öuýőś‡Ú"ŤA+�����€LŃq­\c'ڧ��€\b��P$;¸ŕş®ô•b#]U™a¤ďôĆűçű�����čĚŽą1v��şŠ?�� h±XL’ɤ$I‰Çă2Š©d.mľ¬z^Ą������zNÇÜ”ŽÁ��‹ŕ��(š:h¸ŁµµU*++¤Żtꉧş:öp ¤ô÷óvçó�����ä¦cn:vBđ��tr���]˛í›ě Cssłôµî†I”ôżîľwľ#�����€üě›ýĺ;ĆR��@1¨ř��ňĘ®Ľă:tttžă}ýŰGĹVţ‰Żz»ŐUw>»ż –ge  ����� ?kÓ1·x<ÖiĚŤq��PÁ��PPöŔB<^–č––©­­•ľÖ“0Oö=j8¦”WŠą·|~¦������ş¦cm:Ž˘coQŚ­��€®ü��]Ňß2ŇđÎăń¸ůíŁëű%řcu·úOöą‡łz~¦������ŠŁcmJÇŢl«Żľ®¶ ��†ţÄ���rĘî#n×uŔA§D"!mmmŇźčm>8đ=�����OÇŘt¬ÍŽ»ĺ—��Č…ŕ��((×@CYY™™ďŰ·_Ą‰ď����� űtŚ-:ćf1Ö��ŠA«/��ĐI®¶ZŃŠ?:ˇż…¤-żš›[¤¦¦Z‚řči °ľÔW2‡Ół����� u:¶¦clÚâKÇÜrUü±��ąPń��äd°Ëv*//7óÝ»w‹ëş2˘÷Őßź—oŠźťď>������Đ}:¦¦ckѱ¶ě1Ć_��@Wţ��€.ĺ —ŘßBŇĺ={öH©8Ô L©kEo?Ă`|������ĄNÇÔl‹/kc ��ô­ľ��@N¶Ý—ťŰm¶Ý—nÓßDrݤ´´´ĘÁő2rä)E ’tĆ;�����8:–¦cjeeń°ÚO®6_ŃĘ?���ąPń��t©Pĺňň óI¦¦&������źŽˇéXšŽ©éŘÚ`®< ����@^…ŞţčŔ„ĺWţqeĎž˝f˝¶¶V�������dŇĐŹŽˇůżPWnĆŘ´ŇO´Ő—Eµ��P *ţ��€˘äúŤ#[~Ř˙í$ż$±\<xP�������¤éYvč'»ĹŐ~��@wQń��­úcé`„Vř±Ę:::äŔŇÖÖ&ăĆŤ ÷������‡#żRöiii5ce:ŽVVVf–َźě�"���şBđ��-ĘčŃ ţŃŚ­[·É„ 㥦¦F������€ĂMssłÔŐíΨšmŰ{eO„}��@Oü��ťŘ€O®ő\Ő~˛ĎŐíííí’L&e÷î=f@cĚ1RUU)������ŔP×ÚÚ&űöí3ż §ceö©¨¨>ůB?Ńń¶ě� �� Á��P”bÂ?ş®ŰUeeĄ$ 3é�Ç®]»Ě�ÇčŃŁ¤şşš`������Rt\¬ĄĄEöď?`~!NéxVɶ•˛ŁAźî„~���ň!ř��rĘ®ú“˝-WřǶłË¶t±ôXżźů^ł_÷ŐÖÖš*@¶§9������ těKÇşô—Ţ´şOSS“S¶­—Žwé÷˛ŰírwB?Ś›�€|ţ��€ĽŠ ˙Ře´ĐÁ»n?ě †®ëo:é`.ëüŕÁ©I:}FôŃ9������Đźlŕ&{ž˝_ŮPŹţ’[4ŕ ůDçöüč5ý��€î"ř�� ę*üxlő�˛ë:čˇt›üÖ`žŘʰa!{ŤB����� 7t®É󷙚u[áÇ›řɵž}]B?�� 'ţ��€.ĺ âä ˙Ř ö‰¶˙Šnł"–Ýý ‚=������(ąĆżr…v˘źěcŁ­˝ Uʵ��Á��P´ěę?Ů »?:¸m˙=߯ô#9>Ńmö8������` Řq.U¨RO®ö]Ů! |çFú��ÝAđ��tKwZ);°­čŁ“­ö űä Eۇ������ý)_H§P»®ěŠ@ĹVůÉ· �� ‚?�� ŰňµţŠnË7p‘ôÉu­č~������` e·ö˛Űrí'đ��úÁ��ĐcůŞ˙¨ě�εmWt˝P›ŻěÁŽB! B������č‰B›|űŠiŮmVěő���z‚ŕ��8$ů*öäÚžÝö+×ŕH®0Pt?������Đß …|˘Ű»S͇ń.��Đţ��€^‘«úŹÝ®˛C<ŮŰsUú)vđŠ?������č‰C ßäkĺ•˝ż»ű���şŕ��č5ůŞ˙Ú—o€$;TĚç������˝­«€Oľă»»�� 'ţ��€^—ŻúŹÝŐŐq] †Pí������‡âPĂ8˝��č)‚?�� OŞţ“ë8«Đń„|������ĐŰ UŻÎĄ»?�� /ü��}ŞŘ�Pˇcü������ ?Ůń¨\ˇÝWL‡Ŕ��č��@żČ�*6ĐĂ ������JIö¸Vtüб,��Đźţ��€’Fµ������ $‚<�� ”ü��ý"_Żôb*�ţ�����Ŕ@ČżŠnϵ¬ µ ��čm��@źĘ50’/ČŁ!®ëJw®������ô¶\më­X,–±=&ö!���úÁ��Đ'Š üčz®mĹ^ŻĐv������ ą‚9:ć”/°“ý‹kz\vP���č/��@Ż+ú±#şžL&Íş.G·GŹ������J­ôc<ş®Ë:ŹÇăŰs‡ …‰���zŠŕ��č5]~tҰO"‘·GçŃóó-űą������@Wş âäŞÜc·Ű_\łÇ輬¬Ě„€4ü“Š^���č-��@ŻČײK@4裝ěv�©¬¬ňňňÔ †8 x������`Pđ+Xë””ŽŽikk7c_ííífŚKÇľtŇ Pľ�ca�� 7ü��‡$_•[ÝG>t®t0cذZ©¨¨<������€ÁĆ÷č3żŘVSScĆĂ4řÓÔÔl~ÎNşßV˘ú��čm��@ŹĺŞňŁ:×ŔŹNş®żŮ4|ř03Č������ E쩪Ş2“Ž‹544†ż§ăb:iČ'W�đ��č)‚?�� Űr~ě¤Aź¶¶6óŰLş>räČÔ`GĄ�������‡ ůŚ3ZZ[ŰäŕÁauěĘJśL>vRT˙��=Eđ��tK4ôc—m•ĽĐĐŹÎő7›´Ę-˝������p¸Ň_«¨gŞ˙´¶¶šq4 ˙hë/[ýGE@„��@wü��EËýD'-[¬ˇ]6¬Vjkk������8Üi¸gäČRV—ĆĆ&iii1á­ ¤A ô!ü��z‚ŕ��čRˇÖ^ŃĐŹThkŻęę*������¦ż(‹ĹMë/KSţ‰˘ő��č.‚?��  ®B?‰DBÚŰŰ ý�������]°cgţŃ15 ö”•eţu]4ěCő��Đ‚?�� Ż®B?ÉdŇ Pč|řđa„~������€.čšë&Ąˇˇ1 ˙ÄăńŚc˙��€bü��9uúŃ ?ÚâK+ţTTTRĹ�������ş¦cimmí&ř‹ĹL°GçQ„��@1b��P„ěĐŹVůŃŕŹ.Ź5R�������OÇÔě/×éX›.GÇŕ���ŠAđ��t’=° Ń}:Ů_cĆŚîôŰH������� Ó15[Ó16kËüDÇäa �� K��Šým#mďĄSYY™TUU ������€îÓ±5cłămTü��ÝEđ��”«ÚŹ–Ö9-ľ������€CŁclŃ1·BU���˛ü��]ŇÁŰc\KëŹÇĄ˘˘B�������ôśŽ±éX›w‹ŽĹ��t…ŕ��Č+Wq[rxÄá������ŕĐéX[tě-ŠŞ?�� 2��čB´·¸>¤¶HeeĄnŰoY9Ž#������(}ţX›?ö¦€ěXă;�� +��@N6äí+®ż]¤S<^&±ŘĐ*8K'óL ����� <kÓ17mőĄăoş ˙��ůĐę ��ä”ŃuxP5552E+EM‡#Ţ�����@i°cn:—kl�� ‚?��  Ńß4ň?Úć«B‚-ÝĂű�����čţ›Výal��V_�� “č€Bö˛ëzŹÇĄÔ1(Ň{˘ď’’Ň������}CÇÜtě­ĐŘc3�� Á��WvxFÓHiŹńR5PźúÜţě±ĎÉ �����@ď˛cnv Î"đ�� !ř��ň˛!Źě˛ÂĄ8ĐĐ›Á›ÁT-¨'÷Úß �����€Ţg±ăqşŤŕ��(„ŕ��č’ yŘŢâĄäPďçpl –ë™{:xD������ ÷čX‹­řC+{��P ‚?�� Jg°ˇ§ ä–ý^şä!������Đ[ż��Ĺ#ř��ťî†wz#ě3XC‡Zɧ»× ô4��������@˙!ř��:Ér)•ŕKwîc BĄ¦Đ3Đén5Ş˙������šRź��Ą…ŕ��(h(~÷Á’î¶÷ęI�đ�����@Ď1ľ��şBđ��”ĽŢ ň®U€Š *¶˝Ww@ N��������ô‚?�� ¤őFč‡ @ąź­pOˇăŠ őţ��������č��@É:Ô >]ťÝďş®Y·S1×)µ PľpMööX,n·Ë…Î/Tá§Řę?„���������zÁ��P’ú*ôŁŰ5ä“H$$™LšeťŠ˝îPŔ‰Çăf^VVf–uęnȧ`á��������€ŢEđ�� Jݭ£ណŽ3E>ţŃĐö}®Ľ˝7)›RߢŐ$8ΓĆVGZěő]^Éţ›g±á–\·ˇÇdn×ÇĚ _3˙5:_3sź^wâHĎ,ÇăţýŽ3ážQµq9ę©úS^^nŢ…ŇuÝ_QQ†‚2î:O€‡đ��������@˙"ř��r*¶ÝU|v±űsm·źööv3éňË[ÚdÝfWÖmJĘĆ:GęęăAx&zľc&Gb©­^¸Íqb‘cť¬ądťďe-)'3ěă‡wěu˘gD·yćŘX̉ëŮ]ŃSsÜC,'/5wá1ł'$Ą¶Rdů±1™7ɑӎ®2Őô]i (W�čPÂ?������(,×Řc.�� ‚?��  ţn{Ő“ĐOľmôimm•¦¦&Ů˝żEnyZäľEvŚĹĉĹÄÓĘ>Nf(Çů8©}şÍ_ʶş˛áĐ%ýąň;^äŢěyt"ű<=:î‘ČR:ü“Ţ>ŞVŇ{7ç{ć'ZţÇq"źăű‚+‡ÁŁyľ7ëü÷ńâV1Ď:idł,<Räăgy2}|… >\Ş««M�(:Ŕ”ŻőWWQ T�����g¨·¤��‡Žŕ��(˝úŃ*?---rđŕAٵŻEn]#ňű5Ž4µéŢHő[idžPĚ® ÎŽă¦–ÓÇF>ág†ť®ěăz®d|Š ŕ䨔ŔxöŕŚđ‘ëenr˘źĺřĎ‹¶űŠ„~ĚDĘ</ BMY…vtäţ˝ÔäČ…Ç·ËÇÎÜ+3&VȨQ٤¦¦¦¨ę?„���������úÁ��0(úI&“˛oß>9x°^~żĆ“ź?®'¬©ă@M´JŹ—q=ÓÜ+µĎ *éřŐ}\ł=Ý­+ŘěOoO‡~üČMpýŚóěgąAÎČ˙L:ŠŢŹăddě1Ág¦+ůĎ•<żR­>ä¤>}m‘Ě•Hţ)]ÉČ‘?˝äČ“<ůŘmňţ%u2bÄp;vlŻ„���������phţ��€’P¨ÚO1ˇ]O$RWW'uű›ĺúS±Ć‰Tń1g8‘*<âÇsLHŇ­˛lń{]ŕ1ŰS˙ŮĐŹDÂ<žmćE:áL2;vy‘"CÁAÁ‡Úű n58.«X¨±÷ťÎ$ĄË˙„÷"éű•ČĄĽČ}¤‹EÚ™IşŐXc«Čő:ňüVO>s~Ěhk“‰'Jyyy§Ö_Ý ˙ ��������84��Ŕ “/ôł}űvٶ')_˝%&oî6{L¨ĹľH°qLzÇVÚńśt•ťhʼn¬Űcm˙`±Ý‚J=şÓMďK_%łBŹxéę?âDöç®—ň‘hÉI}lu Čýf|¸}.IW' ÎŤ…Á t5$ ‚D^:&ľÝţäG6îůÁGÚRď{»Lť:UĘĘĘş ˙��������� oÄ��`€u·ÚOö~mďµcÇŮş»C>÷kOެóÂJ=6Ŕ“ľŽią•Ţ şHôřhĹ»´łÇfV’tuˇČą~˙­Č9Ńí’ůYŽ#a/˛lŹ·‡Ň÷jďÉ͸¦ ň„Ď©TäE®éW*Šś—€˛÷˝ó€—zÇ"oďMš •ľű\A¬BëĹî��������@a��@É*¦Ĺ—뺲k×.ŮWßn);HX‰Ç‹ü/ úŕ‹g“9a�ÇîwlH&R÷Ć6 s"ËŃ�Ž«a›HK.ܱ©Ł`łTúqěuťÜźĆ|‚cĹŚçń·e€"ÍĚ2Ź CD‘€Ot=ňNl›2˙QÜôőťHë3I‡ö7$dçÎťć;č ��������€ŢGđ�� ¨îBrU’9pŕ€47·ČţÉ•]ĐKX˝F2Şţ=߉FeŇŰ'ű +î8ŃĎL/Gs=ÁÍG¸ţr¤Oşĺ–ßzĚVęq"ˇśŚ¦_ö|‰†}ĽNźeď#R(ă^Ç «IVŕ'|'Ýę+Ú.Ě îĂɸ/üĽ<ůÚ­ž´´´ĘŢ˝{»Uĺ'ˇ ��������€ž!ř��JR1íŁš››ĄľľAî}>)z)«ęŤçĄ«ëmŇ-ąŇÁ ŞâřAťt•›t{®Ěę:é–Zéc‘#auźĚJ<´ńęŕńĽH•ń2ď)r}/ …÷g«Ůö^Á˝Úę=éJ<éë9Yµ˘ ôµl°)ö‘Ě–dşüÜO~żÚ“¦¦ćÔÔtH-ż���������Đ}��Ŕ€éiDĎK&“ŇĐĐ [w·Ë/źô·gW÷ń$Ěâ„•|$¬üă…ëŃŞ;Nä32‚;’YáÇŕDŰhIŘ*K:mwNpmq;…}2[~IFU»Ő‰9éĘBŃŞ?¶jŹ“%9ť‚Cé+y^v#/ň,ţý†×‘tä)ýŢŇďúO¸ć;Đ�–~'‡ňť�������� {ţ��€’SLĄ ý´¶¶É/žđL‹/ ‚*ačʼn6ô «×Ř6_aŰŻaĎ Ú~ĄĎ‹Vń [Eî-lßĚ=‰VňďĎoż,†'rŹéëx%űY™| E®›JW ň"-ÇlźhĺŁđĽđ9Ňű;Ý›c?=}_Mí~ř§­­Í|'٨ú��������Đwţ��€AĹVűiii•-umň§mHĆěőC/A@Ćoe•>׆gÂę?A„Iźë„»ĽŚ�ŹjÜŚĘ:6DdĽtŘ'¬¦“µn[t…mżlŰ®tů‰V'˛Ç§?6t˛Ç‡ˇˇčąy/zßÁ)öYlČ ď1L(eT/˛÷a[”éü—ó]čw’H$÷���������ô‚?��`@ä ‡S!¦ąąY\ו{žKuÓęĘI·Ŕ C+ž ŮDB+’ŮΈ^Âv_şědgŇ­Ŕl,Ć ?/ŁŇn÷"-ÄśHUĎßçD‚8ş_÷Ĺ ďS籰⎽O7 y‘릟٠?׉>Kć‹ Ş ŰťH5¤X$¤á °UZ4­¨ä„ײU…î}>˛ZDzđťÚ��������€ÜĘ��`°Á —hk©^¶ŰÝ ěcÖ‚â?žIÓd´ÇʸŽV»ńs>žŚ¬‰Éšxf`Ƥ‚<É(äźž>ÂÇń/(¶ÉXĆURű\7¨9ž’ů™ťĄîVܬŕRö­xÎÍŢ{°Ĺ•Mnć=;ţ±ž áD›–íżĚ; Ö5Gžz?\çȵç¶ISSł ><Ŕ��������@_!ř��•ŽŽI&]yőívŮÝ Ĺ mĹËŃ„áźt1a'»L[&?üÔTYzĚ09ś¬z­Q>ű_Űäí=‰đĄyŮ©&‰´“tEĄôűöUMí"k6¶Éň5&”UYY)���������č[´ú��%ŁPK(»¬ˇmóőÜfmóĺE& Ă(ąkßx×ÓĂ\ ­¸Iąý«ł»ĐŹŇgţáµSSď3™nQfDÚ†…ˇźč{vĹź’±ýÉő®i÷ŐÚÚ×ůűË·��������€î#ř��úݡ„>ÚŰŰÍůk7%Â_ž—ţÉ ŞD-ÁgÁ•Ô™2ząL_!‡«ĄÇ—㎬đCPŇ9ścż«tŰ.7zD°Ď?vý; ĘJ$ŇSĄjhh›oľEyäQ��������(´ú��††B4T˘íľvHWź±-»LĹ ‚@a·*'ÝĚVŻŃą«çą2˘š?Ť¬ó.DâŮŃźôRF Ç“tG0'ÜöÖž¸ f•——‡-ÁŇ-·Ü*ßűŢżĺÝ_QQ!cÇŽ‘ŮłgÉůçź'^xÄăńśÇţíßţť<÷Üófů+_ů’\qĹ{Ĺůú×˙Iîľű^6¬V}t…��������€ŢCĹ��P’ňµ‰J$’&řóöÁrł®Ů­VŁ•f̱A…źô9nXČn Ă?&ěâĘáα‚6iN¸ś}ŻNş-}Ż-‰hę0ëá÷QÂíľ4¤´cÇNyňÉUňŹ˙řMůó?˙ ©««ËyěöíŰĂĺmŰŢÎاՀ-:ÍL?ůÉ ��������Đ_řw��PŠ $“I3ßľ×¶’ň‚J>AI[‰Fü@fWÜÔz,ą~X ČóĎ)ŃÖRýÉ3ďŃ ŢGę˙LE$/]Đ'ZÝ'Ą·W**íŘçĘäqžů®ňUĎW_ý!™;wNĆ6 ˝óÎ;ňŕÉöíďČ«Żľ&_ř—ĺżřßÔĎLf>ţk_ű{ůńŹo‰'Č5×\-���������Ą€ŕ��4´Í—xvĐ�†y2:NĄ;O‰çř•k´­W§6APh`›Q•†ŚWă¤g¨rM+5ń[¨I$(eNrý U˛Ňů¶˝r’řß•¶ŇꉾhvĘ)'Ëg,ËąďÚk?)ź˙üäé§ź1áźÇB–/?+ăĄKO3��������@)ˇŐ��čW‡ŇŢÉžŰÚÚ&6´Vď‰VđńĽ°âOXŠ&\JţŘM´ú2ďŐLŃ÷hÖÜČ« ö…ď.� ÷Ą¦}őí­ľŇç–. (}ĺ+_×5���������0Pń��”śhP$ş¬íŁtýí˝©™ۆʓ°2Ť=3¬ă•k´­•ĐâËň+&ŮđŽ}ŹAĎŻ`›ľMÇËčű%aŕĘq‚S<ioo+řY}Qͧ7L™r„ÔÔÔHssłěÝ»·ÓţźýěçňÓźţ·YţÓźî–±cÇĘ/~ń+ůŃŹ~šqÜ˙ýß/ͤćÍ›+7Ýô+łüíoWnżýł|×]·ËäÉ“:}ĆóĎż źüä§Íň±Ç#żúŐ˙ĺşUůú×˙Iîľű^óď»ďN7n\Ć~˝˙?ţńNYµjµlŢĽYZZZeôčQ2}út9çśĺňŢ÷^š·Óâŧ›ĐÖµ×~"u/—[o˝MîĽónٲekę:-©ĺŰä#&gśłnÝłrË-·Ę믯—Ý»÷ȰaµrňÉ'É'>ńç2gÎl)Öol4×Y»vťěÚU'eee2uę9őÔ%ňÁ^)'NĚy^ô˝ýď˙Ţ /÷ß˙€yöůő}/_~¦\s͇eÄ�������ŔPAđ�� :ž­&ăy‘TO:Čc‚%^¤Ť—­NăFŽ÷¤2(ß˙Ýky˙I22~ŕ&U˛śčşîÚGMí=nćHąpńŇ5/])Ľż=¸™t;µ`Ý‹¬:¶VPęŤ-~µźRŻň“m˙ţý&ôٞ4˝áĚ3—…Áź§žZ-W\ńŢNǬ^ýt¸¬!šúúúś!{Ü1ÇÝé^x`…|űŰß‘¦¦ćŚíuu»Í¤ˇ˝Źýč&ĽTČ—ľôyä‘Çňî× Ţwľó=°‰Ú·Ż]|đ!yě±'ä?řľ㦛nN{}FĄ¨öövٰá 3ýîwż—ż˙űż“÷ĽçÝŻÓŃŃaÚ¶­\ůTĆöÍ›ß2Óý÷? ˙ő_?é^�������`°"ř��\1!‘č1mmv«_•&ŢńÄ“Ě,OĐę+hgĺ1•XWxßżecęăAx&u‡Ž§1ąó|©;uSłX:›cŽČJ˙ŘpŽëęsşrŐŮSŠ ţxámxČOŃv^a˛'¨äDßź—^nępL`ɆşŞîS*€˘•{.¸ŕĽ˘ÎąôŇ÷ČŇĄ§ICC|ęSe¶-[¶T®»ÎŻ>SYY»dÉb©ŞŞ’ÖÖÖÁź5ᲾżgžY'çž{vĆ1‚ٳǯH¤a˘¨U«ž’Ż}íÍą±XL.Ľđ9ăŚe¦ÚĎľ}űĺţű˙$Ź?ţ¤©¬ŁU®żţ’Ď=÷Ü'Ű·żcŞç\vŮ%&(Ł÷®×˛ľűÝ C?şýĘ+ŻąsçHGGB^xáES)č+_ů™5k–ň«_ýZ~řĂ›ĺqăĆĘűŢwąuÔ<I$’ć:TŇPÖ7ľń-S•éśs–ç˝ÖĎţKY·î9ůł?űśwŢ92fĚٶm›üň—7š÷»cÇNóě˙ýß?��������†‚?��`Đń‚˙Ů:8¶8Ťňs)®\q‚¬JXqlőÇVŘ0Đ€‹UŠ«0É'RJÇ3×l0ˇźŕp'Úi+rŚ­ĂăÄS37!®Y(Ž'nä ţ˙Ý:¦Â’ Â?‘V`~•!GÜŕó•›t3޶”2 “¬_żAnĽń7&Ł´ĹŐÂ…'uľ†JtŇଡí˝tʦ­µ–,9ĹTÁYłćS-'O?ZÝçŐW_3˧žşŘ„T´˛OvđGCCÖ™gž‘±ď·żýťy÷Ú"ëúë˙CN9eQĆ~ 4}ó›ß6ś§žzZ¶nÝ&Ó§O“\4ôóÁľ_ľđ…Ďç fi{/[ÁHĂ>7Üđ#9rd¸˙]ď:_.żü2ůËżüŚ<űěs’ŹVáąá†˙1ËúŢ˙ýßż—Qĺčśs–›ŕѧ?ýW&ĽôÝď~O–.=Ő„¨rYłf­ąFôÝLš4Ń´Óv`/ľř’ąźM›6ˬY3�������€Á.&���_IĆ Ă)~Ĺ“č˙lµżÂŹßŇK˘ÇĄć1ÇÉ $/VžúSY…xNĄHĽĘźĘŞÄ1ËŐfŮ5Ë•fÝK-{±JqĘüąż­2<Ös*RËĺâ8ĹgĽł[‡…ůńÂÖiţ;u3ŢŁ~ö»łžRôůĎQ-:-c:óĚsĺ/ţâ/Mčçśs–ËŤ7ţ\®˝ö“ŇWlEŰpi�%J+ú.µ˛Î…ľËl{úé5ť®ˇĄa–쀑Vđůíoo”˙řŹíú±4ŚcŮ Q.&ŚO˝łĎć­Ćôűß˙Á̵˛Đ?ýÓ×3B?–‚>űŮĎH!Vjoo—ÚÚůîwż•łµ™tţúŻýŠJţŃvfůh((;eďSC]–¶<�������`( ř��JVv5ŰŞ5ˇ„±ű‚Ę3éü}NfĹ?7}śgŹ+…äŹţ‘̉§ţ/î÷ó2•zbâš6_1łěh5 X™Y÷Ľ őxáöÔąz~,+/úÉśhHĘ|\»M$]c)ýţÂ°Ź“î�f¶äůĐ’¨¬TŔŞU«M›(­‚ÓWÎ8ăt@QŃĘ=ŃőE‹N6“z睲mŰŰá1ZˇH[_©\áĄa›ÓN;UňŃĘCÖţýűów≠Mĺ \:::dĺʧ‚ű=IćĚ™ť÷:]ô.Óž+ :=üđ#fů‚ ΗqăĆ彎V˛U~´R>§žş$ď>}7Öž={�������€ˇ€V_�� ¤ řŐ~<ié§ŰPyéŹ úŘ2>ží—e;bŮ*@bÚV•R% ŘÖcéű f^ĐRË ÂKŽ™</hmćhPČŻdžSěç‹˙NÂ{ ^fú ?^çst!&‘űéşÍ— pę1ÝqÝuź’㎛ź±-‘HH]Ýn>ŃŕĎĂ?*Ď<łVn¸áÇrÔQó¤·i[°ůóŹ•—^zŮ|Ţu×}:Üg«űhčG«ůLť:EŢ~{» ąL›6ŐěÓ*5şQgžą¬ËĎkll”7ßÜd®łk×.3_µę©pż>>µµµy÷íŢ˝GZZZ̲„ )//7ϬďµóuvËÍň°aĂ2BNąÔÔTKkk«ĽőÖ–ĽÇč;ÎgÔ¨QárKK«��������0ü��ý¦7Â66Ŕ–™q2.¶ő— Ş86c«ÚĐŚ›uÜŔŠĄü€R°1r_^ôŢ-~ČĆóOđŇďĵÁťîT2ŇŔ‘¶ěŠŰ–h†nÂďĚ n*ćăyávSČuüŰČľń˘Ő^/>%çľ÷ľ÷RÓ>ęk_űGihh4ó[ną©WG–v4řł~ýSqgôčŃ&Ȳsç.łÉ˙ő^5¨łfÍ3ňţ÷żĎl[˝Úiť“O>)çő7o~+uď·ĘĘ•«LĹ l˝ńL{÷î —ÇŹßĺńcÇćăěŮ“ľÎŤ7ţĆLĹ8pŕ@Ţ}¶˘��������‡ FĆ�Ŕ ˘U´R‰­z#y[vŮj?AëŞHPĹŻ äŮ” 4/zA¨&w+2Ď–ř1kNx˙ţä„eŹ‚ëţń¤sÄ^Ó‰„‘ü€PşşŹ-§dĂAąľ‡ÁႠΓ}čfYĂ3ëÖ=+}Á¶čŇw·fŤ_GĂ=JĂIcÇŽ5˧ťć·¬ŇűĐźye«ć,]zŞ©¤“í®»î‘«®şF~˙ű?ĐŹ~w3gÎ0aŁ«Żţ|ík/?ůÉĄ7Ů{ëÉ1Ĺś›K[[›�����������Ŕ cC1éVWf«Ůç·ÂĘ®Tcö„Ű={bÉ„TĽČ<rźž“Q˝Çł©I?_€ *íŘö\ŽÓ˝góó;^x=óY‘PTş˘Ź_e(Z˝É î« äô« /Ľ@nşéfłĽaæíVo›={–L™r„lßţŽ üĽë]ç›^jéŇÓÂă´âOYY™Ô×7ČĆŤoʸqcM IŮđPT]]ť|űŰß5ˇ¸‘#GČç>÷YYľüL>|xĆqąŞ�u— ')m!Ö•heź¨qăĆ…Ëű·cÂI�������� {¨ř��ĄěŞ8~ŕ'Z-'͆glĄ ´„•R«D+čd˘ ôqŃvMŃŠF^F©řł±ˇhK±tč'R1ɆŤrTWĘőŢm»e555I_±Á[Učůç_0óÓOOjkkeÁ‚ăÍňsĎ=/k×úÇj+«eË–vş¦¶ÓĐŹúęWż,—\rq§ĐŹjll”C5aÂxÓn̆ç ŰŢŢ./żüJŢë >Ě,kű3��������Đ}��@ÉË”xžß"(]ÝFr´ÇJOŃí¶:můU*´…V: ä?ź˙L¶Rô9ÓÇf¶* –}݉ţ„ďÔ‘žĚ€Uö{ŽV`ętĺA˛5iҤ˘ĎsşYęH[o©·ßŢ.Ď>űśěŰ·_jkkä„dg>/Ľđbxo ž #FŚčtÍćććpyĆŚ’ĎŁŹ>&‡J+ťqĆéá˝˝úękyŹ˝ýö;Lř'—x<.gź˝Ü,?ţř“«uttČţp»ĽńĆĆA0������� 7ü��Ž´đ‚j7‘¶WŃcü=Áš×i›#ą*× ¬h A@Y{3*úxYGŇmşR'w+3/Ă ?ĂéžJż[/¬–”®LäĎť¬ŠCĹ+… Ç–-[ĺ‡?ü‘YÖ`K´úNWŞ««M%UL+­“N:1¬tó›ßüÖĚ—,Yl‚0Q¶ő—VñÁĘ6}ú´půá‡ÉyڶűĹ/n”Ţđ\~ç_űÚ?Ęž={:óĘ+ŻĘO~rCÁë\uŐĄĽĽ\ÚÚÚä‹_ü˛ěŢ˝»Ó1ú×_˙ůÎwľ—:ţš°���� 8Ź?ţ„|ęS%gśqŽ,ZtZÎéĚ3Ď•ë®űkY˝úi��ŔŕR&���¨'ˇŹÜ' 9Ńĺ°k•ßĐ*Z±Ć-‘öTzOnF5ŁŤ7Ąeµţ ĎwÂV\NË1×*2„ăżϤ{LE!{Ýđ=×÷oHĽ°ÂŤ­ ÔóĐOyć™urŕŔÁŚmzĎ”×^{]}ôń°2ÍG>r•Ś3FŠĄťůóŹ5ť‡zDćÎť#sćĚ6×_¶ěôśÇźvÚ©ňŔ+ä±Çž0ŰN?˝sű.˝†¶ĂÚ±c§™”m–MCG1ŮŹn¸ádÓ¦ÍrÖYgʨQ#eďŢ}ňä“+eĹŠ‡eĆŚ#ÍľCĄŐ‰®Ľň ůýď˙ [·n“|ŕjyßű.—yóć™ę<Tşë®{Ěçëłęgç˘ďęşë>%˙ůź?’őë7Č?řaąřâwËqÇÍ—ęę*Ůľýąďľ?…U…4ŕtůĺ— ���� 8?ţńOĺç?˙U—Çi%Ů5kÖš˙˙ů/˙ňZůřÇ?&���ţ��€A'wkĄt(&#*­˘´Ć2AW¤›šúŚm;ćßk$TSđ$/|�SČ.‹ëÇuÜě6`¸Áç™đ„i)ĎIWIňěmŮcŃűCVĄÔ<-S1Ubôţµ’Íu×}Zşë3źůKů«żúzŃę4JŰw=ňČa5 ( ĺhđÇZşôÔś×Ő@¶ËRG9=ٞO”†‰ľ˙ý1żť©'˝vôúJĎýÖ·ľ!W_ýgŇľřĹż•d2)·ÝöG©Żoč4\UU%ßůηL¨Şk®ů°©šôýď˙‡ąÎoű»śÇuÔ<óŚ555����čšVú)&ôĄc?ýé›_ř8ůä“���ĄŹŕ��tŇm°<‰”§1Ë&Ôcvy™˝ż‚lu'–Úďz%Ńî+lŻeCIŮ}$k[ň2–Íq¦"O*2‡cŢ…#aËŻ ‰ä~Ľ¬kE×í~±QĄŇ­ú“MĂ2#GŽqăĆɢE'ËE˝KŽ9ćhé  ýź˙ů©üěg?—^xQš›[¤¶¶VvíŞ“É“'u:^>ÚR,‘HČĽyseüřń9Ż«ÇŮŕŹ†… ŃëÜzëÍňë_ß$O<±ŇT˙qS˙®L™r„śwŢ9ňá_e‚I˝EM_ůĘ—ä /›oľE^}˝ěŮłW† «5ďóÚk?i* uüQZ=H«#ÝvŰíňÔSOËÎť;Ą±±É|?úťśţyćsr…¨�����ąýć7=k•¬ăÚšz¨ęęędřđáć—N���†˘b-Ű)rźSÄÜÉłn§Xdn§x°-ž5éľ:ooďX%�� Wh/he—5 ĐŇŇ,®ëÉ´iSĄ'rµŐĘŢ–Qˇ'X¶óúúzSÍä7®—ű׏L·¸2˛đC=iUĺAš`%Ň>K‚¶X YzTŤÜţőE2&~`EęO6UšŔ j˙HF¸&|ÎPň‰l +ičÇŰ!\6V~řWÇwůůW|c­<ůZsęOTeéŠ?ŃOł¤ČűL×%˛źďżŮóçě—o|ôhÓâiÄáýGçŮËąÖóm�����Ĺ9óĚsM /ëç?˙9ţřărűôÓkL%[kܸ±r˙ýwË`÷ŕÉ+ŻĽ*ĺrÉ%ďéńVÚ¶ím‰Ĺ©®®1ż4¤ă#úËK:·Ë�� w¤ţڰTüľőÁ<™5yÁÜŤL^dž=IžőBóěĺl]ţĆ5ż2 ��mce+ă81ŠńLuŰÎKl„Ć‹´ĽJÍ]/ߟÚ—®c6.› GA˶ă˛ĎěŇá¨0ăzE·2ó˘źçoűţĚT˙±mżě9éűńďÝóJé}����px‹†~TľĐO®}ZÉv(ذa™··wČwÜiB5���C ­ľ��Ŕŕ„Tlđ$]Qƶ͒tŰ//ł.ŽăצńÄ+‘ŚŠçą™eĂę:÷ź/ 1™‡ O fÁ† Í™ădmďňó˝Č52ď+x©é»Ë:.Ľ/˙ Şô�����ĐOV®\%ßţöwĄ®nwQÇ/ZtšKCCůŽź0aĽ|ík/K—˝2gÎyíµ×Ír"‘4áźË.»tPTţ��(��Ŕ c+ÜD«ŃdTĘ »{Ą1­ ă媢8€‚{łĎĺnĽH)rĎ&ü“»˛Ž Ůę<±â8Näó%Z)#ô#‘PPfµˇđ¸đ»������}­;ˇźŢ¤ź©ź=śwŢ92{ö¬p݆¶nÝ&���CÁ��0ř8NPř&R}&Śń$ô‰ls˘ )ˇ Jкˍ’‚ MĆsFŽO/¦źĹ<Žiw Á‰^8¨šä_Äő×í˙<Wěš˝?W·ŰmË/�����€RŹÇĺÝďľ°SřçÎ;ď"ü��† ‚?��`ĐŃ�ŠkŰcyéJćɡ¤'\±í˛Ä¶Ő’§­ąüLRV%ź ŇOĚěĚ|»î„‡zÁµ$ŇLŠë±Ő‚ü­AŰ./ł"D ˙xť^źS /����€Ă€¶Űš8q‚ô7ýĚŻ~őË2Xţ��C]™��� 2~ ,Ç{ŰfĘTů‰¶¦rL`ĆuÓ ÷©®ă”PušÎ•rü˛E~u»-fdC9NÜń҇9ˇ˘?Á?/rćş®]éçń‚¶jžýĽ äPwZŚ����€ž[şô4ąçž;ÂőE‹NËŘżvíSr(zűzɆî˝÷~yóÍMf› ˙\zé%2}ú4��¬¨ř��ťXJɨn#Tůńé~/(e㉛«ń‚J5^v…ťbKţФW˛«ďH$Íăß˝kžŮ Pömt«ŐWĐÎË•ĚwéďK‡¦˘”śŚň?éjJÚj ����� ÔPů�� U��Ŕ Ć[‚v^žm÷%~ĎKUžńěöô<8hŔĄă6‘űrŇí»tîš@ŤöŮŠ>›_ÁČŤ´ ËĽrQ÷`ĂP‘w™ů®rĽ;ɬšäy^)ĽN�����€ś˙��€ˇŕ��t´­TXĆ~śt Ĺ`‚€LĆ< Óxéę5ÎŔGUś jNF°Ć¶ŇĘľO/]]Ç_u%ZČ˙du7+Č˨,”co°˛×ő‚Ď ßwĆąD�����(E˙řµň‰O|ŞčíCá��0Ôü��P¤âLv¬HŐ­Făş68ăŻŰPP,hŤUťľ<s+ţ˝Ů&d^P…ÇoómůĺÄ3÷‚pŘ*=©˙óźWÂ6gĹÝ@zÁżffeǦ}DÂ{ +y6D•®P�����JĎ‹/ľ$/ĽđbŃۇ2ţ™5kf¸Í†¶m{[���‚?��`˛rl`&«ĺ”VÂń"Á Ó*+NŃÖY&<Sl8¦/Ůę>ѰŤż#c›źďÉŃŠËɬ$¶ĺVŃ9śĚw)‘Ďöߣ^?ĽO/Úî+˝Ż^'�����@W4üsńĹu ˙<řŕ ��LĘ��`ň"a?°’îmeÂ'A‚Ĺ [E*ä¤Öc1Gܤ-4°ĽĚ*:™-·ŇˇśŚĚMŽs 'uľn+2âť~s^¸%¬<ĽŰč=Ůu›†©˘mÇ���������Đ÷ţ��€Adžyl�Faič$˝&’®–“>'R -ŤŕŹăw2ď7’ĺÉľeÉŢá„ëŃPN±ĎćIĐľKl+/ ŰwŮëŰ• Ą[¬ąţű7ÇgŢ�����@©J&“rĎ=÷ɦM›Ămeeq9˙üó��`0ˇŐ��t˘ˇRÉhQ•úIźče\Ĺ„]J 7•\Ęj×eîÍÎívűě^Fk3'x^?Çd÷§ĎéZäZNúý:áKő+#Ůë§+üDďÉ_rhö�����Jś†~î˝÷ţNˇźK/˝D¦M›*��� ��Ŕ “Ž–‘/ŁÉW¸/›ŤĄł<żBM)ÄTüJ:é@Ťą+'ťSr‚ĐŤx6¤ł ňNXm'úl›3)š©Üă­˝ě5Ă—ÖPʸçđ^ĹV r˛*�����”úyóÍMá6ú™>}š��� 6Tü��ŽçEŞâ('Śşdnď|¦řa ‚5nIÄTś ĺXşÝ–›ńŚŃ˙Ůă=±x‚g‘6\v›SdŞÉ1­ĽŇmşÂkŰwVr:Ą‰˘÷Eč�����”2B?��`(˘â��tÂT^:ÜV ‰9âąé^ť+Ňřk¦.N·ÚaőÔ ëöŘűň‹eq"-¶üwáçŞ=ţ!©wŕÄńÄM·KłU~t%ő˝Č{4÷™ăťeVú!ü�����Jʆ~îąçľśí˝ý��€ÁŚŠ?��`JWőIWśń+žß«*öřńŰWE*äy)4ű˛˛5öÖ2Şěd. ÷ڬ.—be„~<żí†¨lČ*ú9ş-łúOä<‚?����� ´ú��C��Ŕ ”nKn±•o‚*9žm˙eAA"Č,{f¶uwŁ”żęO\˘íËlGśŚ NČł¤Ź3ďŔuÍöékĄ›:Âw’®2ä…•…L ­¤äem·Ż3ňŢťbű‹�����ôB?��`¨#ř��/ZiĆË ýűcŽm‰•î—e+˙řŐjüóš“2đŇA+mĘÚ 椓7^ä2ž˙>RËógŚblŰÝś:Ţ1Á'3mÂlŘ(š/ň?#ósĂvcŽ—#Ž�����JĹ ',Čů ;ů¶„~��Ŕá€ŕ��tśŚ$ŠmCĺ„kҡźôńžmí%’ĄţŻľ©ĂTĽY[|[¬Ţő‰ÄfĽ0Đ”dĘ>9˛Í‰T7WŽ›1Rş˘Ď^ßÔžzi•ţëÓĘC‘÷~®ç…÷V –=/rç´ú���� $ýěg˙Ő­íCÁŠw ý\vŮĄ2mÚT��*b��0ČäŔ¸AčÄ‹h‚őÔ>/Ł…V°ţyyóHNxGaÉ"±÷í× –í1a{//˝-8Ď1'O–;ş¨0Ó+oí×AéŞIYďÎ/©äŻ{âeuY‹´ř˘Ö�����ަ¦&c˝®®Nz*űÜěk7n — ý��€ˇŠŕ��tLůi'LɨţäTś ¤”Şv½ţ˛V˛ńwÇdŐ+»e …Ý»‚PŹ“qß9*;ntC8ynR>tvqĺŞWľ˛Ç|– SE–Ý0Pý B ¶y^ä�����Ŕ@9sFĆúwľó˝…ôśţçÉŘ6{ö,ŚćÍ›gćĺ„~��ŔE«/��0ٰŹV ŃśŚkŞÝ8A…źĚ°Źţ3ćÄÂ6_¦ő—)XăČĘ—ëä‹<VŽ Ďh &ұ÷™uśß·ĚÇ9¦bŹ }GŽŻ”«–O/ę“őŮý+×7Ňe}üV_öíľÎdžŮÂ?����� wżűByĺ•WĂő'žX™š.“ŢpŃEď’ÁčüóĎ•… ČđáĂĄŞŞJ���†"‚?��`đq$Ýę*Č™¸®¶«Jďö$ ÖRËZ˝&ZAÇϱ8¦ęM}S‡Ś(˘5Vß1Ń$I•l'3HcKbCNé°ŤĽ G\ůâćő‰[ëšdŐ+{S[i*Ąkř¸é(P$y䇋‚ŞI&”n –^/=Żżľ^^}ő5ŮłgŹ´µµKMMµLť:UN8áx™4iRÁsß~{»<÷Üó˛cÇimmK VĘäÉ“ĺĦ®1ĄŕąďĽłC^xáĹÔüijj6çN0AćĎ?VćÎť#]Ń{¶÷ťH$dذarä‘Óĺä“O’#FHOôö5ŰŰŰÍűy㍍rŕŔóŻä¨Q#Íóťt҉RQQ!ĄFďůWżúµ466™uý­ŐK.ą8ă»îşGŢ|sSQ×ÓďőÓźľÖ,ë»xě±'¤X×\sµŚ;¶ŕ1őőőćşo˝µE$ŹËčŃŁÍ;>á„RVVü˙K§Ď¤ĎfŤ7V>ň‘«»<綾^–‡z$\?âÉň\®?öŘă©{|!çąú[µµµµćçL&zúł ��� k—_~™ÜqÇ]˛aĂŇ›ćÍ›k®=XŤ?^���†2‚?��`PŃ€IĚ–·‰T›±‰'¨•ăWÁń«Őh hâǶ¶rlµ XLţëîőňĹ'ĂËšŰve´ô’0äD÷ŰeűśâʲcGɇ–×ćëwŹlĎ´Mło-(<sÂö^ž-2dVüĘB˛Jß@đňłBUĄ ™Lš&˘ĺµ×^7 ĄKO•SNY”óüuëž5żŐÜÜbÂ:ť~úiyĎ]˝úéÔ´¦Óąz/:Íš5SŢóžwK,ÖąónGG‡ÜyçݲmŰŰŰ8š^2ż˝yŃEv«Ěz_\ł±±Qţđ‡Űe˙ţŰ÷îÝ—šÖ÷űľ÷]n~«˛”¬\ą* ý”şÍ›ß’{ď˝/őý%Âm‰DRvîÜe¦—_~E®¸â˝=~Ç{öěM]gg—¸čo wW{{Gj:`~Nô~/˝ô™>˝¸˙F���čýĺ‹üŕűňąĎ}ˇ×Â?úŃk–—ä/K�� ‚?��`łŐfŇg<Ű+ŘV¨Ń5Ďo ćş®9&ŚŇ8qůݻ߰ŕŹ_­Ç†iü ŤÝfď3 ň‚Đ’ç9é*<©iTm\®˙«…R¬ß>ü–yöŚv]N:ô~ž˙ˇţ» ‚@™Çä[XZ…Ć~fÎś! /ŐŐŐ¦ÚÍ3Ϭ•ëeĺʧLĹ âDihņ~† «•E‹N6ÇíŰ·Ďś«Á=·¦¦ĆTđ‰Ňę76ô3vě5j” Ę<˙ü ¦ŠĐ¦M›ĺÉ'WĘ™gžŃéľďż˙0 ŁU…Ž:jžĽŐ€†V^ŃŕÇ˝÷Ţ/ůČU¦ňK1zűšúďĐm·ý1 ý}ôQf0Ř>ż«4T¤Á k®ů°©RS 4,óâ‹/wyś~gÇ{LŢýmmmňŕ™÷˘lô稫Š6Ź>ú źé;Ńźź|´ŇŹ ýTVVČ’%‹Mµ) qé�ľ†hôýß}÷˝rŐU”žzůĺW ôg^ߛҠš~÷…\|ńEćß3Ąď§ąąŮüĽŻ_żÁüśÝwßýňÉO~Ľd~&���€ˇF+Íţň—?“Űoż#őçď?™_\Ń?—w‡ţ˙*sćĚ– /ĽŔTú!ô��PÚţ��€AĹaśtPE[yéÜ˙Ëčh  ˘ŹŘUA`EĽpfmśÔ7wČÍŹl–ť=Sú›ącÇV+J·÷˛ˇžôý;Á&Ç öąž9ó[=N¦ŤŻ)ę3o~x“Ľ˝·5őą•‘ęH™ďÍÔň ™ŔŹż%»ő}ŻöžJŁîOkk«ĽňĘkfyćĚrŮe—„ű&Mšhżü卦ő׳Ď>—üŃJAZFi[°}č¦%–š6mŞüĽé¦›Mű.=N/ŃAP ) i;¤ĘĘĘ`ĎDSQçÖ[o“íŰß‘_|I–.=-ŁU“Vx±-¦N:iaF0HĂ:3gÎ4˝Ç5kÖĘ»ŢuľtĄ/®©aˇ}űö›ĺĹ‹™ç°üđËpyúégLřGĂNÚJl é#V¬đĂ:~Ú±c§yć\ôg¤§žZ† 5cŤ9ŇLůhřJC?jÁ‚ă€L.úŢlĄ­ę3qbúž´bNuuUęgmťěÚUgÂd]µžË6sć ół±~ýz9ë¬3ňäkŔHéwŞ?«ö{ĎgňäIáż/–ţśéý>˙ü‹ŇŇŇjŢĂŚG ���€ľˇľ×˙4Ú˘���CWL���-/řIb˘ałĎK‡}28~ŕĆ3q–üëÍ/É@HÇ•DċܯçI4 -Ů�Ž}ţż»rNŃ-ľÔżţîĺÔEËübNú=Fs;Nđ^˝|ďO$ă=kK5Ď+ŤŠ?ÚÂȆ:Ž;n~§ýúŰ‹3fĚŽÝ“±OĂ6ś±xń)ťB µµµa‹/mߥŐL,}~ýl5wîśHčǧ?ŁÇs´YÖę'ĚŘ˙ /šą†,–-;]˛iŕcůň3MŘf„ńRŚľ¸¦”Ł˘ÁK·ŐÖú!4é.}7únmµ™Cµví:óÝhŐšsÎYn‚Y=ˇˇ˛çž{Ţ,Oś8ˇ[íŃV­zĘĚËËËň¶‰łęęv›ů¸qc3B?V´ŇTöĎp1lŘMĂEZŤ'ýď‚VżRúś]Uű)Äţű¦ô�������z��Ŕ€˛•fşŁseɨî%‘Ž_áyŃĎt"'yNL¶în‘˙ľëuąö’ŁĄyéÉVó‘H (rß¶L‘9:¨Xô©w)÷٤XZígëî6‘xEđ Ž©ä_8ý]č_ńÇRźéfUŇstĆ;w¤DŠýZ±ĺă˙¨YÖ N.‰„_M%»ŇÉÖ­ŰÂe­T’‹¶¶zôŃÇĂăŁÇ}ěc×yvčÇŇVMV´ÚŹŢŹýl i@Ei€IUUU¦=ŇÂ…'H±úâšZ">nĘŐ˛I?G÷i…mGŐĐРÇ—bč˝­Xń°ifiřE[HŰÚ,ŰL"uĘ)'Ë1c¤§´˘S{»˙F+uEeZeHéű.ÔćK]tѻ̻ţŚDEŽzRv_ßĺ¨Q#MU& gĺ ČiđJĂmjÎś9a娞жrÖřńă�������Đ;ţ��€AÆŞ+Ľ° –Ôúń›e9~2Ćośĺ÷ŞŇj4ć¸HĐH·ŮóL!ÄX™|ďw/ÉĎ™%#k+¤ż„ žÉńď]Âŕ’Ęńď7ť®ŃŠ<<ëůÖÇŽ“bm­k”ďßňŠ :ią#ÇĽR/.Ę H‰i9´Q/Ľ­tĘžW4,1bÄĽű›ššdË–-fyúôéűlő­“Ż“fFŽ!ÖËîÝ»Ăíú> }®ľ#hŃóŁmˇôsmE•É“'ËţýűĺÉ'WÉ[om «i%­mMVHß\so¸<iҤĽÇůű^ Ď)6řóÄOf„~ěůwÜq—üŮź}$üď@w<ôĐ#ćy5č˘UśzJnlĄ)SŽ#Źś^ôą¶ÚOEEą,Ztr—Çç ¬YŻľę·˛Óź9mA×]ú>´Mť¶wÓŞJúł2n\f ç•W^5s­Ž¤ĎŰ“Š?ŤŤŤćűÔĎQ'žx‚Ś;V��������˝ŕ��4l…žę¸V¦±7‰VČńy­żĚr¸Ç^7fZ~‰Äĺ`sBţőw/Ę·>ľHú‹ą_L xyéçr‚¨OF�Çłˇź)rý_ťŘťŹ’ď§žM+91 6ĹÂĎ·źŃéľ$¨  LE eĽO[ů§»ś~.¤á…űďŔ´Ú*+‹› 0Q--~…“®‚ş_?öřb¬^ýtŘÂé´ÓNÍŘW_ßq÷Ýwż´µµgŁcîĽónY˛ä”NççŇ׌>oˇŞ5Ń}Ĺľ#ýyĘ×L+ÓlٲUfÎś!ݡá•mŰŢ6Ëçž{NÎ EĹZłćósŁşSíçŤ76ĘîÝ~ ěä“OĘ[ ŞXZĹI«))můU(l–Źţ{ •«l Gßűňĺg…ű5ä¤1Ąˇbýď˙ţ<çv­ňsć™gô(¤�������ČŹŕ��(y™Uz<‰Ĺ‰F}˘UjŇQ• JN¤:ŤĺďIc[Y‰§ 2ůŻ»ÖËéó'ĘEK¦IĐŹv%«ZŽ Öäئ _Ľrž|±í˝ÔÍż)ż}xłHĽJ4ää'zĽt!/ö‰Ľ;óŹ ŕc*yáť…Çy^äť–¶|( ‚hĐaÔ¨QűŰÚÚĚĽ«öIv{{»C¶Ý”.tŠŠ^硇6U‹.¸ŕ<™3g¶ů^4ôňŘcŹKSSłąŽVÔ™9sFÁĎěëkzGŃ}öťvEŰWŮ`M.Úf¬;4p¤„”ľďC ťÔ××ËK/ůˇ$­ôŁpЎďů©§V›ĺęę*9é¤î…ő˛ŐŐŐÉÝwßc®;zô(9ë¬3¤§´ĺ™V|Ňđ—Vĺ9ăŚea0J+ Ů˙{ě1r¨4řôđĂŹČ9çśMř�������zÁ��0¨hȶúÉUÝG2Â'^§í~H"ˇ–tĹM˙8±˛Ôzą|öúUňĐĚ‹eú„aŇ×–dÁ=Ř FzŻf«‰ŕ¤–żő±ůň©‹gKwh‹ŻřŮZSéÇ•XëqĽě÷eďĂËČđ8A™Ű2Ín‹V˛ ¨ţ®ćÓ•+ŰH-Zt’wÜüNÇh5–ććB)Äčş-ś†(´Ý”ŇŔČůçź[đx×őä}ď»\ĆŹnÓŞ+Z5ĺ׿ţ­iÓ´nݳݪ~Ó[׌>oˇwÝWl…˝¶mˇ–Ë„ ăĄ;}ôqimm“ŞŞĘC Č( FŮVWK—v]Ézýőő˛oß~ł¬-ľş ”˘mĺn»íŹŇŢŢ!55Őrůĺ—ŇőÔńÇg‚?Z J+Ů@šmó5qâ„N-Ŕ ůřÇ?*ÆĄ˙»©?´Ó€ŮţýäöŰď÷ż˙}&p�������8t1��DüPL´:Ž™2×muś°V8ó2¦čőĚR¬L6»rĹ×MĹUs9$~ÇL¬±÷mB6&hă™?´Ť¬‰Ëżľ´ŰˇźmuŤrů×ţ$űSĎäĹâ©?ĆüS×ń"áŁŕť~Âwhß©#áöŚ{•t R¤ĎŁ•~l©… Ȳe§ç<¶ŞŞĘ̵ŐQ!vuuuÁăô3őłő4ěpŮe—äl7 ÇuÔĽŚ€Ž5zôč0ŁaŤ®ôĹ5ŁĎ[¨Ot_Wď(*ß÷˘”\÷źŹV3Zż~CxÍîÜC¶ýű÷›đ–š={–Lś8±¨ó4(¤íÝTmmŤśpÂé)­ôsë­·™ “†~®Ľňеřʦᯊ ?<´aĂf®?ÚZMĺ ǢÁĚč¤?ZaJĂ>ÚZOßÉĘ•«�������Đ;ţ��€~ÓkŐ_l†G'A%@‰VÉIptćelv"—4á'–úg\ĽXąlÝÓ*ýÎ#Ň÷Ň•rśđ>Äo?<ßü#kĺáďť%§Ď/ľň†őŃď<śz–6‘¸ţĺ~\bŽ:±Ő{ě÷â帏t«´ôÜ ÂHâĄ÷Ű÷Xj~”Ţó¬+śpÂń¦ĹW>¶şI}}i•‹n·Ui UCy饗M•!úŃ -ů*iĄkřđü•¦† «5s­Đ“H$¤ľ¸ćرcÂĺť;ó…věŘ‘óś®Ěť;G.˝ô=¦şŹ¤ôľO=u±iQV,}mm¦4pSSS#›7ż•1ŮďoÓ¦Íá¶|VŻ^ă‡áR?ßÝ©öŁ?sös–,YlZ­őÄ®]»ä¸ÝT屡mÓŐôžŽ>úhł¬a)}w›6m öý˙íÝi#éyř¨ŁďknÎĹáŚx ÉEŽx‰k‰#…$­36,{ ëĂR»ëXIÜRÄJ˘Ö±˛ÇÖ;¸˛ĄeěnÄšä®e˘DÉž&)ń4$šs#ÎtĎLÓ]Ý]Ý€ëM DVH €*Tőď§ČÉĚ7 «¨®xńÇó,e±YH!Ą»îş+ŰţÎwž(Uk����`ZZ}�»JÖ^* ť¤đIc őT&˙09ĺe˘U~tďĂűvˇ:M#ú-«ÚŤn»«Ćr¶ý™ŻžŠ_|çŠ˙ý—¶Ö&h”ĽÝŘŕáÝ�MűjüÂ[ďŽöóŻiüŇĆk˙Ň#g#šű˘Ů\‰V÷žu2EÝ÷ťîIłŰĘ«‘ż˘čuţjôEZ¤u_tď:ť6l±PŇëúă?ţ˝Ę/)ôó¦7ýĐČÇ<˙ůwfť$µiúľď{ĺ¦sŇxńü*_üâ—âcűD¶}Ë-7Ź ý$©šMŞĽ’Ú8ť<yjčyů±Ôľj\d×<tčPÜpĂőqęÔÓYk¨żówţ«MŚR€(KNś8>qeš»ď~A¶LëěŮłYp+9ţB|đznúůŔţ űýýĺ_ţ7?uęTŻNŞŽsýő×Gé|öłźË¶Ź=2qĺś\Şľóľ÷uÚ{8°?k×6«ĐOîĺ/ż7ľôĄ/gŻů±Çď… ^ô˘ŐjeWWަ1Ýóô\Óˇ�����čSń�X(u*Ć4ór8ÝŕIDôZSĄPKŻ’MÄ`ĺźÎ™˝ Mo$ťß Ľô«5˛¶XíĆJĽ÷cŹÄ/˝óS1/yč§Wĺ'˝ćV+î¸~5Ţ˙żüŔ–B?ďţč·ŁŃ\íĽ—áÉóDů»eŹ:•|Š-ÓŠgĺëV˙~ćůŞfŁW(ýßĺn ?Ç:?ăYTJ-…>üá?é…~î»ďĺcC?É]w=żWçóź˙Bś;wnŕřsĎ=—Ť'©úJU@塇ľ8úůéźţɱŠôž_úŇNĺ•Gy4[ĘţúŻż•UKIîąg°ĺ[Ş “Ĺ�Ů<®™ä!– Öz­¬ŠRŕ%+ž»[ýéź~6{˙)´ňú׿¶öăRćąç:íŕ^÷ş×öB/E—/_Îî˙™3g*ŻńÄ;úI•~ęŹ&qÓM7e–’TĄ(…ş’YţěŇ˙n}´óű—Ş8 ý�����̆ŮV�`aő*ŇTÉÚ|5{ˇ•Î:`tŰPĺç¶űçu÷ŰŤÁJ?ŮC Y“,ú“]9ÚÍVĽűcgŹ{ç/ĎľňO#ß´:UŚŤvü›ďŽ_ýű/Ťc‡Vbyč'Źo,m\5…ÚŃ+T¸_Ť|;/蓪ĺ7Ż˘eZďx;*(Ą«ť€Ds‡K˙¤ĐĎýŃgˇŠ$U¨ąóÎ;ă[ßz¸ňü[o}^8p ŰN„7ľń˛JA)Ľňîwż7îż˙Őqâĉ8}út|á Ţ µĽá ŻŹ••ÁźŃ_üĹ_Ć'?Ů ŠĄj;ßű˝÷ĹăŹ˙Mĺó¦j8Ĺę-ŻyÍ÷gŐeÖÖ.fUj^ůĘűâ/xAvźżýíoÇC}©wÝ׼ćţŢăRuť?üĂgŰ)¬ń#?ňŔ\Żyß}ŻČ*=űěéřüç˙<kg•Zt%éžça«Ôj앯üŢŘnéžľýíż8ňśßű˝weÁś{îą;~ěÇŢZyN >ĺż3÷ŢűŇ8~üxÔ±ľľŢ ‡Ąźqľ*{ď{˙˙xúég˛ŠI?÷s˙ÍŔőSëýď˙ŔƵ:­×Ň}<}úL¶”ĄßÝô;ĽégüŃŹ~Ľ÷~Óëžćš©BQţżĄ$µ{úé§ł0\jU–Ľâ/�����fCđ�Ř5RŔ$-W; •vˇ­WŁ»î¤)Vő©Hą´ű•l˘×>¬Đţ+ËÉlŚg©śĺŤývĽűăÇă'ź‹˙űţá8zhvíoZív/Čô†{ŻŹ_ýű/‰xŮŤ1Ť3ç/ĹĎ˙óŹÄ§ţęd4–ömĽţĺî›)¶kt3>yµ¤Ľ…Z¶WH@ †®6µü*´ ËĎh–Z>ő; >“H•mňĐO’*|čC4ôüTIĺöŰoëíżä%/ÎÚE}ć3–…|ň OŃk_űý›*˘¤ .ĹsSĄ–?ů“˙8ôy_÷ş×dŐ`r©ŤÖŹ˙řŹĹüÁ‡˛çý‹żx([ŠRĺ—·ĽĺÍqěرŢX ¨äľűÝďś?Źk¦`WŞbôďţÝżĎB?)X”·ĂĘĄöV霥!ż»Aúů'é=¤źw])ä’‡Ă^˙ú×Uţţ§pP ý$©íUú->ţńOôB?IŞ<4LúÝMżĂ[‘~ç?ůÉ˙W®\Íö§­ö“‡Ĺ†ůžďą'ľ˙űď�����fCđ�Ř5҇ďéôŽ4˛¶S˝ŹŇŰĺJÄŕÇě…ŁU„Úí­ZÝ‹dŘ77FW˛ÍOődĽéíďŹ÷ýÓ7Çť7‰YHďćčÁĺřŐźą7ţ»·ľ0¦őŘSçâýóŹÄW9·ń’W»ˇźĄě=dÁvţIíĐý ?ŃŻšTlź‘W>ŠÂcŁWAis”ˇ7ęŚîtŘchĄ¨ ¤J9wÜqGVÁ'…`Îźż‡ĚÚ"˝úŐŻŠç=ď–ą<oşîĎýÜĎĆ_ţĺCńđĂßÎŞ Ą ÍŃŁGł¶b©‚P óĄFjÉuţüůxík_ł-×<räHüěĎţĂřň—˙*«đ“·«J᡽č…YU qíÍY޸ó裏eŰŻxĹ˲÷[ÇĄK—˛ŞPIŞ4•îE•T)*…‰Ňď×óž÷Ľ¬Ĺ\Ń,~—&‘~V/~ń‹łV_éwcX•˘IĄ˙_‚eé7éšye(�����fŁîWŻ5Ź5j¬CöóĄYXçËRwl©´¤cGÓúňĺőĎ�0©úDúĐ9-ůvjײ¶v!Z­vÜqÇí1­afLJm§j*'OžŠŹţé—ăW~=?Łw| 5Xw»ŃhT„}C/ĺ°K4J‚˘S‘'µâjĆŐÖzÜyĂľx˙?{sÜqÓÖĂ?˙â˝_Š˙ţď˝4ŽNŮÖ+ůňĂOg•~9yqăCűúYŠFsąó7őňŠČ˙Ë ‘ ôúőÎďµGË«úOŢÚŚ·ţŕ}qăŤ7Äţýű{ăĹŠ'ĺę'UŐP¶»B���Ŕ"Hí›ÍF8p0kGžćHň/ĂĺŰ�Ŕl¬®®Ľ!Ň·Ą#Îv×WKK»»n–va]^bČţ¨uy»lě·D›�°KäĎżé`äSµcsH¨1P hóßCŤFéoŻň9íR… ¬«U3[˘ąĽ±¬Äă§.Ç˙Óâß|đ˱Użú3÷m)ôóžŹ|#~ęŽÇN]ŚfÖŢkă>5—şŐzŠÁ§v!PÓyď­vţ·é0Ĺ{Ú ýtŰ|uîggąíúýMB ř������LO«/�`WIßxJ-iŽ®®ÇŮË+Ý:4Á•v· Mł* «D·P „††+TĽÉŻK‘:eťľ°żń®ĎÇ™óëń+˙đU±Ţń{żóˇŻnĽ¶•Ť×´ŤćŇĆ+möăâíbČ)˝˙VwżŃ-fT¨’Ô}Ż•“şăĹÇĺ×íÝÇn?°Őć•8~x5{|j�����Ŕ|ůD�X8ĂÚBĄí•••8räHܰ˙bo|X—ŞV«UŃ6¬ÝÝnU>ÇfíÂcłXĚĆ:•K«Ńn®Ćo˙_Śűßöžxü©s±]Űx®7˝ýßÇżţĂŻmĽ–ô:V6^ĎňĆël”^{^q2‹ď ë„wZĄpPl®ęS¨ô“_łŃŘ\YéĆŤźIú٬®®Śü�����0‚?�Ŕ¶ÚJđ#=6UűIýÍď:ľŢMü[Mĺúá”rKŐ^€§]넊K´7·`íT·ŮX7Ý8M3«´Ť}ńč©KńŞ·˝w&­żĆů×ĎńŔŰßőČŮh§ço®tŞEdŻ­•ż‡R´vá˝QU÷©ó^[ý÷ÜčWůé?~0ôĽĂWb˙ţý˝ţóÓ�����¨Gđ�Ř5R $…JöíŰw߸”wť*/€ÚA—~€ĄŐmsŐ=ż|IŹďU˛¸vżN#úAôźvŁíćr·ŐÖJüú˙ůąxőŰŢŹ=9űę?©ĘĎOţÚ‡â7Ţőą8łÖŽV:ZÉ*ĄŔOúżTĺ¨Y¬ĆÓ 1 ĽßÎKöŹĄítťâűOç¤6kU~:·)Ď ˝ě–«˝ź������ó'ř�,„QU^ŠÇRĹźĄĄĄxŐÝGb_ójôŞň´+ŞĐÂ.ý+´·ÚcyPfSŐźŕP;z‡SřgăOŞvc)bi5k˙őŘÉ‹ńę_xOüö»˙<fáĚůK×úBĽúmď‰OőäĆsv[{5—;ÁŁîźtýjF…{ŃMçd·˘ű®‹Ő~˘tŻ:•ňÜS^ý§Ń Ea<ť%ýßá•Kń˝wîËÚ|ĄźQťŞ=*ű������lŤŕ�°†…BšÍf>|(nĽńĆxĺ Ď ~ňKżşM7úŇîWőÉŹgŐnzŐ~şÇş‰—v”[‡uĆÝcyU ü%ćŐRĺťNë­Őlůí÷<Żúo˙mĽç#ßi}řĎľĽý÷ă·ßűĹěšífúYĘžŻűfűݱű^ůűÉ«LŤŘÜĆ,żWů[iîg´[Ý T?ü“ďçŰwY‹[o˝-kő•~F˝ŰVř9 ú������Ě–ŕ�°«¤đČÁăć›oŠ×Ţv!VšWşş'”*˙ô‚,YĐ';ˇ~é?¦ÝŰď·Ĺ*žŰŔô[†mŞ0´ń fs©×ú+µáj5WăńS—âßůÉxÓŰ?Ş~űŻĎ|ů‰řÉ_˙`üŁ˙í#ńčÉKťŔO E'đÓî§|^S§ O7“SlůU÷ Ľç(´/‹~č©;ŰĹľa˝űPľ—?xçsŮĎäČ‘#>������Űd9��¶Y † ´›3^<–Ö©Ő×ŃŁGâEwß/ţöÓńW§oč=®QŮÔÉ+?)»V;ŐľiĺOĐżl.öS,Şy<¦7Ţ)‘łqĄV÷:il)˛ŚuŞ~ÓnĆW=Ż~Ű»ăgxaüĘ?¸?îĽůHTyě©sńżű™řđçí\ٱíF§ĄW#»V§^OŁÝ‹đlĽŽF·ĄW˙ő^gwżxňĘ>ůëîżéîŃB!¤<T¸›¶_rětĽčÎëăŘ±Ł±˛˛Ň ţÔmßVg�����€Í�€…5,”‚?ÇŽ‹{îą;Ţřő‡ăgŽÇz{iÄ•:ˇ–,đŇ.†‚ZYhf ôy… <0˝vZťâ7ݰL Ţä›<ÓŽn­~€ĄťUčI׹Ťf#Ţó±oĹ{>ňźăüđ‹@źţňńo>řĄřđçëV ZÝxÜňĆC—6–fţ˘ďOď}”ŞöäyzzZQ¨aÔż+˝÷ŘęnÚŤóň`Q??#˝®tŤ×ßz:^řÂű˛źIúŮTč�����=Á�`×I!’ĺĺĺ¸ĺ–›ăĹ÷ÜŻ9u2>őÝ›;!žnPĄsâĆ^«Pń¦=é‡YÚýŠ6íBeˇîÉť M' Ô(śŰÉ˙tĂ@ÍB(§ĐÉ[m5łpL¤ŤHmşÚ­4¸ďůč·â˝ýfĽě'âÜůőxě©ç˘Ý«đłÔ­´Ôkş•ţŰęľŢĽÂO1U¬pÔ«�TĽgcí(Ý‹n۲F!`Ô(ö +†ŽşÉ t_ľ˙†“ń˛»oŽŰn»5VWW|������¶Q3��v@ÝVOĹýâv ţ?~<î»ďńw^Žç:y´%R˛^˝°O?ôS¬öSÜď<Aňéi·ZŃo¨ŐîUÖilzL±ő×`ŕ¦Ý 5;Ź^ZŤvs%[ZŤ•řň#çâŃ“łíčŽÇŇJüi,5:×ßxx«űşęö´ŰÝç+=g´űáťFż9Ůŕkďś“~˘P-¨ű¶˛{”îAۨĺŹŮX®_˝oĽý\Ľěe/Ť'Nd?“ŞźŐ¨źiťq������Ş ţ��»JIë}űöĹí·ß÷ŢűŇxó]OǡĺK‘W­éW˝)ÖÂé‡\ňv]ť0L!@Óč‡|zˇˇŢyŤn•ź<”/Ń­ňÓ®M»űźFçěFs©ňi¬D+ĄbŚ©ŇO;+­Ţ5űˇśü9ň8OcŕIĘA v§ÍW»=řţóăť‹F1•WĘ«őÚžőîçşGV×ăďÝőÝ,ôs×]w©ö�����°�€…S·BLłŮŚĆ«^ő}ńÂÜ?u×cqdůr!˝–Ty'ënä!–Ľ¦ĎŔ9ĄĘ=Qŕô‚8ť׹~Ł_%'zë~p'Ż¤Óąn#«�Ôhv>Ů’ö›Yć'ŰQ~ŠŻ¤2*ľÄ~h ”ż¶Â{j”Î/‡Š÷¦ŃČ«(uÂKGV.ÇOÜůHĽđŽăq˙ýŻŽC‡ĹŇŇR˙Ú#Şý������0;‚?�ŔŽ™6RnůuôčŃxă ľçöńw>GV:•Ú…KzéTŻ© ăô+ę´ŰŐ~R'o‰UĽN§íU«_%¨[%'Ż(ÔnV×ÉŽgAˇ~Ő TŮ'~"ŻPÔŽ^)"úÁˇVzl^Ő§ŐŻ�Ô_WTęŐ)ę߇^§˙şóçęW÷é_»XečđŇĹřńŤ{ü˘;ox k·–ŞýTýlĆýěęŚ�����0śŕ�°ęVýÉ[~ÝxăŤń#?ň#ń’Ü?~çcqÇg{múˇťVwż[٧[ɦXĺ&Ď[eĎŃ;·ŘZ+˘Ř,żh9쓇úÇ[ý˛B˝ŕQ˙Zůx1ÔÓ{¶€O÷uç•yÚĹj=Ý7Đ.{ň÷Ó˝ Ő„Úy7˛Â[ďż˙´}ËţłńĎ<^ś…~Ţ7ß|sěßż_�����`‡,�Ŕ.‘WË©ÚN”›oľ)«BÓüř'âŘľÇă ß}.ţňôͱŢ^é]Ł‚‰öY˝cŤňÁv·P9¨°ivZ`ő˛9ůă»ŰyWŻTs§Qµ«�E±mWˇ*Цóóç|Ń…€Qô[›ĺ×č˝ÜVž^꽟ţý‹^UźvţÉßÇĆë^n\‰ď;ńdÜËsqűí·ÇýĐĆM7ݵY›¤­— �����Ŕl ţ��;Şŕ™äXůřŇŇR>|8šÍfVŤćK_úRřĆŽ»O=ź?u}|ëüőůŁ˘¨‰cý�ÎŔëČ«ĺ Ľ¶ŇąĄj>íÁ ÷ĘętžµűŢ)íç|ž!÷ŁÝŐô<íÍ÷o`; mÇďe»Ýż·ě{.~đ–'â¶ëöĹ÷|ĎËâţű_×_}:thdč§nŦqÇ������Nđ�ŘUĘa–rĺźd•^˙ú×eíżľöµŻÇMÇţ6ľűěSńçĎÜO^:箬fUx:ʉˇá˘~‹°ÂóôÂ1©ŐVŻ,Î@;­^§Ąň…»-Ă…çŮüÜíh—:řśý×?üĹsű÷«!˘âş«Í+q÷Á§ă%ÇĎÄ'š÷óyńň—ż<îąçî,\•îń$ˇ������ćCđ�Řq“VýţIR0eyy9î˝÷Ąqë­·Ć׿ţőxě±ÇăůgĎĆąsOĹŁgVăo×ĆĹłëb=ű“¨dÉó=…VXYX¦PY'o‰U¨ŽÓŻ S|˝…jBýë7Öťkô9řz…Ç· ăĺç*?g{ŕyËU„VëqÝꥍe-î:|.î<z)>ÇŹßĎ{Ţ-YčçşëNdíÔVWW'ý¨ö�����0‚?�ŔBeř'mݬ¬dŐiRPĺčŃ#ń’—Ľ$~řáxňɧâ–Ó§cmm-.]zfcą×qúR#.^iÄąő•,s©ŐŚőÖRä::ˇš~• Fä•s:ů•buťaá›ĆŔX  f_Ęa â{«zmĹçíW÷ifϱҼűš­l{ßR+Ž®^Ťc«WâŕľF”:pŕ`ěß]vßîĽóޏăŽ;âřńcYŕgßľ}Y;µY†~������ŘÁ�`W&ü“Â,)¬’Ö)¸râÄń,čóĚ3Ďn,ĎdË™3gł±Ë—/ĹŐ«­Ťĺj´Z),Ó©Ü“6óýŽvE§]¨ÔŞĺô[Š ¶Kˇźvá57®›‡‰ňjC}Ő©Áńôŕüq­ě>4›+ŮxŞŠÔą/ů˝Ůź…ŁŇýąé¦›ł°Oş_)<•‚Séśq!źi>BA������[#ř�,ŚQUę>¦Ŕé€Rx%…XR¨'Z<µ°JűiY__Ź Ö˛uŞ”\ąr%[’Nđ'äçTť[¶]~íŁ®_>§ęąÓv ú¤ýöI÷!Ż”*ů8Đoß•>ů’¦¶RŐG‹/�����€ůü�vŤaÁ şŐ€ňPK ň¤%OÁź´>věXo,_’ňşîkĘŹĺęĽîŞ@ϸ÷5LůZůőňí´ä ´..ĹóË׬36j�����€Ůü�ʸ`ˤ៤<ž\’*ŻşvylŇŞDŰ­N@§¸?,č3ęzÓŚ×=�����@=‚?�ŔÂŮJř'©�ĘŹ kąµ×MĐŮJ /ˇ�����€Ůü�RťđOR·úOń1ŁWeŃ+üŚ3IŘfa IÎ����� >Á�`¤qśť~îI«˙”ŹŹ:§ęÜ˝h«ˇˇ���€ů0§�Ś#ř�T*jvj’ˇnř'™¦ĘOůśqçîu–ł ô ���Ly>Ĺü �0Śŕ�°đęVÚJ{°açÖ±Ó!ˇYOüĚ2ĚcR �����`~�€‘i{qŰ~ĺç%u@ą­wv{¸e’×?Żs���ČőçTĚŻ��ăţ��›T…lĘ-łvbҡnř'?7™¶şĎ^mő5íĎmŇÇ™”���Lq>ŞjnĹ| �PEđ�¨-ź\hµZ±´´;a’@OńüIS~ܵjš{ŕľ���L'Íą%ćW�€I4� ¦fłó§Ă•+Wc§MJÉŞm幯����ÓËçÜň98�€:Tü�jK“)ÜqńâĹŘ·o5vÚ¤ŐŞ[´WŰ{Ť2‹°ŽŔ���ŔÖĄ9·4Ď"ř�LÂ_�ŔXy|ŇáÂ… ±HfUŧXí¦ĽěVŁŢÓVß—ęI����ł“Ďąĺ_ľ3ď�Ôˇâ�0Tš\(VÁéL:D¬ŻŻg=ÇíŰG[©�T÷Ú¸����ł–ćÚŇśŰŇRsÓś›ą�`�€‘Ę KKËŮŘÚÚZ,Ş˝P©gѸ§����ó“ćÚŇĽKš{+2�Ś#ř�Ś•—N륥ĄlěĚ™ł±¬LĎ˝���Řů\[š{+ÎĹ�Śă/� R9đ‘ď§ ‡´\ąr%.]ş»I1Č"Đ2Č˝���ŘiŽ-͵ĺónĂćĺ��Şţ��#UM4,/wÚ}=óĚł±ŰU^öňDʵö~���]šc+ÎąĺĚŰ��u,�@IšPh·Ű›ĆňŠ?i"} i}}=.\X‹Ä^cR���€yKskiŽ-µřJsnUrć«�€**ţ��C'ĘbVVV˛őÉ“'ŁŐj����P_šSKskĹą¶r…fU�€q�€±ŞZCĺßBJۧNť ���� ľ4§–·řJsmÚł�Óü�*żUTËŰ}ĺßDZZjĆÚÚĹ8sćl�����㥹´4§–ćÖňj?UmľŞćč��Š�€±ŞľmÔoůµš}#éôéÓqţüů�����†Kshi.-Í©ĄąµQso��ă,�ŔirˇÝn÷ÖůXŢę+—ľ•”z’ź:őt¶čС�����ĄĐOšCëWÓ^Ę*ý[}ĺTű�ęPń�¨ĄęGyůáη“:%‰ÓÄĹ™3g����čKsfĺĐOąĹ—j?�Ŕ¤Tü�F*VýÉĄÉTá'źHňŕĎúúzś>}&.]ş7ÜpCď8����\‹:•˛OĹÚÚĹl®,ÍŁ-//gŰĹĐO9�”��ăţ��µC@Už4a‘‡ŇDĆcŹ=7Ýtc<x0����ŕZsáÂ…xę©“Ułóö^ĺEŘ�†ŕ�°Iđ©ÚŻŞöS~lż|ůr\˝z5Nž<•Mh\wÝu±˙ľ����€˝îâĹKńĚ3Ďd_Kse)ěłşşÚ ř ýçŰĘ � JÝŕOú¤Ď_�p «ţIűi<Ů·o_\ąr%[ŇÇ“O>™Mpś8q<8 ����{Jš[[[‹gź=ť}!.Ióa©Jv^)»ô™$ô�\“ÚuNRń�¨T®úS« ˙ämŔňíĽtq ţ¤s;ý̟Ύ§c‡ĘŞ�ĺ=ÍMh����°¤ąŻ4וľô–Şűś?>›Kň¶^iľ+Íĺó^ůxľ=IčÇĽ�0Śŕ�0TťđOľť&-ŇdGľźO~ä“i?}Ó)M†¤í´>sćĚĆ›žŁxŤâ����¶S¸)ŻËÇ“<Ô“ľäV řC>Ĺuţřâ5„~�€I-zđǧ|�°ĂĆ…ŠĹ P^ý'�ĺűiŇ#Ic)Ôi ÖŽü)ň°P~ŤQ‚����…qášňXg,űo¶źWřÉĎ-~ŞöË×ú€…µĐH©ř�ŚUÄţÉ'.ň°O±ýWq,źÉĺăĹçě���`TÍU…vŠźňąĹÖ^Ł*Uí� #ř�ÔV®ţSĺÇ‹“Ĺö_ĹÇw*ýDeЧ8–ź����;!źçJFUę©jßU {l‘Đ�0‰yҧuţ*€=h’Ö_I>±Q¬č“–ĽÚO1ěS*¶���€í4,¤3Ş]Wą"PÝ*?ĂĆ�€=c.xÍ»âŹ��ěAĂZdžM\”>U×*���€ťVn핏Uř�Jćú—V_�ŔÔ†U˙IĘ ´Nm»ŠűŁÚ|•';F…€„����ƨŔͰcuZvŰŐ˝�Ŕ4vCđÇ'y�°Ŕ†Uě©/·ýŞš© Ź���Ŕvň)ŽORÍÇ|�ě źYQń�‰Şę?ůxRń”Ç«*ýÔťüPń���€il%|3¬•Wůř¤Ç��&!ř�Ḛ̌ę?ŁŽ › )‚ę</����ĚÚ¸€Ď°ó'=�0Ťť ţ¤Ođ&ůËfŇó€4¬úO~¬hÜyă&CTű���`+¶Ć™E �XH“~µ#Z핊?>ń€3ŞúOŐyąQç ů����0kŁŞWW™4Ŕ#đ� kO|đ¤Ő�0Wu@ŁÎř���`;ĺóQUˇťt¬NGŕ�Ř‚?�Ŕ¶¨ �Ő ô$���`‘”絊óWć˛�€í´Ű‚?í!cţ‚€=Jµ����v’ �ěiíšc k»‚?ł ç´K �° ë•^§đ����;ˇ<UŻÚNFµ �ŇĽr(Űň—V_�Ŕ\UMŚ ň¤ÉV«“\ ����f­Şm}®ŮlěĎ)†}€�€í°Á­ą�ŕP'đ“ö«Ćę^oÔ8����ÔQĚIsNĂ;ĺ/®ĄóĘA! �¸fműW*ţ��37*ô“Oڤý«WŻfűi»8^<����A^é'đ¤ý´ťÖKKKăUÁˇQa"�€iÍ:řŁš�\ĂĆ~Ň’Â>W®\éŤ×ĹÇŰ®űĽ����0θ NUĺž|<˙âZ~NZ///g! ţ)…Š×�€kÚL?ŘZ¤Š?Óľ1źôŔÖ˛+M€¤ O ü¤%O űö­ĆĘĘĘĆ$Hš iđ����`WčT°NËŐX__ŹK—.gs_—/_Îć¸ŇÜWZRhX�Č\�,„i2'íX ¬Ę˘Š•‚Úc�Ŕ‚Vĺ'Żî“&>Ň:I“‡ŠŐŐŐŢ„����ě6ťpOZšŮŰ<͇ĄŕĎůó˛/ÂĺK:žWRý�v­vlü,Dřg»?UažQź…JI�ŞŞü¤ Ž´Nź´¤ýôͦ#Gg“����°Ą`Ďţýűł%Í‹ť;÷\ďKqi^,-)äS�ţ€…5.·Ň®967;]ń§nUźV÷ĽvĹ!�ŰŞ*đ“/)čséŇĄěŰLi˙رc“ű����®)äsÝu'ââĹKqćĚ™^uě}ű:ód)č“/‰ę?�°#Š™“ŞĄ5áuvÄ,‚?ăÂ;łlŮ5*ôŁ5�lbč'ßΫü¤É‹úIëôͦTĺGK/����®Ué q««7dŐ.^ĽÍŁĄđOjý•W˙IŠ á�ŘU™“Şv^łzžiŹŹ5É'q“>Y{ÎÇËç] �`®Ęˇźrkݵµµ,ôsřđˇ8vě¨Đ����׼4G–ćĘŇśYš;Kshi.­8·Vőe;�`®ňŚÉ¤Ů”yźúüíü4n^Ąd×m·[g�‹ŞÉ‡â’&*RĄź4QqôčŃ8tčP�����}iÎ,ÍťĄ9´4—–‡ŠK®Ľ�ĚV!c2×,ËvŘ©ŻáOóŰ#ĆŰWݶź �`ćĘ ĺÉ+W®ÄĺË—ł ‹cÇŽĹű����Ř,ÍťĄ9´4—–ćÔŇÜÚ°đO"ü�óŃÍŚjë5Ë\Ë\Í#ř3íi×\Ęç¶Ňz}ýŇă�ĚÔ¸ĐO*Mś&(ŇúČ‘ĂB?����0FšCKsiĹą5á�Ř^ÝŚI/sĂ3)ăň+“šů?ě;Qń§]±ßqĽ¬|ÓÓ~ś;wîŻ�™qˇźô­¤TŽ8}+iuuU{/����¨)ÍĄĄ9µ4·–ćŘŇ\›đ�lźBƤ22B9ßŇq|[ěT«ŻÜ,ŢđŐtťŻ|ĺ+ß �`nʡźôM¤|Râřńc����Ô—ćÔň/ץą¶rř�źnĆ$ý{5¶nG˙ážUđg\Ďł­ĽÉa ©´Ő>řµ��f˘<±&ŠÇŇ’—!ľîşŃlît–����v—4§–ćÖň–_ĺŔOqN.€ŮyđÁ‘gLŞZ}ĺ¶ŇŇ+|q=ěř–l÷§tuZz ëŤÖŠęţji˙ę'>ń‰ç®^m}6�€ą(~Ű(• NËňňrěßż?����€ÉĄąµ4Ç–Ď·©ř�ó—˛%źřÄGž‹NµźŞ JU6eX8(W'3“ćůâęô>k—ÎÍ—+iđ‰'ţć�ĚTUµźT~8­µř���€­IslĹ9·QU�€­+dKRÖ¤*ĐS'»2ďüLmóŞřÓžđř¸ýqŇŁő;żó;‚?�0i˛!ď1žJ§eii)VWW����^šcKsmůĽ[q.�˝n¶$ĄkŻ”Í;ë2—Ü1ąFÍńFĹxŁ4^Ţ®Zš…uZ–şűKĄĺĐƲüÜsç˙éĆH7�€©ĺ“ ů7ŠňɆ´\şt)ë9~âÄń8pŕ@�����[ł¶¶Ď>{: íŰ·/šÍf¶4ťŹŇŇv’ď�ÓŮřśë?9rřףú9ťv_Ĺ%oóUl6ŞíWąsUy;JăQ15Ç+ͲâOÝ4®<Ň$%”Šçݧő§?ý©�0SĹŢâ©×xú§7M@�����[×™këĚ˝çâ�€ŮúĚg>ýţ(dL˘:Ł2,łRu~DýŚKťń‰Mü™Ő“OSň¨¸“UiI?”ÖŹţčŹ~ţęŐÖg�Ř’|bˇ8ÉWýYZZî}Ë����Řš4×–ćÜňů·¤8/'�[—˛$)S…ŚIŚ®ę3ʤ™—ş&ľÎ<?±k׫W*)*¶Óů—Óö'?ůń˙'�€-)O&¤ýÔc<9xđ`�����ł“ĎąĄ9¸Şą9�`kşY’ôŹjĘ–ä™”ę,ʰâ4E“Tó™Ű?ćłţLě¶=îTUűÉ·óŞ?ź[[»đˇ��¶,˙fQú¦Q'ř“Ú|­����0;ť9·Î—ďŇ\śv_�0;)C’˛$1Xí§*w2,ĎR•y‰1Ź5>•ťîŃQ÷† +§TNWĄO#/¦ý|đ˙ŘXŻ�0±â„By»ŐjÇŇŇRě&Ĺľč“,����°]Ňś[š{57�Le­›!I˙¦LIĘ–”»PĺĆĺTŠçUmo»FLŻQsĽQ1^+o—÷›Ąuľ]\–JëËęC=ôć{ď}Ů˙�ŔDŠß(Ę·Ó7Ť.\¸­o»íÖh4¶ňgÄ|Íkd‘ß3����»[šÓúÎwžČ@©íWZ§ů¨fł™­óm�`2_ýęW~ó•Ż|凣Óâ+É Ë×ĹĄÜŢ«8±9TŢŽŇö\+ÍăŻöĆ«’RĺZ>ŻęőcK?¸łgĎýŰ��¦’hĘp5�3ďJ=*���0/Ĺ9·âü“y(�^ĘŚtC?)O’˛$Ĺö^ů±9ĽSűDĹy[ËČĚÄvĂǕ<6VU2©*]Ąý´\‰Ny¦Ö 7\÷Ż®\ąň‰��¦–O.äŐÍNq����ĄĽwľ �L/eERf$:9’”!ą›s'›s(­Âe†µűš6 3s[ ţLóâ†ÝQUÚCĆZQ]í'/Ătą»\}Ë[ŢüO6ţHz(�€-ZĚĐϢ(„‚����śą$�ŘŞ”IY‘čdHRvd=ú­˝FeNrò*UŐ~ę„‚Ć™ú€ĄŘšĆÇ㍊ńFĹ9U×®óŘôi>ňČ#Wžxâ‰O˝ĺ-o˝ŻŃhÜ�ŔHĺ2Âyxe}ýr¤ˇcÇŽĆN»–Â4‹ÚZ ���€Ů:{öl6´şşš­›Íf¶..�Ŕh)ôóŹ˙ń˙đ+ď{ßűNG'đs)úEdЎźr{Żr‹Żň±(ě—Őí|5s[mő5ĎŞ?ĹíQŠÇŻĆ`+ígĺšŢő®w=ó–·Ľů—µý€ńŞB5‹VYgV×Ů yT���¸¶,úü�,Ş” IŮ”‰NkŻ”©Ę’ł&“Tü)oďhµźd±ŕYTýÉ×Ă*řäűÍŇXŁ;Ö,kV,©˛ŃţŤe%í?óĚ3o?|řČĎ�PéęŐ«Ů:őĎ—4váÂůŤívÜqÇí±S¦™ŕŘʤȢ‹Ę·Ľ����öŽÇ˙›h6qđŕˇXZZĘ*ţäK’Ć�€jĎ=÷Ü˙{Ýu'ţUtB<©ŇOUč§ň)ď—Ă@ŐŐbČXÄt -¶ZńgÚĐ3^•˘JŞJ*ŤúÁÓZkŃéŰÖşîşëţĺ7ľńőßčŽ�{Ô,*ä,zµU€�����€kÜZĘ€\w݉ťŚHʆ¤<HÝĐOÄčĐOö#Ćg^&±ĺyfüeT‚©]c=l»ř¨ţ]-¬óíµîŇzĹ+^ńáßüÍwüôĹ‹k�Ŕ®P7ŕ2Ď0̢€�����€kMĘ|¤ěGĘ€D)y‘|]ú)Ž×ɬŚZ—·«ögj–˝!ę¶ü·=¬őWŐv±˝Wľ_ËĎ]*Ť/G§őWo|ä#yÍŢđĆź_Zjľ6�€…lőU'Ô2ěśsçÎEy۬´>tčPlĹ"´ŕŇ ���`wŃę �ęązµőŮĎ|ćS˙×˙đ.:ÁšôáVjíu%6Ť)Vň)"6žř©öŠšÇj[Ží—^xŁb{ÔńüÍ–·[Q8Jý¤^ţ×ĎŐŠkťßXV7–}żźÝX.€^űÚ×ýÔęęęß �`al%ô3é9ł2‹çÚjp§ř„€�����€ÝîňĺË˙áłźýł÷?iąťö^y�¨\Á'Ź^í'b|ЧĽ5ŹĎŐ¬?Ş[ő§Ľß`=l»Xő§Q+îçcKĄăű˘‚ĘÎýµ_űµßö¶·˝é–[ný!U€�¸µZyĹźö@Ĺźµµ ŮŘm·ÝŰi\fŘń'ź|*;öógŢű––buy)ö5ÓşËÍÍO×7ţ,Ľ˛Öő‹Ťxç­˙u–ąá†˛c{­‚Ź ���ŔâůÎwžČ*ţ8p°Tń§3—ÓlŞřŔµ'U÷ůîwźřřďţîď~ěÁ<ýPOŞîs)úAžrđ§Xé§UÚŹMkŻi[|Í, 4ŹO|v2üS^ň`OÄ`«ŻŞv`i;U�Z)ŚÇ<päďxÇK_řÂľäčŃŁ÷¬®î»căs˛[Ťć±č´ ó©�{N ţ¤,M ÍäÁź+W®¤>©Űü™6ô“ĆSđ'™Eđ§l§3óx~a ���€ť•öď?ËËË˝ŕOš·IS7‚?�ěQéĂž‹ívëĚĆÇ;ß˝|ůŇăgĎžýÖ7żůÍŻ˙ÖoýÖ×>úŃŹž+ś—Â:ëŃ©đSó”C>Ĺ€O9 4MKŻ… ý$‹ü)îOţ©«ŞôSö© ĄżšVşëĄP*ßü)âćÇNÂ'p�������ŔN™&¨2ę1­Ňyă5W»ËzTWô)·őŞjőUÜőĽÓ„~ęě×=6±y…J¶Ző§¸˝•P9ĐQÝţkŘyůz©°Tµ+ü*ö�������Í$ˇ•VÍńŞ\W K«ô¸aŐ{ŠFť1Ű ?;úIć0ŮîđOľ*Vý‰ŘŢ© ţ4Ć\żYz˝ĂŢwÝ{-ô�������,Şşá•öńâ±Véüa­·Ęžâńň±rčgÔő'YŹÚ®ÚŻ{ljË1?é7j+îço´Q/®ËĆ/j•Î/^ŁŐ?ÜŞŕOůµGŹűÁ�������`÷›4řSŽ© ţŹŤ ţ÷ËŰĂ–łđő>Fí×=¶%Ű2™¶ňOq–U€ę.ĺçmÖŘ®ózÇü�������ŐV‚?Uc­ŰĺNť%bvŐ}2ô“lWČd’đOyl«ˇźŞuUp§n‹Ża×÷šËŰŁ˙��������‹fŇĐϸíqˇ›q-żŠëâv{FëQŰŁĆꛉí 4&<^7üS56i5 bp§neźQžFŚ4Ť#ü�������,ŠIB,Ă2Ł*ĺŚj6,ÜSUágšő¸±ňvŐ~Lx|&¶;\2ëđOq{š@P2¬ÂOńXůř°ó‡=GT�������ŘkÚcƇ…mę„€FU�ŞzŽ:źşŐ‰bÄ~Lx|fv*„2IëŻ:a i+ĺŰĺPOsÄyŁöcÄńqnC�������Ŕv™&Ľ2*ô3IµźŞý¤UqΤˇžIŞüÔŮŻ{l.v2L2Ďę?Ĺíşá ćë4G\TđgŘبńş„€�������€YŰjpe\µźacĂ<Ik‚ńYVöYŘ*?E‹ ™uőźâö4Ç57îµ «sl+„‚�������€aćP™´NU°¦NHgšĘ=“„ęě×=6w‹™4 3®ĹVy{šjA“<¶ęqĂΉ Ž�������,şIŞá´Ł^ ňv;ęw¶ŇĘ«N@©î±m±hÁ“yV˙™ĹvťŕOť±:Ç��������v­Vű)Źm%ä3ÍvťýşÇ¶ŐR,ž­T˙)ďoe»J;†'Ď„x�������€kŃ4!™Ş Oťv_ŁŽÍ"đ3l¬Î±m·Ča•YU˙)ďOÚ&lÚýac“�������Xt“´ú66Éţ4A iöëŰ1‹Xń§h^Ő&9Vg�������ŕZ5‹ŕOŐŘ<Â@UűĂĆęŰQ‹üIfţ™Çţ$c��������{M{Ęsfţ™fŘXťc;n7’iZfídŔ§NčG0�������Ř+ćţ©›wŕ§Îń·[‚?ą­V˙©›Ő9ăĆë�������Ř­¦ ÓLö™öśacuŽ-”ÝüI& ˙ ź6đ3Íř¸c��������{É4Ášşă[ ÷ě‰ĐO˛?É´UućŃľk;*ü �������Űm!yV�šdlÔxÝă g·’Y†f9>îŘ,�������°¦ ÉĚł Đ´ăuŹ/¤ÝüI[8gÖžI‚;B>�������Ŕ^3Ix¦=ăcÓ~ęžłv{đ'ŮJřg^Ǧ9�������`Ż©Ş™uhܱIÎYX{!ř“›g�¨ÎńşçĚóń��������ó¶Ő°Ě,9×tŕ'·—‚?ɬŞđĚ#ä#Ô�������\+& ÖĚ; 4Íy oŻ’Y·ŕZÔ–^‚D�������Ŕ¬lwfÖ!ťk.ô“ěĹŕO2I(f^çÎâq��������»Ő´!›I7Żsw…˝üI¦ Űě¦ö]ÂD�������Ŕ¬ěd(fmÁfń…·—?ąí�Íúń��������{ÍVĂ7?%×Bđ'ŮJg^!á �������`ŻWŔf+×ÝÓˇźäZ ţ$ł Úě��������ĚǬÂ:{>ô“\KÁźÜ<‚;Â@��������“™G8çšüä®ĹŕOn;Ă:‚A�������Ŕµf;C8×Tŕ'w-rB9��������»Ó5řÉ ţ �������Xl×tاHđ§š��������Ŕbř)ü©G�������`{ úŚ!ř3=a �������€Ůň™‚ŕĎ|������� î™1Áź˝CŘ�������¨Kg�������€]¨��������Ŕ®#ř��������»ŕ��������ěB‚?��������° ţ��������Ŕ.$ř��������»ŕ��������ěB‚?��������° ýHqrś>\����IEND®B`‚����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/screenshots/search.png����������������������������������������������������0000664�0000000�0000000�00002505062�15234476640�0021613�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��ţ��¦���#Xć´� ‰ůIDATxśěÝ|uúÇńgÓˇ#)*Ř�EËÝ©çŮ{;{ďx6ÔŰßłś˝ëŮ»˘¨€`¬¨ HďBRw˙űLŘef2ŰKvłź÷ë5ÎNŮ’ČnžŮůÎóË�������������i'K�������������¤‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@Ę´.�����������ŹGö‹$żW������������+ÂFqF@%züî������������âPPŻ„‡ß�����������@r @‹3~/������������©… +~������������©Ť�Đf]ř������������¤«Śerč%™?;á"�����������i’ĘÉČ�P&Rń3ě�����������L"Â:�ʤŔJĽ~VB>������������‰ŻŕNF€2%ÄËĎ™¨ß"�����������ĐR$*hËă¶řđO&„O˘ůcý˝ę�����������°Š5Íý[tř§%T’řiÎßá"�����������/͉ôą �mÖRĂ#‘ü\‰Ú7÷�����������HWцm"ą_˘öM -1îĎÔ\űĹ a"�����������/ÉĹ„ű|͵_Zhiá‘x…tÂyśt ����������� ™1|—'Ćí‘î—ňZR%Ö°Ns„â}�����������€D‹58“čO<?-´„ I"?±…"Ý����������� Ą‰GžDl‹dź”•îˇ”XB?‘®Źe[,ű�����������¤HB4ńóDş>Ň}RR:P˘š+ŃëCm‹ç}������������šC4a™dz˘ �Ąeř']Ă&ń ýIJ.Řúp·‡P�����������H¶x„a˘ ÜxâĽ.Řúp·§śt ”DÓi'ÚpOsw�����������HG‰ěî“Č�PZ…Ň-Śi°&ÚpO4ű„Zîv�����������€t•Č?ńÚ'Đşp¶Ą”t ˇD¦qĹy9ÖuŃě�����������<QîíşX—­‹d{łK‡đI¬]~˝Éşhö�����������He‰ ý$z9Đşp¶5»TžÄ3ôí¶p–#YÉv�����������€TMçśx‡~˘Ýl]8ŰšU*O" ýD˛ÜÜa H¶�����������¤şxň‰G7 p¶5›T ž$ŞËO¤·ĂŮl{¨őˇ¶�����������¤h3ö€NĽ>ц­ g[ŇĄZđ$^]~u;TĐ'Ň®?�����������@ş‹4(jťGâî‰W7 p·%UŞObéňN�(–O¸Ýě÷ ´ŹD°����������� ŐE2Ô—G ţŘoÇЦ{P°uálKŠTž$˛ËO4Ű]aŢ/Ôk ´.śm± L�����������ITX%Ö®?ć`O° O°}˘ �Ąm÷źć ‰DÚ 'ÚaşB…||˛<NVǧD°>\„{�����������@ĽĹbńD°>ܡ˝Ü¬ö‰÷P`áö„h®�IĽ»üDşÎ)Ŕăö ô 5äX<?„}�����������@˛Dd ü 5ÄV8A ·Ă>‘†}"éÎr¸Ű"Ůa’Dvů‰$đ(äcßnďö(ř*x$Ű�����������ZšP]o‚ÜAöÖů'ť€ś–%Âíq“ĚJĽC?‘|‚ÍíĚaź@·ŁíöÉ�����������H‘„Y íI×wŰiÚő'Úy¨uöŰNËáö¸HV¸$’ˇ˝ěëâđ1Ďť=öą˝ŁO¨×ę5ŰoCč�����������¤špĂ,ávŃ Ä ÖáÇ>7ßöÄiěv°uál‹‹dL" ýZŽ5ü¨ĂO°ÉţĽáv˛ßĎi]0„~�����������@ŞŠ4üŞ«Ž;ŚŰö�P8“HlÝ€­ g9Üm1KtČ$žˇź@ašp?N“ą»O–í~Á:˙ Ů·9˝žPţ�����������€TKđÇ·(ř,¸cďćăv¸*hNč'%Ă?9’8ц~âŮÝÇĽÎî1‡|˛îî_ö€}»Á�����������î" ţ8­7osŮöüńíç ůd‹sČ#Ö0Q ×ŕ2ÍCm÷8ĽN—4ý9ýĚÁ¶Ĺ$Q!“d‡~ÂéňcôdIč.@ćy¶i Űý$ĚőN˙�����������€TIxĹćz_xÇmÚŢ`šÜ¶űëîăc?‰i(°`·ť–ĂÝ•DL˘ ý—c űřnŰĂ=Yëť@ľ O®l ű„ $úË.šß7! �����������Đ\˘ «»ŹÓĐ^"6ľ�Pťl 9~ě·Ýö öĽŃ„€ÂYw[ÄR)řmč'T—{‡ž, Ę“ĆŔŹo˝Ś9˛Őő×_?`›m¶é_ZZÚ7//ż‡Ë%ť]®¬ÖŢÍB0����������� Z„©öxÜ<YQ[[ł¸ĽĽü÷yóćýróÍ7ĎýôÓO7šöÓđŽ€j%pŘÇ>Ü—[Bw˙‰g §ĺp·E,ޡ•ć ý8 Áĺ4¬—ŻŁŹy{ľwĘńí{Í5×t<ăŚ3öëÜąëěě¬!�����������€¤khpĎ\±bŮäG}ôłńăÇŻ–-ˇžzďT#Ö`ŹSG {đÇ>H‡âü‰WčÇw;ÚĐŹąËO¶8őĺ[Ż~ň}ű|ňÉ'{ 2ôŻyyyŁ������������)ٶ¶öŁ™3gĽ1jÔ¨ŻdK@GĂ?µŇ4řcű4l~·i‰<üăôiÖđOsBÝwH/eóř–ť†ńʶ­×î>›×źaĂö:™î>������������©M»�Mź>ő)S�H=ŐŇŘČüiŔÉ4,š!Ŕ½m—ŕO¶ÄG"‡ř˛ßú1‡˛MËľŰÚá§H—ŻşęŞ­Ţ˙ýËűöíwIV–«»������������ ĄiĆŁWŻ^‡\~ůĺ]=ĎÜ©S§nň®ÎÝĽY5ö¬‰G¬™§ý<]Ć%Hň4Q‰WÇWëc ý(s'§ĐŹKš†€|“vůŃá˝\?üđĂí¶ë­÷vˇ������������ múő×_nÝi§ť>”ĆđŽűĄÝÜ&Źň+Üî?ÁćöŰNˡև-Áźhşý � ˙8…~ĚáźPˇíöَMwe­[·î˘’’VÇ ������������Ň^EEĹóíÚµ˝W;uŇţiđÂ?Űd˙8…|‚~ ţ„ÚR–$Ž+IJy]¨ y9XčÇ)řَíę“;räČ’ŞŞMý������������´%%%Çi&däČŃ%ŇŘFł"š±çH‚eNě jDśŮň+śĚL\dKlâŃí'ś!ľÂéňŁsű˙0§źSO=µÝ /ĽxwvvöP�����������@‹’••µő±Ç3xٲeSgĎž]#ŤŮ·m7Í—xlË>Áşď„ú‰&ŕS((ÖD‘+ĚőÁ~řPeO\ëîc�ič'oÄĄ~8ńď˙ŕA�����������€ËívĎ3fěĹ“'O*÷.ÖJă°_�ҡż<â<yŻp†ürţË<·ßvZµ>¤X‚?‰ěöc_Îk(Řä ýäIcđ'»ŞjÓť999ű ������������ZĽúúúĎ‹Š /—ĆŹ4�ä ˙¸CLĘq�‰mťsČi9ÜmeIâ…3–™Ó:§qÓśĆ[iÚ(GC?YkÖ¬ąĐ�����������@ćЬȚ5ë.’-#FĺHÓ܉óČS>NŮ‘čł0q—#ńîđ_Nëý˛ě]ě˙Ě“®×n?YsćĚ9¨´´ő±������ŔQCCÔÖÖę•Ćäv»Ĺ㉺Ă8±\.—deeéÉcĘËË“ěěl���Đ|JK[;gÎś_ ô4fI´ŰŹfKĚy´«Ź/‡â‘-sç—mťKś;őDş>jŃu„;Ě—Óí@Ă{™oš|ÁžlŰílÓvý•ĺ•Wv:účÜ}+�������,Ş««Ą˘˘BŞŞŞ¤®®Î�řbŁď!}/é{JßcŞS���Đ<:vě4Ô[›ż;mÚ4îË7”—/ŕ#·}óPÉÁ21ö ÷ńÂmKˇxB…śÚ)™oëä ţř†ř*ÖŰ6l¸ˇ°°č������ŕ§A„ĘĘJ#ś� 9´óOqq±Ń���@ňmÚTőnëÖ­o”ĆĐOĄwŞß|»aóäk(Č|Űc»í˛ß6Ďݶ‹řŠś,‰Żp‡ů  •~2‚ěa íî“5qâÄ=ý�������VÚá§ĽĽśĐdúžÓ÷žľ���$źfH4K"¦l‰8çNĺYĚëB5Ä v˙`ëŁďŽ?ŃóN·{§_·ßÜ×í'{Ó¦šűłłł†�������q»ÝFč ľľ^�4/ö«´´T˛˛â}].���€`Ü3 óĎ—Ć?ľ®?ľn?ö®?ćÎ?átý Ôí'Ň®?wü‰f`áx%ŹÂM:™·;|! _·źÝ ý�����€Xý´¬N¦˙^#ß-©“…ëęĄl“GÜîĆď^˛˛\ҦĐ%˝ÚĺČŔą2¬OľěĐ5W€T¤ˇź 6ĐĺHŔÓ÷dëÖ­ ˙����I¤YÍ”xŕ_IcĆÄäÉÚ<7çR‚…pěŰCí®'šO¤ĂyĘ+P§źPźěÍËٶI»ýäTTTŢ’——7Z������˘ aźľŞ’Ů‹k#şßŕyrěE2¬oľ�©¤¬¬ŚN?@ ŇÎ?mÚ´����ÉSSSóq«V%×Jc·íúÓ`›<bíţăÔéÇ>IŰ"ÎÝś–C­w”-‘‹6řÉ0_Á†÷2€|“v.Ę»üňË;Ť=zś������DáÎŹĘĺţĎ*dEyäťQô>Ď­–u•nNř)˘˘˘Bjk# ±HíĆĄS^^ž����HŽśśśľŐŐŐoNź>˝J¶}Âĺ´o¸š„ITŃp†íŠd9 ţdť}öŮű �����@„6ÖxäĽ×Ë›s6I¬ô1ô±Ę«Ý4' üxżĚ�©Kߣ„ó���€äÚś-ŃĽLNd÷Ś9ë’0P¤ÁźD&’ĚÝĚëś–íÝŚ˙]»v'ř�����"vőëeíŚ>Ö5ol 9UVV €ÔÇ{���H.S¶Dł&öü‰HxŮ•DçgÂiz)V®�·íű8MY¶ąy}öľűî[’ťť5D������" Ă{Ĺ3ô㣏©Ź}ůčR’M»44D>d€äÓ÷Şľg ���HU:Lm]]ť1i «“Çă1&ĺrąŚ);;ŰrssŤ)++QQEOł%űî;ŞäóĎ?Ů(Ť™mŰlΠ¸7Ď=Ň4 ä’ŔC~yBě“ń ţ„ł,–¤S N@ć_ş\sÍ5����� ÓŻ kxŻ‘ý ĺ!%˛M§\ců·•uňę7ňŃĎÁ𢡊=Ľoľ óN@21Ä^ţ��� iا¦¦Ćęëëîë ůBľăŇśśÉĎĎ7¦T ]sÍ>˙ü“ݤió3ßşhC<ľű†ŠZ˛;ţŘĹŁőQ¶>Î;ě°Ť������Dŕ…ŻŞBîsÎR9ex+ËşA=ňĽS;Ůľk…Ü;iCČç řdŇ«.C}! µč{Vß»ze4���ĐÜ4ĽSUU—‹J´ÖŐI‡¸Ő°{QQQJ€6gLľ–ĆĚIťÄ&©~ěšă·jěłPa §ˇľ¤U«Vý����� L?-« 9Ä×ŕžůţĐĎ/ËëdüűerűeňűęĆďŽR"ŰuÎ úúú\@˛ÔÖĆč:�‰Ç{���©@?ëÖ­KH'Y}L}l}ŽćfĘ8fP‚°ç[\A¶'E":ţDűC¸Âśěű˙rsó{�����@¦ý^r ö¨ee rćł«Ąş®ńâ­Éżn’Ű·ëB>ŚL˙ŁFvčš+@2ĐíHOĽw��Đś´­¨¨HJ]ŞÁ ľ—””C5‡ÍćDgRś†óÝŽ¦ËOÜ»5×P_Ń„\AÖ»˛ł][ �����@ľ_Ľ O–÷‡!˝‡čšřS•ěÜ=ONŰ«•ôé+eUnyű»Jy~F…¸ĂřŞć»ĹtüAň�Ňď]���4—ššٸqŁ$“ÖżeeeÚyGňó“?Dú按SÇźhs-Iň+™ÁźDµ32×ĺĘj-������aZ¸.ř Ö.­s¤ ·ńëŚírä¤a­Ś0j]%çŹl-}:äʍﬗĐĎF[ NÜn·�H?Ľw��Đ6mÚ$•••Ň\4p¤µpaaˇ$“)c’Č,KRB@ˇĆ&3‹ô‡u%x»}ż�����S٦ŕß˝´*ŘňŐÄţ ĺŐo*äŔ{–Ëß\)ż®hěŕ3vç"١kž„~.Nć"y<ž¤_\ xď�� Ůš;ô㣯A_K’ů2&‘fSµ=ęýăŃń'Ţ/>Ôc9Ť­fž���@Xt,éiÓľ”oľůV~űmž¬X±\6n¬0¶µjU"]şt•m·ÝFvÝu>|O)**�™ŁÎÔ¤çŹŐur×GŚË´ÖWąĺę××Éë˙lu|Xß|ůiY­�H¬ĄK—Éôé_ʬYłdÍšµ˛zőc}ÇŽ¤C‡ö˛Ë.»Č°a{J·n]����śď• ˇ}-YYYÉöË)sbžâ•ĚőX1?W2‡úrnX'Kšţ’ťÂ?����ŇÚµkĺ‰'ž–÷ß˙ ŕ•$ë×—ÓĎ?˙,oľů–ŃjöŔGˉ'']»rBh Úşd]eŕďUÖTlIţüľşŢň Ě’őőRďöHN–KJ B7TnSIÓe�fţąPž|ň)™9ókÇí‹/1¦Ůłż“ÇR(§ťvŞôë×W�����MŐ××ClĄ}MŮŮŮ’““´(K ĐŹoŇ/tÂiăś´a˝ś$ű['WëĚŰő����‹ÚÚZyě±'ä¨ŁŽ‘×^{=˘ö±şŻ€Ž>ú8yčˇ˙J]]ť�Ho˝Ú˙iĂ&·,\[oÜîß%Wrł·|EˇĂ{ičG­ŘĐ ˇź+[�D¦ˇˇÁű7÷9çśó†~śh�č‚ .–‡~Ôx ����€UEE…¤Ş|mˇr+‘ć`â.U.7sŮnř���Weeerá…—Áâ+Zřyúégĺź˙<_Ö­['�Ň×ÎÝsCîóڬƖ×=ÚćČřż¶“ţťseHź|ąývĆúşŹLš:D8°Gčç ×ňĺËĺóϧȊ+h©ô‹Ţë®'o˝ő¶x<‘_4év»ŤŔ®>F*ˇ ����ɦߍjÇźTĄŻ-–ďoČ)Ë’ą–H^„+Ěő® óPm’|­’ěóěÍsßílÓşRť×ÖÖ})����ŕŕŹ?Č%—\ćx’Ľsç­dź}ö‘aÆJ×®]¤cÇŽĆúŐ«W˲eËeÚ´/eĘ”)˛rĺŞ&÷íŇĄłÜ}÷éÝ{kĐ<Î8ălůá‡-ëvŢy'y䑇BŢ÷§eurćsÁ|ÚÔçŢ´—ˇ} šlÓ(”Éë›ĂAÁ<r|;١kěáźO>ůLn¸áFăK°ĽĽ<ąőÖ›dď˝÷ŔlÍš5’δKŹv´sŹÝ®»öţÝŢ[vŘaéС˝±nÍšµňăŹ?É_|!ß~;»É}tčŻ[nąÉh¤ş:���˘7thrŹ‘gĚ*éD/’H—‹۵k'YY‰íe“——»§4ĺUľyŢ`šÜ¦u:÷8ĚMâpŰi.–C­·wđÇé6Á����ÍfٲeF0`íZëíV[uň®?M>ř z@üţűČ#Ź<&«V­¶lÓđĎO<*m۶•XčřŐpDăÉ'“úK*:đŔeÆr˙ňő×_#cÇ,@ĽúB/Ü/ŢÎ{q˝Ě^\tźlďGÄ1{”ČÁ;IĎö9RS瑟—ŐÉ3_n”Ż˙¬‘P÷Č“˙ÓÖń}>a²×^Ă%\'ťtšüúëŻţe{Čéꫯ•Ď>űÜż<věAŢ÷ݵ‚Ě’îÁŢK;ýőčŃ].şčŮa‡íŢ÷§ź~–{îąO–,YjY˙—ż.gź}†$š††50üÍ7łeĺĘRVV.ůůąŇ¦Méׯź ľ§ěąçPÉÉÉXÝrËx™:uşů#ţć­ŐN•LCđ�� 6‚ÓŽ¨ŐŐŐ’ ¤¤¤D©?ÁnKë-8Â���ĐbŐÖÖĘ•W^Ű$ôłß~űʸq×IaaaXŹŁÁ C+#Gî'7Ţxł|ţůţmË—ŻđžhżNîż˙^ÉÍŤßP>�’ăŘ=ŠBĽ_ĺ<7ŁÂ˘}Žxißľ­mąť�-ÉüůżË;ďĽkY7pŕÎŢżŰ×JqqqČűk0čŢ{ď’›o/ß}÷˝ýŰoż#0Júöí#‰ C>öŘ“ňî»ď‹¬Űj˝_®Wa¤É“?—ž={Č…ž2Ä����ń¤7¦KčGék-**Jxן– 9~C)1Ć���€–ď™gž“yóćYÖsĚ?düř[Âýéćí·Ź—üăhËú9sľ“ÇR�¤źa}óĺ/"˙<—>¶>GĽ\vŮ%2hĐ@㪷ÝvŰU.ľřBZ’ÇÂř2ÚG;ý„úńŃ+BµĂ\÷îÝüëô1ő±AC?:źv)˛‡~ś,Z´X®şę:K0 ����­¦&t×âT“ŽŻYš!CÇ����-’ŽUý /YÖŤ±Ź\pÁąârEvěµjŐ*ůß˙^•÷Ţ{O†.×^{•,_ľĚŇůGźëđĂ•.]şHĽě˝÷péÚµ[ČýÚµ‹m1 %Óˇţ~řáGă¶}X,źËG—ʵ !;˙DJ‡řŇÇŽ§®]»ĘĂ? @K´té2™=ű;Ë:Ţ+’ĐŹŹ†ôľ—]vĄݬYsŚçčÖ­«ÄÓłĎ>o<¶™^‘ÚŻ__Ůj«­¤˛˛BţřăO)++óo×.@·ßţoyúé'$//O����ÄGş ˝•L±„hĆŚ9ÄwěŘAÎ=÷:tHĐýőBÉ{ď˝_V¬Xa,řá» }ÍŃ\Ŕ™i’ü‰g˘Ée›���� ‰'žxZŞŞŞüËť:u4†÷Š$ôóűďČóĎż }4IęëëŤu3fĚ0NćÝpĂőňŹ'«V­6Öë°bĎ<óĽ\yĺe/‡~ěµ×pA|č˙CýG{ŕĚâ ý¨ďż˙Á[»˙-Üö·6rőëeq ˙hčgü_[KK¦żCŹÇ#ŮŮŮ’,úYKH˘ĺš>ýKËň®»Ži8¬wÜAvŮe%”óĺ—3äČ#˙&ń˘~Ţ{ď}˺Ν;ËŤ7Ž“^˝zú×iW W_}Mž~ú9˙şőëËä“O>“:PŇQs|����ŽÖďľď7c±zőąé¦[ĺňË/•ýöŰ×qźoľůĆ{L4޸ŕ!Vúšíßá$H˘r(úXI°tëřă s���€ ¶iÓ&y˙ý,ëÎ<ótc¨®pčĐĎ>űśL›öĄqBËěŕ6ćúX§ź~ŞŚ‡ۇN”óĎ˙gŘĎoÚĺHĂHĺĺýëţň—Ă媫.·ě§ăcë~+V¬ôŻ;ä±rÝuW·őÄä„ ÷ř·młÍ6ŢßÇ“˛|ůryě±'嫯ľ’˛˛ ҡC{0 żuÔ‘2x𠉕žĐ˙ôÓÉ2qâDY´h‰¬YłĆű»,”Nť¶ňžüÝĹč¨d>‰jfͻᆱÜ˙}ňůçSŚN óç˙nüÜ˙űß –ÇĐ/´s“>çĎ?ĎőţסíĐ Ďů׿.}űö´<wÜ1A®ľú ˙r«|—üç¶rçGĺňćśM Ţ+Ţť~|®ľúZůěłĎýËcÇ$×_mČűÍťű‹<ůäSĆç[uuŤńo|Č=ä裏”îÝ»7Ů˙Ź?ȱǞŕ_Ö/ئOźbĽ—ţűßGŚŐ† ĺFŘńŻý‹?}ôŃÇ2eĘňË/żź¸lßľ˝ě°Ă�5j¤ě»ď>Ž!LűĎvÖYgČI'ť /Ľđ˘Ľýö{˛lŮ2)-mĺý|ÇZÜ|óxËýźţ™€ď×'ź|Úűşő/ëPiďż˙vł}^Ă٬Ył,Ëűěł·Äjď˝÷¶fĎž×ŕĎňĺ+¤˛˛Ę˛î„Žkň÷*77×ntÎśď-C|Íź?ßű_çŕĎŻżţ&|0Q~řáď—ëkŤšD»üéßŢQŁöóţ­ŰMBY¸p‘·>ůČxÎŐ«WIUŐ&ăok÷î=ŚPÔ1ŁĄcÇŽMî÷çź ĺěłĎő/ëg€ľg,X O?ý¬ń7SëŤóĎ?×řrzNýśĐżĺ•••ŇŞU‰÷ýŮ×4ëk×ßG¸4ýâ‹/y?ˇîvíÚCqÄ_ĄgĎ��� 4˝!z<îűÎQżO›0áno]źÓä˘Ĺ3fĘ­·Ţa ý””DŢĹŐL_{~~ü†Qwö9†ú���ĐâLť:ÝŇíg«­:ÉÁô>zĹľ†NžţEďÉę_÷Ń“T˙űţe Ë<öŘţ®?8š1ă+9r„4=öĎž-·ß~§ÝŰoż#Gu„ĺdřSO=c ý´mŰĆ,Ł'űĎ9ç\ٸ±ÂżNOvꤿ·cŹ=FÎ;ďś¨ŻľŃ€ŔŐW_g„‹Ě´ťŻvDřő×_Ť“˙Çw¬÷g<+¬îďľűžÜrËm·kPęşënđžžmYŻWé‰Mť^{íuď â#ä ϓśˇ[’·Ţz[:wŢJN9ĺ$Ëz ě ď›//|Uq÷íňsěE2¬oBżŚŠŘÔ©ÓäĘ+Ż1>ç|-ZdLúqÝu×ČŚ ů8óćÍ—łÎú§ĺóŐL�×^{˝ńą`§ˇť>ţřŮa‡ĽźS·8† ěnąeĽĽ˙ţ‡MÖŹąźÜu×˝–×ňŮg“ôy­÷Ač'ůţžúčż•Xi׳•+WI<™ßW>nwCŔý5Ś«ˇ9§‡úwčŃGź0>§ěV®\iL“'n _¨ƶmŰ:>Ć#Ź<.ďĽón“łţ-ź;w®1˝üňkrƧĘa‡"ˇh đŇKŻ0ę'úś~óÍ·šlÓżĺß|ó­1˝ôŇËrÍ5WʶŰn#ˇhxčÚkÇYNRčĎ?qâGĆď@ź{î9T����kđç”SN–űî»ßż¬ÇB·ÝöoăÄţŃ.®şÎţ\zD,’üI{ô7���Đâ|ű­µc€^í,˘CuÔ1rýő7 ý¨´^ŻŹ©Źm¦'´š“¶ÓN;ú—ő ś{ď˝Ďż¬'Ţ_xá%Ë}.¸ŕ|iÝ:đDŢßÍż,ˇ; ĺ<óĚsŤüIÎ<óś&ˇ':ôÚu׍ ąß† ĺ ¸˝ĽĽ\N;íĚ&ˇ;=YúĘ+ŻĘ­·Ţ&hy´Śv‚±ÓŕŽv˙yäřvrňžĹF §]±·ĺb/˝­ët›îŁűę}R-ôłvíZă߯S8Ai¸nܸY:ň˙wŔĐŹv9ďĽ C?v?ýô“\zé•!żtś3gŽcčGĘ~űŤ°¬Ó˘}müń‡eݡ‡†9 ů´ëšYűöí$VÚťÎlíÚuO Ě͵?§q4TăDC:[oÝË?éP¤vxs ýŘi(檫®u|_ţß˙=`űěˇ;˝ ÷Á–/ľ*ˇ<účcC?J?kśB?v+V¬0ÂÚ(ňň róÍ·ü¬ĐĎŻ;ďĽËč*��� ¸@ß „K‡(>ë¬Ó-|ő1µşvďŐ 1ő¶˝~?ţřcŤnť±őµg‚–rą"Ă}���đk6c‹áĂ÷ ¸Ż8ŽwcČЉÔwÜ1MÖ6Ôč ă3oŢ<‰®ě»ď~şŹ>ży-}ťW^yąśtŇ©ţ⯿ţVfĎžcě§Št(ź=öŘÍ8pĆ÷»2dwůŰßţ*­Zµ23Ď=÷‚1|–ĎO<%ŁGď/]»v•péÉJ ™_“vÖŃnJ`Ň“~oľůŽ÷äŕB˙vý2AO,ę0füöŰoĆ\Űď˝÷^Ţ­ídÆ RXX`¬żăŽ;-…ââ"9ńÄڎCôµčđ_ú˙ŐwÂT‡ZŃ×Č‘#-‹†´–yŘ/źşćS:Ó.djŕŔť˝˙†‡˙¦?ýôsK(A×iw¬—_~Áq.Ą!Bý,ŃÎgúąÓŁGO#�ĐĄKcű=÷X»ďčpD:˘vlŃý¦L™j}ô=ŞďeýĚdćĚŻŤyŹ=ŚaÉôę>=ŃďsČ!C~ůh¸gńâĹĆţf<ɲܭ[7㽎Ě`ľ„ ÂDJ˙]Ž=ĘűoqËŁkÖ¬•‹/ľ\úôécüíÔ÷źĎÎŞďĽóž˙}«ô=yđÁcŚ+hóóóä§źćĘK/ýĎ?Ľ†g´“źvüóŃ÷·ąg¦CěpŔHéСŁqźgžyV–.]ćß®a%ý{~Ěžýťń ĂięűHk€Îť;Űß~ű]ůňË™–űôčŃ]ĆŚ9Đř[üóĎżŻÉW›čçÂţó ÜyçíźÓשK;m·Ý¶˛~ýzďçÂ7–!tč2 žxâń��� °x„g|C}˙÷żŹů×ů†ýŇcíj¦ˇťb•ŕŕŹ~ßĹfĐ\ÁźH:{����„M»Ú ˘Lšô©?آ'łŻşę ď«Gn»ív˙Igß¶Ţ˝·nr=ńěąc¨{…Y«V%–ŕŹęׯŻüăGÝq|}ôqc8Ś?üČżNO@jH(¸ăŽŰüť“vŮe°÷„ţöŢ›—ů÷ŃŔĚĉ7:)= h]Ý|óż,ť<ôK…sÎ9ßTĐ”ÚÝ(PHAipč®»ţí=áXjYŻÁ€O>ůĚż¬'1|đ?ĆIEźÝwßMştŮJîż˙A˙:íh4räAËŁť5ś‚?-…ľ‡®ĽrË{U‡ĚÓ.?úůçŁď í˘…@Ú´i-<p“á´4H1fĚéßżżŇ[Ľx©ŚłôęŐÓżŹmtČ>sG6  ţ¨#Žř›\zéEŽ]Űô1őóÝüą«ďí“O>Ѳź}ŻCôłÍGcK—né(ŁÝyşwď&±°wřiÝşTâíŚ3N“?˙\dtł2Ó0šN/ľř?ăoŤÍ5lŘž˛Ď>{!Z;ýÂü˙{ٲîśsβ õýöŰß.ąärcĄáÔN8Î˙EEĹrć™§{ß‹KŚ©Oź­-Á í4¤żëË/żĘżnÉ’ĄF°ĆiŘ0ý{úďŹ÷Ţë&Żűĺ—_±¬Óż©˙ţ÷mţ°Óě/»îş‹ŃÍČG;..Z´Xzöěđ9O9ĺD9účżű—µ×…^b ęg Á���ř ş—$ÓŚˇ»g¦‚x]á ˙čĐÂľÇt ćÄ+ôŁâ}G„˘É¶$ý3Ô���€§˘˘Ň˛l¨çźßŇBC?ť:u2†íĐŰfÇśăýíCŘź»ąś~ú)ĆĎáŁ'Ĺ.ĽđR˙IBuÚi§4 .ňĎžÓäÄűž{5@fÚ)'2Űm·]› ßSPP çťwŽeťvë 54Ńu×]Ó$ôŁĚá'µß~űZB?>˙űQŢ“§EţeN‡MBËWVV&-…†Ď?˙ź–uú^ľä’‹Ś ‚Y¨÷ďYgťŃ$ôŁ4DŁťĂ4 pűí㽟«O[B?>Ön'eeë%é’K. 8TŁ>ďرYÖi!łyóćˢE[†ŇÇŇî)HMöaŻt(ČXi¸Ä,Ö ‘ý;uÇ·ĘÉ'ź`Ľçśh»{ ľÝ˙r≧ĘË/żjů›ě{­Ú-ČGk ŞŮőďżť <ĐňŘłfÍń/ëűďoű‹÷ďţy2aÂí–ĐŹŹS÷ˇPź}'ťtB“ĐŹÓëVÚńËţ{í5Ě耴Ç»ËŃG%W_}Ą´mŰ&ŕóuíÚĹúQZ:đŔ,ëę ���-žá ˙śyći/މgčG5sđ'-´”ˇľ���� b_ýŤH¨`ôęz{WťTWXX(—^z±ĺj~sgťľ}űʱÇţ#¬ÇŇ®�˝{oí¸mčĐ!F¨hËsDÖńČ>,›vVr˘ż á‡úý÷ßף'ť‚NĎůŃG“~`~>őÇ ¤}űö‚–­¸¸XŽ:ę#ئp¶Ů¦źx @Ieú3l>íÚµ3ş†Dňţ4(ĽĎAíţĄC -Xđ§¬ZµŇű¸+ĺçźçZşv){čÁN__vvvĐ}>ř cCß{X» égťo˛I“¬Ý~4t O¤¦]vŮĹNĘgĘ”)2fĚh‰Ĺ_Xmúď*tJí¶§CbÎśů•Äůţűď-Ăiůč0W:<ćďż˙atăó}Yľ`ÁË~¦ąýö;źďŰog[–őľűî»·ăľëÖ­3:ĺhhvőęŐĆkš={v“ýB}—ľăŽ;8®·żî˘˘BŁ+ “oĽAµÍ6Ű8®ďŐ«—eYź����’KżÓcűwjşÎ~Q/‚?ô^���‘’’bďI®Z˙˛óQRŇô |óPXęöŰ˙m }Ą'Łő¶ĎqÇ#ŘŻp×玗 î˝ö.ŃÚ{ďŔ­ŤőDŁž¤ GűönëŘŃz _^ľŃĎ;śÇ®®®–Ť+,ë¶ÚŞłăľ¸Đ“őţů§ÝęŐŻđ×î ¬ZŐô~öˇ€)+Ű hů´N·n]Ś!ŔtR—]v±yä’n:wîp›“eţ؇D˛łwě±Óî,:LŃäÉSŚ$± ö>öéŇĄł1|Đ7ß|ë_÷Ůg“ĺŘc?·ÍĂ™©C9Dşt¬ÇŇż¬áýw(pŠv˘1‰ô čaÆI"ĺĺĺ}µ‹Îwßý Ó§)Ó¦M7ţFú|ţůŮm·]Śa°”Ó{P÷ GyyąeYĂ0~8QŢ}÷}ÇđQ4}Ř_·ÖńJćĺĺF´���@`N!ťhM™ň…ÜqÇÇ zô9îąç˙Ľß Ô7éŇ­®;ĺ3+tü���ĐâčÉěuë¶ !łtéŇ&Ý_ćĎ˙]fÎüÚ˛núôrřáÖűÝ»w7†‚ dÉ’%Mž;UTVvL»Ţ„ŰőŔiśî-Űꥹ4G›ßÚÚAfŘ}÷ÝdĆŚŻüË_}őuZ‚uŐqş*/Z/˝ô?ąďľ˙8ľ/µkŹvÓ×bď¸cÇl ţL™2ŐţüöŰ<ăóß§uëRŮgź˝©«[·®˛Ë.,ĂVÝ{ď˙y§»ĽÁlܸѸŻŮ A;KĎž=$™Ú´ictâŃI8×\sť¬\ąĘżýý÷'ú?±ü]3‡í6lŘ —\ryŔŔŹľ¦ţý·µ|ĆĹ‚¶ű���H%3fL4ŻŕϧźN– î¶|ßŕ ţűÖéó<đŔC’››#ŁG ±JŕOĘKtđ‡˙����’®_ż~F‡� ôh3íöę`WC<7ÝtCĐ«Öő±Í KŃ|đż·éÁ·v#čСCČÇY±b…qŕîô{X˛d©eą´´UŘť„´›‡vHި¨4=×rÇ}őůW­ZeY×±cč×î¤C‡v–ĺłĎ>SN>ůDĚöŘcďô/óͬ°»YĄ’@ď)µl™5 ĂúECĂ5˙÷X>S÷Řc79č dÇ·7†ÝŇßŰ„ ÷$$řŁáĚ î’ĘĘơů~úégŁŁvW1;đŔŤnNHm§ťvŞĚ™s‘˙ cý;sÓM·Ę¸q׆ţŃĐŹŢÇ|Ńża'ź|’ÄŰsĎ˝` =飅8`”ăľl:ä±–®F‹-ôßnßŢú÷ICPăÇß"‘ŇáďĚ?»ţ­=ě°CŤˇ˙4řTZZjtúűߏ•x°żîU«V¬����4˝('Ôۡh‡ß»îşÇň8Ę9÷ÜsŚĎ˝÷Ţďߦóxuţ 5 xšĐěL®šHÔŃ����Íf·Ývµ,O™2Ĺr@şrĺĘ C;őďß_nľůFyĺ•eűíÜO;áLťj˝ŠH»„¤=ńýĆoú—5$ăúFiŘFÔĂQUUet;±Ó“üźţ…e]×®Ý$ö Ô´i_:î÷í·łŚ×a¦ŻhôéÓDzüăŹ? `ׯ__ËÉlý÷7wî/’nľýv¶÷ý^ŃdýÚµk-IŐ­[w‰†lĚź±ÚMěľűî‘:PzôčáKUVVH"hpäČ‘ţeí|˘C<éĐJf‡:Vúúöí#‡~eÝ÷ß˙ ^x‰ń˙5Ý碋.m˛ď!»ËvŰm+ń¦Ă\}ůĺL˙ôÚkoý2]Ă´fůů[†ĎęŮÓÚťpŢĽů–ˇÁÂ5cĆLËňŐW_!'žxĽ1dš†~TUŐ&‰űßUf,Đ˙«K.ąBÎ9ç|ů÷ż'ČË/żj„„����$^¬áýPëxsgp ű_|ńF°G;ű\tŃů– �|ť40‹üńIH–†Ë.����´8Çď)EEEţe=©ôî»ďů—_zéÇi;3ÜyçíňÔSŹWë‡:¨|çťw-'¬ô9őÄbsÓđŰnű·ĺÄă '''ź|‚´jµĄ[Âgź}._|^űcíćaüď/Ë‚ ,ëěĂčŘ[ńÖÖÖZ–<ĐÚîwÖ¬ŮFË`3íÜńŔ[ÖuéŇYÜY˘qŕŁ-ËÚµIź×nńâĹ2fĚX9őÔ3eüř;äŐW_ :ěZý·»ë®»XÖ9ŕRť–ô ;s7ýlĐŕźyh µ÷ŢĂ%ĺĺ-Ëť;oŐ佯CŮ;đÄ“=ÔŁ_Hj�Ňg»í¶“m¶‰.,ä;ýôSŚn7fÚÁćňËŻ’«ŻľVŢ˙CY¸p‘ńď['˝­ët›îă4Ä•ď9iҧoö€đźţéý2ü.ŁŁŽ™ľď&NüČ;}lYoŠtđŕAĆ0\>7VČË/żŇä9ő˝űĎ^ gťőOąýö;˝Ź_‘5kÖřźÇ×ýĘg«­:7yŚŹ?ž$ń˘ażÚ[Öi×!ýűm¦aĽźţ٨ôoýO<Őd����‰kÜGy´Éđ^ô1ĺĺţŃű<účc ş÷†–^ý©��� ………rđÁA =µ˙ţŁŚpÎĉýëőŔQJŹ;îéÓ§wŘϡ'ÍCu¨1c´ŽbĄ{fĚř*ä~Ç{´1,™Ď‹/ľdNGOĆýĺ/‡K^^ž÷ç<V~ř˙¶;ďĽË7„zÝüń‡÷ľ'ĘAŤ1†óš={Ž|ńĹ4Ë>úřcĆXC5……ERV¶Áżüúëoë´Łž„×ßýÓO?'Ë—oŽhܸyîdçťwôŢ·LŢ~ű=Y´h‘ĺqO:鄨Ç÷Ö˙ĎÆ őÓ¦_@hwcŽ9ÚčĄ_NĚť;WžţEăµë¤'*5htä‘G2Ç{ě.}´ĺäř×_#§ťvŠÄS8ďóˇC÷˝öŠ.”ŁŢ{ď}ď‰ö?eß}÷6@zÂý·ß~łěÓ«W/ăä}4¶ÚŞ“eYC7ŚÜwß}Śn<ß}÷˝ŃîŰŠ' njw! ě)óçż:ôĐéC·×^{µŚ»ŃµĘlöěďŚ)RúY÷Ý÷·÷ߤċ5÷Ě3ĎĘęŐküë&OţÜşigşöíŰJuuŤ1ŘúőeMî衇řoëßź#Žř«Ąľxć™ç˝˙®—Č>űěmtëѡőôo©Ś”†žfÎüĘß:_C‡í[łf­˙1îż˙ůç?Ď–îݻɺuëä&ĘK/˝,ń˘Ďů÷ż%>¸%¤«ÝŠÎ=÷Ł6Ňşá×_kzŇ÷­=��� ńb Ďh·Sßđ^ćĐŹŹoťyŘ/ó}ŁAđ'´Tţ0d���€¨śzęIňţűř‡‡ŇÎ<˙ú×Mrűíă˝'ч'đ<đ@9úč#ĄcÇŽ‘<´qĐzĂ 7ZNňičE»ęÄS aŻě´;‘/řŁšÇł’Î:ë ăő©üăďFĐ`ĺĘUƲţ^zčąôŇ‹>ľ‡ÚµkožzꙀűť~ú©ŇĄKËşv` őĚ›7Ďř˙0věÁrýőף›oţ—÷„äůţn@ÚŤéí·ß1&'z’UL±¸îşk䤓Nő˙?Ôç~úégŤÉ‰ľÎ«®şBY4řc¦C×TVVJqq±ÄK8ďó’’â¨?Ň„†×tr˘'íŻ˝ö*Ëy‘Ř{láŠjjjŚe}?ÝzëíĆdfć$‚ĚÁFýüsú2©Mßg7Ýô/ăoÚ[o˝tř,'úďYCž:ü–Ż[["Â?:”Ý5×\éťĆC\ůhW ‘3jÔ~˛çžC-ëŽ<ňo2gÎKŕI;ôéČyçýÓű9±ĄŁß~űŤW^Ů~Óđťv2ÓÎBµµ5qňë°Ă‘YłfY‚ŚÚyÉ’ö)**” /<_����$‡#éńK4Ă ›é°čgśqşŚ±OŔ}ô<//ßčôkčG_s´ßWÄ™fW<’˘čř��� Ej×®ť{ě?ŚN?>S¦L5†¬ŇĐG´ŚzŇđľűţÓ¤ŰÍńÇk ?ŐÜt¬mó°Űoż˝rČ–!p´űĆůçźçýŚóŻ{íµ×ĺ l2\‰Ź^UŁáśsÎ9WÖ­[ď¸Ď 'ď|:é¤eęÔéM†ňřńÇźü·wÜqy䑇äꫯł„„ś{ě1rîągK¬ôßÇăŹ?âý=Ü ß˙CĐ}5ĚtŰm·HďŢ[ 2K§Nť¤gĎžţŽSĐnW±tßI¶^˝¶6BŽ7ß|«cpB;˙ú×őFçŤhi€ŕúëŻ5‘†ĂÓa�µcÉ-·Ü&‰rđÁcĽź%Ź5ů9µÓ‘vJAúŃÎ?gťuşpŐ�É·ßÎ y˝ňtđŕrňÉ'ɶŰnct ŇżŤ‰ ˙ 0Ŕű·ťu~űm^Čýő đ#Žř‹ńwÓŢ˝N—˙őŻqňĐC˙5†/ F˙¦kčGDfÚĹđÇ<Ňç7îąăŽ q ţ(­Ż}ô #¨Śţ]˝îş«Ą[·®���ÄŰС{I2Í1UŇ…~mđçĂߍh  …K_3B#ř��� Ĺ:ńÄă嫯ľ¶;^zé˛|ů2ď ęë#–K»é‰m{čgĐ rĘ)'IsűřăOŚÎ>zňđňË/irRQOtľţú2kVc7= :~üňôÓŹ'YťôęŐSžzęqy≧eúôéĆp%Ú HĂB:Ľ‡ĺD‡óŇ€ÍÓO?#sć|g\ĺŁě:›~Ń Wí¨ţý·óţży΂裏>’… Ëš5kŚŽ�ť:me Gvřá‡ĘÖ[÷’xŃPÇĂ?` ‘ňÁzOÖΗիWI]]˝´iÓZ¶Űn[Ł“‰oFKáĚĄ]ĚCÍ}ýő·iüQěÓ!~žzęiŁk‘;Ôąsg2d9ćż[† Ś–~®č~:Dž†3Ö®]kĽżuh=íÄsřá‡ďłDŇ÷ôî»ďę}OmYoJ éI˙ÝzëMŢżß+ĽçfżVŻ^müťp»=F°«GŹî˛ÓN;ȰaĂŚŰ>üR‰˙čß»űî»Űűď˙[oíńŤĽYż~ťTTTďßkÜu×ÁĆß–:|,ý›sÁçÁ]nPë}OiÇ1íěÓ˝»>Î Ł{žS¨MA&Ü.ď˝÷|Z´hˇlÚTmüm<x°}ôQĆgBĽéĎyÎ9gź9:¬—vŇ˙GZ?éëÖĎáÇA.ţ®���ɧßÉéqE:!řžp‡Ňr…ąÍĆÜ`Ů7e™ćľ){óşlۤŰôč6«¶¶nş����€MYY™śz꙲lŮ2ËúNť:zןlśvńŃ„~ř‘<ôĐĂ–á˝”vůŃ`‹vi)^}ő5ď Ă{üËú3ľńĆ«¤˘@Wňů®¸łoµŢnĘ”/äŠ+®ö/÷îÝ[^|ŃyH84?í(ôî»ďů—;wŢJ^ý•Ti ž4¶€•˝óŹŇ:LWş…ůв …�� 4:ţWQQѤ3wŞŇ‹ĚĂ'B^^î0ďL[—ož7Ř&ĎćąŰ4yLsű$–Íí·íB1FÇ����-šAs×]˙–‹/ľTV¬Xé_żjŐjąýö;ĺÉ'ź–˝÷Ţ[†ßÓčzѱcăÉ řhXhÚ´/˝'ţ§űŰi ćî»'´¨Đ�«ÝvŰŐčbák…˝`ÁďçÁ*Ł» R‹†4íC÷iÇ”L ýŔY Î??üÁ����C; §Kđ'Ňn홌ŕ���€Żwď­ŤaŞ®ąćz˙đV>+W®2:Ü艝vÚQî¸c<ˇ …Ó/™ čo ‘ĺóÇ ţ¤ýL×á„t#íÎd–-//Oţú×Ăđq ˙Đ6���hYŇ­O˛éĹ1ú]‡É›Ęô5r!Ořţ����ČÚůçŢ{ď’'žxJžţE©««“hč‰äăŽ;Ć&,77W�4ŻťwŢ©I——wvÜÎz'‡vĚź˙»ě°ĂöFw0í„ÔđĆoĘÇâ¸íÄŹ—öíŰ `¦áźüü<yčˇGĽÇsäŇK/����Č$Ş©­­őw7N5Úy™n?‘qĹa?—Ăí`sW€eß”ešű¦ěÍë˛m“n+ŐymmÝt���€0č^Ď<óĽLśř‘lÚ´)¬űčÁćčŃČI'/]şt‘–L»MpŹY‡4{ăŤW�R‰vl3f¬lÜXŃdŰ1Łeܸë2öęŔ5kÖ€ôÔˇC���MC?eee’ŠôN ˙$C^^î0ďĚíťĘ7Ďl“góÜmš<¦ą}’�ËÁćöŰvÁ¶čř��� ătíÚU®şęrąŕ‚seúôňí·łä·ßćÉňĺËü'[µ*‘.]şĘ¶Űnct÷6l¨ � 5¬ZµZzöě%K–,–ŠŠJăs[‡e;ě°Ădżýö�����ŕL5­Zµň~şQR‰ľ¦d…~Z:ţ�������-€ôEÇ���$“vCݬ¬”TP\\śô /[JÇźĚěw ������´P.W¸×úH%Ľw��l´ŃŔMskŽĐOKBđ������hA˛˛řĘHGĽw��Đ4pŁCl5}nB?±ap4������ ÉÉÉ‘††^ô˝ ���4‡üü|ÉÎÎ–ŠŠ ©ŻŻ—dĐú·¤¤„:8¸„�������hAřŇHOĽw��Đś´mÓ¦ŤI˘ésčsQÇżE������ ÉËË“ĘĘJ^ô˝ ���47 ĺHUU•TWWK<éăęă3Ěm|ü������ZmĎ®WM&«=;€Řé{Vß»���@*Đ`ŽĂĄ!ťššcŠöSk]JL'?‰Ađ������haô*ĘŠŠ ô= ���¤ ę“Űí–şş:cjhh0&ŹÇcLĘĺr“ÚuĘÍÍ5&Â>‰Gđ������ha4D°iÓ&ă‹X�©MOŠü��@ŞÓ�ŹŻsR Ń*������ *..�©Ź÷*���€Xü������Z ĽĽ<ş�)Nߣú^���€hü������Z¨’’ÉÉÉ�©Gß›ú���€Xü������Z°ŇŇRÉÎÎ�©Cß“úŢ���€Xü������Z°¬¬,iÝş5ť€ˇďE}Oę{����bĹ‘������ĐÂiŔ M›6RPP �šŹľő˝Hč���@Ľp™������!JJJ$//O*++ĄˇˇA�$‡íU\\lĽ˙���� žţ�������D:UWWS}}˝�H ÖK»üĐm ���@˘ü������2/Ś ťjkkŤ�Nn·[<Ź�ŚËĺ2†đҰŹN°ÓN?����H������€ ¦Á„ÂÂB�����é'K�������������¤‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤!‚?������������@"ř������������¤ˇ���€°˛ĽVV—×ÉšŠ:)ŰT/ĺU RQS/Őu©­wK[���€¤ÉÎÉËÉ’‚\—”äçHiQ¶´)Ě‘%ąŇ±4W¶*Í����hn����4‹ĺjeÁęjY¸v“,YW+µő���R…Ď7Őş˝“ČúĘ‘uÖíy9.éŢ.Ozµ/”Ţ ¤Kk‚@����’Źŕ���€¤Ń°ĎĎK+ĺ×UŤ'O���€4ĄÁő?VŐÓgsEÚgËvť‹dűnĹ„€����$ Á���� ÷ýâJ™ł¨BŻ«��� %Ň`űŚß7SŹvů2°G± ěY"����H����$ĚĚ?6Ę× 6ʆŞúűçgI§VŮŇ®(KÚdIIľKŠó\Rë’—Hv–����IŁC}éh´Őu©¬őHEŤGʪݲ®Ę-«66HeŤ;ŕ}5đ®ÓóĘe÷Ţ­dHźV����‰ŕŠĂ~.‡ŰÁć®�Ëľ)Ë4÷MŮ›×eŰ&ÝVŞóÚÚşé��� %Ě^X!Óć— üdy+üŢr¤G›éZš-­ Â=<���šß†jŹ,+oĹeő˛`M˝¸=÷m]”#Ăű•Ęŕ^t����RE^^î0ďLýĺ›ç ¶Éłyî6MÓÜ>I€ĺ`sűm»`Ű ����Ä͢uŐ2yCzőî+ŰvĚ“^m\tń��@‹ Ý–yä·Őµ˛`M]Ŕýt°ZKĎv��� yüqŢFđ���ČPźüĽ^füľŃq›v÷Ř=_tʡł���Z4í4wU˝|·¤&` ˇ}[ɨíŰ ���€ćCđÇyÁ��� Ă,ßP+~żN–•Ő:nßµgľ ěš+ůŮ���dŚďéď–ŐÉ·‹ś»avm“'cvn']Zç ���€ä#ř㼍ŕ���Aľ_\)ďĚYë¸m@—<ٵ[®´Ę§Ă���2×ĆŹ|»´Nć.wĘ2°ť ěY"����’«Ąr����˘0ů—2™6ŻĽÉú6…Y˛WßéŃ:K���€L§Ař}ň¤oű™ú{µ”mr[¶żűÝ:Y_U/#ú·����ßÄ���Ř{ß­u ýěŘ5Oţ>¨Đ���`Ł5˛ÖĘZ3Űim­56����DŠŽ?����"ňćě5ňÓ’Ş&ëGlS :q���’ť%˛wď<éPś%“çU[¶ÍYT)unŹüep���€pń­<���€°9…~Šółd˙m ¤k)]~���€ph`ľuA‘Lú­Z*k¶ ýŐXkŻ!ü��� l|3��� ,:ô€=ôÓľ8[ß±Đ���!­ˇµ–ÖšÚLkn†ý���.ľť���Ňä_ĘŚˇĚ:µĘ–Cv(”Ö.���9­Ąµ¦ÖÚÚLko­Á��� ‚?����‚ú~qĄL›WnY§W%4 PŠr���@ ´¦ÖÚÚŢůGkp­Ĺ��� ‚?����ZľˇVŢ™cf 8?Kě_@č���­­µĆÖZŰLkq­É��� ‚?����úđűuMÖíżmĂ{���q¦5¶ÖÚvN59����řü���ŕ蓟×˲2ëŐĹ#¶)®ĄF����‰ µ¶ÖÜfZ“km����NřĆ���@‹ÖUËŚß7ZÖíŘ5OtĘ����‰Ł5·ÖŢfZ›kŤ����v����41yîËr›Â,Ö+O����$žÖŢZ›Ůkt����P����XĚ^X!‹×ŐXÖíŐ·@˛9z����’Bko­ÁÍ´F×Z����Ěřę���€Ĺ´ůĺ–ĺ]ň¤Gk���€dŇ\kq3{­����|{���ŔoćeCU˝eÝ®Ýr���@ňŮkq­Őµf����‚?����üľ^`=‰°kĎ|i•ď����ɧµ¸Öäföš���@f#ř���ŔđýâJK·ź,—ČŔ®tű���š“ÖäY¦,ľÖěZ»���€"ř���Ŕ0gQ…ey`÷|ÉĎ����ÍHkr­ÍÍěµ;���€Ě•#����2Ţň µ˛x]ŤeÝ€NÉ?\Xşt™L›6]fÍš%kÖ¬•Ő«×ë;vě :´—]vŮE†&Ýşu��� Shm>{ń–z]kw­á»´Î����™Ťŕ����ůy©u¨€ŢrĄuK’ĺĎ?ĘO<)3f|í¸}Ѣ%Ć4kÖwňŘcOĘ.» ”ÓO?Uúőë'���@K§µąÖč ÖÔů×i Ođ����Á����ňëŠ*Ëň¶“sˇˇˇAţűßÇä­·ŢŹÇöý4�tŢyÉá‡&gžyšdg3&��@´6l(“7ß|GfÎüĘčŔ¨´ĂâСCĽő֡ҺukAóÓÝüŃ~Ôöm���@f#ř���d8"`}e9Ë%Ň«Mâ»ýTTTČ-·Ś7B<Ńp»=ňĆoÉÂ…Ęu×]#%%%��€Čč0«wŢy·TUm˛¬ź?˙cŇzëňË/‘aĂö4/­ŃµVwoÎËk Ďp_����Âý6ßć6WsW€eß”ešű¦ěÍë˛m“n+ŐymmÝt���±éóËĺłąeţĺľsdô¶’HÚéçÚkŻw ýěşë`Ůwß}dÇwÚëÖ¬Y+?üđŁL™ň…|űíě&÷ѡżn˝őf:˙$€´&MúT:vě Ç��Đrhčçć›Çę`˛˛\2nܵiţŮ´i“Ľóλ2uętY¸p‘wą:˘űČÖ[o-ŁFŤ#ąąąŇś>ú­Z~_]ď_Ţo@ÖŻT����D.//Wżđt{§ňÍóŰäŮ<w›&Źinź$Ŕr°ąý¶]ČVů���€ ÷âĚ•ňÇŞ˙ňm d@§Ä6}đÁ˙Ę›oľmY׳gwąč˘ ŚŔO0?ţř“ÜsĎ}˛xńRËúżţőp9çś3%Ţ~űůĎö/ďż˙~rĹ—I$ôÄÓgśă_.--‘W_ýź¤šK/˝B~řá'ăö…ž'cÇ$�� ýéđ^'ťtz“N?””É“O>–6Ă~Ő××Ë믿!/żüŞ”—WH<lłM_ąůćI»ví¤ąĚ]U/“çm /őé”/Ç ŮJ����D®Ąę ���ČpKÖŐZ–»–&¶kÎüůóŤŕŚŮ A;Ë 7\'ĹĹĹ!ďŻÁ űî»[nşéV™3ç{˙ú·Ţz[FŹ%}űö•d›2eŞśsÎYŇŞU«°ďóÁ%,_ľÂ{ٲĺ��R‹Űí– ţ”•+WJMMmČýű÷ßVşté"oľůŽ%ôăýÂ[N>ůD9r„±üé§“ĺ©§ž‘ÚÚ:cą˘˘Ę[Ă˝+'śpś¤ş?˙\(&Ü-żý6_âiŢĽßeܸĺŢ{ď’śśćůjÝ^«Űky����™'K����d¬•ĺµR[żĺ‚âü,i]ncĐč<öŘ–á$´ÓO¸ˇź’’c¸‰=şů×éc>účŇô„Ř'ź|öţuuu2iŇ$I_|ôë×GöÜs9꨿ ��H-úY´hqXˇĺëŘ3cĆLËz ýyäߌn6:éíO<޲ϗ_ÎT÷é§źÉyç]÷ĐŹŹ>î‡6_€[ku­Ů}´–ך���@ć"ř���d°Őĺu–ĺN­ŰígéŇe2kÖw–u:ĽW$ˇ ˙č}ÍfÍšc<G2őíŰŰż˙ţ‡aßgÚ´/ýCNl»m?Ie»ďľ›<řŕýrăŤ7H›6m��¤–+VD´~~ľ1_¶ĚzżQŁök˛ďڞ,/]šşÝ˙<Ź<ůäSrÇwů»%ʤIáľÁ^łŰkz����™…ŕ���ÁÖTXO´+Jě!´iÓ-Ë»î:Řş+Z;í´Łě˛Ë ËşéÓż”dÚkŻáĆ\‡”řůçąaÝçĂCBŰm·Ť´mK��DĎĺŠO·F ÎŘ544ŘžKR’ľö|X^|ńÇź#Ţ´ËRs˛×ěöš���@f!ř���d°˛Mő–ĺ6‰=D5k–eyß}÷‘XíłĎ޶ç-É4tč’ťÝř{{˙ýBîżbĹJ™=ű{ă¶ľöşşú€űţřăO2zôXcš<yJŔýô¤śożx(ŕ~_~ůĄÜ|óx9öŘeěŘĂĺo;Ę ăůç_”ĘĘJÇűĽđÂKţÇ^ż~}ŔÇÖűżńĆ[rŃE—É?ţqś|đaĆóÜtÓ­Ćó�€ÄŘj«­"Úż¦¦ĆwíÚٲŢiŘŇO?ťlYîÖ­«¤ úÜ}÷}ňÖ[˙î»ďę­ož6¦áÇ6Ů®ë|Űu_'›6m’ćdŻŮí5=���€ĚBđ���Č`ĺUÖ«¸Kň{÷ŞU«-˱tűńŃ®?ÖçX%ÉTTT$»ě2ظýůç_ Đřh·=AĄW珱ŹÔ×'ţDŤžŕ»öÚqrĂ ·Č_L“5kÖŁŠŠ*ůí·ůňôÓĎÉgś#‹-–hüôÓĎrę©gČC=bt=Z·®Ěűs5Ď3uętăyŻşę)//��_˝{o-={öüüĽ°ö/+Ű`Ě÷ÜÓzyúégĺ•W^“µk×ÓË/ż*Ď<óśeźˇC‡HŞyúégdâÄŹĂŢ˙â‹/:Óu×]cÔc>z[×ů¶ëľ©Č^łŰkz����™%G����d¬Škč¤8/±Áźµk­cÚ·o'±ęС˝eyÍšu’L n5j?ůúëoĄ¦¦V>ůäS9ě°C÷u»ÝňŃG“ŚŰ;í´těŘŃX—h÷ß˙€ńúÔŔ;ɡ‡"Ýşu‘Ť+dĆŚŻä­·Ţ6B:ڝ硇î—ÜÜܰ{îÜ_äŠ+®6‚DYY.9r„ 4HZµ*–ĄK—ˇ~dŠfÍúNĆŤ»IîşëÉÎÎ��YYYŇ·ocŠÄá‡jt뫬¬2–kkëäŃGź0&'%%EĆ}RÉgź}./Ľđ˛DKk’+ŻĽĚż¬·ÍuJ2† ‹†˝f·×ô����2 ���€ V]g=™Q›ŘŕO"4=!“Ü4:ĚÖđá䨨ĐX~˙ýîűŐW_ůI°ż1Oôů¤ŠŠ ™4éSă¶WqÇăeź}öňžě+ ”łĎ>C.Ľđ|cűĘ•+ĺçźű±ëęęäÎ;ď2B?yyąrŰm·ČW\&ŁGď/{îą§yäßä‘G”ý÷ßĎŘ_»˝÷Ţű��š_ëÖ­ĺňË/1‚»ˇč>şoii©¤Š5kÖČţó€DJ‡EŐúÍÇţ±‡~tź|XR‘˝f·×ô����2 Á��� ŐÖ[»Íä$8÷Óľ}[ËňÚµ±wç±?Fii+I¶üü|ŁëŹúăŹ?ĺ—_~uÜď&óÂÂB#|“ +W®·»ńdI¦]ěĆŚ-÷Ýw—ĽţúË2pŕ@ ×´i_Ę’%ËŚŰÇŚ <¨É>ú|,ęÓgkďďh„tîÜY��@j6lO7îZŁ›O şí†®5B˝©äÉ'ź–Ť+#ľß´i3äŽ;&4 ˙ŘC?şŹî›Šě5»˝¦���Yę ���Č` ¶sŮ ľ4 S§Žţ úᇥ{÷n‹ďż˙Á˛Ü˝{wI&_ǡ±c–wŢiěfóŢ{H˙ţŰYö[·nťĚśůµq{äČFř':th'.—Ëxťź}6Y:č@)*jzroŔ€ţ©É“'óÜÜ9üđĂî§Á¨‡ŽüŠ|��xţyňÉÇä­·ŢńÖ*_ůkµ=şÉ!{Ă{ĄR§źŻľúZ˘5yň#ÜsÍ5W6‚T‡ať0áncźTeŻŮČý����Ťŕ���€¤Ůe—]dÖ¬ďüËź>ŢÄâ‹/ľ°,ďĽóŽŇúôém„gćÎýE¦LůBÎ9çLKŔfâÄŹüťwĆŽ#ÉŇşu1boůěł)ňŰoóĺä“O“}÷ÝGvÝu°÷ő0†ůÖ‚óm·Ý6iA&��؆ eň曍žĄK—INN¶tëÖ]öÜs9ôĐC¤¤¤Äń~ZśxâńĆ”)4Í6����H5 ő���d°d_-<|ř0Ëň¬YsŚ®?Ńúá‡,A"=I3|řpi.cÇdĚ7mŞ–O?ýĚż^»í|řáGĆím¶é+ýúő“dşřâ eÄ}ŚŰeeĺňÖ[ďʸq7ËQG+§ź~¶<üđٞxń‰ÔşuëŤyÇŽ��4ŻiÓ¦ËI'ť.Ď?˙’Ěź˙‡QŹčPX:é“O>+'žxŠ|óÍ·ŇRh7˘hi]tőŐW4éöŁtŇK/˝Ř_;Ą˘dwí���Ú8$����2X^Žő Ţ# Ő­[WŮe—A–u÷ŢűRQQ!‘Ú¸qŁÜsĎ˙YÖ ĽłôěŮCš‹ž *)iěň3qâÇţő?ţřŁ,_ľŇ¸}đÁI˛CY<ôĐ˙ÉQG!ŰnŰĎ{˘«ń˙ý˘E‹ĺő×ß”3Î8[^zé‘<¬3.Š� yičçć›ÇKUŐ¦€űTTTÉő×˙KfĚ!-ÁÉ'ź(­ZK¤†*W^y™%ôŁĂ~éäŁŰtÝ7Ůkv{M��� łpD����d°‚\kbŁş.ÁÉŻ3Î8U˛˛¶<ďâĹKĺĆo‰(üَ˝Ď’%Ëüëô1O9ĺdiNyyy˛˙ţű·ýuž÷ő-5núéçĆ\‡Ă9r„Ä›Ű^«¦ľ}űż˙˙üç>yóÍWĺ®»n—#Žř«äççĂ=ńÄ32sćL WűöíŚůęŐk��4ŢëÎ;ďö)LCŰN———KşëСśţy©sĎ=§IčçŽ;&“=üŁű¦"{ÍnŻé���d–���±Jňsd}ĺ–•µi]Ř>ůË_7şĚř|÷ÝrÁËĹ_ ;í´SĐűëđ^zÂĘúQC‡î!Űm·­4·C9XŢ|ómăö”)_Č?ţńw™:uޱ¬4ü®ÂÂ˙íµk×J kÖDĽÉĎĎ7~×:í˝÷pąč˘ËŚő“&}&C† ë1¶Ţş—ŃÉč×_“M›6ýŮęęę$77W��@|˝ůć;–N?yyąF7ś‘#GËź~:Yžzę©­­3–×Żß GyŚD˘}ű¶2jÔH9é¤RęďąÖV .4†7‹†/ô3yň˙:s7 _wĂTŁ5»™Öô����2���€ VZ”mY®¨IÎÉ í:cňK<—^z•\uŐ5ňŢ{xOâ,ňžÄŞ2&˝­ët›îcý¨3ľ’I“>‘ć¦CŤí´ÓĆmvă»ďľ— 6ËcÇF6ĚW۶mý·ůĺ×€űMť:=ŕ¶+VĘL”˙ţ÷±€ű ĐßčúŁ"鼴ß~űóşşzyűíwź“N:MÎ;ďByçťw��ÄĎŚÖn}ú9ňČżI»víŚIoźxâń‹µk×ËË/ż&Ď<óś¤ýŮĆŚöţ ×ĐôęŐ«ĺ–[Ć[B?z[×ů¶ß{ďý’Šě5»˝¦���Y¸����Č`m ­‡eŐ:dTâOčUÔ×_Ť÷ÄĘmňí·ł-ŰfÍúÎ"ĄĂ[LpŹq{˙ýGIs;ö`ůᇟdŢĽßĺ­·»˙ôíŰ[¶Ýv›HĆ8Y×˝{W#č4eĘT9ě°štDúý÷?äąç^ ř<Iž}öăvŻ^=OŚMšô©ÔÔÔ·{÷î-á>|O˙ëÓçŘvŰmeđ`k K‡!»ďľ˙xO ­5¦ŃŁ÷��?Ë–­°,ʵ_“}8`”<öŘ“+­+N;íI%.—ËčYPot? ĺ믿•cŹ=)ŕöiÓfS0EEáwpL„Ćš} {M��� łpD����d°%ÖˇÖUą%YŠ‹‹ĺ–[n”G}Â{’ć-#¸‰¬,— ¶§|ůĺ ihh|Ý©ţѡłzčaŁÓĎôéŤWá|đ‰Ć!‡Ś•‡~ÔjâškĆÉAŤ‘vŘŢšâ§ź~’‰?–wÜ^,řÓşĂN» éďwăĆJą÷Ţ˙“ďż˙^öŘciÝşÔ»˙zŁS’I¦th±żüĺ0 —őqĹ—ÉĄ—^a rőŐ×Cn <Řű˙·Č{"rą|ôŃDzhŃc˙w2BQ�� qś†§Ňş!˛˛RłłŚ†Î9ç,#ó⋯$|®­·ŢZš“˝f·×ô����2 Á��� u,µž$Xµ1>'…ÂĄťÎ>ű ă*ôÇRľůfVČű艝ÁĘ©§žltĐŃ!î¸ăΔ ˙h fôčŃňĘ+ŻËzúČ‘űI44óăŹ?ĂyiWž7ß|Ű|ştŮJ.»ě9÷Ü ďŻ]ţőŻë˝ÓÍFřgҤόɮmŰÖrÝuWK§N%ýűo'˙ţ÷mrÓM·ÁŁO?ýÜě† ŮM®żţZă˙9��ź®];Ëďż/đ/ňÉgrÔQGXöůôÓÉNÝ„R…Ö'ź|’ôęµµÜ}÷˝ţn†‰°˙ţ#Ą9Ůkv{M��� łü���2ŘVĄy’—ă’ÚúĆ«˘+kܲˇÚ#­ \’L}űö‘ńăo–ĺË—Ëôé3d֬ٲjŐjYłfŤäiÝş•ôčŃCvÚi>|¸÷vw˙}µĂŚJµđŹvřyőŐ׍+Î÷ÝwŁĂQ4˛˛˛ŚaŃ>úh’Ń=çĎ?˙”úúéŇĄłńłvءRTTô1tx°§žz\Ţ~ű]ůę«odɒŲiSµ´jU"Ý»w—!CöC98ä㢞xâQŁűI¶|ů2ٸ±Âč*¤Á ŘßčÎ��âoĎ=‡Z‚?O?ý¬19r„1× Đ3Ď<'±čСťŚ5RN<ńxIuűí·ŻôéÓ[îĽó.ůí·ůoŰm·ŤăЩɢµşÖě>ZËkM��� s…űmľ+Ěm®0ć®�Ëľ)Ë4÷MŮ›×eŰ&ÝVŞóÚÚşé��� b/Î\)¬Şń/ŹŘ¦@tJżkěť”víµWCo��´D6l“O>]*+«ÂÚż]»6ňČ#Iii©´d:ĽŮkŻ˝./żüŞ”—WH<hčçĆÇ›ËÜUő2y^µąO§|9fČV��� ryyąĂĽ3ýBą|óĽÁ6y6ĎݦÉcšŰ' °lnżmr,ă,���Ńzµ/´,/.«—t¤Ýo®ĽňrÉÎŢrŁťzčż��ĐRµnÝZ.żü#đJNN¶\|ń->ôŁtxŃż˙ý(yö٧äôÓO–ţý·•‰Taaˇlżý�ąŕ‚sĺž{&4kčGŮku{-��� ó0Ô���ázw,ĎćnY^°¦^úyO–¤áeNĂ~ä ��@K¦CjŽw­Lp·TT8wţ)))2:!îşë.’I4¸Ł ťŇť–·Z«›i-��� łü���2\—ÖyҶ8[ÖW6ËnŹČÂ2ŹôiîČŔ©EĂ?yňŕ˙•ÜÜ\ąôŇ‹�� ĄÓđĎ“O>&o˝őŽĚśů•,Y˛L<·tëÖŐ¨ŹĆŽ=XJJJéKkt·©ÉżÖđZË���Člá~“ď s›+Śą+Ŕ˛oĘ2Í}SöćuٶI·i_Ú¬ÚÚşé��� *źüĽ^füľŃżÜ»C®ŚŮŽN9���@Şřđ×Y°¦Îż<´o+µ}[���ťĽĽÜaŢ™¶Ž/ß<o°MžÍs·iňćöI,›ŰoŰŰfHĂćý����âműnĹ–e=ˇ°ˇ:äń���€$ĐÚÜúQö���@f"ř���Ŕ" G;k‡źą«ę���@ół×ćZ»3Ě����Eđ���€aPĎËňwKj¤¦A����4#­Éµ67Řn?����ü���`ŘŮ{ň uQŽŮíńž`XV'����šŹÖänÓ(ĽZł´…ö���d.‚?����üvďÝʲüí˘ŮXă����ɧµ¸Öäföš���@f#ř���ŔoHźV–®?ęŰĄtý���š˝×Z]kv����đ!ř���ŔbxżRËňÜ嵲x[����$ŹÖŕZ‹›Ůku���� ř���ŔbpŻéŃ.߲nęďŐŇ@ö���H ­˝µ7Ó]ku����0#ř��� ‰Z[–Ë6ąeúÂZ���xZ{k nfŻŃ���@ü���ĐDĎv2´o+Ëş—ŐĘÜUő��� q´ćÖÚŰLks­Ń���ŔŽŕ����Gٶo+]ŰäYÖMžW-ËĘó ���H­µµć6Óš\ks����pBđ���@@cvn×dݤߪeCµG����ÄŹÖŘZkŰ9Őä����ŕCđ���@@]ZçɡÚ[ÖUÖ¸eâ/ŐRU'����â@kk­±µÖ6;d`;Ł&���€@ţ����jçĹ2|›RËşµ• ňÁÜM„���€iM­µµÖŘfZěY"���� Á����!ŤčßFő,¶¬[µ±AŢýiĂ~���QŇZZkj­­Í´öÖ����B!ř��� ,c¶—şYÖéUÉoý¸I–•»���@ř´†ÖZÚŢéGkn­˝��� ����„í/;4 ˙TÖxOXüP%sWŐ ���€Đ´vÖZki3­µµć���€pü���=aöKMžW-_,¨•š˙����Ž´VÖšYkg;­± ý����TŽ����@„tčâül™6ŻÜ˛ţÇeµ˛d}˝ěŐ·@z´ć:���Ŕgń·Lý˝ZĘ65MĘߦTFôo#����)‚?����˘˘'&ÚçĘ;sÖZÖ뉌w¬’]ňd×nąŇ*ß%���@¦ÚXă‘o—ÖÉÜ嵎ŰŘNö,����Á����QŰąG±t,Í•ż_'Ëʬ'2ôĆN»öĚ—]s%?[���€ŚQÓ ňݲ:ůvQŤăö®mňdĚÎí¤Kë<���€h…{é­+Ěm®0ć®�Ëľ)Ë4÷MŮ›×eŰ&ÝVŞóÚÚşé��� Ů|ňóz™ńűFÇmYŢj~`÷|Đ)GZĐ���-׆jŹĚ]U/ß-©·Çyźˇ}[ɨíŰ ���€ć“——;Ě;Ó±xË7Ďl“góÜmš<¦ą}’�ËÁćöŰvÁ¶ţ����›EëŞeňÜ ˛x]MŔ}zwČ•m;ćIŻ6.ÉÎ��� í5xżö_Xć‘ßV×Ę‚5u÷ëŃ._F h-=Ű���€ćEđÇyÁ����2{a…L›_.ŞęîŁ]€zwČ‘mr¤ki6ť€���V´łĎ˛ňY\V/ ÖÔěîŁZĺČđ~Ą2¸W‰����H ś·ü���ŕ7óŹŤňő‚ŤA@>ĹůYŇ©U¶´+Ę’6YR’ď’â<—äş$Ç{4@w ���$“vń©÷~Ĺ^]ç‘ĘZŹTÔx¤¬Ú-ëŞÜ˛jcTÖ¸C>†~vďÝJ†ôi%����R Áçm����4ńýâJ™ł¨"č`���@KˇCz ěQ,{Ňá���HU-%ř“#����`;{Ozč´|C­üĽ´R~]Q%ë+���h)ÚgËvť‹dűnĹŇĄuž����@2ü���4zD§QŰ·5B@ VW˵›dÉşZ©­÷���.ňr\Ň˝]žôj_(˝;ö���Đ,ţ����hľа~ĄĆňĘňZY]^'k*ę¤lS˝”W5HEM˝T×y¤¶Ţ- n���’&;KĂ=YRë’’ü)-Ę–6…9ҡ$W:–ćĘVĄ}����4?‚?����R‚ž8áä ��������áË�������������i‡ŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†ţ�������������iŕ������������†r€źÇă��€LćrąńC} ��2őe|Q_�€LG} 4Eđ…c��€ŕBŐKX[Q_��G}ęK��€ŕ¨/¦ţ Eă@�� ľěőU¦HS_��Äő%ő%��@<ez}‰ĚDđ-N¤Ë\��8 ç Ř\KµÔhęK��€ř ľlD} ��Ô—@#‚?h1�‡s`ĚÁ3��€•GÚ6×·K9€¦ľ��ęKęK��€x˘ľ¶ ř´çôěCŢív ���‚sާ˛˛˛îc>XN÷hęK��€řŁľ ˝Î‡ú�� ´L®/;‚?H[á0ë˛Óşp/Řz��€tčŔ6Đzű ÝĎ·ŻÓÁrş@S_��ĆúŇŠú�� 6Ô—@xţ -;hö} ërCC±¬·ÍëÍű�� 8ß•2ľ`]ÖŰ:ĎÎζ¬×ZË©…nŞ<S_��$ő%ő%��@<eB} Cđi%ÔłNz°\__ď_ož›ďčv¸Ď ��ÎBČ:]ůâ[ď;áŰGç999ĆA´<Ű´ÍŹ‘jĐÔ—���ńA}Ůú�� >¨/đüAÚÔňV?¸ő@Yuň­Ď–ŤRµX˛=ËDęWŠ4¬óî\á˝c­Ţ[��� ďŻ+O$«Ä[hµóIl% ®®Ríî! žVR[[këÁłNz č�:Už#­/×7dÉ5Ůňç&—,©öČŞj·”×y¤Ć­'h���Đ’0?Ë%Ąą.éT%Ý \˛uˇGúä7HŰlwFÔ—őžlŮäΓʺ,©Ş©öÖ–µ ş?ß^��DJ+B-ó˛E Ľ5fQ®Hq®[ łj%ÇŐ–ő%®p˙ĹşÂÜć cî °ě›˛Lsß”˝y]¶mŇmĄ:Ż­­›.h‘]%ă»:¦®®Î+—§JŠł~öţřA¤nˇ��� r{‰;o'©to/W‘±JžsssýWŃ8,7×t$őe…wöMUžĚ\× ó+j�� ú•dÉvٲ[Q­”d7®k)őe˝Ű%Ý…˛¦R¤ĽZ���Ą"ŠEZem’ś¬ÍM$R¸ľDňäĺĺóÎô‹ßňÍóŰäŮ<w›&Źinź$Ŕr°ąý¶]Čëţ Ą9]%ăóZuŇĺW…”¸ľ©š&\��Đ\Ľ%{Ńp©đě!őžă€YžuňŤ©m?XNöÁs¸őe™;[>Ű+WÖŃÍ�� ™h©xŕVą˛_ë:i“ŐÖőeäČÚÚBY¶ÁĂ·—���ÍD+Ĺ®­]Ň>o“dK}JÖ—H.‚?ÎŰţ .ś}“(×ÔÔřÇÁnť=S˛Ş>?���©Â%î˘dCĂ˙řŮůůůţgßdąG‚ #©/'UČkKë ü���¤-Źč–#ű—T§e}ąľˇ•,ZĎ·—���©B+ĹžmEÚfoL™úÍŕŹó6‚?™ů Ů<¶ŢÖ–¸zЬó‚ě5RX÷>Cz��¤ŞÜ^˛)÷`©nč`´ĚŐgťű®žQććD<‡[_.kČ“– Cz��¤(ěŘ."]łkÓ˘ľ¬sČ⍹ é��˘t°­ę$×Sݬő%šÁçműAłyҶ¸zЬ·[ĺü"9•Ż ×É���¤:—Ô)ëűĆzđěkťëtőLĽžĂ­/gWçË# čň��â´\<łW¶ .¨Iéú˛ŇS,ó×fńí%��@ŠÓj±_{·»*›ĄľDój)Áź,R€ďŕŘľl?hÖ+gJłgKNĺ+Bč�� xŚÚMk8ßZŰŮë=˙޶娟5‚úrJeˇü÷OB?���é@k6­Ý´†KŐúr»•Ě#ô��´fÓÚMk¸dÖ—@<üAł 6¶N:vmm­ńAŰ:gŽdW˝+���H/ZĂi-§5ťÖvZă:xV±<GR_~QU$/,®���¤­á´–Kµú˛ÜS* Ö ���ŇŚÖpZË%ŁľâŤŕšU¨f [?Xu^šű+ˇ��€4¦µśÖtć/Ţϑԗsj ý���¤1­ĺ´¦K•ú˛JJý���¤1­ĺ´¦Kd} $Á4›PÍš¦Ô6jš¦ĚĎZ%9•Ż ���Ň›ÖtZŰiŤ§µžÖ|ń:xޤľ\Zź#Ź,l���¤7­é´¶kîú˛VňdţZľn��HwZÓim—úHŽD2ěÍš ô}7LaTl��€ŔcÔvľ“$ZóŮžăöLAęË—Vf Çä���éOk:­íš»ľ\ZYŔ·—���-€ÖtZŰ%Łľâ…ŕš…ýQ?,ÍŰtňµOk—÷ŤHÝB��@ á­í´ĆóµĚµ0›kCÎÁt$őĺg›Še~…[���Đ2hm§5^sŐ—ĺŇFĘ«���-„ÖvZăĹłľ‰ŕ’.Đź9%©­ÓtĘÍŞ”¬ŞŹ���-‹ÖxZëůęľPWĚ;xޤľÜŕÉ‘×–Ö ���Z­ń´ÖKv}évĺʢő��€Fk<­őâQ_‰FđÍÎéjm›¦óŇěo„!ľ���Z˘ĆZĎ\ű»j&ÁęËĎ7ć3Ä��@ ¤5^c­—Üúr}}1ß^��´@Zăµ^ęK ŢrHľq±u®-ÓtĘvU‹kÓt��@ˤµ^vîoíWhÔ.—˨ ł˛˛ŚŰ±pŞ/«<YňŃŞďöC* ��¤şë´DŇZo˙VYRĽąţKt}é–lY^.���hˇ´ÖkŰ6Ű_˙Ĺłľ≎?HŞ`ccű¶űZĄ•ćţ*tű��hÉk>s hÎXّԗłk “ź«Ń'Śd��Hu)\ßčÓ5Ö|É©/«\%|{ ��Đ‚i­gÔ|1Ô—@2Đń)Á>>¶~Śf×ý(@"ń·�ÂÇĹ H”ĆšogŁĚËËóׄń¸"Ű^_~µ>íwS °ŕ‹��®¤^ť¨FIĐkĐšoxORę˵U(��´tZó•Ćżľâ‰ŕ’Ć~"·lQS‘:ĺ¸*Eę çµ� ąâńąËqykľśÜJ©w—řŰäšžíŃćĺHęË2wŽĚŻSđ'Î…��lńŞ?b:ŮáôâpĐ 5źÖ~m¤!ˇőeäJyµ��� …ÓšŻˇ0×[ÖG\_ÉBđÍĆé@ZÇFTE9ËĽ' ŕ�-H°ĎtŽ2›Ö~ĺu۵`vvvÔĘÁęË?ëňĽ˙Ť!řcQ’p…��—č ň`5NT';ĚŹĂA‚Ö~ň7%´ľ¬‘B��@fĐÚŻH6Ć\_‰BđÍΗ4®”1ś=’+Ë™)Ţçĸ‚�+^4öŹkŽ“2Kcí·ŤQ jMčtĄL$śęËE5YUđ'ŠZ"şúš��4§hj‘൚SMQ}ç»5ˇÖ~ň= ­/75d ���2Ö~EŮń«/x#řfa>đ·ßv»=’Ő°ŠS"ąÂ=�Đ|B}G˙Ĺşů1-śÖ~Z«Cý[ U_.­‘ČDX_„_ŹDX·Pç��€ć° T§®ŰĚ5SŘÇ Q€´öKt}ą©^ďO­�� ´ös»b«/D"ř¤t"Äľ^’Ćú†u‚–-ÚsXц|8g�ńÎqLĚWů ! Lŕ«ý|µ }€ć`ő@ úrUuÝ~"(B×%a<VÔµ Ĺ ��Ż€uz¨şŁÉýśö^ÓąÂ;¸đ|MůjżDÖ—ŐuÔc���™Â¨ýr#«/ !™ţ Yůś}írýÜ‚–)ŇsTžNľIL8�[„sPěc3ŘÝíź·‘�Eq±/ŇÖ~›˙źúęÂhŰĺŞ/ËCť ł)ěâľq©E¨g��@(ę«HjKŤćtż a C@akżDŐ—µ ��€ a®ýb­/D ř”ŕ;hÖ”¤qŰS+hYâř ÷ńó�@t˘ţŇßű>ňą" �q<Ő‚xk?ďáň–îŹqřűmŻ/kÜŃrĚŹ`kDŹňçŁ~��‰K­±ąTĎřkú ᅀ �اfó0_‰¬/Ýa6”��@úÓÚ/Ţő%Ob<¶9Z‚x…t<žčďkě#�€xhrínĂy…Š´Ő?áź–$‘5 ď í@›c ýxÂzĽ€÷Ź&L��Đl\ë—� Ç c(ĘályşÖ—��€Láq¸¤‚?�*śĐOđqÔŁ¸ŹÄöś�€¦Ě_¸úµ|}č ˙vó6i"Ü«| ˙ &Q˝:đăx_ÇÇ‹Ľ ‰:��eńÜx· G’ţŽá~ǡşś@apP���� ĂüAŇŮÇĂ6ŻGËk—çseö•Č;Ôó��¶ŘňÝĽ'Č>›żÔwÚ&Mď((�Dř'ł«ý[ŞľŚ*ôEŕ§Éăx‚oą!Ć}�@f §g »Ř×ĺ˛×".Ǥ“š.Â�P´áź¤Ő—���ČŃÔ—@˘üAłă€ąĺ‰ĄËO¸OŹęµđĎ�băręËĽ%T(P�(ś&Â?-OXC;ąo˘¸oŕ@Ođ°O OTĂ€5}\��€¨xś*öÂvż&A ËS¸š �EŘý'ÄAABëK���dśXęK Ţţ�Hşp:öý<Q?Ž„|-|�ÎB¸8m¶‡ě! §!Áě p»˙ ˙ ,‡~büXW»OÓűJČ×��/Îý-››†qśĹezśĆ5›—š„|,ÇM@NG!N°pP���� üWˇ/°Ö ři˛-Śsgˇş E6’†óÎ$z´TŤ_Ş;osWëÚ×5íęoëä 9]ô+Mżä·ŻĎ÷ü™!ęÖą‰ ý8~†}BýaŠ9śí���„«Év‡ĐM° ®,! ŕ Ë`at˙‰gř‡ˇ����¤3‚?�â&śÎ:Áö7đ(ěŁóPÁ @Ďęµ…Âř�ŇY¨ď¶ż7w9¬w ą‚>O“€Źí^ˇ‚=Nű�± ú‰5đă°_“Çj˛ź,H< ó��âĹVo¸ÄĺĽÝRŁ7 ćXęs§RĹtŃ@ �Pčî?„���� üń ý„ř±Ţö8źW“đ@ŤĎËI4�™©I×qůŰB}lÝ}Lß×[o7 �EŇýÇü%?]–€�c ý„řqxŚ€"‡šÄCÇ�� ¶ÂąIbîÂ#¦c‡Ž=ľŰMšőŘ/`�(d÷źÂ?ÔG����2Á�Iič'Tŕ§é:ŹóóHč�’ťÓ06�ĐRěŚo ďضy¬Á ¦]}Ëżĺ$@ �Çöˇ‡ő |…/áD/DčÇ1Ěc»Ń$8ěă‘Ŕ q OS��€8r¨-\öT}ăĘĆE±.ëv—C§I(@�¨q»ÇşĎćî?á†���� ÓüAłiÚ‰…“é*’n?öŽ˙v€űŘϓٷه÷r»Íʤ4姇ÖeZHhIś>żíźs¶ďů׉§i‡qúFß)8�¨űO´á¤'§1Ü˙Ǒ֗A˙î‡ú‰8đcűxB<źÓërŘ�� .ĚÝ{¶¬”Í+7ďŇ4ŚcÔ6› ü&! ëC7)k<bm>ŘüŘá†BՋɬ/��ĐňĹR_‰BđÍŽć–+–ĐO¨ŔŹoť/üŁÜ·e˙~âüĽöÇSM¬q8ńĆo�-IÓ Źs·ź-!çáµÄµĺó۲vOs�9u˙ 7üH¸ű!5ĹR#†s߸†~‚~…}>ÎŻÁşŹóK��IăŐPÖUF1mţŇÄeŞI6}lÁś&! ˙z˙ClŢ_lŹ›ŘđŹoźhńý%���쨑Jţ�HHC?Ö®=ÖNMĂ@[–ŤI„…Ä90d>óöPç‡ďFř@zrúčrú<tY/ęÝĽnËŐżÖďÝ‚@.ßq°.@Űň–çö}i,üc˙ř\Fl˘ý8l 7đc}ßY·[¶y‚ĽNűk��’QK7))\Ö:Ă ň‚üA Ó°_ćŔţć›._íÔ$�ä˛Ö^Š!ü����™Šŕ€„s®)Đ>öĐŹ?ČFŕ§ńţq7=żćßĎm[vz-M—Ă;yĆIf�é(ÔGś9Äłeťďľ˙˛ąűŹSČßÁgó`ľ.@–PŹG,‡ţ±|ß/?—íű*ŕßűˇK—˙ÜŘ1‡{Ä!dz¬&ë,/É!dy-!Ö��DŔăT0ŰÖméęi ąĚA ńwîń€|Á—e÷Ćç{~ǵą†ňu 7üczLľ«���ˇţ�»`áxÇľÜäbřÍáwÓÇóNĽ™÷÷ ýĺ_vx\óc;q…±O8Ź�éĆĺr…ü\3‰î»wËwüć/čÍËâ_ďňÚ'öđ_đ#zAşč ýXÖ;|Äăř1…‚š„}<ž×v›Ž?�� \N]s<¦ućc ďë´yŰćŽ@ĆzS' ĆÆ- {řÇ˙ć’Ćl$ücyŽ����d6‚?�˘Îy&§ŔM8ˇ§@ŹyH/ßv·i_·¦„ĚŰm!"ëë2_Ń/A·@&p Îü?{ląrť‡‚+ěńŚ5×­;ßË™yI‰8H–(QO!Ú˛,ł-·l‡ý"­E[í_v8^w„tG´Őţëĺn?Ę´Ý–´fѶHQ˛DJ$ÎĂ%ďPw¨[·¦3ď@v~+‘Ř lě}öŞę ë«ÂŮ{‰D"‘�V®üň[J•·ëę}*I@ö·OčÁş ë˙ďřäůĺ{ ˙řľ‚y §iô4ňÍ.¤ź˛ĘŹ.|¦~ĽăUł˛ĽeűDě@ ‡�Ëß)ŮŃ>éß'Öd„ í©üH@™=d @T$�QćŰÁ>%ĐDčŻÝČ?ăNůäé@ ‚Ó!ţ‚CĹ4BÍ4"Í,Ň<n,,ĹżÔo3é,ĎÇSrˇb>~šie’q4@pÚˇT™ÔSŢ^Vđ)<ż??CÁçAËÉ;ßĂPQ%‚ł?Č󼧧:´;ůǡŕďö‹¤źBš*ŇO…ĘO9¤—vJyߊcéIăĽ=©ŞÜ@ G)´—§řă“|rŰ^Ź 9çăT€|Ť AD•ę?Uäoë.ä@ @ 8˝âŹ@ ¸§O×»’~0X Âđ=Ń'ľŞO1Gry•óöO~/śÉ8š@ 8mFô)o› í5™HĺĆÎűŐ}@RvđČ<·Ă”Bm‰@N‡üłŐ8LUű©NťíC%Ă`ŇŹ®TřIú]Ň˝Ži˙<Ý4…tT2^Anżę„2 ^ Á4¨*Ăżđ]ĺ6ąż^yŰ(ŞSĐ^¤°ŮfvOQ(SńÉvgňŹGô)xöVąz(Í é%Ş?@ ŕôB?ŕа›ÚŹž‘®Ţ+I5‡ńbĄěs'4Ą¬ě“O.Łńŕ“JůŹQ:~af™ÁéĆńÇwŞ—Č>.ý4{†‚čĂ‹Ňf ř;“R<»SR Q- H‡…URJň™5‘7'É3[pč)J;T"ý8˘ŽGúŃ>9§ŠôcţÇ[whýłżG;_ý3ÝľVIŘAČ;GčI’$_‡Eł”N¤«ZW8*ŢłţöIrśÜD@ GĚ"·Ězżízű¶EŮvđóp¶‰UőL'Ň}=š¦Ą§>@gŢ÷aŠ–Ď‘ĄđĐX¸ÇĄu} ĎU“‹‹fť1ů‡DőG @ * Ä@°/Ě;>4ŤôăM’ź$ý$é'±„¸x@öĹšú„TĐ ¨¶@)a0,°NŁlčMgޤ˝cŞ"¨ę&hÚ ‘@ o¨ůVW)ţhďw¦É3Ţ>AR,ůĺ6 RŚş4 ¨Ů¨^#Š“ń»€źáZĺĘ>™¦ONꦇüň!3|UKíÇSŰ)&źBúńHAŇOj×ßü˙‰nüţ˙NiÓ,říu^’Ź[ü{Î-弧‡\Ýżr@ ‚ă…*ÁÁ'—í*ű­÷÷söJ†ü9şöíĺú'?N—?üżŇĹý­íĐů‡óP3Č?äř=šü_“÷ÄĆ@ § Bü‡‚ij?Ői§íg >$†żŞ?¬â“ÚőqlއšjŤEáYłGŇ$,’Šá§D8ňŚgçÓ”N(źf‘ ž '•·¶Şü:&őšŘWy*ďSeE#óĐ ožăĂŐ"ó@­ĂŰ?VkăglŔüđJTTôńC~•±ŰD_™,¨„7Xĺ­,n÷I?UY¸ď:Ím‘tÔ§—ţ÷˙;m}ýsĽ©j`͡<ăäŔ}úßý7vţ,•źY¤źrz@ ǺҦ™´ ¦Ů$ÎĆpäť™ßŰĎ©Á6)+9‚˛Oâď&ÝŤßý˙R÷ůoŃ#˙ë˙FA­É KčŘÖRžÝS,/gŘ-4ŇKŚ}@ @pĘ!Ä@p×°[Ż˘úĎX݇gd»Ř^At–Ú«—©ÖĽLÍ…Ë&eͤµ3ÉČsM oMĺůLn8Ĺüž T î6xx?1mâ¬í`Şň‡˘9VS©ń8Š?ÓÓ!ĄIźÂćmJ†·©?x™›kT‹…!R–[&*KţQŞä̧˘??×Ңî#Ř+vSűq\]ťĆWűńU~2Ň@/~ôŁťď~Ą0X6ëZÝŢ«ßĂeÂNy€­¬TVráĂ\Úň ť@ ‚ăÝúâóôáńÝ‘v€*űÁ­‡Ýŕl ·ß´´ĺď D_ý˙ zâ˙ü˙"ţm�ŻtŰ—ŠŞ?D]ň«âěHlÁáB¤@°Ä·"î7„ř#î)ĘýdGú±cecĺ·pŘ/¦~†Z‹o˘ĆÂCTo]&ŕŕî`"ü™'ů]Ą p?ť Ó$Ëý‡łŇ ‚ĂOZŔŔ@Ěł|`žŰk÷oĐć­-ęwnR»QłaŐÜđ,WŮ'µőř»`byŻÝC~UĄ¦BWÍŚŻ0T¦…řŇăő9éÇüyéă˙Oę|ď«ďĹ ¦cú€śkÇĺ_@™Täî9w¬ňĚ}—Ö˙=M@ ÁńŔ~í]ß.mŕ=.OGčqĘ‚Qń:„ńšFú™¦JtN!6lĄ‡˙Á?g›ßRy(˙v ůĺm±ß´¨ţć‡Ř˝@ ¸[Řď;Fü—ŕ° Ä@°gL’wôômSŇ8˛OUŢVá'eŇ„Gq@qRŁľD‹í+ŐĎcŹ/1î&Ş$Áń™$ ŤFŁ|ŕđ¨ĺ­×뼸ßŕîÁ=ç'IĆŃ6ĚMx†×‡µ Ł&Rňs~ÚŁ\g$ 'éVĄúS<¶Üă‚ JígŇI?_ú#Úřâ§&Bs-//ÓĄK— ‡Ľ~ý:íěě;ĺŮ÷�Řđ.sy–‰?n°ďf÷~ögî—ÉBeE!y? @p|á“nüw|Őd?ťż ]ÇlG8rŹowřźĹĹENŰď÷y»O:vé`ż /ä ?‚++lĄĹ7ľ“ÎĽócňʞ>˘]É?ü1ŹęŹŕ´C>@ 8.őÎźŤ@ Ř „ř#î ŞĂST“†|µ„ôŇ<€eż'©¦Ql–Ä zQ›ÂĆ3`Ľ`,7;mŇ‘%}űĂGYM�Ž>8î¦Á„ÜĚŔűe ÂÉxŇŤă˛S×ÍÎ< đgúp3>łáśď�®k­Vă6=Ŕ9׍ĆÜű~řź*Ő¬Ş´îZűI!dM…g·yfaŰ\˙şyľ÷ â>.’|ě.: V•×ř·t~{‡1ŞVű™Ë†đH?ä‘~°îÖţ˙*É;řjµZÔëőřw»Ýć{ÚWÜ)qđéH?ŘןV Ô!o÷ţÜ;Đűa<Ü@ťÜG@ o¸> ëců¶y¸ĽŔfp—(+ÂvM2i0äý—6Űůť?žÉĎ·oߦµµµBynę?ÓęühFčqj=4&˙ěbźXľĎ,Ő™pšpWH>â\ÁAqţ–*"·@ LÁ]GUH(=5ÄWi[>Ł áľŕ¶ r‰}:©—wćpňVŕţ€%Ľ;vüaF SÝ>P×pĽş^8cQßGˇŕf‚–ŐˇšÍ&Qł±˝˝MwîÜáďÎqľ´´´ë~xnllĐúú:· ´‰+W®ĚµŻ®śůŽ4´ńDZ–Xp¨Śh�Â0`šgyŔ„Î(ЫĤŤ2b‚Icžé;–ŞůeŹé…ô˘éáľ‚ą0ÉJž©öă“~|ŐźîwľDýWžźrKČÁ»ßńśö‰‘Žś”gŕ;”U„Üv‚đéfç»A8?¬†?(çŕBu@ 8ľpDŘnňŤo_8{Ŕ-x˙űa»đ [ľŰí˛Ýď+Î^Ç‘~\ý˝rz÷ů"?ě´N5Č•kpý*ŰNí7ü�©á'űŽóˇú3µs 858°+v°@ î6f˝köi»řď?! ‚2„ř# 9IÇ9sJŰćéSłęOŞYńGó§]tÎ(†ź-8ÂÁćć&ÂâĎĘĘ ť;wŽŚpFÂQBHyPŽA7€é;,«°ő“y€ňŔŮéH4(3Ęŕ<ŽźÎi 8窛!éęŔÍtÄŔ.ÎpŽŐĂ2Č]X(<lmmĺĺ^]]Ą .đzśŽďĘćfiNĆÝ)NřĐXçĘ} ľ0Č ‰s gÎśÉëevő Î&ĘěËÎŁĚŘeőÉ)ţő8Žpç…zÁµpŽ.ÔŹ»OŞ€zB[i ę ×÷#�•‘ŞşÁµq*An/ě‹65M1ĺtj#8nŻ×eâN˝Qç}ŕe=÷dźß*Swł‹{7đł>H)HCŇÁt%źYŞ?U @ĺu2& ˝ËV]4fô8Ä—#użýĹ©űăľĆ=„çł{–Ń|˘Ź˙\Ćý…mţsÔOďfŘ»0îXĺ™ţj‚ íťźŘT@ ś”mcßđU|ťŠŹ#ţŔŽ@Ăms}]GLvv?ú™®/éOđđ‰ĆÎ~ąyó&űĐŻq¤$WFüŢůćç©ýúďw4ňË&«3*šP-˘< @pұ/»uź¶®&±‘@°w¨yl“ŞwÓť–ľm%€Á]Ĺ~Ô~Rí~đ=ßÇ0cCFyłĆĆCç~λgź}–ž~úi&ĘŔÁÇG}”Ţóž÷°âČúľqă@,pŽĂ‹/2ŮĆ…sŽÄŞPQnĆáaÄ^xUR@VyŰŰŢFŻyÍkxś›Ď?˙<;,q\Gž±D‡+ظ˛ ÜX‡2b€D �|?,CÇqŠ0ׯ_g‚Ź?ţ8ť={–ëřęŐ«\ź® (7M�°pěâ·Slqu˘‡#=¸Ž(#Ž…öŕ®#ŽăČ;¨+”Ňď�ĘţŘcŹM\[8Ťqmp.NA ůăš`ÚŽ».ţő8ŽpJINj@ť9śë4âęűÖ­[ů=€úC]=üđĂy{đkk„ű�m ßŃĐŢ‘Ú ęµH˘ŃůŚ_¤E™_yĺ.?îu\Ësç@VbşŹŰ‹řWęž˙.LB ŔŃźR…ăľď Őŕ ´QhŞÚOqź1é‡<BP˙ŧ§Ď8GŔsđCfú÷–?`çŇ”Ó|¸őn€ÎíëŚÜ:Fľ}@ 8đŐvĘ6O*öCr9;6żëC¸mn˘¶Łß»ß…ÍďČĆ~9\^řDżý ·ŹObŐź—ľ;¶ł2»źÉ?Jg„ýśío?¨¨úŁ'TA%đIĆžm×9Ó„Ü#ö´@ śNěfoĚz·Ě$•ß+sÚ5B�BüÂ<ťÜyúÁ9(ŐąúC>#Í˙žçUžą.FÍQ€#€t Ž€O¬yÄ@Î�™�ŰÜ`$ 8eEąáŠő�‡‡Iî€STŕÔůÄP7h‹˛Är9âŇŕÓ©Ň ÜNíÄŐ8ײ’Í^á¶ q\»vŤ^}őU.—SÍątéRîĚĹoś‡ b ęepj.(·SrjN}ÉW×Ů\ľNMÉ9zťűŽ:weDŮA:r„0·íÂ9ŽťsŮ)ăŕ<}%”˙8p^Žüóp~ <áÜ}˛@Řő 8…GFfíëfđ˘ŽA$C9Pź¸n Üt×�@:´/§N‚ëg9ëüđnšĂ}YľD6Đ@j"‘#…şçzUź5đÂ}ŮőâěĚÂX­gĽj;¦Bí'ßâ…âµÓó0iÜso|Rŕ?§aýuţě}?>qČßÇW@p|±›_ĆW,ŻsŞ?€ł#|U[—v ?Ś·Srů•Ő†ŞBŤşü™üżq‹,‰ÚíĂ)Ć2ťs«ţĐxźÂw!eśě‰\3ŻmÇĽ‡y ŕîcÉĽĎöŞĽŞŢCS휲tÎr‰źG 8˝âŹ@ 8ŚÇÂĆ3±ĘŰg©ý¸}-éÇîo•˛ßÚ7Vě±vłĹÔX Bp4ŕHp‚đá�RH? y€Xŕ~ÎU–üŢŮÉI Ë@µÄ¬ 8UšóçĎÓaeCą\Č)i@Şą|ůrN´A™QV” Ä8>]zGz�qeű¸ç…pg‡äŽçž{ŽV\1żÓúŮç�"ŕśş.śÎçěČŽŇ ^Áé^ő‡2»0aîś\ťŁm ś�~C˝Ćí4řÍáĄN�ĐnܵC{B´ÝŕČ;€SäqÄ:\ó»ét´÷n‡ď…ŐŐ3LúárŘą¸¶ŤBÓ'î+žŮ‹[;/J©˘ÓžéÂÎďNT(e!ě=1F0ˇöŁÝ¬ůÉ_n]:čŇ~Quoúfĺ_ĺ}QÖíăfÚű¤ź2±H ÁÉ@ůý>ë}?Ťüă>ťíŕ«ůĘ?ľrP©Ř­óIÇľŇOŕ©6'ýÎđŁu1ä—Sý±+©ţ”CůŠ?č¤bîţëŚt»}ć›Đ(ä@ 8-8č3żlí–†ÓyďŞJźĎśÄ$ń˙§Bü{ÂŢ&ÚĚ)«›|\ţăŮh(÷řxy«Ě±ÓżG�pâ(ă”J@:�aáÁdR~ €�ß hř38AŢp*" w ť3V± ×ý°]@žAYśSÓMp,śĂC=ÄD|Çâ¤ĘÝlHěô8wfpžČĎíaľ\Yq Ađéfc‚täĘ‚cşpcNA eÁľîz€Dă–PĎ®ěHwPŇŹ+®•?píHaX …öáB‹ů2đ(>Xđçć‡ŔB]^€k+.ä×qÎ ×ÇŰśŁÜµ˝Yíő„P`¸˙Po.¬Ú.®í´a.’Î9óńÝ—ď/ĂÝ#h?(3®%öE»Äu·aĽLůC_…÷ąi ˇĎ«°ÎzŹc‘ŻS»*ŕę]7¤ł+(ŁŇFń<ë iČSŇ>Ač@Fľ{»6 Pj|x§-Ü•‚ŞÂ{ůĺ”{D ‚㋲]ł×YčŽ<ě“wśýáu\żŔő×|µAŔő!üüĘáżr›Ćí—~ÜŚöŚôď3ůu™ŐŻÇćZ!ZěšăŹ»Iř™–÷\Ç@ ްG˛O9Ť*O€tëiô)›H 8ťâŹ@ ¸+¨(_XR­KëJłíő8´—vNé_yŔy÷Č#Ź0A㥗^bĺ@ôqä|ÇöYĆç,e·D†Ă .$™#Jŕ·#ŻĽöµŻÍ~ü‹~™qnŽ�ᮼ AĚ"PĚ äâ2ë˘N„  Ç<{ö,osŞC¸ŽE¨A=Č]…đé“­ö §ü„˛âÓŐĘŕČ-n›#ó ~QVGn‚’ĎË/żĚ$´%`VűŔoä{śáe ›HăÚ®“#ňLî-ÔďŐ«W™řă®®+–i¤(Ô›k3h÷Ž „ßÓŽçÚ˘SöB[|Ýë^—oËřłrsŐr×sLJĐş¨ęc7Ű€±ďwR@P‰2‰g—´>ąf˛Ýň·Ü)‡´Ŕ˝3~_°ŢŐÔCŤ÷ÍBv™/ˇsń€,—•#péĚ÷ÄŮX,›ĺ{ňYV…+ž¦žpE Á‘Ĺ<ďói¤_ß~÷mŔ||EA×·őűĽĺ<Ë!Ä*ÓjŹđCE˛P®úŁ2 +÷C3*`YHp\pÎ^Č>SŹ3ÇńĹvC®^>=Ě$űLńu»÷ÚTA BüűĆÔ¤‰tcbO™ŕă˙o/“‚¬‘#ÝęŁG�i¤9@"p¤lŃă0$3ËJA2oxĂr §¤ă48¦Sń©‚SJqj9ľcs7Ą–˝daPÇNőÇéĹ‘_éŰŰÝoŔ)äŕ\ˇüňăśq˝٬¨+§ äś�§öäęÖĄÜyąspućČMhKóŕ¸+ţ�e%ç4Ç5śŐöa Ş?NqëP»©÷8˛öŮ@]şë3­M8rŃ45ˇ0¬Šg=!š’“y\żŐ„&;ÂŐ„»E Ř+&¬– ꂎâöÉҸ´…YJBnY*›¦i† óv”IÇď Ěž7űB(‹•˛Ćlś.łÄä .Ťg­]Yt±nŰÄŮ—ÖµAŚŞ"ţ»uÖ~âÜÁiÁ<jĘé¦|BŹŻĐăúnUSN ý§úă>ý÷6ľ;ĄÚ\ť0#ô°˝CEPˇcŕzĆüź’ ôŽ=öKú©ňÎMöŮ )hÎí@ 85ÉĘmźxϨjEf‡*źÇTPN %t@`!Ä@pßP5¦6ţí…(#ycfâŇą˙f0‚ €dŤ2ŕä;ޤ (ĺ`Ů ‡M8Ú/PŹPü™>üphUˇŃ@č8lĺ$(#'ó¤›Ö.ĐŽśŇĎi…›];Ď˝ăŇ:…źyűä,ó¬ü}gÝZ'ćŹsěSéŮ® ¤źń>ĹÉşö84ăEŐ éĐ ö=nĹő¤‹dźě٬öă§óCf„ ÷mDA¨ňÁ/G{Ăx–ň +ödä<=¶b E~{OKÄYČKc‹ÉtÄ''U—&áBşte•@ Eřaľ|TËďT7ůŔ’“- ČWĘ“UáXŮ6{Ű0n"€¶[ś|L˛QŢ 1ŕí‡(žěJ¦Ńó©üĚElź#ÍěňńG “ţLU¤ iD *Đž @Bţ$Ä@p¨rU¦ŁIŐźâ''׋âĎ}A•łÄÍ�ôĂ6•™NUĆ+ţfÍr÷Ú#iĺ}÷é˝đ^¤':¶łúµ»ôy§{ťI\|ßyTZŹŤωRPÚáĎ€É?ŮŽ6 Ť]C–¬ă¶şüUžn ·NŤ ĐYŘ/í%ÖĄ˝Ž#ńÇW÷Á ˇDÄçn3ę‚“€~żO§.¤T ÁýÇ,ĹĽYjAUđCžúˇĂü…áŞsŐ•é%j"?Śjž^ÂZś>čÝU~v%üĚđYVŰ–SF{°CĹf‚㉽Řłü’s§4ă±Lř™F�ňŹ@ ¨‚Á1Íń <ö÷ě0_ăuă6ť‡Ü ů¬%Áˇ`–ÄI|ĎJ?0kfbY.SŚ\ŕŢÁŢoŞ(Ďď¸^ş˘jŹź\{÷3˙ÍŇ9‚|‡Ś˘±2e]ő{˛â ßńཀྵ(ŚšzČ`˛çD"ó/Č$ŞäźË¶SÇ•řă>ľĘŹ@pZpóćÍ|Ŕü$!kˇhřŘcŹ‘@ ¸ż¸_}äÉţą.w*Ă}Iŕda¦­·GŇĎĽ„źÉcîNÚÍ&›U NŞžç»…VťÜ>9ág;ˇL\ÜXI�:(ůG ś|ńG Üu” ?vÝěďţ$úü7 ŕ¸Ăqwô”…7g*@{%÷Ś©CÁ.¨4LtŃąăÍ@wşdśŚĂ|é ňON�BدІýrąŤĚďJ@Ůľµ4§˝U”µP{ ˘‚ÂЬA†ăJüńż;"Uy›@pR1 Nń§<™@ śFX[J+ť…űĘÂzéęp_Tür›JáżdŔëXá ¤ź™Ę=$źbú=‡hF9Ĺ6‚S]"ćTmߍH]6YŞÓU€|_Ó¨*ô× [H&D 'Bü‡Šyş»eŐ÷Y ő5îĺĆŘ`Ŕ t“ ßdm Íóŕłx$8<Ls Ět¬ÜGLSüŮm›@ ¸Ű0—¬†Ŕ|XŰ‚ł6'LLSéšśä+ě łz-ďfú€Be/ň@ÚS&,Á*ţ+%´v ”kŘicľ/=ř05ΞĄČÜŰ››4¸v“tß/ŘWW—‡·Qő±¦ACű¨Ä'SíFt'=ô‡~ĺ•W¨×ëŃ^±´´DŻyÍk襗^˘;wîěëyrîÜ9ZYYˇ7nP§Óá<Ďšgúµk×(ćgy5ęő:§E(7ě‡gçĎźçóŮŮ١۷oł ŇAđ}ß÷}´µµµkY‚#ťÍX÷Ôc»f2Ü×´ŮíĽVŤűn˝ŕc¤źý~ćňsí…4q@ gLő¦”8ăŐEçĺ,˘Íxő rĎéyNő!˙§Bü÷ĹNzńÓ~×Ä "&ŞŐŘ9Z«·óÜ· ńçnă$ °‰A+ÜhŤ0=©ąEóSeJnĹwÂnáľ*ý{.Ź» R Č˙®KiŞXńGeJ5 ţ€�§í÷Ëfŕúâë^GQšŇ WŻŇőëŹR+穽ЦnoŔ6Oż·Ă!6»;[´ĽşĘ»Ź†CšAăfŁNĂAźt§GaęĘQ,űq%ý�8oŔWüâŹ@pşńˇ}žxâ ~&üáţ!“wüAۡy>â‚ “‰ĎL¤ťźú©ź˘ßű˝ßc˛ŤŰź­V‹>üáÓ˙ř˙677ů8Eâ¦O˘yç;ßI?üĂ?Lżó;żC_úŇ—čGôGéÝď~7}ôŁĄ_|qę3ęĘ•+Ľď_ýŐ_ŃłĎ>K?ü0źňDZľüĺ/Ó_ţĺ_21hp>8G” ÇzťyźŕĽ‘'ĘőĚ3ĎĐĆĆ€\Ypnřľ[ŢÁýAÉÖRşÜUźŠ˝¨čě…ô3‹đŁw#MË›Ş =b— ÁÉEŐľ*{Á*™ ĺĚF• Oz.«˙ůG ś\ńG Ü3Lz*ĆŇüďŽÄF ea2jěäôgŢ ńG Ž.´ř“¦ă+Ę#÷h]$‚Îňń»uT'[f¬vÇ®Žů©†IERŹ�TÎ×T( ÷ĹiUoÓf�ú3`]B1Á9°$ˇĺstĺ5ݎťÁR3Ľ$ÔíěPkÔ§ —/Q/ҠףšÉłQŹh{sť6ź{‰¨ÓËd‚& zC}ůŠ?>áG śn|đ¤őőuúüç?Ϥ–żö×ţ=öŘcĽ :żů›żIoxĂč~ŕ¨Űí2‰f{{›ŢűŢ÷˛"Ď׿ţu&ôś9s†–——égögéąçžŁ/~ń‹L˘ůŔ>@żđ żŔi˙ŕţ€ŢńŽwĐ>H·nݢĎ}îs¬˘€°ó–·Ľ…ľűÝďň:„ę=řâŃÓO?Mög–—˙ňĺËôä“OŇg>óţ Ő G}”ľ÷˝ďńy€€„ĺőŻ=çR€ü±ţk_űďÇüÇůPöW_}•~ćg~†Ďç7~ă7xýűß˙~zík_ËŠDżű»żKo|ăé}ď{Ś>űŮĎŇWżúUŽ üA-÷5ˇćCcWĎn…Ş|'»’~ô,ROZú=ťěSŘź¨ňĺ}&W H N&üŹĹŤŐiµ.X4ăĐ\ă}Tĺ§ć‰“ůČ őź˛:Đ~Č?b' 'Bü‡ŽÝfĎLN¤źT|‡~ÁI�¬0çfĚŹ}´z"Ü—[_ő×Uł`ĆŰ|HV°TĎô-Ů4ZSe/­«˛ßPęű%]^˘ÇŢúVşd~·^x–/žŁőÍ Î"BjSBÉÖ‰¦F˝N‹«+¨„ݤšŮ>ÄÔĐť_=Kéh@ýTQHĄL*Ş&ţ7b´ĘÉÜ8—4ű^µLÍ![\ť—^IđŕŘâ _ř=őÔSô¶·˝ŤľóťďpX+¨Ý|âź źűąźăđ_?ń?A‹‹‹lo€XóGôGüůć7ż™?AÂD`+|ĺ+_a’�;ßżýíoÓ<ŔÄ"‡@ś‰ó×ý×ó˛€tsáÂúÁüA&#!ě†>ň‘Ź0ąçúőëôö·żťľńŤo°ú9XâBz8&¶ ôňúÖ·ľĹépż˙űżĎ$Ą_úĄ_˘fłÉJ= ýŰűo9 = ýÉźü oÇ1ŻS‚šŃ˙ňżü/LXú˙ŕpůś—G lK©Ép_ażř=îu Äć?ŢWígݤťŰĺŐDź©űM+›®>ţ¬uUű ŕˇBŐ§¸Ů#"{żýP_ş´Ţ÷J¸í~ů1łŘďZŐăiˇżÄ>„ř#“\ţ îîűh­§t ˝Ľ¤ż|0ë")¦[ižĎśRQ9qRgýŘůž)eB@°?Lżé=!…F®¨“šőgĎQĎ|Ş-´hăĆ5VüÁ¬¬ŢÖ:]Ű٤Äün¶[tcŁI BąÄ …f]2™<SÚ¸u‹t2˘~·CÚä _žÍ\á˘ăwďă™aźV1,Mµg_îvVjʧ@ 8®�A${ţŃ?úGLŞÉJ? żüüĎ˙<«ó@Ť!Ż vU ·ľő­Ľ/Bp---1Iű8%fÜłű…^` Tq ˛đ`PÝąté/>žţy^u(í@ed#{¸ăBk]Ľx‘ˆđ`8.lŁo~ó›LČA(0”ĎÁOúÓ\>‚@şző*—ç E"„@zÂţ áxHç&= 4!ÎáŃ jbňŽvë'Ž9îég^ÂĎ´íĺď~šŞrNLn‚ŁŹ2ˇgb;yźńN“Ę<4Väˇa§LJU1ďń'ŢaŠ€XIzNňŹ„üN7¤Ç/î)Ęd Şľsq±3éő\Ý蔋Nî®)'äź#ňĄ8@őß‹{ŕ0[Ç!žş`Né ËHÓXĺ§üÜ/$-őŹĄŻ*¸+ⸯvđۆ:󥧠ňšk,dł´ÚÝüüçi=ŞQ·ŰŁg^x‘úÝ.ĂĄ:%e©c fłÍ€±2‡ŹY»bćłÇÇO­s§ęć9Ćp4Ž,X&‡űr×ŕô�*>ţđ‡éˇ‡˘……&±ŕ9ĄśţĎ˙9«í€ 2Ô}@xAh,ě÷îwż›I@ Č8üÖoý“{~äG~„‰; c‚¤Ón·9ÜBtA­đńYÍ <>b Ď#s@şÁţŔ§>ő)ú»÷ď˛sţĺ—_ć<A<ńe|ć™g ů@ť F«««LÎA�Ç@jB9ˇV2Bz!=PP(ń DŁ}čC\'(?~;…E�$˘w˝ë]yř3ŕhÁ)űµ±TfŰ(=aüç[2 uě1Ź-·?ŇOZ±n2}ěăŮŇş‚ô“o›RžYë@pĽ0sÔmÉunĄ"o{–6'9>PAĘ<Ó+v„/äW‘Ěcü#‰ń-…áţÉ?UçŞE)H 8‰âŹ@ ‚{™‹)ł|÷ót^'ó“άŔĂ^śňó¤­rü“mw)ÔĚŔt€Q@µTÓđβCHQÇ ÎćsşĚ— xĐ©UďÉgŤi0Áá_€ťx™>ţ¸µüň@M™ô#N'¶··é3źů h@Úyúé§é‡ř‡YĄç“źü$ÝĽy“ĂhóČ#Ź0qD` ¨âľüBČ:_ţň—™x´�¶ý‹ń/ř÷wżű]ú7˙ćß°TÚËäGúó?˙s.Ăżţ×˙šw ,„0_ á;€ă"4|ˇŔş÷ďţ‡îşcŢ (¶Ż­­1IřŘÇ>Ć$$śp>¨(ˇŚ8‚p|„AĂţ(öGş_ţĺ_ć:ůřÇ?ÎŰń<ĹvŕČAĎŃSÜ ąG@ÇSěîý~ŞT~ÉG—Ö§ĺýJDź©Ę?zvY@p˛0áŹPŐŰ(÷]şß9±‡Ľ°^a‡J o;A퇖R9¨ĘŢ™JţŰH 85âŹ@ Ĺ /{ďĚę‰řÚĹĽs…ŇĄutOÔH‚YŐće R Ř ´/ś’?űÇ @Ş8&WűŮ;yGúµ‚épí°JŐ§´^WĚúÍÓąUĄö‰¶ś¤Ća%á[JŇ#A–Ě´Ę’€đ=uDźDĺn¶—_ ”\Č<łÍ8 NˇŽ#ńÇ…żA˝•É?ŕđqçÄ˝ş;AžáĹ…łrĎ(Ţ —S¸é$ .[öüŔ:~gëśZBqA™Çí‹OđĚĹ3djÜ3Éë�¤ĂwlĂ~. :€SďqÇ!ÇĘU"WWF„ęrya?ŽĚ-~>î7€°?O.°ŠEPrç(%Śg®“}y>ˇ|;©ńjÜ9 r§SŞ9HD‚#Ź*Íď}‘~üß4IřŃ©U™$ťkŇNä]uĚňwżä@ 8‰¨đµ”É>öKáwţ©ó„ăuž/ë=΂˝Đ`řž¦±é7DĹcföĐ~'<îw?@pt!Ä@p Ě;3-ťžcFĎnyě–×®p6Ý?ě*˝¸‡ŇYHŞ<ˇjCn/g®÷ąíÂW™¬JŤ Ä¸źľwéş´Ís,Q@YĐ; \Oě˝(ďďţˇwÝŠAđ⺼çc–€IUů•Ű®*}×S¶Ý[śD'_umîőLAÉ zţ+4­*„Á]Áî†Ć®Î~ĺI-ŰO N+ţäë0v‚›wůŠ>ř Ó`ş]Łě»!C¨ĚYtBśTµ ű%ä@€ç€O\ů•_ů~VřëĘi�G¨qp¤÷|™–¶*ŻŞüü<Gř)—ÝOăP•9]9MU>ţ9U•S?‚ă€Â,uťŃ˘gýŇ)8–¨´é|›&íí˝~Ę*?zJ^VÖ<Ż­Ť® QźÜ_8~VÂrů¦ýžw›@ î?v#ŔLř¦+Ć�Ę„_ť9˙Ě&p)ă÷É'z™ßiůüµfŐh=~ŤÓáť§ÂüťREţŐŕtC?ŕČc/¤—}€ô}¶yt6˝MMݶ—Ľ<yy›o橳~O#cźNk\Ĺu»ď•˙U”–Ö{^¬`3ěřݶ±‚ŐdY¦a˘3ăóoöyę‹I?ţůx3ęrŇĎ”¶©‹e´‹\QňĎaŔ^ŹĎüĐ…Ď1Ó2%ß1[Eî)9ţç,Çý˝ţ‚“…9žŢnVz%aYó,b3ll‰+iš LčśÄ9íŃ›ę`ę1UöüÓ…wůÉ„?x#łĐA;;;$Ž9´íÔÎgŞQAú!ň @¤§ěŁm(]gŹłĄÍŠ?Ă"Á\ë‰ăXOŚgîO!ńŔ,U»ĐÁÇT{db˝š\ŻěM% ĺ­Ă÷Dĺą” ) CňĘ? ‘ OTzż©<wţ9VNśNţ§ Bü‡†˝ ;•gĚŰ…JËé í 3ÁxqŰ^PpHTm/ČPŇáâ¨]Żýžŕ)iw‡†ĘYpÉ&Ś´×ŢuÁqW&ţ¸NK™ §ď±ďw–ÂGą3vś;Xă[ęžśGŐó7ĄźĽ=ţĄc+8ĚýŘý}íěŇş”ţŕ/ëORĹeZşcÓd @ �ć|ďűťÁńÇĽj?´?ŇO'ÇCJR1‰)Pš"fţ¤¤Ě k莬ý˛ř“”ĘeÓ…ŹŞ˛ÖIS‚c‡ŞéŮŞ<ăVżŚ}ü<TöľČü—Ů÷�ˇ…S2‹bŠOŐ(Ś"Ţ'1ď"@ţ A "*ńLµőtw’ʍţ§ Bü‡ŠI™Űr'ť*żĎÎs’0p˘ŕîµw¦zźzG{ŘéĐl˝Ł88·/cö¨ťG1ô•†Ůź&ě°˘¤K:XE •fa´śók÷l 5c§LO< :űŁ«ťt‰˝P_Zů÷µéčh ĘOŻ\AuÍ.*“D5«&Ą¦cT§(jR„ü;ďX6ü{Ě>ű®sÖJšUKÖ©;NŞé2 Í…KćË×ÂéädąŇJźTp÷1Ť`RĄčŁËżµžJ€´NěiĆ3ąJů»t™ÂŹó#©=˝ŠĆöĂdŮł­şH¤,–o:ˇ±ě<ňUŞśK~~ĺ°gsť‰·ŻRľęÖ[Ő8­ÎF ÁA01WŐź¤ZŁLwąÝÔ¤SůXzŻĎĽű‹ĚW/ ZçXůoĺő sE š21@˙'ÓB|Öĺj=Uá˝@úA(/řNt<¤šiGÍvHő(0 ]łôą=¶ť ľ¸˛źł’řSAú9Fď6Áé<7‚ÝQ}›¨‰Ż$!ź�¤ AŢÇBčć%âĎ0N)6®a˘Í§y_©]ç©Sţ1>V™č3Y‚˘”9PEőG 8ÝâŹ@ 8ҸWeu{äyěúü7~˘flPŮAŕaňČÁĽF žůłđ[ěĘąP&şřźv %ô¶Ć”čuz;ÔíŢ ţΗi؉băĚ%}Šu‡\|űÝŽ®2üUţ§´·ŞJč2Ęťdc_›ď+yĆßs>.´™%.Ĺy”p,‘ź'ťžo#Č Ö¨ŃhĐŇęĂtöü›©Ő\¦FÔ0[jf©Óˇ@űüŮ˝ęÖĺ\[*“§ěŢĘ;xýć“„ösSßKŕ™”ÉXIvćw:±VxÄBő Gó7ŘYÎĚÜÂ’ĺH#ó ßawYůř(;¦«oÝý·¬řă—CX@ śphÇ ”÷˝Ŕ˘hę [Ń'ý°ÚOśĐp00٧#އ)ťYjĐVhu©EaĘÇđňÚSŮvó• GŇźćDëłÇű¦¤€´ BOb>óąÝŇ+··i«Ó0µSž‚Ä~R¨ě¸UFę)N¶ç\ůUFAőG śhńG Yh=ű÷!©H´ąçČśůěz*8 µć3Ŕs‡ÓČIÁś™Tł{,áaLv8¶¸MAą˙…őNÂnL™řłąłF/R:řĹďŃŔ8łFI‡b˝Ĺ$ Pa0ĺxĹi*ť¶ň«R©,dśŮ8±Żââcü}Qš@Ź0š­q–mB:ě’lkhňňcöw.QŻs†z˝ †#ÓdëTo´hii‰Î_|ĹÁ2ť]}ÂĄ3ćÜC:48ça’PĆî™ ţ¸řĚ&ßO¬Ŕ”u¸x[éŢşćűÁÄ]kÚ^‰ňTMŰ#ö{öî19Ą+ rI˙˝HRĺ_wßĹ׾öµôĐCeÇ#úÚ׾F·oßaÇOX‹¨ÝnÓ ×ggüŽ˘jµA۬ßďó3& Ü.ÇŢ‹S×'ýTmŰk~‡2éG@ 8aóýžŰ)2€u,ˇg8úĘvřtµ=™g‰ôc§â«¤´şŘ¤KgčsK´˛ÔĘÔI 8ŐâŹ@poŔdÔLˇÎý‡¤$j5ć}›{˛GkŰ1őGÖ÷w•ĆäK§Ž¨uĹ$¨±*˘żmćd®’cU&V ' Bü÷ }öŇv+±«IßCŇĎÁqřA™p—Ś-ĺĺŹ#:ĂĆ]‡ŐŘ4ŘęIJAZĂô\´śé~‚€:^[[Ł;wnŃĹ3!-®®2ń'Ń ˘°Ĺ�J8X¦ˇŔݡŠá_Ş÷Ĺ@u0žBg~M§%Î~ŤĂ‡2s©µ1St¦týĺ:u¶Sş~ý:Ý2ä6¨˝°L.\ aĽJýřŇ7ieaĹI:¤IB#SÇp†a±e9?* ő•Úű ¬wÄź©î·G5Ň«üűp +Väď�nKŇáěăv^\\¤ď˙ţď§·ľő­ůŕ>źúÔQ·ŰĄUóL˙Ŕ>@őĄżdGO§ÓˇV«Ĺ AtćĚţînÜĽIťngORλ…űň >ű Ő%Ž+”r0{d[äîwÂíLAYÝÇ4-~ĐĎľsż<M¨ŮŠčáK«tůÜ"-¶쯲yđß,ÇŞ†'o>@ öÝ’_ţp84źŮd]ă'†_ÇŽÇźP#˘/,óşíîuz#NW?„!Ąň0”J5ćĘDźě‡ĚN1„ř#îćüÉúé3·&P®ŃĐ2©ŞLO(p73éŔ\*“‰ôáŠüŁą˙ĺ,ć2čěě'kÖĚ€">S ĄXÝćĘ'“$*Ě#›XS<Z‹viďŻďî^1Ö§¶šĐ ĎÖ ˘,´Ë®ĹQSľPučÓNgťÖ7oŇrs‹"ÝĄá ĎJ@Ş6 zŁĆÄ‹­şYjYáL 5)4ěěШoÚsGŁ^«Q˘RŠÍżĆÂ5Ě�´ŽĚ˝ÄĄ2”Č>މŁM›Ž ”(\›ňľřë+ţ(2ťVÉŃLXJĂ€Ă}ŮC¦IdC~mÝ2U©‡4člÓÖÚSĆŤL{Ă€y˝ąM:ĽCçÎěü~Äý�:céíŰ”vw(ZâOĘÍ,©Z&ţ¤%âO fGu`ĽÚ”™•“ěą©ĆŃâY2•m–şąĆ„ fFîV óöSEýCppLe$O]_+°—ťťzîąçčÓh6™ĽépűömzőŐWé•W^ˇwżűÝôĄ/}‰}ôQ:{ö,=˙üó´ąąI/\`ŃöÖ6?gnßąťcŹjEsŕ~)ü‚»‹ŞaN8”WVٶŃ06Ď(8–i{Ú“%Ąűزeu4`ݤE@p?QTSu3Ú«yÓ:Ň8i¨RűÉVL~ěÚIĺVm\ ŤZH+‹MńßŰîóĂäý!8đ‰č“nmm±Ż~=,¬8–7QvŇ \5 X$Ň؆őŘoÁřátţwä7ö §c H?Ľ5ŕ‰Ąšď™şńݶZM㛏ĚýRw`î?:Hů†ű-<?Ź›ěET"˙đß<Ý4ŐQKN„ř#î ćĐť+ź9âdĎëâQŮľ0švv¶©ÓٶëŤáÔnt>Ă•ćČű Ne•‡ř*N];âŹ7諊äRĹEEv€x¬ÄŹ…*ĎňĘ äóÉJD3JK•¤ 5•‘¦îÖő:]ţxé‚Ý/ĺˇăŢ T©c‰1Đ]Ű š¦c»Ô¤ĆB“ÂV@LĺW3ňńC{•TV4 )Ő;4­ŃNç­ÝąFýđUęöz4L”„1ť=w†šf ą¦űÔJ»vÇÔtÖwht;˘ŢŐMęÜĽÉÎ5sýWL;!uu‡Ź<B‹Ź®5űDő.M….JŠâžÚÚ4D¦Ó2ůµĚń‹§U­“Ç(Ć˙`DIĐeĺ.˛I;çŻYŞNMSŻMQÝ|ŽĽ›ÎB€Áą Ú˛ @›|Ěą¤k×)}ćK”®żÂe…ňOšĆc‰Ő�§6VţAž1ńÇ®•)zŤg]u7âřĺÂŕÂc<úVŇË«ćׂi‹ű#ţL<ć'îv;ĎKö…C@†Ď8Gń¬8ţ<“€ük8\ńűÖ­[ąŁd <çŕ,ĹóęoëëëL�Š2'ëAPpUś«H? 'Ί Mzň-oĄÇźx‚ţň‹_¤Wľű´±‰FSö�î˝Móä“OňsĎĂ«WŻŇk^óúÎwľSx†‚¸ôđĂósdI‡sçÎŃĄK—ŘÉŽç+Ô@¨Ä3uĐ_Â~8Ƶk×H Üc‰ďT`V¸Ý˛ÚOŐöŞ´č‹×Ě@j= ¬ĎŹĆá˝Ćäź*űVl^Áé€ßżŰŢŢ16ŐÓćs›ý„ËËËlsÁżČŠł™’5ünPĄIüÎť;Ü?}đÁ9=�» “Y @ţř㏳]†ĽĄĄ%“— G N/@úąi|ňčËÔjß7/^¤……E~/aČ aŢ[Q‰Ú é4ż×vŤÔ0ů5ĉ*śXČ›V :Ë/s7ü;/ľř"˝üňKĆČz•66×yť%ţPAQÍt4._u÷J*~Ęß«ň/Ă'˙Ě"ţXącÍl–—._¦ËWŕÎÜ(T4•e|îýnź¶7¶(4Ć©J}Ą—ÉäwÓęîîX–?jLü Guăh2m¬nŚőfťĂłč]óš¶  źŚ(I†üi*š;:0ńжýQ–ěHĘ\sµÝ§ÁMM[/ܤ ÓÉŔŕEÍt0 EýAźÖ¶nŇBk•ÂóCł˙6 #;P‚Î=:ň�f鸬âłŮ>·nÓöÖ)3@¤–s§�ŇcPŞ2 1‹łóäŮCćsdqÚ§¸Öˇ fۧâP™\7k…ü+T)¨G˛.©śń˝7X"RšÄ¦w(1Ďpó&)łŘz4ť.s~ů=F ââ-cď4Í—ě93e3šŠjĹë|ÍsşňÍŢî6Î…YM¸îö:˘ nPŰśäŃYiß-ýgľŕcvÝ[ű…çŻţęŻňÁcěýŇK/Ńh4ĚÓ8"l…ľűÝďć3*á8˝sűßéx†‚$Ôí÷hݍ"ňĚ"˙éG 8ţzgŞ>«<DőËŇN­I«OľŽÖ_˝N}¨,şýó¬m ÉJŐŹCŃ]Çßü›“źO í|ěcŁźýŮźĄőŻţ˝ímoËŐÓ0`őˇ}ľň•ŻŘ±·n1č©§ž˘řŕÁ¨ď}ď{śćWőWůą RĐ /ĽŔT°B^=ô“‡Ţüć7Ó[ŢňVbűÄ'>Aŕna6±Cl‘=ĎÔÓC|áwšfˇŁłOă@O=Č&ä”›4)Ái‡ ‡c#Ýb»iccť �ÁNň‰?Nńj׌ťőŤFÝŘN}V4)y€hŤűű»đŐőzŤÓ ,ä˝v: 3…h\nwźÁŹ~î'ôkT6ÔbC€™%�ń§¨dG*UTůŔň˘N)„ř#N `}ó›ß¤?ţăĎÇíË´¶~‡×[ʆOôŃĂ4âŹËsžu»!'˙ŘSÓÍ ă‘+ţhWâLÖ‘¨™É¬he3ażď­oĄůŕŹfÄźC@F:Ů1÷ 5ĂL˝†KŁýůÁw‡Iü™źR}:'ţÔTBz!˘zÜ8Ô·áÚj܉fĺ Ą$LH…Š,FŤ©ĹL0sMF7»tłź76¬J„4†ôîzo“nÝ^§ł—·ČôČ©Ł7hKŰĐ1Hc�“o’Iô6Í1Ězt쇡XY3Ń–,”¤1‡’ŕh›cÔM‡×]“?`/(2„žY×îĐ0ęPcÁЇEóHUY ëî/”shęlÁ”żč–(v­|Écź€ç+rá\Ë*]î>¬s*:Ă‹ŠLóúfr´kf ěl{‰Ďź'ŕDBO!µî–f.ŚďĂ^x‘—â!ĆŰAÂ/Üw�”}XN]OÍz*üçϬu>ůG ś¨Ď^ Çßřť˝ô¨$ čń'/ŇčŐ;ôüŕ›4ę®ĺ„_ß ş×!ľ0čÇ8H‘oűŰyÖřcŹ=ĆĎ«_üĹ_¤Ď~öł¬ĚóąĎ}Ž·˝óťď4RkôđĽ?ÖÁĆń¶2žuW®\ˇ÷ľ÷˝lŁľď}ďŁo}ë[<kJ@ďxÇ;XUč‘Gác QY ¸ÇĐ3‡TE±YNĘ >łŔáë9ÔĽÎ&ى8 &í$#ă—IUߍ:ŕčŁ ú˘ %€ĽłĚ“…ľ!|P­Ĺz|G˙k,čżşľB¨aCÁţş|ů2ç‡}N›MU5áwžő‚ăâ ‹›¨‹Iđń€Xß<¶y{®ŽČęňR.”ĺcGĺp_Ţ*Ă}‰H 89âŹ@ ¸'8h'ű }‚ét€\pý•ktŐ8r·¶6¨Űł•)üř&ň\Ů>aĄX¦ ŇĎ~ «¦DX­0¸T)˝;fN ĘRéBąĽł3ű˘ăFćşqź;{ŽÉęŔˇ–Íq9Ü‘6̸Ň~!ĽTűçŔčë\ĽZ˙89ĄjŢiČnÖň$w~žÝly<§$Ź“¤zţv1łrƤ®0R´˛Ň…3aľI:ßy©Y †ÎBUˇłŃL©ö¨ÉăJJń….Q7ˇF§EúFJť…ő#ęS3SŚhÔ8ßN§g:$–řÓ­Ĺ´SíˇuŁ˝˘¨±Ó¤şZ Ú¨Ó¦P€g­FÔş¤iggHwîlY(Óů_ąP­UٵŰ;´ŐŰ ~˝K+Wiá‰UŞ/Aĺg‡U€ŐEŹ<Pł}žžxm“b3HUk4ii9 ľ9§[Ű\ŃŮr†ép!ÜÔ”°xĘ6ösůŹ;^ĹÎQÖ1óäUő®łWţŚĂż÷ués/ą”Ú;¦ńŔ´ˇˇ­}°áľ˝śoUçSâR öŤÜlvPę)ÄTÚ]1cö+lró<Ş„ľ#Č˙=qżUě3ϱÁýÇnÎ[V>m.ĐăO˝›Ţň±Hˇy 5kuZýk‹ts­OkĎo™}H°8ť#[…>H1ďĂTbb¸Éž?úŁ?br‘@°†’éç?˙yú±ű1VęAý€ §¸' Tá;lT„C~żó;żC˙ň_ţKúĎ˙ů?ÓĎýÜĎŃŮłgéŮgźĄ7Ľá ôĚ3Ďä3rÁ˝Ĺˇ„tä0Ő>őúÖÓ÷›®öăë©¶ |bÂ’ (8“đźŻPކýâ·Î)€ĂräŘE؆u 2`ť i ĄŘYź ,żżyZúóŘâ‚“ żíă~Ů÷Ž#ţ¸{Śá»q«Ţy™]äĆ‚&UřŻ—ßŘbŹ@pz Ä@pß0wŚîC™ÓďuiíÎmşńęu^@ě <ŠŚŇ>5&Ý?ńÇZ^´7(Ş ţ¤*Ř�ÎX„\ŞŻ"˘MęľăSůę:Ş4@rH‘[Ć "ÔĆť5ę]érÜć ÜóDzÎů`öhÚ.A6’Éu¨§Óëň¨€žÁ\/möĎ•tIą@gѸ.+&ŞÉú-_Šq¸Ʊ×±u<Ąy t±|s °”[&6"L–˘Őł]şlŻijÓę83üÝą„‹f@çµ…Ç4XŘ&şžĐRŃ|*Úv¨żc:蝀ş]ÚkâŹ)G·×747Á†Sh¶[Ü鏺uZÖ5ZĐ«ŽţƵuÚŮٱíá|›V&ÚĽ3 ×6í S-¤ä±5Vtăú6ÝénŇNŁGĽf™:wžÂ†q(„ĆŮ ěńÎźUĆ Ńk_™I'Šâü>˝újJ[ß5ßU5ńg/w¤BŢÚ8,xIělŠ|@ ˙˛ŮÜ»ňdĹ]ŠÂĚ OégF!ö÷Ü(•;{6ä´$7ŻőÁč19NS¤c®Âróü'grJT 8,”ť©ó8x¦9‚ŞT‚ÁńĂ´çŔ…‡˘§>đzâ o¤NZ#›w|˘éŇąsô†^ˇ/Ýú. :Y¸W=ßĚ˝ŰóíŽ0^PöA/LdŘŘŘŕőPöA(.Řž'ćPB}ôQă…A¬oűŰô?˙ç˙dG;~ÔEź÷Ľç=ô…/|ó¸qă]¸p>ţńŹłŞ&öÇ,v¬Á=Â6gŢď­ÍבخÁ<�á‰'ž`2µS ÇŮŹ öŔvI!@žÁ÷>‘Ć©›`_L0Ĺ6(-¦‚ÚOůť…ř3ßvÁń†SÇ‚ďP˝zăßČ÷î w_8ڧSŘ÷ŘäŞÇďĹĚ=uą@ 8őâŹ@ *öAúQ“a6f}Çg˝VŁČ,pŔ»YnáNŐ5ˇřsŻaÝţz¦ďf<ńŐ§¤Ő>Ş”tb Ół‹Ë,řńľşrßâşŮeĘ8 ůŹ»ÍaĐ»Ôeˇ\ëW3ˇ—Ű…őŤĂr3ĐÓ~ŕşqő*ő·¶¨Ő´ä ’`6§1ű/‡@cťş^›ť.śż@«+«–äc:ö †�ł°]ả.uÖl¬ď (T›–€¦@‰ł™ t×1µŤ”`)WŽi– f)Gşˇ‚ĘŹöËíŁ§µ!5ĎŃ÷G´ĺŮgľŇŽ5ö3“˛*üWyŰaS Ü?Ŕ¶{ďű?@ďxĎRR["=06ŘH3Ń»F }ŕC?EWżýzĺ{ߢt0,˝Śzş«Ŕ€ŇďýŢďŃË/żĚö(đ+żň+lżâ¤ z@üůú׿ΟpriżúŐŻ˛MŠőB0@ B=€(„Pa°sˇösýúuúô§?ÍáÄ÷ť;wH wĺÉ!•ż§­÷ľ»ARMă}ÁtŔʇ^đV¶l$�ö”}ü‰oľźŘb�; €żošĘ¬@pRáČ?臀äĂ”b9Ö—ˇ5ĺď.˙ÝćÂxQq\„Ľ1µ›Úʧ$N„ř#Nl?ZGß×j)ďH»Âć©$ŹţŤ/_‚Qe™ůăc%QAú*8Áí9:‡FZâ¨(ň=óî8ĹĐ`wc5 YŠ9%YśYiý—’ZÂM1 ZVëů·ÉĂčq ‡Íę(çyĚ*? f›ÚcU™LÓsâ¸~óZĐŢţŮ5ŹBÓ_X¦Óéî™Á¨1a ĎŕÁŹŐZ8wŽÖoݤÁÎ65šv&O˝Q·}sAĎ\ľH—ßřşńô÷¨»¶žuŐC:{PóÇ °l¬ŻÓââ]8w‘«â4¦­Ű[´Ů٤Ë<`:?‹42mąiś AŢkQŮETcî•ëäř5rH}>Táţ-U°˘¬}á^s¤ßaQt`äë ‡Šˇč iň6zđŽ{pŘ'ŇŽBú™E�'ŻyÍkčoüô‡iő±h«§©>Đ4쥏R•raé!úkţý׏ţę 2KS¨í,p'śY ‚z÷€~Ď7ľńŤÂş?ýÓ?-|BŃg®]»–Yčk_ű!Čáío;=÷ÜsôÉO~’Ź’@ 2öd§jŞVÜÖ%K> 4ÍÖk!¤ s¤ř™§Ý3 í`ŇŕÂŻ:LďĚB a•�d ŕ4÷ Ź—fa('B¬g'?ˇUąÁ =uYČŁŠŕ#äŕÔA?ŕAç€rä¨4M(Ž(MŇ<t—3yŔ­˛Oiî °alr>Š Ż%’Ě™Ć ©™š]—dˇoI'‘Cc Ç0Nt¤E~čX±ÁÇFźM Čë\ř.7ŚBŞ×ęl(b_Ä,ç™<›q–SÇpĘBkŃdŕ Ö^§Ś,sÁŞ� B…+‡ÁŇdĂ~Mńąh5.Đng·m"mĘËř·ź&4?ęäÎ#@(^ěÖ@‡%Ę4†bđ"4‚\ĺ%ČByĘ/yĘń_Wë©WőłFBT˘Ą 9ńŽŞTB>«ě¤‰}•kÓ&FáxçČ$ Ó¬<hw¦˝&Ł´i{i× ęĽśP+ލ®PÍÜZ­™ťLž‘)ŨGqg“†ćłŻÔW=j c™ű¨ŢŁ¤Ő§´Ţ1şEůĄ„u řşÄ&m?“1ŐćţŐÚ¦műf›©ĹnÄť}š6lŽGMóÚö› z”šćřĂĚYgNH6\……™ ‰#Í™˙iVÉ*ÓW"EMiÖŐţ Ô—©ßÔ.ř®)Éë_)ťß«DޤĘĺHzyó-ňO•ű$őřţtdµěä:s®gc7Űßn&Bű;sŮ÷ Č>Tě(Ňޡ&ľP-ˇŞpjŕ~b>8`ZŘ®ŞďÓÔ{ŞÔńÁńĂĺË—é§ú§é©·żŤî„56U-Ą®±ť‡”†Ć‹Íň?ôAúâźľ÷Ů?4vdÂáVťľe},~@ôąuë ŕîC“7¸™ŻśýFŃz<ťfş"‚ÎýtńhÄęnÝî˝Ň‘ŕ¨cżý8LÜ đu»‰ŞĺßÁiűł“¤ÚĎbĽ«b™—˛‡›X_çţbe`ě¶îi=÷˝ěöe‘LíN,„ř#N ę-ŞHţŃ™Ü(>&˘dŰ`…ĺ"WňśNAFe ÄűZzAh °Z-˛ĎÉŕ�Π+łŇŚrd’!–VŕH�:'!ĺ,pđL)Ă0ŕ0M6¬WśĄ±çeĎÍŞý¨ě<˛âćD€¬€¦·v„źC¸ăúĘârąďŞÂďc3éCÇ9é׏ąRĹ„ #óđAŠ­k¬ÄBÚ^Ý@Ť( ĆËŔ'ĐŐŚ&ëřęA––‡jŞ™ďˇ sbG Ką¸ňęRpµ9|=EňOZÚZ$)§Ü“Ők m|lě•„ä‘ßta@F§vźZTŁŘTßŕ憦ĺµ[ kÖC޵ęÔXhŽ4Ř6m,‘®™ŐĚ÷Čt<"ÓᨛúlšĄ60éđŕŹ© Š”ą̵ŃalŇőÍ%(©…Ôk„dş-ćšú˝!mő:T‹MmšĽ”9fłŐ˘Řě—˘c3cŹPXŰ^(b˘Ťí”yG‡ qLXsŰČ?S:ĐĐS~˙§–LGn™<F9·˝Ś d›™×˝Ë™+˙ŚoNnSą”+Ť ./íÔ†ĚÂ÷|F‡RY§/đź3ţ�>´{J9’ˇ@pĚpRťďű=+źL™çU"ýř f2x!ś@Éń§~ę§č#ůŐŤ-8€­Ł01ACZÇÜó)Ť†šF!­,-Đß˙Ĺ_ ő>Nk·éÚ7>E·oܦ­k1mÜ!Z0ůařÁ†féS‰Tę—U‚Iý*3xt©#—őUî677I śír|±«ÂŹ]1ţJĹ0`.ôżTŽń|ŇÝ­rÎC–Ž:¤Í wÓî3řş7;Cęözcân¨˛ůťă÷ŚUýŹůçΧź–&{ÉD-ŕôA?@@T0ŽrňŤ7ě`»%â¸Ř¬8 Ł˘zDqśä¬mGÖá|łO¤/çăţ1|¸ăŔ‹Â%RˇäÔůł›ě:{6…ŮOŢ÷#)íhŠŐô©7čňěŹ$uĘIöżA Ęë)4ß4Ż&ědNž4‚RĂ,v€22iëµ1i#H5ë)Ť1®&U€0©Ö©Q«łĽmt19ó͵AÓ–Lűi¶ŰtńÂyęĆ]žE°ą±ÁuŽ4«««´˛z–VÎťŁn§CŰĆ1†6Ţhըݮ±Jd10Ó6ąMB•'Ęä€ů¦ľńÝŞRGŤB{Ż ý¦:ˇŃÎvvvĚuŤé“çčüŮstăĆ«´ŐY'i ˇÄ ±ĘVĚ—ÓcU®$M0éážv^\}î?‚{†*gR™Ě3ď¶˝¤G îY€>Äűß˙~zâ‰'ř÷™3gč'ň'éěŮłÔ7¶ZłRÂVrLÝ~BQBĂx@ŰĆfK·»lź=ůşGéö­ýôý=ЇC 7{ôę ·©µC/ŢĽCß»˝MWo­Ń wvh§×·ŘÓăBÓ˝"řŕčˇlżćĘ=ZOŮF÷´G=…JöĐ  ;]lĽBŤ0ĄŔůđś’Iš¦3Ó ޞovŃJ 8N6,(-"ˇ:ő¨MT[ ¨P ެTT¶óý2Uţ7!Ý H 8ŤâŹ@ 8%ČRr5–<¬’ÇÁr!śśŕa¦©asH-ł:B&‚4„Ł eš=p8daxRíĎu%×ĺ$ýHpÄ#O§3&XâOĹEv1”!Ulť :'Ůcć§™+ُs-*˘¨#ŔF`Ĺź$6  4ŠG¬ä‚h RQF€R™:’ bł$9‘IE!“zơc,cŞŐVXńű*6űĆąÚSË ZD˛ŁÄÎ,3RU�"KzŤmUf@x©…ÇJťY©gbză{3©«®‡B 2‘9÷Č”? ^wDťíľ©Ź€g$5¨€fő•Q—ňX-MáŮ–Mý„ŁúŃ€† Óţ˘ [¦WW©»Đ¦Ä´éŤ¤O˝¸CËç–iq±Nµú‚şÉ±nÚjbj`Ńt@V”.™</EÔJZMÝ©”˘smŇíşf@h`޸—š˛šë˘Ł&%AÇ 'ői«żC3tˇ}Ž.µ¨6ŚX9«ľQű\“¨™PÚ‚gXy+i Ť“Í´m>u&»4ÄöţÖäß±^ V´ôŞŞöîĘuw sÖé ¨VÍ?•�´×‘iٶmütqŔćOkĺíGtďɤŁ(ěÎŃňC?ôCôîwż›>ń‰Oph˙®zę©§č•W^ˇŰwnÓ—`bćÚÚZ¦ö—đ€=žóŰŰŰ44ĎÚÍ­-"Dbé8U$UΡÝÔ|ö’VÁŃÁ[ßúVzó›ßLW®\aÂ÷‹/ľHżýŰżÍ$öżń7ţ˝ç=ď6vFH-“v3LkŠn{ĽšçJ˙ vú´ł±N[CčůhÚ^ Ź}ěwéńtHW~.ľémôČ?D—_w–޻ܦ=sś´¶ţ ˝řÂ_Ń‹WżB˝çnÓÎő n úĆ.$K¶ďµŞ®i«R°Ęb@Vµ“u,‰čŢ)ýělž˛GťÓO LLn#oę›.ŽŽŘNޤµW_¤Ű/=MťÍŰt8ÂüVťN‡Ăąp܇…˛BŢnĎ_uŔ÷ŃQ~ľű„/7 ŇůQ«Č`‚é6Řď«» î-¤ýž>L#°nĚăĚů+ôř›ľź.?ňZ=[§¨Ţ§őŢyěçÖž ľz!ţ‚cŤifňŘ3&¸Ć‰Ě Â=±4˘G~ÉÂ3á@6”Óř NČÎ0 ˘ZťęőYýaź;üń(a2δ“u Hŕ˶ 5™ęl.ř—ć<�ěbQ˛J1źa2âP?ďUŰ_ÜńMť´qU"őjF—h÷¦ł‘UK%TÍśkjÎ/AŘ/SŹ%uű]38Ń Ő…Ë|áC Lš`€đÓ^lÓ0Ń«ëŻR-Z Ë´ŚS ĆˇŁúýő»ŰÔíBMhD—ΞĄ3رŐÝ4Ű0HjŐh–——©ŃlS˝Ń qŤ#%0ĄCŞ·T3×± ’Ŕ”¤$E…P_|ąl”=Í`FµînŠ{™‘ňľ›6Gms}Í9jtűf—Âţş)_ťCgĄ‘bµ¨îč&'ĎT’LŽgL»©Ą%5ZĐË<؎Ŷ©Ż—:5ÚŮéQç•5RA—ZKšž|b….­’×)V}>w jTW)@®EŃĄ:-Ľq‘ę¦~DU i§—Ň«ŻľJŰ[dśm‹'ˇŮ–Pcء–LęDf�ČTčFc‹šg":ł˛BgeŞ54Ő[ćÚ-lD¸Ő(ÉDŞĹe®‹2F©ąçFÔKz4Ň6®řćös˝mÇ'ȉ?ţě» HÓĘČD–TT&ö¸ŕqů§DâăíŇˇŞ˘…•g¨ŤgŻáyfG¨oÚßćvŹšŤ&µÚ5J2ŇOÚ…ŐŔ”GqR}bˇ,‡ ;Ěá2źśt4â‚ă„k׮ѷľő-4(ňŹ=ö=řŕ´ľľÎö�^űÚ×ŇÖÖŰxŕÝâĎÖö6ďW5›«jVl9©Ošp>U |@p4€gĆ»Ţő.zÍk^ĂöŕłĎ>KńA7oŢäű•xf<ţřăôó?˙óś†5.aW~DÓŘ…íV“–bMťţ€6ŚÍµhěě͵ žx02öÜSďřAúŁ˙ĎŻĐ—żţ= ˙ç×iůˇ‡čÂŇ2=tĺ=|y‘ĽŇ4ß#úŔűßIg>ü:glBµŮŁáŤ>Ýşv“ľţť›tí•WéůŠnÜşEŻěly‚¤ň<‚SYöăĽŰ´.|ęéÇ*rßyź­­Ýˇď=ó=Z»qŤž cěpL:Cč0ĽSóIj‡!ţŚá«¤Wócž~Ý<ë‡iíWÚőÉFńý±ĹĹE~Ć Íűĺâö€V.=N+ú´)ô—ŐďÔXÎgüi3¤©‘ö»M KńG śPęU¦ö3vxĂÖś4µä*Óů1čEEKÄ!٬ŐXÁ$•\m‡Ľđ\.k=9ôŽĽ�ťU{đqx±´ c‹|@ř©×ęYX+bň„ ÍäĎrISg�îŇQPĹŇĹ€9 ]™şŃЉjV™ ëˇY˛ëµžâ!uűŰl×ÚPDI¨7ضşKaB*ŠH§Ě0íSwءD%Ôçi\54űÔbÎqŔëSµ`CJ™ď&)ĄAjňFرµÍ?üŽM~P‡jX1Ë»˘˝*;7:(üĆŠ?i˘¨Ĺź`@´Ö"Vý!3( I™z¬ŰÁž@Ýä)Ő*8L"vđÄÚ’ĆúÍ€6Ł^ÜÚˇWĚ`LłÓŮsMşÔéňą Ł«ZŮk`ŠYuˇ^4 jzYUĄµ6jÓđö€^íwéúÍí¬§”ŚL‰Ě˝ňp;Ą'—ŰDćzŽ´q’-7F´°°`ŽY3ÇS7Tźé<Jfë)ö5 z1czÉUŕ|ëöú|*=VGÚmđČ]#U™Ň^D=‘W~ŁĎvHf(8KŞ”ťž¦xöfďăáĐÜç#ł.‚sŃę‰á ˘_śXâ"…x1YPʬjŕÝMáG Ř/řîÉž +++ô裏ňçë^÷:č@ß˙ýßĎźnöpáYŤ4h¸|ů2Ýąs‡—K—.1ę@Ó´ľ]ŕŰĺmný4ňOy۬pbŕîφ·˝ímôÎwľ“CvAŃçsźűý·˙ößx`Ňď+¸ţ l.¨ý`×çMűkŃŘuL6h»m9˘AßÜ˙c9·š´ÓéÓV3¤×Ľď=ôWźümşýňK­?Ow6®ŇZŃ÷˘:©úµÚghőětáŇ#tŃ,+]ˇK?DWž\¦ó?p†ůűŻĐIŹŢ«żA›ëôřî_Ň·ży•>ó{}oôźâނӂY*îw• ZEpĎ'îW ·ô„Ŕ zű„+éěRoÁ˝‡˙ĚBĽ0ůë¶ńď´—)ŞŮ~¶3»‹÷©Gţ)ÚÍEŹ[7ë·@ 8yoŠ@ . ráŻUÎp1»±ą^ŻqŘ'Â,$T’&y§ÓÂŹťv†Q„D¬bźĚé^5+Čźµdá˝8Ě”Y8Äd…uĚŽüĽäޱĘÎŹŽ&PFśs˘#Š“×3Ôx˘lfŔő—*Köčv©?čÓň™e&q¤ň´|}˛Y]4Ť0 íŐßT€aŇ F «,D*¤¸;"Ą´´´DGe_VqŰƽδa˛¶ŞŤCŮA„Ę ô@éčöí-zţů›Ôhj3ŔłHo~ó(ż.aP·mZ'|}¦íc†›Rć\Č:ÓVÍg’hşuk‹ľ÷˝›týĹŤÁa,Ž•7^ˇ Ź?bU&"S¶ĺ®)ElCŮ…e7˛áŰĽöęÂÚĹqjŽ—ňőŔ‚°bLZę÷MŮwÝaq7óG;íőG¦­&Ůs…¸ŁW– gŇ×ÇȆť3÷4ĂFŁąWšŮĚ}@pÔńö·żť~äG~„Úí6}^xá…śř_ׯ_ççŕĹ‹ů]÷Ýď~—Ă{a=Ý Ď$8‡nÝşE[Ű[ť*Ě"�ůg˙iç±@přpýĽçA|ď{ßK<đ�+‚}ĺ+_ˇ_űµ_ăďóŕÂ… ôOţÉ?)8‡ˇj [,eÉJEKµEęšţËc–íôlnóóާŔ˙é~ţ˙·˙«1`¬ť'ĆDźgS{@ë7Ś=ůíç‰Â6Ńął´xá<-_ éĚů%zôŃ]ľt†˝˛NÎźĄ·?őýôĐ•×Óg~ď·I ‡jRíć«`ďşASaýśřýö!e‹ `χyvł~ UuěüŘn<B0śšq™¸_¸1…{}h÷§ä»©zżůJóĺiçn»ó‘g¤@pÚ Ä@pj ô8S@ăPL–@1fQXĺożLVÖ‘~б8ĽWÓ(;n°~LüŃrŰŽmnŚtĺězźÄâB|”ŮÜű5Fď‰ů§¦O˛‚˛K€»ŞłŞŽf…“”†éŇQJ ŞQ+lp)B…P�jSsa…‚ĆŐZg(Śjt“ IIТţ0ˇťnB=(§cŚ0(a>›ć8ŤzŤÎ†µFL°Đˇ6ibJă>uú;´Ý١ţHsp¸&ć’Őuł•žÔ]łűŐĚß: ·”fß9„•łĹ´Sł!L5Eř4ő%AFúQůy ůi7»@Űc`¶wÍÔjxz;CŽv5ěÇfI9´V) GYř9b2VŞV  Mľ 7k*a•@Ré›¶şŐÓ¦žMŮĚm30«]°÷”–ms.Pż ´U+"«~"+ć€çĄuNž3·Ĺ”âˇ)Ô™C KJbťŁlŃíŞY­+ęyâŇS>ăYí 6 †¦ Ž=˛Á´xÄJX¨óĘG A%¬óC1@ÎxoŞ´”ĎA ÜOXŽ}Ç˙ń˙1/U�ąÇ&ŐtăĆ ţ’Ąű^ ĄňŰ~ÖĚ×ÝfĂVmŻš &N`ŕîäwÜk Ż˙ŕţ ‡ď‚vőęUúÍßüM©şW ŻúO˙)«†UˇÂnŚi›ƶî× kÔ}č"˝đŠ9Ţ(ćt—.Ń•~nüŹßfË´^“jGĽöĘÍz·Bę»I7Ťawkĺu´Ľt†ŰŃŇRB˙óÂc´Ľ{ďżńţz% ˛Ĺö#ČŹ®/…g#~ogá«ŕS<ą ëKásPďčwdž—ÂÇ`ßâ™g}8�$N¤ź•Ż_,HŹň»‰#n۬|üN¨ż9%Zî“Ć1 ÁqĂů~(˙wľî.š®łČô‚ýc–Ę“łđÎ1Ůůh»cąG?÷UuŚÉŤďíۢ‚ÝáŰÉż)O¤Ü+`[ĂŢľŰ66Ôźż÷˝ď塾.<`Ć!FĂń3°ęľÔăp_eµź˝Ľ‹Ęäˇýä!Ž&Ä2'žŠŤÉ>9ůÇ#ú¤ů, Ĺ„K®¶ `|ÁptŽZ@0üŕdc äňBY…žŔ*©dj%.,¶…pŞ›ípö ÷É<yy=Ő ź|<ł>}‚Ń,TÎä/Kßp}ΰ(E)őÍůś2 ÚtŤĽM­F“ÎŐΰ BlEµş©Ç­M6Q[Kç)Ş·črë’ŹĐ4ŚCÚęoÓÚŽ©·Ä¬äŰëÇ|Ú+Ët¦~ޤŤiccťëečĄĂ­w6hcsT­Eµć‚)‹iµŁ6-cÖ2ýAëáâ Ń4:–u[©ląĹ”EGĽ©éäa–ş+¨ńP”„ĽžĎdŞ0!×l´7y$R5j†m2WÓśq†X⡦®©GĄú…]Sďujµ#ZhÔ8U:0é$Â='ć>Š)ÁF ŐÍźf‹â44ëÍxQ;$}Ţt`˘‰>Isµ$4 ,¬ćR]Ě7,‡gńŤ@˘Z“bő ,8‘Đ”§Ů¬S_·Mď¸fŇ…f‰léçVŻ2âÓU¤®»AúÉKŔKjĘ:4ç6ŠŁ,v˝ w–¦xΤԪ59äźNR&°áÚŹÜ/#ł> E„IłŞ’řs·Ę.îćqŔNS˙™Eâ™E §Ż@pďńwţÎßá°\ µ|á _`˛ĎA€~Ă>đúń˙q&>řŕă‰čłč”IÇQTceÇČŘľífŐ7V„p®–»ýGěÇčż~öS4čv&ěZíő±¸‡Ĺጡ¸Đ͵kfÁńecC†ô؅ۤÂŐ&5'í¸Gy„ţú_˙ëôä“O˛“üO˙ôOégögéźýłĆ}$(§aAźşÝ‡Tü©źú)zÓ›ŢDĎ>ű,ýůź˙9" úwČÇőď€üŹ˙1˝ôŇK. ý/¨®=ôĐC żżő­oQĂ 2ľôňËôüóĎóľżôKżD˙á?ü®WüF˙�ú~P u=~ň'’~â'~‚>ţńŹÓźýŮź±ú"(÷ýĐńqˇęćΚȿ‘7ŇĽĺ-oˇŹ~ôŁôú׿žŐă@$Eą ÇĆwWäŹß!«r&´ąąI@p¬ˇ‹*?ĹMžĘŹÖ»’Ţ}źŻâ ?śóűíFě<,”ŐX ˙Uđ˙ąÉ§ÁFŻ Oě?xG ńç`ţßýžň|ňCô ¦ĂM°FéÜąs¬ŚI°źř›,„WÇ$,ôÉî†ú0kkkYźLŃŇ™ľgĘH«ĹwŮ”cgďŕÔB,#@  r(,ó/-JČúN�×ůw„Ŕ'ý8ű&ŢlбzŹć}7�çKQştî»ëĚű“Ş ižs:ęŕPfIĘNíµí5ÚŇÔKúćścv~€ejI )T6ü™ Bă°7jhgçŽŚŢ NtŚŁ0€JŤćë±hîK‹‹Ć9Đä㥙ä%÷.vî¦qüßŮŘäW‰É+ŕĐ ­o¬SÜPÔ<OµVŔůŃ!ö ËUqęŢŕ.ŤĂw\ź z–$† LČáC@ţ¬7ש´áĽ,a- ě)&¦ŤC) cS—Ę:Whă<¬ĂűŐLâFX’Z‚x¶}B!©Ćˇ§T¦`dŞM *6öb &Ş“ĺ˛Đx¸BĹę6<!ź»íYÇFŤëhß(9–îżĎ„áĐ8ÓŔ<kćĽ3Š— ͦ)'Ć X‘GXtAéŘ §Ĺ?Oń§ĘN(€¦ĺ%Ž~ý×=x€Süoý­żĹýŘg‰r6T¦2¨tnUF° ŤĄ±lV a‹)ť˝t‘nľô ‡ jź;Oďú韡?ţíß$ďµ-Ę…R;™Âfj, Ö6Ö]łÇ ›îĹ›_cbůŁKOzĄĹN!ą –•­™hóÉO~’~ń‘~ă7~#żű˙á?d‚ËüŹ˙‘~ćg~†{ě1úú׿NżýۿͶ+H/ Ć /őÁ~ ßüć73čw÷w9|ÖÁ±ŹgĺŮłgéç~îçčŰßţ6}öłźĄŐŐU&`§˙ßô&ęözL&±v ű˙íżý·™$U&”}C„sŮ ˇŘľöµŻŃßřFşyó&˝üňËvíCúď/˙ň/ů8 2Ý4 ˙ĹśKPzB8Č_ýŐ_ĺ>ČO<Ao}ë[™@„óŰŰŢĆÇ;ţ<˝óťďäď ˝ď}ďc˘HL_úŇ—řÚ;BĐ/˙ň/BG Á˝ŔmMßîĄR~UëŠ;W®u<O1pŚc�ĎHĽńĚYr/Äźy•2ËJAĘ´ő A,ś˛8‹sĄdÚ˛©Ź… ŽJź Üwń'0 ŕŁeßŃ=#fwĎHp’ŕžĚ�»÷űľďűčŃGe{ú0B}üűömúĆ7ľAř‡HO?ýô€ăäga陯ߧňŹ@ 8yâŹ@ 8ő` ‹ęŚdăČ<‡‡Ş›wČĆ“SŢaâfdž*'N¸ąUíPąSŐxü°^~çÔ@kńŐ|ŮÇ'ţ„éd.ÝîÂľáʆócN÷Ítť’0a'úŔ83FÝ>t z‚°VŐx[Ö¨;Ř abÉóe» rDĘuµ¬l>X˙çΞˇ$–Íp]IYgÁmăŐ8Úůzgrţ(ĘłC›´p&˘¶˛rÂt˙x?Ś*Ilť˙!‚ QłY%5ă$b‚ŽŹÁhëęQ( ٬sdI?AhÚkgjTö~ŕ™Ç-´qÔoÂyŁ˝7YȤ‰M›ŘçF YµĽPL|3ź Ua-Č>›¦zL‚ł.7čcîc±Ś‚$?˙Ě=Fw÷âŢA[Ĺ3ES”í]ËĎSG lAÉt‚îE‚#бJʦâ؇žDđŇW HcH 8ZpŠ1‡…ú±ĄKŹ<H77ÖčJ«ICc'†AȶVî$¦âÄJŞFucőŚMŐKcý&ˇÖkMzóŰßCßřćÓtëŰź§’Ěϸ!Ʊ%« Űňx‹™a�usëÖ-¶×aCdó±Ź}Ś>÷ąĎŃG>ňúĘWľÂäO}ęSů~PöáaÎ0(€YĽč}Ç;ŢÁ3„aÇţÖoý“€@ Áö˙ď˙=ď‹°jPóIçË_ţ2§dHóăóuŻ}-‡dIç'L:”©fęäť§żójµŰô®w˝‹ž{öYŞ›r?óĚ3||ś@zăŢŔä˘đ÷˙>•~ú§šţäOţ„ŢkňńuÜ1çńŞ) ?ŻĽň §Ăů ˙úÂŐ«LFZ6ů˘|ź˙‹ż ż÷÷ţ“ŢjCţ/˙ôźŇŻ~ôŁtÁ”÷•,¬¤@ Ě"śL%ĎPu((©Šôĺüđo€|yĺĘzüńÇ™$‹w H?Xđ®Áű�äŇý�ľ(.AĹjýţ€FC« î&úg†eŃ8žĐu:¶iˇµČďdÍ“†´“vh=éÓ«zHĂZČe‡ĺe_yąĐ•ĺęÜçeę� yG5\¤âId:˙$o"$űjťo´Ô>TćË…/HućOMÓ]¨Š Cw™µßÜáż ˛sÇ„żtÎrrźŻĘ4Ť<–)Nńľtőˇňcć9š§~Xžőχľą3Áłdqq1«[ž _'ěÝÝB—á9‰ç€çďn$u¤éç©§ž˘÷ľ÷˝¬˘ Ň;lŕĂ�žű îHäÔ2ałcÝa JÍĚ®đ=ńNó›†˙\śâűN„ř#N|OsuÇŮIRĚÎ6!L—ʶşY5™f*3LXČÔ{FĆQ |Í’ř”w&óY7ĽŢć›Áz_ Ň—š´aŔRŹÔ“ÚR¦VĘ)¶ŻYśńĂE. äŃŚÝĺÉ`ďo5…äđá"*UKQĘňĹ5jgF«˝ČˇşâtD=ăĐ üâ&ü‘Ń3ŽŤaŹęf ˘%A“T‰ßézJq 9..xUQ݆·ŇÍ€˘Ą-›‘‹V”Žn±ŮݡF«aăřűL2 Óq R>6“şĚd$1źs1ÁżĐŢo=7CUTVŁĂäĎ^‚CfÄ‹ Ó1€LġäŇČ8…: śBuŰ‘4ŰăH±jĐ0ß—fPÇÜPÓ Č¤«›ó2ëpžŚ_J…X×µ°P§Ĺ…ÄÔI’ßĂ8ˇ®qVŐL^-x”)'TZš‰Ú‹šX` ĘAŮý—ňµ)Fh0SĆ8˛×udÚ{h.šö8"ŰöSć+qh˛€ c¶…&s.©˛N ±Â] [ĘWdŇ“ˇ˝ĂďhkS„ĐaiŰ”'ĺOš=šµwdĹ B($ŐXń*WP6 M»Ťx°ňT ÇßbÓÔ—ůmŠ0„˘“é7×Àۀ !¨ď¶oJ 18ReŐ,čiä?ťCyÖ±@ 89�Ůĺ'ţŢGč6 邱ł×µ±sw¶hey…Bckľď‹aˇ±yą‹cl‹Ą…&uFŰćs‘ťö;cł…ĆF^z’ŢůĂ?CźyćkÔëvÉÚ` #:Ξµvš;÷ÁÔŘĆŇ*łă2…J55ÔÄL\,ßwá°@ŇÁá˛ŕ¤ÇDŕâĹ‹<�g=2čuy`ŕÄČůăYýń, ł|ŃOĂvuP—]s„{nšVÚ4ů10lňÂňGźţ´­ “×¶)8čS®c2Áö6­°‚)B×iíömj` Ă”a}mŤ^}ĺÚÜŘŕúĽeÎ iüü@üącöA9VLľ/˝đB~Žu“ĎŽ9‡ sŽ8ć&Íš9ćĐÔ öA~8FڰŃ4śĺë.–W„@ ¸›ŘE•RWî2»\ĺńrđ^�á¤I ă}�Ą4Ľ+đěńĹ™üłažË{ŽiäŹăqyě öÍ›7ř8ť3ŔťŽ2R†MÁžóă˛ńEüh˛HßGgéŇâEZh/đvĽ‡nnÓ×kôßőÝn5yŔç„ňbŔď,ř'ńŽ ‹î­Z‹UçPĆćť7`WGj^‘{˙äďˇĚ\P:óMé·ÔŚŤÂm- 6‚ŹĎĽWGz6‘�ľÝ0Űę×)íB:¦ŠSíîĐMŃĚÔĚa˙č=·ôÜkŮĆ l'©>45(v™şÎ)EŽŕp ‰?ľż'A*;ëhŽę¸źvÚ!ž™°±ˇ˘‰gějG$„ÄG„±‚= űzÜó€ĘçnĎ]¨´AéÇ'ýŕx‡<OAöĂŢŔżńľŔDźřs>?äş#6jÚý~¨RřńÇ*ěAH ś|ńG śř”čIŘńőqš"-@ĺd6'đb}űrş6Î÷çyć :+®#Ä3-R%¶3é?,ż›ÁŞf#Qfر±¦TnÁ—;WUy=íź]U]yßőáuŕ¦BYĹ˙iĐYŘ®f«Mí…%ŠŇ;¤‡}ŠÁţ@w32ui^fŕ 'ć35/1s­ż·Y'j·0ÝĹŚŚ(ióUQ¬Ě5 Mw˝n®gË8Ő—Ú´bś"¤ÇŠ1®XKkw¨ŃlĐhgÄáľTkDˇŞgÄÍ3˘á@@¬ŞV˘™ěˇË:…ôĂßuFţq-íδ/ł OYu¨ď€L3Ô J ÎŚL’šQČbÔ\cŇĆ™—ˇnÎgŮTY=S—Ň!×­Ş™"H°°+Ô¬Ěy·Ű‘q2™ŽOd‰?LŢáĐj#ó™:Ż1Y çR3ů´Đi ¨ŃRL ÂńAkKp™qFěIłkŹë<2×T LŞˇUÇ Rv‚ÉVµ,<YFÂÂ~‹O‘סOřQ4‹n•Ń Skś‹ÍÔ›6mIŁťÔÍ:S7xsĐ÷vŻLë�ęÂń­ăcb©¶3¶"„Dă™ö¦ľ6ÜY«…Đt5VÁ @2L1[߆Ds˘»|/ ‚#ßá3ë}^Ąţ#N60 ÷çţçéĚĘŞ±ł›L*fel&{@cB»ł6™¬ÍjĄÄ[ŚiG5óŁ–uOęÜ -/.Ó›Ţř:Z3Îöżřěgw)É^ťĚŐĎ' p!Ś0 €°V�Ôz0@űźţÓbÇ?H<.=Ôu0 "ĐľđvÜcv0¶AÉęž”Ŕ #Ľ&`ąZ j@ âÚµkôťď|‡0°qéŇ%ě@/,8EŘ/ şč7˘\ď˙űůŘ_üây˘Îˇp- Š=PŔŕ,ňŔ9ýéźţ)—ţëýŻ:Ě 0 ?ś#Ę‹<pŤ/ĘĄĚřţŕa8”ŚpÎż˙űżĎľ®ž>˙ůĎď:ăZ î'ôţ©˛ËXSŹ ~>Ąü\GčÄ3Ďg)ńLEßĎX ňşgöÔrxđŐ5ń "łťEŢý7ďŃ­í-Ş™üń}ĽŹuí±˘‹ńŹť [ô}Ńzďâş´t‰óÂ$Ćnء[ëÜůŇČř'WW84$˝ńÎÂű ď0~Ţ›×o{»ťű"q^HâŹSëŔ»ďMěçÔĘŹśm’Ű(ި¶µ]Şm ľľć:„šÇ5EűŠ$~z§tOöĺ†ažnVř¶˛ÖŐ_ŐäO·Ż–ŮWGqjďľżŘ)Ĺ;Uy�m’ŰB¦–ÍP˝ýÜzżŹX>l¬siqŢřîŇůÇc˙ś7ˇŐ).ąvŽ}ź;77‘Öm×÷ź_>7!vZ»+‡˛vÇKÓ»HĚşOPJ&9e8%ž'xŢ MZ•rKüA;qĆ}ß HălďyŇC٤M¨`>üđĂůsĎ1ŘÓ( ňqQ‚ě9�`›Sµü^îś\4ŘűČĎIŘčřÎ îAűłď2*˝Ó&Ă|íš‹>9I ?ńG ¨8�ĆŠ.^ÇĎu@ô“Ä* pN?:íĘ….ĘLużCSîřäln­3âÂMv]š1lďw®Ů™ZÍQęĂyÂѲ¸´H+Á Eiä–F- 5Ŕ\„P YJ´µ°DŞąL1ŐŚqߣł,šęjŞmĎ8Ę{vf+;=[vŔŁ‚řă‡iR)uťÉűÚ« iÖY‡cŠ;):˘4\˘ţŔĆŁŹ{¦ÍöłŽ¸©Źˇ9‡QĆXZ0}¨µ%˘ó«‹ěŕęő0[e!î,źM”U®˛^>iÍ…śĂőrł¨\ź ‹ ćőLťöÍoëPŔ=„ňâÚ5šuҦľuf‰ ”UŇ3‹í@)‘†ÄJN8Nś„÷Çu‡¬RŘ@;‹GVń ĘFh‡őşbu%?¬_U^¨ĎD›kfmófĄ'U˙ěDI]p6ĎrJűłŽ%ä ŕxšpXC† ű3˘]ŮŢ,-V¸DßcL4Çç(ŇŽ±ť»ĆĆ|~ŃÚN—úŰ6\H×ŘN¬7¶i±¦™hSIüŃ^–ĄŚüHjĽSU?{00ů‰O|‚żĂ©eŕ×~í×řóÓźţt!=śôźůĚgxq�Ůž*|ň“źśXµ„+ŁśŇůŔó¤#,ÓŇ8Ň~€˙ţß˙{a=öjlľý­oçßËçü_ţËáĎŹ~ôŁ$ÇS@{´MÇyŚ÷sÄ îb°ďGĽŕÂ{ź»…™™~ś1|38VNć0K§ŰÉɤÇű«Rů–ÚKtqé"]ZąLKf»Î!éMşČöű/š1ëłÝ!—/Đ[Ţň4Ç9°„Aq§ü‘ gďČźđ±`ĐűµŻ}-żOżůÍo˛j^Uh°Ł€ý ZĂź…sG=ăüq]ÝoŽ …4ąz»©2‘(TňPőˇĆNµĘď.tŞŰćG@pŔňvA–đëÂĚázE™ď ĺÄőuÄ-\3?×~ü2c;ŕH ŰŰŰĽiÎß…eBąťš ~űu8_ >V˘p~8ś޶…íU G4ňË7‹Há“\™p<!2 ŕzŕ‚áeťR|Ín»#°&ĐĆę ‹#đ�8ţWżúUî€x䶡ťăy ý ťb_�ä~¬đNđC†9ĺ„ö…b(î<×Ý=u(’۲đ†sĽëě{C••}J>@pú Ä@p‚0I†);ŤU¦Ö˘iĆxľR™Üf5ŽË…ä˘LZ–ם€Tj‰?Žěc%LUţÝ/™;VF˝¦ś„’‘†ČŰBŠQű4ź±amÚµvcüŢŤçeˇŐśńYŢŠPQf "jšÓJ­KŤ´ÍJ& ţÔkîš(ZX4Ě E+«+´°´BޱLÝaLŻ^•†ÉÂ:Eőšé¶hű΀¶:ë4%LI† $«@91ĚČĂuŽůzC=ČuN¸óź˛˘”_}¨x®>nbëÂ1ó2›˛ † u¸ÓŰĄQ’Ş‡Ć‰ÔçA‘îvL˝ť,śuB( YçG3JisAÓöĹłëuˇŘQ|Îayce–0k×™ęToP ű“BsÍj!śŠF¦¬|…𠙏…vÓtšĆ954őŞ3Ą Ô”ŻÇĘNĘ8jÔ‚R Lľ©ąFťÎ€F]K¶BX/eĘą°şo XA×Kç*?îűxí\’¸TuÜ "8Ybż+/I6ó]i=y•uĹ”żÝźGď¬óv•j+w ii´ů¨äůy–ŮÄĆT_Ü�ˇ6ŇyiŤZ-ź!¸ËÎ?š|NŞŇ§@ ¸pN#<Żád:ČŚ1v„şwWf«¸™“>vSü©TÇŕú÷˙÷4¨g÷w¦$P3ÖČđ°çě-ď?/´íÖ˛ÚH#ę ÍŞŚ©±óš¬D TŤj mĽ’ďv0äŚ@ P5ZĄü㫥L{ˇ(OáŰMP‚M#`P×…–ś§lU¶5lräĂá´ógčś\“N źäʇň,..pźˇâG-űÚmZĐ ÔL›LöíP0 4&[ář´ĆńÂlľăë1 Žp|wÄŹ“ŘpÄś·#ŇřpĘ%¸ön2•ëK9U_gě.*Ü8RŹó»ÉŤn›# ąăඇOGCůń DG Bٰ8˘®ť#ąöâ«ů“Yő(»¶(Ú$ěC¬ÇyaÚľc=ňtÄ—·äíź>ťZ”;¶#Ząóö S®ľ|âŹ+»żÎ'2!˝[PĆ.‡E }á¸ët7ÔqĐľđÜĂâHq�î~ x‰r¸űÚµs�ţ<óđŰ…ůeőϬüPôÄ6×ţ± =ňŔ˝Š6xOŕw%i=9v43ą‚‚“ !ţ‚U µä fsďő*˙žŃ^ĆŰSG°ôLúĄ¬đ“Ë»Ĺ!‹»Ę°†;Ci‡ŕł2¨ImL$đh�jrŔ]ĺiJđfMěŁ'ކËÉĄŃcu îHyr­‡Ç@P”mr'…ňç+uę›Î\L¦#kęqąĄhµ–šÎl›ÂČt�Uź:ÝÚŮép\óö ÝčěFÍ+Đ# Ň>5TBK­†qz,ŇËÝÝŠMÇpPw€0lđ�)f6›n¶üČ?őŘ8SLg;P4 ©Î1.aŔKśbćś$-“Úě«R…#§h(ťĹĎOđ€đ©"¦Ľ44ËĂšőM_C'!ít"źECăČAĄĘtćM›îÄ932íŘtŔkM”Út|ş´­ÔŮŽÍvM=…ĐR}ęö“GBÍv“Z 5Ż+0ů&h+ppÄVü(R!ŤŔ"2÷Hw0˘®Ů�ÇRłeŽ­F¦nMý?Â+7›CZ0}«VÓ ™Kµ3iÁäą'“g4Ň®EÝľ¦Ťµ”v¶í ßTć,jćT›T qĺb¦ă$Š7šßÎ0'ŕÖ”fÄ(׳¶¨üÚT…Í(´7ĚÜŔěˇ!0˙@ÎŃzL“ÉăĘ» ĘŢónÉ©ZZeÍ^eüźěndž”é@ÖĚYŕ>Těń¤ÇdłqHqhř€FŁý:uvŚĂ÷K»nÚqD¦‰zíÎ'ęĽč$ÄQÇľâH^yř4íXKŇ  9‘×ŕ‰'ž w˝ë]<s N©?ţă?ć¶Î!†p©‹÷śJNZÚͶtŽ[çŮŐI×;G±s<ĎűŽźćôŐŕxŞßřĆ7Šę•ŽçLłÉҬʨ¨Č rű~thĐb{ÁiÂaŘ™ĺAŃyóÄ�1€±`×…—= [ËĽę7UÇ÷É#9ńÇ#B°ŹŘęn ţ17™ d ×·Ŕŕ;?Hç$臠OmXŽ˘ĘĎAósjN}f\]ˇţIČ©Ů�>Ńőč‡ri}… Ŕ‘tś’T9—Żś´ŽüâČ>ŽpäĘĺ®o- cćcÜ:·źŻďoÇń\ľ8žËíß|\Ř.Ŕ'ůőęTŽśJľ Aę÷) («ľ”'¤8"ž#ů¨r}ąĽG.D—#Ć -=űěłtżŕBŚôg8žďh㸗!ÉÝŹ§‹¶Žç§SüÁłi}ÂÜn(ßűeř <óbŮŐ‘ZŐ‰>ŕtA?ŕDAÍPłđăäí§ń,ˇś„Ž;Ĺ“‰#řé\ż&WôQEV‹˘‚ŇÇ$´—Oń[1Yqh"C5eW=a *o™›=ľäçŻ&…U3Š•é„5J"cT›ţ[+ÔTk(6¸U8‚N 1ŕI]łľAmČđ"ĚTťŢj‘śšÎi2˘ L©YS´˛Ř¤[5c^uĂ‘¦^Daź 2QY‚ ͧíśÖD K‹ÝYŁfFyłQ+ĺŚDŁÉŞţ(­‹gĄĆD2Ąô!é¦h˘‚|Kš[VüaŔłŃppČ•° UŤ $i`ś@zŔ„ĄŰćR4Śhdęrdx¸Ł¨ą…ł_lÉ(µzÄŞ3 ĄôúÚŢé§ĆÚ Ě2 ™Ô =ĂîŔ\Ó!Ňôm™kŘ2*ă@¨ÁŮ„ VZŞŕbŞ}d 8ŚSVa MÝGf€Â40寙cBÎxÄáÉ‚(äzOĚ1V–M~¦Źź8’ Ó|<âYň•*ßşüĹżfĺ4¶Ž™ád­pí(RXŞâÎU˝Î#ĚhUj�ţ-ÉBI+ü@e*`"ZAśd¤łĐ„B»żćëlę%Ć‚¶oę6jk‘ă;ž'ygĐ'óŚŐľ,1 ?Őäą ‚ĂQo}ë[éńÇgGÓ›ßô&&ýÜąs'w,?đŔ쀇Łiข3 Î(8™!3ŤíVŃĽwĚŔľsćn0aIíă4ËË—Ŕ.’@°GčŇw=Ĺ7ł+ ¦čĚĚĹvÁ]@AĹÇM¦ŮÝĚ5vĘ.‚ڍ2†ˇöŰŮ…*Âŕ0BIľňĘ+űVvđ•Xśň‰#ţ G6ś’?pzů:Ô ;<AŽ´ ő5D(NÓ@9QľííËęöđéČN Ć'Şŕ\±ĹuŕÎĎÎÝ'´řpˇ°Ü ż#«`?śŹ#Ö «ęŘ.t•KëB€•Ă„ůä§&äB…~_ΕťsÄ÷9|b‘_—Ź őµ[#WF§„âT‹Ęˇ»Źó5Ďî Ű]U!çÜďy•¸÷>) á±@ÚB¸-GĽC{ó‰hÓŕî÷}7 MAĄ |%ކO(ź𥠽řˇâśzJđ·ŕX(·»żńÝ=�´K¶çv/ź—óĽç8ť«Î©Bd @pZ!Ä@ ébŞú§Vžqĺ`¦ĺˇiwů|D ˝Ŕ©Ŕ¨ =ă÷¨€őx&MÂF5?LţÉfŹř˛µ.ţm’u,“8ΫŰÎ>‰ř<­‘Ţ5ůˇ#›)%8Ĺ&˛†qŁŃ4«géĆŤ[őËŽ—8)Ěâ9j°eŚ™ä®o˝n A`ăÔŁźÍő‚?f»«Çá(Ěe‰Qר{ D·ęCZm+j7Z™´°ÍťĚŠ0CˤťKUòpRĘPgşpjI˝Üaf3‹z&˙HĹÔěuáhq1˘íť„;n +ŐĚ�9®śqa°JíćBÖ<\˘šËú·Ă˝şÔ!K@›ql|ýdD#SżÍf#ŹŤşkăvlütťÍJ›>ăÉ'ö•ďwźř§]ŃI ‚C‡“ŇXÁ‡(wŠâţ„D?îézöüsĎs„‹"űNńrÔx€rĄ{?9‡é8FüÁ j?Á Á”[YÍłË4âOAŢR @ č źÎř»#z8µ RłĎ!S2Á`ń3Ď<Cׯ_ĎU v;N•ÝŤü0™ ęČ~¨/ücĄ‰)yşňm'Űtłw“ndÜ#ô!0­ŰíĐ­[·čćöMZ­ÓMęqyáGńU`0�Ž08(ÎÓ‘a0€Ťľűl˛~ÉIű›Ś˙©ÖËő•¦ĄwD0_ťĂŻO˝ ­\ç_Az‚,$łŰćŕüfđłá: Ú"Ęá”[]í×­\Ž2™h9Ç'"ˇŽĐ.\H¦YçUΫ8)COÔ'–˛ęŐnyúáÉŞÂR;…!7aFp˙á®· ‡kôŕňóľ +çQhríŇ}ß ¸Wˇ,ôĐCŃë_˙úśřgî#Ź<Âáş\X;”ÁWď‚ĎeÜ{�ŇşcĂă°\ŘG<ŻoßľÍĎX܇űUH›GůgBXŐůh`âŹ@ 8%Pí”\ťÇ}j?t–f|[ÁěrˇĽĽ}•s|8ĚOŕrá|´ÔJ{zú6N…tĚzO‘VĄĺöŹś—PëB±ě1}GĂx#Ž©} tCĹŽč>ü#V…paÔFńČÔSBa`ĘÖ©Ń„ŇO‹Ő~‚0Ȣqđ's>ćP.IX©% 5-´B:łŇ°ńŮűę‡Iw`:‹5sî*âpRö §&ĎÎś[ öbŤ‚‚ő)íŮNl™ßáWůŠŽ…SÚo„k9ţ} |m\ÁÁđÚ®™C#ţwݧIŁ´A˝á€¦łž˛zLȤVŽ‰Ń ŠLÄę@q‚ß!+…Bž5(I1CÇ8–ŮcUgFfż^/ĄŰwv8¬ŘJ»FµµéVRćĺW»ôÜók\˙¨Ď„Î2y¶#VŠG¶¬ívHÍFj:G;´ÝIčĆ-M›;}Z\×ôčE­$ŤM/1N‘8¤-ăoxővŹU‰ju\WëśX\lŃĘň‚)ňŬŚ%Óá·ť´T·˝ ˘©k-—Ç*«fU\‰UšUżŇqíµŢ÷őÔą&‘ű{ę ôHZĆ­C}ÓŐě1W)UVŐd+m nPtRb˘«]EšďeĄ‚ĘŁN¬ńfIN»÷eřN ¸;Ŕ}çęwľóž…ŐÄžţůç 3Cź{îą|†śĽÎ™ęfWB!Č9®đ›gDš‡<ĎÜ…×Jżĺ7Y•ĐN1.Ţŕą”ÇÝ;ߪ߳ěŽň¶Ş´öůuˇ…‚Ӏҭ®ŞWwIi˛+45Ď)¤á]1¶ďD3CŽM- î6ň^¬†ŕbBąÚ)Öĺr8b ŽA€)«ú`‚đą_¸0Ľ$vˇŁ\Iŕ ”|8iIÓŠŘ t}׌Oęë5^}©E´/đ«–‰?[·éëť5şŁ»fP{H/˝ř"JűŔ�7”0ŕâţBFz‰łPU”uĆlďg BGy˘Ű^ŕ&{M_V : ě–'|]NAuďH!řě†2aÇ….Ű/ܤ4_ŐĹ‹FŁ‘¨óśP¸¶üŽ\ăČuŽD‰çčn*R�Ň€řćľďäűőŻť <NˇßAÜáĘ=�ü/(‡kăđ±€řăB€KëÎËż/@˛Áˇ“19vž˛ÓB­ë)ţ]­tµ[ śjńG ś Ŕ<Jˇ–Je!yY‡˛AąJ}ŃI sâ€ÝÄdť)ŢO&óč1Q# @ÉfvđÎINţ 3h?jäÇ…CJÂjÖ8ÓŤoÁ§ˇ Ű”w\í9ßń=u„"t[) 2ĺ€Ú=!ţ8žL^vWłR“ăÖ7Ů-)ó^BUŁZ# …°AíĄej.´ŮÂD ÇIf˘Zh ;¦ëL5S×+K!=p±eś9ŰÔŮ٢N_ÓN? z»NuSŕS Ö8¶u+˘•s&˙ĺ†Híаo;ş1¤a㼩Gť“z4Q!˘“«~ŰÖĆMdϵ[Řä˙UŤó¦s’biS,›˛ďĐf·GaÂçÓlAĆl‹‡ÔéšNW ‡“Ę:ÝÚ¤CČ­©aĐšü{ĐŃÎVź¶;CĹ«Ó1ůűZhăéúĂ>5Z–0őÝç:ôµŻÝd’ :YĂô ę5ş¶Ěďz]tú ,rČŞÄtšnÝAüy(u©ÝP«Ń˘ g›¬tÓí§´¶MtývBWŻ ĚľC&ţp+ÓaĽp!6‹q €ě4Ěů\ ťŘŮiişš‘hĐÁLłµ\źům·«âî .‡EŚě ”YťpŘŻý�AÚwwšöňo> Tj‘y¶Äčá2Ů'e:ZŤWţa§ ±Ě·éËšz™”F\¦ ?J‘Ş(ĂbÁQ€ăŰŔ úÍo~“ŕlęětčć­›ąü<Xřt3„ÝlŐiNc_ŮÇ‘‡Ęł*'D9<űGa¦ß4§—@ 8<č'Řwâ ű�ÉÓA N>¦ÉwK·[žÎîĆ ® ńâŕ+ ěßźVö­!Ź^xˇ@üÁkjŇýě{ŘíIi@W徤WiDźÖŰôSžĄ­.Ő ~k˛Đp›ÖtŹnš4ĂAB7oÜ Č Jű`żńŐ`˘Qę‘zŇLIĆ…µÂ#”ć Ç$8ä×"#ˇąľ› ĂU&ËfźČź ć$?§T[^/}ą“ §ô˙SLó}N­ß=kwňáŇ}ß :~á _ČźŐ8ΓO>É*CăVqDürMSÚˇéÚµkô­o}‹>űŮĎŇWľňöář(+řĚ3ŃÉm/OĆśK±9WŰýľš5ŮS ś|ńG ś:ULgXٰGÍFنɀ:}H7Ž&äzčܲ1"UĆ­‹;쌻f˝A­z›äµzŤúqŹz˘ĂxPčÎ# ŇůćcpÖÍŕ}Hë5Úlb;Ů×zT§ZPăĐU0RÁ¤Çń‰ĎĂ”?¬™c·XŽJ8C(Ŕ…Q#˘złnăŃ"¶­ÉCŐ ’{ŤY“‡Ç‰+›`!–tµĘ/P7Ꮀ O”]QŢnć8ńĺ”ZćĽĎžY¦ŤőŰ´14§˝.u{-ZN–müótHJ[)[ORm:*ΗتĐÄi>S+Ő©'Í\< =ë|ÔA&ükdUbP¶ÁŔ '=Ňm`Ú)ë<WĘřŽh§cśU˝QËĆt7ť!sN‰9ç^·Ďu"Nż?˘Îvź‰`çÎťg•ĐNĐ~´Ć,‡Ř´§”˘Úu›F©éDuSß ęŹú44«nÇ×–\ÔŇsĎ­Ń /gÔ†I“IüŚCjs{h.ʦ^˛Çu>?Ľp>Ű;š:=łÝÜ“Ťb.Żš{§Ç3Ú†qĘ×c}}›î¬›ućz&şaîeÚř‚Ö_ŤRµíă đ5Ĺ :™˛q`‰?®ĺ/ľŚ±˝\®ÍB]‰c ±sŹ|*ĚÉ:ZhšĹ^+G•Ăw¤u**S€JG–čĄŃ&uë\;J“íşűϱ$?Çś´ł ťÇ˛Ó¸Ź˛ßĹgÂřŃ7˙†őa>KP ěpd˝řâ‹ëťcĚ©űŕ=Ź{ušäş»?ý›ÂϵśÝp”´âĽö =ó§@ Çoµ¤GH€ďí°Bůvąěz§`QYîö´Ç ~ŚÓß^ č%ÓźŻw‡ÂÜ?50ţEřuŘ `ü$ť}„ž™éÇ:Âpó~ăűĂ:®#˙ĚĘ÷nžăa…‡žvżI˙m~¸v}SľRÖĽDÉYe Ćó>•—_~™żc,ľüFXô˝D7¨"—âŕŮ âĎÓO?M_üâYĄă*‡…y&9Í &Ä@0Bü§ Ę4› :łz†.]şD;Ýmzőö«L6(@zřᇩQk2† o”7[-:»r–.\¸@KËK´±˝Nw6î°ě%?>Ŕ6ôÇh qe[ şzó*]»­9Ow\ .ݬĐbkZŤ¶9~“‰@WŻ^0K'ޱ4%âŘFµ¶··h}cťĺ,—iůĚ2Ýxő“`�‡őšř§";ý(ÁĹoć^dĺV‚ b‚¸3  $ &Yxʨ+0űqÎčHČ‚ő 2D÷I'6Żq– F6~ŻUL@>»Ç!ľçĐ”KŽöşĄ;|ž)¶˝łĹç‡mŰ;čąY6Ä8ܶĚ9om©×·3Ľ0C¬×qf,8HśŘYiĽmňîsý˘Ť5ŰKÔ¤´´´HçέŇúÚ¦9ŽŤťž2ą(¦­Í}ç;ŻĐs/¶¬–MŰ×yç)—~ŐpX-ŤWČ`Íą ĚýŃââş|ůaľwvv¶ůĽqMoŢ\Łgž˝NŻÜTÔ*SŽ€.=8¤Gž|*˛tž}•9iÔXCÇ'ýŘ]ôXi#kł¶ ćľ$VőÁůs¬sĺÄTÇ€›a&‘śőÝśfŽŹN4öCg6 kÔéö3⏦ZdňÉY™ČŢ/·k`ö™űŢ'*ąr:R’+łsšŤť6Šśçq¨[ÔŻ÷÷ËZ Ěî=Ü·Ž”¸űŇżgˇěüńßíâ@ îŞČ?ţ¶©~·]ětç—(űN+줲űZŕ ĂçÝĆĽdśĂ"ŃNś˙Ď—%÷D(®?˙ó?ge„ú‚Ş˛Żř3m_÷YEüÁ‚kÁľőím[égš?t?Í^Ň•VŇ<"@ đ!Ä@p¬áDW¦†ď)FíĘfĐ€(S§F˝AíV‹Ś9HŁť>±˘…¨Mq42ëBއfŕĽĐBmÉ, ܡ\^Z¦–®P2Jh-Ý0á1«¤Df°žÉĆ8ßŮęĐąŐs¬Đa1˙BŇbs™Î]8CqÓććEIť†Ű¦ó^‡şI“’^BŁNLËÍZmź±J1©¦Ř¬Ă,žĹ…E"SĆá`HѨF+ŃZ]YĄVË”ąÓB¸HgÂs7F}50G­™łh4@§m—´şĽJI# $4ůJŇű?“Ŕ]5'Ą™čµ—ŤÁZI™ëŐŚ¸¬ 8¬›ú3Bk§nbś ­o€€Ň5őŰ'µ¶FNAi¨÷ěő§Ô*şą1˘^r›Ă$%ń 3hĂ´N¤I/ŢŃv˛@)^‘aŤZ¦ÓĐZ<K­ĺsTo/“ŽĚµ2۰ݕ]gt ű}ŞĚ®˛%s:•öľ©±* Q*Ę.ŁDSw§G¦ŃĐÂâ§´ľYc…KÜѬ „Nch§čY9k¨ÇÔ™Ü44uµŁ$Ťh§‹p\[¬žŐ¤ťÎZu˘ çŰôŔĹ6-¶ľ>;ŰhĂ]ÓůéĐöΆ#ěoś-枉µi×qD˝ˇi‡Ă‘i»]sˇBS†€•mЦ‰Ő”4ÝŮÔôě5K0ş˝6¤ë7ë´ąe~›üűMVÂ5Ľrĺ"ť9{ŽćŢHM]öĚąöú5ęöp Í}»¬2â‹Îkʆýň1ŽýĄć €Ą @ iŘŘĎL.SĹNŰ,âŹR+V9ň‚¨5ˇ¶E {łýЧGť'©}˘…ćŽÂ€?•yĆÔŃUd®EŔDĹ4 Ěv[ÄFM™gY“…,IŽôĂDól µg⏫3wniGIŁnŽ{ÉpÁ €Sů)“uśSÖ`źNČ> €ů{ÝWĆ©@p—°—WŚoßkw×´Đ_®?>iĎď2L64WZE8 ©?ögÝkěđBíů`BßtâĎáő…î%ńGpzŕ?ÜDILć<ÍÄľ˝�ő‡‰’XśúŹ›Ľ_⏿ýľÂĎByć%�Ńa>ůÁq…Á±‡ŞřVЬՎ@áV)ŠĚ`~{a‰Îť?Gj”Ň­ÍkDMÍ A}ł: zŘ FؤK­Ëtqá2«ť@ĄD „ÚjĹ 4HGÔŚZ´°°@«««týÖuşyç /ŽĚ€˝T7ôyi7豞0†üÔŕ%ŠâúJŰf żŃp{Dý­]ąr…Ź€sýúuŠ„ZçŰÜ ŘŢěQŘŻŃjt–»đťY9Kë76řX+t†FzH‘ްÇMCv‡¦SÜeµU“oWĹÔMLL°Äş/(;бŠŃ0îRŘ0× J™]ÔBjP‹ŐŠđ»c:ř˝á ß; ¨óXIĐáÔRł˝o‰@‡Ó´ÓíŽ"ęŽmŚčúť[') „˝˛†~śÖ(ÖMZ[ŃVş@ˇ 8ÄZ´°Jí3—¨˝ržę +¤M»H©Ć$ś ; Ž.VnůwGü i>-ĺ"ń'Í +”“~ř¬Ťßg«Ó§¸×1ĺ©ß h}«f>“ M­Q˝Ţdő©…vĂÔ TŽ:´­¬ÉdÄ—ŹE‰És $žx ޏĂŮ8CtńÜ"]ąÔ˘Ĺć6¶µi—1“~ÖÖ¶©Ű3ŐĆśłđ_ż5Jë4J ĄŐŔ”ˇÁ÷Íh¨hŘ×LĘJcM·7Í™\™Ú­ŻAMf•:ť”6·Lž©É˙Îmzä‘+ô䓏ĐŮłç©ŮZ4űÖM[LąÍq†5łéäŐ ÄÓ˛A}Ę[šbs'(T±ßŇSzEĘTÚb·˝k3î Î őĹť­,\:ťśźŮ§Yʏ~ýc˘ţCłáÔ0«„źzÍŃ“jÖ&Öëˇ §BŠë6ĎZâŹĘ‰?e@AĤšP q˛ŘÓ?6mčÚ3LLGŕnŔ…ôÂ=ć‡âs÷*0+\@ @pš1+ÜĐq|psLÄU”«xOŮ\řśČź˙ÜkfTŃ)¶ Şj{büZ}ăó˛q§[ŕשŐîĹŮ'„ä#8L8•tçě{UD_Š@ 8‰Ń@pęŕ$;ćf†„.üQ ’`ýN˛C-˝ĂÄž˛Ś,ľ×jËI‚¬łľ˝ÎëťD§olB!ş° —öb›Îž=ˡ}0[Ĺ î ü\Pŕ1˙±AHŤ¶ űŐj™Ářóç™čAţQ2ĚË€}bmĘĆ6¤’NÍིÔŽś…$:@ůp>¤˛¸ľIl%Ť{#Úîăčb`e-¦^±Á*ŞŚTĘť¨ťX‚‚9?sÎ5“Ć3lť Î9€PŁľ¦^·ÇÇÄ6(Ó Oľ¶Ë+ĽĎ‘†+иóŻ×•9ß>­ÝQw$ÍuPç YQ÷ČQٸ2Ďęsř3mŐŚ©ŕhÜ!ĘÂW!ÔI42ő—ÚĐ`ÜŢFY9eë/#ľwFo{«O·onó˝ˇuĚ÷AskHçÎťŁVSÓK/őřžăşÖ©UČi6hii™ĎɆ1KČřxč¨÷UţgŽ´¦ž®oŰgԹЮ]‡?ŚBVÚá?´Wč‚ÔźeX¸®TžőŐ ”UšümŕîŔź™–“Kd˝ň}hź3Ĺâ€@ śtŐţiU¸•r»´Ms8źÂ´3ťÇę?Z=ąfÂíž üšqJń”#1›üŁÄÍ!ś8˙R śvńG ś:€čÇ ô€ĺ #3°Íj :č479´ÔpD}ݧ~ÔŁÚ+QPč3rźš”ŻGToÖ(ŠBžqăěµ'-rbĎ2‹ß䮄LŔ�_<˛$¤Ĺ ­nĎa„PAÄĺB™A @ÚzdŹ©BĹKsˇIˇŽ¸|:±ťiŢäe•@řŕó j„¨L Îđ1ŹAŚ2‚L2J |Ňc0 ¨ÓďŮz©Ő9b–q%ĺ`Jćś#&˛°2”†Ě€ˇ Áaň ňYŞŰëQśĆ¬@1ńŞL©%X™k›ýAÂŔv PT§v{ZíćB¤Îa3Qřéçµ·ÚŐó§P–x¦ADS¶Aâ ÚęlĐ7ő7ęPÇ´„‡Bř)Ô Ô¸.Ů)pÎ �™dÎ3fâŤS}Ái'PJ,!„ o‘]ꙆÝL˝‚d4Ő9ĽňŠ"ĹתÝjÓůóL7ikŁk¶™ëh>2×yĐŃĄ‹ŹĐĘRŤnÝĽfĘĐB»Ćĺ tHK‹5Z]i›c&s?RÓ>ńg<‡Í©yżÖô¸âîĘáuöB¨łm?4íJG OíC{R& …9á„4w­íľ´Kąh‚ÜăU*ż˛L°<-Žíň·ë¤ó,Ü ¸{Î)p98RrYal^Ě &@ KqŇϬĐ1…m9łg’,ÄvĹţţöq6Ó‰CjFYŹř|”LLÇţ„Ě©ëőäú92ŢÝ9,N„ř#N`HŐk5&#¬®®J4mv{ëúqź†ÉĐŚ»§L¬ €uę 5ęęZëޡĄÖ2“it iDCę§1Ą˝ë=Úęn1™¤Ö©YkRÔăĽÄ 3«g™d˛±±Ád”VłĹúŁxHA¤8żŤÎ:éČümw¶h¨‡´.RłŢ4eU4lޏś˝áŠ:!ő¨KÍ!Ő]ľ|™âpDi“Š4Őš!-,-ŃĘę2­ÝąCŰ[Dˇ¦¸0 pkžýů IĄhB…ŔĆU,Ú% 2VvÍ*Kü!s ší&1őCJ% 9Ô8zS¨,)e„U`ł¤3XCZ"Vš:i´ćXćú˝h”¦JŐĚőZTt¶©¨Ű±ńŰŤ6µ-3[Ł­ť­}Ú­5šŤ<j” פ˝ď{‡ž{kšýNAđ‰Ěµ]\ $ZävŞ‚”ÂĐ´ŰŚÂm4˛ˇÂT�5™”ë j:ŐjĆR d0Ô‹űUꩣíłÂNŹZusTDQŤ¶»D“OÍ´ŐZÍkq„·:5j¦îG ;”Ć]Sw‰YI:;Ű=zĺĺW©łcÚó`Ť–L›\ZZ¤……”VVĚŇŽ™XőšGëtn©ÎĘ> m)sÜGéÁ‹–ČenSb&ÚI”‘a(äëhj€ÍćMTŞA7^E ş‹ŁóeŻŇ"sßÖk¸IFÜť2+U GYZeŇT ť" dč9ţf8ý…eĂýß÷Ąüg‚@ ¸(8îŐî÷˛@ @ Ť»mF—‰ůłú•„Gü)‡ěR®w?î›Wő TĺgŢI÷gXM„úRĄÍ{”~«É z—cÎŘ&CĺǢt{?´ŕ°pţiËŕ°!Ä@p*•%0Ą(ĺ€Č“Ś�ÄĂčPNQf}dÖ«!­uÖiŽŘtP�™úިCýN—vFŰjÔfPľf÷…ęA”°Š8ý^ź¶¶6y=™őµ€UX ¤ĚSy§·MŁÔ†ëBH$u@B I­F›:q‡¶[¤¶~‹zj×hńěu2űŹpÖŞj.ś?OÝN‡ŇŤuJFĘśŁb5 Mó¸öćJăfăX#8#ZŕC—•Wě'ęŁ@ü ,ŃĘ<µ°ĹÄ•^@ş®)ŤČ† Ň c çU@zŞ×h=JŰđ(|şoe–×&UL˘LM%jD4¬z 80íöµę-ľ]sÍúµ&Ťj±%‘í`ů˛ŔÓjnľ.€ž{‹Ą čŁjˇťYĆ ;V ÇÎ4łőÁ,%EŮőVL& Műo5GÜž čmŘq!Ľš­§Y_Ź©Yg- 2UOzkŔńÔA(Ş™űJ<8E M=őĚqă>-/Őéě™ÚÜjr;żuó¶ŮľCŁÁ6-\ZĄË—VLkZ\ĐbKłŃ#Whu‘h{yŘVtń\DgWzCEť^ŔםUl¬îMV+—Ń-”/®ĆR*BşűPłô¦g“P¤¦ľ–­ †6¤_Ă×ÜýŠ@ŕüŕúä{;ź}tµ•ňJâ—ß뀪üŹ@ 8 řŰjń3ę€ę”~\EÜ{ýą¶¶fĂüe÷©}†‡üľtŔo·?>g‡@ Nî·˝ËáÍ˝0˝»aŢ>»vłćěNăőzŇ ĄfćSQ†,ĎÂgUţs`Ż>ř©Š.ˇŠü§łA“Â<ČS¸T{*é€ű€„ »7¨jgó®;ÉâĎţ *ž©ţłĎ=Ó|Uf˙ňäĘ˝(’é)Jo÷űő ‚ă!ţ‚Óc ˇ[˘IÍtk2썂qe>Ňž¦Žęň¶Ĺö…IDř‡Áş$N¨źô(í§Ľ})Zćđ]nP®oÎJµ:5ę ŢÖÎÎ]{ĺ--.Q˝YgeŹĹĹĹśü`�ë0ř‡ň ě('uz[ÇL2Š“wŘäu4Ҭ‚mľ±‰ĽpŚŽNL^qęçţzĺKřnI6¦>Ă^NüŃPÁ h¦H‚PgÚ |bĐuˇSżćZ¸ÁNąý×ëůöÜA’IUČ1’píLjKüQÖ€OtJĂŘnõDI†6ߡ©˘ŁŃŁwÎ( ˇ %ýmj™ö’„AÄáö–š‹C±ZŚ©‹F#˘v;˘fCńą"ě[2‚úÎ /µzȤ5lNş\ż8§QGÝ­ÓÇźxśîÜ٤ŤŤmnź:/0)č.Q«}nÝčć­-ş}ű‚Ŕ0jµÚtńâEZZjQ»Őłĺ3×ćěąłf›mď~Ç´á.·Y>omĂçAťČ’›čHc?wVáş´9¤k8_Üsćę}ł`™«Ś°ăśz>@eżYů'µ×Ű…űb  ćš˝(ö†óçĎÓSO=ĹĎ[<[?˙ůĎ›géľ7/\¸@Ź=ö§ĂýŹíHÇ6€ÁňҵĚ3ővĆű0iÖ<3@bҰ@ @p p\ÉęNí'ďGU+óLQ÷¦†ËćĎUĺU^·×úÓTÝżßĎuŘŰ�r=÷Gě–šHUP—Ćë­rxyjáüŘ˙žn÷ě2 î2ü¶é“+ÄO%8 8âŕž±eOyű´|Ş~«iäM@ ¸KâŹ@ 8u@·aźRTP=h±Ö ÁhH[›Ôtihľc0 H=Ýç}{Ăž€ŻQ=ŞÓÖp“zI—ń€mÉővťFA‹6zëÔIvh«·AťŢĹ©É+ XÍd DǬŘsmýeZ.PłÝ¤ťá—m8˛„!�Ä–zŁNý¸GwvnłŠ—#î˛*ĐŞ ć_3lS‡tsóUVÚ꙲ő{ćCęô;´ľąN}Sö”•qb./žnz ĎşŃsöXuőo/Ľ×Ě=Ődč®x ™Ř‘P×ČMpágdËË*Jp®h8W"1˘Ź6u;Ž¬Î‹ůťĆІj3Ą8@^fźX±ZŚJ‡Ĺ‚­=Lmä¨Ô¬ĶÄ×›ĂdĹ1«?iN1ÎÇŽ5EµGzČ$;Ł)M@đ2mÉ,őzIQÍ\~Äói fuŘ…U¬˘€ÂHQ"¤W`ÚWŤšőµŰ[Ła2G0łß…‹K¦®ëfنc”©§ĐdŢhŐ©ŮX0u?$ťhiˇëpŤR&¦,/¶Ř›ôť®iżw@6‹źÍěW§Őe„ú2e0eît;ĽmiaČB“LťťÄ dÍ˝0y‹gtAí'µçĎm&đÚ/ÍjżŮö¬ţJŐ9­šKűO˙tMC“×9,ĚĐ« ćyś:–2m7 m>ó8ěXĘ®·łń4ŻSŢl·<Źě›Ę×ř)J«L‘ź)ŮÎAFôq®ł‚lą¸ł‚C9 î€ěç.;[[[– A^şt‰‰B r:€Ř‹}@Ŕágyy™I�Čð]ġ$@ Ü]řᾪČ?ĺ‰4ł”&vłßËçěÚ׬¨˛‚EŐ1ćÁžV‡¦TéSOţ¬TÄ.Ą›ß§č ´Qüą÷¸_*)G˘řspř¤‡Ýšó8ËŰwS›@ 8LńG śRŚI át‡)Ť6‡´ŃÝbR3^`SB–�’¤#şş6ŕyCđ;V±1¶­á¶9ág›ÂNhIIĚůqž!˝x}Č!{†zČd î`‡ÂŘ¤Ý 8$–$ç7Ś´±“жڢŔ OrPÚŮ˙ /#ę÷;´që6÷ž“LËpÝä±˝f‰L ł8’OJ2Ĺí-s«RUŞÁ jOĺ’ŰεßAfµťRťÉ)ő˘őTʄȜyŤ·—$­QىP'us¨:µšm“@)Čś_hňiD -¶AŘRW[%¨ I<ĂGOÍď‡�ă0`1ÂLiS,™a‚IÁ8/şr˙EîJ(çć0 ˙Ř!Ď@Ś "K†Ń*1KŔí˛d·¤ć|ătÇ|ŻQłŃC—é‘+Kfú6Ýşő2 “Čd‰çs´˛ĽBőhhŽ<Ě'L{5őÇPŽęŇ™E ­EZ] E۬ńb‰+šCU-.jZY ©łPß¶n¬¨ E ¤®ťWŕęB HjÁü4×`ĐQ-L¨iFTĎśiö>uÓůwnÎ4kΖGÖQ»TqN$§&lśŹkćÚo˙~›öč7…pľ¬»ťx– m)ŘV sÎ5&±EQČŰ‚,#G+BĐ:ÍHPžł1?ş¶÷š.»@ä tv?ŕ;ŤżűU!x7Řĺ3<Wˇěç= ő€tőęUzňÉ'iii‰Ó:UBĽß‘J@~Ř/‰Îś9“‡ âŹ@ @0°›ˇ®»°°ŔżacĎ«ž‰}]¸t_ő‡řăŇů‹[{ß‘s¦ś2P)ży0ŻbĹ®ůěa˘[™$ŁUŃç ˛DŞ”Hx.wtďr˙§(ţ'H?7ÚSsLAYíKUhŻŞtUyąíUű Á˝‚Á©Č=PŔIÓ„U¸űčőHS5¦¤f =.9üŽ.«đ¤ăíJŹ;÷Ř7é%ů6‰†éŔr FTtW㲥¦LCŇŵ.’bS~‰¬PH5ăeÉ ÎÖgÄŔćoĺ}ÂĎ>ŤĐ*ĺĎ:ćS˘Đą×9ť…jĆaŇl6(2Ž—(°g ŇOCů>őBZĘŠÉ;f‰Ě÷zŁiľ¤@±'#=%şÎ$«(Ué€Ă»éD[˙ę×>#Iq(,¨a_„ű‚ŞPvÔ‘y]ƬF”NUţ™®rřĆ˝›Őä”+2i}tšż,Í.ŘqÄÄÔmĚuŐźĄĄ:]Ľ`]z›ý€¶ş) “‘qb%ƉĄ)ڬG#Ô¶gšcÄ ’ »!š…6ČX‡řJąţˇ¨5â°\( ”ꦠ1©8aU x4 Z`~SĘD:´’$¶ VJ¨n®q»Ő0ů+ăxëłbĐ+Ż`°Ű†ăSU GíVcű®iš˝żsőĚĺä÷<1Ń' ­dx 2ŇOÖĆĆ·Ń$ÍÉź W,•Ł©Ś÷¤ňîąă¶«1µH Ü%Ŕ‘2|___çO`{{›y^xá~GAńë⡼ܳ*? µ‚„gÂćć&§›6W @ X8âÂę>ţřălO?óĚ3loĎô×Aşqůě…ř3-Ś €‰ěĎʶĎ$ţđ'Ý?轊Ž7ąĎ!0ů„EW'ĽE”O‚ďKůţ Íuą@{Á^ŮB%(-ľÁý´»ˇŠśăz¦‘|¦…ť+çą! ‚Ă‚ŕ>˘“x·ł7ŕXr˛ěăV"×Qj×;Śľ>ŕ4Áŕe[/ĐRSQ”˝ˇjZQÝ#ţ€ŕ˘T’łđűý‡BH”°f˛ĹLJÁ6vÄ5Ĺ,¬aw@ńĐ*%a»ÎfQaF«;ĺÂş@ü¦ŤCVcşďČřľó!­±„ů€0©$'59‡‘;W÷př(S'n†BŘ!\Lś}ďôhs'ćç­í”[peˇľ"Ď,l†’ś\¸n¨óľ)Ë`0ĘŽ1â㌆v�×Çd`9ů52Ţ;¦~ÔldŰ@ŞĂuKě9AéJ¸†;Ű;ôâ ›ô­§7y€\;‘Ş#‘jUŔLb,/ľřâÄ6<[@ä\ŘŻ^ŻG…|óŁ`s @ 8TČ{VpÜ�?3/_ľL<đ�ű;`ĂoâÂçZ_ËtçüÎŻRv÷D9 ű,«H¸ĎiJ?“Äű±×»e…e/OpľŁijn»;_ťMJ ĐN”ŚăĚźŮíéx;eŞÇ<“ďĚż(xöŧż` Ë„ŦxáűCs=xŇçŁs Řů¸"RĹDĆy‘^Ćęď+ôi˝�G€÷wq/ě±…Áý†@éŠ"şô{ĐJçjeE—«sěÚY™A *Äç?Ú+C!‹˘OľGqćÍäö] ¶kUúĚ~ej@čŕ©q¨ÄCŇĂ«Ľ„±UŹI5ňb‡#´ ^­ "WĹ4  ëCv4ëQ®h’ cĹJŕT€*N‚đF–C©I•' ^…Ć×€°l_ĺ®Ld’„™“!©ŽŠ¦í˘‹gMm&{'i©ŮŰ”]Ú ‹Sü±ŇQŠUpÜ‚X¨7¨ň¤®SČí-`˘O«ŐdRT˝nś0zČŠ=íH@PŹP´¶¶C>séŠqŠE4Ä´ąÓíőzÝő¦ÎëÚÔ;®‹UâAYT…v±Ä…&HDćwĎ\§~H7×FTowéŃSZ\$v ±“q" †Cęő{ĆÉ–k—RoPkhoqźÂhDµzJŤQMń|0>fłeę" LKWÜ'ÁśőË5”Őĺ<j?ă:-Ě\Űc'/ô±—ż™,ç/cU,ç(ă[[/S®ćCEG˘Ěî1ôř~v÷´˙9ÇîŐëÍ˝Üíőx9tśpźÔn&â”Uś={îTĽÇA˛·ˇ§Ü‹»Ď‰Ü#U) ťőOhÜOŃžšh¦:jĂ$«±Ň¨–;Yp˙€‰FŻýë™řĺL`zä‘GŘGrëÖ-&xď”9ga–*„źĆGUŻÝÖOä©3ŹÜlZžÎť;Çź< .›4ç&ŠůĨ7I'Ţ™÷wbüx őđd0ăSŰŢÚfĐB{·3ˇ'›ägçěwĂz<ęć8đaRY`Ž»ÜnŇŮ•U‰Ühµh`üB·ď¬ŃŐ®ŇŔ›�‘+‹;ňŽ­ˇ’ňlě%íôýÁq´gĺ,?Aů™,GBü§%ŞŹ*}ĎóIĹăŚEmĂx,ŻĹüRUH8& 8Jçś+ö^g‚ö\B*’#(W YŇ7ˇtЧ¤łc< X›R2G?ơÇ6Î9ö T6«*0Φqž‹‹-Şť[ÍY“Ţú;]ňô†8üšF¨«D۰RdghŤôĐwĎŞßN=±mD DÓ ´]Č#˙”‰@…łŢץťMţa-˘Śř!„ÔBđ8eęE™ÂaŮ'˛›mY96zŔ!ÍÂ(4ŽšČ8´Z¦ÎÚV+Mű¨‘ůnś<aŤť>·nm™ĽGÔl,ŃâBDťÎ^¸6¤o?ÓĄNoÄף%T‹†ůڏ„,ăŕÁ'‡OSA®:4ił«U3×Ruéü٬‡ě >¤A7ˇőÍmę€X4Lhaa‘–5WţĘjͬhhÚ‡2ç  ńdĐ^B6{é‰i/hÓA©NgŐŻ#Q%ö“/®w§:§Çml?°„»Řˆ«•ň€ÚhŢƲ¸f9¨â°Búîr }s‘~Äs|×PV °ďNň~Kĺ ŽÎźż@'z«É=C§@îÜ{ž^ .;–u™´Uâ({rb´Ę?ËÄ ŕ$ öĹ©!\/‰Áď‚ Č3 Ř8uśi}÷Y„ź�ĺqĺrĘ= ćŔoňÁweÜX‡4Ž$äÂc_Ąđi¬ż.±Ş?Ž?ŇA]*CŘ6 -ČśÖ‚ÉÄźŐLľĆGÂOT«Ó’ń=hň=ż´hśE Să+ę¨7AÄĘ)@ö™2·ÎúňRóĚÜ]śV×׉ow»ů^÷™kEŻňs¸ň«ökZUů Áý€ŕľAÓúďó÷eÇÇqm!“ö’ćŐ´ĘGă=lqĆq`ľ×ŤC€ť!ť†dCt…5îŚ÷ş=v4Ôš ^ŕx€2Pż»CŁAźŁ‘u<Ôj;6¶¶9ŻšqŔÉ€u*yÖ ްbi™g%ŤFvtŕXK‹ ´TkZ§Eeł‘ǧz÷LůÝsF˝±â‘9|ćëĚ`¦ Ý…çfgU…'šŐ“¬şNJŰŰۦľ­tőbc‰®ś_4ií5XYiS?Ö´ľľAťťS§ÚÔYźť<Pú3Úo@ŁŘ†˙‚BHšĂ¤Ą”°ęPš‡dc'Pšp^;;şu+Ą_J©FtéŇYľÖ®Žq]OŁn®łąn5ł,´Í±Ěq¶¶v¨×Q¬Jó›sd=K-‚ÓiaÄ!'Ě16'węŃ€Ę˙“°ˇw´ z Žŕyúé§YŮçŃGeßBń޸qŁękĘĆľ2üđA]ąr…Ţüć7łO꥗^˘ëׯł˘ň÷÷«Ęs¦ÚŹ÷w/p!»\3řŤó{~7|wi°}uu•×#ě°Űî”›á›ĂţIţ˙ĎŢőʲkŮÁŕd¸tËîµíŮÇ^sî­kʨ¤$u ކŤ–^ľ ôë÷~ µÔ�’�ˇŐřTP9U}·®?÷říÍréðç$#±2sŮí9ÎÉ˝2# É 'Çö6lG:|`“QhŔ6ź˛ČiOÄÉg ¤lYú˝ (IéíqÇ_Ńű7oĐ÷˙ŕ÷é»»[´™Oi#Žčg÷ŇäxhŻ|QĄą!žµNÂłęmŔ;űÎy'?틼Z§iźÜ#ĘőiÓŮÚť#«K‰ërRP@@@Ŕë‚@ü x…¸¸çÎŮ}ăü(D&ţ¶'WI/jAăháä؉—QĆƦcŞ˛„Î:âf ĂŔ¨*©“Ć4Řč‹á�ˇľô|BĹÔ¨UEŠQ9Ą–ü˘Řx0Ť(Ţ`Łzś̆¶6púÍ&9%Ľm{Ó^ňbÎÇ—4źŚ…řsss—¦lđ‰ŠŠÄ$ŻĄí5Ľ™Öú|ťá“ (Á$.óuň¶”ë(ĺëD8ݞ4rĘbNERż¤K!߉aćú6~Ş%E´±ąIąNi0x /xmŤŮ`"ĐńqÁŞŽ~d"¤+k0ޤka“ĂoE&\ĽňŚJ†ŞsîW3şoJ=n'¨őű|ţ(%rMQƤ¬ÓYŹřZ¸˙n :4bCĐxŽö"/Ś^@@@@@ŔIřDg¬ x= NŮLčŻń'`-< çôŔŢŔÖl°9Ŕ^†ß^H©Óŕ}ÜÇ…¶şví}üńÇôýď_?ŘĐ_|Aź}ö™€@>B9^&\H/GîP”[ŘćîĺF˝9ŻŠ\Řî„ÁĆăosÎ_Čy ”H z„…/ĹŽ„Ľ ¶ăAĺÜąř<óyÎöŞ!ĄüűđÎ#ÚÜ»Fwv¶ixó}±HOGăZiĚ4‚űs>ťrzŃ4'ŐŹľ`Žz%ď™€Ë í ´ĘQhŮwźřł¬ö€€€WŤ@ü xçˇ?:jí[sŘi3\m*'ˇ[ű$iK1‰ôÜ„ŮęÇšvÓvŞ‚¨Ôt;FŁ)Mć‡lHxFŮä)mněŃŽžRqTŔV@·’”ćÝ’ž÷i0ÎézľKýyIQˇéh6˘ů>ÝJ3ÚíkŹSÁF†ťnŹĘ¦62¤\¤kůľ2`\ŘS<źĐÍ„Ť ›1•ýU36^ÍD^8)g”čÄ„Űň=ŠVM:UŐ¸3Ż\ÁP­Jkę5ZPJb#*+ÄQ‡¤2ŰG2’żŃ•Ąő:šúý”łĺŮ•9§×B®Ju˛ľ„’šO‰ĆÓFÓZ 6˛ü}FÇŁśşÝMÚŘŕz:ĘĹ`STk.¨“j)YšĄ&ż,•TAżgČ[PŤ :<‚:öĹÔí$ü‰¨×ďs;ftóĆ67K!úŚř|Q2 J â-Q_š K [–f±„¨ĘiŁQy­GĂeÎĹ€D± ç¶n‰H-é›ôR1ęp]zń´§Ú+´K¤jůü€€€€€ŐhŰ|#Ý:#q0ŇĽFđČŻam-` –©ëáťđşĂ)ß@ńç·żý­lMč<Ç;ĄĘx=Éo¨üěíí Ůçź˙óN?úŃŹ$Ô2řţŐW_Ń_üĹ_ĐĎ~ö3úÍo~S“cÜń>\™•ă× Üf¸ćŃh$äGÜÁo °a´ ňăČ?°ą€¤„}°›!˝SCrŞE¨C§ňăęűťröp˝tŇD^)˘Ív ŮxBş4„ˇ˛âú´Ž`8çăÇsúźţçôôÎm!PAu¨ßësŮŽ$ĎJŰ6X0î\ B.ű¨ Źş€Ww«ű]Ťăç˛çé*{sZŞşć…řşĚ'¨\5ń' ŕ-ĆŤgç8öť ZŻĎĐ}¬ĘOɰ& )›Či3˘|JÝHÓFŃFUP̶‚˝˛ás¶ěS§xFYţŚUD[|Üh>˘˛¨čÚć *SMÓbHýą˘m6ô *Úâ<·‹cşďŇŤNEʇG˘ŕł×ߣ(‰¨“äB ŮÖ#špÚjÂĆŠéŇ|N;QN׺‘ÔGCş¤¨śsąř cHě]QD«+Ł"ĂôX5 XFúYl±¦Ţ*!ëŕ"<:EÜř˛LQŻSŮ:…±Ä(â%bŁJlĘ™&š2¤OA⩬q&¦á$¦étΆ®)Ť'9M¦Jň‰ă.ńo\s‡â$¦4ž‰şP·›„ŚăV%ˇ×¶6;śwl B|ÍGÇĆe˘4E,ynżÍ.íî ŘpŁh0I°áŤ]I—Ć|ŢRg4ď°9ź'§$E¬xî#ŐśŻ$«Ś˘‚OśTÄi’ąçŠĽŚüł‚ôăľż„ąU]2Źć—Aťv´»źÂ<0 ŕ\đU~Úzţ_·? ŕĺa­âŹ>9:ॠ´CŔ:´ÉÚ!‹^g Ź‚śr•Ş;. Öîî.ýŕ? O?ýTq€›7o ©ćŢ˝{V ßĎ’ßUŢK.$H:@;oŚ›]Řx�¶!ÚXBŹSř|˘ONőÇ©MĆcęd)ŰLw Ď6źŞ,Ü•˛i$˘ç+r:ś—ôůřĎ1…‡qÂyć”EÎľVQéŃ~.dÜąDµĘŮÂ#îę°ŞéôŞÍW]ůjÍŻ×ú83ľ\´/đjH?ËžĄu/eśzŰ!—…öňŹ cť€€€× řđ qŃ&EçőEŤ±¶Ž|íĽń^ AŐ¤Ď ¨UcĽP‹iŰ劢XŚE†çTb ›››<ĎWZ%F¤IS6hăm[cŕBMáţ` ŰŕA#B†!ßNÇ|?~ĚFźç’Ţ1tť>őÓţBľŻ Ş1Ć(®óťŤK©ىH$WĄw$ą„đ2¤. ’Ôüîőb©Wl;<< ‡źĐOřŘeÂźBÚ*I»RGhŻ)ŰĂT4ŻŰ ç–°j=)©‘l†Çp° ź˘ŃŃ DšÓ–tëš® JŁŃî?zFŁńŚŹ/¬‘¨ϱńˇ×ş˘䤣ł¬KQ&yĄÝţŐ‡nQĘŢ7aĄ# ŕM†ż )ˇ1[žy'@´HÔÔµÂáiĘr熨L»ۍP<Ĺź€€7î=ľŢ5řęc:UŘ, „ŹS˝bpçαg8˛‘ĎŤK×…“YuźťG1ÂťUl±§˝Ří—ĂĄÄ^¶&ÜŤ+—Sšĺł†LŠýeU‡„âŹő¬Űő"Mü=?:¤§żü…Ôďd2¦nĹö(¶w)6΢ýĂŞŽź—6÷Ř©Aż^ m§\[6„ŹEWH];‘ú©ó Kŕű_1ô[=Vö ?>®ć‚ŰĎUyćF¦B˲˛jbć™ {¶S@[÷<NDŻ ń' ŕ\¸şçe„—ń*ń€^č Ő­ŤąÉ°ň~Ú/f#Ą–PÓË:´»ą%Š<ý4#ĹIo“Ţ Š«”6›Ôď é…˙ËÇ©bF;ŰDÝ´OYš óA“v·oPż»EYҧ^/•“N&SŇďď’Hz;\ţÝ+©Ę#Ů×Ë6(&x_•b`črâ^âOb¦›bÜtrćÍôd54d§ócY3JIŕą –ŞSż‘©đRâµk‘I®*Sů OÉ|DEÖ€¤)N*ęö3ÚŮŮ N7¦1vŹŽééłçŇ«,S*Ř0“đőní¤Ôëf†ä“âü0P‘s <„¦‹8oä_”JâµOg(G%ep&¤/ć9'›Š—×|žńľŚË áçŢý}:Íů\‰ťTi>'ęŢe1U1çËmÎéŁNÄmި«ą­ÓÄxfĐćů'Ä€°{ź+†íű~Ë.ŚXzK3ĐőÇ?Î^rBĎdâ&ŻíTË~‡ik@@Ŕ›‰ÓŤpmÝ‚¤7Źż“ž¤řsµpjvUý+ŕÝBPüy3Úá|¸L¨«U‹ç—I»ĘîpŮ|]Zßç†~đ.`QDçH†0Z_~ůĄěCČ/_ §­*qZ8™«�leplŕ‡ĽáŔéĘ…ď½휸ÜwŘáD˝‡Źsé\×Á„D+I—­1zk¬˝`źáď9ŰąĆÄő5ł0Ł­Í>íđg2™ÓńlNůڦN1H×.‡ô2uCmĄRţoÝň\m‡inŚi‹–®ĺ&´e3ą3”hÉŻ€· ŽĽă;Epd…¤˝&!ţɇGVGüi+śůăžµaĎQ¶€€€€Ë"ŢNř#˙KŹÔťŚlkŰÂwcŘňÇgË&ç«€gžćÝł<sż\đ 1Sňs.`)çń~J2e=u¬ËĽ™zűgÓµ7~wˇÖ›=]Po¦ÇŇeăĽŔól“nts*vyBźĄ¤jŮaΡ[RµUI%V1çŐ˘ .ńîíŹioçeYF)” ĎUv**7ˇTČ�J?"‹łëÝޣۻߥź;ĺíRKP˝ácÎ?ńGEś6Ş«Š:+ëĆPíM\O­ľŐ‰ęK$d$MqfÚdź˘ŠHĎRšĎ"šLM2iŠíßR¤”ᙕ$<Q‰gÔÝh÷:o’D:IołG×nîĐáQJĂ!ç§JĘą(ĂqÎß3ÚŢŢŕsňv6˝Ě ŢWĚůoEéÜ(÷€p5™÷Ł ĘĎŁ)˙ť—bŕ‰á1Qńči¸9ďă! KŠŰeN9ý€‡ ŤP”7Ô`0 ę ¦ăę…Ű7ă˛öą/ÄsľĚ1WĚÔÔŤvKş^D47€ýëjX-Ö¶űkş+ę˘#­S!]ČH/&ŐöĽĆ{ÍŁ‡ą;ŚŞ˘z!T¬áĂżWń'"Ş)g¦Í›‹ăÜ´éKÚ>ÂŚQĹ»•‚O©Oĺ NÁŕđfÁĽ—ÝwU«ő9C]­0¸rüežť1ČłÚLňńüţ’ő(çÚĐ6ll™whÎőŹĚě‡L}˙ĆóóĎ>#ýË_Kýxá5;Ăi¨Ówëś”ăŹ×áŽ<'Üä;:g^5§_šŹ^Ţ0fOMXnuľ|W¦u™źLof潉ŹĚJdţˇäŻ{‹FvżsZjf xqYîřř~ýë_Ë÷O>ůäÄţł*ţśXTÖő?KĎ» ý|đÁ’×·ß~+ÇÜ˝{Wţ~óÍ75ˇGśéŘőgŘÔ`›Š6Ô€üt/Jĺ ńiŃćFŹ®_żÎ¶˝ÚŰŘ”g ÂŃ?Úß§ůÓ§4Ť¨±{(şÓÝ ŢÜgŘ G°ÖďU!ŚÚs¨Ë„:’Wň+o~EĆFŐf‚Qu2Ź…-zá›Zq޵ ™HŻíX´Mśz{Ѷ¬^Í/8ýX{‰qžĐěĂÚž�HŹíP_«îťö9ü}A( ŕE#Ţnśś\,Ź,óŔqĎ?x;/é§Dęĺű—[źěÄ—+„^4:î‚n~KshĎŠŻŤz âČO2!ţtę´XőĽ€§Í8›rN›[ŻB!0¤Ą>ęSző”nlÓć`»)ˇŽÍĚrMőn˛A4�ß—9äoZP“§/xY­\¶®u+·Fń'f#®"*ç >A®™ëg^ŠâÖ8“DJ.†X?>{Us˝ĄYĹ ^€‹¨*"ęöş´˝łEł<˘ńTS^ÎŚ'Z5˛SÖíQ^”Tq]zďKůĽeJ– sy Ů7›•4›;Ő!KŚRvÄ4Ďů& ^á”ÓV4ž }D“™ ’źA´ęt;TL Ťsiʬ§)Ů*)ë˘@„kUju śÖßÉ?mĹź ¶ßŠgO}.o†~˛Ź(ďs2c˝ĆćçŇýĎöŰeńĎO˝2í=Ű( ŕÍ€r¤ćË…Ł,ť%Ď2’†=ţ€ě‚¦źąůŁŐ˘Ô|@ÚľŰĚ‹µô˝ďŹ~üŻţĄMŢ6ŁřOţ ýęßüżéýĺ_ÚEęćŘ€�ÁUĚă®axN\tAç\Çť˛éçuž|Ď[v÷žŐŢ|Łĺ8°ÎśúVŔ›Ž6AÇýĹXóŕŕ@?Żţ«_ýJ¶#Ôś¦îÝ»'äŘTüĽÖ)ţ\•ň?}ô‘Śy"ţđ‡V=z.](łsîęt»´1°­h‡®ď퉂Ńd:a{T"¤ \ýl>«ĂyéĘZ,l(x¨H'©Y‚Ę‹\Ă� Yź$ňěŔ±HŹóâGăőhNďohzo/˘;·3ş~­K;®އ9=Ü™Óî §űĎ"Ú?ĐmFs¸Ę]zQýjWDO óâ´Ň;ÇŻú»Űľ„¤ŕ÷ąŽŠjâçyJ©WśłÎÇSüi‹ýżź¨V Zŕş¶O˛âüjĺ8ły‰˝Xb×ĺzH›8őöˇ±y6ĎئŃ|ĹA?ˇźŢaQŤ°ůTş2¦S¬dPÄ7ëxŽÁąŘÖ(=ĹĂÚ ^7âO@@@Ŕ%qVO‰ó»Jî×Č^řC-âÍK€jM(ŤúŚ^•Řwęµ"kDQéF-J˝*ň¤|ŰĚú·x�î<*;ŃÉŮ`4Ϩ,LAH2L‚śG 6€‹ĺ#�o­,ůŞ#†źÁ`zĂŠŇa!ňÍsN/jAÖ83ź«Ú…Ľ´m'hPĺ(Ç|^á$## ťXIhM•bLĘsŹR1ňbëćyQÇL–kŚ˘ş­…€”c†×3ęň~‚˘({!/Ă C)ueçq!Őšßňďúôa’đ–Á˝ŁđŢqŇÜx‡üýż˙÷ĹËúŮłgôŢ{ďÉ{ëĎţěĎčáÇtóćMú˙â_Đ_ýĺ_Ň­íkôőý{ôż˙ěŻ)Ź}~żő2šÇüŽŁ>ŞKgžň¤¨hśőčOţĺ˙†×Ţ'­›SÔŐô'˙·Iż{ôŚňŻżˇ$îrnʬ,™›Ţr¬UüˇĐŢL8u9ĽţŐżúW2§ú«żú+úÁ~ ßř=tWȦOź>Ąď˙ű˘žńw÷w27kă'?ů ýň—ż‚*.ÜIJqüOúSú˙ŕĐűo˙ŤţôO˙TÔ<ţű˙ďKóŤě\Ë-înooËśńńăÇKŻËéµ® ď üd˙^¨,櫯ľ˘˙đţ< p/"Ôp/aüůüůsy&\µÍ„Ψř|ç;ߡm^äŮ&âňýáţ!Ű[Ś h÷Ú.]ż~Cwö÷¤Ü{{{2^qi4Ňx:ˇ˝ëÇtóĆM±=ágŮŰu$%3Ôăś7řůqÝĚä;ěO›r-‡ülC8ř›·nÍu·[>Ą?˝3˘ßĘą<ÚÜ8¤4É5ç× :ĽEtďăô›oôWó€~Ç6Ąç\ćÉšZŃ­E{śˇĎ¨rľp ˝(›yí7Ůú»ę ˝-í%-½˙.đá‡52á˘&ť>+˘ŐŢĄĐ+X"‹ß·[‰—۸ô ®¸/şľ¶ ­ŞQ­wÚiÄšÓî?µěúÖl¸,‘çő7źďúZw§1ôm¦ŞUŚzĐŘąŤBϢcŹëŁĆKŇć­ĚXFěă°_Ă­KůŢëué˝»ď‰âl62cQ˘‡b"ŇTÚŇÓĽ~¸ Zµ˘ţŰcĄ üđ˘?o´÷io?9#X„j}h‘|˘É?^/HVä»Ę˘ť¦-ą˛Kd|Ű˙\«.÷Dő ©Z5ëqá}ꊡőS#˝ţ·WÇjIJµä܆9ŻęѲ˛nukńdž[ŇM@$_ĆH×!=0+®< ÔČ%ŤNw5”7ŃnOŐÂőčSóZŤö±§ůĘX”Uć ͦ Ť‡Š˙ňzYˇ¬ď«HÔyđ"LPDíuĚÇöix„c缿˘X™‰ŚÖk*QQÇĚťL±ˇ©§âsĺ” ygnű8Bw” >¦0 )¨!ď@™G ¨Qn§ńLŃÓCţ<-čÉóś&ÓJ­Á#L©”óä”QĆeaŮx‚•ś šĺt¸_HxłT<ĐŕEI;E´$˘»g8u"­LUň}‘¶ÖţľěD ´ó€rĎą#{/7!Ľ hUŘpqĎ2s>oÎż#„”ăúŠě§yFŔ�ŁD ‹¬„ľ»ńę;¤MăÔ°Ľ»AS})ďÁÚüöŻĆUÜkgAX ßűĎ߆Ĺx[cˇĆ;,‚ş1׏~ô#ńʆJĽýnÜĽ!ÇmmlŇOţńźĐ§ż˙cĘ…řÓăçu‡Ά¸0ýÇYŹ6Ż]§µ>ä«öĎţ”v&# ů•V÷‘ ßéôŢ^„P_o#ţýż˙÷â ErMM¨ĺD5 î`!˝ŰíŃÖÖ–(güîwż“wĐ2r�âęßű{OBó€° "Đżů7˙†îßżOމ˙đţCy˙}ńĹôÝď~—<x@_ýőRâďA*Â_�é˙óţĎu €€wËl|އűúç?˙ą¤qa±ŕôg¨|© ĺ‹î˙ÝÝ]ş~ă:=~ňDžO ĹcńüÖí[Ôë÷dĽŚń4ž (+ž_Bâc@ňł äĹŤŤ ąŢŚÇt ůpcrŞ żź?&ÄôQQwć:pő˛˝˝%űĄ,lúÉmM?ŢťscędEŁdWt­ÓĹjÍ¶ŞŻ˛„îk„Ť]cŃ´v!gm¬ÍDÚ߯é|4zĎ@ĺŠÔś‹Îr}K6ŇbnϲÜNآëú2„Ϧϻ}ş>î,h[ś‹Ú®M§łwZżüKV«“‹˝î%ĽľV[ÚWňmĂU^ߢm¶=çwű©[°NA޵żÝč×I۶ŇŁŮfö••±­W­{q±C]nm ŕ*?o&ÜhĘăęŘŐěĺ°±‘$|Sä/Š›ă4y“zńđ•Ů.’uümîű‚$щßő%µ‰=K=ék}ô‚ô©˘Ę;×bŔŞĹŹŮxÖ™Ź7ĺTK~{¤'g›Z8G9҆®áęŇĄRMůµr¤ ł-ŇM"…˱ňĘăľD g¤ jeŰziĚa‹uşn.y^,NkŐŇíÍy´LD¸# égxÓŃ!¤HyQ3íP›Tؔ圍)JŇ&“1ÍsăYU•]šN¶i6®ÄXSSYě„údś§óB>ŕ iťňy;TňŠç¤źŮśĆś—H4ł1&G/>!ĆTuźTČ> áăHl,‹ŘXĂŰb "z~LTÜ«Ř ®Ů®%äÔ’¬+ä_ ú“čţŽOĘĺšŇÓÇ#9¦?Hhg'˘^G±‘ÇÔÉú=s#ÁŰ#·ăů±h̋Δ˂AF™ş0}µ˘ „& ÍôI„Ż‹M_‡7 ×ç,®jÂO;⏽k*ăeRiŞĺ‰•6×é¨î›µz–}6J HŮR|ͤ±Ątkí_DEŠ^‚U$ ŕ’Đ–čę‡ú*í‚Â'ź|BOxăöíŰB:Á» PZŔČŁÇŹhĐďÓý÷)ăW@u8¦/˙çßĐó_!O@~uytÉ€Ó�/IvÇŰ×é˙ň˙—¤>ů™°źÓń”~ůó_ĐěëĎů®©SvZzď …QjŔ[† řđ6Â-đ?zô¨[R5xď`‘s0Ľ«đ‚B«�rĐĎ~ö3!}ţůç˛`ŽďË€<q„ŻX§ČíPég<‹úH<«ňEAP‚r �"Ŕţţ>ĽëXĄÚ 8•d_MϧőŞˇěÂąSČDą@Ň!çăŹ?–żŘŹç“KB…ýŢďýžląQT‚x 2#D ŘŽý8ćîÝ»ň÷Ůł'R/;;;’7DÓŮTž›xňţBŽďG]ÚíŔQí© /Ćůu:™ä »Ô4b{Ô`§ľ±%ęÓh;K=ú”ý§ŕ…“ĎJü9™ü”tşV¸ńíŮľă©nqĚ1ŞvŘôjç'ţ¬*•>Ď ś©7Śß:,{΢c¸ç¨ßg#ßyR7k*’Ö¦“m­ăđ¬~úô™tŁÉdjŹó×t¨>ŢťżMţQŽüł´Ľ/řđćâĽă'µ>«štÖż/ék~“'äxoˇÉ„9ŠXč«Âë,Sřń'[~şS wâwM„häbütĄ8wvnA§ń"1‚%Í ť@Ѝň*‰=^ąűµ¬Ą9ą íÄŞ‰ů켎bČ‚ZĂŢšĘňö9áÉĄŰ×đ’ Ť ĆÖŃpĚź)/eGĄ[ť‘„lÜt„ŮŞ2éŘ0C čřhL%7ÄźBÔ}˛lƆ6D%‘ÇoQ˛/’đ`]©{=ĘĂhťfăËw( Áa ‹|h'RNBŢXŔqŃlŘĐcŤĆsšÍ1Y©+y MJ.ăt>« QĆcFćśr6•ł‚Ô¤dÚfJ»×®ŇpfÍ)j9őęĽ9rŐ íýčÇ3ľ^wđx<vĚu”€°XV†°ă:ü[‹"SI‰Š©#d+KŽ#GÓ P ÷ǙԫJíRś«ÂwĽ\¸÷Ľ#ü¸ńŘŻýkúňË/ĺý‰…X¤Áž­ ţ@ hĘ îÝ7adlWĘ‚ĹÓgOÉr/-Áţ6ăÄ;NÔě":|ô”ţ‚’>ŢÜŁÁÎ.·IA“ŃţîŻ˙’~ţ7M;ó‰(ţd•ĎhUyŻŕ@üy›?o30Ć˙·˙ößĘwĚ}@@uź^·ÇSÜHłOĂúO˙IćlxOx—­ň˙ żďŽŹŽ…Č…ˇe,˛˙Íßü ťx:řŞ@í0Go".»Pë'!¬66äŻo;l; bL Ţ*ÂÝ‹ĆÇ Ď'ü…ÝČ…qÇÇ…Íu67¶vˇä‘Îcxž¸k€2Ô}y"ś!žAČ ¤¤‡í!ćf v">‘úLf4›N…\”¦šé͇Bô1ç5ő\|lSÁu<âńă„čkF’+Đrň<á? [ŕ9ëú‹ogľ´5 ©ÚNżYś§¬¶ëÔĺÖ~şiZĺqß I_źë"—ZŘęB{6aďušyęĚMćîq˙׹2¸Öĺ®—x”ž“çtâ\ďʬɄ÷n?',·żş°ŕíă`kv„ć©<o¨ΑŢâO@@@Ŕ%ŕÇóFč"Ç$o”:‰9G&¬OĺVÚđÉ>.ź6ᧉĄ¬×®<ůŠ?Đé|µ«ĆC´„ôˇ^0ec�b};rŹ.Jń�*řoże%ŤÚ*–H )«ŇR ôÔĽ¬ëTô,¦ďĄNwÁ» XçŮ*aóőĄM�Ě9AÔ™MgtĚ`eŹBÜá˛nS„ľŠłŘ™$)ő‰r 3 6Ěńßą|0Y‚ńEúlÓ`sşý®Íל!µ`|AŹ:˛‹¨řtş)oŚaý}4žŇt:ŻĂŃ){Á()«#>pžN'Tńůn“ŤŤ-Qů1ź)qťA)˛÷š!.ÍiVĺTđG©eťq=á{!ž€s\ŹąôuR˛Ä7ĐŰJŞ †6ng-ŠN%u’ڞnâ É‚ëîq3‘ŐÁPpĹ÷ԫŲń“ó¬Ć;ß…ŘÓއŔÂ>­-©ŘÚˇ8iŁ–¦–DĎSĐ ®‚ q‘sźáĽnA˘‡Ú0–]^Ŕyňg˙…=Łď|ú)Ź úúłĎč«˙ý/čĐĎ+ŻhZHÝzîĚŘ�đfs_Őg2ťśůX7ß; îÝ»'ŕżţ×˙JŻ3A:ŕu#‰ŽŘrVřv:÷v¨LBgáÇýĹ"3”´®‚řsÖ2ăÜFŮ⩎>ăńlPŕiă`ŘËP6ŚťRŰĆË‹ßPĐD]Aĺ y‚ŘăČL "Ô-Ę0(jŔž÷ěŮs¶%l“*ÄţŐŘž<y*aĺ'¶ó¤3úš2ém«fĆ6ŔÂ(ŞÁĆĄ6vřřmzRNi_'„'ĄŤ=íŃâńL”z‰ćĽ×µ]yÝ~˛ó¨eăoGŞpÂ?g|ś+˝¨1-šÝńgQeÚZ·V”SŐyşÔ´ îo~·Ů«V-rS[ý˙’ťC/ŻşĹďő…śÜľ“ťěĎo3~‘ŔMgtŰń_Ý7Z¶źřăŇ€Ŕxpxlż2ŹŤ<Gá`ă x“?o/ÜZŰ7K7jq€ż0Ҷ‡ů¬ű%;§†ŞÔváÜ 4#'+#çň ŻćS醸¦Č*ł¨šĐ ۵ń.Ǣ>Â( ©Ĺ#˘ŁAD§MĂEµôDőţş.ęĎeg5šj^‘j-­ÍZIť,ÝŁŁćxÝ4ťŞ?ş9•VžĽŠĹŘoę8ÔH)Ű>T«•vż¶Rˇ>1Kô’”wn»-RŃBšŐWv¸™ž[0Ó'ö*jśśÂ‹ůÎ}¦šńő:˛O‡Rëa†IMQ€Ąi>-ŮR‚áDŚ,\GQJibŇňÔ†ŞyFą†JP$$ˇ|6˘Í˝}çăŰB¶ÚŢěŇóýçt°Ŕi9?Í™đĽ(NrRĽż›r/뤤ůđŕÂNÔW¬bţ$|LNÓáHJ%/öEUl”~*CŔŠřĽť(ŁAw`Ż% (�ŁKľţ26Y¨“2’cćĘ„şR^zőęęjÉwM ]Ç„—łŮ\ä®pľJÚk'“ŤĚ Jmž\Îůş¦Üř-ęaÚöKNžĐ¤ěѸ^¨)q,B%żzl`ëőz湣ŤÚEä:®çAÔě¤Řű.実_‹ŹĆ‹ÖC@Ŕ»„…{Ä#ă5ńĺ)ŕ%ŔWüqđ v«”ýš ,ލÚiÚoy˝.ł“»ôYŇęVµ>ÍÚĽVä”óž1ťj§“—«3¨*úŐ_˙ýâŻ˙!ś&RmUVŁÎę˘űă,rcöSĎđ*ˇ×üGőtÄű]sC•™›ĽB8ŇŹQ0Žj§1ĚÓ/ŽËĺ M[Ü٦śCšżďed÷ŻľúJĘq˙Ţ}ą'AŕńDCÔ; ,B˘ „~@ÔÁ_ŹđąČ„CŘťpÝČ Ç?ţ\ŽwÄ„ ™80u:rgŻBţP@Ă~ś˘yR˛ujLű1§OŤ¬(L}% źt<Ň×űÚźćBú9µĹÚCËwy~V›Ě i/ëÄ&˝§PżřŠpŞć0M'¦Ę›?ÔűőňóIĺÍîDá‰NśńE˘m‹<A :­ ÖUÇ[Üź—…R4Űë­ äłEE+ď8µ¸ß4c_‡ęO3F‰Z6„*sŢâO@@ŔŰ 7đU<X‹$Îą08őĐ^‘ŤĂŞóÇţËw&´W‹á€řŕJË >˙_.—÷%»0/eóBMś¦"9D�6˘H ±cÝ\@źX(YV~7’uer©.3Ś]đ+Xś±ŮMëČT«g8ŞvÝp|˘ 1cÔź„•R5QÁŐł Ň“jAA©ŢŁŽ2dŚRW2ůsFÇţŻŰL7w¤ÍĽž˛®w.ř3żqçT]S®Ź6Î1đL›ÉÄ9Vl@Š3N‹D ęGůĽ˘ů¬¤Ů´ŕ~V yĽś^7cCʦÉu0OyÂăL$Ä’"źRĆF—;·w¸˙Ą” ›Ş¤C6ä”đ„�§€ěrDIJ”feY"}RÍ łˇ“¨Ëźó/h2Ëą\\çŇt†¤lX6üMŁ”]s_Ŕ <+ŘđTĘeýćínĽňCBú!Ż–čÄlxY/×ËöŮ ÖŞ5?ó-˘jĹ©S2F(sźK@:*x;?Ní§ňć¦č—J—–MEşîclŠęú)×kˇŮŔ5s?×ÔKşRź˘ŢsMđGŰ8ÖM±ôęňz×6B„Đ6g€}§(Ź@ç¶»÷˘3öźŐk,x—ťíńŕęý,uŮÍX/ÔEbĘŞS´.łSqÎĘG¸:[ş«>·:ąA-ŘY+ů éśhw˛čŃîŇ–Ę„iŤ*›©> ą)ŕm€ľt‚€€€WľO+¨“Qâ-á‚‘˛as”›»ćjđÄ—9u&Ż>é$÷=č2!¸ " Âű!Ü—Sr„"�Ű‘îe‡ůP®ź˙üçňýhh.~öłźŐ×îÂ}áľuaqAB=áZ$Tą-7:8y"ť †4 áxäç¶ăú‘Ωn»ńyiŤÝ~Řěžńóc¤çt»SŃŤí6¦ť�äűtzH_ŚźĐă‚ĎzŘÄ€6Ś-ř„S[wHţá™đrŃ&ý¬&¨-YŁ9áǢÖ,=,îk?ź`g f™€€€7řđN�“QČěâďUaŐ`Óź$˘‰¤>qŚ/óŰ ^µ &ŤęLIľäđşs^IśĐĆ` RÄŻÂÓč,0*'Ťę¤6S„˙‚qĆzl:qŐLĆ‹Ăkź$á§ěw9ŇŰçC~Ľ?_u§Nł¶m^üäXČ3âĄf~ĂSˇ*FbPNQŮÉŠYüDh­*Şj)ęÝÝ9žV ůĚ„FŃFęúŕŕŤA˙ßC‰§.!ĂŔ‚rŤ*ĺYÖˇn/ćr‰lÔŻ×męU±Ń+ęZ×\ČHॠLx/#yŹóĄiĆƦn]ŻP'rűŢ´Epą~ň•š m ˇ× Ň“ńu 1Č^VQ%×M¤ŔĆčâ?hËuĹGg\˙î^ŔyjĄ0ëÉŻĄ-¸Dµ}ŽĽ_K<bŢÔáQ‰.ě±íĺF‹ńUÔ˝öçI´™Ąg/,ÉT]ćĽg=ĎŠLÔÍ5´Uâô ˙ëúP« ¤mz©âOŔ»Gřxý⏯ŞČÍošů¶1˘ŕ//°s\Ć>ň .P°YGüÍv— †K`Çl.îeĐ2@ÉgÖťs¦ác¦iŘ!:`ÔÖaćÍ3v«§Łśľ<Ô´?5Ű ĄNřőxS‘S [Ř˙ŽB)Z°l¶Ă!Ůo vĐe¤˙łÖ”÷!Ň­ßÎ[tŃÍ˙»¸˝9ú´ó×Ŕţzuďs…Í÷Vť§6ÉËămîĎţĽţjˇVţ6‘ŚŇŹ!ýčÓ="ĂÔ5 ŕ5A ţĽŔ¤zss“®]»F7nÜRCYvŻŐČ©G׋Á±^KŁł®˙Y?ś™Yę_›Ša#–0P{×÷hë%că†ĂĆĺF©µ¨·˛dUű{Ż%Ö›RŻČSéš!—@b 'ń‰óÓÉ5´3śŻĺp’Ôăyň şu˛U“Çč ;P=±](‹Ý5¨RŃZH@ŘŹđX…*D¦ČK!ĎńD¦(á˛i‰y ŇN§›D± 7UVSŇE.ŰAţȧ ‡cúěw_Ň żAŰ4aC‹?aE˙AŚö4ă|c„řĘ…¬ŇéAÂ9ć˛E|îŞBÉ9ŠjNą„©ŇëXĘTXĄ%¤Ť|”Q®á˙’śç6|H-â9ę ÚXjň9[-C}ěĄ$e#vÂuĐb ś- đŁSjˇşD çŔ}d”B‰L™ű“IÔT€„ś–Ćř5ä5 (ĸŹ[IT&*gö€\¶&+{Ľpó·Şf±#-ĚŁ•o|Á}›gÄ ™lĽPáţx­ŕ „—'ýHnňń‰*Kş}®u‹F­ţ˛Ę¨N–cUůÎvŢ™®PóQ´ŽÚ :‘ďIâĎňcWŹ *ÜSď2^Ë9X@@ŔR8⏦päžec¤7ѡ#ŕí„St�áçĽ}rAŐŰţE^ ×€äă5~ČY�Űńý"çĽ ÎuN˘ÁËĆŚË÷”Ç´Çlş˝D”Ž+¶ŤĄ!QbŰŇ?ął}:ŚG„0aŕ›<OZ‰ÚÎOôN qÎłÝ`éĽÉŁć(kYjvaŰŇş=gX cąjlMZl»öţ‘ľ-ކĚö‰>ž-ż#ks[ČKÔ˘)S^˙‹žkśđÍPKÎxÁđj?—˝ţ«}zś¬ßćnţ]ýĽ<9O^V˙‹gS ?Űk Î1EkZúpđ˝Ű%qÇĽ âO@@Ŕ;…źüä'˘óđá:Řß_šF-(ľvsż3 Ý´=>A¤×ëÓ{ďÝˇŹżóÚą¶Gfč,Ä˝ö|UÄű˝ˇÔÍ.Złî¦ÎqF™ĚźŁAÎęűŃF{ą)Ňţ a¦": ą$‰+ŠUeŇžs K­)Wdç4 ‡ĺI(K3ęöşów„żšL'4Oi>Í…řâ â”Udă×#Í|Bهs}w«KÉńŚfóŠvwzîë›o¦4<łĺ…ŹÓ9ÍËcÎ+§´ŰŐ(ÜSP‚¨ű¬ś‚ÂĂ˙8SÚâ–‰o?Ni4q˙(y;Oąăň6lĽ1ĘCЦ¬ÂMĘĺUcŠŁŘ|z%up‰lç©`둲¸FUÎČRl$^މZ[^ł {"~ző¶‰×hÜŮ%=ÍéüPőglB¸‘˝‡t5ÚGĹŤnH9¨c­çŇ6cVŮ٦QôŃň[ÇŽřôžŚ7+c“é%ż˝+Ďŕb :ΫKǛ܆nďř5| Ľ^‹XŻnáŃ->‚Dy5mR5DŕÄ­Űďžuçm“sôÉäĘś·]Ž“X˙|?™ikü˛l`uâW äNľoŰÄź¦D덱'Ë^8ď2ń' ŕÍAeç^~m÷îm+űřű݆śp1ř}ýÔvÜ8ň,Çܱ¦ łîŕBW9´ÉoŻ…Ă€^^dĽü"ݵMč Ś€bBů ˙ě Z[ <g(§îiÜĐ»ŚšEzĄ›!×4ßýĘŐ޶óuŹřăŤ÷5ůmă¶´môşNăAmjČJčU ™Lţq§_¶Ż5}[J Z—÷•tá‹^˙ËşÜ↦őjMKćçkę…ţW?}nd‡ĽˇÄꀀ€wČ|ôńÇ´ł»+ń¶ź={v¶ăŢ‚Ţ"ń‡¨ßďŃ~Hׯ_§^@'%V×ć¶b«–ód˝ő¶6„| ^Ŕ€ůJI?ę⏷3ZpŚŠŔr˘ł év(릔¤Ń…ćSíC”^Q—â±P_)ĄI—K ÷ky^é§ĚK#e-äš„ Q&¤ÜĽÓh:¦ŢFĚí×§N[ďoqÚíŚi<®¨€ŚLŽvž /$I3r-MŤˇ =©‚᫤¤S‡Ż»Ó)Ë6§i>2d—ŠMóĄ­J‘‚O$źHňgł—?™ć‹Q «`r¤¬JŽńŇv5Öý§Ö¶ěşÚ†Ú_WoŇÍ]˘Ý›T ęFiÓ—”´‡˛J=1˙'md‰?‘nú“* RÖ€( Ö®·öo1Ägă¢vë>[wýô›Đ‘~NüíoP¶µ-dŻm ¸,°XĹGúąü˘Dö59UK…ú\Š?˘‡čÜúí =o—?Ë«őyź€W.˝jü׾ƳŽ,ń‡Z I+Ę?ëđZ:_ś€qůiŢg%Mȱ,đ á”~đá¸@⏒kp,”{áÓaÖŤ;_5áÇťż&摺ôË6¨žľąpÔ‡eˇŤĄĘ>ٵµAyCyMÎđ:!Ţ)lllPź?»{{gŹĄý6Ěb$M´„ęu{šé*mmX`ŰąvŤ6ww­Â‰·óŞÎsN›Â©kJg8Pµ~źXŃZ„ŞŠ:‰ÔąRŹw™ ;ú6H>ĺĽĂ•jâ†h')Ą26fYŹ6€Ä»mΆ«1eÁűÚăű¤×ݢߎh<,i:›J8°,KlśăŞ–§–ü•QźÉ’„¶¶¶¨ŰËOĂç™IL÷ÉdęפÔrČCň7Nů{*ż‹Â” ±Űq=ŘŹ˛‹1ÇW ˝¨ĺ ś§“eďěđő~D4Ţ".Ě…É?µ`‰Of6JxłČîW ,41¶TÖMviO2Ë*ŐnCzÉ}v1âĎŇŁś Po@´˝Kq`·™pwÁĆđşÁ3"á-ŻěAUťęQŃeB}­H«Úyž…řsiĆgĺ¬J{–Ü2"R´t«[BXR‚5e /™wřđćŔ'ţ´×˝‡ń'ŕUĂ©ţ¸0GŽtř$7Ř0ÎrÜYĆĄ°y´Ëáľ/śC{Ş+@Âvˇ×Ď–ţ¤PŠuşŕ}|6·$}a[⢖Ś=§n*řý ţ©RFeč„–ĄďŘ:Gµýą ¨OOB'GŃkŇë“Gź8‹rץ[yZ:ŐÔ]T·±çf§—’ŕŢF>öv,†öBšĹłŞ…rúN|ř›­ň:÷„´×hą9ąñĄ >f[3\ť»ýŘ pLÄ.çĎđ©Lm[°_ňJĹ”SFĺ ;ŻŇ…8M’6*UZ-öF1óQŁ_¤č Ϋ­ ‘™ĎĐźZ%¤ËŤ´O+±Z,”jď­[D~›öň\8µźĆö&S4y,Ź —~•<”~ek5Ő'hŇrdÁóAź6=“—€€€×�řđN@A9#IŚ’HSźŻňęĚ#˛‹Nä^Î<°4‹8ňź5RT•–úątb®Ű”¨›dň}ĹŠĎŐŕ Ňz]^zÉ®öč_ÓŮ®©=×=‘Ůy.&Eź~o“67vٸÔĺ¬Ě«\󌧬x*śGl$Rć“čĂí‘t(q¤2†×(N(ń‡'ˇUSÉĺ+ąń¦yJj O^y°D4™—Tđľ¸×ă<řX|:±18YőL­ç©bž–ĹŻ]ňd?ޢ‚Ë6›ä4W4®Æ•Ô„»Â„!Ľ: ˛Ř|ĽŽřsŔâ”U>Ąy5¦ń\[rPÄż#*Ş’Ëסľâ¤OŰÔí‚”’Yt\4&čłÖł('ERGIo@YöEŰ;—"ţjͱŔ«Ű Ż«Ő żş%‘ĐVLP§’Ň.p3f]ҨßmĹmĄđşÂŰP‡1ĽČľô5­Uü!}’ŽCkŞ—-Ýč%䛫 ţĽHĹ}‚­W”+(ţ¬C ţĽK–†ôjCîiűn*!Ż śs’ű~¸aăńXěŤç9çiĺ9U9Kźľôľ âěÄGŢŕď}}6k‰Zň[­Ř· zĹ_ZąÝŇôŮËtrßɱµËšNCţ8—PĐ3Z¬RÍń±çh…ÖM¨E;"@uŽhŹś—}_Yź´ý¬şfµňŚ‹ż|2‹›¸mJN jŇOä‘»pťĄ6ó!˝” ö>µË»{ö7ŰŤtfţ.˝"7Ďq…íŁ mç őą†S»¨>5‹™·\Î-XŮ,ĺ›%rłß´qăBg”ÜÝů3nÉMľ 2[>l/<â_Lwť Q‡hĘ×yí°˝´ŰJl‰,0®ę§ümLMŽ©búUbk6HE-›!éZټޢÖ(,)Z«jż ú’ó-so¬>^-qúhţ‚ÔeZHúoÉIÉ_łęć ő”)މŠáźóĆ2:yUËľ*˙ädňIůÄqŐ*w€żâů0Ő¦OŐIÚ74ťĽî€€€€W@ü x'‰I,Ę$ežS’¦GÉÉ‘ß2h˘7bĚvž2ŠJ‹ń B]ĐJ—»H•B‰R5=\§­©­HŞĎwčŢÎ9ëK­;óYóB¬.íîޢ›7ާoîý–Űđ©ě)K~âÚę&đFA'–éf%2YE,t`¤švRAeܡ1?ńôZu(š'4úőĹń1Íf9ť%YG<$*ĽČ<ĘʨÓTPäA®8Ą\et<ͨUl�›Ňtʲy,jAPżv˘® }ŹűMĹ;çlaI*Lë;<yăÉ_ÂçŤřüzHEË$»Đ "ńŠCÖÚuŻŃu®ŹÍ­=ľĆڧŤm5 ł·•¶^HđŢ©â.éNĎZÓŞ+îÖk:gë§™Ľ7^0~RőM®‹}µ˝ĺbzŃJI{Ex¨µź€€€×NaŔyo_Ý¢±r+÷}iŠÓ?kŢMë”w$ůŞe·mq™`őy[y\ęĽŔIŇQsÄiĺX‡Ë˘Ţ|âO@Ŕ›!)`©Î{ß¶Ă y;N¤ xpő){–Đ`ícÖÁż?VĄ]Nl9IÖëőčf'Ąď˛}ćšĺeh«xTŐˇžhá/ťř­ęŃÚY‰?g!˙hďD‹#Ü †üQçů1壟łqęh^Ňh4ˇ!·áL-Ô…śĄęŚí ]|'VX  4AOŻ@sňúĚŘyŐŐőěQÚűĎckÔ D‘†PâćO ýÄ"AmćV%_sQVĆ(s--}E[8�Şx“ME[ĂńV±mOłMmĹňŁQj4–b®ěT±5/2jň}Ît‡÷9QĆÉ78i‡·‹Âě…Ém‰†řŁc.›7µ;ěVÜÇĺ/ąşV˘ Žű5™G´“÷©SšJ¶ůMË9ĺUą  +uÁĺI"ô“k Ďň„>/6iżĘ\ŤÖ©źbźŠé„˙έŞ7‰“ž¨µsÚŢĐÝ˝=ÚŮŘäbvŚSäb‰íÖ5ˇä¬VW[lĎłŕ’+Ž_çt(ýU«Öo?ß=Ő„íÍc:::¦çGCzt8˘ŃĚ=KÍÝĐă6ÜÜܤÝÍ şľ9 AÇÔwĹky'–ż+±zBßŔi^Q\ęĄűŃßsďy¸?Ńď>‘żMŢjů9Ăđ& ŕ#Ţ Č¤92#ŻĘóćY†“duŠGň«ĹŮ"Nů3C3Qô¶ó󱓗!Ý˝®mÚăpÝÚWµö·óm;,pwč|*Iâ-Ӟȝ08¤tóĆmúÁ§żÇćŐCş}gĎĆˇÇ O|Eęţ‚ &ÄBübڞRÔ j;0NÍĹ3 Ď41“'! Á”ˇ‰ÍQ.Ç.SNĐfÔ® ÖĚxľ<qž|žBîą8Ńú«ľe>†x‘é’‘”uŚ>4źÍ%Ü—;ź¨T±±A—”e„}çăÓG~BŰŰ»V˝ę2‹…¦P ±qÁŚt,]2Ë3@źBR«Ľýľ±¦¶Č;Wy–¤“^C>ÎC2˙iLEôB+# ŕpď‹č Ô [9Űżë¬yę”ă/ňělŞ/šÇEŹŃ­ß>–×Ĺâ‘á}đ6Ă_„ôC{ů¶�§äĎ%ęOŔ›Ž‹ôaźLpZŢgËÎŤ~żOďż˙>ýŕć6ýŃvDwşć\E‘Ód2űŤ”Á•eáŐţ“Ę#ţśĄÜ'I.t‚ÄpŇ޵·%±q"\Ő9Ś·#¶ź=©:tďůľüň[šíçK<@Č z´ŃËh3‹D‰Ä‘ĽD¨°DtK–CµţRc_ZqŤ'‰?-â„8"´÷řżĎAüńĘă‡@ó‰?reÖˇB3l{Äö=8“ćE) 9JűÝ.eýmécIŇăşéZÇĽ“PbŮ*ë6ëĆí¦ ˛”˛×5Ű䮳QłoŻ!ăälš°MůglGÜśńÓ_Ó~B˝Jć|YżC˝můë®ő;™ÎhźĘ‚}J§&ý¬ÓŃtHŁŮ„ćóy˝n ¤Ż,Ł~}` őq||LźNžĎéëiY×(®IH?|ělÔĄŃ“'4łm´¨ű:l(˙w>ůýé?úÇô{ßű>Ű2·©Óé,ÔĎ®‹¸&.i–N­oO:ףă†Nk(Uk ¤lŠĹßög5ŁŞ8˘§ŹďÓŻóú?~ńkú‹źý†FŹž-dŇĎřúŃľGż˙é'tko×”Ľ“PĽÝ‘żëĘ·9·ŰűŹ}޵1çíĂńDţżúÝ—4ü/˙­!ţĽĆÄź€€€w Ą€(±‚üÓžç #˙5^´0¬˙SS4?•őĆŕz¸<eőK;\µ˙<X»Ś¶zŢcmâO3çXKü‰ZůŞÖěüĽ}/©\čR�‰çΝ۴ł»A·ŢëŃÁŃ#1ÎO«ŘHÄ*UG’ÂÂg…e&Ő0Phͦ‰Řô‹Ę†ëňŁ“h1er‡‚ŽĘ­'ÎIóEVa‘ zl Hěo.GYrBĘ•üń'UMßoˇĘü5FáHbnKůAŔ©CÓUR÷‰Ę¨“uŮ�3 ť­;tc÷»ü»/Ç\Ęz‰qcΓѪ¤Ťĺ!Q ü¸Őµ‘ý-Ď'ÝôFôŰčĚ}őě“|çĺd¨EhK›w°ŐĽ†đ• WŞ\ë©=ë÷Ňeö_ęy{™ó^üÄę2ĆäKđ6 ô€€€7âpʬM Äź€wŹ‚0€őŃßaŹ™Ífň—ŹUáińŰcëpޱ-”č&/”ôónŇ-^8ßérÁą§OÓěx(6ŘfNRW¨6Äoď)·´o÷g€ł»R–$(ä mmU š4ľ”âĎÎAüĘóNS5ăkď)šňzţM_Óҵ×úť”®mo˛Ýi@[ÝT¶Á‰n6+h<«h5ukÇZ¬eëĘkł–~‘¶$zWÎ᪹âEC‘O R.“Ô!/…×_’8B Tߨâóď(1ÎEY±Gú$U¨ZĆ’Ľ¦ł)íĐp4ç<Ř{l¦I—âŤÔŮý¶vw©Űpku8ť’|AĘ+ĺ…FsVGń$¤źo/ăşîvůŘ.í&)Ýáô›ÚÔO—ÜÎ+!Ám±­pwNŞg粭”6ŢëRşť‚…Dťí.mŢÝćí]YRJÇŁ)=ú”ň§9uźô)&0DŠŇůŃńDTËĺţ¬ćTĹ%%Y, YýŢ€˝ *ą űű¤ź éWÝ =$T )§äóŠ€ ß?Ńa—˛ÉCŞćcţ9%$ŞäçA‡®]ŰŁO>ü„ţřÇŹţčÇ?Ąíťmęt;D±'ć¶IłÄŘíť=0Ňž][-ÜoNńçěP—vŇPľr¬ë˙Ííą «ęm¶w—\oůž>~@×7n‘Î;ô›/Ń=KüAzřoomnĐ>ýýáţ}úńmÚŰŮýiżK˝k;ÔŮčŰţj#(Ż,ÔŞżľ@îńłnn™śa\jżĎć9 ‡üLśÍŤmf´ń?zđ& Ţ\Ô4qű]FązyB»f˙Á§íŚjŃŹş<Ë Q·&˛-yÖr/µĆŮBµ7ś~ŘźşÔŞr.!ţ¸ŻŃyίϰ·™ž‚lň2XĘ÷viťÎPÚ?­Ziő:ąŘ —fłËjĘŃTtRJU/|•®ěwnż‘ÉDÇ„¦×ŤčƵOhsă&ĺ°T†hÓ(/™xĐQmTŐBř1DźŞ±?XĎ]-^ť_ĺÉď¶JÜŤ,ńŠD ČM˛śáÄzôś¨]+ \mËěČ?Ş–6ĆEqĂ…Ń6…tu‡Uwȉßb„RF˘X_µjÄÉ6F9ą%çY‚ŢB‡T }W6{ڶć·Ýż2„ y9ĐÚýÍ˝Ąš‰´şčÓ+ ŕĹĂ÷¦ľJőÁűÜ;íY}u×quYŻ?ř–:ŕ]@č@o”ĚOô™LÎŞxđşă´1&َ䱷·G7nÜç˘ĂĂCzöě=zôHČN «VYYbÓpiü´Î!J+·tżü~Şm |,Ä—ođĎď˛QôʶÝÜĘč(٤}5 .ŰSöGôË'éÁ#šN''I5üpXËÔnÔBVÄ’”í9¨çđĺ®)S?UíÖ¨^śo·^&Ůł{™˘ďúĺśŢʧTöíWŠŽ-ńźn¬h«ßĄŰ{×čúµk4čv(ĺrŁţGĂ1=yü”ŽŹ‡Bš¦¶ÓX{’xLyć=ĄuMÖ‘˛[ŰęBěhDuČâvP§ĆöĽ` ¦¶j’#P5Ťń¦źĄtťűăÖö–(ÎĎ@Î "Ďx2¦ŁŃHŇnllPŇéP‰>ÉíâÚ÷Ýßüć7bśŚ&TćĄ5…[[T6 xçęÜů)mßľĂylňőĹ4źt<<¦|4§ń Ę:¦\°łĹ:¦Ř:¸ýˇúł©2ęE=Úĺľu›űŔ®6}eŰţ¦šŇ&_o–gÍ**gŢYý9ÉcĘfś'źR¶›ňńI<çýĄÔ›‚G]Ĺ6D5§Í×Z7ćëJ9=×űśŰŻisşMĹdŰ(:ESšgcŠ»Š6”uú\Î.M«śíŻ3°=2íßúĎg3ŢN4N:4W‰ś/.Ô<¦î¸ bvČM}Ěí?¦~·OwoߥOî~BěÜĄ›ŮuĘĘŽ)‡*Ä“Oq\~ü[ n‹Ş»2fa'ź+ňI@^sĽx,~ČôMÜž•Ý`Dç©1ö’ô÷úwÉmźoŇ^”ŇOîîĐó ú/˝ż$ŞÇ†řł˝ŐŁO?}ź>üh—űĎ#>řJöwű[´SĽĎź›´łłÍĎ. ĎĘ5Q»ďőş ßciAe—Űť; [şâç ·-éBž9QRP·›sęą(@EŠŰŹň×:"D@@@€C ţĽ9XĘĆ …IÔi#\ ń©Ő3l\âÇŚzŇMő_íą˝[ś_ÜfŞm˛ČÂyÉäü ëóÎăĹMmĆ ů{·Z_H ‹eŇç\[aPđ'ŘĘŐőË3ć]Ôp¸îÚWçąŢ WîĂäĂ‘aÚů9Dt"Ş·nöąúO˘„¶}ţ¨úś•×¶í[ĺ2““uĄmŁ}iëĎ»ě†^~ě‰PX^Ó–¨¤Wže‘nĺßwKI?uB6¤YëŘ«‡ö VÎç«™jşGěéÄźµGSCBҵ„łďµ¶î xŐXräŇĹŢ˙gÍ{m‚Söť¶˙˘»/^®ÓJp*B X±ýŐ>m—…ĆŚú•÷nkż“_FXđ€€W!´¤)mmm áźëׯ‹ÓŇî®Á|˙É“'zgđďwo9"ŕßkΑŃlXQÝü~Kźż]‹4Ýîíô!ý'[4OşôLO雑¦Żö§4Ť…üp"»…óś öu{#ş€đĂUÂuĄëk—ń“d‘´§ü¬ť§5¶“Ĺ箉PgÁű]MwyÁ›ř·"ţ¤\Ő(&‹â?j;IL^Ź676hĐéQš$öÚb:(IŔÚ•Ý\@r@“EU=ÄGŃ"´«+be‰?|L U«ć"¤®Ę„ŚrˇŔV93hŇKçmU5©sÎ3ŞJůk>šRměeE˝Í—"n|Jn!QhSÎČŠŕ¬W,áۆ"¶ťuw)ٸMÝÝ÷©żą-d›x2Ąąęq˙› qĄČMz¶ó~ŘŰâşýą ¨ŁęF}ęńž =Ł->żŘ?UI×Ő¶ŻˇäŢ, Bč#śŠ…ßĺ|ŤąQ¨ÖPá)§Hf‰&\ö<•ăR8$˛˝şĂ©ű_wR(ęćŇy"}0ŹRšqSÇÝ-J˛>•EBj>Ł™ęP7N)ëmÄÔu5˘yˇi’ hĄr}ťlDÝŚëď/u=ç­3JăŚűŇílîŇVg‹6řZU…ëá–Śl]kCü˝!ü¨Äö.ÇŠ±Îź¶3sóK{µÚ¶·k"˘Dî?ŽäSęfbű{Cüá âşîE]ęň3ńĆöę¤Ý…3€Ůé$tmwź›=zxLăŃľ<?`˙îN®Q>›s[kwDÎ1ŐVÉ ő4G¬ÔĆYYevŤ!ëJô%¨űäâ´Š{%Mů~(sn÷)ç>#E RůažđÚ"ŢyDŃÉ…qĺódĆŁţXŃ˙îöŃÓ§ĎęĐVđęŮÜŘůTL–ź?.űDŽ”g¶â͡˝E(‘‘4ň‘Hă ŁŠcK€vű]ÚdŁAdCE5|źĹ‚µyVřĹ+´ť ĽFŁSÔ ¨ĂÄz’@ÖRŞř;Ť¤ţÜľ4Íř“ÔŞ6?�>0®ŔkŠΰ ů9©ZÔ«x´°‘E<G66ę˛8Ď”q›‘ç‚q¦Éç+ŔĽB >~ü¤n:Ü_\?ŰoQĎ諨W´IaCşá»¨ăÄF톑ăÍ:µ×Ň ŤŢ4 ź<}úTľ÷ąýqű×ďç‘ŕ:Ť+«ďQô'Ô)ž ¸Ç‡Ăˇ‡>Ž4řŽúE˙r†.—O’y_˙~G˙E~hŻŚď‰¬“Šd°´§E™‘ç ż!ĘH¸'\;ˇ}Üý‚ó;8ŹCóŚJÄëy!ŤńŔs)CŻ€€€×ţ‰ĂU( ¨S?ëG§1OS—[[üÓ,ŹŃúŚ×éÂ_˘Úô ęíypâjŔŰ�éÁ °Żńpj.\†Y¶”�/t‹És 䟀·gďěěáçîÝ»B�ráıíćÍ›bŔ端ľ[A›ôăĐżú„ ŰEE<×ďt)çĹö:¬ÓK€ł18ۨŻôSÚpSbg˛ö Ř<ś­5˛ 'ŻĂłjDĄµ‡1žţó­ő׌k74(9“¤+µ„‹Ş„řنĂ'úU29MIÍŮč 6…ţfČi& ÎŰŃśmZó˛2 Żěٸ&ţÄÖ¶}<JŰH6ZGb; ¦Úv{n‡ß ĄUžŹ4—AgB�°HśdŹŤN›8gÝúŢA–TZTŠ*6ĎÍ'%•‰©KUň=X¤T͵¨EE,¤&¨ź‹ZďŹ,ÉIĘÇůâ^Ž:lŹc{°ĘúOąśś/ÂĄĄiE.Ćż'“ -S7?ş¶ŇŰźsÇcő9Ĺś¦5Ż~ßaRÓ9Ă}]öduq-éGUžš•%ü4ˇ´,ůÇŻ|ňb NÔÄśˇč¬íyˇ]2YhBŇŐç ď>PžŰ§Ąš±gqu¦ÄŢ? ˝ażËŕţô•ČęKn­ĽŽÄꀀ€w«bhşţgőŔÎmAä›oľ‘‰ď˝÷ž .1‰šMgôŕÁ ^»vMČ#ś ńÇzí`R"€L6®_—I0ňÄä ü;»;Bľhdͤ¦|R3(^¸†<źGúQś`ŕÚAüąwďž\7ęäGP—Bľ˙ľÔ:ŘŹtÎP(DžŔ‚Ř�ŇÄ­[·äŻżţZęu†z‡á“MÔęő˝żż/“O^�Ô5<±° ű>|(i1‘ŔvçĄőş®˘uQ§ ąŔ�…kÝ`c®F)ÔH?¨;7qGÝŁß;Ă b„#<<ÄP÷› c4`¸ľ˙¦Ŕ-9˘ŕ†qcgk»îÎ8…~ęýŮj„ÄgŻ}üŰożĄŰ·oKDś>ŤzĹń¨?ô}äcŚËqŘ!]OČ<sP&h Ľßë×ĺB>čż“ń„ööJJ“Tp®ťp_ŕ|řB›3şň#ź„ŹAúNůĄ¶Ď‡Ům@@Ŕë·€°l㲋Ć8ą&U­=zý@鴱ŚĽO k O!ţ¬}ľŻ»&ZÍ— •?ŻŃkĘG©”y®şi~T-^aĄ T+u¸•1ĄTxŠĽ“Ŕ|s~|`×rvçdßŘB~ÁľâćůN٧Mđń tî÷EaěhĄŘ9&ű˘ô8…[\żj8ĄÔAfC|ůűüżíňÖˇľtŁ0âŇ_ą l3cű ě+IdÂ|eA#Řká�†°Nqt’ENčD IhÁ.ëŚw‘!D6ˇí«Ĺëőh!'ŻŐ‘~Ş…m‹ŽZM;§˝˘.±/ĹňĽ–} X©ćDĆń§j]ě}ËŐ‡@HąnRš€ “hQEšç)ÍŠŚň’óŇQm×Jů}"PbŻŻËçďňś¦U”©R¶‹B˝W—NI¦T ť€¸ĺ‡řŇôŚŰaÂQ‡oDNt¨EIGŔAőÄ 9—a“Ę9Ź‚ß]üŃP ŞTÓÇPŢ AŞň—%ăß%×B˛ĄÜ4m$]ÚಎçĹł‚bţŽľ *Us¨VAŤ†? ńµŕťm¨%öým‰15Ó]T|"SVźôĄüĺUşl×Íw˙ď™±’ÂE§¦ ™MZÉ©ýÔŞ>´ ň#Ď4źÖ§]ÜlаqÄL“Jžˇý^—şť„˛ŠO—ٰ‹7>ąÇ#JÉ\<öę©ŇX¤bŁđõܕé_žW¸' n˙‚ŠynČˤ^é+ ŕ,Äź€€€€%đůő놺.ü &IX€Ç$zĽ°Đ‰ľ¨¶ń`#ن{! ¸Ř0úq&ÂXüws0€ÉľčőCÔLţV—O©“ciçu·xĄWŐňĘ=ŰlĂyžŕúQř‹z‰GR@"ęuröd…<>˙üs1ŞŔŔ⤕‘ęUśçŚLÔ­gÎI#}Hʞ8Ůeçq˘„xĹśR«/c”P§üľÄ\ĎČÚZĄŁ©%Uˇ~đ™Íć”ym´qő ‰(Íp·*A‡˝~łÝy¶]úÚRwpď~ˇsä»ćž€ˇgĆ 'K-é•‹Çn Ý觨/ô?ČxŁ^u‡4PSÂÇîĐÇ�¤G?Äńčă0şˇ®@X‹SC˛BßvęTČý÷Á1Ô„öd»ótĎ!(÷@ń}@ßĹ9@ Ňb ŠŤçâ·Ă;Ęös<× ¦…s"ż7Q©) ŕÝ…ó,őˇ[áFÎz1"–ľnt‰ˇf ţĽ:Dí ´ŹW±ŕcç˙˛�«ŰÄ"řĘt±,d-{~žVđs<sÝÚ˙E”ÜD!¬ş(űŘ0_§ĽoâOŔŰç\*ßÁ6Ěßťý�éś­ÄĺT?Z÷ÇUÜ/¸ËKKd™=}Bż|ňHÂ{°źÁa ö7§bs•h+ý8%WŽ´Źí2Ž· @mu#§ 8çľ§Đ˙Ăç‘q†J’†b/<¦q>§Ę=ĽÍ•żV !eNtmk±ŹpráÔŤâL%¤(ţ0IůäruC`P™AĘWŮü–÷Ťš˘#OŘ|„h&e´ˇÔě9śů/XŹ…h˛jěĎmŞűlCě˛M·bXAqҡĽäúć4žĆ4©@®`űoϸş6ŞeşsońśbS´—‹k¦c ­„÷^ey;ň!ËŹáýUŢ%=7ő/$Ž‘ “EłŚ˘yĚI÷J[nkłF˙ĘSR\žx’Q9ç]E*ÄCž¬ĘŮĆ'šwąŐ;˘ wض_4ťW4ĎůXťĐ®ęŃ_ĂpXĐÎuŠm÷ §=ngŢc˘|L%—C5%>MĘyÇPÇÁ9+Ż]udÉ4ÖńÎÍń\HµŇ\ykľř|÷‚O©şTÖKÎZQęKů$%—FűűtڍîpţěĎĺBN'ëĐÖćĄÉ-¶ŃŹĺŢév{´ŃO©×áúŚAşš‰ŠŹňçŰ–­-ńGęŐ…F¨,QÇČ=f.@„޸DşâOQńzÄmÁĂ1UEeňbóň0{Żń' ౪e|»É;&NXřÇäc@ŢD$Q2Ńw~3‰¤z˛‹ÉµSĹM`ő ďžzĺŮńB×P.—9ęÁŐŚ¨Gç ¤-ĘyA˘i÷öö¤ž@l@8•źĚ*¤8E ěsÇ;%�çm„öqaš\0w·pâĘä<°Ö^k-µô" Î±őbhÂŞŮÔÜĘ,¤RĎŞłC á§@ţA÷PŻ›EmŘAýż(íţą˘üÚż!Ëť˘hšLŮhW–µĽyz˝~MCżqä4Ô!ŕH3.túČ4¨#×§śÂúŞ#Y99pśů" ŕ$‡‘ź!¬Q}ŚëÇ’NE"a\FeÝ—QN–Ěős‰śeADęy^đ5dâŃđ¦ í íž×—EMţ‰VçĄ.®ë4\B=ç…žwőţ—&5đÖ"„ú xŮhŢŃÂ6Gö—ßôňűfeĽwK°fžjĘ D= ’)×yĚ#‹čÝÚîvNäˇO!§ú‹e§]ź#MřŻ=¤_V™'•*‘Đ4:Vâä_”fÁR+Gňß]ęÝđšÂĐ}[–ł‚řăB Ç­pŢË.K•U.9¶…}QěĂ=xpHßĺµÍÂ9α ×#ŞŔ6Ť&mťéJ¶7ŔéËŘ<ö˝´öNŘäša;©ŻÁ=Oۤ'üM%„RZ+†ąm¨K¤OˇH”׿ęHBL5ăJ˝íÄäCý$§$F¦bEEY›-_çt256G„~âë4ÎqSyŢ%l3‰íµ=Ż ű‰3•ćS†ccKB;äl{) /ä{ÎH5ěN×Ö–a_ö:ęËnq,ëýZ§¶QŮÔ]S_'.~Eť¬"‹h çUŘ›b:rł6Íř=�Őu˘YÁ6qĽŻ¸+ťÉő+~wÄÚŘh»l3¨6bŘÁeŕaD–Ňńb!™|n41×;H|L4­$W4ą¦˘¨oH©‘j8QÉö˝g.¤uĽh1—SöĘ;‹¤ŤUÉ÷AVĐ<Î)×9Ĺm©ꪔúü;™—˘ř“”•¨ţp%ČGM¤ ŰEM$ľ^óŤ,FWîšlh7©^KďňE˙k®˝&cążç~,,oËłŔ}ĽÎWyd×@Ú óĺ©˙SۄڕŔüö/Á%Ťě3¦×»ĆŰňüJ’Śú˝Ś:<Ę6dŐäŕ=¤ ʵŻËĽ˛aĽÉ Ł©XHwh7ډRäËm:<:¦ăĂ#yŢŐđ…8T\ ń' ŕŚXĺ\IT` <E|˛“Ë“ąĘy0±C:7éĎ@şAPöŔ>GúÁDÔĹ�ßä‰wÔ /užyľźöu[ÁĘ(|đť«Ú¸€şpd*!@$Iďőŕě˙ôÓO%˝ +u݆NĂwçąäHUřŁHŽč‚m Ż /”©cŐ–0ÉGž/3öů«�ę}ΧDÚ©Đ˝ä—ţĆÍ›RÝ8ĹŕŞÔ~^6Đ/ŕ]"F»Ň˛đqF)Vp†%|@JC˙Á>§˘ä¶Đϡn…şEviŃgť’•xżAÂV&ą=Ůďú$ňÄöŹ?ţXž=¨w¨…á~r0|U·Ú�i…PśÇNkÎÚńx"¤  öđ&aŐ"I@@@@@ŔyŕÖ1ţĆÚŤ—…pC/•=aÎs‘§ĎžÉb˛”…°°©i·×ˇ˙óOH˙ěBßą}‹úKĆďë?ŞĄJçÖ~űéíşňŚŹůćŃCú˙üě/éüĹ_Ńă±uôP/»†^8eĚËťmżń] Ďţ˝¨î}RůÇ}w}˘ĚeШk%lĚýť=€˝�ö ”˙Ă?”2KÄ$±ĄăçĎöEeřÖ­[Ôe»ŁqťavČö fŠŞX8ĘŤóŔ:rŽ}¨7<kŤ2ŽŞCüŔw÷î]QĄůú›Ż9c§pD*qşDZGĐTĆ! çŔqŽČäŕś·ç‡”•Oćł3Őýöĺůf®”%<Ĺu›TÖŢ2cYŚj•lzŇĚŘ|ńAÚŁĂÚ± Ę@Ę*ˇ8ŃBH3jĂh±ß¬CŰ1be:G@ZńŰqÖˇv&˵Ľw*ĹuhŞŔĆhmc3Ţ6ÉáđVÔJŮ}جRă¨Ů™WMÁěY~ĆJúÎcUˇb>ߤżhŁd3˘.ěgU,¤5(5Ĺ‘!Î{|,e1Â/6´Ô›śb“uŇť[z•rů;ş^MUj=IÖŮîęÚ|/µßŔ5)e±Š>ňžvĘ=VťČŔäKäXPP…R†TçŘ`Î!ňBŞ?ŇqGúŻÉ®&űčEňŹj?ďt]6ŤW2m.ż,ĺ/cźX‡\»µŤ^Âä•D ďG×öÍšřŁš»HşŚ%%;‚7F†Ŕf®d˝řůôôé3î3ďLŻ-ń' €Ě€˛öšX“¦‘ô'ŢFÉ‹őc"ëäkSž¸ 4@0čÇD“Qů)LŚX§Ü‰a§Ű1ńť=É[¨}t±ŕŻĽŢľ¬ç)!żNz,ěuWGŻ ¦^v¸^RŹř3“˛Ame7l~ăĺT{\ZLúQ_ ŮJ<ŞH&÷2po«T”Y¦ ę%ŽČ�rC݇¶ęXo¬TŚăń¨&<@>u_LĎF‚8éMó¦�u†şCźtd•©UźŁ&ęKŽqäÄ:G_Ć}€¶�ůĹ=hőŞ Îů@›oooÉu`?ęýĐü|82™ó”ó‰b¸wť×źó‚ĂoăHµÁ¨jF¸˙îO _qdď^­Çýs‹ËćT„Đo77·Ü EĆ[”Ǭי#¸9u!äŹs;R—Ľ÷đ<s÷T@@@@Ŕé 7W‹pOĽt8E]çeŢ"ý\śÓ@Ł&kŕÂß´ ¬‘]2Ly.pŤË<y^Ď[öx1ňű{?¦˙íźüCşÓṇžc˘[;Ë YôŚO™ź®»Ý˘5‡ŢŘŰ »˙§?ˇŹ9Ń˙óü5Ťyގ_;wŁ€€—ĚłAdÁ!ż\+ç€[ö#ü6ćń¸çťCŰî¸ —%»ĺź\T_`[€-eĹw§.ělq élđő`›„eb[ÇöÖ6u;˝Úţ†cűüĽDúą(Ůň\X3ŔŮDńqdÎN|`łŇÄ.ĆŁ, PÁ—†pŰęéP¨kŘAÜ�AHě(öšśĘ)'»ü{ăśâńŮűp\11 ăPřŤ¦Űçëµ¶I8‰lsD¨őŤţ†’(ĄY䔹”‹ř®ůx„ŻGA"=)+ś‚ö—~`)=šJ7Ý =V[é%_ukżg&vś’:™;t-˝ctlš3EloU˘`ÄצJ*ĺZSK–¨(Ő3ʢ„ťmń»k›/Ľ#öŻ1%šmkŃ€ë'‚PĹÇCżĄÂżĘ„?CP0 -ÉÇŽ¸­żeűůQiČ1ĐŕL5Ĺ\±íÄlc+8ß,˘»AÔç:MIrEżŻt)Jz•Ť·UŠ*R Ţš°GĎ ń¤Lžűpf^Ó(ŁB™ĐQčPű§2ç6+)f»h„ëŤ9źDɵ“Pźt]WF1‡ęP_uG®ňmÇ oÁÂ28ŇMdZ‚¬2”#„ť yťč?§=;4­ít~_đ?•÷W>‹$ ú´˛öÁ5^*;îYs mîߌ×G:]KŽĄÝÄŞ0ÚPyQĺkÂŮaŤĄ cŐu)ő#D°XRG*1Ä„Łăľ§˘Ę†şCŘÁXîG˝01qđú!¬äĽÓpq^ŕ«ăxü LŠ] dßçHhşÉşL.y’iäÉÇF_d^ÓÔR*SÄźťK8$(ýŘSXŕOWĤ 3qű +˝)´şđDđŐć Ńd›ëaŁž¨–k&;X—9Ś•÷ÄoS×$a–�C<1×ŇíV’ź VŘ}±x°ßZµ ŰIh$ *@ś€ç1ž'ŰÔµˇ—0ť\'IîO{Oný}őđŐ{`P÷‰#˛áŻHŻ8NÔ™xoj 1˘ć%«Äc^¤ZŇyäö×Ý'Ëvuřz`črŐŽÓ6Îą}ÎdYĽyGFsňß.<ťKë§G}‹D5dŁc3dCŹ$ŚXŹŤ·¤Ä8¶×Hż…·ÝQG›xđ.og8!Ë=Ç\9Ú×á†ń' ŕM°X�6Ľ–ý>ś} ˛crŚŰ¤ź^żGžşđą.ÔtiUŕ,€Ee,ř?yňDĆŢřŤq8Ô-0w-2ßŇ& S^Ĺb¶ ymćľ=ß&ç–%*(ăňľ9/0cô˝Ź>˘ô‡żOŰž3YPŤ'ü‹#ŇŁçűôń'ÓńŃPć4°C�pç…p [3–Bžôá€GŘ>ř¤)OĎ»<Wžćs™3ďđ<o—2«ä±ÁÇüńüýŕŢSúŮŻ~Mó·\%7 `pCńĆq_»Uxž€ôóĹ_ĐăÇŹe|ę€ţśÝwRŢBő‹P¶ÄsΩ`Łě8ŹS$‡Ş0žsx†‡tďţ=Ůţýďźv¶wÄ.ç”w XłĹvŃ,IĹƇgÔ÷ÁÖ�E §� ňHOOź>•ĽśZwfí. CÉsNĄ ;Ž}Ű;Ű&k46áÓ1®GĂ đŢ‚ >Ή ¤p}În{%4nÇ8ĄA@=¶űfp„Íˇá ¶1ަB”t6´×±+ÎfS:âr?=> ŃlBC„Fd[Ą¤`—!ĂI@SŽŁ�»0?€ŁĹ,¶żRÔ¦"żFFµ$zô’´ŽÄSLtťµˇöč&u-*SˇjEş¶+®ďÄŞ˘Tq‡4ĚâI$vđ„¦ÔŐOh'UtçÚşµłI7ł>UM> D]›¨;tX±M á" ¶Eň;&ŁRE\Ň4)ů˝ĆőŐUôŚbúŰiFß–Ć qŻč{“6Ć9Ť†#ęô ę(¶ťń¶¸Ăv·üĺw ¤Š9n6ü-˘R¶¸ë*!ţ¤¤Ë”đš+¸OÍĘ&iź 2öÍ}î×óŚíx|}Y·CéńĚ:ŽßńÜoăjÎ×ĚíLü®–OaĂ}ŮúCh1T^ ‰EÔ†”#ŇxvzŁĚu„Řëş±…Ö!áČűíŁ-ĺWoS'zŹ·s%”GúqJ?TŞć·á:-‚”#ˇţA”+@ĚY<żëŃĘI Ů5—8˛^ézż2:RM¸´¶Ç@Eu˙•|…$eě±čSîî2+k;ŐBú|Ú-K6hoűQ'ý–Ţ„•ś€€€�Ëb÷UN¤ĐÍb?&˝mňŹóŢÁÇ…ë©$DR!3™Ŕ sÜMÚU­ęSŮŞ´1cIÔb)äG=â&•±% ȤŐÉRFę‚äźWG4qp*3®Ž!BE±˝¬ĂP9«1‚¨şN]0ařk¤× w,</|™d׎0Ä:/!’ä¬áŽ<¶Ř•¦}ypÄi xĘX…gÜÖKŇşűAŮt˘dŤ«H0Ż N+•x ±ű*á6FˇŞ!5h$•ŤÄ­yö{!ZHďČ; »µ±(Ýśű,$¬4}Ă&-`LöÓźţTÂ`ŕ›oľˇożýVcŹŽŽD-‹PmüÝď~G·oß–c\Z0ĎÜŕŐđöŐceč÷vŻÉ‚8˛±č Bć:Xě˙ÎwľCź}öýń˙1ýíßţ-˝˙ţűôŕÁYčĆ;ÉP±řŹEvŚăAÂűi]čiŚ×ń~B:·pŤŃy'´Ë‹ÍO'ĎdúŁ×é{;[Ô)Mľ9Ď›óí}™»dđۇŹhÚéŇW÷îÓG}D9/Ć?yünnoŃí[7iĐIé‹űi4™% >ďG·nbÁ—|îQ‘Óő¸K?úţ§ôŰoJ¨šß}ý }Ę ˙?˝ľ-‹o Ď·Żoôé÷?|ź~óóźKÂL"ŕ]… OŹ1ć×_-὜ę€ű¤ÜŰľŤj™˝äŞI>Ë€gśaĂÁs ϧT„g~Łě° Í­š ‹‰bžc 0‰Sßć¦äYŽ©Ä8alŤ<ś­Ď!ťâ6~$¶'8ňYű«Sp:<\áŇ)O‹(đtk˘Ćúx>ă|NQČW]Ў¶äŰdĎ�CľŚŤňňÖ6m\ߣČNPržÎiřdź ~–&Q"Ďç ¶Ń Ś(SĚiŽć:śŚě5ÎĹV)e§Ö÷± 5ä;z-LE”µ'ęvýtÚßŘ`yżZ´O6ήÔY†‡÷ 6ď\¶ç\O%¬Gm¶ךŇőALŢLčýşŮÉhzXń§¤éĶƺ[TZŠÖżŽŮVžrĂ$‹>—°Ť<Őt”Wô%ŰĎ?/ ¬Ó´io‘:™•ÓĺŠfűlGăôť î“D"ürăzĆ;ŠďG>Fńń”“¨ •PŽŃÖ zl•H(°"/…ř3š%4áżhĎgż«3îkł‰đtĐV/JcÓŹň•sţ Báý\ŐµĺÚR;É'ĄľŹÖMł•T‡Ö”ŤŃ+‹śÝPž!í0_mŢOý[·š»M;‡=»Ňž‚Ź˝�_ńdž®Sľv!Î é§Şšg ÍµUn% ţp€–5ŹČ’ŽČ'Ĺ-’–\Ř0ĄíZO}˝–déś#…í0 HĘ"!Ő !cE ž]JůŻqNxý?JŃšp_FuĆ(Č4GNÁDÎ…üÁ„“€©„ýš‰—Š[¬Ç>nM¶ yA%Ţ{ÎŰŻ?č×J)đ΋Ľ&e:#3ç±±gkĺ‘čŤ$˙ř@}:c�ŕH:0ŔČyí8tçCę Žďmë¦/ÝW’Éw×Ę*h´ >0 /'uü®Á}Ä㋨®÷Şe pá®őc ¨ŹłŞV®} Ž§6^¸3Xůž}î“S\ßNÇ…ıÎP¶ŞŽ/R÷/ÁĆđB÷Ďť;w„ěóŁýľ÷˝ďŃ_üĹ_Đ?ţÇ˙X(Ţ{ď=úó?˙sú“?ůú×˙ú_Ó?ý§˙T]±`ű˙ă\ ţ8čđp x«qÚ¸!XČÇâ˝Sň�AGćô6Ś7T+đÁÔ©~¸°> ąđaKaŽ…ßç#-ŽwóĽs@h<á]!IVŇ2^4EŘ_±EXő¨.ڇüŽ»{W­_Ü»GżţĹĎigď=şŹŽGúę‹/¨úđ.}ňáűTđu,ďÄ!Ű0~Çű">Ż“Ň·_}Ť †W˝w‡ľřň sš[|ÝÓâëŤR–Ą ęHámđ®¤“ŻľúJľZ0îoŚCq¨©N!˙¸ýľůeá?( Ę ŕůu¶Ď´Ň’u°�ďH<_őŤ¨ý4á¶:r-xFÂ&„g ž ţŕ ˛ÓČŞ�ṇ|ńEa>˙üsyFş^Îî ŕ;ŽEÝ!oGÂw((ń¸˙¶”ö<<ŁńqŞÇ(3ĘôR>¶%ćYNç… UŃ;wß§ťë{ň{txL÷F3:šĚj».ÚÚ…N”yM�-Rl—â¤hÔ ¨ęM;g0·˝!ć4íľŘVáĽómŮÚsH; P¸GťôvvĺúF%۵ç$(iťť>ż›nŇ{7oŇ_ű1ź}ˇ<ć6žłí»2¶`đa$d}lŢ‹˝ŚíÂżŻČŘÇ“)Ňai^ç÷»c®ăQY‡ŽšÍfMŃ&×oĘuŻ’™”CTőńn«:ÜĄ(!L”ąŢĆQÔ|¬ý¤´é„ŽńŽĺţů¨Ęé~ÂďčĘ´Ą¨äńßŮܨęůŞ ÷cŰW—Ôň‚Ş—´.$q �„ôNĺG¸8–˝b•m„řY'eŰ^FńgŤGł=çz˘Ďů]śŇŹă9 ×UÝŹ›ßşţHć¬î÷±ÍVux›)H`>/[+sŢ…+Đ'˘4»2•"í9ô¨ĹĹ KË’_8Q”I¸ş)·á”ŰDÇ€€€€7řŕÁ’Ć—ÂŚŮ]§ş!QK¶q䓼´yüĐ?˘Ôđ9<ńŔ¤Çśç‰Sµé§VĺPf<ë”:|ݧřó¦~"+¬ę @%dW®Ž\ý»XáŽxĺĐ6´Ť%ÚćéH[®Ť\ľŽDń"ĂSť ë&]jĹws\ŰóGiZ“~ š ŚšÔOb<v$¦1éZm €úT"0x˝”ŇV¦˝Lř(„HqÜxFśđÝX[ý–ó„śÜ7ŐˇűâOM\SQMtŘNeiť0 ŕ]°` Ĺ<'żüňK1 ĂX â0Ś˙X¸Ç‹˘|đ,V,žłŔ„ňöx1 ĺPę™G9­ňĄ±Ř‹gĽkđ ŮóCM Xěţä“O$±đŤ´X@‡Ťŕ`˙€nó68ĎÓgŹĺÜ}‚HTŕÝ?/l(çO¬#:flŢ˝#ďş!çw}w‡Ţ»uSb Żźýö3úý?ř}şŢIh“ĎUĺ]ă…ÚŻ<”2Ţ˝}[ňSi‡ľóáDzŕşŃďŃóĂ}Úĺëţ »ĽXýŢ{wę%ç|†CCpQJ´[O , €w�ζ䇒rÎ~n[í܇>8˙Y‡6çHŐ&hřcP_ă*óbĚ ŕąßx~áŻS%«ě¬Â3žwB~xôPČ€;Ű۲ĎG8@âY†ďPę€Ma­ś2Đxl?P3vPő<Ëö÷ůąÉϨ§ă,´ĎçČď@ ZHă+E‘Ë>Iŕ5rŕyŠŹ ›čęeĆ6Ś˙{\n„Ź˘U"jń•„Eă9Ä?ÇŻ_żA×ř#á×ŁŚ¦Ű‡|’\ÎqÖ™J¨gFżGP)5•y)×(ę%\^ĺl˝°ď Řđ_5=ˇž“xŤ˘Äă‘…Ľp\†ĎÉyťmΑY`·3}­ZЇÖN ß˙«[†DÝ®ź†4ŃáöĽą»EŰ×wĺúźOç4ž—BÁůw7búäFJß˙ ĄŹďhşµ3§^ζĂń”ö6ů9ć÷X1—•ÂýK•”±I¶“đ‰ÓŽâ>•U,}é^>Ą§łśŽ¸>“˛˘ ×'ú\>­l¨5EeĘďç.ßCŰE»\÷=ľ„ŚëJ”„ öĄü7â.®şrCđ˙ĆÎV!Ü›{Éuµź#®żăIIOřüů (˙€H4ăzĘËśŰÖÜ+Ĺźדs{–u WöŻ#ěEŮmJ7mŞ­\ű“aBUľ|Ť×­ţŞüß.>ÁˇĺˇľÎ}ÚG/ß^+©%.‡ňŁDľÇ¶OÚqŮř "Ő|µ¶jTq «%P ŃGÁ ¦¦>J!ćÁ™Ďł#ţ€ĐWË5…±M@@ŔkŚ@ü °0(ňż>˛Ź›°›żf@iˇÎGŐ ô=(Ĺ,™áOŠ îšđAţ“9‹) ”Cd.ㆨŮů­Rűđ/”^;řóHČćz}Ň]ł±˛Ä!OY2&IΫ°ţČA{'Ϋă§űpńÇý0d/ţ„e–“ę>ł4©ÉÓŐÄCÜt±; F‰4ɤďuŮ@ąÉ–jÎÂцś˛N—ş\w}nˤѶú„횉ß[0Ár˝ëúúĺśë˛ÚÎ; Ç8ÂŚ^XlhßŢe¸E<#ń‹_Ôżá Śq€îßżOwďŢĄ‡Ęo,´ţú׿®=–±€ŕ/Ü,_Ľ{xöô<ßÁ© ‹ă,@âÁŘŢzśš)±ř"ŢGxÇüö·ż•ą­S±ŔÇ)z&<Ă» × ŐNGĽxXŘôx Íy‘ôËÇéwĽPţéők”ĺĽË ÝĽÁ‹ç‡Ľ„UŃďŢŐŽGOžĐFŻCýď}B\¦Ś'T^¤ÄÂsş˝Á™mKyˇ^$jpVâkšĎć</ܲ|pÝžžňut*NŁY<Ëyő/ć˙üŢ74K"™joFęÖç´·0y–™n@Ŕ›�gëŔś¤>ĚŰ}ŕ>wŰÜłŔAćű–ȲŕüÓĘŰ˙}ŐcPQîůúëú;ňÇł ÷ĽS2ĂwÜ·ŁŃXţâ÷Śź éŕůÔëw…‰îÝżgŐvž‰Ú :ÇCCöbŇC9ŁŰëRU4ťŤéÉÓRöt<<äz€ýc&aľ´¨« 髯x °-ÇÁ-I �˘$­QďńçđČ,Îăů‹ç,ľ;{ ~¬‰ó`!?Ąâ uŮěŹŇ„Ň­-ęěíQďĆ ę_Űăçű6ő;FÝZu+z˙ú{ÔźÇô0(y_ër™3Łâ¦§üüĎ)źćTĺĄT‚VĄÝe°›t’ç6 Ré^N~śý“ ™Á<S•g4NŚťn_lrpęC ´ÚDŻd§4ă]­{^/©“łötQ$Ä”IÜďfüî٢›7·éů~EÉq.ęG(WŻßŁOnÇôŹ~ó;iĆďµűÔŤžsŇ#zç)őÇč=ŞŠŚ2>¦ŹĘ‰{ŹiŞzômܧgŞK5ˇŻ¸ýđ;čP—ëvąÎćl‹řöÚHÔß�ágLĹ ®{>§ľŮ!Ýç{,-ąĚx×es![u˘\®ďĎ2®ř˝7%5MůwźŻ75b;:¦I4 #NČWő\ô¨Ół8§NQÁŤU(Er[Oś?by`eC‰}!Ĺ”„Ár*>®Ţµ®9U úíJZw,ăÔnŮG5 ÷v Y pÇë–ňS ˘uÝ_­Ţç+îxäĺöUş őeI?ʆSŢ  Q�:ő1–”¦­óuä.JiGÜ? ś5¨ĘĘŽElF‘ý[_ rÖůu϶Ř?/ž>|$ĎQsI«1‡‡L@@Ŕk‰@ü x§a&ÍřfYőő€M-(=šńr$JŹJĄžwICü©{â…A :ÉŠÎ8@lĆÚ&oeYîŞĚŻ&ýĽiđUwä·źůîOĘ×CÚXGüi§óż·Ëň®ˇ60sµŔř  ú]ěy0aR¶} ”‹…Ó,Í„–ZϢ ’°gŞ<{lxŻHÔÂ’eŞUůĽ-Ď„€€€€óŔ7zâ/ ˙çĺČ<P÷qpę>PbX•W@@@@Ŕ» ,Đăݲ‹ż j>\x�¤|˙ŻSŇ�\HGöqŔ9ęwŽóH˛»ńk†őZË]ž…}öí7ô?~ůsşýţ6á¨d§´76›2# ŘÇ{»ňőzw{a;Ŕk–ôť[×›íÝ´ő]Ó`×WÎé›{.ů÷h6ŁżüĹßŃß}ő%Í#Ő,޵˝ŞZŽúaşđ6Á9é€ěçTŞ}•i_ŮpJżŽ!á‚<ŰŐÂB>ŃÉĐ5WD�ÂyÝŘ)ű€Ô‚ ŕK8Č<�~;Ą3kP~lđlńÇ)ˇMůży>ő�D \ż¨M'B B=áäő¤•îĄLS^t,ä Íí-97ę�çˇĆ¤7ęDS._ĘË^‹„…ŹĄL8ź9OAUVť±­Ý7ávě÷©ĂďŚŰ8éŔ!.‘Ç Ęš¨„nî^§~ɆăÜä}űú-ą>ĘiNĹśĎ[”â§ÇŠÎť.u@ü͇Ż?‡óHOĄGŇPĘňÜ3U-<?ŤP´>ôAĚ{67¶hkcGH?¨3GHEŰ"Ô‡˛ ńL;B„!—5ĽŚ–"ŚGŘX —€Ü2źP5=¦r|HĹdČ×PŔ(ĺô5Ý˝ˇéŁŰőűJ*¨EÔ床ˌ•˘§ăM•qxCŹëTPűáO¬é+úެ Ż9ýdRĐĂi)aľ&\đŁŮśŽ&•ôťłÍLˇŹňý·Ăůěń˝¸«¨Ú¨¸nążT& ČB©8Öň˝Ű“žN*O ń,‘ÜŞAYUŁ’ÓĎ(¦‰ŽąW§4ćô ŕ—9÷qđ}řŢÖčç®ÝŞ:Ô•„»ň°Ú«Y©ňĘnÁ őĄ…”» žC–Hc WTŐÝ‚ş…Űč“Ü樓®eŰčtB‹˙šo˙®?Š–)˙yL·IÖś°vč­LÝ<›ă”zůJő¨ĎňäóŇ©+ąr¸ő yŕíśdůVäűurđŚž=|HĎřţĹź"ooÍBM@@@Ŕk‡@ü xçaIômŤl5ŤÇcÝ…“¤™t·é<ń§5nŐ-›×ąTKÔĘÓĽus߸‹ÉůŽiă"ń®ýEĂ�#é܉Ť—ÚŞö€AŁßëŐĘ=ç!·˝‹pIJÓúX$¤źĺiś!±Îłe�z”‘Î Ń…IÄB„óZľč"I­ iĆo?đ.q‹ß>ůç2X·x_‡©öÂŘp#favxtČ‹–ş<áEě˙řżţ–&ĽHüĎ~úSúpo—ş/ńuČ‹Ç˙Żżřú˙ýů_Óˇ¨¨…5żđ¶ x×`BžwäÇ(§BYXße*’ËBĚź¦ösUcQŚŹQŃ‘’„bóÇXÚˇÚc”FRڱq őH‡ëtŰđ ;î;ŽCţŽ•X''üń§(%üqůáŁă#q2ΑĄ@’pVĘä#!y,F”Ôäu‘ů€SvÇGś—i*QęG)ímmŃv§_« !Ś#HG V9Ň—¨şń5GŠm9ťT:Peń§šĎ„,"×ĺ’v+×áßjňŐJqPDşuű6ýđ‡?¤÷ď~@;[×ř\©´ ?P’se;ć:ŞR]ß'úĄü»ho^ÓĺĐ'VůÉăXÚ{źëçhЧśŻ ĺăj°aďą/úÉ%Y‡vú••6R˘t˛E‡q*őÔ+sţDÔMŚR¶.4=ßNŽ Iî`6ˇ9×{^Ňţ‡ŁÂÎtfÎCk—¶®Ą”ńůJľ H_•QĚÎtBqÎ6~~ġ®Çd „ĺȵ–UJř/ŢdfîCW—a Ą¬ůLÔš.ÝTĽŤXĄ[ÄšĆÖęĘg8=‹ă ĺ‡3Xh×E¦ŽöúĐI&ŹUĺYµâ - Çąę«}ۻ˯1 ÷-ęľhH@˘šĹ÷Q„ö0žÚ2~r j ĎHÝšĎ×\k/J�îOńa<Ň·_|A_ýîw´ĎĎóĚ*Ă & ŕŤ@ ţĽ=Pő?gKęTdČŕµó¨iŇxŽuőśĘŤźUóĺDδdK}ěů‹»ęVý<ĺŘ‹ťô*ř~}.ßqĘq­ íéËę Öś@ëŐĄ.vÝg®c;kyX´Ě;gČĂĄNIßLßĚż«SŞVÇmí],nSâł´|’¬˝–ЦÚi×îAĐW–Ó vćIsöóž$ű¨łÉć^�Kó}) °ľZŚ´X€áď¶çôyaŚ©/čđJ±j»Y<Ă»ä·0~nž…“Y#˙·?rnOńĂ}/-ńg:ťyV śóúćđţÓź˙%ýâ7żĄď]ۡí—ř:˙ăç_ĐáńŞŁ…k x—`îŃiÂĎ'8•™6pßÄPUŐ‰í«®b QDM1ź"FäKđ‘đEşMţX´VeEÇůńĘ{Ţ|đüĂ ô“ÉXÔ`˛Ô(‹‘n}ęđçzÎV‘©jťÇü¨‰FĘ”OyW[FPęđ b‹®,–§\yA–éu{´ą±ÉűBxMf4O(SFéşŰďÓ`{›: ôô»B’ˇgJ±˘ç…‚s’R§Bg%*BPĚôÔÉRŞ@*ŇąĆýEĎ…ô`H&Ęľ{Ä+GĘ…hJ%ěY§Ű•pĆ }ôńÇôŁýîŢ}ź¶67ĺđëôz4ć~xÄßS(-h$y‚]Q5őM-®‰ż]ÓJŰRQć4p[=ĺ§cÎrVěP•ĎiĘí|8čۇDwö6©ł˝AÝmę' Ý„ćWSMůvŹâg…(%PÍJJ2.k9§ÉĘý4„˘W($Í šĚ ¨T˙ťs†1ő:ő9óűO«Z®Ą• qUĉXLj?ü^žóĽ1ăţ¦řžĐ üp+PÚÓň=×%Í Ä5WJWĂ;/˘‚ďÍe R76C-rA­ŹG®zşňöÔË 5#E>Zű㏤TcÖ^6ôۉ0^Ş9omç­čŚ&gĎ0ěwŽVä0ů­ŰŐ¤µˇżĚĄůyŞ%¶V[3Bň©D *>°#7ę?hKsR¨4)Č7!-Ô¤đˇćY ť’“”y™gŇČó·Šě}`ÂľMŽöéŃ_ŃŁĎż˘éţ:să5~j•ťžN‘:Iüöžy—A ţĽE8ŻeÉ k˛„ă.´ţúă5µěK‹Ń>ĹÂ×7ŘřµdZ|îăŻ$3u5Ů4™ĽĘFYF»Ř)ď_}Ję3í>µzZLťs[Á—Ý`‹Ć†Ö®ÓJńá¦äW™ăéůésŃ~NžáĄĂ›żĽ řŢŽÎ+v™'őr¦`‡ x»áÂdř în_öëËueÁ‡PÖ-đ—í™Ý’<ťÎčů‡ôËÇŹy±ôĺ ĆE ‹v„°9ďpě€�Ŕ)Ű@ůÄő´UfüďŘ‚z;Ä×yČęZ(†9‹čĽpő}^‡bXˇÉTDŁBÓĽ¬¬’¦!®V6zžcŃ‚á¦á$x„„…sjJ“6Q•eş‡$ĽOk<oŤEČ)Ű´•GśĄňŐ:”s�PRNç« b“SUŽE5“eĚ"䀦~mđm;;;týÚuJű4™LéXŹh+ÓVo‹önÜ kĽż‹`QL›[}QO§t¨sšvřşzJ:]ęÎ{G)×yÁĎöŠR•Ň ; Aż'$*Ş#©MČ’°"„€W %*R ”N4oëô6čÖ­[ôńÇÓďýޏ飏>˘ëׯÓćć€ŇNDeÁ} $!÷ˬ#ÍN¨Ô!D bŐ!™L݋֜nHő÷R5ďA×.kń*c“Ű0-řĄ0¤b43”ôřJÎ˙iŐˇżî˛-J®ďĐ×× Q*Äźśz©¦ťtĘ^rÝ)© ”‘9(‹¨(QNŹňŤŹhĘőSő6©Š3)XóďDŮśŠhÎcŠŃ§g©!mtůú“ž”żŠ Ę3Ę;%e]EÉ4Ąh”sőç4ÖS– śq Aħŕ:â~?U%ďÓü)„ő˘4Fž|ĺ ŤXňŢÁšŰHăţ7ä F^íiÉ* ;RW}SęZ9]ëÖĂJ•ÇăiR]ßU-«ŞŇÍ ©ęfkHBőŽ´Ýî˙ŐÍĄi?źŔŁ-ÉőF~ä3Qč1a¸* «ĺ¨ąĐ_şć$)÷t1u!„ˇ’T©…čcž$ä*č@ňâOś5«HČ?•ďg5Ď#¨hU¸'$ü`dĘa UQe*˝â4ÓÇôü‹Żéđ‹űíOřľĺňTšü…M—¶źŹń; ŕ2Äź€€€�@µ¸aŃ: ŕeá´y]xśÎřď/ŕ/<u±°Ňö¨> š|`~Ô—R x}Q/Ľëhá÷•ź‡NzuŻ=×^;%Ô‰xqŞgőJ?őĽ§ ~?bÁ ˇNä…ř x›Ń&ç¸q¦Żnł íű®M|)cMí3•|x%śbţ@ÁfĹTń}=ź˘úŁÝJżöČ‘ąlęüÖ=«śňF-FBŤ$ćAJ”!ě"TeÇŢ&s§ĽŮ„7o‘%±p;Ň€[źwę •%™=ŃâŃ´Ę(­.ÄÂMőz}˘8ĄÉxźĘYAůvA1źtĐĐĆć%ťTŇwş<ďÇ4Ěg4SšŞ,ˇ·ĄBü™S–V\ŻÍ«9ułő»=ţô©Śšuf”&™{J]Ôs—„¦D ! WB9(ĐŢő[ôŃÇߥOđCúáBwîÜ‘y8**:qŠ >VŮĽ˛JN†»ˇ„DdjŐô CX©lŰ5äĘ,u_j)3ţ;ĺî4ĺM‰(ĄTść(šĐg_đµm h÷ÎúI‡şý mÓďť™2:\ľ~Ěů@‰'*„”QT)Ü/ äΗ0‹4 Ë9ÍJ,lšPO—4P©vVLi<.čđŮ„’®˘Ţ`@qżÇ©ůÓéEŘŚÓ÷¸Ľ=>q†kăkĹąUEsBŰâÔ~Dńůóąˇö3CŰĚu,„šâöŇi‰Ž+D:í«üśPłŃ­5dµÂR©Z¬ÚŤ4Źnh?~vD¸…L,ŃŻ&®śúŚičH5#§y ÔDž…űľ˛÷©(čhC‚Ş“rŰJ»-jЧ—Ś[”˝2mC}•E%˝L|˛7–ż řDelHTčÇöžŻ@JĆwKLV–hTâŮŇ5m#ĘWP?›Ď$<ßłG÷éŕŃ#š>?˘x^R‡ÓǵǸ_Ůt!ÔĎ,ű|‘PĺÚ„} ¶†€€€Ë"Ô)ă]ŹÍý˘á“óÎŹő–µŕ!E§t8uĘy–}_u¤Z˛˝5ŃĄĹ[MťšçŮ÷ľÖxIĎ–€€€€wíĹ÷ÝÍ/cH«,‚1. ŕíĆš1ş‹Zń"ť3ă“jÍŕ™ßT.4Č™’.†¦P~ěď&®b\čHë/˘Řĺ…$“e~^OÓúPź‰bšUsďk?Ť¶áŰ˝q÷ŻJŐ|ŕ|N @h4|ϲ”’Ô(%ażO"tŠ=´µZx|µźŘ(ţŘňę% Ť˘’ą†óĘNGGGÔM;rm Ůŕüsúˇ‡ńű‘®ÓéPQôL=čR?=®klO%ĚW%ń»ÓÉhRäś_ak›Ô ćĆŢ úřăO$´×wżó]ş~}O¶›z.H—ą¨‚΄”+ęŔŻW7Ď©÷“Qa© )"äÂוu:żq i×!%óľ k×ęĎUůčŃĹťBB EÇ7hăcN¶ ˛Ĺśćł”ËÓ±}!Ŕ “‚&ĺDęŻŕ~(!×z=©#„Ýňçy8'ÚfVV l˙yNĹg÷h<‹éŹ>˘÷‹q>#ęv©ż˝M1çŮétIw*C¶@{ác;•´%é:o„s+©î\…‚Úť–ňE(ó<ŇŮM,9ĄŞj˛‡QŁŞé.­ô–Ęćúł;Eäçxň łĆ*ţ =#ǸQ'OŃަ}rźůažu ±F-Ş˛$;KüQ.Ľ—Ż&ĺߏ–Śçúáâř˘!ˇß˘ÎR-Şë7˘(Q†Ćű”(0ĹBÄsy!]e˙úAĘ�C/ň‡tďŢ=úú›očđđHžCćžD÷ÓUy#LúT ( ŕ2Äź€€€wgťXŻasëÉ–˘•x}b=}c}Ćg;î50É­©Óµié4ÚÉ«ÇŐŐîy*FŻ=V‘n?NzŐ%ÁÄ2Z•ď˛ó4+ů^ÖéÄ0ĐĚţk/°“°ń•ÝlUQml2żŐZ “Ë˝)Słýä÷€€€€€w m…¶Áď"y-[txűŃU„‡<?Nł¸wö Ć¬ˇĽg~ÓŮ…·Uď7?üűí/¶.üďČ€€ ăe“~€ Ř&łŁKá;t”¦ >ýv˘éZZ!â•QE) 1ăňMRÉšpŚPFD'bc-…! ”.Q•YPwDŹ4MlX®ŇŞý4ˇz±­!S•GTAŮÝ.Qra«Nü˝ 5%”­(rĘ d—˘iʸ¦Í' €”� ®)Ž#!ĚË9Ĺ\'0‹ĺłśĘ˘”kA)„Ă_ĄJKú1ˇŚ˛¬#őµł»Gwß˙€>úřcz˙éĆ­[Ô‡˛M’PÎĺ“réśfyNs&đ»2Ďűd+ţ”(_iIŞF-E¬zbĚ)4E6RUE‹zIŞţ¤YĚeâňuSšÎ+!5•9ÚŮ„ą*ąLóă =zđś~•}MŮlB[óM:ľŐ•~@ăLÂyP>éőDˇ¨ŇSQ‚©ôڦ\–AżC»> S\#×U\ ů¦ŕý#ţ<Ž ęsenŇŚ¶¦SÚy:&ęvhďfFqŻKC>§ę”qťÇýLú+L™ĐR3V¦üép?ç"MTESnW(üŚČ\SˇˇjtÄŤ4ť82×Ĺ)UiŹë]Y˛Vlë•–ĽUĂ"ÖFíĆ~Člwd+UŐdśZąJQ“–hőŔaQh±ÉÚŠ? żu«mułY{Ü1 «ćö;łýśđó¬OjľFQ“żO&j­m(›-”—J<3róÜgŠ,)‰­Ňy!őr–Fż©Ěs¤*‹Ú •o§vK!Éóm€gÜŃž|{źžÜHłŮ\dÄpżđ­Č_ůŻ*jRŘeŕČ[[[ôÉ'źˇíŕđş]ąż.@ü xUX28?‰hi†§ ßtB„>ă¶WŤWCţYť~řă’ů´SKěO}ď•R&KMšeF€UXô>QľËŞ'šÚWĄI-%'-#�ĽKpĆuxÍÎř~™Ĺ”ć¸úĺEAëŇţ ˛ëP/ÖŇ•8ýgĘĚÚNl¦ER€ňv-;ߋ֕lťYĘŐú仢9wTOߊ˘l”'xá*ŠÍBi§ R5�ÝLéÂ( ŕőB—ďĘ;#F ŕőb˘ ޶™ć´EGTđ=ÜW%Ç–ÇéoâŃĐúĎp`‹@Ôí±Ţ€ Á‹ćŤľlZE¬˙Cĺ§×ëHJ(l ‡ÇB¬I’úý®]ř/ŚŠ ™gŠ|@ň5Jř)‹¶ 7pßŰj†Cçź!ɲNJ,4ťNřZŽi:›Đ<ď×Ďd_ýĺ6j; ´ąą)uĽpťŘ7ŤiXäRúŮ4§2Gá ^”Jř2!Ĺ ýôą7%Ź÷Ţ»K÷{ôÁGÓöî.Ą$áö@[Đ“W%ĺ87ČĂh-wWzŚP`ś^Č= ţT†Č J#şą”§˛¤ĂĎ„$łĚÖ·˝ÓĄźüÁmęoěrŁ~KóŻF”¦TĚĚńň>¨šrúöËǤFnJôÉ}şyë:őt‡ŠůĚĐz}iűA7¦<źÓq™Ó°Śi;ęŃťYNŁ,ˇŮ|JGńśfçCÚŹ'ô«~AOř<˝îśnq>źć[´=ۡiń%ÓMî?‘öŰ{”t2šoćTe…ŮÁ˝ĚiŢ›S±Ąi:"Úßçţ_ĺ4Ż zN#nŁšÓ(ťQĘm%;”Rf&ňk@*ɨąéŽÔWýâT–ăH?ÖQRś'˦?*pÝš­&Čhi'!Ĺá=®]Ő*LĘćŰćňóPMÖ‘ćŠ}[­…oVD´ÄÖŞj]dý@uMüÁo§řtć˝5ćaM SČ> d7… äú”çśş8Ö1Š?ŰĄUN:*Ť˘”‚ŠĘzJó×ôóČ*ýTL)Gí’şŻźBú±÷·ĬŞ!Ý{DÇŹźÉÄÜE5(޸YřľO !!iGpş \Ż›7oŇ˙ńÓŢŢÝđ€&sâ{h.@ü x+ŕ{ôú‹——‘Ě~“C{µ•Ź.ĺű\9˘çTK˙:ĺ m7+ˇÖ챋ŠV†Ĺq éX¨j{ŁkGî©CuGŚ€€×Ý$˘;őŞ>u»1 RCüé'šz="µéD Ďx1ťĹźÎ+O4ąŇNaU/j2a�´5;Ěó|Q&śH c·Ý(č”Uiź1ć/ĆíYµ»»+żçó™@$WÉ#ď©iČn!ٸ×W⩪ł‘¶ôB˘%Y"Ä\ŘŻçĎź‹’Ď/Řw»]q@Ŕ>|\¨-üĹ>({ĺźH® Çř3›ĚěµÎ… ‘Ä/Ôăt©‡Ň4ŁN·O›ŰtăćMzďî˘ôsóÖ-ęrž¸(©Ę(ô3™MąÍ&ü™Jˇą(-UµşŹŞDQG[Qe9=ĘQ©&IŐi«ĺZ'ťNL7n h{wî?ěŇţALĂ1·Ă47¤‹Ęä9źV”φT໤ô|ҡ&›´‘p™ďS</Ą÷ş)ÝMuů°ŃhJĂ4/îŻ\oý$¦Â<Eś˘4±Š?#.h¦ˇMÓ‡ń&•´MÇăTH!ÇPč)iĺTö4ĺ[ŇinBµĺÜoŠ1ŤĘŤő„F\ŢŁ|Ę% J3¤ëÎi« ‚kF]Đ\ďÍbiĂJ—ÜfRh{UÉůµuPÔ'Tt¨&ĺ­OCP#aţ¨Xmü?ö”Ň*¨ŢQŹwńµ‹BMDu~'†&BÂQ¤ý-©ŽÎ§íË|*Ý—:M‹(¤íń†ďkĎas wȲó|âŹn…¬ĹßO!Đh’}mVńGIť4Š…Üď+műµ–~îHk¸'äLąYyÄ(y^sMłŁ! źíÓčŕ·DÇM<Ëů^Ę"ŃŚť˘Ů`0 ;wîĐíŰ·%ŰýŁ)U`b\řđNA&§<XDĚÖ)O~�C¸_o‚'‰Ä\NŇš!n¶GFzÖgŁ×@dňä@¤%ůĽH›Ą‰xČ¤Ç „ëÔŤwźH>BBrŐ"U=h×vRlóĐUíA Yo„9ŮV2LwńŽÁ@3:őňĎo2Á÷ä€'•“ĽŮGޤZťośl/iń÷’ďŻ 07Ką_`Rźö¸»DW‹÷§ąZôeÄ­žMgâ!„6…4˛iűŠćyÁ“ú\<‰ =«tný{8] o.ž2'‘ěWqT÷Çúlµ”63ąşÓq_ŮZ;9łł<ăQ~śaj䕹żU*±†mµ‚|ăŹŮâ®Ćs\» qíuK ő€>Id'}ŔźM‘Nľ´ é΀íwŕei_Pg4ý˙˘™źő8µâ9 ®ćůđ Mz`8–/Ľ^Pz=Iő,Ďq}ŽG˝ŘśŤ@/Ł­?ŕěm˝@, xóĐí¦tűÎ]»u• Ň6(§Ž*!CS6ŐdSEĂy%–x\ĐóŁ’fŁ\,X(/˝…tGnhŰëśjěT.T‘ D'¬ÓéĘsf4É‚ř{ď˝'iŽŹŹĹţÔDDţÄt’śďí0„äĄL( Ź„°®Śřŕ{?ëĐŤ7¨ĘKţT´żż/eĆţ[·nIčIPG(3ţŽÇcůëú‘6ćŮl"yČ5;‚ʉýř@í6?Řî@ÚŢŢ’ŔÝ»wëóáZťŞĘâĘ<O¤îĺ;¸„YłD¦ÂÚČńÝź/¸şÄǞĮWR­¦˛ô©Ď‰@îakw· ÇOŞ…PK•UµĂoÔÉ˝{÷E5 őÔăÖś<xBjš 1ęŁë»´ýÁJłDŇM*:âc'lgĆńI’šöD;˘ŚgĆýtć®-éŃĆƦÔ!ę÷řXŃl2d»~$D­N'˘rkHIŞĄ^Ł9÷íጎŹ&’ţđ0âµ>ˇŰáúÓ^Jׯ_§řF*mxmP6Ů$őd$m7)§”A‰'1Jxg¶u,}6úŞYkŁgdÉu–°B—,©&ŇŃb¤˝¶-sAŤK7!­×w}uvŁ}m/µŞQµ]Ů­yT–ôCşĺ˛XŢuáFQGP,řůâ–#ţp…ÉU9UÂ㨎”´íÓÖ.íůGÎĐq“ą´%úú¤žišŹçÜĆt0žŃdŠc!ôw@@ŔëŹ@ü x§€I�q_}ő=yü¸Ţ®˝E‘60śĂôÚµk<¸ßl Řo·NŻ!čhËVÇ׊‡¤ă#ʧ#™paâ·˝µ!D3HŹČhxZúŻ¬Ż H?i·'—AYć=&€—Ś#Ł ĽQ›Ś$®‘Â5 ś“LaÜĂ1)OH:©§öyŕÚ-ů˝ś”´˙Ĺ>š]`Ű×n�Ö1@­ÍjńwkÎŃ6fľNCnLşţ ¸_ÜĽyť6n&Ý ë‰q>Cěň>i®}ůůÓ§ôôÉ14 OmAň¦<É=>Ňńp(ŘO”u9âJź ńlłŃ­MN?ČdżŠR.WlĄ|•{ČMć+}ćf›HĚ<·šYůvĚśř¸221Îą»ĺŞO˛ą !EÍůS”0FZŘ7{—7›Mé`˙@Ść*U}_žh_žČĹiE˝~F»;;´{í.ííu¸_w×ÔŰ黚Bµ&Ëđj*—Mî˘Ĺ´çkÜ3ăŇÄź3«mäoŚb‹Ć°°fđ&ă]%ľÂO@@@Ŕ›E—{^+#±2÷e¨ç8zů› á‘°- Ď÷™=&Ô^ťu@@ŔkŚ~Şč­XČ3ý~J=„Üb›FB†č1fP–Et<ŻŘNĂ6=ľĎ Ť ~R±Ť6>ëęg˙ëśO€ę4uČ ]sŇJ"$Ł ´H>|µq€Äwµ¨>ăöµźeËČŠ&TŹj,Ľz™‹—˛Ŕ|^if||LiÖa;j*öÜy>ŁńxČö9¨úŚĺů8ťî Ç‘o`—ĹóŽP )a}`‹ó[‡óĂą3ţ ŰÎ#×›P@xŢ‚�G·­Ímşu뎄ůşyó˙Ţód:Ąç*M¤9—g2Óh|HGG´p@Ďź°ŤpÄig4›ç˘ţ;]^˘Śáz(ăÄ'Š)Zly°-;r š!Ä*×Ţşió|6g›Ţ>×OWľ ¤j!:Rb«Ö&6%ͧ|î9HG¨ćŚ26šŽ?#ÍÇv¸®flďîsít2zţ쎧ŤąÚgMË\Ô_".[\ÎIÜJľ.¶yJČ2ľcî Ď(Ąű÷ń㙨JMfé3ÝQAť)׹žĐć8Łë×»"qőě› =tĚ×1ĄŃQJyTRŢ+Ś Ű!¶ťضŢí÷©J7h3íSÄvV!Łä˘@¤¸ť°VájŘWşu_¨ş—©:ě—j|#‹JÂS‰W©H-‘„#Űg妭5·F€ř{ľýŇuy9„qS’˝\´QÄA{›ň‚´DÖiµ)YRŹ9PŮK±ĺ˛ÎšVÚúŚšĐcş±a˘Ż”6ô– Vfr–ĽbkđWä݉M™íńBT+L›—ް„&ÔOlîQçŁÚbăř 2„ÓĂ3¤4DAźřS«ą<ăĽG3qOç4śđ=2ĺ>âĎíŐSţť‹©Ü^?Ľ¶Äꀀ€wNéçg?űýüç?§{÷îŃłgĎdźHĂFńŇm‘^LŚW<M®_żA OĆz˝ľLä˛OFx R &d I@±ŢűĎźŃńł‡49>ĺĆ Ď´Ć“ 2q‘K™Üń§Óˇ¤Ó§8íČy7¶ĂĐ85Ú‘UrŢc‹Ľ[śŹJŁĘ!,x~J;­î1,.Ež× ĆAÜčd<!ŮęR|J)Ó—<yřú«oéŰĎďŃĂ_<] ţřţ 2N>ÉŻ¨Ó¶=„śG9˝ÖŠ?¸¤”'0=n»íí-şó˝[ôÝ?ů¶oÂÓ$łjOta ýa xôđ!}öŰßĐ7_MOź>•6ĽĆô¤yÎiž?߉Ü^·Ce~ČýĆxHÝŘéŇŹ>ľFďÝܡťťžäu…¤#} ł%qă1“˙Š'ÔşäÉqe ĽÄ“jĘ'¶Ż#xĚ“le<™ć%ÍŐgeâ–+îĎ#Ţ?šLEe aĘKe<ˇW·×•ľŔĐsxpHŁÔ¸¦śW.źeíŽîʶ>ŢxÚ|đÁ§ôĂVtăĆÚćëQj‘¬rQ8uλk-Ęń«Ó!‘ľhĆžae’Ď>?”�ž?xΠ€€€€7Íó]ňO@@@Ŕ�ĺý» /ÂËÜ)Ă)R+ßĘ’‚°€¦âDT üEű*¬€Ľq¨’®ĄÚĐ3ę¨9ĄĽjĂ›ĎÚÇ%H@)uůźTšó˝ľ—d4ŚŤRIÎi¦QÔ<˛ôIÍźÚ•Č*nř @FµĹ8(BQČŘmKqpta˛ľüňKÉÇ©ýś áU.<}śşŚźl´¸Í¨™ąOd‹^ű\‰áŽíklß›ç% ŹGôěÁC6‰ĺ´ł˝ÍöÔ.%‘’Íó#(Ä<§ăăCşsç=úÎwľ#D\llPéá =PŤD <wg7o ™ç Űő`«>>:2!ĹŘĆÜgŰ3 °§ˇlP°Ůăăß{ď}Îď:§É„ SZg;ţ‡&Ó‰8Ő GǢ(4âż°!î°ťúŕË8¦ńdFÓYN3Q oľŢČšďĽ4 'N姲!” §čîhŁă!}óĹ—l×;˘'ŹźĐó's*&}RĄ sšYT­ ů,˘ŁaÉv>M#îŰĂÓvÄśűTT\&ÇGňwkÓś÷`>¤ń| Áęl7ĚG\ĆMb¶I‚¤ÚŹéa–Đ_O*şŻKQ·šđµ<<Ęéäźęz÷KÚ{\ĐűěĐ÷ľ—ňufô«źĐŁc!şu: ÝĽZEĎźQ^M©»Ó–Đű@ћӂvoôĎŰâs©ĂŽ„^ëQ5c»„đ\eă)[;9˛ťźSǢš®ě‹Ě*-öX(j©ÔÖ/˛Đ|]Ú‚bťSŻ.Í=AĺN™ł„Ş©¦|:“vŠÍźH»A¦ŇmĂ|oĎ$´ÖIĐĎ67ę Ö_ŹóIUĂşi–„ü#—`É\ć¦1ĺV–¤J-!ČĚMŐ„áBĐvf BŃ|âkŕ+ç[ˇ­»gÔśT7Ä#±Ë"’‚8:€UZź˝Ő<S@\ăëĚ"î;XWQ†°‡ çŐ¤¬Ň„LÓîYĄ© ÷Çé‹iEÓŁ9ß9ŤGšŽ&šžO N šńłđë;ç ”"đÄ)Ś…^âO@@Ŕ; f'ă1ýŮźýý»÷ďdŇĺ â0b%ăď2ôú}™¤}÷»ßĄ»wß§Áć–xV`’Â<< jädy’1›Š˘ĐoókzôÍç4<x&äž˝˝kôńGŰBĽ0JÚâĽńŮŘľF˝Á¦ś“7(�%Ą™€T$ÇFâu>ĺ OĐp^QV) “_Śq<9�aŢxF]Č\‡0ä1).“» Ů.Od6úś.˝šI ţüâgż¤?ű˙ţOzúŮ>?ŐűtKe•âŹqXôr†DmĺHý4ŻŰ°ÚDťŽ0˝>ńĂ?ţuŢűżRşń‘mÇË-ĽˇÜżOżřůĎéŻţę/éłßţ–ž<y"y߼q't‰LĘóDűŃăÇBPô{Ügö)źËńÜŢ%úźňÄćéOťî€âÔŇń+‘ü-ćçşČ§Ć3çIň|$ŠC"ů[DÄs(:::‚?Yß4˘¬GÓ’ž±ŃeśĂ ˇ"jŹűßŢő=Úäň8×x8ůaňöůďţáqC¶ń85P«ęođ}›/Óßűáßă çóŁDňC¬ô«‚LPs#e}*ńçą»ę3Şö,;’.|ě"!ĎQ ÇĽwńîz™Rß~( 1°VMÁţ ßsßyÉË|\f®fÁKoj!ěÍâ;Ć9÷CáCÔępĚş^ôŢe8ÇŘ aŹqcFgOp}p.‚’ ě ŻY"OE»TPĚ‹ń‘ 5(Ęâ]Ń”oîJĐĺ”:lÄëGő٦5D­ĘÚ!ý>ŢřĎ\;`%Ö)qĹÖ(Ę”µă¦«3<sđÝWüű«¨ö,†¨rXö˝}|˝źü§d«L˘&Bâ`9ťÎč`˙9Ĺ\žÍ^ŹâNWlO9§‚Ú7În4ôąý{l—{*¶2´5lÁřŤn0`{lWě¶Z=ŰŇŘ ›SŤÇv„0‚ýőÖűôíî°ýóÇ6ś){÷çź.vµŞ*DUÄ©áhHÇ#¶ŰŤ'l±Ę†ú˛Ş>F˝ĄŞŐĘĄźV†đ)NşŞŐÜ+źäUĄ !D YČ5„,Ұ$¬(ŐÜ`ňyĹ×7ăÉŰ×ůäîľvŘާBT™ÇÜď"ş›u)C0¶ĂĎŘF ‡X*ŕś8•k-ąěç§ŠůZľZË<ˇ^Ńmś_Lh<’ëît“Ď»?Ő4ŹŘVʆ͟}qÄm6’ëÜŢák¸6e›;Ńăę€f“ufܶòMłęŃÓt‡F‡crÉ#â{m§ŮV_c¤r,±§ée†đsúÄdȆÂ#Ct4ż¨Ed6d)şPŰł¶H\ł4?¸óĘ ŻÎ)çz‰;|ź÷RŠú©85TÎApÉůzć¤ř9Gâ™ćş›OIMâî_†Ä&/Nˇ•”j:Xk“Řä~Â5–˘J„öŻ/S©úů ůÄ$d/q:m)ý¨¶‘ŞťĄĎą>E ˙”Mw҆,„z‹bţ-ŽSIk” ąń8 Čk‘U@26Ă�‚­ €–sűÍfxöđs®Ď÷čć5zVńáüĚŰJ¨ŕ{&}v@4ž.‘°' ŕ5D ţĽŔä “(Ł€€€ßnr ÂŹpˈüâMKxŠ *Â&ŚCŽ’GĎqú€6DVµŢ c Źéđŕ9ýöwźÓo?űéŮU9&Y#šOG”OŽ©Ď“‘®ŤŚrĆ>/¨÷xŇwçŁOiď˝Ĺ8�ĹCn1ĺŔDkjUR0śŽłTĘÖľ‹ß\Ř8ĆđüŐ‹ôŤOAĄI9©îŇÄĘĹ„őR†:Ěć<1{|Hż|Ló}ŚOěy[DźeżT|üą#5šENVŰnß‹€‘m~śvϧޔS› ŇŚ'\ĎîÓő›×h‹Ű™|ʍ �†Ă#cžňy Ý(ž€Íą–<םPÔÉ„†íĎ…sPí‰x"Çćšó„ŠŚ:ÉzÉu˘Ž|�ř›D"5[ȤŞfUcŢĆqţë1çyĚůĺÜ/ŮřR`r ÂĐŚzYEąÂduLĺÓoiĚőp</iĆŽŮó}žřň„“Ť]5ăÉ3—ň#*†s™¤°VÍ ŢWŃ­ťMĘP“đVšL% (ÚÂIŹ^ňŚď[bďpřŚ<ü†îĽ÷—ůC2Ú´ę ­Eu«ť¬gÇ„AÄ›Çóc>oä^N¨Ż­řłňPë‡I=ĽÓ V˙.LnŢp8Íť;wčÁ˛ c*!UółĎyč" ľűŰđޏyó&ËĎIđˇřż0ÎcÁĎÎápdT9_Ýq^ólĂB�Üv¦ŐŔś{. ă!ť¶rç Ńšň‘¤ D €€€€7>őfđnÁ»�ö Ŕ©`(ÚdűDi <Sž¦ĽđŐ_YPWf!]ń; I:×oKxšç—Ľů}ć.dO5NXÝŕ÷›BŘ8qŚŹĺ˝hމ,:^‚jŔ» GúÁóG?ú‘8bĽčĆâČ÷._ýµl¤ąČ)îhc uj:‹Ę8Î6UČŞ‘źŤä‡Ľ1.FZçxéĂ…ňjňR5Ĺ•ĂwľŞĎíř…“|ëtç|¬R8ÓÜ9Şí6âq=ŕQŚ˙qú$ɥͧł?ů9úČž`—{řđ1_űXŇcî€>áĆň=RĘ’ŠęĘ&Ý˝{WţHÝomm[І¤Ë˛®D-HH3sC±m[/ć#÷wGß|óµ7’$–üA@¨+Ľ?©Ę˙ ĄL6ŻZqŢKS“Ľtăéz ęĺ?¤k×oČöáđPÔdj•×îö‹Ń¦çkr˙ş©NB)Ű»ĺýŇĹFůĆőG "Ű7+CpA˛¶t¨ cĹö»ń|L©2i'Ű÷ضg]ŤyťĘ…”ő8™Ëś¬Ň=zös;3ß‹âŠ×ŘnžhiŹéxHšóK"CŔ*ş[´ß˝FGl ŻŞâ†4g$ůi­-Î0okő#Ţ”!ż 9MŰţ9Űw%aĘ|ś´†’‡ ĺUĚ ľ†!ŻcpY»őŐ€˛Í>żżMX-äP¸vv·em`|ŔëÇü|JŤô•ŘÓ˛^&ç„*;ś?q,”ŰwŻ]cűďŔp)U´ îăśvťş“!CF”&J:ň»Š ٰ<Y5ľvO,•WżRř'˛őÄůpĹßgs37îörÖóëHŐ¶^Ü{ťNŹË“~>1÷îë>ř€"năüţCšđ3éĆŤôŚďý§?ű=O) ŕuG ţĽpÄ Ö1á>3ě�“†ńtFGÇ#“BŤçr6 í^›Óµ=žÔđ@QGszĆů?Ľ˙€>˙ňKůÜÜʨ˓H¬ĚčđÉęň$Én–PŻcĂPř‰RžĽm]2ő,ÄfEş¤;1Hy�r ŕÜ„˙š%Źc1MŤr‹ąšŹ %/ăť X,ń˘(˛©/ćsMÇO‡ôěŢ>őf<ą(M'śżT´P‚­#ăé±öâ©LmÔ!„Ý„BŰé€KëŽ]lBufŁŁź6˛ę¤f‡!*­ĘEŠdw‚r“–,5ő©GšĐp˙ŞŰ7y"E—€1| ąfHYÎ’Ď\´†oĽI&řÜ®b’Ůr®y[Nť)FÔOM¨·J%62&M<IÂGĎ!<Ěź ·Á”'“<RĽ€©†T@Ć1µ5Ç\¨ÂźŞ´łś űOh2ťóäšű%:Jž`ÇlôÉ:Ű”!-ĽH4&cńĆ(ÁžăzëqylÜčsŮcî—ę€9?xh”Öđ€ĘŽ`ŽM{MfGôď­Ăă}ń�1ž4g%ţślŐZŠ–'‹XX…A’ËđđZ<VŃY?¦k^ôÎŇ5ńíB¸$ńçĄ8ôq|5ę`Ż ÎË×(5VôGôGBüqÉxÖ°1#ŚěX¨@ZxÜ>yňXĆWř Ă=žŹżűÝďÄ@˙!ş±†`<;aPýńŹ,ďśçHaÇůq>¤u†ýď˙űB®|ôč‘”énßľ-ď<„8ř裏$?¨é!=ňǸVĽIm~08/»VŔ©BĽŢPzýČ‹˝ř‡ ‹zPö‰?o_˙ŕ=*"ă qôü™,VQlŁtÄBÚäyŘÁŃ~üÄ‹śOhÄóĘśˇ6wxžČix~Y%(ŔVpÄóĎż·ű=ţö·âŃO±!TVÂÁ­]6KĽŢ§öÜ1ů'ű; ŕ-s Áý ŇŹ#ë9âě/><WľŔUŤéD͆m@%[ŠDi¤&sUŚśor.š±=r‚đî9‚‘8CÂ|S.rv>˝hőpd�ăXá•}�řcq÷$•Ú'ُź7!ľš3Ô$%E+É>Ž(„ĽŚBz±0h[w\Í,l±f!ÂäsšCýÚ–[±˝ ĎI¨ź ( ˙äůsĘA¬áçäłgűĽm.v^´żFxÂ}AąsŤNfÔ•ÝBśA%üYÁۢP/ס"qŢ„-Ű„¨Hލc  _á’EĆé1Ď€zK§Á"·ŠJąŘ]/ąn„LRńÇű’ŐvŘ“ $>ŹŢ¦Nrťúlďîw٢ة¤>Š öjcĎ3ͦ%t•ÂËk6á÷NĆőÔŁ4éPŞSNëH$źŇJ9˘JL­RĎ}ć<Oc{a[8ę%ë’f[{%(ćóľQ4e{bOÔúuţŚ:śk··I˝®¦^TńűŹ;v1ä2Îh:Ó”ë]ěéPÄŮçsó»u:ź°-”?ÂPÎöÔăŢŚfiĎؤu‡K;5d® ę:9ßWč<‰ůh«Šă:•ó€mxP&I˝ÝOcŢ—ÚĆĄÓVDHŤ¬­Ü¦«$ěŰśf÷ q7‘Pč×\×Ŭ |67yĹF> aĘĘYi”r¸O‹íÚŞ ş$á÷Ę™qúݶ÷bdď!7�°Eĺ'wĄ úđ8$Â:FI?„#t„%ŽŇô(U« iď·µ„Z ÔŤ„EU­$dž±±SjsÎ?źĺrx—ű_Ěč”°î!ýą°ĎDZ€ʇśF'ĺQJSN[Dő™ˇÓĄ;ďżOŃ>Ź•>ű˛yŢŮf x?mŘÉ_*“©TÔwŕý0fC¶Ás“.„Ă ©j÷š„IÚlȤäŚĆ⑇8Őíd’6ŽşBüiĽRÜé› (Żp«–J 쨹Ĺ'˛i!őęňX™ŔÄôb<ŠÖŮZ§s“{�^+Qמî¸ŢÄ^;ę|fĂJ!}‡'Á×aaăPçUY{Č�eŮH»6Äżc«ÔÍ!ńłů\d»ă}âţDŃŮ?ć8µÔkáŇĐ«Ť<„c2Wń¤ÚőăedĽ˛RžÄ¨¤/ű¶·úµ1AÚ Ş<–ÓÉsCnÓ€Ę3ÔßFęUńIĎž†ĹtŤ Ă]žpfsž=}&´ďĚďL›ueň%ˇżf0X€fÚ°?ؤ÷Ţ{φԋh<šâN—Ű(Ëh›Ż7É—.tľ(k¶„.ÚoĂI3ő-YűÝ{Q f|^\@ţ[ćĘ#ţ,+oX4xŕżżđ\1ŔŘ ¨łaqbggGĆzxw9ď\§¬}0Ô‹—4żK‘ď˛O?ý”~ůË_ Qç׿ţµĽŁ°ŘtřŔÓňýx?#c1.şňAĆzxü‚x Ć'( Ň#OĽs±eC™“äR¬â€€€€€7xíě슲Ďgź}ÖlÇBW˘čńśOŻmSşµAť.=úöőoíQśňűŞÜˇ›l·(?˙•GĽ`ÉóŻű[ÁóČ›»7¨włÇ •<?Ţ翼 ĚsËls›r‹úĽzýÍGĽx«eN&3ţr‘żNY)ă´S<uU‡î¨l`Ź0żxłŃVńçĚăAqĘă_|ń…·ĚżűÝďÖ6™ÓňQópÜ…ł*¦ $•­Â6B�VVĺgÄűĆÔˇˇžÓa1¦9Ű8Ůtt4«ř§/]ßë–âlDüádˆvwŠG¦H»¤ ˙EµýNěV©¶Ť-¶V”ĹŘ Ë†\@äÜW®˝»kČcgäq´Řű`'R%Ď(ĺČĚő4Άî9WÚň̹̰eâůŠIŕ˝sLčŮţsĘç…„Ó6IŚëŃŢ˙}úŢ÷ľG}ü1˝÷} ď%!EE-®I=p<C(¨Äwŕüél¨˘\oÉZu9«´âN !••Q:‰yž!¦,„ňqHžĂŰ©©ÇFę2i$ÄY%Ş0ňńč>>­“ĽúŹ úúw#š—4ďRmĐ΀óćůÓç0“bÄR©Ě|*‚ÚÍ)Fč¦íÁö÷¨G©îR§ęâTM·ęi$mTsąŽ(šPŞŘ¶8? T”ĐAňئ͍ë¤Óňőćů”r>hŚzK`+źR'}H›ÜÝoÝJhvŃt@ý”¶w2ÚjúŞ;Ąb8•:*Š„&GS!Ң ˇHž‚ &N·<‰Fe¦`÷‹@TB?€˝™ŰROÄŢ©«®©Xé@Ć™PąÎ”WćŁě}!ĘńĘD”UĚ1!í †EwBCĹ•„űŠbs·)sÓZ˘‘!Ń)K¤+ŃGS éâĎ|Čeg;mĄx}ctLť^FŮ –şźäÂ"îĹ=äNŸşpý u\Šó§őŢ5ŐĽŰń;˛&f!äicC%D.čs˝¤ćZŐŚŹăqzR٧nj ňĆÚ*٦n•É×ZZÔîáÔ,Ćd(Ékµ'!ŠńśŹź(62B"éů)'¨Ĺ8Ňž L§î?ăöéożř–ž©wăí޸Cť˝;”–Y¸>•¨đ*?ď–ÉľşMn°DL®´•ŤŐâüŔČy.~lńÇM"SţČâŹV7·ĚbĐ cóѡLŔ Áąá{ŠIf'ˇŚśPa˘iŇŮlÎiµg31jEŤÇc• y*Xćf[ĎoaňëfRV_?™ ˘ňSą‰ˇ§z1´O´WcÖ«=rĽ˝^JÝB` \…ě¬C ĺ<¸Ź§fŐ"Sľ±™ Ů ]ł&]$ő3`c¤˛¤™„ó$˘ŰͨŰ3iç3‰[!ţ”ÎăßLćQźÝ.Ś ]ăůŮOź/ˇŚD&řy.!§H7až|âŹŇT=šjQK«i}%.Ű«kOĺjU5žüđĐ0ń޵őXkĎ$•‚üÓ‘ţÔçĹĘ´3‰tˇy‚§#ŰBŞľń±u€ŘËđ(ÁNŰIśóFqŽš<ʞŽÄچ‡(đHâ‰Ü”Ťű"%?µDą§ ĄŘ4f#Ŕ'člT:< >řľ÷Ýďđýď’©L‡©ăMęołńgľ4Są_@jĄ˘şă˝�R›GĚ«ŰĂ>7ČýńŇ@EÉÍV=wÎ ß`!gXó¬OĎתg™›Î»ŐJ᱆+äÎyéçE@@@Ŕ+„ż€uŔÍ1�ÁFÝV üŰoż­=Ťńl‡Ú”€Ę:ĚŞńú‰cw{° ;řŤĽ\x0Gˇ'Ăr.ۡ$2<Ąqľ86ďGNraÂPŽŃhHo?đÜáďçřâ`Qđx$ď‰tzŤ&ü®čń\)ř„T'ăwËm\żNŹÜçĹ?MŹ?˙ńűj‹ç†šçăĺ4Ł#ž‡mnô)źLyń–U§ž§MHńÂhŹç{pFŔ"pę-ö:ż|ůľ‚�đ.cDŚďpßbĽ â‡#»`|(N~ VęҶó•ęÉ9Eenćř°y‰˝ eó=|Ě–Ě!ŰÝŽ§šÇ%–3ň÷™©1;ŐGX2!uĚ÷HśŁT­ĐăśÔđ˝,K»ÍZşl¸°^m;Ś{Ľ4Jçäí×ő>gWtJ;.L˘)dóg]ŤëÖGĆßÜ®ýńHśBÝv3`/„ł¨8ľqÝ ™Ş2DŚď‚ŘAĚ™Mfâ`�2ť˝ĘŰĄŃ$Ăc%Š%YÚ©•>ë0hDµÍOęHę˛qT±aŽ0XUY_č˙ź˝?]–äH˛A5_c˝knX ¨*vłřu ‡2Ó#|†áĚSđŮřţŁ˙P†K“ĂĄ›ÝŐ]ÝU@H ·»Ć滍U3ʏ÷f&€�LŽ¸á«ą™ą‡é±ŁG…ź«"¬łÍ Ť—«\ÚâMB "KwŞü ŢăĎ/¨. 1J»qťŹÖTěuŮĺě4˝2—uĘ}.wŘeÄui ?B eĆü⌌/®Ş–ňřwÇżOüĚŘš1ß’˛¤˘Ů„ŹÍSMë4Ďéää€Ú(§¨*hecL,㔆˛±ě8a\y>ŠčĂGcşwz(ŠDy¦D3”/Íř÷m¤!–ë}Y)örWĘ`˙$jQ×P iˇäK[“)E-ľ9¦«…DKB”A}7DÜuŰqHÔĚ%eO«R>r:l‹”(ärj?Řő9Ú ď–XdDc¤‚Ă4×·dŕTeŞř4u ţ�K1$˝˘9kM–ˇĺţű‹M"Ý"c ęVPĘŮ™¤č)÷üú÷�ip$JÄ®G>ąnkŰPŃ Ý-µOű¤’Ü:ý1M"smŻ,$*ň<O4g0Šą|ť<«Ş…*•ŮëŽÁŞ%%#ş÷Ĺő˛˘óĹš.“^c·)ţáłäýkGIę=†ó'X°`o­âO°`Á~66Ě˝·ípČbaˇLŠ~_ NŮáB­˛néÉü„ť‘9Ź›cZ¬ PČyđ™°ĂÓüpJ§Néţ#Ő6ç´ąŞ„mŽ!â8Ťé K 1/Ź˘šŢ‹W"ŻZ†®żüŚŠřFůŚŽî Ń%‚ÄhÜHÎmź Kť/’ë52GĄ‘9ś[7·~0+÷G{+Ű(śžĚôŞÜĂľŞ^ć[u<|n]\ŁíwGyRŐ`…Abś3*>95t˙=$„uŇ’Ęw*ÉÉ0đő“kłÉ”ť’}őŐ]^^ń1‰ä’>9ÉĹA¶âT·"I˘ Te iżm´äBŽG”ćp:„ö#çMŘáÉĹ‘FMćR{ůŔş _oMź}ţ­—p¨¦D6ęë%rŁĐHÍf¬ŻăŢőé·ŰőşÓ:{ëÍN“=bî§ČŹĚ]Šť8?ĐI…Sż&¨š6pŞ Ŕ¤,IËőft"3™Q™śňşv`§ÜĹáćŃŢ„ꇍć’4pŽŮi¬ŘAŞŚśgSwBä©D!ŇÉđß hńşś6Ůr®ßÉŃ1WnĹeÂyşžźż —/T‚ŃE`|SyÂ`Ć4‘~‚ë—kÁě’lń”ć·ÍڍŽů9a§Ý Ú§c‡sLy:a�šź—‡4É'”DÉ6rfŻŻZsł®o]ăŃ*ăŽ1´“˘n°:´őNźŃ$QQ­íŐ‘öźĂ—Ů6˛Ĺ“ärz@ţŁ+e¤€“—ż•…ă"˝P×˝:„âAB{Čĺ‚üćd üĽ¤°ŻG8 ,X°·Óüä‚7j`ô(ď#‚AşAd.@A€ÝűŻó©'‰dBëAöšR:ŕű}ůĺ—˝ˇ¦0Ř*5ú¨oöĂ»ÜOä˘ çaűśőd\ĺńF~Bäe÷»Cn,X°`o±ÝíqKţ-řëżţë›Űř “Îg2öż~~N˙^ŚĆě o jř÷˘¬+ţ­ú#5P‘ŕß„őÓĎiÄëşË Ot]Ëď‰ÄŘŻ§TŻÔ•ě?óo¨UÎiĹ8HÖűF7=Úđ;,ŘíRĆtXv'·Ř×}޶i]żţó§dwĆ$«Ą’Jx‚ľaÜXOÉ ŇŠ˙ľN&BôY.‘˝ˇ«ŞŁeM.ň¶ňË˙ĺď’ďő)R™#cŰ4MvP/Űz j’ľĘŤµ5EĂŔ’Xż<fć}`ž ?Ä*üvOüÁcí>EÖ#9,Őp›ŰÇ×8Ćçţ„â ¸>°]Ź=úvQĚ&’¶EyGâÁ_|ö…(…ţéźţ)˝÷Ţű˘č†:A{ŚÇ‘�ťzŐrlë‰R RĹ‘*óqŠŰő!H>âîxîAW8ZŹW´v÷ÝŚČŢŠ˙Ř[€M¤–BÚâ(:Uâ˙ţ$ˢ^ŔҢÝ]íś1ŮCĆdgŚŁ‹˘đÜ$§cľđ§@ü9Ű´tµ)Ĺ/K,<ťçTn0Áő˙îé1Mśz|:9¤Ł‡©¦Tę+q}çĄü)JâŚ×iE‡ăDČVŹŢŁ9ăH?†@ŠřRUâá˙}đÁBüůěÉ ÚTŤ6N¸®ń›i ČŤ`(˙ŕyQÖ—�âÖ´˘` `jŃĄv—ÉĽC¬m'ę>(?ňéE’žJ s2G¶Ť·AQqGŞ/˘`˙NÉn¨żąťąT^Ř,Ş;HM—§JĆăăňcĆĚ'©śżEŮDZ{U+rľ§*\µű´|,ř%8Y;‚3žş~·sÇľ/FćN®Śń„Ŕ;ŞČî-»ç—tîď!ň»"«ř=“k.Żé›~žxsă‚vdŽAĂüĽ˘?=;[Đľ¸¤«E!Ę»‡<Źóřz)Ď)Ţ!Ü‘çĆ—)~‚ ö[ ţ ěge·„HÓş\Ĺ"«őM™TIc‰âčd€Čŕę>cůlőZ3†íIši>fvnNîťĐ‡čę«O¨•ĽÉµ8eÓ(ĄCŢ÷€Ý'ü~TT6­ę–ľ¸8§«üŚĘ_ÖRp˝¸iUn5Žúܶâ;u$ÔaUňśB—ň·éyî^=SÖ`p/ .CyáWŤ^_Aţń ß€0ˇŚ˙DV; 9šuÔxšŐ4ži®ó8a癜măś[ęĺk±Śł†Sr=Ż(ß,…Ř3›¦ĽT4ĘqpşŤą´<-eě茲ŞŞ)5;rŤ¦Ľgn% BRHÖ–}Ů[ÔͶ“đ9ůxČ„F…Ö_7îod;ŕjHTĎ@FîŰ Ĺa^^›ŢÝŢ~µ2Z§JÔµ/mHK ł’2ÚuÝËúІ4gČ]ťĹB»ćí_>_łÓe€+eŕzy±˘@/QÜůď„(śk ‰çvÁNb'ţiesŞýAš·9çg#›Îitp-+ŽÖt8ăö<#ZSÍNş€"\ß—Ő†?Í9>¤(;˘|O›¤’ĘŐsq°NÇ Đ¬ŘŃJ„ä„´y–‰ů™›0801íTh#Ň×Úwę•äÚˇŢě~Úý#‡Ţ©^[űlwăŚ_ŹřłÝďqÔ”ŇléĺŁuîJÍ% Mgző!XźBĐŁůÝ›ţVó­iÎď—–1€űÁ‚űńާx""ďC!Jň:€ńXđÎÄ6˙~Äß/3}†źxź*ŘH˝˛Ď]6<·ßW˘‚Ýß~’ČźĎŰţ÷} “°Á‚ öă˛Ăm†î$z řß,ú±±RµŐš/ŕ Ô…ţ®ČżD»ěLĄSeĹďb˝YăD2aŮ:…‚îú‚.>­0ăMiýňßž`Á~Î6Tç…Ď Upřňˉ˘5?C~ĆyCŚrHXŮI)ľOŕŘűţMmĹn˙ůб® 0!̱„5?öüz  o_Ĺ--ĘŽ.y(úś_×UC›Ć FŠ»ŮmüU+F—ĆÔť#Ž€řÓy &⑞ŢámŹU 5R$}xŹy¬ÖëŘţľŤüp±XĤ®fhń¤Ś7Ą H~Ż%üľK@l€Š‰ę«Üi[Í îęÜĹ€—@QmR%Ô`"M˙…ż‘¦‹ŕ¶HÄ÷š8âWµ ÎRU őz%ÄL(ňI¦W“O5ťp‚vŃŔFô¨{cÁ˝áĽ1i0WrÚ®S•čýŔÎý_”-qb{—[®“íëŘüďRßďČ’±ű5…~SŃŐâšŇüśŽŽh4ŞQÍ÷Ý$HM–06‹@ArÍá,ŁÓ ˙=N4í]‚gŚ)ŽĆtx8cĽšŹŤ—”Ś"zx˙2`_|­ëó’&)Z9§{÷ďSÎ �5-[Ć3Ć# có—ü¬ŮLH-P’ Q¨÷đ5Z?¬ ?—úäö¸^GT4 Mg‡”Í tJ5÷˝§ĎĎą–¦9cÎ9ź‡÷±5· ? eÁż«›JR€i)áł­©¸,Ö·˝^’ń/ž׿ĄŹ7^‘Éőp!‘„ÂI]e4xWs‰¨ÖŘÚPç[?äŔ´[í1ăľq¦ =+ćmńťUQćQJKŹ€Łăĺţ›Ď¸%Şd‘ŞŞ7PŇ1:OĄŚMň\H„9¸‡_RډÄźD5ľ•m¦k%pUîé˝j˝_ËďâĹ"čT&\<IŞŰé›ýźNŐ¨µZĎŞŽ¤ I¶FMą|hO ŚbŮ1(rjXÖžřV€P¶Ü°ď~-ýçÉó+úě?“ŤˇůÁ\ëŐ’*~Nž§@ßŢúŢw“‚ ěm°@ü ,ŘĎŢĽSÓGŔIâA©Ź¦že#łó%ĺ¤ëá´TkÝ„ąOßĐuŞZrtxHŹ=˘ĎŮŁńŃ9;‡tČHD?ŚÇ­.jqpŰen"ĺ’ xr‘ŰÍÖś±Ną”żŐűđĘÖ+e ž- YNoÄvą ·šWˇ! ÁúËË Ş?s‘OČ_Ł ¶Îčü“(Ó$ (SżävčÜ$ťË5ěîµňMíT $Ô¬ůţk‰îO2řçܩʺ6O°ń€Ţ¸rµCĹ"‹|ŕG<č·n.ĄÄ\ ÷pu}%‘ ÚîV27qąf”fłQ€@R—™†SťH¬‹+Zś˙‘Ž !<ˇśX/Ź~3*7 čr˝”ëř¸)iěR ¬m#ňÎS>öäxBŮü”ťĂ!č̦s5Ć=Qäµa€<ˇí–ç5µěláŘ<ó~JxC4Ú÷8âsÍďÝŁů¬ŕőµśGÔ›@�*5ď{>:z©BÍŹÝđîŤrQ˘`�P§Ďíî?·I\{˛ęßG—y… |÷ďé#ÍVâŮG±´¶Ý9ß “ÉÁ‚ű±›oJDh–ő‘´Ţü;1X°`Á‚ű1Zź‚zoŘîé˘=U ™¸Çą›Ô5m9Re_+±5�ÉÁ‚˝Ü<qdQŽ` ŢBčpę'Ŕu|:Ş×%ńě“‚ľŤ]41ýízBg‹HÓ÷ˇ$Re𦥊±ĚÍoxR}Ýd´ä—É5ăwĄiELč%ćEç-‘“ďGG‡2Ń~yuĹTĄ)ľ0ᢨ‰(á)vĘ”Ö)ÖČt>đ;'? ‘@ř‰MrÁT[ĚęÓÔź‹ń+¤"äĎ„żdŚŤŞ5ĹŐ†Şĺ55섊§:Ę;LŚ–eç59 ě2Ô‡ëXĆÔ@Ţş •ťÎᬨ‡Ö·á8Š*ÁÚ2 MĄŚŔÁ8˘ľăHH?PůâńcŤÇtzzJ‡\wPi‘{盉Ač4ŠëÔ ü|Zy-_äW(6Č7u]éő­ ŇÎŕţěđcKíéď} đÓ§lÔQg}b·Ă*‚RLÉż!ç‹k˛ü#凌UĽCßű2QřŁńś¦‰ŽsşwB4»óC9˝Ş…°gÚń}¬źńł“ŇÇLy”Ó‹Çç´i×t3.ĆĎ×üč@HgHMą©čŘÖł_uü‹ ”/ýKS)ź/×tµaLěů%]V Ë0nY[Ĺřą|÷îż'ľ9źŁĽâű(#ćmi3ć¶7˘ŞŢrĄ4řäňQ±äíŽř§Č%†Y~¦ÇÜ.…¤R“śR˘xݵf;Ćš+>GÉíYÖT9B.úC’%Ňîq¤j?BÄj¬ô-<O)¦$M?ĹÍ ×­IRIŁ…żwTɽзíIVĹťźLéăÄ}2âůôČH:4OPBˇ©ąĚŁNpwś4±|ťš*¬ćŚ=űΑŤ€éwŤ2Ś>ʧ|oĽjаr˟͚1ŢĘĄ?,:ą/™é‹oĄx‘˘řą‚Ú)Á¸Ůř†1l,QËŰÓŚPÉUn®„źÖřř|+ľöół }őäŚ>˙üszv±¤«*ćw—ŕs~˙ń^nSËŘiĹďżż žw”adÝ<Í~ Ľ€“ ěí°ŕŻ ,%ź YŇŕ$*Aë 0Ůf”&/ëŕĚ!w3ś68ÇŢ”A$čˇZ“aŔ+cěöŚ»1;<cvü&pţ˛š·×"Ó)Ň› Ř÷< m6’ Ń/”@UĹ‘ubŐCýgżtş`~ ±m•ÔvŽ�4ÖPoµ66oVžŇů.óŘd˛O×ď#ާŤÉkÉ^óz±júČÉ;餜O”ĄR˛±¤boâTśžšť‘Mc14ß DtTť‹!aţwěśÁ‘šĽâś÷fSRąX9×’Ń|’ ¨Ń”VU$ŃOCU¨»lj˙s_ńÇţޫΛőË÷gcq}-2ĹRŹŚďľö`@-iąđ˝v5ä5®xż’×mŠ5]^Ö4ĘŚ�/�$¬ëL㪠ĽVçsĚÇ<`gí�}¨’ëmµt�°$Kédbhžĺ jM$ĺší4ż6śď¦u©¦:qą4žNhŠ/‘ž®'Ŕ Ň­ŮIÂĺ±CWŇf˝–űAtÎx<˘É8g°l!Ŕ˘OM—‘#§ŤŇ;§?5SňÎ6ę+>Oű´84Ż:Ôçďş^Xe ·[žśµ{®ÝžjíO°b öł5źrË«ţď??%bă–¬ŢăÁ‚ öă0CŢ×Á‚ýhÍsŕ_Lŕ• ¨†uw"\çççŻToôv§Ú×··®Rřlcčł…föč„ ť ąâIuŤT?Ś7ńţ5쬒]4¸ dä0?ĹŇ@dŃ +‹e\J‘#ţŔ€ÓAá‡|€˘}ڤ%×T`(W2ě“|i‰z‘'·€„” đi™xă»ŕ)µ”€Ő:Ě0w”`®ľ‡Őé°KˇČ8˘©TEY÷‹Ľ’J´U@Ç˝�C€Ň#‘ś§Ó¬P.í‘¶•Ą˝ˇ?�ßž'çKbÁ’!é·±\_;ąŁvţŚÖŹ‘Ôđ -×BţQż†ú4QZgv´·č– Éeľ:˘A?CímC#Y!W­A˘9?Ł´áűʍM'Ô0ćšD9cĺÜ6IJÓŃTÉ›vA«BÓ,ŰŠ1ľM%‘% cFýĚ‚Fłď_1 ˘Î†ş Şt|ډąî6ŚoÖt˝Z1\ŚĎĄÜo—ë%źwEMŚöW˘Č†·]­6”§±¤«iM›%R”u’çtt<á¶e,•ۤ*ř™el´ĺkËk˛#ľ źÓ+ţiĹ*‘ĆĆ ě”�ˇűŔŢa•őŠ?čÓëCkEŐÇWŇ×Wť`üBâébáëJpVd($ţŻ“1ć7‚’–#í Ýń|ť#@ą‰ŁďĄŚ­Ć©ö_ą.<\–8Ť…LTË{ÉôťSůŠÚDR›Ĺ†â‚ńr°D�Ţ]łq÷cMŹĺk+ăŤPĺaÜß®ˇđĎ׬A|jd.ďEŰt7ęJzú<ŢCPYę¸Ý­ľ3~7p—Ňąľ/( •Ś{wIĽó^ôďcĽĎ žĺ1ĎĹUA_=ľ¤Ď>Fźţ–\–řđľĽsV«µ(CÍÉ2.ŠŔ…ÝúwÂO|,ŘOĆń'X°`Á`>_n¤ę/I>rN(˘0I‡úR!ç4,8g ţdă1;#PÇÎŃ©ŮÁXÓ‚ťŠ®açÄHŕDóń!@‰ŐŇÔg¦9;j 4u/©\śóus°Ž„-Ż Ś„†ŻŻű´.˛:uôÄů†s€ČHs5 ĄWęPć=ą4D–âŻWOűăÚ=§xHúé mŁJ ď)ę!zÝŘr˝v™:˙ĽmÉ·V˘áäó‰2övRăś}—[xXÝŚÁvŔśŮ+ŕزӧ`ś˘˛Ů)ÔÉreé ťZq]m¸.Љ\KZ�€Y2ĺ2Ś$…VżÍŽ$Re? W«žôäKgn’}†wtŁď$ůődĹŽěâúŠĄ‚6ˇ˘B.h+Ę9µH jmuÜo$$Ž;˘ČC]¶)]š;Žm>rB±Ü&S Ć­:Ż3^§ĐNrj&üeĆŽ ŤiQćtŔő‘ĄcQěIů“»>m¸| §�ĐŔT)ä’ćs¤PO�Q[Qa"DńÔÜ& ň0çÄľżDm¬5-­#¬€“qL×ו›;y*ŹťŔ9…¤łv~ÚeśÝRy?B•¦A.ißĎ=™ç®2žČÓÜň[�g¨dť*—oîÉ?&8˛Á‚űišW?kŰĆ‘»Í÷NúńĚ]ąý`Á‚ öł6—Âć»°]uá!aŔĄ¬żEÁ‚}mÔx? BĎW_}E˙é?ý§>­—ŕ1˘¨ŁRXŐź˘oxľŰĆĄ~Ým뿉a2$s<~x~IŃî&˱/đϦłŔBUÔđ)“Šj ʱ‡*FŰ`¤–ëĹ ŮŰApý®áďe‘Tç ň¨’t7Ŕ2Ě€şâę¨/óö݆ăxy Ę?úÚ«ąěk>WĺÔŇGą•TZ‘in©Sw:wn-W"$(9AµzĚX°ŕ*ĽÍŻ÷ŠN(«(’8’¶{‚W[–{qŤI6ŇÖ.ő˘¨«$:u§D¨¸/˶Lńŕ=ţŚž={Ö§ ö8·'‘ěÜŁÓíńm¤WĽąß~źł.đđ.Ţď˙ ßKqÁŘöAcĽŚyWŞžŹűj/˙â‹/¸¬gÚG„RJz+Ü×ähBGIůAŠ2mÂáRꄺ˛j9M{ ăšĎůŢЧ/^Іë#gl8¤¨ô—kŮ/ŤÇZN¨/ąÎ—ŞöŹľ»X.úöőJ˙h›çĎź÷Žk$ęNŠÖ÷ťJ<ĽMBRŰ‚—îNzęÚ+~ůöQÜĎşToq «íŁi­ľďĺb!Á€ł9ăŐü‰ů ¨˘Gc¤ăr}#J$} ç-ů~ l‘zîŕčár>–ë ÂĐ÷� Źř;Îuy%%<>8ĐZŢSeCŁx"X/ŇÔáů<8Dß6JŔCĽ2—KäžÁÄ©Ĺe-AźmÁíU¨úRÍ×ij+ÁÔx–î2ŻúľâkÚvŲ Ę”ĆÉNĆ;ü+˙>ó9%ł8ÖýP Č=~ü>˙ü]\\Q:™ÓĂŹ(O%őßťţâcj¸|x—oŠRÎ,X°`? Äź`Á‚ýěM" \D‰wÚdENőǸśÔpbUúVŹőŽ& Cz¨]__ń@ń… Ó9†úšťĄ€"šËřŰJäG„”`‡sj¦YTÖ0Q72ŽŤ énÝ[]ł]áŁ<äÓh„Ž:ŕűKä0zyĂŠ?űĺ®4»"O Â×Ýäŕ„FŹ\$ ;'c.×4‰ü+”“b!ăSă‘é!›Z™űâXÇP°‰Čó„DdHś” ­y)6+ŞŘů“H#[Sa**ęBÇuÍdq­iŹů<Óńť¨áŔhQKŰOň\H*2yÝşňPnSüůZćA"É)ľMR•µTiĹů É+=ů«Xú«Şšňg ‚‡B"¶j $ŇîXŃş<켮$Â1±\§@TFĘ}sÓČwéŁp*c€iŮqştŃędŠÜp×hžęHŠD""‰ÎhŮéŹăLr'w]ĚNąFy§ űN&#vîRQqNe‹-Ą|íÉx"éôzŐź1ŃÇśa,š80ď¨|”«dô)ľĽ ÁBäĽ,mÍdÔč6zɹľ`Á‚űŮ,Ź<ÉŰéű°á¤…DeÚngÝţąďş&ݢ¤f­Wś|ő 5Ľs ěç`ßćeo_şĄíTő3ńŘEŁ ˘ĆÄnüß9A^CűBŞ‘}yy#ë‘§aÝ:ç3ř`—aËË^‚ű1›'x`˛\&Ô‰úŕš»H:/SôńÇÝ6îô>˙7!˙�»,kYUĄKż5P¬!ęUv|ú[Iqe4ŘP“ď8•qOŘéqžDΧ)u¶c^Q1†r´IL$UO$xYępSIOĹ˙ň˝q„Źk Âl‰Š˘„@IY:šňKç4±t”Í&D‡ăłX”}üWň˛d¬«t ĘG1“1Ž(„,‡7îT°űŚT9D ¨ÂL¦SšĐt>sÄ #Ä,^ ű&qJăŃFŚm*i›JÝ |Ľ=Ś�ÜÇă?Ŕ{@bč:Ź÷lQÖ®ł?Â8˘M)ŠŕOž<ąAüąAÚąŃUĚŕt#ȱßËťÇŘ—ż˝{…•rCöúśRţ>Ią^ µQJkÓ¸UGç­–|ź|˙ß»elÖ@•†űâ ¤®ăfÔҦ)Dŕ}ůtIçĎWt}QŇş¬hU\qꍍŚ9ž]¬©eś÷zY“d¦Ę4…XYÔ˘.ÓŐUŚç®J` |>ü (ż"ŻăĆYÖŇ´VĹ«˘Ë¨¤‘(âH}Łr›ŕ<˘jb–1[Ň.ăůPúi-”l* âí}=§‚ ]QŕaLľä{Ż/üÇȧk9Ö=úCÎÇUŚeo ÁWÓ1÷3ţ GZ4Q˛e̶óď…¸ćíŤĚcČ3Ex¤ÖB´”ë'áżą„-c¸]ŮjşĎ”±ä˘ˇŐŐJâ…GüŹß ’’KR“™ZÔŞUÍý·uť®f\*ě( ßG"ă¶±Q•[r™;–¬g%R|ńw®kśń¦°é¤4FyŘ·¬śäÄËów™%e¶Vµ^~¶2~Ć LŹwŹś»|Űôs.Í]Ll”Ćď˝őzC×—PŇ_p}–”NhĆĎöôřTpę1ć‡ď˝O%ßĂŠź­ Ď5Î7ś‡ˇ`Á‚{;-‚ öł7ă¤d}ô„8)NĂGăŔ4÷6j“î # ÓäřH‹ËËKzňô ;_µ‹dĐĺ9ś~é3gçŹsq“|BŮé)UÇÇrM8z kňF#8ĚVęÓz;ŔĽm°éVĽ TĐH“7e~éóz†ű˝w˙ÍuOęb’˛#mştL|đ.M'#ÄKćłÄS× ďr‰hm;=ÇGą¤ZsŘĄHš>yrNĎź]ˇ Ä컩7tQ\ŇĹőĄ´×ăâ3:Ű<Nůéń=:=Őč’ŞĐĘúcnŁş°|ěJ€’ďŐ¬¦nC˙Dß(�‡^Ű„Ô#xĎą®ő‹ô°é‰>:H"L+ŃŇd4Ë‘Ú� G´ ŕt-›5Ő¤Ŕ±W˘ńĎKĆŔ HIČôm’d=y§¶;aM…úô�H-ν^[Á˘TR|áXś�ä˘%ňiÄ‘O>`ŕE˘D~B3Ł ¤!Ň�@CŢ;'§ÇtttD‡‡‡ňý.ë™ůçejĂÉp„ö†`Łů Ős°`Á~^6ڶŐI §�č&5üxđ%gřZ¤éíąěŤź¨ŰĆ`Aq!X°`Á‚˝i3?¤¸IőÁú6fü)ěÍ)aO}]ĄŰ`Á~ ¦řúëŔř|Ęíý}üŘt_ŃÇ'úí°»”€ľ‰a }ć ƨ ä’:ü?}ś­}<ţbôF9I»RMäČ1‰#ľč{{ż(?öAP_‚4ňĽO†@0 #šä™*á€@€ŕŔŃH?ëŞěKŢŁĘ‹šzŁęę|˝‡)Ńźg–>XƇZ:4tYQ°qcĂĺ\tŚWu$¤†¬­+‹'ďŇ„Íč?|oůx$„ź#ĆÇĉ*ZOůßşŘP‚@5—Ţ+gĚw<šP«ę °;ObJô¤NŮ(ęŰQ ş•$’i…¤Áu­`ˇŔÎş.—u>}ńâ9}ůĺ—BüAÓľíô´oŻčă±ä~ł’$ößŐ˛ľŻďÓ7÷0Łáć¶"Úśső•\ЧHű5Ą«8§ëËFH,MýqŐ9c¬ęŠ%™ćŠáÉRĘľYćtůYKłUE'÷®,­˙¸¤ŐóăŔ†Ű1Ą%Ż#¤¶"¨·sźYh湪›á%ʤ<M· Z_cZ×=»â~1ЍLN¨óą6kj‹‘Ąµ1]ŁŢLLUtDÍxľ ¨D'A°%RaµbŔfiDéGŇYAé^TöQg•ôwŠąoCUŠUňˇÎ‘pŠ«’ʬ¦x–sYUU ęý&vJVÜ‹k’<g؆cmÍľ¬­iĂŘ,úR<Ť(m _Ą\ŹVĆbî'sKź{Ě8jʍ+Q\äě‹©ľćí«5^4BĽĂµŁ†1ă5c΋Fy–ŐRúŻi¸˙ó-Ä·Ac ö;޸ÜhGîŰ�<âĺ9ĺ÷ŇÓ|.y†[!ő@ˇ�2 F�+I†źO®ťĄ•Ş$ÚÎw ek~ţ/Ď®čiÎĎY»¤×%îą™Ő4‚şŘśä}‚`ŐRđńÎ÷čs-dF«$gW•âŘUYŁÉ\ŞBęűx.óÇ”Ďćtďč–Ü/rĚl8 5wts cĂ &X°`o‰âO°`Á‚ŃnD8WvŐ"Ű]…Nµ.-´Dän±?Xí "ÖKZž_ŃęâšÚMA1JtÎĆ<xĚSzxrLŹ>¤wîaßł?Ny >j¨jźQ}ĹĎęhvLÝxF•ką{suĽ;U’kF± d%ÍWg{ĐçÓćqö÷TN¶Ez ˝·vĽ1lĄojű—ě��T!UíéŘ9hsvbç\¶9�ě<dđN#:|gL“I. „EĄռĂ(—Cřţ&±]poH5ťe"]ФńjŮ)—+vFtśÎ$‡7lQnhtuNôü)môřŚ Ň^ťIčzsAŮâJ>Ů(çz*¸ÎjZ¬2vFÝÔPOőz·v—eýúýÇ;íep¨űľ#÷D®o’ą$HĘýë|\”Ů7[Śh�*™„|‰%Äp?Ź]že)1‡‡ •M¤?–6\Wéűî„2^ŕرŹLëu) Kp¶ä¸zÝ?;ó$kŇj4/#v´ÇăXÓPq}¶’^,’ČA +R˛WÔĐŰ]ĹaĘ·žŃŠ Řp$ě'\ŢĺEnvň)ĺěőúŞ>˝úÚ ÷­M¤´ą. KüäÉWôôéSmžĘ:Żřm:›Jż|ôč=¸źîń‚÷Č]6$뼊°c=ňÖ`Á‚ýDm¨ęĹă~˝OŁř¦llÍŠ_7<X°`Á‚{•ŮťIm ~ň¤‚>…Nřť ě›OzŐ¤ šÍf˛ńCâŹO÷…q¨*$×7Č=űĎă›&Ś ź�Á]¤îd†Č‡ívzHkX4Jt‘bý˝oÓáě*]J* ľHĘu%çńxDóÉH*›ICe<µÂO,*%Ŕ¸JŞ-áľÚ1HC)Č; °ĄŚ1¶ôëqCżšF4ź§4Ícšđ¶é‘Ü0L´ŕólZ+D`ˇcŠ›.VŚĘĐ.Iż‡†Ti‹ň<—`´ĂŁC:88”2*Ń ’ööi˝4hmFłÉ\ԱѾ‚á:¬RU’őyĺRu}ŕčÖ7±=&„Ĺźú Qô-Ĺž†„ŔF§?cýĆšĘńx<ůgż†Ş5·©I˙GŰG±S¸Hą![pyăVNÜĚgTŰTXÔ&Śç’ŤĆŚ7®Ĺ‹wČ1eÉXďeKË®˘ÂV”3ŢŮ^TBX©JŢÓpż‘>áRËŇTqźFÎGŚˇÇŚ ‘ŞcŚ g—ŠâĎőŞaô—Űc2ĄŽ±Ćš;G 0µs@6ź?â¶Śó‘J|» Ň‚?uÁ0ß6Bę*•„űH­-¨Ż»pĘťúĂĽToŞ5Ł­QÍ}™Ż3f\/í“4zÝ`–ţ2K‚ ĘLNO˙ž+‰,Ţđ±KĂĹBT(÷› <<11.•>žĹą¨á;ć ĆnAKů=•Ś2žţn2)cÔ*ů(9Ä)­—˘ i¶ęX$ämÁu1î›p+¦Ľcą Ô JÚ ăÂ…’ŮL¦*W‘EŰGrPBµ©âĎ{U4©Ő p´Zđýµ+jŁ–źĂVÚĄâľßđłŹw °ţÚő=ť»A42ăb}?®ëĆ)¬×Ü*ĺh­Śp-lCO_/hÍm]PÄۨն!k=2X°`ÁŢJ Äź`Á‚u8ňŃŢâ"Č6"Ť‘px  Ćxărö"˛ĄY/©¸Ľ ŐŮ.©ăAtÄÇŔ9<>Ó{Očď˝K~đ!ťÎ‰ŽĆe?řěę †/éââ‚6Łűdţ^wĘŽ@Á獜Ă× TśĘX-źDČ´Ę;[?uů|aH0ěL`—MŃ9ÇRnpP _üóŠMÝ\T­ůRĽťqŇ⑥"a‡)_Q:Í(‘<µÓ1™ Ú˘BŃ|Ä…yŕˇ#Erúf“”rQ­1"ď۰ĂD‰'¤ćkT|l•–|ľšŽîÓńá‘änľŢđ@ţĹŚ)×Ő†ťvř6‘ĘÂů?[|ÂŔ˙ ;í÷Ů \ÓbŤĽŕpČ؉´éŔ‘Ž](Đ®ß,źpÔÍ^äËťć<í!ůd'd ęü‹Ł¸kĹGíLď‡tů¦[ĽDDiŕť+:™f‰w-yĂőXÁůcg˛ĺO¤E«Đ‚Ĺ}Q(ÉâńeŁn‡9oÍ ľďőőŠ‹•śdY"g}-ÎW:B»©ú âs»”@Ú°’ËK{vć˛ÜPÂţlĚÎcÎűŹ3ľĎcČBgŻ,mŕt2DAę•”<$á'Bţ‰÷ęuhŻŽúľÉ?x>ŃÇ?ýôSúŻ˙őżŇăÇ_0póL�±Ń(ß–ŚŰ Š?}ôýć7żˇCîÓi’ŢzNëÚ|ŇÝ�)Ńq ęCÁ‚ öÓ4Ľo˝Ľţp’B@ůďQÍoř>JjÁ‚ ě»°^9ÂzxĚĂ I>P€ľ–Ş]°`Á¶ć~ D r|ö{÷î ! <o (Ŕ€Ý- Qgąşş’uC御 ą·7GĐÓ€,O0ńź˛e'­Óî5‡©Ç|ů†cjOZ¦¤ňémq˙¨#ÔÉ|6Łű÷NhÂx¶ŻÖkzţâś˕ԗ'EyBTÇ;ĄŹ¬=ze9=šTô`LŚÁ¦”1Ě•0~gÚFëžË•1Ž[Q«ä�(%फŹÄźžÓD[äČ+fŰ©g>ź‹ę4đ`(Á<éÇďs0? ăŁIů5g”aą\îŔhŰÖŰ´]•¤ó}Ä"_~ńţ ęęĐ_}őăGŹEy׺M]ęeýh¨PzkOń)“îŢEîJ,6Ę7ŻúvC_Gˇđb¨ŞŹz•ď¨é„<%íC›¶ÚRAŕ`ŚlÉĎJĂxçČÝs•&ů‰©ö ^Z×€ŘÇ+ŚwPGYD­ĽA”/5”Jźâ> r–(ęŐ­pÎ ·3ÔrâMŇK|%j1ĄƉŰÍ’ ń5%˝ŽEî9ŔśŠî›-9Ť¦9™„ŻúărCÁ‚ýg\_ÜŻÓÄĐĽ™S—2ľúÎ’Żo# Ş­˘rOĄŰî¨çH?FÝLr™C(Ż+iĎ)?‹HO‡Ôhă݇‡BČg‰«DźjxÂ$ĆĄ�ě$Z f.µ[BďśoÔĘóާ t đNďwkźúÄEźRÎ=J¶Ě{RŁÓ,îßmîT%{®ó˘(ĺľ 0ďŐ€WüîŮpźÄ{™+ť,–:?pv&Ďä0]źĄ0X ,ŘŰkř,X°ź…™—n3;y¬uP¸űR8ď`ż˙ŕ=::ľ/Ž$l"2NűůăĎčé§żyŐ5Üs7ř„ó7ťLéôäTśCW7:ČŚśŁŤ¨ş,$Őş]Rőâ´§[E“ ąç©Çđŕ�®-Qf "Ä7Ř÷!>Š/bG7ŠŐÉń=ő ß±Y1ts=dW5ŐHM¨‹él$Ş&™“˝…üćrµ”Á÷ČĂ+íÁuůî»ďĐ˝ÓSVŰ×+Ü g7"–@€ý°ZݤŢHĹő$ňݱ:¨ČQ™bv ¸ľ‘WŽC–ĄĐp)ÝľV}˝ů‰<ë"TęW•`š÷lÄ™ŃH%I Ľ´»µ·;űŃčA¨EN%ĘÂ�E�hÔ¶‘üË­+śä[†úRs!r§uŔ új–%}ŰhŃä 飒P·3ng+X­Ü˘ŕÔ‰ţhdŽM˛ČĄóŃP[U8ĘhSśóÇčzuťŢ#Ţżýíoé÷ż˙=}ţůç’â uŚú�°„wŽ— Ç; ÷Śýđ,żű�´EJX˛{ Qű Ď’sŕČ ě§iĂ­‘‹¸ő)żđ›ş?©đćĚ~‡7Á‚ ,ŘM»1Ƨᄾ®ßťĐ§`Á‚}K¦Uß'y×ůčC Ě?“ÖľzěřmăŠ}BÍ$;î ˛;ءâF¤j8.ĄÔ0`jK”Ń]/µ‡oňßcĆ݇ý]/Ö´\o4đŇa™w©qFÖZřśńÍG3zďdDŹň5ÝKUÓIŹ‘ńź‘*mI>H=f„ŘÄ+íÝ6măA5ŔŇ“»€Ď�S4¦PĚ ÷"«•O›ĆٱĂęşîOß+ł»űĂ6#D¸fŰÝŞö3$CţěłĎ„řż=aH XžĐé _‘¸·ÉG¶ŁÁß[ýš7(ţ4öňd&2k2Ë BČÚë'ɸ®@<;ćD%oµ± Č%‰ëëĘŽĘE!çuwĆ;Ć…úÄÇ›l$ ü6BPl")ş$-\ś ±KReYU¬QőîďQÎć‚c˘›Ť¤ÄCÉđ»öŃśŰo2›ŃŰYÔĐ[q ęjĆń›Jđa jĚGŚuÎEHĎŰĆőťZÓHőŞY¦WÓ’ŕ<—/ ©»>w„śtÝHTw ę3ťmEi*M e‹e2w4*2ĺ2b=î­q˙5” ĹV•P‡˛a·<ÁmËo~šĄÚ7 Šäy‘{ć%˝ďeýÉá1–”ÚLˇŚ)PZ>wj÷5>7ž›r»Y¨÷”|Ě7¤ď=ę ^­ŹDŞ&„ŔzĚhTUIkiŰ·¬+#žĄÄ=łRwĚ č{B^"¤V,Köا'˙ ˙Ł˝Ë˛ÂOQTXŤŰŔşçĎ_đ{"–ąÁ^W ˘Ľůąş¤ĺráÔęMŔJ öÖ[ ţ ěgbfgr{Í"ź±wRý€0ľAü™L¦t|rBďđűÁÁ‰ćZvR¬Ţ1űă˙H˙řţŹŘYÍx Ľ•zÓáŃ‘8‡Pc’B·PIJ NAâŕuuąˇM™ŃŐ8›‰_@č(yĐ bĘÁÁśĆ\¤ÄŮčęęZrM'.šľrńz˛…ĘW–xP§>cÇäčđ™wëŔ‡¦~Ť’Śéugú€8»­? 9>ăűDôäJá|#ĄÓr±¤ŻľüŠ>űôŹôäË'RŹ÷ł1F´;ZY’É5dŕé[‹Ü'˘pľkv‚/.ÎeżŞyŔ~p¬N6UĄ™‡šJSŠeŃňŚë9fG*‚ĚiěJíúĘk×Ů›®\«j>.ÂÂO^¶]íb˘Ţ!âöNăAŠ·Áö˘µśŞý@˘Aőü®a4µ\Ű)¨2ě`'ę\Áy_­Ö. Ş ýKAUť’h§Q&Š?pŞf)0#ŞVĹFŽ™ń?8eĹ…Âî�ÇA˝żň,gěČ#Ť†ä¶őf­`‚'2ý ÷čI<˙ů?˙g‰Öňa*ťKţxD ‚8ĂvČ9ă]ňö˝˙ţ.‰GŔ¬­dô@Ô6ş=’Đź C°`Á‚ý”ĚżçtĽdeś4ŚŞöëß4!ç6eź@ ,X°`ßµ Ç˙]·Uĺ K˝©Äć+X°ok=ÁÁĆ™ŔJ$X°T5ĹMâ>Ő—¤”:öýö—‘€ľµ+Ŕ„~’זּĂ?Ě6XĚö$v»óĎ!©2aß8ěH&őĺ}÷{™0î`4Ą<&ë׫…¤nź1gDµşŁşĺúŞŘö*ě·Ý{Ě×™ňĽü=ľÖ/&)}4Kč!—âÄ@şUl˙ŐPĆeˇbÝ á"uď=”)Ă@"Ь’#Ě@Íc—šqÉ)$I e*ÁP jťúÚ[đ'<©k¨Jóř°¨µŁ­îqăŢŃťĂŘV˝úʦýjúô_CĺM¨ü|ňÉ'ôĹ_ȱCőROţq•HCvĎ.™Ęď9Ü–ú¶öÄ®íą<.j‰n${ WdŻž’©¸Í×JN©š?˘†ńVPeş*㳦ÜF‰ëď®<U$ťMQ•CB<ˇÁŘ!źP"äôáń\ŕ™ †¤‚ĺÚdÂ?všâKôÉdJůôz$D´¶ŽŘů |}ÄýqĘm %ô 4\śQwůšőĄ¤‡"~nšŮ ĄŁMOîS^0ć|ÉĎtˇçâ~lët·Î…ýÂm_Wš:Şćú­•Hb3ŢV’ôůzŐP?5í$=ô“&Ň™¤P8âżWť¨"ńÍ q(Ŕ÷ÍPZGî÷=RTwBzOG¬Éý¬áëçIęx±—o5–ńq[ňů—Ľ4Ťx?‹Td#MĎ%ăţŚ]scNCú%÷Ó¨â6Ü0¦ËeůNNÍýéŢŞ¦˘aš9¨Ę#ĹvGÜ–˛Ď�ě›<Ď^"jD9ż/"GB0ČwxF"('Fż:Güń¤; ş– †VË’–ËŤ+;ÜîëUA—ź}A–—ÔŚÜîW…~Š OĘ`®EÓ¸9—Ýö|;\,X°`?°âO°`Á~F¦m8žłŮś˛™äۆӅˇeÎÎÎe` ň ÷2”łH-4ĄŁGtďä°–ŐFÎXµ m•0Ĺ ŽÖ“ÇŹi çľ©epťóţcvĆRd"eŇŞ)¨ŕω˝ćúŕFěŘdŐŠ’bASv‚JČ.Š+6ôđô”ę*‘˙ť™ś8ËpZÇ“ʆuŘ#eÉŁ|ă±éÓ=©iăśt ˘„ld·¤ź7‚!xB†ŮuM?�V‡¦cOşIÜD;+svÔAöIsš±CqśŹé(ŃÄŔ©hEÁxŔÝ,—4ăűtďžžźďëéă/iÄÎÁÉÁˇ(á:p Űş¤•0řK‰´Áµ˙đű Oţđi§ ;ÓGR'Ń7ě8XČ»ć”ŘL2Ú©X=¤/>=äﭯ缎ť®v$)Ţv+ QÎQtŕ@_do¸Ăv·şľ‘ő�„«oä.ĺ‘(呎ŮyŠ©BÎhHťZń;…\ĺ‘{G_©LFN†h‘Eüµâ{‚řlÉő_ AäŇÍń kv’ě÷mľ–mĹy<::ćún„pĄŠ –Öņť°J¤p“ŞŁ1;íř[¤qSDŻXPPŇXy^âéŔŕŘGâ°ěXuË•�3€iůykxAĘ˝ŞŇš„ZśăťŕĄaĺިč—k€}ßÎ@�5X†ZpN TB}‚řUČSPÂąh>üđC!Ťĺ9 ťÖőRĽrwľÍ#łąćÍO _pY öSł]ésýéëńîÝľ#5˘ŐęŚIvGŽô6Řwć{Ă6OŕÜ’}î&Tî§V¸]~?X°`Á‚»Ý^ö[ß0LůÉhIˇăR±húˇ†‡#ÁoZ ęĆüŘb+‚űŢÍ“<<ůÇ“}†ëTÁ{«.éÓÎ Ó7íŹ ÷íMŤ U)Z÷IFşQ/CîĂnÉ?2ÜŔj"AU§i•w†#ýřű5B�˛BčFŐČű§“TL(sŞ Â”ͱÎyá ©ľ ř3±Pý1ĽXńű*ë*!XŇdđĹpÓ’¤OÂJë#ŕ†ăîáEÜýnÓy•lr«ÝQí~ăëí śąc ʤKr„ioľ7ŕ·ţţ°÷ňŽďK 4xÂŹWÎĆßĂ>âĎ“'OčňňrGíç%-ż§ć3Ľý­źsSńÇSĽ<íaď¨ ń‰şľÝwÔ¦‘c«\ňwţí1µ(©4óűÔ ”h ŕ|Ű] «Ue¤áÝŁqý¦P·É•`–8Ĺ*ŕähs¤m¶¸6jrŠWfxť›j2©¨™jCSĆG¤§nzr›Ş×0öŽźU´oËuľ^0NÁóO©[źë}ň9:¤/ă9!ľ^2ž3ĆśËq†qP¤7“ôa۰W©źęćŔ—;Ń\€şQŐés&L(Úr¬˛S|m¤Ój¤c{´ćý®Ż”ď‹÷‰¦ü9ĺý•6ŔsE•]ú},%i1GŔĎaâ„EUj6q+×C@s ]µM?hŃ(Âůęäůď<QÎ(¦l¤.ăgśŰ·K@ľkz¬\Tˇ°4$“Á·n#!Ŕµu«Ď×@‰vz 5˘ÄżŹ(ęÉĚ[[Iki–¸çŁ• nšbQßIxŔşZjú2ß=ń¬]­Ż©ě´|HÜşńĎ3†l´óí<Ă÷f°`Á‚ýŔ?Á‚űy“4IŮ‘�éč§§§2Y.€ČŁ1O˘/¨n5ý“á¸Mé`vJ§'ŹččđľwĘR6 vPWe%ä¨ţ<{úŚÎź?g§u-©»"”Q<©„Ö’ë4UŞáŚvMÁéVäHMqÁö Ę«µÓ®/)ćíG“śňé“ů:-Z+Ěô|4agd$çëěV­H”}ÜŔ×;â`¶mŻę˘öć§öí-Ä Űu­Qň �Rjđ˝ĚňÍř~ŽĆ:€\Şq‘äUJŁ“:=>Ů:Ľěخٙ–úvH�*n“ół’‹©ľ�°Ľxö=ůňs^ľ  ;X3JŮW;Đş"D#h4†Č†¶cާyľ!qČń7\¤ňłśĐšvťŕ˝AţNÔuµS7ŻiŞI¬:Äp #ďvG˝ä)îg2Nh2IiĂŽŰz4jđý\ý°©4«+E,ňUJ«EĹ×JľmŔ�ţLĐh?�>đúó4ˇ1ź�G$c,Ń5’ĎYş+�7X*J+€_QŻB• %˘¤<rD—$ ňN‹·)ĎcË�P50Ť(|ÖŐµsČşŽ¶wBŻ 4zŰ<1�@f†âH<^úΩÜűHÓ Ę6�:�R öňĎÓ§OEČËK{ů^˛7&‡`PŻđă�+Á%ăÍĽů÷C°`Á‚ý¶źćęďż˙ľĽ;ˇÚß&¨§d‰q€w™€ŕw.@őŹ?ţXĆ ŽcŢÝOb¬Ć?˙ó?—óběĺßéŕ]Ŕőňňb0qĐő“,v0©ŕßŃo2•C°`Á‚űyŘ]żřMyçŃCş˙ŕü ŐĐ|:ţŤó¸µ[•żř‹ż ţĎ˙oô_ţˡżű»żŁĘ)ŚľF (Ězűą›Wn’ą=©g¸ćýpO"*ř•y÷Ě˝} ?ď űjC Ł:ŠÇŢ»Ĺ:˛ŚwÚ-y“R`±'Ć=á†íŔ0°®ťŽ»HSMWu~˝äńôF¶_Eę<Ţu‡Z/ŠAeaăEŚéDżŃtB˝Ňµ‚KUŤ»ŁqťĂÁ†Ué¸M;ÄM)ÔÜ á Ľţţ}=É~UAĺ%UĄ¦ďÂĄ« ŕňAYeÇ`?©§ęýŞJ݇mľnD„˙†Ż<ő7T2Ýi§ÝV(h˝&|Cąt+0˝cľßÇ>Ő·ą'ÍűXQş :b\<í4Ý—;Ƹ>/7HehÔŹµÖ˘$ÂHÔ)6 “cŔ8ąí…' ~4 *T‚3Đ'@4‰5îĽvm˛UIRĽŐv ~ńűW ~×DŚ3\d%5Tüݍ-;Ů'Fú2¤văOÁôŠ%%m*÷ć•ďwë•vRä°l¤ÜÂł“F)u ÷s#íLÇřjAőŞ”zŔŤ&#~¶j‘ÔˇdśRz8r Ü{X`«„˛ŽőiŔÚmpK¤ŇNTĽť—úŽűúR¬Ü_7J2#ĐâŰ7yői®‡˘ń$Ôk”ŕ;I3ćďŞDBţÁąřľâ1·Ď¦…˙«‹kIoöş†rú`I´µ¨ Q×+Â𬠬Ř/vĺŔvô?´­W©íűŢî}Lßî=,X°`?„âO°`Á~&¦чŇ?ý§˙T&u0iÁď5OÔ`ÂüÂMĆřH89б?ř€~ý'®ä‘<ŁbUĐj˝”č7ËŐt2&S2y6¸w–;‘żD^ćT&ëONNÄ©ťN'4OhĚîńfíś®N"Z,źCś9Să–Î/ʼnŰŚÚ8ę#J,˘b•ŹE:¦Č9Eę¬ŘŢéÜŤLQ‡IśŢˇÓní0˝yM ĚuŹşšĎdŕ®H±äV†š Ú@%„•ĐRĆă‘´§¦Ŕj%ŤQ0‰÷‡?üA&őĐćhń/ţýć7żˇEŐŇYÓ˘¨¤í|Ú·ŰŞę(pEŇs/2ć{5E\4yžł”˛Z‚¶îŘYëÄÉC]˘ŻͤłśA“nEkî§Ň/Äô‘‰Gô“¨SG–H‰>(/M…ÂÎe®(ďH!%Őňş¤‚ťPi?䑎ô8‰rC¤ĚÚ:°bĂN|ËÎkµ•9nˇś ŇŸÎ?TĄé(Â`<˘°đ=L*.bwÄÉ_ý^Ű=^Ł\x!ý&ŽwĎ­ˇN°ÝHŠCqL8c’őŽIčm™·m{[Ş™Űl«AÁ‚ ö“6Ľ‹ńĆ_BśťLčÓO?•ß—?ýÓ?•ń€Aż?öÓ®úőŻ-ż· ý·˙ößä÷Űń.ĆŘăńăÇ2~ÁńP*yů4{ň;Iĺ,X°`Á~ňö˛ßüľťźťÓżúý+ůťúÝßý˝ř˝ňRŕ "Ů'ă˝óč]ú˙«˙OŇ%ô×őW2‘·o7 >¬%˘m*Đě0ŻÖr›íŻ÷„o˙·'â żíeę߬ ´Ĺ‡:«`Ý0ť—‘x3ťüö„}ž­ĂĹ4đĘ:µt+Ş!^ˇ&q¸ý<qF—Fđ Şž ®É/Z1.·X1N„t:8‡W´Axß.Se[—|uh*-ÚŽ^¬kz:˛mpĽ×2“Şj ”ݎZÍŐ~ÁPËsĆĚ®[MM”FXě śi[=[LuHúńţ€¤’ż5HŔ«đxbR>-Śńn¶é܆ő�âHŔ0ˇb LxÍX9"¦*(5ŚŁUýő  ´^­ód\zĄ¤źÍ¦z÷ˇ´m™Ăň*E7űŃNă·Ŕ€¬WüApß@Őjßzbßk´\đľ#M˝†tUHŮ…ŕVŕbŔÓmç<ĆXĄ*UŔ�A "Tw(S'ÓŞ’Ś(ü e‘EŮ'‰,6rë;˝iQűG*(´cš 0Nľ—jł˘juEőjÁËŠşÍ5qc Cá&ř¤¦kQ%Żë%%őŚĎvĚXéŰu«ŚciĆx•,öUí ĘíqS ŇR¸®m…LŇ Ôm:| Y ÷ĘĎ׆űײe-yäj^—´Ú–\7ńďc¬ä)u/ X¤$(éCýZOlÍ}–J(�uň,J:4u"«?/íŞÝ*Ůö)ßT‘ ő¨Ż+ĢvcEQ§‹ą“YMR€íÜ$©»O-|$ăÔOµ©y©äŘ۱UCűĺĐwŚ›qŠbŰy‘Ö6ę{Ďî¸ĺklÖ¨4»€—Ž—Ďnlë®gz ˘—ô}Í˙xĎÁ‚{k,‚ öł0?ö:8 ů2 ‰¬Řq„ĎŮĹą8Q’Ď7Öh”X"SR:>9¤ű÷ŹeŕżZ_Óâú’V•hŤˇrÂŽ$já¤5˘<˘’±:ĐÖ‰Rft0ÉyÉh:Q^Ž)%uhZ‰ú ŞKĂçá…››¸ ‘ć\®8+©MGšf ň›i'opu޶*.žpä»í^49F÷"őiKßRź3÷ű4»ó+J5H×5gé€'ŇĆŁ\�¶1”,8>¦{§§âô«»¤©Ě ţb­ŞŁXçTm¸ŢÎ_Ľ /ż|LźüńŞE!¦˘÷ŢyW"A(Y×}q¶ 'ĎĎéŮó†®GDÓI+Ń8H[…ô^ě–ď@P 1˝SĽOöx‰˘—ť{qS»or\EßTeťĚ0n­)eGů`Î}m6ĺű™HÄ":˛ ;ú·8%âĺ%3)śâ"NŚ r1B‚#Š˘őéŔ¬î&H3—f4źN)GťWµĐdPŃÁyŞ%śÓĆtR÷¬˛kČŁ¬`€¤j$żzÁĺłŰDT—ŕüu˘ĄIä—H;»h|¦‰GiÖ˛ÓH˘âĄNžŮúg/©áŻo «Íq›Sz3Îd»|;×!˝L)€ŤĽśě­¦čęTš–Ń ('řŔíWl@@\Idžu�@Ož|EďĽóľ‰ms¨ÓVć8x­Á‚ű‰šź(ářťwޡř‡żAĐąĽĽ"�éçĎź÷ >&)�öă r6 ű`L5 Ľ‹˝‚Č>ŘqíHÝĂHęmT)íDV?o+o°`Á‚ v›í§ŞĽÍćóąüŢOŔopov@PÁď~÷;Qűů›żůýM QÁ‚˝qŰ'ýÄ^䕟7­ţ(cŇş•I˙Î9ܰÇ/2!}ěÓ< ‰ľRyŔÂcj†Ť˛”1)«ę8ás©­ŞŞň 2תMÂŘQ,Ş#ž¬ĽŇšÁ8xo<Śc/Q$žĽoŻJQ7IG ­ĆăU!S´˘1<ŃنčÓÂĐu«J!s°îGŚë¶mŻúł[A´CüŮ'ýč8#Š<~;¶ůqż'řřÔżžŕďëľeĽ§® 5ě͆2Ć1Ç\o¸ĽoŃ&(;EkĆ~P÷ąş–÷3H? •|-\Ă+Ę8>‡güř۸±xs‚/»$NÚ%¤íUÉ ë‰hî÷CźçĆąxźîâŚnŹŮáˇ8šÉśń[«D›$®N°ËÖµOÓ2^o‘Şk,¤ #‘M7VâfĄK¤„"E«ÄÁÍäóÄ‚żÇťĹ%¤żjźŚř:9˙6FŚ/Š2Óę‚ڳϨĺO!ď@ÚĘ6ŰŠ°5BRČgŻełşbśîšľ‡„ç�˘¶¤¦Xóő7\P"îĘme‘Ş‹ńQ¬C–®\I+”q{Gµ¤Ř’ů§0?ěG7üNXń_ Ţ R†hµvŕˇPKźUBŠÂ‚ôYÍ’űćÂJ .>ąŕÁ’>MxINíŢj;Ů1/C!+‘É‚¤ŕk,­Ś48ŢöOvωäÂ*P+ŠJQĆ/š?qĎP¬űt©*Ḛë˝Y·";IűDŃČ€Ic‰öńI(ěU|„ĽzÂś�?-ËI9U T°ä¦Žx!ŢŢr[9,şSň×đy1NůiH˙ńŹUçžŰ˙Ł4,X°·Îń'X°`?3.mM]WôůźÓůĹ…J´JţčZFj’o<čSuž)!˙đůĹcĆ®ŮŃBJĚÎÁŃᑌ�Żŕtń$<Fě–DDI&ţ1˛%ěčb™ŚR:ťFt0¶”Ĺ%Ţ;‘?­:ź/wŠa;ŐÍ’×±“ł3ĘŽGJ*oŠýJ¤7‚Ě+;75mv3<#]śsçô '‘Ľ‡ÖZÍËKpš0�wőkÔ!™›hżťÝv{žÎa’ŕÜOŘ9;ŽS:ä:ś‚µŹëMß„h¨'OlÖľM%ňN3";ŔćIâúšžńťżxF‹ő5}ńŐç´©Ö4›ŤéáSnײót2źŇŁqDźtK˛§–6÷!‘{Íě¸5÷ůŹ··@[iÖČ*4şÍ„„:íü­ąÂm·˝ĘvÜű˛c4ŞB‰i;));ú‰: +ń˝ń=~üÁ{¨ĽŃň$łÇ›ń^cd¶ N—uҬÜçîʗt‰D>ŤÇ®§Ë‚FŤĘ#ĄZ˛©i6Ó˝tD¶X‰âU·`Ç|ľd_uĂĎ�;đŐ‚ îXëÎĄ cŔb±.¨9/¶RË zwĘ}2“ Śđ쵕d"śáşîÄéÇšů„ńhD+8Ęq+ŠBČA” ˘e¤‚ í9‹Ô§ {­»ń1řĽíhłF·µť8ŐNB›Q©úŞ„řľ,QgpĐ Ů­zMŇž!Z‡ßËŐ˘ŹÂµ—y„wÚF"Ķe0·‘†ź;·Č>Á‚ű™ĆH•xpp dĽ_5—Fc#Š—_×qÖ˛W…„üIČKëňÉ'ňĆ'&V±/ţÖ÷~Ýź÷ëyBšŻ`Á‚ ö*{ŐoHŞ˙ń?ţGzŮç˙ď˙­ľQ ý öÚ«Hßűi»ď:ćk_*ĺŔęf'X°W÷ńL’ ÜS~v…°'ř…­…ś‘†Č5ŤG™€ˇaěŰTͧĄîËëoŻ·j4ĐŃ0ęÝî–wŻüUCńçę'‹‚2gŚřúeLłŠCQź äśł˘ˇ/7–‚Ü ťfDłQK!<Ý$ĹxLu_ńǧÜÂý/—+II¦˙’ň R§Ń %'!ȸ}ű˝ř–ŕĄţ‡íÉF¨OźžźXŞA­!éóFşŻŠÂm8ĐäcčîţuhgűKŻv *2+ĆbtÉX`Äx|ÂX{7šmĘžH¤ˇJ,j;”5• Ó®Żk»D0y¨É�VEt®»Řd#ř˘JĎÄJ*z*°F%¬”–85ń©ž— ˛‹s˛›‹­Ś ˘Őďx(*ÁŘEE‡1ʦVś5ĺ~…sQöqiĽúZ“ôe­’ŇÚZ*PľĹtá&‡o:B Ę r«íş˛Ź˝Tá·&ü›ŢŢş­SüA�&0UQü‰4ú—3•ľâOŰ âÝ �„dDÇăş  9Žś˘Ň –í”8b’­ ¤ÄK„:1¶„ä}#ęňĘÁŠĘçnŠVřTŞ:¸Ĺ]‡üđ]Đ+ż‹*ż>#^5ĺRu-UDB0«¨ĺË<O,¤´{]낲©@ ô´kŐ~Ě-}đ†¦€Ł ěmł@ü ,ŘĎĂÜ QĎź?Ł'OžĐ_0o˛ńXHHŰ “3M?ąţâě9Uě”bBh˝)xśĎŽëxJ9=8Ašó÷± :Űű÷yNčBHBĺňš}+ęB8ďé¨ŘßĹ ˛ÔěŚÔBč1Ö $ˇÜM¨űźťq>ŕˇ, D­8Á T@ନŕ©Fĺtę Ë Ű9D˝cgi‘F=ď;ďqfTQeŕäľöpµŹ"yMŰáG ľ°—‘Bń©ťŘH{Ş‚wő-Eý(Ű×ŐŕpŁŽ)HS‘«O(eě(Ďç3ş÷ŕž:�đ]2MG•ó2Îs:d2ë4÷ňâÉcz<CôFÇűZź±ŻYíąýĂĘéĚ­7gÍŤU/­ÔWÓ§ö%Ľłć0~ĆŰĆEwĽŕ›śO'ôěÄ08Ŕý˝f‡Îî(ë¨Ě´~ĐúP©ň‘<PÂđŕHÚEÜ ńąN¸˙žTĄ.r Ü•|‹:Ó”ť§r…[?°Yr· ÷YÓ¨Ä3;–źKk’7›ö>GŁT”‰şVť.D€Á©‰“­±rlëäťťâ¤nSČ榆ćP_[qřf<a;žŚ…`·­LsłM^ÇěđÓě}~3ëeďÍV:Ű«ůxlF4R'u Fy–»÷ÇXďOT°L/c«yŞcé>•$˘·×ÜÚË�Âý4`îŽë,X°źĽ´÷“šŢđ>EzŻá÷ˇy€ŢŇĹĎ7üÜß·GZ_Ă‚ĘO°`Á‚{]ŰOôm Š;çĄ`Á‚ÝfwŤ×^÷Y¦čžË“ÎăAʤýÔzĂăľÉłL˘qŠ–ý5út>űéƶ8†.Ü3Ö ď ÜM¤e׺®L;EPeŠŕĄŐJ±(«)ŕ‘x†'Á€„äUrü‹ç®{óqK­(|¬é˘Žč cQ†q×ŮŚqŢÔj lµŞZşd|ďş´˘ř#¸ ăZ%c«Ł¨Ű –ÜÖP_ĎCŐŕĸ?\\±JŮŰĽď  $»m6¬OUjW<uáÉ=HőÄ –ü5=v„ż‡¤=×K”u*đo•wÖH`Śc­Đ€Ë»´MFT\HE)ß‘ĘIŽS%€“ȇ[Çz´µŇřÁő ?Icéł8–Ľá”ůQ „e!$ź†Űs–1P�Đo±tC?PI;˝Âż|UE"1eÂô‹¨đŕš 'F™jţLBŽj¸˝×´Ě—xśÉ˝Çĺ‰ĐZH×µ¨RµkĆt7%uu§ďĎ“ˇÁĺ‰dţ@|JGîC†ŕ§u˸qܧ÷2˘ýŢ*ńďp¨_6MD ®×đőąo—˝r­u©¸4UŐ‚˘žř#ŐĐ*‰FSlAŢJ ©ÎÄüi„€DR˙JúiŠîŐD1CýLÎĂŃ$—gΧäöĎVěÓĄř4}F–:W^áëëąŰŽ:\ô`Á‚ý,‚ öł2LÎüáP…gHtr|B‡‡’’ Ž˘áË…|^-74žÎd_¤XOĹŮÂąć'D÷Ţ?ĺçTśł“ÄŇ);Đ~¶^Š‹sbP G7I ˘ąťˇ5kĽłćŔ^Ú·3ÂP÷Îť8CÂ:hÍGv&Ęd‡óWŐú))Ăxŕl[Í7ę ~HmFŽ´2J­8Ý?„mĺz_1p6ý˙ČiĐî¨D—ŕÎŁ'Bťż˙ţű4:žÓ˝Ţg NÉ$Ş !ńż)· ö}üůâ@ѽӌW !…ó÷nţ~o­Ťľ‚S{ÔôfŰľŕëOOOŮ9ŰPy�ŤvAeCýľUÓöÇ&&aLť!QăˇH>8×1×Ď˝fJŃzĄ©M2KůIŞDHŕňńPôAŞ*D§$>Oć#Ô Ż]Ä×hśŃÁü@Č,xîŠ � •ĘŐH unôŮtyµPbž>T˘5çó'4ťĄ…‚ş8ĽwOÚuÄŰŢVPZóťw=‘É/ĂđŕÂýbńďŽŮ|ĆśÇ~°ő¶~ď˝÷č÷ż˙=ý÷˙ţßwž÷ˇ˝ JŚ ,X°7kún˝›^ýިî`Á‚ ,X°`?{]÷>éÇ8<ńg?Ĺ×~ ¦oGwél˘-@€"%6$üe„Ŕ8j…3‘3Ţ9f@ ą„řÓ곹¦ »ć ýoŰ0–„”^¶-É”Dm™0–©Ę@o"§äQ2Ţ Ĺź<ŻŁk@ĐqŠ@ŞÖUőčF}mĆśx{ăJ— ť>¶ťđŤů ţZŘŞâň˘±ô‚O˝j•tÄfšÓYŤ|%Ń EOPž¦WŕAĄ¦ަµj\ŕ¦ţÝ )Ä«ń rۦtńűh0f'çĹâŐE­Őëů”aťS&ňźfëŢ—ě^ŕ` jé%şâwöŽíŻă’”K ¶Çö &ŮŞä€p‚ďýÉČ"QWn¨Š¬(ä¤ÓÝŚ´Łd3mDr§j IŻ…ŕÁ8)ůőĂ»¤PyęTýÜ@ÉŞąĆkAgŰźÚ†ńČŐ‚O·áľĘý•ń5jJUšŮ¬É)ŮA”Šď”@äďqŽĘ¶˘üÓ–(_!Ď?[_pkč—uŐ1.Ş)ÄZ,[C®üěMU-Ľ[óuwţ ĄźK ýN L`í 3ŇjŽÎ¸ľŠNĘd*^ ®Ł6ˇ¨ć§–ŻňQç±?˝‚ęÚXD˛Ľż]™'¨<'±n¨’óYGüŃsăú 7;ŤôI§ŠŻůů¤Ę1˙ ˘D‘ů:7/Á7Ĺ· ą¨uˇXú Éť~¸; ëä9ŰnźŹ+ ‘*KEˇó8P`'IýW»gÎJć–+­vďŘĆÚÝ€h»UűqÂň´÷„}K†[š;Ö ,Ř7ł@ü ,ŘĎĆ0P„bśG/áĺ9Ý»˙€Öą 2sđß ;ˇWĽoÍß7ë•LÂĎ懪 &ť0ń1°Dš¤|2ĄůÉ}:}¤ůžß™ZzpŹŹ;9ˇl2a°FhÄ|Ţd -G —'k >IIT‡xô[6´ŮTTŹ+ZĂ}vśľŘE’ŔIl­ŐČ!ł •gÄG4°­ °U~“HF¸lµcşÓͱőwÔ[ź^´ÓB‚uCĹő5UÓ)U“­ŮAďę´ß.R¨Ţ9‘ČÍż Ć~žh{@6˘ČÓ<Mrz8;˘ Ňy …ś×|ĚýŃśF=í˘ŢIe6?¤÷ŢĎé˙úłŠżó9łŚ'5}šŻ%ęµdç­}ŔĹo†vôx˝ÝV—Ż]·ćĄ;c úŰGL˙©çH=Wj„;0±Ń\É’[˘’>s$ŰTŃŽ'˛Gy@"eo,K¬8é¨ç8j(ÍbOS®›śF›N˘>ň r?$őŕFČSüÉm4{˝ˇI6Vąg¤?Çm‡KBâůŰ÷ôđŔµŇ‹ĄT¤*ń\”xŢ6Ҷh“ÖĆ’k[T~ř>l§ Éh™Ö;rY´?żY–ółĄĎ ŹŢůŢÍú˙í:hC�ŻIßnëhKÜFű@­JIťUÇz:}@|řťś ±É“şwîë‘fćŮłg˝ŹóD"ő2”~Ą?3X°`ÁŢY»?…p·íOî ,X°`Á‚űńŮ·UoĽK čM™ě%g\a č$¶ń‘3xxŇtÄřĐ|Lô`NôáĚŇaf]śZ+ Ë"­éś±ĚĎę„ÎJĂ8fKeÝRµ"Á:´d]ş$¤’´` €€c!‰şy5›¦,+Iâ>­ŻO‚‘…4E<Ŕ1‰_ńqOÜ&Ę%ä6XŚ\«„ČL§ŘhT-ąŚîÄŠ¨wGNźÓC-9ʨ pZ(ü ĹŇł›R‚0‡Ţă‚˝D‘ÁvťD!ľŐtŞ.Eͧk=‰‰úŔÍ›*KľýUí<rxš—Ůε…ë+Ý^ ÝĆn»ĐV!Ę: Ňăăwy}6ů—ą& ć4Hń–ęnŚ÷Ůh")¸ôXĆxŁ™~Ęţť^lÍÇt\ŹÜVe”q…eÔ%#2cK>mĂř Qr pGøĺŞđMŃŃ!_cDőj-ŞúV:“¶‰pn„,ÄW%r±Ť˘ž,EuEvqFfł”6$×!™‚;nU nW‰?*5ä§şßWČV•‹Z¤[PuÝđm–”G­´Wd€Ůźaô—ď'٦LiUu´Y•]v4™·t|oL1@Űú±¦ţ"!ňđ%6ŤT¤ż´ž¬Ç÷zĹĎźćŚ'ŠŁ#ŚA"äÎ Ľ±áë´NqGďdKC°lĽJEµ§ŕçşńçÚyOűŹíűPĚ‘¶u2LŤĺÉ1ťĺ>Ť<+x`[ăHDFS€Ĺ&—6+‹VHPZŻ=ĺnP]®śV•µ0ŻyŽéáX°Qy.¸źá~‘qáĐáÎeąŃŕÖHŐňˇüU–ŤŤřúo+]ű!<Ľu NÚÜf;ż"¤&woĂgŔî—uďy©üĽyÉ,X°`ßÎń'X°`?K“®ÜfŁ1Ýř˛|$iŔŕ`Ţă‰t}ŔďرčŘ);ä4NIŮe’|ĂEKJvÔEă9Ý{ďt|zź>ÔôÎAJóÓSJáďđ˛kÖB@Ęy 9a‡FŚ;® ca8ŠH^6´^WŤJşFöęX'öáL*w†–—˝ľÜŐ ´âXJ”TEČ©Ťx2‚„[;PřĆνpŮw‰?ĺbAËł3*ĆcÚd ]ve©ľ[qÔëľÜ’ŢĘ0BX‰éŢä@RŻ‘ä÷Ť$š`LŤ¸Ây`_ĂŃá¶‹óŚë%ŁhŁ †É"qኀäňÁ/ř¸ńŠA+:=´t0]Óßţö·T}^R]ü?w‰?ĂÔ_>Şv7ďţëWÚÍc�”¤|öçFěŕž]\Đĺ5÷ŚĎ>c'n­;đ!QFť8¬lŞj͡G⸨Ú$a®¶6äÜ˙¦ăÄIłŰ“I©5žĆ4š°“*RA × ÷ÓÄĐPr٤\§üL”Č·Í׍%ĎtĘ}ąÇ._ÎĎÍ|:§űôđčHű$ ăQJë¦E&ľxqÍŘŔ>|@i”s™:!1Áyamł®i:1üĚ"˝^$Ž›DĽóőü«oa/ÜěÝÄ­Î@Ö=dýmĄHP*'±­ _¸Ćšďéף_ÓGý‚=z$Ę>0ŻŘäI<Říçő$˛ČŽřăU„đ$ˇŻEü ,X°ź°łĹéö#§_˙Űš×=>y‚ ,Řwi_'˝ĐŤ}żbA°`?Wł.Qěđ tţxźÖޤ6˙ĚĹÉvzhŁŚKF1˝;‰ŹČčý#˘_M+:ÉSR¸Č6޶)=­ř~7Ś»-;şę6tÉXÓ¦ÚIAđ?žo˝jŤSţ�.ń'Ś_ ^ ‚Ó¶ŽÜâpÎ f‡#7á?Ľľ„úO¤)@tPLD•Dd>”ĹŰWĽ®~ÖąűvË.”çVş�3%ő 5Wá@[ĺfOÜáǧ,Ę4P麊"–î#ţěą©Ű^Ú›"—IR]ąţaĺđŕ—ś—±iŕ?Ŕ†úţ4ůE9Żâ¬ţzŰ˝űýo^Ň”‹± đ"rLőŮ))Ajé(=d<}˘ĎBÇe­Ż»,%Ą–ÉÖŔ-ůŢAŠ<áDűŚ5ŞŚdk(ßđ=fc—aL’˛F×[Ĺ= žFTg餖±6Lt›ş ׌ŁVkŠ€—ń±JAHgŐT˘Ľ/Ał ţěqء#I˝˘‘¬kEĄŞ<-ßźMkU,Ú#ýčţ 31BŰD®ÍřZ#;€ˇQÄsyĘeS>U[ńłQńóÂxv]8uđî@üE"îG1Ż_ň3ŔĎRÂĎn›[Ę&üĚ •H58Ť[OúŇy‘ľHŠ3#ĺÁ­^5"°ÔÖćFOŘŇ{ăÔ FŰ÷ 骑ćD!¨Ó罕ýő9)HÓ…YIű…y‹ÝwáägČĄŔ«D)-#á• Á ÁŘÜŽ^aXk]ÇňAP)šUR啵źĐ´ ¶vöW”w 9Âő‹“şQş—ŰOPłsŹÁ‚ ö&,‚ öł0ăţgh;Ŕ•Gň"Š0˘ ÁtI%ň‘ÇÖ§ŕÂgĺä\łY)J%‘‹°@.éq¤Ę#ÉxD ; E<Č?Š–4ÉyĐŤTEQÓG_x‡śB ®‘ĺ�áAjÍ.`ÓČŽÄ3”!Ź\ś?ź7ÚéÎú{ó*"ťsh†1]Űíŕyv‡ąň]Űí¬"¬ŤršŚÇrOëŐŠ×Ő˘Ľë$mYÓG­xUÜOÂNB´®h“.Äaß\Żhůô‚Š«k!A^<T‚[Ů&ÜNó)=úŕšźłs“Ó'Ąőć•ĺŤÇšĎFt˙Á„–Žią:e§`MĎżJi˝¤Żoo´j•äń»ßýŽţúŻ˙ZŇÖ!ÖÁ‰‚#\l6˘R„á—WW’‚ëúzA«u!�$OŹfôŕôľwä&O¸^FY"Î$q§“śfcş˙>ŤŃÇWK*ÚFVc!ăôiÁĐcUŠŔ0ľ}\˙°€ ¤¬šdą8ß*˙jଭ%źĽ%Ł8I…ŚV1ř‘ć Ůiľx;čË®ę"ä aMľő†ň•ęľ‹H¸och´lÖÉ<KĘtB?߉Ke6$ňtNĘxµ^ŃŮŮ™(ú`'ţxŔ ď¤ËËKůĹО8×őőcAJ’0ě ,X0˙ţŚ"3ř;Ú‹¬˝ű·DÁŰť5*mîNŤŰKđöŰ=Ďn÷ë޶߸`Á‚ övŘ>‰g˙űpÂ|ř{7ŘÁeçż3Á‚˝)f,ęᇇ‡‚Âŕ§#Ť:”›áÇ˙PÄźWŮxÓ;§Súőý1=|xJŹf†Ţ1ç4ŁŤl$YW‘|Ę-đßĎW9-S%ź¬ŚŰ”­Ü/ XQÍ/Ĺťşž81&„şňO•Ąş"Űw–O™.çĂżz…ŹOmSkş+]šqŞF;tŚ[ćÜ÷‰G­#Ř€@Ä[|eHâňřëP}Ä/lóYňť±Ęͦěý�ÄăTÉŰź–„sÇs Ął].(@KCă<>ŤüÖ¶äŕA>…<SjÁâľ˝mëgo2—õ˘žLgd¦ÇŹĺţˇňS-Ş‹ĄÖźI•ćHIvŔZ¶pcŕóRtU| •® ¤˝jŠR~$0”ńSś«D�nÓĐc‹4čo·šÜÇËlgűöo´Q Ąˇ¦Ľő—;tsęjŹlކVŚm·ŁT{uŢń˝ ăĺë–ęŇĎSpßěâ^Ń_TlšN A:,¸ďmH?r}HZYˇŰô”ť#ĐI=đ±EŃQl í¦Ôł·Ü˛¦`ëDwË~"Mµ˛Ź\?ňŘĺ¶>ßwÉĂŤ!çˇ/*ńÇľ´ž-mçT€_C•ëw:ťJźň }ť˛—SÁGyAÚCj>Č*pX6ŰĂtş•‡3 ,X°·Ő P°`Á~^6´Ež¬ÉňMŃ;źř{y}ˇ)ÁÜ€űbB=Z\S>ß* “p¸ ń Ő 8f„‚đ “ů‘ĄYiŘŮČľÂü’~\”€Ź"›ń $Ţq›ĐŘNČJ^ÚŚZ‘Őą @ĹŮt,˙Îşą‹J٨űëĆĘ«wµ0p¦~ s€A:V”őNâ˘ŕx$0Ô“¤ •”đ€}±XĐóĎÓ—żýG:{ö‚®./ůܱ8ă>ÍRĂ×:şwBńAďô 2^b˝NŃ<¦UýśűÄ:=‰yçť±:ĎŐ‚V—ăoFüy“Ć÷‹~ř—ů—ôď˙ýż§O>ů”ÎÎÎeSFzŹk.ďŮ‹´`é‚ë�`Ň ¤î/qšK]ż˙Áôç˙ôOh:;r*ůľ~r4ŁůD"‘6/ÎčÓO?ŁeŁŃü-îÉ?¦O?Ą)·âPë�tS‚<ŃĄ‚@pÖQ¶K~ŢpMDeL& U­‚&”'ňLAHMVť1´GmĹP –ďm´¤„Ű_�Ą·ĚĂ=~ůĺ—˘ćg Ď3Ţ;÷ů_r¸z˶@ŽCź�0-äůüóĎEńgë|Ú>âËż—^p{ăąÁ{őńäÉůŽmؤ+,¨Ď`Á‚űąŰŔ¦GĽM^hşÎŢ ţě˘wĄęzŐ¤ěëء& ěÇgűďîŰŢĺ7&"Ăű>X°7bžŘ8GGGň·ćź®ŞiO"y $›±![¸?‹č×÷‰~ó(ćűé87tĐĆ”w޵¤ďZ§bÄřŰi›ŇbĚccŢw]=ˇR2ĆE÷řĄ*”Cá†'˙ă­ÚÇ>îˇę1¶×ŮĐtWQ˙·?fźäsŰşť±ľË_eJ?C»ż‚LŰ+ë�kŚŁ¨WćqAË­Ř2°°ĂĂ#iŕ‹ŘěF°et`ÓAđ‚Ü€ ˇoĚ犏"¨k˝ŢhťąV’€UŕĆŚď Ť'ůľ^Ż˝˛IěŇk!řĎăuyBŃHp3!Z Î쪸ěţ±ß?¶ź·†6ş X8#Ý#fü)9&3>˘ĄÉś˘ćšž )Ąl˝uÓA˝É&Śq¸¶(° Ui„,ăČ#%ă]›㜊]Bř¦чë'É®Šţ’÷[ó1xƢmkÂźCÇu ăüb „€G(Ńpű Gôj?D7Ů!Ö;ZĹí‘~¬QűČßő‹®é­ś˘ °N.ęzUIZ®,ŹĺúHOUX:jkçĂBAÜjĘ,ýŤď„L¦UÇźP¸/Ý§ŕ‡Ş†E^ŻÇP;Ŕó!Í™ŤŢkäś·ş| q7¸o¤ÄR|*gPęWňTńLHŞ6§žImDBúÚOçóëÝbţŮS+Űż',cÜí¦Ć,ŚĽŻ$ť +—’ßü<H,ĎŚ<·e%äźÖEë˛M§7|öo”fđžx…HV°`Á‚ýŕ?Á‚űŮwvFŁ1•Äpë[—6e§ N'äeh˝B™×ĄČŤë”2”pRňg-Ę0ĐÖĽ>?Ł„Ď=ás·HąS@;łb‡™ř–÷MŘQ@ú(d6YÓdš©V<Ŕ]Šü¶  ¤“śf<®?eôî8§v‚üŮk*Łś6ě\—µVKv¦ËÖ9Ű:ú%?4őŇvŰ^~g3tÓö]¶ďΊýUĺ+;9›ĺŠVě Ňd¬Č»v2ÁÖ©<¬DŰŔ±áţ‹g/čěů úë«…Ô9" :ČäF-eďžŇ»>â6M%ZfĂŽ4”™@„9ăz˙˙ţŐ˙Źî?ý‚>üĺÇtt|D9·3E|ä4†CÄŽÉáá§Üf+š\ŇÉ –#úĂ?8ŢőĘ5÷´ßIMm˝ZÚ‹A‡QA ó4é\4ü¦8Ą.J„ úK-˛ĹŤŮŻ>śeôK®›ßüâýه'ü}"}Ţ:§Ď÷“)÷˝4Ťią\0xpMU±a˘ Łâő%÷ÁĽKiĚÇÜŻ!§Ś4s?c( ÖČ`1÷ft0Ó”ż ÷ő&rŇj]Ňăë’ÎV…8]>*j:›Ňáń~žŘé·µDütú€ëD2ÎT€3 °N}ÔוĄ[=0ŻYý»»FĄÔ;×€@ORpŐ•ŰĐŻ%W4—Ë“pćň>a ¤ #„*•^Îó ͦ3éűźţÝżŻ'Ç0ô)˝„Čç€!ż€>˝Ă ’¶ů”p�A $yŐ3öxrUB‹)X°`Á~Šć‰“űéˇňÎÝëŢŐI˙»5<ß~ş†ádĂţúţŚëŢUŢŇń'X°`ÁŢ~{ąRť˝uźťß»đŞěŮmĎü|=>|HżřĹ/Ä?Ž˝ď?x€żý0fÍ*égÔm»14źĚč—‡†ţůqE˙lZQf7”1ž“ŘJökŁi5-;pĄMÓqkiĹXh·T$†ľbŚęş‰…ücy›ŤTYŁkĽJ9c¬ŘQ-XMd˘AŠr+ę!ްáÂM´ŁĚ3|żí«#ďn(ź ďĆČýw~!—îÇ*/Č׏¬!öÄ|&™¨” 0łuŞěŞ$ÂńdJ}ô}řá‡Ě…ăţřÇ?ŇłgĎŹ6óŕá#!~|őŐW˘úŁřŤΡĽgg˘úmG$iÄ6ŚŃˇ˙ĽóÎ#îK‡Rŕ<PF…m8¨d"ŕDŞ:ÔČőˇ8µZîF6=co˙YčÓÝŇ0ÍhŁo<RÜ9?&:ř%Ńü!uŚ2ÎXî ąŁë"}ĺČ]J2ş;ţŮ>=ăšÜžťo3´Ű+f ěź Ťř™á§­C¤‘ßvŐšşr–c–©P RRIž¬F>B<’�Ůšű6cs(“Ë‹ĺ @}đ. dbzĺýľ?şJĘ’UĄ~ëÔżu;B.c ¨cÜÖvFr ˛üö`×d9ÓGڎ^Ó~Žbá,ˇ«)őÇ*)µ©ĆXä>;<OŠőt#A­#±ŮN?äŽOQn™I#ŻyűĆh°ńî=ÇŞ–ků#FQĆčXÎců=€¶F7Ü'?Ŕ‰Ďä÷7RŤăMâ\Sí÷<ĎÓ•{ĽC)Pź6>>’ô]Pňń­>ëz đćŞjřY¨e 󤢽…Ď‚Ź­v˙z˛ €h÷ď`Á‚{,‚ öł2 v‘R«Fş Î:•ŤH#30đî<‹N;qětĄ ŹŁ>˝VU—Ôđ 5ÍbŞˇPs}%űĚĆŁ~P)d€¦âAô†lĆ×w”±#^Y4˘ť0D´ŐZí|Ĺ4‹„źŚR:žćôźŻN ć<IoŘɶ™Dd4přě„JĐ.†N+Ý&c+ÖţwŁŇ{ßĺű$˙Đ.ŻNnąZÓ†Ź{ ŽŚAšjň±-Ń9‰]üpAΔhu~IźýţôŹżűGQF‘(šc^NNčŢé=:şźr®Ă”ϧÚ^^rűmčěËsú»/>ˇĂ/ʍI"ú€Ď Đe<jŘ9qŽ_{6űśćźÓŁw‰NOŹi˝dˇ°ě`I‹jĆ>";±ßĹϨÝA1n4 Vˇ!]Ű6ę°J]FâČv&ˇŠťB,Půi:#Žđ4íčţÁ>~çýé‡čOß=˘ăąĘü¶[FtŤS<H#J;Ĺ÷µë *¸ĎěDIîqvŞZvŞĐNČ‘Ü8ʉDŹX=ňÉ„źn% Út<›Ň)đ¸˙_˛Łú|ŃĺeMWkúbQŇłe)N17ęÉ$ĄÉŚ—)ü˝^_ńł¦eë�"`1@ ˝cG˛‰łtŹřó˛:ĄoÝÝ˝2D!„2•ąö‘h�o¨BZ¶R<÷îßë'•ŃOŃßăíw~~Ćç٦‰L( Hřŕ!]\^ŃěéÓ§)öî»ďö‘,Đňňá Âąń7úĘm˘FfU>űűt`^iÉd>¶ČcŰČĎ5X°`?MŰ%ůZe Ó ě›Ž©OY ŠŽÔ“@‡i‡ä"˙ÎľM2ý.ůô·Ĺ~hâQ°`Á‚űć6üÍŮ˙ýńża°đ¦ěÍ|vě e7ҧčs[j%` oS:n`oIWÓ„ńť“iJŹbzwZŇĂ ĘĘ…Šź Ť1 $Ć62Ć;G]BFo*ĆsĆŔďŚ*{�ű%—DIŕWUg+Ş4MÜŞZŇQÜ«ý?Ç©nî«ůHö?·íÓßßŢ126ŤÄŘ-ÁÇĐ •O¤˘„WqAU*˝ÂúÖ·€hĎ˝{÷§ÁqřŰߎç5y¤FcÜ ëáśś Ć–ç#Áw€iÂ˙�&<gąLżv„s‚Řţ5«j9®ÝŠĘöZţĆ>ŁQާ»«ßí`¶ľ^ň±ŔI°^FQ2•ôcŃ쩿 3{H–ż×ÍŠluĹ8¸Ž@i+ĆÂÚJż§jÄřĄq>—¤µńV™UiYz=ĆÜízÁ;AÉ]I+R˙\ŻPg°’:ާ«Kms9őV+ě—ÎáÎşXîŁ —§ş>du¬SűéčíDßVRO őë]ŔęÍŇţ&KD˝ęO7üť6˝úŚŢó@Ýďň(=(DVČr.u]§ť¸˙­—yăŇ{9béĽGźć UŽŠŞ{Ô+ëŕůĽ3ý–›Kđeĺ«N—$żFËßÉ=¨ş•%ëČ?Żą«ŽaŚs0·aJşS ¶zS«×·BGq«Ď%Ňśá]2LłĂ6í÷•Ń–Ą*ţ(ńgęě&ߨŹĹ5Ăçŕ6ą«0 ,Ř[fř,X°ź•Á*¨ł˘đççáŁwčôŢCYyŐGti¬N¸H°’F` (DäÄůX«ŃhJÇ'cŕ"ť&çmfŮÔ´Ř,x`Şň©ńiż–4ŽU†2ęnOᕉŕŔ5ٱLÚ–—f0ř§mŠ®Űß}po»@ú´"źĄ˘,ó·6ź¸7Ť¬ĎúďQ§Ä€'PEd(ÚNôŐâšâ'_‰Ô-śeq6ŮQ„SŽЫŒÖË•´-#ho´#öő‘űŢąQůS5´ÇÉÉ)/ńĚhú¬L”«b7©(ëŮSQ ß H ,ľ€yĆŔÍ<§GŹîI¤�((!ů>S#‡tQ9ł"Ęőő%ýă?ţ#}öźp=ť»t[V¤eWW tt*cś˛Ł•:Ąś€Özc´GÚn^a±XŃ“'×tyyI—× Z4VT‰ä9ł ]7F@hŮ(ĄIŞů»±ÄĂ?]Ş�5"u"='žËÔä”ÎżżIRô7DRů<îÚ.Ž8“ŹÜ3śô@ĚäÝ6Y­–ôüůsQĂy?~Lź|ň‰ÔŔA�űřăŹĺŢĐ–�{ĐŢ>ŐúăPŃç”ű& ĺAßPň–„nëŻ,Š”-ĺdźsyđ\áşŔMó”‚ ě§dűÄMYé¤đe `_ĘyÔ÷¬ľ3ńĹ‚w¨FQÚ˘Ź·»?Ă2ů}†ö¶nń'X°`Á~ĽvŰďËmöb#‚ ćĚ+cě~,¦ÄĄ9/ŔyčTŢľŁU…*Üěâž0 äUĂÁÖXh¤ę™PV©»¶Ç‹@ĹŹhKÎŽ©÷‰óű)uo „|ŮşÁŤčúÁšˇšÇaý}Ŕđ)ÚD‘Č)TP¨q$_Fř _|ńE_~¨Ą„„‚űH"X 0 M?ę˝đ)¸¦KĎ%Ás ”Y2Á4$†2/ňeCаkĆÝŕ«ŕű ¤ß•‡ťq™˛“űD÷îSťК﫸ľ"suN¦¸Ň)¶ƧťŠąsżJr2PőŽ:Ĺt)§ZHO]ŻĽ#í‡>€ČhE%p/¨ńq¨Ď©Äšr×˙’CUQ^ęÁKľ¸M¨·ăĹťH´LŰc÷Y!®ŻkÉî>ţš^i‡b—zjx¸ÝéWŰg‡ÄUŃńÄ%§Ú*éëµ…¸&D#ăÔśď RRź9eňČ—ĚőW99ÝŽ˛Ç„ź,—čGÝťc?+±}–Śo [čłÂQÂ~q˘sÔ÷żíü„?µ”ĎD·űťŽ%ĎźQ!Mu¦ÄźaźĆé4í^Ý+śĂđĽŕy�ÖŤg ]Ňśš—”&ş{Ľ¤ÁČ>hčűĂź ě›X ţ ěgb**¬­ĐÉ…$Ä;ďĽC§÷É Đ;XI4íťÁHő!%W0ä#›ÍšRޢ4Ńx4Ą; ‘ âNśultČI[ňţ+ĘZCcvšMfhÄ“L2Ąîeeťl¬N08Ťčp’Q›A¤Ł”:Zv¶}P¬DaĄ ¦hzF[gĹ1ö©wşm¤†cő#.đ0Qů¬¨cäšFdJr (G:NLďpK*.Ţo>›Iş$DŐ›BUś¬Ć9-ÄŘ9˘ääPť3>$nŔ†N—Ę–ęĎdĚu=źó ÚyIÓĘ4%ęĘě�" ó@µçęúZśÜ›¤ŹčätÎ>÷::>ˇŃxÂődią©DŞxµ\ÓâĘÉKóů@ú9;{Aź˙ţSúęóÇT_Ż$Ť구Zşě*†~¸n#î2Ččr» î/kjoUcTđqiŞ4W‹=}~.RĹ×ü -ůřÂ✍Čý’“GŢ” ÍĆt2Inršň¸Úsv$‘ …oě˘enż¸iß& Ă= Ćřh¬­ňN$)ńÝ1s—sňÎpśA½żxń\ҨáťâĎ“'OÄE[áťIp�7âł-ůý÷“{ĽĚ3Ę‚÷Č:řÄţ¸.ÖcRß=ř4LCă #ŠI.ŞŔ$ÎĺIŹqňĂöó`Á‚ű®ĚŹń|Ô®ź{n3˙;�Ű?ÍΤ„Źâő`îţäÂ0ĘŘîŻ{›,�›Á‚ öă·!1Ő“Uýd™FÎň©H‚ öíĚO8űŕ(|ÂĎŽ!˝zäŰdŔ]"(o$™,&FšĄ”ُjogë‘®¨…r´UÍ”’÷]Ű„|›Wµa“4ő<ąń¤ĂWUťD•Bp>+ăk#ÄU×Ü’uü÷á;kH0Ú·}rĐţr›‰6‹SűQ‰!_![Ň&uŽ|Љ˙ĐŠrĽW—îUFÖĽeŸ Ňj•ŚÝN)zĚX¶/j[^/{ÂR]_^ ɡX‚éÄ&ex(×g\·`Aו×Ć‹şľ¸¦‹ÉĺiÎXoMgçtńâ\‰Ś]ŻVkí‡\6\w{y~AuUoÓÝIvŘjÖë}ú­Áńč')céŁcJć÷(›0PŮ­ÎÉ.Ψą|B´xĘeá*Ş;NYG| Ĺ` ߯éFÇ2şF[ĺŻöăÔYĐęŠlÉuQrEú¨|Jѱe€@ ‰Ĺ ˇ"ďŽ@hijG\áßDŢjć-Ö5>5—'‚ ˙¶4�ŮiG]|ĐŁČkű¸>eĚŕżrZ¤‰Óý·¤×w}F‚ţoKCnŠq%ŽHR¦˙7 ŕ‰Âš`xÇřŞ~•řŻ)?_cţĚ”ĺö$Ď$\͸/ć3 ßą˘{˛ůO˛îö]/0Âň“úă†áëńýÇŚá§1㎭Ľ_Ú®¦$ĺkę´Ş·ŹşFú:<S¶’oÜ}ôŠ?­¨ýt‘ú×Ű2m Tę««ż.ď´-Ňóµ ? ĆR¸SńüNçR‡u.µß€Śä®şźĆmĐíw×W9X°`oˇâO°`Á~Zv×|‰Ś˛Á^±łĂ·“OťHţdNŕ!ş˘b§Š?Ţ)Äd<śÍuÁÎĦ¤NúzIĎľü‚ÖěDMŹîł#‰R8i2ĐĹ *(“ĂcvΦwbYÖ4łFČI<bš'šHŐ9$çoK.ýĽŻyÁ÷•8e3¦ÉzFË‹Kj_Ľ öđ#jç#«ҹd©W«iyc%/m™óťÝú&ö{›_˛w~a*4żúŐÇ®ŚCąUŤ hEj”zBčł=:˝G÷Ů™<g€NuÍN~آXÍ26T$[Bj*u ËÁá}đáôŢűďŃáÁ!;@#É!˝UNs]ęßݡ,]ô@ťFúţI0â "y N`˝3‰Ł[°ĂT\/ÄÉIąpŻ÷NOčŢ˝Cšť2bź- <Ă`DUŮ­>Gż:wŽ$źźërÍ@D{¶ QŐ—Z‹b!÷\°ď˝,¸nS+Îâ$Š%źxS”Tó3¶iAŞé´Śi~XŇaĄ ÍÓECçk>–ׯę”6Ü/ ¨Pµ±S×…oBuSÁŽŮőjI‡ÜNXš¨“ľ%vF§Ś'˛óÓxÎN2ć6‡çő‹±aÝ[üµoB�‚jŢ�`~ýë_ QĆ«ęȤ/_¤yŕh¦ěÍz2ŽOŻő‚źßłłsIĄ†wŽ'źˇîý±>" ¤D€ öBWęşÎ` ˘,؆<í¸ÖČ»M Ś>ňËGá:x xö§ú§rI¸/Ü‹HGsÝç㌂ ě§fĂÉO™x0I?ąđ˛IŚďśtľ‘Ýd„'|úHZOFűîG�Ăü5ŞN°`Á‚ű®ME40�żcříňJˇqôăS% ěÇb^ Ř«OŔ‡?˙¶‚«ĆV(ÍʱŚŮXbt”Ęh,Ű…``rč:˛¶ŚY%Ë\1.÷ÂŽčiSŃ3Ć|žUŚM ×É�¤Ó ÇČ+fh %k[MÖ*ąFÓ}mÓš•5‡“űĂe8ŢŢMńÓî({­Oßĺ’GÉäż'E^ĹEÉIC⏠ĆđßBŘhDáÄ}<KîÜřţţćo$ŘĘ“ľ F#™ŚI&+ŕł–äŚÚJJ5+őq}!Ř1}đţűrüůgOĄď�ŻAdBOľ|*¸TÍďôóót&Ž­–÷tţě…Sź!*Ę‚6‹•`fCdPgiźŃ`ďb=ŘÁZIŽť}@Íô”j¤ şřŚşĺY`ĺËK˘’?›˘?\s(y…%éadkĆÖ{m#Cťk%ńŻě Dň :÷¶¤¸ŢđysţoN”1^Ču&Ş?Ď-.©©[ÁÝ!żo] 0# C6›M¸~¸‘ňKH,˛ 1ęÉ<Uź;ëEvm] ®K×%rÓ®_qSó©›hË%˛.M—í¨’<Ů…ú:‹Ą˙ş~Ű_|Ű<Ň‹¬Đëx„ďˇBišąxQößOG©Î{Ř”ě’ç–¸NŞJ8ާÄ+}}_ďi[ązäÚĹć4…H]?×EßŢă ă¨Ę nŤvA.rĐg}źŘÖ%m =FÉ?tł}>ˇŕâ”­łŽźe„XÂ0t°ŕZP2’´dF4Üü‰ułJú‰öČ?˝&аÉo˛â‚ ě­°@ü ,ŘOÇĚ«6F<ŔśŇńń©Č9Nf"‰ŠA'‘b»©Jvbu;§‰Ç&‘0Ćyżrł&“,DE¨cÇ d 8[HŮ3çBVŔHTŇ$™’f씌˛„ĆěňAógNAărßZ' ĹÝ5%íšéěô9µW+*ĎÎhýě);×3vľŹ%ß1GLZů<ľ¬¶{Î/ŇVő“Z?č¨ôćdĘ4Ź¸Î¦ROµäw޲ü•}ßIšČK’:<S{˙ľÎŽŘ—h¨Än±S6aÇ®„CMÎ!g/¤čÍgBz@ZĄăŁcqÄáŘt]ÚOÚ‰¤i«Ë•ĄgĎě`§\Ć„~HJ?îM[͵ě]€tčk5-VkĘÓ„˘<ë Ä6�ľ|ň”Î/.$ʲ²Ť..);żŕűm%ÚĘâÜčłČ[^3ŕbÍŤîgČAĽŢrź˘żňµłák,Ű„®+K— ¨IĹtµÓ\K®7-­ů¸ŞK¸]2nk(4u˛”«Z~FKDŚavÚ6ě`[~€=% ŇđľóěĘŕO–S>ť+±†wčâ);«9Ď>±ÇŢňý›řipBA Aź@źń 9^5Š`xŹÉ ąéă¤'Ţř\ę’-MD± Ž:ŢA Ţ�Ä>X  „thř�Ňńń‰¤Äy�‚đČ1�>>ZĐ÷ j\ůÇű8?� ˝t˛[�Ň÷+ěăIB$kŰC ,X°ź’ 8řď@ڰďTĽŹ‘nńOţäOč÷ż˙}OĐÄv#ňo]ěĆCőźĆÁ+˙ I?CeÁ×Içu č‡RŢ ¤¤`Á‚űńŢĺ(Č]jhřđ7đŰvŰ{ţ_ţËI˙ěźý3ú˙á?Чź~Š6 ,ŘëŮ_Ś‹Ç“xöĽUBĐ8`l{› $`1×Ë5ťóäüŸ¦kÓ1†Q˘0Q¤W6†Ś •U$ŘĆ5^0ćs¶éx±tŃr‡QnU|H1Uň¬ݦbśúy"Äݬě?íÎ9Ě `Ďö×ţ»ĚŹŐ=Avă}ç~ěŕ»â¦ÔźżO´§ČŇ8ŇŹO-4$ˇÜżŮ–U.°˝4ck1ÓÖ+ň߹ɉQ^9¶'ŚőZ®Ď)@1>ÁĹ“3şfüw «QÁľ‰9× ľş®¸Ď­•Tt‹yŇ‚÷O<ďĆ“NzÍě’~öł}|­§ś0NGůŮŃuŮ5–ńŻëçT_>ˇŽq(*V Z®„xÓ×˝t†!“Â1M¬b׾éI-f¸ŻÓ»â;/Q×ö©»,$m’L3Psí:G2JîAŠ1Ňň”˛ŮďĄ!öýÖŚ˝óö¦VŇŃľâŹÖÎn ěÖ•Ű×:ŚżëvęłďCÚmuńj>v bÓ+ţt7Scő­âžĄŰÜ5ă1tM3Ŕsü¬Ä-Ow0.žó2IitjxúH?Ŕ”[ÁĂ%[€(zůy%ýtÍnz˛ţy”iŰ׍Rj[¶m_ŕ(NšŠ˘Ľ|ŕ™µ~6›Béw{š#Üxµ-Ó))Ëő;iˇÎöé÷đLnS¡śµ`çŔ8ˇtż^T”•ÎáŘ™gřśűëş÷Ŕ­žđţ#,X°`o™âO°`Á~fÔńÂĎű|ŔEKăéDT40iuµ‡Ě;ŤčĘ$<;ęä"şáśĂ ł bŽ5I.d‡Ć , 8÷Dbň|•Đe˝dG®Ňkç–Ř›eę´B•&5©ĘÚ6‚OO@í¦ÓɦĹuÉýKzţü\TCVćÝ‘€’Ň'ęH¦NN>×RGěć4vň–é‹ë…ÜÚůw·kj2¤÷Ň”DFhś†¸=\/ € r%ŠZ±Ł†É;c:qv$˝öSކHݤ‚sමFĚäqQ‡pÚŻݬžHýľxÖŃ˙üź˙‹ţîo'’M臶!qĹ“>D¨ÖPŚÁPĹ‹ô—%×ď(¦iž¸ţKÚ,Ô%îwĆ}ö­ŽĎŃ`ĂÎqâÎIZ±mŢv\ˇÖ¤ĐŹqN‰(BÄPk„d%¤•\Óty•"”ËGmÁqÜ@޺۪Ra2e‡ŽÔ©vq~A­©Ę:!ÚĚŽŽŮź´Ň_ŽŹŹi<;¦Á¤ŐŠľP 9ęeÁ’»<âúÎP‚ĎtŞ}DÁÍł d3}نýńÁz¨ř p?řŽş‚TÉ&“izybĎo~óéÇH%%"źâËO8c?Ô5ú<T€°ÖüvÄ;ďůóçRŹ(Ţqxn$ź·‹�,X°ź˘y�ďsĽCńŢüÝď~'ďHĽwĺ·˙Ĺ QT"ĆżřĹ/ä÷m4Ň߼Ď?˙\öń pÜŞ E}*Eź†ń.Íëk~(N ţ ,ŘOĂ ,úŻ˙őż_ĺßü›Ó˙^ÝöžG�~áoü»÷ďčż˙ĺ_ľ•©‰‚{ ăFřŐPÇłäp<Vüo˙öoßü-1ĹB+Z6…–ľâGţ+[Ń1Îç)Ť3…Ő=ńgS0–·`\Ç ¸\Ö)]-K[t´\7˛˝ŽZ Ľ´vw }HŢÁ'p Á7Ç#®§¸S{¬ Ë0…îP­sHü~úőwă{„–WLä›Aąýy‡ÁWC2Äl¤ç¶7?¨ĆH˛X)„`mcÚŹ'!E<Ry­KÁ6… ĂÇ•Ľjť˛ĘRÓ]i{µWž7Î]@˙†Ş • ËŐŔŞ€§K�ÚíWěű‡~§ž™dŤąe"/‰Ó˙ŽŚĹ×B˝DŚ{B–żŞdĘL§Ěîw)?§‡<W0ťĎ(c<ş¸ş¤§¨×ŐÝ`ŰĐëc(VëčÖ{öSÚ#–)áÇ ?ú]ŞĄWôw)ľŚąń[nEˇk[|źR+IőyCôdC¨‰±ŕV×ë–ßU…ĽŻŞ ×UťmŁ>ŝDž‡ ¶=éÎ?çĆh€ę¶dÉ“á”$剑 ˙¬Wµ¤Ł A”mwkEĘĽ�R}řă›#ÓoÓŕŘZHom›jÝČsŐ9µź•,˙�ël$�UŐ}¬«+Ż6lźa¨¨Öł ¤ź`Á‚ý(,‚ ö3±HňöžśÜă‰›Ź©@>cž¨źŚŮ™J©mŘyŞ05Â6oĘeĺÝ9˛v>mŹ@Š’Ië…RÖÉI‚XůL¤a#’öV-r^ŹhMcšAͤ'âDÉ` ň cšry)SU< UŃŮ“š Ş–kZsZÖOčřä„ňČĺÝć^—îŠO"F¶Q bwRŮď2ű’ýĚKŹő'ďOź}EăßBLi2Q’iôĽq9©U¤łŠcćSIőôń‡ż šë%ák‹!>fŤéĽŽčŠA‰+ÓĐ’ËY°˙0Šr:ĎéĂűŹčÇďĐŃÁ‘śŽ@’D4łsťFâ<-®Szţd$ůżúňš>ýä’^<G‰;#óşŁ}Cô¦˝„Č…šű(ú%ľKĘ9�ťŐ|ă’˸eźő˘ĄŚűk–f˘6‰×<ĎřK?ČşFr9,#2†A‰ěŕc˘$•H$Q=@˙ŽÔÁD>m’ +¤˛R<'ěŚe‘Ćç¬ůy‚´*Č/+”ŹŰŁCžď9ž5zFť6 öQ_P8ř|P*ˇ@ÔV˘Žu°XÓhąˇiI#>_ÇŰŕĚŽŇ?‡i4ěz·őĚ»+—ľťÝůěsµłĂŇ śF�u˝âOĄ‘KŁ|$9Ř'IŤú‚Ő|&ŕęĂGdĄÜ—BîA›TňN,€ & >đ3đ †í8H?ďľóŽQ6_\ Űń<á|’Ż›·ˇźx§“Ý�=@a $8L`ăľ„xhßlź ,X°·Ĺ†`-‘ üü“ňOäoĽg}¬˙ôŔ˝¦E)ůýyѧH„a~ đţĹ»6$jâwĂż›żŽ Á[űľ“mř=,X°ź„Aáʡř]Bđz% ÚŐ†?�ßŕŻţęŻčüŹ˙!N,Ř람 ń Á÷cFođéŞ??¬!u#‘Ž(‚÷€dš†É«ůmÜPŐ0–ĘËl°Ř8âÔ}®kZCĺ™˙˝ŕ?_zş˛tĹXć’w«"‡ýEAĆp¤A&+QćV$‰z%JÜ$Dř‰ýˇęlH¬’ö˙öcđ}Â`ŢH%Ýĺ ¨“˙4 4lß<ŃŔD[… çKşŻĆ©·ŰúŢCçŘ^§„śŇŞ1nŚ|z\çg‡2Ćä2Ă’M%ýWµ®¨^Ôđ:Ć‹±_Ĺmł2U]IU]*ŽC»ę2;f0Ź˘ÂŽú`úâ‘ÇŔüßf_ÔĆď3\ŤŞ˛µ ®~WŞpď!ÉîžF°8s`gw÷“UzNÓéBś­7Ô­Ż¨‰o,W’F x&Iđb¤Ä,¦Ś§ŚŰç)ĺł ™ÉŚL>RŢđ8¨Â#UX§+˝ž˝ĺEňJQ®ź(¬i’˝;˛[rJúÂő ęÉC[ť•ŕI!÷„n¶Ç6öűóŢŚĹvPsů'KCµVĽŘĐúEEĹĎ]\ń'?ÓMÉőŠ<dŤ^ĐŻmí^ú1măpSë<ńÇ(µFˢ ÷[ ů”´^VB4Ş$€ş˝µ®vŇü­ăžŰ=âOíH‚�Ü ž,ďăĺrE›˘Üu׿Ý΋ ´ľčvPٸ7íFă ,Ř[fř,X°µíŹŻĚŰ Ň˙D)ťŢ{H±zvľ`đ 0ęĎX¤zJxŔŃf±ˇ«‹gš/—q®Rť4‡SµjY‰$ĺl~Hóă{:á.„żÄ2íę 5 WkBšâu:¦ErB#sDS[ÓQÝ c¬‡.Î…ŔÓňµl”ń`5ŁĹjÀ܂ľřňš.ľ\?AÚ ‹sşZ't2ŃäřHÔ]ŔXGĎ…˝˝gś3m\ĆZ­ŁŽz/ó.ŇŹ}Ií łwś¸ĂI®n]bÔ‚Őě=|öŧtÝý^TGŢy÷úđŁ)Kçn_ČŰFŢłÖx:ˇh6˘llč—DŮŞ"»)icÎé°Śx°?ˇe;¦3vú^4kşäă—vĹNč”îOéWÇŹčăűďŇ}n»F”O iďфۄ#ţ˛Zާ/?Ń?üĂ'ôŮg<Ń÷bĚަE2]ćĐ‹;îÇGxó^€*ŠŞ‰ßś'+#¤i‚ŇrŤĂy´­8NąIßoŞŠ*n—;µęĐ´Ž.<¨b đ /ó1ŕ±€ücŇH?­ä çs¦č2p`¨›Júäźó2ÄÜÇ)?_DçH%ĆuQl ş*j*@Q3ě”!7łs>ŐÁŇ ‹P&äÖn5§ăď†A¤ ň”źOs~ĹŽůĺů’.Ej–/hć4›#Is/w»Ó7úçË*Ř9~{ź> –¦{iäeÄ:ß& ýŚů™„PšĄ‚żNNĺoĽôsÉ.Ô|fłąś§Ş!ů€syy%ÎęýűčWżú•€ŕ°brŰAě™L·J@~Áó0˙ý÷ßďSŹáúĂT^�qśOć·yr‘Hl•‡`Á‚ýÄ ďżŹ?ţţţď˙ľ�éŚÉ|ţáOĽGAD!đŽ„,‰żńÎ×÷˝@ýuŞ‘0źňë¶Lż~żl?¤Ývý@ ,X°Ż!¨ŕßţŰűZűţŻ˙őżč/˙ň/{5’ř%ÁEÁ‚Ű5Śů|@ mü¸ŃĆ‹oJéçu}vŇîX #ž˘âăvbś&ëá’'uG˙颦żŻR:®č`šÓ,Ń /ÔÎ/řţÖ›R&Ż\ű˛čč˘d¬Š·76K”đ#`  ŮI 0 4“rńuAşw)x<¶âË˝Ż0˘ę6:®Ć;‘ Ě›©ŔĽBĐđ\ĂÔai† 7+°Ą^Čl‰řŻ?ľYśĘ:¦ţÁVuĺtTr+Şî^©h Z×ŔŘbƲâ.’´^ ôŚLÎZNcÔcÄ# mÔűC9E!Ý*©dťŤĎ•€Ô2®ÓöTŞ;: ďĐÁ˝Ž¨±s˙Ô§óŻ5l×Ó_íő±XŐ~@Ŕ°Ŕ˘v¬mÜ®vŹ,a·źľ€Ž­2$Ąîb«Ńvw«©ľ˛Ë¶Ś…3öžp˙i«u‹g’,Eđ(cgPři:ÁŰ“éŚňĂ9ŤOďLhĹe]ŻK[.3ž]ĆřÍtĚ\lRz¶‹”·ÇŮýod¤ý$’9Hł‘íI|÷pÄ0ŕ™®ČîjzŇŹ€Ś#ęIy…oť»ôŤ7ÚĂ’Şţ ćśóIŇVĚT •µtţéšOůŢüFŘ�űL4ą‹45ZOJňĺ‰\™;ęI{¸Źn¨ˇÓ ćK˘ÄiÖ5Ě}0®Ś´^PüY]Cť©˛ˇ¦I#Ú©3OęŚí‰?fĆM?BúÁ;$‘muU éó7ËĺBFeQIFą|ŕ©ń]ÓřVµ®M÷Šápf«Úwß`Á‚{ -‚ ö31jîWÍ#‹A}Y>“čí‹K¤Đ:WřlóRSË$|4!<ŞOžÇ‘ć˝Ć ţéBT;ŕ@ŽÇ™ÄČ9~&J(…HĘîÚhBQ>ĺ·ďŕÖĹHĘ, FRT˝^ń ´dGărqĹĺZJ4ĐŮŠ‹Fré™+[¨§\ó~+j¸¬ŤĺIű\„őé$n y— OçsVđ­G±Ă(Ó“1†§…Ó}}EEtÍm˛Éüp&¤ ŞLlú3a %H°¦HYĹővüđ!űb˝8;Ł’ťâ“Ťˇ"[ŇĄI(*S˛ULţą«ć‡”<8¤ű~@ż˙=ş÷€rnŻEYHźŘ‰ŕO’ŤĆS:ś?¤Gߥ뫔6« uŐ}ľţ\&�-EŻľm{K5ĽaSGÜH]AmŠU Ŕ (Í´Ň­ś:ćdmÄ÷Ś4Ti» +Îi>S ŮS8ćj$ˇE� ŤŘńK;+§87žMŃĹźĽ_R—ĽÎĐl2ĹÉťĚw ' Na€‡˙îjnß1—=s˛±ŞŞ€óڏm'ÓŞŢU$A6â ňs·©t}yZ.DDAąG,ĚÝÍń5kyďS•ż° -Č7ľ-ü„Ż(0ą¨Ľ7đ^kĽ“É<F?é€xtß„÷Ó|~Ŕç>% Ľ[ Č3¸�DĽ› Ą€\X‡sĹ.ž´ Ż÷ ?Ă÷Öă8ś"śňăxÖ@&ÂßHô©  ě§lxGţÍßüÍÎ:?YFh+Q˛ăm«^ Č“*ýď—O ¦öÉ3˝<ú×°ď“€s“D,X°`Á~Śöu~;ĽIxď öő ă>MËř7°aÚ)l?îSíŰľjÍ0­Î·5?µ<(al!KtśÚňĚ}mAŇk/Ç) KĎŰćĽmľ±4K,ĺ‘ŢCU[Z®1FVchÍ·q^YZ5VÎ"@ r°#¤#– %ë„T$^0ęËÔ:•źwaš~˘ćUŮďZĐĂaž‹%e¶µ»u3Ż÷ŹiČ—íć•âűŕK·˙P1t?Ő?wÄőj¸2"ŕÁü/6ŔÔř<Ť’[ žŚhjRţd¬ÇFň))ÁB.]ѲŤö‚Ö^ŢöňcöűUŻgBžä×öÄ!ciűoxóÄ(˝gK ă”PĎŃzh…¸‰łÝN÷ďĺdĎ*ć·5ĂŤVpC ܧÚ.ÖIŚË…ÚOÂoĆńččD‚&«…¦$k@Y« Q¤I(Ď ˇFÎN™z^,Î/j?‘¤k‹ú¤xDw#’ź··Ý·ż_ł»ż‹lľ nő'­o-#ž÷4O(§˘ř#ÄÄłF1WOV´:ăúŰd|˙±KéE; <C%¬ÝO˙¬ ŘW‰?}Ş/<[řDő[}Ö»N#Ař)KťźyŮ{­&;UÂýČłÖN»%¶NíG”ęy{U+ńx+ćzd¨ęz…sŻ”äPŤÝöfłóÇ[Ť†-,X°`o«âO°`Á~ćĆiȤőĺĺš.ŻVBô�ó{˝YÉDŽä•ui0î”H’N#9$UN¦“÷pDcSPYź 1Ç`˛X 219ŻÁ-FúÉ(ŁÉdÜ�đ/cç­˛šŽ >EçĘx~± ?~ń‚ÎÎŻU¤‘`Ň5;1k»–}Wś‚ZQjz)\ďďú±uŠbţ’|×ߏi*¤’Ö——2ÁV75=|ç!Mg3™L‹ścîďä“ů|®uĚ>DvďmZzřô);gJüY¤Rk%f™‘ý“<Łń{÷čÁŻ>¤Ź~ń Q*xť-6ŇÎĹbÉuů„Ű睞ܧ‡ŹŃáäľ$îť®č˙Ď# TAźŞÎm>Â�úf–ĄÔÖXçŇŃŐ±|ďeŤ‘˘‹ťn=NOOh6›Đ†űTd˘(ˇ9×w Đ©afdú¨4IwŇ"P+‘~<îbJŮ1‹ś"–äaw jŁuݧšŠŮ'ž˘Š9-·ńŹťK[l·RK$ä— j4Ŧż_uôş>ýž!´+$ëg‡'”MgJŁďÎŕX Ż eź_ţę—ôá‡öĎśĘÇ.µs]‚<ýчpO8îŹüc/ëŤč?Ô $ŔńśŁn´}NE±ëQç^˝ç˝÷ŢÓľZr&p ś ÇăüJ~ÚĘÝâŮÂţđÂń¸ΉăAô‘úçó`îŃŔšî†‚ ,ł!ĐÓ±Ţ6uŔm€Ąź$ŔůŇŹ·ý¨ć»¶ßőý»´0é,X°`? ďó`Áľ˙Î;ďČ'üt ¤ic5ŔŘüpź‚{hw‘®=¦2TŔů6Ď5Ƨ(Çh¤`Í8W[[Á@‡ć•‹*†×Tńd’–Áe ÔVĚh”ücí ĽŔRmăÔF˘^§'ć`Śü’ĽÇ*‡ăd˙~ŰpźŰČ9#ĹâÇă}ŇţřúözęÇóf{nŹ­xâϰNýö!Öz—ź ”ź¨WŽş°®·Ö´Tň?~&ŃDR|ˇN‘žiśŤőZořµn$ŹžźcöĘ˙šnTńsĆ›¬Ńtó]ŐŞB÷Ŕ|źxé©]Ŕă sÄ1;ôłDĺ¦âÔ†lˇi·,‚#Óśl>ĄŘpyŕÍH=WÔČżGÝŐ9•JŔu6ž[űĽÜ+í¸ţa]ź6Î÷‹Do߼¬cíř“žhÓß‹ő*:¶oëň±ů”_;˘4·]ÇŇNP"‚ýf3ÍhP0v{ůäšË5mVâF)b ™ęÎ=7ľ’}qÍ^łlÓőDŃ7ň©ő;EŰgĺiĘő[•Ť(áţ5Í6Ýn:éďugvńfśwHüA0iÁ2ćM°l6_Ó捂ôď!_źNƧ'™ýÇ+ڎ‚ öă±@ü ,ŘOŇö9ř2Đĺ˘ę˛¸â‰ů-K* (e,h˝Ľ”\Ż"x˛Nä䆏WśA ¤(Î%ÝŻĐÖAxpŇň uŹüB %Q Ó“ľç5Ťx }Íg|Ńň`»BęťšËUŃŐőJęË«˝8/hµîřĽ‘FQÄPJáﲴ<vf'¦á2×ĹŁ™Âál [wó;ş;jş&ękę;@˛[fĽú Îk!J÷ą›±şE^áLŕő˛Ą'_>ŁÉd&ęIy’ óľŹs01ňm#'ň’ MŢąOknźâĹšŠ2ăz™‘ĺsŃş‚Ăx>#:š’™äĎ'Ťs6:¤+¦(͸­fÜ”÷(JŽ©3SĘň J®č]ł <74ź1xSŇoű ˝x’Ňfń>÷—ŚľoŰOéä^Ý�ňČ#�ŕdG&×ý¸OfSşrLöçFď˝űŤóŚ?ţ\LâŽrżĄ1Í' ă$|Ľˇ$c ¨M(AîkDg Š íĚÝ1Ď„Ü3Źř{äš)Ł ÝŇ’{8[ u€†¬ćGÄWĘĎT‹ç"ęÄŕg.f'Ź—Ť“ öÄ9'öŁ’°Q"©đ ˘6HͶş˘Ńć’š ĺĽÔŐ×AÎ;N•g†Cśhřdnűx˝ş'%˙dYN3îO D:WGŐŠCéß^Ť$%üi:-€ęxnú¶|đŕ‹DYöm §ü˙úżţÝżwOÎĺÉX>ŞMÓ]Ęy°Ŕ9‡"FŘŽk >ŐŚ¤‡s$ ´ťŰĎzŁę('¶)i)˘`Á‚ ¶5nńűäÓ '†“ şďvbŕUÄź}RŃ]Űý>aň6X°`Á‚ ěí4ří^Mw¨Ŕ ţ>Ćrđąá‡űÔÜĂ1$ě®�˝—Ť'_e8#(H%#ĆwĆeîŤ0¦ÁCP{ŢÔLÔýE] 4‚ÔdĽqťČş�$ ;Ä2>®y˙ySŃ€ä¤÷ ¤ť@!QŽݍ‘ŔŨ×#7žüŕžtâ2Ą<Fń ŇÔc[Ef;]/řŃ@iĽsiŠ<–ăidăýqB^,p&Ć7M%Ál˝Ř‡_<ˇČm„đÔj�§´× H>u–’:·Íˇ°C‰6…XOíŔ*E' ő7€d$6]ѧüJlBc;ćë7´¬VTv•`Ĺťy}l××Đ–ţ4ÔůŮ~··śow]ŹÔŠâ8•/˛ýR 8횻ȆlÂ}‹¤qăŁůs›j¨¨bH{évť¤sęs0™˝mč•‹Ş0úhĹuŽÎÇĎY]ŞÂ9ö,mDĺ@¶+,Ś-FŚ›Ő’˘ĺs˘Ő%ź"&MĹOJSęu\gŞ?˝é|‰U} ĎA‡gľŚ«ˇ>Ú’qB‚j|+j8hŮŠ˙vC…ŮPťqyóf'XwG)Ę AD>']OĘzY8Ą:QÉuÚÖŚ!%=CćŐZŻß¬T)ží’lú;Ţ˵CţŞĎ6Ýś|łŤ”Š_3ŃPgÚĎĹ0ÜĄ\nĆđĽH´˘Ö4;·ĐňÁňľâŞXół<e\¸ä÷Ěş5ňú©¤Tü´ˇ”ź…Dłpż޶äŰY”ť,K^V Îeů™‹řvŁ^Mhئ© U%óĺń ˛ë fPΗŰ]Ä/ş•ĐÖ+H ,Ř·°@ü ,ŘOʆŽĘph%śsv„6冮AüY\ĐŠn¨óP»ˇrsEuY(هš ě(ŹĆČ�>ů@qÁŽźJdL”đ~ěh–•Şj`€\ŐM/×›&±Lö§M+9káüEŮňI1^oblG´ZúüË }ůĺ…LäŻVÉ=Üv±0ŕ…„‘·Ę`ÇÂ˙8…M!äăÉVąőŰh�ŰGÔŘť( Gü1>ýÖ7^Ý ĂČŤh+#+”ŁĽD©±9űVŮVmľúę™+Ţ{÷=ŤQQ[É\¨-µŔJ˘yNů;§ 00˛)i]eě8̨Kꪤń˝#:8>˘%ďŰf|ÝqF6g§`ą¦Ć‚Ä’3^qÄíő%Ů×áŚŰösĘâg4ćbÝżDżţĺ#.bżăjźQązřĽí •şŕ>Ť4Yč›čĂIś©ĘďsrrD˙ň#úż˙?ţ‚~ůńG|ż–ň<ŁßţöďČ4kqJGÜ_“Ů„2îď"›äI)7\_Ť*3QÇ}—ťŔé8§“ăCš3P”Ç:ÚJ ±şZ(©e49 BŤŐ4\ ;»);kpţSÓr/ŕçŽË"žU'1)h…üsÔc–ëÄźőŠűüâśF‹)ÍŠ EŁ”Ö�_¸ś4çQ†Ü×”J¶Ú‰eşřďŻYç*ɸď€L°J>Xp˙xv%×»SĐÁţ>•ögJaü®đďOĘAD ”v äŁ=zDżúŐŻčŢýű;í â‘'y;P đ7R†yâŹ~O56oDZ Bz52!ţpJâ0L ,ŘOĎöUun‹^ĽËTá­˝QĽţŰŽ»mŰ~ú†W•ŰźëeĺÓöM'—‚ ,Ř÷kŻú=GĂ»=X°ďŢŕ[+đĎť÷ĎŔçŞůÂ7÷“ý^h¨ŕ=˙}“± ŚaůsĹË%ig<A~Źq™_Î>˝B+†Ľŕ#ŚŁŕ܉űd'|Ą_á>•˛Á÷ta­SjîZňş$‚éD[챓őmÚ­í$zĽC®P‚Ă–ůăˇkăž”3ś%߯‰ťó™!‰Ęě3ÎŐĐĺó’.6—}çŕţ„>8Mę$›VS}Yw}L Lmú¶PgĚí%k@‚b\ĚôŐŮpý–ű:.˘ Ł-„—XqŮ XŰZ”—ěő±]#Á™=ńÇěÓyvé@˘‹b]z0Xë‰;˝źS_“ąú™Í…«–ĘŽ1Ķ–{KÓVm¤ĺ¶Bn»=ŘLŕk©ó¸'…Q_Źľ40ŽK Đĺ~j †o‘h=˝âŽÖ:‚y;⽦”D‡”Ř %eN-?qů”’nMqĺ”Ď›šĺ:E›3–ćŘ7ÚŢ}Ť(‚Ő–¸ŕKŕŐ˘tÄŘZÇóŐ¤źĄÔo' <†.;Ćţ ĎKŚŻi3]îÜ»Wî*Iőd÷wߊŻjnWg(jÁ8o]Ť)[j !‚–ݏÍĐFžśfŇHČ|Jęq§xéűĹ×]-í+ŰŕN`’PNÇ;nU/ic îí5U­ŞĄ_TĎ©ŠŞmđ G´ŕ~wŢš¶ ŤÓHž„5”śV¬3‚A‹ }2a\xÂs) ]ńű–±ă+ţű˛Ééş.iŮt ćÖiÍmT&ŘěśÂ™ÎĄH{˘˝7T4žl%ňŮ—<f{@ó+ČÜą60‚ öí,Ěč ěgaž5Gűââ‚Îx‚ýúęZ8Şˇ"LŰęŕ´SGľSäR;%éH<~‚ÜÄ µ”MudÉě8áX'骜tĺjµ–4](ì~Jłâ3*6kYqQŇŐU!e¬*„(ˇ“Ją1E' z.•ĚÄŕ“öíxC‘É4˘ĆG í[``;€lśČŰdß›¤Ps‘OCĂ}�A*%¨ÚŚR%Ţ ž…XqtLö!Q=;şyź÷%·/ÚŠ=Az(™ů”2>Ö ż8"š¸ţ*)‰Żřkv®f:™×™y\ŔM>Ę5ňä°!čăU<rý× Ŕ ¸.‘K’ŹÔŮh¤éꚪż' @r'S ç)ÂŽ‹Đ‚ˇN$­÷łIޱP»9<é`ĆŽTl@¬»^r®%ş Ç༵H¬‚KZ1”%I¶¤%¦ŃRE„Bś\ĢiżŐ~ş•MF:¸s~†>ý´•¶‹ŹR{ď}z?Íéô˝÷ż3I&zcHĆŞÔőÓ§O{â } Ű@ôńŠ?>ĺ¶­V™¤ı¨g´Ľňú;Ô—°ŕ|úH@|Px7H ;ţôiÎđ‰¶đĐh3‹óˇŻâx,xoU <y‹T~ĺ¬ÜűÇ _ŕx”5X°`Á~Ę6ü˝ü:“  c['ůľý ł}$ćvżářĺ&Ůç–3ďü=Ślމj%zE ĄŰn#D  ,X0OüŮ˙ÝS ÄşôÁ‚ű¶ćÓ€'Ž�ŕńřń~B_0™=ĺČŰÔ|ěŤ47jŰqáëňp4P–몥/ÎW‚ UŚ-b»SLßÂÜzÜQuhŮŻßS0z Ä…ˇLŤtCë–.6– •¸,@;äźÚ}KÚŞz"8łS "ú:¶%qmR4duřý®Ió”őęÝo3}響É0˝×me¤ţĂ‘¶ěsVÂűMiJ˛kĆČ Ĺ“Z·Ü´v°AŔ¨Ąť›F, Űr H-ŘÚwŰ0r”eĐ-÷é®&‘pňŇ-8W·âňݍ1ŚÍ7c"Ć”[Ćđlyɧâý;7U*’UÖ±ÝvÉc®r\ŤÎJN¬ß¬jÉő d¨ČŔ°ľd\ú޸˘ËçôŐčKQ0¦óÄźö5ú”ůmŹ÷Ѹ÷JâŔ=vů]Ůpśëf…$JđbSPÁď¨YmŞ =-ż’şéŹ%ŞiÍőńb±˘Śç_˛©ˇ*sď>Đú" ¸Îó–ň˛ŁëM'Ä+ŤÎÎŻ%łÂjUH¦ŔŇP5“l|Új8¬uíł}SGŇëµ´§µ×]oą{z9çćÁAŐ7X°`oĘń'X°`?S¦9R!ťźźŃŮŮ]cb]6,3p®`R»ě DťŞmřĽ¸D‡˘ ř‘[—ŠÚH;C§ÜÜ ĂÚÖO°ëä{şú‚ňĺ§´qŠUó˘‘>±JNáLvSKχCXńy6|OvRđ€w¤5v—}îçŚö×K< ˘~âĎŢ`•ha謑hz‰n°}ť¬kÉw¨“€Đ’G©ěU¦ńlJIŮRÄuŘM5Š ŠL;Bš( vWDÓĄ\ʏd yUv𮮟r˝žsýBⴔȑŔś nóŃHu~Čń¸—R5.ǸFSu˘ěă'" `ťqҬ™KáäSNŐ]Ý«ČŔ}‚NUńRËÄ&üÝĆçM''’c´®‘~mę?3vĽňŇčUÜÇWBb+ŠVTgĐFP!Úl i$ÍyßTžO2é:źżÚĺĹF ňqs_–t_NFŮG‰ Ţ[~–đü>.ôřńcJO/hÄÜüť÷¤?g’Sx@]Ľǵq„+¬™ćÉ>è=Ü˙ĺ%)ůŹ·++—´\’_›·ă^�‚„ăS¶ ąg(ç†}¦ÓÉńG$mAtו´ohôJDžÜď؆{™Î‡°O°`Á‚ý\íe€›nŰţĘŘÁ8eWýő~‰¶ăĹ}‚¶ŕoWÚOýuą{ďJôM-�Á‚ öă±× ęń)(aâ;Ę} ţ ö& ľýW_}%¸ăP!>:üy<{đůa7đřăPŐöęqéë™'řÁ–« ýăÓőÄĐG㚎’7ýě[Gúů!°Ć×·MWŃĹó ťo,ť_’˘¬b©®ĘĽ2SĺÉVt×8üő”×¶űônQŹń‘QěëuŇ˙öĂk)łÜ~Qe77Ëvł¬ŻVŚCjËýą5w’,ŰY§bÓő[tĹđš.ĺÝÎ} Ś(‡ . âŚ<k‘–Ł~Ü1 KAŧ!mĘĎâh4–ľ*Ď!ăůQ¬~Y×§śSbĎ â…ł˘śŢ1~Ťđ:kŠź¦»¶^H9öëËă‰__ŃďÎ~G«¬Ô`U·mř>x•}]â0HOüńjä;ĘBo؆ď1ŹWÂđLU–ńÍńM»¦ëöšž7_Ňş^ß8Ţ™şlçŚçGtí?’I‘!ö©Ě 4ő QeYÓŐęčJ˘j$aBeÍsC‚„5ĹšŻB~PÝŽ‚ŃÖ@ ęČľĺoµ`Á‚S Äź`Á‚ýäMÝ'eÚ_/ÎčŮóÇTŠúH­¤ @IŃČ “5UÓ;čĆI‹‚P×%o[Sµ‰©� (Ë(ă‰wLž#Ż0ta!Y;âJçű$I5őR˘A 2,Ř*®R>çŚ”Ż‰ŇŠhů€čcçHHXš¸Ł”‡ˇë®¤ZA 5ë+*ŤŹHÚ¤ÖuFČ$Î ’CŮHŽyŢAőĄŹ0yÓĂ×A$Ć ‹D‚UÚ śnĆţ­:|ąIčŢŃNN(ŤR!u~ŤŰŁ*@nZSŇĆ’»·Ź)ç|ĎGÔU-ž_ÓĹâ’ÎĎÎĄmAüb ň]OŃŃ鑤g«Ű3®ÍżĄ.ţ˙~AÓŁ/éý_”4?~A6†$ě ęIp”ŻqK÷ oúüÎ^ńßSEEIGd6*6eÇ7K3Qá $V‘ź˝wř¸î7÷ﲹךëé¸Zw“5úM °Ł¤‚»y g ˛Ő‡ě0­čňůŠť)K«)ÂFÜŮY-4‡uĂmTs[Uh+qŞj.k*Ď ˘«*´ ˘ZśS.dÄ^±ó–ć)ĹID1ę^úi'é§ň4vű©áůóJFßi»¸Ç �ź|ŞŻÜĄXCśx,0” äuľüňKiŻŹ>úHöEą=AmÎ…cqţgĎžI[z2~І¸W\N:ÚK}R9®urrŇ“Ľp~Ż�„óŕçFy@ÎBŠ1‹óük{đ?8´Á‚ű)š }„őm©ľŢ˛Ë.ŕţŇ=_˛ÝoţFÄź`Á‚űńŰmI;ď÷0đ썙Wüy™ÝFâŽA‡Ę”·ŤMżŽbe¨EjYOÔθ ö?¨mCçŚq]3üWpĹ,¬Duoč+kÖŃ?ě6¸’ö’riĘłW”íŇ`=ůĹ3x\ş®×!ţ¸#¶Ű^Őzâőb$zŮ=5›áşÁ¶m™<Iix2XÍ8ŇR±ě» Ń_fŔE»Ý4>đĆńýfă `ôd˛DŽ”Ł)ľ4ĂmĂůx}[q;w)ce9ĂŚĽ×V…ŕ÷¶‹ő^;ţRmë )ĂúöÁ>­*¦·%?DM˛S>ę®Č4ĺŤŰB.wQžŃďíßÓe|±Cüiż†zÔNőżÂ€Áf©b±Ro€Ç¶? é·ĺľ^G mřß’ű #ůTŐÇśá}*—%cÄ…ˇëÔŚ¶Đ°'ié ĚËl ©<ą »TT˝ Ć·›nŹč†kY»ĽCü!Ú‰Mţ.fQ‚ ěMY ţ ě'm˝["‘5OĘ/xü\bµ·Ž4f‰Ó)ÉÄłŃ=ńGĺŻk*‹µKVS:ó›4¦9}“ÄI˝ę‚żk|‚t …,ˇ$Mĉ�K|ÝFědf<¨×4`¦5’^Jť)8Huĺ”k˘ŽbŘŠypšđ`=15U›%­ŻSšq™ňiĄr¤.ÚAéJř‘ôeâÄtâvhDńčűłm„Śur­2,ďrEŘ’(ŁŁůśfB>1H«ş;®©Z‘]ŰD2]›<§|<âúeGiUPť§ě°wô|ł"U‰Ń:M¸ţOfS:<>”‹ĺmޤÎüĆóK::]ŇýGe4ař‰ô:ÇpPO­’°đ÷[0¶ŤrK&)´ô{Ű+Ă€déSôĎ!A„AHe‹;Ş:př¸FŁ_j§%uî°@vk" D¸HA‘Ĺş˘Ës÷L4|ťxDyĘŰůśŤÁÄĽ-‘~.ň®ťQ%+I%Š^§łäž7…JđL&©–Q3‰k˝§wŃÎěĘ] ů.únő˘Ń—đ ŰŤí 4ú|FB˛!Ią@Ě‘÷�ż+–Ë•Düaż÷ßż—öFš-¨ďř”ah'! rťŁýž?Ţź¤ź ‹/WPʲ\< ˙€D…°Ë‹K9R˘”äSŻů("śd#˙NóÄY(X°`Á~Z¶‘ë'Sn›ý±ŮËË˝=ţuě›,X°`ÁŢ^UŘą ˙ýŁ`Á‚}ź¶˙ľŚřsaöşc5Đ1V?Í€ÎĂféĎ4Ó70(†ŁĽ�UűPbÔ@ł˙°=÷c¸áfÍżF[ŘÝ?ě0Ő•}ů9öŰşĐ^ý7;ű  v¶ÓŢ7Óďł=RR„톔V悿ľ<_Ü0•±’5†WÜW÷Ů+ńKĹMÍNÝW‹"—šŮ‘y ř#-ÉřdWÇÔLÚ¶«+Íŕ0Eë^ű*®ň<Ęť“†qmVó~Íi‘:l}'!kE úŁů}e˙HQíR}aîâ[lĽĚ TÖąŚ¦Ý’żËë˝Ę$“_ĚŤiřŮĂżrŻĚŰżK~Hź2›¸]Ь±v łóäŕţZdSč§<t®ĄCŔµ52ϰOŁs´;şÍ:şĺńÜďŹÁm,Ř[bř,X°źśŮoLż{GŮŢL“@˝ň†íÚžu±É éID_ot¤CŇÓj%L 1ULŢËň‚›ĚŹE~R Ř)»Ćă‘LŢëu­„¤< ]8ůQLĐG‘*Í÷éx°`"żâAkvyIM2é‰JQÜ8ňŹ‘‘˛đŢ{YÍ[˘·l‚ é´r®îšÄBŰ”eAfѨ9č×˙˙Ůűł&É‘,=<�l÷}‰=÷ŞĚ¬ĚŞęęę"…¬î–Ëá3EfFřŔ5·~ P„ĂË!§9Ó·oß.Ţî®%łŞr_bŹđÝÝV,WżŁz�fnľE¸Gś/ÓÂܰ(  çčwľvé!ŚmŠŁÔKáÖl5éöÝŰ´´˛Ěd‰˝ý]&UP”Ň»ďľK›ĎĚő3ÉŠq…=źE˙•ÔL1«eÉ$'šÄ+!Ťsřťą>€>ÍQ$“8'@ó4‰ěyG¬neú#§ZË\Ő FNJ[% -î·ß˙= ű44ýSJ!ĺZŻKałérR§¬@Ôh$yj«ĹK>B_Dj<l+›9ő 5{˙Ů:±jQV¨0XĄ#r*\ ‡C&Ď\fnj�÷ůęĘ*ß«˘ s˙ţ}&Ů€”sëÖ-®+•l˙K™pó?˙ç˙¤……NëeźQžţ çon°-ú&î[ôĺeÓWoßşM÷îÝăö·ićěu—k‰ş`y«eI]h'´/H_’" ííp,,*RůéȰ ÖŰ6Ź®íä·BˇPLC•ěČsSĆV×'§o;…BˇPĽş¨*„”TFčř§Bˇx±¨#ýL[ś–śŤQîŘŔżGf÷ĂËuˇ\yĚĂyČć]s–I˙Ě)Ëś ™#)¸gú‰›g%U˘Ľ˙ŢzňűW™č”gą*ĽvT* HL{&sťŽµÇd_źŕSGţń©Jľ:QF%É c €mB«Ä?Ŕ»IÄdžĆ/j|łÄĹZ–+׆|‚, q.«¨2M1!gő݉ąwi«tZgÂişOzÎý_"0ßWžyŐŢRűö÷€Üťŕď?K÷Üe§»6íĄP(^o(ńGˇPĽ2Č<C„Ž‘2›ę Ę7ĚhÇŔ?u˛ťv”m'}+×IÂ~7N0…ŇÄÉšÉv¤Ç bĐ91†D"2 Č+ëňů"uHřX5!I+pęŻnw‘â唢ţ‘YĎ&Éë:•žÔ}W(˙H¤Âd2ćč”Ă= ; ÔeňE‹S3Ţq«y ©*ŃzépĆÓ±e� ­&·3mÎłÜî´s˛U”YÉNI?Ťď©©Â úÔŚš¬nŇn¶©˝şĘQQ·ËJ8hO-@ŚXY[§¨Ů ťť§´˝}Hű»ű´´šŇúĘ-/d楸oÚ6¶iŽR3\´Gşd®C—ů˙iÖóâx U˘Ô’Łéä@ä`RT–:˘Oʧ¬¶Ó@äMćňO¸mX DÝ"ÖÚˇ$lšsڏʇÎXŽL›âRĄŘÖś˙Ń0¦ĂÁĹP˝™#ąaÚd(ď =ŰhB Č;KÎ8ç÷Íf«Ëä.{" ĘB;áT{dÓ1©%ł‘ś¶Îl—VţeM˛ćü ˘±Ů.IęL@rB?ip}óh¦iÝnÚď@š1!ŇL\®nvDAG”y@Č5YâÎíŰ·sŇŇočóôÉzľµĹĺ Ő®+ú*¶Yč-°‚ŹŕěµĺÓŘVÔ|0qŤărÚ7(‚yy»±ŻÔ uQ u•2!ɶ6 rd«ó_ˇPĽzđť´Bň–÷Ş3Ż›ĘÍIőUÂŹBˇPĽú•ĆWńßuy`…K˘P(^Ş)Ľ¦ÝĂY–Ńě”®Áµ»*·i…“¶YPlP%őXŤ ś[}Ń},«Fě^4śBűÎĽ´e…J‘ť °Á†Y%ŤŮiS&K) …Bq Ä…BqíQ"ř;ňʧîiŤd@Ť™LSdf ˝ÜĚö Ş<,ń ˘ŮÁ;SđáT:f!ŇJX‚\¸IówŁŐĄ l°şŹźnÓmI9p$şĽI˝… j56©sxH‡­: źRJŰ‘")1Î7ČŚĆ”EE} iŻ@8Ő<0!‰Ň1MŽv)îv©ŮŢ †©ÇS…‰lgPD80‘#ĄP˘ü)ű2ś.ş‚!Q,~DHŐ&]łI›5˛uÚ‹Ôît(�ůŔśo3 ]d…G`ÂďaFGŹw)čÇtóĆM&7$+ jF NoE ¤C®cÚ¦ŰíQÔěŃhÓÖó„¶žŽhlţ¦žq¶Äć3^2µ{Ű\+›)@nçÔJÔfYĎs“âÔ´sşnÚ5ôÎíŢś,?śn NÜFÓݡëo÷Qز–üÔä>Ž{ IƦ[d´°Đˇ §Y3eAů“Ív±i?A2sCŚŇ_>VŠ”^qN,ËRsL¨beČ‘Ýŕ>7Ig M»&ČŤ\É-s¶L}"¤Á¶Š7“Śs©3‰)˛jU¶{'ÜĆ(+0űDa›Ň�„Ł Ťâ&LBzÖŠčŔÜGYłE+ÍEZ zf˝éGćcBÚr7y΋ł&±b)YsŹC)}MrĐΠ΀€ż‘Ň „jXĺhq‘Óiáo,Áç믿¦ożý–>|Ȥ´ĘCŮhgx¬zP“IB8–mll°zŚvwwéÁü7úÁűďżĎß8¶GʉÇ:Žż±-ĘDZqnŘ'Ź0TŢŹBˇx!äI<óü4‘ţ;UÖăŮ)JhW<öq ‘Óp§´N$) Ĺő†<ÇńľőQĽ7�đ»Á Éő#ľ*×U®iŰč˝yupQWâXLš§ňtÖkP0•üsZ?ď˝Í*k˛Yi·ć.Ů~˛ęRAT˘cjCٔ͝jʰd%mˇb›ěXĘ'AXÚ^ÖŠÝ߯î$” t±đ#˝ d'í’•űý:ĚŽďďŻ/-?I^HˇP(®”řŁP(^8Ĺ(¶ŘŹH4ŠŚgĘ)şlúś”·µ)ł"&ÇŘĺ±™T i2QÔ°Qv÷ WÍ€OĂ›HŇŹM/F¬ E6˘ĽŃiS§ ő“.5š=ŠÂ„Szá!Ť†‰9îI;Ó’tú%îx–”AÁ( ¨¸OÍέ­ÉüN×î HL»Yŕ,`R–e/pĐzÜT,Ľ‘{i'䄸ݨmęڨͭL®T ·÷©łĐŁ Ő`2–%B¤lÇ ĚdXk8¦`rH‡»}úüóďh{÷5ş}ęvRzţô öjEG6Ĺš9n”™ë‰âĎŘ”µ@OžŃá”–Zô2ü.BFcE©0:&őŚÔp’¶‰ăWÂŚŤNűÔjRŰĄ‰Ę\ľë••eúÁ@“#jĹm=ßbő™‘ą#«T“ƦOC ÁIšÍXZ˘~ "5B'}Ó—Gy .L”Ç1ŤR& ±McBŁ–M-ňP82ŰŚůĚ85]d‰V|Ď$ř@ŇhŃ«xÂ×f¦ćú†|żšSbDËć|mî+TŁřsQâLÖňD°¤.Ăą€4Ă$)¤V3ßHâ �ŇČ:P ¶ !EÚ§ź~J_}ő“n°H9’˘ `'O}LŇzI:3¬Ă1@ ý}wü#şsç6ÝĽy“ G86ęűĺK28•¬ŇŹťHR«Ž¦P(Żüńž‘HŠç;žŁx~żńĆôć›oŇÓ§Oů9ŹoĽÓ„Ľ‰çđ[o˝•ŻĂoĽđŤçčÎÎŽyßa’ç»ďľgĆźńłőîÝ»öÝh> ‹Ę»ŰډíQ—çĎźsÝ~ń‹_ĐăÇŹéĆŤśVëń®Ŕ3ÇFzIüŤI\!• ę& ü‰%…BˇPĽ~@Ş_I [YRţfNÁ?üä'?ˇ÷Ţ{Ź~ő«_ŃŁGŹčŞĄW(^%ři÷f­÷ץS\>.z]JjĺŮ�y6OßĎůXj)tÂ>2««>s÷ĚĎőUů+'HśŞQʧA©€:fEPůłŽč#A~ž0?Zz¬$ŽŤ•@`nĂŚĘéËl»V+[Hî€ňĘcĐ{ô<8îË­ôá;_Pů;ČéZ¨MŐ ń'+Ő%ŁJť2˝ľ …âjB‰? …âµBćŘüĄ|öAĆ$¨üđ¤:řA”§|đ÷ETÜŘl×h¶x˛(li!X1ĂĄöÂ:Iד82Ś‹fŘĚ#íBjQىöN§MíćÚ­„†ćXĂœؒ<jŇR€ş‚d12UAkź'úŰ™ťÔB:3&y–!Ţ!%ązKxHA…É·ŕáž%A T†GٱáäZµ{]ę,-0‰Ä’­,A†Ë1ç<>Lhoë€ŐVĆń×tç­=бť´ ¦»– †¶IÍľ©DŰô(‰·iw'ĺ şáhĺĺ"śs'¬¤q“~:4}ĆÔLż ¬Ś-“~š ý´™ücď«�tO $GC ‡cúäwź0ń}y×LL˛ł!É(Š­ňŽ5É2&Ĺ®_w{Óß;ލ’ríĐ‚ÓGML¬@�µ©†ą|™ĎĐl3žŘúňuÄyä$&KÂCŠ1Ü/ČÎi÷p˙͆ýŘ|[U†ĄĺV‘Ë|.µG;Ő)Q…X]]e…LĚbňăĽĐ÷pNx`2iľphWLŢţîwżŁßţö·ôÝwß™ţ× •ĺe&É~˘î3Ű´^BÜÁ7&{ńŤkމcI9†ď#łĎ˙řG3Éü9}üńÇôá‡ňİ}°ž5¸—0Iě§µ‘txř›'’řD§V)˝˘BˇP\ř%xîáYg0Ř�h„Ŕ "TŇ ¦†o<_1FÁłi5±Äśß˙ţ÷ôË_ţ’ßE˙ýż˙÷<˝Ł(*ŕ}`=žË¬zç@8Ćo?üáY ÇúěłĎřyŹ1–ăÝ€mP&Ţ9x—uŮ˝CplŐ9J}‚'§˛=G{) …âúď†űo˙-ż{ţăüŹůrNq^ŮďŞ?űł?Łźţô§ô_˙ëĄßýć7ąBBˇx9¸¨´B˙Âż€q$ű]�Ó4˘‰ř)�?Ą¸¨dŠ_ÁW«aUjłÇĽ�ŻşrđlŻD‚ś® 0n·>”˙ Hńç‰ç©tpNŘŔů༤„đ/°)¨,±DČ%˛ťŻ"/ŰúařN>Mâr»Í«ěcýĹ'łv˛9— ¤Ý„hĘŻśfŢÂg)Çj,Çv++«f˙÷ śł´­l‹r¤ż˘í‡ˇń›OÜy{ä×Ő.ćŠ˙Yˇ Tý;oźb»Ě©ą0 §TŁ Sű«Ľ•ôÜh+ś ü‰8GŘŚâ—óç$Ŕ“c];`_|r^çľb˙~ôţ$ŘOÚżîľE»K˙˝ jch'řUývÉŰ'+ĄŹ�Ĺ6ĆźŮön@!źB7˙sŕvŔó?ŇŻd:äűʶs`Uó]™0>4ţńäbĆB ŤážľÎýŮÜS~ĐĐ L…Bq>(ńGˇP\k“ă oąHo |1dŕÚn›ÁźĆcąc;‰îÖc`c/|0čť8c¸ŮBúžŠÚ‹4ˇŽYf‚Ŕ#ęi»ÓvĆkÂG&->^Ű2iŚLT#7yž2y" WyŕÝj´»Ő§A:± # 5šnp:¦Q§N'NĚ:(ąećď4sâL6x°Üh6h28˘d<ÉŰA.—9”–¬”Ä]Чp’ # "K”hµ#Úf&ÄlŤB6›…ŞŤ(ňŔ@A[„1 ĽD¦Ý[ćş´: LâbĂ1„qÝÎI$É€hx4ቴ,ŇsÓ.G;0Lj›ct˘ łß€FfßnF7q9ă1Ô‡žÓdÜ0•é/Č×xfÎÁ˝FÓžůt‹öĂ‚č‚ZW Ξ÷ 6ÚÜ6čSś N˘7M}“ľé‹f2s‚>ŤtfńRcPt2łźé{-ô÷ăĐh„Ćp†á8q)ĎŚˇdţ ťťp*ŻÔĚą ĎU8Ú8¶Ö//Ľ]`ębŤĹ‰[ň>“Ř–Ĺ” ďć^ÉäüŘ–F*1s.f[N®fútjĘáúNbîëŔť‰ąVťEj´Í5EńÇGYŰ5ŹlŞ®ň7Ď2ď“şŹŤâô/Ć0´„śVNbb_łÁŠ^oĽq/W€�¨ß?bĄźGŹÓ'ź|BřĂ8=×îîŽyÎtM_ëäF·85pŻ‚ř˝8MP&x6a;LRď;•~ăëÉé·ß~›Ţ}÷]žHĆ3Ŕ7†Ĺ±#W>BjÂ÷x2*÷żŁ’ Ĺu<ă�µ777YŤ¤`<seď$ŤÖ7ß|äě EźgĎž1Ďnl ÔÜ@Ľ„˛ž˝X&BÇsWśłP÷Áߢ¶†ç6D�¶G=ö÷m:F<ĂAĹűď|đ±ĽP¨UÓ~ťg‚H‰? …Bq=pŇäŢÖV´jŁ ŠúűúO{Ľ—đ.±őË/żTŇŹBq‰¨ŽµňÔŰ5oţúł~Nř0ćĸTR…O#ŢŕţÇVöđ~R�eTÉ1ÇcŔź1«ڇe|{•€zĂźň=ž™�l�żń<•±<ţĆ94‰ç)·M;HÚuŘâoaREš±Ź«JüA»a[iO´3ü@ŇŢ‚}zđđĹűtĚă> ŮLÚ °`Ă mpÎOź>1}ÍöI«ŚöŤ…ý~úÓ?1ďŞ5öiáś%Ą˝<Ŕż†¶Ćz(–cżCg÷.ŹS)ešűOH:a(~ĺÔ-·­Pl] ČśĘ?e9‰RřŇ˝mOq;â^- ďeÜxע­~öłźńr™‡€ (б@‰í@„AđöÇv A9ěS7Kt±ţj”!ď{ŘŽč[Ňţ>1팲Đo­żr74|™Ŕą~ôŃGÜźňą"s°¤Éä|�Ůn4špż‚ŤĽ¸´ĚÄd@[MFc&ţ´ĺlm?3ë콆v\__e-°cÚăËŻż˘ńÎŇ,V˘>¸.č×GĂ„:ÍeR(Šó@‰? …â€0ď…/ż„ř“Ú;YÉĎŔ©ÝŤŔ �»¬„2ěŹőÍj‰%Čd`08%φ(Râ4Ě s•ší%L"&0Ŕ1Öt¬űE”kś3XĚĚŕ11ű…  âę+fÝ0žĐhx”źE§Ý¤^wŐ̦nĂŁm3ń?dc˘g겼°OŘcżáŕȋȅ$„P"ů(5Ç3çĂl§ 6¨Óëp9»ăŤâ B©cǧYJ—9–Â1EÍmó=rW,bňŹ]iŽíRŁ5`ĺ“Fء˝'ĹΦ¨×m0És‘ŠŁô›MCłQf‰Mˇ1Z˛6íď˛aÓa,[ä® i™#·¬â’Ů÷i2¤W3E/škąş°F»ĆČŮŮݡŤ›!ő–S.çđ oę{`ĘBÚ¤%NDÍ9ń„bcÜ'v˘.Oł&íJb¬‹hȲhÂj96‚(jŘT^–Ł2$îĹ‘ÓIJ#c@ ŚSb˛ŚGÓRV˘ ¨iúF{÷‚1”Z–l3¤ÎGŽU‹âhP—¶ËćÁrĺłŘAě"FS&ü„LäY ĄIb DWd6eXĚéőV˝A϶j9č¶Ujj¸č3N±zŐ$Ď”—El´ýÔ\űî5;=s> t¸ăM—'˙ë*—Č>i™�„öjF|źv:-Ž�Y^^âsGdF¶čŢĎŁ›`4C˙“O>Ą_˙ú7ě8Ç„°D~Ř'´rm9BŞŰË•`śŁ|8ăđA˙…!О`(‰$Ä!´!Ž ‡&±ql8Kđ,Ăv8®8“ġd â"íŚíOfú ©é‚JţQ(Żŕ,QÎRqăyg'ś¤x^ăYŚç¨¨á9 ž«Ož<á}ń,†ĂË@î„sß�žłŔóď,Ç$R®Ŕ‰ß(Ďv<ŹqLĽű úőß~ű]Q ŻLĐŔ Š:ţú׿ćg·<ż«“Ŕy¶šLˇP(®NšĹ»čŻţęŻň¨ţYűŕÝň˙đ<ńÇvK0݆„Bˇ8 ęîAßçSý®®?Ë8ÍNhŻ3IE?DEETV|`| ź(€ń'€ß˘" B2ĹD¶Ö16YŔ: FRâá÷đÓÖ^˛ Î c{ ěĐ~ Ź`lŹzăܰۉßçŠvÂolʶ“´ë°'Đ~AfěňăĽĐÁe‘ýÇŘFü6€Ż”ôäéz¶őڞúúżčg¶(ýŔÎÁ×XÍ$-ršĆě?“e’&m 8ô—ŤŤÍ\G”nđ-„´/ŘźS5X"Q杸Żźĺj>Eš'ö“z?Yŕ®ËAs䲌 ŞlV>v ŵő!} ~>´úlO,Ç=‰6@{ŕÚŁßěQÜ[8´Ę@ż@?9 ŰŠ:¸(xˇŤĐ7ĄOâҮҟE5HĄP&ÚőŞ“Ľ ŕüĐN8G´ôv÷v9xŔytMÂÜÁŘśsßl{xpdî§ŽŮÓ´Í‚Yfď§eÓ~|}MAeęřÓŢQX%mŤŔNiS 1í#dĽ‹�ŹĹL™hgá>xl| ™™ąŮŰ …Bˇ8”řŁP(^”]Uőś2ŘĹ_$.}Ł—Ť‡°ËŚXžŐšˇGĘČĺ0‰Ú5 Kd�ár¬29b[ÍÉHb\b0 2EâČ"ŮI^]Yň$0ÉŁgҰI8d˛ŹťČ7ĺýEŢç$ Ö’ÜŃ—§úĂäő2cp>Żá(¦ŁţĐÝn‹(2Fm«Ď†K3ęŃä°MGc&/A HPD‚’¤13ńąÎ‘y‘żCÔ ¬śF”ŚBę´ ^ÓŁ4nP–Z˘8ĎďŇdŇcŚ/¬t(n (NG–´E-j‡]ęuqm#Z_kŇĘFhĘY5†˘ BnKF8ôxTD> VĚg‰ěc ”ňb[Uú–DkJ@X Gůµ+vÁ7«+«\Ťś َiź†KŹí$r‡Ž ®;Ôi„�gŤĽĚĄ‚r“ŠP`r˛Ć¬âąć4s’ÄŤ!Ĺ›fś’ ,žĚé$ŠeŠ,4“ü“‡˛¨;•Ňňß{b›ç†:!J¬ĎŻożóďŃeˇ¨ęŹű­Ďmf đÔ‚ív‹ŰÎś/ľř‚~ó›ßĐ×_c&vżgcN"ŮDZ˘xpoŔ!NŠĐĄ¬Č˝‹r±=Śq�FżMŘÉSw‰Ü/ 8E›Ů÷?ř˝ů曹S@ž3ľú·»ýĘčQ(Ż8äyő~ËÄ<ŻńĚő÷˝L€đ|Ç�1ł L¸ Äy+NUňl‡R\e ÓŢHV§ĘPM P(Š×’x€Ř ~ľµ ŠKEťňŹ|_†Ł(|Ŕ/'$ ŚC«ă^ř@>„x‚ßBĘçxľŕŮořî„Ô.?”!)k±~“«´ŕgőEI§$AX·K{b{^„ŹóĺřarWšq€\*>=<ŁáOŤŤçé•IP.ʸ}űﻸh‰WP%é.}Ńtśµ×T eóĚDéÇWyÄćA_YZZŕó€_UTŤĐ6 >ŔĎk VĹ튲đ bř俢N_}eöóëć”}$…Yęůą‹T]Ö—hw ůÝŠ’Ę2>Lr>ţbo§TŤ <ÖŘÍ‘IŤďräÇą‹Ę,Tiaă‰í(j´h7ř#Abú>Řö«Żľâm%EĘ—cI?Ĺ7®Mamq,,ÇvWhΞńőßľs‡ë}˙ţwą}l(»śeë–‹÷É4··‡ôđÁcÎŕ�Ĺł Óf(qä|«á€}ąËË‹$^gi+`âR€eeÎ×9O(ă{üWżú×Áć«whqó R(Šó@‰? …âő„ËŃËä ÜJybˇrRH.°H˝śÂ˘&‚´E<&)Ś�ßĎrR „V™ "o®1âĆc›ę Ĺ&E®]?_ŻU&őH^ľßŠBYÄŚvfä›2ĆPµiÚHš ™pť8şÂ‘JÄź$-…Ćé…˘iچµµuZ]łéÓööŹčŮó]3ĐŢ µőÓ8«5úÔ…RRcÂx™v·Ź8ę}4:2w8Vť±S é2†” -Ţ0ű,:Iá±1XŽpNö¸P­ 2v&4˘&MźŃ~Ö§;wîŇŤ;ëGP?بˇŮŹ…r6r67Ű´qÓ;HíŐ ĐG@ ±9˛ó´E[OÜžŁ~ĺě/°A+×_Č?vYÂę?’ÍŞYąáőő56d­<, Ľ^N‰MżňUĆy€h™É8ćcŮţ‘°ŇMXU †9H>®ż#íÖXś7fY<„BOÂ}ÝŞJĄLxłÄ·‚Ľ"N˘ĚÝ‹Üő*Ńl™Oü™Ń,‡G‡ôíwßŃfâ¶š÷ü"!×[rlKŢkůösŘ‹bÄ?ţă?Ň˙ř˙Ăs;ĆđîWĘËňý%"†:€ý- 1ČźU˘Ě#?îwI#QâD8 Ě8Ţ0ŤÉ`~ůË_掂¦S“śŘR'!fY63?|•0¤P(Šů jB ! ŐAU{ …BˇP(®6¦ĄUşčqü l¨Ř‚J•ř3«ľü$©rQî‘›p‡Do�_ąÇ€Ż $®Zš/�u©�äřAňÁb ¶b €óń)Ç#~0ńWŮvęçq>„T„ý°t†9i‡öö™Śpćţá‹ć_ $%•µ˘Í$�bssĎY¦ jthúČ„÷™ÚcÓć–ř#¤ !V‰b”¨ĺX!GŐ©´xŘßč-÷¨;!(`uqľď<+ůËť?>Š,đ“ŠŢĎiüb8ov@fߢK@řĐçpîč ďŕ<% µé$…—ř�E˝ ýQRЉ"—ß÷đ7Ę’űPűť¤•ĂrąN/¨‚t¸ŢcKTl°ňNĆ÷ťěđůôy{°âŹigŰĆxÓÇŹMęĐ*R÷q{d¦m{„˛±-–ˇáŘ2§ł·żÇ*CiY\Gôđś‚m› WBiIˇP\o(ńGˇPĽB8i@x¤×Ié`˙Đ#J& 0¸¬ĘHĘÄ`wÇ úĚD¸ŮéĽ8µŇ Ĺ?¤VŰ Ă6`0Rž„‡aµHEş|łl“s|3»ÁşM3…±ôpP<ÉŘŕr {Ť¶Ů.a’¬˛íd< ‰)ĂT,¦śtx@ŰŹżŁÖľ18ŰËÔ[\2Ë—ř\@q cކL±ĄÄĄů˛dšămx1ŕxĐ–±_w9Đ7çúĂ&ŤŤcŕ) ć Ëq6šĆđ ú¤Ći0CÖ´gŇăö<Ü čůŁľUz 2KrABłű# [ÖI�q™q\¤-ĂXźvűsgďěÇÔĺ_Đ÷OîĚ´[bh2Î=E| â¤Aý€~cD°Ă' S>Ě5˛JŃÂB‡Fccxă˘EĂŁ&±#]([‘iűÂÚ12H?NY'‹Ţ‡Č„îR‹‰9V}'0mi#::泲ĽH««KśžŞŃ]ýbÓf™1·iűů}˙Í#sŢ#ZšÔ^4OÜ暣쥥E'gś1Ń&žÄLš´2ęg6Bd8š0I *@hOô+hô4MEZP˝jFśOHti6¦4N\˙sw§Ő*Ąó!Ľ5Ş]ąJr•ÖuφSŘŻB>â6ŤlýŃg ˛ &oaăşŔ!t/0ÔaĽA‰ĆhťĂ4ŕK.xN hţG>†‚ÁQ¤¶g ćš!• ĘFť~řĂŇŹ~ô#úřăŹy!‰Ă"IO6ň•ôŁP(×JüQ( …ŽÝŠ«ŁůjÎuŰřë\äl€ońóĎ?g_‘Ž}úé§ěٱé×ç ¦ňë#I<)Ë«iÉ$xŰË>QÍĽJ`/1Đf’n2€ź" ôI˘śÂľ˛;€v¶ÄŠcś•ĽÍDµű˘}ŕű‘@1IďŇĂąĆůÁĹŮ 8OśI:¤ęyŔ ·µőśŐÜA°€oÇĆ~V1)Ą?ţńěsC{âĽáűB‡eŘÄV˝?:tçá©ÓĺßBĐńO÷¸/Qęęűő/~U}‘Ųů{A‚Bę%p�ËüƱńç‹>…óÇubž´«Łŕ;”>Šţ*©÷„€'Ç`?铌o! ˇoá\u‡Ź•ŐŠđĽjD.ő]–t�řüA$Ë}š TMl:Bś'ú×p0fĄzôą6ß‹ĎŮ Ńvë뫼=@¸÷CŻ<ěúŽř§P(WJüQ(ŻNCüAj¤ĚLž¬=JôIęJĘh8˛šNŔ*<.Ełý#&7őLj6cfe#/lšFLţˇ"ŽĽäV>1öá$3a™đP°¸A†g‰5yđ±jOA©gBăxĚd6S§–‘ĆčĚPxźŽvFf ; haBĚíčAż9qś©ÂIJdŁŰ‘.˛Ôĺ)Né¸Ńr~!lĽÝmX0’{Ą‚‚iO&Ř5¦Ć™ ¦#NĄĆׄ/Ôa1Ä|Çá„wyěďr‡µÄb.=Jš¦­štřŔŢYźŕmąŤńć]¨A;śő#ÍË©ÄJąŽiq1 őŤ¦éŔŮçtb”µ]ku¨ÄˇĘ`L\PŠŤŠĂŞ;ŤĐ’iş­6-/.° 2J)ą"븉ÂŔ‹Z^Z0ĆM‰5ŕ ˇżŹFczţl›ľţâc„ďP´Ś´jíNžfdˇ5㸸sçŤLyOždllÂŔj5.?›űe2˘8ĹýaÉ&PÎj7B®RŮEXájCÎáľ—ňő-AÇÉě&^ŽéüúOqVç×çŘŇiíHg‚(I¤ pH>ä#‘^pěŔ‰A0łÜéP_”'i%˘ ¨‹Âőç‘ď2ŞN:1ęăAśKUĂq…ň଺wď÷ŃbÔć©ä.D»VˇP(/ …;Ô _…BˇxŤáOŢŐMäéBˇxy¨’~ęŇ,Uןg\'Ę<ľ?Aü�UŐ!ń/TÉ;˛Ě_şOµÎŐíüeÓ~ĎjyľşĐyI Bę‘Të€OüńŰĚ?H BÜ�bŕ‘Jőbßę[i{8‹lp©ŰD”‰˛Čđ˙DĆ×&dŹŞrźŐf *®'yḥë=Ő/TöqÁ×}°/ śo§U–eÖiÚ×Ę*!MňúCŮýřa\;ąr%8Ű ™EŽ8źVŕŽ›I {WÝü\ňľäË˙´2_ýźwó}˛N ˛™Ä˝*p®đç *$QëDá×[RÇa=§¤Ę}ŚĹu´ÂA‰fBm{`=ÚĘŻç¬{Ů'čŐ)˛Wë=í9ŕ+ ťţóĘö ›&Ź•–B9®Í”ş ©ĚqR?g g6cĂŃѡS8/Î팾XĺłňőÉĽ.SůăL¨÷gŢGˇP(Î%ţ(Š×’WŮţ˛’Q›ËĐşĽĚn… /8ÉMâTFf°}ˇn’šß.ş…ĺ$ťŤa÷7F#+í8öyśňGĐŚ˛cĽěÇ2±Ť€şí(7ö‚$›Z ÇézOA«G‰©źDšLĚŁYް®c ¤ľ' úÂŕR$ĺC× °˝ÜOß;.ŐZăřx™`ÉÝť!KľČş†.H'řA{Á@˝ÓôŤ`źűČ8 GöZ^ěŃd|/WŞš˙&ă„vvv9ś(ůłaPvšmŠ‚¨dÂ�i„U±śę+%E…1IąĂĂśŤ(0}·"Á~0ěEú7˘3˛Ü ăeDŽ”Vď$z€SęGă±=´ ç“ldÚN0J9}ś“ƵN„éF!Ú×�ą ĘJbô‹4tîxKŇ\n}�‰ŕÁńqÍYIőČ2Łp}őź·Ţz‹Ź ©d<đťG±ť09 P(×âőťďĺ1Ř«1ZŤZ= ô P(׾BHí|EĹ@źý Ĺĺbž{좶™ű@ěăq ţD˙4âŹřJ±źä·żŻżťUSk gO6€_ €ĎDH:çęnF('kŕ7–ă|DńGŽűB|6řHť8µkŮíÂŔ*JąďČ4|Đc 6?±ÁŁĚeŽżŔi˛¸^WŻˇŮż>]ZµeYĄąăĆXę#ŕTc oý4âFŮËĹ*î‘KI†v ‹Ŕą!®űĘG, ŮŹóńDüfuµuőuýT_‚±5pÎ'űUő—–(ůˇ…H0C¨@*eĺFNAź¨ ÍŘB¬’ľôë`Žn,÷‰ÔS ľ^�ý‡}¦®\Q;b?«ŮNTµüűMú©ްü‰XŽ@?l[í§~9ĺv+ʧÄůs«÷¶“m°ç‡ó@9G0˙Pm/®_fűRäť?ú†üÎp”¸ýŁĘţ÷‹,MK˝ ÷ćü»î<˛)¶łŤłëN>19?ߡc/…Bq1PâŹBˇxm‘±NúsZ4J‰Ýď ‰ą†Ĺđ ,'(0IÁ "aśXýśĐŠÖ°QS™¸@˛Ŕ®‡!ůIśšr@üi6Ł\&5 ¬LFنŤF—óŁ€ AŘĘ”•b lă8‡L*Kvp)ăŮÓO •„3Ű›Šň«6ý±uYaB:ľmăÎśhN¨ É§ďj# já;0Řą`®Aąh� Měu(ę”jĺ•| őÚä`ěFőťu‚đÔ{ąVorr7šĆđcĹ™KťÂč‡MÚ0˙ŔPkCmÇ´U·Óć”[L ]?ĘęuŰÔm·śÓ"±ęTㄢxlúsÂýép<˘ţ΄ű%>cłl4iidÚ®-ŽĚ~¦X®WdÓŤÉu!µ Ň RÝAŽ• í OńPPtČŚJKWÁů8‡CY9l ÚLĆ6÷3dxˇňżĹ@źŘąąaßşu‹‰\.$şL$žĹ¨Ć6Č3Źë+Ä,”!BŮůb| fŐ ¤"„/Ť$šGśNr<…Bˇx• ľÂYőy7‹$3-ÚqŽ#Ó‹wćť˙=ŞJA …BqýáOÜ BçČ'ç˝uÇžýú.P(^H ¨ţř(ŞĎ’‚ľ!˘ŕá§ń’tô( 劯DHBČ‘”FŘV&âë‰ŘOR aAP% ůľ !NČX_ŇiIýN;Ň|.’jI|[đĹ`=@B˛Ŕ·¤ÂńQwi 8ŽGŮ"‚­Íäř•°]Ëřĺšf?ěŹ}ŕ÷‘�:9ľ\/ąŽ˘^/íĹţľRpC9ĺ–Uő¶D¦Ńę1Qľö˘\! ś¤ÜŇŔU/Ő—Ł¸}ܵă4óŤ¦ű»ĹţEń»űßľť†ú©ÁŻĽÜśs¸ľçÁrŚ“s‘Tm’ήJpKĹÚQ�ČD¬â›ńGއcŢA—-— „!ł4[öşJ?€śąg¦µ—ÜŇ?Ż]ĐפOË7–sj4×'ĐĎ%ŕÁ{ř-őávr„żýp<GúŞ\kŮOî1é#đCúő”ű őđŐŔäyá§°âŽ%JYç=â[Ú$đ|ăđ}J%.ąâG•ö“zKJĂŞŠşÜ›=w_‰ow:ÎaŰŰÉ:>3 ä…Bq~(ńGˇP(dŔ'Qbp ˘ŃŚxP°Á1Ńň¤`ś¤–íăXÚV*¤VBú"ł< ¬cXF9,‚¬¬+řŚń�bBa` ŔF‹&0 F}::<˘ńč W˙q<J]Ú/( ™r“&fB?lv(k-ĐŔÔů°Ű¤°·BÍöŻK8Zd,'ěÎŮq-\UNŃbĺńhvÂÎY0sřšűĂgš ­ÜďQdΡ™C¦MÍž1.ŚŃҶk‘ZÍ4ZnŕâµĚŕ~â ţV#b%üNŹL{ďšVtÍkfˇWźĚĄö’ęű´~L¶‹Ęf§KĺuV·)Ćč€Q‰Hźý}ÚŰŰgR”`bľľ G&ŘÔdĆPëöheu•67ÖéÖŤ ęu{LJŚqĽ±˛@÷n­s®b¨ď<|ř<xHŹwiűŔhi©»Ĺ4frއ}F‰iĽ±ijŮH8-¶÷(ÇĆŕ·9—ˇB"i¦ŻNs K1)MśĚćżĚĘ÷YX›ÖD–I$ĐË0…@1 F1 <pO‚p¶é :X'Ž,D=Y@ł|L=Ć} ă Bp–Č$4 főř°j—qü _<MbüJš1?owAś+áŘąÚ뉺ţú׿¦˙řÇ´˛˛’ß7X‡GŰ\Ďf«Yšಪ$7) ŵ€8@ńś«F2źDŘśG=gÖţL:®F‰Î‰—IľQâŹBˇPĽz¨Xm ĆĄ§V(§ĆIă­‹ŹÁßđÎ;ď°Oă_řŕ×ŕtíaÔ%Šřö'ö…¸#éƱ ľ1±Ž€"ř-„t`[ř.°=|ře’ś@áHů’ZKRű űJQ_ĆóL¶pű‹/Ç•s‚ďLü¨§U�UlřJP_OH%HůŽúŔ„rAŔŔ1\…őŇ8¬‡Ú‘#ŃHť{ťîÝżź}lëć|q V #Z6ľ%ś“ßN€Móe‰6r~(Ç•ýĺ|嚊ď Ď~ës˛śđĘ~˘ô"„"(Îăšás’r öG9ŘW®‘\ é;Ňж>!ĄáTë9¸Ń}(ĺ#čl»Ö_%©ľÂ¨Á×m8/\+řăP–($ˇ¸B"ĂrřĎĆPp'Kňń•v„(ĄĄçĎž3AëŤ7ŢŕrŃ^H…vŻmey‰ż%+t›şÍRş‘űAHRBćÂrôśę'í‚ínŢĽÉű`ůÎÎNŢďŃ?ĺ~CÝńĄ(üH_ň™Ę„$Řůšá“DyB:Âۡ (Ä‹ú•Ýäą!×Ŕ1PתŞŃY€ăăY…ë'eâ7׋}—±O|ČBüCÇoÜŻňĺ"!4J…đpöł |¦ł‰? …Bq5ˇÄ…BˇČň¬’Š›p/äB-9†‰<ˇ#…öď‚‚�F9Č3ĹoJś dI1Až?6—6 Š u-Y*ë­´j‘6Ębß ľS—9¤„‰?ąłäź9•ÍľqĘ ?ăa—†ýCj6Ě�żŮŁlbŕ _ř„Éď,5<=ćŰéźNSş¸!ÍŮOTünßmsťŚŃ¶hŚç%3o;ă“qŠ“´GŠ@Ć9Đnp6¸ @“MŚ RĆ(đ")\cČń*ą$«śsôÂŮ'2a)é˛ — ő–`SĆö Î_lť· i·»LÖĄ*?PB[´MżX^ě2q,Î:8Ü!zdŚŕÉvĐwŘŤ€66m4äč cĐ›áśĂÉšČŃí"<XĘ—SŚC+B<*EÔÄ dvírΰGNÍITݍ¸«Ľ@µôb^LŇţhqTę?Ďž?cÇ‚¤ßâOćä›ióĽŇ>02‘® Î8,„ä#†&~á„uŮ#†ąÍA=<UäßuľŹ2±ßgź}Ć΂üŕ%#˝ĺT…@rśÖ&ö› …âZÁŹô ¦Ĺ„JVűĽ®’Qëpˇç¬Ş;gÝOˇP(Ši(˝˙ô5ŁPĽ6EřŕđI7˘("Ä(}HJsŮ^ľEAHŇ ˇ@Ȭ\ăMÎc;řKD‘E BX‘ßř–żEýXÔkp !jHę-Y.ę.ňű,Ä) śBÝńÁyâËĹŻ"ç"ÎE”S°\ČBBtâsp„>—F“ŕká]ąB˛âă·[Ć7cë8%!&Äc!  ËYéÄ©7ă:´áÇńŇA‰Ž)D.i/ëßj°ß í ź’(çř*P8·“?Ň^B ߥ´˝¤Żż”üúI˙˙›l#ÄĽŞDA h6ŰĽŤ|Xi dGň‘>W%ţŔw9Ž­ ąŻŐoD9±JĺđĂ€Őé´ia±Çó�đĄŽFĂĽĂĺ†c ”ňwTJÓUµă|˘“„¬"őŔ·çä~”>„ĺ˘č#jTrnŔÜrŞQľšřf%ŔPČQrź ©OT~8Ű€ ”m°N4R?ą7«÷®=Ę‘íNRŚšŐŻDAK®1HP™ď÷Źüăßër˘=@’~$÷¦O<ó•ĚD% e8…˛ĐŻä>Ę•˘Îx …Bń"ˇÄ…BńZ#„»4O2HĆ·rňť›(Ę% ńt'đ¤P‘Ż@QvKĘX9m6¦PVzv%ň9ĄśRIÖH;Ö?HB˛Č«!?şÄ|!ĄĐY•Ä„`LEíČ9�Ś3"4íG¶a‘ţ«Ýn˛Ô«5.bĄ “ ^V‘‰Ťž®1¬̶é$OŹt]‘ą@Ş!r…ŠZËóçĎ­jŚi»9Ö¨¶©3”âĽďŘ(c°%Ć`Ź­äkZR‘ŹĐ§" †mÄ(⨞ŔćřNśDj XÖčšČĺ˙¶dG€s÷RU–Ř_ö˘!†fćŇĉ”­¨ţŕÜ>zHýŁ>×ߏ¬ŞĘ,ĎÚŞAŘeĂ€ÉN‰ŔgŽDď îŰożeňQťCt†¸?pýq?  ű#Ő×G}”ăÝ„}°]ŕ"Şük ę …â:CżţłĚwhž”ćkfď«ę9 …Bˇxą¨ł«ňżő=ĄPĽ€`?÷WąCŇčáCŇWɤ»Eŕ˙¤ŇĎBH+>ŔWe™x ”j> w|řI„ôă×Ů¦ŞŹs…(ăšÇy!Š3y:u×6řFž—Ň.Ňf€ßžrÜIś·ü3Rß\™¤ź±Á~±S¬a?¦Ů&ŤÍ5€’{fŐjĆ Y?”Uý¶u—ż}ár!Ü�–ř‚M§’&QÄż—„N‚ź¦M~ éĺ -áżb‹Żä$}ĹO7'ţy�}Î÷F¬Îß`ň‡Ôq źŁ ¨ ‘r D" ěĹ5AtׄŰ´?®÷)ÓIśZ˙ ČJ0ćx¶= „žf ·OŘ' ?uÇ‘v�´ź¤»«öE? S'Bt´ ÚĺČ·Ű$ĄžôE!ŮIJ,ąG%­ŕ_Wl‡`CźŚÇ}Ó©aÖ‰_ŘWmBŰĘöroĘőôSňI“ó‚ßYŕ«őú¤%ľď\ź‘ö“űLöĂvUâšôw!JÉyj–ÍDmIîsŮî$śBˇP\(ńGˇPĽň(=#‘Ýžć€ü]ŮpqÄź‚ń6Ö¨±ŮÔĄ/"_™S_!«Ţ“9â ”W°*>0ŇB[Y‡„‰’n*sä—<M' ń Ü“ÉÄă#3¸n 2dHAjŚDLřăHŽ|!$¦łRr.BDbmŹ4Ŕ0B¤LĆŞG ŘÎőFl éŘ´·i´E«R«i·„$41Ű$ÖmŕzUI®ÄâßsźUW˘‹!xĺ…ć"(]G_ť¦Űér´ýĂ>!ÚŘüŐ*Dq*'<ÍfůáhLý±1–ÇÖ(†BÔyŕl€Ô-úl#Nř>@Ę®qjŽ#7tědVm+ă|„6^ĚŠXAž[»y/&�e6MV8r%ĄŮ‹ď­â¸JÓ!Ë0CEIrŢĂ8déăýŰ—˘"ŞH wvÍá4ŔÎn·CKKË´¸¸G˙`›;;Űüm˙ŢaĺßŔ-žYţÚŃFŕ-CąĂë&îđ„°gôÝwßٶgv.ĺW`%ź…Ä(†t~%�)ŠkÂĎfyĆŮ1ÜÉ*fçSôyńŠu …BˇP�ÇSő– @:ŞW(^Ŕw�‚(üČ„ąOŚĄ?˝¶•´RBúł*t01.ckźTŕ+AűQň Ę"Lř‹oVŇ÷ńG|"B–ŔÇźŠOČ9 „(ńAROI˝DaDŇO q Ä*Iż$6€ 8Mě~Ö/;ŽÄGa"Q®ă|Âö i×D9 ÄQ6á”î.H uM’űŁ’Éő•![Í«r"*ÖŐmĺřr˝¤=«~A!sÉţUE–ęr~@ţfâÎ ×K®•D¦‘–§ä„A~ŚĽ^m;îîíĐŘřŘEu†űEfÉ%‘ëҶ˘ś3 ŇĎýó•ié·¶ Yá[ÎKC’:׬®«©í°źDŮ{ĂOź'óŇŹäž””frą$őś!ćť>J€ű ×íŕŕŐčĹďŠúźVęŧYG®ˇźľĐnČóNÎAˇP(®#”řŁP(^mĚáÁbŹ4;fŃ$QIµC PÔ†Žpa•U¬rФö˛©»$ĺW@ibIL `(:ôX=­a>ˇűФbY@5óFE““Ě |<¤1Ň5EĚ|," š”MSnV’©”cW§sţ]MŮ4ćŹQŚśSÔ0íyé9\DEă‹XÁ¦Ý2k ¬›„ňĆĂ1Rs ĆĆ€Nb;á7Ruľň&ű‚ňÎědu*U\ëĚERˇťü#gĚ-Ż,Cî…ú#cř7Ś1gţ#ŽrI¨96OŻËd–Ă8ĄťÁv‡ÚÂČuĆ«K9»Č©(ś8ŇP‹‰mń$Ł18V ęcDHo•§” (Élş¶(l¸(Ť†‹� ËŠ du,ą'łrYH‰:şV&t¸—8vw÷ňh+É=/9°Y‚·Ýňdl/Ęmţ ßÝÝŽ(BÔ>V–ŘF!źřăÇŹŮŔ·Q0Î}ľ8–™Á ć|á¦/,--ş|î!;yöčéÓ'ô»ßý–ó^ß˝{Çś§5äq."·,Ď;?o¶BˇP\7±[˘ĺwćÓ&|:u‘ś …BˇP\Č{iú8> Ţ+Żŕ»ŘÚÚb?Ćń´ę>ycĺgĎžĺétÄ'šzA‘đOĘŹŻôS%ţČ3HBĘńŹW§\Î,Ę’ú! JŇŽ ˇÂW9‹ÚĘb…|˛†¤öí !B<yň¤äGÎŰŮůŽ…HElź`¸rą|˘Ľ|śź_!°ß˘¨"D¤ü¸YYQG BĐBŤ„ä#×´é<*'RFőÚI[I9uDą¦ÓÔż«Ëą=śŻRČ6ţ>ÓRP•ž$M( ‰żĎ'ÄńvĆ·Tę'D™i„3!Hů„żOHBŕ‚™¬óŐĄüŚŐó¨łOEÍ[e˛\ŕĎ{ř÷°´ďŞíĺg=đŹç«‰ťľB€zăůĹë’BIĚŻ·ŻTŰëđě«ŢOţą`=P}ž(HˇP\(ńGˇPĽđŃĹO‘â* ŠÁn5ݰ¨^Č 0đąŽ-R2Yypś2ů!tQ«|"†, ďÓäR‹ş rf2îŇhŘĘĺ9Ýfś±%i ßm·µ@Ý^Ęę-1”[BćÄäV6‚ł«©ú3Ń8©łů4!ČČ€U^éťdPcˇ €ä¶ő&ö85V*j?>y¨|äZ®Ő™Oŕ˘QNUÂÔ6ş ŕ8ůŢâ$e ŕ6•k�D3Ä¦źŚźĄôřé3:8ęÓ�\HŰŇĂŘhsĺC(@ź6eÚćOsgŠ(özsڤ¦ß!çÉÎ*m#J?ľÁΊ?žcGî]?rGň«_h«zŽÔí$Ç”çÁÇé÷ż˙=§Ë‚á.ą°ĺ>­sRĚ„Ł˝â\ÉGňsbôŠCé$ )Vh2Ď2¤šľ5Ę#®ŕÄĂů|řá‡ôöŰoĺ’ÎŇ—üH+%ţ(Šë ˙†w‡Č|ă™*‘—>Çłé1×ÖÖčéÓ§y¦±[UAçfuťż ČEJ R( ĹË� Şqů¤VĺŐôÎ;ďĐíŰ·éłĎ>ă@…BńęŔ'Ńř~–*�g†üö‰:2a.)}$‘ř…xQwQ䲄8 ~Qť‘4S~Ę$˘^ö“1¸?y/‰óŞnčt¤ľB8ŔzIOć×ßúý”Vđ3ąšQ^gGŕ‘ýCGÔŇŚďßßµ9$]Q~­§¶ýëÓ|ßąśó<mč_ożź�rÝ}ż’\S߇.ęO|ŢNII¶ó cLFâgÖď~6U'«°?Ę ŰŢ9źÁ¬“s?›Oľóď;ń{r_ÉvóŞ0MĂ´óą¬ýÎą?D©Č~XwhPšĎ„TMą§P(Ż ”řŁP(^ TŤ"?ę"WĺˇÂřťö±ňbPn™ĺ‘3ř¬śO…/“D˘Â!ĆŚNĘ’,9eÓdBĂÁa1©”ťLDÜ%ŚÍĆÂzΆ™ŔĐtĆ&Ň7Ą‰SüąFc`1” kK”UHK…ń¸o»-¤V‘‰$•Xŕť÷ő%26לíÓŇ×Ă5Ă 'ŚŘ4RqŢŹER†äîá>=ŢŮb%D Ť†qÉpć<ŘDyÔQŕÔ¬¬¬3k2ńvÜ?]:;KâI™,Tä¬ö˘s8łG”Łă>ľ3Ĺ7Öäľüä˘`sѨÜŻś3Üü )YqĘ|˙ý÷ôw÷wôŐW_q$Ř­[·xr“Ĺb”NŚUÁNŮÇd"şJ˛9ŤHsע••žĚ^\\Ě%~ńAů8/üýŕÁŽśÁ¶sľ%#[ÚDÉ? …â:Ăź¬Ŕ7žÝxfţů缤ź7Ţx˙Ƥ'¶Ă{űá™)“ňŢÁX űí·ůd…éěą4>T( …â˘0ϸeů—Éc˙żýŰż­DÂgĄ¸"ţĺżü—ôÓźţ”ţćoţ†ľúâ‹™~j(×đaüËľFG"ÔBr/űÄŤ"őyˇL#dŚá+ÁŘßđ3ÉăcC|°2_UÁv¨“=ŕ›€r ö»{÷.ű}$ŐŹ¤ž‚ßJŇ_Á#ľ! Âoś‚ś$]×i!T÷Ł<ÔWŽ‹url�Ç’LřçŹö¸wďoŕ-&ó€¸HްӰKş5ŮwhÚućv5űă8 `ŠB ¶—sĆ6BúÁ1pľçU%ń ˘ţ˛“€kxăĆ ®›(I@-ŕ“WęRxáoě‡öĆuGy8'´…´9üY�®Ă�iá¸Í&Ą4kWB`Âůá\Ĺg+{Cî Ŕ'tUSS˝ę@?żsçNî“ÍSťÉ\KP¤'ôÉjčč'Ň7.Ăţć#«YŻP(® ”řŁP(®=¬!Ę´„bYy jDMęvz<Ą‘•vd[¶ •ďcYřQ~,+["ę%.5 °Uś"Š€ó[šoc4, Ń�)Łž�÷&pÄ ¤f>YEž|wŃća8±ÇLëΕÁe¸H‹ČlĐ ˝TYdŚĚ™iHƦN«Áí‚Ŕ1bÂixŽG¤Lˇ)żIó’qdłÔK˛E–’äűůq&A~\ďŘ™ź [–O>ˉ>ĹVĹwVÚ7+ŐŔ?ż¬®a BYqś f/?ťâď0łŐĹŘFS«Ý F«‘·§(T_Ź dDp 4sťÚ­Ž1~şV5'2™‹tI&ß4"s=Mżm´Ś1ąĽJÝÍ Š6ViŘY`ĂçţŃÖÖ.ŇűĆÚ?:0Ćcźú„†Ćžśd6ÍŇÂĄ~t„4‰śD”Î$ó3µ m Vłn’gĎhĚęCh]D8%.§xľ_ćMĘ"ŰW`SY‰×ĂüFÚ-ÉP‡EKKËÔí-¸'ިŇđY0eĄś_Ś$ Ž™ŃhÂĆ·8(ŕÄ€Ó ĹĄEóśéŇ[o˝Ĺ†ůÁÁ~n  ˝°îXŇvÇj3·a:˝\<P7Ô N¤ ădccÝśG‹Ö××x÷¶é'Ýn‡×߸±IËć\Úť¶y64¬j”Ësnď›âSęČdžÚ …âŞŔ>[á\O™´y˙ţ}úÁ~ŔĎvQlĂx ŽzĽ#álÄÇ*ŤřĎS<áśĆDĘ©FÂ^¤sQ'T …Bq^ŕ=B+Ţu@“T˙M#ÚÖ¦9¸PĹ …Bńr!ĘâĎ ÁĎ˙>÷.Ĺ7")ĄDÝ~%Q(FY É ”Ťoě'Ä!ů©Dü)R6ö%|sŁYŽg|2(Ëń-j8(CT—[ś†>ˉ8(uĹX^>Ůh  PŽŹsX1{ńG‚¬D5őұOŕŰlU‹ýL�Ęé'0ţ9I-_ĘŔţ˘t-u(KÚŮo—óâ¬ę(86ÚJTޤ $E–Ě�,óípŇź°-Ę@ß•V´Wëüp sÎđ ÁŕZ‘`ü~uYś+ŕ+Ôi m� O ůă>y]?¸Öčç¸äůÁDEIł…9yĘ',˘?É=ď«)]ĘÓ …BqĄ Ä…BńŠ ¨UÓŢŮhRŻŰcňO§Ý=•±‡Io‰Fp…äňň›ă€°SV ¨:ˇ9‚RŁÁ)ň%è*ÔL@J ť:QĆŠ(ƨiŘHÉ$¦h<açëŞžŻ•‚BݨÝ4F}ä×(ćęcýb#Ł3€Ć¤č)·ś ĺ\4˘ŔÓ|&)5Cë8HLSŹ™«dËçď@HAĹţv]ů·ÝŔ'é¤T]•żëúB&Ô ™<ËŽ÷›â 7ŠĎřÚ¦˘QF˙;(1al_°,Íjü�˝ŇD5mÚ*š—ôCTwv¸¶˝Ţ-//ç©§ Ő—×8±ÚąŐéŇâę:-Ü|“Z›44}{°Mű!}ůpźŐjŕT5 V jŕŰk+˛JVl(ťTá ü§ăÔL´¦. ąĚM_LRŹlĺ5J®TcIa—‘ą8ĺ§‹hu j6KLŚ:N˛ńëŘS*ďEµÁx\4q\Ŕ!csa7rC q0ĚŤ‚T]Ź=,$hŹ= ŞVâńgĹ´gÔiś0¸¦č+ÔĆłäË/ż0N†&§ýŞn·˛˛Ěőhyy©äPj 7şŁëĺ5ŐźL®ťŞ�)ŠëyŚÂé ň&Ď$ âîî.; ń<Ǥ¨8ř± że9Ţ pĽJ4ńižÍú¬T( Ĺ‹lľ˙ň_ţ Ű1')` ĹŇ?}ö”ö÷ösµc…BqýűYTĹßĆÂB8Źľ�I…+ä,óÓßb=ľ1†Fě;0űcüě§Äv¬Çä<H9;űűqFę#“÷˘Ž"YLžqciQ „(˙Čń$h ŔzQ,: „¨!*;~z˛j:,!B 9ĘWéA˝›í‚Ă^dĎ|Ňęşt_8!ůţ??XAęr?÷eB®‘±$u˝Ôk&D/ą^PzÂ9Ă“ĺđgůä!śsWŞŤo.v$Şëéß8ŻÍÍÍ\ĹHÔ®¤ď Ýd¶—űí‹öy] í‚6çRˇúcć{ŚËŃfhô+ą_„ őş¤ …B Ä…BńZ@"#~ň“ź°!ńäÉ“| ,QUăÍŹ¤ČŁ]„˛á“ĽÉÇ%‘5T7™/ăäĚóÔ’äx!§ărĆŢ`z]̲śC =.µ-ułŃĘ#Ô–ViayŐ€™%¨tÍrDű}ôŃGtÓLxAĄä܆’Ů=jEôăźţ˛!ѳ϶éŕÉŻńg”QˇĐ„ĐĘwMŠPeB,(©ł'ţ{ŁN”¶Í‚ĚS *ĺV÷NČĘ89őš -•c‚¤FiNZŇOŰřĚ5X]]Ą÷~ü˝űwhcsÝ\›óµqŕ"_ţäOţÄE7uč‹/ľČĄKĹ~�Ą–n§ÍŠ·nޤµµu®Ź8 Äi‰šÉ•®ÂĚ©YŮ“’®s‘Ny—śež€ęUyŠ~Cu˙řăŹéç?˙9«Ú\”ÁźKZăYŕś ¸˙Ťf•ů{Čŕű€C“¸wá\O’¸8ź©Äźéω‹�®5Ňw?ůÉŹkeú%ç”`ö˛â™gM«•?ůSě씺HˇP(®đţDÚF8%"đččźßÔÇł„RŚeĽ&ŰŠ¤D_v DM¦P(ŠY8é„÷ü ó�jxHŁ€ TÂŞBńĘ@Re yDŇŘJĘ(Śq%EĆʢ¶"é˝D‘D (ca!ŢHĘ®*ĹWö‘TP’ľ Ç–ÔarL�Šc(ËWý®źZWR•ůđÓ#ť>AJČG>„ĚAÔŚ¤]P”a•ä4IbO)(ŕ4URo>ž)'WŤvD9ńOc{QÇńt^vş+ÔËúŔŠ”^¨#Îżĺ|I€ř|âŹô is!p`ą‡�éł–ô翯›ť$÷Î__ř-ŠZ€¨BůjHŇ>®^s…!÷ÚB|Ůl—gE&�éűx®ÉóIqŻS[) …@‰? …âµ€D|řá‡üűË/ż¤GŹńßľ±!d™Ě‘A¶ Ë`¦Ă'°Ô΄»ň˛  ”4Bv¨AU„S„5Óh82Y+çÉr•é„É?u�1© z˝.+Ă4;]j´şNQČ’fŤŃüĂţ?››ąu.@E¨Ńűţ–;+ôYçKzňÍS^ĹŠ?HEU"ţHűdeâŹkź‚”Ó]ů©ľę«QÁ4⏔íkďřWEÚ«ŘWT}2ź´Řß™[šňZĆn_2íĺ—·ü˝ńÖ]ZXíUjsz°‚q6|`ú±ä,G”8m„Ľ Ť?ďż˙>Ý{ă Z_ߤ%ł­\kD–˘AŮA"çć·ńS‚˘żŰ/Ű3§ę4ń'/+ů ’ P?ţńÇćśn»gĎq¬ paˇĺÔ}lů MýřÇ?ž˛÷IŠ>Ő><»Ť§źR0ĺŘîŻlVť¦×FR¬É3Q"ě殆BˇP\qHĘ‚ň˛ęł2)˝'ĺoĽwńL|úôéÜ‘ĂJŢQ( ĹuŔËś<V(— L†X!ŘÄŞŃî7RÚâŰ’|2Ź�!k?¦:ć­¦ôADRSI`‘LÖűÄnDÍÜO?&ĺ×-H92NbÉĽÂüf¨¦ŃÂą ¸Ŕą‹Š‘¤"±ŕĂͧŕçuęA6˝Sŕq©~“8Îí 5·¶¶Jíč§/’sĆr9îËÎBĐzU}ë’jN`d'× ýí ?§ěë++ɵ†Í–p µ¤6¸íŞçţŹkYéWŇw¤Źúd3źŕ„ďBYüŐ®-…č+¸äYŔ:ă÷FOó•}$@GHRBS(Š× JüQ(Ż<ňT\ćD öFä­%ĘÄ7LüOŮ Üǧt‚™K˛Ň29®ŁÄŔ acĆL:ą®+Ň%eő“LLŹ"¤ć±ő!>QůqŹôe Ś,ݬäR¸ç†±U‚V@‹7)ęF´°ÖŁţţ ?GĚŁůmSnG$t*ŘúĹĘk«‚găŃ‚ćOĐ™E{đĽQč¤~2›h,«QlńSS™ ĐÔtQS‹k Ô^h•¶=G"`Ę˝ůÖ[ôŻ˙őż¦_üâąSÁwv@]¨Á˛¸+y®uQls„16ŹOD^ŇÄdP-ů¸"SyăŔkŻŔ‘_ě‚Đ©c ůŠFľäóą«Ř4pâ`°Ćx“”ć‡<WŞË˛2Ďě„2¦Ď•ď:ÂQQsÖ=+ž…줹FŇÉ …Bń˘ Úy·­ű{ęŢi—©*¤P( …Bˇxµ!i±$Đ ÂO˛‘ôK@•h#ăŃiţDßźę>üż«ccI%*:'•ëŁNůąNĄ§ĎÇxđý'uçU¶ł‡žÂĽ9´żŮ×ęë'ǨżßÉç7`Ř,ČuBŠT¦Ů;ţub”]„¨%ŞF';¸  Ĺ!¤ŕźě4H� ZŻ#„@'d'iV‚ę´ťbďŃ…“Ţ´ý Ĺu† Ĺkđ©ľQ’§Ţ"*EŞä‘+56E5rdŐ_˘V¤s%ʆ?Ůô}†)ś6Ď´ů˘ÝIpd‰ d|O1šĎרłÔ¦Îb›Vn®ą˝¸^ĺm‹MĆŠ“±s,¶‹ů)Ží¸ĽSE˝J]d‹ź:Â�˝rjÇĚÚŞÂŚPŠ©âO”Ż Ň¨şCń+´¤•Ľm˝ć÷ůDu¤źÓ¶ľ¨ţŔČY3}YňKdź˘®Î™‚ţBČ2ţ6âh‘>ď˙ö÷ŻFîśĺTxv ”e¬âVj ©ąh i¸ŠłHľC:îHşđÉĐ€Ji˙¤ňó¸FRľ.ăR´NAL ‚îi¨ëLvúÔ“—Šç˙¬)˘î¨UÚ3¨ű1Ç„¬AĆ×ĎßOíĄP(ŠSĂSžĺ}ő˛?ŞR¤P(×J U(§|A*“TB’r Ëŕ7‰DČ:,yšçLu[߇ä_ľL稂źę •ód•WI’:µQ·ľ˛ýyźę'źßůÉ?Eşä#VB•tKӮݍîËßŘĘJ€*ł˙­ü­°v±©ńĆÜ{ĎÚoę”Édą<éÓUč¨KˇP\U(ńGˇPĽ–e¬ ű^&ŇĹ`‘ta2yžQA‚đó8‹„­0çAöÄ i`,6M&ż¸” ů‘›M[Âi'gö+Ö1é§Ćŕćoş$rÜĘň’ŚŹÚ;اŁĂ}&¤t{]ălh1 $đĄtSKřÉ lc>ą I˛ŃřüŮ3&[Ŕ9Ń[Z˘s˝|ÂSqÄş˛  7¤q€ě¦!2¬úŐ—Ç»5et) Íב1“Ő«đA;4]t „D Hdš±ú¨ĺ!ă“ĎDUňş#ę(ór¸ˇ‹ŁÓ:+ÄźŃČĘ&ă«ë+\>fP!Z ŹŤŽ÷ÝËrrűĘ_âđš×Üî›k±mÎkâ˘NpoĂyA,eiâ‰ŮvwgŹÓômllXŇšŹ 1×ß6·uĆyá ąčÂq#äľňIÍéŘá{Ťż ťN&(ŠW�UŽ|NrÖű$S?€ż}"íô}Ă©„Ú“đ˛ľęhV(Š« ˙˝2+0Ăź´÷ßy˘t*6‚>÷Š×»Âg„熨eŕ7Łá—X\\Ěýš~Z©W/Ë»‘•jpyµŻä‹ ţŘţ±kü_{űĆ· uýv•Oh‘ß/'E™óńWł_źĆN|ťP¤zK§%Bł üSŚ}lĐŁĚĹŘ9‡VłĹ?OôŞP(/JüQ(Ż=Ş0 7 Ú@c˘¦"R’íN‡Ő/&IśŹŮČÁPŠ%‹ < Ďâ4ž-M Ô‘ĺJ;řo4qtÍÁţ?QQÓ©HndÉs,ň–ÝNŰäM&Í Bj)8vŁ™ú´©Óé1‰ WňXë—¦ŽRmWŚ‹gĺE1Ó‡GôěésnŰŢBŹVV—Íßm&I€Řrzł”ĄMXω ?™¶jµi8Žiďŕ·Ł°IIЧĂáÉ)¸â¤öH…@D–Ĺß2eŕo´e;Ůă,´Š' | 7TU‚0Wni·[âż"ne_`łçy©2�‘6Č Ťś»źK]$sáÔçŚíAľ9Ű….˙8?h3ÔFf_«eö•°ČI bű‰ËźěKˇ2q×Ň]„`Ôívx;äCçŠ46uń1‘Ş×O>BF˛×«Ĺ÷ľ/ą”µäeźsżÄ<ÍsDHVB(DßtsÄ˝Ŕž×Đ\«CsČ=‹¶Eš6´Rü…^Łä·Ć~8ô×Á`Č׎ą&«&™ lôc7)-un¶š|á91ě\pÎçEF/Ďs¦P(§�Ţ…"//Do?bwÖ~>ŮĎd‰RĹĆY“"UŇŹO:šŻŢÉĄŹÝꏫg…Bˇ¸5IX}Čd~>ĆÁNúĚW(®Î36””TľĘ…’Á/„OŐ_ú*áj.ó—~NâŹű~Ć<5\0Ű,8/çć<űł +Î{úŠ—s_?»�|ˇSâ´MćD ţ»¶CkçQ(WJüQ(Š @xţü9O‰ÂŽ`olnRË|‰ŁŐµ5züč}ńĺL ÁdüŤ7XÝC&€Té¨0 \2“ô+++„b§Ő¦˝Ý].űŕ8X‡oL*„r„¤[4“÷Ýn› +&KB‚ŽN·nŢa�ČBü©’~răž.3Č/r\Đo#z˛µgÚçjnŢąĹl7ŤiŘ0i 'śc·mĎ«iÚzŐ´Úv0Î@»˘4lŃÖÎ!=}öĚZśr íÖ4× j*¸®q<aҧ˝ÚXçő}síq]Ń®8F»eÉ=‡c*Üj5iˇgeŹ7ÚëÔpFA9uQ9××üÍrŔi‹kŤ~°µµĹQţĹ´úÚý{ŕÎ@BÔÍ›7ŮPßŢŢf‰^”>ôî»ďňŮ}űÍ7ů1ĐnčŁ ku„tbĘ:Řßçő¬,… 7! 2 ®ĂĐ” ‚ČD÷îÝáăŁoomoQ8pőAn÷—+ŚŞÝK‚"ÔÚę˝űÎ;¬’ui“ Ő4bt:pNrä77m€6Ä3„BüÝa‚[— 8¸·A8ůĚěŔmŹ6@ű˘âZqźw*N€Č'㺍ĚýŇDćőz]&TI?öŰgum•Ţzű-sÜŢÉ'Ŕ/ó“™ŕčß/arZˇP(N‚Lp ÖOÓjÇX)«.N‹ę*>Kz,źőě;>!›•&Yg)ٿϞ&ě<ĐI`…Bˇ¸ţ¨ľ;D­ŘĆ™ŽáŠ× ©SuD żá@°‘¬S(ćÁÁá§^Jł”®|­Ĺë{ý‹Ć€OaŢÚřk�˛lV¤ŁÚĘ …âęA‰? …Bá0M “C˘~Ă*ŘËľäN Xužđ‡‚ŹS Â>řŔąâöĹÄ~Ç‘2&ckXc"I±€Ľ}°†·¤š´šLŔ¤ż?Č#ÖYůĹ‘€¦MZ˝4g^0}EŇaő(ŘőéČMĘŦ}Ćű7Î)N0Áf ÉVkBÝnŹŰe�Č;ĺü„ oŹßĂńĹi9-[E!7ń6Ž'9a‚U–b«€ňŰPR1uŤGfůÄyj/_÷Ŷ/ L?AźâYîÚăĐo|(Zá\? űâ#éç„pÂd)łż´ÖĄ.ͧW{ţśÉ?PŁr¶Cą8.ĘÔ'rO$h{§žeë”ĺŞB¬°$6ë\Â6CČŞşćěúf_{!=źŽě2S}‘ÜG§<†¨Ť¦Uůq÷4ΑëÝÄq«HRŢNľÜ¶(}ˇ]ďŢ˝›«4áůýđ €J’´mĂá ż ‰Š…źŞí„Ę‹09ÖÔ˘P(®?d%“ť2¶+ÔwN–U—± űŠBă¬}üż}˛Ď<ĎĺŔŚuBVˇP(cľŹL‡ű Ĺëř ę,ř Ń3ŇE)óB|Ť +Č)Bq}P—Ő’ůY:pbé …BqˇÄ…Bˇ ˛ă “äPŰŔ;«ŔĂ;˘ #,Ç2QŮÁ¤Ľ8’" ŔľB¨ŔGHBŔ¤ţÎÎNNzBm#DV q’»PőR‘LXˇÎm§("“ý™č®^Q Ţ =ÚÜÜäöD µ‡ŹĐŢţ‘Ý 5“bIĘéĎ„D‚¶’É2üŽšQNnáßf;¨ź@ÝéŤ8Í’iËíÝťüz˘}  ‚ăĂą¦Fł‘O ćą}‰8úٶSÇąJŕkő—ŠmóBźůCÔc¤OC]G=6ÝV——c˝ź¶ĺbĘ“ MüE´Ô@üAcu&×ÇĄ}ĺظ^Ř©¬z. žŽpl”BŐh<Î -|’A~ob{© ”…@ ňS´\fűžHĎ…:Ł-pľˇKŐĹJH.ĺ—HgĽ‡H{ľú§<3ű@áűÝşu‹Ű‹S‡ągÔľÄŘDYVˇlÄ×/¸ö,ˇhÎóÉI?: P(^-¤8€)ë�˙Y,‚O‘>ű*<Rî´÷Ć4EźyŢ3AUYPˇP(Š3bé4ĐqżBńZcZ™ŘH0’BˇPĽę(eCđlyńKđ¤oă—í}µĎ ĹŐ„ …˘LÖCĹG&v0ńľ±±Á“ô˘~bSEĹ.µŽ%Lř“A>$2\&–DíDH<rLYŹŹ%Ă,p™8Ô>@ä�ńuëu;ś )§„($ÄźES§VŰ#¨pŞŻň9ľđńĘáJú8fâliÍ ‚„vHj4CN“d7ÎXPŠ0P9UÎ?nÚryy‰‘i˙(ä´R‘#ݬ¬,3™ ¨ó Ťş =:ęÁ«Ái‘P9¨¤Ž@‚}ńÁ„^¬öĂ™V›ŹtM=mófŢ՝ݔ¸ í6oÜ ÄM^BŤ dŞňł›ŹˇPłÓʆźŻРĦ†éă(Gú5Öa{´÷m"×6!ßHi‡ă,™Î09Čôۉé“�Ęy}i¦LÄj•HAřŰÖłĂ$–şÉVŔWÍáôfć8—˘öslrµZţ¬uĐn릍Đĺą~n&ć^^ŕ{÷ůx<aĺ¤J×C&’Ó&­ý}ľVhłŰ·os;ŹMY˛OÓ‘¨D®Ç9H‹�Ú¸ŮhŇtTÎŤ ›ď| …â:Ŕwć‰Â«%şw§¨M#äČr‘ű–÷Ň,ÂŹ¬?–ReNŇO±=) …Bqf šb27éü•BˇP(Š×�â�ęětŔOwx<K„ڎHˇP(®”řŁP(`’č2đÁaéćELĆ„3 B�’Á¤ Aśđ!ŞA˘¬‚”UîßżĎĘ(Pý�iżě˘LÉKëÍ˝ŚÉ˘ŽYBZ][áŹ`csŁ8'óŤťÚI8., ĄĺĄÚcđÔ\@śVjm0¤ń$¦†i[¨ű´ZŤ"=G9žÍď8rŤMK…”M!«¨“­Jęעrdš˛îr *:ĄZÔLDJ«öCÎę€ţwRůyŮîţU* tí^ËÖáćÍ›„˙Nc/tY6×kr[.(Ż ˛ň¦S®Ż<G¦"¨IJzuncó˝gž1 `±b’ů{šr„ż_usy‚“ZŮ'ł…^•ť P(×2nłéáČËřy-JŤ jŠŻÎů'B?âOĆk \NS «’|Ę©ľć!őd'’‹ …Bˇřü‰+ů[töJˇP( ĹëߦŻÂźĂńçdť™ ĹU† …¡:Đ+GuŰßôŤXe#ÉŐFNŠđ–oě‹rIů#iŞü\˛ŘĆHrZ#3 …o‹@îŔöPuI“'xÂÉ#%a‚> ˘ś¤B^ŢŮ«:aä× &ĂŃS9ˇűŕ<Ńn˘pÔl¶8W'Ątg~ş ”1á6·¤Švwś4K9µT䮇?ŕÇşÁđČÔeBËKËÔětą=Ë­WUůyům[Gâ™g[_şßH!…~Îi´`ŕ8#§ —‚ŤSX™}N™ä*N±ćÔPTl$ťZłMd^^kW˛f_[Îű<r_ĐPN˛“ż÷?´%îc,ÇvTn·›ÜG®?O#ţpŤLŰ-:Ő%´óÔzçőu™ö— lLlG (Y¤îăő_°HqÇŠZáÜç®P(×ĹŘ̦ĄÄř Ďéíím‹UI´qöÉ8::bň7ł>信†'iE±éDAOś‡˘™±Ć=ó9Ő»¨P(ŠÓCl-±'ĘďˇÄ‘~Ęűŕ]ĄaĽŰBXˇP( …âUDUť·¤“ĺs5ŐÔ` …BqUˇÄ…Bˇ Ů¶2)Ĺć»ĆD=RÍ3ŕók„Ç䏤öÂo) ,˘Öá[Č>Pj‘H5©Cč´jR&Ëśö*÷ćî/5ZÜVáÜ@ Ha Büiq*#˘ţŃ€Ó€!}H&ăŃĎ["ř…ĽÂ$-Ó¦Łń(_6"Vť‘‰72¨a ]»đµ2m{xtHńdDÝv¬‰Nî“#Dť_G  t°żo <.Ť]U^€ţ‰>{xpŔNaôm|p˝Đ–(˦VkrŰ·˛ďweU j«5űţĆ9ńośg¶¸@­¦ą7M“ŤĚó©úĐN C!Ĺž!-0 ęČ´Ň|J]Ç2±?®ŃŔL&‹*UQáŔý/7ˇ]‡öďúyő[­¦é۱Sa*¶“ëŰ Z…Íy¤' …âÚBČÂx˙CEé&AüŮÝÝĺőđěĹßX·oމ˘‰ýEŃíůóçLúrÝłgϸĚwß}—ľţúkNËřĺ—_Ňúú:—÷)Ţ“‘‡ŕo[îŞňâUŘDz>› …BqzČű?ţýź|ňI%Đ©üú裏čO˙ôO髯ľ˘ßţö·ôřáĂ<-¦BˇP( Ĺ«�߯ÎńÔ)ö+ńGˇP\](ńGˇP(<śD�ňxŕ8E““?€L4á·ěă0…X!ۉ6YR «‰Ädf–[‘Č‚X•źÚtX3”_čqŠÂŞş"~Î?séˇśę ”HŤĐŞ’LŽ’ů $ ´ Č&(„NĽ}f^u#FÄ“‰ůŚ©ŐjŰ2ůX)%fYęŐ‹&®1AHĆ׎\z¦ RŰ“P×7NĘvâd éśfçnúv5Ý—¤ěŇT]żŮG¤âó>Žë95&{0ňĎ?;K<ő.§hO1ŕG˘ o,+Ҹ$¬â•°BTćRhĹiĚdôĎN§ŤŢdąwčżÍő¨m–3AŐŽ"FT§ÂÚşăcÓw[NIČö}ŰcŃßń7Ęc•ŠŔ¦ä‚’ľĂ0ĘŐŻŇqĆ÷�_CŢČžĽšxžŐ6÷wPż*4xYe;ť¤V(Wň.!㤲™c,<ńĽ•ç*ž»2ÖXZ˛iE±-ŢsP Â{OŢ™ ň€@ôčŃ#&ˇĽ÷Ţ{Ź·Á:”Űsé…8*ĘxÓP¤e!…BˇP(Î Ľ“Ţ˙}&´ţţ÷żĎ4üŰĽAŚ…‚ÝçźN …BˇP(Ż/đ·.˝·Oü‘ěţޤúRŃ…BqUˇÄ…Bˇpmí3ĽńwUĺ$Čţ’–Ë_î˙ö˙žUČaŁIQ9˘€Uüŕ˙—’Éźş‚3Ełj„¬\ÍČüÓp„nk¤ů˛išć;mŮ×UA(ŠŠ ý`źŔ‘�$˛rćEAĆŰm.ÎNÜ›I=¤¤Âţ|ť]żČSBTVćĆ ňıMĎh9dŮ™ŻµźMH$˘H jUbčřÎa?ç1öńÓ­ńzó Ł°¤TR ˘3‚Ë8íąžňhÜžŘÄaÄ żČ=GyÚ,ŰĎŠűŠ\諵ą˙‚TĂçoÚ´ůŰĹ™ĺM×~uĎ›znHqóqĐžq‚TuŽPY…ŞfĐdRśoŔ˘ŤZíĚý-jViN <c58]›e5mHaE) ĹU„ĽÇž<yÂä¨ő€ŇŇsŘwÖcňSŢu$…"ٱAÂţ[[[ůł*@Xw˙ţ}ž0 HH±(J?XŹrD=áĘŞŕ) …â•Ţc˙÷źŰx˛¬x‡ýő_˙5+×!ÝRŤë›JˇP( ĹuG5ĄPµÇ%řŰ÷űÝŞřŁP(®2”řŁP(5đÉ Őĺ29ĎJ4fö/ ąĘJ`‰> 2/w¤ËMąž®9´ioˇgSO1,‘ D yş˝Ž™łmnUěvV1%¨Hrú9zAZŕß8HUČVe‚ PšP#jöF 9čsyJßA?‚QăŇÉѱh†ěJą>űŔĎ{ řą…řxëŻ21Ű<ÎZ¦U—ĎÇô L #—Ý%sä3Ű&ř@áýł l#Ęá”v5+lcŹäŇ€­„\ĺď'í/ÇŞ-V(t*fÁôçFFRÚ”ítňZˇP\#ěííń3qěćĎXs@ŢÁz�* Búđ]¨8ÚçíăÇŹůYűôéSŢÄĽ đŚqHHĘ'Ą÷R( …â"ň)”~ćT~ţđ‡?äŞtˇŽń …BˇPĽ"¨KçĺĂlő‰Bjż+Šë�%ţ( …C»»n (äůČdü‹‚%eđÇŐ}®)\R%Ú´Ýj•ÖűĂę(l]Ůj:Ť!Cć4Ыܒ§©š˛5Í˝î¤ ˝BúQpÚşpZ©"•ťź˘ŽDEČEDs*d˝T8ĺ›ĚS~˘,´)ąňĺgú‡ŻÖĹiµ\z>y6L#r_o·éTU4ĺcňŘ6ťëTşĚ)ÍŽZ©®óSzUSŕéä€Bˇ¸@ .PŮG�ňŹ�j=UT—ÉöBÂoż …BˇP(®:@TU( …BˇxŐŕ“wDѧnČ˙öÉ?h¬Ş? …âŞB‰? …BAĹ ®Žüă.Äź—Ą^ňňI?Yĺ{@ NÚbĘŠÓçt™r, (˘›8ČŹ}±ä†ŞĽhp•ô„ćé[YÔĽOú÷ î‘iűľ°“ťăZĺŐĆ5pD>żČ}^б (¶ZŚSß‘ż/Bô©ćśľ Ňgܧ™#DeîŇ…Eoe›×ŰW9? …BńĘŕJŞô) …âÔĐ(u…BˇP(Šů ă&…Bq]ˇÄ…Bˇp•ޡźă¨# ]ŽŐĎń^^Ŕ ĎńŶ-± N‘5żxŇ˙MW<ťXĄ˙Í4‚ćY÷2úď‰]É«P”8ć¬ëe?.–ěS*ů„ő ďX›ĺÍtžXˇP( …BˇP( …BˇP\AT3<ś”ÎKb Ĺu€ …ÂĂI8?Ç«żý‹d3Ńś`ŠS(Q\ 8•ZvţJ3‘Ő~»^eSKťĺ¸gí‡'«†¤T÷›‹’unżiś™Ě)ţŘ~ü˘s®.ÓsĽťP€'úóÂËěfqÖvT(Š+ !wËűM~ ¦Ť÷ę™Ó¶­SlCşLŽĺťh‡Ą}˛,ĄóÂWŚ›†şw˛,K’„^.ŹäŞP(Ż'ęŢSçőcřAQŻP( …âeaÚMuů,Slq{?ë(Šë�%ţ( Ĺ)ˇ“gÁyĆ/*onpě×ěŁf3y6Óú‰5¦ /©oť¤Đ>ÓĚíS&'eţ¶n}~ŽAP_fyĎKFFyćRu‚ęf”×)Ë(«Ö/Ľ"ÎŻüt˝ ç+×5=~úu @ …BqĹĐl6kßÓpň ńč‚ôŤud>!f–CĺúŰɶ8†”ýPż8Žů·łŃh•śŤţţţßuużžó¨[NC«Ő˘…‹V( E:⏼cxÍŚGn8eąLŽ) Ĺ뉗í÷б˛¶ÂâX¸©·|ZđŽŰ2ół9Ř9b‘?/q, RˇP(® ”řŁP(§ÄË$ţäQá`Të2‹hńŇqÖ‘qFÁy ąÓě:w»Á®ö$sAíő ¦F¸˘«ĄŃ•@PI@'J娳‚‚:bUö‚Ňšyä±Z[0đ6Ë<…Ł”˛ )R°q„Ţą„ôú\,é§ŕőŔÉď;ú3ŹeÓä«Ô*V(W “ɤvąĽŹ±^&C«ŰžDś™5N¬;®_žŽ„ô˛„”¦qi˙ă—ă“~¦€ŞuŻ;§şeR/…BˇP\/ŕY\I.+žëŮl«&śQ®BˇxyP’ôËÄËW§ĚüŔµkěÜͧý_a[±¸ł)6»[[D®ćŰŰĺâ;.|ÂĹújyÚ÷ ĹŐ… …â˘Ëfu#W:¦Îâă$u…#ąŘ˙ęŰ*đDp¦K†ú†FéšMą�™x1d™ä°šc5šĂÁ‘·EťbĐU1’Š€Žă«BÇdÉO# ©]âuAŕyF˛DÁäA5ú Q(×ţ{ű4*ó¤›g_V(Ér8g« ˙{üńËĽiĘt‚WˇP(®'đ\ź™®Ql"…BˇPś/k|¬m…˘%_Ľw{/ő$›ľ´L�*~ß^ˇP(®*”řŁP(Î’ţŕĄGŘÔLöł´'/iŇfž\ą×ą˛ âg]ŰŔă\eµçť·I©¤ŠňMU ç<âFçÚwú'G•ßtʉEwĘJ:7fŞ'ťy¨®«ýx+éuG«úGdó"d‚@[IˇP\KČÄ(RZAťżýô\ŔIę9Óŕ“zd[?řĘ ~j1I/Vď ,«űĚzÎRô©Ű÷RŢ­ …Bˇx©ĺ·(“ú …BˇP(®6¦ŕĘr_éĐWĂ•mŞŞ˝b÷‹ z¬Şš®*®)Š« %ţ( …?8¬.ż’äź<«×ůtÓjĚ˝%Ůt\ŇřBJ žä�鑢éh~IZs]*lůiÁÔC5K2ꎤöśŘ8K´™Ëi$›N»ţńÇëC¤ŠňÓ&$ŠSKÝV#+-?áĘV"Ž›_Î,_ĆM”§)ŞřşŞfEęÔ_řL=˘HŢVŘ<{‘ň9îřśž*!9› !č†C\5¬K]Çćłkţş2o_)óşݦ,ĎŠ~Î=5[0źâ¶â XRťäź 6ńŰĆż± …âjÄűáď4Í48Qh• q@Ę1Ş©ą„lT~P§‡Tuă ߡ)ĺÔ)�Uż}¨ÓRˇP(^]Č{ď‹ę¤Wő}ˇDO…BˇP(× e•źúŔÜi*·uvy•4+ŕFˇP(®”řŁP(tÜń5+rşĘ(>>fVŽ?sYtZdÓ*e>)ĄIJISÜ?¤t2˘†™Ľ MóĆi;"ż‹ms›Â˘řpNěś Íwä1óą%„çä’:ć}™Quv¦qR°úź„b#ëYíĹě2ń'˘‚<b&÷‚Đ»öÍęˇK{ä§ľŞŐD9…’N±Oý.ŮĚ+[ÓgŞĘC^9ź+ËŽ‘ťr}$Oĺ%Łę}!©Ń˛˘^îň\”6ĚěűŔď WYrOŔ”¬†UYĘ™N´ťđ>YÖ7Kžšż÷]ŚÍҡ§rsĹÔţ9{Ă ü«–2 Íö˙ »A”4M·‰pżdBţ‘"=â×1âŹBˇP\ȸJĆ#öwÂŹý*Á¦nßY6ÁZ•ŐˇfłYÚ? łc©Ŕücűă ź\T>—úwĄO:Ş‹śÔ‰`…Bˇ¸Ţö|ű8KsHˇP( …âÚ N˝§nýI*·ÓÖUçNÚWˇP(^6”řŁP(5¨˛ľgEGżŚÁ^uúeÖ൞é~Śçq*L›8ĘĚäŇŢî.={ňľüő?Ňáösş{÷.-®mPÖ] ŘÔ|<s=&´&ćď‘ůňgooʆC«®Ňéthyy™V×Vim}•Úí6ď3K˛”úý>Ť†#n‹Č8,±N>ä‚4§kţ7 #.ŻŰíň#zúř §ó¸uëuĚňfËźdK™řg(öÉ! 7‘†>ÔdňL&ÝBN“uÜÉzV7hV·;I¨f͉ĐLiř)Ńţşy'ë¶ó×ŐîŞ÷â¬v¶ś9çŘę©)–SśiśŇ$ÝăIŘ0Q3ĐYśâçIáĆu:ˇëňoPţ›rŐŰĘW`šr ТҴÁJ] Ć5h‘˘lLQ#˛tź U^ŹBˇ¸öŔxă�|ďďďçď‘••:88ŕńĆ€¤Ă7–aŚi„Śł´´Äc“iŔvxž˘ �ď*~·ńÖÉr”ŤżGŁ×ÇA]D‰H¶­’Ąý±‡Ŕ'¶Wß‘ÓŢ•u§—ĺŘT‡ŞBˇPśţ3_Ţg€xSĽÓđ~Äűď:…BˇP(Š«ŠŞ],ËŞó;Óöń·ŻłAýrý} …â*B‰? …âő�dieP–U~Ô°)dj<T5Ţ„9ĺëf‘0N;<ÍöÁ|ë‚ňr>B®<Cá™ZTYפX;h6ŽĂÁ`@ŰĎźÓçří<z@ĆSH«M:]Ä OŠ5ÍäU»ÝˇŃxDCłýÎî.ílďĐÖÖsă\<¤$Mřłş˛J7oÝ ŰwnS·×5ÎÇ6Ef_ 3A·Gţ€…Zͦ%5šLLLbž0ł“`+–€ÔsăĆ Z^^1o!ď‹/>7ÇérKËƹٶ“Ë,őBN·!¤ź HeäĄëJKš\Z°dV X‚"WđEŕ"H?ĺßN 'W˝™§ěŕň»gü%ł9ö�ޱĘä´\u*w ¨•HAljmEďÍŽRŞnLPöIbÓg'»4ĘŃ$yJ±é»‘Y–% Îjŕťăö>iW!󔾏ü#ęJB ŞIí&jZöwhîCÜk s4,ŮŤ–Íľ‹¦/·Ýţ-Ż®jô*Šë›F+Ą……&˙nnnŇßţíßňrŚ?Ţzë-znĆ2K`ňËń7Ć8 (ß»wŹ'D·¶¶¸<ŚîÜąCß~ű-˙2Ć<8FęĆG˝^Ź÷qGĺŘŰaś€ V}°=ŽóćMŢ˙ńăG¦–(b3&ańŤßBňQ%üTeĘg9.«ďęiřu¨* ĹĹď—Ű·oóűăÁü.‰ăŘ˝GĘĎŰ_üâôŢ{ďѧź~Jź}öí{}žt– …BˇP(—‰:˙v]é<AÝ~ŐmŻę· …âşA‰? …â•ÁLîÍ$Ą`ż“Ěfô8ťŮ ń,+g¨‘Ě?©G”‘Étď�M«D6ăwFe3¨Ě\:emćX*@#¤ Ó‚dN^2µĂKÍD9mčxÉ2±dţěš łőŤMzçGŇŤ;7éÝ÷ß§ÎÂ"íQŠAsÎY2¦ń0ˇ,ML2ZYěQ·ŃĆÚőÍÄŘáŃőÍçđ`Ç8$ű´»·Ă„x �´´ĽśGv––Í$Z“ëtxt@ű<9‡;Č@ŔšOöh88˘V3âI4¤ßŠ'#®Ďhxd.«qxdL�‚2Í!–Ůĺ”Řvp'™ţĐH‹$UăČ~€Đ´­M?f&čHŃ0]¨MM–öŚŤżUÉ1Ç[Ř·M„śă/«3jNÂńmWßĎěÇß7'H9•¤ęyáwUQţí®n]ćÝ‹|Uś1–„¬€¦ÜMĽęYŚŰ'ß–ŻwßôËŠ“>%“o¨•ţďć󗄉é7±żÇü8q—Ę5ŞëĘĽiE”š™wuŁ Đř©<żęŹi&Ĺ#«řĂ×*}Ď<F4שŮX0Ëß6ŰôJÇžVGť¶U(W – C¬4%@¨ýŕŤIÍĹĹEžIggg‡I<řă }Dą“¦glllĐÚÚO¤âoL ‚L˘Ď_|Aożý6zľúę+>λロ«ńxĂŕńăÇLňůôÓßóoQ÷Y__ç1 ŽłżżËÇŔ'bRrŹ…ęŢ˙łČ?ţ6Őýdb÷$e …BˇP\/@a÷ç?˙9żGľůć&˛–&¶ĽmńŢ{çťwřý†íţ`ö-uŹăe’D …BˇPĽľÇ^=I…ľNé§,ŁP(×JüQ(Ż<xŘf&F˛ľŤÔ6ź0Î(tŇ̉Ě'ôöyvü™ŕă Ă€gŠŇ§1ęH?Ó?]ěôx™(P:$+n†?ěu¨qc =3ÉŐ’šć®—SLÂdT×”wăî]ZY_Ąő;w¸.»GGf6)aNSŇRl4ÚÔj6(í¶yŤI¬ĂŁCVëjb&Ú÷ŤĂqÄNǵ˝uv@öz f2¬g—CSžM•‰5LžÁ)‰Á9˘ôqJÝn‡U†’$6} Ď)Ľ†Ă>GűS†´`cŠ“±)k`¶3)¨ÝmQ«Ýt§ć:‚#7Ećź( ŠËgŽ‘„¶©0]ňOčÖĄÔägaÔśŐxŢßÇSlHz/ić4ͦFL“%­Ű¶f š}˝ë $!ý'"c•Źd»Y‡Í¦”|]±^{@4’É[ŞśÁÔCŇ˙ĂÚcB퇨OIv`şëµ’oĚ`éËâ<‚„.•ô,'¦“˛˛RRŔĚEw˝üç ĺä©úrBóÄßhă +�Ý&üE!&ŞoRz Ĺu„˙žÄؤšŻżţš ?g`˛s{{›—#-(:˘Ö#*>42>Řn43±űíš1 Ć3‡`l‚öž>}ęĄkšíFü[đ ˛Ę—+ç2Ć8rÜş”_Ős­;˙Y¨~t"WˇP(^ €Č B*Ţxď�ÓžńPťűÝď~G_~ů%+ţŚa_“BˇP(|ś¤š­P(.UEŰY …u)°§)ů)°«6 …Bq•ˇÄ…BńZ ë(5Ϋ‡ß|CŹ<¤vśQ3±µÔŚăâ¨ő±‚8YNhÄ5<’P‚ô%µ_‡Ę">Ç @ođÔ.Ä`śBúq€ZMčN¶uc“–˙ä'´|ç–™śZä´VçD°#ĺ§łhXŇ�&Ě0†É2€ 5DÚc˘MTzŕ\][Ł3‡Čy(�ő‡#zňä OÄa;L¨}đÁfŇl•ž™ë:1“a8˘AüÁ�“f ˝vjb2omm•ËDZP—© R|a‚FÁh0¤Ý˝m®+Ęąuű&­o®É™1Er}Ěü%©GîIl?ÂüßĘ5ČŐ˘‚3;M-·ęxôľ|üČýŞ!3- ł.Ą‡”1˝ Ôę„á4ŇOvQÝ˝T>âÔmŠ”}>3¦¶4zU`›¤ iO‹ĘN˝2űů˘P(×§ŕlqÁ„ž={VręaĽ’ Ć'BHŮăx0ÎÁXj=×� Ĺ6řŤ´˘ ÷`_ţKdĂŚA°ăü ŇĆ)(e` ‚± Ć/ß˙˝W߀Ç+Bţ‘4_ţűľú–óŞꔀü˛fŠ …Bq}€wŇZ'=בâë7żů żű€P#Ţ ĹkŽéăă—ő|Ľ`§šBq áűÄ«~ńyö̲‰…H¤6±Bˇ¸.PâŹBˇx=02«Ý|ýí'ÖęhB͉có8ńŹB¬$+™maReج2“(iPLśĎöe5gőë‹4Ú¦±-äăÂďľKÉ÷(ŮŘ  y—˘ă5j 9ľ¦<ńR‚TN$ĘĚäS`&ąü@±gqaSuŤÇmJ01föoµ[üŤß‡fmw˙€šŤČ”Đľ™‹Í„D—đ;tŞ%PóA ¦n§M±™‹'cV1ZY^2ÇčQ»Őb˛ĎţţOŞĹ“U€°Mj¶<évttČNŃŔT=lÔíuyß<Q’9O ůĂśe)µÇ,ĹĂuŔd]ĂM¶a»¤˘¬’͸joó˘çXçB '"ü±-Śs¬ †ôSě$|ISš 6l3·ËŐwäŰÇŁ–\ ŠČެ´,;‘ËP™ĽRUrý8«k#,‰ĽăEfëČ[[Ô';¶wŕ5e6Ł^5kJ«pso™gRĘŠUT–bĹŰ'ŕ O9M]Ę“żŘ3Éââ©•á^lp_‚!6ĆF±Ý6,×ç8©q:ÔV(WňžlµB~ެ÷6>X.“ś ä° l ˛ Ë ůűU!©R@ŕ‘}wYĺňňîßż_ÚÇFu÷U~Šőá±hÇ*éwZJ0żśşĺuż …Bńęö˛BˇP( `ś,jiÇëŘXˇxąđmŢ“ě_˙ďi$ š±JĽ°Ü÷µë˝ŻP(®:”řŁP(^ „“1‡ű=řžř„VŽhŁ2SJ\äŤá¤ 1MPv óI}|§5Â.Ó‘M˙} âĎ IfîRBa攇L»¤ţçćwĆ‚6Lś+UŞěĎÔÇňjČ?#ÝW‚¨ôIĚgD®//-R§]Nw%©,z˝.§ÝBąŘ·Ýíđ7ŽupxD;{{´ąľJoľqŹľűţ;zj&ŐZ­Ö×V™¸y·Ýb’ĎŢţmomSŻŰ¦[7nň1@Ś9:اçfßĂŠÂ…@Pih4ÉżC.‡Ťó†4ĄŇÝ»wY™ČyRs¬ť‚bd| ®gk”QoPjÚ$ЍgÚłm_±“ ˇI•ŰŹf_˝¬öĘŮë“Ę„ź`śdE™UâONßňOľÂF5,™¬˛ÝIđÉ?®€bżSŘCuů”«ëŹ/Ł’úŃÉY'+#óHW®ÇÉ?OËŇ4ëňG6(vä÷l  DĘÉ2{ ˛ę Đě»·ÂĽ™~¶)Kž<ć[Ů«S@ ×JAr ;điż&“ŮG$Ěz¦“/Ńx‚”1#jöv¨Ő9br^Ô´ýť*ŠfS3* Ĺ5žűx×Ăao•t˘<Eh5RPP%÷ĽhXEĹr¤ˇďŕ¬ű]‡şs ¦ŚN[öECŞ …BˇP(WŕăÂ8uA@€Ë!”×Ű€/ľ>)GĆn˛@j[_YÓ‡_ľ\VäŤr…L”_ÔÇ©_§. ÎKÉăÇWć‘s¬#»gž5ĎŇěĆqÂA‡R·¶ń‘¬®´9řđŕ ĄÁ0Ą„}t¤P(^"¦Ů·ÓR~ů÷˙,ňÚŁ …âşB‰? …âő�”X 3RptDŤĂjąI!úřÄźĐç=”? ú„¬ôb“§ţ3f /Śř3{ĎK0HűG¬ŽsúO …ÎđŽÂ<*ę>ťŽM]!F;ś0ä} ÝXłŐĚŤö†Yß2ŰAi5pZn?8˘ dŽ t|şÝ§-»sű6ÝĽq“Ő„ ćČý/ľř‚=zÄ)5Ö×Ö©cĘé‡}@BZ[[ăčFLđqô˝©Ž ŇRÔŚXAĹÖ+p™»Ëë0cőÓÖ“'L:Š–:Ô]±©ĘÂn“Ns]ç%Ž•tŁĽT[óŕ,§ĹüDśbűÓ®Ż.:]ť‹{¸LZ’µÓUyĆă ;˛†řž óAü_ }$źń$egÄ);Žŕ´ňWRgqQ‰Ś,>’ĆĄŐFJşČ’y‚ űšŚťęŇĚĹ…šP«Ý0}>2÷ĆOjGM3©ÝpĄsşş‰9~ȸÁQź÷F–§¦´´62Á9çZ&ÄźşVSŇŹBˇ¸ľ˛Ź<gíDž˝Yľü*c gž(ÄyŢÍUBíËpzŞŁUˇP(./šÄ©P(®@úąsç§µ…:Ą¤¤Ĺ¸Ř'ěDQT»?öŮŮŮá1ôÍ›7ąICëŻŕcĂńę „ŚůDSü|[[[\ŢĘĘ —Źĺ˘b RÎÁKÎ_†Qž&đI@BBB™rž¬h•Ă“|ěŹc hv¶?2ţ’˝} GĽ~±ŃŢ0u‰2úţű=O2:šJüQ(^0Şcß~÷•{€ŞM;oJk! ľŚ�…Bˇ8/”řŁP(Š ?`-†Ťî´™ş;ĆX‡şŚ~ÔX_;xfšâg @ť.Đ6ßŰŰ۬ܲQ”“đŮÜÜdĄ8}Kâyřđ!ýć7żˇ'OžĐO~ň&őđĂŠ>ÍZť={ö”Ť€†ă!Ý6Űml¬S´¨%s¬\$Ć4ŇxBă~źľýúkúú»o¨ą˛@›woYĄŁî2˝LTÓ~řËOÚ7ü3ËĐš÷8§%ťPŕLf ś@»Ć‘µHtŕ2Ápz-JL˙ ąOÁůsx4d˛ŹÝgLĂÁťVŇWĹÉĹűËÇS˘€Ă ÇZXlÓâb—–––Ě=Ô¤gOLY1—âĎjSÎŰ´Ľ˛h¶ëŃăÇŹ™„¶ş¶lî——)“şLh{ţ|@ßłośzmăŕj›Qá„Z=âr …âU„ 0ąŇLl�i‹ľjđŁ}L“3ŻŰ¶Şä3­śYe( …âjbÖóz–˝T¶;őń¦ÉÖ*Š+řâ ˙‚b„|#J;c;ë˙*Ô3„ŕ#Dzř7ŕ˙xĘ8€oŕwŔq€jşZöĺqĐTĆu¨î |ÔŐOĄ�­‰JVęÁvBü‘şI ÎéŔřQG Ķ8ŹÁ ĎD˘ČůˇF_ ΩŐlŃd8˘db CK zëŢ5ĂŚö¶ú´·7bő…BńrŕSβ‡O[¦OJÔ`…BqˇÄ…BńÚĂ*~yú®‰ÜĹa”›“‡ĆŘë7äqp˛¬ĚS )K´dS”Bć­I=Š;.Í| i kŚ×5cü6`4g5ĺ\2l}\¤0bĹź9r&´i„śâÉ4pF$÷·B2†ńލA^w™’xÂË‘ć+4†>Ô{ŕPXYYeĄ!¤ôšŚcë0˙ÝŘĽA?˙Ó?eĺź{÷îŃĆĆ&őŚs� Dőě=ÚĄŻľü’ÉptZPZ¤VФ`”R`&i”qj·ŔĄLăo¤7ëŹĚş15ŤS 3‡@›VM-ă\ş‡.vy»\BΊRBşüo8:¤­Źëëó%ůÄ!]:N"ä\9#Ę]¦Ŕ}J«ĐßR¤ł#jw[´dN«Ůά;—R&ţ´;MVüYZ 85‹ud5)ž€đch¸Ě3ĘXr_l`¤˘á„jĐ$ný:ĆŐ«¦éă–,„m.Źťdć6O&…ó¬Ó ĚńcŠLż^,QwÁĎ·efź€É?ťvĚÝęZ‘ą?1ク Ç™ßH6ˇÓ!¨ü­0…Bqőá§'Ňăe˝—üCĎŹDžOYÇN†TUůŞűKůYCü™Fţą(‡©BˇP(^f=»O"w˛ý3%˛=śQfţţQćŹBq­yt˘‚ Č8UÖ ˇřË  #*Ĺđťq ňšç öŻM?˘ľ#”/©ŔdüuB"˛ţC›ęËGĄěk9Ĺn<«ú!űh$° đ'î­j˛Ů®ßĎÇű˘f4 ibĘťäĺˇXĄˇ¶ń îĐxdU@@‚RR#HéóĎ·Ě’CzݡöÂ덗â“sDmlZĐkťŤ[Míĺđěu`%˙(Šë%ţ( …ŁqČDő8lĐaŁĹéĽ`Ž>\ěŇłn+ßÖ§×WŔ2ł€GčŔ,|fśÇ&]¦8ŃČ "KŰ“%#ĺű‘uÄÉvYšPšÄů¶LT0˙đrĂĄ‹qB lç(JÁ Łr.lČĺzçâO«ŃâťST^ÜwžRČ”—ÄPîéÓŢî.«ô ő?¸rŁMµÔí´iŐç ő<{öŚ>űň+v�4˘ݸqnÜ˝Ko˝ůfÝAüp0`µ ¤ű:0ý'żýÔŞô ˝Wo‰6—Ö©k?J)ç92D›óstË Ť(„šË8¦5Ó6Ă6Ěf­ý}3«¸HagŐRË2ű9;'B ‘,'íŘ>Uí[Ő ż:ă§ü}Ѹ֓‡BüqËő˛j1EŤ€UsŚ‹sˇܧŕT"&ÖXŮhLěvlîůŠěě\*HŢ&–¸U,XŰh”î“ňýmŽ$´ykÁü˝`Ę‘i'ÇHhy-¤»o-xű†^Đ„čtť5¨|+ ĹŐ‚<}‡ź8 eŇbŢçt§yďUI@'łkVQÝwžI_˙üOŁş§NO…Bˇ¸ľ¨ľ+JďĎD­{Áš™ö–ŇwBq˝�u(\ D‰GŇ^‰˙"ÉSiY?ĆĘ’L&ŰA¨©>@’ňđ÷Ŕřݤ<ćÁg Ümlů ŘôˇĚcĘ  *˘á†¦ř‰;&Ň )~!ˇNŐg—‹PolÇ©ĐŮŹkĆ˙‘­Č?X‚PŃ µŘ÷Ón´¶ÖeÓÍ[5{¦ž'Ĺiď¨P(^ޤťjZŻlJŞ/ű ©·Ł«Jg˛NÇ; …âş@‰? …B10 ‡ăíĆ#ÚŘÇ%ĆxZă-úŃ˙ňżĐĘÍ›äOĆě|öÚúĂďéᣇś“€ˇąľľN·Ţ}ŹîţüçÔEDůŢÂĚÍĽü=üäzd>Ű;Ű,? ÚäÍ{oĐͷߡ•ţZ=79źŮ8şĎţ·żˇoţá˙,rWCu&°2ąËd°ˇÇz‘@~mŽžO6°Y˛7#":Syřyúě9§ëÚßßgő’v§m :KË”t{ůŕ†űýű÷éűďż§?ţńŹĽţĆŤ›ěśŔí#{äéF*¤çŇóçĎąý<x`Ö iue•67Öé]\·[7i©Ń¤s]VWWiëŮcú쏿c"~ĆŹžŇäŃ3ľ¶‹fę|đŐ>Ą_Mť{ďĐúźőhµÝŁŽqś•á8`ącˇ­_5dęÖU}¸ç!ýT÷­Ú?ł&Ż+Ř84}»é˘ß2'ůeŤFâTZVČŞmAő§NńčÄv™ăÂäe:b’wĹóý™řř+=Ó Č”ĽŁP(^A“‰ ™(—<sRůł–ű© |ňÍl“1›©ÖŕG,úŰůäÓÚŇOH 6k[…BˇP\}TßAµŰx˙Öm‡7g6Łl…Bq}�ßŘŁGŹr%€I5žŕ§öDČO Č?>°^öĂqÄ7š¦’ꋏhź)ľśXśP"ŹŮ7!ß<_öžoQ�Ev&ýDÔîuLý.“ÉóŽ�T<‹ŠgRčĆý8îd2ć ,†nűI<áßZÄ^#nŹŚúGćĽŕ+4ţÜćnŢ\ä B(=ŰÓÓÇ»ô|ßě˙pZÄĘô‘¨PĽpČ3K;bç×ůc% |�!2Ę>˛NĘr¤źŞđUôy+ŠWJüQ( *;±`ňĄĆcő ?¤Ý,¦­´Á‘!Ó NőĆ/I÷>úIęŕË˙µA»÷ż§cHőäÁčDş¨ćň2˝qó&˝ńAË ”>zHáâ…7nĐá`@_ú)=98 ÇOs9767éŢ~Hk?ř˝óŻţő66KőýúëŻčń_˙©ŰëR»Ů˛˛©y”4h5ŚńŰ´ÄźôŇ ČäSś ÍÖ(ĎŐmħł‚±ĎQ˙žv98<¤á`H ‹ ´h–�Ô!(ޤ”Ä µŕtŔçŰożŁoľů†îÜľC ¦ýA¤Ž†ÔHšî:fáôä±mď˝˝=V qčáĂGô˝ą†˝N—SŠ=5ËßşwŹn.-3 ŹűĐß˙˙ŻĎ\Łáý‡4yüŚ>ţřcZąw—¶vű´˝űśv¶·iˇ?ˇĽý!µ7nŃR–QH‹yť­—Iú™ľÝ«eáĽĂ 0(Kt›  �ÚIÖKňřT˛h1Ż'«¬Ď˙ *’ű’ nŽĂón©P(× … ›D"˸ĹwüťöÝ5Ťp[:2Ć�Î)i˙¶©8}bÎYR´Ě»~ÖöUćE  …Bq507ŃT÷ ĹkŞâŹ�D ?µ¶Ź,¶yĂóő€ŚŁˇć#ă[¬Ăţą‚đ.äB»|)§ÜĂš; f¨—G ç›ĹŁx@©Ű/2>Ŕ4°Űă¸(żáĄřŞ:KJńO5€ňČ?Ř`ŹÓ‹Ť;í€VV"VrNłÄř&ôôéľńOnÓŢŃ&IŮÝšÉ?JţQ(^|ĺB_ÁÇ˙T� ˘®S’ßu)Á|2‘ÚČ …â*C‰? …âµ}Â"•ΠѤýV‡â”öŰ)íŢ\Ą˝[«´ľľF!Eôě›GÔÝX§ŃÚ Ńę"ů†áóµeúŁű|±˛ÂË—hĽşB­^‡nNĆ´= hßĎ Ý­š}ż3ß\[ĄŻ÷VéńЦ­Ú^]ŁEóYZ_§»7oPołLüy˛ąNĽąI|ř­mŢ řÉšěěҡŮ˙p<áÜ×Yz<mÖ‹�;L=93#}9fúŻŚä„Rf²éˇ4˘áh` ű#ęŃáŃ+ţ€T4ŽččËűlř?}úŚľůć[&aŹČ#D!j ŇĽ“hbśMę6‡Tđ‡éůłg4žLŘa°qó6=|ňŚŁ MRcüCšřó/č�„Łź˙Ś:›k´|÷&ý°Ű (ŃŁ÷éŰŻż¤7oߢţô‡Ôlµi·P{ńmm ‘M‹«´pHËĆáqăÖ­3żyY=+6ßčn|ř“’¶,ß÷[·ß´ô`µĄ—ʢںťWm⑉?aU9!OJç¶ üź§)=˙ËF‰ł=UÂöÉ‚ň¦’§Ěíe <ejăüPŻ•Bˇxµ ď>qÚayWaá,ď›:MÝ6â`Äq¬r&FRGšĄ´C3ËźĄT÷·ü®N×Őáe©9¨3UˇP(.Ő´@žB<ÓÔ …ÂBRsÁźČظş^ţöU2|řĎ•ăëҸDů‰±q×řbAü_b'Çężöă—S|ťŽřq¸¨j QÉß!MÍÝ”ß?Ú6ľĆ!ö‡ĂŘ|Ʀ#·eV§Ďku8˙U˝MqÝŕűŔ}Bŕ“~ęTńe<ä«ů�đ ČsMž-U’Sď…Bq•ˇÄ…BńÚĂCDdNÉcFÔo´ĚÇxŤ í-öhws•zwďP6igHK ‹/t‰zćFěYö�łü!ÖłâOŹZćs«ŰˇĂFHă(¤'Ť€Ö-ÓlŇv§cöY0Ű/Đă›ŇkŇ[ Űćď-.QĽĽL´˛\ŞóÎň"Ý7ź;oÜŁřŢu”ÄtdNŮłÓd\k^°Ń™G÷pŠ/Kú±iŞ âŃ<Ő’ÁwfÚÝ ¶KhŔŢŢ.;#@ěŮŢÚˇ˝}ę�Ôz>˙üsę™ö{ăŤ7lĘ­C&ý@–·Ůn‘injĄ-V$B”ÓĂGŹŚ˙”nŢşCď˝˙uĚľřÄp*Ś'”ěěRËě´}t@#S—ÖŇ"­Ż,ŇF'˘Oš sü-şń–Ů÷ç?fąáÁŃ€Wi9hRcmťĆć›Â†i 'i|.EáH(;gëČ>Ó<ĺ(]ůwů¸g3fŞeľ2Ń&m«çQý”ľNy€üßăŃYí/«řL-í8éGű …âő…ďü“w“L``˛ÁWä9ků'[>śž pOꌦ*Ó–×MÚÎRď™·Ü“Ö) …âzA&ČjzČ —úTBń:ˇcü\Heěîîr 0yN�˘é«$ů“ČÇ×{©¸Ě§ÍŞŘvýZ»A?XnP×l˛»?˘ÝAB»IFçrEJ®ń$Ë5ב ,ËIEÁ±ňgŽdÝ3O‚¦dâż”.7!J&P}ŹiggďR(•ŔŽă˛ÇŇęßQĽľç“˙\űzšşŞęă§÷jšů™ĹĹEţűŕŕ€çfÇ(ůGˇP\e(ńGˇP(26Ű‚cKA.yţüąËgÝbu™łD„CwóĆ ę-ôř÷ňŇ2­­­±±}꺦6ź6ęŐýűď(ŰÚvQäç°ćí˛ě…ëu`°ŚsŮfÚÁsč)*Í ś Řöx߼u“Óšađ=Ž8-Îމ-sއ‡Ć`Ł’67ođ>p`Ü˙ţ>§ýB}@üŮĽ±É#J ´˙úú:Ë#˘čáÔívé§?ý)íěîĐáŃ—µ´ŘŁŻżúš–čĂ?¤ŤÍuZŘܤ?ýł?Ł·Ţy‡–7–hqm †fÔ¤•ĹZč,ĐćíŰ”4{·W©·¶™§™Őî•eő˙uŽ–ij@5­ěʬwÔ†ćOóőŠ’ÎY×!˙÷Ô¤°¬téÔîT(ŠéđcཌqŠ,—Ô_’’ŔľŹżĎ¤,˙wőď*P¦Dc,"ę„Uéđ:ŘmŇŇ1ŞćÓętR˝¦áeżłuňYˇP(N‡“žőłlŃŚĘ~ź«Ďc…âŐ|f?űŮĎřď_˙ú×ôřńăŇz<3fĄţ:Šç R{-›çKŰ-{§•Ńżşi|zfĹcóúÚ,˙t@ôĚů7'™ńw>uĄM_rru˛©«Ň,8ľ:+ľXńgćŁ÷z8h¦Ů ĹUžO°©Ńw…´č§ń® ¸©®óÉ)`cc˙ĆsN‚Š`…Bˇ¸>PâŹBˇPHČFćÔ10áÓjP'ě™™™&-Ż.ĐŇň‚vÍŔ˛IkëÔîvčÉÓ§Ôl7m+7Ą×íŃí›·ś÷¶ÝŘܤfŁI‡»ű” Ç4>8˘Ä®‡˛ĚŠ1¸oßąĂ)¬PŘĘĘ -./Ň8Óýčŕđ WďaăŇÔ÷®Ůľ×µŞB­Î…‹©©_Híá‚ńľ5ÜÜ>ÇÎ÷'!&Ńŕ ˛¸!tX• €‰8|wM;.,,ĐÖöŽxďÎc<ůt8-XbIF óđ±1Áf–ŹFă|0Ź”^GG}& !mŇ{µŤˇ€mŹč°?¤ĺ•Uľ 3č_1ŰřCYBODô-={úŚn™kłhę‚úÜą{—F‡t8Úç#äOâ Ąćµ§hq™’î:5̶ažtÖµKŹ“€<b× m;źŁVŚüăűľşäź\3§˛,+/>¦T5‹L7;Ňm®±"ÚÉď+AĄş)•ĽMĄ2fŐď4÷ađ2Ă …âR!D<“1>ąqăÝI׌ńÖŢŢ˝óÎ;üAäó7ß|“GY€D ĺŔŹ>ú(OöĹ_ÔN¬ĘńŕÄxă¨ÂÁŠa5UBłŐyüwvuťÔÁßv^脯BˇPĽ¸yó&ŰÉ A@ ľńţâiüËżdÝ_ýęWôÝwßŃ©ô} PĽŔć#° xôč?06Ĺs�cVl‡1+‚úđÁxy{{›Ç°ŘVíŘ~3<_�<S°ż<c0ţĆţXޱ3ĆĽTomĂ€–Ł—ńÎj›>ÚěŇ­fBëc3¶6ŹŁv‹˛AĆ€‡qâĽEzőă©Í ĚóÄ:ÉC’eÓ·âĎŚ˝ç<ŠBˇ8-dîŔłFžGó–…$64ĘBŔ0€ż«ľvµ‰ Ĺu‚ Ĺkk62{„Ó1‘™Żi,v¨g ÜvŻKă»·héć†3€CcpŽyjýýOôŰO~K3Ć­“,6FíćÚ­-ŻŇĎţ$Ą9cC7Qdöůő˙öw¦8TB“fD“vÓÄzç˝w鍷ŢĚŮébŇßţÝßÚčó@˘Ďí¤˙_üůźłaÝ ´xëm l€Ż?~DQ˙sĘF./·;OÉ]íx—מŽAĎąqťÚĎi‰?™G¶h™6Z —ŤŁ CËËK<?ÚÜ`‡Áîî89¦üťv°oť űűLęyç]Ó¶oľE›ĆŃ9 éÉţSłď‚Đ–ăń„ AŰf‚o˙¨O¦ś±ŮęL÷Ö×xŔx°Gżű†¶ž=7“€_Óćň­ĽyĎśr~gôdk‹ľüťU0×ůho›:ćű†9ćâÍŚÍU^.˝-đ•{ĎqATâťX’Ílë\-¦f"ď$ä ôH{W8/ů§ľÎÓë3ë÷Ĺ ŁÁ§n]Ţ˙RďSČ8O­U”¶; m&óśWY†Ić¦[×nBB´É¤sc}y˘¸$˝m‹Č1ď˝QĄ_* Ĺ+_âă.D;ďěě°úźŻ¦‰A1&4ŕŃ÷îÝăÉPŕ÷ż˙=}üńÇ<ćyóÍ7íČE˘,qF.//óD‡L~`{üţă˙ČcĂéĎÝěRĐ”˝*ŽO¬P%ťÔV …Bˇ¸Ú8Év»îßý»Çďťżú«ż*Ą±¨ďĽýčGô®±Ą˙Űűoôëú'»č÷:¨ş«Bq}€qíť;wčţÖ[oń˝‹ořˇŤ±.ük§âY€ń°lR<HB � Pďý÷ßĎŐ2đlż„zl_*ö‡źîóĎ?çńóÓ§O)2cß^Іń»â¸oßęŃĆZH+ŃýuwZDďÄ”ě%ôŕÉSfż|"ě˛ÎáµpcbŻU©® 8i;…âEĂOEo|¦)čʲęü„oű‹Â™ěř Aj+Šë%ţ( Y{1„ł*°A(ţ,­­ĐúÍ›|ř>Ý|çmV…Á”˙dbŚÎ‡é˙ń)69767Ř † Ł;fű7ďŢe’ÉęÚ%f®~Ź9jüÉ·ßÓgżů=MúCLš‰űÝlB‡ŚäĹĹc€w™P1té¬ĘKŇZˇ^ ö :ďźýâĎčçú/¸NQj&§†DńÎ=yđ€–L]˘ď›ąH“’¨˛Ľđąü)ysY8mć2á§'g•˛"SN›­V›ťP ĂĆ)0±sžh#oŕŹü&Ý˝s—÷;88äöĂő€3Ű †Ö©�RW·g®A·G-s}Â(d5&¬ßßÝă‰?\c¤üşg®ůîŢ"Óúě8Ý1ĺ=4“€ %őĚqŇŁ›~b|”4he-¦ÖY~Š-]ž¸++'ĺW÷Ë(–I*“˛‚P•ôsQäź«„\ŘGÔ‰‚b·­“á)¤N*ít(ČyňmđŔ§6©µ¸˙[™mL§ĺ˝}ľŃ…HM«a«P(^mŕť"ÎţđV5Ŕß#ŕ}…?üĆßŘŽÇmfCŇa˘CO`\‚ń�Č@[[[¬>É ŚáD6ď”ʱĘňřcÄă»H˝YŹjÚźŔSçŚ,‘@§ľ˙ë·—íÔ©ŻP(Żđ®Â$<ŢO ·âýUz—xŰbŇó ¶~ňÉ'üžRë@ˇx5�:ę ă€�Źç�H@żâ1'|_DǶÇŢşu‹—cŚçHđĂ›››ôöŰołŞĆĘxĆ`ȆxŽŕů‚ý±ă_<{P~<čósĄÓjŇM㽹±H ˝ u#2ţÔEZo´ŇďQĎřű˘pZŞB«^*üćŐ—€â Á˛©łueß_^·Ť�eY›<ËŐ¦m«P(WJüQ(Ż=DM‡a„ ëş0pŤáşňᇔüô'`QšĄL2A )ş‰1\߸{‡ŚŃŠČ—e—ţ *3o˙ŕ=é8ęńŇÖÇf›oé`{‡'}v&Cz<8ämadßľ}‹ÖÖ×P#Úzţś bCdpad# ŽóţKúg˙üź3ńó˙áčŕŃsʉţđ{j6Ĺŕ–Ľ*“.Ţ0ÎŐ„<©L(ĺ„”äUç);ŽV×±©4šÔéŘÁ{<‰ŤsĎL¤9rTÄl 8+ŕXŕ”i‹ËL‚cŰ -1a‡öEX‡e ^­ß¸EKf˘jO¸n’öăpo—†G‡™ĆţꫯčÝ»·)ţéÇDaÉ2Ł›°d1™şaň/í®ŇÂ)r ź0ďGľÂŹ|O›đó'÷fEöű¤ź:e€óň®7G·›G}ŕ"x˙2-Î;Ż Ľí‹ “=„üs6Ě$eŐ0vĐ·0iÜnő¨Űî±S®ŃčÖěKy«MŞP(óă믿ć1˘Ź…LńĆ0»a ÇĆ xG`€ßř`ââáÇ5ŤńĆ< a¬fÇ/1ăyŽčj–EFcŚK€“Twě7ÍŚ`śg< đÇfÓŽ­NN…Bˇ¸^8é]ŇĎúO˙‰ćÁ?ýÓ?qš/ŘĘ@¨ď…â•ű,ťÚű@͸đ˝÷Ţăq)ëřr ¨hŔ7†u Ý˝{—ˡŔ2QůÁ~;|ËXŰÁ·‰g|t7Cőg?ÍhśŮdĺK˝.­,ô(jöÍ1Ű´´˛J=㋌70>Řäř‰đľçńeÎĂsš2‚Úr^wg3~M‡\‚ĘwVů~5™Sů©ş]pYU  ľź°­H:m©ži~ Lu^˘<‹ćŕ„�T}äŁP(®”řŁP(1eÄŮľĚ?Ilţ›jBM36l"OőÂ",S^6˘VŇÄźśşÁ 0łO<±yďÍ&OîŔPÎBkDb˘§a flŹI#ĚRsňŕQă=cäJ>ŮAżĎ6şdUçšKĆ& ^ÁRhŤ÷ú|ěŔ‘_đ±i~,qÝ4'\ůÇ˙;c’T>äîß~Ăăëlę%V7)+ů:ńŔ=°| řŃ&=ă,č™kâ “Il&ä™É¸ŻéţýśÚ«ŃlĐęÚ:Wx{g‡&fß!˘&Oîµ[mZ_]ŁŐĺesŤ†śn`Ib&îŽúôđŃczđř =ÝŮĄµŐjöčÖÝ7)k7ŮáŃ1űGă .B ·z“B¨8â“0ëę¸Ëz&L‹ě/H/ő“˛íyČ?WŰ&ĘĘ•O&éżwq‚zëőXÇ jŽ3ĹX&(UuM_ hbîń'Oş˙ŕž<92†§ąŻĘMénŃí[«¦_oQË<śĐĎ;޶LőbWV¦X …Bq €¤ăŃÉřř€c±#őb\öĹ_äËA"Şbä”!( a耓Ş6Ő+ĺëŞ#ÓŻű¨¦÷Ş::ëŽ[ujľ,ç¦:U …âbpÚçiÔ˘P(^9B7|“ ®[_Z/_żĆŞřic^×á×% lAoŘ~8ř7ŚEÝR&Ô‘6L‚$ňŹńźÁz`†ĘŰă>ĄÍ1Ż?ě§Ćó1|{jNŽś;ˇ1Îâ?©1^Lwi).u ®¶ĂăŮc–É9ň]µ};şšĆ v9ěsů»ŞäŰß …BqաąBńÚů`†c‡ďxBÉhHéxÄSb–%ČF6»Nc¶‡?édLclk–”ÂéĄ$gljŁO00dI\¤‡ŕ”Uó)ŕČ3p„ňÄŚ¨feC@”w(ĎSäH?Aďd)]&d0 ˛’0îy9)ĽífŚ>±Âť ¬“ěšK�"Ő€†#›Š·۷o3é Ž }ţřÇ/čWżúúěł/čŢwčß§ô‘٦GĂO?e?‰©P{wźnݸEk+«´ş¶Ę× UGĹţÎs:8ę={N?Ąűć»…|ç›7轵5z‡~Ĥ$Ô5!Ď Z”…]sľČ/ŃI¶É4Ă'äřĆHÝ„Ţ4Ĺź“PGţ±űNě©X—?r&-ą§|fŰĽŢŽ9·Ëšć1łbśb;Ö>ůýýő˙ďž<éÓζ1dĂ -,ýßú ôÁ›tt¸OK‹}Řz‹6Z}j…űćHó«J) …âĺA@§CvbDĺ,ÔIśź” LţžFşlĽ¬ă* Ĺ« ť°R(®.S D(V‚ŕ…K�©żŕGQÄt°RâÂŻ÷Á01čË/żäí‘ţ ľML”_(öC ¸±ŻL¨CˇËDES–}÷Ý·”l5hĐŤiµaýOĆ!=?ŚhĐO8ŘŻ§Tý96¶ĚśU‡ś}ĎĚĆeŢׯ¸ k¸QÓróąŠÔÎUé'ts8X& B2Ź#Â@mT…BqաąBńÚĂí€Ö î4GVʇííÓdë9ě’46†đ€É&KK‹”dĆXޡC§Â}Ŕ ß7ôł'O(1ăľن.”z 4Y°AĽÔŠčćB›Ťgν˝CYj'9vw÷X­KI'!Q9Č›ť$)=1ĺ‡Ć¸nPH­~FŁ­-J Ĺ{Ěđ-łÝů×%Ú’ÚĆ|<¶çÚî´č<Á9Gů@”Éś?6ÉŔŃî/ß?8´†Ă#zôř‰qh<¦Rß´á¶‹âo6š´ąyŢzëmęv{ôĂ÷ß§¨ŃäżoܸÉN´áh4¤őµ5ţýüé#&yáXp ˘ˇ×ărl»†|}śdúA*äs…RG™+@fŠäOŢM+Ń÷~¤‚ü®F"T'ńJ‡ ¦G+U'Ýʤż" ÉYńňíŢě„ĺç ošraóuH;74Ž·§¦ß-Đ»ď|@++G¦żîŃÁ‘yÄczö|ÇÜ[cÚÝ~hž?®mÓ{ďÝ»Së|·BˇP(®4‚ZňNć‰FśFú‘ßWAÂ\â …BˇP(řż˙ţ{ţÄŚąŕżâ”}„żEAvđí=zôŕ×4€ř-)żŕĂ6řŕDđŰÉ„ş”Ëľ<3ŢeŰĆ÷9Řݧ˝C˘ă×X´âç´—†ô nŇŢÄÔŮřcÖjŻxUfąY*8ýd}@ePő÷ĽĺR(^u\|˙ĎśôĽJűËeţ .ŕEľýőBü‘ý„ôă§ ˛BˇP\(ńGˇP(Čú %:ŐžFŁIi’Đŕ¨O{[ĎéđÁCÇ�Oh8±Fëęę*“;ŽĚß šHT Ří­-|&Q`¶3QF/Ň;.-UłŃB§Áű‰”vżo >0˘Q&ę…ýDfĆ6Śp,‡ˇş•…´ŘO(Ţ> ±©K»f0ZŠŘÎ.ϸ”A1:Gý#ŠGNGt–2Ä8@Yh|€ž¤LŠ‚łmťeńgooźvL["8r L›‚DLĚáč˘Ă#VňA˝°Ď÷îŃâŇ’ÔGLĐAJ6޶··h8čó5ńç[Óö‡‡܆űűôůç_Đí[·čŁŹ>⪦”XâT˛ŠBĚ)¸f©űTÉ=uÄźcĺN!üŘď¬v)ŻŽü#ű8{ËűűôýëJLîťÂatŃ`Ş^š™ţ54÷ő3 Â%úŃGšţ;âȸŹîÓłgOĚsbËôí‡ôüÉ6-.âYS»ŮĄ›Güy‰'˘P(×§}MS»lL«gIeqŠ:Đ´:*ÉFˇP(gF˝+§Ă´1ÚyË9 ŕoĄ!đŔż_(Ć“řţî»ďřo!őŔ—†‰pAÂ߀őŔp8ĘÓߊz†(eČd9|z’ŞKŽňF®ŰĆv`š 2?Nľ1E‰kĂxA©o|°#˙ĄMĚv1ĆÜĄł ć¦okç+-šEô™çHŐ Ě“®ÓE?CO*/›ąg0G}ë¶·?Ö_śç5iNlľĘÁ ś˛zŞmvRťŘ€'lZdÇţ}°¬rČŕßřç'rµó< B[†<k„¨“˘&ŕŰÉłJž[€|ű×GĘT(Šë%ţ(Š×ÎEˇ¤ÄÂ@Ő ă1=~ô=~LźŢH_­ţŮhkb‹tmm…ţâ/ţś–WV(l5-9e› ů§L8ln™Ad§EĆ>e#ąť…ôĎ˙ů?Ł&…l·ÖW¨sk“î?¸O÷wÇ„DÇČ�USţÍżů7nyˇřňůg¤˙ď˙˝U2öóR?ˇÎÄNßŮߦ[PţˇśšaSĄąd ]&d ęFi«‘GűYacl_µŹR&г·żGcă „<ĘAú.ä˙Źěvqśđ@Î8 ¬ôěé3ÚŮŢĄAh® óPIşÁ)ą6olŇ»ďľCk+kôäńú›˙˙ß°JP§Űá%¦Ťš­·w݇ëŃbŽŮlµiqi™—w{‹ćú¶¨?śĐÓg;´´˛H˝Ĺž9/smSrQH…ĘĎńF˘âܦÉAˇ1#—lV´Á¬čý:•€y•¤ĽiéA.s˛sÚ1/Î ˛.׊.ALOžĐÎNF««wMß‚LögÔî„´¶ŽČą€ZŃ"“€&ĆŃ’Ůąçżů~—nÝJč'-™*F®vIQĂyŻ`^Ă:PúBˇxu‘« zďÂÓĽg$ßÔqëö9éÉ:ýťŚýÂÚíäŘó¤’}qďU…BˇP\%śhóeŮĚWTuú»Řmş ŞP(®&�'Á‡IĹ5 P)Ďý&%L{:ś ”›]ÎůWßYu+‹4pŠ?žř4}Žôö§CpÂďy1ĹŮWZžň§a–=qŮ{żđ: ÂCµ?źdű^N˙źWů¶ęSŻÚÉՀ۪_\ˇP(®2”řŁP(^{`Üáí=HÓ”Lb&„lcřoţđ9ýźfRݲÉ3ß _ţůż ˙ű˙ó˙A?‚Ú‹™đVÎ˙ç˙ýżŇ>ů”Ťh(µ»4LJůáoÓÇö/h}i•úý#Z{ó.Ýüŕ=ú˙á?Đ'ź|ÂÄ|pśN§Ă9łöłźŃ_ţĺ_ŇŤ›7HDV0ćü}ú ýç˙üźí„SśŇR?ĄµF—nßľMťVHăÉzÎţ†’TÓc˘¸— wA¦I¦yä˙ÉFeb?¦M='ăúG}ÚŮÚf˛–7Lű5ZV źá`ČQE˘…Q5 ŁĂ>o“°˛RH­fD÷îŢĄ÷ßźîšď[·nńńż˙î;úŐß˙ŠîßżĎ펖IĚńiee…Ţ~űmÓž·ř8 !á<:]~¨Ő1×5lĐáŃî?|Lo4îŃâę —‘rŞ5w±l›ŃXłWűĄTŰX>ÓTzň2|µ'*~NÚ·ş|ŢcÉß×Öµm]Ł”$ë/ń|ĆŁ„ž>=2ý©I˝Ţ…Ť!eáלNpii™Ň8˘dÜ3ĎĄ=:<HĚ3¨IćVˇíÝ íě‚"Xä&}+Ćk~ŽöWp˘óIˇP(^mČ»Ę_ůäťyŕ«üŘOĘcY7e/Ţnvąt©ĐIY…BˇxýPµţdowńgš]ŞP(/ytÜq?ÎižKňl{Qî«ëç/+íďwŐϨď„zÔ)°k[ťŇ3(‰Ąĺĺţw]Ŕ«ď€ż_Ň~MSŇ÷˙V(Šë%ţ( …Sú =Ąť8žärŽ˘°b% !°">9éÇŰ@•ę=P˘i.t(1«YĆ–‰7™¤1©¨ąľB7© `@e„ü ‚ &ˇjkűÔ+»” .®ż“ŐµSŮąŤÚŇqč8ž#á‘2+ nŻ“ )ͰÚäüfÉŕеk«ÉíBĎh4¦§OźŇÁÁ!ź öA>rĄ˛Ě¶%®C’dLĐyóÍ7é˝÷Ţăc={öŚ~˙űßł”1Z2Đo˛Ńţożý}đÁűLú ĆOž<f"×`Đçë»Ôk( ŇČa3 ›·oäRˇI–\*ÇŞŽÄ#¨:uE¶´Şl0Ďľv˙›ŻźU'߸š'ÝŘUC ˙äFŃe¦Ć«"—ĽŃ$Ů3}şGËKËÔiMżK9Őߍ›!­ßZ47EËôń67‡¦_ĐpŘćţĘϧú¤•€$%ý(Š×ľSORď,Ś÷N~yWŁ‹hÁô¤=O$ţ( …BqYćCŕuD4+aN6ŁL…Bq=QćeĺßŢł4;Ä+L ă´\AE?ą(1p* < Č ˝š•}ń_*>*ĎW•˙ĺ¦ůuqőĚý`nY:SÝ'Čk\Źi”ČČťNTř’óóh¦LľýIÇ,·řńżgźŃĽŠ?Á”ýKżŮ…T[°>HŢ,Ô_ďÓ TĄşwZćÁ»~ůż'ĄűšRłÂŻžMŮ´ćj”hĺwA‚›¶í<đ»¦Ü^żnžýeçSáŚÎóĚ>rćŢ” ErV›ŢócçóBR–wĎťµ) ĹË€ …˘™UĘI“”‰$bšZl7Üş†DĎąÝŘ™:‡ZŐ|qᜦ ¤˘´lbFQhI%ŽđRK˛p6ďË•_Ü1‚ Ý®'šm˛_râŹiź(¤‚@QIY%&=ą4[ř bhŇĚŻĐ>8ď$Is˛–čł´´ÄvÍFË|šĽĽßŇp4ácý_ěýé’$G– µŐ÷đŘ2#rAfb)ÔŢě®^(rűĘeF„A>ĂČĚńřcd„ŢąWČ+ÜYM˛»ö (�ągĆľ»-zĎwTŐÜÜcÉȉDA`éáîfjjŞjćz>ýÎwPH ]ýţ÷ż—tlBÚáý@(jw:Ôć2nŢĽA÷îÝ“´`)‚QYKŻ%9ĎŁ:ÝŽÔëůŢ CY@Táb…<CŻŘ–+ďë –.ĹHýłş9«éçEj?ç“É®€+Đ2ič2u ×‡—µ7nęÜŹ˝ŻJăĆĎśRÇ<fŹáśĆ“‚Ç1Čt ęőRęoö©ŮnČ1ë˝CšĎ÷i6WÔ&ZnßóP—Ż˙ŕÍ›7oď´ą”Xî7Ý€Iö2«\Ý1WŤ�ô‚ŢĽyóćí›¶‹ü±úÚˇ7oŢŢĽ]¦¬ ;/0«ţ~Uɢ:ţ%° sźëĄĹü€ôń'X*ۤâZRë®}Ź}cĆŕÂŢ{â‰DäeŤM°Lü±çŻĘSé Â_đoH X„źKÓU`ŐŢ-“Fę›;ŁśĎ^?6¤›ó_yŤ{±ÚšĄR/x4ÚţY¦¬Ľp 6Ł*ÄÎ>› ~'ź °@*]ŁAťQ-©Ţ]|¶%6Uě§S~v<(é×3*J´BCQ‹+ŻŢëłç®6WNy>ŃÇý]:ţ“"÷Ď 1g嫜™’pVM]ň^]°ŹűTťsř žŞÝý+˙.Ó”Ńĺ®çjůzQľ6 g+ŻöCîúh™řBĚ«Vös§Żż_ś~e估:gÇŮ•® 6®ÂÚWKĹWO Ű|őY+R/ö¬öÓ´\ęJĺŢbś¨7oŢĽ˝”yâŹ7oŢľó‡ D˛©˘ ¤$Že‚[äi8^Ň@•â…dE@yiś,IŁUfŢĹÂ"RN''Gtx|DŤn‡˘Fb‡”|×j¦tëöMęm¬Ű٤‰3)ThzŞŃH+užói$&=–FÝ (ăđĆĺë2'q ™(tEę-NJ…S_LÎ?1Č8ŘśR8Ř˝,‹ĄHúŚűiĽ&“ MĆĽM¦’ L”z"…BY¸ ¤ďRyE_>xđž>ŰŁ˙ń?ţ}úé§´±±!źźžžĘyAa)Ŕ667i­ß§ÍÍ Ł4„4jĽ/”„ú«×ëň{%Ş+›[›t÷ý÷…Čur|"„!8¨ÚÝ\ĽD7‰-9ăv;Ď—\±Eô†ÝMŃágńąŞ1+g˛­’~ÎôÓŠłř2’łĄů:{uá1/mÖ‘|=ŃEPCýłWs_ÇÜ=¤]ŠÓ[t:8Ąż»˙Gzň$˘ýXT¬ÖÖBÚ\óXÉ1i<ä {Z6<”*—XGXlĺa˘‰^§˝yóćíŰffÎWś«ü#ÄŢ0Ľô7ćľsż˝Wý=2ż·ţ©ëÍ›7oŢŢ®]ü±šĘByĎŔ›·o©˝ůGŐé ZHAM'¨•V:ŇŹ{nÔ`XÄŹŹDáµö\A©ö-Ł ”©Ëqt"G2Ď9·Ö´źcŹ—Şű ţ u}Ťľ¤BĺňjŢ3G†¤PWč›ëWÇšńegöřÂ)‡Ô®˘şPM˛3T­m.z~^”bŃa ŞVOĺ‚­•Ă5ĘóîŘęą­¸đĹŘŐ*kÉ"5â•ŁÖ RiłPXqK,›ŹŔ:sĆž3`µçťŻFQöşť|ťü㪮m›kŰaß*pŞú¦/1†ôjşáh`ŐJ%^DŐZě˝2 —ZĹw1ž]áČy¶/€gĎçsăs˘6nđ­Ľô˛¸¦Z¬!8 ×`Üß—ŁśťK!Z(ö׆–ąŹXó˘ľjĄ4]aŘ/ěRÍC^°ź ^dPBS[š×P5xÝ.Ő˝ąŞŚ˙˛†ţ”ŕd‹xóćÍŰ»lžřăÍ›7ovr.Ń"UˇerŰmwŘń éýµ š¶×dňŽůbÚŚ¨żľN>¤Ś'óeae �´żż/é˘Öúk&5:mŠ„ŔŁ„ČóôÉš FBě9śOčáđ¦Ó ÝĽyS&°đ&I,űwřX]>ýô^řĽÄĐŔľ?ýÉOŤâM–SoÄY’ĘlLÁ|DgS>˝ÚäöĄ[Ó9Łĺ‚€ my!jHî:K»ř†k@{ npŽ0‘FJ­áp ť1˙=™Mřýͦf“­Éí´NIÜOş˨…ŃSiC÷ěŮ3ş{÷®x@°Ę¬#˘Ĺµk×čÚőëÔßX—4mP_B]ŕXŕýîÎŽ~ň|.mü>—łscW®±ĂçíXµˇ*ÍGPSży�Ő:N•O§hIń¶HĺU'ţ,ŠX(.-ł9bW!˙ś‰4Ó«ůĽ Ąź7oú’ĎW··kŤF‡ÖÖ·éůó1ýáÓg4vi4éđXE*ĽÚ-EýBĆvÎ(NB‰ ‡@2t¨‹qrő… }—çÍ›7oߨŐɱ¸^҉č*©-ťęĘX¤űňćÍ›7oŢŢ-[MQ ;»�ö®ůjŢĽyű:Ě虿Ař AţQîmv °�Ć.ŇßÔ‰Ę~ŇRɫܤ§˘ ¬tÄ)WĺöŐBZĘD^]ržPČ:dË+¨ 2ŇĘ’ö|ÇÇ’;Uu‹Źa~Vj9ŽČÁ�—´ŘH@ł‚ëSökç ÔČ ę,~¶ «°M*5­*tK!0PlŔ#ń*őE j-“‚hAüqŞçÎ *¬O_ÚăŇňIdAr’ţ (ő˛ęM Q]bÎfsš"-ý|ĆíśÓEř˘ôY „ś Ő\ˢ˝Ěé¬âŞáI€,SĆŇ#ĆvĂ‹Zľ>‡řŁ–‰+^ĆěÔKax«XŮęoˇ˘Işś%ťhÁřŹŽŽ$pU_˛}Ś\5řŇÜf‹›pŇÓőŻĚëj±şŢ~5†ąń`Ć‚ŁQDdU÷ÍüA×r-Ţm3Ô3 ś%:ťmĂUźű*׏űŮ0^Ě5ňŘRánµĽó‚aW˙®ż^fŔ_ŃŻžřăÍ›·oyâŹ7oŢľóf~qr0“Ť'µ |´ąI›~L?˝uÇ:X%EiHăÉţŰý/’*ŞdGŃĄ‹č÷ÖDUćÖ­[ÔdÇ%n7áőČ„˙ôůýâ—ż¤l4‘sfĽ€?kĆtăćMúÇ˙řW‹O8H+ ž`RůŻţŐż’÷u‰ß{wîŇ?˙ç˙ܨÜd­ŤůűÁDÔ‚ş_~NńÉ!ĎJ'ćúhu˘[ľ4˙e u&<˙‚ćĹY6“v1 #yQ,ʏn\ďŃŃ!H*®/żü’ööétx* ?hÇ(„sśŇÖÖ÷ŃuşySŃÖć5!ţŕóśŰ#ŠŮqÂĘAv‹{¨ 6©źM©†Ď;ťőz=!Ç;–ľaďď˝˙>ýŕS«Ý”}›Ť”±qČQŹn·S)ÔSż˝I«ńľÎ8‹Ć7«-ç¨ę¸ăµvúRőËśĎË>ŻŹÓ‹ĘzUĐ»I zs†ű¤4 3¦ÚŰăg ™Ôw'''G žEׄ�tzzBI ±–MDŔ.›®]ô§ÜnŢĽyóö2ć”ó\şP€‡x­§ZuäÚUsó ě‡ă0W@/dcűą7oŢĽyóö.ŮE \gü¶Ż$đćÍŰ7j˛ĎŘ@Ě8YĚWç°mŕdnáśqş€ç˛ĘbZy h1v)Ób-i -O‹˙łV2Ƨ Q%�®™WĽ/“ËxË­‚MÎĺÎŻČťząU}qóë†i­ŕ×Rd‹…„’|ŢÂŕ­™ÎůřŚŹ· ď–ăQ˘Lţ®I¤“pAü uĆ<ďpľ sæüŃIHtZd4ś iĎi@¨Ł-Ţ)°@$d.36A‹NŁd±ŹĹ\ţZx‚*` `ß× ˙ˇÓjÓµŤMZëu%ŕ°‘6(I“Ę7‘ŤŹ-E䝯=› ů�e(K]¨RŇY4ĘJŻë:Ýg…ř#Xť ś,ó’ÂŇHň8Ň0¦ńŘ`ÍŚŐ>g¬v8Y Ü*ĹY|ĺĄ1ʇ”ÇVŻĂxŐ -j\e 5~żr9)_÷ú:cé›[´ąµËXzŰśź{®°Ô0[Ś!ęÔxhB2˘ĹµżMâOő[ZťŃ°¦¦CüŮŰŰŁ§Ož‰Jü|>‚YRťŕ¸ˇQ:r„/7F¤ÝEšä˝(˙l=ęÄźú÷#‡ŮďÜÚĆ”#¸)űjh:޶čO<'p<Ć|†:†lcĐŹeQ.Č?®&Z/·©r›şÔ§ŽĐ†5‚Ěřę†ö.Ź Ü~MĆ>>Ă}GżwäąUÜÓ‘‚–Ôµ”Z"Ö‰@uCť\fřü‡‡‡˛.{Đ›7oŢŢuóÄoŢĽ}çÍŠŞ.¦ 6}V NŘőĘ®]§7“V*¤NŻM÷|E÷˙ =yô%3 ÎŮQúńO~Bwwo9¤Í[ĘŇ€=›¬ĹÎéá€~ýđí‹~ŔŃÔ´ł¶A÷®ď “c8|`>}úŚŽ?Łűź|&LJáŚÍŘařđöúńŹ~$ÎW6ŃvΓÖÁX¬čđąLz«Čë 9Rţ׋ç-ś]qö-QĂ,°A)ŞdÄńą©'ÉDčQúQ8Ŕç¸v˛,ŐĄŁá)·u)XŻ»FIś°ŁĽ&m>ŤŮ©:5 v¸V88Î:L.…H’>ڞűt4˛c•ł#ŃŞ‰Źĺs‹şÝ¶8˘p4@°(ążἢlô>ßŮŮ‘Ta«mr©ésvŃ6oµ9 Ş÷Ż=m âT’ŚéśNNNĹA‰ą˝‚*ŠĂHЂ𴽽%í rŽĹÜŘXGďŻĎ� $ÇcŚŽŮŮG™pşđÇá<pľšÍ·W_ú Î.ŽĂ>˘Č†Őĺ“(÷U$džĎp~×_f ĄŽťNwqÝgćeM˝¸‘ĎÝ^¶<c—E°„ ¦µÚMg… ÇŁ·íŻ;ˇÝť]±xq™A‘ÁpJÍv@QÂଠi2+ů^Ó‚ęŹTQ™(·ť;ŔjőzÉĎ˝yóćíŰnŽtŚßĄ~ż/ÄaüBs‘ď}ď{üf”ń»¸»»+żEŹ=˛żŁF™Ń‰ńŰĂç—+˙\ţ<öćÍ›7oŢ^Ç^1ŹŔ&·ëŤđęŇĆÔSŐüŐ_ý•ě˙?˙ç˙”ßGňĘvŢĽ˝U;/ ęu Š—×a<¨ÇÍVłC7mZcŚG”k#S<VŚăŕüS†ëŽSEăŔŇ2 uťRŞÁÚşŚÉÝŇ!őCçD ^Ho“Ľ§Ó<ž3ţ3/M`ŕ€qÖ˝2äWmTdřý×ÇÇCíĺ:ôŃ<§ÍÂ<o@úis]ÂąQś1ŢtšĹ4µĎŁ_’RQXňOÁ0W•"ÁATâş‚č„�BXˇL 'žSĆOOű]z^LčËg_ŃçŮŚ>ĺ}Č’9@Ä`\SYbFÂul2–€ôŹç'p`]îwŕ0P˘Đ¦$ E˝Ć€@Ţ fSÁ5CŢosëýä{ß§÷oÝfqS0Żv§Í>FbK–ř#mÇŘޱQॠA�{ěp]ÎŃRYúŰđ:tEʨh?N¤ś˛0x+H_Ś;i+ íŚÁŃýű÷éł?ţ‘ô§źPţ,güoĆeŘôÉö¬ _w·ťP­-± řJ…Ádń{ÂOł ň‰ ŔsżŽ§sQrßŮ٤>ü~úŹţŠ®ďÜ48˛Š÷âq$DKëÁßöŞˇ(K[;Ž6pWDłôą8_í˝&ş T5>‹Ş•Z =ůz?ůäSúßţőżˇ_ýęWB)ň‰ěŚřTŚŁěŹbíx6úë3>vĆăÄ”¸ěú_ŇtŻ>G­ĘĐ'€ÝzF›Ď‡ó:Ą˛Y\Z·Ŕ“PżČŢ×#B ÓeERÂý 2×d2•{ąg´’4O­´­Ş·ź!ĹrٱР•ŘVćď¸?¶¶6·Ţ˙8´ŮŰÜ©gŐłéÁ‚3$ \Ǩë\ó`Ú r!0ůůóçéÍ›7oďşyâŹ7oŢľóć$)EfV¤`•:ŕ¸)Řěd “äOĆŻwÖč$jĐŕé~őşP´áI°#î}H˝$%š±cšźRÄŽj“řÖ`‡óäčXŇar 6ű)«¦m'-:Éżß^#ĹߏůOsĘNhĘKLNAä8=9%ĹŇFŤö÷č”' ë ; p˘’@RŚ’90¬{Kţ1˘ż5™@«*?s ´¤ Ä‘t‘ 0|Şbĺà „úäřXśâ7v… Ňś  ‘ňDţwżű‚žóľ;;ąR6yqîúµkҦâ¨5b ·1�!¬Čą5[ Úľ¶ĹV*©ÄPçgĎźŃÖöµ©Ś,ôĐł˝ç”0Đí6i:IDÝi¶6’‹SY ĺ˙Íßü ;$[v`ą–ľB‹ë >Sg?Âf:Y•ýŻ.Ň×pxxD<0jS|ťřç<öDŮHÚŠÍ}‡EÎżüËż‚úááĂGBěůéOĘ×Ţă6˙­‹~@„ČPPdúĂţ }…÷8n08rÎÎÎuúÁ~(íów÷s9ö±Ę,šH|‹Ż¨ś9Ô ‹­Ž)W‰ľ˙ýďsŮ˝ęúÎoŰ«ŽîW%ý¨+ç.Ţá˘`ˇ(¨żžňcÇÓč„ŽŹ‘jŽŻ;mĐĎţâÇt<ŢŁ“Ń> NsnżP€´YŇ8ă{8�KQlĆ˝DB©ZtMĺ[_� ]Řd~qÚ›7ošćÔăđ[ŹßĚE�žĐ€ď�®­őĺ7żóříŕ'HŔ�bP¨°ŤąĚýŻ˙ő…ç­"7˝yóćÍ›·7l/RřÄ‚Ő?űg˙Lp‹ů/˙ĺŇwn!ؕ߶żýŰżń_˙ëMż‚rń|~éąß$AÁ›7ooŢ�D ­3f¶Ć‹ĺ»˝>}Ř]§Ť´iî}žëđ”4R:Ż 5Ą MUČÜ·‘+Ú.j3V0†±ÎÔ˝RŃf`�Q¸]Ł ¸ć¤řłśçÎÄńÇŃý2¦ąI[>Ęrpť `ŻĽ˙.c©Ý( ŽŘ`ś­ÇŘ*Č/ţ Ä!FĄhbź5Đ"iŘ\,IGŃśWş@�âď˛RXE(|26™[RË(‰é¨ŃĄG9 ŤÁ|`’K-Ú Ş'‰™˙·»]j­­1ć_€Żád4¤9S �sd\F…¦˘ťĆkŚ‚ą04Ň‹AĹ„ń± ĆŔnܸI7oŢbCo­'ţ‡#0�ń0fŚ,âr[ŚgÂůđĂĺ9˝lŘ®ŢZBHą †TäźšŇ[ŚâON”1v›•*Ć0lH|­_=z`ŐiĚďAť0*˛ímn¬±ßtŤÚŚ…\Ţl2ěŻ(fěcĺBü!JDń§Ĺý3^Ţi%Śqóu˝Źî˝˙‘iŻ ¦2HąGB{uJŕÄĚŁŕOď,ZzĹ;‚hą·é<şř#˙č%ŇŹĂ1nşŚŤ~ţégôôé1–?™ŚÝ·f\ń˝}Öú}!łD¸Wx,ŤŘÇ<¶Á—¦‹tĄ¸łZÇŞOőrÚjiÁÜy5·F9ăýŠDNÝË)bŃś™D&­[NW>çrL EKcëLk¨%¶OŐ> ýĹܢRšZBrÝpľ5ľ/0ŢAŽĂřŐ~ĆŞ{=Äűs•üăŇç­ţí?őT{usäh!kŮżq}8çęľŢĽyóö®šZyóćÍŰ’-$%*òŮ<Ä$˛‹É$/Ć#O5R)ŢŕL ±3÷˘JH)˙ť€%Źýµ–‰»“fą„!‹‰ŇJc_>Ž\ŤrgsĘg&•Ţ#úîź°Ňá¤ń"Qś+:5„ź*żíęĺY‰×ŻsIßĺš.:MçŽä[ńş*-ŽëŔ$“x—jĂ9 ~¬ń¤jAÎéüŕ»tďî=úţ÷?¤ď}ď#ş{ďž+ ńPś§h#RĄˇ‰?qę8hG‰¤©ť  'g ˘ŇZM4 Ŕ<|ôH$pă$˘ŁĂ#QšJ¤Žq(;íNˇÇ@dáKÎmÇ‹ů@«y‹%Âh©g%‚‰Ç=pX †„ú˘MŃp:Ń Ű /~ýë_ńľ!—Aé�éę¦S(1=“ĹO¤Q;ZXĄHAůPńŁőĹ_ĐĄ-Ť“jTb€ĚĎP8V8,şâÜÚŔg¤p*?č#¤Q{úě}úé§týúuşÇ}ýőÚ×xg\R4RÓuş-âG·qB#zôčKé›k×·hS§ĎNđf‡Ĺ~Äc2g4«Ű[# Ó(V _şz}˝kń°˝7oŢţT­ľ0 +Ôíđ;Ą:üâ·éóĎ?—ďˇć‡ß+üžąt¬řMĂď*~űp~ź<y"ż»ŢĽyóćÍŰ7eWQüq ]đ3°ëL©łK›ř˝űÍo~Cź}ö™Qk oŢĽ˝®­Ţ§Ż“}UAăŞ\¸&ć˛›Śąl5ZF jü}ć°ˇěŚ ‹ßj®i<gü1lTSc”ó˘Z/ŔĎĚinBB új‘˛D¤ňj”!(&ĹąŤv+$`ʱ'ĆA'Ś}â¬vůĹ Är2…\1â* íiE)TÔ‚řňç±6Š?óĐĚísOĘ”rY¸îb)ŕË=3×'K;mЏnŔO?śrť§‹TMŔA^Ŕ3“±łF«CqjpHŕĽNIőCú§ápTacą|ľ–””LÜö&ďüĚŢ“v—˛,9jeTś%ţ€ôč »tĘ.‹4UJŔDC´Á¦e«+Ł8˘‡KÝe‚( ä<B˝€1O–bF™4f,ߍF'ÜŢ3Á[Ńż 15ۡ@0^TzV©ŻÂGJLZ-?ř[W7Ć2-R­řŁčB˘Îů#čŐ‰?6'–iŐs~˝"pŰÓ§OIŻĹŔĎág‹ýIřš1Č4Ü˙'Üß/J)U‘mkżÝőg‰kÔ ýţ „ŰÇăŐĄíBߢ­]{“UĆU‹«ŻŹ— ¶©ąĘňśëÖ ňĎ‚UUęÜ–DKć®×)㫌ă~U!ŘtĚ7® ăIT‘´®]żŞ”}\б#˙¸ĎăyQ3ŚEŕ× K#Ŕj?óKĎŢĽyóö.š'ţxóćÍ[Íi%´Ä’ r*Î RMlľe—S6á &ś:YđQ†ŤnŘń‰Čvb*“Ië,cÂ}ęŚ|Q7˛‰ť|:F96üŤÉ­› Ę„=\8xB\A>hžźl¤ť!×8ŇĎ׸˘ďśCČ’–™•©EžęEľÝz°?8t@;c d› ;:B âvG˝áěbűŃż'°Ľ˙>ÝĽq‹¤2jHÎaquéW>ŻqŠŤ“2Ń—NŇŻp2pn#e›Ë+˘˙ˇ°soď9uŰ-QBŞŹĂŁC!˙ 8µ˝ÝÝľ}[ś5 ×·šM« ·ę`­:Uî{—F ă×ůŢ{ďÉ5ÉAÝ?ţřc!Öü‡˙đd¬ażżţ뿦˙řÇôo˙íż@řg?ű™|Ž…P´ŤÜ Ľ(B;Ý˝{—~˙űßW’§’˙űŕ€~ň“źĐ?ý§˙TĘřĎ˙ů?‰ , jA8?ęčň3;ç �ÁźýŮźIĘEP?Ôç]°Wćčb.Žäwçń7ťÜôÉ'OůúsZ[ëRwłMíµ5)e:Ńł§_ň1ZP[ë˙}Ěe»gŔÔóŤ{Ź7oŢĽ]l[[Űôď˙ýżŕŐ€A6Ĺo~—đŰ =üîa~dÎÁĎî˙ţß˙»üz•oŢĽyóö®üŻń/ţĹ•öýĺ/I?˙ůĎeÁ ĽfP7oŢľys´†H1†Čd ÁŤŚCö“,Śż,˛Ít!’&Czb|K3–©bţ „‚füY eť$ŕ/Cđ\`9'Y)ŠPńĐeAó ”t?aĐ„ż™ňŽ9tYŕv|0#.Łś•".×o-Ś˘xT@ŚfĽĺ‚óqůµ4UĘpŚb6®fŮE.;.k©ľ P5t¤,I€R…ą”`&Ĺ”ĺs€(ŔxpłÝĄţĆmlo‹˘;R~ÓŤÇ´2äK'Eé§dĚwJÓYÎçÉK@O ňL›Ôjvk6éŔ¶Źk·;R–Q÷1çuţÔ_Ú ţŔ/ąýŢ-ĘŠ*°­âSJ¤®ą˘•Mż¤Śjxý?ˇ˝X2†řđâŹ*7Eč*ĺ“`­ęYrkčŻ4áqŐl0ľŐ d'´ń\RWŤ¨Čµ¤‹Bě ĺjĽ‚ ?žŽ˛’<Ňb•.ťäČ ÍFŽđł !IŠ*µR©+Ý5ÂĚ*ń粢äsJJ‘]()Ĺ<ć»Ý6cÝ ĄúBéިś7MiE’-ŞŇOąÁ¸é§—k»4Ş¶Đ„xT¨í§öü—]䆀&}a�S´m,ëŞâ4‡fî3K€‚(lă›*‚\ĄDŐĺ[E$÷FUkËX%U*<Pô?o®ś(ŠYÂ[•ŞTÖarYk9ŹđăÖ' ‰N-6÷Y,µ›.2*çʆ§4;9¤Ůń3šźîQ68¤í69•}ĽyóćíŰ`žřăÍ›·ďĽaN›ĂÄ(ŐđäĽäI6' tťô×čhÖ¦ˇS2;¦tؤýń mÜşN: ¨ÍŽMé"Ć»”n­ŃÁt dˇ”ťâŮś´ĹÜä/fçé˝÷ďPocM"%Ř f‡WSŃŚč«§&´%®dsäżžQÔkŇ­Źî ŁÝ‘#d‚Ë.ŰgüśŽOOŘéËčřhźĆ“)yŹ)>9˘OÄ#Zä>6)ľś¨č[2µúÇĹg™Í8" Ę,ëň߆X‚Łń°ŠPŮÝŮĺą!­´ŘT*d'ŇD I”ŚUrÄ©*?°ŤT3… ŃxEôz˝®,ôá|ŘnÜşAëëôÁďSÎí 8_wîޡÝÝI÷UÚÜŕP\BtÂó˝ç4žN$˘C–LŻlôÂvy]sj:hÇ?ţńŹUZ@\€żXŔD›A᩺  P$Ś;”ňĆČ<É »¶ĹŘÄb(ÚçŔ™ ㋢FučHČC¨ öc‹EU§đ„ľAźÂůÁh.y­gҨ3Ž­;sŻŃ*/řneÓöU)zťľR—`Ę„ĽÓëćôŢm(yµ$PjFÇ'źÓúµMZ_ëbU1 ëŰ 6˘F ‡5pĆ>Ű>ęü,çľ÷ćÍ›7r) `: ‘}ŘV ĘřÝ4ĘT-†~ůĺ—Ő>Ż÷űäÍ›7oŢĽ˝%;oŢĽýi™ ÄEiI ¬Đ$0$’( ¨h0’XƤ‚‚žň¦su"RI‹&AF4¦YPŇ8Ęi«J󰤹(fhY Ę„>¦ČéžĆ!ŤDYç(i&D!ĆAU" ýäĺ‚âO6Ą~AÔ_Ţ| Á' yc|iÂŰ<Ěĺ*B }„F[<%Ň‘ń#ŕ»FµĘ(VVÜČÁ&Hq”đń­RQPŹ>Ë»eá*DiLŤîµ×·©·yťú[×)mw)I›‚_©¸K×NËIŽ Ń ,H1Ž;)4/gŚSN¨ĚÇ\EÝV‡6ÖŻQďúj®m ľµŃNéNżI[= �CŞ'SŽöŐ—_Ńo÷[ú”1şĽČéúÍ] x?@¸’€UU ;Ô´¬`ŁljŻŔ¨AQHRĂ[Ĺ—PȤxRE ę;h+}Uű^>«‘%t]Q^k«¸˛‰ŮeĆEÄý’Ä<ćx°±m[CŘblśm·[čd˙ íwڔܸA 㣰JUe^JTžĚ{—ćŢá„n”_ő~P‹FłGÖe/ĂĐ 4iÓ8ë˛R­ŻZíĘź+訬0y§1ŘWeńáęU«ŞřŰa›–BűTí:ÔŮkĂ9¸Iů>Gş;eĆIśrąe:3„™2˘ŹR‘=ŻÁgy(ó=ĺŇT]€—ćłB™g†Q Č©w™kpD¨Ő:ąš-ţ"­–V ™oő¸z߸}$‚ ʲ`°Č~`şŔ}l‡U©Đ\zł•ú éçŕĺ'ű ”ލ3ßg `źfŚd{˛Ź7oŢĽ}ĚĽyóöť7DźH¤Šť ć…ĺ ăd:ĄĂý}Ú[ďĐł^lIHá• 9bë˝Ô˝¶!‘ &=TIŤ^‡öƧÔ(Ôŕ‰tŁ‹rIĆNÓ˝Ź?¤Ůxbädáß‚dÔŚč‹çŹŞG ŔsŃI6٤צ»?řHHî" ËSěß~ň{©ÂN᳣CR''"Ú;: DĘ·Kö1î²Sóu›ŞČç™^Ž Ăň—ĽŮĽ‘DÉĚ…<2žŚ%-”a ¸Ôf‡ąŐl™RŘIČć&í”#ţdY^IçşöRVĹ „¬¦Uar$ )@üAŞŹfł!馰°×ę4icsťnßľ%Ž($QQĆÎÎőJĆבgPśđç|ěÖév©»¶V[�Ôt1ńÇ´Ö›6Ý�âę‹MlHˇ…¶…ZĆËW_}Ewîܡüŕr-ř ‹Ř@đAZ°Ď>űp»–BÂqą•c‰j2d5HňĐ@>Ú˙żřEµHŠ>ÄqŘ\Ţf´!ÚßaÔ1ú ¬8jEPBżŐF©×j3uńçze«€”qd_ů¬Ţ#GÄĂ›·Çw—úý=|xŔ ű}J¸ę÷:=~̧?ĄÝť>·!ňsŹ rYť.i&MžüăÍ›7oWµËäÖ˝yóćÍ›7oŢĽy{×ÍŇ$Ł“Ž6Ѹ4DťÍEń§(sĆ=5çi”Ä[D±}ĆüŽ;ĺB@¶É]zŞRQ¬C‘Â'Ł9Ńޤ C«’aÎT ř)ö/ ¶R#lĐZPR›wJĄ2\ڍ XÄk‚PH$P‚!•WŚM™>°ŮëCÉÄŕş/}EdSú¶… Ę‚’ ź××ŕëJQRk)`æ˛aQ»Űłj?×is{‡ŇÖ‚řÓh­ńµÇ´Éăż4ŃŃţs~™ŇńdJzžQ9á6O)ŕ‚×z[´uă®Ä­5ľć‰¨­�Ăś2 đOĽG ‚đ~űŰßŇă'ŹE%‡ đLÓńţAhRIűZrĚy đşF2¤G q—ŞŤ‘łŞ)P4J,ţ5śł^.]<¦˛9cłÓ ͸ýtˇĺ}‘grmÜĐ+îQPo*ř]AQqó1˙ü)÷GÂ݇ărŠZë%-ŁĐÂýDaA*Ś×.H/Şb‡ś0xwć­ĎQÎ3§ŽŁ„ôSVÇiU;Öaż®ńőňwPÎ9ŤLÚ­î˝’§§/µJ9t.MeA\şHńXaµźD0l‚úJE‘rÍ¨ŕ„˛)‡Ó—¦n…¨k©ŠP#—RZzS-ÍI—E5\˛^]«kťäŁ.l׳}b6âJĘŔ†I5µ˛¤&Ý—¤óŞ‘ń§zoËęź×NSćsš)ěSČíßRőS~Î5řĘM­¨”qéÍ›7oßóÄoŢĽyŮHG®AÄMžě=§żţ~˙ˆ™ÔKŮÝş}‡ţęŻţж67%‚ÁäN.鋯ľ¤/îi”9řł‚Lqěöć6ýĹ_˙5;Ó9=ú”’v“Ú›}QbAš$“ĚQ& Ń/›[ôĂ˙šŤ†e§—R×˙ňó˙F˙ćßü©zÂçÝfˇmÓÝŐ›”ľY%He:ĹťšÍą®S®sj'čçJL捧2űr»([¶‰41®“űD™ ŚPV€ 껵µI›ĽA‰§ČMqN°?Ôj$Ý;ßčw8_ Ŕ@ZWRłqß\ż~Ť®_»&¤PŚŻ’<Ě‘MĂŇ * Ř€ü#yĎㄾ CAĆé÷×E:ö/ţâ/䚡¶vÁxC]a¸n!Yń{¨ü¸#¤5Áu}üń÷¤MĐ– á€L„±ęT~pô×Í›7Ą˝P6Ô{Đ/hcGňAťĐ&®ĎÎË©™¶ŠeßáđcŮׄ¦ł©śç›¶*.ĺŘ2/ăâÚ·¶ÚěĐöčĆŤÚşnŇҡí×Ö:Ôi‡K©óĽyóćÍ›7oŢĽyóćÍ›7oŢ^dŔu¸ügŞâ‘ÁłŇćL'”/ŠHđ:,ţă”ń·~;¦X•65Say Vi[5"€ÜmÂĺ ç潂Hp4ěź—Š˘"¤0N{ęáű cTąÁŹ°ĎśăgůLţ†JzÜHIĹńGČCHĺ…4T ˝ŤSĆ�c-řI¨B!ý„dŇ&iÇz˛Ä}~řü i.ě Ţ@X•ĂŔ ~7ÚBü> ’Ć:c¶·Χąžůč„îńą`‚ŁÁ)ŘK‚y!ŔP5şÔż=˘mľN”ŰMą]#Ćż&68/áöޤo¨w˙ţ}úűż˙{ ÖúOʸ0°:”'i‡ˇ:ĵr©‹,.ąšĘh9 TY\=*DíÇM’۬ásďTÓ1p­•ę-Ř×Ő 8 ”Óˇ3·źeŮĚŞ Ĺ‹1‚óBŐž÷-…q•†đÇőŁSęnÜ V§oÎ l5L$Ő—wň¸Ť’X^ĺŇ„ ¤­`·:Łţrî{Z&ŻK÷ÉE”›ÚŻh8®khٶXL{*ďĄí H?\WÝpż$ڦi"í'c%4ëŘcÉ(2Ůţ, AIîMî”Z’Śą\mk ^/±’ĄÍöŠmđ2-k�ÎŚ{¤<3şPäj·ÍŘDĘĽhˇJ%-·r?„µ{¤R‘˛×WÚ{ ýl8ą;/Î5ĚCj܇BđĽyóćí]7OüńćÍ›7«âśUqXyň Çjźť•_?ČčďT.`8RI Ö„>řŕúÁľoB�0áçc†Ó1ýň·żbË|6§ń€ť›™ÉĎŰ_ëÓGß˙ľäwŰľłľF×ďܢŇW÷ż’ɤ¤KS!At;=şyű6ýčÇ?Ň Y)Qü˙˙˦ź˙üçR{¶Ř)ÚÄ9Öű´˛3äňď֯󭵨SŰ)Ďw�fS¤0BjŁžČĹVR­•)ă¨[=džEÖA!' gŃ1Ü™ń+&ëpś%Ż8_v»ÝrĘZŹť‚V[ÎŹýŃǨëzŤřÓiw„hGÎ:1ś»żÖ3‘.ÜOč#ÔM˘|š !4A™PаS G͸č 7îŐvy¤î¤S7¤#[-ŘÉŐVź\r.´×űďż_9LHÍĺ @Śa´-ÚʼnÎ\ĘK8ĘŽ0{»tµôúŞ\Ą®~¦iĚĎ6÷źq4uŔŕW0ĺ1÷mIĆŹ8ńćÍ›7ßUR¤öŹkoŢĽyóć­2í˝y{놻i˘ ^¬‡jĚŃxD ŮDQL!̧^Ťf%‘¨Ţ�]Ć µô(Aę,Ă(&=)šAłE”0ÚŮUŚ—ń&Ä›ŢK—…¨GCe˝ ͱ%ă§ !˙±MaŇ)/®gĄQńžń FP!â2€­5ÓşĽ’çod´Ź"`b°9Ĺߥ )“2)µA[&e‘9Żawŕü@+K~ŻÓĘ$$™äKŽÍ"†ń‰ńAl [Ú`6%Ť`MĆ27Z]©·śżĚ¨î®ý±Â}ÉVć3š1fx˛żGĎ~Á×Ę-•ŹiĚ×Sś>'•OĺxŕŽ!×gÎ× ¬JŘ_|ń…†`Ŕ( )d,[Äő(H®ßBQ<áĂĄě2¤Űů˘ŢŁ,"ŕv憽´SK§…Oĺ űŁ~ ÷¬‚ĺ ´:‰FúŤ1Ńc˘ \°Z­3J›b,@š1¨Ň”2*…ä5ŃxtL袲Šú{w4ˇnoÚťĹi“ű/ĹQç:EÜHëVŐÝ,«­ŞŐŐ`$łVą^ŰVĘŢ0ş’5ҵ_&ř× ĺ—ęËdź3ő€±dŕˇNÁŐpÜDÚEË>°éĚ’ d˙ vמ˝“%•BkS5Ů#··Qş LŞ7›‚ ÇDÜ>¸ íĄ¤dňîSĽ ‘§0÷‹Ś•Ŕ¤ѧ´ęëH(Ůd­Ä\ą¶ęFZ/ÚkQ[m벨«ą'jîyđčĎ( …Ü|Ř6ţn6[üšVJôr¬Şü(ŞĆ<Ę0›?r·sQŁĘćĽ Źh:äű—Çť.S©/Ô„JĆÓA Â9qś7oŢĽ}ĚĽyóćÍZĹ^g°’Śĺ© L˘µ‰rŔ$NH(ž&‹ć-™±f‡YÓ„ťSÉ1 gN\mŇQéÜȲf<™“4›Š3‹%ü'¬ŤV[&¤2 G*0śA™|ĚK2­°µoKëČşÍH‹6˝W`ĂZŢ.¨V}ÂÎ,4r';+yÍ÷“Ý˙ňľ¨¸„ě4b2_¤ücŁw";yŚŁ^Â,$=:xÍó’Kv6'3~ÍĹAj0¨Ç %@Č‚c°Ć.Jéśżß[ŁŤőuJ>NčĆŤÔj7…Ôsd�±Ę9NBTúÉ:ĂPB4Ţ áĄ¬Ç˝ĽŮH'7+|łKŠ®““–Ź^W–×FWepŻĆšq©Ä rçÂgp¨¤íŰ­JvŐ^썢čÜşľyĽX]Ľ]îł8ú<3ŽîŐ*«‚‰� •ě˛Â“Ŕ}¤Ś‚–ďiý–ÉPŢĽyóöÍš¶‘…‹ą‘y^.€ŢĹ>.Ruń7}m¦/űa®kĽ{óćÍ›7oďš]ňUj}‰źcŹk©¶ËE^ďE±6 §J€ň“u˝˝][%Ľ©cżÎáőm»I€°JÎ۬Ěi0Sθŕ9üY”Íôől`Ť‘!ů<§iYĐ4 (Gş&ŢgŞúŠË)žTImÓuŐ¦^dpł9C1ͨɋës^XĎ‹2NTÚ>k2žÚŕăZIIq8§‰ é ®D–4Ëů=/ČOGŤÓ6×ű´&Ô0ž7žI°ß ĚéqGÓ¸ EMëe@·F!ug–Äu›0ăzŘŕ�>W*OpĆVĆILŁ&ă¸-(Ó0Îśb…!˙äĽ ąޞL¶ęÖ:ˇŻ9š˘HŢJÔ�ŠAaLi;˘Vo‹Zť-jw2h@ůt ăŁúň—?§ĂűźŇŤMĆ) ďäBřAʢ8‰eĚByA…‡‡‡˘*.ę+üĹŚ±ĚÁéNO†4á6›9Í#`Çô,®×ásnx:˘Š(&ŔĂçH“T°Îv„Th|~`ŰÚpܨvx§#ËńgIíGŐ2Q)Ł6‚™kƸçSĆ´¸Ľń^&F‰qŇQ!¤¬PEG™ŘN-İű*PŢWŃd4ĺ>‚Ňťvű´ÉíŐhwy<¦D‰U�âö‹›Üݱ%ýmUőČ‘}VUbI@Фü§-AJ ˘îH>F_Ű�W`ţ ‹LĆy•ß=\;;‚Ö„>¸Oű{{˘v$ Y+ř˘đc¬z˝d ŔĐłe›ßUç;*ާ0s÷rÄ}ޡ95tA‰ÔT˝¨Ë۰äűÔü†{ÇzH=ßűXçฑ?Ď…řŮWŇZ%<6Se—=pO©JÂ׉gČ܆¨"ýEkWËj*€v5jCBҶżL‹[¸őüç8főô^ Ž Ţvä+�íH]¨łžĽżŞđqG˛‹ŠßË#šOŽiv|LÓýç4>9 éh@ă05gcüNčË}ŠqJç¤2{ŁV+ţëúťńs/oŢţôÍĽyóćmÁŤŻ"„‚ ·ˇÍS«”ý<�;Ţ: î)B['Úä·ž˛ł<źÎŘÁ›±ăhŇR‰„)O‘«ÍÖ(ML„‰{ŘąCdDfXţľIŮń3Ô"Kć ž›®hÚ~Ż•eŘŰ+RŘ­Ş%˝iĘE&Ő•6Z8…RI{z‰Tai2žĘk ltJĺD.3 ů„ąZ‘qPßáp*¤ź““S‰¦€ĂÇ 0�PŇnAžĺ#Ú¤ĂÎŇw Ăʉ6‘ ˇ¤o»¶˝Mi#ň’sn ‰RĘ+ÉUlÎů…3Žhü ‚dműëëÖ!aG2|3éľV©(—™sh–Ź®“~.&-ţľü,u|Í(2Eg8á×~6wu˘ŃĹeĽis±'Őy/!︠sżSWw •ĘřźléłäZŞĺ;Ú§™öćÍŰwĎ–|őß¶ 0óüf»9ĹŞ´»7oŢĽyóć­fúő‘§ú[ŘÍ,#/űxÎŻ)ÝŠq7o/m/ă\{«ĚQüqĘxYČeŔĆĽŔ-J X´Ä˝ ˛ŽY � ?dÄfüÇ1oSP<řI‰ĹtC.j!eUMZđ÷Ą’Ĺůą% ’·Ô¦u—ÉI§"I 6Î Q#šĺÍřH5Ś­őăńI)ĘĚ3&gŔö0Í訑3ÇőĘCşŤskguŞ)ů%iÉ<đÝ<(i2†ČĐYńqą%ţ=™q{Ś ΋ţŠńĂ0Ö|®Â(µ#P4(ř1ŇFN)· -P‰ď®mP·×§â”+< _žÍ»ś hxđ”Nž"eă…˘"Ţőq¨—¨PU鼀o‚âü`—§§:>>1Š?­Mxe/ΪɸŔÖŇŞŇ `ž O4›\×YNó„1Ö¸ f`RjZ}*;âO]YĹdHZF&…`Ň- V‰ĹŮEyŻ˘řľNBZ)EyF–hÎă! ů,“Ô`šŻs<P6PÜhQ¦ ňÓĺ—´Ů!¶ąÍ ćh?gS;ą:×˙FÝAj)ůĆ&°XżĚuD Ň*ű íá[–™yE›ŠĘ˙x"Šňhß,çĎîŚÇ.?Ź?âđâĚ¦Żł-Euň0l!ţ îtĐ-hÄŤú5@ýj'É©íú_Č5ˇÜ¨Ď8/é”±¨uř#kÚs´Q�’¶·}©„¤„<„qĂ·ŚéH2ŚźăŮŮ —$"Q RKŽj ú_žUÔZ´ä“»ő eÉjçąé溣j ˘. 'tš€Đ–š NŃgµż%}ˇ\‹M ÇO€XĎ©(ěÓětźÇŮH€g€ ŐRŰŮ Ş˝y7ĚăŢĽy[1OüńćÍ›72™R©%ŮI‰zP´ †`â™I/"E@Ŕ)-#ßE·ażvÄö÷ö)O ¸Hą™Sö¨×_§Ź>üË€ň¦Q“Áq•3'¦Ńh-9kŃr:˛wŘ´U8˘"“ë[µv»#©¦@ڤ©˛íôTń9ą±TÍa0Žk)0Př9Ř?ˇ˝= ÇKdR!Ť{rĘeϸŻÚŘX§7vą}sYÄçýěŮ3qČŕdCęŽvłŐ¤;ŕYÎç ”~Ů'jpÂq~¤şúÉO~"㎔?ybH\óą%’’wř»b—ůu˘Ž }·MÖ‹ë¤;/şĆU†Î™/˝yóćÍŰ›°ËTtMqŕĽô_ž�äÍ›7oŢĽ­ŘkąÇ¤=)+ă*Çxóö*ö:*Aßu<m6ĄiPRÜŽŐÄÖ�ÉGg˛ŕ˝Ŕ@ )Řť$îJAâÉO›ÍAt('łĐŽ{„”€LŞ˘ Ý °S&‚Î3±–öůAÁ»Đ)coBN)šę„_•%ćUpcÝPŕŚ‰0T2)[pş¸–şlPˇH¶SĄ–D&=TTL`öŕUÔŤl*°Š}P[Ŕi‘zK¨á„ńĚ5ÚÜÜ”ç&đL(‰ă|™DŠ˘0ŕă~źöOž ~hČ _»QSĆx¤­jĚfrŁRĆ$EM†Ď‰ýśňµóoN¸N (nwir»ç§r¤śŞ3®^Ŕ2aH5†ţŃ K|QV1~EÁÔ¤IŠ$x2ŚL:2(¨8ÁAŠ)CQţqä 2 ¬„Ňä3("´I{á8ÔEëÜîUżň[’ňŐt–Ký Y#CPţJ{ŻĎ}Í*âŹëż%ü> ­‚|d‰ ň?Ĺ<–WůŽ?Oěkě‹6ÄŘĺ~žs;ÎůľÁ+ú'‡˘?oÓéLúcŔřô€ńe`Á¨˙óýÚßßçĎVńgŮ^ř›kű\Q–¸‚űĐmŰť”î­%ÔOm˙ ™6”taÇÇÇ´w2 ÉÉXÚOpw{bĎm!¶Ř ăŔžĐÇd‰NHe')ö,NâĎ,WęQ…6D¤H-Ň{! YčŐ s_‰âO- §Ô|ŐYHť…çę×étdĂßNŤŢ©V9âĚÝO’~-źQlç,¸G°áŮc‘N exţńy¤ěFÓ§úňćÍŰ·Ć<ńÇ›7oŢČ®ďÓ2é§ÓéRŇjŃŹ·;­› &}QÔ¤Ík×éÓĎ>§Ă“ ă@Ô`0‘<<8 Ťţ:Ĺě°lň+±#ňd¸ŮlPĹô‡ßţŽö¸\śgĚNö€7¤ýúŕŢűĆq( ăÄ&H-ŐŁ1;żýŐo¨ŰëŠRös‰č˙ň·˙‹Ô5âIę:;m°ŇąŢëĂ9…ĎÇ2‰E!e¶wá­(„Hz'˝Đ%™1ą†c§Čĺ:ń“oLŞ···—?ÎůV6u‡›´ĎEŃg$Î79p|]y˘ÄŽ×Éé‰LÜC;IďőÖD•çčřHTyđţś¤`ţ·Ű-‰A]Lô…–6‡“9Ď ŮGT…lÚ¤*5m„Γ'Oččč®ńřŔ5>zô÷ ŮyoQ‹Ţľ­vłZůlY[©vś~qŔŔ«`lß ˛Ď’©3ďôĄ˛>tuÓµ¶W/®Ĺ×Ńl~ÉŰ›7oßV»Śôă>őô^«ÇxňŹ7oŢĽyóVł× ţ¸>ĚS'ŕž·oµŕwr7oήâ×ç‹ĎčkłóÎ÷.›Kő•ňY‘Ó„Y´OÓĚš IL3ťA‚„|YkeN×yż–Š$ŤSÄ˝ň–šqÉŚ4oy�Ő¤tâĎ´Q É凼¨ÎZđ>Ń1–NÚt@9˙=äý2Ţćă|\îLö‹ qť‚‚ň¤I•Đ€B:ŽÁä1 B#ĆÚň KŕŹţăÜ›X™´SPř‘ôB†Ř%f_”"^đW—˸¬ĘiČŰDV…hĄÝ´IE%ä2˘0c\S‚ #*űÍă EÜ>ÜnÍN‹ÚÝíhŻRT–JkT`‰2%_?c¸a)$đMś€ c°Ď„\’[lÎ`ŐŔ:3˙<88$ŐhSŃęQ™4–4H\+öĎ2Áš`FĆ´Ó÷“Łň<˘”«L&ˇ"”Iޤ@đeIĄˇ~c9u%vwľęä §„¤ĐŠDůǤ^viµâ8”qZŇ}U Ň\#„h ÚÄď‘ţLTĄd˘ĚÜňyů+n—BČiÓaë‹~śńÇ©ÉPŤRů‡ÇHiڧ—P(ŹŚâ LżĎ ő„@Něšď !ţŘŐҨČžq;N'cy…úĽ@LbüŘôé`H'Ă‘oĐFs»#@u)xWúÔ¦Ą˛×îRUËqcźšzTmÚ­„Z­”šŤí¬µč˝­m¶ ń ă+ç>:ĺ:äŚ_ŹĆŇ.ő¦Ž ’š¶ä9>q‡Ű˛%ęG1ß7 ·K,©ű&Ó‚Ë›íşlĚňl¦ĺşq}ĂŚďő™˘" Şßs›YÎâľjˇ&dÉK ţ¨ŔĘáq m PĂ:×”bµ@h—- °ŞAn­�}•9&0ęYrĚ3sľ˛¨Ôł4ßĂŮ|BŮtLůlB%ß+P1ÂÚ ŇđµÚ-II†ëEŰcÍ�ýq–¨ô5ÍcVZ<náÍ›·—0OüńćÍ›7(łčj2 §qgw—¶oݤ{ýc:ýɇâř`Ň7™júâ‹ô˙űßţwŽ´ľŢcç,ňČťŰwčŢť»týú5ÚÜŘ „'Ý;Ăűű{ôŕ¤˙˙˙÷_ÓřřDŇZ y¶}ĘNŢź˙ĹźÓ?ůżýI ŐaÇ“XQ|yź>xH˙źż˙Ą8Dd˛Ópr|L˙ë˙ăźĐ˙ó˙ý˙’އřn6ĄŚťż§_~Aéo>Łhř{>ďŚsyÖ˙1éĘĘ·CüQ–ąď˙8)H3PĹyřč!=xřP9ČŃ‹}ńŠ ź-’‹JB3ë¸"ŠáđčPR}Á™EdČ?8/(ţH@šS5žçĎźQ©Öřóöśr?Ždźţz_úßĂ)• N§MŹ?’óA%D(!úőéçÖ­[ôŮgźŃp8 vÇ\ ?y^ŇőťÝš·ňv¬’‰­đ‚ę~Ä·ýú+¬ÝżŻ|-wKĚw^Ž03ŢÝçµ÷}ÍÇ|˙ďĽC=�ďÍ›·wÝVYÜs«®ňó˘ă<éÇ›7oŢĽyłöšŠ?Ž�Q-ţťCęń>†··eocŽ÷mśGâ„îŻŐÓś±ÂqĚ‹ÚHëÓŠ)é™´S{zN#(Ń”9m3Î$L; ČB;/$M J{kŚfa‘=%Q x˙ą iŇ )4ĄIN±šAE� g vITš|śűäžíă‚ćüÝT5Ç4Ş, v´Ŕś&mÁa‚fF/K•ŠĎÂ�?_ĆŚ~ŐiźëB@ÂőĺĄ{J%ř^Şí!>WČmF9źóDe´7ĎčI8ăăOTËęęâ[ˇ(ń4',Ăé( Á|*$ˇvÜ Fśš�FI•Ń,›’âĘGÍ”Ďh™\ł–Ŕ@ä¸r¤… 4 ->h“éd*„GpÂ}vfóśFĂ1Ó“'O©LZ”^‡KŰ’qHÔ‚ ŤöŃBV™Î&|Ü\Ň«aźS®CZ’%-%„gÇ ±ˇ…ÔćbRfřď—×™ Ň;ÂŢ(”k�6^8,Ę…pL‡B •$Ś2}†ćFą˘ľĂýMPĘ1JîŞHddę"¤|ŧŚňHŰôLhűśq×H0×(Jąmµš4¤`ZđŘiđWäiW(ýŕ?©;_7_|óű,ÔuNů)Ęą.YB ¤«Đ†!“Á?·Ş1%Tˇ@ŕO¨ŕńĽ}ž16ť›”y9cĎü!š·ŇŞPÍGŚĺ´ôë* m`UŘJŁĽcRź)Q±ŠBKT“ö „”âLĘ÷A·Íý’jţlN›\ďmn“íŘŚw¤Ń.Őď¬|:¤9ŇVˇŢʦ=ă“E\7„Ú‚Őç¶˝­'|Ľćr[6cšńçă\Ó@#Ą]N7ÖKęŻńIµÔ$˝,7˛ĎG<^Źxěć&užl‚sjZđ°Y˙Có*}8|30Ä$�ą-C:‡ëRżAÂBĘ5ŢĐ^€eM6€™?E­ÉśËôaQ›‹D± 8F 5ĆŞĘf4Ńüô€/bD?űb0ŕb ÇH»§Ť˛U…Ć*ŁR´¨Ű[Y\ąŇďŤZŞ—7oŢľëć‰?ŢĽyóćLS-Ó.;%<!\ßܤÎÝ»”˙ŕ2‰BđĹxRŇáńłŁu:8f0˘Ńh(„­ ޿ݦ›7nŇť÷îđ¤=¤;`Ď?űâ=yôź>9ĘžŚ° řă˙vwv…h´ľą!ŽŇ„ťžĐçÓĎé«/ľ”IëÎÎŽśă«Żľ˘˙ő˙ţOč?”jĽťÎ —ŤGTŢ*ŽŽ#~¬*µľ ¸M"‰ŕ`XÉÜÉtBHŇĐóçĎEţץ8 RŢ»ÉyÝ$ Âh Ë{!ţ°ă Ň”xĆ\HW ü\PšĘäŽGÚH„8çcÄís|b•€řś�íözŇëëBüi4&:ătŔeL*‰ÝííkBJ‚¤/ľwňŞřDŁŁŁ#©öw’˛¨×}R”.ôćť…;I==ń’#őš$’oÖVŻć ™-Ň8Q‹ŰŻk -,}I­őRŞ?Ő č ßÔ Ů]ňćÍ›·oť]¶°¸Ş4ŕÍ›7oŢĽy3ö*± őßÔ:ń¶ţ{QzNOŔőćííší`îő“$˘4â…îSˇ±ôśoK¨ýRĆĽ¤Ý¬ vlŇé x.Č ŠsĆ ,H•Iů¤C^¸×Ľ Ď‘ŚWÍA*š……YHźk!a9‹čd6!S¨¦Hýr—‘©ß7¨ Mŕ^Bé…ëÁŻc^ŠůGŚ Nyß9clsŤÍŕXŘ&ü~Otlőܡă˝Ćźu@Ü&BżP!{0VIFńç”céD/?F˝Ě©ŚhŰ~ZČ5P ÜK¨Mz¬ŚŰKČ-\ľOWl262ÖÜV% \§Đ*ɨ*%ŐBiXgPSxŐŐӸٹě±>>ľGa{Ť6ú×)č8…IŤ••…´ĎdžŃńč<źK{‚,1- ᦙ„Bâ9Íą=ů·”O0áq� QN!éĆć…(ń…®)ą"mŻEŇEA Xh`żřS‚“ě˘$•F�đ[8…˛_Y(QŁRŞ´[@q ˛KČxqL˝ĆDĚXn) ,ůä„ĘقȨÔTa‹¶sj?¨ ^ľŹB#+T"°”űEÇŚY'<nMú&Ťcą<˛dQ“ m*b˛9•H?ܦө(ůL¸.óÜd�( 0`°e\®ŮČÂÖ~_ť0QIJ-´wÄË ÜFAő>MŚ“¤ŰKcę¶cJÁLá*ă{qJq¦ĺú5”˛,ËcsĘ8ôŚńč˘侦ęţă~ć{Řöő¸ ÷ĘíĆżçű#E€rD§|SESĹxw@»ÝÇ!†)IUńXgL~Ć=Ë…=µŻB~ç«PÉĘ0ľĄl8rÖB( Śë^Ő@˘ ź_BŔ*+|]Ć<žAlKűr‡†65ť¨{‰Š’iO¬9¸őž„˙V1<Ąéé1Í'Cîc~^qŃ>ŕă…B"‹ŚRř…NéĘQ~´'Ůxóćíť5OüńćÍ›7“¶zWMBńv(â nhI*đI[ĘLáăőöíۢ"4OÚJf‚‚‰´FzA &Xčpćp&«ÓůTĘń$i¤B6R śjäе9ŹÝ€´Rpđ í:ç ęEVw"ż1łĘ<ežÉ5€y5@’éđő Ý ÚRo]»vMÚmŐśCiŠ5˛˘8fÂĺ€ô3CŽĺŠô3ăň§ŇfóyÎmhňKKÄLar3»4]�.ßçĆ+{îŢ˝#űĂi{üř1={öTúąß_ŁźţŮź‰’ę€ôb÷ď߯‡˝˝=úä“ODr·¸@Ö|ˇwúÍ/4Ö >®Şő÷5f\:UK ózdU�Ü”©jĘ>ŢĽyóćíë6OřńćÍ›7oŢ–mˇ6úŠÇ×Ô~Ľy{űvţőMcbď°…łL‡ĚňĽJ!Uđ"÷”±µĚ¦ňydMh™TJ ë‘Q‹žÖćEö4eĚMüĎqf\ş?$ÎÂ˙ĽToG Ca…YŠU€´ b*CCä�ż{y®JP‘ŰVeEFąĘ éq;ŕŻZ4צLĐ�P7`şxµ#¤!‹m žVĄ¤rÁ~B˛©µ“¤‰f>— ľ Qüj°`h eA&l+J7Ü ·�îöşŇNŔ% ‘IťeË–˙ôŮTĹ%*¸k–ëćk†ňČ?1ă«Ŕ$ýMę ˛zí±áş€ą–enđi2”Š7˛} é¶tnŽĄ )…Ľ?ľ›r=@„hŃcV‘“ľ+°„š˘†k)µLZ"Z>%0TăşIőĺČT2Něő›tXćx´o§ťRŻ ńÇ´ˇć~I_`ĂîQŇ⏠ľ¬K@Öh¤ —•Hy ÂXę!㣙Ż5°*O8Žő&2D%—B–*,ś««¶Ĺ¸@7Ü/&ÍTQŤ#GŘşč71°ä¨ĎbI$„źF¬*┢°âŹÜsŤ·D>7ç*%ř4á>Ăý<ç¶ťčČ Ž%�·(2âäzą.¸2´Ĺöö6Ýlt#iKM¤­ćAJS>>ärŃŤ4˘–Uĺ7Dš@ŇőážŔůŽó ĹÉŻe¶ ýâÚ««TW&ĆÜ˙Ŷ¤„eŹĂµˇ¦BtĘ(¶÷‚zCKx[ŤsĎ|Śůه燛íŽ\›K·†µ¤ĺ“ű=ŠÍ:Ń[´‹IÓţ÷Í›7o—›'ţxóćÍ›qľśD¬LŇÁĎ ‰P*®ö)ržXćČ)ťHĘ©ĂMĆOľ›Ľ_dĺ[Ë.×21”É(< JČá\JţjĚáŘ6SDĎÄ&öEéČAĚ.n“ť€^‡rţű`2˘Ó|NłH‰\l™<ľČÓ€ńÎÇ#bCŰ\Á•ÂL-Ŕ�Ń!˝ ¬L*Ί‰óîőë´Öí °Đl¶„ücH;­­ő„ܧÇ%ű(-Ҩ"éÉŻ ďśźŃfďů·ýˇHÝ"Ň+0üsë�•rŚpĄ@¦‚Ó—ç™´ČîîŽLđö…í?éŢ˝{tçÎÉý‹_plátĽô÷7˘ ĐI›Ľm°Ú–>žłÓ íu#7HHp�g|î“ÓSZëŻs;4ŤŽëŇý’Éúą_éŦiÜLďjZŐ«Ç- \%ř,/Gţąę®/Â/KĎbľ_~]j‹ŻĹ\ZŻ•(Ő—¸`˝Đć©—ZŰĹ%+‡ÖţVő®S˧WËEźS‡‹żş‚X,yóćÍŰ·É<�ćÍ›7oŢĽ˝‚˝fđÇĺ>Ü9AV^}ĎŰm#xfp¶€ęoäŇ…‚˝!}Uu9ż*‚śf 9”¦}güz”čŚ&Śqő‡\CĘ!­("IuM‡”đ~ż™1,9ö ¨â€pPU�Řf,”bČ.ö›`«@ę…¤ŇŮ!„J č26Ő*H­¤¸NóŚ1U®+RsAĄ‚ Á~\·ĐFkht_xŻŁ‚ -!VXRÂť‰Z —ťCIÄ`´¦†TB8cŠn§€ńKâ뉸ž1Ôb °cäjcDV§„ŰE—Faç/ȡÝP¸‹Ľł´¤ÄZ< ©ˇ…ë…%ž�i$śSĆ{Ľ\/eI«Ą¤ÝŢĘŕzŔ)u!$Ô”ś/”TSĘ’o qjĘxs6P™ÍäÜ]`ŇŚź¶ůďA©H©ŐlSĚ[ ůúgR6UÄ%’ţKJK”}ȨŔ_Ç9r-mĄ¤š î irŃ‚8ĹźÇÜ9Ŕn‰Ű,g }2庉ŇOI“ Ň—ń6ͤ]¸[ůBĆN•FŠ ć 2‹ßÚţ-rŁS$ ¶p»FČ^VJĘ-ůMBÇ…!…‰"×§FĽ’~AתڸaHoÚô­Q6"Qą ű»ŞŞ!U)$a˝ M d”RŰ ŁíR÷±%ţ€\RTµp- ¬á&ÂuĚç ůľ|Îm3oDÔŮŤ_ç\FĆ=<…"Ö3x¬‡Ę–"‘MĹ÷1Ż?ÜXoĐíµ”vgZË!s uÄ["}¤ — E¨€!đ€ď ¶DŐGî ě"é#!Öđuĺnt×tŽ@ł§Ú÷x €Ś$šDzˇžłŠ şP`§řăČUxĄ%!çÍD±k ¨ŹłřžLApäͤ*TUWq¨"gŐŐ„Ě}#ëBö*Í:ŠU-RŞÖ™_Ł]iĽÄDÍă"ŢĽ}·ÍĽyóöť7ĺ@.ŔńA„ &É„?Ć0ţ +R’p§4ôčÁsž<9oń¤<6xiĽEáŽřjđÄ»xb ň¸QB­FK@NNäť2¤­56úěčLéáÉíĎÇ4OŮb!‰­:OH‘îK!Ę„ˇĘm¤Jdć<˘Á×i`† É{@ťv—úöÄ2ŐRgD1ŐŞ ™ >dr1Ďć&˘âčŕž<z"äźăăţ¬4¤LÔÉć7t €l6ź ń¤źV«)Î�&đ7oŢ Ň/~ńâ4€|„íg?űmooŠ3 ç<:Ĺ"¨�Au jEů—IŰ[ŰÔétŮYMĄżir=Ź'ÓŠ�txxLë뛼m¸ř¦Kﲷzi«|HËň)Wó>ť‘§Y&°8‚ŹăŐ1±«“7íJĽČ9Y&ý¸×79¦—ÉD b•^8ěWşhŚA…bZXťĹ}gÚ]-9şKíŻh%*î%%e=žîÍ›·ď€]5Ť_dôćÍ›7oŢVlĹŤ|«+U¬ţĆşĎü”·ŻĂ”ĹÚtMĆŘ-úźÝ—޸}ŰƵ2Dń'I(NT$SsóME-‡Ň508s]cĆ/žEăµyźÝĽ¤—Đ&ĂsHřűć<ácC§ńńyĄé4Đ–đ %ł’čË `„!3Ř€Gŕ†ł ,Ü l íĘlJH#fˇ^d’Z©�é‡qŔ řl¨„{‘ ËƤ¬rť9—áD\|ŽTY|Li‚1hŹ âŹ`Ѝ˘ZtŰzIÚ¬2RLÄçŹâDR… gÄ|±Ńđ†‹HĂé„ĆBž*čŕt@YĆďIČĄ(ą”H¨›E˘Đٞ"2”’âLÚÉDHI’2Á«ˇ€> ‰ć yn*$3BĘ…äďj=÷aĘ}…&eV…¤Ü* Ô^JăO'=<=•WhşŚ;OĘ&őDí$˘Q·GÍť›ÔeLv˙h@… ®ŠĆ*JÉ&!㿍D”R@–(rĆqgFĄ'źqpEMţžë5¸ÜÄ(©H%‘„,f\ŁńŚŽ&˘Ę„ †’J,ÂV±b¤«$ĽäţĽ0#=sÍ4Ć H!ÜfIFŤI,„7QĽŠ “š,´ QEi”úsC„‚EVáĹ}Śä$¨Éđp‘ńr°×J<Rż!…ßq(Ë.P»›Đ¦E‚ϵµ­·&•ß‚ĺtoĘÁŹJÚz:Ę$h*÷ŞĚhtĚÇoĆm^>�1«KŞĹc6L)‘.B0˛Q"jđţ4ŁÜŻw;sşÓMč_ok ‘íw5GňĺĎů\ŁĂ Ą™!‰ˇ•~lÂ{ťr›f¸çÂȨ{ŐˇhQä1¤ź Â3ÍŘwˇŞX+AT·«˝ůę06Ň“)ű x÷¤ÍCş7(qIň=°©¤ĎAĚ„”ŽÔn·㇠WŕŇ·ąç˙7[¤: OřžE éÔ°&µ…ßĂČf l ÁĺÚ×<]`«ż*îwî<M$Ą.OŹćÍ›·ď®yâŹ7oŢĽYsŞ)2‰gÇfĘŽÔăéů/~AGĹTö#8źE´·wH?řÁh6Źş˝TćpĐ:ÝŽH®ţň—ż¤‡đ– žŚ‰ĘřÉO~B}ô‘¤ţBdEÎ*$#˙áď˙^҉VRtĚÎâŁç2Ń˙ŕءb÷'Žh÷Ć úđĂyR^Đ˙ńü;Ů7äs·g#*ŹéŕŃ#ę>F=žěľ+řU¦ż}Gł'–'ÎPU:>=eČw"—5Č7ŁŃXÚR±ň„!ŠĂIĐÂŃkwÚ´±eŇyśgóÉÓ§•DíÖÖ­őzňşżż/d˘ř‡°2®ĄDUěěěPŹ÷ŮÝݧä\ËW_}%Ż(ö{öě™ô˙Żýk®ëHBý~_TíX6okNţ ľ‡Ł§|{ěÝ^Ľ­ÝZ_˛ř¬l‹şŕűúűęöxńµWĘ_ŢĽyóö°óĎ#ůxâŹ7oŢĽyó¶lő8¨—µŐtĆuĐyţL=ĺ±7oŻbFťĂ)_ĽŹ_˝ŔśşđĘ ”_ąUľ(+v‰˘Ďßóű”»ˇżU2÷xŔřh\‚(ĺó€"UŇÎiµTň{YŻŻ‚Ë´(Ň8ŕ#°ŠHŃ%Ë÷eM=Ĺ*ɔݗŰUĽĐŹ´\YnTzČŞý‡JÄIT©ś˛1">GnËa (©E~ÍD1\KÚ(©¬‹ś´* ˇ€Đ“CŐLŢ?± › IUAǤ y&D“ęŚ(iµ¨ŐíѱČůl*ßČ$Ş/äŕ]-î»k˘C`ŇŞąÔ_ Ä!› ŠçHm48>|YCŔłůoHÍ ˝@ŕÉfs>&ĺr¤Ĺ "%d µĎc=°˙±×SŢJJ)cÓ3>÷Ŕ¶CbLŁIÝ­kÔßľNŃý‡ÜŻAUç*]°k80N“ŤÇFxŞćëéŞ68,Ş@ˇ=ܨ»V‘'/L*­×e %ő,—öÄţÍ´dl7¶ę>ˇŕlč?§8$Ł×bű¨ú7WHMVpűQĘŻłiFI‰şNŚWľ^Ś?ľ  (F҉2’QÉí5‡»1«¬âO(˙ňŃą?sx6Ů6h7"ę4ÂĄ{ ÜFvA2 (Ű{ŘwŁ‘R{ŁEkŚIonRÚęĐL!UŢ4Ňóč˘*…ş%Üť° µÄmü>SÔȸgPĚĘiNP~*Eí 6d7´YęŢ@?hŁt?Ă˝¬0¬Č<&}ť JĄ*ř×A᪠°T–Hcvň°Á–şąôÜ2„"§öďR~D˘ľËx̢ú?7ý#ÄÁ˛Z„üfTŠ\Č´¨ŤŮ”`9Ć –eUĽL†Ě*�ŐQó·TíĂĽyóöŠć‰?ŢĽyóV©ĐC•¤ M&c>Óď}qôLÔt©ĽrDôč‡?üäłÖ4“h L8OOéđčP zŤJDp(‰`h5[ôÓ˙DdK1y  Ă“qE@6™ńä}nŁ dO› uÖzôч˛–H¤ŚłçźŃżű·˙§©+;ëÓSŠ'CÉă{ópHw@üQµ‚ş8ĘŰ6çbR®¬„¦‚•\»őJ:Çy‰¸]x;ä6FţݡČx˘Í‘ł9IâH@eg:™Ę$NVŻ×Â9pŘ@ :Ř?tax˙çţç’űwűÚ5IÇuôđ!ýęWż˘ÇOK¤�˘@~öłż ˙řÇt÷î]Údg ÎęńčŃ#)×Đ_ëÓŤ7čŹüŁ8¨P‚“Š”a ™üá.2ŕ-MÜß|ŕÁwŰ^µŰ,ň˘Â]ĶRësAs'?l%ž^hÚE¤xóćÍŰwÄ®BęyéŢĽyóćÍŰź¸˝N�ČUH·«ű»c<ůÇŰ•ĚúÔŻ6‡Sä‡Ů˛aa|< 1d`Z&Í”®/Ő=JT)a#}P7DąĆ¤Ű®ÇĄ(“Ú)µ(ť(mH˙Łúâ]ş4D¨…”ĄM &Ę6®źůPÚ(LŕžÎf4Ëf"ß#$ ţ/ăsáUA%Ôs g”sŘôY˛? ŔJ«ę®«@=‡ÁPE.(k)źôt*ŻÓhJIełĽ ¶É[‚7ŹĽq㦼î{zrL“ńPHDRrTiŰŨ¤,¤3lÔ_nď@ŇD ń‚ńÍ'ŹÓ!c¤˘¨ĂׯřĽŔŹ…ÁÇC­iłDŃj삝" Ő”Ú€%Of)·ÝlK�c›±ëFž A ű Ź766čdk‹’f9¶,A«$—ŽÍvfR>: ŢěŠö€˛N’”V8úbČu‡J»ôhgľ#ŽŤBQ&)Ë\z'2×'ďm攑«ŇŁŐ"•śô?”źňą`É.µV’DԦݮŽÇţhOŰäëDÔQ&Íę‹űJď´Ä“&ϤO+/}Vą1ę=fŚ–†„VXâXiÓ“ŐîG u}`Ő7o^§źţä#ş}kWTm†“ýáÁ)OÖ ¸Ť( $ťôߢ´U[’ăB›ćtRžĐpfƇ˛„6¤‹«Ć$·l}2«äRŁ:4Ş:KÄßúď=­`˙/ű`ÖŐ}č™0®°~öLqźČúKdî‡<—qŤ>ŤF˘’äÚcyAßŘ׌‰†¤`3 P…ŰđúdŻ·‰!ĽĚüčĚśĘ˙čyóöť7OüńćÍŰwŢ„AŻlH‡DŁ@Z˛¤!OţN†Czćô€'ż×®]ă `‹ž?Ňöö úŕŻ~J;»[¤ą‰PŕÉç/~ó+z´÷€î?x@{OźQ=¸6;Ćëô˝{Їßű!5Ř1<>>¦¤ŰˇöÖ&ěÓŻľ¤Ă“@Ş•­Ă“öŰ÷îĐ{;;ô“ď}L˝µ5Ăz·s·s˙_Ń÷+v"w)é´čŮÁĘNeBÚś4AZžĎů)ß`ç&*“ľ şę·gâDŚyâť�`ÄGc!΀Óa' ywMŢäRr!cb UlŽŽíëOÖç"űÚ@z4žä·[=!ţ`~t|*m u ”ł˝˝-¤8AäŻő×čúîťžžĐßďPŻŰŁuîźV»Ĺ BFGěŚOç3ĆrÉ{ÇőD˙ŁĚ§OźJÝ@jµZr^ěóńÇ‹Sâá#Ł 4ź›şBŞDV¸ôí‰ţś{˘¬«–?ľGeĹŢ Â3î>^|híŞe˨oN6V䄵yVĽÄ5×Bôň™#/YÉg}AuŐůyóćÍ›· í"ĹżĐčÍ›7oŢĽ}}vU‚†'âz{V&[^XľšW¶ă°`lHúOv|‚�Ň‚â…ěśq24:eađ*Ă?ŃB Ę•˛ŞĄ(€śđk›Ă5Ňę@-¦Ě… F!ăŹ!T*ę;ąQä KIĺúxd -.¦ŤÚ‹ Wu Üęŕ”Q)2!˙ Ođ:Ëx«Đ#őă}Dő'/…pJJ"%iś�˛!đU!óZZÂQĘ{·xy¬ˇąŢŚß†Ą^ÄYqą%”? ÎŘŢŚqB©$HF8O�"…!ţ đ0‚Ű äÎ…€ł±µ%Ę.qŁIMĆŚEN÷y„˛9)‘jŁ$˘mˇ É‘` ů*1Âw°„–ŮdL{OI٨2"(Ĺą%ŐRA|)»x|φ§˘8Tf3* #gBQ™ŤBK†‹Ë %•9Ú^ÔŚJ“)elłÁßá:]§ł }-ÝĎă«€OU©!%V1‡&Éߤ †Ł MgS‹kCÖ #ÁOp3$µW@+-A­bŤéWgBřÁ bNWZťxbŽ=˝ôY2 EAJĘćďf“™I©’H`nČŕČRĄŚµL$ Qlʵj@y)jTB¦A[—&=Řr4®Ő'I 7Ϥ^ŘÄż ţäŇ'˘X#$0c|şv«Ăřt›Ţ»»Iw?ء[7ŻK?Ý?¦üŹÓ|J*RÜOŚAgŃ ęQŻ1LMzü¬›jš Ĺ4Ő‘¤áKxě6‘ž/Ź„đU¦!l¦ A˛Ĺ#C¶*¬Şż(_–LT*“ŠŤÄÁŶ bI 0MőOάµŘŕRT rIÉEs!é@© iŰpľDRđrŻ"·´ę<B(aKRvͤ¬PB©sÁ÷?L”’ĐF ^ˇ\*°VĹńď›řM8ď÷­zF,ďHŢĽyóćĚĽyó捨ZĚ7’”‹-h4Ń!Ňg5 :L2ęµS‘l=ÚL=všn\ß ?şËłĆąLäqěWOľ¤ O˛={Dźöµ‹úÍOPoŃ7nÓîÚ&µŘą˘á”šť­ď\Ç÷ůł§ôäŮ3>ߑԩ§®mmR—=ť÷oݦ­kŰKdËg|ţč+ÚěµH7B:Óđd_ępšłă¦Rv°•qâˇ.Tc€¨o`˘ ůäđH˘Šŕ@Aµç7\'Č9ŮƆ€ Ť!Í€ s||"Djp,üMD| "ŁÝîńŽ0�8eÇ'Çâ„9BRŁ C:á˛úëëtű˝Űt˙ľ‡íŕđP˘%Z(«Ó5¦ÉtĆÎçŰ)•¦““S9ż� l¨‰ýÉ?APGuĎrQüqŃEp¸•SÉż…ů¸ľôóZÄý\€ýmö$ťóř*ă^źÝ”“ ¶Ď—eݨeňOu&­jiđČŤÇŐŐ~\$–÷ĺĽyóćíŞvŮ‚Ť'ţxóćÍ›7ooÖÎűÍ­€üoŻ·óěŞ$±óö3Á9çG/9\é*㤤iÎóäÉI-ďČ?Šć® éxćAÉ›Ĺ9„_ˇ ±*.%IÚz(Ĺ ĽPţĽ—€DÁ$”1ă^ ”R+ćAŇŕ/Ű%/¬óë„ (Bö(ŞH9ˇv„-dÁÍPˇÂ˛yČWJQCqiwrĘň¦Ф~ ň€h�Ą›Śë ŇNŕSK4ÂIŐ&˙!eČJĽ­ó~c5ŁiŃ>c©‰”c뇅XfSQA{ĺńśJ\'® JG¸®Ŕ¨Ě4Đ&IB9ă¸H‰Ô#j0ÎŮh·¨ĂŘäh8¤ÁÉI`ăt8 �Jć<”ń–›˛”Ic'D ţHE±¤ş G@ŕ¶ i>S *ć[[Bň hĸëP›>) x$°ËÁú&ŤŹ÷©żµÍxfŹŇf›TÜ”fĎO âDÔíĂ´A3ĆE' §äs“z ŹlN ×uRdĐh"+eÔ¸$ő·…âTH0łyAn;]gpPiűDŰŰÇÇ<îbÉŃ&ŮĂĐ÷ ¤#Ţ{<7$.(É&}–(C»‡ąŇËÂŚ'U ĘK¬Ę úGŽÇŢ9 űCI—SÁÜĆŁ©!zÉVHP'®˝äö…ÂLͨiŐîmNMĆC!d!Č*@™¤ă2ią&Ü&PXëZčHqůŚFÓžĎĎŠĘoui˝L A`ăë Ě÷Ť¨d Ľ¤Ťë úŕăcĐjőyě|ľ?gGt2ާQ6$JJŠ˝ÇUĚ:U<ążCŐăńĚçĺs´Ô¤H{ÍnlnPŻ˙é^ÚÓZ‹‚¦Q‰Ęf9 Ź'4źÎ ‹ É',MCkç@2TÁ úĆDP˝ŐÇö^ hA Z Kö˛DĹ)ŹÉŔbłĄÉÍ'Ď'(7ĄPŢR¦ôPҨņ0„WeČ>íV›şÜ—ŔůˇâTŕ>nň:DkĘ÷ŔŻoĚý6ăćâ~Š ^†qíÎĺTÁčí˘óÉ=«»ťóýUçZ~NćÍŰź¶yâŹ7oŢĽŐĚÉ9ÎlÄ&[ŤFSŇA‰RÍhd>_>ŞB‘Í4ŹVa[‡ÓIç‚•ŻنO$ß0$-ů}ÎŽ!ž˝ké}ĆŁ1=xř€ö÷öčôôT&í€Üíýű÷… Đ­[·h}˝/N®ű‚Đcäa±%|ý!ţ$I“č1=ţśö÷„T„H�Qj‰Z(ĽÁ9zk=‰†@ą(íâN‡ËIčŃŁÇ’ŞíÚÖÝŘÝĄ÷ßżG7oŢG}ůŢ{ďI˙ˇlô5ţFű÷ŘyBů;;;´»ł+ä!çŇI·Şšä°·ďŽ9ŇNíş$Ď˝ú˝¶¤źz9W|†(źěË›7oßMóż·ŢĽyóćÍ›7oß^;—tŃgi—s=ŕ‹ç…ŔŽ€ aq„ŚŕO·©ăŁ Á‚¶ó`±°ĘŠł°M ±†śB‡˘)˙}Td˛€ź�çâ÷^(ą •)JtIA ć3¦‘‰P¶ŞŢ «˘˘céBn1Ĺ-¬ËyKÉfĄl ‰ÚF!*/™¬÷+)‹K5¤Q€y©ł(5C=&Đ’… ŞîĄM+ćd€´(ű(jµULM^"KąĚP›ŔI§$Xž(ţĚHó8ÉEj% şj†ü ›ŠŚ"IĚź7»luş˘îŢ]ëS·żNĆ#őxHsƇC~ťŚ©śó–ĎmŠ´Bp‚lĽ(Âđ~óńLR ő‰!ĺSŇÓ‘IqB™¸ź'Ŕ‹ˇ4”Íi<<•ńŢlwIĄmRa"çK:=ŁÂTšÔ_PBĎtaI>ĽĎ¨9ᲗŔĹËĹ˝h‰+…°JQf™ço ŐF #Ŕ(Câ‰E}Ĺ)B91l%ýj0ůâ~©De#M´¤cîW-éŢܧ âYâҤAÇŞ¦ŘîĂH©çËĐf6ĄSš˘ HgŔŁű†q(„źÉt"Š?MĆ…PÉF¤Ń*ˇVĄ´ôŢă:ĎCNÁ©Ł†HˇwˇŃ)üHŞ´$•sŻwCşąĄčÎÍuşűţ6mo·¸>\—ěXÖ)†ĆÚAbâA&!µ»MjĆ=Ň<†1ľš|C&a‹ű7¦É¸ +iSľÂF‹Çf‡ëźŃń1_ç4Ł(áëJÁľg ÉE3!Ŕ‘%Ö)!Ň‘Ś÷@©šŞŹ˝–s¶Ŕ©ÖčĹZĘyĎl÷ šDĚ9Ż„ĺÂhC˘ “Ż™6¤ĺyaU}`ő´g nËzŠIuÇו¶(iuąÝĚ59®Ş?‘aˇQť8ĽĄµuáŰs—.ů­ňx7oß]óÄoŢĽy# 8V={j6§0Ë)áż›üwëtDě! ‹>9Qcű”‚ွ\Ţ”`ŚsŃMic’ŃĆ4§ŤYÁdH뉦µyA­;,\VÄNU9yůt1—ŮâmŤ· ;F%˘eŘúüşÎ[gÂŰź›'±őÉ^{<ĄMž„7ŹĄĚÖń"vřŕ\őŠR®w çŃ*ĆK´Gę7/8S•~©â<ń$Ä€( ćČÄ9Š+rUp,E!9z“XČ;’g—=ł¶ť ă¸8N)‰Ôî´Ůjđ„]Ńp0¦˝˝=zţ|Ź&“©Lâ±_ŁŮ‚&űPíY[_“t_ ý€ „zásLŕ! RäUçܦ7oŢ »wîĐÎÎuQ#‚Ai$ ”Źżá>xđŞ5[MvžűRÔ~F|=7oŢ•!RE|Mcő˘_ć4ęO3íL_đŢÝ5ő×—3+˝$3ěŠ3A+&ŞË�\çc™&= ˝#¦VţöĄ7oŢľć0oŢĽyóćíë5źÂËŰëŘ"ŕĺbĺĆşŇĎ’şŹ›çąĹeRô9Ńď„ ©€ń©±7ew”]¸ĺ(p‹v‡^,vC e¸ćqN!ypóO¦ hŁg”†M tXťÇ‘w„¨ T?,ŁŽ!h]É�Uý U‘`EÁsˇŚ˘-A¨öŢĄňR65„€Ă)ŔDá#´J%†€ÔF:–Sč¸˙¬r HNÚÖ?e<"i'¨Š$QÂם ± Ĺb'¨ÉߨŃŇFDˇ­;”SšiLëŚIWÔó•Ł!ŤŽŹĎ<Úߣ“g4 ¤~ŽđSżn×®¸“*<őéÓ§‚I¦©I[‡Ď€·‚ř#„¤žRM¸ďĂŠâOҦ¸Ń’cP÷`2ĺ%ओٔ ¦,`fSšŤŽĺ;(UŚmpfd€µŽÂBĆ?ąđ0›^)°$SQďŃfě8¬Ä&p2d|BOXő Î�[`grŚ#řŐú0¬úO”“¬‚·ěŹňĐ#Ö„Ň—0`Ď&U• Ú”öç×cŢ&«NćŚű„*´/ŮŔa|†ţ‡ Vks˘řŁÇÔ:â{"ŮńľlÚ¦°*‚âĚý ‹EĄ¦E[›k`úŢÍuúčv‹®o6Ą>Řm6źJ}ĐŢ#^­:>đő.cć÷nß–1Ś€Űüh@Ń<şá{#…Ű„ćq ¸y*mX>—I“•óýŤzžm‰5˘j†ŇÖZŻŞŞ]í·_ŐHBu »ţ¸6jAvŚ€DĆc. UíqnHTh[ݢŽh7ž$˝˙ŤWßťŽě‡ľB6”+Ď;ä[$<&łÇ`^őWiÓ¬Éř Ă·†#ÔžDŐűĹ…×Ň}ąO.­—zkőöćÍŰ»cžřăÍ›7oäf"ŇL$KÄéÜBÍ'OŞ|Á[ł‚6Ů1Š|A”Hň[6Cë_<ĄŃô`LťÓŚ’0 ŽžÓÎŃ„nśN©—•ÔçÉq‡Ź‡ft2¤Ýă}t<¤.OÂym‡)}|8 [Ď(ůň!ŃÉh©ľý?> [źEéç"k™ĚÇü@/dň—·>Oö<1Ž‘·["[,S})ŤŃk·šU&yqqBŘá:a˘-Qüwś¤ĆśĎe2 Ç Ş=Ź®ŻŻKˇśăšUa&«ĆjpY©¤ĺ‚ŁtÂmv|tB_}ů@”z´uęI-rµă386r@žjy°ś]ŕdĂŃAÚ1Ô߼±K»×Żóńmv3!,őzkĽĎu)8î‹/ż¤O?ý„Ţ˙ŕúŕŁĹÁúřăďÓŤ›·…@„ëE±FÓ8ç9{/ŮâŐë*ýÄG®ZÂwť¦qŃ= _°ÁjăţŠçŇÚE.ąLďIś’^”é˘ÚÖĄśç[/­ŞöůuX>FŰ˙ő+9zuŞ“Ň«×]ż"oŢĽ]Ő<čňvÍ··7oŢĽyóö ™Zy­ţj±ŢţÔÍ©pÔKéâhQtŐTa—™#§Ľ‰˛Ţes·©W"Jó9奪”8"Q®!Iµ„ˇ€ăT`@ä8ťç ”ÔŽ!Đ  \ÂŘ×d¦©Áű´Ł€â &$âĘ•!Íh«BNA |�ěl‡.H;"ĎŁŤb‡?,6â�é'®On1”ĄôédIFd€p^hóDą.…EP‹Á?µ–„(Xl„(B55ţ Řř”‹1Ę"ŇgEq$8'°I(ű@™ĄĆÔä¶ISޢHI¤Ű˛8Ą¤; ¬‚ĆcŚ“NŹâf›šmŽ'dâ6đkf9H)™µČ’µ LBl:™ ńAMšŚ'ŚŁ†Sî›\Č2˙§Ő„˙=,3źŽ(N[¤’¦€˛nGĘc¸[>›M§4/ Ę#’TmB¤Č&4žĐĤA«N©É<äq!•«nÎQšţRÁ‚Śgř ’ĎËôł^¨�Á‚ŔsĐ6hc@».ýúF„Z¨¬´š \ŁŞT¤2§($‰Á”U*m3Öa±¨¸“¤&ÓĄ!ű¸çţž"]Ňz1n ’ú×…wô˙*4P¦‘rB<¶eDÔć2Đ/¦.ޤDR§V<nŚšLĚc±‘„Ś'ÔHŚ!7h˝×˘ÍÍ>]glúćîݹѥ÷/+ŁŃNNřu<1Š8Xoč¤|޵˘L°ôßßrL–ťŇIÉ}vĺśRÔ„¦|}§®+ˇn›ÇŹľâjsßóu|ođ!eČ}ˇ ,–´Z‰ÁŰM;-‚%]Ú>ą‡-†ę”ËŤĘť%Ů)Ó:Kfq„ścĆíŹ _¤MŮM®wžČý¶ĆŹëu„-eÓÂŐĄPR‚ˇ~S¤´ăSŕţÇZIĚí!K!ŹůbŢ 5ău†ljHů26Łl9eÝŰł—Á3Ô%Ç]%u7oŢţtĚĽyóćŤě˘¶ť˙@ĺ6á‰b éąŘaŰ`·p"ÎTa$#ůŻŢđ”żů5=Ýß'ŃšµóľŮgźSóŕ„v vćš]žh˛¦´ĆűGtđÉhÖí gZó4řúłLĽŹ®•§ěłłŘĺI|ńŕíĄ˙@'ě�Ö§gáă§tužÎĹńK4"kjňy×ٱŤŮ! Ř1Ś ë(»(sµôfíŨ&ŕ×®]ŁfłÁ“s㸂Śä")0YwQGÎ@Ú'`OŽ4L" ¸M•Ť0Gôřɉ^€š" ß '�Ä´eť•/ÎTWç0e M´†­'Ř˙p đŮłgĎ…đóÔa™bŔ8{{ű´¶ľN›Ç'ŇÝnČučü,ś18ľ­,… \Ďër%Ôż×/}äwĹ^D|[%úÔ^ő«´áňýQ9ú´Ś…W`FŤřăČn/c ÂĐ›±łww˝ćŢĽy{Uű.FÂ{Ž7oŢĽyóö§işIĘú5µxˇĘÓzŮx oŇvéć…„śúbňĘFęĹŢ+p&`HNÍâŞć”r^ĆŢÔ|X-a|W7ŔQ’z*‰¨âBôQ…Y«·mĽ.2t óZ€dRůäż1vٲ8ă$RTČzrA Ć!g’>¨°Š9¦,%‹ńŚ˙ń>9Č:˛J,Ę?Č|xÁžËĐT D±D/lHµU:‰¶‚Ú)c”ŰF @6F‡–ěaČ ř„ÄדńuäeÄ űJ*ĄĄ”@ĺ¦J[ć|1oźç–ŚeˇŮJ«#Ş8 ¤1%)€R!I(IUƵ ŁŠĽ4‡ 0Pnś*;­ő˘5ű[týöű4a,ňŠéű{ôśńÎÁé M'Pg™sđrĺ€jHMŤ$‘ôE ‹€ÄˇOîôú˘®¤OJÁ[EĹd‡ůBY>!ťŚ(ŕcô4Ąr”ĐřpŹÔĂg§]ÁF‰Że–†TĆE±ů¤¤ăť3!ąRO`IWŠŻ ׇӅB°‰?µj)6VÔ P_SwŞČ}Ą!˙Y…—j<”´¤đdVY"UhŹ3ÇBÔ ”®Ň}™g‚6ĺ,ů¦( y,›Cé'§PŐ,jqꉂ?#ĆÜ–xEű'HăĆX±ŤJ˝¨Jé\Ho˘^’(Ôŕ ±ĹÝ…8#ăřQAÍ‚zĆĽąŤ×: ínµhçÚş}@f‰yMĘ\±¨Hq|ŢÁ‰Q´?>ŇŃá„&“\ęŰjÇt‹Źż»Ó˘áNL!Ź‹­ë-©óÉ ăŕÓ€ĆÓ‚¦Ü°ťn[FűdQłÓ˘`÷k}q;śLřľ.RšcěÎcÉ|0 DÔlÄ<Ţ”!ĄI qh±^b×Md°öů¸¬?»„e [:X˘%Ĺ-ęNšŻqFľ/ćYÄí ),ćçWĘk ö�›ÉŞâ¶€hÇe'qĘ} ů ÷ŇBő[›űŻÉë6Q«K!·k1R9(ăm:ÓäŔ d6<ű´%˛-Ć싱ĺW4UßÔR›ťQúˇĹű«*�yLĆ›·ď†yâŹ7oŢĽ]`P¦Áűz3¦ ±Rµd¤G!ůŕç?§§QlćµÖyńä&‘»»»â ‚¤§ăřŮ3úőżűwFŤFr›m ËPďv;B<I!:ťŃŁĎ?§gʉŁTç‹LŹŹDę“ČDÁÄ:ăş!şD`çO3„ąĽ3 ‹ Ľ|řч4dçť;GĂŃXś#\ݓ߄ŇOŻ×µ)ż"Ł’BţÁ>†Đ ŮR|öž?§ßüú×ôűß˙^n%Ȩůźç–'¶čO´1rY ÉăŐťŻřîÁ P°#}îŢ˝K›››B^!Č”P÷ŤŤ IGÇ çE˝Ť–äĂ~p˙Ś‹ÝÝ›ôá÷ľGëŘ×˙ň~g­ŮBj™ÔăŔ ŚAó^-r™×öąĘ9–öSúk éxGŃ›7oŢĽyóćÍ›7oŢĽ˝%3«˙•ż{)hÉç~qŕŠK}˙Ű€.ó˝ëi—ľMćZBRz!Ý=ăl ƲJ…XFŮń(µŮ ó·.JQ[™22Éhٍü€p‘†0žO�!eRQ`UyDE§FH<‚x†`”z,Ö}ĽX.˘$Ő“>¬Uúq×Ř…xG*JŁ­,ĘçÜ´Š?A¤…ôőĂ1˛Ş.N=ČÖŁÔ‹€Iá6—)•(¶«ŇĄ-Ë)(Ch ”q ‚4Q6í•Pg¤răɦ3Câlž™zŘĆ3îś4;‚77»SŠZ= c¤ ЍŐîĄôlĆçS6ËxÍłąU±Q‚!‹şzI[´ŚČç–},ÎTBýg®)+WťF©fžĘë\TÓ #Óě ¶›4k'T"]<ĺŚÔä„&“_[.XÓ"šMŮë¶<% ŮÍŕ`$ŠI.­[Mč§âRHqVmZšŻ4Ś4ŁŔc¤źJs¦Ŕ¦ňrAźP“ŞÎ Ĺ*e rţŔjŹ`6—ďĐľ «D ëdÓ;e§ŔÖAťăń„±^ŁZźˇń‰(#á3 "µJ38©‹ŞEŞQU#˙$q@›ý&ݸ¶&¸óµŤ6ÝÚnĐÎvOÔč›Í6÷G c8ô}>oŇd–ŃŃŃ čŕ`F =›TcŞEiXŇZ7¦Ź%EŞ&î·‚úý„ĆýMö&|-|߯1Ďu™äSšń5NůZAĆ:Ďi8ÉůÚBŇAÂ-źň¸QĽ>‘Ił$ÓÎq_ĺv¤K-Ƹ!N•äÔǵ^ ŞtCĆJűw=0˛nPcBJÁxQőYűŕz#•0xŕń ŹcQ-‹ÂJÁͨ-˘Ú4ĺĽn0ĄV«É߯ɵPТ0‰ůą€ÔuÜ_|?P0ÁęŠ<ăf<>dă>Č2Ł&t6HôŐě¬ÂQí;÷´VDËiľŞ/&đxbŹ7oŢČĽyóćmA¤¶s¶'»ŤĚH¸Bßg—'Ú˝bA» …2šń&‡”6Ç"·lZ§D[_Ů0Ý 9tíD„Ź ú3=)ŮD"DR‡’bžĚᩣ^ŠéiŮ`ęĎŽŚűžŹkf%Ey)Ń ¶z2i%{ăążšŐ‚őÎ4˘"çźe˝Ă‰:=9¦“ă#:99™NLšˇ�Ôh¤vŇEť–8«¸;eěH?s‘÷śŃŰţÉ“'ôŐW÷é«ű_Ńh<˘­í-ş&Š›z$J=×®mQĎŃ[ëŃúĆ:;S†\ÉN”g DN*Dp˘'§"—‹s÷ű}q¬ŠLڿף­­-!4ݸqCś/ľřÂäőn·ŮI»& �ú¤%ȢŻ=°>Ű)gľÁůżĹţş˛Ňęßç©űÔw5@Uőú&ĚŢ/ÚÉé â­hÓdśÓÉé â@‡UéĘ®Ő×Ü3%)?ŻZ °….RĘD.­šGíÉŻlu‘ůG/…źxóćÍ›7oŢĽyóćÍ›7ooŃ, Č|Ę;,†ľŔu„�0 ,ďżibĎŰ8?XDM„´Ěô“ĺ6EÔ¶KµŹ Ęč¤Č x Ť‚Ŕ�UŔRA&]/ Ë‚;°Ś°¶h­ŤBޞĘJ „¨BNá)’đ·2DK ’WécI»Ą„cINIG[˛RE"‘úsYá‚(â۵?`t’.}B3鵸ťćŞÂ|Í×`=gÁڦüwXšý€GhG×Ţdp«JYŠ÷ăÖ& NąŽÜ¨˘[ĆąŃëP™2Z6Ó|pH§Ç´··'+ÔP/ŕ¨Ř\?áoÝép3Á™AŚgŚ}2­rSź�}Äý‰ęyh•€P@.ĘčA«AĹZ ’B›ŇsŠłSĘ$‰€µ\ĄäR#ü8sJZ&Íׂ¸EŞ~˙’MŮeűČŽË‚jĘŘĄZ®ČĄçÔäiľ!áÔ‰?Rv°P˙Aš´ůlnĆĄE4%‘2‰ ČMâHÎ#Ä+ĆŹKK˘ě8›Ó¬Čč„Űă˝ŐjŃúúµšÍŠD”R’~ęśűŻPöůř{wčÎť;´»Í¸5c{ÍÄť t2ÔúřńcO¸ý›]>oAt°ĘŰŚën‚ZÓ”€@jJýEá~0¤ ×ÁÉŔ±“‘(ă–űž1z`ŕűűű¤ř»Ł™¦ńÔ<˙ 2ƉÜCsÁđ3!�…QI«jgşRîZŚ mîćÚ+ާűrőę=Xç ąŕH¨éŁg‘éW@±%ˇţ ţ¬­uůÚcą&W×_ZҶ…2Đ&°)˝űj6GütçtĹ×/Ů .P„«Ř´~©Ď/6uÁ9VžY•<’Çg˝yó¶lžřăÍ›7o6HÁą$ ű/QaH¶6"$j$žV2łFşÖě)�AČ[d9LE2ÖE••łB6˙­‘Â4|­™<#7p ‘Á˛Ň3ç0ş:™0ŹŇ–ŁÄAwk˙ŇÍ«rÄuzubş˘•i{í/UĹÉTô�·ďéŕ”>ýä:<<  ;‰˝m´šÂ´ÇüTň_§FĺÇEG\ľĄ8zó<«ň[ĐsxxDżţőočłĎ>cGçŹKéŢ˝;Ôît%ďřt6•óĽwç=ę°ŁĽľąNŰm!ţt:m©™sŽŽď;–óĺÖ)3Žř"ĺ&ůp$`(÷ćÍ›˘ôç uýĺŻEżűýďE±čڵ봹RPO‚ 󻻳SíűőÚJÇ.ń[]Ô{ć­óşč…ĹľkśG˘ąŘyşô+©ĘMľ´Źi l´řűŤ™#˙ŕż’A™ě ʦôđ«M'9Doĺ~�€pFrś8¸pVű›<–Ó)Ź-‡ĆŐ#Pś9RĐ˦[ŽJŇqČĽyóćÍ›7oŢĽyóćÍŰ×iËĆE*?J-–—ϦDy±ß hhîćVÍăŰe/đI«wl„±nfş~ćGa°I˛D‹Ň�ž&čĐb dC†8„˛J‡„|Q 9„ b$Ď–]¨/U ŠĄ ňCŠ$(üâO)*9NýGAD&E”#™¬JaHQF‘^„9š€N%„ÉšúËůEyńÚĐ`Ž˘†r0şŞG&Ť×ň“dZŇ,éśëť‘-źŹ b.#$$(›óî3ÁcK!@E|˝1×;(4Ę#Bb*ö¶HwĄś˘Q)>$ ĹH%µÖĄĐá|>Ąé G `‹í5jĐřäŹ-$đp>Ďą>µśm¤$ŔřkϤoň27}¤L›?’ôT!§ä‚…ĎCćşf W¨Ĺ ąY> yżĽS1Q9Ë­ŤM]Ă)ŰŢč_Kî0ýi±ĄŔîéĆéjCŕ‘N48·¤ĺ*j*2µÓéFżŕ>beńGČ?ʦSU*0đg3׍ýc(Ĺ@Ý(J¨•´(i4%UúRŇ|M Ć 1^7ťrˇ˛Y5ľˇhźeŠv¦”űűO'sQ Âő»'* ĆŔ×ű=şwg—ľ˙Ńmzď˝[´ľÖˇ¦4ź…x2Ó`\Đţá =|Č}=žRŇs]rQŇ?:ńŢ„ć|ÍŤnĚuK©5…Ş=ß|}§Ś_OyMcéĚĐ×XP±6÷U¤$•ŐÉxČ}:§ă©–1A-(˛Ä÷YňŹ&—–Ď­JčęŮŕ‚ĺ:µ¦z<âYâ -”l-ŽÖ´—)Ź›Šq •Şli"•R}!8ęűî“îÜk!ŹéÂ`Łčcđ[HŰŁ®1‚(C¬» _łŞ#†)Źß XM¸MĆ\7JO©zĎQ1ş*ióĽ]«ź›t•ęÜ}Ş5ˇÚw>Ť—7oŢśyâŹ7oŢĽŃYZ€pÜ$J/XęBüŇŹKÇSîP ®#ř°§# č`y¨—Aű}Č“ö„˙]T]Lü1ÎUąp|´!˙|SvŢ™[Í–%ˬ‹Ó 8q,Q 6’OQE`sę;`ĎDég"ŃW_~ů}ĹŰ_~IÇGÇ´µµC7nÜ”t\qšŇ`46ň«Ó‰D(ŕ¤éÂą@¤€şŹ#I}U„€žápÄNň6—R˘) čŐMr{ÝmomÓť÷î3‚c]ůbETM3/ľ…ŔŃŰ1¨÷2fłŢ®}Í<D??¤=çcwYšČH›Í¶Cs "Ţҵ;±–ŰFWQ4oĆ<éÇ›7oŢĽyóćÍ›7oŢĽ˝śť· ŞlhÚeűŻçxŐ÷®ŚŐĹŃÚÂň‹Ôor_fŻŞÄsUĺ÷ýU$Ô+Dő™4F!ĄHaϸBČxbP •”¦|™ś~U/? RTĐaQP3iJŹ‘"-Ď,I+@� –ĄAPăDTQp)Y‘Ů ;|iuCC‹˘D…6JS „šv©x)H? äŘq‚ôR‘6ě,ÜcÇPEĽĹ˛Ľ ㍸Śi1•qŃŚb*ŁL.ąR6$lAbĐHßĹťśq—ŚËš›1† qA1_§š“F:$¨@‡ő@”~ ĚśF«‘Â( iŁü÷ËÝřTҨU[IZĄPĂGm ’”ZÝ Úąv‹¶FCRCěŃÓ§OéäđR}Ů€C¤$+˛L i6řXn‹1ă¤Hťr _1· ZEÜ’ŻQçŇŽ±¨ńř8I› ?AîĘ8 D’ńśTnU–¤ý]ĎąěpĄŤ˘#ۢ_W6e—SiŞŤq7ěwFU©\Ľjű·®lEŽ$!|#!ů„HĂ&äźPđuŁ@¤L*°Jő d7î±@ ^ÜH\e~Ą&Eé:Ą­¶Ôw–1¶;ɦ “QN#Ćě& ô�GÖ‹0ÂVKÓdš0î­¨ßi<+h0DPęTđnT=ˇ^ŻK·v·čÇߤ}¸ÍǢ“§Ü?9íMčţýgôôů  4śL‹žĐ Ş7á”±ňąă) §<cMóŃ„š\§Ű™b,[ńyÇ\Ď1ťśŠB=ÚmÂűŚćCŠĂNłcą·f<Žóď_ľ (BrÄ÷őfŻ#şŕĺB|˙đPŠD iă2ĂҲ˝@ň ”˛"Ř®)í˝Ŕůťę–®Ć´!ä©ĹPŃnĹ.:r@Ö+TM@LÉ5 N ­YţśeLbAáź×°Ć€±P mc°%ă÷1ÖRĘ5Qk)hĆÇÍř~đý0žçü\ă×,Đ„ŹÓ|O…6€Ű]#]@Ü9ĎV•’V]Ę3IKTOóU'ťg«ź^Ş‚Wsö;OňćíOĂ<ńÇ›7oŢ^Âś+şÄ\Żď j“$e" .9çČXťřcČ;«…żL=ß­Ąy¤ÄęłăŕÔ|d‚Ě× r 6Čg‚|ă$5KK˘qfÂŽélnHśţîwżŁ_ţňW• ?űłźŃO~ňSÉ gŕůÁ!;mCv®™ă@<:<Ü—t] í`ó sç†!/T…ŠÜ÷ŔY˘}S/HŁ6Ůů˛ęŤW(˙|ÄBcťľřă´x ׺ěďP§;—úż(Oü«Úą`Ř·h˘~•Ş®6Ű7BţyĂVďŁélFO¨AĘ9h+Ç‹T~\¨“ˇŐÁŠđ÷îT°Ň´žž—öË›7oŢĽyóćÍ›7oŢĽy{ě<<ă<|ŁNŠ©ă Ë>łŞ)&XÜŕ±+gv_`ő€µzýŢ}łä ¨“#@­(ya( „·9”jxáÜmfo-i·”ĹńÚŚźm¶[˛<,#ęöű†Ô6ä}zc\.ľÁDQ$Ay0ŕP/î2>r °·,›ŐkgŇš‡!ź/ĄÍµ&5¬â R+ 'c!�@ŐŁÉ[/)U†,SĚO0~8š ‘EAe%='” ´„1=P?^ÄâęŤqd#Ë­Ą-ń$&Qűá…˙,… ľîy0­Čb:Ę)…Ę2—oU15łl6š&H‹÷™Oűś›CŇĘÜ>ލăRTÉ«ÝĘŠ$Á˙@­$L(JąŻŘ_§^¶ICĆ)3wôľ( g’¶Ť7nŻ<›JýMűZ&‘Čćŕ5ŇꊀL3̵ä˘"¤Ǥ95˘Ü ›I‹Â“!1i‹@ĚsĎ% \P}VV©4dĂ)«kv @čsY†q`S-•\ŁPĄ‘M¦…�äŇ4A1J[…'“n«AŹ/—J.‰®+‘r…ÄÂc M ˘?y>‘@Ú86ĘHŤ¤Iínźşk›ÔiwDµ*št:S:)(Éš˘MśsfŇâŮGŐtF˛_©Źžj!ŠťJ0i! YŇ$&%UA¤´{mť¶7ÚrüdÎă7‡˘PF‡ÇCzüüîetp2b"Č6Qh,3ëÓ\1đ}ŃŹ=‚č3äqgž‰č"Ĺ}čHŽ Ăď׎´E«×ŕ1ÄíÓiʸ(BESnÓŃtĚC#§ÖśŻ=Ć˝±źY‚‰Úľ.CnǢ"ň8ĹźĹcvy1ŁţĽ<›ŽŞőBhkĺyŠ{AĆhĽ”F®ŐlĐúZŹÖ76Eýý‡â‘˛°°d1ČmÚśdť!“ĎAlŻ9$‘Q`J˘b ó=&Sľß"!vÍą!q_ĺ6e›ZUˇ#:çwč|;ŹčąŞđŁě:’»ďëęuK*A()uľBĐeď˝yóö§gžřăÍ›·ďÁyŚFn¶ 3›XŔ“ąHá0#˛QŹpqźBäi+ŕŃ&ZŘűŠ"]źŕ–¤/BÔ2ČMHÝIÝüם¨>÷5nU}AżĆúÖËőŔ*Ui¸jä$} ˘—¦Č\aýoµ(ĎL0áÜa Dý :Ż®Ş«(i¤âLS.¶FË„J?ĂŃöy; Đ—_~IOź=cgj@×wvčÖíŰtűÎmZßÜ ^ż'’§>nĚ`Ŕh2˘Ć8ĄÎ¤-ę?¨G»Ó¦Ý›»ňjź»ĹNAÁĺ?¦˙öó˙AOž<ˇÂeM˛ŃD3v€ ŻŠhŤ´S§ÓŁÝźQÂÁÖö5zôč1ýę׿g~÷ú®(ětdP ÚŢşF[›[6Ć\ĺjË.uîŇWtYr”ĚV©Kr#˘’ŐŻ—^•Z=QŤéžľěíŮÎúWK9µLřŃ—|gʬ˘C®âp­6Me"(-q*ĄÍßňjĆş‹[9çěçG¶m]óęzšëŕaD»·ŹăPśsS<sČ�çä䏍SGTOM˛ó7úÔhŕBž+gČ>‹Z]™|¦j”E÷L‘‚iźł„ĆÚ9Č›7oŢĽyóćÍ›7oŢĽy{I»L¸ţťű~«^^ ]J‘Réeż™…ÎŻ#ëmźx0ł/”'aüÂóa‘D‰mĆľţěăŹ(e Řđ·Ťí댟Yü)/éöÖu*yqŠŮĂcrÍuş ˘čú7n5 ¶s×­HHŘ˙úö&Ý»}]‚a'§§t˙ńCó1PčŘŕĹţÝnź:ICľťŇ“/ĐAľ/„´˘Ţ2@Á8ŕ47A†QQ«×bܧ0d„ŞEw» Š şBĘ#`“‚LH¸vwx˙<N(.ˇŚ¤%(«Ńí >¸ÖíÉţcnŹg!ťśśH° ‚!#n ¨ˇKj*KŔÁ«ŮŞó‘”U'mę‡vÚîoÓv§%Ç!ěůţsů¸>cĆĂѱ m.¨–¤eăëA˘HÚçÁd6›Ę± ą±á6§–îRuUĘZ(“?Çu%a)ă߀h1źAÍ=“”Ry®,HóůŽCy…!U‚+;ťŽiĎÜ”‡4iý~źżo1K˝:OD=;Ă9¸żńýŤ›;ŚË6Ś‚ׯ™6E©ÇăăŁÁOqž„ű?ËÇ<.˛…úo >žťV‡˘ ’ăq=nŁĂăcŮ€óŽřüP–*ě˝ńRÎŤďˇČs0Đp2b–3ô[żż&›#Äťgh»#>×Ááئ©bü:Ť*‚TÜ ©7í¤żĐ&Źź0ŽX®Ńőë×ĺÖ×7…lg‚mEZśďɆ´G1Í)Ę:U'6ĹáLagą/i‚u¤Z3ă*]ťMkAbî/Ęéµí ¦Fđ´źÉó'Md|ŕľB_`[ëuéÚÖ&cí›r­ }ˇ8ŁÄ_ië!X ŔőΦ3Úßß“21Ţ;Ľu´ŰÚÚµ-^+č€_'• ÁÉŃĄuŻ“RW‰ KŘĽZĆdµ^&F©J…Ę~W»ŻVŹż´s™«Ż7oŢľ;ć‰?ŢĽyűŽ&UąlJńÄ5Ŕćś,ňÇ&⡲réČĘE4XđhřÁŞĎ9÷UşĚ––^PŞ:˙8»§#ţĐŇů×qžiZ€&K‡¸Éě K=t‘5ˇ:Ă8wä7a×6jÄ8™3*Ůią„ź‡Ńý‡é÷ż˙„~űŰߊ '—‚ýčGtóÖMęoô©ŐiSŔÇ6F©Ť Ą ÂĎéé‰Dáßűř{´ł˝+NV85pzâ$ćsťĐçüRę D•Ȥđ�ŤńdŔ•˛c°#ÉéĆ'´}í:ýđG=}öś~ő«_ÓřCşuë6őą|¤ ¤+ś‹SČ«˛SčňZźíÍ ^"ÇÂ)pZ%ťĄŰŕ}°´o=śR‹(˘óěÍş�gI:ËçµÁjÔň1ő×óĘ­i‹<çŢ<oo}YUÄłňʎQÖŕü+˛ç[ĺvi—ŰlěĂŇöîŁ@" 2¸óĄŽó"7ĚT.­Ő˘ĽüäW5+›n�/Ă<ÔNkZÚ#8ç UýëÉ?ŢĽyóćÍ›7oŢĽyóćíŚ]FîyáˇćŘ3AOK‹žjEEĽYd´,iĘXŘńł<6Š)ĐH˘Dˇřó˘ĐbŹA°‚ö66űôţűw¨ŰL%ŐŐ1®n“ËĘh<’žçÔę6)ź…Ôě4H3T±¶Ö—Ĺt1@ĐF(°“(§(V˛d!¶¶7eKˇÄÁČ AŃŁ˝ç”3ÎŇŤÉćUň÷!uş]®z@Ďž<ŁśË.c“p(ăÎźJ@_!ń ¸ÎI>§a6Ł((©R R1nYđµ—IEĄm°śŕ2Ę2•E$Ş?g×6Í‘Ľ¦Í ˘4ăs´ř}“ëÓi0ÖB‘Uww[€Ŕ‘HJ­ 7‘YžÚČ ş€Ü˘FĆuE\*pSv@ůăşÝE»öÍóR×Ö7„řsr|LpČÍąźě(dźŇ(*ˇŤçó1ćęÔÉ‘~LT¤•QfZ')8uö…:Öň= Ľs†ôH!Ňc™”ZŔ§pîĽ0„!Ico‰K˘ěG‚ă; ¤ĽÉřn]ŇZ› ÇŇ˙ü쯭QÚHřú3!OŤGăJ= U®Űé´¤^jfČ<ASĘíłą}Mę2žŽEůçÚî.ŹąŹ!¤€š 1FČ9ŇÖ©¨Ö’Ć)ĄÜ'roÄ1Ĺ ńű¤  SÁ|AĐ1mk¶1cŔ'ŚF\n‚•^zŢ!ŇŠAÁ>"Ň[C{%|/´řţZ_ëŇćZ‡ÖCĘxą"g3 5­§%5c{j¤‹c||ÎĺŹyś„3n㣠ŤŁ’2Ƭu”PÔhň–Ę9Ń.IIŕm§ÓĄŮpJCľŽĽ1Ąű`<ͤGńlPÁńňĐě“@”“ř×| µ+ľźÜc×)S9•ĺTvJTżÜf‰mH%‡4]Ąa¶ţ‰ “QŠ2ŁËĽBÝ«ŐjSŹűżŮlI»á~@˙­­Cí§Ç·`Ě㢌©ČĚs_SU/>ľÁíĹ#up$ĹÇB¸Kh2ç5̤lĂ}Ś:4¨-d®Ń„Ç ÷ą’1Hę7ÔÝ™\¶ÍhŕTżęŞ]dźŁćŢZŕ§ő{Ę‘*qß ™÷Ç} ©�-Ć˝¤öăpaZƇ_ű'Î˙Hzóö'gžřăÍ›7oŢŢaň ‡ ŃC &ňqhŘöě06*găě1N�áé·škźîßżOřĂčáĂÇôäŇs�ŕĆŤ]!×|üńÇôŢ{ďŃÖÖ–L’q^Dµ †Cq|ż˙ń÷éŮţ3úôÓO%-äóEľl¨L’Áě‡s 'Nçg|Î?ţńŹěDNh:™‘óiĂŔL¶‹\Óóçűô˙đ 9?ęŤkÄů>|hrłĂŕá?ř!Ą<‰˙ý÷%ÝXÝI¸z›.Úé˘6—Wů×(˙ś5CŨcKß*ueiŇWµŐňM=Ô%űŻ^»ŰŚť-«î@9ŹŢ ;·ďjrZ’»ąv gŽQ+Äľ—ÁHk č«šňN 7oŢĽyóćÍ›7oŢĽyűmŻ0ďîđyéŔ*Ui§úCËŠ?çî}GÍ… ĺŔí·esŮ”S/’Śß) ę"ŞHfU2¶§(m§Ôí·is»CŰë]^±ľE'”ĐépLýq‡F§C:QÎÇĆݶÖŰ´µ˝-D¨jśŽŹéttdÔż a2?Ąv·I˙ྤňůěó/d˙Ö{»ÔJzôř>ă!}řч”—9ťŚĆôŚD{´Ď+[·¶7裏>RĎ `\Pg”§¸–€FĐLTĐ‘â'§Ś˙žéś¦IÚ$â}Ń�'±˘qQ>ă…|S,™AŘB˛ă‡EHa®D!^‚ř3 ‰˛Ă2DÚ'੫&]c<p-mĐ`oŹëł'‹ů°Šç›B,Ág¸f(˙�S9jggGÔéđđ€ŽŽeśŻ5[˘Äspz$ÁŤH}Ô.·¨Ü٦żk¶:´Ăç{˙ĂŹ„¬l¸ć9÷3H4SŢ °< )ű\·˙ôźţ#=~ôH48?V†H” iÁ‘.˛zPâł" á×3¦Ű}­ÉukPČc 3ĄB!5@'‰Sj6@ÔQRŻë;»ôýDČbʏNŔ…sĆÍ€÷öÖˇňŢL©Ärî 8iJßk® <ůóĎ?§çĎžŃńc|'AŁŚë¦í®Ś·Ż?­7iŤËMĂ”hó˝P!©Á}'$ r@ÜiáfJtAýv“Çv—=î?ôĎŢ32† E#´Őd^Đ˙ÎpŁq%*‚”|/éľV"‹Eiś N 2\»©čÚFŹB}RP+'zÖi4QCĎčv« ^l )D)ź±t®űTMiŞAčăqzÄă^?ˇň”GŻCŇź1ţť$1…Üţ‘BxcÁă6ç­2O‡űm=;ᱟKZĽB9ĄoGR‰© ’]˘(OÇŹJšç|gZîŔýüE°¤Ä‘čoľ˙#›îORiń™'ö_(†Qł¤¦`öPŠ –Ú'äă ¶’OĘý»”_Q*ăŠJńLžn\3ţ>4÷ʱ’űeH‘‡ňlňšFć%jIĄŰ”U7ŹjtzÔŕgŤć1@ Ë[›”BŞčĄřť y¦:2śSěrżO¸ŻM`tX˘Ü}ĺx»×®]“żÇ|Źv××eV‚?—A/Q�:/5ŘEűzóćíO×<ńÇ›7oß ÓĎlµ)ŮľF­÷îP2RŔŽ…1L6SQŰx{•iÓ7Ą†a|×*—©›7(h5%‚çUY«×çDźöóŘqfŔ@&¸ÉBoHQĹŠç48f ýě=ßŮŕĎ>űŚ>ůäÚŰ? S  ’Ď˝÷? ď}ď{B¦ŮŮ˝ÁÝÚ ŘŁ#9#˘…0q>ťŠ{pp Ě˙CÚŘ<GQxEÄŔúz‹‚LdČ™"B`ďů>챳<7“ňĐTůŔA3 $Ĺ� ʲУ‡ŹDŞä¤÷Ţ»ÍuŢéQLć ¸b+şOťÂʦEj¨eIĐ굞Î5˛AżLżźő.¨Çë8ËäśłßÖUčĚů´CěhUń§žâl<„0ĺ.5ËEV©xąW»ii˘%"mÁ¸yłwo݉«Űj?/‹]®˙őƬÎ7r`«N˝yóćÍ›7oŢĽyóćÍŰ×hç-9’Źxćzuh˝ŔD1˘,hˇđć˝×ŐT-ß&˛!j9Ľř</Ś ŚvÎ~h‹ˇ€,)™´ Pâ&eB”ɡ`jRęđúh2 l<%ÍůŰk-Q h˙pŹN‡'˘ e“Á0•cűýŽ`e](qŰöŽÔKÓŮD7x-‹€q˝cĎsQMf’]%!őZUf6i}Š@S*łĺâ\ŹS´QOɬ,xż“l&ÇŤĘ\BőÄîĘQĄt)id\ń~ŞT†’P(Q ”YôJł^ŰPńŕ:a¬s UfłJS2J§Ý®Ra,K”ďŇÔ(„đ9ˇ´Ö1„•”Ëʦ†&ś)˛š gš‚‰‚�µ•­­ !¶�§„bŇY0txx(Äô·SŞNEõ9çń9ŽwD “¬¨ĆĽS49ď€Ę8„.¤–Š Zë5$�3 Ěýč˘ö%| !~€ü„´pmľŢ&c÷P^źLgXyt|"“p·CÝež F1­ő×ĺ1·őÁѱh Ź˘ 6¨ÂFc!€Lćs˙%%ˇ!|\ćŚĎ“O&2^×3â>AIžŰqČm8â2…Ä‘ÄÔęu…őęś .,z†€V!âä˘tz‘(Sĺ¤jϡ’Ď‹¶źňµĺĄ®Đ ži J© I—NKÚŕşěííQ<;Ą÷’ ­ÇZ®­,BšOCšń€đýpÂýôŚĎ‹óçĂMťO>·}ޱPžµxĚň˝‚z– #•f#Ł®v É`5 ›Ëůžiđ·Ň&\Ţ(CůP´Q˘ĽŁźy‰%Ň‘AmyBú‘-•W3"ÉŔŕÎŃäľ3ęWjé4ĘXŚßó=”¤M©#Éh Da AĽ&ŕźK%t)mB˝*MŚ ×,ăő†©<w҆Q„BÝ l„tmŔű±î�•­VÇľM=W‘­”qkŞÖ3^ô{RR_ç7Â*Ő-«ý¸V©aČjůďó=žěăÍŰwÓ<ńÇ›7oď¤-ĺ/}nş^[§ňîG´ŮY§ÖĎţ†<!Ž‹J¸Ö¦ôyµó¨%âŔU*Ł/¤yĽ FŞ«¦ôÖ(¸s‡b‘™˝H)¦ţ·:żŠµÉ&×r´Ócvg´iLŢ@ţ)U°Tś}§âäB•çÉă'ôŕáÉţüůsvĆ2‘ŞÝ˝őmnnXâĎűt÷Ţ=!ö´ąţSŢçŮŢ>ýî÷ż °1;!;Ě[ŰôţŃĆĆ6Oę§\Ć–DŚ‘‹™ť‘Ą©HCB¶ä™ýű÷ާťť]úěÓĎ$ZäţýGtxp(Ń)°@™V�x(šÇ\çn·Gţç!`ľ/żüJR}ąĽĘřŢHćž×Ćşz]ř ň‹®H/t†řłJŃ5™ĎĺĽöĆ żxśÖICuÂÉę÷D—R{ĽşlŹÚńz=˛|Îz[ÔŽ|ęŃÂąZ(ţśKţQ«oÂÚß™XKÔ‡äć¶ď"éĹ‚QoÚ*_»®(őfŻý*yŞ˝y{“öÚ�Ś7oŢĽyóćÍ›·oŤyăÝ7Cˇxů…RĂŐT@HPViäYČV´śěë±×ń/ľMľI–Íéřčf#QçÖ*˘{őe!ę,<ŔJ95ŁbĹ},ÖϦ3!˘�óËłLČ&X¨ď÷űtűÖ-ÁĘ€­í3îvĚÚś󡨽ąľF»[Śá6!®źŠrŤ#®ln®ŃÇďíĐ­íuQĐ9:ŠR”3@ü(ËâÜëPVĽä±ś ¤¤=ËLĘ&ZRŐ^I_DµŔ<}%ÄWoÔä´TÉqJŠŢX"®mëŤ% đ¦÷ěŮ3©ăc ýľQ-żÁxç&ßĺö6©¦ )ËŐÍ)Š „Áç@żŕo(¬ďnąčßL0MśǡŤńĘrĘ?Ž´cŢ/_'ľŇ îčŃh*iÜ K.Ă1’âÉŹ>Ŕwă|l–@D›Ď{=ŕcÇBt&ŚWś _ýŕ¤~ř|Čc·öĆx,d*´ĘÄ9PÔe{{[0Y\ ĘG:0T°/ŽŹ“@fRƉˇ˛„ňoßľ-Ä·ńĘňCQwÇ«!D%«˝»+j90¨ÎäůHę‹ý hÎŮű(ă{áDÚŻškÇ`c“Ň<¦fdĘĎŹ ŠtĆßrî8j2آůĚÇÜg8źßhgPâ0Ćń}QdĹŹźž\o˘byE@  ¦Ň/h»‹V©jßF٤pš‰ŇŹŕĎ!o:¤X•Ž c!@ŇOb·ŘŞâ�‡ĹŇ´9W{0u°«šéł±¤ŰĂžĎ&4$ÝÚ'‰#WŘçéӧҦÝ^—?Źĺřáp ϭ¦ŽŰÚěÓîőMę´Ť:žI#i—Üż¸'qg˘Ţń]{źŰ4|FŻęLuťSţAyx.âľ2vŤńh¨t­*Ř-aüKkf/g~^äÍŰwĂ<ńÇ›7ooĹś3żôŮK8öŻ;/ŃÍŃVHť­kÔÁ{…–ŻQţËNš Żáěu3ż©;ó ţhuń>/, ýé8ž8ď?şO4=Ą›7oRÚ iĆNÖĽśWąoaPâÁć@€'OžÓ¬{Dô!çÚë±3»-DlČůĽł»cfääÍ šÂq:ŃętD4ađ`‹÷ÇäůČŞ!Ş {ăpFBö´.ś2LôQÔQ37nŢqwĚŕ‚´ÉYÔRČŰüĹ_J/¤űýďĎůs<pľźýěgrL=µŘY[V®ąŚÜrŢW‹É˙üŞľ$ zN_ÖË<ŹlS;ÓźŻVč߯–˘Wësy;Ôż[}†ĽZş˛Ur›•w bé‚č-•;q[‘˘}9˘ßy =ôÂ&Zş.şÂI–ě 8r ţ”)Ń9îĘ‘ź^ď/ÓMçF­Ľs,oŢĽyóćÍ›7oŢĽyóöÚć"x,§űŞŻTMBą((!óAjvwŤú›;öřZzôłqHTÂZýÜ-Ôvx˝Ý™EűsU޶÷20"4<"ŤtB ęő×…”ŁUTěĚ®! ą|‚TJ͵5*“ÎEłśłPôGĽH=c¤ltIuú0܇@ĽÖÖĄŰT4:Ś2ŽŇYŁd3#Pi* đÝíkÔ»ůžśy<žÓPĹR†âvť2f7‹o^Ł(Mčq<|®­ó±Jö×@ şqťTŻCĐ᥌Řl]§†J&S©€‹Ó.PNDa*ü·ÔÍ5c=÷#ďŰžÍi«;ˇF‘›Ŕą/Ś1Ç01DŹ€·)x '’Â(1)‹H ’páťV[΋ ǡ!຤9â˛Eé)‡r$R’' JI“ŃXH)sc1—ßDĘ)0+ †$}×–ţ@űőx\#uš—„ž‚jÍ$+¤\|†a™h>÷|‰¶Ezł´MąýŚßĐÚć6ż& lŤď(·Ű-ů¬3™zzQäa űA­ź-tPZÍ”¶6ú&´®Áu+3Qüi5ŁeI?îţĂ­•'ĽŠPkťĆEŔ÷¦ }"MŐś4ʇ"jđg©ůśŻ%RĘĂLĆçśbçHM•0öĽI˝Ě”ŹkŘŘަăĘ:n1đ8ľ&í’MfüŚ�Ď‹Ű"§&–Ó´Ňś?Ląžc-jNoł€F<ć# ő"Ć UShÓ·{آքϗĹÔŐ-ľ?2é#ŁH3§)ż‡’<Ôg”Ô«II{ťfÔ˘ýQHŹO”Ś7UᑦţeÉ×Éĺ”=Ć’×5„óŽ'Îy$)źKA)‹hÖśPÎ}˘ ü„TR!Ć.Ú)‘`^Îô\TŞ(ă14I%ÍŮ4äľLRš”Sš%sJú=ľ·Ę凋2Šja·ĹűlŇËÍx\—zĆcśÇiٰ! Ü‡W–řttH­€,™t_‘Kók–¦Íő¶&9mîޢiTĎ#lký>u×·¨ÁăŠA(·ŞźSŮÂ9™Ľ&˛\T˝đ}6çýbM]˙Šďa!:ń8!UŮś›d8Ł2šĘx›”†w4Ěh˘yĚ…m~†iĘŁő¶nĐ5Ő®ž'¨_é~GT«^§”UďYĹô ĆŞ–|€ą¶{Ü]“VĚa°Uďbß3 Ą5€•ß$Ź©zóöť3OüńćÍŰwÂÄąě#OءI@[3ý*Îązµ©ŇBŘĺ]îYL_«6`ěłyÓ˝˝}úź÷w4;~Nű·K[7C:-'4d‡Ly—˙¶"ţ 4ŤÄÁ…˙á‡VX€ťNW"5®_ߡµő5‘w…ÉI2" @B¤ "…˛ľľn"0ĐŘŢÜv?rD˙ć7ż˘ĂŁCşwďžD<|řH®‘F87üQčűß˙>}đÁ‡ôÉ'źK»ŇŹČÚŞjŹý~÷»ßŃßüÍßĐîî.ýâżČ™GO‹š@·n݇ü…˝pÎDĽÎ˝Ŕ÷¦Ůô™ý—˘Řľ%sw-%ŕ’Ögż»ä˝Ą^."đeĚ�pYc ߼ş•ěd»ńn ·–˝öÚÇÚË^Ą^ö& žů’mu^.č( +PË›7oŢĽyóćÍ›7oŢĽy{%;Cîq«Ą@ŘŞęqđSS\qŞ?Ę’~J^°ÇÂi»Ó§­ťŰ˘ć˛uz«Z”^®‚uŞóÔwÜ9j* ü8Ł-Ž[*·ţîk„ţ®Z¶Ł@ ęX„×+jȲ€oŻÓ¤P3xŞ(´›´t(&¶Ó‘Ŕż§y“rJ¨˙ÁźQ|ýC*󜚌Ë!8.ĺö?á¶š” ę~řjĽ7ŻÔLŕ"Ě©‰‹Ë6‰Ňć&ő3Ó¦ ×i·¨\[Ł1×* şu&ÔĎ ą.˝^—Z|žý(¤#{y«It—ńÂťEH5ĹuYş@eH?•ć6c5ą.­*MA].{=Ď(+K3>%]Á@®JAM' xłJ!/vˇÝ-·ăşÂ’żămgsG°ŇŞ«¨BQŻĺ‘1fBPŠA™iëFhŽÇqłáT*Ś÷Ͱ)x$ Ő¤b®čŮÁ© �¤őÂ8&&­TnÓ/eŐť€Âć:dGh¦*ąÜë·>¤¸ąAťŤ4B�¤MßUZ‚Č?a3çĎ🣽  “‰úÉbđÜŃn5äü»Sُ”p»[3J;Ë)Â ŞžeĄ®Ţd,ÚŰÜľ!µ®1¶ŰݡŤ[™‡1ďSŢp|Wu…ś†‹śhÄ˙­ßŠ©±9‘ňđ9Ž€ Oxży4§öő†ŕZşÝ§±J$ÝLHIť-ęG»Fé‡űc>1śsĹ×Ô†bÍĚ‚2–<çëŃüšńxČškmw¨ß¸ÉŻ 8Ĺ9gÜ·y^â<ęEc\î?îăµ>ýń¸G'_E† �eŞám¸łÍ‹”ť6Ít<>•ôb¸·ŚŞ!Áäi!©ű&ÜďHM…>•ĺhs.7j*“†+ą˙CÚÓÜ9ź'Ez<®_+ٞ[PéÓňr©źd e4:ćgŔ„ë_D|>>gŔÇĄ6¸)Űä‰Qźšńڱ…±#ë2H!†l�x,Tąęz[ŞCčmÝ.=“Đ÷ŔřŃ˙*¨+Ůňś«+{ü,,·Űç6IIÇE%Ź÷CjQ)^›yL4Iw®Su¬4‘t|Ge‡N†Š×-ć4s?7vąŢ˘řߊ¦ô~zvxl»ç‰S+2ÉĂjřn,ćZRj=XŐ¬/„TGţńYwm®ÝĽC­vOî7ş@íG)U©ýźKě9‡t®)Źďzóö§hžřăÍ›·wÖŢäÜC&]QT9±&ĂPÝ;^qĘéŠ&e˝FEß âŹ18µŞrUäŽO§ě°·)ínŁ= 4aG¦ ?`:Śč8" H×°ĂŰhw¤äô5 „ů‰Ŕ$ ™čoln°óÖ¤¤‘Z§‘ť9ţ)ë÷7čîÝ÷…´µuMdo…D&bĄŕóÁ—<<>ćc›˛®îät$Nf§ÓăcŘyä×0@4BBwďÜŁ»7čÉ“=vÜ›Âsň´ÂęgjF;;;" ‡¤Ł÷îܡN·K=~ż˝µM­"1’ETÂŮ–ŁĄWŔŞŔ ÜrźŇĄű—űß» ]FëZVýŃÔqá\]|‡Řď®:pô˘Ü7‘ů"GĆŤí *A5č‡ęK±ĂF)×ě&éâ/xŰśăçĺ1_ŽC<{éĄÍęű>¦+YÝY|SZ˝ÔŤ\í*őł‘:üá Üăű»Ďź·ěöŠO‹3Á'ŢŃôö§aߌrź7oŢĽyóćÍ›7oß[%U‰%ý`í\ëPM›ť®řäŔ«fÓÉ}± đ mň7->î˝vX‰Á Ü9K‹g••šµ%2ĽE˛Ď«™Ş< ˛¸t>zeź‹, ʡř‚T[&Mq|ÄXÚ ĆÔ¤MrÁâş˝ž|?;=%JfÔëo&>/H Ŕě` ,&SŠ“ul{J*!Ţdŕ¸ŔS˘´KÍ,Ł&Tl’DŽÇ˘ůlľPÇ×jňţˇ|^._“Zîˇ*厼–¦_ˇÂł ŐÝUMU…Ď©•€.ŁÄ×7kN ËćŤFC9'0F`ž‹´\ ěs#Ë1yfľ‡Ň 6'H—†©(Ř s—žĚś<@Š;Á›Q*ćĆH*áöi Őçâ[k RĆ˝š=šÍ¦Ő}TÚtDr QÍBżňFXĄ%bŠj#uŹ@RŞJkä>|V©ŠPćÚżľź¤Ńjµd˙NÚŁúO™ĎiäB˛D­nŁ_ĄrĂ8€¬ueJy–ŕ†ó‚\¦˘śÚ­uCá>ÉůóLçć›VIŔxłIË,{ޱˇb*ă’âcÂE^őŻ!±TpŰP\P3ęQĐ˨“çŐµ¸ë•4lĹâşQĂás1N|R4i6H+5$¨9WiăjjRŃęPmRžLĐIfé]SC#I›ĺ(đL[Łľˇ!îcŹé­9Rµńx“P”rx0QÄű·ůł¦˝ęĎŘŔŽécÖ=7xż©ŐĘ‹t bĘy›-ś*âOŁK7šk´5_N†¶LącÂheŰŢ·ţ-䟼J(iďČ(e a$®°!űÍĂ&•i(Ď\›Ü‹ÜFcJ䬅ß^§HZfśv;9Ą péĺş[ qIîšĚ3ÂĽµĎ‰Š¬#ůŃÎM©•şîNŁ(ćR§Ń2Č›7oŢ.3OüńćÍŰ·«Ě?j܆Ë÷;łB|Ţ>/>&µ&Ż2ń–Ipqá1/ĺźżě„ë‚ ˙ć •¨ß$i D ućۋެ&Ł ň¬ÓÎ{!ý#ţdxrHi«MsžtÇ<éŽčtKš°Ó5žNEVÎĽ8$ĺbňlr>ŰRC# ‡­Ől Ć‘oÄ! 3Úˇúcr‹C1‘ Y6p§×ŰÔ­­I9&}®ĂŤťŰr8âaÁ~D®Ŕ‰˝uó¦( Ą|Üź˙Ł?ŻH?pQW8ą #]»~Ťúk}9ßř#ɱ )\�H˙µ{c—ÚÝ^ĺčžÓüK [ŃkÎxŇKŽňUÔr4-źălÁő¨'}NŐŮ.şKÔŮďÎSŹ1ĐEšY‘A^ôůË“�ŐžÚZ‚×ĐĄB÷ŮÉ;Çż(ç 4,˘šŔ©Y’Ξ·Ţ¸TŰů%n÷×&Ć\噼ú˘uŠ@î·X!Bk‹’řß�TŕśĆW+ř'şŞfÚUWĽyű¦mő~]ŤXöv5;/íăEmąú»U˙ţ˘ßČoŞ?^4×s$ŘŐw?~ĽyóćÍŰ·ŃÎóWëßyóV·Ą@ z@”|Nµn]- V_&Ő TZŕ­j^׌#%X4í*!$Hj.{ڶźJ‰¸NřˇZĐĎĐB§ţľ˛sć®ďšU‹ďN…â%Ž Ôů©ÍVEÚ(Í ČÖ^c,Ďpě±aM‘=a|!jt„¬łDŚL0˛đqČű4mޏIýSëĘ$ĘR%’ZyTWY­ąëWM¶ßĎi7ÖŞ•ýĄ/éĚî¶­€*ĆR ľcÎľ(<(źhU‘ĐäŻjś+ŠSKP(CSÚě0¦i”«D$ú1Há襺ş2±f…»Î@î Sc!·ÝÚz(¤”*6ÍŽwĂ-XNä>C»6Ű˝eekŞŹ«LĹRË÷é:^iúÄ0ě6K{o’DhS™[Ő*˝THç‚@Ą‹~WĂE}Ň1b;~\yř" ű:äSńgAä>ç:ńźAŇ0µ˘%•e „qŁK-Gł×R]oőĽYŚ3> QŠ+CĄ´«"˝2žĚ¸Ă P´oqŰ’LD/í«%Ĺść:—|˝ŻtęTŽĽ†#âŘf‚Z ¦KEu†éÔÔę·˙eżńîjUíµüÁ’E ®ssu\©Ú˝´‚Ôţµ•©|éŔ]okž]dv’f$çs5tĘţčG“fĚ}şü,— N}ž®ÎĽ·ĂŁzć©%âŹr«ˇÇŽ_w­ úEP ‚ĄcíN´Şösö^­µ•ÇĽyűNš'ţxóćík1e'rWqtßĘÄM2enfüç}QŤ_fél5…ô.9˙¦îhŹ‹ż}‰ŇT Ń' şěŢľCłímű9α|ÎłśfóŚ’$–ý/-S"^ Ů'´©†ŞČ$ŤhźB]rA`óG&˘A‡+e©]2P°aĄ™ó\diEšVS­ě@Ŕ l˝n×D pýŢ»{·rB+O Ć?ČHN](°˛·×vvä8vsk“żďäíK-Ú©łD s}Ć‘;oAôĽ÷î3­WK:gş´BTK.˝KÔůßźKţŃőréĘmt‘hIňt•`riŃőú†f˙„+}BµÉ”s޲®euÔŰą›Ő7ŕ«)‡á-Śş|÷¸ák•ů±w€–UŢ?}ďsź7îI&™¸»;!\‚'‹…ěÂ"]l±Ŕ"aaż� Ĺ5Fśâ2!2ÉL2îňü˝k]_źŞ®îj»öîó˙/éą-ŐŐŐ}ď»÷Tťť3Ä˝ß�$b8*?µxJL5[3%XD*ŢĆ÷ż?�U>áÁ´¤ďůRíŻëA1˝/0kÚ=¦g(†Ĺ(z=é·HĂżŤ,šäßTŘňďfť;kW?«đ=–rňą:L|ř>Â÷l¶[ź›T>îü¸ëŹ%fűôŕfřŮ'QÉg����ŁÚ_ ó7Č´3bŻáţ¦Ů¶]Âa¬Ż*đŰ7é0íÇŔ~˛’Ś8Ű´śz¤Î+¬ŹHŮN?^Ą•±\ˇŽf˘ś¸JXŔŻľŔÇ SÔŁ"_ࢶĽk{¶)•Ł™Ipôîb¸ú XĚż`łůDSEÎ —ĺ~źÄ= =Ňu%kĺ}a‡]}²¨xËŠÝżŚćÓĐH3Te­ňĄFÁjá`%ö•sV‘˛SᛨĆů÷Uâ ««S‘±çŘńëđx´űŹ9~B†ĐÇë˘,S¸“r#i?e"÷“`ëÄŤÚ�Ö@ř�X¦ŇY:ąEđŐĺLa5H}ŐŽ?¦ÁE9m)¶=~hExm:J@ÓH łg;ĎĄËżŠ!äĎd)uŰÂmźv@jáŹ?¨¨®gX†qĚyÁ9Í–ž¨×ŔˇČ  tHşűÚ::üA'ňËšÎ8Ý–®în2g¨ĄŠçĄű|hO±Ď[ü±řá€€Ł•[BńĂ'"ľhrÝ™!÷ď˝Ĺî5< ¨_Ý~Ô¨‘3XÔUoąMÜůSź§éŹîĐ3OŞŚđăŐÝxŹĚ߀ľ‡�TDś(?‡"\&ţtý}d†,7Ź…gEVÖ´â<Iż3Ú±¦Ă˛›‚›Rç–•:622âÝ7_›ŻĂ" ™Áđ¤cŇ`–•:.gľĺŠhŠ9,«ĄŘµĂB,ýĽLP±ö–j7���PŠQÍOJY‰‚Us;,*ú»™ÉQF0˝0ls=˘vąiÂIA¨2‚…+ţI‹4Ů–EĆŮ_gËČß·Ű2šG0úO0ÚŹ¬žDÔ>Á1¦  { ��¦ńc/ľţ'4QJ—·¬xÁŹ©í”Čóm¤˝t_ţůäm{׳´oǰ‹*´‘&Î/�¨5ţ��Ć ÝgŹó«•{~MÚˇ+ Ő—ă(4™ ő÷÷S__ź »ÉłŐ;Ú;dú¨Ľ›«—g­łăjďŢ˝*§±aÜĺÝ<şśŞ­­Ť˛Ů¬\ŘůĹp„]G|ŚËpZ)NQ%ëpCá¦Ň*‚ —íá2Z-.s;ć9NˇĹm-m¸ŐćÁz.¤VšĹUi㦠¤ükîíéĄí;v(ÇĄcđňsjmk•3eä NAČ{WN25k…źçđđ|^ŤŤ nt�˘ˇˇAů¬šššťcu!µľ2re$ ç}ĺ÷ŻYć—NwX&cf,wüĆm;׳˛dŘŇžžęíí•ŃŠtNdNł¦"©çP(¨č ŮlF>g]–ËH®%ä`šţ[`ÂQ/t„Ąrž’/x2÷ĹO’•#i'¸EÁçÄë Äá™6ç ¨śŇŮLÖËoÎźCΑΠ῿¬łĐůŰĺż[ŽţÄĎ/\>çG¨r®Ł„pKůůđ÷N«łČ<ó…`jB¶X Ôň9~_˛nXgK~~ůšüť–sóŢgł9ç»dX¦ďjćďéü·ä÷/ÉĎ…©óîŮ6•c ă*Ų‚Ż�ŚÚ±p4°Ą….ĺiĘ˝v±íRčHvZ`c¶MŻÇ ME¬“.Ľ]J˘…¸|-nC8şŹ�…Ż_Šr<ŚY% ± ś6›†ĺRJ,A��€RŚVř#ë°˘v‘<ěFëÓd˝,źü»gÔ4Ĺö„˘ţ‹YŃ&IüSŕĎőq>Řś®‡_S±IĄ]ŞRáčh?ÁOH�¤ŞŠ€Ľ}˛±"63��ÂDĚŹ°9đűxÇ‚˘@¤-Ř ‹~d;;O‘ÂuZĄýĺß�`ş�á�`ŇâÚ1µ«/˛a 8rN˙Ô?0H[¶nĄ ÖK1;Ţ—,^Bsť†hń;®x}Ë–-^*mT±“ťěű<hhH ‰XPÁtuuÉýęţÔ9|ŚË,\¸Pçşuîq°óž…H[ťvq{XT¤Ďçcş=Z¤áT|­ń$ E ?‡tśđ˘Ü1˝{űč©§ž‘ë|ż , ą¶`±ř'ĎŃryy˙2ĘŹsĎüĽvíÚ%Ĺ ň92;vě ááaęîî–Ď2eůŇ™‡ÜYř=tŢ·…‹ŇÔÜŇZäÇ˙śŠóվǾóWE>b1Űúő땸Ęůüđ3ćgŢܬҙ1,řa ŃřsË^řyry1ÎçsňłĎď „ń~ůĽŤHMr=ey•bŹÂŚýN0E…ńŐ±`'iźmkÜ7Io»śAwţţňÎýä`yÖůčí퓝˛Î®”óť2@Ű·o—Űóç7I±OđłćgÄĎW=ăfąÍźQv„ó3›3gÍ›×(Ďágj~4řď^Šłxö‡ł=<<"Ď—9Ĺůą.lsŢł&g_–r˛ţlóuů˝äďɱHoöś6çúmTágW>Çł¨ý÷<�c†ůET-nÔ)$QęĆćw$ę<óáď >®_uy“8G]Ü@Rą˘ł^ÁF xŰŚ~Tk;%Ü.m§q ®˛đÇ*ú»4¶v€vęß\¶őľŃÖ ���$áÍÓ©’k„mý;'Ü(Ë@gaFa ĐEhć ?é':3?%ć$Y–mpY‡/äa1•rň“cĄ{źŃ€¸Ç�©±TKŠŰưÁ��`jRJTc }Ěc–ŠĆcFâ1…=%D?äN˘Ň§©˘ăVxg´Mf›�Ó��Fą>4iߌaÂN<đÂ"=ĐŔ"  ë×{ǵ#Źh,l(„"qđö3Ď<CkÖ¬ˇYŽłżŢ�±ăťE>:j X€ÂĺY¨Âh1€)ba�ďăc,ŕg‘wŁ®°#ź_µČG_źËu»i§ř_oŞÂ‘‹::Úĺg…ź wXĄŁő÷ôÉ&2jŠsśź8đ:?sítĺsµăŻQŠ&|‡¬ţđóÔiI&„!oEU˙·ô÷¦wó3e?ţ ńóŇçpä§p4ަ¤ŁYńłârü¬ëęëdm\†Źiáź7{öląđç2.µKIcĽáýz<p"áż5ŽşĂź˝Ý»wËYüŮĺgŔß*J’Ů‹ź?cţ[×)>ÎŻüYć÷‚ŹłhHĂuß9:âŹcĘ”9< Î°ń[·qăFęq˙>_·…ß뎎.ő�‹…UŞÉ uš+ü`¬Ś=ŇUł;ÁP±üt~9?˝Łţ=âżQ3ŞN1qNäćäá„ůĎf]¦¸ČD FĚH?ĹR_Eś- ×óÚ&’gf›eôł0ź‘NCV¬ţRÄ “âÚT,µXřüJŻY.I˘)s0N?wý=_Žŕ'üţ•ş6���G5<1„•!0ή ¬č úr;‚ţÓ›ŕg(é׳kUÁ€€]ÚŔ˛Ľ+đáĄ]hvŁ€t!a{"‚ź»®¬AN���SŹ„~·)ęŃŰÚŹ…?ĆqÝ÷€ô>+X_¸.ł~��€đ�0¦hˇ‚ď`Šó/[®xYhsÂxNőĆK9gę”;ě gç|>ĎŽ1›věÚM˝==/°0¨ˇˇQ–áHĘyĄę`gÍ–-[g/í·ß~˛<ź72ÂiÄúd-.ŇłďY8ˇĹ>˝‡ëP)–”óP‹(8ÝRsó°,ĂŰ, ŕs9 ×ÉpYŽĆÂíéěěô„F5{PUă;V+ ágÔŃŃ)ó°s„Ž6âůěś}»vî˘\&K-­q¦I¦L’©Ń8“ólTÄN?&_-™ji8ĄŇ¨™âP”r÷Gl*hµozl¨&rD˘čGŤsIXlÂ’ĚujÉČĎ#ž¸0§˛Ňi|ś*éTĘí(G.˙Mô9źwţڶrä$çü™7#dUňŠő]J÷kśúU#”ŘČ­[węřoź˙mÖ9węű!ďEămS\ĹωS ZVFţťň3S˘ź&/U`__żüĐ‘˝dę.ŽrUpŁąíŕgŰîś#Ăě Ë‹¶sÇ)DRśšd]ś:ŚYüž:owÂ-ÖVMé|Ć茂KŇL–`ťčÓ‚ %"Bôgµëč6Y7Ő^ů0®˝®ĺĎö2#……DI‚-´QßCů@[>f ” R č¤¸ÔY‘»pۦĎçď4¶Mô1ý”n,®ŢČlµgŞ<q˘%3µHÜ5âÄNITRÖ<G_7Ňvů§Ľ´h½‡Tż÷"0 Î&���UPĺχďěŠ?–$zŽOőEc<¦ ĄŁţřëoF—wíŐ´e‚!S~ ]ż>W辥ýG_S–óÓ ËGIB ���Sž¨˝ţÄ>n™đ$źHÇŠFů‰›śeQTô“Řľ2ĆM��Ó��5Ăś]S˛lĺ†O%m¨ę ;ĐçĎťŻ/ÎvWç,Ę8NtN‡ÔÜÜä8ĐŰ<‘Pss‹t¤sYvŕ§RĘkoď‚~ĺsřV•�`Ä›ůÎ粓§ĄĄ•ş»g{ްąsçą)şx B9ŲٜL±ÄâNŃĂÎ3^:;»d›Ůˇ¦#z(áĎ Ś’ŁR45”íŔ·Ľü=Őš‡!w%©a<)['jlh¤ŮÎóá=śÖ(ë<¬ŚĘŁ ő,�ÔÔÔ(Ĺ\†ĹX,ĐÎ?)xh¨§‚-…Ó!qš°–ćf%Ĺunr}ŤŤ R(ŐŇÚę?7ü±ÝW®1NŢ«y3ň.-ó^­’O'řśBçXqÇÝ­ Ś÷REąÉÍÎ}óçËvž…L}××'E?ś’‹źĆdD)çYĘ6,śŞ«3Ä<Îsts|Ľ«kµ·uHQKgG5Ô5ĐđЬ§Á©cüş|%ĺź˝:í ĹâÍ´ýČÎł©w>ŁŤMę; ŮůÜěłß~RŕĂźÍÎ÷ ‹tř´8ó Ť)̖ϦĄĄÍyÎ*ŤKڜ͞=G~7°P'ăüÍŹ Źx÷B!ď‰ uôţě3|=ެdŢJ6›§9sć9źçfÚłgŹ|ď.Z$?ß:틼бDˇD^V‰gZţQ/"»;Ŕš˛üp·É"+v˝ču-®ŁCě—-˘NµĘß ZȢ삜ŚřĹżGZäRŰm‡y Îí^ďĄ ĺża-dáďů»fDô Ă×fűEłl#đůZ”¤Ĺ®ZśÄß ĽÎőęď˦EMáČ4Ip\ž…Ł|=˝Ď»/CPdLéÔd\ż>Źżą.¶ôď»RňwŕÎť;#÷Íĺů~ůą¶Íô˝0:Â#/üĘuŞÁzÝÍť;×űŽĺó¸ťÝ~®[ A#°€»·ż_Š6ÓŽ]ŮîÔÁ©)úűúeJSťúËt’ĆÍ4/&Ä���’P"ŞšR§łQŚBTaZDllSÔclâĘAĽ'(�Š(8 %×C5ęÚ–gă©1 ËŠÚ~^MűËLóe¨ö}Aě/��ĘÄN6˘„±ĘÁM1ÁŹ·/,ú ‹ýő&µ5©ÝdUď_��L~ ü�Ś F_>´ż’ŮŐ%ŽSm`Gé1›Ĺv1,"ávł3˝±QH§‘ŠčŁ 2Ť—r–©Ü*µ„�vxńÂçs«YH4gÎ\ąŹëĺTHÚiÄŽ~ýčsTjž)ćáC,váW•~L=.ßŃ1,ť`--Í*zMŚť©'úŃ*Q§•~ĺTiś2ŤŃ3áůٲ#ŤźIWg—|něÓNIťŞK§Qb‡ż/fz*~f­Í-^ú˙}i’ĺ›bÚ«ţVČ`1÷Ş@T\y*PÍXľ#˛văo“?3úyđsc1JÎu8ęô(*UTłÜ–é˝\śl˝S‘N[ĄÉťťňü™•Qm ¶«XŢ3˘qŔŠŮĆząŤP˘!%ü)HŃŹó‰Łú:çľmůŮb!'đłTéĎęĺóĺűovţ9-GśbAVőç¸ EgŤŇ9/?ŻÎzÖqó÷ŠŮ±ăÜt]:-ŁS é7”ťŰ,c‡4×™Éd=a‘ަS~Ői‡rÉçV^ÖßQţą‰˘ `°Bź8Ěß0ţ>äżEţ;–g‡Wâk^U Tô—ş:ý{/hţĽy´téÚąk·L5ȶæMi–cG°XsóćM´b˙ýi玝tČÁӳϮˇ¦Ć&YǢE‹¨§·WŠ5ů»a×®]Ô5«‹–,^"ë8č čá‡qěŽVy;ś:8ťăADĎ®y–ć8v×˝g÷)–a´Ž|¸·g/µ9mQß}őŇVY´x±<‡Żłwo-[¶Ôißfçůřφ‹O.\D¶ó=ËÂ_®;›ËRSĎ<ç~Ů&ضu+mذA §Ď:ëLYnź}öˇ?ýéO4×)Ă͸ľścuvvĐĽůóĺöóĎ=GCŽ-'E?îc>ě°Ăhá‚…ôĚłĎЉ'ś@·Ýv»Ś’6oţ<)ĽěqîeáÂ…4ß©c—óś9’·‹…>,ěfÎ:ëlşç÷PŹs_l+ž~Úi˛M*‚ىr}[6o‘pŽäĆQ!»ś{•ĎÉ©ăüśO7Ýr‹í»ďľ˛ŢVç·`őęŐ´sűy|M~/–/_.żűą~¶Y8Ą)?wn7Űź:•$ŰŚĽľeË–2Eg���f*Ł6­KŤŐÄVK×YI? L7’BÁý–»[Ä‹Üó"âOb$u›őűéÂâǩȼAŢájCi��ÄŽI&LRŚFŘ ‰}Üsă?rf˘Č>˙ńőÇ·�0“€đ�0*’=ĹϱR8ř†‹v�y ŤěÄOµ¨h;%dH»éuT;gÍęrgÇ×yłůŮŃŻţj¦ąź’C×Ăxv˛3Ś÷łG§őaÇLkk‹˝GGŕH"|śëć4ěăóy]ףŤ»¦f§縌 â8âĚ”“ aäQ—Ű"şÍ÷U—NSşĄYĄę2atdMř93: ‚~ü\ŮićĄ>IĄÇ-dIKÇ 1ŁźŁś=ţS$•V§źŘçĺFáŇQôç™?›fZF=w!Ďzż~†ć{¨Ă·űŃRŢ9RDä~f«ä9!Ď0ĺ¦5ÓwĽ­RŇ©ĽYun$ޯӛɨn:/s`R‹~´XJFňpĘćÝčTúz\‹Šäsĺ÷Ŕýđ>wîűä6V �ägß9ŹŻˇ˘YŇ)¬?ëü}Âet$‰ń$•rşĄ˙=oF�Š?§š+ú¸ \’m÷{Ę0x¤«Ŕ�É2Ćwˇů˝hţN™ő›ňĂR¨ßĽ‡ŔsţŻ÷Îěîî˘#Ź<‚ÖŻß@ ć/”ŰO<ń}ôŃR@xÝu×ŃYgś)Ó˛xeŢÜyň8ŰÇs¬Śč6=ţřăRôsÎąçČ2gśq†Ś6sâ‰'Ę{řîwżKmítĘÉ'Ó3«W˲o|ý¤0eŐŞUž€…*>ř ü>d!3ż°‡Ĺ*ëׯ§úĂęiďŢ˝tđÁÓÝwß-Ëę{äó:÷qţyçyŃy6mÚä ˛ą˝Ë–-“őlݲU źÎ=ç\şĺ–[čĂŹ uĎŻóD1:Ĺ"GâsYłuË)ÚŃ×cX�|ňI'ŃcŹ>JÇ{  ÓłĎ>Kgžy¦ÝvŰm´ň€•RµqăFŮ&T>÷Üs´téRzę©§č`çX«ó]ăŤ7ŇsüŁŹ‘Âź5kÖČ÷á€ßĂsgĎ‘ĎçᇖόEG+V¬ ľ~Zşd©l§=ŮyĆ,xšĺ´}ńâĹ´ú©§ĺűŔ×âĺ”SN‘őr4)ţçvň}nÝşU ;ůŮďرCţţp[Ż˝öZ ř��(ލŢn6Ĺ ĺ |"Š3‹,+fVzyQBÁ%lgS\„˙0:JŹ˙xç1†čž§÷ycJ/�ň?(@˛"·HpśĐ$’F–ő��¦*ĺŘÁ2Vüń1ŽgçXV¬0Č ťo…ĹA1׊»Žß˛h9�ŔôÂ�@U$9ČŠžCVhP(0 ‡&K醠X†…:ĺ;äUz íÜO»)sę"miÇźvŕë)\ ŠdÚ#YŽýV$u†®GG`’řm0"ţL*rjÚ®`ÄÉČ:B‰ vŔ‘*ë·ü”$¦ŕD?w3‰ź*Éx®îő´#e'Tú’<ńŰaą"~ľĘŕŽR Q#Ăąöďay©@T§ÁLąÂh”)Č’”´˙7î™Nnó}Đ™&ŁyÎJ‰¨Ąž@Í|dy˘&!ŁSčH<qĎJߓѪř9ËĎž®q9N÷"‚ĎŃ=WG`Šë0Ĺ>ű>ż[¤”U¤Oаţ`Ě)Ű( ţŇYEZĆŽ.#…Č]ł¤¸„S`­\ą’?üp)’9öŘcĄd˙ý÷§ŢŢ^Y†…4,*ŃâN‡đw‹Zřv¸‹QXśĂ˘d®OG<äóź|ňÉŔýňw—ÓâĹ%K–HA ‹uXĂŢĎeź~úişä’KdŰř;‰ŁűD&ÎŮfíÚµRÄĂ‘‰8˛ GÜaŃÍś9sT„D÷{ŚĹ.9ëŰwß}e9Á…G|,xäm MŐ{ĂícQжmŰä˝ó÷5ß' “ôóŐ)ÍxťŰÄiąř{”×ď»ď>ů ř™±‡×ąđđ5YĂ÷Ŕb%n XXÄχëár,şÚ´a#F˛4Ü?@¶ck¦śknvŢ«ăŹ?^F.Z¸h!mqî•oßgrńýń3ĺgÂĎšĹ? ‹…¸~~.űşŃŕt��P’QüTĉôz±4”ńýŇ2€Ó ůůŠNQŃš]‘ŻŃÂJ�…EFdÔyW1Ú“üG[ ��¦ĹÇq¬˘ĺMŹąíGđ‰Ä=ˇzJ‰~ĆzÜ �0ő€đ�0®}îp_Ú,cQ ¤M$ĆÖŐ+ë.ÚWNťĂšpŰTÔťF)ńE9éśŇQ6t:ľĺ|÷…@\F x©(*ęţŁĽS?§ńĐ)3‡älvvÚŮím2ÝD*5ţQ;J‘ôžÉáá®w$´č‘ˇá!u@‰­ę˝g§SO©Tϱ¨ÓxŐËKŞvĆń6;ń8ň—á4(ĽźŰČďŁ#·ČMdË÷L :tý™ł¨Í–÷OÍHJŁć]2ć3Çetj43Ą”F§[ăçŞ#Ćčs¸.v&ó6?o~Îě Ścüű'VÂk™g»Ĺő !?s ;î8#ŁRd32Ą—j‰KÉ”^ TôŞçóË÷¦ČPÓî8Ţë'zÜux_#¦ÝďÔ‰rÂś™Ťî–Äh?'čę(ýeŻś�ÖD|™Éß?ŽÎ32śˇĹ‹—HqÉ3Ď<#ŁÍ°x†żcX$˘í.ĎŰ,La± ŁĹť,a{†Ź±€„÷±ř†Óg±P‡aŤNĹŻ7ÜpńµdÚ@§.ŢĎżµ,bQ oł­ÂmbqŃwÜ!Ĺ:ĽŹŁ×„aÎťwŢ)Ďărü[Â6×Ĺ‘8ÂŚhćÜ·‡ŰŔíĽţúëeyÓp[8Ň XĂuňőůŢĂđýţío“ĎÁë|.źÇ÷Â÷Č÷ĆíçEGÔá¶đ˝ßzë­^zQţ<<đŔRđĂía{‚Ër˝Ľđ}p„>Ź@üşŃy߸ܰӾmNŰ˙ůčcňŢzhďž˝´yëÚĽe3­[·N¶‡#é6©”g-˛],4âç®ŰĹuđł3ŁĚ���±T9ŹĄÁŚÖŢ*HT$˘O¨0iŠ18XnÔä¨CÁ´_Ş> Ě:4÷‡@^ÝaY‡»n~fŁ˘ 0ţ��ŔT ”=9˛sÂëft˝?N d™çĹ”-*úI®o”�Lo ü�ŚFż˝Ś˛VQÇďŰ%eµÓwĘë4^i7ŇŽiObFŹŃ‹>¦ëđ·Ý¨ŠŤŘHł$Č˝6yÂo bŠŤ!„]©áAAs�‡ TOpCQ#V Ě×$Ő»)R‘kŇňCŞźfd%)Ć"?eU ń‘ŞŕĂ^ áýC޶ZÇ]xP¬T=úy0^Ä™Đýé3ZĄSŻiQ GRš<TůÍ0ß–ţ[0ü(ľöđs×çĄd ´tŕý9äH^uî¶ź©ěúyĆňýýDO)O°c[ţą�ŚšRßĺ–ž¬7+Ź~¨1ćĹËŰŰ;hpp€d¨ąÄňÜ>Ë;m÷®=ÔÓÓ'#„ {â~ǢU«Ź=˛eËÖŔöŽwxç¬YłÖŰżuë6şńĆ›)“ ”ç´cţ=ŕ…Ůź‹Hď¸ăNO4š‘˘Ç`jŐ]Î=íŢ˝G^ďąçž'?2Ďó¦··O.ĚÝw˙]ľ®]ű555ÓĽyóhddXFóٰaŁ—ć3ü =00H>ř\ׯúzşý|ßk×>ďÔ‘Ł8îąçŢŔ=<ôĐ#žăIŮ}OxĎđŮg×Ę{Ęç ôÔS«e› v^žoK%ňÝyď=^ůő›6IˇôóĎ­ó>y,âĄXĐeá‹��@Tűk!ěgšýj˝-ËŠŇ‚ęŔz©ß0üĆMIʱˇk%ţa}tOŘC± 2ơÔ1wňĹ } JÝO­Ć‹���Ś-• (Ah¶iJ ~Ücń>«d]‘vA0 ŔŚÂ�@MwܵďL"$^đŹ;é~]#A”ś<3Ćp[Řq%D+úQÂ˙(N>p:句Ľčá¨)š¤A%®¨—Ž'•†ŻÇ)´¨BŠb&YšŻrĺčç`®ó˝ę2áóu4źręć}%@—ç)ËOíežË§ç *őš™ţĘ*ĄXő`Žč~B«1—,ýľ‡ËÄť5čôTDnŠ»läł«SÖéútT 32G@P'éDńOůâ@šPôw™»ĺf vˇ„~Fî~ăhATÜçG>ëĆJłS\Dݧ?—üyᨼtŤśRlŞ| ČďuýjżóĺÂťÚh=dÔ@eđgNąŞŚcf0y-ŻŚ>ĎűV˙!\yŕA´Ď>űĐ?†ú{cË„…BĽmŰÎÉkŻYł¦d;Ěh[Ł…Ł*áNr],narąĽ·ŹS¦r3řŐw΄ϴŚ×ĘŰĘ‘Ť8ކźS°ŢŇđýé6ŞóíçšęĹ2Öu[´›)ĺ<ő|„«ç˛•Ć[ €ҶeÔL„™â���Ć ł«SÉi–úń2Eq‚ź¸ó̉7^ÔÁ¨łĚ ś|5ö«]čLYĘS)WüĆů¨ľ�Ś:(4!-,˘ĎvX¸n ˙���`ŞPlÜ$VP¶]Âëá1Î"Ç#âž D?‰í.b“�¦ţ��ʦŚ>¸[.:{'n_¸Î$ç­ź˙tb ‘tšE:ŞŚ=čč'a”hD­ËŔ<݇ĘG_'ťV†âž?‹~&_D•ň‰ Lz­)IUş×RklŤ%%^üŚ]ď\b…AGqYźYSÔ&Ęs­Ô0OúôŹ·Í÷E¦>Aá?3rgG©Šěŕ˙ťđ'z™šąůütä żc¦ž…˙nłÜżďPÄź0,úŃÂ+ (&Š’Üž2Ď8ć+p$ô;Ü_-ŢąEÇĄ\¦Ü˛•ÔbîÜ9ôęW˝’fí,ĺfíKűͨŔ‘eD0ňO-~eF2cIô»Ç ®ÇŘzOjélŤőÔżu‡ŚâÔšUÉŤ…Ń˝űćo˙ŘS���¦<˛ZĂźł˙W¬jlP•RŮ /0é)6>ᕉ‰úX/"ţ!ŠŹx'�ňęT+AáZŚČ?UxíŚPBü��`ŠPL�:–dŰ„Ĺ>˛VĽ¨g´˘Dű`ćá�`ܶ‡ĺʦ°řÇHůeÚJ4±Î*nW}}%MÖ‘iŁç˝ś_W%jşŽtšÓ]5řçV8FVECĚPM‰sŢŹ%„?qâ5Ąé°â+îY—I,zđZćF¨ Ł šó•Ф´ą Ł\Ď-žć«ÔźÂ¤#ĺwřô>µ[Gy«K;ĎÍŐO%Ő~¶Óbđ0ôć}ď'td €Úîh'CÄ!aąÂ ţ»f{ĆÝV§WţÁś;w.]rÉ%tŃE/¦µĂmôÂW̡öÜnZżîyÚ´n­LSe2Zśiwń˘Ľ‡}ĘI'Ó¬3Ž ji¤T˙=pßýôÜ˝˙Ô1¨ZĆEH ��`Ę‘r#“ÍOD¬î!U7nż>ŮŇ@–śř•ŕP‹8ł`ÜLěru¨¸řǤd +ĺÇ<Éĺôţpąŕ5Cý���ÓŠrŁé81űăDAV™‚ăü˛E? í†8€é „?�€qG÷«Cýů±H÷%wŇ„SÔ˛ĘkâhlŞíFšł?:p¤%Jż3‚$ÜýŢ€Ťî=Ň:·Ťăá¦ÓNëÉbóĎ´ľGŃŻ–iö0”ČG·Ó|ŁMQŕU®ăËŚI? Ú±@Té·qŘáŐŐŐEÝÝÝŢő–.]F/yÉËčCŁÖPnďfÚç čńgž˘ăO8‰.\čł)›ÉĐskźŁ­[¶łgϦăŹ?žvěŘIőő ´xń"şí¶Ű©§§G–yÍ«^E÷Ţ{ť~ö™ôčcŹŇăO=Iç6‡SyůűRHɹЮ€iüL‹˘âĂ–ňE“Sť"Lß•Žčď[|ęËČ:ďE4¸h6Ůi‹RN‘ĹËOˇ]Ď}śvîŘAiaK—W:*y }��`ępę©§JAÎđđ0qÄtë­·ĘÔ•gź}¶üÍ߼y3~řá´gĎşů曩·×OĘ這ˇˇˇ˛®Ĺ6ĆG?úQúáH‡z¨Śđúkľ_ÖąťťťŇŃöăĄ-ćçEč_(9äÚ–ŰÁ¶Ęú™*=ýiG5âFDŁü”�‘ȸ®úĚ?˦Č;7Aŕ��`z;ůłX™"bźŕz‘rIBźb˘�ŔŚÂ�@MIv›…Ęyâu†ß9:{˝íqtHQę“Đ1ółÇ}•_X§uŞîpŇą„ÂűkíČófX’/Ę›H0^630żďĂŰńť`Ş ř|$~Ľ߲‘Ç]a˛pż7ŐŚ`;Ă‹ťpóçĎ—Żąk×®]´iÓ&]‚ŢúÖ·ŃA$ťm+ö_F…AŞßÝK™\–ţö·żQ}}=Ő7¤iٲe´hÁBZ˛x ­_·ŽöîÝ+ŰyŕJç ćĚťKtĆgH'!;ăÔÓ¨µĄ•¶ďŮIçź>=öäT×ŘH´‚V¬<@ śvÚzhhjD¦ľE˙¶š"2„?5y65Î_BCuÎ{áKĎj¦ó_řBZ·v-µĺóň¤ş*„?���&ü»¦Ó%łHçůçź§ť;wŇ~űíGmmmŇ.¸űî»ĺďüľűîK+W®¤“N:‰věŘA÷ÝwmßľťÎ9çÔËçďłĎ>RĐĂvEkk«´?®ľújÚ¶m[¤ ŤŽ= Ż9oŢ<jlhLlóe—]F™LFÖɶÉÖ­[e;X|fÖ¬YtđÁSss3555Éë<öŘcň>=‹*đG©~-c�Č2_ý‚~yă^ŔÔ%]łXŮRâµAáÔ\Áô_eô­hŞ/ż äŐkŢ $×��0=©xÂf{%6ŠO1ÁO‘úJŠ~~ř`C0}đ�0f„Ĺ=Úyf¦őŠëä«~®lK‹,`€ $ń3¨Łóxµc¸ĘëłÇ,2"Śď�çX_ÂzŁúFÜđ52q°Ł€ť�,€ĐóĄ«Úăw„ő«Y±ĺUŤ�§¤Áŕ¬S4-Ł-'ćóÍfeş.v1|]ťVă裏ˇ+Vx©üRŤő”jj |sšÎőEôłĎ]Ev굩w=•zśZç\÷ěŮ^ýü7Ĺ48Îşć¦f’ł˙űűčÄO¤Ąű,§źţü::锓©Ńqľ1i§ÍíuŤÔÝÚNů‘ÍÂË2’⯨¶¸é.… č§Ť´¨®±‰RŇvpŢ#;fŁó~×;NÖt!K)çä¦<„?��0Őa[ PPßçlh‹uX$Ăb¶¸ GůąńĆéąçžŁŁŽ:JFűaÎÓO?íŐˇa›€…>,ĽáşĄ¨'.3SI’Łr˘öövY÷Úµke;ăŕ¶łýĂ×ĺ…ĎŃöJć,öx‡U püz±zÁÔ$$ş‘»BâF„„>áč?&¦�H_B×%РĦwŻ)N���f eŠjŠŹé[ĹË”! Rµ”/ú�Lo ü�ŚSŕíGűÂÁÎş»Ç†HČw»ęU˝fÄ�FKĄĄb˘źřŃU [F;MŰ‘ŁzÍ(ö51"ÍTęśAvh¤Sěŕ±Âó7Ŕ|•ëdEŢ;- ¦„Ť—Č •‰˙FÓ©ëŘ ¶_Ž9ćXZ´hQäáŘCű­XA/şđEtý ×Ëj ůĺɦzÇ٧…CĚŞU«¤Sđź˙|śžyćZľ|ąL˙ŃŢŢFW\q]tŃErF~.—Ł_ýęW˛ ##ĂôČ#ŹĐĂ«s…?NýVŠÂn• Ăřá›úŰ–ż+~żĂÂ3łt ^BÖÜŽŔŮůË_hËćMÔ’‡đ��¦+Ú>X˝zµŚŘóä“OŇ’%K¤Xţž{î‘iľXÄ‚žź˙üçtňÉ'Ë@aXŚĂ ~4l„BŢo¦ę*Ćç>÷9Ż>†S—rJ˛8X€üĐCfŞëČąĹÇrÂ.«¸Č€iC)ŃM1ńOřüHô&F�¤vÇ‹€"őP‘6šă?«�€A)aq1qޱ7ö¸UÄö)&ŞTôq4�Ó��cB©őq>5mtđ’-|ݰĺsyĘň~ôBÝéBŇçd<N¬Kčt]Ş€m*v°Č,«ë„ń<n”řÄaYĹCs'×'üT8ás„ ˝đH„ź —çň9ŞO9Ď´Ţ’ßůańŹů› ö•¨7¦Ś·D8\á1%;üT¤:bK0íéľRŤÍD†Ă­?¸ćgůľ·ťň®«·SÄ9›LÇZĘ(I´{÷^úőŻ›ř=öë_˙Zľ^őÍoşmVż{ |#ů<5r›…Z’˙\loâĂ^ODĚ- ÜôçíŘFK_đbJqĘ•ˇ~úăď~KâéÇiˇ{ęlW %\‘Ođ]ł ü�€) ŰÝ'Ěš5kŰ·ÜrKěů}}}Tɵ֭[GozÓ›äö]wÝ%_“~EÂâ!N]ZŞţ@ޤ"HŰIŰýîN{¶ ’ś[zRYx?üÔBüĂD˘˙čóŐŽŘr~Y+rٲŰHŃĎ:„@��0=¨d\˘”Č'©\ą‚źŘí E?�€é„?�€šSL”śŤă—;ÓxťÓ¤RÎ"ŐyĘghxh—<Ąľˇ…´á¤\vúŞ0l¦:ă6@">§ćőËc~ęFí¤´JlO3Š}W”Dß?Ź®¬oióžŤöFü§%\WuÎý/äť#9)¸0?ü}ŻÇü˝VXú«`lŤęzeÜo+‹Śô^ް%ô¶EéYóöě"�*?]·ßv+eź[O˘±‰ ëÖ°—•–���0˝‘¶“ÝÇ2Łüh?łÂŰďíqŘ1 SŹjÄ?L±č?ňx™€ÂÄř)Â��`¦˙˝÷{űQ ÁOL=e]�0­€đ�0ć„>ŞŻ7CG;Y죜ŔiąŞKĺ);Ľ•¶oĽ—fÍ;fĎ;Č9)íÔšr«ÖB˙L5&Ěŕ´Ę; çv{cGVđŚZ f�Ußrµ'ZE:GĹN ¨Q˘•Z‰ÇâLÔ[]Á<ŞCQgů‚ »§ţžçiĎŽ'Iä¶QKMőuę{ž¬`´>+üč4_f4 Č?P#Lç‚!ň‰¤ű Ů1MKW­}’F®±qvttý·‘ŇÍ7őN& ý>4FH Ţź}Díwßý‚Ąşęú}Ôź /j&’��â4:¶St<Ŕ Ďľ†×ÁĚŔîv‰ţcn{űÂźť!("B ���qóo$+!îIÜŃ� ţ��ަĽP·˘hĘwÍíX;k¬ă±IćŚO§mJĄ-ŞŻWÝx;·—zv95‘sś%9çNy"ŰÖŮwŚ°Đ±Ń\Ú"üeĘôá'żj`úSË ž+D”1ůbÎŕ9*-’Ż‘Héđ=˘@Â.ĐžťORďî5”*ě‘ßëé´ĄĘűýíVdŠ€,«xż}VP Ąě·7˛›îËť™®Ó}1Í+Ź!ëÎ?ȲśĂv ”Ät–ň,al‡„¤cÁźśR3żüĄw—ţJ&㙺+ä|ŠŮ���LEt0˝4p4yżĺÇ˙=ŚM˙YF�Ž­©IĄ6ş·+!úŹ&Q¤ë3)3"���`Rň·#á¸UÁţj?Ĺ®�~@ř�¨ 1}ďÄrDQAÁAĄř˛-ĺ@®ŻKą)żR”/ Qfh#íĘ즞]ŹS.GÎ>A٬ă`sśkétJF R>9UżöĎ©uuA}]al$µyą�ÓťäN¦żb…öé<:–Ą˙Ѣç;[Ąj$ő˝žrľ«3TČ RK“MŤőn*G·ŚŮŽp´źŇíÄŚ0:ÔG7:‹X {(>Ý—Ţgét_D-+ʦćĹűQnűĘçó”ÉdĽşDÄA!r!6äţ«öř˙Şh/Â8{m/2«LŰ;Ţß­yAËH“ę.VśÍcŃD‰N¦Ą &bV…W +íîK“Š‚©?ˇ÷@„Ą`LŞ„>+E���@žąSË:KŘî –SËG{bj2ÄÔIiľ"/O0D`šP¶ř‡)C�¤ëTĹă…AcI¦ń���ac”‰¶Ó(?Ĺę�LO ü�ÔoV<…g§Ëm9¸#ü-Wě#S|9 %Ö±]A‡ő±)o娦LnŻăTł)—”É:űť×ş:Ë ó+Ľ>®�H÷‘Ń>OŢAÓÔéĘ`˘ßxä““éů…č˙–e }ô«ĄµĆ \-Ü$Wřă z,)�b1Źü6¦´ŐS]}ŐqÄź´ĺ‰„Ľ�ADh?žČ(|­Ř{±˘÷@Q"‹÷9LN÷ĺ˙qč¨?lÎđëśł_EŰy•ü,644P}}˝q �‚bâfY±1_´ěČśő.<árőł’} ĚÜăŹ!B·ŚíŔ;äL¨˘Äq��� BÔţW$lŁÄÎúlÇf2E?–ůÇű^ÝuË,ă 0=(KüŁ ĆÚYše}(Ů)ZR���ÄPÎ8MQP)»˘�@ţ��Ćś„ľ¸ë$Vâ}śŔBŘ”J�Ä3”m9Ď] šś“ [¦÷Jł@(-ç1‘]°Üq; ä ¬“!�"łM"´�€řŚ?řĐń!8†nĹě i<á ……?Xg±Ź*c“ĄE=Î÷8o75¦©±!í =ĺGGRQßŮĹgďÚN�”‰i”$(FYË ë4_Á´_AŻ·y: =űŤüó’–éľ´ř'P5˙¸t0"K*¨E’˘˘ĆĆF?2V*e4łř_€(vXеő}ŕ·g"‘O?úÁ ˙łQLřc?Ž?���Š1ÂňĆ]Däµý賨ăč3üÎC8ÚŹ÷j¤ű Ř\ „B`ęĄ'ˇ ż^ČĽFrAĄ@ôp��ÔJ8S–¨FbźrŻ�ž@ř�¨°Ź,n&Žą/¸.˙%=k9Ř™ÖÎdˇÁΡ´ç—K‘Jw ˘HśĹvέ+X”·ť%m"!EAľăX }¬@ YŇxŇ ţ=„Đg�L7Â}@łiE&Ů"7ꏹmFâ D뱂ž´ó}Í‘~řŐ0X**󏕢Řh?fÝÁ{@GTGěLbýyŢ?ţ~S,¤ÂűP ęż ýgţ«ŢGŰöP~ă3ÔÚÚJMMMR�¸TÄ®("üáÖ¤,÷ďŔŞüď`4‡ń'6$©­„פ:J���’©ő/…HĚŇ´ß!´đµ—QŃh?jŃ8+ÚZËŠu€ˇ0˝(;úŹ*¬^ĘÇ9Tă>§ĺ|†Jµ źC��9Tűťo•k}UX?~�Ů@ř�¨Qi$¬hß[!‹ú#?*¸ŹD·…ďô2+ꩳ©®"»Ţ¦‚̦˘ýHáO8Ĺ…E?›Ň ‘~��3‘’‘BŃ},2·­H'¸ŹŚmřÔŐĄĽH?2-{\÷wUj0‹Ě_á¶Ćď/=đŹľ/GĄŤ›ő†›’ÂňVUZQ-řa;FÚ(˛LŠ„óž÷†ŹŇŽ_}r«–UzÔ©ü?¶űٵĄ­ś9_Šň"ţ$`ŮĆi”ďSŇűQäŤDÄ���Łd¬˙™öJëÁÇŃĽ‹˙Mü–Rü{‘}|Q ÚŹ9#!V�MD¸NkĘŽţăźÜ.r^’ÓU„=���FŹU­ŤRĹď ~›�� „?�€1')ęORßŰrĎIĄT”Ëńv±Ł+•NÉH?şľBť¶s\E)•R#ťVQ|´¶' ę1D@DIűH€ř�0Ý ÷ Íč>fŻłjËšť!ŠčŁ^-O�‘ňÄ@–—L®SđúĄ˘ýX%î�eD"ř”š±ËŇýąćůľŕG…üńţ(ŐŘDóßđÚsÇoh×_N˘P´¤áOÁM7ĆéĂ”¨YÔFřĂő &���L<cšńÓ±˙gź˙zš}Ϋ»?et"B˘3¬¨~µ¬ňśfá΋Z!0}¨X�äźÜ.ă|«źťRâ!���“kĽěQdBđ�0đ�0&ħ� § “˙R8ęŹL˝eŰr@=¶%äl0Yźă˛o-´c8%Ę¶í ‰tÚ/CŘcŠz˘iľÜm?6Qě�@�€éFR4o=F€ŢLÂő"ôħüňE@–ý¤\±Ź•2„AZ dë0ۇţ,¨a[EéwÜÖ÷č¦~Ôźä”_$íîł^EÇžM}÷ÝLýŹßCą][ܲT\řn+éżź”Űśrg<SQ—jGqŹĄD)`,Ń"4˝V…đ§Ô á��€"Dí’ÚP7gµvµźřŞkďöD?ĹR|˘ýx ‰Ľíŕőŕřšﳨf°®Ôç¤F€ăć0��0ů©±Ť›�„?�€QŽč—î+.ęŹ0śh¦ř‡aÇ–ŚňĂ]ĺ”Jq!A<óśSjŘÂKűΩ˝”`Č÷Ózéu+QřcîS fě��¦:‰ çÉÂźŕ>3ÂŹ<(úѢĺ‡Ü@–!ô!ŠKń�Y&ŁĂ FʶX’ŽFŁţ¨3bR~±p™SrąâźúŽŮÔ}ŢĹÔ}îĹdg†©04@v.ă<¶gS WTä©“CţA^ޱŔî±°Q`÷Lđ �� ¨á­W‚»|ĂŰíOřťËě đ(N}Ą[Ú(ŐŘěętRÁč=r’—/â ¤ř v6ĘOŕ7n&îŠZŘĂč[��d`Ü�P.ţ��*&,îI.W<ęŹüŮ6Ââ%Ú±d ŽęCîLw�±ł÷qD OđăzĺL˙Y`Ýs°ąĺÂź@SîF�`úQl¶l`źb@ä§öŇűĂ‚ Ż+ÁŹZOYî>CôcŠBĂç—ęçƉ�(IDµě~vBQ,/ŔŹĄ3}yú-ř‘ Cây®ăc1;Ŕ¬†&­ôqÓ o[^6°Ď‡ó“Rś­ˇ����Ę%h/ĚçP'Ŕ˘ ÇĹD䱬ŕk¬čÇX÷E?Ćą u'‹•ŔL'©XA���0Ć`,�0Z ü�ÔśrŁţčTîQ˙ůâălJ§-ĺDj˝í¬¤Sj{ÖĚ?Dţ6™‘~Ś`ęŐtžE +Ś ��¦;q}ĘŘč:†Đ'°mYŽ Yqú$ŃO\‰í mP®]á"A‘2îDéß~ËňîH”Dű Ř.!ŰĽ˛'tćëĘXA–!�’ĺŚ}˛z?ü×» 6����¨‚MúŻŽ»?.zO@Ě#÷§‚eQ("ú)ŻąćP{ajúŚ �� Ż�Lţ��jB\tźŔqňĹ?:ĘŹ)ňmÜc±â3 vŻéF2E>I‘}Â)ľÂ©»˘QĐŃ�Loâ:˘ˇMŚĐ'¸íďŹü/řń˘řP˛č‡ČJżŹŃ3Ă(QQ~ÜLBÔąNľYP‚řG–KÉŠX°cą™",F�$/é–±Ľ ¸ qŹEÄ>A© ���€ęI c…E4±Ź{¬ŕ'.jOHô‰úcŹöh.Ś|0FŔa �����¦ţ��Ć”$AöŻi'ŻĐ.Cäc¦ýňš\š:_§Sç{W±Ś n9˝Ź,?=‡¬-,ô‰i¨@Ú �Ŕ4Ţ⢵mEŽĹ‰€‚ĺ‚‚˝Ď˙X±˘? \Ňuݲ1mKj3�‰¸ĆH8ęOŔpŐ;V1ńŹű)ŽB}©żÜk‡@ŞÎH­řÇô…cě–���P.ń6łeĽFŇ{é}aÁŹ{N$µWDČC”,Nô“ĐÎh´�������y@ř�¨ -Ü î‹¦ň2÷kWš·]Düă­»âż>Ó!çşŰ,ŮÇŹî#X‘(?EŇ{%ůËŕH�L7’E3ÉŰáh?ázŠ ~˘ëq˘źâőČW*Ýf�Š÷x»­hÔź¨±Ł^ ńʞUřÓlĹ?ú-rS)‰!p3@n}""ô1mŁMˇöáo����UcŹ»[ăľŘG‹üÄ wbE?)żîĐąqí 6+ÉđA������y@ř�3bĹA/ţˇĐľřGîŠF˙Qçču#ĺ†!ň ;Ş“üeţµŁ„B��0Ő)&‹‚’„>ćvx˘mXđŁŹyűSzĄ"ßÇńéȬ˛Ú@Q\ă!1ęŹg<č˘1Q Ýč>‚xF»›ĘËÖÎ,á§î2Ł˙ ţü{ˇ )"ŇâjßxňŽ����@u$+˙¶uXěŁËzý2?üoJź …[Ş#®˝ö������� ��5%9µWtPčăí Ąýb„ôr ůbˇ¨�H;ĺâD@˛d(yíäh?C�LO’ľŰЉgĘMýżM±Q~ÂĺS)+VŚiiC1đ˘)˝üB^®PËľmŕ†đq_Ô.Đĺ§Çq'Ż+ÁO\ô+$�R„+p¶Ěô^VHđăŐýP#:!����*%Öî·˘VÔđwŹZ}¦Ŕ'*"CčLď¨ËŠOń'J4đcDA�������0€đ�0¦ř"CčC†ÓĚŠOűĄžxÇ;Ăţ÷ř˘ź¨Hž*üź°o,, ß��Ě4ŠGý‰–+¶/,ř‰/c ‚bę mP3\ÂĆ‹íFJŚř‡ńĚ2Ä?DnJ/Ë/ëč?aőGŐćÖ"ýÄ ŞŤ‚����Oy"˙¸€E  ‚ŻLŚčÇJ<ĎQ´-V)�������Ě ü�TŤ)ę î·gť—+ţ‰~ 1zń@ˇ+m3Sůűôş¬Ć%™`Ň<�`¦‘4^Ţźm'Ně#_+ü$ÖIĹŰf…˙H ¬¨?~iňR‰’iô„Łřů9ŹŠTÔ •LG˙ €Ô™î‰®ŕG„?~…a÷XD0X����P;ŠEěî¨(( ~ĽsK‰~ŚëúÍ*eë›ýô �������3 ��c‚) „*˙•+� ^+čLGő‰Ká›N��fĺF?+–ňK®—üÄí3ËšżĹ®©×1¸F…k@DŁţÖJ@5˙RYîů^ôo;HU狀ȳU|#ĹS[ˇ„?����¨QßX XĺÁăž`Ç=fÚCĆţŔ¶ý$ †¬P{„Gč�������€Â�Ŕ¨‹züýÁ¨?‰ĺÜWAAńʉźÎKÄĚôr…:dńEě5Íč?ú¸Ş_ĘÄ ő�€éF9cäq߉Eü±ŹYGé}ÁcLĘ>‹4TLô_�“ő§řDz„ĹGRDüĂ;…gź¨U}†�´Đ‡Ľ(@ŞZaÔŻ[(B"`¤����`”ÄŰÓ1Ćş±ŤúcÔüčó¬h”ż®¸ýÜOI˘ź$‘�������Ě ü�Ś©”E¶/ţ± g®Ü&_üŁ÷ëňa±OĽ�(Näůç(>Ĺ—Ů–đ~Ś�f Ißwqű-JăŰo%úŚó¨t}qŰ�TŽ!ţŃ{Ę˙™yâŁ˙h1‘{]§N¦‚ü„D@ş"ż ŢőDLë!ü���Ŕ(‰5ö­ĐfHčc¬Ĺ81ÝŤňăVd…> „Úh������ŔLÂ�Ŕ¨1=ĄŽĹGá ŠĚý¦P§Ř§řţ H·C• ;ú(&Ň�¦+eEýIHŹ p*%”I¨SüBf)˘ý€jG&4x?üIâFˇN6™U™YIŤhB~ 0íŔ Fůń„@ó÷‡?����ĘÔÄŮď1b pJ/u4Fd„‚b ĐăD?–UÁ}�������ŔôÂ�Ŕ˘]DEâ˘řč?jťBëńbźpZŻđqŻśEŠÜ�ŔŚŁŘwź™ý[ţń$ÁŹÜ.Q‡5Nů đ j…˛WÔjqńŹ”ýX®řGc¤ţ"]“ű }µ€1d\Ś´vnD ˙ľ Č߉ż����Ô“Â*nł §¤ŕÇ??xŚ˘Ç¨čv�������0ţ��jBXĚ<ć;Ó„/ź”ú+|¬¸o«xdx1ßóú��0S)%"°ĘqP˛Ř'®ĽU˘>ßŕ;Şi'�&Ѩ?UbR‘±+ �2˘ ‘k!쉤ř2AŢ._����jK‘¬dUż[:(Ú)*ř §ŘăĺŠ~ †������Ěd ü�ÔŚRâźb‘{ÂĺäşqľHťEüc‘Ě6Š"÷`^��`FPÉą•VżřvÜąĄ?f=Ĺ"%ť@)j!ţ! E˙!Š�®Ĺ\OťčGňŞˇĘ����jŚoĚ'nGÄ>Ćzů‚źh~������� < ü�Ô”Râ&,Ú)ýGîs_ĂQ€âęSű’ýaBT> „H@�€éFµăI§%ď/.ö‰+SI}�Ôž2Ä?D†š'!úQD�Dˇ‘!2 Šr(Î4ě����TK)ű:bĎQüÇ v?ÁŐ¸cĺ‰~��������@ř�ЉÔń§WÔŻ÷Č}Ć9q" ]6YôSzL+D�Ljˇ™)íńTRv”‚č‚@" Jś]RRüŘŻ\FZÓQ‚(dyµ„č>"C|����Ô‹ĘTú[ŢîÄvŠ ~"ÇËýX•ÎL�������€i„?�€ !ŢÉ/�ŇĺŐţh M’Č;^DT.Ő ‡��`˛P«ď°’é¶*<ŻXuý€±¦,ń#m Ă& .e€B" +Ľ#ŘŽĂ(â*����ŐRaĵ+ĽŻt ŕjĄ‚źkPůý�������î@ř�’<Á2Q1OřüpqŃ}ĽcEPňąĄ(Ő.��.ŚfŔĽÔ™%B5ü”Ş�Ź"a KŠBçG˘˙01 ą»Ř_J¬Ř9>˘ŹHΧJ�����µ$Ů·â 'n% {j*úm������a@ř�p¬ά$y®I)1P˘H»��`&Rí7`9ßťŐ¤ M}�¨JüĂ”ţ:fž°eĘúëJNKfÖ����P[*Źţ·?Z¬v‚źČ9%Ú�������3��cJ9‘ü˛ţŕL9" ¤z‹ �%ÖK���ʡQdą§@đƍ⦬č?Ş`Ô† *}BőwęevF%��� J*1ŞËNŰk-`YV© ¨â(?‰ő�������ŔôÂ�Ŕ¸PÄż–Pľ´Hצśôb���jO5_±Ő~/ă댚ĆIYŃt=r—źLm†˘�yeÂŽŻäô]eŰNĺ(Ł����1±żËH˙EŐ ~bĎ-ăz�������0S€đ�0nTý'x^pđF”¨ ’±řĹ�� 8µ?Ż…řăů ¦”!ţaF#� ś+ĐIúP‹ę?ďřC���ŔPyŠ­Ř>@-?‰ő������ŔĚÂ�Ŕ¸™ř^ńůń:˘ŠĘ06��µ§ÖŃŐđ] Ć”2ÂĆG˙‘GÜ×Ü©Ý B Ŕyřŕ���`RÂ8Oě $žgU^WYő������ŔĚÂ�Ŕ„2ZP°®Ę{Äh/ ��3€‰H“ń{0®”)ţaŠ €d‰`˝& B ˙p AP9Ŕ¶���@)j‰s4©·ŞUt �������9@ř�4č׌µďĘ ��L8ř*“‚2s’Ʀđ –0ÖEü5LŚ:*±KĹËř���@•T=FRÖy5ű”}=�������9@ř�Ô”3–‰í��0yÁ<r”)�RE+y%㯗DB; ^���Ŕ¸Q±ÝQ^ůŠíŘ?������� „?�€)Ć}����Ps*�©âĄD@^É„ýŕ���€©FĺvJUâeŘC�������P������� ‰ @ꔨsJ”<ż‡Â��� VÔ^\3ę…ü�������@Y@ř�������Ą0OUä-ćřUç-…3 ����KÍÓŹBě�������á�������TBśCJT}§V3!����ĺaM D>�������P ü������€Ń’ä¸G1Τpŕ����„Ť�������c „?�������0VTęčBÔ����Lv ä������€I„?�������0Y€# ������������@¤���������������������0ĺ€đ��������������������€)„?���������������������LA ü��������������������` á���������������������S:`Ұě�����Ě 6n˘±äwgv�����9lÜ8Dcɇ6�����9lÜH�LZń��������������������€)„?���������������������LA ü��������������������` á���������������������S���������������������‚@ř��������������������ŔÂ���������������������¦ ţ���������������������0đ��������������������€)H�������„4±,‹�������������Ś?ţ�������Ŕ0]E>qLŐ{…` �����������0Őđ�������jÄLűLJ˝_�����������&;ţ�0 k�����Ĺŕgz~_a�����������&ţ�0…(‡RŇuář����ŔL‚ź™…ů~Ă�����������L ü`3ŮI ���€™ ?@`�����������&�DLu„@���� ÔÚfo6Zm������������0‘@řŔ2ÝgŠC���€éÄhm·ÉbűMD;f‚ČĎö.�����������`Ľđ€qd¬ť,µ®żÖŽ ����0U©ÖÎBJ0Ĺdxăa{"ú�����������`Ľđ€1d¬ăĺ8IşN­���`*PŤíÁĎ䣜÷¤–v.l[�����������Ŕx�á�5dŞ }Ęe¬;���`Ş3‘éŔ`;ŤžZÚŁ˙����`Ş3SĹě°á�����ŔTÂ�FÁTú”Şo´ťY����0])×.«Ô~ ;r˘3ÓŮF3źi5÷ ń����¦Vd¬Ł �����Pk ü B&Ł“f¬ĎŻ´S;B t´���0ÖT*úÉçórI:o2@&ňúĺ\{*ŘxşŤüšJĄ(ťN-ń����&úT&)����€É „?�”I-;ÄŁ©k":ćq׬¤c;ťb]':Ř���� ŞýärąÄăá퉲a&R„RεÇĘÖ­ĺ=ëűŕ×Bˇ ÷Aü���€ÉÄ>µ“����ŔdÂ�ŠP«qµőŚw$ Ńy*9ż–B t°���0Qh;ddd„zűúč†íşkŃŽŚM¶-HŘ6±y"mWřˇ¬!˙SŻŞn~‰;Oď#ýJn=</\>P—EŃ}úz|NčÚj_č<ăR:ŽnlŹ_é¶xu„Úl”OY)UŔ-ŻÖÇžJěHő -šÝTG‡w¤čřŮőÔŇÜL ����0™€ŘgüŔ%�����H ü ‰ĘSÍy㉨śkµ‚žZ 0“����µ űĘý ŃőŰ ôëí$Ĺ>F‹guy‚c—ů"/šŚÖŕyrť"âYĚĎčóxW*eyUP ^Ë˝–ßFY^ël¸Z[‹„WݰÝKǸ.; d"·śžüř×ÖçyĘyMU‡íüç—§q˙T⨑ĎËYvŹäéîĽÓĄ¶rtň\ń§ř¶*����Ć‹±üLW!Q­m4D*�����ă „?�„̢ťRĺmŰ,Ú)ˇłÝńÔ3–ő’JĄK±kWšŞˇ!PĄdt¬���0Ö¶J&“‘Żwíĺő,ŤŚ S!o»Â…ehW,˝í pĚW3"Oč<O'#Śh:z§_‡ŽőcFç1Ł©(@ä püH?şm†‡|%:ŹEEţ= Ł||ŁŔşŰ^K"ĄÜ2®=ehÁé˝Z[[iUOť<—dŞ7Dý���ŔDR aÎLŚ4ÚÉĄęĹ8%�����k üŔ`2wĘ-k»łÉóů|@čS‹ş5¦¨®®N:7ЉĆBTm3Ş���P Ąl¤đq¶ÁÍY6D?BF´Qâ/BŽMÇóW°ăEß!ň„7Â˙3Z+ň˘éž¤×˘`”!‹Ś¨BäÖAF4 ň" ©ëiŽ[«>ĎY·m-*ňŹ 3™W/ĹÔëߣ-TýĽáE?ň$GÂ=Y?ĂdńĎD}l‹Óvâ[m)ëب����+Ćs2ăL˘‘Ęa����€±Â�\j-š©uY>Ć"SěcîĎlĚh(ë,9›2vŠňŽ3ÇŮM¶•Rn!éĐŃ3şmĺŚq–”łžvv×Y65¦5×§¨Ą!MmŤ,öQ˘žÁĚ" ~5;­ŁŐ˛¬y:Ő����KtdĹL6KdpHÚZn$ź`f®€�G‰Z((1ő-·}D }ň˛gyÉľ‚Ő_q$lËH×V‘‘ćËŹ*¤¤=Ş^˙[ŻĺżŞęD(íé#Ś{rŰŕŐob'SĄÄS®ÖČ+'ţ©Ä_Ukó#=©6Ŕi���€ńg<&2N–ş«a¬ŇxUZ7˘˙�����€±Â0ă O-˱¨‡E7üŞE>YDZÔ?’§>ÇÇ0PHQNÔQŇÎqŽĆúłöôo’ąÚJIGŠ3­Ó”wöeśyçŢ&)rj§FkZëmjo°¨­©^¦0`ŃĂŻőőőr)uĹ:¶Ő€Ć2b����@b¶[ˇ`»ë¨<Ĺ®řŞ OăE»q8f´ żaDĚńŁě·ĽN&,?‚˛ýt]:މ2$<‘’p„©Č-ăŘV@äÄeRîF0‘Ľ¶éGťg»ÄŻZއÍŃ&)…Hřu¨¨B䉄Ş%îmM}¶]¨¨<Äé����¨c59q4çL6Şą‡J&VslA�����Pk ü L*MűPmĆűp„źL&C#YęÉZ4ŻŁ)ôiеzçé” ›ÁK`¤ĐyĚS|i-˙MÓp–,Ńάł5 ¨)5D-éu5Ą¨Ą©˝@,�Ң R÷źÔÉ-·ÓŚŽ2����jÉhś!ÂĎĄĺ Z|Śoaé�9JŚců©ąÜ6f´ hZ0]‡×Çó¨ 3°Žź.+(Ŕń>‹¶Ś2ź˘K•§`.Ë2Ä<)Żßň$żá¦Đ‡L1ŹĺE˛ ÓÔnę/ăm1…RĹRUŠhhtőŔ>���ŔřPë Š•–ťÎT“Ţ«Ň‰Š°����@-đĚhj!Ö©Ą E>͇E?ü:4<L{‡őŰ 4(Z´[(D`.xŮâ˝/ţ –5…B<źyĐ®“ËÎś ćÁµĄF¨łQP[k‹±đÇŚ 4O©Nsąťjt¨���0âl:sG¦¦�Ç“·„8fš,­„qKŤÉŇş•Ě4Ů,#*Žđ2:ŇŽWNˇ'ĄmF·.őŞ…@¶'Zňuŕ®(§ 8–+ÖńÄJ*/g‰ŞăäµKG汼{"7˘ŹE䫣üdb¶pŽ‘„"©ČTÉ”E%SUK-@°;���0–ÔRČS ˇĎT Uc§UŐQĘ����Ŕx᱌VôSí±¸2:ŞĎČČ SĎpžz Ť4`·Čd[ĄI˙E!ˇ˛ćľ"â —uׇí:ąěÎ jÉP{z:[ę©ąą™ššš ŻÖm)P9 ŔXq>Ű·>=L­ĎĐÖŢ‚üűZĐ‘¦ăöi¤sj¦Ć:|¦���…FŮW®”ĹHOĄŇ^™B  p‡\ŃŚđ 8^š/Ë·É„{Ě,ăír8ŞRu®ŚÉăĄ3Ś>ˇęÓůÁX€cY)CÄC®0ȵ§Ľôa®řĆÓńh±’ĺ_š ±Ýë—ç×+ô=9;l!Ü6ęű°<ŤT*ĄÚg»mđ#ŐVüc>Ö±2a—0z`§�f"µŠň3Ń‚¦ ĺÜS9cŚĹĘ!ú�ńŔ~���ĆŔŚd4˘źZŠ´ŕ‡Ĺ>Ô;"hŻÝLC˘…*'NüÜźXÖŰGČQ´l°NŰą`_ľŢYęhWÖ¦®^ęh죶¶6jiińŇÉzF!ň)u âźÉ Ţ|đ!ůüŹ;îXĺč›älŘ“§oŢÚK{‡ěŔţu»órąÍé¨^vN'-ëĆĎ)��Lu*µă˘űü88Âß˙%-Oüèb®EGúń<–W©ĺ¨rä tę/_”#Ľkë Wüc»˘yUOtä§Ó‚š‚ نČFw%}/)+(r’B[]OE "2ü¤¬”×6ľ¶mŰň€Ô˙Xę^m÷IúĎDťËE9"zžŞ=)#]Y-Syoˇ;ń�“©hŁ3°Ó� ™ŃLVśŽBźj(7ÂO-&*0S€ý���Ś-ř †R˘vPp:®|>ď;,*¨Gâźţţ~ęËĄhŻÝB#b´’1âąQ®řÇÝ_¶ř‡‚őşÎ˘ŚHŃö\3íÍŰÔ• çY�Āж>ˇ#ĚĎ|Ś#Ő××Ëí¤Ž3:Ô“N]wéĄďĄţó ą}Ě1GÓ˙ţď7#Ń &šlAĐ˝ĎečÉ-Yę±e§s$—üwĽgЦ+oěˇ}f×QGSŠYÔ@'í×Hői|�`¦áů˘/zé˝(*Î1Ĺ?Zäc©Â¶¬Ô¦ăîÓ€íf™ÇČ˝žg¦yĺí<—±˝–ÉkŰÂ;—Üö¨ęlϞ¿kp ŢeÝ(Ad{ŽdyÍł¤HČVŞ Ő¦”nkZEúŃQŹlőt¤ČG?�Wc{Â'uC*Bđ".Ť·ř'élR0*6:;��F'Ú)vŚÇ7YĘ ŹqV3r:d»ń~‹ä ŤĽÄýNV;‰Ń,ŰL7`ż���ă „?`ĆQm'Yďg±–S6éźĎ‚źśE»ě6ĘZţ)šsÉÉe]…ř‡ĚSŠ”Ť˙đľ¬HŃŽ\őlš• Ö†joo—éż*ékażňłăó9‚Pµâź‰ěLóű~öŮ/=vŔűÓĎţ“RUĐŐW—®ąćÚŘcW\ńzŐ«^A“Ť{ď˝Ďs(0?ü\N8áxš,<ł=Gßą«Źz†ěŠÎăëÓŰrrýţuúĂŁté´r~=��ž„m=™âËçĂvrĄ2ˇÔ_䥧qC"db? ąy,˘Ŕ1áĄţňĎ#W3ă c Â7Ýtyvîą‚W‰#őI¶Ż?rŻ)“…é4[Ľ%Ś;•¡‚»íŠ€duZ¨d« BrQé˝DA Ľů<ŢU*"ĂbeŞE©´źęLE=ň#\*ů’+vrź÷xŠ&š8ű’íĺ_üâ§´lŮŇÄ󆆆čŚ3Î ěűČG>DŻ}í«i¦]1mtv:��Ś~<3 ‹|ô¤F=î&'7’oăyăt”pMšŢč±CÖ˘§śçĹĎJn;ö«žś¨Ł›kF©|2‰f‚}yîąPooŤ†K/}‡łĽ“jÁ/ůkúň—żęm/\¸€ţô§ßŃTö���0ţ@řfŐt’Í}ÜéáĄw8G{ső4d×QN¤HPĄť2îvQ­Ů»k;mz~ m^ż–6Żs^×­Ąľž=”˘gěďĄáÁAY¶ąµ•ZŰ;©©ąE.]Ý´xź´xů~rY˛ďţÔ=g^H×SřÇuF1#vжŮÍDlłr'9Óz_hd…öł»¨Îqţ4× ę¬·©ŁµI xIęPOĄÎ´ćŮg×Đš5ki˙ýW-wÓMĄ©Ćś9sŰüě»»»i˛ŔťŃŻŢÜCůĘú˘±p¸Z®ëC/čB§��¦妕‹îÇÝr/–a*iĺŠđRt‘'VŃGµčÇŤÎŁ.yŇmoą1}\AŹ›k‹tú+ɇÜH>Â}Ą8H wČŤÔŁě2? Ź+÷ń…Fˇ´c: ŹŚd9uśő”ĺ§Ó" Ę»ť"ÎŹŻĹë¶<Ů– śö¤SiŇQ”삺'}ž|ÂÎő9*zvŕڧř'é#2‘ö(‹ĺżđ…+é꫿E`tŔFźX`§�@mE?,ňáIŤ,úa{a(—§Ő#6=‘ŻŁµvšvŠ4 “coĄÓľůJZdmybkoĹ2Żgn ĂłĽ…Q6ˇŐŰĘ2l0Ý&aŘŐf;E°*2J’ŽÄ)ŚP™ŃňţqyÍ‚3) 4?U u:¬ˇ@6ZÔŇP'…0z §ĘśŠ“Kű” ě7���`b€đ�—b˘~Ýąs'őöőÓÎ|3őÚ&|V ·iĂš§iŐýwÓŞî¦'ş—úzĘ> ŻW.&üí–Ŕv{gzô‰tÄ §ŇÇťJË÷?Đč|ŠââąË˙”,ë奨NxÎéś;cÔźOS›ÓŃś=´FFFä`µHíŕ3Ăä^ýŤôĽ/ńřO<I7n˘©Ć!‡L—_ţ~úńŹ*ß“wľóí%ť'㇝ĺ(µčŚj¸®ď:u~ń•ÝG ��ÓŚ¸h?úUi¸µ�‡|Śđ=Fô7ę˘ /˛Ź/đ1ë°<±óČUqH‹l¤€G×ďü8Ůîo \k„,/|Źů<ÓĚ?Ď=®_EĐZÓŃŚ,ËeK_íŠ~(ĺFéqS~ٶĄÇYçH?Jđ”’)Č”źEć#Łt*ĺ=%ŰŤö#}+^ę/ăYĎŃLý5ó~Ź|đ!úă˙L/}éEFlô‰v:��”¦Ń 7eT– #yşĂnˇűEő8.[ŹÉi;µ@dF§ôéŢ?Ţ«´ńRĘĆóě4RBţŞő57ńâé$OhG¸"Ô6®DW˝ŃM-ś'+RNł×ŞŁ-ÎţGśqÉß8K×`žNJŹĐąő{hYs=µ¶¶RKK‹�ZYĄřg2ű”ö���0q@ř@ ¸3¶k×.)úŮśk“Q~&ŠB!O˙ývşóúßĐc÷ŢE˝{wÓXŇßŰC÷Ţq“\ÎYłé¨O§ł^ôJ:ć”3e8ŰňÄ?De …Lń‘—m,iH(ńO^ލp¬Zü3¸é¦›é˛ËŢ›x?7ÜpMU.ąäŤr™lp®éJĂΖĎHáşO? ‰���Ě�,KŃ1´Ď"äYĐâ­Ş± SÉň„;–čǰXÓÉŹž#ü:É?Î)˝,/m«+’" 7Ž(¨&ŮJŘ#ń>™ĚMő _…/*r×ůQ‰$¶Š´cąG”ł'ĺ “´MŁ„@*•í¶#ĺŘ’îĽq©Ľ˙HŃOJ•çhAÎ5 ZŢ yť”üp{ü`îő‰|•ëQňĹ?Ţ›EŐ’őgr:pľńŤoŇé§źJłfÍ"P=°Ń'Řé��@EŁý”+úámüôôôĐ–áýI´Ó?Ä,ĘjqŽ-Ô9ÚôÓ&¬UúZD®•UJ<¤÷hÁ·c«q„Fió†ĂöčŔp]±zWPä›Ü"(î‘ÉTůň +$˛bŻë‹â‰ö8.•ëómtkľ…NË ŃK‡zhaó�uuuIi/T#ţ™ě éb_rÖáá‘Čţµk×Ňý÷?čmó{ńş×˝6¶ŽĂ;”@Řo���ŔÄá1TÚQÖűúúúhhhvä›'LôłaíjşýĎż˘Űţř´wך(Xht獿— G:őĽ‹čśż’9úy<¸×Ĺ…múľ’Ĺ?¤ĘZńâf¸˘Ý™458ď żGťťťGý™,ižUËéíŰwĐĂ?BÇ{L¤ĎŚ˙ë_ý¨Lmm­2˙†  TĎ“[˛4V<ą5‹)��LĘIç•tžy®p˙ó:î?Ę—`¦ë"_¸8ćŰAŢąZäQH‡¦Ăřxö }ś˙l.KJôc ^D×HĹŹ{–LáĹçÚ®GxQ€d{<GPÁ˝¶n»M~z/uő٬´uČóČ}*};ä~‘&J©39âO*ťr.•ňfŤsSrĂmŁű\88‘˙¸©żTĆ ËK÷ĺÇL2mIßéS IâźÉH__?}ő«ß Ď}î3*6úÄ;�0Ó©ĆF źĂżS{÷îĄ===tOˇ™~iĎŁľ‚˛m¶ëB‘p|bÄ*úÜ+!Úa!Pˇ`D©ÔÜARn%Ś'Šŕľ€ČÝ)Ůf:["ϱ Šo©—Ö‹Śşă†+cęq ŢšoĄűťçzqˇŹNĎl§î®.)1SU3ţ8™Ĺ?ÓĹľ|ď{ß»˙÷ż˙cDřóˇý+ň€ý���Lţ€O1ŃO>ź—˘ź¬ítŠi<á”÷Ţq#ýęš«hÍŹ–uN:ÍůĄ›śĄ…›ť×fŞŻo”ťÍT*í-ŚíxIüŦ\.CŮě0e2ĂÎ볌ČCIp4 óSąpč‘tń;.ŁĎş@9dĘ˙č]ń˝i1ńĎ@!MCŮś˙𦹺şşŠĹ?“v h§Ă©âś ÷ß˙�íŢ˝ÇŰ>ţřăhőęg¨çž{őööyŰźúÔĐK^ňâHąOúżčĎľŢŰ>óĚÓťNü—#ĺöěŮCżýíďexýúő˛łßĐPOłgϦ#Ź<‚^ô˘Ęv…Y»ö9şřâŕLâ?ţń·´hŃÂHY~żxŕA:ř™gžu-ŰťĎgžćĚ™M‡~˝řĹŇ)§śLµ˘w¸öłPĆŁn���cO%ÎŰuśV@Ňle o‰Đ‚l_Ě#ŰŢ1»ŕŠo,-`aŰN ”8´FGž§˘đ–ŕđ nţČÔ_ÚąĂbźś/ěqlA9CŰ©U[ŠĽąű=Q’ĐiÁČŤ.dyQ†ĽH?ÜţT^‰ŚHxQ,+/mRá(íî/HĄ]±PJĄ˙J§Ąý¨c Ů©‚JĆ˙9ö­%”HČ.¨§Ěĺýço‘FĤ`ôĂS4FL”:ţ<)VanĽńfi?ť|ňI4ž~ťt„<ôĐĂŇ>ă~ŇÜąshٲĄŽ x!ťsÎY‘źúÔgé/ąÁŰîîžĺ´çĎgÉ[Ţň™6KsÚi§Đ7ľńŐ@v^ţîw {⦅֭[çÚŁ Ň®<ę¨#Ą­{衇ĐhKý#ą‚n»íoű˘‹^äŘă˙)÷§?ý…>ó™ĎyŰ,*şăŽ["ĺ8u Űňwßýwym¶˙ůł×ŐŐI|ťuÖ™tá…Č­&“ŮFg`§�@2ĹĆ35<Ţ·cÇÚÝ7@?ËwĐť…V×üÁĚVa!Ź2ö Qzč:úźŇ ›Đ5Ô -Bç¸b O!d…Oö×…0&"E‹›űäíâü¨®ÇT»ł™ĽÝëآßËuĐłą4˝Éîq~s4oŢĽ’âź©–ňk˛Ř—šZŹyVK­íş0;wî¤ď}ďŇÎëééuĆ`»eşÖ‹/~ sĚŃ%ĎgŰšmg±óűÇź;mżń8î©§žBµö���0q@řf•8m̲śóš·{ T~ Łťüíúů˙ű ­}jUѲě0inn§ÖÖN§łĐEMMmT.,âEÓÜ=—Ĺ?=ÎŇ+_“„@Ď>ń}îď¤e+VŇ«ßú^:ë—u;ňZüŁŹ”+ţ!-+Ó~ĺRÔé¬đ{ŐŃŃáî/żă<:ŮÇ{4ýß˙ýĘŰľőÖŰčŁý÷HÇ–;Ő&Üą^µęq/ŘŮńĹ/~™†‡‡űy@cppHÎjćNěŮgźIźýě§śĎT3U ‹>ţńOĘśáa¶lŮ*—›nú+ťpÂqôůĎvÔa…7ěÉÓĆ=yŞ––‹–ĚŞŁg¶çâëßť—×XÖŤź[��Ť Ébjˇ^uä! AŚ+âńŁđ¸Q~¤ĂŹJŁÄ3¶ü_žäFéŃâ9K:ťręHą©łtꯔ{žk?É?ş.ťľÁv_őb»ž7ň·]D#ţ´Ô§iaG-éhˇ…mÍ4ßYo®KS“ł4:Kk}ZVWpţÉćiŔ± ˛ąőg ´­ĐY†iëŔíČ:Í,¨Ş]‘OŠĹ<R¤žrź›Žřc‘­“rď•˙ă祢\A»đfŹŰŽ­jń>ĄF" Ąţ DKGńĎDđĆ7ľžľöµ«Ľm¶á~ůËëśţBĺ3d ÎłľęŞoŃu×ý"rlÓ¦Írąçž{ińâEôĺ/‘<pĄwśB¦đgĎž˝ô裏Ĺ:)Ř1ůä“Oö]tQĐyâ“/ů«42LËŔ6X¤ĂËŻý[zŮË^Bű؇©ľľžŞeŞŘč,Âůŕ?L۶mŹcç/wÜqýčG?q>_ˇĄK—PĄŚ·ŤÎŔN�ĚtŞŤ\®aŃ϶mŰh÷Ŕ0};ŰMŹąĂ"mYA]şwĐŐ�ůx ,ă|s§)° 6’n‚iÂâl3+Z•eŢsXTR3™ZŁ"O¶řqKG–TĎ›Ĺů2Mš{řÖl í¶Óô~Ńë<˙m´`Á‚Q‰&›0h˛Ř—3 ¶±ŢţöwŃ®]»˝}[·n“Ë­·ŢNozÓčx_¬¨žíăo|ăčżřel˝Ú~caűľđY9©s´Ŕ~���&–0)%ŇĘ…4Ť÷ßq˝űe§Đç>pI˘č‡5łf- }ö9ś:čDZľüPš3gIE˘źráčA|­%Kt:X'Čkň¶)2ٰöúÚţ+˝ű•gÓýwé qŁţ>8×™µĽŢç0ŕöÂ˙aŞMá1,Z´Hvd5t÷Ý÷Ęđ,ŢŰoż#°Źť ,şxv/ĎŘ‹~â¸ýö;3XĘ…S¶ń,ď8‡BŽ8ôîwżżäű^ŚLNĐ7oíĄá\uźŤ:çôçwŃG_ŘEG.‰ź}Äu˙Ďm˝ňZ���¦7vľŕ,9ą,Ůą˛łwqÖ3#îk† z=ç¬s„EŢÎ ;çńö°ZFT™Âđ ĺ‡ú)?č,C=TęSKfŘ9'«®çĄsĹ;¤„G݇E<B:$śW;x_^nóův!'_ Îőĺk&Kł›ŇtÖňątŮÉ+黯<‰~|ńitĺ…ÇŃe§LŻ:b:mźůtĚâ9tČüY´_w;Íooq–fZÔŃBűÍî ĂtÓ±KçŇ™ű- ‹ŹÜŹ>pęˇôĹ Žˇ«_~"]qĆ!ôňÓÝÍ”vÚwî#źÍÉ×/Ü&§m…\A:¸˝ś˘ŚE=^´JçžŘ™eKˇë“lĄUbaŹÜŻž żÚBÍV—IŘ„r_‰C©ňßé8Ór2Ů›< ŘŚNĂűW_ý=ކŹ~ôă±N™0›7oˇ·˝í]ńÎqÇ+g‡›°“"¶!ÍgŘŢŢFgśqš·Í"ôĎ~öóeŮřĂźŽ©j 6zooŻcż/Vô†gÔż˙ý—Ë •0Ţ6:;��*#NôĂQBöÓ˙fşhUľŃ‹ĐŁÓ·Zz!Ă*2D@z!CÄcî7Ź“<ÂW‹Šž)‚‹ Ů#‹jŁđĘę{­‘RťÍ϶-ČE ŚgÁëŹćé[C]´w`Hľ¶m‡š9uw&‹}9SŕľŰľ¦č'ĚOzýđ‡?Ž=Ć‘âD?a8ÚŇ{Ţs Ňh€ý���L<ţ�`î| Şs–łÇvvĹ®í[čĘż‹>wů›ië†çcË´·wÓ’%ŃĘ•ÇÓÂ…+¨Ą…ŁŰŚç¬K^“ŻÍm`1P[[üLÎ-Î=|ćň·Ęeű–Ť+ţ±âÄ?D•‰,*¸ďŤ~ŻĽ:§PGš§ź~Z`ßő×ßŘľë®»eTÍ~űíëĽ dxýńŕ?řQŕ™rř˙o~óktŰm7Ń_ţň{ljđžŔě’[nąŤž~z5UÂç?˙%9cĹ䤓N +®ř\N>ůÄŔ1NMŔ3—«ĺÖ§‡iďPő!b_~t+í;§Ž2yA›{ ‰ĺö ÚtŰęŇ‚)���S ówQŠoň˛G†”Hg Źrý{ť×gŮKą^çµ×yíq÷©í|żZĎőő8ĺťu>Ç}ÍěÝEYgÉőě˘Ě®­”ŮÍË6Ęôě–ĺóCŽĂ!çŠw´FČu)ř‘‚ŰĘä]ń ‹“ň2ŠŁŮ¸Żą-mo˘·˝}÷Ő'Ó÷^} }ŕ´é¬ýŇě–ĆČ}oٲ›¶mŰS±˝•JY´ow]xŕú·ÓĄ«^|}đÔé”%]ÔH6ĺ˛,RB BÁm‹‘ňJđĂŰňěś+ě±ĺ"ĹLÂ]w­Eýčç‚|ńŹşË]ťř§Ś•ÍĘ÷ď{ß»űŘąR*U_ţň×2ZŚÉľűîCüŕĺ2…ÁË_ţŇ@ú(¶k?ń‰Ozbq¶9…€ eâîŰL‘Ŕśţy^t’ü÷-pü ¤+Żüýß˙ýLÚĄ§śL5ń›ßüNFŞ–©`Ł˙ęWż‘©Î4ŤŤŤŇnľé¦?Ó_˙z=}éKź§YłşĽăě<ăT•0Ţ6:;�0Ó©$ÚOÜ6 C{űčg™vz4ßä ˇý…BŰc±"ś¸ýÂöŹ…Ëyç’ zČ[ä‹(˝Pd;Üsźw očR§ÝÍł(=ăء9Űm;Ú­×ůY?’«§·Ë÷€ß‹rŢłrßď‰d˛Ř—3…;vJá5ŹÁ^zé;äó9çśł"Q ®ąćZiă™°ŤČvކĎyŐ«^A˙űżß¤ď˙;2J§Ó<÷Üóôío_MŁö���0ń &öTŰAňgOçS(ZöľŰo¤˙ůôżI#ú˛Ď|N8óTyÇÉňŰ~›~uÍ7(3o°vt̡ąs—:¸-%ëK§–/*8‹MË:ËbőÚŇ$¨ąÉ©«UPSŁş§‘ŚE} Ź ŤX´nKŠ68Ëú­)Z·9Mś×B‚­Î©¸]Ľd2C´k×fgŔygäYsÔźÇî˙;˝î]—Ó+ßünŞ«K‡+Ň=ęŔĽë{ďř+}ăł‘Ďó_?őe:ńŚóČ Ď«ł>č:Ü÷Fż_Ő„Ŕ­öĽZÁ3‚y6ł9 ăď˙ő÷÷S{{»Üľé¦` ÓN;UľňěŹńŕŮgź lżímoqś+'ËuN±öÖ·ľY:vx;<V¬XAóćÍĄrá4aáŮ߯}í«é#ů·ÍTNíŔvč\zé;«z˙\źˇj9xa=˝đPő7ů‹h×@ń÷á!çZVúo��ŔÔCŰ …á!Ęń2Ô/Ós‘`ÇżE~V)wö±g˙X~ /ס¶myľ`AO–#ĺca:3YŞwÎinĄáYs©±ł›ęÚŘXkˇTW“’)˛TęéǢąůÇdj,Čp‘çß-›:ëë謋éĽýĐľÝíž-'Š`2N;¶mß-Ű:{N'ŐĄ«źK’vl‡•s:hĺězÝ‘6=ľuÝła'=±ŁĎq°¤3Ď–ţ©´î°­‘J×IA§:ń1rEČŞő,2RĺR꾼ti©ÓT¦0˙=_aýŘÁb”SO=E:´ †…QźűÜéG?ú~l:€0\><ř°ĂĄď|çŰR`Â\tы褓N¤Ź}ě^™Ť7Ń_˙z+˝ôĄąe^L×^ë×ĂNŚţó :üđĂĽ}===ôČ#Ź®ĹukXřóŢ÷ľ›ÖŻß@ëÖ­“źĂo}ëž0hĹŠýä ôóλĐs qű}t˝ŕçQ5L }M`›Sî˛Í¬9ďĽs[˝ť~öłźKűśítóą—b"ltv:��ÄSjŚ“Źóď`ooÝťm˘ŰłÍŽÉ#|}łg—Ć ż˛E…Ç’ÚRĆ~};˘D=–תČ*r†Y«—üŐ?C§5 „ň¤Äĺ*‚dĄđ·fie]–Îéé•vSsssŃßʼn›,‡Éd_Î8ĘŇŐW‹ZZ”­ň†7ĽNÚ\l{iXuăŤ7Ń;Ţń6ąÍĎřÚk¨çĂţ ´á4Gy„L˝űö·_ęEĄbqř»ßý.9Î[ °ß���€‰Â0c©dvE)®ţÂǨŻgŹZ˙üGËţěÜş™ľňŃKééÇŚăŽ^W×<š={‰L·UŚĹól:áđ<ťx„ózXž:ÚJ݇ęD:~joŐe±2¨ňa1ĐăϦéţU)ş˙źu´z]šě! ’/>@Š“víÚä .ě<K4ýčľD÷Üz=}ěĘ«iÁ’ĄˇćXž3LwŔżýĄ˙đžç·żř®đG·]x‘¬·î4OÖN4w°¸łĹé úűä>v4üă÷IGwŕxÝäĚ3O—ŻăĺTĐNÍ_˙z‹t,tuů3ßüć7QµÜpĂŤíÖÖE( w@~ř9č€ö§ý÷_!źź9¨\¶÷U÷ě8ßôŰOí݇7dč®gJ§2ŘÚ;>ď��€ńG¦ŁrlŚÎŐËÔ^ś†K HřŢ |čb8'd¤•†+ź¦ş\žćŐ7R˝ĺ¤÷őRŻc'mŰç�rpť,)ç[ŮHlŻ©¤ŘG¦�+¸QqlhnK#˝ňĐ%ô˘—P}ڪȉĂňK—Χ´sőuéšÍB®KYtô˘ŮtÔ˘nÚ=4B·<»Ťîٰťr…´ăDHSšŻ•N»ö\ZŠ›x?;cx[:gścĘ&`'Ťq„ ‹…âžrÜň]?Â’¶ˇo#NńŹżüŰż].Ĺ*™Śę©§Ą…ťĄěb¶ąX¤crůĺď÷ś2—°-Ëĺ57Üp“çYľ|zč!ôÄOzÇŮYd PîĽóoTK—.ˇ#Ž8ÜŰf›óŐŻ~%李ˇ>0|Ďž=T-SŃFç÷€#î°Js ÇËĄ&ÂFg`§�@yD#—d„™ťY›~ži'Ű@3učVHămЍľ'ś¬t\K*IŹCá‹YţI6yŞăT_©EÁ{”u„E¨;¸KŠä]{P¦Ëµ•gŢĆµĘ ¬˙t°ŤŻďˇ&ç=áßěş:ß3„>a&“}9SřЇţŐýhXŔóűß˙‘žyĆź¤É”´đ'üŚybćk^óŞHÝ,¸:á„ăčŢ{ď—Űlçňzµ˘yŘo���ŔÄá�1犝eôŮ8BĐUźĽśúz"Çt:­b~Îô‚SrôŠóň´dľ]yĘ Ą™čÄ# rqLÚľ;E7Ţ]GĽ˝ŽÖo‰Îŕ`ҢEűSw÷BÚ¶í9ę öÉUtŮë. Ë?ő:íüG›,üŮ7ÁCE “*kéÜä~gy*vśąÍÜů?űěłčŹüł·˙Ţ{•Sá±ÇVÉYÎî°iGČx…üĺ4<sWs˙ýŇ\D|\<pĄś…ÂüĺĚđ ž­|ôŃGE:¶ Ď:ůĹ/~JăÁÂÎ4}č]´jS–~roż7đó¶SÚ©»5%Ă×ţ螲ęšúîC���IضŠř3{Ă-*z-SqĺrĘeG¨­}Ą­ŕokgf„2[ÖSocĄęÉŞ«§”ł¸á~TĘuČYwęR˘Çnlo¤×u�ťłb!ąÁqHPe¶›YsçtŇXš ł[ščµGěCç°€nyv+ý}ăN™^!U¨“ TŠ/®Ä<–H«�Î+9ű %řal;%#˙đýëťěĚá}ľ!©ŇÇ*Sxvxq&Qć…ZxÂi§ŢńŽ·Ň˙ţďwĽcW_ý=ÇŽ;ź:;;‹Ö¶ĎXôÁłă8í´SŽ™5k‚çňĚmSřsë­·I'Źć¶Űn”ń‹/¤bpŞ ¸¬[·^¦óÚ˛e«L…ŔLl»útSĹFg'†ť<_üF)ŔaŰśmtN‰ĆŽť°H¨&ŁŤÎŔN�Lg’~Cʉö300 Łâýv¤•ú ÚÖ!?Ŕ$łt, Çä6FGÉ ÁMVt&^xłś9‰vřD#*#tŚNK„Ä5V¸‹üHâV¨ťˇŞĂ‡ą"7íX°ńmŽA§ ^HÁVÉŻšč} YůްíUMÔźÉ2Ö9ŮěËéGm4…đ&gťuF@řłe‹źę+üŚŮ>äTiqhŃŹ†źqµÂźRŔ~���ĆŔ´¦ÜÎňhfßó‰+eŞ/űăW&–ăÔ^?řę§éĎ?ż&r,ť®Łąs—IáLś%ë…§ĺč•çç"ŃyĆůłmzË˲rYőLŠ~ss=Ýxw}$XSS+íłĎá2ňĎöíë(źĎydžűéK}˝ôŃ·ÓŰ˙őTW_ďźhŢwĹçé*™ę‹č˝W|.ˇE®P¨„Ą?U˘ţ0ěŕ0ť şskvr™ľđ‚qżÎá˝jŐăÎ#wř9M/šîîYô˛—˝D¦‹s $žíłpáBkt¤iÝî|âńÖĆuµ¤čĚ•MňďďÚż÷Óé4Ń1Ëeçôűw÷Ń@¦ĽżĹťŐÍv��0y/Gľľ‹U8­U:][fÖŕ�íÉô“ťk!»ˇI¦bĺt_2ÚŹLďUpĹ?bw˙kŹZNo8j_•š« ÁŹíÔ“Ď(Ĺ˙ŐUźÎk4Ějn¤×ľť»˙BúăS›čͻɶӎ Ů ž§“:'Žţă,Ü˝M\ńŹPl7•‹źdę/[ŠR®ďJ¸QĚÔ_A§ÍTÄüĽrTĆoĽ™ž{îyą=44DßţöŐôÉO~BFdIŠNłsç®ŔöüůóŢaŰ­§§Wήwí}v}íkWÉ} uVŻ~F S¸=<đw.ż/zŃ…±÷tË-·ŃŻ~ő›}<–LfýüóĎĄ»ďţ;]}02ĎóĎŻ“Ë_ţrÜćYôçž{¶LżµdÉâ˛ëźťť��Ą OZäßóááÚ’2Í—:@Á×H%䥥q"Ë+!"‡KJ§C!„Ěěcd g¤¦ČŤô-|µŽĺ‰’|ť»ž>¨‰[ćÍęú˝\b*ŠŹÜ˛Eät”"!‚÷#ŚűVZ'‹Â·•G # ;†饙 5 Skk«OŐÉ‹“Íľśî,X° ńó±xqĐžëëëwúnyůů ?cćć›oˇrŕg\-°ß���€‰gbFpÄTí焳. źÜń$ýäö'Ó|Ť Ńç.s¬č§˝}6íż˙±±˘NÉuŃ™yúĺ׆éÓďËŇ+uÇwânĂgŢźĄß}s^˙˘5ĹLíěśG+VăÜ[w`??Ó?\÷}úäű/ˇˇÁŠß ó{â™çÓu·>B?»ĺ7ÍWR'8(č‰[/—ńtć%Á!lçĎźçmoÚ´YÎ`~ä‘Çĺ.ĽđoxďxŤ íĎ©’Řłg/]{폝€·ËđŇ“™c—7=ľfGŽ~v9uE˝ď¬zÝńmňŘŤO ŃS[sT.Ç•¸��€ÉÇDŮBs­“iN –!ŰŕśĚ.Ȩ>Ľm˛ňµĎ҉‹fѵŻ=‰ŢrÜţTź.Żű72’ˇÝ»zh׎=´s×ęďtŮó4Q°�č-GďGď?q%u7ÔQvdňą¬s9ąŘ[-Î3°eę5[Š{ä¶í ©¸"ËŤĐD¤ž‘ü×Ů%\ŻŹ9vFËDŰ™ě�řŹ˙¸"ŕ8ř󟯧Ť7ÉYÖIڦÝ*z•>Ű’§ź~j ĚwÜ)_ďąç^™6KĂQe-Z©ďŁý8]qĹÄŠ~š››eŞ‚Yłş¨ÖLfťßÓĎ~öSô…/ü—śžäâT,zĂŢLŹ?ţOšěŔN�€Ęáhx,¶řëH#e„J]E ‹0^µ%xÉ;ër)ČWŢ'Ť)[ëÓ)m•1ĺýî *g»‹yĚM§ĺ˝šç˛ýćľR#XňBÁöĺśö¸íÔŰ^»ťu;kSAľä6Żň|źŞ>ŁIşůz>ţ32n7rĚŽîăűŇíušę4‡n¨—QY3] öĺt§XäĘbĎa4ĎČ´É+ö���0ń â�ă@oý×eo¤§{0°ź;GĺgÎś¨‚űM/=;Oďy]ŽćĚ MŤ™$,šOôˇ·ĺč’—ćé^Oą«ŽĚľG1Zşô`Ú»w›L˙ev<»˙ďôńK/¦Ď|ë'Ô9ˑȒë§ř 2ufĆ”‚?ě0řáâíc‡‚™ażýöĄŘźŞ%©§órg żő­o–˶mŰe¤ź'ź|Jľ˛AĎŕf8íÂ÷ż˙Cúŕ/§r;wN`Ű Q;Vś{P3Ýľzö &w¤ů8óĆ“ÚččeŞSą~wž~˙Č • ‡«=Űą��€éI­źőŕ9żräĤ™Ŕv ŮśűÎ[:hňÔŐ”¦+Î8ŠNX>'nbv"§ŽţŢAÇfPżëě´č¤ĚpƱŮÚĺ ˙DqŕÜNşâĚĂčOn »6ě”âťz/}·KČ(IŇËâŘ,ňQŹ.MVĘ&K¤d$ ÝÇRĺÜ4j–žź-´8Ę)On>´ ¬3·YňŞW˝‚~ýëßĘmv$|˙ű×R[[›ś!GŘ>Űľ}»</nVöÖ­[Ű]]ť‘ÔR9ç¶Űîđ¶ď»ďú—y—LťeÂiÁ°#É<—ŰŔQ&YLÄQćÍ›'źűk_ű§ďM§<&»ŤÎpJ^úúú¤mţÔSOËö±Hj`Ŕ·[ŮářĄ/}…~öł•UďDŘč ět�ŔLĄšČĺZ 1<<LCą<ý}¤ĂKĹ叩‘¤Ř®�Ć]¦ňĄ–ŠŚČf§Lµôb©×H{˝B­±I…ľ'xľ:Śô-‚ǽ듅;Ľč]TÇ2Ęé¦%ţÜ"[ţ™fL›2,ZęîÁzş$7Lő##ÔŢŢ.÷%Eý™ěéľL&}i2Z{ŞVÔŞ۶mK|6a›ŚÓ‚é~Zřźxâńôío“ĆŘo���ŔÄáq”ę,'•«–[7ѧŢ}1m^ĚŻŰĐĐD‹HÍÍm‘sö_fÓ—ćčȵˇ<ąĹ-óf}úý9zůyúŇ5 ´f}°˝łf- ¦¦6Ú´i5ĺr#Ţţgź\EzóKéżţßu´pÉ2˙7ň‰č@ lv‚“Öă¶'śÖŔt*üć7ż“7ţńR%đěçŢŢ>o{íÚçb˱s Ř™Đß?ŕ|vŃ‚óéĽóΑűyÖó{ßű)řŃT’‚aĺĘčÎ;˙ćmł3…g«qd“ţţ~zĹ+^CË–-Łý÷_!——żüĄE;ţI4Ö[tŮ9ťôĺ{h8—ü÷nvJłyAß˝«Ź'—•EłsŤ8×h¬›>5���A;1ťNÉí­űJ…ěŮ™aGŠJŚržíˇgą© ·<–wgYg©˘|!GłëB×·i`¨—lÇ`ç¸lÎËÓŔBť#çwЧÎ?‚ć´4R©”^X7Tž“ËçixťmU›¦ŮLN ŠřY44Ö«´cRď8—^uŘrZ9»ť~úŘ:ĘŚd¨ľ±Q9˝Xôcĺ_WšR2ú{ZŢm[2eĄx=ĺ\ż Žůą-\!{´l%rSYElĎ©Će—˝×±·îňÂ˙ßtÓ_©łł#±<Űg&Cô裏É8aîşëîŔö)sę©§Č<Zö÷îż˙ŻLSS“g_ë˙[`űÍo~#˝˙ýăúĆ‚±°ŃMFkŁł#ióć-R€tĘ)'ËEď˙Ěg>HďŔ)ÖX�TNZމ°ŃŘé��P<‹Ďkł)ęľp™#Ü8˘OŢÄărńßć·®W ŹĂćm!dy" ´zeaYáÉ{AńOäj"ľ!ŠßܰbŹ +\·  ĆHxÂ!+ć¦E¤Î¨ČK ¦ŁQđ©ę3v;včęa‹Žm´ĺ{Uíďădd"íËZŹyVK­í: ‹·zča:ţřă"Çî¸ă®Ŕ¶™ú‹íÁđuu°±ö���0ń Ő�cČŽ-écoyIDôĂbź}÷=""úi¨ôŻoÎŃĎľ’1D?S‡Ł˛é§WŽĐeoĚÉe&|Żűíw¤óÚŘżuÓzúŘ;_M;¶nŽVhŠu‚hşÂťł:ĐŰ6Ĺ3ě$»ŕ‚TTĎ~6ůă˙é€ţđ‡?–) ’xć™gé=ďąĚąö‹éśs. ·ľőrp?|žécRŽ3Asá…Ag ;#®şę[‘rßýî÷eľéU«§ßţö÷tÍ5?UnďeÝu´´»tÇ—;Ą_şˇ‡>˙—ÚÖW r)·~���ÇhĹŢ<“—ž}¦Ţ}¦ÝK¤=KťeÉJůşwéJąěYĽżłŕě?€z–ňâěwÖůXĎ2ŢŢźz—Ż ^g_źł ,Ůźťcë,ˇuŤŤ4$TęŞLfúzwS›c*ÖôKńŹNůU 7±”®zŮ 4§µşđç|/M-ńçŹd¨`WgŁ ÓÚu[hýĆí´nĂ6Ú¸yĺňĺ˙¦†9|A7}ôŚChi{“›ú+G…§7+x‘ŹtĘ/! dË}ÂMéeÉ}z‚¸znš/ůG¸ÓŔu™é`˛XăĂţ ·Íާ]»v'–gĚĽysűľńŤ˙‰ĚVfQ ;lLâŇ^±łá/8ßŰćt$l›nŮâĎć>űě3cmHÓ©Ă,Z´(RćÁ˘íŰwĐXP{=ř\Ů>çgaÂ×řĂţ”XĎ&˙Ї>B/ů«éôÓϑю{lU  Gě<í´`Š5~Ęu8N”ŤÎŔN�€xâlWţMŕý˙̤¨ŕĽćłĘĺ(;ś—ëŇ.r#üřŮş„'H7ÓXQLĘ+1Ď%W dKű+źqçzŮÁĺśk2y•ŽË6Cđ¸'i;KhŰ̬?fżˇHůźźjŚüăÂM&Ď3ďŤB÷ä7%pmŰ<_—őÓťy)d…Ësj1N5&ŁÉTłä¦śňŮđÂűV ©úă˘ÁLĺôUi_ÖbĚłÔ®Kâk_»Šű~ń‹_ʱZ“3Ď<Ý[?á„ă©»{–·ÍŃ—ř9„áĎ"§eňźř¤,Ă;Gě7���`bÁŻ$¶Ś6gđhéëŮCź~ďëi×ö`čÍÖÖN™ţ*Ą¦!{,ś+č ˙–ŁĂWŞÔSž<đ–Wč„#]ńµzÚ´ÝżNýµ|ůˇ2ňĎŔŔ^o˙®í[é˙ň:úʵżŁ®ŮÁp¤jö5ݞ"˙Ś&šĎd‰Ä3†ź~zud˙QGI . Jŕp®<�ݎK.y›ă�8…fĎž-gZsş.v°$ĺçč>\‡î„ó,íů—÷Ń»ŢővZ±b…ě(ţíowÓő×ß8ďŘcʦrY¶l)ť{îŮtë­·{űŘiŔąÁŮÄNHžé}Ď=÷Î{ő«_9ę÷¬łą< ,碮¸îčk�`&ŔżEi7×5R˝łŃ~ÜĚ.ÂłktjSËnT[O&‘s?íśóš!;3D˝ݴ۱-—?˙5PŠŇuőŇ®š;ŘOŰťßötv„šZč3çEgě;Tńi¸˝Í-Ť”uíł#AÇG7Şfę;�6lڡҹ e¨żofuwUŮâYÍŤô“¤ëV­Ł‡·íuĹ; ňѧ딭ťJ§ŮC)ö¸8ö;_,gź|{Ľ}B…ĐÚwß>ĎŇ‚ m'N]Ç sÎ9gÓYgť™%?Nńúĺ/ŐŰÇvă›ŢôVzéK/˘ŽŽ)4ůË_nś·té:˙üscëä4^˙÷żň¶ôŁźŽs:°88Ҥɵ×ţH^‡…çl‹ňý|ýëWŃXR[ýç‚Ď~öóŇžf‘ŃćÍ›é˙¸Ż¨ŤÎâŰÎ,˝÷˝ď–mJ;źs¶őżůÍ P‡źYą3ľ'ŇFg`§�@ń1J}L§^˘§ m¸˘ …ŽwcĐĆ«Î87&˘Ž·&# çZ~4 HţNX–…Č2Ĺ<îőâ˘ç,Ókž±„‚…DĚ!ă¸öDZÁrŁy‚&’Č2k1ĎQĐSj§ţśĚ‘Ęă(ű˛cžµ v]Ď>»†.ľřŤŇFćgâp$$¶ M±6?ă7˝é Ž řmoßŐWOFiçgŘŮŮI6l¤ë®ű­YłVîąçť±ÝżËÔmŁö���0q@řf4c‘Ú‹ÉŚ Óç>p mz>¨ľďěśK‹鼝uB>őľµ·Ą-S™WúéW˛ô…ďÔÓÍ÷Ťr<±điË–g©·w§·ËĆuô鼅ľř˝_9ΦĐ,_Ůá÷sq—˙hŠĄűšĚĽđ…/ł]ěĐŚú¸™ÓĄxĹ+^F?˙ů˙Éđ°d¸í¶;Ľí¶¶Vzýë/¦ď}ď±uđěť÷ż˙=ôŐŻ~ĂŰÇ3K>üá+(‰E‹ĘNf%|â“ň­[·yűxŕAąÄÁáy°`´ş¨X76ůľ]8}Â7��(ŽUßHiNÉ%Ór©YżÓC(ˇ ťeJ‹H:ôyÄŃhňy"Ĺ'Kyg€Ř˛ę)»}#µňÎzŠŇŽM5Ë)»»o/5vͦ/ź·ď<Ş őÔŐŮN#Ť™Ţ‹Łü4Ô×QKk Ą-?}Dąäs™f˘Ţ©#—Ë{ű‡†34k”Bš:g`ű’#÷ˇÎ¦zşíy5CµŽř=°do—MüT:EvJp¦/*¸N&Kß R)/âŹvčhńą'˛”%:R}ä#˘űď°,ÇĂk_űjşďľűéžž~]lÔ†ź˙üg#)4|t€°s1g„Ďť;GÎPŽă‚ ÎĚŮ^ä”&ěä`Á:§Ľ jiŁól÷C9XÚľ&µÍżüË;éë_˙fb=úĐżŇŰß~©LßŔ°č _¸2±<ż?—_ţ~Ş„‰˛ŃŘé�€™ÄhĆ%ůw€u([ř+ÓłYĽš 1MÄ8 ­†@zÓŽ?ĎÓŕ¸őŞđÎuʰČ8›M1™ĚL&?Źk)G®ë×kęwDDËŁVDđlOhóĚ˝ Ôq/•®óp ^Ô!жÇ#ĹTÉ÷°-«ôD…Bő/'óŘćDŘ—µó¬µ˛ëÂ,Y˛XFoäB?řÁŹË]zé;ä8¬É%—ĽQ¦Ó˝÷Ţű˝}7Ţxł\’řŘÇ>Lííí4Z`ż���„?`F1ˇS9ÍŔç˙ő-ôôcÁPý,^Ľ2RţŇ×来úNßd¦­…dŁe ÓtÍŻýŻî¤ęgaŠž}r}á×ҧ®úŐŐ#"…Ĺ?zWµB©ÉÜYîîN:!0s–gĺžwŢ9T)ööłźý}üăź”3_Âp˝_ţňK†˝ĺN2N|űŰW{3É’8ě°Cť:ż C•Ŕ3W~ôŁďÓWü§Ěa]ŚN8ŽľôĄĎ×$/úIű5Ҥ˝CµMŻ7«%E'îW]š�@qřűż‹řU/2¤»]ŰżăÉ;µed™tÚ[8• ż‚‰ÇŞ«WöGŽq?‹¦HÄ2'3Bű\ëĆÖ®ÇŢ)äIä ”˛;1Ý(gFwͦşŢ˝ňs —y˝tůéűŇÁs[jjß°H§ÎYš›]÷§4#ŞĆśf{?ż¦č‡im­Íď$ßóK\Bť őôűg6©kĘťż“:~;,¨ČN9ĎÓŞ—ß|3E*§JKĄ-×Ďă>?S@NćLtň…[îŃ©&ÜgűEÝćLëb\yĺäŚaž\ ݰ]yŕ+‹–ă¨?ć d ĎT–‘—b8őÔSčuŻ{­Lm ZxVôX jiŁó}˛ë}ďű@ Ő™É{Ţs)ť~úiEDědúć7ż&Ó3pTÎbp îzč!T eŁ3°ÓÁxűöĺT…?§ňóę¬g„k¬YI ”¤(@‘_Ä"(Z—Q˝>O«Dpô.$żať»ÓnµnŽŠzŃ€RäÚ»$#4ZM®„öy’¤°�Č8QWe… t]•J×eÇ}(Xi¬ĘŠ=aÄą!>¬ż[¦RDźrű˛VcžŁĄVv]Žô_˙őişôŇ÷DŇŢjŢň–Kä†?__űÚWčż˙űë2Zc1XPŢŽnY `żŕűö%�ă „?�„­8č_ý4=úŹ;ű8˝×˘Eűöńo܇ߞ§Wżpj§ö*‡wżŢ¦Ůł ô•ď§É´i8úQÁqj™iżľçNşöŞĎÓ»>ô)wOxĐÁ]HrłL‡ô‹^taŔ©pĘ)'ÉA÷j8ăŚÓé§?ýˇł\'g{ěÜąËůL¶Č)ďxÇŰdçy۶í%ëá>ö7żů=řŕĂ´qăFęď ¦¦Fé9ňČ#dČľ^µp=W_ý-ŮÎ?ýé/´ző3´}ű9{mÎśŮRTÄŃÓN;•jE˝ăč»ôŚúęÍ=”Ż‘Í]ç Pqť\7� 6pşAž˝ÇćéŢANBßwx–(w¨ąÍŽVž&O°ŔŽ á;]ü©ĐĆlkßSâąBříĺ1™nĘvmY““nQhŁáY (5Чç Ë2só9jËgäßH“3hkéÓ5‚fĚ™ÔŐPßPGKĎul‡ž„»µ­™ÚŰ[*®‹DĂνň˝756lÁ3Ý4gż_­÷eäK=V›E@Vťk'’|řIłřGe™°Ľ4 Jâcyďˇ~˸îhꯩ §bşá†›čńÇ˙Y˛,;M>řÁËéĺ/)ýţ÷”âŹíŰ·ÓĐаŚŇł|ů2)Úá”Pĺ>8Bηľő˙"ßĺ,*Ćż˙űżIá ;/8u;@ئeűđ oxťLłđéO˙Ť%µ´Ń9eŰčěđâ™éě(âďs¶ÍYäÄĎłGIúăKřĂźś¶ýCŠźřŮp]łfuÉ<,śâç[­ g"ltv:k`_Âľśj$E.·ÝÔTÂJ{źŘ13cÓ+qűEh‡0”Ď"X4"3˛ĹĄ»J Ţ(U0R~yE ćĘťO× îŠ»€zvň1IaŹ^Ś;–űüt›~3Dńť:ZG7©´{#ÓŤTžÄDŘ—µó-µ˛ë¬X±ýěg?¦ď}ďűŇÎăčŽl{±›ëĺô®IđsűřÇ?*ß¶ßřďÜąSŽĺvt´;Ďxą´­9˝WWWŐ Řo`¦űö%�Iąż”V™Ç¬2^­„m˝¤ŚW˝¤Ý}éĐÂÇx”-•Íćî!0i wLÍE«\yĐpxxHvVŮX®ŐőŠí×ŰIggÎíűgyN‰ű9>ů›u47·9†ôa2Ĺ•¦ˇ^Đ]^ sOťČhŞń׿§č“ßL“9Ů›Ť€őë˙éĽ÷ýŢ>îč~âżżG'źŁgÄĚR2öÜUN©… ę݇;ĐIęé6ë”Ç3ŰsôÝ»úF=#…g pgtĺüz�Śî$s‡9nöH¦©©Iv ą3=•ظq“ óßÜÜ"‚őě 3şŤ90ÎŰŐÚ—•ÚŤáu<eÎąŁŹ38×*ř‘~<˙îóŇ|ŮľDŞKÜß!9Ő8§Avž Î}dvl¤eO=Dťˇ¶ť|Ę!ŽS˙4Á|g�ĄŃźĺ-őD‚F†F¨·wF29g ĽI n8˘Ź*bĚÖ¶±»O¸m2…?"đcOë:‰eůx&“uŔňd9¶ÍÎ@żßÂ<'ć\łśrló–]N=*ú`{[3ÍťÓi”W×ůó3›éÖçwPťó7Pç<Nő•N×ÉhLę5­ŇK°sĚyV)=›śăÉ™iĘáŁS°yłÍÝ÷,e̢op˙Îľpň"ůÚÖÖkKł/a{PŘé –Ŕľ¬Ř—c3~ig“–cŹň+Ź_ćťöĽé)‹zě´—›Ęź@5ZµctéęđE<¦€=\‰RMS¬ŔF eŚ”ZúB°Q‹RÎp©]3T­oăjűַߊÖ_–]&‚ĺÂm!7r‘L'K2ĺí¬T®;ئzÇ.ĺń˸±ĘrĆ-a7‚©ě70“€}Y3ÁľdđŰ=5hh¨?…Ô(lźűZ-Â}µŤEŻá…¶‹˝†×Ă”´’ńĚXJEöŃÇYťKTZřłsëfşę?/ ÔŰĐĐDË–ýđdđĎ~@Đą'óÖĚúÂ?˙TáüŰôŃ˙N‘ű˛seٲéąçs $•˙—źá×?ýAÚďŔChţâeDáąCAőqXŇRłc¦c(]P;¸ůĹWvÓ˝ĎečÉ-Yę±iÝî<ŤäŠW4Ő[´ďś:joJÉ\Óv3P�ü˝><<\2µ ‡xáŽ3˙>Ö*ĺ (Žç qBY®ÇE¸íúžřGőűäqrmOˇ"ýpš/őKÂ΂ĽqäšĆ&ęij¦NÇŮdňôSëčôÓ{¨«»Ët¨—Nmň ŤĐ“O>ď‰e9sşhß}ŽkenOcc\|‘P9^źL&¸Źţaęěj§†ş`z¨°ČůĎÓŰöŞHÔŕ\ż ŁűŘ)[d*8ç¤y_ÚŤü“’ee ˇÄ?* Ą&¸ ¶[}q’ré5�ŔŘ;ÔŘ—Łöĺä%0ľ)LaKqŤĄ…Nş|0Ź+H×…)¤ ‰jŚr–kńúµY¤"č í'b´Ej‹Ő$‰ŕďqp Ýţ>˛{÷”¶µĺ|–­ÖvJuv“ĺ8î„;vk•/&ň˘GšW“˝€TJ:٦dať·ÉÖĎĘ Š¶0> ¦;°ßŔL�öĺč€} @íđĚ*MáĹ?Ú<‹g WÚ°Ě;?ěWţű;¨ż·ÇŰǸŋW:• Zőo+Đy§VÖ–éÄY'Úô‘w}ń;ľ†źŃ’%Ńşu«Ľ÷iĐéůŠ÷Ó•?ř­TÍFÄ?Ś;Ăh0Ç‚˘Ľ|Ď* Ž6ĂÉÓh’ łaOžţç¶^Ú3?;Ą»5E8§“–văç€ZŔż»CCC®čŚxŕ…;Î---îď)+‚î ?’ŤřĽc¶ź-ÁsÎ(ۆ'Â.¸Q”“Äâ5é:ęď匎 '==Ă´~ý&šż`556Sť›vŚKěÜŃË0»vőĐĽył¨Ł˝•jŤíÜWÁis]*Eµ¦.můĚI™‚qWaűîâĂ—Qżó]˛z/‹¤Ü�˛uÎó,¸’Ş´ĄžłĄžŻ˙%ÜňÓSh‘–zĎříQŠ çŤ´'S°'k`§j}Y[`_Nn¤ŤÂ¶Łežĺ •ôĆ,`h\bE9ţ…ÝéĚÂMp%0ˇ�:"¦˝–o «öjqµyšş($ţ±"÷Ąl»ÂŽ-”}ě>Ę­r–çž&k`/5Ő×Q«ăX¬«OQ6—§ÁˇĘńĎH÷BJď{ Ő~<ŐvĄşç¨Hˇ‹ŁÝ22¤Ą˘Ej±c[8k«{ ś0sÇ‚ÁĚö®Ŕľ¬-°/¨řëŔŔőööʛݢ­äyżýá·é™>Ř7ţľÔÜÜŘ÷î×ŮôúóÚĚvĽúA;÷ŘtÍŻ|W §D›7oÚľýyoßÓŹ?LżűÉwé5o{Ż»'^üł'ßD­ą őőőŃÜąsĺnz@-Xćt4?÷ňnşíéazh}†¶öŞĽň :ÓtěňF:ç fj¬Ăç €Z088(gÉ€ÚĂ::^kkí…@cE&+ÁýÇź!,„™“ŔVł‹ŮńÁęáFŚjśZ‚ť8©:z᱇Đđ}˝´{÷€we¶{V­ZMr µ·µSÚ 5ĚuííéŹmm>›§ZÂłš†śë Č”^śN¬ŁŁ•ššj7c«®ˇžĚď¦;{äs›7·ËąWőD)śŽëMGěC_˝w5őd2ĘńÄ'-w¶ă”ań§ťĺčś,ýBۦ–ţßw4ąo——",?y[Ĺ ��Łv:(Ř—cěËÚRŽ-‘”v6°/\& ţ!cĹ S“®ĘP»U·E"t‚07µyëŘZ¶í[¦˝r_ýkúŞË;/fÜOĹŮzÔ´şH.K™î¤á[~G© «éčC÷ˇłN?†Ž}˙y´ďâŮÔŃÚLéú)Öa›Ĺ?»ŰuőšŤôŔ#OŃ=»Žžřń׉VAŤgż„Ž:™# ejŹJ «Óx¸©ŕrç~ElsuÚ۸ń`sü˛ś±LŚw‚© ě70€}9vŔľ`ô@ř¦µč,ów6›Łţ|Š2˘řź §řúő÷Ż ěkoď¦îî…}śÚë]Żĺ5ŻĚ»_G´v ŰďóźÇěŮ‹hh¨Źúűw{ű~ţÝŻÓ鼄ć/Zę>ąč @–Ň22SădâĐ€śÔťh0¸Ăyáa-r�Ô]o`@ľ‚±E‡nkkĂě™ö€˘rĹ=$˝/ńŹ»OĄS‘~”óÂv+a±ŹsoŰ,H±eĘŻCtŃ»OYFŢ»™v˙ăÉ@Ö=żťöîÝëŘSł©ľ±Ńť9mIáÍŕ`tP*]_Yš/n_αŹYPŁÄ64Đ?DĎŻßFÚNÎPoß-_6ŻfůÚůąµ¶49uΗĎĚŹĚOK}]rřľô­ž•:Ą`Çvľkň|<#;EśŐAŠyŽ ¸dËŔJäűfśc”ňR~EB‘Ęű€ńv:Höĺřűr’!ÍH?TOŚŚĆC‰m„±AńO@Ú#â…@Ţa\Mm"ˇ1yŰK•ĄE@Ň~˛|™Q¨ro5hö9vW6C6GÁli“v6 ~†~} -kČŇ›_÷BşčěwR{c e)“)ÎÓŽÝ;ťqÇŚđĚuě꺆jpÚvĚËč¬ă˘Ôű/¦Í;zéwľ“ţď—ß Í?˙µľüj>ó˛#‘“ …řžěřv›»TŘŠ�Ŕ~SŘ—ăěK�Ş1�ÄŔ?ŕ¬,Ý[(­*ýÎ?F#ĂCŢ6§­Z´č€@™% ţó}6úwÜŻ˙ôe‚žYG´y»˙`-ÚźÖ¬és:Ď*%EĆéÄ_óŐĎĐ'ľzŤ1ß(:tŃSh 6§Óßßßţ���ś°X“sÁřÁ===˛óŚßË1ŔňSE©�1®;Dh‡†ĺ;K´8H:lůżý»OE˙)Č×Öú]ů˘Ł©ĹÎĐQGLÜ˙´c/ů!҇‡łôĚęµ´xŃbjjnˇ††zéÔX´píŮÓ»·µ¶PkK3•ŤsnďŢ~ç#rĐeöś®ŔaÎěص—ÂöŮČHF:[ę;k#üŃx‚î2Ę.ďr•WĚŁż<·SŠÔŇY‹RuÎłe‘żĄć—sÔ"ž�Îśt]Ęfńۡ„[–kĄ´ŔKĚRDţ�€‰öĺřűr!öůZt3űlLD cÝ2ő@V‘ Z~+×ć1OÄö”­m`¸ąéł”ćÚ‰Đpj!/>™[˙@Vfě¶.Ju̦îˇôń÷Ľ†^ů‚I8źÉáÁÚµŁŹ†śW-Ţ–b}^ <Ţ—˘đˇÁaĘ÷ŮRÜîXÔdŃ{ŢřBşôMŃźoą—ţçškiĂMżˇö7_FéŽTv˝Í”gŠ„ç1a��˛Ŕľ`_P)`PI L&#Ó äS4BĹťÝ}+ÝçÍ}óçďCé´Ż©s|.ôĄÔŢęö`±xK›óLľôďDő†‘źÝüůËÉä·ÝH÷ßu‹\÷ßI]Ź"#Ň4#ůŢéÜŞ•F��0~p.ltš'~öü€Úˇ"ţčČ?–tč(@nO,˘„@®óÁťA-„ń°D¸‘8•ťç´úř™Ó’®Vjjl˘ąóćŇÂ…ł"mxňźĎQ__Ż3@’ólśöŽ:ô}©Ł«Ý,i¤%‹çŃĘ•K©®‚?y§ ,úa8zŹęErš„L&—pnžĘ“čŚgď3źVt4QÁq±XJŘÎ3jv¶-#*ń«ĘEˇß/IÇYŢ{§\¶áŔ’Ú,��0€}9±Ŕľ˘cZÂĄ¨üRä‰k„ä×ö±Ą­É¶QÁ±ő8U•\x˝ _U7Ľˇ·hŤ2†ŚýnÝş)ä µĹoŞ_Žmŕ‚Ó®ĽsͬMůLrĂyçձ߲yŮ6á´eä¶?Ńěn ëľúşç/˙Ź~úĺËčő'ďGţń§čegEĂý42”‘˘ˇööfęžÓˇÝNý Žý+…řÎ…sŇvTßPGuuiąoŁ9{ű9u­óyľč¬ăčĆźžţý%GPö«ˇK ¸ŤÂ}.RŔdĽĘ›Ň©{˝ç¤o´Ř{��`2űrb} @e@ř@ţ!á0r{íâá&Ů9đÝ+?Ř×ŇŇA]]óűŢ÷F˘WL~ÎD-‡ěoŃ{ŢxdÎ3śOÍÍí}?řúů™Ŕ_üÓk7Ę÷ŽŁţ���Ľp>ltÚ&~ř˝�ŁCÚ›3‰µ©Ł…"ţ«ćÇŤ#\tÂČŮĎ2ěŹ úSpŁý8Ç.î¤ W.’Śşúzjďh§Ţ'Ň–M[vÓîÝ{d¤-hás:;ŰčĐ—ÓQGěOK—ͧĆĆŞv†pťíÔŢŮQşÔ;Ç9ÂPŇą¦˝V ś#^řĽćeNç—ĹTyőlXüc«g®ź•0VŇgHé%\ˇŹÚ§ý:ZÔ��`b}99€}Y;ކhű„|qŰ3,äÉgó”ÉSf(ç,YůšuŘđ1oáíagż.3Ą,ogň”ϤťŞÄę†ř]â ňE//qb!ňÓçšuŘ!…H|#÷ŢAŻ8÷dZłęyúóďî ­ ô‘w˝’KŹ…čţcS"|¶E»g·S:ÍvtťĹ3y[Ąăý,âë46ÖSkk“\ďŮÓOkWo¤­ë·Ň;/~ýţÚOŇĎßG_ý‰Ţ=gĽw¸ÇŔńJßN™��0ˇŔľśŔľ | üÓŠJ#Ľ„Ëłh$›ÍŃ`ޢaQ<Ţ]7üž¶nxŢŰf‡Â‚űĘěżśču/ˇÉ¨·™TË›^NtŔňŔŁ“)żtfÓşµô÷ż^ďmlj†í4 ç…|ů˝4)öľÇÎ5��Ś ÜQă\Í`rŔď:Ď5Â2Ĺ?z]^ ?ů9\ljí:¤°¤ g ł ĄÎ)÷źgBÚ,âT[­-­tŘa+©±!hŻrŠŞÇW=MCÎ{Zĺť·Ň)JĄ«ěţ9oáô`Ž#$eEëŕYÔsCéżĆ¦jj._dÄ‘…Ö­ßF›6ítźCíŰÚHg,™+ź ;Žä,wůÇňŘĘŐÄŽ%­É–˘,H¶§eyçť���L°/'°/'-´aas!gSv$OŮAđ8öOFEńá¨:~t˘¨âZď°‚~ÜH”}'?’S á¬\W¶•0âWTňPŔ°ň‚�ůÂk]ÖŹ¤é‹ÂŮŮÚ±Ł—ţńĐúű?ž¤ë~{—sźĂŇ~ă(ší§gď€ÂëqG¶;fµĘó[Ú›(ÍB·śâ«±±ŽĚÔ­{ťóYD4«»Ť:;[ih`–Îí¤_|çctţ’:¸ňdďÜ®ž·«¶±eŰËTľvőÂ���ěËÉěK�ĘÂ� X9Ęéz ŤEËq‡í7?řf`Gúijjő¶Ů9ó‘wYT—žäŞ›I°¤S}ěÝ:§ÓÝât®Ń“~ţ˝o¸N U0NüÓW¨“ď!”Ř��0ůŕďftš'üžŕwsô˘Á‡Ś”^¤M_d ŁĽéGŠLÜT%ţyËŃËi?Çé@ň4K.śß|Ö¬nZ¶|^¤«Woéľrůś·ŚŚd©Ż`Ś} śJˇ…öY¶€Z[›©ľľŽş»;héâąEâ'RČ:NŞL–lŞ=/<`Íj¨S)żň¶+ţQ),„Pł×ů}bAP0"“mDfŇmőŰl‡ 9��ڰ/''°/'QsdŽŇ“É“ťł=!Š-tĘ.ŰNcű˘ˇmQáŮŁá¨5^ô-h‘©ą TŕH@ĂYçşYʱ(—Wv•ˇ, Fľ1˘ýPPP­Łĺ„ĎUfE©ůKhýćť”Íĺ¨uv ˝őug˨Ž\dŰÖ˝ôŔý«éć[¦GYK}=ľ°±ˇŢ±ˇëĄĽ»­˝ÉŐ×§ qĽ ţţ!jni¤9s;¨©ĄR©”Ľ—ţŢ!ÜÓG_Ľâ­ôš–Ńŕ×?Föž]*‚dÁŹ®d‡ź—'"���SŘ—“Ř—�”Â0í)7ş‹Ěĺ<<";Žv}Ńň÷Ţ~­_ó´±Ç˘ŮłĘĽô\˘c›ü˘›É˛u°Eži(ćĚYúłaíjş˙o·¸[ńâź|ť|ŮđJ�ç ��Ś=###čśMbř˝á÷Ś/ÍWPěŁf)[ţäfË ŮÚ™a¬ë4T…u5ÖŃĄÇŻ]Ƣt]ťă°h§#Ž8 ŇŚÝ»úióć­Ň®eQKoOíŢŮCŮL&¶ŮůBž†Gh``ȱˇňT-iÇaŇŮŐFű._H+ö]D‹Φć榊ę¨wîkŮňů´lŮ|) Ż5uÎł{ŃţóĺłµíĽű¬m×Ac©Ľ,ťhÂuBYîLtňŢc˛şĄÍR���ă ěËÉ ěËń§-Č»} ‘ [2–e' «ˇH<Ň "#2Ź/Ŕ!7ŠM8˝• ·, \ň¶'Ę e)źQB a›‘~„gk"…"™" }ŤôˇÇÓŞgźŁˇŹĽ˙UÔÚŇ,Ën߼“ľőĂ?ÓŻü!]uÝ tĹ×~FŹýóyRĆ·ŞŻ©©AnsTĘz9Ó Ś;˛ŘÚÖDÍ-J¸ÎŃöě쥝Ű{hďî>Ç®¤wŃßő şđĐy4ô˙>CbdâŇ}U^ŽX���“Ř—“Ř—�Â�\řÇ‚;cýů:Vń?Ť__sU`»łs544{Ű őDďycÚsü`)oąěÍ–ăđńźkCCutĚ <ë_~ߌ´ä‹Ľ±+Mą”ěOg\���ĆŽÄ600@`rĂďQ>_˝đc¦ă§ůLéeǵŔťňkąëŇůˇ#ĎŘžč­Ç,ŁćútäZétšZ'Ç~űď#g,›°ĺńU«iĐy?YŕÂŃwd¤ TÔľĺĎ­ÝJŹ?±–žxňyzęéu48@Éeó´uënĘfK>X�ÔĐX/gGWCă„©ŻŻŁ±âč…Ý4Űqö¨”j‘ áFY˛ČK+a{Î,í˛ŚuÓ?G��Ś7°/§°/kOŃÉkÂÎxb;(@á}ć¶—L#˙ÄÔŚ�Šnă v¤Ŕ:WiĆň:5\»×H‹%BŠ$Odbkl ŹÚ:Zč?ţőőÔÚP/GY¤ý»ţAąý!ęęžE÷<v3]ü–WŃÝ>űĽŘNmin čŽřźTŠŁ’§(ç´o׎^ęŮÍ)żňľ@ßmfĎöúŕŰ_FűŰ»iä7×xbrµč˘Ĺ?ŐĽ§���Ć Ř—SŘ—�$á6TŮ%\ž#Äär9ę+ígíS«čŮ' ěăČ4&/;/Es»iB)Ýűp]ůżčâ÷=IGżđAZxÜ=Ô~ĐßäÂëÇ\ř <Ćeî{¤Ož3‘Ě›mŃEçż–ÂĎvőăŹĐşgź2öXŢšn}ˇNľ—aev±÷?tĽ� 6 Ó<uŔ{U=JüaąQ} q˛ #ő—+‘i¤lß1B:âŹí:7lÇ‘‘˘×±,rń°ł˘ˇˇ‘:;»h˙‹#ež{n őööR6—ĄŽŽ6Z´xľS>h㲨eÇŽ˝´woź·/3’ĄgžÝŕ88r˛#™,mݶK¦ ›ęđ;sîňŮ2§üâgm»)Öř}ł ®“ËŤđc ßŃ㿇¦óGG°��0žŔf™:ŕ˝Gt„mż@3"´.ĹÎĐ۠™y¸ŚBžŕ]ř‘yČ‹Đs.§łĺ@ŮFň”ç”dĂś’,ď Śf™mUĆ2Ö=C…?~źľúąËhź…ł©©ąÁłŻďĽ˙)نľŢ~úÓďn¤GzśZ)i˝ąöşZ÷·ł™<íŢŃ'ëmmo¦®Y­Ô=·şçtPGg›ŕs{rúÄű.¦ş{ţBůŐ«Ľ jţsŚH��ÔŔf™:ŕ˝ ž˙ĎŢW€Éq]YźjćŃF4b[L–Qf¦81Ʊť8qp»űo˛›ě†7ŮÝlŔ&33ł ’%Y –,摆ęŻóŞ^uUOwOŞgôŽľŇTľzUÝuŢ˝çŢ;pˇ” C4üwŤcđ٦§%Üvů Ź»>çä"==Ëţě3Ć·]wâ4u‡Ë;đ‡Žâág+p¬2ľs¦ľ!(¦{ZńÜkŐŔ/±ŁŇq˵#ńĹO•bÜtś|ćz Ď˝a ć­@xö-ű¸ąąÎŢć­źŔťßřžc/ß#ćř›îCG  ~ăžňŢŠAą‚‚‚‚ AKK‹ŠÂBŕ˝â=ËÎΆBĎ Ä<¬ˇ`eýΫ̗f•3ËXkÁLú#± 2˛ţŹPHL·-śś4âů|˘ÜWć͛͛÷ş¶kjlÇý‡0vl)Ň32bfĐ –ŞŞú.ËĆr €ŇBˇÜÜ,ă<SEôpđY,[Ś×öWˇ!d8źĽ:óĆ˝ń@ó0c'E?Ćß°q߼š-ôŃ÷Ő,÷+Ý|)(((( żZPürđ`gÝ­C·–GćÝ´čeöH Í!yŹ”Ň’Ç•ü×gp\ĹÖĎ žăP‚ ‡­uf UÍŁ‰‰!2WňÁÚąźůÄů8{É©µµˇŃ°‹]=f:Ú;đŻßü1rs2ńíĎţŁ(qć5¸°ÇëµDŢF{‚8*Ňp!řf†Ë%ůVÖLójý˛µĹ°·uÚ¶kŇŘQřĚ-—ŕOü ™˙üKžČ8úŃ.VÂ…T†â—C Š_*(Ćţ( k$›ŐEÖ„l zĹŕ4üŢ+ϸ–Śt}ľě\JGľńżş6€˙řĹ><đT:aôĺřĹźăîżĹí׏Ć÷żU†âB?ĄŁK—yđŇŰ‘k`;…?ożô4>ýő…ÇăuŘ"ś¦ ÍAr`–pËĘĘrŐěŽŰA§    Đoŕ Śő†xĎŇÓÓ…°DˇФ˙@łćťâąěg±Îé�Đ#%Ň˝n[01ţ©¬¬?™™[:#F䡪ŞŃµÍö÷bŢü9ČÍ5‘׳Áń¸O, í%ďÂŕ:,XZˇą™Ć7Ý¸Ž ddôŹ0Ýk8’–M,Ćł{Ş ÇOP~XňK {áŃĽÂ!äőyÄ2ňMf(Ť>%éٲD@âĆ)©   0XPürhBńËÁ]Ę –ÖÜAQ4[śc s¤Mťź'ih.é{ßĚ@;®Řô.^÷*fىśöV4eć`kŮlĽĽř2ĽsęYhóĄAŞ€4·˛[Ňěl‹ćFr«`f‰łfNF 3„¦†–Č>/ľůcçâ'żzÔ°‰QX‹˙úţ0ţ©HËČ€Çç%óE¤źÂč0ě…­ŤŤčlŹüžx4Ă–›i÷I[k'š›Z´ě¬B„düMĎđ#;'CdúĚőçă‰çŢAýĆUđ.<&Ç–ý ; Ü;S­‚‚‚‚ @ńˡ Ĺ/şB}@§B‡·„g†Ů°r9ęŞ+íĎtäćşkz]ůŕgűyäŮ |ëG{PW@€Âˇż<\ާ^®Â/˙cnĽz$ěC§đ‡}ě5V^µUŘĽf%ś±,*,)ňÂ3“S‡ţ((((( >˘K.* đŢĺĺĺAˇ'‚ł\—™ĆZăĚ#,a[d΋Ň_a±áů“KP™8 %…?>ż_”űšyĘDTUmu­?t¸MŤM(Q ż?­‹Č'-͋ѣ‹Śí*ÜWa8<ŇÓWř ,żUU]g<‹âsSs Ć•ŽDšż29.]ç÷T ľČ~×=tČPä"ź°qO<^ëŻG‹”ůłš}/Ĺ=Öş÷ä(‘ą‚‚‚B˙@ńˡ Ĺ/˘ś,ÁŚ™mF  »ô5fY-ÍNa¨I9µµ#9ŹS<¤i’ňĘKś1sĘŃÝřĎ{˙óöo$F4Tˇěř~\˝úěš0¸ěsxyţEčđů-.e@‹’Ůb%Ö˝ţ4–ägăĘs梣3ŚŚ˘Q¶5#Ř\opą®ąh1Λ†Væ9gÖTć[¬Ći‘ #ßËČÎS3UW 1¸<9ůł`9yYĆş0:;tí~ 'GĚÉđăú+–â÷o= ĎĽ3yp·J ˙=*㏂‚‚BŞBńˡ Ĺ/ÜPÂ…ad3űÄŰľłłÓTő†3ĚÔ°qđÎKOş>çç—çÄ„±Ŕěé'ü u|í{;qĎăÇb®gš»eç.Ăé§źŽąs碴´EE¦P©®®GŽÁö·cĺĘ•x÷Ýw»ÔŬ­ŕŽonÇ»kęńËďO‡ß78Ίy§hXŞáŕQ™>×ÜÜbÔ×GSË_z Î8Žđ$ fŰtŻqO˘„›N§K2ĺ¤QPPPčřnĺ¤04!ď_ZZş‡n•ň2Ý%ÎŚ?0)vöĄ¤„N$lF�[bl}ľvĆč¤Î˨¦¬l–á:kVďĄ $Zš;pčĐŚWŠĚŚX9-5ŚQ€Ö¶TW›%żČą¦M-E:EG'Ř7 „lŃANŔŕvý%üÉNóaFQvÔµŰŮ~tĂ!C!ŕ÷Ţ –™p–€”kФI–ţRPPPPp(~9´ˇřĺŔBčKdĆ+“$伽EDýâÎôăÜŘ‚u×*sk©ź‰^i,<őŘnÜóë/`dC…{7Ř›1Đô;đ‹?ţ>7a&ţzéťxeţEh38^xŰjîD8Ř_q)|ł—cË„8^ ´ŁcŰ\óĂ»ĐŃ҆Žv»zĽđgç"­¨5ÇŽĂăócáây"ł#4©N UÄ*ްaÓ8tíAś:}<.»p©(˙•ž™‰â±cQWQ@{‡}Y,őĺwháłł3Śc…ŃÖŇŽÖ–´µu"#ӏ‚,|üňłń—G‚đ‘đmv%ÔÍĚä'š[+((((Ćâ—CŠ_*(¸ˇ„? '=(řˇ#ˇ5` `=ńż0oů`…k…?N\yϬA=hm á–/oĂkďÖtY7qŇD|öÎ;qíÇ®Eff–…â±ęb›í+))1ś=# GŃ<ÜtóMhllÄĂ=Śűî»îČďż>RŽ#Ç:đĐog#+łś-Ý%ÓţřPČţ\PPâţlZő®C”Łw-H®ůŚ{Ęľ.^üLů§    0xP)r‡>xŐŔ9yČhĺHв%řqĚKç‹-’ä…g„čGGˇá@XVÖ}¶Eiś‘ž˘âb”MŤťqmłcű^,X8ˇě3“MÔ1ŇŇü4q FŹ*BČđŠřÓ|ĆńŇz\îa 1~ñcf´d—ů»IßLŃ'ö ’n/Uíµĺć>™í',˛ yş8iLAPÄefÎIŃŹ)Rbq…„â—CŠ_,™&ĐÜYz\[8Ęią¶pÄŁU+Qč˘wÖtdvvŕî˙w[ô .“ťńéÔC;đ‹żü?|©t*~«g`]v&O‡´ětTW¬Ăć7EŰ„™ČúŘgQ:˛�“ΙŹĹgžf83 ÎeŘůBáÚŰ:đΛ+qĆ9 P6nDDm? áńç–ăá'ßBc];ŠGöÁ�ŽŻF]CľôůŹăż|“É© ŢY8j” [˘fńĽŽŽ�j›Ťc…‘›—!˛˙dçf ‘|c}«(ÖŃ@Aq.–ÎźŠ•ßo̤.Á‰˘żĂJůŁ   ŠPürčCńK…ż&‘‚ !ŮČ[–‚"ZB‰ ‡ö|„úš*ű3Ë|eeĺÚźiçżâĽÁůJ1ÓĎ'żŇUôCqË?ýó?áąçžĂŤ7Ýd´/>cđjO†łÄçőEý5×äçăó_ř<Ţ|ó |ĺ+_×ëřĽúN nřÂVQl0pĹů^—ż&33OôąDmuŘc}Ň\$ZCćýHV±­˘µú@@L Cę>öšfgň×]ËdM+· ›ĺt+ĂŹn-ُ䪣áKRHNG…ß0n0­ńÂ…§vŃş:T‰ÖÖëرáőyťťi#[~R^ŻŁJ ‘›“‰¬Ě Ś],„JńŔl–d €‰“ˇułGć#Ă*ë¶ôćâž0%“%Ö÷a—‰†7×+±Ź‚‚‚Â`@ń’áuaŘbrX“™H$α˙±V™Z[Ł®ëö$šź­ýtë¸rť1Éş—0ýŔÖž·×ŘĘ‘ÝřŮŃmřJÓ1ŚĚÎC°%Ś›/Z†ź~óv\2FCăÝßĆń k±nĹř´ŐT˘Ł® GŹâ™ŢĂ%×]†˛©e¤*2۶rí6|çA¨Ă‹’â4Öµ˘¦Ş ~oFŹĆ_ţöŢxwMîhs,(ag4bFź+?ÄŁĎ­ŔúM{pp5Ş+ıÉSó ł‘ž‘.˛AÖÖ4cÉě©Đw®łxľ)嫇#}©    RPĽdx@ÝG…”đGá¤^RŇH<�‹Îö“ťť§ŇdÚ$ cGy¬e;}ýßw !ŽăÇŹÇ#Ź<ŚĎ|úÓH7ś6„š“×pčřÄd‹|ńŹ\'¶‘Őřę×ţAdţai0'ŢZY‹üÁîAąĆqŁ=<>Ňżtleeĺuą'î%wTSS‡ą–/}%ęQPPP<HQ­ÂЇş—ÝCrŚŔ'"1mü˙X�zc\|E“1÷3ç—Ť@O@ţĆr_'ŽĂ¨Q…®uŤŤ­hljŃCiBđSZ:ŮY ·Ť7…BAt ¬¦f ‡LX8eBfĹ5ĄĹl§Ěű˙hŽůTČŹ¤   0üˇ8Éđş—!Ę%ř9ok]ŘŁ8D>a“FO"#Ą=ŹHŠ~¦€] …qé/ ąśH ¬}Ć˙ăŽĹWßŔćí»q´ĽűöFˇaŁĽőŇĄhyáAăąéDKc#ÂÁ tŻmŐ h¤ÇhmŠ”ÍµŽšnpäaë=r¤‡ŹGsKěŚáňs đÝýÁŕĘ­vK(¨ĎĘË×÷ükkđ›‡_Gsf.~ň§'°vű^TV6"™UzŤëÎČLCZ¦z(„iăÇ�övZýĂż!DúLAAAA!Ą 8Éđş— &”đGᤇ…tčţ„ŰmYKřÁây^«†ôŔNŹ<Wż?Zî:÷Ě™3q˙÷cę´©vY/FŞx=^[Đý8˙šËĺ6^c?ݵďÂ… đĐĂbúôé®sýĺáŁxü…ĘAąÖĹs˝ ű|ËÚ÷Ĺ_÷Đ9âL Ŕ+î­Rű*((( .ÚiěTP÷2yDÄ>š+CŚŠ@”…23�™ëu÷d8üĆčlŃؤĎ)Ë}ĄĄĄ#?ż�‹—śâ*7EńĘGŰ÷‰RýîlčlCh߇®| ÁWAŕąż!řüß|ă1„׼ýĐnčÁÁă`Ü™w’-§0˝0ŰÎňcާ°päD>;ď«1O!4k^SÜ �ĹI†Ô˝8™aĆâ3–€Gc"3{ě >Ń“n˙íšE޶Yťí~tVŮ—›¤Od[´ţM1–|˛őĆ߇ßÝó ž{čiLŮ´çd6ʲłđTăř~¤ŤBÎȱ8\݆ą§N5ŕ±?şăŕÓĘJQT‹şĆz!„·×’ß1ĂŹqć†Ú6<ôÄ›6—ăßěĽ|ĂyÄß}—\qţçîcŇ”IxćµU‚S··,Ꮞ¦Ć°,KľÖ7·ÁčDpĹóĐŤżÎŚIvż)((((¤'>P÷RAÁ„ 'śN΋r�ĆŔ žô„űmß°Úő9;»ŔőyńS5 $jëř§ît-7®żýÝ˙ˇ°°�c°«YÂŻ�٢Ż%’YuŚ©qýŚĚ1ţÇ’Ń>F=ŰŽ(?ýůʏő“źÂŃŁGís~ý?>ÂgŁ¸ĐŹÄ’y^<úB$Z;şĎ·­[eĎKßš Št v ŻK:Âśó ý‹Tް Aöý÷WaĹŠ÷±sç.TUUď‰ rssD–»ąsgă’K.ďV…xOYNTˇX|äY¦řGÖTЬl>fVASLç٤ą™nf«™7:Y~/z.MQwvN6¦ĎŚuk·ăřńz{Ýöí{qćŮŤČĘζJTőŤé­Ínzá˝ŰşdŮÇo¨^aüÝł• 6}>´S—ţ-#¦y=LóůśäuN+Ę17Ç Î,efOЦ4>^ëzěűkr˰p4™ËúŘ§Š›*((($„â—ĂŠ_dĆA+Ü„R2iÝa?ÓM ěä“&4ç>ÖžzÔŃě̇†­®˝YĆÄÝšŤ‰–BgźćŘ%”–ŽĐ”2FL„kjáßżľ€)¤cLóŤďÓ7Đ€ŽP#ëqĚÁ Ląo¦—Mưzů Ěź6#ÇŚFMůqŚ?míČL3®Mr2«ˇŮ™¸đěYxđéwáďđŁÍߎ¬Ě,×uçĺäăÁÇŢŔgo»BF †l騬iÄý۶|„Ź>ÜŚtźa? »Ş)7ą|{kŇŇý>}~ü/źÁďîy‡Ží‡˙¦oA÷x#˝¨„? )Ĺ/‡żTPPÂ…a€d˘—ămĂ—%Ń!ĹńŤíuŐhj8P8LOϲ?sl¸h¶Ť˙ź=¨© 8ÎëĹřCcĽ\(śš1řôđŻC�$E@fVsąę{ ˛D@"zÇĂ2Ć>acŇ(ţŃPTT„_ţę—řÔ­ź˛Ë˘ŐŐđŁ_îĹŻ~8‰%s˝˘oĄ'##[ô}Ř*WŃX_‹†ÚäŤ�\Ć @fţi76őűyŚč‹h$ăhQÎ…ä!ß©†uëÖăŁGË»¬«««Ó¶mâá‡Ă…žŹ/}éóČĎĎÇ@ďĄK/˝Ęµě?˙óGX˛d1R Ľ§jŕś 4;“ŹfŞyL'Š‘Xu¤XRĘŚú5K$;†qĆř"ô2ëOfF¦Á ‹°tél<÷ÜJ›˙67·ˇU”6č;‚;7!đÁ›ĆÜ}-s‡ ôíë ďůž3.1Ľ7“1P f6Ëłńł'ąä¶Ł˛3źáGSČŚÖfиfGŤGJzi€ÄŃÍťe‰¶c ĹúŠ_&Ĺ/Or’^ff©‰Ę‡h yt×Nć;OáŹűłµÜgp/yʵĽŃř”{űčiičĽësđ~ő«H›<Ůŕ[^Q+´ó#tţâżá}ôqĂ€× ĆĆăŤíŰŤ˝č´H'Ő2l€§îţ÷g8đÄ“hżůЦÍÄiËNĂ®ť{pĚ&Ě´ĚLł<™uV_š·\» Ďľ¶Vd÷iiiEkk›ÉuŘ6Óšcy[ň˛3ík*Y‚ěŚt44µaĺ;eŮĆńłłÓ ۤ_ěßŢމƆvŃ#uƱëVR€_}ďóřâżŢŤš?€6ëôH)ÝŹ‚‚‚BJAńËä řĄ‚ÂĐ‚*őĄpRC Z»yÇ9°×ő9==Óőyb©99[öęhEîÂý˛żóÎĎ`ÎÜ9¦č‡´ČĽyD Ź#űŹĎë3K})ňx­u–XȵżuĽiÓ¦â‹_ü‚ëÜ{äëĐkfźŽăţ™JKËŚso"Ą"ĐĐÔ]÷ZAAAAa`‘Šĺyä1|ç;ß‹9hŽťőoĽńľň•ŻăČ‘ŁPHÍ{šŠ°%Čš,óĄYY€î™xQş�t{g!�Z\ę.ó „’Ş @ľć5ř]n^¦MźŚŇqĹöş€qŚÜÜLô :kŢ@`Ő«É‹~śčlCřÝç ´ QŢÖď‡ßď7Y”峬2^Ěú#ćͬ>a]·Ë¸™â®H¬|¤‚‚‚‚Â@BńËáĹ/űš=§w-)wŠd˙¨ľá=›Ţ·zS}¤ěWÔ~& 2÷ GµL‘âą<‘Îż˙żąiÓgŔĂŚ \ôśmÖ¤˙í„W˝ŹŽ›o2Ň…ŕ'Ç2ě«1Ż-Ă;eËĚűŃÂó­˙‡†—_Á{ď®GZ^ľámAX–¶•m4v:uî)řň§ŻBg°Sđ·°qŤt 657ŁľˇYY^üŚÜ¬ ű\Ü· 0×^~†Ů—0ŹuÍŧaüřbŮĂčěpâu[văŤ_Ţó2ڶ\vńR„v¬±d_)((((¤ż~PüRAA NbeľĚĚ1-ťˇ„Ű=°Çő9--Ëőyâ8ł$Ŕ@Nżż÷0:‘áôČ‘%¸ýŽŰ]í¦®B wć „čG ~4Źk{—�Ç:˙Í·Ü‚qăĆ٧ uüéĂ~ݓƹ¦˘EWî{˙ČátK§9§đG ˛†6řޱă#lٲU‰ůR|݆Ăa¤^xá%üĺ/ŹůČĚĚĨQ#Ĺ{1ÇŹWŕ_˙ő{hmmĹÉŢÓP(…ÄĐ% E’Oé–°ößH† ËĄ ĘNI45µŕý•›q`rr»Lñ¬?^¸fi­ôô4dggŁ/lXŕŽučxћޅľw&…Őz´Ď¨Ě4Óq»îSX7Ë2>$ÍvüŘ÷LÜë®ńô Ă uuuXż~ń^8…Á‡â—ĂŠ_ö?¬’&w‰79Ä>ĐŰÖW!řŕ"ü믠čą˙Aîă˙‰Ŕ/ľ€ŕłżŢŇčŘ×1 QuŢ(îE·[1u©ńźţ 7ß,Ä>˛ť‡Ň5“+§Í›ŹěŢť7Ý�ÝŕŻŃß.ÍÚŮÓÚŽ’wV`ŃŻďĆŤ[×b˙ËoâřrěÜř*ŹT µĄU癑‡Y//9kN™6i~ Ů™>LW€k/; ?˙îxćţŕŞËĎ6Űew D[ż|Çřú]Wăň áűßş _řÔ%Żö[ühk @ňyźß żĎŹŽ«7ĺÇdÉ))5ż‚‚‚‚ @ńËá Ĺ/T©/…aŠd‘R_š»�u˘…?Ńâ“hqJ#l yćkŮŤ7Ýd˝čťB™(h]ČrvÉ ç¶ |~ż·Ţz+~ţóźŰËzúľ˙ŹÓ GÓŔ9;&Žë&ăĎÁ˝Q{XôÖ˙AłmÉŠŁ,æM›ńöŰďĆ]/t%%%8ĺ”™4ibÜmýë˙mž3g¶Hí¨0đŘľ}^{í 1ë­7‹ű¤08X˝z Ö¬Y+ćůpůĺ—B!µj‘|N~÷»?vY~ŃEŕ&Ă \V6I|ćŔN]°÷îÝgoW^~ ÷Ţű€H›{˛÷–Â7śś“ü!l }l>ˇ™YcDą/–‘Ň`‹H"Ç€đŇ䎄’¦$6ŹÉţÎÍËB¦%ŕIÉďüiiČÉÍĹŘŇ1¸äŇ%xőĺP\”×§{:° ÁÍďŁß°ţ- `P4 ©‚‘Y~KĚcBF‰‹(m[čĂϦPŢűŔz 0uěž}öyěß@Ěá¶Űn…BňčččŔĂ?ŠÎ΀řŽ‘űc(âÉ'źĆáĂGPXX€;î¸ CŠ__(~Ůż°éHŘńŮ^Q¦kš#›!×7T#ô·òi#đŹřňł3pčpţůg÷ ¤i¶ţí»đÝţďĐr‹Ln )w±N§»Î`V¸My˙_‰ŘŮŤŇmvŘoŤmüóŔ÷ŕĂlŮŚđĎďÓĎŔcĽ#–ľŇŚçgé‡[ŢłuK–ŕřůçˇÜ°źi>Ż1ůĚƶŔĘşFT×¶ŕw?ú2&N.5¸r¦Á™ýČÎËO<‘f‘dśş±k·^»Ě –„EřĚm;;“Ĺ 4śŚŤ*)Bmc3^~g<˙§Â –Č CünŢwßhjj÷îć›o0ÎÉq÷â™gžó#F㓟Ľ9鼅7ß\Ž­[{|°xńBś}öYč¬YóV­Z#ćďşëÎ>h(¸A{-í¶iĆwüË_ţ"âAńËá Ĺ/Nv(áŹÂI ©ţ 艭őĺ÷ą>G‹O&Ť÷ ¨Ĺíć=Ţnć ŕę«e]M˝ë¤;&Čd3mo8rDč„íe×>şó¸—Nößüć7hkkg.7Ú´ńĂ&,ž7p5D'v“ń'úŢ:Ăć}JJߎŽN1ŐÖÖaçÎ]8q.»ěˇěVP8™ŃĐĐhĎ×××C!őjżµ4VF×ěţüç?‹oĽŢµŚ†HÖ¦ž={ľő­˙‡Ý»#‚ßçźźţôm19ŕ^ąr•aH| }´Óx.„P–YůćĎź‡«®şÂśK0kŐWżúMÄÓůJ¤Z˝l1Ó=l1ŹŕV˛”—Ą¬¦FŠ€d9°°ťHěVVér–dee`Á™vö™d łţbúŚ©(..D~A±<RεG‡PťkßHúüIÁŕ˘Ř°Ü°`Ý„TÁČśL+*;,÷ŤŮŚßŻfWdă˝ář±o‡¸ĹšCnžz`ÄßÁ‡ěĎ55µ¨¬¬4~ŁFB!9pÜCŃÁßüĆƦ!+üQPŞPüRńK…ä`g’tŇ—BY·Ihď ?˙řę«0Ć"T©Ćqcľű|Ć3ü_»ż}đe,ň7đÝöoĆí7ů¤$Dś·řQ´U´ŮXP=k2,eé¦uą•QË4™đřióç=ŚÎÍ›řůĎá}úYx˘ľwňŠ´Ž�ŠVĽŹ‚÷WŁeŃBTÝxö塺®›·íÁ+Ö =3 i,k4ĽhäKQ,é6ŁÓ팝{Tbú¤ř}Öy,A8ŹŃÜÔnóAŻGCK{;ü™lŰłűĘ+ -» žéKl–.Ó đ7çüóĎĂsĎ˝`—’ˇ€§»@I]._ţ¶ç¶]tá ý((((Ă◊_*( W(áŹÂI ™Î/¬{&čoj¨s}öűÝ‘×ăFSA:pÂźwVŐş>źqćî€hÝŽŁž7#Ď=tbhLs§Ycţ°]Î@”4ŕ_gş^č]5@2 GŇgś·ŢzË>őŰď×bńĽ ĆŹu}ľt×çĆzŢ›X±?沰5(MµÔŤ Îďâ|i7 ýěŢ˝Űp6´ ‡ ٵIôÔ€YádĆg,EKK‹PîźwŢąPH=¤ŇŕŠĎĘ;ďĽçZĆH˝čAłá źĂĎ~ö߮匢á Ú –~ůńŹ†Í›·¸–ÓŘÉßmN4”^{íŐřâŽw(A ś“@$X{Ő«iş%ŃZjI°Â–3Ć\<ą },ŰjfýÉboŠ€2ŚçÚçőő*Ła`ÇčÍŤIm+ťHIť¦ć8pt0v2z ž.2řm0$„M}áHŁłÓŤžŁÓ*l ¸4ɧâÔŻÍEügş1‹‡¦( 'ÎČHżouuő"V ’GAAÎ:ë a?~\ÂLś Ĺ/żTH˛D©–ş•>ŃŰ—ď˙f\sŮY8\^‹S&MËÉ­˛ Y^Q‡Ď^¶˙ô/¨Úú><sĎŤčźŰš W†^w±¸(™_ 2ćXŠ™¨Ľ:\RjÉ%…�hˇ)�Ú´ť˙ősřžyŢŽNÇžx Γ»v2×­Çn_Ţ(‡‘gź†ďŢu#~ňçÇѡş˘%Ł‹‘™ťi¶I‹´ĹÎäiđćńťÓýYHË/:Ú d‰fz#c·–Ćv»o™Y¤˝=Ś-;ö qü\xľôŻĐF”Fú]jŻRÓ,“'—aęÔ)Řłg/ŞŞŞ±aĂF,Z´0á>Ěf#¶ćÎťŤŃŁS#Ăç©§ž‚1cFÇ\÷î»ď÷ŻYY™qłú0s‘‚‚Âđ‚â—Š_*( W(áŹÂI…č`¶¤›Ôom-ͮϏ{űÜ:Nřł~‹Űá˛xń"ń·K}m™Ĺ'ěAŘc {4ÖµĄ&Ě^ŘŠ4Î cŔ ‡lPX €Â‘l@Đu—hÁÂ.áφ­ zíą9vę´µ6Ű×1Ĺ?šą´đg0Jz%ńăÇwQSKĐÉđâ‹/ăСâV+ÉŮ‚óˇ p˛"??źřÄuPH]¤ŇŕŠ†Éč2ŹÉ<?Śtyä‘nÓÔÔ„ř‡o ˘˘2áv|×0Íyss3ľýíĆP†8'†äRŰC¦eŠC4Kü»Ţ‚nq—‹ĂŘl^úť]ĐÖÖađ§täćĺ"ÍźźáŚđô2ÍqpĎ–n·qŠÎÍ<"»P7;îßŃ'áËŁ‰ôÜşÉoÓŤëŚÇIE6QjÍX%ýżĚö{ĐB-BĆä5;^ÍĽ‡žH»nžÚä‘ÁĽX§§–�"bâĉČÍÍÁşu„€ĺśsÎV©Ż{�F/¦RŁ‚ÂÉĹ/ÝPüR!!Á{ňcDl#­>ZĹł&cÚřŃXµá#ŰVć18Sqa.BťA4Ö6ăĆËÎĆ˙˝ń"´YgB?~�úę—ŕŮł#r=5¦(¦¸¨Ő1ŻEÍËL™î˘_z×­Ĺ"Ňć/�|­[ĐńóźĂĎ`ѧ{úŤ¶\hÁĹÇwŁ~«G¦ŹĂ§ÍĂóo}€O^z&vmŮés§!3+3Âá&ĹpHG§?••µh.ÉD^I1ĽąůhŞ8ŽĆ†d¤§ ńą8ź±ź?# aĂĹÂÇY[p´˘±VĄą]CŠŃĤpţůç6ÉC"KŻOź>Íŕ”ą1·­©©ÁúőĹ|NN¶aÓ<©Š~â V­Z-„?éééB ¤  pr@ńK7żTP>PÂ…“ö Kë›đ'‹Ú¨!Ůłß}ţiÓ¦‰ż®¬>B¨CńE?¦ŕ‡Ůn4ăEg'ő٬’0÷bc›pČ™ý'l‹"óć4cĆ W[vďkĐkĎŠĘLí¤°ďM<ńŹÇ'–Ąš#&pĐyůĺ—âŻý»AţBřđĂíJřŁ  ŇHĄßÚýű¸>§ĄĄ‰AqŕWżşŰ5hftŕ-·Ü„9sf‹ÔĽLź+Ó˘LŤ~ć™g`ٲłE¶_ýęÄ@ô˙ń_\Çýä'oÂi§-ó©–Ub(ľG‘’.§čÇĘ�$"‹ĄűĹéÜГַˇY]}vě8 îUVf:fÎśě3ÓOoDĚôŁ×V%ŢFn ça¤j5Ľ¦tźYÁ“XüSq€!fLçŢ€%ąŕô§čńł ±ŤtĐx}ńä÷z ‡Â–°Ç¸W>+S¦Ç3hV·±ŤÇë±Ë@Řn´•KĐůÂčlbʔɆĆţбÁßGFp+((( (~©řĄBňĐĂf0 $I.+™Ö5׎íÇÜ%eČ4žĺ†¦V›ĎpËĽśL ~Gn7÷”)Čzr9:žý?řvŻĹÍ—źľőM”äg#d<·žĎݰ)ŮPHGŚ<@zÜ<‰Z¤saä9ńhđĎ›˙"°Yf�zV€b…2űyńŽ(üĹ~ÜuĹĺřôć=}<ćM™›÷`Ti ŠGš%q˝Ůy··@ËĚEĺŢŘżç0˛‹ŠÄÔŃÔ�/Ĺô#¬?ŚúÚf—„Ş©­ ŤÍmh qĚw™^=Ň÷–Z~HŮć™ç­·ŢF ™"Ţ|sątÉ2aü}TPPPHU(~©řĄ‚Âp…ţ( {$úˇ—ë´nJ¬2D ˛36ăϱJwËčŃf”‚,×ĺńXY~8ŻQŔىr^f¦+:™ăKOŘ*}e9śÄţş(bf krf�˘ă#¬[óĆöŁGŤŠŃ¶»vło#î{ ěqt,ńŹćJp©ć¨q‚i'L€}űöŁşşF­Ţ8ďH á}üřq47·Ă@cÇŽĹĽysPšëQŰłĽqÚi‹áK„•+ßÇÚµëĹ<é,…ĐđşX7ÖL!\%JśĄ§§!//'N0Ú8×]ŢÎ'ź|‡çäą„Rž™’›ÄqXŇ‚„9"Z__ŹŤ7‰c666Šţf˙PtEÇYˇĂ0N1׮ݢÍ$ŰŚśâąHľő!Ó'ŻZµFĚă_Emm->ř`ťŃćĂhiiQJ—\r‘k۶ĹůxŤŚ$`ť™3g`áÂb›»ďţťřËlSń"Ű{ú,E·™ßµŻýÄőoٲU”!a?syaa!N9e&ćÎťó;Y^~ Ź=ö„§(nĆŚéö:öÁ}÷=d‘źź‡Ď|ćŽëZ[[±iÓfq­ě+ţN2bmܸqĆ˝™e˙+tE*•Uäo¦EE…˘~u4řýă÷"řÂß"âȑٮĽ<ć/~ń_6mŞ˝Śß©QŁFâOú«˝ě‘Ggţ®3ín¬~÷ŁSň¦ Rµdf*A×5+Č:lń‘pTjM¬‹$�2yšĚ°ĺď[9Ď΀ůLń÷łµ­gB†ń|˛T•&9a ˇĘŁÝnCAM{ €UŤx§<€€qÝ ‹tśVZÜŚ´ÄâŠ~«Ť/gď~SťÇĺ»:—ă*źĎk „âl“f |„ŕÝëČŕd ·ěČxMs”ű [â kű20Él?Ě–IţĂß*ůZ[ŰÄşľ śďäŹüc‚·glÝş 55µĆů|Ćy'áśsβ934‘cI.Âű&9Z<Žĺä<wÝug\>HŢ÷ÔSĎů+ŻĽÜő›,Áß]¶q÷î=‚7ŃÝi‚»S?ĹzŽ$×,,,Ŕw܆x8vě¸ŕ6äHڬ”܆ýźËv‡hŢÇ~\ż~ŕP<S±“Ó1 źďôL5Ď~bĘwöŁüůě°ěű•çŹ<ôĐ#¨¬¬Ë™r>‘łŹďGŢŹŇұ¸á†OtنŚm`_r\ŔçiÄâąĺůc˝Ď‰Ţpd…Ô‡â—&żTH2ÓL$ŻŹsĄ&kYYwŚżÍŤ_‹śĚ4dÜŤĽŃÚXdGÝx¶¦MŤÚŞířÉ>‹Bc|\SQŹĘň:řŰZ1ËÁ¤.’+Ńük—ń˛i®=śl¤»74g)�2ě3ţBç¶­~ű_öĘk~#BĆ{dĚSĎâżÎ]†züuŕć«°`ę8ÝsÇ÷—ŁtöLކ?'U7˘`ÜxĽ¶r3N›5Ţô©đů˝h««Á±}Ç‘=˘ÄŕňaŤc<^4ăuŘĐމzĂö¤Ź4ľĎ9±ů¶M*‡hźˇ ÜŹďgÚí˘y$ßŮ\Op]<^Çď<ËĐ0°‘ďhľ›É1Č—řŽćo^<›grÂŢ"YNřţű«˙ Č‹řüݦ “}ĚwGox]uuµaĂÚbĽKŽܰŮŕ˙š8†ä ń˛4%‹T˛Ůň}ÉŚř•••Â&Éýi«Łíš\QA!Y(~iBńK…á%üQP ş}´µ¶¸>G‹O23#CÚ@K‹űĺę$ěRücfůŃŇŚż!ş’˘2ýXŮ~śŽ™-H—‚‘ů'’ý'le˙‘˘qî<÷`ˇą98 ×ž•ĺ>váŹC”ńËDڦ¨+<¤•ľ,Í AC<VÉ‚†ő—^zEîť a«­­Üçž{ŽKIÎÁVvv–„spםđ‡T"Ďx>z*úá�ő…^2@ ®ĺHr˘*ťN”k®ącÇŽIx,ź{îy‘!I‚®ŠiéŇ%8ăŚÓăîOc#ś‘Ç"QćtĆKű<`&hyá…EŰś¨««I<Ť%—^zq\džóXO?ýŚľŠTž~úYa�p‚Ž9*űŮ7ń˘¶$zű,ĹÓ†ŇYČAľ,iljƄ뮻¶KiżÁ�ď3ď ťN°N}CĂvqŤóçĎ5®sYĘ L´··»>Çűîňűöťď|‰pŐUW"ńć›oąÖť}ö™1Ť‰|†ďż˙!ăw¬Í>ż‹EEEP¦Đ,7‡ĺTŃĂfĆ)1łÂhvüµÉMd™(füńŁ/((ČCÉÔÔ6blédgĄ;˘‘µë­M‰×[%¶Śwő“‡t´éYbů+•a”dµ`ćH/2|ÝüŽ·µ˘· 'd—ńú<žn~ŹŁ‚®c!ÝxçŃ–&ďSÄaf:ǬýĹłdfeüI5šÉgKrł ĆŰ"Ś)S¦aßűąfeeˇ?Ŕó‘#PP#A~ …ÂźüäÍâ7™N'ß#Ǣ#€Ó’%‹´$…FäB|ź;A®Iţȉś÷šk®ęq„:Ż•ü‘!Ăp˘ŕé /‚뾀|ěńÇźt‡ŮŹíí•‚3ó<ätń„ŘÝb"ľç(öq‚ŽNäI|†řŽs:xfÍ:Ő¸ÎwD_đ9ŕçxŕzi<ŽŢŽË_{í Ń÷uwâčŃr1ŃYÄ÷ň¨¨€”h$Ă‘z Ĺ/R0‡#˘ÁfÂhk^:Ťç÷ěë Ď_şEgLr éđĽjFŮ8 [Č‚h,ź>q¬(kE2~KGçáÜÓg#Đ©ŁĽ˘A„ÄÝX4¦hy‚Étň‹®I~ÉDäÜK‹™˝ÇyLŰkś?mî<čĆo}Űç>'„@aűĽ‘miEĚ4:ĺ´Ő«đ/żzů=Ľ_’‡›Ż8#‹ Đ=¨=^‰ÂqéhiëŔó÷=k>q| •5V!łd4ë3DöČĆŠ dü‰×^Ó܆Í[öˇ°(GŹU�3Î7ĹT€SďůşvÉ‹.ş�<đ°°•˝ýö;.~Éߣ+VŠů4śł<X,ОɬŃĺfh§âD.¶ví:ÁĹ(Z9@ŢC~L~#ŃS^G^ôŢ{+]voŇ,rEN j»ŕ‚ó{]Ć,Ul¶|öČ·i·u‚űó]HAYwvM…T…â— ý %üQPč8ë śdžÄ—NůWÓB9tHb0­{Í^Ć€\F*›@°J{™Y(ř ‰ě?ćŽĘţyíÉŰ ˙�jytcŔixďI/źfí‘Q7ůBŤ-# Á"jTÓx.k^óYbć–„ŕ�śPFäĆť5RP’ČČ €0úm ĆŤ+ňÍĚZâ[¶l" Š1QŻH’_~ů)Äl5T«sÍÁ#k‘ł׬Y+"Ab‰“čśb:K‚Ć+^ Ż™Ât9etQ_łţ0ü‰'ž˛żłŚ0§Ń$##C8ĄčLˇř‡â:ĺťH`ňę«fdۢE Śö–Šö¦9śÇ4®Pd#…,ěcž“ÎfÚˇ“Š÷÷í·ßŤ{Žľ<K±Žőꫯ‹ű{ŢyËĵ3˘‰‚FEŃŔgęÖâôÓ—"YĐyɬ‰Ŕ ;|ľŁÁëŁŃ…÷†™!háóÂ>eÉFńYg$qŢyçB!uý[Á¬ýf`sbůňwân+Íü=Rçˇ '÷Š/&6Ĺ<¦8D·č–ŹčŇ‹¬X“őź“ÖóŚ~N¤§ů0}ć$;Ćď–×QÝ+:ÔŃ˝(‡˛ˇ#6="”ĂMťVlđGŻo"2×Ţ{áᡰČRăôU|“î5ËKČ{(ËÜšY‚x?#ĺ˝ŕ(Ůf;ŐRéRĽM8 {Ś&Ďŕ{ŽÂŠţ*!ËcŇŘNGŽĹw<+iÜç{ťÚäś/+›„ɓ˷á{—ü‹íaćȉ' žŇßŕńźyć9[ôCŽÇľ`„9Ĺ,äxŚ`—‘_|aOŹ_|Ů~7PĎČxňQf[ä1)(˘ř„ü‡ď¦˛˛Ič-čxˇ‡Ń•Ľf$$×ăýÜĽy«¸ nżýS"#cOŔwÔ+ŻĽfgCĺýd[éINĘsČ,¤çĐ@,Ámß}w…žhLŔőůj´áůůç_í JJFă0Óy>ĎMŃąE\7ß|ŁXÝqd…Ţ@ńK…”‡ťńDZ`óŰ(\÷´Č¤Rť‘ ýôk!sji騩7ě993&¸čcéhŽ÷mµrŚ÷feU-Ç$J©ď·Î¦6PbIWľ7˛‡ Kş”ŕŘ|PKYšőź.Ôĺ"#íÔŚďeúoîF‹a÷ÉÜ» şZ€×°‰śúÁj|őćO`ËžřëŁ/#3;gť·µ•đoÚŇ1Ł0kĘhdkN+C ľ•ű›S żał ´·ˇĄąÉxßgăŔˇJĂvęEŔ*Şkˇ]˝ÄˇďŇܡšđG€ż1‹/YlČ5hŻa 0‚ÁdŇŢDw¬Ě/.3„´ŇÖF»ą y ßď䍴×<üđُí¶[{ť)q(Ľ“yôčQÂţDgżäu´‹uÇëÖ­[Ź+Ţó Ţ$ĄHÜ·ĽĽ\ptrPň6 µzšń3•l¶NŃOff†}­<Ż•¶M_˝†"żTPPčO(ᏂLń‹ć‰ďlÉĚĘFSC˝ý™"Ż7ňőimÓź;p˙śl/jë#ÂľüťFNz]ÍúgÇöJ/üÝýˇ)őe95â!úaĆk …Ü˘ź¦¨ 99> dĆźÖV÷Č}ďDf–řÄ˙p>dĹŐáĚLŐJp`ÓáŹ2’¦¬l’P|;Sć2í#ŤíTtóůaS¬AC;…? ôń„?2˘ś}ÜÓ 1ä�’Ůt–.=͵žŽ!ŠHč(‘QśÄBUUµh˙ő×Üuť$©ĹĹĹÂA@Đą=ä�”QKL?ëŚ"¦Ř‡Ylx :¶z 3ŠůuńťbŤBá‹tÂńze*e–rXĽxQÜcŇ€ÂHzžc‚i„ˇ˛?úXĽ®×_3f”şD_źĄh050ŰěĚ^Ĺyîąç>1ŕç}âóěw—©E‹Ć]Ď‹ýđţG?kÎ{C ťYÎ4ÁĽnř PĽEńźw¦PUHM»¨ĚJĹwšőÎç=:/‘hđěDt¦ …á)rF5›Âöoł˙Ŕćip8d"µ<ýŔUř&-Íĺé%Ň2şÝ„mÎO÷!Së°Ĺ?Â㥠»˝¦$Î1X0łJj®Čt] ¸¤çIfúńČű®ŮĄżR RXA!łÓŔĎ÷¬,÷Ĺ÷~ (V&§)+›d/#żxçťw±qăfËlË(Đuľ«)^aűýMĐ91Âr�Ą]Δ¶›Ü‹ý¶˙~Á­’ĺÜěGiPĺq˘9’YÂt¶pšßĽńĆ›¸óÎO÷Şt/A'Đ…žďâĂt± )%ń<|/]}ő•č U.2ĹĎ yP4_¦NrFŠËęęęlţÉţâ˝¤ŁŠb':Šb9¨(:—QíÓ§Owe¶äqĄč'VvE:š8xůĺW·ĄĐYâˇ;ެ Đ(~©Ú°DËa§}Ěř]ßţ>.Y¶…ů9řĂ‹ŻF‡‹ˇ§eš†łśÔ4´˘±ąÓ§v@U5Íčč !ĂŕxĹ…YđűL)MZš™éi㎠ž×ŇŇŠŞ&¤ÎÂąĆ2Zv˛í–8˙jĘ+ůSt۵Ó˘tAN5RÔńĺ–^ă·>í«_…÷ßH¨)*ܶţ+ŻÁĽeęÓ.jpŔůfŁÓ°µN0Ţ?őűvĂÓنÎ`*ĘëŃŮ4ŚM(™R†ăý÷ú»kqö’Spěx(!~äx%Eăŕ)geWŹ4Ű[ÂÚP(Đa Ú† ›ˇČYÚ’hbɧX ]JŠ~Î<ótśvÚ×z‹<đÍ7—‹w<ůĆÇ>v †;h_\¸p>–-;ǵś™¶@fň‰ÇëŤC–>c¦rq'%/Ł]—”Ü˙­·–‹ěî=y_ĄŠÍ–ÜRŠ~FŚ(Ç  P‚•çĺµ:ł')( (~©  Đźü )ۨ'®ű—źŐz´›FŹt;E2ß YîËÎÖ’SAăo &ÇvöľvÖź+˛ýxE…ëÜcDŰîÚ[Übă®Âźl罉 ím#}o‡ć�›=98fdrO@ÇÉżx®¸â2Q2*–2é`©ş·4’Ë4­»wďŽYĎ•Ď×°ô´ ű¬Í}ůĺ—v@JĐČď÷ű¬6V&<ËLĹşN S¤ĺđáĂ]ÖÓIáŚPŠU:€höc_ĘOŃ1F# qúé§uýü]şä’‹„‰`&ťDĄęX†-žCNYv}O@tÁç‰őxčëł ¶#VÉ:f푆" hČčĐÉôĘ+ŻŠyŠzřĽE Šxo¤Sđ˘‹.ŚYśRÎg€ÎL7NDy¶x(++s}¦Q’˘´hĐüĆ/»&–śq‚úlĂPE*ÝŰT…nq1!šC¤K‘˛µŢe7w¦V9-+q¶M•<ČĎĚŔÇŤ×Y©ż #˝m¸xD&e#-aCf˙”šę´B"r]@dkňDJEŘNŹ•Mćýeq°°ŚfO đwfďŢ˝bľ¬l’Ë ł¸4RŰ ±ťçІ“Ű‘×ÄčŇa@ľŮ¦j "Ą ȇbY?ő©[đůĎ®GB{FZč“_ÄâHä•,[@.JGůsoA®ϡBˇşĽżt$‘öű°č8ŠWş—í—ćĺÎ,?20 R”˝=!ű’QďńJŞr<$ł6Rp強ŃHÄ‘†żL Ĺ/\pd,š`�ZŐaŚS‚ŮÓ'ˇXk5~¤WŰ*őÂѨ¬©G ¨Ł±©‡Ž5˘ÁřŰŢD}c;—7¶BAvćó#?'3ŐŐ·âxU3ZÚXµő#t†M6$‹•ÄĐęŔRŚĘ•Hš¬9ësYŰÚÉst·ĄPwf‚#ŁĎ˛sDĐc"¤55ÁßÖfľcŚ6łÜ™×°uQÍů€ajmé@ue*öBfńH+ d ´sŹŔćí‡đěkë‘îO6ŚÝ{÷/µłÍ–ĐÉRküKĹ>ěľ°>´SţŔt&łl)A4E'ś¤hĺŔbl$/ ‹ýHßČwĽ¸UárŕsÎ9;ć:ňf uXĽŽö(ÚiĽxĺ•—ÇäŻÔČĚL´±E—Rí©błeöm‚ßŰË.»Ä%ú‘  O^«‚B2Pü21żTPşPNjXŻ1Oü´ßnqIWńIK›Ž¸á$ý€i“s°}W$ÓÎG}dë™QmŠ—L‘€×ĘćcfűńhVÔąĺ\’a'B4$łţčVÖ‘ĺÇ�E—řÚµËmÄť>%g@Ż˝µÝ=0ŽźDßGRa«†6·÷ ©Ś?ŚNĄ˛›Ń 2r&==-aÖ—x`mw‚!9čŠNéHРϬ3ť˘BtZX>e)˛ž–ů’`ú^:ŚâĎ(ŰČô´±Ú(ÁÁ.Łťă@fjˇŔ'$ľó‘Á¦ĚâĂňNN‡F4č< Ă…){Fż$ ń"ˇäz3Rţ=18gtw,‘Ď1CHŃ‘(ű‚F¦hއľ>KNÄsşNÁ Ë”ĐPŃđ^łď;.żü2aś‹†Ľ7,cVV6)îń(pbö+Ţ“BÁŤTú­eäżKÎ÷#Ŕşű-ĺŕ6ÚaÉň3EEn'âťwŢ!2 w ĺĚyłŚČîŁYqËš”i‘čc«T”Č&8¨ą3„T‚§°űŚfĚč“aĽfŤĘÇä ŕ”†á7Ëx'S”đ±ŃŚwFţ¤ :…X<"ŘŇ„Ęâ šCüŁkź”C¸•*ŕ»?4źĄXüŠĆyFiŚâ=÷Üôń˛BŇ(O~F®(Cß­"uÇz gć™m۶ăüóKşü¦ŃYŇÁAá”t“?R ̮Ԗb•*u‚|\Šk(j&źě ČĂF$řZ2“—Dôý2�rDĐŰë}+߯|—:łCRô%ű’mNôÎá5ňŮ%yc!GVZPürřBńË€°ď!BMÚZ u´";3~¸\zÖ|<ôţ3ĐO9ş/áâRTîy•µŤ(.ČA0`=ŰÖţť›;P›ô´tăđ>8Z/ľőMmxç­ČÖÚEiWR'2Šč–węxěl>˛™®ŹÎµšs kI,‘fŻ“tLËÍ5íźÖ÷ÓůtąJYYyěýŚ˙BÁ€ŕ±m đgfˇ˝© ť†="§ÄäI>ăýwčX%¶ě݆ɓ&ˇąľYđখT4}|ĘYµx—ÖZźÂŔP J” =ŚďaÚ*ťżi,ĎvC[‹ f[¸pAÂăó7VňŠT(âΠ.Ńď 9‘̆čäuěĎ={L{3(&*‹Ćń�łýp|@ŢÔSŰ퉶ٚĺŔy>#UŽsÍťmQPčŠ__(~©p˛C Nj/Ôtc€—¨Ô@wÂźć–D‰dűŽ…s đě+ÇěĎÖoÄÇ>ö±.ŰIr [>Ľ>1…ŤëôXĺ%˘…?°ÄABôŁ[%żBvéŻh¬·"1ťmČkojN¶ÔW4Ěk ©NÎHYĄďłĎ>ßí6]qĹĺ=Φ >ŚŠĄ¨PX2Ž©VĄ%Öý¦ĐCš8řŽţČyFFş2î+8 c–ţŮ>Y@fă‰ŐF‰Xb'‰-ÁHk§đ‡Ą B»+˝@çVo…?2’ť‘̉śC„SčĂH§xÂźDÇ‘)=ůüÇsĘI°<D˛čÍłäD˘{•™™iĎłfx_Á”Ň2ꩉă•‘÷†Nżúúú„Ç”m¤(«'ĺ@Nđű+;؉�3YŢŽĄ@$Ö®]/RH3«A<Üwßv¦5‚ßź "ŽSFÝɔڄt>wô¶,ÍÉYĘޏťş«©).13ĆŻx„Ź %bÂź˘‘đä Ü˙7Qdý)ţI÷ů,ÁŚ&!ÝÚZFżÇţ4¤ ńG‹PdăZ´ĂĘĽ­&¬ű«i‘ůî/vđ “Č™M'ŕ0•8Ë_ŇHČ(ăľňädމ~Cäů»ă˝ű‡®śĺILŽ;~üxÁÉz“Bťp¦Nç±lo"8Ĺ4’ßöä8|NČůČőŘŇńBÄş_t&­^ý؏¨’’°ŚYkĄ¸'ÚéD)ŃsrúD×Ř×V:PürřBńËţ‡ý8ĘMˇ˝MrlŽśôśÓćŕýM»±ĺSĐĎąúɨolAu}»±Ťn–ň‚ŰĘ×ĐŘnŘć:ť‘-JĘ’8R·×n¢<|÷Αö/›Í,70Ĺ?vbµŇ$\Z—39vҵؖFͶhvö„ »‰ć ŠŚqô€ńĚ­Řq9c:0¦¤�9ŮĆŘŢçAkC“°Ť¶Ô7"#; şńÎ#ďhmAŔřľľůţfĽľb3N™<ĘĆ áOVN6\*<u´ě‘Ý'ž¬Çä–ĂsË–ť-JٶšéďEđTĽl0„Ó.Ő]IWňľçY^J–jÎYÖăÁiÇsrf˙‘%¸(Úť ‹ś(lë37<6[^«ňt÷üpÚu¨§ ĐżľPüRád‡ţ(śÔ0ŤĚĆ >śŘąś›ďVÇťpř¦q¤<ŚůłÎŕţY%řD^Ě«V­2Hu{ĚÔ–$ŮRřc–�Ł�(l ~5‡Ú5-ăÜN·2ţČcDd{őę5®eçťU‚ţ.w‚AwšÁÜ‚Dé۶Ă{›şÂźD`ö™)S¦ú×ůůůč x/Ię)sěŘ1;<YY^¦‹hfüq>w­­­"Z„`TEoIŹÉ´­Ś^ˇA@ďeú㾨ąĄÁ‰"işSɸśméi©†čóQŐÝýa ¬Dčëłt"@aëÄěÄK)MČľ˘Hčž{îG˛ŕó«„?¤ÚŕęŽ;nĂűďŻv•Uůío˙ ˛|ÝtÓ ®l�®=ňČcxíµ7\Ç8˙üs]ĄBŢüᇳ?đÁ:ńťĹ‹učżţőoNŘ1ÂéLqäUW]a÷Q¬ß,ů[”ŠPçîAˇI±ĚL´í‹r^"żżĹĂtSdfť”#u±®%Ĺ2ţŢɧ"Ľůý„Űhš7i2aNr0©„öůŻW\€­“·2ýhžHÜ;)ćŇ­ëÖ“»hS04pĽYß fŮ!·J: ČďúCĽťĘŕď ¦Ě�H ťk֬ǣFŤ}Ŕ¬=±ĆWń ąÁL7§@:x­t�1['3'ötć0­<ŁË›zĽ˙©§ž"„?ySř#ŘçŃ™‹ś}™L`„„tz) o(~â— ÝBÖ‘µý śš:ZŰ;E‰,żWç®Y†ź˙ýyt”N‡^6mţ´ŽőÎŞvă=“†śě d¤ů ţcvt„0ž÷Ö¶�:ŚíhŘşkża/ľűĹk‘CÍłvvI1SđɰăNźhÂ~~cđ*ÉÁěKD—üA¨[ţŠŁÄ5ŃÖĄŞě|¨ë@ ö0Öö"3;ݰ…¤!;Óo\łYŮ;q<ön߉ęúFÔ7wßŐ"TŻĆŚI“Ä65•5đů}đř˝Řwř(´›>MŹ#`rbxč~„ýĄß{oĄřLŃO˘ďrOěRmn|ż÷Ö6”Đť†6Y™=ÓÉ뜼iýúŤbJ˝É®y˘m¶ÎwX2öŘîúTAABńËżTP^PÂ…a-*ęÚ ó%°Ä!ńQ:q Öâuűsg§űĹvŕHh@#}/(¸±™8Rnž—DýµW_Ă5×^s{^Ż,Óef52ťM±^Ňn‘P8!ćég\„ńĄYX8·p@ŻýŕQ·¬ŁĂÝ÷ă&MM¸?Â&YJôÂ?‘é˙mŤÍH Š0ŠŠŠÄ Ż·`”îSO=㪱LG�Ó˘RHÄČçQŁF #|˘:Ď2Ť/ź¦č•éô%.ź—Ţ–ůެ¬Ä3Ď<ç"‹¬EËÁyyyv�:jś öB2ŘľDŁ÷d|ÜĎĄlk2·DŰô׳4`ź7ß|KĚó™şôŇ‹nßKŰ…k@¦z+–•űĚgnÇź˙ü7×ňW^yML|6XbĆĚfĐő7fäČ|ń‹wą–™"˛ĹbŔLđ{öťď|źřÄÇD~—ř=xüń'EvNü˝¤CůÚkݶŹĂíY_ß`/c´ŰÂwí%—\ä°źh¨sp”Š”ůŇ,Ńą–ń;«™" S3Â\9!ÖË‚nü”T´ô ő¦¦VTV׉ <%%ČĘL^Ô@řg/Eŕ#ĂÜŃ˝Q§GŻ­\ăŮ.;%©MőM¬)2NŇ0î‘×âĆ03Ůľ3«ôĹ?šx]:Ę‰Ź˝|‰ô3¤°B‚żsݢŢá.ü!ř[Ď´ć´ĐqqôčQńűËßp–ŕ´ví:‘e3QIŇŤd˘Rĺ6=ĺ’|Ţxă-×%gߑ둟“÷1í|<żÓ(ÍHkľ ™QŠí㢬lR§LoťHЇťPüRńK…Ŕ*őeĎňúŻimëDkG@\&Ś›/= ÷żü„oţžaX›†ę†zŚĘÉ5ž“�ÚÚVGłl«.2Ůč6/jďčÄáăUřËĎż€‘ů9h<^HGS`‰Ź4K#…;®B¸rO±ł�é ŠcEÖ4¶ŠĂżýŠ»yť¬5şÇ ËÓĽ}ŐÜDSc�!ă{ Ő ˘¶5•uâúÓ´t´7·#ß°Ńćg#ݰŃ­¨C¦ńůŁ=űĐ9Öŕł#ËřĄMx^»˙† ś¶Ęd3ě%ËKN¦-É𹍳_Ë~5m¶úpú˘) (żTüRAa¸B NjČ´îžPGÂíJŁÄ%ŃⓇ6BŰc8„nąn<ţű·‡úC=ŚË Ăt"a�Ý şKî<ńÄ“®e·\7N´m ±˙»oŁEWĄÝ4+CPoSř4íZV6 •+ß·…Ó¦MDĎu+!ŤđńŔÔł……":šäĎ)ü!H,c7¸r�ÉgsÉ’E˘ľu_KšőYY™‚43UmwpFÖô$é$ŃɜǹM2™bA:UŘÇÝe`§xčŻgi°ŔÇ/Ľđ’ČJÄÁÉ•W^Ńm„<ĹvŚl§ďšk®‚Bďбâ@‘1ü~3&ÍÍ-bŠ…ĽĽ\üčGߏ9xýçţ–1 ţ;ý8ź9FŃ8#iśŕó÷Ío~­ËrfˇrFč0‹Úo~ó[1OÇé™gžTA*ŢŰT„n˙µ ´VŤ(:LĚčfÍZ+Ý1s™ń[µ·ľ÷ď—XčěbÇÎĆ_Sŕ^[ׄ9ł&ţźAŇ36˙,t®yýăzçťcüńvkµî4KÁ@é™éBĽ4P¨lé‘éűPEuŹy—´H9 ÍĚňCA˝Ç#E]–›*E"¸Ł…?É€h¬ëî=™ęHf<Ă{XV6ÉćŢĽîňňcÂŘIĂ,9/Ľđ">ýéŰ“Š(vnĂwÉ`;yžD\™QŮ2+#ůmňÇm¶E?ŚČ_¶ě!‹ÎjȬRÝţ02ťŃŁ|źńý&łóÄ pöĺ'?y“(I§  ˇřĄâ— ÉC·„?Ö'hţ !ta9ŻĆćdeř'=gń,´´đÔŁ?…gĘ”WDébÚ;í–áh‚c‘˘ĺĺ¸ň˘EX8g˛ń­s¬tokµVŹÚX&Ä4ĄAş+ůŹXćL÷cĄhl©ŞŔ«wÜŽÓŽIuâ…4Ď-ÄŠ±“‘źź)2µ´u˘Í¸Ţ€Á5ußyŤ~ňśĽąľIŘĽ'LOó#'+y9™âóńšF&gđz°}÷>č×ţ‹Ąë×#Y6öd$Čw<y�mÔÝ9de¦źŢÚÁRˇź“m틉®“Ax˛Ě•“×93vłôÚÂ… 0H›­óZÚf«prAńKĹ/†+†^í…> Úé-Ĺ >$î”NšâúÜŮév‹Ś?˛Ŕ�M_üô¤ů#_Ů#GŽŕńÇź@˛}˘§d#÷Ý{źČ !‘žćmčë>x$qĆźč{Ť4ÍÜ?Zřs2DĐ‘CŚ0Ś7W^yy\q’Ýiű FCS ÂÁVee•XÖŰl?T…×ÖšF˘yóć‚o�™LűF«·t#Khôĺ<ÇŹW1]"8kRËýz Fgü®óś‰@ÇW<ôçł4ŕ@DF!śuÖ"©;DîÍq!ÔĐ—ŠĄ?÷ąĎŕ?ţă»âNK—.Á_ţň‡¸Y08ţíoťÔďßčŃŁđ‹_ü<f‰;ďĽ#n›ş+Ń3†o1Ó-t×_)±–x4Kl-VM,»Ţ†Ýµý[˛¦3Đi‹~¶Öv!lč)|§.%żú Ú©K —\†ú›ÂF§ tVŹŠňK šWłî‘fGź»Ý8flzŘásŠ”l‹ŃţA|źŁÉwyŐ7ľńŐ„Łňr„TÉÖ NŁ]"C~2Ž€hШÉßů+®¸L”Ö%č\a:ődP\\dĎ>|8á¶=w%Ç€‰Ŕ´ďĚš,h¸•™~.şčBÁýc•2M†ëQ$ÎĚÄîݦ(\ľÓčĽaäi4ś}ŮgU8ů řeW(~©&91ß9üë7~Ë3sq¬ŞN”ęjď Ú^zÎ<ÜpÖ ŕĂwpěx%<,ďeŰăd+[Ťc®ľą Wś3ß°ç´ÜÉ#ŁóňčQ#° ÄjNţ$‰•漇čG·Ł;6ďlmĂćżýO.= 9oľxń‘ćĹ1ăŔdvĽŇNă­Ć´''ť‚Ć{(?7 Y™éY”‹ c‹1y| ĘĆó…?¦ŁKňŚĎ#ÄňqŁ‹P—%D?PÍ-Č2ޱeÇN´—ßŐ1ÓM;_ˇ$®˛Ó‘I Ëe'§ťAľăÉ3şł§Ńî,…ÂNn@ $'L˛ ݉K’Í~Ct"8í‚N^G±äZĹ›RĹfËkeą3˘»ţ˘°LńH…dˇřeW(~© 0< 2ţ(śÔ/Lź†D”˝»Ś?ŹŃآ#/gŕČBéŘ,Üqó$üůţ!ú/ţ N?})&OŘôü[¶lÁ˝÷ŢçZvç­e;f`ëć64…qčhß2ţđŢ©šńg A7‘(úłîŤ˙¬3KăŃľ}űmżC3gÎ@oŕľ$j#v¬g= 9féYë–őĘcˇŞŞŞOÂź3¦‹ţŁÁcÓ¦ÍX˛dqĚíäz‚Q=Î:ľ=ŻkÍšµbž×•H�ĂňńĐźĎŇ@cýú ö€Ů{âÝËh°ěNŚfbÔ?ďU<ĐAJăDj0Ń4†ĄŠ̉sÎ9 gś±ď˝·Ňř=[%ž“ŞŞjń|3»ÁرcĹ@ř ϷŎ‰ŔRwżüĺ‹gŽb3:Ši¨d¦FŰĐńyƧăâ‹/ŚmÂcüţ÷w‹H›>Xk *™2;Ů”é-Ó=tYűŔR|0V†źH@˛™Ů!ÝZď±Ä?! Şië@}{�ýĂY2łŇ‘ź—Ť†F“ĺfff ˝WĎ•†´łŻ@G[+ÂÇ O(3ŚMsÎLzsşĎěĎŔţÖ–łĚšG–ö"ź·25qĄnŠ€a®kš]ň‹>M „¬(î),wľÇgÎśŮíöS§NÁ[o-żYÜwţüyHE83ÁĐ/L"ccEE…ŕ“Ě›77ć6ăÇŹ7ţ_-ć“}‡±-2+ć֭۰xń˘¸żÝ[¶lĹęŐk0aÂń>ęm´4ĎèîxücÆŤö|OJ¸9y9ßAńŚ(Šm›1c†¸fňŢóÎ;×řkîÇl§± ě,KÁ:3cr?ľŹă]#Q¬ŹWzB2…*ś(~©řĄBrĐőHĆüĎ ˝xŞjęŃŇjpÍ2FäŘúó‹Îś‡1%E¸˙ąw±zÝ&L7އŮ2™NÔ±),`áě©()Ę7žőz:^‡¬@'ŠdőSŔ-š–Ňťr"ëxÎă[Y1]çuŞ|Ě:ą‚ź…:;đáăŹaőţ ŰwîÁ&-G´R„łÓÖ‚čloĂČPKµN×;QR‚u§,BgnŠ‹ráőyD6N‹˘Ą°Áí|Ć2źŚŹÖŕ(9&sµő­"ŰO«q˝;†~Ă÷Ĺ:Í*+˙ş;Íş|±TP'h[áo$źMţ¶M0>î¶ë×otíçDpÂľB¶6ĘÚÚÚ"kÚ÷ďߏd@^'ËíÄB<^Çí§NťŠ?Ü.8ą˱ĆŰĂíÍťď‡d‘*6[^kYY™°Ă‘˙‘ד7Ćű3™˛¸ Š_*~© 0ˇ„? '5¤$7ĂŹ]·"®»˘pÄH䢩ŢTş‡Ă!´··/Z“đ“SnŘ҉óÎĚŔ@âßž…§^<ŠšZ“đe˙íůţôç?Šźd~řŮ DQaľű­îIE_±nS§qŢČČ}Îľ—Č/,S\÷47Ó|ŮWçĽ×ë$-IĺŔŚáŁGŹŠ´˙îç“â¦mMf€ĆÁ-ŐŢÇJáťF±˘“ëA‹˛Ć}â1YB,ÚaĆrŻ˝ö:}¬ZµZ>řwôčŃ(-ëÚ†ĺ ^}őő>Ekłż¤hőęÄ`5ÚčÁă;3ÖĐąÓ[G" !ŁFŤ™ŚXšŤ˘X "$aŹ…ţ|–e­\ąJĚçććŕŇK/Nz_rčŁĂ‰ŽP>걄Rl˝üň«b^•‹ řRqŕLđ˝ţů犩?@#|ńD|ɀ߯/ů bJU¤Ň >•!ä<şf;8l!đż�¦Ű€Ą¤B̲÷0¶Ý[ŰŠEcóĐ`ą‚©SÇŁ¶¦AdÍ)(Ě…ĎďíťĎÁëCÚĹ7"¸ö wl@ʎy Í; i}W’|—ň;ĆçOďÁ>˝Ae[§uďĚ(wQ‚MĚ›˘,‡Č5oŢsK+„ÁÍđă Ü»v™Y{h¸K&ÓűuĘ”)ÂN@Ă_Oś'ă{š\J–2•ضíCÁQăSSřăÇ‹uť<†DOúbź×_SD§“\uŐ]Ć•••‚_2ăąTtű{–%}óÍĺÂ(ÍÉçd”3ű)şt„lW¬w´s,ą{÷,]zZ—mMhíÚőHłfť"<LGOńy˘2_ěK^[uuŤ(;vŃEtéK:ˇČ9™áŠPeÁN(~Ů3(~y6´p$kˇX4a*6=‡ÚúädĄŁĄµÓř›fSšŮÓĆă{_şĎ-_‹ÖŁ(żăGŹBq~ü>źýľ!Ď©3ĆËóćŚÇĂ/®B­a×kpͱi %@Z†"™áP÷¸Ô<‚gŮĄĽtÍĄ1ŠĐ)ݡ@'öľüÖ˙äG¨Ý° kŚ3ľ¨`Öô)řÖ•Ë0aühd¦yŚ.ˇŞˇ><€{6íÄîý‡áY·Ń¸žBä!Ëpššbś0¦O‡yĆÔٵ= ěk<żĎ°µe¤ůĐŇ<şŁ3„¦ćvdĺçŕÍ÷V!8ëBĂ8:ŢĹOíwŇA v鵓ąÔY’–é0fÉhP´!ËÖ2;`tćëţŕ„}ŰŔvďĽó®˝öj—h‡÷\&Ů,«´ű˝őÖŰ‚óD×(3sÇâu ĚýĹg–Ąî?ö±kb–Ş]±b%6n4 {R,•l¶îË Ąä×_˙ń.×ĘěÝä =â—=â— CJřŁ0,!‰i2ŰQ8ÁŻ!ĂéMËŚ»í¬…§cő[/Űź[[lá±ns�çť™‰DQA:~ůăů¸ýËkěeĺĺĺřć7ľ…˙ýĺ/*đ{şş:ăŘßäى»¶ĹE+r"Önr”ZZę]źg/N1ęlCvN†¸ÇÉ '†Z 0Ft°FëÁ…°ä†bböěYÂřO1Ë>,JtdPÄEç#>(r 2[¦oMŹhYöI.ë-ŘVFđ°Ýt$<účăâx\’t;vL ÚiđgÖ^Ç@âĄóĎ?/ľř˛4?ůäÓ""™z*ĹŮ_t^´·w·›7oEoŔkąôŇKđŘcO'ÝÓO?+DG˙° ŚŇá5SD0"'ŮŚ5ńŔR=ô¨8S®H S ł˙iL`ôPĽ(îţ~–LµüŇK/Ű"ĹqăĆ%ĚbD8ËXp@uŮe—âńÇźFţe?ŃŕÄR ¬3Ďç”Î0s{ŻľPč öé@¦×V|ôVŕ9”Ń;ĂĽćL6E?şő›¤YžÝ*ż`ó 3ťŤAZĚĚ?ëĘëűMřCdwě¸Gi„®×ŐŢÖ!˘Ćş#śýK/†§l‚ë—#\qIaôhóĎ…V8ĺďŕý …Â"ŠIp»=umVö%ŻLî±ô—8Ü)Óe9¬p⸙UE:z’‰‘\GŃůÎ\¶ě¤čäĹÉCaM12y)×ńşÉib‚ ČńČÁč¸3fŚx÷ÓaÁk—B¦/ŹUŠ*(da˙ł lË˝÷ŢŹ9sf‹qů,9ť2ä'4¶˛ŚV_xĎŘ^Љxnňfr Éç–~e –%`ŮŹk×®Ą[GŽ,ś\”˘1 ‹V­Z#Ćěwr źc�fD$×ăşî@q;ű’":ĆňÚDăUöű’ýČ>ăX€×KÇżÓ H!oi1ËnsˇD?'ż~8ůĺ Ŕ*-ëĚ®š8őď?ŽŠęzdŁĆŕGéé>ř}ÁBNV>yĺ9¸ô¬ůxă.lŘľĎv{Hş=Ďr>cÖ—Ä…gĚĂąKf ą± áşF&´ĄµŇŕý0 NX&R´ Ů픟e[ťóŹą&lĽż÷ľţ*Öü䧨ű`5FëÇz|X®bá©Ó �o­Ú ŤSĺfe÷lNN&>vŢÜ~őŮFŰB8RYŹcU hhn38bůŮ™kĽ§Bü­#—çĎϰÚi¶©şľM#RřSYÓżń~ÝsđŽwz /ľĆů;´IZÔUČKŃ÷ćdĹyç-ĺJY‹ŮÄÉ+ř'Ď#Ď ťJ–+e–R śŁŃś°Żŕůsr˛…°™"&Ú1iW˘…ď(r4fĺH¶ Îdž ›DGň:ňs™m<ŻŁMŽĄí)pç9ď»ďq 2ň{Kű"ŰŔ@@‚A=±á¦’Í–rîÜŮÜ&쥼VňyrYYBŽvI>;'N´ív ÝAńËáĹ/”đGá$†‘ ÓجnH(ü™łä,—đ§ĄĄÁ\D˘ ÖněHʱĐWÜř± xwUţâ(ůµ{÷n|ţ®Ďăß˙ă?„Á´?ŔÁŇ·˙ĺŰ‚Č;ńĹĎLĹ'®ŹÁŔÚMîě!ěs'xO!ŘÖ„Ě’<;ĹßPő$Ţď·ß~W8{ő@Ü~ű­bŕ+Ĺqp˝bĹű]ö?űě3ÁMF¬AAQ2b—ÎŢ– ’ŕŕ•3DŮÖčZĚ~żW\qąqŤď č ’`ĆťĂ#Ťśś`t ˝ţ,Ĺč”^xQ\ôŇéćE'ĚXÓ×ç–Î’ë®»VśŹÂ%Cśâ-‚ĄxmÝ úëYĐ!AF2Z,ĘĘ&ąĚŕĽ7tpqŠż|.idP f…˘ńMač#:Ă—B<hÎBĎ´¸‡L˙oE4SUÂcÉ…kÁă1^¬8Ň€/ô �‹×(Üáą22Ňŕőő\PžŃł(OÉX¤]v BĺŢ-ĘéMG ‘rZF&ôěxJË •NeęLËĎ1xÎ ®L!¨O7"‹†öNo ŔëOʔـÇôXž3Ţݰîeľ`ß×°q;M‡Ů‰öă8…®‰JUFŮĄˇžďŃłĎ>+n© ¦0§č†~ľëé0r˘¬l–,Y×ÁB!Ďąçžwß]!˛®[;kUIÉ-ÝSîuĹ—‰hmňF gdöA'ČiŻĽňЉŠbžÖÖVál’‚'ń0^Ä7ů&|®eÉĹé4ă}żúę+ńÔSĎ®‹äă˛Ë.1mŹ ĐůÄ>—H”íG‚“d_2 ž"¤XŕsË)¨0Ľˇřĺđâ—Kd)Pe|Ě)FhÜ,ě?RŽyČH÷ٞ¦cJrL‘´ÎŤ(ČĹ5,ÂUç/BSKjšŃŢ€ßŕąY(*ČŮpLQDfİ%XÇÎţm1ě>ežĹ)”‘ŤÖĺ_‡H( âđň·°ţg?Ĺqă}’kp;ćŁclóßž4Ś*ÁâSOĹ´I#ŃL.s s§ÜĆhk«ŃvNł±'ˇöł�: ŰHGK»}áV~G»šZ¨kh7K|5´˘3‚n7nÝđ%˙�=-+ŇĎ1ýÄĽ5'±đ‡v—›oľĎ?˙˘°-Q¬,ËNP`Ě,:±x ŃWNŘWĐľ|ůĺ—áŮgźś’¶L)¬‘ Wăő&Óro3łçĽŽ`  Ű$íÂffźÍ]¶#Ç%Ďëi&ŚT˛Ů2X“_!f\âµFgˇdpąöž=JôŁĐ3(~9| řĄ‚‚ %üQ8éAŇKg8Ú›n7÷4w¬)B1‡ŇÄžA=Fé/)őëź.BeUž{娽ŚQŞ˙đ•ŔwÜŽŰnż­×ő,™>ý±GĂ_˙ú7QJ̉Ë/˙ůS‚Ľ€ćpyG„? ·¶6ş¶™{ÚŮ Źˇ÷Ôă)Ö)ţh¨gßpŕĂŚ+čp�,ëL3],#R¸ž™›ř¬3Z„QÎLďJÁÇňĺo'u.:µ"SÄ&cĽď ßtÓ "z—Î…ššE–ťť%˘48`ŹW§z Ŕkb–źŤ7áđá#" śŃ+Ś&怚ΚhŃLoŔh•;î¸M8ęxÝŚÄá÷ŤL<]}U9Áű|űíźĎ#©x>:DŮ·tśđÚXĘ,úóYJeđŢ|úÓ· ŃĽ74`¤ĄůĹ÷ެl’,R‰ÁţQçáő¬wÓď,Ą;„.4;ĹżéÉĐd90ŠF(Ň"|ruyˇ0üI/:Ú;q´ĽÁ€Y~“Ą˝Ć”–ßćž@–#ë4xF–ŠI:1t†[ˬ9Ň}3Č‚»uR…u‘©§;|XÝ,Ú¬y4±˝nĺńý"„=¦J~Ä=ÓmˇŹĽuú ĚůĂ÷7ť3¬D—EH^#y�ąßu<NYŮ$¤¤ńÉOŢŚ 6Š^ľ›ÉĎx­äLĽ:%aÁ‚ůBčIJSäx+3Šźb^r/f`äqz#¸f[(Bˇ°†ÇgÔ6ŹĎc±„VYŮ$ÁŮă9mz“1rUr•úúz‘ąśŽ×Ŕţ7öˇ`™Î#–ŁÓŚ\ĐáĘőä‹ěgfŢ!ć÷›Ç¦@ž|Ź$“łőP,ÎóĐ1ÄöuŮ—sćĚ28燂sš÷*,úoěر‚Ż“w*ś|Pürř@ńË„+ăOˇy—ŕđ‹żŔÔ ă•™†’â\«nÁčâ,CZüĆ>†Iéňs2Efś0Z‡¦9ĎAëf[É\ĄŹľőŽěÜÖęJdŹe‹{LDJą*c'Ř˙úkXűóźŁfĺJ”ŤŤd!NZwŔkĽ26HZmCFfá´ŮS#eÉ1ă_ss[—\ŽN“¬]ô›Ű8^mÚ›ZÚ ŢŃŠ´¬LĽµj :fś }â<3ŰŹ˝·<¤•óÇ:ąÖĺÖśĽÂ‚ďńoĽ^śQŕKűů'EčäK “+$ĘŚŘś°Ż ÍđÖ[oÁúőDć" Č'™í¶5Ú”hăL´łö–×IĐ>UV6IŘęŘň& cś—¶ÜŢpÜT˛Ů˛ý~ńoÚ´Ydżdßsě;~üx,]şDŘě”đGˇ§Pürř@ńKÉľńµ$×iIüŐâ|–“ÇńWN^k™7jâ:ć«ötvş¦PH87ş„F&ů—Ëmm­Â�ŰS‡w¬ÁSô2Ű)Őž—)1·ěŘ }Ěě„ç¸ăÂ9¨Ż©˛—Mš4ÇtDĘ1|éÓy¸ëSą ´¶…đÉĎżŹWŢě!AŁíő7\o ®)H“ Î«ŻĽŠ‡zGŹí˛ţŠ‹Çâ?śa^ŘDüáŢFüéţ!šB«·Ůź GŚÂ˝onIx ířĚť9Y8A(„rrä|ôŔ'Ö@h8f ę-X/ůÖ‰>ąóÎ;›;8Ď»ÂŔ“ż˙ý>1Ď4ĚóçĎ‚B_ŔgŠbR…ˇ ľ;S|Ig<ŁŽ33ł„ÁÓ,Éęť!ůśósoůeOxd¬ył$ކ9ď…„óŮ|4‡WD3ë{Yóasy(hÍ3Ćg!ś ńâŤó±pT^ńŚű/P_×ĘŠW;‹G†óĽcE·\z¤Ô—nŻrŻw^[Ľ}bµŁ ÇÖŃmŰ#ŰĆiŹcß®íčşOĚöDíŻ=ŰzďWµÁëóĂĂçÎxć<ź1ĎgĎ#A…Aš%(’˘ ë|†ň)Ľo™Yr(ş”Q2\3Ńr…5k>°3ßÜuםý"  PÔţÇ?ţEüS¬Ł2ô(ôżú8YřeOŃ»¦ÉG+Đ áâ?ěCU›&„<nm‹˙+żÁÄÎ ,<uFŽČžô4Ź1źŤŚ4JuĘQćTsţçP»´·ĐŘŇ}îÂ/? O8lŻf("ĺďÓ‚ű7ś÷ŁFRůŔ©Šś‘-_Žu?ů±Čđ“g|fCJ=˝Ž¶ý~Ó[€ťY#qé˛3P:Ňŕż9()Îväŕ„«Ľ™yS.w~p6ACck'Şj[EóZÚ:PYŰ,8âćŹvag‹AŐŻů6tşkWY’ „ŕ\3"SÇk_Ś4c2´óŮ‹´KŮ)Š_}¤2ż$Ô{{hŔ°ďťiüačfŁő75éÖß°cŇŁ'Äůśčoô|4­PN:Č_üaćŹtˇ1ŕ­ęě€7-=î~ó–žw^zĘ^ÖĐPĺţĽđz+>÷©ĽÁ¨řeś×‡Ç˙~6ľőÝ řó}{]몪Şđűßý÷Ţs/–žľ‹-ÂôÓ1jä(‚ÚšZTTV`çΝذ~ŁaL^7ăÇ?3 ˙óĂF_ Î Š·çĄ7Ýma_;±ŕĚó)‹˛ŇÄ}‹Î~¤^´˝ż72U-Ť[Jô3tŔúŰ$źü˝‹‡ęęóx0‰˛ÂđEff¦8qđ*$]7łĹŔâšî2_r^3óÉ0s ʱĹ$`)ăwšŹĺj„đ§;df¦‹,+ăů]F¦Špę Dşř:w<˘Üš,Ϧ‹{hŢKĂ®iV$¸nÝßÓHwÖ¤PPP°ÁH|™!ŮúŠ_}(~9ŔtG&‹¦Oű?űS”ÖÔ™ąiBaäçeáč±&ăoňsÓ »füvëhkóÆŕףY¶Ô0‚Ć>ť!45w`óÎ}XąiĆüóÓš;2씣,cÚđż˙‹1‹bĆÇ®“Ťtü5ŽÖqdÍj¬úáQýć›(2Ţg«XX[Fë‘Ë€?3ăF•bW]ďmŘ„ O_(ĘÝjőm(ÎĎ€Ç -Öâ%§‹DwŠ~tóOĐhCM]«(ńĹ…4ŐÔµ!řţŁĺŘUQgŠ~ĽiQ˘%™Ú3"&Ňťëě–ëâ:RŠ_}(~© ţ((Ŕ,÷UXX€c•µđŤ‰»ÝąW|Ľ‹đgôč2 L>ÄÖíť;kpś.~żw˙| –ť9 ßř×ő¨©íp­ommĹň·–‹©7QśŽ_˙çb|âęńLlţ°GĘögššÜíç]ń‰„Ç4Vٰ8ŻÇĺ.âcçÎ]hl4ł01•¬BęÎH¦Ŕ]˝zŤń[5W]uEĚ2€ý1›ÁĚLM¬ ĐWđÝĘ)şl¤ÂĐ€Ľ É@sü1Ĺ<2ŮüHmť\Ç,ńĄy†ÓĹôNHÉ;*ń­ĄeÝž•gÜ„1hokÇĎČđN_± Ő6ŁÎp^ůŇĽć=bi‹×KO“ěNŰťŁËiŠ»"Ë$(řa ‚ŮWÇŚ …ţ€â—CŠ_<"‰&»šB¸°ůWaó–P°x!ŞëZĐaDajëŰP×ĐŽě,?rŚ)#ÝŹÖ¶Nc›6tĂvš~ v8ڵ[w##Ó‹[®<Óóó ˙zĚ`gy6Ě«ľ¶˝ ŻęVT~íëó…/"·t,</‚ť(_µ ›~ý+|ůdgěH ¤7ę Äe<·ů´¨¸č|,h áĄ?>y“¦cçţcđűŇÄFlsA^&ň˛ý¶�Hs’9w— ÖŃŘ܉ú¦„CşŐ5¶˘ˇ±]đň#UX˙Ń^„.űôüQvkd’´‹‹iv"ʨ^Pä\AAA!•ˇřĺІ◠n(áŹÂI ™ý‡ősrr Üo,Ťďđ^pćů(1uŐ•âs8BSS-ňňFŘŰ<ţ|ó  $n¸v.\6 ?řŻm¸çˇ˝čč Ł/`Şß;?5ßűç9(*ü—ćĎ5»>łŹCˇ¨¨d4ć.=;á1‚M5Čť4Ĺ®í©˛üôűöí†{Ö™f™˘¸¸S¦L†BęĎ}ee•¨ď}đŕ!Ü{ďý˘F8ë|“·´´5۶}h nĚȆ%K«š¸ ý†¬¬,5p˘ŕ˝Sč!4ÍŠäµâ‹5«¤”¦YÎk…%š™C›„řG;ö`żáxŘp¬ ÇtźőÇç󊲮Ńe˛’ĂĘŁőF˙{ĹÄľb„8 vČ84/¬,@y›Ä1ĚeŞßt˛˙‘arëÖm¨­­ËO;m úŠ_](~9  GqB‡9,4űb4UěÁş·ăôysĐÔÜn‰e˛›ťa| ą%`2 ‘QÇ <öHE5ŢZłÉ°xpËŐg`ÎĚ2ĂŢPŹŁ‡«0W–I‹j­Ą‹™a±µë~ös¬˙Őo?i"ŇssĐT~ íÇĘQdě»Ä؆˛YŇ‹VM™í'lđ´]ă'ăČŮgŁcÜXÚtÔ6´cLÉTďš9S§ˇˇˇ Á@Ȱaf#PŰ‚ş˛łŇ™îCşß+2ÉJĽÁ`íťA´¶ŃnLş%Ěoďűµ˘Ó8ůůŃę*|°ő#.řôQSÍľµŕřŘ9}Äś]oçꛩVAAAAa�ˇřĺĐ…â— n(áŹÂ°EtIŻDČČČ0‰ŤČD‡Č.cGúFÁëőaŮĺ×áŮű˙h/«ŻŻt ^y«źż=ăKýLeŕ×?[Śůú,üţo»đđ“p¤ĽµGÇ76 źĽ~ľř™é;ćĤÇc¦źWßv·›}ěÄyW~BDĹ…qs<ń đŢ& %ꊷŢZŽććű3ł \vŮ%ŞŻ†.ľřB‘Ĺgóć­â^®Zµ&ćv,łdÉ"!üQPč/ĐůÇt«ńJI*¤&xĎ•T0Í3í’OzÄ`ľ.5QÂKf4Ë€yĚ „čÇྯŕ B€á±íÇ“ţ(ôŁß×V5‹>R-)ö±Ę{éW¤Ľ—ąŻíÚ˛BľťŹ‚]ćMAá$Ţxă-ײSO=Ó§O‚BBńˡ Ĺ/Bfn‹p,IŠCĄ˘'pÎgPńĘŻđÁÖ±xö,řŚí«™±ˇU˛2Óžć3)PŘ#řφí{đŢĆ­ĘdLť0‡ŹV!+#ąŮ[5„ş´‡Śh¤1ťiLŤ©¦˝ }ć+gq‚‹ŕGs\G§ÁŃöŚ-Ăę)sq4':ő¤őĺHó{ Ű”ł§ÎŔ{k7aTÉHŚĚË3~8ÖрܜLqˇp'šš:śÎ™ÁŃ$ě4µuĐÔŇa8|#" ĺĺŘ´{?:Ď» áńs]d/–Ţ[v±IPX‹¨’4Q+((((ś�(~94ˇřĄ‚BW¨o„°@OD>±@‡7ăĹy(o¬AZ~IÜmĎżę—đ§ąą­Ć ÓT–†Śqî}Ź5áßľYڱc˛đŁ›Ź|gÖo®ĹŰ+*°Ńř»ko#ĘŹµ˘ąĹĚś““íCéŘ,L›ś‡…ó‹pŢŮŁ°pn‘Ísń·‡EJ°oŮÇNśwĺő ŹŃŮPŤŇ˘|!RὍĺ”Iڦ&ł¬ű}9aÂśqĆR@ač€÷ďüóĎĂlĂ ÇĚ>Gʖٱ±Á`HÜ×ÜÜ\Ś?N¬/,,„‚B#;;[ÔĘPH}pŔĚ{¦ĐsČě0şLůońSÁ7śóş-ËD1˘á°ąŤ^ýĚžüđ|iýÉËčp;Ô+'9ÖU6 ÝčŻßĘř#űßÎîcŢÝřxdý6Ë)Ąuý((śĚ¨««ßď3~ÎtŠ,“śŠ_-(~9ëvꛢhşKŚ˘űłĐyŃ? üŤ˙ĂęÍ[pÚěŮH7l˘ˇ`őŤ­b"Oőů<"»dM}=ŢY·%EąČ2xSN†S¦ŹC¦aOű}~tdçÂßPëjŠ-‚1ŔĐ™QË=ŽőaÇ|ČëĂö1“°şl6Şr „Míń{=ČÍIGv†ië ‡5,ž{ VoÜ‚ ć ´xBťhlj3ěYmđĎL~ż^c_Íc ąYŇ‹öŽÎ€Čî±'kÉ-»vá`m F…ÇĚ´DB‘«éBý˘2ýčîö•™SAAA!µˇřĺЂ◠±ˇ„? ' śâ XB!¦„1˘ű?ÜźPř3yćLź˝�»¶m´—UWAiétűóóŻ4ă®OĺcdɉűŠQŔłdA±† ŽWńâk-®eUU‡]źgĚ]„IÓOMxśŽÚr”Ě™3Í_OĹ>'ł8‚Ď}îN( ”””‚‰�Ëi˛d Bę÷Jˇ÷ Aß.ý¤[%QĆBüCˇŹ¶Ę{ifą//—yÍý<†ÓĄ3G·ĂmłÇ˘?ĐÚÚŽęÚă{ŘŚ¬ĚtŚ(.@n^ ĄCvz† /î«1úÝgŠ{4SäŁiVÉ/ş˘<ZäŢy¤ŁÇ!ţ±KąÁr°)( –.=ML©ŽsÎ9[L Ĺ/‡ż<[§Đ“K›§LEÉü#XKF. ďý +6n¢SOAľqź4=’(‰,8ë·ďÄÇ/9ç,š)„EŽ# AŤ'ÍŹcĘ0mkmRm´ ©şd0ś§€hWéd¬™<ŐY9Ve-Mv ół‘“™)›e ¸ ť…8mŢ,¬Ţ´ ue“±pŢ<›ZčhGg @Lç­3Żl‘÷ńšjlŰ˝ ąăĽę«ĐsK"ĄzÍÎučťâžX<P–„í˛HAAAA!…ˇřĺĐâ— ±á‚‚‚�KBqĘńvŽ@ÂmŻ˙ě×]źŞŤÁp$ `§±űo˙Ţ`Ő”ôt÷źëŤAyd$ÜŮŮŽĆĆW_ßx×7‘á`�yţČŕ”žž…Fa¨Yę÷HĄČíčpKńÝś×­RQ˛d”§ŔDł&Ü^f—a©cţ˙ÖA™€ú€AL÷(ÇáChjlAEE-öě="Ä@±6ÎŮ—Lš=łT×ÖăŔÁă¨ohÂ``KUö7uÂřx¬RkKŕŁYŮćý0Kfh–¨ ć=„ó^ĂĽ×*őŹ‚‚‚ BńˡĹ/‚h†E–G1YB X–ČvĆ”–Ťŕy_D]Ů2Ľ·i+v<@8dqXóKa5µ´blI:!„Śe!c3ý„B¦ &+ÓŹ˝§ÎCŔźćjŠSŁÇäňăůX?n~·ř<9mŽgćÜŮĚ6Tź…Ń#ň•á[ óˇudŹńˇ¤0#‹Špţ’ÓĐPÓ€^| ‡jkŕĎχ?;Ëâ׎óęo·äÝěšjĂÁűţćÍXőŃ^ÔÎş Kľ=g„ŮwVí/ŁK­.4—EÖ9V:&]n#…Wâ>(®¨   ęPürh@ńK…řPß …aŤdJ€iŽŇ é3z4ÔGFÉř¸ű,=˙2Lśv îŢa-1ŐG1věT{›^mĆ5—ĺbŃĽ (tŹŤ[ÚńĘ[îl?ŐŐĚöąe3fań9%<NgÝ1”Ť%D\2[O2Y{TŮ/…—)(hmm…BęYňxŹú«”—T­™˛ąČÁ9…¸DĚÓĄ¦tŠ|čśĐ=âó¦N<łłź9}ASs›ČôăDGG'Z[Ú GMäžłŤmmíhnnމěś,¤ge x"žVăśUŐ bľÂhWffşpGŰĚR } ™~jO<^ż™iIłba,á•Y‚Ícşxě*_űöšőŔ´H˝,ă Ä? Ĺ/SŠ_ž�č6µ>Xąu"Ő¬ÜĐ|,ĽˇŇS°}íc8r|=¦Mš€Ň’x(F7öóy˝xřĺ•ČĘHCFZşXžć÷ tt1ť:UÜy2đŢśÓqަđD ×ő®Mz}Ř:j"VLşĚ\SĂ\VQ:2'; íťřŚsezü=5Ż% ŁŁ3öŽ€ČHDyNfÎś?G**±}Ű6lذ&ŽÇ„ ăQ›‡4ătcżÁ';Ú;ĐÔŇŚŠŞj”WGCPCpĘ™źz!ôĚS�îŕtZt˙:—ŮýŞ»ŻUwf5’b ((((( (~™ÚPüRA!1”đGAÁľ4JJF`÷Á- …?tÜđŮŻăľýE{Y}}%ŠŠĆ/ł®$t?űU ţs)|>%*I„PČč«_׸ÁííÍFźVą¶»ńsßčV ¬?ŽSćÄ,óĄ    pbÁßf:ĆŰÚÚ :ČĚĚTďÍţ€ł¬¬µH–Đd °”đŻpĚĐAQ‹(3Ĺh`–ž ‹¬?żZ{×Í)+Mő ńÄ(ŃśŞ˝­µ5 ööťuŤ(2¶IĎHĂŔBsµI”Bs d8iŞŚv56¶R¶ŁFĎkďŤ<Ő¶bg}üéě|!ňˇĐĘĚäc Ämł„=¦čGŹh–8ČáőQ~…Ĺ/SŠ_ž Č 5dĄ/룓yY"~ŽśŽŽËţµűÖ`ÇŻaçľ7jJGŤÄ¸ŃŁq¬ş gĚź…â‚\ädf ÍďwZ;B‚«ŃAş~ěĂ:Îýp Ňť]JyI ®·Ë°ą® ŽffĂăóŮm"×ó{Ó„Đ;ĐDfF&0ZZZ4ţ ˘y‰nö%Ż‚Ą1#F ¶©ĺ•Őذv#š[[wó|ŹŚ:C:B9ŹŚđüsˇ—ÎŇł"}ěk]Úîş§¸ÇĄŠÜŠ:Š0*((( !(~™šPüRAˇ{(áŹÂ°AO˛űÄŰ>-- ééi(ÎÍ@sc ŇňŠăëěKŻÁĂż˙o=¸×Z˘ăر=(+›goł÷@'x˘źľĄ� ńqďŁőŘ˝ŻÓµěر}pŽŠÇ•MĂ™]•đ8ťŤŐâŢ1sďe4ś.•HAAAáÄ ;ŰČŞÁsj€fyOú) íŚ0sţD2ţ@D]‹’RöŔ*ÖĚr_aŹ)bÝküŐ±»±o?†[gŤFo‘m8g˛ ĂH‹#Z-+˸ď9™Ž¶ĂXßćâĆśďč n<i˛łŇ1jT‘ČB”k´ÉďóşÖ·¶uŃÁîŠĘ:L0Ţ^đ4^Ý;ŽÁë÷[eÖĽfy/Mł2˙x„ŕG±5ˇŁEś;štÉčyÍ•ńGAAAAáÄ@ńËÔ‚â—'NńŠ‹žčîY—¤EłţóřśrB“– óđ&4í}»×oFfšmííXłiĎ:­Y‘ý'-Ýg‹ˇ3 \k['>9»3ň°äŕ̨=†ś@»AwE~K´¤eboń¬3ŰĆNťAŚĚ3Ža‰ă˝^Żd)/·±±Íţś,[ošĎŹĽślt:ŚvµˇĂ“†öѧ×¶á‘S °áĐ5x <7B2c'â(/Žúlĺwčy,~¨é«xR|QAAAaHAńËÔ‚â— ÉA ˘››‹±cÇ`ÓG{ <Ć�ń®o˙ß˙ŇÍö˛¶6f©©@AÁ({ŮďţZ‡…s31w–J? Űv´ăŹ÷Ôą–ŐŐU}ŮäZvç?~żKx4ZË÷bć¬)Ş«‚‚‚BŠ5‰UÚÜ FɨH™ľCw9W4łt—Ł ”-đÂk[]łC„5 O¦HgI™ůG7…@?z˙�.ź\ŚÂ ?zڬtLť2ŐŐőhnm3¸n6Š ňÁL>–"h8^(Ľ‰F€ŃÚÚŔVŘWEąv¤vtw0r}¦řG”EózŃSĽy°Z©üiéV™/Í,łfiŕ1ď oŽĐGĄż�;d^‹‚lQW)§    Đ(~™Pürŕ‘0đQ×ă(~4Ç˙pe.Ś,°fYVkâtN\Ś@[=:Žď„§b7Ę«÷áŤU`ĆÔ©2q<†#4 ÚÂ!fÓ ‚(÷Ąă™Ésá›p* :Ű‘ ˇÓź†úŚlojĆńŁŐ5˘PdćѬl‹^Šp,ţ űŹCd ßr\bČŕ„-F;šš›ŃŘbŘd›PośŁ#¬!X0á’9Í<úI€?Ă}Ńá(Ţ{Ö˝0ŞîWtޡ®™}䕿".TPPPHM(~™PüRA!y(áŹÂ°GO31SLqqrýűh®?§0î~ Ď<§_p9Vżő˛˝¬˘â áP)6|ć×+ÔńíVŕá?ŹG~^ĎĂŤMa|Çč›@ rBˇ�*+¸¶;ë⫱řś‹+hÜ«Ľt……®l?*łŹ‚‚‚Bj‚6ŹÇfĂH«0ř HVŐÄîŘŬě0ś‰,ÓżĄ1…!bbͬ+Ą[5Á%èďá§ďŔ_0 ˝EN®a$ÉɲÎŘĄd{): ÇâËZ 'Çŕ"#ŞÔË|y{!úię âˇÝŐđxýf¦ÍĚö#ÄV03ţŃŹÇ*ůĹťd‰6Mł{,Rň –Ç.ň     p‚ˇř剅â—)�f× ;2Ö8”>śuiOôĹťUÇQ,Ł�Á‰K‰§Q}Ť@ůVlüč-|¸óMŚ5 ŁÇŚBQa!˛Śűžîó!-;čě좝ú`‡š[PS[‹ň]—ť‰é“&"'Ë,­Ĺóz5muÁťŤkA”ő űsę ĐŃŮ)¦văřű0[e›ń9¤ůÎ.F¸°ˇ‰‹.š˝`,t†}u‘뵤úNęÍső8 ’t-zS‡b płC-,o‚‚‚‚„â—'Š_*(ô JřŁ Ěú3ÉnŰ»ůÓ%Üöó˙ňlZőÚŰLŐ/…+GŹî„ §ÚŰŻâ?~V‰_ţt ”ĆÄĽ?řŻ =t-//ßcôadYzF&>óŹßďöx-Ć~s§—‰{§    04Ŕ›Ď0sđL®ÂŔýÍA3˙*ô/Ěě/¦‡n!"‰QúKf¶ŃlQ‰ą˝Č<#÷çĽđÚPśĆ;ŞqË©Ł±ptďłšŐ¬b—¦ňçôůĽÜßC–ůŇ´+kÉ4ÚPZZ‚–ć6ŃĆśśL«lZŹvT %¤ĂËRb˛¤łIŠţ¶Ü5â3·Ö¬ě?R .E?‘ ?rť®ź`e”‚‚‚‚‚ Š_>żLč2ăŹT¶8łŘDs'ÍţĎ"6Ń‹*neđÓиůĆ4ťőĺŘWľ ďgëhťÍđ<Š%żĽ~3ubg‡)Ô [©nĽĆú¦°Ž Ű>Ęś"§ăvaŠ}Ba„t“K NěKž– ==zF™ĄŹpÎĂ8:˙ú)÷8D:Žş]Đ]JMŹ\·ÜëvaWHńŽnçňŚŃÇ@‚”@Ńs°ł0Ůeņż|(~© Đ;¨oŚÂ°BOłűÄÚžËŇÓÓ1rd 2÷îC Ąţěü¸Ç1ş7Ţő Ü÷›źÚËš›ëPSSŽââ±ö˛wßoÁţV‹/}¶ ŔÝŞĆň÷Z\ËjjŽ˘©©Öµě–/ý3FŽ—đXćzdjť1˘XÜ»X|śËT …ŤĂ‡Ź ŞŞ Ó§OSĄéNzp�WPP€––U7{€ˇęa4ĚĚ0¦3@e˝„Ă"’?ĆŹ8…AVú˙°]÷K8 XZĘý@č|řĘk»đúÍóíď˙ ’Ôdeg˘ˇ>Rj•mţśp]“•™ŽěŚ43J]×{,DÚPŃ7Ź4ŔG!ły-ÁŹČ´Ä-,/:]–ZÓíRÂ%$„YşăŢÁň©n'éżcÇG‚ăLť: ,e\‡}űöŁ´t,FŹ …‡ęó“Š_żL1,Ůĺľşá'ŽmśZˇÚE‹®fç—Š)pĘĄĆ9đZöf4u4Aël7Ź™U==Z8=0ţ€PdbL]ŘŢL fe4& }ŕË0ţ¦ÓĚLŤś !n˘Ĺ0ŕnl8Îő:Ż8Ň.ÉŽCÓíčťËÝТŹ÷¶±łk*((¤ N´­Vq×Ô‡â—Ĺ/z%üQPüü|”•M¶]˘đÔ3n{Ý_ĆęĺŻ`×Ö ö2–«ĘĘĘ5^R‘ 4ľŻV”űşő†BśĚxôéÜóPťkY[[łŃg]ËfÎ_‚k?őůnŹ×|x;ćLź$BŞÉ'ź|ZĚoذwŢůiá\=±fÍXµjŤżë®;»úîÖ+ /đţRĽÉşŮťťťPč?°&S«(™†#ŚYĘ ®Ś?1K ! Ě’SaŹ™ü‡ŰĘ_^ó€˘ä—ŽýÍťřÇ·vă—ÎŚÓ�-Í­ho뤬ȸď>dge~’$Ţ1F#˛ŚmCˇZ[¬Ě:y9đÇHMKo›QÝŔŻ·”Có±}‘,?š3ăŹét˛ŞzYë­ŚLňäŽČy™ńÇ,Ď&?(H<÷Ü 8z´\Ě_xáů3g6NfPőđĂŹď¶€ŕ|·Ţz3Š‹S3d(q/ňiňj–zľăŽŰ\ëşësĹ1O(~9pPürŕ‘LpcW˘]‹ź±&ÁžöŚ”¬Űňu31Ž=ď‚ÁŻÂéy�'묚Ł-á8z+O¤™µg,Aµ˝ťSĎŁEÍÚşźp»ËÉäƱÖ#Ţg-˛›î\îËýzĂOTPb Ŕ}÷=€¦¦fц›oľŁFŤJjßâ™gžó Đüä'o>á6Ż7ß\Ž­[·ˇ·XĽx!Î>ű,ô†ůĂţ„ööűóg>s{Źíď/ľř2vďŢc>ďĽe?R 'ÚV;”Ć Š_$żTPč;NNOŁÂI‡Ţdxńűý‚`ezCÝîëőůńí˙ů r "‚ÎŹŮ)J9ńżż«Ć«o5™ăŔ“pzŸö˙úMĄ«O‚Á€ŃWą 9yř§˙ü˝čŰîĺ Ł¨¨XÜ3'Tf…TDCC=ßŇŇŞŇĽóλřŐŻîS8†BďÁ]^^ž˘ÓzöˇěO5hxč–ęÇf3ŇYŁI‘ ëč’hžH!ŠtŠO<b=3ĎčŹĺlÜ?͇g÷ÖáÁŹÇ<?łőTŻF}}#ŤůęĘ:ÔÖ4&íe Ř'??#JŠQ4˘™éčέ‘ę``ő˙®?„–ůzš%ô±˘Ć=VßSô#îűßcÝłČý4ŁË#÷UGäľ 'N/9ĂN®S__ßeý<$Ţ™Ź=öDÜcěÝ»Ď~·:tCŚĄź Ohll‰ŔÉÄWRĄĎRŠ_ö/żL-t±i‘üčahĆ_NžtóŻ\§ĹXŻńaMćú°É}śÇpL,OËl6ş9ľk™c^üuLć±#ÇĄnçŃu÷q#ç ‹}ĺ_Ýą}X®7Ź/ŹÇ Cšîî‡.}#Ź-&÷qtÇrÝŮö1ÂVűĂ®ĺşó؉î] ßóóĎ?OĚóZßxă­¤Dh´o-_ţ¶çő]tŃ…'m ŰpEOTädäő©Žm«UÜučAńËţ…â— ýő RPH�RfĚŽIlË’_ßřŃÝřń×nłC@‡a¨Ţމgł,CŘđ}ď§Çű/ą '^ył˙n\{Ř‘Ţ6‰>b_I°oľţĂ_cäŘńI—÷H x† N9e¦‚ݬ¬ÄÂ… „’]AAÁ ~/81Ň‘OíííPH¬=Îč#e|\čvů-mgőˇŕ$lg‰D3›Ű‰¨l:W(B ›śŃĚ>ă5K<Ró{öÇď®8€ůŁr1«8Ëqr­­í]ϰţ|~~6üiÉ= ¤S̤;Jč±k< Ü»ý>j섏߯)ö1Ĺ?šŮóüXáë&•ÔDhŚ©ëńX÷.r?uµm+ą\±đ čäYąň}äććbѢ…8ŮÁtđgťu>úh'ĆŹ‡I“&Ba`ˇú\!żěżBĐ»~°mfŽ’Xš#“Ť=#č©ă�V*MŹ"Íý1Ö�züúXáŰ[mŃâÎµŻąA—M4yNݱ…Äă¶z—÷g;ŤPŘ˝Ż#Ó«˝zŹb"'O.%[÷ěŮ‹ŞŞj‘Ą;^Çl6 Ťb~îÜŮ=:ą,AŤSO=cĆÄ.ťôî»ď‰Ś6Ě~/«3)Řľ}Î<óڤ]Ü~(ÎO´­Vqס Ĺ/űĹ/úJřŁ0ěL*\ç6±¶w.é+–,»Wßzž{ŕOö2–°:|x&L8Őtú€‚ ßţA9*ŞFâ¶›Šp2ŕѧęD¦§čÇĚŠô‘Aš]Ű~ěö/aéů—!YP ,K�ä\¦˛�)śhx Ç㥗^ …îÁ'ÖWç�š)t9V™•Ü ŃŤýDcĚ 'Ńĺ˝`}6}ščay!#śaąDYcŹą }Ć*ýŹ)bq{Ř‹[źßç>> ăó2ĚçHOOCK‹»Î<S${}^ômmhĄĂ:–‘ŽĽěLdd±ęËjđě:řüiĐX.ÍĘôŁĂkô±•IIÓ`UíŇÜ>!ű:Ĺ?R8„HÉŻ$!ĹDĂ4T+cµK–,“ÂŕAőąB<(~™żZ°ůgČĘ<É/YjÖUžTs©fĚ ÜÇV°D‰aş,Fd˝ć<z#r‰¨}"fZÍ>ˇĄŻ7ŮX´6I‹>gÔőE¦G·Ź§»Ďë5»@wu…ťŇ:h—+tµ)z˝.’őŞ[N Î?˙\:tHd"Y˝z ¦Oź&„ݱPSSőë7ŠůśślśuÖ™HPôOřłjŐj!üáďB ±QR2BŔZ[Í >Ó¦MMjżmŰ>GŤ‰ŠŠJ¤*RÁV«¸ëІâ—ÉAńK…‡ţ((8Đ»úŮn|ć›˙Ž#űvcĂűËíe-- 8zt7ĆŤ›a/ăiţ÷·•†C%Ś/}¶ĂŐţĎëĽűO•řű5]Ö=ş ÍÍîô˙‹Îľ·í_ŃW(ńŽ‚‚‚Âđ„rP …Ä�šĺÄ÷÷pPs€Ě÷ŤRr’R¶¸\fü‘Ž«4”f9]LńŹś×,¸ĺ`Đ-AJX3Ĺ*!‹źzů7€Šön|îC<÷ń9(±Ä8ůyđú<†áşS”HKOCvV¦±»§ÇN†6ăű÷CKkDH”‘‘†É“K‘‘Ţ˝ř' ‰k;Q©ýWkŔ궇ÇçĆ4ŃěCM3ĹSVÖÓf§÷1@vs-aŃá23tĺXŮ›¤óčdô(((( 7(~©řeŞ ŻAŚ˘˛,—…‚B<®ER7ĆÎäc•6u}†CŘăRĽ ’Č>žĹźř1şÝńŃQÇěş\¶Ů™KQŹyh-ú€zś,=±NćştS�Ą;?ÎóÉ#Ů:©?Ś'orö•`ŤÖ†ţ–Ú{ÜťĘÁŠŮŮŮ" Î[o˝mü>ĹßkŻ˝:ć¶oľąÜţ˝d™0•ÝzxaôčѢUss‹(÷•Śđ§ĽüęęL»?3HĄ˛đGAˇ?ˇřĄâ— 'JřŁpŇ ·˘žž¨Ľ>?ľóËżă{_¸mZk/ol¬Ć‘#:JK§Ű™?ß[Ť]{:đüĽáőâkjá‡??Ž7Ţnt-ç} č‡}âÄôŮ đ/˙ýgч=Ao˝íśaŞÇ?˙ůo‚ŕ1Ň䦛nH¸ýÁ‡đôÓĎŠůĄK—ŕŚ3Nď˛Í±cDZeËV?~MMMb`Í HLÇ;{ö,‘.18řzě±'Äüĺ—_*ĘĄĹIčo~ó[1?o޻Ʒįýâ~ž~úiFOmůđĂíĆŔ®NîĽóWF¦D`JŕU«ÖůŻ}í+˘žňÚµë°k×năÚš C–H˝ĘóH’ŘŘŘuëÖăŔ˘3łŚ?‹/DIIIĚóČ6Ď™3^x~Üö°ŘOĹĹE¸í¶[cnÓŇ҂͛·ÎѢ-Ľf¦;v¬8>Ółö¶ ě{FѰ?kkkĹŕ:-ÍŹ#F6ďo_ÉrśQ LÝËűĚ،h`ű?Qô'řťâ5° UUUâ>dd¤ßł1â™™2erRß÷čď÷),,Y ćÍ›+Ś^NÜ}÷ďÄąťßâꫯçVčČAŁ‚Â`Ł'\2âŠSú fé/͉mGkkfĆMfü1žw]ř äsŻá`s·żřž¸v˛ücňňsÁ×nXřbô¨ÉŁĄ©Ő%ú!((â»6á…J,Qv"„?[Şšń_돒”CóúM5ŹťÝÇčSŻ•ÝÇ*Ă «Ťš×™Í'r×Ě 2ł5I'XDÔe­–OP ‡{ď˝_Őóňr îőéŰ8yÖ˘E pÎ9gÇÜîŻý»ŕ]……¸ăŽŰěĺO>ů4>‚qăJqýőÜ‹%źQŇ—\r‘%í<×]wÝ)Ţź|Ç>účă®s‘gýęWwŰźżôĄĎ㥗^؉§žzĆž_°`Î=wY—vWWWcÓ¦-Ćxëh?ťjĚÜ*ßáń˘ÓťśřĆŻ}çÎ]¡AnD#-ą,ßç,oŹ[wŮŃýJČţ县ţ‚[‘ʰä—’ŹÓĚť;§ÇcľđňqöĹŽˇľľľÇmé/ŽÖ$ęóXíäóĚň äł>źO<?Ěl@>śL4*ďLJó@ň;9nÜ8ĎÂČ‘#»=FoÇv ýĹ/†*¤ŘÚă !M á¸ÉH îŹ8ąO˘Ź‡ź#KťO iâę4‡)ŃÁ"©{ş…ó0Îr\şćfsRĚŁéî¶:ʤ;×9×»´VŃ=©# !ˇë—ÎСľďů~$g˘í‹Ążř^r‚Y]¸žŕşxĽ"Úűmhää‘´CĹűŽĹ/cďaÉŻĽňň¤3Ó$dąĹűďŻÂ¬ó_řÂç™™wŰţŕ ˝ĺÁ=ďŰ´aĂ&ŃÇl«¨’�2ŰmµĄĄĄ ·íĎľeźňÜ»wďĎ™™Ń)MŘ)i˙ćłë;¬˝¸§¶Ăd‘¨ä:ÚX?ń‰ëD˙óą1yg“¸>rÍůóç©Ě«)Ĺ/JřŁpҢ;!P_aé™řŢŻďÇ·?s5ďŰm/ol¬1Čçv¤ťbđČ ˙ť•M¸ůÎvüěűĄ7; ĂŰw¶á˙ýű-¸–‡Ă!QŢ+:ÓĎŘ “ń˝»@FVďČ1ŃÝ=;ŃkjáŔ Ý ’h`—N7ËA #m8Xv"liWŹŻ˘™Ë/żlĐ˙ /Ľ$đýÖÖV1PŻ­­ł—qđĘÁ]}}®¸â21¸yţů„!˛_›p’°ŹŻşę Ńß^ë+ŻĽę:?Ań ťś.śŹeËÎAOAAŃsĎ˝Đ%†Ő#GŽŠiýú ÂQOŕ4ç aç…^ýśŘ4ú0]î@Őęĺ űŮgź7 î¬b2ý0':)ṵ̊äM,Äű>••UbÚ¸q“1đż�3g΀‚‚‚B˛0Ĺ<€]ŢË)±Ĺ$¦‹ÁpŮ˙‡Ĺś‡' ÝpÜh4‰Ň�şUú f90›kÚqë‹;pĎĺ3źÚő•ň±ŁĎBÁä˘Ňüéf[z˘a9Ř Sa;yéĽňyŃÓËŘPŮŚź®;Ś Áł}Ć{GóřŚ>óŇ^šĚňĂNÔdąÍe•ŐGJ€ŕşO˛xCD$$ł˙ÄÂ`d*+›dĽw7 Ł/Ĺ×4<GĽ)ÖĽ4Ś“o‰8߉ďĽóR4zż÷ŢJ×ŘŽ:rN›6mĆśßmůňr Ššś ­­]/2=uçäč š››…‰÷Ň r{Nt¶]wݵ"ŞŁ�‰AŃK¶…|›m‰gČîŽ6ŕ}ç¸ăčŃr{E;íí•‚'óygvDś›Îź·ß~·Kä®äÄOQ´ĆqA¬ßTŰ)(( ČzŹDIŽŽc-±ä;Ń šH™+ÍőYﲥmŃ਌Ą!ŞĆ•+yOĚövłP‹×äč´xůvô.óZ¬Ăi±Ż!˛ˇ«-Ž^ĐŁÖ;XˇëĽÎ„KŁrĐSÂŽˇ–%ň˘‹.Ŕ<,Ţsożý&Logôa+VŠy’±<X,ÄłA‘{r"?ĺ»îšk®P®•JčŇ_<8™¶JáAÎrć™gÄÝžA»víóÓ¦MĂ`Buň׆wr[[»xĆ8ŃŢÎ笧Y©RĹvČkxîąçĹł"AľČ1 §xÁĂ '”đGaX˘§Ů}úŁÄW4r ńż{ßľăjTWD<Ë~8°Í$ťj ö"ŽđăÜőµřňçFâS7ë†Ö P"ÔqßĂ5řý_+ĹĽ{]Ŕ §ŰŤLłkůQcńĂ?=Žü˘čoôt0=ĐďYłNFr‚Îf݉FďŮcnG5ô ÷Ĺ_Ćľ}űĹ<#IC'VlpÓŃŃ)Śí$´çă ŠQŇĽF¶—‰˘Z†s:>‘Îě34™„L1Éĉđî»ď '!Ż}ôčQâÚé@`ŤŻľúšzz±tŞńđ<4l,X0_dâ<ťC4VÔÔÔŠ1čŚhNt˛<ňČc¶ă­´t¬HaŤ`ö>Ś„§C‚O~ňćGďôÇ9(^{≧Dđ{ĂýiüˇŔŤm:8xżx, ąn¸áýţýb-f ŘŠ “’B#:Źčlâ3CG ż40± ±śSÉ|ź(đzőŐ×ĹóTV6Il{Ë-7ŠwťźÜN.“θdł])(( očÇY"Ęć¸JYBQz*l †<˘Ü—™óüů˘mĎëv\|PŃŠŹ=ó!ĽâŚÉé‘ezzěă0SÇ@ĽY…ě6ďT_FZ×ňq°ňXţgC9đŔçO3Ë{‰j«Ľ—&łţ}«k‘Ě=Î{ˇË0og'Ű”ä}Ňějş%ŕ:‘2eŠm„çű;ZřĂ÷ßŰUUŐâÝ-¶pfÚ™<9v¤69ĐŠď‹÷%#ZÉÓ‚‚Äš’’¸őÖ›Ĺü>"ţúý>‘eG‚Ć÷ .8Ďćt«W –źsÎY‚cŃÜ’™Ů‚Ů!ů'÷"?)//|„ďđ×^{C?:BÝ ň7ľĎÉ?éŘ`˙PpÎs°oČ›^ýM!ţSkppŢyËÄ5Ó9H.Ăčf¶…<÷ÖâôÓ—&}ÜŢň•ĺË߼–ÜžăЏŮ̬6ťťq,FßÇrúôG °_čpăx‚N1r^ňa°ży Ź?ţ$nżýS‚+G·wß]!ć9`”ř¨QŁÄďłń¤łiăĆ͢ĎceŰJµ±ť‚‚Bę Y{%ßqüť6BĂćc–ŘĹ­ZSŤŁw—v'JňŁÇZ§ĽĹ˝Nsü/łň¸.Ă•.GG˘Ę\qôJ‘1B:Ü5`‹ľĹ"g»µ¨ÄkŚ{ÖŃŁ˙Ňc¶dr±&îg˛AQ©$***™µŚÇ÷"ąK€+W®dÄYgť3ŰIw6(ÚI)f íá‡Y·{›5e(ˇŻ¤?ypwŕďË}‘ó““’Ë‘ŹĆŁÓć-…)Á FfT^÷3Ď<g‹~ČaMNź)ú’Bmf­"·bß_|ń…=9|Żm‡ý rě—_~EśwÉ’Ĺç)Iü¬^˝Fpô5kÖŠŚ“‘]AAAA!ő „? QčOĐČ1ăđł{źÇ÷żt3ŽěŹdţˇđe˙ţÍĆ@g†A>#Îô@@ÇŻ_g^¨Ăwţq,–.Zśő›Zđł˙=Ž=űÚ»¬kkk6HđNăÝëFŹź„ţţQŃWý…TŽśˇ`%''[ 88 'üˇXB8Pq‚+9Đ(+›$2Ű8 ĺ™0ť<$üŻżţ†$„�F‚ŞůóçNŠsŃŕ�őÖ[oq ž(®a4Ł^čtáŕ’NŠŤ$Ň”‚ :żhô˘ń€©qű<ËŢë®ű« L­JçŤt–p°ŰáEOŇrć™§ă´Ó–¸ÖÓ™Ŕół~:ťt40}qOĐ×spPůÚkŻ‹>ŕłG„tČIđ~q°+SB3{ĐâŋПŕ@ťß%~çY˛ŽúčëXľümĂAµU8—č¨Z¸pk›dľOsçÎiuů}zăŤ7… ŚŰHg'ť™Ň‘F#ˉ(mŁ  ú0}2㏉mńNfŁ1~T#B 82ĹPŔÂĺaÍ!ţˇăÂgÇhďŞďÄ•OmÁCWÎÄ̢ľóÇĽÜ,Ś[ŚcÇjívŚ1>çd\™™hţÝaüć2ëŹ7‰ßÔg÷UăOŰŞŚ~ŃŕőĄ‰Ňhś(đaĆ$Ó·Ą]iţľëpfú±2ůČ{aŞ˛Ě,?0K5Ř÷ÉvZÉ»)Y'–{Ž;F˛čtˇŃ—|Č )ŠÎĎ7ämt®DG˘JáŹĹcĆK2÷0ÓKO˘d)`‘ŃĘ#F‹d~ŽŽ`–ÜĎ™ń&Öv3É’l/ů“ďŇąAÍw8Ł`ßzkąL°-±Ŕ>aôŻ3Ű0ĚJCJńß÷555(..Ć@€B ®ťbÎł ÷Üsźŕ"tZp ‘ě§·|…Ď …YÎgĄ;č¨{čˇGĹ3EľËéÓm°@‘Y¬,ťCż2ŠžýN!3a:ÁgO‚ ŽMśby–áuQ,ĎgžcrKyOTŰ)((¤.ś6KçĽ|'/ާ6wšbóin¬ă˙ő.Ú®ş—xYuë]٤@.=ŤăÝ m´Ř›DŰmő.3ą®Çا›ýt-~_FC‹˝śoÉ2Ä=sň'ç»<Őł�‘{ĐĆĆ�/ľĎř.§ŕAf?!?¤(<zb"źĄÍďc»Ă}ĺ ýÉ»´R ôţű«Ĺ€ü%žH–ůĘÍÍ<6^ĆŃţÇA%gťu†ĆHű–•MvJÚă÷ďß/iÉň©ľŘű ŕŕwŤÎcSśÇń ł/(Ꮒ‚‚ÂÉ ĺ™R8©p"Q´üüŢ0sľ{PtĆő­aëJ|îÄ—ľy�ßűńQTT˛Ś–ŇÓńŠ ţí‡Gq×WÄýÔÖ3Č÷–.˘źiłćăżďI'j@ÍóĘôŞŚĐĐ Ű·ď5=bD‘™™! 鱌Â8÷Üebž1Š/3ő¦¤U<0%it–#^§sĐĆA•Sp#á4 Đy2Ń#Ľ?±Ú@CÝźýě§…c,Y0˛GŢ+ŠÄ˘Ť!4ŠĐÂA;#Ąz‚ţ8…i4ö§ź~ZŃÁgý’K.˛ťŚŚ†îĎçuĐPíP’ŕ÷@f!`ĘÝh$ó}bÔ6źIŢk`•BAAAˇ7ÁŐ–śÄü ť6ODDBž˘y1ĂĆ<ł˙přĆß)Í'¶×…ŔĹ'¦Ę ×?żo¬C_áő{1ft fÎ`đq9sFŤ,2N3p9ĽŢ®CÓč˛9Ńč ëřż-ĺřöJ*K࢟K‰ţóX˘ŹĎěgŮď‚ÂztVłűť÷Âľ7Öör™®[" Ů�yďN°ź†ďÜI“&‰ů#GŽ®ůYZZ*棍ď܇űeee ą2Łc{š Ŕ *l7ůʱ ÷4€ËtY6Čyb•8c_83ěP3P H:VfĘ‘Î4^ť= FöÇ€Q´B! A8…PNôG,P+ ±hŃB;»ťsĚHę„| –ን…“Ů0ůť),,0îáś.ß­TŰ)(( =đ˝L.µ ¬�ů™a‹·šÉ'uůO‡{’ëăÍGMŃKO˛&7˘Öąv3Onr,ąŢ±Lr/ëź)Ŕ±&÷ŐëŁ.Ę<ť\çjĽă dűĺaŁŽ+Ű Çyíżîí¨ë×o­ÍĎĐ1oRľAßµ”ŕP˝ßO,aDŁSt‰×L0ËĹBOlP2hŽŽh~1Ѥżxp˛ H ľĄ¸'•••˘ě1ÁńĐĐĐ`ĎóY‹fŐüÔ§nÁç?˙ą‰¨SÉvxîąçÄ<?ŻYÚ¨xˇ•‚‚‚‚BjB Nj VdEn~~ř‡Ç°člw IŽŞŞdl‡AÖQë€^©ÇU7îÂż˙äXN Ô™Ž âżs »e^z­ľKŔM(×vüřľ.€y§/ĂŹ˙ü$ň &Z–HŐČgź;vtYĎÁśŚĆe$¶3B)¸ŕ "‘Á€#Y’Ł?w‰@'Rf9‰'fa$­ÄČ‘±k\Ó¸.Ż›Î�…NŁ8âŢ)\ęi .–1“ß•î˘žŻ¸â2Ő?çŕ1Ţóx]r˝Ü—F†ţt”1ŇL^ł %j41ÂĚé(ëÉ÷‰ç¸é¦Ä ^EX+((ôf))�Vé/ół%0‘¬’R¦8Ĺç_!úńXâ–Ş2KXéź(Ş7čâŻîĆ÷W@g(Śľ€Ž‰ěś,äçôč-ů÷<ŻĄĄą mĆo˛ ßIĎp˙k 5Ç[;ńĎ+ŕ… ĐüiĐ,”č3 <˛´—×ěo)}ęŮ˙ňDÝ =¶HËvë8¶ÇĐqÂÁL,3F˛d€2“ŁmeäçˇC‡\Ű{Ęl“±Ä/,#ŔŇ r�Ywúôé ËA0CŤĎ­9Ë™E#ž€ cF‚eŇ ‰ŰÉCńÇ@#Q9 Qⵥ?8Ú`‚ŽĆDcE'¦ř]‚׸{·É‰éd‰ AGĐwÜ&˛Ł:łEĄęŘNAAáÄ /v+îK[ČČX26®ę‹Ü„ťźĂÖäXÖ#Ű„­őá°k˝.'Ý-ŘqŻg&K÷ńŁ÷ł÷%eŐc/5Ĺş&kť%2Ű-×…í áČ_ł­°űB·Ú9\mµ'y}Öő@Ź%\2Ź'Ű˝¤4Q%…˘di_ďó‰ऴiŇ&3 P,/bOlP Kś ďşľpţćÁÝAŢCž«¬l’}ĽĆĆĆ.ŰJAŻ-:‹ý@ÂYm۶í|H{ž“S'T˛RčĺäáŃ×ĆĚYŃÁ '”đGaŘb0Rk–ż‚Oť{ n;ďT|đÎk1·ÉČĚÂw}/®˝í ]ŽßÔTköő"3N4‚AĎż\ŹO|jľűĂ#Ř´µ f93ńÜ·´âß~p×Ţüz¬ť]‰tCCĄqMŵ9Ák˙Ří_Â÷ű2ł»Ö'N¶?ăa(  )á`™ŕ�8:šťg98‰ 1EĽÄřń㑼Fv›űUc ŃßKńGÎ{”(]Ş!u—) ·ŕŕ\žă•W^éű©ĚÁ`_˛ÚČűËcËg¤żŃçĎëwwďťŮ€ú3b‹ém%ES__w˘qMBÖž}źú¶°Dfü‘+,щ)8ńâ™ Č˙xĹĽ(ae‰ŕő›âź__ţ˛˝ 7ľđŽ6uŕD ńm§ń·'H7Ţ)™YB�”n8¸ăezűH=ľřö^ělč€Çď‡Ç¸nÍgeúńú¬>óŘ™"˘-ŇÇŮч°G·ű_řĆÂč˛NףÄYĐĐű7˙‚ÉM8`/gä«ĚTčţ° “Sh!łń‰Ä'©ĄNˇĽx§§§%äMMMv»ëęâgÄrň…Dë=|®{fö9Ńmp:O˘át0E·Ą?8Ú`"^Y; g@‚óůá3H§ ŃŰR ©:¶SPPH-$˛U9×ńB{ÓE3<HÓôđÄ5Á%l±Ĺ@®eŽů°s82çD‹oŕHf}|§�É•Hîwv=Ö2)ĽAäZ¬íô¨íbSŹ>fXŹj‹sß8‚ŁpŚíťýćj›Žtž]4Ý#îŤóý™ě}M5,[v¶ `ö>–‹‡žŘ XމUšš#Lô…ô7î ćÎť#ţňűťő‡ÜOH–•MJČ'ű ^YÇYęęľűŔŞU«­�‡ŢgßI%Űa˘±!ż?„ĘV®   pr˘wE=†0ś5°ű řé·ŃXoHţđ“Áiç^s;Żá”řě?ýs–śŤ_ď«hj7™ń‡™qęë+1f̨ą‰q(¤ăĹWëÄ4z”—]\€ë®*Ć„ńc|?^Ŕ+Ż×ă©çkqřH|'R{{‹q{ŃÚÚÔe]VNľúý˙ĹY_ŤDH¶?{‹T@SĐĂjŚ(+›dŻc­a‚‘ĹŚu‚)r%X'ą;Čm™†„ż·µśÜ`ëkżţú"“ ďĄĚŇÄ英cÇŠ˛ĚŘÔ“LHňţ2š·żë@÷ç9ä1’ÉhääG§&î śß…{îą?éýÚÚÚb#™ď“‚‚‚BĂÖřX‘á†Y|ÂahRücđVŤďFź5z:(dˇCĺżô ±—ńAóËBâšÄúĘvś˙ř6|iŢH|yŢXř˝óá1Ţ/i†:#˝ç<ŐŚHőZYtt8U5UmümŰqĽ~¤Qô‰üx­ĚGF‡‰~˘ JôŁfö'K~éüăś7 ŐšąňtΚCĄÉlLr;D–ĄhЧř€ĽŇÍ+çYfHľ·9O‘Ë}Éě=r;c(” pľĂׯß(¦dŕäŃHe'ۉ@oűŁ?8Ú`˘;Šßďüžă)gv#ç|Oł|FގĆv =G<»&Ż™oîÔQX:ˇ+ř"| Ębďé8„ćZk ›u)oÖşî€sλvŃşn§'^íÚL‹ybS`ł]ńlżÖĚ ěşY—}}`7Ů&77?‹­˘÷5Ö/Ŕś©cĹ˝‰÷»=”8őX†ę˝÷VŠĎý$˛-őÔEqmĄýi?JUôžô?î $@ >üp»Čn#źa¸˛˝Ä`–ů"ř|]wݵxńĹ—…ťăť5kÖŠ‰¶ŮQŁFŠ,©l3¤%‹T˛ŞńŠ‚‚‚‚BwPNzÄ+Ők"•Än˛üú±·pĘü®ííÍŘż ĘË÷D96!§çžŞDĆť«nř?ţŻ#x}y#ęCčŻ2^-m:Ö¬kÁŻ ·~v7®řÄ1Oôö–—ďĆľ}›cŠ~¦Íšo\ó›ÝŠ~ş ·ˇßďĺ�bÚ´©bđFHˇÁ:Č2ŞĄ?ҡ:Ż˝żo';ĘĘ&á3źą_|ˇ(… #ž8Ŕe=ň×^{<đPĚ´·Ýa0žŮľśŁ'ŹŇ@]Koźgń˘  j82"d„E·~?eé)™­F3E.f9+ÍüX‚!óĚţăC›îÁ/6Vŕ’'?ÄĘ# ,xŤ6äĺeĂoqťľ"d\˙S{kđé7öâőňfă’ÓŕIK3łüX×­1Ű‘ťáÇc˙Ő-ńŹýŔH‰.qôčŚKşµODôc.Óçc˙Őu§Cě̬l’řK.) Բ̦3‹Źś—ëXşJňĎDeľR ˝ĄµŠ <†GK¦˝r›=®Tc;…îŔŔ›qăĆâęSĂČMłRŰ8˛Ý¸łâ“fg­qdżq0Ą.;$:˘˛á¸`-ĐăěŻ'Ú7ę0Îm]Ë[ČăÚNž;şézěóęš˝Ź›őE®Cwě9¤Žă\=+ŚńăK5óÉ@‚‰dăÉľCO&aCo9H*đ`)ęˇ ‰6P‰íŰwż99Ů® ×ÁBAA>ůÉ›qíµW »:3RĚěŘq¬Xń>ţţ÷{űTöLAAAAA!•ˇÂú_ú·źăîďS8ľřŻ?OjźŁKńÓż>…gď˙#ůă/ĐŢÖęX«ŁľľBLąąE()ŹŚŚŘÄŁĺťxňŮZ1y çĎ„ńé(›Ž‰8eżŮYcň¤Ű¬LSď×ÚFss-­!c ăŔÁv:܉‡Ú±ßš‡»Itt´˘şú(c—8ĘČĘĆÍ_řG\ű©Ď‹ŚGÉ 7ý9ÔŔ(ÖafJÔ}űö‰ů8Ët¨ŚD8ĺ”™]ös¦f‰†Â„çij2#d(2rĚ“ĹÉlPN¦Lű”I)Ňb9 fţŮşuŽŻ@mmť4ąĺ–› äýetk1DÖźţ8đŚěaĘŕîŕܦ? ]ň:řlůË_DoĐÓď“‚‚‚Â@A·†-ńŹnf¨Ń-'„fĄ¦Ń5k>ě1çIë4ă}fDwXZĦaŻy4ęWŚm÷5ńÉWvăÚÉřęü±Z‰ˇ�ľ‰—®Ă=;Şp¤5(2úPěĂŚBââ˝– G3Kvi«_XMłr(iš•‰ófą.±ąnfSŢ.Ë‹ÉꣻÔ=vćČ}mźR‰)1‚őí·ßóő0óŕ‘#¦¸gҤIövśß´i Ž5łʬ…ÄPţ0j^‚%'.\�…Ô@p´ÁEr‰8jGG‡1V3eÎŇ&Îg0N =¶SPPH}ÄËć˝ÜůŮ9O[ÓčŃŁqęäŃřÄś Ü»ÖëNăÔT8„*šEp䦚î$<Ö|=Ft& Xésbě˘Ç:"ç)rdé±÷ GB‹}ú¨Íc®łű" W›˘/ŃŃGp­ŇÝ›ÁÔçbv3'ŤŮĽťŮ~+Ćľ UALOmP2ÓOoíG©`ÇL¶ ýÁAN¦tŐŞ5ÂvJ[vYŮ$qďŽ-·×Ä3›LßňĽl'‚™ŽĘËŹaçÎ]"#QGG'^xáE|úÓ·»¸X<(ۡ‚‚‚‚ÂP‚ţ( kô¦¬—sŠ/H`őáhđĆ˙şśvŢĄ¸˙ííč)(„ůřgţç]u=îýŐŹ±ü…Ç»lÓÔT+¦śśBŚB M‹ť¬‹B x8 $čXb›X–¬ą9~}ŕ%Ë.Ćţőg9fz‚žôg8d€śĺ”z3°8h‚(ü C":‚Y€öîÝ'ÖŃq+íhqq‘=řđaQŽ!řKgKS9a–Ń0áLYŤáZ×ď÷Yir[n×›kgÍvN§žz žyć9ARQQ‰ÚÚZ»”F"ČűËß–'L_;ş·˘ťţ8Gqq±ţPÜ$Ekń ł Čýú ň:x/“íßxÇ şű>…EŮí¤Š>SPPčŠ(ë„éĘOäoŽî˙ŔÔĽĐ/Áě?šUÖ şůĄ3¤‡ĄżüĆĽ±Ě¶3:>»ż ĎíýŚËĂ׎ĹÜÝ:Oáçőux`g7ŚkđŚ>BřŁY™ŽY}d–$H>¨éV'ÁńV%«—5ËAŁ›))Ň _¶ +˘ňq8”48>¦Pšĺ†X*¶şşFĽGŽ,Nň>ç;nܸR±¬˝˝ĂضÚţ””ŚčuɢÁť$ééiÂpO>˘:čŽ6ŕó]^Ů '—u^ źA–-á÷ČąM<ÄâŐý5¶SPPPp‚ĺfÍ:•UŘ[ŠŢU‰KTnqÝ)h‘%haď$wsʆuל;CP …QLaŽXɬ;ŃЬc‡ÝűȶG*vé]Oí<}—6i]2iÖqímt ;-“łť¤Şç”…pÎTʏÝ•tÎč‰ ŠĽ”ÜŐąź„ÓîD{^<ÁFoŸÉ@¶ˇ;{˘ęv‡ľpÍůL3ű9…4 h%ĎŮ˝{Ź=níi™Żţî['233…ťťÇJďżżZŞhź;wN·ű+ۡ‚‚‚‚ÂP‚*őĄpR"Ůh Ż×üŠ„+¤)*Ťoţä˙đď˙÷ J'MŤą 6GŽěÄÎť2`-- ĹŔsńś<7ŰŔ¶ÄýŚ+›†ď˙îa|ďîz,úé)潑÷*ÉŢë1cF73J`Ďž˝b€K1ŻĚ×Č‘#QXX ć™U¦łł3îń™^UgĚîZç '$˛]Ă ňÚYV-^VźŠŠ Ĺ ĚRĐłjŐj:t8ć6|ÎčT“ŕ`<đ>Égtýú ·}ůĺWEzÚĺËßîŃoAśC>OěżM›6ÇÝßąžŃI‰Ç=ĹôéÓěůŤ7'Ü–Ć”}űö‹h)'zň}Ú˛e+ţřÇ?㥗^PC’‚‚‚‚X-Ý'šÇQvJŠ‚,±Ěl7˛ô—.„0>謳앏ĄżXËoMĆ:_Ţ,oÁǞ߉Oż˛Ż¨Cg¨ű,wʶ€űÜl´ë§Žáp›Ń. ~¬ «´—Ďş>«Ě—Čüă±Ň‰ň^^»ěW¤zn•F3Ë9}@vé/—Çáň’eÖN1離pČ>~ €m˘ĽĽ\D¶ăĆŤs qÎeSŢËĚ?•íÇ)hë-(úź:Ő7ŃŮŔ¬‹ń@îĆ÷8ą¶ÂŔŁ?8Ú`‚0Q¦Ď 6ÚóňűEđ9ž6ÍĽV~Ź8Ĺź˝ß˙ţŹxę©g\NĽţŰ)((śśH”5¦¤¤sfźŠć…pęČ)ěˇh<l h¬*`šśŹš´n>G&=Ćd-w–Ó-‘Môţ’xEÖźc­łÚ®[ëôpŚíŤ9¦mŚ^&Ž«‹ckbźmÇ»ła—ĎÂősCâđ^${߆#zbZż~Łk?'RÁŽ)Ű Ĺͱ@Ţą˙~$ŢrTáÁsćĚ)˘ˇť”‚e…{LĐ}K[.ź±Í›·ÄÝfüřđ,Yţ©l‡ C JřŁ r@’žž.ćMµ ,>ç"üîé÷đÝßÜŹ©łćÇÜ&‰`nĂÎťkŚżäýÚŰű?3Kgg;ęęŽ ‘Ď®]sňÜlC,Lśv ľńă»ńO˝…g]€Á@°ąFÜ#Ţ+b¨ šĄŔçŔöŕ”e”8HŠ‡Ĺ‹‰ż4üRÁO48ŘyçłÔSŔ˛ÔPÉA Ł3ś%$ŞŞŞ°fÍn(-59ö¬]»®ËúöövĽţú›q÷§“ęůç_0úf­čăXE™B–ŕ€\öuwŕ}‘÷Šć>Xs;fŠâóBˇëi÷äąďŹs0ŞG^ÓęŐÄ@±ź^{í ă7Ă4@0őpt;ť©®cőc˘ő4"HCŢńö4€0…ďsĎ˝€{Ë÷%™ďEbz1˘›ÎŃčh=gMűĆĆFÄŹńČ#ŹĹ|îăÇŹăÉ'ź6žŻc‡mă3÷裏‹kVPPľT1°rÎX™mLqJDüŁËĚ6šýxíňWâŻűx…H÷ř…H“ ăď»ířňňý8ýŃ­řŢĘŘPŃśtPsˇ5‹űkńµwöâ/íÄ·Wăx»quľ4Ń~–ö‚×!ôágÍö} ™×/ç!K{顔n ‚dH8{Őě R=Â9…A–ŕG×l–-ú17µ2 Ą†řGŠwęęę… ‚4ib—íä˛ýű ¦Ćë8  ůŢLd OćÝş`Á<Áł=ó…^Š!ĽbĹJĽőÖŰxŕ‡]”“ Éň•ľ˘ż8Zwb¶ľŠ†ČUů|ÄÂęŐklůot9>˛ŻĽňjĚgšc‹W_}]<§ý0Ký1¶#čl#Gä8&–C޵µU˙ńÇźŚ›ˇÎ*çJ¦ě±‚‚ÂŔ ·ĄžśëeůřÓ&ŕ®3B=:,ŘŤ%ž‘“îú¬[ÜÇ=!jŢ™FH‹ĚŃóµtוnŐµ{GĆÝ!"Ňc´YÓÍ6t˝ľhR‚ ]÷łŹ)!Ż9N»ąí¬‘a|î´ ¦O/îAO2”·2_D˛6(r†;>óä©ŃŁKKÇÚó|?ó˝ Ú±Q} ŕlĂ;ďĽ×ĺ]ÉçôÍ7—'ü×Wr˘y0ű¤m}/EĐRÔôGßľ÷ŢJkZWčÄvJô$b؇ŘoO?ý¬Čb_W×5ŕ›÷ýKŰfĽ@Pföz≧đâ‹/w›ÁIAAAAˇ˙ˇJ})ś´HT[‚Ťo4W%T„ü@‹% N;÷Q&kí;Żá±żü »¶ĆŽ �§ĄĄ^L•• ÂďEzz¦aÔ5'Îű|éb Ŕu^ĂiÂżrßP((ţ’Lyn3Ś„mößxźhĚ»7|î˘Í;5îWS•ńwLL2ťĘŮ~$hXąr•¸P@A°LT˘¶R,DGS’ŇYsď˝÷‹Ak ÓČK‚ÍÁ˛L/zńĹŮÂ('Δ)â™gžiXÇŽ+öc”ř‡î/’ţÖÖ6 Ě™3˸¶íâűÎzÔUUŐÂŃE‘ Ż•@öĹW4JDŰÍź?ëÖmޞ‡zDô%Ť<fMMŤ0š76š†˙ąsgÇ,Űçť·L¤ńgúZ¦źĄŃ‚Îň9`˘G mhřg=Żç ăŇK/ÁcŹ=!»2ş›)›ů¬Ń‘Ă~¤Ó‘;v -ZŘĄ,‹&A!żąą9¶§»őçź®xVyË—ż#Dl,™Çýčdá ›Ć#B3Ď<ŁK‰…Dß':’hh‘ß'ţ–^tŃ…]ŽÁ- ÂÍQŁFÚQN<>Ż`tÚčŃŁ»d@bD|nŘŻűŘ5®őěS9O űµ?˧)((¤$-µ NéÎL)¦¦EdüUĚYúËk,7xś¦…EöŤ†SźG”ţ‚WĄłŚKăACPÇC{đŕ®:gz±´$ ‹Fĺ`ŃČlĚ*î_eČhË®ş6¬©hÁşŠ&l®nE�f&‘ŮG‹dîŃdÍĚl¤I‘ŹĐŕx¬ţ0Ĺ=¦�ÇXćŐl?‘]=ÂçDúQ·Ę|éŽţ”B ÝŚL—«{{™%(•(&ËđÝÍ1Śţ”•M겗˝ýö»ö6܇ѬľżČW)Â~㍷ă;—\B:ÇX¦Śď[ľéřŕ=#ßĎĚĚďP‚ĆúłÎ:CřÉçî»ďÁŁąžĺČG>úh§(»JĐ1ŃӲà Éđ•ţBp´îźź'ţrśBQ53*đąé©“eáÂů†#l“×đůÉËË|"~>§Ëiđš˘Á˛gź}¦SQ,˙ýŠgŚß%>ł[đ:é�"–,YÔ%óCŚíÚÚÚ„ŠŰ#2äŚ3NwmłbĹűv`ľřĹĎ»śŃĂHç#ŹÁó'SţBAAáÄ"QZţ®.]şTdĐřĽv Źmбb݆°î(g9�=Ń™\sa»Ě–ĚŹčPD‹Źz—ý"Đ»ů˝Nł‹Źé"˝ŽfggtAŹŰfç±"cí˝ô9śsşëŹ×Łá¬˛0nśBŮÄ18ýôĄ ßm'S) žŘ Čő.ľřÂ.Çŕ¶äŚ|_ňÝ˙ŕcŢĽąâ]LnÁw(×QdDţ7ŕůůŽ%‡Ą˝bYrŠ›(ţev>rŇdŰĐ’*<ÇdścО˛Ič)úŁo)Îa`+ů%í•ä1cĆŚv\ŠŢy )NbÉŻXÁńжá�ŠŐŮĎD Ŕ 7|µž×(3s™¶ÍQöŘLâĹ_˛ýüť»âŠË     0xPÂ…aŹDŕîö#1dyš˘ÜLTWFćČ ,đü§ťw©ďŰ…Ż>‹7ź{•ĺ‡ăîCˇN[[ł,OvÖĹWă‚knÄ”SćâD ­ň Fäe‰AďUoÍ'r°MĂ4r€DÄ+óĺI3 ł°P(@ńP4ŇŇüĆv—ÇČPĽÂ$ŘmÚ´EL4¦_rÉEBŘ2ś@‡Ř9çś…wß]!>óúť©€ý~®ąćę„UhH§Á‚qů9ČŤH—-;= ů7ß|ŁČúÂAŹ2Ęlj‚‚|\wݵÂ0ĐSôÇ98¸»ţúŹ‹HmčŘŇ™ŕ#“.˝4¶(Ď&…<˛/9Ń)tĺ•—'µž‚*çuđy–Ć'8č¦S&^ÔQ2ß'>W^yEĚďEbR(ćlź3)xŠŽĽŽ—)*Ö|Ľe4ŕ*(( Hw‡™ĺGw•Ir čżâÓ9bf˝ ™Ëµí€1EDó¨˘üU1aIh^µť:^9ŇŚ—7‰ĺc˛ý–—Ž)ůé”—aLé—›†ź9Ćoc,ŐÖѡ¦5€Mí8Ô؉M8ĐÜŽ=uh…‹ĂŮźŁć™¤ÖCÁŤ×ôżx<‘ţ~)Ң(Ë˙¤Y™~Ěe7—óŔVÁÎŕcŻÓ"ă M“BůYŹ´#NĎś<y˛Íchäw i%¸Śďy™™Źű (8ˇŃ†}ŠZeä-ŰJžF«,]şD8‡¸ťĚĆXV6 ×^{µ},ľgéÜ ‰BzS Ű5ú´¤d®ľúJWÖ›“ Éđ•ţBq´D ŁiË–mâ»(ąctögź}–ół_dP„ä˘c;KŚ8Á癎>äftŕĹÂé§ź&śŔ±Đ×±]0tEĆwÇ39öű˙ěýůł,[v߇­¬Ş3Ýsç{ß<tż÷ĐÝh4ÁVCh€ @l‰°i™’‚˘äCáËż:Âżúß°~ó/ ˙`…5:Âr6AÂĆ@šÝě~Ýďu÷›î»ópî«*•ßťą˛VîÚ9Ueťšľź÷ňćÉĚť;wfĺ°öŢß˝–vLM¶íĘe†_#„”S×ĆéoÇ7ňoüŤßť?ůSůŹú?“÷ďFň˙łHŽÎ#OóR×nęÉ^â)ůËôRće1ĘĽ,FŃtúČ웕Qlä9Qě {š¶ńĆëŠ9F^Š´čž8*ň ™-ŕš_Ű‹ĺőť±üÚWÇÉ{ú]÷ľÇµ/ě>Ł·źM iÔíŰ·śťWöÍýťßům Ě r‡ťhyッ:‘í˘„?řM÷w˙¦ü7˙Í뾛ը°Fçۤ óÚ «`Ł żzŔÁ˛µ/šŇŵ…Ťô›żů7\{/ňŔ€Í¸¸®mźąyŰ×k/ÖŮ“érŃ~Ä÷§.B!‹…ÂB ˇ 4:ĽŃ@úł˙ďËŕŕPv®]ľw…wŢ˙şü˙ű˙Łüţ˙î˙ ˙âOţ±üă˙ç%öG O~)—É­»ŻÉ/ýúoËżń»˙®|űW˙Fî=h\<$ÇźýPľňż%¬S…YG €·ß~+Ř9ăĆeŚ€A7ÜçctF@ ˘„ý1R čUžfpŤţÖßúźą F=`”'*jŘ#oĐhľ©ť#;…‘¸ög˙Â…WÂ(\T¨á±g\*á®˙ďţîżí~;\?Śh†řĄ—tL˘BŽpb™b]Ő¶yüťżóﻑ$Čż 5PÄ(aiđűÎ3z¤‹c`Äţü˙ŻÝý‘ÜQ„ Fbáúbß«Ť‚˝ďßűŰN8Ążu[·]Ďă÷˙÷Ü3„ó@#„Bý~Ď˝p|ÜŞž«˛ç ĎČÍ›7]㞇˛Ćđďü;ËŤ6W1îëz^ ŇQl?sť«ˇp*żó;˙¦üĂřî9 Ć0Z Łŕp-pď˝ńĆëBYłŠËg!ď,É„+Q¦ňÉĹ?QŠŞ—őId^k"wzú©H%뤝ČĺOćqňžŹ“†Ú^ěÄ?ŇCú^*J2BŘ­/OOĺďKęă&+Qá`É•ä=ŠůŃĹX^&ĘŁqš&÷Č#ĐîhŘ2„ë;RĎ}c’t°)ő$!\Ę=ýdŢ~°©—…Úr'™^·Îě—wĐdëŇUŮy뵊­°G×M„URřd×_G°ÇžH¤µÇźË°QîKíŞFglSŃ·†» |Gç</"Ü-\ćCÔ€ď· ŔŻüĘwÝ·näá9e<ŽÝn|ß{ď«îś1‚ßpt~`Ä8ě|!Ćަ‘őeÔŮ+]Ň…ŤVěUtÚ ¤ň†Ą*|\čśB'#ę¤=}úÔŮ (îŘłuu"Üh3€×OtŢaTů(y˘~ńöŰo; Uµć­ŰÁcÓŻýÚŻĘ?űg˙Üy>ĐplGČ†ŁŁ#'°!uěĘoűť]Ź‘ŰôöCČr©˛3ë<‡Ä?Ľ„wĹŢއň­7Îĺ˙‘|ţ˙čăHΆ…śĄD–(DĺVÉLŃěďLd›m&]hç‚<gJlSćE¨j{ɦţĘleŻ„ö|ěú¤ůĉ}ţÖ_‰ĺő[»n Ţ×ţ;¶Î#y•Ť˛)öK¨ íhp‹v´ˇá»[Őňďý˝żëBV!Ä%Ú žqÝŃ– OÔ%hçű˙Ă˙Ŕ}saw˘ 6'lX´'˘ť ö@ş˛AŢ{oyv0lÜ÷*ƙǫPׂlŘd°§Ú×u{=pźĚr=şh;\u~ű·Kţţß˙îŢüÍßü7¦¶Ł-ż B™}ăßpíč\ ´m"lěÁÁřBą\š~ᢆۢó¨dY§ž™ëÔĎÖő˝ ŰĐăß;?żř#!+‹­pú1˘GYŚR;99vĆXUGńĽÇŻŰZĆ„Äţč#9|ë˛ď<˙,żâőÉGĘ_ü“?”˙áźţ˙ä_ţ˙˙Hž?},]răÖůÖżţkňWĺ7äżűňÎű_“ĺ;O?ý|ýk¸°Î•htä˙—˙ĺíţţ›óßĘc_B!ŰćĐ }p0ńä‡Ćµ( ń¤P{Í.Ďj_–ىľýZö·ş ˙ÚF2ŽÚŹnlC”‰[ jb«HľMG)»4.í8Mc;®żáŔdśî;6i˛żÝ~n¤vv̱ eĆbĹ?*¨ÉĹ>™&ĄĺxT!ă„=ĺŰ"î¸$™čGęKENš®'VP4±ábç(żć‘éĂŠň}ăTě“]«(šäaŻm^i-ä•íĄé!bŔüż˙í[.-:¬mąŤ;„BČŞ°,ű˛ Ú´e†ÖůËiX÷/ś§=?{|.đHţô'±<9‰p&!Á˘éM揸lătĺ˛[S}1P<_Yâtź[WDľűU‘ßúFrÜŮsź Ň€0Á÷vŇĤ}H!„¬měKŔoůz°»»µ"<źgó‘7ĹŮ|l¦ŘĚýIJ–«ćţß>UŰôřC¶‚6#˛C#eŔwżűË®’˙ŮgÉóÇźĘέ·dçúéďHÔ_ÎŁ!¦˙ůßýOÜňłÇĺÓŹ?”Oňcůü§?–Ď’éĹÓ'rzňRN^ÉËĎää8ő–qpĺPŻÝĂ«˛p(×nŢ’·ľňĽőŐźKćďËŰďÝ Vx4”Ńů‰\Ľx$çŹ>“ţř\Ţď+î7m:T|VᣋQ�#ťáe…B!$DŢ!UúK˝ÁNŇÁăä)“ĺ:­ĆN°’ ś†'s„pZIVě†3÷2‘Ëx"4ÇÎ+P¬b"±ŢÄjŇu+őLćq&üÉéL?.I/ Q–y1’,DDzÚý,ś™žżä猹Ĺz=DЎż˛2ąuqq?-G_" ó›ôšW¶_Ţ[Ő׺ !„BZŇĆëOhťż A <jÜąsŰyŁ˝štZ˝÷úąüÝż6”ď]Č÷>ÉÇÇrďŮXN‡˝4ljŹă/Äž-MĄ źC6Ź˝e/s‘:O>!UR{â¤Ŕă*É’zý�~$±Ü˝ÉŻôä›oöäkŻíČ•ý獞»áńžOf”HŃ!„Bé ČÖÓ´˛Ś 2b4C¤—†ńË{"É4®É?TI‡€.¶Łýërí+ß’ťĂŮÜ›űܸ}×MđŇłJ\=•ŁźýĄÄgGÎÝeČmkm¬ëd‚sÓ˝ýĽ÷ŢĎÉ7żůóSĘٲ|Vą˘ 7®‘pNľ;`B!„,k¶”/ŠIׇ ýe!ĽTŚáK.‚gvúéß2°¤â–qÚi“y±A¸/'BgO2w»ĂDQoAQśu–Ś3/9¶LqîPg˛-ÎĹ>Y˙+[śjŚŇăd‚—gŢK;ŽRGJ™@)Sŕd>~&‚'“n„GyH®Ü#’ŠwŠëܵ3'1VMFşKěßý”í5šŐîdÇ!„BÚ0‹řËż‚P5ó Ôź}öą\;<•_ú@˝ĄzďÔĆI÷mbűVHsÖŽÜ.ËÄć=Ő«gëq áÝźĐÎ٤-rÝÚ+ !„BČúÁf˛5t1RâÄ2EüR¸s{đŕ‹G !OŐqÍ ÂÄë…{ŕŁ˙Tdďşľő5Ů˝ľvşââ艜Üű±ŚŽËŢŢ^r~×§Ň4©äâz!ć3bńb$ â’‡ö]—‘3÷ďß—'OžĘĹĹ… !‡űg0č»xĹ„BY–ŮXźzÉ‘‰‡'ŘÉ3N�”yĄÉ„4N~‘ór“‰tbxا˝<ŞĚ‰{Yú~&’ÜÓĎÄ‹NöÇ8]/Ö•q^Ę^z‘É�đ¬đÎ+‘ń“ |úŃ’Ëł'ąŘGAi^i/ĚÄŰ‘î>ůČoăąÇ¤ŃëĹO>*Q“ÉCBz…B!¤sfś×‰tÝ•+W\¨ůŻýknPÚăÇOäŮłgn âůů…kłl˲Ĺńu´µÝ5t<tCŕsóćMą}ű–›kHŻYE?MŽM!„BH(ü!¤ZY†đä~á›ÉšoşőMbk‡¶ˇbý—ů=yôč±üĎĺxďš\yăŮ˝ńЬ3üĽüüC‰Źź:W·oľó¶»^¨¶bśMóĎţŮźÉ~đĂÂşßţíß’ëa!„BHjnFĆŰŤ3‘ �Rď?đ¨W OÂY©€'‹ŕÇ}‰úđŃM–ńx<ńvÓË:Ťâ4ŚX¬"!lěĄ"˘<ôX›° ‘ ÍĄ"!˙8ďBzp• o;Žü’¦5˘ś8 –{çÉŻ…ţ­!Ľ˘<ĚWMDK*|Ę…AQ\ó•îĘ“{,2^Ź$*ßÎB!„ĚKŰŚˇőˇA‰ş–Ű·o»IÓŘt«.ćYÖŽ›Çăx™=¸Š !„BČzCá!MĽţT­ˇ ´żŢn»uë–üúŻ˙uyüř±‹Żýĺ—÷ĺôg!Ç}Ů»ű®ěÝzMz]YĆĂ 9ň…ś>üTzĂ9ŘŰ“»ďľ#|đľóÔ3K…¶Íúu=ţÜŤę÷{ňÚkŻÉwżűË΋!„BČ,äbž\¬"©řÇy­I·ĆąxĆt¦ĽÝdŢu4„Wb«őEňpazŔ±ń°cÄ2™¦XžĚ‘nËĹ8™G!1â%§О0b’zţÉDJąˇ^¶żŕĽ™üťš(ý%&ĚWś/»ścOü#’{úÉdRFdĂI&ţa' !„B.ź¦âźŞuŠÚ7MlšMµ±ßşČX—!„B!łBáŮ*ę\ä¶ő4Ik×—m»s玛T�t˙ţ>úH^ÜűD·dďö›N”Ĺ?X!bąxţHN}.Łdwg ‡;;rűµ7ť«ŕ»wď–îŮ•hÖJô2+Ůż˙űż'„BY Út–„¶ŐŮ——E0ô— kˇ´; ’Ô ú°‰ŁĚ;Nę(YŰsé‘NúńÄ›Žž«ď D˝ę¨đEKĺńĽ$+�ţčM< Lś#˝8÷ä‰ ŰĄe”ĚăĐD´$yx-+Ŕ‰§Öĺž~DĽtf®B©HĹ?2E*ůQaRVô¬üq–ż4üýŮÉC!„YĄ=łl}YŰĄÝV¶˝,í&3kűâ:¶WB!„ő†Â˛u\FeyÖJ4ÜęţĘŻÜv!Ŕ>ůäSąwďK9;;“ó{?ÓĎ ýkweç:¦;ŇëďČ2Grţü‘\<(ŁŁ‡2HNgwWönÝ”7Ţx]ŢyçmąqăFpßËŞ,łM!„®YOąČ'÷v“•ŰmŚRá 5qćŃG¬· 4¬CŞ3Ź\诉&Ť –nWŽő2”űë1őŚ FĹ6i2ťĎDl“‘jmŚp'Űh±ÉąMN8÷ş“ pR‘“ô*Š&×CĂ{é~…0_RĎ)_1‰¨tB!daĚÓž Ú Rô·WĄŰ$š¶Î2±n[“í„B!„TAá!ÚŽüinŢĽé¦o}ëäáÇňé§źą0`ńčH.î?‘ă/~ ˛{ Ńţué_ą)+×d°weŇűб OŹexňBĆ/źĘčäąDçÇ2ôĺ`gGä`_îÜą-ożý¶Ľţúk.|UŐů…躲ĚJ2!„B.›U˛?rOD~č/ę*Ô@ĺ3Źď'5/'^âińO&‚ńĹ?®,…cÇ©€ÇmčI˘Ëyň0`˝Thg~‹4YšaV~#Љ­§#ŃÂA-ŁÉ#WMÂ|©gâłhrVV(%™wˇŘäaŻ}zLÚ¤„Bé–&âЦíŇn+ŰJ·mĚ#Ú™·}”B!„&PřC¶’&#¶ŰŠ|šnSš¤é%ť*ŻľúŞ›ÎĎĎťřçţýűňčŃc‡"çO%>{"ه#ą“N›Á~ňTď'ó=éí^I¦}‰ú;ŇŰŮ•^Ź{$˝Aę)h<Ľם1Éhx&q˛_śĘčěXäâL˘á©H2ő“2 úý´lý$űkWťŘezíµWeww·´ü!–!j›†B!¤ŽU÷�4ѤřˇżRq bzĹ…Z&}<ž`âHÔĹŤ ýeĽâ¸ýâ˘řGrŹxaÇ&2š44ńÔKKCd„;.‹8Ę„@QîĹČ•2żţqú+“ýdaŔňĐ_q4íý'6WČśg”ź[,…€e™0h’G$…Hfsš—´O !„Ň%u!kAÝveÓ˝ü”Ń…÷ź6ůB!„2/ţ­eńŹnłŽ”i›fooĎ…Ń„ôöôé3yüř±Ľxq$ÇÇÇ‚§ÓŮ“Bţăěďqŕ8}sś<€ú]vwĺĘ•+ríÚU†ěćÍΑ–««Jp“4]T¤YŮ&„BH|[°‰m¸JL<ňxâ‘\,ŁŢtl8+' RO?˝Il«˘ H˛´N”‹xüĐ\™ ·ŘË2ăWÇx(*p¬(GÄĆ›äĽđäx !ĂüĐ_V”íĺ;ń’dC’Ež· Ü5PÁĂ‘ČäšřĐ%„BH4ź7ř4i­cÝÄA]Ře] ~h'B!„. đ‡l5MĹ? ‹‘2󎦱‚q0˝÷ŢWÝşńx,/_ľL¦c9::rźžž:OACŤF. ć�aąŕQóťťóÜłżż/‡‡‡rőęŐd~ĹýŤ4ˇ2V±J‚ ¶é!„˛}Ěę˝űőű˝ÄľËťřTîG˛jä™xĚI2&ôW&α^qT“ qÄ ‚â˘ŔÇx ĘŽęÖĹ™@¦ú+ÎE9ńO&˙É„8yhŻ,TŘDkň^4ó%ŽěŘôz-bă(;Y-«'”ĘË,ĆQP6w¤^$w˘ˇ[函%„BYME;š¶Mř®YmâMgYí˘„B!„4…²tfíhąlÚT”»řÔĄłiŃŃpýúu7ŐíSĹ,•ή+´¬ B!džďü"íK?o¦ź={.ż5ţTţoýŻÉŞRđŞ“Éd ^qb/„W–KŚw›¸ŕGĹA"bŐ9’ ‚2aŚ-AMÄ>Fl“nëĄŢ…ś—!ÝéŇuN‹®÷/ßńMň«'Ď@z>f›ŰO=e!Čtž‹z˘,¬™)^—(šä‘ ä#ůî�ž6ď8=˝ýB!«ËŞÚ—łŇ•÷źPZ…ˇľłíCB!d3ŕ7ť¬ţĄ ť°¬r€.+ĘMD@~şŞ´ˇkÓ…+ŢYXT%vŇB!důřßî¶ßý®íËP‡Š]‰řűo<9ů‡˝·ĺat «ŘERúË Z bgžpTčS »UŘĎ„č*†›ib#ÜqyfyMÄ6V¤aǬW"?ôW”ë…&ÂńÂŽI!Źb±8-Ďdwă!(+C~N’‹ś&Ţ‚&â¦^2Ýí]Č_Űy*˙öő3w´÷řD[•BY<«f_vIARÓöʲ}š˛Š©UĘ›ö!„˛ţĚc_˛((ü!$cQĺYĽ÷Ě’¶.ý,´ýP-RĂŠ4!„BVxýů׾ýWe÷{ß—ż#ßsëf±Ë–ŃIҤˇ˘Ě¦ŞJëĎwěxÎýËÓiČŰĐľ6ýWżú5'úis|B!„®h3¨Ńß§í~móŢDf=?Ú…„B!d‘PřC–N±Ň“Ź˝] mÄ?v°lŃP(ý˘Yeń+Ó„BČ:2ů~ĎЎg3ĎŽUŢ«Ľţ€÷ŢűŞ›˙ä'?‘ă㓹;`|BÇďŠE‰€–»L´^—ÖON—¦­ÚżěŘö·+»6رĎ믿.oľůmOB!deYž}yŮĚŇ®©űY¶5ĽW]y%„BȦЍ}IH×PřC–BYç‰RÖ@ĚŇIc÷kłoÂžËŞŚŻ‹h‡YB!dý¨ źĐäűľhű˛Nüżß˙˝\�d©ł×¶µse•춦÷Xë›n'„BČě¬}ąfm× ĺbSíÖEýŽ´÷!„͡ ű’EBáY)ôĄ8ŹĄßďË2™u”ŚîkY”(´OŰý›ćµČý»úňŁJ!„¬'°ý@Óoy›o~űrVŠYc@(˙uwŻ;]z­śUôC!„Ų*öĺ˛čB�T•/©†×‰BŮ<ÚÚ—„\6ţ•˘×ëÉh4’áp´çşNšYňi“׼ť@‹ţř,[čÓu^„BY°ý�lÁ®éŇľ,Őyň×U áş.\Öu™Ç[Ď<Ţ!„Ň ëb_.š®Ú6I=´ď!„Íf‘ö%!]@áY)đ˛D%éôôTööve•čr¤Ě¬B Đľm÷ź…eyşě< !„˛`űáŰľ¨Ž™6öeť×ź¶â°j^~şd“l˛.<ĐF%„BVU˛/WŠ€ş‡¶!„˛=,Ňľ$¤ (ü!—NY§}YËŤ×eYD%y!PhźËQθ؄Bil? ť(măd_¶}ŮFüŁë•:QY,ó\ăyĽ�Í’ŽB!łłnöĺe3o[ä¶B;ŽBŮ^ćµ/ Y4ţĄâW˘Ó—ĄČĹĹ…‹•¸ęŞÉEU’»ÎwUC~-+_B!„¬°ů`űőű˝)Űo[  ű˛LŔÓ$Mť—Hv˛Tłjö_×bÚ·„BČâYEűrŐ)».Űj«Ňf#„BĄkű’E@áY:ţ ±ß$/Đ 999‘ĂĂCY'ÖE4/úB!¤+`óÁ€ héŇ3Ë,öĺ<âÝćńĽ¸›ŹöV=m®Ń˘ŇB!dvVŐľ\GhżB!„,Ćľ$¤k„ެę ó~żďÖ={ö\Öuő¦Ó˘ňí:˙Ë:΢ËO!„ŐGm>Ř€Ö&ś—.ěË&öIť3Ź­Sf‹Í3‘ ó^#^OB!d5Yeű’B!„¬‹˛/ ézü!KĂmădc‡rvv&{{{˛),ÚsĎŞw>°s„B!Řz°ůlĄŮÚ ł 1–a_6ődaŻrVŮnśUÄE!„ĹłIö%!„BY>]Ű—„, JŃČĄĐd´] nţřńŮd6}ö¦ź!„Bć¶žµý”¦^tšnźÇľlŰ14Kú&S—y­Ă´jĚZ¶U=B!dSYű’B!„¬óŘ—„\&ţĄzŮŮ3xyb~qq!ÇÇ'˛-¬z‡Gë^~B!„\°ń`ëYۯ̆hbW,ŇľlkŰ,ÂZ7ˇĚşÓĹőĺďB!„\.ëd_B!„Ő§kű’EBáY*öĺč7®ďěě¸ůd<Ë6˛N#źůA#„BHS`ŰÁĆł6źoSĚj_,Ňľś§<´—V‹E ©ř[B!—ËşÚ—„B!d5Y¤}IČ" đ‡¬ˇĆvÄJT·i>" ëXŐăB!d3m[¶lľE /a_Î[¶m´«ęD6ËĹ6üž„BČ*˛Îö%!„BY=.Ăľ$¤KBČ%`ÇSËv˝ľ(á* ë  ŹGrrr*Ďž=—7® ™†B!„¬ °é`Ű ý|´LČM®ţíŰ9~šeŘ—Z{ěyˇ=·Ţđ÷#„B–Ç&Ř—„B!dučŇľ$䲠DzTŤĆÝŮŮuJʧOźĘË—/…B!„¬'°ĺ`ÓÁ¶ŤWeÎËeŘ—]••¬/Ľ!„ĺ˛iö%!„BY.—i_Ň%ôřC.•6ŁfđBUŇ‘3cyřđ‘[><<B!„˛> Ň [.íŮq¶FĘXWąJ›Ń2«`_Úrué¬lÔ!„BV‡M¶/ !„BČĺł(ű’ˀ²2„^–ę27UUîČĹĹ…{á‡Cąqă†B!„ŐçŮłgňôéłBĄŮw‘»Ń2˰/)ÚŘPC!„¬.Űd_B!„Ĺł,ű’® đ‡,;jFÁK#dô… 4†"*ĎxńžťťÉÝ»wóí„B!dµHG<?t1±ałÁž îo[iö+Đ`ž ôŞŘ—eç@AĐň`Ă !„˛Ţl»}I!„BşeYö%!]Cáąt|wąˇm¶ÂlÁ‹V+Ďx˙ěgźČ«Żľ"W®\B!„˛:ËýűňÖ=®?5©,×m['ű’Ť„B!íˇ}I!„Bşä2íKB …?d)D%±˛Ah´Śż/ÖźźźËh4’şńíŰ·eO!„BČň8==“ÇŹ»ŽŤ˝»»›WË*ÍÖî‹fŤMű’B!d3ˇ}I!„BşdYö%!‹„²24©<cëÁŢŢž‹•Ť /ć/żüŇ˝oÝş)tˇK!„rIŔ>;99‘'OžşŽ �» ŁťuÄł­(·©4ĎíKB!„ő„ö%!„Bé’Uµ/ é Čҹ̭«<ŰXÚř[]®ˇâŚ´iĆGn;¶şQ4‹‘/bB!„ů€ › ťóňĺKg‹u‹«ń°měk¬÷cbşJsűŤö%!„BČúAű’ö%!„BH—¬˛}IȢhzF ·E ćQɲN=3שź­ë{¶]Çüüü⏄¬%ˇxŮvţÖeĽ¤őemç:Aˇ‰—¸n+;†.űsB!„’âÇ­®r_«atVŘ ˛­$Űąîoóč˛ŇLű’B!dő }Iű’B!¤KÖŮľ$«ĂîîÎ_Of0Ěźgó‘7ĹŮ|l¦ŘĚýIJ–«ćţß>µ•zü!K§näŚ˙R¶•]M§hUc¬CE:­@Łb-ůz;ę¦ V¨ !„˛éÔUN}[,]çţÍc`ű•a[Q-űův]i¦}I!„˛<h_Ňľ$„Bé’M´/ é ČJŞČ–Užő…kGËčv»N_äŠYc×B!„rBvX¨Ňk+Č~Zëׯ×-Ď[nÚ—„B!«íKÚ—„B!]˛®ö%!]BáY)üŃ3~…Z·Ű—˛V–ýýŐUn¨˘l×Y—ş„B!dB(~u¨ŇrëW˘Ëöµ,˘ŇLű’B!du }Iű’B!¤K6Áľ$¤ (ü!+‡_yö×ů/T}!Ű1t´Ś­,‡*ŃÖý.!„BI)«äú•c}h{“Q1‹¬4Óľ$„BY>´/i_B!„tÉ&Ů—„Ě …?d%ńGʄ֕˝pýŠr(/»ťB!„”c+Âv]hű*Wi_B!„¬´/i_B!„tɦؗ„Ě…?dĄ)=ü 4ćp{k—«Üäú/éŞJ4+Ř„BŮ4Ş*¬eŰĘFĘX¬{ݦů]&´/ !„BíËâ:@ű’B!dv¶Őľ$d(ü!+OŮ—Đzßmn襪LŰí„B!dBU%Ů®o3fŮvíKB!„ĺAű’ö%!„BH—l˘}IH[(ü!kChôŚ®~%Ř_)ÓôĄÍ3„BŮ4橼†F΄¶·ÝvŮĐľ$„BéÚ—´/ !„Bş„ö%!͡đ‡¬eŁg޶•˝Řý u“ăB!„luä˛ôm·-Ú—„B!—íKÚ—„B!]˛ ö%!M đ‡¬%eŁgt›Ą.]ÝKśŁe!„˛©Ě[™í˘B˝*Đľ$„B™Ú—h_B!„ĚíKBšAáY[ŞFĎ„Ň)m+Â|ŃB!„¤´µ‹ÖÍŽ˘}I!„rąĐľ,¦Sh_B!„ĚƦۗ„”AáY{šV ýôŽŠ!„B)ŇE íu…ö%!„BH÷Đľ¤}I!„Ň%Űl_âCáŮÚV CűB!„ŮŮ4›Šö%!„BČrˇ}9˝/!„B™ÚTdSˇđ‡lö…Í‘0„B!‹e*Ë´/ !„B.Ú—„B!¤K(ö!Ű�…?dŁi›mB!„l;uámŻ(Óľ$„BiíËjh_B!„´ö%!Óô„B!„B!„B!„B!„˛vĐăŮhÚŽ€ˇ”B!¤ßľÚ6ű‰ö%!„BH·Đľ¤}I!„Ň%Űn_’턲q´­,Ó=.!„BH&•bkKmj%šö%!„BH7ĐľLˇ}I!„Ň ´/ Iˇđ‡l eŕ&cVž !„BŠ \g#ůeMż)hÚ—„B!ÝAű’ö%!„BH—Đľ$d…?dí ˝Đ«^ňăńX!„BH5!{Ş×땦±•ĺuŻ@Óľ$„BéÚ—őëÚ—„B!őlł}I…?dmiRaĆrh]ÓüŞÖB!„¬;e۲ő~ŇiÚPeyÝ*Đ´/ !„BćöeÚ—„B!óAű’fPřCÖ’ŞJłľĐ±<ŤÜ2ţ¶ëm:B!„RŤŽ”Ń 0–ń7ćý~ż°¶VČ…îŞWži_B!„\´/i_B!„tÉ6Ř—„TAáY+ę*ĚPY‡ůz;·ű—ýÝô¸„B!ëL]E64ňE×k„¦Á|0¸J4*Ď~EŰć±jhÚ—„B!Ý@ű2…ö%!„BH7Đľ$¤9ţµˇĚĺ-^ܨ(ŁÂŚI×?I^Ţ?>Ř—Ź“ů§ÉËű~ň’~–¬?ĂľB!„BÚ€ęî^2ÝH¦W{ëíÄ{/±Á>89•[ÉüüüÜUŠQyĆ„ŠtYzU*ĎmíËăá@śíËă<:îÉóÓHŽ/D.ĆŘW!„BH `î$ćâ•‘ëű±Üą2–W® ĺ•˝Są2Řű˛—ś×Îţ®$'(q/JÚ,ccűš!„Bf#±Ął*1§’˙`X%¶×Ĺ鹌“ů:Ú—„4Ąé5Ü5G%Ë:őĚ\§~¶®ďMŘvóóó‹?˛‘”Ť’ŃŃ1nŽ’—ó?˝vUţ$yQČ2!„BČĄđµÄ6űkIGĆw_ÉŐl4 *Ď;;;ů(šPeyYč6öĺé°'?}yU>|4/^Đľ$„Bą ޸Ë×î ĺ+‡G˛?Ř,űЧ˝«2NÎaLó’B!äRčA”ŘfgG'ůľU¶/Éĺ±»»óד*ĎłůČ›âl>6Slćţ$%ËUs˙oźÚa§ţ•&4JFc^ŁÂŚ ËO“—ň˙űú5ůď1:F!„BČ2€Áţ7“ŤßyţBn&v*̨<cŇÚ~eů˛+ĎMí˓ю|˙é5ů_ôé͇B!dIŔTü×ŢÉ7oľţzŰ—ýÁ@vŻ^‘aO!„BČ®üüčXFĂáJÚ—ärˇđ'ĽŤÂŇ ˇ łN¨(źťťĺq°˙ţí[ň_$/cöÇB!„¬0Ü/éŕřź>~’ÇĎŢŰŰË+Î:öYpşŤ}ůýg·äO>ݡŕ‡B!dE€©ř×ŢľoŢXOűňĘÍë2ěłĂB!d•Śb9~ú|eěK˛(ü oŁđ‡ĚŤ­4Ű8Řř.qQiĆüó+Wä?żzČ^„B!+ B€ýGG/ĺÍăcç2•gĚuô °ćEUž›Ú—φWäŹ>;dH/B!„!Ŕţú[/ĺĆ`=ěËÝ}éě1¤!„BČŠ‚`ă“39?9]Ş}I–…?ámţąđ+Ív‚[\Tšń÷?żq]ţłý}zůYG8tžBČ<°bµvŕűOOOĺ—žĄŁgPyV׹ˇŃ3]Wž›Ú—źś\—đŃ>MB!„ćâ˙äýSyç`µíËk‡2Ú!„BY}úçC9yńr)ö%Y.›"üaDa˛hĺŘ_ö+Í9óŹnÝ’˙3E?ËżŐ¬!„2ü­¸ň°Ý`ĂiČŘvľ˝—§÷–g>n űňĂ·äď˙˘B!„u�6l7Řp«j_ܸFŃ!„BČŰ 6ÜeÚ—„t …?déTĹĂĆ„XŘçççîEűŹoß–˙|wGČ%ŔŽSB!›żmK6l9Řt°í`ă•UžÁ<•ç6ö収nËţ”ö%!„BČş¶ÜŞŮ—Wn^—Ń€Íî„B!ël8Řr—a_Ň5v@–J]Ą±°ńbĹüĎnŢ čgQ,ŕĂÄŹ!„Ëdn÷Şˇď]¶vląk‰M÷ť§ĎśŤ‡ß 1ł-ö·„=Ńö·mc_~zz˘B!„5¶Üţ7äíýŐ°/Ż\żJŃ!„BČăÄ?‰Mwüühaö%!‹€Â˛4ę*ÍPSÂŤÔ”źě˶ż/¤Cćć\š°‡"BŮl:ŞŐ}—fŞ|Ů<Yyë Řt˙§3yëäTz˝žűm0·ĚZync_>˝Ř—đíKB!„u6ÝßţڙܔĺÚ—;ű» ďE!„˛Ŕ¦mwqzŢą}IȢŕđ˛2ř•fŚ’AĹ˙_Ż_Ę?:`Ć&~ŁF#ŃOU8•6!„Íć’ľ3}ËĘĘIćW¶ťv’ŔćĂß3˙6UÇŞ°/˙ä‹ëü9 !„B6�Řt°í–m_Ż!„BŮ `Ű]†}IHWpY ţ /K» “şČý˙ĽrW>¤Jr>fú,*ďą÷#„˛ťÔŮeß•Šýüď]ăQşí“™mďß|đĐŮ|űűű…‘1° í(š&ŁfÚŘ—?<ş+_ĽŕďG!„˛)Ŕ¶Ť÷ő«Ë±/ŻÝą%Cš—„B!Ă8±í`ă˝xô¤3ű’EBáątĘD%V% ÷¸žíîʱł#dFZk{ńé"MmBČ6RY1júmđóíWrűýiTIŁ�h.`ăý뉭wSC#$Ëú„®U幍}y:Ţ•?ů”ö%!„BȦďÝŻďJ4Ľ\űrgŘgť€B!dÓ€Ťçl˝Ěî›Çľ$dŃ0ÔY:ˇŃ2p›†ů?Ľy!ľfĄai­KşŞĐ&5ˇVBaUšL„B¶“Nľq0`q}Ř®Vß$~»fWÍŮzĆöł×ÜÚm©˛/đü2B!„ 6^jë]®}ąýŞB!„ͶŢ"ěKBş†ČJ q±1‡{\LÇüżĽE[ÓBđÓ:ŹŠŃN („BHg‘eߡ|t…żÝŽş°ŰJFiň*Ţf¶Ţż•L‡™ý‡ë¬nrç˛/ĎÇůó{´/ !„B6Řz߼>č’ěË^ż/#zű!„BŮX`ë9›oö%!]ÂVor©TĹĆÖíp•†ů?§·źö4×Ä-E=ˇő­óhşťBi*TUß”¬Â寂B †" V Vř« ›ď7>r6`?©DŰkÜ$VvűňÓSzű!„BŮd`ëÁć{˙ĘĺŘ—‡7®ĘH!„BČ&s%±ůŽ?›Ůľ$ä2 đ‡¬~|ltýéÎŽÔôbµë4ű4]×d!„Ň!QP@ÔX4‹�âźVŔćű ImŔÝÝÝÜ&ěbD¶o_ţč1íKB!„M6ßűW.ÇľŚ“ŽB!„˛Ů¤6_÷ö%!]Báą4|á.ŰxPEbzşł+ňeŮś®D?%żQiúyTć× †!d3™ń[ßjŻ!PĄČ�•„�Łř§`óÁö»yq‘ʱ•g˙ZŰĺ6öĺÉhWľxÁß„B!dÓÍŰď@k_ö;2¦yI!„˛ńŔćí7[Ű—„\ţĄŞH#6"řřđPHCfý´üÔ {ęÄBeű•A‘!„lˇw~ Q\!Ş©ÝŰP©�(.÷ţCńO7ŔöűÎÓ§ÎôÝĺ¶©(WŮ—Ź.h_B!„l °ýŢî/־ܻr lĹ"„BŮ`ű?1·}IȢ đ‡,UDB!™Vścůé.Ă04˘­čgVÁOĹ~3y*;&!„â}J+LežxĽĺ¨Ů”čÇŠzf�QüÓ °ýľ#i' lÂĐH™6„ěËG§´/ !„B¶Ř~oď/Öľěí d$„B!d€í'¶_Ň5ţĄ—GŇ t,ź1>öÜ´ý4ü4IXnäq¨) BČfТ2űBťâĆÚŠ•ýr”Š€š€*±‚7?°ý`VٵżuŤ}ůä„ö%!„Bȶ�Űo|}±öĄô{"ôůC!„˛$¶ßĽí—„, ČĄPćŐĹ_…$¸Ďc=mĽč4ýÔ~š*AeëBűBŮlĽó•¤Ź;…u¬ ¨F�Ô‰ř'¦×ź:ÔöS[P)»®q ›Bó|vĘ߀B!d[PŰo‘öeLŃ!„BČÖ ¶_ű’B r™PřC–JlD%¶ýLH%łŠ~ęD:U‚źĹ@SéJŇÔBa!„l-F×NĄ÷=ňčşl9¶B›˛Š—fkó÷@ľ÷ź€Čâźn°¶źÚ…łşË-ł/Ź/„B!„l Öö[”} §?BźB!d+şAçł/ Yţ•@+ÍPIâď3!łĐZôS!ţ™JSµť ¨ląn=!„ÍĄÉ»? ö±ë+˝ýX!î8D©�¨©÷ź6âR lż4dB6zşŰŔ·//ĆB!„B¶Ř~‹¶/)ú!„BŮ"˘îíKBş„²bÄć_$n6­±č§ˇŕ§•¨ęo©řň#I!XQMaµ·>$ň1çíđÖ{ŹżM“č1$Pł˙\â/™ţę:wš„B!ŰĂÄö[ś}I!„B¶Ú‚d5ˇđ‡ `‘˘źÖB Đńü2…– ›řŃ$„m$*üd‹ßă‘'Ş ÓŐDč÷XŻ?]Š!„B!„B!„B:„Âréřń°ízRC“k4ŹčgĆuĄb ˛2¶Už!„ÍÇöxŰěw! „á˛é˘Áć!Pp]âź MŇl9Uvb™Šö%!„B)ö%!„Bé’YěKB …?dé°Â<M®_•č§ÖËO™ŕ'®öüSęí§JT,´BŮ"**D…ĘR@č“§ńD>S" ‘ �(äý'´®TüS˝ţĚÇ<׏ö%!„Bńˇ}I!„Bş„íżd• đ‡M" °i,ú)řT ~ę<ţÔ‰€BËeë!„l>ˇJR(ÄWţgTLű„> @Qŕص⟸Ą×B!„B!„B!„Ž đ‡uˇŤ{áD?u˕ ›®ę¸Ţßuĺ'„˛e”f|Ź?Jl„?6ť[oE@"ĺ l9˛Ëb@ł ÁQÍ ]çB!„.ˇ}I!„BYg(ü!dS‰lB뛊~jÖ5�Őzüi#f"„˛„ÚăáOä ¦?ÖăO…§·^JÄ>ţr@ü3ɤd=!„B!„B!„BČ‚ đ‡5%n# ™EôÓd»ČÔňÔzŻ|­Ă~BŮ*Ü—ŔÍ„Ä>Rôřă{ÝQ®/,‹çéǬk-ţ‘zŻ>ŚőL!„B!„B!„EAá!ë@SAL\j+ôwSŃŹ÷÷›IÇĺŻ$Ó7’ÝŢN¦ýľě$SŻ×ËŹ=Ťd<çťv*”oEYvůŘ9|ąÄŢsS6ßT"/DRŮś*üç÷ ľ öý›ďŽźÎ¦Őtú±ű•»ěą'ÓóäďĎ’|żźĚ˙i˛ü…ő�„㉼˙Ô‰˛Lý]ň+Ppz"„B!„B!„BČÜPřC–†ß‰·éťë Łěşy˘žôOĎ;ŹŮ^'úy3Iú{»»ňëIçěůůąŚĆăttĚ&ëĆٲßI»nżó*”Źž!.—Đ˝şŤďŁĐłŞ" Bšŕ?CTĐS—ßÚőu˘ź˛|äx39ţÍdţ­dţ{ÉôÇÉß˙U’ö ™|ęÄ?Ů&ŰTŕŁŰËD<÷ĚDŮűhÖ} !„BČvCű’B!„tÉ<ö%!‹‚²tXanOđš…„6ľˇDT)úI:c;ůXý§űűNä3ťGL�µřŰzóQ/ ŠvćZqĐ*CŹ?d›ŢKlÄ$]á z¬×(ýŘo…/ęń˝ĂůyÚý}rmÄAż–ěű«ÉôIţţ”S=ÖIąřÇűäËi¦Ó!˝‚VţÚ3Ďűď2B!„âCű’B!„t mD˛JPřCČ&≂ű5˘~0˙_$óż··çD?îŘ0^�űaĽTŕĘ»Ř0/áSXîÇrYǧ‡•Ë…ťđB÷ďE2+ö˝oßkţ÷"ŽĂ}Bž‚l>e‚ź&Ď´†îúO’ézň÷‹oĘ•ł‘řÇË'ţ‹B!„B!„B!ä’ đ‡uF;<kĽýäËqÜJôó›ÉôwwvňÎÖq&ţQáŹďqÁţňlPŐÉ;}jŰ)ü!«G[qPť¨mUˇŠĚ˙î÷Ăv© T…?Ř®il¸/+í÷űS W9e–{řßOöyžĚ˙ űö5˙LhUxýˇ B!„B!„B! „ÂBÖŚZAJČŰO™'Ź ŃĎIš˙í`PÓĺwĘżC¶LŘc·ů^ Bˇe˛Ě㇮Y]_ď˛PGMŇű¬Â}Ŕ{‘4Aďő6ĎS(¤—/ňEtAďu&żYEw˙›dúA2}Q'ţńóEzM×Đëßń„B!„B!„BéšžBV›2a@EhpßĂOŮúlúw“ŽÉ~Ö‘Šđ^:ŮŽUőÄŔNL˛M”ÝóÖă‰˙÷¬Ó¬ĺX¶xŽlľř&úŃóe=ýŚa$}@ţ6{ĽYĘëOQ2ý/ßÁ8đ˝ ®·ŰÍqʶ5ZO!„B!„B!„Ňzü!dÝ)üÄĺa˝J˙Vo?Igęoôű…ŽWŰk;wu uĆÚŕ7î{ZË<>ET—ˬ×Ű÷\eׇţn›·Í×>(ę!«˙®÷…:u÷ł/$Ő9ň ‰ÜŞ< Ő=#ˇg÷×’éżN¦{ĆëŹK‹tZV ‡üŞôúÇ óE!„B!k Űa!„4};„eCá!kDŁŠfÓ4Öc�aţÝd•ő°ŕ{lĐZťkç« ę䵆=…á5ą\ćąŢzż÷ű}7źŐÓN(ÜQH<§ÇTĎ[8®>v_›WŮqŞ`™•·»ľlîe}Žôţ¶÷ł/ *ťúű´ĺ—“}ţ;ä›íź‹yl^uĎQˇO™`‰B!„BČâ`{!„E2ëw†í„„® đ‡ R$zĘÖűóo$ÓĐ ąü×Ę2”¬ymh’î2Yv§, ˝Őâ„ÓÓS7 ąGCŐQö�}ć¬řÎw8şżwww ĎŁRčţ[qP]9™…Đ}TćĄřďűPxŻPľe޵,şż>'öţ·‚UÍĂćůÍdúďPI˝üćiAHx˝WF>c„B!„rąPŕC!dť¨ún±m‘Ň YGŚxgj](ťżÎî^‡W‘©đ]!±OČ3Cy±ËC#Ůąď-č2Y•ŽZtËŁI óósyúô©śťť9Îţţľ\ąrĹý]F™ź¸A>¬€GŹ ˇ‘ŠÔSŠ– ë |@ٰŚ2őłĐ}łÜWĽIˇwş/°Ńąď­îó‹‹ wŻcŽuÔéňl‹ŞpĎČÉɉű[ď}^vvv¦žĺ­t…n(έç˙™yů‰áľâzo@„ËB„˛Ů°CČv°(›Ž¶"!„yéÂ]Ąó„Ő‡ÂB6‰˛Jiť·±^®˘ó4 úńCµ„<MY-� …h m§!CVž={&GGGNH�ŃÄ řáŤÔŢË*äŃ4ş]Ĺ*řÁ< !O t;Ňbľ··WXŹüPüýâĹ w,¤ŃIÓZáEŐ3ć?§d»Q‘Ž ëhÁ}i…:öţ IqbÂ}Ž Ď•ŢÇÓážőźëČ)Čóřř8Éá™888půUq-=@~śČxň±}¬×ź ‡B:‡ß"B!méúŰÁ¶ BV‡.žoÚ—„BÍ"<ůřm¬„bˇđ‡U¦A%´4Ě—/öŃüBŢ Ľô.X‘çť$ä˝alÂ…<”6!1o°,łľěĘ?Ĺ« Ďź?—ÇŹ»ß ˘ z€Ř�żaRĎ%5¨ ¨& /lpĂkŽŁ˘"őć9„=bLX><<tűĂ#ňBţWŻ^•»wďşmV”Ń44!�÷=Änz˙ú@XsíÚ57‰C yt=îń—/_ş|ŐKîYëéĘާ¸˙m<{ăoĐA0qĘŠgëÍ7ßĚź±2K.ę±ßKë­'.zý±" úKi$`ĄPmB!«Ě":n!íŐ^Ľěý!„l7MlĂĐ7¦­MOŮn(ü!d]iSů yű)zý1sŰÉZćíť®Úńę§ť>|Ř�iR¦×˛Šŕއâ�!€č�ëÄbK=ú@śŠt˘äńîuő?„BČÓ†řeäŁÂ#äáćđś‚ő*¤°ĎTŮó ?F¶‡˛włŢ?’K=˙¨€Í~[B˘›Ź~Cüo‰˙Ń´!A©˙}˛iP>‰0ˇ|JL˝^Uś|*ŕŃgE¦˝˙÷w#(î!¤Ŕâ:QŘ9C!¤ ÝŘg Á@Čbik;¶I?Ż]Jq!„lu¶Ţ¬‚ńYmJ €! …?„¬ •ɦŰ‗Ů"ăőGçuşMĽý‹—‹UDE�Ŕ Ź {4’z,ŕËŕ¨ř�Âý‚x ąsçŽ%üô§?uéßyç: Âő`‚ĽU¸ĽňQĎ@(‹†1‚PŰ0WAĘ‚ą ‡|ˇD•ЇĎ"QpÁkî ÜłVä†{÷­őćc…f:é3˘áě4¬ňVŢ·ô{dĹ?Ö /˛b"¤A™ż>{xVÔ+P˙»¨^~BŢ4]Ů3R±Ť˘V˛ŤtÓ)ÂŽB!]Ňä»ŇŢfŁnčZđÓ4?Šy!„TŃô;Q5Hľ.ťMK!¤)ţ˛n”ž×‰aľD¤ŇŰŹTebMßÔ ĺGË`*÷ě^]ôľ… áĆŤąČÁ†ĂĂ„í¨8Š4B"aB:t¬°" űڍwD�_řq 2ôxXýúuw üí{Rń˙ÖňóÜnĘ~{ÜW»á^„g)Máî? G×ÄŰŹnĂó ‚4ëÝGĹ=z/‡ľMţßzLü¨§-”KËÖdDNţ ”yýńÄ?šĆý-¦k(t¬ 1!›ČěvŐěö;j!„4ˇy}'ô]aBMW"ťŞíBé’¦/ŞŇŐő±5 #F»“í„ÂB6ť¸ć«0׿=ľA⇠Ť^ł“îEÓŘüěÜn/&\&Ë®ĐŰkHVsŢzë-ç±DńĂg©‡„NE X1‚†ŕR/(đ�„}°^Ă„AĽpóćÍ<¤°""ű|© Ĺ„ÉzNÁv IVća«Ę+ ŕ>€÷µę«.lśý&¨¨ÇŢĂuߟз ŕůyĺ•W¦DD*2Şő ç{úń˝űdóÖáľŮ"fłc.ąă…¶!„l. ;DŞł¨ĘĂߗٰ é’&öެ‚žŞŠó“BČöbűę҄ҕm«5ÜHŮ.(ü!dŤ©­púo{˘»Ü¤2ë‡Z©3$üa„¬#ęŃG=ďřXŹ& č±Ë6Tţ†ç}ň ˘ŠÔCɢž“×”ĐH>«ŰG“ ˇ hĘhóý¨ŁLZu <[eĎgćŢ~Täă/ćŮ>R#PbE›l íżv°đ{E!DiűM¨Y=IVfÓŮ´ÍEG´ ™fN›ő�B™—6‚źYÄ>U6c“öF¶I˛}PřCČş2*âfaľ&›ă‚·ź:„ľČ'$üńŤŠG Ş<–e”¬Š1Dl˝±˘pčo ‘<”@ ¤ŢT¬÷žEĐôţâ}¸}Ě{ĎŐUTýőuD ;aşę<ÉE>F¤—mFáľüăÇ1=‘­ˇůű#ž/vĆB™“(dł…zɚشš†aiKť 7ݰgžu^!„B꾡Á‹!!PťŘ§¬ÝłI{(íMB¶ ŮJ=ůş@ÚüoÓÁ)űwť!Q‰T†bÇ Ů4üçŁî™ČŢIŕőDz­ˇîY:ÖËŹN%Ţ}¦*ĎŘWdJDȦÓěŰŃ>äB¶q¶ý—BČ6ĄOĄňl;oc0Źp}Ż™�¨+;!ëÎ,˘ź&ëę–ËÖÍoBŮt*­·ŃOÝ:_ÔT�Dń!PřCČP)Ţ©Zço×4%BÝÖT{^¬QRV‘ÖĽCo?że±ě <QŰÍ*Ü„l-!±N÷U'ę)ɧR4DČš2Źř¦tߦ25ů7ßźBČ&“Ú\µc˛ÝżeٞłŤvY]%Ţi.�˘mH¶•.D?m–›´ł¶ń.TíPBYÚÚbUö[•UhŹçŰ‘uËeÇĄř‡(ü!dSń„>“ŐŠŻçő'ä±DçeîëÖů„Ä-¬“MĄńR ü—źA˛őxŢ~üJ±ţ+VžÉR˙ÝhŃaŇئś±†ß8BŮN ¬ ŞĂ0„lŔzĹ?„řt-ú‰ëÚ@' ĺŰdööN¶«BČúz‡×ŮfMí·Č¶!¦+$qĂ_¶ Š!uPřCČ:QQy-&›®ČN­ł“·®×ë<đř»Mó¶¦)U;—l·ÇY«büĐ�[_şhäY…g­¤âŰ }Ä|+Bë‚ŮC„¬9ł~š~¦ÓĚ–OŁ}!„l>uuü’ !!PPÔJ�Dń!mŐ‹Oiş&i¤ťč‡6&!„l6a;q:M[ŽÝ{ů‡Aeb »Ü丄͆ÂB6ŤŞ §íĚ,¬®W2űŢ~Tü{Â"+XhRQ^UĎ?Ë*o´‘ífY†zh´&dŰ>ž�(°E=d+čDôÓBđS·ox˙p^„B¶ŹŞODÓ0 ^—ĚtGK‰�(,ţIó dŰi<¨QfýÔ ~ü6ÍşüŞÖ…`{ !„¬'u^sBéĘ…ß“íˇm‘çMÜú„<ţÔy˙i<8‘˛qPřCČŞŇAĺ0TÁµëc#Ňż1ŹÇ•ůb{(]™'ů^LVQđٰrNfaŁąî^[ô˝H‘!Ü·JżYéŠüď©ď[&ňé¤ÂS0DÖ‡¶›v‚źŠm-„BĺiJŕ÷ŹBÖ›Z;ŞĽ#&ô ĽĽ§;x&âť:Py'Pą÷vČmgŃOSÁOă}Ąy»%ŰR!dł({݇ú˝üőUť*B ¨ˇ¨É2!d; đ‡u¦¦#ĄńľŮJw„Ńt#WČ3ýŰ(«hx”7Ę].4ʶ›Ëj4*óĚE‘˘§Ť0ÇOŰf_B6Ś*ŃO™ŕ§LěÓĘ#·omą!„¬7Ţ{˝j„ł8Óť8&ŻbĆ^›AŤ�¨‘÷ŠČvŇTDW f¬X'Ţş˛yÝş¦ËM·BYĘ„>ţ6ßśUü“çˇß%ł®N:Vٱig˛ąPřCČş“yę ®÷–㲴6ź€ńâ‹tz˝ž¨k$`}U80‹MWe@]6« „ Ńµ]Ô=‹¤ě8ĽÉÖřúŰŐ+P­¸ÇŚŇ!dShăí§­č§^đ7Ę;¸ÝŰż vÔBČzĐ4Ă”°ĆčČ´ Č7ó¦rŞ�Uy˙i#ţ!„i$Úń–Ő[ůâ@Ҹ܄BV›°ťć§©ŢŻîďş9úŘňĺĚFőÔ»’ÖB…?„lq• '´.›Bb Á }5řÂkTčÜzď yű±Â_ů\f-»BLáé‚Đ}ÔdÝeţţţRůč÷pä !" Ct…?…őΖć bžáí… B!d}©¬·ě°Ş‘٦M"¸‡ÍĘ}ĚĆiPµ÷ź6v"mJ˛mT‰lÚ~¬Ř§¬m˛ťH*ËY¶ŽBČć˛É&ëÔö›NřXĎüŘţ6·®ĄřÇ·ËěIÚ™„l&ţ˛‰ÄŐŁQĘwK;6÷÷÷Ýr™ÇźPľľˇ;nĘY%#Â2MŞĘ–zü!dI¨Ř§QRŻ‚\""dS(·Źfý”uŇTĄ)ţ×7¸=;k!d=©¶ż “•SŰÓĎDdwL×.Ĺq±F .ŢJĹ?E!›NáLU[Š]gmE_äŰŇ˙ŘíR*ţ©/Gж\r{"!„Q)ú).E?á´j÷aun‹Ş§źdnE@.ĘF¶W,Ň©ř‡˛yPřCČş±¨J¤É×zü)ô4ËŇĺ6CšË6H–-úQh­/ł6V)«ŕń§n!Ď"żµ|¶ČŇťč'0‚Ú żP*ř)Ű^z¬e$„˛T¦(ľ÷'"śÂv3Z{"Ô %.xöŹGY†ČuŇ”y˙™GüĂŽ˛ŤÔ‰m só·/ěÁ܉’IćăŘ đQě3%(’€]([Ő:B!ëKÔ@ô#5~RRJĹ9÷ŚÝ@ÄHzúmóňTď?!ńŹR%ţ!„lţ˛a”u‚Hf0Ä5ëŞ\˙Mĺß MIW-„X6«ŕń‡ ›Cť˝LśĆ?!E¬·÷·iHžZר‡íˇ©č'4*»l»ť'Ý6ÁN—*QQٲźžBČ&1-Ü ŤČž|"—¶ŕůÇvÔÄ“4nűÔŕ¨l9'ëzą�h6ń!›Ď¬b™¶˘źq&öŹFÉ<±$ăń” â» Đ®W€dös!„˛>Ô ‚Ĺ?“Mţ`xý&ąď’ôňmq(ÄW@ü3«MI[”ÍÂB¶_�dÖ[BŠáˆĆŮ$x/˛”4ŢFqLo=„hŢAÓDôüd7q¬Î;„…@~łR!„l%3Ĺ×}4 Će:câLŕS)=ŐY•lËď źfśěßë7˙IÓ˛ÍÔzř ¤ ÔŰD?ŁńHFŁQŃóϸvbBŞč<®,‹˙wŐ:B!ëË,Âź|.‘MlÎ(š,Ă“ľOŹç"žäż~?rß,]‡©—Ą©˙”yýa?!Ű…?„l:M+śqŘKŹĄ©aMWµ\¶nYĐ�"‹ é}ĹF"BV€6ßN~3ȆÓfv¶ŕ­«ýLo zř1ť4ÉB¶ŞL$Se –s˛V!„lmĂ0÷ ‰€ôß8ëť™tÖ ÔÂD�”g¬Gőž2¦×M‹ŘQC¶‘ZŃO@đă{űqBźxâůgäĽ˙¤˘rl‡N�$1zSŃQ¨Ě„B6‹Şţ­¨Ä»Oä‰Äłg*Ş€§?H/KżßKC|%ÄýľŰŢ‹Ł‚čG˙¶y—‰~ĘlGÚ”„l>ţ˛ˇ´ŞlvT1ťĹh ˇA!d%ińmdĹ™l%łŠ~⢗—FâIz–Ł´ăÉčë2á_&©•Ý•L!dÉÔ0*vĐÄfź|9$Ę×ő’^š,ŹžI+i·]2Ż!ăQş­Jücä´%É6SçA'6ö˝ő'ú 1]\ČpzűÁó O®‘ł/“i8ĚěL™ŘźyţĹcÚmyyĘĘ×p=™ľ3É*0ëłÍűwu)ým*~łŘz÷kGNö‹2Ż‘ş˘S}d”|űrŹ‘ŃHzTô“‹}D ÂVÍ_·ITć‹v&!Ű…?„l-ŤÍBG‹îĎĘ(! =„¬ďb^™n“+ÔdŁ)ůžŐutT‰~üQÖyWÚ­ęFj»QÚC †J…F^ąčń‡B6ť oÑپĐG¬÷í ÉćqKĎ)~ܗɉzr!ŹLDQ/R‰On–v¸”ÚŤ±C~‘-¦ĘËŽoŰ©ĐXO?ý\śźË„?çî±ÚŰŮ‘Aż/PďŤe$Qü;rŰâ±ř”Wk;†˙ –•Ňś7•‰XB. Ľd!’zo@švb”Ů›ýäe" áčn€dvc_§EŹ>š_Á® ÉëĽţB6 ŮXŃ$„Bş…B‚B_„“­4ۦE?qľ+Î:jb~a”n§‚źŃđ\ĆÉ\÷+ń—–cŞĽ´‘ !d ,đÝ[†Á÷řŁë‚!żtt6Â,ônäµDý4C˛Ĺ˝ü›¦áŠŁ®ÓJ7’»`3z^ ěś!Ű@Uh¬:o9q…ਗt ŽĆ©§źTô“ŘŹŁ±ôĐÉŠ){^ÇQĎ…SéŰçNőęˇ÷T\Ih‰2?Öë^MB!T!«C4ýWJ•‰ĘsŤyńţ†Ť9ržŤ#7GĘ8ó d=ŮĐ^…ü3/’±Hă_~Ú „lţ˛Mřž !„Ň~GÉ–ŃŘ[]•睢ź\ěăĽú$6Ł /\Ł—Äř{tÜś»í…|Ä<“ˇcO˝ň‰Lm$Ľ—DĽ!:Ů:k±ŻĂă ¸Ú4ýyjď‡E˙ÎUüu/?:Ź<qţ v¤źL˝ţnňŮ—ťÝžŔ÷O¤ßۉ‚Éy’\üăDC¦CF*B~UÁN˛-˝üL6JCž¨—ç2™Ź2{ňâb(çgNDľ×Čn2őb·{ć ÚMžmĄüůŠkWó ¶ĐÓöf`?*ŚŔo !ź~ ů=$Ë"*]¨ŢPŐ%©¸\mŔ~;ęůh(§¬‘ŰŽLľSx|ÁŽË/ čˇ×B¶ ŮDšTt*FŮB!ŰĚTxݦßUV¦ÉĆS?*;´=í OÖç‚ ¬ó&ë¬^ś%ó39?y)§/žČĹÉ‘Ś.N%^¤Ţ~ĆŁI) ÇĎňÁ–qľ&T(©=Ă ·‰·Ő揧U&+ĹBD/fşoěhŐéCÇEŻ q»Ľ7B´§‡ÝSĚ@ű¦D`UĄ©Î*.٧Q'F0LCQ´¦{ě>Q¶«/˝Á@ú;ű˛»EöoÉ•ŻČţ•kNÔë÷ÓNHzŃäűf<ü„GXÇRÖ)yŢŮf " @;¦ťŕégś ś]9L:POO]€ľýä9F‡)vt˙Äî] Ďp.d}n-¨ó5kžęAĘŠNt›®~şm§Ě»Hęů×¶*ý¨x!őč5Î×ő2ˇmhżâ»aĚ3Ď×üžv9”“r"$ŘŃżÝî·a,çgç÷Ňű´ď<OöśPulîŮPžÖţ¤Ř‡í†ÂB¶„˛xŘ„Bi�+Ń„„‰ĂŢ~t›ß¨ĺ‹~˘8휍.śČçâôHŽ}.O?ýˇś<ľ'ăóc‰GIă×Řä“ýgVy\ÚIÜŕ4ş'(j%‰âŇco¤·•ÂýŢv™”2^`qçßň`îiuĎm17祗uŢHćľ>¶=ăICvČ»Źý}âđşőgţë?ű‘ĄôXí‹ĐÖć›]§ßÉQŁďŞ÷z{“,j°j"XJş^d° űWoĘőWŢ•»ď~K®˝ú®Ţ”Ýýä0r˘파3o"â:łÜTTnëő‡MĄi0_L`;öóą˙Śeč<ţś9O\Ww÷ŕ6!{'˘T”>¬ß­~çwÝú2¬ ÷Îůůą[·łł#ý~?~`›Š8ݤ H·­÷M•G˝p©÷-+¬qb†ěÚ–‰€¬ŕűëďë®ßZ_Ľcó·żÓĐyŽ˝ČĂÁ`ŕ~7Ěm:̱ółä˝ˇ÷˙4+UAᱨ8ÖARÉ·k4LÚEâôý2%÷`ň ¸ű:ó|UöŽ«ňú㏲ŮPřCČşBń!„˛°3‡l “FÚG_ô#ygÍČ5pťťĽă'_Čó{Ë‹/>J…?ĂÓ¤lĺcĽ Ä–t”­_Ö㉷~)eŚĂeIg›)üY©{ä˛ËÓŐńTĚ“=wîzˇçÄ?“N‘Ü‹—éť<ły˘,«x",rď™N;«p?Ç%Uöř’Şňߤ‡h§'x'ŹK')Ś÷ËFĹ_¤±đÇý4/wyÂú<âÜű?Ó´őwveďĘ 9{ů"YŃw¶čŐ÷¤×Č`gĎ] <čŰL; ŁüţŽ˘Xňď—ç ¨Ţë!›KĐă[ŮCÚŕŕČ:ÁAěľAŁÄľĽHěË~˛ ťŞNźjĹxžH„ĎŢzPęí"ۆ{�B}Xo/!ÔžAÚ““—~oo/˙�+ôÁvx’±N$!4DŐ( W¬ËűhvT@4?ťB×ĹťĄ“îź{Ë2ŢnpnŹ;V`=㔥eŢ·€ć×ËCb6Ü!=ň G…?ČËŠwüüT(„ ‚.ţŕšáwÄ´»»ëöŐßË8ÎŃŃQ~ ˝ýěuWqĘdßŮžŻ˙w?ó@𷟬?úŔ˝ű żóţţţÔ=ěD “{*Jß;ÎËŐ¨/ăţ8o;©üV•´=V˝!›…?„B!„B T5FçŰĚhĚĐ~±ůřyH&ĐNŽžĘÓO>”÷>–łgŹetqîzhâ ž“Žd=öJ ürţś[Ő0ţq§Ă�­‚X˘;ââ?µëŤÜć—=v^SŞ“xχ”ßgmďżŘ íśNA˝%dťFµ=›hgÇ8�ĹYLJëtÍň|ëQD!Nl1×o×l[üooϧÉú•>~4ąf}& ‰/Ą'%ÇíËHö’ů [Ž’Î‹bfe ŇÔu3h9ÓąMÍ~+=wĄU)eG»Ż”Äç9ů4É+ëP]ČÎţUě_qË˙¸2öÄĄÉŁy‰v¬h_LĹhě`gŤ^™ÚŹM'ä¨l˛˘ů÷Çy˙‰Óđ)RüžĄ!ú$˙6ŤłoQţ|-ţ5=·đH.6QpMѱţěŮ3'ŢxůňĄ[a˝Ď ób!| C"ő�Ły`=–ŹŹŹÝËę&äUűŁł_EH«ů©fV×ÁÁ;6ňCůU`TÖÁŻ˘ś›Š_�ĘQ Î ů�¤9<<ĚĹ'ę iUĚŁžrŞÎ_=č¨Đy© «L�Ąy©HűXáŹz ˛B™0娠ÉznÂy]ż~ÝĺßGOś˙ăÇŹ]Ż\ą’轂}ĘöǶ[·ną<�öÁ6Ý·ěú €cßąsÇýĆdÍI~jQĎNĎäéÓ§rďŢ=÷űżőÖ[îtI˛÷‘V·Ć#g€ž“±z”̨ EG›‘í…ÂB!„B!5ÄÍ·‡:2bÓÁo:h\gKҰ…NÔ‹ă#9yzONź~)#ŚĽޞĆ-őžĺť§iw˛l´§4<Ł–.MÎürÄS)ő„ŃN€1?“†ńŞĺM"Ž‹ťćuëŤÜÎ:ýÂ'\ÆvÇŤLą1ď™Î˛A!\+Š×ńІîQ<rRrńE.11Â$T¶PQ‹Ďbąg›˛ó©ŢŢ%]ýË<~ś …Ňôűűyőć-9Üďeďă¸0Ňţ,é/|~,rršŽjşÎ tŞKę ťxŤ™đÖĂ€_ÎâďԦܶcÄ lŠeÖěŇ[*ĘĎ#_B¨2P“űx8J:řŽž8ŇîÁˇś˝ýó2žËh°›cäÄpŃÔŃ‹čwŻÎë!›HŮóëŰIS"ňŠç~Z�$Î㏠ą§v':űł˙rŃŹ±Ő&ňS)„–%«Ťď±IQŹ?]@řŁbŕ T¬F…jżŕ¦zŇŞ�yěă{üŃ2©WäĄÂ+„ŃVZćPů4?»]Ó«XÉ 0!˝ŠG¬°ë ćA¤×e ŢŽ |R±Š X´LČK….«čÇ>·ľ· ČčuS!‚Š”T¨dĎŐ†ÓôöwđÆ…®•Jř^ŠtBŮ0DZP>NĚ ł´Ľ@ĹR Ě Ô›‘Ţ*¦*ţř`|ô·7nܲş4¶Iă´˝Cď <g¸Wpď@ŕĄ77XBtŔD¶rrßĘ”°-$üÉ – ć‹s: …Ů (ü!„B!„ŇéNů¸âď‰Č'$ú™tŘŁáw(㋤ˇůěe2§/Q”wÔ ´ŠöŤFbBĘ:�ʰŤaMҵÉ×ćé7°M:›˘, ;™AŢÁŢpý˘ńŹ[[Ž86>Jj<ŹVëKĚqpC´ŃGÇ :v˛Î™Ľń9Žó0_nduŇo2Їą×ź4I|w”­/”% §&űó ®iGÔutŻňńő=E“÷öµ«·äŰőyűŤŰ.ŤŽ¨č<{úüD~ü“űňů˝GÎăÂů :“{˘¤3«?d7 ĎŃô]ăă•„b‰=O=MĘmßµ˝ěµáG\'Š¤â€‰P§Ĺĺ‘íÇ&E®¬�ť?—Ó—Ďdx~âÖ :gdňM›x(Ę m–Ă#±ýÎvľm'do†&}nŐ˛ŠmÇéX;GłP9Qf{‰äĎx$ú=ÎŤĚK…Ďů|„®ź†\‚°C;ŐUxˇ‹Š y¨ őäßÖ ţ†'+ŇńĹ%QţýHżCt¨`EçŘf=�ůĺS4<nVHŁâűL¨hGCX©ĺP“ [Ň0•ă‚ŔB˝.WŻ^uűé·^R�×WóSQŽ˝ž8&ňÄßöĽŐSŹ˝®š· `Tˇa´ôwŲőnş'4?ť[;SŃk¦×UĹJ8®źGE_ę%HĂŽiąüpoö· ąĘđwÖW‹ĐďŃtĐwîĽ?ô>Í=Xy陋óšŞá˝4oÓŽPŃîA{’Bá!kŤ?B!d˝`…›¬7ŰłBPPŮŃlE?Š ·Ł îk|qžţŤŔöQÚX:HcŻě:ď"ăń(sźş‰ÇHŢ‹‹óĽHö9ë÷µá?i>Č÷W÷ôggç®a{âjżÎCHL{whújč¦ ĐîřĹc.·Ňţü‹ž]&ű×/îř…˝Í_ęb¤&Sëě$6űɤSC;"™tlÄfw W4žQm3ĘŁ&˙jž™rÁ Őčôąyó¦{ÖĐAŁĎ:J4tBÚą‚ç]Ü<6ď{Âđ̲żŕF8Ł#%i¤é0BöĹ‹Ł¤CĺLЎ‰óťťAŇIu…Ż@gÚEşbŇX>i4×ëV¸ôµ"B[ř!Zśčç’Źź˙V±ěő卻ňŐ7Ýú‹áHŽOÎťŘkwgW’WłÜxüŽ{É異8ë¬@ř”äw}ő•W]§‡vv˝<’—’l™(RźŹX&÷ÝÎîN>"ű»Žą$ě‡ůÄsФsżďî׾ë@hměFőŻéÇ#őDÔźx\hŇů2L:ůd]ŠäžĽ8“ŃYŇ9Äń†î»2ýÄŮĄ*޶öŻŃëŹw­i/â¨{WY]ÖżÇqú A¸ľqć} 8y[řś-âśW±}ZĹęGĂ7x�í`ꭨחq‰ U"*’±ˇĺě>ÖsŤ/>UŚJ¬ŤđÇ–hą«„?v˝ Wt m¦ˇËđ­…Ť‡9öSˇŻ}ĆTX…üTŚü4”^ď\Ě`<üůÂa=Wµ-5Í3÷Š’ycjęI§ őö¤“^ ç…ăŕĽT$ĄĺQˇÓĽÇ÷±÷Ŕu·"5˛|B‚ÔŞe ç†zP!YA –ŐůŇzÓŘk?‘)«Uďu¶A˛˝PřC!„B!dâŕ:_čăoCgéx4”ŃĹy&LgťÄihľB€˝yýő7ĺđĘaŇÉ|áĽ7\9Ľ’tćż”Ź?ţ‰<}úd’s<ńްłłçŻľúŞĽóÎ;®ŁYݱĂĹöŁGŹĺ‹/>O:§_H]{jś+f¸:…ݢ™$ÝOf;ţ*´7Ď[†ËŰ?öćĹżă6Ţf2ńC,EďvTrˇł žU˛‚Bŕ€ŃŁxÎŇ Ł’rfĎZˇ„ď%q<߸=˘T Ł ŐhĽţ+寸Nš/żü҉7аŤ9–Ń1Ä6č8IuAc)zĹJĂ1Aś÷Ę+ŻČ·żýíd~׉vŇη‘<|řP~řá‡ňŕţĽsIĹ(iř¦4ßĂäÝđŐŻ~Ĺ• ű=}úT~úÓOÜ|‚"=‡˛±~Łúôď‡/e óvŘLíżŕă dů»ŽrÜwr"ýłO¤÷ň»ßÎOÎĺůł¤cěbě:ÄŽN2<Ç2rS$c'¨IĂ ĺjňţÖ·ľĺ~g˛^&ďńăä^ą˙KůčăŹääô$í�ńÄLîě%ůßşuKŢzë-ç�َO’<ž$ß�üľĎž>KClD“ËIÖůŠű!»’˛Ś{©'íjÇcÖIëĽ!Śť »śŁś§ĎóěŁ÷ĆŘť&‰Çž�Á˙Ţů^€üNXަuŰ Y? ăiOpqpťŮ?¶!~đěEž…P_Q´öŁ]Öő„Îďq&ÔËŚäřX¬×(˙Ű_ĺM#”Ţ/ŹMcď9ß[%ÔW¨Sßzî±é¬`„ĽĺčuŇPDH‹o.D?*ŚÁ·˰±TPdŹŁyęńB×» ÎóÄUzNšŻ-gîÝ+Ž !ĚćÁţ–ö·R±’ •ěyiH°Eql9l(6˛ţ¨Ç*}†@joö§CÖeŢę$ű¶ŮÇ<ýÄĹSެ@áŰ–®0ű1Ľ!Ű…?„B!„BZăwş”+#Š" »Ţ‰Ć©č'Ý&Ć»Hş÷î`Wnܸ™t_•çĎź;o?·nÝÎF“~&>"×Î…ŽŰ+rxxŐÍwvvť`0Ř‘ë×o8!ÄĚţĺ^3ć︯ÚZßضěă/»ăyľó/óŢŇü|ÚZčVصČĎ„&q‹fÔłŠlGŽíę;áO?k ćűű"=SäÔ;‚Ţ÷ޤ#›ÇůvÍŻ!®»víšë,Ráň}ôčQ&čÁíĚ;‘ŤfORŇçöŕ`_^{íŐdzÍ=ďNČ!éčvx‹A^©x(öDiăřîîŽë¨‚pHGł?~üÔ‰ţ—őÎâwŚM®Çt'Ýd›/ě(žĂ⹼ăGą˘jrĚńđL.ŽČđeÖśxžÜožŤĺ4ů©ŽOväüô0lą{/Šň·Ýä~˝yó†eB„‰m7n^—‹aňű~ÎĹůy¦ÇO—zYG fwîÜqťŽ8:'ń;ź%?ęé®îp‘üôÝóŁh6ĉzGĐŽEŽ$ůNฯť—dűăÇŹŚg¸ éwĚvž;4«Ĺ>’‰úŠB3vľmŁé÷5d‹ů"‚‚­׹)™-ăżďW…şkQÖiŰ&˙U|ÇĚ#N-ŰŰ(őü×nßE˛Ş×ŢżţřŢá;đTŽzĽ ‰Qüskz®!ÁÔ6S&#ëŹő0z†&Í‘ů†ak—ŠWó<ZĽăis˛ŮPřC)Ĺ6@B!„í Öö«Ř®ŢlçKp›fc֕ެÍ»`űłgĎ\(–›·n¸mę&~j¤\–ÖŁsůăŹ?v^B°?:ŕ1B˛ië’UĆnGQ硾˛ŕP'Ž0U1ŽŽ,-äáB…O&ń8ăi8đA vľŠT>×!TžŐO>ůÄy…+|xćŇPv¤{Á;Ť7r[;© 4Áó!ŃééIî-Č/§^_RŮëşMřBµH&#óĎĎGrtt!/_î¸A\ß×dpráD8říNNö#»gśÂ* Ł•˝§ÓŤCůţ÷żďB5ľűî;îŐ"6\HęÎ)*Üë:é:»MŃŽ_ý-ń7CxpŕľŇPö{ăC8†´·oß–—'Çrzvâ‘e'×đÄb<üdyD˘žt”¶őČDd·in“ŚăĽă‡ŁłÉ¶0m/V§-ľż‹űĹq\śĽ|ŮÖŮT�<ĚSžYß —ý. ťc—çÝö|VĄ°J‚$őBšĐFĐG±džWc3`Ęű^ÄŮ(©2ĐTŽĆn¤ IČv@á!¤ŕ„B!D ۆőö˘Š€ôCt\Ś]&J:f‡.Ěpwč }„jÉöSŹ'ÎÁf“Š.\ç.ĽŽ`~~~ć<†¤^HúîďÜ©EíąĚkoűţó˛iׯ}~‘Ć]ĘCq©ç¬ôN=hŤŤ¨@ű·ćĹ )Tř#=çHK}F¤ÂlzҲŘemĽŽŐË‘NŻ5úüâyÇ„g„!(Ăh<ĚŹˇŢÂR!I4u}°m”yC‡ RAx@ß”NÎ/{1äNgjëĆłnʦżěă›ÝĚ®g"źÇ˛ż7N®kňô“÷l˛ýä4’/D?ËŃ1Ţ»ăä7Ýýä<ţôŇ9ŢÁđ´¶»»— ąňpĂĽ3"öF5k˙„őĆd'ťßél’Đ·ĚŠëTPę¦áČ…\Ýłz}¬W·*ű[=&ŲšžYe|Ű0ôüN‰Lý4ą((ÎżsQ/››wGWÔĺé{fđLMʲňΛG›¶c˙´ŮgŢň.ű=ÜőńçÍĎżçô÷PQřĽĺĺí§eżC‘}J6_ho”ĺ“ú“˙ÄĹĐĎľ GÉ·i®ĽŹŮ:(ü!„B!„ŇŠ©ŽŻóB¬Ŕg’2źOBëÄ…Ž™đŘóŮçźÉµ«×äęŐC9<<íÜ?<<k×®ş}t4ODpUîÖŁĂ˙öíW’yÚŃ ÁĎŐ«W“Nę4l–ŐëCÍYË|lűţó˛nçoŇGˇgˇY~S›Ž±ó(‚~„ęőú™hFC}ĄŤÇ¸ĄB—±yĆŇőQÔËç“)+®úŕ™ŃđXŲŹgź˘lʶáŃe"ČI·ííďČÝWn˵뇩זd]ršIY �L§xś –"+ŕÉĹĹ™ŕüÜągÇŤŤ'Łô<‹žc&ëÓß,ÎŁ©`©đËdóH*C·ĺířUiĽy{ż”îżŔăëjÓńŻP¸ž§Ăž|ňdGžžFi,üăSA$¸á0–ła_ŽĎc9ÂsTĎ]Ě^Ôw9Ś“űóĹóňłźýTîŢ˝+ďľű¶ěîí:/A/žĽpž€đľ×÷qúŰH¶=ęÍ 4äňÁz‚#ä‰íę “ •O@ŘöôéSůôÓOeÜűřVx˝@ćŮNüÉłbExîoýIÔëŹ;eĘ;˙ó’ŤĄĚŚżľ()î;ńňS´-ń­ŔłeČl§zg|bUÚč§-]&şę žµ,ˇó‰|Ę„?mŻcč|Ű\AY™ýőˇ˛‡®QŮrčj+Ú*#ô ŘyŮ:[. €RBż;ŻÍjz†Ş–›ägC gkÍ_ĺŢTÓąÚ’“:ŤÍ›# Ůn(ü!„LᏒӊţFCŘŁGiŚ{tŔ7:S°-uŮ}!ęB#+µM]¦k^‹VůkŮŐ-˝şyGĂ5ĘŹmpá ÷Ą~ťF5!„B2‡Ř!_h”/4deű{V% ŃőTF‰M·ł3pbx9;;uŰRń‚vźNlXŘ€&‚ˇT®ţü™ ÷’Ú‰“NŘVçŐŠmß^ÖXôl´ÉoŇ0Śą˝×ńçxśtdFý|»mDy@Ńő“í*ú±$©@–ÇNxďß˙RŽŽ^ČÓ§O\ťő><{đÜ“Iz¦öK=é¤Ď|ćEĆÉß'§Ç.?xűŃ0c�Ď,ގ‰î-çÉ»áIRŽqćíő? A• J&Â(­ëbŇëç_űĽ¬±żŢţ]Ńî~®ŞßŰxĚ1«÷_äń§3H˝c¤KçĂHżäů1~{xęŘ,őĽ”†ćęAbĺ„@± !—yÚÉĽQťťžČه]çűµë×Ü"›'Ožäżwˇ>ž‰®ôÝ aęó¦ ˇß×ţ~zżë3o¦P'Š’†2;wSŢ^…ÓN®iś}ş¦żmn÷\áÓ˛Łe–}٦„ç"ĄťŁ¶M!cŃviĹžöű8 u†ŞÖPŮ»`ńˢŽ5ËľU–E–Ů ş—Ë–Ű\—кеisü2ę„oUb {ś®î˙u§©Ś,ŹŞß˘ÍďţD¨Ç ťmăŕ7M˙yüˇ¨‡˘PřC™•`uo ÔxŔşű÷ďË˙ń»ĆÓ>ř@Ţ}÷]yóÍ7]#ÜO~ň“¤Sć™Ű#±ďÜąă„A�!đ7ćvd%°Łńşyˇa Úř|űöm× ř§ú§îżüËż,o˝őV^»F5!„BH€’Qi%‰ŤM5ń„0i¸Š§:OÇ;[ö'ě;�Ľ VĂÄř¨đ6-ěA„jďa;Ö«-J8YEB‚ű÷haĂĐ=?e›—%Ý–NĹĆâ8×Řzačľ÷˝ďąú„:čű@ŚY‘G¨"żř‹żp6¬D<ČßCaĂť‡°Ď>sőVÝ6Žĺâ< ű§u[}Ţ'b*ë™%^«m{?L~źÔsHĹ7CôăL†µ¸^*üIîżLć®Yňß0ąöă¬ó]’[ ÷ ĽďŕýŚűż îőȦ¸<2A’ŢOý`?´+č@ő¨°G_[··mvŢ„ĐýçQř–Ů *ČšĚŇâTuĘÄ5Ű Ů fí8­ýH\ ń5•¦mśô‡Á‹:PŃľ¦EźÝłč٦ů× @ŞÖ5ÍŻ eBERćc™tqüYŻa×çŢä7Ą0ˇŠ~Ö[Çę"źÂw 6óxě<ąęň”¸qâźY÷#„¬.ţB¦đÉ€vŚÜ»wOľ˙ýď;M:Âş'7oŢte4ޡť*Iލą~ýşAüŁ ®H‡ 7í°żşőÖ†\+ ˛qä‡}UD¤ť=Čh# ň{üř±sŃŤu_˙ú×]c1ʉü02ç¤eAYöĂ:-;ÎS }OFˇ†tK„BŮ‚Ť‘^'i¨sF—cŻÓ4”żë”Il±Ń0ířͶŇ—uZ¸P4™W_áU$ާGµä¤ëŠő¦đ§Z¸˘ wDńźĹâó<96ňDý Sči˛ĐńýrA‚©ěřŔ÷Ö`Ó©�Äž<IVnż®[ćĺ'^ş—«Aµ+˘š8©w'ó>ĽřdW+żTqšľ§^p°*rŢ—Ňű7]7Äűü屜źn»´ăˇ—Ż2_Qzl­÷ă}îŠV!(łżł?Шě> §;Hčą°ërÁOžľ˘S&=`1'vş-Ć&CËa»rz»˙˝TŹrhĂC»ź}/říŚ~[¤‚tÖű]{r",zBń=ůBÔPąÄ»&ľGu7– lúĐűOĎŻé{ČŠ§´Üe!sýňűŢ`ü÷´DU!§^+{ÍĘĘä—϶)ŰňéőV:?‹ M±ż¶ «]HjmŚé˘Qţ[ăo´Y‡î»ĐuŐ|íqCĺ]MËŔď]ŠÖ‹.ďcýf¤ď‚(7°§ľićŰ‚UQ$Svf¨l]„!ë…?„RlŤŻ_~ůĄŃ@8‘v¨4cÔĚWľň7"#ďĐč‹őý|ôŃG®’‚ĺ·ß~;÷ţóđáC×iőđ O<H‡üqäĄ@Z;zäÁ*98.Fšbt(Ňčz{>ţřců'˙äź8±&"$uă ć8öC9 nB>Ż˝öš+#ňŐN&śŻz2Ňëă{.˛×ŽB!d¨lpŚ‹Ţ|ümv˙Éöi ŮÚPö¦óUS•w•u*4iL 5’Ůőlx%—‰˝˙ü»É=éţ-¤÷ó¨ý´-Ó؉? čŃ0϶Ţčé‘vODIeĎSYËžK?˝?(#·xB(˝ÚyVJI&Fáł wĆIÇlśu¨»Ëd~ź(í¬3/@ý…ęrÚ9‘y—r˙e!Ŕ ď÷ČĽđłěrńOřŢ­ ˝÷Ëî™ÚóÍĘV8‰$‰řV˝ç ˘ź,Źb§Kv]ôş…ŽĎβÁ4±-›‚ěß…ĺÜĆ;ń¸Š[Đî‡vDëAíŚhÔ€ëuXa‰}¦ýďJě}{^@ę¤Ţ(UT‚¶Géqt»ć‡Ža´Mę`Hőv^˝NPěz,ë!ÓžS: Ň–=t|żüşŻµT裞;‘'ňQřMP~ťükĆčőѶZż|ęAčuôĎ÷˝°?Ú‡Q.Í_CC"=ö+zdLŹe\/kÇaÝŽă ťi,e×U…QČCŰşíďцËúľđ;FHs¦ľeů÷ĄĆŻ÷řË ÷=Y"VĺłIČfBá!d [qŇĆ*T6 TpP©hëP!»víZÁ˝6ŇCŕąVlżřâ‹Ük†[Ŕ~űŕ?ýéO]^¨°Ŕď­[·\~pŐŽĘҢ<ČóĆŤňŤo|ĂU?˙üsW.­¨â8¨¸!TĘ>ůäW^P é€ăb;GH˙Ţ{ďąý!Ň 7ň׼±Ę€4˙hŃoD¤ŃD!„M¦YÇi1Ě—ťOuä:MĂyŹK]§|•Á®§‡¬:Q <Pńľ.z>ŢŢ-8Žx°Ţě|’6ípMşA;Ö|T•¸)–IČ([Ö8رśŠşKm¸’ăqG>"ˇ°T¸d˝¬ó;ßör]K4QV‰ÄEMľnĆzuŐ(çĐ\ ýÖůr”v™Ä!o?Ţ·«p/9EO&f*„𲗟ŰȦŃĹűÔď5 Óť¤2é(Ť31†¶u˘­m|ëw m…(hĹ8 öŔű ­űXńŽSEľđGĹEęąţVoâÖ ňG[eČłŚ–Ł­yŘď):pŇ Pp<´Łj[®ş¨çěŁ^ÔŐÓŚőVŁçŠżQn¨©çn÷WÓŘ…¬)”´Âü­mŞęË*´Â\Ż™Ųô`żĐď2ęůëůá Omď¸Ö*(Ҳa_¬łˇ'öE»˛^cţh>ęQJŻźő@¨żµ@«ŕ ż ~_ř´8––[Ż!ňƲŠŐ߲äfdśË ›3qąäőî=Ń%dýˇđ‡2*Öe¨ y ¨Áük_űšĽňĘ+ňĂţĐ g´iÝ‹ę5‚T„ Bĺë!đ÷ ţ¨8š>řŔyíůĂ?üC—ţ~áܶýčGn;öĹôçţçNśŹ=¨lýěg?sĺůÎwľ“WŘT|„|~üă» “ }ţĺżü—î\QÉČ_=ˇ† §6 `ć¨Ü˝ńĆ.O[ѦqD!„m'Ô1Sč ő@yÇLAO“c*Mě2 €Č:P&¬ţ­{™ő‘2±DAT#Ć Š„ (‡–!ťc{” J0i§ˇő6 ËnťŐ¦ÄńĚB”M"żžf]đwD‚±:Ý‹yL‡(äĹ7ÍË8µ ţ}[ĚÔĄ(ŮŻř3[ y<˙;U™…JŰҬ·ĎeU^*6A›ŁzmA›"„h th'D»Ł¶{Ş×Í3äíÇŠ~T4I=Áh;Şz˝Ń†Z. yř˘€ýŃŠöMx_G{&öU/;*ÜÁ�Ę7ß|36ůď!ŇŕüTäÔc®‹z–©şľŘEý°ťŠW˝Č«€F<z P˝Ö*Âą«€FĹ<z‘Ęéż—őoő$„6]6áziű5ňÖ¶á' 쏤TxŁĺFő÷Á˛ő(…trXďőBŹt`Š6n=G¤ŃűÔžŹŢúű4ˇěŰĂo!+DţîňŰKĘěѢwW>Ď„ !•¨aŠ„?đŽŠ"*/¨€ˇB‰ *ęÖVHŐŘĐP^¨ř =*ZZůAzlWA*YZqB:xôÁü[ßú–K‹PcXF éîßżď„?HŹ „=čüâ/ţ˘«ŞkX”G+Â:ŇűCx„ < !-Ę„Ę –ő<ŐÝ.ćh @…ŮVĚhTB!d»(iđ÷F`§ło•^~Ęöt2Yç·3Íę= U§›5˙ËbŢăo{ůŰî{sý{ľű)$R[ÁšßÉYxćĄ(ö»LŇKîŻ\˘ĺ°aż űô˘,ZŐj\ŰĺQrţŃôť=µ[Tüzr®”d­p÷Šd÷ĂTŮ}Ż?qń»ç |˛ÚSűy®ŰE"¤fý>TuĆĆ37 µ¤ˇ Ô+‹˘„ÚöTx˘!•¬'ő@ă{ɱž|ÔŤ”臬ŇüTÜ‚öG+Ôciű¦¨©˘i[¬ ęĐóÓvRĆSËd'˙:éţ ňÁ˛z-Ň4ţµµ×éŐCć§^ŚěµÖë­žuTÄd˧B*{l ĺf˝¶ŰY6oëĹɢގ°źý ôşéľz<˙}^+”+Ôioďë é°ź–ąěľ Q&<mňüµi÷nű<—ĺ]&dđóßä]ťÓ<ůCH±dAdv¤”‹|¬Ť©ćdSyŐ6BČć@á!d y˘•T(TóŃG9ˇ *GĂX€ H˝©ˇ#Ntô‹şj…0#'¶ŰJ,&ŚtřĘWľ"ďĽóŽĽőÖ[n;D6�Pˇç Ť !ŽV đ·zçŃckIĂ‡é¨  ŁU0ˇLđ8Áއă@ „ňŞ X­ŚˇěZ±Ó )ć¶RK!„˛éřŞí ˘XÁß7ď%eg^"ň~×Č…šŹ¦"ŚůÄóď7+]•»éţQËô]ĹöŹ<ˇOě-×x·*>J*˘(ϨP Ľ·ë^[žÉş’N׼é:.”çrëMÓŁ˙Ö#‹n’jTd‹;7ěýř™&?ľ‹ó˝,ŻÉęUľ’Ą#©ńŹďů'ď«÷Ůä–‰K;c&é\ŹMz}ŘC¶*oţßę ÁO§‚ÓüY”ôńíe!Ľ´ íh#Ľ}űv.ÂP4>XŹŠh;D{ˇ¦úĚŞëFŰ µŤTŰ=mč,+ÁßÚ–‰¶Q˙8ÚvjĂ‘ŮwÎ ŢŮoÝşUőeĎC˝µŰ}µýVKâظ6ö<¬(ĆŠcěţę)I=ďŕzXŻA~č,˝.Vă—ÍfSÚ^­eĐëţčuŐ¦ö~Ńü­P+äŐ燰¶]Ůž©Wx¤Q1PHô¤ĺWń’z*ň/´Qcžęąj0äŤí87żĽuB™®(ÍrĽP™CçT•˙¦¶Éwq^óćaźS»ÎćMf~śžý3őM Ô˝Ú ňř˛PřC™B]źëHb ‚AVG6 bńÚkŻą @:RBŤäˇnR­ëSÍ[ŃJ·ŽěŔß𨣡ĽP±ŇÔwďŢuy˘ŞnSQ&üŤ9ŇáXz<uĄ ´Be…F¨aîz?ůäWAţęWżšWćáíÇß/4é6[1'„BŮ* ŤŻv]ąř!µĄĐ°UMdň MĘĽr™ďó°«îţŚËˇNNű\\Ncîôs<]¦ŐÁ–¶Ş#lҡáďµm4©Ő_ő–űËÉ<)™;öď_ôŐxżt§|ąx MF]kŢ‘ÝS‡aç9…żaě!¤ś°čÇ·-«±˘ëíM˝÷Ô˝´}S(¤’šD[$Ú±Śą Ť¬đĂźnR=¸´ež}µ]SQĎ8@C{µŮßz\·ÂźP{pŮą4Y—o ¬K;Ęőş&`ṈΞ”KPí˝&ůţz´!_˝zXHű"Ů@U¤°)*–<˝7Ľ îŰQĽďlNĂ‹ar}ÓuW®Č ÷¶Tb›™rF™ÄHÎ>qnqš2NňŚrÁoš0ä1±ŁŇăĄKqáBÖg+ă¸<»=_¸°é7YÂD¶D,űs7^Ů8żV^, ÷­˝ţ‘Řëž>c‘±ň$˝!¶Ćś‰}šÇ"Ö;iŁ*<üж$d»ˇđ‡2…¨Üi.„ŇB÷ý÷ß—ď|ç;nTBn!l„A ČQ/>ę†U=ý�j ćAŢâKG†¨đGE6ÖM®­DjŢ@=ţ |îhÜŽ´PO@– ¨IGŻĽńĆNĽôüŔyřAH±W_}5ŹF(Ż ‰t$‹?”Ťä „BY{Úv–u´Ş�¨ *o¨ÍS-±+äâ|•ą,—÷Ĺß#Z‹kłÎ”ý®¶Ó¨ę ˙>mCăMçWű»7Čż*ŹşüëG¶G…A(ZÓzˇ˙|§ĹŘ`îD,Ó4}ţý‘á‹~oř÷iŮńZ{HČ;ăŔĽŹ¶?´ş§ Â! ćIȦŇDSH;Nßéî žµ+şuń8™ÂĎ~H„3+h´"_ S棭xÖ/ë"Ţz.úw›ňŘ<¬g _ôSµoÓsŠ˝wo奋R•Jžuhü€É#—ĄäyŽ;N‹Y¦Ű„ăLDĹ/¦LąŹ é'űé˝#˛źý>î˛B YQ­=ž˝ß˘É1ócËtYM!Učă u&žŽĆů§Jëj.u/±ą°r˘*^[oýŘÔ ý|đ߸p>“őşĂŘ{®Ę—¤6Ý2+ęĂóäÚ4O˙ř…{PĽ{;[ďî,őÂŐyŮWťîî 5ŤóçĘzó§2o[ˇ6 Ú‹„lţB¦°†‚ş(ĹxÂč!·ŕ˘bţ Â{ŕ6ŐƆ` ’—¨Î TĆám"¬¨H+Ě !ě—ş¤ĹBxůA>(ö‡čçő×_wb!”ŢPFďí·ßÎ=�ἰŚĘ'öÁ„üQNĺ‡k\eŔ2&”űŕ±eÔQ!7ż„B!ëH]‡Ă¬Ű+;pj;v˛FČ(ih×ŐĄľ Ć%K¦ŰtÔ2&¤ťxqqîlHÁÚpH«.÷aęhe)®âp«ť©Ţ"u¤·†‚ŐcUy†´3µĽ8'ŘĽŘowwĎť×ĹĹ0ĄpĽáP˝nŞ}r>*Ć·ĺAc"B^Ś“üÓý‡“–řgZěŮ2ĺÖµ$Ď„ŢƦ?ĄĺĎnŕHYz;ŻÎ'tź¨b‘hCşí°°}örŹ?â‡1ąČł*=ÍĐpůH:»óc=FŐďyË"…ŢL™töąśâ˛®3ÓŮřkfćÎ"Ęď'č ”> îUôlPčU-‰źÂvH7éśi»ťMĹzŃšZ_±ěŻźJ?®ĎsVlȬ:ˇLŮľ‹J? :tžýuü„ŇÎtóGl„1ue˛s%.Ř4öĹoˇÝ××fÚóő퍴ΡeŤ˝˛HÁv/}ňýŃ۵QMoPăFňŹcńőţ1üKŻ×Đż2ęÓĄhł™ď ‘Ĺ…}Š”˙Ô6/™ĘÇśfp}{űWÜSÍo·nŢ mÉóжź˙>­zďEţ…{ŻxßĘd•Yżśë¶ňSíęťś˝…Š·sőíGB đ‡2…ó¨ Ň ‘ D?o˝ő–ë4€Đť Ţ`Ä;čD€Hëµ’¨ˇ· řÁ:ě‡ő6 ť ó`=€Pů@hŁ1Ą±ßŻţ꯺ĘÂaţíoŰĄĐ  8ŽĆ ţĹ_üEwlwŔoýÖoąŽ¤Çö_˙ő_wů T™–‚śÎ÷+_ůŠ+ ňEٰŚN€ň"-ʧ.ÚYbŚ !„B¶š˛Žo´šÄ6f}±Ą+ŽŤŢ'’ĽĺRĹ-°+5L†¤ŤĚvŘ·oßv¶*l»Ńh(÷ďĂcĺcç‘öťmÓ}aÂţC~*p×ÎůÁÎÄňýű÷ť] ˇěŃ{÷îą<!W»â…/Uś‡Ó…Ť‰üa‡â¸?űŮĎ\ľ·oßr¶&„ęýţ ±Q_qűÁóĄŠçÓséąÉ†¤Ež°‘?Ľdâ:ěě»2Ýűâ‹$˙ł$]ż¦ˇ< ţžv]“6Ć|˙¨ťHh~ëzą  ę‘§i=ˇ¬·Ě[튢‚B!ŰO*Ť’ź~nĄ4ĺĐtáýó‘âąV˘Ůu(óŚĐÔ3‹ â´×BĹwˇ|ňuNYuÜĄ…Íď×ň߯ú|\x„ÚS.“˘ÄńIă}˝|ô”mźĘ®¬Ct˛GŐ=ĺź®–żě÷ĚÓŐe:#ą<-®NS.â)ö›oW<ý]sĎěTŮsl{ŕüŢ8B¶¶íg6}ŐľS˛gMV˘C´Ö#ÉśĺۦöČÔë‹űËýŰĆ[R™ 3ôwY!›L'?_ŰV<-ü)÷ßô~÷ó€ýź×µJŇ—­/ŠźŁ©ôz>ˇňOę#ŃÔő=öxţ1l>ą8Ű[oÓWť×&piçć‰Ůš”a“Ż{9Ń\¶©ŹŢĂ˝~/µ 3A[ŐsěďßćwX…ď!!dqPřC)Ĺ  xAgF!ŁĂ• yˇ„5ئŁB´cë±?@‡ ¶Ł3؆etF�t¨F=ü O ŮĄB tÄŔ@Áv”B †íú7öŐtz.#lÇńF…FčBzü­ëQfŽPVlÓ󵨪đB!„l3vŠORŐ5اÓîn*Ѱ´ČŘ QÖ { vÜť;·s»ó7®;Ď•*čę•ölÂwß}ץ‡ÍŠă@Ľm*‡`Çčů¨˝¨v+„A؎иŘW˝hBl‘ćŘn˝H®†í‰sť A„=8x¬D:xŰDy ĘÇţ°K!.RiQ&ě‹uXFy®yB¨„ňîěfˇlűIůNdg°ă~ľÔ#Pś{HÂů#_Çe^‚ż/fJű°›„˝ŤĄé=QÜg^VĄqÓëÔ¤Žš †ôůĐż‹# ›ü&łyů„ÎŻÝ9‡đ;żęîłBCy&|)N‰¦ÎifąÝ;E“¶÷ż7ÜŰĘŹb‘˛0áÓíŕÎIę˝gr¶»qđv¶w{íţ2ÝiÚžćG$d[Ť€|2%ś^»¶lmóÚî×Ö{Ď,říŠ*PŐöÍ2щcă:� Ő5(ŁÍŻËNć<ݍţ­:nŮş¶B?M;¸L€T&ŞÚ^—·/6*KkĹI!±OYŮBçúĆ…Ä:~ŢľŔÇOc·5¤\]?‹MbĚŠíšŢď‹,Óú’UĽ:úů‹Ď_Č’nî+HśYŔ[ű[˛}PřC™Â~¨śˇóAĹ4:©‡a[1Ĺ\C/¨étě§FŠn×ă¨AŻűkűthٰ^GzűŚVRµŁÇŽ@ĐüµĚ*f(Źţ­Ł»­QĄÇŐüle B!„lÍíšđÔŘ&ő’PľľgCř›ě“O>qá¸ŔÄfCGÎ(ÓzxxU<¸ďlIČ!°I=ߌr;„@*ĆMŞ!jałB´ţĂţĐ e° ±ěQÁvDYü Ź’XĆq‘/çC„Î%xúüóĎÝ„rüüĎ˙ĽŰeĂ~(3ŇCpăa=ňýĆ7ľáňRáű׾ö5÷7<ůh]Î?zôHţüĎ˙\?~ěŽc#=Ę„ă˝<’^bĆGC'`BĂĺţŢ+® á‘'–Őó&lj\#Źľ÷˝ďąňŮĆy6 ףŤąłVüN™2Ęę$óth5ˇŘXÝnÔiŐy…FɇF¤űé»"Vµ é„Ë®3Ďu<ýdE5 ňĎžů¦E±çŐg:٦Ď3ߡd›ńźá6Ź´zć »6”zfÔĐ®JĂ®Ăü2ÝĄe€ýwÂ# ěOŘv@íÍyóSďéhsť'|X)±ř6iH”bi"‚:d@LŁů„ňŐ‘üôľ]Ú·Ş,6ż:[ĘŻJŕŃÖ®÷;öśĘIUB &×cżŤłžłý˝›ÔÝü}Ëʲőý žľ~Żb™~žŞ÷3¦¦Đn$„PřC©A=ç„PńŹ rĘđ+we•DzJ­ż˙"*żU±¸“šB!d+ń@"• g.|QśŠ ŕńçÖ-ozňůç‘ ]…őiŁXĆY‡kĐ—ĂĂ+rő꡼8Úw6+ţ†pç0™2űůůEŇÁ±/Oź=s‚eĐŮpX©ťsů䓟ÉéŮib/öśÍ8ŘIE:Č<Ž]ž×Ż_s§�ď9Ř˙,Irz"˝ÄV|űťwděF“Ź]'ÓŁGłşŻČ;ďľ#ÉßŕôôL^Ľx‘tB˝tť% y_ż~Ă ŽĐ‡ü!B´“H…?HˇRj§ÜőÚŮÝqóÝ˝]9ď»őđökô{»űÉńÎÝůŚFcąyó†›ď李mďľňŠ+oęh,ü± ±'iĐá‰6:Fٲő_öă¶m)ťµeŐvşĎĂĽĺ5Ë‘ ´Ě—ŤědŘľ;0 ţ‰+žqBHç´ůöąÎÓšô°ł4dŞ~[!V˘ őÂXÖ&Šý±ŻzžTđ7l2ě§vY`Ş�˘sŘ]už�ʬ^%acZńłg÷÷ó!´çŃ8ţ†÷Kě!öPľě:(8.®ťzw×k©ÜQ;Đr~u‰ŞÔž�g–¶Üč'´Üt[›4Mňh*÷©TWĄmSv_�ä QĘ„C–¸Ëß÷2)A]Ö±±YXĺ#„Ě…?„B!„BZĐ®‘˝QwŁ-Úń:N''ôÁߣdËHĆńXâqÚ 0@ĐŇ—~2żzíPŢ;řŞŃśťźĘłç±�şÎ˝,}ß |<řR^\‘;wo'ť%ű.$@ŘŽc] Ď“<NäěôD’ýŻ]żć„={N\ŁŢ!‘v4:‘Śôŕe2r"›žE©€h-c[2Ť’N›ă“—ňôŮcą˙ŕľ<zü0éÄ9–ó‹yńâ(ÉŁź‡ËEÇ :yś)ÉŁ#ëp8nÔ‹]ľ,}ţůgňěŮç  üŮţţŐ,ToÚÔFîzIţQ”Š­ žJGÄ9ŐŢŢ®K3ŔµMĘÇIÚqFç'’ţŤß&ofžrvKŰΚé{ˇ%ó´yĘÝf§¸tŮeĹ6xREVQ6Š3*)NČełÉĐÜCD“η4ţâE&¤Š8Uö”o+® ¦;::’ýčGNp Ц@ü‚ex7„§Dx\„×Ăýüĺ_ţĄł­¬ %š_uűÁłbSáD6đd©áľ°™ç+ŠĐŻçú“źüÄyµÁÓ%<KB Ż;!TđŃ<Rjx.śŹ†ýŕj…?ů ü8…tťŠÔťđľ€h„<Ú妔‰^ŞDŮłxňiS˙ď˛oMÝ7¨Ť÷Ł2O‹:o+îj":*«S–‰±.YŻő˘ió[[XŻhC$‹°ŐP˙Žüߡěwń<¦Î*h$„lţB!„Bi…v¸ÄqHŕĐ.ź¸tź˘‡…TŚ"NŘňäé'<¸¦×Ź’yâ âAŠtŹ?rétä1:yĐŤÎí|@'ĎÇ]80tš cä굫IÚ®|Čăü"Ü`45:Tľ¸÷…Ĺ­ŁĽGă‘ŰO=bbŽ´č¤6éµÂ1^$ů^ /¤wvš÷+:v °AÇ F{Ł<O“s<;?sŢ>ýěSwÜäˇŔ0Š[C'ŘF>¤y™ěüŕuů|üńGî\Ń™Eč”Âş~ŕ®3ňÄőAţČOXFgŤąŽňť'ĺJŹ(›÷r/?®(…OúŠńôt‰˘źBOČËÝćxqőr”-7É7÷vEYŠOtl:Ť Á„ýšî”±ß·4´CŞ÷áłNĄ©·;yK÷SÁ Ä)°ĂÔ»l%Ř?ęů§ Ř€ýŔkl2ذý�ě¨ÔćJ»^šxţŃňŕë¨çś244Ę�OŚ~úÓź„?°Ů ţyçťwśHCÔú¨Ç¤W/=8x`/¶ŔžÔ ׂ*\WĚqü.)ÖJŇ„!m=ô´ó6uyâ żŁ–ĐMV0Tćɨ©pµMżěóx,ÚfÁJ—çş($©Ŕ˝€şą>“ëžŮ‹2ý,–~çJňăoGČöBá!„B!„N 5' ~B 8ďłŃĆ«—I‡ÄO~ňq.ćAgć:BYŹÎ“őŻţ•ý¬ ™čLÁßč|ŃŃŮ*¤AgŤ y°ŻŽHV±öU!ĚłgĎś ť.ČĎŽôÖrjľÚyĐ‚ ybŽ‘â?ţńŹÝľČ ÇŔ>(ć*BşAŕÖă<t¸B;n^ĽxćÄJ(+Ž…ŽőďCč‚�H÷Źă(ď@BXŻ×KťW ~ęueš¬Ź2ŃŹţ8q CRµĄ®Ĺˇ>K(‡Đń!3{ťÓO!—LĄ€ŁF4 ›F9ÚĽúę«Î‚`B µÄKĐ^H{÷î]W€`3ÂĆSl©6žš˘6"?˙čý#ůđĂťhdžú‚G#~é—~Éy/zóÍ7ťŔ)„ Ü!$B> ©Ç őŕS®F¸¦°3!¦ÇµÄńp}ş$·¤úw.˛4ÍżŽUńŔŘVđcçjă—ŐÝš×·ú^HęĘÓ”yÂŚÍCÓë»(ˇEŐ}Ü$Z×®2(4é–şg‡×›R…?„B!„B–K°a+“¸F­h˛|q~!Ož<sÂtȤŽ˘‚…qňĎé陜%S0ŰĐ‘R,^Z>tAř‚ŽŚf§U=ĘCuŕśŢ^˘Pľdaş�:q4lxš°űiŁđtľu8Ź?é_b˝WlRď÷2:sŠŤąöÚ˛mđţ'„Ě@<-.÷Qá6&[ PIC¦^Ăk…€`BEČbx¶Ý…őŠCHóĘ+Ż”ćˇÂkË‘vD3î ż2Ż?jăA`ô駟ʽ{÷ܱ5˝ µqžożý¶ĽńĆ•ĺPÁ·ŠÔ‘® <UyRPŢ7n8ń†Ă9áZVyNšť¸µŕ2Z(}Qů6ˇĚCK¨Ň%!ŃA›paeűΦj¸ě{ Nô3«đÍ߇“ÝۧÁëÜB¬Č߉˘PřC!„B!dnňĆÄV ͱ”E ËCHˇár˛6o˙㤳äÜí3Ť%'/ă,“qĹ` łÔ"|”6¤ˇsf^Ú7şFîš6Ů-ňBl…|c™ľč‘ĚЬ]ůPTéąÍŢ?[Cľ ŁN =¶Af/yÚčŻÇŻwßż¬N+˛áĚő~XŃwËÔw«EŘ…x⍝4„4ŁŤaÚö‘F@ś± ´Âs<?ÂCNş =D:|đż /x[üä“OśřĄJř˘ž$‘<ĺ@4„<1A|O:U@`„˛ŢşuË•ˇą�Žűůçźga]› ™Ö…2Ź?e^fچÚœĎ2Ţçeĺ   á‘őo?m›ëVç­˛ěUű†ŇřŢŠÚćÓ%«ěéi‘×bťĹYť‘VźĄK;5ż·eöúmKB đ‡B!„BČ 2ńx˘z–ŘhvĐĐ?Ę:RňđaíQÉho EŐPN±,·ňćÖË\vîÍŹaç¦l&Íď-ĹŢcĄť,3^äTgŔ`˛l6ń䛏uF=ܨŕxČđBV!ä<çŘ®ő‰< ŇÁ˛†cĹ2ňÄľˇŽX?Ý˙ĚÇŇеgg {ěÖáoäéż×ďÉîŢž\˝vMnßąăň»űĘ+y(Ż˝äř§ggnůć­ŰríúuT„SH8oLđörÁŁÄLUaĎ�L(ŻzůÁţ8?—šx Z$»uŻ4e,KpbĎÉŠxBi-eű•y©ďT]Ƕ˘«˛r„~?R/ţRşĽn(ŃáeČáwť1!d+ˇđ‡B!„BČ‚°j»ű±Ą*ópÂ…@#°ő9ů;;N™đGʶ7ă˛;ŁŔ_˦Đi"¤˝'g™ś…S‹Ú‡‘°ˇÜęÓBZ3ő3߸bBŮLń!«M\aĄ@`V«ŔŰ<ě@´‚Đ\đşí!ÔD,ńX jQᾣŘç‡?üˇóÚuę@ôO@!ŃLâëÜâžÁ 'ŻżţŞÜ˝{Ű…äşyałNś7 7®Oĺ±3Čőë×äŐ×^•wżň®ěîíĘţţA®ßÝß“Űw_‘W_}UľúţűňĆ[o91’ŐGćň¨X ĺEX0ďáÇ®|đd„ĺ*O8¸Žđp„ň"íkŻ˝ć®›  ,󊬇ËHęĹ.‘ń˛V©ŚĐĆ®ŻŰ^wśşëQ–SĘ„B~YýÉîŹtÖÎĎ7t.UeµżC“kúÝVA�tYe¨şFłŘđUĎqlM˝"î.ÜWţÜ%ß…8®i!„(ü!„B!„˛xf-D©čÇMcż‘22 Óţ¶X&m±Čg$…¶Ů9\s/˘‘·Ştő»‹'ż ŃNd–‡cËîQüKoŽ`ţ>dY‘ěFé–®:•áEçúőëή·\ÔS <Ü@°˛Sá!âd Ř×z¶Áö»wďş4ľđEĎű‡nÂľH ÔĂÖC4NíŹ?{˝=ą}űvbĚZ©7ˇˇ+ĂkŻż.×®]—¨Ä&Á5Ŕń. ×ä­·Ţr"”ŻĚ“L8W\C�oC¸.?†ő!ŻIł2ü”‹OŞÖ•ťS•ĄjżĐĄ‰Ŕ˘L Sr«*»\Ţkѡ ĘÎÇžo™řÇϫɺm¤JÄVwźęßóĽO·Fŕ$’¦ˇ^›0ďďŔg‚bˇđ‡B!„BČ‚©¶ÄĄéR D$ăŃ@âqĎub·‡Ś]ă— 'zĂd:KÖŤś×őž˛Ě˛6Ł\Óőîß|™Ť{ëI*f›–਀měFy&÷x4Nµ?î~UŃOwťeÄgę˛ÂD-Ät sgFŰוĹ=÷|gRF—ťÇmň‚ĺç~îçśW|oŢ Â�Ź;¬¨×šP¨*dľő­o9Ń PŹ(�ßső AM],�‘Ä;úwS ®ůůź˙y9;;›’őŚÇ±ěîîĺů¦6Hö>2ŢUđôć›oşk1Ę€k„sÂ<$ä°ëŕÝčťwŢqb!\/Ěái°?®…˝ŽóÔăOÔBÔ\%üięĹćçQĺń§¬sľĘ3NÚ„2ó…9MĽé” ›švRű¶]=¦L<T%*Z¶eQő3˙~˛¬ęöń—g)c“p[G>2g!ÔĽ÷G—Ça[!› …?„B!„B–BWĺX=E2ŠóüSdşa=ý¤cšÓĆá¤â;»‘ŃÚĚu߉ç bCł ŤĐéá7ş˘Cť,؆Î"ä‡uŘiu»ŽtF ÖiÍá js˛yôzýä·ď»ű ˝Ź$»m'b˝/p¸{#ďş‹rń›Hu#-ňF‡&í0Ô{ ·±vH꽌mçççÎËß!łť”{ «D ŃOž~1ťVđĂç‡ŐĂŠ|[sx A,g`‡aÂ|C!bˇ_ lI„fĄ×K7{™‡ś‰(&-#¶íěě¦6k…§ś\XĄR"ąŃ1Mj.K”ŮÖć@đĂăŕŕJr컹`^•Ëqllě([»ëvSFűväÎÍ•˘źţŔw"ÄWRťB{väRĎ1M=žäůWÔIę„&eyúÂ&ź6ß—*!N¨eçÚ*«źOŮąÚgĎOßôüě3¬¶ě6{ËÄjeź&ĎŇF�·µ¸wŻ!d5ˇđ‡B!„BČʡ hzŹGNücG¨•5řúŁŘúHö÷öĄ7H…zb^¨ŕ 1YEAHŹĽĐ™u¶ŃŁ=zä¶!$ň{ůňĄË y éÁ®#ĺý÷ßw#ĂFb ä«!ěsďŢ=9:: 7¤.`D!ą<Đqvýú5w¤÷:ď’ű.;Ń îÜđűC˙…úIŠ©ĽĘ:j°ŚCĚ0á^ĂýŠ{0÷ŚÜ=©aK÷âÇĺĹ‹®ŞÄÇ«ÉňU‡#”7ţľ„2F™ČÖ·#!lÁ·Qż›°ŐĂ ŇŞ§î»Řڏ0‡đgw7± zWÝqS;t"nŚ˘žDőö3Aođ/©u¨*žH 9I`=ü¸<RO9HŇKOÎmĆąědŠĚćvYô’t&o—cšGż×Ď®ďČĺ3‰łwöű‹NülĘĘž!/q•#ľČ.GaaWz¨±G»H ť×I<ÁŹ?h ĘĚ/_¨ŚU⋲şN“ăűçăß˙!NÝ˝î{_ ťkČó‘ÍWó(­Řke×Ůýę~ß&Ě»™'śEÓÔcRŮrqXU^D:ŻźÇŮ»y›Ĺl„î đ‡B!„BČ|, ‘JC$˙f‡ť a^Đ!i§ź )ŇĂčÔ;‘Đx<ĚÎ’tIť]éz®Ó'A˝“ 1p>`ÝŽĆe'°]Gbc»zgÁú§Oźć}0! „Úđ®""ěŹ0 čŘŔC˝¬hŁu(„ÄäB´sBRçąÄßn:…ŞëŽçĄÝÚ6ââőÝۉäŐ‘ÜąŐO:枡.diŘ—Ół9:‰äů‹Xž>;–ăń™Ŕ÷“ö«Äk§ůć#äóÜă|ˇĄv“{}g°“Üó;®Cîbo(çÎóĐÁ•çą@=˙ŕoܟà ămŞŘ/™v¦XŢI‡ŽČĽŹd/š„ŰČĽl©GŁĺ4`ëCc;>ÓyÚ/Ú›ô_şŃş=)ްqÁ›KdBKEţaŇ\ĹßhĂŹÄńÔžµĺĎSG^Y¦“će.Ëk–É…ß-¶ť|…;Żá»©xí âwl¦˘8„ÄĂ”z´JÖŤłüىnŃ÷dÇ÷3ÎŤj„,ý^©hŔŠ`ď©Íf…ř>–‰<4­/4oXšBđäÓOŽ•zŠeúÓĐFł6]Hô#ćĎئ1‚äżťĚÖM“ëĹÝÝw>öDYŃa¤‹±łK˘~şěţ.¸ävĆä]?…{ýĆÓël>qŃ{çÔqâ¸đ»…Ňú^jŞ~ßY웺2Öí[µ¬čą…l0+˘izĚĐő)XůÂśPŮŞ<ĎÔy±±y‡JŰHŮąWyc -“–,Ŕ$t6ŻţA!s@á!„B!„•C… ń„XFć\ä#‘w“Κ«×e˘qbźxÔ9=‘łóˇŚFĂtôkâžëěďe‚xëQńFz«Ň@ Ď=şŚ0ş˘LaąU8„eäkĽ±Ľúŕ\l(0ő*ÔČÍżű§E#`°Łßî•ü]’]5hô†c{ť'ŰĹäš^ŮĘ»7_Č{oŚĺÖ­ vzrzňB.†gnűÉĹ@ťěĘÎ$>{!ĂÓ—ÉĎw%™Ňp]ř-S K:˛÷K*¸‰óKěúŰĆÉ32ËÉqr˙źžÉnrż^=ĽęD@®ť‹™ź¤/dx~‘ †ŇLŇN?'ĐÇF6“uĆEiśhČ…ÍĂ3™ ěÉó弆.I˝9OZqĽśćë8ĘË_¸óUPĄe”s4Ť™Qň¦ĚîńŚbęDŻ…Č$\IÖY•]#;ײ4!}DŮqô�ć ĚqÓ™®uçąJSâĐ3›_ ˝ßâbÇDĂwÖ»ŔuŘSoTýŢă…wáÄsçr~žľ{ÇŁ8´‰¨”&ç5Üľ˝‹„l!/&ežWÔ[JH2»Ř BĚŮ:«IŘ-‘j{+˙\ä»Ćî-™2˙Ôxžc칪ŕBíé*‰ďEĆć[%Ji~]‹ÂI-ÓěůÉ” Čż/Ş<Ň”ÝCšŢîĘÖűIŻk(żÜţńýuuÂ'˙w ĺŻ÷Gh__Üc…X:ůÇő·Ő ¶ücV1oýdöwŔbkę^MĎ·íłCQ—đZBć‡ÂB!„B!+GÚAź4âG}×ŮŰëĹ®ł>’qęń§9ď);;É´›čŤe°Ëî‡G™Çť^˛®ź7JBŚ�á¶ÁC –UL€×t&C°Łéŕ©iUü<đ7xţüy.ŇFil×ĺÇŹçyű ė椪Ożú š Ş¶×Đúř3x%™˝1;˝ľŢH®î\Čí‘»Wáqg §;đútęóąž<ŰĘNď$ůëT˘xO&Í5q>˛Ţ =ôňz—Ţ®ÎĎÎe<JĂ™¤˘ą8ś9ĎVYč:,»0`É==Jî˝8ëđ z–)`ŇÎ%‰ś÷„,<zrť5=<—˝Âó6Ž/ŃóŹ».¶3H˙J˝ý ěČ­[·\x—ô|vdĐß—~o'K? ő‘^7IŢ/˘Műc7uÚ…;٦;ÚBË“ým‡Yřy*du÷Ě•y¸u&Íű›6}î~‡áČ]A硭‡ęS9>9rמ={žĚźËŮéůäZgBµ,ÓěŹy:çüaÝ«ŐŃG©ď„·„M§ß1ťR!čDl`—­§ ÝîBn‰†ůďuݨĐËihŻ]g»ćiĄđ…0ku9*¤-ÇMţ÷.ö2ť,¸żâBAťč§ ¦p˙D…,¬ŔĄĚŚ˙-óż!ˇŚÝćﺦv>9·É÷Đ JBű–‰ęÄuŘň†Ľ¬Ôĺ+U}CËuůÚĽëŇ•­+KÓVüReW„Ň5=F™řlۨşWš\ŹYŻŰÖňčđĽÓ÷Ĺ&Ő˘ !Ë‚ÂB!„B!+GŢřeF »—á¸Ň•ă$Ý/2§bt¨ěě%ŰÓetŕŔóĎÉé±:XĎ>÷ĽxńÂíŁ!4 öS!Ž{ď޽ܻŹvč`:’Ŕ_|‘‡Ó˛Cđpž -°˙Ççió 7š˛“ą-Ĺë5L×4żv@svv*ÇÇéý%˛—oĂý{ôňL^Ť“ÉLH–ŤŔźx\‘ÜÉ(ڄʤbŕ o]Věi¤×°sÚiĂťč\ÓÚÎRÜëÚajC†Ąť©ř!÷”‹áp)“ç1Ę;Ż_ż.ßüć7ĺő×_wď“ý˝+rxĺfrűůůęł«×ďú xüÚ5×%,üI·ES˘ź˛má}{E˝Â9ŕZĆń¸pNQˇS7îě5ŃFčS÷›†:ęl^¶CÔďÎÓ»0^ăÜ›šDŁä~:–GŹîËG}$?ůÉO“ôźĘÓńłÉľ™8+Î{ORáNŰÎIBČf€ďě˝ńĹÄ“c*Ŕ¸oŢjďÁ ¤®S¨Š°<@"ňĂ>ú´ŕ’Ú§âĽE,c˙»wď&ű\ÉÓ¦á -QÉß)±ľÇĽÎáÜVVńŹŘąÍ2*xţ™oÄęh$ĆŮ\ž&$pţ5𱞓|ď-ţz?o[ÎÂ7"JŻź¦/űVO?śoŮ~~že‚[~ß«Mé÷-.÷T&ü)eŘđÁš^ŻySš\żĐyŘ}l¨ŻPú*ńQ™g›Źž“ďÝÉó2±żáŞ0Ý&«x4Č+$Ü:::í1<ŻeBL*!óBá!„B!„c2ĘŢë2ʵµkAĹ7nű˘ A2Ąs„4Šăd÷˛Ž›8ďĽQ‘ćÜ ÓFĂsˇcF;…€¦­ŁČ«€WźÍI»đX±Í,÷úť%Ť÷źźČÎŢ™<öĺĘ•}ŮD.LŃŃѱ<9ËĂăˇ<~v!'çI‡áx4üFât‘äa¤l¨:íŕŃP V¦Ű¬«đDźŕ‡ŤšÖÉ ~t_őř3ńŠËPâ\(´*ť"(Ëá᡼ůć›nJ…y'ţô÷RŐĺąwÇpgŽđ›íćů¸ŽFţ俏dŞfYě<Ę·WŰŮWüŰut9QORÉ:˘P‡®QHÎIȷĤźŮëd“ö±éţ˛]çČBwąű®‡Py’ü†đĐÉńń‰{†>x"G/Žłwüh1Ď›!dÁ· öÝŔ ůę‹a± él+`E@ … iżqę1ÂźTč+ůwËZödďOź$בěpÔAĆ–[e-wżÝÓ­VĎÓ~62“é~óL_ôÇë“L«™Fš§‘ş§»ďR·î­-×XH<śt"ČČČĚŞ¬*?ULIáÇ[xv›9lĺí!˘¸¶<xĘŔű€Óé}FĘ8Ô’tVż«ú*MĽ*ľ>҇B4‰¨ź”Ç;D"âĎ&2I~˙:ţ<\žöľ{ş‰č¨ÓľcşnBŢź"킾>áPĽşš“”ň}şČvNšŇ÷#ĎOá&żĆ» ˘ ±4Ţ!f—ľöfr˙%ĂMHmń]XIµNdËÁp;ńÇ`0 Á`0 šôCLřY®®i±\R‘Ś6ĄOÄĘV«`¬)jrĹ2ă›(Ř5L1Z„p‹fŔX“&��dMĎ�ĹľŘ4ŕ®­m€ďă‚vĄq1Żč_\Ň‹`ô»¤Ů2Áäěěś.®*ş\,ézNÁ8˘E= uő/ &ĂX”ˇ^ŽU)Q‚’�ę>uREé›i® mÚȢ]ÓĺPmÄ‘x‡H<ňŚ4Ćç;Ć<z�őéFţ¤ň¶ˇÔőęĺ-cŞV‰@UGC,qőWśoŤQÉGO"đDăcK˘¦ JëFé&4ç5żIo ±5urňĎÝçď}·I}ía?ZBÚ˙“GSúꛓđ,…şěFtxpĚĎFTIŠuĎ5†mÍüÎcÁđqCŢEh˙?~Ěżá‚ä!Ëâ€}^îô»QđbßsŐ!A ď( ?ۦ+ľ‡·ďgú5’hfđŻwSx‘űGÚő>é/—č7PKfęőgu|Ň×Ŕµäzš° äýŹÄŐ\§y÷ŇÚ9›H?ŰlúAWßu$nŠ??§·iw⏎oŚuS|Cy¤űt9J/ĺÄś>âO~żšŘŁ÷K<şĚµBĺP™÷őSó}»d6a›oć@üŞ[}Ç7ŢŐ˝|¸{âŢ)pokůl0n #ţ Á`0 áÂńŕŁçäU [Dâ«řŚŘ…RQTiđ· QČ�ôŔô8ŘrŽN *Óׯvń łş…8!Ç…`™ßBĐÓů@sľ-Ä ŮÖŘŢŕmř°¬<˝ą®čl5'z;§ÉřšŽfK&{@)j± Vř‰u:ÔG* *4ŢÇş‰šĺ“›"]¨hÂŽÔi 7ô«$­$ËńGˇŁ˛ÖşÇd_®řSŐç}ôţyG­1y$„©·oßŇ÷ß˙HçoĂł~ť “µ0E„9?uf”Š‹ü–¸űŚY*×Ýç»ŰëmB­ÔuZâOîălCDůH“ž}vLEů%}öůIŞÓn˙uVxµđ./ĺd¤áS„ôű Ös||Ěű@ •wŽă}Š5^…ôR–ť÷Şô!řheHyżČą:¶Ĺ-ćÚ÷Ő5E0%yo“jÝ|®*ăî©_»ŢşÂ żłóo"ŐôíËUgňkő‘at˙†nH«ôŹx»çşD´1®ľßŰ„ŐD—ˇ°úř6}ţ›Ň» úν‰ěŃwíśä-űsâOG_Ůő…Ý”FG^ňřúňl(Ďó´mŞg»b—ús×ئ|%ÜP=ÔyÖö]ůď`\Ű\ó“€Üú‘Č8JďoTÓ4 †m`ÄÁ`0 Á`0<8ô �E‡ b+eŚ6ś»3‹gÁ Sđů0ş@ńCHB`cŹĚü–}!@č™Ęš4çČ,ňľAňmŚ�†Ź.n(ÔCÔ66.k&{0áĚŁbg¶:Ś.%“´[şŞuq‰!őT×?Q7őěj©/Ç…ĽÓs|« $çČ~ßÎÎÎX h]ěůĆ•âl !®ż#‘¦Riy?•€ÖXW1˝HîďňrE×WQÉ!Ž·ë™ä2ď›űú?}ët4KÓfâOžţ6 Ý}ÝíŹ(7רD,S&•µőľ«( —şĽînfżÁ`ř0w&?'''üE›đŮgźŃéé)ż%ŚĽú˝ŔşĎM•ô5yH¶ő{;]!%>Ϥö®PFb`&cg« z9ÎuŤb‡ÓNă>×U”ßňţ“}Púqäz•U†ůű/Ď9¦·…ŚÜw,Ź»ŻOÝq˝éş 29‘DŇÔäě÷°‰L˘÷ßD¬äulźţQž—›6yľüč#ÓäůÔQq¤uÂŽ¬‡\Çöĺ§.ď>rŽ—ß˦|ąi˙]ő tÚö9~[Ü&îˇzžçuß1`ëÓKý÷»«¬ş‚î±Ú †OFü1 Á`0 Ă…ŰáٰĄµ[cxî§5ŚŹ§a�mĘî`@TĐÓ€6Ô4Ä�ĺę `÷bißńGâ×Hý÷qóľul".¤lQx}]Í©ZŐTAŐ‡P VŚ% ‰žÁŢhń'Ô¦Xłë®Ë®>c¶ĹMťr$¬v˝ —>cžU¤ N~´âŹÄßÚp]źX1Ńű…÷zi]g!Ý«Uň«˘Ĺ"’ ˘]ÔÇüo%ŠÄGľńŐ]·»:żI?;Ü&ŇŃÇLüá݉ËĂ3y“íÚ›NäYÁÄ dďNŠMžZ7jÎ`0|Ş éĎIźN» wů»±ŻŻ&Ę?}FńíŃמslÍűg¨}˘p®ôy0ЏÁ|×Ű ę>Eóţ#Rď?×C´YWüč#ěęĄěÓ}hM‘ü"ä×éRř>…ěąNÉ㹉ô“ßc_™ć$M–őI(ĎŁ]ÎëKŁŽO÷Ď$ľ<L9Şďz}éŮ–ś•—§ě×JW:ť:î<?6Ýo^—t¸m±mŘ]‰Fúř]“aň>{ľ"ˇÝ”–ĽžlŞ?y˝í+‹Ź©ď~G·Ý÷]f0 űÂ?Á`0 Á`xC;ąč>÷ń[•üń¤†Eř]5Űž@|Ć€•Î? çObTWDµĐ Z‹ë/ś†*Ě °ŻođYČr|ÍH±Ďŕ±˙Íú+Zcž‡ Żĺ üS/L\«âÂŔEÖ·=×9bâH¬OŠŕ†g �¨˘ë«9ĺ¨ńÔ˝««+®Ëb"¸®ăt©:+őU<eqă|q땚$®vťęĽ®Ňţ}’śZÇ´á~â3_łŮÔU/†Ę"θe^*ËDµçׯÓh8 xç™Î~űb}ß&řŚřăú?g+!„&řŔ^Ť: ěŢ1.k/ e Źl6žw›XkQ †O9!eČĐ-Řd<ß×Pßż•Š;.B”�‰vS{%Ié&)3ŔÇ×r›Öŕć>ĺţĄďZP—Ľ!n?!M YH“A´ňź(°É9šH,×ň•¸ ÝČ»•r­+ié[†6n ’ŹŢÖäç<?†\üJ>lK^ÉďE~ë¸u?Mök®úş’Ρë÷ýÎďC_OĆ„8'Ď\'W“Ě'Läż5ɬďy”xÄĺ­(ü݆pň.÷q ]'¤ü‡ĘtÓ>Ť›H'ůţ>r×§ů–»ŁŘŚôc0îFü1 Á`0 ĂDTŚ„‡˛,šmOz ł˝'.lśAg‘A°Ď©ŞaxÚ Ě Óů@µ¬őÂD>hž„ňs ź*2†/¨Za`>’X±*Ř…*ęĹÖ«‡k®%;‹9»Ă,0†€đz b›&ţ2O>ăş˝~kÔËŤ,â/7Ćč8|FLaMś= 1÷Ť6YŇ–@QĆĄĽOďIq©pÉXɆŮ:v<uÔĆQ«c›Í·;Ć=?´‰řÓЍ裓ß\"ú$ŇO*źö9rŮ"{]ŹYĆH?ç1Z÷őçäxßvîÂU!öŠ,´ăŰv\â”Ĺç®dśbű¸® Ę!˘xÓ:z¦IĆ(ŇNçEÉ·wžc_ńÝçh\eÄîG¸DŻLĽ$§.î$mާ×c›ÇuŐƧűŢyz"LÜ.ÍŁüť‡rĽĎ]Ő&2Śľ®¬ĄßĄŤp ą§M$”>bŮM„!}ŢĐ1ą_]N9ůGçw~\ÂčűĎ•t~j2Uź[ănmN{NNŃ¤ŞľrѤ#˝ď>qbß}a_’nűňý9úŇż)żď»$ä஢{ ßNáĂ Á`0 ÁđŕĐ "‡˙Ąš-**)âú‹U`ü 9ĺ]ŮFă}|}µ6č/˘ć#ŰŢw]‰â‰ 7Tč4çŕ}ç>~đ�{rU$őµŻŢčm=¨î±ƦËËK6tÁ]®_ROĎÎÎĂ”(ŰČq©çBlÓĐ,m‘°bčę»?}^Jj–öd|OŮ:?ĺ7QBŠŠD=¬»Ä¦ÖčÚ5‚QŹşÎÍĎyNü!ş[âĎÇi(hëWkp,\Ń1´·TPmTŐçőČ3 †O C}˛mÔfôyšč˝ń'[tŇ’;”~?Ę*f#ŐżA§˘äĎ+RąŻ+­ ď\BšżHăq˨Š=h`ĺjšÓ‚j—ÔZŠ’FEÉaů«:’u’ ŰH®Ż#ą7ń~ص§‡šĎŠ/Ďjy nP”Zc"QR⛊/ܨ×o˛·ďÜWVůÂűżr-*aµ0DPÉË0'áô•ń&ă|ŢgČĎÍÉ,yś}䙡ëč>vI¬Ó!×…%é×éo}ŹşŹ“›r"•Nş4ÁĽŹ¸#ýS­TÓWîZĄű´RT‰ë¶ŘöŢĺz÷IâŘTO†;‚ˇoŮľíü{y(śáîpźőĆ`0|:0âŹÁ`0 Á`0$˘ˇ€’;�óIýA Q‚ś ¨2‰kih ž–^»ęZŃ}Łoßó>t /l@óńůuBĎŐcxŢ}>¸Ă-AÜQńhBN•fŇkäĆ-mŘĘŤC€6čäëÜčµ­ě}Á{áugÖŁŃÝ‹€PĂůNض¬Ň¶—2đÔOŇŮâţýŽáiCxŻöą0w†Ś;÷xYm´”g�ĎÄxŘq÷Aĺ3TlÁ �rŃžL§Ó† ŞI Bú×°}�éD]q+‹÷Íéé)ÍfłB¤>Ĺ6ýn.B›W„x*zűö,lŻččxBÓŮ(‘ZŃťćĚ~ÚiÔŧD»ąXĐĺĹ]WKšŹB;;ŃÁÁ““q¤ßâ32Ť+„Ä‘°),H?PôUM“Ń„ DCM¶ę(y´–żC$­ŽLä­‘K$^ÝOAŮb±_»!CçˇÜ•—V™ŃIň’~VIÔ®¶túuzé#őĺĄÄ-®ŇrÂřJŇŚz..Ź%Ic~_BÖ}DąGśß¨ë˛_ž]Κř}pM+ůˇďÇóţ%Ň‚çIí¸fNX߅̲-ie“c×ý·…®Bň:“óű¶ó°‚m E›Â?TlK®»9"şsÄľěýu­ ç#ţ Á`0 áA†Ľj^007‡ůBĐŐĘşpcҦďŞf;:6€‹%5łVt" aÁđáĂË@:µäjČ?Ę�FŤ‰/ÖÉÜŘKáÝÖ†|_fJ÷Í®î3Đ Ţ_vĽłÍF¸Ě@F$zw$ڍšĐ&#–?Ł`śt®uą•„(*,D÷+ńb˘aŚÇwI7o6LßÍşD ęľ\oZűáď­{üî35ŢsžöľÉŹ{ĘBňŽW-ć 62¸¸ FÜ ­ľ%˙đs˘Ó•v|H†)Áp˙"‚üąŕĹ‹ĽýŮgźŃŃŃQG‘$'ičcôç?˙™ž?NoŢĽaŇĎßţíßŇt*Äż!=µz˙DÎË—gô?˙ç˙Ź–Ëkúíďľ Ď?L‡‡‡4™ oĽąîöS7¤ź?˙áôćę‚ÜÉ>yDĎž=Łq9n,E‘„R'Ą5!~¸†”)éĹ‹$’ׯ_Óją˘ă#:<8dâTT Ś ?.˝d E€@BýśĽ¬UgěR¸¦tľQ¤\„d‚c ü`Á»CÜź áEČ?rOrÝ8é …%šX$™śôŁÝŁiµ!Öô4‰UÎë#ţ4ůžŇ‡|ŇNźš€x$o„ô:Š5öă\Ň„D„pČ+ą7ą­ľă‹gű 8‰°G“zt9Kšß á4!ń‚ŘS(•W© ĎŽáéË Hâ"´ôm÷>t3ä&5ťmößçççĽÖ÷© f9é,wŮô€úH{}¸‰5Ď»îŹĺß,CŘMůÉ5ßwz?ţô­ ĂG#ţ Á`0 ᡫ4R”⤠ë °aPą¤ńGâĹŻâ~×Ä38˘r÷ë 4-’ŢŹ2( ×–ŰŐŁľŕ}ý›čµQ­o–˝“mEţÉi2÷9˘ÝĆŢŇŞ(SP‘P Ei§:ŰE×lEëţ‹‰/ŢĄrôԫΠâďB3÷ÔäÉąSÜ@VşĎćłmľŮř,ĎĘ$Ć[Ĺ çŰçH\ĐčȬ 6 }Đ„!~ţůgn/NNNX'7\ëm9/Wţˇ˘?ýéOôÓO?ŃçźNżűÝď(*ĺ´ďyźÄw(Žy*ŕşVşa8ëWôOúžć×ttRŇáá$ĽÇÂŢc޵ýYvÄUW ó ?ŕĹEŮ“C„‹«kúůÇçôË›W4y|BľŞčÉÁ15˙ŽďÁš óń]/É–ţARłÁ.“®tńę “2ÝiÍ×3™FÜe¶}‹î[Ĺ3±©VääťNr"Ś@P‰“q¸˙"~PK�bĹ"W§Ľ­:$ťëëy"˙DW¨‘<âôâţŕÚ „"äďt:ἕžÝžQ"2U«ŠóFúžăŹď¦ĹbÝžńvTŐ©9¤q–Ą¸­ÂńUoĹVlG˘M«D„<”¸šüKupBRÓŻU˘TÔŇ)t]őśv¤ńňňŞQé±kň%’˛Z×m‘Ä$ę©ESţHď|±ŕüŹ}©‚Ë~îuÖŃ]]L»Ü+ň›ă çĎÂs…ümóÁwŇĚŰČ_çi —‹ĆkšL§ ‘ ëŮlăaRYź‹DÖâĽK]8×(CI}”|óÝu:BŇM}źˇnPż‹XŻ0ëâëuŁ4F1/�v˙—ҲDą]^]qÝ‘ç¬(\Rł31 ä(”U‘žäm•úU#şŠVYQňĄąR"ěe=]ľgŤÔo¦ţý=źCűÁ­ýčIşŹ¦÷»µó7•›WĎÜÝBÚpÁ`¸ ńÇ`0 Á`0 đĚ736�żavăMęHhťYůDk®Ŕ´ÂĎ&÷Cd áúÝUxH€AFí¶Âi’Pc<mÝ„h·1HVV®źĚdĎ˙í! Eg÷GŰłk”`$ë¨"„ă쪦Éz1W™1Ĺ`0tˇ•| `ĹźWŻ^q›†„ń$W}i 8$"¨ŕ€�„÷ -1ś"‚¦W˘[-ŁRĺxě¨Ă# Ç«»úş¸xÖçtu5§““h´1Ŕąhô‡ńżZ-#I%`I™^QhA"XyZ…ó/ß„ř^Ľ˘úzAU9ĄégßĐt‰Ë-©�ď@nW‘P�BH‡dO,¸9ŞÂŢË-_žŃŐőU049‡öůpWie—&‹Ľ)÷ R†+)Š9VJ\†ăP#ŠD†¨‚ĽÔďc¬ˇ2óĹ_DĹZA%“¦ĐŔĆü".ß ăqÁyŚđ K\„˛áBúゼ2Á5Ű#&NÄxĘż)=Q˝Ćó±ńX”p(şK¤ 2ÄYWs:?;gĹ„Áűęôô1“U¤žŕ^™ě~Ăť+H5 ˛EŐ¤ŃxĚ×Eză1Q *6™€Ř‰2LóŠlŚúęFś~¸<NµóęyXÖggáúˆř˘ÎŕţOíâŚKőińő«SŤG úŚÂľŻçLhˇôžž$µ¤HŠuüää…c“ôŚĹ:ŔdˇBČp®ŮŹĽľľşf˛RůWLŕˇ*Ş1ąäRoDŹ=âřQve1’·!L)¸č=Ƶ9R÷ÜVߤŰôţp?ţđ<äý9oÓW_}Ö1ĎPďQ'€±ęł â3ď™t…úÁĘ?|ńxOłŮ=~|Ęő u ­çŰJ”•feRĆíćĂÚ-úîÝuřň˛ň˘ąHÍß¶ÖÝŻ»Ýíů´7\ž.‰×ë ¤4z×9ŻQRňSó›:l&IcßçÚť}ĂYWŐ`0ÜŚřc0 Á`0 †‡ĆĐžŹ.ÂmŢí»»Ľ ľŻA¶-Ż{Űäůµ{žżÓImĆöźż}Ćď7–Şă_ä §ć§ąĂić¬ŔËěă›f—öţŢľ7‡ÜhâĎ& ˙aâOF±Ř…ü#&żóc}á˛cb¸Xě—ă.—’ŰŠľ$PŁPĐ…7» đíěńd`mM.ͦ(#đNřt¬®+ÁKśŮ?FQEŕrmx=»yý§“ga{hUQZ"nć @9Q@ @é€-qkÔ˝nTß�QGÇ ť˘ˇ$D žUb>űüO™�UĽÇš^–J +˘%’/šF_¤ă>‘C*OărD§ŹNÉŻŞHF™ŃĚŤ© §-‹Š 㱩ŤJD [Ôľfuźî „k„sĆa˙!Ü„Ťkš@A§L„ýţ—ľE­ŘNňľL<�vATvßϢ¤ÝußÇmąh÷ťŃ€ßösJŐ}@”!„‰eÉ]ěŇk4n⋊1“ppĄÖ{DŐGTp˘Ë¤˛qK,—Q†•pÂ?¸w•:Vbâń¸Iă$… Ć‚ăUë_$ôL9|2y2^ŃĘuÝ6E×\e{ß99Cň…\ʧř6Ä9LşńńŢŁ›­6Źĺ9ŕĽ)ĘNźP9GeĽÔŁÖ^ŃÉ݇’Ľá8jßMo"kéú…ýH®…(pQBĽKúi¸V\ ÎOWţ<;Mľë¨ZîđŮ©bŰ ~ó7N$›ĹşćËž«ş")S͸ü ×u×Ý|Ĺ:¬óĎsT˘F™hłaů¦Ę;cYbU,Ýv˛{oŰz›ţY§ ]ßA’o!ď{Îkúí.§é‰Ţß*™Áđ.aÄÁ`0 Á`0<HÄÁ¶čţ NYî[Űv2ŤšdČĎÇ1ń4�ŮťőyĐrâľç(íd·÷Ť´řľ©!"ż˙ďw}§Ď¦ő¶MOwvć>đ»fřÎp=›­ŽLňŐN8í„vőĂ·ě•&„ďlçŮŃ›;íX÷ rňOźs[Ő×qUćČwŇź™ d =Y=Á×>ćĽéłŰQ\®nsĐ55ż|KäŃF˘č’–tZµ“uĺ#ĘÂIZÚ|ĚÝ%ë¦iŽú CČ\Ţ·U$zŠFâ¶ÂąBÍvŹD+¸€,ůäG[&:K#é‡ ˇB˘�YçŰożĺvj*űnÂţĹżřôë_˙šŐ\@úůěłĎÖÂAgą¬Uąˇ&őŮł'ô˙ţż˙&ě—!î »ú‚ĚŢé ÷ů/ţź˙‡–‹+»Lf3VŃŮ P˛ yőő×_ÓÂW4:> ŃlĘůŮ4ĹŇ×HŘĽžŘ>ú8Ôaźž2ą BG$¦¬ŐÂčşhB}j„›€4ť†řqŻB&Ň.Ä�qÝĆÄŇDŰ|űmá·.@RA=‚ęâÂq¤]®…:§U5ÁF>؇ű—cr=&,±K«rë÷1â|Ŕu%%úľ$|ßýb$(M’[©xďOž<é(`±jÍrÉnĹpŢáá!ç –m°_~ů%§×”8‘qŰ*y#ĺ&ä"}ß}÷•ס]ëÔm€ű‚ÂĎjŐuőµ-pŻâ’đéÓ§MľKţ Ż˘*ÔäĆzĽë=çůąF¬ęÉç>Ňäű@_Úuúúîiť´ąß·’Á`0Ľ+ńÇ`0 Á`0 <�>*v°sg$ _7ęMśąUxl°ŇG‡î O¦Ý.F·Ăű>˙V¸˝˛ń<Á»¸×»ŹÝFńO×(X­ŃTÖ’—×›=Ň/l±´ůÍÓ7 Ŕo:wÍP’ {Ýgnŕ6»§ †×ŰŮçP­BNs?)|Cňń‰Ză©3ű]_y}ưsÍŚęüśáD»íÝŢ;qí#Ş÷č™ű-ÉG\Ź´űă:‰a C M¬Č!ZŔHu@ČŰĆ­< ńXşáš_i )«–(‘őŔ^u´˘ĂĂQX>ă…s«Dvę1Źo$†F¦Ít6 ËçkG+×˙>d\Fś s2¦ŁÇŹč�ŃOljQwIě2,]}ý=Żv@ígŠ%»ľ$ź„h˛+ʲ\#@ÜĄÁéŇőő�D|€ř€°ĄÓđ>ČH§&ŽőĄa(]}d­¤ˇI[¸®‹gl<Ó.@ÜBÓńBÚď‹ô íúľv…”cN”çŞPűçĎ.ČI>š<żIAô]¤«_-l=mCD&˝ď}– ańÇ`0 b¨ö±\Ď`0 Áđp!3pY¦< ú[÷»FŹŞZń€»žÉş-6 îí2đg„ź&x9ţz/´ qOŃ™qżĂ VŮ'çńŕ¦ú,D•ˇďş÷Edq=FMßČ˙KIm+ç?4ĂŮu ŁŰ¶[9Ą504ęAD­‚Ů[†Ëi2Řm°SŰÚWŹüűyŢ ĂĂ6řŠ+˘Ü}Ł@Yä÷.ńď"ő+¤ĂĹ…·Ap„‹É†/ZQA×í»…hťŘăëfŰů–Ů\Ë)r Ö…€L*<>{}±â VęčĘË-ˇu…$ŹCśpő…s‹ě˝Ř!�ď×2‹’Kźzȇ�M´yW$Ś!ě˘â¸Oś9‘F9Ťë°-ź«›®'ńěZę÷Ř]Ögy^ä÷}"'ŇäŞTz_~Nľ˙ˇ@÷ĺ·!Ŕ ĂC„ ĂňŽ›HŞć3,DRô¶ {Á`0 ˇčcB顮²f©Ř0ŁY‡ň°sTÁáY{‘ďGüz&qK6*ąŚđ}„!#ňÖ108öĘ0§K$D¨ˇ¤‰qÝÎďŹW~lÖ6ÁŘ´_c[@1ePľo đüćřĂžÔ‘+üČľ~ĄĄÍD›!#äşRЦB2.©Ťé.[ź›Ë§_âÝá†Y×>3rűFK#»7kł †Ošü#}ş› şBę&劒» †âOX’.`7ŚżVą{ÓśHłžÖľtrżŤ Mđ€ÂĄĘäV ň8¤«M\-uěÔ蜤˛H«â¦¶'÷� GER5’ĽőŠ›Qš6ÄÓí§čű×ĺ· véŁHüšt˛íutw‰›ŰşÎßúTT4tžCy§{›ĽÚťxw3îëď&ĺĚűÔç}÷˘żwoŰGĎ >} †Ęčˇ| ĄmH j!Č`0 Śřc0Ö ;Űř@¸şş˘‹‹ :;;cßÄ�äKáKła ŐilgÁ`0 Ă]"GŇĎĺ…§ĺB z:M¤X;3MWŽýÓŃčŕpDŁQKüA˙ňű ˛ôóöí[îçŠL?ގO|yyŮRlĎ0×­úˤźQę–Ă Ü!ÁźŚŹTCÚ$ě-Óv0$ąb ¶´G‘}4é¤ď›Lxľ1üő‰†04#7×ôľ^Kď{ßLÚŮp˘ZßwúýĆ}ѨڪGąs¤HşŮí˛u›Ô~ś°ŽÜđů÷ţ4eĎ‹ű|‡H§Étůąľ7ÁđqCż#ĹE úČ#Ű@“ÄĄÎ>Šs­B˙®}oŢ´ÇDť÷_Ú î`"gťúúŐfâĎ2tEj‰¶ýđqI®,A>*˙TJ¨đŰ;V„Rë‰Pű†îWL$ţӴٞŤžřŞ]YíÇ]â&˘ÍmiďBF†Tąî 7ő{ď»–ý>őy—xń |›úŘGzż©MŐä9!νŹú™OpZrčÉ:Á`xh0âŹÁ`č:/čpŁs ŇĎŹ?ţH˙ôO˙Äża(L):‰§§§ôő×_ÓăÇŹyfOßFýÇDÁ`0  �A]†ÁNO‹ąRqŃ0˘g+v 9ľ5”°çęËh¤Aőřř ě8„św`�ú´ ¸ă\üĆţ|`ۢ€‰ßxĐwÖa­ok•ŽŽA&ठęÚŠëɲ.čşŃ"ŚçŁ-«D4#Ą°siuč ­á¨ă28 S[g „ëë덆„ľ™»CuZ«ŰŕßM3ŔďÍ,cÚ•şă·Řß÷“Ĺ/‰ż1ű‰/}.ÎnB3ŁŮ9ö ó®ĐÍ{©jşŚ×‰=NméÇ`ř‘żŻ†ŚşűôŐD2Ç.ď;ŻÂCY‡ű«LŇŃqÉĆ5ÍšJ9mJ:żŤµâźRţLOr5ĆyÄ ďăř đÉhŻâ‰śĐ3 ÍŚŁ) 1y&äiîi©7d©Vß@™K)@«;ĺ}ó}O$~MNŃ׹ »*ľÜ­Ę¨!ĘĄć®U†wýŤŁÓ-Š«Úë� ·o{ýˇgőˇä;SpWĺ¨=8ÜEJ7Ď»!ÍCř>ÖĎFŢ&Č:ź\1ôĚ ĂC ĂrĹźóós&ýü‡˙đčőë×ô«_ýŠ?v~ůĺ&üü›óoč÷ż˙=}ţůçlDŃ,}Á`0 aÄ>ĄĂH;•#Viŕžj&A —z03’« î`<(Ň 2#«fđç<yň„‰?P¶D(ü ß âČOź>ĺpBčáYɉ/×<Ž=ţśűÉPžŃŘ á§ ®O§GôěôëËl†ay0x-ąî\-jz{UÓëłKzőę­.Ż(z0Ň*ţ5(ˇŹú†ş†: ŇÚáá!ŻĹşş őxAexfđ­†ý¨żPsýé§źxb‡Ä%ȵóĽCł`ů<14ŇşĽ˙§ţ lgčČiJ­D<ßßČ˙ÉëήğN9ßBńç>Ę;7ÄD˘§µ­aş-C˙ ď?1x˸çmÇ.oÓÎ11wI#ăń(Ľ§Ń¶eŠ–üłűNčle—ď!»m?ŔwIĆśÝ{XúŘ… }Ř”?ŁbÔľŤ:üJ×I^ŹţLű‹Űîßrś~KRćď<)OMĚB ýy!čČ·@ÉĦíÉy}‘ó·Ş®ĄpőĄý®ˇóáľp×äŤüÝŽ>˛ž”číŰŢŰC"ţlęWh»î*]7©Úl‹ü»A4HŻósßç7˛|?iŐ¤SîC~kääűĆ7 Fü1 Ů 0^``Ş?ţőŻÍl7`,Á~ "#,Ü$` Y:IP9ŰŹYĄŇ‰B'ťuVdĆő]8 Á`0><´†î‚]đLhw|śÁ •ÉdDÓT(K6RÔ5;މ«Uťä<a˛$Ś)!‚f6)PeÖ®d�Ć�, ´>k$Uµq}‹ľrźňĄ €ÉČŃÓG}óů(|÷Li6SťČiŢŹčrîéçsv|A—g5]Q¨kĆŚ˘1ŮmR­ÉŢeV˙I$8Ôi©űB^•WÇPü­2A±V×ŰkÇ„ÂÝ—VŔňß=şohL“÷ô]©…dšRQVP)4§Źďzýň'7´t @ýF—üwO¤{+ţě'7Äë(‘árŇŹĎěÜÖ †ýnÔ}ľŰŞ^ܦŻÇď^ů@„)KüŞąď#—šY3|=­ Ôl+â'˘-ü0ńďm¸%ő¨H.­śŹ*~ÔÇŹr1ţN+ěÖô^«LîMÝ }·%é'GŢG·\zż”˙m$ď“8¶ îzRîÍŞŹwM¬‚•Vh‘gw_µ¤]ößŢeţ˝ ô©hé>®–#çËŻ÷ I‡¤ečY‘ýúú¶ á!Á?a ąŹSlŁC rH<˙ú_˙k&ô ó5 >^ĽxÁ¤ °ďż˙ţ{&Á�ňí·ßŇżúW˙ŠăřĎ˙ů?ólh 0‹’Đ_|A˙ößţ[úÍo~Ó0öoË:7 Á`0|ŕ;E!ę! &`šrś‰ %˙餠ŁĂ1ĚĆLî!‰?s,ˇOşâY|+6¤”%f*<c !ŁŁ«ĺäA†ŔýZ¬Eb]f Á}Uüé]TdđĐ*DÖŻý´1-ééáúâhNʦs&­ÍWo ®ľĆ“PËUţ./V4).¨ô—Áv�3`¨ë‘HRł)P™Ć|WFŚVřC=E˝Ä·&WŚBÝ_Âť—§Fç Îjwuą |Vk>Ł^ĎŠ•z^&CaQRC“ĺă÷­V?Ţą…Ňą!'m´1nu<nĄżM Ç!DF ¶W‘@Ůç‚ăď™±ĽľÝ˝Ţš+ŔŽmßvuÄ7łčć ő6IXĆ`0Ľ#Üq !2¤÷3HşÎe®ľĽvěEŢ+ďşOëłý~mďć÷54]7|Řm&=o"+ dB«öń>ÄűĐ®ÁöÁľ}ü]ŇorÄZ\ÚĘÚđnѧ虓|´m)˙ĆĐ.˝~×6X–ňE7…ÁđˇŔ?ˇş“ŁÝ~É@2€Ab0 Ś(¸‘PčŚCŞ${°ý÷˙÷ěě믿ćAáźţ™ăQq<{öŚ×Á`0 9-6g»(ÜĂłˇŮ‚‡¤n ŠšÜ¤U:©*5»0Ŕ6úµL@?;çţ© č ±GfŁo rRp~#Ľ„ŕ  ôe0š“®uÚđéˇFĽi9§ŃŠǡnŽMüU"ĄˇVT˛{¬ë°ĚCm^Réf‘["Ć4cżov©®kşŽĘd‹ŃhĚ®DęşUëˇÇPĎĄţçńÉďĽţj—)2.ŠAŘWŽ˘>(ČůZQčăOĺ’ÖM;•AÜemŤgg+S’ëÓş±m ›‚óľnÚŞMł“5Éë.Ńk°Ą]°nDvJŃÇ7$¸DĆę¤ßÚ]Á°ÝÎÝA{Űv´1žóş¦Úç 8Ň nťD9ĺţ‘HµrZ¨s´{o襺 <›ľ¤{MĐńĘŐż3¨ym ÉG§°ë¬{a—Ĺż×Ó¬Ë9rMş“Ń/)x 7fś3¤o®•PôúSź«Yé§ÜµŠ‘a?čş)ßż2A—Yź2iÓwóm7ąŰű¸&Ý*Á)MͨÉ·ŐMĎŮ}ő‘ áľ`ÄÁ°éČČ 0:7‘GÜ}=yň„“ˇčóŐW_ń ó˙ď˙ťĎů»żű;Vú‡ř>ç€,ôĂ?p'đwżűź˙—żü…Ť(8ŽÎ< +Fü1 Á`0�ɡÔ(AúńiÖ'°Z´řĐźl%űŃŻ,Š88 ĺź«ë«fvďbľ —Ż^®ĂsŚçPMĐg5 śv†˘(›qH7|íSýw[S:•TW‹HÔąZŇĹůEřĆşlÜÉ®ő*’ÔŘŤFY4ÖCuK\) ¤^Bíi⏸łÓDˇĽ^ ˇ'—ě—0â2OoÜ‹%ňʏú2wÎ4 x°Ia]ń'*÷ô€şĆA”Ú-i›ś[ĄcÝ™Ř}Ś|[nŃŐË"Đ]a»xÝZ»˝+•Č`0|ş2Hß„»sŃŁU2ęHzAż6ú˛ÍZłđŽ%(OŠ[,č˙U”9×JÇҖˉ?í¶wä ‰uS«”ěR;âv®×jďä ˙öšť”_ŕ_^~Ă~áŰn*äŐhTĐńá!UuČ»˛PŞ…%“€Ţú\ĺÄIç§Ú‡Â˝Ł?#Ş”Č™!.–÷Í›ˇţĆ»ÎëµlµëDůžĐÄ,]żĄüDe´QňŞżë„Ś3HÜęyż !IA5ţ‹. Űţ±訛áÇ`0|`0âŹÁ`Dßdžt„ĂGÓgź}FőWEß|ó »ú:;;ăđPîK°?˙ůĎL‚KŻ7oŢđ AŹ=â0/.żp<÷·l0 Á`ř´!á5»âJ¤š0P· űŞ0r·ZŐ´ÁµÔ(ă€âhŚAţ2)Ź8WŐľä«‚ˇe5_ufŤbđѧIQńÁ &\'â LžőÂiR¤ =lł ‹UE?źĎiújI~ľŁf4*B˝®˘ŞÔ«·=9§7g‹Ńeś…*ŕ‰çÂŔô(ͤ])‚š<úH ČwI"Ëŕg Ő3ŕő@·KĎ…<PŤ2FĐŘň(wwŐX„”ѦăĂrUßî§~2NçÜ Š=›ĎkŘ¶ŞŤ$r>±Pp¤Źh:›2ákę̨ÖE Ş |'®kĐč›uí:÷K¤Ő'ödž:‘g—ë °E<Á°ůű)ľďâűUČ­zżîjĂ÷Mă-Ѥۺ2ń'˝[ąż Ą<ňiTl[Už+ŁáÜÓt đśNt]űî­S>]SX>BĆ~Qćë#Mh—·â4%.î ď•ŮhÖqr(;ZT×qěęsÔô!đ‚ńkÄ×.±u+ôĽl¤ŘnĐéŕĄdɤÉJý¬ß7ń"ďĺuIľDˇ1'%ôőŻ„ś­ËSŹéoşľ Ó'T‹ŽG+Gćń儥ü›I/rŹ:írľ(Č1^\µ‰ęä§­RËQ?/ŰľoRäňnŞEĐíž&Vç*Kr=�ç‚…řđ=ş€}šř#iĹ1ÄŤIâ’îŤJF‰Śă6´ ·$ýxn][M5/÷ĺic=×ů®×úŰß`0Śřc0ÖĐ׹›D,˙ţß˙{úëżţkî°AˇdwЉCg‹Ě•Áć†Ńť:„———lHAś'łŞEvŢ $Á`0  }Cô-çséW¶FŽÂŐQ٧$&ůŔÝWY,x űyĐ8|őŽ&u-,đűÇ1 ÷OĂ d¦z˘•|´‚†ôusIz PĐ7{×?Nlš°~>Żč˙ü|Aßź-Â÷ÎŰP?±ł÷=±Qoątt5źĐ|Aü»ňăhLKdJJ+0¸Ě¸_&BľÇä,w§•“Ń`ŕ* ţHćUĄ2ŘDâH4ic!ľÍLž‹¨ŮýX$âŐÉ`SĄg¦áÂą•ď(a}ßvšüâo“áE~µSµʱU,149%‚LhďŕNî`ęYI‹*f—Á`]ĄöMĹ':SŹđ‰DÔ´_Ô’ľřŞ>m¸D Ú±|݆<ôíeÖT+š-GʨDÁp'Ŕű ç�Ć:µ±űEýQ«CÂđŤő&tõí_­獡ť"Ů×™‡ţĂŐ•§ëĐ˙…ˇ÷ǧG4 ý]ڧ"ܨ,šwv5ĚUT·<®„>4ĆlůľNŽůŢ0™SŚţ\ó2Ü'ÖM‚ZBĐd4¦§ŹNiŢ/Ó]‚Ś{Jů4Ohâ=0BFcČ«Slĺ!‡ !K&Pö©\$\îRIq s_ż~ÍĺĎ#YFęµ&Ü ĄG”Tq®¤MHH&ôЫ䄠ŁÓ¨ű‚Bč‘xkĄâ*j«Xä|WîRéCü.C^˘N  ŔsüCůćů% ;�ęňöüţé§ź¸~śžžr8Ä ]@<ŇÎ i ĺňĂ5eŇ6ę€0Ěۨq‡”%ß8†ý'''Í75—h3Š,Ýď ş]íü{^OŕÉ×ú¸}ß †‡#ţ †5äťč(I?c•| ţËů/éoţćošŹ[tâ°.żD˝ÄčءÓ…é˘ó ÄŹtŕö qKçOw¬ Á`0 ź&š™‚<Ľę"Ôŕ9MZ­ŤçOg?*Y ŤĘi Tf5ň ¦¬Ő@761Ŕ)3"±``šÝ…ßb°´B&‹[1=3Üú·ź&«š^^„ş{ŐɇzâÇa‘ńˇbƿǷŚR“Ză”ăYó<c=|[ˇţr˝ Ç„řz™»ŐŇł«Ĺ$F™%,őłŹÄ&ű‹“9–$ÜŮď\Ý‚4ŰŽVU|Ĺř#†ŹBń§wźSën¸ŹyŘž¸r×("Ď3`CpŮ).©CńŠIe4¸abÍ2Ö‹eĺŮÝ›Dźë-Ä8ý†űôťMßIhgŇĎMŕ´¸ö·^wCÉĺŤüc06ŁQŹTŞŤBŚÁ‚…¸Ł\H ăDźăś2ÁQÜf wHµmrěw !F?­Ş†ôEe?Čąs¤ë'Żů÷dú˛etm{ÉîAˇ°1b•ËQ9 ďŕ» …˛ ĆWń>�9h®,ëŠßb ďäSzOČű[î§J†űńh̤Ňq¸«p|„<HÄxvż„ ťˇhcÍ}ˇÝqé'ĺgv]“…<ő;LsŇźjDŚ”Mó'Ç»3ćKZ´U�ůО@ÝD”ş%ä ­Ę"q…ňCąă<M Ň…vѤ r5+Qv‘ôé4 E&ţćĘ<}ĎśŽ[÷Y%<ĐwúşZuë}á}][ç;Ú+MěŇD!ě�#¤*Ăy˘ú˛öA&ĽČw…VE\,Ňf!N¬âB—&‡ mŚvp‰>hŻŠ’2 MÔa·ţL§5“ÝpźĐő=Č®ĄËűćqlż¸xbőćq,ßv-ű3ľU3ňŹÁ`x€0âŹÁ`X|Ľ˛lębPî»đዎ]>  rĎßţíßŇ?ü@ß}÷]š•=gBĎŻ~ő+&!Ž—/_ňqů ~úô)ýö·żĄöĎţHÚŹÁ`0 AĐD|ďŔq»áł‰»í¶+ j2ĺ:q_€OôiSPňł®±ýaôeĄo*FĚÖ.–$-’ž|@Ő ·Śc‹ˇd<‡Áň‚ @R‡Ĺh#3üíB?lT†ůť+óhâ~Ăh¤ëp®f%áä¨cÉ3ô)×}}ëýßą"mă;»HĺwÇŕ•ţ6ÔĹ=ŠuD\Žą~,KŞˇ¸şŤÁŃ>vÖ¶~xßŐňĂ®BÖ·µ §ç”aýÍé1 †MB6«Ö¨÷¦¬1)ń˙ńéçźćwT0Ä`.çÉř¨î‹jUŚqŠj‰%DőDH~Ťč)¤,Ţä’†]ň,/ĂrĹdžU5˘Ë« 6T㽌}P śˇO®‡ý‹ĺ",ËŘ–:ÇďaéűW—WWŹNNČÍşůw˘óĹy¸—üč"ÂýÁ¨_‹đ.)�—Ł0šOÂ6ň�÷Ź{>>yÔ(x‚NŰîwÉ:iW¤»"*ÖµQäo„‚V4‚* üŤK!•×lÄw$˙Ď:»Čćôíúęëé~”ďy÷ËD|[4}ÁDäŃ®ő‚Ëář¸ă¶Iúz8Ž}⢠ĺ†ă} PÚ€ô#sR9ę8ę`şŻ(Äo!i ‰[Hu˘Dë .™|,“0¤ż*yˇŻßqI÷`(­»Üžü"yŚĽ—‰×�ę ňĎ"ňI<RŇO‡"Tź´—Ú„ńË„”·ʤĄ­ŃuX×Ov?ÇĎ\Á}ÔőÍa_ ‹6/Ňô:÷ëŐş.úş…šř3”i1Öj«uř>Y…oŞB >ŻÎÚ´mř΂ڪcá˘yŽ]úDţYWÚÖ§5 w #ţ †5č‹tňŕâëź˙óÎqxňN):éż˙ýďůŘ÷ßĎť@~ľüňK^DńGçčŚBâÇľýö[Žżý¶ÎŽÁ`0 Ă'™ˇ]a€-S\TŃB­ŤĺlnëaAČ{ţôE_3ľ“ń9ťÁ~&RP’÷. 6ž—eěĂő1«Fś/N řĹKĂ$¨­Q“,"ÚËâ~«óĘů:ö˝ŚRO›™ôěję>Ť1)ÔKóZÂłęOs~šĄNÔQ™ňPŐI޵¸ůâo©şynŕ‚‹Ş«P/Ó ÉdźHŚórNť»c&5ÚĘr—Ž%ąŽń!5…2TŐl@¨ůžşźŹ{2Ov‚äwÎQölúNřö$1�řD,t*Ľr¸•‘Yşńşµô oo@>9OĹł`É(ĘčćëŕpFO?{DłM@"zęÁµµ|<›Ę žŔ –b•;«]•ÚF•Z}«‰ÔŢłë˝×üő­Đ‚sťxóöQ»2kř©ş]U)#k› Ă&Č{+źh¨UUDÍGÔ*t´=B´ĐŞ$eRXCĽXËűPrŽVS馋˙¶ŰÍ/ô3ËDŘť4Gʤľ‚&)íŁĐîO@fźM©X•ěj« FxVTo/Ň™X™]‘„5Ř8•ňgł¦­%EAĽŘX_FA…ŕţ }!ČwóyzđËHY¨&­čÉô‡ösőWĂĘ5Î([5ź´9+=ťŽCyŚ˘á}úäL-ŘÉCň>őY94;÷€V˝ń^Th’6ňWČÜRď´‚ŹD…EgBÂä¸yÄ…®íśř#@Y÷)ôČdt´*«ľž Ďu—<ŹBL—:*J?ąe_^ ąý}aWŇŃ>$ĄĽ y/D=ä……h%ű´ňäl7€ÎCY4Ń e&$F!MŠR„"™Ž/OżÔE™<S˛˘SÉmĘ ęfˇ}X,+Z±Ëŕ&·Ró•ľÂŞ*âşE÷áÜ”»hÁĆ.<?éy™Śâ·>nŐ§tkâ“Ózę}«bĹ©"í*lhÂUN*íą5Á`Ř Fü1 kÎą| Ŕ:hźţ9wÖ0ű%'ˇÓřÍ7ßpX¨÷ ™M RüÇř 7aXĐĹ6ΡĽso0 Á`řá[bfćąâšÜhŢzęÎěhß0ă»fučŰz ŠĆF&ć,é:x–<ë±nfĎ ‘ˇ`ĹŚIRAÁ,ďŠÎ/ÎŮŔ±˝Âaćä<’…śš%śŇ̆ _aBc˛&Ä[rë&í­ó‚Üç=”óůÔíÎ}ß�žn"ř5b†ę]Ť¸G)¶–Č#ˇŁ« ×ŮĄÁŽ0< 40ś-ăŚÝƬ䮮Šőxą*SÚuę«P`®dđÚ #‘=j™˝Ú˝kü]ťŻjł Ô^Ă»¦\ť† éĎ?âsXČ5śn˛\ş·ňör‰ćZZ•‹şÉhĘË9߉Ă;m˘TD×’bś’§‰çŻ“}âwnżWíSŻkârmĉˇä»DrÝái*'Á1ÓéłcúͦÓÇÇôňĺýô}08‡¶ěÍ*ş[đÁ Ťˇ-¤eq7âl…•Ü24]•0u˘a ZŞ7úyŽMCŃkm‘¶QeQLoßěl§É?mýK\ĄćZŽv7š FţîÁ¸%&#b\ &)Bń\ȹV9ĆIŃoÄ"D Q#FN^Âáý}xtČ®q*Ą.YşVŐŹ÷•.‘Őcw:žt~„,Űě4ŤŐiÇ8­\Ł–űF \¦÷E˘o™Ţ /J-‚š ú zóöŚ^ĽxA——ńgÎ=ď=pńçÉń„Ć_žĐáéaC>@î΢ ˘řťá…¨pÇÄ!´ä„—>Čx8úoąÂ>âŔx<ŽIýB>‹OwňAŐ5°ĺ‚qwéJ]”4‰’Ő9 ˘INŠÓdŘ r‡¤čSć‘ă:~·Rt˙M§[ԶާâĎ»¸v^ŹdBµ”łVE’:BÖBü‘6AČ]‡ş!Ţ„¸%í–&\i×r�®)„2 ‹:&éČŰ6)?Žg<I¤ź¶ôµµ7o/čň:|묤˝E޶ßG5&0°Hä9÷ZŐ•äk§˙-?ťžŃW_}îăĆ#|ĄŐM]”Eßżëňö[Čôű~ĘHyHů4ů·Ĺw§Á`0Ü#ţ †5čĎâ :vřđít± ł§?‚ĺĂĎőWĹżA úÍo~Ó0˝µ˝)ţ Á`0˘mJ$‘˘ …u3 *Cí“ňIFú‰â-‰ˇ(1ĉ wŇ@[CüQĚ�mg“V~•ýŠlťĐËŚÁ8�ŢŢůl�ďťőy3Cý;?˙“C>X‹z7Ýă|ŔNŢuŐ¸ÁZńµkŐŞl$÷8 ś»Ů Ze¨ÂéVűeÝXü»ľnęmźQ¦Íc!Ą8§«y:&)Mré0‰±-Qą:†<!”ĂÚřť<´kăâ˛e’[#ÉČ(ýŚ&.ŘđüůOéń“#zô8eŠđmăŘEM7‰®h®ńŻ‚*ľ\4ć6%Ę; ˙ČLý2ń}”Ô;Ĺ­riŰe÷Ńć‡N{l3ó<K!˝Oi‘:ä’YGČN‰Hä4‘K–NćÁ`0l ŚM>}ú”ű|»…‹›”Dt[ ;% 'Il…ň÷†´o“î=»ý‡?ŐQ‡ŠMôá>ř )á´¸eˇ”ţ–ţ "oŃą‹âé\÷ ţ‹| ýj¸«›0|€˘*bŐśŢűőYę4 výw¸ Y2~UĂŕ_°ë_N0÷k<Ä•°ś¶îę‹öĆMăŰZÁE‡×çčńvMtâÇMßZeŘ–tSšĄß)$˘MD˛]ˇ]Őęď¬F…%ŮňăďďâÚůähÉ÷")€ĺĹ`Čš>őjžÜúm[?wŮ;»nÍSK�[rľu–B㉠¨Ď&ÔKë† .Äź.iżý~ę˘B[Y„ö`6㉠#ÎCţxaE0r)Fh•äů\˙ć§4Ńš}›ĐŰçíyŢ%-ôëµÁ`řđaÄÁpď@'nżţÝżűwĽ fµ|thČM3 Á`0 ź˘q<¶Ő�ĄW˙ÚpůüÜVýN &ę~' N©\6î“Ň Âz?Î9őÜŘŁÓˇńô`m> hdwĂv5]ĚçßO‚|¶m4@®Ň¬Ůý꜎o×ó›đn`˙'�·FTÉۉÖ’‡“}5)ËŞ"ýĉ:pźŤÖżţőŻéËŻžqŤŰ+@šţ愼ĄďľűŽŢĽ~K«`XA”±~¸¬= †9\Ѥä±Ć:ŠŚřSôXKŠdĺ\›4DüIk—ňakm÷ÍF*Źcx2 †ˇßC˘pŁQ¶uѤăĽüşŢ:úHŚqżË9¶=IňŠwşF…ě9Ó]9źÚÔôŰëV׹uoFÖ‰çD€đ: yűčřęĎ>ŁăŁcÍĄř^Qó~ą‘řÓ%ń/żF«oŽO'cV%šŻj… .jۡ µ„[ˇ*ě/GśÎÜ Ű@+B A+ŮÜÔ7Eů­ĎôĹ! 1úĽŰâ®Ćě7Ýł|{És™_S`Ţöqď´+4ÉŰk µC}¸Źú1Ýq3$oęôŁ““fx…�é+}{Ż|§ýč'ţ´Űë´p(‘Öttx@ÓQhß1Č'. ĹÄ4Ę`E«j&űÖwQíŰxďYß~h»s™ÂĄÁ`¸ Śřc0îčŔ@ č÷ż˙=˙Ć ů¨ŃČú· Á`0 ˘ŕŮÇatľÝďÖt´[™†ř“ Ěš€Ăs«Ůem=ş-ńaÜc¤źŹţ–Çw¸Jú“}nŞGľťŤÚDvĎđť_ٶ§”hűjŹ2ÁĐĚá®A‡uÝßkńw'î6\(G”›$úl|b¶řDś¦‹´o帤é,VŃ_Ăęń!˝zů:NćQąw|@Źž>bw1×ő%Ďvľx}Ĺî_`ě„˝İV9 ĆŤQlCů" •qMÉpˇ,ϮɢžRN m­BRL~AŽ†ÔŽ?<›;źkß^SŇÔ!Hą.qŠgn“Á`0ôŁď˝©]Ý»Î;¬NÚŰĽ_Ýa›€úő&?üĆM˘ĺ˘Q0bĚfä=b÷C3=q”«S×í3¬˝¦ťNśNk˙{› ëaÁg·ĄĽřnA.¦î‰ě°-ylh2Á&ěňˇ‰ ÷…}Ćđeěżď^´şŹ|ĂÉłĄ' Ź2·Qďď‚řłĎýírťwQ?6exÚ†ńhB‹\ńÉUĆt ăşĎżë´]"Đz‹cŹGÜ÷]­–‘¸ăE©WČîm·Lä=ý,·ä}J]ăÝňZ˙î(|6¶0ëĹ †ŰĂ?áN1ÄŔ{\| SzS‡Ç`0 ÁđiCdÜă@ugä:Ꙭű–) ¨µĽ7&–÷Đç|_ }ďu(}·M÷ŢĘ1™áÉ­Ď7oŽű}ëŮ]×Ď>b˧?Ľ¸m?ąy3ËCyľ\ÇRŞNńéNmcX·0 $ŇK‡TFő&ł`X=ŃÉŁ)»GüĂ?~GŻ_˝á 7_|ůŚ~űĎéčË)}Vś’CG0z.ŻćÁ L$멣‚ŹO–ŢÚĂŔQ+Ăo‘µźĘčÂň­ç[2ęµŢvíe&sNś˘DÜń$†\VźđNq©ôoę7•»îűŔ`04r×*÷}Ťˇë|*cźfŇúőôî?ř†X.L Ţőu˘¤wéh4aŐĽâžĘ!÷ľ)ě6ĐęRzűCĂĐ3¨]P&Ô.Îô9"ńgßkě˘řóˇA‡Fă Më˘!úÄ'ą‡V}suCt€\Ďqź\y_]­hTéÜ7ýOQâĄQýáĽďd”aŹzĐg?c’¨·~’ßká®`ÄÁpçč뼠3.’¤Űžg0 Á`ř´Ń |9ÝWô7v{ ,7ČnßĹ@®ő±ď9ic3‰ŁKnx_řÔI?ůvNč"ýő—oČąž8¨U˝i6»î�Űx\4"0˱5UđŮIŮĆ ů§ ćzăÉNOŹéřř€U~Ţľą ďż{N?˙ôŠNNN8Üż~BĎźŇÓŻsz®ą¦ë·×Áđ±äíjڱUšyĎFŹ"’oÄČÚĺ\v,±qŰSÇßĘߪh‰<”âöŇ6uó&'ň4s˝E凨1˛ä$(Á`ŘUŁ‹Ă÷ŐŰ&^&¦$ײŔ6ßm I·ŃhŠ ÝdűnéÓůC)»Ä ¦m6މŠŮ\»v]łz6úŰlS÷㽂×[‡4í:§ĹĐCF}ęŢ˙ô‰´ŞŻ•Ĺ墑żŞWÍ[µ(ŤGc~A]ÄßÔOľ‹*˛á»ĺ®Čůď‹r—ßúDíGÜŰęë‰üá!#ë°ą®šS‹Ľ'ž=ÝYű•×<Ő3ŐtóÎőCw7<÷K&Ř€÷^8ŻŽ¶Ťđ—kWhµëď¦ďSŞť»“g�ď&ĽVŐŠjoőÚ`0ÜFü1 Á`0 ĂĂ…÷ _!źŰ•î6Ü„Źu6«áÓEtuUł;­ÜÍuÜn !âşĘ{×’ŮGÚŔÂugĎf3úňËŻčää~úé'úáűôň—_čěě‚ Çczůň)ť<> 'OžĐ¤žŇ›:Ł‹—W‰hSĐÜ/SńĆeĆ×űSmßŔľB5sٍn3â©}Ý{µT«ÜĚÜĆcí‡Á`ŘQ~Ńę URW¸oôő5qáúúz»ľb§VÄTĽÂĎŇSGĂižŚw.3*JšŽĆ4†ÚJr9ă;¤ś‡…ë<i˛›Íă;¬łŻ ÝqÍă|TŤë÷‡‰?>ťÓ áłmťŢÚł˝{żˇĚń>®jZŐ®y§6§ŻUwgß Cĺ{—Şśďă=xźŞY}Äyn…Č÷ľż±¬ď±-\ĎfźNçlťť˛NËďŁé8#ő°NAý§VDÚ‹J8ĺέ‘zt?^î¨Ó‹Đo_.–±Ţ[µ2 ·€ Á`0 ÁđpáŠ.ů‡ŤŕFĂ”‘<n÷ üyÚh§ľKܤňó.¬mPú>°CžşýÉk7P*¶‹c Ú}Ô­čňţk`׸ŘÝO´_ ;Ťő–T2JĆüŤ®n"ţPCřńÍoţWDY°Y—eTŐ=<< ŁŁVfxńâ%ýđĂOt~qE׋E0jÖôňő[úńÇ_čäô„N}Nłc:<>Ű3O‰&G—Á챸‚"B0¤…KŽśgUúŇ-Jiúto˛3ŰĽěΊnŰ`§îŘĺmµĘaErŞI'ęQQp´ţÔXűg0|Ęe,âÂbÁľŞ!l¨ m-âA{ ,}*čCďX9¶® ćó9ďŹÇѭѨě(`Ę»Ĺ%â,ă 'SüÁ]Bá˘ň‘0Q'—7ČŹÉdBn<ˇ:ĽK*ßśŢ%ţ„ßż›D;G?mŹäTUÍů‚řEťé/ ´Ö9mhwu]n·×P¸ůQoČďśÔä|űŇĐô"(ýÔ$oľýŤűXΗk÷±Żk)©‡RßçKOťą RwĹ~ëřöMź¸ŐÂibLŁű3ęűĆ5Qß‘qăĹ®–zň»ďyÉ!Ďç]•ßú”—$Q޸6HÚűćŁ.kÜĎ]ćń áđŕŕŕVĺŚřpŻ@ú×»ÖkÝ^!} j"nÄW"}E·ý†—+?ÜF!ľÉxÔ¸ý“{ŕ˛Üâ} e<ż^püwńśHyđ3P™âŹÁ`¸Śřc0 Á`0 †ÇĆěVŰ{Ó�ď6Çôčěw7†ámÉű đ˛ęëŐ'3ßPÇ’±n€¨ŕ(?ÖsA·łČďByőŘgKç»kSľůíľąÇ®CţaL­ V-ąĆ'×* ׆-8·fă%¶1Wą,‚d:¦ŁăC: Kí :;_Ň‹źĎčĺ«sZ«m]”´×ysvEúÓ OŽéŃÉ7t4Ó쨤'źOásL×o z[]Óe J°587Ť†/Ú E",%ĂqŘ_+Cu0ѵn±vŠř“ö5YMÉnCľeţ8ávޙԉPÔ„š\ĘI=Ş]—¬$çĹË[j0|Ş€öňň’&Sv#·ě‡±ë}�Ł4ś||Ěä™>üMďâ!ĺ–‹‹ ^˙ŁGŹh:›†ĄŤß{–ZŢ\ńÇQ·»‰;D‹Ő’ŤËbd††k&E¸Ű“"đ.yőęÇŤ´"ż‘ďĺtB·â{ńâE0ŕŻ8ľĂĂĂ[ n‚ÜÇbľčÜňj ®˝yó¦CŽ8==mÜVí P?P‘7¨Pö“ú˝+PϤÎáyA}řüóĎ7ćď]ö3›ň…ZáHÍGĽěKÔŃőyŚ8ů9Úłü†çÎĎĎéőëל_~ů%·yŘm LČćűA~|őŐWś7űäżVßóçĎ9ľoľů&ş‡ÝBLB˝ůńÇy҇ĽFÜűÖÔëďż˙žăţâ‹/čm“uö‹ďšăű‘y=ďôâÓ¤»–8®Ë¤Ż|pĘř§?s÷ńݶB™ m¸şŽď”w5AÉ`0|ś0âŹÁ`0 Á`0ŘČÍ˝ERż (áe‡_ۆ+Žs‚\ â†YĆ›pÓŕŕ]ŕ.âÝ7ގón›¦űŠ÷~ g^¦)ő I$®\ç8uÂűę“:6Ťđúý?ŰbSž x…ÓĘťĺA/zH@9p«8\ö;ŹŔőÇťTjňĽuĘV«CŕSZĂ2ü€jÂÁÁ„>˙ěi0¬śăČ<Ď‚éś..çěÄВŤ%W׋`H{ ¤żĐW_ľ¦ĎźăôtÄ®żXýbÂCĘUAe Ă´Ź.şHńQÝA€jč5ĂpM”¶}úťĘŢa»NµŢłaş!ň¨űhÔ~śk9.]Ăg™ć’Ě+Zu\0čl^ßŘąP ĂG ô)aśA@‰í}pžĽăwIüő, a̦3šNŮ„‰mlLŻ«/'ÁUWŘ·(1Oj('’–¦TÔ4@C&~”a©];Cµâ!î°Ż®Âűd•T~Bţ”ŤˇV”ZzI0“]פßúŰíđ–˘Ő"ިԇuŘqpM6nnvý-ě†_nťJŞónQ,Ą!źÍMĐ.˘öř�QéŮ—0 „5Q5«}ăe‰OľĂŢńq‰Ş žŁm®ż 8W«î�Ű–ß¶şQ]E0QcĘÝFmCüÁ9RÖBbß>ôyEŇt[E"‰OŇĚ e›?®S5/t=żfĺ-äĐh<bŐWöÇ7DÁo˘s5-B|u~ˇ=ÂR–‰X†vÔÇöH—Ë Z[ř·ŕűuÍýŢŇ.X·Ő`0ÜŚřc0 Á`0 †đ-Šě’Ö?ÄD‰Côŕcg‚ß–ÄźľAŔMűô˝čőű€n]?`U«‰vPüÉ‚rĽ/âOź{‚ľ0ą+Č×îRÄU„ůwUÝŞ\7ąIyčŮTDťĆČ ‘í=‰BM2Aş¨vÂ˙`ÉuEláî †T(|ýő×4žLéűď˘~|Îł·Ł{ŽQc‚ű®‹ó úĺ—_xćté?Ł'ÓŤÂů‰ Ś]? }#^#.´śErC✸Ű*qG±Ü˝'M«Y(ş «S d¦–¸ă|CŢbvH‡ëąV!©öQą§Ł¤ŰqjŰÖµŽ †űÚC´™X´$qýłoß mâD[ µ (zôą&Ú‡ř ]Ç?–ř’hęÂ:Ąřł‘¸CLÚńś[Ű”ÎIȨˇĚÂRl$EŇŹW–ůÚµ®ľ|˘v!˝‹GǬLÇ.)CĽÇ‡3ľÇôѶ?ĺzŐűóŁZÖ!ž&r<:|D''t8; Ćű.ń§űfĄ L�˘M]/ÜčŁGsšN˘ňĺ}“bŚô‰€¦żäb=€˘‡Ô‰o_…Q B|R—׾ń qAę+â»MúvP±AţB-żqý>BĹ6Ď,Ę�q)Oîĺ.úŇ!nůP6(oiň|܆ô }Aś¸iDíjß¶K\}‰ ŃmËY\}‰jâ˝Q‘¨÷P›łyx>Žą˙wµÇ'Ç2h(kq艫ş ľ‚‡öéQ{Tş¦=Ĺ…ô$ˇ|BŢ,ËP1ĎPűä_^ţ(‡Ëy¨3ç ­™»/Á°?Śřc0 Á`0 †‰HürEÜ®o ţčßj_9rÁ¨ňv–#d1ĂżyđłZ53¦ăů1‚*ZRKxĐD q{Łf€çń˝OâĎ>ř°I?w—¶„mOü‰F®ŻűާZJÝą®EDfŇwłĆw¦ÄşDÉ—x^k€ęŰź×Ő>2P^—ő˘g,kŇŹ,0,T ěçIĺžŕčf‹ßíâÎË‚ %2Ś®7Šđ#Ä–´‚=˘Qú ËdTŇÁń„NÁÍ׌kŐbuAËú*ěS9; űF´ ĚĽ^ĂÄją˘łł zţă §Ňgż ŮŠÎß^ҨxK“Ů[:q\—×Ápł˘zUв¨háĹőW0.ɵ ÜząqXÄ5I÷Q‘:Á¸n¬ŞŁňO…mĄᨹ˝ök“´¤ř#®ÄpţRžž"Ó¤ąNÉzşĂ"ţ°ÚnÁĐBÔ6Ř••"ĺ }†Qď-¸•Á;«Ź¸#¤ MĐ—U  š3ÔßÓۢ¨"ď`I_~]‰ř»qŞ6ŐąFńÇWń݋ִPŞܶşh G\HĂ$‘°€@ă<­+ŕČű=˝×a(GxWŕ}+ţ8ŞŕRr:á÷ňl2AއřáVÇŤq=öŞN˙;–WŮ«2Mh:ž˛ŇÖX&aź8©=<éÍÜžá�«ńŠI?xÇR”ԣ޸R>qż‡I¸®SoVŁo‹z‹Dňzµ-ÄE®‡…Ë0Ĺą/pŹ‹Ô‹ˇřz N·‡´ăúň<é4äŘć{Jň×—řn›?ۤCîd\SžďüşŰäűy#ů#ńuű™»AĘŘTŻw‰OÚ(ý{şĎk÷[ ?c‰/´'“é8>Ż .S Ë·őzÚ˝/ą}šNĆ‘ît|=iě!ţ`=ćú5âľë¦çdtůKÄr˝˝ËEÁđiĂ?Á`0 Á`xp™‚ꪠ«Ë`$™ě¬Ö0;ĄOĂ€ÜŘ5n0 ˛°Ă�üĹĹe0€,šëŠëqł ®2óT”Lp\ČAZíĆ”ŹA}âĂ%ţÜsŢ÷ş¦čh~•ľ˘1]‡ő˛7Ľg·Ic&OÄ#`¨Ť™H·3ĘP3čL áGŚ0éű¤žň µ2,J=­25žüwß,WMŇŰrM}\‰, __mÇüąĺEńÝEÔw:erëú#׋y­ ÁńRľ·ú8M\tQ§„ ¸y ;Ć!oʧ#zöŮ)=}z¬·—LZÍVtúů”>źśŁnI—«‚.®ćôöěŚ.ß\Ňüő"´ź5ýüâ5== ĺô킎¦K:˙Bnú#?'Wľ¦ëé5­ćÁ˝FÄůŠĺ"·>I§jŚ0.\ŰŤ‹ íáŐXłŰŻ‚VĹ4ş[…``ąt´răNîDľŹkÉQú‘őFÔ:şsI­â&«ĆŽëHčö„69güáæ÷‰ôĺÎB[ůÝwß±:ú‡ąÁýĹÇŹóZC“õţ&ňH¸¦Ľ›q˝ÓÓÓ5%’<Î<>qőĹ$Q ¨?ZŇĐoť$ňÝBŮiĹű|ľZ° ”=Ć“ý+mĽ-óÖĹM‚¨ĐíKy_hň)-BęŮtŰ’?îúÜ»��ÔáˇűÜnń|h˙‡6‰Âđp ií·Ś#ęmgőZÂŇŐĂNü ›“ áV0âŹÁ`0 Á`0„ĐPWŽ– OóëvŔMfS–É PgŠ;ÇxěxöđxIÓé„ŽŹŹňŹH¨c^âIuĚ�—ăârAfôiâ®#Ű0bČč0üP0D¸-9ăľâ}'Čg“»îÎ<ýáţxv@‡“¦ľĆŮí1\ĺ ZT%Í—5םĺî•ÚYĽ<“őšş¤ťyd¶¨,؇z,FL1¤ˇ®Â×PZ±JâÚ+[ ťň|Ľk4yŐěiGŇEqÇgBNÍ ţ. j®ł^Ë×–c2ÉÔ´ÄźP®péPŚč`]U<yö~őëŻééWOŘ­Ŕ"NË“1ŻQľ‹ÚŃ/çszńę-­Ę**ţśUT…6ôüě‚^żŞéí›k:íâńˇ§G!î㣚ŠëehżV´ k˝ z pţ*ÔĎĹŠy[QŃÇĐ.{!<ŽůXUEeę.Z>¬AüőiÉdťuřšq…|cřňDä*ÉÎüm˝ •Ŕťµ&7L ĂĂ…&gą«JĽ{ţůgş¸¸ §OźĆ¶4Ľ#ĺý·Cho5!(ŹSŢŇŹÁq\^^r<˘>‚×{őę_aá'Ź_âÔżówë—!ÄĺžÉxBłqTň9K®Ą·ĺ vb_"žßŞFw]MěęÝ„źËĐź˝ĽĽ˘«ů5+řA}ď[©´uŇŤ~xZ\Y¤·oűâ•3ŕjr>_pą(DEĆřPň)ʤŁŢËŽ]BŤ*FűľŹjsŤaJÎŇsíëN_ ý1\•TĘ"ËŐW ·Fz–0QĺgÉĺŠ~•\â7FÍ÷C*ß»pęĎÖ*”“4čužF©—CoľöXQ¬ł şůŇć÷P|č#\_Ço§>Ą,ęá¦pëůŇí«ĺἏy*Ď_«¬4¤’â~·é‹DřöYÖ“>†MmYČ2tí<ź…t¸âúŹrŹ'śţX®ŁŚ”+Gę¸%®} ů›Çô‡ó)ßk˱§cŰű»O§gVl¸. ĽUsYvĆö ý~\®–IíwÔÖńÄoŐ!Ń@ťtդljgXŁ.ŕYĆ1QňŃă ú†şĎÝ~®ą|^É7ul aKńÇ`0 Á`0 Î%÷a€Nde0TČ8BÄ× "±χzOIŁ0`‡5î0ĺĚVĆZf[c ^( 6"źKŞł‹°p-l‹Ë„ׯ_7$ íňčCĆ}©óÜWĽ)şŰQÓzëřóôŁî|ýőgôĹÓc&›ˇ~Á@ÄƦP—ËšŢ^®čĺë3úńÇC=ĽJ† Ť ˇ>Őđwäűë‘ä¤ŢŠ;qI!őőőŰĐ~űömăÚ¤/Ý}˛öű`ÓY·™ĺ ÍĘín»Öxŕ}Çčŕdűça�eřčř‡şăđ—żţ‚~÷˙ů-}ÖŘv“]ÔK&ţ ,_ľ˝ ?ţđ3Uîzóć 9´—P~Ş#Ůëő›ýĺϿЬ8¦oľů†žLAű"´«×‡ŃĐ ĹźëĐV±~®ŞQ¨//íě™×‹1Żă¶ ÇĆĽŽ†¬î¶,˘+ü¬»AkĎŃĆmďűLĘÁ°=Ä ,îdźFT~Ľŕ>”}¤?‡wĄ¨Ř}ńĹťţź¨IłĎu&Twţüç?ó»í5úť  Ńm4€¶÷É“'üŽÖČŰĂĽ? µĘżüů/tâÇąűł'Oů>ßśźÓ2Ä[Ł˘8‚»ŞI|»ŐUťş Đ”L˘ˇD¸)´ :­Ë˝ ńAńgv0 ýŤź[{ßŘ©őľ†ËČđ.©–ÁňT˛łGbNµ–ďŇoŹŠ„‘Č�BI]_ÓjTŃ,–ůţW5wÇŘőVHúöěZ,ĺŢ5ËTΛË/+O ©jľ\tĘ ®01!ŕiČ7Ü›V”r‰ô%„hˇ‰<8Ň?ĘúÍ›×LčÂľÓÓÇ!ŢHü‘ëáw<G9$Ţ–d#Ä–6g]"F A*Ökפ1¦ý=ß|/ĺ7d€¸¨ë–‡oŇL]J|p ŠşŤôM&ÓT/úÂÁ•^śŃ ·NŃyŇ€"M­H›łZ3¸(f•ĺ4»˛Ű°Č5}gÉϢ“d"ęĚłgĎ”×q±űŕŁAÇ‹˘dďýĶdşWŻ^ó˝=~ü„űî ˇśĹEX›/‰¸ÖE$ëéÉ.ÝĽěď'k´íÉzľäqĹguĹyŽôˇ˝)ŠĽĽuýIJřmśŇnˇ€ë?EţŃ}ľšÉć‘pľí Ú |Ë7áëŘżD{PŽJn7.C›ŕ{«Ŕ7«¨¦áZ‰řW­B;âlVľ˝2ę4ľÇp=´Ů Kî MČPBţ«ŞÝ|öÉ`0n#ţ Á`0 áa@Ydöd«“ęC(,KĎJ>Óifă,O •­V#&U``»N†é¬¤Ń¸lŚ?ąqYĐe€U~ ąáÄE’6ĽČ`+ö‹ű/íbéă˘÷;îß>ŢľěigžîÓ˝ŹĆşrxx@ź}ö»ĚŔŔ÷őő Ł«1řIšÚD»s4+čô¸ †żZĂĐÄŐÓăĹ’Xáçú2Ôĺ )U4¦ńŮ2pî…hIĆY| Żęh ‘µ+ŞÖ˝‡‹F:çŰÁt‰«%Č´Ď_{ńú.MłŤQkŠ b�i ĂƢNîú»uUŤjаDÉ`ç»3ă}óâlŕưç›0ńÔtßňבš5ŹË\âÖČŃÎ Žů˛~2Áş,BąŹĹĄ‰Sł™ăď)Śs“Đ®Ě&třř„‚ńŘű2Ô—`ňó°Íp<o}0˛UhŹÂ2^Ăh¨[eXŠơ°,kş<_ŃwĎŻččpJź} eGł02ęÜá#Xç`᥆R®?!®7“E¸—eĹ3©‹EŘlcŁE4°b=žĂR%c0¶VpAćŮ ŮÁ˛¤éň‚U­8Ďą)/xÝÔ]Nź´©¨źPŠeÍ,%-Ó¬úăđÜLÂ}Ž+8Ĺ W1¸Ë’…#G]«uŠhó|›:ÔWVR=ňýáÁCún}ĆpQu€†~tđŢÄ»]T@oŤđëE˝?żnKčh‰ABGĽř #źâaWY¦?~y·EŹ$ŢA`Oďů*©eu˘şÖľí@(B‹Żű{w8—Ý|…<)Bf˛ŞAĄßHí™ô^%µť¨9ÄJ‡)Ľâ#é'ű‹˘NÄ–B•Y\ ç›{ŤÝˇ¨ř5O˘–,°be™k&R1éń‡ţVňC/sě«V-q+ĽóŞŐÓ8|Oężë4D¸¶@Ô¨'‚ěWq?ýôH@éÇűÓ&޶ uNµĘ6B䡤ʣݰĆô”…gZe¤¶~Q§˙9Ô§’<úľSrĹą÷ś|‚qX#_EM2'¦ˇľ€dŽp¸®vߦ]϶××}zM˘ńk÷|™×@\ fÔő$ ç;ńIžéňĐ>Xi¶Ž śBôČ]üĺ.ve.áű’t= HKBŔq×lIpÝgˇÍß»H8!9"_¤í’ 29ňz“§[bB¤CŠ »>%¤ü;¨/>ě‹ewĹžŁŁĂřÜI™šŹWżŁâdČ{Rä4´E ]ĹşŤxKVđ u­µ}÷Tž„¬SEŇ*:×Ä=˘~#ťâć»ďąŞŐ󷉀%ů(χ( Ë3ŘmobŰhôÁp[ńÇ`0 Á`0 �ľů ­ä˝+0(ZĄAV ˇŇSó2ťA‘'ÎöĂ'ní'a€r‘*Wa? I|ąä5¤ř„‘m đĹÁײ™i)á1h- =€§Ă#mő`}>hű~ŕłőmâ¸+ô›Ěµë‚íŕwŠż{Îv…gĎžŇßý˙ŽÉ?/_ţBß˙=ýáŕYűŃE@E9Ĺ€ëp5§jţ‚çŻčrڇ3Ě/Ă`ut·¬&t˝z­W4Ş.iâC\~Ćä‡ vŞČ‘hís]jĎä_ˇ.Â5fA‡´ŚÓŔ|ăRAÍJĆÉl¬Z.řĽ"škß*¬č;áaötm ¨Ç™â-™®Nňű0\ô?ž‘čö®-‹]]ąíOžÓY'‘Q‡)ŐX'("iÄë0l.hI?Í?m¬Ă„÷)$,xžÉ>¹ҪB®!Ĺ8ˇ4đäń“`śI3Ę]cŮd€Čxq}IęĚÉř˝]Ä?ü‘ę˙găĐţśŇ†¸(X¬čňbNó_^“{yMŁ‹ŠFËpgu,/(÷üđË”ĆÁŘňřçcŞgŹĂąahpzA‹"´w傊é’ID\§}0ôžŘ>ľ×ĆŽ…jLăPG'ő‚Fő•nŤ@PzX\Ňb~]!^„€gˇŽ…Ş�#¬_„¨®JD› JŕŤh*ňŞF†ĘĐ,<‘Lą ëk7ŁUr÷hů9=Z<Łĺ “~¦˛lDMĂs‰sĽřşáĚMŃoYź\omJeg„áCC®2–+÷€4đ×ý×Ü扑ďzqő%†}­×gţÎBĽőWը/\k!Łŕw®öłMü‡‡ôí·ßrüL@€A>‘>˙üóF˘QwÉëđ˝ý/M(€k1¤é…q=ťE}č#G•"čH^ňű,s­T4Ę6Ýô6y“]qŔđŹ…űď裴ďŠ&LťÜ1égU‘¸/Bx,Ą"¤ôŻtZŘĄÚŮ“~ţËů/Ü/ÄľŻľúŠ—ˇ2Ôĺ¨'Č}Ë>MĐęŽfl0ç>ß%8ďő~řţëýŻLęÁs‚ş«cÁ‹/čď˙ţď™$ĺ ‡k Ń.O__šócrďšL' Oú{LâĐîgEŮeňęŤń„är‘껆7~! Ą[_WHWr]¤7Ş€®řúrx¶rE¦<>!ää$FěĂ7íË—/ůü/żürř“ź'éK`yN%ĎEĺ6'nÉ7µüÎă“k!źQ‡đ�űí7t2:iŹgÄź¨IP…+:„"(—á:Wáu‘źßđŤ‚¶šŐđÝ®"¬ŞUVÇ|r+XŻÝ‡˛đ}Źřäűżs/‰¬®ÓŰ÷Ý"e".�‘şţ7mSj—ęč[— á60âŹÁ`0 Á`0Ţ/ôäăÎ(<Ďt-’ÚfC¨öKV†¨=Ś˝Im'…/J d‚4g÷‰Ü>Ř0+Ř€ĚFĹ>1<Č ź äÉěKMü‘Ázq&ť2ř™Ôľ?ôĺîgżó´ďBĘŮ'Ü.ůĂĐŻ~ő-ýö·ż ĚočÉ“SVďA]Á,o!“‰RK3[-iŻÇ`čĚůiŐ%UËhôş^‚řł˘ůe8gyĹ„ !“xO '“ˇĂ[ń<Hě|ę)ަľć*ú·Ě¦Ő‹V�J·ÓüŽĎAÉ©ó€6ŽŠJfň©_ĺ´»†Ž[˛M–îý·źéÇSg6®SdňÚŘá+˛K8Ź\$BÁ`Á.Gíěm§ÔІ Ď`¨hę#Ňäꦀ«zEסŤ|0hMF´ç<˙ţ9˝~ÝиpîěäĆłh,9Ĺ/=]ž_Ňĺ«·T],¨^„kÖŽgWW˂ޞ;zţKEú!6fÇtňĹąŽłů­‚]b„Ä×E2&×t0†‘+Ţ3Ú×Ú˝”ŢQ¸ŕ”4-—‘lFÁU]…ë\ĹçžfoB]ąLÄË`,/&ĽŽ®Â@„,Îŕź‡ô-­V~ŤQá:WÄ Xn37gĹź2Ô­±"ňڵbIpŮ%u¸¦„¨%eÝTozöąľż{“Ň ĂűFn Ĺ{üéÓ§[ť· ĐľĂQ`PŢÚč®ßGăńÝ{5ď:jŰ=V@á@Ü›eFzy»Č®,޸—ŃxÔISK^WŽ"ý�ZIDׄz!Ű㵄é$Ę%’€ď\źßµpď›ÎK°˛hUGá税ů†üđ{Ę?ŞzŇšÁ}S?E”gĐ˙űĺ—_čůóçüŢQ 'ˇčľDNÖč#6‰Ę¨Ü“&«Ý”®!äꦷ…|/É7“Č;Q¸ŇávINîCÜŮJtŤŃżvÁ¬kwąř-䔯,€ÜG)lȵł®Ű@ěűD—sęi4©~S|m×őާ„˝ yúňĽ×Ő}ä«<Ľ&± ĄżS˙iSŁ{»H¤—g «*䓊¸Ľ“ç†ÉVh/˝&Ůůµç›zČŽ(´ź€VLZ«ß¤Ňq‡ß2žLďÇ`0ÜFü1 Á`0 Ă„Ż}‡xىHg)Âý�’ať-l”™˛ŘQ5d ‘p׳ePS „ MýúX×5A˝ß}nƇEúٟ̳m¸]óŁk”šÍ&ôřń×ôěŮŁ°~Śn§ô˙ăäĂ=¨Ťĺ –]Ž˘;ĚĆʦL�ŞęPOć5]^]ŇĹ…O3€A`¨µňüjő\ÄíÖpц©×f 熊ü÷¶yÚçOŚ/Ť±Ž˘aóz~ÍFĂ>ěS·rív'QcÔĂé‘$2| ,r?-H\»ÎÉ"y–çąF ěřä8g‰Uň”fQ@[tvvŢĚŚNŽP’ňOJwó–g˘‡p%˛ę ŻGě~%*îcÇĽ˘Ő"–– ŃTp# dP;đŐŠëëźţô'ňĺ5ýöř)•ÓĎÎż<K㢢Qá“›U0š.ÂďhÄ,< µˇí¤dÔtKvÄE«ytĺęů*Dăèj1+é8ÜűčşłÓÁPx}@ŲLnR0ű»ĎHśa}5‡+–&ţŕú‹ş¤‹ţ«El—ŚĺŢ73…Ţ•OSďŚóc0|pĐĆůĽö0D”e…š¤ěÓ†q˘ë‰«L @-yu]1G]¨·w„k‚ü\”ńť?—MЀ܇Mäźľ|% Q^b7şZ„¨ŮîöäâŻr< ďŰ:8:ŚîĚš{ÍŇEęű‚•D@˘*ʲC`é#wä})!‰€ě4çŞ7Ű@ĘW }ŹĽŹ•‡ŰOgEQě}ţ×_Ý›pĎŘ×çú Ę5Ož<iĘSÂEÂsŮKĘŃWH®/¤éîs?˘ľÄ>ţ¬qß,Ę•,×O�úý …H8܇(ym ™x‚uTΚp ńHü»’JLB¸Ú jFH +8¦ş×ç¦m›´ PvP*fłő6/m¬7‰ń+Ź*’<Çé9”Ç ('ß,LĂşnűázHŤNÓ%#˙żůÍoř7ňrč›÷ßŔ)—I¨cZÁkL' ”䬣i0n #ţ Á`0 á=#›Í©ŹđŚ>(§ÄA> Ö×NČ?«dh‡˛Or �;p]íÄ7ĚťŇhܤE™đŞ#źĎdÔkĚřď3"őą' ěľŢ-nw˝›�¤ftşÝ?"xëô?ŃŠ×ââ«/ Rţ«ĘÓŮĺ’JΩFtp Łš]}]\\QřOç׎.® ş^Ö´ô%U®ĂU‰ż“!(Ć]ńýáDäţóÁřŤŐ´^źuÝmÖ0”V­MźáTHF’˘~%ĘX:»űf­ßĹĚóÍđÍÂę<LÜ©xŐabnsűÂé©ŇíL”)\TčńÉ«ů(·ădü‰ Ô˘Í!aŘTQǶˋbSĺyY-Ł›‚ë«ë”Ҥř“‹ł`l}üč qť›_Íéí›3:{N Ô?ÜĂeH{™Â&?(łŻ#VGC˘0óŮŐńY_.č—ç/×Ńé皇úw^Ńĺ›U8˙Ś5Žo6ótýfÉ.ŮXâ™”3&ń˝—­ÂötTEĂTŽÂ=Těx+ÔóQ8ç Çq–;8BËĂ`Ь„Äîyňř:<#ÁŔ6^„Ë»şcclHóhŚŤpavĘmZŃä¸ńUTŚŕ&NŔVü|ąpó$ĎÎó­¬Äťú°#Ěc0|°×:0ŕîɷéŰ >)sEž} Ď•ř‘^>ц®,zTjn‚vµĺ›“x†ű«P ŮGT¤Żá˝ďĄRëţ„^ë>Ćá{#´áľÉ¦¶Çý ÉđoËč$ ęüě!üčß:ÍB®€˛Ó_|Áy 7_ L"M~î¦ř}ÄŠ>˘Ě.ů§ű‘ű@ΉAČ2›®rĚâU¶˝MŚşíł¦Ý;BJP– ~čăBĚ‘pű\_®+×F\˘0/q7¸-ňú¨ăë#Xőť×ízOÜńIśűÇB(‰˛<ý¤}šg…zşnŃő®”E$T]5iß7/ÂMJmk'ońřI>nćýa}NÁpKńÇ`0 Á`0  í@y]»`÷´\$˘zâo™¨ÇŰÎ'’H@Éď0[ď€UZĘ"“ëč’î FI!CBdĐę˘ $Ňď2ăZr5"=3[‰1Čđ®°iú%í1”ýôÓĎôúőKúá‡éŹüýřăŹ<¸Ż|ŮĺU¨&ŻÎ!ă?'÷Ë"\őfŚm‹[‚m¦ČŚVu¸Ă4úzŐĚReĹ—“!–‹%ßĚ0ROű\�hwuZ)HęŞV©ŇaˇX4Ç |ĺ’#źŻ r ái\ f´ŞVkçiÜDţÉÉB» Ş`¶pMŃŃVĚ˙č® éZFG_É…@śAŚö®Hb.©ß@ą¨Ůgä—3Ěô?¤ŮdÚŚ\Ń´WLÔy~W‘F/š|;4ĚP ŻÄĆ*Ş>Ą2ýŐ7ż˘Ăă#úéů zőó+:{sĘ#¤)´ŤâŞĂďVX,h…ýÉ(Ú=*’«ÜcuŘ7wtU-čőó zţOočôY0důÇ4 Ç~~ľ¤‹7ש\BľŤj&NÎfŁpŻS:<ózŇ6ťŤ 6ŞĂŁ)ťŚ!ĐŤhBR]dPXŹG1źő"äx·ĽŚ¤ťP§A AQ(„[U“ˇ<Şđ¬řHf+|xBB:Ë圉AP8šĚBś“¦Ń"¤ëšĆţ:ޱ‚C6[\ł‰ĺ¨qc0>vDŇ3őrŐ¨”ȱ\Áqŕ÷ęŐ«Ćĺ”,Dä. ńă]ĺ@ÄŹĄQ‘dď~ÄRÎ;TĘ)›ňAßS‡ OĂÄźMäb!< őť¶ÍÆ”{řˇ¸7߇�÷…-@hŔoPVšxŃGüůP±/™ä®®-$”»"˙H:>ŮIбÍ`—w tßâş ń%ýĆý@IâßD˝ÎDwë2‘ď`ýüîJüL÷ÝîZ6©fÝ-[—”W&ŇbĽg¤sĆa¶i?âĄĐţďWŽu?éVŕűß’Pd0 ›`ÄÁ`0 Á`0Ľčńłl°Ş` ŻŰ€®Róí:n'rĐÝ[9o—$¶ÇLţ‰źÄB–ŕK§™Č0a`Y اIů�¨ ®FcţŞI»–č×0"Đ}#Wýh¦„÷ż ŽI?ß}÷Ďę‡K$~ľ˙ţűĆĹ×Pו٫…§Ë`h‹3hP·V‘XƦŽkM SęŞĂÝŐä›™źE™hŤĽëĚ F812ĺ®ć�‘–Ď룻Ą§MŇ/¤,Hă"ą$ĐçHX=0/†yDI\nĽK4Ď—ňOZ’â+ýřHđˇä $Ţî%ş„ˇ•LzÁ"Š>ٱcâ 4^° Â!ň0”Z]p›U­–´\Ěéęâ2ÔźEJ;!N‰´!)Í> řڱPúÁĚz´[Ż^ľ˘?˝ ůE(n]GŔ*µp±ńUŠTWâ}á¶Ąîŕ÷2”ŃŮë zţÝ/ÜF~ůĺ—4:Ń/Ë×4{Τ¤U(ÓU(?¸/›Nk:8 ËÜ3`6H㬠1AGSzôhF“é|9aâ·źŁŤç!3ˇNÚÎâŠj¸~+ŤbĐ $ .Ż`ugÎ+ü‚ócä—4­Ż¨¨ć4ÂóBÇ4Cą¸‚U›Š®ĆZĹT5<Cë żŽŽ †O9iCŢY·%ţ Ť“ľ"Ţu˘„sWý;‰W®ˇÉä·GŇĺí±iÖäß>Ĺ"éK˙ˇéó6”›nxťĎ’GąŞ‡(žlÂÂŤ(0Ć>T9čNô&°Ö߆üÓäh)>uĽŁżůć>Ĺ,Ř'ßšĽ q8~›ú'IŰ>„3}m‰OOXŘDË ć·…ž8!÷$ÄýŤ¶K|:Ď7)töĺ]®ĚłëuEů2˙>čS€ŮTvúyÚv"É&bŽÄ'y}v!âĺß›ŕqf¨~éďéxď]˘MtÓçÔwÚ)G´Áő úćşžËŘŔ>ŕţ>ÝšúŠ6Áú©á–0âŹÁ`0 Á`0ş3Ýxp˛Î] ůDęńŰuÜvĘ]—¨§ÖEŹČ•ëeě¤̰făs8ŽA_= ®I=ZAE y8ĂÁžEµ€˙ößţ×Ô °Üd°ń©N·+bŐ—f&q9ięaś=Ď>ëČKݢXł %g÷PąâŹ >qAĆ×O×C«-—|LÂëzy6„řĂYÖŁđ“o7÷›(â= Â=·{nÚ˙}ŁvŕčřN±Ú’ �Ň žu¨/ˇĽťżMÚŠÉ^”T„ŞĘÓb™›rc™ÚöÉm Ep)"ŚóëKVh€‚R©šÖÜ/DclÁw_×Ja@\ăđ0mÜóç×49,éwżűŤŹGôóÉs:uŤ#uTý‰.ć´\-čüň-¸ž„µ Ő°9 íälBS(΢:ĹQČÇ`h™¸D¸ Ç3®ă±ŽDe ŇEbTá—!˙Bý\]sţP ŞŻŘťW|J&Ľ•nĆéńf1 7@6žś>ćvmH®Â˛đNW\Pě�ŮcÍ× Řtm‰máłgĎř} Ę~@T«Ł¬Użh;7Ţ]”Ôé4y¤Źř“u¶y?Ë{C“ë5vÍ{éW ­xwË*KĹý·D˝0şxĄµţî ® —(ů^Ő§üŢ„€"}°!˘ö¶´‰Ű6Ľ#w%^č2Đ铉kD3UîţŽ_Ŕ˘ś…ëË„ ,ëý×äď¦z(1)?Q®ąoâ#»gÝP˙·…&xqż(}/Ü6>Iă®őfrßň{čÚťmţFŤň[B]¸¬źď6¤ĎsýŠőlĹýuîÓ»ýÜ–5ę<t7Ď„äߊ'LÜľ< ç #ţ Á`0 á˝Âgkţ-ŇLěY‘wK**üL7¶Ů5Žl+W9U=¦ĘG%ލˇBěň«ŞZRVëásŇ@ĽžµŮçB)�ßdÄx䟥]Îöw;Ł÷®®7®{żëárĺźí�Ă T~úË·ÇěÖě‘/ÂęNął‰#(>0Z“`ý9 ő{Âb0á“âďÚűŤŠAââ %đŰR_µúŽ$ôŔĽF´QE“ÚV)N­đ#ńäČUbÜuOÂďc„šŹ[ŰKÔJ‰yj'öÖüŞ_ł°9˘jŤťp·0EáhŚĂłšNi\Nš<ô5 00 řP/*şľZĐüzžŽPF±F°%íUArˇ’JuŞ$ß‹«i<ÓÓĎźŇÉŁcş8;§7oŢŇĺY0�ĎC۶Šî¬Ľ|<ą1Š$ŁčúJZ=×\Şq……Ľ^zşx»˘ó×—t}ľ ÉŃ„NqüúŮ5ýüóĎ´ŕŮęŃťXµ uk‰Ř*ň*_}Ä;žDőźĂŁĂ¸Očŕ5‚J6ŽN¦!ĚAAĺx‰oˇŢCöĘI­ €qç’j–Á@S…<­/©,âĚ˙Šľ eq ˝%Í«’pGÇ„©¸¨5X çQě�ID ¬ď‚´€8Ţ‹ ýśžžö*ëÝÇ6ń#nKDU7•»öÎDmŠ Đ Ď€>Ž&ţn•v^Ö3`\ת"čc ĄwyçĎ“ú â!Jú!ăj{÷Hk7@Ă˝c\OúS¸'”-“Ą2 ’§ňÝ „Ůş˘ţÖĐávâĂůŻ&rlü»Eę#„ĽÖ÷z_üB“<KBv©ź˘:©‰VŰöo MČUäc_ÝŮZESĘKâۧ<t|€Žď6ç^~÷Ĺ×Í{ßKüŃqč¸u=brűĎąĹbIÂŐ‘6é6 m‹ů"=ËîNňOęüć"Á`¸Śřc0 Á`0 †‡DôqjFf*Âŕfą VĽjHAl„öK&úÄŮwuüÍJ+pgăÂ@Ú5Uő„ăŻ*×|Ł’’“w° e 1.`ßůůy3ŕ(çČ`ˇśŻUN´;0=«üýâvłCß%¶˝Ţćp~8ł+v»§›ËqÝřĹ[nF^ž‘/NÉ%Ă…s2C•µ|¨Ćl[!˝¸¤ÚR$—O)N RĂ­¶!Uʵž +†™ˇÝGÂc‰ťô¶ľ/ýLÔeĚĺíń!w r®\OtX­¤óVź· Ä˝•K-‡€Ľ˘¦PruźPŻAű�ŽÉáŃ”ž>=%˙č8”ÂŚ‰@ V]ĎŻC»‘HT ĆśÍéÍj΄Av}•ą\©+¬Cú·?Ň~ˇ¸9}^ĺ«WŻî˙xć11Il|8˘g_=ŁI9Ą?üŻ˘?ţLW—ˇ\Eßg%ÄAĚq®5˘Ä6RUőDÂň>‘±ęÁ23_-é»˙ý-żüśž>{Ć >gWgtvyŇ_PáÓ s¬ë‘jŰ|ĽĽÔ–E¨—ˇÍ}» Ë2äóČQČVvżP–#šÍĆtt<ĄăăC:::˘Ůá”ü,ÄöŹ d1 y0^1Ůł EřwEgtÚďŤę’B;~UŇ$<Ő¨¤óů2=?ü Qrç&Ď—°˝Ľ*#˙ ź äý#ď#QcŃÇö5üB9D"´…hĎ@Ňą+Ň�2‰”tü:˝ŰQk×řÄŕ_%ô3vÉŹ!⏠$üF˙}ë<î]ČĺKEDfË ćŹvwq%ŘäęKHŃB`˘EN@Čű‡}}vßZuóq"Oö%ÖQG”F%ź·% ô)5.ZÓ7 ҧ 7ĹqČu… .×Î é›ňH%+!¸K>ß%‘©ďţu>Jz…`·äyŇß­ßm?DB©Ó·UýÁ=‹é6ńĹŢjż€ô ˇNHTε„ům ä=i÷đmĚç V ׾ĺ+Ň›Á`0ÜŚřc0 Á`0 †€ţ™Ŕ¬Ě1‰ĆjßĘ‹¤ŕ“ȬźâÓLľ¤°‘HBٱcrPU‰bP$Nl3T(Ź2ŘŻ—>⏠”÷­ß/ń§Ą@ěuöGüéŢď:ńg·üĐçŻĹĹ›EE™u÷|ĚÍŔ—h¸˝ëRŰję’ÄP›ťoI?λf ^¶oŞż}¤ł]Ëѧ©±NTäľrăK‡,”Čo ˇČQç9ąĺÇçéń˘¦ÝDĐ( Gă2Y'ťŹ˛íEś=_ÓŐ…ŁĹĽN®@ü©Ůŕ¨ÉLqA=(9ţ†pE©<cRbeuJR^LKv/v|zL“ŮŞyEgoÎčí«łÎť¶QHá¨xś_Ż Ń …Q¤„ŤĆuAóó=˙îŤË1}ţĹďhr0¦ďü>3‚1ř˛fB”âeťňËwĺ8?‚ Mm(}šűyşöěÝlŔuÍQhSŹFt} ·`ÁPĐxV#z(ŹŮ(<.­d·nEWŁSŞGˇĽüŞđ\!Ţ)c^tQv|"ý¸†ôŁŇř^Ű`Áđľ É?˘ "űM Ŕ>‡AęŃ®ťň>źnĹ ÔbôŢşĎئ±I1˙˘€¸óř]¶–-q „řµëNI;ö!.´ÇPBZ)W˘»c˝?’»[ݶÔ{´Á@[=ŤéŕŔµeR{)v4ý#O‰$ČűĂG˘(dć˘I§§.áą!0ű¶?R¤ř‘ŢQ9j$J\ó§É ÚĺVXÉj2ĺ|ámU·»7Ü~N+Â}ŤGcľO‰Oę÷`|·$Îh oß\oQgąîęţŐćËĺ}SÔiÜ´ZP®ČuÄą6®‡vD\őîB Ô4j—˝ß>é×ń ńç6é -‘8¶ŤĎß@â’ú¬ ›ęlĄey3Ä%ß.éŰpŮ““c¤”ăľm|ň¬MWKvA¶Z™»/Á°?Śřc0 Á`0 † vQT |@“ńDö&ŇŹ ôŐÉ XÝśŁ'aPîí,:1Eď?XŞ焆!ÂĹű#ţé§÷řĹßwŤĽ,Łá¤%’ő“\"Ąµę;mjęD’cÄĘ%®VuĚgqľ#âOJ`cÖŰć|1dŠęŐŞZ­Ýó;ERŮi·©!É ť×WWôćĺ]_ÖÍŚůůbÎé nS­¦a]ĆsĽďU8hó&ňĘ·ěŵrAzŽŽéł/?ŁÇĎNŮ}ńú’Ë%Ý6 Zk™k˙9YÇ™ńżüň ťś±ńářđ€ľřâ š_.čuuFWËÝ]ÄřSýI—Gľ^b˙|NoŢĽ Ł’UÁ–ăFŃ�âĎčhDă1‘ĆGÁxvöŤSęßw{j0>DhҶ̵ŞÉ÷ßĎŞ 0.Ă8üŐW_±šŹôą}JĆgyÇ ąf_ă{Ś'ĆŃK°čí» ·ÝôŮa´çoßľĺřˇÄm©2tKŠ{9 ÷ë"śŚv¸ ęjtşlíłµ[?–őorblŻŢݬöÁľ~v#p0©4˝WAt);{Ő?ăľBîâ·H´–Î5RďZڞcSţě�é“ř6ÚBdPÖ¶°M[ĆçúČK;ÂwIăňL5ĎiŃO†ŇŞ1­]rźŁËo,łĎ3Ľ©ź—«ÓÜĆĄT_^Ç·/ń­3áŕéÓńćDÉÎHĹď7¦"č9Úžł{únŹ]/Çď?©Ż·AóN)ýüć5ÍMýÇ`0ÜFü1 Á`0 Ă{G3|›Ś2 †Ó˘4wQŞ]â9XŽë,¶Ě\ĹŔś¸Eş ńg{ř5»E>@ün ×íŕřŢ1ĽcCűí@ë÷ë;ę$űĺG?&˛užf·l'C×a¨ˇ$ňŹHŠ%ŞzîCü‘tnT+ÚÍ•|7Ž!c§vwÇżAŇ»ĎGmú^Cű�ÉĄ0ćü(*„…íş‚ô?\c\ŃůŰEtk–ČJ0¦ěvmśň;)-$#ë1VtÉ?Ýtxmť•<”s”*Ňt6Ł/żú‚ŽžŇY0Üž]ĽĄ nݦi¶{ó'ţpjgó;-\ÇŘrGI•@ ńF˝TظĘt˛ KE‡§GôÍoľ Ş^ŇübAWçWr!Îh¬éÜmfďm”t�W'ž«%-ćÉ•HŘą‚ű5ŐĘIIĺÁ&ž)?=žŃěň€&GSvĹV:š<†+´8C}\Ť¨¨‹řŘř¶®F±źć  w""QÔ8==%qˇ)F]!Ćů¦w*I•뤨 sŔäĽ#ŁŞÜu$Xpă%fn±©í«ô‚˘;¤«ËKŽ+Ş™Ś™ěŽëj×3˘r”+TŠŇŽ!]»(Ąśě!ţôĄŐ÷넡|uk§{~í ä—é§ă‰R٢oĺŰ<Üý$VíoočüsmĽť·ąDžżyym nl݉VísŐ(l p)ä±ůVtëj¬»|nCĘyź¸ ˛Î{EźBĺÖHýç[Ôż[ĺ_ţî>p„ř3»şdĹÁ`¸ Śřc0 Á`0 †÷ŻŚŮ€.&čůJÍuBţŃŰ=âo°î×Ő\íW–ń{Cń'ß6âĎ]\ď]úŻWl ţ„ŁľKüqÂpK+)nQś&ě)ęŽ1h_⏤ů¶žŃZÂO>·ĎÝť,lĹYŰfH-kořÜt¦Ę—ó~Ä‹ó“°Ć2fźŞ*“ţó`€]ÄY»Á Je1ŽÔ@V¬ApÔ”/«ý¸ĚXçńË­§+î#µ¨Ůč®ڶG'GôĺןŃäxDŻŢĽ ËĺY°LÖ4~T&2Źk|Ő]ŽŇ ů´Í~¶¨!uę©kŤ`đťŚh2ŽJŹżśQ=» âxFő7_ĐhFôÓw/čĺ 4Đ‘Ä2Q]iIň¤ŤS?]‘Ó¬˘©:ôĽÎ·—Ś®đƱň´šŻ¨:«h^Ěi4ą ńÁ0;ń}źžNhü›C:ř⦏ft0?¤qUR™^śĺ…§®­<¦ťŞá“A®nŃ!áŞwvÝ%®ż®®®˘[¬é”IABjÝF᤟çĎźÓŮŮź·Cß|ó “l˙őőU˙˛q˝µŤâŽ8¤í/ů ]^^˛:ŃÉÉ#zúôY“n–$Ţ>ĹŻň@Ż·EK/ÉĎsk!ÖŹĄ3wąćÉÄ7˙vAS扻ž†4Ą÷J䔺ݱi["Ü'íętŮŰY݆řłÖ ţřDXľš÷t‘vĂWî†ktűňZŃEÝ ńsčÄşn÷ýq·ő«!®÷=9É`0| 0âŹÁ`0 Á`0�|2ŕűB‘Ů Z×Jq» ejnÎt%×ď›ôC=ę>năńűÇ~D—ćěŠôĂG(7tŕö'ţčuŠŚĄćĄÖŠ{ŁŽ»MüId‰–âŇB 9Á'2[KĘ eŠ8tďč!ýänä·#ű„Rt «zéSÂĘŤ˛7%ŹĂu¬â�CĄhČ?äŁúĘÍBUůf)Ň`;+â8q d—]Ó'&ß­ËKńĎ8ĄéGŚTłźŃÉé1MŽĘđűNźś#ń1%ĎckÚÜhť~4DźHÔ©™|ÔÔM•QYĐÁ¤¤É¸dCŮá鮫s:ź—Á|BĹÄG" %#źOj?žR=•\KúÉí’µzĽ$\Ç®č«|YS•b]+Zś/›z6šOińhDţČS9-iĹďĹź¦ěIŞ1N:÷ÎÁđp  C*x ĹŔ˝2Bđš3˘ř#J$Zé'ďmzźé0 r@¸^î(†mŰÎîÚ÷Ć/ lTňq ĺ&Pt)™Ôöą‡ú6­K,ěIÔőť¸ŁŢCµ‡˛[RýYÔ·ŠC‘,•®YKz\r™Sq<(aB•‹Ł+Qţ^H} (ô‰k(„µ#Ž/—Ťé”Őú‹ˇ˝ďEN éď“Ä˛Ş“ëJ÷ëÖή#[´ą/*},äcŁUŽşĺŕ۰Q9Ş ß¸!rE“ž<˝‘¤#ÁńuH^Ą#äk7>ńµŠúŐ»S9zJűŐ˝#-ŃM3q˙ŠŹŁ÷\Ż?Kr=(3eüľăxýş˛O<—šsu#ţ<|Ä–i—rRß=żvďč=¬:âuŁo0 ·€ Á`0 Áđp໸ĺ Í€µ¸ŇŠ?Úő×ćôű#˙¬~ô5ÉH?wt˝˝I?¤H w’&×0„XˇŤ ĽťH lŘcE+ęŠDţa°BKM­:‰ÄŁgn·Ę-÷ Qtq74‰G+ţÄäúäď)žŤ9]7a;« xżfę+˘|�Ýűîěz6^ŐŃđŘ%!µu¨/m^‹ňrČ Â´FDŠE›'ĆImŽŹŹą˝›+(C<>} ¸u±vťÜXëĹ«ďŃW´¬—Ń�K]ú—GHĚČŵ”ăŰ·oéj~Áizýă9»’y—Đ%ćë¤{Ő ťşh6ÁprŽŢŹööŰoże˛Ú_}ŕö ä ‚ÄýWó^S䂡xś÷ůçźÓ“'O"i#‹„řE~ú‰Cň[‘{RŁ'éW_1­c&Y<yú„ă>8q:¸-ýŠÔ)‰ď˛š }®Ëóá}�Ť‡‡ë®Ŕä " )8y¸÷uyuňoE ŰŽGV9šLÇTŽ_sµZ6Ş€«eT(Âo¨"ŤCz‡Ę¤źĺrÁáA…ű‡e׏áĽx˙]\śó9GGÇ|l-_«ş§Üâ›ĺÎ*M«ŠË«,µů̵¤ŕD° »^»şćňÁyâF ÇqżL •L|é~łôçâ~ʍʏ/”ĂHîÇwëLţš]»˙ăxި›U]Ń­Vo#młŮTą>ëĆ‹pggçáśE~:ť4JUѵÝ5ßŃl:ăăqŇrň3’±ĘÇń>Ç1&XĄk2Śź‹xq]ô_®Cľr=i˙¤q‡Ô–_#—a˝Ż¶>trчś~·őÎ ¸­äćźţ~z÷các Á`0 ÁđŢg€ŽÂ€öÂŻ40Ô<ăł«Tˇ‰;.čó¤%$śúKŮ^ę=v{¬Řąf–¶¬Ű°YČF2÷ ě’aöÁ‡E�ň¶o6¶¬źŮ5 ­#wˇ¤H-RŮ8¦]ٵńűÄŠ -^‘ÜÔU}v­ˇä Bď[~‘ʌ›}Š3úxCÂŚrŞ›sÄĐ·Iőg«d5Ä›dxěą~ž—:Î<ŹłĎ©‰Ł{˰¦ŐŤ+ßčó g{<§ Uš‹wÎôůUÓOäÍŐŐśž˙đ ^̢QxĺĹSW§íčćs{}!7ůtÝ V|ť]NÚ˘p2;˘ţŕBŘ—«D¦$ş| ¸— ÎŽ×IeU·Ö3ď:âTőĄn§$/;m^ÍJ’¨ę*ŞŐ}n…<E¶±Î`0lʵ÷R¦®#ÄKH%hAF�!­ŢżÎ‘%‡u@^đ>’nrŻĂIÚ3¤JE9"ćk_=1’&Źäé_®Vt~~Á q¶ž&×ÜK$ąx&Ŕ\_]ńű¬Z‚ < yxMłIXž˛ î‹‹ Žůޏ$ÍąÂ^A؇sVPąşdĹ<¤ $'gAzűć-‡źN¦kÄźaĆg(Xŕ> —ńő5“šÚôÄwg®<I,+VpŠÄ®EŁr$qâ‚J®/EŁďçąŔ˝žźźóńK™vuަ#˙_ż~Í÷€o©ńxÂuZ:’vI/Â8>›M ń˘ă÷›Ż‘tU'˘ĐŚÉ9HŽ#>îëU5ź‡pLCy…5„…k:¬‹Uń'ćSĚGĚ×HĚ:"x?ÔŻ~ý62ĹCÄ>Ó|çüÍÇ7_ű!*ţÔŮ7Á`0ě#ţ Á`0 á˝BT}¦ł)…‘{vµcBĹ3A+reM›L"®Cţqń'Řs7âÝ üĺ†ú´7#IÚ†‰JFüŮ'Ümî;rAgčş!‹P$:t¸F]uź«\3ß ÄŻm(ßcöéP6†-˘ÁYÁş^‹ńKöł'e}Muçmˇ‰G‘±Ań‡ôRłA®*V«Nvâ„Z#'Véü‚Ďń¤] JţkâN›–Îłś6ó´ů¶j¤3-‚1ě5”v– zţËK*ÇeR‚§­b Ä}·®5»t]×q)MY4í]ů,ĽçkVË`ŔĽ¬B DŃrŇŤNźvÝĺÇĆwŇ—µ×J ŤKJßC”R`#â’Ť˝Á0čO¨vŃĄŚ&€ąnÎ nÉ}n)Äć"f1>Dh5MüéSáâéÓ§}SYî V€¸É9QͬŹTł/˘«Żqó{_0‘ăęšI' ćä˘w‘tňT}@čr ÎqtąŚďTJ?9¦ŮÁ´!ž»3!“ŕZ |HúŁËŞx>Ü—h"îŘ€Wo^ł˛ ŇrJěŹÔôęŐ+NQH—†&iő)ţ«/Ü3ľCÖ–„łlÜy‰ ŽáRGp>–É-–„Ődgą'g|ăš+îC|¸ą!č = ôH}ÎCţ!_äžp}„/™´T˛.7¤i‹Š?«”F—îgÜ䙆 Z…coŢś1ˇHČB—VKňŰ üD’ĐŻňŤ$ç«Dü‰ů©ILrnLO›_Ü÷ U0’~¦éšž:=ä ő]®nŁ:ix_č>§Ç·-Ϧ꼿ňţ†µ:i0n#ţ Á`0 á˝Ă[ErP‡} ÝÔ q]Ż‚ńyĹ  #Ë őYdN\ÁŢ…+ŇŔ{Ü×ôĘ`ó@tw4 śĎŹk׬‡Ż×5Śďžž›J·aŻëîŹmŻ·]¸»ą˙ťÂg4 MĘăóâşnŤŚÖ‰ C”pZM&Cžíi»+ë´.—şę>Ú@#ĆÔüö±BBíMf=ŽÜŕşKk ®ĂĂXS]&IjX) ¬F‹‚É$íÄZ—ť]˛y—?ŁŃĐ9”}a߉7ťH„TTÁăç|AţíysKEâU‘x7ŻÖ*P7\1ěú"ź!ß[·m””t¶ąžjµ‰ć;e¦Ňî„%×——5Ďö_…EÔ‹ZÍßIJą†w©J;ÁuŘ{á‚(Ä€l�ŇBNüŮQ)éSú]¸=˘ »Ĺ’=x÷„¸...Czá:ĘŃŮŰ ~gA9PGďöh“˘K¦yTe ýî!RH Ű€ŘűÍÝăq_Ááäľá~ ď~t ú+óů2ąi ďł2…)c|«]‚yĘÍBz"ńÇF٤°âkjŁ L™)3V˝ś_5lűř˘ZÓ§Ô4Lüiď¤(Ę,Ü‚›ýčV iWu'„+‹öžFă’ü†›Ířޢ&íH« ‚J[»yEXĽÁ@J–÷ öĹ|Śd]¬‘Ľ˙–‹čf«•)\Św”¶™ËţÁe®ânoÉ„ç—C‘Ň:ffž«Üi®/i‰éőŽx<ÜžѨIGÁĘKŔ(•“ľä'öÁĺŇ€z…”ŽÇ ľu¸şđÍýÉk[ĘąéMmřč;¦Ë{_ŐIĂűĆňâŽŕ¶ĺéš Áđ±Á?a}Lř‡€|&€Á`0 áă‰/Ż/hµś§=Ž˘dƆĘÍ.ĆS–şÇŚSYdF2�éţ(ßß ľm?xRC_8ëö�q=S6=˛mŮÓgüę;GŹ<Ś:^¶‡°#3ÇoT ňEc€Ů÷Ůę3Đéű›ľyÖ8fňĂŮ" e†ý&÷-}ůśç[—Ě×b?RS"6[|vG_§k¨rťůőąÜo©Ďŕ•Ż×Žë<&ż—‰¤ą˙$>ÔOp\˙íbŕÁúnöÁp@x�1'Ľ�śRJîţk€ôeqW•”Í®µú}]RśÎuH7\`´×!~ôe#Ń$&M'ݢfŇĎł§ĎŘVXůčŮztúơß\”ĹZZ…ŕ #EřxDÇLJ!ď+Ąz‰D ­ČűeµŠ®ąr—^}®ľ WtŕçŕpF«¤ŔIAQ™Š0ěęk:Ý‘řă9ŤOžśŇÉÉQ«ĽWDâŹNOśhÓż)Dń°¦Óę‰ULJJď`V® yď™\3b‚L$@ąuW_¸Çô­‚ý“éžVŐš‚’%Š8Ř'Ş?łŮ8)éDE ¸kjĐĺŐ%_űńăǶs?©.ˇś´ë-Qb§Ő#îGI:ř%ĺ•ŢëEV~’^\ůŠu×uÚMő·ÍďXÎŁtź­ŰµľľËPź·Cľ÷ďvbá6¸©­ó‰eO[F'ťă÷WţV÷ Ă}Á?a ş,ţxńQZ|(�ňqf‘NŤ ţŃÚ Đ›®đméQ|T .Ä«ý  Á`0>%´ščÎç×4żľJDzA:ßY©_qŤţi5©ypłsĂP;÷?Ů@ŽŃ§­«® –Áiôsa€rĚŹröŹ˘żg¤ŽÔ cjf×ęoNYRI‘c9‘Ŕî‚9‡J§«„&|´�J0đ…3Č+­§2žć:‰€#®'ňo2![Č"őOęŕ ‚’Q髏›fRËq­öŁŤ,ązPn$ó¨dŇŤ!=«(ŕą\® *V±QÎwŚ C†?đ›nŘď“ÚŇÍ ő˝3Ź“BŽkKÝGK—şćz¤Ž\C\ňN“%%ď“}¤Y÷΢!…{ŠĎ˛§Ďd˘&âÓš«ĹČäi󺤞X ę–G^F©^SkŕÉK°Yż_›ŽÁ`xภńGĆKńˇ}@ýţÝÝ>­O„tŞŇâ_¬bü :ţˇwÖ0„¨TŹşďţ¸ÜM}„¦Ř—íż<Î%šr§/;‹3'pÜÓČ f÷©ëľ hr™Ô@ČKŰÖ¨őÁąţüBP ‘Ą–<ž?»Šß=§§ŹśJ-íZ—nű’˝ëďśţÉ7“ Ę«ťĺ@ŰÁíţna¤Ápź0âŹÁ`XŚĹÇfĆüńʤ˙ôźţýđĂĽq0€|őŐWô7ó7ôë_˙š}`k˛N>{2|ÖŽ·oßŇ˙ř˙gĚ|űí·ôĹ_đ ý±Ő7{Uâ3 Á`0|,hI?ä˘$>fW˘—?pʦˇs‹(ż_`6v”âźĚčÉĚxŤî07oVaYŁČ2,sîß>yň„ŽŹOX:ű_ľü…×2[$ytMONNB<â:;;çţ킥ůăĚc&%ň\Nlş/§ †ÚSŇ’&t†ůúńfSSĹ„  v#ZăÖĽM؇Ł>îÝ4<Ih%×/,Ú@'IśŹý2QĆ'dŃßnZ ‹iš‡A´q&uß¶‹E;)ţäł°7óůµç$źÁŢĐžřŠ]»Y«ăzŤ6ŇĆ˝–ůLâę3vµß·zŰ ů†¨‡ł(¤ăř;÷ŢëÚĐŃZ„ůq'ń*˝Ůµn2ŘIY7üź®úPS‡ äńG˘q$JU¨ÍmĹ48Ż“íÔíŐ1Z.–ź,’|Ď‹çĄö´&gM¨Áđiď=ôĎžž>ćţśŚ3ކô`¬ďOĽOOOO›> ޵Ű#o°é'ü9{{ÎÄšŐŞNńŃÁŃ„ű±)pęKěvč—˛’LíAg eIéE~ósro<8|ikěV)M;Ţ˙fĹźűVäéSźŮëdkţ»±O…ëĘX˝Ô}l÷]»ź€<9‹Ţr%Ę|1|BŘą¸oGZ»-¬~ †ű„ Ă´Ľ(‘ńQřóĎ?Ó˙ů?˙‡~üńGúěłĎřcąřŔ•AěĂG Ô{dö(:2˘ÄŰs>O¨qŚ%úÓźčüüśăŔ>\?úţ7ł!ňY˘Á`0 †Ź<§Śőť1eŮ%öcTTL•î;Öiń,©ŃŔ 4‡‡|A¨üIýUôqú˘w||Ä}ÔŘŹŤá°Ť5¶ĂĂĂî÷K_ý`„Á5„!’ü¸N<fřX1 şgGˇ^Ě"! ž2 N|¬3ËŞ ‹ĺ.çń»ëzę0ˇ¶Č,pß¶ú 'S ~ˇîE…Şqă"bę™|—É$ Ô˝čfcµć’ŞK¸‰$—ˇŻŻÜh¦Ő|XÍŠ}dôÇ043{'CX·9¸˘ WĽ4FÉ!âĎĐ>Ú2śëJŕôžŁŚrď Ƶˇ´Ý 7T2Î)É  ,buí ni„ô“)Űu—ôCb„Ě,šcm´’ §ÓécÚ[s˘ ŘĽb˝rBü!µ¸NÖ †O¬†WDb,úhP°ąK5ĉ÷(”б îMdšt¦¤ŽÖÚpŻßÇDoŢľeâĎŁGÇôčô„f đ¶íů>®ľĐ?`ő™eT’ľŔ6čľźÝM¬űvŘo˙ i!é!íÖŘk˘óĆIwýM’O”ÝÍ-\_ż)ĺBoFw ÂňM‚đąŇŁÄŐ(ým—šlýnŃGôŐKQXŇa›8üˇĂos˙q—ňő»6ťwŠü{§ëvĎ`0n#ţ †5ä31ńűAúů»żű;žmňÝwßŃË—/éř, ţŹ^ě‘GÜváöż:1 óúőkÔĆq||C)űáę d"Ě|ł ®%ň˛ćúË`0 áÓBk¤×†ëv` d†ŁŁă®ŕ>Ą&ÓčA`!‘ă·¸äŠîb@ÎóůčŻĘ1�qŘ/qâú§úµBl×nđ}ŮÉ$ş!ĐR˙2¸‡ľŻáăľc~űŰoč×_'ĄI0¸­®CĄŠFź‹ëŠ^Ľ^Đ?˝˘?˙ůĎtµ¸Šî§śz(­űI2rLęŁ,řÎ őu•ę®LŘ` pꮜ«ź!íđ7`XáŮ(ÔőµË:˝ÖnƤ®ła+2š´ŢŐLlqaÖ‡ÜuUłżĎ¦¨iuŁ}®ż-6•_$ĹlV4şn2äÝ˙é'ą‹Ľ/ňsZU śđĺa-Ékâ‘"ýpžőŘ•uVíŞ&a0>MČűIŢ•w!†ă]µyçn~§čöxsă5ž”!ţ1+™ťśŇńɡ{ÚőĆąűűý”–‹%ů*’ŢŃŢ”îÍÄ’!˘e)gw˘Ňö%ţhRĆťßĹÄR=Î.Ű‚]ŻßUÜ=ž!UźÝÔ~î űç}ĚϢó­§ťß6yřcßqű&Ľżzˇż“�đ5 Ă]Ŕ?a z0V:"2óű0F ™­ŚD-@řAŘżüĺ/ěş a1Đ >€a”©îÂqă8öAQçŕ7AřGÜ0ŞČÇtwćv;Čm0 Á`řŃčň–K*&Sv×…>#ú¨ a!ͤuIBŚý�މ%Ť«UŐ°_ď˘ÚĂ€|`ÔA<ÂČy˘˘"†1,”ĺÓ qöĎ´5|ŚŹ zt<Ą§Áh÷ôńÍ&á;gęĆjÉĽĺ(|O­ zýj@ž•€q“D‚ĺ m4’o6Ô/|·i—]¨÷ušŃ.3Ěßp¨§2Ű]“~:×IńËŐD‰UžG©űBv“gUâ]UQQČÓÍßo÷2Ó5»\Lg™H?ŇŐuJúOîŔo¸ ďnşőđŤľPĚŕ~ň«öhej×níÝ44q‰ź¶!÷d)5éN§K‹5JD­"‘ÓŰMLZĄJ{Šč Ěg3łSZ}J›“Ć]ŚuśÜ莍•§´«/–rkŠ?)Ęć6Z`0´Ľżd\Qމ2yQúwżDy—é÷ž@“@¦Á9›Ń}·ČűSâĎߏ¸\úáH{”\|u]{ő©éÉ.îM«§KüŘf—´ˇď‹űFßá&Â’ĽăE#­ŘęąÝâĎĐevî¸FóčCÄ>ăŮ»)ţ c¨żő®Gn7¦ďÖČ?]PŰçéskö„]âۇqą,jkR/—áŰĚĆ ĂmaÄÁ°ýÁ'Ȇ"9˙ëý/žĹ|¤BŃťçĎź3é @ űë/|Pbö ÂÁ—a ÷ŕ:Ř˙ĺ—_rgqăřO?ýÔřĘĆ1( ɬë|VDď,NëĽ Á`0|4ĐĆنÁľ(J^ŹF㆜%I˵ĘĎrąbƤo  /yuuíŢž:j<2 ‡8ĐO#ŠôŹĹe-úĂb8‘ÓšŇ1.á\Ăďm]+>\ÔŐ‚—ŻčüŐUWż„zé©Z\†˛źł›ŤëUIçËCşľĽ˘zuE­X]Ç»Që†Ęyvµä›úŠzď)=ŰYĐZc#ę ¸hÎÝ"µĎń3AÍ3…o<Ômů“ú.îĹéáď»Ĺś*⯇çőŹ]ŕwV~ĂńD:rqa1¸ü+•‹ŻtL%(E Jť.ż›Ä©đÔźBź…đC„�Äś—q‹°QP7Qš$¤ Ízѡ}ă!Ák% áĄ<ćŘ| ßĺ6ů.c¨CtÂFݲpÖ|Ĺť"üčĄv0Їv2¬=/qFt-×äg…Ú…Z[łd—Á`0äŞ BÎĆ‚ńÇ?ţńŹLđĆXçăÇŹą?‰÷Ţ«�ú–BřěűîŕÝÝĘú^a-IÜ©ß9ńgč`b%â!ďlq5«ăEź“0“-óűË ťOBľ`­1HüfćZŕţŔޤQűů”?ëqÜîîß5ѧűä÷y߆:ę> ýô+-ńçă‡KţAűŚď$,€t“Ď/ĎyŇ„Á`0ÜFü1 ĐťaĐ…‘ťěǤČČă„é´ÄŮ×đ!Ŕ Éyâ ç2óçBâ^Ťńq-łT:×ÖA7 Á`ř¤ ô;ŁŘCśĺ hŤžŮ-ł±yfs":č~m4Ř\S]ôĐ%>H8ěaFHC˘„¸Ą/+ @”W„UPF 9CîAĎô6|ĽX.töć’~ńŃ-]OuMŐjÎuęz5˘Ëú”Ţ^Ô´\\EŁ„"‹xaĄeŠ)9ń§RŞ>úűÍ'˘YÖÔ}2?KŘĎëöąő,ąŽěÇýiŐ~.Ăŕ5\‰xwOó­´ĚćăŮv#±ŹgŢgj?i§?˘!řŽńÓsą­źŢoló˝{Äť–^ݧKÉÜ$Jj;ŃPÜ*¦ĹëwŻâÔµÚ”§mß52o´:żžź Ç·Çť×G.·é¨oâ¦CŚ:NT‹ę”§Ęp§É?ű™Á`ř¤wń«WŻä#};Lf0Ž)ęy91GŢżůoŢăÄ»XŢ›“ÉĂÍç×áz—tvö–ăö쳆ŕľ9ţÖĐ 7žčź"~QŁ”qXŮ/éÎ'xJá:¤ăę2’Ź4AďG~ŻŁźŽ$$ŠHł”žFvMĆő"ţĐÎŘÇŐ× zßýwMÄ˝ËXoIüQß=Ü%×Â7d×Ë-ę÷jK§ţ>T|¸Ä�í*&Ć‹‡ ŘÉá»É ĂmaÄÁ°,–Ů Xăă3P�Ě|Ag3Cd†(>…ôë_˙:|´>ăY2żüň »�{ńâEăşë‹/ľ`őźoľů†gÓ ~}°@1 ®…x°Ć‡+®ČÁ`0 †bś€!CÔr`ŔŔoô=…đ5Ś78&űZ— ÓF‰Gú”BęaÓ˛_7fkuQň‘}BvĐdź>RF›ćÇ/á#y©kĐ铡oa}ß‹0űóĎ/iu±Š&Á€X„şWEw[sGoć :żv<đ[×cŞřźŮ<«ťČ¬nm¸“µÔ˝�x<YšvšáťČ?řŰë LĄŁ{Z" 1‘Ł?ę>Céć¤tď]Q„–üYZżf]WM›˘Ű„»ÂZ|Î÷¦C·üĆ]Oo—(ô$k˝"ßžŁ“<µ~š\×PyWůÔ’Ůš”t„"ô¬ýÜFě‰ÖH?Á° ¤O'}Éü$JŽ8&Šç áÝŤ±KLLĚăÓ}ĹÜX ňĆ9AÂÁąĹx*ŢAĎź˙Ä㥸Žł:Ď.FlÄ %v¬%Ť[ČXď˘\4ďBÄľ5úÓ ý`ě÷őüÇ安6‘b7ľź†ŕ:«]p§o€ć…sD‚ű"'Ü.˝ę´côÍÖú±Ţó\7\'LJ·X{ßx×€Í ďźożý–ŠÉ á¶0âŹÁ`XC߀žžÁ â\tˇsI\ž%­ĹŕˇgBç$"}\>ŠeöŚ\GhŠ[Ě”‘ŮŁw=0k0 Á`x¸čë?jC‹oĐwqB~cŤţ#Ś8ÇÇ'ĽÖnÄŕAપ;¶Šśä#}YmÖi“}˛ŕş:ŤQEˇ>‚Ďű!µ[źú~ówąŞéíĹ‚V‹9MŻkšŚ &ţřzE‹ů‚.Doç5ÍWŁh8d"Ö«¤Ś‚o¤š]Űá{̡ľ®*&Op˝ôâj«hfękc&;‚ ě䄵< §'<”ŞR=E+!ŘhW_�~ăz YĎ×[Wµ>Ń>îż:ççj�Ę@Ë‹ŻÉoL`vţÖhçŃëćúXw{›kôĄłČö‹ĘOŠU\ť‘´5.Zş¤–8" ę9ńÚ:vSž ż+´€ áÇű¨˛ÔŤ]ÜâÂXí$íâÚ&-Iő˘áýtڵŰU¶|ÎżÁ`ř¸áł¶_ďNL\ĸŁLNÄFLn©&źÇ+ë<ŚîGęe±XrÜXĐoE˙ô.Ç9Ą+c­}}�†k]xʸ­¨á7÷źŹŽB?f•Ôň66oG·iűÚ\˙@Hś˘.÷ˇ }îŤ÷šďۦŰÝâčz`7°ßđˇâĂ,<VNö4Ř×ĐVůĺ—¬ g0 ·… ĂäŁPů�Ňf €ŚYř�ţá‡řCxňä îÂ7ö˙ţß˙›ĂJ_ý5«�a�Š>˙÷˙ţ_ú‡řúüóĎ9>|â€Â!Ěźţô'v!˛fÇŕ#thFőđ PÁ`0 Ăǀܗ&ţ�0Účpmż1Şóš$ÎÁoxĐÇ˝ľš‡~lTăŃŠBâ qÚh"D !7ÂΓÇĐżŤł¨)©»Fő›\0Ý_żvCŤ†ď §ň·¦‚®ięH0ř-áZj*΂‰?Lhó%-AôÎŤÂ:×\¨×~É LlŔ$Śť>Žő*8WęňrąbęÜt`[”¦�žŔ‘ €ňť'ĎŽVĽ‘z/u[ŽC±čęâ’–Ié5î´±S»×vU]őkňďąMĎçiFčŮ˙W[´¦ÓgřÝ˙Ýúú>3ÄůôŻ›Š<.wŁýÍíU˝vÚ]—""5&Z/ż7)ţ¤KčvŔŐ´–©ę>d‰q…:ďŕFf‘Ę9µÉŠřĂjRX|Ań_ÉÄV‹âxÇ ˛žIDB‚–Ű•ôă˛é­Ť3>fܤĚĹťßţö·ĽďQLpÄĄVŇÁXä®Ŕ(”Ě»®ľ&ŤŰ¬čâ+ŞĄ‹ëŘ]€´a<5wő…űŔµqżčëŠkÎ!h×´B^—¸ŘMnru[– 4|ge_8<Ěţc0 }0âŹÁ`Xţ Äo|ětó«_ýŠ?,AÖÁÇ)¶ńq é[a&ËLk°•ńhvđ!‹8đńŚjř0•١\–pŔď˙{6˛ ůhŤ˛÷uď,Á`0 ĂÇŽ.)˝Ońę'Ĺu3“™cS3›GŁ1–G«Ö —w�M°ë‰ZĄVşe 9ýŮK|'ýď»ÎÖTĂÍčć/Ě‹K_ĐĘGtő*|Ó,ˇřëŘuYDµ“°řä^ „†¨˛·‹f:Ť ¬ËetËYˇ8Ď%µ!ţşn=ďÎú×Ę<Ú…žVjĺţa=żşnîG\=K~>şÄ›.é宿çvÖăń]w}EĘż»{ĐjŚK9)ečůŰ÷9K ]&K[.[ö1’4.ÁÚK&ŐÇ‹zY‡UľĺýuĚ÷žoú"ą‘k˙%âޏ2Ä0^Ső‰ĺ׹č‰ëË}3˙ źňw(ţĐĂ%Ú%~plâÎÁ8hĽŹ?ÖÇÇǬ¨Ž~fžFqMII 0'•˘˙zňhÜÓzą†H„0‘DŮžŠhĐ7őuű.DZpBX#(» ë }ÝÔß=?żH}Ý2őĐ^wJvhŻÔ“¶^Ď^Í;kű¶ß‰lüaĂƸ =Xç‡>&ěú9n0 ;Ŕ?a ň¬I9Ą"řpĹG)> Ě#ŰŔW_}Ĺ3d0đ+D!|Ěňlęëk>Ž™3łP „Ap|Lă„G°Ť5Žz6ő‡˙ag0 Á`�nęŐEň‚k5ZDŻ7ąaĐd¸«ťL<-ŠdÔňNĐ•>±$ÄťXź;2éżÂ0r“şĎĐ1ăĽxđJf†őI@ˇ–\ă\0Ôů’Ź×•źy·ßEž’Ű®~µ‚–řâ�IÇQ‡tŁŻR˝ÔĘ®ÚŐ—¬5YH“Ř\ć&DÂK\ą[gąľä*_ő>ź˝ę2űŔµ®Ş¶?Ĺ5ę\Ű^»nóeÝ­š^ߨě“Âé|íO¤CÓźÄmÖÍ÷ä\{Ţ&ň“K†Úć>’ĘPŁLF-ń¨qF­j·żőjŤř#á"«%ž Qz©Hçtžęb¶aÁp´˘ů9µ‡ŚŠqĘßüć7ÜvĽ#ËMďmŢA¸6ĆIˇtŽ÷%Ţ“˘°ăŕżMŰ•,Ać]%ěݮłGy˙‡ľi9n~űLŐ „¸¸…Ň%»ş űĘpýYH× ÔŤÂř.&lVhŁÓűýŚăŇ?Ň›7o#Ah6ĄŮt®UvăoŢ šôۦ[Č?®MrúíŢłý =“•B:ĘŃ*˝ó>÷]X˙oń"üÔľ1t}{÷îw<ćŽ}˛}!ë CŚřc06mř(ůk|„Ĭ˙?{ÚdIŽe‚ú63sŰ| ÷pŹ%—ČČĘĄ*łŞf˛Čž™ţDŠđ·–HŹHQ¤‡(ä)BV““KWVVfE.±ůjn»˝MŃ8¸P(žľŐVwżÇ]í˝§  P(Ŕ=8ną0 ĆJfđáqB9dżC0hqHÜ0`p‹80 Eüřa ţ$nľĘPňŹBˇP( ĹۆD=NjšÁ wóZ‡ˇ|6”Q–’(<ń§OĄ3z­6ŻNÉ ˘ä“ö?Ńď•ă­`č‚DtmFčďz„\Ěj}W“ZF–B®d±š˛…¸);/–!0]l?_ęÄj3üçżţ‚JŰq˝ň “~ZnlcA†Znëş#b8kyꆩç^j˘&ĺÉD&¸örĆ;®‡ţ÷p0äŐůľ®&ÔŽŚä‰:^QŔ+Sůz w~5áÝÝ5¸Ĺj"Ą—ܰš»kÎăh"·\ĆxŹŻ2$ĹĎn«X!3çX¸ţH†©«!LĆPÉ0X˛QŐˇ, U5ŔÄűëcLžë¬yzŽÉČ@ÁźWňŰÔČ?9bÝ7Bč!Ż:÷]¶Śm‡ŞÜřtÄĐ<.‡Î`|BŁň8¨-…z’´ď›®ÝfAě,üV¶Č;ń»{äăµfČĎ ö‰’”µvŠŞRý]0˙é_­}T(7âşďP,R„˘ř<¤$pĽe3ć='Ú!¨šŁŹXĹÂDoékŠkŘŰřÎÄ"KŮppű—“,XĹH±­ź”=‡‡GtćâŹDL}±nA ůÁ&ó¸Ă]ďő"ÉWΑOé+§|qK†óŹđě›ßűÍď'qkÖJĆo&.‚ôŁX“CĆ›·­ZhKˇP(®JüQ(HZůJfńý,+8…Đ#a° AŘ/îdeŚśă˛TV‘bAČűŤöL‘ş•0ÓV<®:!śOP+ …BˇP(®61ĘËdč˙•ÁŚŤţ`˛Š¸ęĎQBp¨ŁÝ‰ĽGťv—OŹťé¸�I‘öťˇfX3H§¤éłÂ“şä!wAćódc¨NlÖ˙Ěű§U?wY"D=~ßęÄŁ›Ú]^´<ÎÓßg—[3O·˘m"g3!„ŔaŰîŰŤm/†/iÂřđebܲäëKAŐňxÔ˙±3ş:Ăź 5>8« Ę)ýłSH65âGŚŞĘcH­Rk¨„J÷ĽŚęŞŹĂÔ±RŇNţLH>r•˘|<—…Ků˘*!nI˘XTÔ­¦Ťđü–äţÎÍJťµ%¤B˙O_ÂŞAd‰ ®3c&ÖŚKϨ© Đě‹ «C…s­w—^Ő”…<ÁGÚT“~&ä$K‰‚O˘ąB1î%Ô{ĆA±ÇÍpVqs{my˛<ˇˇ}íjüAR6&6Ř ľYÓaĹ+Ë®î —B‹ŻqX¨Ď—06#·!CWçKż’¸ÁiŞ÷VÚ0ÓL»Şî­\ĺ$-Ë$ź …âÍÚ"VěhĚšô]5‹¨3č ‚H„ř/\dake 8‚EŇ‘ö ďJôOAPGŰöôéÓH°IóÝ*ňľâüwH< ţ€´„kŔś­¸§"“l˛ź(Cś‡ý|­nζÜVůŻG9°Ű0·&ś‹8@züř1íîî„÷Ű´r©úF)0ߌ…˘ěÂôĽťTŁ­şâÂĚŮ÷&U[›Śk'ú_¤P(ŠK€ ĹŇÁ¨|Ç€-÷9-«,räáRĚrť®*„`4Ť ct€¦P( …BńÖ ň"q†˘Ńś m7ť`zżîÖ×ÖąŹÚjµă´ĄŻG‘ŚfőEg!ď§ÎrC¶řţeH?9ÉhuŁČy 6Qö¸\\ţg„©QňňĹc¦0ýb„ü1=b“˝ÔVµťáMB�ećľ.áç\ľ5ŤcÄ&4Őýi¤·&·+y‹—~š§ąŐ27V,ąlYČ5&( P0RŠ„N¬/Ň•T㍿^Đ–ÝVuž´abHaő¨˘Ę^ú;!˙x˘&Ő y×PŃŇ|Ç® ű8&dB‡G¨j^±§,ÂŇÎÜŐť„¨ŠHnóŠUíp9\ŃĂ1z8fnźméő˛ŕ.¬tďmv ţ¤í¶ *ZÖ$Ĺž!)˙ÚE5˘~s !…Bńö`Ú;h›WĚg¦®.I{I˙wb_Ő?­©ăŚřcÍBŤ•Ä…ľ1«ç„üä# IBÖĹőŔÂŤ¨»‹ áÉX'‰TžřÓçëé÷Ďčôä”ŽŽŹřüÓÓ_/,ň\Žř“*n^,q'Ď_6®:˝7 Í÷˙]Ctťg«gţ͂Š˙•»zO …ⲡÄ…BqcOçD ! Ą+ŞÓđ¶Ij> 3m>ą˛ZˇP( …Bqe°”¸n©úfč®­ŻS·×­6˘ąĹźµµuę´;5ŁD“[˘Y¤…Yd„ŮD…Ĺ'®óxŞ´—ퟦä{Č?×Űż>ţgźo2˛ŹÉD¸¤uk‰ĆÇTŐOÖ(čÚ–úâĎJ§Bń ®ÎLH“ 9rŁë4őźô™ť†…D–˘Q“ű±KČĹPJÄKžĎ@[¤Ť‘ócبr# S†‰7 Ďp[ŇŻÚ8żŁ©ŚRłž8%nNî⌸D´ž”SĆË“Pţ6´CQ )U=cwiŞOĺ*&˝é&É™đ.1¦"Y]ĹmV(7čGByüöömnnĆĹŠç%ţ@íG1P0ßÚÚb‚Lęújęiۨö ®¸ž={Ćí×ýű÷ů¤+}ŮÂ$] nçć÷9ˇľ…"|"ď˘ÔŽr±§ÜÉĽ,>ďÜąIBP˙Áu‚||x�×iž”ÜĆ‚Q\?»÷ňůbW¸îŘZĎ÷Ă76Ö©·e¤nPś(‘)߯ —•fŇx°řúŚx‡çć“>cEl6+ş§˝^X›öÇÍ»|W …âĘ Ä…Bqc1ÍŐÁ*«®SL›LV( …BˇP\=/»ŕŃŘX' a4€ˇ>‹ĽřŚr«hł;¨ýL¤Ý@$ĎŹMűĽ:xcÁrÉćDźeN˘˘ó\÷*ůżx\ů'\]ö›(ŻŁu­‘”čŇ´đ`žáÎfa/Mî“ćžcăSĎrqwUĎ••v&Qůše‹›4 Ď7ŞÖĎ'JI\‘ÔČcRź#ÉY^ Dˇ2Žúç:’\lÔ~Š×VĎ_5Ž6”¸ă2ËŢË2s·ZT’HéXv‡'é·‰Lô*…ňCDqŤ‚{0[ťĺ [5Űh(ݱť$ú«Żô>%·¦Rěiľ˝–˛ Ĺ[ !¶ŔĹÔöö6+×Î;7¸żż‰?éLS9oÂ$ůŐ·±cVô3?š7Šż~<ń‡jDɨř3 îŕüAPl"ĹiZEP|ţü9‚„"O·ÓŁ ÎéúŰ ×aŇ>ă7ŽyŻ”Ą+Ł6mll%ÎM¸*›!n„Úş”ľĂe’RÔßCL"Ťâ;ĺÖĘ\©˝9/…>Çâe*JSe ú˘~´—|®Ţpß&%7Ł­pýB!ă—ĺŘ=g^ę“ŰťÖÍ-źJˇ’–~Ľâs¶Äx×€E­Ýx3 ×1űvqĐďó=T(ŠË€ ĹŤE5ˇé‰:ŇáO÷7aŢ~̦D˘&ůy%) …BˇP\,+qXžNEi«~`3{Â\‡Á;ďďÍëçMWޱŤŞ%MßÓśĎp}R“}]ÂP ń«ćăíîS›äŻG:®đżmP ő2u˘ÉŁ :™Hłrp™`#Ă ¶5y^R‚FîVŻIU«é›ůüÚ@yYdü–ä'će‹‹qGŁĹ‚ĺn|Č’„€“.b1 §úîI3ľfT„_o,«ß$u‹`19ËP´¬@yŠů5„öł#2ç^¦ĺLľĽxü6#“ß$M6‚OP"SĘ•śURwů®ůÄu%4şH#˛î“Ü3ďf,şC#!#Y)Ĺą·ĆfŠ\tÍŠd …âz±ęÜ ˇ ýA]H?«ÄçI –ۤŮo·[.ţ^řŢć-Uűáw‹k ţčBď'É7ň‹MâfŐőř"˛1,Ú^y^˝zEOź>ĺď÷îÝŁ»wďŇý»÷cĽB ÂńŁŁŁH,BPZáÇőňŮpŹ´d«:ć÷™ĺúAŽ!„ĚŰцpr|ÝşvÜ=Ú¸u‹Šn—Ţ(H'%ź›_đ>q}ë÷Yy ęČÖö6«I˝30TS:e.˙Ś"�Ü˙Yą ;¶w¶©WônčËÖÇ@ ş#ŕą8>:¦ŃhČ…V kµß,ł¶\G˙Ě+­±ŰĂáeřhV( %ţ(ŠŠiĆ–¦cÓö5…ÉI? …BˇP(Š›O óŁ7›‚™řMKOćńú•ÓĺJç.Şř3›�´:ůÇ&ę žAuň ľ—“ÇŚ®ZL~UůżXśWIfîůąĐLpS庨ţ™śÎ^zdń\_nąrÎęUj)De[rW[MĎVľhc–ŐmáK)+ŇŇ×%+×íĽ`¦–±xź…–*ý„�â*k"ϱ|‰Ćz…?®e  čF‹•}â3îój@´1­¤ ¦Ź­Ó<X1"[OŕáôEíGÜ“…«łµ6Γ{XŐW®ę<U¨ź‘ŢâÄĹLâk ך’ƤÉ3ŤŻä–­«śˇP(Ţ.€ r| ĂňI* Ĺ€Čöű€vňŠ]�!±,ôMA’A<HĎ«ßpĚÜnE‹É?hă„ “8丬Út~!xB ® í¤ä;UÖI]xAýHH@Ľ/¸Lß §ggL0�™§ß? ípIťn›¶·¶©×B†7şpÇ''LÚ †´ąy‹‚¶w¶řC‰]«Č•;W-9ŻLĄŔÜHÎčß` ˘Aç•gđâîĘ-î[_§KGŇ3Íţ×VҦ€Ąćŕm¸/\®îˇÜ7ĘĺÇp7¶ţ%öţJ?>Ĺ'÷ŽÂs*ő ĺ0 ™ŕp8˘ę”·ž=}J_ý5·ź~ď{ôŕýľi/×Mć÷bë_]čo[éšJ˙rŕąéőˇ{…âÎy•WĽKІ‚üűyćÚRyż( ĹEC‰? …âŤ@JÚI÷ÍB].·ZMšvçM$+ …BˇP(®�AÝg\z÷&!ţŔ 1¶ălŢ1ďżÍ=,›Ă,Bŕ™.?6=Üꤟ*îeĎŻ ¬Íf9&‡]QńĄvţ5â˛É?Ć6íQţ9ń'OŹŢâŹM˙‰ĐâOíĽ÷-s<Ş»šqaů¸1ěĄEĘĽÖŽ$ĽE;™®/MÍ[$'Q5&ké§Re°E0T#çŘZţó6kz™Iz6®<_bŐ±•ÂQ U…1#*ľe=Í”ü“0ĂýS(Šó¤źßýîwtrrÂî´ŕ¶ëţýűLšˇ€bM÷‚•W@ÎŮŰŰă¶ę9pEf˘uÚvO¨YJűLţ˝öÖâE.µ@î! Ýnvy;ń.ddŮš/ľř‚ž?FëkLFŽútvvâĘj—ÖoâŹőŞoG'Ç´ż@_üéKÎÇ˝ű÷čáŁG´qk„4*Ů­«´ůóí×DâŐŠ}<QŘÁ}?;;cV@¸�áeąµłÜż=ŕńW €dăąg ö-mB: żc}ޱrm=ŢüĽ· Y—ż"+W‡@ú8;;eŐ&顎ąg„]vYß„=ÔM&%‚¸ľFĎ_<§˙ôźţýŹ˙ó˙¤ţçć¶ęßý»G?iýÄ=k÷iŁ˝AKŁv«P<Á$˘e]ý2LĂő{PŐO\pď…¶« ˝»ýzC`ÉeÇ#&E˘mô‹’F4««/…Bq9PâŹBˇ¸‘699 Í+§‡k4Óš …BˇP(Š DE€«/Oüń«!ŮŤKş˘y ¦®&ťBü™Sm>˛©{í-dăg¶‰”t•ÄźI’Éą?L2 sáÝ&ţÍcΚbI}EđŚ\ÉŮtŮ0ç!~™Šü¤ÄźFc†táĆE@ěKźó!V37<I0K5CĹžZx˘¸:ÚÚꓣ .Ľl™¨ ;iC™ČšĄ 5$±S]5§2*Q %Ě8kĆîĐU ‰{±Té'¨c¬Á9śß" cj†¤Xăc•.CÚ&cľç˝¨~ůÓWUâMgÚ/_ Ůu*Š·B”9<<d" 8§§§Lö€Ń]Ü]- Iʍuš¤ ÂE0jĂťżSîDJ„” J 8¤Ť4~¤‡tEMHŽĺEL¤-‹"™H?8u” FP>ëëžřsxx@Ď;mÚÚ‚ ŻÄ•Łm±˘ĹË—/éĹ‹.Ç´ľ±áňsćĘJ6‰§É)ń'Ě Oëś·%Ć˝}ýú5ěď×\“ĺňŰŢŮáßĺć&]Şţ!îîB dŹň’Őn@¨÷bí ü´ń'_0>”BľYĄ*¨IŐÎeJwýW¸¨Ç #­źśÔóž—V«ÍŞQRo—ÂŞýÚ9(Ý•źçŇ+FĹ-ŞúŔ¸×x®ţřÇ?2ń äĽŰwnÓă'ŹŮ­ň†{rzvĘ®ˇ¤NôĎzôzď5}ţ/˙¤ň�<›''§tęâš_ “Ňv§ Jdç•Ŕ–U¸2µ$|ýúú,ŠY‘ĐHsdŁ>×”ø„‹żvT˙ąÉH‡ż§¸?î~†®—Tý …‚ˇÄ…Bqc°č„nę®kŢ*ëy 4>…BˇP( Ĺő@ Ýe,6Á¤Ě.yŘMĐhˇţZŁ»-+†3•üť~«¤š=yÎóó'rE7öćé Ćdqšż’ólóç$“hâL˘«š2äłb=¶˘“:‡ÎŚgF]źeP”óqÜ»LĆŚvKĄăLË® ¬“w×U)Ńz÷\Uz‘&eĄMä#á¸‰Ž±DQǧ“¦>ÉsoL î í rS‘±2&”ÂM$ôŕ<€FÔă É4 ÂŚD (Şúx#n+ÄYp\ľěÜ÷˛SeŚ$_Őu[ŞMI°ęśXĽ>1ScÁW÷5ú”HŰŚč“˙N`E‘"=Ď4‡U(o&„Hc, đ â€p J ÓĚ#©J<)`Đ˙ňË/9.¨Ĺ@MčÎť;|ěŐ«WLü1›ŤŔˇść'ßä]$a@VůÓ˙Čńł+­$~�á‘ń›ň/Ç…�$.Ädégźž={Ƭwvîş÷Ůľůć>ÖëtéĚĄďQ0ńç›ožŃÓožrţnÝÚ¤Ťő :Ř? ŻľÄ;Ę2ţ:E±§Nµ¬?©ëŁÉnVőŢ©í¦Ĺűr’ľR[ő¤|>ˇěN ·<ę}9q=†:!„ła¨— Ô¸ÔB=e¨y.žjsęD‘Ôc±[*�®C\Ι@ ·jES:ˇ®ăţ ŢIť_ő ÷ ®ç°PdÝŐ­5—g¤–wÁf"r/ Üż#WźđÜ!O¸x>YµĆ]×Ypť÷ë_˙šţĂř\=zDß˙ţ÷éoţćočÇŹąŻŐÄMÜŃ!>ÄŤ4 BögögôńÇÓ˝{÷¸,Źʏ=wÝů—Tˇi4qă ë­y˘ßrgÓˇR—ľžÍŽ ĺ€óĄk˘d“‚ŮMCŤřs U1OŇôęn%«ţ( Ĺe@‰? …âŤC>XÍÉ?ł&o§Éä* …BˇP(®6}ĽşBQ­Ś Ý缕}“¤6^ŔXîâ⧉Q# kL+éÓÍŁhZšł÷ÝD,“O%É/Ź\k¤©ĽEëÄÄ`¶ţg\î˝ŇĂĘ %jĆ…ëŻGl 2T3nÎ"5Ą* ţKŚ…B =Ů÷bžPU‰ŰÄčm]é!A!'Uź‰Ž´R—0”d(°y‚A9ä%¶sePĺˇ*ý¶í.H?ŁpTÔĆuNŤIë{Ľ}Ą!6䶤@'H?)±ŇH„1îŠlÓtďČ µ#łdfélÍůť\ŽĄ&’Bˇx Ćh:`śßŮŮaC=Śó�8Ţ´`0%ÓL#MŞřX6Z4?ČFčź6©úäŔ.q]~ |QfÇDµGâĵˇ= #Ş#  É8îÄ ~ ö˘Ăł>ÔG†ôúő>uÚ'ôâÎ+÷z ý&ţ´éĹł=wŢKÚwaĆcCëÇôęĺľ;i€ÄŕÓĹuŕőÂŰmD«÷kÇöĺ:„ô„{Á$’V«y^w…ą^6ÄolPwŠ /!ä&Ň‚Ç)Pl Ä`=Qű‚ň2ŔÖ „šó@_ň}ćĆ·Čł1¨áţŠ ST¬^˝|IOź>eB]Q´čăŹ?ˇ0é­{É.ŘĐ4Ö M˘`CÄĎĹŮé?3©ëŔ÷ĽG>ůĐ+ů¸k‚{'<˙/õ€Üw]¦¨“`đ÷Ő˝‚ŇĆ3˘ÚŽÝÝ]ţţčqĄ· ň~MÚF•ŢŐWló–íşç<.Ş«5.KîG9ŔĺŘ]źőc/ B4BYŁm¨žłó=ýpá†öŰÖößĎś¤ĄŁm…BqQPâŹBˇx«0Uv¸3);Ź4¤P( …Bˇ¸<D­‹8Éč§ż ™ŢďxBuQYjH09,cHڧý>‚:ť6zWcă8.ýĹ”TËó BşB1ľnQăŞő›s^3—@ §˛f XőąŠÄ[ŰIE Š’Ŕ¬KĚŤW“ 1łÓçóLF¶ ­]Ąř“ĹlP2hV(3L4ńšLF|1¦~,˝¸&őśřSĹ)¤(gl-Đ& i©¬Úé]vfaWhdç%?ţ“’ň ‰sM ůĽŐ ś0ÄÔHO‘ T+”čbCˇP(r€đóÉ'źDŁ:Śľ0Ě Ḩň¤Gn@\|đAÍŐ6ÄBÂ#~lŘ?Ťř9'mŰ`řGü EŔ8-ń  ĽĽëŇüK_W\)aúĐ(¸ ˘<Ę૯ľbŇŹÄőô›gLB89>Łő5(ŚśQ§%nÜű©ěĐë˝zůüž={AĎźíÓŃ~źÖzŰL ˛Ćîă xtDĂQźnmn0qakk«ÖXwĺ‡kňĺ¤[››A‰ä|f­ ¨°¸ň‚Z âkM‰ŹŻ.Ů\Ř».,ňpq¨ČŻ(şŕ~� Žlşr°\@á>Ł~mln6şq[|}4kăř摉ҺžÉÇ”Á}Ü„âOęBĚÚęÜ)ý_śr �ŇĚ‘»ößüć7ô?ţÇ˙ _ţň—®lvčßü›C÷îßçr`bÍ2X˛K0pcŃĂĂH>A}�ŁŰóŠL¸opĂŇĎż˙÷˙ž•¤ľ÷˝ďŃO~ňúčăŹéöÝŰś&tŕ^ę\?úŃŹ¸^˙ô§?Ąď~÷»ôţهî~o’¨mBA ®ó΂"rOž<áň„×ÖÖ6»ŰúĎâĘPf‚ôă9Řľ@P¸ţąű‚¶Ż»lýŠ6˙U¸+Ă5ue&nË 3wřlaQĐɱkW^ĽäđŰ;ŰËť–Ŕ±K¤-´9¸~´ ·6]9t(‡ ŇSµe mÖŽË?»Üßă!…]|hˇP( A‰? …âŤmĚ 1MžÚĘď)Çu2PˇP( …âš`irţŰřă0‰\l”‰cŞV ‹|}*˝îŤ-&‘VTćČVi‹áEÂH8…bZ…uF1gô+Ę@2 ä®OP¸‚+©ańŞŻSÖ;„řa(!‹Ôt­jéaE6qQ…ş*u4şĚ0&ý¦ą�xbĘĹÎF_ç3Ă„6j¶xkąÍPQ ÁFę˙BbĚůśK0&%¶x˛Śo/JV8ăB•© Oc;Xßz—E8Ç˙­l5 qČ%Ź‘‘ö8‰şäÍ»PôíWJü©»?ÄuŹÉ”ŢŐ—Ż‡ă߸˛ŰYQăÎ(ćLJµR DɢTČV¤c›`U~�&úţšĚ-ŤĎőE×ÖIɲBˇxă‘*ţ¤č">§Ô'‰ˇuŕ]ĽH)ÄĄ€~¨|ω?©OÓ{şíâŮvń7ÍoJśÓňťş‘$’Ä%“ŕ†ÇÎĂośë]ö´™t?ÖNO6Řl Ą–ťŃŃúi ţśŇŃá©3zĐÁŃÖÖaÄO•ăñŢĺëů‹çÔítéăŹ?¦÷>¤;.ýóşŔÂ}čą8z¬Ŕ1]1éwÁľ›(Ľ,‹2¨=A5.Ľđ>[opĄdCšň÷čőţ>}ýŐWô/żűk>úč#zřč­mlś[ń'şŰ óęß"q&äťJĆoü~WQ©®¦Äź¤×˛P?ˇ>őő×_łJŽÂbť]’@/}ŽŃhLgý ¤’\čGKąŽĂń—Ď_Đçź˙žNŽŹůą d!ţ’ž%<' Ď L8.!tłzM;¶9pŐ…6�nľĽ˙>őÖz±ďo·˛Qů¨,™üóŢ{ďńo„–š?62O&N/YżLúŐŞ,po)©_´8ńh‘Ż?ă0ŕűÍ~!ť…6˙<u&Hń‹ Ď.ÚŽ¸~ýöź˙™†!+ŃެąűR¬ŐŰÜowƉÔËäú¤ťőĎU”¬Ľ+CV´ }؉ÂSBˇ¸�(ńGˇPÜŘĆ Çćß9¦·3V/ÎKsZ …BˇP(Š‹G\ô™|ú™=q “öÉňţ™ˇiSÇlÜY6ňBŔ„ë‡~ȨGQÖ€1�Äěç¸Ŕä;öÉ& y}UĹ»‹v«¤íŤ3Ú荗�–]׍†Îč6.ܶAQÁűˇ›ÄŚÖöuÖ˛E:&ÉĆ0âţ+µ±ę+ÄQ‡1!ŤzŠz+®?ÄMŽÁ0qxxČ“×SÇ<V*«Őq$ŤR÷VŤa.B˘ F ĽĘŘ«}ĹĄ¶5ÂM `ÉXłfćE­ 1ŕR]ÁŤ,Ć»c±56Qeô¬T}˘3/źĎĘV$ü”Pĺ±ńĆ)Ó+•>EL ţÔ7¸9&zľ÷°ŢŽ+âŹúßrž5‘řC¦ô…zNĂh�ŞřIeuťĽŁ¬3iRcb E%ź"Ů䥑*Ş!/ÚŇ+oň¶„¨ŔČ÷EŰ’EĂ!N¸'ĘăoúŇ{#Á(¨ĆŃ’M]ŞŞ#d`éߊ{QŮI•[@ÄůÓźţÄç|űŰßvýŤ-Vĺ9ÇGě‰?čŁ/‚t@J€˘ľ#?P�Ad­ßŁ—{Cî‡`úf«ĺŤćHóÔ…‡2Đ—_|AżůçßĐĆúýěg?ŁýřÇś~NÖZPÎŠŚ´ëÓ(Q€šn®Ś®*J Ť<zô¶\YĄŘýšŻŘŮÝĄç.ýź˙üçĽýâçżŕ˛ű_˙×˙ý8ÔŤťe•n2€đpčň#.ĄP3Ç­Y$ęRŐĺľN ś3—Xž(ÖŠ$„+­ťą€âŘ••ÔäS¸ďPŃyüÁc7Žűnąľ/Rűăy.ˇłk`u"ëîÉ1»ç ú^QęÖ-®ŰrźAŕÁń˙ëWż˘˙ř˙#ß?¨ó€´Ľ?ňéľ~˝G{n  †ó˙úŻ˙šľóťď ”čőŢ^웣ĽpwďŢĺű‰2?sĎęZ5¦ôîX(|GůŤ˛âŃâ0 9'ôOËJŮ6U<ŃfYjUW٧3 Š?B˛”ö…÷S,ܱBžřűĆţŤ‡#ľ~ěYxřđ!mom‡ş¶\ŹíĺËWôĎ®ťůĹ/~A˙íżý7®äő×E?ţŃŹůřÝŃť‰ü|óő7üü ˝ +%bEB_wŰ·i§g‘„úV-jR(Š‹… ĹŤD:]4L™g•4 …BˇP(W ˙¦.[Â1“ŮmT€(ĺ9/Uĺaµ“ŇRî®KVbrć¦ń[ŽcÂĐOĐťrśE\2Š mÎI˛[É?Š&ôş-şwgťîěxâ VvCőET¬úĂ‚Núëtx<¦˝˝AöS5l41ÄÄVЎȅ›€¨X! | ÁżsâŹ(˙¤+š§Ť….R?ĺ&Ś·„@Ăj?˘€T#ňXŞ“m¤]J PfŞˇÂµťŞ=(ů[—Ş)ÔP¤ŰHÉjkJŻT'UßúÚůŠ(é›FŢ@lË1Vü{RdPâ\ئR€"иŞřnDń§"ţP̧ŰQT×S A(ҧl- ˘MQŞne…pU#†VjX?%.m‡ EBÜFźN ďŔ"ý¶HjI J8&ǡ@"銿)~“ĽÂŕ/DóĘch—|O‹+Q!Ş/’ĚÝ'˘ż"n¦pÎzp·ĺ]ɻ䏵;k´ł{—ÖÖ˝űNwť(ů[í‚ÖŰk®˙łîU7Éßß·®\ň Žr}µ·Çs ”ŃnµëeĽbׂ_a ž¤ďč)á Ć(ßë˝’ŹôéP>PwYĂ5C%(px1Ůß{Í®Şľ„ű´ý}ş{ď.mş1ČÖćVCŞŐőÁĹÔ«—ŻčĹó<AߍUc˘Ű¤sľ÷l( N6!ŇÎŁţd Ňs°AE}ŚvKHěůXNÂO‡ôŐüwĂc±÷îżÇĘO “˝˙ţűôřÉ“č mY \÷÷čË/ľ¤üÇd #Ź>ř€?®Ą@~ uÂAąůi%j8¸˝nŹŐxPWˇĆr~§ŞLPš˛Ź'ŠôfBěďÄ>©ą¤ţtr;Ď—¨Źb%×sŃW_~ĹdÄß˙ţ÷ÜΠlqŘ`ŃZ*>÷^í±;1<g¸?ěB±Űau.î˙ë×űôĹ_p˝¬Ŕőřńc~&c˝»6Ě5ßÇ'}÷žŘçŸČŰ:+˝Ú’ …âR Ä…BńĆ`ŃU{9hžk°iá …BˇP(Wچ9@VęŢčQ©öty‚­ÇŚ-˛:ĆKxĄň¸täťŘ‡ˇ \?Y?ކ›¬@…A`uś'üą+0%˙(r¬ŻŻŃŁG;ôäŃŻE˝Ź«•Ч}C{‡}ýÍk6 C]÷uÄž»6‘áQ#›ÉwÔIYµ7âĘŽWŐ»-]ŮźşIÉpM0djźËç•P€±ÓÇsyÚóĆeç"Ű…öٍąžhÎKÝ�ÚLĚIóSK&|ŠŠźÂ+â+™(ôEÇÇELž±¶ĘK‘ą´ U‡d…}Ó5ćĘTq(ߨ֎EŰl$1y˄τ„VN!ţT×MÔ\6©RŔjČîű%*ü(Š7B\±®ŻĄ•´m-šÜ­,+ôą F`´= ć żČd€ÖbgyK^↠q żń^O]qq›»Bł‡|#żŔfP›ÉÝ&I8ô‘6úËč+ßľs—î߿ϟPő'íĽíş×ņëł@Ő®ç‰P %»¸ˇĘŇ=Ľ8vm¶'ĎŹěíěnÇkÉźPăĂ›†s¤ł¶¶Aź}ögôđŃCúó?˙súđÉÚpý¸ÝňéŇJ`7=A­䑵őf÷hťÓ36ÚO„cÁ:Ë*4g.ĚŮYźö_oŰŢÍ[Ć.Ěď?˙=ýýß˙úĹ/~Éj?řáč/~úSÚÚŮ­Ą‡qçŽW6ŮŮ˝íîAŹÝ@}öŮ÷éÉ“™Hň×˙Ď˙}ôńÇ´ľ¶ÎéťÝ~PtŘÚŮnî}&„¨[©OáÚŽř÷­[žüĹ*})iÚR o§ÜŔv»Ëj<±íĘhgç¶+Î÷sˇ„÷lč箪ŔôâĹKv…(ů ľţÔÝŹőŤuúÖ·żE·ďzE)|Đn@%ö_˙ëÍ÷˙§ů—ôÉ'Óöö»çäĎG×}‡z8×Ö|yJęDrí[;[łu¬'Ę Ap{ץ×ëzĄ”AoĹźôĂÉ«Łhw¤MÜŢ©®oÉŘă7v[e[ :%×»LÓ ŇßÉńIĚ׳§OéţáxűĂţŔÄ›O>ů„>ůÖ'tkóV(÷ĹöŕÎÝ»¬&%¦;wď¸űüS&őřzÜáKzúôýáO ˙ţß˙ţËů˙qYý/˙úˇťŰ»ô‘»;îˇ@OOńÜ—ôâůKúő?~I‡G´ëęńŁGktggĂĹçĆmE›GEäS{± …⢠Ä…BńĆ!'î4ËżĎ3ʤ«µÓ¸ …BˇP(W‡Ľ÷•Şmđj»°Âß‹–ßZaĂ„Vĺ!&‚11< YĆŢxY5m0Á)}LÔK:yźPDT‡!F\'Ą®rőÉË/•Eç#çťJ<O×ۧľn2�ęęZĎĐÖF›v¶{l¨Ź »úBŢz¸újű‰ü˘*goOâżL4)d•/ĄF6™4÷D!-<ahČ«jńßŐ‚ŠŞ/ á©ĆNĹÔkOag&(˛?=& ř_„4t•÷©iě—˘~MŐ]EË83Fćo‚ ş6‰!%,iv˙‹ĐnÉŞúś¸î{ŚÓ˙N˘Ž÷9ŢúÄBRJ."Q,Uń •‡U{ ŘăÍ‹Ţ5WŞŘ@5bSń'U ÂŘZ?půU(mG—bŹťÝš4´ĄV˛Ζ˟ćć&ÝUé„{©Ě®źfJnu®@ˇx[°l˙Í$dC!Ц.‹Ť/}Őß3¶öŽÍ×KÖ®Ô=K‰î�ČJ©É ú˝  Ď€÷!/PµwĽqýë´ u=n6ĐCí§Ýń&µşî"ÇL„—žÔtrvIËRŇOźg(ż{÷»^{ôč_`ô÷×]¸&´ń¬:V­oáG xő˝›Ż˝˝×Ôj·čÖÖ&«‰p˛%\EŤéµ;Ĺ‘§OźŇţţ>»pˇ d d˘T–Nl« u*G–«Z˙�ĺ}űöľN\îÝżO|đxŠRĐň@˙˛ČC…YVAHú?ő·®VsTr-Ô\ĺ—qtßeřÚwww9ľ]WĆkkkt€ŚutxÄ÷ډî:P˙»QIÉ]•ą}â– džď|űŰtçŢÝZ|¬řČśżŚHĆĄ„g.yfÓú> i˙Üf±.]˙Óv§ţŮ佉(bÉžó—}9–tęÚ&¸`ŰbŚËk*žˇś§]–,iHąh7AĄé>`’ą@úI] â|ڵ°ŔâĺËtčÚŚł@˘+…¶é‡Ąk;Júćëúĺ/>g• 'îąµnĚ·±¶A›Ű %®ľ´[©P(.JüQ(o ňAqľŻéwľň/źäMäÓö+ …BˇP(®<g\«ž´ŚHľ{ăőh4`V—bőďćć]g”Řf H}c‚“ŘĂáyR«ś1ąŹUÔXéŮnż®ňÄ ".”�*0áçŤ&ËçôţăŐsOĚśß«dčúúÇç%…\'ůg<:ŁÓĂ>ď»Éá–3ś­uČŽN]ÝíÓĐ‚O;nâx—NO°ň|Č$ É/&’™6‚•Ň »ŐŘ/±÷+¨Ť'.Ś]]=<:aÜ+ ,ŚL~<5Ř |wcŁ Sđ3•Łil%ĆAv5!“ěa?6ŮŹçĆ”ňĚ«ý”´žý,ĺ¬yFŐĆűÜ Î#n�EĹ+u^kEpbÉ%Ş,5B I7ÉgN±Á0ă•‚L=®xž‰ 9Ö“ľ ´EţSH^¶¬ě˝$č˛W†ô$îULBĐ~ Ă=‡+®q ˙xś•ëŁr<đ¤źJ-Čß[qAá=}U®9<; ™‡ďŢ@hMłĹÖT7 ‹awĆ T%vVĆőĽ ÇhK 5–IfVLëOBŞJ÷Q–+›‹L$ RKŤBqówá··w!}ş”ಠ¤Bú•řb ^đ~LIóâ‘wOT Łę=%ńă7T^÷T­Î„°ËvéĐ—Ĺű™o\:˘Z”Η˛2‰{ŹĂ¨’<ŢííN›Ťí0zŁLá~kc} ,>ß®ť/[îýÔIÓ0Ă{AśĐÉŮkŽwßÂqŤë®Żăz —pÍŘ<xŔĺ‹ăHźŹ‡mU⏸ćÂý{=~핚‚rŇ>99eă>®äÔ!¸ň*A&zôë_˙šţîďţŽ~űŰßň}ůŢ÷ľÇVQrý´QP¸ä‘üŕôńÇÓw?ý._űˇ»)ŕ ä �Ę6mÔߍ &ŽKy íüĽUá N}ţ‡ĆíÖâ.’|WĄ~ä>29 ‹'Đ?ůkÉg ĺ°®qÇ}âąĹoy^†!Ď«âäřÉéPuĹ=ÁýýÉO~B>ůĐuYJÚ{éëîŰČŤű@ÖéJ>¬®Ž úýł_ wŇLL‚k¨ă#Żŕôĺů™†#7n•x‘6xp>»áscŕng5ĹŁŘţe·ĄÖŻ]GIĺśÚŠĂ&ÜaŚőŚóń,ˇý�Ií$ęĆúĹńqă˘o "R±K|˛»0W_7Řťá-ÇÜNĹó ± ÔĎ@JüńŹ~ěŇŢĄĎ>űŚß¨÷/]ŰĽŢŇ~ćÚ‡ßŇ˙üů˙tőů€ź3Śő  u÷ţíŢ“BˇP\”řŁP(n4ćMŇçŞ>ůdmú™‡kŕ˱eWę( …BˇP(VGł ¸"*°Fˇšš†7ŚxăČ“Ŕ­Â$NŮčÂ+ŚŮőWɬ!o$U ź¸3ćŚR% @úâÎ+5Ȥaf“}C±ˇs’ÎCÔ±TźŐ˝ŇĎőo®#g:x}D/ÚŻhÔ?˘Ť5gü LüÂ…‡› ?íŃ‹“3gä±L`łˇ®3é'ştň+˛axcĂ\ic˝L•hRF0ŠLо¹BÖI• Ň01â©ę€_RŇŹ¸ŕK]† ż«¸ » –lŃnL‹żIɨ‘äí­ňŚŐWĽűôšk>n­˛R_ îWS ˙„ýe¶ęۤßý‰L´ §”†łMź'ű`c%ÇŠă2ä?´s˘BŠü‡ ͨ­Ż@'Ź “—żO2 çĚđMcir ߉BßCVÍĘę.źŇŚSM±ŞÓSăU;Óôłłę/#…BqĂÁŠ®o(†űó*…đŢí[s–A® NÄ1Ú8ŔűuŮ&Č*8†tŮ`Gźäqű…<Ŕ= ¤7`¸~íÂy2Ë)Ýąs×Č7˝ZiQa]Ü®Ť/ş-W—%»ýĹţűCď*­ú ąË*ü†ţÎť;L·dçČ(§''‘ĚĎÄ0·¸h‹`\\ ýüç?§Żżţšó %'OžTW„qBP 弢¬řZLčs„ř°¤ ěűř“Źéý÷ßç{:K®őě˘ęo^¸‡ŰčË-AüI!*P[ˇ,đžÄő­ße]˛ąr…‹(6¶w¶éÓď~ĘîžR`üŘ Ş˛x{˝‹)˙ ĂuG°HőÝ»ű× DłU‚ž Ä"jnmPŹÎG$ll¬óó{‡{ç ß»˝n2†ˇúphr�{ĐţaŰŽ.ď&Ńe®Űěęí“OĽ"܉2PJDGó<.}; ‹4F®= ÜoHÜŻ· YS(ŠóB‰? …âĆŁI‰g–âO:=+¬“­’| …BˇP(®Q>€űuTÉţ{Ż•S’¶ďĎa˘+Ł_đJ»‚ ĐlHhuyňńđ ÔqÉ ­Vĺ*ń˛šDč¦ýÇY¤ńݬvMŠw }^1˙ŠF'g¬0µŢkŃZäť1éŕ´G{ ťv¸[ëI4†Zˇnz¶‡l�!ęäd´iăťÂd®A¨Rď±,G?¬­Î—㜎Ź8îOI3"­ßa·bް…ďŕ4¨"‹©.ßŇt›®#]ä1‹°3q^Gî’e–Á¤"üP¦[Ź9uĹâm fjS[CęĘÄďrĹÇ!ä®´ĚÄ…ťaçőűOáă‹+šm$čL;7¶§”´wI†WmżjÄ&#×[ 1ő<˘zÚ‘ôÔš|™%¤¤ř ďUäQ(—!ˇíµ»y}ŦăySŢťSâ‚m-|hë–m™EÉ›Wî9Ą?ýéOLţ€‹›”Ľ‹ôĹ}ŇŹ]ßîŻéôäÝ_u×:´ľ±FÝ6uG%őĚŘßŰ„ŹíĐáxŤ¨µHž ÎúŃE1)¨ü€< ľ×ĘMľ,Y� S˝pý1(ů`\€xďżwźnßąăóéöA%ôĺË—ôź˙óf7^P릶»ĆťŰ»n4Q÷¤Ă.ČţęŻţŠľ˙ýďÓ·ľő-&ő|řŃGśoëŢQp&.¤@‚rFnŠóľŢjěŇĘnÍzî<t€-ײrZ‡®ž·Çg7H/[Á•ÚÂďg&‰ą8Aô@}ęş{ ÂÖm·yuĘ%ŁuŰNČ‹”ĽçńűĽ¨ÂŐo(·Ľ÷ŢZŰX§[·6hss‹‰#) Ö$hráµl8Ô‡vË›d7·'ÓËú2Ç{ç6?+rţźż:‘&mŽö÷Ü8ú€Ő­ĐźGŻ»rŮŮ]˛>@•h?¨WalB žUă A¨ü Ĺ»}÷¶{^ołÚúwîŢa’”€xÜ®kbá%űÚ‘„⏀ ^ ĘDWŠýţ‡ÜfˇŢȵĄ"Łť.ĆW–öö†ôŮ÷ľĎĺđĵŻOž|Ä„Ą­]×O7_ÓëĂýJ”“ …âb Ä…BńĆ!é¤č´đĽÚ4#Ą“´ůąJR( …Bˇ¸J$Š”ôó‚ˇîmęÚ@ÁÄŚŐŁQ=ŢŤ»Ă±Ą›Ĺ*ď ?IZl¬ń„ ô˝ŮFâö•A^ůÁdžěˉA‚Ľď(DäEń®ˇŞٱˇĂÓ6 ®^©ŰŃzŻ`CÉɉŰ%ťÚőÇ‹ÝŢ˝ĄăÇ+m¸IĆ0bd”ş*ĆŁ”Řb"®U)đ„cR§±?'ţČř +v‡p…ŽËJ}I] ¸ßbWxB J]iŐb¦.©bĚ2„ľZ3BĂÂáD�HÚ5!¨”á~ĘÔ‡Á?Ü=vkUţŠMŰÄ@ž2RPö©.Â>ź¬'˙ř\·’L%JD}]ÍČd¤ś4˝E4a˘°”ú\±QMnĂĆ™YÚ™EĚ ‰J2Lń§Lîc]U©fÖQ(Šą@ßĘ=xgˇ_>«G†÷ŔŠ6 Ę%ňŢM‰µ)ň>­ě“w‘¸ŽEš©âÍ´Ť5LićĆÁUJHĘó'dbé€ü#ďoéS±W®ço@ůn–\8vYtrD·No±[ס–S۵űm¤ť™ťFîY¨tQ—ľ\ž={JżüŐ/éé7Oůú}đ=üŕÝáäť“ş¬9hg{Ç•C›�eë�á�ŠŔÇL÷îßó䜬ź#D& XŐ1ô夼VH×á{™°}ˆđK—C¸®ŻľţŠŤž={Ć÷÷ÇŹ™Ä´HG !éäń›ú'úüóĎY% ¤ îKĐr¨Č˝Ä}Đř;ô{Ď[č_©mQçÂ{hËř}ĺhÎ݇Ʃx–A,úâ‹/č®>€řŇÚcw°Ď®đ¦ÇßÔ,!<ÚR}~ů«_Ń—.Ţăăczřđ!}ü­OjŠ8)Q{~^ËZëÂjČÂ­Ä…Ł•Ĺ>‡IfýQ˙×t%Î2éLN{άń$} F¶µµéęO3qË€`Ůk1ˇđŰßţ—ńĂ÷ßçíý‡¨»6¤“—UÜYv …â<PâŹBˇ¸16éşčdě,ŇĎ"adü*'ž …BˇP(s`˝ú=&5<ž‰“‰zo ‡AX=ę>¤§Ývű <čöí]6ŠśžžE˛‚¬´Ćĸ¨—ń™8.űSW`ąAƬzĹjŇ5Ĺ;+š-ü«¤. Š÷iDCőGDg®žrĺ¤ÁpĚDźv×ŇZ†Făٱ3hŚŘ)†wé„HLÉ“ÍějŔŐ]ÔY1¨‡¨sXyŠý¨{)‘GÜ„ Ń­"LŘHä™6ęźťŃÁţ âOŞşŕŮă§Ť"AČ–ĽŮT•%űśŞŽ“ě_dŚÖĆš‰0B\ňe3i¬­ç±ŚüQŻ ±±39Ű{„°Ă×>ćx¨Fţ!ö¦Ĺi#<ʡpźĄŤÜ„ărŚ1™C}ȧ…ϲ"żXůk…Đ?…߸‚’YPúˇDE-^O(‡÷¸…tLB¶Áw}Râ&• U(ü5h^ ŠĽŃ$a¬”Mj—™›BˇPLH?˙řŹ˙ȆY¸Š»&(> /}x§Éďe ď@3é{d%?ŇĚߣ)ąˇIoĐ€ë)¤R úÓK�Ž2(Jä<ěŠ(ŃŔ¤…k€ĽWĘČý­i$B ÝĎw‰‡'ÇL6ŮâNp1…´Q)FAĺÇżüŽe@5[ţ\ŔđŢ«=úů/~N÷wG_ő5+ůüđ‡?¤‡ß§nčŰcĚ€~ ĘäG?ú}ç;ßa5zZî} µ ‡~ĐČ÷'Po„¨…ľ?Ô_LáU™PF(/”!ľŁˇâÂIJr4Ńw"Ę�Á`ÍőÝPGçQxN\^žżxAżřĹ/č˙űüLĐ€ ňöř¦ş8š@Fćéço˙öoůYBÝűŢgźŃwżű]ÚΔšęT—P>¸˙ČTS�Ϋ|…—ýĂŘičť4úý3΋ŕĽáĽ˘ÔGý™w?ŹÜ˝—xąÖz¬¦Ś\=ĹŘŕ<@Üüăą>@áęôä”ţěĎţŚŹˇ^·2E*AT‡Ěš˘á`HG®Žýň—ż¤˙Ď˙ţż3 ížło}ű[ě^ đ|¶ra Ô~0°JIż#y<ŻíŕęĹŇ\iĘfj ‰óŤç`Ó†rEźtÂůCVíJŹÇüşĆnßHŃvŔeÜ=×Î,„6yTIˇP(. JüQ(o¦IŘĎ›ž¦ÔFÉ? …BˇP(7^ŤGŚĚ”¨NP$űěNÔ+dç8ř¨)·GE µ(U”UĐBě˘&˛Y=%(§ÁAŽ‹¦îJńŞ)úÝBJüiŃ „Ű LňŽüJńQ 4 ü´‹6kł#ľJí'R*yĆ"›(üH]“•ůR'SŁ[ŞnÓ¤ őß§]ÁPşś’Ľ ah–Űd›‘<šĆlóĆ^çZÍÜVýĎSü©&(«qö §mŚĐY’ö)ˇąć˘;ÔËJ&ÂáKáÉBÄ|ŽÝú}±qcűaI“z˘âŹÔ#vzH•«.Y!NÁ•ĹkdĺPZG¬M(;!ď6’~Ň­*—ÉćÎćú@ hRł¨Ę8ć5śź’×bůŘ™±) E#`4±Ć\=„¨€ř’íf0V//H xWŠk-l˘°cHďvv •ôCĺÝšľsÓw­¨ęÁ>n7âGzČ7ŽKš©šPô@F‘ţoŞŚ.qbC $ÜYżĎí±ô=Jy‰MjaP·LňAů"Źăń® ¸&¸ b—AÝJµj<˝VŹŢ{đ€ţâ'?á}ź|ň /h)µň+ŠÚ{9ďkXy_Ó‹Ę«9Žx%˘Ű·oł2I§Ű]9Ţ1ÜšĄ)<G»®®ś'> ä^ĘHż‹.ľj _"ܦṜ–Ď2”ęĚĆ­ ęŇrD.Ö…”RL!ĺ,V ŮuňĚĎůîmďlÇ….3‘Őĺ¸'ŚđL€0:×\Y÷—Žć"Ónx¶Ó¸ŰmC®M(ÖčŢ=ďÖokóV$ ťśź…¦2Ů …â" Ä…Bqă0«żČäpÓdrÓ÷¬8r"‘BˇP( …âzPwwCaŇ®Lú…T‰RPjü ¤‡0ËW3łk°Ż’ʤ%ý@LV¦*@�ŚB¨#Š€ä|1̤nhď.,»|łĽŇ“ëŠÁ*~ŠäśvËď9Ä×%|5q%­ŻŢu’Ęp4dă‚( ČÄş¬Đ‡A€1éŔ|ŕ3uc×äz$V&§Š@é¸*uĄĽPY,HôY¶ń9«H+™ń±´őq˘­Ź嚪g9=»N,¬.ÝÖňC‰Â«I{Ŕ÷2%Ýţ]ç*Ú†ëŽŇÚŹÔ8Ć(ŕz…1ĆŃd…µoź‘NJ뱪ĚQejD čřú{~EÝZÉf@KDç‹]ˇPĽë€qÄĽˇp5RĐçĄÇUÜ áť —G ů€8„4`üF\Ż^˝bŇŹĽżS2ă,Ĺźôť rÁW_~Éń#ď [@9H\Í y]0íÝ"éµ2— ŘP6((Ť°ŞŹű-ďƵŢÝÚÚ¤M—îÖÖ6­wÚ´6îÓšëď@ŤŁÝŞ›ťŽ#:;îO”Ňyf=Sp×X(7¶2ĺĆ×ď l•ŰěŇ yõúúöwżC|đ—[žţöîÝ{ď‡ň“ |űÜż˛±ěZ_~)7îR{îţ †4¸l ř]ŻÖ/�ńń ůJavÝoÜëó�u÷ĺ‹Oô >ýôSzôř1ÝvĺĽTüIť‚»ł˙÷˙öżŃO~ňvó·aź|ë[\çWĘô�JG. Ä|I_÷"ĘU™ŚżÍrő…p‚YáŽ;Ün@mëéÓ§ńć"áűďżO®^x6 ¨+—ÓwaqnYúţQ´ÎM„b*÷¬"ŢÇ® ˝ď|÷»¬‚…g®ŰťBLJ»®I°Đf'ĹŤĄđśÁÝ?Ç^¬WXB´ tÔřöăöÝŰśŻ“ |Wťř|Úř×L°|$Óu  ďÚŰoíl7şđBžÓpŰ;[u…¬$ÚŇŤĺîÝsßéµH¸Zq:pŐ»°Ő¦ä…BqQPâŹBˇxă°čÄa“šŹ’y …BˇP(Ţ[ľW¤ß›+(”˝Č‰˛ŽŤ*˘ěÓr“˘ĐlµÚÉJi/ă‚„¸îJI HŤ*” I�ňŢBŔ€»0D‡óĽš_}íŤ4&ž{ó*•,^± PuP?ŘĄW»KDş‹rO “°ď'‰[ˇ_0P§@řA=Łž$ĹH߲_;0LĄä ÔŘ—+žćă%¤S&nľŇóRŃ4Trú¶FŞą°qŮ"Ě()…˛…ňN ĺĄrÄ$Ă3íÁuUô±%*8ž„•_QúLX+.¸âŽŽ·3ľŇĐ«ĺŇ Űš\ť`’—ś/ aŃ=–äËVuÄfY±ţäJ‘(H´@Kjä?9mwíĽ ˝ ¶ŕŠĚ5ˇî9ďE˘ 4"q¨Ĺy ĺ%ą•¸R ˘Z»<á̤7mZűbŞößÖÉGR÷|q—DKÔĄĽő36¸8›…‰®Ň ĹŰnAřÁűLH p3n¨¤Ź8 ÓÔHŇöJ±RŹ3†‹ę‡ňřňĎô˝É¤ [NěR1â—µyŢĺqĺR Źë·ˇ .á 1 oôEĽŠPÇ•Ű}ÚÚŢöŞ7.™µ˛E=÷^Ĺď ×bĂ1Ý2-Ú ®´ŕ ¤Ší@îÉU•pţ˛îŐaŞřpm< ţđGĽďń“ÇśvÖ[ë´ľ6Ýť<†ß›eĽĎm,&hÉxÄőŁôí‰ňbňÎ)<¶ŕš5(ĺŕ{‘t2Ь>­¨đ€¬bޏrűŕńcľŹ+!Ô?”ăgßűß[Ô#ćúłj~ąnnlDň‰zg‚ňęyëF‘ő‰—…ˇşÚK+¸ÔĹVWÁŞůŽáP_Ěěň‘ë–ďö\ ¬ĆăŇ@;€Ď÷ĽÇdš©}䦮Ź5B›úü€Ë$'~bą¤Ë˝ŕ8ăx!ßá{şđĆŹůCQ”¶ňüú€q—©˙ Ď-<<ć9�SÔëw’(v{~D8›\ĎŔť_ĆQĹdK P(«C‰? …âĆÂLČÂÎ^ůOZça›T …BˇP(7 bŕ„|L‹79ęż$łŤÖđŠU"x"ÎMşwśA“—ťv7N’‚ĐăŤ.W­¬Ćďj¶Ď$nƸá'ę„Čă ý(埊*ĺ!ď^ĚÇE7 ÚľLŘ”¸Č fŚÇž< ® €1Vy–ľ®— g!˘Xá]đçŘĚŽŹý÷ńhÂĺľCť UŞ �Pvjj7D3Ť6QhBS|ő˛<–“ÉÇęĺiF!7C—}·őÜ>¸îóǬ±áŔ†P\đ‘x"Ĭđ;Uü żk9Żl]ŰQ`…2VŚ—\ž|ýÖ“†Řb±&C<ŮFňť–}pŁdŤ[ȣš\Ăź’\˝é–vŕ~źń§§ńxC+qkŰru˛óĺ aDâ>ŚŐÖřśP1ÉÖšb &[s}ʲ¶Ś9ůn›Ś^¦±™Cµ¬¶fő&ZĆf÷ĎÖ÷Mˇ Ebµ U(Ţ€ 5 ´‘0‚ăÝ)mŤ(ÍĚry# j)ÁVâ…‚ö Q]dA%ĆÚhh÷ŞŢ ť»ĺ”ř›”× ¸ IWHJ�ŚîBc{~>Îâ >…trOJ$†2öˇP6 u ˙8Ţ IŰ;;ľĽÜ»amÜáĎ´b9»ţřÝŢ­oßfňÍéÉ)ą~z›îßżĎyIëBżćŕŕ€Ź0•"ľŤç’ĺ]í1tńl…ë…ęĎţëý b§Y Ť‡ú"®Aî/ĘŞ$Ľ `Tő»@đ‚ş“¸x½fŇBË“ň´O\ý…qÇÉń1PN�ĘjTWEŞN*®ŰŘÝ$H–ŤËGHľ<F\—ĄŢ8~ňż pďĹ-ęî?ĘewęâťłPΨ[ŇÇ희MÉÇÎ+y¶âőážáAÝ eÚyV™śçęÉáţÍÂéęŻű¨vĽĽúXŽ´ç$mę0ÚOśő'ž·)yú>î9†ú ip]’Ě UBŘ�<Ň–R§Ç~! )<Ś/*IĚ˙ÇdýLnkÜ˝r¦¸S«]®ń‹€p-Ňľőú™"Ň‚×v„:<ş>W‡ …âí† ĹŤÇ,ţ´5Mr¶édwJš¶şUˇP( …BqťÄ×_óúť)ˇ‚á…ź(É}żš«D 9w„ˉ <A89ďa9—K,ĽR,3ëŞýäĺ4{¬Ś9|µBę�á&ÇKżâłŞĘ›=QŘćÂ@]hţÂ*ŽŮ&¬yă ”Ö˛Ěâ‹$‚‰s®ně%Š3ä ) ä%Š?^M§¬ÂPŢTëpÓR¬Ć vöŁÄi¸´ 7ąoÇ‘ÔĺŤeĆëćŘbBŔyËšq†˘ęY2ľ% ”ť¦´™&Ć*?ľţYVűń >ٍřbŹ'ĺxĺ‚‚K¤—f=Ń'–I 3™Š\”ćŃfekkJXj.¨űŇçÁL¸W\&!çM%ýÄăű~'ěSR(o>Đ_LÝHÁ Ąôő°ßŨśCHâ¦+ťŁL‰8V Ô ˛  í©‹©śđ“Ć›“f[í+·4µD9‰&ĎsŞ „ôˇřáÉ(-n«‘O,Đź†A®qQ *!ěÁáëcݱ’‡(ć´Ü»ˇ[¨°ľ/žçkÝ´hŁč‚ÄżAŚ8 .ŚÄŤX vt|Âĺ9S±dSÜ逤ł]qyçĹ9ă5#JxePéă˛-ëD­şkJKó誸^Ô9ů»Żâ”^d\…íĽî˛R€”ÔYU5¨BDḡôăňŤq]®˘µ*đl‰+ŞcWϦ”ʰeŐ¨äj$ż{nĐĆ­ěŮk"Ç,‰ú°l<SČ9~î»]|•]˘_5Ąë†Ý݉<ł* ňłÚµ»´)~˛Ëh¨žż|8žĺmČ` ~‚č5±ÝTé ‰vł´ç'a) Ĺe@‰? …âĆauž¦•Ł@>Ř4AŤ0ŐjîÉAşBˇP( …âúaÂŞk/‡Ď{ň~łŇ “X…YëNW%Q(®RS‹ŚĂţh(şiu´ľ"˝‰l±Čs5—`t©Ę?!TŤý8Í¤í¨…ł±~ą„(’«|Í‚1yQ\BLŞÚâoIÖÎVxhRĂW"EQŐ™FŐ%6DŠâŹ(Óř«öźŢmI<›LęŞkŃ)×nr‘—qGí%Ĺ«P(Ţm€\�š\1'‡(C¤mő,ácÄ@ýĄiRT8Äe§|J<I&VnEŐŐ1»^Ó$×¶··ÇĘźţ9ňá‡ôo˙íżĄÇŹ? /_˛ń¶<ŮDŃBáhRŤJp%µHÓ; „ýö¤Ë#)2ĽJNťô˛rOÉÔ>ć˝Ď§đp4 ˘kX…eĄŃ^»G­˘2·ˇEĄ’őŤőŕ&­ÍŠ?MI#ÜÖÎâOú{UťKĂ%őŮd®ŕńúĚĄwË*óůçÁ¸´L¤:tuüĹ‹L2k<P¶şµµĺîĂV$ 6őéš/$|®]<'[;ţąČ%IOK§÷3Źę· ¤«´>°˘R(˙Í­M×n{Ő´E«c~ëĐ3şgůĺ«Wtxx@ýţ`"ďú–«hż7·A Ýtőałfa¸Śľl«i^ˇP\´uQ(7ůJ–˛?źMʧ2öŇ1ĚäÄ`ą•Ű …BˇP(ŠËĚŕ†ÚO:á?1ĎjëËúj*ŹŮ±i)­%)R4JÔĆ"ym+ů˘dăa“k8Ą7ś^ů¸>Ăęm^µË­Ľű*ącŢe_(s&ýäźÍ$ˇĆTˇđc@ÜlÝţLü— űD!ł:–äŃŰÁükń¦%¤#k‡.ů>« ‰«/kĽß':¦čş+.ʆk ź– DµŔwĘu|¦”ł\CÓţ n/˝Ś]&j±}Š7 ˘ě%‡č†3Ü‹«×2ĎR âÄw(D ¬'ŞĎ7Ě YhÜĄD!úĹĽÂUö{·µ©JÜň-ČJRpáŐn‡@*±ˇMEü˛OÎÁĄÝi{•!—»}{—66nU×e˛E—Ů[î`.»Á=ÇđŔ¸×häęÓŕ”ö÷©Yę]&ţ¤‹YQvPMęöşLP�ůGîă?„°oîqm}Ť¶¶·čřäÄ='4MýD¨Za ÷oa\ ńe%ĽĹé·mv© ¬­P×iN;ď~NÉî+H]P€»>s1EeěÖć-Wo¶™đłáΩ©f-q}'P±ş�ĺ*…Bˇh‚ ĹŤANĚ™5:mp.w‘˙‚Hď¦ajˇŇT( …BˇP\1Řm¨ÝrĆVş“*k@Ş˝ť R›0QĄŁ¶ż1±UˇäEŠşžľp7Ş]¦&9oăÁ˘áü*ž›Š&5šoŚfśń˛şmÔÁvGäC'Ĺ›†öŁż;Âj‘ř~jşÖÉËYËbŔ„›ŇĘŕ„|Ě>˝šŻšPp`ă.yĄ~“—* ˇĐľ‰"O$鸼–#ňd„şí”ŕ~̆x*×]&P|ZTQ|$]od–Ş[ă·I.M˛+˛™ššç7§˝´é5Í1)Š› h@ұŁ1Ô”ÂS×ËÄÂČ ć m‘JA)Yf„ř#Ģ”ř}BAĽ˛Ź•y:ťŠ4‚xĘĺÉŹČ;HEpŻ…8omnf*w>p/×^ź|ň =zônßľÝ~ÁőÜ0MsĂű.�sĚÁž?Nżýíoéő«×ÎĐÖˇÂř‹(<É˝}ďÁ{LšÚŮÝqŁď’kžŐ÷ľO»·wéăO>âg® xžV6Ĺ €k®ÚîŮ—†­˘ĺÇZŐaé‚RÖˇnNďnđĂŹžđs:"©(ëk{ÁźBˇPÜ4(ńGˇPÜH,*ß´ż‰ÔÓtn®´°L§BˇP( …âĘŔć暼ż­/f›‡™CÍRÝ„ó.IÉâ‚`++ĽâJ‘Î.Űh—3);"[x0}ôćŢ? $—t ”–w|#ŕ•r@ú±Áť•7ľáäqaĄĘ— VX!ĎÖ)¨É­ôÄľběbĂ6Š*=ń‘4Uć›âŕT#á(]¬Rú<ŰIő ’Ä,c]Ż8DAÁ„bňĎ0ZD<ń©jÇüŞ÷”ĺ‚ö7!˙Pu_«0ˇŽ› @QľŞáŞs.=¦çŇ QęlBńváĽí…xfÍAÎJ7ýLŐÍó¸RŐň¸ŹV'ŹČâH;M5ÍĄ’ŃÎÎ}đř1m¬{5 ¨žŔđ #ůúú»ŞťF7˝W|~€„Ôáń!ííďŃ«ýWôňőKÚ{˝ÇîĘ@�ąj­»F÷ďĽG››\fěN năŠf_Š«îɦ«ă °)Ţ< =¬T~f<P >kŇŢŻz‹ĹĄĂk…BqCˇÄ…Bqc1ÍÍ×´ďé�YÎO€ň¸ă 7IKU …BˇP(n8̤Ą_lÍóöůfŻâ˝`ňśô§…źö;Ź'íËVam$˙ĚKwŮü)–ÇÁĂ•–kČĂ4Ąž‹z>¸>^ɵ™ĐLćŻć2‹‰Ł´‰ědlŢšşž®ž)6j•±üYK?+ź±wďelWóâ”iăĐYеéFź*żžô“Ş9d÷.‹gŇriş˙R§s×eW ×+ TW Ps{{‡ŤüPąšČ4‹@ćá~ë›oľá}<`bĚ2 Bµw%אּ!ţ§OźÖâĎß&Ła.Vŕš ĺ & ď 5´ŰôäÉş}ű6ÇYyČÜAś(&H,¦ţm^ćć5Ó×ÝmHż?čÓË—/éů«çô|˙)íďŃ­Ý ęl¶©,J:=;ˇ˝˝3şµ˝A?üáéń'ŃuSĆ,‘ŢUżĆ–M˙m/\tů/[<šţbéG2¶i<×,˙˛ÇĎ^ˇP(®JüQ(7fbĹkóÄrÓdgz~şâ& #®żŇ•-«¬ĚQ( …BˇP\C}Ú/L ńTůJ˘ś>{vÖä{Ř8nćß%ÉÔĄ-¦†žó{fJ!=jĚCůGH uTĺ D©I"´k–üëŔy“µY]ąF4‘`.ŰĆcčśóŇňÝp…ňL žé˛>ĆŽĆ4•ĽęľÓéŇúúmÜZŹĎ{ÜJƉŢ+î¶8i¬‰j;ńľ†ď5…–;· L/ě§ ő§fĺ *ڧa„EPŔ3žýäy–üřč]ú¶í?9űP ¸-¸—qűŠTŐŇB,Şö1¸căr¸ţ‰±¸MŰÖpŽIĘߤ×ëË”Ś«Ó-żu>­Ô­ ڦwďŢc÷ pËqć ŘŁPi!†ř™ÖkiyrŐDä˛\Lů®P(ŢÜÖw\[żÎm¸ë9ď\ Ú&¸vww©cr®˛ Mí~~ůů€âOÁ­ó ůńyG(—iý)7l÷ďßg·_0 íş8Ěë4]v§ŠĽâĎÉÉ)źSxƢx[»[®kŕŢĎ­!uN[tF§nß&=|ü>|ô!)ÄÜ?Ĺ[„eHt …BńA‰? …b.VŻ29śN~¦áyńôĽśÔ#+n$ އCŢđ]&Q±jeYßŢ …BˇP(Š‹†MţRâš'%p4Íô׍ą÷oÔMű“bŕ6éąÍĆšYF™<Ď‹bąn˛Ą”GĐ„©ĘUZXľę7›šIHt!đŞ#«ÍŢĎ6ĘĎ;WTNšęLCř 60É©S~jnLFšX&ţŚ8˛č¸mqR[¸»Üüů¬ř›ž§eó?q~<-'áMŞľ”ĄĄţŮ€7ÖoŃí;»ćK$žD'-Ś%[쾣j3R"b–©k!]x)lwď¸8,Unąć.ˇĎę˘7�·Űn>_WJáPéIá™fŇŽi1ŮĆ×7ďîLTŕvd­ÜŹ ź˘j'ßÉÄć2'QBŠ˘,pí’¸ ą,9ß­˙l˝ ś76nńX]®·( ťťőéőë׼Á-D(É{ňôQ3y'iÉĐto‘ůąj…T(Ţ6¬JlE[6JľO Ó”V®śÖ”!ŢČ÷&řWĘrů—xĺ="m±b9tÜ{*Lë´ćďgQҨQ«ŰbbęÎć6‡Q( …Bˇ¸JhďCˇPĚŻy2íččż§S?·ÁG„Ág*ť» ұ zóŐĘ9(_ĺ,g¬ŔŔ†ßí0ЧĂuśžžňwď¶ĽŞüŁP( …BqݨŚž´=ŕ~[ýxeÜĎI;µţa0NĂĐ\Ž=ńŰ»)h±ëžr\)ip =U”ţ˘ô+SĺŤY®gĺ·Ä#[OSP߀ˇ[zŇ<Ą$w�ń4©�ÉĘqqË ńŕÚS÷·iý÷4–űČÖžËV~.S»,f]†QßÖ”~j¤@Ŕâűe«Đ)míĽ¨„WšăË]7ĺĆG&ýŘę ňg¬éś4îÚ?{ĺ›ÁĐ$qÍTů GnxćĆ®C7ŽÝ¤[něúđáű´łł;±Ŕ3"íD%Ô§Y×R_¨UřĎôxz;ę÷F5U›‘Žk‘żłłSŽŞ7^¨ˇj÷§j#Ók'P2fžlC‘×2>CB&RUľń ń'oŻSÔÇÝłĆß^ĄcÇëc*ĆńpSóüůsÚ{µç(ü6QŮgý{őYôySňŹBń¶@Ú'ĚeBąí ÚUl2§‰}h[dÎ0…(’Éw‰sŢ{QŔŞeggüi¶H"ł'¦ýŕ xg Ż`ç┾oÚÖJĽ:˙ą,üűJyL »r-Mŕűf"¶EݢKťV7† …BˇP(®JüQ(HŤ žśś°_éßţö·Ń4Ža0‰Ő ~ř!OČ˝xń‚%sżýíołďçó¤;‹Ü“îňIgLd"ß2@R‡(ţ`Âad žäQš–…BˇP( ĹĹ}NeĐ«0ŤřC”@„řµ ôU…đc÷­[·ŘŐ¸>ţ0ÝÓ~ŁŹ×DâŚl8†~rÚW•đbĽ˝¬ŘN HŘ*Cţi$í´?ě‰ţ|Q¬ôűýŠmÉŇ’ţmJN ű¸~!!!ĹăĽY¤'ĹĹËřĘ7żg&Ű×d l&ý$ę[¶îJąiĚ–źËĎ-ťěbÇI9‘nÚqţţBĺőü¬ĆĎ-Ú„ŰŢÚˇíÍŰîYđĎ‘”žo8•q˘Lź!Ír/«N *Ë Gţ¬ĘO63Q–ţł®V‹ĽČ=Ź=ń‡om¸ö«ŰˇY€ÂŃ®ÍĆeT3J7´B JŰ˝ŠĚ3Ü˝ĐR•/i;¤ýFÓLŤńőÁrž°Ą żŐµ×QµeT»/h3ŹŹŹéřčJwm˘^Q©%éŘ\ˇP,Ěsţň—żä6ĺ˝÷Ţc—VwîÜá>AhńýĆSß™ Î ˘-öěGşč“. K”»EůęŐ+nʱ0}ß&…ó·b3{mLč^hË“MaÝ»×»Ď<><ˇăłăęhQŇ`اţÉĆ÷>,gçw2…,řyó?á’Á5}M˙Nt„¬P(n*”řŁP(!@LâabŃßüć7<x©“2Ů_Ďó/˙ň/<Ć€ţ§Ó Ůt@)ͦ‰>!‰ń“ݍ"˝<lş˛Y y’‰L„“}éJl™@E:’OBŇü¦+˛ó‰m…BˇP( ĹĺŁę»ŤŮŕ cq4¬cĹ­ŇŹŁë„ (ĺ[(Mxb‹ D 6YÖÖÖťáŘő{׆lş7|ű Gô‡ŹŹO8®­-o@ýË®3ş{ÉVŤ8‘÷%a”FßóđđĐ“ ¶·# ÉÇÓe"‚ř±y@ßoÝÚd⎋'âőů_ăřúŃB’•č>˙Ç|˝ í#¬ĐwGzB„4ŃGžF R,‡N۸±Śˇnǰ;%®ł¦RŔŇÔČŐżŃĐÜĆl$긣­ĄŇS!‚Ĺ…ɸHöc“±ÍrĄŐH î©f-~H régMMꚆRRs‘ ®ßýŃ˵=j·Üłp6r÷Ć=CÝžűěpŮx˛ĚČÝŹ3B“2 ©5ˇř3+ĹęůGŰ5śąű:âßBúńßM¶ńŢP~~a)%ĺ CaěRŕ4řE/ăÚ9ݤ}’ú"ű+PéÉ?$őĂłz¤ŚF®la\x˘WŮX,Bú)™„4.m{vŰb#Q¨狺/6š@üIúhsĄP(…¨śŕň7úgčˇß„öîńnE˙ ý­iq4‘€RĄqy7‹’Ň@źPW‚X´,F _şöw—yĹi/ó<6ĺW±(\ď¬Ý˘ő[ë´5ؤłaż"ŁogÜ;ŰŤWnő6éÎö]ę¶—WĂW( …Bˇ8”řŁP(!«é0©/»_~ů%żwď“0!ą»»Ë9ŽIĂĎ>űŚ<xP[éśN,ĘJJŮ'¤ R1زÝč;ßůݏIÝäfqk�4M8cŔť„Ä€ý"‹k%ŁÔm¬¤Đ,w …BˇP(Š‹EĄŚ_e$ď0©î Św;ă÷—5EcüqOĎ4ĽJÄ:I,ml¬s?×1˝^×őOéóĎ?çóîßżG››[Áď•0Äm”@VÇ1q!D 5!�}[Ű˝ázTSň‚;ŚE/_ľäďwîÜĺ>7ގ?ĄM�|ŁÄĄ­ßEŐůAř?üá|}k}°׎ó? ObśB>Aú#’ôŹµĎ»Öş†Ţ3tg·Ë ş7® “)¬u6˘ýĂ1˝ŢďÓëŃ!ťŽ,•fǝيJ;‹�÷÷FK¤#jR<Ţ D/N?¨ś‚ěőÍ7ß°á17 ¦ĆAĎE1µ|äÄžô™Ë]ŘůčZ`˝TMP‹ńn8ííˇľčŮÓ—\n ¦cM›T<Q°ČOóîIY+C¨ýظě߆ňHăČ]T™ě:ĘXüB„Ä}ËĽ2uť|ă”Â8<WQŞAĺ±iś>˙e ďÔČBÖfšGµ“|JÇĐvfŢ“S'ČgžŘ>I4B Ş’BˇPLŢăÄ;R”wĐ'Â{ďHěbvŠi„âřâ‹/xnqŕý,ęč{{{Ü÷Â|d®$´(p.Üą<"-ÄóčŃŁ8_ŠĽ ±iätíŰ-îomďđÂ;®??’>”ńďKy/ö:k´ĺĆ …BˇP(W %ţ(ŠFČ@Pä»1ŕĹŔ4] ,F ‘Ő†Źď0(HX‰«O`čŔw,Ä=‚¸ŔŔÄźŻżţ:’Ś`Ě@0ŕF\aa,Áo¨aË+7¨Ĺ„7ň…´Ĺe‚+W â%ż,î6śŹxńű10Ç9؇<¤«˛uuŚBˇP( ĹŐB1Ľ‘Ű–‹VÁnn:í¦Ă±<öׂŃߨ¦j…5ČÂw;¸kâO/¨kř€ř ‚PŞŔáI-6˛Ŕč’ŞQŹW)c_ŇÇłQ#é�Ňżwdč—"]é˙˛r\ňçĽń_”D­ÇĂA4ř çH°×�ý~ôŹąd´ß{.@égw«C1Ĺ&­uÝ4LŮ'[z˛×ńé؇śŃČý>;Ćęý’F¦#O¶Y´ôS×oBFĂ=ć:ęKJü‘ú8 ą{0QĘ 2r\ę®Ôw>6O¬ąžşč-1ßČBż?dH}ł ą«/öČ•l*z©bĐu=[ÓĚĚRuZdď'! ÍHß4ť5 ¦ö¨«ńşďvvţ …b¤O"4ŢYââ s•čOὊăóH–Ó0áz3©EqOúwŇ?Ěó6SĄ'°Zó0˘üH´)^m3Wá>݇m-8˙Řř(đĎ.§Ţ¨P( …Bq^(ńGˇPL@€2q+Sh°DLc�)Ć…T ×§Oź˛Źl{ŇÉ9(ýŕ?ŕ0˙őżţW&ř .x0ŔĆ~(á<}0ŘĆ�«Qő«_±+p°a?ŚżűÝď˘˙jÄńé§ź˛Ń+¤a´ŔBâ‰čŁŹ>b"OŞh$îpŤXŃŤřPHçÇ?ţ1ź¸1xÎ'JsčŕYˇP( …ââ!dë&ŃÇ%Ś1-ÚXßpýľ ęu{ĽňĆtĹNNNąßmĐF…ÉTŐBîč˙�ĺ„Oű®'J=Bw´€¸çżA\-Iß9%!‰Ę!„śž“$ä7âc TGäśÔý„äż%ŻB8ŁúÓČ?ÎCô­SeüF\ á}e\CîRw^˙W1(K(Ga|‚pý5<±;^@×o®ţśö-«¨žśőÉÝ]V§árĎÔvš ÷ź]…â •P4íaŐ?Y_żQ'ÔQN•:Ú¨��˛Er-©BŚäyI‰Gi|cvuŤ2v XÄkÂS^ż›°Ľ*BÝŐW}–­kzžš ŃÓŽ-cö®áfÓxâ13±gFĽEŚ_>cž¬ŹË¶M …b5ŕýüÁDŢŤxźˇO)Äě_i{‰ó?~'úXB¬FÜ›äľ;–»ÜŚÚě»�®ˇ „ľ›¤kW°Ŕ<‚ŻbjŻ(yÓdďĐ,°Möë»IˇP( ĹUC‰? …béj|®´KW#K8L2c CĆ?ýÓ?1±N„Ç>Lfc`‹+$oA°l ®q~šüƤ4>˙ô§?qL`#Ťß˙ţ÷l¬€JLr#ţ?ţńŹś'ěUńo-n y•­;Žô…ÂVßŕš„đ„ýŁŕ7[Ę!źUCBˇP( Ĺĺ@úž^±*"–WܢĎu1¨Ŕâű¦í¨h3ŤC?pűŚ�»Yr}É‘;îÉAetů#}[¸ÔAżaZ-O¤=żŰőŠ—~Ŷ¨˙Z>Ąź,d p„üă㱬V4iHž×âÓqÚGG‡‘t„ý^…¨ŕxD­GŚBą‘HV•KxQîÄyâŢ ĺ ý|QľĚÝ˝ąĽ_ń©·ÝźnËĐZ§E=·ŤÜTL9*™TęÜ),µÝđǡ–űAÁ$zBšOú‘±‰Ăp…śĆ«ţňŠ„Çý—:–»jşTWŇń_ĺk<Aü‰„"¸Ľ—צn#®ĘŘ�gLŤ4’ş>™Ďa%üÔ™yôËòĎňr‹]ĽË˛ĺ?GâŚŇl4áĆ‹‹Ód6ýV(ŠI }Á{ ä™ÇÄśˇ~đ~[ň®hŠHyp\ľ7)ţä®8S@ůr­˝ŢŘÂÍR(Ę];*–™űKß8 …BˇP(®JüQ(C‡LěĘŞ` v1(… ÎÇyŕ 7X{7ŢÇ4ľc�ůěŮł¨„óˇâ f¸â™ůo}ë[ôŁýă‘se5¬¸×†Ii¨ἿüËżäôß˙ýßł‘âłĎ>ăU.Ä(Á°"ňöXąř$¨!/P’ĽôóüůsóńÇł;2q'†ü"Yµ=m…¤Jĺ* …BˇP\<@ĆńdQńbé÷Ô?đ'ú“BţAź}şn§Ë$!ô÷ľúę«HşDq虜ő‡TŽm ¶ś¦­€üň ŇzůrĎťs]ŽŤ™ĐPFnFN*H ˇi‹2Ą„gô9…°!‹ĐŻFž„d!D ÷d¨fWBţň;úÚąęŹ|džă’îŰ�_¶‹kÍ\†1̸úaFjŤűÔµ#şŐquĚŐÉrd]˝ëÓŔž©rDvtćÇ‹jç«aś‘×1Üg!ăŕ>b,Ć÷9#q 1GG䯴>ůô„9W>©Ş•OE (Ž%ÇîY*Íuń\*ŇR˛kUĎbc˝i¤»@éq^”bŇĹŹW—[>™WÇő©1 ł?Mßĺ4‰]&OŔŞVˇPĚ@Ţ.bž ń®2k‘&%Ţ‹*Ä!NÄĚ"I˙Mľ7ç}5U‰OÉ? …BˇP(o”řŁP(&hÓI[l�" «ř ¤«‚Ĺ•8ř ňŚČŮâ \q á0ȱ$^dEڬ†–teE Â>zô(şf€QBöă; řńűađAÜ0úŕÄ |F\$;q퀼""ë+×—´S’Oţ]ĘMˇP( …Bq¨úŐgÉîµĐôD¨ďxEgDíÇ“ Dbc_.%J°Ú Ç3bâ~ ą!5ćČ9˘¨2W!Ą©H\lI?Ň+µŁ&!5‰+¦Á`ŘŽs MÉGľýÝôúĄżŤ>ł\źôĂuEřĹ€LOéő‹S˛®žoti­ăĆNă!»ýGCÚŰÓÉŃ)Ť‡î~–îţS]!ߊPO�Q�ňMnlW[B˘¬§c©oéfB§A±''ĘďÔM^Ü®™tás0©˘ŹĎ¨ç«Ťé<Uj’ČRŁŃrÄź’. Ó®iÚs>ż *˘Ť¸úňd«Ů§,¸s~^D@iâ|Ź+ !Ă ńY\m5˝sH?«)Nć í'ćEŤ1ĹĽ>”­Ó<Č9×”Ľbľďţô=[đg±tk‡ľČđâVv™óôkvąÚv+Éű´÷Kű-B®BZŞ˝†ë΢Z¤:ďţ) ĹŐb9b˙ä¦P(ç‡ Ĺ\¤«[RrŹod0*Deđ�>­AĚ*gPŕÁypÉ…A4\xaĺ5V=#NÄpbt‚ŽD�ůéB˝ńI^dŁ|B7uS&Dśxâi`%Ü‘áű´AĄŞý( …BˇP\Ä`3y˙ł•[+Ü%ÁřqÖ?ŁVŃŞőŰ-Q!)j®Ž„Än Ü„ˇo;ŽnŹR‚…¸0‚„¤+Äđś�ÔdHjRäIĂ`źô}Ós|üUĽç%á4)‰‹(ÄŹľř´UĺŠŐĐwc”gĎ^ŇńŢ™+ăuŰÝZ·¬ěsr2¦ÓaA}ÓĄţ©¬ëÝcŮ2Ö‘ŇÚHĐÄߨ—˛¨"UáÉëY‘ŐK© ˛ "'ĆEňžżrŔźiÝ—0€ü–x©Ďö'±Eńi‘,4-ęX ’YńxSř‹g.{msĂÇě]ŢXXÇŮ …â<ŔűsŽŁţ€çĺÝ%}ÁYn±š ‹E!ď (&˘Ż(ó™óúkMdÚôXJV•JôYĄoËÄÜß.ůšEĽ ţ`Ž$ů&wdM@ßó·ÇnŢ×Ů[ëŃş;_úĚÓH<čżă:€ŤŤµžűÔjT4ś…¶K{}}ŤËŁÓië;BˇPÜ,Cޱžą.›BˇP\ ”řŁP(&0Äđ2c‚ €ă,b˛Š:päĎ'OžđŕÄlĆęk¸ Ă .ą0p7aH隤é?Ω]¤!Ňň~řaTB~0Ć~‹ěĂqz$m j&DZű�¤ wc˛˛Z”p?KŢ7…8 …BˇP(.LN`w[Ăj§2:V'®]bÔńKÁÝ÷3Ń˙ëŻv»ĂűZ­6!šNgRĐßDß}Fôďü9EM2U!’ß)ŮBHÓÜ)äF‰/Ý—„¦‹@ME&SëLěKŹ´»<¸ÄBQGÎ x4¤c{ęę×)µ\ÝÝčą2vÇ\ő˘uş•®N–e‡ĆÖŐ=ëŤgqĹßqS,„7Qj’ű(ÇS5VVĺ)Ѝ˘ÚDĐe©”'cźŃpDc· Ăq„RŹŚŤ$?˘F ű8ÎňâÜT]ňg ÇEě.+şrY*‰UźóPEÓźDąfyĹ!U÷Q(+ŕĽýy'ĘĽé" BÓŇn"‹Ë{XúeůĆçŚÍŇďŘeŻ;ľű]ůĺ‹LžB?ąëúĆkk®=…ř#} ô­ý2á7ř&1µÚLľ7´8ń Ý#ôÉŃźA™ß¸÷µBˇxG±Ľß”üŁP(.JüQ(G: ň \l‰ÎÓ§OŁ;�q„p =ýä'?áˇÄ ĹlPĎÁ' )/_ľŚcy„ŘŇAT‘ńă;Ś5BBúó?˙sz˙ý÷é›oľ‰®˝ CÄ"śsçÎťčn ń€$ůAZ¸Ăo|‡Va ‰}>äk’µ‹ ,›äă …BˇP(«"_ —M®ŐĽč%ş2A{oG1ý<^­ěú¬0<”%TR*˘ގż¤„ ôq®ŇGL•SÄ•Â4âĎBWmϧö‘’¦őKSĹ–Ôhu#IW€śłÔąŞj8Ő™©O[T@ɧĺĘőqT˛™ËŮë¨tÇK»N¶ly–Ĺ4MÇ=¬ 5ą"âH]”ďi˝–ń Ć@Řäľ¶LÎMŻQ”\ŁBOFţbŃŔm˘†%*Mu+u»Ő±VP#¸jä÷ű<÷˙]FtőEÓV˛łëX[ˇPĚŢCĽ˝˝çqWą ć 1‰ď<ŕ¸Wu?5ÍŐâ0'Ůąü{J;âÚ1Ź:üŢwó·ěşÔőkqÝś>ú0äŢŠüĽ ‘Ţ»4ł.˝®»›<׺ľ¶îB¶h™vŻY€ŞP( …Bˇ„ ĹŇUË")5śO?ý”?ÓU, ę`Ŕ…ÁÜ·żým4Ţ˝{7*éŔĎ5|QcŔ‡ýÜD„+ŤřŽ#”x@âqŔŔQ„Qż'6äFřD1đDÄbŹL„§Ę>·dh1 ŽďâRL0éŤëéH®OC˘ú“–ŹBˇP( …âŞ‘Ż¨Ë\ç€uQ3W}WqU$®Â<1ý;o¨HWQ ‘!%Ä‹˛‰‹�1lůAřÎď:+»ľ‘“xšŚLÓV«kżw „ęig¶ ő¨�Ő'¬ő(ÜWkÜŘÄ/m‹Ťg ŮCX“˘”uDi'Wź˛žńFeR÷SČ9ů}ŻŐcŐ©ä{ú™ĆÉ?ö]s7OófYMś‹×ĐąX4(î١íJM™| ĹjůAĚbÎQČ.Ë(ôL‹s‡x׉ByúM?WŤsŞ�â—ůŇîo,˙nŔĽ'ćH‘o!7ćŇÚ„ÍT|č‘ë{ŔĹ.ú ±ŻÍ´ćŠř3ěŚ8Ł~®ií쀷N»C ?7)ţ4öCk´R©'Ĺ;ô}ĎÎú±ţŢ…ę ěâ·3ÖSŘĺ‚χťłO»5o –mě9Ź+ Ĺ|(ńGˇPL@Ś"/~Ş1ÍWwb?ÍĐAGČ5řŤ)ś ™rďٻꂂČ6č´ă7ÎĂ1Iťuq˙…řź'+±AôÁ€qŃEŽ�„¨řżc<Bj’ iś+_śDî^®GĘ"5ţ¤_…BˇP( ĹÍ„tRUo8°ˇż×¦Â´™�$áĄß(®ş°RY\1qŠ{ú¤˘úOqqWA«LÎSü™FŘEz—peĘ/ÖÎ4�0!(¸dC^d¬"yĂ1ÔGÔ9|âXtÝETsÝ•Ţ[ą> ›ŰRW_ ďL[�‘~bQM1Šn–«Że°Z˝źGÔ[–Čg%3t#±’„ŹBˇPĽů9Hůţ¦ UčCVÜ”ůľHhË…ôúěÚËÍçnďląwýĂÁďé©›ŹűůŘ ŻÝa"Oí˝Ď$`ĚÁÂEi‡Uşôť-+ćÄc íŻäÄçúëŘÇ ěÚč‚1/ÂóÚüçÍ.ßM‡ťůs^pH?đB0»ů}gx˝÷šţű?üwî˙ţÍĎ~Ć^�¦Ć7g8Őt{ÎSÄs˝7˝ă÷˙¦_˙üüä‹‘– ßt®ĄĺăT(ŠI(ńGˇPL w[�`€iÜ&äáňC¨5M” ˇh„4 đ4ŤÍ/ň˝Ë�q"Ýt-ýg7„WňŹBˇP( Ĺĺ˝ °Q H\_Y ^ř7L^ÝÄ6Á�ŃjÔ*ÚÄÝöa-ńd±3Yđ÷V2Ď8€”ŕ +‹ĺSň‰¸}źŃŻb–>䄉2ZĹi‘IĽiÝJcŇxVCNřH‰@9égÚyŠPŮĚÂoĂ >%IŮ×'u­Á±–ŻĂäÍ`!†ÚgębK?i=E},ˇ`…ĎPWólÉŘ.'čä†5űpO”®RL«O¬7ě±ě:ëO^ž&;fgü>Oz)Îe6 QŢĐgĐJ%|oíDPc["CáMcô×<‰˘ůq(Š7x§Â­>YP(s–)Q&EJĎ‘ľÓwíĽ9Ćeŕăs•ƇţŔŇ7ň{:×;횲âWżX˛KwďÜáOQ¸1^HńE"}'ö§Óľ3Đjw.ć‚‹°‹NŰQń'퓦y͉?X´ µ çźŢx‚÷ď©Ü;ÔA) )o„k·ý‚Úv¸·odá…ôsĄP§ˇ°uźçĎ_ř׳g»g·ÖŹ‹yß4uKÓÉÚ,Ć“ž¨W-jF]9Ďińn«ÍÇßĆú ‹j|ŰĐş!×yŇĎ,ŰĺU(Š)PâŹBˇ¸rśwĺěe­ĽÍWĽć“ÖMŢéy5ŚBˇP( Ĺ“wĆEV÷ÚHň“~ŇWł4¶c6â¶[P¬ěŇÚZŹZ¦‰9|Ž)8 Ü{Y>§ô«—©ŢÇL]|ĺFď"¬RŽÄęS™­ÎKű’ő+šNđ™nö,ŕ*ĆŁiçL#őżËXfüÁ!’˘µ ¬$b>éË•ą„WgLtîEüÁ‡÷dÄ|ég «ő­m\T+“äąâOnś“cŢmĹŠ8K ŞIQęć ĄvJD' q~j]š\3hĺgÉŢÔrĆÇy{—Ë—*łäő›ěsâĎŚzkóp&(TBˇx[pxxHżűÝďčŐ«Wü.µ>účŁčZK.ć†ć&p;ĺ} hŠ/G®®7ź{ď†üŽ—]�ŇŘßßg˘Čذh2oë*RA9—Ě‹ ńĽ÷ŕ=ş;ľű KEĽ)ˇNü©őź ĺ±I» }‹ŰřĽ_"ź©‹RŮ×鴩箟oÉDŽăăcS l»ÝŽ«Ű\î�ú€_ý”lnnŃÖć&/¶ívß.˘®ĺĐďűrŔxn{{‹I?żúŐ˙EĎź?÷°nŹëúúÚ:ýčG?b/đ đ¶�użßđ3ŽëŮ÷‹Z°˙ä䔎\Ű…ţ?/ŠŢŘx+ëoϸĐcl˙6^§BˇP\$”řŁP(MF…BˇP( Ĺő˘( Żl%Ş5+áI<L¸ń¤­`|Ŕ*Xďb¶Ë†1Ż µQ9H ż~Ó&řwÚôÇˉ}˛żâ¬C)ldä´‚i–ď<Ž«#ÝL[±®XuňŹWü©aBÚ>p%ßC Ф §Çâţkjľ˛şÜ¤ř“âOa*ŞĂ˘äž›WwĚĚývEC˙™Ąô5m˙<ĽYT“É«<oţW!˙,·g‘čř907­n+ŠU ď)Ľ;AŞ899‰*>/^Ľ`â:0ŞC}Uń\éGŇUˇUň÷ęĐő  v2†ßďíÄëAţĹE(ö‹kÚ eľyDßÚűŮiG˘p:ůÓ»ěŞ+řpÔ Ů×wvýe#m(~ZžźőK¤ëÜÔ/şITü¸ŻF!t0ôY‘Ä:KÇú!*JŐľ!a^ż~M{{ŻXQ$ˇSW_Ťőuşs÷.ml¬ß`öâkĘ«¨b~ţG9`C}_ëő¨ĺĘzss“Ţ{ď=~FgyxÓ€ëĆ}FťŔłŚçw}}ÍŐŤ˝zµG‡‡UŘ2¤(„ąËőaŢřrq9xe1ĂžXőh8vcü»Ú­6 †&>",Ęaš—ócŮţĽ™üU-ö¬BˇPL Ĺ;Ź|<źôf)ý¨ADˇP( …âň�˘Nj°HgĹŞ>šWŐI]‰+®q9žCj)ăůéţ WIçL_Uĺ˘&đUńŃ~íl\V˙n|€łlşůx&_Ř0MM`RŃ”˙N¬Ä_!¨Ő™ěPn–ô1S(Š›(ŞÜ»wŹÉ ý€ÄńÍ7ßđ2ŚÇBŞI±hßJ*ţ ľyáÓ÷˛mPüôű¬R˘Śü @@ĄH‚<Â�® Ç›Ň7`†I4“jh^ḛ́[-,BÎřoÁ$üTu†k÷۶ҋ¨7č H_D¦.»Líß™ĄWŃÄ>1üß$‚ » Ú‡ Ş×ôňŐK®Oź|ň‰»Ç»´ „|ćݡ&ş|ţůçLüWGP©úÚmüĂąŽţěg?Ł'>!ß|ňOşÝ?‹âľ ?Ź>¤Ű»»\ćX$‚şń¶Aže!ęŕóĹ_Đţë}nGzČĘe˙ň;ÚĽu‹ţć_ýÍ[CüÁýĆ˝GS’.p…¬ă#O@¸+¸_üâLĽűŮßüŚ?~L—†Ą9SIX´ťEh3‹IBˇPśJüQ(—ŽtI:�YduIS\Mß/ MůI'¸WÉłBˇP( …bYTý<ż*ş ţĂN aC¨ ż"îÁę“ju7\ą‘e1X^­Ľč=íO*Ă“‹.8ŽH’RÂŹâ\PBˇ¸<\y7:-VţşBŚ‘°ÓâXT51'‚ĎË۬4X[.ÝÓ0ř "„„I‰JŃ…mzťn;==ĺrŔoÖEńH\í…uçŚÜ!ň´JëĘÍ2‰U mEdaRJ †{q/ĆÎyY)hB)éëŹGÁĄ™C·×Ą®»_­¨řsŤď‡PŽ/žż _˙úźčË/żdĄČ@ĆK˘jÜ1É!q›& Ź mAőćřř^ĽxÉĨ—€ †kł+(ŻĂ On›[&sŠkŃŐr×lH�÷Z\ĐáDâ:ń×®yŰ•1Čnâ m4ŇBY1sŽĎĎâbhp+;dĆA<“¨˘v㕼úÜ>ˇ.€ř’T9ńl˛k0w=„öěĹÜ„űźĂ«ťÚä;y7pîűs÷ě˝Ţ{ÍíÚ´ăGGGü{<îŃŮéY˝.ăú§\ăĽsQ·AjĚç%´Ď«P(.JüQ(8ď¤đ2„śó’w.‚ü3ŤŚ4ʤ4­śÎ›'5) …Bˇx·!rמLcâ.ż"ŘLHk7÷˝,/,¶~1]Ł’c:ąÖÜĎ[¬_¶8éGńvŕň•?3µ)v¶úTp“kŻ&L]da§Ówšž•‰řu»µ‹®?—_// 3WL›ěSˇP(.L"ŘŢfĂ9ÚQ6 śßâ:6%Ҧ~äX2Ä패R.<|ŻŰŁ÷îßç|">äUÔ1q= 20cNü]”D†_NÖFŇ”3 "‚0P?‚A]Ę ŚN·EE+qÝĹÄźž;ç4†G:pżĂ®ČzmbŃ$S’ ʡK­Â绨©qN™ś#?ň×ŔÎöŽ»?›|mw_Ľ"] ŘŐh̤źżýŰżĄßüć7\W>űě3zřđ!m¬oxŇŐ<#ń•¬b‚ű‚ë•ň–?pÍ 8ě¸{Ľ˝ąĹeň—-PWL|™‰†ůs”®®]ČM˛ßAřYsĎ’'€ŚiQĚhąhâË<Ď vF�ŻôăÉ](qe âŹw掹:±ćľŁŢÁÝ>E- $´ćLMIŹ– >«zŔĘŕ]˝A˝lÝ1ps%¬W/_q˝¶mÍ÷ľ÷=nłËá®_ć+–9Ż ||tÂĎ»BˇP\”řŁP(®M«ZV%Čś÷üix[ĺP …BˇP(ŢXµďę¨`Äâ}¶t&®îâ¨Nţ™\˝B&I ÓŠ‹GBX äź«ŔĽglŃ ĹâX„üŁP(‹T!'…fćť+ -0< qhÚ;T ÷Mń4AâÎż ŠVA.źM©ĺ×Ó”o(NůGňź¦9\‰aČPL ×Á mCÝžqiµ›4m'Ç'ôűĎ˙@ß|óĚĹi�ăUp6¨Ó%—Ţ€C> ·D%ä9%° Ń„Pv<®Úěą÷Čß`čó’ň‰rBÝi·[KÇ篫ŕű".áʤ”>;;Űtűö.mlܢ»wîr¸HÜz îšQBBËÉm^Qim.±ćM†o/ŕzĐDWÖ–‘ř„ňXë­±ňŃö6Ęcťvw˝{9yVßŔ}[Q´c[ ¸ ř6 ×Ë͵?LLětݦfJ:5…)(ľ[ŇD …⢡Ä…BńĆᲠ:łâ×Im…BˇP(Š7Óúy%ęŽK±�.JaĄ©^^Fý›EŘÉóWţňR BÚoťĚžŠEǵÚ) ĹÍ?‚{&q bƲsŠÓö áAŇ’ďO†§Ą )ń.˘@âZ ”E�1˘°rľôŃGLhŮ�¤ťçĎź;#ü¶w6čÎÝ]glżăŽoąŚvčŮÓWôĺ—Oé7˙ô9ŤGÝą}źşí;Ôëvřśłţ^ďÓëý=Ú?xĹ.±>ţřcV±C=ňüTď0äü‚ňE~@|ŔĆj:×Dxş{~än”VţŐżúWôń¬ôóá‡OčăO>arÎ2®ľâ.wÔ–€ÍMď~N\>Ô€ű€ňh»ýő…± ”Ă+ŢśÇŐ® .­�Vxę´Ł«']Ö×ÖçEŃś•7ÄŐ—�ĎžE %•łĺž ÷\Ŕ^k‘úđÝ˙¸>QC9€(gocc#ş€»w˙žwÖ*÷fáôÎýY 6[U$Oâj‘’ Ĺe@‰? …BŃ€&…"…BˇP( ĹŐWM0j´ÝÖĄÂ}zĺźĹŇecIźJ;)§ť÷óęĆYFli~wP)‹f't+Ƶ�‘í˘TUŻŠÄôć`škÂeĘÄĐ2&©Uîáě[tžű7ĎąČń‹Ä‚ĆQ…BńÖ@9 ¬Ŕ 2 pž÷â„qÁ�‚H â^f‘÷Ţ4·˛˘@ BČ8řĂż¸yÂĆFm2+µf Ô nq…k€şŹ” Ep !]mp}PYÁ†k‡Đ`اîÚđţđĘśdZ¬ňsv:¤ŁCW6Ăő:÷{Ě›i Ý5 Ý˝ĐÁţ1={ţÂí;¬T‚tÄĺ®ůC‹"“ä á˘QßkşA™|úé§śź0áÄcŠ•âó.ż*Ĺ!;aąA\ć-~źyrÚ ~WáIpŁř˝(Ü3Őër× ä·TÝëmöd—(aˇ-Ŕó†ç$ ¸�ĽÄ\,p\TÚ@,ą}ôî×ĐnŰÄ5˘’} ĹĺA‰? …âĘń¦uDŐBˇP( ĹŐ}0L”µ[ënŰu“ekKOoc:m<>ŁÁč5Š&LĺžÁ„ß6 kiU±ÉßnśWů§¦ĽwVŠđ˛`tşbŐ$i'WŢi:gŮ|Ż:.b7eJţYy‘Éďúm0S~W;§Ý¶*~›}6…›u˙ćwě"Äž«"˙čŘ^ˇx×�BH,Łţ€•T`(¤źąě»Í3FŃ~ ĽAÚÇĚßß ä⍗@üŕ~qpw„w+÷k—$Eń�q@\jaCŮŕJ@BjůćóĎ?çkţÖ·ľĹ×úňĺK—Ď1}ôŃśŻ~ßő±Çhď7ś±Ű˛Ş;wî0ńFyÄâ•iő]<žĚ„ćqžťŤŁęH.¸Fqő„´đ×/Ę?HÇYýăútÇ.ďýϮջęęşkň×c‘j.˛ę˛ŐááQü·f˘ř‚űޞ`¬záW¬x33ž˝}zýzźżďîî»gkŤëŕËa¸´«Ży ;­x3/v 888Ś×˝żŔ¤| fąőkÎTóîką˙K$€gBž´[í „%í8Ú¸D۵Jz‹]˙âÄźAěň{ĆDH”ŕ±Ó)™ü Ť@[ˇP(—%ţ( …BˇP( …âĆA&ň ôcK¬ ^qřjŰÔ*:îË0XÄ ňŔo!‰}Q¨1©]8(9&Č?iµY€s& �•´=%uąNęt~Ľ"żĺy˛µüčÂU0Mů§ |�ă& Xq##m–ÜĂÔŕ!Ć@1<#,>Ů%ŚÄ!¬CĽ·(IH7+>˝…¬wç8ľH}Ň:§P(.ů{o•sb5y˙ĘţEâĘż§í{Ú.çkÁYC´BţóßOŢ’.Ţx'!/řĄťŘ‡°Bş1Le.ŹÍH«IöLPílµ Z[ďŃĆĆ:“@´Oű&Ň?Á>!SíěěđUQůĄ…w%×…rÁµ´Zm_~…ľŻŠËÚ€N·ĂŹ!kÖ–$@-ĺ Qţȸ$ę»nůŮŮŽŽŹX©©ăÚÔnŠM 3÷“:úŇ…BqQPâŹBˇP( …BˇP(n$śSŽ©zLăQźVA»]ŇÚ-Ăä1„cĄ >±š‡ř `EeşRPV…çyšÜ5L;¦P4Őü-ä Ăxєڠ“ű`|B=—z++řĹE‚?R5ôxž7,yaa>Ms6SY(üSLGZ~·oߦźţô§ôđáCţ …„gĎž±[¬tFű$ę ¸¸×pm€UĎ@y�uaa0}˙ý÷ŮXŠ6żÇľůć›7TPwÄĄ(dśťť˛»mľ Ĺ› ĽűĐŢŢŢáţ^7¸‚‰.ł–$ÎČűm$ÚQ�.žwßyH˛J;Oź>ĺßď˝÷Çź’“kËĄ­Ĺâö ď´őřŽwCJ`e!Ľo ŘóýďźîÝ»Iˇ á GFěşkw÷mŢÚ&cńšĹ{·Ľp}÷6ď×÷ľµAÔ‚;°Ž‹gĂĄS:řmľ\ŇÁ˝b>ň",ŇÂ;źi?‡Ë`5oZ&۲µŢúĽ÷ş5ĺĐ…ĐeĽµĺÇ%pí…{űěěÔ]}-Ý˝şbĹ›ąů›‘�Ęaww‡żo»g$1)‡íí-Z_[źEsV®XńfÖůvČQ§Dé÷?*üXâgb)Ĺź7čţçŔó~tä•°Pݰh‡Ëaw›ˇćbÉëźb^Ö»=7Ö˛®Żţňž?{A'Ç}*ě6ÝZ_sméµÚăxIĄ‹¨4‹Ő…BˇXJüQ( …BˇP( ĹŤ6°bn0<ŁA?R°Ą+žMĄĚSwĺT{ waMÁĆk¬¸Ă=T0đ ă&Ńq.âĂ÷T1EV=ËďtC:âîA”8€tŐň2ŠAŠ·]7±»ąćęUŻĹ“Ô¬ÎBB¨qő+B‡DgîŚoá«Gő-¬ü'OĽ™·˘_\L q×!ę1ŽÉ~=0ŽONgfµa5˙üzÜhč´ŤQ2QݽǑžbëżÍ´psP;˙†AĘ÷m҇~Hź|ň ÷ Fkiqϰ÷´W8ŽşűŽs=zÄFT´M0Âp0ŇÖá7Ú,¤‡¶ ń >śăŘ_|ń…3ÜľdňŹŰ …âMĽŃÖÁP.Šj«¨ý¤@›*yTж –!ČÎĘ÷ţľwu$Š7ŕ—3-w@÷Z˛/w'†0ŇW \|4Źwä}ř˝SZŢJtŘťˇD¨út:^qźLŇ1ľo^–ă¨b‡>9¶ÔĺšôçYŃĂ˝Ăđ^½“ű&ýo ™kz±çމU?i‰ŇHüÁĂ&ß«tdüQ¦ĺđFĘH:–2©ĘÁĆrxۉ?é=OÇ ˘>ĚĂLü™xDf É$őá<é-÷8Ím­›{hŕɇ5ŤGTö{4ę·ŮM`»7 Ű*ąđF …BqqPâŹBˇP( …BˇP(ndĺ±çďŚÜ‡×Ăé§ĹRŮ]ęöÚÔnµÝ>bCŚ0PŹÇ#&L0i§Ó *'~bP2 Š#†!p.Ś˘ś‚ÉEQBxA·GD-†(fŔđ1"ť T×Hď.@úůî=şďęÜíŰÎpŐ Ć _GNúD/Ž úćů!ýńOG´?8ŁŇl¸IŕvPܡÚDő´ş„g2ÔŐtŐ<Ň@]Ĺ„Cý…±R”c�™0OU­řąáţĎ,CćT…[ą‹abµĎÜMţ6 áćNňăćÍ®§.]đ)äÜG˛pqßđ†WÜ·_˙ú×Ü.ýŕ? ű÷ďóy/^Ľŕă¸×Ož<áý¨řýüůsnźRc*Ú>¨ ááŠHaľţúëč › ĹŰŠUűhB(’ďťNţŽť|ż†Â’ŮOÝzaCűţúőkîĎâ�(ú âBä (ˇŻ‹wÂŁ UšµuŻŔsĎΆ®3Ńsď®±{żÜˇÇO†dÇ]ÚXß⸎Ź]?ą8ˇÓłCŽëđ*v'îť×ătđÎ缫äUJi˙Dú.¦U\i;M ä“ńĐżQ&‹ÔćHë?÷÷ř~�/_nń{ZfŔÚšo¬Ě¸bâËL̸w¸f)ÔI”Ő€¨T-Ysű‹ŮďóÖ¬yůł \ŔÁÁaTtÄó ĺ#ěCfQď–RüáL5ďľ–űżDGGÇń9đ‹\»sxĚż™čÚâUÓ[¦*YŰ|Fş>b\v©?€Âp‡îŢ˝KkDg‡îY~ݧß˙ţąk»^Ó{ś‘BˇP\”řŁP( …BˇP(ŠQü±>-»�Š <ĆMđnâŻÍ‡V»î@Îň"Đ‚Ş Ře0XWĺŠq†řޏ`h€!Göâ'Ý`ś-_Ą¬ ? A×ÍşÜŢ4ôčv›îÝëŃúZϬ|ý,KCG}g´jwéôt@®:Ó!´VzľŹ nľB\3]j…ú,$ Y­/Çd5}ęĘ#Ź/w'&„ërkINôiúäç$§rR‘@Ôzä3d v<îÎ~§nÇĚŔMTţÉÉ?9qP\tÁĐš¶5P�ÁGŚĄPśŔý‡;¸…± A0ˇN ]KŐËÄő!CÄŽD nKR…Bˇx6„vÝä „Ëî†dVń›Ńç“6]*B‘ţĄ(ě�‹ĽăÓpŢöě•'ĹMm'¸żé€\Úý4.�ůµä.ýY!ă] yG\żŽáÝw;pWăóŐßaYëôčáÝ{Ôł®lJׯv†ďŢZÇş]\®O0.A˘wéőĎ\š}vűüá]““¸ĎO÷ý Sşn7˘q‘W_—u‚Ö´Ű™fŰĐňžwtń\/<“řţVôLVą—KŠJÝx¬z-oHřvÔúLn>Ă´T´Ç®=´dVyţ …b(ńGˇP( …BˇP(7<ůß*‚Ű™doňM›`€Ŕ żn·Ín¬ĺź“ üť-Ś|‡^íDZzÇĹ0’zÄĐŤc0†`®0ŮÜ .”<ÉČ÷qŤ˘a'5Z¤«“ď(Â=ęę‹7vťrýcU©q—Nű›ŃX¸şó ”púh$í%Ę%)Ô?ćPAÚ÷P†=ěD\䉱Ď+dŤë(°Č*ŮÜ6E}`Ú'€¸Ëá|ů}ynäűĽ°µpĆs†ÎKP™vţe=żąŔÔ6ÜS1Ćâ>aVż?{öŚŹýéOâý8« ˇę#Ęd8żaĚĆ9¸×âĘ é`?âňę ”¤n|őŐW´÷jŹăŕvô`šĹ´Ű:ď~k»«P(fAÚ´źżůÍoŘŤ�u†O?ý”?çťołwsţŐiÓŃÖâżŃŢ‚°‰vyšZLJE{ť†ăôˇčÚi(ň źŔŢއˇŠn)„\жáčéú·č×J>AÂOAö+Jv1é6ôĂA Ž"| ţ [Ô*ß{źîwŕšËĆţLߎčőČő7Z·\Ţťá»pý–§'|]ď¨ôÚ„€µ{{—îÜąM›[›áXâR+ôS®ă±'EÜ,ýţj3ÓŐl$˙¦ů=Ön·ččŔ+ŰÜu×Ý…˛M8vŰý^_[§•qĹŠ7ç!5t\ť9><âďw]˝F]ťÁVĘĘ+ŢůAfcÓ“cŻňt7¨ŐĘł řRŠ?oĐýĎ2z?Ń@ů·ĘíUw‘rXňúĎú¬_ĐÁQ›Ž\űüüů3×ď>vc<ßßţÎźíş{¸îÚŹ/iď5) Ĺ…C‰? …BˇP( …Bˇ¸‘đäL ·x]~C}sżĂ!Ś ÎpŤă¬LR0ČMż»}Î�BC ă‚w˙…cě^éřŘJŽ#±g}}Ť'N;ťn •LĚč÷q…3 2ŮŠ|‘žřo c¤ßŻĎťűSş[SsY o¦.˝FĂ ĆmnRÚ¶©„âĎŘ“9úWŹÎZn‚*@ż$3ÓŢ0äŤZÉúţjŢZĘ”•~F4苬ß?siŚąľ qD &ŘǤgô+ů)ăĘůhB‹’<&¸Ř«ŻŔO .˘˝ÄP9pů)ƯΗĽÖÔ|ĽĎď[ŔH’‹ßÓ>ď\“^Űś¸/&k*ßep…ňÇ?ţ1 ßObŃ–Ŕ( #-Üzá^ţö·że2—¨1€„âŮĆś ‚¸&„›|ÂĐ —-6¨Eŕ·ś‹ú‚´°ˇŤqsvÉš©ÇŤ\/­ŽÜĄ‚*)Š‹‚(ĺˇ Eď/´› B˘ÝD»ľ_jl_&n‰íŞwđ‰´đ.Ů%'Ąççq5íCÜhóŃ–ŁÝG w"~¨ąĺq§Š—âÎQTćrĹ9�ń ŚĽîěîr!&JßÂƢ÷mhÝĄżwŁkPg)Ăfľuýd@Ä÷Ý I›ĎĎúϢLX‚ű÷… ýŽň Đ|ľMT(Ęő ý9ř˘4M„ Cá{ŰŤqşAÉ©],Ox©á?ćĹ-ýIůŽçoŮg°1+7ř“› î{§ĺ�˛v ą´—%@˝ÁÄn¨z.|űž»¤®ĚÄ…fĎpTô„ZqÇă­í6˝÷Ţ-w ×ĎVÓĽBˇ¸hë˘P( …BˇP(Š &#đ˘XLćy]đŕ5,áΫ•ťÁűtčŚ=ęt;ž�$î� Č@nČ[ŚśÉaÄäě;ĂČÉéIt_€ ŁŹźD¤ TFwaË«µŁaBÎO âňA 'çšśż�T†›”qśĺráÍţfĹD#›ă™ľFĺrúg}꟎ČnnPw­C·ş=WoŚ3üŤčŘŐßăă3:>Ňp„úŇć‰ě22�oř2”ú©ŠŔhD"ˇÎÉň{[ŇŚŚ¦őî1„Ä#ĆH~LB¬Čś!YolE¬u^éďŤP˘.#®ňÄ]~łŇP9漳·°H_ŞßŹęö.xźĚdHkÂe›„ĽTź@sJ“ŽCL ?5Ć1­^ŮĚĐ>łă§‰ĎFAűűô?˙ç˙ź~ýëß„4<  ĽHűWżúUtK(Ć[Ô•ßýîw|pĎp``FĎ?˙<¶QB\@�’đ‘°ĺŇ‘H\żL'ŰL'ýTW˝"Ă$IŇ+]řXň˘žF°LĎW(ŠE�R”q@lA[ľ“Ř ¨ĺ_„ts„Ô’÷SbK.ENŔi ‡ÖOK˘>™’Pj®§2ŕz ’žxWňNz­8ż/Ďŕ̽۫÷ZŐżlŹ ę Z488˘“Ł#~‡TĢ“Ň˝Ź'txě•č@8•>´¨¦HÝí‚´ZŽç«^%Fˇ'„.!§9:şT dăÔý©ÜWľWŮíAąĄ|÷.\ý8ezćĘę\¸bâËělLŹýŕŕë¦|żĆ—˝bâËüˇĎ|‡u‡i9¸>b™Ő“=7ó3ESr˛Tđů¸ŕ®Ř‘{&đ<�hŁĐ&Ią�PZK^˙J‘9ô ‘vxL÷ţűí w(Ąˇť×’ …BqPâŹBˇP( …BˇP(n�& Č29;G9®Ü&¤†akÄ éd{:é^n˘­=fş1•ŰŔbʰâXH>•›.Oč1.î"ĂÓ•Ň©F&ü9OĂaŁçzP'ýTű®3ý%Ŕ“7׏:tęŚiű§Ô* Î6¨ŰmHÇn˙ž›Ă~˝?$Řx@f 4© a+Ôk@ę^Jâp5s00qłáž…ĚâŃN ‘Óó_Fc˘¤+†ÄÔ•Iş_Tłx˛QpŮ©h¶"-eTHůOĆ[Ó¬ÉČy„¶9žMŐŚă>Wő ż)ÇL” ň€ńó›ožfášźˇłŕňŕ˛áËv!-ĄUSH/'˙@vËUÔҰ)”üŁP( ČPĆ»L`L†m¬(ćť§O‡w"Ň@Qú¦ ĐJżX´›Üg˘»FäůuQč›…TńďɧĽĎEí‡Ý{ą4<s =ÂT›5“$ y“ˇżŤ´Ä ©äA4oŠŞú5‘dĺúw­”č3G$oé%TOĹťľ+Ţm@ݦӽޅ%7Ň®Ę÷›d Źm· Ő¸»đóDß~»qĆ…KŹ …b(ńGˇP( …BˇP(7ĆxŤ2(YŚ<)˘ÁŐŽU«mMÍHŤďťŽˇŤM7×ň+¬aĐu üö.ú‘ř#F¤ŐÇŃŘ㏬NĂ„äGÎâ„»9 Ĺu� SX‘ű|xĘ+ÜYŞž•« 5˘ŁaŹ^oÓѨËuî˘Ű­„H#+Ţń«ňń C€ß�ŽŁ ń,=7%ĄĺŞiőyÄs�rť„ĹoCĺůAľĹýťÄ)J3©b̢dŚ™F?39AŢä*#Ća«s¦Ą??_ö\ÜłśÜł™§wU®V1Í=ŽógW …˘ xGBŮíFjLĆű ÇĐ•»eľ…¨+ďbÄ)}Ňsą…uáAČyôčź ň’¸§EĽ ŚL‹ďi¸5’SÚoMË} ‰¶\ÜYâőë-!˛éúnď`jue 7§gDk®?ÔjM’b‘ň+d%!0áš¶w¶iË}żI‹�BGCČ8dňÝoŁŠ]…fňÖ–żV\űÎîNŤ {®wÚ+ŢśÇŐNŢÚÚâoŰŰ[îݦóŕMuő…{.J7x¶·ĎQ7čţ/ qĂ 67oąöĘ—Ú qű5K^˙<Ě ŹńÜÎ ĘB¤z\ŽiďĄa‰Ľi_UˇP\ ”řŁP( …BˇP(ŠQ<Ŕ»á;c\ä'Úm\qĚî»Ę“~˘„˝^›ÚÝu{Ţ Ę<ÚĆĘYÄŹsA ` ˇB\!?˝V@w"ŮAŚň‰°b°HUPd%łŞOĽ°ą¶‹˙6t“ľý ú0öŤ¸îÚ±ĺ:Šj<puú„†î_+0DĽ[;’÷ëĹőkÍŐ/|Šk9ă€ô7ę$ę©ÓDK61:JťL‰?Mő´ßđq(˙HX1¦.Jä·|N ‰0đM7lCfh"|° Ѥ®LTđż„äw´Ú-ęuşĽîÓl˘\”şÚH]°`CYáy†›2·@ÔJ‰‡iYɵçńČóß„”•_ký^"“mtŰŇ®riH5X~ý)ä¤^ɵĄ®KD čv×jjT©:Tu•BŹÁ˝2” ők\ËvE‘x•ć=-'mc Ĺ*÷™(Ş�Ň~6µťůąé÷Yí}î~«©íZµâ’|"ú4¤„uô v$} üŮäé/ăw»‘ř$ŰŠ Ę*y킺=ZśśĽ­]?{čúâCăÉÁČăÉÉ©ësoĐîîntß#ę™ř©É÷×ožQ<4b‚äÓLFÍďşWpZŹßg`ßf`چű/ßßU ˙Ú[ëĹďď*píkI9€čEŢk…™AsÇ:ć+Đż'G„Ä7â˙Ń|µ0…BˇXJüQ(Š :i¨P( …BqÍV|vńUŽť±żď¦Ć†î3le„w&i7±ÖvÇ'Ť÷ EĎ3``6‰;"1fcŇľÍnÄ ŁVbè Ą0ń„€tEµ¸�ÁEVL‹Á¨î˛Fű™o#LĘn_üŹučőđµhÇŻ ç˙¶r…áęíŘvÜgp÷Áuł¨V~2ĚŐMÔCgř€ń­×«HjRďPżPEUŔŻ~5‘€†ď0  ŢĘŠ~9.ç4×O…RBKNB‘ç«y2Üxřg¦S3Z5ÎiĎ0jYS•…wbj+·­LĽË¬yňŮuF‚»wî2ij<‚:цaTďEä9u낲ş˙>u\yťźĐ \‹<ß))ĺŹrņx®ń ]zrei[€s`L…±9w‘–·Đ†!Ďbś—Ü»śÄ““˝×ţţ>ď‡aéĺjdâ~&%Ô˛ľ‹JĘ ľăú^˝zĹçß˝{—É’rŇħÔ qă7Î…AĆe|G¸×Ż÷gş-łV e­J™ÎU” ¤wŃpŞP(¦Ł‰Č RŽgR"eŠ”|(mÓ<\t;d©"TJü‹ö5ŃüńÇôřńăŘŹ•w‡ôĐćď®ý† 4ĘK©ëŻ–{wƆFg긾µ''WáŰÜÓY§ő­Mşwď^xߎ™ÔwHŞĆ)×âŐ6]>ŽNh4ÓŰ;Aô‘ützzFă‹V˝bĹ›ŮŮ;ꇫĐG¸U{ĹŠ7ó]ĹÚą*3(‡"¨Ůś@s|Îçŕ†Ü˙e1rýE!€ˇ: *ŁKcáë73OqÇôr #ą) ¸M[ő …b”řŁP( …BˇP(Šš ~p÷Ĺ$vŕ]xźŇ«w¸c¦,xRĽÄşą˛r†O¨IŚKĂqTF\QPű)Bz6’$Ä0.űŕîą“}ąJ‡|¦FéTíC Îo?DíÇ$¤`l[tf׳Ŕ¶VŮÓžqÝ|şŢRpI7ŕz/¤/lö[\Ň BČ^y§U#}äŞMĆB(aawęÚNŚ/)aČ]}ĄäŚ4Xźp$nÄsMe*Áß2)0VĎĘgŃň+Ćo9$ň„˛h·*bŠ(=¤*5� LvqŰx8Š®Â¤}aJ˛r`Zśµ° 9UJݢ¬±ÄđzzzĚç¦J9bMŐ#Ň6GMř„±6uG(×+äD¤#ńJ>ad“kExŮšČeëëklŕ•:&jFľý¶Ü>‹ŞŇ‚Ę3 y›ĺÎË+żŮŘ®¦ę@âćqů§ŇˇP(ď*„P +Ú ŤĎiÇ6|ÁRT!imZŤŰ&mĎAş‘Ľ"~icMJ†µvi;âAʏ ´ö;%ÜT}ß!·ŐLŠO‘fÂEŃî´ickÓµý‰â®ÉŰ(ü§Ťůʇý'٨”#—Ĺď¨ö»Łř‚ëÝ nÍ„�ô.˘íî9bČ÷wíV»*‡Ö»[Z‘LHł•¶®Ő¸oüŃŮú^˛ď‚YR …❇ …BˇP( …BqCPŁţTd„ś7 Fţ,k+ćl Y;iňőFc|8ś”RĎŃŃQâÖśńĺWćŞ0"ĺĆfo¨?Ť†n%ýĽ ¨ŚW ®?…ŻW0ü±;ŽŇŕR˘�CŢ4·M@Z_›H>Műj–).¦R·Ké&ó˘ÖâTŹł) ÔtíôĎ1lĂuDăi9¦Ń8Q¸±uUś”@#űäz@i»ß%&¶"çČy˘ř%D ! Hú¬ŽÓw^iHÜĄ ńF\‹‰‹!‰ËÁápŔŞ?˘*$e#Şcâ íŽ( Ąm•´e¸˙ĹÜMö§Ä"|ÂčŚăB’ŚŰâć ęTBJ˛—`äŇ8véJů iGňb™¸si‚ŻcŢŇű›ÖáyäźôĽXŻ Ĺ;QP«ő´··ß“é{`Č{íž´·č7ŠbMNĚĚŃDJ÷ 1GTč�´Çh'Eąŕ6„ĎrąĽ`DGű.ź1Ţä:A8°D5bФmĹ?făZZ‹mtŇWŔˇÄ5gŤÔ[‹ŻöÁęśčoiŰ=)â=�¬ôr‘×}ĹŠ7łř óâNűŻ3ë߲YąbĹ›ą×Ió\`}¸A÷•Čęý¸r·äő/źť<<MŚ’FÁU™%%˙(Š‹† …BˇP( …Bqăŕ9^ˇ§hžłÖ°ň~۲hVw°őőwţĽ2ž=)hRí$G5Álś1}PŰźtŇÉhqóu’ôŠ7�W0W+ä :8ɸؿNd@˝k24ÎSő™“z-OSyüŢP#˘=•%O?6!ý†k_˛\xUĄ‚Dá'F‘; ÖW]p•]EŤĆń{JÜIÉ+˛µ ďv­.GÄ@,îŐ�q†ß) †ËŔ"ZTÂá~Š:âĹwq»%j= Ćxu˘a Ů”‰bĐŰC1€T.Ćú1¨éŕ¤' ţ:ZÜ®Aő ŠfXMr >‘.Žů2¨ ÜBj’tĽÂe§GJ€¸śR08Kű(ńOk/q}ČWJĘ뙴卤µŁ(Š˘Î*çĺDÚ&RiŠüÝ™Oű”łHCé~Ľcl±\C—’“L8 äÎsa^V”wy˝¸iÄŹ+~Gß8W_Wý<ĽŃÄź ŔE&În ţLA÷¤Ă¤F…Bˇ¸ (ńGˇP( …BˇP(76ů †y÷˝Ó‘˘S­śřSű\Ţ–‹Ćsďú űËrą‰6kÇŃp?ĎMĂjä …˘Žş±ŔÄŮcˇµá Fľ™…UëfZ˙…Đ!żSB î6¤¬T¸üŰLş3&ş=K‰?ţzăĎŕʋϮĘ# 9F–F!˝ŢŰŁgNݬHJ©«¬Tµ(^Őď…(í»,QzU†Ôőš(•Éő§+ŘAÄII+ň»®>T2yźEqĘĹ_uŽÓ)Ç‘¬xĹÉŹáxĘňNOĎI©ŚqÁř�b‘7BT&¤ ŇQz?S—†Ź(î¤u‚óOTřţňĺËÄĹ"5yŇz×&W—ĘQ‹Ź& š …âÝÚě­­-ş˝˝ĂŠg VŇ~.Ű6H»¶˙ŮłgüýţýűwęŽ1ßO¤ŤMăżwďÇ/Şp>˙±lË&ŠB¸n¨ýačÎľčćýÚ®* …BˇPÜ((ńGˇP( …BˇP(76ýk˝K. ŐňFézX[[X—˙N#őŠ?‹r‰Ôޱ(q˘Q}Bˇ8'„äÂ䗙ķ‹‚eĄ­‰|L1öĺŠÉ˙,MYO[šć1C€DÔ‡*Ż!ąÚ \}Ťč4(ŃÄó—,'KŇ&Ŕčš*Ď@ÁFÜvI>"ĆxBNÓ˝I].†!­”5łů€âÎěňňn¸Ě”ł'›ĺÉënV˝ŕómýř4 …BˇQQÉegg'şňäŞm ŢGG‡ÜNíîîĐöö¶wIU#ľúV0ďKú}ţÓ‡«ľ  Ŕe8ůFü)QIH˛fIęÚ`¨¶‰›É EJÂm:¦P(o%âh„ …⺡Ä…BˇP( …BˇPÜŘĘeWĺţĹÔÝ]UVbzj­PĽ{°v’†“*őĚsYR‘߼%pšŰ“ZśřĚ|cĺ:^5×eä‰PvNűPW€Y†*"ÝW‰âŹ€RŇSŞěŁ&€ĺPWöi“–őěČč\*˝‡ …"‡AŃBxŐ4޵ýýq˛=›$- KS µ‹âÂÉ”ÚeV(ď$–iü ic©P(. JüQ( …BˇP( ĹÍBŕ D<0Kdó¬ÍÎ[&|Sş ĹŰŠfeńbŞńĐř?MGsňŹ$f›ľ×re'd‚ĚD{‘eáđÂ3•‚Ă8¸®š •ŞŐ$z7 qHT&ŕ˛%w3&†äÔ­VŞ.”şZăr>u)SąÓŞâĹwQÜAú©;‰CŇ“K–Ű*iJ^+×hTsŹ–~ÖËb94ĎŇcłTŐ*Ő¶ÜmŢŠĐf^ˇx+!í9Čś§§§¬°Ŕ5”Äm—¸đĘÎícŞîS&*y6ŞW¦m'ꑏjśNĽ™Ýx Iy‡kGŕÖ­[Ńu$€k@[ź"ĎË…b^[©,J…BńVC;Ś …âúˇÄ…B±2ňÉ=…BˇP( …buLş-˛5•±đÉo93]buŤ3…:PAÉ?Š{łęSô’•©Ú4ˇî¦É¦9'¨ůXĂĆP“pclFř™“¸D1‰ŻxŞˇ • ędŠ*A‹ŔpVëy™g˘­Ť­HJBú¶×ë±V܆Áp B ÁëëëF”…`Ŕŧ¸ët:üűÜ× 1ć"ě‡k�ńKĽ8~ttÄűaŘFě“|IĽT,Z-ßćb¶Á`Ŕůńyó}LﵸąaňŤű]†cBTZtţ w7QŢsŚÖ|~âNˇP(RH·Wűűűôĺ—_ŇŻýkŢ÷ŮgźŃ¸˝yí'ľ§(ËĘ]—´ż©Š'ýŚŁk-| am6Ú_iďWĽ�ÎČJřĂx×G}Äń=}ú”ăđ®©ç»L›ör@ …BˇP(Šk ĹR¨ËnĎŚU2BˇP( …bIÄ…ÓIWŇÚ\ń‡¨NúÉ÷Ď#ůäżqçe8¦ý_ĹŰ ă ±ŁćrËÚĆ1  t<ˇôTę–5€Ähj*Y™Ć4“ăąM@:eţ¸ÖÚKÂ=Z•~CýwSęíÓ¤Q5Uz€!źB�Â~™…Č[1l˘>8Eq(%ţ‘ZE  ™€Ńa$^ü–ĽâśJ)Č_ŚÉB@Â9>žŮJ?çGý…0•X6mß´WÂ’yĐÖ]ˇx;‘¶hÓ@ŚD[ 2Íćć&+…9ŮćÔÝÖTިz7˘=…šH“ŇţK»;Ky§Úmâ–ĎÉ‚x RŃŢŢ+˙˝űÔëöčää„Ó’¶<EERšO T(Ţ%¤]}ď+®őWBˇP¬ %ţ(Š…‘tóÁ㬠>%) …BˇP(G5íűś‰+…⦀ÇAôćĂÎ ŰÔE{LÍ•ŚEÁ W„Ő.é?©Ź¸Ńŕhę$‹‰±¤¨Ńte]pÇVŞ;”‘Ç„!hÎřvş·"ćŔ� C0ĘFe”ięú hQ#­lŘźŢ ąB JÝѤăwÄ%J@řŤ<`pŽOÓńFé’•Ră·÷÷ľĆěô:c= ůsŤĺn&‰žéu]‰ÁÚ\wHˇPÜHIrgg‡>řŕn—±A‰HŰćÉ6LŢEň‰]hĄďj6öq˘Ť…úŇ“ř¤-m‚oM±+ř{Yzwb®}&SrVĘŇ˝3Cj­H(ťĺQÚĺ…Úfť×};0Ýđsůř–ĹW+3wÇB‡*Ě»ţ›öŘÜ´űŐ¸čë?/¬W•MˇP(. JüQ(+!<*±GˇP( …Bq~dR?TwËŕJ&}„ţ§‰ę!G@Ôäę‹zõ(•)WúłŐţ|Őö2ý\ť±{1ą2¸Ş_>€™rR˝ľÔInÓÓYË’$rb…1ąŁQŮ''Őlp•%Ä›ę$ľş¬ ®µ(!™I˝•*&‰=’ž™$úT ź.5Ä9 ¦¦řs"H]-Ç+ë€#FZ %Ţ`÷0©k!ýpî‚ń8UbJ :©ŠŹs$ţtL/ Béqź—1·źťN—Ż\Ü’ŤÇeČKE KÓ>¸ĽCa›jĹv;l“ĎŐ Ô“o…Bˇ¨ ¤I(˘íîî҇~Č$s@ţÁţ””9 y#ČgJĚ)ř݉ř%´÷â†1WĎkĘ[őÂ2T‘X«ľ.Ţ‚ž¸´Ííu§Óć´Ä•d“±+#N*o ´Ď ¸.hÝS(%ţ(Š ¤+4›öOű˝č1…BˇP( …˘©KžŕÎg<Q8 ‘ű´Ą7xˇ Ăw0zO5b„ÝŰíö‚ˇ…xŐ´¸:€a¤(*Ł;ŚÚ8^­„>oßö|çź×@c&ŠË‚ÉČ>&¨äu ˝%UŇ:쬪~Üdw/»•M 2rĄÖ©ę8SH<łÂ¦äަ´S‚JJ°«g?!1›Ź˛˝!Mj_–ÇTŚÓ {…Ü“€¨h:ŻžHúÓ&ËnŃ‘]â @ĺ˘JO˘^”©‰J’€ÎÎÎjŞ ą µ´}KËR\zÁÍK“jC~NžFÓxżéxEî9ăßB˛VaŐ5M¦›Ňvo+­ oLO‰Wb÷Žä Ę”lĎy`*ňQš Bˇxk mH>÷ďߏn…83Ť 3I5ň% äÝ*Ţľ}›ĂJ|BŕĚÉ´«ô÷ŕŽěŁŹ>âs×Ö6Xń×’ş|T( …BˇPĽPâŹBˇ x1‘xpp@Ďź?ç•/éJ@ &···Ů÷5V”l¸BˇP( …Bq.ŘDc4Ś.op `u ôG˝A#U®hŠÇ[ö;ÁĄNÁ$QŘ@żvmm-®ŠF:''Hgś|Ѝx!>u­#®t$>Ä-ĘŁŃŐ1Rw©KąN‰·NśPĽyH‰>†fëŽŘ:1‹ŮéŠţŨ©bKZŻŇú$Fq%î¤f׳*ďyťśF*š0†RíjĂgş/K.‰Óµť¦8*˛P¦¸`+…ÚIoQ&( ŐÓ®~×ă욤˘ĚÇDŇT]›\ß4/oęőcAʉę¶đ…ałój¤«ęNčÂ#…B± ŇöďHh¦‡­˙F—t<mů¨äďč_šš™'­Ż'›Ľkj Ä?áw‹Ďyqsü­ÉöN\•ĄÄăy„źy¤`…BˇP( Ĺ›‰˙›˝?—fKË:Ń™;÷Ţßü}g¨3×|ŠIpĽ%‚V#(˘ÝWŻţ~Đ«8Üö¶#Ęm[ş@EA¸"\&±iÄ– DŞ(¨ąęś:óůć=çĎŠx#V¬ŚČaŹ™ą˙˙ďäÉŚ+"sǰb˝Ďz^„?�0‰~nŢĽéŢýîw»wĽăîąçžóv·ö©Ń0źđ źŕž~úi÷†7ĽÁ Ä"><Ns0���€ĹĂ»w˘ţxŤÄ•Ž=ąCϨqý$Í],ôOĺ$ćŃËŇëč]BkßĘ}CíF•ÍS<ôĽčÇF~kŮÁÁ×:Z_ĺT^byÍ{ä‘G|›YóTßööŽŰÝÝóëYJŐe#˛UN" -ŻŇč ge,Ӿ˲´ĎŹűoR˙Ţ&<I‚©t⾨ǎE&FÓ1¤ăJŘńŞ—Ž±ű÷ďűmçOśţ.,3͡ ©)nĆ…L‰k 5}Ž…6µß+ yęđ˙’z€ł8üřşĂę˛MĘ„`ůµ#5ůQµós©IâÎĂ“găůkě#üi wóąOŻźŔ7Ŕy$v®›ŤĘBn4t®·M÷ö”¶1Í^˝B.Zĺź-·őx~¶I׼Ą¶ÓďŹ\Ď ‰B´đŢ=Űu°ÉˇíŘŕr ���p¦ ü€‰čapggÇ˝úę«î}ď{ź{ńĹÝë_˙zďîŁůZ®1 –H¤Žć­­­r´łĺĹV`CĂi=u.k™PňŃ×ݲZőjąÍ×KÓšż˝˝íëę´–ŰĘY§¶:ŻóÜÖ=ż?6‚;¶ŕ5k]����XLŇR0ĽJGEďG.ɢř˝µN€ÉYf4 Ýr/Úé$AhäôČë)”Qpf3k§^ŘĽP ŰŐ6T[SíIµ+­ťŰë­—î?֦ͅ?Z¬űbš§őTŹÚ§z©ÍŞöŞF€«ŚĄ÷Ń+~Á×i˘kËjÔ.†ĺˇîZSď6×wýbÇ]ŢĚźM:]CüŘ•č+‹ŮíeŹ6;»űţ9j˙ ďFIž̧Pj Ö1Ꮞ)˝Űs”ŽSKe˘˝$HÓńfËfúŽQZŻ0ő‰=[Ť§¬˛ó0)ĎÉŽ’™ĺSsÔ)SsĄµŘ§IpB——¤H÷WĘi‚Ýďť<ĺWţ÷(ëMŇZ4mpúIĂJÓ|‹ˇR(i˘´sÎź7ceŐÜ„­†ęOáy~V‡'�XLÔćŇýN}‘şWŞťu8t/č¸<…gšÝł·ł:w˝«c·{;«wż•Oc’ŕĆ–íîěeýŁŰţ>Ö[»çŰ…›ÔOjÂ"µ˘Ô 3 ßBí ëg���€Őá�Śç®¶NâxŔżŢö¶·y‘Ď3Ď<ăÓI¨#' 7˝éM~˝řĂ~´łÖą~ýş{ňÉ'}ĐD—rŇr=p_ąrŠ—ęzď{ßëZW[´Lĺő€®őďŢ˝ë÷KűóĆ7ľ±\vëÖ-ż/Ú–ÖđÁÝcŹ=ć뉿_SŽn����8;|ŇÇMóXq)4Č]:,«Ś2u;r9Ił`H×md‹t4t{»{n?í»ţÁ ›Ör ˛�LW˘‰mś)­ůk= o6ÝĺK÷\,]R„Ú±B" ĄµU[ł›Ő‘»ńô}űTű(7 N$.RűÓz$ŞP}椒;­lřúň`Ń–źď… Ů6ő®uU^ő™‘úrP×5¤µ÷k—:î“^żćŢôř˙ µąŮsű÷˝ř§›ýí·:î…»÷Ě ·Üűß˙’{%[6L/şaŇ+¤’˛ä]7MÇ mĚĹĘ^ö ĄăÉŽ% H곞צ'óçĄJ—cŰoJSgĺ-ťXĺ¤ŕŠó°¨/+'ŃO' ]Ň2t™¦•ÇŰď›$v HĽç‚eŕ*%@…BĂĎN]QŇąşŰP±íňKVâ˘ŕ›B!*¤ÍĽĎ‘śË‹ĘÄë¬?öuü¦�–`8Ř?p·oß.ď_aŠĚ™HóÔ]rŕÉ]~ö˝řçŕ ďîÜąS»…*ä(k/ Ľx\}¤/nş‹—äęg÷îĂ $řŐďˇ6©Ú ����°: ü€©ŘC§=ŰR{µÎdąIxó‘Ź|Ä sTöĆŤ~} ô`©ĺ/˝ô’éČEHó•‹Z›ć$ᎄAzpÖr=ŚŞĚC=ä*ZO/Őˇ2ZWÁŞWÂ"ÍS9íŹŇ,Řţ†#o˘����,Iôąp 1‡žŃ¨SŠ‚”EAóô’ŰĎFYëöÜĺ,("ÁĎ@®?ŁĽ «·ŕw ŃŁBž‹öKŽŢĂôćĐ“$ì͛§â’HÇ<Şk8ĚĹ>&°0aŹ9üřŃÚ˝őÚ×5·Jk—Ö˧cî*°L¤ĺńĽŢą‡.ŹÜă7F»°©ă-;¦†˙·˝»×unÝÝľëÜĆÚë&Ůqäz’§8“´¤>¸×~Ř1˘ăGÇ ;ć¬j)=¬¬–ëYJeíx›† ŚtĚŰsˇŐeőŰ|sƲsĄrě Ĺ}$§UiÎr' `Íâs' Ld’*‹T(ä —\µĄŠ4ř5'–ţ¸âwwĺ†ŇĐzhŽ8ëůHôŐFrDËS|žÁA†ô`Ą°{ÚĚÂ#0W»´XŻëŰ;Yźäw&OÚ/ĺĄl¶k‰O ›ÝW/^ĽŕŰ®jój“µl—®VńĚőÚw���€Őá�4ÚłktŚ `H¸ó#?ň#^¤cÂťŹ˙řŹ÷9ńhäĘŞ#Yâ•×<=Pľđ ľăW.<ę€~ůĺ—}ý6­ňę ÎÓ)ôĽ€GB}–đGő†¶őŞ[ëhŰÚßw˝ë]~Z?Şçř€i”¶ Ś´nřýšŔ���`q°ŮÂ;‹¤ŁÜń' €X»PQµ÷$úľ|ůŠëvT>ńmĎýýľ»—µďoďx—Ądčúe»µßřŃÚZGuH¬`˘m[ď™ ­Ł¶±Ú‹–"An?ŞSËLČ#ĽĄ§ÍECyYmßR{™ĂŹČDi±żűe*°0Ť’ýËH:cj¤¸ľhß÷0Ď J=§ăěÎťQ‘î8Éáěągx»ôÜË;WÜýű»ĺß˝“f/äŇéűĄcJĎk:v- gééÂăÇÄ:öŚg.UMn¨ŐńWť‡ń€ ˇ:l€‰¬ţüś9đÎůNÔ÷˝ń¤Őy0 Ýg‹ĺ©í!Ł)ŹŤčÉĹz¦4Ë JŘ#1Ď(IŁÔ^ŐôŘ1—Fďöf<6«=>Żő»źĽđ‡ç€ŐF÷-97޸zÍ»›«c(dťť¤Č:›fmş÷ÜGoş˝[îţ`ßíďšđ'i]uz[¨ZľľždýŁkîÚőËîµO=án<pÝ­emn§^>©oŔM»f†iĎ4Đ����V„?�0FhŐ.ÂŽ0ą©y fX°Eť˝rŘŃĂŁDA¸°JuřJ¤ě'žx—‘¨GËôRǰ֗čç-oy‹×:ę¸ÖK˵-=”jű&DR „4ďCúP™âK}¶ÎfŰgFL���,!…`Á·ĺ’NéŔ pÇp”şľÄ<ìý©`KŇÍţëĺB†ěs7›·™5gɤ_k§ŞžÝÝ=śWŰQí]kęłÚ’&Â1!ŹP]ąđ'ÉĘ梽4-§K ©)­ő•*Ě„Be­Ťjâtí—ąţ4µĹa9c{:înďôÝćÝ=·ąŕŞşťˇK‡}·ź÷÷şî•ť‘»u·ź•U»u—Hř“v 7śŮž_tĚčžĆĽÇ“O˝U8ň„Ž?ć�«úĚ1AĎzvNŘ3b~^$U(35!O%Ľ±´\iŕ TłÖ)„GIa¤ä˝R[7-Ö·ťÍçŮ{ĺ=~®Ż÷ÜFöÜyńňE×í­ĺżaö7ÚÚŢr{ŮyďEQŁŘm))Ó‹Íôű˙έř§<ŢűýŹşľíĆb‹ ŕä°ű“ ĚÓµV‚ÖĂ_ÖÜÍŤ]×Iî»Ń0kŹJËťN+¦XËň€ŃZž*sccÝ]˝vĹݸq-ŰßÔ7Ť±šŇébIµ=ő{čžgíO����X hÝŔ–şŔ^z”PG)µô€üiźöiţů=ďyŹ–(0"re‡Ť¤ŃKŽ>çŘhRĄě’8ÇRu©ĽF?›č5ŻyŤ_.ô®Ŕ‰L5rZź|Qyul«ĽM4­—ęŐţ>ţřăîđ#{lD*���€ĺÂĺy[ŇĎ)Rt97eí@i%˛űnkOŽ*/fÓť2uP·ŰËÚ¦›ŢqD­—ŚôYN>[ľÎ~čă-&ěŮ/‚ţšÓ@ÄmI•ó‚…Ô•iÁÔ~¶ÔG6=hDů  0Yú0s’XÂŇ#Ů+L7ËąU3n?{VynkÇíe˝/—†JőµézťžŹčítÜÝíˇ{éÖž»{ŕöúkndĎ-i/«§[Y,§ŐôT_1±cTüů´uę:i=Ě™VŻR´“ZŇłśNń*} ädâźHřcő‡[‘Űϰ3rë=ďţđčcŹą×ľáőîňŐ+î ŕ^yőU÷~9Çľň˛ŰÍžu‡Ła.Ú)âlj4{x–Tm+Oz”ď>żă˘�•ŁÜiź���Ŕ˘đ�ư�…8Ě&^b˝ŢřĆ7zaŽJß%±ŤŤQĐÂlÝ­ †T§ÖѱÄ; †H4¤őlĨʩ9ů¨śŢĂQ«€Ńú–:!Ü_‰ŚT§¶­wŐk©Á,‡ő˛§I����8Źä˘ť\L“Dqŕ|2qű·µłW”© ¬÷ÖÝ•+—}›°_¤é˛— ÝĄ—ł‡ nBNSűŃÚ–•@§>?LŻ4’cH2,…AůĽ\Ü îm+‡čgI1áJ1ŮŚÜťÝ=7čÜĹě8ŢÜë»^˛®ŚuţYgk;[ľ•8şŁQÇŤĚÓĆň[éčN:®S¦–KĘöĽfÇ‘·ó7áqVşjóósoP·™°Í°T_¶o–ęËRÚŤŇşŔ'uQ®R´ĽŠeţ×H«ô^/‰ §ťËű˙“ČĄĄÂ(ŤÄ?i’şA'{6˝rսᵯsoxÓÝž~ł»ríŞ˙{ĽđŇ‹ľd§ŰńŽ´z&­3_ę®$řw~Ař�‹‰ĄľÔýJýęoÔ<őOj@Łî»aźbĽn~k)$©ĄŰμנŘŮ,śž˝.µ7‡>…lrf����° ü€‰„ťŔ&¤17YäʱGB=?öŘcţaů™gžq·nÝňóÔ1¬Ô^rŢ‘`čĺ—_vżň+żâ¨%Ţ‘ÖS}Żýë}]ď|ç;Ëô`ŞCŰŃ6-]‚ÖS¬N´ŹŞçÉ'źô®@ę°ŐvĚ­Hńá(í¸3śŽA���€ĹeLlŚgJ0ńOَÖÍ])ÍYÇÄ=j®­)EěŔ—+×)¶gŽ<jçÎ=ż<śÎÓU!k3kZN”y:ŻJLbmÔP`ÔÄymŻ.Šđé(űáťť˛ç“íí]˙¬Ó‘le”Ă<uÜ`Řsýᵬäzăú^ŚăS}lřç"_zVR˝–ŞCÇ™Ę)P©ĺBŕfnUaŔ2>–,—°4Îáü˝˝}ż˝~)8Ň6ĂvnúďWlĎ­Ůą7JGńZ˙][Dnţ»»üÜîâ8˝g!ŘrZ" 5— ‚ü:ÎůĎUř´Yř#—ŮOú¤OrOĚǸ?č6Ľ+ŘĐ]ązŐő˛ßúÂĹ eúľÚůib¬9‚±ťÚť3Ę?ëéŠj»o‡9ź‘`¬v-PߣĚź}öY÷ëżţëţ^đ¦7˝É»k�ŁÚŠşßÚý±\¤;‹ůĐ2ÔÔ>űőÜź.©„­U-őɤub*jëîěěúőäŇŽđ���ŕüđ�ĆGyęÁV˘ĄëzÝë^ç?«ĂYľę,UG¨Ť‚‘đFÓZ_Â=dZZ/uT?ňČ#ľó÷ůçź÷ťÓzŮ(=”JĽŁŃ5IŘŁ˛Ş[ĐJץ—ŔUÖ…T÷ŁŹ>ę×˝šuŇ*Ä?Z.$8Ňľjű<ô���,ćŢĂ´AeĘź–ő‡.ţôzëąPŔ»˘tJŽşť5ďlR[/kw橼śoKŞí)ąŢŐö4QşĄ Ť*A„ęŐ|•ĎťŠŇŔĤrŞ}Ď@ ŽÓĎůäŕÓôÜ(ÍĹ8N"’av¬č5ĘËČ]ĆwĎxLářă_ů®ăŐŇ)w»kţŤ†ţ¸Ô1gÇĄ¦˝ł•›UÎU~+Ĺ@żwűf­Ży&Ś&ÜŃűŢ^5Ď^áŔ ĆXťţ8vą[PŞďT<†µ¦÷Š~ľrź]áčŁóµŘ}^Oşn­­eÓ=—/w…#PţëĎ´ŮŰ0©RŤŤ˛…ýÎČݸ~Ă=ţŘăî‰Çs—/ąµŢZ.–Ęţ<Íô/°W)Ŕ[ícŇôGoáŹ8ᏟᠡIćr °˛„×�µŰÔO©~Ms67¨ąţÔÖő˙KŞWy˙N˘RmׯIN?ÖÓwĄGŁQ!äM& Ęig���¬.�`Ś0ˇÎ_‰~,—:[%¦Q°ă©§žňź%˛Q9‰p´®B&ĚQ9 …4JTb nܸá;Rź{î9ż i–RLâź›7oú‡Q ~$2zó›ßě?ëAÜ,äŐkűĄ‡rgÂ4`ŞWŁtô����KH‘:É\s\”4ȤiÚźíHбHΗΝMÖ ±NZ:5ń‚OQ¤ţňu©Ľě˝“Ő­ö«ęV8 0W%×(öűŞbV�Ťđ/ţŽ>[—R!_ËŽ§KEZě8>6^«ŇÍćËí§›‹dŠcÔęJ]:d>„‰LdNU–LÓaYs¸˛éřř­Ň׍Ƅj¶lX¤a®â I ÔËÓxŐŽňÂľ«đ%EŘ4O;¶–˝ziÇő Ń^Żłć6łßj=;ďş] ˛ó/ÉAŢHˇ´¨Cß5ű[ô»ŮďPüMŮ‚ýµÔ]şpÁmHč”­çF…OéQ:ÝҬ·ÖsëŮ{j©Čę;=a:\BŞ/—žťŰŹÂĂô‰őc;ť€ŐĆî…ęŰ4tÍĐŔE .´űf ł\÷”Żëş"ĺmĚQ°Ár/^ímćt,-§aíT����X=ţ�Ŕ–ţ@ĺHč"ŗ㎠€ô lĺ´\ëJ(Ž.1»w |¬XurěQ=*Łl y$˛lŐ§tar’hČ^ăŰÖ‰mŁrlÔjlyBš/���€e iř¤ŢI&™24·÷Ôn”PGî)>ř_ŚťPÂöŁŢÍÝŇ^yJŮ®w ÓYš¤P<¤úĂ4ş•W“p~.H“LŽQë•đ'5áOöĘ>wKŇ)„UŠŞÄĺ‚5§»»{ţąFB9ţKK§ş4ÂÜ ěąË„?ÂŽ_{7ˇŹ #šČ]ňm5ąT5ÁPŕpUÓmř/¤á˛óÁą1 ¤řýrUšż4/Űďč#ŃÔP˘˝Ľ¬Îá<5Xvţ¦•ăO’M¤ţtĚń';Źłşöłs˙ţ˝{n+{]ęvÜz'/Żů÷îŢőŻě÷† ĎŚ“D@0Ć^ę& |¸€ĄĹT¤‰tOŐŕAő'ŠĐá®¶îÔ‹[“`=Ľăµ9ý„©ÁŃoÚv9­ĘŻu×Ęňí˘FW á���`µ@ř�cÄ›zČŐ݉u$Č1ŃŤ:žÍęÝ f)oťÇZ&QÜ~ôYn>*óŘcŹů:5’FŐZ¦T_J¦Q–ÉáGË%ţQK fŰ G±ŘČLłc·ýŇü¦ďŐ6Ź@���€˘wTí¶@Z!gŹN^¨MĎ-ŁŹQäđ`B %ĽčGŻÔŐ„9ÂD;&Ś…íÖŢ•sĐÁAż±›đÇéy›8zDÂő‰_‘ş'ţ»śövʶľ\©FąpĄpż1˙Ľ"ÁJ7iMKlĺt¬Ţľ}»ě0đî@rB&ü1AOěhbĎKV>|N źŰšČpůrsľŞż†u\Ző؇¦ŕ© …ĘĎ>š Ü…|…nXś?Jë5Lów˙ěé䔿űÍd«uGąXČ˙6ťÔíwS˙.Ůűn/ŰNŻë>ôˇąŢć†{Ş·–ý r±ź~cÍ×K´r“ŤśŚ3Ů•†T_âěR}Ĺ.?6?.�çŹđÜWߡśĚ5/Líö?ŽŻ;ĺÚ;ž%…Z=_čĆ®miĽn'zĄń(?v Ńs!{[›˘Ř WO”K[óÜrŢo}|˙óÍY~šť�p‚ ü€1šh-­–°_á„Ĺö9 jřÚ^Ď;ţŘ< ~,M—¬ÍMHó4ňZË5ON@ucŁmÂÖa'u(:ŇË:Čăď����ËBŃ–tIŃľsE'Yh‰RŐ«˝#O÷Őńő ‡#˙˛´Cyb 0�4{»±Ű–éÂL|ľ*ŃŠ+¶áŠOŻ9ůžżp|9ś©Cţp-ţŕ…ŹŤ^Ł •b*›Ý-byáü0,¨×@.R^ŔS?ţóĂ?/Ý ޵R;]ňcÜ”ĺ1—¶í÷8yÚ­*�Z+źŽ§°KÂgÉ"®i©»¬> —ĘZĺ{ţ2a”}ÖňaQŹ@ţt‹`Şö*úTŰîő橾\ář“ř÷AVćöm÷Á8[îÜ˝Ýwůę/zé•WÜűß˙?ekk;wëxŻé—š4=÷©ľŠźé𺚣ĄĂcq�4Šşĺü3­\5ĂÍHҲ‚µÎÚślvâ‚ü™U2*ŻŮÝnÇÍrͬŇ:����X!ţ�Ŕ5›ö ĺWŰHÇ05XS*-ÍÓúóHĽ#źĐŤGóLL¤éŤŤ ßéŞyćŕŁůˇ )¶•·eˇŘ§%:űnMĐ���° ř�Gţ±Ű麍ކ[뎢čqxšyeݧRŇ›„9‰ŻËŇ%„¢*h2€YmHK™§•iKTovŽ·AŹKŻ ‹ü÷<Łöîůje'Ń÷ő˛3źŇË‹g˛÷‘(*ŐÉE9ł¤Ł˘lío”SűL:0’–‰<ß˙XdsíAÁ(qIZ$ăô\ńg_¦PłuŠß Ňń%&ţ)ż‘>Ťňc”VÇfyZϤűtôĺëŹäx”TBšÜ!¨Z? +Ńy¨óŇ˙ěĹłl’/ßŢŰsüČGÜ‹7_u›żön×í­ůşöö÷ÝÝ{÷ÜöÎŽýÄ.GEµá·vSIÇ~ŮóEzf—�€©zŕ’ę9Ă ę���€Őá�L$´Ĺn-×ŕ°ů!ćú¦ kBźąFظqáO,\ ť‡����`ѱĐ® H,ŢuÝ´;A¨]w…¨ĄÓrąđ§śçµ aŠ×đyvrc’öTIU{ŮD§ĹçM€s–ĎM.©ŇĐőÇ•‚9FąŔŞŞ#ٸć#´v87îBě6ÎUuÔÝjÚÎż¦ÁŐÎ5ě’mĚśy"[r5Ką¬¨ĎŁNRݦ|-6…:·ÂbKç˘O–’Íßď÷Ýţť;îÖÝ;ľÎđgŹ|c]Ă7vł^/ŇPxw9˛č§ĹcÖµ�pž0ˇËÎÎŽ€hi/ŹzmŘŢxčÉ‘·´Ťű÷¶r{ÉI:Á@HßţŚ„đSPęĐ»wďzaë¤ţW����X>ţ�ŔMy«MPŠjڦÔ`muÍÂaGZŰ{ě@§kÎË ����‹JâÝ:lŞ)UÂOjÂwfx>ÚśÔvŽ‹I»ë+Hü3e›Çńť§ąź6 Ţđ˙Ňćg@›WOi—´ÖŰ4dLBSҰ®´î—î¨OWúe®şbŘö,ŤXm“.ú=˘í�Ŕr2 Üýű÷Ý`˙ŔÝľ}Ű÷ Ý#$~9ěýuŘďşýýž;QŇŽŰÝŮwýč îćÍ[nóâšĂ ˝`%Wťí{đG2Ż^˝ę����`u@ř�­49üĚ»ŢibľMD6 ����ËĹxŰ2vÍ™>ÂÝ ,2ýäÎTšĘŹďʰ'É͂ƜOć{¶ 2m.ŞMžy7‹{J§›ŇÄ+-…7µRˇ WšO‡©¦Ó`żl~čújéť«ß)H÷í_%ŢŞ Ęth°*Řŕ K®´âá�ˇřxRęĆ0]8�¬.á�ÇůWv'ڵo;ŐçÔ>›ŁĄ-ź]ó$x:Šč ����„?�0F8Zs^ńĎqĄŐ:ęúm–Ţ����–Ëé“Ö&–ŤÔŇ]Î4&’Éc /ś$vŇ9Z꣰®ř٨ń,_;ř{BűłVV.­„8¦´±Đe8ôŘ««ŔäÚšO:ťÚ¶CArŘË‹€ŇĘ(-¶î™OĚ’Ě‘ň –†)Ŕ}áÂ˙.· +&R:r˝k™D?÷îÝóe¬:żŻ\ąân\˝ć._ľěÖ××ýüř~2/[÷ÜKĎogźvÜI˘kדO>é®]»’ÝłűiqKÔnw;ó;Z†iĎT7����¬� •&O› &.wŰ=Îşb x����Xb’´ţŮOŇÎĺŁőäźÓ<gžV5ś3"ő˘ť$źň|Ř<h$8Wkâź4˙ÔźŰ:…čG‚ ‰1ÂŔl(4u(Ť‹=聾“Pľ‰tLĹĂĄâüaÇĚĆƆ?ž$úŃ<‰$�Đ|˝ëxŰŰŰóq <Ŕ�–ť˙:Ç•ÚęÚµknssł\vÇźt´›Ý«öÝIłÖ[sW®^q7¸ží°¤«ą#™ţtłďWYÎTźŽú=t˙Ôu����VZw�0Fčř3iyL›müi3i˙qü���€yisH9+fÝź$ĎĺV-z=íyĺ¨őž6Mßç4,L;ŽrMât*7˘¤±ŽřłŠąÇŐ}âm…éÇBqO†)LG 4­m•Á[Uu§cűVZąYáry±ăBÁmső …@zIđŁw‰¬¬–ŰńĂ_�Ά´şŹŠWĽ·˛���ŕ<đ�Ž•E˙����Ŕj¦#7 ë"IŽM˘HôH •Nţîţť" lËWதÁ¶ÇS!Í”ÉM LÓObVqmňł¤úíCÓžâ+>ë}T/ŇI­†“ű{N{†K‰“Ň……bžy¶U¦ç*Ň3YŻ6Q‰~,Ĺ—9ţřmۨ6ćŕ|`Çś\.,%ś¦ő®yĺq“˝äôõŕ|ˇë€śľäřeiţ”Ë„ šűÜé“F/çęíř>Ď …łÓ÷»jˇ��ŔŮ€Ü�Ž „?������°°(qp°ďĹ?9ĹgK÷ŐčhS1 ÁŹţ%ť,p“?:Aé)„:c)ŠěÎkJgÔ4ÝD(hçM˘m›ńňiŰ]UŽËů稿SR[=­ÍHJˇO. Ń’N9zä—¦i×™-ßź¤p¤)lâă{žŻfĹ›ŕđÓ&jKŠ�˘ß÷Ń›‰nbQNá~´ť{&ü ë˛ň–úËöŮžöJm8sm±sp,€:™Ł[°(°˙ţ}˙YNjͳc©ÓÉď:~BńĎÉËî�ŕ¬ŮŢŢvĎ>ű¬{á…Ü«Żľę]żžxâ ÷ĐCą«WŻşK—.y!Đřý`1® ş¦ĺ) ü5Ě·| W3Ą7›*üá6�pöĚ÷�Đ Â������XXFY�v0¸Á _Ě‘°"Nu9�…i‰Ň, ›hÔs/›^Ë>ç©^Ö××}0GَÍőAźý6‹ŃÓÁ |×2Ą‚Q@('ŘvbÁ-ÝHT‡9OE®ĺć^RŠŠőm[VÎÓB(íŹm/tGŃg•fű'OC’a˙˙Nö·čvB±ŠţVďd•˙ŤuĽ­ďąhEÇĽK“J÷3Ëö‹EáńT{Ş<«ŇÄ ¶ěŕŕ A´:PŇą±oŮÂW“č'N÷îsÓvĂc?Ţ–˙MáŹË;]Őo;P®źĆJ­‰Äâ$XNÂëć\čOO�`e‰ťćĚL× }¶v^,ĎçąSş>Lpä)Ú~şźű6_qOďv×ü˝Kâźµµn´ŠÝŻMŕ‹ö���`U@ř������‹ËOZ( ‚é1P‘L)M Ç8şUÚ¤ăGAkD·D·nÝňÁ’P¤�Ęîî®)đ#ˇF«Śę•H-3Ź /„ †TFé#\‘pHĺ·¶¶ü»„;ŞO#ʵ®ĘZy˝k?L|¤ýĽvíšź~ůĺ—}}?ü°»|ů˛ßžĘj_­¬ö˙ćÍ›nЬ|@ç°Î?§á¤cn}cÝő˛żo%Ľq…�H;ç¤Í:8Čwýl ŠăjTŹŽźđxŇşvŮ1 cXdžĘÚń!—€XĽ;ţÄĺÂňˇ�§rć± ă¸Ő´żW-}W´ťXdgő…)ü|`ÓˇŰ0&9>�śWtď|ę©§Üőë×}»Pí(»źŞŤ%ńŚîgc×ÎSą–& ź+G;‹3\=– K11ňšŁńú��ŕLÓ�„?������°@DÎI5?těč$®ňt»ą#IĺCFťÂ9EÎ+çô˛÷5/ÂąrĺJ™ľA #T§Ä5Z® ŹŇĂ㏉*LÔŁ—‰.ĚiĹR*ŘČq•1‡äčĄíŮ<Ő©ý°۶ܦ%čŃ6€Ň¶•–Bű,!^¶Ďqč]ÓÝ˝{ÇŠS˘!y–˙˙ĆzâąŢq×®ôü1•»>ĺŽUú;ő·˝×uwďíą›·nşá ď=v|úŻŔ)'ÜBšş±D>­Çú†?ޤ”ĐHÇ–D?ěřł‘˙&üѱ˘c[â X°3îj¤. –Ç‚›Wwţ™|đµŐŃT¦)5ŘřţUż}3$o�€kĂY;Lďa›-wĚiź¤g’“ĄşŻšŁť9ţ© k" µ 4/ߎj5ă fv�� Ź'�p ü�����€ĹÂÜ|ŠŔD§“”©°4JY©“”ş`}}Ămnćb•Éťz$–Ůóď6ŞąÓY÷©ľôę­ő˛ő6}0Gu*°óŕz‘ŤÄ2ŞC‰|ä $±Ť„6ÜXŠ! c­ććR‰LH¤mhZ" sđ‘Çś€nܸá·eÂ!í› —$Đ3‹Ö7ˇ“FĄëłľ·öAĺ…ę0§ ˝Ű~ĄĂ.'HZ žŐ#i—/8÷–'†îŤŹ'î.ąŢz/ű»ďúŔ›ţŢ{M÷ň˝ î™çďąÁŢ‹ng;[ëRvÔörÝ[Ůsc‚¸´ľÍn˘ălÍ—ßľż•mgÝ]ÎŽáÍěéŢ´=ďx«“\wJ§ť´HůU¬câ¶Pä#̡(L…g‡]Ľ­6‡ˇ&ĚiÁ¶kďVOů+Xý…0Ş­ţ\DÄs^ÚŽ®-�°¨Ěr}˛2–ŇUm7am®Ö:äŇîwěş7«s ��ś2M)$˙�„?������°€äbĹšĺč3J;Î"úݵ¤ÜtKÇ<$„±4\&°IóęŃ7~$I^Ź„1÷îÝóe,˝— $PĐDB;ÓŽÄ &¤°ĆÜ~B1B–›ŁŠD<ühzYÚŻ;wî©ęǶŻíčłęÓ´Ţ- …ą É%H˘˘8˝ś•@˘×MÝ—†îŃë÷ŕŤavśvÜîŢ 8˙A6=Řt6R·Ţí»µ$ű[»´ĘfW}¨m!îöS}żŔŽa­«w;t,™�GÇŽa§sč˘c˘—VËLČfbř〝/:sˇ[?+SŚ49ő4Văr±ăOSŮxŢYř1,"MÂ+�€ó@¤Ä ďyMâPKÝŻßVďń^JcGşJĚjN–I'­9Úw0Aoó>ÖwRő¨]`®|IÍ]sá~“Ŕ΂˘źŁřěß}ŠbŽE�8:������`aQ`BA$YwŁnž"I9ü(x!‘Kżŕťyyä5îęŐk^d)Ť†Ôíl¸»w·ĽsŽ„7ÁĐô˝řÁFsÇ r$Ô …4/˝ôRmô·Ť¨ŽĹá´íżÖQ ĹŇwYŞ÷ąçžs/żüră÷·uT^űT99˙}B±…´´Ží÷¤N'Mą˝S (…ßu–r'Ť%‚Ńq'—ÄjĂôąřëŢîş{iKËö}9/ĐHĂ”WŮßZi:’j h-ŐWŽĄv ©$l3Ž#:>LDîsŚÜ~l]oÄ™#‚Ö7ç*Í—MÇ»ęľuëVQ˙pĚhŇ6ăeMËăÔbá|]Ę~ó4]zwźřű'§ü}Ž{{ÓÎżdÉ˙^�°XX»H÷ŘYÄ?ł’·ĹŽÚžŻwńÍ=ń–‚ÚŚŇvöűC'MoRč’Ň4߇t4źČ[żÚ ^(”ŽVŰ�/Aţ łŔ1§K’ä"{•#-ŇP�p8ţ������ŔŃHwĚĂžKĽéH$ůčg;~Y·»ćöööÝćfßuŠô[®,tGžá0úHt!Á‚ ~Ľ“P·[ľ$ R`ÄĘJ,´µµ]H’©?Çl(=™Ü‰îO-y¸ź7]€ľěót)Çë§ůçýˇ{ĺŢ~¬Űu÷÷ÝZ·ç—ëxŇńwo§ënmŹÜ«w‡ngŻď†Ł\¸ÓI ±–ëř´`ľîNîV5,Rh%/ÉÉĎŹě|8Ř?¨íË~v>h':IgÂţ&őÁΡá@”q•kŚĄ·łiű¬wÜéĽ1QšÎÓ0µWhťU”feL ×ę`“Ú)Oá×IęËNš¤řwlő%Ií=ţ<Ëşv-ťĺ7?˛'6°póŠĎŘŠ‚X ŔŇcéUw6vJgČzJĘĂťč;»YűíXťkw«rž„:÷îÝwş•olęţk×rµgűs ,µízvżľtńâY_eOD?0 #p–¤Ĺ58˙��„?������°°(°‘ oňôZŠC{Gʤ¨ŘÚÚqýčó^)pôŢM$DŘČ#Iá€S(Ę€vâS…Ů<®˛Úf>=*R„Î<dZLizĚé°é$CJGâI‘„˘†`žfoíöÝ{žżëž»ŰwމjÓu;›ţx<8ř´_[ŰwÜöö0 "ę8ĎktHöz]_Ç éIHŁäUűr€Ęţ­u׼¨g8¶.uxNV.-„`©«ŇxĄ®Y“Ď©•š”燂†ţ;Ó¶ŽÎSۦ>›Hh08h ®Ć⛊[ĆökĘqě—Ź?’6ĽHäzźŕä=ĄÓá8D?MŽbń«©\[úłĐjŇď‹«šę˛r“ęJâ‹őŚTőş#‘ˇ‚49ᤠ¸«#aÓ5Km9 ]|Ó1[.ńŹ0aw[ŞŐiô’ěŐu'Ť9NŢ˝wŰ]ĽÔóm9Ëví¬XŞŰK—.ą7nŕ˛�°Ř}°ávČu�ćá������ś łtbÉŮGî(rĆńĺ“ %21QKmeA}^ë®» —Üúú¦!t:Ýұ$w*é”.@¶Ž˝«Nmł×[ĎÖŻD8EađÝ‚X 6 ýh𣴎;çŹ+8ŤňHł›eźű‘»˝Ów[˝ě¸ëgÇăŔuëşţřôťŰßůwąý¸$wĎéxÍV> ÔŽ9ąéäÇYâ…9–nËjćĽ~gţč/w±8vMŚÓ$¬ ÓĆYzaiä4]ąh kÇĽ>×ÓŞ¤c.=±hdě÷ŚD-¶żM‚—&׆2ĂW:ý4ţĹŽ&'ŁřúľÂtm.H±ĂEĽĽiš„?óžOąč'i¬ż­ÎÓ:gŹJ(ę" pzĚăXV^'[Ä’v; yťî„Iý6”޶«k}xÝŃ?ż˙í;Ń´dŘÍÚjgďť•ĽvĄS¦�‡Đë§vo›ÓŃsVhł¬>������ŕä(„ ­‹Ł”MÔĹ Ů{'­ą¬4•5ĂOń0¦îâĹ‹…g=ű|É]˝zŐ "vw÷|jŻP<`®? iT´ĘIđ` s>1„Ź,UDŰŰŰľŽŁ¤’XFÎú»žľ îČdn?ţs')…7ů1Ówn´ëŇQ§HŃĄtXÁżV¤ČęfŻüřň›t”Ă#×[ďU©´Ö{… ­çŹ-cšÖqŞ2&˛ ¦˝´ˇ«• Ó²ö{©^-WÝrJéLěXë2!‰ÍÓKót~Än ł:÷řß. ĐÚöL节Â}łň‹Bü]›|&MŰĽ6ÁOü{´íyúµéMéÔ¦ąűŘzµ:Š$Mű±XiqZőŕűä˘X�Î ťźşW^»rĹ=pý†{đÁKÇqX·±u/»Çíoeź¶Ý‰‘]>.\ÜtO>ń„»výJvźMs×K—_Zşj'é¤ŐÇčgííťm︹ąé&rŇͧy/ŹSËÇj÷s®~€…$-ţŤ\$üŃ+YÜÖ/�,������ŕäQ„â}ďU@Xb‰Ľk¬rňHĘ´E +şA:Ȃݕk‰‰ rA†Äy*Ż8m‘9ŚřTIťN)~P)˙JąŔ!tZ1‡•ixXšbJeN ~6Ýh¨ceż;>ŐW’ěşěÉŽ•5ŠřăPŽ>Ă4/_Yě8”h-‘=P1ms2W 8eV(�˛yöžˇ°ĂŽůŘY' …Â;_ěs~ Ëí„őLL:obńËI‹şÚśoŚvÁJs]"üÄżK[=MÎ?VWč`&ě:eB¬ĐĄ)¬gŇď; µíOě×á ÇźÄ%3ąŤ»…çŇ’1Eô �§®e¸Hü-¬ŢŤI×°¦űŔp°ëşk»îdÉĹćW®^ńią˛€ó)ľ\!üéę^”ŽďéřUH÷őőĽ+Ńńę€č�–…´¸BĹ˙l)�ŔáAř�Ç����Č)rí„ÓA0¸š=_ű±0ţ)şÇlaٶť×ťyÁňtACźÚKb‰»wďzáO^¬S¦C2si1§sV1Fp7G źÂ©pS9on?wŰÚaž¦]×߿䆝 ůq`Çnń9 Ů)¬—}(Üv\R:[ĺ</ұ&QŹŢ÷öËcÔD:&í8 EkaĐ„?öĽfǧ˝‡ĺbgKogeüľ6×ăBħ( Oń6±Ě4G¶őNňü2gĄ¦t0aę¬8xżÇżeüú;Řß"NĹ&ěo ‡ě:µ±±áÚBgBÁm•‘ó98…Ákµî[ř]BB!ŘahŞż)m[žîfűĆö)iüĐGpćz¶ą¨µ 9§]ÇTŢ„”‹L(žŚ…›í$\ť��†tLő3Ď˝‡�„?������°ĐX€;GđQŃ'–Aáń”@hőńÎZÍ ĹŇxI Ńét‹ô\ke`Ç‚@˛ ĽÄBˇđÇöË- ¬ŰgŐ}”€8,1I.˙ń’´4qĂAĎŤĘ~XĄ©+ĆxJě˘cŘur_÷jĺJ·¦š Ĺś›&üŮŮŮ)S}5Ą× …'6?™Ä)¤¬. Äb˘P°‹wŞ «+^ăÎ6±(¤MŕÓ4?Ř„‹ŁD5uMË’„5&� Çúí-Ą_|ľ‡‚ű=U‡ś'ě·Uý&ŘŃßoooŻö÷‹÷ř·¶zŻ]»ęŢřĆ7úT†/˝ô’˙˝}ěQ7Ęöé™gžu/żüJ)*Š]źš°zőÝőÚ/ű>&pŚSą…”űčŞßË~O­…ÇVřť'‰Ë‚-�'ÎĚ Ú˝hüŢÖŁëŘýű÷˝hR×r]§®\ąR^űÂöŢ"cm[ˇ{–‰Ň›~-ßĚČţ×)^‰.żĂ3¸ŢĆ—ÍtZ׾BŇ0Żq�ŕlŃ5·«AGY?D'hĎwőś–]ËFĺř‰ŮÚ–~� á������™2’x›“3Qű†>+ą…(xQú‡ůŠő‘ÜU€Ç§GęeAűµ^°vĄOµN§xŐ… qĐ=NiŠŤÂőěłmńĎůĹ7…ĐGäGg5ťÚtp¤Ń‰ á„“÷îÝóÇÓ@—;PŮq&츌…c©?’zŞĄđmrBĹ?qşŞ¦ď[îw’»ý[K^*<ꦻúĚ%ü)÷Ĺ €/\¸ŕ®^˝ę®]»ć©ć˛#ĎÖÖ–{öŮgÇľBŃO.,ĚÝÁT×őë×ý29Ž©Ž×Ľć5~ź_~ůĺň·–b‘Oě¤é‡~Ř˝ő­źá÷ń]ďúU˙}?é7ţ/$ú©źüéěX9(ĹŽmżŃřo–x‘Ň<ŕ÷_ßUű¦ß@ď ”ŰńR?˛}ĎŽNˇ^ÓşJWŁß‚ě&’Ś×Ď…Tn1©ňLÖ?OZ%©\čjÓ�p ´§kÔµčąçžs/Ľđ‚{őŐW˝[Ú[Ţň÷ŕú2�Ůu<ZŰ-ş–ęľ"ě:›6|í´Đ몼–]zײKx"őĎčľĎ:žĆé±yˇđ'u¤ú€e 3H\Ż›őQ(ť¸@I>íű+ÔfN‡�ŕ° ü�����€łe˘óD§m]ůGţ•»¦ĐÇďuG9ů¬űIöř›út_㊣ٰł @ŘďzČŕK!ěZŘŕM@«vŻJ4gÇfšçö*–›�()ßý1¤żK[iŮ1·WŚä·ź4”ŮH˙ă"ŔĹóý®L/äç­›©lXŰ~„˘•Xddď5aÓŚj>LdŁkD:ćVŁĎńhl^ĽŻMőh iôţĐCy·ź×˝î)/Б㏉»ęBĆđÇpĄĐ¤,“ý»xń’{ík_ë~čawóćmďőć§ßäv¶·ÝŻľë׼€GŁŠ‹5Ýôk^ľüâ…‹î©'źr×®_óâˇÁ ďS%j?˝»ÄŢ~(&8OóAÇ·~/ą=üđCîÍo~ł�É™čöíŰn{{§íeëOq—˙|#GĐ�&_+k®>µűj:ŐE΄ŚrŐÓK׸‰)ľÎ\Wbîů”öW÷űÜ&:—Y˙‘Űío»ţÖ®Jlz bÄ4řkk3řéč^•¶¶éá�,>»{şéxˇéŤë×ý3ÂfÖ6îú~ WşeĆ´>�� ü�����€c%vą1W©ýĽ± s҆–cHĎ wş ÂźjÝRp‘ÔĹ?ćŃäf§DzÄßýXâ6'ü©}Ĺ´pĂI ÷žbx}.č©D@–~¤şáŘż"0W®ňŘÄŻrśÇwxľ„˘»Y:›ëŐń:ăcłě‹1&ěI›Ó‹•Ëś łwţ[ XÂaéľ$\‘»‚ÄVmßÁľ«9™xH.O>ů¤䑇ÝO=ć]>řˇągžÔ¶=–˛-Qj€nqĹë"žđ«^ů5°ëE?ţűÇçâ”sóňĺËîÍo~Ú=ýôÓţłľďóĎ?ď>đ¸{wďą;·ď–×÷đ·unşollzЧź~‹{ë[ßężú«ďvůȇ˝ĂĆ­[·Üť;#Î…?iq/•N‹GŇ 2�€c%nOÖć7ĚkÂVŹ…™öYBĚÇÜ_ă{ě1?O©ľ,Ł®÷Ö­Ő»�˘’üQ —BSč¤6ľN.Ţşłí¶w˝°x0<y‡‰Xřëx’@ůěď,iRż¶"ü€ ł‘őm\»äE-­¤ÚĆűýA〨Yžżâç!�8ż ü�����€ą°€Kîj˘9Ö±8>Deëó ăŠ$™,Í]{şcÂçÂŃŰćúcB…Ž«ĄýJwöĺ÷?Jđ˙ä>Í™(Šc;Uв3xvôk˛Sś •°­úÎIëVNŽ&±\ěŞÓtNµ9Ţ„Ëí=N‹Ő´Ĺű׾=W#ţ‹ÓjIĽŁk‘Áę ·2aŮP$eŰ çůôY'żę¸”š¸qĂ;č„ĺÖß8W‹9WsŮq­ńMSůľw˲ię¦ÇC‹ĺkk=�—hGÁqąÉ=ČÄąÓQqě)ëâ?…ß[Ą1č®yĐŐ«×|0]ŻÍÍ Ůo±á·“$ťpŤJ0ş€ÔýâÂ{ŹsljÄD5”W�ßlŤ™Ą)&cAĄ®É ľę§t‰–ľĐ\Ţô~ş¤Ń{K©čb®ď­űŠ}žtö˘ÔŃĐíö÷ÝÖΖOÝ(×µ4nž�Ą‰cµ3µĺIäř>%HŔşŢ[ŹR®E73Ň}ĚAÜîŕ\9-zÉ—µ„ÝzvÍ^/®Űb/»˙„…Ľ)ÜŇ>śA �ç„?�pbĸÓ:e���`÷´–śxktI{Ia{mAŽÔ;ޤQ qp5°Ňď'ŔěĎ5gL`ÁČ´6]rgvě¶u&Çó'=ç…E§‹tĆEá{Óç¶´`őúŇZůy:É`”ĐEÁ`˝äˇi‰V(–SÍG?úŃ2:Ś…ĎĂ6_ ĎĽđ Ţĺçůçźsì“˙öť;nď öÝLX3.ęĚţlť¸šŁTüMBeäj$·#íŻĂ(mmmą›7oúeÉ„ ­­˙ňË/»÷ż˙ý^4Ą:ďdß[ż‡–79'Íz9;f;–f=ćYě°(´č}Ę%5—ą&Ꮥł”^ˇ�S×ß&§ăř/Mł¨2Ű‘@I÷)űܶ#Yëşîĺ .ö]˙`Çír‡şŃ 4:’PÂśWąNÉ ×đ\ŘěąË7nxÁ¨łe~hüLfĹ„?I´˙éٶ§&m˝Ł6ţFŻÚĹ´ö6±}=¶šŤ�đ������N—9›•BĺŞ,u®%lPRč.B•ÓďÜlŰ˝u+MŇ0rżó¤E ŻRŰ÷W7Ě«Ţé”m´ąűÄb’0ŐHčn €L Łň“RąLšnÚź¶éĂvŠŰw’„˝,Ĺ—1z…˘•Iű¨2{{{^,$ńŚ„0Js%7ž?Ýä€4–ĘĚŐE< ÔjîÜąëëş˧˺uó¶ßŢÖÖ¶Ż?N3IPcß[˘ ”îŢ˝ëĹ>ŰŰŰ~{z×wŹż÷xťů´ÖŃľĽňĘ+î=ďyŹwĄHőŞíżĘLsŚZ(ĆţÖ's-g47śwBŃć¤k]Câ“ö޶ľÜbÚʧS®ŁG'­íOÝ•(—]wS—§C¬®Ă–2ĆÖibÍ?Čî[}Ő·ÖuéZÇíŹngp Nŕ;5]Çšîq“Ęw:›.ą¸áÖ/_*ć ü8á3ô ś/K$ü©ű™Ő ç.š Ąç‘Ŕyá�śóvĚÎş����,ÍÁRÎP ĎNŞ÷jĹĽ\ŇžňË˝8 ¨S˙1W­ŚÂ…>6Ä8śgĹw´ í,ëN“VŔŞ’tŞÔtľ[=ňpO\×ĺiŽěśĺN)ÎśkňßęPnHŤqҤĺčLŰα¸X:&ü S•űLä)˘& FŞuĆ|ÜsO“X$M+aŐaĎ1‰zärcŽ5rQÓuI̢嶽0}YSŠ2 fät#‰\¬sÇ׫ő$ŠÇşx©řC%i--1ŇÝ»÷܇>ôᬎ۾~˝úľ«ŮţígÓ/zŤľhrĽhBußľ}Űýň/˙˛˙®i[ˇŘȦŰÉŻ­ćú#ńęŃß?\ßDUńď·řŘ=Ě&«{Ző–ŤÖ¦ď`.âöfé„Vs}tµ{P~ďMÇ®-±Xu^ĂÁ©\§L|Şk§K”†Ě„>rĄ3ńĎ쨉:ókq×_Ď%ŔÔýÉÚ)§Á$áOş˙Ž$V�8'4ĄŚmršxMH pŢ@ř�‡bŃNۨĐIë���Ŕ˘wf*žç^˝Ł)wÉ;Ą†¨\šÖ„;ăíMsČp'̤ ¤3,ŁCn%IňéţřÍóŐĆÔ&I×™xŔź;Z–&…č')ejšNÎÉŁ=“Ć÷6HäĆËD®?á|ż_IR ÂaÇő4'‡&ńOS}­©ÂćÍŠ®=ćF#‘Źą KĂ%AK¸q`Ů޵ž9ďh?ČŐ»ÜônÎA±č'ü}$ë×3áHŘóž÷Ľ×§ĐzńĹý˛~?w'’đGŰ0‘M“¨(&tü±ďÝöűډ“ÜřqaßKű ŕrXŢę6ÇźŁâO‚¶;áěGŇÁ™9ęX¦ąř´• ďVňoŁ mˇą–…×ęĂ^ovwY]R˙—sÜ×®\)¨Úťî¨účŇŮíşąŰ·»…`u8ąK—.{a§ŇWž¦čÇ3ç~_.öµŰ îGI“ËŹ‹¦ĺ~’Ě1w‰8«/@Xá„OIòyž,’9–§öĹÓqÔ4éli×eŽzňé&×”ć7›?júű¸±ňs €Q�–„?�03MąM„ť¸ář˘uŕ���Ŕ Ń"ŠŰ‰®6R»ąËÁůçBDĐ©ßIŕ'tŰP‰Žď,u'×QÚŃtí-ŤB”Ć’i}yâ\rĹĘafň1ŹÚŻ‹s ŮR&|7¦‰Q¦îoÓt’úÜ7aŤ Tl:ăřÔ(-©ľÚ¶~˙aá` ŕ®}ŽŃŐoš_˙ÂĺÚ†„?ď|ç;˝‘„:âůçź÷űĄ€±ćµŐ=é»Ű÷j+ßVWő˝Uǰ&š¶ÍF§Łł"É…xúą0Żŕ%ťš¨měŢWS‹I8Ó@3M‚ŇYÖi:uí“1ĺ"9Ç´ E硸ţ@"”´zÍmÁ7ÍRĎąýý=źrgçľ[ßčf×ysĚK]'qn^Çź˝ý}ĎĐýBÂź«WŻúßDżÍY0ëŢ÷˛ýÝÜ܌ұÍ"ěY áOŇ8wiîIË8í˝OË˙Ĺó‰9LfaĎ$aPH,\I˘÷řspť¬Íł˘éřĽ9™oͦý=^|Íé„eátqß:Ľ[vçŞÍok_NÜ>íL€s Â�#šŤ·PÎ  ˘‡Bˇ‹1ŁA=€ŮH˝k$†Ęéˇ,ě ®b����`Y6şşmą‰|םŇ&4—4­R(+RR("LJ‘ćÚÂ1ĄpW)DEú§öi·»ćSěäAü®˙,äŚ1Ć©oę.Ay'sŕ"äëHŠÉŁ‘¬SŰ|Ä$ß¶ŔúŃD?gÓžĘW˙őľgá>eť˝ůTZý•łyť4ěü.”5ę÷¦AǸD+iűŘ$Ţ s‚q‡úBqÍů1ś¶S*A«„ť$¨˘ň.Ęź‹yQťE"W­Q0ĄSzΓň˙ůÖ’J15¶ŻóžOˇřGŻ0UVüěn'Ün¸mŕ„é¶šśxš÷łŮĄbwwĎżŞMk›·‹zBAŤ+_Óżw~M3ŃĄmĽ\ó±cźUG’ŚÜ$G`_˛áď“ßSÜ™bÇRę¬#ť›¤™ÖB_ śWňű›x‘޵5' îň˛ťâĄ{“Ú‚&â´şbńꬌ†&ş D?Gş^÷ţ`žwčv|›Uý«Ýnuîxa«›‹µîĐm¬oä)+{ëŢ)îňĺËKxÝiú˝–“eůíi?Őf˛ö”=ŰÁ$ě:5Gń©­ťxPMP~lý˘=Yř¤‡ßż¦Ýť›ißďŘ-ĘMß_Ľ¸'őöý=Ęî_cĺÁSáĽđ=.�ç„?�0FŘáhv¸7oŢtĎ>ű¬oLżá op7nÜđŤ‡;wî¸~đ^�ôš×ĽĆ‹}4šPĺ4jäĘ•+^(´±±Q4\’Z'����,…=Iâć‰ŔZ]c[Ę$ag[đ-˙ź–˘/üéçéňŔ«seę¤rÝ ťZJ›”ŐŃíöÜ… ˛@G.řQűôâĹK^PtďŢ}·?ÚŻVIM`Ô©ľ¶óĄ®uÜZŻW¤©ÉÚ¸CŤ$ďűÔ y{Ú:ŰżŻˇŕ!ÚÁ ßÁĘOé´K'/Ď˙¦gŮńw–™dúć§Ť–oű}Óćí%iuD+„ą¦cĆĄĺ9”¤}§‘śyZŤŽu˛w #\.±Đ«(‘–ű—”B–´}W’ »Öúýš×H*Ť›4Šşě$U 5ň$V& ß‹m–—•@čÔ\î‹>†Ů¦’4Ö—TâźÄU˘ˇRŐδNqĺčŮ8Č2oťaĘ«i®:ńńgŰĎS†u\e&vü·}§¤ĺs{9í^x kÜĹ´ş–‡×fŰ·IŽAMÓ5ńĎY]»’đ #8aĐĄí=¬¦= 3Óöťĺőŕdhj†óâĺmĺëďy[Mi˘n\żî®_»îŰ‚vŹ=ôů™q˙ŢľëďßË>mą“D,{ě1wýĆ5×팼ř]VřcýĽJ¦¶°úqóZ]wŇ˙µkuÄ?0˘ăXŚ;AA#É<çK2ĺů2‰Ú›qŰ3^_íö‘kűj˙Ć™oÍImĺăaÚăe¸u˛­í¬Ő„=‡˝G!8ßpG€1„z Tîççž{Î[‡ç#MşľA"7ź_|Ń˝ë]ďňŤí§ź~Ú]»vÍŻŁ‡G•S}V—���€ĺcšČőëĘžBß`b“jTvŘhiRjٵK'ФđW¨2ĽëO!‚HB1DáŢăĹ7‘cFŮ!é'ňt ęHüŁŔĎäbvµUĺ–¦ë‰_ŞSű`/µu5Jş×[÷ű< };Xĺ,xřĂvv¸i˙s‘+GŁë;«Ť-ýp8Kjž¶vvôw85ž‹Ŕ¤ßç°ë§nZ§ńZö·˝Ř[sëkĹHýŽô+ŮŞ\Ô–"i×őGůłW8ňÎ5Ü ĂF;˘eőëů«·Ţó˘5ëD¶ăPÇĄ ĆĐ|[Úćh0l¤Íä ü~©«Ä8ţ N+ź°˛´ÁŃ ţŢ@(ćiŘ +ăßNŕ™s’Řgš“P¸?MÎ@“ÖK[NßJ 3 †I)‹ş3‘+_mU}—f;Şkµ˙MűĐĆd§ŁłčGvÝL3ĺşńtăgçâ‘Ű�ç‘ImÍ&ńO|­ Ý*ágţ®{ßúú†o÷ÉŮFm·°îđ}† É·§”ŠżÓ,Ű©ßuożr岻žő·şDé¸*Ěn'Ľ|ĚöÔ†•ĐÇ·«WöÝž†pâ°.hÍ,·č'M—wß;nĽ{UvLĂ$ŞgçÚĽ±p§‰wÚ/ÁŕťÚ5Ů„5©mI˙ráO’$áZA…iĐ>unzó(Ź×ę_>Îâ,Ť°Ü„Í95ľ§%.¬& Ď> Âq€sÂ�hÄzTîçgžyĆýŇ/ý’ď4Öò:ĺćcó•L‹Ż}íkË#†ŤŽ4áŹ(gIw���ŔâPŇ„bź†rA�µŇT%Ş^˝RĚSĚ÷PfT“äî(Ö+§>¨ŇĐŞă,´~ďv,µW§|©XmÚ‡zČŹ˝zőšw­ĚSŠĄeŞÚÜQ#)!Z®4·ŻľúŞź/ĚÍÍ ŢíǶ«¶®KÚŽ„;š âWž"7©ŞĎZ_mi­űüóϻ۷ogű¶źm{č`ůĐßóÚő«îş9ˇ®gÇd¸KGý|´ňÁŔmíÜ˝­˙ÜŐ”.RÖ <É5Ĺž•츓ëęµ×ý´Ň5ŰKčX×±ĄcMÇ»Žc ň8íű}iâXžĹŇćýosj8,ł®ÜĎ—ł Zfť?K‡}% Ş‚.ł|ŻI¦¶ň‡ĺ¸‚švÝ? Âôsi ÄKŁ`U=S’µcę#ĺé÷�D“ř§ü•{ĺĘŃÓîGł`îŽQÍS¦§:^„iÄÂW]ë—7Íň¬i»ďí~q6÷‡ă`ŮĹ?Ü·–‘´ĺs\,{I{ąř§śW y\1x§tĄŢőVČ7)´„Ď�ŐňJÜRۉ~FÎx)˵ęŽŇHYŁŢ†ĐQ(-śH'ťc‹sţ•nž…(?q• uĽmyÜ"J�X5ţ�@#áĂ—( p¨#ZťĆ @h„ŚÜ}^yĺwëÖ-?˙ţýűľŚę¤VÇłÖÓ|?šµčLÖruz?řŕ~ZiÄذ€Ś:©Q§µ:§Ăý���€E ňÔg׆`ׂµćjÇŞ‹HEuaJ0s­Č?űŃoQ 'w˘ěxǵՎÜÜÜpýţ kżîâź*č“×QmR뮯÷|»ÖÄéł µEÍĺRĺ%”Ťňv±ąýh Ţ/]şč÷;Oő5đuŞťlmŰţ ďÖ|ůN.^ň)zr!“Ň,¬u׼xHßĂ •Š—í“9´´˛Ü13dÖŕ\Ü1=Űs‰•^ď%÷čC]wĺjĎmĘŤGÇúHB˛ÄítÝťąĄ¦nwű¶Űß;Čş­7ś|’±‘«MŰ©„ݵŽëöşąűOoÍż6˛sB"źÔRzŁúuHő˛ĺyç|2ą~ŰDV®#ç¬ŕ'©ŇyUŚ;[Ąg&ÜXvrźćżOůۑߕtł9•]¨ĄĘ ׄ4_MAšZôŞőšNżŔ¬4µ  §ŐřňP i)mĐbÜţ˛yVvúŞmů<çyXÇä‹á(k÷ö%O]Ů~śZsÚäDyz„Ű´ß_hßÍ…^čűX˙´Ú÷ůß"…őŘßČÚѶĚÜcńXř÷ k˝úşmP€ W«ÓÖµVżŐ'ĽËb1¨ŔśDÍ)4<¶bwŔđř¶~sű=lŔ‚P}±Űhîx•ÎŐ÷± áůS?®ÇEĆaąx?¦g'ĹŞ´yĚŐ¶ű'µÁŇáß ‡ËŚř Ź˙ĚĽž·˙m°ŠžEÍ'?OŞăĽŰŮČ®TŮq6Ę"¨-šÉN©]óz%ĽÉŽďn^^˘žííżlcc˝v®ä¤#?EőëYYç® j‘ŻĐtţůçŠ^Żë÷»$úČ=(Mí;¨Žěą~c­*ď—Ń„Ëíâ?~PčÔś1#ľĎĹDZ3�0ţ�Ŕń…Ťľ~ýşń( "ÁŹ0ôYëH–€GB ŤL–đGťĚrŇ´5fő ŁüÔźüÉźě·ńs?÷s>•¶•O.ą§žzĘ}â'~˘{ôŃG}™4���ŔBR¦§ :ËÎe/ŞFͦşôP(l®-­Ďy‡ŕš ľL·Hk¤ŽĹő¬ý¸±ľéE?�©Ólkk+k§îfÜ{ľ1UG¦7ä‚›áHmҬ­ş[tVýôÖÖ}żoDh›y·+µďělgĺ%ţY -× 1ĎĐwŘIx¤e{{;î [Oű›×Őńiś|p ë(ífÓţh|'k!6ŇţKPݶuމ_Ą~qłÄh˙›8¨16tJđ.ţÇFÔ'­‹7z÷ČŐ{îµôłçŁ}×Ë:¦GCĄ•ëgťé#·3ČŽŰ WłéŽ»óĘľŰÉţůÔnIŻŞ%í{ç;ęłc®?ě¸ýţľ»w˙®»·uĎ]ČÎ…ë7ndçFÖůžuśű€`_¬ěŘëş˝ěŘęgźuĽz˝B'iŻ4ôđkťµZpŞDsIÔÁ_Ę ĂÉu°ź·çĂ•ř,!í#±Ű2ńg€óL(<eyěŰ—5Á] řž×Mí- #t Űevoł€ĽąŁ/áď#ˇůý{yę19´·Ą>ŠĹ>ˇ ĺiîżýţB}Ăć@/$¨WY U?sžž,OoŞ?łý=,ĺ“ú°C1ŚĄÎ ËéűŞ.ÂXşT=K¨?[e匨6ą•Ń`Őß$ĽĐúZ׎ë˙ÎSµ]ńĺÔ§®ýP]Z®ş5?Oś»—ÚŔŮPŠ(ôۨ^ËŐ˙®˛ęGzN1±”‘§6~Ŕ—W_ľ~cŐavs!FţťĚ15lĎŮw±¶Lëč{iŢY‹a–{ľ”ű¦ŽEýŢú»ŘďlçĄ ÄLxe¸PĐfB,ű;ÚńgÇŃ… ›îĆ×ý3©Ž=#çď´L1-‡YĄźÖßusă˛ëfĎŁaî`;fÇÉÚĄl[ť\€—=Ç(őŕúzן/}÷ŇK/ůe:uÜĺÇFâŹ9źÎ¸?(çnô¬.,ý˘bLÚ•í$ÝÚy\9üäçŰ({6 u˝u\p>xÝ]¸¸é–‘ňZ\ŔD힉ÇgýĐŢ8ż ü€1bĄżPĂL .5DőşsçŽo©A§š= iž–ĺ Ć=?-áĎ‹/ľčë±F«z@QąŹ|ä#ľq( mG =˝ě#fŮö����ËĚ´@Íx9k·™‹O”ę+©D>®Ať¦yŮ´pý‘I7űg–Ý&ň9¸QŮ!mŽ9j»ć#(G^| ÷Ľt膤¬ç­i6˝ç ÖˇjÁĂ\0őŇçµ5ŤlÜňËlä­ÖÉßóÎ[µi­ł<L5f¤Ľł}Ă_ő¨şP'° l4c3ÓśhŔ2cˇSô3öű¶ýŢÍż·3r{{îęĆČ]˝ĐőŁWGCĄ€ëç—ˇŰlşµ$ëävŮ1—d[čůŽu˙\ćµr•źNéL`ÓIZŠsöö}ŕOĎ`;ęlOň€OMS<Ké8Ű“0n8ČĹ?ź˝ü9Ů)FÔg˙lGtZ ÂR=űmŽBŰ}€ĺĂ;tŤĂS\~ĘűšsőkĂô~ ú:`™µí¬ŕŰ„ˇŔbZýń´ Ë“$9et:ăňYöŞíZâ ×˝ sžôźaîŘÖ#áOěęršXŰY‚µ}ŐĆV[ţ‘Gńme±XűEÓćb(�ĐĆś2ÍÇŽ ­Łm¨M­Ď¶\ż‘4dď±čeî;&š°őL¬cűP9¤ämwsIŃ´ÚBˇđÇÄDÖö21F(̰eVg(üÉEN˝ŇFe$¬0á’‰‹„öŐžEěď©rę·×´–ëŮDeL bpMh:ÎŘ÷°ß×޵Mµ/ő˝L°tÚ”íáw›ůČź9Ď ý ô÷°gF;ţěx˧ôKQPč eÂű;Úńh"7;ŢÍ!+ż>tËxŽąţŘßTŽ=ţxcö,˛ŃŰôĎĎ>v?u÷ÝBřs -ąÍ ëŮńłYîgţŚĽćë‘{©Řß?đóő=uĽ HÂź|ŕŚ={çâ ˙L¬Á4#W—ýäá*ű»×…?šőÚ%·1Z/§}jđ¤uč„;éż{2ĄúđŠîăeľ$hO&±ĂĎěmİ=Ú¶íM€Őá�Śa#Ť­ál IŮhgk@ÚCŚ­gm© yĚ9HJp©Çő`g6Łz¨“Ä? ¸čˇÄŇ.„ő‰ÚČ����8q&lŠ€Jič– 7Őmçťo,0Z –ZGu’Ö&śYKÖ\.JËÎ÷|$oâGŞśŤĆU{3A»î÷ďţý-ź˛Vďę$´¶¨ś{´Öa©:l4q<":ě�WŮ<ííí˛ťŹ”µšö& bĄůşvőFÖVî•"{˝ltä0ůËG:Ę­í‡Ăn1ŠwÝ[ „x§©ű÷‹€”žĂÔSśäťŔĄOqĹÂŃ)–™X- …˘pt´ĎC9bŤÚŞa�ČŽE :”)ŇĘńǶm%˙}ň 8€Uˇ Ă—A¤ńžÖxI‚˛nBż}phrö‰ďIáĽęüĘĹĺqŰŞ|˙ŠZ·m«J(OµjíĽöv٬˘źrÜt’ĆrĄŮcđ»cR»˝&öY�a®ÚăďyĎ{Š6ú}÷ĐCůö»ŢŐ×,,ő–ú“…DBj÷›K¨ v ë˶Ďń|kĎBŰŃËśžlą‰§Ő§ iBA†mŰúÎíůÁ¶e}ĺąSéFé$eÎůÖÖ·ç‹YŰý&6˛v™ýNV—ŐaÂs„±A»¶-ŚX*L“:AYŰQeőwRĘ  ßč¬ ˙ŢóR<Şž:±¨ŃŽ)kCŰß!tüir#‹O&ľ7 ąYy±PqŢçÇÂzöŞ…lÂ8 „&z^Ůl{‡Ň|›ŮďťôÝZŻSƆäĚe"ąüzš_»Lhçť|:ťŇŤ,Éĺb!‹-Ů97ȶ··wP¦ŰS߀ŇyuJ‡Ňâů˘ |ö)ć8Ą" ŻąuĂÖĹţhşŰéć÷­ÄŐÜ~šú’ĵ̟ěţ“ĐîXyţ�ŔMŤË löźö@bóŐ0 G ©ń¦‡6{˛‡&ŤbVN <=ĽÝ¸qĂ?ŘŮIÓť¦Ď����p64J!P(ÚĹŰYˇz:ť˛Í—tłÎÁµžK˛NČNWA ňÎ:ýó.=ŁŞC7Ż{tܧµQ¶6j7&t˝0"ěě÷¡~1R7É7•Ź8LËQŹIâjťÝ*X /R/ćČG"›CQůőťuĺ…MÖ¶Nĺý˝}§Ż¦ý ?¶m­·Üš‰Ř)ç°u÷Ź0o}óŚĐŻ8ŚÜÍí=wńöŔmŹÖĽŐľ2× łŽî­­wëţČ˝t§ďnßÍ:·˛řTľE§Żţ?JĽř'ńNQŮó–oAg~îžU űą˛ŁXÇô~Öa^ó ČâVóhJđĎ‹ŹŇÂíGźÂÝGë–ARWĄú˛y~D°ž‡‹\\MšÂł­'Ňöĺ©;\ŐÇĘb<÷—ÁiVł{Tw}ÓuײŔUwm<Љ~Ćú1¦d�Î3“+q Ľ6?©Ú]ĺąçšR¤´×kbźILv™·ť0KůP¸”ŚŻźVwWµŻ- >‹đ'oś»3Çö&š1Šţ&ü±ż‹‰Lň¦ýBü ëź6wű»šcŽ Bń–Ęk{6hŔÄáö¬_;ÇŘ>[9sµí†ýâ¶?–Â)ęčűYŠ3si‰Ź±8Ő—őËëeŽ;öw77ٰžđ{é{ęł9…ýöVĆţÂę±ç#ÍĎS6ő}˝ÓΗ“$vü9ě ‰łzƲßT/‹« ,ö°ĚĘŰqn#YąPfĺ-=¶=wçoKç6,śś:Ĺo‘ďOWÎş^„’_W”ꫯ2#Ű:$ Ҳ^yŚĘ‰ĘRż©ľ\Ś—ÔÎ)8 ůü˘ç_›gν˘ ‘Đnůl?&üńŞš˘Ď ccsŁJżđR RsEîĎ}Q۱MH–�0ţ�ŔD¬aŻĆ—Ä9– Ř"f jŽ?±J\ŤC‰yĚéGbź÷ľ÷˝>/łrk}ŤÔĐzJ÷Ą:ź{î9˙0ňä“Oş¦Q=����pFÔ†ENc$EńÔw z±Ť<‹~Y‹K8Q{›Y‡ű…ËŮëŞŰ۸äŇţŽĄą¨Ç;¦h_˙ ¨»ęČK‹!Ď{ľLßÝĎÚ›aǵ}rzZtr«c4ë¤ď­ą ŢzżăöŐŮŢ×ČWK56ňőćâIél˘uóŃŻf­>Š:›ë§ńökŐImHÄq˙ţ=';t'…ťŮa˝ËË"ě˙aŇ{‰¦ă|ň÷ ;zwîï·÷]'ąéGŘ^ĚŽ÷4;Öô´»çÜŢžł:n÷ ë¸Ďşi:iĎ[ěç[Ęţe=Őëťž¦fÇćýl=ĄĐşĐ»Pëäw­ ˘PśĄ˛ăMŁćă‘Ň&&ň’ť˘n \ůó*É‚Ůů0eAˇaŢÉnç‰|ĐBÁŠŃhÉĹk‹FR˙śáüJ'lcÚ%ţáŹiÁ,“3Äĺën}ó˛ë­oJ T éŞë~¬wŃĽÖ­8€óŔ$QĘ<ëççUÝU1â™ö<ś^±“Ʋ ±Ŕë_˙z÷裏úvú50Ô„2ÂÄ�ćŁöPž˘¨ŞÇÄBö `Ç€ąť“Hxě™'LÁk/`¨ż[ý١P#›Ś @]}żÔ>j–™řHŰÝubÂő¬}%än ‰âzÂßCËMd zÂÁ·á~VŞď®yö÷Q}) ĽCcbťö·ńńţ=ĂăÜę=EÚ×^yšě<…p~^Ů3oţşxq”Ĺi®ůő};żł‘˝˛ç’Q7wŃ˝=׊6gRjY;żzN®Im঵ľ§ťš/Ç(@Ţ ‰őžR]¨Žç(ŐWţ°Ą”ĄÄëřtĘËL>X)űĚŻ.ivúÉ?×E«GxŔęđ�Ćíöŕ¨Ć™dö  2! ĺz�Ň+OĄĐó‚}ÖC•Ö3›Ö<_ë~ůPنŁĘkąĄJńeÖŹöĐ6Fx¸����X4"ĹIĺ�”»“$^lă;ŐɧětĂ­_şć.=ř¸ěşý­—ťŰąçÓůżÚŘÜÚ$n *�PŮ{×÷IŰłÎ{ĺŘ“đçb>ŇPmĎţÚ ?ŘČJŤľŐ>«ÔF çűŃ+;1óýH gžĐĺ( Ę;×$ú^앢i<°ZĄS1˙ŤżîQ8ܶMlÓ¦îöλł·íŹĎµNĎ]ÚěűŽsą úęŢ]Ď:Ö{n8Ň1ĐÉŇNQOâű¶%´ŮčmřóiĐz—ž ›j/| ¨pŞEÁ(ëL[BÇhoí ńÜń#ę‡w08(GçnBéŘ€aŁőU®–Ş‚ţä ™2=…4-NŤYś&Κ3ĽÚ�ë,`ÖU*»Om^Đ]yč ·~ńŞw˙©ąGÁÚµVÜş]N8Ś ‚’¤î6§k:˙J«źUĄkőn%k}wř{:Gqçbôav/ łýNtď­„şI!~ß·ö´GeÚZÝ×;É‘SŽŠú|đA˙9tüág›6Ç“śé®M‚›Y8ěz“żĎQ©~‡łÁŔŃ {'Kj ˙ě[ť7ńőÉFtËG Ü®'ĹĽNą^*ás9g”=ăÄ"ç$ u˘m¦^PťŐíç¨\··.·ýęHâď1 ÖŻ¶ł,”×âĕ—$µĎ"v ?Ojrľśţ�Ŕáˇ<­?ü°řSĎöö¶/«3•ŃË\€,łŤ¨ĂŹ^â-oy‹Żëă>îăJ+Ç[·nyQ!zŕ{ě±ÇüşÖ(ő ����'OłĺCp1iD%î±içęŠůKó•Ž:Ţő§»–¸ÍË7Üő'źöŽ ÷_čąíQęöűŢMdäÂv`}¤nU·›Ö ď4;{kŞ˝é-ňł€®pĚ®\A9˛¨-kíR „ Ş‘˛ąĹşÚÂ&Đgk/Çmٱýl ܨ–ʞăŐ%EЬbÄv’ÝÔ«kîŞŮ˙łsa­čđµNs dVÁţř]ďą«ť«ľ3×RÚ™@ͧťü8AżPěc˘ś0 ԚΟ˝ý=wç޿϶ńt[Ďö#¬Wn?ľoľˇł™g;XlŇňüu>ĺ¦Ű¸ň »ńäÇşkOĽÁ]¸z#;{ţ6ÉíÇ>×ÄÎŤM—óá>�ç‹1XM§ľ]éŠö—/[¸Nz‡’¬}§ű“/îěěú{RM°wHúý˘}™ݍÎ$ <ĎĺĐ–§ŞĄl˙÷˛ýß)„?U`<łĎ¶ß}˙[ 4T“ÜfNš¤hĎŘçůÚËŘ_v¦ť3 ™$:U¦ý­tý‘HrP•Ź˙ľcĎůM˘t{ž Ż“µ ‚â©›,”L¦'ť˙•Ř©©ĆtÚVşěů”äĹsS)řqu±OłűOŇzîMZ�« Â�# âč!PÎ<ńŘč ô`¨Ş–ăXi €hZ"!}Ö:fĂj9…µľę“đç‰'ž(-W_yĺ/ţŃgŮ»jąYş���ŔŮÓÜß, [O‚ ŤŻFA €\ץ4\¸ě.?řDhr'…Í«®·ł•µ!÷ŠŃËŢV'ÄšEąsQż_˝0-Üx|ŠĄ ŠöinOż~ů˛Üv. ‡”Äue‰/áŹ\†ÖsáĎşRÝji?6lnlćŁ A҉iýţÁ ÚŘqJQVě¤ík:Ęę¤ö_µ¬Q Ôd«Lť'Ň⩏ťˇŁ¸F<zŐěő›–[7wR{ٱ"kűÝ<P™ý­ĺúŁ÷®ďÜ•đçRvśuÝZ_ÎV:_�ë–µ¦Iž ˘wE©…˛ç*ź>/ńDZŇĎ%Üt˛ăňÂĹüś:Ř„?Î;^uL�T:ţŘĎRśM-Łý;Yp°ß»čşűűn*iýriu̦ăťőč~ć v¬EÇcí}Ćę¦ ¬ńµ-H `~XŇôÖ\¦ö1)˙źëw:Ą)RGý—Żg÷¨ÇÝőÇß;ţ\¸ę:>˝E7=Ą‰É+;|Ŕ…@ ś¬m9&(O§·-Eľn rőŰÂé®HM9Lsw‰ą…ú2MřS•·ťsŃť­Üݸ­ť˝¬î§KŔšO3¶çжF8Ůx OęűPŞ»k˙ßĎîé·ďŢr]çÝ~jědîеúv%„Ň[í[µ/ÖwwŹÝŤfŽvť›Ö–ă&™ŕ`wÚ·¬ˇOU{ŕĎÇ˝¬ŤzÇďy&-Żg!Ńő-:&UŞîĆó79Ę9ť4loR}ɱ ĆŹ˙¤–úą©lxőÎ]V‡noo׋ěľş÷„bW ‚fßĎĂ­�ËÂ�#ĽůëĐ„<zWĂZóTĆF}šŐި…ąţhĩޕîK.>O=őT™#ŮFXků#Ź<âÓ©ÁnëY†1_����8v¦\JĹ@ŰşEçj®?µeEGb…$• IÖ¦ěeÁ‡ Wś{ŕ±,€Ňs| ú»n°źUún4˘źQˇ%¨D 5‘A(­ń“ą GíPĄůʇ/đQ°¶+C‡´úZ.QĆĹk?šŰułý^SGśËá÷ń$­/Q|ńŰô˛őÖűUО´ţżř—sQd(˙4VtRgč4áĎy%ŤŢăĎóR -Z»’sŹöüsÖÉÝ)FĚŽŇÂů'Éůq« aףŁ2ýR§¶łŮďy‘AR¦ńň®Sz/\ä–ĺGÎٱjťÝI1H·r JBYń!­Tf5Tw÷ŕ`bÚ¨¶°Ň ËmvÚxčžÖQ;[÷Ś·źN*y ĎĆ“tn‹B{Ü&šlE•§R¸ÔÎŃd<Rś'yÔĄw®oúű“R}ÉéGBŐµő Y Ý „:şŻX Ë₢zЦI  ‘&˙čóĆ$Ǹ00Ze÷Í¬í¶‘ő-î§»î`˙Ŕ»Śoíî”í\Ą­ômKW4•ŞFk5ݏř¤ő™žá q{rŮe×Ä]č®»* N±VůMŁŔxís]ś›‰ŤÜÖÎ}wđÜľĺiľ*Iřa®Ţąo8ňmÝőŤuß6>¤łaąÚ¸í?1×őyIŠ{x%$?ďĎ;§M˝GźŰ®Ł`Öq?ź5mŻ˝ľ´±ülu'㳊éd¬d§ÖĽ Ű™EÉb–îWk˝µ,Ö6ôń¶| †+_V_č;ţډĎ]öŕ\€đ�Ć0ëwőcŹŇw™Ĺ|hńŢ)R5ÄŠö .O8/Wú0˝Ś°ár–y¦��� ť±ŃŮú0Iä,¦R8˙¤y ´ÓÉÓ©ł+I6˝§ÓŰpzçźáPéľúEŰłp)@iđŮą Ýş±QÜ I‚l}¬óŘú‘S/Ş0Á·ńî).qe盵_»é¨ÔZ¸â»şj—Ž@ÚřfaĘ–ĚPĆ˙±§,źeO‚ócGĽś+…vśŤŠÔuuÇ*…W·é*™î Đ´;˝ě‹oŚŇ9»tʬ†ĺ3ý Î+łvÔˇC˘đ']ŕ?MS`#Z–ÔSUĐĄşî›Č'±s¤Ś˛$Ą´ł¶îÖ7/y±OŇ]ó.oÝŢş…Z_ľ8ÇGg7í>iľŕüŇvśµmź/šěç˘ J4¸ű}ď¦0ä)YX†ůý´l§ĄĄ@;m|Ź>§ź¦SbÝ${[[ËŰ‘Uă2^'ZnÓ.tU»S˘řlݰ?p»ű»^;XÄaćy`±·ŰóďgĆ‘n1K&ú)˙ÇĄ°>µ,±3 ™<ť6 ]}ŢÄéŁîĎô绦ÍͱÉbš$8Áón‚¤śW.+çź’* ł5HŢÎúD4Jóü1¶]ţŽdR;sZ´á;�Ŕę€đ�Ć€®"ˇ%xۨ›ăj4Đh���X˘ŔE1/IÜëO¸,ďĘÓäťXrMXËR%6ĎÚź#9čŚÔ™;,E4>đ‰~ĘĎa`¦Śä¤ĺ[ jŁćśsëÎDÓŁ˛T10N†Eľ/;q€®ińńuŠVGÜśDÇg0ÓUAÂş íŘHÓ#~ OŤ­eĎę0ŹŮĺÚţŃŹĎłţţÇB­"úXxĽU÷ˇşřÇŐzň˛ţŢ´~ÁżKô“tóô^–VČîg•ÔŰ©×ݰă�ęL‰XH›§öę¸ődÝĄJď5y§GW¸ŰH<®­JÇÚôÝ h7*ᬵ!‹Šąµ3“`~RŲ5/”ű¦Ť™Ż=Ř|Î/?ÖFIz%÷9Ę5;wţé»dt†× #ßt–쮕̽`Á9Ëß?‰®<(ť.3łŤ©·Ć ąE§&đ‰ç'Őő8vô)ŰŃg˝włJ߬”±«öÖ˛÷^.ôY—ópö.!P×»˝š8łĚßc’…>�p>@ř�c49íŘŇPř#ĚőÇćŮş46����V…†ĐB’4« ’ćΨ|QR•N …p'ńÁ•Ľckm=kgő¸šk,ŕâE?e;5h—† |fäříS-•C,˘¨Ö8^VB^°pÔú]t!PR}.Sz•eëBźľ«č I:…č§“»Ő™č§¶ŢЧe_'ŚĐ8o„ýé„¶ĄťŚ*(ę|:LďT^´˝ËOöYmÄAX•ĂĎÚAß»-ČńÇőŞŤ™7)+!µ-«će}Y¸Oń®Ź|Ň5!=Ä:«m)€ĹgâČŠ…§É].śź“U‹ Ť,ó.?E;QBTĄp–řg˝·îÝ}”J\íL˙®ôä�­­)Ę;•¸ÇÚĄÉxjݏŤŮä,IĚ`őAř�irřIËŔKÚhWßú°����KMÜÎKÉPű\č\(ö ¦•ÁŹ–VÇUZ8€gmÉn>˛-í#´Ç}ÂéJÜSE" ŁŢF­·Wiż�,ăÁ‹¤yy,ö)ʆ Řĺ'vęÉE”rˇÓ¸llťÖrăű>X"(«Ç¬}…mmËpąh›ď]şŠ@ézXU;Pî JďĄvĺhsä./şápP }F^ô“µG#¦‹M#ayئ—5â}:^ńíT�€ÓbbŰ,�Ő„?őÍy[Đ•íÁN"GźN!ňYóâžµn·|÷÷Żnî*ٵ餾ŤNZ¶©Í8©Ť �«Â€%ä4„5±¸'l$4‰~Â}��€:ÜaőÉĄ<ůÇşиÓO%ţń#Ö,Í‚OcxńʬÁ“NZ|®D=iÓ´sÍ.@Ĺ|çĆGe— ö�XšF6»qńŹł%I<R»JĂ‹yÜAP8 »&ú™˛ŹîÜ8s�ĚO­ď3™ěúS?ߊt( –fÔőlJATĄQńî?Ł\ä3˛w÷ÓegŁŘÇŤ \ŐÎŚçOš��‹ÇT!ŤkvŃ Ý€âöĺŘËĺâźNáęł }\ ňNAÁş5÷×°Í ßcŢď �Ë Â�Łi$K8?^Vëč���€Ąg\h^ {Ęe…Ŕ§md¶ąţLˇěŁ*’[’"tŇčTL—¢Rč“Fó‚m&uP’¸şŘ'©k��`ůHbMŁ ţ$ÍŽ?®řTó¤¶nč§UŔ“Ěáö3&LrcőŇç«Äa€l:Ć;EÖ:#?o­»ć†I.üŚ‚ň.pý‰;Ć" &'É“qú�€ł¦MPSw�JۗゟĘőG©)-ŤWř*ËzçźÎŕ'NóŐşľCŰ<�X ţ�ŔMn>“¦“¨AĂ.���Ŕy¤Íő'iđ”®?ž<ÝWéÚ“¤uqO0ť»QşšŘ§t¨Ś„>ˇŕ§5î\(FĘ÷‰ö+�Ŕ2ҸEX¦`hKű €ÜX™X ¤@NSŠŻ`g÷ŕĽc}‰mďEˇÖ6[S`Ö»&d‘ŹdčܨţHôÓ‰Ä=µ—«„Ś…=cŽ’é§Ú–��ËMŇ.Ŕnk_6‰~ü´wîÉÓxUB {,Ą—•mßͤQôž$ČÎ#�`ŚYGÜL[wZ=‡mlśt`†F���ŔŚ$±ëOR‰l˘�MéŕęâźjýŞżŞŮí'i�ólĹüC±A»1můěÂí¤�XZźŰ›‚2ůT}^-(Š€\‹¨š® ~üzť<`3& öŁm{Ń>@N(ú‰?Ǥcí:L‹sSçŁD?^ś—”ĺó—+?cb×.ü±w ‰˘™şo��°ŘĚÓĆśôž¸çźâ~”Č'pórŠ×k«'im÷¶Ď€ŐáŔ˛RYN‚YJŰÔĂ���Ŕ}V†Ęѧ6»©dŇśň«UüÍs®9µW“�ČŐś†šЉúWiHńĹŮ �°ĚLŮ<Ö1.ľIĘ~–qŹĄú2áNîîÓä TM Č´î/w$8§ÄmĚŘőÇE˦Ő%GI ¨ZšŻ$mNéŐ4í?»fáO·H1‚Đ�`µäś3&ř‰Ä>ĺ˛hÚś}Ěĺ§rúqS…>c÷ľ ű�ç„?�ç ˛˦s<D·­��°RĚ´X¦‰{‚‚c®?ˇČ'tô SŤ }\]ücő5§ö @Ĺ6jďÓ&Í�€ĺdB`ĆMtü –©Âů62;śn*SŻ3MŘŹé_Ťö',?“D=3‹Ę“¤”Ĺ•îŹSĐiť¦u·źdÁOŰ»kw;§o�`µ(üq38˙4y\Čú@¦ jőÎ(ôI&ôiŇĆX-ţ�¬"I2=ŃpçŃ��ŔM=3a%pŢh‹Ć—5 }Ęb® ‰V‚źx:lë†)ż\dľ—«E-Ţ„0�Ŕj0Ţkrü©ĎጉyÜ$!O}$w[Ůx›,]�*¬=ŮöneĤ`uŇ2ŤJ(öIň­‚ź°í/Ź?W[˘} �° $SÚ—Iđ&čÔć5‰€ś«‰~Ú„?Mő7íCŰ;�śţ�ś'¬qÁč��€ů ŇÎ/ g–ŇÁčěŘůÇ„çŐ¨íJüSnÉś}\ěúD"źÚčďXŘë�Ŕj2ULÓ ü 4Jf÷4 †Ü´€Kk»’ö&śÚ\&‰~ÂvĄ1‹űO%OjŰ(SůíĚx›aýÓ„?“ć�ŔrĐvO™Eř3ö €ĘĎ®Qč3Ë´›Aü3iß`5Ařp@ě��pĽđ° çšJü3‹ëĎ,⟲Ö@čcAWÔeŽ?aýÓÝ~¦„RÎg�€•`šđÇ5Hśk ”´ ~jĺfýŚŻ×ĽźÜ“�&ŃÔ®śk=OčDY ËĂţÓ¤ÁýÇ@ř�°úĚ#ü ?·µc‡źp^Ň* j^ć¦|šö�Î�V‰9>ţá6ĽůZ���çŽř>$ó?$s…Ł$™ˇĚÜâź`ôu’Śą˙ř϶ťâ˙ˇŘ§ľťv·źÖQŕe��V‚3ÎMÔ´‰s¦ {¦Ż×´<ŢŹ6ÚŔ޶%›>·˝ÇâźY\ęۨZ™Mu—őMŘÂ�€ŐdáĎŘtاţŢĽlžĎÓ·1Ű~Ŕj‚đ`E™%Hv���0Ç˝‘‡g8źä›rŞˇí9›ř'_>‹Č'ŔÔ—»rţS›¨n?��«ĹĽšÎĚ‚źŞŽ™—O„{¬>óŠĘŹ[üÓ\· ę¬oÓę,‰Ű»��V’Ö{ÉáOÓç$‰§›…=łĚ›&úiŰŻ6čĎX=ţ�¬:e`d†r���0ű=‘{'@3AűłIüă\,đq5÷źą–×Úşő@Ž•Ś;łŇ4®��V‰ć F{Ć5lçâÓä04}[íóÂ<‚ iâźy¶7ţî"ŃŹsÝ~¶™Îą/��°Ćő§ŢěKć~oőLY7ţ<i`uAřp)iĂ|��€sMŰ(î‘pŽiÄäbžĆr­âçÚÜü’) »�…Ç? âžqQPŚÎ�X)š™¨it�jüĚ]&(76?Z`Ő™GäÓöy’ř'^>ď~Ő·7ކ¬Ú«Íâr¬��«E» ¦˝Ü$aÎĽďóŠ~—ś_ţ�¬mW-Ç–G" nř��p^{HN’ń�M4ĎÍů` °¬źř§Z'v˙‰ÓYµ2ÎŤ‰€¬ţZ©`dv¸o.ŘV3śÇ��KM2ĎHçy:킟©ĺZËŽďŔy&noÎ#ţ‡őtl«ŰיާüŠOa?��çYu¦}žGäfXgŇç¦i�Xmţ�,ˇç¸ë��€“»'rŻ…•eŠřGŚMZÜ\=XSQÝâđąű4‹}˘ö3ç#�Ŕ9aüz?�™ ®Vđ3^w}˝©ű p™Eü#“ú+ͲMŁU\ް��–ŹYî!“ćF ÔÔ†śGčč�ţ�¬"‘8¨íAv|µ¬Ť��8Ż$ÉĚĹÓF�«Čä6ĺńO>c6÷ź@�Ô.ŠNą†ŃáăBůú9J0�`u™ŘžK¦ &LZ+‡ý´C VťYD7MófŮĘél龦ą ĺU5‹}Úľ��¬ł8ţL›ž$ü)&fZgŇçipŹX]ţ�¬­¦Ŕ‡ć/Ä>��� ÷ČđžŮT¦yUî«p^™Oü#šÜ\9UŻ9$ťfŕÓ ©/N&W��ËÁaEŰŐ’Éĺ&T’™Ök^·ľ>�TĚ+ţ­éଂC8�5M[ýńz1Ě�–›YEŁÓćĎ*šGđ3mYŰ<�X}ţ�,;Áč±ůQ Ąů´ „Ú›���çi÷Â$ĹëµŐ°b´ŠÍ«.˙¦Ô_ăËĂs¦]äÜt!P}ű3^8_�Vök|ŇÖŽk-3»P¨qyC3íŔ 2©]9‹řGĚâäË…ő¸Łďw¸íIe��`őŐů§i^“ŘgZąY@“ćͲ �–„?�ËL¸gćŃĘ- ���p‡żOÎ" Xrć˙4®3Q�du¸˛ž±t qg—›¸ÇŚş�8§L nĚ,™Ođ3k=ł­°şEüO79ţÄÓq;rÚ7m˙Âm��Ŕj3‹sÜÔy3 |3Ý6o–e�° üXTćń´V‘T´ š}NŠ��ŔyĂÜ|Ęű`đąíAýXî™Üwa 9¬řGĚ"�ŞĘŤyű4žwÓZÍÉ1´­�`ɡŤ5k °Ö˛s\hóĚK›řGLr˙i›>Ś|z»·Ąť ��KϬý~­ĺću:Äô´ů�p~@ř°jL jM×4ZĆ��€ŃŘ™ôÍ6ś3f˙9@ů‚Ząz٦ó,ťÚÁŐŘ�€Őg¶�Č!FFź€ŕ‡` śW¦µ)Ű–7ą˙´Ą-9iş\Ż-ęfٱN��XÝ›Óiç°î=łÎ;L�X~ţ�,hgf+ÜĐŃ'śľěÁvZ@��`•‰ď…ńý˛,,Źç5V›Ô·°BĚ2şÉýÇÖcëOU‹&‰j%éä�8×đfÎ`Î<Űć0›řGLs˙™6Ďć7 tÚÎĹŁČ9ż�ÎÉ!Ú‹G÷ ú€„?�«J6a‚`¨L÷U¤3Ii��ŔyĄ¸şŕľX_Ü ŕIÍĚ.ţí żt’(/и^L˝ÎQ��Č™9đ1ĄÜôzŽAlpÎ8JJ­YÄ>“ćOýő<Ĺő�`ń9®6YrČ6äa„=~� áŔ0öŕy&΋—î>ĄČ§ˇžQöÖq���çÝű<ˇČĘL{hn©§>É7¬ł‰|Éŕód/1MTśX��@#Éq tć»÷pŻgÖ6ĺ¤ô_F:A0>‹ŕgŇňI¤´K�V‚Ł\ż+�:꺇)�«Â€U LçĄéŘѧM4ąčÎpččv��ŔyA÷>ORwýqM.?ĺdô�ť$ŤiŔ�Î m#°'¬|nOaÓX˙aÎ9F_�¬ÇŘţš=P2˙6 Â�LfÖ6ĺ´r“\%§‰Íg=O§‰Ź��`µ8ě5ţ8Ä<ól›{ŔůáŔ˛ÓâÚŁŰz |LdďqúŻ@�ôĚ`€đ��Îş÷µ¦ů ¦›„=I, Ö8ŹĚ/�ňkEÓéÔúŰy»śŁ��ç–ŁCN&ŕ�ućq˙1f5•;lű’ó��ÄĽ÷“ríáľpľAř°ÄL}�ŽÝ}Š4_Ťéľ‚é_98pżicĂ��śt﫹ý†éÚ{üą¸á<3KfÂÚ óf«ó��އŁßO¸'Ťyĺł¶?gv•śP��`NCĽĂ} �DÇŔj“4¤‰–áüěő3{{��ŕ<áď} ÷Ä’čÚęň�Ť$E›ôč Ó^���łpr÷”ăąç@ČaΩđ\ś5…Ę</��8ź÷ýâ(÷îI�‚ăŔ˛şřÄó]Ţ5eKgI÷ĺËŰO1˙ąáĐ˝cw×}ć… ��`ŐŃ=O÷ľ¤“kâMÔS{wn\H” Ë· ‚xđĚ;ÂzÎÚ��ŔiB°ŕô8ŠŁä¤ső0mQÎ}��•ăľgp€&ţ�, &ĚiYŘ,Š—%AşŻx:r9řž­-÷Ö °�€•f”˝tĎ«Ý “矤Ĺ5ŻŤ Ëx8ç¸1���Çm7€Ĺä(" IuÍíT�€óĹYµ iŹŔ, üXV&‰}Ę–î?ÁçF×—7"žŤÜ×ßąăţüőë��`UŃ˝N÷ĽF—źŘí§áóLđpp$΢‹ �ŔbBĐ�šh»6śt›Žk��'ÜW�ŕ( üXdf÷Ś9™Ç&]”îËąĘĺ'v˙ E@ŮűŹěíąk÷ď»/ĽrĹ��¬ß‘ÝătŻó)ľ’(UW“ËO$řiLó0ÓĂ:ô� ťm����ËĎ,m:ß��pĐĎ��' €U˘M(d.rýip˙ Ëëý_oo»»Ăˇű_żNÚ/��X ”ŢKN?ý4ĄřŠ]~Ý~ÚÖy�����XÄ���Ŕ*€đ` ÝzB7źXôÓ6OÄn?Á{™ň«ÓqéhäŁďzůe÷G/_vźyń˘��XVޱłăľ{kË=źÝ߼¨g’ŰOěúÓÔ!<m^|Ż�����������8Fţ�¬�­éľBw[Ô0żúď. ‚&Y@4ś§�éWßąăľűţ}÷i.¸OZ_wŻíőÜőn' ��XHäěsg8tĎôűîWÜÚÝuĎeÓ±ŘÇż7Í›ŕöÓ8?€QŁ�����������p üX"Ć>Í…šÓ}ĹeڦÔ_E˙9eź%�úŢű÷Ý÷j˝ě•ď“>—Űq®šĚ+ç7Ažm�€Ő¦E “´¸ć$Mnu‘cOëgÝÓBʦĘ&MN?łyf( �����������Ž„?�ËN[şŻ&§ź¦ĎćňăŞÔ^&řqÁçDbĄE±r…€ÇDA~{č'üě)Ţ“&!P±O|��Ŕc…>Á{›Č§\ÖĘk,˝W �˛e3‹‰bQPŰg�����������€�áŔ˘ÓćŕÍŻą5­ ÚBe°ÔEâ— ~JaŹ ~ QźoőĹ `{cB p_âĎ��pţ"˘i5 ~bqN‹»O<˘ §i~ĂľŽąú´ €����������ŔAř°dLM÷Őćú­:ýřiW‰{JgWBˇO0?‰Ňz…"ź´aÚŻŰ ňiü>€��Î "1‘Ođ9NÇŐ”žk˘KĎ,N@aů†ýťčöÓřú�����������Ŕń‚đ`™1‘Oń>Ńő'tň±YÁçpzLüŁ‘ĐgZZ/›—O¦ugź¦4_ár��8ßD™¶t_I$ôirüiM6Źč§iý–ýmMM�����������p üXEš\â´`öٵ‹Ľ'Hő—iLëU‘Ň@ř“LüÄbÄ?��ç›ĂjBWž‘N› Ç?3‰~j» €ř�����������Ŕ€đ` iL÷5Ĺő§–ÚËĘŮŞ®EŘă ÷źŘŐ'ś.¶»ţÄŽ?¶]«ß5¤ü I��ś+ÚŇiMú<ćřăÜĚ‚źIź[E?M" I¤iß�����������ŕ üXvBwź¦ůhŚÄ>ˇ#sÄ?áç˘ŢX�d.?ˇ»O;ţŰM§8ýL Ź" �XNćż49ěÄócqO1Ż)Xc™D?µm5ŐݰŻńţ�����������ś�–6qOKąŇő'\/ţě\•lšř§Éѧ_¦ô*¶ {â_6ż\ź4_��ĐD,irŐ çÇ‚{Oź¬qyÓţ…ĺâeó|G�����������€C€đ`IiKé5qąš®AěÓ&ţ ?A˝5ÇźpÚąVPY%)ľ��`ó¤üjű”Ëš~âé óZ§ŰöŁeźIó�����������'€U!÷Ô5ńüyĹ?VMQWéŘ ~PXĆMHőĺ\łČ§Ń ��Î-™dŠŰNŁëÎ$PXfšČg’č'Ţßy]������������ŽÂ€eaš«OCٱ”_SÄ?bĚŮ'®łř €jó"áOÚ"üiů ü�8źLqΉ§“!NÓü&QP«PTn’čgZŠŻ©F������������G�áŔ*Š!ţń«ąşŰO,ôi�ŰŞ‰€,(:Éń§-ř‰ř�ŕ|1A 3ŐńÇÍ(:„ŔgnѢ�����������8Eţ�,9­®?MeZÄ?Â×Đ4ĎęČ+�5‰}l~Pgţ1MÚo„?��ç‹I‚™hŮ4!P›hLđ3çĽĆm¸I»Ť�����������N„?�ËDčč3K™ŕó$ńOé Wĺ\ă<×RW(5ˇO(*¦Ű‚Ľť€��`eIć˙4şý„ó§ąóLsů™Ą®h?fşwq����������€cáŔ 0ćúsńĎ$G p›Á¶Ćęô+4»ţä“-ž`?�ŕÓrH&&:˙„Ëg5ĚźWôĂ˝ �����������N„?�ËF‹ëĎ‘Ä?a=ĹűĚBź¦eMŰ÷•¶{âr���˘íľpH÷źĂ¦®vD?Üç�����������ŕAř°BJü#„@m ĆeQݱ'möÄű9Ťi)Î��`ąWÓP~V d1ĎQP­Ü„팕�����������8aţ�,#-®?ů˘)â¤ájKÓ5“�(Ş»ŃíÇązĘŻpżŇi©��犉š¦esŠt& ~‚ĎÉ‘Ď\˘îc�����������p üXV+ţ‰¦[ݢĎa¸2mÝĄ n?ÁĽ¶TeSÁő�`58¬f^ןhz&מYĘ7L#ú����������€ł�áŔŠ2ŻřGĚ"�ňĺíL“â$MĄ ®t1S�€sÇQśĆÖź75Ř,ëąĹ«������������'�€ef‚ëOľ8™ě¸MO�5LǡÎtÎý –âę�pľ™UDÓRn^ŃÎQ?ŤëŚp������������'€eg^ńŹ­#ć�Ůň)ĚdÂ~ÎäîÓT?b �€Ő䢹\€ćušµ‡č�����������΄?�«ŔaÄ?Mëµ€ňY ˘ź„@µÍąCBŕ��BŽţ+ź5[9D?�����������°Č üXf˙©î?áĽ`ţ(.ge t�ŔIsHŃM2‡°çĐ‚źIu�����������3�V‰)⟼ČPľpâü8čŮ*Ş" ��ÇÇ ÷”dNQϤ:“YďaÜë�����������ŕAř°j49ř4k�…uÄő49ü¸ö`h:i]��€câHi·¦¬‹ŕ�����������„?�«Ę î?y±  «ÇäÔP&9d4ťaż�`őHŽC<sL©¸ćÚD?�����������pF üXeft˙É‹VAË™D@Uáéeš°O T��9ě˝aŽőćľ˙pż����������€3áŔy`P^ĽČśčŔÓôś¶-‚Ą��pśâľ’ś‚�����������ŕ$Ařpž”¶kâjăÎô´„=¤ý�XmNIDsd79Ä>�����������°€ ü8ŻRT­>9�š—`‡@+��ĚŔ‰¤‰ä����������� ÂXHţ­Sĺ0Ž>‡¨��`QI¸oť9Ďş“ĺË>Ű���Ŕ9âŮn`ŢXŰp����p~Řr�‹ Â�hdR�4%ý��,!{�����������`Ő@ř�ss”Ŕ)˘!��8 w������������*ţ�Ŕ©BŔ��������������ŕxč8�����������������X:ţ�����������������,!�����������������–„?�����������������KČš����������€Ą#MSËC’$����ŕ¸Ař����������°ŕ ňY~šţ†����ਠü����������X0úśâż3B ����„?����������� ‚źóŤýý����Ŕ¬ ü����������8cü@ ����„?�����������gÄq ~-Ç%ŘA�����Ó@ř����������pĘU Ŕg±iűűVŔ�����Ú@ř����������pŠV´Řgů ˙†‡ńh}Ä?����‚đ����������ŕ”WĽC*°Ĺä8Ä7‡!ţ���€„?�����������§Ŕ<˘›łÁdfý˝gčĚ›Ę ń���������������NY…"Ç]Ζřď4M¬3Ź�ń����„?����������� Ŕ41ĎaĹ>„N–yÓtͲ˘����„?�����������'Č,›IeŽş>ś,“~űiâžIef˙ ����„?�����������'ÄQD;'ĺ�§Ç,?“@����`�����������Î&ńÎýű÷-š·/ł pÚĘiţ•+Wjóö����Ŕ$ţ�����������ś�‡uěišÔT`p:4ý-Úś|š–M:&¦Ą C���p>Ař����������pĘ4 <žţ˙ţÁ÷żĎÁůĺŤo~Úż?ţřcµů{���� ‰Ž����������€ce^‡\{ ç'����„?�����������������K©ľ������ăĄK����€ł·8.šŇ{MJůE:0���€ó€ä¨<���ś'ŕ™T?m>���€Ĺ nł!‚XĽ����&đ`É9‰Ž€¦:y°���8:‹ġÍ���pú ęă1�����–łč ·É%���Ŕ|,K€'ŢOÚ}����'ËÜn?Eű켶ŇÚÚ«mż›Í_ĆvmÓ±Aű����š@ř°$,ęčp6���ÚYöݸ���ĚĎaŰ€ł~’âŐI:y»,˙ĎťY«Ó6lMÄ3HekóÂe«â¬tX±"!���€ó€gŃRŔ"±ßOÝŹýú®ű…Źě»îý@ČGŻvÝo{ý†ű¬Ź˝ŕ6Ö¸NŔépÜm¸yę;é6Y۾Ѐy Ý�瑹Ý}"teět:n­»ćşkŮ«+ńOÇjs§NśJ˝P\g‹(-ć•ď3Ľň˘ÍďËÖ†Ť=|` ]��pö üXP–qTĘ2[ç@ťçźÁ˝÷˝ďuű±ë}ô· <skŕľöÇîşŰ;ŁÚüßř׏gţł®ą×>@ó�NŽŁ¶áŽŁ 8©Ž“l§-bű•v)ŔbB» �`śYÜjÔ¶év»®×ëąőŤ ˙.!ć§n”kdâu“ň®ţ©¬4Ţ“‰úťş@'­OíS[Ú­†euáO2¶[I1‘„3]ńeŻ‘Ä=Ł‘ź¶Ďĺ{üą(‹‚‘PиÚu���‹wZ€clh�,7˙á?ü¸űăËÝ`0pëëëîďý˝żăŢúÖĎp‹ĆÁ0u?űÁ}÷îçÜý˝‘ďLŘë·_ComŹÜßű÷ú×ÜŐÍŽűřÇ×ݧĽ1ë(ír­€ăá0í¸Ónűť7·žY~_Ú¬�'í6�€Łc)ľşťŽül^Řt›^¤«ă(•b]aKÁL üI‚˙%ĺ{łđ§řD^>iZ }R›N‹biŁ€©ö^”Źľ]í=)ö»S¦5ËŢ%pęXzł$ßx!Ţ1AO)î)އáÚ»^Y?‡ŢGĄHëŹjű�“ˇ]��° üXVńáĐ8÷ďßwżëw˝mbuŢ<đŔ ÷ř㏻·ľőÓÝç|ÎŰÜĂ?ěŕôů‡˙đ»ďţîո쫾ę+łżĺgN\ggÇ˝ímźçöööĆ–éoü#?ňďÝ"ňmßö^ô#Ü·űw.śđç˝/őÝ7ţÔ=w'M4 uDüú‹}˙ůż|xßýŔ/m»/yëU÷–Gz�ŕ(ĚŰ–[´¶_Ľ?ç©ý¶ěß}–öe÷ţĚĎü¤;N>űł˙;w÷î˝rúËżüo¸ß˙ű?φĎýÜĎw/żüJ9ýe_öĄîż˙ď˙ ;kţŘűB÷Ţ÷ľŻuą\ÔÎ{Ík^ă>íÓ>Ő}Ţç}®{ňÉ'ËçďµČĐn�h¦Íág˘{cíCRŠ]$¸G^Äbëw ˇŚD3ťNâ§;I§ŮË×T*‚L íKZąůT"WwĎqÁçŔYgpJ7‰mBq‘¶í˙+„>ĹţJÔä…MÚw›^[Ëż[őű2ľÍQ úQ?‡˝$�óG¨öť€ř¸8- iíKműÂ… YĺCîé§ßśµy~‡űÝżűłü<Xmh×��,.�Îó0š;Úůč÷ű^öŻ_üĹ_rßôMßâţÂ_řóîýˇ/p°8üĐýđTáĎ;ŢńSŤ˘źEçÁ8}Ö¨“áţČ7ŻŹˇŮ«®żü¶ët6�Ŕˇ™§=wˇĂ´Ăš¶{^Úsáw§ ó˘ á«ŻŢôŻwżű×Ü·|Ë·»?ý§˙¤űâ/ţB¤<oĐn€óH[űíČíş@Ô˘ľŁdw×Ö‘Ć Y}/dIŇqkk]·Öëůf˝Ţš_[[sÝŽÄ4ş'ŐÝuňézâ-ű&őYĄj§˙ŚJĐČ;ěŚ ˇŤöłźíŁ/^ĄĐ¦˙Ű/DIý¬u«}_×űúş-űWVÔŹ¬Ś €Ę6›ą Ů~Ťô*„?&ţéW ~?Ű·ýn•бý˝N‘¶ľ×“ę“U˝ěö‘Ź<ă_rŽţšŻů'îKľäOş?ü‡˙‡sŮć9Đ®��Xlţ�ś!çÉB÷źĂŁéŻřŠżď?#ţY~ú§ĆŹ€şrĺJk™·żý‡Ý2ňĄ_úWÜ˙úżţm÷kżöëî?ń7¸żňWţ˘[d'¬‘EÇŃÉ`¨®žŐů•čl†`nfmĎwąy8®ô^çQ „ŽŠ‚ßđ ßµ·Ü˙ô?ýŹî<A» �ŕxQ«D›\@3pŰY‘\~$ţ±—,B˘^oÝmldŻÍM·™˝.\ČŢ76ÝúƆÓ¬Î9Ú¤Ą˛§.üIK7ťĐíÇ\}ňôb#sŘ‘č§űh_4jww׿ö˛×ţţľź?čç%«ŰcDŢŐ§ă÷Í„>Ůţj˙7ő~á‚˙¬yZćĹL…�¨ciŔŠoa"˘¤“×Ű)ÜÖşkĄđGŰ’ Rżź—)€$qç«ďö¨Ü»wß}őWŤűůź˙…¬óoűż¬´ë���„?�gŔi<4ÖňZϰ={@>é¸˙ŚŁt^O<‘Ű˙«áÎť;Ţéç•W^­•ű˙ŕşO˙ôßáÓŔŮŁÎŞű±źp_đźß¸üöíŰîç~îżşeä‰'wßôM˙?·(‡řĽvÂł ‘FŞű3žŢt��ł2Kë¸ĘśÇ‘âjQ‚!§Ńľ\&!{ŘľlC58:ű±ă~óoţMţłŽ‘{÷îą_ţĺ_qĎ=÷|­Üżř˙Ň·ĺëoý-îĽ@» �`~¦µ­,e•D4[;;n{{ÇŰ-„55áĎúş»°ąé.^Ľč._ąě®\ąę®^˝ę0]ĘćI@#áLŘo>LĺUM»ŇÝ'wűy’¶­ľíËÖÖ–»{÷®é޸ťMďE^ř¤Ë „?rüÉÚ)Ú˙ŤőJ¸¤ďˇýľté’»¨WöY©Ą$ęî@&dJ,Ą™ĎVµÝ4ż»féÄ:^äEGJ-V–*ď݆…řÇť)‹Ô—ú©źúÉţýŕ ďnŢĽéžţ˙7 ‘űµ“Iü«í:��€Ĺ‡ž>€Sć¤FqëÁ_Zqîçy¶g˝¶ŽČ.šŹ{m{ŕÜüŔ}Ćg|zmž:qţÉ?ů§î»żű_Őć}˙÷˙€űÓúOąóŽý:&ĎŠ7żůMîýď˙@9ýď˙ýŰ[…??úŁ?VZl‹Ź˙řŹóéŕhĽűůwRĽű…:�`fŽ*č9m YÚ]Ëěč3o›÷¨ŰZôߥ©} ‡CíĎI$~Űoű­>-oĚw}×÷¸ôŹţImŢżúW˙ú\ h·�´s6žwüŤÜAżď¶¶·Ý+ŻľęnÝşUk¶ÝţÁľ®¨nÝ·Ô"Ḁ́˗ݵk×ÜŤ7Ü>čĘ^Ăěł'kÓôJ1pRě[µĹ6ŃŹ-ËË~I‰îŢą›í×M÷Ę+ݏWł}ÔŔ(íŁwý‘+Qvo5öY‚śě• —ząëĎĆF%`ĘľËĺ+WĽxI/M_2P!dęÎ>ťNÝ Č^áď™ŰJ‹ľ¦"{Y‘V-w3JkżÎâpÚmŇŻůšŻk_Jŕő#?ňÜ×}Ý×{wCCó>ó3§{ŰŰ~·Ő€v��Ŕâđŕ9NŃŹ=P[îi{·‡î˝ý}÷ęÍ[îÖÝ-·łß/ň[§ĄU­ÇŹ|qţ˙úĺ îÁ×Üő¬#ŔŠŠÜöiŁgŽëˇ÷źv$şú‹ń˙ă~ň'ĘŹž14z¸ ý–˛Ňý·˙ößą÷Ľç˝îĄ—^ňóyä? ůó?˙÷ů Ă´ßű§ú?ůĽÜżň+ďôťG{{űîęŐ+îőŻ˝űżăS|Ş1ŤkCť9'ýěĎţ÷áŘŰüŞ“ćńÇsżé7ýF÷ű˙çąOř„Źo\÷ł?űżswďŢ+§żů›˙Y¶Ý׹oüĆoöż~Ďďůl?bH#‡ţÝżű÷eٸáŢţö×ůsîĎ»˙ň_~ľśÖ¨ěĂ8ÚĽéMoôťVw˛N,!g&ýÖúťcŢţö©Mk›“„?ßű˝ßç]ťŚÇ{Ôýŕ~˙X9ź˙ů¨6﻾ë;Ü[ŢňôXŮĂţ=żôKżĚýřŹżŁśţ}żďsłßüqM|đr˙Ç˙ńoÝ/üÂs/żü˛ďčąvíŞűŹy‹ű¬Ďú]îs?÷sŽŐŢůîîńŹ.:Ťşŕü1«č'.wR:M)«V] ÔĆq:­b[öCúpyoW;ggg×=üđC}*»Ż˙Ţěţţ™ÇroWý¨}t3{nQ{NÁ¤?ő§ţ„JÎĂŻţę»}ôżý·_Ěöůe˙÷yčˇ}ĘRµE>íÓ~Găzqűë·˙ößćľáľÎ˝ă?éľýŰżÓ˝ď}ď÷iJľďűľÇ·KçáŹý±˙‡űŻ˙őçÝüŹ˙©ś÷3?ółî°¦ť}Vmfv�ŔlĚÓţ ˙IHł˝˝ív¶w˛űŐnŮŹ× ĽŁŽú%jŮŘŘô"™{YźËnv_†Ţ §·¦t_=×ít˝)Ž^ů®¤ĺ»©^ę CAPę˙ÉíǻݿźőGľę^|ńE÷ÂóĎű~9[ďdűŮR|•X[*ůŮ>ĺW.ŕé*íWÖ©ô^řČíG‚}'ői\3ŁÂh}]iŔ$�Z+@ťÚ+)~ô/-ľ‹i[ĂQŢך €Bβý·h}©ú;¨oéS>ĺ“Ý~á/űËÄ?űg˙Ü÷ăµíďqµß>çsŢćţÎßůß|»ő›żů[ÝţĎ?›őÝÝô}S÷qëţČůż»OýÔOq“ĐßZNE?ôCo÷űuëÖmßÎzôŃGĽČ[ßQ›űĐľň+˙Ž˙Ţ?ó3˙Ů}çw~—Żoťsj§ýŮ?ű%ĄS¤P™ýŻ˙Ť{ç;ßĺŰÜÚŢg}Ögş/ú˘˙§?¦'qZmvv��Ŕâđŕ8®�Žęń–¸ŮĽ=€ęłrzżďĂuľ;pŻ®]wűk—Ýŕâ.˝ř°KČŢŐŻkişĂa*ÁĽQ?{p|µď:ĎŢvkűwÝ•ýŰîÉŤ÷ćGpŹ=ň°üh{&ŇĂq¤@üÓŽ:#ä ^|ńĄ±rtüŤżńĺµNzC˘ ˝äLó)źňŰýđőë×ÇĘiäŐ_ý«_ćÇëżí_z˙¶oű÷w˙îßj|ř–čHŢ Ž„č•KŽ^ß÷}˙»űŕ÷»żţ×˙ęTçY@É—ü9ż˙1 l„A íźD8M#¨őűüüĎ˙·±őľË'ňow?üĂ?ę§uüJŕŁňýÍ$¶1Ôqńş×˝ÖťÇń÷śF“+•ˇŕť[z}ë·~»ďôб|Tžą5pĎ޸Ărq=qOŢXsď}©ß\˙ÍßĆk y�“™Ö¶k[nóE0đqÜ@“ÚWZ¦vś‚'qąĂŠćYŃhEͳeu<ęŢ.§šŹ~ô9˙Ň˝])A˙Á?řJ/ň= z¦řÇ˙řëöـŹÚŠ?őS˙1 Ú|ăLué\R]ßó=ß;¶Lí1˝ÔnSń+ľâoÍ$(R›öoý­żë޵CáŹÚÉ ~6µÇ§íÓaÚŮgŐf´Ű��꛸»ÄgŽ>/\đ9/lć)Ŕ”j+»_ěf}…;YżŠxvĽ8hŰííîą4»÷zk^@#çś /şž‚ňťtŐ[ZüW |Šo~«Z˙¤úqÔˇSý<÷Üsîĺ—^ňâ$-ďJxSqJ/ľŃ÷޶í]v†ĂŇEŮ~;­§6¬€ô˝˝“ŃŐ«ţľzíÚőěýZ!�şěÝ6| °µ1÷ź<Ĺ—Ą+\€ŠÁ’ůO\¤óŞĂÂĺhTěŻ+Ë,gŮ.•ů/ýĄżŕţćßüßĘyĎ<ó¬Ŕ(rČq·ßTßłĎ~Ôý‰?ń§ÜíŰwĘůę›úéźţ˙úâ‹Üźűs¦q}µľěËţ—±>4ŐkýŞçüá?ü?řAšÓúĂĺ‚ôßńťîkżöëkóŐ÷g˙ěźwßđ _ë~ËoůÍęy|~łoű¶áżżD6 4<­6{mżh×��,Ç›ż�Ć8Ž{Ő±[<¬ďŁyŢűąřąw»o}çm÷mŻ<â~ę5źęžyËg¸űO~˘Ű{ř î`ăjö°ź¸ÝŰűnç•lÝWłýWł÷›;nďć¶˙Ľ­yٲÝ[{no+ëHÖÝţ•GÜî#oqŻľé“Ý;_˙îűÝÇąo~Ç}×Ď?ă~úŐ?Ŕkl?´:ŽďÍčo˘Ž™ý=ľř‹˙dŁč'FŁUV 1ĺŻüőF‘HĚÖÖ¶/+Wˇ ‹ ‰MüŔüŕXÚ&ţĺżüîFяв`C~ěÇ~˘±¬ć›#–Đč/ŤĽ9 :Ţc‘Śľ{ĚŰßţõiŤ,Šsžź$Gý{ÎÂ_űk˙ßFŃOĚsĎ=ďţĚźů[˙–ł˛ßOÝ×ţŘ]·Ű?Üőb-kńüĄßsÝýµĎąî~ă“Í#žT÷×ýř]ż-�€6Ž"ú±6ť^&ü9ŘŰqű;÷ýkoű^íµ»uwě—i{5­«měnůíjD¶ašöł>Ş{ľßg‘^GŮ˙yÖYtoo ÄčŢţÇ˙řź:t ÓţĎżyâv^~ů÷ĺ_ţ·j)SŰĐ릠QŚÚE ´čź„Ü'•Şâ¸h ľÍ{ĽĄť}VmfÚm��'ünőݸ~Ý=úČ#î©'źtŻ{Ý뼻ŻŢź|â /Pj// ęt|Űs{{Ë÷#ÉůGźŠ´[iáäĺ=i•Ć«lĺ&⑨žîëŕ źőam»;wďzᏜ~nŢĽéű tO—HéB‘ŞËśz®^ąę®\˝âť‰Żé»®*…—^—.ů﹡Á‡Ý®ß ˙=˛:ĺ„'QŃGź{Î}ä#É^vĎ<óŚo§hŰZ~˙ţý˛/UŽHÖ·Ş”ÚW[¦×ţţë¨}>Ę4®¸ŹgŻlŽŤ˛ďˇďzŘv檣vĂĄKkó~ögn¬Üq·ßtLüĺżüĄ5ŃOĚ·|Ë·{Wěť_ôE˙Ż©}hú{K¤3‹8\źúO›őě%1·„ٱč'ä…^ĚÚĂ»qŮiµŮ Úu���ËZ€ä¨>eWÖÁ«zô0Ş ý/Ľď÷ˇî#nű±ßŕÜë:n°ź=4dź·öµBŢ ĐíyܵőŽëô6ĽăŹwsoô!·Z˝FYżú(‹ű ©ě¸¤°±M»ënó!·{ý!÷J/{xůč=÷Đ+ďrźđŔš{óëź*FĎ9·Ź`ŠóĎ8ę¨ř…_řĹÚĽ¸ăţďţÝżWsJá¤<ÚâÇü'ĽŕÇĐ¨ŹŻüĘŕ]^ ŤúŐCiČýŁÄŹdŃh)Ť ţšŻůÚňAQÔßřŤß”ľĘOëýęŻţGµő•^ěŹ˙ń/ň)d7«ú0µÁżů7ßź-˙B÷š×ĽĆµaű­‘A˛ĂŐ1˘ôWBÇĘç}ŢďÍG˙˙˛üOüÄ;Ü_ý«iě8úŃý±ÚôďţÝź5& šuŠé÷U§™F>đş÷ľ÷}µT[qš/‰…^xáwőď9 ˛UţÉźüʵyú[Á|ľ»víšw;ŇČt Řéúő÷ţŢWeŻop‡ĺÇ~}×ÝŢ9ĽőďüćKî ­ąýě÷Üťö@â­í‘űń÷ěşßű.:�€y™$ú @lmÝww>ňnw÷ýżŕv_ůK‡GQϋڇ—˙wă~—»tăa?ŠVAţ&–=ŐWŰßdgŁYË.s[V÷vĄ7yĂ^ďţŕü>0÷KżôËîđ˙,ďíjýĎ˙óßôéFçiW}řĂqßú­ßQ›§ßíł?űwąßř?É_´µg¦ˇ‘×?őS?]«GiT—žQ4Âü[ľĺŰü3”ůëżţźeÁ¦żÜZ§‰ˇ€|ë[?Ă=đŔînŔĽxńpmÇ8¤ýRvVŽÚÎ>«63í6�€Ă1K?˘®ßŢé'ű,1Ś„4&D‘¨@÷Ž{Ůő[©±:…›ŤoroW¸íűéŃ(w꬞lU‚–±÷Bý“ĺŇ G‚~˙Ŕmoď¸{Ů}óNÖćU»W•“űNĺŔÓËxÔY™4˙2ŐVš§5î?z ô^¤2Ë;űŢÍH÷{źöl'źçEMìÜđ’Ou¶Ö[óŰ,~Ľ«O’;˙?Őňđo‘ďäh”úÔ¤Ř?[ݬď„Y†¶¦ţ¶‡n‡ę3 9‰ö›őO}ň'˙ß|¨ţţ4+}VČw~çw»O˙ôO«ÍűŠŻřű^dcH¸ôĹ_ü…>—Ž!µŹµĎv<Hý;ç[ýţ¶ńC?ôĂŢů[i_zč!źzLó őË)«|JC&‡lĄq•Gçńó?˙ ľí¦›=­6{í:��€ĺáŔ qŃŹŤW#]ďŢvýŮ»î™Ë˙ĹŢy�HU^í˙LÝľ K[:KAA‘&b/ŃÄnM411‰_’ú—|_’/˝MQ“¨1ö^QQP@Ş( HďKŮ^¦Ý˙űś{ß;wf§íîě2»{~xťŮ;wnť™{Îű>ďs(8¦’BM*pŻ©Ž˘f•!yÉŃMqô>äö¨d4ˇŔ‘c¨>@ĆáÝä 6R¸©Ž<.Uö0¦ ¦°Čđ«`ÚźOáâä+BŢňAäëźg–˙ ATDVë U·đűÜyĄ3›ö©VmŢAiť8fw!Ař'] §TÇÝŰĹ?¸&°˙_˝z-ýńŹâdŐɢEŃQ·°Ť±‹„ ů$Ď?űŮ/9IŐŔ.ö¶ZD´eËÖu ôWżúűo$»·ßţkúö·żÇ#ÇFŹ®Śą Q ëŰąs'Ş%uÇżµ…`cĆŚf{ŢE‹ÎçĎł>εk×Ó9ç,˘dŕłđĂţ€ku'⢋.¤»ďţ›ý]«Ş:ĚIýäÉ'ŰËTUUqŇë%Ú F°ÁBőĆѡĐGźśO§» y”YCů…® Ł×3¸v(ć¬?˙ůÜP.GĹĄ őÇ++GQ{xgg µ—űčĽIfĂÁ+ëép}jUj[ŇĐ B"Úë ßNÜ“ŞŹ¦C+ĄĆý[čx ¶PÝÎőÔ°wőźöuď>‘ĘËűň=.“΋L;Ąr™¶”÷Ę4FÍĄXť ńťń|îs7Ůbćř{űI'Mâ{;â{pŃE¨xf&}ó›ß±—AIE.ąä"Ę”gžy¶•“Ďwżű­řěşë®árŻV'űŚr˘NC謝O7Üp“-Ř~ě±'Ôq–;F’Xň·żýeĘe2#ą_}őőy ŰB6âěă3KÜ&‚Đyč2YĎčű4ĐÂÜđ`ŃŚšŹ[�ŕ}~Ë=ÇYöĘmĹ/FJᏽ!Óů‡L1‹sÔ˝' QłĺŢŔeĹšx´@śT }ضj#É4ŢÔD¸·i·˙XesqL!őTŹu‘Z5?Čó1a-NŇâś—[oŰĄöŰzÂkźěR`桲Čĺ˙pÉ/µXëó¸Í‚ 2ŃB'‡±źwfüvőŐWŇ׾v›ý7D7·ŢúZľ|Ą=íRřĚč8 íŞ/żĽŘ~íŮţóYd­™1c:BDi- âćT¬˙î»˙DÇăż/¸ŕ<Ý<účă1Ë}ă_cÁŽíu·ÜňĄekáOWĆěN$®A„îˇččG'®°Â­RÉŃň5´Čt ŤôQsť ň™ďŢ‚|ňyÉE(¤o#¶çŘ.* 7Piľ›ĘŠ Tr]@îţh€§śRďs…öSÍţzŞm PmŘMŤ…Č0†ü#ČÓż€…@-*@o‚»ÇOUĺ•´´ ’Ö}°•&;čäń#Y�„dS{’ŢŢ(ţąí¶Żg´ÜرcháÂ3íżź{.¶ÄTqq}á ­ëUń‹źWť,ĎĹ” Ă{?ó™řyĽSj`/^üZ̶ĐřÇ?ţž×.żüŁ” łqÉgwH�ÚR‹ŕd˘€úáččŔ „PÎN $đÎ’#GŽŕF„ö˘żŰgž9/FřóúëKčK_ú‚ýÜÉÔ©§p#—s?:“Ž^Ďt ˇ%8ś|ůË_´E?loîÜ9|ÎĆŤ«¦qÔŻ_9µ—µéË}$uÄoSĘŤu«wµĐ’Ň—ÉŘ_Óľm ‚Đ»I˙éÎ.5P[C–>@͇wQ® čĐŰSË s(2éLŽAŃXŻ;‹ś´5>ËĄňm2%[6S÷ź\‰e_|ńĺ´ËÜ|ógů1Ů˝ÝŮ™ŕ�ާł FméDw „:^`‚¸é+_ąµULJ“ř}8p�]qĹÇZ-‡Î3¦ŮN’ȵđ<•řüż˙ű;mýüóź÷ł«"ŔőŻ­­cǢ Ţkµ,:ĄÚB6âěă3KÜ&‚Đą¸bý÷ Äpř=Ç=“vÚXĆc‰} ÍöÂ÷¬Ă´ą±ś}â?V¬d‹qČářcpy,ÓI(Ŕ˘U bămŞőęýČSD?Z¸/9˙ÖĎcÝ… k[a[üŘ•'Kč{!Ä9úž¦·ĹîBd¶—xĽžm9}}xżÜćňú˝F$'ňöŮů'l˝!âëŠř‡¸T›ç€ĆΊßpîoşéĆVó &w 𹀠±oW]¸đĚŃŹńDÔş]uăĆM\Ć®©‰@; ýhG;…?Ú•Ń DF%%ĹTWWoĎC©éĘ݉Äu‚ ‚Đ}Ꮰd™övrh—ŘŰcdĚë;khď€S(<Îc ~Ž4łŤ¬·0ź`ŇÜľ“hóbčŃŔňľäĎSÉëĐbµ¦bNL÷ qŘę+:EBĚ#f";9F˛ŚäżźúŰÜ'•L7Rő{oÓˇę&:V:’ü§-"—ŻZę#¨o˘`هBÇŇŠĽ±ôţîtrč:qÔP.÷m·ÇýGśZ3hĐ@úÍo~ÉŤ$šxgŚ IT¦Ł¨¨H˝6…–.}Ëž[YÍé§Ďäő†¬ëŽĎśZ`K‹¸ÁśpÂxnüϤź_XůÂŽĺĘPŠ  55µ1ËĄÂŕxҤŐىŇf·Ýí$Š/YĐŢ$WŁżßgź˝nżýöß…}ŕŔAިÓ¨ —uľ·łÉöőŚ'ţsd”cK>ł]Ĺŕ2}őś>´~O€ţńvéÓýéŮ%T^äf[â{—Őg´.ůő!čß}ńÜÜBÇ6ż•S˘ź(Ől~“Őű)<ýRnśG#6:hś Ž”Ě:Ţ´Ą\Y:O&qjw‹eÝŰ“‰>Î8cvL'ÂÖ­[©-Ä—¨…H8Ó¦ťĆq­S¸N)öť (cgŮ[€}NÖqÔ·oźr ™rÇw¦]ćź¸Ž¦OźFˇ˝qvWÇĚé¸M!J{%YxbDE.úą^źnD»Ú=–@Ą¨°ŠŠ‹¨° K`áu-Z‰ĺřc—ôr8ýÓ(¶$oŰ˙ŔůĎÍ’d^n›Ä6ś˘'.Gą,ç¤_‹n“bŽS·gę”aMÁQSšÇką#ÁÝÚ¬źÔń"ĆŐűçhäR§3l‰…´ ŰYĎá0ż$—OÍKv|ťA.Çš8÷NśÄ:+~Ă łDí[Æ k5Ď)”Žß8¤'ű>ĆǤǒ ͇°Ý ÎKüŔ=€öt§đÇé”Ů•1{[¸NArţBioÇ>U4âBĹżyÇ>ZSv*5 KÍ5*ĺ®k"—ĎOyĄů0١ȶ-äÝň:Ť//˘‚a}9I@ q’ŇŇ~žoŤ¤i HšÖčŚTEÉ©şş:nt/ď;őTµěď´?(ĺź´€\ý ( âö@]3\,Do©i×ćUtć¨�;Đ`”j{j‹ř' ŢQŞ ×ŐIü(ŹŠŠŠ¤ë<xpŇ÷4ke˙ô§żé$Ŕ(8Ĺ`¸-ü™Ď|š;cśŕza¤0JŠ9ËŽď “… ĎäýÖ 8ęrcä͉'N`!ŽłÄ`âGÓ´ý‡ŔÂ$ç±â9FŐĽ÷Ţűö<4nĄ˛˙í ˛q=SňńŰÓ# ;“ŠRí8JúzQž›úşiţxőۧÚđţľ´ŽćŽË§©#ó¸ŃáŻoÖR}Kf®KeA'Uś—ę5Äxě˛uĺ2M?¤ý‹˙BýN˝PŦcąń\‹şËćöîŁó}8VÄĐ©@=-NmË˝=>¦¬®®á·LÄţ×g8Iżbű-ďÚŐŃ>L\Ž�ö9™ÄźmçŁĐŻżţÔ˛g/\ص1łÄm‚ ťŹł—§8ăÄph3,Tmr° b8Šs[—ý‚đÇă¶…/ZŘăĐ÷ó©u 0ŰőB#‚->rąô�DoÔUbă( pôč’YÖ2f9®hů±dǮݴóD?Úm(¤ćCŕQŁîů^ŹŹ|^›¬r^ęý^?µŠuâăů+b  G…#aŐ kşÖ1ăüňţ÷âöĚÇcc4ÄsšÎŠß’µ§kŹoWÍÖţtÖőďŞ=‰ëAˇű ÂAČíý 9…;ÔüŻďiˇ=Ăć°&t¤‰\*-(/ C%±áw—PYŐF6 ĺŔŁQ‡NôgaN˛@ż-ű…uh`vFŚnď#śöěŮKEŞ‘x’çőŃ®f•ĚN8‹Š†¦–˘`c›˝´{řiôDC M9¸†Ćm¦ňrsäE{JDô†d îz´óŠďĐÚµëb^‡mĽč'Ű|ôŁ—˛ jm/[ö6_óxp=0RxŐŞŐ\7űŞ«®°çăß¶%ń 1éä“'ńČ”cÇŞ)›ŕł ±Í“O>mĎC©-śSŚdv~ţçĚ9˝U­ńŽ€Ýń‚śç#lÚăŞÓQ:r=ÓŃUÎEńś¦ R54l=¤˝]O×Í*¦9cň©Đ碉CĚŃSĎż×H÷)S¦ŤĚ#A„Ž +M‡EZj«(ÔTGąN¨±†.˝źę†N Ć±3©tČŰ=2žîŁĄŰgçčr=:>Y<š.N=Ţqěo~ó _ž‘Ѳą·;;łM{ĹvéHetř•—÷ĺÎÄ‚\pľ]R˘­d+ÎîęYâ6A„ă.ý…8F—řr[ĺ¶"V)08ŹŔń'ż źÝx´Đ†‡ G©/»ĘWáŹ~Ś-ÉaŰÚ°ÇÝŞŚ—ŢOíH„ ń¦vJ$žqţ…í9]B–ëOł%ţčG ‚ęęjŮyűˇŹ5_­Ě«ćą\nÇ1ÇĆöq‘#FTsÜV90#l¨íÂq@!>׺äRo˙ŕśÇ‹”ÇŚm?Ďĺř­­8KuÇ+f—¸NAş"ü„,ĐŢŔ#Ŕ1â@ŐQzĂ{"Ő. ć#®í/) Ż;Hˇ7ź˘ŠŔAŘżśňF ć‘••ŁZ)÷ă÷!Ţ·˝Ç÷#ůFă/&” ‚µ<lĺűÖ×Só×iŰşj N8› ÇŚˇ¦ęµk˘Ăţzkč,Ú÷áJš ó¨€Úę ŇÄ?¬;fnşé3të­_ˇ·ŢZnż~ß}˙b!Îźľśěßż?é6öíŰ—ň˝`Ҥ‰ôË_ţŚ“éM›6łs F#iÇH` ®Éď~wť}öYĽOO?ýlLg®ńG>r1‹™ >8p _Ă+ŻĽ6ëÂ�G$g'Ć;ď¬ćÇ7ß\Újąl‚Γź˙üWvăĂşuëiذˇ1ËśţyÔ^’5"dÚ¸ĐŢ뙎řĎօƶÎvý9kB˝şą‰Ž6$%„×Na6ěTŤŹŻi L ń‚ mw)ˇ÷’¨“@ŁG<s_ôă¤qď&žö!oÉ�ň÷%O^a»~뻋S‹}ňň)ݤśJ‡ŽWĎ ¸óB—QíÉÎ?ń÷ö“ßŰăăÍ>}Ę Ăs‰NH§ëĎŢ˝{.‹sźhTx˛}ž9s:ýá·Óńŕăż–ľň•[©3ČfśÝ•1łÄm‚ ǧÓâ=Ŕ÷Uţ[˝†ż1¸ŚËqy*«śĹ–î2Ë|EĹ?ŃçF̲¤KĹ[Ůe»Ü1ĺ»ô~z­ýĚ/(`!kÚ/ě“.DZŚ|¤wÁ,÷v 0YÂź†ĆF˙´´l—užźňňóXđăńşM·!O´”Ĺ•ü"‡đÇ޶ÝÖęć9Ř>J‹…T»g(±Ď ’CO1K}}ě}|ćĚöó\Šß€ÓŤÜrËÍtĂ ź˘\Ą«böx$®A„îˇíýŔA§ŞŞŠ¶ď?L+úM§úf…ŹÁĺ'Ź űú)°a-őŰ·‚ú÷-Ą’Ša4xpŤ9"¦N°á°đÍf§C˛Ž €ű‰O¤qăĆŇîÝ{hĎž=ś84V˝Mn[Fysݦ«€uMTČKŰGN§Ć}[hUóč‡ĐŃŚ^âüŁąőÖ/Đňĺ+í2M°ä˙Óźî¦oű1ËA„őúëoŘŻYł–—ŐTÔ×^»v}Ě<\żx°=¸: 8€&O>™'€ó˙Ŕ˙¦_˙úwö˛“lŘđÍ›7—–,y#f=źüäuôĹ/ŢŇjýhhé N9e >Ś?Ź�ű­5k˘ÎIuťé¨÷LÁ(ąyóÎŕŇ �‚¸ĄKßrĽ^ÄŁĽ3%ľ´ÄѣǸÜÜ·ś@Ľ“ í˝žéŔçÎ >s%*văŤ7óëcÇŽáéÜsĎaW¤öçsŃ­ ËčçĎWSS0ů﮳±!2č®%µĘĚQ Ô6ľ¤¶‘ç•2‚ ÄŇŢxOßË››©;n¬ć©ĺ ő*ŕşY6vő›t&•őík»źôT÷Ęř{{CC#;PNťzj«e—,y3ćďqăĆQ[€HzëÖcÖ÷ŮĎŢŘjąĺËW´* ćdôčĘżˇcŻ­ĄŽsťlĆŮ]3KÜ&‚е J|y,‘—˘ŇÂËŐŐ#ĘląĚÄ~2ţ8?F\ůŻxâE?Ú颟նRRRÂb$ě/—cA’;ĺń˛đ'l4D €GLpýA;îŤpWG{Ęr5Y‚ ‹|ět䵝‡¬CŚűÄ9é}7˙tEĹ?áĂjۡ ob ,„k@Ô%ĄŃs ýĹ/~3NňS¦L¶˙εř nDÎŘÖYú4éĘ݉Äu‚ ‚Đ}č]˛sAČŽ;F˘uŰвÁ3©¦ÁEˇ¦&ňb„‹JČźýM¨Ű@Ç âÎú ćsŃŹWł;“Î#Ao´ŃâSoË9z „§ź>“FŤAĘýT±ôod|°ŠŠpBăáf:0h=w¤”… ŕDĽ­´·Ă­;‚DîĽóΉ™÷řăOҶmŰcćĹ»É á»ăŽ;[­óĐč‘ě˝·ßţşúęŹÓg, Ź~ôJş˙ţc–Ĺu?묭֫ˏŐÔÔĆĚ2dH«eQR źůÎââ‹/´źŁŃŕďż/ćs†ă팆”űŇŕ3 ń•fáÂmMN<¸6‡ÝöˇC‡čĎľ;ĺz:z=Óߢř}…cFÓ9yíµ×Ů Ą'ž{îúýď˙Řj™¶2˘ÜKĂËÓ_G46üôąjúń3Őt 6L™’éúA4F ·'¸7 Ý# ęMoҞťc‡ńýW»7µZ¶Ĩ‰îíżýíď[ą ľřâË­JŇžţą1Çç&ńe šv‚ź˙üç‘y Ř"3fLg‘Jô=utĎ=÷µZŰżöÚO˛#Îwľó߼ ®g®î|e;ÎîĘYâ6A„ă„&ř-g7ťü|ů ßçI=‡łÚôt9*íÓß^I 2…>ÔJđò GLd?OQâ űWáOI •••ń„Réř­ŇMz9ĽMÁŸżj;…#&8¤`˝Řbą–ćfĂ ÷?ß Ü~(ć\DĚÉŽ űXđ ‡ŐzŁ‚#v‚ŕČ]őd0ŘđŃG§ŹüúVîźűÜM1±N®ĹoçťÇb0ߪU«[-·k×nZ´č<şţúéG?ú =ôĐĂ|m»šlĆěmEâ:AAčČÝT:@{’7~>Bďě:B[FźAőUŞ#(˘‚ňŠěŢF¶-¦˛ţE4jÔHýčÎx§Ř'›ű”n$NŞ×ô(f”Ă´}űvZż~•Ôm¤í/o¦Âł®Ą–Z/5m¤CĄč٦:;´Ť“#,ʆ†¶îkoqţąĺ–ϱ“ŚnüGăÂí·ßˇşč茜€ă•W^µç!ůÜ˝{7Íź?ŹĎÄprrîągÓСŃNŻ×3ňîBh¤€p )»ví˘»ďţ[Ě:ŠŠ ąĽ�wpůűßďĺŃÄřüb˙_{m ýć7żŁÎä ĎçýÖ"8Ú8AI„Î`öěÓŮ.·şş¦ŐkmMŞ1 *ľüĘ1`46FhŁéŤ7ޤt_ńŽ^Ďt aëSźú$—9Ó Óîşë®§K/˝„ŐPVě‰'žŠyßi§Mĺ2…Ą¬ 3Í2jŚ·yÝ…˘‡!{ô&ŃrOĄĺŘ~:đÖČżđÓĂk~|<š*Fíńk˘{űűďoT8źâ˛OčL÷™gž‹yâ=” u‚ÎEg\ôČ#Źń<ڍ†¸ý /ŕ2¶N1¶ ‡Ä;555\Ţ*U™/˝Ď(±Áł1±OGĐI´Ž‹ ˘㍥ô±Ź]FąBşó•í8»«cf‰ŰAş–xg'ÚŃĆm ~ěyÎeR8ţč'fuĆ1 ÇĽ4 µXÂ$”őB›§ńŕţ§ť~2čí@@äď8]€´Č© żŽjëęÔ<Sr` ň9¶çXqŚ‘Óá(N¤¶ď¶}Bˇ oC Š śrQÔáËu÷üŕ¶ŰľÎ?A dç@8M'ŕyÎ9‹xr’kńâ­9sN·Ý»qÝn˝ő6Őľu5Mź>Ť÷1ń?ţń/Ž×0ˇ˝ 1ë•W^N]M6cöö qť ‚ ä>"ü„vŇždíČ‘#ězłtOí5‹ę¶p˝çÂů\úť@UT< ťzę),üqn'Ű‚źLו‰H/_YYI âQ®í;čŔó˘đěOR¤¸5 tT%ôĎyĆÓŮG7ňňí˙ôĐČŹ$ňź˙Ľßž÷ć›ËxDŻł¤ŇwľóM]ŔRWóÖ[ËyJ?ßúÖ˙‹™wýőź`G–ýűđßHt1úS2>˙ů›ąq@HôěłĎŰŻa=ź˙ü­1Ë#9Ŷ÷îÝGť>wÓ§źÖJä&MšŘĘN8[ QęśsÎfÁ•Ś*ĐĄ- ¦=2ţőŻb棑Ăéöô©O}‚E5ń#©4˝ž™€ĎćŰo/ʱF㌳ńĆ „Eř¬fICü´rG u“·ŻŢą B:DÔ}i:¸ŤjwżGyc§˛8"Ýž(FÇ˝âgŮí*žOćĽÎ˛˙ř9~q‚¸Ë—~đÁúŢ÷~ŔN3ß˙ţwątń§?ýɲ)V_“˘žŃ™”ŚO|â:Z±bĄŠIVŘóžţEž’ńÍo~ť;s…tç+ŰqvWÇĚ· ‚ Ĺ)cXŹŽ!}QQ‹‘Ŕ!ÜÂ:„/Î÷Ä ~ŇÇĽnµo^Ëńq&]â«•'Ĺńé}Ś/Ą…6ő¨öF´Ů°Čăf'8ó@| ńlPM!”ăňzc9:Ž7FôĂB¨HŚJ‹z �XoŔrúÁ~h“?ĎßcbÇdíŤNÎ<sýŕßKřZ®Ĺo·0M‹ÎqýRµˇA öíoŽŮŠŮŰÄu‚ ‚űđGÚA{ť~ úy{[í=›ŞZČíőQa_7ą_|€F…iřđˇl{Š$"ÁOWt"e˛Nö.(°Ô…HĄlÍ´gÔ"rA-Çę©ÖUL/FN  j¶pr^QQŃ&;ůŢäúsĂ ×ÓO<É5É5°pýÇ?ţnźŚć¸çžżĐwżű}•8ż“r}3gNçd/^ŕVwÝu'}íkß Í›?Hą4Ć|á źŁ«ŻľŇž7gÎlţűÁJúľ/ů‹\ň©ł„?ŕâ‹/J؉ŃYn?”űŠţś{î9íŞăŽs»uëÖ„Ç0˛ "Ś„OFGŻg¦üüç?áĎcŞë† J?űŮ˙±CU65:ŹžXŰ@Ç3,ž!} Ý4S­[ččQśxÔ“áŮ“Ń áfă˛9i›~ˇëÉ´Ě—~ş?u;ߥc§˛č 1*î×ńĆ— Ť"ĉÜ?ýéëyT¶ÓÁĽűîűůg?{#—¨M¶ťľ}űĐŹ~ô?ߦçű׿ţýň—żá©@g:ŤśeZstç«3â쮌™%nş_J|Ů+±Ęv™ĎŤÉĐŻŰËFe?‰ĹBÖ[ăŢĆĺľ, Oę3×!źßOy*®‚óŹ7‘óNŞÝN1`Q»ë8'ţŚ«Ç†ĆFHw( ľëňB!»M’×ü1§Jý‹±ŰWo¨ČĂâ"»ü@P¤Kśűč΋îKOÍJKK¸Ľ×ĺ—4i›X®Ĺo(w・o}ë{ě–“Š!CsĽÜY 3%1{{¸NÚŽÄ—_ BW#ÂAčjkkYôłv×QÚ>n65j!—×OůĹęKřÜÝ4Ľ¬€&NśŔµzuŘ•?™É>9“×±cÇp ¤ĄK—Qţţ%´ą~ĺO8•šŹ6P]q˝K4좪Ş*yÚ‘Do˙@ÔÎ�§‹Ę¦M›ŮÍĹ™ô"IýĂn§•+ߡ§žz†—9xЬ} ç $x°|…SP˛ó6xp Š/~MMݞu-e–••Ň#hÖ¬Ľžţýű·z˙׾vżŽ¤ď­©©e——“NšD×^{5Íś9~đRg˛`Á|*Vź­úú{0Rş3Á1BÔÇM{kgc$Îď˙[züń'YÜňy¨=[^\sśK,§˘Ł×3Đ8†ë~Ůea"ýPsçŤ=řÜ-Xp&]tŃ|\ŮÂçqŃMóJéW/VS(K9’Wýü`ťX·» n} µNďŤčăv6"ÜC‘@㻆ß=!»´'ć±OϢńČ>ľ¦ÎňTm‰G»KěŠ{űý×—ąt'b‘U«V«ň 566±›!ÜzÎ?˙<.5›ěާŇQ’jÍšµtäČQţ]BÇMČę\Ăo¶Ńŕ´ D–ŕB—Ď~öD ŘŚşFâ`ě3ň 珌9’c¸*öéÓ‡rŤLÎW¶ă쮌™%nr‰/%ľěM8ýz ‡KÄ,¦8Ę[iaŹţ۱’čzěňZ#ţ±Ő?±CŃŇWúó…GnĚb¬„mxN>şô¦–`@=Fř>ËÎ<áH´MŇ-ćeŽCÍ_ÎĚĺrGť…Ü(=f¨ß•fű;Ţk?Úâj”ë௠8€ă ]´haR‘Ľ“\‹ßwŢ}÷ťělŤ2Yp`DűV0â¶í N yóćrÉÔ\p®ĎFĚŢ$®„ĚřRâKA8ždzGueřš+GW’żőäv<ęÉcÍóÄMx­Ź@p 9‹3!Š·ŽŐ*W$\MMŤś ˇ“;WikGFĂ’}ËîýôöĐ9T$HnŹ— Š *|é/TQVČN,H’ôú;ËĺďĹhRÜ`;rcÍ$AŐÇí-Yň†JŞčÂńäž4š×Q^ßplť70ŔB$YmM|{‹óŹ9—\ňŃr Ëüď˙~ź„žÇt×’ÚŹ4ÂČ"42Ś$es$ÉHăť„Ôä[#g»[9ÍÝ»÷¨ Č…vC=:\ÎÂqeFťwV|™©“O|Ľ đůEGţľÍ«éčňÔiš˘ňÁ4üÔ3©|䉔_RNźŘžg“@c-5=D·¬¦˝ë—PXuţ¤ĹW@'_űţ|­R“°ŚF’řTâV!—čęYâ6!—ř˛}H|ٶř2Qü,vLCęŇÝ;¶}HŮÂy|^uá\ZÖÇj„ą VĐ>N#­đÇěŘÓçăČ‘#\rhÇŽí\ŞłşúyÜ*(,ŕmůŐ6]V{$Ę6 čߟ㪲˛2Óő§.�©€Ěýk¦ú†zŞ©Uq _»ĺů±ĄĽ~->˘dmŘ­?Öé`QXmŁąą…ęë먾®žË•j~^^>•Şc…¸ŹpIGg§ţ ¦cÔč1üÁ]ńǦźÇݧ-ń© ´‰ëˇ5_¶ŹŢ_ąwü~ßlő€›[­őŽ› ë1â ÇcüDIţNő˙<ž´qü„6ĐVŃ nř±p´ş–Ţ8“ŹEx”G^±‹ň_ř3Uô-¦yóćđH-”IvččČqĽÁöÉ®1ÝNŐ|cH"´űnŢ‹ťEŻżľ„hď´q‡ň'ťFÍGëéČŔQ´d÷ZšŻ–ĹÍÎ5‚Đ^0G7Ži:»Ě—pü@ĂŔO>ZNookˇ÷÷¨¶9B;ލö`ęßĘ|ź‹*ű{©$ßÍ5Äa',#‹rŚŚp÷,ˇí ˇî­…™ÍQ~BŰhKüćR#',¸’*g]Ŕ#‡…ÎÁ—_ÄâŞc§Đ¸ą—ŃÚÇ˙HGvĽ—ň=©Ä_Ň€#t7ŽGĚ,q› H|Ů1$ľěŘ= vE«XOBqKŚ&ş&í‚ă,ó]&ńď;ŹúµpâKq‘.µ•é±Xb,xô>b]şÔ—ŽŃđ7>Żůá|ţ‡CÜ>Š÷…#¦ăŹáM,ÔŠý$>&óXĽ^ÓĹČç3;� …B¦JďŹóx{ŠóŹĐű¸N˘H|Ů1$ľ„ě#ÂAȶ o°<F»`ÄÇ+‘ÔčńR$ÔDĹ ČűěÝ4¬_)Íź 6¬S\~śďA2{řđaž·nÝ:ţűä“Of5­łĚO[Îtű­Ĺ?HfçĎźGoĽń&ŃeG_ňMM‡iϨShÍÖ%4ÍJÄ‹‹‹)[Űz>(1U__Ďź±Ç{"ćs­ÓN›JBĎ sÇĺóv Ńď×ĐцģŽĘ‹ÜôĄ…e4Ľ\Âź\Ł11:‰łĐqĐđ€ ÷WŚ.Ĺ(ˇsH4R»m¸čä‹>KĂ&Ď%ˇëČ+îC3®ű&­ţĎočŕ«“.}ŰJÜ*Or!f–¸M8^H|™]$ľě)$řD§CČă(3Y— ُuĹXnUę‹˙çj5*ŢE a¦č>AôŁË©ŕ9îqř\ęňaNGrŕęvP.żšeĘ¡LbµÄ‚(ŹŠË—¨ď¶Ťíµ4ŁC¸…ĎĄ‡IćëZđŁ÷Q·ť BwBâ:ˇ·#ńev‘řR˛‡|{!Ú“€AôÚÄ/íŽPĂĐľ<ROEЉ?DĂűĐěŮ3ł.úI´¬ýÔÖÖŃĆŤé˛Ë.ĺů˙ţ÷C4eĘN8µÓN*kÜTŰĚTü3gÎlzőŐ×(¸w í0Bţ"j<˘ÍŁçŇ +ř†îłń¶łt˘ôNpí˙ô§»¨Şęp«×đ™@˝kˇw1B5 üčŇrZĽ©‰Vílˇý5an<¬(óĐi#óhá„ĘóĘďE®ŇĐĐŔŁd„ě†L=›}ˇëIĎ ť|†~ŽpWš|ńÍôúżJ¦zj+ń±¨Ä¦B®‘«1łÄmBW ńeç!ńe7D;ęÄąý$wü!kľ^a?hP¬»Ź)ú±×·Ţ]±w©u™ŞLŰAÍ^MvÇ+Ú18á0yĽ¦řGu*ZZ(l ~"Süg §Ř©•ŰŹc˛ŽÔ^–NV™l‡Ë~¸],H 7…mG lߣ^ó8@"ţz× ˝ ‰/;‰/ˇăđG:ڦ„ĐfÍö*:<f65¨§ü>Ĺް’ĆĺhĆŚÓ¨˛˛2eÇ@G?�‰+¬Ü!@Ú˛e ‹~víÚʼnđUW]I˙ţ÷żiĘ”SxŮř2[™”óĘtYťŔ"ń=ăŚ9,ţ©^~?Ńy7Qá05Ő{iyÁITŃ´‡Ş««iŕŔmę0‘–ŢÉĆŤ›v` ńäë_˙/š6í4zhH8˙¤Bž„îlqßÄŁĐąhűaÄ2z¦cd»a~Ěl)My<ńÓđSЇ˞JşŚyÍ]ös‰=…îB.ÇĚ· ť…Ä—]‡Ä—ťKZ˝\&ó #ÁQŽSŘb8ś~âĂ^§q"™č2†a$tđ‰ß·VŽ@™¸î¨öNv[PźżšÚZţBĐŁËzéXÍŮ^©_ÓSP˝ßEQaÚPuą]Zď»áśěc‹ž?¬K Śô„™ř~456’×ÚľĺŔđşŁ$™žˇ;#qťĐÓ‘ř˛ëřRÚŹ›AHI[;vp㯩©ˇc5µ´eäLj8"O~1yęjitíFš8qŤ7.+˘źDŁf4HX<Ȣź;vĐ%—\L{öěˇ#F°böčŃŁtŐUWŃúőëŐóctěر6o#ѲÉĐ 7¶=kÖL1¨ą_ľźŠűçQ°±žň‹čŤ˝AŢ_ÚŠŚŚé}ŕ3<zt%ňh®ĐůçźK÷Ý÷7şâŠŹ‘ ąę8ă7_’ć®ççç^č\2ŤM Ęú«xh( Ç—ţc¦ ôD$fz_v=_v­]xO‘¸ÉhăD çG…<1ó)Ö1_·%1&h„¨%®Üń“ąXDZČ“ńţŞe#–đź9tÂÖ©©ˇ±‘K…ăĘwĹ‹p/ôY"ˇDĺľô±“ý¨'#VeŻ;:źŹŮrýÁ#¶‰u7«ý‚H .p(Â~ëe|ěIŽ_AČ $ľěz$ľ„ö!R9AHA{’,ÜŚšššéŤ– jt«$2ÜB}=Túâ4t\%Mš41ĺHŽL¶™n$ŽÚégçÎŞa÷|ý ´€ř‰'Ę‘]yĺôź˙<L'ťtďSź>}Rn3“‘7éśŕ.tÚi§RÓ›ËhóÚeT0q65m¤=#O˘-{–q©/ěc~~> B2ŕ…I„î <1 Ç4#@ílář&7 !dř&RdŁŘDoZúŇV:úSőˇŁ —qĆŕÎ7>ţM BW#1łĐ›řňř"ńeöAű^*ҵ :Ł-&á6É›"4Nń©yćdńqOÜÖ Ë'N„ ˛řĹëeq śmś.;Ř6„7¶(F˝%·¸ěeD2Au^ŕ�ń Ä>\ęK­3¤ćŁŁbŐ84řl-ÎÁ#– 9„?.WÔáŃ>Đ8QSěÎDĎ-9ŽÂ}śZ\„ýlRť—p1hRmžěţó€·YÎ?‚ Bî!ńĺńEâKAh"ü„$´GôSWWG Ť´~gŐŚK T< č•ŃŠţ4}úi,fI´îL·—n9$¸ýÔ×7ĐÎť;Yôł{÷n[ôŁ×™xÄĐ+®¸ś~řš4iżžLüŁß›‰ř$ZN‹FŽÉÎH‘uďŇÖęÉ[Đ—šŹmě{*ŤmŢCµµµ,�’’_‚ =©‡ť áBÇBvČ$žk˘BZâ:‹ÖĐtj¦|˘#jćŁGIČ\7ňĂ�:HsŤĹ4Y]%Aˇ{ ńen ńevÉä3ť,úŚ—ŻŘ®4(9EE]fČj«Ké8cPL¬¨ŰPt=póčE·}Bü‚}…jÂs-üÁІŮŇÜLaőÁL&`˝A«Ě\~đ7�ĽŹp×ń«ÇSřc„>x/:!:Â2j§Ž?¦‘‹ô9‹©€-óĺ°rţłťŽĺľ´ŔĹHjŰ,i~M„?‚ ą‰Ä—ąÄ—‚9"ü„´UôŁ“>eňaż©Ôx,ByĄEÔ˛~%M(4čÔS§° &ŃŕL·‘îu$‹(ďńŃž=»éüóĎłE?Îmjń jdB1 Îĺ—ŚyäQš8q"/SVV–Ö•¨˝ ˝ýńăÇÓáĂG©jőT{öç©ńhŐ–ĐꝇiÖ8? ©JJJDü#‚Ф9·Đ×B’çÄdŰb˙ UĐýtŐPr—*DŹş®ˇh"]f<@Y ‚ ä6_ć_fŹšÚÚŚ–‹ŹX]I^w[„¸ůů![đÂËÄ”Ó2bD>Εčů¦ËO¬HČíö°“ FĺCôÂŽŢůů”_PŔ]n ďPűŕÎTř‚öD8ţT«Ú Ńž‰h‹őę·�ŰעŁxŢ ±O@˝ë…Cä‚đâ%Űď%:ô¦G‰vĐ,)¦ÎÇ˙ŕ!îÁţĂÝű‹ď ÚqáŠ$ÂA„ÜCâËÜBâKAČ ţBŃ $D*ŤŤM´bç1Ş1Ž"‡›ÉSšOĺűߡ‰§Ď !C†´* ĐÖm¤z ÉâxŘOçśsíÚµ‹†j m’‰$ŁDŮe—]JŹ?ţ„zőD^â˝l˛mg’&�á9FýLž|'ę+ßy… §žEŤŐ!Ú>č4:Ąe+y±ńďÍd{’0 ‚ äř]—¤9÷Ŕ5Á}SlsŰGf1ťA TL˙t}†ę¨”„îÁšByÔLŇÓöĽŽÄ™Ł ‚ d‰/s‰/łC6J‹8#UŹŰÍ"b¸ĽV2áŹ]ţ«uyŻčź†í’Ł'f\.wL9--jqĆ@K€çŰń†Ň ŰS-áO“őÝÇç SłUJ ®F>5Ďy|Îm‡ĺ˝b6ANÝŹË>F2Z»űŘŃó ëť™ĺľ<¶đű±öÇŚsŁŻ^÷XÎ@zA„ă‹Ä—ą‰Ä—‚ţBíä YÓÉĺ®A§RSuňűäSóŠĹtú¸Ń4räp»–u¶?� ëţýűYôsřp-\¸ 6Ňő¤S•Ý*--eá@_|1=óĚ3vRŽ×R9üdęţ“hYü qŃÉ'źD;_x™Ş=g‘ˇó&>˝˝ŁšćŹ÷ó>aé(AčŢŕ>)5±s\46Ă–_Č>^ĄsDôÓ YíšASڵ49Ákź ‚ _$ľĚm$ľě8hoě(v™/´óYëŚDL1KŚČÇ)ü1U>­\bÜsH‹~˘ď3=!v´A Ż.«Ą&ířĎ—úRË{,QďoăOÄh]ŠĚt*ŠŘŰ‹8K}%8¸J.޵w:Ę{ĄŢ+rʤĚŐş¸=V‹ź¸<Y0ČKń9Rç%—G~5ĺY—‹H ‚ ]ŹÄ—ąŤÄ—‚ţ‚öŠrŕöÓÜÜB+ö5RÓP•Ľ6´°˝íŕšh̬ł¸\U¶?ńŻkŃO}}=v”ćĎźĎN?ś4¦ëĐâ”!;zô¨:ŽF:˙‚óé…çź·_Çţ;·›L�”iręÜ$űĺĺ}é¤ĆŃ«+_¦‚ÓQSuö›Juő›Ő <Ź·ŻĺdŰďČţ‚ ť 6QZRČmpŤô¨T!»ÂDë]§’ĐýP%­1¦Ńd öN¶śÄž‚ ]ŠÄ—݉/;FžßOŮŔ.ő'ŐAŠ­u1,˙šdŽ?1¦?áŹvąqĽĘ˘ËŐsp˛ «ď*Ú.ń@¬¤Ű*ýÖ~` ¤ÇrŇű“Ç BĽŰÉĎËăŽ?Ť°>¬+Ďš¸ÔWWŔ®?–óŹÇÚ/űPµÁOŚä'Öé‡ČétdDßăh·tşiá~·°ßúśD,ńö—K YË ‚ lj/»_ Brä[!íŔ™4j·Ô‘Ţ?d ‹V úäQËOŇÄńc¨oß>śl¶G“î5$¶¤ÚÚ:Ş­«Ąůóćѡű©°¨Č®iťÉv± ŽŁĽĽś¶mßNŁ+GŇąçžK/ľř’ýş.ąĄ÷ŁŁî?Î÷@Ř3jÔH˛őUŞ -Pó"ÔâÉŁŐűšiAi…UşěXŞí'Z·tŔ‚ $iî>ŕZA ,d4čĂB Puw Ý-ÔĎ[Mĺž:Ęw«ÎO ŕŃ °á¦ćŹ#*VŹ ‘|:,ŁŁáR ęÎě§!üŘV!żÄˇ‚ ť‡Ä—݉/ŰŹ—MÜŞ“Ěç÷™ŸűÄ”˛2Ň ˘Ź¦X±oPušj·v!·\‹|'t-úh§XµazĄ®’Ĺ[.g©/”SĂy=` Ť ¨¨°Ű/KÔ„í9Ëyąű¶\wZ,»Ľ—匤źÚę†uřqžç·UîLO d‰}ti3sžuNĐn\ŕpţAŽ_v$ľ„ÄH$)™6äÇ/‡L0˘wöÔRÓHŚ 5hxč Ť˝€Keµg˝É^ÓťýŔ饰ZZ4oî\•І鶇6Đ /ýúÓ T"«ľäöłV üťÇ7ŃŔŇô»ĐµÎĄoĽÁ۬¨ VâĐQíן‰'ŚŁW–?E…s/ĺri{LVIü6•řšÉşsÔ‹t¦‚ t¸‘SčŕZáš©xˇăč¨1’ťŃÚ]M‘§™Fů÷ÓčüÔĎ[C>Rť#?;2ú}nňą=äň¸Éăör'H$ H¸™ˇęHA™‡f5S}¦Śb:čK6¦˝¦î5’Y}#HAČ$ľě^H|Ů~˛yδ“D'žxˇŤ+ăŹA­K}™oĐ+Ś–¸Ňď‹™âźŐnéµĘ]AŘâ¶\}tů2´±§  €…@n„Ň´Ír©2µŚ.!VPXHMMÜ>Ö…‰DŞuĆ—Óď‡říŞů„ Ô·IiPÔíÇ–B9×ĺpű±µAö[\fY5ËőGźg]â ‡Ôľéc�«üŽAź+Aˇk‘ř˛{!ńĄ $F„?‚Đ% U‚Dí@ßIÔRgP~©źKž¤‰ĆQź>eśŕ¦¨$Kjµ“P˘ZÔxíđáĂTSS‹9túéłxŢwî‹î}?•”{čëĄÁĘ9ˇu§Č„#°–uŃú÷ŇżWW‘Ń⢑ĺoÓ]6‹fž~:­\ľśŹÇŞkg:Ĺ=<ZVşyy Ź-F1UVŽ˘a[^ˇý-!vý ůiݶC4[ÝĽ1Š'ţ&ž‰řGB‚ Ç$ařýş¸f2Ú4;čFű uáOž;HcóöĐ {¨ÜSMľĽ"*/- ĽüAüąhkGD(¤fCoj q5kąŁeW ‚67 §Ý¶ř<§qųė‚ lj/»'_¶Źřv¶Ž ŰŃRÇ"´çQ¬sOŰ„?ÄS±KlĹ·i"zŇ‚| Îá˛\jĘ4ĆäR_ę˝púÁ{щř‚źµ>ś7śăŹóýÚ•3d•Ű2%»´ýŹy\Ńcu¬ • ąA­ůe§Ë˙ĺÄ ű:D¬Rcúąé·Î…Äš‚ ]‡Ä—݉/ˇ5ňmĘĚí'™čn?›wÁ#)|¸…\ž<Şí§QŁNŽqČiëö�Ŕře1ďرctčPĐÔ©S9AüŮcďĐOźřňúS]u#ýâéwéןžO<âNëúc&“˙óŘz2‚ň•ĺŃWÜLe~şńĽ©tęiÓhÍŞwhôčŃ\şĚď¨1žČŤ(Őń&z]'·ĹĹE4qÂxÚµn ĺO]H- D»|CétőţDÂźTŰAŽ?°wş'¸v™ş ­Ń±ŹÝáͧ\§ŔÝBS ?¤IŰÉź—OĺeĹTR2šEěÁëőQ1¦˘bĐż?57·Py]ŤŞYEőˇ<z§~<mm˘şGrwdła $ćA8ţH|Ů}‘ř˛ít4s˘ŰĎ"ÖŁýh1O¬čGËX S¤m.ÄëqQ9átľ‰sĆ1Śxى-ţÁd9é)ÓöY˙č÷9Jjáoç:ő`Ĺř÷ű˝|NílôŘJNsź·ĹŻ®?ا’_j[jc‘°)úAGs0d‡$-FŠw A:‰/»/_ B,"üz=íý�QđÚŽzŞŻ0ŹZÖ­¤)O`QFšŘ5¨3űŔj¶şşšvíÚĹĎ‘"ÄHc·e‹dpÄ4şr‹~ţüÂ:úöż7’»´Đ\¶(ŹţôĆ.úŇy‡iÔŕţ)]´Űϲ÷vĐck‘«°ĐL6ŐţćŢ TZč§+ćťDĆÔi´~ÝÚľcA ©‘”Fěăś={6+lSŮëĄá}#F §ľë_ FßBj©Pcżát¬złę(*çýJÔč‘Nü#â A„®÷0¶Oş%úú9ĹľBűńxŽ_Úĺˇ0 Í;Ležzr'‰GK˝Ť4>Ň Cm‡ÇxjëęhۇŰh÷ž=´g÷ţń0JßBÄ] Ţáű€hŘđa4|Ř0vttŽľB™0Lô§Úš*9Ľf…7Ňű #(d$îÜ ¨´őP°/ •Ńń *ü!Aá8"ńe÷Fâ˶“i[b¦ëŠőh÷§ăʵl„ ËÔ&:ĎĺXÎ|…lg[cQ3ÇĽD.9FÜ6Ť¸őÇăl_5ëŹ_'%Y_«öY—9ĎéÄÓj]ÚČ â_öŚÖG„­9ĹM,äáMY˘ź )ú ´´°ă»9¸4h—úĘćµA’#ńe÷FâKAE„?‚†T‰–.óu¸dUGF)Qx÷j2ůĚV%±2Ý’»P(L……E4aÂęÓ§OĘĺď_ň>ÝrĎzršvşjs>Ź‹šjţřŇűôóOÎă‘+î4ż{a!/yó Á%ČĄ’˙Ľ|şň®Őô|ˇźÎť6ž†>7éűzč?<‚f$´‰áśŇÔÇŃ«{ö’»tE \ôáŽcTŢ·źo¬[AČ}Ä"·űk(‰svđůŽOÚubÁNšUü>y=fśĺń$9 xßŇá”—[N#’×®]KËŢz›Ö¬YK۶mks'¶{ňÉ'ŃÔ©§ŇüůóhČŕÁ<‘bYYŹĚŞ««ŁţŤŽ GpFT§ČŞ—Đâę©tT=v-˘řAČ$ľěţH|Ů6:Cř“¨´—ţ;Öů‡çZo¦Ř˛_¶ř†bŢC<đÎáZçČŁKX9Ű îG˘ý'ǶPË-EâÜŠŚóśëŤÎsŮűâ"#őyÓ®?dărDNŰ#ëDßëvąÉÉ퉖W‹č}4K|ˇÜ €ŕü٦dA„ÎAâËîŹÄ—‚E„?BŻ&]ťęu¨HĂá¨:Bţ“)\ HĐKŁ”đHgŚĐ@t­ćd‰›s;HŃ9„ŐëŻ/ˇŹ|äÚĽc/ýü©uä÷ů9Ĺ?źÇK-jű]~¨ f±¦5­µ=ň{iÉćĂř‹“ěÄŰ5;zZš›hĹÎj˘<Ż=Ň'ÂŻvçŃĺ^E7¬ŮMaÔź¶’Řzô»"ôß—O§AúŰv8nç1Ą�é:ÖNűZ<:t…Ţ^Oy3‡R¨…h·QLÓÉĽ'ţëŹ Bî´-…ŽúŢ.t/N/~ŹN*ÚECLéĆĐ“O>M/˝ü UUUĹĽ÷žĘĘJ:á„hČ!Ľî‚‚óOCC „6mÚD‡âĚ+WľĂÓ]wý…N:iťwŢątÎŮ‹l×HŇY3Cŕ^uä(]ćyž:v:;�ĺc ‚ t _ö $ľl‘, ©8E1ÎżÉ0Ű.cÄ3ĂánCä,őe-uęq”ÁâmY˘ŻşĆ~5ůTű¦žđbIí€cXÇČí ĘrĹ`íwD‹~ĐF‰ç*ĺ)±ŹĎąLĚ CŠu>âr\ÉŢŃó4Κ^ZđÓę˝,+Š)ŰĄĹ?hou9DPdĘ~éI—)A:‰/{_ BţBR%›x Â<î>ROTę!Ź×MÁýűhâř±<šZ×iv1ŹVž¦˛®Ő‰đŽ»x^cKţöÚ~őŤÍ·rka˘B•8» [ôřąĎCďl¤ýUŐ4x@yÂN =oÓŢŁ´óh@˝§€GśhÂp RżőA7ÝţŇ>Çvń˘J^ BôĂkýö®€xqS˛Ň^8?pđqޏÁ1ëÎź˘ĆCd¨U7×ŐQKů=©:W¤ăE!7Ŕď»Đ3Ŕµ”Äąű1"ď M*ÜA•#G´éúíÚµ›îż˙zů•ĹwtJĚť;—-ZD , éÓ§g<’ęđáĂôúëŻÓ«ŻľJĎ<óŚŠmwĐ»ďnŕéﻇ®Ľę şäâ‹’–sârąi`˙ţ,~?7˛’î?|…IFC ‚ ô$ľě9H|™9ŮřÜëV2[ÔŁžĂ‰Ç S2 ¨ŕĹp®Ŕ^§a•ş2b–×+Bž§!G¬§…?é¶CÝvŞĐő~¤;Ž Ő¦¨'¸ĺřŕšc•űĐm¶†9ßO¦ĐűVëŃâ —µL«¶Sç?k0¤a99]~śËŮűěţ¸=¦ř‚ ŻĎËÂ(źă\@Ľ°Žď G"$‚ t._ö$ľţBŃ (S$bGš1˛D}™ň\Řóő™5’“4ÜdŞkkąlWłú;//Źú••r˛‹¤7Őú!€A’ šµEű—PßţůTô“×m8sm•ĆţÍë p\TW¦ŐŰ«čÂĺ<ŇĹ—Ľbž[%śË·"ŁYm7O%ÝaŠ[ĆőxJ˘ĄP6, ú‚Ć•ű©Ľ´ŞT§NEĹ`;ˇMwîtb^W_Oµ ŤT ÎŤ‹KL”râ *Jü´Ď@â«ň˨ˇq•ŮAí˙0Hˇk€Ă‡Đ3Ŕµ„“ˇĐ˝QĽ‰čg7z|ők˙ʶmŰNűë]Ô·ok§87ŢsĎ}ôČŁŹŮ±\}nşé&şîşëhřđáÔú÷ďOűŘÇxúýďOoĽńÝ{ď˝t˙ý÷Óá#GčŹü=üđ#ôĹ/~ćÍ=#á:^}íuúńŹB_řÂçé˛K?˘öż©®Łńů»icó(Az_ö$ľĚ8)f -úa§qźíTîů8ÝpŚ.?Ž?ČH üa§Ő¦‰6P´żá± °ŰA}j>˝(˙ĄžcŰhÔ3mŻcáŹj“…Ó$OęˇÖ­ŢŹí®6ářŚ8ÇrěoŘrى„-aĺ@D±Géü#FŕżśłĚ—~]îÔŽ?ětäqs›ož?ŹĎöŻcę|4©ç(˙ĺIŃľ*‚ d‰/{_ ‚‰„^K:Gźtóu§HuX%Ę!•ÜŞ~oăQ•töăÄüé:ŽEF‹A$ŐeDăUgÇIŇ A©¤¤$éş‘đ]ň oI!ĺ{]d4©¤ÔKddŕôërA5㦥˘ gś Ţc&ĐaË%ľ´MϲŞ0Ü'éŠ17ä°ňŕmÁű}ČŚytř€T˘jŽěIUć ĺşP>bסĂôÎÄÔ\¤’^u.Ý~7=BsŽíĹĐЧö¶„M+ßŐÖ7RqQźw¶Ź BN’ËŁeиĽlŮ[ôć›Ëhó横ę07ö–”ÓСCiňä“čśsΦaÆ’×ŤŇB÷ ϤľîZ*-mĎ;rä(wŚ$ú~®X±’~ţ‹_±;0a}ë[ߢkŻ˝ÖŽIłâ¶yóćńôŁý~ő«_ŃťwŢI‡UŃ˙÷hÖĚ™ôŤo|­•0©şşšż§ÇŽłçőëSDŁŠđGˇ— ńeĎCâËĚŔ€ąçÄŤřmjyůů¦0&b¶Żµrü1âĘ|ąâWg+ě÷hÇ->ç_ę9—÷˛âJ0¨–Ĺ÷ťtÜÎ_ÚĘ*Ăĺ|®_Ĺ Ć%üi°ĘĚB„őBřâ#K€_ÖKŻO»ţDřŘM÷rŹáµŽ*±P(ęúC­ŽŰvM"ŁU›˛˙hKˇh 0ď'v bą5©óýňBČ$ÂA„NEâËž‡Ä—‚ ÂAhE&˘ ­b[|%¦ăOľJ^›ë¨©©™–CµĺÔr¬ŢLâÔ{›ę"´iĆ<ň¬xťo>H* nĎoŮߎ1śE5x,ËóĐţZÄ t?f"ęóŇŇ­Gń;�a ~ČL”˝ęy$ ĺ;jÔF˝™×GÂŞ’ăň"3‘ßł{Mśx"?w&¦ń ŚŔA§Í®CGhůI3U’PçÎÝQSSq9-),ĄS6ľE-ÍMjź<d4„ÉĄŹVŐŃA¸A@7 $˙ëŹ ÂńżőąČ;ﬢß˙ţŹ´wďľVŻ;VÍÓ† ďŃ<Dgťµ€>˙ů›¨¬¬Ś: ÜĎÎ=÷˘y?ůÉiúôi”k,çBˇ{Pčnfa¶łüęťü˝ęi˘~ýĘíyř ţă˙˘űţńîô(**˘Ż}íkôío;ăR^íeđŕÁôË_ţ’n»í6ýCíĂŰË—Ó 7|–ľýťoŇôiŃď\~f¨ďĹ!Cěy>źźJĽYčAş_f†Ä—=Y:ŚSřă6ÝfÜ^/^śŽ?¶@ĆH]ęË)üÁs˝Ă:’ŰełĚ,‘MÄ^ÚĺtI+tdşR8{;ÁX„>87\ŘŇÜ̢´BHÔ¨ćq)ł$Âźă%´c˘4™Ë÷Äž»¸çFëŮŃÓW6M‹Ąú%}®pîáęĂŹjßyyś#ő7ŽÍką� ‚ ť‡Ä—™!ńĄ t/Dř#ôJŚL.)–×Ik¸°/ B*Ďë;– ¦ţ¨­U‰t´Ó [ýázÚ8g>•ŻZnŽv±ę^ÇcÖv©Î™~ôÎŞwLáOľJř"*&$~é÷źE<>7m>Ř@µu TZRĚÉćK«¶PľßCsO6Gď>\K;Ž6ŁVYĆçĹež�ęWdţ„ěܵ“&L8Á|-‰D?Őµu´ę¤éT_§+#ÂÉ8żOs¤ą‘Şó é­'Qżúő|N «‘áhYź qüşEČ#‚; ˇ2×xđÁ‡čŻ˝'Łű–yůĺĹśD˙ô§?–Ń3”›×THއ"ŃÍ(Żŕ,5‹Ž’ď~ďű´zőţ{Á‚,ľÁȱ®Ű»ďľűčňË/§n¸Ž9BßřĆ·éÖ/ŢB—]viĚrNx”4EHAčH|Ůóř23|Ůr_ÔÂË‘ÇícÄ*q6ö{Í'¶ÉŹó˝ěžŁyB;i8ÂBݡŠ6Nnół„?ş„Ä-ڙǝˇđűoXëĐmŞÜ®j9aň9[‹sż­˛].WëmÎ1Ž?d‹Ł(ÉůŠÝž©üŃ%ŃB!Sěăń´Řű‹őŕščóŁK±‰đGˇs‘ř˛ç!ńĄ đGbH– Ć$ ó‘Ć Á,‡mäÜ‹. źJtkëÉĺŤô°v5ÂR÷ž=µuT©ŢŹ÷8…?Îdëf;\ź©PTšŻ^¨3sĆŚ,ß`v±a{ö-÷­¤Á} h‰%üi †(ÄËRćX#V°ź—Ď‚=J…‰Kšů\©äß‘cÔ<R%ߡFrůâDO…››©© „Î\@áÝ*Čóó±4Z‡/üáCM ţéÉ‚ ۦM›9ÓR6ËpB{Ϥ ŃŁFs‰§ź~–ţň—ż'| BŇŇ.9pŕ }űŰߣ?ýévčëÍ řáˇű!6Ä5lŮ ßűŢ÷x:ž×÷’K.ˇ5kÖĐŐW_MË–-ŁßÝ~=zŚn¸áS"đAżă۶m§ˇC‡PEEőt$ľě™H|™ń%PŰ‹Ëč°ţbź×>÷1Âź99çÇ`DKai1‹áÁ๢ýŻ©±‰ššą]ßíŢŤ¸ŹË‘§¸¨ż ,ţqĄw8gÇkP ÚSu;$ś~°žŇŇRęSVF%%%ĽťHś(Çeo'l}Ă– O«Óuń±O %wŠŹwr®źy”(cA”!] .?A©V_ň«Gě7ś8ű@čÍô¶XGčz$ľě™H|)"ü„6cX#XĂU9Fů}FŇšu{hçˇ]tîS)ܢ’·$ťŢ(Ô…ü°!2“;GpáL«ŞŞ¨ˇˇ‘věŘN—^z)íŢ˝›6ě«% ą U"ěÂHʰZ0ěX¸¬¨€J óíża•0‡áD Š<<ŕDGĐ Ą›«čhŐAşé¦ĎĐ?˙u?ť2eŠJPʰSQ|Ҭ˙nD‚ë¶„P 7ŕˇp Az{Ă* ĐĽłO¤ć–@Ě9ęĐçx‹‚Ö®]GŻ˝¶„źä#Seĺ(j oż˝ś–/_ÉĎaůxţůç’ĐÔż}˝TT RWŇńA*Žá÷ѡC‡¸D (**¤Ňرchüřq]2 lßľýôĐCós|ŢN8a|Ěëň™4ą6˛źÇ?ţńĎ­ć/Z´®şę ű÷÷ăU«Vs‚Ťďśźý{ďý'Űćövpm%qîţÔÖÖŇWnű*íÜą‹;Kî˝÷^ŰäǧŋÓu×]GŹ<ňýăź˙˘`(Hź»Yľ™ŕŚ/3ĺôÓgŇĚ™3(›üîwwp¬}ňÉ'±íx{y˙ýŤôâ‹/óóë®»š @݉lť‡Ţ®9®˝ßďŁ[nů ­Áŕˇř·ę8r€ďňė=‰/ÓSR\LŮÂlĎ4Ĺ).·KµďáÜGË_ĹLNw˛ĆZO ÇúlGж—âş¶Z¸ —ń"ÓĹŻk÷,±O~~>‹\|–ëO¦Çˇ;=Xô÷˘łÖW¬Î4Îc˛ŰµđeµŕL¤öűŚs˘×ojôŘÉő¶�ČČŔńÇÖ ŮnHaË ÉtůńiÁ“zݧţ6,÷źüĽ<Ęw¸ućČ#ĐVµ˙~ŞŻŻçAžů«Ť5’N<q‚–„Ńcˇë‘ř˛ç"ńĄĐŰáŹĐëH8b…2wűH0‘XÖ75Ó{G[č±˙ĽHC& UÉš›ÂîôꙚ3AŐÎAÎíAôS[[G7ľOW\q…şiďŁţ*¸}ě+gŃ7XIĎŻ;J*"ŹßĂf±¦ťnňm…"÷DÂÎşÚ ¸™&B®Öµ¬-ű"Ť¨eÂÍjßĂÍtő诜F†ĘËŹ=JżîZúÄ?§śÂA9F%9ŹM'ĺŐ M¦»pŞÓ„ň ŞâXu-]Ľ’<}úŃů=‚ÇL|q ézŞëOMM­ýĽşşš˛ ’«;+źĎ1ŤfĎ>ť„®ŁZ/~U5˘4´z ż¶ný–-{‹Î>{‘ę,FÇ“ÎüL Ý‹°ă~“ Üwß?[Őěľé¦éĘ+/Ź™‡ű jSźtŇ$úŻ˙ú´eËVűµ§žz†>ő©OÄ”IŇŕ^´té[ôĘ+‹ŮőŞşş† î‡S袋.h%îܸqÝzëm”o}ë{öó\«—ťk×Vh;č|ÓëŃ)ňř㏫{ČŮ”K “ŕß˙ţ·ęđż…îşë.¶ąFLyŐ•W ‚`ţ–Ł# A^ĐÓ;Ă$ľ”ř˛7ăt ď..‘…Úá†l;šč »hÉ.§ěĹixWç+ú‚ĺŽ1"<±“Žšđ=Đív[¤ÁĂ"ąä—ë˛JviqPşăŔţąU‡ž_}ý*vôÁůÇrÍń;ĘaŠXn>ńhw"˛e†â>‹1‚ž8×#©ëOtľő¶řŤšç†ŻÇésălŻŐ˘ \mżčÂY" ^mhŘI;věävŞ9sfÓ”)“©§đúëKhÍšuüüK_ú‚”aëdzc¬#t=_J|)=ţB’%†fŔYËB–{6č`á~ö˙šp(’Rh‚e uß ŞäSŻËąî#GŽp0»aĂ»<úN?ĺĺĺT :g&Ź.¤çľs1ý{É{ô˝Çߣ-{Ő»<އÄGnź›ÜqJěEŘps'Ośá„”ŰçÁW«=†¨(P‰h śz"4µ˛~zĹt:{ęX{)ě7,8Ż»îZzčˇ˙¨Ŕă$BĘĘʢ۱DNM†UGŰJôź'˛ěxUŇďńҡ}űče_9ť^ßŔŁ?1r'Q)ˇž*ô‰Łł1Ş ęĺ3ĎśOBbŕŘsÎ9‹ľ†Ú·PÂůóç&ŤTpśFW˝óÎ*zóÍeöß>ź—FŚÁvžřŚCdßÔ†ÇďĹŁŹ>N žÉ#ĘŹň™4ą”\á3ůúëoÄĚ›6mj«¤Ů ľ÷7ßüúéO3ŁhT;Á}ďG?ú)­[·>f>â+0=ůäÓěěöąĎ}¶Ű—Ŕ“Äą{űÇŹ~ôÚ¸i7î@\“k˘ ::îĽóNA|˙ý÷Óźţt 2„Î8c ™qę©S2rČA#ź Ý‹>}ú¨ŐÓąÁâ¸+ôt$ľ”ř˛7“Íëp7,!ODýłKYˇiŇ'v‰ü8žąŚ¨(ęřă(fMZDSJĚń·›ýąůń©‚Ë–©÷ŕ}ëýëýąőkjrYn:1çAď öA}á@ÄËQ˘vŕŘ?ś")§0Hź/ÇźÖůŤ.1 [d@äŁĎ“žçx®Ë€ĺ »wďQż=O©6sP'ömذˇ|OĘĎĎăAk{ö졺şzlĽúęëtřđq=ÚEoŚu„®GâK‰/ˇ§"ÂAČťÜáF‰ÎöŻük=˝çBSƨ¤Ěíˇ@KŚ0Ę|ą)é�IBĚ+Y'ŔȉcÇŞiýúutíµ×˛ej˙ţýů&nX®>H¬®š7‰.?},˝úînztĺ.zć˝C´ëP#EÂnj­¤qQŃL-qu?ť4©„ĚUŰLÁ€›Ěl?ć ŐŻ„AăĐE“GĐG§Ť¤9“†©ŐzY0ä2‰U÷‡fAÔĺ—ŚžxâIőĘ śd[¶ÄúX›`d5*$ ę\š\¬$ĎC[ë|tĂż>¤{>>–Gíŕܸ­ä<ÉÄ@ÝY$AŐÇ>v ©ÁyrŠĎśěŮł×ţ \¬ s$µZôĎ'5PÝÇŹňűl=W®\ĹźĺĹ‹_ăďZeĺ(:ČgRĐäRrµzőšVuŻ3ůśâ;÷ŕ˙LąL]]}ń‹_ˇĄ\ßĎÇ’ ßüćש;#‰s÷!ßhŐmńꇎĄËĚűËÝwßM]tĺ2ńîąç.uůňË/ÓOö ş{Ě<¸‚_Ç=Ňç B˘®ŽUFÜĆÁpeĺ(ˇg‚µą4޶ł‘ř2‰/{ép2ˇuŰ—Ł\U$™0ÇiŰ´K}Q¬C-ü1śĄ°hĎ3ŚÖÂś$Çsv9®äŰqWz űÍ1˘rŠ{˘ëŤqo'-ö1lÁOtj]L‹Žâ×i;�Y.@ąÚ«źzęi[ô3a ,Ę())iµ,ś'^}ő5.U˙oß>4uę©$mĄ·Ĺ:B×#ńe,_ BĎA„?BŻ"Ó2_Éţ®©©aŃĎ ěŁäŃвjrąs-¬`0B!•ůŕÂCÉ“ThkÂŢüőB4ŃĎşuëŘ5ĺ˝ŕôZ×Z â±ň[lĂëËŁESÇňÔÜÔH‹ßÝCK6´ěxM‡=ŠGeŚTRŻŹÄÚntź*úÓ-VRµ-ě ×—VŰË÷zč¬IiîġäńEQ`?ëqŚÄÁű ÄA™2}Î:k!˝ůćRŢo]g['­źźĎ+ŤňKăśň_^QË1Z Dl­Ł x;Ĺ xz‹ëŹĐóhllä€ď Tö#GŽH¸,~`ť<pŕ@zć™çřs˙ňËŻĐő×"kVŕ‚вŃ0ť-¶oßó7ľHŠłÁoűű¤e(Żąć*vŢ‚5/ěs1ZFźŹ—_^ĚĄçÍ;G«ýö·żäDô«_ýFĚzŻ˝ö*š1c:?ϵQmątm…ä`¬ň¬’÷©_ź¨đő> »ďţ ?˙Üç>§î×Sw�ÎDpü™:u*Ź ţßţţpÇďř a|žĘd'ě¤÷š*IAčąH|)ńĄĐ1Zµ›‘vĽq[(µđGżĎů$^ôcNŃmÚ$kŁK$Jń™Đǡ…3ń⇽NzŃŹcľËţża śśî=QŃO˘c4b¶é Y˙Z‹’­Ó°K~E Ł•¸čxňŇKŻŘe—08mćĚI—7n,;J˘\oSS3—ý:ńÄ ÇÍQ[!_J|)=ţB† „ j:z”vL:ťILqň¸]đŢĄP0La5ůó|ěę“0ŻE‚Š’WE%v§ť~PŢ ˘źZV©ů E,^·é(±Ýü‚Bş`ĆxžŇăâýőz˘˘ť±ĂŇ7-JűÎPŘŕcÂű=qö»:ńFI0ęă”SNˇÍ›7«ÎUTTDĎŁ?ŹĎĄ*‰ÇźP„ęśj~{ÝÔRŰo¨Ąc/¤mÖЉyyěz‚óÔŰ€SÍC=ĚĎĎ?˙\:á„Ä×ÖŽp{FŰ dśYĆŚÍÁŁłĽŐĘ•ďp çdĹŠwxýű÷ŁŹüÚVŰ€XeíÚu VWW«kkPqq 6L“b®}˛c€m%FđoŢüŹÂwß·ŇŇRŢ×ÓN›š× 08§ď˝÷>ď#~,÷íŰ—&N<‘8:bĂ uK‹YËwÖ¬IE?N°ÍSN™¬®ÁzŢś?ś/'Ź<ňŰ2ĂŁ `ĶvíÚÍBĆĽ<? đ™ho žę3Ůן7”k;pŕ�7&áł ńáرcŘÎťĹÂń!—F&ÂZÜIyyß„ź |'>ř` Ąßýť„cÓ‚ëüŐŻ~ÎßG F54îşëŻö<4~"qFŁ'>§‰F  ńŽ·äÍréÚ É“żŹúz›ÔçÝüĽâşýę׿ĺşS¦Lˇßüć7Ôť@l ńĎ‚ hăĆŤě*yŮe—rě9dPšÚD4§ !im6‹'lŔÍXˇ–ă|Ü«QŇaĘ”ÉűtÄŤkÖ¬ĺŰ@ …ë}ę©§pL)@8H——@îx1 ö5ŃhtŕŚO.żüŁjŰý9ŢşőCŽŹŠŠ éĆ?MŮîU«1ŔńâĺAqü5dČŕ´ďÇq"öÁ=÷-s#ţ™4i"ŤťZ�‡{ŢŹ‘řżš›[8Ä9G܆X6Ýŕ‰lÄ_Ř|¶p>Pű€ĽaĆŚiĽ®Ž°|ů zë­ĺüüK_úŹšĹ5Ĺ=ź \St>˘ĂRÇěřěˇĚîŽ;9–Ćţ >ś­ő“•ËÓ±5\ şO:;u.ţDťží˝.™îĂţýhýúwůša´/Ö…ďŻţ~äŠëi:$ľ4‘řRč(vA.Ű&ľĄţ8V]_TŰ'Š%kĂó˘Şű1Q)ŻLáý˛Ęj–[QTTëČ=!ű$ÚzG$ü¬ëßöřŚF&˘Ą.÷GÜK�~ŻR‰~4ĂćÍ›K/Ľđ—¨GÚ´i§ŮŻ·7ëh‚R:x?JÚŕž 1ÚôĐŹßZ¬#ľMď÷ż˙c«ßŐŰo˙ýüâ‹/L·¶7>M‡óÜ}ôŁ—r;Ž íkGŽĺs2jÔ(š;wŽ}ŹG›bnÜ“ău`˛ŰS}öł7$Ť+<účăüü Ϗągi:;Ö‰Ď[đ™+--±ŰĄq¬‚‰/M$ľ„ž‡´ Bśn?MMM´ÚUDˇ0\w<TŤ‰.·jH‡-qŚ9J$¸ńxÔMŹÍÍMęơ÷ßź®şę*Í H&úѰ�ÇzM—C˛AĎŃÚFzo÷aµK;©„X…ąŠUĽP×"ź§™ŢŰľŹjš± Âú^čâ¤)•©¨ źť}¸ć¶ bˇÔişSü†\Ejk+¸4^3]H\ň+B)–ńR(ˇP ĚnJŮÝ‘;ĎGá¦zÚ<t,U6×răe˘s•îďžąź~úYNĐť “áС*ž"I„łT{AđřôÓĎpŇ椦¦VMďsrQĘüůóRžŹO<ńT«ý=zôšV±x ŤÉĘvuh €ú=Ţ <&$h¨¸ä’‹Ú˝źďżż‘ŃđŕlITřH˘‘ÜbńÂ'ŘOÔeDzÂpî1Íś9ťN?}u˝Öx˙‹/ľĚÂ!'řlďÝ»Ź'š.şčîLz7‡:IÖ¸†¤ů[ßúĄź©Ż|ĺV~ţĘ+‹c^;ăŚŮ ¸.»ě#ôŹÜϱŢş:ň»+©@´7­x3 Đ—c'đ„úÍÇo&ţţÓźţÔ-ÓsçÎĄĎţótÇwĐ_ţň7š«:ú÷ëÇ Đh4žT°ťÖ6Ž#!;@$đÚkKZ5–ˇ1Óşuďňho=şŻ= nA™Rç6› ¶Ä„őgŇ!‚{ţo,ŤéC›¤ŢWÓ.\Ŕ ©Ŕýâţ­:Cj¨3ضm;ÇćÎă5ăĺZľ7śzęî K/żńĆ›ęX×¶ę�Ôë€0'çťwNÂu “ç±Çžŕeť Ó ±!¦Ť7q›Č92ńŽ××Ţ âPśÜ.ł' # 1¦1;„8¸Î\p·łt‰Ţ':§p<éUˇŁ×%¸f8ßČÇâŃů :áÔ‹’-BćH|)t5ŮěĽâöCőű6ŕ*a©Ů¦hX–H¬pÇ®hÇnZ»ŁŰîA! ˘RÄžx˝^ŐžčáçxľšÜ¦ú…ś%®2şÚǢź;&#ţď$ÎBÚ]G zbťÉăÜ«íd꫍ Š×OÖyĆyu”Ts»Ôń«ö[Ź:7Îó‚‰ďă÷źăŤó>1I¦Ś?ŽŰ§pĚńż›N2‰Á˛‡ŕ˝řťŐÎE1!ţD;)~c;*ŠÍV|š¬˙Ůgźç%şť0·«AuíµWóůE<ä<żą!¨Á4}úiě&ŢYtf¬’ĺ-`Ť ×4]ś-ą€Ä—‚ dţ˝žV#C$„¸ů˘pËŢýT;g>E6$— HŃHN·ĎĂžţć8Ň4‡m—úR _a ŐÔî¦fu3ŨϏ|ä €›z:ŃOëUZeŔ"oqĺ¦]tÁ÷žUB1‹xâ q“QRJT “ľö´šď&[¤Ä˨ż#Í´éץFćýŨ„LŃâ(‹!ţ7n­ZµšĎD:ýúő'‚ŰD®4ĄľÔů †"ěřF‚p(DŹJŠCÍÔ4r­zuÍăăő¶w¤DOˇ‘W +ôČ첲RNŠ·mŰĆ6HlŃqÝu×p#F cä –yřáGů˝••ŁhölS‚Ć'e‚äÉ•×ëᄣ) ?räʶ@ă:F¸€3Ďśźt!A’}Úi§ră�JĂ!)Ĺč[ŚÄÁz`- AČń ĄĄ…•îŘ0tčî\)..fA’l$«]‹O|âş67ŕűŹď @�îŽsŐJ’ăĘĘJŢěö)Ńöń;öÜsĎó(_ÔɆšŤř¬Ľýörn�Yľ|%_GŚę :z­źzęűłŤQařÜbtŽ ťj8X®ľúJ~Mč˝8]Í�îŮ�ź5'ŻľúzŇeuҬÁçWgˇł•w€J<-TZ6„˙nV÷Ż{oźŁÄ׬Yť'ěěl~ü㫸ăQŽ›˙őŻčË_ú"ĎÔżťÚň!˝Ű8†Â”ů˝SH :*–,y“źűý>ŇÄË €Ćuľ—-{›G·§Ł�ť°wp/Gl…ń¶Ćé\;Ľůć2~Ž‘á“'źĚ›âs‚†~äjč(B¬„ŃŕÉ€°ď°ÝkF6Ŕ ”Űó¨>âᆩĎ'âeÄŢkÖ¬ăyč”géŇe*źZĂĎ!tĂ52Ä<_čLÁ:Љ„- Ľ@ŚçÇńřăOÚ.8ßf VŔů�Î7FĐëŃ gź}V«}ČFüĺýäŰ× ±(®:§fë‰N úúzŽ9á€řŰ@'˛1 vÉ’7¸ÓűRQ1­î!@BGÎŰ /ĽH7Üđ©VńD6ČĆuIJëxŁŢqŚČpŚX':Ůđý€ŽŻ˛r ™!ńĄĐŐŕ~›-СLŘøÝK±_w.Űj%i?eL„].Sô6$ÜńťÁ„ç¸wńkęQ;«ŕ> Ź1Óv-Âű‚ęw żm!ő<¤Ö‹p<ßZg""ý7ŻmŤáHTüßF'úqşţPŚ�îGQ'Ąhů.óCđ„c÷y}äWű‹ó‚ " >/Ö9ĐÇxĽŮµk?öëWŢ&g>#§Ó‘I ÖŃ8ď}ţůí6`^++Gń¶ F …ő žBÜpÍ5×\ÉďĂ˝÷O=OVáé$›ńi:°.Ä-8´áá3Źă@ű$ÚŮŕÚQžăx!fĆńŁ=ń8öiĺĘU*&ÉmÇ٦łcťty ÎFłq˝ćÎ=!W‘řR„l"¡×Đ‹Tý4"y|Đhj® “O”>ż‡š›„ąXÂIf0śZH‚×ŕřS\LŐ{kčHŐ!Ztî9|cmŹčljŰe&łNN‹z!ďSŚćG=+ňtőÝ«¨Č¦}ţ|Ş ÂÍ'öĽ`ů‘ýĚuşŰľńâŚ^Ľx± 싸qš úÚŤ ‰Ŕ)Gţ„ä;ˇ¶'ĆM-A~žWT@MG´cü4:Ąqź;0ô¶{;© !@Č‘łÎó‚d°_ż~Üá T$|&Ľ_„:‘Ĺ˝9Úć%NâČ")v6�TVŽâäI7,!ţ0(™˝*’RŚîpލĹ÷‰',l±$‚aß»thŃ„Pń#Ü‘\"ˇ|ĺ•Wą3 •K/˝„Ú‚ÓŇ›¶‚sĄGů@ü“HřSUuËlATă´/FŹóŠë|w–đ§#ם5ş±'‘“;Đ‘óÜs/đu@�¶%ô^Đ8éŁţq/Ź2f‚ó;oÁ R%ĎNâGş B6™R¸ŤúőícÇ~O=ů47ôâžđ?˙ó?ÔťAŁúwľóúÂľ :´źĄŹ_w-Çql>ďŞĚßO[›łß`Ý›Ŕ>]öB+®řXڏÂd”á‚í>~ßygµşźŹćŘ"SĐAóÚkćď%čŃ!ä™­ËŃ"&AGFŞ}ŐĺP& ń®ł±ť(č\ŔľBX˝xń«'űýÇo3`Đ‘m× ^Füĺ,‘†ó q>÷Ł S±Ś3^F\®GÚăš dŞÎ{�â5ÄŘĂáPĽđ±“ĺ=gÎé1Ż#ÎŻ¬ĹâäŰ·oçm:Ďe6â/ś-ú8 çÂé>†Î>ÄÓ¸^č Ęč\Ă�§‹$>ż7áŕ‰xť@řś;?ĂřüA‡%˛_w†…}GŻK*pÍt#?ÖQżÎ8ĺÎ&O6Ď7„˙/żü ś:R˛¸7!ńĄĐŐ =2[Řî>Dě^"źVĺ¦l˛ťm˘ó)Ć) *đ˝Ŕď}ˇzΫů¸`>„. ˇş .@€é”8|ďpnę¨QM-ęý¸?556RÚ&~ă±ÉJŹńŢFLף°µ˙.§đHź˘§ű<Ů˙ČaäSâ+ę:äVßű<µ´ż!Ž-dË<žŹv\]Úb&—űřŠÚ!šŐĺč!Ňî ŇĹ`ŮCŕpg ÝÜÜ~ßŢ…8q¶…imëM·u˘}T pźN$RËv|š”FĂ6*+GŮóÇĽţúŽ+µpNMNgpÄ5ظš´gv†đ§3cťLň”/BśŤű+â:Ä?-++ť…Ä—‚ dţBH˘Alĺ®˝Ôtú™ŞŞădŐçuSS$ŔÉn¨A•` <UşÂŐĽ|ˇŹË„5ÔŐQŐ‘`xÔ¨>r ±Ü`©OIťyjr»î˛Âw©Ä¦‰c†Sgá˙|řᇴpáBşço§ '‘§˘‘”Ž?x?ʦ,ÇśÓp(L.݇K¬E0z§o ˝ą˝šÎWŤß°Ä—ę©n>éŔąĐ #F OxäAT1pŕ€v5đ"ąÔÉۢEg%Lś0rĺÜsϦűîű „tâďD ŃMdŁŹ}ź5k¦-HÁčŰ®ţ ˇ#a�F'+kÎ ¨°âűÜV‘¶ŁiŹ­°ó=ÎuĹ3ţÜ„×džNovďŢMťEG®5FNŚČNV>ŤE8˙°”F‡J4Ďq˝4€ĺJ-e8a9Aă)lµăKéˇęĺ—ź‹™÷­o}—GżiŠ‹;f÷í܇îŠŰ-n*ąL™§ú{ŹRYÓ%ŤD˙~č?üüć›o7Üp;˙ C˙??Lź»ů&ž?@Ĺ„“ŰEřă�ŁłăGěĹ/đF¬¦G–źţy 5Ńiwá…çł 8~ë1Ňg FTë±p JTŽ ţő6ˇ÷â!l?Q'â3ÎĂ#Şuů&t¶$ńCg~4 ś#úŃ ~;÷ÜsŘYńűúőTl˝Đ~Çő™ĎÜŔbüüĽŃŹq:2ĐůŃÓńÎŹ…4÷qć™ólgśx˛Ađ^”#KTrŰĆőBÇ[6@éÚřç ÷|¸žś·DÂ5Äűč 1Ţtôş¤B_38+ťţą c|÷pŽĐYŠś÷Ś\ţH|™‰/{6GŽ٬¶"ËqĆďĎăE] K·ăĹ~ŚX—Ăń$*üŃĺÂ,GŹ›ę lÁüő›źŻâüöëßv˝QŰ©{yCc#‹vtéŻTčW±ĎhS­WmŞ�«®f·Ä¨Ďţö¦ţčsŘgnçu|cËzEť~ § Č ‡ëŹ>1Ńň`úĽŘ®J.Kô¤Î?Eęľ^¬â­<Ő~ć˛ĘźÁńëjTq\ ‹nOíÁ):ëhů«d¤‹Á˛‡@ěWɆ†Ć¤ÜĐNŞĹÖ'ŠŰŇ‘íř4,UVŽj5ćĚĽ/�îďNŃŹírc›ĺÇSgĐ™±N&y ~sŕ"·'l_ ńH|™‰/ˇű"ÂAp¬Ě‚Ă˝})„ös.=ĺ&žJ <Ň$ĎďĄćęšV=fJ*�âäĎí˘•ÜUÉęsŚz„;N2G”TDŘ:V—ëR)«áâyĽykPŽ,˘ćűTŽVˆ¬ĺaڏťĹ_ć¨ón¸ µ5>Ćy8xđ Ť3†žáEý4µ4“ˇ(ĄđÇÜf¨%ČbŹ:·jëŞ! ĢŻĎK†Úź@C ©–ǸÔ$Ł·ś¬ yMT'ą-ŁłăA1čÓ§,Ą-<ěu1*"Žť;w&].Yj`ÁŰŐŕXőďF‹¤bęÔSl·%$ďłgźN™‚Ćv :vÚ :â4ɬŔŃř€ňÉ@˘ á:ä@wFă{Ż5"0`SŞď2MĐŕ0Z îSBבKżłřNĆ'ň]ź8ÇäV ţ4°żÖ”—Ç6ŢpĂőtíµWSOGĘr›Ńyű(ż°G ĺ+Vđo':ľúŐŻR¶Aěµęťwhůňĺ´oß^Úŕ�ß7ŕĚ3vě8:묳T re4Ţ~ůË_¦o|ă<:ôłźą‘·Y˘¶Y^µŤŠÝMT) ěĆţTĚš5Ăţ ÖٲŌď#¦ŠŃRY9ŠyĐą‚¸CŹNO‡vńA™ŘT.*ŘFĂ)0ěëÖ­¦ËářńăSvDˇCŁ©C*§@L¬c%•Ó!Fw§s[@gC˛‘đ(gŞŚ:˛08pL8…?�÷±tNŚÎ 1”óś8s ާ ´ú=×eXâÉFüe–•ÝÁĎqMSuě`Ô>ˇPŁŁ$»®Á Dŕ·ń8bb”č :r]Rˇ’ľfÉň@ 0u$ľěąH|™žlwĽiŹ×ý€DÎ?úąĆ~ęr ‚,—#*Ň۱ž´^i·ť»§gÚ^ç˛Ö§ß°JzaB› —ů˛J}¬őF’ ¬}äŇc.Żý·˝ŻŽň^ö‘Ć~ [çŁONĽPH—úŇĺŐśçŰŠ9fk˝Ř_, Q”AÇÄOg›S6IădłńG*m J˛j҉çŃńi:’Ĺ:cĐţ‡AĚ©úĐf áO{Ž7:+ÖiKޡóőׂ!_ö\$ľz;"üz5©Ę9k>ăy/źŚp„E2uóđzÝ,`A˛ŠŃ!¨gTsM)Ś"–+ĎĎî,Hdž{îyV¨·Eüć@�ŁA0:%vkѦ_쉛÷ŮYŃK/ ^ŹËĺX6~‰čzCęذ|¦Ö»ý Ŕ~óÍĄ´}ŰNHĘúő#S Í)oŔx n?á`„|yfG˘ÂBŻ:ďć( Ś– řňTăöaV2ă:!@ęí7v$ăH"!<9t¨Šţţ÷{yô ‚>$CŮHÖőh$g\ľ-Íţ�ŚdIfŰšjź2´t&Úź­tÖ·č<ĂČZt ÜV[pZwę‘đmEM˛Î7ڏKö]ÓYŁ~Ű{­Q¦L“îsç<ŽcŮ)d>7zäŐń±gś1Ű®ű0 ÎRő—Śűîű§]Ţŕűę©Sěżá\Ą-Ľn`ěéH Üf|Á^ęSm`~áůůńĽóÎŁ!C˛gÍŹßç§ź~šú÷ÔÔl6ă;T ËMę^ŃÁ+ŻĽBżúŐ/iěرô˝ďý·jä]@ŮâúëŻç’_ř}_ąňv‹ĂgÓ—WD#óĐ{M•$´[tü‘IąO,®=îɉJĂ&Bß—!DN÷›‚Ü!‘đűŞĹpH‹Bř 5ĄŚ R‰#P"UŮ1�aO˛Î—ÁS:đ^p\é9âhŕč8yd;ăňšřQ«ŃŤŃްjG9W8;"7>|8 ŽRŮÇg#ţÂőŇBžt±4>řl`Đ@GIÖ‰äĚS}ő(ŃÎÜ‘ë’ §ť?ÖŐSř˛ç"ńezŇĺńmB—›Bi-Ż'VčÂOâ\n(‰đ‡âK}™O¸lV$Ě‘ ĂŞ]ĎÔ˝ żm.ŰqČĎŹ‡ßlţ,dŘž‡vŘj÷0ËĎń60ĺ«őŔa¨Ŕ*/–ÔńÇů·µ?Ď»Ů(Z¶‹"±®F)Z)¦MŐYâËüŕ7 í,Ë™Ž>ë·>h9ţxx ©‡ŰF<jJźtjkśmNŮ$Ő1vV;Ú&KÁ‘±îĹZ¤ ÚsďďŚř4™fzb¬ÓÖĽE’!ńeĎEâKˇ·#ÂAHý ##\Ö—"á'…nŻ›ňňýčé`±O>\hÂář“fťxąl­ Rž2Ym#¬‚ß˝ęĆţÍ›77­ř'l \<V€ľs˝µy?í<Ü@ŰŐŃÎŁMÔ ł çH]}qŃXşńüěň/r«?*áąţöçhw­AyęA•úhĚŔbŞPLă—ŃüIĂÉ›g&QĽĄ�iŃĎúőëiÝşwU@?G0lÜľ\~7őéRň“䢰:¤|ę܆0‡ÂäĎ3k„s ‘UY:¶c;'úÔÄĆĎ#…qŽŕVÄ×�€ŇAF€–——·gőv))ŘßŢsĎ?2~ %¦ą,ÖŇÇŠQż™Ťř,âś§žč}ńŰl Î÷$kĚ…óÜŢ}pßO<•ńű:k”¶ś\K®0şkٲ·c\µţđ‡?q'îUW]ÓP„f”[í¶“ ćÇX}źuÖBzŕ‡ěżW¬x‡ËL™29ć}p‰řň—˙‹;}Ńč5fĚhşč˘ ěs”čű�‘d®"‰sîRŕnˇw-™â ŚÚ|ëmłq瓟ü$e‹˝{÷ŇŹ~řżtřČaľź÷)+㎑`(H-*®u9F`·¨Ž–wßÝŔÂŁoĽ‘~÷»ßeě “ Ä—‹-˘çźž^Yü* @ßŇެáŹć#ą8Ą+c<(} Id•Źs”—ĘTřŁă•¬Š'ŮHigL°jŐž2ˇłF3§#“Űř80^řűľO{öěislßn4?óĚs܆‘óË—Żä ąÓ Aůţ„Ü ~»Ůżś÷µLĘ„dµ;‡éČuI…óš•”¤˙žu$ľŚ"ńeď#“{f¦p[šŐÉĎĄĄ¸ -*Śá˛TF$ĆŮĆɸĎ)¶ř—-2ĂŞ­â–ć&sđ—?`Úě â3 ŃŰ*m±~ű!‚q[e®ś¸’ľXîďý ­°@­ëÂýç Ű‹¤ţhG WĚů?.ËŃ(:ŰÖůë5bŽßv ÂżéŢÖnDp'RűRűíSíců`ŰŻĹG87(ŤćWűŢ–ß˙ΠŁíT%›í@( ‡˛9( V[[G٦»Ĺ§]AçĹ:mË[!_F‘řRz"ü„ 1EŢVŁ’×ĐQ±nĽ.·JT}ný(?‘J ¦tĘť6†ÍdµwW¬X©sßăQ¨Ő©…3NĚdŐe ~ÂôĆúôçĹ[č±u‡¨±ërs2žp3†Č§&@[§4ZŰm˝/.>Ć˝¸ĄŽŽÔxÍ_ö–Uď‰c#r4nH>Ý0{}|Ţx6ČôF…×ÓZhŁ÷Ł%^~y1%č”ĹhťJh\®$;cź s÷6B>ŚBÂ~ ‘Ŕëfw%ÎĄ!€*đĐaum† ®ŕ ¨=J=±ÎĂśGÓ¦Me猚ĹčOtĆaT0&”€={ŢÚŠŃNżagŕÚÝČô3ŇŢĎRż~Q:VÇŤKmaďŢ} ×ŐS0ÚůˇëÎźąîJ®%W(/÷éO’îľűo1óQçă`qmŽök-ŘCĎ}îł1ó žś1c'Ě�ż­ßúÖ÷čc»”Kf  ż˝˙ůĎ#<ş “.˝Îx –CÉÄęęhí{ŚÖÁľ đśsĹ$ěÇIśs—Áľ#äöĺŰ×#*Ń€Ž .¸€˛Á|@?řţóďqYi)ĺaÔ¶Ú>˙-Şźgá đčjtľ`0˙Î;ďdë{8ecäňe—]ĆÂźŐ«WŰqĘ) ôíăn)zV\—‹t4vÎäľžlôqWǡ_|!u„LŽ5Ő2ŻĽň*‹~4ř^ˇ<jYYŹ˘†č ‚sçčĐxpźĄ;:»¶nýcMÜ{pŽQć´.¸ŕü˛¬ŮŽż:z.zí˝.˝‰/%ľěÍg šĚÜą#şô”j_3]łc´ĐE‹śŻµzN¦ČÔľ8J[©uk§ ţŇîÜúZ»Ä‹čđ‡XíXNáŹ.ëe?wŔĺ°,—††ĆFjniá÷˘Mµ@ ÔäSq§łĽ–s]†ă\@ścčW ‡čGŰéy֡꿝ó ç?ëü± N?%ÉGéżV)7,G:†VŻç©}/8Χŕ^ÓŇisę*˛‡ŔáíÓÎŘ"ń;ŤXŞ_?3®BYťöď+µ‹žŢf%±ŽËH|)ńĄ ôTDř#)0…?©­%Ď8Ş*A3GĄřQ‚*b¨Ž0ůaO©– 3°dá Q‹ĺxç‚gŞ$ä¶Ţ+**¤‰'Ćl‘Ťzďs+6Ń?¶ŢŮ®nđ†Ú‡BŐńRfĄ®¶ő¬A^µŢ–€‡ň}žčvăŕD]KYľ‡Ž¨e±¨™y¬üÚĹζ[« ŕˇ­ô?ĎlĄë¦WĐŹŻšFú—ó˛ŕh÷!íV„‘˙ůĎŁl[?ţ<>FCa^Ż+µîÇ*őe&×°–eŤ”úźĎďUçÁĹ®D.ő6{Ô„ąłjNwWp-´{’I”ضmw˘tÚŇĄoqťëĘĘQÔđĹ(Ŕ/ąä"ęÉčN1„ßtŁvúië¨<g™°-[¶ň÷&ÓN5|öq]/˛9"0WpŽ4»öÚ«2.‰(t=ŮpôČ6¤ŁaâS¦D”––Đř„Éë׿ţ_*ˇţ˘]Ö ŰEăIă÷§ŰnűR«ů3fLʎłsç.şýö?đsggĎ>ťr…\Ľ¶‚I…ď•E;Ö¬]ËŹłfÍĘČa#GŽa§Üń˝Ŕ}BŹÇ«â‰ y›¸§Ĺëăy«ôŞžŔK/˝D7ß|3ýýď§Ž˛páBkżŽŇÎ]»hÔČ‘ŞS"_ĹçőőÖŃŃP) m±ť%Ňá\ ™‚Ď ~Ź3ŮF˛‘ĺÎ}ť7ď š:őTĘe2qt.ăüνS‹~ čOsçžÁůU|<š‰e;ľ‹••Łě¸ ´űöíç†^lťzO?ý }ęSź´÷!ńW[?[ÇĂQ łČ¤Ă˛=×%ÎeßäR|GřRâËŢL&ĺ|ҡ[´`&h9Đŕ7Č®č–DÓĄĆ.Źĺo>FŰíů¶H†bÄ?!«´‹Ă-ˇ‘ncŐŰsŁ\«ú ŕµđ'žÖîCźhî ŢŁ'=N9šëujWçyŕsa•ŕâó€ýÓűqx´ŰOśčǰ…@F¬+c_ť"+ÄÉ|Î-áîăhKŐeŔpľ\uť‡ű@ţř~ ,L¶ŢLťĂqÜO>ů4Ę:Í™3›ÚJ6âÄXZô'o8íĂÉ"ţ{…Şˇ»Ĺ§ŮâřÄ:m‹-!_J|)=©‹#ô ::JŕHS ą˝*XµF°5mž)öcŽßď1Ĺ<M¨1›ľŘ lZ<>{H8Î<sľJbúÓóĎżÄn9ýTUâe ú9Pu„®űÍłtÁŻŢ¦wvÉ­‚ao±ŹGŘ@ÄŰČ,” ›™fÂQńłXX÷úýX§ą^ťŁvŐ[V@Í®úëë‡h·žˇ»ź[E‹ŁE?UUUś�âxîşë/Ľ˙óçĎeŰM@SŘa›ň [Č©ÄLťgŚ ÇNćĺ©ăőzb ך ĺťU“¸§€FaÆr’ű±Ź}Ôžżqă&j+ 8ĐăGĺj÷|ľŇŤp:|ř°m)ÜםOśŔʰ­]µjuĆď{ë­·ŐwĚü­š8ńDę‰8Ď'lBî˘>rŤĎ|ćÓôýď—]2aćĚéô—żü‰dúř—±L:ő«ź%ÁvĂ ×'Ý'4°ć ÎQşBî1ČŚ Ť×6ĽÇŹóçϧlđ›ßü†Ăó ň© °€…?ĄĄeTZVĘŤBhTÁçŽNÍŞ3^÷Üs=ńÄÔQĆŽËť`Ă»ďŮó=ľ<*÷Jăo{Ŕ5Eg€Sd:`-pÝ1ę0St ‰r±éF8'‹»ôčsĐb‚}űöĄŤ—őů„ÜYę`űöüß`”J1bxÂßb”Ri+řîâ—P¸€Ä“°’×d#ţÂőňűÍĽň©@'aw¸¦ş!9ťH)ŃHÜtdr]RáĽf»wďNąlĽ F.#ńek$ľě= Í­Ł“>׫Ľ&§óMŚhĹpŠśeĽ(ĆŮ'őD —‹G‹ÄÝÎ}Ä÷Ýńť×B%tTÂeî>x X"Ýč\—óÝqçÁ9ŮďqéżÝŐ69Î9Ź=ęđ}‘â€L×iˇöWMKü” Ţ/k˙Ž7Îߣ7ŢXšńű č@§0âĘövŔf#Á>čĎȢEgq›Y"1]{b)'Ý->M‡óšĄŠwÚ#Ľéh¬ÓÖĽE» B<_¶FâKAč㏠¤@7HµÔ´vr¦r/žyăßLÔk^<]gVĐ řüÖß.^/Tí˙Ľüň«ôĐCÓÍ7VÝűŃ‘ŞôĎĄŰč{OmĄşz•Á‡‡­h3’şd!Q„ëO$áü×[ę§ę�ŃMß@÷,ŰIw||*ŤXŞ:ĘX\ňă˙„† Ş:›Î`!3Áo‚ÖĐôNłĎ*é˛<n'Ęxîó»Z˝µˇŮLÎt"×KwµX,"ńÁH|1xp;)Áő§=Éířńă¸#µ\‘ĚźpÂř¤Ëb’2ŽÝ1象qź+qĐá’ g ďTç$§ť6•;kᎅšľĎ9ë÷&‰1ʶŚ˘?ů䓨'‚s fXŽÂ± ÉJ˛Ďľ=ˇ›Ôű>> ‘¨Ł gťÁÜąsčôÓgňwzٲ·81E­y4"ŁáhČ!üŮ:묉čŕö›ßü‚0ęßG�ńŰŠŃ6(ŮwúéłčěłĎJÚ؉uÜyçďy¤ Ę~:TĹóáŢ•Ť’HŮBFËä6ežzĘóGKÄjÁäÉ“©Ł¬[·Ž–żý•ő)#źٍý*öó=`ĦImŽX6cÔ0‹ÇĂ­ZżůÍoŇ…^Č1cGŔ±ˇSŰٱ]”ď§rFë%ˇm v7n»ËhŰ}Ä‹‰8vě-Hűc[~Đ «|.Ö­[ϱO"0  ™đ y˝÷Ţűěxű>Ę3$ŰÁrC† ćßŰăâ:í“ÝW·ëŃ—8®Ř÷šĺ?ňř;Wt©:Jŕ" Á ľsS¦$ţM0…toósçý;ń®Wee%çx=QIk >ݡsFŹFǵMć~€ăŘľ}{Ňut交n}űöQßÓj>źÓ¦ť–4žŔ5}űíĺ*żÁ1R®ÇÍ_J|Ů[ÉVűVĽ#0l1 ÚÓ\q"‡¨ĹáůĂő&¦DV ±O˛ýŇBŰ1ČQ. Ź!ËÇ9şŻA”€ß†°ĺšă<ÎřăM´]óü±ŤjOŚ8Äë¶ŕÉQńË1Ă*{Ě•›˘˙XÎG®ří›#ş_ć.ĺDŰfeĺ(ußȢmÄSŠď-©@÷úëKř9â†L:›‘Ť8DDř LF¦˘“dt·ř4Nç™’ą-Ąęěď¬X§-y îźpNÁ˝xúôiiŰX…އė_ BOD„?‚ťdµÖţşě‘‹¸AćůÍŻR�Ž?Fşuş 6FľŮxËIź•Ü")7o˝öÚşýö;č{ßű•ŁvgC aŔ`^Y>µŰÖšIši.‰C †Q~K·ęđŮ\ĄŽW%±ý¸ÜúŃŹţOŰCTp2›“-ÂŃÉ~ŔëgŃS&{T ©H|qną„ZÄ żęĐq{ÜÎ<ß^S˘„¸7Š€Đ±đöŰ+ř9ˇQ“5”ŔçÄ;Ó 8Ň× Éu" ˘‘Ż/^üŞ K&YJź{î~Ţ]Ë‚!Ůť0á>Ż)„ŔÖ–ń áÔîI¨ź«G´·u[(ńőŇKŻđďÂcŹ=ÁŁ_ Ç­ôWŻ^CË—Ż´ż_gťµ0+6ŕ‰đx˘ż‚Ç+!BăŇ+ŻĽĘÓ°j^´ha«F4ę î1 eÁŽHřr1qhtZ°`>OŮ� |h@ÂÔ^0úć–[nć)WÉĄ$^Ĺă2ČGAňZ÷ 42k«ú &PGy䑇ÍQŃ.·/BÜÁÄ=-ŞĂŁ®¸S#h•1ňČÍxW—M›6©Řa1ťsÎ9ÔN8ázć™gh—CřÎRo# íăÔS§pŚÎçź.żüŁ­„�¸îĎ<óśťż$*c€!™¸âq8B<ŽÇŠŠ .]żŤ^x)eg!öq¶óôÓĎŇĄ—^’°4Ŕ›o.µŇÇłěÂ’%op©.”vu‚QŇ/ľř?Çů<ůäظ�GIˇâĎXľ|EJ'4›ť.~˘&íâ_ĎFü…X€ĺđŮŠż^pEŁvw�çQ—`{ýő7č#ą8f´0>»8g(]‘ŚŽ^—Tŕš!źŔçąŘE]ĐꚡD7ľŘÇ˝{÷¦–ĺ _¶ ‰/…T8¤?1B-\!Š _ś´˙Ä—»2ś%°˘B™LÝŰÄ1ř®CĐűdMu5Ő«çAË݇Űůp (!¦ćAü׼ŹÝNđŁ÷Çąßě\i8…8=TTĺ8>ű¬Q´ÜYİJ‰™"¦°v'Š:Ů+˛®KĽx)8çśE,ž@l˙ć›ËX\жŞř{9Ž_{íuu]Ěßkt\w¤ôpGă§3ĺ–-[ićĚ­¶A+W®˘T8Żk%rĽěnńi*ś1'ÚÇŽÓ*V@śA2:3ÖÉ$oÁor \í!¤„x$ľl_ B÷@„?‚Ü(Đ0Ý×ë¦ĂĐIŘÉ…ˇ^3÷*ń)€Ĺ¤ Ď#”6ťE’‰dµ ŘúÓe?"9D0#¦żřĹ/éë_˙}÷šy´äĂ'镍Ťä)ôr)®LéŚ<Ń€ýmcÝő™tęDsd*ś~ ú9ýô* #şŃIuĐźGF8“}rQ %ČY3‚ś:Ť ňą[ }J-Vwµđ۵kwp¤#Q ęDŔńeÍšµÜ‹äID7°REĂɶmŰ9Ů>źW%K§ÄĽA Fó`D–C'…±TVŽâG\“óÎ;—ţóźGx;xDÁ ¶ÚHśőväá3Ý]9óĚyę<îa»~8ń ±…ŁśŚpN!pr–h€:ľ˝@­Źó÷Ö[˹э*a$.F:iA>7şĽ—ŢÇd–žŮŔ9R ¦Ťq^¨Οm|~1Ę Ť)ű÷ďçňhř|âĽ`Ä5FˇTŔ5ŃĎńź ©µŢłč,QˇĐq Ý! ;rZËŹ3†::)–-]Ć!şT„§ŤŤŤ*ć ¨Ś0557ńßč`nQ ü-şü  ;zPÂ팱€Ć§â“ROúJH ăgś1›… 5ţńʱ€÷RÄÝ@wäLź~ZBá7b8ŘěÜą“6mÚĚůbQ€ß’ ÎdńrťGyŚďĺ' rĆ6p/Ç6¦L9™Ö­{7ᾢc`ÎśÓąC#ď»ďź<ŇB"¬8lŁÓ4‰Äđ]ä8>řçťČŁ3oc4Î'\cŔi§ťÚ*nA\GI|Ź{ěqš<ůdÎłđ}G§ŽŁŰ!ä×®Ań Ă ů�Î7\e±ŽÁs<Źu ÓDw”ÁşńĽ“lÄ_Ń>yňIją ÜYë…ý@Ţ«Ëébä;âč‘#GÚ9D®‚»¸¸HĹě <0ŕß˙ţţĐą‡řçźK\{\ŁDtôş¤ź\3ŚäĹu»÷ŢđuDC=~Łń™Áµä’ŢęłŇ'Ý!—–ř˛ç!ńefd«¬=îĺË5Ç.őç(ÉĹŃR^¦ŁM,úoi­ŠcY[�u®ÁŔ=»|W‚[zť:΄ÓO“ę¬G›Huuµş·a÷PÚ+¬…?ę˝ú–ęÇhٰ=Ö:cŽŐq íT‰Řë$#Ú~@‘}LNOüńĆ–E3ěőC”�Á ¬_(9†Xż÷śĄÍśç§-‚©Î÷ü‹.şžzęiľoឍűÜScỌ{"Ú©śe.{ĄsJGGă¸vĂ͢¶¶ŽŰŮ/á>®ŰHŃľ±+’ĹR�ń›âZÝ–ŠöS-8éNńi:đ}ÂyB,~‘ýër#_€ ×ŻŻX§=yKĽ�_€Ä—=‰/A„?‚Óý„h ępßT]Ż’1Żťtçĺű‰TGH ˘˛”;pQP=G-ěTÂΫ±ŽüÂŘŃ%Vâ‹çhĐť:u ˝óÎzŕéšk®¦ź\>™füh …  x©Íé_–ňEŻ:ćP}€Î:©/]6ÇIţóź˙R%2UP?•­Üăťvô9 ĺ°m.×ÍNłłQ!s†h¤9hľßźç‹MRÉpDµ“÷Ď7UĽZÍëÜnwpűŃŁ<Ňń‰O\›Qŕ‚ç‹/ľž~úNp€%JÂP˘ă /Hhé~ĆsčŃG·…'�Wź˙üÍö9EGFT`;şä¦xĐ€Áçwë çýꫯTŤĎp‡*Ë1ņŚříČh&€HhÄxőŐ׸ńBÉěsKJŠŮé§- r{ČĎĎgq—¶}ňɧů3tÓMꎮ#–/~ŤšŞ«k¸á&hěé�Kč8řĚ AHčţŕZ ą‹ĎĄbO—׾?C„ˇA»# LMuM5•ŞX#iŃaŚÎ t̸U<¶\]Ô6¨±É�ỏD7´Ćł|ůrę(z”mcCÔáÇíöß-Ž?ť耂ű(âŹŐ«×¶Zź5ş9 tĐŕý‡cô5řä'ŻłË!Á9÷hÔkâžŽÉ F?C¤LřP& ąšŢ–S·Ž«!bżřâ ŹŰČż>}ĘT§ĎyôÄO±đS<S§ž˘:Šf·šŹs€s…îč4Áőż&U!îŃ.›ń Fś?.-Yň&_ÓwŢYťp9ś'ŚLO”?e#ţ‚ŕ ý—č„ÁőŠYŹśąÉÖ­ą-úřÜť>®é“|Nѧ;ń4čřC‘¬3,×%\pž}ÍĐŮąté[ ŽĂË缳ól"ńeĎAâËĚq–*j/ú7ĄYĂ–“GýĂ<‹XbĹ&ş„U"˘Ž7Ž’WŽRUŻxÔď:~/ă'í¨Ží”±OÝ"CÔ¬âJ~Cđs說˘ĂţÔÔđ2Gű)âp‡čʶŘÇ*ĆëwśµŘH/ç1ĺLqeľ˘¦Vb JęqŕF„}ץČŕ҉űľxÄ9Ńâ(ĽćĹ:DZ¸V9TţräČÜ.†1(ď‚ăřS<¸ż ®9ĺ”)” :‡ŕs†8mśČSµ]"V;ďĽsč_˙z0é>ŕř1áx!XÖ%iá"ă,]Ű]âÓL@ !« ÚFŰ$B:©¬Ĺ‚šăëd’·€Yłf¨©űF:‰/{_ ‚‰!:ů\1»¶“oÜ$2ŕÎb ‘ńđče) P°%ÄĺRÁ©$lŐaßÜr”Š˝…1B-ţÁHf×ďżż‰–Żx‡fÎF_^¸ť~÷ň>rĺµÁőGÎ%+±•ilŤĹBęđĽyaúé'ł€çÎ;˙¬ňű±5=ňăE?ú@$żÜ–µmJ ”M37ňÔyŽ„Íçţ|źą؆ÇKÁ#ÇhčŔÜů$ő;Ł ¦ő§>őIŐY˛žGa;vŚÝaPč @§L˛ďżâŠŹ±ÓĚľ}űř˝X x”őŇ`ô.¶Q7HśŃDBčÜ©¬Ĺ#:z‚Ňbž+ŻĽśG´ ±#Ďp¬ż óŁxPľ"[ŁeµhŚn‚?¶‡ď¶‰Q,X&›ŰLPŠŠ yôh*Śę¨Đ©-ŕX±ř˝y÷Ý÷ŘéźK4:a?tŤc|†…ă ľ÷’8÷ d´LnăuĹZ)B| {Ű ~cYđO}źŃpŽ8׫:e\ę_8âךÔý Âź†úFá~e–KÜYآŁčăkhŚ }—{)w:Hş+ÝбŃÓčÜĐĄăâţŠŃľ'“ב@ŕ¸t §Ń€{5\~ŕR ë}l÷xÄ7č0A „6“}­¬ĹŰÂmÄčdđëBś„‘ČÇ{0�F›_sÍ•\˘e•°ŹpŚ4hwZ$rNŇ ĆÄhrtfěŢ˝›c0”SèrśGĽžL ®Á6pM‘ŕ|›±“sžĐY–ě<e#ţºфí¬]»Žc[K^žź†N3gNçĎHwţ�|~Ż»îZµj5öp,8ꏦř #OÂw(˝.©Đ× Łß±~8LaýXr—ĘĘQü]íĘ8>H|Ůsř2s:ň™ŹiÔŽ?ýX^†KRáĺhcĽŰŚáôú‰Ѳ^ń~XäŁţĺ«ß4tÄaŇÂ-vÁ HÄ’xâFüNáţ°_ÝgXś; BŰ«'ü)PëD|‚ç}Tl˘…<pžt[ ýČeť§ăŹYľN;†-vâ׍Řf1ĄÍěçqĄÎx˛ś„B–čG °O~őه8_OÚőĄË|– Ŕ{[˛ úĘ&=®˝öjŽŃĐŤ noÄ븯!&ČfçkGă Düä'?®b©5Üž…¸× ‚1´cŁÔV&"«K.ąV®|‡Ë—"ĆE[tccëAÝ%>MJ{ázăĽÁŤmľ¸¨6eÄ(hoNEgĆ: QŢ‚rÔ$9lŘ0vś'p!_ö$ľ“L类 _seđčJň·žÜŽG=y¬yž¸ ݎÚ—‘łÄ$Śq ‘¶;ERÓ¤:+�Â.´3÷!ŮĽřýH2ŃwךŤ”Ö…Ôt¬– KŠhăúÝôź»^§ˇc†ŃřŃCińóoÓđIC铟›ĎAf:<‘}ěč‡Ô·O'GÎÎ{ťČB\€Ń|÷»ß˘˙Ľş†®üăZň”§Ý†W5‡jšč/Cß»jBň{Ý4ő[ŹR±7LK~x'µuÎOüĆă´˝ÚCn/F¦$_§ĘiŘegl?6üß…”WXB˙űż?˘yóć©`},7"Ćë8śCŚRýkŤšQ1\­#ŔŽ=‰ŕ ĐOŹüă-Ú°d3Í\0Ťęšč˝ďÓ9×L§ŮgM¤Ćş&ň©$řţ:ş~`>;­ ńŻťL€OwpAčnč‘™B÷ŤňÎRť Ń€ZPPČŤŢşQ_ßßcĘ$ąŰńeґΠbFçsýGśŁGŹŃ›jéw+űP¶©đĄ‹úŻ ĆŚâż_{íuúÁ˙ümÔ;*°yîągé¶Űnău4ü˘AßďóŰ1k(lv¬ ‘ bź†ú.ÍPW_cóÖ‡ĺ:ÂK/˝ÄĺÂаóÂóĎđ<4ĽoÝs„ţQu6e›"O Ý{­Ź?źč؉bÎLbO‰;AÚŹÄ—ÝźŢ_¶Ą 2Q,©KŕĽůćÔ.ô:q|Žuk! Ž"”˘Â"ňůý¬#ŹXbvɉ8n’¬›Lń »ő¨xßO «U±ŰÖ~Ž% ě{¸ÚťÖÖŘĐ@GŹŁý*~E9§*ŐŽç”ůBÜ_ň ű_¤âS~P&:úWT°ë‡hÝ0’8¦;ś×±?>k`b[‘‚j C¶c- J"�˛—S\~š›šX„€öĐŁę8X|©ÖQ\RÂm§}Ôw�Ç®E?níb¤Îân”ZÂ1śuÖ"Ţ/-–řS!űH|ŮýÉĺřČ}¸{ŕ÷ű`ĹŚ łÖz ÇM†őqL†ă1~˘$§zŚOZGqü„4h;ÚüŁ‡ÉŤŐJô|~‹WB*(đłÍ­Ă …!ryR—˛ÂčOaŐďiâd ˘SřŁ]đQśŰwěŕůĎ˝»—°.#S·źôDks§˘ —ĎM[«iÍöC4kR ʏĆ(ÖDN?DŃF 4¸‹R(’z76„#|.ńGžÚޱůÜo•ő20ÚÜŻÎýľ”?â”V7RAář†LIś»7-%t>!Ś…0˘!úšÁ‘­Ł@TÍń›Ëě4AĚëőy­NâR8AřŁ:7 Ľ©gńOęmC”ÔQ´p¨Đńĺ9Łk\đA„ăė݉/ŰF»\âůt{™C7tTE -Xi-tJ$™ÁrŃŐĹ;ŢđĆĚR_jýxôz}ĽŰŮĆ*†G†ŕŢh 史hÎxŕ$á —řŠ$ř˛„X.k{Ř1ł Ţ1ť|\I{FxÄ1ś‰ÔţĹ8ýŘN@FlĎŤ-ďĺ<f˘ÖçM—ĂľÔ±a°_~Ő¶Ě“ßĎíĚÎs˘ŹÁŘ[%ČA„ÎGâËîŹÄ—‚E„?‚mł:Đď¦Ăxb‰r|^SřÓ S„ĚR_@GĎx­e’‚×|ŞCŮ0˘„I¬N‚ÁiSOáÇeÖů˝ćť qe°@[43Đ4…Dol:Hł&Ťˇ1ăĆđ~˘†s"tâËö˝Ĺyć±»Ý)w¨@‹YşŁ^PjĘĺq©sî¶-„áNTÔXgŽĚé@™/ ‚ thĐÄ„†NˇűˇŻźŰ„ wLçFc’‰˛3ečĐaěäâ”őB…ÇË%µ0 ó¸ęĐhjj¦&ŐqÎ#MśŠŮE—ź*°ŽpYĂM‚ BĎEâËîŤÄ—m'ˇčĹĺĘ|7˘Î=:>ڱĺ¬ĚmĄţX†7ćSCŻ“ ‡XTá­ő¶,w!K"n­ŞŞb·J]Ţ óg&‹+q p~Dě[h9嫿µ&F“äý\rŔíâR_dť›0Jź…”ďŠţDWÚJôx4¶E?-áÁ…âKřÄçA˝Çí¸ž.‡CS[®± ‚Đ~$ľěŢH|)±đGčŐ¸Ň tČtüÁh”áúŃÚ�ąT‡ŢâĎ÷©ář&źÇ@Ńa~©żý^sđu’ľ$ľnQťę$qY#Râ1ĂmŰľťÎ?ď\zű>úŕ >üĹ<"§ ó§9˛&Î"—2‡Ď—×GŻn:L_WĎž=‡6¬_O#FŚŕÄÖ)‰&ŰęXÉ3´€BM-<’%Ő!¨Î%ÄTŹ›Á*Ď+đYvĽn‚qĐ`ż×¶ĺAr4ÄJâÜ=)t*„ÜĄŮČSť9aîd@ŚWRZÂóń7:M @íečС4|řpÚ±c‡ú«OĹ[n—ˇ;±¨îÔhi1Ë}ˇc#Î=÷\ę(‡âÇRëxF}7D¤¦» BOGâËî‹Ä—mâ–¤´E˘ŰçP’ŠČvÎÖ‚su±"ž×j“ün[ýă~Ăë7¸-3 ÚîćěnוּN´áé2\X1$DÝĽWMMÂvR'XJfőďßź]*ËËË©¬´”ËŠůąt™+ĆáČŢ}Ţti-Őľéa×öčů±(}6˘ŹFBŃŹ-üAÉ0‡đG ¸Đţ±Ęơ$Űáöă¶J~q)4Ë}^Ač$ľěľH|)±Hoą 8p ôs3!uŃŐů±ĺľĘű“ˇ4ä…čü@˘Áčbő<Br¶ědŤ¤‚—eŤŰd9ú8Gdëí7Yn@‡äÇ—×î ŁE%€ůčŘ vőzĽŃhťLa·!ż—V쪣C‡ŹĐŔţýhďŢ=,üÁş‘:G—ë䶡Ą™\¨‰Ö~[OÁĺÎ@^śă`Ľ^ŹŮ@‘ćęÜŤ<ȬKn)zSŤjgA„®÷PŚľÔ÷4ˇ{€k&˘ÚîAKÄOrłűŽßí§ˇC†p§âŻÍ›7wHř.ĽđBúŮĎ~Şâ;żÝ! bGĚ‹ň_-mhĂű/˝ôRę(860|Ř0{:jĂ]WÓ]A8>H|Ů=‘ř˛}QVpąlQ D'Z4nęclźX·#‘đÇ\N˙a.g‰~Xü†#6Óíťh‘ĂŹŽSuą/=ˇ„,ĘĆbJ'úALZ\\ĚbźŠŠ žHĺ}űĆ~Î î=TvF”µŤXą†-ń·ŢxńŹ-Ś´Âxő¨ËÇhqÎAXV‹~¸šUęK;‰{ B×!ńe÷DâKAhŤ|#! H@1b¤¨¨‘ň_|†Śë?KMÇČźç'ŻĎkŠR\y|~ Ećd^::ilšÉ¬3©Ő‚#(Ś‘ 0翲ńĘn}iŠZíż˝^óńŢ›fłhIż†’e>Ź×ĘŢÓ‹c¸R—×EGŞ´rëAş°?•ŚćŮu´ă6úŘęŕôă1Ë0¸¬šŐ ÷ „Ôą4K‚Áé§" µźyů^ЍÂľĹ|ä~<ídusĎ·k`ÇŻGA8ţŕŠĆN]ľRČm0e«Ačt˝5 Éďół�»bĐ Ú·?mÚ´‰Î8ă ę·ÝvÝqÇtěŘ1ţ;^¨ŢV®»î:7nu[ř3|¸=ݱ%LŐ!©ë.‚Đř˛{!ńeűÉÖ(v.ďŃO(Ä킡 ĺĆ­ŰÎâl¬ąÎĎĽ¸(Füc;‘ŁÔUŔvôđ >/§?XÎeąî®’[“ ,Ď€iČŕÁ4lŘ0\QAýűőŁ’’˰P=αČeKD;óXŻ{Řyx€gl‰˛Ö%Ďl1T‡$-ęÁoSss 557ń9Ŕ<|ĚA˘ć9Â2|¬sŁŻ‚×ţ #3ĄŰ“ ‚u$ľě^H|)‰q“ IŃ#Op)/ďKăű÷ˇ–‡¤Âň"rG‚”ç÷°; 27ŚAh ±#Mę›9hłË¬Ä'¶.`Ť{ŕŔ~:}ÖLjnjb‡ĘóŮÉi¦Ä$ąjš6a$ť:~¤ĺôŁ~T'Q˙•L† reXôË Ë"ĂCŻm2Ë,ś<e Űňj[['úďFuLč+JµËm—ĎcĹ>*VósŹ[ý`ä+-¤ŕ˛7čo„ŻIYY™|ArŚČşr­şGBĄ<ŞZSYYÉŹ+V¬ ŽŇWu¬|÷»ßµ˙v–~h+ĄĄĄôĂţ: „ćkÖ¬áç••Łěůč`9ÇA„Ţ‚Ä,ÝąVí⏎NůxôűŐ”ÇÂĹ=n·ęR_É'Ę๎µ°&Ě%XѶi¶o†c&ÝN¨Ë€éýL%vA»–E9/8ZÂĺei‡©iĐ A\ö îHö±:Ž=ßy>Ôk(ŁĹî:8–‰÷>îXl_ç±RbŃŹvűËQ€Ý~šŘ5q+^ó8Ęy‘Ł,XçĂŠ­ńźµŹzżA„®Eb–î\+AHŚ„^C2qHüüDË!ICgĹĉh¬ –•«¨ Ľ\%Š,m ™1GŻ„ aÄĄÝ2TžŰâ6M·âĹ2°ĹĽť»vs‡ËŇ÷vŇę;í´µŻĹ÷¶µpĂś; ÄŹ(CÝ×ě&ź—^˙ŕz¤ ăÇŃöíŰx˝Řw'Úń§1‰“tŐŽC•›bźËM`›ŁĽâ"2˘Ńű?¤qăƲ•Żł4› ‚›`†$d஑Xäv?úPCS‹ý÷”S&ó㫯ľJŮ�®?×\s utdüóź˙¤‘#GRGyűí·©ˇˇÜ*ö›<ůdž‡¸Ů‹đGˇ7!ńe÷@âËŽ¶ĆöNÚiÇcMZěâv»˘mh)E?qî7ŽRW1ď#ŠÎpŮ,ÄfÖÄqZ+‘)üÉĎĎçÁ–ÔAĘwažvŇb¸ů@č3zĚŁ¦ŃŁGłŰś úhËy-÷ ŹuüÇńë ëÔeÎČÚ÷˝źŃ}µ?-}FFb§ítˇÚE!úÁ#ś#p^µop6Š-ťőOr[űŠcĐÇ!ßA„®GâËîÄ—‚ůfBś% ĆŹOµµu|o-í<Śü……äŐËSžĎCŤ°km ¦ˇłDAŹ7á˛H‘0öéŰ—˙^üŢ>˘0ęN«d”ÚFĽĚĆíp#2,‹ťAĄůĽC™JgX0ä÷Đş} ´u×!7j(Ű×b}ŘwmE¬Ë–᱉2©&fđëáěq vQň¨#Ž„‚äËCĐUHĄOÜOCĆTŇ”)“íd9žLÄ\©ć ‚ Ů ¸hmll$!÷Ŕ˝×Hč~ě–ScÓűďÓ¦žĘŹ[·nĄíŰ·Ű@íńŇ_˙úWŽő}ôQj+]}×]wŃĹ_LŮŕĺ—_ćDZcÇr'ŕÎŁ@Ĺâ22Zˇ7!ńen#ńeÇiŻÓbüűMWëźAqŹNJ^ę‹bŰăÝo"ńŻ»Z·IZ;cŠaT‡\mж‡R] C†p[(Ö…¸S’„C>KUTTеÜŕÁy0`_KôĂ岬6ČýtěŚPÉŠ´hÇéH1ĚÉ^™[ę+WŚÝ~¬_ř=jRSsS3EÂň°Ó’šx?-Q“ž´čG‹}<Öë‚ ÂńAâËÜFâKAHŤ!Ct2ÁIuu Őżü8ő™˘’¸ý †U’¦ľNěTćQ#şlUÂuˇ†t(śo d´8őźĂ´cÇv:káBž·dËQR™"Ź”ió~§zŃRâT@řĂŽ?Ž:Ý©ŢF™ă˘@M„ŢŢz…?••Ły$‹Ďgţ¬čăщ:ÜŤĚś9Ť( Ž?-Au^CäË3¬p H%ÆQ᧡űÓ¬Y39iÖçMbA„î’3üvŁ“^ČĐX®E»B÷Ł*TÎnŚ-.ဠ#UUUôŔĐ·żýmę(řŚ<üđĂô˙÷ôă˙8ăďđ 'ś@˙űßéôÓO§l€ßŹ|źĎś5Ăž_ßĐD{Z’ ‚Đűř27‘ř2;tTřż.ŰÁĆ!ú‰ţ±Âr gô<{N«÷Ů ąK‰ˇµÎ)ráÉš —ăRťw+*ĚR^}úĐ#¸}Q·'j\ŕŠŢŻĽśĘűőcgvýx˝¶č'ŐůŠyÝ劊xÂŰů'bą‘ĂőÇéçř…Ř킟†úFŐYÜd»ýř­Ň]xôŔ‘Č!üqŠ~|–đÇm‰A„ă‡Ä—ą‰Ä—‚)ő%”Ţ!Ćů7Ň9sN§áűŃuá·Uâ™ORI¨×L ÁHrĹŹ˝B•(† µz Jb$Ť˘Â‚|Úşc­Ţ§Ś|ŻUš+3ĚE#4Ş_úaEź|ĘDđăÄ…„×ç§Ţ«âżO›6ŤG•‡ĂNvíý°’ę€×oŠˇŇ­Ž?óüäąU'VD%Á…eô ×rYZHgś1‡“ýd˘źLÝ~A„ă¬Ü‘¨ ą®®‰Đ} .ÚHuuőü7ÜĎ^t?ż÷Ţ{)[ ¦úÎwľC|đ}á _ A%]î´ÓNŁ;36lŘ5Ń@™Ż-[LwŁł-˛çW×5Ї-$‚ ôN$ľĚ-$ľĚ©ËpĄžś%¶Z—ŰŠ$_˛u’#jUľËQş ňĤî8wgť.ă…ĎĘ Š .ß5iâD:ĺ”Sxš2e O§ŕQý=iŇ$7v,—ü*ďŰWµ™šN?Îr[z˙cŽ×z-bąď›ÇŢ7§ř'úľHěqĹ•ůB­1ׇT[°Y⫡ˇQMőüŻÁ­¨@µ#Ł-9ĎrüAąZwĽčÇ*ń•¨ ‚p|ř2·řR2C„^…Óöµ=ďx?jHžyć| ^¦˙-<FK©–v—“;ĽŹ‚MÍiu?(މ„ÉU[/ &F„ Ů<餓yŢîŁőÔXÓDT¨Ä<7…‘Ś$:ĎŹhâ0ł\;ÁNéYĘ L1R†§Ćă†eŻzCs>Ř{”Â-Ť”—WH555fYݦ&µł?ůEä ›nG©`Çźć�ąň¤ţů}ě9xÍ›w[ů:’Ú‹‚AŽHÔđ;,¶ąÇŚ’‘‘2=­MChdÍ{\&ś{î9t˙˛HçŐW_Ą P¶6lÝqÇtűí·ÓŞU«čĂ?¤p‡:bĐQ3|řpę &'žx"Ťan+;ď Aˇ÷"ńen ńev ¨6ÂŽ˘[ż |A9ŞP(¤Ú ͶEĚsëˇ1"˛Ú Łvć±í©†=~Đé¤Ă˘Őî1 ćůt‰+źĎtł±Ä.Î69-~Hńd‹jÄ>"ľĂ¶!–Á:üşdĘa©y�ËĄo„u–˙rEÝâD?,üaÁOÄŇů8~(Ëz_(b÷ö¦¦FłĚJ|©×Đ.Šß% ^Ä#ŽÍm ČţÄ~,ç"ĽÇ%ÂA„ăŹÄ—ąÄ—‚9"ü‹xQP"‘Sü{ŮłÎZ@K—ľEÔn¤@Cí,DM°Y6+Ő¶°Žp„\E%*ˇ­cg$vHáçtŘ€y'ʦĹßőŇ—î_Cv4çłđ&śÂţ‡×Ż^ďWěˇQʬ}O¶$ŃŔŇ•ieRHĚ«6jV‰u¸‰>sÖ`úţGO!·ßT>—••ňcĐjpŽč1ŠŠůS&ä†é$ÔÜ p~ťŮFg5ahöěYÜŃäý»Ź B÷ ;ëëëIčz b–šŘ=‡]AŞ`-‹`p]GŽAS§žJ«WŻáŇ\Ůţhđýť>}:O]Á¶m۸třče±ç­®Ą[†PXĚlAz=__$ľĚ>ŮčhÔmeö $UPM–]˘31ĺ°Ś¨řĹZ ¶ĚWśđG·×A¨Ăe­Ô#FçkÇ[đşĎ�a lňĽ,V‡G”ĹŠ¨eő~`Y á=ŞíďqAđCVű'e†YZËĂâ9E?sŇŽ?ÚĺÇv:ŇĎă\”đ^¸žŁ´Ü~š››ŘÇ G˘˛˛2ţ^ŞŽc}ü.sgX�äµÄLş\Ö§ËśąÝŰ ‚ ä__$ľ„¶!¡×ŃןtâźţýűÓŮgźE+V¬¤Ë\{h¸{+móO!·JŘ Ś!·?ńzÉLž}ůä1mq ‚<žxâúůĎ©:iÎTť)ÓhÁ©ciŐ„ úĺÓďŇžŢJÁ€—Ľ …Ť$ű­ÖPeE>őíSlÔIäřc=ö/É'· ´‘4iÖŁvBµÍ4Ą˛€~ső4:󔱼^4üĺ/Ą~ýú©›pߌ]q#‚|j>ä@H’“ąţ<šG5�—ÓÇűo§…“úÓŔýiĆŚé,´j«čG„@‚ ą 74r"yYŤ·Bç‚óŤű4…žCĐđŇÍ#¨ôŘQ:ŘlůÄÇŻcáĎ+ŻĽBK—.Ą9sćPw&üNŔUháBSČ„Ńęuuuô^ădA ńe×#ńeçQ—A'c|Ë—‘ŕuíXq”˝Ňn3şÝ.*rqČ{¸NŻ×Ů@Ěű´ăŹĺb“‡:5OŹĐ‡�Ĺ-dŠ{0!Žă’Xj9vŇm…1=¦;:»ëyqŻgrü8lĂçółĐ˘ĂZ7‹~t™Żř’hvi3Š-D:łÄZ ÚáăĎËŁŇ’ţ@ôżµK‘Ţ'—.őĄ®:”±>¸a,ú‘6MA„śAâË®GâKAhňŤÉ„>©Ä?H`çĎźGďľ»A%fďŃ˝/SÍ‘+ČWRFˇĆrůZ‹0úٍo!ůďżźÜç,°UĂX’a$Ťp·Y»v=˝ţúkôŮ›n¦˛ŇúÖĺłčŞYŁécXJëv4‘ŻŘOÁpkź$°‘P&†ŰŹ—ÝĽî䥾ʋóH­Šjł$Č+ńV˙Fęé;—ŽĄ^qš:.łSé˙ř'íŰw€®`!Tź>}bŢ[ZZJÇŽUÓŔőoŃŃă(č2]}âXCíŻGť+Śń9eőĂTqŇ�;v4ťvÚT»!"ľx*R-'‚ ě·ŞŤ7q06věAČ$p¸w444p©HˇózŘ=› Ť•4ˇnôă‘Ô§žz Mž|2­_˙.Ýzë­´rĺʇîÄŠ+čž{îáçżîű8Ş««éX¨”‡ú ‚ h$ľě:$ľě\jkk3ZN·rĄćq‹.3Ĺ‘VžxáŹý<Ťđ‡+–‹ \{° -úѦ�ËŔuĄĽšTű'Ä2Á´j«ÓŰN0?ˇ¸‡żŐ–č¶\€.Ő łűzÄ)ú!-–˛&§Ó&~_šąÄWwCřőAäÁ&´‰âř±=ÝîkRÔ!ÝY¶ ë‚řÇ•č¸A„ăŠÄ—]‡Ä—‚Đ~Dř#ôJÚâú“ly§řĎѱ‚?:UŠ^}śvOťKů•ă¨éX5†qŔ›–Y$‹…J©é©Çi\i‘J‚Ł71˝N¸Ű ´„pĐąű®żĐСéšk®¦1ĂŃ›ß=‡ÎţŮËôöőä+Ék-ţÁz"!š{Â@˛v’)z\Ö—ýJéÄ´|gÜynr AôAé„úFúőÇO˘/_t*Ç–­ŇC˙~G]Ź3š†FăĆŤm•¨›5­ ©Bť›ýţŤJ>u#Ő¬Sëđî?„„9Dy%}ČŐXKĄO>H}Őy™6í4?~\Ě9N&ŘénBžµk×ŃkŻ-IúşßďăĎ„T'ś0žĎo.ă‹/ľLďżż‘÷ď–[>óÚ“O>M{÷îăç(wňÉ'‘ B[(˛FB˘ÁvéBö@#7Ýe”L×ŃÖX3T‡‹iW`0•>J+ĚđÖ/~nţÜ-´fÍşăŽ;čË_ţ2u7ĐrË-·pg̉&ĐąçžËóń÷á#5´Ľ~ Ůă‘GŁÝ»÷¨|¤]ý'Hˇ;#ńeç!ńe×ŕÉbą'Ý2čl!ÔB§+-č±ĘyÖ;l‡đ8aP«Ér¶Ă5a´ďYÇĺ˛DH,ü‰ßádí`mhăöDËYGO¦›ŽÚŐ–B™ŻPČrü1Ď…-üqOĚsv а`I‹~0ˇ#ŕ7‡Ý”ÔÄNFu[r:™»-ŃŹß*÷ĺA ´6 xAŽ_v_ BÇ‘oŹ Ä‘¬Ł&™řGĎÇ4bÄpęÓ§Ś–,yüďľM[ŞPÉ™s)4óâHŁD‚kÖŃřćZ:yúTůču˝Ť!C†PEE}đÁÚĽůŞ««§˙ř'ôµŻŤ]U^űÖŮtŢ/^¦×ŢŻ‹˙`-!őԝ'ćyîIc8lpýí'ô§ĺ[w“« Ź´ňÇý44Ň]7NˇĎžĚ ň¦MĐłĎ>ǢźĘĘQ4a öq8ĎŤ>Śp9ůäITSóm}á%ňĎ?›·áń»8_÷řšVo QﯠbŐÉ0oŢ4hĐ zŢ©®W&ó2y-W‚jŞf§¤-[¶˛›ŇśG%%%”«ÔÔÔŘĎ1ú^ˇ= ±Ă=‰3QŃ*´8ća”ŚÝ*ô|V4ś@#ň^§~ĺ}řşC”}ŮĄˇG}ŚľůÍoŇ™gžIS¦LˇîÄ÷ż˙}Zµj•Š]ôĄ/‘Á‘ŁÇčh¨ö ‚ $CâËě"ńe×R×ÖÖ.tű+pޱ&7‹R\­„.D±n>ZňŁ[D:Y˘¸ÖŔ"Ľ†ď¦šđŮA›ś.V ¦"],A©Żl EN8Vă Ěeq‰ŻPHíźÚg8ř˘«¬—Uâ+Qůݰă8ëŐq˘= :€qŚč Ć1ău{pěv)™mś˨Đ* †v^.–ČůHAČ9$ľĚ._ BöáŹĐkI5»-â=BÜđĎ9çlzë­·©čč!Úü·ż HůĂ!*PAľşy•—•Ҹ©§Đřńăí÷;×°.$Ő 2Ö­[Ďóő‹_Ň×ţß×)ݰ^úćŮtö˙˝@Żmj°Ĺ?x»Ó¤ÁtÂpł#ÄíN%„1Óŕ…“ÓOźÝAĂLč]ŃĎß>{*]żđ$޸=˙ü‹TQ1]‰ Pr6Ä‹tô91bťq†‹J׿KGżŹšZš©!˘ŰK݇&÷-ĄâÁjť§łŔĹ®iťtż{†űĎTő98p`Ě<”z;vě‹~›h˙ţôŘcOе×^ťłjçE‹Î˘ĄK—ńµCy6A„Ž€D“n0Ĺď˘9°ŇGĂ1gˇwQ*ˇMM#)ď`Ť>„çÝxă§iĹŠ•´{Ďşćšk¸l:ş/ľř"ýä'?áçת}‡ă@ÍŃŁÇhIí\A„Lř˛cH|y|ČÖ�0Ýf‰ĎŔúŘ­›ń7Îr_F|‰Żż h=,ëýˇT—˝ÂdXő˛đŮA;ľ‡pĂÁsŠ‹Šě×:Ĺ1ÓrŇÎBKńŽůd.{ťbE?ÚµČtúi¦úú޵D?püÁ±jq“-‚Rż3ţhń•]vL-‡e˝–đî8ě$ÂA„nÄ—CâKAČ>"ü„$´Uüt’Š›ýĽysY¬“HĄ:`@š8ńÄŚÖ… ‰ţÜągPEĹVZľ|%ýügż Ż˙żŻŞ›b!=óµ…´đ'/Ńňm-ä+ö›Éh …>2e”Z‰ŹBěč“<iÔn@gLFĂřiwm„<^XﺉęčÎOO±E?6l W^y•E? žÉ.?™¸ňčc9rŐŐŐ‘g×îVËôëW΂}“oŹč'ą<>ś]“qĆsčąç^ m۶sçÖŞU«ićĚ”‹Ś5’'A„lâłD!R@ŤFd$ÓÚ:^0Á=ÓgYÄ#az7›š‡Ó‰-ŃX 6É˙ó?ß§ĎßňEÚ¸q#]}őŐôŘcŹĺ|ĂĘ{ď˝ÇB%|ß§LžLźţôőökő{ĐhŇáP ‚ B[ř23$ľĚ ˛uîŃaŠn‡d—«ôYÂÂw@?7˘ĄľlláŹcFśPH‹ŘUH}ŻŕäTźŁúé˛^·čÁ~ú3ć×N<Yţ5!řq±řâž%öŃßý;ţĉ|ŘÁČ)ŃĹÇ ±łCmm-=vŚŰęjŞ«y]yęt&=8·¶đÉÜ»”HZô‡|ő$qüAčžH|™_ Bç#¡W“Jx“ęőř˛\‰Ţ›Ř©§žb•Ŕ2bÔ«Hę\ŽŃšdĄÄt’‰r ~żŹŢxcýňż¦Ż~íż¨°¤Ś^üĆ"Zđ“—iőÎ�ůŠŐ Óˇ+fŤću¸]éĎAH%ł…EtńÉ鏯ě'Oź «§_]7‰n:w ËÚµkÔvßâ\‹-dg#ěödëMô÷É'źDcĆŚv¨ [x=é$ż˝n>Ý˝ÄW<ř¬śwŢ9ô—żüŤËÁm)W…?‚ ť îˇ:)D*î#z©nPíé µŰjĆ˝WO¸W$» ˝ŁuĚ3zt%Ýö•/ŃĎ~ţKzć™gč3źů ÝsĎ=9íÚµKĹ@ç©Î”Ł4`Ŕ�úŢ'g?çŇ9#‚Đ}‘řRâË\'[×!Ţ]ýÉŽwú1'~…íH'NřcÄ b@–;NX?Şď“>]ZŚKpYB LŮţčöT-úq٢źĺJd  ú ‡#ćk†ăx"¦ăOı˙ř}@f}]»t=r„Ş«Ź±H·őBpźŻ…?h¶Î9ď8Zâ§ŃŹj/Ö.HzżA„î‹Ä—_ ÂńD„?‚†t%Á@"ÁŽ&Ţ%ťĐ(Ń2:ů52#ůď%K–ŇŻ~ů+úŻŻţ•–őˇWľąć˙ßK´~K#ťsZ_š<vJZS—ů˛×o=~fÁxúă’˝¨n˘ź\}"}ĺ’Óx[Ë—Ż •+WŃŔXôŁKq%şQg’ ÂÂ6ÉD?ütwü㚣ěWuu 7J$*÷µ}űÚ´i38p€í†=7+ĚQŠmĘ”“ąÓ,{öěe—ŞC‡ń:ňňü4lŘ0š1cőďß?ĺ{ńyë­ĺüüłź˝!é5ƨ(lc×®Ýü×"˛aÆŞýśl ĺARŁ“FA2çĽóÎĄĂŞ‚âűăĘżýío9çüóᇲčgĎž=Oüô§?¦ţýú‘šGyŚvďŢĂ1Őĺ—”ă¬+ޡť;wréŘ‚‚|Žł Â;vLJwÍL8|ř0mŘđÇŹ(qQ‰GqqÇŚ“&Md±™Xžß}÷߸ˇsđŕ şęŞ+R®çÎ]\ęĚś9ťN?}V«e˙b˙˘ä†ĎçĺíăřN:iRŇĎvüąÚ±c'­^˝†c`tčťsÎ"vgˇw!ńĄĐSI4đ˙¦Öíp‰„?Ńí˙YĆ•#§ŕĆĹëokk]şš™ĽŽnr{ܶ�Ç™ĺ·-ž‚¸ý„mqŹ)ři]ÚKwÚ"Ö€‹9~Ž=Ęâź&cˇt?[ ¸ł—KtŻăĽ¸­ŽO¸ˇ´WˇĺöăÍqŃb¤wß}OĹO»©ˇˇçˇÍqřđaěŢ^V–Ú…?ß#}đÁŽoPEEťxâ šŽŽ´'ţîwwđňłfÍŕ•ë׿Kď˝÷>_Ă`0D7Üp=ŻË ĘŐ­]»ŽăÍjuÍu¬‹vŇ“OžÄűž |n§˘=pĚhgEűě 'Ś·+‚Đł‘řR„®F„?BŻ'“¤2g h™TŽAé^ŹOž$ éDy¨yóć°řç7żţ }ů+_¦>}úĐK__H3ľ˙4ÝĽ`śőţ†”P:  «ćÔń#čśńĹ4ař�ú—MçDyéŇe*!Ú@Aôs'˛ÚŃ(Ů1%"“cNć”éz;˛L.STTh?GâéLF‘<?űěóÜ9â &,‡1!™ť?.ťrĘ”„ëÇgjńâ×8!u‚N"$ĺ~¸Ť>ň‘‹©Ł ±~íµ%­í‡áiÝşwU§ÎLš1c: ‚ ‚}>~ݵT__O>řýóź˙äFč˙űßÜpź ĽýöŰtńĹł¨1çĎö3:}G€KUU=üđŁ*N Řó ęƤ/]tŹ0ooĽń&­^˝¶UL_SSËbGthŔąRÇáŘÄ@čüŘż˙�wú¤ę$‚ÓĄ&^„8÷Ĺ_¦Í›?™ŹăÝ»wOňŕáVšŠ5kÖŇ믿A‚ ‚ĐSŃâgÉ)ľ?;ÚáR9ţŻ;VčŠÎÔ˙°, }Đv GŐ~nGŮŞ‹~¬rZü¸Ý–‹z-b• ÔP Đb;0)D?, YŔŚB=Ő74°ËzQa!ÇŇ]ď@Řăv»nďÔnÚé§P»ýÄ-źk,[öŤż6ÇŽUó´aĂűtţůç˛K}"öíŰOO?ý ·1:A\şuë‡<A@tá…ç'ŤMłŮžřôÓĎr¬š ۱Ďë81cÝ÷ąťő”S&«¶Öy Ż„B°cy'ŹA¸„ ±î%—\Ä>AA˛…2˙€L@Îĺ2Ĥ*ćÉ ˙Ěź†j¨~“~űďéÖ/ÝJôŁWľ6Ďvwq·!iô°3Aw||*Ť6ŘrzGd Pë…č#Xô>$:†Dűß–ůé^kϲ=aôCŤ3 Ćgă‰'žâ$ôéSĆŁ¸µ;Fä ÓďG‡:>0Â:§čŁÁ'O6‚Đ�˛oß>Nhź{îy*//§ö‚ýX˛äM~ŽruŘOě®:§Ä#ˇ^¶ěmn|™3g6 ‚ Bw Ł#“»šĎÝ|Ç řĂťôěłĎŇi§ťĆâźSN9…Ž'wÝuÝzë­\v1ÇĎ~úI;„ä`ôSO=ĂźÉŮłgQeĺ(Žá ‘˶mŰą3ăńÇźdם¶ĆʰjŐ~ŽQËéŕ0‰Ž,tr`$6:` ĘéßżMź>Í~/ś€ üpŞLV±ŕÖ­˙ź˝˙Ś–%;Ď3ÁiŽ˝¦î˝enUˇ<@€ �‚ …D˝‘Ča·ÔĹ–z(ά^úŁźšQĎRKÓZ3ÝjR\­^”h[MŃ“A€ �’đ�a ( PćVŐő÷źďŽř"wîŚHwňś“yÎóTĺÍ“;vě0ůíŘoĽ_^NA±@HŰ'—q×]ąĂ‚Đ ś¶Oë¸yó–pů;çýĽ*4h÷§ú>wćĚi˙¤¸ĹĐŠ©��ގĄQĽŞÝ~ŞRű×ŇĘÂ+”‚źVčŐ)ŇŠ9sÜ9xŮç"KJŃQâS‡5ĽłNąn/úŮób=<·ťĹ –ćK‚ /ňI»}½ň”`;^°âť~®_÷˘yĹąëMšÝ']÷®čţHĚS'úń)ÍZ-/ňÓŹÄB*ŻĎšľ_'ĆB÷„ĺ )Ξ=ăÝ}îľűnżžzę©lއü˝Ľw˝ë÷|Ü»îHě-1şö±ö„á>ř€?)nÔýF=°(aşîoţŔ|ßŔľĺýD‰m$ĆŃ˝QĹŹŠ1učXşÇú«żúëľÍ­VÓ ĐĺňŁc{ůňeë*ÎüČG>ćËżéMoě[‡–Sśm˘­çĹ/~‘w8’ŘIí•‹âqÝ«}ŰŰŢę����f€‚qm&)2­°¨jşĄţRÇŁ'ţů·î'ţ˙Ä˝ŕůʏ§ž|Ňť9}j˘ůŞO6ůŢŻk/ݏwżű=ŮMóGýÍt‰~¬Ö9Ť°g?e']ć8~ÔUŠq:;¦á“ zšůŇĄgüߏ<ň°Ş9´Ž|čˇý€ŮĎýÜ/ú˛¨Ť…?ęhščGťtĄ;ĹEꔫS­”Zß4čĆČźýŮűýßXQG^7F µńŐŻţż ýĹ_ü•{ţóź_)R��8L&őĚŁH7źů?˙Š˙˝}Í«_í§}˙÷}o+žv˙Óżů˙ąĎ~öłîľáÜżř˙ÂýÄOüġ§ţúň—żě~üÇÜýÖoý–˙,‡ź˙ář•öůj˙ţ•_uĎä÷µ_űZ7ĚsŚyăĆMźňJń–f Ĺ^ŃHŘ/·ž§źľäcCĹ`ă˘Á2 ĐĹt?řßßçĄú58ň żđK~G#ˇđG±©R$hĐC/uÂ=ů­ÔB%!Zż‰~Şž´~éK_â+ßůÎwůA éię*nßŢđńć÷|Ďwń´5��śĽ�Eť,Ţ“H&i$>…Q™ę*uÁ»–čĎő&úęOý•‹[Úí%·’ÝS\]Éď!6”nKżÓQJ°Y:5Št*ŤBř#´]»Ů}5ąüH Ľµąĺă™Üíg/›ß)¶˝—î«ŰÉÓ{mďl{×mĹV©\»vŐ;ÜXŞ+ąs‡˘/âÉÖ[+úÉöąî·y·źµµÜ(›ŢśSŃŹh\h[č‡ţvßýBĹPŠí~é—ţS¶żş^x:î䍿ď÷«ö‹śÄ%ú yÍk^í]J$ôńŹ‹±ŤYßO”Gńc,Ö©jł¶Y1˘ ĂĹ#Ź<ě–”¸\í•řG±os+N•ŕ^|Ó7}C_,¬‡,UÇ»Ţőű~›żřĹ/úóQB(���€Y0ż‘%Ŕ0‰ dŇţažëqĘUMŻúlâ=í 矍ÍMwwö÷SOM&Ň;Ś:OËY'î÷~ď÷ÜŁŹ~qŔég”čg’íŰĎ>·ě˘#ŃŹ:f-«ŚĄiřG˙čş·żýŰÜ·~ëŰ*óĹę g•—.]ݎýĄt U¶şęä~ó7“›–řŁľó,ľýŰż­Ż“nčƇl}MÔ¦'z���`rvҶK»ťňłž*ý©źúi÷Ż˙ő˙ÔWîoţÍ·ą÷S˙«żaŻúO˙ivóý5îÝď~·; 6łő_ţË™Ý,y)úůÎďř[î'ň)E?BBŹźüÉçţÇő˙-§é rm'TcOcWˇNOl ‹ÇE?úŁß}ß÷}ŹűŽďxGeŠ8ĹŁ/{ŮKýßřŘŕPĽii»4 "ńQzş\č©îľđ}óţâ/ţŇż_ĽxOmz=UmmžĐŻCOY#ú�€“€‰P$úY^Yö÷˙$Ôi6[…x=ýtÓŞÔ_…űOđw(JĽđ§é––—Üjvqm}Ý­­®ůßXMw®W笶Ĺ~$ňiµZŮvµr·ˇV»Ľ·$ĎÖv.ŕŃkskÓ -tżM÷©$X‘Č#˙»ăË{ÁĎć†wů‘ĂËłĎ>ăťe._ą’Ĺ5·¤3ň˘‰čuK÷L#© ˇčÇŢĂ_k…čÇ–‘ (™ă4_CéžsŐý .xIÝ›ŚÓlIČ-ˇ”řúŻ˙şŃŹĐvżő­oö"ęžç™3gúćĎú~˘čoxĂ·ÔÎW›M´ŁűáˇčÇĐ9­{°ćL¤6†„q§úYUĽéMop?ň#?ä~ěÇ~Ń���Ě„?�“şŐ”¨j~<ÍţVÚŻ7˝é[˛ŽŘE÷?˙˙˙?xsńâ˝î‰'žpă ŃŹ:pşyŻĆŹ?ţ„ýh@HťQËŻ7nۨm™ÖÝgŇeIô#·ťřĄNŞ—~ćgţc™A4UOąëć7ęň` i€-DťçÇ{Ě˙-qPU‡ÖP\OŹOŠÎťĎ}îsţo=q3ĚĹG–ŔŹ<ň°˙[4şá���“q»»ęŇ¤é¶ á°ßű˝ßíţÁ?řűeyäa÷Ó˙î'ÝţŔ÷űxáźřDvóý­Ů ń7¸w˝ë]ňd¶QţŐżúWŮşq˙ěźý3/ ąçî»Ýżř˙s÷ß˙÷˙ϛߊAľď{żÇýĂíµscË=»{ÚÍ3GŹščĄ RŘ| l<÷Üsn´Ľś},µpˇ]l!ˇĎ§?ýéeoÝşĺ)…Ž˝Ń µŐľćk^5t‡ëůŇ—ľ\YFvűIe ��0ď„÷ÔE.ĹZräQŞws©‘t'Ť?erŻľé®Rüă ËŇҲżŹx:»żčťpĽŔ%_‡bKeN=clŔŔ„VOł• }ÚEj1Ĺ rűQ&˛=ďŘłăď)ÖÔK1‰¬ŰŮŮÍî7íywA €tďi§pR™[7oąë×ň´^Š=$úąrőJnřú×O­{ŠD(Úľ% x§Ă·±%­,çűe}}ÝżtŻ·ďçÚ|ĺ+_ńűŁ Ĺ„Uâ90 í‡ĐĹ'FűçG~ä‡ýĂŹ<ňp9ý î'Ţ˙ýCÓŞY›•ö5lKڞĽ˙ţűüßćŇn„ÂřO|âS•ý)íŻa÷`���¦…T_�L“¦!΋=«ĺŞÚNłżĺüóć7żÁ˝ç=ěţíżý)÷ă?ţŹ}‡Fť3Í«CXu’•×ř7ó7łNíŐ2˝—¦‡˘źi?Ó°ź’EýGý‚ ăî»ďň®>ŁžѱĘsŽ_u7nÜđkĎ>űśűň—÷óőSVtłC+Pşˇ§ď•w{´s,Ň Ń(TFűC˘$Y)T��gŽ*&édŁ_ܺםĘâçÝwŃÇ?ńO~Ľ¶Ľţ»˙îe7Űż5‹!ŇýŐ‡?ěţäOţ$űümî/xAv#ţGÜýĐą—Ľä%nZtó]NB?˙ó?ď~í×~­tŃ Č÷}˙÷ş˙ęGţoµ"fĹŁ˙äźüß{ۧáĆM÷™Í—;DxŠë‡qď˝÷–KüłźËË—Ż”±§âPĄ-0âřSmSÜ)qŹWäÚŔüő_¦ěçÄiľ×:Ż+Öˇý`\˝zµ˛ N?��°¨ÔÇ™˝Ô[VÎÄ2I!qĹ}D‰^$v1‘„Ň]•˘źĘűšýÓâ"şo¤ßg1ű,1Ž5ťl=J¦&7঴ečö™ŕÇţv=碆ĺ©˝¬|7ÍS{ílo»ÍM yrÁŹÜŃ·łm•čgo7wűŃö›đgwwÇ;I(äĹ?Ů˝,Ĺ5Š5ne±N7+ݏA˘ťS&j’xGN?ý±L_ŠŻbźČ•ćT±l™ć«Ý.…PóŠ„Öř‡ďńűíçţ—|j­‡~ČÝwß˝#ăM—ËĄqšë î'Žj‡µyTś)tLĹĆĆf_ş®ç?˙˙đ¦ŇŠÉyőńÇ÷lęˇ]í‹PÔ���0k4�jFü.2n=¶\•Đ'žNł¶Ţwß}î-oyŁ{Ď{ţČ‹ţń?ţ1/ú‘óŹD@ayˇŤ:™z2B0×®Ýtwß}§{ë[ßâ;"V6Ősú¨íŢ/‹&ú‡WżúUî[ľĺ›kźHŃ`ŠŇ!|ć3źuO=ő”bi\Ô95tób–ňmnßî=ĺ]eÉ–Qz„?��0Źě'N< >xëĄîˇĺ÷ş«Ů ëswÜ1Ö2şIýoţÍżv˙ř'ÜĎ˙Â/ş|ŕŮÍóGÝ?˙ç˙Üż|đÁ,Î|‹űĆoüĆěćő‹ÝK_úRoűŁÁ ?>ó™Ď¸O~ň“îŹţ菼(Lů¤â»żë;Ýüŕ÷ŹÝ>ˇ__~â)÷ĺť»ÜÓ»ÜQ3Ęó(°Aa¬­őĘhPeR$*×y˘ 4¨6)ôHřŁeĺĆóČ#—ó>ýéżöďJůź_á9ôżń[n\¦i#��ŔĽ;d§Áż>ů–Ä'"ÍÓ˝¤<–Őß©˙śż§.ín?‰ëÓúÄ VMĎť˘Wü:ŰKKąđ§łW:5’F)„‘#wéi–é®?5/Ő“b&µSőűT]{»…€g«HďuŰ;őäN?;…ÓĎ^źÓĎÎζ@…î@ý(F2çlsI—xGiĚVÇߎţS:…˘źőlyÝ{ÓçEýWľň~|ŕňűW÷őrNT˙@i\«„9·Ťs/°ŠŁ¸źhmľté÷ţĂĎŤ˝śÎţčśřžďů.÷;żóN/Z—[Ąöź^:ć÷Üs·{Á žď^ńŠŻęŢ���0 �†P'Ä™¶žqë&�ŞYy=Áűć7żŃ;˙üÔOý´űo˙ŰčE?zÂ@" +/‹V•׾żüË˙9ëmxŃĎ[Ţň摢źý ~fݱ]dÁĎw}×w ŘÇę •ßú­ßń«łY'úŃÍŚ_ýŐ_÷e Y(ëęÉ=a˘  XÇĽŽqÎËĂŕ<Žâ-��€Ăţ}»Ő]użsőëÝŰÓ¸›·6ÝťçĎşĺěĆrł1:Ółnđ˙Ź˙ň˙ă…ż˙űŕ_O>ő”űň—żśÝ�˙ţ"«{ bhŕ$ ‰ŃŔÓ«_ój÷¶·ý ÷†oůć±Ĺ ?:ť]w{cÓ]zöŠ{zűŚ{ĎőW»Eä0Î ĘLRfŇ6é©o‰~ nH¤c±§Ytüń˙imzZü=ďyŻz\qę#Ź<ě§+ý°ÜDěö#¦ŤE5¸��p\čs”iHxŇK›•Jyăô‰~,ŐVŇpÝě÷T˘™ň™óŤŢ»ÝNéö“ö)~Š·´‚ý.‡Â‰‹––,í×RQo·¸Çč|,*ŃËĘęŞĐřǧ c’@ÜÓĐöâsüÉ[‘ $ Ď…<ríŮr[ýln¸Í,vT\şµ%G–·[vú~rÁĎćㆠ™ăŹ„ŞÓ§é E?>uŮr.Ü)Ň{%ѱŃvHôŁmÓv–.A…čÇCŤ1âňyŕëľîu^ÜŁMâď§ź~ÚďG s4MŻľđîŰżý[űR—ö3łł§mskŞôĂ?üwÜcŹ}É}ţóŹúr岩óő©§žöŻ}č/ÜŰßţít����łáŔĚJ�Ö5N}Ă„>UÓőR'"˙äiż~ú§˙˝ű±űŢRÔŇ~)”:ů…üâ/ţRÖŮÝÍ–ąÇ˝éMoôť4Ő]ם4Ý×$e¦á8 Eôä‡rE?ńÄ“îÉ'źrźűÜçý�IĚźýŮűJŃŹćÝ×}mĺ-–Ł:FOçzšiáSÖă2é:Â2§NŤv!��ŞŇ°5Ďěťs˙éĘ›Ýk·>ë^¸ń„k»ťÚ˛8‘păÂ…ó®]ŘĎ+Óóßü]˙zěK_rţ«»ř#îŃ/|Ńßđ7ńlđ«¬đ50˘¸óĺ/{©{Ík^íSś9sf ÜF6hpéą«nwűööe1B÷ŚűČí—»Ďn=ŕRwtń߼Ǟ¬ >«ĐSĐĆ8®Ź†bJý(5°\)ł†<Bn”ĂĐ š\Ł>ń‰Oş/|á ľ_˘4Ąůꇼ,;ob¶ţđ˙mw÷Ýw;��€“FaÔă˙I|:©ĐůĆ—đó$śÉ…?ŤÂ]¦águ˝Ř§S:Ţč]Âč䢟Ôţ/V­żü»_üăE:®™µ©•×S”íĄľĘ…?Ď(V\Z^ň"/˘)-† gźFŇsĹ î…v;]źŇKď»ŰŽí2U×–Ä;›^�¤ż5=wöŮń˘‰€Ěĺ'wÚ(Ä?›ľŚ‰8Ě­Gí\/Ňs•˘źČ­ÇţÖôV!ú‘+ýn?}˘ˇý.˝îu_ë_:r—kăG>ňQWJܢ{”oxĂ·ˬűtWăÜ ¬â(î'jť7nÜôN¨ßůťË흏<ňp)p×ůĄ{Ľz0S1µÎĂßţíßqďďý×Ĺă����Ă@ř0ł�…ő «s’ô_BťÇžóĎÜ{ßű'îűßţw÷Ł?ú÷ýŕËcŹ=ć;®ýüěĎţ\6hŁaÝßř†Ňé§Ş:­ËĎA ŽśWoů–or˙Ç˙ńËţď?ýÓ?óťÎxPĺ‹_|Ěżë)ëwĽăŰkëŇMŽ*Ôq_Zjű§­őT˙04¸÷ôӗܤh++ËŢVůńÇż2˛ĽžÚÖ;&Hý��0Źu̲Ů]vzë•ţŐNvÝjöŞbĄ±í^˝űy÷ŔőÇÜéÓg˛Řâ·Ô^*ç?üĐCţő=ßóÝţón6 ňTvăZbr{2ZńăşO°ćîşóNď@8ŚŰ·ną§ź»šĹ!{î#/pŹnݗš1h7üŮLW\'Ĺpô¶b¶{ď˝X[Ćâ-qîÜřń–Ĺž:ÖJaPçÚT{†ČŃG <ęih‰Řĺz)$‚ŻJ} ašˇmDř��' sâI»Š3 ‘N!ŞŃ{®ű)”A&‘ŘG)ĽŇ=/–‘¸eł˝Hü’§ăęeLȮ͕’ëŞ[—ń¤Ä;őô„GşżŁ—î9ęĄt`J¶,·ź,Ţ4M.űÉ}}Lż¤6ą$o—OG–µ_©Ă,U—Ä[ŰŰŢéÇD?›[›ąčg+m뵓;ü¨|ţž/c«.í­G wĽŕ§Hëe‚sę±?|·mő˘ź¬Ľ–=-§źÓ§˝pHuhűëÜŐµ]ęĄtU?űł?źťK›^Ŕ .\¸ŕ…?ŠŮLä]‡ö}|Ďó(î'ŞÍţč!‡QBúIŃ˝xŸzé>îűŢ÷ç>nWüűŐ_ýJ���0 ţ�LÁ¤©»&©s�¨j^ŐrVöľűîsoyKžöëß˙űźńOl?üđĂľĚüŹ?ë;ěĎ{Ţ}^ôc‚ˇ¸Sŕçh¸xń˘{ń‹_äźQGYOŃĽöµŻé+Ł›3âÜąsµőč†ŇĽUˇcţČ#Źř§MôÔÉĄK—Ľ ¬ =Ý=Nęł˝čE~yłł­şzőj9 $ˇÓ°›���0»iŰżŞ¸Ń]sďşö:wGó–{íÎgÝ#7żäíwál6`‘ VÄżÉrzđÁ˛żp“ §ŻŻß¸ĺnÜĽĺv»M÷á[/tźŢz(k×btK«žěŽ˙®ú|Ř(n¬‹·4(öéOçŽ<ýh€c\,öTjŮa©ÚLŔ3 µďüůsîĘ•«ţ)qµE1ݍJó%§*ťĘ}ěc÷ĺâA"C˘4Ĺ·r®Ň9 ��p\HĺvÓu^#uŚRw5łż˝ëOZřő¤˝”_†Ęď)ŐU!üÉ]n¶ —›NY_ľl_˛ŻR3Đű7 %BY=sK‹T¸ö4[…đ§­W. q…kąĺeě”öŻĆ;ůííćiÉv÷J‡ ~rˇO(úÉ…>^đ#QŹ˝GÂźÜéh§t9Rz.ŻލH˘¤•/ÔĐk9HGÇ}i×$ú)Ňť*D?z™[ĄřZ”{›Ú‡Ü(MŐ×~ík˝'FŰ%Ü´oC^ň’»/|á‹~+6•[P:®?ó3˙ŃÇ–Ší^őŞŻöÓŹâ~˘îĂŞ ™t?VŰP‡îĄjź\ĽxO_<Ş{«z¸RçŚmKŚ\ůťűs˙÷8‚y���€qAř°Of-&�šdž‰$ ‘řç˙đ˝î~á˝…č;ßů»ľOţŔĎóýU˘źaŃiçMĘIúTńMßô ~ Dťä~đC>§¶n:üčÉuÂŐ!ŹźŚÖPżű»żç}ęP'TťUˇ˛ß˙ýß;`1«']Ţ÷ľ÷»iyő«_ĺS>¨3˙»żű.żŽx�F7i~çwŢé·UÇ])A���ćiRwĹ©ż%¦ąÖ9ĺţđúkÜră•îÁĄ§ÝK7źp÷<÷k´V˛›ńKn}e9Yv+ËËyş!(±A—[z{ÓíuŢŮçó[_ĺžŢ=¤)»Ž3Ší$ĚŠ4ŠĹţËů]˙t±¨ڰ‹ŞAsŇ ˇRŇ*ÍWĚ>đÁ‘N’†Ú÷'ňgŢ‘ÔęVj†‡z°v <ýáľÇ=÷Üe÷đn÷7ţĆ[Ä?T\«"AZ0��g&Š5 ĹYťěţÉöŽ kZeĽ™;÷t{u¦ą8Hn9Zng·H{µ˝S¦¶2L)ĺIŁ•Ö7§O”§ĺĘţĎbľn!رôaö®é{rxÉ~Ż“Ŕí'ĺëö%%öń.?ć𓽼€Gqe!\RŞ®BôSŠ}ÂÔ^E*łü•ףx(°--ť$ĘŃK®<ËĹ»>K@RĺŇŠ~ĚѨ/˝—D?Ů}/˝ë>^(ú™Eżŕ0úеtźNhźë·ľm ĚĺË—Ý“O>é˙ťĹ _řß]˝zÍýůźĐ ¸ózčśP\§taz˝üĺýçÚaßO”ĺź˙ůĽČüÝď~ŹOS\%6Ň˝Úwľó]ţď8-bŰ\řÓô±r• Ş\/ŤQ.©����“€đ`†ÄŻý†uüÇ�…mPçęmo{‹űËżü°űµ_ű wöěYďô˘ÎP(úŮŹ‹Ď˘t\ §ŻůšŻvőWńťlu>ßüć7•óe©+ᏞDů…_ř%?xŁŁ:»Ę·ýÉO~ĘwVíię*î»ď^÷Ő_ý ÷±Ź}ÂwĆeŃ+‹Y=±Łz4¨ŁzVWW˛A‡Üç>÷y7)çĎźwßüÍßčţčŹţÄ·çç~î|Ű5�Łc®¶ę Ů÷Š×˝îµCÓS���Ěq¬V»YlÓjtÝ"±Ým»Ďm=ŕ_KÉ®»o鲻óƵěýŞ;ßzڵݮávi’ `4”ň ™?ŤÝQb®l ĄŰń6›éş»´{GöşčžÝ9ç.íť[H±OĂĺÇobŐÓ§Oůň÷˙ý „ĄÍşvíšwÉQúˇX«Jř#GˇřňCú Ţ}÷]ĺSŘęOč<˙µ_űu3Ţ˙ý~ ëĆŤ>Ĺ\v4đsůň•‘m}ŮË^ęţěĎŢ_ÄąôÓ$t¶ź_ůĘWř§Çő4ö§?ý×î©§žňőČąHíşrĺŠßÎŰ·7|y=©Ťč��ŽşWł#×›ě÷swo׋zÂôSćăÓd™č§›O3á‹„0ö·â·zŃŹsĂ„?•łŐŚ(ŐWKâąć´šEş¬¦wŮqĺo~ZľĄĄP©ăBť˝\´#‡młîyáŹD?ĹËR–…BźpűşĄ ?9+ÝXžv¬]¦ö’[OŰŢ}[[µbťĐĺÇ–—čGń’Ä>zů4ar ZĐ_­(^”Z1—b=Ĺ\Š3%®’ŕG”Ý×˝®oyí›oýÖżéţĎ˙ó?űă űŃrÔ‘řGűDîŚZ^÷"…\ă”W‡}?QÇéŰľí[Ý/˙ňŻřřTď0=üđCţXŢşu˧ł{Ł÷|Ă7ĽľŻ‰Ô%ü‘‹–¶]Űtď˝÷úşµ%d2qşR~©n���€Yđŕ�ŮŻhśô_ŁćŰ ”:Eꌼ˙ý(oôŰ<ź |ŚvL:o}FóúםިĂůńŹŇ7u|… ÔQľyó–űÓ?}ßŔňę ߼yłVř#$&Ň)¤Î˛Öóˇýeß|udßńŽ·gG“‹~ŚWżúk|§˙˝ďýcď@$1SŚÎťŁńÍ��€EĹśHÎŻş…e'm»Ç¶/ú—»ťO[i츕dÇ-5v˝0¨ťč†â¶ł˛;ÝvöŢrÝU×Iî8p¦˝›Ĺ)+ĺńśç6°ř›î?ý§_öâK{˘•ďřŽwTn‡âK ÂŐG(GĽůÍoô1¨Ü&ßö¶·z§ f(ž‹c:=ő,±Ť== Ži°CBŁ.ÍWČßú[owď~÷{}Ś|íÚußż©BíP{��Žr‘°ĺöĆmw+»´µłť«u’Â-Ç }ňÔ]i7í işÝŕe‚‘§Đý¤AÚ®Áô^cŢÓLĚů'ń➤�…ŻPŁ·\žö şýčµçöäúăÓ”ízqĎöNžĆKn/ćň#ˇŹąŮK4š ×*D:ÍfËßăjµÚ^ücÂꆬpîÉ…IŤ>WźĽť˝¸)tů‘E˘/úY_÷‚˝$ĽÖĽY:ý&jď;Ţńíî×ý7˝űŹ Ô+Fűę ořf/‰Q,ąôüöo˙Ž•Ë•Ň\ÇCyäaż®ŞűÓ‡}?Q÷ĚĂ6+ĺ—^1z@ňío˙v/’QlűĆ7~‹űă?ţSßŢżř‹żŞ\Ď]wÝéľű»ż“{ă���0Sţ�"Ó¦›…�Hóî¸ăßS‡Ô¦íGÔ3iç„ÎĚäč&:®˛ŠŐM ˝×w}G9_é ô$·D;JÉĄ§\–——üÓ$rtŇŔÎ{ŢóޡëĐqyë[ßěG”wű™gžńOI«ĺť~ýë_çĹFűţ=ĺ˘Ô z [ůżő¤‹u®ÚiJ���ÇžőĂݵŢuw´6ܵ˝5wŘę.ą-·ädîsxxMęÓ>.‹©zĽŠĂŚő”ů˙đßńi·}ô ~ĐbeeŮÇsrĚQşöhđBď˙ź{÷Ĺź‘räąçž»ý ËăŹ?îcFťărť”hGóĺ44.ZĆ„?Šőů(ô˝’ ç•Żü*/ŚW ¬6Ş­h»ďľű|˝Ş��`‘'íWZ¸áH�sóÖMďB"G•2ĄV7uťn§p»éxçź^Ę-W}ŇŇĺ'MSÓÜxQ‘­Ł·ľň/7ŢFŘ[.ţIň óďĄ�&)ćóĘw…BĄ"5—˝LŕÓKáµëŰ­Z$ŕqÁz3Ołp*E>اN”—0µ—ĄSl(ÁŹ^^đSü-ŃŹś´ŽQ[ŽËQÜSµR.5rąyöŮgý}G‰¦”rK÷řtŻoXü&§ńżűw˙+_‡4rúQÎ\ĽxŃÇŽşŻ9ŚĂľź¨6˙˝ż÷_{§#kłâ饥¶Ź§yäaß¦ŞľXIíýčG?–ĹË_)âÔÔołĚ•ó‘îÁrź���f͸ŃE2ćĽdŚ÷¤ćł˝Á»˝šĹ´fôŇ<y‘7vvv­.`nčď0¦}/뜪Ӷąąááxž;IL"·lUąQB1N§Á���ĚÝm4’ě†čZi‡>!Ţ„OK»ţŢçŚ/‡Ĺ_ńĽřóíŰ·˝Cß˙ţ_vďąúR‹ĹrcĎýă}½áë_ĺoÔ›ëŹ1/Âź_ů•_óߡsçîđ+‹‚Ň%üęŻţş˙[NE/}éK��Ŕ¬8Şř˛îž\ÝçřoKôŘXfŰ ~nąkWŻşç._ö"‰_LÜ#§ś]‰cvóYťŽ^Ý@ěÓ[_䲓v«ËUlaß[ot`ü8( EA&¸é[Cî>d.Fů+p1ĘÚÚ)ÄAĺ±ÓKü§˙”źfłp#JJw˘¤˘­Ą€¨¤-+D?+Ej/sřY[]-S{µ-MŘ>E???wŃ‘ MÜ®Şż«>×M��€é$ľü/KKíoĚޤ‚żQĽw˘WZĽwWĽÇ/WóyŘ{üwĚH�Ž?�sŔ(ÇžiĘÖýřgš?���pçéë:4 pţü9÷š;?ęžŘzÚ}vó˘Ĺ ;ęî-ç>ĺžw÷Yďś9Jô“Ł'©…ž ®J��p\ŘO<"ÁJ;‹I$0‘ĂŚ‰‘Ě!Goooąí,’Érr‡ N q…űŹ9ţt1ŤO‘Šž*[1™đ'¤W4Ű0§ €‚wÍËţÉ>çĎ ć@EJ˛žhË„:ćř“„őV ČŰhëłşB· ě)-‰~$ň1‡źUąüdÇcÉD?ĹúÜ÷{g±)���ŔÉáŔq x?����ł#Ä©ú,ŃČË_öRw{ă#nĺúžűř­űłâĄyfµąăŢrǧ܋ÎÜtŻ|ĺ×űžQOƵk×|úń˛ěűaé9���N“‚$F‘ŔäTV^‚Ąc Ób)ŘĆ榻uű–kßjgodÓv]goŻ_̦ţҲ…đ'Ť\tz™ľö)^ńjdöJuL¤SĺĆ“öKŽuło~č¨TN \‚‚u¸ MÚżűŕGb+ďôS¸ű¬i˝–ły*c®BŞ#ŤÖ;+7��� î¬Ě!“třĂ߬ź Ađ���09Uâ 666Üęľč^qúI÷‰›÷şŻlťsť%×E4´’Ž;×ŢpŻ\v_}ö·¶”¸oüĆor§Oź+ŤBÄČ=žyćwőę5ź’äüw"hµšîµŻ}Ť��8ILë�ä…?ívîü“˝w‹dîtĽŰ϶[şuË—3ˇŹÖµ|SyyńO™&¬[Š€Ň ±ĚÔBsŃq˝m·÷>‡ž gžŞňá´tjÖćŘŐ§Żi=g 2D?‘ĂŹ}–őn/}–ËO6_âe[î0!Ć���€„?�sĘ´Ž>Ć´" i;Ťt6��ŕ83lpfś•yÍk^íź^űâcî‘ ĎfË<ă&á°Ň7¦ł/-ťuŻzŐ+ÝÝwß=–č‡Xx<ţň/?ě>ó™ĎöM{ó›ßäÎś9ă���`xLŃç’ÓlzŃIé`ÓízAíćć¦îěîíą­ím·ł˝ă§«`ź“OW–Ó ÁO·"ćśZü‰~âm‰·«OŘě‹xůľ¸8JI6,éUą 5Ł´^­v»třY-Ä>ËŘÇ~Ěĺç cAâL����„?�sÎ4 pą†Î'���Ŕ Ub Ľüĺ/s<đ<÷řă_qĎ=÷śŰÚÚž‰ ç¤‹‚f“jg}}ÍÝsĎ=ţéó8őŹĎŤ7ŠA˛†ßĎŻ{Ý׺|Ŕ��ŔřłL(”Q,¸··çö:×Îb˙{¦Đ ËËšÇפţj¸‹-ø©Ę˝§ü»&ľŮ®05"ô);&řńbźŔĺ§ť˝|zŻÂńÇÄ>±ŕ'n?����ŔQđ`AÖř  S ���'ŤI]ę¦)u”@!Ăâ<ś~öϨŘu\źiÜďűľďq‹ŔßţŰ?ŕ���Ž;u1ă¬îíYú®0•WĆ«j iđ ä?Ą»NP×a9ŘT®'v[¬Y¶ďs(î©HÝ ~ĽČÇÜ}ôn˘ź@裿ŰĹô– ©wźPH5Ôµ…ű·����'„?� Ä´î?Ő����č1‰ř§jš¨$ŞAP5“ÄŞ“{f!���0°îď:âůˇŕG‰TÚEş*ÍÓgźŇ«!7—X|U'@ŠSwŮ4‰{*?})Ľô.çžHĐcźĄÂéÇć5"×$[çaQ'’"���€„?� ČQ €čT��ŔIgš'µ'ú„ńÖ¨ő›Mǰý6KŃÇ���EJ]%ÁĎęĘŠOý%!ŚÄ?ťěďná´(”‘TťËŹ«Hĺ  áNéę~´ŹbqO(:J±����Ŕ4 üX`C�DÇ���`|&Mí0©Ó.?“1n,;izbd���5±ëĎ4ËK´"ˇŹ+\~VWW˝č§#·ź‹#+÷@E°X c˘˙.1O!čń" ČéGŻxůđ%Žjżáđ����“€đŕwţöŰ!Ą3 ���PĎ(ןýŠ|FŐ łaZÇžqŽÇ ���ŞăÄQqĺ8„b!‰Zě}E˘źBđłâńQŃT,’ŠĹ;ń´>APđŢ·Î1cňŁdX›���ŕä‚đŕB‡���ŕh63ęéáEpXDöëţ3nÄâ���0­ g?qDčTŁ´VZ»eí8IŃɸ±Ü˘ÄlÓ¶“���ŕdđŽśY<Ů����Ç‹ýzt|9Î:ĆřěÇá‡8şÇ~7¦u���€Ĺ`^ăËY»�ůí4§ýsÂâĹăłáî��0ßđŰ óÂ82Ş:µ����p˛ŮĎÍíĂŽ/Ç”'51é 1ôţµÇ��`ţ·řň°‚Lz+tp<!ö��8çÂ<‚đ�����`J&˙q]‚ }fÇ47aý���ŔaĆ”÷Ţ{Ńż˙Ő_}¸ŻĚ¤q!qäŃ2il—˙¦űî:���� á9ýťýM§���ŕdŇ‹ ÷›ŠˇżÎŁOű–“–ź”ă>ĐsnNY���‹Ł‹/‡ĹUóFĄüše‰(h6ĚĘjÔ´qĘŚ;���öËlâK€YđŽ„şÎ­ˇy\,���NŁŇ'Ś›Žé(ăËIS6Äm;öŔd´#���Ç!ľ|Ç;ľ˝\O̰řQĎ|1©@‡ř��`>™E| p üąÂ.ŠÝn×5›M����ÇĹ~bÜň4é—#ľśTü.Â`Íá°ß2ÜĐ��_ć%ľÜŻëŹMăş˙Ôm 1ćÁ2Í94Îň¸ý���̓Ɨ�‡ Â+Ť†ët:noŻđ���ŕ„ ŘO(ś5‡_„™´Žk¦ă nČp“��`ľY”řr\ˇĎ¨˛Uĺ«ÖGǬś8Ž���GĂAĆ—�ł�áĚşXŞó˛µµĺ–——����ű)<¨™Ł/g!�Ş«ŽŽ��Ŕb0Ońĺ(WČşů“‚Ây!ÇŹ†ý:MM+ú!V��882ľŕЩ봆ËŤŤ wöě����ÇĹ~ÂQ¦±łź×řň @př0��°X,Z|9‰řǦŁDE0_L+ŢáX��-űŤ/$ip¤ÄŔübéÜîîn™+����Ž/Šůű)Śź™¦ł<ŻńĄÝŕŔâŔ1��XLć1ľg˝ĂŁDJÄ,óÍ8ÇhŘüýś?���°f_ŕȉ/ÍfËOŰÜÜt����pĽQ̧ŘO1`Č~:Íó_283ź„Ç…c��°¸Ěk|ą_ńĆ81JĎŰÓîűqAă¬���Ž/f ©ľ`.:R¶´zo6›^5yýú ·ľľî����ŕř˘O(4«ÜYäĘ^”ř˛î©ÁnĘ���o=ľ¬KďÎ7&‰‰ć‡qŹÇ ��`>8¨ř`– ü#Ă:.ÖA ódëµ··ç¶··Ýňň˛���€ă‡b=Ĺ|a§9Ľą=éÓÉÇ)ľä&?���ŔäĚ{|9JÔS·ŢQĺ Äăóɤ±ý4ç(��� łŽ/ ¤hp(LbS«ż[­Ü.÷Ę•«����Ž'ŠőÂŘĎÇîžř����b!ľśTÔ1MůQ/ łŢßÓ”��€e?ń%Ŕa‚ă UO·„OĚčâ)ő¤,s766ÝÚÚŞ���€ăb<ĹzzZF±_Ő3Ć8eâK���€“Í"Ĺ—UuŹ*oĚÂŐ‡¨ůaÚcÁ1��8xf_$8ţŔ‘^ă'!Úí¶öŮg]·Űu����p<Pl§/Śůâ'b§}™ř���ŕä±ńĺ~Ón Ěű=†{��€ç ăK€�áĚU¨¦žÔßĎ=÷ś���€ăb;łČUĚW îâK���€“âƗűm[U›|šf}|8ľ���‡ÇaÄ—�ł„T_phĶö9śÚĺjš”ÝnÇmnnąë×o¸łgĎ8����X\Ó)¶kµšĺÓ2U6ąá“3!qâK���€“Íq/­ łHăÖÇŽ'��Ŕá2Ëřŕ°Ŕń悺§rű´%ݤĽvíš»}ű¶���€ĹD±śb:ĹvŠń†Ĺ€ű…ř���ŕřsÜâËYµŽś���‡ĎaĆ—�łÇ8T&yjFT#r¦ëž{î˛˙Ľľľî����`qP§Y±\>0Ňö±žž” ­rŤIž–!ľ���8™çřrÖ@°X0��p4T| p üąˇębi–ąąŞ˛ívwwýwooĎť={Ö���ŔüsýúuwíÚőľNsl‘{OË_���ONJ|·!Đń„B��€Łç¨âK€YđŽśđ©CQ=!cTa9ŐyÖ…w{{ŰÝyçťĺ|����/ň'žźó9±ł)žkµZţď°Ów Ĺ~:ĐÄ—����Ç““_Vmb Ĺ‚B��€ůâ¨âK€YđťŘ.·j^ŘaŃ…Ö:Ďş�ůËŹ»»ďľË­­­9����666Ü3Ď<[¦@íqă×8ťĺQó/���Ž7Ä—őm���€É9Ěřŕ AřGBR“+[T=-/«é;;;®Óé¸gź}Î_Ďź?ďVV–����[[ŰîĘ•+~ Ăr`/--•äşNs÷%SäĆ&ľ���8ž_���Ŕ,9Şřŕ AřsĂ8ťg}Öt±ĽĽěseëĄ óĄK—ü…ůÜą;Üęę*)���� Ĺg›››îęŐk~`C(.ÓÓÎöÄsŘQž¤ÓĽ/���âK����%ó_Ě „?pdTYćŽę<‡ą´ő·Y®©ă¬˛yĆË~ľć­ŻŻű§h,#b���€ýˇL1—/ôtĚíŰ·},&Ě×ňa‡ąŻ5=Ή-Fuš'‰ß/���âKâK���€Y2Ďń%ŔA1îYŚ9/ă=©ůlŻFđnŻf1­˝4ďŚŢwvvßç`!©Ę—NÓßöYi»X‡ďö’BSq›W·űż���@Nś·z}­u„5XvĂNrřnˇu̲ÓL| ���0__���Ě’EŽ/a~XZjcö¦ŔüFńމ^ińŢ ^iđż\Íçaďńß1#;8ţŔ‘3ęÉ™ř˘vv­śu MŤ)4MéĽ­Žµ+§‡OÝ 5���wFuNăX,źć˙-s`Çťá°Ł\ő9®wÖťfâK���€Łř’ř���`–Çř`Ö üą Ş#[×y¶ nř´ŚÍ§Ů…Üź¬ §���@=UqXU§7ě ÇeCkܸC<ęó~ŰM| ���0___���Ě’EŤ/f Â+â§gâµÍ/ĘÖYŽ—7«ÜŞŽr8-´Ô���€Uů««:ÍUö·q'şnŮč4_���ĚÄ—Ä—����łä8Ä—�ł�áĚqç9ž_Pí‚>Ł—=-v–«:ѡý.����äÔurăÎq<˝jţ8OĹd§™ř���ŕč!ľ$ľ���%Ç)ľŘ/`.‰ź”©šVwÁŤ;ĘUu…ó��� ž°#N«š?ĎfâK���€ů€ř’ř���`–—ř`? üą¦îéw ő.ŰŰđó0›Üř"=¬M���ŽĂ:¬uóęž” íuÇ­ď0!ľ���8/ű§ âK���€é9©ń%Ŕ4 üą§î‰—Şé±mnŐE˝Ş3Î���€Ă:ÉáôIž†9긋ř���ŕč ľ$ľ���%Ç1ľ„?°0T==cÓEÜ Ž§W=)3îE›'f���ัźÎkŐ“3Uó'ťwŘ_���ĚâKâK���€YB| 0>`ˇ¨{zfŘĽş {ܡg˝����'‰Qäşň“Î;J/���âKâK���€YrâK€q@ř IÝÓ36/dTąQqž–��€ăĘ~;łłčPĎ Ä—����ű‡ř˛ń%���Ŕţ!ľ„?°° {z¦Şś1iG =���@ΤqѢĹQÄ—����‡ ńe9ř���`:Ž{| PÂXxĆí@ÇĺCx*��� źYäĐ^T/���fń%ń%���Ŕ,9Éń%@ Â86LÚ®Z����¦ç¸ĹTÄ—����G ńĺŕ˛����0=ÄTp\AřÇŽđ‚Í“0����ËIč,_���Ä—����0KűŔI�ák&ÍŹMG���N:Ł:Â'˝ŁL| ���0Ä—Ă!ľ��� âK€A�����������������ŕX3é0(@���†ÇW'-~"ľ���-Ä—Ä—����łä¤Ç—p2AřÇŽI;ËŘă���T3N§8ŚĄŽk'šř���`6_ć_���ĚâK€„?pl¨ë�ŹÓ1¦ó ���ĐŹ:ÁŁb¤¸ŁlĺŹKšř���`v__���ĚâK€`᩺ »Čw»]����Ă©Š§ŤFm™°łĽčhâK���€ŮC|9zšA| ���0š“_Ä ü…eśł>WM·ľaÓ���ťşŽmÝôx�Bĺ¬lUgyŃ:ĐÄ—����űř˛âK���€ýA| 0`!Öi¶ ş>w:˙Y‡ÓĂr����0{RĆ:Ŕú¬żőŢl6ű¦+ÖŞ˛Đť÷Î3ń%���ŔáA|I| ���0KNB| 0 „?°PŚę0ëĄÎňŢŢ^9=|—Żű{Üő���,2Ł:˛UOľŘt€°2zoµZľ­ÎsÜŃë·4ń%���Ŕl ľĚ!ľ��� Ä—�ăđ†:Ë[]¸ŐQV‡Y/›ľ±×rĎmݏg7[îęfĂ]ßJÜĆ®s{]-ë����`Ôßmeýáµ¶sgWRwnµëîZÝsw.oąµÖžŰŮŮńťbužőRGş®=/ťçIăËť–{|gĹ}e«ĺžŢj¸Ëۉ»™Ĺ—;Š/����L‚"ÂĄ,\<ťĹ—–SwqĄëž·˛çXÚrgš'#ľĽ•ݬ|ęň¦{úąŰîŮ+îęŤÍlÚŽŰÝë"ä���Ĺ„íě橵%wîĚŞ»ëüš»xçş»÷ÂZ6­µń%Ŕ¸Ś{Ć&cÎKĆxOj>Ű«ĽŰ«YLkF/Í;Ł÷ťťÝ÷98–Ô=%cOÇěîîúw±Ýi¸/Ý>ĺ>%ŚąÉ���ŕ0¸x:u/<żçZżĺ–›ůÓ4ę<·Űíň)šŞÎňQu '‰/7˛řň›§ÜG®µÜc·‰/���‡×S÷5wěąW¬ŢrkÇ,ľÜÜŢsźýň ÷©Gźu_yú†���€çyϸ—żŕ.÷âϸŐĺÜežăK8<––Úß˝©ÓqŁxďDŻ´xďŻ4xŹ_®ćó°÷řď‘O üą¦ę)Ëy­ł^úĽŮi»żľ~Ú}ěé&n>����GČ«îí¸—ž˝éV›»ľĂ¬Îł^–S;î,vçyÜřňf·íţüći÷ÇĎ4qó���8*˛@ěŤ÷tÜןľéN7;ľĽ˝ąç>ňŮËî{7���€#äë_ő<÷5/ľÓ­Ż6ç2ľ„ĂáOő<„?0Ş:ĚöRGy{{»Ěý×7Îą>ŃFđ���0GĽţy»îĄg®–ůł———ËŽł˝Bş=I|ůţŰçÜ;źj#ř���˛Ŕěí÷íşoX_ĚřňĂźąâŢűˇ/!ř���#Ţüú‡Ý«_|~nâK8ţTĎCřű&ě�‡y°ő·,qŐiÖűŤÎš{˙“ë¤ô���S”ěî»íÎ47Ľe®:Ďz·§gDŘa>¨Îó¸ńĺłÝ5÷›—ÖIé���0§(ŘwŢsŰÝŐXŚřňĘŤ]÷ř)˝����ćĄ�űŻČť?Ó>ŇřŽ„?ŐóţŔľ;ÍáK¶¸ę4ëďŻlžqď~l—���€ŕ­Źląç­ŢđcužÍ:·ęé™YwžÇŤ/?˝}ĆýŇă+¸ü����Ě;YŔöĂną—-Ďw|ůč·Üoľçs¸ü����,�ßő–»ÜęHâK8ZŽ‹đ§á�ć�ëÇźăNłžśůü­sîżč���`QPě¦ÎR(¶‹ă=#ţ<-“Ä—±qÎý"˘���€Ĺ gQě¦n^ăËŹ?zÝýĆ»?‹č���`APě¦î0ăK€Y‚đŽśaů°őR.ěťťˇ}ôöy÷g_n;����X,Ă)–SL§ŘN1^]çYě§ó<I|ů—›çÝo<I| ���°h(†S,7ońĺ'ľpĂýţűu����°X(†S,wń%Ŕ¬AřGʨNłraëÂŞ÷'¶Î"ú���X`Ë)¦ cĽYwž'‰/˙zç,˘���€F±śbşy‰/żđämD?���� Śb9Ĺt_ŕČŐi–šR6jRS^ß[qď~lĹ���ŔbŁ´_Šíă)ÖSĚ7«Îó$ńĺ3ť÷KŹ_���,:żřĺŰu|yůú¶űÍ÷|Î���ŔbŁ´_Ší"ľ8(ţŔÜwšĄ ´‹éž>ă¸f���ŰŮ ‰bľ¸ó<+†Ĺ—żýl_:����Xxçc»ŁŽ/ßýˇŻ0č���pLPlwń%Ŕ¬@řGB|AÔĹ2ś§—٧}îöťî雉���€ăb;Ĺxf™wĂŘPŚÓ™ž$ľüŕÖťî±ŰÄ—����ÇĹvŠńŽ*ľüŘ篻Ż<}Ă���Ŕń@±ÝÇ˝>Óřŕ Ař‡NÝ…/TIĘ:MŻ­î’űŕm����Ç‹|Ąíc=‹űF=13¬ó<I|y+]rď|Šř���ŕ¸ń_žlűXď°ăËŤ­Ž{ä����ŕxńž<–Ĺzݙė� Â8rŞž–‘mšŢ?{ó,)ľ����Ž)y¬×‹ý†=53 Ý!ńĺoź%Ĺ���Ŕq$qy¬wČńĺÇ>•A���€cĘÇ>ĺ@âK€YđćË‹­wY¦ůüŘiË}üRË���ŔńäcO·|Ěgń_î—Şřr+[ן<K| ���p\ůăgZ>ć;¬řr{·ë>řń'����O>đ±'|Ěwń%Ŕ,Ař‡Ę°ÜŘ6߬Ҿ˛…Ű���Ŕq'Źůz1`HwŚ\ٓėźŢÁí���ŕX“¸<ć;¤řňŃ'n3č���p̱oÚřŕ0@řsAś;›â˝Úv����pĽÉcľt¬<Ů“P_~ô:ń%���Ŕq'Źů'ľüôžs����pĽÉcľŮÇ—�łáńĐ>‡G©"őÚě,ą§o&����Ž7ŠůűY(Âř°.†6Ż*ľĽŮ]rŹÝ&ľ���8î(ćSěwĐńĺíÍŽűĘÓ7����oóÝŢěN_ŕȨş*7˘¸˛»î����ŕd`±źĺÉ™¤Ł<,ľ|bŹř���ŕ¤`±ßAĆ——®î8����8\şşíß÷_ŕČ1E¤’yÇ9u—·IĂ����pRČcż|E1á~ír«âË'w/���N yěw°ńĺ3W6����ś ňŘovń%Ŕ¬AřGBť…nŢNݵ­¦���€“b?Ĺ€ĂbÄQŚŠ//m_���śűt|ůÜŐM����'Ĺ~űŤ/„?p(Ô]ěâé–ńúVâ����ŕd`±źĹ‚ưrŇřňň6ń%���ŔIÁbżŚ/ŻŢ@ř���pR°Řo’řŕ0AřGŠ]ôâÎőĆ®���€Bű…qá4äşřň&ń%���Ŕ‰áć!Ä—·6v����ś ÂŘożń%ŔAĐr�s€]-'â^×���Ŕ a·c)ň pć8ľÜ!ľ���81lB|ąË L���€ĂNvsÖń%Ŕ,Ařs†©#����ś8"L���ŕDPfy=Ŕř’����'b@Oţ�Ŕ‘ĂŤ��¨"I������������ő üC'·N‡ăÇ��fÁ¤ż'…ŽĂâÄşcL| ����u_���Ŕ,™&ľ8hţŔ‘C‡yq™˙cÇą�px}‡¦îw‰ÎÖb˘ă9í±#ľ���€âK����%ű‰/f Â�›Ůßäঠ�Ŕńá Żéűë<Ĺż_tĆ�����������฀đ�F˛?ÁĎÁŠ{xâ �`ľ™ŤČfص~ňú±]]|8†����0K/����`‘Ař�•L/¨™|9Ä;��Ç—ý^ăGßxŻŞĽ›őa۸Á�����������‹Â�čcňÚńĘO=đ‹(�ŕx3BpS÷ű1\¨.3™�����������,� d|qÎčrcŐµOQNA��‹ÁP1Í8×ňŠĺă߀úuL&R˝�����������`Q@řGF<`‡ăč•ŕgh=éŚÄB��°pLs}ďßT-‰sĆKŰeeĆsB�t4TĹă âK����!ľ���€Y˛źřŕ @řGćŁeż˘źÚĺ‡Ô;zťś��'“^çhdŠŻx~R˝lu‡k|¶Łc?1"ń%����Ä_���Ŕ,!F„yáŔ fĽ¤ ?é„â ·q��'rͰk.Ŕ©MńNŻŐ €˙�Ŕ !†�â+������€™đŕ„2­čg\ÁĎ`ąIEAŽ�€“B6đ3ě÷ Z4(Ť%�íţřŕCĚ �přƵ—ř ������N�N Ó¦ÚXndžóQóÝ>S‚U.ĺ��ŕ(™b€e°¦B4(ęM/�Büpě@Ô�prç7€ř������Ž�NÓ~Ş?á´ţůéČe‡ÎŻ©§˛9�� Á8‚™4MĆ[6U‰€Ş@ţďH�„řŕqHq!ń'�Ŕás ńW|]'Ö�����€á� ýřżÇü űŚ“Śô_��Ç‹ľëzí`Jµ¨f`,¦ďĂ0Pż�(ü KŤ˛]“Š�`NaL�`ľ™ä:˝o‘B ������X@ţ�ś †ß,!úév+§× ~fäT[n RŇ~�ɸb™ˇN8+\‰ÇZú4DQÁ~§źjŻ#űM Ĺ?áĽb-®NüëŔ˛ÎľĹ=CâY��8H&‹»ę®÷SÇo©cJ������Ŕ<€đŕ„0‰č'.;Jô3Zđ3Z4X÷áOf�Ě#Ĺ–•n>…č&Љ„5±(é/Ú›�%e]Uâźxžmâ€9aʸor±Ďd"y��8 Ć˝ţŹÍâß„‰cą*ËŞi�������G�€Ď4˘ź !OZ![ §¦˙Şa�Ŕá3lŔcČ`Kůô:ţŁë Ş”‚ťĘŐbź`fO Óďţ3 ń�ĆsăÇ‹SÔKl �pä ëT]§ë˧C\(GRáRY9 ������ŕ@řp6µÁ0ŃO,ř§Ě8BźńR1đ�0—Śü˝‰ś|ü¤A źžČ'@I{ebĐ0PŻLĎý'tšVüëŔ3fü:^ś›Î Ž…��I˝ëbý"UËÄĺ‡×;Ql‡ř������ć„?�'šz·ý uđô źobź¤xU9ő¦Ź#�šr ��ŤAMßĚľë{’śpĐ$tí©\qő Äęp˙éOý‹�ŕ™™ŕ'ť~ŮŞůÓ,��ăQăM˛\Őµ= RŔĄÂąĺ«@É(GKÄ?������0 ü8±Ô‹~Şz†‹zĆü„Ó‚ÁÜrľQé2Ôß®ę­a°�`ŢH\R=Ŕý”>iÇąFOü“ ůśŕŞźô‚ €JSˇbâ0ńO8HCĘ/€#bŚŢᢝ …â“y&ö—� 'qS }üÂn‘uóuýŻwóéE“19�!ţ�����€9�áŔ1'ťt�eHj-_nËĎ(ÁOQźŁO•Ȩ.%X4očv��Ŕ‘bťŠý.?ˇ8Hó:ť`y¨x QNńą7YËçňźF Üé•)?ĹúRç¦˙ 2N�“}‰~ŇŃeXuŇu۵l"Aq)�@5u1â8‹şdČő5R~ë2Ň>—É*GĘ}€˙������ŔđŕD2|Đ#|*n”čgPĐS/řqćŃ`óĚÝ'ŤS˘×Ş6Öo,��GM.ć©›™DAő¸~ŃOYĆ‹sň6?)^iŇp]Ąě ĘćÂś˘| î™NüÓ+ �3fT|·ÁŹŐ?†{O:$F7ĆD�0‚IÜtB††rˇt`ę(Đ$ ©Ä?�������‡Â€NŐŕÄD˘źP,äE@ů@IOŕ#±Ź-gÓÓn:Đ–Ä…®?ŁŰlő�ŔśP1đ„C4i0ČŇ'ôq˝T]ἤŃpIÚȲ—2„Iü“»ű$‘ĂOńwęjĹ?ăą÷ ţ9S‰~ĆüécĂő uď©ő Ůk �ňŞ9¦X¦6N‹AI`Ý€ădľÎd"â������gţ�cF ”TĄ×Şýô•Ż™“OšÂ |\áňÓéşn6ݢ•1áP<’V¬7Hw���Ž’ęAŹľ“dPěSÖT¸ý„óI#˙řWÓKI“D2Ť<+XÚkE(ňKüSëú3éľ�öÁ D?#Ý!ĂXÖEÎ=cĹnĐ1hD›��`ŇjˇÍ@±šéńRiĎD?ˇ<ř\/�˙ –‹ĆŞs������pĐ ü€ŠŚH| t\Oô§öJ GźngĎu»/ôéd§Ůß~zšż—)ľ‚'®{ërýë':Wźľ��揑®?U.?ýźs±O *@ü4š-×lµ]C/Ío4ýoŠ—ň$–r,­˙¸P¸S/ţ€`Ö˘źřď:ÁOM|;PGĹ:ń��pT küe·" W,$Źś}ěú/Ńxżŕ'­�ID®´W„¸������ć„?�'Šá•}"éPŃŹó«Ýě²“ÝTŰsí%çšI^WwoŻtřIôž¤EŠŻ¤Woc*˙Ny˘�`Ľf'uâ§ł›ćN>&ß)R3hL¦ŃTŇČ=·—ćÎr©[Î~2’ňůězńŹ+§ůˇ‰\}źţ€Ů’ÖŇ+çŹ3Ć®•6m‚őŚ•îkśů��3"öŞ.SłĄ•ö‹€P­P­űĎ #ŃHÇGä������pČ ü8é¤Ń HmúѢMi%]·ŇÜu§—:îŽSm·¶ÔpM˙d]«Hń•#ĐŔĐé@ş…ž'Đpf}Cí°×�pR źĐ''CĘ$ĺô®k¸ŤťŽ»zk×ÝÜMÝVÚîÉű'u}âO¦ý ęéÁőŕP"Ž™ZôS8JöĄx&Ü Ä@őĆuőW4Ř�ŔÄ×ĎJ—źAPĹgŮą˙ěëÁ§ĄÉd$�Şt˙©Oý…ř������ć „?�'Q© źnĹ=ĹôRô“§îňN?Iםjďą»×ZîÎSmw>{­.7˝ëOčÖ`. šć˙ę»#g1ńÓunŰO2âó(źé›¬ţá{8™b�ŔÁQő»0Ęg?$UW»¤ľtÝôNÖŚÍť®»˛¶ăž»íÜĄŰwk׹˝´‘µQ–@Ť¬TŁĐ%MKńO™ň«śÖKů3rp�öÍT˘ź8>µÜ´Â᧯δVD4j=Ł"=Ň€� '&ňé•ęź—TN#wYw…(v8�Ő¸˙ěKü������pH ü8¦Ś8) Eeű9ŇčIh+:ýHôÓíěşVşë–š»î{ů§Ý˝ç—]»ŮpÍFâď™%µé^‚›fĺżI0˝˘m55ŐÂ�8٤i˙�¸0F u #řĂŇ(˝W§ëÜýwuÝÓW·ť{ü¦Ű»¶ĺnwÚ®ăÚ®‘˝\#é9˙¤n`đ&MŁô_ńß•Ok3č055˘±E?˘ś<rëź_:T–Ž“QÜ8řÔşąţż+=|��&¦ňzZo±[őŇëÄ:Ő%˝űEŚ›ëĚGJÇ«ŻQ¶5)RĂöę%�����€ůá�!iĹ@‹Ý(‹Ň{i0ĄŰé¸Fłăδ»îÎő¶»÷ÜŠ»űÜŞ›Ž$ ŠŹĆ©c| M…¸©˘¶IÝÚáíă–!�6&äéá 9ĺÔŞDBóÂłWoąë·ą‘dŰ’mCŁéą˙8×/ţq.př)žçj pxŚíFY+úq®Ęá§YĆąUŽA…H¨:íWŤ#PoŞ�€i¨yÜ&ňô§÷ ]}Šţu1­\.üśeĚí'xWş˙ uţ“J9������ŔěAřpÂHÓ´öó°_U˘źr %(n·RwÇ©–;wŞťýÍŤ-�€EžbGĐO?ez›ĄVĂ˙ťßč¸kŰ©ŰÜëżUnřÇŤíúĂÝ�űděkDE|:®č§ŚYsŹ4¦ůçľë\äx™/ë"!PĚďö/—Žë\��UÔĆTÉpGߤŃč{ĎéýťB±űËrŇč•/C˘Úc÷źˇÎ?ý"ńa1"‘#�������Nui:zŔ"ýhĄŰqͤëÖÚ-·şÔtÍf2ik†`@ă.5‰ŰO^ľ˙¶ß¤í«fŕ&b°>nýŔ˘3Źâ—VöŰł¶Üt«íÄ5\Ç˙6ůú´§ňpů‰™ČőgÔ|�‡a)ľFŠ~"ÁO(úüŘgWáěÖă˙čFë˧›+ÚHńî?��CI*“»JwśľŘ­Ńpi§ăíů÷BĚ“&ůőYźsáN^ZĚ×›ż´{1]Ă]­űĎxÎ?cŠúâK������€á�¸j©Ë·?;-QşiÇu˛ÖFŇĘ^ŮÍ®třšŇˇĄIĹPęđ›d“”Őž4xYmIe ű§TŐ;‹ö�¨h6›ĺßU̵“EÖ¶FÖě¦ŘÉ~—:]×ě.e>ĹUľL ‘Näú�‡I…č§ovŤč§—ş\ÜŁ4´±ŕ'í®W,ďúE?i…¨¨\·" Ů��I†]"ăŢs\fó€Í»î$…¦Ű»{P:XZŠ/‰€ ±ŹŹí‡·<ÎK{—ţbůÉĹ?�������ó€Ě@jŻaşqŠŻ`š\éć,ŤdřĂlzRzgWBˇnqł¬÷´\ž~Áĺ4NOĺ5|_g­`&o“ʶŰíě}şp{Ů�ńöÎvÖľÔß Ô °ŤŮúŰí–·§Ľ›Ť¤ÜĆnVfwŻăŰąĽ´\š­óp[�ćť^:„ţÁđq6†•ídż;;;ţ便Ąëä¨zµüöö¶ż«ţV«ĺŻ÷ő$Ĺłă´ďjŔż‘_Ó´ĚI{®?Î?^ýŰ=•ÍŕŔڍ3ÓqŇeĹ®<5˘‹ MôÓsüIK÷ŻÔ_BaO…ăO•ȧQ+ŰS+üAů�PÉédsN°L’+†V.iô;ľlîôSÖĺE@Yź>‹s·ź\ d±aŻ)I/V,zŚbÄśžđČ"n�����€#áŔ1dä Jßü´˘L…ŰOX>ręvó”*Î…$Őěîîąë7nşťÝ]×h4KˇŽ7Şgo/{ee„v[ŮMşVłŃ»ąo“_nĎ&ź9sĆ-//»ičçňĺËŮŕô®kݬřű…hÖúĎś>ĺÚÍ–/#–—ňvůĺ˛27nÜňĐ.\pk«k�`Ń‚FŘ�F<‘ÚďA°L\F˘]_…®“«««nÜ6iŕ~ssÓ/ďŻÉ­–[[[sçÎť«Ů ĽóNti'Í@Íđ‰mçJ‹źbý®?ń`M0c@5: ô�ě—z‡ź‘˘ }|úŮnţ·˙X<Űí ~ ńO,bweí…Ŕ§Żn[_šŻ§ ľf#ú�Fe,ĺ…?ayřtť=mÔÍW¤đJ‚ĺ$ ę¸$‹uőn(y’ö~LđîĆ˙DmMëS~�������`ôŕDZ‘!ůT áő7˝şYA9älnďş©O&wą�IČŁĘšŤ¦kďĺŽ;éf[łŮČźĐsvăŻá×ÝŮÝq«+·¶ľî–Üt·Üvwvݵ«WÝÍŤ ·´ľć­¶Ż[Ë»Ůú›Ůzĺ:!ˇŇňnϱb'ŰŽ›·oąĺö’;›ÍŹoůUĄ �wĚigooŻtÚŃu/wVkôR) ůý0§ź[·nů—–×´IŰ!áĎSO=ĺ6˛ëóéÓ§ýt{Iz ň4”Îő9Ő•×ç2ÝjQ‡ŕ`Ik„čBőtPX;ý”ź»=§/J/…ę]”\âş}1¬+®Ý@P”T ‹úSÄhťŤ^c\Ľ]qĺH+ţ�Xd*㬾iEß_˙”N>˝űą PQ"5'Ç@�¤{ťâÚíť~Lԓ϶Řp”ř§Żtß4������€ůáŔ±g„űOoÂŘn?6Ň-žśÎ=łőŢuŁ#4`ÜZ^v‰Ä?Ů îĆÖVöÚöb Ő)Í©µu×ZZrݬěv6h|űć-?»˛˛âZŮ ł†S~�:ży×Ůí¸fkĎuşe·+×ŮÝu7®ÝpĎ]żć›knĺô)ď ÔÉnę]˝rĹŻ_nBíV6轵ăĹ Ç4Dęîu]{)ňĐn&¶�ŕ(I˘ÔV–^K‚˝ ]Ďž=ëŻĹaY[ľÎéGučďqť~b$řůĘWľâëyđÁ}† Žr1j/ĄŹ/›ýF%ĺ¨NZŽđ¤Ĺß˝Aź´4"ÝŔ %2µx•CŹĹ­eJŻâűnßýÂýGHĚÓJ:.éěĺ®>ÝĽ‹e›Ĺ@o(ě5= Ä?ąH(©-U}ś%H~�ŕX‘Ś$1YŢOzE“B äE@Ť|RZ‚şŮ?Ͷ—j¦^|®>{.hO Q‘ŹńŤˇâź4©NůUçúS7"‚y$%˛���€#‚Řŕ@@řpҢc?ŕöÔÓ-žśÎËäł’aëHrŃŽ,·őžÄ2ş'ŤR%ívvon©pÜŃM¶Fńrţ}/¨ŮŢÝőâźv»“ âd÷ňR?3ő`B ĄîZËĄ×vwÜv«™µÇů—2‘ue'ž˝:vă±›ćOŚŰŞe­V1Ü«�`Ń]|B×ý-Çď¤Q Ş9ZN˘˝Ós GuZz/ˇw Ť†ľôOúıÓĎ8®?ĹÂ.N÷U9�Ćfě´´aąÔŇtą>§źľ^e:®,Âěîşĺl°öô’sëIÇ5»{®YÄoŢá§k"÷n.úqů@qâÓäŃő°çabAá…á5`Ü8;©ýPšWôďľ·#„B�Ř?Iq˝ Ô6áĚ’´ďqš4/Ú§ &$ą€Ű×Ýčyů(ÝW§Ůq[Ů绩Űé6łű ÍĽLš; ë÷c@üăú<u)ż�ŽÄ;���°ě'†A4P €Bő�K:´|¤=č{ňYcEJ.źNĄłçź®I1üŐŕ­Ä?­•miiɵš­ü”ćib”VćŽ;Ωľšn˧ÖÚĚŢ·ýŔďĘRËť][)ÓĎLËúúş{Á žďîÜÜp—w¶ÜĆŢnáŃpwŢu§O=¦ö(5Yl`Ă?%ŢńۢTd��‹Jž~±[Š|tM–ĐFÂMÓg]kC‘Oě˘ň.\(Ó{Yťă’xAhĂť?Ţ˝ęUŻň$µG"˙űQŃ~˙Ô-Ü~$ü)ś?|ŞŘőÇőrĘÔě+€�fE$./'Ó#ÇI;TváOˇĘŃđmŁ»ëηwÝK×îžçVY,©ÁŢ´¬µ·n‰ĽĆ5ňëŽB˝˝ěÚŃM w /.ré\ÓÁöŽE9Nmb#W޸ř»o/!ioŻ�L‹żv*m¬ ÚU1UęúďGŘç2UW$šL’`A|šý"ěeŻK[]÷©+»îŮí¬_ßhg×÷VÖŽ\šd}ý2Žta¨XÄ»CR~ŐńĊ0S÷����ôa<�p’Ařp Ý|Ş>{óÂĎĹŤ¸<ĄŠ \ę\ŮďR«éşŮŕď’\v˛AšÝnnŻÝ–ÓO6ŕ’îv\7(îčÉ»l™–n ?ŘËK­lŢ®[nĺ"›•ĺ¶;}jÍ»ő´&t’YZjgŻ;ÜĘ©u×ÚÜp·¶6}z›fłĺÎś>íľw˛ĎťN7ßľbWřĄlă—łÁpďü<—X �Ě7&ěŃuOi˝$ö11 ,Ă_uÓĎ~ۢ:î˝÷ŢľuŽz–c3ąP ±ß¶p€& Ň8XŮ4šÜŇ}őÍ€Ă!ŚK×.ź–«š§•i˝zî?ŤÎ^ÖŃÝsgš]w˙ZĂ=tŞé$;lNfţ»Ţläéa„ÄŰí¦oxGĘÔí¤ť\řS ›'±Ďéţ˘şřÚ~ž×ëNšÖ´ć®×pÔť˙śă¦‡µĎĚymŕÚ3Áľ–vł“˝šI×=Ńę¸ëŰ©Űę®ÂR|6ş>%îGX˝ö9y7bןňk°ĹŽţ>ě›řŤE6���‹ÂľŁéŞXŠľś ţ�ś@ŞnV¦ĹÓÓŃÄJ±OřdµÜ!Ěa;IěéçúŰ ­l@e}yŮ­¶—rw ż—§�óOţe¬ônđĺě%ĺ/~·łę.śY $®ť N·[ílpş ĚL´Gśm»ÄHV×ÜŮĺż­Ű׫'Á ׋\řcĂ?ů˛,Ť'üÉ—�7bAŤţ–CO8ŕ"ěÚÜf»lZ5Ĺő<ů¤…ŠÇt©IŇ{J;_$«Č“Ű�łˇ?Më őţ.śČĘYÝN)đńéMü#AOWîŚďď°ě:n­Ýp§VŰnuĄé’Ý®ŰŰÝq[Ű[~ąöň’(úk™“Ř1ű»•V]Ián©ř.)†zä3űţŔ쩺FŹ+0�¨b±çßřXęXĹwubîZŃĎ„ČÔ§™Ęő-ukIÇ˙6츦Űëdë– \7»Ńěúţ}eŘR^‘ňk„ëŔŘěSěshž9ţ��Ŕ0ŁxxT´1ŐZ†¸Ž9� ’~+˙@üSüHv]·L©Đ»!§§ŕRź.ˇďřŁ§Ş›őe’ˇ´žĄŠÓţ`÷ žšŤÄ­6ÚA}ÁüŇQ(é›?YÚ4¨�`ľH‚'ťE8¦ Ëf»Fa/ţçĘŇţ¤ůoS’ȧU¤űJ¸. c ĹBs˙gĄ ˝çđşüH¨ŁÔł>ý¬Oď·— č¦Y\×umąřdewnßv»›Ű®»·ëLµŢIö|ÁćRË‹€šţš—zŃOÚ±ÔaIî‘•+«Ą Ëĺ@ń`t·Ć›HŇÄEąX>wSaD›ß·/*ö‘-ݞ[[ą€©YħÚÍ—S›­CówvvĘő4wĚp}ˇÓ®őćŚĎ… u×ćnůp@Ň×>Ő©w¦éŐ»Ą•ÜÝÝ-×mÓĂőřTl…sSü›díox'Ń<5Ą•ł:­l#p Ź—Öî'«Síćôľ¬î°Ma{ă6‡ű!ÜŻV6n_[Ăcfźmű­>-«óŔöMĽŽx;ŇĐ+Z—';ß”zSuŞĽmcţŕD»ś «Î;/TxŚu>¨> ‘Ă$l§°óŰ„$áö©űľXýńňńráţ´zŞÚcçz(dUÇ+Üö˝Ô~Ş×>Űů§:m}ÚĎz×gŰÇá~ Űďűđśłă®3ÜnŰ.»N…"śř¸Ú>RÝyěfe›l»Âĺl›ęľ;râŐß¶Âc®Ű®3¶Otś|yť[Y,¨WSŰ—vĽăO7+*ńŹ6Sň$úY)Fę™ýô‹€z©ĂőöĹ”"š©–B°���ͬâŤ÷€«Ö2QôŤŽ9�Ž5éäóâłÁÍ´Př“»ý„,ŮŤ·náŢ‘0�ŔÂR5c„ľĂć ‰éyĽę§řÉęý†%ŐÉň4•=çKçĺËô č„ Äa€`&D±¦ RĘÖ•őתÂéÇ»�•Ž_zĎFtÓ¦w—ÜÚÚv7ź~ÎĄŰn}}ݵW–\şť &ď7nşĆR˵š­2˝¬®©UgŁëv˛Aę[·nĺőłh@ąÝrŤ¤QŚ ĐV9 4𼶶ćž5Mďú¬ulllřeÔMß „E››–˘-Żşžyć?®ĎšóćM?(~Ď=÷¸S§NůuhţŐ«Wý˛Zʉ4LhaüˇŔĆD"jż‰]4_m4QŚ}6ń@<�ŻĺT‡ćK$´˝·oßö/•?{ö¬”Wô®6ëďëׯű˛Ţ•)ŰM×»>› Eonnúu„‚F¨>ŐŻ6j;TV/+«é&L1aÖ©égÎśńűɶˎŤć‡b›oeÂ}d/›nÂko(±˛öw( Ď'-Żé:Ž*gÇĆDc&2ń×éÓ§ý»>kč<°}®#YŮ6hšö—ŢőŮę×ß:vľ©wÝu—ŻSűGëQ;5]ű_ďúlbŚ:ńŹęÖy!Âă­6\»vÍ·ëüůó~{l›­ť¶śö‹Rš '®¨ž§ź~Ú·Eő›DË«ÍBë´— sô wTVŰ­úĎť;çë ŹŹ0§DűţŰ÷;O!ťď?­WÇCĺtľ ť÷âŽ;î(·Sőj}ZîÂ… ţ]ź5=.…Ç´ęú˘zě»§}ŁůvΫn»ÖXLx¤ĺB!š žěč8k»U·Ú«măFĂĘŮń±ď­ ŞâóSÇřňĺËľ¬Î+ /@a{T§®Ó&ňŇ~Ôy“§ťµőwóQŠ—?ŚÔí&NRź4éöņ¶ď|[´ťI‘ĚŤďú30­6΄Ĺ„b•žZLÄ=<���8F>xYĎ ‰ŁÓuډ­‹Ž�NŃŹfx>|Źç—b=Őgâ˙j&8#xěşÚyăúĹÎ9ńçý’îs~űq'�8<F^Ě!˝'ŕ».ĎdRĹ ípÂÁ—ŕď˛|ęúžŇ/aĐ`FDńgZďö“§ö*ÜR ·ź´ů•uéżü�n#OÝŇM;n[‡KĎşî­M׸óN—®ŻąNşŢÚÜp—ź{Î5W–Üę™SnąpËŃĐ®wý‘ŕaŻăv˛AűÍŤ ·™Őcׄvá0b.&Đ ł‰\L|Łů&ü1ńÍ×€µÖiNUPÇúűĆŤľN|H As vŰ`şĘjş Đ[[BˇHěŁéz©lě»qá<aÎ(&z±¶če‚'ŐkBxż¨Ś ¶ßL¤`N"BuiŇ„í Ý–´Ľęłý:ĂXůĐYEőI( A•­Kí˛}"B‡{™pÇD?¶Ű÷Zżą’Řvk]¶ďMa‚$•±ĺÂóČ„?欣˛&–2ÁFč¸bí7QFčŞ;íŘńÓţ·úěĽn•iŹťäŔĘĘX{ÍýGem˝Ă„?&p±6Ůąˇm˛éÚí+ŰOÚ>­ĎÎoű.HH Ń´¬¦ëř«>;ľ¶%QY ™Äö‹­ŰöÖgÇ[ĺm˝ćŕŁviy;^öý2!śŐm«ËęŐň¶/u Ônc;Oě»aç}č$ŠńÂkG,ć6ˇ°ălíŻţXűc­Đ˝Ę=ÚŐoß…Ş6Ůw×eá5ÔÄLö˝±sĘÚ~żÂk‘Ęص×öŤÎ‹ë’ĽŇüwB/eWúFé,”§ňöe]˙ŔÄ03&ĺŚUrŚúf"čIgP���ś,†ŠtĆ‹-BU1Iťëi_=c€�Ž�N:áSŐæO`ŰŕiůTő@ ‰ĐzČJÝĐ[C_“šB˙śa2ŃĎŕÚ†­źŕ�ć›:qϸ.?G& ~Zú…Ĺo•žô®Aź¤1Nw�fI:jđ(íwťLÓ´zš˙Ű@EĘ/ ôjŔŘÜ}jÚÔmeŰĎ>űŚŰązÓ—Y=µî…?77n»K—.ąĺő5wöž;Ýú™Ó®í•łAč®ňżä9ţt‹u›xCëkeĎÚčeöˇG.É„ˇ(ÇD&|©ţ„©nä bŢX]o´Ľ9‚„)Ç„ b‡ĐŃÇÖem”°!t,2Q W¬¬ VĚĹ~ĚqGÓMbâMłí2‡­OeµťÖF·ŘzĚíĂęS9m›9öč]‚ s ˛TOz—€BušŕCői}rČŃg›n3öŮ„>&2ńAč8bbŚĐ(vf1ń‡ ›B§%XŘç°Ý–BÉ„¶_ÔnaçGěÜdçžµŃ^ÂUv.YY;wí0AEčHd7jŹíGfŘym5ۇuŘvÚţ:4Ý>ë| CÇĘ\¤l_kY…B(Ő'‡ťüŇ‘–bF™đÇľwáw0ÜŹvž‡i¤$ܱď’íO­Oeě›ŰRx|í¸Ş}ćüeŰhß µQíŇ»öłÚŞí3‡! ™¸.tk …6q›m?¨M7ń“•łí0,«ĂŢm‡.?qę4űnš*Nť~'´m:?´}wŢy§˙n†$™”ÚŻďŁ0W)-cÂ"ű~Úw ;őŇ&ţšťdżŢŃ­“ÍSü×HĽř§lW)Ďm$ĺđ“;C¦E8‹ŕGÄ‘�Ć♑Ą†Ô3r ���ÓĆA¬]Ű ŤŤ-�â>0,8�N�}.=“<Üx *üŃí{аNÓ«}÷ĆěćZčô“Fó‡­˙° @�€Ĺe”x'|Â{’ĺ’ŢşçL<äËiIĎÚg¬'NÂźEp@XDŞż‹¨OücçŸܨ[¦ú’‹ęëd_ŐťVⲡr—ŢľîÚ{›^řł• LßJw]’Íë4ł˛JűŇHĽP°!aI7—H ´’ 4[jä­Bb˘ŃhvĄŔşmpŢrBᇠŽŰ@{čŢa®1&Ň0ÇŠh=Ě„Î=VNźCLaă±S-k.#J«cę&b°vZ{¬Ťq0{™ GÇDT†µ]ë3ˇ‰Ö)‘‡ ¦ÂtX6čo"*sóQ›Mx zĚAÇ[yÚźŢ>µ¶™đGhšĘiÝ&ڰö™ăPUJ®PžáńÔr¶˙… B'!;6V><6vžŘşlXz(˝«ý&JÉż&iąŽP:5…çoÜ^[&<_«áţ1Q— »bç—đ·Ô¶Űę7Ç™f!¬ ťŁLđeűÁÚ¦®3Á‡a畉^ôŮÎ sčŃ» a„ík« ÜÂďS¸žĐ*ü„ß'ŰV;Om˙†×€PäfűĚÚjíR[µ_Ăó-ü…祵'<íŘY›mŮPŔ íÜ SŁŮţ ŻOńő$$üŰ5ŇÎĺđÚdhşŽźµ%ƶQĺBń];Ârą`4[G'»¦8 §ZŢ!Nq Dˇ>ĺWCß=-— ˝ń?<Ý‚ (…০ŽÚľËX÷ü����澨ą.ޱţăŔůIő˛1üŘŁ†¸˙Ŕ‚đŕ‘¦űë§cŢT°rý˘"ĄVHąÇ�pLI’Á”s)~ńżOIů;Őźˇ!ő˘€ŞśŇűó —@\nŻrNä2”5wúŘü´p˙QúŮ\¤žýť@͵·úĽ»ÜŤV×=uë¦Űľu=›ź €//ąSĎąő»ďvËçĎşduŮíúńŢě»,qM#eh�yMiŚvvĽřEëjiä‘ä ôë2÷(6(mbÜÄΖVJÓĂPˇ#GěěÇㆠÄ6�o"ĄjŇrrČ1±Fč\b‚sµ1·źĐůÇL°ŠÂkˇćI\c隬‰{ĚÉćŽ;îđűćFb‚~‰Ąc ťjtLl[Í1Č�VVő› Dر±}i‚•Ó4Ri˙¨.KóeB+<Ög{ář @¬=ˇĹ~căăîK·Ř~3ˇ‡śmB'˘°.}Ö9©2qÎ~·B!N(îµzLŘdBsřQ;uMdaÂ-í/s2a•-cí4;N¶.˝ä�¶!lŁ}źLěcÇÎŇu™’ío•żxńâ€CŽ ćÄJ‘ć/tK˛ďB¸ob1Ťťˇc’mźmO|^„çCXÎD3ú[ŰbÇ:ôişŽăąsçúRÜĹű*<–&Ř&°ŃzěŘŮľ ÝsěxKŦăiu(Ĺ›‰—Tż9ń�ĎśĐÂz ňhľľ_ˇŕ+ÜM3G+űŢ™“µŐľw&F’3ÚfűÜ‹¦’¤L'^ Ă:Ůy'O¸Vö=ęća*“·®€Zţ7%—ďdÇżĽ.úŢH×ý©†‰ŕ±Î$bźÚ˛ŁVŽü���Ž$ł”Qs·TĆM$�"n‡á�ôH+ś˘iá`ĚŕŤ‚q~ëĆ#tűqőĹóÇ©/\~żLş~�€Ĺ"Čš_‘KZ\֋߬¤p I*:‚±‰ŽŔědP)™»>7źt`^éňăE©ËÓ|9É~\W»¦Ë–ÖVÜŮ{ďvŰíÄuŻ,9§t?Ůô•lŕúü… îÜ…;Ýň©µ¬wÜtFöăÄÍl0Ú5Ęő™;ĚröRK––—ËÁ Ś:Á€čřÜkšÔ&ę±tBŻţ„)kBW‘đ=lgü.Âň&>$71GŘ^Ř„Űnm ÓZYÝaę-9X}ˇs‹öŹĄ,2‚^°77Kc%L”dÂJ„B•5’ âs©Jţ‹&ěÝÜaô˛Ďˇ[‘µ'tř‰Ăő‡ÂŁ8eRx¬MЧR˛ĺ¬ľĐ=*,Ö§`›”°ý&¤˛TY&` k¬Ť&đ°l&ü±íŠ…3"TŮşĂĎá÷ŔD6:oLäcî[¶Í¶_ĚŃ)ţ®XÚ°ĐGőš,č…˘¨X�ž—&ěłöŠXŔu@KĘÄ\¶mv˝ H6/<×µżTN× ýmŰlßCs2ç©*!ś]_ŞĎÓĐŮÉ?ÇÎ@ˇSS_˝Îz\ń;ˇď‰R6fŻDI!]qµĎöM˘ď^¶ž†öEÄŠ&5*jîîă÷©ÇřgÁϸbźtĚú†Ö ���p$CU?˘ J!и" i@Ü#†á� Đ— %´¸N QK1ăüŤąňOW,0ZC“&c4`’™ÉůŁĺŹ7��ŢŐ&ř«°ÁąŕđI]:|pË„>… /ö˛Ý ¨[™Ó†Ňę,ą»îşË­ź>ĺîż˙~×ń˝‰OçĺÝa––ÝňŇJźč#Ţ Ó÷řÁqM DNÍĹ@věěaË[aŞ)+ľŞR}…ĺbaJ•Ȥę=Üsą&xpŰŠaBŃN(, ·ŻN\Ö¦/’8ŔśjLhdű&üŰöG¸®¸ě… JAUťëNŘž¸}uóDśN)lOčş”V °†B“đłí˙ŘqǦĹN1v®…Ë…ëχđŘĎB¨[UŹľ7ˇp)NeçzčđS•ękŘq±m ŰaBźX€fÇ$vŹ©:>ajĽp› (ÖŐÇřĽvŽ&¬ Ĺaö}±3OxN©Ś„>ú®†iď¬.»žHä:qUąýÖ‚R×íÉ|ĽO3-ä';8ďčSüľ”‚ˇ ŞŇ}ĚJô3 Ěź˘Ž‘ŚÁ���Ä$SމĄC”?łę„@CD@U´Á!ţă€I:đ9őd‘=Y]qS»śVsĂ»šY˙Xî·>~Ľ�ŽůoRüž–ÁÄŐtŘ|G®o‚ł ů�˘süV�LOmŚlőʦĺ@mßňöw7wöѩࠤEYďΠí†[Y^v­v/mŚŻBZöBÄŢČ>´ŇBě“$Ąă°AëĘNC°öŰ�ü¤ŚcŹ·¬ ŞDăÖOÓ¦*QÎ,]~fÍ(!G,ţ™ÁĂA˙açÂ$çIťplT™ŞţiťH.,[%® V±ŕhÚďᢟu=!űąF44Č…JĹm ź*˛®ĄEzHý¤ W¦“xÔ\TŢ/źz ´ďa©Ţą7rŽ#Ó~&ü¤/ëjÚ1ć÷uŽż×���0?TĆăôŇzŃP, %ęŐ €˘ůA3˙Ŕ±áŔ ĄN¨˙H×ÝŔöd«ă ��8&ýő óĺÓľç°�ŘC…@ĄXoP¬Ţµ´_i‘ş©k®?rjčř2‰wýI]6LëZŤ¦[nµÝRŇjÉE?öu×÷ľ‘ş—źˇíŹ>'ÓlëĚrůqDűţT 0öË~Ú8kęöß°>SŐű˘P% çxďg›G ÓĆ=ߪ\•ÂyuÇi–çŮ"‹FťßĂĘ9EłšÍÝ"ĆËS}YX˙ŰŃlż=5ŠĐ/­†×­„XńÄ3©čgZÁϰĺt?éDí\´ß(���c˘¸˘¶OYó€fe …@I™•¤¬Ľ?u× Ä?p\@ř�ŐôÝdŐů/DD��`(~‘Ň软é�ކɡĘůÁ÷٦ş~€¶›;˙Ş^@‰˙ާ®ˇ4?J9S8{t:×ńĺ;eKš>EPËż‡ÄB­cooĎ…i,…M·4GaJťnä^dץکÚ÷ ńărqş®pýaý±ŁIÜVko¸]¶/láv„ëŰTU•Łjk‡ío[NÇRű]hşíĂ:G˝´Ś°”PÖNŐoőéłć‡eâşT¶jÇiˇüů–˝Âă®·N`r«/<®ueÂÔ]6ͶÇöOUZ»Şşl9ŰÇń:âs(ţ~X:©şó´jßŮö…ŰÖľÂĺŞÚPő˛ă¦06`ľČ˘1Ťđg^¶ç›–ľK)!S;ŢĹoHš‹ä”4šůůâ§5]>¦0fş/€&ýŚ!ř©űŚL6Ëďĺś|Ç��ŕ™ ź34IÓÁ~]Tu(ŞŤ!�–ţ 9?ţ�śöŮ)÷7Ć\đôuß;��Ŕ<™–ć˙Oxs/9@u `˙TIČ-ÍWY˘[ Ę»náđ“ǧ˝[——oDö ‰?Xżłłă¶¶·ÝÎŢ®�iţňŇ’;µ¶îi¸BĆîî®ŰŘŘđâMWú›µµ5?ďöíŰľ~MÓK)˝L$#ô· ‡L|cÍSę-‰b‚ Âö6Ď+±ŔÁÄ0&®°ňz…ÓĂmŚ·wkkË˙mŰe"Ü(Ĺ–¦…§P·ż<&˘ k(1Q•Ú˘6ź:uĘo—ć«m7oŢôËź9sĆ­®®Ô {TĎvvě…ʆűŘć©>}Ö|G• Ű×ciˇ^@–—5ÁŹÎ7µÝÚżľľŢ'b1!M,ÂŞhÍ«_í1NŚÚžŹ†Ęonnúišž¶áůdça¸˙uĚô·ö™ö­­Çç@¸ŻM` ăBQT,R Ď#ű^čč%tľÚ÷ÂD;á9_ő=°}3í-kçcX6lăqaśóoŢ…?}iËߌü7&I˛ż“\¤ß *¤iRŠNK˙ĄżI/ŚăAâĂ“Ëó}ŃĎHÁO:|ůüĎ1DŐułx¬���ĆaڍHľâa °îľ{A5U" ‘ Y÷a@ř�%U?®ă/Ëo��ĚĹŔÝŘĹů8Ɖ#+bĎ4 ćĺäŢg•q«‰Šw•â€ ŽťÝ]wăćM·ąµéö4€ßí¸Î^ǵŰ-?OBŃÎň×–W˛÷\dţÜşuË‹>$ZĐgܸqĂż«‰A$D1QL,p Ĺ`đÇ-*Żúőn ,„ő™€Cí‘ BďŞ[eÔ†pD¨Ľ9¶h*c‹P`bB šô®r&‚±őzŃT±Ť&Ôˇ3Ę…"\đ#lźm“ +L\d‚¸WÚV‰°´ßmşíËp[B’í+­Sí±}­őZ›µŢľ}îOͬž˘=j«ŢµŻm‡hyŐ§ušDuŰöŰ:m›L8¤uk›gÓc7ˇP¨Z%Љ…5áąl˘.;‡Ăůj›ťă†Ú¤óŐ„?Ú^ţŘ9mb8;®ˇ;“Ź«öUx\CŹŐžOáń·sDźM¦W(α}«sDËj{…¶ÁÜśÔ ÷ě»fő{q`¶ŚŢÍŮ*ÜVŐĄíĐtۖ𜎝»Âărś©:çXř“šŕ§pűIRünä)żű~ąŢoŹßžčZľčNN0#¦ýŚtů"ř© ŐµcШ7q"��€1Ęýr n‹§iuUý¨ ţ® �Ĺî?•©ż&˙�Ě1�`€řuxŮü˝´^÷OĂ9��€#§|ż6?CÚ×™L*¦Ŕ|ě˝tú1! D?…ČĄI~ŁiŻÓu·77ÜsW.»ŤlPemŐ;ţČáE ĺ×rç–ě»vý”{ŕî{ÝĘҲɍ\R2$4‘(ŕôéÓ~Đ˙Úµk^ ‰a$ú1á… ÂRZ^őHÓMdab—PÄ qÂ… Ľ»H‚JÂ-Żş®_żîß%ÔŃv¨ĽąËh#t—1WmÇ0‘öʶÍDQqJłP,d‚ a۬eµ^Eh=ZźÚ¦í±m ťW´ś¶GűIË©-ŞGóMڎm5÷%a©ŤˇS fb7[·MłöšXÄŽ‰‰T|]IŁ4řP™Ý˝ÝR¤Ąă}˙ý÷űýŠrL¦6›ĐEŰŠELpbÂmö»–Óú-Ĺ™ xB—';–ˇăMčŁc{ńâEż˝ˇ°ĘÎ[­'&ŮůşâŘĹDBvn‡çЦkšö«Ö«WěţŁr:?í{˘í»rĺŠo‹‰”t® }7ěÜ·ănßŐŁsöQű˙ěŮł}Â+ĺhë<1W&­ßÎííŰkŁĘ_ştÉ/«íŇzĚŮÉDG&3ń›ÖŻvčem Ď«Řő Ź(a@!MráŹţnę|Hr±Źć¤đ4ţí™DB'“IE?U.?µ‚źaÎ>µë‰Šąń„B����ĂKÜç’Lv=žbBQ&rĺ‰2Ş6P­�h\÷źIÄ?�s Â�MUÇżxęuT1€Ĺŕ N^ÂC€yŔDŇ1�ĚĂČâ»;|ąÂé§kş&öIţ*śş…ëĎ^gĎ%Ť<­‹R~)ő×vwĎ5 !F»ŮĘĘtĘü ±ëĄ+2„>K  ‰DL;Ý„Ž"&*‘ŔŔ>› Ĺ^aę Ő+aM S…i=ćĢúLä ˇ‚ Ô'Ŕ#v*±v™;‘ `Ba’0!č@ĂÜ‹ÔM— E‰P�aÎD†í'vÉöA(2ŃöšŘD/›fŰiő›€*|Y;bÇśPĚ:Üt;Ej4sCJ‹ôj…ČHó¬}á«L-—m‹ąýh›$´ …V&ú1§-#щ rlßÚzÂs$_…çŚm“;žönĺµĂ޵ĂÚfűÂÎos–ŇL/m“ąăHTcçž‹Pś¤úM´¦şu„˘&}ݬ­ZNç‘ţ6qŹ Ě˝)N[nźĘÚůmâ%;÷mąř;jÇÍö‹‰öl›TŹ}7,í™DJáw7>ďN‚ëŹGKb!_šßÜO‹ËPţ“;ü¸đË \íöő†úŔÔ˘ź1?c‰}ú4?ieŮyý3����öG äéź ~L|Í+E=áÂý}«ru 4XÎ!ţăÂ�ŹčFv:îÍ€ą'xŞsěň!ŁÂżř9Ó…`  b€­�9D?�‡IZ1:Ů2&vÉł{龊”^iŕđSĆ©Aş//Ćiůz ZKą3Én'OÝ%çź–ŇX™ËI»çěö s® SJ™@Â޵ýmB†PôşÁhšKT‡Úa©ĄL0cÎ(aŠ,«#t}ćŕcé¸LŘcB‘PĐ`Î)&p Ĺ8&\S™°&l݉7”Lć cí1’Ő#† ^,í–mC,–°}dÇ@m0!‡0§"‰-Ô.jsŠ÷yĽŤĐ•FíXeçWÓ˘ňŽbR rl_ÇçpşLŰ1Š…!&.±´TÖ–0•• ÄěX„Ë…b'ęŘ9bÇŇÚdukß©=&dÓ~Ń÷ĂÚgç–ť#¶źŞÎçŘ*Ţż&3qŚĄ¦3—#OKáf稹Z…ű*t$2aW,v˛ő‡ŽCćTdË­×ć‡ßŰa˝¶ýa*¶PŘgßŰçáyóC™Ň~/Šô°–îËÜ~ňićÔźć«JÔÓ7X0VCCŹ3)ú©üŚĺ ÔŻŠÚ<B„ ���0 g`–Kúc/ĐOçĆĺ´X”T¸�%I/6/T;˝Ď)â8 ü€ś4z‚hy7`a™FôSU~Ř“źĂćŔLIGN˛`Â@ Ŕ‘‚ťüCýoł‰÷Ęż÷pz^ź+ëÉÇl×Ęí—‹ÁţĄl^źĎJ@˛Ľěšú,1AłáN­¬ůyˇřAŽB6Ŕob}–@ŔŇ8™;‹Ä šf˘Śđ:ÍÂD ćB˘wd¨¬DŞŻŮhö„9iw@̲˛ĽâťŚr”<ĹXÇ‹Q˛2­f)śŃ2Ş?âčÁöˇµO)KŰe)§Ě±(Ų̈FĺěoD™;ʰ]ˇSM8 iËčGő…B*9 iżX*(KGfÇ'L[Šx´Yá9ÔéHŔÔńçJłŮ(ö©Ň„ĺ"'ą@éÜHŠ›Źť˘N˝ü1´úŇ^ě§˙šZ.ѱM˝cĐÚÚşO Şţn©;Ůö†‚K3e‚žŞôh¶}&L Ó…Bťü;‘”ÎO–ŽÎ8aĘ2˛„/[ŹĹEŞËľU‚[ź¶Ĺ¶Óać$ś ĆB'*s˛óŐę´}ŠlBŃX,ĘSYűîZú.#Ü>KK‹łl»L ¤}Ą—ę ĎçPP„�h2ŞśÇöUź+zpÝž¨'˙ś§†ôé":öą \~Óż·n č§řŤIFĹŽ śxö!úęň–ŻűLěüĂu ���fEM\‘$±č§—U¤_ôăŠ7{}çXT%�Şt˙™ř`‘@ř�űčŕO*š���8`ĆfŇ©Ć\Şžč€ý2<n¬ŚI#aŹ‹­Ľ@ˇë_®psČ_Qť|~SB âgź%ţąxţ.—4×öâ€fO ŠR\~H˙–jČD&p Ĺ+ˇűNčČ"1‚ąÜXş)s’đ!ß„n<Şoue5¸&ĺ7¤BAÍR;kWÚđ˘Ő}úô)·R0´}i±M`"†P`c Ä„Ů„í2וóJłŹÍ3‘Ź­ŁĘˇĆöˇť‡Lt¤zm_Ú2ŞçÜąs} +oÂĐy&„8)<fýěě(őÔ¦‰őőSľmćŢŇ RjéGĄŰI˝§ëëËŹOĂłž»P#Ńy´ěö–÷ňta*—µyyeٵ—Ú˝}®˛®źĐEÉÄ]áô0EY(šŠlLeŽ7V‡9îpĆŽáwÜQŠ˝Âă łzß­~Çź0mY8_@HĺLđf"9s’đČ;ˇ;Ź ›âsŐÖk'Kçe ™Jç« …´Ś ôÂm•ŕÎÚ*TćĚ™3Ą(,kŽT¶ŽX€«ăÄAoSřÝ=1Bž»… 0éö ,‹Ăß  Q±"„Śu¶ýTxĆüÔ}*ťŇ!âęúF;���€ńĐ ÓE‚ *§źH$AO•�¨Ňý'Hý5JüSŰL‡ś„?�P OüŔń%ÝçüqË'Ń|BD€C!­x2»¶(6�GÂqfm,ZŠ{Ňj±_yWőČ1GŤvKB™Ąž›J34†\ tČ„ &čŃň&$°ö†Î2ˇ#K8€m©„„9†KŠ #Ě•Ä Oě&—ęđ7¨ţĆ”ŇOůPr˛H%xč”bŹSëJăÔsóńAUŰUłÍ^�8BÁÚfâ%se1Q„9™ Q•›P¸/BW›ŻeµĚMÇ„)ŞŰÄ76Ý0á9ţ„ŰŠÂăÓ/ĐH˝»ĎŇR»pZ.]wĘ—Ő•&ĄĆ,Lž-Ţe©™ }Ě…Ç>ݬ®¸öňRéÂT4˘¬?—ŘďÔ,~«Â”Y&€1‡µM˘íŰXh2I1Üǡ;Źť§ví{bÂşřű¦2‹ÓŚU­OŘ÷ĚÜl}&Đ ÷i,` E>ćH¤ý4 Ç1Î÷‡íö7éSWş¤y‘hZř� űŤ©ś<Ăc9Ć�,8ˇŘfŔŤÇEźk„<‘čg¨ŕ'­Y×ëä@UqęOä���ŕjŇŕ&qR 1÷0§źZPŤűŹĄţ%ţÁőŽ�`JâÜ €E!uÎĄűśż6`śďÖ��LNďćPŐŕU!ôIÍ1¦*X—–˘ ä^câšP\¸zŚo䩯äHŠVÂTA&h— ]?ĚÄ\~„¦™Č'Tî\X\Ňç#áOžÖkŮ;Ôt‹tdy»ĄKMYGŤcKÝvWÍł`r@ )Ö.ŕX;bÁJ,„ ÷O(´°”Jˇp(t€‰SI…N8ˇĐȦĹëŰd".ą%™Ř'‡Tﯤ\6śž/“Ď·óĹD^&¦RʰF+wb*î;6¶Îе(nó~°vIşů„b an5“¶Ăę Ĺm˝ó´ŐwLěřĆÂ;Ţq۶„çŁSmcčš~ת¶+Lg甉ŰbG®iöAńőb“®żĘ‰Č¦‡Ô?ű]Ϥű§’đgÄ‹€}ż!Â˙6č:Úě_(89�Ŕ�Á‰%­ť>ąč§RđS,<TđSń=ˇŇжí©m?���ŔŘTÄĂ0'.‘Ö=4‰€bˇOßô$-šŠÝ¦˙ÄÍw�óÂ�śaO qO�ćšiD?ŁNęx~R1ç€Ăf`p(Műľzů@ €yeăÂČA¨ÔJ$=qŹË/r÷ń÷¬¨ý3d@9ń7•ň”U�LB(âđŽB6uT­±ďSŮΤ´Ş.&÷J™a)髯o%*V=č_'đ¨šnKĽ&Żrk1L€—Łö˙¸‚0mšóO&®ťš»‘rĺAJ‚óÓôw{øá¶B˛ě\“łTß!Mňš&}Ĺýň©ĄŹ E_á>J’ˇdĽ?‡í ÁTQĺň×Y÷˙ŻÓ„auőV‰RLĚSµ}ńĽXh:;ŮüXpŻ7Léî—şö†)íâ2ă|7SřSUǰőW †Żłîó¨öÇe÷%ü‰3Ć9®HŮç�¦$ć„“«ćŹ#ú‰ËŚX®Oě– Ö=ĐľŠŻ˘���†:ńLÜoŽ˙N‚ĺ«D@ůÍ™ /ú ö"#‹ëÇ˙Äí·u,�`(éÄ"��€ů r€(�UuDë;§ů\Ç0ŔhĆś­xr(ÄÜü lĹňá ľ)xŇŢňş?#ˇO;{u»J”řtNŤ$”–±uÇm1±FőSk5%«·XĘ»»ôßIęßęŞz{ëWŠ4˛˘Í4íĺ˛Ďč6ző)÷:˛[ľţuÂź8íŃ0×—´x˘N.6ľAjŞpźöŽÉ P¤7T‡Qĺ‡MŹËäÎA ~”msťňhzŁ‘ßALKQX€šŮ†J€dÂsš Ţý®°ĹÝŚMň){Ůzv÷öÜ^‘ÖŞ<ż­F@řťéČíŚqöK(´ ťubNě¬TunĹ Ł„ëŹĎßXüŁtpJ fŃ8"Ąaçg•`(<ßMgŻ8%Y|nO" ŰnÝ÷d¸Ş®N;XU• ÷ĺ0FíŰię§Ťűýď†ß)~Ż+®©«Öď^8YŚü=ŹÄ<ů2ă‹~ú?Ĺ ë?Q˝a]Ų˝v§Őmtő_���€qđ÷WBăa÷[‹ůIŢŽE@e˙'�N?¶¬M›TüSúÓöa@řpâŘGďťž?,<˝ń`ë?ď?·µž��°P¤©%2OÓŞA©ÔŤőëö\8Ň­C˘+řÁřnę»»»ţÝ—)đĂTUá2Ö.ďÎR ÂeK7•$ołąŹ”ëĚ^ťnÇ/ŁW(L°eűŇdĄ˝M÷Ó”ÂlŻëŇ˝BŘ ‘J+°oö¶Í?µV°»BÄ28ŔSfĹÂŰn›_Š7¶+G•8$®;‡T † ^Şę‹·µY•ňýßu]źúǶ=?»öövÝćć¦ß÷«Ë«ýçDCŽ?͢­*ß-î=Ú¶©ţŢţ(Ĺ>®<-zZ®ěďNZHÔ¶Š¶ű:ť Ü€đ§nLâ˛R‡ťëVGś"OŰU•>OÓ$Ŕév»}n9á÷+\Ç0AŚŐ§ď©ĐňaZ0ŐŠ|”{UçRüwŐç¸mu¦p^¸ˇĆ®ÚÂRŘĹ"ą° áő%lŁ^–"­nŮ*QPĽ=áľłéáq—Şő‡T ~F‰F Ăivý¶r†Ą{Ó5?íÔąXĄ®O,ďł4ŇÁâ¶? 'vŘI«ćą E?‘ŕçĚé5÷ŔÝ=wťsgϬ»••Ą©ŻőU[pp÷M����ĆGqĎÖÖŽ»~ă¶»ôě5÷řă—ÜŤ›vł#ď—bs˙)ţq®ďáĎ2ş/„>Ă _ţ�ŔX¤třáŘl“žŰĂľ4˛©ŤX]‹ĘÝd-$ ť7€ůaŘÓćĺç4Kű‡ÎúKótIůÝžnm˝6¸fńw\ż~Ýíěěř3Ąů9sćŚ71މBˇŽ–ÝÚÚňŻíím?Mˬ¬¬¸ŐŐU?8o„bŐˇň¶¬‰T^ËęĄzJq€ÄIiÇo®¤—�"[~okŰ·YÂźÖÚŠk-/Ý‘¸!éí/؏ŶMj‹ŢCaÂŔ1 „ z7á@•€ daP\6ü.?íŔf($Pµ˙$đév÷Ľř'/Ł»îćÍîÉ'źô§Ď˝ďuwś˝ĂďßVłášĹS…{^|Ąewłĺş…p«•˝ú… ˇđÇoCĐ&­×źŮzuěMĶ×~łň펓kÎďřO»ĎBÁŤÎ ąhٱöî:ť˝óĆ–»}ű¶?ÇýyšÍ×ţŃ6ž={¶ŻŘ>2PUűíÜĽuë–˙Ľ¶¶ćż#±ŔÇxšW•ĘĚ„JqýUëłw;ϵ˙ýŠDsF';¶¶óďłíűٵBíW=Úţ0ťX•FëÜŘŘ(÷­‰ Mô¤W,v%¤±}¤ö¨l(Ŕ˛ălÇ©O Y±oę>[;Âďi•اNü3¬ľx{őYűőĆŤţš u >wîśßĆdŻŞ5ĹýŤb� –:Á]0żĘµ'®c”čçô©U÷Š—żŔ=üĐE���pÜQŚżşşě_ď9ď^őŠç»ÇľtÉ}âS_p7om}ęÄ?ĹVĹüÜü§W¦VÚO?�„?�'tš›[� ŚÝ¨Ż?÷cYMŐç*jnŞ—ó’ęŇľ@ő`A_‘¤ş5ő$•kž<O áÓ¤Ô¤ţ�8îěgŔ�jźtZ4|2Ţ>©wké{~ľ§ę-ç\źĂ† tkŔX/ţčďk×®ůă .¸S§NąŘŤĆĐ50Żg«ëęŐ«^`Ëi�]"€pű´śÄFhy[·~[%hĐrwÜq‡[__/…;ć {SJ[ł“­sĎ‹Ť ÁÁÖ¦k/µ]ëĚY×\[uI»ĺAi±ý˛ÝÂťĆďt@d;’±ăm»˝lš‰Ş– Ĺú[ëÔ>Đ2Zoězżđ<¨3čh9‰KlBw;oşÝ¤o™˝Žť˛=Úź×®^qĎ=űśÜyá®rßy‡ ·ç?;{Zv3[É-—4ö\«ŃĚ>/;·—$wQš79�ŐFY]ÄÜ1g©ŮvMµagŰ·¦„Ú9‹‡±Ą?—Ónĺçv\K×˘Š¶X9ąQ™Ź‰LěxzᏉ{Š»˘& żzéż|ů˛eŘwDuIô˘ď^ńńŚŹ«°óCu¨Na./VOřť&’ÉŻy;Í1É^jwč¨î»ĐˇËÄ&&”©i;ŮéVďÚ`ő©ťÖv˝›Ë޶+(…"(Í·”e& ż3Uß«°žŞ}kßY-Ż6ÄßMŹ…ľ˝I~ţ…Î;ˇ ĚľŻůS´=!ťKvmŰhëŇň&¶´ĺĂuXŮŘéG/];ź}öY÷ÜsĎůóLű7XŢyçťî%/y‰»pţüĐľ`Ţćxr$Ćâ> ńâÉ!­śÖ/Đü»_ôSžŁ#D?7żđů÷»×˝öeś_���p˘yřˇ{ÜCŢí>ô—í>˙…'Ő )ţ)côHüă Ĺ=ĹßUŽ2 óÂ��8¶ŘŔšÝ”®&’×$ŁÄ?Ăn°%.ľuÜďđŁôŤˇu¤I´ö¤: ěżĎ× A.‰Ę ż!8POR+[*iµšŮ úĄę��8ŮŚ ť^>ţrÝb°?-ÄaŞ!ŘŔł7ŠĽ“K1®äO}ęS~Úë_˙z/Ŕ ß…ą˙(ÎP=§Oźö‡Ç{Ě~řá‡Ý=÷ÜăťlßĂ—ÜĽyÓ—×úĺŠrĺĘ?]‚•óĹ@µĘK|ÔT»ĽÎ"[Xěu÷ÜÖö¦K:]·ž­wgcÓ]yü+®ŃMÝÚóîwËw]pÝ3ëţĆW.č–&Hf„dB˘Đ…(tđ©:Ů ŁíĎСE˙ȩÎĄ<’Ń9`řÚ=Iü¤—ą«„űÝÚ:Ă›ŠöŁö©ÄÚ÷Ş+lK’MŽ<Öţ\‘ ´ :¦O?ő”»qýşwô9uęŚ[_[ĎŽĹZ7eÇŔmąÝî®ŰÚÝr{é5×h_Ę–Ýpť¤‘Ő·ž“;łb§˝ a©˝ěÚÍ,nj"‹´k»ˇŃI]«“Çp VI¤sĺ†OçÖ8µîk+έ¶\Ú  KscHü%!‹ąĚ4yŚć%JY}ć4ŁóÔ;YUÄwÚÚ‡›[ů9­ýoÎ<ńů·Á•˘ P´aÂťărLұŐń±së®»îňß cŘ„çR,üѲĎ<óŚ?Olűô·¶CŰcąPc‚K5f)ţĽ¨¬•ź§&ÜS™P裿Mžű±`ÍÚ~Â Mä§rŞWó$TŃţ˝űî»}űĂşLđcâ•Ó9m×sŞ2!Ő0\xĚěz—ÂeLädŻR0Öj{[(ĘŮݱTxiyý,ŰÜ^Ę…U[ůyiÎiˇJËJ(©vH¤Łk_č8Š´lťˇŕčŇĄKîü űÜç>çŻŮ&ü±ůĎţóýős5«·×g©�•É*!PiZ>¦ �éżłś†c‰~Šxć«^ţ|÷ŞWĽŔ���@ŢGřşŻ}™[^YvźüÔ}?9ëUŹ'ţ1|ąŠ”_� Â��86„WvÓ×nčW'±K‹T[˝©ÉÂź´ {<. —Hň3śß·Ľ žę/¦U¬ÎžxŇׇ¶e‡1XÇče»Ýüćą=ő, ��€™?ďĆ Ő9ĂŘ`w(RPĚ`¬čwÍŇ~…Îq=&ü±x-oB·:âeÍÁD/Ś·taŞSŕ–É»™HĽR¤xŇ~@˝ŰqÍ4˙-vË]×n¶\ş'Ç‘l{6·]w}9+ŮĚ—Đúsc¤’đ—Űb¦ĐŮ$Üw±8 Ćâ.s )]e’Ńi‡lyj„©Đ4µ;^¶Q žzn-ýۡ÷Ţ9»’tËărăĆuwýÚ5˙·ÄCgĎśőm—okGN?ŰnckĂ eşÉ·ÚşśĹl·ü>ŢÝ=ĺno4]g7”­®¬ą3kg]Ň.ŇReŻF¨3—ăO7ÍĺăreÚɶçć†ëngÇ3«ŁáăŘ×]ʶ«ŁcoçTűĹN=Ţ٦pgÔKۡsÚ-6Mbˇ¤xŠQőišÄ:&Ň‘ E/ź*©\čś4w&KŰ‹b,}ž^&´Ň:íűb)ŻTwś/>OLÔeéř,ť“µÍ¶Ńś˘ěš ĎÚ`îE&Pń•B€gÂ?kŁţÖq÷˘»BX Îěşa×’0í–mݵCý­Cç‰>›đGíRýÚž0e™-k×%aőÇ"Fű.Śó=łsÄľWć’dóăta¶>/Ëţ;söŚk'm·ł»ăĎa)¶L hb_Çzî¤k•í§¸mć>d)ÜL€e뎌L ©uHč#ÁĎG?úQ÷ůĎŢo—–Óq3QĘJX¤}¦U3±Îř"ÔÁß”iśV¦]űÎŤrűq°gŃŹś~ý���� ˘Ô_Ű[ŰąóŹëŽ'ţqâýa®?á<€9á��ěFżnţĆAu¤IOÚăo÷t9~J’V ĆsěIҨdYyµđÇőµ$ţ«‡nlŰ ZL7Şwg…¸=őÂź®~iiĎßčo4'��ŕIÓÁµr<­'ş E8ˇ»†~WőŇďšÜb^ö˛—ůň–ć+vŰkCkŮ˝čE})ÂôWˇ#JčX#!‚ÜO48­:Ě©¦LÉ#·ŠČůFŽ.ÍÜđĹ/sďCąnvŁ«éE Ű®+·ĂĄâ÷ŮßŘęúT_ąP@é§ň{VÖŘÁÚŰż?{źĂm˛Á{›:˙T:ĹDźµßÍĺHBFXú3íÇđř™0AűĆ o˛yÚr§1‘Š–‰…Z±p¨tké¦ĺţ–‹‰~t<äȢ×ňňJŕ8’ :®ßĽž Z7\ke×5Ű=1™rmću®ŻťrKÍe×n©­˘SŐÎEÝLôéŘŠă±{ó–kdű!ŮZÍ8ăşË-/ĽŘŮŮ-„!Ýľý©c`űMő´Ú-/ŽQÝÍčŘjéł„ÚwˇÎjB'mčxjž¶[ËI̢ýsß}÷ůzĂăin?j‡ś\”¶ÎD'Z^u«‰2„ÚhâÚŮąnq˝Ž«ć}á _đóő=Ó17 µĹD5&’Ä\µTżÎ--Łň¶ŻÔNkÚĄéŞGçŁÚ-G! Ůů˘¶ËĹHe-5źĘ…ŽCˇ«ŤĄ´żUN˨=ćd‚$µ!ÄŘ÷,^…ߪďf<-ţ:ĹßĹP°§v=őÔSey·âÜő×űDU:Ż´ż´=jż9Z—Rjű”gquLµßTŹĎôYnPZζ9s™°Je?ţńŹ»Ź|ä#îłźý¬O˨őé\|Á ^ŕŹĎ>đľă0Ěčg6 °?Ćď‹ÁńŁĘí'­8'F‰~Îś^óé˝���Náď%b Íë^űR÷Ěł×ÜŤ›n¨řg uW:0×Xd©�€cněÚ ‚=ą^…Ý@öA\ł•?IďňÔ »ÝÜ’^4dußlř÷őÂ-ż§AŔ"ő Ş˙ôj fşqoW=­v§ ¶â›íĂž .­ô­5CDC6Ř™ě%Cźě��ešŚ`PŰĄŐhUn5ˇč'›Ŕ!HXšŁř71îčo4hĐÚ„*á2±ëŚą÷ ­/\Ć~ă»ÝÜŐĹ<üż>Ś(]şůôF«,­eěqlmą®DZ0‹ TNn2áŕ·Ą ĆÍŃÚVÄń„ýö[\nwŐ€|LônNB›RśZ­Ş-–ČB&†0–¸-ńň=W'‰"v˛ă¸évłuŻ­ŻąÓ§N»3gNçb(«ná°“í×ÍíMwăÖ wůęĺěÄąĺÜRÇ­zíSÖţÍÔßlÜÜŘő®: Í.śßói·ň=ďúŢ5ݧCĘź9tť¬][Ý=·“vÜJłťťąJ˧Ý=·µąĺn±®K''Ń9G…űĂÄ/&Ž—xBeÍůEÓěű`ó*ŃZĽ˙ęľcŞĎ\qBW+˝«^s¸˛T\ˇJxnŮ<sݱ2a ¸Đ•ËÖoâŐo„őG/KmeçŚŢͱKŞQ±uř˝˛¶©~íÓđz¦7 뵿ËţJ 4žťăńra»F§şyˇŁ–ö›ÔîŢn)ú2‘öźm“ĘësŐ1 ťÖÂ}î'XĹ×Ęp_…ÇÜαĐŃÉŽcxIčXlmu/+ŻďžŁ�ÄçQZďöcÓB·źľéČĘ(Ĺç�LCĘĄ„dŕç˛ęA\€z+}ŐËqď˙Ŕ'ó*Iś~<iÚçú3ŕâSĚř»ę3Ŕ‚đ��Ž –ňÁę0g …wËJ1P jhúÖv>ŕ#Úü[YvŤÖx?—~ů­Mß5–şŕ đŰż“§n6p#ěIüQé7ň!§ŕó`6X^^ę{ň��@ô~ŹÇ\-Ş©ĂŤ1˝_ pl Ůá`tĆGŰ&`°y&°°el`ŮDÇá včT!ÂTA6ßĚĺ!ç µé™gž)ů3fůovĂuŠ4_–5´Lűl»›·nşn¶ür;ű=^ÍÓůőuŇÜE¦ţäżëI)2‰ŘĂ6VĹ�uiŔ&ÄőĹýUBĐ…(x„mÔľ2Ç 8%RŘ®\ô”ź&*˛»»ç¶wňÔTš/÷—óçÎąőSkYÜ´”;Hîv\ÓçK¶?·µĎ7n¸ç®>ëv:›îvgĹ­ťÎE_{; wýĘm·ł•ĹbJ·¶î$űé$v~¸üX»ĄŰHýĽ$IýMÉNöy#ŰÜîúŠ;{÷Ýníěé,ĐjgëŮsiv<·;ľńáąd"µ_±žŢ-e•m·9Ú[‹ŢÍm't÷Ńrr˛9sćL ·ýöZl­ézÉaĹĘV‰vT§ľGO?ý´wQ2çÍ“›Ž9K™#uر4'KÝ«c+GM—0϶ŮÚomĐt«_ó$F1÷ď\ă\)x˛TeVÖŇŮ|űžY»TFűÔDBć¦é¶Žđ6!ˇę’µGÂ+•·ôkćTeâ+•łk‘wý*„]vť1’Ž…]kÂőV}Ďl_…bvU‰uTV瀝;ˇk“ťÚÚ–JËÎmł¦YŞ5;¶ˇPMÓĺÖŁzµŐcéôÂÔŚáţ×r*+Ç'ŐýÄO”űLnCryŇtťo:Gµ ^Pş¤ŽaŘg7Äí‡ţPCZăÜ;ŕč~ú„>áßĹyúÔŞ{äˇ{�ŔT¤)z 8ôÇeŃ®Ź<tŃ}â“_ČîŹlć±”ú‰…řÇątxĘŻ!®?eş/€�á��l€-艧릵në&p«¸a/:ŮŤç[·ng?ůÓȬŮÜÚńďíBÄł»×)źÎď÷fgrÍVţtđµ×}ąÓŮŕĚňŇrą~KáĐôő$ĺ€cú¬t#MĄfX+Ű5.˙¤wv3ľHŤaé6Ě Énŕkš řŘ@ZŢ>×÷ŮnHZ]Z^7ń{N]?X¦ÉüÉp��0Cę?ĂÄ$}˧iźHÇ–6ŕoÂařÖŔĽýöĹ.±c…ŐiË‹PĐ ŘŔaÚ Řŕ» l}&ć(Ý*’`o”źÉ&&ííĺń©ňµ”¬ŘÖ"•U.Ę—ó÷żLDüÖ‡‚R„Ű0V°ř!v©:Vu‚˘đ8ÄŽ3ńşĂýh®2ZÖUˤ}‚°ÜQ)wÉSC)ŤéĘĘŞ[]]qwś»#ű{ą+řĺ»ů>Sü¨¸ŻŃjx·ž­í=·wmÇÝÜJśôÝNânßŘőďf(ÚëęVaď®a~(ě8ę˝áŠcśť«YÝíÓëţfäňŮÓnůÔşKłă™ě6ÜŢňŠo§‚–Šó*z[š[a)äD(Ě–ZNMŰÝŮőuŞ.}öi±V×ú„"ÂÎ[ĄšłőíuöĘăa1˛ęVaš,%ižGˇř'<>ˇ«Ź qô®6›ĆbQsž±ď®?ł¶-­ćŰ —ľ–âĘŇé=>ĎĂ8×ŇĹ…ßkŰR{©\xľŰçđo­ßĘŘľŐgĽkNłŰ±łýn.¦¶Ťˇ{’ŐW·ĂvŰú­˝ŰţŹËÚţPżÁÚŁňvěĚ‘ËD‹v^éoűđ:iß'ŰgöVť&bę}G{éýB‘¦Ö©tŚIX&Á9<Ů6iţĹ‹‹Ônu·čC|›Ćúm“qΧ@” ţÎŢxŕ˘�ư~Qšt'zţŕČÎÓ>7L˙J‡G=xŕ÷ÉO}1?‡ŇĽž¸ŕď|ÂpúĂđ��Ž=ćđci,ô¤Şž>Ö éőőSn5äJźpăĆM·±µťÝ(^uť,Ľ~k# >ÝĐőrÔi/i@*»Ńî48Őr«ŮŤĺťÝ÷ěłĎř“ [ÜJV‡nYk@D7öuĂz=»9­Î‰OĹ ·ś$x.p'kß­Mwvő”{衇Üwč&úř=t ܸqÝmnlö=9¬mżnŞŰ“ÍO>ů¤o ©} gíł=a,l D7óďşë®r°Ł'¨ęŚ9� ��ŕĆ\¨Â (çßňt—~ ŮžšáĂčĐýÂR$Ů»ŽĎť;çűBG“*KĚD3–ňKżĹ–J(gŘ�Ľ9™¨ŚÜ*lpßÄVŢÖßH,őQopŢ˙~"Ű®ü©µ¤ČÖ/|*ťA‚‡M¨a‚�í"…ۧ_ ťZĚQĐ;"¸ë ßmľĹ+Úć$bű_XŰÂ6ř¸*‹ml9í ô‡î†ˇ;PŘŰNK´S¦uܶŰÍRŚŃLrѶ-/1¸b˘s;çĽ3T ąŤť-·ą˝•o{·é:;Ůńn­”N2U¦rź¸ţ”©KËKîλďöÂź%ą÷t´ż/8ŇyÖÎöÉéłgJg /*K,mmę(‹ŮBQšD>ć ¤ř¶L3çě<křôq^xŐl”â´p_Ú9 PˇÝ„?jçťwŢéëVě('śKL"Q†ŢëöMřÝŇą`eφ鸮^˝ężC:¶MćřăĹ*EűBç­p„ß űžZ;ţáą3Ę +÷ý_ěýY°%Kv%†í8Ăť§Ľ7ç|SŐ«ą@ˇi€Á�@7¤6µ™d2µţČš5ô#é—4R­ŐŇWł?hm2ĘŚŘ"Ml6›č&€F]kjxőęMůň˝ś3ď|ďĂĺk»ďŹ8q¦;ß›{Ąť<÷DxxxxLŰ÷^ľ¶gĚs»ĐnQËęÄx× ú×nŘą&äX±oÜŘţŃŁG…Ôarß…mŹ"“µ‚kaą”ňP)’m±ěĆő¬¤ĂdB˝đ8“ě¦ëĽ\®©ô$ý,÷2ÖAýI”—BRH*“±úęµ×^ăm>÷ąĎŮń×3ľĆÂkäŰNbâž© Ĺ„(Ű*”oÉT¨ý„›ĽŚ+‡űn• …bzřwĽÉ˙Vâ"ŁDEř­PLŠËôC2™IćGEĄTýa˘̱¨¤îŁ$ Ĺ% …Bqĺ!3ÁĹ鎏sh×9¸‘MŔfgtĘ©ľ[¶\·O/¶v™�ÔqńÚŢŢćú\` -Çj”Z't·×ĄV×ÍŢkRé7Ś dů˝Řš~FüiŮ�Q/Í1±ÝIĽŰ˘Ze‰©ŽÓlćłvÜLv·L‚—XĹ#|Đ7ägŃJP@Ú Î{”U‚ŹBˇP(†âŢCß3A ¬Ş<ÔoĘe«0ÂßŘGŕZÔ6$-Ä“|#Ó ˇ¶L„%±A$]O¨"Ajygc;šÍGđ¨×śďÉ8Ij.c,’¦}§�ĂÇ‘82räŐA> üRQ¸Nłŕb1E–eBĺ”QńBüÉUŠ˘˘MŃÇ™śQy Ď[™¸!vŽ<¤ ĺs^ŢŻě ý<cfř{aa‘•~¬ĹeĐŻqdë3ŘObëŹí†ušmĚÓĘâ5ęlô¨^›Ąíý]&t»ľ¶6Ý|őY[ß<-ÍÍłšcFÇ(şńjN Ţt¬-ÉdFť•Gş©S$Âą–™Šq-ˇ&ČHŃđ~,Ł–®{I/Ě»`˘ĚR†¤¸’k7$^…ßr͇¤ Ţ…=w’ ä ł$ĺ–Č#6§ś‹ňůÍĎOťď!ĂH*,!•U…¤_d{!ú#PŁ)#\&×ú@ę/+QÉr)#É;˘<*„ôMŘoe Á°?$…ú®śVlBbOU_‡ĺ�y&•‰R5{Ź`ňCxܲ>$šÉsŻL, ‰<’ŞLžĂĺ¶…ç§ü7ĘăşB?€<„‰ ţČóëAĂ'ŠŁPŁż©ßYˇŕżBáaĄYTU¬j© –›üŮ, •ĄR(ŠŁÁ8•OFJ ĹeB4ÜKm0ĹdXAŞlľdÜuăĆ&Sú1d*UŞŇy…W^¶^c#Š %ţ( …â•‚BQ‡°›şÂé5ď€îřYçPţaG˝*Ëě\™˝ Gsł‰€Ly`bye…p8}‡ýnwÚLüa‡ąÝvoźëqA””!°YŔ+„i¦AŢ™ÝpÂ#p€  ŞĐR‚É6€hŚ 'ů¬ädâŔ“BˇP('Ť‘ňö%‚Jy!" x ”?ĘitÂ:ř˝oϡNZT–É{9 ¦ ©ďÖr^ţY0.&Ľ×#ç»â6b»Ů4#őp»"/€î˙q$Á±HP25L.‘¤1y@=LOVî·Şţ †u²ňöĄ}Da%$5„Űe%!Q�‘ľ++ý„űÉ’ «ÁD†%Š­=W)<.Ű4¸&š¶˛:u{›ŘţŠçhyĆÚm7čúJ›SĂ"—ëúű=ňőŕ\ĎŐ›¶–ŕú‹‚ą×hä)+űtŰö<wsi\ŕ7’‚žÔ—I+f0¨\VOÉŠ¦N©�q&Ї$Bňç0TĚ‘´ue"†|‡çD78ݎ"VH&)ĹŞČzrż˛–܇¨ ÷źÜĂRő‚\Om*ŮʤŻaßĺeB˘—¶‡iűĘí.¤†3ąŠÚ-dżü`˝¤ “:ĺ[Č4rĽř©J‚rß„ŞQĺs¶ä^”Ű#) ĂńÂ0ňܰţ”z¤?Âľ+ź‡2á'lç°}ITşĐżB4*3ą˙FŠś_ˇ8Ś ™AµźrŠ/y®7›Ť±äľSA”Ű …âřÎčme¶~ęîcă–ELüŃ{Zq!—gä{ĺVš|޵«ŚrWćčTŻ™™FFî•R¶·|…UŞ?ŐmPĄĹĺ„ …Bqe Îu[ŇŔ U <ŕż——hqłçÜ`ฤŮe‡¶»M}†×˝|ľ^٤ćf‘6(Š\ĐMŇZ,ZsęU:6H`#+„9Ţ5Š$H€˙lü¨]oÓ;Ĺ Í7fh6iĐLĂpŞf_ŹC’ 2Ç(�Q}Qý‘�™Ě´…ĂŰô}PRfÚË,kPVŽłĐ߉ ą“@ˇPĽŞ(Ţ˙U)§ä·ŠEAC'BŇ UM¤®˛ňDÚJ>B�’ tZ(ÜVŢ÷Őz—Ö+3 ‹$1††ĺŇ´ňXË)Žäďr*'I$ëËuU)˝„ę#iZ=«8 ô—ëöRO) *�*çÍúđ}Ëq†Ş#¬ęç>=VŹŠÜ{$MÝěŔ>Ďě"˘ Ő‚$T‹­­4Ó¤9k»ugmôĄ˝XŹzŮ Ä~ŇžWsڍza4óÔ–'UúEbPÄMp ,˙.ź9ÎđGaśÂd™Řž?ů„D Ş2ˇ˘VH2•,&ë˩ڀđ~Ŕ¶ 듿aÓʲŞô\Uä“ňßň[Ôkäş’çP&ÍH„é¬dŮ0Rżě/­¸ga ‘(L+&ŰOkʇ}.żËĎżadżđ»Ľ<DYI¬ęžź´­UńŠBq!P¶3('đPů^2Eµ·ą ¶tŰś×0[GR ĹÉâěneĂDźď}˙;ôgö§ôüé3GŔ%Ż0Şw·â˘Âł2Śőá/XźűoţÖߦŻ|ĺ«Á[$˙›(®"ŽáÖ ‰>~Ô’Ź;Ľ„OYő‡×“źkc"M÷Ą¸ÔPâŹBˇ¸xĐ1â�Á3µ{Öůëfćć3iggf9ÍH5‰=gćĹ\×Öq\KhyaŃ®›s8©á„÷Ž{X¨NĂ{L”;±M‚kµ;´ť4xv=ö[f× ˝¬żäa<ăܶ=±űšmştÓŢ ŘĘ<sÁlčpv-śâ2#úÚµk<K„,Gy¨ýěíîfé2Pvee…Ű&A›*âO­¦ÄĹE^‡ Ĺ•ĆfĽ‡¤€tw¦”‘@u¨XQx.±ĂzĂ vy˙ÓÎąÎxĽ•Ó •Z¶W„Ş�!Ů L U…˛ŠG™Đ3 áúqę#ĺuáąâH1-“)řńç'e›ŽI\ĆWÚe×Pżc öý1 1ë´¦#űţBvOFĄ9×ĆŮ›cŰšTy/ŚëĂi1ŚlUŢOHŕF®)ĂĘ×^™ĽSľ>«ę,·µś:KĘ— 2RľĽý°ëĽü·¨×HűĘĎ�ç[ěä°\UűG]ĂUÄ:éłQ7ůžôľ ű|TťÓ^cĺó2¬ŢQíŞú{Xů*`|Ž_ŠÓ€™fÜnŐ~äo÷ĺČB˛NÝc …b2x{Ä~˙{ߥ˙ňźüôżú.µ[ŽÔf9ť‡ĘÝI=ĹŽ3ąKýD§Ź8ĎĆŤÓ@üiX?őý÷ާ÷ß˙÷ék?űsś´Nˇ™šU0Ř•~ĆŞţTŐ«ĎŇ …Bqe ©�YÇ:ÝŤ›í‹áAl=uź"`;¸iÔ¨)slkŇŇŚ\bTs ČŕçL­NBß)ţ­z“iÄÁ'— áŇ.ŐÖôęا ł•ą¦TĚČ–”d ˇoĐřŤőôG[‡‡Ü&üŤr\gŘľ.I ¦Š?Š‹˝ Ĺd¨Rý¨R- Ë–ýĂ‚ŃUďĹp»©qL_j9ťÍ°Ŕůd�žř"ë|%Y;d{ŐŁ`–ÉÇ+ŇdŞ5yC˛ÜĚ”xq4Đn_ů@ŽgČł?*Ě Ťú1;ĎY iuĚ)p|†%ÂS&ú¸29mÇőMäŇeÇ–L8ŕź!JŻŞČ“ÉMÖVS> S<Âh ă¤ě˛21k±gÔő^nWůŢ*RĘ„šquĘň*âŃ02OUťĂîŰěZ÷d›2­LüµŻi>cĘ$¦aD¦2±ŞĽ~Ř~ĘĎŔauKůŞ:Ş0jűňąuÎĂďpűđ]EĆ:6Nč\*^LzĹ„j?† •Ő~D-HˇP(&‡ł"żńżOßý‹?§vű˛‰éĺEΡMÇŘÖG­KI#§Źń“Ć#(Z˙ô÷żűúýß˙}&ţ”i_™]8°­â*áXQ>mi¨úqą(ýLJâľ+JüQ( Ĺ•Hß'”ľHýźjIŤ ?Ř{Uę.n ¨Ăä¤,€`8xĘş˙°Ýň2“żg˝*Ě€•żŃŢY¤+ół™E („,—t`ůlfRĽât$¤P(. BĄ—Q6AŽGoĘĘÇ *źh0ú0‚K‰e… J©­&cţäżCĺCôóPĎßëŔńOÜEüˇ2;,`r§žŘZ°łffĺňÔ*HĺJQ"ôrą·ÂŢ •Ëű-'Q0EâQ!•Wˇ\ĺĎAwdĹŃŽÄQŻŐňßÓ˘Š8Wµ\ŢUĘ?“’Ķ.§á+ďłJÝg¨ĽľŠ¨"ËÂ~Ă-á6Łp–ă*Ô¤űź„řsśíĂsUngůś˘Î??ĂŐUŻ8kś¸3,Í—űĘÉ­îËżł€¦°Š«‚ô÷s4rÓ€ c nooQ\Źé+?ű3Ôé´í;ń÷.uÄ$ř°ŞÉ-ÎѶ˘®{r}äí^ž¤ą‰”™Ö“ôËq?ÓZÍGGDŢćśő^wŤ˛÷ŚS ['ź×uÇ Ý?0Ůc"x˘Ovq¦•;¦FCu˙í&˘Ä57Aöŕŕ€ććHńęá8ĎÍŚÔăgÝTŞţČÄ `"?ipßIş/^Żc Ĺĺ‚ …BqePŘyâ ?ĽĂ/Š aśŠ?…@O`ěůÝ3´‹¦–Ž/í7Aޱ°u>”ď~|p˘;ŇÔ~âs `* …B1ř XŢYĺô3B<!ŔJŕXĘś™X1Ó8ÄMeŮŚŘ AÄ Ęł„ůC^QŢ„ěwؤ֧DĂ›k ŐUâ´Cĺ{D N{¤€sé^k˛Ô#EGěE—7'СŽ0Őš,C¨L†¤ô*˘GąŹ«H=@Řľ2A¤jĺrĂpmß2©ń"ŁścąväúőQynX×jµ¸,®%ž¬PŻ“Bq!`*R{5 J@“ŚÍ …"Djß‹K‹ôĆ[oŃţŢ®}'n“19ń'1ĂIµŽ|ľ˙ŹBüqDLhŚđ‰`Żĺö#·qÝ6Ç!ţ�“)ţý#&acH*ă……Z[[Łąąą¬ý[[[´˝˝ťŮ)iß Ô5 ĘăĚâZ4ńg Ž×ě(ÜŤÖ’&OZMÓéëV(„đ“+űQ6ů) EÓ§űR(.:”řŁP(Š+Qţ‘´_“éĚ0%ťń'\áţFü9Út‚-"—ŠŁRfźŽ2C‚LU]'©x ŻJ?Ż4˘1BeŚ[ŻP(§677™üS÷ŕv»]p"âo8wA<Ŕ7~KĘK|ŹRQś7(8b°|‰%ĺ˘FĹ˙\9S Öš S®ź×KŁŃń\W˙uC[?9¦ąŽq߀Hîl‹ű÷ĘââbÁl\Üg(;¶řęę*H´°žěííń}‰rřŤşQ”0QŻBż¤™"îQ!„ AB2Â}+$!ŠČ$Q©Ş.éĺ¬PN“vQ HśĂĂĂCÚßßçëŔµµR|pmŕzAâäúš·ep*§Ž)ž«r…÷|˝K˙E …B1!<µ<Jé°µO~ô$v¬˝Ôćoył'i\©—ŮŔÎá6Áp{2•y’¬ŘŇëuů ›,'ĄÚŰă‰-1 ’K҉Ú)u‡6Ţ$¶NHTßÝÝeűŁ D)JˇäżňźCIëă0śüszÄź*KůŢ_“ÂĺńČý 5Ăę¸Gi_I?ŠŁÁń~Ő­`üI÷•UŞmĹ%€ …Bqĺ*˙ś:ĘćŇßgí«; âŹBqě#+)Š3Ŕ/_ľdbČpô2 Ę$˘!Ę?€ ”đsŐ(ö?Íčâf`Ó�&_Q’c,p„†T=ɲIqÜkŰ ů¤ Ü7 ×KđU-ÜcřjAeŕžB=(‡íp/âoI/ 2 D™uť©·Ř{uƧĄĹvh—(…�DHGXŹ:°ڎ缾«Hř qQŹ?T•Âu&4yVËlp¬Ç:\7řHšŻĄĹ%R(ΕOŰ Ó|…ĺsµµ= Ĺô�IĺéÓ§ö ÂOŹ~é—ľN;ŰŰlS˝˙Î{Y9ŘH¶š‰čÚµkö˝jĐ=Ę ýĘWľÂßÝn‡Ţ˙©€2ýË$ÝYţ-öšŘtü4ˇí6Î:64če•íÇůómś=Yłög—mP‡aKŔnŔc$%®Ńű•EVH02^„=Šmń|‡=ĘdžQDśd6+ĘgyRŠ?8†ĺĺe¶ˇ P$v|h×ůË_ćc¸˙>ŰRř;$ۇř;çďŘúéw÷w©ŰëřĄť……yNŃ%ă„íí ݧrż|őo¸6üŕGďxĹ7NP(Ž“ϸˇag‚t_e§uPDˇ¸đPâŹBˇP(' 38Ać¬ÜuQŐţ§„Ć5Ó |˝dꦪ¬açŕâŃ@=JR(“cň–(ţŔщ�q˝”öET#�8Éáś„B„›Ź:cSqÖ&ŐWą|4˘®˛iËUŰGĹŇąS°ĚŞŽJë«U‹LŽř}š8îuŢC’®)$ yD¬)űD¨»`îY ş @uăĆ Fú‹(I`A‚˘ú ţF iP—( IĂc6ó9<&ĹŮ@úçLŇË Ń×�§Ö¨řdi7lPń4ÎV:Rˇ( “{Č=˛jäoSü§Ź…Bq$9&ĺŹ(~üńÇ<Ţr6PE‚†ú"ĆA/^Ľ qBřyr’žcňNm-cd}ńX[ßfđŘLÁĎjh2Ňěż7Ţx#ł1ö@Śa jŻ ľ`ÝÜÜĽ?nŃÇą­(’ ěŇťťžX›}†ńdąŃ(óÁx2ŃŃćĹóstâŹŘ,h—(Ů íÇ2!ÚŁ_=zÄöVu;ň:QĆd„źAâŹSŰ]˘;wîpťŽř“ŰvRo¨*$ ź8oitŃŇ›).BŐ–î+[[ńŰDąrŻÚýŠK%ţ(Š „…âBˇśÚ«<aŹÎřCÇ é-¦8ňzË—.m‡ärO8Uś@•€ ĹiĎ%8…<Pv^ĘlNQ�Ârâ,U;ô˘˘LČ™U qe+–U‘]Ł1›N±§h‚2“ŕ¨$QUáşžL�A9 „ qÚ#°"dť2Á&Ľż°^îMQlĘĘ.˛=–Ł ĺ4˛Q~‘@“$­X8kąÜ'ĂúH ç ą¦$Ĺ®9ŹX&AM™a/ä1ľ›¶|¬#ĹéÁT<‘͸§´¨ú ¤ů*;OŘYz2Š«ŹăŘ㞣ŞĆ~ß}÷Ýl’C9µ§ÔͶ\Rcň &KČ{´Ę»ë§?ý©˙ŰÚvµ„´·.­­SlŠŽŘ~ásm±%'ţżLüIýňIŇ„9€pţŁýŽ‚gĎžń~ăLµČ©+eÇ•ÂîŚ3™‰1vyŁQg% a¤a!Ć‹}+ölÖú!çaﯤI ‰_ň7ή‘¬Ö1×ęďýŢď‘}Ęţż8†'Ožd$2!ô śô!.*\ŹqâÇ�¤PL‡Ęű- egéľh4©§*Ń+RqÁˇÄ…BqˇÁ,tëÜíÁ�ĆG.Šq8ők¤dě•NĘ{w9ź‡o?ó»ĆEĘRCŠi!Žy0Hw¤žb@.śUä4˘y0\ HˇP\aśˇM2fbŁ(Dy@äۡ8‚o™ý)Ád@ś°üż¨÷É4Š?fÄöfH™aŰÖžU9ÁŢÇaÚŁ;iŕ>Ŕ=g˝¤Ř˘ŹĽßqĎéGŢőX˛Půľ‘\.âf‡Gîs9 ˇn!{Š–/,,duŮÁ ÜĎ�ÖIJ2ü µ I˙‡2×…şd9– ůëËőŐíą·a-R(ÎB€ ß�cÓ|ťźo@=o Ĺ ăcźÉ,•býîRu›¶¶¶¸VĄńDh)#)ˇtńŇÁţ!«Ů¸÷ę áÄ˝ÓâÝHüž ĺ–« —óRŻÚW$§kʇ±)+sVä99ŠřsrV´rĐW™í űę>/^Ľ¤$NXD+…зׯŻs\äĂëF=˘l’ÎęÇ>ĂtWĹÉĆĄ(> ˘Ěc7•-Ü÷EăLáGN=¨¤Đä|âna­¨î2é˘xÍ,)aÂNV®]§Ĺ…ĹĚ®ËŢ ‘oĽ(˛F¤/­+ŠcęÎe1‘T¤űr%%ĺ—!ťŤŞ¸ PâŹBˇ¸ÁCßv0î0(ŃYÖŠIp6×I(ýX±ď‚!I—NSyëŠéPtŢxŹÉGŢ2S_f1ˇĽ e¬nŻc,…BqT˝Ĺđ‡d=ś˛B*€’8Xe™“tźËfg é Tá}¨MzÁ0­C?š Žh‚uŐ×A¦tG“ď}¦:ş/Ňpݤ×qYMEf ‡÷„¨öČŚgYl˛ÔK~{¬!IżBž¨ó)OĘ!ŇOÝ}Љ!ŢÄłÔ1¨ć&8Člf,“{÷ż (.:Ć)˙9;]÷7ąŮö¸&äzĵ‘zbXîS8ecSŻF<O ×n6Y¨jşÉ–ËřHÍ …B1Bľ)ľÝ@Lyýµ»ôîO~L»»;lŹ}éK_˘ßý€STá=ůÚk÷8ťŐ~đN‹Ľż·Ď*Í"„˘Jµ])¶žÉ~˛1ËCNě=ß®’PÄö–őý`ro—“™+).,tĎĹÔ†!űš`ŁrëŇ’?Ký~Ç˝ž÷Ňü%˙‡˙?AĘyřé§Î^…ýŮO3űĎ×ĂÄŰďľűŽźŕŽßŚŘyH”‘v`FAy[Şę‹‚˙ŞČî‘ňĺQU®aÔ‡I{ľýńŔD‰4ßÚÄ,IąjňJ‹×T”µĹ§ôC1Ý5züě%EÖţďX;ŻVoRv1…[«˝uĄqż‹ fă¸gš»^ĺjĎĘe¤ź|ńČ”ľjç+.”řŁP(.$2ĄOüÂ™× Ĺůˇü‰˘‚a-»ĚPŁâ(ŚÂŕ_ř{zÍ)ŠÓ¨‘á�ß…:t„¤{SŠ˘Z’¤¬â"aZâϸ:ĘŽěa3Ľ*:ż7ŰI_«á}"Dśňű]ţÓ”×K .nfAČwa š„÷·!µă*¦G‡‡^žÝär(aŇž("đÔw^Ü®'řA (T‡Q\L„éáĘdłŘďň1W~€čÓ`˘XLëOŔeóŤ™ř˘ôĆ%…â,0ŠDŐ„¶2)ČčŁJˇPL!°*bBíV‡=|ÂęĘőz“jIDďĽó™v—âŘ‘vž>} QTĺÄýý}§2cF«ÁÄ‘#Ţ&Ô§µąý[wf]â-ăÍaH/[ÖŔwźz±s@ÉĚ<«á0˘ŚRDB‰Tž2ˇFÚ*:–á&¦ą6Ă–Äq`Ű$‰ 靇ok˛8~Ëä5ʶssł¬`}ȤŘ ©`ś‰6 ™=Műl˛ô˘OÄJ„ů#ĺ˛ëĽ’N Ul“—Ň~ő�#ŤR®©ÖLX)U÷{†*+•ĄB–ÂŹn†:%őY»{L~?‘ÉÎVĐ‘”« ™<]/•úšu¸OÝď”?ѧ “ÂĐIbĂ׮ф2âOö)‹ľ0Ő¨L×ĺŐʆć=P‚ŹâC‰? …âB‚ mkđ‰ü¨8™ËÎd…âě1śřd!˘Ëjj0SqT:­+5aą(Ň1”Bˇ8‰�E„‰ ˇ ZVűQÂŔEĂq‰? ¤F»ÉÇÁDĂő\~÷–× Cń}e×ý("ď°txR÷Č%Ť™ć ˙H˝rßI@Ą<3ąś6`Úsc˘ă^#ŠłF¨ôÍ„řGä-×l»~ý:«Dő˝?ź0X§Pś2BO9µ‰ –›ĽôQžu …âUE ÍbA@yąąi˙®ŮwcÝľ7˝ÍUkЬOą*ŹL|ňµ¤Đd•Ćţ$ďMCu[ݣ˙ÍßúąśřcĘĄŠhüő#ú“oź6Ű©µ[yą(LFÓHěEĽß…H^Ůl+$™z+ ăŔś�lFÚ˛˘F)ÄY‡m± ± ö] Ű×&×N±=\_öa¤PÚĄwîRóĆ]WgľçŚ|ŕÚ–Â(&ÓO©ŃoÓűQş˝›« l[š·iíÚ5jÎ͸·†§"˘™ĹĆĂ÷˝=ŠíżÍߥÖÖKšµÇ ¬Ú ä‰ň ĎŻÇĽŻMá±UŻ×Ď–%±;g 1őSĂäź\±ĹŮ}ĺ7Łyˇ@u\qupĽŃ[xÝÉŤáČ<>ťLŤkHˇ¸DPâŹBˇ¸ŕ€±t°|»Oµ P\4d Á€/@ăj<O¨y«8 Ć+úä¨R Đ+OˇPLł ܆űŇ€ńE…8ÁŹř.1ĺíŤwţ Ý€ĆÎť-ůĺĎÇ“H?ąkÁGž>}JŹ=˘íím^†} (" Č�ń?zďźĘÄAäU|äúŔÚĚĚ Ýşu‹îÜąĂé±fú#0Wßi©?AqŞ0ż§xn˘úĽQ(Ó *|㲶zŤnŢĽC=¨´P‡Ő}š ÷ž¬™ŐARq“µ(#ŞŔ.$Mű$¶J4(ĄµŮ:-ôwůť¤e-Š0ĄG۵لfďh &ů˛™—:%Ž(§“¸@}ś)쌂¨ö} D&Y6ĚT] KŘ#JH!ůËQß‹/x~Ł/ˇ’´˛˛Âż%ťtž.·FÝ´Oí…UúĚ/˙:őŢţ…Á>) =¤˙®·^ĐŹţ_˙Ojîě$űŠfçiĺçťľô3z1± OřÉH@G@ćăKëöż:ő˙čźQúţŹčŕńJ;­Éë1ŁęŹłóÚsIÚgŐ¦¨– Ý^ˇ ˇzĎăô2č ńŠ‘PâŹBˇ¸ŕÁ‡wx 'f… /‰ '–ă·íĆK¸ă#ŇśâIĎp6*ŚJ lđł„Í_V©ş«–…3UŐ™¨P(^udąÂ©¨�äŠaŮÁo…Bˇ8im7ŠČ#Ď,Q,“YŻšćë˘ăx¤Žl[hÖ»#¶Cţą€ďłŁ(UU“u‡×YU.LŹ é#¶¶¶hooŹÇ_Ë!ŔâĆ|äÉ?ˇâV|<⏷K¦§ä›üSú­8aTťŻD`ú„ü âŹc,?®›ŮŮZ^^Ęžß’vĐqşâL i+–ÓH‚Ź Ň* ĹäřŮÁţio{ÍŮwăĚLĂÚ\uksŐ©N1§@ŢÝݵ¶Ř>«Ëż<qI§†=LöŢŽs˛ĽIě'ÎR?Ë ˛ŘQ–©$8tę~‰'ŞhČäʱgCą â ˛|şÝŽ-Ô$e—ÔŹZŃÇ ©€ě[¶-ľŃ·á6â«| @9Ç+ś„ Lß“ÖM)ĄVI-űPý¨¬®Y…‚Чo;T¤âSČÂPVůäż ×žľGÉ&÷Ś¸ŢĄLTZV*oü}ŞNkĹe ĹĄ�śvĎž=cőÚµkĽ ězĽÄadcÖ�#3ŕü Ö‰SŮ9–ë™Á‹z1óżQ/ÖeąŚÉňX&uáö2#ż!ë©EĹe‡:ÇA>hç˙Ç8·S(ŠÓ€yB%‘˛’„)ÎCąűiTÍç…ă’(÷+Ź­fĹź‰ę9[ĺ]:ăĂOyYUŮŞ:½H“đÖ[oŃúúş«aötX@üń÷ź‰ -›‚üSIü1ĹŐĺŞ$Ő›ˇbŕÁhřáTPfĘrźů2“_g›/7éý÷? ÍÍ­Lá~�ř ž?Î×ÔŠ3…¶Ř YüÓ‡ŚBˇ8"ahwwßú¶1y6Ą^׎k¬ŤŐ¦>ííí2ń~mSŕ?‡Â ’bX‹Ĺ>Şž[ńd6Žŕ ŻQŐi“j{ýśřBC‰üîŘľG!ç䞆­ŁVŻqPíË6 lÉ*Ŕ¦„˘äáa»0ů×őÍ ™Äťůů&?! Ę>…Tc4¤Ł‰öŃnw¸>Q ĐŻeŰXú0®7hĆĆ) ĚÔµŰĆľÎĎŇúuzۦ•ŰÁeőůŤ6€ŘJRĎ~úţ“úł'çq ´KÚV!IˇĚŇŇő{ íí¶}¦¤Ńc ÄF–——9NbY-±×„­/Üâ2XŹľÁ*L'śMÖ&1ßÍ…O)Î'ĺqüž|rOőčrHš/Cz*.”řŁP(.`ÂŘsřÂ`XÂÁĂQ X8ű°Ć* [0îA�IN1¸±?X °ô1řÁ2Ô†Äĺśł^ UĘÂ0ëV\ED•KÔ7§P G9X8řچü=ÔI®P(ĆˇŠŚ ťÁůĚĚśřS&).N€ô35.¶âĎIŚGŞ=<ÉŞ<& Îa=ĆBáDň=ŢO›Ý¸qîŢ˝Ă3ĐĂqTAqK*(°@¦ ţ …żç‹?ę/ßóú 8iřű·Ěň˘&Uî~\;ź>|HŃqŕjQýľó Ŕ?¦öP(.&O¦Ď…B19ň¶ˇý=ząů’2ËôŰü~Ś(ĺµqiĚĂŞ=™Í;›)ŞÄ7˙ąŘy­–óÍĎĎ4éĹógś’)ŽjZżřĘâ"Ĺ^‰?®Ĺ.ĺ”­Żçí:ŘČ;»»AŞ€Śm—ÍÍ;ű°Óí±:$|îBžÉ¶ř|\´ű„ßaaµŘ÷˙‹Ěź’nB;eE±$•0ÍlÉBn»*±ť¤BCśB&—©íB쏢= I­Ns¶ľĂý}ęvşŮq!ľ€ÔĄ{‡…v CÓžŁĺµ5VGŮ'őYRO(EŰvw÷čöĘ:ŰđŘ×°wZ·gŰł}¸MësKtŘŤho§M“ڵĐwčOÄn®_żÎ§¶ŤĐ_čŁÍÍM&ZˇK Ä,ăZŔËłe¦`őë›Q1&cí %ý(—JüQ(—’J ŤO?ý4“©Ä�w`¨ Ń8 M|‡ =Ř>”÷G Ś}‘úô)ękÖhćY„Ö E9÷0ÜQËEľĆ* WhT1ůW ÆŃ%Owrě+OŻÝWÇ fSč <nŠitHˇP(NbGĘßâŚ-ĎŇ ¦}U\śńgĚš téĺý^ĄtĹł€ű)µÚ­ŚL! ¨29bTÂűă/fgçěßĹ{±@Î*†É%ţ\ Ś'ţ”Ó-ćY?Ś˝vę…1˝»Ćź#pĺ('$ …âr@ź3 …bzQâŕđ€ýä ţÄĆ«(’Słq gk9ŰÍMf­»÷lęČ"kkËü><üâPÓ»}ëu­=N­ďý`źŚź¤ÁÖłűDŔä™nŻK¦ž€ÂŻő4˛ďc»M7î;ţ 3<L›Ź0ń)<÷¨Ţń„Ţâ vgZ˛ĹÄ…ĎźINžÜ# >Uŕzl[ĐOđë—÷SV‡ej€·'`ł"!”±-úofĆĄPs¤)—ް]Ý.ó-ťoćź8Žplbđůęö˛nLüÇx˛Qdí˘¶=<sئR”EÉP{ÇRëÚăéŮxÇ‹MjQť¦Ôđ¸;H—ö#î+©»<ˇ&L;f2ÁMăŹĹ-¨¶ú{Pţ?‹Wg¤ô˵©Ż”řŁP(.`0ĂX†!-Śz8ŠEžF1>"Źo–0 e;ɱď2“(Čě@‘% óßâ#©`Č('Ëĺľd†ýe†‘‘† Zčě1—]ˇ8]čăPˇP\4ŐF¬#ş#ß;KńŘj4j´¸0k͵Ybc†ĘB^—ęUȲMX޵!ÍěWج’nLö:ťCGvhź&I˘$Ą#cXżýefޞ»cU:nÓÉ7ćÔxŮőę5aĘnÔĄ¨“„Ür݆ý°ÎL:ÂĚi|’$PŚŁű*rD‚‰/űĆI9 B˝fĘ{Îb¸eF7RSŕ¸ú˝~ážĺgOůÔ}jůń,žâçBä‚7üśáŮůůÁÉóőđ j»ßŽ}ĹŰńyËÇ­qsp'ĆG&¦Hú„ŕď#ýůúŚJßľ2×8׼ ÍĹ5]ŔÇĄ‰HůĂÍŘÍČĹß®íŁĂĂ;L…bž……?ËeżŢ”›^±áü 7Žât©ż`:ŚęŻ!¶’S°đx¤P •sB9Ĺ“‚Ňľ{öX›â`˙€zť.őŤłY ®ŹÉ·Ć+úÔ­­›'‰Ś{·z´ŰßaUˇÔôŮ–±? ÄVźéS ËŤő·sh˛-MáGŕa»EígϨٵďpOfńv‹+3HĚqe$Ť””żŚßd …ă�¬Ť iˇŘ÷ľÝ2ÔáZ›bggŰÚ347ç>PE;°Ő:Ě”‘pśI{ňěĆ~vÂ"cí9{>L«K¶żx{gçéŮ6ź˝pĄŃO©×š¸qś‚S»×ĄOwö˛~ Ż ňý×µuľÜÎÇĂT IąŰ«5©}ض—MßĆß´8L¦Fż Ajđ^Źluů›űĹ÷˝?Ř:ěů‰fŃáö˘©-PŹęţ\ç¤)M2ŮDgöľâ{Fߍ—n6ŞüČĄ˛Gb6Ŕ Ô~‚ JHJS(.”řŁP(.ŕ Ĺ,!ü<<ľA‹żC@±Ál`€"D ‘ÜĂ>Ě1‹ ŘNäę1SűňörX&Ć)‹ˇ<ý«NŞ:ţqĆŇŐčłČ @BŐ:[L6S(.t,ĄP(Îmë”Ţz٦ťíCÚÝŰ噚ĆÚt««‹ôöŰwiíÚ˘ Č‘b;b'ş�ěGŘŤř¦ř($Ř«b‡ YucߨßXľ´´Äő‰Ť*2őB^—Tł¨OěQ7Ăt&#Ą‡űżŁP>wŐsKO ÓÖeŁňöB”S±?\Ż _ŻÎĽMýĚë€őXř»LĐč>Q”rzN« ľXŽ¤Ů¬_)óĆ!‡7†µ·Şs…´“ÝC>Řű=ĄŽŐé´ů^”ŮÝ×Ö×ů~ldA š Ő%•™˝_Ű6(ôřŃCîc(ĆB­v~nžËp`ĆŽIĽÂwřL‘ç ęçg‡­)ŞEŤVÎÚŇOłŮŕş›x6ř4Ő™ŇYgi+˛ÔUĆ1ŁçHGĎoWQg0ű_έ̭(4ĺ"”c§=NQqúŻŮ٦ź¬óú\ËIL§}o+S##ü”Ë󇊫‡WqřZ÷r”˝ GőjĐl‹*zw^čüŠÖÖŮßŰŁC!&µZ˙:ĘŐ8­V‡fyb·ë¸ŃµMńďf~?Ű…Ý~FZąŐhLuĘ@©ľmČÁˇS»)§žĺ<‚ßß©N;+ÇôULFü1łÄŤÝoŚ„ô.“C€^ĎĄ#&Śdű1ŽĚă6°¶dO”ŠíŚCB‹‰2Rz YŮcOG]aŘilOCŠÎĄ‰ÔŠŰO�—Rl·°,`"EÁßTŠŁř”Űő—Vm“7¨1·Ś9rÂREÔWÇ;Ż•ä“ 2Š+ %ţ(ŠKË ×Ŕ¨"ŹcЧٷuŕ$đR žČ,T©§<c[fJ#mX‡z�”Çď0U~c˛˙WĂ�ĺYęŃŔ¬M3rűKĎşśq¦»W(&‚Î\P(Żd6ˇ›ő‰ yJ{»ÚÚ<ČH4 tÚ}vÚvzmëíe¤Ôáä…CYěO"`3†6 Ř9bWâmáĹ>`7 y'$ň ĐŹzD^˙bż˘ �ö‹ňhľaÂ6N|`ż¬˛¨¤ź‹‰il¶ł~[#ĐŮŰ…ŮŃ©› .×gř™¸ŢÂvąB ŕ'r—lCJAUä:ă»Aú‘ ˘¤ 0čPúýľúŮłgśvbĎŢ·¸G(ëűÔS¸Ż™śgď}}đĽŮ|ů’gšoomůtgłLęÁzóÎövF0ň`ÄJ6u&° Ľ¤¨F9IĂçĆÁÁ>¶íľZ]]ĺú…Ľg„¨ a=–ąv-ńą­ě»Â/3¤Oň* Î7EŮ Ž˘p˙ţ„Ëő!çĎę’Z’ĄňF™T•jŞŠ¦¸�𙩯n…B1-˘ŕŇH<Ĺs¤ü~»!S•Čz˙ę{ŇQ?˛>ö¨F­¤Îˡ"”«P`G¤Ô÷IÇä].Ë…ěů˝AŰĘJ©#Ž(;ŽprFůďęľČŐ,Ą\¨¶*dž0;@^÷pXôŮl§MćĺSÚh‹šŹ·Ź)·ŹII~»ÎÓŹi®µU9pHlůĄî.­t¶i¦?<Ýîqp`j#„Üs„ô«ÓR®V9Q‡<ňcs9n ĚíÄĐÜ—úß˙{˙kÚZ¶Ç×^Ł53ţ“B1- Â?'RPˇ¸ř”řăÉ …Bq>€A §e8Z!É(ňť@¸^>2ĂZę ů)'ŽS@7RwŮɦ E WŁÔ~Şä˙Ë}yp^Ä…⤠…Bq•PžŮ))µ$ŕ.eđ6]»Ýˇ­ťMjµťŞ$H;ź~ú)“m„h#ĘĎź?Ďěq‡v««ŻÍä�y°?8Ž·m`ëďÜąĂßňڰżťťť¬m�ę’T¶(¶ˇ- ­KjŰŞ”_úL‡hÂe§¸»“+~lČő‚ëäUööů»uëV¦şz»ý(„ˇsAŐ=”M1v „ţéçţýűüśŕ±Ş(ŇÚ2¸ßq_ËËËôúëŻg©2 ÖíY]ÉâÚµkôöŰoóŘ÷ľ,ÇyŔýޞ[ž(ôć›oň˝ţčŃ#nŰíŰ·łg¶ýđŁYŤh}}ťĎ+y¢LŽA:,ü޸~ť>˙ůĎ!ţ\.dęE ĹĂ´é …âHđ\ŘiŢ„’^Őů˝”«>EŰmeĆzIĹĄŰëÓű~D?Ů€Ź~ŽŠdCUÄźżóÜŽvhc1řčăr · Ú)„Ř1°†#'¤`Ř]°yććf9Ťí(€}č•eň1¶•‰ ’ĆJHH˘ú$žř4 ˝Ö!}ëOżI?|ŻBpŇ}6îóKg·¨w°GÍŠ÷RÇţŐ_ţ9ýř‡Eťd< ç(HăJ#;¦ÝyJQ{Źű˝¬m˝ŻĚEQŃn“k¶őéĹÁSşýůTżvH3/>Öŕ´âx¨TţV– Ezµ)..&(¨âŹBˇ¸ÂMęóË Z<!Fűy}„ĆLĹXe$„ł±_uůŃęYWNń‡S}•ddélˇ¦©b źĺtňWRř,W(ŠłFHÖfŁőŠ×ęÖ™;?CI-rNäfÝÁ˝CW7řŕ €ѱŤH˝â†m:Ą%•—¤ëÂ7”9đ\”ňň7ęP^śË!©]ę@ť’ćKžŻŁ ĎŢŁŕôúlZçuDt¬ćLkcěőqŠ9“·‚ F®ř3 ĘËÓu…ÖŇd÷1ʎ‚ Ä÷ ˝ĎAƢƯ<Ű>Ž ) ä’->r?ăŢ Š˘h+ű‘´~˘\&j·śŠÍׇż]pk‘‰‰­V’Ą!”�ův! Ešş€^:ÁóăĽŔí’ČXvÓŚŠ>*aBq0ĺ}ĺ—) ŤČTL®´2Ž„uݤO›óś=łw¨ÖŽ¨Ů©g¦Ď€j‹_ž¤®‚ZL:múo6[tsv…ҸçV0›áGříc÷ńŻŢ[Łűć[”Ö"^ÔŹ‚şyqÖľlżÁCrôŘ&.l#öŐ$ăˇvű>ůäzňä Ź˙�!G‹-%„}ßĂýŘs˝gí±­TßÚ¬(QmďZK‘š¦š@…çĺ'd^ÚşŁáď ÝBJ<9'öv{ź•zrÂÎč>­Jő•)÷ HřX5îSŻ“Rś&˙±×¤ÉŇ€‘‰Kë;R1eʻڦ$ő¨ â’B‰? …âB‚g4[g&n!°!,úId$Źť]u2¨"ţLZö2CDéĹ(<Ż#S“Tq¦ŮQ(Šł†~řY‡bAú.Í/4¨9“đŚÉF#fP­î{ŕÖ„z(ť xŽ€Ľ¨ţ„ła]0=e»ËEGĘ„||#0/ő`=ĘŁ¬z "éeQż$}Ť”C=¨CHFŞöŁ8)±dii‰ú©˝Ćíő%©ľ¦G‰ŕ“E¤ "u¶ł:2˘G@úČŤ5mpŔ”ö™ĺđKü=~m}ťfíýwmm-'ţ)(BĺX<SĐ—XŽűöĆŤ™m„{÷6żđŤőňĽôBFD}x&á{ccëCÝضGzŻ»÷îr*2<° Ç@2Âłbf¦™†�´ő]Td QѰŕR™8¦ăyŇ^˘ …â4P~zŚ$ýx¦Ęµőkôżűw›~ńçŢůÁŹčżű/ţúřŰRT‹)J†×Ŕăří}ëÇďĐŇŁ‡”&}OęđÄS§śřăě˘ĺŽabG?I] ŐřsěĽNG÷9Ál{ůň%OřńŁŘj2ćăú1Vń÷č4ˬbÔŻX; Ń}°ľÄ§=EMé¨ŕĺ›`…Óו|¤ˇ&›?ăm>ß%ĺŚ Ĺ‰#›` P\ \t⏇ŠWě(őŤ.fQź‘JD’*ü­ĺ~9đ‰˘+CţÉzň›Š‹‹ł~ľĺÁďDź­ …â̦€­Ő ÍĚÖlੳęěLlµj6 ^§z#±6hÂRđI-Δ{$E€€ą(IbyčFp´[±wÂ4GI@¤˛—墄z…<)ËBĺ!)'IY‡1űŢýő(×řä(2BĐßM Uý穝’ôSąýŔÎą_ćě÷ę‚˝ĺůPF2C{ňüŔď˛"ĐqrEY»AH‘íĂůRbGŮł§Ţ—ć+ĘBJ}˙<’.4gÇ)Ç*„ĄéŹ+?˙F‚Y¬ĐVóĎÇĎ˝Bq™ˇ×°Bˇ8>˘ %ÂŁ)S( …Úkڽѥö]˘ýç}j/ô(Š +¤Ž2±z‰«­Á&µ¶´łÝ*QAŚ#y{ÂOěź{‡Y»RŢG_xÖ%ĹźŁáhŰ:;†< [I&nڞӄěíT…Ćg$xpRJß1›¶˙©çŻ!í_ĹIBŮ>ŠcáBńŞřŁP(.$Ä@¬YC{Χ\p-Oţ™:ĘŐ�ĘÉ  ]iUĄńGˇ¸ČýěŁSÝď$) …⤦‹uJ Z_o°ä–-çT:± Ś7(N"VĆhÎ43gŻ8|ĂŔ6Pž¦ĺŞzΖ%꥞TT&˘‹*HčD Eŕ”ĆgŘ~d_ Ĺ4Čď›úS.ô5&Š=ÇmcEĶN  ëŁrĘc”çmKłĆO a űŔţ„ čT˘ H5BU7k—‹ĆaL"Ńöö68f®ÇµěY$ߎPŮ:QŚŠ M>gÉÜüś}nŻÓ쬺1— ř?L•¤‚BˇPLŚ+Sqˇm¶őđî®×¨Ţ¨ó¤z˝ÁdŰ>ÔOͤj+¦ňO~§ókݵĥßɉH˘đ2 s,ßńѶuv\š)üČä‹|ňČŕxKĆ~n w*a‹ccÔőqbű&ąś4*ë4e•ŁłëxW_6ź‚ň ˝É ŚŠs„Ž Ĺ…EyĆ ™Ŕá|\łĘxSîř(Ďp1ižĺËăÉ? Ĺe@ůŢC gną„YĆ™ďĺIf¦»zÂŕ …Bq 6pŕşç“ ~G çô)ŠsBb§Ű!ęďŚÎ e}ř, ë-Ż«ú= G!D†Ďa8ĄĂý…¤ˇiۢ8L:j9©37é8IR�˘4ŐKsĺQqɉ#cŢń# č°‚[ĘűÂťç~€´Â©ú"TńÄ$Ţ|zćw‰Ţň¤Ź«ĐgAü)®/o@cÚrŤ8ŐŠňs'}Ŕ׍}Ţşgî4ŐźÜo žB˙yAŮ2‰).‰QJňQ(ÇDöţ |Ż©´Ä^I'ś‘§g_˘}˛ďبe uÜ'깉HIU!'$ďŮ4rueE"7i·—K[[ͤ^ňj.¨Ł¤Î#uUë-N#<Vł~Ł”í™Ä•F!üęj¨ÂĆ!6Ąc-dÎλzRMęSŁEžIfHËç4HB/wř{x©pBÜä~a<\ šă8Ň0P´ŇF®¤‚Ăuë ÇS\ÚVßźŠŁÁ‘„}¨$ĹŐĂiŠ4:…Bˇ8TŔŁŚŐI±ŠăaŘ "t‡A¨«F PâŹâ˛Â96Oţ„~ä‘@ŕ(H@ÜÍüÖô^ …â|!ĎŻN§c?]ę÷ ?מĺ|8¸ÍBř¦ ÜS&ý„ö˰ßÇEyß!ˇ§lO•ËU9ŚőY|qpQ‰?aÁ NENI­j8Ń­ŘÉ&˙Pé™ěíőşlgŕ“W"7ËÁŘ)˝^šc굺˝‡ §› !3iŻ-7Ꮚ2SÖy(+厽ďËÁ“°<ŰiFú]·¸¸č”�$Ý—qă™/Á/¤ ÓcLÜW⏛ϝRŁŮ$L—ZUš}Ú)Î zT(—üž5E»,[vŠ/Ň‹<Ě”.Y•(˙ Ń9´ĄÄÖ '8erm˛ˇ0+電ݓhÂ6ďáá!íďďŹő»Ť:ůF}2¦­ňŮ‹=ާ!ł É[RŘĘߍzR?™ ?bgZ2¸ěÚ\ő·BqPââ„q*±ÓVüŃű@ˇPâ|fÇŻ7‡• żËO»OĹô¨ ŚÉů ÓdLBüąç ę6Fuj,ńgú:/ ®‰ëUČ9.ĺMy ®źáđÝń<ň4 KE×ë5ďpHt2…Bˇ8Sí!ÄE~–uť’“mOŘůŠç+Tô{dR7Ă5t’ćir⩨"üTr¦Ĺ0Ű*üVF‰?ŠŁ ĽfRźnY@˘đÎ|®ÚÎ/ň·ü6•cź¸G‘R ÷##ún61Č&ř†MRKjLnĺ’DuüGĂeĎ�2fh*ľJĽŽUrĚX&^Ť)=ÁŚi—†#?÷Bşâë#5ž^=¶+?ŻĆö™W[‹˛I¸)ĎľOjI!ĹFUhÍozU†V C}SŠ«˝¬§ÄŘţoÓ}¤8Ď˸5Ć=÷âő‹ë‡íŐ«ĺ*3U$ly1—Ô^˘‹÷şfżµé3á]=ĺq]8® 9h:Wl’´«¤öÍÎβý+dťŁh[¨ZT†¤ŹňO9˝ô¨wKˇÝäôݎPěÄY{líV›c¬ťöQnňăKą 9îBÓ‡‡Bˇ¸8Ő‡™¦úR(bT5ŚŢÖá!;§«J‰?g‰Ş�— Ę)SvĽ‡Şó8¦ČĺRýZçMMü‰¨ »Z¨W¶ľnśg8OR %]‰âü‘¦őĘó‡{Á·CÚŰŰăż'˝?%@gŔÜÜ,-,,X�ś#‘’ Ĺ™!´+ä]UK˘,PÝhÔi~~Ž˙><lńs®źv3™w±U°ś±x® ) BĺY ˛O@¶ťŠh0ăȵU$Ś29Hˇ‡đź]·—Q®$ä7,?˛íŽ{1v6CÚO ÷+îł;ěŰoܱeŤf ,XŁáÖ§łÍű©µgZ­,�"ťIÚ6Í îˀⳢ˛@Iő'� ů1«‡I?E5´I÷]‰ń‡iG6ň¦dT( …BqŇ(«2ľšÇŤbw€¬"Ä÷‰=„ońwWM¤l Ŕv¬ÝŞ?Ďź?çe“¨lŹ>gʡ­ŰbĚ*cɵµ5zůňevĽŽČť’Á'°ë[Ö¶ňŔJˇö7ÔŠzÝžs'ĽoĎ7Q¶häŇó»F5f¤P(.:.ńGź¤ Ĺ+ŠPé§ăŤT‘Ź<‹}_¦z/ Ş_BâO(*ĺĂ™ôá�븳ŽߪÜŃíýQa`‘ҰWÓŔö•é!܂ʿ˘pÉô×ĚqC{ă®Óa}—Ďť/d–Oõеu8$vw÷xđŽgń4p˛Ĺ]źÝ]#JS(çĂęp~´čĐ:*1 J+ËKśJ&í;/i­ć·°=!µľµµÉĎĆk×®ŃĘĘ -,,˛RpŇCE ěŠ$bEfN⼦X|}—l ŁďbŤŔ}’_? \Dśö`PćJ“/oĽĺ*$ąVÍČ}É·ŚŻŔ%ő!µH?Ý,­Čx&› GŃD¶/l‘íťęZ;„d±CLEJ, ö`6T ÇÁ~ŻňcŹ ż#÷Đ(/ý#ÄźĽ˘é9cáŹnŽřC™) …Bˇ8Qŕ= {Ď}{…•ao÷ÓđÖF•2~g ž¸VŻě!g{Âź=h3V‘ĺ§I­+ŞAHůuăĆuzńâąýĽČRÝN‚Řxϱﯼť-Îţu{>ą(ázżţőŻÓżř˙"'ë$÷0Ă[řwdr@\«S?H +g—éćőLfząąIi·ďţŞ=Ĺ…ýăŻ<ăü\®…Bˇđ¸đ#RUüQ(eĄ™M}V8N`f”Śů«Ä Ż"ň„ßRfX_—gź8¨¶'*+ţ¸Ro?P *9Ć‹Á'aZ¬qZňĎYŚ}ŞÎ™ ě€p¶‡âňŔ=sáxčs0Ŕďv»•‘~ŽBľÄő’…t_\\TâŹBˇ838RNÄŰN§mŞĎčÁ'čŃŁGôôéSv@®®­ŇęŞý¬¬ňßkk×8•Ź|źľő­o±ňŮ›oľIźűÜŰôĄ/}‰ @xľá9‡t†Iyö&ďŻŐjóľröxJg f63\ć˙ň¶•űŰo™­S(&G~ݰMbD5+łőSk?€Ük×§Yŕ ´uĂo_wdňYĺţoă÷™$ÍÍĎÚűŞÁ×8îĎĹ…ĹĚľŚĽ=íŇôŐ2P'Ďěýľłł“µ?LG¦0˝uŻ›7oŇňŇ25›3SÍâVîV­˘¦Ď2Ĺ…˛ŃŠ©ń*Ţ5˙íe*Nę\Á×]đĎäV…MY)˛ßď±˙ŞŽźÄ’źCUűŃţ­bź‚L[ ”bĂîîîr]Íksö|jęŘFi©¦Š+iŘÜS˙~jŘ1jłaǨ‰SŇÄíůšł‡»~<+Ç2©Âw˙Hů>ŔŘMôs©aĺ¸fšMę'}ęŘ1roBRS!;@ŐţG»âŠŕ˘>3ÔöS\p(ńGˇP\X0IÄJś±{6J?ÇEŮ0–9BZg8‡é$Ęi)dfjąŽ‹H°(“źFwyÝ$Űś&BG3‚=kevě5xpxŔŤĹąYjÖÝëłcaű­–ýv×'o‘śC|ÂsxÜ ęŚř„q>Óŕ‚IŤ‰n¦D9Ę oű `’k*ś-ßp�lJ9ˇ/:Č)ŰtYŐç 2;fˇMîSÉť=.ËE„(¬!°….SôI»Ýaů޲ҏ<ß°]ążäzŮ>(+ŰŁnĚhR(Šł·ň¬ßÝÝaĐÇźđ˛VűŔ~ă™ÖŁZ=a‚"žâ­Ö!KˇüńÇL€\X§[·nň6îůďť@çÄĽBŐCŕ¤l›a¶R•ňby˝B15DeĘŰ@aú:¶aÓ~Fn󙟜Ť›)T »îe¶n®úĂ»ł÷Q=Ćlë|Ü•e˘ˇsĐ«÷z  »ąąÉÄźĄĄ%J˘¬KĎđx‹ öţ†MgĘ)Ż.)B‚ÎŽŮłÜqĎÍÍgĎ.~Z»OžqB°Bąđ“§/Śňk$°ŹEéUö'çuAIIö7�®*żn¦›ˇP(ŠË€WNň”JŽ=ĆŕwŻ(śĂ¦;ťwpxŢ/" }—$“F\lăÇ0ýłđpÄFŇĚG8´f {R|ü°Cń]Šíá_ŰÝŰĄ†]×´ľçţţ™Ň$hs„+ ~ćžőëuÉůî` łťÖwjÜáÝiŻĄ(2^ÝŰĄĎĆľşv_‡¦ÍéĂfî8A�ÂßM(ěÚőý1䟣ĚČHÁµU–T\!DJ°Q(Ž„ó"ţ8_Đé•W(—ˇŚü‘¶?gŁ Ü?ŚvČt"ŔT^Wŕ0ţ1ĄpŽ®ŻŻgyaAžóě‡!¤ůT)ů„ł †ÎÜĆ|–H?űv$ôbo›>ůäŞG1}áµ×¨ąĽĚë÷[múŕń3ÚÜŰăß1Ďnhđyâ8Ö¬ęČŰěhÇňŤzŤ&‡§†–ę3´83Góóó4;;SHEŕpŠî渚ĄA(Âëđ˛%@±gĎ#Î3‚řâxpă{aaďCą~q_â#ÄDÜ«8WHs'DË9.7KÇ‘ÔÄQ%3Śľd/ú�ÇŚľr‚eč/Ě–• FŐ§P(§÷śďgĎn–·Ďu(üŔ ‰gřőë×ů·łĂ˘Ďt8dń¬»sçݸq Ś ÂňxĆ…Äu‘U?)f?Ž „WÉŃ+“"“˙‡u‰6!‘¤×í±*O×ř€‚ĺůďIOüÁýŽ{smmŤm;Ř~°Kp¬°Ýq_ă~»÷=?˘Ë«R(cJ'§9´ăR(™Ô›wŢöĂ˝{Żą “-‡őź~ú)moo{5ł:?űđm'IŰšŹC]:¸ÔĂńAý˛ż®Ď‹JJř®„Á˘’JÉsŚŠW úîV(®ŇcÜĘŃâżiřúňşB3„·K#÷>´Ţl]Öľ¨˘ŚÔ?#¦‡–Ş9JÇŤŰ&ŞÜ† í˝´H{ÁG|Ú~S&ý°yě‰î)Î/ěŕ4«K(ĚQ©-BúáIv š_»N+_ţYş{÷=yň„˙úŰtřâ «m6gšÔ>ě3f´SQ™r7>°1ľí¬Ý¤[źů,˝öµź§ťµż˘Í|‡ö÷ö©î A°Ý¤ŽĐO_ĺŰŚ( ⌠*Ô ®­Ł‡ö¬lĐŤĎ‘nľţYÚ|ô ţđŻčŕĹSZjĆ4g}ÝÖ>쥣Ő3 |ă•A‹Ůd˙ť14B}¦P Hq1íey.—ńUQüŃg€BqU`śQ}UĐ÷ÎS8™pÖ·Šd6$Pv8 ńźĺĺe”É4!.BP稳.ńÇí‘„í!H»E/íů۵/6š~çúŠ?›vôbďŔt0Řkďfdžé@řéő=ń‡ĎˇKg€`$bu ‚ëÖ)Ţír±µ€ř3šôsěžňłšô…Fś“ň`đ2Ş r îSĚGpççßr?"x!çׇܻrŹ‚ä‚îă˛Ňe€«C#yU݇8f¨_ _Pý„~Á5 ÁnÜaýŁęS(Š“…)üť¦ąÚÄÜü­o¬SRK8€Ťő×9°ŤgŘÜě;.ńƲ7®Ó—ľôE^÷ŮĎ~†Össłţ]źř=űŽďQ»Óöď†./“ô@ĆÄG4qM)YWT˝^*—÷pyg—XµäŞřW/Ű›Of<CžŞ–€ jř4Ţî«Őíű~řţăPG”Wŕ*2ůoSń;*—+˙]¬é ¬="Äbď‘&ARHúŘw]ěúőĚnÁĺQçž­Gc»|k{›ö¬­âŹŘve˛»ŘżbGÁ.‚M)ÁI!†ý•żËę9ă&r„ű*— Ó-`lvěŘvěs[Đ?NɱÍi\ń7Ú»şşfźłlź!€[DxL^qc§„$}†żçíxuaqŃŽO—8 Îy·Óe"ÎĆż˘‰ýtüyŔq$Źç.ν](6µłAS>Ăq‚5~NÇvĽToÔý„ÚŕuJ …BˇP\lGĺHËM`J #EDZA‡~J¶Z4¦|ľŃťÇpGjý(9ˇa'"ŰĆĹ%„l{X&žbăm¶Ôą([ТL‰zĹÄźz¶vvhvaž®}ţË´řóżBýůEZ¸Ý˘[Ö&zô˝?Łť-ZY^¤®µŮúc‰?noˇ9 ţ¸´ßeűxýg~‘nőgčůě ÝüŐ»´nzôýď~—âŢŰf°+k®Š5!ü¸I­HŞŐkt¸·KőĄUZůâWéÖĎ~ťŇ•Űtmă.رđŁď˙uw_Úqô+Y 0č©Ęv‡qH>Ľpd łö-Fjuž-´»gŹ+°ĐT_ …Bq†€SNg@RÝ„3 ád–´9B’´Câ8­RĐ)«ţśWP˝L ˙.“ €QD‘ó$ ź·¶¶č©ý<ÜޢžÄŔI}}yĹgĘc0Ą� P ›ŠÎ[rţŕ„Źbž ëĎ/#´Ŕ™^C~eź „ >Îa :3Sť;y„âϨY — ©ŕś‰ęŽÁŠPi ÷©p„쓆Dň×Kób[w>_ 3K®×0x%׿*ű(ŠóAภ>.ĄÍËŻ¬,qĘ®·ß~;KA÷° š»g={ó stm}ŤŢ|ëM§dÝ( b�'ŢśŽDÚĺ€:ď٤Lî•çâqÜ„ŁçB^ĎÄ8É%÷ú ±Ż.2"ĎŢqöťŘüqD~üaŻí[f6Ť(eBPD=T]Q¶˝›ýěgy}’ż ËŁęČ–vŤ»Ą ë|ôá‡LTŞH<ëëLđٶ¶<ÚĽdíq(Ń€ Ťv·¬]ľď•m`÷Cí $”ÇŹń˝ż±±Áö˝ €Dö~oňv>bç…Ş—Řĺ1[ű'?ů ={ö,Çá™!ľńÚľŃZ$UlUĘçĐÎ…O…J”bsa|v<~ü„ŢyçÇôđŃC&ă€(¤#|°ďĹĹ&6á<˘Ż° c ô úőŁîýC&őŔ^Ćţp, @ľýöçhum•'MĽÜܤ?ř€ž>}ęHVžŽ~”㍠3ęÚHBBNrʨ†SA°Ňš ŠÍĚ6iye™ĎËÜ\•}}9'( …BqŃqRiŮĘő\ÄT_IU+óÇÇGđ˝›@¶Éocm¬ŮĄUÚ¸sŹ’ĄeęŰĹÍąyűű.m~¸jm¤ßgů)Ę©G…öR>Ň ' Ă^…Ťĺˆµ«î}áK”.,Y·µ­Ťvç‹_˘ďX›•vF’ĘĄOŠeLN†Š„ŕäţžłăĺŤ×ޢćâ !˙Ac~‘ÖîľN»÷J»ŰĎüD‚1*úĘ»?ű‹HúVq6ĐIŁ ĹŃ Ä…BqˇpD.˙…AYµÎN8Pĺ7ËÂĽâ~ ńGR}IŔ\HÂҵ QiłĘm9kT‘@ʤ¤2y)ÜVgiH› ť!p¦ę‘söŻ/ŻĐš Ôy&łJ‹słÔ´íݰD ß: ¨×Ą&< XO8 ÷mm‰­ŻQă ¨t:nĐëd®Ţ ą¨FŤČ9ő1Ă•X¶w˛syV=6ŚŕuŮ!©\$Ą—kĂYÝrOĘLm”•.‰źA^NyvYPNŮć©’,ČTú�“äWNw&ő«OˇP(N`#xÝívě;6ć÷3‚Ëň\BŔŮĄ%첓Ď|Qş�WĘěîîĐN b&ĘoB źwásTź}ÇĂeíżËn+ąÔ±főꉵWí˝ű•‰0Iťív‡g%×X)(’xŔK6ňM~&1Ť…Ü×/_ľd‰iĐî‡ĘA°]Ňő÷)ú(űńL6Ůńę¬P»Á˝[÷)KyŇEjěŃ;˛·¤řR‹€„ v€ř‚ú%ÝłŘůň&€pŰËPŹôw´aß+ÉóF”'Y&ăN9vGjߣݝ=ÚŰßĺ Ň7árff—I? ŽöăމäąÖď§LrŞŽ‘mÓ“„Ä6ĆßŘm™^ư˘‰6ŁĎyr…í#9&|cžąŽLůI5^…¶%;θ ý5Ül}…â*@^ …˘ę1PÖÚ9oú+=t©ÔX˘#! ě’L ÓÚGÖľě§®)zá][¬c§™nŹ”T*bŽŘe@Ô1¶rhëěŰź}ëo®y÷Ŕú·íľfÍhĺśĐG_ř»ĹÉ'Ű@h·ewÚĹPL´ń^Vn2H;·ßbĚ@•` …b8.ńÇ Y¦Źz…Bqć¨2ŠËÄ8pš+„I§±¤ľ’ŹĚä ëyúFٍú2.€tÁ‘p�Pţć™óA›Cň’lkĚŮËtß îÎśń3Ö ż~}gb°B�wö_ßOMi6ëtçÚ*Ďc^qNöąëëÔYYäYĂ<óÖP¦îc…Ă˝ć =pŔ é Rö ĹvĐÇ;ţ®Ův@ÖŢL1ć"Ďšą¨óŤ`‰¤=(ÓĘ3zÂűUxäRĐe› "©(p}ş{3Ęf¶WĄ-C0g}}ťVVV˛íĂrB„BҰú …â´ ö‚Ň|đmooŮg]ĚärŠ b#Č-ĎöŞ4<ĺYŹĺ‘˛M•2Łbz\öľ»ĚŰHR}y‡;§Ę˛6ŔŇň «ľÔř˝yĄ,VŔ˝˘Ľ…ş8ĹĂ luŚłDŤGR’†é±@!ë±Ä s°=ĆkPř„ŞÖË8Äźí­ílL[QÔ|`a[Üç ®€82ËoĽA·oßÎČ?<[BµW(á m˘ř#v¨Ř—ř D˘ÇŹsý Ő”Sia´˙Ţ˝{tëÖ-VĆÁ±üěĎţ,}ţóźŁý}V!“[ŘíŔ‡‰NöXQúő˘.´g{{›ŰvëÖ>˙Ź=âíoܸÁä%±™Q~ă±=<h—§]ó&ô«3ٶc#Úó…6/,.0éMÔ65ě ë‡ßGá8ňjNPP( …"„#W›LS~+N'2ń —Ěő±>âîË'´őŢŹč¶µŰV­Mą·łKĎŢ˙ő^<˘8í{®’Ä Şĺ˙ŠlE‘ś}“íŽő3÷čůź˙ýĚ/ü"ŐV6X ňŃźýĎ´´űŇŮéÖŢŤ„cdňżąĚł1™pQ¶Ś?QśĺVBA}ë9íżóŞ-4höÚmę˝|Jď~—ZĎžŘqB”©ĺÔ&ëČŁ¤S!¸M µ/ĎÚ׊s‚™pŮ…ĹYN’ścJ…Bq…!ŽH!Č\¶ľ¤”�&Qć™TIĄ*śwP$ ‚U‘|†©�•gguąŇŹ˙-¨üŘ€Fs¦I‹T~ٸ٠�Ë îüÖëŽ,Ń´żŤ™Í®Y™‘+ÁCQt’c–·ˇ´H(9Ňńb! çfÚgLŐ˝wY“čGZŞeŠ?xţ"hE QłTáómäY…zćç‘ÖbŽ÷ˇP(g HŠďďďŃOĐ“'Ź9Ý€ęç¶,3>tyFJz™ÁŹÔ•ʆőľJűĐ)&ˇ¤©ó†#ţŕ>BJĽ™ůşqŁÍ$™ĆĚĄ=Ă)ľşö;Ž\rŻdh]Qđ!:î=Ňň°ĺ`«HŞUŘŕř8Ą®~aě!¶Ś¤YŰ›SKÍĎs DiÚ­6˝xţ‚ŹD ”‡bŤLčôbďŁNNćUn„<(űĹ2©_Ň8KY`D)6f°ĺE‘GRĐŠ  Ę€(#¤v´ D¨”ř“Ą:kµ˛˛’ú ~B_JżÍÎĚŇúµőB~ ůmÁţ±Oô!ÚŹv‹€2ř屝;wî·Ź—@D·ç˘ßŹ “(†Máá[0DR5Ę9Ö´ł …BˇP(.Q6ĎüÜ,uöwéŃű?ˇ'Ý-Xűó`˙€şźľOfo‡Éá°—0eń•őyOކ„-6cm÷ž­ëĹŹ˙šľőň)ĄK×Řľť{˙‡”Ŕ&«7ȰÍ啉L1EužqĚäżłýş}!ťX×GéĹčé{?˘o[[Ó,ß x÷<üŹwÁÚ•l÷ůIŃîČÔ›­P(.N‹‡r&ÁmŤş(Š‹‡Ŕ©'©tdĄ¨ĺ\L€¤ü$ä—aJ$ă¶;+TCU›Ć)üśÉËă'Ůe¸çq®â˛BSxnd¦n¸.T2ÎĘߊłÁIç.ëąsŠ?I¦řŕo~ćććŮA!©i’~ś˛ŇĎäV(Šł‚a˛IJ‡­züř}ňŕÍZgkř,*“w Ű ż‚ßůßyUËÜň« !ř‚Íç>nůtčr˝^‡Ůńté€óŐďvčăüŐMZX„šiDׯߤ¤9G»—:`Ć:óçšN­ŇdD·i>˛MůúŃq°Ż#gk€t`̢‰[ńß Ş@ *= b‘@VQÁ¨ę€ÜE —/^Ňáţ!oEIă,¤!|° „!Y`ź°›P‚7(ŕ‹( !č!ä ŘéłÂęF;Đ!Ć`< ű˘ŚěGŰ2¦@=ź~ú)«A™©ł^ĽxĆűB;@RB[Pź( ©ő ŃűD_5l0ę;BňAűQ7ŽŰŁ^(ř�č,—ăPR™ˇ>¬ňR9U"~ĐoMVR˛žMš¨¶±ĺą’fçA2! iHˇ¸¬ĐëWˇP { D¤@2ޏaÎ ¦hÂ’KbŐ§Fźh¦ç”! s4©×ĆźÓśţ¨ŘG‘ mĐI�{ëčm7iźÚP\´6óîě ĄÖĆüé_Q 6ŽőąµlýÉÂ5j&Ö†9ÜaűŰmč'†ijYĄÜůžťgsn‘ÚPP´űÚýč>Í%(ęui·Ű¤z ¶sk¬/Ú¤!ëŔô”î‹.»uHsóKÔ¶¶ŢvŰÚŽý”fÓźµ´©c?sµ:+ęw­­çę m˙ę¸ăG÷}ŮĆ„ …Bqö8ʍKřTW(Š‘‘2säΑaĺOopqÇĚ(âĎ4ä„ó$T™ĐĘÂWĄ6VĎI Ü3&[ ¨ňśËäTž¬Öhř*ňʨn± ʲ߾¶qˇšˇ­Fi®9§hôVĺ2Š‹‹ňůqç2qé<2Ĺ jDŮłę;ťîTäÔ '‚I ý€H¤P(gă5hoŹáĆ4” O‹zŃÚgAÂŹëkďT<Âőb˙WĄX» ¸ ç^ě¸ňő*VĘ»EzśúΫbÎ̲Ó&qěŇ“íC2I664;Ó„>&!ĐcÄř{ŔÚ÷{<jIŤć=%Ľ–p ‰‚Ťfđ-•ť@#©µđŤu;;»<#:±öČE˘Č‰şAh‘tĚ AŔ>E‡ÓŘ>•DQÂ:´ D$´K¶Á:”é¶“( FČI2>…#ě_&Ę€PbŤs l†”Ăř  Ř‹0ą&**büÍjG>ć|ăŘ1‹[ěAPűE˙ÉéĂPI m˛¶Á¶ U\%ŞEr:ÂPŹÚťş-?Ăí_ZZ¤•Ő•ÂqŕbBLP˘RÎ)ńGˇP(WÂťĘôŰťáw}}ť~ţł_ ĹĄyÚŮݢżx÷#z¸ąS*w>­;O`˙˝žµłŰ }áçľNoŢŮ ý?ü·”vz4cm¦_ýÍżE÷źmŇď‹Ň^€ĐS¶°K¶=PŻ7؆o[›î×ăA-ks}ë[ߦh‡Öfű·~ă7™ĽóÇôß||ÓÚMn˘«kď·éó_řÝýňWé_ţ·˙_J÷É4çč—ă·ČěďŇ÷ţüĎŮÖ<‚ŠŽ˘đ|™ŕ;:÷ó¨P(SŕĚY:ÝZˇPś?B˛ ˙7hđ‰ňś“U¨tZĎŰQ©ş&1śGňcX÷M)&lâ|'lYý8mŇ·kŕ·É‰>˛ßśűă‰AálęZÓxř9$2ŰÝ˙]ćő¤&¬_/y=¦Ôb3b€sÖÄŢUp.ËÁął¸G)c)FŁ|®Üý•îżČ«ś2†ˇÂ@Ů8 Č`ŹK[ˇ¦§Bˇ8/DYŔĎ#¨IŠÇ2âÄöřŠ“Şě:ł¤4ňʍ~H€>O3Ů,¤Iş,¸hç=ś<ŞSJŞ*@Uppn$•”+çěU9ulO€áň¶ěs¤ÂŞ535ŘR™ôبQc\'ׯ_ĎRHy\W •H™2i¤ęŢ—ôV÷îÝŁĎţóYz­ť­j¶2RTŰĎTF€ĽóÚkŻŃÚÚZ–ę çmĄ®-5śŹ>ř€×AäŁĎ}îsÜłss<+úńăÇÜď°—@pą}ű6ßP�ĺ"CˇŚŚž?Îő ßń‘{EO('±m‹#×Ŕ¦ăÔ^ -Ávú!»FüľD™§ÓîđŘ*:h»z`bźřŤö˘<ę–ëJʉâG h1iČ.{bŹyss“ĎQxŹósˇť2ń}zóÖMZ»¶j‡‹ĽĎ!WHáśJş/!ţ( …âbáU ÚźĄő?¦Lr>ů1_?ě| źd©�#Í‘†ćí{üoŢ\˘ßţµźˇ»‹Ö.€bVčßůĘĎŃ˙Ĺ·č_˝ó’¶şÖ1Ăěű´˛ťÓ`¨B`d2…㬎Eíúě˝ô+_ľGŻß»C?٢ď~˙ŻčĎ>>´ë#ęÄ g#ą=PŐÚd« |ĎP5L»ôčÇߣíűÖö›_áĺH©űWňMjÁÎl·üqx»=2ůĘC_m§cëMÔíŃźţéźRŁYŁ…ůĹ ëlŹ}ë»Č)ľ†ŮK\W‰L;7f{WÎ_šµDqc/†ďHO<ˇĄšŤă\›Ą®Ýü‡ßůőí1uű=w†AÔŽrť"ű.^eĹXn':/rJŹřp9R\Y(y_ˇ8N:úrqČĹ …âR#TBrČ8 ¡A~z¤źáű˝ĽĽľPNőöq¶»Ä™}é<˛^Čeś¨<4‹µź`ď9ń§b}%±&8OUł1ä< ©G^–îj4…y …VFQVž˛m/ń‡ËW\kapé´1śôĂ˙“˘a˙” kŐçľŘ‹ę<;§×ëOHqéšճ´ …â ŕŢĎEŰĎ$Ě‚tNĂŃéGʞÇâătÜď« śĺ=“$P ěűőŽ öFNđj‚ą­x9:-?·Ńßg‡rš9×§yĘYśéb ßíŠÄ8˛ŹśĽŰe}Ďnsxh DIjvÜĆ«Ś;Ř0Ż®ß?ULŽÖ1‰mË|mţÔ®_öv\j*[(ÁÇ ňĚňĘ ][_§ĺĄĄŚ8“©Ů>áeoŹÉ@ ő€Ě»(ńd+{6}Š+Q5!>>ű e™�úÖíţ°-ę¨Ůőׯ3)' r!ź;f.{˛"öŹ{.÷…ă/V ň“nşť®¶¸u±Wä%l…öˇýBä 'z‚HHs ¶?ŰLŇŞŰ:°=ú5Tĺ1~„´ĽĽÄ©Ř@ęZZ†BQ3#˘Ť†Éžë’úë4'•(§ ˝~WzUO3ś™“żÉe<CSÖM'×’kô+żôUşum•fÓ]ęG)Ő±ŞY§_üŮŻŇwž~ź¶žěĐąA:, á`ÁĎţĚé7ţíŻÓÝ™6Őě˛ůĹUúĚŻŃü_Đüáż6>&Dn,Řm·h·ŰÉĆ@.­îˇ·#KăÓxüľ3’? i&ĺ6K:Ů(NنĎ&^řłßŚĂý{S \x˛�Ź ©uбÇÓ§˝´Çd©Ôbě#í»°)aëN\}n'˛ý: ¤P(—'ú8»HŁ>ߊ+ q^D k×qf%8u&!ţ\P„mf÷mÎ!+U .ń'Ű``= ířĽ¸, TJÁX…$żqa6Í%$ţś%FĂ0Ř?Ő·r9—z%á”őúär ú( Ĺy"ňĎ6 J÷ű©Ëkű$É8ăçG�9/dł49oř}bÝĚ>(źf393bBŁžĄź”Y¤—eňyžw!]ĄihS@ĘČ]BrnĐď d8bśO…Ë6»#€Ą›ZÍ)F QkPlËך5JꉳIq>yX$o4Á§Řîüďńzن*u&NiµĽÄ„›Ř’ú>””¨Ždăž4ůĆ~ćfgéµ{÷ĺ†đzqěßHi…˛˘’4Xř{gg‡ËBQäqđň úý¦]ÎĘAHŰeż»ťď%I×ÖOAÖΕťĐV(ő ýj,„; ö@ńiřQďÂĽm[,3˛D‰‹í;n––x†˙°Ô}(Ç»MÓ¶ĘGhÔ~$ÍXv*=ń*‘h+®·Z}„:ĂgĹÉ’9 …BˇPŇ’-+ę<Ö2 ‹óôőë ”v÷)ŤSZ]DŠŃ9zşłGőĄ:˝}ď:=ŮܡývźĚ9Ř÷™ŇOäěŤfżC7Ż­Ň˙öËŻŃńg6¨M&‰č·ľ°J{ďÍŃ"¶ ˇŤŮ ?6*O t¶Yě@^ '2“ů`‹eÜ1‚đT\2!6"ţ`3ŠJç°̨،Ł—”¸É~ĽŕęŚí¶ujDŔ½ž#fŹ“*Ű•l׹C˘“±üʆ‹§R('†Ł<`üÓéb࢞mAř@ź˘ Ĺ+ŠËꨥ€rÄ ËĎć!9íyč<˙7Š+«,pÜy7tZ§óP"ýČwETQ¤�#SlňH~đ< Ë$„†Ż U|ůb «·ç8×Ĺe{ń†·\3·Ť:ý«1ÝŮFÔS(ŠK „ŚR(tR»« Śú}µQ|;Ĺ%Gě©Jµ¦‚ ß=—˝ĎÎŁýŽäżň>¦Š6e’ËHń9śMŠóRŻąt_bł»ŠbG�ŤľwčŔţÇĄ/a*˛q¸AşN]¦"•,UÔף&uD5—ľ�)¬¸$ý´'l#)«„äÍÁá!/—@ ¶eQĹÁzb8-WpĽa6Ž«ž©11!Ű˙Ćr(éěěę”t[Ýn‡8凰 ëv J=čĽÝťN/}€<ôěŮ3.‡”b¸úi—Ëńľ2·ś#ěźÖŮß>ą~ÂľMĽ >ażG…±W~2]Č+Tí©¸†‚gEqLIJţQ( …â,Ľ¦ů]oßĂ{űűÖ+‡ćŢ˝s'K' RűŤ[7نýäÓ‡¬PřúëŻ}ň!˘ )cRQˇeĄGŻ R츮éZ:.ôçQmذqńů€˝‰úa»ˇľ­­mj¶‹ŞőŢv›6ł@¨Ř*źp\—§ĚíňwŻŰW;MˇP\f$ü\‡ÚYŞČ<Ł>Š%ĄP(.'LQ`ĄČó cČŤMhśNšâkŇňálŇě÷őŃtő°_fZr;R/ĹIľÝ‘ľą& ŞDr‚Â…ÇIě\3ŃŇ(— ĺ@Âř>vy7sVWTĐ‘ ×UÔ“E/“ ?5Őd13¦ż_uŚS˙QžŹBˇP(Ž‹*’7ÁĺŔ|Ől×r—çy Ł6Ă2â Ç:IŃ  VȢśśŐgrNŹřq@¤ăzQŢ®Ź|Đ O75Nt˙€Ç 01ŠüsR˝:¬~K×(Z‡-NK…@E0ĺţđJU jÚ6Cĺe<xŔDh°}&„Ô!Š7ţ`=88^üĆ lVń‘�P·›m'ăA�}„4_ŘßÇ÷ďłJF¨G†^ĽxFőFť•…P×Ó§O9đóÖg>Ăçë§?}—ëż{÷.·ďý÷ßçď;›őçĂíK>hŻ«šž…cEŰfć樆ë(P|6A& . ”ńË%ĺĹ0Ia–TĘu+ …Bń*c¨k7"ź:©ć>.­dźd*–®ś ŇPuí+{Ď$TÉůŕćçŮÖŮmu©kbęô­­gż őé¤PvÇ™?WŇW ?žšéÓr©S]™ë×V)ęwqĹô¨uie¶~Bö¦´ĂµK&¤ú!š-vaf?É6QJG…ŰGjíą}¶Ő`óÁ–×ď;»t­4ŢŽĘc�r<RźŘ®9ů'¶ű &zź�q_ˇP(Îăx+fÂe§†óVüEú !ÓĂLŇH_ Ĺ•„ąbđʲI·exÇ_NÁ€Ij DŽ‹Ć0GŞšů\v’žŘ G®v|ĺű÷ÄžŔŮŠśľLüÉś±nPĘtňy‰e&C0ŁÓH#N'P"RňĂ«ů× ę*őů° ÖČ㉲+4X4lftesO¤·.chmص®ŽţŃ8ŠĹč"ăSĺH`ń*q …B‘CŢą €\�^f{ yCŇ$‰#8—‚OłŹ(®Ú»â"Ů$dŔyŔ·KçéH’¦*WČęS«Ý‧űl¤۲…ăaڍh9˛d8]ŻźĽm. €#ČHĐ@fËziG|€Ä vF٬âđ;Ľ– éşü8S‚€ô…lÓítioź? Ń`;\ĎřF�Ű Ńĺ%•ĘB9G~Đ·(Ź2qŤo”ÁqŠ ¶˛¶“¶ áHÚ‰ňBBŕ¦wëßs[[[ś& ¤!čŕüµq?Úó!÷ĺöö6oËJ?ö÷Ë—/ą~Źđu ,Ď źiŰý·řxŃ/¨ĘAhÚe ˇÝ8>‚ áxů\ůţvJR.%™¤µŔ¶ĺ4ŮĚiŠ=Y ׂmwĎŕ0ýÇäźAľPv.u, ¸ěĐkXqˇWő´ngÁµ#>+ňi›•+Ş÷™ů==%Řüé‹ôí˙”~ćËoÓ¬µw÷(µ~ŐnTŁOžÓGÂv čCÇÁ¤G "ú¬ÝŐâü5jn»®µK¶­t�ĹűűůÖ6µ»×)µvĆÓgĎ٦EZRĐnÚiDŹžżô•Ń‘*e†6)«FÂć+•ͦ”Š_<JŹ<.’[’ÖK(kÖ6ëvˇfYJŇ–íĄÝ™/ź$>‘/ű:ÜNl>!ţ¸q‚÷ű›2±ßPU /3u|ýtqĽ÷˛úA§‚Ú@ŠłGČ9©úLĘÂ<׋÷$?ăČ;ăÖO»ŻđCĄo}r*—ązÄĂ4cżżÄźĐč-Km–Ë ›ýz?˛˙ľéóöyú†„׳ˇźćç r2Žk{D'­řS†äu<˘Ł†ť+ż„„5€(ĘRyUź»Ń´L:ôEއ(PĄŞ"…ëĂĺ‚Z-ÉR^( ĹEC9MŚb2ä)ˇŚWyÁÄúA�1@ €X�[,˛¤EZ[[ËHŁÔ^. ÎłýU“ Đ÷8O Š1ýŤ~Ç9“2 =Ăćć§ŚŞ×Lę@Ş6@R?Á^±$K>#�9Ą–iŽŢ„k|-@˝m»AHb˘‚qbŰ~đ7Ć’b�$ůQ"®AlËiěµ’jPÇmřšmµéĹótŔŞ7†×ăšEŚSŻ_żž{ĐÖŰ·oór!ěěx‚ÍăÇŹą“P~ϧĺŠ<YFH@ â`{, ‰:BŚĂ>đűÉ“'ÜěC6¸gDy÷Ň’Íâś’»7EŃIę•ë}%„ĽđľÄ˛fłÁ!´W”°ŹŹ>úë2öŹë żA ’ţ‚ÚŚ~Â7¶E’ľ,Ľ6AđIj Ű“LŇ‚şTżËŠEŽ@uĽ@ˇBˇP(— CÇ%¦˘Ü”cČôě'HÉšů`ʦ0ópżK˙źź>§— ëô‹7¬27Cí˝»Őˇ˙ń›?ĄŹžŰ1@dßóGđő fś—:ÉJ[›$6ôk7WčoýňĎŃg­==ßۦ˙ţ÷éŹŢ}@ĎŰuú‹>ĄßxcÝÚ]ŻYű#ám?yjmjŇŹ^Fô/żý>™ÚbćŻ=*"ß§ńžUZRJĚ?Ȣ;î¨G‡ge,¶»÷ÉÜ.vańgÔř%lŁ@Ú_ĄÚęÖĄ~Śŕ‰CäSĂFAxw@ŮČůĺťz“»NyűČ×wن&&ĹPźŚâlQĹ9)óQNr?G]?ÓD\¦%Ö—4éţ¤Zö3K …âĘ@Řâp6†’ęĂĘVd`pGüIÁn·NÖfŻZG¤éułň4…c>…ó9Š­s˛N3ł3Ô°ŽĚ¤QcřD¨â~ ů¨ŚHČç<¶‰a`ĘäĚłmLů*SyÖmČśOŃׇÔmµ˝ĽçhSfń‡Šő ę¶/ŕ8n6üĚYë°Źű<t@üń†â7ňô,ů2±§|úËÄ ˇőř“äDŚ*?yB3XĄs"Ƒğâvk"%ţ(ÎĂŇ5T©…¤8Ie€ˇň~ ĹŮ!'Ý#XlˇJCśĹ°ŰAb�ŮAřA~<˙a ‚x�r„(ĄAAř€t�r@¨ü3jŞb2„+pž„€…s"łAhiř´M2ă€Ëíđß8‡©­gaq™Ë°t{3ÖŮÁ©Deü>YůsŠ{IfăšŘÜÜäöaż¸&pm ]˛śŰÝui¸D‘D’( x° u ůL?řF]B0Âö¨߼ż^ź¶7·łYŇB"BIŘ×3l= Ô`=?X' > ę�ťNŰÖ=W ˇý Â�(' XBČ‘{DұIŰQ/7hľ…L„óýâTlmm˛ŠŽíÇq QIPŇ|PęŔq4MjÎĚRÚOąn9¨űŃŁGĽ ěź,př ś¤4ĂoěÔ € „߲_NX Í)q*4¤Ťł1’ů…ů¬ …BˇP�ŃČ5âK.ŔËDQč'öc&šÔ78hßá]ţčÉ3ú˝?|L‡ź»Mźyű3ôŢűďŃżůɧô Ń»¸NÎóéśÜ ÓŁĄĹyşľl}Ç^QrgîPÇÚ˝ČM•O05ŐńGěżš=¸{·6č×~ők´ľşDý®Ć–Vé·~ăWč ń-ú×ß—0×ř_üńź‘5ůčŤ[K4?7K;ť=ń’ţĺ·îS7ŠĹSMŁ{õ6‘Ś_IĹ-Ź3e|wě«RĆYŮLÍŇŰDq;ŰŤ_Sńˇ‹jP Ő…żŁFe Ś(ż|\wv?Ö1ß2ż<Ć]q”Ĺ!ÄwźŻsé\ůw\í¤Ęvçňß’’ mOŁ>™:R°%Tďרoj|­pî€ČPaB] 9ŽĚU-T(§‹–˙žô¦3§ĽţČĺĎ2äDpOĽ^·Ł(VâŹBqŮůF0Űş,#Yvü—× dő‚Ńm[G˛5ŕwź>ˇÎă‡ÔßŰÍöoG“0�iŮňłKË<łsíú:5g—©>[źhűĚX-´7X’RyU‘hě䄟xp'Q>p‹d¤äkĚĺC µ;třř9m?yĘŮNË:Úál5ŁgzäÝĹĂ’ÔW–iöŤ×incĂć8-€ŚŇŚ'ŔdC•Ě`Ż:—“ľ×˘Ň÷hd/¦(\fJ›OV—S+ Źip_Y}ŃđÖ3PzhMm˛…BqŇ&µ–Á©�†uçć`˛5HˇP(Î ĂŢŽŁlČIIBŻ:„ô�ţ‡Š" ?€`§¶8ł!ţČűý-)”@‚¨ţ\†s0j¦ěy—Âqú}ŤţĹGT–$“(ł Ď{)FÔu8(`Ç>] |Ý9yA»źÔ“ě<‘}jośJ ReA= ¤> ,¶ĽűĘ9ÍFŹĄÇ© â,€2B>Áqáú"š¨Ů`[]pü7oŢäľřä“OxC3ÍV’ )8&V$Ĺ•}°ŹŐŐU®GH3Pî‰HG˘¸{j>’KWĺÔ^h»fB%ůŤýIpÇ�ôöŹő¨§˙ŕđ€‰?hŰúú:}öłźĺc@}¸7ˇD„ö IGúIŇq5ł™Š¶ÇGNrŚaZ?”‰ íĂ1Hz/”G<|ř˙Fj1!6‰­Řśiҵk®ůYb˙ÍÍĎň7ęS(^5¸p§Bˇ¸ô8i36śĐií¦d-óĂiĄb‘Ĺ#ž0Ö¶ÉÄú’#ö''ěG‡X칡»Ž¤Î`ČŰqťžvRúţf›öźîÓŁí>mšÖÄ3m(I oţĹ•ýÂĎ‘~ĺ­%¶yşý”>řô)ýŢ_?¤|pź^D3Ak˝Ky IĄ´ˇÜ~k7XăoĽůÝY·¶I|Hýll=iŹć{Űô‹wçčÝćčç‡ôNo†ŢůýďŃ˙ň 7č3ŻßŁďż8 ?˙‹ż¤˝ÚĽí’™¬G™ó2•Uěˇ|Eî­-ڏżMÖŹ„IÄ~»|R§W¤L‹ż#ďű7™S;č›ňÄŇ4AÔ¨°‰\áYÓ‹3}Ë×ĂŃçé榱#%őíwĄÔ¨ĎĐljűĽ ĺÇš˝"űöüá:íł2$HIHeëRÍ™K# ăĆEůŐĚżů.ŹÜ𲌥~…â,�މüI§3»™Ďk®őQH@öá'dżožŘwůMR(WĂÉĂR\U;ŐĹşutőN»Ă’íO­stď§ďPűĹs_Ěř3™sĄ[‡d­Ak·nÓ‚u ݬ.Sb ĐFsBâĺF˛É©î…f§•Ç’[ëBýÉScĹ>.‹i¸ň T`('Nöú´óô9=|ďžÁążłm6`&•xĹŔ°O"_ş`ťó·–©ľşâf4 0üŃ p0Z´Qf‚†AŮö¦¤“mPŽ[üv’˘Á`Ă89yÉSíR $×TŮĚÍâ ňÓ”iżJA#š¶¦ó ,)^m ČĘLx™íîRľ,‘BˇPś-„ţJďóQŞe'Ťó ±ś&ń$Tü‘tAL*·Ď}IʦU¬ÇAIÍÂIŮö»ČŐżçAúF:B.úWHW8o8G8ňwßĎ:îŮŹ+ç/g|ć¬~W1Ëý¸Ŕy` *Ěl7SÚýŹqlňnĎ]]O–_ Ć´|ŠŻlVµ'çŔž‡ť/2l‰TpŚŘFĆ2žŔ2†¤ODi©ľ vńăŢţ—ÝÚŢĘ)˘4’I¨űE?ă:G˝LžęvÜƶo˙`ßÍܩŹ@.Š|  CXż»łËŰ€°„Žéő{9ˇg~!K}ĺTg\¶fŁ8X.Á=ěçĺd¦ Đ6ścôu-¸?ű~wÂ6db‚ÉGˇšO˘ŕ% ˝rďbąź%m€ce"Q b>s˝Yk+:˛Ę[ę.]ŞçBqRPâ±BqEpŚ[ŮŚX*żďóžQáŻčJ#ă9 ζ­Ť2ÓhŇßţŐŻŃçŢţŚ}˙ońşz-¦Ďľ~—~{ţěn[ß}‹¨DVŠĚ ÁĄ*±lĂÚDëü7T§f¨9Ó Öím0 ší,:̶ŮÚÝŁ'/^Z[ŻSđ»ÎmĎËăúůóçYk±EË$ç8č^翏 Nú<üÉOż.)"OáŇSşJÍ’‰ńm“˛ąç8߯‹ävÖ°qDř7ŰßGâDŮĺČwKŮŐŹűl÷Í.ÔhëÉ&µ›Öž>hPc«NéAŹâ´Á}čLZź`ř˛~|[eŞ´)śsňvzT¬-d %ţ(gpLh´Óâ(7ăąÜŔ§Aü9 ©G¶ żĺďň§Ľśź—ÝnűA­6÷3¤P(.?<q" Ćś4ÄńűńÇÓ“żCűOńrž©%%ă~8„řóÚţ˝őÖ[Q$™&ŐWí®p_Ĺ·MqćR;A*oěsU庤ţÔ›yßć3?ŕäĆ�łEß{ď=ÚzńüXÄź›ÖÉ˝řĺ/Ń:2#Ľçg DöXËv€ĚQáwy;8ő[í–ÝO7«ÎűZ)'‘·�©GN&USQ(9üAŕ3ÉC` 3ô …âô ĐÜm2ĎhnK•mÍQD‰ŞĺÓŕ˛îŽz|BśŞú °Źg?ľˇţ›I”}XşŢ«ŻHůز¦mĎYăhi‰OU DaŇ˙˘ę[9$Ĺ$|.ÜÄŻôź—\€ÉÍŔ5öC}{A‰]¨ˇHn/»uh`­ÜąśňÉÚÔ cß śĚXŰ]$°#DÍëćíňľµăˇlS·vűęµ5V�Ú·vČ/mŻl{DHȢ¦#$| @ëĘ? Ą °]0aĘC’b uJő×÷ÚkŻŃĘę ÍÍĎQ˝Y§Ą•%jŘŕŇĘÚŠ#şěď1‰Č‘kúLTB{9Ŕ17ËŰ$ő„ú­>—}řř!ő>ée©ÉDYHÚyýúuş÷Ú=şąx“—ůµ!#qŠ$ćv:Ą-·l~aÖí¶łvŚ~Y°AŻ×ßxëď)÷x{ľNěŘÖ~jIŤĎ ú 2\7˙âŢ–”qBüÚŽöByýŚŹ”Á6h+ÎęŔ·;çH6źµ}Uu-+ …Bˇ8>}7VĘ) ńS/Ýď©Í\C5kKÝٸF_˝·BÍަ«ÇľëçfęÔ:hŃçfRúů7oŃ_>˙0ŰF4f}ÚUiÁćA·ÂÖ6ěŰEşZ˘ĺ,…m·ßĄN×ů…ń[üż(űă“FĐB Ć‘(łD#Ź«čŹ27<˙,)ď´‘ŇËůźaűŔžŤbď H ôPČŮNŽĹ©»ČŹ˘ŚXâýÚžDË1dL6‰·Řż˘z$ĹSěÇ4ví0 ţŘ6ôÔčw˙óߥ~˝CqŻNőÖ‚_Ŕ¦­»)TE—Fň'ŚńDĹólřĽDY!!ý(ŽŽ•׿N Ĺ4�Ç„Π礌ú'ţ;ĹźŇ0 ™VŻ/C¬Žř§Á{Č‘®P(Ł šł8÷h×:a7ź=ĄÝGy=?}fÍOf\u¬ÄźĄµkÔłŽMČO&d SkśaÖSÉł˘ň“®Ü¨r …Ő#ąsŁ(0d#§Hű˛©q 1âÓŠˇ|ö<ń‡ĆČÇ›V(íPű`—v_ľ —OÓKŰ7ő´GÉ„ł+9ßnękv}şťŽ§ JýŹŹJ„3t1‚Zf‘Âů,ŞČU\·Îw8§q*c€‡<�3€ßI-áY­ĆŹÂ0Sv˙`Źg× ÍjŐ<+gµć33@ęÚ˛Řßü‚ŻwoźgâbvlŹSŚ2Yűgffyvne‰I«P\$÷‚h<ĂĽß#…Bˇ8]DŁ—Ř‹HŘ8 ŚLŤ”™6Ŕ.v$ŔxƇ˙T!Š*˛ND„ä!©˝¤Igt’x•ČĂÎ7úTÎGŘß°K%ť•¤źÂ2ŘÖőZ=Sf©űu˘¬É ?>“DąúOfůOy ɵԴ×ĘŇň2Űúsłą˝/©É`Wz®3I‘Ĺ)ĺR§ú‚«wRŃ‘”SřĆţ$—Ô‡ăąŔö°_ ¬3ßťg2 ¶dۉ6bL�â ÔwPmZ\Z¤ĺ•e&ˇm˘¨$÷~ŁÜµőkůËř#$ŁfżÉăągĐ|@ŔA;ńŤvsРݶj$¨oń8÷śźD!÷?RVŽ=ć™Őţ_pźËXFTĐV!މZđl›˘kŮźK¬“‰Ý ťś¨ů´1 Ó’ĹÜô§<GNúy P( Ĺ«‚ˇ#ŁŘÂŁšőÂjLn/sŰG Ë sśĆi~¶I»¶Ţ–µŰÖV×ě>>Ě˙ô˛]˙úú<mX«–¸ľÜŁ—Ű;ôÉAßG ť_|Ż“Ňß˙~öîh}yžúű‡L,Iíż]3Oý`“žoĐ™!zÂn®Ů~źµ6ÎęňÝşy“žżxFOž>§6ŘéřÎť±‡ůĹŤyzëŢ]j¤Î65A„•ÉJ&źîk|há'›DOž<ĄnÜ iMN¬˘‘FěGQÝűOŇŦGąË?h›WŤ}ěa‡čźýż˙gťăUm´ĎţHËľóË6®ĆU©Ďňś^TôUhTŕ8ř÷ţOJüQLpLüźeâϸŔ¨)ýmF¬?śWŞ/Á8’Ď$Ŕăßüđ‡?üéőë:{\ˇ¸JŮžÇFH·pîbk@'0VS8R{Ěřw«#főOJüAÉNśPÝôůSł†vb¶‰ş†z»{>@Ť^@ś‰Ä^dč‰.~6-d@ĘA*]Ä ç+ŘÖĐćözĺ™Uiě˛~Ťś\¨'1Ł?ĘfÝfs@úI¬ő[g>fó֨ŅFÚĺOłŹż{ÜO“ww>C¤Ń÷3"˙ÉhëAůS\~?Fě(đŕ*ı-˛úp\‹#ÎňĺĺUJšŽřA fç¡Śí�Ôŕ7śňy+JB ţěîí°8šA"‚»zú¶<Ď2¶Îë;µ;ĽěÉ“'Öé˝ÇôqNéÔ+-ض߾}ŰS©ş/ …BˇPśLać"K('ŻTÍjö÷eDxŚGY? ’* ĘŘD�ÔR‚Řm€(.¶C _ B•Řwř”U'Eů ©Y_T]ĎBć‚ -8'bOr.pް egçZ™uľ¸°Čöqß§�K‚4şµěfL€°¶®éűűĘLeÓ21ɶI®%ěŁQËSsÁ¶Ç¸ŕţýűQÍÍ’NóTXv[“ Šł±ľ‘)Í� ™`B¨çŕxˇä#„”őőuzýő×y[\›řŤş`ű‡}~8ĺÖĚL6N É3řľvíZ¦¬$ëDeI”ŤĐĎ’¶ěí·ßfU#ą‰ň»éűd‡´A4áţËŞe’Ş ĺMEp',ţ“er.äĺZpĘByzćŚÄeŰŠc“gÁĆĆăúCż˘˙%…ťšN%ěÖ­[´¶¶Ę0ëQź …BˇP\fTŮŻ˘ŇăR™LĄe˛©ˇA'¸ďüĐýľˇn/ĺÔ®&ťĚ^>®ĎŞĐƇˇ§Ön€ýh xء-k8Bąs3ŻĚ6é‹÷nŃ/ľqî®ÎSťShúŕŔĐň.<ëĐćÖVÖ7‡¶ľ÷<Ąo|;¦_ţů/ŃÝĹ„÷·oýŔůŢűô§?ţ„v»p¨ÓY€é5> %ĹEkGP­/ş{°G¦Ý˘š=A±őE´]úŐQŻŰăş»Fżú‹_ …ţN°ĆůŐ ĄţĂN#GÓůŻŇŁďď<˘ýdžă ýhxÖą¦$­«Ä–>ÚEÇB"*ĆliđÍMăďĆow9=ć8ĄG~|%ub%ţ(g pLČݡ}:>ÎŐńtRoµaY~‚Ď0†Tmő;żó;?ţµ_űuR(W˘#Üjhđ‚As˙á8Ĺ ckH ±ĹĚÄ©ľú&bIĚŘ×SĎÖkăÖhoďż ěwë̬űY§L‰˘Ŕ¨µ&źWľpTkp§ŢŤ–pnvü ëy;Ię~Ém4ޡĎŰň,Řő»5;HK|Šě/á}F>…›ů^¶ß`¶f2k‹`¦®u(G=§Z”úŹAßôY‚u˛Gę±|Ŕ¤ÁŚé|3ę•P>cîďp†®–ŕ,Ç`Çź§íŠ¬ÓĽSPü‘˝ů,Ňvaö ÖIz (ý@ń‡ťÔ¶ 6HšŠ0­—¤AH˝”ţľu\cĐšÔsâŹ8»eîű[R 0~F¬JŘ+ …BqňpfĄÉHMZ•’ FţQچ `‰Ň˘(üŔö‘ľS| -ŇŚ!„lűNmŁă٬â$Š?’˛IR0Éy •€śjގEj6gěX!˘ăuźfŘŮî‰WűáQf˙»9Ó*HŬ¶iěµ#¶6Źk|=K¶Í Ň€$"öµÜ·˘&%éĄ@Úgyi‰Ç¸±×Zß×+ÄůƵ…šŤŤë´˛˛ĚË×Ö®qú!C‰B’Řůň|ŇKř ‘±K¤˛SÜŇç€dp,˛­(äTÚŞžcáą?6 ?Ó |®†íą{÷._ ţZ>TęuůşYôççpueĺXD@…â2Cm…âŠŕ·ň° ›řÍĂŕ›˛#SŞŚ)‘›)ŰkuéđŮ.m}úśöžlsÚQç9?= ťÖ§OźÓ?٢·?óĹű/ą=­^J{m˘Z }ëC§ÎŹI·3ÖxseŽţć›7č«oܦ…zś)Î/­X[-˝Gď>¤˝—Ď­kşžíg·ÝĄóăOił“ŇĎ˝ąN±µgß{đ)}ű'čńNŰĆ�:5d©łr%~üŐ´ţćąŮjw[”tˇoÇO{»·­OżKݸF3Í:űŤsĺźÁ«€írŘl¬…~{!ÇřO”—Ż®iÄ!TŚĹ`źśÍ{𤞍x]FONLâc@2‚Äý6H`1Ĺ=śŁÄţ]َ7Ň ¦ĹE·)D-ŞrÜ iGŢŤž,ů‰rÇTřĎr&:g Bńjŕw~ç˙öc˙gUŞ/AŐ˛i`JßĂÖ g=jŁ˝ŁČBĺ‚ODŐ©ľúßřĆ7öúýôĎ“$V /…Bqî`˘Šu^¶wvčĐ:4Aüib&&fŁz€t`ťv‹jn–­ä´;Tł†ű’up6Ľł»ÔdÖąŤ‡ŢĚĚ[Ś-;�Ŕ°©~|Ř‘śÚú0“4Î?‘Pđ' ţ€€”řôU¦žzUžČ[˘/Ŕ‡·Ě&™˙*Ŕ!ß±ý"o”‡óNu �‘łÇ2‘هăťĺîíňfĂIéĂŤeŘ.-ͲŔöˇäĽĘ�î_ýB,âŮŇI˘Á-…BˇP(N¦ş&ń{y÷ĘG5€đÝŐŢĎăŽç8Ç‹>…íµ’Tď%Ň ú8LŁ$Ë„4!Ä!Uś^µŕé°ó(ËA&ňJů<…$. †şi­Á©ny†rÍQ$5›-ÓAúI©ÖďQŚÉHA±ŻĂ”RŹżţb¤“ŠŮĹmĺîÓ{Ż˝FsóóLü •Śpˇ]/Š83°ýíŞ2P Us„Ä#é«° ®M4śÂLÝ×ÝçŘšË×uQQlP5§\>ÜĆőq\Ăý’K¸.ĽOÂzĂďň߲Źă‚űýÁ”ŞöŕÚAßŢ»wŹĎ—¨aV;Ź‹¸Żűn\fĎRšÍÍĎň÷I?ŠË�%ţ(WǸ•«6 )fĹź2}$‹h¦†:‡mÚzú’žň„vžm1č´ßřA§Kż÷ŤďR7™§Żßkrv:ôxkźţđŻ>ˇl[¬ĹĘǶ0Ó¤»kKLţY®a˘)ÚčĆk«‘]ó]°OźÜ˙úAŹőí~ž·#úáýç´ĐL¨¶°Lßż˙’ďt¨Őét!Ĭśřűô^Ü‹ěë«+ô•7ޢ۷oŇÓ'Źč;ܧ‡›;lg׬M¸ËY‡źW!÷3Ń”ăŐ^‰‘&śÔ;°•AüaŰt‘ő˙’LlüdYß3FHKţ»÷Ü6q‡'×ú &�9⏯ł|­ź ńgĺŤ[)RT†,&E^ůÇţ?km\LR _ťšŤzřđ!“äOňŘ E5Ŕ-ůĆ7ţ`ŹśÚOUŞ/S±|9H`†ü}ę–ř3ڬs(ŰUűËÉËŦIŐ>üä÷Ä…â '~›Ëĺč€1Ö·†Ż}*ő÷­#s·M‰´@ş“ęöÝ`tâMH”0ËÓtŠ:Ö %™9;cŤßY¨đŘíz}䬢č°ĺŚ@đZP®Űăş"S÷†ˇáú˘˝§Ş” APţéHl §5Đó öé9C±őÖGiBdNwFÇQGüÚÚZ–‚@3"i/łdő'pč0„rA Ŕ‘'48âlx–3ˇŢÂrpF×*Rxaßґ֯7ę¬ýWd6µĚčU( …BqşpAűß×.­ŽSţ‚OXĘUÄi’~’:ę"A§Ő�Ń}2u}ďšť[·6÷,Ôs`ĎÚűhę<vYÝŽMâ ú0âŔ™„ôă÷Č! ń–&W·Y^^Îcy]ę,(„Âľ*Qß+t˘>3®O< Xbż± ßř€x377ďmtç‚r·E~$˛ĎIľËŠbÇĹäuŚ+WĽ'Ę÷H!UXß0ń+|>†$§Ü•ŞO˘6•)„jE¬Š”˛".Ćd¬˛Y=áń™N’P( …ÂAŢŁ!©¤Š‹ śJqpłmx°ÖhŇÍ;ëtďÍŰ´w¸CőŮ&ĄśţŞO'«Ěí@¶Ű"ç¶ţÁÖ=ůăoŃý»‹tëÎ]z±×¦üä§ôţV‹ (ď édkóMę4cj×ú´<ëâ FtSkŹŘż——śĐ|p°Ć+É zÖ˙n şQöÉËͤÁő'¨îÔ0ÔÚ¬wW–čŢľKżüůuZjD”.­Đb­E˙懻ôto—ł Ţö ßÁé`űŘŰéáYZ±vnű°ýŰň#ĘČ7řfeˇâůú[źĄ]»ż®íQ…{só%’1Eú~Ř-P+ŞBYy*̬Ŕ×,“Ő„ř#ë|]^…É]Ý1űů#Ż‚c’ŇŽq#¶S# TJ©¤6a*/ď”|F†ŘŹ}R‰§řôĆb3GŃŘŰ#řËŐ… ¨¦omÝ˝ť=_Ĺś5�ę<¦‘É čü>7•Aôł€Ž¦Wŕ–ř?Á5©"ô”oŞß§y›LU÷i)ţŚ# #ôLş}8é?ţÇ˙ř˙éú;˙R(Š&u2ź�Rrju¬ˇ¶“Rs×Т±eĚ~=D:)k$Z§8›i ‚Xă1QĹ>Ĺâ}&ňĚZĂŇŁőý”˘ý%‡jZă»Ç'ŇŠQŚŞtbcQß~z kÚzlŮÚó=2ö*?H˙5ܬ k5:˛‘,Á†Ť†ke•ĚĚE\Źun÷k’üAfŽcö-:™Ĺ± `0ĵ‚ś<ś÷”ľĘRü˛ $FٍX.K§VBčüFbye™÷Wódq~K=®Ťî7Ú¦PG¶BˇP(§ ňńľît;6đ?Çdyχďâ«N9 ňĎEÁ°s©D Éŕl]Ę?ŽŚS§†WĆÝ;;7G+«+לbNÂÎů>;ŘŤW$Ť¦čou„8"În±§Ă{UĘĂAľ»»Ë QÔ5´eowŹU‚„Đ/|Qď”ÔZNý§ÉŽwŮWî߼7ĘËĆý>.NŽřS"÷˘Z‘|łręa›AaJ>I—&ĎOô©¤B“”jˇrWT"řřťdë˛ß^áIŇśáG”äŰę­«P( ĹÉoÝ*ëKóÖž[¦…Ĺ9&ÜJ˘¨ÓŠc˛y 5ű¤FżÜ¦ëQ‡h~ť>Ý:¤ź>Ú¤˝¤a €<tŮn·h{o—Z©µG"k#6¬íѨ[˙7±Âę{ůâĺ�ńG/řE}‘™*"¶Ń`űN ĆĄ/[ť›§×®ŻŃőĹfzm‚Ŕ˙[7Véť3ôtgźŹ‚´ŰŁZłA‡-j÷şpŞ;[yľë˛d$n¤g®eăăQ㦸Â.ud«pÉ`ÂŘbđ·\ż'Ě!ĽDŽŔ;•†$źŤŠµCá·… Ô±S ‰4Hcśštŕ¸D94®5YeiíćM[4ü¤`C]VbJ}jaŁÄ —sŔ±“Ý$#ŻtiR?NéŃ“ÇOl] ű&Đď’(§”ŰŮHýć'=óŃŹ óť*4lˇ¸Â�·„ś˘OŻ´jÜťf¦ü=nűÁY¦úFćµ\ľĂ·RDyş/ů°üŇ?ü‡˙đŮřţG˙Ę:~“ …â<ŔŠ?Ö¨ljoP˙ĺ.a>ŁqQ­Ď’ž­ím2vŔŃťcUźöć&kä%©5h»ý°o—§”@bµë«=ëdíÚÁN2;Có·nYgę<™x†z&ˇĂÝę>ߤôÁcJÚÔ´Žřdf– >0:­Ł›@@Bş1ŰžŚÖk‡T[˝IµůUŞĹ Gúą€ÎTČBÄ s˘—) GCfَ,ÄA{n&n«BˇP(ŠS‡…‘^ćÎť;ü ĹźÄđţG* ’•)P톼¤đŞ%ŃQ×_2 ›É9lą˘™In˛ÎÁ Gz˝Ń¤••VÎiŘ{iĹŽ_"¸i°łÚ§gú”L žýĘę2© >Š9y™ś GüÎΫ{†Š?˛÷řR˙v{ŮÄpĆX Á™ŽcÂłbgg›I+ 6a9Ę‚ě‚YĺřĎ!­Ö!×#*E˛NHI3„ˇ¤BRMUz/ aĺĄzĺcÂVT±˝ NŹ)l'íÍŇ"wşÔiw¨Ýjs?aą¤M>äôi–&MČT˘l e|ËX. ‘›áŚó`űZ-ĽA.ŘÁŠ©vQŁY·AHQ_Ő¨âŐ‚UŠ+‚cÜĘfÄ vN’ęËż>ËA6ëć´[iҶźőăkRŞ{:Í騠ŻÂ3Iż¤vś¶}ŘĄű/čă]˘µµ:Ĺű]VŘď§1í$+ôýüöÚ©m{Ł’ŕ2€ČÍÝÍÚSZ µśŢ)΋…µśBĹßÚL8>Q˝‰‘f–IO‘?g©Sš1ăŇťćŤÝłöŰ!lIL°}*űělŘsüqŕ#öXF Ż˛˝l›nÝľMO^<Ééa3 zăŤ{´¶ľL}đ)=zř‚[°Ľ˛H·oß°6őŽ]öćçćiii•ö­Ť}˙ţ}¶µ×Żo0‰ë¦ý.6áÍ7Ymks‹­ >kă Ç`,�ĺśŐŐUkĂöčĺË—Ôéua=í»4kósžX>xLm{Ű]ÚA†ضËÖŢ__ĺ{ëÉűďŮŽ= cűkŐ®[^Z˘ů…9jÔę9aÝţÝO Ź?ž={Ć“ęP˘Z^vJŁČ`rNěÜm:8ŘĎěi”]´ăڶµ˝·¶¶x9úç¶0&^ŻD„ú ë`“cÜ‚:đűŢÝ»t÷Î]zúô)ź_™ =-qj†+® ě˝ř?[Bîi)©ľÂŹ ®Ëż‡˝Á¦]~â8ÉČä¤ÄžđwŐ:A4áöňw'ůć7˙Í÷kżöëJüQ(ç •›Ö@k=~LÝ^‡­ ü&śłö¶ż»KŹ?ý”zÖ[[Z¦Řk;Ö Më Íu)±†hD!»ĽÉ*BÎńą·żG›Ö=kťŇź±NÔĆÚE¶Ţ¶-űŘsŰďHÝw?˘™V—Ö76h~yţÔłűěXG­é÷¨a Dv@<ÚŢĄą›wiay•ařŞOi*Hޱpp¦S( …Bqţ€#®ŮtiCß~űmfĎĚΰ#Îgš))Č–&ű-©~äűR"› mýĄCHZ™dąb.šČ'"O:„ꍆ�¤émĐ í±~D¦D@™tŹ’JĘ«űŞ?Bž SMÁá ‡6śě˘:˛ ŕŹ=˛íIéö­Ű1Eű¨eń<@9l »ö=śőXwëÖ-&ů`?pľżűď·Ţz‹66®syŚŃ?~ÂN{Ôňv†u¬–1śm#Ƈ!‘§ś mö�fŁŤ!(L}†e¨ ś!eq˙•”{äÜĺ$ŁÁ2a:2ô>h> ţ€‰YÓĎź?ç2ëëëüŤ>AA�…%�Ç,DŞLĘ~pŚ8ź8'‡vF  ×l}8ö$ ˙ŕř±?LXY»¶j+.ýšŞ¤* …BŔä_Óľ!Ż[(Ű©WjŠüĹyߢ-}۬íÝ}úŢ~LőôŐĎܵ~ö&·ň{?ř˝óÓŹčţÉŰmJßĂÖźş˝.=´öçű4č «oĐlÝŮxPŮÚÚfUĆN2SÁ~’IfÔŃŘý„ir1Ľ_úŇ)ú©¨rö­]÷,S¤jĆŰ‹‹óLŇqM¨DÖč3źý Ýż˙!ŰßHöŐŻ~…ľýíďđ1ů+_ˇ/~ń‹ô_˙îďVî6sŁ ‚ĚŰ›íN›ëŻŰ±ěWŘĘČ�ß<Ć­í6ŰŽ’â{ßĆU[mŰ˙9ö%ÖµŰ]úüç?Ok_řmA]Ę«™Ć¶Ý×oݤdo‡ň m>x@»Ö¶?8Üç ±·łť˘O”Ůî|Üöd€„q�ŕă\­ýÚúřc†={ťcb«_p›¬ťlŹ›š<qéé—čSSzp˙c ĆčŕÚµuÎś�bQźĚ˝¬¤ĹUĹźüÉ7˙”sLŞH=UżËëF)ýŚZ7Éň©qâĎQěIęWŻ)}„n*ß8)Ťßú­ßúËĂĂöź'IüuR(Šł?ťbJ;Ć—tđ|›fÚ-jZ~v5&š‰ť‚y«ĎeRűÝ7îÁÖ·Ć8f†¶ŔÇď2‹Ü O1%¬”¶zÔi[çvßÖ[§őÜ2ŃÂŞ}ňÍSĎ:e÷7÷h˙Ĺ6ĹÖ€í[cµmťß±­Ł¶Ű´Ć™Ý/ y¤ů˛ŽYÓk8¦v»k$›lŞF@¦A耨!¬P( ĹĹ‚ jǬ>!ďmQä(CR UýŐ9.34Ő©‚Â1áf%{ĺ8»kIhÁ¸"'‘‘#ŇMqIaüĂj0v %Š=,“'Yj.!˙ŔQŽŮĽ/^Ľ`’ Č0 ŕŢĆzq¨Ł.@ŇT‰ŞŤŕG˝¨„8ÝE±¤”Ă~@¶ ©đĚŰZťË?{ö”ëĹsߨĎü-ż±?!đČ1`ą,"Ú Â ‚҆®O)*üéĎ5¤&Cz�ttżßËŇť˘ äöI>ĐŕHHˇŹěÁ‰ÍÍMîOp>ćfćř8°ű– ľ%-‚PÎĘa”Ň‚.h ö‰ş>|)űŕ8|ڤřJčŔ®gâ– \Ą±nżˇ°ŠcU( …B1DÜĽ bâőö=Űw¸+őˇ„Olß˝q”ës§˙„ű~`m§‡´Ű}AďďÔhŮš±µ~đ´Kď~ĽO­ža˙wŽŃĘ?…¨ě —·/öŐŚKčŔÚ†ůáKúx«M77®Q·uH<ۤOěqĆLT鍳´Óî÷šôćĚ5ŞÓäö‘ˇŹü_Ç421ýĎüM{PÎŢěł‚SĘß�ěă?ř *›/·üÓ–µ1˙§ő‡Ö.¶×ś=_››»ôűż˙lOÂÎűřţÇĽÍâŇRĺna3Â>„]Žż…°žD. -=PÂŮ‚-›5×ö#lgŇ™„NÎ�`�»űŮł—ô™ĎĽMÍ_úš]¸E‡/wŮĆ­ĎÍÓµkkGŮ™ťˇx—Ç# őWżë”=aű...s;>ůäzüř1µ[Ü>ě÷Ť7ß°ă瀭Ľ(i†c›zR§Ň“y"=+jze!Âľóťďđv°·Ă~]Ť:Pţý÷ߣGö·ř E5úýôĎÁ)!÷ÂčRQŐ§¬î3Ή4)ÁgZL]Ďić"©rďLŁ „NŤßň=ěo”ďŘĎĚ˙ńý—żökż®Ä…Bqö@ެž}´¶ě÷ž5ú¶ş”´ÚÔhj6 ŐŁ™¤F3Í:Ýş1KýĂŞAŠŇ>×nQ„Yłő&<´Î lźnpáBľqnÎÖµj¨çííŰTűĽ5DoŢ"žűp¸GŃNŹćM“6î˝IŤn›­ŘŮŢaqÖ;đ™G±µk߼I-köÉĚÎѲ5Tçž*‰4˘P( …âŠÁ™7©“÷¶¶ľ]ʢňEUJť*Ěe&Ť„2îGYYˇDźó+ĚLQD8ńáЇӜťÚ©sÖc/"¸NEą$8Ôá(ÇoąĎáT‡ÚLŰ.Cš*(ÖŔ©/¤qö‹Ł$(ˇ~lŹĺ<ŮÖŮýpä?yň„÷ç@ąZTp$UÖËö˘О Ŕ`8F&×ř`TÉpě8nŽĺQFR� mh#ęE9,C0Ő—lż`ź îŕ8EťÁ Ô:Q�ú‡ÓµůYĐh3Ö�…í±Íś/Ćäž™Ř/Žĺ˛T`žÔ$ä$@Ζˇ.Iu†őčwěë±eřŕíěůi4ę´a_č­ŕ)ěôl0ʵ¶ťJüQĽjĐ÷—BqEpJ©ľRĘS¬:Bö;r\ŚŠm\=m*€aŐź=jooŇ’µ_fV­ŤbúôÁýŹ©Őí—H?'Ź“PCH­=ł·»KÍ™YjwşôěĹ!ěmŃă'O­ďżK[˝”Z}CK v=§Tudű*¶[ô§ń—ôăwţÚúţ÷*ËČ„UIo˶YŢÚˇ=˛QžśŽ8¨$qj8U©˘`ËÖš§ŇîW¤WsóŚ ]ܤťm(IîłR¶ăőţş-6 öŞ+e,¬py¶ŢDR#Ű—Ž ß§¸ćó˘Ŕ)ę•QEŞ\ŘÍß˙ţ÷éţłmě%˘FĎ bú(KŽ´ŰÎśµłaď3|ěĆýi|şb÷¶3+a‡ăď?piŰ(÷AŔŐLq®â(ˇf”ű+ j„őq۵ykÇZě;!ýc,đé§IG|řř1\ÖOSŽéÎ3·Hˇ pIČ]Úx0 ч¨š‹R%N3)ŮÇL¸ěDpŇÄźi=Ńż‰F†BR¨ýňʍţü…}üóŮŮą˙) ĹYÂ+ţDiBµ~L5k«&í>D’.đ1őc».iXĂĎ:”ăő[N݇·3q9Ă9}6,‰2ÉÇŽ5�ç)ąu—’ŤŰÖ[»J´·OĆÖm{Tłu,YGiÝ:G[vyĎzÖ¸Ez݆u×—xÖ&LÖš5"S–¤„‘šrÎÚÉČ« …BˇP(— p¦‚ďLÔ-x©'±ŁLëĹ˙łů"ŘG'çzwÎ;3t7'éä7Ů…?Ž�•TĽ8 @DCţ> ŘiŽY®žŔr śý ž ‚`<˘–#Ş\âÔI&@˝ŢČÔgDĹeđ@�@/’Š $¤ňÂłBfĂąŹň˘$„!ÁˇŇŽc¤ÝŘ7h7ęĹĚhŤĐ&bP/Ú‰ő¨OC©ďQűAycđýŔ€2’‚ d ¬žPŐGfsĐĆ+ö‡¶H›Dˇ(m¦ś"@fc{ ˇnÔ%ý€c¤ý8nl#d-l#$#”ç ţv 33ăÔ‹ęő׏ *$w) …Bˇ8ČŽ}bk˙Ä3¬6ol¨?đÇ]7.ş@.â4Â.ˇ>hI±KĹv#A­aÎt˘z ŃÜÓbGÜČ‚š‘ŁXµű qěÓ/é5š]Y§ß˙“oŃN§ĹŠ9żú7>Ołi›ľůţc[.ÎęK{AtéŮqꓨNOölP�ŤiŘńČceĂ~únŔ+ʶ#ÎqŻçŻŇäŐ•%¶źµźÓßüwţ&˝ţ«w¸Méar<lĐ;×h>ݱő×éý÷Đ?ýŻţ€~üŻjíÄ=nKżÓ=!%XŞű~J#*¦˛őä±=k<ŃÚĄšśńc›¤ś÷‡‘ëHľsBĆ( K‰'ţ™ľłÓÝř#fEPYoúyšb^Ó÷ĘrńQ82}ŹŹµĆiÉ]Z0¤.K?q)»čLůIě~aÇ˙Ýżűw™ őŢ{ď]hŰüú瓊Q8<<řçŕ’PQíGř'eŐÁ0ϰ2Ç!§©ř3 †€ÂőáßUť˛«đ¤†óěďüÎďüŁ˙ä?ůżţţ&…Bˇ8cŔ„“3E‰Ă±ĺ;Ö‘ąkČńü-ß{ťš čgz†3Ň3‰wkhĹZ!9F;ç§CÜ®'¨÷@nŇ`‡~˙lTîďQďÓO¨m7čŔ!kŰÇlj¶ WW( …Bˇ¸bpÄž”gL:’@¬s¤ !ý8DŮwF’‰&s$źLµ˘<fĽŻ ś±W˝~ÄĘ©a2ćŹwU]\ňn«”ľěĽ!Ž›|hD=ŽÇ+Ţ9LŔůŤńH5Íz‰-ř$(ń€(EÄy‚Č"PÁö ś,ŘńŐ¬ç`H9ŘŽőP5äŕµ×^Ł×_ťÉ9Ř?-¨ë±=ĆW’® ŚÍPö·±±‘)ěążˇpg1˘ĺB B}h+ČC’2 u˘!˙`{ŚŰDÉí–ö !G‚¨ýĄ!”áT¶ýX†ţÂ~°_Iń%ĘER7ʉŠĎLÓ+%µŚ „öq ç}Š:$°rhöYŕ_űÚ×8ŤĘ ńIHhWHšťťáý7›ŽäŐOűTł}¬÷°BˇP(#0ůpŕ »:ŠNx¶Â)ˇ`żds/űŃ“§´Ju¶×@ ˘8µľý>m={fí*ŘĄÉČşaŢÚXgŠú.@ Ş/Č�,ň¶k;ruLscí«Fc†÷9RIÁVsi´Ý'¶q Řý Ţ€řsp°O?úÁŹŘ&^ďŇü’=“Đwľý=úć7˙ÄÚ‚NÍ6 Ň»’ź€S•DQčěuűöÓËú´¬ÎrNäŇČÚcf{›d¬sćާDŽřăČ6ä•®ÜČ&ň B(/d"´)±ż…Ř#ŞYů>“ŚÄĂMKňunrX:őc”­#Ć㏷ŤkÜ)OŇvÇ*ŰsŚhôp>ĂI*ůF{˛×í?ý§˙4k«¤>*$Ö%“Żä·['ľ …âTp ą»śpKĘ©˝ĂĘG:3•řSEŇ™´\ÁO4¤\Ř)UËCşĄxnĹ×fVíüđěďý˝ż÷ź}éK_ţŹIˇP(Î ˘ýâMÝZw5č餞'jť°řô`tşÇr¶¶­QŘŞŐ)mX‡gRç¸R„ĽÄLÁčIĽˇÖGŐŐ™ĺť8ÖzĎ>ňvv)Úܦúa zvű”||Ű˝#?sF"»P˛Žs6z­·cąív‡˘ýš]íS6×ÇůAMÓÇí@ €›v˙ÇiCy˙gŤă¶_p%Fúç�Q( ĹŐD® ’9Ěh0Ő— ěLt¦<­î|RnDÄźŞaö4Äźęň'\—ţ*O‡ňńOąőy ‡í§Ľü˛Ř™ăÉ=…űFţ0ĺSÖoű'ńzD<Óh2ŮÎ(ż@Ń$C°\}D}Ni\@ Áúůą9žá 5!¦ <ĘŠs^3ľH:-”Áű <cŘn‡ö ť’ľK– ńGfÁ !éĹ (µ¸ ¨_¶“z°_´ ëq,ŘFęĂ~qĚŇ^Ô-A i»(’Î í1GŇśôăBß`{QíA<ÁÄ+˘á7xvěż^Ç•�i'¶ĹůĹ"©CžµBŠ‘ű˛>¨íĂ6˘´$)şÝ§a�ȵ©ĆçNŇT(ŻÎÇîP('ŤăÜÉĂnDÉ,ŞJóu‘{¦Ë« J؉ě÷¶čE{LoĄ‘±Y›ÍĆ~ú|ŹĚłź8މ'ĺüÉö&†ôÓŐjc—Ŕ“QŠHk#5çhkďĐĆ/Qá‰0Ţ^äď;6 a]+kWHć ÇĆ®LHđ€ýwăÖM^v-^Ąk‹«tkËĺUJă”nýÜMGŕoĚvĹŠ5Ý×h~ć:™Ą<%Yd7ż&ë˘â1®ÝšýĺČƆl\ö”ł¤cŚ‹öÇîŘăľáţ‹ŚS$Z\]˘íťmź‰yÂPDŽěť’\Ô@­ĆŹbwNťPfLQĺČ’šÖfGŮŞ4m“â¤QHXáÍ*äXđ¦ĄS…â4đŁýđ?‡„źźP`¦Jůg”(Myyůďq$ˇQ8Ňî4†‘‚&Y^ĺ" É>1夡pyťĆůŘj_űÚ×ţÇçĎ_~aiiń˙@ …BqJ( Eđź}˛¦µ”:5z¬Ő·ÎŰľ]ŃëPÔmSŇCŢa÷Řj[ăk×ęýµuZZ^ˇąz“ę]H~ö3ŐÄ©#[CĽfŤ˝şńyea,íÝ@uűYÜŢ·;¶ÎQ°öM—v©5 SëTގ„ś˛ë”|îsv``ťçŹÓľµŕ6í§}ئ~Ď=fMᆴN ĺ·WTJ0]VéčšzĽ Ž7¨VŇĎůC …BqŐ N%8ľr§XRp” 8Ë‚żťßŮŤ÷Ď%�Ç»,ŰcáďÉH?Ů–‘ß&¶ţäŢ…'Ň_•Ç?9ÎřSľ††Í„|ś™f'h„0b Tbć č“8˛ >¸—AAš«O>ů¤ .BŠ„@láDH. ϱ&|&„ß�Ę@IőÝľ}› + ÎHú+qHK{„Ľ#ę<řŤżAZ‘ŰBq$I-†ş° Že±?QőçăŹ?¦ű÷ďóߢ°#ÄËúú:]P‡¬CŰ„,„}Ł‘’LK’š u\ż~=K€¶`7¶E{�ô–Aé¨uآF˝Aë×ÖéÍ7ߤ›7} Ç·ůŤ7ŢČG2ëý‰óböô¨űµź$S޵ăX;~}řđS;6^âí®_ßČúř83Š …BˇP\%\\Ú”Č ůG~(¨ĺDqÁďŤ�ě"¨ü›Đ®µ?'›“©Űp=^AżĂńmÂLbËT`KăĺĎٸÂß˙űßŮ»ž<‡ Űϵ˲¨J"ýî\–m�ô™Ä©ďdG7‚ř35Ş?ö¸Ś#ţ`ÂtęR‰?kXńÇĆGpnČô¸eóö8‘â ł9}xäK1ť‘]j˘üü&±W÷ ™áţ–󆯆 ftÔŰĺDnłđú+L¦°ě”•\ş4(‚üŻÄĹi`gg÷żw„·\’ä#˘˘ŁMĘŚ"…ż«0íň#ă,R}Uąy&YVĄú*ýHGgŞŇ”“€@cÄ[gf}}í˙qppxÇ: ~• …â´Á1 k¬Ô¬QÓ°ÎŕfŤjĄČŚpk>ÂYÜďZĂË9Ű“„ĎŇ ÍŢşMłÖx4O_Rz¸ďË0Ţ0‹F?Ř˙ĆńĘŮ´´«R8v=¦ŢŁ'4Ó†»KíçĎ™ř[lÝć %Ö9‹`Śú¶Ţ®5­ó·Ëů‘#–©tFŁ;'u)~OŇ'hĚďÓ†–Ż&ŞřÇ …Bˇ¸l'’({¸śź.hτꨟM))«ý„çÄź|&íŮs<éĹ”~gMüÉÓN·¨čĚŞőŐqmr aą)_‘'â¬3îx'í÷¨ÔĐb˘é%ĂŤłăó.NaPŰŹwOpęÝšëSżC# šŇCŮoc(ďË‚¤şaçm•ż"ʤď‹Ć»žI&h›ěŢ}}RˇVw­BňlĎ$–Č…DYŞ<Pżyc*CH�I„VëY^ˇŤë´´¸ÄÎc‡ŽS@@iFČA…ž¨˛‘¨I /IWň–,#ĎŮÇ |Đ~lbO¨ÄŞ ˇIY€r®m•”e<Ö´c]8KuH0Ů} ’PH0Đö$Nř~E?¬Ůc@;›~˙ăO¬»J@öÁńc;‚Y [·Ě@®ů”c˘\”Ôb»żN±±qťű†ÓŤŐÎÂ…©P( …â˘ĂŮ›'—Ęč¤N.›öŤĆ%M’(úcěÚnw t”kŰÁnB"lANÍ:"ëtD˘Ô#ż)SPM,ŞŽ(Ă„ů4×S@, ‰±^”ó6WŹĺز7(×G†1WSEZl!ţ„iŞâ8°ĺěJÄ=Ě0u§c ‚Ż Î¦&ŚqĚĆĄóęQęĚ®ł2<9š))ÜFăĂĐĆowvמÉ”n—iq™RĘ,Q–JÝç8)ËOŕső.ŞčłPÓ#őÄw}Éq)' ű ü8#ä.>pHzT­ěţÉ@,Ż"�Ń—ť(Ž3j®"ďL»Ťü——ŁnfȲŞ'Öű× 3µđ4nüöo˙í˙č÷~ď_ţßíËĺk¤P(g�ĺ0®ëÖAş¸¸Ołť®›ˇjťťĂ6µé�¤ťF“j7oŃŚuľ&O‡El aâpŔÂ1Z·Ëë^ţ˝Śn»C»ĎźSçĺK~ŕőív/îß·F|‡ćí6pÖÖPŻuآÎä ¶ű=ě§´Źm®mĐĘ˝7hÁ¶Ó9R•đ P( …âňCś—.µ T,rç«aXZś»3ř§÷±EůµŞĚ™Ŕ9Wř{x«re’$“‘Ď@q<@Ţ0©))w‰g “ý'Îěq˝ !ú”‰@“‡áˇqÚ§X<î¦kŤî6+m2b{}%MűÝ-¨2żŁýsöMZr\š‘+ŁEUGDDŃ9Ůč’˘­°PZů&7YÁ;ĄŁÂfjÇQ ˘ “fb§‚ÓOł¶HĐ�d•7nd)ąđ-é˛ęµz¦Ăé·ę5?Éáh}(BIˇUč _§ÜS’&K¶ąwď«áŕY”oź«AáÄ6ŇVĘâŘ„Ô„ß ˇÔ)Ž}3ÔŚ°–X64=ˇĺ„(#JE�ꆒTP?ĆśP"‚şŹ{®yrúa~VWÖ($ŞIśnlRőßG«kktÝî[R±ő lŽ)ćÚčČcx^‰zSs¶Éä­FłA …BˇP(BT h*M¸ě˛ŕ"*T)ý„* 2 •h…řăĆ:©źdb ©S9˝S:śĽ!ńĚföËD‘Rěf,M™śýŢëôŮÎ8EP•ă‚Qšö3{——W‘K"ŔÍ”5}Jş|uD9'#§cT&B”‘¤\ş/4�IăâČ+Ď ,I×>]ţ«Ů±I-ŞąT`äIQ…I9g‡*§`ĆGéże\rŢä™°˝ĺ¶T©-Ëd‡ă¤(S(Ş`źCßW„‡=8tR˙;$ř„ź*ÇŰ(gܰ—ňQnÄ#߼§5]fÁ‡¦X’} S~I99)Ţ#š˝%0Ő)úŁ?úŁť˙ŕ?řű˙çôŹţó¨ä…Bq:đp)p„ZéěőÔhuhv~‰ęk¬X§4lksТt˙€ş»;Ô‡3óîŞY<µŽŰžgf÷çf¨·3ĎQÂĚŃ™¦Ť'Ř€ÂüŐ—(Zś'¤Âm™mņşóM6ćÓn›žwí0Ą…Ť jX‡mmfÖ uŕ0¶NV¨ţ´;]jĎ/RsuŤš)şşBÉL“e-µş‚iŻP( …Bq PvŞBí'Ç̰1´©řé§+ŠźŞĘa%N¸ŞvT•—oYW.7čdM3•Á˛ŁÉ92c.t¤%^a#$„ÇÂNč’.<®0mš”ű -9§±\·lÖ)D#qZĘţóóč†ű …`Ű*禴-üŰŐKL" Žegz±ŻMÖN7 6˘şu§Ý“zí=kLoSÔwŇöT›µ¶ú5ks»ÔK1+¦ÔX2žű‰IfQAŞßT}ű?*ćěĆ”Ý3y*řŰĎyĄâÍĚtÔ¦#«9E?­¸píżöÚk|킜őQd&3{%Ó,őű1áţO·ź%Řî¦Lj •t„řkOHD8vQîA_á·¤ĂĚpąľC"’ôťSşĆ$\źř "€ń$?PÚ"‹ÖVÖět–ŽtĽůs]AG 6ĺ –®_ŚäztâŻâUÎvW(ن-΄0žS>|Ś#oÝč\'3\]8;«Ćt(“~„dc|ú&WƧý˛ż÷˛mË㞪w‚…Ę€ť‡}H [ Ř‹±Ż«ŃhR§Ť¶ôłvV‘}Âu�%ź?ÎőŐëž\â‰?°Ea?şvąđěTw)g!ČŽ%ŘÇc‰µ21Ž˝:NĚĘEĺ}LiźĎ‹¤"đOznÄăÔĎ>^’+ú,…[¸¬*myß§{«šĽpÖ¨TŽň÷ “×T–f㛳˙*®.@úG\r„pGpsČŔłJő‡‚ueŇOUą2&Yv*Żâă¦óŕToSöyQĹß‚*Ĺź8(Ső7.ú'˙䟼ü裏ţŹ˙üź˙˙±¦ýR(' ÉËZk~–ćŢ~›ú7¨vص†­ ¬ bźV54h‚„łłCÝšuj߸FfiZ­ik«˝qŹ¨ÓĄF»E1獩_ŻQ)Áě÷lÍîĂ:¶űÖľ_Oéĺ­5ęÎŰÇąu΂…žîľAukĽ7oߢćŇ2™š-k^©uG]kđŰ6ÔmđdÁŰŤ•UZ|űłÔظFŇŮöpş’Ź€ …BˇP\^˛Mg8î)Ф"ä@śVáGÚ#ß!I&› Yhw\"٤^HĽ©yéř2GÚ ˛@¸�Ž`HČP Î6I%�H,…ŮťA]přĘ,<.ŕD†2‡8î¤lŮů§3ÖI$!IJ6qôˇ ¬–™)7u2•“0U>Ö<„ú°?@RI;äYÓ. @ázî2ôv™un?~üö7źí>ٍłĎNáxf‰âŐ;4żv•Rf`—{śL)&tl)|<á1ź%L3 „Ěkň#ů˙·w/ˇŇ¤÷}ÇźŞľź>·÷Ťćť™L6±°#¤…6Q0Y(2!qoD6ˇMŔ!‹,Ä… ‘A«$«lC6Yx•E ™’Ř’ÁŘ Śl„„Ť¬yçú^Ďýś®ňó{.ŐO×éîSݧű\żźáLwWUWW_ß§žúŐ˙™Ö9Ű´ĂÖ‡tüµôńĘĐ˝ףπÎZŽCXĹĎ}ş˝EzĆđ‚Áźyí|N+ҡĆáźx`Ĺý?,ç76ý,ësŞçKâô8,—¦éuQUžôěŘřXéď•Öłą9t·ő™W埯|ĺ+ť¨Ş%©rR§†(¦‡u†€Lr°kňvŇ>[±R[Ćľ)��ĘÎĚüöNz†=V/¶í.R?ŃŁL¦«ŠŽŔ´&Yu‚nňx“+MÚiŐ™*ćĚŘ{ů¶#űćůłg®j«Ńţ›k˙ĺ­sű¬q›b<ýĄi?˙ůĎÍďţ§ß5yËďşeCđçÍ7ß4ßüć7ͬç> ÇOŞgŤ+źf‹¶Ő—9*íö7 W‘5ľ¶…)ëD‘Üż~®ÚkUĂ´4§v?đ´ô˸ýŰj‹ŻÎřs3Y™wrž™Ř·Hű ®;@3/řS?*îŰÄľŕ˛4Ľ×oţć?ú×ď˝÷ŢžńC{)3C?ń/Vý‰‹Tü©__E¸çR˝ë {VŔgÚ2ÓB?őöHý•ô4Â|Ę´H˝}}˝±ůäÉ“±ąąőO �\VřeŞš÷j¸Š?3x-7Ĺî+¦sf…şŇâ-ĐŘ· >ýÔ6şíÁ€Ý “ şľ4{·g†ˇi·Ú¦§39ŐrśĚť=ÜRČ6ÜĎěÁťđâäĐnŮ C{ Ĺv€w7†fxR^`zŻľjÚĂM{˙Ü:ö�Ffśř’ßüöĆŔô_yhZţ ÎRkâ‘ Şţ��€[l\ ÇLVţÓF¶sU–QGm1ôöĺÔGU‡ îVŚÔĺ;Đ\yór˛‚Žî+é¨őT„łń\Ĺ!e™ťiŕ%v¤jÍŹA‰t]ÚWéFۡęEŁŃŮDźÎřÝh-[¦ă~˛,ś:ůWŚJŰŮkŰ”űîµŃv)`ĐjuÜĽŃYaNĆqUküŮš Äč5Sh(žˇ§çtrrV=7­ë4yMÝźÝUžÜ{ůŇu:+¤ŕ^çd9M׺őśó‡¶-ÜkąmĐşö]ŔľŰíŰeKs|tě*cf!0ŕ:Ëq%˘*řcŰËşßÖVáŢźZŠ 74oxÍu©€î÷ěŮs·.Ív;fłm;ĎŹl»űů3sđä‰é>7­S_ńgtb?šVg`Š­M“©2ŠmË»Îá‘:4céř´JŽIK±$›¸śY\ŞŰgAUć¦b gîĎ?×zs– *ą T#”RĐĘďVĹ!ĄB%źđyŠďY|Ěé•°˛‰pRúÎŞ0•†Čâ˙ൕIĂ<±ň•ľC±úNúÜŇżú:ҰOŢK×c(-}>i…­4 ¨Ďî,ő3¶Ó×J!?UJ·5˝tŻ»i8¬×<!ŘŁµŽÂëxn¸/ż ńŻE Kf¦ÝiąKŔ}tˇO�7Ěś0OÚžś*ŻŽF¦ÍKş|W* rËôO˛$÷Ă%~şö\;:ě;Mśč‘ĺëËłl˛gć+pşö“B,a[Jígşýžě\˙áá[6VV‰m≶`Úž+řŮĎ~fţ˙ü_Ű^=ńŐrĚ8řóĄ/}É|ăߨwGÎăI.Ú7Ş^ŽŇŹŠŕ+Ôu(hëeÓ7á«Čú—©a&lżJKęŘŤŰ7 ëď”§ćHC<Ź 7śZ;7ąĘ–iurC‘ź ÄL ţřĎÄY¨~|ý•sćŇ SŐľYNŬĆŢŢŢyřđÁ0ţËŻłá¦…~ŇŠ>Ó¦ĄQz»>˝>Í̶¶Fţ*‚?Ó=ËŢgVČ„Űq/S›ĺĆĚ ň0¬«űđáĂ˙ă˙ř'żú«żöŻěíĺęŔj(l‡ŻéÚËHĺ!ýtşî€Ń©ý;8Ř7Çĺ±)üŁ­­m3ÜÜ6u‡3ÝŽXÎÖ´ŤęÓ“cWNóăŹ?6{Ďź»FŞ:kw<0[»̨mŘtz®Ó9kűW]5úíw@9ţŐ°dyÚq��p'řýđLŤ0ý•#_1"„ZíĚś›§O?6ű{{.čŁ�öÎîŽk“ąŠ6§gnúčĚvžŞóɸLQúQěm«B†ý‹ŐG&†¨˛ ËĽ|ńÂm•†×ét»ľDw¨ľˇë/_ľtm¶8Î3ŰĆÓc©Ť7´ć7íĄ:K×Cš™n·3QŰ˙ŤĂHń¬L«i($´Űl»2»Žđ犖gZ¦çoŰNĹĂĂSWHŻ…ÖshźÇÓ'OĚ‘˝ť‡j#.đäž÷sĐH«ćÄ€F /h=Z_ ţ¨]j;bܶéyk˝˝~ßôű›¦m·EŻůÉńČěďŰ÷¬evvr÷~<{¶çî+ĹŠI#×Ö-Ăkĺ«ů`RáÚżz|…çâĐöęµm‡Râj»?zôČ˝îŹě¶wg{ŰĽ˛µaz›]“Űvx۶Çöµz°ąeنű”ťä]łgŻuěüÜÎĎ\9űľ;[×u—>Ě#“CdŐ+ Ś/ËÚŇWŘ7†/B'sŐŻ•c&ď‘•Ć,×=äĹŠP Ůą÷e{gŰWЎ P[żŞűř÷~\5+~Üw!lo|ă ń`J ë¤C…Ĺ+ńsűřńćÉ“OÝgÎ ÷‚+ip(~4L×[o˝e¶·wěĽqĐ'}l=ĎX5+~văA­_źSŃP zţńąÔ+ňč/~ÇŇę>őđNúş¤—Ó¤UÁüJĚĺ+í„G&ís?ŇöOÁČ,üfůÇgĽ‡ŕOżß3ۻۦg��Ŕb\K 3‹WSÁRęAźY‡‰Kż¤ń-.ĄeŠp4śÔ‘ů9Ú—…aŚ3»_Ôn·Üţź*ú¸ŔŽńmv!Oö#Ň€Ńäţoâ—sۆšă÷qýóQUźđżŞł†ĐP˸mŐ<U©umş°[ miçm$waňpô× ÍëĎ„ń .’DË ł¸ń ]Eî÷©µ öËmA+ĽN…žÇ őíď¶Ű§.Ô^5ůµ|[9 ŻďôaČc€¶=îÄé×iŃŕOŰľŢíQ›ŕ.ăđĎ˙üĎţíżřĹ˙iüŻ‘ÎÄSč§ńWý3ř©O3ÉmcfwŮ,óŻďĄ˙Ĺ^gĹ©÷úÔ=Ů—fĆő-Ěů°OĽťľŕńşÂ?Jsőíţ?ľýío˙ŃŰożýĎúýÁ?6�°„é] ľaîç:¶2Ę«Ć«ďµ x{` nŘÎŢ#sxzlmÇö PÇqú¶łŰt{ač–É’ßz7Äšj4·»¦7Ü´Ěö€ídîę@’=xŃlŮĆjÇźŤ®ź¶dÉyšé?jTĄgOfé_ýß1��€Ű`Ľ^V 8ݸ6ŽúÇNmloď…y¦ŇçŁ3wĐ~°ˇË…ŮßéN»*$§¶‡ŕĐv˛ťeCyUÁźp0>7TmE8�ŻőĽxń2LUîŘMÓşěŃ2űű‡a+_Hn|(ŔďúúÓ U$o䆑2&)“=J(vÎĆŽËWrŐôçş-ó¶ Ôi»öĄţôľŇ‰B Gn[uůňĺľŰvµSµݧ(NíÝŹŞí’x†^:Ä–<űm Ő“´>˙Ľ7ÜcąőžťîąëzQd®Ň‘»î*ťŮ÷mßľo/&*°¤‹4|ĄIű{îö‹{.@Żűůmőa ˙:Úçxŕ‡ř:¶ĎűčH§}Ó·oůČţO•7ۡrfĎnkż;'s7@|«°ŻˇýËôŮ(ÇŘ®ÚR–ť ¬TeâguČĆ ĐU+KS?ŕŞ*…ÍńŽÉ®ž´Ó¦š–„hš=ě8$ă]§&ßËÍ©ýÜh_Fg~¦C[qč»ř)ĘÉĎA\źľN'DŘ˙bhGâ2®ęjţ¤CÇů MÇ~Ö^šŹ>úĐ<~üŘÓö÷÷'†ş‹ˇ…Ůô˘°™Nćh»0˛ę±t}ö´ ú.hą‚QHËřÚ‰yň䉻­éZݦÇaôüP]›ŐĐzn8®�J‡Ú>­+ż‡éxZw¬ž4mČA˙ކŔU69<aúľĹŞ`Yzöy _%!¬Ünź*˝xţÜ<{úÔ=O˝&ńó?zOuéĂ;ćodo™ůnxŹZ¸O¨ř`Z׬?¶Ú˘aˇ©ż7ż2M~®'*R“Ľ®ÔO¸+gŽOȲq<ȇ¤&?µm©§Uű¸ŚíőúvťŰŠÉČĘĽPXş.=ž|ţóź7żó;˙Ü ›˛Ě·ťăIé>ŽN°Ńčú«Őv,ó!]&Í6î#Hü±Z© ÇGŠPu)«UuSt|ŶEłňjżZeRmX‡·ă~A=ôź~ľŞŕO ŕ_ŁYÁb‡?ňOjŠ},qżXÔŃŃá{çťwţă÷ż˙ýŹŚ˙Ň«łę$\ŹŐ~âő4Ř“†~Ň0P”,­_źwYż>íöJ­*ř3íß”&óęËÔ/Í”ëĆLV˙™ţÉ´‘™|l]?ÓűöŤ˙Đţý›wß}÷ż˙úŻ˙˝Újĺ_6�î˝ô¸»Ú Ťá|els&q 5PÔ9?öâĚ.4ÚšěŃgMÖłpždÎŽLqfž{ćô“OĚíČÖ٢›ęÜTŁ'ÔÂĚu†wÖ6;ĂmÓî¸L‘¦.őoďłoú†öńt~±†XĐf¨ŃťŐDŤMłÚ/tü ®W´��¸]\ě'”îöŕ[!tRÓŃYuŔ]:ŕŚÇîúÓ4ö÷ĎěýZîŔľ?»q<î| ߤC`ŤĂ7Yu0]ťY:ŘŻeZig­ÖQmYşmІŁŃîäđF (ÜegUu×9ÜwBĄ"ŃĽx{\5hÜń¦đ€‚J (0ŕ‡kUŻ—ÖëAĺDE”Xb\·ŠëŚŻKÚ±«—¤Wâ|ń‘ !ĹđTܶŘ:~Ţ“ďQ|,mC|?bő”x—KßçÓÓ3×*n‡í°Ż¤«VRßŃ}Öî›2—L­#߯χŞę—őŔĎŤîŘĚÎÇ–Î/’Mť?ۉďc¦!ŽíţŤ*˙¨ňŤ*Â(�§ůnȶŁcspxŕ†4vź×P!5[â°töłúĆëo¸y~řaćlą÷;íôŹź%}ţbFźUiő»Ź¦u*¨˘�Ö?OiČ/V°ŇoO5t ýĽxńÂüň—ż¬Â<±Â~ ´]ňúëŻWß|áSŰ+ş­őżňĘ+n9ÝWú®J–˙‹ßÝOŰ®u˝öÚkUČPëřĹ/~á–ŃYŮZ·¶CĎ'†šęŻK§ŐqŻżűŽ˙=,“ď–Ë}żÜ 'ă$ń{Ą÷5~ĎT9ě#ű|ß˙}·Oź>őë ßww0¦W {ăÍ7L«Órżţ}#ř�÷ÝuânZ;Íjř7eěŃťţÚÄľíyG!±Zó>3éPŻqŮYËűP»?‘%ÝßQűëđȇą3ź^qďóů<ĚdJ%«čhü‰Ű©}Ů?ů“?m»V•YŇĽ­­ó…/|aâůŤ÷|pĆokřĽ–óm¶ĺ†©bíđ'k»ˇ–˶»ôU“ňxĆŚÉíÁý©¦R<÷áZ~ ’+­U˙=śř]0ÍÎ_§*!AĐ—dŹŤţč÷˙˙ýçŻ}íkhĆÁ…~tĆNä©~ҡƜýÔN»>-ě3KąäĽĆÖ]ńgšYˇžyóÓŔO=ü3íw+†~bŹŔhĘşÔC˘S{öđ#{ů‡ďľűîßůň—˙îoŮ´~Ă�¸×ęiĂĺ×…�>5®†iˇ_¦ľíü|°ką=Pš|?4ômGí©=8p¬3Ľíí3ťÁşhNö|)tťťiöęݰĘýÁĐ®«k×Q¸Nh b00>…®ł`KW‚2sCT꿼ç~EKŞý��€[l\mĹŹü”UĂK{@Y•dÎÎĘP@şg›eţ€ř ?´·ű.ŕŃíěÂ-WfzÔ±W‹S»LË 7†nČ©Qr :wĂ[µ2Wý"rK-Ş~ßWěpaŇ÷!¨úĹ`ŕ+q´ZY¨ĚŃ ‘®}ßáXť­—ů˛ăE™»Î_7ČQá;U«aŤB©ôŞyçÚ}eRö»tŻËýŘéťnŰ Jm=t»q[ôÜüvëvś§űčůąJ>1Ô`_ uúşŕOAh}Eĺ!T 1!.`3¸ůşźëXµł´^mŁ*2Ĺ×FĂýřΉëlÖsďő:¦› Zˇ#<íät0CĐI÷×}ŞŞ@ z„pA¬˘Ę&gŁ33ÜsR ˇkߣ0Rnź×pÓŚT­óŘvzľMŮÝ0­á–iŮφ}AMˇłŤŞHĎCĺŤ2S$•Pâ˙bYýńĺÍQÎř‹¦źµéć¸3KÇ«9�*ß?™_šĄ°”†DV(DĂkiąž}źüĐű§@‹vÔ?ý¦Ď›6 č CKÁ•>ř šŻ÷\—1”żźń·BówvvÜ>VâKËO«öď§Ď¦SŰ­y1¦ÇĐ4|´­7†čbP)‡ŇŞ:ş= ß7Ń}cŐ=ž¶-~·\e#»\L÷sŻťńA…Ů´=šöé§źşőhůř.L*ĄU´ôk˘á$–lb™P…)VúŠAź&Ôm=–¶!ů§×IĎ'†©ü÷SaÂţ)Ü2ŞŠ«í}đđA¨~Ä_¸_8Ü ×ú]śňĐiĹ7TS¬řS.°Ş›ś¸…˛ŞŤoOo/Ź?KɰşŞZN€Ňj±˝u. äöĆŹ[ěçÎńť}sa?üáÍźţäÇîůžś„öxîőW~ĺsć»ßýnµlÜöĎ_¸a´OOÎέoü|šžĺC»ÄńűĐ™ń™óŘw»ÓȶAs{˝ůmťÚ=»“‘Ű?vC­µüI?Wů‹PňUítÔ¬âŹŰöpÎu›7ÔW|.iĹź0Łâš°ź•˙őŁýđż&ý錺iU~ŇJٰŠYŐ~Ś™ě©_7S®›†ó×j•Áźi!žYóf…{¦-sQř'ľYiŐźt]ůśőčÍW/‰zÚ1�ôöŰo˙»o}ë[˙ŃŁ7ľB őHBéŽń Żţr'łÂ©e%Ë)}µ~Z,ůď;gÇĄ˙]÷łíŁÖuŔÁ5ŠpżB ${Ŕ#oŮ/íě,íž=`;Ç[I)ÇËŠ˙ЧŤ™4±\o§÷«ž§žGô tvéÎFěÚŰá:´ŻćŕAĽ· ËL4ç<ťu‚vzf¨a¶ěú4¬ÖEĺ5W”†:Ó3Ű5˝ĚvPo ýLűš™í¬lř3Ěm#gďÉóÉăܢ{¶“TŤĽműxoľő–Ůyő3&ßŢ4öĹ÷Ť¤V^Uńń˛…Â:�ŐŃ٢››îu9łWz¶ˇŰ.Žť[făłµ±˝íČ¨Ł˝ĺ†?Ë}CÚÄňĄe(Ź™ĽőU¦€µăó¶jţ O»:ă;=č»Jî śÚŮň^Ű Ďt�ÉţŰd˙ܡC®Ź/3W%Ŕ„łéeµÓśŐ~ÚĂÇdÚĎ=űĄËóÁ…l˘C+˛č"µ/‡×qĘĂ}3«Zżť´K]˘OWűs|©öhsŚr¨°mĐ"AŽ‘ŐözËvĆĺ¶-4ŇÁçÜô3ŰβżýN×°VU U«čúvdqęľ˙.¤ŇŮ2źyĄměŽÜď„.$ űö¶]`DźIm›K—ăˇtBĂ8VBÉĆCKĄâč(„\G·Ăr1ÔŁđŚ~“şö7RU_ľ°ťŁö>úÍÔs„ÜD}{@˙¬p­KQąńV«]U*Ńó,yÁcĺŚÜU¬ńçĎ”&{Úî·˛L ą;qSĂĺfgwłš§×C·Ý:[­ę·<V¶ńŰâ§év¬0ä–IÂ6ő6|ŐŢW°Ç oćC3ÇÇűö µĚîM×Y¬ÎĺŃH[vÚVfpa2Ľ®1•gŐg.V(‰ŰCńŁđÜ:!ô# @(¬á+ő»öutíËvfúź}Ýä›Ű¶'aßdv;ÜďV·oĚ`Ë.cŰóv{ÎZmWaIűOą:†smŹ:hĂyKٸ}?;—s\]ŹQ­o«ÇwŞ]ڬŢ}Sž_EYVĎÍ KĄ�™ý^ö{}Óëúę4Y貉żő­ĽpßQU3ŐnĎź>w«sUrÚľbĚ_üĹ_ş÷ôŃŁGf`żGa-JbĹ&Qµ&?DÝžîKŹŁďŠŢ W pŃńń‰[—ľ# •ĺ‰[ŹÚ-ńß…M67·Ür››ĄyőŐĽ Űą26n{u?='=îÁÁař‰ČBu±Łęńý÷µcźÓ†»üĚgŽÜ}üóąď´Ö«uj~§ăC4[[Ł0 ˙,é5ŃĺłgOÝóĐöhš‚Ez vvv]°ćý÷»íxőŐWÝo„†"óA©‘˝ďsráÇÚĐ_ ÚéwćřěÄ­GCti;ĆŃ÷ißľćşA…´ÍĎžů@‘§×Ëܲzť÷÷Üďßnăžçîî÷š*ô¤ —î§ílôðľ’+®CŰ[o«ëq]°(|>bŕ(m¸ß^÷]îˇý =9ką>ڶ†ÚÖá/oűáşu™µ|;ŃQ¦DbVí_ĎĽś8ť~Ľ•á§ĺ|[†6ă•XwűrĂv`Vż~ÉoĄĆßĎ2ü”ĆaăĽń°„ăżbb9íŰ�¸ßfUdq-(ý{ăÎ2 Çlß‹†`ŇP™î‡'óÇ/łĐŻ›M¤®íľKëص6:¦kűŁmŰŽŘÜ1‡»Gn}ů’ŤĎNa×kŰ!CŰćĐĺîˇmÓă}�·ý™Ż`ŻŰ[;}ła—Ý,:¶Ť˙Ŕţ›Űaç¨7ĘSłi—nŘ}ĂS»üîľéş@I˙Wwď—íŘ}žáöŽÉ‡Űf{gßěÚĹGYű\ź˙ćΖێíüÄmÇY6Hćş’ÍlőyĺÄóŤűĹőY<QdÜoT}ßŇVĘq?VîŰŐşĂÎçdđgňńęďiśÝ´Y˘öá“OÝľáń‰Ż8¤ýgµżműWűÓyŘŚÁźÍ­MS<ř›ć`¨vfö|x'ŹĎľXŕĂ–Ĺ!˝‡L+uĽßľX#ŤQŹS´Ôa”ů“děëÚŮçVčÄŰ·ËőĘp˛@V„u\˝ęd٤O5ݧ–x©~…Qć_§z->qąędڤ*ń˛†=‡*Î’a‹'tóýĄoç}Âń–©óú˙eŰ—¸U÷ůŕ÷˙Ď~đ˙ýÎ;ď|lĆ9}ŕŹÍäp&iđ§L–-j·ŤY,ôS˙6}Ö2Ó¬ěgeŐÝß« ˙Ě»4fvř'K.ëۑצĄ÷…ůjQtěĺCű÷{öúď}ő«_ÝúÎwľó·?÷ąĎýÚööö߲>oŮ/î#ű…Wë©oŘUŕ$żýő«™Op;d…űńm«óŰvL¶‡[fÔóŤ…”lWŞÉl§Ą=äaŽŐQm;cź}ř‘ůđŻţĘu¶vmg­©c´gÓ:HŐRŁBŤĽĽ¬:ŘÝí,îÔĄ;vfňôÜó¸„ôW��ŕÚů ‘ĎĄř0» ńę¨QĐÇďűđŚŻŕáćzf~˝Öľš·dň¤óZ§—:ë:Uđ¦u¦ĐIßuęůj6]צK;y …Şg8îŇAB=׉öźďÓňg4šx`1&[ńľľs6­<ŁęEÝV˝Ë kV©ę…ÎÉXĹEòv¨D¤ˇlO\¨Űë„ŔĹF5dRzFl<đ§Ç R:¤S¬cB +Ëşśzé_?ěRËwŢŮ×Irű~Óľ’W>Ȥ˝ ÓęöM©!Ěô| ^r•“\·ôČŚ ˙^Ťß™ě\mvA/áUźm>®ž”&·{â v˛Śď8ŹźĄY®'źŻ{ę§ö}oéµo·Şať‡‡ĘÂű)qZüÇKť€çëľ1¨+ţčö` jU›&VŢŮ÷÷(TZmąę\®kąď¤¶Cóu[ěk…Ď_î'ž©OdQÚoÇiUĺ¦,c°>—Ć}ţĆŃĐ[ş˙ţţžűŤJ·]^{íłîŇmć‡S•mżâéOۨˇĘb…MóĄvîŃýő–ĹĘB''Ç~;74˘,hH5…‹b˘2jB•Ęü÷ʶâç#wòŤÜsŐ6ů HY¨ldĚÇÝcčµŐkŇëő]đg8ܨ*:Ť4T^đŞ?˙��Ü5ősXĄúáNSkÇË4ÜŰÔľÚL˝]1\śçÉÉĎŐÉ—“ždÝÄ׿ţć·ű·|EVCÝ~=Ú7ŰÚÜr$‰ű_®jî`ËdÝaĄťŃ‘PdţY´žsě-Sń'ě…)đVhđćřšç>Ň•·Ă#÷|:g]wŚĄ·aŰŕj˙Ú}BU€ŠsŐJă«pfîD¨‘˙Ľ„“bŔ¸  ÇŕO¨�ÚZÉ— ™üq»EŘ?.C‰?DŰ>ńśpéĂrd?ĎíÇć»ú »Żűłźţô§ö˝ď}ď'ď˝÷ŢËd9ýz¨Ŕˉ9橇|Ň€O= 4/č3+ô3/ t-ˇYÇ7'[`ެŰM./š–'ÓŇŰů”iőĺÔ+Ô —-s>04ëqŤ™_“n™×›_7�����������p]– ŞĚ»OQ[î˘@Í(üťšé}J3;4m™yŹ»Lč§Éí¦ó¶®Pɲ់6ł.gM«zL¸Ěg,S_.^¶’żtz=ô“ŢĎ4ś> a�����������pÓ,Z)NO9qţ(ů+j÷›U˝'­ř3o9cV[áçÚB?˛Î€ÉU‡âĺĽPZőÇóáťiÁźě‚őçµíťőĽ›ľÖ„~�����������ŔMŐ4ĽRΙžÎ+jËĎz«čIç×çŐC?óÖżČĺĽëÓn7ť·´¶YźtPˋ楷ăÍ’ééeÝEóSEmůtą™ţćN ţÔ·ÝLY6ťf Á�����������pű-ü™Ž™üIçÍ ţ¤·ë×gý™ .ç|ć=Źy·›Î»”«™,[ů'˝˝Ę*@M˙ꏛ7¸Ţd{/Bđ�����������ÜT— ţL›V4¸^é4ů3fuŐ}ndčG®*d˛Hř§>í˛ˇźi—Ó‚;M‡řšµŢ‹¶ą~}Â?�����������ŕ¦Y4ôsŃő‹B7 ů•^¦×Ë]λ>oZ“y+q•“lÁůMĂ?Ó¦-Z ( î4­ě3/Đ“™‹M!ü�����������nŠEB,ł2ó*ĺĚlV¸gZ…źe./šVż>í¶YpţJ\u¸dŐáźôú2 ™Uá'ťWź?kůYŹa¦Ě�����������¸kĘ ¦Ď Ű4 Í«�4í1š|šV'2sn›çŻĚu…Pú«IhŮŠ@ńz=Ô“ĎYnŢm3gľ™łl†�����������ŔUY&Ľ2/ôłHµźi·Ą˛Ě˘ˇžEŞü4ąÝtŢZ\gdťŐŇëMĂAůŚőäsÖ?/ř3kÚĽéM�����������«vŮŕĘEŐ~fM›ŕ‘b髬ěsc«ü¤nB€dŐŐŇëËĚĎŢď˘m›5­ÉĽË �����������fYW@eŃJ8Ó‚5MB:ËTîY$üÓävÓykwSB"‹d.b«~}™jA‹ÜwÚýf-c�����������pÓ-R §4Í*�ŐŻ—¦Ypç2Cy5 (5ťw%nZđdťŐVq˝Iđ§É´&ó������������nËVű©O»LČg™ëMn7ťwĄZććąLőźúíË\ź¦4ł“g„x�����������Ŕ}´LHfZЧÉp_óć­"đ3kZ“yWî&‡UVUý§~{Ńa–˝=kÚ"ó�����������nşE†úš5m‘ŰË–ąÝt޵ą‰RëŞţłČĽ&·�����������î«U¦M[GhÚíYӚ̻V7=ř#« ˙¬ăö"Ó������������îšrÉeVţYćö¬iMć]»Űü‘e†ĚşÎ€O“ĐÁ �����������pW¬3ü3mÚş?Mć_»Űü‰.[ýgÚ´U-sŃô¦ó�����������n«eĂ4Ë„}–]fÖ´&ón”Űü‘EĂ?ł¦/řYfúEó������������î’e‚5M§_6Üs'B?r?˛lUťu ßu~ ����������€«¶ŠĚ:+�-2mŢô¦óośŰü‘U†V9ý˘y«Ľ�����������ŔuX&$łÎ*@ËNo:˙FşÍÁÉ.±ĚŞ=‹wů�����������€»f‘đLąâyË~š.s#ÝöŕŹ\&üł®yË,�����������p×4 Ő¬:tŃĽE–ą±îBđ'Zg�¨Éü¦Ë¬óţ������������ëvٰĚ*9÷:đÝĄŕŹ¬Ş Ď:B>„z�����������Ŕ}±h°fÝa e–»ńîZđGV=×MŇ‹ �����������X•«ì:¤sďB?r?˛H(f]Ë®â~������������·Ő˛!›Eî·®eo…»ü‘eÂ6·iř.ÂD�����������`U®3łŽaÁVqźď.˘«�­úţ������������wÍeĂ7~jîCđG.ÄYW‡p�����������¸+Ö°ąĚzďtčGîKđGV´!°�����������°« ëÜůЏܧŕO´Žŕa �����������€Ĺ¬#śs/?Ń} ţDWÖ!����������� áÜ«ŔOtź?ˇ�����������€Űé^~"‚?“�����������Ül÷:ě“"ř3 �����������€›…ŔO Áźf�����������\-‚> řł<Â@������������«AČg ÖP�����������Ŕ$Â=+Fđçî l�����������š"„s������������nˇÜ�������������¸uţ�������������·Á������������ŕ"ř������������ÜB������������€[ŕ������������p ü������������n!‚?������������Ŕ-ô×ů7öt÷ťĐ����IEND®B`‚������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/scripts/������������������������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0016755�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/scripts/countries.json.in�������������������������������������������������0000664�0000000�0000000�00000567670�15234476640�0022315�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{"features":[ { "N": "Fiji", "I": "FJ", "C": [[[[180, -16.067], [180, -16.555], [179.364, -16.801], [178.725, -17.012], [178.597, -16.639], [179.097, -16.434], [179.414, -16.379], [180, -16.067]]], [[[178.126, -17.505], [178.374, -17.34], [178.718, -17.628], [178.553, -18.151], [177.933, -18.288], [177.381, -18.164], [177.285, -17.725], [177.671, -17.381], [178.126, -17.505]]], [[[-179.793, -16.021], [-179.917, -16.502], [-180, -16.555], [-180, -16.067], [-179.793, -16.021]]]] }, { "N": "Tanzania", "I": "TZ", "C": [[[[33.904, -0.95], [34.073, -1.06], [37.699, -3.097], [37.767, -3.677], [39.202, -4.677], [38.741, -5.909], [38.8, -6.476], [39.44, -6.84], [39.47, -7.1], [39.195, -7.704], [39.252, -8.008], [39.187, -8.486], [39.536, -9.112], [39.95, -10.098], [40.317, -10.317], [40.317, -10.317], [39.521, -10.897], [38.428, -11.285], [37.828, -11.269], [37.471, -11.569], [36.775, -11.595], [36.514, -11.721], [35.312, -11.439], [34.56, -11.52], [34.28, -10.16], [33.941, -9.694], [33.74, -9.417], [32.759, -9.231], [32.192, -8.93], [31.556, -8.762], [31.158, -8.595], [30.74, -8.34], [30.74, -8.34], [30.2, -7.08], [29.62, -6.52], [29.42, -5.94], [29.52, -5.42], [29.34, -4.5], [29.754, -4.452], [30.116, -4.09], [30.506, -3.569], [30.752, -3.359], [30.743, -3.034], [30.528, -2.808], [30.47, -2.414], [30.47, -2.414], [30.758, -2.287], [30.816, -1.699], [30.419, -1.135], [30.77, -1.015], [31.866, -1.027], [33.904, -0.95]]]] }, { "N": "Western Sahara", "I": "EH", "C": [[[[-8.666, 27.656], [-8.665, 27.589], [-8.684, 27.396], [-8.687, 25.881], [-11.969, 25.933], [-11.937, 23.375], [-12.874, 23.285], [-13.119, 22.771], [-12.929, 21.327], [-16.845, 21.333], [-17.063, 21], [-17.02, 21.422], [-17.003, 21.421], [-14.751, 21.501], [-14.631, 21.861], [-14.221, 22.31], [-13.891, 23.691], [-12.501, 24.77], [-12.031, 26.031], [-11.718, 26.104], [-11.393, 26.883], [-10.551, 26.991], [-10.189, 26.861], [-9.735, 26.861], [-9.413, 27.088], [-8.795, 27.121], [-8.818, 27.656], [-8.666, 27.656]]]] }, { "N": "Canada", "I": "CA", "C": [[[[-122.84, 49], [-122.974, 49.003], [-124.91, 49.985], [-125.625, 50.417], [-127.436, 50.831], [-127.993, 51.716], [-127.85, 52.33], [-129.13, 52.755], [-129.305, 53.562], [-130.515, 54.288], [-130.536, 54.803], [-130.536, 54.803], [-129.98, 55.285], [-130.008, 55.916], [-131.708, 56.552], [-132.73, 57.693], [-133.356, 58.41], [-134.271, 58.861], [-134.945, 59.271], [-135.476, 59.788], [-136.48, 59.464], [-137.452, 58.905], [-138.341, 59.562], [-139.039, 60], [-140.013, 60.277], [-140.998, 60.306], [-140.993, 66], [-140.986, 69.712], [-140.986, 69.712], [-139.121, 69.471], [-137.546, 68.99], [-136.504, 68.898], [-135.626, 69.315], [-134.415, 69.627], [-132.929, 69.505], [-131.431, 69.945], [-129.795, 70.194], [-129.108, 69.779], [-128.362, 70.013], [-128.138, 70.484], [-127.447, 70.377], [-125.756, 69.481], [-124.425, 70.158], [-124.29, 69.4], [-123.061, 69.564], [-122.683, 69.856], [-121.472, 69.798], [-119.943, 69.378], [-117.603, 69.011], [-116.226, 68.842], [-115.247, 68.906], [-113.898, 68.399], [-115.305, 67.903], [-113.497, 67.688], [-110.798, 67.806], [-109.946, 67.981], [-108.88, 67.381], [-107.792, 67.887], [-108.813, 68.312], [-108.167, 68.654], [-106.95, 68.7], [-106.15, 68.8], [-105.343, 68.561], [-104.338, 68.018], [-103.221, 68.098], [-101.454, 67.647], [-99.902, 67.806], [-98.443, 67.782], [-98.559, 68.404], [-97.669, 68.579], [-96.12, 68.239], [-96.126, 67.293], [-95.489, 68.091], [-94.685, 68.064], [-94.233, 69.069], [-95.304, 69.686], [-96.471, 70.09], [-96.391, 71.195], [-95.209, 71.921], [-93.89, 71.76], [-92.878, 71.319], [-91.52, 70.191], [-92.407, 69.7], [-90.547, 69.498], [-90.552, 68.475], [-89.215, 69.259], [-88.02, 68.615], [-88.317, 67.873], [-87.35, 67.199], [-86.306, 67.921], [-85.577, 68.785], [-85.522, 69.882], [-84.101, 69.805], [-82.623, 69.658], [-81.28, 69.162], [-81.22, 68.666], [-81.964, 68.133], [-81.259, 67.597], [-81.387, 67.111], [-83.345, 66.412], [-84.735, 66.257], [-85.769, 66.558], [-86.068, 66.056], [-87.031, 65.213], [-87.323, 64.776], [-88.483, 64.099], [-89.914, 64.033], [-90.704, 63.61], [-90.77, 62.96], [-91.933, 62.835], [-93.157, 62.025], [-94.242, 60.899], [-94.629, 60.11], [-94.685, 58.949], [-93.215, 58.782], [-92.765, 57.846], [-92.297, 57.087], [-90.898, 57.285], [-89.04, 56.852], [-88.04, 56.472], [-87.324, 55.999], [-86.071, 55.724], [-85.012, 55.303], [-83.361, 55.245], [-82.273, 55.148], [-82.436, 54.282], [-82.125, 53.277], [-81.401, 52.158], [-79.913, 51.208], [-79.143, 51.534], [-78.602, 52.562], [-79.124, 54.141], [-79.83, 54.668], [-78.229, 55.136], [-77.096, 55.837], [-76.541, 56.534], [-76.623, 57.203], [-77.302, 58.052], [-78.517, 58.805], [-77.337, 59.853], [-77.773, 60.758], [-78.107, 62.32], [-77.411, 62.551], [-75.696, 62.278], [-74.668, 62.181], [-73.84, 62.444], [-72.909, 62.105], [-71.677, 61.525], [-71.374, 61.137], [-69.59, 61.061], [-69.62, 60.221], [-69.288, 58.957], [-68.375, 58.801], [-67.65, 58.212], [-66.202, 58.767], [-65.245, 59.871], [-64.584, 60.336], [-63.805, 59.443], [-62.502, 58.167], [-61.397, 56.967], [-61.799, 56.339], [-60.469, 55.775], [-59.57, 55.204], [-57.975, 54.945], [-57.333, 54.627], [-56.937, 53.78], [-56.158, 53.647], [-55.756, 53.27], [-55.683, 52.147], [-56.409, 51.771], [-57.127, 51.42], [-58.775, 51.064], [-60.033, 50.243], [-61.724, 50.08], [-63.863, 50.291], [-65.363, 50.298], [-66.399, 50.229], [-67.236, 49.512], [-68.511, 49.068], [-69.954, 47.745], [-71.105, 46.822], [-70.255, 46.986], [-68.65, 48.3], [-66.552, 49.133], [-65.056, 49.233], [-64.171, 48.742], [-65.115, 48.071], [-64.799, 46.993], [-64.472, 46.238], [-63.173, 45.739], [-61.521, 45.884], [-60.518, 47.008], [-60.449, 46.283], [-59.803, 45.92], [-61.04, 45.265], [-63.255, 44.67], [-64.247, 44.266], [-65.364, 43.545], [-66.123, 43.619], [-66.162, 44.465], [-64.425, 45.292], [-66.026, 45.259], [-67.137, 45.138], [-67.791, 45.703], [-67.79, 47.066], [-68.234, 47.355], [-68.905, 47.185], [-69.237, 47.448], [-70, 46.693], [-70.305, 45.915], [-70.66, 45.46], [-71.085, 45.305], [-71.405, 45.255], [-71.505, 45.008], [-73.348, 45.007], [-74.867, 45], [-75.318, 44.816], [-76.375, 44.096], [-76.5, 44.018], [-76.82, 43.629], [-77.738, 43.629], [-78.72, 43.625], [-79.172, 43.466], [-79.01, 43.27], [-78.92, 42.965], [-78.939, 42.864], [-80.247, 42.366], [-81.278, 42.209], [-82.439, 41.675], [-82.69, 41.675], [-83.03, 41.833], [-83.142, 41.976], [-83.12, 42.08], [-82.9, 42.43], [-82.43, 42.98], [-82.138, 43.571], [-82.338, 44.44], [-82.551, 45.348], [-83.593, 45.817], [-83.47, 45.995], [-83.616, 46.117], [-83.891, 46.117], [-84.092, 46.275], [-84.142, 46.512], [-84.337, 46.409], [-84.605, 46.44], [-84.544, 46.539], [-84.779, 46.637], [-84.876, 46.9], [-85.652, 47.22], [-86.462, 47.553], [-87.44, 47.94], [-88.378, 48.303], [-89.273, 48.02], [-89.6, 48.01], [-90.83, 48.27], [-91.64, 48.14], [-92.61, 48.45], [-93.631, 48.609], [-94.329, 48.671], [-94.64, 48.84], [-94.818, 49.389], [-95.156, 49.384], [-95.159, 49], [-97.229, 49.001], [-100.65, 49], [-104.048, 49], [-107.05, 49], [-110.05, 49], [-113, 49], [-116.048, 49], [-117.031, 49], [-120, 49], [-122.84, 49]]], [[[-83.994, 62.453], [-83.25, 62.914], [-81.877, 62.905], [-81.898, 62.711], [-83.069, 62.159], [-83.775, 62.182], [-83.994, 62.453]]], [[[-79.776, 72.803], [-80.876, 73.333], [-80.834, 73.693], [-80.353, 73.76], [-78.064, 73.652], [-76.34, 73.103], [-76.251, 72.826], [-77.314, 72.856], [-78.392, 72.877], [-79.486, 72.742], [-79.776, 72.803]]], [[[-80.315, 62.086], [-79.929, 62.386], [-79.52, 62.364], [-79.266, 62.159], [-79.658, 61.633], [-80.1, 61.718], [-80.362, 62.016], [-80.315, 62.086]]], [[[-93.613, 74.98], [-94.157, 74.592], [-95.609, 74.667], [-96.821, 74.928], [-96.289, 75.378], [-94.851, 75.647], [-93.978, 75.296], [-93.613, 74.98]]], [[[-93.84, 77.52], [-94.296, 77.491], [-96.17, 77.555], [-96.436, 77.835], [-94.423, 77.82], [-93.721, 77.634], [-93.84, 77.52]]], [[[-96.754, 78.766], [-95.559, 78.418], [-95.83, 78.057], [-97.31, 77.851], [-98.124, 78.083], [-98.553, 78.458], [-98.632, 78.872], [-97.337, 78.832], [-96.754, 78.766]]], [[[-88.15, 74.392], [-89.765, 74.516], [-92.422, 74.838], [-92.768, 75.387], [-92.89, 75.883], [-93.894, 76.319], [-95.962, 76.441], [-97.121, 76.751], [-96.745, 77.161], [-94.684, 77.098], [-93.574, 76.776], [-91.605, 76.779], [-90.742, 76.45], [-90.97, 76.074], [-89.822, 75.848], [-89.187, 75.61], [-87.838, 75.566], [-86.379, 75.482], [-84.79, 75.699], [-82.753, 75.784], [-81.129, 75.714], [-80.058, 75.337], [-79.834, 74.923], [-80.458, 74.657], [-81.949, 74.442], [-83.229, 74.564], [-86.097, 74.41], [-88.15, 74.392]]], [[[-111.264, 78.153], [-109.854, 77.996], [-110.187, 77.697], [-112.051, 77.409], [-113.534, 77.732], [-112.725, 78.051], [-111.264, 78.153]]], [[[-110.964, 78.804], [-109.663, 78.602], [-110.881, 78.407], [-112.542, 78.408], [-112.526, 78.551], [-111.5, 78.85], [-110.964, 78.804]]], [[[-55.6, 51.317], [-56.134, 50.687], [-56.796, 49.812], [-56.143, 50.15], [-55.471, 49.936], [-55.822, 49.587], [-54.935, 49.313], [-54.474, 49.557], [-53.477, 49.249], [-53.786, 48.517], [-53.086, 48.688], [-52.959, 48.157], [-52.648, 47.536], [-53.069, 46.655], [-53.521, 46.618], [-54.179, 46.807], [-53.962, 47.625], [-54.24, 47.752], [-55.401, 46.885], [-55.997, 46.92], [-55.291, 47.39], [-56.251, 47.633], [-57.325, 47.573], [-59.266, 47.603], [-59.419, 47.899], [-58.797, 48.252], [-59.232, 48.523], [-58.392, 49.126], [-57.359, 50.718], [-56.739, 51.287], [-55.871, 51.632], [-55.407, 51.588], [-55.6, 51.317]]], [[[-83.883, 65.11], [-82.788, 64.767], [-81.642, 64.455], [-81.553, 63.98], [-80.817, 64.057], [-80.103, 63.726], [-80.991, 63.411], [-82.547, 63.652], [-83.109, 64.102], [-84.1, 63.57], [-85.523, 63.052], [-85.867, 63.637], [-87.222, 63.541], [-86.353, 64.036], [-86.225, 64.823], [-85.884, 65.739], [-85.161, 65.657], [-84.976, 65.218], [-84.464, 65.372], [-83.883, 65.11]]], [[[-78.771, 72.352], [-77.825, 72.75], [-75.606, 72.244], [-74.229, 71.767], [-74.099, 71.331], [-72.242, 71.557], [-71.2, 70.92], [-68.786, 70.525], [-67.915, 70.122], [-66.969, 69.186], [-68.805, 68.72], [-66.45, 68.067], [-64.862, 67.848], [-63.425, 66.928], [-61.852, 66.862], [-62.163, 66.16], [-63.918, 64.999], [-65.149, 65.426], [-66.721, 66.388], [-68.015, 66.263], [-68.141, 65.69], [-67.09, 65.108], [-65.732, 64.648], [-65.32, 64.383], [-64.669, 63.393], [-65.014, 62.674], [-66.275, 62.945], [-68.783, 63.746], [-67.37, 62.884], [-66.328, 62.28], [-66.166, 61.931], [-68.877, 62.33], [-71.023, 62.911], [-72.235, 63.398], [-71.886, 63.68], [-73.378, 64.194], [-74.834, 64.679], [-74.819, 64.389], [-77.71, 64.23], [-78.556, 64.573], [-77.897, 65.309], [-76.018, 65.327], [-73.96, 65.455], [-74.294, 65.812], [-73.945, 66.311], [-72.651, 67.285], [-72.926, 67.727], [-73.312, 68.069], [-74.843, 68.555], [-76.869, 68.895], [-76.229, 69.148], [-77.287, 69.77], [-78.169, 69.826], [-78.957, 70.167], [-79.492, 69.872], [-81.305, 69.743], [-84.945, 69.967], [-87.06, 70.26], [-88.682, 70.411], [-89.513, 70.762], [-88.468, 71.218], [-89.888, 71.223], [-90.205, 72.235], [-89.437, 73.129], [-88.408, 73.538], [-85.826, 73.804], [-86.562, 73.157], [-85.774, 72.534], [-84.85, 73.34], [-82.316, 73.751], [-80.6, 72.717], [-80.749, 72.062], [-78.771, 72.352]]], [[[-94.504, 74.135], [-92.42, 74.1], [-90.51, 73.857], [-92.004, 72.966], [-93.196, 72.772], [-94.269, 72.025], [-95.41, 72.062], [-96.034, 72.94], [-96.018, 73.437], [-95.496, 73.862], [-94.504, 74.135]]], [[[-122.855, 76.117], [-122.855, 76.117], [-121.158, 76.865], [-119.104, 77.512], [-117.57, 77.498], [-116.199, 77.645], [-116.336, 76.877], [-117.106, 76.53], [-118.04, 76.481], [-119.899, 76.053], [-121.5, 75.9], [-122.855, 76.117]]], [[[-132.71, 54.04], [-131.75, 54.12], [-132.049, 52.985], [-131.179, 52.18], [-131.578, 52.182], [-132.18, 52.64], [-132.55, 53.1], [-133.055, 53.411], [-133.24, 53.851], [-133.18, 54.17], [-132.71, 54.04]]], [[[-105.492, 79.302], [-103.529, 79.165], [-100.825, 78.8], [-100.06, 78.325], [-99.671, 77.908], [-101.304, 78.019], [-102.95, 78.343], [-105.176, 78.38], [-104.21, 78.677], [-105.42, 78.918], [-105.492, 79.302]]], [[[-123.51, 48.51], [-124.013, 48.371], [-125.655, 48.825], [-125.955, 49.18], [-126.85, 49.53], [-127.03, 49.815], [-128.059, 49.995], [-128.445, 50.539], [-128.358, 50.771], [-127.309, 50.553], [-126.695, 50.401], [-125.755, 50.295], [-125.415, 49.95], [-124.921, 49.475], [-123.923, 49.062], [-123.51, 48.51]]], [[[-121.538, 74.449], [-120.11, 74.241], [-117.556, 74.186], [-116.584, 73.896], [-115.511, 73.475], [-116.768, 73.223], [-119.22, 72.52], [-120.46, 71.82], [-120.46, 71.384], [-123.092, 70.902], [-123.62, 71.34], [-125.929, 71.869], [-125.5, 72.292], [-124.807, 73.023], [-123.94, 73.68], [-124.918, 74.293], [-121.538, 74.449]]], [[[-107.819, 75.846], [-106.929, 76.013], [-105.881, 75.969], [-105.705, 75.48], [-106.313, 75.005], [-109.7, 74.85], [-112.223, 74.417], [-113.744, 74.394], [-113.871, 74.72], [-111.794, 75.162], [-116.312, 75.043], [-117.71, 75.222], [-116.346, 76.199], [-115.405, 76.479], [-112.591, 76.141], [-110.814, 75.549], [-109.067, 75.473], [-110.497, 76.43], [-109.581, 76.794], [-108.549, 76.678], [-108.211, 76.202], [-107.819, 75.846]]], [[[-106.523, 73.076], [-105.402, 72.673], [-104.775, 71.698], [-104.465, 70.993], [-102.785, 70.498], [-100.981, 70.024], [-101.089, 69.584], [-102.731, 69.504], [-102.093, 69.12], [-102.43, 68.753], [-104.24, 68.91], [-105.96, 69.18], [-107.123, 69.119], [-109, 68.78], [-111.534, 68.63], [-113.313, 68.536], [-113.855, 69.007], [-115.22, 69.28], [-116.108, 69.168], [-117.34, 69.96], [-116.675, 70.067], [-115.131, 70.237], [-113.721, 70.192], [-112.416, 70.366], [-114.35, 70.6], [-116.487, 70.52], [-117.905, 70.541], [-118.432, 70.909], [-116.113, 71.309], [-117.656, 71.295], [-119.402, 71.559], [-118.563, 72.308], [-117.866, 72.706], [-115.189, 73.315], [-114.167, 73.121], [-114.666, 72.653], [-112.441, 72.955], [-111.05, 72.45], [-109.92, 72.961], [-109.007, 72.633], [-108.188, 71.651], [-107.686, 72.065], [-108.396, 73.09], [-107.516, 73.236], [-106.523, 73.076]]], [[[-100.438, 72.706], [-101.54, 73.36], [-100.356, 73.844], [-99.164, 73.633], [-97.38, 73.76], [-97.12, 73.47], [-98.054, 72.991], [-96.54, 72.56], [-96.72, 71.66], [-98.36, 71.273], [-99.323, 71.356], [-100.015, 71.738], [-102.5, 72.51], [-102.48, 72.83], [-100.438, 72.706]]], [[[-106.6, 73.6], [-105.26, 73.64], [-104.5, 73.42], [-105.38, 72.76], [-106.94, 73.46], [-106.6, 73.6]]], [[[-98.5, 76.72], [-97.736, 76.257], [-97.704, 75.743], [-98.16, 75], [-99.809, 74.897], [-100.884, 75.057], [-100.863, 75.641], [-102.502, 75.564], [-102.566, 76.337], [-101.49, 76.305], [-99.983, 76.646], [-98.577, 76.589], [-98.5, 76.72]]], [[[-96.016, 80.602], [-95.323, 80.907], [-94.298, 80.977], [-94.735, 81.206], [-92.41, 81.257], [-91.133, 80.723], [-89.45, 80.509], [-87.81, 80.32], [-87.02, 79.66], [-85.814, 79.337], [-87.188, 79.039], [-89.035, 78.287], [-90.804, 78.215], [-92.877, 78.343], [-93.951, 78.751], [-93.936, 79.114], [-93.145, 79.38], [-94.974, 79.372], [-96.076, 79.705], [-96.71, 80.158], [-96.016, 80.602]]], [[[-91.587, 81.894], [-90.1, 82.085], [-88.932, 82.118], [-86.97, 82.28], [-85.5, 82.652], [-84.26, 82.6], [-83.18, 82.32], [-82.42, 82.86], [-81.1, 83.02], [-79.307, 83.131], [-76.25, 83.172], [-75.719, 83.064], [-72.832, 83.233], [-70.666, 83.17], [-68.5, 83.106], [-65.827, 83.028], [-63.68, 82.9], [-61.85, 82.629], [-61.894, 82.362], [-64.334, 81.928], [-66.753, 81.725], [-67.658, 81.501], [-65.48, 81.507], [-67.84, 80.9], [-69.47, 80.617], [-71.18, 79.8], [-73.243, 79.634], [-73.88, 79.43], [-76.908, 79.323], [-75.529, 79.198], [-76.22, 79.019], [-75.393, 78.526], [-76.344, 78.183], [-77.889, 77.9], [-78.363, 77.509], [-79.76, 77.21], [-79.62, 76.983], [-77.911, 77.022], [-77.889, 76.778], [-80.561, 76.178], [-83.174, 76.454], [-86.112, 76.299], [-87.6, 76.42], [-89.491, 76.472], [-89.616, 76.952], [-87.767, 77.178], [-88.26, 77.9], [-87.65, 77.97], [-84.976, 77.539], [-86.34, 78.18], [-87.962, 78.372], [-87.152, 78.759], [-85.379, 78.997], [-85.095, 79.345], [-86.507, 79.736], [-86.932, 80.251], [-84.198, 80.208], [-83.409, 80.1], [-81.848, 80.464], [-84.1, 80.58], [-87.599, 80.516], [-89.367, 80.856], [-90.2, 81.26], [-91.368, 81.553], [-91.587, 81.894]]], [[[-75.216, 67.444], [-75.866, 67.149], [-76.987, 67.099], [-77.236, 67.588], [-76.812, 68.149], [-75.895, 68.287], [-75.115, 68.01], [-75.103, 67.582], [-75.216, 67.444]]], [[[-96.257, 69.49], [-95.648, 69.108], [-96.27, 68.757], [-97.617, 69.06], [-98.432, 68.951], [-99.797, 69.4], [-98.917, 69.71], [-98.218, 70.144], [-97.157, 69.86], [-96.557, 69.68], [-96.257, 69.49]]], [[[-64.519, 49.873], [-64.173, 49.957], [-62.858, 49.706], [-61.836, 49.289], [-61.806, 49.105], [-62.293, 49.087], [-63.589, 49.401], [-64.519, 49.873]]], [[[-64.015, 47.036], [-63.664, 46.55], [-62.939, 46.416], [-62.012, 46.443], [-62.504, 46.033], [-62.874, 45.968], [-64.143, 46.393], [-64.393, 46.727], [-64.015, 47.036]]]] }, { "N": "United States", "I": "US", "C": [[[[-155.402, 20.08], [-155.225, 19.993], [-155.062, 19.859], [-154.807, 19.509], [-154.831, 19.453], [-155.222, 19.24], [-155.542, 19.083], [-155.688, 18.916], [-155.937, 19.059], [-155.908, 19.339], [-156.073, 19.703], [-156.024, 19.814], [-155.85, 19.977], [-155.919, 20.174], [-155.861, 20.267], [-155.785, 20.249], [-155.402, 20.08]]], [[[-155.996, 20.764], [-156.079, 20.644], [-156.414, 20.572], [-156.587, 20.783], [-156.702, 20.864], [-156.711, 20.927], [-156.613, 21.012], [-156.257, 20.917], [-155.996, 20.764]]], [[[-156.758, 21.177], [-156.789, 21.069], [-157.325, 21.098], [-157.25, 21.22], [-156.758, 21.177]]], [[[-158.025, 21.717], [-157.942, 21.653], [-157.653, 21.322], [-157.707, 21.264], [-157.779, 21.277], [-158.127, 21.312], [-158.254, 21.539], [-158.293, 21.579], [-158.025, 21.717]]], [[[-159.366, 22.215], [-159.345, 21.982], [-159.464, 21.883], [-159.801, 22.065], [-159.749, 22.138], [-159.596, 22.236], [-159.366, 22.215]]], [[[-166.468, 60.384], [-165.674, 60.294], [-165.579, 59.91], [-166.193, 59.754], [-166.848, 59.941], [-167.455, 60.213], [-166.468, 60.384]]], [[[-153.229, 57.969], [-152.565, 57.901], [-152.141, 57.591], [-153.006, 57.116], [-154.005, 56.735], [-154.516, 56.993], [-154.671, 57.461], [-153.763, 57.817], [-153.229, 57.969]]], [[[-140.986, 69.712], [-140.986, 69.712], [-140.993, 66], [-140.998, 60.306], [-140.013, 60.277], [-139.039, 60], [-138.341, 59.562], [-137.452, 58.905], [-136.48, 59.464], [-135.476, 59.788], [-134.945, 59.271], [-134.271, 58.861], [-133.356, 58.41], [-132.73, 57.693], [-131.708, 56.552], [-130.008, 55.916], [-129.98, 55.285], [-130.536, 54.803], [-130.536, 54.803], [-130.536, 54.803], [-131.086, 55.179], [-131.967, 55.498], [-132.25, 56.37], [-133.539, 57.179], [-134.078, 58.123], [-135.038, 58.188], [-136.628, 58.212], [-137.8, 58.5], [-139.868, 59.538], [-140.825, 59.728], [-142.574, 60.084], [-143.959, 59.999], [-145.926, 60.459], [-147.114, 60.885], [-148.224, 60.673], [-148.018, 59.978], [-148.571, 59.914], [-149.728, 59.706], [-150.608, 59.368], [-151.716, 59.156], [-151.859, 59.745], [-151.41, 60.726], [-150.347, 61.034], [-150.621, 61.284], [-151.896, 60.727], [-152.578, 60.062], [-154.019, 59.35], [-153.288, 58.865], [-154.232, 58.146], [-155.307, 57.728], [-156.308, 57.423], [-156.556, 56.98], [-158.117, 56.464], [-158.433, 55.994], [-159.603, 55.567], [-160.29, 55.644], [-161.223, 55.365], [-162.238, 55.024], [-163.069, 54.69], [-164.786, 54.404], [-164.942, 54.572], [-163.848, 55.039], [-162.87, 55.348], [-161.804, 55.895], [-160.564, 56.008], [-160.071, 56.418], [-158.684, 57.017], [-158.461, 57.217], [-157.723, 57.57], [-157.55, 58.328], [-157.042, 58.919], [-158.195, 58.616], [-158.517, 58.788], [-159.059, 58.424], [-159.712, 58.931], [-159.981, 58.573], [-160.355, 59.071], [-161.355, 58.671], [-161.969, 58.672], [-162.055, 59.267], [-161.874, 59.634], [-162.518, 59.99], [-163.818, 59.798], [-164.662, 60.267], [-165.346, 60.507], [-165.351, 61.074], [-166.121, 61.5], [-165.734, 62.075], [-164.919, 62.633], [-164.563, 63.146], [-163.753, 63.219], [-163.067, 63.059], [-162.261, 63.542], [-161.534, 63.456], [-160.773, 63.766], [-160.958, 64.223], [-161.518, 64.403], [-160.778, 64.789], [-161.392, 64.777], [-162.453, 64.559], [-162.758, 64.339], [-163.546, 64.559], [-164.961, 64.447], [-166.425, 64.687], [-166.845, 65.089], [-168.111, 65.67], [-166.705, 66.088], [-164.475, 66.577], [-163.653, 66.577], [-163.789, 66.077], [-161.678, 66.116], [-162.49, 66.736], [-163.72, 67.116], [-164.431, 67.616], [-165.39, 68.043], [-166.764, 68.359], [-166.205, 68.883], [-164.431, 68.916], [-163.169, 69.371], [-162.931, 69.858], [-161.909, 70.333], [-160.935, 70.448], [-159.039, 70.892], [-158.12, 70.825], [-156.581, 71.358], [-155.068, 71.148], [-154.344, 70.696], [-153.9, 70.89], [-152.21, 70.83], [-152.27, 70.6], [-150.74, 70.43], [-149.72, 70.53], [-147.613, 70.214], [-145.69, 70.12], [-144.92, 69.99], [-143.589, 70.153], [-142.073, 69.852], [-140.986, 69.712], [-140.986, 69.712]]], [[[-171.732, 63.783], [-171.114, 63.592], [-170.491, 63.695], [-169.683, 63.431], [-168.689, 63.298], [-168.772, 63.189], [-169.529, 62.977], [-170.291, 63.194], [-170.671, 63.376], [-171.553, 63.318], [-171.791, 63.406], [-171.732, 63.783]]], [[[-122.84, 49], [-120, 49], [-117.031, 49], [-116.048, 49], [-113, 49], [-110.05, 49], [-107.05, 49], [-104.048, 49], [-100.65, 49], [-97.229, 49.001], [-95.159, 49], [-95.156, 49.384], [-94.818, 49.389], [-94.64, 48.84], [-94.329, 48.671], [-93.631, 48.609], [-92.61, 48.45], [-91.64, 48.14], [-90.83, 48.27], [-89.6, 48.01], [-89.273, 48.02], [-88.378, 48.303], [-87.44, 47.94], [-86.462, 47.553], [-85.652, 47.22], [-84.876, 46.9], [-84.779, 46.637], [-84.544, 46.539], [-84.605, 46.44], [-84.337, 46.409], [-84.142, 46.512], [-84.092, 46.275], [-83.891, 46.117], [-83.616, 46.117], [-83.47, 45.995], [-83.593, 45.817], [-82.551, 45.348], [-82.338, 44.44], [-82.138, 43.571], [-82.43, 42.98], [-82.9, 42.43], [-83.12, 42.08], [-83.142, 41.976], [-83.03, 41.833], [-82.69, 41.675], [-82.439, 41.675], [-81.278, 42.209], [-80.247, 42.366], [-78.939, 42.864], [-78.92, 42.965], [-79.01, 43.27], [-79.172, 43.466], [-78.72, 43.625], [-77.738, 43.629], [-76.82, 43.629], [-76.5, 44.018], [-76.375, 44.096], [-75.318, 44.816], [-74.867, 45], [-73.348, 45.007], [-71.505, 45.008], [-71.405, 45.255], [-71.085, 45.305], [-70.66, 45.46], [-70.305, 45.915], [-70, 46.693], [-69.237, 47.448], [-68.905, 47.185], [-68.234, 47.355], [-67.79, 47.066], [-67.791, 45.703], [-67.137, 45.138], [-66.965, 44.81], [-68.033, 44.325], [-69.06, 43.98], [-70.116, 43.684], [-70.645, 43.09], [-70.815, 42.865], [-70.825, 42.335], [-70.495, 41.805], [-70.08, 41.78], [-70.185, 42.145], [-69.885, 41.923], [-69.965, 41.637], [-70.64, 41.475], [-71.12, 41.494], [-71.86, 41.32], [-72.295, 41.27], [-72.876, 41.221], [-73.71, 40.931], [-72.241, 41.119], [-71.945, 40.93], [-73.345, 40.63], [-73.982, 40.628], [-73.952, 40.751], [-74.257, 40.474], [-73.962, 40.428], [-74.178, 39.709], [-74.906, 38.94], [-74.98, 39.196], [-75.2, 39.248], [-75.528, 39.498], [-75.32, 38.96], [-75.072, 38.782], [-75.057, 38.404], [-75.377, 38.016], [-75.94, 37.217], [-76.031, 37.257], [-75.722, 37.937], [-76.233, 38.319], [-76.35, 39.15], [-76.543, 38.718], [-76.329, 38.083], [-76.99, 38.24], [-76.302, 37.918], [-76.259, 36.966], [-75.972, 36.897], [-75.868, 36.551], [-75.727, 35.551], [-76.363, 34.809], [-77.398, 34.512], [-78.055, 33.925], [-78.554, 33.861], [-79.061, 33.494], [-79.204, 33.158], [-80.301, 32.509], [-80.865, 32.033], [-81.336, 31.44], [-81.49, 30.73], [-81.314, 30.036], [-80.98, 29.18], [-80.536, 28.472], [-80.53, 28.04], [-80.057, 26.88], [-80.088, 26.206], [-80.132, 25.817], [-80.381, 25.206], [-80.68, 25.08], [-81.172, 25.201], [-81.33, 25.64], [-81.71, 25.87], [-82.24, 26.73], [-82.705, 27.495], [-82.855, 27.886], [-82.65, 28.55], [-82.93, 29.1], [-83.71, 29.937], [-84.1, 30.09], [-85.109, 29.636], [-85.288, 29.686], [-85.773, 30.153], [-86.4, 30.4], [-87.53, 30.274], [-88.418, 30.385], [-89.18, 30.316], [-89.594, 30.16], [-89.414, 29.894], [-89.43, 29.489], [-89.218, 29.291], [-89.408, 29.16], [-89.779, 29.307], [-90.155, 29.117], [-90.88, 29.149], [-91.627, 29.677], [-92.499, 29.552], [-93.226, 29.784], [-93.848, 29.714], [-94.69, 29.48], [-95.6, 28.739], [-96.594, 28.307], [-97.14, 27.83], [-97.37, 27.38], [-97.38, 26.69], [-97.33, 26.21], [-97.14, 25.87], [-97.53, 25.84], [-98.24, 26.06], [-99.02, 26.37], [-99.3, 26.84], [-99.52, 27.54], [-100.11, 28.11], [-100.456, 28.696], [-100.958, 29.381], [-101.662, 29.779], [-102.48, 29.76], [-103.11, 28.97], [-103.94, 29.27], [-104.457, 29.572], [-104.706, 30.122], [-105.037, 30.644], [-105.632, 31.084], [-106.143, 31.4], [-106.508, 31.755], [-108.24, 31.755], [-108.242, 31.342], [-109.035, 31.342], [-111.024, 31.335], [-113.305, 32.039], [-114.815, 32.525], [-114.721, 32.721], [-115.991, 32.612], [-117.128, 32.535], [-117.296, 33.046], [-117.944, 33.621], [-118.411, 33.741], [-118.52, 34.028], [-119.081, 34.078], [-119.439, 34.348], [-120.368, 34.447], [-120.623, 34.609], [-120.744, 35.157], [-121.715, 36.162], [-122.547, 37.552], [-122.512, 37.783], [-122.953, 38.114], [-123.727, 38.952], [-123.865, 39.767], [-124.398, 40.313], [-124.179, 41.142], [-124.214, 42], [-124.533, 42.766], [-124.142, 43.708], [-124.021, 44.616], [-123.899, 45.523], [-124.08, 46.865], [-124.396, 47.72], [-124.687, 48.184], [-124.566, 48.38], [-123.12, 48.04], [-122.587, 47.096], [-122.34, 47.36], [-122.5, 48.18], [-122.84, 49]]]] }, { "N": "Kazakhstan", "I": "KZ", "C": [[[[87.36, 49.215], [86.599, 48.549], [85.768, 48.456], [85.72, 47.453], [85.164, 47.001], [83.18, 47.33], [82.459, 45.54], [81.947, 45.317], [79.966, 44.918], [80.866, 43.18], [80.18, 42.92], [80.26, 42.35], [79.644, 42.497], [79.142, 42.856], [77.658, 42.961], [76, 42.988], [75.637, 42.878], [74.213, 43.298], [73.645, 43.091], [73.49, 42.501], [71.845, 42.845], [71.186, 42.704], [70.962, 42.266], [70.389, 42.081], [69.07, 41.384], [68.632, 40.669], [68.26, 40.662], [67.986, 41.136], [66.714, 41.168], [66.511, 41.988], [66.023, 41.995], [66.098, 42.998], [64.901, 43.728], [63.186, 43.65], [62.013, 43.504], [61.058, 44.406], [60.24, 44.784], [58.69, 45.5], [58.503, 45.587], [55.929, 44.996], [55.968, 41.309], [55.455, 41.26], [54.755, 42.044], [54.079, 42.324], [52.944, 42.116], [52.502, 41.783], [52.446, 42.027], [52.692, 42.444], [52.501, 42.792], [51.342, 43.133], [50.891, 44.031], [50.339, 44.284], [50.306, 44.61], [51.279, 44.515], [51.317, 45.246], [52.167, 45.408], [53.041, 45.259], [53.221, 46.235], [53.043, 46.853], [52.042, 46.805], [51.192, 47.049], [50.034, 46.609], [49.101, 46.399], [48.593, 46.561], [48.695, 47.076], [48.057, 47.744], [47.315, 47.716], [46.466, 48.394], [47.044, 49.152], [46.752, 49.356], [47.549, 50.455], [48.578, 49.875], [48.702, 50.605], [50.767, 51.693], [52.329, 51.719], [54.533, 51.026], [55.717, 50.622], [56.778, 51.044], [58.363, 51.064], [59.642, 50.545], [59.933, 50.842], [61.337, 50.799], [61.588, 51.273], [59.968, 51.96], [60.927, 52.448], [60.74, 52.72], [61.7, 52.98], [60.978, 53.665], [61.437, 54.006], [65.179, 54.354], [65.667, 54.601], [68.169, 54.97], [69.068, 55.385], [70.865, 55.17], [71.18, 54.133], [72.224, 54.377], [73.509, 54.036], [73.426, 53.49], [74.385, 53.547], [76.891, 54.491], [76.525, 54.177], [77.801, 53.404], [80.036, 50.865], [80.568, 51.388], [81.946, 50.812], [83.383, 51.069], [83.935, 50.889], [84.416, 50.311], [85.116, 50.117], [85.541, 49.693], [86.829, 49.827], [87.36, 49.215]]]] }, { "N": "Uzbekistan", "I": "UZ", "C": [[[[55.968, 41.309], [55.929, 44.996], [58.503, 45.587], [58.69, 45.5], [60.24, 44.784], [61.058, 44.406], [62.013, 43.504], [63.186, 43.65], [64.901, 43.728], [66.098, 42.998], [66.023, 41.995], [66.511, 41.988], [66.714, 41.168], [67.986, 41.136], [68.26, 40.662], [68.632, 40.669], [69.07, 41.384], [70.389, 42.081], [70.962, 42.266], [71.259, 42.168], [70.42, 41.52], [71.158, 41.144], [71.87, 41.393], [73.055, 40.866], [71.775, 40.146], [71.014, 40.244], [70.601, 40.219], [70.458, 40.496], [70.667, 40.96], [69.329, 40.728], [69.012, 40.086], [68.536, 39.533], [67.701, 39.58], [67.442, 39.14], [68.176, 38.902], [68.392, 38.157], [67.83, 37.145], [67.076, 37.356], [66.519, 37.363], [66.546, 37.975], [65.216, 38.403], [64.17, 38.892], [63.518, 39.363], [62.374, 40.054], [61.883, 41.085], [61.547, 41.266], [60.466, 41.22], [60.083, 41.425], [59.976, 42.223], [58.629, 42.752], [57.787, 42.171], [56.932, 41.826], [57.096, 41.322], [55.968, 41.309]]]] }, { "N": "Papua New Guinea", "I": "PG", "C": [[[[141, -2.6], [142.735, -3.289], [144.584, -3.861], [145.273, -4.374], [145.83, -4.876], [145.982, -5.466], [147.648, -6.084], [147.891, -6.614], [146.971, -6.722], [147.192, -7.388], [148.085, -8.044], [148.734, -9.105], [149.307, -9.071], [149.267, -9.514], [150.039, -9.684], [149.739, -9.873], [150.802, -10.294], [150.691, -10.583], [150.028, -10.652], [149.782, -10.393], [148.923, -10.281], [147.913, -10.13], [147.135, -9.492], [146.568, -8.943], [146.048, -8.067], [144.744, -7.63], [143.897, -7.915], [143.286, -8.245], [143.414, -8.983], [142.628, -9.327], [142.068, -9.16], [141.034, -9.118], [141.017, -5.859], [141, -2.6]]], [[[152.64, -3.66], [153.02, -3.98], [153.14, -4.5], [152.827, -4.766], [152.639, -4.176], [152.406, -3.79], [151.953, -3.462], [151.384, -3.035], [150.662, -2.741], [150.94, -2.5], [151.48, -2.78], [151.82, -3], [152.24, -3.24], [152.64, -3.66]]], [[[151.301, -5.841], [150.754, -6.084], [150.241, -6.318], [149.71, -6.317], [148.89, -6.026], [148.319, -5.747], [148.402, -5.438], [149.298, -5.584], [149.846, -5.506], [149.996, -5.026], [150.14, -5.001], [150.237, -5.532], [150.807, -5.456], [151.09, -5.114], [151.648, -4.757], [151.538, -4.168], [152.137, -4.149], [152.339, -4.313], [152.319, -4.868], [151.983, -5.478], [151.459, -5.56], [151.301, -5.841]]], [[[154.76, -5.34], [155.063, -5.567], [155.548, -6.201], [156.02, -6.54], [155.88, -6.82], [155.6, -6.92], [155.167, -6.536], [154.729, -5.901], [154.514, -5.139], [154.653, -5.042], [154.76, -5.34]]]] }, { "N": "Indonesia", "I": "ID", "C": [[[[141, -2.6], [141.017, -5.859], [141.034, -9.118], [140.143, -8.297], [139.128, -8.096], [138.881, -8.381], [137.614, -8.412], [138.039, -7.598], [138.669, -7.32], [138.408, -6.233], [137.928, -5.393], [135.989, -4.547], [135.165, -4.463], [133.663, -3.539], [133.368, -4.025], [132.984, -4.113], [132.757, -3.746], [132.754, -3.312], [131.99, -2.821], [133.067, -2.46], [133.78, -2.48], [133.696, -2.215], [132.232, -2.213], [131.836, -1.617], [130.943, -1.433], [130.52, -0.938], [131.868, -0.695], [132.38, -0.37], [133.986, -0.78], [134.143, -1.152], [134.423, -2.769], [135.458, -3.368], [136.293, -2.307], [137.441, -1.704], [138.33, -1.703], [139.185, -2.051], [139.927, -2.409], [141, -2.6]]], [[[124.969, -8.893], [125.07, -9.09], [125.089, -9.393], [124.436, -10.14], [123.58, -10.36], [123.46, -10.24], [123.55, -9.9], [123.98, -9.29], [124.969, -8.893]]], [[[134.21, -6.895], [134.113, -6.142], [134.29, -5.783], [134.5, -5.445], [134.727, -5.738], [134.725, -6.214], [134.21, -6.895]]], [[[117.882, 4.138], [117.313, 3.234], [118.048, 2.288], [117.876, 1.828], [118.997, 0.902], [117.812, 0.784], [117.478, 0.102], [117.522, -0.804], [116.56, -1.488], [116.534, -2.484], [116.148, -4.013], [116.001, -3.657], [114.865, -4.107], [114.469, -3.496], [113.756, -3.439], [113.257, -3.119], [112.068, -3.478], [111.703, -2.994], [111.048, -3.049], [110.224, -2.934], [110.071, -1.593], [109.572, -1.315], [109.092, -0.46], [108.953, 0.415], [109.069, 1.342], [109.663, 2.006], [109.83, 1.338], [110.514, 0.773], [111.159, 0.976], [111.798, 0.904], [112.38, 1.41], [112.86, 1.498], [113.806, 1.218], [114.621, 1.431], [115.134, 2.821], [115.519, 3.169], [115.866, 4.307], [117.015, 4.306], [117.882, 4.138]]], [[[129.371, -2.802], [130.471, -3.094], [130.835, -3.858], [129.991, -3.446], [129.155, -3.363], [128.591, -3.429], [127.899, -3.393], [128.136, -2.844], [129.371, -2.802]]], [[[126.875, -3.791], [126.184, -3.607], [125.989, -3.177], [127.001, -3.129], [127.249, -3.459], [126.875, -3.791]]], [[[127.932, 2.175], [128.004, 1.629], [128.595, 1.541], [128.688, 1.132], [128.636, 0.258], [128.12, 0.356], [127.968, -0.252], [128.38, -0.78], [128.1, -0.9], [127.696, -0.267], [127.399, 1.012], [127.601, 1.811], [127.932, 2.175]]], [[[122.928, 0.875], [124.078, 0.917], [125.066, 1.643], [125.241, 1.42], [124.437, 0.428], [123.686, 0.236], [122.723, 0.431], [121.057, 0.381], [120.183, 0.237], [120.041, -0.52], [120.936, -1.409], [121.476, -0.956], [123.341, -0.616], [123.258, -1.076], [122.823, -0.931], [122.389, -1.517], [121.508, -1.904], [122.455, -3.186], [122.272, -3.53], [123.171, -4.684], [123.162, -5.341], [122.629, -5.635], [122.236, -5.283], [122.72, -4.464], [121.738, -4.851], [121.489, -4.575], [121.619, -4.188], [120.898, -3.602], [120.972, -2.628], [120.305, -2.932], [120.39, -4.098], [120.431, -5.528], [119.797, -5.673], [119.367, -5.38], [119.654, -4.459], [119.499, -3.494], [119.078, -3.487], [118.768, -2.802], [119.181, -2.147], [119.323, -1.353], [119.826, 0.154], [120.036, 0.566], [120.886, 1.309], [121.667, 1.014], [122.928, 0.875]]], [[[120.295, -10.259], [118.968, -9.558], [119.9, -9.361], [120.426, -9.666], [120.776, -9.97], [120.716, -10.24], [120.295, -10.259]]], [[[121.342, -8.537], [122.007, -8.461], [122.904, -8.094], [122.757, -8.65], [121.254, -8.934], [119.924, -8.81], [119.921, -8.445], [120.715, -8.237], [121.342, -8.537]]], [[[118.261, -8.362], [118.878, -8.281], [119.127, -8.706], [117.97, -8.907], [117.278, -9.041], [116.74, -9.033], [117.084, -8.457], [117.632, -8.449], [117.9, -8.096], [118.261, -8.362]]], [[[108.487, -6.422], [108.623, -6.778], [110.539, -6.877], [110.76, -6.465], [112.615, -6.946], [112.979, -7.594], [114.479, -7.777], [115.706, -8.371], [114.565, -8.752], [113.465, -8.349], [112.56, -8.376], [111.522, -8.302], [110.586, -8.123], [109.428, -7.741], [108.694, -7.642], [108.278, -7.767], [106.454, -7.355], [106.281, -6.925], [105.365, -6.851], [106.052, -5.896], [107.265, -5.955], [108.072, -6.346], [108.487, -6.422]]], [[[104.37, -1.085], [104.539, -1.782], [104.888, -2.34], [105.622, -2.429], [106.109, -3.062], [105.857, -4.306], [105.818, -5.852], [104.71, -5.873], [103.868, -5.037], [102.584, -4.22], [102.156, -3.614], [101.399, -2.8], [100.903, -2.05], [100.142, -0.65], [99.264, 0.183], [98.97, 1.043], [98.601, 1.824], [97.7, 2.453], [97.177, 3.309], [96.424, 3.869], [95.381, 4.971], [95.293, 5.48], [95.937, 5.44], [97.485, 5.246], [98.369, 4.268], [99.143, 3.59], [99.694, 3.174], [100.641, 2.099], [101.658, 2.084], [102.498, 1.399], [103.077, 0.561], [103.838, 0.105], [103.438, -0.712], [104.011, -1.059], [104.37, -1.085]]]] }, { "N": "Argentina", "I": "AR", "C": [[[[-68.634, -52.636], [-68.25, -53.1], [-67.75, -53.85], [-66.45, -54.45], [-65.05, -54.7], [-65.5, -55.2], [-66.45, -55.25], [-66.96, -54.897], [-67.562, -54.87], [-68.633, -54.87], [-68.634, -52.636]]], [[[-57.625, -30.216], [-57.875, -31.017], [-58.142, -32.045], [-58.133, -33.041], [-58.35, -33.263], [-58.427, -33.909], [-58.495, -34.431], [-57.226, -35.288], [-57.362, -35.977], [-56.737, -36.413], [-56.788, -36.902], [-57.749, -38.184], [-59.232, -38.72], [-61.237, -38.928], [-62.336, -38.828], [-62.126, -39.424], [-62.331, -40.173], [-62.146, -40.677], [-62.746, -41.029], [-63.77, -41.167], [-64.732, -40.803], [-65.118, -41.064], [-64.979, -42.058], [-64.303, -42.359], [-63.756, -42.044], [-63.458, -42.563], [-64.379, -42.874], [-65.182, -43.495], [-65.329, -44.501], [-65.565, -45.037], [-66.51, -45.04], [-67.294, -45.552], [-67.581, -46.302], [-66.597, -47.034], [-65.641, -47.236], [-65.985, -48.133], [-67.166, -48.697], [-67.816, -49.87], [-68.729, -50.264], [-69.139, -50.733], [-68.816, -51.771], [-68.15, -52.35], [-68.572, -52.299], [-69.498, -52.143], [-71.915, -52.009], [-72.329, -51.426], [-72.31, -50.677], [-72.976, -50.741], [-73.328, -50.379], [-73.415, -49.318], [-72.648, -48.879], [-72.331, -48.244], [-72.447, -47.739], [-71.917, -46.885], [-71.552, -45.561], [-71.659, -44.974], [-71.223, -44.784], [-71.33, -44.408], [-71.794, -44.207], [-71.464, -43.788], [-71.915, -43.409], [-72.149, -42.255], [-71.747, -42.051], [-71.916, -40.832], [-71.681, -39.808], [-71.414, -38.916], [-70.815, -38.553], [-71.119, -37.577], [-71.122, -36.658], [-70.365, -36.005], [-70.388, -35.17], [-69.817, -34.194], [-69.815, -33.274], [-70.074, -33.091], [-70.535, -31.365], [-69.919, -30.336], [-70.014, -29.368], [-69.656, -28.459], [-69.001, -27.521], [-68.296, -26.899], [-68.595, -26.507], [-68.386, -26.185], [-68.418, -24.519], [-67.328, -24.025], [-66.985, -22.986], [-67.107, -22.736], [-66.273, -21.832], [-64.965, -22.076], [-64.377, -22.798], [-63.987, -21.994], [-62.846, -22.035], [-62.685, -22.249], [-60.847, -23.881], [-60.029, -24.033], [-58.807, -24.771], [-57.777, -25.162], [-57.634, -25.604], [-58.618, -27.124], [-57.61, -27.396], [-56.487, -27.548], [-55.696, -27.388], [-54.789, -26.622], [-54.625, -25.739], [-54.13, -25.548], [-53.628, -26.125], [-53.649, -26.923], [-54.491, -27.475], [-55.162, -27.882], [-56.291, -28.853], [-57.625, -30.216]]]] }, { "N": "Chile", "I": "CL", "C": [[[[-68.634, -52.636], [-68.633, -54.87], [-67.562, -54.87], [-66.96, -54.897], [-67.291, -55.301], [-68.149, -55.612], [-68.64, -55.58], [-69.232, -55.499], [-69.958, -55.198], [-71.006, -55.054], [-72.264, -54.495], [-73.285, -53.958], [-74.663, -52.837], [-73.838, -53.047], [-72.434, -53.715], [-71.108, -54.074], [-70.592, -53.616], [-70.267, -52.931], [-69.346, -52.518], [-68.634, -52.636]]], [[[-69.59, -17.58], [-69.1, -18.26], [-68.967, -18.982], [-68.442, -19.405], [-68.757, -20.373], [-68.22, -21.494], [-67.828, -22.873], [-67.107, -22.736], [-66.985, -22.986], [-67.328, -24.025], [-68.418, -24.519], [-68.386, -26.185], [-68.595, -26.507], [-68.296, -26.899], [-69.001, -27.521], [-69.656, -28.459], [-70.014, -29.368], [-69.919, -30.336], [-70.535, -31.365], [-70.074, -33.091], [-69.815, -33.274], [-69.817, -34.194], [-70.388, -35.17], [-70.365, -36.005], [-71.122, -36.658], [-71.119, -37.577], [-70.815, -38.553], [-71.414, -38.916], [-71.681, -39.808], [-71.916, -40.832], [-71.747, -42.051], [-72.149, -42.255], [-71.915, -43.409], [-71.464, -43.788], [-71.794, -44.207], [-71.33, -44.408], [-71.223, -44.784], [-71.659, -44.974], [-71.552, -45.561], [-71.917, -46.885], [-72.447, -47.739], [-72.331, -48.244], [-72.648, -48.879], [-73.415, -49.318], [-73.328, -50.379], [-72.976, -50.741], [-72.31, -50.677], [-72.329, -51.426], [-71.915, -52.009], [-69.498, -52.143], [-68.572, -52.299], [-69.461, -52.292], [-69.943, -52.538], [-70.845, -52.899], [-71.006, -53.833], [-71.43, -53.856], [-72.558, -53.531], [-73.703, -52.835], [-73.703, -52.835], [-74.947, -52.263], [-75.26, -51.629], [-74.977, -51.043], [-75.48, -50.378], [-75.608, -48.674], [-75.183, -47.712], [-74.127, -46.939], [-75.644, -46.648], [-74.692, -45.764], [-74.352, -44.103], [-73.24, -44.455], [-72.718, -42.383], [-73.389, -42.118], [-73.701, -43.366], [-74.332, -43.225], [-74.018, -41.795], [-73.677, -39.942], [-73.218, -39.259], [-73.506, -38.283], [-73.588, -37.156], [-73.167, -37.124], [-72.553, -35.509], [-71.862, -33.909], [-71.438, -32.419], [-71.669, -30.921], [-71.37, -30.096], [-71.49, -28.861], [-70.905, -27.64], [-70.725, -25.706], [-70.404, -23.629], [-70.091, -21.393], [-70.164, -19.756], [-70.373, -18.348], [-69.858, -18.093], [-69.59, -17.58]]]] }, { "N": "Democratic Republic of the Congo", "I": "CD", "C": [[[[29.34, -4.5], [29.52, -5.42], [29.42, -5.94], [29.62, -6.52], [30.2, -7.08], [30.74, -8.34], [30.74, -8.34], [30.346, -8.238], [29.003, -8.407], [28.735, -8.527], [28.45, -9.165], [28.674, -9.606], [28.496, -10.79], [28.372, -11.794], [28.642, -11.972], [29.342, -12.361], [29.616, -12.179], [29.7, -13.257], [28.934, -13.249], [28.524, -12.699], [28.155, -12.272], [27.389, -12.133], [27.164, -11.609], [26.553, -11.924], [25.752, -11.785], [25.418, -11.331], [24.783, -11.239], [24.315, -11.263], [24.257, -10.952], [23.912, -10.927], [23.457, -10.868], [22.837, -11.018], [22.403, -10.993], [22.155, -11.085], [22.209, -9.895], [21.875, -9.524], [21.802, -8.909], [21.949, -8.306], [21.746, -7.92], [21.728, -7.291], [20.515, -7.3], [20.602, -6.939], [20.092, -6.943], [20.038, -7.116], [19.418, -7.155], [19.167, -7.738], [19.017, -7.988], [18.464, -7.847], [18.134, -7.988], [17.473, -8.069], [17.09, -7.546], [16.86, -7.222], [16.573, -6.623], [16.327, -5.877], [13.376, -5.864], [13.025, -5.984], [12.735, -5.966], [12.322, -6.1], [12.182, -5.79], [12.437, -5.684], [12.468, -5.248], [12.632, -4.991], [12.996, -4.781], [13.258, -4.883], [13.6, -4.5], [14.145, -4.51], [14.209, -4.793], [14.583, -4.97], [15.171, -4.344], [15.754, -3.855], [16.006, -3.535], [15.973, -2.712], [16.407, -1.741], [16.865, -1.226], [17.524, -0.744], [17.639, -0.425], [17.664, -0.058], [17.827, 0.289], [17.774, 0.856], [17.899, 1.742], [18.094, 2.366], [18.394, 2.9], [18.453, 3.504], [18.543, 4.202], [18.932, 4.71], [19.468, 5.032], [20.291, 4.692], [20.928, 4.323], [21.659, 4.224], [22.405, 4.029], [22.704, 4.633], [22.841, 4.71], [23.297, 4.61], [24.411, 5.109], [24.805, 4.897], [25.129, 4.927], [25.279, 5.17], [25.65, 5.256], [26.403, 5.151], [27.044, 5.128], [27.374, 5.234], [27.98, 4.408], [28.429, 4.287], [28.697, 4.455], [29.159, 4.389], [29.716, 4.601], [29.954, 4.174], [30.834, 3.509], [30.834, 3.509], [30.773, 2.34], [31.174, 2.204], [30.853, 1.849], [30.469, 1.584], [30.086, 1.062], [29.876, 0.597], [29.82, -0.205], [29.588, -0.587], [29.579, -1.341], [29.292, -1.62], [29.255, -2.215], [29.117, -2.292], [29.025, -2.839], [29.276, -3.294], [29.34, -4.5]]]] }, { "N": "Somalia", "I": "SO", "C": [[[[41.585, -1.683], [40.993, -0.858], [40.981, 2.785], [41.855, 3.919], [42.129, 4.234], [42.77, 4.253], [43.661, 4.958], [44.964, 5.002], [47.789, 8.003], [48.487, 8.838], [48.938, 9.452], [48.938, 9.974], [48.938, 10.982], [48.942, 11.394], [48.948, 11.411], [48.948, 11.411], [49.268, 11.43], [49.729, 11.579], [50.259, 11.68], [50.732, 12.022], [51.111, 12.025], [51.134, 11.748], [51.042, 11.167], [51.045, 10.641], [50.834, 10.28], [50.552, 9.199], [50.071, 8.082], [49.453, 6.805], [48.595, 5.339], [47.741, 4.219], [46.565, 2.855], [45.564, 2.046], [44.068, 1.053], [43.136, 0.292], [42.042, -0.919], [41.811, -1.446], [41.585, -1.683]]]] }, { "N": "Kenya", "I": "KE", "C": [[[[39.202, -4.677], [37.767, -3.677], [37.699, -3.097], [34.073, -1.06], [33.904, -0.95], [33.894, 0.11], [34.18, 0.515], [34.672, 1.177], [35.036, 1.906], [34.596, 3.054], [34.479, 3.556], [34.005, 4.25], [34.62, 4.847], [35.298, 5.506], [35.817, 5.338], [35.817, 4.777], [36.159, 4.448], [36.855, 4.448], [38.121, 3.599], [38.437, 3.589], [38.671, 3.616], [38.893, 3.501], [39.559, 3.422], [39.855, 3.839], [40.768, 4.257], [41.172, 3.919], [41.855, 3.919], [40.981, 2.785], [40.993, -0.858], [41.585, -1.683], [40.885, -2.083], [40.638, -2.5], [40.263, -2.573], [40.121, -3.278], [39.8, -3.681], [39.605, -4.347], [39.202, -4.677]]]] }, { "N": "Sudan", "I": "SD", "C": [[[[24.567, 8.229], [23.806, 8.666], [23.459, 8.954], [23.395, 9.265], [23.557, 9.681], [23.554, 10.089], [22.978, 10.714], [22.864, 11.142], [22.876, 11.385], [22.509, 11.679], [22.498, 12.26], [22.288, 12.646], [21.937, 12.588], [22.038, 12.955], [22.297, 13.372], [22.183, 13.786], [22.512, 14.093], [22.304, 14.327], [22.568, 14.944], [23.025, 15.681], [23.887, 15.611], [23.838, 19.58], [23.85, 20], [25, 20.003], [25, 22], [29.02, 22], [32.9, 22], [36.866, 22], [37.189, 21.019], [36.969, 20.837], [37.115, 19.808], [37.482, 18.614], [37.863, 18.368], [38.41, 17.998], [37.904, 17.428], [37.167, 17.263], [36.853, 16.957], [36.754, 16.292], [36.323, 14.822], [36.43, 14.422], [36.27, 13.563], [35.864, 12.578], [35.26, 12.083], [34.832, 11.319], [34.731, 10.91], [34.257, 10.63], [33.962, 9.584], [33.975, 8.685], [33.963, 9.464], [33.825, 9.484], [33.842, 9.982], [33.722, 10.325], [33.207, 10.72], [33.087, 11.441], [33.207, 12.179], [32.743, 12.248], [32.675, 12.025], [32.074, 11.973], [32.314, 11.681], [32.4, 11.081], [31.851, 10.531], [31.353, 9.81], [30.838, 9.707], [29.997, 10.291], [29.619, 10.085], [29.516, 9.793], [29.001, 9.604], [28.967, 9.398], [27.971, 9.398], [27.834, 9.604], [27.113, 9.639], [26.752, 9.467], [26.477, 9.553], [25.962, 10.136], [25.791, 10.411], [25.07, 10.274], [24.795, 9.81], [24.537, 8.918], [24.194, 8.729], [23.887, 8.62], [24.567, 8.229]]]] }, { "N": "Chad", "I": "TD", "C": [[[[23.838, 19.58], [23.887, 15.611], [23.025, 15.681], [22.568, 14.944], [22.304, 14.327], [22.512, 14.093], [22.183, 13.786], [22.297, 13.372], [22.038, 12.955], [21.937, 12.588], [22.288, 12.646], [22.498, 12.26], [22.509, 11.679], [22.876, 11.385], [22.864, 11.142], [22.231, 10.972], [21.724, 10.567], [21.001, 9.476], [20.06, 9.013], [19.094, 9.075], [18.812, 8.983], [18.911, 8.631], [18.39, 8.281], [17.965, 7.891], [16.706, 7.508], [16.456, 7.735], [16.291, 7.754], [16.106, 7.497], [15.279, 7.422], [15.436, 7.693], [15.121, 8.382], [14.98, 8.796], [14.544, 8.966], [13.954, 9.549], [14.171, 10.021], [14.627, 9.921], [14.909, 9.992], [15.468, 9.982], [14.924, 10.891], [14.96, 11.556], [14.893, 12.219], [14.496, 12.859], [14.596, 13.33], [13.954, 13.353], [13.957, 13.997], [13.54, 14.367], [13.972, 15.684], [15.248, 16.627], [15.3, 17.928], [15.686, 19.957], [15.903, 20.388], [15.487, 20.73], [15.471, 21.048], [15.097, 21.309], [14.851, 22.863], [15.861, 23.41], [19.849, 21.495], [23.838, 19.58]]]] }, { "N": "Haiti", "I": "HT", "C": [[[[-71.712, 19.714], [-71.625, 19.17], [-71.701, 18.785], [-71.945, 18.617], [-71.688, 18.317], [-71.708, 18.045], [-72.372, 18.215], [-72.844, 18.146], [-73.455, 18.218], [-73.922, 18.031], [-74.458, 18.343], [-74.37, 18.665], [-73.45, 18.526], [-72.695, 18.446], [-72.335, 18.668], [-72.792, 19.102], [-72.784, 19.484], [-73.415, 19.64], [-73.19, 19.916], [-72.58, 19.872], [-71.712, 19.714]]]] }, { "N": "Dominican Republic", "I": "DO", "C": [[[[-71.708, 18.045], [-71.688, 18.317], [-71.945, 18.617], [-71.701, 18.785], [-71.625, 19.17], [-71.712, 19.714], [-71.587, 19.885], [-70.807, 19.88], [-70.214, 19.623], [-69.951, 19.648], [-69.769, 19.293], [-69.222, 19.313], [-69.254, 19.015], [-68.809, 18.979], [-68.318, 18.612], [-68.689, 18.205], [-69.165, 18.423], [-69.624, 18.381], [-69.953, 18.428], [-70.133, 18.246], [-70.517, 18.184], [-70.669, 18.427], [-71, 18.283], [-71.4, 17.599], [-71.658, 17.758], [-71.708, 18.045]]]] }, { "N": "Russia", "I": "RU", "C": [[[[178.725, 71.099], [180, 71.516], [180, 70.832], [178.903, 70.781], [178.725, 71.099]]], [[[93.778, 81.025], [95.941, 81.25], [97.884, 80.747], [100.187, 79.78], [99.94, 78.881], [97.758, 78.756], [94.973, 79.045], [93.313, 79.427], [92.545, 80.144], [91.181, 80.341], [93.778, 81.025]]], [[[102.838, 79.281], [105.372, 78.713], [105.075, 78.307], [99.438, 77.921], [101.265, 79.234], [102.086, 79.346], [102.838, 79.281]]], [[[138.831, 76.137], [141.472, 76.093], [145.086, 75.563], [144.3, 74.82], [140.614, 74.848], [138.955, 74.611], [136.974, 75.262], [137.512, 75.949], [138.831, 76.137]]], [[[148.222, 75.346], [150.732, 75.084], [149.576, 74.689], [147.977, 74.778], [146.119, 75.173], [146.358, 75.497], [148.222, 75.346]]], [[[139.863, 73.37], [140.812, 73.765], [142.062, 73.858], [143.483, 73.475], [143.604, 73.212], [142.088, 73.205], [140.038, 73.317], [139.863, 73.37]]], [[[44.847, 80.59], [46.799, 80.772], [48.318, 80.784], [48.523, 80.515], [49.097, 80.754], [50.04, 80.919], [51.523, 80.7], [51.136, 80.547], [49.794, 80.415], [48.894, 80.34], [48.755, 80.175], [47.586, 80.01], [46.503, 80.247], [47.072, 80.559], [44.847, 80.59]]], [[[22.731, 54.328], [20.892, 54.313], [19.661, 54.426], [19.888, 54.866], [21.268, 55.19], [22.316, 55.015], [22.758, 54.857], [22.651, 54.583], [22.731, 54.328]]], [[[53.508, 73.75], [55.902, 74.627], [55.632, 75.081], [57.869, 75.609], [61.17, 76.252], [64.498, 76.439], [66.211, 76.81], [68.157, 76.94], [68.852, 76.545], [68.181, 76.234], [64.637, 75.738], [61.584, 75.261], [58.477, 74.309], [56.987, 73.333], [55.419, 72.371], [55.623, 71.541], [57.536, 70.72], [56.945, 70.633], [53.677, 70.763], [53.412, 71.207], [51.602, 71.475], [51.456, 72.015], [52.478, 72.229], [52.444, 72.775], [54.428, 73.628], [53.508, 73.75]]], [[[142.915, 53.705], [143.261, 52.741], [143.235, 51.757], [143.648, 50.748], [144.654, 48.976], [143.174, 49.307], [142.559, 47.862], [143.533, 46.837], [143.505, 46.138], [142.748, 46.741], [142.092, 45.967], [141.907, 46.806], [142.018, 47.78], [141.904, 48.859], [142.136, 49.615], [142.18, 50.952], [141.594, 51.935], [141.683, 53.302], [142.607, 53.762], [142.21, 54.225], [142.655, 54.366], [142.915, 53.705]]], [[[-174.928, 67.206], [-175.014, 66.584], [-174.34, 66.336], [-174.572, 67.062], [-171.857, 66.913], [-169.9, 65.977], [-170.891, 65.541], [-172.53, 65.438], [-172.555, 64.461], [-172.955, 64.253], [-173.892, 64.283], [-174.654, 64.631], [-175.984, 64.923], [-176.207, 65.357], [-177.223, 65.52], [-178.36, 65.391], [-178.903, 65.74], [-178.686, 66.112], [-179.884, 65.875], [-179.433, 65.404], [-180, 64.98], [-180, 68.964], [-177.55, 68.2], [-174.928, 67.206]]], [[[-178.694, 70.893], [-180, 70.832], [-180, 71.516], [-179.872, 71.558], [-179.024, 71.556], [-177.578, 71.269], [-177.664, 71.133], [-178.694, 70.893]]], [[[49.101, 46.399], [48.645, 45.806], [47.676, 45.641], [46.682, 44.609], [47.591, 43.66], [47.493, 42.987], [48.584, 41.809], [48.584, 41.809], [47.987, 41.406], [47.816, 41.151], [47.373, 41.22], [46.686, 41.827], [46.405, 41.861], [45.776, 42.092], [45.47, 42.503], [44.538, 42.712], [43.931, 42.555], [43.756, 42.741], [42.394, 43.22], [40.922, 43.382], [40.077, 43.553], [39.955, 43.435], [38.68, 44.28], [37.539, 44.657], [36.675, 45.245], [37.403, 45.405], [38.233, 46.241], [37.674, 46.637], [39.148, 47.045], [39.121, 47.263], [38.224, 47.102], [38.255, 47.546], [38.771, 47.826], [39.738, 47.899], [39.896, 48.232], [39.675, 48.784], [40.081, 49.307], [40.069, 49.601], [38.595, 49.926], [38.011, 49.916], [37.393, 50.384], [36.626, 50.226], [35.356, 50.577], [35.378, 50.774], [35.022, 51.208], [34.225, 51.256], [34.142, 51.566], [34.392, 51.769], [33.753, 52.335], [32.716, 52.238], [32.412, 52.289], [32.159, 52.061], [31.786, 52.102], [31.786, 52.102], [31.54, 52.742], [31.305, 53.074], [31.498, 53.167], [32.305, 53.133], [32.694, 53.351], [32.406, 53.618], [31.731, 53.794], [31.791, 53.975], [31.384, 54.157], [30.758, 54.812], [30.972, 55.082], [30.874, 55.551], [29.896, 55.789], [29.372, 55.67], [29.23, 55.918], [28.177, 56.169], [27.855, 56.759], [27.77, 57.244], [27.288, 57.475], [27.717, 57.792], [27.42, 58.725], [28.132, 59.301], [27.981, 59.475], [27.981, 59.475], [29.118, 60.028], [28.07, 60.504], [28.07, 60.504], [30.211, 61.78], [31.14, 62.358], [31.516, 62.868], [30.036, 63.553], [30.445, 64.204], [29.544, 64.949], [30.218, 65.806], [29.055, 66.944], [29.977, 67.698], [28.446, 68.365], [28.592, 69.065], [29.4, 69.157], [31.101, 69.558], [31.101, 69.558], [32.133, 69.906], [33.775, 69.301], [36.514, 69.063], [40.292, 67.932], [41.06, 67.457], [41.126, 66.792], [40.016, 66.266], [38.383, 66], [33.919, 66.76], [33.184, 66.633], [34.815, 65.9], [34.879, 65.436], [34.944, 64.414], [36.231, 64.109], [37.013, 63.85], [37.142, 64.335], [36.54, 64.764], [37.176, 65.143], [39.593, 64.521], [40.436, 64.764], [39.763, 65.497], [42.093, 66.476], [43.016, 66.419], [43.95, 66.069], [44.532, 66.756], [43.698, 67.352], [44.188, 67.951], [43.453, 68.571], [46.25, 68.25], [46.821, 67.69], [45.555, 67.567], [45.562, 67.01], [46.349, 66.668], [47.894, 66.885], [48.139, 67.522], [50.228, 67.999], [53.717, 68.857], [54.472, 68.808], [53.486, 68.201], [54.726, 68.097], [55.443, 68.439], [57.317, 68.466], [58.802, 68.881], [59.941, 68.278], [61.078, 68.941], [60.03, 69.52], [60.55, 69.85], [63.504, 69.547], [64.888, 69.235], [68.512, 68.092], [69.181, 68.616], [68.164, 69.144], [68.135, 69.356], [66.93, 69.455], [67.26, 69.929], [66.725, 70.709], [66.695, 71.029], [68.54, 71.935], [69.196, 72.843], [69.94, 73.04], [72.588, 72.776], [72.796, 72.22], [71.848, 71.409], [72.47, 71.09], [72.792, 70.391], [72.565, 69.021], [73.668, 68.408], [73.239, 67.74], [71.28, 66.32], [72.423, 66.173], [72.821, 66.533], [73.921, 66.789], [74.187, 67.284], [75.052, 67.76], [74.469, 68.329], [74.936, 68.989], [73.842, 69.071], [73.602, 69.628], [74.4, 70.632], [73.101, 71.447], [74.891, 72.121], [74.659, 72.832], [75.158, 72.855], [75.684, 72.301], [75.289, 71.336], [76.359, 71.153], [75.903, 71.874], [77.577, 72.267], [79.652, 72.32], [81.5, 71.75], [80.611, 72.583], [80.511, 73.648], [82.25, 73.85], [84.655, 73.806], [86.822, 73.937], [86.01, 74.46], [87.167, 75.116], [88.316, 75.144], [90.26, 75.64], [92.901, 75.773], [93.234, 76.047], [95.86, 76.14], [96.678, 75.915], [98.923, 76.447], [100.76, 76.43], [101.035, 76.862], [101.991, 77.288], [104.352, 77.698], [106.067, 77.374], [104.705, 77.127], [106.97, 76.974], [107.24, 76.48], [108.154, 76.723], [111.077, 76.71], [113.332, 76.222], [114.134, 75.848], [113.885, 75.328], [112.779, 75.032], [110.151, 74.477], [109.4, 74.18], [110.64, 74.04], [112.119, 73.788], [113.02, 73.977], [113.53, 73.335], [113.969, 73.595], [115.568, 73.753], [118.776, 73.588], [119.02, 73.12], [123.201, 72.971], [123.258, 73.735], [125.38, 73.56], [126.976, 73.565], [128.591, 73.039], [129.052, 72.399], [128.46, 71.98], [129.716, 71.193], [131.289, 70.787], [132.254, 71.836], [133.858, 71.386], [135.562, 71.655], [137.498, 71.348], [138.234, 71.628], [139.87, 71.488], [139.148, 72.416], [140.468, 72.849], [149.5, 72.2], [150.351, 71.606], [152.969, 70.842], [157.007, 71.031], [158.998, 70.867], [159.83, 70.453], [159.709, 69.722], [160.941, 69.437], [162.279, 69.642], [164.052, 69.668], [165.94, 69.472], [167.836, 69.583], [169.578, 68.694], [170.817, 69.014], [170.008, 69.653], [170.453, 70.097], [173.644, 69.817], [175.724, 69.877], [178.6, 69.4], [180, 68.964], [180, 64.98], [179.993, 64.974], [178.707, 64.535], [177.411, 64.608], [178.313, 64.076], [178.908, 63.252], [179.37, 62.983], [179.486, 62.569], [179.228, 62.304], [177.364, 62.522], [174.569, 61.769], [173.68, 61.653], [172.15, 60.95], [170.698, 60.336], [170.331, 59.882], [168.9, 60.574], [166.295, 59.789], [165.84, 60.16], [164.877, 59.732], [163.539, 59.869], [163.217, 59.211], [162.017, 58.243], [162.053, 57.839], [163.192, 57.615], [163.058, 56.159], [162.13, 56.122], [161.701, 55.286], [162.117, 54.855], [160.369, 54.344], [160.022, 53.203], [158.531, 52.959], [158.231, 51.943], [156.79, 51.011], [156.42, 51.7], [155.992, 53.159], [155.434, 55.381], [155.914, 56.768], [156.758, 57.365], [156.81, 57.832], [158.364, 58.056], [160.151, 59.315], [161.872, 60.343], [163.67, 61.141], [164.474, 62.551], [163.258, 62.466], [162.658, 61.642], [160.121, 60.544], [159.302, 61.774], [156.721, 61.434], [154.218, 59.758], [155.044, 59.145], [152.812, 58.884], [151.266, 58.781], [151.338, 59.504], [149.784, 59.656], [148.545, 59.164], [145.487, 59.336], [142.198, 59.04], [138.958, 57.088], [135.126, 54.73], [136.702, 54.604], [137.193, 53.977], [138.165, 53.755], [138.805, 54.255], [139.902, 54.19], [141.345, 53.09], [141.379, 52.239], [140.597, 51.24], [140.513, 50.046], [140.062, 48.447], [138.555, 47], [138.22, 46.308], [136.862, 45.144], [135.515, 43.989], [134.869, 43.398], [133.537, 42.811], [132.906, 42.798], [132.278, 43.285], [130.936, 42.553], [130.78, 42.22], [130.78, 42.22], [130.78, 42.22], [130.78, 42.22], [130.64, 42.395], [130.64, 42.395], [130.634, 42.903], [131.145, 42.93], [131.289, 44.112], [131.025, 44.968], [131.883, 45.321], [133.097, 45.144], [133.77, 46.117], [134.112, 47.212], [134.501, 47.578], [135.026, 48.478], [133.374, 48.183], [132.507, 47.789], [130.987, 47.79], [130.582, 48.73], [129.398, 49.441], [127.657, 49.76], [127.287, 50.74], [126.939, 51.354], [126.564, 51.784], [125.946, 52.793], [125.068, 53.161], [123.571, 53.459], [122.246, 53.432], [121.003, 53.251], [120.177, 52.754], [120.726, 52.516], [120.738, 51.964], [120.182, 51.644], [119.279, 50.583], [119.288, 50.143], [117.879, 49.511], [116.679, 49.889], [115.486, 49.805], [114.962, 50.14], [114.362, 50.248], [112.898, 49.544], [111.581, 49.378], [110.662, 49.13], [109.402, 49.293], [108.475, 49.283], [107.868, 49.794], [106.889, 50.274], [105.887, 50.406], [104.622, 50.275], [103.677, 50.09], [102.256, 50.511], [102.065, 51.26], [100.889, 51.517], [99.982, 51.634], [98.861, 52.047], [97.826, 51.011], [98.232, 50.422], [97.26, 49.726], [95.814, 49.977], [94.816, 50.013], [94.148, 50.481], [93.104, 50.495], [92.235, 50.802], [90.714, 50.332], [88.806, 49.471], [87.751, 49.297], [87.36, 49.215], [86.829, 49.827], [85.541, 49.693], [85.116, 50.117], [84.416, 50.311], [83.935, 50.889], [83.383, 51.069], [81.946, 50.812], [80.568, 51.388], [80.036, 50.865], [77.801, 53.404], [76.525, 54.177], [76.891, 54.491], [74.385, 53.547], [73.426, 53.49], [73.509, 54.036], [72.224, 54.377], [71.18, 54.133], [70.865, 55.17], [69.068, 55.385], [68.169, 54.97], [65.667, 54.601], [65.179, 54.354], [61.437, 54.006], [60.978, 53.665], [61.7, 52.98], [60.74, 52.72], [60.927, 52.448], [59.968, 51.96], [61.588, 51.273], [61.337, 50.799], [59.933, 50.842], [59.642, 50.545], [58.363, 51.064], [56.778, 51.044], [55.717, 50.622], [54.533, 51.026], [52.329, 51.719], [50.767, 51.693], [48.702, 50.605], [48.578, 49.875], [47.549, 50.455], [46.752, 49.356], [47.044, 49.152], [46.466, 48.394], [47.315, 47.716], [48.057, 47.744], [48.695, 47.076], [48.593, 46.561], [49.101, 46.399]]]] }, { "N": "Bahamas", "I": "BS", "C": [[[[-78.98, 26.79], [-78.51, 26.87], [-77.85, 26.84], [-77.82, 26.58], [-78.91, 26.42], [-78.98, 26.79]]], [[[-77.79, 27.04], [-77, 26.59], [-77.173, 25.879], [-77.356, 26.007], [-77.34, 26.53], [-77.788, 26.925], [-77.79, 27.04]]], [[[-78.191, 25.21], [-77.89, 25.17], [-77.54, 24.34], [-77.535, 23.76], [-77.78, 23.71], [-78.034, 24.286], [-78.408, 24.576], [-78.191, 25.21]]]] }, { "N": "Falkland Islands", "I": "FK", "C": [[[[-61.2, -51.85], [-60, -51.25], [-59.15, -51.5], [-58.55, -51.1], [-57.75, -51.55], [-58.05, -51.9], [-59.4, -52.2], [-59.85, -51.85], [-60.7, -52.3], [-61.2, -51.85]]]] }, { "N": "Norway", "I": "NO", "C": [[[[15.143, 79.674], [15.523, 80.016], [16.991, 80.051], [18.252, 79.702], [21.544, 78.956], [19.027, 78.563], [18.472, 77.827], [17.594, 77.638], [17.118, 76.809], [15.913, 76.77], [13.763, 77.38], [14.67, 77.736], [13.171, 78.025], [11.222, 78.869], [10.445, 79.652], [13.171, 80.01], [13.719, 79.66], [15.143, 79.674]]], [[[27.408, 80.056], [25.925, 79.518], [23.024, 79.4], [20.075, 79.567], [19.897, 79.842], [18.462, 79.86], [17.368, 80.319], [20.456, 80.598], [21.908, 80.358], [22.919, 80.657], [25.448, 80.407], [27.408, 80.056]]], [[[24.724, 77.854], [22.49, 77.445], [20.726, 77.677], [21.416, 77.935], [20.812, 78.255], [22.884, 78.455], [23.281, 78.08], [24.724, 77.854]]], [[[31.101, 69.558], [29.4, 69.157], [28.592, 69.065], [29.016, 69.766], [27.732, 70.164], [26.18, 69.825], [25.689, 69.092], [24.736, 68.65], [23.662, 68.891], [22.356, 68.842], [21.245, 69.37], [20.646, 69.106], [20.025, 69.065], [19.879, 68.407], [17.994, 68.567], [17.729, 68.011], [16.769, 68.014], [16.109, 67.302], [15.108, 66.194], [13.556, 64.787], [13.92, 64.445], [13.572, 64.049], [12.58, 64.066], [11.931, 63.128], [11.992, 61.8], [12.631, 61.294], [12.3, 60.118], [11.468, 59.432], [11.027, 58.856], [10.357, 59.47], [8.382, 58.313], [7.049, 58.079], [5.666, 58.588], [5.308, 59.663], [4.992, 61.971], [5.913, 62.614], [8.553, 63.454], [10.528, 64.486], [12.358, 65.88], [14.761, 67.811], [16.436, 68.563], [19.184, 69.817], [21.378, 70.255], [23.024, 70.202], [24.547, 71.03], [26.37, 70.986], [28.166, 71.185], [31.293, 70.454], [30.005, 70.186], [31.101, 69.558]]]] }, { "N": "Greenland", "I": "GL", "C": [[[[-46.764, 82.628], [-43.406, 83.225], [-39.898, 83.18], [-38.622, 83.549], [-35.088, 83.645], [-27.1, 83.52], [-20.845, 82.727], [-22.692, 82.342], [-26.518, 82.298], [-31.9, 82.2], [-31.396, 82.022], [-27.857, 82.132], [-24.844, 81.787], [-22.903, 82.093], [-22.072, 81.734], [-23.17, 81.153], [-20.624, 81.525], [-15.768, 81.912], [-12.77, 81.719], [-12.209, 81.292], [-16.285, 80.58], [-16.85, 80.35], [-20.046, 80.177], [-17.73, 80.129], [-18.9, 79.4], [-19.705, 78.751], [-19.674, 77.639], [-18.473, 76.986], [-20.035, 76.944], [-21.679, 76.628], [-19.834, 76.098], [-19.599, 75.248], [-20.668, 75.156], [-19.373, 74.296], [-21.594, 74.224], [-20.435, 73.817], [-20.762, 73.464], [-22.172, 73.31], [-23.566, 73.307], [-22.313, 72.629], [-22.3, 72.184], [-24.278, 72.598], [-24.793, 72.33], [-23.443, 72.08], [-22.133, 71.469], [-21.754, 70.664], [-23.536, 70.471], [-24.307, 70.856], [-25.543, 71.431], [-25.201, 70.752], [-26.363, 70.226], [-23.727, 70.184], [-22.349, 70.129], [-25.029, 69.259], [-27.747, 68.47], [-30.674, 68.125], [-31.777, 68.121], [-32.811, 67.735], [-34.202, 66.68], [-36.353, 65.979], [-37.044, 65.938], [-38.375, 65.692], [-39.812, 65.458], [-40.669, 64.84], [-40.683, 64.139], [-41.189, 63.482], [-42.819, 62.682], [-42.417, 61.901], [-42.866, 61.074], [-43.378, 60.098], [-44.788, 60.037], [-46.264, 60.853], [-48.263, 60.858], [-49.233, 61.407], [-49.9, 62.383], [-51.633, 63.627], [-52.14, 64.278], [-52.277, 65.177], [-53.662, 66.1], [-53.302, 66.837], [-53.969, 67.189], [-52.98, 68.358], [-51.475, 68.73], [-51.08, 69.148], [-50.871, 69.929], [-52.014, 69.575], [-52.558, 69.426], [-53.456, 69.284], [-54.683, 69.61], [-54.75, 70.289], [-54.359, 70.821], [-53.431, 70.836], [-51.39, 70.57], [-53.109, 71.205], [-54.004, 71.547], [-55, 71.407], [-55.835, 71.654], [-54.718, 72.586], [-55.326, 72.959], [-56.12, 73.65], [-57.324, 74.71], [-58.597, 75.099], [-58.585, 75.517], [-61.269, 76.102], [-63.392, 76.175], [-66.064, 76.135], [-68.504, 76.061], [-69.665, 76.38], [-71.403, 77.009], [-68.777, 77.323], [-66.764, 77.376], [-71.043, 77.636], [-73.297, 78.044], [-73.159, 78.433], [-69.373, 78.914], [-65.711, 79.394], [-65.324, 79.758], [-68.023, 80.117], [-67.151, 80.516], [-63.689, 81.214], [-62.234, 81.321], [-62.651, 81.77], [-60.282, 82.034], [-57.207, 82.191], [-54.134, 82.2], [-53.043, 81.888], [-50.391, 82.439], [-48.004, 82.065], [-46.6, 81.986], [-44.523, 81.661], [-46.901, 82.2], [-46.764, 82.628]]]] }, { "N": "Timor-Leste", "I": "TL", "C": [[[[124.969, -8.893], [125.086, -8.657], [125.947, -8.432], [126.645, -8.398], [126.957, -8.273], [127.336, -8.397], [126.968, -8.668], [125.926, -9.106], [125.089, -9.393], [125.07, -9.09], [124.969, -8.893]]]] }, { "N": "South Africa", "I": "ZA", "C": [[[[16.345, -28.577], [16.824, -28.082], [17.219, -28.356], [17.387, -28.784], [17.836, -28.856], [18.465, -29.045], [19.002, -28.972], [19.895, -28.461], [19.896, -24.768], [20.166, -24.918], [20.759, -25.868], [20.666, -26.477], [20.89, -26.829], [21.606, -26.727], [22.106, -26.28], [22.58, -25.979], [22.824, -25.5], [23.312, -25.269], [23.734, -25.39], [24.211, -25.67], [25.025, -25.72], [25.665, -25.487], [25.766, -25.175], [25.942, -24.696], [26.486, -24.616], [26.786, -24.241], [27.119, -23.574], [28.017, -22.828], [29.432, -22.091], [29.839, -22.102], [30.323, -22.272], [30.66, -22.152], [31.191, -22.252], [31.67, -23.659], [31.931, -24.369], [31.752, -25.484], [31.838, -25.843], [31.333, -25.66], [31.044, -25.731], [30.95, -26.023], [30.677, -26.398], [30.686, -26.744], [31.283, -27.286], [31.868, -27.178], [32.072, -26.734], [32.83, -26.742], [32.58, -27.47], [32.462, -28.301], [32.203, -28.752], [31.521, -29.257], [31.326, -29.402], [30.902, -29.91], [30.623, -30.424], [30.056, -31.14], [28.926, -32.172], [28.22, -32.772], [27.465, -33.227], [26.419, -33.615], [25.91, -33.667], [25.781, -33.945], [25.173, -33.797], [24.678, -33.987], [23.594, -33.794], [22.988, -33.916], [22.574, -33.864], [21.543, -34.259], [20.689, -34.417], [20.071, -34.795], [19.616, -34.819], [19.193, -34.463], [18.855, -34.444], [18.425, -33.998], [18.377, -34.137], [18.244, -33.868], [18.25, -33.281], [17.925, -32.611], [18.248, -32.429], [18.222, -31.662], [17.567, -30.726], [17.064, -29.879], [17.063, -29.876], [16.345, -28.577]], [[28.978, -28.956], [28.542, -28.648], [28.074, -28.851], [27.533, -29.243], [26.999, -29.876], [27.749, -30.645], [28.107, -30.546], [28.291, -30.226], [28.848, -30.07], [29.018, -29.744], [29.325, -29.257], [28.978, -28.956]]]] }, { "N": "Lesotho", "I": "LS", "C": [[[[28.978, -28.956], [29.325, -29.257], [29.018, -29.744], [28.848, -30.07], [28.291, -30.226], [28.107, -30.546], [27.749, -30.645], [26.999, -29.876], [27.533, -29.243], [28.074, -28.851], [28.542, -28.648], [28.978, -28.956]]]] }, { "N": "Mexico", "I": "MX", "C": [[[[-117.128, 32.535], [-115.991, 32.612], [-114.721, 32.721], [-114.815, 32.525], [-113.305, 32.039], [-111.024, 31.335], [-109.035, 31.342], [-108.242, 31.342], [-108.24, 31.755], [-106.508, 31.755], [-106.143, 31.4], [-105.632, 31.084], [-105.037, 30.644], [-104.706, 30.122], [-104.457, 29.572], [-103.94, 29.27], [-103.11, 28.97], [-102.48, 29.76], [-101.662, 29.779], [-100.958, 29.381], [-100.456, 28.696], [-100.11, 28.11], [-99.52, 27.54], [-99.3, 26.84], [-99.02, 26.37], [-98.24, 26.06], [-97.53, 25.84], [-97.14, 25.87], [-97.528, 24.992], [-97.703, 24.272], [-97.776, 22.933], [-97.872, 22.444], [-97.699, 21.899], [-97.389, 21.411], [-97.189, 20.635], [-96.526, 19.891], [-96.292, 19.32], [-95.901, 18.828], [-94.839, 18.563], [-94.426, 18.144], [-93.549, 18.424], [-92.786, 18.525], [-92.037, 18.705], [-91.408, 18.876], [-90.772, 19.284], [-90.534, 19.867], [-90.451, 20.708], [-90.279, 21], [-89.601, 21.262], [-88.544, 21.494], [-87.658, 21.459], [-87.052, 21.544], [-86.812, 21.332], [-86.846, 20.85], [-87.383, 20.255], [-87.621, 19.647], [-87.437, 19.472], [-87.587, 19.04], [-87.837, 18.26], [-88.091, 18.517], [-88.3, 18.5], [-88.49, 18.487], [-88.848, 17.883], [-89.03, 18.002], [-89.151, 17.955], [-89.143, 17.808], [-90.068, 17.819], [-91.002, 17.818], [-91.002, 17.255], [-91.454, 17.252], [-91.082, 16.918], [-90.712, 16.687], [-90.601, 16.471], [-90.439, 16.41], [-90.464, 16.07], [-91.748, 16.067], [-92.229, 15.251], [-92.087, 15.065], [-92.203, 14.83], [-92.228, 14.539], [-93.359, 15.615], [-93.875, 15.94], [-94.692, 16.201], [-95.25, 16.128], [-96.053, 15.752], [-96.557, 15.654], [-97.264, 15.917], [-98.013, 16.107], [-98.948, 16.566], [-99.697, 16.706], [-100.829, 17.171], [-101.666, 17.649], [-101.919, 17.916], [-102.478, 17.976], [-103.501, 18.292], [-103.918, 18.749], [-104.992, 19.316], [-105.493, 19.947], [-105.731, 20.434], [-105.398, 20.532], [-105.501, 20.817], [-105.271, 21.076], [-105.266, 21.422], [-105.603, 21.871], [-105.693, 22.269], [-106.029, 22.774], [-106.91, 23.768], [-107.915, 24.549], [-108.402, 25.172], [-109.26, 25.581], [-109.444, 25.825], [-109.292, 26.443], [-109.801, 26.676], [-110.392, 27.162], [-110.641, 27.86], [-111.179, 27.941], [-111.76, 28.468], [-112.228, 28.954], [-112.272, 29.267], [-112.81, 30.021], [-113.164, 30.787], [-113.149, 31.171], [-113.872, 31.568], [-114.206, 31.524], [-114.776, 31.8], [-114.937, 31.393], [-114.771, 30.914], [-114.674, 30.163], [-114.331, 29.75], [-113.589, 29.062], [-113.424, 28.826], [-113.272, 28.755], [-113.14, 28.411], [-112.962, 28.425], [-112.762, 27.78], [-112.458, 27.526], [-112.245, 27.172], [-111.616, 26.663], [-111.285, 25.733], [-110.988, 25.295], [-110.71, 24.826], [-110.655, 24.299], [-110.173, 24.266], [-109.772, 23.811], [-109.409, 23.365], [-109.433, 23.186], [-109.854, 22.818], [-110.031, 22.823], [-110.295, 23.431], [-110.95, 24.001], [-111.671, 24.484], [-112.182, 24.738], [-112.149, 25.47], [-112.301, 26.012], [-112.777, 26.322], [-113.465, 26.768], [-113.597, 26.639], [-113.849, 26.9], [-114.466, 27.142], [-115.055, 27.723], [-114.982, 27.798], [-114.57, 27.741], [-114.199, 28.115], [-114.162, 28.566], [-114.932, 29.279], [-115.519, 29.556], [-115.887, 30.181], [-116.258, 30.836], [-116.722, 31.636], [-117.128, 32.535]]]] }, { "N": "Uruguay", "I": "UY", "C": [[[[-57.625, -30.216], [-56.976, -30.11], [-55.973, -30.883], [-55.602, -30.854], [-54.572, -31.495], [-53.788, -32.047], [-53.21, -32.728], [-53.651, -33.202], [-53.374, -33.768], [-53.806, -34.397], [-54.936, -34.953], [-55.674, -34.753], [-56.215, -34.86], [-57.14, -34.43], [-57.818, -34.463], [-58.427, -33.909], [-58.35, -33.263], [-58.133, -33.041], [-58.142, -32.045], [-57.875, -31.017], [-57.625, -30.216]]]] }, { "N": "Brazil", "I": "BR", "C": [[[[-53.374, -33.768], [-53.651, -33.202], [-53.21, -32.728], [-53.788, -32.047], [-54.572, -31.495], [-55.602, -30.854], [-55.973, -30.883], [-56.976, -30.11], [-57.625, -30.216], [-56.291, -28.853], [-55.162, -27.882], [-54.491, -27.475], [-53.649, -26.923], [-53.628, -26.125], [-54.13, -25.548], [-54.625, -25.739], [-54.429, -25.162], [-54.293, -24.571], [-54.293, -24.021], [-54.653, -23.84], [-55.028, -24.001], [-55.401, -23.957], [-55.518, -23.572], [-55.611, -22.656], [-55.798, -22.357], [-56.473, -22.086], [-56.882, -22.282], [-57.937, -22.09], [-57.871, -20.733], [-58.166, -20.177], [-57.854, -19.97], [-57.95, -19.4], [-57.676, -18.962], [-57.498, -18.174], [-57.735, -17.552], [-58.281, -17.272], [-58.388, -16.877], [-58.241, -16.3], [-60.158, -16.258], [-60.543, -15.094], [-60.251, -15.077], [-60.264, -14.646], [-60.459, -14.354], [-60.503, -13.776], [-61.084, -13.479], [-61.713, -13.489], [-62.127, -13.199], [-62.803, -13.001], [-63.196, -12.627], [-64.316, -12.462], [-65.402, -11.566], [-65.322, -10.896], [-65.445, -10.511], [-65.338, -9.762], [-66.647, -9.931], [-67.174, -10.307], [-68.048, -10.712], [-68.271, -11.015], [-68.786, -11.036], [-69.53, -10.952], [-70.094, -11.124], [-70.549, -11.009], [-70.482, -9.49], [-71.302, -10.079], [-72.185, -10.054], [-72.563, -9.52], [-73.227, -9.462], [-73.015, -9.033], [-73.571, -8.424], [-73.987, -7.524], [-73.723, -7.341], [-73.724, -6.919], [-73.12, -6.63], [-73.22, -6.089], [-72.965, -5.741], [-72.892, -5.275], [-71.748, -4.594], [-70.929, -4.402], [-70.795, -4.251], [-69.894, -4.298], [-69.444, -1.556], [-69.42, -1.123], [-69.577, -0.55], [-70.021, -0.185], [-70.016, 0.541], [-69.452, 0.706], [-69.252, 0.603], [-69.219, 0.986], [-69.805, 1.089], [-69.817, 1.715], [-67.869, 1.692], [-67.538, 2.037], [-67.26, 1.72], [-67.065, 1.13], [-66.876, 1.253], [-66.326, 0.724], [-65.548, 0.789], [-65.355, 1.095], [-64.611, 1.329], [-64.199, 1.493], [-64.083, 1.916], [-63.369, 2.201], [-63.423, 2.411], [-64.27, 2.497], [-64.409, 3.127], [-64.368, 3.797], [-64.816, 4.056], [-64.629, 4.148], [-63.888, 4.021], [-63.093, 3.771], [-62.805, 4.007], [-62.085, 4.162], [-60.967, 4.536], [-60.601, 4.918], [-60.734, 5.2], [-60.214, 5.244], [-59.981, 5.014], [-60.111, 4.575], [-59.767, 4.424], [-59.538, 3.959], [-59.815, 3.606], [-59.975, 2.755], [-59.719, 2.25], [-59.646, 1.787], [-59.031, 1.318], [-58.54, 1.268], [-58.429, 1.464], [-58.113, 1.507], [-57.661, 1.683], [-57.336, 1.949], [-56.783, 1.864], [-56.539, 1.9], [-55.996, 1.818], [-55.906, 2.022], [-56.073, 2.221], [-55.973, 2.51], [-55.57, 2.422], [-55.098, 2.524], [-54.525, 2.312], [-54.088, 2.106], [-53.779, 2.377], [-53.555, 2.335], [-53.418, 2.053], [-52.94, 2.125], [-52.556, 2.505], [-52.249, 3.241], [-51.658, 4.156], [-51.317, 4.203], [-51.07, 3.65], [-50.509, 1.902], [-49.974, 1.736], [-49.947, 1.046], [-50.699, 0.223], [-50.388, -0.078], [-48.621, -0.235], [-48.584, -1.238], [-47.825, -0.582], [-46.567, -0.941], [-44.906, -1.552], [-44.418, -2.138], [-44.582, -2.691], [-43.419, -2.383], [-41.473, -2.912], [-39.979, -2.873], [-38.5, -3.701], [-37.223, -4.821], [-36.453, -5.109], [-35.598, -5.15], [-35.235, -5.465], [-34.896, -6.738], [-34.73, -7.343], [-35.128, -8.996], [-35.637, -9.649], [-37.047, -11.041], [-37.684, -12.171], [-38.424, -13.038], [-38.674, -13.058], [-38.953, -13.793], [-38.882, -15.667], [-39.161, -17.208], [-39.267, -17.868], [-39.584, -18.262], [-39.761, -19.599], [-40.775, -20.905], [-40.945, -21.937], [-41.754, -22.371], [-41.988, -22.97], [-43.075, -22.968], [-44.648, -23.352], [-45.352, -23.797], [-46.472, -24.089], [-47.649, -24.885], [-48.495, -25.877], [-48.641, -26.624], [-48.475, -27.176], [-48.662, -28.186], [-48.888, -28.674], [-49.587, -29.224], [-50.697, -30.984], [-51.576, -31.778], [-52.256, -32.245], [-52.712, -33.197], [-53.374, -33.768]]]] }, { "N": "Bolivia", "I": "BO", "C": [[[[-69.53, -10.952], [-68.786, -11.036], [-68.271, -11.015], [-68.048, -10.712], [-67.174, -10.307], [-66.647, -9.931], [-65.338, -9.762], [-65.445, -10.511], [-65.322, -10.896], [-65.402, -11.566], [-64.316, -12.462], [-63.196, -12.627], [-62.803, -13.001], [-62.127, -13.199], [-61.713, -13.489], [-61.084, -13.479], [-60.503, -13.776], [-60.459, -14.354], [-60.264, -14.646], [-60.251, -15.077], [-60.543, -15.094], [-60.158, -16.258], [-58.241, -16.3], [-58.388, -16.877], [-58.281, -17.272], [-57.735, -17.552], [-57.498, -18.174], [-57.676, -18.962], [-57.95, -19.4], [-57.854, -19.97], [-58.166, -20.177], [-58.183, -19.868], [-59.115, -19.357], [-60.044, -19.343], [-61.786, -19.634], [-62.266, -20.514], [-62.291, -21.052], [-62.685, -22.249], [-62.846, -22.035], [-63.987, -21.994], [-64.377, -22.798], [-64.965, -22.076], [-66.273, -21.832], [-67.107, -22.736], [-67.828, -22.873], [-68.22, -21.494], [-68.757, -20.373], [-68.442, -19.405], [-68.967, -18.982], [-69.1, -18.26], [-69.59, -17.58], [-68.96, -16.501], [-69.39, -15.66], [-69.16, -15.324], [-69.34, -14.953], [-68.949, -14.454], [-68.929, -13.603], [-68.88, -12.9], [-68.665, -12.561], [-69.53, -10.952]]]] }, { "N": "Peru", "I": "PE", "C": [[[[-69.894, -4.298], [-70.795, -4.251], [-70.929, -4.402], [-71.748, -4.594], [-72.892, -5.275], [-72.965, -5.741], [-73.22, -6.089], [-73.12, -6.63], [-73.724, -6.919], [-73.723, -7.341], [-73.987, -7.524], [-73.571, -8.424], [-73.015, -9.033], [-73.227, -9.462], [-72.563, -9.52], [-72.185, -10.054], [-71.302, -10.079], [-70.482, -9.49], [-70.549, -11.009], [-70.094, -11.124], [-69.53, -10.952], [-68.665, -12.561], [-68.88, -12.9], [-68.929, -13.603], [-68.949, -14.454], [-69.34, -14.953], [-69.16, -15.324], [-69.39, -15.66], [-68.96, -16.501], [-69.59, -17.58], [-69.858, -18.093], [-70.373, -18.348], [-71.375, -17.774], [-71.462, -17.363], [-73.445, -16.359], [-75.238, -15.266], [-76.009, -14.649], [-76.423, -13.823], [-76.259, -13.535], [-77.106, -12.223], [-78.092, -10.378], [-79.037, -8.387], [-79.446, -7.931], [-79.761, -7.194], [-80.537, -6.542], [-81.25, -6.137], [-80.926, -5.691], [-81.411, -4.737], [-81.1, -4.036], [-80.303, -3.405], [-80.184, -3.821], [-80.469, -4.059], [-80.442, -4.426], [-80.029, -4.346], [-79.625, -4.454], [-79.205, -4.959], [-78.64, -4.548], [-78.451, -3.873], [-77.838, -3.003], [-76.635, -2.609], [-75.545, -1.562], [-75.234, -0.911], [-75.373, -0.152], [-75.107, -0.057], [-74.442, -0.531], [-74.122, -1.003], [-73.66, -1.26], [-73.07, -2.309], [-72.326, -2.434], [-71.775, -2.17], [-71.414, -2.343], [-70.813, -2.257], [-70.048, -2.725], [-70.693, -3.743], [-70.394, -3.767], [-69.894, -4.298]]]] }, { "N": "Colombia", "I": "CO", "C": [[[[-66.876, 1.253], [-67.065, 1.13], [-67.26, 1.72], [-67.538, 2.037], [-67.869, 1.692], [-69.817, 1.715], [-69.805, 1.089], [-69.219, 0.986], [-69.252, 0.603], [-69.452, 0.706], [-70.016, 0.541], [-70.021, -0.185], [-69.577, -0.55], [-69.42, -1.123], [-69.444, -1.556], [-69.894, -4.298], [-70.394, -3.767], [-70.693, -3.743], [-70.048, -2.725], [-70.813, -2.257], [-71.414, -2.343], [-71.775, -2.17], [-72.326, -2.434], [-73.07, -2.309], [-73.66, -1.26], [-74.122, -1.003], [-74.442, -0.531], [-75.107, -0.057], [-75.373, -0.152], [-75.801, 0.085], [-76.292, 0.416], [-76.576, 0.257], [-77.425, 0.396], [-77.669, 0.826], [-77.855, 0.81], [-78.855, 1.381], [-78.991, 1.691], [-78.618, 1.766], [-78.662, 2.267], [-78.428, 2.63], [-77.932, 2.697], [-77.51, 3.325], [-77.128, 3.85], [-77.496, 4.088], [-77.308, 4.668], [-77.533, 5.583], [-77.319, 5.845], [-77.477, 6.691], [-77.882, 7.224], [-77.753, 7.71], [-77.431, 7.638], [-77.243, 7.935], [-77.475, 8.524], [-77.353, 8.671], [-76.837, 8.639], [-76.086, 9.337], [-75.675, 9.443], [-75.665, 9.774], [-75.48, 10.619], [-74.907, 11.083], [-74.277, 11.102], [-74.197, 11.31], [-73.415, 11.227], [-72.628, 11.732], [-72.238, 11.956], [-71.754, 12.437], [-71.4, 12.376], [-71.137, 12.113], [-71.332, 11.776], [-71.974, 11.609], [-72.228, 11.109], [-72.615, 10.822], [-72.905, 10.45], [-73.028, 9.737], [-73.305, 9.152], [-72.789, 9.085], [-72.66, 8.625], [-72.44, 8.405], [-72.361, 8.003], [-72.48, 7.633], [-72.444, 7.424], [-72.198, 7.34], [-71.96, 6.992], [-70.674, 7.088], [-70.093, 6.96], [-69.389, 6.1], [-68.985, 6.207], [-68.265, 6.153], [-67.695, 6.267], [-67.341, 6.095], [-67.522, 5.557], [-67.745, 5.221], [-67.823, 4.504], [-67.622, 3.839], [-67.338, 3.542], [-67.303, 3.318], [-67.81, 2.821], [-67.447, 2.6], [-67.181, 2.251], [-66.876, 1.253]]]] }, { "N": "Panama", "I": "PA", "C": [[[[-77.353, 8.671], [-77.475, 8.524], [-77.243, 7.935], [-77.431, 7.638], [-77.753, 7.71], [-77.882, 7.224], [-78.215, 7.512], [-78.429, 8.052], [-78.182, 8.319], [-78.435, 8.388], [-78.622, 8.718], [-79.12, 8.996], [-79.558, 8.932], [-79.761, 8.585], [-80.164, 8.333], [-80.383, 8.298], [-80.481, 8.09], [-80.004, 7.548], [-80.277, 7.42], [-80.421, 7.272], [-80.886, 7.221], [-81.06, 7.818], [-81.19, 7.648], [-81.52, 7.707], [-81.721, 8.109], [-82.131, 8.175], [-82.391, 8.292], [-82.82, 8.291], [-82.851, 8.074], [-82.966, 8.225], [-82.913, 8.424], [-82.83, 8.626], [-82.869, 8.807], [-82.719, 8.926], [-82.927, 9.074], [-82.933, 9.477], [-82.546, 9.566], [-82.187, 9.207], [-82.208, 8.996], [-81.809, 8.951], [-81.714, 9.032], [-81.439, 8.786], [-80.947, 8.859], [-80.522, 9.111], [-79.915, 9.313], [-79.573, 9.612], [-79.021, 9.553], [-79.058, 9.455], [-78.501, 9.42], [-78.056, 9.248], [-77.73, 8.947], [-77.353, 8.671]]]] }, { "N": "Costa Rica", "I": "CR", "C": [[[[-82.546, 9.566], [-82.933, 9.477], [-82.927, 9.074], [-82.719, 8.926], [-82.869, 8.807], [-82.83, 8.626], [-82.913, 8.424], [-82.966, 8.225], [-83.508, 8.447], [-83.711, 8.657], [-83.596, 8.83], [-83.633, 9.051], [-83.91, 9.291], [-84.303, 9.487], [-84.648, 9.616], [-84.713, 9.908], [-84.976, 10.087], [-84.911, 9.796], [-85.111, 9.557], [-85.339, 9.835], [-85.661, 9.933], [-85.797, 10.135], [-85.792, 10.439], [-85.659, 10.754], [-85.942, 10.895], [-85.713, 11.088], [-85.562, 11.217], [-84.903, 10.952], [-84.673, 11.083], [-84.356, 10.999], [-84.19, 10.793], [-83.895, 10.727], [-83.656, 10.939], [-83.402, 10.395], [-83.016, 9.993], [-82.546, 9.566]]]] }, { "N": "Nicaragua", "I": "NI", "C": [[[[-83.656, 10.939], [-83.895, 10.727], [-84.19, 10.793], [-84.356, 10.999], [-84.673, 11.083], [-84.903, 10.952], [-85.562, 11.217], [-85.713, 11.088], [-86.058, 11.403], [-86.526, 11.807], [-86.746, 12.144], [-87.168, 12.458], [-87.668, 12.91], [-87.557, 13.065], [-87.392, 12.914], [-87.317, 12.985], [-87.006, 13.026], [-86.881, 13.254], [-86.734, 13.263], [-86.755, 13.755], [-86.521, 13.778], [-86.312, 13.771], [-86.096, 14.038], [-85.801, 13.836], [-85.699, 13.96], [-85.514, 14.079], [-85.165, 14.354], [-85.149, 14.56], [-85.053, 14.552], [-84.925, 14.79], [-84.82, 14.82], [-84.65, 14.667], [-84.449, 14.622], [-84.228, 14.749], [-83.976, 14.749], [-83.629, 14.88], [-83.49, 15.016], [-83.147, 14.996], [-83.233, 14.9], [-83.284, 14.677], [-83.182, 14.311], [-83.412, 13.97], [-83.52, 13.568], [-83.552, 13.127], [-83.499, 12.869], [-83.473, 12.419], [-83.626, 12.321], [-83.72, 11.893], [-83.651, 11.629], [-83.855, 11.373], [-83.809, 11.103], [-83.656, 10.939]]]] }, { "N": "Honduras", "I": "HN", "C": [[[[-83.147, 14.996], [-83.49, 15.016], [-83.629, 14.88], [-83.976, 14.749], [-84.228, 14.749], [-84.449, 14.622], [-84.65, 14.667], [-84.82, 14.82], [-84.925, 14.79], [-85.053, 14.552], [-85.149, 14.56], [-85.165, 14.354], [-85.514, 14.079], [-85.699, 13.96], [-85.801, 13.836], [-86.096, 14.038], [-86.312, 13.771], [-86.521, 13.778], [-86.755, 13.755], [-86.734, 13.263], [-86.881, 13.254], [-87.006, 13.026], [-87.317, 12.985], [-87.489, 13.298], [-87.793, 13.384], [-87.724, 13.785], [-87.86, 13.893], [-88.065, 13.965], [-88.504, 13.845], [-88.541, 13.98], [-88.843, 14.141], [-89.059, 14.34], [-89.353, 14.424], [-89.146, 14.678], [-89.225, 14.874], [-89.155, 15.066], [-88.681, 15.346], [-88.225, 15.728], [-88.121, 15.689], [-87.902, 15.864], [-87.616, 15.879], [-87.523, 15.797], [-87.368, 15.847], [-86.903, 15.757], [-86.441, 15.783], [-86.119, 15.893], [-86.002, 16.005], [-85.683, 15.954], [-85.444, 15.886], [-85.182, 15.909], [-84.984, 15.996], [-84.527, 15.857], [-84.368, 15.835], [-84.063, 15.648], [-83.774, 15.424], [-83.41, 15.271], [-83.147, 14.996]]]] }, { "N": "El Salvador", "I": "SV", "C": [[[[-89.353, 14.424], [-89.059, 14.34], [-88.843, 14.141], [-88.541, 13.98], [-88.504, 13.845], [-88.065, 13.965], [-87.86, 13.893], [-87.724, 13.785], [-87.793, 13.384], [-87.904, 13.149], [-88.483, 13.164], [-88.843, 13.26], [-89.257, 13.459], [-89.812, 13.521], [-90.096, 13.735], [-90.065, 13.882], [-89.722, 14.134], [-89.534, 14.245], [-89.587, 14.363], [-89.353, 14.424]]]] }, { "N": "Guatemala", "I": "GT", "C": [[[[-92.228, 14.539], [-92.203, 14.83], [-92.087, 15.065], [-92.229, 15.251], [-91.748, 16.067], [-90.464, 16.07], [-90.439, 16.41], [-90.601, 16.471], [-90.712, 16.687], [-91.082, 16.918], [-91.454, 17.252], [-91.002, 17.255], [-91.002, 17.818], [-90.068, 17.819], [-89.143, 17.808], [-89.151, 17.016], [-89.229, 15.887], [-88.931, 15.887], [-88.605, 15.706], [-88.518, 15.855], [-88.225, 15.728], [-88.681, 15.346], [-89.155, 15.066], [-89.225, 14.874], [-89.146, 14.678], [-89.353, 14.424], [-89.587, 14.363], [-89.534, 14.245], [-89.722, 14.134], [-90.065, 13.882], [-90.096, 13.735], [-90.609, 13.91], [-91.232, 13.928], [-91.69, 14.126], [-92.228, 14.539]]]] }, { "N": "Belize", "I": "BZ", "C": [[[[-89.143, 17.808], [-89.151, 17.955], [-89.03, 18.002], [-88.848, 17.883], [-88.49, 18.487], [-88.3, 18.5], [-88.296, 18.353], [-88.107, 18.349], [-88.123, 18.077], [-88.285, 17.644], [-88.198, 17.489], [-88.303, 17.132], [-88.24, 17.036], [-88.355, 16.531], [-88.552, 16.265], [-88.732, 16.234], [-88.931, 15.887], [-89.229, 15.887], [-89.151, 17.016], [-89.143, 17.808]]]] }, { "N": "Venezuela", "I": "VE", "C": [[[[-60.734, 5.2], [-60.601, 4.918], [-60.967, 4.536], [-62.085, 4.162], [-62.805, 4.007], [-63.093, 3.771], [-63.888, 4.021], [-64.629, 4.148], [-64.816, 4.056], [-64.368, 3.797], [-64.409, 3.127], [-64.27, 2.497], [-63.423, 2.411], [-63.369, 2.201], [-64.083, 1.916], [-64.199, 1.493], [-64.611, 1.329], [-65.355, 1.095], [-65.548, 0.789], [-66.326, 0.724], [-66.876, 1.253], [-67.181, 2.251], [-67.447, 2.6], [-67.81, 2.821], [-67.303, 3.318], [-67.338, 3.542], [-67.622, 3.839], [-67.823, 4.504], [-67.745, 5.221], [-67.522, 5.557], [-67.341, 6.095], [-67.695, 6.267], [-68.265, 6.153], [-68.985, 6.207], [-69.389, 6.1], [-70.093, 6.96], [-70.674, 7.088], [-71.96, 6.992], [-72.198, 7.34], [-72.444, 7.424], [-72.48, 7.633], [-72.361, 8.003], [-72.44, 8.405], [-72.66, 8.625], [-72.789, 9.085], [-73.305, 9.152], [-73.028, 9.737], [-72.905, 10.45], [-72.615, 10.822], [-72.228, 11.109], [-71.974, 11.609], [-71.332, 11.776], [-71.36, 11.54], [-71.947, 11.423], [-71.621, 10.969], [-71.633, 10.446], [-72.074, 9.866], [-71.696, 9.072], [-71.265, 9.137], [-71.04, 9.86], [-71.35, 10.212], [-71.401, 10.969], [-70.155, 11.375], [-70.294, 11.847], [-69.943, 12.162], [-69.584, 11.46], [-68.883, 11.443], [-68.233, 10.886], [-68.194, 10.555], [-67.296, 10.546], [-66.228, 10.649], [-65.655, 10.201], [-64.89, 10.077], [-64.329, 10.39], [-64.318, 10.641], [-63.079, 10.702], [-61.881, 10.716], [-62.73, 10.42], [-62.389, 9.948], [-61.589, 9.873], [-60.831, 9.381], [-60.671, 8.58], [-60.15, 8.603], [-59.758, 8.367], [-60.551, 7.78], [-60.638, 7.415], [-60.296, 7.044], [-60.544, 6.857], [-61.159, 6.696], [-61.139, 6.234], [-61.41, 5.959], [-60.734, 5.2]]]] }, { "N": "Guyana", "I": "GY", "C": [[[[-56.539, 1.9], [-56.783, 1.864], [-57.336, 1.949], [-57.661, 1.683], [-58.113, 1.507], [-58.429, 1.464], [-58.54, 1.268], [-59.031, 1.318], [-59.646, 1.787], [-59.719, 2.25], [-59.975, 2.755], [-59.815, 3.606], [-59.538, 3.959], [-59.767, 4.424], [-60.111, 4.575], [-59.981, 5.014], [-60.214, 5.244], [-60.734, 5.2], [-61.41, 5.959], [-61.139, 6.234], [-61.159, 6.696], [-60.544, 6.857], [-60.296, 7.044], [-60.638, 7.415], [-60.551, 7.78], [-59.758, 8.367], [-59.102, 7.999], [-58.483, 7.348], [-58.455, 6.833], [-58.078, 6.809], [-57.542, 6.321], [-57.147, 5.973], [-57.307, 5.074], [-57.914, 4.813], [-57.86, 4.577], [-58.045, 4.061], [-57.602, 3.335], [-57.281, 3.333], [-57.15, 2.769], [-56.539, 1.9]]]] }, { "N": "Suriname", "I": "SR", "C": [[[[-54.525, 2.312], [-55.098, 2.524], [-55.57, 2.422], [-55.973, 2.51], [-56.073, 2.221], [-55.906, 2.022], [-55.996, 1.818], [-56.539, 1.9], [-57.15, 2.769], [-57.281, 3.333], [-57.602, 3.335], [-58.045, 4.061], [-57.86, 4.577], [-57.914, 4.813], [-57.307, 5.074], [-57.147, 5.973], [-55.949, 5.773], [-55.842, 5.953], [-55.033, 6.025], [-53.958, 5.757], [-54.479, 4.897], [-54.4, 4.213], [-54.007, 3.62], [-54.182, 3.19], [-54.27, 2.732], [-54.525, 2.312]]]] }, { "N": "France", "I": "FR", "C": [[[[-51.658, 4.156], [-52.249, 3.241], [-52.556, 2.505], [-52.94, 2.125], [-53.418, 2.053], [-53.555, 2.335], [-53.779, 2.377], [-54.088, 2.106], [-54.525, 2.312], [-54.27, 2.732], [-54.182, 3.19], [-54.007, 3.62], [-54.4, 4.213], [-54.479, 4.897], [-53.958, 5.757], [-53.618, 5.647], [-52.882, 5.41], [-51.823, 4.566], [-51.658, 4.156]]], [[[8.746, 42.628], [9.39, 43.01], [9.56, 42.152], [9.23, 41.38], [8.776, 41.584], [8.544, 42.257], [8.746, 42.628]]], [[[6.186, 49.464], [6.658, 49.202], [8.099, 49.018], [7.594, 48.333], [7.467, 47.621], [7.192, 47.45], [6.737, 47.542], [6.769, 47.288], [6.037, 46.726], [6.023, 46.273], [6.5, 46.43], [6.844, 45.991], [6.802, 45.709], [7.097, 45.333], [6.75, 45.029], [7.008, 44.255], [7.55, 44.128], [7.435, 43.694], [6.529, 43.129], [4.557, 43.4], [3.1, 43.075], [2.986, 42.473], [1.827, 42.343], [0.702, 42.796], [0.338, 42.58], [-1.503, 43.034], [-1.901, 43.423], [-1.384, 44.023], [-1.194, 46.015], [-2.226, 47.064], [-2.963, 47.57], [-4.492, 47.955], [-4.592, 48.684], [-3.296, 48.902], [-1.617, 48.644], [-1.933, 49.776], [-0.989, 49.347], [1.339, 50.127], [1.639, 50.947], [2.514, 51.149], [2.658, 50.797], [3.123, 50.78], [3.588, 50.379], [4.286, 49.907], [4.799, 49.985], [5.674, 49.529], [5.898, 49.443], [6.186, 49.464]]], [[[8.746, 42.628], [9.39, 43.01], [9.56, 42.152], [9.23, 41.38], [8.776, 41.584], [8.544, 42.257], [8.746, 42.628]]]] }, { "N": "Ecuador", "I": "EC", "C": [[[[-75.373, -0.152], [-75.234, -0.911], [-75.545, -1.562], [-76.635, -2.609], [-77.838, -3.003], [-78.451, -3.873], [-78.64, -4.548], [-79.205, -4.959], [-79.625, -4.454], [-80.029, -4.346], [-80.442, -4.426], [-80.469, -4.059], [-80.184, -3.821], [-80.303, -3.405], [-79.77, -2.658], [-79.987, -2.221], [-80.369, -2.685], [-80.968, -2.247], [-80.765, -1.965], [-80.934, -1.057], [-80.583, -0.907], [-80.399, -0.284], [-80.021, 0.36], [-80.091, 0.768], [-79.543, 0.983], [-78.855, 1.381], [-77.855, 0.81], [-77.669, 0.826], [-77.425, 0.396], [-76.576, 0.257], [-76.292, 0.416], [-75.801, 0.085], [-75.373, -0.152]]]] }, { "N": "Puerto Rico", "I": "PR", "C": [[[[-66.282, 18.515], [-65.771, 18.427], [-65.591, 18.228], [-65.847, 17.976], [-66.6, 17.982], [-67.184, 17.947], [-67.242, 18.374], [-67.101, 18.521], [-66.282, 18.515]]]] }, { "N": "Jamaica", "I": "JM", "C": [[[[-77.57, 18.491], [-76.897, 18.401], [-76.365, 18.161], [-76.2, 17.887], [-76.903, 17.868], [-77.206, 17.701], [-77.766, 17.862], [-78.338, 18.226], [-78.218, 18.455], [-77.797, 18.524], [-77.57, 18.491]]]] }, { "N": "Cuba", "I": "CU", "C": [[[[-82.268, 23.189], [-81.404, 23.117], [-80.619, 23.106], [-79.68, 22.765], [-79.281, 22.399], [-78.347, 22.512], [-77.993, 22.277], [-77.146, 21.658], [-76.524, 21.207], [-76.195, 21.221], [-75.598, 21.017], [-75.671, 20.735], [-74.934, 20.694], [-74.178, 20.285], [-74.297, 20.05], [-74.962, 19.923], [-75.635, 19.874], [-76.324, 19.953], [-77.755, 19.855], [-77.085, 20.413], [-77.493, 20.673], [-78.137, 20.74], [-78.483, 21.029], [-78.72, 21.598], [-79.285, 21.559], [-80.217, 21.827], [-80.518, 22.037], [-81.821, 22.192], [-82.17, 22.387], [-81.795, 22.637], [-82.776, 22.688], [-83.494, 22.169], [-83.909, 22.155], [-84.052, 21.911], [-84.547, 21.801], [-84.975, 21.896], [-84.447, 22.205], [-84.23, 22.566], [-83.778, 22.788], [-83.268, 22.983], [-82.51, 23.079], [-82.268, 23.189]]]] }, { "N": "Zimbabwe", "I": "ZW", "C": [[[[31.191, -22.252], [30.66, -22.152], [30.323, -22.272], [29.839, -22.102], [29.432, -22.091], [28.795, -21.639], [28.021, -21.486], [27.727, -20.852], [27.725, -20.499], [27.297, -20.392], [26.165, -19.293], [25.85, -18.714], [25.649, -18.536], [25.264, -17.737], [26.382, -17.846], [26.707, -17.961], [27.044, -17.938], [27.598, -17.291], [28.468, -16.468], [28.826, -16.39], [28.947, -16.043], [29.517, -15.645], [30.274, -15.508], [30.339, -15.881], [31.173, -15.861], [31.636, -16.072], [31.852, -16.319], [32.328, -16.392], [32.848, -16.713], [32.85, -17.979], [32.655, -18.672], [32.612, -19.419], [32.773, -19.716], [32.66, -20.304], [32.509, -20.395], [32.245, -21.116], [31.191, -22.252]]]] }, { "N": "Botswana", "I": "BW", "C": [[[[29.432, -22.091], [28.017, -22.828], [27.119, -23.574], [26.786, -24.241], [26.486, -24.616], [25.942, -24.696], [25.766, -25.175], [25.665, -25.487], [25.025, -25.72], [24.211, -25.67], [23.734, -25.39], [23.312, -25.269], [22.824, -25.5], [22.58, -25.979], [22.106, -26.28], [21.606, -26.727], [20.89, -26.829], [20.666, -26.477], [20.759, -25.868], [20.166, -24.918], [19.896, -24.768], [19.895, -21.849], [20.881, -21.814], [20.911, -18.252], [21.655, -18.219], [23.197, -17.869], [23.579, -18.281], [24.217, -17.889], [24.521, -17.887], [25.084, -17.662], [25.264, -17.737], [25.649, -18.536], [25.85, -18.714], [26.165, -19.293], [27.297, -20.392], [27.725, -20.499], [27.727, -20.852], [28.021, -21.486], [28.795, -21.639], [29.432, -22.091]]]] }, { "N": "Namibia", "I": "NA", "C": [[[[19.896, -24.768], [19.895, -28.461], [19.002, -28.972], [18.465, -29.045], [17.836, -28.856], [17.387, -28.784], [17.219, -28.356], [16.824, -28.082], [16.345, -28.577], [15.602, -27.821], [15.21, -27.091], [14.99, -26.117], [14.743, -25.393], [14.408, -23.853], [14.386, -22.657], [14.258, -22.111], [13.869, -21.699], [13.352, -20.873], [12.827, -19.673], [12.609, -19.045], [11.795, -18.069], [11.734, -17.302], [12.215, -17.112], [12.814, -16.941], [13.462, -16.971], [14.059, -17.423], [14.21, -17.353], [18.263, -17.31], [18.956, -17.789], [21.377, -17.931], [23.215, -17.523], [24.034, -17.296], [24.682, -17.353], [25.077, -17.579], [25.084, -17.662], [24.521, -17.887], [24.217, -17.889], [23.579, -18.281], [23.197, -17.869], [21.655, -18.219], [20.911, -18.252], [20.881, -21.814], [19.895, -21.849], [19.896, -24.768]]]] }, { "N": "Senegal", "I": "SN", "C": [[[[-16.714, 13.595], [-17.126, 14.374], [-17.625, 14.73], [-17.185, 14.919], [-16.701, 15.622], [-16.463, 16.135], [-16.121, 16.456], [-15.624, 16.369], [-15.136, 16.587], [-14.577, 16.598], [-14.1, 16.304], [-13.436, 16.039], [-12.831, 15.304], [-12.171, 14.617], [-12.125, 13.995], [-11.928, 13.422], [-11.553, 13.141], [-11.468, 12.755], [-11.514, 12.443], [-11.658, 12.387], [-12.204, 12.466], [-12.279, 12.354], [-12.499, 12.332], [-13.218, 12.576], [-13.7, 12.586], [-15.548, 12.628], [-15.817, 12.516], [-16.148, 12.548], [-16.677, 12.385], [-16.842, 13.151], [-15.931, 13.13], [-15.691, 13.27], [-15.512, 13.279], [-15.141, 13.51], [-14.712, 13.298], [-14.278, 13.281], [-13.845, 13.505], [-14.047, 13.794], [-14.377, 13.626], [-14.687, 13.63], [-15.082, 13.876], [-15.399, 13.86], [-15.625, 13.624], [-16.714, 13.595]]]] }, { "N": "Mali", "I": "ML", "C": [[[[-11.514, 12.443], [-11.468, 12.755], [-11.553, 13.141], [-11.928, 13.422], [-12.125, 13.995], [-12.171, 14.617], [-11.834, 14.799], [-11.666, 15.388], [-11.349, 15.411], [-10.651, 15.133], [-10.087, 15.33], [-9.7, 15.264], [-9.55, 15.486], [-5.538, 15.502], [-5.315, 16.202], [-5.489, 16.325], [-5.971, 20.641], [-6.454, 24.957], [-4.923, 24.975], [-1.55, 22.793], [1.823, 20.611], [2.061, 20.142], [2.684, 19.856], [3.147, 19.694], [3.158, 19.057], [4.267, 19.155], [4.27, 16.852], [3.723, 16.184], [3.638, 15.568], [2.75, 15.41], [1.386, 15.324], [1.016, 14.968], [0.375, 14.929], [-0.266, 14.924], [-0.516, 15.116], [-1.066, 14.974], [-2.001, 14.559], [-2.192, 14.246], [-2.968, 13.798], [-3.104, 13.541], [-3.523, 13.338], [-4.006, 13.472], [-4.28, 13.228], [-4.427, 12.543], [-5.221, 11.714], [-5.198, 11.375], [-5.471, 10.951], [-5.404, 10.371], [-5.817, 10.223], [-6.05, 10.096], [-6.205, 10.524], [-6.494, 10.411], [-6.666, 10.431], [-6.851, 10.139], [-7.623, 10.147], [-7.9, 10.297], [-8.03, 10.207], [-8.335, 10.495], [-8.282, 10.793], [-8.407, 10.909], [-8.62, 10.811], [-8.581, 11.136], [-8.376, 11.394], [-8.786, 11.813], [-8.905, 12.088], [-9.127, 12.308], [-9.328, 12.334], [-9.568, 12.194], [-9.891, 12.06], [-10.165, 11.844], [-10.593, 11.924], [-10.871, 12.178], [-11.037, 12.211], [-11.298, 12.078], [-11.456, 12.077], [-11.514, 12.443]]]] }, { "N": "Mauritania", "I": "MR", "C": [[[[-17.063, 21], [-16.845, 21.333], [-12.929, 21.327], [-13.119, 22.771], [-12.874, 23.285], [-11.937, 23.375], [-11.969, 25.933], [-8.687, 25.881], [-8.684, 27.396], [-4.923, 24.975], [-6.454, 24.957], [-5.971, 20.641], [-5.489, 16.325], [-5.315, 16.202], [-5.538, 15.502], [-9.55, 15.486], [-9.7, 15.264], [-10.087, 15.33], [-10.651, 15.133], [-11.349, 15.411], [-11.666, 15.388], [-11.834, 14.799], [-12.171, 14.617], [-12.831, 15.304], [-13.436, 16.039], [-14.1, 16.304], [-14.577, 16.598], [-15.136, 16.587], [-15.624, 16.369], [-16.121, 16.456], [-16.463, 16.135], [-16.55, 16.674], [-16.271, 17.167], [-16.146, 18.108], [-16.257, 19.097], [-16.378, 19.594], [-16.278, 20.093], [-16.536, 20.568], [-17.063, 21]]]] }, { "N": "Benin", "I": "BJ", "C": [[[[2.692, 6.259], [1.865, 6.142], [1.619, 6.832], [1.664, 9.129], [1.463, 9.335], [1.425, 9.825], [1.078, 10.176], [0.772, 10.471], [0.9, 10.997], [1.243, 11.111], [1.447, 11.548], [1.936, 11.641], [2.154, 11.94], [2.49, 12.233], [2.849, 12.236], [3.611, 11.66], [3.572, 11.328], [3.797, 10.735], [3.6, 10.332], [3.705, 10.063], [3.22, 9.444], [2.912, 9.138], [2.724, 8.507], [2.749, 7.871], [2.692, 6.259]]]] }, { "N": "Niger", "I": "NE", "C": [[[[14.851, 22.863], [15.097, 21.309], [15.471, 21.048], [15.487, 20.73], [15.903, 20.388], [15.686, 19.957], [15.3, 17.928], [15.248, 16.627], [13.972, 15.684], [13.54, 14.367], [13.957, 13.997], [13.954, 13.353], [14.596, 13.33], [14.496, 12.859], [14.214, 12.802], [14.181, 12.484], [13.995, 12.462], [13.319, 13.556], [13.084, 13.596], [12.302, 13.037], [11.528, 13.329], [10.99, 13.387], [10.701, 13.247], [10.115, 13.277], [9.525, 12.851], [9.015, 12.827], [7.805, 13.344], [7.331, 13.098], [6.82, 13.115], [6.445, 13.493], [5.443, 13.866], [4.368, 13.747], [4.108, 13.531], [3.967, 12.956], [3.681, 12.553], [3.611, 11.66], [2.849, 12.236], [2.49, 12.233], [2.154, 11.94], [2.177, 12.625], [1.024, 12.852], [0.993, 13.336], [0.43, 13.989], [0.296, 14.444], [0.375, 14.929], [1.016, 14.968], [1.386, 15.324], [2.75, 15.41], [3.638, 15.568], [3.723, 16.184], [4.27, 16.852], [4.267, 19.155], [5.678, 19.601], [8.573, 21.566], [12, 23.472], [13.581, 23.041], [14.144, 22.491], [14.851, 22.863]]]] }, { "N": "Nigeria", "I": "NG", "C": [[[[2.692, 6.259], [2.749, 7.871], [2.724, 8.507], [2.912, 9.138], [3.22, 9.444], [3.705, 10.063], [3.6, 10.332], [3.797, 10.735], [3.572, 11.328], [3.611, 11.66], [3.681, 12.553], [3.967, 12.956], [4.108, 13.531], [4.368, 13.747], [5.443, 13.866], [6.445, 13.493], [6.82, 13.115], [7.331, 13.098], [7.805, 13.344], [9.015, 12.827], [9.525, 12.851], [10.115, 13.277], [10.701, 13.247], [10.99, 13.387], [11.528, 13.329], [12.302, 13.037], [13.084, 13.596], [13.319, 13.556], [13.995, 12.462], [14.181, 12.484], [14.577, 12.085], [14.468, 11.905], [14.415, 11.572], [13.573, 10.799], [13.309, 10.16], [13.168, 9.641], [12.955, 9.418], [12.754, 8.718], [12.219, 8.306], [12.064, 7.8], [11.839, 7.397], [11.746, 6.981], [11.059, 6.644], [10.497, 7.055], [10.118, 7.039], [9.523, 6.453], [9.233, 6.444], [8.758, 5.48], [8.5, 4.772], [7.462, 4.412], [7.083, 4.465], [6.698, 4.241], [5.898, 4.262], [5.363, 4.888], [5.034, 5.612], [4.326, 6.271], [3.574, 6.258], [2.692, 6.259]]]] }, { "N": "Cameroon", "I": "CM", "C": [[[[14.496, 12.859], [14.893, 12.219], [14.96, 11.556], [14.924, 10.891], [15.468, 9.982], [14.909, 9.992], [14.627, 9.921], [14.171, 10.021], [13.954, 9.549], [14.544, 8.966], [14.98, 8.796], [15.121, 8.382], [15.436, 7.693], [15.279, 7.422], [14.777, 6.408], [14.537, 6.227], [14.459, 5.452], [14.559, 5.031], [14.478, 4.733], [14.951, 4.21], [15.036, 3.851], [15.405, 3.335], [15.863, 3.014], [15.907, 2.557], [16.013, 2.268], [15.941, 1.728], [15.146, 1.964], [14.338, 2.228], [13.076, 2.267], [12.951, 2.322], [12.359, 2.193], [11.752, 2.327], [11.276, 2.261], [9.649, 2.284], [9.795, 3.073], [9.404, 3.735], [8.948, 3.904], [8.745, 4.352], [8.489, 4.496], [8.5, 4.772], [8.758, 5.48], [9.233, 6.444], [9.523, 6.453], [10.118, 7.039], [10.497, 7.055], [11.059, 6.644], [11.746, 6.981], [11.839, 7.397], [12.064, 7.8], [12.219, 8.306], [12.754, 8.718], [12.955, 9.418], [13.168, 9.641], [13.309, 10.16], [13.573, 10.799], [14.415, 11.572], [14.468, 11.905], [14.577, 12.085], [14.181, 12.484], [14.214, 12.802], [14.496, 12.859]]]] }, { "N": "Togo", "I": "TG", "C": [[[[0.9, 10.997], [0.772, 10.471], [1.078, 10.176], [1.425, 9.825], [1.463, 9.335], [1.664, 9.129], [1.619, 6.832], [1.865, 6.142], [1.06, 5.929], [0.837, 6.28], [0.57, 6.914], [0.491, 7.412], [0.712, 8.312], [0.461, 8.677], [0.366, 9.465], [0.368, 10.191], [-0.05, 10.707], [0.024, 11.019], [0.9, 10.997]]]] }, { "N": "Ghana", "I": "GH", "C": [[[[0.024, 11.019], [-0.05, 10.707], [0.368, 10.191], [0.366, 9.465], [0.461, 8.677], [0.712, 8.312], [0.491, 7.412], [0.57, 6.914], [0.837, 6.28], [1.06, 5.929], [-0.508, 5.343], [-1.064, 5.001], [-1.965, 4.71], [-2.856, 4.994], [-2.811, 5.389], [-3.244, 6.25], [-2.984, 7.38], [-2.562, 8.22], [-2.827, 9.642], [-2.964, 10.395], [-2.94, 10.963], [-1.203, 11.01], [-0.762, 10.937], [-0.439, 11.098], [0.024, 11.019]]]] }, { "N": "CĂ´te d'Ivoire", "I": "CI", "C": [[[[-8.03, 10.207], [-7.9, 10.297], [-7.623, 10.147], [-6.851, 10.139], [-6.666, 10.431], [-6.494, 10.411], [-6.205, 10.524], [-6.05, 10.096], [-5.817, 10.223], [-5.404, 10.371], [-4.955, 10.153], [-4.78, 9.822], [-4.33, 9.611], [-3.98, 9.862], [-3.512, 9.9], [-2.827, 9.642], [-2.562, 8.22], [-2.984, 7.38], [-3.244, 6.25], [-2.811, 5.389], [-2.856, 4.994], [-3.311, 4.984], [-4.009, 5.18], [-4.65, 5.168], [-5.834, 4.994], [-6.529, 4.705], [-7.519, 4.338], [-7.712, 4.365], [-7.635, 5.188], [-7.54, 5.313], [-7.57, 5.707], [-7.994, 6.126], [-8.311, 6.193], [-8.603, 6.468], [-8.385, 6.912], [-8.485, 7.395], [-8.439, 7.686], [-8.281, 7.687], [-8.222, 8.123], [-8.299, 8.316], [-8.203, 8.455], [-7.832, 8.576], [-8.079, 9.376], [-8.31, 9.79], [-8.229, 10.129], [-8.03, 10.207]]]] }, { "N": "Guinea", "I": "GN", "C": [[[[-13.7, 12.586], [-13.218, 12.576], [-12.499, 12.332], [-12.279, 12.354], [-12.204, 12.466], [-11.658, 12.387], [-11.514, 12.443], [-11.456, 12.077], [-11.298, 12.078], [-11.037, 12.211], [-10.871, 12.178], [-10.593, 11.924], [-10.165, 11.844], [-9.891, 12.06], [-9.568, 12.194], [-9.328, 12.334], [-9.127, 12.308], [-8.905, 12.088], [-8.786, 11.813], [-8.376, 11.394], [-8.581, 11.136], [-8.62, 10.811], [-8.407, 10.909], [-8.282, 10.793], [-8.335, 10.495], [-8.03, 10.207], [-8.229, 10.129], [-8.31, 9.79], [-8.079, 9.376], [-7.832, 8.576], [-8.203, 8.455], [-8.299, 8.316], [-8.222, 8.123], [-8.281, 7.687], [-8.439, 7.686], [-8.722, 7.712], [-8.926, 7.309], [-9.209, 7.314], [-9.403, 7.527], [-9.337, 7.929], [-9.755, 8.541], [-10.017, 8.429], [-10.23, 8.406], [-10.505, 8.349], [-10.494, 8.716], [-10.655, 8.977], [-10.622, 9.268], [-10.839, 9.688], [-11.117, 10.046], [-11.917, 10.047], [-12.15, 9.859], [-12.426, 9.836], [-12.597, 9.62], [-12.712, 9.343], [-13.247, 8.903], [-13.685, 9.495], [-14.074, 9.886], [-14.33, 10.016], [-14.58, 10.214], [-14.693, 10.656], [-14.84, 10.877], [-15.13, 11.04], [-14.686, 11.528], [-14.382, 11.509], [-14.121, 11.677], [-13.901, 11.679], [-13.743, 11.811], [-13.828, 12.143], [-13.719, 12.247], [-13.7, 12.586]]]] }, { "N": "Guinea-Bissau", "I": "GW", "C": [[[[-16.677, 12.385], [-16.148, 12.548], [-15.817, 12.516], [-15.548, 12.628], [-13.7, 12.586], [-13.719, 12.247], [-13.828, 12.143], [-13.743, 11.811], [-13.901, 11.679], [-14.121, 11.677], [-14.382, 11.509], [-14.686, 11.528], [-15.13, 11.04], [-15.664, 11.458], [-16.085, 11.525], [-16.315, 11.807], [-16.309, 11.959], [-16.614, 12.171], [-16.677, 12.385]]]] }, { "N": "Liberia", "I": "LR", "C": [[[[-8.439, 7.686], [-8.485, 7.395], [-8.385, 6.912], [-8.603, 6.468], [-8.311, 6.193], [-7.994, 6.126], [-7.57, 5.707], [-7.54, 5.313], [-7.635, 5.188], [-7.712, 4.365], [-7.974, 4.356], [-9.005, 4.832], [-9.913, 5.594], [-10.765, 6.141], [-11.439, 6.786], [-11.2, 7.106], [-11.147, 7.397], [-10.696, 7.939], [-10.23, 8.406], [-10.017, 8.429], [-9.755, 8.541], [-9.337, 7.929], [-9.403, 7.527], [-9.209, 7.314], [-8.926, 7.309], [-8.722, 7.712], [-8.439, 7.686]]]] }, { "N": "Sierra Leone", "I": "SL", "C": [[[[-13.247, 8.903], [-12.712, 9.343], [-12.597, 9.62], [-12.426, 9.836], [-12.15, 9.859], [-11.917, 10.047], [-11.117, 10.046], [-10.839, 9.688], [-10.622, 9.268], [-10.655, 8.977], [-10.494, 8.716], [-10.505, 8.349], [-10.23, 8.406], [-10.696, 7.939], [-11.147, 7.397], [-11.2, 7.106], [-11.439, 6.786], [-11.708, 6.86], [-12.428, 7.263], [-12.949, 7.799], [-13.124, 8.164], [-13.247, 8.903]]]] }, { "N": "Burkina Faso", "I": "BF", "C": [[[[-5.404, 10.371], [-5.471, 10.951], [-5.198, 11.375], [-5.221, 11.714], [-4.427, 12.543], [-4.28, 13.228], [-4.006, 13.472], [-3.523, 13.338], [-3.104, 13.541], [-2.968, 13.798], [-2.192, 14.246], [-2.001, 14.559], [-1.066, 14.974], [-0.516, 15.116], [-0.266, 14.924], [0.375, 14.929], [0.296, 14.444], [0.43, 13.989], [0.993, 13.336], [1.024, 12.852], [2.177, 12.625], [2.154, 11.94], [1.936, 11.641], [1.447, 11.548], [1.243, 11.111], [0.9, 10.997], [0.024, 11.019], [-0.439, 11.098], [-0.762, 10.937], [-1.203, 11.01], [-2.94, 10.963], [-2.964, 10.395], [-2.827, 9.642], [-3.512, 9.9], [-3.98, 9.862], [-4.33, 9.611], [-4.78, 9.822], [-4.955, 10.153], [-5.404, 10.371]]]] }, { "N": "Central African Republic", "I": "CF", "C": [[[[27.374, 5.234], [27.044, 5.128], [26.403, 5.151], [25.65, 5.256], [25.279, 5.17], [25.129, 4.927], [24.805, 4.897], [24.411, 5.109], [23.297, 4.61], [22.841, 4.71], [22.704, 4.633], [22.405, 4.029], [21.659, 4.224], [20.928, 4.323], [20.291, 4.692], [19.468, 5.032], [18.932, 4.71], [18.543, 4.202], [18.453, 3.504], [17.81, 3.56], [17.133, 3.728], [16.537, 3.198], [16.013, 2.268], [15.907, 2.557], [15.863, 3.014], [15.405, 3.335], [15.036, 3.851], [14.951, 4.21], [14.478, 4.733], [14.559, 5.031], [14.459, 5.452], [14.537, 6.227], [14.777, 6.408], [15.279, 7.422], [16.106, 7.497], [16.291, 7.754], [16.456, 7.735], [16.706, 7.508], [17.965, 7.891], [18.39, 8.281], [18.911, 8.631], [18.812, 8.983], [19.094, 9.075], [20.06, 9.013], [21.001, 9.476], [21.724, 10.567], [22.231, 10.972], [22.864, 11.142], [22.978, 10.714], [23.554, 10.089], [23.557, 9.681], [23.395, 9.265], [23.459, 8.954], [23.806, 8.666], [24.567, 8.229], [25.115, 7.825], [25.124, 7.5], [25.797, 6.979], [26.213, 6.547], [26.466, 5.947], [27.213, 5.551], [27.374, 5.234]]]] }, { "N": "Republic of the Congo", "I": "CG", "C": [[[[18.453, 3.504], [18.394, 2.9], [18.094, 2.366], [17.899, 1.742], [17.774, 0.856], [17.827, 0.289], [17.664, -0.058], [17.639, -0.425], [17.524, -0.744], [16.865, -1.226], [16.407, -1.741], [15.973, -2.712], [16.006, -3.535], [15.754, -3.855], [15.171, -4.344], [14.583, -4.97], [14.209, -4.793], [14.145, -4.51], [13.6, -4.5], [13.258, -4.883], [12.996, -4.781], [12.621, -4.438], [12.319, -4.606], [11.915, -5.038], [11.094, -3.979], [11.855, -3.427], [11.478, -2.766], [11.821, -2.514], [12.496, -2.392], [12.575, -1.949], [13.11, -2.429], [13.992, -2.471], [14.299, -1.998], [14.425, -1.333], [14.316, -0.553], [13.843, 0.039], [14.276, 1.197], [14.027, 1.396], [13.283, 1.314], [13.003, 1.831], [13.076, 2.267], [14.338, 2.228], [15.146, 1.964], [15.941, 1.728], [16.013, 2.268], [16.537, 3.198], [17.133, 3.728], [17.81, 3.56], [18.453, 3.504]]]] }, { "N": "Gabon", "I": "GA", "C": [[[[11.276, 2.261], [11.752, 2.327], [12.359, 2.193], [12.951, 2.322], [13.076, 2.267], [13.003, 1.831], [13.283, 1.314], [14.027, 1.396], [14.276, 1.197], [13.843, 0.039], [14.316, -0.553], [14.425, -1.333], [14.299, -1.998], [13.992, -2.471], [13.11, -2.429], [12.575, -1.949], [12.496, -2.392], [11.821, -2.514], [11.478, -2.766], [11.855, -3.427], [11.094, -3.979], [10.066, -2.969], [9.405, -2.144], [8.798, -1.111], [8.83, -0.779], [9.048, -0.459], [9.291, 0.269], [9.493, 1.01], [9.83, 1.068], [11.285, 1.058], [11.276, 2.261]]]] }, { "N": "Equatorial Guinea", "I": "GQ", "C": [[[[9.649, 2.284], [11.276, 2.261], [11.285, 1.058], [9.83, 1.068], [9.493, 1.01], [9.306, 1.161], [9.649, 2.284]]]] }, { "N": "Zambia", "I": "ZM", "C": [[[[30.74, -8.34], [31.158, -8.595], [31.556, -8.762], [32.192, -8.93], [32.759, -9.231], [33.231, -9.677], [33.486, -10.526], [33.315, -10.797], [33.114, -11.607], [33.306, -12.436], [32.992, -12.784], [32.688, -13.713], [33.214, -13.972], [30.179, -14.796], [30.274, -15.508], [29.517, -15.645], [28.947, -16.043], [28.826, -16.39], [28.468, -16.468], [27.598, -17.291], [27.044, -17.938], [26.707, -17.961], [26.382, -17.846], [25.264, -17.737], [25.084, -17.662], [25.077, -17.579], [24.682, -17.353], [24.034, -17.296], [23.215, -17.523], [22.562, -16.898], [21.888, -16.08], [21.934, -12.898], [24.016, -12.911], [23.931, -12.566], [24.08, -12.191], [23.904, -11.722], [24.018, -11.237], [23.912, -10.927], [24.257, -10.952], [24.315, -11.263], [24.783, -11.239], [25.418, -11.331], [25.752, -11.785], [26.553, -11.924], [27.164, -11.609], [27.389, -12.133], [28.155, -12.272], [28.524, -12.699], [28.934, -13.249], [29.7, -13.257], [29.616, -12.179], [29.342, -12.361], [28.642, -11.972], [28.372, -11.794], [28.496, -10.79], [28.674, -9.606], [28.45, -9.165], [28.735, -8.527], [29.003, -8.407], [30.346, -8.238], [30.74, -8.34]]]] }, { "N": "Malawi", "I": "MW", "C": [[[[32.759, -9.231], [33.74, -9.417], [33.941, -9.694], [34.28, -10.16], [34.56, -11.52], [34.28, -12.28], [34.56, -13.58], [34.907, -13.565], [35.268, -13.888], [35.687, -14.611], [35.772, -15.897], [35.339, -16.107], [35.034, -16.801], [34.381, -16.184], [34.307, -15.479], [34.518, -15.014], [34.46, -14.613], [34.065, -14.36], [33.79, -14.452], [33.214, -13.972], [32.688, -13.713], [32.992, -12.784], [33.306, -12.436], [33.114, -11.607], [33.315, -10.797], [33.486, -10.526], [33.231, -9.677], [32.759, -9.231]]]] }, { "N": "Mozambique", "I": "MZ", "C": [[[[34.56, -11.52], [35.312, -11.439], [36.514, -11.721], [36.775, -11.595], [37.471, -11.569], [37.828, -11.269], [38.428, -11.285], [39.521, -10.897], [40.317, -10.317], [40.317, -10.317], [40.317, -10.317], [40.478, -10.765], [40.437, -11.762], [40.561, -12.639], [40.6, -14.202], [40.775, -14.692], [40.477, -15.406], [40.089, -16.101], [39.453, -16.721], [38.538, -17.101], [37.411, -17.586], [36.281, -18.66], [35.896, -18.842], [35.198, -19.553], [34.786, -19.784], [34.702, -20.497], [35.176, -21.254], [35.373, -21.841], [35.386, -22.14], [35.563, -22.09], [35.534, -23.071], [35.372, -23.535], [35.607, -23.707], [35.459, -24.123], [35.041, -24.478], [34.216, -24.816], [33.013, -25.358], [32.575, -25.727], [32.66, -26.149], [32.916, -26.216], [32.83, -26.742], [32.072, -26.734], [31.986, -26.292], [31.838, -25.843], [31.752, -25.484], [31.931, -24.369], [31.67, -23.659], [31.191, -22.252], [32.245, -21.116], [32.509, -20.395], [32.66, -20.304], [32.773, -19.716], [32.612, -19.419], [32.655, -18.672], [32.85, -17.979], [32.848, -16.713], [32.328, -16.392], [31.852, -16.319], [31.636, -16.072], [31.173, -15.861], [30.339, -15.881], [30.274, -15.508], [30.179, -14.796], [33.214, -13.972], [33.79, -14.452], [34.065, -14.36], [34.46, -14.613], [34.518, -15.014], [34.307, -15.479], [34.381, -16.184], [35.034, -16.801], [35.339, -16.107], [35.772, -15.897], [35.687, -14.611], [35.268, -13.888], [34.907, -13.565], [34.56, -13.58], [34.28, -12.28], [34.56, -11.52]]]] }, { "N": "Eswatini", "I": "SZ", "C": [[[[32.072, -26.734], [31.868, -27.178], [31.283, -27.286], [30.686, -26.744], [30.677, -26.398], [30.95, -26.023], [31.044, -25.731], [31.333, -25.66], [31.838, -25.843], [31.986, -26.292], [32.072, -26.734]]]] }, { "N": "Angola", "I": "AO", "C": [[[[12.996, -4.781], [12.632, -4.991], [12.468, -5.248], [12.437, -5.684], [12.182, -5.79], [11.915, -5.038], [12.319, -4.606], [12.621, -4.438], [12.996, -4.781]]], [[[12.322, -6.1], [12.735, -5.966], [13.025, -5.984], [13.376, -5.864], [16.327, -5.877], [16.573, -6.623], [16.86, -7.222], [17.09, -7.546], [17.473, -8.069], [18.134, -7.988], [18.464, -7.847], [19.017, -7.988], [19.167, -7.738], [19.418, -7.155], [20.038, -7.116], [20.092, -6.943], [20.602, -6.939], [20.515, -7.3], [21.728, -7.291], [21.746, -7.92], [21.949, -8.306], [21.802, -8.909], [21.875, -9.524], [22.209, -9.895], [22.155, -11.085], [22.403, -10.993], [22.837, -11.018], [23.457, -10.868], [23.912, -10.927], [24.018, -11.237], [23.904, -11.722], [24.08, -12.191], [23.931, -12.566], [24.016, -12.911], [21.934, -12.898], [21.888, -16.08], [22.562, -16.898], [23.215, -17.523], [21.377, -17.931], [18.956, -17.789], [18.263, -17.31], [14.21, -17.353], [14.059, -17.423], [13.462, -16.971], [12.814, -16.941], [12.215, -17.112], [11.734, -17.302], [11.64, -16.673], [11.779, -15.794], [12.124, -14.878], [12.176, -14.449], [12.5, -13.548], [12.738, -13.138], [13.313, -12.484], [13.634, -12.039], [13.739, -11.298], [13.686, -10.731], [13.387, -10.374], [13.121, -9.767], [12.875, -9.167], [12.929, -8.959], [13.236, -8.563], [12.933, -7.597], [12.728, -6.927], [12.227, -6.294], [12.322, -6.1]]]] }, { "N": "Burundi", "I": "BI", "C": [[[[30.47, -2.414], [30.528, -2.808], [30.743, -3.034], [30.752, -3.359], [30.506, -3.569], [30.116, -4.09], [29.754, -4.452], [29.34, -4.5], [29.276, -3.294], [29.025, -2.839], [29.632, -2.918], [29.938, -2.348], [30.47, -2.414]]]] }, { "N": "Israel", "I": "IL", "C": [[[[35.72, 32.709], [35.546, 32.394], [35.184, 32.533], [34.975, 31.867], [35.226, 31.754], [34.971, 31.617], [34.927, 31.353], [35.398, 31.489], [35.421, 31.1], [34.923, 29.501], [34.823, 29.761], [34.265, 31.219], [34.265, 31.219], [34.265, 31.219], [34.556, 31.549], [34.488, 31.606], [34.753, 32.073], [34.955, 32.827], [35.098, 33.081], [35.126, 33.091], [35.461, 33.089], [35.553, 33.264], [35.821, 33.277], [35.836, 32.868], [35.701, 32.716], [35.72, 32.709]]]] }, { "N": "Lebanon", "I": "LB", "C": [[[[35.821, 33.277], [35.553, 33.264], [35.461, 33.089], [35.126, 33.091], [35.482, 33.905], [35.98, 34.61], [35.998, 34.645], [36.448, 34.594], [36.612, 34.202], [36.066, 33.825], [35.821, 33.277]]]] }, { "N": "Madagascar", "I": "MG", "C": [[[[49.544, -12.47], [49.809, -12.895], [50.057, -13.556], [50.217, -14.759], [50.477, -15.227], [50.377, -15.706], [50.2, -16], [49.861, -15.414], [49.673, -15.71], [49.863, -16.451], [49.775, -16.875], [49.499, -17.106], [49.436, -17.953], [49.042, -19.119], [48.549, -20.497], [47.931, -22.392], [47.548, -23.782], [47.096, -24.942], [46.282, -25.178], [45.41, -25.601], [44.834, -25.346], [44.04, -24.988], [43.764, -24.461], [43.698, -23.574], [43.346, -22.777], [43.254, -22.057], [43.433, -21.336], [43.894, -21.163], [43.896, -20.83], [44.374, -20.072], [44.464, -19.435], [44.232, -18.962], [44.043, -18.331], [43.963, -17.41], [44.312, -16.85], [44.447, -16.216], [44.945, -16.179], [45.503, -15.974], [45.873, -15.793], [46.312, -15.78], [46.882, -15.21], [47.705, -14.594], [48.005, -14.091], [47.869, -13.664], [48.294, -13.784], [48.845, -13.089], [48.864, -12.488], [49.195, -12.041], [49.544, -12.47]]]] }, { "N": "Palestine", "I": "PS", "C": [[[[35.398, 31.489], [34.927, 31.353], [34.971, 31.617], [35.226, 31.754], [34.975, 31.867], [35.184, 32.533], [35.546, 32.394], [35.545, 31.783], [35.398, 31.489]]]] }, { "N": "The Gambia", "I": "GM", "C": [[[[-16.714, 13.595], [-15.625, 13.624], [-15.399, 13.86], [-15.082, 13.876], [-14.687, 13.63], [-14.377, 13.626], [-14.047, 13.794], [-13.845, 13.505], [-14.278, 13.281], [-14.712, 13.298], [-15.141, 13.51], [-15.512, 13.279], [-15.691, 13.27], [-15.931, 13.13], [-16.842, 13.151], [-16.714, 13.595]]]] }, { "N": "Tunisia", "I": "TN", "C": [[[[9.482, 30.308], [9.056, 32.103], [8.439, 32.506], [8.43, 32.748], [7.613, 33.344], [7.524, 34.097], [8.141, 34.655], [8.376, 35.48], [8.218, 36.433], [8.421, 36.946], [9.51, 37.35], [10.21, 37.23], [10.181, 36.724], [11.029, 37.092], [11.1, 36.9], [10.6, 36.41], [10.593, 35.947], [10.94, 35.699], [10.808, 34.834], [10.15, 34.331], [10.34, 33.786], [10.857, 33.769], [11.109, 33.293], [11.489, 33.137], [11.432, 32.369], [10.945, 32.082], [10.637, 31.761], [9.95, 31.376], [10.057, 30.962], [9.97, 30.539], [9.482, 30.308]]]] }, { "N": "Algeria", "I": "DZ", "C": [[[[-8.684, 27.396], [-8.665, 27.589], [-8.666, 27.656], [-8.674, 28.841], [-7.059, 29.579], [-6.061, 29.732], [-5.242, 30], [-4.86, 30.501], [-3.69, 30.897], [-3.647, 31.637], [-3.069, 31.724], [-2.617, 32.094], [-1.308, 32.263], [-1.125, 32.652], [-1.388, 32.864], [-1.733, 33.92], [-1.793, 34.528], [-2.17, 35.168], [-1.209, 35.715], [-0.127, 35.889], [0.504, 36.301], [1.467, 36.606], [3.162, 36.784], [4.816, 36.865], [5.32, 36.717], [6.262, 37.111], [7.33, 37.118], [7.737, 36.886], [8.421, 36.946], [8.218, 36.433], [8.376, 35.48], [8.141, 34.655], [7.524, 34.097], [7.613, 33.344], [8.43, 32.748], [8.439, 32.506], [9.056, 32.103], [9.482, 30.308], [9.806, 29.425], [9.86, 28.96], [9.684, 28.144], [9.756, 27.688], [9.629, 27.141], [9.716, 26.512], [9.319, 26.094], [9.911, 25.365], [9.948, 24.937], [10.304, 24.379], [10.771, 24.563], [11.561, 24.098], [12, 23.472], [8.573, 21.566], [5.678, 19.601], [4.267, 19.155], [3.158, 19.057], [3.147, 19.694], [2.684, 19.856], [2.061, 20.142], [1.823, 20.611], [-1.55, 22.793], [-4.923, 24.975], [-8.684, 27.396]]]] }, { "N": "Jordan", "I": "JO", "C": [[[[35.546, 32.394], [35.72, 32.709], [36.834, 32.313], [38.792, 33.379], [39.195, 32.161], [39.005, 32.01], [37.002, 31.508], [37.999, 30.508], [37.668, 30.339], [37.504, 30.004], [36.741, 29.865], [36.501, 29.505], [36.069, 29.197], [34.956, 29.357], [34.923, 29.501], [35.421, 31.1], [35.398, 31.489], [35.545, 31.783], [35.546, 32.394]]]] }, { "N": "United Arab Emirates", "I": "AE", "C": [[[[51.58, 24.245], [51.757, 24.294], [51.794, 24.02], [52.577, 24.177], [53.404, 24.151], [54.008, 24.122], [54.693, 24.798], [55.439, 25.439], [56.071, 26.055], [56.261, 25.715], [56.397, 24.925], [55.886, 24.921], [55.804, 24.27], [55.981, 24.131], [55.529, 23.934], [55.526, 23.525], [55.234, 23.111], [55.208, 22.708], [55.007, 22.497], [52.001, 23.001], [51.618, 24.014], [51.58, 24.245]]]] }, { "N": "Qatar", "I": "QA", "C": [[[[50.81, 24.755], [50.744, 25.482], [51.013, 26.007], [51.286, 26.115], [51.589, 25.801], [51.607, 25.216], [51.39, 24.627], [51.112, 24.556], [50.81, 24.755]]]] }, { "N": "Kuwait", "I": "KW", "C": [[[[47.975, 29.976], [48.183, 29.534], [48.094, 29.306], [48.416, 28.552], [47.709, 28.526], [47.46, 29.003], [46.569, 29.099], [47.303, 30.059], [47.975, 29.976]]]] }, { "N": "Iraq", "I": "IQ", "C": [[[[39.195, 32.161], [38.792, 33.379], [41.006, 34.419], [41.384, 35.628], [41.29, 36.359], [41.837, 36.606], [42.35, 37.23], [42.779, 37.385], [43.942, 37.256], [44.293, 37.002], [44.773, 37.17], [45.421, 35.978], [46.076, 35.677], [46.152, 35.093], [45.648, 34.748], [45.417, 33.968], [46.109, 33.017], [47.335, 32.469], [47.849, 31.709], [47.685, 30.985], [48.005, 30.985], [48.015, 30.452], [48.568, 29.927], [47.975, 29.976], [47.303, 30.059], [46.569, 29.099], [44.709, 29.179], [41.89, 31.19], [40.4, 31.89], [39.195, 32.161]]]] }, { "N": "Oman", "I": "OM", "C": [[[[55.208, 22.708], [55.234, 23.111], [55.526, 23.525], [55.529, 23.934], [55.981, 24.131], [55.804, 24.27], [55.886, 24.921], [56.397, 24.925], [56.845, 24.242], [57.403, 23.879], [58.137, 23.748], [58.729, 23.566], [59.181, 22.992], [59.45, 22.66], [59.808, 22.534], [59.806, 22.311], [59.442, 21.715], [59.282, 21.434], [58.861, 21.114], [58.488, 20.429], [58.034, 20.481], [57.826, 20.243], [57.666, 19.736], [57.789, 19.068], [57.694, 18.945], [57.234, 18.948], [56.61, 18.574], [56.512, 18.087], [56.284, 17.876], [55.661, 17.884], [55.27, 17.632], [55.275, 17.228], [54.791, 16.951], [54.239, 17.045], [53.571, 16.708], [53.109, 16.651], [52.782, 17.35], [52, 19], [55, 20], [55.667, 22], [55.208, 22.708]]], [[[56.261, 25.715], [56.071, 26.055], [56.362, 26.396], [56.486, 26.309], [56.391, 25.896], [56.261, 25.715]]]] }, { "N": "Vanuatu", "I": "VU", "C": [[[[167.217, -15.892], [167.845, -16.466], [167.515, -16.598], [167.18, -16.16], [167.217, -15.892]]], [[[166.793, -15.669], [166.65, -15.393], [166.629, -14.626], [167.108, -14.934], [167.27, -15.74], [167.001, -15.615], [166.793, -15.669]]]] }, { "N": "Cambodia", "I": "KH", "C": [[[[102.585, 12.187], [102.348, 13.394], [102.988, 14.226], [104.281, 14.417], [105.219, 14.273], [106.044, 13.881], [106.496, 14.571], [107.383, 14.202], [107.615, 13.536], [107.491, 12.337], [105.811, 11.568], [106.25, 10.962], [105.2, 10.889], [104.334, 10.487], [103.497, 10.633], [103.091, 11.154], [102.585, 12.187]]]] }, { "N": "Thailand", "I": "TH", "C": [[[[105.219, 14.273], [104.281, 14.417], [102.988, 14.226], [102.348, 13.394], [102.585, 12.187], [101.687, 12.646], [100.832, 12.627], [100.978, 13.413], [100.098, 13.407], [100.019, 12.307], [99.479, 10.846], [99.154, 9.963], [99.222, 9.239], [99.874, 9.208], [100.28, 8.295], [100.459, 7.43], [101.017, 6.857], [101.623, 6.741], [102.141, 6.222], [101.814, 5.811], [101.154, 5.691], [101.076, 6.205], [100.26, 6.643], [100.086, 6.464], [99.691, 6.848], [99.52, 7.343], [98.988, 7.908], [98.504, 8.382], [98.34, 7.795], [98.15, 8.35], [98.259, 8.974], [98.554, 9.933], [99.038, 10.961], [99.587, 11.893], [99.196, 12.805], [99.212, 13.269], [99.098, 13.828], [98.431, 14.622], [98.192, 15.124], [98.537, 15.308], [98.903, 16.178], [98.494, 16.838], [97.859, 17.568], [97.376, 18.445], [97.798, 18.627], [98.254, 19.708], [98.96, 19.753], [99.543, 20.187], [100.116, 20.418], [100.549, 20.109], [100.606, 19.508], [101.282, 19.463], [101.036, 18.409], [101.06, 17.512], [102.114, 18.109], [102.413, 17.933], [102.999, 17.962], [103.2, 18.31], [103.956, 18.241], [104.717, 17.429], [104.779, 16.442], [105.589, 15.57], [105.544, 14.724], [105.219, 14.273]]]] }, { "N": "Lao PDR", "I": "LA", "C": [[[[107.383, 14.202], [106.496, 14.571], [106.044, 13.881], [105.219, 14.273], [105.544, 14.724], [105.589, 15.57], [104.779, 16.442], [104.717, 17.429], [103.956, 18.241], [103.2, 18.31], [102.999, 17.962], [102.413, 17.933], [102.114, 18.109], [101.06, 17.512], [101.036, 18.409], [101.282, 19.463], [100.606, 19.508], [100.549, 20.109], [100.116, 20.418], [100.329, 20.786], [101.18, 21.437], [101.27, 21.202], [101.803, 21.174], [101.652, 22.318], [102.17, 22.465], [102.755, 21.675], [103.204, 20.767], [104.435, 20.759], [104.823, 19.887], [104.183, 19.625], [103.897, 19.265], [105.095, 18.667], [105.926, 17.485], [106.556, 16.604], [107.313, 15.909], [107.565, 15.202], [107.383, 14.202]]]] }, { "N": "Myanmar", "I": "MM", "C": [[[[100.116, 20.418], [99.543, 20.187], [98.96, 19.753], [98.254, 19.708], [97.798, 18.627], [97.376, 18.445], [97.859, 17.568], [98.494, 16.838], [98.903, 16.178], [98.537, 15.308], [98.192, 15.124], [98.431, 14.622], [99.098, 13.828], [99.212, 13.269], [99.196, 12.805], [99.587, 11.893], [99.038, 10.961], [98.554, 9.933], [98.457, 10.675], [98.765, 11.441], [98.428, 12.033], [98.51, 13.122], [98.104, 13.64], [97.778, 14.837], [97.597, 16.101], [97.165, 16.929], [96.506, 16.427], [95.369, 15.714], [94.808, 15.803], [94.189, 16.038], [94.533, 17.277], [94.325, 18.214], [93.541, 19.366], [93.663, 19.727], [93.078, 19.855], [92.369, 20.671], [92.303, 21.475], [92.652, 21.324], [92.673, 22.041], [93.166, 22.278], [93.06, 22.703], [93.286, 23.044], [93.325, 24.079], [94.107, 23.851], [94.553, 24.675], [94.603, 25.162], [95.155, 26.001], [95.125, 26.574], [96.419, 27.265], [97.134, 27.084], [97.052, 27.699], [97.403, 27.883], [97.327, 28.262], [97.912, 28.336], [98.246, 27.747], [98.683, 27.509], [98.712, 26.744], [98.672, 25.919], [97.725, 25.084], [97.605, 23.897], [98.66, 24.063], [98.899, 23.143], [99.532, 22.949], [99.241, 22.118], [99.983, 21.743], [100.417, 21.559], [101.15, 21.85], [101.18, 21.437], [100.329, 20.786], [100.116, 20.418]]]] }, { "N": "Vietnam", "I": "VN", "C": [[[[104.334, 10.487], [105.2, 10.889], [106.25, 10.962], [105.811, 11.568], [107.491, 12.337], [107.615, 13.536], [107.383, 14.202], [107.565, 15.202], [107.313, 15.909], [106.556, 16.604], [105.926, 17.485], [105.095, 18.667], [103.897, 19.265], [104.183, 19.625], [104.823, 19.887], [104.435, 20.759], [103.204, 20.767], [102.755, 21.675], [102.17, 22.465], [102.707, 22.709], [103.505, 22.704], [104.477, 22.819], [105.329, 23.352], [105.811, 22.977], [106.725, 22.794], [106.567, 22.218], [107.043, 21.812], [108.05, 21.552], [106.715, 20.697], [105.882, 19.752], [105.662, 19.058], [106.427, 18.004], [107.362, 16.697], [108.269, 16.08], [108.877, 15.277], [109.335, 13.426], [109.2, 11.667], [108.366, 11.008], [107.221, 10.364], [106.405, 9.531], [105.158, 8.6], [104.795, 9.241], [105.076, 9.918], [104.334, 10.487]]]] }, { "N": "Dem. Rep. Korea", "I": "KP", "C": [[[[130.78, 42.22], [130.78, 42.22], [130.78, 42.22], [130.78, 42.22]]], [[[130.64, 42.395], [130.64, 42.395], [130.78, 42.22], [130.4, 42.28], [129.966, 41.941], [129.667, 41.601], [129.705, 40.883], [129.188, 40.662], [129.01, 40.485], [128.633, 40.19], [127.967, 40.025], [127.533, 39.757], [127.502, 39.324], [127.385, 39.213], [127.783, 39.051], [128.35, 38.612], [128.206, 38.37], [127.78, 38.305], [127.073, 38.256], [126.684, 37.805], [126.237, 37.84], [126.175, 37.75], [125.689, 37.94], [125.568, 37.752], [125.275, 37.669], [125.24, 37.857], [124.981, 37.949], [124.712, 38.108], [124.986, 38.548], [125.222, 38.666], [125.133, 38.849], [125.387, 39.388], [125.321, 39.551], [124.737, 39.66], [124.266, 39.928], [125.08, 40.57], [126.182, 41.107], [126.869, 41.817], [127.344, 41.503], [128.208, 41.467], [128.052, 41.994], [129.597, 42.425], [129.994, 42.985], [130.64, 42.395]]]] }, { "N": "Republic of Korea", "I": "KR", "C": [[[[126.175, 37.75], [126.237, 37.84], [126.684, 37.805], [127.073, 38.256], [127.78, 38.305], [128.206, 38.37], [128.35, 38.612], [129.213, 37.432], [129.46, 36.784], [129.468, 35.632], [129.091, 35.082], [128.186, 34.89], [127.387, 34.476], [126.486, 34.39], [126.374, 34.935], [126.559, 35.685], [126.117, 36.725], [126.86, 36.894], [126.175, 37.75]]]] }, { "N": "Mongolia", "I": "MN", "C": [[[[87.751, 49.297], [88.806, 49.471], [90.714, 50.332], [92.235, 50.802], [93.104, 50.495], [94.148, 50.481], [94.816, 50.013], [95.814, 49.977], [97.26, 49.726], [98.232, 50.422], [97.826, 51.011], [98.861, 52.047], [99.982, 51.634], [100.889, 51.517], [102.065, 51.26], [102.256, 50.511], [103.677, 50.09], [104.622, 50.275], [105.887, 50.406], [106.889, 50.274], [107.868, 49.794], [108.475, 49.283], [109.402, 49.293], [110.662, 49.13], [111.581, 49.378], [112.898, 49.544], [114.362, 50.248], [114.962, 50.14], [115.486, 49.805], [116.679, 49.889], [116.192, 49.135], [115.485, 48.135], [115.743, 47.727], [116.309, 47.853], [117.296, 47.698], [118.064, 48.067], [118.867, 47.747], [119.773, 47.048], [119.663, 46.693], [118.874, 46.805], [117.422, 46.673], [116.718, 46.388], [115.985, 45.727], [114.46, 45.34], [113.464, 44.809], [112.436, 45.012], [111.873, 45.102], [111.348, 44.457], [111.668, 44.073], [111.83, 43.743], [111.13, 43.407], [110.412, 42.871], [109.244, 42.519], [107.745, 42.482], [106.129, 42.134], [104.965, 41.597], [104.522, 41.908], [103.312, 41.907], [101.833, 42.515], [100.846, 42.664], [99.516, 42.525], [97.452, 42.749], [96.349, 42.726], [95.762, 43.319], [95.307, 44.241], [94.689, 44.352], [93.481, 44.975], [92.134, 45.115], [90.946, 45.286], [90.586, 45.72], [90.971, 46.888], [90.281, 47.694], [88.854, 48.069], [88.014, 48.599], [87.751, 49.297]]]] }, { "N": "India", "I": "IN", "C": [[[[97.327, 28.262], [97.403, 27.883], [97.052, 27.699], [97.134, 27.084], [96.419, 27.265], [95.125, 26.574], [95.155, 26.001], [94.603, 25.162], [94.553, 24.675], [94.107, 23.851], [93.325, 24.079], [93.286, 23.044], [93.06, 22.703], [93.166, 22.278], [92.673, 22.041], [92.146, 23.627], [91.87, 23.624], [91.706, 22.985], [91.159, 23.504], [91.468, 24.073], [91.915, 24.13], [92.376, 24.977], [91.8, 25.147], [90.872, 25.133], [89.921, 25.27], [89.832, 25.965], [89.355, 26.014], [88.563, 26.447], [88.21, 25.768], [88.932, 25.239], [88.306, 24.866], [88.084, 24.502], [88.7, 24.234], [88.53, 23.631], [88.876, 22.879], [89.032, 22.056], [88.889, 21.691], [88.208, 21.703], [86.976, 21.496], [87.033, 20.743], [86.499, 20.152], [85.06, 19.479], [83.941, 18.302], [83.189, 17.671], [82.193, 17.017], [82.191, 16.557], [81.693, 16.31], [80.792, 15.952], [80.325, 15.899], [80.025, 15.136], [80.233, 13.836], [80.286, 13.006], [79.863, 12.056], [79.858, 10.357], [79.341, 10.309], [78.885, 9.546], [79.19, 9.217], [78.278, 8.933], [77.941, 8.253], [77.54, 7.966], [76.593, 8.899], [76.13, 10.3], [75.746, 11.308], [75.396, 11.781], [74.865, 12.742], [74.617, 13.993], [74.444, 14.617], [73.534, 15.991], [73.12, 17.929], [72.821, 19.208], [72.824, 20.42], [72.631, 21.356], [71.175, 20.757], [70.47, 20.877], [69.164, 22.089], [69.645, 22.451], [69.35, 22.843], [68.177, 23.692], [68.843, 24.359], [71.043, 24.357], [70.845, 25.215], [70.283, 25.722], [70.169, 26.492], [69.514, 26.941], [70.616, 27.989], [71.778, 27.913], [72.824, 28.962], [73.451, 29.976], [74.421, 30.98], [74.406, 31.693], [75.259, 32.271], [74.452, 32.765], [74.104, 33.441], [73.75, 34.318], [74.24, 34.749], [75.757, 34.505], [76.872, 34.654], [77.837, 35.494], [78.912, 34.322], [78.811, 33.506], [79.209, 32.994], [79.176, 32.484], [78.458, 32.618], [78.739, 31.516], [79.721, 30.883], [81.111, 30.183], [80.477, 29.73], [80.088, 28.794], [81.057, 28.416], [82, 27.925], [83.304, 27.365], [84.675, 27.235], [85.252, 26.726], [86.024, 26.631], [87.227, 26.398], [88.06, 26.415], [88.175, 26.81], [88.043, 27.446], [88.12, 27.877], [88.73, 28.087], [88.814, 27.299], [88.836, 27.099], [89.745, 26.719], [90.373, 26.876], [91.218, 26.809], [92.033, 26.838], [92.104, 27.453], [91.697, 27.772], [92.503, 27.897], [93.413, 28.641], [94.566, 29.277], [95.405, 29.032], [96.118, 29.453], [96.587, 28.831], [96.249, 28.411], [97.327, 28.262]]]] }, { "N": "Bangladesh", "I": "BD", "C": [[[[92.673, 22.041], [92.652, 21.324], [92.303, 21.475], [92.369, 20.671], [92.083, 21.192], [92.025, 21.702], [91.835, 22.183], [91.417, 22.765], [90.496, 22.805], [90.587, 22.393], [90.273, 21.836], [89.847, 22.039], [89.702, 21.857], [89.419, 21.966], [89.032, 22.056], [88.876, 22.879], [88.53, 23.631], [88.7, 24.234], [88.084, 24.502], [88.306, 24.866], [88.932, 25.239], [88.21, 25.768], [88.563, 26.447], [89.355, 26.014], [89.832, 25.965], [89.921, 25.27], [90.872, 25.133], [91.8, 25.147], [92.376, 24.977], [91.915, 24.13], [91.468, 24.073], [91.159, 23.504], [91.706, 22.985], [91.87, 23.624], [92.146, 23.627], [92.673, 22.041]]]] }, { "N": "Bhutan", "I": "BT", "C": [[[[91.697, 27.772], [92.104, 27.453], [92.033, 26.838], [91.218, 26.809], [90.373, 26.876], [89.745, 26.719], [88.836, 27.099], [88.814, 27.299], [89.476, 28.043], [90.016, 28.296], [90.731, 28.065], [91.259, 28.041], [91.697, 27.772]]]] }, { "N": "Nepal", "I": "NP", "C": [[[[88.12, 27.877], [88.043, 27.446], [88.175, 26.81], [88.06, 26.415], [87.227, 26.398], [86.024, 26.631], [85.252, 26.726], [84.675, 27.235], [83.304, 27.365], [82, 27.925], [81.057, 28.416], [80.088, 28.794], [80.477, 29.73], [81.111, 30.183], [81.526, 30.423], [82.328, 30.115], [83.337, 29.464], [83.899, 29.32], [84.235, 28.84], [85.012, 28.643], [85.823, 28.204], [86.955, 27.974], [88.12, 27.877]]]] }, { "N": "Pakistan", "I": "PK", "C": [[[[77.837, 35.494], [76.872, 34.654], [75.757, 34.505], [74.24, 34.749], [73.75, 34.318], [74.104, 33.441], [74.452, 32.765], [75.259, 32.271], [74.406, 31.693], [74.421, 30.98], [73.451, 29.976], [72.824, 28.962], [71.778, 27.913], [70.616, 27.989], [69.514, 26.941], [70.169, 26.492], [70.283, 25.722], [70.845, 25.215], [71.043, 24.357], [68.843, 24.359], [68.177, 23.692], [67.444, 23.945], [67.145, 24.664], [66.373, 25.425], [64.53, 25.237], [62.906, 25.218], [61.497, 25.078], [61.874, 26.24], [63.317, 26.757], [63.234, 27.217], [62.755, 27.379], [62.728, 28.26], [61.772, 28.699], [61.369, 29.303], [60.874, 29.829], [62.55, 29.319], [63.55, 29.468], [64.148, 29.341], [64.35, 29.56], [65.047, 29.472], [66.346, 29.888], [66.381, 30.739], [66.939, 31.305], [67.683, 31.303], [67.793, 31.583], [68.557, 31.713], [68.927, 31.62], [69.318, 31.901], [69.263, 32.502], [69.687, 33.105], [70.324, 33.359], [69.931, 34.02], [70.882, 33.989], [71.157, 34.349], [71.115, 34.733], [71.613, 35.153], [71.499, 35.651], [71.262, 36.074], [71.846, 36.51], [72.92, 36.72], [74.068, 36.836], [74.576, 37.021], [75.158, 37.133], [75.897, 36.667], [76.193, 35.898], [77.837, 35.494]]]] }, { "N": "Afghanistan", "I": "AF", "C": [[[[66.519, 37.363], [67.076, 37.356], [67.83, 37.145], [68.136, 37.023], [68.859, 37.344], [69.196, 37.151], [69.519, 37.609], [70.117, 37.588], [70.271, 37.735], [70.376, 38.138], [70.807, 38.486], [71.348, 38.259], [71.239, 37.953], [71.542, 37.906], [71.449, 37.066], [71.845, 36.738], [72.193, 36.948], [72.637, 37.048], [73.26, 37.495], [73.949, 37.422], [74.98, 37.42], [75.158, 37.133], [74.576, 37.021], [74.068, 36.836], [72.92, 36.72], [71.846, 36.51], [71.262, 36.074], [71.499, 35.651], [71.613, 35.153], [71.115, 34.733], [71.157, 34.349], [70.882, 33.989], [69.931, 34.02], [70.324, 33.359], [69.687, 33.105], [69.263, 32.502], [69.318, 31.901], [68.927, 31.62], [68.557, 31.713], [67.793, 31.583], [67.683, 31.303], [66.939, 31.305], [66.381, 30.739], [66.346, 29.888], [65.047, 29.472], [64.35, 29.56], [64.148, 29.341], [63.55, 29.468], [62.55, 29.319], [60.874, 29.829], [61.781, 30.736], [61.699, 31.38], [60.942, 31.548], [60.864, 32.183], [60.536, 32.981], [60.964, 33.529], [60.528, 33.676], [60.803, 34.404], [61.211, 35.65], [62.231, 35.271], [62.985, 35.404], [63.194, 35.857], [63.983, 36.008], [64.546, 36.312], [64.746, 37.112], [65.589, 37.305], [65.746, 37.661], [66.217, 37.394], [66.519, 37.363]]]] }, { "N": "Tajikistan", "I": "TJ", "C": [[[[67.83, 37.145], [68.392, 38.157], [68.176, 38.902], [67.442, 39.14], [67.701, 39.58], [68.536, 39.533], [69.012, 40.086], [69.329, 40.728], [70.667, 40.96], [70.458, 40.496], [70.601, 40.219], [71.014, 40.244], [70.648, 39.936], [69.56, 40.103], [69.465, 39.527], [70.549, 39.604], [71.785, 39.279], [73.675, 39.431], [73.929, 38.506], [74.258, 38.607], [74.865, 38.379], [74.83, 37.99], [74.98, 37.42], [73.949, 37.422], [73.26, 37.495], [72.637, 37.048], [72.193, 36.948], [71.845, 36.738], [71.449, 37.066], [71.542, 37.906], [71.239, 37.953], [71.348, 38.259], [70.807, 38.486], [70.376, 38.138], [70.271, 37.735], [70.117, 37.588], [69.519, 37.609], [69.196, 37.151], [68.859, 37.344], [68.136, 37.023], [67.83, 37.145]]]] }, { "N": "Kyrgyzstan", "I": "KG", "C": [[[[70.962, 42.266], [71.186, 42.704], [71.845, 42.845], [73.49, 42.501], [73.645, 43.091], [74.213, 43.298], [75.637, 42.878], [76, 42.988], [77.658, 42.961], [79.142, 42.856], [79.644, 42.497], [80.26, 42.35], [80.119, 42.124], [78.544, 41.582], [78.187, 41.185], [76.904, 41.066], [76.526, 40.428], [75.468, 40.562], [74.777, 40.366], [73.822, 39.894], [73.96, 39.66], [73.675, 39.431], [71.785, 39.279], [70.549, 39.604], [69.465, 39.527], [69.56, 40.103], [70.648, 39.936], [71.014, 40.244], [71.775, 40.146], [73.055, 40.866], [71.87, 41.393], [71.158, 41.144], [70.42, 41.52], [71.259, 42.168], [70.962, 42.266]]]] }, { "N": "Turkmenistan", "I": "TM", "C": [[[[52.502, 41.783], [52.944, 42.116], [54.079, 42.324], [54.755, 42.044], [55.455, 41.26], [55.968, 41.309], [57.096, 41.322], [56.932, 41.826], [57.787, 42.171], [58.629, 42.752], [59.976, 42.223], [60.083, 41.425], [60.466, 41.22], [61.547, 41.266], [61.883, 41.085], [62.374, 40.054], [63.518, 39.363], [64.17, 38.892], [65.216, 38.403], [66.546, 37.975], [66.519, 37.363], [66.217, 37.394], [65.746, 37.661], [65.589, 37.305], [64.746, 37.112], [64.546, 36.312], [63.983, 36.008], [63.194, 35.857], [62.985, 35.404], [62.231, 35.271], [61.211, 35.65], [61.123, 36.492], [60.378, 36.527], [59.235, 37.413], [58.436, 37.522], [57.33, 38.029], [56.619, 38.121], [56.18, 37.935], [55.512, 37.964], [54.8, 37.392], [53.922, 37.199], [53.736, 37.906], [53.881, 38.952], [53.101, 39.291], [53.358, 39.975], [52.694, 40.034], [52.915, 40.877], [53.858, 40.631], [54.737, 40.951], [54.008, 41.551], [53.722, 42.123], [52.917, 41.868], [52.815, 41.135], [52.502, 41.783]]]] }, { "N": "Iran", "I": "IR", "C": [[[[48.568, 29.927], [48.015, 30.452], [48.005, 30.985], [47.685, 30.985], [47.849, 31.709], [47.335, 32.469], [46.109, 33.017], [45.417, 33.968], [45.648, 34.748], [46.152, 35.093], [46.076, 35.677], [45.421, 35.978], [44.773, 37.17], [44.773, 37.17], [44.226, 37.972], [44.421, 38.281], [44.109, 39.428], [44.794, 39.713], [44.953, 39.336], [45.458, 38.874], [46.144, 38.741], [46.506, 38.771], [47.685, 39.508], [48.06, 39.582], [48.356, 39.289], [48.011, 38.794], [48.634, 38.27], [48.883, 38.32], [49.2, 37.583], [50.148, 37.375], [50.842, 36.873], [52.264, 36.7], [53.826, 36.965], [53.922, 37.199], [54.8, 37.392], [55.512, 37.964], [56.18, 37.935], [56.619, 38.121], [57.33, 38.029], [58.436, 37.522], [59.235, 37.413], [60.378, 36.527], [61.123, 36.492], [61.211, 35.65], [60.803, 34.404], [60.528, 33.676], [60.964, 33.529], [60.536, 32.981], [60.864, 32.183], [60.942, 31.548], [61.699, 31.38], [61.781, 30.736], [60.874, 29.829], [61.369, 29.303], [61.772, 28.699], [62.728, 28.26], [62.755, 27.379], [63.234, 27.217], [63.317, 26.757], [61.874, 26.24], [61.497, 25.078], [59.616, 25.38], [58.526, 25.61], [57.397, 25.74], [56.971, 26.966], [56.492, 27.143], [55.724, 26.965], [54.715, 26.481], [53.493, 26.812], [52.484, 27.581], [51.521, 27.866], [50.853, 28.815], [50.115, 30.148], [49.577, 29.986], [48.941, 30.317], [48.568, 29.927]]]] }, { "N": "Syria", "I": "SY", "C": [[[[35.72, 32.709], [35.701, 32.716], [35.836, 32.868], [35.821, 33.277], [36.066, 33.825], [36.612, 34.202], [36.448, 34.594], [35.998, 34.645], [35.905, 35.41], [36.15, 35.822], [36.418, 36.041], [36.685, 36.26], [36.739, 36.818], [37.067, 36.623], [38.168, 36.901], [38.7, 36.713], [39.523, 36.716], [40.673, 37.091], [41.212, 37.074], [42.35, 37.23], [41.837, 36.606], [41.29, 36.359], [41.384, 35.628], [41.006, 34.419], [38.792, 33.379], [36.834, 32.313], [35.72, 32.709]]]] }, { "N": "Armenia", "I": "AM", "C": [[[[46.506, 38.771], [46.144, 38.741], [45.735, 39.32], [45.74, 39.474], [45.298, 39.472], [45.002, 39.74], [44.794, 39.713], [44.4, 40.005], [43.656, 40.254], [43.753, 40.74], [43.583, 41.092], [44.972, 41.248], [45.179, 40.985], [45.56, 40.812], [45.359, 40.562], [45.892, 40.218], [45.61, 39.9], [46.035, 39.628], [46.483, 39.464], [46.506, 38.771]]]] }, { "N": "Sweden", "I": "SE", "C": [[[[11.027, 58.856], [11.468, 59.432], [12.3, 60.118], [12.631, 61.294], [11.992, 61.8], [11.931, 63.128], [12.58, 64.066], [13.572, 64.049], [13.92, 64.445], [13.556, 64.787], [15.108, 66.194], [16.109, 67.302], [16.769, 68.014], [17.729, 68.011], [17.994, 68.567], [19.879, 68.407], [20.025, 69.065], [20.646, 69.106], [21.979, 68.617], [23.539, 67.936], [23.566, 66.396], [23.903, 66.007], [22.183, 65.724], [21.214, 65.026], [21.37, 64.414], [19.779, 63.61], [17.848, 62.749], [17.12, 61.341], [17.831, 60.637], [18.788, 60.082], [17.869, 58.954], [16.829, 58.72], [16.448, 57.041], [15.88, 56.104], [14.667, 56.201], [14.101, 55.408], [12.943, 55.362], [12.625, 56.307], [11.788, 57.442], [11.027, 58.856]]]] }, { "N": "Belarus", "I": "BY", "C": [[[[28.177, 56.169], [29.23, 55.918], [29.372, 55.67], [29.896, 55.789], [30.874, 55.551], [30.972, 55.082], [30.758, 54.812], [31.384, 54.157], [31.791, 53.975], [31.731, 53.794], [32.406, 53.618], [32.694, 53.351], [32.305, 53.133], [31.498, 53.167], [31.305, 53.074], [31.54, 52.742], [31.786, 52.102], [31.786, 52.102], [30.928, 52.042], [30.619, 51.823], [30.555, 51.32], [30.157, 51.416], [29.255, 51.368], [28.993, 51.602], [28.618, 51.428], [28.242, 51.572], [27.454, 51.592], [26.338, 51.832], [25.328, 51.911], [24.553, 51.888], [24.005, 51.617], [23.527, 51.578], [23.508, 52.024], [23.199, 52.487], [23.799, 52.691], [23.805, 53.09], [23.528, 53.47], [23.484, 53.912], [24.451, 53.906], [25.536, 54.282], [25.768, 54.847], [26.588, 55.167], [26.494, 55.615], [27.102, 55.783], [28.177, 56.169]]]] }, { "N": "Ukraine", "I": "UA", "C": [[[[31.786, 52.102], [32.159, 52.061], [32.412, 52.289], [32.716, 52.238], [33.753, 52.335], [34.392, 51.769], [34.142, 51.566], [34.225, 51.256], [35.022, 51.208], [35.378, 50.774], [35.356, 50.577], [36.626, 50.226], [37.393, 50.384], [38.011, 49.916], [38.595, 49.926], [40.069, 49.601], [40.081, 49.307], [39.675, 48.784], [39.896, 48.232], [39.738, 47.899], [38.771, 47.826], [38.255, 47.546], [38.224, 47.102], [37.425, 47.022], [36.76, 46.699], [35.824, 46.646], [34.962, 46.273], [35.013, 45.738], [34.862, 45.768], [34.732, 45.966], [34.41, 46.005], [33.699, 46.22], [33.436, 45.972], [33.299, 46.081], [31.744, 46.333], [31.675, 46.706], [30.749, 46.583], [30.378, 46.032], [29.603, 45.293], [29.15, 45.465], [28.68, 45.304], [28.234, 45.488], [28.485, 45.597], [28.66, 45.94], [28.934, 46.259], [28.863, 46.438], [29.072, 46.518], [29.171, 46.379], [29.76, 46.35], [30.025, 46.424], [29.838, 46.525], [29.909, 46.674], [29.56, 46.929], [29.415, 47.347], [29.051, 47.51], [29.123, 47.849], [28.671, 48.118], [28.26, 48.156], [27.523, 48.467], [26.858, 48.368], [26.619, 48.221], [26.197, 48.221], [25.946, 47.987], [25.208, 47.891], [24.866, 47.738], [24.402, 47.982], [23.761, 47.986], [23.142, 48.096], [22.711, 47.882], [22.641, 48.15], [22.086, 48.422], [22.281, 48.825], [22.558, 49.086], [22.776, 49.027], [22.518, 49.477], [23.427, 50.309], [23.923, 50.425], [24.03, 50.705], [23.527, 51.578], [24.005, 51.617], [24.553, 51.888], [25.328, 51.911], [26.338, 51.832], [27.454, 51.592], [28.242, 51.572], [28.618, 51.428], [28.993, 51.602], [29.255, 51.368], [30.157, 51.416], [30.555, 51.32], [30.619, 51.823], [30.928, 52.042], [31.786, 52.102]]], [[[33.436, 45.972], [33.699, 46.22], [34.41, 46.005], [34.732, 45.966], [34.862, 45.768], [35.013, 45.738], [35.021, 45.651], [35.51, 45.41], [36.53, 45.47], [36.335, 45.113], [35.24, 44.94], [33.883, 44.361], [33.326, 44.565], [33.547, 45.035], [32.454, 45.327], [32.631, 45.519], [33.588, 45.852], [33.436, 45.972]]]] }, { "N": "Poland", "I": "PL", "C": [[[[23.484, 53.912], [23.528, 53.47], [23.805, 53.09], [23.799, 52.691], [23.199, 52.487], [23.508, 52.024], [23.527, 51.578], [24.03, 50.705], [23.923, 50.425], [23.427, 50.309], [22.518, 49.477], [22.776, 49.027], [22.558, 49.086], [21.608, 49.47], [20.888, 49.329], [20.416, 49.431], [19.825, 49.217], [19.321, 49.572], [18.91, 49.436], [18.853, 49.496], [18.393, 49.989], [17.649, 50.049], [17.555, 50.362], [16.869, 50.474], [16.719, 50.216], [16.176, 50.423], [16.239, 50.698], [15.491, 50.785], [15.017, 51.107], [14.607, 51.745], [14.685, 52.09], [14.438, 52.625], [14.075, 52.981], [14.353, 53.248], [14.12, 53.757], [14.803, 54.051], [16.363, 54.513], [17.623, 54.852], [18.621, 54.683], [18.696, 54.439], [19.661, 54.426], [20.892, 54.313], [22.731, 54.328], [23.244, 54.221], [23.484, 53.912]]]] }, { "N": "Austria", "I": "AT", "C": [[[[16.98, 48.123], [16.904, 47.715], [16.341, 47.713], [16.534, 47.496], [16.202, 46.852], [16.012, 46.684], [15.137, 46.659], [14.632, 46.432], [13.806, 46.509], [12.376, 46.768], [12.153, 47.115], [11.165, 46.942], [11.049, 46.751], [10.443, 46.894], [9.932, 46.921], [9.48, 47.103], [9.633, 47.348], [9.594, 47.525], [9.896, 47.58], [10.402, 47.302], [10.545, 47.566], [11.426, 47.524], [12.141, 47.703], [12.621, 47.672], [12.933, 47.468], [13.026, 47.638], [12.884, 48.289], [13.243, 48.416], [13.596, 48.877], [14.339, 48.555], [14.901, 48.964], [15.253, 49.039], [16.03, 48.734], [16.499, 48.786], [16.96, 48.597], [16.88, 48.47], [16.98, 48.123]]]] }, { "N": "Hungary", "I": "HU", "C": [[[[22.086, 48.422], [22.641, 48.15], [22.711, 47.882], [22.1, 47.672], [21.627, 46.994], [21.022, 46.316], [20.22, 46.127], [19.596, 46.172], [18.83, 45.909], [18.83, 45.909], [18.456, 45.759], [17.63, 45.952], [16.883, 46.381], [16.565, 46.504], [16.371, 46.841], [16.202, 46.852], [16.534, 47.496], [16.341, 47.713], [16.904, 47.715], [16.98, 48.123], [17.488, 47.867], [17.857, 47.758], [18.697, 47.881], [18.777, 48.082], [19.174, 48.111], [19.661, 48.267], [19.769, 48.203], [20.239, 48.328], [20.474, 48.563], [20.801, 48.624], [21.872, 48.32], [22.086, 48.422]]]] }, { "N": "Moldova", "I": "MD", "C": [[[[26.619, 48.221], [26.858, 48.368], [27.523, 48.467], [28.26, 48.156], [28.671, 48.118], [29.123, 47.849], [29.051, 47.51], [29.415, 47.347], [29.56, 46.929], [29.909, 46.674], [29.838, 46.525], [30.025, 46.424], [29.76, 46.35], [29.171, 46.379], [29.072, 46.518], [28.863, 46.438], [28.934, 46.259], [28.66, 45.94], [28.485, 45.597], [28.234, 45.488], [28.054, 45.945], [28.16, 46.372], [28.128, 46.81], [27.551, 47.405], [27.234, 47.827], [26.924, 48.123], [26.619, 48.221]]]] }, { "N": "Romania", "I": "RO", "C": [[[[28.234, 45.488], [28.68, 45.304], [29.15, 45.465], [29.603, 45.293], [29.627, 45.035], [29.142, 44.82], [28.838, 44.914], [28.558, 43.707], [27.97, 43.812], [27.242, 44.176], [26.065, 43.943], [25.569, 43.688], [24.101, 43.741], [23.332, 43.897], [22.945, 43.824], [22.657, 44.235], [22.474, 44.409], [22.706, 44.578], [22.459, 44.703], [22.145, 44.478], [21.562, 44.769], [21.484, 45.181], [20.874, 45.416], [20.762, 45.735], [20.22, 46.127], [21.022, 46.316], [21.627, 46.994], [22.1, 47.672], [22.711, 47.882], [23.142, 48.096], [23.761, 47.986], [24.402, 47.982], [24.866, 47.738], [25.208, 47.891], [25.946, 47.987], [26.197, 48.221], [26.619, 48.221], [26.924, 48.123], [27.234, 47.827], [27.551, 47.405], [28.128, 46.81], [28.16, 46.372], [28.054, 45.945], [28.234, 45.488]]]] }, { "N": "Lithuania", "I": "LT", "C": [[[[26.494, 55.615], [26.588, 55.167], [25.768, 54.847], [25.536, 54.282], [24.451, 53.906], [23.484, 53.912], [23.244, 54.221], [22.731, 54.328], [22.651, 54.583], [22.758, 54.857], [22.316, 55.015], [21.268, 55.19], [21.056, 56.031], [22.201, 56.338], [23.878, 56.274], [24.861, 56.373], [25.001, 56.165], [25.533, 56.1], [26.494, 55.615]]]] }, { "N": "Latvia", "I": "LV", "C": [[[[27.288, 57.475], [27.77, 57.244], [27.855, 56.759], [28.177, 56.169], [27.102, 55.783], [26.494, 55.615], [25.533, 56.1], [25.001, 56.165], [24.861, 56.373], [23.878, 56.274], [22.201, 56.338], [21.056, 56.031], [21.09, 56.784], [21.582, 57.412], [22.524, 57.753], [23.318, 57.006], [24.121, 57.026], [24.313, 57.793], [25.165, 57.97], [25.603, 57.848], [26.464, 57.476], [27.288, 57.475]]]] }, { "N": "Estonia", "I": "EE", "C": [[[[27.981, 59.475], [27.981, 59.475], [28.132, 59.301], [27.42, 58.725], [27.717, 57.792], [27.288, 57.475], [26.464, 57.476], [25.603, 57.848], [25.165, 57.97], [24.313, 57.793], [24.429, 58.383], [24.061, 58.257], [23.427, 58.613], [23.34, 59.187], [24.604, 59.466], [25.864, 59.611], [26.949, 59.446], [27.981, 59.475], [27.981, 59.475]]]] }, { "N": "Germany", "I": "DE", "C": [[[[14.12, 53.757], [14.353, 53.248], [14.075, 52.981], [14.438, 52.625], [14.685, 52.09], [14.607, 51.745], [15.017, 51.107], [14.571, 51.002], [14.307, 51.117], [14.056, 50.927], [13.338, 50.733], [12.967, 50.484], [12.24, 50.266], [12.415, 49.969], [12.521, 49.547], [13.031, 49.307], [13.596, 48.877], [13.243, 48.416], [12.884, 48.289], [13.026, 47.638], [12.933, 47.468], [12.621, 47.672], [12.141, 47.703], [11.426, 47.524], [10.545, 47.566], [10.402, 47.302], [9.896, 47.58], [9.594, 47.525], [8.523, 47.831], [8.317, 47.614], [7.467, 47.621], [7.594, 48.333], [8.099, 49.018], [6.658, 49.202], [6.186, 49.464], [6.243, 49.902], [6.043, 50.128], [6.157, 50.804], [5.989, 51.852], [6.589, 51.852], [6.843, 52.228], [7.092, 53.144], [6.905, 53.482], [7.1, 53.694], [7.936, 53.748], [8.122, 53.528], [8.801, 54.021], [8.572, 54.396], [8.526, 54.963], [9.282, 54.831], [9.922, 54.983], [9.94, 54.597], [10.95, 54.364], [10.939, 54.009], [11.956, 54.196], [12.518, 54.47], [13.647, 54.076], [14.12, 53.757]]]] }, { "N": "Bulgaria", "I": "BG", "C": [[[[22.657, 44.235], [22.945, 43.824], [23.332, 43.897], [24.101, 43.741], [25.569, 43.688], [26.065, 43.943], [27.242, 44.176], [27.97, 43.812], [28.558, 43.707], [28.039, 43.293], [27.674, 42.578], [27.997, 42.007], [27.136, 42.141], [26.117, 41.827], [26.106, 41.329], [25.197, 41.234], [24.493, 41.584], [23.692, 41.309], [22.952, 41.338], [22.881, 41.999], [22.381, 42.32], [22.545, 42.461], [22.437, 42.58], [22.605, 42.899], [22.986, 43.211], [22.5, 43.643], [22.41, 44.008], [22.657, 44.235]]]] }, { "N": "Greece", "I": "GR", "C": [[[[26.29, 35.3], [26.165, 35.005], [24.725, 34.92], [24.735, 35.085], [23.515, 35.28], [23.7, 35.705], [24.247, 35.368], [25.025, 35.425], [25.769, 35.354], [25.745, 35.18], [26.29, 35.3]]], [[[22.952, 41.338], [23.692, 41.309], [24.493, 41.584], [25.197, 41.234], [26.106, 41.329], [26.117, 41.827], [26.604, 41.562], [26.295, 40.936], [26.057, 40.824], [25.448, 40.853], [24.926, 40.947], [23.715, 40.687], [24.408, 40.125], [23.9, 39.962], [23.343, 39.961], [22.814, 40.476], [22.626, 40.257], [22.85, 39.659], [23.35, 39.19], [22.973, 38.971], [23.53, 38.51], [24.025, 38.22], [24.04, 37.655], [23.115, 37.92], [23.41, 37.41], [22.775, 37.305], [23.154, 36.423], [22.49, 36.41], [21.67, 36.845], [21.295, 37.645], [21.12, 38.31], [20.73, 38.77], [20.218, 39.34], [20.15, 39.625], [20.615, 40.11], [20.675, 40.435], [21, 40.58], [21.02, 40.843], [21.674, 40.931], [22.055, 41.15], [22.597, 41.13], [22.762, 41.305], [22.952, 41.338]]]] }, { "N": "Turkey", "I": "TR", "C": [[[[44.773, 37.17], [44.293, 37.002], [43.942, 37.256], [42.779, 37.385], [42.35, 37.23], [41.212, 37.074], [40.673, 37.091], [39.523, 36.716], [38.7, 36.713], [38.168, 36.901], [37.067, 36.623], [36.739, 36.818], [36.685, 36.26], [36.418, 36.041], [36.15, 35.822], [35.782, 36.275], [36.161, 36.651], [35.551, 36.565], [34.715, 36.796], [34.027, 36.22], [32.509, 36.108], [31.7, 36.644], [30.622, 36.678], [30.391, 36.263], [29.7, 36.144], [28.733, 36.677], [27.641, 36.659], [27.049, 37.653], [26.318, 38.208], [26.805, 38.986], [26.171, 39.464], [27.28, 40.42], [28.82, 40.46], [29.24, 41.22], [31.146, 41.088], [32.348, 41.736], [33.513, 42.019], [35.168, 42.04], [36.913, 41.335], [38.348, 40.949], [39.513, 41.103], [40.373, 41.014], [41.554, 41.536], [42.62, 41.583], [43.583, 41.092], [43.753, 40.74], [43.656, 40.254], [44.4, 40.005], [44.794, 39.713], [44.109, 39.428], [44.421, 38.281], [44.226, 37.972], [44.773, 37.17], [44.773, 37.17]]], [[[26.117, 41.827], [27.136, 42.141], [27.997, 42.007], [28.116, 41.623], [28.988, 41.3], [28.806, 41.055], [27.619, 41], [27.192, 40.691], [26.358, 40.152], [26.043, 40.618], [26.057, 40.824], [26.295, 40.936], [26.604, 41.562], [26.117, 41.827]]]] }, { "N": "Albania", "I": "AL", "C": [[[[21.02, 40.843], [21, 40.58], [20.675, 40.435], [20.615, 40.11], [20.15, 39.625], [19.98, 39.695], [19.96, 39.915], [19.406, 40.251], [19.319, 40.727], [19.404, 41.41], [19.54, 41.72], [19.372, 41.878], [19.372, 41.878], [19.304, 42.196], [19.738, 42.688], [19.802, 42.5], [20.071, 42.589], [20.284, 42.32], [20.523, 42.218], [20.59, 41.855], [20.59, 41.855], [20.463, 41.515], [20.605, 41.086], [21.02, 40.843]]]] }, { "N": "Croatia", "I": "HR", "C": [[[[16.565, 46.504], [16.883, 46.381], [17.63, 45.952], [18.456, 45.759], [18.83, 45.909], [19.073, 45.522], [19.39, 45.237], [19.005, 44.86], [18.553, 45.082], [17.862, 45.068], [17.002, 45.234], [16.535, 45.212], [16.318, 45.004], [15.959, 45.234], [15.75, 44.819], [16.24, 44.351], [16.456, 44.041], [16.916, 43.668], [17.297, 43.446], [17.675, 43.029], [18.56, 42.65], [18.45, 42.48], [18.45, 42.48], [17.51, 42.85], [16.93, 43.21], [16.015, 43.507], [15.174, 44.243], [15.376, 44.318], [14.92, 44.738], [14.902, 45.076], [14.259, 45.234], [13.952, 44.802], [13.657, 45.137], [13.679, 45.484], [13.715, 45.5], [14.412, 45.466], [14.595, 45.635], [14.935, 45.472], [15.328, 45.452], [15.324, 45.732], [15.672, 45.834], [15.769, 46.238], [16.565, 46.504]]]] }, { "N": "Switzerland", "I": "CH", "C": [[[[9.594, 47.525], [9.633, 47.348], [9.48, 47.103], [9.932, 46.921], [10.443, 46.894], [10.363, 46.484], [9.923, 46.315], [9.183, 46.44], [8.966, 46.037], [8.49, 46.005], [8.317, 46.164], [7.756, 45.824], [7.274, 45.777], [6.844, 45.991], [6.5, 46.43], [6.023, 46.273], [6.037, 46.726], [6.769, 47.288], [6.737, 47.542], [7.192, 47.45], [7.467, 47.621], [8.317, 47.614], [8.523, 47.831], [9.594, 47.525]]]] }, { "N": "Luxembourg", "I": "LU", "C": [[[[6.043, 50.128], [6.243, 49.902], [6.186, 49.464], [5.898, 49.443], [5.674, 49.529], [5.782, 50.09], [6.043, 50.128]]]] }, { "N": "Belgium", "I": "BE", "C": [[[[6.157, 50.804], [6.043, 50.128], [5.782, 50.09], [5.674, 49.529], [4.799, 49.985], [4.286, 49.907], [3.588, 50.379], [3.123, 50.78], [2.658, 50.797], [2.514, 51.149], [3.315, 51.346], [3.315, 51.346], [3.315, 51.346], [4.047, 51.267], [4.974, 51.475], [5.607, 51.037], [6.157, 50.804]]]] }, { "N": "Netherlands", "I": "NL", "C": [[[[6.905, 53.482], [7.092, 53.144], [6.843, 52.228], [6.589, 51.852], [5.989, 51.852], [6.157, 50.804], [5.607, 51.037], [4.974, 51.475], [4.047, 51.267], [3.315, 51.346], [3.315, 51.346], [3.83, 51.621], [4.706, 53.092], [6.074, 53.51], [6.905, 53.482]]]] }, { "N": "Portugal", "I": "PT", "C": [[[[-9.035, 41.881], [-8.672, 42.135], [-8.264, 42.28], [-8.013, 41.791], [-7.423, 41.792], [-7.251, 41.918], [-6.669, 41.883], [-6.389, 41.382], [-6.851, 41.111], [-6.864, 40.331], [-7.026, 40.185], [-7.067, 39.712], [-7.499, 39.63], [-7.098, 39.03], [-7.374, 38.373], [-7.029, 38.076], [-7.167, 37.804], [-7.537, 37.429], [-7.454, 37.098], [-7.856, 36.838], [-8.383, 36.979], [-8.899, 36.869], [-8.746, 37.651], [-8.84, 38.266], [-9.287, 38.358], [-9.527, 38.737], [-9.447, 39.392], [-9.048, 39.755], [-8.977, 40.159], [-8.769, 40.761], [-8.791, 41.184], [-8.991, 41.543], [-9.035, 41.881]]]] }, { "N": "Spain", "I": "ES", "C": [[[[-7.454, 37.098], [-7.537, 37.429], [-7.167, 37.804], [-7.029, 38.076], [-7.374, 38.373], [-7.098, 39.03], [-7.499, 39.63], [-7.067, 39.712], [-7.026, 40.185], [-6.864, 40.331], [-6.851, 41.111], [-6.389, 41.382], [-6.669, 41.883], [-7.251, 41.918], [-7.423, 41.792], [-8.013, 41.791], [-8.264, 42.28], [-8.672, 42.135], [-9.035, 41.881], [-8.984, 42.593], [-9.393, 43.027], [-7.978, 43.748], [-6.754, 43.568], [-5.412, 43.574], [-4.348, 43.403], [-3.518, 43.456], [-1.901, 43.423], [-1.503, 43.034], [0.338, 42.58], [0.702, 42.796], [1.827, 42.343], [2.986, 42.473], [3.039, 41.892], [2.092, 41.226], [0.811, 41.015], [0.721, 40.678], [0.107, 40.124], [-0.279, 39.31], [0.111, 38.739], [-0.467, 38.292], [-0.683, 37.642], [-1.438, 37.443], [-2.146, 36.674], [-3.416, 36.659], [-4.369, 36.678], [-4.995, 36.325], [-5.377, 35.947], [-5.866, 36.03], [-6.237, 36.368], [-6.52, 36.943], [-7.454, 37.098]]]] }, { "N": "Ireland", "I": "IE", "C": [[[[-6.198, 53.868], [-6.033, 53.153], [-6.789, 52.26], [-8.562, 51.669], [-9.977, 51.82], [-9.166, 52.865], [-9.689, 53.881], [-8.328, 54.665], [-7.572, 55.132], [-7.366, 54.596], [-7.572, 54.06], [-6.954, 54.074], [-6.198, 53.868]]]] }, { "N": "New Caledonia", "I": "NC", "C": [[[[165.78, -21.08], [166.6, -21.7], [167.12, -22.16], [166.74, -22.4], [166.19, -22.13], [165.474, -21.68], [164.83, -21.15], [164.168, -20.445], [164.03, -20.106], [164.46, -20.12], [165.02, -20.46], [165.46, -20.8], [165.78, -21.08]]]] }, { "N": "Solomon Islands", "I": "SB", "C": [[[[162.119, -10.483], [162.399, -10.826], [161.7, -10.82], [161.32, -10.205], [161.917, -10.447], [162.119, -10.483]]], [[[161.68, -9.6], [161.529, -9.784], [160.788, -8.918], [160.58, -8.32], [160.92, -8.32], [161.28, -9.12], [161.68, -9.6]]], [[[160.852, -9.873], [160.463, -9.895], [159.849, -9.794], [159.64, -9.64], [159.703, -9.243], [160.363, -9.4], [160.689, -9.61], [160.852, -9.873]]], [[[159.64, -8.02], [159.875, -8.337], [159.917, -8.538], [159.134, -8.114], [158.586, -7.755], [158.211, -7.422], [158.36, -7.32], [158.82, -7.56], [159.64, -8.02]]], [[[157.14, -7.022], [157.538, -7.348], [157.339, -7.405], [156.902, -7.177], [156.491, -6.766], [156.543, -6.599], [157.14, -7.022]]]] }, { "N": "New Zealand", "I": "NZ", "C": [[[[176.886, -40.066], [176.508, -40.605], [176.012, -41.29], [175.24, -41.688], [175.068, -41.426], [174.651, -41.282], [175.228, -40.459], [174.9, -39.909], [173.824, -39.509], [173.852, -39.147], [174.575, -38.798], [174.743, -38.028], [174.697, -37.381], [174.292, -36.711], [174.319, -36.535], [173.841, -36.122], [173.054, -35.237], [172.636, -34.529], [173.007, -34.451], [173.551, -35.006], [174.329, -35.265], [174.612, -36.156], [175.337, -37.209], [175.358, -36.526], [175.809, -36.799], [175.958, -37.555], [176.763, -37.881], [177.439, -37.961], [178.01, -37.58], [178.517, -37.695], [178.275, -38.583], [177.97, -39.166], [177.207, -39.146], [176.94, -39.45], [177.033, -39.88], [176.886, -40.066]]], [[[169.668, -43.555], [170.525, -43.032], [171.125, -42.513], [171.57, -41.767], [171.949, -41.514], [172.097, -40.956], [172.799, -40.494], [173.02, -40.919], [173.247, -41.332], [173.958, -40.927], [174.248, -41.349], [174.249, -41.77], [173.876, -42.233], [173.223, -42.97], [172.711, -43.372], [173.08, -43.853], [172.309, -43.866], [171.453, -44.243], [171.185, -44.897], [170.617, -45.909], [169.831, -46.356], [169.332, -46.641], [168.411, -46.62], [167.764, -46.29], [166.677, -46.22], [166.509, -45.853], [167.046, -45.111], [168.304, -44.124], [168.949, -43.936], [169.668, -43.555]]]] }, { "N": "Australia", "I": "AU", "C": [[[[147.689, -40.808], [148.289, -40.875], [148.36, -42.062], [148.017, -42.407], [147.914, -43.212], [147.565, -42.938], [146.87, -43.635], [146.663, -43.581], [146.048, -43.55], [145.432, -42.694], [145.295, -42.034], [144.718, -41.163], [144.744, -40.704], [145.398, -40.793], [146.364, -41.138], [146.909, -41.001], [147.689, -40.808]]], [[[126.149, -32.216], [125.089, -32.729], [124.222, -32.959], [124.029, -33.484], [123.66, -33.89], [122.811, -33.914], [122.183, -34.003], [121.299, -33.821], [120.58, -33.93], [119.894, -33.976], [119.299, -34.509], [119.007, -34.464], [118.506, -34.747], [118.025, -35.065], [117.296, -35.025], [116.625, -35.025], [115.564, -34.386], [115.027, -34.197], [115.049, -33.623], [115.545, -33.487], [115.715, -33.26], [115.679, -32.9], [115.802, -32.205], [115.69, -31.612], [115.161, -30.602], [114.997, -30.031], [115.04, -29.461], [114.642, -28.81], [114.616, -28.516], [114.174, -28.118], [114.049, -27.335], [113.477, -26.543], [113.339, -26.117], [113.778, -26.549], [113.441, -25.621], [113.937, -25.911], [114.233, -26.298], [114.216, -25.786], [113.721, -24.999], [113.625, -24.684], [113.394, -24.385], [113.502, -23.806], [113.707, -23.56], [113.843, -23.06], [113.737, -22.475], [114.15, -21.756], [114.225, -22.517], [114.648, -21.83], [115.46, -21.495], [115.947, -21.069], [116.712, -20.702], [117.166, -20.624], [117.442, -20.747], [118.23, -20.374], [118.836, -20.263], [118.988, -20.044], [119.252, -19.953], [119.805, -19.977], [120.856, -19.684], [121.4, -19.24], [121.655, -18.705], [122.242, -18.198], [122.287, -17.799], [122.313, -17.255], [123.013, -16.405], [123.434, -17.269], [123.859, -17.069], [123.503, -16.597], [123.817, -16.111], [124.258, -16.328], [124.38, -15.567], [124.926, -15.075], [125.167, -14.68], [125.67, -14.51], [125.686, -14.231], [126.125, -14.347], [126.143, -14.096], [126.583, -13.953], [127.066, -13.818], [127.805, -14.277], [128.36, -14.869], [128.986, -14.876], [129.621, -14.97], [129.41, -14.421], [129.889, -13.619], [130.339, -13.357], [130.184, -13.108], [130.618, -12.536], [131.223, -12.184], [131.735, -12.302], [132.575, -12.114], [132.557, -11.603], [131.825, -11.274], [132.357, -11.129], [133.02, -11.376], [133.551, -11.787], [134.393, -12.042], [134.679, -11.941], [135.298, -12.249], [135.883, -11.962], [136.258, -12.049], [136.492, -11.857], [136.952, -12.352], [136.685, -12.887], [136.305, -13.291], [135.962, -13.325], [136.078, -13.724], [135.784, -14.224], [135.429, -14.715], [135.5, -14.998], [136.295, -15.55], [137.065, -15.871], [137.58, -16.215], [138.303, -16.808], [138.585, -16.807], [139.109, -17.063], [139.261, -17.372], [140.215, -17.711], [140.875, -17.369], [141.071, -16.832], [141.274, -16.389], [141.398, -15.841], [141.702, -15.045], [141.563, -14.561], [141.636, -14.27], [141.52, -13.698], [141.651, -12.945], [141.843, -12.742], [141.687, -12.408], [141.929, -11.877], [142.118, -11.328], [142.144, -11.043], [142.515, -10.668], [142.797, -11.157], [142.867, -11.785], [143.116, -11.906], [143.159, -12.326], [143.522, -12.834], [143.597, -13.4], [143.562, -13.764], [143.922, -14.548], [144.564, -14.171], [144.895, -14.594], [145.375, -14.985], [145.272, -15.428], [145.485, -16.286], [145.637, -16.785], [145.889, -16.907], [146.16, -17.762], [146.064, -18.28], [146.387, -18.958], [147.471, -19.481], [148.178, -19.956], [148.848, -20.391], [148.717, -20.633], [149.289, -21.261], [149.678, -22.343], [150.077, -22.123], [150.483, -22.556], [150.727, -22.402], [150.9, -23.462], [151.609, -24.076], [152.074, -24.458], [152.855, -25.268], [153.136, -26.071], [153.162, -26.641], [153.093, -27.26], [153.569, -28.11], [153.512, -28.995], [153.339, -29.458], [153.069, -30.35], [153.09, -30.924], [152.892, -31.64], [152.45, -32.55], [151.709, -33.041], [151.344, -33.816], [151.011, -34.31], [150.714, -35.173], [150.328, -35.672], [150.075, -36.42], [149.946, -37.109], [149.997, -37.425], [149.424, -37.773], [148.305, -37.809], [147.382, -38.219], [146.922, -38.607], [146.318, -39.036], [145.49, -38.594], [144.877, -38.417], [145.032, -37.896], [144.486, -38.085], [143.61, -38.809], [142.745, -38.538], [142.178, -38.38], [141.607, -38.309], [140.639, -38.019], [139.992, -37.403], [139.807, -36.644], [139.574, -36.138], [139.083, -35.733], [138.121, -35.612], [138.449, -35.127], [138.208, -34.385], [137.719, -35.077], [136.829, -35.261], [137.352, -34.707], [137.504, -34.13], [137.89, -33.64], [137.81, -32.9], [136.997, -33.753], [136.372, -34.095], [135.989, -34.89], [135.208, -34.479], [135.239, -33.948], [134.613, -33.223], [134.086, -32.848], [134.274, -32.617], [132.991, -32.011], [132.288, -31.983], [131.326, -31.496], [129.536, -31.59], [128.241, -31.948], [127.103, -32.282], [126.149, -32.216]]]] }, { "N": "Sri Lanka", "I": "LK", "C": [[[[81.788, 7.523], [81.637, 6.482], [81.218, 6.197], [80.348, 5.968], [79.872, 6.763], [79.695, 8.201], [80.148, 9.824], [80.839, 9.268], [81.304, 8.564], [81.788, 7.523]]]] }, { "N": "China", "I": "CN", "C": [[[[109.475, 18.198], [108.655, 18.508], [108.626, 19.368], [109.119, 19.821], [110.212, 20.101], [110.787, 20.078], [111.01, 19.696], [110.571, 19.256], [110.339, 18.678], [109.475, 18.198]]], [[[80.26, 42.35], [80.18, 42.92], [80.866, 43.18], [79.966, 44.918], [81.947, 45.317], [82.459, 45.54], [83.18, 47.33], [85.164, 47.001], [85.72, 47.453], [85.768, 48.456], [86.599, 48.549], [87.36, 49.215], [87.751, 49.297], [88.014, 48.599], [88.854, 48.069], [90.281, 47.694], [90.971, 46.888], [90.586, 45.72], [90.946, 45.286], [92.134, 45.115], [93.481, 44.975], [94.689, 44.352], [95.307, 44.241], [95.762, 43.319], [96.349, 42.726], [97.452, 42.749], [99.516, 42.525], [100.846, 42.664], [101.833, 42.515], [103.312, 41.907], [104.522, 41.908], [104.965, 41.597], [106.129, 42.134], [107.745, 42.482], [109.244, 42.519], [110.412, 42.871], [111.13, 43.407], [111.83, 43.743], [111.668, 44.073], [111.348, 44.457], [111.873, 45.102], [112.436, 45.012], [113.464, 44.809], [114.46, 45.34], [115.985, 45.727], [116.718, 46.388], [117.422, 46.673], [118.874, 46.805], [119.663, 46.693], [119.773, 47.048], [118.867, 47.747], [118.064, 48.067], [117.296, 47.698], [116.309, 47.853], [115.743, 47.727], [115.485, 48.135], [116.192, 49.135], [116.679, 49.889], [117.879, 49.511], [119.288, 50.143], [119.279, 50.583], [120.182, 51.644], [120.738, 51.964], [120.726, 52.516], [120.177, 52.754], [121.003, 53.251], [122.246, 53.432], [123.571, 53.459], [125.068, 53.161], [125.946, 52.793], [126.564, 51.784], [126.939, 51.354], [127.287, 50.74], [127.657, 49.76], [129.398, 49.441], [130.582, 48.73], [130.987, 47.79], [132.507, 47.789], [133.374, 48.183], [135.026, 48.478], [134.501, 47.578], [134.112, 47.212], [133.77, 46.117], [133.097, 45.144], [131.883, 45.321], [131.025, 44.968], [131.289, 44.112], [131.145, 42.93], [130.634, 42.903], [130.64, 42.395], [129.994, 42.985], [129.597, 42.425], [128.052, 41.994], [128.208, 41.467], [127.344, 41.503], [126.869, 41.817], [126.182, 41.107], [125.08, 40.57], [124.266, 39.928], [122.868, 39.638], [122.131, 39.17], [121.055, 38.897], [121.586, 39.361], [121.377, 39.75], [122.169, 40.422], [121.64, 40.946], [120.769, 40.593], [119.64, 39.898], [119.023, 39.252], [118.043, 39.204], [117.533, 38.738], [118.06, 38.061], [118.878, 37.897], [118.912, 37.448], [119.703, 37.156], [120.823, 37.87], [121.711, 37.481], [122.358, 37.454], [122.52, 36.931], [121.104, 36.651], [120.637, 36.111], [119.665, 35.61], [119.151, 34.91], [120.228, 34.36], [120.62, 33.377], [121.229, 32.46], [121.908, 31.692], [121.892, 30.949], [121.264, 30.676], [121.504, 30.143], [122.092, 29.833], [121.938, 29.018], [121.684, 28.226], [121.126, 28.136], [120.395, 27.053], [119.585, 25.741], [118.657, 24.547], [117.282, 23.625], [115.891, 22.783], [114.764, 22.668], [114.153, 22.224], [113.807, 22.548], [113.241, 22.051], [111.844, 21.55], [110.785, 21.397], [110.444, 20.341], [109.89, 20.282], [109.628, 21.008], [109.864, 21.395], [108.523, 21.715], [108.05, 21.552], [107.043, 21.812], [106.567, 22.218], [106.725, 22.794], [105.811, 22.977], [105.329, 23.352], [104.477, 22.819], [103.505, 22.704], [102.707, 22.709], [102.17, 22.465], [101.652, 22.318], [101.803, 21.174], [101.27, 21.202], [101.18, 21.437], [101.15, 21.85], [100.417, 21.559], [99.983, 21.743], [99.241, 22.118], [99.532, 22.949], [98.899, 23.143], [98.66, 24.063], [97.605, 23.897], [97.725, 25.084], [98.672, 25.919], [98.712, 26.744], [98.683, 27.509], [98.246, 27.747], [97.912, 28.336], [97.327, 28.262], [96.249, 28.411], [96.587, 28.831], [96.118, 29.453], [95.405, 29.032], [94.566, 29.277], [93.413, 28.641], [92.503, 27.897], [91.697, 27.772], [91.259, 28.041], [90.731, 28.065], [90.016, 28.296], [89.476, 28.043], [88.814, 27.299], [88.73, 28.087], [88.12, 27.877], [86.955, 27.974], [85.823, 28.204], [85.012, 28.643], [84.235, 28.84], [83.899, 29.32], [83.337, 29.464], [82.328, 30.115], [81.526, 30.423], [81.111, 30.183], [79.721, 30.883], [78.739, 31.516], [78.458, 32.618], [79.176, 32.484], [79.209, 32.994], [78.811, 33.506], [78.912, 34.322], [77.837, 35.494], [76.193, 35.898], [75.897, 36.667], [75.158, 37.133], [74.98, 37.42], [74.83, 37.99], [74.865, 38.379], [74.258, 38.607], [73.929, 38.506], [73.675, 39.431], [73.96, 39.66], [73.822, 39.894], [74.777, 40.366], [75.468, 40.562], [76.526, 40.428], [76.904, 41.066], [78.187, 41.185], [78.544, 41.582], [80.119, 42.124], [80.26, 42.35]]]] }, { "N": "Taiwan", "I": "TW", "C": [[[[121.778, 24.394], [121.176, 22.791], [120.747, 21.971], [120.22, 22.815], [120.106, 23.556], [120.695, 24.538], [121.495, 25.295], [121.951, 24.998], [121.778, 24.394]]]] }, { "N": "Italy", "I": "IT", "C": [[[[10.443, 46.894], [11.049, 46.751], [11.165, 46.942], [12.153, 47.115], [12.376, 46.768], [13.806, 46.509], [13.698, 46.017], [13.938, 45.591], [13.142, 45.737], [12.329, 45.382], [12.384, 44.885], [12.261, 44.6], [12.589, 44.091], [13.527, 43.588], [14.03, 42.761], [15.143, 41.955], [15.926, 41.961], [16.17, 41.74], [15.889, 41.541], [16.785, 41.18], [17.519, 40.877], [18.377, 40.356], [18.48, 40.169], [18.293, 39.811], [17.738, 40.278], [16.87, 40.442], [16.449, 39.795], [17.171, 39.425], [17.053, 38.903], [16.635, 38.844], [16.101, 37.986], [15.684, 37.909], [15.688, 38.215], [15.892, 38.751], [16.109, 38.965], [15.719, 39.544], [15.414, 40.048], [14.998, 40.173], [14.703, 40.605], [14.061, 40.786], [13.628, 41.188], [12.888, 41.253], [12.107, 41.705], [11.192, 42.355], [10.512, 42.931], [10.2, 43.92], [9.702, 44.036], [8.889, 44.366], [8.429, 44.231], [7.851, 43.767], [7.435, 43.694], [7.55, 44.128], [7.008, 44.255], [6.75, 45.029], [7.097, 45.333], [6.802, 45.709], [6.844, 45.991], [7.274, 45.777], [7.756, 45.824], [8.317, 46.164], [8.49, 46.005], [8.966, 46.037], [9.183, 46.44], [9.923, 46.315], [10.363, 46.484], [10.443, 46.894]]], [[[14.761, 38.144], [15.52, 38.231], [15.16, 37.444], [15.31, 37.134], [15.1, 36.62], [14.335, 36.997], [13.827, 37.105], [12.431, 37.613], [12.571, 38.126], [13.741, 38.035], [14.761, 38.144]]], [[[8.71, 40.9], [9.21, 41.21], [9.81, 40.5], [9.67, 39.177], [9.215, 39.24], [8.807, 38.907], [8.428, 39.172], [8.388, 40.378], [8.16, 40.95], [8.71, 40.9]]]] }, { "N": "Denmark", "I": "DK", "C": [[[[9.922, 54.983], [9.282, 54.831], [8.526, 54.963], [8.12, 55.518], [8.09, 56.54], [8.257, 56.81], [8.543, 57.11], [9.424, 57.172], [9.776, 57.448], [10.58, 57.73], [10.546, 57.216], [10.25, 56.89], [10.37, 56.61], [10.912, 56.459], [10.668, 56.081], [10.37, 56.19], [9.65, 55.47], [9.922, 54.983]]], [[[12.371, 56.111], [12.69, 55.61], [12.09, 54.8], [11.044, 55.365], [10.904, 55.78], [12.371, 56.111]]]] }, { "N": "United Kingdom", "I": "GB", "C": [[[[-6.198, 53.868], [-6.954, 54.074], [-7.572, 54.06], [-7.366, 54.596], [-7.572, 55.132], [-6.734, 55.173], [-5.662, 54.555], [-6.198, 53.868]]], [[[-3.094, 53.405], [-3.092, 53.404], [-2.945, 53.985], [-3.615, 54.601], [-3.63, 54.615], [-4.844, 54.791], [-5.083, 55.062], [-4.719, 55.508], [-5.048, 55.784], [-5.586, 55.311], [-5.645, 56.275], [-6.15, 56.785], [-5.787, 57.819], [-5.01, 58.63], [-4.211, 58.551], [-3.005, 58.635], [-4.074, 57.553], [-3.055, 57.69], [-1.959, 57.685], [-2.22, 56.87], [-3.119, 55.974], [-2.085, 55.91], [-2.006, 55.805], [-1.115, 54.625], [-0.43, 54.464], [0.185, 53.325], [0.47, 52.93], [1.682, 52.74], [1.56, 52.1], [1.051, 51.807], [1.45, 51.289], [0.55, 50.766], [-0.788, 50.775], [-2.49, 50.5], [-2.956, 50.697], [-3.617, 50.228], [-4.543, 50.342], [-5.245, 49.96], [-5.777, 50.16], [-4.31, 51.21], [-3.415, 51.426], [-3.423, 51.427], [-4.984, 51.593], [-5.267, 51.991], [-4.222, 52.301], [-4.77, 52.84], [-4.58, 53.495], [-3.094, 53.405]]]] }, { "N": "Iceland", "I": "IS", "C": [[[[-14.509, 66.456], [-14.74, 65.809], [-13.61, 65.127], [-14.91, 64.364], [-17.794, 63.679], [-18.656, 63.496], [-19.973, 63.644], [-22.763, 63.96], [-21.778, 64.402], [-23.955, 64.891], [-22.184, 65.085], [-22.227, 65.379], [-24.326, 65.611], [-23.651, 66.263], [-22.135, 66.41], [-20.576, 65.732], [-19.057, 66.277], [-17.799, 65.994], [-16.168, 66.527], [-14.509, 66.456]]]] }, { "N": "Azerbaijan", "I": "AZ", "C": [[[[46.405, 41.861], [46.686, 41.827], [47.373, 41.22], [47.816, 41.151], [47.987, 41.406], [48.584, 41.809], [49.11, 41.282], [49.619, 40.573], [50.085, 40.526], [50.393, 40.257], [49.569, 40.176], [49.395, 39.399], [49.223, 39.049], [48.857, 38.815], [48.883, 38.32], [48.634, 38.27], [48.011, 38.794], [48.356, 39.289], [48.06, 39.582], [47.685, 39.508], [46.506, 38.771], [46.483, 39.464], [46.035, 39.628], [45.61, 39.9], [45.892, 40.218], [45.359, 40.562], [45.56, 40.812], [45.179, 40.985], [44.972, 41.248], [45.217, 41.411], [45.963, 41.124], [46.502, 41.064], [46.638, 41.182], [46.145, 41.723], [46.405, 41.861]]], [[[46.144, 38.741], [45.458, 38.874], [44.953, 39.336], [44.794, 39.713], [45.002, 39.74], [45.298, 39.472], [45.74, 39.474], [45.735, 39.32], [46.144, 38.741]]]] }, { "N": "Georgia", "I": "GE", "C": [[[[39.955, 43.435], [40.077, 43.553], [40.922, 43.382], [42.394, 43.22], [43.756, 42.741], [43.931, 42.555], [44.538, 42.712], [45.47, 42.503], [45.776, 42.092], [46.405, 41.861], [46.145, 41.723], [46.638, 41.182], [46.502, 41.064], [45.963, 41.124], [45.217, 41.411], [44.972, 41.248], [43.583, 41.092], [42.62, 41.583], [41.554, 41.536], [41.703, 41.963], [41.453, 42.645], [40.875, 43.014], [40.321, 43.129], [39.955, 43.435]]]] }, { "N": "Philippines", "I": "PH", "C": [[[[120.834, 12.704], [120.323, 13.466], [121.18, 13.43], [121.527, 13.07], [121.262, 12.206], [120.834, 12.704]]], [[[122.586, 9.981], [122.837, 10.261], [122.947, 10.882], [123.499, 10.941], [123.338, 10.267], [124.078, 11.233], [123.982, 10.279], [123.623, 9.95], [123.31, 9.318], [122.996, 9.022], [122.38, 9.713], [122.586, 9.981]]], [[[126.377, 8.415], [126.479, 7.75], [126.537, 7.189], [126.197, 6.274], [125.831, 7.294], [125.364, 6.786], [125.683, 6.05], [125.397, 5.581], [124.22, 6.161], [123.939, 6.885], [124.244, 7.361], [123.61, 7.834], [123.296, 7.419], [122.826, 7.457], [122.085, 6.899], [121.92, 7.192], [122.312, 8.035], [122.942, 8.316], [123.488, 8.693], [123.841, 8.24], [124.601, 8.514], [124.765, 8.96], [125.471, 8.987], [125.412, 9.76], [126.223, 9.286], [126.307, 8.782], [126.377, 8.415]]], [[[118.505, 9.316], [117.174, 8.367], [117.664, 9.067], [118.387, 9.684], [118.987, 10.376], [119.511, 11.37], [119.69, 10.554], [119.029, 10.004], [118.505, 9.316]]], [[[122.337, 18.225], [122.174, 17.81], [122.516, 17.094], [122.252, 16.262], [121.663, 15.931], [121.505, 15.125], [121.729, 14.328], [122.259, 14.218], [122.701, 14.337], [123.95, 13.782], [123.855, 13.238], [124.181, 12.998], [124.077, 12.537], [123.298, 13.028], [122.929, 13.553], [122.671, 13.186], [122.035, 13.784], [121.126, 13.637], [120.629, 13.858], [120.679, 14.271], [120.992, 14.525], [120.693, 14.757], [120.564, 14.396], [120.07, 14.971], [119.921, 15.406], [119.884, 16.364], [120.286, 16.035], [120.39, 17.599], [120.716, 18.505], [121.321, 18.504], [121.938, 18.219], [122.246, 18.479], [122.337, 18.225]]], [[[122.038, 11.416], [121.884, 11.892], [122.484, 11.582], [123.12, 11.584], [123.101, 11.166], [122.638, 10.741], [122.003, 10.441], [121.967, 10.906], [122.038, 11.416]]], [[[125.503, 12.163], [125.783, 11.046], [125.012, 11.311], [125.033, 10.976], [125.277, 10.359], [124.802, 10.135], [124.76, 10.838], [124.459, 10.89], [124.303, 11.495], [124.891, 11.416], [124.878, 11.794], [124.267, 12.558], [125.227, 12.536], [125.503, 12.163]]]] }, { "N": "Malaysia", "I": "MY", "C": [[[[100.086, 6.464], [100.26, 6.643], [101.076, 6.205], [101.154, 5.691], [101.814, 5.811], [102.141, 6.222], [102.371, 6.128], [102.962, 5.524], [103.381, 4.855], [103.439, 4.182], [103.332, 3.727], [103.429, 3.383], [103.502, 2.791], [103.855, 2.515], [104.248, 1.631], [104.229, 1.293], [103.52, 1.226], [102.574, 1.967], [101.391, 2.761], [101.274, 3.27], [100.695, 3.939], [100.557, 4.767], [100.197, 5.312], [100.306, 6.041], [100.086, 6.464]]], [[[117.882, 4.138], [117.015, 4.306], [115.866, 4.307], [115.519, 3.169], [115.134, 2.821], [114.621, 1.431], [113.806, 1.218], [112.86, 1.498], [112.38, 1.41], [111.798, 0.904], [111.159, 0.976], [110.514, 0.773], [109.83, 1.338], [109.663, 2.006], [110.396, 1.664], [111.169, 1.851], [111.37, 2.697], [111.797, 2.886], [112.996, 3.102], [113.713, 3.894], [114.204, 4.526], [114.66, 4.008], [114.87, 4.348], [115.347, 4.317], [115.406, 4.955], [115.451, 5.448], [116.221, 6.143], [116.725, 6.925], [117.13, 6.928], [117.643, 6.422], [117.689, 5.987], [118.348, 5.709], [119.182, 5.408], [119.111, 5.016], [118.44, 4.967], [118.618, 4.478], [117.882, 4.138]]]] }, { "N": "Brunei Darussalam", "I": "BN", "C": [[[[115.451, 5.448], [115.406, 4.955], [115.347, 4.317], [114.87, 4.348], [114.66, 4.008], [114.204, 4.526], [114.6, 4.9], [115.451, 5.448]]]] }, { "N": "Slovenia", "I": "SI", "C": [[[[13.806, 46.509], [14.632, 46.432], [15.137, 46.659], [16.012, 46.684], [16.202, 46.852], [16.371, 46.841], [16.565, 46.504], [15.769, 46.238], [15.672, 45.834], [15.324, 45.732], [15.328, 45.452], [14.935, 45.472], [14.595, 45.635], [14.412, 45.466], [13.715, 45.5], [13.938, 45.591], [13.698, 46.017], [13.806, 46.509]]]] }, { "N": "Finland", "I": "FI", "C": [[[[28.592, 69.065], [28.446, 68.365], [29.977, 67.698], [29.055, 66.944], [30.218, 65.806], [29.544, 64.949], [30.445, 64.204], [30.036, 63.553], [31.516, 62.868], [31.14, 62.358], [30.211, 61.78], [28.07, 60.504], [28.07, 60.504], [28.07, 60.504], [26.255, 60.424], [24.497, 60.057], [22.87, 59.846], [22.291, 60.392], [21.322, 60.72], [21.545, 61.705], [21.059, 62.607], [21.536, 63.19], [22.443, 63.818], [24.731, 64.902], [25.398, 65.111], [25.294, 65.534], [23.903, 66.007], [23.566, 66.396], [23.539, 67.936], [21.979, 68.617], [20.646, 69.106], [21.245, 69.37], [22.356, 68.842], [23.662, 68.891], [24.736, 68.65], [25.689, 69.092], [26.18, 69.825], [27.732, 70.164], [29.016, 69.766], [28.592, 69.065]]]] }, { "N": "Slovakia", "I": "SK", "C": [[[[22.558, 49.086], [22.281, 48.825], [22.086, 48.422], [21.872, 48.32], [20.801, 48.624], [20.474, 48.563], [20.239, 48.328], [19.769, 48.203], [19.661, 48.267], [19.174, 48.111], [18.777, 48.082], [18.697, 47.881], [17.857, 47.758], [17.488, 47.867], [16.98, 48.123], [16.88, 48.47], [16.96, 48.597], [17.102, 48.817], [17.545, 48.8], [17.886, 48.903], [17.914, 48.996], [18.105, 49.044], [18.17, 49.272], [18.4, 49.315], [18.555, 49.495], [18.853, 49.496], [18.91, 49.436], [19.321, 49.572], [19.825, 49.217], [20.416, 49.431], [20.888, 49.329], [21.608, 49.47], [22.558, 49.086]]]] }, { "N": "Czech Republic", "I": "CZ", "C": [[[[15.017, 51.107], [15.491, 50.785], [16.239, 50.698], [16.176, 50.423], [16.719, 50.216], [16.869, 50.474], [17.555, 50.362], [17.649, 50.049], [18.393, 49.989], [18.853, 49.496], [18.555, 49.495], [18.4, 49.315], [18.17, 49.272], [18.105, 49.044], [17.914, 48.996], [17.886, 48.903], [17.545, 48.8], [17.102, 48.817], [16.96, 48.597], [16.499, 48.786], [16.03, 48.734], [15.253, 49.039], [14.901, 48.964], [14.339, 48.555], [13.596, 48.877], [13.031, 49.307], [12.521, 49.547], [12.415, 49.969], [12.24, 50.266], [12.967, 50.484], [13.338, 50.733], [14.056, 50.927], [14.307, 51.117], [14.571, 51.002], [15.017, 51.107]]]] }, { "N": "Eritrea", "I": "ER", "C": [[[[36.43, 14.422], [36.323, 14.822], [36.754, 16.292], [36.853, 16.957], [37.167, 17.263], [37.904, 17.428], [38.41, 17.998], [38.991, 16.841], [39.266, 15.923], [39.814, 15.436], [41.179, 14.491], [41.735, 13.921], [42.277, 13.344], [42.59, 13], [43.081, 12.7], [42.78, 12.455], [42.352, 12.542], [42.01, 12.866], [41.599, 13.452], [41.155, 13.773], [40.897, 14.119], [40.026, 14.52], [39.341, 14.532], [39.099, 14.741], [38.513, 14.505], [37.906, 14.959], [37.594, 14.213], [36.43, 14.422]]]] }, { "N": "Japan", "I": "JP", "C": [[[[141.885, 39.181], [140.959, 38.174], [140.976, 37.142], [140.6, 36.344], [140.774, 35.843], [140.253, 35.138], [138.976, 34.668], [137.218, 34.606], [135.793, 33.465], [135.121, 33.849], [135.079, 34.597], [133.34, 34.376], [132.157, 33.905], [130.986, 33.886], [132, 33.15], [131.333, 31.45], [130.686, 31.03], [130.202, 31.418], [130.448, 32.319], [129.815, 32.61], [129.408, 33.296], [130.354, 33.604], [130.878, 34.233], [131.884, 34.75], [132.618, 35.433], [134.608, 35.732], [135.678, 35.527], [136.724, 37.305], [137.391, 36.827], [138.858, 37.827], [139.426, 38.216], [140.055, 39.439], [139.883, 40.563], [140.306, 41.195], [141.369, 41.379], [141.914, 39.992], [141.885, 39.181]]], [[[144.613, 43.961], [145.321, 44.385], [145.543, 43.262], [144.06, 42.988], [143.184, 41.995], [141.611, 42.679], [141.067, 41.585], [139.955, 41.57], [139.818, 42.564], [140.312, 43.333], [141.381, 43.389], [141.672, 44.772], [141.968, 45.551], [143.143, 44.51], [143.91, 44.174], [144.613, 43.961]]], [[[132.371, 33.464], [132.924, 34.06], [133.493, 33.945], [133.904, 34.365], [134.638, 34.149], [134.766, 33.806], [134.203, 33.201], [133.793, 33.522], [133.28, 33.29], [133.015, 32.705], [132.363, 32.989], [132.371, 33.464]]]] }, { "N": "Paraguay", "I": "PY", "C": [[[[-58.166, -20.177], [-57.871, -20.733], [-57.937, -22.09], [-56.882, -22.282], [-56.473, -22.086], [-55.798, -22.357], [-55.611, -22.656], [-55.518, -23.572], [-55.401, -23.957], [-55.028, -24.001], [-54.653, -23.84], [-54.293, -24.021], [-54.293, -24.571], [-54.429, -25.162], [-54.625, -25.739], [-54.789, -26.622], [-55.696, -27.388], [-56.487, -27.548], [-57.61, -27.396], [-58.618, -27.124], [-57.634, -25.604], [-57.777, -25.162], [-58.807, -24.771], [-60.029, -24.033], [-60.847, -23.881], [-62.685, -22.249], [-62.291, -21.052], [-62.266, -20.514], [-61.786, -19.634], [-60.044, -19.343], [-59.115, -19.357], [-58.183, -19.868], [-58.166, -20.177]]]] }, { "N": "Yemen", "I": "YE", "C": [[[[52, 19], [52.782, 17.35], [53.109, 16.651], [52.385, 16.382], [52.192, 15.938], [52.168, 15.597], [51.173, 15.175], [49.575, 14.709], [48.679, 14.003], [48.239, 13.948], [47.939, 14.007], [47.354, 13.592], [46.717, 13.4], [45.878, 13.348], [45.625, 13.291], [45.406, 13.027], [45.144, 12.954], [44.99, 12.7], [44.495, 12.722], [44.175, 12.586], [43.483, 12.637], [43.223, 13.221], [43.251, 13.768], [43.088, 14.063], [42.892, 14.802], [42.605, 15.213], [42.805, 15.262], [42.702, 15.719], [42.824, 15.912], [42.779, 16.348], [43.218, 16.667], [43.116, 17.088], [43.381, 17.58], [43.792, 17.32], [44.063, 17.41], [45.217, 17.433], [45.4, 17.333], [46.367, 17.233], [46.75, 17.283], [47, 16.95], [47.467, 17.117], [48.183, 18.167], [49.117, 18.617], [52, 19]]]] }, { "N": "Saudi Arabia", "I": "SA", "C": [[[[34.956, 29.357], [36.069, 29.197], [36.501, 29.505], [36.741, 29.865], [37.504, 30.004], [37.668, 30.339], [37.999, 30.508], [37.002, 31.508], [39.005, 32.01], [39.195, 32.161], [40.4, 31.89], [41.89, 31.19], [44.709, 29.179], [46.569, 29.099], [47.46, 29.003], [47.709, 28.526], [48.416, 28.552], [48.808, 27.69], [49.3, 27.461], [49.471, 27.11], [50.152, 26.69], [50.213, 26.277], [50.113, 25.944], [50.24, 25.608], [50.527, 25.328], [50.661, 25], [50.81, 24.755], [51.112, 24.556], [51.39, 24.627], [51.58, 24.245], [51.618, 24.014], [52.001, 23.001], [55.007, 22.497], [55.208, 22.708], [55.667, 22], [55, 20], [52, 19], [49.117, 18.617], [48.183, 18.167], [47.467, 17.117], [47, 16.95], [46.75, 17.283], [46.367, 17.233], [45.4, 17.333], [45.217, 17.433], [44.063, 17.41], [43.792, 17.32], [43.381, 17.58], [43.116, 17.088], [43.218, 16.667], [42.779, 16.348], [42.65, 16.775], [42.348, 17.076], [42.271, 17.475], [41.754, 17.833], [41.221, 18.672], [40.939, 19.486], [40.248, 20.175], [39.802, 20.339], [39.139, 21.292], [39.024, 21.987], [39.066, 22.58], [38.493, 23.688], [38.024, 24.079], [37.484, 24.285], [37.155, 24.858], [37.209, 25.085], [36.932, 25.603], [36.64, 25.826], [36.249, 26.57], [35.64, 27.377], [35.13, 28.063], [34.632, 28.059], [34.788, 28.607], [34.832, 28.957], [34.956, 29.357]]]] }, { "N": "Northern Cyprus", "I": "CYP", "C": [[[[32.732, 35.14], [32.802, 35.146], [32.947, 35.387], [33.667, 35.373], [34.576, 35.672], [33.901, 35.246], [33.974, 35.059], [33.866, 35.094], [33.675, 35.018], [33.526, 35.039], [33.476, 35], [33.456, 35.101], [33.384, 35.163], [33.191, 35.173], [32.92, 35.088], [32.732, 35.14]]]] }, { "N": "Cyprus", "I": "CY", "C": [[[[32.732, 35.14], [32.92, 35.088], [33.191, 35.173], [33.384, 35.163], [33.456, 35.101], [33.476, 35], [33.526, 35.039], [33.675, 35.018], [33.866, 35.094], [33.974, 35.059], [34.005, 34.978], [32.98, 34.572], [32.49, 34.702], [32.257, 35.103], [32.732, 35.14]]]] }, { "N": "Morocco", "I": "MA", "C": [[[[-2.17, 35.168], [-1.793, 34.528], [-1.733, 33.92], [-1.388, 32.864], [-1.125, 32.652], [-1.308, 32.263], [-2.617, 32.094], [-3.069, 31.724], [-3.647, 31.637], [-3.69, 30.897], [-4.86, 30.501], [-5.242, 30], [-6.061, 29.732], [-7.059, 29.579], [-8.674, 28.841], [-8.666, 27.656], [-8.818, 27.656], [-8.795, 27.121], [-9.413, 27.088], [-9.735, 26.861], [-10.189, 26.861], [-10.551, 26.991], [-11.393, 26.883], [-11.718, 26.104], [-12.031, 26.031], [-12.501, 24.77], [-13.891, 23.691], [-14.221, 22.31], [-14.631, 21.861], [-14.751, 21.501], [-17.003, 21.421], [-17.02, 21.422], [-16.973, 21.886], [-16.589, 22.158], [-16.262, 22.679], [-16.326, 23.018], [-15.983, 23.723], [-15.426, 24.359], [-15.089, 24.52], [-14.825, 25.104], [-14.801, 25.636], [-14.44, 26.254], [-13.774, 26.619], [-13.14, 27.64], [-13.122, 27.654], [-12.619, 28.038], [-11.689, 28.149], [-10.901, 28.832], [-10.4, 29.099], [-9.565, 29.934], [-9.815, 31.178], [-9.435, 32.038], [-9.301, 32.565], [-8.657, 33.24], [-7.654, 33.697], [-6.913, 34.11], [-6.244, 35.146], [-5.93, 35.76], [-5.194, 35.755], [-4.591, 35.331], [-3.64, 35.4], [-2.604, 35.179], [-2.17, 35.168]]]] }, { "N": "Egypt", "I": "EG", "C": [[[[36.866, 22], [32.9, 22], [29.02, 22], [25, 22], [25, 25.682], [25, 29.239], [24.7, 30.044], [24.958, 30.662], [24.803, 31.089], [25.165, 31.569], [26.495, 31.586], [27.458, 31.321], [28.45, 31.026], [28.914, 30.87], [29.683, 31.187], [30.095, 31.473], [30.977, 31.556], [31.688, 31.43], [31.96, 30.934], [32.192, 31.26], [32.994, 31.024], [33.773, 30.967], [34.265, 31.219], [34.265, 31.219], [34.823, 29.761], [34.923, 29.501], [34.642, 29.099], [34.427, 28.344], [34.155, 27.823], [33.921, 27.649], [33.588, 27.971], [33.137, 28.418], [32.423, 29.851], [32.32, 29.76], [32.735, 28.705], [33.349, 27.7], [34.105, 26.142], [34.474, 25.599], [34.795, 25.034], [35.692, 23.927], [35.494, 23.752], [35.526, 23.102], [36.691, 22.205], [36.866, 22]]]] }, { "N": "Libya", "I": "LY", "C": [[[[25, 22], [25, 20.003], [23.85, 20], [23.838, 19.58], [19.849, 21.495], [15.861, 23.41], [14.851, 22.863], [14.144, 22.491], [13.581, 23.041], [12, 23.472], [11.561, 24.098], [10.771, 24.563], [10.304, 24.379], [9.948, 24.937], [9.911, 25.365], [9.319, 26.094], [9.716, 26.512], [9.629, 27.141], [9.756, 27.688], [9.684, 28.144], [9.86, 28.96], [9.806, 29.425], [9.482, 30.308], [9.97, 30.539], [10.057, 30.962], [9.95, 31.376], [10.637, 31.761], [10.945, 32.082], [11.432, 32.369], [11.489, 33.137], [12.663, 32.793], [13.083, 32.879], [13.919, 32.712], [15.246, 32.265], [15.714, 31.376], [16.612, 31.182], [18.021, 30.764], [19.086, 30.266], [19.574, 30.526], [20.053, 30.986], [19.82, 31.752], [20.134, 32.238], [20.855, 32.707], [21.543, 32.843], [22.896, 32.639], [23.237, 32.191], [23.609, 32.187], [23.927, 32.017], [24.921, 31.899], [25.165, 31.569], [24.803, 31.089], [24.958, 30.662], [24.7, 30.044], [25, 29.239], [25, 25.682], [25, 22]]]] }, { "N": "Ethiopia", "I": "ET", "C": [[[[47.789, 8.003], [44.964, 5.002], [43.661, 4.958], [42.77, 4.253], [42.129, 4.234], [41.855, 3.919], [41.172, 3.919], [40.768, 4.257], [39.855, 3.839], [39.559, 3.422], [38.893, 3.501], [38.671, 3.616], [38.437, 3.589], [38.121, 3.599], [36.855, 4.448], [36.159, 4.448], [35.817, 4.777], [35.817, 5.338], [35.298, 5.506], [34.707, 6.594], [34.25, 6.826], [34.075, 7.226], [33.568, 7.713], [32.954, 7.785], [33.295, 8.355], [33.826, 8.379], [33.975, 8.685], [33.962, 9.584], [34.257, 10.63], [34.731, 10.91], [34.832, 11.319], [35.26, 12.083], [35.864, 12.578], [36.27, 13.563], [36.43, 14.422], [37.594, 14.213], [37.906, 14.959], [38.513, 14.505], [39.099, 14.741], [39.341, 14.532], [40.026, 14.52], [40.897, 14.119], [41.155, 13.773], [41.599, 13.452], [42.01, 12.866], [42.352, 12.542], [42, 12.1], [41.662, 11.631], [41.74, 11.355], [41.756, 11.051], [42.314, 11.034], [42.555, 11.105], [42.777, 10.927], [42.559, 10.573], [42.928, 10.022], [43.297, 9.54], [43.679, 9.184], [46.948, 7.997], [47.789, 8.003]]]] }, { "N": "Djibouti", "I": "DJ", "C": [[[[42.352, 12.542], [42.78, 12.455], [43.081, 12.7], [43.318, 12.39], [43.286, 11.975], [42.716, 11.736], [43.145, 11.462], [42.777, 10.927], [42.555, 11.105], [42.314, 11.034], [41.756, 11.051], [41.74, 11.355], [41.662, 11.631], [42, 12.1], [42.352, 12.542]]]] }, { "N": "Somaliland", "I": "SOM", "C": [[[[48.948, 11.411], [48.948, 11.411], [48.942, 11.394], [48.938, 10.982], [48.938, 9.974], [48.938, 9.452], [48.487, 8.838], [47.789, 8.003], [46.948, 7.997], [43.679, 9.184], [43.297, 9.54], [42.928, 10.022], [42.559, 10.573], [42.777, 10.927], [43.145, 11.462], [43.471, 11.278], [43.667, 10.864], [44.118, 10.446], [44.614, 10.442], [45.557, 10.698], [46.645, 10.817], [47.526, 11.127], [48.022, 11.193], [48.379, 11.375], [48.948, 11.411], [48.948, 11.411]]]] }, { "N": "Uganda", "I": "UG", "C": [[[[33.904, -0.95], [31.866, -1.027], [30.77, -1.015], [30.419, -1.135], [29.822, -1.443], [29.579, -1.341], [29.588, -0.587], [29.82, -0.205], [29.876, 0.597], [30.086, 1.062], [30.469, 1.584], [30.853, 1.849], [31.174, 2.204], [30.773, 2.34], [30.834, 3.509], [30.834, 3.509], [31.246, 3.782], [31.881, 3.558], [32.686, 3.792], [33.39, 3.79], [34.005, 4.25], [34.479, 3.556], [34.596, 3.054], [35.036, 1.906], [34.672, 1.177], [34.18, 0.515], [33.894, 0.11], [33.904, -0.95]]]] }, { "N": "Rwanda", "I": "RW", "C": [[[[30.419, -1.135], [30.816, -1.699], [30.758, -2.287], [30.47, -2.414], [30.47, -2.414], [29.938, -2.348], [29.632, -2.918], [29.025, -2.839], [29.117, -2.292], [29.255, -2.215], [29.292, -1.62], [29.579, -1.341], [29.822, -1.443], [30.419, -1.135]]]] }, { "N": "Bosnia and Herzegovina", "I": "BA", "C": [[[[18.56, 42.65], [17.675, 43.029], [17.297, 43.446], [16.916, 43.668], [16.456, 44.041], [16.24, 44.351], [15.75, 44.819], [15.959, 45.234], [16.318, 45.004], [16.535, 45.212], [17.002, 45.234], [17.862, 45.068], [18.553, 45.082], [19.005, 44.86], [19.005, 44.86], [19.368, 44.863], [19.118, 44.423], [19.6, 44.038], [19.454, 43.568], [19.219, 43.524], [19.032, 43.433], [18.706, 43.2], [18.56, 42.65]]]] }, { "N": "Macedonia", "I": "MK", "C": [[[[22.381, 42.32], [22.881, 41.999], [22.952, 41.338], [22.762, 41.305], [22.597, 41.13], [22.055, 41.15], [21.674, 40.931], [21.02, 40.843], [20.605, 41.086], [20.463, 41.515], [20.59, 41.855], [20.59, 41.855], [20.717, 41.847], [20.762, 42.052], [21.353, 42.207], [21.577, 42.245], [21.917, 42.304], [22.381, 42.32]]]] }, { "N": "Serbia", "I": "RS", "C": [[[[18.83, 45.909], [18.83, 45.909], [19.596, 46.172], [20.22, 46.127], [20.762, 45.735], [20.874, 45.416], [21.484, 45.181], [21.562, 44.769], [22.145, 44.478], [22.459, 44.703], [22.706, 44.578], [22.474, 44.409], [22.657, 44.235], [22.41, 44.008], [22.5, 43.643], [22.986, 43.211], [22.605, 42.899], [22.437, 42.58], [22.545, 42.461], [22.381, 42.32], [21.917, 42.304], [21.577, 42.245], [21.543, 42.32], [21.663, 42.439], [21.775, 42.683], [21.633, 42.677], [21.439, 42.863], [21.274, 42.91], [21.143, 43.069], [20.957, 43.131], [20.814, 43.272], [20.635, 43.217], [20.497, 42.885], [20.258, 42.813], [20.34, 42.899], [19.959, 43.106], [19.63, 43.214], [19.484, 43.352], [19.219, 43.524], [19.454, 43.568], [19.6, 44.038], [19.118, 44.423], [19.368, 44.863], [19.005, 44.86], [19.005, 44.86], [19.39, 45.237], [19.073, 45.522], [18.83, 45.909]]]] }, { "N": "Montenegro", "I": "ME", "C": [[[[20.071, 42.589], [19.802, 42.5], [19.738, 42.688], [19.304, 42.196], [19.372, 41.878], [19.162, 41.955], [18.882, 42.282], [18.45, 42.48], [18.56, 42.65], [18.706, 43.2], [19.032, 43.433], [19.219, 43.524], [19.484, 43.352], [19.63, 43.214], [19.959, 43.106], [20.34, 42.899], [20.258, 42.813], [20.071, 42.589]]]] }, { "N": "Kosovo", "I": "XK", "C": [[[[20.59, 41.855], [20.523, 42.218], [20.284, 42.32], [20.071, 42.589], [20.258, 42.813], [20.497, 42.885], [20.635, 43.217], [20.814, 43.272], [20.957, 43.131], [21.143, 43.069], [21.274, 42.91], [21.439, 42.863], [21.633, 42.677], [21.775, 42.683], [21.663, 42.439], [21.543, 42.32], [21.577, 42.245], [21.353, 42.207], [20.762, 42.052], [20.717, 41.847], [20.59, 41.855]]]] }, { "N": "Trinidad and Tobago", "I": "TT", "C": [[[[-61.68, 10.76], [-61.105, 10.89], [-60.895, 10.855], [-60.935, 10.11], [-61.77, 10], [-61.95, 10.09], [-61.66, 10.365], [-61.68, 10.76]]]] }, { "N": "South Sudan", "I": "SS", "C": [[[[30.834, 3.509], [29.954, 4.174], [29.716, 4.601], [29.159, 4.389], [28.697, 4.455], [28.429, 4.287], [27.98, 4.408], [27.374, 5.234], [27.213, 5.551], [26.466, 5.947], [26.213, 6.547], [25.797, 6.979], [25.124, 7.5], [25.115, 7.825], [24.567, 8.229], [23.887, 8.62], [24.194, 8.729], [24.537, 8.918], [24.795, 9.81], [25.07, 10.274], [25.791, 10.411], [25.962, 10.136], [26.477, 9.553], [26.752, 9.467], [27.113, 9.639], [27.834, 9.604], [27.971, 9.398], [28.967, 9.398], [29.001, 9.604], [29.516, 9.793], [29.619, 10.085], [29.997, 10.291], [30.838, 9.707], [31.353, 9.81], [31.851, 10.531], [32.4, 11.081], [32.314, 11.681], [32.074, 11.973], [32.675, 12.025], [32.743, 12.248], [33.207, 12.179], [33.087, 11.441], [33.207, 10.72], [33.722, 10.325], [33.842, 9.982], [33.825, 9.484], [33.963, 9.464], [33.975, 8.685], [33.826, 8.379], [33.295, 8.355], [32.954, 7.785], [33.568, 7.713], [34.075, 7.226], [34.25, 6.826], [34.707, 6.594], [35.298, 5.506], [34.62, 4.847], [34.005, 4.25], [33.39, 3.79], [32.686, 3.792], [31.881, 3.558], [31.246, 3.782], [30.834, 3.509]]]] } ]} ������������������������������������������������������������������������bazaar-org-bazaar-917017d/scripts/countries.py������������������������������������������������������0000775�0000000�0000000�00000010422�15234476640�0021344�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python3 import struct import json import sys from pathlib import Path try: from babel import Locale except ImportError: print("Error: babel library not found.") print("Install it with: pip install babel") sys.exit(1) try: import gi gi.require_version('GLib', '2.0') from gi.repository import GLib except ImportError: print("Error: PyGObject not found.") sys.exit(1) verbose = False def log(msg): if verbose: print(msg) def read_linguas(linguas_path): languages = [] with open(linguas_path, "r", encoding="utf-8") as f: for line in f: line = line.strip() if line and not line.startswith("#"): languages.append(line) return languages def normalize_locale_code(lang_code): locale_map = {"zh_CN": "zh_Hans_CN", "zh_TW": "zh_Hant_TW", "fa_IR": "fa_IR"} return locale_map.get(lang_code, lang_code) def get_country_translation(country_code, lang_code): try: normalized = normalize_locale_code(lang_code) if "_" in normalized: parts = normalized.split("_") if len(parts) == 3: locale = Locale(parts[0], script=parts[1], territory=parts[2]) else: lang, territory = parts[0], parts[1] locale = Locale(lang, territory=territory) else: locale = Locale(normalized) territory_name = locale.territories.get(country_code.upper()) return territory_name if territory_name else None except Exception as e: log(f"Warning: Could not get translation for {country_code} in {lang_code}: {e}") return None def build_variant(json_path, linguas_path): languages = read_linguas(linguas_path) log(f"Found {len(languages)} languages: {', '.join(languages)}") with open(json_path, "r", encoding="utf-8") as f: data = json.load(f) builder = GLib.VariantBuilder(GLib.VariantType.new("a(ssa{ss}aaa(dd))")) for feature in data.get("features", []): country_name = feature.get("N", "") country_code = feature.get("I", "") if not country_code: continue log(f"Processing: {country_name} ({country_code})") translations = {} for lang in languages: translation = get_country_translation(country_code, lang) translations[lang] = translation if translation else country_name coords_raw = feature.get("C", []) poly_builder = GLib.VariantBuilder(GLib.VariantType.new("aaa(dd)")) for polygon in coords_raw: ring_builder = GLib.VariantBuilder(GLib.VariantType.new("aa(dd)")) for ring in polygon: point_builder = GLib.VariantBuilder(GLib.VariantType.new("a(dd)")) for point in ring: point_builder.add_value(GLib.Variant("(dd)", (float(point[0]), float(point[1])))) ring_builder.add_value(point_builder.end()) poly_builder.add_value(ring_builder.end()) trans_variant = GLib.Variant("a{ss}", translations) coords_variant = poly_builder.end() entry = GLib.Variant.new_tuple( GLib.Variant("s", country_name), GLib.Variant("s", country_code), trans_variant, coords_variant, ) builder.add_value(entry) return builder.end() def main(): global verbose linguas_path = "../po/LINGUAS" json_path = "countries.json.in" output_path = "../src/countries.gvariant" if "--verbose" in sys.argv: verbose = True sys.argv.remove("--verbose") if len(sys.argv) > 1: json_path = sys.argv[1] if len(sys.argv) > 2: linguas_path = sys.argv[2] if len(sys.argv) > 3: output_path = sys.argv[3] if not Path(linguas_path).exists(): print(f"Error: LINGUAS file not found at {linguas_path}") sys.exit(1) if not Path(json_path).exists(): print(f"Error: JSON file not found at {json_path}") sys.exit(1) variant = build_variant(json_path, linguas_path) data = variant.get_data_as_bytes() with open(output_path, "wb") as f: f.write(data.get_data()) print(f"GVariant saved to: {output_path} ({GLib.format_size(data.get_size())})") if __name__ == "__main__": main() ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/scripts/install-deps/�����������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0021354�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/scripts/install-deps/fedora-rawhide.sh������������������������������������0000775�0000000�0000000�00000001005�15234476640�0024570�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env bash DEPS=( meson ninja cmake blueprint-compiler desktop-file-utils python3-babel gtk4-devel libadwaita-devel libdex-devel flatpak-devel libxmlb-devel appstream-devel glycin-devel glycin-gtk4-devel libyaml-devel libsoup3-devel json-glib-devel md4c-devel gtksourceview5-devel webkitgtk6.0-devel libsecret-devel libproxy-devel malcontent-devel systemd-devel # lsp clangd ) dnf install ${DEPS[@]} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0016055�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/article-list-schema.xml�����������������������������������������������0000664�0000000�0000000�00000000133�15234476640�0022426�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <list> <object class="BzCuratedArticle"/> </list> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bazaar-daemon.c�������������������������������������������������������0000664�0000000�0000000�00000050245�15234476640�0020730�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bazaar-daemon.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <errno.h> #include <signal.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/wait.h> #include <systemd/sd-bus.h> #include <systemd/sd-event.h> #include <unistd.h> #include "search-index.h" #define BUS_NAME "io.github.kolunmi.Bazaar.SearchProvider" #define OBJECT_PATH "/io/github/kolunmi/Bazaar/SearchProvider" #define DAEMON_IFACE "io.github.kolunmi.Bazaar.Daemon" #define MAX_SEARCH_RESULTS 25 #define ACTIVATE_TIMEOUT_US 2000000 #define UPDATE_CHECK_INTERVAL_USEC (60ULL * 60ULL * 1000000ULL) /* 1 hour */ #define IDLE_EXIT_TIMEOUT_USEC (5ULL * 1000000ULL) #define _cleanup_(x) __attribute__ ((cleanup (x))) #define SD_BUS_CHECK(expr) \ do \ { \ r = (expr); \ if (r < 0) \ goto out; \ } \ while (0) static sd_event *event = NULL; static sd_bus *bus = NULL; static pid_t child_pid = -1; static SearchIndex *g_index = NULL; static char *g_index_path = NULL; static sd_event_source *update_timer_source = NULL; static sd_event_source *idle_timer_source = NULL; static void log_msg (const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); static void *malloc_or_bail (size_t n_bytes); static char *build_index_path (void); static void ensure_index_loaded (void); static int strv_count_local (char **strv); static void strv_free_local (char **strv); static void strv_freep (char ***strv); static void generic_freep (void *p); static int auto_update_enabled (void); static void cancel_idle_timer (void); static void arm_idle_timer (void); static int on_idle_timeout (sd_event_source *s, uint64_t usec, void *userdata); static int on_child_exit (sd_event_source *s, const siginfo_t *si, void *userdata); static void launch_app (char **extra_args, int n_extra_args); static void run_update_worker_once (void); static int on_update_worker_exit (sd_event_source *s, const siginfo_t *si, void *userdata); static int on_update_timer (sd_event_source *s, uint64_t usec, void *userdata); static int schedule_next_update_check (void); static int build_and_send_search_reply (sd_bus_message *call, char **terms); static int method_get_result_set (sd_bus_message *m, void *userdata, sd_bus_error *ret_error); static int method_get_result_metas (sd_bus_message *m, void *userdata, sd_bus_error *ret_error); static int method_activate_result (sd_bus_message *m, void *userdata, sd_bus_error *ret_error); static int method_launch_search (sd_bus_message *m, void *userdata, sd_bus_error *ret_error); static int method_relaunch (sd_bus_message *m, void *userdata, sd_bus_error *ret_error); static int method_quit (sd_bus_message *m, void *userdata, sd_bus_error *ret_error); static int on_signal (sd_event_source *s, const struct signalfd_siginfo *si, void *userdata); static int forward_to_running_daemon (sd_bus *forward_bus, int argc, char *argv[]); static const sd_bus_vtable search_provider_vtable[] = { SD_BUS_VTABLE_START (0), SD_BUS_METHOD ("GetInitialResultSet", "as", "as", method_get_result_set, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD ("GetSubsearchResultSet", "asas", "as", method_get_result_set, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD ("GetResultMetas", "as", "aa{sv}", method_get_result_metas, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD ("ActivateResult", "sasu", "", method_activate_result, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD ("LaunchSearch", "asu", "", method_launch_search, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_VTABLE_END }; static const sd_bus_vtable daemon_vtable[] = { SD_BUS_VTABLE_START (0), SD_BUS_METHOD ("Relaunch", "as", "", method_relaunch, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD ("Quit", "", "", method_quit, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_VTABLE_END }; int main (int argc, char *argv[]) { sigset_t mask = { 0 }; int r = 0; int no_window = 0; _cleanup_ (generic_freep) char **fwd_args = NULL; int n_fwd_args = 0; int i = 0; sigemptyset (&mask); sigaddset (&mask, SIGTERM); sigaddset (&mask, SIGINT); sigaddset (&mask, SIGCHLD); sigprocmask (SIG_BLOCK, &mask, NULL); r = sd_event_default (&event); if (r < 0) return 1; sd_event_add_signal (event, NULL, SIGTERM, on_signal, NULL); sd_event_add_signal (event, NULL, SIGINT, on_signal, NULL); r = sd_bus_open_user (&bus); if (r < 0) { log_msg ("Failed to connect to session bus: %s", strerror (-r)); return 1; } r = sd_bus_request_name (bus, BUS_NAME, 0); if (r < 0) { if (r == -EEXIST || r == -EALREADY) { log_msg ("App already running, forwarding"); forward_to_running_daemon (bus, argc, argv); sd_bus_flush_close_unref (bus); sd_event_unref (event); return 0; } log_msg ("Failed to acquire bus name %s: %s", BUS_NAME, strerror (-r)); return 1; } r = sd_bus_add_object_vtable (bus, NULL, OBJECT_PATH, "org.gnome.Shell.SearchProvider2", search_provider_vtable, NULL); if (r < 0) log_msg ("Failed to register search provider object: %s", strerror (-r)); r = sd_bus_add_object_vtable (bus, NULL, OBJECT_PATH, DAEMON_IFACE, daemon_vtable, NULL); if (r < 0) log_msg ("Failed to register daemon object: %s", strerror (-r)); r = sd_bus_attach_event (bus, event, SD_EVENT_PRIORITY_NORMAL); if (r < 0) log_msg ("Failed to attach bus to event loop: %s", strerror (-r)); ensure_index_loaded (); schedule_next_update_check (); fwd_args = malloc_or_bail (sizeof (char *) * (size_t) (argc > 0 ? argc : 1)); for (i = 1; i < argc; i++) { if (strcmp (argv[i], "--no-window") == 0) { no_window = 1; continue; } fwd_args[n_fwd_args] = argv[i]; n_fwd_args++; } if (no_window) log_msg ("staying headless"); else launch_app (fwd_args, n_fwd_args); arm_idle_timer (); sd_event_loop (event); cancel_idle_timer (); if (update_timer_source != NULL) sd_event_source_unref (update_timer_source); search_index_close (g_index); free (g_index_path); sd_bus_flush_close_unref (bus); sd_event_unref (event); return 0; } static int auto_update_enabled (void) { FILE *fp = NULL; char buf[8] = { 0 }; int enabled = 0; fp = popen ("gsettings get io.github.kolunmi.Bazaar auto-update", "r"); if (fp == NULL) return 0; if (fgets (buf, sizeof (buf), fp) != NULL) enabled = (strncmp (buf, "true", 4) == 0); pclose (fp); return enabled; } static void cancel_idle_timer (void) { if (idle_timer_source != NULL) { sd_event_source_unref (idle_timer_source); idle_timer_source = NULL; } } static void arm_idle_timer (void) { uint64_t now = 0; cancel_idle_timer (); if (child_pid > 0) return; if (sd_event_now (event, CLOCK_BOOTTIME, &now) < 0) return; sd_event_add_time (event, &idle_timer_source, CLOCK_BOOTTIME, now + IDLE_EXIT_TIMEOUT_USEC, 0, on_idle_timeout, NULL); } static int on_idle_timeout (sd_event_source *s, uint64_t usec, void *userdata) { idle_timer_source = NULL; if (child_pid > 0) return 0; if (auto_update_enabled ()) { log_msg ("Idle, but auto update is on so staying alive"); return 0; } log_msg ("Idle timeout reached, closing down"); sd_event_exit (event, 0); return 0; } static int forward_to_running_daemon (sd_bus *forward_bus, int argc, char *argv[]) { _cleanup_ (sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_ (sd_bus_message_unrefp) sd_bus_message *m = NULL; _cleanup_ (sd_bus_message_unrefp) sd_bus_message *reply = NULL; int r = 0; r = sd_bus_message_new_method_call (forward_bus, &m, BUS_NAME, OBJECT_PATH, DAEMON_IFACE, "Relaunch"); if (r < 0) return r; r = sd_bus_message_append_strv (m, argv + (argc > 0 ? 1 : 0)); if (r < 0) return r; r = sd_bus_call (forward_bus, m, ACTIVATE_TIMEOUT_US, &error, &reply); if (r < 0) log_msg ("Failed to forward relaunch request: %s", sd_bus_error_is_set (&error) ? error.message : strerror (-r)); return r; } static int method_relaunch (sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { _cleanup_ (strv_freep) char **terms = NULL; int r = 0; r = sd_bus_message_read_strv (m, &terms); if (r < 0) return r; log_msg ("Relaunch requested via D-Bus"); arm_idle_timer (); launch_app (terms, strv_count_local (terms)); return sd_bus_reply_method_return (m, NULL); } static int method_quit (sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { int r = 0; log_msg ("Quit requested"); r = sd_bus_reply_method_return (m, NULL); if (child_pid > 0) kill (child_pid, SIGTERM); sd_event_exit (event, 0); return r; } static void log_msg (const char *fmt, ...) { va_list args; printf ("(bazaar-daemon): "); va_start (args, fmt); vprintf (fmt, args); va_end (args); printf ("\n"); fflush (stdout); } static void * malloc_or_bail (size_t n_bytes) { void *p = NULL; p = malloc (n_bytes); if (p == NULL) { perror ("malloc"); _exit (127); } return p; } static char * build_index_path (void) { const char *cache_home = NULL; const char *home = NULL; char buf[4096] = { 0 }; cache_home = getenv ("XDG_CACHE_HOME"); if (cache_home != NULL && *cache_home != '\0') { snprintf (buf, sizeof (buf), "%s/io.github.kolunmi.Bazaar/core/search-index", cache_home); return strdup (buf); } home = getenv ("HOME"); if (home != NULL && *home != '\0') { snprintf (buf, sizeof (buf), "%s/.cache/io.github.kolunmi.Bazaar/core/search-index", home); return strdup (buf); } return strdup ("/tmp/search-index"); } static void ensure_index_loaded (void) { if (g_index_path == NULL) g_index_path = build_index_path (); if (g_index == NULL) { g_index = search_index_open (g_index_path); if (g_index == NULL) log_msg ("Search index not yet available at %s", g_index_path); return; } if (search_index_reload_if_stale (&g_index)) log_msg ("Search index reloaded "); } static int strv_count_local (char **strv) { int n = 0; if (strv == NULL) return 0; while (strv[n] != NULL) n++; return n; } static void strv_free_local (char **strv) { char **p = NULL; if (strv == NULL) return; for (p = strv; *p != NULL; p++) free (*p); free (strv); } static void strv_freep (char ***strv) { strv_free_local (*strv); } static void generic_freep (void *p) { free (*(void **) p); } static int on_child_exit (sd_event_source *s, const siginfo_t *si, void *userdata) { log_msg ("Application exited (status %d)", si->si_status); child_pid = -1; sd_event_source_unref (s); ensure_index_loaded (); arm_idle_timer (); return 0; } static void launch_app (char **extra_args, int n_extra_args) { pid_t pid = -1; _cleanup_ (generic_freep) char **argv = NULL; int i = 0; sigset_t mask = { 0 }; argv = malloc_or_bail (sizeof (char *) * (size_t) (n_extra_args + 2)); argv[0] = (char *) BAZAAR_BIN_PATH; for (i = 0; i < n_extra_args; i++) argv[i + 1] = extra_args[i]; argv[n_extra_args + 1] = NULL; log_msg ("Application starting"); cancel_idle_timer (); pid = fork (); if (pid == 0) { sigemptyset (&mask); sigprocmask (SIG_SETMASK, &mask, NULL); execvp (argv[0], argv); perror ("execvp"); _exit (127); } if (pid < 0) { log_msg ("Failed to spawn application: %s", strerror (errno)); arm_idle_timer (); return; } if (child_pid <= 0) child_pid = pid; sd_event_add_child (event, NULL, pid, WEXITED, on_child_exit, NULL); } static void run_update_worker_once (void) { pid_t pid = -1; char *argv[3] = { NULL }; sigset_t mask = { 0 }; argv[0] = (char *) BAZAAR_BIN_PATH; argv[1] = (char *) UPDATE_WORKER_CLI_OPTION; argv[2] = NULL; pid = fork (); if (pid == 0) { sigemptyset (&mask); sigprocmask (SIG_SETMASK, &mask, NULL); execvp (argv[0], argv); perror ("execvp"); _exit (127); } if (pid < 0) { log_msg ("Failed to spawn update worker: %s", strerror (errno)); return; } sd_event_add_child (event, NULL, pid, WEXITED, on_update_worker_exit, NULL); } static int on_update_worker_exit (sd_event_source *s, const siginfo_t *si, void *userdata) { sd_event_source_unref (s); return 0; } static int on_update_timer (sd_event_source *s, uint64_t usec, void *userdata) { run_update_worker_once (); schedule_next_update_check (); return 0; } static int schedule_next_update_check (void) { uint64_t now = 0; int r = 0; if (update_timer_source != NULL) { sd_event_source_unref (update_timer_source); update_timer_source = NULL; } r = sd_event_now (event, CLOCK_BOOTTIME, &now); if (r < 0) return r; r = sd_event_add_time (event, &update_timer_source, CLOCK_BOOTTIME, now + UPDATE_CHECK_INTERVAL_USEC, 0, on_update_timer, NULL); if (r < 0) log_msg ("failed to schedule update: %s", strerror (-r)); return r; } static int build_and_send_search_reply (sd_bus_message *call, char **terms) { _cleanup_ (sd_bus_message_unrefp) sd_bus_message *reply = NULL; SearchIndexMatch matches[MAX_SEARCH_RESULTS] = { 0 }; size_t n_matches = 0; size_t i = 0; int r = 0; ensure_index_loaded (); n_matches = search_index_query ( g_index, (const char *const *) terms, strv_count_local (terms), matches, MAX_SEARCH_RESULTS); SD_BUS_CHECK (sd_bus_message_new_method_return (call, &reply)); SD_BUS_CHECK (sd_bus_message_open_container (reply, 'a', "s")); for (i = 0; i < n_matches; i++) SD_BUS_CHECK (sd_bus_message_append (reply, "s", matches[i].entry->id)); SD_BUS_CHECK (sd_bus_message_close_container (reply)); return sd_bus_send (NULL, reply, NULL); out: return r; } static int method_get_result_set (sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { _cleanup_ (strv_freep) char **terms = NULL; const char *sig = NULL; int r = 0; arm_idle_timer (); sig = sd_bus_message_get_signature (m, 1); if (sig != NULL && strcmp (sig, "asas") == 0) { _cleanup_ (strv_freep) char **previous = NULL; r = sd_bus_message_read_strv (m, &previous); if (r < 0) return r; } r = sd_bus_message_read_strv (m, &terms); if (r < 0) return r; return build_and_send_search_reply (m, terms); } static int method_get_result_metas (sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { _cleanup_ (sd_bus_message_unrefp) sd_bus_message *reply = NULL; _cleanup_ (strv_freep) char **ids = NULL; char **p = NULL; int r = 0; arm_idle_timer (); r = sd_bus_message_read_strv (m, &ids); if (r < 0) return r; ensure_index_loaded (); SD_BUS_CHECK (sd_bus_message_new_method_return (m, &reply)); SD_BUS_CHECK (sd_bus_message_open_container (reply, 'a', "a{sv}")); for (p = ids; p != NULL && *p != NULL; p++) { const SearchIndexEntry *e = NULL; e = search_index_find (g_index, *p); if (e == NULL) continue; SD_BUS_CHECK (sd_bus_message_open_container (reply, 'a', "{sv}")); SD_BUS_CHECK (sd_bus_message_append (reply, "{sv}", "id", "s", e->id)); SD_BUS_CHECK (sd_bus_message_append (reply, "{sv}", "name", "s", e->title)); if (e->description != NULL) SD_BUS_CHECK (sd_bus_message_append (reply, "{sv}", "description", "s", e->description)); if (e->icon_path != NULL) SD_BUS_CHECK (sd_bus_message_append (reply, "{sv}", "gicon", "s", e->icon_path)); SD_BUS_CHECK (sd_bus_message_close_container (reply)); } SD_BUS_CHECK (sd_bus_message_close_container (reply)); return sd_bus_send (NULL, reply, NULL); out: return r; } static int method_activate_result (sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { const char *id = NULL; _cleanup_ (generic_freep) char *uri_arg = NULL; char *args[1] = { NULL }; int r = 0; arm_idle_timer (); r = sd_bus_message_read (m, "s", &id); if (r < 0) return r; uri_arg = malloc_or_bail (strlen ("appstream:") + strlen (id) + 1); sprintf (uri_arg, "appstream:%s", id); args[0] = uri_arg; launch_app (args, 1); return sd_bus_reply_method_return (m, NULL); } static int method_launch_search (sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { _cleanup_ (strv_freep) char **terms = NULL; _cleanup_ (generic_freep) char *joined = NULL; _cleanup_ (generic_freep) char *arg = NULL; char *args[1] = { NULL }; uint32_t timestamp = 0; size_t len = 0; int n_terms = 0; int i = 0; int r = 0; arm_idle_timer (); r = sd_bus_message_read_strv (m, &terms); if (r < 0) return r; r = sd_bus_message_read (m, "u", ×tamp); if (r < 0) return r; n_terms = strv_count_local (terms); if (n_terms == 0) { launch_app (NULL, 0); return sd_bus_reply_method_return (m, NULL); } for (i = 0; i < n_terms; i++) len += strlen (terms[i]) + 1; joined = malloc_or_bail (len); joined[0] = '\0'; for (i = 0; i < n_terms; i++) { strcat (joined, terms[i]); if (i + 1 < n_terms) strcat (joined, " "); } arg = malloc_or_bail (strlen ("--search-for=") + strlen (joined) + 1); sprintf (arg, "--search-for=%s", joined); args[0] = arg; launch_app (args, 1); return sd_bus_reply_method_return (m, NULL); } static int on_signal (sd_event_source *s, const struct signalfd_siginfo *si, void *userdata) { log_msg ("Daemon shutting down"); if (child_pid > 0) kill (child_pid, SIGTERM); sd_event_exit (event, 0); return 0; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bazaar.gresource.xml��������������������������������������������������0000664�0000000�0000000�00000045207�15234476640�0022044�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <gresources> <gresource prefix="/io/github/kolunmi/Bazaar/"> <file>style.css</file> <file>internal-config.yaml</file> <file alias="pride-flags.yaml">progress-bar-designs/pride/pride-flags.yaml</file> <file preprocess="xml-stripblanks">internal-config-schema.xml</file> <file preprocess="xml-stripblanks">main-config-schema.xml</file> <file preprocess="xml-stripblanks">blocklist-schema.xml</file> <file preprocess="xml-stripblanks">curated-config-schema.xml</file> <file preprocess="xml-stripblanks">pride-flag-config-schema.xml</file> <file preprocess="xml-stripblanks">article-list-schema.xml</file> <file>release-notes.xml</file> <file>countries.gvariant</file> <file preprocess="xml-stripblanks">bz-addon-tile.ui</file> <file preprocess="xml-stripblanks">bz-addons-dialog.ui</file> <file preprocess="xml-stripblanks">bz-age-rating-dialog.ui</file> <file preprocess="xml-stripblanks">bz-all-apps-page.ui</file> <file preprocess="xml-stripblanks">bz-app-size-dialog.ui</file> <file preprocess="xml-stripblanks">bz-app-tile.ui</file> <file preprocess="xml-stripblanks">bz-apps-page.ui</file> <file preprocess="xml-stripblanks">bz-appstream-description-render.ui</file> <file preprocess="xml-stripblanks">bz-article.ui</file> <file preprocess="xml-stripblanks">bz-article-tile.ui</file> <file preprocess="xml-stripblanks">bz-banner-view.ui</file> <file preprocess="xml-stripblanks">bz-bundle-install-dialog.ui</file> <file preprocess="xml-stripblanks">bz-category-tile.ui</file> <file preprocess="xml-stripblanks">bz-context-tile.ui</file> <file preprocess="xml-stripblanks">bz-curated-view.ui</file> <file preprocess="xml-stripblanks">bz-decorated-screenshot.ui</file> <file preprocess="xml-stripblanks">bz-developer-badge.ui</file> <file preprocess="xml-stripblanks">bz-donations-dialog.ui</file> <file preprocess="xml-stripblanks">bz-entry-inspector.ui</file> <file preprocess="xml-stripblanks">bz-entry-selection-row.ui</file> <file preprocess="xml-stripblanks">bz-error-dialog.ui</file> <file preprocess="xml-stripblanks">bz-favorite-button.ui</file> <file preprocess="xml-stripblanks">bz-favorites-page.ui</file> <file preprocess="xml-stripblanks">bz-favorites-tile.ui</file> <file preprocess="xml-stripblanks">bz-featured-carousel.ui</file> <file preprocess="xml-stripblanks">bz-featured-tile.ui</file> <file preprocess="xml-stripblanks">bz-flathub-category-section.ui</file> <file preprocess="xml-stripblanks">bz-flathub-page.ui</file> <file preprocess="xml-stripblanks">bz-full-view.ui</file> <file preprocess="xml-stripblanks">bz-hardware-support-dialog.ui</file> <file preprocess="xml-stripblanks">bz-inspector.ui</file> <file preprocess="xml-stripblanks">bz-install-controls.ui</file> <file preprocess="xml-stripblanks">bz-installed-tile.ui</file> <file preprocess="xml-stripblanks">bz-library-page.ui</file> <file preprocess="xml-stripblanks">bz-license-dialog.ui</file> <file preprocess="xml-stripblanks">bz-login-page.ui</file> <file preprocess="xml-stripblanks">bz-metainfo-preview-page.ui</file> <file preprocess="xml-stripblanks">bz-preferences-dialog.ui</file> <file preprocess="xml-stripblanks">bz-progress-bar.ui</file> <file preprocess="xml-stripblanks">bz-releases-dialog.ui</file> <file preprocess="xml-stripblanks">bz-releases-list.ui</file> <file preprocess="xml-stripblanks">bz-rich-app-tile.ui</file> <file preprocess="xml-stripblanks">bz-safety-dialog.ui</file> <file preprocess="xml-stripblanks">bz-screenshot-page.ui</file> <file preprocess="xml-stripblanks">bz-screenshots-carousel.ui</file> <file preprocess="xml-stripblanks">bz-search-filter-popover.ui</file> <file preprocess="xml-stripblanks">bz-search-bar.ui</file> <file preprocess="xml-stripblanks">bz-search-page.ui</file> <file preprocess="xml-stripblanks">bz-section-view.ui</file> <file preprocess="xml-stripblanks">bz-stats-dialog.ui</file> <file preprocess="xml-stripblanks">bz-transaction-list-dialog.ui</file> <file preprocess="xml-stripblanks">bz-transaction-tile.ui</file> <file preprocess="xml-stripblanks">bz-updates-card.ui</file> <file preprocess="xml-stripblanks">bz-user-data-page.ui</file> <file preprocess="xml-stripblanks">bz-user-data-tile.ui</file> <file preprocess="xml-stripblanks">bz-window.ui</file> <file preprocess="xml-stripblanks">shortcuts-dialog.ui</file> <file preprocess="xml-stripblanks">icons/scalable/actions/app-installed-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/bookmark-filled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/bookmark-outline-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/bug-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/check-plain-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/circle-filled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/code-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/community-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/connected-squares-x-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/copy-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/cross-large-circle-filled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/delay-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/device-support-adaptive-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/device-support-desktop-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/device-support-touch-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/device-supported-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/explore-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/download-plus-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/drive-harddisk-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/earth-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/edit-clear-all-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/execute-to-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/external-link-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/eye-outline-filled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/flatpak-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/flathub-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/folder-download-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/gamepad-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/globe-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/go-previous-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/graph2-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/hand-openyay-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/heart-filled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/heart-outline-thick-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/horizontal-arrows-disabled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/left-large-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/library-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/license-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/meeting-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/media-playback-pause-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/media-playback-start-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/media-playback-stop-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/newspaper-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/open-book-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/parent-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/paintbrush-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/people-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/person-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/pip-out-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/power-profile-performance-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/proprietary-code-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/puzzle-piece-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/regex-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/right-large-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/sad-computer-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/school-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/server-pick-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/share-alt-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/share-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/shoe-box-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/sidebar-show-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/sliders-horizontal-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/smartphone2-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/software-update-available-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/star-outline-rounded-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/square-filled-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/thumbs-up-outline-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/timer-sand-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/translations-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/user-trash-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/verified-checkmark-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/view-more-horizontal-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/view-more-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/video-reel2-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/zoom-minus-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/zoom-plus-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/permissions-legacy-windowing-system-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/permissions-microphone-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/permissions-sandboxed-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/permissions-screen-contents-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/permissions-system-devices-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/permissions-warning-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/app-safety-ok-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/app-safety-unknown-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/app-safety-unsafe-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/auditable-code-symbolic.svg</file> <file alias="icons/scalable/actions/advertising-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/advertising-symbolic.svg</file> <file alias="icons/scalable/actions/advertising-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/advertising-none-symbolic.svg</file> <file alias="icons/scalable/actions/alcohol-use-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/alcohol-use-symbolic.svg</file> <file alias="icons/scalable/actions/alcohol-use-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/alcohol-use-none-symbolic.svg</file> <file alias="icons/scalable/actions/audio-chat-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/audio-chat-symbolic.svg</file> <file alias="icons/scalable/actions/audio-chat-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/audio-chat-none-symbolic.svg</file> <file alias="icons/scalable/actions/contacts-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/contacts-symbolic.svg</file> <file alias="icons/scalable/actions/drug-use-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/drug-use-symbolic.svg</file> <file alias="icons/scalable/actions/drug-use-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/drug-use-none-symbolic.svg</file> <file alias="icons/scalable/actions/gambling-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/gambling-symbolic.svg</file> <file alias="icons/scalable/actions/gambling-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/gambling-none-symbolic.svg</file> <file alias="icons/scalable/actions/human-remains-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/human-remains-symbolic.svg</file> <file alias="icons/scalable/actions/messaging-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/messaging-symbolic.svg</file> <file alias="icons/scalable/actions/messaging-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/messaging-none-symbolic.svg</file> <file alias="icons/scalable/actions/money-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/money-symbolic.svg</file> <file alias="icons/scalable/actions/money-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/money-none-symbolic.svg</file> <file alias="icons/scalable/actions/nudity-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/nudity-symbolic.svg</file> <file alias="icons/scalable/actions/nudity-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/nudity-none-symbolic.svg</file> <file alias="icons/scalable/actions/smoking-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/smoking-symbolic.svg</file> <file alias="icons/scalable/actions/smoking-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/smoking-none-symbolic.svg</file> <file alias="icons/scalable/actions/social-info-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/social-info-symbolic.svg</file> <file alias="icons/scalable/actions/strong-language-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/strong-language-symbolic.svg</file> <file alias="icons/scalable/actions/strong-language-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/strong-language-none-symbolic.svg</file> <file alias="icons/scalable/actions/violence-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/violence-symbolic.svg</file> <file alias="icons/scalable/actions/violence-none-symbolic.svg" preprocess="xml-stripblanks">icons/scalable/actions/ratings/violence-none-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/on-the-go-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/scalable/actions/we-love-games-symbolic.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Create.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Develop.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Learn.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Play.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Network.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Work.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Audiovideo.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Science.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.System.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Utilities.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Mobile.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Trending.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Popular.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.New.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Updated.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Adwaita.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolumni.Bazaar.Kde.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolunmi.Bazaar.github.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolunmi.Bazaar.gitlab.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolunmi.Bazaar.gnome.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolunmi.Bazaar.kde.svg</file> <file preprocess="xml-stripblanks">icons/io.github.kolunmi.Bazaar.google.svg</file> <file>bz-install-controls.wdgt</file> <file>bz-transact-icon.wdgt</file> </gresource> </gresources> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/blocklist-schema.xml��������������������������������������������������0000664�0000000�0000000�00000000714�15234476640�0022025�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <object class="BzRootBlocklist"> <typehint name="blocklists" type="BzBlocklist"/> <typehint name="blocklists.conditions" type="BzBlocklistCondition"/> <typehint name="blocklists.allow" type="GtkStringObject"/> <typehint name="blocklists.allow-regex" type="GtkStringObject"/> <typehint name="blocklists.block" type="GtkStringObject"/> <typehint name="blocklists.block-regex" type="GtkStringObject"/> </object> ����������������������������������������������������bazaar-org-bazaar-917017d/src/bz-addon-tile.blp�����������������������������������������������������0000664�0000000�0000000�00000006216�15234476640�0021212�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzAddonTile: $BzListTile { accessibility { labelled-by: title_label; described-by: description_label; } child: Box { orientation: horizontal; spacing: 4; height-request: 64; $BzTransactIcon { margin-start: 10; margin-top: 10; margin-bottom: 10; width-request: 48; height-request: 48; valign: center; halign: center; info: $BzTransactIconInfo { group: bind template.group as <$BzEntryGroup>; paintable: bind template.parent-ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; }; } Box { orientation: vertical; valign: center; spacing: 4; margin-start: 10; Label title_label { xalign: 0.0; ellipsize: end; single-line-mode: true; has-tooltip: true; tooltip-text: bind template.group as <$BzEntryGroup>.id; label: bind template.group as <$BzEntryGroup>.title; } Label description_label { halign: start; label: bind template.group as <$BzEntryGroup>.description; visible: bind $logical_and($invert_boolean(eol_label.visible) as <bool>, $invert_boolean($is_empty(template.group as <$BzEntryGroup>.description) as <bool>) as <bool>) as <bool>; xalign: 0.0; ellipsize: end; single-line-mode: true; styles ["dim-label", "caption"] } Label eol_label{ visible: bind $invert_boolean($is_null(template.group as <$BzEntryGroup>.eol) as <bool>) as <bool>; wrap: true; wrap-mode: word_char; ellipsize: end; vexpand: true; lines: 2; single-line-mode: true; halign: start; hexpand: true; label: _("Stopped Receiving Updates"); styles [ "warning", ] } } Box { orientation: horizontal; spacing: 8; margin-end: 8; margin-start: 4; hexpand: true; halign: end; Button install_remove_button { styles ["flat"] width-request: 32; height-request: 32; valign: center; has-tooltip: true; visible: bind $invert_boolean($logical_and($is_zero(template.group as <$BzEntryGroup>.removable) as <bool>, $is_zero(template.group as <$BzEntryGroup>.installable) as <bool>) as <bool>) as <bool>; tooltip-text: bind $get_install_remove_tooltip(template.group as <$BzEntryGroup>.removable) as <string>; sensitive: bind $switch_bool( template.group as <$BzEntryGroup>.removable, $invert_boolean($is_zero(template.group as <$BzEntryGroup>.removable-and-available) as <bool>) as <bool>, $invert_boolean($is_zero(template.group as <$BzEntryGroup>.installable-and-available) as <bool>) as <bool>, ) as <bool>; icon-name: bind $get_install_remove_icon(template.group as <$BzEntryGroup>.removable) as <string>; clicked => $install_remove_cb() swapped; } Image { pixel-size: 14; icon-name: "go-next-symbolic"; margin-end: 4; styles ["dimmed"] } } }; }����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-addon-tile.c�������������������������������������������������������0000664�0000000�0000000�00000017522�15234476640�0020661�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-addon-tile.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-addon-tile.h" #include "bz-addons-dialog.h" #include "bz-entry-group.h" #include "bz-full-view.h" #include "bz-state-info.h" #include "bz-window.h" struct _BzAddonTile { BzListTile parent_instance; BzEntryGroup *group; BzResult *parent_ui_entry; GtkButton *install_remove_button; }; G_DEFINE_FINAL_TYPE (BzAddonTile, bz_addon_tile, BZ_TYPE_LIST_TILE) enum { PROP_0, PROP_GROUP, PROP_PARENT_UI_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void install_remove_cb (BzAddonTile *self, GtkButton *button) { int removable = 0; if (self->group == NULL) return; removable = bz_entry_group_get_removable (self->group); if (removable > 0) gtk_widget_activate_action (GTK_WIDGET (self), "window.remove-group", "(sb)", bz_entry_group_get_id (self->group), FALSE); else gtk_widget_activate_action (GTK_WIDGET (self), "window.install-group", "(sb)", bz_entry_group_get_id (self->group), TRUE); } static void bz_addon_tile_dispose (GObject *object) { BzAddonTile *self = BZ_ADDON_TILE (object); g_clear_object (&self->group); g_clear_object (&self->parent_ui_entry); G_OBJECT_CLASS (bz_addon_tile_parent_class)->dispose (object); } static void bz_addon_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAddonTile *self = BZ_ADDON_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_addon_tile_get_group (self)); break; case PROP_PARENT_UI_ENTRY: g_value_set_object (value, self->parent_ui_entry); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_addon_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAddonTile *self = BZ_ADDON_TILE (object); switch (prop_id) { case PROP_GROUP: bz_addon_tile_set_group (self, g_value_get_object (value)); break; case PROP_PARENT_UI_ENTRY: g_clear_object (&self->parent_ui_entry); self->parent_ui_entry = g_value_dup_object (value); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PARENT_UI_ENTRY]); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean is_zero (gpointer object, int value) { return value == 0; } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_empty (gpointer object, const char *str) { return str == NULL || str[0] == '\0'; } static gboolean logical_and (gpointer object, gboolean value1, gboolean value2) { return value1 && value2; } static char * get_install_remove_tooltip (gpointer object, int removable) { if (removable > 0) return g_strdup (C_("Install Controls", "Uninstall")); else return g_strdup (C_("Install Controls", "Install")); } static char * get_install_remove_icon (gpointer object, int removable) { if (removable > 0) return g_strdup ("user-trash-symbolic"); else return g_strdup ("document-save-symbolic"); } static gboolean switch_bool (gpointer object, gboolean condition, gboolean true_value, gboolean false_value) { return condition ? true_value : false_value; } static void bz_addon_tile_realize (GtkWidget *widget) { BzAddonTile *self = BZ_ADDON_TILE (widget); GtkWidget *parent = widget; GtkWidget *source = NULL; const char *prop = NULL; GTK_WIDGET_CLASS (bz_addon_tile_parent_class)->realize (widget); while ((parent = gtk_widget_get_parent (parent)) != NULL) { if (BZ_IS_ADDONS_DIALOG (parent)) { source = parent; prop = "parent-ui-entry"; break; } else if (BZ_IS_FULL_VIEW (parent)) { source = parent; prop = "ui-entry"; break; } } if (source == NULL) return; g_object_bind_property ( source, prop, self, "parent-ui-entry", G_BINDING_SYNC_CREATE); } static void bz_addon_tile_class_init (BzAddonTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_addon_tile_dispose; object_class->get_property = bz_addon_tile_get_property; object_class->set_property = bz_addon_tile_set_property; widget_class->realize = bz_addon_tile_realize; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_PARENT_UI_ENTRY] = g_param_spec_object ( "parent-ui-entry", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LIST_TILE); g_type_ensure (BZ_TYPE_ENTRY_GROUP); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-addon-tile.ui"); gtk_widget_class_bind_template_child (widget_class, BzAddonTile, install_remove_button); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, logical_and); gtk_widget_class_bind_template_callback (widget_class, is_empty); gtk_widget_class_bind_template_callback (widget_class, get_install_remove_tooltip); gtk_widget_class_bind_template_callback (widget_class, get_install_remove_icon); gtk_widget_class_bind_template_callback (widget_class, switch_bool); gtk_widget_class_bind_template_callback (widget_class, install_remove_cb); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_addon_tile_init (BzAddonTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_addon_tile_new (void) { return g_object_new (BZ_TYPE_ADDON_TILE, NULL); } void bz_addon_tile_set_group (BzAddonTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_ADDON_TILE (self)); g_return_if_fail (group == NULL || BZ_IS_ENTRY_GROUP (group)); g_clear_object (&self->group); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } BzEntryGroup * bz_addon_tile_get_group (BzAddonTile *self) { g_return_val_if_fail (BZ_IS_ADDON_TILE (self), NULL); return self->group; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-addon-tile.h�������������������������������������������������������0000664�0000000�0000000�00000002271�15234476640�0020661�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-addon-tile.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-list-tile.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_ADDON_TILE (bz_addon_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzAddonTile, bz_addon_tile, BZ, ADDON_TILE, BzListTile) GtkWidget * bz_addon_tile_new (void); void bz_addon_tile_set_group (BzAddonTile *self, BzEntryGroup *group); BzEntryGroup * bz_addon_tile_get_group (BzAddonTile *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-addons-dialog.blp��������������������������������������������������0000664�0000000�0000000�00000030345�15234476640�0021677�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzAddonsDialog: Adw.Dialog { content-width: 500; content-height: 550; child: Adw.ToastOverlay { child:Adw.NavigationView navigation_view { notify::visible-page-tag => $on_visible_page_tag_changed(); Adw.NavigationPage { tag: "list"; title: _("Manage Add-Ons"); child: Adw.ToolbarView { [top] Adw.HeaderBar { title-widget: Label { styles ["heading"] label: _("Manage Add-Ons"); }; } content: ScrolledWindow { propagate-natural-height: true; vexpand: true; hscrollbar-policy: never; child: Adw.Clamp list_clamp { maximum-size: 450; tightening-threshold: 500; margin-start: 6; margin-end: 6; margin-bottom: 12; child: ListView { styles [ "navigation-sidebar", "installed-list-view", ] model: NoSelection { model: SortListModel { sorter: CustomSorter sorter {}; model: bind template.addon-groups; }; }; factory: BuilderListItemFactory { template ListItem { activatable: false; selectable: false; focusable: false; child: $BzAddonTile { group: bind template.item as <$BzEntryGroup>; activated => $tile_activated_cb(); }; } }; }; }; }; }; } Adw.NavigationPage { tag: "empty"; title: _("Manage Add-Ons"); child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: Adw.StatusPage { icon-name: "application-x-addon-symbolic"; title: _("No Add-Ons Visible"); description: _("Your current filter preferences are hiding all known add-ons. Try adjusting them."); }; }; } Adw.NavigationPage { tag: "full-view"; title: bind try { template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.title, _("Add-on Page") }; child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: ScrolledWindow { vexpand: true; hscrollbar-policy: never; child: Adw.Clamp { maximum-size: 450; tightening-threshold: 500; margin-start: 12; margin-end: 12; child: Box full_view_clamp { orientation: vertical; spacing: 4; margin-top: 12; Box { halign: center; spacing: 8; orientation: vertical; margin-bottom: 12; Image { pixel-size: 96; paintable: bind template.parent-ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; visible: bind $invert_boolean($is_null(template.parent-ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable) as <bool>) as <bool>; styles ["icon-dropshadow"] } Box { orientation: vertical; valign: center; halign: center; spacing: 2; margin-bottom: 8; Label { label: bind template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.title; justify: center; max-width-chars: 25; wrap: true; wrap-mode: word_char; selectable: true; styles ["title-3"] } Label { label: bind $format_parent_title(template.parent-ui-entry as <$BzResult>.object as <$BzEntry>.title) as <string>; justify: center; selectable: true; styles ["dim-label"] } } } Box { homogeneous: true; margin-bottom: 12; orientation: horizontal; halign: fill; styles ["app-context-bar"] $BzContextTile { label: bind $get_size_label($is_zero(template.selected-group as <$BzEntryGroup>.removable) as <bool>) as <string>; clicked => $size_cb(template); has-tooltip: true; tooltip-text: bind $format_size_tooltip(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.size) as <string>; lozenge-style: "grey"; sensitive: bind $invert_boolean($is_zero($get_size_type(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>, $is_zero(template.selected-group as <$BzEntryGroup>.removable) as <bool>) as <uint64>) as <bool>) as <bool>; lozenge-child: Label { justify: center; label: bind $format_size($get_size_type(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>, $is_zero(template.selected-group as <$BzEntryGroup>.removable) as <bool>) as <uint64>) as <string>; lines: 3; ellipsize: end; halign: center; wrap: true; xalign: 0.5; use-markup: true; }; } $BzContextTile { label: bind $get_license_label(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>) as <string>; clicked => $license_cb(template); lozenge-style: bind $bool_to_string(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.is-floss, "grey", "warning") as <string>; has-tooltip: true; tooltip-text: bind $format_license_tooltip(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>) as <string>; lozenge-child: Box { spacing: 6; Image { icon-name: bind $get_license_icon(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.is-floss, 0) as <string>; } Image { icon-name: bind $get_license_icon(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.is-floss, 1) as <string>; } }; } $BzContextTile { can-target: bind $invert_boolean($is_null(template.selected-ui-entry) as <bool>) as <bool>; sensitive: bind $invert_boolean($is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <bool>) as <bool>; label: _("Downloads/Month"); clicked => $dl_stats_cb(template); has-tooltip: bind $invert_boolean($is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <bool>) as <bool>; tooltip-text: bind $format_recent_downloads_tooltip(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <string>; lozenge-style: "grey"; lozenge-child: Label { justify: center; label: bind $format_recent_downloads(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <string>; halign: center; use-markup: true; }; } } Box { visible: bind $invert_boolean($is_null(template.selected-group as <$BzEntryGroup>.eol) as <bool>) as <bool>; orientation: vertical; spacing: 8; styles [ "card", "colored", "warning", ] Label { label: _("Stopped Receiving Core Updates"); margin-top: 8; margin-start: 8; margin-end: 8; wrap: true; wrap-mode: word_char; justify: center; styles [ "title-4", ] } Label { label: _("This add-on uses a runtime that no longer receives updates or security fixes. It may become unsafe to use."); margin-bottom: 8; margin-start: 8; margin-end: 8; wrap: true; wrap-mode: word_char; justify: center; } } Label { visible: bind $logical_and($invert_boolean($is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.description) as <bool>) as <bool>, $is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.long-description) as <bool>) as <bool>; label: bind template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.description; selectable: true; wrap: true; wrap-mode: word_char; justify: center; halign: center; margin-bottom: 6; styles ["dimmed"] } $BzInstallControls { halign: center; margin-top: 6; margin-bottom: 8; wide: false; entry-group: bind template.selected-group; state: bind template.state; settings: bind template.state as <$BzStateInfo>.settings; } Label { visible: bind $logical_and($invert_boolean($is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.description) as <bool>) as <bool>, $invert_boolean($is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.long-description) as <bool>) as <bool>) as <bool>; label: bind template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.description; selectable: true; wrap: true; wrap-mode: word_char; xalign: 0; halign: fill; margin-top: 12; margin-bottom: 4; styles ["title-4"] } $BzFadingClamp fading_clamp { visible: bind $invert_boolean($is_null(template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.long-description) as <bool>) as <bool>; max-height: bind $get_description_max_height(description_toggle.active) as <int>; min-max-height: 170; child: $BzAppstreamDescriptionRender { appstream-description: bind template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.long-description; }; } ToggleButton description_toggle { styles ["circular"] visible: bind fading_clamp.will-change; halign: center; child: Label { label: bind $get_description_toggle_text(description_toggle.active) as <string>; margin-start: 16; margin-end: 16; }; margin-bottom: 12; } $BzShareList { urls: bind template.selected-ui-entry as <$BzResult>.object as <$BzEntry>.share-urls; margin-bottom: 24; } }; }; }; }; } }; }; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-addons-dialog.c����������������������������������������������������0000664�0000000�0000000�00000054135�15234476640�0021347�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-addons-dialog.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-addon-tile.h" #include "bz-addons-dialog.h" #include "bz-app-size-dialog.h" #include "bz-application-map-factory.h" #include "bz-application.h" #include "bz-appstream-description-render.h" #include "context-tile-callbacks.h" #include "bz-context-tile.h" #include "bz-entry-group.h" #include "bz-fading-clamp.h" #include "bz-flatpak-entry.h" #include "bz-install-controls.h" #include "bz-license-dialog.h" #include "bz-result.h" #include "bz-share-list.h" #include "bz-state-info.h" #include "bz-stats-dialog.h" #include "template-callbacks.h" #include "util.h" struct _BzAddonsDialog { AdwDialog parent_instance; GListModel *addon_groups; BzEntryGroup *selected_group; BzResult *selected_ui_entry; DexFuture *selected_ui_future; BzResult *parent_ui_entry; DexFuture *parent_ui_future; BzStateInfo *state; AdwAnimation *width_animation; AdwAnimation *height_animation; gboolean has_mapped; /* Template widgets */ AdwNavigationView *navigation_view; GtkToggleButton *description_toggle; AdwClamp *full_view_clamp; AdwClamp *list_clamp; GtkCustomSorter *sorter; }; G_DEFINE_FINAL_TYPE (BzAddonsDialog, bz_addons_dialog, ADW_TYPE_DIALOG) enum { PROP_0, PROP_ADDON_GROUPS, PROP_SELECTED_GROUP, PROP_SELECTED_UI_ENTRY, PROP_PARENT_UI_ENTRY, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static char *format_parent_title (gpointer object, const char *title); static int get_description_max_height (gpointer object, gboolean active); static char *get_description_toggle_text (gpointer object, gboolean active); static void size_cb (BzAddonsDialog *self, GtkButton *button); static void license_cb (BzAddonsDialog *self, GtkButton *button); static void dl_stats_cb (BzAddonsDialog *self, GtkButton *button); static void animate_to_size (BzAddonsDialog *self); static void on_visible_page_tag_changed (AdwNavigationView *nav_view, GParamSpec *pspec, BzAddonsDialog *self); static DexFuture *on_parent_ui_entry_resolved (DexFuture *future, GWeakRef *wr); static DexFuture *on_selected_ui_entry_resolved (DexFuture *future, GWeakRef *wr); static void set_selected_group (BzAddonsDialog *self, BzEntryGroup *group); static void tile_activated_cb (BzAddonTile *tile); static int sort_func (BzEntryGroup *a, BzEntryGroup *b, BzAddonsDialog *self); static void bz_addons_dialog_dispose (GObject *object) { BzAddonsDialog *self = BZ_ADDONS_DIALOG (object); dex_clear (&self->selected_ui_future); dex_clear (&self->parent_ui_future); g_clear_object (&self->addon_groups); g_clear_object (&self->selected_group); g_clear_object (&self->selected_ui_entry); g_clear_object (&self->parent_ui_entry); g_clear_object (&self->state); g_clear_object (&self->width_animation); g_clear_object (&self->height_animation); G_OBJECT_CLASS (bz_addons_dialog_parent_class)->dispose (object); } static void bz_addons_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAddonsDialog *self = BZ_ADDONS_DIALOG (object); switch (prop_id) { case PROP_ADDON_GROUPS: g_value_set_object (value, self->addon_groups); break; case PROP_SELECTED_GROUP: g_value_set_object (value, self->selected_group); break; case PROP_SELECTED_UI_ENTRY: g_value_set_object (value, self->selected_ui_entry); break; case PROP_PARENT_UI_ENTRY: g_value_set_object (value, self->parent_ui_entry); break; case PROP_STATE: g_value_set_object (value, bz_state_info_get_default ()); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_addons_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAddonsDialog *self = BZ_ADDONS_DIALOG (object); switch (prop_id) { case PROP_ADDON_GROUPS: g_clear_object (&self->addon_groups); self->addon_groups = g_value_dup_object (value); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ADDON_GROUPS]); break; case PROP_SELECTED_GROUP: g_clear_object (&self->selected_group); self->selected_group = g_value_dup_object (value); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_GROUP]); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_addons_dialog_class_init (BzAddonsDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_addons_dialog_dispose; object_class->get_property = bz_addons_dialog_get_property; object_class->set_property = bz_addons_dialog_set_property; props[PROP_ADDON_GROUPS] = g_param_spec_object ( "addon-groups", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_SELECTED_GROUP] = g_param_spec_object ( "selected-group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_SELECTED_UI_ENTRY] = g_param_spec_object ( "selected-ui-entry", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_PARENT_UI_ENTRY] = g_param_spec_object ( "parent-ui-entry", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_ADDON_TILE); g_type_ensure (BZ_TYPE_APPSTREAM_DESCRIPTION_RENDER); g_type_ensure (BZ_TYPE_CONTEXT_TILE); g_type_ensure (BZ_TYPE_ENTRY); g_type_ensure (BZ_TYPE_ENTRY_GROUP); g_type_ensure (BZ_TYPE_FADING_CLAMP); g_type_ensure (BZ_TYPE_FLATPAK_ENTRY); g_type_ensure (BZ_TYPE_INSTALL_CONTROLS); g_type_ensure (BZ_TYPE_RESULT); g_type_ensure (BZ_TYPE_SHARE_LIST); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-addons-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); bz_widget_class_bind_all_context_tile_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzAddonsDialog, navigation_view); gtk_widget_class_bind_template_child (widget_class, BzAddonsDialog, description_toggle); gtk_widget_class_bind_template_child (widget_class, BzAddonsDialog, full_view_clamp); gtk_widget_class_bind_template_child (widget_class, BzAddonsDialog, list_clamp); gtk_widget_class_bind_template_child (widget_class, BzAddonsDialog, sorter); gtk_widget_class_bind_template_callback (widget_class, tile_activated_cb); gtk_widget_class_bind_template_callback (widget_class, on_visible_page_tag_changed); gtk_widget_class_bind_template_callback (widget_class, format_parent_title); gtk_widget_class_bind_template_callback (widget_class, get_description_max_height); gtk_widget_class_bind_template_callback (widget_class, get_description_toggle_text); gtk_widget_class_bind_template_callback (widget_class, license_cb); gtk_widget_class_bind_template_callback (widget_class, size_cb); gtk_widget_class_bind_template_callback (widget_class, dl_stats_cb); } static void bz_addons_dialog_init (BzAddonsDialog *self) { AdwAnimationTarget *width_target = NULL; AdwAnimationTarget *height_target = NULL; gtk_widget_init_template (GTK_WIDGET (self)); width_target = adw_property_animation_target_new (G_OBJECT (self), "content-width"); self->width_animation = adw_timed_animation_new (GTK_WIDGET (self), 0, 0, 300, width_target); height_target = adw_property_animation_target_new (G_OBJECT (self), "content-height"); self->height_animation = adw_timed_animation_new (GTK_WIDGET (self), 0, 0, 300, height_target); g_signal_connect_swapped (self, "map", G_CALLBACK (animate_to_size), self); gtk_custom_sorter_set_sort_func (self->sorter, (GCompareDataFunc) sort_func, self, NULL); } AdwDialog * bz_addons_dialog_new (BzEntryGroup *group) { GListModel *ids = NULL; GListModel *groups = NULL; BzApplicationMapFactory *factory = NULL; BzAddonsDialog *self = NULL; ids = bz_entry_group_get_addon_group_ids (group); if (ids != NULL) { factory = bz_state_info_get_application_factory (bz_state_info_get_default ()); if (factory != NULL) groups = bz_application_map_factory_generate (factory, ids); } self = g_object_new ( BZ_TYPE_ADDONS_DIALOG, "addon-groups", groups, NULL); self->parent_ui_entry = bz_entry_group_dup_ui_entry (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PARENT_UI_ENTRY]); if (groups == NULL || g_list_model_get_n_items (groups) == 0) adw_navigation_view_replace (self->navigation_view, (AdwNavigationPage *[]) { adw_navigation_view_find_page (self->navigation_view, "empty") }, 1); else if (g_list_model_get_n_items (groups) == 1) { g_autoptr (BzEntryGroup) single = g_list_model_get_item (groups, 0); AdwNavigationPage *full_view_page = NULL; set_selected_group (self, single); full_view_page = adw_navigation_view_find_page (self->navigation_view, "full-view"); adw_navigation_view_replace (self->navigation_view, &full_view_page, 1); } return ADW_DIALOG (self); } AdwDialog * bz_addons_dialog_new_single (BzEntryGroup *group) { BzAddonsDialog *self = NULL; AdwNavigationPage *full_view = NULL; self = g_object_new (BZ_TYPE_ADDONS_DIALOG, NULL); set_selected_group (self, group); full_view = adw_navigation_view_find_page (self->navigation_view, "full-view"); adw_navigation_view_replace (self->navigation_view, &full_view, 1); return ADW_DIALOG (self); } BzEntry * bz_addons_dialog_get_parent_entry (BzAddonsDialog *self) { g_return_val_if_fail (BZ_IS_ADDONS_DIALOG (self), NULL); if (self->parent_ui_entry == NULL || !bz_result_get_resolved (self->parent_ui_entry)) return NULL; return bz_result_get_object (self->parent_ui_entry); } static char * format_parent_title (gpointer object, const char *title) { if (title == NULL || *title == '\0') return g_strdup (""); return g_strdup_printf (_ ("Add-on for %s"), title); } static int get_description_max_height (gpointer object, gboolean active) { return active ? 10000 : 170; } static char * get_description_toggle_text (gpointer object, gboolean active) { return g_strdup (active ? _ ("Show Less") : _ ("Show More")); } static void size_cb (BzAddonsDialog *self, GtkButton *button) { AdwNavigationPage *page = NULL; if (self->selected_group == NULL) return; page = bz_app_size_page_new (self->selected_group); adw_navigation_view_push (self->navigation_view, page); } static void license_cb (BzAddonsDialog *self, GtkButton *button) { AdwNavigationPage *page = NULL; BzEntry *ui_entry = NULL; if (self->selected_ui_entry == NULL) return; ui_entry = bz_result_get_object (self->selected_ui_entry); if (ui_entry == NULL) return; page = bz_license_page_new (ui_entry); adw_navigation_view_push (self->navigation_view, page); } static void dl_stats_cb (BzAddonsDialog *self, GtkButton *button) { BzStatsDialog *bin = NULL; AdwNavigationPage *page = NULL; BzEntry *ui_entry = NULL; if (self->selected_ui_entry == NULL) return; ui_entry = bz_result_get_object (self->selected_ui_entry); if (ui_entry == NULL) return; bin = BZ_STATS_DIALOG (bz_stats_dialog_new (NULL, NULL, 0)); page = adw_navigation_page_new (GTK_WIDGET (bin), _ ("Download Stats")); adw_navigation_page_set_tag (page, "stats"); g_object_bind_property (ui_entry, "download-stats", bin, "model", G_BINDING_SYNC_CREATE); g_object_bind_property (ui_entry, "total-downloads", bin, "total-downloads", G_BINDING_SYNC_CREATE); adw_navigation_view_push (self->navigation_view, page); bz_stats_dialog_animate_open (bin); } static void animate_to_size (BzAddonsDialog *self) { const char *tag = NULL; int target_width = 0; int target_height = 0; int nat = 0; int cur_width = 0; int measure_for = 0; int cur_w = 0; int cur_h = 0; int delta_w = 0; int delta_h = 0; int delta = 0; guint duration = 0; tag = adw_navigation_view_get_visible_page_tag (self->navigation_view); if (g_strcmp0 (tag, "list") == 0) { cur_width = gtk_widget_get_width (GTK_WIDGET (self)); target_width = 500; measure_for = MAX (-1, MIN (target_width, cur_width) - 48); gtk_widget_measure (GTK_WIDGET (self->list_clamp), GTK_ORIENTATION_VERTICAL, measure_for, NULL, &nat, NULL, NULL); target_height = CLAMP (nat + 50, 150, 600); } else if (g_strcmp0 (tag, "full-view") == 0) { cur_width = gtk_widget_get_width (GTK_WIDGET (self)); target_width = 500; measure_for = MAX (-1, MIN (target_width, cur_width) - 48); gtk_widget_measure (GTK_WIDGET (self->full_view_clamp), GTK_ORIENTATION_VERTICAL, measure_for, NULL, &nat, NULL, NULL); target_height = CLAMP (nat + 50, 300, 700); } else if (g_strcmp0 (tag, "app-size") == 0) { target_width = 500; target_height = 300; } else if (g_strcmp0 (tag, "license") == 0) { cur_width = gtk_widget_get_width (GTK_WIDGET (self)); target_width = 400; measure_for = target_width - 48; gtk_widget_measure (GTK_WIDGET (self->navigation_view), GTK_ORIENTATION_VERTICAL, measure_for, NULL, &nat, NULL, NULL); target_height = CLAMP (nat, 300, 700); } else if (g_strcmp0 (tag, "stats") == 0) { target_width = 1250; target_height = 750; } else if (g_strcmp0 (tag, "empty") == 0) { target_width = 500; target_height = 500; } else return; if (!self->has_mapped) { self->has_mapped = TRUE; adw_dialog_set_content_width (ADW_DIALOG (self), target_width); adw_dialog_set_content_height (ADW_DIALOG (self), target_height); return; } cur_w = adw_dialog_get_content_width (ADW_DIALOG (self)); cur_h = adw_dialog_get_content_height (ADW_DIALOG (self)); delta_w = ABS (target_width - cur_w); delta_h = ABS (target_height - cur_h); delta = MAX (delta_w, delta_h); duration = (guint) CLAMP (delta * 0.6, 200, (target_width < cur_w || target_height < cur_h) ? 300 : 600); adw_timed_animation_set_duration (ADW_TIMED_ANIMATION (self->width_animation), duration); adw_timed_animation_set_duration (ADW_TIMED_ANIMATION (self->height_animation), duration); adw_timed_animation_set_value_from (ADW_TIMED_ANIMATION (self->width_animation), cur_w); adw_timed_animation_set_value_to (ADW_TIMED_ANIMATION (self->width_animation), target_width); adw_timed_animation_set_value_from (ADW_TIMED_ANIMATION (self->height_animation), cur_h); adw_timed_animation_set_value_to (ADW_TIMED_ANIMATION (self->height_animation), target_height); adw_animation_play (self->width_animation); adw_animation_play (self->height_animation); } static void on_visible_page_tag_changed (AdwNavigationView *nav_view, GParamSpec *pspec, BzAddonsDialog *self) { g_idle_add_once ((GSourceOnceFunc) animate_to_size, self); } static DexFuture * on_parent_ui_entry_resolved (DexFuture *future, GWeakRef *wr) { g_autoptr (BzAddonsDialog) self = NULL; bz_weak_get_or_return_reject (self, wr); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PARENT_UI_ENTRY]); return dex_future_new_for_boolean (TRUE); } static DexFuture * on_selected_ui_entry_resolved (DexFuture *future, GWeakRef *wr) { g_autoptr (BzAddonsDialog) self = NULL; const GValue *value = NULL; g_autoptr (BzEntry) ui_entry = NULL; const char *ref = NULL; g_auto (GStrv) parts = NULL; BzApplicationMapFactory *factory = NULL; GtkStringObject *item = NULL; BzEntryGroup *parent_group = NULL; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, NULL); if (value == NULL || !G_VALUE_HOLDS_OBJECT (value)) return dex_future_new_for_boolean (TRUE); ui_entry = g_value_dup_object (value); if (ui_entry == NULL || !BZ_IS_FLATPAK_ENTRY (ui_entry)) return dex_future_new_for_boolean (TRUE); ref = bz_flatpak_entry_get_addon_extension_of_ref (BZ_FLATPAK_ENTRY (ui_entry)); if (ref == NULL) return dex_future_new_for_boolean (TRUE); parts = g_strsplit (ref, "/", -1); if (parts[0] == NULL || parts[1] == NULL) return dex_future_new_for_boolean (TRUE); factory = bz_state_info_get_application_factory (bz_state_info_get_default ()); item = gtk_string_object_new (parts[1]); parent_group = bz_application_map_factory_convert_one (factory, item); if (parent_group == NULL) return dex_future_new_for_boolean (TRUE); g_clear_object (&self->parent_ui_entry); self->parent_ui_entry = bz_entry_group_dup_ui_entry (parent_group); if (self->parent_ui_entry == NULL) return dex_future_new_for_boolean (TRUE); if (bz_result_get_resolved (self->parent_ui_entry)) { g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PARENT_UI_ENTRY]); } else { g_autoptr (DexFuture) parent_future = NULL; GWeakRef *parent_wr = NULL; parent_future = bz_result_dup_future (self->parent_ui_entry); parent_wr = bz_track_weak (self); parent_future = dex_future_then ( parent_future, (DexFutureCallback) on_parent_ui_entry_resolved, parent_wr, bz_weak_release); dex_clear (&self->parent_ui_future); self->parent_ui_future = g_steal_pointer (&parent_future); } return dex_future_new_for_boolean (TRUE); } static void set_selected_group (BzAddonsDialog *self, BzEntryGroup *group) { dex_clear (&self->selected_ui_future); dex_clear (&self->parent_ui_future); g_clear_object (&self->selected_group); g_clear_object (&self->selected_ui_entry); g_clear_object (&self->parent_ui_entry); gtk_toggle_button_set_active (self->description_toggle, FALSE); if (group == NULL) return; self->selected_group = g_object_ref (group); self->selected_ui_entry = bz_entry_group_dup_ui_entry (group); if (self->selected_ui_entry == NULL) goto notify; if (bz_result_get_resolved (self->selected_ui_entry)) { g_autoptr (BzEntry) entry = NULL; g_autoptr (DexFuture) object_future = NULL; GWeakRef *wr = NULL; entry = g_object_ref (bz_result_get_object (self->selected_ui_entry)); object_future = dex_future_new_for_object (entry); wr = bz_track_weak (self); dex_unref (on_selected_ui_entry_resolved (object_future, wr)); bz_weak_release (wr); } else { g_autoptr (DexFuture) ui_future = NULL; GWeakRef *wr = NULL; ui_future = bz_result_dup_future (self->selected_ui_entry); wr = bz_track_weak (self); ui_future = dex_future_then ( ui_future, (DexFutureCallback) on_selected_ui_entry_resolved, wr, bz_weak_release); self->selected_ui_future = g_steal_pointer (&ui_future); } notify: g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_GROUP]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_UI_ENTRY]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PARENT_UI_ENTRY]); } static void tile_activated_cb (BzAddonTile *tile) { BzAddonsDialog *self = NULL; BzEntryGroup *group = NULL; self = BZ_ADDONS_DIALOG (gtk_widget_get_ancestor (GTK_WIDGET (tile), BZ_TYPE_ADDONS_DIALOG)); if (self == NULL) return; group = bz_addon_tile_get_group (tile); if (group == NULL) return; set_selected_group (self, group); adw_navigation_view_push_by_tag (self->navigation_view, "full-view"); } static int sort_func (BzEntryGroup *a, BzEntryGroup *b, BzAddonsDialog *self) { const char *desc_a = NULL; const char *desc_b = NULL; gboolean has_a = FALSE; gboolean has_b = FALSE; int result = 0; desc_a = bz_entry_group_get_description (a); desc_b = bz_entry_group_get_description (b); has_a = desc_a != NULL && *desc_a != '\0'; has_b = desc_b != NULL && *desc_b != '\0'; if (has_a != has_b) result = has_b - has_a; else result = g_utf8_collate (bz_entry_group_get_title (a), bz_entry_group_get_title (b)); return result; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-addons-dialog.h����������������������������������������������������0000664�0000000�0000000�00000002246�15234476640�0021350�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-addons-dialog.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-entry-group.h" G_BEGIN_DECLS #define BZ_TYPE_ADDONS_DIALOG (bz_addons_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzAddonsDialog, bz_addons_dialog, BZ, ADDONS_DIALOG, AdwDialog) AdwDialog * bz_addons_dialog_new (BzEntryGroup *group); AdwDialog * bz_addons_dialog_new_single (BzEntryGroup *group); BzEntry * bz_addons_dialog_get_parent_entry (BzAddonsDialog *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-age-rating-attribute.txt�������������������������������������������0000664�0000000�0000000�00000000527�15234476640�0023252�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=age_rating_attribute parent-prefix=g parent-name=object author=AUTOGEN include="bz-context-row.h" property=importance BzImportance BZ_TYPE_IMPORTANCE enum property=id char G_TYPE_STRING string property=title char G_TYPE_STRING string property=description char G_TYPE_STRING string property=icon_name char G_TYPE_STRING string �������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-age-rating-dialog.blp����������������������������������������������0000664�0000000�0000000�00000001524�15234476640�0022442�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzAgeRatingDialog: Adw.Dialog { content-height: 550; content-width: 640; title: _("Age Rating"); Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: ScrolledWindow { hscrollbar-policy: never; Adw.Clamp { maximum-size: 600; tightening-threshold: 400; Box { orientation: vertical; spacing: 24; margin-start: 24; margin-end: 24; margin-top: 24; margin-bottom: 24; $BzLozenge lozenge { title: _("Age Rating"); label: "?"; importance: neutral; } ListBox list { selection-mode: none; styles [ "boxed-list", ] } } } }; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-age-rating-dialog.c������������������������������������������������0000664�0000000�0000000�00000107107�15234476640�0022113�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-age-rating-dialog.c * * Copyright 2021 Endless OS Foundation LLC * Copyright 2025 Alexander Vanhee * * Author: Philip Withnall <pwithnall@endlessos.org> (GNOME Software) * Adapted for Bazaar by Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <appstream.h> #include <glib/gi18n.h> #include <locale.h> #include "bz-age-rating-attribute.h" #include "bz-age-rating-dialog.h" #include "bz-context-row.h" #include "bz-lozenge.h" struct _BzAgeRatingDialog { AdwDialog parent_instance; BzEntry *entry; BzLozenge *lozenge; GtkListBox *list; }; G_DEFINE_FINAL_TYPE (BzAgeRatingDialog, bz_age_rating_dialog, ADW_TYPE_DIALOG) enum { PROP_0, PROP_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { NULL }; typedef enum { BZ_AGE_RATING_GROUP_TYPE_DRUGS, BZ_AGE_RATING_GROUP_TYPE_LANGUAGE, BZ_AGE_RATING_GROUP_TYPE_MONEY, BZ_AGE_RATING_GROUP_TYPE_SEX, BZ_AGE_RATING_GROUP_TYPE_SOCIAL, BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, } BzAgeRatingGroupType; #define BZ_AGE_RATING_GROUP_TYPE_COUNT (BZ_AGE_RATING_GROUP_TYPE_VIOLENCE + 1) typedef struct { GList *attributes; } BzAgeRatingGroup; typedef void (*AttributeCallback) (const gchar *attribute, AsContentRatingValue value, gpointer user_data); static const struct { const gchar *id; BzAgeRatingGroupType group_type; const gchar *title; const gchar *unknown_description; const gchar *icon_name; const gchar *icon_name_negative; } attribute_details[] = { { "violence-cartoon", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Cartoon Violence"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding cartoon violence"), "violence-symbolic", "violence-none-symbolic" }, { "violence-fantasy", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Fantasy Violence"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding fantasy violence"), "violence-symbolic", "violence-none-symbolic" }, { "violence-realistic", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Realistic Violence"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding realistic violence"), "violence-symbolic", "violence-none-symbolic" }, { "violence-bloodshed", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Violence Depicting Bloodshed"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding bloodshed"), "violence-symbolic", "violence-none-symbolic" }, { "violence-sexual", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Sexual Violence"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding sexual violence"), "violence-symbolic", "violence-none-symbolic" }, { "drugs-alcohol", BZ_AGE_RATING_GROUP_TYPE_DRUGS, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Alcohol"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to alcohol"), "alcohol-use-symbolic", "alcohol-use-none-symbolic" }, { "drugs-narcotics", BZ_AGE_RATING_GROUP_TYPE_DRUGS, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Narcotics"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to illicit drugs"), "drug-use-symbolic", "drug-use-none-symbolic" }, { "drugs-tobacco", BZ_AGE_RATING_GROUP_TYPE_DRUGS, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Tobacco"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to tobacco products"), "smoking-symbolic", "smoking-none-symbolic" }, { "sex-nudity", BZ_AGE_RATING_GROUP_TYPE_SEX, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Nudity"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding nudity of any sort"), "nudity-symbolic", "nudity-none-symbolic" }, { "sex-themes", BZ_AGE_RATING_GROUP_TYPE_SEX, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Sexual Themes"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to or depictions of sexual nature"), "nudity-symbolic", "nudity-none-symbolic" }, { "language-profanity", BZ_AGE_RATING_GROUP_TYPE_LANGUAGE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Profanity"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding profanity of any kind"), "strong-language-symbolic", "strong-language-none-symbolic" }, { "language-humor", BZ_AGE_RATING_GROUP_TYPE_LANGUAGE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Inappropriate Humor"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding inappropriate humor"), "strong-language-symbolic", "strong-language-none-symbolic" }, { "language-discrimination", BZ_AGE_RATING_GROUP_TYPE_SOCIAL, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Discrimination"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding discriminatory language of any kind"), "strong-language-symbolic", "strong-language-none-symbolic" }, { "money-advertising", BZ_AGE_RATING_GROUP_TYPE_MONEY, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Advertising"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding advertising of any kind"), "advertising-symbolic", "advertising-none-symbolic" }, { "money-gambling", BZ_AGE_RATING_GROUP_TYPE_MONEY, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Gambling"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding gambling of any kind"), "gambling-symbolic", "gambling-none-symbolic" }, { "money-purchasing", BZ_AGE_RATING_GROUP_TYPE_MONEY, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Purchasing"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding the ability to spend money"), "money-symbolic", "money-none-symbolic" }, { "social-chat", BZ_AGE_RATING_GROUP_TYPE_SOCIAL, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Chat Between Users"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding ways to chat with other users"), "messaging-symbolic", "messaging-none-symbolic" }, { "social-audio", BZ_AGE_RATING_GROUP_TYPE_SOCIAL, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Audio Chat Between Users"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding ways to talk with other users"), "audio-chat-symbolic", "audio-chat-none-symbolic" }, { "social-contacts", BZ_AGE_RATING_GROUP_TYPE_SOCIAL, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Contact Details"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding sharing of social network usernames or email addresses"), "contacts-symbolic", NULL }, { "social-info", BZ_AGE_RATING_GROUP_TYPE_SOCIAL, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Identifying Information"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding sharing of user information with third parties"), "social-info-symbolic", NULL }, { "social-location", BZ_AGE_RATING_GROUP_TYPE_SOCIAL, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Location Sharing"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding sharing of physical location with other users"), "location-services-active-symbolic", "location-services-disabled-symbolic" }, { "sex-prostitution", BZ_AGE_RATING_GROUP_TYPE_SEX, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Prostitution"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to prostitution"), "nudity-symbolic", "nudity-none-symbolic" }, { "sex-adultery", BZ_AGE_RATING_GROUP_TYPE_SEX, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Adultery"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to adultery"), "nudity-symbolic", "nudity-none-symbolic" }, { "sex-appearance", BZ_AGE_RATING_GROUP_TYPE_SEX, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Sexualized Characters"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding sexualized characters"), "nudity-symbolic", "nudity-none-symbolic" }, { "violence-worship", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Desecration"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to desecration"), "violence-symbolic", "violence-none-symbolic" }, { "violence-desecration", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Human Remains"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding visible dead human remains"), "human-remains-symbolic", NULL }, { "violence-slavery", BZ_AGE_RATING_GROUP_TYPE_VIOLENCE, /* TRANSLATORS: content rating title, see https://hughsie.github.io/oars/ */ N_ ("Slavery"), /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ N_ ("No information regarding references to slavery"), "violence-symbolic", "violence-none-symbolic" }, }; static const gchar *content_rating_attribute_get_icon_name (const gchar *attribute, gboolean negative_version); static const gchar *content_rating_attribute_get_title (const gchar *attribute); static const gchar *content_rating_attribute_get_unknown_description (const gchar *attribute); static BzAgeRatingGroupType content_rating_attribute_get_group_type (const gchar *attribute); static const gchar *content_rating_group_get_description (BzAgeRatingGroupType group_type); static const gchar *content_rating_group_get_icon_name (BzAgeRatingGroupType group_type, gboolean negative_version); static const gchar *content_rating_group_get_title (BzAgeRatingGroupType group_type); static BzImportance content_rating_value_get_importance (AsContentRatingValue value); static gint attributes_compare (BzAgeRatingAttribute *attr1, BzAgeRatingAttribute *attr2); static void collect_attribute (const gchar *attribute, AsContentRatingValue value, gpointer user_data); static void process_attributes (AsContentRating *content_rating, gboolean show_worst_only, AttributeCallback callback, gpointer user_data); static gchar *format_age_short (AsContentRatingSystem system, guint age); static void update_lozenge (BzAgeRatingDialog *self, AsContentRating *content_rating); static void update_list (BzAgeRatingDialog *self); static void bz_age_rating_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAgeRatingDialog *self = NULL; self = BZ_AGE_RATING_DIALOG (object); switch (prop_id) { case PROP_ENTRY: self->entry = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_age_rating_dialog_constructed (GObject *object) { BzAgeRatingDialog *self = NULL; self = BZ_AGE_RATING_DIALOG (object); G_OBJECT_CLASS (bz_age_rating_dialog_parent_class)->constructed (object); if (self->entry != NULL) update_list (self); } static void bz_age_rating_dialog_dispose (GObject *object) { BzAgeRatingDialog *self = NULL; self = BZ_AGE_RATING_DIALOG (object); g_clear_object (&self->entry); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_AGE_RATING_DIALOG); G_OBJECT_CLASS (bz_age_rating_dialog_parent_class)->dispose (object); } static void bz_age_rating_dialog_class_init (BzAgeRatingDialogClass *klass) { GObjectClass *object_class = NULL; GtkWidgetClass *widget_class = NULL; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_age_rating_dialog_set_property; object_class->constructed = bz_age_rating_dialog_constructed; object_class->dispose = bz_age_rating_dialog_dispose; props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LOZENGE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-age-rating-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, BzAgeRatingDialog, lozenge); gtk_widget_class_bind_template_child (widget_class, BzAgeRatingDialog, list); } static void bz_age_rating_dialog_init (BzAgeRatingDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } BzAgeRatingDialog * bz_age_rating_dialog_new (BzEntry *entry) { return g_object_new (BZ_TYPE_AGE_RATING_DIALOG, "entry", entry, NULL); } static const gchar * content_rating_attribute_get_icon_name (const gchar *attribute, gboolean negative_version) { for (gsize i = 0; i < G_N_ELEMENTS (attribute_details); i++) { if (g_str_equal (attribute, attribute_details[i].id)) { if (negative_version && attribute_details[i].icon_name_negative != NULL) return attribute_details[i].icon_name_negative; return attribute_details[i].icon_name; } } g_assert_not_reached (); } static const gchar * content_rating_attribute_get_title (const gchar *attribute) { for (gsize i = 0; i < G_N_ELEMENTS (attribute_details); i++) { if (g_str_equal (attribute, attribute_details[i].id)) return _ (attribute_details[i].title); } g_assert_not_reached (); } static const gchar * content_rating_attribute_get_unknown_description (const gchar *attribute) { for (gsize i = 0; i < G_N_ELEMENTS (attribute_details); i++) { if (g_str_equal (attribute, attribute_details[i].id)) return _ (attribute_details[i].unknown_description); } g_assert_not_reached (); } static BzAgeRatingGroupType content_rating_attribute_get_group_type (const gchar *attribute) { for (gsize i = 0; i < G_N_ELEMENTS (attribute_details); i++) { if (g_str_equal (attribute, attribute_details[i].id)) return attribute_details[i].group_type; } g_assert_not_reached (); } static const gchar * content_rating_group_get_description (BzAgeRatingGroupType group_type) { switch (group_type) { case BZ_AGE_RATING_GROUP_TYPE_DRUGS: return _ ("Does not include references to drugs"); case BZ_AGE_RATING_GROUP_TYPE_LANGUAGE: return _ ("Does not include swearing, profanity, and other kinds of strong language"); case BZ_AGE_RATING_GROUP_TYPE_MONEY: return _ ("Does not include ads or monetary transactions"); case BZ_AGE_RATING_GROUP_TYPE_SEX: return _ ("Does not include sex or nudity"); case BZ_AGE_RATING_GROUP_TYPE_SOCIAL: return _ ("Does not include uncontrolled chat functionality"); case BZ_AGE_RATING_GROUP_TYPE_VIOLENCE: return _ ("Does not include violence"); default: g_assert_not_reached (); } } static const gchar * content_rating_group_get_icon_name (BzAgeRatingGroupType group_type, gboolean negative_version) { switch (group_type) { case BZ_AGE_RATING_GROUP_TYPE_DRUGS: return negative_version ? "smoking-none-symbolic" : "smoking-symbolic"; case BZ_AGE_RATING_GROUP_TYPE_LANGUAGE: return negative_version ? "strong-language-none-symbolic" : "strong-language-symbolic"; case BZ_AGE_RATING_GROUP_TYPE_MONEY: return negative_version ? "money-none-symbolic" : "money-symbolic"; case BZ_AGE_RATING_GROUP_TYPE_SEX: return negative_version ? "nudity-none-symbolic" : "nudity-symbolic"; case BZ_AGE_RATING_GROUP_TYPE_SOCIAL: return negative_version ? "messaging-none-symbolic" : "messaging-symbolic"; case BZ_AGE_RATING_GROUP_TYPE_VIOLENCE: return negative_version ? "violence-none-symbolic" : "violence-symbolic"; default: g_assert_not_reached (); } } static const gchar * content_rating_group_get_title (BzAgeRatingGroupType group_type) { switch (group_type) { case BZ_AGE_RATING_GROUP_TYPE_DRUGS: return _ ("Drugs"); case BZ_AGE_RATING_GROUP_TYPE_LANGUAGE: return _ ("Strong Language"); case BZ_AGE_RATING_GROUP_TYPE_MONEY: return _ ("Money"); case BZ_AGE_RATING_GROUP_TYPE_SEX: return _ ("Nudity"); case BZ_AGE_RATING_GROUP_TYPE_SOCIAL: return _ ("Social"); case BZ_AGE_RATING_GROUP_TYPE_VIOLENCE: return _ ("Violence"); default: g_assert_not_reached (); } } static BzImportance content_rating_value_get_importance (AsContentRatingValue value) { switch (value) { case AS_CONTENT_RATING_VALUE_NONE: return BZ_IMPORTANCE_UNIMPORTANT; case AS_CONTENT_RATING_VALUE_UNKNOWN: return BZ_IMPORTANCE_NEUTRAL; case AS_CONTENT_RATING_VALUE_MILD: return BZ_IMPORTANCE_INFORMATION; case AS_CONTENT_RATING_VALUE_MODERATE: return BZ_IMPORTANCE_WARNING; case AS_CONTENT_RATING_VALUE_INTENSE: return BZ_IMPORTANCE_IMPORTANT; case AS_CONTENT_RATING_VALUE_LAST: default: return BZ_IMPORTANCE_NEUTRAL; } } static gint attributes_compare (BzAgeRatingAttribute *attr1, BzAgeRatingAttribute *attr2) { BzImportance importance1 = 0; BzImportance importance2 = 0; const gchar *id1 = NULL; const gchar *id2 = NULL; importance1 = bz_age_rating_attribute_get_importance (attr1); importance2 = bz_age_rating_attribute_get_importance (attr2); if (importance1 != importance2) { if (importance1 == BZ_IMPORTANCE_NEUTRAL && importance2 == BZ_IMPORTANCE_UNIMPORTANT) return -1; if (importance1 == BZ_IMPORTANCE_UNIMPORTANT && importance2 == BZ_IMPORTANCE_NEUTRAL) return 1; return importance2 - importance1; } else { id1 = bz_age_rating_attribute_get_id (attr1); id2 = bz_age_rating_attribute_get_id (attr2); return g_strcmp0 (id1, id2); } } static void collect_attribute (const gchar *attribute, AsContentRatingValue value, gpointer user_data) { BzAgeRatingGroup *groups = NULL; BzAgeRatingGroupType group_type = 0; BzImportance rating = 0; const gchar *icon_name = NULL; const gchar *title = NULL; const gchar *description = NULL; BzAgeRatingAttribute *attr = NULL; groups = user_data; group_type = content_rating_attribute_get_group_type (attribute); rating = content_rating_value_get_importance (value); icon_name = content_rating_attribute_get_icon_name (attribute, value == AS_CONTENT_RATING_VALUE_NONE); title = content_rating_attribute_get_title (attribute); if (value == AS_CONTENT_RATING_VALUE_UNKNOWN) description = content_rating_attribute_get_unknown_description (attribute); else description = as_content_rating_attribute_get_description (attribute, value); attr = g_object_new (BZ_TYPE_AGE_RATING_ATTRIBUTE, "id", attribute, "icon-name", icon_name, "importance", rating, "title", title, "description", description, NULL); groups[group_type].attributes = g_list_insert_sorted (groups[group_type].attributes, attr, (GCompareFunc) attributes_compare); } static AsContentRatingValue get_rating_value (AsContentRating *content_rating, const gchar *id) { if (content_rating == NULL) return AS_CONTENT_RATING_VALUE_UNKNOWN; return as_content_rating_get_value (content_rating, id); } static void process_attributes (AsContentRating *content_rating, gboolean show_worst_only, AttributeCallback callback, gpointer user_data) { g_autofree const gchar **rating_ids = NULL; AsContentRatingValue value_bad = AS_CONTENT_RATING_VALUE_NONE; guint age_bad = 0; guint rating_age = 0; AsContentRatingValue rating_value = 0; const gchar *const violence_group[] = { "violence-bloodshed", "violence-realistic", "violence-fantasy", "violence-cartoon", NULL }; const gchar *const social_group[] = { "social-audio", "social-chat", "social-contacts", "social-info", NULL }; const gchar *const coalesce_groups[] = { "sex-themes", "sex-homosexuality", NULL }; rating_ids = as_content_rating_get_all_rating_ids (); for (gsize i = 0; rating_ids[i] != NULL; i++) { rating_value = get_rating_value (content_rating, rating_ids[i]); rating_age = as_content_rating_attribute_to_csm_age (rating_ids[i], rating_value); if (rating_age > age_bad) age_bad = rating_age; if (rating_value > value_bad) value_bad = rating_value; } if (show_worst_only && (value_bad == AS_CONTENT_RATING_VALUE_NONE || age_bad == 0)) { callback (NULL, AS_CONTENT_RATING_VALUE_UNKNOWN, user_data); return; } for (gsize i = 0; rating_ids[i] != NULL; i++) { if (g_strv_contains (violence_group, rating_ids[i]) || g_strv_contains (social_group, rating_ids[i])) continue; rating_value = get_rating_value (content_rating, rating_ids[i]); rating_age = as_content_rating_attribute_to_csm_age (rating_ids[i], rating_value); if (show_worst_only && rating_age < age_bad) continue; if (g_strv_contains (coalesce_groups + 1, rating_ids[i]) && as_content_rating_attribute_to_csm_age (coalesce_groups[0], get_rating_value (content_rating, coalesce_groups[0])) >= rating_age) continue; callback (rating_ids[i], rating_value, user_data); } for (gsize i = 0; violence_group[i] != NULL; i++) { rating_value = get_rating_value (content_rating, violence_group[i]); rating_age = as_content_rating_attribute_to_csm_age (violence_group[i], rating_value); if (show_worst_only && rating_age < age_bad) continue; callback (violence_group[i], rating_value, user_data); } for (gsize i = 0; social_group[i] != NULL; i++) { rating_value = get_rating_value (content_rating, social_group[i]); rating_age = as_content_rating_attribute_to_csm_age (social_group[i], rating_value); if (show_worst_only && rating_age < age_bad) continue; callback (social_group[i], rating_value, user_data); } } static gchar * format_age_short (AsContentRatingSystem system, guint age) { if (age < 3) age = 3; /* Translators: Age rating format, e.g. "12+" for ages 12 and up */ return g_strdup_printf (_ ("%d+"), age); } static void update_lozenge (BzAgeRatingDialog *self, AsContentRating *content_rating) { const gchar *locale = NULL; AsContentRatingSystem system = 0; guint age = G_MAXUINT; g_autofree gchar *age_text = NULL; g_autofree gchar *title_text = NULL; BzImportance importance = BZ_IMPORTANCE_NEUTRAL; gboolean is_unknown = FALSE; locale = setlocale (LC_MESSAGES, NULL); system = as_content_rating_system_from_locale (locale); if (content_rating != NULL) age = as_content_rating_get_minimum_age (content_rating); if (age != G_MAXUINT) age_text = format_age_short (system, age); if (content_rating != NULL && age_text == NULL && age == 0) age_text = g_strdup (C_ ("Age rating", "All")); if (age_text == NULL || (content_rating != NULL && g_strcmp0 (as_content_rating_get_kind (content_rating), "oars-1.0") != 0 && g_strcmp0 (as_content_rating_get_kind (content_rating), "oars-1.1") != 0)) { g_clear_pointer (&age_text, g_free); age_text = g_strdup ("?"); importance = BZ_IMPORTANCE_NEUTRAL; } else { if (age >= 18) importance = BZ_IMPORTANCE_IMPORTANT; else if (age >= 15) importance = BZ_IMPORTANCE_WARNING; else if (age >= 12) importance = BZ_IMPORTANCE_INFORMATION; else importance = BZ_IMPORTANCE_NEUTRAL; } if (self->entry == NULL) { title_text = g_strdup (_ ("Age Rating")); } else { is_unknown = (content_rating == NULL || (g_strcmp0 (as_content_rating_get_kind (content_rating), "oars-1.0") != 0 && g_strcmp0 (as_content_rating_get_kind (content_rating), "oars-1.1") != 0) || age == G_MAXUINT); if (is_unknown) { title_text = g_strdup_printf (_ ("%s has an unknown age rating"), bz_entry_get_title (self->entry)); } else { if (age <= 3) title_text = g_strdup_printf (_ ("%s is suitable for everyone"), bz_entry_get_title (self->entry)); else if (age <= 5) title_text = g_strdup_printf (_ ("%s is suitable for young children"), bz_entry_get_title (self->entry)); else if (age <= 12) title_text = g_strdup_printf (_ ("%s is suitable for children"), bz_entry_get_title (self->entry)); else if (age <= 18) title_text = g_strdup_printf (_ ("%s is suitable for teenagers"), bz_entry_get_title (self->entry)); else if (age < G_MAXUINT) title_text = g_strdup_printf (_ ("%s is suitable for adults"), bz_entry_get_title (self->entry)); else title_text = g_strdup_printf (_ ("%s is suitable for %s"), bz_entry_get_title (self->entry), age_text); } } bz_lozenge_set_label (self->lozenge, age_text); bz_lozenge_set_title (self->lozenge, title_text); bz_lozenge_set_importance (self->lozenge, importance); } static void update_list (BzAgeRatingDialog *self) { AsContentRating *content_rating = NULL; BzAgeRatingGroup groups[BZ_AGE_RATING_GROUP_TYPE_COUNT] = { 0 }; guint attr_count = 0; BzAgeRatingAttribute *attr = NULL; AdwActionRow *row = NULL; BzImportance max_importance = 0; BzImportance attr_importance = 0; BzImportance row_importances[BZ_AGE_RATING_GROUP_TYPE_COUNT] = { 0 }; GtkWidget *rows[BZ_AGE_RATING_GROUP_TYPE_COUNT] = { NULL }; const gchar *group_icon = NULL; const gchar *group_title = NULL; const gchar *group_description = NULL; const gchar *attr_description = NULL; g_autofree gchar *description = NULL; g_autoptr (GList) l = NULL; g_autofree gchar *tmp = NULL; content_rating = bz_entry_get_content_rating (self->entry); update_lozenge (self, content_rating); process_attributes (content_rating, FALSE, collect_attribute, groups); for (gsize i = 0; i < BZ_AGE_RATING_GROUP_TYPE_COUNT; i++) { if (groups[i].attributes == NULL) continue; attr_count = g_list_length (groups[i].attributes); row = NULL; if (attr_count == 1) { attr = (BzAgeRatingAttribute *) groups[i].attributes->data; row = bz_context_row_new (bz_age_rating_attribute_get_icon_name (attr), bz_age_rating_attribute_get_importance (attr), bz_age_rating_attribute_get_title (attr), bz_age_rating_attribute_get_description (attr)); row_importances[i] = bz_age_rating_attribute_get_importance (attr); } else { max_importance = BZ_IMPORTANCE_UNIMPORTANT; for (l = groups[i].attributes; l != NULL; l = l->next) { attr = (BzAgeRatingAttribute *) l->data; attr_importance = bz_age_rating_attribute_get_importance (attr); if (attr_importance > max_importance) max_importance = attr_importance; } if (max_importance == BZ_IMPORTANCE_UNIMPORTANT) { group_icon = content_rating_group_get_icon_name (i, TRUE); group_title = content_rating_group_get_title (i); group_description = content_rating_group_get_description (i); row = bz_context_row_new (group_icon, BZ_IMPORTANCE_UNIMPORTANT, group_title, group_description); } else { group_icon = content_rating_group_get_icon_name (i, FALSE); group_title = content_rating_group_get_title (i); g_clear_pointer (&description, g_free); for (l = groups[i].attributes; l != NULL; l = l->next) { attr = (BzAgeRatingAttribute *) l->data; attr_importance = bz_age_rating_attribute_get_importance (attr); if (attr_importance == BZ_IMPORTANCE_UNIMPORTANT) continue; attr_description = bz_age_rating_attribute_get_description (attr); if (description == NULL) { description = g_strdup (attr_description); } else { tmp = g_strdup_printf (_ ("%s • %s"), description, attr_description); g_clear_pointer (&description, g_free); description = g_steal_pointer (&tmp); } } row = bz_context_row_new (group_icon, max_importance, group_title, description); } row_importances[i] = max_importance; } rows[i] = GTK_WIDGET (row); g_list_free_full (g_steal_pointer (&groups[i].attributes), g_object_unref); } for (gint level = BZ_IMPORTANCE_IMPORTANT; level >= BZ_IMPORTANCE_UNIMPORTANT; level--) { for (gsize i = 0; i < BZ_AGE_RATING_GROUP_TYPE_COUNT; i++) { if (rows[i] == NULL || row_importances[i] != level) continue; gtk_list_box_append (self->list, rows[i]); } } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-age-rating-dialog.h������������������������������������������������0000664�0000000�0000000�00000002357�15234476640�0022121�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-age-rating-dialog.h * * Copyright 2021 Endless OS Foundation LLC * Copyright 2025 Alexander Vanhee * * Author: Philip Withnall <pwithnall@endlessos.org> (GNOME Software) * Adapted for Bazaar by Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include <adwaita.h> #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_AGE_RATING_DIALOG (bz_age_rating_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzAgeRatingDialog, bz_age_rating_dialog, BZ, AGE_RATING_DIALOG, AdwDialog) BzAgeRatingDialog *bz_age_rating_dialog_new (BzEntry *entry); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-all-apps-page.blp��������������������������������������������������0000664�0000000�0000000�00000003112�15234476640�0021605�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzAllAppsPage: Adw.NavigationPage { Adw.ToolbarView { [top] Adw.HeaderBar {} content: Adw.BreakpointBin { width-request: 360; height-request: 100; child: ScrolledWindow { hexpand: true; vexpand: true; hscrollbar-policy: never; child: Adw.ClampScrollable clamp_scrollable { maximum-size: 1500; tightening-threshold: 1400; child: GridView grid_view { styles [ "search-grid", ] min-columns: 4; max-columns: 4; margin-start: 30; margin-end: 30; enable-rubberband: false; single-click-activate: true; factory: BuilderListItemFactory { template ListItem { child: $BzAppTile { group: bind template.item as <$BzEntryGroup>; }; } }; }; }; }; Adw.Breakpoint { condition ("max-width: 1300px") setters { grid_view.min-columns: 3; grid_view.max-columns: 3; } } Adw.Breakpoint { condition ("max-width: 900px") setters { grid_view.min-columns: 2; grid_view.max-columns: 2; } } Adw.Breakpoint { condition ("max-width: 700px") setters { grid_view.margin-start: 3; grid_view.margin-end: 3; grid_view.min-columns: 1; grid_view.max-columns: 1; } } }; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-all-apps-page.c����������������������������������������������������0000664�0000000�0000000�00000010664�15234476640�0021264�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-all-apps-page.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-all-apps-page.h" #include "bz-app-tile.h" #include "bz-entry-group.h" struct _BzAllAppsPage { AdwNavigationPage parent_instance; char *title; GListModel *applications; GtkGridView *grid_view; }; G_DEFINE_FINAL_TYPE (BzAllAppsPage, bz_all_apps_page, ADW_TYPE_NAVIGATION_PAGE) enum { PROP_0, PROP_PAGE_TITLE, PROP_APPLICATIONS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_all_apps_page_dispose (GObject *object) { BzAllAppsPage *self = BZ_ALL_APPS_PAGE (object); g_clear_pointer (&self->title, g_free); g_clear_object (&self->applications); G_OBJECT_CLASS (bz_all_apps_page_parent_class)->dispose (object); } static void bz_all_apps_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAllAppsPage *self = BZ_ALL_APPS_PAGE (object); switch (prop_id) { case PROP_PAGE_TITLE: g_value_set_string (value, self->title); break; case PROP_APPLICATIONS: g_value_set_object (value, self->applications); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_all_apps_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAllAppsPage *self = BZ_ALL_APPS_PAGE (object); switch (prop_id) { case PROP_PAGE_TITLE: g_clear_pointer (&self->title, g_free); self->title = g_value_dup_string (value); break; case PROP_APPLICATIONS: g_clear_object (&self->applications); self->applications = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_all_apps_page_class_init (BzAllAppsPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_all_apps_page_dispose; object_class->get_property = bz_all_apps_page_get_property; object_class->set_property = bz_all_apps_page_set_property; props[PROP_PAGE_TITLE] = g_param_spec_string ( "page-title", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_APPLICATIONS] = g_param_spec_object ( "applications", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_APP_TILE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-all-apps-page.ui"); gtk_widget_class_bind_template_child (widget_class, BzAllAppsPage, grid_view); } static void bz_all_apps_page_init (BzAllAppsPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); } AdwNavigationPage * bz_all_apps_page_new (const char *title, GListModel *applications) { BzAllAppsPage *apps_page = NULL; g_autoptr (GtkNoSelection) selection_model = NULL; g_return_val_if_fail (applications != NULL, NULL); apps_page = g_object_new ( BZ_TYPE_ALL_APPS_PAGE, "page-title", title, "applications", applications, "title", title, NULL); selection_model = gtk_no_selection_new (NULL); gtk_no_selection_set_model (selection_model, applications); gtk_grid_view_set_model (apps_page->grid_view, GTK_SELECTION_MODEL (selection_model)); return ADW_NAVIGATION_PAGE (apps_page); } ����������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-all-apps-page.h����������������������������������������������������0000664�0000000�0000000�00000002105�15234476640�0021260�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-all-apps-page.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_ALL_APPS_PAGE (bz_all_apps_page_get_type ()) G_DECLARE_FINAL_TYPE (BzAllAppsPage, bz_all_apps_page, BZ, ALL_APPS_PAGE, AdwNavigationPage) AdwNavigationPage * bz_all_apps_page_new (const char *title, GListModel *applications); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-permissions.c��������������������������������������������������0000664�0000000�0000000�00000123476�15234476640�0022000�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-app-permissions.c * * Copyright 2026 Alexander Vanhee * Copyright (C) 2022 Red Hat <www.redhat.com> * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib-object.h> #include <glib.h> #include <glib/gi18n.h> #include <stdlib.h> #include "bz-app-permissions.h" #define DOES_NOT_CONTAIN ((guint) ~0) G_DEFINE_FLAGS_TYPE ( BzAppPermissionsFlags, bz_app_permissions_flags, G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_NONE, "none"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_NETWORK, "network"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS, "system-bus"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS, "session-bus"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_DEVICES, "devices"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_HOME_FULL, "home-full"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_HOME_READ, "home-read"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL, "filesystem-full"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ, "filesystem-read"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL, "downloads-full"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_READ, "downloads-read"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_SETTINGS, "settings"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_X11, "x11"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX, "escape-sandbox"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_OTHER, "filesystem-other"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_BUS_POLICY_OTHER, "bus-policy-other"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES, "audio-devices"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_INPUT_DEVICES, "input-devices"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_SYSTEM_DEVICES, "system-devices"), G_DEFINE_ENUM_VALUE (BZ_APP_PERMISSIONS_FLAGS_SCREEN, "screen")) G_DEFINE_ENUM_TYPE ( BzFilesystemPathType, bz_filesystem_path_type, G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_SYSTEM_ROOT, "system-root"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_HOME_SUBDIR, "home-subdir"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_HOST_OS, "host-os"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_HOST_ETC, "host-etc"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_DESKTOP, "xdg-desktop"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_DOCUMENTS, "xdg-documents"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_MUSIC, "xdg-music"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_PICTURES, "xdg-pictures"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_PUBLIC_SHARE, "xdg-public-share"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_VIDEOS, "xdg-videos"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_TEMPLATES, "xdg-templates"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_CACHE, "xdg-cache"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_CONFIG, "xdg-config"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_DATA, "xdg-data"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_XDG_RUN, "xdg-run"), G_DEFINE_ENUM_VALUE (BZ_FILESYSTEM_PATH_CUSTOM, "custom")) G_DEFINE_ENUM_TYPE ( BzBusPolicyPermission, bz_bus_policy_permission, G_DEFINE_ENUM_VALUE (BZ_BUS_POLICY_PERMISSION_UNKNOWN, "unknown"), G_DEFINE_ENUM_VALUE (BZ_BUS_POLICY_PERMISSION_NONE, "none"), G_DEFINE_ENUM_VALUE (BZ_BUS_POLICY_PERMISSION_SEE, "see"), G_DEFINE_ENUM_VALUE (BZ_BUS_POLICY_PERMISSION_TALK, "talk"), G_DEFINE_ENUM_VALUE (BZ_BUS_POLICY_PERMISSION_OWN, "own")) struct _BzAppPermissions { GObject parent; gboolean is_sealed; BzAppPermissionsFlags flags; GPtrArray *filesystem_read; GPtrArray *filesystem_full; GPtrArray *bus_policies; }; G_DEFINE_FINAL_TYPE (BzAppPermissions, bz_app_permissions, G_TYPE_OBJECT) static gint cmp_filesystem_path_pointers (gconstpointer item1, gconstpointer item2); static int cmp_bus_policy_qsort (const void *item1, const void *item2); static guint app_permissions_get_array_index (GPtrArray *array, BzFilesystemPathType type, const char *subpath); static guint get_strv_index (const gchar *const *strv, const gchar *value); static void bz_app_permissions_finalize (GObject *object) { BzAppPermissions *self = BZ_APP_PERMISSIONS (object); g_clear_pointer (&self->filesystem_read, g_ptr_array_unref); g_clear_pointer (&self->filesystem_full, g_ptr_array_unref); g_clear_pointer (&self->bus_policies, g_ptr_array_unref); G_OBJECT_CLASS (bz_app_permissions_parent_class)->finalize (object); } static void bz_app_permissions_class_init (BzAppPermissionsClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = bz_app_permissions_finalize; } static void bz_app_permissions_init (BzAppPermissions *self) { } BzFilesystemPath * bz_filesystem_path_new (BzFilesystemPathType type, const char *subpath) { BzFilesystemPath *path = g_new0 (BzFilesystemPath, 1); path->type = type; path->subpath = g_strdup (subpath); return path; } void bz_filesystem_path_free (BzFilesystemPath *path) { g_return_if_fail (path != NULL); g_free (path->subpath); g_free (path); } char * bz_filesystem_path_to_display_string (const BzFilesystemPath *path) { g_return_val_if_fail (path != NULL, NULL); switch (path->type) { case BZ_FILESYSTEM_PATH_SYSTEM_ROOT: return g_strdup_printf (_ ("System folder %s"), path->subpath ? path->subpath : "/"); case BZ_FILESYSTEM_PATH_HOME_SUBDIR: return g_strdup_printf (_ ("Home subfolder %s"), path->subpath); case BZ_FILESYSTEM_PATH_HOST_OS: return g_strdup (_ ("Host system folders")); case BZ_FILESYSTEM_PATH_HOST_ETC: return g_strdup (_ ("Host system configuration from /etc")); case BZ_FILESYSTEM_PATH_XDG_DESKTOP: if (path->subpath) return g_strdup_printf (_ ("Desktop subfolder %s"), path->subpath); return g_strdup (_ ("Desktop folder")); case BZ_FILESYSTEM_PATH_XDG_DOCUMENTS: if (path->subpath) return g_strdup_printf (_ ("Documents subfolder %s"), path->subpath); return g_strdup (_ ("Documents folder")); case BZ_FILESYSTEM_PATH_XDG_MUSIC: if (path->subpath) return g_strdup_printf (_ ("Music subfolder %s"), path->subpath); return g_strdup (_ ("Music folder")); case BZ_FILESYSTEM_PATH_XDG_PICTURES: if (path->subpath) return g_strdup_printf (_ ("Pictures subfolder %s"), path->subpath); return g_strdup (_ ("Pictures folder")); case BZ_FILESYSTEM_PATH_XDG_PUBLIC_SHARE: if (path->subpath) return g_strdup_printf (_ ("Public Share subfolder %s"), path->subpath); return g_strdup (_ ("Public Share folder")); case BZ_FILESYSTEM_PATH_XDG_VIDEOS: if (path->subpath) return g_strdup_printf (_ ("Videos subfolder %s"), path->subpath); return g_strdup (_ ("Videos folder")); case BZ_FILESYSTEM_PATH_XDG_TEMPLATES: if (path->subpath) return g_strdup_printf (_ ("Templates subfolder %s"), path->subpath); return g_strdup (_ ("Templates folder")); case BZ_FILESYSTEM_PATH_XDG_CACHE: if (path->subpath) return g_strdup_printf (_ ("User cache subfolder %s"), path->subpath); return g_strdup (_ ("User cache folder")); case BZ_FILESYSTEM_PATH_XDG_CONFIG: if (path->subpath) return g_strdup_printf (_ ("User configuration subfolder %s"), path->subpath); return g_strdup (_ ("User configuration folder")); case BZ_FILESYSTEM_PATH_XDG_DATA: if (path->subpath) return g_strdup_printf (_ ("User data subfolder %s"), path->subpath); return g_strdup (_ ("User data folder")); case BZ_FILESYSTEM_PATH_XDG_RUN: if (path->subpath) return g_strdup_printf (_ ("User runtime subfolder %s"), path->subpath); return g_strdup (_ ("User runtime folder")); case BZ_FILESYSTEM_PATH_CUSTOM: return g_strdup_printf (_ ("Filesystem access to %s"), path->subpath); default: return g_strdup (_ ("Unknown filesystem path")); } } const char * bz_filesystem_path_to_icon_name (const BzFilesystemPath *path) { switch (path->type) { case BZ_FILESYSTEM_PATH_HOST_OS: return "computer-symbolic"; case BZ_FILESYSTEM_PATH_HOST_ETC: return "emblem-system-symbolic"; case BZ_FILESYSTEM_PATH_XDG_DESKTOP: return "user-desktop-symbolic"; case BZ_FILESYSTEM_PATH_XDG_DOCUMENTS: return "folder-documents-symbolic"; case BZ_FILESYSTEM_PATH_XDG_MUSIC: return "folder-music-symbolic"; case BZ_FILESYSTEM_PATH_XDG_PICTURES: return "folder-pictures-symbolic"; case BZ_FILESYSTEM_PATH_XDG_PUBLIC_SHARE: return "folder-publicshare-symbolic"; case BZ_FILESYSTEM_PATH_XDG_VIDEOS: return "folder-videos-symbolic"; case BZ_FILESYSTEM_PATH_XDG_CONFIG: return "emblem-system-symbolic"; case BZ_FILESYSTEM_PATH_SYSTEM_ROOT: case BZ_FILESYSTEM_PATH_HOME_SUBDIR: case BZ_FILESYSTEM_PATH_XDG_TEMPLATES: case BZ_FILESYSTEM_PATH_XDG_CACHE: case BZ_FILESYSTEM_PATH_XDG_DATA: case BZ_FILESYSTEM_PATH_XDG_RUN: case BZ_FILESYSTEM_PATH_CUSTOM: default: return "folder-symbolic"; } } BzBusPolicy * bz_bus_policy_new (GBusType bus_type, const char *bus_name, BzBusPolicyPermission permission) { BzBusPolicy *policy = NULL; g_return_val_if_fail (bus_type != G_BUS_TYPE_NONE, NULL); g_return_val_if_fail (bus_name != NULL && *bus_name != '\0', NULL); policy = g_new0 (BzBusPolicy, 1); policy->bus_type = bus_type; policy->bus_name = g_strdup (bus_name); policy->permission = permission; return policy; } void bz_bus_policy_free (BzBusPolicy *self) { g_return_if_fail (self != NULL); g_free (self->bus_name); g_free (self); } BzAppPermissions * bz_app_permissions_new (void) { return g_object_new (BZ_TYPE_APP_PERMISSIONS, NULL); } void bz_app_permissions_seal (BzAppPermissions *self) { g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); if (self->is_sealed) return; self->is_sealed = TRUE; if (self->filesystem_read) qsort (self->filesystem_read->pdata, self->filesystem_read->len, sizeof (gpointer), cmp_filesystem_path_pointers); if (self->filesystem_full) qsort (self->filesystem_full->pdata, self->filesystem_full->len, sizeof (gpointer), cmp_filesystem_path_pointers); if (self->bus_policies) qsort (self->bus_policies->pdata, self->bus_policies->len, sizeof (gpointer), cmp_bus_policy_qsort); } gboolean bz_app_permissions_is_sealed (BzAppPermissions *self) { g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), TRUE); return self->is_sealed; } gboolean bz_app_permissions_is_empty (BzAppPermissions *self) { g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), TRUE); return (self->flags == BZ_APP_PERMISSIONS_FLAGS_NONE && (self->filesystem_read == NULL || self->filesystem_read->len == 0) && (self->filesystem_full == NULL || self->filesystem_full->len == 0) && (self->bus_policies == NULL || self->bus_policies->len == 0)); } void bz_app_permissions_set_flags (BzAppPermissions *self, BzAppPermissionsFlags flags) { g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_assert (!self->is_sealed); self->flags = flags; } BzAppPermissionsFlags bz_app_permissions_get_flags (BzAppPermissions *self) { g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), BZ_APP_PERMISSIONS_FLAGS_NONE); return self->flags; } void bz_app_permissions_add_flag (BzAppPermissions *self, BzAppPermissionsFlags flags) { g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_return_if_fail (flags != BZ_APP_PERMISSIONS_FLAGS_NONE); g_assert (!self->is_sealed); self->flags = self->flags | flags; } void bz_app_permissions_remove_flag (BzAppPermissions *self, BzAppPermissionsFlags flags) { g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_return_if_fail (flags != BZ_APP_PERMISSIONS_FLAGS_NONE); g_assert (!self->is_sealed); self->flags = (self->flags & (~flags)); } void bz_app_permissions_add_filesystem_read (BzAppPermissions *self, BzFilesystemPathType type, const char *subpath) { g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_assert (!self->is_sealed); if (app_permissions_get_array_index (self->filesystem_read, type, subpath) != DOES_NOT_CONTAIN || app_permissions_get_array_index (self->filesystem_full, type, subpath) != DOES_NOT_CONTAIN) return; if (self->filesystem_read == NULL) self->filesystem_read = g_ptr_array_new_with_free_func ((GDestroyNotify) bz_filesystem_path_free); g_ptr_array_add (self->filesystem_read, bz_filesystem_path_new (type, subpath)); } const GPtrArray * bz_app_permissions_get_filesystem_read (BzAppPermissions *self) { g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), NULL); return self->filesystem_read; } void bz_app_permissions_add_filesystem_full (BzAppPermissions *self, BzFilesystemPathType type, const char *subpath) { guint read_index = DOES_NOT_CONTAIN; g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_assert (!self->is_sealed); if (app_permissions_get_array_index (self->filesystem_full, type, subpath) != DOES_NOT_CONTAIN) return; if (self->filesystem_full == NULL) self->filesystem_full = g_ptr_array_new_with_free_func ((GDestroyNotify) bz_filesystem_path_free); g_ptr_array_add (self->filesystem_full, bz_filesystem_path_new (type, subpath)); read_index = app_permissions_get_array_index (self->filesystem_read, type, subpath); if (read_index != DOES_NOT_CONTAIN) { g_ptr_array_remove_index (self->filesystem_read, read_index); if (self->filesystem_read->len == 0) g_clear_pointer (&self->filesystem_read, g_ptr_array_unref); } } const GPtrArray * bz_app_permissions_get_filesystem_full (BzAppPermissions *self) { g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), NULL); return self->filesystem_full; } void bz_app_permissions_add_bus_policy (BzAppPermissions *self, GBusType bus_type, const char *bus_name, BzBusPolicyPermission permission) { g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_return_if_fail (bus_type != G_BUS_TYPE_NONE); g_return_if_fail (bus_name != NULL && *bus_name != '\0'); g_return_if_fail (permission != BZ_BUS_POLICY_PERMISSION_UNKNOWN); g_assert (!self->is_sealed); for (unsigned int i = 0; self->bus_policies != NULL && i < self->bus_policies->len; i++) { BzBusPolicy *policy = g_ptr_array_index (self->bus_policies, i); if (policy->bus_type == bus_type && g_str_equal (policy->bus_name, bus_name)) { policy->permission = MAX (policy->permission, permission); return; } } if (permission == BZ_BUS_POLICY_PERMISSION_NONE) return; if (self->bus_policies == NULL) self->bus_policies = g_ptr_array_new_with_free_func ((GDestroyNotify) bz_bus_policy_free); g_ptr_array_add (self->bus_policies, bz_bus_policy_new (bus_type, bus_name, permission)); } const BzBusPolicy *const * bz_app_permissions_get_bus_policies (BzAppPermissions *self, size_t *out_n_bus_policies) { g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), NULL); g_return_val_if_fail (self->is_sealed, NULL); if (out_n_bus_policies != NULL) *out_n_bus_policies = (self->bus_policies != NULL) ? self->bus_policies->len : 0; return (self->bus_policies != NULL && self->bus_policies->len > 0) ? (const BzBusPolicy *const *) self->bus_policies->pdata : NULL; } BzAppPermissions * bz_app_permissions_new_from_metadata (GKeyFile *keyfile, GError **error) { char **strv = NULL; BzAppPermissions *permissions = NULL; BzAppPermissionsFlags flags = BZ_APP_PERMISSIONS_FLAGS_NONE; g_autofree char *app_id = NULL; g_autofree char *mpris_id = NULL; g_autofree char *app_id_non_devel = NULL; g_autofree char *mpris_id_non_devel = NULL; g_return_val_if_fail (keyfile != NULL, NULL); permissions = bz_app_permissions_new (); app_id = g_key_file_get_value (keyfile, "Application", "name", NULL); strv = g_key_file_get_string_list (keyfile, "Context", "sockets", NULL, NULL); if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "system-bus")) flags |= BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS | BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX; if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "session-bus")) flags |= BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS | BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX; if (strv != NULL && !g_strv_contains ((const gchar *const *) strv, "fallback-x11") && g_strv_contains ((const gchar *const *) strv, "x11")) flags |= BZ_APP_PERMISSIONS_FLAGS_X11; if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "fallback-x11") && !g_strv_contains ((const gchar *const *) strv, "wayland")) flags |= BZ_APP_PERMISSIONS_FLAGS_X11; if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "pulseaudio")) flags |= BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES; if (strv != NULL && g_strv_contains ((const char *const *) strv, "gpg-agent")) flags |= BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX; g_strfreev (strv); strv = g_key_file_get_string_list (keyfile, "Context", "devices", NULL, NULL); if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "all")) flags |= BZ_APP_PERMISSIONS_FLAGS_DEVICES; if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "input")) flags |= BZ_APP_PERMISSIONS_FLAGS_INPUT_DEVICES; if (strv != NULL && (g_strv_contains ((const gchar *const *) strv, "shm") || g_strv_contains ((const gchar *const *) strv, "kvm"))) flags |= BZ_APP_PERMISSIONS_FLAGS_SYSTEM_DEVICES; g_strfreev (strv); strv = g_key_file_get_string_list (keyfile, "Context", "shared", NULL, NULL); if (strv != NULL && g_strv_contains ((const gchar *const *) strv, "network")) flags |= BZ_APP_PERMISSIONS_FLAGS_NETWORK; g_strfreev (strv); strv = g_key_file_get_string_list (keyfile, "Context", "filesystems", NULL, NULL); if (strv != NULL) { const struct { const gchar *key; BzAppPermissionsFlags perm; } filesystems_access[] = { { "home", BZ_APP_PERMISSIONS_FLAGS_HOME_FULL }, { "home:rw", BZ_APP_PERMISSIONS_FLAGS_HOME_FULL }, { "home:ro", BZ_APP_PERMISSIONS_FLAGS_HOME_READ }, { "~", BZ_APP_PERMISSIONS_FLAGS_HOME_FULL }, { "~:rw", BZ_APP_PERMISSIONS_FLAGS_HOME_FULL }, { "~:ro", BZ_APP_PERMISSIONS_FLAGS_HOME_READ }, { "host", BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL }, { "host:rw", BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL }, { "host:ro", BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ }, { "xdg-config/kdeglobals:ro", BZ_APP_PERMISSIONS_FLAGS_NONE }, { "xdg-download", BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL }, { "xdg-download:rw", BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL }, { "xdg-download:ro", BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_READ }, { "xdg-data/flatpak/overrides:create", BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX }, { "xdg-run/pipewire-0", BZ_APP_PERMISSIONS_FLAGS_SCREEN | BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES }, { "xdg-run/pipewire-0:rw", BZ_APP_PERMISSIONS_FLAGS_SCREEN | BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES }, { "xdg-run/pipewire-0:ro", BZ_APP_PERMISSIONS_FLAGS_SCREEN | BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES }, { "xdg-run/gvfsd", BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL }, }; guint filesystems_hits = 0; guint strv_len = g_strv_length (strv); for (guint i = 0; i < G_N_ELEMENTS (filesystems_access); i++) { guint index = get_strv_index ((const gchar *const *) strv, filesystems_access[i].key); if (index < strv_len) { flags |= filesystems_access[i].perm; filesystems_hits++; strv[index][0] = '\0'; } } if ((flags & BZ_APP_PERMISSIONS_FLAGS_HOME_FULL) != 0) flags = flags & ~BZ_APP_PERMISSIONS_FLAGS_HOME_READ; if ((flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL) != 0) flags = flags & ~BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ; if ((flags & BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL) != 0) flags = flags & ~BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_READ; if (strv_len > filesystems_hits) { const struct { const gchar *prefix; BzFilesystemPathType type; } filesystems_other[] = { { "/", BZ_FILESYSTEM_PATH_SYSTEM_ROOT }, { "home/", BZ_FILESYSTEM_PATH_HOME_SUBDIR }, { "~/", BZ_FILESYSTEM_PATH_HOME_SUBDIR }, { "host-os", BZ_FILESYSTEM_PATH_HOST_OS }, { "host-etc", BZ_FILESYSTEM_PATH_HOST_ETC }, { "xdg-desktop", BZ_FILESYSTEM_PATH_XDG_DESKTOP }, { "xdg-documents", BZ_FILESYSTEM_PATH_XDG_DOCUMENTS }, { "xdg-music", BZ_FILESYSTEM_PATH_XDG_MUSIC }, { "xdg-pictures", BZ_FILESYSTEM_PATH_XDG_PICTURES }, { "xdg-public-share", BZ_FILESYSTEM_PATH_XDG_PUBLIC_SHARE }, { "xdg-videos", BZ_FILESYSTEM_PATH_XDG_VIDEOS }, { "xdg-templates", BZ_FILESYSTEM_PATH_XDG_TEMPLATES }, { "xdg-cache", BZ_FILESYSTEM_PATH_XDG_CACHE }, { "xdg-config", BZ_FILESYSTEM_PATH_XDG_CONFIG }, { "xdg-data", BZ_FILESYSTEM_PATH_XDG_DATA }, { "xdg-run", BZ_FILESYSTEM_PATH_XDG_RUN } }; flags |= BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_OTHER; for (guint j = 0; strv[j]; j++) { gchar *perm = strv[j]; gboolean is_readonly = FALSE; gchar *colon = NULL; guint i = 0; const gchar *subpath = NULL; if (!perm[0]) continue; is_readonly = g_str_has_suffix (perm, ":ro"); colon = strrchr (perm, ':'); if (colon) *colon = '\0'; for (i = 0; i < G_N_ELEMENTS (filesystems_other); i++) { if (g_str_has_prefix (perm, filesystems_other[i].prefix)) { const gchar *slash = NULL; if (filesystems_other[i].type == BZ_FILESYSTEM_PATH_SYSTEM_ROOT) { if (perm[1] != '\0') subpath = perm + 1; else subpath = NULL; } else { slash = strchr (perm, '/'); if (slash && slash != perm) subpath = slash + 1; } if (is_readonly) bz_app_permissions_add_filesystem_read (permissions, filesystems_other[i].type, subpath); else bz_app_permissions_add_filesystem_full (permissions, filesystems_other[i].type, subpath); break; } } if (i == G_N_ELEMENTS (filesystems_other)) { if (is_readonly) bz_app_permissions_add_filesystem_read (permissions, BZ_FILESYSTEM_PATH_CUSTOM, perm); else bz_app_permissions_add_filesystem_full (permissions, BZ_FILESYSTEM_PATH_CUSTOM, perm); } } } } g_strfreev (strv); if (!(flags & (BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS | BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS))) { const struct { GBusType bus_type; const char *keyfile_group; BzAppPermissionsFlags unfiltered_flag; } bus_policy_types[] = { { G_BUS_TYPE_SESSION, "Session Bus Policy", BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS }, { G_BUS_TYPE_SYSTEM, "System Bus Policy", BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS }, }; if (app_id != NULL) { mpris_id = g_strconcat ("org.mpris.MediaPlayer2.", app_id, NULL); app_id_non_devel = g_str_has_suffix (app_id, ".Devel") ? g_strndup (app_id, strlen (app_id) - strlen (".Devel")) : NULL; mpris_id_non_devel = (app_id_non_devel != NULL) ? g_strconcat ("org.mpris.MediaPlayer2.", app_id_non_devel, NULL) : NULL; } for (size_t h = 0; h < G_N_ELEMENTS (bus_policy_types); h++) { g_auto (GStrv) bus_policies = NULL; if (flags & bus_policy_types[h].unfiltered_flag) continue; bus_policies = g_key_file_get_keys (keyfile, bus_policy_types[h].keyfile_group, NULL, NULL); for (size_t i = 0; bus_policies != NULL && bus_policies[i] != NULL; i++) { const struct { GBusType bus_type; const char *bus_name; gboolean is_prefix; BzBusPolicyPermission permission_is_at_least; BzAppPermissionsFlags flags; } bus_policy_permissions[] = { { G_BUS_TYPE_SESSION, "ca.desrt.dconf", FALSE, BZ_BUS_POLICY_PERMISSION_TALK, BZ_APP_PERMISSIONS_FLAGS_SETTINGS }, { G_BUS_TYPE_SESSION, "org.freedesktop.Flatpak", FALSE, BZ_BUS_POLICY_PERMISSION_TALK, BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX }, { G_BUS_TYPE_SESSION, "org.freedesktop.impl.portal.PermissionStore", FALSE, BZ_BUS_POLICY_PERMISSION_TALK, BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX }, { G_BUS_TYPE_SESSION, "org.gtk.vfs.", TRUE, BZ_BUS_POLICY_PERMISSION_TALK, BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL }, }; const char *bus_name_pattern = bus_policies[i]; g_autofree char *bus_policy_str = NULL; BzBusPolicyPermission bus_policy = BZ_BUS_POLICY_PERMISSION_UNKNOWN; size_t j = 0; bus_policy_str = g_key_file_get_string (keyfile, bus_policy_types[h].keyfile_group, bus_name_pattern, NULL); g_assert (bus_policy_str != NULL); if (g_str_equal (bus_policy_str, "none")) bus_policy = BZ_BUS_POLICY_PERMISSION_NONE; else if (g_str_equal (bus_policy_str, "see")) bus_policy = BZ_BUS_POLICY_PERMISSION_SEE; else if (g_str_equal (bus_policy_str, "talk")) bus_policy = BZ_BUS_POLICY_PERMISSION_TALK; else if (g_str_equal (bus_policy_str, "own")) bus_policy = BZ_BUS_POLICY_PERMISSION_OWN; else continue; if (app_id != NULL && bus_policy_types[h].bus_type == G_BUS_TYPE_SESSION && (g_str_equal (bus_name_pattern, app_id) || (g_str_has_prefix (bus_name_pattern, app_id) && bus_name_pattern[strlen (app_id)] == '.') || g_str_equal (bus_name_pattern, mpris_id) || g_str_equal (bus_name_pattern, "org.freedesktop.DBus") || g_str_has_prefix (bus_name_pattern, "org.freedesktop.portal."))) continue; if (app_id_non_devel != NULL && bus_policy_types[h].bus_type == G_BUS_TYPE_SESSION && (g_str_equal (bus_name_pattern, app_id_non_devel) || (g_str_has_prefix (bus_name_pattern, app_id_non_devel) && bus_name_pattern[strlen (app_id_non_devel)] == '.') || g_str_equal (bus_name_pattern, mpris_id_non_devel))) continue; for (j = 0; j < G_N_ELEMENTS (bus_policy_permissions); j++) { if (bus_policy_permissions[j].bus_type == bus_policy_types[h].bus_type && ((!bus_policy_permissions[j].is_prefix && g_str_equal (bus_name_pattern, bus_policy_permissions[j].bus_name)) || (bus_policy_permissions[j].is_prefix && g_str_has_prefix (bus_name_pattern, bus_policy_permissions[j].bus_name))) && bus_policy >= bus_policy_permissions[j].permission_is_at_least) { flags |= bus_policy_permissions[j].flags; break; } } if (j == G_N_ELEMENTS (bus_policy_permissions)) { flags |= BZ_APP_PERMISSIONS_FLAGS_BUS_POLICY_OTHER; bz_app_permissions_add_bus_policy (permissions, bus_policy_types[h].bus_type, bus_name_pattern, bus_policy); } } } } bz_app_permissions_set_flags (permissions, flags); bz_app_permissions_seal (permissions); return permissions; } void bz_app_permissions_serialize (BzAppPermissions *self, GVariantBuilder *builder) { GFlagsClass *flags_class = NULL; guint i = 0; g_return_if_fail (BZ_IS_APP_PERMISSIONS (self)); g_return_if_fail (builder != NULL); flags_class = g_type_class_ref (BZ_TYPE_APP_PERMISSIONS_FLAGS); if (self->flags != BZ_APP_PERMISSIONS_FLAGS_NONE) { g_autoptr (GVariantBuilder) sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (i = 0; i < flags_class->n_values; i++) { if (self->flags & flags_class->values[i].value) g_variant_builder_add (sub_builder, "s", flags_class->values[i].value_nick); } g_variant_builder_add (builder, "{sv}", "permissions-flags", g_variant_builder_end (sub_builder)); } g_type_class_unref (flags_class); if (self->filesystem_read != NULL && self->filesystem_read->len > 0) { GEnumClass *enum_class = NULL; g_autoptr (GVariantBuilder) sub_builder = NULL; enum_class = g_type_class_ref (BZ_TYPE_FILESYSTEM_PATH_TYPE); sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ss)")); for (i = 0; i < self->filesystem_read->len; i++) { const BzFilesystemPath *path = g_ptr_array_index (self->filesystem_read, i); GEnumValue *enum_value = g_enum_get_value (enum_class, path->type); g_variant_builder_add (sub_builder, "(ss)", enum_value->value_nick, path->subpath ? path->subpath : ""); } g_variant_builder_add (builder, "{sv}", "permissions-filesystem-read", g_variant_builder_end (sub_builder)); g_type_class_unref (enum_class); } if (self->filesystem_full != NULL && self->filesystem_full->len > 0) { GEnumClass *enum_class = NULL; g_autoptr (GVariantBuilder) sub_builder = NULL; enum_class = g_type_class_ref (BZ_TYPE_FILESYSTEM_PATH_TYPE); sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ss)")); for (i = 0; i < self->filesystem_full->len; i++) { const BzFilesystemPath *path = g_ptr_array_index (self->filesystem_full, i); GEnumValue *enum_value = g_enum_get_value (enum_class, path->type); g_variant_builder_add (sub_builder, "(ss)", enum_value->value_nick, path->subpath ? path->subpath : ""); } g_variant_builder_add (builder, "{sv}", "permissions-filesystem-full", g_variant_builder_end (sub_builder)); g_type_class_unref (enum_class); } if (self->bus_policies != NULL && self->bus_policies->len > 0) { GEnumClass *enum_class = NULL; g_autoptr (GVariantBuilder) sub_builder = NULL; enum_class = g_type_class_ref (BZ_TYPE_BUS_POLICY_PERMISSION); sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(iss)")); for (i = 0; i < self->bus_policies->len; i++) { BzBusPolicy *policy = g_ptr_array_index (self->bus_policies, i); GEnumValue *enum_value = g_enum_get_value (enum_class, policy->permission); g_variant_builder_add (sub_builder, "(iss)", (gint32) policy->bus_type, policy->bus_name, enum_value->value_nick); } g_variant_builder_add (builder, "{sv}", "permissions-bus-policies", g_variant_builder_end (sub_builder)); g_type_class_unref (enum_class); } } gboolean bz_app_permissions_deserialize (BzAppPermissions *self, GVariant *import, GError **error) { g_autoptr (GVariantIter) iter = NULL; g_return_val_if_fail (BZ_IS_APP_PERMISSIONS (self), FALSE); g_return_val_if_fail (import != NULL, FALSE); iter = g_variant_iter_new (import); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "permissions-flags") == 0) { GFlagsClass *flags_class = NULL; g_autoptr (GVariantIter) flags_iter = NULL; flags_class = g_type_class_ref (BZ_TYPE_APP_PERMISSIONS_FLAGS); flags_iter = g_variant_iter_new (value); self->flags = BZ_APP_PERMISSIONS_FLAGS_NONE; for (;;) { g_autofree char *flag_nick = NULL; if (!g_variant_iter_next (flags_iter, "s", &flag_nick)) break; for (guint i = 0; i < flags_class->n_values; i++) { if (g_str_equal (flag_nick, flags_class->values[i].value_nick)) { self->flags |= flags_class->values[i].value; break; } } } g_type_class_unref (flags_class); } else if (g_strcmp0 (key, "permissions-filesystem-read") == 0) { GEnumClass *enum_class = NULL; g_autoptr (GVariantIter) paths_iter = NULL; enum_class = g_type_class_ref (BZ_TYPE_FILESYSTEM_PATH_TYPE); if (self->filesystem_read == NULL) self->filesystem_read = g_ptr_array_new_with_free_func ((GDestroyNotify) bz_filesystem_path_free); paths_iter = g_variant_iter_new (value); for (;;) { g_autofree char *type_nick = NULL; g_autofree char *subpath = NULL; if (!g_variant_iter_next (paths_iter, "(ss)", &type_nick, &subpath)) break; for (guint i = 0; i < enum_class->n_values; i++) { if (g_str_equal (type_nick, enum_class->values[i].value_nick)) { g_ptr_array_add (self->filesystem_read, bz_filesystem_path_new (enum_class->values[i].value, subpath[0] ? subpath : NULL)); break; } } } g_type_class_unref (enum_class); } else if (g_strcmp0 (key, "permissions-filesystem-full") == 0) { GEnumClass *enum_class = NULL; g_autoptr (GVariantIter) paths_iter = NULL; enum_class = g_type_class_ref (BZ_TYPE_FILESYSTEM_PATH_TYPE); if (self->filesystem_full == NULL) self->filesystem_full = g_ptr_array_new_with_free_func ((GDestroyNotify) bz_filesystem_path_free); paths_iter = g_variant_iter_new (value); for (;;) { g_autofree char *type_nick = NULL; g_autofree char *subpath = NULL; if (!g_variant_iter_next (paths_iter, "(ss)", &type_nick, &subpath)) break; for (guint i = 0; i < enum_class->n_values; i++) { if (g_str_equal (type_nick, enum_class->values[i].value_nick)) { g_ptr_array_add (self->filesystem_full, bz_filesystem_path_new (enum_class->values[i].value, subpath[0] ? subpath : NULL)); break; } } } g_type_class_unref (enum_class); } else if (g_strcmp0 (key, "permissions-bus-policies") == 0) { GEnumClass *enum_class = NULL; g_autoptr (GVariantIter) policies_iter = NULL; enum_class = g_type_class_ref (BZ_TYPE_BUS_POLICY_PERMISSION); if (self->bus_policies == NULL) self->bus_policies = g_ptr_array_new_with_free_func ((GDestroyNotify) bz_bus_policy_free); policies_iter = g_variant_iter_new (value); for (;;) { gint32 bus_type_int = 0; g_autofree char *bus_name = NULL; g_autofree char *permission_nick = NULL; if (!g_variant_iter_next (policies_iter, "(iss)", &bus_type_int, &bus_name, &permission_nick)) break; for (guint i = 0; i < enum_class->n_values; i++) { if (g_str_equal (permission_nick, enum_class->values[i].value_nick)) { g_ptr_array_add (self->bus_policies, bz_bus_policy_new ((GBusType) bus_type_int, bus_name, enum_class->values[i].value)); break; } } } g_type_class_unref (enum_class); } } bz_app_permissions_seal (self); return TRUE; } static gint cmp_filesystem_path_pointers (gconstpointer item1, gconstpointer item2) { const BzFilesystemPath *const *pitem1 = item1; const BzFilesystemPath *const *pitem2 = item2; const BzFilesystemPath *path1 = *pitem1; const BzFilesystemPath *path2 = *pitem2; if (path1->type != path2->type) return path1->type - path2->type; return g_strcmp0 (path1->subpath, path2->subpath); } static int cmp_bus_policy_qsort (const void *item1, const void *item2) { const BzBusPolicy *const *pitem1 = item1; const BzBusPolicy *const *pitem2 = item2; const BzBusPolicy *policy1 = *pitem1; const BzBusPolicy *policy2 = *pitem2; if (policy1->bus_type != policy2->bus_type) return policy1->bus_type - policy2->bus_type; return strcmp (policy1->bus_name, policy2->bus_name); } static guint app_permissions_get_array_index (GPtrArray *array, BzFilesystemPathType type, const char *subpath) { if (array == NULL) return DOES_NOT_CONTAIN; for (guint i = 0; i < array->len; i++) { const BzFilesystemPath *path = g_ptr_array_index (array, i); if (path->type == type && g_strcmp0 (path->subpath, subpath) == 0) return i; } return DOES_NOT_CONTAIN; } static guint get_strv_index (const gchar *const *strv, const gchar *value) { guint ii; for (ii = 0; strv[ii]; ii++) { if (g_str_equal (strv[ii], value)) break; } return ii; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-permissions.h��������������������������������������������������0000664�0000000�0000000�00000014553�15234476640�0022000�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-app-permissions.h * * Copyright 2026 Alexander Vanhee * Copyright (C) 2022 Red Hat <www.redhat.com> * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gio/gio.h> #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_APP_PERMISSIONS (bz_app_permissions_get_type ()) G_DECLARE_FINAL_TYPE (BzAppPermissions, bz_app_permissions, BZ, APP_PERMISSIONS, GObject) typedef enum { BZ_APP_PERMISSIONS_FLAGS_NONE = 0, BZ_APP_PERMISSIONS_FLAGS_NETWORK = 1 << 0, BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS = 1 << 1, BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS = 1 << 2, BZ_APP_PERMISSIONS_FLAGS_DEVICES = 1 << 3, BZ_APP_PERMISSIONS_FLAGS_HOME_FULL = 1 << 4, BZ_APP_PERMISSIONS_FLAGS_HOME_READ = 1 << 5, BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL = 1 << 6, BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ = 1 << 7, BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL = 1 << 8, BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_READ = 1 << 9, BZ_APP_PERMISSIONS_FLAGS_SETTINGS = 1 << 10, BZ_APP_PERMISSIONS_FLAGS_X11 = 1 << 11, BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX = 1 << 12, BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_OTHER = 1 << 13, BZ_APP_PERMISSIONS_FLAGS_BUS_POLICY_OTHER = 1 << 14, BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES = 1 << 15, BZ_APP_PERMISSIONS_FLAGS_INPUT_DEVICES = 1 << 16, BZ_APP_PERMISSIONS_FLAGS_SYSTEM_DEVICES = 1 << 17, BZ_APP_PERMISSIONS_FLAGS_SCREEN = 1 << 18, } BzAppPermissionsFlags; #define BZ_TYPE_APP_PERMISSIONS_FLAGS (bz_app_permissions_flags_get_type ()) typedef enum { BZ_FILESYSTEM_PATH_SYSTEM_ROOT, BZ_FILESYSTEM_PATH_HOME_SUBDIR, BZ_FILESYSTEM_PATH_HOST_OS, BZ_FILESYSTEM_PATH_HOST_ETC, BZ_FILESYSTEM_PATH_XDG_DESKTOP, BZ_FILESYSTEM_PATH_XDG_DOCUMENTS, BZ_FILESYSTEM_PATH_XDG_MUSIC, BZ_FILESYSTEM_PATH_XDG_PICTURES, BZ_FILESYSTEM_PATH_XDG_PUBLIC_SHARE, BZ_FILESYSTEM_PATH_XDG_VIDEOS, BZ_FILESYSTEM_PATH_XDG_TEMPLATES, BZ_FILESYSTEM_PATH_XDG_CACHE, BZ_FILESYSTEM_PATH_XDG_CONFIG, BZ_FILESYSTEM_PATH_XDG_DATA, BZ_FILESYSTEM_PATH_XDG_RUN, BZ_FILESYSTEM_PATH_CUSTOM, } BzFilesystemPathType; #define BZ_TYPE_FILESYSTEM_PATH_TYPE (bz_filesystem_path_type_get_type ()) typedef enum { BZ_BUS_POLICY_PERMISSION_UNKNOWN = 0, BZ_BUS_POLICY_PERMISSION_NONE, BZ_BUS_POLICY_PERMISSION_SEE, BZ_BUS_POLICY_PERMISSION_TALK, BZ_BUS_POLICY_PERMISSION_OWN, } BzBusPolicyPermission; #define BZ_TYPE_BUS_POLICY_PERMISSION (bz_bus_policy_permission_get_type ()) typedef struct { BzFilesystemPathType type; char *subpath; } BzFilesystemPath; typedef struct { GBusType bus_type; char *bus_name; BzBusPolicyPermission permission; } BzBusPolicy; GType bz_app_permissions_flags_get_type (void) G_GNUC_CONST; GType bz_safety_rating_get_type (void) G_GNUC_CONST; GType bz_filesystem_path_type_get_type (void) G_GNUC_CONST; GType bz_bus_policy_permission_get_type (void) G_GNUC_CONST; BzFilesystemPath * bz_filesystem_path_new (BzFilesystemPathType type, const char *subpath); void bz_filesystem_path_free (BzFilesystemPath *self); char * bz_filesystem_path_to_display_string (const BzFilesystemPath *path); const char * bz_filesystem_path_to_icon_name (const BzFilesystemPath *path); BzBusPolicy * bz_bus_policy_new (GBusType bus_type, const char *bus_name, BzBusPolicyPermission permission); void bz_bus_policy_free (BzBusPolicy *self); G_DEFINE_AUTOPTR_CLEANUP_FUNC (BzFilesystemPath, bz_filesystem_path_free) G_DEFINE_AUTOPTR_CLEANUP_FUNC (BzBusPolicy, bz_bus_policy_free) BzAppPermissions * bz_app_permissions_new (void); BzAppPermissions * bz_app_permissions_new_from_metadata (GKeyFile *keyfile, GError **error); void bz_app_permissions_seal (BzAppPermissions *self); gboolean bz_app_permissions_is_sealed (BzAppPermissions *self); gboolean bz_app_permissions_is_empty (BzAppPermissions *self); void bz_app_permissions_set_flags (BzAppPermissions *self, BzAppPermissionsFlags flags); BzAppPermissionsFlags bz_app_permissions_get_flags (BzAppPermissions *self); void bz_app_permissions_add_flag (BzAppPermissions *self, BzAppPermissionsFlags flags); void bz_app_permissions_remove_flag (BzAppPermissions *self, BzAppPermissionsFlags flags); void bz_app_permissions_add_filesystem_read (BzAppPermissions *self, BzFilesystemPathType type, const char *subpath); const GPtrArray * bz_app_permissions_get_filesystem_read (BzAppPermissions *self); void bz_app_permissions_add_filesystem_full (BzAppPermissions *self, BzFilesystemPathType type, const char *subpath); const GPtrArray * bz_app_permissions_get_filesystem_full (BzAppPermissions *self); void bz_app_permissions_add_bus_policy (BzAppPermissions *self, GBusType bus_type, const char *bus_name, BzBusPolicyPermission permission); const BzBusPolicy *const * bz_app_permissions_get_bus_policies (BzAppPermissions *self, size_t *out_n_bus_policies); void bz_app_permissions_serialize (BzAppPermissions *self, GVariantBuilder *builder); gboolean bz_app_permissions_deserialize (BzAppPermissions *self, GVariant *import, GError **error); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-size-dialog.blp������������������������������������������������0000664�0000000�0000000�00000017641�15234476640�0022163�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzAppSizeDialog: Adw.Bin { child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: ScrolledWindow { propagate-natural-height: true; child: Adw.Clamp { maximum-size: 600; child: Box { orientation: vertical; margin-top: 6; margin-bottom: 24; margin-start: 24; margin-end: 24; spacing: 15; Box { orientation: vertical; margin-bottom: 9; $BzLozenge { title: _("Download Size"); label: bind $format_size( template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.size as <uint64>, true ) as <string>; importance: neutral; visible: bind $is_zero(template.group as <$BzEntryGroup>.removable) as <bool>; } $BzLozenge { title: _("Installed Size"); label: bind $format_size( template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.installed-size as <uint64>, true ) as <string>; importance: neutral; visible: bind $invert_boolean($is_zero(template.group as <$BzEntryGroup>.removable) as <bool>) as <bool>; } } Adw.PreferencesGroup { Adw.ActionRow { [prefix] Label { label: bind $format_size( template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.size as <uint64>, true ) as <string>; use-markup: true; valign: center; width-request: 90; margin-top: 8; margin-bottom: 8; styles [ "circular-lozenge", "title-4", "grey", ] } title: _("Download Size"); subtitle: _("Amount to download from the internet"); } Adw.ActionRow { [prefix] Label { label: bind $format_size( template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzEntry> .installed-size as <uint64>, false ) as <string>; use-markup: true; valign: center; width-request: 90; margin-top: 8; margin-bottom: 8; styles [ "circular-lozenge", "title-4", "grey", ] } title: _("Installed Size"); subtitle: _("Size on Disk"); } Adw.ActionRow runtime_row { visible: bind try { $invert_boolean( $is_null( template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzFlatpakEntry> .runtime as <$BzResult> .object ) as <bool> ) as <bool>, false }; [prefix] Label { label: bind $format_size( $choose_uint64( template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzFlatpakEntry> .runtime as <$BzResult> .object as <$BzEntry> .installed, template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzFlatpakEntry> .runtime as <$BzResult> .object as <$BzEntry> .installed-size as <uint64>, template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzFlatpakEntry> .runtime as <$BzResult> .object as <$BzEntry> .size as <uint64> ) as <uint64>, false ) as <string>; use-markup: true; valign: center; width-request: 90; margin-top: 8; margin-bottom: 8; styles [ "circular-lozenge", "title-4", "grey", ] } title: bind $get_runtime_size_title( template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzFlatpakEntry> .runtime as <$BzResult> .object as <$BzEntry> .installed ) as <string>; subtitle: bind template .group as <$BzEntryGroup> .ui-entry as <$BzResult> .object as <$BzFlatpakEntry> .runtime as <$BzResult> .object as <$BzEntry> .title; } } Adw.PreferencesGroup { visible: bind $invert_boolean( $is_zero(template.group as <$BzEntryGroup>.user-data-size) as <bool> ) as <bool>; Adw.ActionRow { [prefix] Label { label: bind $format_size(template.group as <$BzEntryGroup>.user-data-size, false) as <string>; use-markup: true; valign: center; width-request: 90; margin-top: 8; margin-bottom: 8; styles [ "circular-lozenge", "title-4", "grey", ] } [suffix] Button { has-tooltip: true; tooltip-text: _("Open user data folder"); icon-name: "folder-open-symbolic"; clicked => $open_user_data_folder_cb(); valign: center; styles [ "flat", ] } title: _("Your User Data"); subtitle: _("Caches, settings, and other app data"); } Adw.ActionRow { [prefix] Label { label: bind $format_size(template.group as <$BzEntryGroup>.cache-size, false) as <string>; use-markup: true; valign: center; width-request: 90; margin-top: 8; margin-bottom: 8; styles [ "circular-lozenge", "title-4", "grey", ] } title: _("Cache"); subtitle: _("Temporary cached data"); } } Adw.PreferencesGroup { margin-top: 4; visible: bind $logical_and( $invert_boolean($is_zero(template.group as <$BzEntryGroup>.user-data-size) as <bool>) as <bool>, $invert_boolean($is_app_id(template.group as <$BzEntryGroup>.id) as <bool>) as <bool> ) as <bool>; Adw.ButtonRow { title: _("Clear Cache"); activated => $delete_cache_cb(); sensitive: bind $invert_boolean( $is_zero(template.group as <$BzEntryGroup>.cache-size) as <bool> ) as <bool>; styles [ "destructive-action", ] } } }; }; }; }; } �����������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-size-dialog.c��������������������������������������������������0000664�0000000�0000000�00000013274�15234476640�0021626�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-app-size-dialog.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-app-size-dialog.h" #include "bz-entry-group.h" #include "io.h" #include "bz-lozenge.h" #include "template-callbacks.h" #include <glib/gi18n.h> struct _BzAppSizeDialog { AdwBin parent_instance; BzEntryGroup *group; }; G_DEFINE_FINAL_TYPE (BzAppSizeDialog, bz_app_size_dialog, ADW_TYPE_BIN) enum { PROP_0, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_app_size_dialog_dispose (GObject *object) { BzAppSizeDialog *self = BZ_APP_SIZE_DIALOG (object); g_clear_object (&self->group); G_OBJECT_CLASS (bz_app_size_dialog_parent_class)->dispose (object); } static void bz_app_size_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAppSizeDialog *self = BZ_APP_SIZE_DIALOG (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, self->group); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_app_size_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAppSizeDialog *self = BZ_APP_SIZE_DIALOG (object); switch (prop_id) { case PROP_GROUP: g_clear_object (&self->group); self->group = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * get_runtime_size_title (gpointer object, gboolean runtime_installed) { return g_strdup (runtime_installed ? _ ("Installed Runtime Size") : _ ("Runtime Download Size")); } static char * format_size (gpointer object, guint64 value, gboolean use_fallback) { g_autofree char *size_str = NULL; char *space = NULL; if (value == 0 && use_fallback) return g_strdup (_("N/A")); size_str = g_format_size (value); space = g_strrstr (size_str, "\xC2\xA0"); if (space != NULL) { *space = '\0'; return g_strdup_printf ("%s <span font_size='x-small'>%s</span>", size_str, space + 2); } return g_strdup (size_str); } static gboolean is_app_id (gpointer object, const char *id) { return g_strcmp0 (id, g_application_get_application_id (g_application_get_default ())) == 0; } static void open_user_data_folder_cb (GtkWidget *widget, BzAppSizeDialog *self) { gtk_widget_activate_action (GTK_WIDGET (gtk_widget_get_root (widget)), "window.open-user-data-folder", "s", bz_entry_group_get_id (self->group)); } static void delete_cache_cb (GtkWidget *widget, BzAppSizeDialog *self) { if (self->group == NULL) return; dex_future_disown (bz_entry_group_reap_user_cache (self->group)); } static void bz_app_size_dialog_class_init (BzAppSizeDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_app_size_dialog_dispose; object_class->get_property = bz_app_size_dialog_get_property; object_class->set_property = bz_app_size_dialog_set_property; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LOZENGE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-app-size-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_callback (widget_class, is_app_id); gtk_widget_class_bind_template_callback (widget_class, format_size); gtk_widget_class_bind_template_callback (widget_class, get_runtime_size_title); gtk_widget_class_bind_template_callback (widget_class, open_user_data_folder_cb); gtk_widget_class_bind_template_callback (widget_class, delete_cache_cb); } static void bz_app_size_dialog_init (BzAppSizeDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } AdwDialog * bz_app_size_dialog_new (BzEntryGroup *group) { BzAppSizeDialog *widget = NULL; AdwDialog *dialog = NULL; widget = g_object_new (BZ_TYPE_APP_SIZE_DIALOG, "group", group, NULL); dialog = adw_dialog_new (); adw_dialog_set_content_width (dialog, 600); adw_dialog_set_child (dialog, GTK_WIDGET (widget)); return dialog; } AdwNavigationPage * bz_app_size_page_new (BzEntryGroup *group) { BzAppSizeDialog *widget = NULL; AdwNavigationPage *page = NULL; widget = g_object_new (BZ_TYPE_APP_SIZE_DIALOG, "group", group, NULL); page = adw_navigation_page_new (GTK_WIDGET (widget), _ ("App Size")); adw_navigation_page_set_tag (page, "app-size"); return page; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-size-dialog.h��������������������������������������������������0000664�0000000�0000000�00000002176�15234476640�0021632�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-app-size-dialog.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_APP_SIZE_DIALOG (bz_app_size_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzAppSizeDialog, bz_app_size_dialog, BZ, APP_SIZE_DIALOG, AdwBin) AdwDialog * bz_app_size_dialog_new (BzEntryGroup *group); AdwNavigationPage * bz_app_size_page_new (BzEntryGroup *group); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-tile.blp�������������������������������������������������������0000664�0000000�0000000�00000004360�15234476640�0020703�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzAppTile: Button { styles [ "card", "app-tile", ] child: Overlay { Box { margin-start: 12; margin-end: 12; margin-top: 12; margin-bottom: 12; orientation: horizontal; spacing: 15; can-focus: false; Image { pixel-size: 64; paintable: bind try {template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable, template.icon-override}; styles ["icon-dropshadow"] } Box { valign: center; hexpand: true; orientation: vertical; spacing: 4; Box { orientation: horizontal; spacing: 6; Label { css-name: "app-tile-title"; styles [ "heading", ] xalign: 0.0; ellipsize: end; label: bind template.group as <$BzEntryGroup>.title; } Image { css-name: "app-tile-verified-check"; styles [ "verified", ] visible: bind template.group as <$BzEntryGroup>.is-verified; icon-name: "verified-checkmark-symbolic"; pixel-size: 14; accessibility { label: _("Verified"); } } } Label { css-name: "app-tile-description"; xalign: 0.0; yalign: 0.0; wrap: true; ellipsize: end; vexpand: true; lines: bind $description_line_amount($is_zero(template.group as <$BzEntryGroup>.removable) as <bool>) as <int>; single-line-mode: true; label: bind template.group as <$BzEntryGroup>.description; } Box { css-name: "app-tile-installed-pill"; halign: start; spacing: 4; visible: bind $invert_boolean($is_zero(template.group as <$BzEntryGroup>.removable) as <bool>) as <bool>; styles ["small-pill", "installed-pill"] Image { icon-name: "app-installed-symbolic"; pixel-size: 12; } Label { // Translators: As in 'The app is installed'. label: _("Installed"); } } } } }; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-tile.c���������������������������������������������������������0000664�0000000�0000000�00000021053�15234476640�0020346�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-app-tile.c * * Copyright 2025 Adam Masciola * * Layout manager adapted from GNOME Softwares GsSummaryTileLayout * * Copyright (C) 2013 Matthias Clasen <mclasen@redhat.com> * Copyright (C) 2019 Richard Hughes <richard@hughsie.com> * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-app-tile.h" #define BZ_APP_TILE_PREFERRED_WIDTH 270 #define BZ_TYPE_APP_TILE_LAYOUT (bz_app_tile_layout_get_type ()) G_DECLARE_FINAL_TYPE (BzAppTileLayout, bz_app_tile_layout, BZ, APP_TILE_LAYOUT, GtkLayoutManager) struct _BzAppTileLayout { GtkLayoutManager parent_instance; }; G_DEFINE_FINAL_TYPE (BzAppTileLayout, bz_app_tile_layout, GTK_TYPE_LAYOUT_MANAGER) static void bz_app_tile_layout_measure (GtkLayoutManager *layout_manager, GtkWidget *widget, GtkOrientation orientation, gint for_size, gint *minimum, gint *natural, gint *minimum_baseline, gint *natural_baseline) { GtkWidget *child = NULL; gint min = 0; gint nat = 0; for (child = gtk_widget_get_first_child (widget); child != NULL; child = gtk_widget_get_next_sibling (child)) { gint child_min_baseline = -1; gint child_nat_baseline = -1; gint child_min = 0; gint child_nat = 0; if (!gtk_widget_should_layout (child)) continue; gtk_widget_measure (child, orientation, for_size, &child_min, &child_nat, &child_min_baseline, &child_nat_baseline); min = MAX (min, child_min); nat = MAX (nat, child_nat); if (child_min_baseline > -1) *minimum_baseline = MAX (*minimum_baseline, child_min_baseline); if (child_nat_baseline > -1) *natural_baseline = MAX (*natural_baseline, child_nat_baseline); } *minimum = min; *natural = nat; if (orientation == GTK_ORIENTATION_HORIZONTAL) *natural = MAX (*minimum, BZ_APP_TILE_PREFERRED_WIDTH); } static void bz_app_tile_layout_allocate (GtkLayoutManager *layout_manager, GtkWidget *widget, gint width, gint height, gint baseline) { GtkWidget *child = NULL; for (child = gtk_widget_get_first_child (widget); child != NULL; child = gtk_widget_get_next_sibling (child)) { if (child && gtk_widget_should_layout (child)) gtk_widget_allocate (child, width, height, baseline, NULL); } } static void bz_app_tile_layout_class_init (BzAppTileLayoutClass *klass) { GtkLayoutManagerClass *layout_manager_class = GTK_LAYOUT_MANAGER_CLASS (klass); layout_manager_class->measure = bz_app_tile_layout_measure; layout_manager_class->allocate = bz_app_tile_layout_allocate; } static void bz_app_tile_layout_init (BzAppTileLayout *self) { } struct _BzAppTile { GtkButton parent_instance; BzEntryGroup *group; GdkPaintable *icon_override; }; G_DEFINE_FINAL_TYPE (BzAppTile, bz_app_tile, GTK_TYPE_BUTTON); enum { PROP_0, PROP_GROUP, PROP_ICON_OVERRIDE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_app_tile_dispose (GObject *object) { BzAppTile *self = BZ_APP_TILE (object); g_clear_object (&self->group); g_clear_object (&self->icon_override); G_OBJECT_CLASS (bz_app_tile_parent_class)->dispose (object); } static void bz_app_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAppTile *self = BZ_APP_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_app_tile_get_group (self)); break; case PROP_ICON_OVERRIDE: g_value_set_object (value, bz_app_tile_get_icon_override (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_app_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAppTile *self = BZ_APP_TILE (object); switch (prop_id) { case PROP_GROUP: bz_app_tile_set_group (self, g_value_get_object (value)); break; case PROP_ICON_OVERRIDE: bz_app_tile_set_icon_override (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_zero (gpointer object, int value) { return value == 0; } static gboolean description_line_amount (gpointer object, bool value) { return value ? 2 : 1; } static void bz_app_tile_class_init (BzAppTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_app_tile_set_property; object_class->get_property = bz_app_tile_get_property; object_class->dispose = bz_app_tile_dispose; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ICON_OVERRIDE] = g_param_spec_object ( "icon-override", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-app-tile.ui"); gtk_widget_class_set_layout_manager_type (widget_class, BZ_TYPE_APP_TILE_LAYOUT); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, description_line_amount); } static void bz_app_tile_init (BzAppTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_app_tile_new (void) { return g_object_new (BZ_TYPE_APP_TILE, NULL); } BzEntryGroup * bz_app_tile_get_group (BzAppTile *self) { g_return_val_if_fail (BZ_IS_APP_TILE (self), NULL); return self->group; } void bz_app_tile_set_group (BzAppTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_APP_TILE (self)); g_clear_object (&self->group); if (group != NULL) self->group = g_object_ref (group); if (group != NULL) { gtk_actionable_set_action_target (GTK_ACTIONABLE (self), "s", bz_entry_group_get_id (group)); gtk_actionable_set_action_name (GTK_ACTIONABLE (self), "window.show-group"); } else gtk_actionable_set_action_name (GTK_ACTIONABLE (self), NULL); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } GdkPaintable * bz_app_tile_get_icon_override (BzAppTile *self) { g_return_val_if_fail (BZ_IS_APP_TILE (self), NULL); return self->icon_override; } void bz_app_tile_set_icon_override (BzAppTile *self, GdkPaintable *icon_override) { g_return_if_fail (BZ_IS_APP_TILE (self)); g_clear_object (&self->icon_override); if (icon_override != NULL) self->icon_override = g_object_ref (icon_override); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_OVERRIDE]); } /* End of bz-app-tile.c */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-app-tile.h���������������������������������������������������������0000664�0000000�0000000�00000002531�15234476640�0020353�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-app-tile.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-entry-group.h" G_BEGIN_DECLS #define BZ_TYPE_APP_TILE (bz_app_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzAppTile, bz_app_tile, BZ, APP_TILE, GtkButton) GtkWidget * bz_app_tile_new (void); BzEntryGroup * bz_app_tile_get_group (BzAppTile *self); void bz_app_tile_set_group (BzAppTile *self, BzEntryGroup *group); GdkPaintable * bz_app_tile_get_icon_override (BzAppTile *self); void bz_app_tile_set_icon_override (BzAppTile *self, GdkPaintable *icon_override); G_END_DECLS /* End of bz-app-tile.h */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-application-map-factory.c������������������������������������������0000664�0000000�0000000�00000007657�15234476640�0023374�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-application-map-factory.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-application-map-factory.h" #include "util.h" struct _BzApplicationMapFactory { GObject parent_instance; GtkMapListModelMapFunc func; gpointer user_data; GDestroyNotify ref_user_data; GDestroyNotify unref_user_data; GtkFilter *filter; }; G_DEFINE_FINAL_TYPE (BzApplicationMapFactory, bz_application_map_factory, G_TYPE_OBJECT); static void bz_application_map_factory_dispose (GObject *object) { BzApplicationMapFactory *self = BZ_APPLICATION_MAP_FACTORY (object); g_clear_object (&self->filter); if (self->unref_user_data != NULL) g_clear_pointer (&self->user_data, self->unref_user_data); G_OBJECT_CLASS (bz_application_map_factory_parent_class)->dispose (object); } static void bz_application_map_factory_class_init (BzApplicationMapFactoryClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_application_map_factory_dispose; } static void bz_application_map_factory_init (BzApplicationMapFactory *self) { } BzApplicationMapFactory * bz_application_map_factory_new (GtkMapListModelMapFunc func, gpointer user_data, GDestroyNotify ref_user_data, GDestroyNotify unref_user_data, GtkFilter *filter) { BzApplicationMapFactory *self = NULL; g_return_val_if_fail (func != NULL, NULL); g_return_val_if_fail (filter == NULL || GTK_IS_FILTER (filter), NULL); self = g_object_new (BZ_TYPE_APPLICATION_MAP_FACTORY, NULL); self->func = func; self->user_data = user_data; self->ref_user_data = ref_user_data; self->unref_user_data = unref_user_data; self->filter = bz_maybe_ref (filter, g_object_ref_sink); return self; } GListModel * bz_application_map_factory_generate (BzApplicationMapFactory *self, GListModel *model) { g_autoptr (GListModel) backing = NULL; GtkMapListModel *map_model = NULL; g_return_val_if_fail (BZ_IS_APPLICATION_MAP_FACTORY (self), NULL); g_return_val_if_fail (G_IS_LIST_MODEL (model), NULL); if (self->filter != NULL) { GtkFilterListModel *filter_model = NULL; filter_model = gtk_filter_list_model_new ( g_object_ref (model), g_object_ref (self->filter)); backing = G_LIST_MODEL (filter_model); } else backing = g_object_ref (model); if (self->ref_user_data != NULL && self->unref_user_data != NULL) self->ref_user_data (self->user_data); map_model = gtk_map_list_model_new ( g_steal_pointer (&backing), self->func, self->user_data, self->ref_user_data != NULL ? self->unref_user_data : NULL); return G_LIST_MODEL (map_model); } gpointer bz_application_map_factory_convert_one (BzApplicationMapFactory *self, gpointer item) { g_return_val_if_fail (BZ_IS_APPLICATION_MAP_FACTORY (self), NULL); g_return_val_if_fail (item != NULL, NULL); return self->func (item, self->user_data); } /* End of bz-application-map-factory.c */ ���������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-application-map-factory.h������������������������������������������0000664�0000000�0000000�00000003310�15234476640�0023357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-application-map-factory.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_APPLICATION_MAP_FACTORY (bz_application_map_factory_get_type ()) G_DECLARE_FINAL_TYPE (BzApplicationMapFactory, bz_application_map_factory, BZ, APPLICATION_MAP_FACTORY, GObject) BzApplicationMapFactory * bz_application_map_factory_new (GtkMapListModelMapFunc func, gpointer user_data, GDestroyNotify ref_user_data, GDestroyNotify unref_user_data, GtkFilter *filter); GListModel * bz_application_map_factory_generate (BzApplicationMapFactory *self, GListModel *model); gpointer bz_application_map_factory_convert_one (BzApplicationMapFactory *self, gpointer item); G_END_DECLS /* End of bz-application-map-factory.h */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-application.c������������������������������������������������������0000664�0000000�0000000�00000437716�15234476640�0021157�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-application.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::CORE" #define BAZAAR_MODULE "core" #define MAX_IDS_PER_BLOCKLIST 2048 #define CACHE_ENUM_BATCH_SIZE 64 #define MIN_STARTUP_REFRESH_INTERVAL_SECONDS (3 * 60 * 60) #include "config.h" #include <glib/gi18n.h> #include <malloc.h> #include "bz-application-map-factory.h" #include "bz-application.h" #include "bz-appstream-parser.h" #include "bz-auth-state.h" #include "bz-backend-notification.h" #include "bz-bundle-install-dialog.h" #include "bz-content-provider.h" #include "bz-donations-dialog.h" #include "bz-download-worker.h" #include "bz-entry-cache-manager.h" #include "bz-entry-group.h" #include "bz-favorites-page.h" #include "bz-flathub-state.h" #include "bz-flatpak-bundle-result.h" #include "bz-flatpak-entry.h" #include "bz-flatpak-instance.h" #include "bz-hash-table-object.h" #include "bz-inspector.h" #include "bz-internal-config.h" #include "bz-login-page.h" #include "bz-malcontent-service.h" #include "bz-metainfo-preview.h" #include "bz-newline-parser.h" #include "bz-parser.h" #include "bz-preferences-dialog.h" #include "bz-result.h" #include "bz-root-blocklist.h" #include "bz-root-curated-config.h" #include "bz-serializable.h" #include "bz-state-info.h" #include "bz-transaction-manager.h" #include "bz-window.h" #include "bz-yaml-parser.h" #include "env.h" #include "error.h" #include "io.h" #include "progress-bar-designs/common.h" #include "search-index-write.h" #include "util.h" struct _BzApplication { AdwApplication parent_instance; BzApplicationMapFactory *application_factory; BzApplicationMapFactory *entry_factory; BzContentProvider *blocklists_provider; BzContentProvider *curated_provider; BzContentProvider *txt_blocklists_provider; BzEntryCacheManager *cache; BzFlathubState *flathub; BzFlathubState *tmp_flathub; BzFlatpakInstance *flatpak; BzInternalConfig *internal_config; BzMainConfig *config; BzMalcontentService *malcontent; BzNewlineParser *txt_blocklist_parser; BzSearchEngine *search_engine; BzStateInfo *state; BzTransactionManager *transactions; BzYamlParser *blocklist_parser; BzYamlParser *curated_parser; DexChannel *flatpak_notifs; DexFuture *notif_watch; DexFuture *sync; DexPromise *first_window_opened; DexPromise *ready_to_open_files; GHashTable *eol_runtimes; GHashTable *ids_to_groups; GHashTable *ignore_eol_set; GHashTable *installed_set; GHashTable *sys_name_to_addons; GHashTable *sys_ref_to_addon_group_ids; GHashTable *usr_name_to_addons; GHashTable *usr_ref_to_addon_group_ids; GListStore *groups; GListStore *installed_apps; GListStore *search_biases_backing; GNetworkMonitor *network; GPtrArray *blocklist_regexes; GPtrArray *txt_blocked_id_sets; GSettings *settings; GTimer *init_timer; GWeakRef main_window; GtkCustomFilter *appid_filter; GtkCustomFilter *group_filter; GtkFilterListModel *group_filter_model; GtkFlattenListModel *search_biases; GtkMapListModel *blocklists_to_files; GtkMapListModel *curated_configs_to_files; GtkMapListModel *txt_blocklists_to_files; GtkStringList *blocklists; GtkStringList *curated_configs; GtkStringList *txt_blocklists; gboolean flathub_remote_initialized; gboolean had_cache_on_init; gboolean running; guint periodic_timeout_source; int n_entries_incoming; int n_remotes_syncing; }; G_DEFINE_FINAL_TYPE (BzApplication, bz_application, ADW_TYPE_APPLICATION) BZ_DEFINE_DATA ( blocklist_regex, BlocklistRegex, { int priority; GRegex *block; GRegex *allow; }, BZ_RELEASE_DATA (block, g_regex_unref); BZ_RELEASE_DATA (allow, g_regex_unref)) BZ_DEFINE_DATA ( respond_to_flatpak, RespondToFlatpak, { GWeakRef *self; BzBackendNotification *notif; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (notif, g_object_unref)) BZ_DEFINE_DATA ( cache_write_back, CacheWriteBack, { GWeakRef *self; GPtrArray *notify_groups; gboolean update_filters; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (notify_groups, g_ptr_array_unref)) BZ_DEFINE_DATA ( open_flatpakref, OpenFlatpakref, { GWeakRef *self; GFile *file; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (file, g_object_unref)) BZ_DEFINE_DATA ( open_metainfo, OpenMetainfo, { GWeakRef *self; GFile *file; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (file, g_object_unref)) BZ_DEFINE_DATA ( open_appstream, OpenAppstream, { GWeakRef *self; char *id; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (id, g_free)) BZ_DEFINE_DATA ( enumerate_disk_io, EnumerateDiskIo, { BzEntryCacheManager *cache; }, BZ_RELEASE_DATA (cache, g_object_unref)) static DexFuture * init_fiber (GWeakRef *wr); static DexFuture * enumerate_disk_groups_fiber (GWeakRef *wr); static DexFuture * enumerate_disk_io_fiber (EnumerateDiskIoData *data); static DexFuture * enumerate_disk_entries_fiber (GWeakRef *wr); static DexFuture * check_for_updates_fiber (GWeakRef *wr); static DexFuture * cache_flathub_fiber (GWeakRef *wr); static DexFuture * cache_groups_fiber (GWeakRef *wr); static DexFuture * respond_to_flatpak_fiber (RespondToFlatpakData *data); static DexFuture * open_appstream_fiber (OpenAppstreamData *data); static DexFuture * open_flatpakref_fiber (OpenFlatpakrefData *data); static DexFuture * open_metainfo_fiber (OpenMetainfoData *data); static void open_metainfo_take (BzApplication *self, GFile *file); static DexFuture * backend_sync_finally (DexFuture *future, GWeakRef *wr); static DexFuture * backend_sync_save_groups_finally (DexFuture *future, GWeakRef *wr); static DexFuture * init_fiber_finally (DexFuture *future, GWeakRef *wr); static DexFuture * init_sync_finally (DexFuture *future, GWeakRef *wr); static DexFuture * flathub_update_finally (DexFuture *future, GWeakRef *wr); static DexFuture * cache_write_back_finally (DexFuture *future, CacheWriteBackData *data); static DexFuture * sync_finally (DexFuture *future, GWeakRef *wr); static DexFuture * watch_backend_notifs_then_loop_cb (DexFuture *future, GWeakRef *wr); static BzEntryGroup * ensure_group_and_add (BzApplication *self, const char *id, BzEntry *entry, BzEntry *eol_runtime, gboolean ignore_eol, gboolean installed); static void fiber_replace_entry (BzApplication *self, BzEntry *entry); static void fiber_check_for_updates (BzApplication *self); static GFile * fiber_dup_cache_file (const char *name, char **path_out, GError **error); static gboolean periodic_timeout_cb (BzApplication *self); static gboolean scheduled_timeout_cb (GWeakRef *wr); static void network_status_changed (BzApplication *self, GParamSpec *pspec, GNetworkMonitor *network); static void disable_blocklists_changed (BzApplication *self, GParamSpec *pspec, BzStateInfo *state); static void show_hide_app_setting_changed (BzApplication *self, const char *key, GSettings *settings); static gboolean window_close_request (BzApplication *self, GtkWidget *window); static void blocklists_changed (BzApplication *self, guint position, guint removed, guint added, GListModel *model); static void txt_blocklists_changed (BzApplication *self, guint position, guint removed, guint added, GListModel *model); static void init_service_struct (BzApplication *self, GtkStringList *blocklists, GtkStringList *txt_blocklists, GtkStringList *curated_configs); static GtkWindow * get_or_create_window (BzApplication *self); static GtkWindow * new_window (BzApplication *self); static void open_appstream_take (BzApplication *self, char *appstream); static void open_flatpakref_take (BzApplication *self, GFile *file); static void command_line_open_location (BzApplication *self, GApplicationCommandLine *cmdline, const char *path); static void open_generic_id (BzApplication *self, const char *generic_id); static gpointer map_strings_to_files (GtkStringObject *string, gpointer data); static gpointer map_generic_ids_to_groups (GtkStringObject *string, BzApplication *self); static gpointer map_ids_to_entries (GtkStringObject *string, BzApplication *self); static gboolean filter_application_ids (GtkStringObject *string, BzApplication *self); static gboolean filter_entry_groups (BzEntryGroup *group, BzApplication *self); static gint cmp_group (BzEntryGroup *a, BzEntryGroup *b, gpointer user_data); static gboolean validate_group_for_ui (BzApplication *self, BzEntryGroup *group); static DexFuture * make_sync_future (BzApplication *self); static void finish_with_background_task_label (BzApplication *self); static void state_info_set_icon_themes (BzStateInfo *state); static void bz_application_dispose (GObject *object) { BzApplication *self = BZ_APPLICATION (object); dex_clear (&self->first_window_opened); dex_clear (&self->flatpak_notifs); dex_clear (&self->notif_watch); dex_clear (&self->ready_to_open_files); dex_clear (&self->sync); g_clear_handle_id (&self->periodic_timeout_source, g_source_remove); g_clear_object (&self->appid_filter); g_clear_object (&self->application_factory); g_clear_object (&self->blocklist_parser); g_clear_object (&self->blocklists); g_clear_object (&self->blocklists_provider); g_clear_object (&self->blocklists_to_files); g_clear_object (&self->cache); g_clear_object (&self->curated_configs); g_clear_object (&self->curated_configs_to_files); g_clear_object (&self->curated_parser); g_clear_object (&self->curated_provider); g_clear_object (&self->entry_factory); g_clear_object (&self->flathub); g_clear_object (&self->flatpak); g_clear_object (&self->group_filter); g_clear_object (&self->group_filter_model); g_clear_object (&self->groups); g_clear_object (&self->installed_apps); g_clear_object (&self->malcontent); g_clear_object (&self->internal_config); g_clear_object (&self->network); g_clear_object (&self->search_biases); g_clear_object (&self->search_biases_backing); g_clear_object (&self->search_engine); g_clear_object (&self->settings); g_clear_object (&self->state); g_clear_object (&self->tmp_flathub); g_clear_object (&self->transactions); g_clear_object (&self->txt_blocklist_parser); g_clear_object (&self->txt_blocklists); g_clear_object (&self->txt_blocklists_provider); g_clear_object (&self->txt_blocklists_to_files); g_clear_pointer (&self->blocklist_regexes, g_ptr_array_unref); g_clear_pointer (&self->eol_runtimes, g_hash_table_unref); g_clear_pointer (&self->ids_to_groups, g_hash_table_unref); g_clear_pointer (&self->ignore_eol_set, g_hash_table_unref); g_clear_pointer (&self->init_timer, g_timer_destroy); g_clear_pointer (&self->installed_set, g_hash_table_unref); g_clear_pointer (&self->sys_name_to_addons, g_hash_table_unref); g_clear_pointer (&self->txt_blocked_id_sets, g_ptr_array_unref); g_clear_pointer (&self->usr_name_to_addons, g_hash_table_unref); g_clear_pointer (&self->sys_ref_to_addon_group_ids, g_hash_table_unref); g_clear_pointer (&self->usr_ref_to_addon_group_ids, g_hash_table_unref); g_weak_ref_clear (&self->main_window); G_OBJECT_CLASS (bz_application_parent_class)->dispose (object); } static void bz_application_activate (GApplication *app) { BzApplication *self = BZ_APPLICATION (app); new_window (self); } static int bz_application_command_line (GApplication *app, GApplicationCommandLine *cmdline) { BzApplication *self = BZ_APPLICATION (app); g_autoptr (GError) local_error = NULL; gint argc = 0; g_auto (GStrv) argv = NULL; gboolean help = FALSE; g_auto (GStrv) blocklists_strv = NULL; g_auto (GStrv) content_configs_strv = NULL; g_auto (GStrv) locations = NULL; g_autofree char *search_term = NULL; GOptionEntry main_entries[] = { { "help", 0, 0, G_OPTION_ARG_NONE, &help, "Print help" }, { "no-window", 0, 0, G_OPTION_ARG_NONE, NULL, "Ensure the service is running without creating a new window (daemon)" }, { "extra-blocklist", 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &blocklists_strv, "Add an extra blocklist to read from" }, { "extra-curated-config", 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &content_configs_strv, "Add an extra yaml file with which to configure the app browser" }, /* Here for backwards compat */ { "extra-content-config", 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &content_configs_strv, "Add an extra yaml file with which to configure the app browser (backwards compat)" }, { "search-for", 0, 0, G_OPTION_ARG_STRING, &search_term, "Open search with this term" }, { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &locations, "flatpakref file to open" }, { NULL } }; argv = g_application_command_line_get_arguments (cmdline, &argc); g_debug ("Handling gapplication command line; argc=%d, argv= \\", argc); for (guint i = 0; i < argc; i++) { g_debug (" [%d] %s", i, argv[i]); } if (argv != NULL && argc > 0) { g_autofree GStrv argv_shallow = NULL; g_autoptr (GOptionContext) context = NULL; argv_shallow = g_memdup2 (argv, sizeof (*argv) * argc); context = g_option_context_new ("- an app center for GNOME"); g_option_context_set_help_enabled (context, FALSE); g_option_context_add_main_entries (context, main_entries, NULL); if (!g_option_context_parse (context, &argc, &argv_shallow, &local_error)) { g_application_command_line_printerr (cmdline, "%s\n", local_error->message); return EXIT_FAILURE; } if (help) { g_autofree char *help_text = NULL; if (self->running) g_application_command_line_printerr (cmdline, "The Bazaar service is running.\n\n"); else g_application_command_line_printerr (cmdline, "The Bazaar service is not running.\n\n"); help_text = g_option_context_get_help (context, TRUE, NULL); g_application_command_line_printerr (cmdline, "%s\n", help_text); return EXIT_SUCCESS; } } if (!self->running) { g_autoptr (GtkStringList) blocklists = NULL; g_autoptr (GtkStringList) txt_blocklists = NULL; g_autoptr (GtkStringList) content_configs = NULL; g_autoptr (DexFuture) init = NULL; self->running = TRUE; blocklists = gtk_string_list_new (NULL); txt_blocklists = gtk_string_list_new (NULL); content_configs = gtk_string_list_new (NULL); init_service_struct (self, blocklists, txt_blocklists, content_configs); #ifdef HARDCODED_BLOCKLIST g_debug ("Bazaar was configured with a hardcoded txt blocklist at %s, adding that now...", HARDCODED_BLOCKLIST); gtk_string_list_append (txt_blocklists, HARDCODED_BLOCKLIST); #endif if (blocklists_strv != NULL) gtk_string_list_splice ( txt_blocklists, g_list_model_get_n_items (G_LIST_MODEL (txt_blocklists)), 0, (const char *const *) blocklists_strv); #ifdef HARDCODED_CONTENT_CONFIG g_debug ("Bazaar was configured with a hardcoded curated content config at %s, adding that now...", HARDCODED_CONTENT_CONFIG); gtk_string_list_append (content_configs, HARDCODED_CONTENT_CONFIG); #endif if (content_configs_strv != NULL) gtk_string_list_splice ( content_configs, g_list_model_get_n_items (G_LIST_MODEL (content_configs)), 0, (const char *const *) content_configs_strv); g_timer_start (self->init_timer); init = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) init_fiber, bz_track_weak (self), bz_weak_release); init = dex_future_finally ( init, (DexFutureCallback) init_fiber_finally, bz_track_weak (self), bz_weak_release); dex_future_disown (g_steal_pointer (&init)); } if ((locations == NULL || *locations == NULL) && search_term == NULL) new_window (self); else get_or_create_window (self); if (locations != NULL && *locations != NULL) command_line_open_location (self, cmdline, locations[0]); if (search_term != NULL) { GtkWindow *window = NULL; window = get_or_create_window (self); if (adw_application_window_get_visible_dialog (ADW_APPLICATION_WINDOW (window)) != NULL) window = new_window (self); bz_window_search (BZ_WINDOW (window), search_term); } return EXIT_SUCCESS; } static gboolean bz_application_local_command_line (GApplication *application, gchar ***arguments, int *exit_status) { return FALSE; } static void bz_application_class_init (BzApplicationClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GApplicationClass *app_class = G_APPLICATION_CLASS (klass); object_class->dispose = bz_application_dispose; app_class->activate = bz_application_activate; app_class->command_line = bz_application_command_line; app_class->local_command_line = bz_application_local_command_line; g_type_ensure (BZ_TYPE_RESULT); } static void bz_application_toggle_debug_mode_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; gboolean debug_mode = FALSE; debug_mode = bz_state_info_get_debug_mode (self->state); bz_state_info_set_debug_mode (self->state, !debug_mode); } static void bz_application_bazaar_inspector_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; BzInspector *inspector = NULL; g_assert (BZ_IS_APPLICATION (self)); inspector = bz_inspector_new (); bz_inspector_set_state (inspector, self->state); gtk_application_add_window (GTK_APPLICATION (self), GTK_WINDOW (inspector)); gtk_window_present (GTK_WINDOW (inspector)); } static void bz_application_donate_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; AdwDialog *dialog = NULL; g_assert (BZ_IS_APPLICATION (self)); window = get_or_create_window (self); dialog = bz_donations_dialog_new (); adw_dialog_present (dialog, GTK_WIDGET (window)); bz_state_info_set_donation_prompt_dismissed (self->state, TRUE); } static void bz_application_search_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; const char *initial_text = NULL; g_assert (BZ_IS_APPLICATION (self)); window = get_or_create_window (self); if (parameter != NULL) initial_text = g_variant_get_string (parameter, NULL); bz_window_search (BZ_WINDOW (window), initial_text); } static void bz_application_show_app_id_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; const char *app_id = NULL; g_assert (BZ_IS_APPLICATION (self)); window = get_or_create_window (self); if (parameter != NULL) { app_id = g_variant_get_string (parameter, NULL); bz_window_show_app_id (BZ_WINDOW (window), app_id); } } static void bz_application_sync_remotes_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; g_assert (BZ_IS_APPLICATION (self)); if (self->sync != NULL && dex_future_is_pending (self->sync)) return; dex_clear (&self->sync); self->sync = make_sync_future (self); } static void bz_application_about_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; AdwDialog *dialog = NULL; const char *developers[] = { "Adam Masciola <kolunmi@posteo.net>", "Alexander Vanhee", NULL }; const char *special_thanks[] = { "arewelibadwaitayet https://arewelibadwaitayet.com/", /* This array MUST be NULL terminated */ NULL }; g_assert (BZ_IS_APPLICATION (self)); window = gtk_application_get_active_window (GTK_APPLICATION (self)); dialog = adw_about_dialog_new (); g_object_set ( dialog, "application-name", "Bazaar", "application-icon", "io.github.kolunmi.Bazaar", "developer-name", _ ("The Bazaar Contributors"), "developers", developers, // Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 "translator-credits", _ ("translator-credits"), "version", PACKAGE_VCS_VERSION, "copyright", "© 2025-2026 The Bazaar Contributors", "license-type", GTK_LICENSE_GPL_3_0, "website", "https://usebazaar.org", "issue-url", "https://github.com/bazaar-org/bazaar/issues", NULL); adw_about_dialog_add_acknowledgement_section ( ADW_ABOUT_DIALOG (dialog), _ ("Special Thanks"), special_thanks); adw_dialog_present (dialog, GTK_WIDGET (window)); } static void bz_application_preferences_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; AdwDialog *preferences = NULL; g_assert (BZ_IS_APPLICATION (self)); window = gtk_application_get_active_window (GTK_APPLICATION (self)); preferences = bz_preferences_dialog_new (self->state); adw_dialog_present (preferences, GTK_WIDGET (window)); } static void bz_application_flathub_login_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; BzAuthState *auth_state = NULL; AdwNavigationPage *login_page = NULL; g_assert (BZ_IS_APPLICATION (self)); window = gtk_application_get_active_window (GTK_APPLICATION (self)); auth_state = bz_state_info_get_auth_state (self->state); login_page = bz_login_page_new (auth_state); bz_window_push_page (BZ_WINDOW (window), login_page); } static void bz_application_flathub_logout_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = BZ_APPLICATION (user_data); GtkWindow *window = gtk_application_get_active_window (GTK_APPLICATION (self)); BzAuthState *auth_state = bz_state_info_get_auth_state (self->state); g_assert (BZ_IS_WINDOW (window)); bz_auth_state_clear (auth_state); bz_window_add_toast ( BZ_WINDOW (window), adw_toast_new (_ ("Logged Out Successfully!"))); } static void bz_application_flathub_favorites_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; GtkWindow *window = NULL; AdwNavigationPage *favorites_page = NULL; g_assert (BZ_IS_APPLICATION (self)); window = get_or_create_window (self); favorites_page = ADW_NAVIGATION_PAGE (bz_favorites_page_new (self->state)); bz_window_push_page (BZ_WINDOW (window), favorites_page); } static void bz_application_quit_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { BzApplication *self = user_data; g_autoptr (GDBusConnection) conn = NULL; g_autoptr (GError) error = NULL; conn = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); if (conn != NULL) g_dbus_connection_call_sync ( conn, "io.github.kolunmi.Bazaar.SearchProvider", "/io/github/kolunmi/Bazaar/SearchProvider", "io.github.kolunmi.Bazaar.Daemon", "Quit", NULL, NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); if (error != NULL) g_warning ("Failed to quit daemon: %s", error->message); g_application_quit (G_APPLICATION (self)); } static const GActionEntry app_actions[] = { { "flathub-login", bz_application_flathub_login_action, NULL }, { "flathub-logout", bz_application_flathub_logout_action, NULL }, { "flathub-favorites", bz_application_flathub_favorites_action, NULL }, { "quit", bz_application_quit_action, NULL }, { "preferences", bz_application_preferences_action, NULL }, { "about", bz_application_about_action, NULL }, { "sync-remotes", bz_application_sync_remotes_action, NULL }, { "search", bz_application_search_action, "s" }, { "show-app-id", bz_application_show_app_id_action, "s" }, { "donate", bz_application_donate_action, NULL }, { "bazaar-inspector", bz_application_bazaar_inspector_action, NULL }, { "toggle-debug-mode", bz_application_toggle_debug_mode_action, NULL }, }; static void bz_application_init (BzApplication *self) { self->running = FALSE; g_weak_ref_init (&self->main_window, NULL); g_action_map_add_action_entries ( G_ACTION_MAP (self), app_actions, G_N_ELEMENTS (app_actions), self); gtk_application_set_accels_for_action ( GTK_APPLICATION (self), "app.quit", (const char *[]){ "<primary>q", NULL }); gtk_application_set_accels_for_action ( GTK_APPLICATION (self), "app.preferences", (const char *[]){ "<primary>comma", NULL }); gtk_application_set_accels_for_action ( GTK_APPLICATION (self), "app.sync-remotes", (const char *[]){ "<primary>r", NULL }); gtk_application_set_accels_for_action ( GTK_APPLICATION (self), "app.search('')", (const char *[]){ "<primary>f", NULL }); gtk_application_set_accels_for_action ( GTK_APPLICATION (self), "app.bazaar-inspector", (const char *[]){ "<primary><alt><shift>i", NULL }); gtk_application_set_accels_for_action ( GTK_APPLICATION (self), "app.toggle-debug-mode", (const char *[]){ "<primary><alt>d", NULL }); } BzStateInfo * bz_state_info_get_default (void) { GApplication *app = NULL; BzApplication *self = NULL; app = g_application_get_default (); if G_UNLIKELY (app == NULL) { static BzStateInfo *fallback_state = NULL; if (g_once_init_enter_pointer (&fallback_state)) { g_autoptr (BzStateInfo) tmp = NULL; tmp = bz_state_info_new (); // state_info_set_icon_themes (tmp); g_once_init_leave_pointer ( &fallback_state, g_steal_pointer (&tmp)); } return fallback_state; } self = (BzApplication *) app; g_assert (BZ_IS_APPLICATION (self)); return self->state; } static DexFuture * init_fiber (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; g_autofree char *root_cache_dir = NULL; g_autoptr (GFile) root_cache_dir_file = NULL; g_autoptr (GListModel) repos = NULL; gboolean has_flathub = FALSE; gboolean cache_has_flathub = FALSE; gboolean result = FALSE; g_autoptr (BzAuthState) auth_state = NULL; g_autofree char *flathub_cache = NULL; g_autoptr (GFile) flathub_cache_file = NULL; g_autofree char *cache_version_path = NULL; g_autoptr (GFile) cache_version_file = NULL; bz_weak_get_or_return_reject (self, wr); /* Here until Ubuntu fixes its apparmor crap. */ #ifdef SANDBOXED_LIBFLATPAK if (g_settings_get_boolean (self->settings, "check-for-ubuntu")) { g_autoptr (GSubprocessLauncher) os_check_launcher = NULL; g_autoptr (GSubprocess) os_check = NULL; g_autoptr (GError) os_check_error = NULL; gboolean os_check_result = FALSE; GInputStream *os_check_stdout_pipe = NULL; g_autoptr (GBytes) os_out = NULL; os_check_launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE); os_check = g_subprocess_launcher_spawn (os_check_launcher, &os_check_error, "flatpak-spawn", "--host", "cat", "/usr/lib/os-release", NULL); if (os_check != NULL) { os_check_result = dex_await (dex_subprocess_wait_check (os_check), &os_check_error); if (os_check_result) { os_check_stdout_pipe = g_subprocess_get_stdout_pipe (os_check); os_out = g_input_stream_read_bytes (os_check_stdout_pipe, 4096, NULL, &os_check_error); } else g_warning ("Ubuntu check subprocess failed: %s", os_check_error->message); } else g_warning ("Failed to spawn ubuntu check subprocess: %s", os_check_error->message); if (os_out != NULL && strstr (g_bytes_get_data (os_out, NULL), "ID=ubuntu") != NULL) { GtkWindow *window = NULL; AdwDialog *alert = NULL; g_autofree char *response = NULL; dex_await (dex_ref (DEX_FUTURE (self->first_window_opened)), NULL); window = gtk_application_get_active_window (GTK_APPLICATION (self)); if (window == NULL) window = new_window (self); alert = adw_alert_dialog_new (NULL, NULL); adw_alert_dialog_format_heading (ADW_ALERT_DIALOG (alert), _ ("Ubuntu Troubles!")); adw_alert_dialog_format_body_markup ( ADW_ALERT_DIALOG (alert), _ ("Ubuntu 25.10 and newer have messed up default security rules, " "making it <b>impossible to install apps</b> from the Flatpak version " "of Bazaar, please just use the normal package for now by using\n\n" "<tt>sudo apt install bazaar</tt>\n\n" "You can then remove this Flatpak version with\n\n" "<tt>flatpak uninstall io.github.kolunmi.Bazaar</tt>")); adw_alert_dialog_add_response (ADW_ALERT_DIALOG (alert), "ok", _ ("Continue Anyway")); adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (alert), "ok"); adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (alert), "ok"); adw_dialog_present (alert, GTK_WIDGET (window)); response = dex_await_string (bz_make_alert_dialog_future (ADW_ALERT_DIALOG (alert)), NULL); g_settings_set_boolean (self->settings, "check-for-ubuntu", FALSE); } else g_settings_set_boolean (self->settings, "check-for-ubuntu", FALSE); } #endif bz_state_info_set_online (self->state, TRUE); bz_state_info_set_busy (self->state, TRUE); bz_state_info_set_background_task_label (self->state, _ ("Performing setup…")); root_cache_dir = bz_dup_root_cache_dir (); root_cache_dir_file = g_file_new_for_path (root_cache_dir); cache_version_path = g_build_filename (root_cache_dir, "cache-version", NULL); cache_version_file = g_file_new_for_path (cache_version_path); if (dex_await (dex_file_query_exists (root_cache_dir_file), NULL)) { gboolean wipe_cache = TRUE; if (dex_await (dex_file_query_exists (cache_version_file), NULL)) { g_autoptr (GBytes) bytes = NULL; bytes = dex_await_boxed (dex_file_load_contents_bytes (cache_version_file), NULL); if (bytes != NULL) { g_autoptr (GVariant) variant = NULL; variant = g_variant_new_from_bytes (G_VARIANT_TYPE_STRING, bytes, FALSE); if (variant != NULL) { const char *version = NULL; version = g_variant_get_string (variant, NULL); wipe_cache = g_strcmp0 (version, CACHE_VERSION) != 0; } } } if (wipe_cache) { bz_state_info_set_donation_prompt_dismissed (self->state, FALSE); g_settings_set_int64 (self->settings, "last-refresh-time", 0); g_info ("Version incompatibility detected: clearing cache"); dex_await (bz_reap_file_dex (root_cache_dir_file), NULL); } } else bz_state_info_set_donation_prompt_dismissed (self->state, TRUE); { g_autoptr (GError) mkdir_error = NULL; dex_await (dex_file_make_directory_with_parents (root_cache_dir_file), &mkdir_error); if (mkdir_error == NULL || mkdir_error->code == G_IO_ERROR_EXISTS) { g_autoptr (GVariant) variant = NULL; g_autoptr (GBytes) bytes = NULL; variant = g_variant_new_string (CACHE_VERSION); bytes = g_variant_get_data_as_bytes (variant); dex_await (dex_file_replace_contents_bytes ( cache_version_file, bytes, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION), NULL); } else g_warning ("Unable to ensure cache directory: %s", mkdir_error->message); } g_clear_object (&self->flatpak); self->flatpak = dex_await_object (bz_flatpak_instance_new (), &local_error); if (self->flatpak == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); bz_transaction_manager_set_backend (self->transactions, BZ_BACKEND (self->flatpak)); bz_state_info_set_backend (self->state, BZ_BACKEND (self->flatpak)); has_flathub = dex_await_boolean ( bz_flatpak_instance_has_flathub (self->flatpak, NULL), &local_error); if (local_error != NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); if (!has_flathub) { GtkWindow *window = NULL; g_autofree char *response = NULL; AdwDialog *alert = NULL; dex_await (dex_ref (DEX_FUTURE (self->first_window_opened)), NULL); window = gtk_application_get_active_window (GTK_APPLICATION (self)); if (window == NULL) window = new_window (self); alert = adw_alert_dialog_new (NULL, NULL); #ifdef SANDBOXED_LIBFLATPAK adw_alert_dialog_format_heading ( ADW_ALERT_DIALOG (alert), _ ("Set Up System Flathub?")); adw_alert_dialog_format_body ( ADW_ALERT_DIALOG (alert), _ ("The system Flathub remote is not set up. Bazaar requires " "Flathub to be configured on the system Flatpak installation " "to browse and install applications.\n\n" "You can still use Bazaar to browse and remove already installed apps.")); #else adw_alert_dialog_format_heading ( ADW_ALERT_DIALOG (alert), _ ("Set Up Flathub?")); adw_alert_dialog_format_body ( ADW_ALERT_DIALOG (alert), _ ("Flathub is not set up on this system. " "You will not be able to browse and install applications in Bazaar if its unavailable.\n\n" "You can still use Bazaar to browse and remove already installed apps.")); #endif adw_alert_dialog_add_responses ( ADW_ALERT_DIALOG (alert), "later", _ ("Later"), "add", _ ("Set Up Flathub"), NULL); adw_alert_dialog_set_response_appearance ( ADW_ALERT_DIALOG (alert), "add", ADW_RESPONSE_SUGGESTED); adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (alert), "add"); adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (alert), "later"); adw_dialog_present (alert, GTK_WIDGET (window)); response = dex_await_string ( bz_make_alert_dialog_future (ADW_ALERT_DIALOG (alert)), NULL); if (response != NULL && g_strcmp0 (response, "add") == 0) { result = dex_await ( bz_flatpak_instance_ensure_has_flathub (self->flatpak, NULL), &local_error); if (result) has_flathub = TRUE; else { g_warning ("Failed to install flathub: %s", local_error->message); g_clear_error (&local_error); } } } bz_state_info_set_has_flathub (self->state, has_flathub); self->installed_set = dex_await_boxed ( bz_backend_retrieve_install_ids ( BZ_BACKEND (self->flatpak), NULL), &local_error); if (self->installed_set == NULL) { g_warning ("Unable to enumerate installed entries from flatpak backend; " "no entries will appear to be installed: %s", local_error->message); g_clear_error (&local_error); self->installed_set = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, g_free); } repos = dex_await_object ( bz_backend_list_repositories (BZ_BACKEND (self->flatpak), NULL), &local_error); if (repos != NULL) bz_state_info_set_repositories (self->state, repos); else { g_warning ("Failed to enumerate repositories: %s", local_error->message); g_clear_error (&local_error); } /* Revive old cache from previous Bazaar process */ cache_has_flathub = dex_await_boolean ( dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) enumerate_disk_groups_fiber, bz_track_weak (self), bz_weak_release), NULL); self->had_cache_on_init = g_list_model_get_n_items (G_LIST_MODEL (self->groups)) > 0; flathub_cache_file = fiber_dup_cache_file ("flathub-cache", &flathub_cache, &local_error); if (flathub_cache_file != NULL) { if (dex_await (dex_file_query_exists (flathub_cache_file), NULL)) { g_autoptr (GBytes) bytes = NULL; bytes = dex_await_boxed ( dex_file_load_contents_bytes (flathub_cache_file), &local_error); if (bytes != NULL) { g_autoptr (GVariant) variant = NULL; g_autoptr (BzFlathubState) flathub = NULL; variant = g_variant_new_from_bytes (G_VARIANT_TYPE_VARDICT, bytes, FALSE); if (variant == NULL) { g_warning ("Failed to interpret cached flathub state from %s: %s", flathub_cache, local_error->message); g_clear_error (&local_error); } flathub = bz_flathub_state_new (); result = bz_serializable_deserialize ( BZ_SERIALIZABLE (flathub), variant, &local_error); if (result) { self->flathub = g_steal_pointer (&flathub); bz_flathub_state_set_map_factory (self->flathub, self->application_factory); bz_state_info_set_flathub (self->state, self->flathub); if (cache_has_flathub) { dex_promise_resolve_boolean (self->ready_to_open_files, TRUE); bz_state_info_set_busy (self->state, FALSE); } } else { g_warning ("Failed to deserialize cached flathub state from %s: %s", flathub_cache, local_error->message); g_clear_error (&local_error); } } else { g_warning ("Failed to decache cache flathub state from %s: %s", flathub_cache, local_error->message); g_clear_error (&local_error); } } } else { g_warning ("Unable to ensure cache directory: %s", local_error->message); g_clear_error (&local_error); } auth_state = bz_auth_state_new (); bz_state_info_set_auth_state (self->state, auth_state); return dex_future_new_true (); } static DexFuture * enumerate_disk_groups_fiber (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; g_autofree char *groups_cache = NULL; g_autoptr (GFile) groups_cache_file = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (GVariantIter) iter = NULL; gboolean has_flathub_group = FALSE; bz_weak_get_or_return_reject (self, wr); groups_cache_file = fiber_dup_cache_file ("groups-cache", &groups_cache, &local_error); if (groups_cache_file == NULL) { g_warning ("Unable to ensure groups cache directory: %s", local_error->message); return dex_future_new_for_boolean (FALSE); } if (!dex_await (dex_file_query_exists (groups_cache_file), NULL)) return dex_future_new_for_boolean (FALSE); bytes = dex_await_boxed ( dex_file_load_contents_bytes (groups_cache_file), &local_error); if (bytes == NULL) { g_warning ("Failed to load groups cache from %s: %s", groups_cache, local_error->message); return dex_future_new_for_boolean (FALSE); } variant = g_variant_new_from_bytes (G_VARIANT_TYPE ("aa{sv}"), bytes, FALSE); if (variant == NULL) { g_warning ("Failed to parse groups cache from %s", groups_cache); return dex_future_new_for_boolean (FALSE); } iter = g_variant_iter_new (variant); for (;;) { g_autoptr (GVariant) group_variant = NULL; g_autoptr (BzEntryGroup) group = NULL; group_variant = g_variant_iter_next_value (iter); if (group_variant == NULL) break; group = bz_entry_group_new (self->entry_factory); if (bz_entry_group_deserialize (group, group_variant)) { const char *id = NULL; gboolean is_installed = FALSE; is_installed = bz_entry_group_reconcile_with_installed_set (group, self->installed_set); if (!has_flathub_group && bz_entry_group_get_is_flathub (group)) has_flathub_group = TRUE; g_list_store_append (self->groups, group); id = bz_entry_group_get_id (group); if (id != NULL) g_hash_table_replace ( self->ids_to_groups, g_strdup (id), g_object_ref (group)); if (is_installed) g_list_store_insert_sorted ( self->installed_apps, group, (GCompareDataFunc) cmp_group, NULL); } } gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_LESS_STRICT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_LESS_STRICT); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) check_for_updates_fiber, bz_track_weak (self), bz_weak_release)); return dex_future_new_for_boolean (has_flathub_group); } static DexFuture * enumerate_disk_io_fiber (EnumerateDiskIoData *data) { g_autoptr (GError) local_error = NULL; g_autoptr (GHashTable) cached_set = NULL; g_autoptr (GPtrArray) entries = NULL; GHashTableIter iter = { 0 }; cached_set = dex_await_boxed ( bz_entry_cache_manager_enumerate_disk (data->cache), &local_error); if (cached_set == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); entries = g_ptr_array_new_with_free_func (g_object_unref); g_hash_table_iter_init (&iter, cached_set); for (;;) { g_autoptr (GPtrArray) batch = NULL; char *checksum = NULL; batch = g_ptr_array_new_with_free_func (dex_unref); while (batch->len < CACHE_ENUM_BATCH_SIZE && g_hash_table_iter_next (&iter, (gpointer *) &checksum, NULL)) g_ptr_array_add ( batch, bz_entry_cache_manager_get_by_checksum ( data->cache, checksum)); if (batch->len > 0) dex_await (dex_future_allv ( (DexFuture *const *) batch->pdata, batch->len), NULL); for (guint i = 0; i < batch->len; i++) { DexFuture *future = NULL; const GValue *value = NULL; future = g_ptr_array_index (batch, i); value = dex_future_get_value (future, &local_error); if (value != NULL) g_ptr_array_add (entries, g_value_dup_object (value)); else { g_warning ("Unable to retrieve cached entry: %s", local_error->message); g_clear_error (&local_error); } } if (batch->len < CACHE_ENUM_BATCH_SIZE) break; } return dex_future_new_take_boxed (G_TYPE_PTR_ARRAY, g_steal_pointer (&entries)); } static DexFuture * enumerate_disk_entries_fiber (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) entries = NULL; g_autoptr (EnumerateDiskIoData) io_data = NULL; gboolean has_flathub_entry = FALSE; bz_weak_get_or_return_reject (self, wr); io_data = enumerate_disk_io_data_new (); io_data->cache = g_object_ref (self->cache); entries = dex_await_boxed ( dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) enumerate_disk_io_fiber, enumerate_disk_io_data_ref (io_data), enumerate_disk_io_data_unref), &local_error); if (entries == NULL) { g_warning ("Unable to enumerate cached entries: %s", local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } for (guint i = 0; i < entries->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (entries, i); if (BZ_IS_FLATPAK_ENTRY (entry) && bz_flatpak_entry_get_bundle_path (BZ_FLATPAK_ENTRY (entry)) != NULL) /* refrain from restoring bundle entries */ continue; if (!has_flathub_entry && BZ_IS_FLATPAK_ENTRY (entry) && g_strcmp0 (bz_entry_get_remote_repo_name (entry), "flathub") == 0) has_flathub_entry = TRUE; fiber_replace_entry (self, entry); } gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_LESS_STRICT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_LESS_STRICT); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) check_for_updates_fiber, bz_track_weak (self), bz_weak_release)); return dex_future_new_for_boolean (has_flathub_entry); } static DexFuture * check_for_updates_fiber (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; bz_weak_get_or_return_reject (self, wr); fiber_check_for_updates (self); finish_with_background_task_label (self); return dex_future_new_true (); } static DexFuture * cache_flathub_fiber (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *flathub_cache = NULL; g_autoptr (GFile) flathub_cache_file = NULL; bz_weak_get_or_return_reject (self, wr); flathub_cache_file = fiber_dup_cache_file ("flathub-cache", &flathub_cache, &local_error); if (flathub_cache_file != NULL) { g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (GBytes) bytes = NULL; builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT); bz_serializable_serialize (BZ_SERIALIZABLE (self->flathub), builder); variant = g_variant_builder_end (builder); bytes = g_variant_get_data_as_bytes (variant); result = dex_await ( dex_file_replace_contents_bytes ( flathub_cache_file, bytes, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION), &local_error); if (!result) { g_warning ("Failed to cache flathub state to %s: %s", flathub_cache, local_error->message); g_clear_error (&local_error); } } else { g_warning ("Unable to ensure cache directory: %s", local_error->message); g_clear_error (&local_error); } return dex_future_new_true (); } static DexFuture * cache_groups_fiber (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *groups_cache = NULL; g_autoptr (GFile) groups_cache_file = NULL; g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (GBytes) bytes = NULL; guint n_groups = 0; g_autoptr (GError) index_error = NULL; g_autofree char *module_dir = NULL; g_autofree char *index_path = NULL; bz_weak_get_or_return_reject (self, wr); groups_cache_file = fiber_dup_cache_file ("groups-cache", &groups_cache, &local_error); if (groups_cache_file == NULL) { g_warning ("Unable to ensure groups cache directory: %s", local_error->message); return dex_future_new_true (); } builder = g_variant_builder_new (G_VARIANT_TYPE ("aa{sv}")); n_groups = g_list_model_get_n_items (G_LIST_MODEL (self->groups)); for (guint i = 0; i < n_groups; i++) { g_autoptr (BzEntryGroup) group = NULL; g_autoptr (GVariantBuilder) gb = NULL; group = g_list_model_get_item (G_LIST_MODEL (self->groups), i); gb = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}")); bz_entry_group_serialize (group, gb); g_variant_builder_add (builder, "@a{sv}", g_variant_builder_end (gb)); } variant = g_variant_builder_end (builder); bytes = g_variant_get_data_as_bytes (variant); result = dex_await ( dex_file_replace_contents_bytes ( groups_cache_file, bytes, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION), &local_error); if (!result) g_warning ("Failed to cache groups to %s: %s", groups_cache, local_error->message); module_dir = bz_dup_module_dir (); index_path = g_build_filename (module_dir, "search-index", NULL); if (!bz_write_search_index (G_LIST_MODEL (self->groups), index_path, &index_error)) g_warning ("Failed to write search index to %s: %s", index_path, index_error->message); return dex_future_new_true (); } static DexFuture * respond_to_flatpak_fiber (RespondToFlatpakData *data) { g_autoptr (BzApplication) self = NULL; BzBackendNotification *notif = data->notif; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) build_futures = NULL; g_autoptr (GPtrArray) build_notify_groups = NULL; g_autoptr (DexFuture) read_future = NULL; g_autoptr (DexFuture) reread_timeout = NULL; gboolean update_labels = FALSE; gboolean update_filters = FALSE; bz_weak_get_or_return_reject (self, data->self); build_futures = g_ptr_array_new_with_free_func (dex_unref); build_notify_groups = g_ptr_array_new_with_free_func (g_object_unref); read_future = dex_future_new_for_object (notif); /* `reread_timeout` defines how long we are allowed to spend adding to `build-futures` before we update the UI later */ reread_timeout = dex_timeout_new_msec (100); for (;;) { BzBackendNotificationKind kind = 0; if (!dex_future_is_resolved (read_future)) { g_autoptr (DexFuture) future = NULL; future = dex_future_all_race ( dex_ref (reread_timeout), dex_ref (read_future), NULL); dex_await (g_steal_pointer (&future), NULL); if (!dex_future_is_pending (reread_timeout)) break; } notif = g_value_get_object (dex_future_get_value (read_future, NULL)); kind = bz_backend_notification_get_kind (notif); switch (kind) { case BZ_BACKEND_NOTIFICATION_KIND_PRESENT_ID: { const char *id = NULL; id = bz_backend_notification_get_generic_id (notif); if (id == NULL) break; open_generic_id (self, id); } break; case BZ_BACKEND_NOTIFICATION_KIND_ERROR: { const char *error = NULL; GtkWindow *window = NULL; error = bz_backend_notification_get_error (notif); if (error == NULL) break; g_warning ("Received an error from the flatpak backend: %s", error); window = gtk_application_get_active_window (GTK_APPLICATION (self)); if (window != NULL) bz_show_error_for_widget (GTK_WIDGET (window), _ ("A backend error occurred"), error); } break; case BZ_BACKEND_NOTIFICATION_KIND_TELL_INCOMING: { int n_incoming = 0; n_incoming = bz_backend_notification_get_n_incoming (notif); self->n_entries_incoming += n_incoming; update_labels = TRUE; } break; case BZ_BACKEND_NOTIFICATION_KIND_REPLACE_ENTRY: { BzEntry *entry = NULL; entry = bz_backend_notification_get_entry (notif); fiber_replace_entry (self, entry); g_ptr_array_add (build_futures, bz_entry_cache_manager_add (self->cache, entry)); if (bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_APPLICATION)) { const char *id = NULL; BzEntryGroup *group = NULL; update_filters = TRUE; id = bz_entry_get_id (entry); group = g_hash_table_lookup (self->ids_to_groups, id); if (group != NULL) g_ptr_array_add (build_notify_groups, g_object_ref (group)); } self->n_entries_incoming--; update_labels = TRUE; } break; case BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_START: { const char *remote_name = NULL; remote_name = bz_backend_notification_get_remote_name (notif); if (bz_state_info_get_has_flathub (self->state)) /* We only count instances of the "flathub" remote if we have flathub, since that's all we care about for the UI */ { if (g_strcmp0 (remote_name, "flathub") == 0) self->n_remotes_syncing++; } else self->n_remotes_syncing++; g_debug ("remote '%s' has begun synchronization; " "now currently syncing %u remote(s)", remote_name, self->n_remotes_syncing); } break; case BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_FINISH: { const char *remote_name = NULL; remote_name = bz_backend_notification_get_remote_name (notif); if (bz_state_info_get_has_flathub (self->state)) { if (g_strcmp0 (remote_name, "flathub") == 0) { self->n_remotes_syncing--; if (self->n_remotes_syncing == 0) self->flathub_remote_initialized = TRUE; } } else { self->n_remotes_syncing--; if (self->n_remotes_syncing == 0) bz_state_info_set_busy (self->state, FALSE); } g_debug ("remote '%s' has finished synchronization; " "now currently syncing %u remote(s)", remote_name, self->n_remotes_syncing); } break; case BZ_BACKEND_NOTIFICATION_KIND_INSTALL_DONE: case BZ_BACKEND_NOTIFICATION_KIND_UPDATE_DONE: case BZ_BACKEND_NOTIFICATION_KIND_REMOVE_DONE: { const char *unique_id = NULL; g_autoptr (BzEntry) entry = NULL; unique_id = bz_backend_notification_get_unique_id (notif); entry = dex_await_object ( bz_entry_cache_manager_get (self->cache, unique_id), &local_error); if (entry == NULL) { g_warning ("Backend notification references an entry " "which couldn't be decached: %s", local_error->message); break; } switch (kind) { case BZ_BACKEND_NOTIFICATION_KIND_INSTALL_DONE: { const char *version = NULL; version = bz_backend_notification_get_version (notif); g_hash_table_replace (self->installed_set, g_strdup (unique_id), g_strdup (version)); bz_entry_set_installed_version (entry, version); bz_entry_set_installed (entry, TRUE); if (bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_APPLICATION)) { BzEntryGroup *group = NULL; group = g_hash_table_lookup (self->ids_to_groups, bz_entry_get_id (entry)); if (group != NULL) { gboolean found = FALSE; guint position = 0; found = g_list_store_find (self->installed_apps, group, &position); if (!found) g_list_store_insert_sorted (self->installed_apps, group, (GCompareDataFunc) cmp_group, NULL); } } } break; case BZ_BACKEND_NOTIFICATION_KIND_UPDATE_DONE: case BZ_BACKEND_NOTIFICATION_KIND_REMOVE_DONE: { gboolean was_rebased = FALSE; was_rebased = bz_backend_notification_get_was_rebased (notif); if (kind == BZ_BACKEND_NOTIFICATION_KIND_UPDATE_DONE) { const char *version = NULL; version = bz_backend_notification_get_version (notif); g_hash_table_replace (self->installed_set, g_strdup (unique_id), g_strdup (version)); } if (kind == BZ_BACKEND_NOTIFICATION_KIND_REMOVE_DONE || was_rebased) { bz_entry_set_installed_version (entry, NULL); bz_entry_set_installed (entry, FALSE); g_hash_table_remove (self->installed_set, unique_id); if (bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_APPLICATION)) { BzEntryGroup *group = NULL; group = g_hash_table_lookup (self->ids_to_groups, bz_entry_get_id (entry)); if (group != NULL && (was_rebased || !bz_entry_group_get_removable (group))) { gboolean found = FALSE; guint position = 0; found = g_list_store_find (self->installed_apps, group, &position); if (found) g_list_store_remove (self->installed_apps, position); } } } } break; case BZ_BACKEND_NOTIFICATION_KIND_ERROR: case BZ_BACKEND_NOTIFICATION_KIND_EXTERNAL_CHANGE: case BZ_BACKEND_NOTIFICATION_KIND_INVALIDATE_REMOTES: case BZ_BACKEND_NOTIFICATION_KIND_PRESENT_ID: case BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_FINISH: case BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_START: case BZ_BACKEND_NOTIFICATION_KIND_REPLACE_ENTRY: case BZ_BACKEND_NOTIFICATION_KIND_TELL_INCOMING: default: g_assert_not_reached (); }; g_ptr_array_add (build_futures, bz_entry_cache_manager_add (self->cache, entry)); if (bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_APPLICATION)) { const char *id = NULL; BzEntryGroup *group = NULL; id = bz_entry_get_id (entry); group = g_hash_table_lookup (self->ids_to_groups, id); if (group != NULL) g_ptr_array_add (build_notify_groups, g_object_ref (group)); } } break; case BZ_BACKEND_NOTIFICATION_KIND_INVALIDATE_REMOTES: case BZ_BACKEND_NOTIFICATION_KIND_EXTERNAL_CHANGE: { g_autoptr (GListModel) repos = NULL; g_autoptr (GHashTable) installed_set = NULL; g_autoptr (GPtrArray) diff_reads = NULL; GHashTableIter old_iter = { 0 }; GHashTableIter new_iter = { 0 }; g_autoptr (GPtrArray) diff_writes = NULL; bz_state_info_set_background_task_label (self->state, _ ("Refreshing…")); repos = dex_await_object ( bz_backend_list_repositories (BZ_BACKEND (self->flatpak), NULL), &local_error); if (repos != NULL) bz_state_info_set_repositories (self->state, repos); else { g_warning ("Failed to enumerate repositories: %s", local_error->message); g_clear_error (&local_error); } installed_set = dex_await_boxed ( bz_backend_retrieve_install_ids ( BZ_BACKEND (self->flatpak), NULL), &local_error); if (installed_set == NULL) { g_warning ("Failed to enumerate installed entries: %s", local_error->message); finish_with_background_task_label (self); break; } diff_reads = g_ptr_array_new_with_free_func (dex_unref); g_hash_table_iter_init (&old_iter, self->installed_set); for (;;) { char *unique_id = NULL; if (!g_hash_table_iter_next ( &old_iter, (gpointer *) &unique_id, NULL)) break; if (!g_hash_table_contains (installed_set, unique_id)) g_ptr_array_add ( diff_reads, bz_entry_cache_manager_get (self->cache, unique_id)); } g_hash_table_iter_init (&new_iter, installed_set); for (;;) { char *unique_id = NULL; if (!g_hash_table_iter_next ( &new_iter, (gpointer *) &unique_id, NULL)) break; if (!g_hash_table_contains (self->installed_set, unique_id)) g_ptr_array_add ( diff_reads, bz_entry_cache_manager_get (self->cache, unique_id)); } if (diff_reads->len > 0) { dex_await (dex_future_allv ( (DexFuture *const *) diff_reads->pdata, diff_reads->len), NULL); diff_writes = g_ptr_array_new_with_free_func (dex_unref); for (guint i = 0; i < diff_reads->len; i++) { DexFuture *future = NULL; future = g_ptr_array_index (diff_reads, i); if (dex_future_is_resolved (future)) { BzEntry *entry = NULL; const char *id = NULL; const char *unique_id = NULL; BzEntryGroup *group = NULL; gboolean installed = FALSE; const char *version = NULL; entry = g_value_get_object (dex_future_get_value (future, NULL)); id = bz_entry_get_id (entry); group = g_hash_table_lookup (self->ids_to_groups, id); if (group != NULL) bz_entry_group_connect_living (group, entry); unique_id = bz_entry_get_unique_id (entry); installed = g_hash_table_contains (installed_set, unique_id); version = g_hash_table_lookup (installed_set, unique_id); if (installed && version != NULL && *version != '\0') bz_entry_set_installed_version (entry, version); bz_entry_set_installed (entry, installed); if (group != NULL) { gboolean found = FALSE; guint position = 0; found = g_list_store_find (self->installed_apps, group, &position); if (installed && !found) g_list_store_insert_sorted ( self->installed_apps, group, (GCompareDataFunc) cmp_group, NULL); else if (!installed && found && bz_entry_group_get_removable (group) == 0) g_list_store_remove (self->installed_apps, position); } g_ptr_array_add ( diff_writes, bz_entry_cache_manager_add (self->cache, entry)); } } dex_await (dex_future_allv ( (DexFuture *const *) diff_writes->pdata, diff_writes->len), NULL); } g_clear_pointer (&self->installed_set, g_hash_table_unref); self->installed_set = g_steal_pointer (&installed_set); fiber_check_for_updates (self); finish_with_background_task_label (self); } break; default: g_assert_not_reached (); } dex_clear (&read_future); read_future = dex_channel_receive (self->flatpak_notifs); if (!dex_future_is_pending (reread_timeout)) break; } if (build_futures->len > 0) { g_autoptr (DexFuture) future = NULL; g_autoptr (CacheWriteBackData) write_back_data = NULL; future = dex_future_allv ( (DexFuture *const *) build_futures->pdata, build_futures->len); write_back_data = cache_write_back_data_new (); write_back_data->self = bz_track_weak (self); write_back_data->notify_groups = g_ptr_array_ref (build_notify_groups); write_back_data->update_filters = update_filters; future = dex_future_finally ( future, (DexFutureCallback) cache_write_back_finally, cache_write_back_data_ref (write_back_data), cache_write_back_data_unref); dex_future_disown (g_steal_pointer (&future)); } if (update_labels) { if (self->n_entries_incoming > 0) bz_state_info_set_background_task_label_take_printf ( self->state, _ ("Loading %d apps…"), self->n_entries_incoming); else { fiber_check_for_updates (self); finish_with_background_task_label (self); } } if (self->n_entries_incoming == 0 && self->flathub_remote_initialized) { bz_state_info_set_busy (self->state, FALSE); finish_with_background_task_label (self); } return g_steal_pointer (&read_future); } static DexFuture * open_appstream_fiber (OpenAppstreamData *data) { g_autoptr (BzApplication) self = NULL; char *id = data->id; bz_weak_get_or_return_reject (self, data->self); dex_await (dex_ref (self->ready_to_open_files), NULL); open_generic_id (self, id); return dex_future_new_true (); } static DexFuture * open_flatpakref_fiber (OpenFlatpakrefData *data) { g_autoptr (BzApplication) self = NULL; GFile *file = data->file; g_autoptr (GError) local_error = NULL; g_autoptr (DexFuture) future = NULL; const GValue *value = NULL; bz_weak_get_or_return_reject (self, data->self); dex_await (dex_ref (self->ready_to_open_files), NULL); future = bz_backend_load_local_package (BZ_BACKEND (self->flatpak), file, NULL); dex_await (dex_ref (future), NULL); value = dex_future_get_value (future, &local_error); if (value == NULL) { GtkWindow *window = get_or_create_window (self); bz_show_error_for_widget ( GTK_WIDGET (window), _ ("Failed to open file"), local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } if (G_VALUE_HOLDS_OBJECT (value)) { GtkWindow *window = NULL; BzEntry *entry = NULL; BzFlatpakRepo *repo = NULL; BzBundleInstallDialog *dialog = NULL; BzFlatpakBundleResult *bundle_result = NULL; const char *id = NULL; window = get_or_create_window (self); if (adw_application_window_get_visible_dialog (ADW_APPLICATION_WINDOW (window)) != NULL) window = new_window (self); bundle_result = BZ_FLATPAK_BUNDLE_RESULT (g_value_get_object (value)); entry = BZ_ENTRY (bz_flatpak_bundle_result_get_entry (bundle_result)); repo = bz_flatpak_bundle_result_get_runtime_repo (bundle_result); id = bz_entry_get_id (entry); if (id != NULL) { BzEntryGroup *group = NULL; group = g_hash_table_lookup (self->ids_to_groups, id); if (group != NULL && bz_entry_group_get_removable (group) > 0) bz_entry_set_installed (entry, TRUE); } dialog = g_object_new ( BZ_TYPE_BUNDLE_INSTALL_DIALOG, "state", self->state, "entry", entry, "runtime-repo", repo, NULL); adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (window)); } return dex_future_new_true (); } static DexFuture * open_metainfo_fiber (OpenMetainfoData *data) { g_autoptr (BzApplication) self = NULL; GFile *file = data->file; g_autoptr (GError) local_error = NULL; g_autoptr (DexFuture) pick_future = NULL; const GValue *value = NULL; BzMetainfoPickResult *result = NULL; g_autoptr (BzEntry) entry = NULL; GtkWindow *window = NULL; bz_weak_get_or_return_reject (self, data->self); dex_await (dex_ref (self->ready_to_open_files), NULL); window = get_or_create_window (self); if (adw_application_window_get_visible_dialog (ADW_APPLICATION_WINDOW (window)) != NULL) window = new_window (self); pick_future = bz_metainfo_preview_open_file (file, window); dex_await (dex_ref (pick_future), NULL); value = dex_future_get_value (pick_future, &local_error); if (value == NULL) { bz_show_error_for_widget ( GTK_WIDGET (window), _ ("Failed to open file"), local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } result = g_value_get_boxed (value); entry = bz_appstream_parser_entry_from_metainfo ( result->metainfo_file, result->icon_file, &local_error); if (entry == NULL) { bz_show_error_for_widget ( GTK_WIDGET (window), _ ("Failed to load metainfo"), local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } g_object_set (entry, "id", "preview", NULL); bz_window_show_entry (BZ_WINDOW (window), entry); return dex_future_new_true (); } static DexFuture * init_fiber_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; const GValue *value = NULL; gint64 last_refresh = 0; gint64 now = 0; gint64 seconds_since_refresh = 0; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, &local_error); if (value != NULL) { self->flatpak_notifs = bz_backend_create_notification_channel ( BZ_BACKEND (self->flatpak)); self->notif_watch = dex_future_then_loop ( dex_channel_receive (self->flatpak_notifs), (DexFutureCallback) watch_backend_notifs_then_loop_cb, bz_track_weak (self), bz_weak_release); last_refresh = g_settings_get_int64 (self->settings, "last-refresh-time"); now = g_get_real_time () / G_USEC_PER_SEC; seconds_since_refresh = now - last_refresh; if ((!bz_state_info_get_metered_connection (self->state) || !self->had_cache_on_init) && seconds_since_refresh >= MIN_STARTUP_REFRESH_INTERVAL_SECONDS) { g_autoptr (DexFuture) sync_future = NULL; sync_future = make_sync_future (self); sync_future = dex_future_finally ( sync_future, (DexFutureCallback) init_sync_finally, bz_track_weak (self), bz_weak_release); self->sync = g_steal_pointer (&sync_future); } else { bz_state_info_set_allow_manual_sync (self->state, TRUE); bz_state_info_set_busy (self->state, FALSE); bz_state_info_set_syncing (self->state, FALSE); dex_promise_resolve_boolean (self->ready_to_open_files, TRUE); // Only check for updates if we skipped a full sync. dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) check_for_updates_fiber, bz_track_weak (self), bz_weak_release)); } self->periodic_timeout_source = g_timeout_add_seconds ( /* Check every day */ 60 * 60 * 24, (GSourceFunc) periodic_timeout_cb, self); bz_malcontent_service_start (self->malcontent); g_object_bind_property ( bz_state_info_get_auth_state (self->state), "authenticated", g_action_map_lookup_action (G_ACTION_MAP (self), "flathub-login"), "enabled", G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN); } else { GtkWindow *window = NULL; bz_state_info_set_online (self->state, FALSE); bz_state_info_set_busy (self->state, FALSE); window = gtk_application_get_active_window (GTK_APPLICATION (self)); if (window != NULL) { g_autofree char *error_string = NULL; error_string = g_strdup_printf ( "Could not initialize: %s", local_error->message); bz_show_error_for_widget (GTK_WIDGET (window), _ ("An initialization error occurred"), error_string); } } return dex_future_new_true (); } static DexFuture * init_sync_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; bz_weak_get_or_return_reject (self, wr); /* Do nothing */ return dex_future_new_true (); } static DexFuture * backend_sync_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; bz_weak_get_or_return_reject (self, wr); if (dex_future_is_resolved (future)) { g_autoptr (DexFuture) enum_future = NULL; enum_future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) enumerate_disk_entries_fiber, bz_track_weak (self), bz_weak_release); enum_future = dex_future_finally ( enum_future, (DexFutureCallback) backend_sync_save_groups_finally, bz_track_weak (self), bz_weak_release); return g_steal_pointer (&enum_future); } else return dex_ref (future); } static DexFuture * backend_sync_save_groups_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; bz_weak_get_or_return_reject (self, wr); return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) cache_groups_fiber, bz_track_weak (self), bz_weak_release); } static DexFuture * flathub_update_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; bz_weak_get_or_return_reject (self, wr); if (dex_future_is_resolved (future)) { g_clear_object (&self->flathub); g_assert (self->tmp_flathub != NULL); self->flathub = g_steal_pointer (&self->tmp_flathub); bz_flathub_state_set_map_factory (self->flathub, self->application_factory); bz_state_info_set_flathub (self->state, self->flathub); return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) cache_flathub_fiber, bz_track_weak (self), bz_weak_release); } else { g_clear_object (&self->tmp_flathub); return dex_ref (future); } } static DexFuture * cache_write_back_finally (DexFuture *future, CacheWriteBackData *data) { g_autoptr (BzApplication) self = NULL; GPtrArray *notify_groups = data->notify_groups; gboolean update_filters = data->update_filters; bz_weak_get_or_return_reject (self, data->self); for (guint i = 0; i < notify_groups->len; i++) { BzEntryGroup *group = NULL; group = g_ptr_array_index (notify_groups, i); g_object_notify (G_OBJECT (group), "ui-entry"); } if (update_filters) { gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_LESS_STRICT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_LESS_STRICT); } return dex_future_new_true (); } static DexFuture * sync_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; bz_weak_get_or_return_reject (self, wr); bz_state_info_set_online (self->state, dex_future_is_resolved (future)); bz_state_info_set_allow_manual_sync (self->state, TRUE); bz_state_info_set_busy (self->state, FALSE); bz_state_info_set_syncing (self->state, FALSE); finish_with_background_task_label (self); if (dex_future_is_resolved (future)) g_settings_set_int64 ( self->settings, "last-refresh-time", g_get_real_time () / G_USEC_PER_SEC); dex_promise_resolve_boolean (self->ready_to_open_files, TRUE); return dex_future_new_true (); } static DexFuture * watch_backend_notifs_then_loop_cb (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; const GValue *value = NULL; BzBackendNotification *notif = NULL; g_autoptr (RespondToFlatpakData) data = NULL; g_autoptr (DexFuture) ret_future = NULL; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, NULL); g_assert (value != NULL); notif = g_value_get_object (value); data = respond_to_flatpak_data_new (); data->self = bz_track_weak (self); data->notif = g_object_ref (notif); ret_future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) respond_to_flatpak_fiber, respond_to_flatpak_data_ref (data), respond_to_flatpak_data_unref); return g_steal_pointer (&ret_future); } static BzEntryGroup * ensure_group_and_add (BzApplication *self, const char *id, BzEntry *entry, BzEntry *eol_runtime, gboolean ignore_eol, gboolean installed) { BzEntryGroup *group = NULL; group = g_hash_table_lookup (self->ids_to_groups, id); if (group != NULL) bz_entry_group_add (group, entry, eol_runtime, ignore_eol); else { g_autoptr (BzEntryGroup) new_group = NULL; g_debug ("Creating new application group for id %s", id); new_group = bz_entry_group_new (self->entry_factory); bz_entry_group_add (new_group, entry, eol_runtime, ignore_eol); g_list_store_append (self->groups, new_group); g_hash_table_replace (self->ids_to_groups, g_strdup (id), g_object_ref (new_group)); group = new_group; } if (installed && !g_list_store_find (self->installed_apps, group, NULL)) g_list_store_insert_sorted ( self->installed_apps, group, (GCompareDataFunc) cmp_group, NULL); return group; } static void fiber_replace_entry (BzApplication *self, BzEntry *entry) { const char *id = NULL; const char *unique_id = NULL; const char *unique_id_checksum = NULL; gboolean user = FALSE; gboolean installed = FALSE; const char *flatpak_id = NULL; const char *version = NULL; GHashTable *name_to_addons = NULL; id = bz_entry_get_id (entry); unique_id = bz_entry_get_unique_id (entry); unique_id_checksum = bz_entry_get_unique_id_checksum (entry); if (id == NULL || unique_id == NULL || unique_id_checksum == NULL) return; user = bz_flatpak_entry_is_user (BZ_FLATPAK_ENTRY (entry)); name_to_addons = user ? self->usr_name_to_addons : self->sys_name_to_addons; installed = g_hash_table_contains (self->installed_set, unique_id); bz_entry_set_installed (entry, installed); version = g_hash_table_lookup (self->installed_set, unique_id); if (version != NULL && *version != '\0') bz_entry_set_installed_version (entry, version); flatpak_id = bz_flatpak_entry_get_flatpak_id (BZ_FLATPAK_ENTRY (entry)); if (flatpak_id != NULL) { GPtrArray *addons = NULL; addons = g_hash_table_lookup (name_to_addons, flatpak_id); if (addons != NULL) { g_debug ("Appending %d addons to %s", addons->len, unique_id); for (guint i = 0; i < addons->len; i++) { const char *addon_id = NULL; addon_id = g_ptr_array_index (addons, i); bz_entry_append_addon (entry, addon_id); } g_hash_table_remove (name_to_addons, flatpak_id); addons = NULL; } } if (bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_APPLICATION)) { gboolean ignore_eol = FALSE; const char *runtime_name = NULL; g_autoptr (BzEntry) eol_runtime = NULL; BzEntryGroup *group = NULL; GHashTable *ref_to_addon_group_ids = NULL; GPtrArray *pending = NULL; if (self->ignore_eol_set != NULL) ignore_eol = g_hash_table_contains (self->ignore_eol_set, id); runtime_name = bz_flatpak_entry_get_application_runtime (BZ_FLATPAK_ENTRY (entry)); if (!ignore_eol && runtime_name != NULL) { char *runtime_checksum = NULL; runtime_checksum = g_hash_table_lookup (self->eol_runtimes, runtime_name); if (runtime_checksum != NULL) eol_runtime = dex_await_object ( bz_entry_cache_manager_get_by_checksum ( self->cache, runtime_checksum), NULL); } group = ensure_group_and_add (self, id, entry, eol_runtime, ignore_eol, installed); ref_to_addon_group_ids = user ? self->usr_ref_to_addon_group_ids : self->sys_ref_to_addon_group_ids; pending = g_hash_table_lookup (ref_to_addon_group_ids, id); if (pending != NULL) { for (guint i = 0; i < pending->len; i++) bz_entry_group_append_addon_group_id (group, g_ptr_array_index (pending, i)); g_hash_table_remove (ref_to_addon_group_ids, id); } } if (flatpak_id != NULL && bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_RUNTIME) && g_str_has_prefix (flatpak_id, "runtime/")) { const char *stripped = NULL; const char *eol = NULL; stripped = flatpak_id + strlen ("runtime/"); eol = bz_entry_get_eol (entry); if (eol != NULL) g_hash_table_replace ( self->eol_runtimes, g_strdup (stripped), g_strdup (unique_id_checksum)); else g_hash_table_remove (self->eol_runtimes, stripped); } if (bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_ADDON) && strstr (id, ".Debug") == NULL && strstr (id, ".Locale") == NULL) { const char *extension_of_what = NULL; extension_of_what = bz_flatpak_entry_get_addon_extension_of_ref ( BZ_FLATPAK_ENTRY (entry)); if (extension_of_what != NULL && g_str_has_prefix (extension_of_what, "app/")) { g_auto (GStrv) parts = NULL; BzEntryGroup *app_group = NULL; ensure_group_and_add (self, id, entry, NULL, FALSE, installed); parts = g_strsplit (extension_of_what, "/", -1); if (parts != NULL && parts[1] != NULL) { app_group = g_hash_table_lookup (self->ids_to_groups, parts[1]); if (app_group != NULL) bz_entry_group_append_addon_group_id (app_group, id); else { GHashTable *ref_to_addon_group_ids = user ? self->usr_ref_to_addon_group_ids : self->sys_ref_to_addon_group_ids; GPtrArray *pending = NULL; pending = g_hash_table_lookup (ref_to_addon_group_ids, parts[1]); if (pending == NULL) { pending = g_ptr_array_new_with_free_func (g_free); g_hash_table_replace (ref_to_addon_group_ids, g_strdup (parts[1]), pending); } g_ptr_array_add (pending, g_strdup (id)); } } } if (extension_of_what != NULL) { GPtrArray *addons = NULL; /* BzFlatpakInstance ensures addons come before applications */ addons = g_hash_table_lookup (name_to_addons, extension_of_what); if (addons == NULL) { addons = g_ptr_array_new_with_free_func (g_free); g_hash_table_replace ( name_to_addons, g_strdup (extension_of_what), addons); } g_ptr_array_add (addons, g_strdup (unique_id)); } else g_warning ("Entry with unique id %s is an addon but " "does not seem to extend anything", unique_id); } } static void fiber_check_for_updates (BzApplication *self) { g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) update_ids = NULL; GtkWindow *window = NULL; g_debug ("Checking for updates..."); bz_state_info_set_background_task_label (self->state, _ ("Checking for updates…")); bz_state_info_set_checking_for_updates (self->state, TRUE); update_ids = dex_await_boxed ( bz_backend_retrieve_update_ids (BZ_BACKEND (self->flatpak), NULL), &local_error); window = gtk_application_get_active_window (GTK_APPLICATION (self)); if (update_ids != NULL && update_ids->len > 0) { g_autoptr (GPtrArray) futures = NULL; g_autoptr (GListStore) store = NULL; futures = g_ptr_array_new_with_free_func (dex_unref); for (guint i = 0; i < update_ids->len; i++) { const char *unique_id = NULL; unique_id = g_ptr_array_index (update_ids, i); g_ptr_array_add (futures, bz_entry_cache_manager_get (self->cache, unique_id)); } dex_await ( dex_future_allv ((DexFuture *const *) futures->pdata, futures->len), NULL); store = g_list_store_new (BZ_TYPE_ENTRY); for (guint i = 0; i < futures->len; i++) { DexFuture *future = NULL; const GValue *value = NULL; future = g_ptr_array_index (futures, i); value = dex_future_get_value (future, &local_error); if (value != NULL) g_list_store_append (store, g_value_get_object (value)); else { const char *unique_id = NULL; unique_id = g_ptr_array_index (update_ids, i); g_warning ("%s could not be resolved for the update list and thus will not be included: %s", unique_id, local_error->message); g_clear_pointer (&local_error, g_error_free); } } if (g_list_model_get_n_items (G_LIST_MODEL (store)) > 0) bz_state_info_set_available_updates (self->state, G_LIST_MODEL (store)); } else if (local_error != NULL) { g_warning ("Failed to check for updates: %s", local_error->message); if (window != NULL) bz_show_error_for_widget (GTK_WIDGET (window), _ ("Failed to check for updates"), local_error->message); } bz_state_info_set_checking_for_updates (self->state, FALSE); } static GFile * fiber_dup_cache_file (const char *name, char **path_out, GError **error) { gboolean result = FALSE; g_autofree char *module_dir = NULL; g_autoptr (GFile) module_dir_file = NULL; g_autofree char *path = NULL; g_autoptr (GFile) file = NULL; module_dir = bz_dup_module_dir (); module_dir_file = g_file_new_for_path (module_dir); result = dex_await ( dex_file_make_directory_with_parents (module_dir_file), error); if (!result) return NULL; path = g_build_filename (module_dir, name, NULL); file = g_file_new_for_path (path); if (path_out != NULL) *path_out = g_steal_pointer (&path); return g_steal_pointer (&file); } static gboolean periodic_timeout_cb (BzApplication *self) { gboolean have_connection = FALSE; gboolean metered_connection = FALSE; if (self->sync != NULL && dex_future_is_pending (self->sync)) /* If for some reason the last update check is still happening, let it finish */ goto done; dex_clear (&self->sync); have_connection = bz_state_info_get_have_connection (self->state); metered_connection = bz_state_info_get_metered_connection (self->state); if (have_connection && !metered_connection) /* Do not do periodic sync on metered connections. The user will have to manually refresh instead. */ self->sync = make_sync_future (self); else bz_state_info_set_recently_synced (self->state, FALSE); done: return G_SOURCE_CONTINUE; } static gboolean scheduled_timeout_cb (GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; gboolean have_connection = FALSE; /* Use weak ref here since the source tag of this callback won't be tracked by the main application obj */ self = g_weak_ref_get (wr); if (self == NULL) goto done; dex_clear (&self->sync); have_connection = bz_state_info_get_have_connection (self->state); if (have_connection) self->sync = make_sync_future (self); done: return G_SOURCE_REMOVE; } static void network_status_changed (BzApplication *self, GParamSpec *pspec, GNetworkMonitor *network) { gboolean was_connected = FALSE; gboolean was_metered = FALSE; GNetworkConnectivity connectivity = 0; gboolean have_connection = FALSE; gboolean is_metered = FALSE; was_connected = bz_state_info_get_have_connection (self->state); was_metered = bz_state_info_get_metered_connection (self->state); connectivity = g_network_monitor_get_connectivity (network); have_connection = connectivity == G_NETWORK_CONNECTIVITY_FULL; is_metered = g_network_monitor_get_network_metered (network); if (!bz_state_info_get_busy (self->state) && ((!was_connected && have_connection && !is_metered) || (was_metered && !is_metered))) /* Wait a bit to prevent flakiness */ g_timeout_add_full ( G_PRIORITY_DEFAULT, 500, (GSourceFunc) scheduled_timeout_cb, bz_track_weak (self), bz_weak_release); bz_state_info_set_have_connection (self->state, have_connection); bz_state_info_set_metered_connection (self->state, is_metered); } static void disable_blocklists_changed (BzApplication *self, GParamSpec *pspec, BzStateInfo *state) { gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_DIFFERENT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_DIFFERENT); } static void show_hide_app_setting_changed (BzApplication *self, const char *key, GSettings *settings) { g_object_freeze_notify (G_OBJECT (self->state)); bz_state_info_set_hide_eol (self->state, g_settings_get_boolean (self->settings, "hide-eol")); bz_state_info_set_show_only_foss (self->state, g_settings_get_boolean (self->settings, "show-only-foss")); bz_state_info_set_show_only_flathub (self->state, g_settings_get_boolean (self->settings, "show-only-flathub")); bz_state_info_set_show_only_verified (self->state, g_settings_get_boolean (self->settings, "show-only-verified")); gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_DIFFERENT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_DIFFERENT); g_object_thaw_notify (G_OBJECT (self->state)); } static gboolean window_close_request (BzApplication *self, GtkWidget *window) { int width = 0; int height = 0; GList *remaining_windows = NULL; gboolean reap_dl_workers = TRUE; width = gtk_widget_get_width (window); height = gtk_widget_get_height (window); g_settings_set (self->settings, "window-dimensions", "(ii)", width, height); remaining_windows = gtk_application_get_windows ( GTK_APPLICATION (self)); for (GList *l = remaining_windows; l != NULL; l = l->next) { if (l->data != window) { reap_dl_workers = FALSE; break; } } if (reap_dl_workers) /* If no windows are left, kill the dl-worker subprocesses to minimize idle memory usage */ bz_reap_default_download_workers (); /* Do not stop other handlers from being invoked for the signal */ return FALSE; } static void blocklists_changed (BzApplication *self, guint position, guint removed, guint added, GListModel *model) { g_autoptr (GError) local_error = NULL; if (removed > 0) g_ptr_array_remove_range (self->blocklist_regexes, position, removed); for (guint i = 0; i < added; i++) { g_autoptr (BzRootBlocklist) root = NULL; g_autoptr (GPtrArray) regex_datas = NULL; GListModel *blocklists = NULL; root = g_list_model_get_item (model, position + i); regex_datas = g_ptr_array_new_with_free_func (blocklist_regex_data_unref); blocklists = bz_root_blocklist_get_blocklists (root); if (blocklists != NULL) { guint n_blocklists = 0; n_blocklists = g_list_model_get_n_items (blocklists); for (guint j = 0; j < n_blocklists; j++) { g_autoptr (BzBlocklist) blocklist = NULL; GListModel *conditions = NULL; GListModel *allow = NULL; GListModel *allow_regex = NULL; GListModel *block = NULL; GListModel *block_regex = NULL; g_autoptr (BlocklistRegexData) data = NULL; blocklist = g_list_model_get_item (blocklists, j); allow = bz_blocklist_get_allow (blocklist); allow_regex = bz_blocklist_get_allow_regex (blocklist); block = bz_blocklist_get_block (blocklist); block_regex = bz_blocklist_get_block_regex (blocklist); if (allow == NULL && allow_regex == NULL && block == NULL && block_regex == NULL) { g_warning ("Blocklist file has an empty blocklist, ignoring"); continue; } conditions = bz_blocklist_get_conditions (blocklist); if (conditions != NULL) { guint n_conditions = 0; gboolean ignore = FALSE; n_conditions = g_list_model_get_n_items (conditions); for (guint k = 0; k < n_conditions; k++) { gboolean condition_result = FALSE; g_autoptr (BzBlocklistCondition) condition = NULL; BzBlocklistConditionMatchEnvvar *match_envvar = NULL; BzBlocklistConditionMatchLocale *match_locale = NULL; BzBlocklistConditionPostProcessKind postprocess = BZ_BLOCKLIST_CONDITION_POST_PROCESS_KIND_IDENTITY; condition = g_list_model_get_item (conditions, k); match_envvar = bz_blocklist_condition_get_match_envvar (condition); match_locale = bz_blocklist_condition_get_match_locale (condition); postprocess = bz_blocklist_condition_get_post_process (condition); if (match_envvar == NULL && match_locale == NULL) { g_warning ("Blocklist file has an empty condition"); continue; } if (!condition_result && match_envvar != NULL) { const char *var = NULL; const char *regex = NULL; var = bz_blocklist_condition_match_envvar_get_var (match_envvar); regex = bz_blocklist_condition_match_envvar_get_regex (match_envvar); if (var != NULL && regex != NULL) { g_autoptr (GRegex) compiled = NULL; const char *value = NULL; compiled = g_regex_new ( regex, G_REGEX_ANCHORED, G_REGEX_MATCH_ANCHORED, &local_error); if (compiled == NULL) { g_warning ("Blocklist condition contains invalid regex: %s", local_error->message); g_clear_error (&local_error); continue; } value = g_getenv (var); if (value != NULL && g_regex_match ( compiled, value, G_REGEX_MATCH_ANCHORED, NULL)) condition_result = TRUE; if (postprocess == BZ_BLOCKLIST_CONDITION_POST_PROCESS_KIND_INVERT) condition_result = !condition_result; } else g_warning ("Blocklist file has a envvar condition " "missing a var and/or a regex pattern"); } if (!condition_result && match_locale != NULL) { const char *regex = NULL; regex = bz_blocklist_condition_match_locale_get_regex (match_locale); if (regex != NULL) { g_autoptr (GRegex) compiled = NULL; const char *const *locales = NULL; compiled = g_regex_new ( regex, G_REGEX_ANCHORED, G_REGEX_MATCH_ANCHORED, &local_error); if (compiled == NULL) { g_warning ("Blocklist condition contains invalid regex: %s", local_error->message); g_clear_error (&local_error); continue; } locales = g_get_language_names (); for (guint l = 0; locales[l] != NULL; l++) { if (g_regex_match ( compiled, locales[i], G_REGEX_MATCH_ANCHORED, NULL)) condition_result = TRUE; if (condition_result) break; } if (postprocess == BZ_BLOCKLIST_CONDITION_POST_PROCESS_KIND_INVERT) condition_result = !condition_result; } else g_warning ("Blocklist file has a match-locale " "condition missing a regex pattern"); } if (!condition_result) { ignore = TRUE; break; } } if (ignore) continue; } data = blocklist_regex_data_new (); data->priority = bz_blocklist_get_priority (blocklist); #define BUILD_REGEX(_name, _builder) \ if (_name != NULL) \ { \ guint _n_strings = 0; \ \ _n_strings = g_list_model_get_n_items (_name); \ for (guint _i = 0; _i < _n_strings; _i++) \ { \ g_autoptr (GtkStringObject) _object = NULL; \ const char *_string = NULL; \ g_autoptr (GRegex) _regex = NULL; \ \ _object = g_list_model_get_item (_name, _i); \ _string = gtk_string_object_get_string (_object); \ _regex = g_regex_new (_string, G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &local_error); \ \ if (_regex != NULL) \ g_strv_builder_add (_builder, _string); \ else \ { \ g_warning ("Blocklist file has an invalid " \ "regular expression '%s': %s", \ _string, local_error->message); \ g_clear_error (&local_error); \ } \ } \ } #define BUILD_REGEX_ESCAPED(_name, _builder) \ if (_name != NULL) \ { \ guint _n_strings = 0; \ \ _n_strings = g_list_model_get_n_items (_name); \ for (guint _i = 0; _i < _n_strings; _i++) \ { \ g_autoptr (GtkStringObject) _object = NULL; \ const char *_string = NULL; \ \ _object = g_list_model_get_item (_name, _i); \ _string = gtk_string_object_get_string (_object); \ \ g_strv_builder_take (_builder, g_regex_escape_string (_string, -1)); \ } \ } #define GATHER(name) \ if (name != NULL || \ name##_regex != NULL) \ { \ g_autoptr (GStrvBuilder) _builder = NULL; \ g_auto (GStrv) _patterns = NULL; \ \ _builder = g_strv_builder_new (); \ \ BUILD_REGEX_ESCAPED (name, _builder) \ BUILD_REGEX (name##_regex, _builder) \ \ _patterns = g_strv_builder_end (_builder); \ if (_patterns != NULL) \ { \ g_autofree char *_joined = NULL; \ g_autofree char *_regex_string = NULL; \ \ _joined = g_strjoinv ("|", _patterns); \ _regex_string = g_strdup_printf ("^(%s)$", _joined); \ data->name = g_regex_new (_regex_string, G_REGEX_OPTIMIZE, \ G_REGEX_MATCH_DEFAULT, NULL); \ } \ } GATHER (allow); GATHER (block); #undef GATHER #undef BUILD_REGEX_ESCAPED #undef BUILD_REGEX if (data->allow != NULL || data->block != NULL) g_ptr_array_add (regex_datas, g_steal_pointer (&data)); } } g_ptr_array_insert (self->blocklist_regexes, position + i, g_steal_pointer (®ex_datas)); } gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_DIFFERENT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_DIFFERENT); } static void txt_blocklists_changed (BzApplication *self, guint position, guint removed, guint added, GListModel *model) { if (removed > 0) g_ptr_array_remove_range (self->txt_blocked_id_sets, position, removed); for (guint i = 0; i < added; i++) { g_autoptr (BzHashTableObject) obj = NULL; GHashTable *set = NULL; obj = g_list_model_get_item (model, position + i); set = bz_hash_table_object_get_hash_table (obj); g_ptr_array_insert (self->txt_blocked_id_sets, position + i, g_hash_table_ref (set)); } gtk_filter_changed (GTK_FILTER (self->group_filter), GTK_FILTER_CHANGE_DIFFERENT); gtk_filter_changed (GTK_FILTER (self->appid_filter), GTK_FILTER_CHANGE_DIFFERENT); } static void init_service_struct (BzApplication *self, GtkStringList *blocklists, GtkStringList *txt_blocklists, GtkStringList *curated_configs) { g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) internal_config_bytes = NULL; g_autoptr (BzYamlParser) internal_config_parser = NULL; g_autoptr (GHashTable) internal_config_parse_results = NULL; const char *app_id = NULL; #ifdef HARDCODED_MAIN_CONFIG g_autoptr (GFile) config_file = NULL; g_autoptr (GBytes) config_bytes = NULL; #endif GtkCustomFilter *filter = NULL; GNetworkMonitor *network = NULL; g_type_ensure (BZ_TYPE_INTERNAL_CONFIG); internal_config_bytes = g_resources_lookup_data ( "/io/github/kolunmi/Bazaar/internal-config.yaml", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); g_assert (internal_config_bytes != NULL); internal_config_parser = bz_yaml_parser_new_for_resource_schema ( "/io/github/kolunmi/Bazaar/internal-config-schema.xml"); g_assert (internal_config_parser != NULL); internal_config_parse_results = bz_parser_process_bytes ( BZ_PARSER (internal_config_parser), internal_config_bytes, &local_error); if (internal_config_parse_results == NULL) g_critical ("FATAL: unable to parse internal config resource: %s", local_error->message); g_assert (internal_config_parse_results != NULL); self->internal_config = g_value_dup_object (g_hash_table_lookup (internal_config_parse_results, "/")); g_type_ensure (BZ_TYPE_MAIN_CONFIG); #ifdef HARDCODED_MAIN_CONFIG config_file = g_file_new_for_path (HARDCODED_MAIN_CONFIG); config_bytes = g_file_load_bytes (config_file, NULL, NULL, &local_error); if (config_bytes != NULL) { g_autoptr (BzYamlParser) parser = NULL; g_autoptr (GHashTable) parse_results = NULL; parser = bz_yaml_parser_new_for_resource_schema ( "/io/github/kolunmi/Bazaar/main-config-schema.xml"); parse_results = bz_parser_process_bytes ( BZ_PARSER (parser), config_bytes, &local_error); if (parse_results != NULL) { GListModel *override_eol_markings = NULL; self->config = g_value_dup_object (g_hash_table_lookup (parse_results, "/")); override_eol_markings = bz_main_config_get_override_eol_markings (self->config); if (override_eol_markings != NULL) { guint n_appids = 0; self->ignore_eol_set = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, g_free); n_appids = g_list_model_get_n_items (override_eol_markings); for (guint i = 0; i < n_appids; i++) { g_autoptr (GtkStringObject) string = NULL; const char *value = NULL; string = g_list_model_get_item (override_eol_markings, i); value = gtk_string_object_get_string (string); g_hash_table_replace (self->ignore_eol_set, g_strdup (value), NULL); } } } else { g_warning ("Could not load main config at %s: %s", HARDCODED_MAIN_CONFIG, local_error->message); g_clear_error (&local_error); } } g_clear_error (&local_error); #endif self->init_timer = g_timer_new (); self->ready_to_open_files = dex_promise_new (); self->first_window_opened = dex_promise_new (); if (self->config != NULL && bz_main_config_get_yaml_blocklist_paths (self->config) != NULL) { GListModel *paths = NULL; guint n_paths = 0; paths = bz_main_config_get_yaml_blocklist_paths (self->config); n_paths = g_list_model_get_n_items (paths); for (guint i = 0; i < n_paths; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (paths, i); gtk_string_list_append (blocklists, gtk_string_object_get_string (string)); } } self->blocklists = g_object_ref (blocklists); self->blocklists_to_files = gtk_map_list_model_new ( NULL, (GtkMapListModelMapFunc) map_strings_to_files, NULL, NULL); gtk_map_list_model_set_model ( self->blocklists_to_files, G_LIST_MODEL (self->blocklists)); if (self->config != NULL && bz_main_config_get_txt_blocklist_paths (self->config) != NULL) { GListModel *paths = NULL; guint n_paths = 0; paths = bz_main_config_get_txt_blocklist_paths (self->config); n_paths = g_list_model_get_n_items (paths); for (guint i = 0; i < n_paths; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (paths, i); gtk_string_list_append (txt_blocklists, gtk_string_object_get_string (string)); } } self->txt_blocklists = g_object_ref (txt_blocklists); self->txt_blocklists_to_files = gtk_map_list_model_new ( NULL, (GtkMapListModelMapFunc) map_strings_to_files, NULL, NULL); gtk_map_list_model_set_model ( self->txt_blocklists_to_files, G_LIST_MODEL (self->txt_blocklists)); if (self->config != NULL && bz_main_config_get_curated_config_paths (self->config) != NULL) { GListModel *paths = NULL; guint n_paths = 0; paths = bz_main_config_get_curated_config_paths (self->config); n_paths = g_list_model_get_n_items (paths); for (guint i = 0; i < n_paths; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (paths, i); gtk_string_list_append (curated_configs, gtk_string_object_get_string (string)); } } #ifdef DEVELOPMENT_BUILD if (g_list_model_get_n_items (G_LIST_MODEL (curated_configs)) == 0) { g_autofree char *dest_path = NULL; g_autoptr (GFile) src = NULL; g_autoptr (GFile) dest = NULL; dest_path = g_build_filename (g_get_user_data_dir (), "example.yaml", NULL); src = g_file_new_for_path (DEVELOPMENT_EXAMPLE_YAML); dest = g_file_new_for_path (dest_path); g_file_copy (src, dest, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, NULL); gtk_string_list_append (curated_configs, dest_path); } #endif self->curated_configs = g_object_ref (curated_configs); self->curated_configs_to_files = gtk_map_list_model_new ( NULL, (GtkMapListModelMapFunc) map_strings_to_files, NULL, NULL); gtk_map_list_model_set_model ( self->curated_configs_to_files, G_LIST_MODEL (self->curated_configs)); self->search_biases = gtk_flatten_list_model_new (NULL); self->search_biases_backing = g_list_store_new (G_TYPE_LIST_MODEL); { GListModel *main_config_search_biases = NULL; GListModel *internal_config_search_biases = NULL; if (self->config != NULL) main_config_search_biases = bz_main_config_get_search_biases (self->config); internal_config_search_biases = bz_internal_config_get_search_biases (self->internal_config); /* Main config biases take precedence over the hardcoded ones */ if (main_config_search_biases != NULL) g_list_store_append (self->search_biases_backing, main_config_search_biases); if (internal_config_search_biases != NULL) g_list_store_append (self->search_biases_backing, internal_config_search_biases); } gtk_flatten_list_model_set_model ( self->search_biases, G_LIST_MODEL (self->search_biases_backing)); g_type_ensure (BZ_TYPE_ROOT_BLOCKLIST); g_type_ensure (BZ_TYPE_BLOCKLIST); g_type_ensure (BZ_TYPE_BLOCKLIST_CONDITION); self->blocklist_parser = bz_yaml_parser_new_for_resource_schema ( "/io/github/kolunmi/Bazaar/blocklist-schema.xml"); self->txt_blocklist_parser = bz_newline_parser_new ( TRUE, MAX_IDS_PER_BLOCKLIST); g_type_ensure (BZ_TYPE_ROOT_CURATED_CONFIG); g_type_ensure (BZ_TYPE_CURATED_ROW); g_type_ensure (BZ_TYPE_CURATED_SECTION); g_type_ensure (BZ_TYPE_CURATED_ARTICLE); self->curated_parser = bz_yaml_parser_new_for_resource_schema ( "/io/github/kolunmi/Bazaar/curated-config-schema.xml"); self->cache = bz_entry_cache_manager_new (); self->state = bz_state_info_new (); bz_state_info_set_busy (self->state, TRUE); bz_state_info_set_donation_prompt_dismissed (self->state, TRUE); bz_state_info_set_parental_age_rating (self->state, -1); state_info_set_icon_themes (self->state); { g_autoptr (GError) bus_error = NULL; g_autoptr (GDBusConnection) sys_bus = NULL; sys_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &bus_error); if (sys_bus != NULL) self->malcontent = bz_malcontent_service_new (sys_bus, self->state); else g_warning ("Failed to connect to system bus for malcontent: %s", bus_error->message); if (self->malcontent != NULL) g_signal_connect_swapped ( self->state, "notify::parental-age-rating", G_CALLBACK (show_hide_app_setting_changed), self); } g_signal_connect_swapped ( self->state, "notify::disable-blocklists", G_CALLBACK (disable_blocklists_changed), self); network = g_network_monitor_get_default (); if (network != NULL) { GNetworkConnectivity connectivity = 0; gboolean metered = FALSE; connectivity = g_network_monitor_get_connectivity (network); bz_state_info_set_have_connection (self->state, connectivity == G_NETWORK_CONNECTIVITY_FULL); metered = g_network_monitor_get_network_metered (network); bz_state_info_set_metered_connection (self->state, metered); g_signal_connect_swapped (network, "notify", G_CALLBACK (network_status_changed), self); } else g_warning ("Unable to detect networking device! Continuing anyway..."); app_id = g_application_get_application_id (G_APPLICATION (self)); g_assert (app_id != NULL); g_debug ("Constructing gsettings for %s ...", app_id); self->settings = g_settings_new (app_id); if (g_settings_get_boolean (self->settings, "force-adwaita-icons")) { GtkSettings *gtk_settings = NULL; gtk_settings = gtk_settings_get_default (); g_object_set ( gtk_settings, "gtk-icon-theme-name", "Adwaita", NULL); } bz_state_info_set_hide_eol ( self->state, g_settings_get_boolean (self->settings, "hide-eol")); g_signal_connect_swapped ( self->settings, "changed::hide-eol", G_CALLBACK (show_hide_app_setting_changed), self); bz_state_info_set_show_only_foss ( self->state, g_settings_get_boolean (self->settings, "show-only-foss")); g_signal_connect_swapped ( self->settings, "changed::show-only-foss", G_CALLBACK (show_hide_app_setting_changed), self); bz_state_info_set_show_only_flathub ( self->state, g_settings_get_boolean (self->settings, "show-only-flathub")); g_signal_connect_swapped ( self->settings, "changed::show-only-flathub", G_CALLBACK (show_hide_app_setting_changed), self); bz_state_info_set_show_only_verified ( self->state, g_settings_get_boolean (self->settings, "show-only-verified")); g_signal_connect_swapped ( self->settings, "changed::show-only-verified", G_CALLBACK (show_hide_app_setting_changed), self); self->blocklist_regexes = g_ptr_array_new_with_free_func ( (GDestroyNotify) g_ptr_array_unref); self->blocklists_provider = bz_content_provider_new (); bz_content_provider_set_parser (self->blocklists_provider, BZ_PARSER (self->blocklist_parser)); bz_content_provider_set_input_files ( self->blocklists_provider, G_LIST_MODEL (self->blocklists_to_files)); g_signal_connect_swapped (self->blocklists_provider, "items-changed", G_CALLBACK (blocklists_changed), self); self->txt_blocked_id_sets = g_ptr_array_new_with_free_func ( (GDestroyNotify) g_hash_table_unref); self->txt_blocklists_provider = bz_content_provider_new (); bz_content_provider_set_parser (self->txt_blocklists_provider, BZ_PARSER (self->txt_blocklist_parser)); bz_content_provider_set_input_files ( self->txt_blocklists_provider, G_LIST_MODEL (self->txt_blocklists_to_files)); g_signal_connect_swapped (self->txt_blocklists_provider, "items-changed", G_CALLBACK (txt_blocklists_changed), self); self->groups = g_list_store_new (BZ_TYPE_ENTRY_GROUP); self->installed_apps = g_list_store_new (BZ_TYPE_ENTRY_GROUP); self->ids_to_groups = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, g_object_unref); self->eol_runtimes = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, g_free); self->sys_name_to_addons = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_ptr_array_unref); self->usr_name_to_addons = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_ptr_array_unref); self->sys_ref_to_addon_group_ids = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_ptr_array_unref); self->usr_ref_to_addon_group_ids = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_ptr_array_unref); self->entry_factory = bz_application_map_factory_new ( (GtkMapListModelMapFunc) map_ids_to_entries, self, NULL, NULL, NULL); filter = gtk_custom_filter_new ( (GtkCustomFilterFunc) filter_application_ids, self, NULL); self->appid_filter = g_object_ref_sink (g_steal_pointer (&filter)); self->application_factory = bz_application_map_factory_new ( (GtkMapListModelMapFunc) map_generic_ids_to_groups, self, NULL, NULL, GTK_FILTER (self->appid_filter)); filter = gtk_custom_filter_new ( (GtkCustomFilterFunc) filter_entry_groups, self, NULL); self->group_filter = g_object_ref_sink (g_steal_pointer (&filter)); self->group_filter_model = gtk_filter_list_model_new ( g_object_ref (G_LIST_MODEL (self->groups)), g_object_ref (GTK_FILTER (self->group_filter))); self->search_engine = bz_search_engine_new (); bz_search_engine_set_model (self->search_engine, G_LIST_MODEL (self->group_filter_model)); bz_search_engine_set_biases (self->search_engine, G_LIST_MODEL (self->search_biases)); self->curated_provider = bz_content_provider_new (); bz_content_provider_set_input_files ( self->curated_provider, G_LIST_MODEL (self->curated_configs_to_files)); bz_content_provider_set_parser (self->curated_provider, BZ_PARSER (self->curated_parser)); self->transactions = bz_transaction_manager_new (); bz_transaction_manager_set_config (self->transactions, self->config); bz_state_info_set_all_entry_groups (self->state, G_LIST_MODEL (self->groups)); bz_state_info_set_all_installed_entry_groups (self->state, G_LIST_MODEL (self->installed_apps)); bz_state_info_set_filtered_entry_groups (self->state, G_LIST_MODEL (self->group_filter_model)); bz_state_info_set_application_factory (self->state, self->application_factory); bz_state_info_set_blocklists (self->state, G_LIST_MODEL (self->blocklists)); bz_state_info_set_blocklists_provider (self->state, self->blocklists_provider); bz_state_info_set_curated_configs (self->state, G_LIST_MODEL (self->curated_configs)); bz_state_info_set_curated_provider (self->state, self->curated_provider); bz_state_info_set_entry_factory (self->state, self->entry_factory); bz_state_info_set_main_config (self->state, self->config); bz_state_info_set_search_engine (self->state, self->search_engine); bz_state_info_set_settings (self->state, self->settings); bz_state_info_set_transaction_manager (self->state, self->transactions); bz_state_info_set_txt_blocklists (self->state, G_LIST_MODEL (self->txt_blocklists)); bz_state_info_set_txt_blocklists_provider (self->state, self->txt_blocklists_provider); bz_state_info_set_cache_manager (self->state, self->cache); g_object_bind_property ( self->state, "allow-manual-sync", g_action_map_lookup_action (G_ACTION_MAP (self), "sync-remotes"), "enabled", G_BINDING_SYNC_CREATE); gtk_style_context_add_provider_for_display ( gdk_display_get_default (), bz_get_pride_style_provider (), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } static GtkWindow * get_or_create_window (BzApplication *self) { GtkWindow *window = NULL; GList *windows = NULL; window = gtk_application_get_active_window (GTK_APPLICATION (self)); if (BZ_IS_WINDOW (window)) { gtk_window_present (window); return window; } windows = gtk_application_get_windows (GTK_APPLICATION (self)); for (GList *l = windows; l != NULL; l = l->next) { if (BZ_IS_WINDOW (l->data)) { gtk_window_present (GTK_WINDOW (l->data)); return GTK_WINDOW (l->data); } } return new_window (self); } static GtkWindow * new_window (BzApplication *self) { BzWindow *window = NULL; g_autoptr (GtkWidget) main_window = NULL; int width = 0; int height = 0; window = bz_window_new (self->state); gtk_application_add_window (GTK_APPLICATION (self), GTK_WINDOW (window)); main_window = g_weak_ref_get (&self->main_window); if (main_window != NULL) { width = gtk_widget_get_width (main_window); height = gtk_widget_get_height (main_window); g_settings_set (self->settings, "window-dimensions", "(ii)", width, height); } else { g_settings_get (self->settings, "window-dimensions", "(ii)", &width, &height); g_signal_connect_object ( window, "close-request", G_CALLBACK (window_close_request), self, G_CONNECT_SWAPPED); g_weak_ref_init (&self->main_window, window); } gtk_window_set_default_size (GTK_WINDOW (window), width, height); gtk_window_present (GTK_WINDOW (window)); if (dex_future_is_pending (DEX_FUTURE (self->first_window_opened))) dex_promise_resolve_boolean (self->first_window_opened, TRUE); return GTK_WINDOW (window); } static void open_appstream_take (BzApplication *self, char *appstream) { const char *id = NULL; g_autoptr (OpenAppstreamData) data = NULL; g_info ("Loading appstream link %s...", appstream); if (g_str_has_prefix (appstream, "appstream://")) id = appstream + strlen ("appstream://"); else id = appstream + strlen ("appstream:"); data = open_appstream_data_new (); data->self = bz_track_weak (self); data->id = g_strdup (id); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) open_appstream_fiber, open_appstream_data_ref (data), open_appstream_data_unref)); g_free (appstream); } static void open_flatpakref_take (BzApplication *self, GFile *file) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *path = NULL; g_autoptr (OpenFlatpakrefData) data = NULL; path = g_file_get_path (file); if (path != NULL) /* We must do this synchronously so we don't lose access to a portal file */ { g_autofree char *basename = NULL; g_autofree char *module_dir = NULL; g_autofree char *staging = NULL; g_autofree char *dest = NULL; g_autoptr (GFile) copied = NULL; basename = g_file_get_basename (file); module_dir = bz_dup_module_dir (); staging = g_build_filename (module_dir, "bundle-staging", NULL); g_mkdir_with_parents (staging, 0755); dest = g_build_filename (staging, basename, NULL); copied = g_file_new_for_path (dest); result = g_file_copy ( file, copied, G_FILE_COPY_OVERWRITE | G_FILE_COPY_NOFOLLOW_SYMLINKS, NULL, NULL, NULL, &local_error); if (result) { g_clear_object (&file); file = g_steal_pointer (&copied); } else { g_warning ("Failed to copy bundle to %s : %s", dest, local_error->message); g_clear_error (&local_error); g_clear_object (&copied); } } data = open_flatpakref_data_new (); data->self = bz_track_weak (self); data->file = g_steal_pointer (&file); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) open_flatpakref_fiber, open_flatpakref_data_ref (data), open_flatpakref_data_unref)); } static void open_metainfo_take (BzApplication *self, GFile *file) { g_autoptr (OpenMetainfoData) data = NULL; data = open_metainfo_data_new (); data->self = bz_track_weak (self); data->file = g_steal_pointer (&file); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) open_metainfo_fiber, open_metainfo_data_ref (data), open_metainfo_data_unref)); } static void command_line_open_location (BzApplication *self, GApplicationCommandLine *cmdline, const char *location) { g_autoptr (GFile) file = NULL; if (g_uri_is_valid (location, G_URI_FLAGS_NONE, NULL) && g_str_has_prefix (location, "appstream:")) { open_appstream_take (self, g_strdup (location)); return; } if (g_uri_is_valid (location, G_URI_FLAGS_NONE, NULL)) file = g_file_new_for_uri (location); else if (g_path_is_absolute (location)) file = g_file_new_for_path (location); else { const char *cwd = NULL; cwd = g_application_command_line_get_cwd (cmdline); file = cwd != NULL ? g_file_new_build_filename (cwd, location, NULL) : g_file_new_for_path (location); } if (g_str_has_suffix (location, ".metainfo.xml") || g_str_has_suffix (location, ".appdata.xml")) open_metainfo_take (self, g_steal_pointer (&file)); else open_flatpakref_take (self, g_steal_pointer (&file)); } static void open_generic_id (BzApplication *self, const char *generic_id) { BzEntryGroup *group = NULL; GtkWindow *window = NULL; g_autofree char *corrected_id = NULL; const char *original_id = generic_id; const char *matched_id = generic_id; gboolean case_fixed = FALSE; group = g_hash_table_lookup (self->ids_to_groups, generic_id); // This is needed because KDE likes to mangle IDs just for fun... if (group == NULL) { gsize len = 0; len = strlen (generic_id); // if it has more than 3 parts and end with ".desktop" then cut it off. if (len > 8 && g_str_has_suffix (generic_id, ".desktop")) { guint n_dots = 0; const char *suffix = NULL; for (const char *p = strchr (generic_id, '.'); p != NULL; p = strchr (p, '.')) { if (++n_dots >= 3) { suffix = strstr (generic_id, ".desktop"); g_assert (suffix != NULL); break; } } if (suffix != NULL) { corrected_id = g_strndup (generic_id, suffix - generic_id); generic_id = corrected_id; matched_id = corrected_id; group = g_hash_table_lookup (self->ids_to_groups, generic_id); } } if (group == NULL) { GHashTableIter iter = { 0 }; g_hash_table_iter_init (&iter, self->ids_to_groups); for (;;) /* screeching sounds */ { char *key = NULL; BzEntryGroup *value = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &key, (gpointer *) &value)) break; if (g_ascii_strcasecmp (key, generic_id) == 0) { group = value; matched_id = key; case_fixed = TRUE; break; } } } if (group == NULL) matched_id = original_id; } window = get_or_create_window (self); if (adw_application_window_get_visible_dialog (ADW_APPLICATION_WINDOW (window)) != NULL) window = new_window (self); if (group != NULL) { gtk_widget_activate_action (GTK_WIDGET (window), "window.show-group", "s", matched_id); if (case_fixed) bz_show_error_for_widget ( GTK_WIDGET (window), _ ("Malformed Link"), _ ("The link used to open this app has incorrect capitalization and may stop working in the future.\n\n" "This is most likely caused by KRunner sending incorrect app IDs")); } else { g_autofree char *message = NULL; message = g_strdup_printf ("ID '%s' was not found", original_id); bz_show_error_for_widget (GTK_WIDGET (window), _ ("Could not find app"), message); } } static gpointer map_strings_to_files (GtkStringObject *string, gpointer data) { const char *path = NULL; GFile *result = NULL; path = gtk_string_object_get_string (string); result = g_file_new_for_path (path); g_object_unref (string); return result; } static gpointer map_generic_ids_to_groups (GtkStringObject *string, BzApplication *self) { BzEntryGroup *group = NULL; group = g_hash_table_lookup ( self->ids_to_groups, gtk_string_object_get_string (string)); g_object_unref (string); return bz_object_maybe_ref (group); } static gpointer map_ids_to_entries (GtkStringObject *string, BzApplication *self) { g_autoptr (GError) local_error = NULL; const char *id = NULL; g_autoptr (DexFuture) future = NULL; g_autoptr (BzResult) result = NULL; id = gtk_string_object_get_string (string); future = bz_entry_cache_manager_get (self->cache, id); result = bz_result_new (future); g_object_unref (string); return g_steal_pointer (&result); } static gboolean filter_application_ids (GtkStringObject *string, BzApplication *self) { BzEntryGroup *group = NULL; group = g_hash_table_lookup ( self->ids_to_groups, gtk_string_object_get_string (string)); if (group != NULL) return validate_group_for_ui (self, group); else return FALSE; } static gboolean filter_entry_groups (BzEntryGroup *group, BzApplication *self) { return validate_group_for_ui (self, group); } static gint cmp_group (BzEntryGroup *a, BzEntryGroup *b, gpointer user_data) { const char *title_a = NULL; const char *title_b = NULL; title_a = bz_entry_group_get_title (a); title_b = bz_entry_group_get_title (b); if (title_a == NULL) return 1; if (title_b == NULL) return -1; return strcasecmp (title_a, title_b); } static gboolean validate_group_for_ui (BzApplication *self, BzEntryGroup *group) { const char *id = NULL; int allowed_priority = G_MAXINT; int blocked_priority = G_MAXINT; if (bz_state_info_get_hide_eol (self->state) && bz_entry_group_get_eol (group) != NULL) return FALSE; if (bz_state_info_get_show_only_foss (self->state) && !bz_entry_group_get_is_floss (group)) return FALSE; if (bz_state_info_get_show_only_flathub (self->state) && !bz_entry_group_get_is_flathub (group)) return FALSE; if (bz_state_info_get_show_only_verified (self->state) && !bz_entry_group_get_is_verified (group)) return FALSE; if (self->malcontent != NULL) { int parental_age = -1; int app_age = 0; parental_age = bz_state_info_get_parental_age_rating (self->state); app_age = bz_entry_group_get_content_age_rating (group); if (app_age > parental_age && parental_age != -1) return FALSE; } if (bz_state_info_get_disable_blocklists (self->state)) return TRUE; id = bz_entry_group_get_id (group); for (guint i = 0; i < self->txt_blocked_id_sets->len; i++) { GHashTable *set = NULL; set = g_ptr_array_index (self->txt_blocked_id_sets, i); if (g_hash_table_contains (set, id)) return FALSE; } for (guint i = 0; i < self->blocklist_regexes->len; i++) { GPtrArray *regex_datas = NULL; regex_datas = g_ptr_array_index (self->blocklist_regexes, i); for (guint j = 0; j < regex_datas->len; j++) { BlocklistRegexData *data = NULL; data = g_ptr_array_index (regex_datas, j); if (data->allow != NULL && data->priority < allowed_priority && g_regex_match (data->allow, id, G_REGEX_MATCH_DEFAULT, NULL)) allowed_priority = data->priority; if (data->block != NULL && data->priority < blocked_priority && g_regex_match (data->block, id, G_REGEX_MATCH_DEFAULT, NULL)) blocked_priority = data->priority; } } return allowed_priority <= blocked_priority; } static DexFuture * make_sync_future (BzApplication *self) { g_autoptr (GError) local_error = NULL; g_autoptr (GSubprocess) refresh_worker = NULL; g_autoptr (DexFuture) backend_future = NULL; g_autoptr (DexFuture) flathub_future = NULL; g_autoptr (DexFuture) ret_future = NULL; bz_state_info_set_allow_manual_sync (self->state, FALSE); bz_state_info_set_syncing (self->state, TRUE); bz_state_info_set_recently_synced (self->state, TRUE); finish_with_background_task_label (self); refresh_worker = g_subprocess_new ( G_SUBPROCESS_FLAGS_NONE, &local_error, BAZAAR_BIN_NAME, REFRESH_WORKER_CLI_OPTION, NULL); if (refresh_worker == NULL) g_critical ("FATAL!!! The refresh worker could not be spawned: %s", local_error->message); g_assert (refresh_worker != NULL); backend_future = dex_subprocess_wait_check (refresh_worker); backend_future = dex_future_finally ( backend_future, (DexFutureCallback) backend_sync_finally, bz_track_weak (self), bz_weak_release); g_clear_object (&self->tmp_flathub); self->tmp_flathub = bz_flathub_state_new (); flathub_future = bz_flathub_state_update_to_today (self->tmp_flathub); flathub_future = dex_future_finally ( flathub_future, (DexFutureCallback) flathub_update_finally, bz_track_weak (self), bz_weak_release); ret_future = dex_future_all ( dex_ref (backend_future), dex_ref (flathub_future), NULL); ret_future = dex_future_finally ( ret_future, (DexFutureCallback) sync_finally, bz_track_weak (self), bz_weak_release); return g_steal_pointer (&ret_future); } static void finish_with_background_task_label (BzApplication *self) { if (self->n_entries_incoming > 0) bz_state_info_set_background_task_label_take_printf ( self->state, ngettext ("Loading %d app…", "Loading %d apps…", self->n_entries_incoming), self->n_entries_incoming); else if (bz_state_info_get_syncing (self->state)) bz_state_info_set_background_task_label (self->state, _ ("Refreshing…")); else if (bz_state_info_get_busy (self->state)) bz_state_info_set_background_task_label (self->state, _ ("Writing to cache…")); else bz_state_info_set_background_task_label (self->state, NULL); } static void state_info_set_icon_themes (BzStateInfo *state) { g_autoptr (GtkIconTheme) user_theme = NULL; g_autoptr (GtkIconTheme) system_theme = NULL; g_autofree char *user_export_dir = NULL; user_theme = gtk_icon_theme_new (); user_export_dir = g_build_filename (g_get_home_dir (), ".local/share/flatpak/exports/share/icons", NULL); gtk_icon_theme_add_search_path (user_theme, user_export_dir); bz_state_info_set_user_icon_theme (state, user_theme); system_theme = gtk_icon_theme_new (); gtk_icon_theme_add_search_path (system_theme, "/var/lib/flatpak/exports/share/icons"); bz_state_info_set_system_icon_theme (state, system_theme); } ��������������������������������������������������bazaar-org-bazaar-917017d/src/bz-application.h������������������������������������������������������0000664�0000000�0000000�00000002022�15234476640�0021136�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-application.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_APPLICATION (bz_application_get_type ()) G_DECLARE_FINAL_TYPE (BzApplication, bz_application, BZ, APPLICATION, AdwApplication) BzStateInfo * bz_state_info_get_default (void); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-apps-page.blp������������������������������������������������������0000664�0000000�0000000�00000006341�15234476640�0021046�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzAppsPage: Adw.NavigationPage { Adw.ToolbarView { [top] Adw.HeaderBar { [title] Revealer { reveal-child: bind $is_scrolled_down(main_scroll.vadjustment as <Adjustment>.value, carousel.visible) as <bool>; transition-type: slide_up; transition-duration: 500; overflow: visible; child: Label { label: bind template.page-title; styles ["title"] }; } } content: Adw.BreakpointBin { width-request: 360; height-request: 100; child: Gtk.ScrolledWindow main_scroll { hscrollbar-policy: never; Adw.Clamp { maximum-size: 1500; tightening-threshold: 1400; Box content_box { orientation: vertical; spacing: 10; margin-start: 30; margin-end: 30; margin-top: 8; margin-bottom: 50; $BzFeaturedCarousel carousel { margin-start: 3; margin-end: 3; margin-bottom: 12; hexpand: true; visible: bind $is_not_null(template.carousel-applications) as <bool>; model: SliceListModel { offset: 0; size: 7; model: bind template.carousel-applications; }; } Box { margin-start: 3; orientation: vertical; Label title { styles [ "title-1", ] label: bind template.page-title; xalign: 0.0; wrap: true; wrap-mode: word_char; } Label subtitle { visible: bind $is_not_empty_string(template.page-subtitle) as <bool>; label: bind template.page-subtitle; margin-top: 4; xalign: 0.0; } $BzSubcategoryList { margin-top: 12; margin-bottom: 8; category: bind template.category; flathub-state: bind template.flathub-state; } } $BzDynamicListView list_view { styles [ "flathub-page-section", ] hexpand: true; scroll: false; valign: start; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; model: bind template.applications; } Button { label: _("Show All"); visible: bind $is_not_empty_list(template.all-applications) as <bool>; halign: center; margin-top: 8; clicked => $show_all_cb(template); styles ["pill"] } } } }; Adw.Breakpoint { condition ("max-width: 700px") setters { content_box.margin-start: 10; content_box.margin-end: 10; list_view.column-spacing: 9; list_view.row-spacing: 9; title.halign: center; title.justify: center; subtitle.halign: center; } } }; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-apps-page.c��������������������������������������������������������0000664�0000000�0000000�00000034502�15234476640�0020513�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-apps-page.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include <libdex.h> #include "bz-all-apps-page.h" #include "bz-app-tile.h" #include "bz-application.h" #include "bz-apps-page.h" #include "bz-dynamic-list-view.h" #include "bz-entry-group.h" #include "env.h" #include "bz-flathub-category.h" #include "bz-subcategory-list.h" #include "bz-state-info.h" struct _BzAppsPage { AdwNavigationPage parent_instance; char *title; GListModel *applications; GListModel *all_applications; GListModel *carousel_applications; char *subtitle; BzFlathubCategory *category; /* Template widgets */ }; G_DEFINE_FINAL_TYPE (BzAppsPage, bz_apps_page, ADW_TYPE_NAVIGATION_PAGE) enum { PROP_0, PROP_PAGE_TITLE, PROP_APPLICATIONS, PROP_ALL_APPLICATIONS, PROP_CAROUSEL_APPLICATIONS, PROP_PAGE_SUBTITLE, PROP_CATEGORY, PROP_FLATHUB_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_apps_page_dispose (GObject *object) { BzAppsPage *self = BZ_APPS_PAGE (object); g_clear_pointer (&self->title, g_free); g_clear_object (&self->applications); g_clear_object (&self->all_applications); g_clear_object (&self->carousel_applications); g_clear_pointer (&self->subtitle, g_free); g_clear_object (&self->category); G_OBJECT_CLASS (bz_apps_page_parent_class)->dispose (object); } static void bz_apps_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAppsPage *self = BZ_APPS_PAGE (object); switch (prop_id) { case PROP_PAGE_TITLE: g_value_set_string (value, self->title); break; case PROP_APPLICATIONS: g_value_set_object (value, self->applications); break; case PROP_ALL_APPLICATIONS: g_value_set_object (value, self->all_applications); break; case PROP_CAROUSEL_APPLICATIONS: g_value_set_object (value, self->carousel_applications); break; case PROP_PAGE_SUBTITLE: g_value_set_string (value, self->subtitle); break; case PROP_CATEGORY: g_value_set_object (value, self->category); break; case PROP_FLATHUB_STATE: g_value_set_object (value, bz_state_info_get_flathub(bz_state_info_get_default ())); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_apps_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAppsPage *self = BZ_APPS_PAGE (object); switch (prop_id) { case PROP_PAGE_TITLE: g_clear_pointer (&self->title, g_free); self->title = g_value_dup_string (value); break; case PROP_APPLICATIONS: g_clear_object (&self->applications); self->applications = g_value_dup_object (value); break; case PROP_ALL_APPLICATIONS: g_clear_object (&self->all_applications); self->all_applications = g_value_dup_object (value); break; case PROP_CAROUSEL_APPLICATIONS: g_clear_object (&self->carousel_applications); self->carousel_applications = g_value_dup_object (value); break; case PROP_PAGE_SUBTITLE: g_clear_pointer (&self->subtitle, g_free); self->subtitle = g_value_dup_string (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean is_not_null (gpointer object, GObject *value) { return value != NULL; } static gboolean is_not_empty_string (gpointer object, const char *str) { return str != NULL && str[0] != '\0'; } static gboolean is_not_empty_list (gpointer object, GListModel *list) { return list != NULL && g_list_model_get_n_items (list) > 0; } static gboolean is_scrolled_down (gpointer object, double value, gboolean carousel_visible) { return value > (carousel_visible ? 400.0 : 50.0); } static void featured_carousel_group_clicked_cb (BzAppsPage *self, BzEntryGroup *group, GtkWidget *carousel) { gtk_widget_activate_action (GTK_WIDGET (self), "window.show-group", "s", bz_entry_group_get_id (group)); } static void show_all_cb (BzAppsPage *self, GtkButton *button) { GtkWidget *nav_view = NULL; AdwNavigationPage *all_page = NULL; g_autofree char *all_title = NULL; guint n_items = 0; g_return_if_fail (BZ_IS_APPS_PAGE (self)); if (self->all_applications == NULL) return; n_items = g_list_model_get_n_items (self->all_applications); if (n_items == 0) return; nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); if (nav_view == NULL) return; all_title = g_strdup_printf (_("All \"%s\""), self->title); all_page = bz_all_apps_page_new (all_title, self->all_applications); if (all_page == NULL) return; adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), all_page); } static void bz_apps_page_class_init (BzAppsPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_apps_page_dispose; object_class->get_property = bz_apps_page_get_property; object_class->set_property = bz_apps_page_set_property; props[PROP_PAGE_TITLE] = g_param_spec_string ( "page-title", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_APPLICATIONS] = g_param_spec_object ( "applications", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_ALL_APPLICATIONS] = g_param_spec_object ( "all-applications", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_CAROUSEL_APPLICATIONS] = g_param_spec_object ( "carousel-applications", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_PAGE_SUBTITLE] = g_param_spec_string ( "page-subtitle", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_CATEGORY] = g_param_spec_object ( "category", NULL, NULL, BZ_TYPE_FLATHUB_CATEGORY, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_FLATHUB_STATE] = g_param_spec_object ( "flathub-state", NULL, NULL, BZ_TYPE_FLATHUB_STATE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_APP_TILE); g_type_ensure (BZ_TYPE_SUBCATEGORY_LIST); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-apps-page.ui"); gtk_widget_class_bind_template_callback (widget_class, is_not_null); gtk_widget_class_bind_template_callback (widget_class, is_not_empty_string); gtk_widget_class_bind_template_callback (widget_class, is_not_empty_list); gtk_widget_class_bind_template_callback (widget_class, is_scrolled_down); gtk_widget_class_bind_template_callback (widget_class, featured_carousel_group_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, show_all_cb); } static void bz_apps_page_init (BzAppsPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); } AdwNavigationPage * bz_apps_page_new (const char *title, GListModel *applications) { return bz_apps_page_new_with_carousel (title, applications, NULL); } AdwNavigationPage * bz_apps_page_new_with_carousel (const char *title, GListModel *applications, GListModel *carousel_applications) { BzAppsPage *apps_page = NULL; apps_page = g_object_new ( BZ_TYPE_APPS_PAGE, "page-title", title, "applications", applications, "carousel-applications", carousel_applications, NULL); adw_navigation_page_set_title (ADW_NAVIGATION_PAGE (apps_page), title); return ADW_NAVIGATION_PAGE (apps_page); } static gboolean filter_by_category (BzEntryGroup *group, const char *category_name) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (group), FALSE); g_return_val_if_fail (category_name != NULL, FALSE); return bz_entry_group_has_category (group, category_name); } static DexFuture * filter_applications_fiber (BzAppsPage *self) { g_autoptr (GError) error = NULL; g_autoptr (GtkFilterListModel) filtered_model = NULL; GListModel *all_model = NULL; const char *category_name = NULL; BzStateInfo *state_info = NULL; state_info = bz_state_info_get_default (); if (state_info == NULL) return NULL; all_model = bz_state_info_get_filtered_entry_groups (state_info); if (all_model == NULL) return NULL; category_name = g_object_get_data (G_OBJECT (self), "category-name"); if (category_name == NULL) return NULL; filtered_model = gtk_filter_list_model_new ( g_object_ref (all_model), GTK_FILTER (gtk_custom_filter_new ( (GtkCustomFilterFunc) filter_by_category, g_strdup (category_name), g_free))); g_set_object (&self->all_applications, G_LIST_MODEL (filtered_model)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALL_APPLICATIONS]); return NULL; } static AdwNavigationPage * create_split_page (const char *title, GListModel *model, GListModel *carousel_model) { AdwNavigationPage *apps_page = NULL; guint n_items = g_list_model_get_n_items (model); if (n_items > 48) { g_autoptr (GListModel) limited_model = NULL; limited_model = G_LIST_MODEL (gtk_slice_list_model_new ( g_object_ref (model), 0, 48)); if (carousel_model != NULL && g_list_model_get_n_items (carousel_model) > 0) apps_page = bz_apps_page_new_with_carousel (title, limited_model, carousel_model); else apps_page = bz_apps_page_new (title, limited_model); if (g_set_object (&BZ_APPS_PAGE (apps_page)->all_applications, model)) g_object_notify_by_pspec (G_OBJECT (apps_page), props[PROP_ALL_APPLICATIONS]); } else { if (carousel_model != NULL && g_list_model_get_n_items (carousel_model) > 0) apps_page = bz_apps_page_new_with_carousel (title, model, carousel_model); else apps_page = bz_apps_page_new (title, model); } return apps_page; } static AdwNavigationPage * create_standard_page (const char *title, GListModel *model, GListModel *carousel_model) { if (carousel_model != NULL && g_list_model_get_n_items (carousel_model) > 0) return bz_apps_page_new_with_carousel (title, model, carousel_model); else return bz_apps_page_new (title, model); } static void setup_category_filter (AdwNavigationPage *apps_page, const char *category_name) { if (apps_page == NULL || category_name == NULL || g_strcmp0 (category_name, "adwaita") == 0) return; g_object_set_data_full (G_OBJECT (apps_page), "category-name", g_strdup (category_name), g_free); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) filter_applications_fiber, g_object_ref (apps_page), g_object_unref)); } AdwNavigationPage * bz_apps_page_new_from_category (BzFlathubCategory *category) { g_autoptr (GListModel) model = NULL; g_autoptr (GListModel) carousel_model = NULL; AdwNavigationPage *apps_page = NULL; const char *title = NULL; const char *category_name = NULL; g_autofree char *subtitle = NULL; int total_entries = 0; guint n_items = 0; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (category), NULL); model = bz_flathub_category_dup_applications (category); if (model == NULL) return NULL; title = bz_flathub_category_get_display_name (category); category_name = bz_flathub_category_get_name (category); n_items = g_list_model_get_n_items (model); carousel_model = bz_flathub_category_dup_quality_applications (category); total_entries = bz_flathub_category_get_total_entries (category); if (n_items > 48) apps_page = create_split_page (title, model, carousel_model); else apps_page = create_standard_page (title, model, carousel_model); if (total_entries > 0 && !bz_flathub_category_get_is_spotlight (category)) { subtitle = g_strdup_printf (_ ("%d Applications"), total_entries); bz_apps_page_set_subtitle (BZ_APPS_PAGE (apps_page), subtitle); } BZ_APPS_PAGE(apps_page)->category = g_object_ref (category); g_object_notify_by_pspec (G_OBJECT (apps_page), props[PROP_CATEGORY]); if (n_items <= 48) setup_category_filter (apps_page, category_name); return apps_page; } void bz_apps_page_set_subtitle (BzAppsPage *self, const char *subtitle) { g_return_if_fail (BZ_IS_APPS_PAGE (self)); if (g_strcmp0 (self->subtitle, subtitle) == 0) return; g_clear_pointer (&self->subtitle, g_free); if (subtitle != NULL) self->subtitle = g_strdup (subtitle); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PAGE_SUBTITLE]); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-apps-page.h��������������������������������������������������������0000664�0000000�0000000�00000002725�15234476640�0020522�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-apps-page.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-flathub-category.h" G_BEGIN_DECLS #define BZ_TYPE_APPS_PAGE (bz_apps_page_get_type ()) G_DECLARE_FINAL_TYPE (BzAppsPage, bz_apps_page, BZ, APPS_PAGE, AdwNavigationPage) AdwNavigationPage * bz_apps_page_new (const char *title, GListModel *applications); AdwNavigationPage * bz_apps_page_new_with_carousel (const char *title, GListModel *applications, GListModel *carousel_applications); AdwNavigationPage * bz_apps_page_new_from_category (BzFlathubCategory *category); void bz_apps_page_set_subtitle (BzAppsPage *self, const char *subtitle); G_END_DECLS �������������������������������������������bazaar-org-bazaar-917017d/src/bz-appstream-description-render.blp�����������������������������������0000664�0000000�0000000�00000000466�15234476640�0024765�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzAppstreamDescriptionRender: Adw.Bin { child: Box { orientation: vertical; TextView text_view { notify::has-focus => $text_focus_cb(); editable: false; cursor-visible: false; wrap-mode: word_char; height-request: 25; } }; }����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-appstream-description-render.c�������������������������������������0000664�0000000�0000000�00000052671�15234476640�0024437�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-appstream-description-render.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::APPSTREAM-DESCRIPTION-RENDER" #include "config.h" #include <xmlb.h> #include "bz-appstream-description-render.h" enum { NO_ELEMENT, PARAGRAPH, ORDERED_LIST, UNORDERED_LIST, LIST_ITEM, CODE, EMPHASIS, }; struct _BzAppstreamDescriptionRender { AdwBin parent_instance; char *appstream_description; /* Template widgets */ GtkTextView *text_view; }; G_DEFINE_FINAL_TYPE (BzAppstreamDescriptionRender, bz_appstream_description_render, ADW_TYPE_BIN); enum { PROP_0, PROP_APPSTREAM_DESCRIPTION, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void setup_text_tags (GtkTextBuffer *buffer); static void regenerate (BzAppstreamDescriptionRender *self); static void insert (BzAppstreamDescriptionRender *self, GtkTextBuffer *buffer, GtkTextIter *iter, const char *text); static void compile (BzAppstreamDescriptionRender *self, XbNode *node, GtkTextBuffer *buffer, GtkTextIter *iter, int parent_kind, int idx, gboolean is_last_sibling, gboolean *in_space, gboolean *at_start); static char * normalize_whitespace (const char *text, gboolean *in_space, gboolean *at_start); static void on_map (GtkWidget *widget, BzAppstreamDescriptionRender *self); static const char * get_link_at_coords (GtkTextView *text_view, double x, double y); static void on_click_released (GtkGestureClick *gesture, int n_press, double x, double y, GtkTextView *text_view); static void on_motion (GtkEventControllerMotion *controller, double x, double y, GtkTextView *text_view); static void text_focus_cb (GtkTextView *text_view, GParamSpec *pspec, BzAppstreamDescriptionRender *self); static void bz_appstream_description_render_dispose (GObject *object) { BzAppstreamDescriptionRender *self = BZ_APPSTREAM_DESCRIPTION_RENDER (object); g_clear_pointer (&self->appstream_description, g_free); G_OBJECT_CLASS (bz_appstream_description_render_parent_class)->dispose (object); } static void bz_appstream_description_render_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAppstreamDescriptionRender *self = BZ_APPSTREAM_DESCRIPTION_RENDER (object); switch (prop_id) { case PROP_APPSTREAM_DESCRIPTION: g_value_set_string (value, bz_appstream_description_render_get_appstream_description (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_appstream_description_render_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAppstreamDescriptionRender *self = BZ_APPSTREAM_DESCRIPTION_RENDER (object); switch (prop_id) { case PROP_APPSTREAM_DESCRIPTION: bz_appstream_description_render_set_appstream_description (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_appstream_description_render_class_init (BzAppstreamDescriptionRenderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_appstream_description_render_set_property; object_class->get_property = bz_appstream_description_render_get_property; object_class->dispose = bz_appstream_description_render_dispose; props[PROP_APPSTREAM_DESCRIPTION] = g_param_spec_string ( "appstream-description", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-appstream-description-render.ui"); gtk_widget_class_bind_template_child (widget_class, BzAppstreamDescriptionRender, text_view); gtk_widget_class_bind_template_callback (widget_class, text_focus_cb); } static void setup_text_tags (GtkTextBuffer *buffer) { gtk_text_buffer_create_tag (buffer, "code", "family", "monospace", NULL); gtk_text_buffer_create_tag (buffer, "emphasis", "weight", PANGO_WEIGHT_BOLD, NULL); gtk_text_buffer_create_tag (buffer, "paragraph", "pixels-below-lines", 12, NULL); gtk_text_buffer_create_tag (buffer, "list-item-ul", "left-margin", 10, "pixels-below-lines", 4, "indent", -12, NULL); gtk_text_buffer_create_tag (buffer, "list-item-ol", "left-margin", 10, "pixels-below-lines", 4, "indent", -18, NULL); gtk_text_buffer_create_tag (buffer, "list-number", "family", "monospace", "foreground", "gray", NULL); } static void bz_appstream_description_render_init (BzAppstreamDescriptionRender *self) { GtkTextBuffer *buffer = NULL; GtkGesture *click = NULL; GtkEventController *motion = NULL; AdwStyleManager *style_manager = NULL; gtk_widget_init_template (GTK_WIDGET (self)); buffer = gtk_text_view_get_buffer (self->text_view); setup_text_tags (buffer); gtk_widget_remove_css_class (GTK_WIDGET (self->text_view), "view"); g_signal_connect (self, "map", G_CALLBACK (on_map), self); click = gtk_gesture_click_new (); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (click), GDK_BUTTON_PRIMARY); g_signal_connect (click, "released", G_CALLBACK (on_click_released), self->text_view); gtk_widget_add_controller (GTK_WIDGET (self->text_view), GTK_EVENT_CONTROLLER (click)); motion = gtk_event_controller_motion_new (); g_signal_connect (motion, "motion", G_CALLBACK (on_motion), self->text_view); gtk_widget_add_controller (GTK_WIDGET (self->text_view), motion); style_manager = adw_style_manager_get_default (); g_signal_connect_object (style_manager, "notify::accent-color", G_CALLBACK (regenerate), self, G_CONNECT_SWAPPED); } static const char * get_link_at_coords (GtkTextView *text_view, double x, double y) { GtkTextIter iter = { 0 }; int bx = 0; int by = 0; g_autoptr (GSList) tags = NULL; GSList *l = NULL; const char *href = NULL; gtk_text_view_window_to_buffer_coords (text_view, GTK_TEXT_WINDOW_WIDGET, (int) x, (int) y, &bx, &by); gtk_text_view_get_iter_at_location (text_view, &iter, bx, by); tags = gtk_text_iter_get_tags (&iter); for (l = tags; l != NULL; l = l->next) { href = g_object_get_data (G_OBJECT (l->data), "href"); if (href != NULL) return href; } return NULL; } static void on_click_released (GtkGestureClick *gesture, int n_press, double x, double y, GtkTextView *text_view) { const char *href = NULL; g_autoptr (GtkUriLauncher) launcher = NULL; GtkWindow *root = NULL; href = get_link_at_coords (text_view, x, y); if (href == NULL) return; launcher = gtk_uri_launcher_new (href); root = GTK_WINDOW (gtk_widget_get_root (GTK_WIDGET (text_view))); gtk_uri_launcher_launch (launcher, root, NULL, NULL, NULL); } static void on_motion (GtkEventControllerMotion *controller, double x, double y, GtkTextView *text_view) { if (get_link_at_coords (text_view, x, y) != NULL) gtk_widget_set_cursor_from_name (GTK_WIDGET (text_view), "pointer"); else gtk_widget_set_cursor (GTK_WIDGET (text_view), NULL); } static void text_focus_cb (GtkTextView *text_view, GParamSpec *pspec, BzAppstreamDescriptionRender *self) { GtkTextBuffer *buffer = NULL; GtkTextIter start = { 0 }; GtkTextIter end = { 0 }; buffer = gtk_text_view_get_buffer (self->text_view); gtk_text_buffer_get_bounds (buffer, &start, &end); if (gtk_widget_has_focus (GTK_WIDGET (text_view))) { g_autofree char *full_text = NULL; full_text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); if (full_text != NULL && *full_text != '\0') gtk_accessible_update_property (GTK_ACCESSIBLE (text_view), GTK_ACCESSIBLE_PROPERTY_LABEL, full_text, -1); gtk_text_buffer_select_range (buffer, &start, &end); } else gtk_text_buffer_place_cursor (buffer, &start); } BzAppstreamDescriptionRender * bz_appstream_description_render_new (void) { return g_object_new (BZ_TYPE_APPSTREAM_DESCRIPTION_RENDER, NULL); } const char * bz_appstream_description_render_get_appstream_description (BzAppstreamDescriptionRender *self) { g_return_val_if_fail (BZ_IS_APPSTREAM_DESCRIPTION_RENDER (self), NULL); return self->appstream_description; } void bz_appstream_description_render_set_appstream_description (BzAppstreamDescriptionRender *self, const char *appstream_description) { g_return_if_fail (BZ_IS_APPSTREAM_DESCRIPTION_RENDER (self)); g_clear_pointer (&self->appstream_description, g_free); if (appstream_description != NULL) self->appstream_description = g_strdup (appstream_description); regenerate (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APPSTREAM_DESCRIPTION]); } static void regenerate (BzAppstreamDescriptionRender *self) { g_autoptr (GError) local_error = NULL; g_autoptr (XbSilo) silo = NULL; g_autoptr (XbNode) root = NULL; GtkTextBuffer *buffer = NULL; GtkTextIter iter = { 0 }; int node_count = 0; gboolean in_space = FALSE; gboolean at_start = TRUE; buffer = gtk_text_view_get_buffer (self->text_view); gtk_text_buffer_set_text (buffer, "", 0); if (self->appstream_description == NULL) return; silo = xb_silo_new_from_xml (self->appstream_description, &local_error); if (silo == NULL) { g_warning ("Failed to parse appstream description XML: %s", local_error->message); return; } gtk_text_buffer_get_end_iter (buffer, &iter); root = xb_silo_get_root (silo); for (XbNode *n = g_object_ref (root); n != NULL;) { XbNode *last = NULL; node_count++; last = n; n = xb_node_get_next (n); g_object_unref (last); } for (int i = 0; root != NULL; i++) { g_autoptr (XbNode) next = NULL; gboolean is_last = (i == node_count - 1); compile (self, root, buffer, &iter, NO_ELEMENT, i, is_last, &in_space, &at_start); next = xb_node_get_next (root); g_object_unref (root); root = g_steal_pointer (&next); } } static void insert_url (BzAppstreamDescriptionRender *self, GtkTextBuffer *buffer, GtkTextIter *iter, const char *url) { g_autoptr (GdkRGBA) rgba = NULL; GtkTextTag *tag = NULL; GtkTextMark *mark = NULL; GtkTextIter start = { 0 }; rgba = adw_style_manager_get_accent_color_rgba (adw_style_manager_get_default ()); tag = gtk_text_buffer_create_tag (buffer, NULL, "foreground-rgba", rgba, "underline", PANGO_UNDERLINE_SINGLE, NULL); g_object_set_data_full (G_OBJECT (tag), "href", g_strdup (url), g_free); mark = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); gtk_text_buffer_insert (buffer, iter, url, -1); gtk_text_buffer_get_iter_at_mark (buffer, &start, mark); gtk_text_buffer_apply_tag (buffer, tag, &start, iter); gtk_text_buffer_delete_mark (buffer, mark); } static void insert (BzAppstreamDescriptionRender *self, GtkTextBuffer *buffer, GtkTextIter *iter, const char *text) { g_auto (GStrv) parts = NULL; const char *p = NULL; const char *http = NULL; const char *https = NULL; const char *url_start = NULL; const char *url_end = NULL; const char *chunk = NULL; GtkTextMark *m = NULL; GtkTextIter si = { 0 }; g_autofree char *url = NULL; int j = 0; parts = g_strsplit (text, "**", -1); for (j = 0; parts[j] != NULL; j++) { chunk = parts[j]; if (j % 2 != 0) { m = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); gtk_text_buffer_insert (buffer, iter, chunk, -1); gtk_text_buffer_get_iter_at_mark (buffer, &si, m); gtk_text_buffer_apply_tag_by_name (buffer, "emphasis", &si, iter); gtk_text_buffer_delete_mark (buffer, m); continue; } p = chunk; while (*p != '\0') { http = strstr (p, "http://"); https = strstr (p, "https://"); url_start = (http != NULL && (https == NULL || http < https)) ? http : https; if (url_start == NULL) { gtk_text_buffer_insert (buffer, iter, p, -1); break; } if (url_start > p) gtk_text_buffer_insert (buffer, iter, p, (int) (url_start - p)); url_end = url_start; while (*url_end != '\0' && !g_unichar_isspace (g_utf8_get_char (url_end))) url_end = g_utf8_next_char (url_end); url = g_strndup (url_start, url_end - url_start); for (char *end = url + strlen (url) - 1; end >= url && strchr (").,!?", *end) != NULL; end--) { *end = '\0'; url_end--; } insert_url (self, buffer, iter, url); p = url_end; } } } static void compile (BzAppstreamDescriptionRender *self, XbNode *node, GtkTextBuffer *buffer, GtkTextIter *iter, int parent_kind, int idx, gboolean is_last_sibling, gboolean *in_space, gboolean *at_start) { const char *element = NULL; const char *text = NULL; XbNode *child = NULL; int kind = NO_ELEMENT; GtkTextMark *start_mark = NULL; int child_count = 0; gboolean local_in_space = FALSE; gboolean local_at_start = TRUE; element = xb_node_get_element (node); text = xb_node_get_text (node); child = xb_node_get_child (node); kind = NO_ELEMENT; start_mark = NULL; if (element != NULL) { if (g_strcmp0 (element, "p") == 0) { kind = PARAGRAPH; start_mark = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); } else if (g_strcmp0 (element, "ol") == 0) kind = ORDERED_LIST; else if (g_strcmp0 (element, "ul") == 0) kind = UNORDERED_LIST; else if (g_strcmp0 (element, "li") == 0) { kind = LIST_ITEM; start_mark = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); if (parent_kind == ORDERED_LIST) { g_autofree char *prefix = NULL; GtkTextMark *prefix_start_mark; GtkTextIter prefix_start_iter; prefix_start_mark = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); prefix = g_strdup_printf ("%d.", idx + 1); gtk_text_buffer_insert (buffer, iter, prefix, -1); gtk_text_buffer_get_iter_at_mark (buffer, &prefix_start_iter, prefix_start_mark); gtk_text_buffer_apply_tag_by_name (buffer, "list-number", &prefix_start_iter, iter); gtk_text_buffer_delete_mark (buffer, prefix_start_mark); } else gtk_text_buffer_insert (buffer, iter, "• ", -1); } else if (g_strcmp0 (element, "code") == 0) { kind = CODE; start_mark = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); } else if (g_strcmp0 (element, "em") == 0) { kind = EMPHASIS; start_mark = gtk_text_buffer_create_mark (buffer, NULL, iter, TRUE); } } if (kind == PARAGRAPH || kind == LIST_ITEM) { in_space = &local_in_space; at_start = &local_at_start; } if (text != NULL) { g_autofree char *normalized = NULL; normalized = normalize_whitespace (text, in_space, at_start); if (normalized != NULL && *normalized != '\0') insert (self, buffer, iter, normalized); } for (int i = 0; child != NULL; i++) { const char *tail = NULL; XbNode *next = NULL; next = xb_node_get_next (child); compile (self, child, buffer, iter, kind, i, next == NULL, in_space, at_start); tail = xb_node_get_tail (child); if (tail != NULL) { g_autofree char *normalized = NULL; normalized = normalize_whitespace (tail, in_space, at_start); if (normalized != NULL && *normalized != '\0') insert (self, buffer, iter, normalized); } g_object_unref (child); child = next; child_count++; } if (start_mark != NULL) { GtkTextIter start_iter = { 0 }; gtk_text_buffer_get_iter_at_mark (buffer, &start_iter, start_mark); if (kind == CODE) gtk_text_buffer_apply_tag_by_name (buffer, "code", &start_iter, iter); else if (kind == EMPHASIS) gtk_text_buffer_apply_tag_by_name (buffer, "emphasis", &start_iter, iter); else if (kind == PARAGRAPH) gtk_text_buffer_apply_tag_by_name (buffer, "paragraph", &start_iter, iter); else if (kind == LIST_ITEM) { const char *tag_name = NULL; tag_name = (parent_kind == ORDERED_LIST) ? "list-item-ol" : "list-item-ul"; gtk_text_buffer_apply_tag_by_name (buffer, tag_name, &start_iter, iter); gtk_text_buffer_insert (buffer, iter, "\n", 1); } gtk_text_buffer_delete_mark (buffer, start_mark); } if (kind == PARAGRAPH && !is_last_sibling) gtk_text_buffer_insert (buffer, iter, "\n", 1); else if ((kind == ORDERED_LIST || kind == UNORDERED_LIST) && !is_last_sibling && child_count > 0) gtk_text_buffer_insert (buffer, iter, "\n", 1); } static void on_map (GtkWidget *widget, BzAppstreamDescriptionRender *self) { gtk_widget_queue_resize (GTK_WIDGET (self)); } static char * normalize_whitespace (const char *text, gboolean *in_space, gboolean *at_start) { g_autoptr (GString) result = NULL; if (text == NULL) return NULL; result = g_string_new (NULL); for (const char *p = text; p != NULL && *p != '\0'; p = g_utf8_next_char (p)) { gunichar ch = 0; ch = g_utf8_get_char (p); if (g_unichar_isspace (ch)) { if (!*at_start) *in_space = TRUE; } else { if (!*at_start && *in_space) g_string_append_c (result, ' '); g_string_append_unichar (result, ch); *in_space = FALSE; *at_start = FALSE; } } return g_string_free (g_steal_pointer (&result), FALSE); } /* End of bz-appstream-description-render.c */ �����������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-appstream-description-render.h�������������������������������������0000664�0000000�0000000�00000002741�15234476640�0024435�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-appstream-description-render.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_APPSTREAM_DESCRIPTION_RENDER (bz_appstream_description_render_get_type ()) G_DECLARE_FINAL_TYPE (BzAppstreamDescriptionRender, bz_appstream_description_render, BZ, APPSTREAM_DESCRIPTION_RENDER, AdwBin) BzAppstreamDescriptionRender * bz_appstream_description_render_new (void); const char * bz_appstream_description_render_get_appstream_description (BzAppstreamDescriptionRender *self); void bz_appstream_description_render_set_appstream_description (BzAppstreamDescriptionRender *self, const char *appstream_description); G_END_DECLS /* End of bz-appstream-description-render.h */ �������������������������������bazaar-org-bazaar-917017d/src/bz-appstream-parser.c�������������������������������������������������0000664�0000000�0000000�00000070230�15234476640�0022122�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-appstream-parser.c * * Copyright 2025 Adam Masciola, 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::APPSTREAM-PARSER" #define BAZAAR_MODULE "appstream-parser" #include "config.h" #include <glib/gi18n.h> #include "bz-appstream-parser.h" #include "bz-async-texture.h" #include "bz-category-flags.h" #include "io.h" #include "bz-release.h" #include "bz-url.h" #include "bz-verification-status.h" #include "bz-flatpak-entry.h" static guint parse_control_value (const char *value) { if (g_strcmp0 (value, "pointing") == 0) return BZ_CONTROL_POINTING; else if (g_strcmp0 (value, "keyboard") == 0) return BZ_CONTROL_KEYBOARD; else if (g_strcmp0 (value, "console") == 0) return BZ_CONTROL_CONSOLE; else if (g_strcmp0 (value, "tablet") == 0) return BZ_CONTROL_TABLET; else if (g_strcmp0 (value, "touch") == 0) return BZ_CONTROL_TOUCH; else if (g_strcmp0 (value, "gamepad") == 0) return BZ_CONTROL_GAMEPAD; else if (g_strcmp0 (value, "tv-remote") == 0) return BZ_CONTROL_TV_REMOTE; else if (g_strcmp0 (value, "voice") == 0) return BZ_CONTROL_VOICE; else if (g_strcmp0 (value, "vision") == 0) return BZ_CONTROL_VISION; else return 0; } static gboolean calculate_is_mobile_friendly (guint required_controls, guint recommended_controls, guint supported_controls) { return (required_controls & BZ_CONTROL_TOUCH) != 0 || (recommended_controls & BZ_CONTROL_TOUCH) != 0 || (supported_controls & BZ_CONTROL_TOUCH) != 0; } static char * proxy_screenshot_url (const char *url, gboolean high_quality) { g_autofree char *src = NULL; g_autofree char *encoded_url = NULL; const char *suffix = NULL; if (g_str_has_prefix (url, "https://dl.flathub.org/repo/screenshots/")) { suffix = url + strlen ("https://dl.flathub.org/repo/screenshots/"); src = g_strdup_printf ("https://dl.flathub.org/media/%s", suffix); } else if (g_str_has_prefix (url, "https://dl.flathub.org/")) { src = g_strdup (url); } else { return g_strdup (url); } encoded_url = g_base64_encode ((const guchar *) src, strlen (src)); g_strdelimit (encoded_url, "=", '\0'); for (char *p = encoded_url; *p; p++) { if (*p == '+') *p = '-'; if (*p == '/') *p = '_'; } return g_strdup_printf ( "https://imgproxy.flathub.org/insecure/%s/%s", high_quality ? "q:90/f:avif" : "dpr:1/f:avif/rs:fill-down", encoded_url); } static GdkPaintable * find_screenshot (GPtrArray *images, const char *caption, gboolean match_highest, guint target_width, guint target_height, gboolean require_flathub, const char *module_dir, const char *unique_id_checksum, const char *cache_filename, char **out_caption) { const char *best_url = NULL; gint best_diff = G_MAXINT; guint best_res = 0; guint best_width = 0; guint best_height = 0; guint target_pixels = target_width * target_height; if (images == NULL) return NULL; for (guint j = 0; j < images->len; j++) { AsImage *image_obj = g_ptr_array_index (images, j); const char *url = as_image_get_url (image_obj); guint width = as_image_get_width (image_obj); guint height = as_image_get_height (image_obj); guint pixels = width * height; if (url == NULL) continue; if (require_flathub && !g_str_has_prefix (url, "https://dl.flathub.org/")) continue; if (match_highest) { if (best_url == NULL || pixels > best_res) { best_url = url; best_res = pixels; best_width = width; best_height = height; } } else { gint diff = ABS ((gint) pixels - (gint) target_pixels); if (best_url == NULL || diff < best_diff) { best_url = url; best_diff = diff; best_width = width; best_height = height; } } } if (best_url != NULL) { g_autoptr (GFile) screenshot_file = NULL; g_autoptr (GFile) cache_file = NULL; g_autofree char *proxied_url = NULL; BzAsyncTexture *texture = NULL; proxied_url = proxy_screenshot_url (best_url, match_highest); screenshot_file = g_file_new_for_uri (proxied_url); cache_file = g_file_new_build_filename ( module_dir, unique_id_checksum, cache_filename, NULL); if (best_width > 0 && best_height > 0) texture = bz_async_texture_new_lazy_with_size (screenshot_file, cache_file, best_width, best_height); else texture = bz_async_texture_new_lazy (screenshot_file, cache_file); if (out_caption != NULL) *out_caption = g_strdup (caption ? caption : ""); return GDK_PAINTABLE (texture); } return NULL; } gboolean bz_appstream_parser_populate_entry (BzEntry *entry, AsComponent *component, const char *appstream_dir, const char *remote_name, const char *module_dir, const char *unique_id_checksum, const char *id, guint kinds, GError **error) { AsDeveloper *developer_obj = NULL; GPtrArray *screenshots = NULL; AsReleaseList *releases = NULL; GPtrArray *releases_arr = NULL; GPtrArray *icons = NULL; AsBranding *branding = NULL; GPtrArray *requires_relations = NULL; GPtrArray *recommends_relations = NULL; GPtrArray *supports_relations = NULL; const char *title = NULL; const char *description = NULL; const char *metadata_license = NULL; const char *project_license = NULL; gboolean is_floss = FALSE; const char *project_group = NULL; const char *developer = NULL; const char *developer_id = NULL; const char *long_description = NULL; const char *project_url = NULL; g_autoptr (GPtrArray) as_search_tokens = NULL; g_autofree char *search_tokens = NULL; g_autoptr (GdkPaintable) icon_paintable = NULL; g_autoptr (GIcon) mini_icon = NULL; g_autoptr (GListStore) screenshot_paintables = NULL; g_autoptr (GListStore) screenshot_captions = NULL; g_autoptr (GdkPaintable) thumbnail_paintable = NULL; g_autoptr (GListStore) share_urls = NULL; g_autofree char *donation_url = NULL; g_autofree char *ratings_summary = NULL; g_autoptr (GListStore) version_history = NULL; const char *accent_color_light = NULL; const char *accent_color_dark = NULL; guint required_controls = 0; guint recommended_controls = 0; guint supported_controls = 0; gint min_display_length = 0; gint max_display_length = 0; gboolean is_mobile_friendly = FALSE; g_autoptr (AsContentRating) content_rating = NULL; GPtrArray *as_keywords = NULL; g_autoptr (GListStore) keywords = NULL; GPtrArray *as_categories = NULL; BzCategoryFlags categories = BZ_CATEGORY_FLAGS_NONE; g_autoptr (BzVerificationStatus) verification_status = NULL; g_return_val_if_fail (BZ_IS_ENTRY (entry), FALSE); g_return_val_if_fail (AS_IS_COMPONENT (component), FALSE); title = as_component_get_name (component); if (title == NULL) title = as_component_get_id (component); description = as_component_get_summary (component); metadata_license = as_component_get_metadata_license (component); project_license = as_component_get_project_license (component); is_floss = as_component_is_floss (component); project_group = as_component_get_project_group (component); project_url = as_component_get_url (component, AS_URL_KIND_HOMEPAGE); as_search_tokens = as_component_get_search_tokens (component); developer_obj = as_component_get_developer (component); if (developer_obj != NULL) { developer = as_developer_get_name (developer_obj); developer_id = as_developer_get_id (developer_obj); } long_description = as_component_get_description (component); screenshots = as_component_get_screenshots_all (component); if (screenshots != NULL) { screenshot_paintables = g_list_store_new (BZ_TYPE_ASYNC_TEXTURE); screenshot_captions = g_list_store_new (GTK_TYPE_STRING_OBJECT); for (guint i = 0; i < screenshots->len; i++) { AsScreenshot *screenshot = NULL; GPtrArray *images = NULL; const gchar *caption = NULL; g_autofree char *caption_str = NULL; g_autoptr (GdkPaintable) paintable = NULL; g_autofree char *cache_name = NULL; screenshot = g_ptr_array_index (screenshots, i); images = as_screenshot_get_images_all (screenshot); caption = as_screenshot_get_caption (screenshot); if (i == 0 && thumbnail_paintable == NULL) { thumbnail_paintable = find_screenshot (images, caption, FALSE, 400, 300, TRUE, module_dir, unique_id_checksum, "thumbnail", NULL); if (thumbnail_paintable == NULL) thumbnail_paintable = find_screenshot (images, caption, FALSE, 400, 300, FALSE, module_dir, unique_id_checksum, "thumbnail", NULL); } cache_name = g_strdup_printf ("screenshot_%u", i); paintable = find_screenshot (images, caption, TRUE, 0, 0, TRUE, module_dir, unique_id_checksum, cache_name, &caption_str); if (paintable == NULL) paintable = find_screenshot (images, caption, TRUE, 0, 0, FALSE, module_dir, unique_id_checksum, cache_name, &caption_str); if (paintable != NULL) { g_autoptr (GtkStringObject) caption_obj = NULL; g_list_store_append (screenshot_paintables, paintable); caption_obj = gtk_string_object_new (caption_str); g_list_store_append (screenshot_captions, caption_obj); } } } share_urls = g_list_store_new (BZ_TYPE_URL); if (kinds & BZ_ENTRY_KIND_APPLICATION && g_strcmp0 (remote_name, "flathub") == 0) { g_autofree char *flathub_url = NULL; g_autoptr (BzUrl) url = NULL; flathub_url = g_strdup_printf ("https://flathub.org/apps/%s", id); url = bz_url_new (); bz_url_set_id (url, "flathub"); bz_url_set_url (url, flathub_url); g_list_store_append (share_urls, url); } for (int e = AS_URL_KIND_UNKNOWN + 1; e < AS_URL_KIND_LAST; e++) { const char *url = NULL; url = as_component_get_url (component, e); if (url != NULL) { g_autoptr (BzUrl) share_url = NULL; switch (e) { case AS_URL_KIND_DONATION: g_clear_pointer (&donation_url, g_free); donation_url = g_strdup (url); break; default: break; } share_url = g_object_new ( BZ_TYPE_URL, "id", as_url_kind_to_string (e), "url", url, NULL); g_list_store_append (share_urls, share_url); } } // make it even so the link colums stay neat. if (g_strcmp0 (remote_name, "flathub") == 0 && g_list_model_get_n_items (G_LIST_MODEL (share_urls)) % 2 != 0) { g_autofree char *manifest_url = NULL; g_autoptr (BzUrl) url = NULL; manifest_url = g_strdup_printf ("https://github.com/flathub/%s", id); url = g_object_new (BZ_TYPE_URL, "id", "manifest", "url", manifest_url, NULL); g_list_store_append (share_urls, url); } if (g_list_model_get_n_items (G_LIST_MODEL (share_urls)) == 0) g_clear_object (&share_urls); releases = as_component_load_releases (component, TRUE, error); if (releases == NULL) return FALSE; releases_arr = as_release_list_get_entries (releases); if (releases_arr != NULL) { version_history = g_list_store_new (BZ_TYPE_RELEASE); for (guint i = 0; i < releases_arr->len; i++) { AsRelease *as_release = NULL; const char *release_description = NULL; g_autoptr (BzRelease) release = NULL; as_release = g_ptr_array_index (releases_arr, i); release_description = as_release_get_description (as_release); release = g_object_new ( BZ_TYPE_RELEASE, "description", release_description, "timestamp", as_release_get_timestamp (as_release), "url", as_release_get_url (as_release, AS_RELEASE_URL_KIND_DETAILS), "version", as_release_get_version (as_release), NULL); g_list_store_append (version_history, release); } } icons = as_component_get_icons (component); if (icons != NULL) { g_autofree char *select = NULL; gboolean select_is_local = FALSE; int select_width = 0; int select_height = 0; for (guint i = 0; i < icons->len; i++) { AsIcon *icon = NULL; int width = 0; int height = 0; gboolean is_local = FALSE; icon = g_ptr_array_index (icons, i); width = as_icon_get_width (icon); height = as_icon_get_height (icon); is_local = as_icon_get_kind (icon) != AS_ICON_KIND_REMOTE; if (select == NULL || (is_local && !select_is_local) || (width > select_width && height > select_height)) { if (is_local) { const char *filename = NULL; g_autofree char *resolution = NULL; g_autofree char *path = NULL; filename = as_icon_get_filename (icon); if (filename == NULL) continue; resolution = g_strdup_printf ("%dx%d", width, height); path = g_build_filename ( appstream_dir, "icons", "flatpak", resolution, filename, NULL); if (!g_file_test (path, G_FILE_TEST_EXISTS)) continue; g_clear_pointer (&select, g_free); select = g_steal_pointer (&path); select_is_local = TRUE; select_width = width; select_height = height; } else { const char *url = NULL; url = as_icon_get_url (icon); if (url == NULL) continue; g_clear_pointer (&select, g_free); select = g_strdup (url); select_is_local = FALSE; select_width = width; select_height = height; } } } if (select != NULL) { g_autofree char *select_uri = NULL; g_autoptr (GFile) source = NULL; g_autoptr (GFile) cache_into = NULL; BzAsyncTexture *texture = NULL; if (select_is_local) select_uri = g_strdup_printf ("file://%s", select); else select_uri = g_steal_pointer (&select); source = g_file_new_for_uri (select_uri); cache_into = g_file_new_build_filename ( module_dir, unique_id_checksum, "icon-paintable.png", NULL); texture = bz_async_texture_new_lazy (source, cache_into); icon_paintable = GDK_PAINTABLE (texture); if (select_is_local) mini_icon = bz_load_mini_icon_sync (unique_id_checksum, select); } } branding = as_component_get_branding (component); if (branding != NULL) { accent_color_light = as_branding_get_color ( branding, AS_COLOR_KIND_PRIMARY, AS_COLOR_SCHEME_KIND_LIGHT); accent_color_dark = as_branding_get_color ( branding, AS_COLOR_KIND_PRIMARY, AS_COLOR_SCHEME_KIND_DARK); } content_rating = as_component_get_content_rating (component, "oars-1.1"); if (content_rating != NULL) { g_object_ref (content_rating); } else { content_rating = as_component_get_content_rating (component, "oars-1.0"); if (content_rating != NULL) g_object_ref (content_rating); } requires_relations = as_component_get_requires (component); recommends_relations = as_component_get_recommends (component); supports_relations = as_component_get_supports (component); if (requires_relations != NULL) { for (guint i = 0; i < requires_relations->len; i++) { AsRelation *relation = g_ptr_array_index (requires_relations, i); AsRelationItemKind item_kind = as_relation_get_item_kind (relation); if (item_kind == AS_RELATION_ITEM_KIND_CONTROL) { AsControlKind control_kind = as_relation_get_value_control_kind (relation); const char *control_str = as_control_kind_to_string (control_kind); if (control_str != NULL) required_controls |= parse_control_value (control_str); } else if (item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { AsRelationCompare compare = as_relation_get_compare (relation); gint value = as_relation_get_value_int (relation); if (compare == AS_RELATION_COMPARE_GE) min_display_length = value; } } } if (recommends_relations != NULL) { for (guint i = 0; i < recommends_relations->len; i++) { AsRelation *relation = g_ptr_array_index (recommends_relations, i); AsRelationItemKind item_kind = as_relation_get_item_kind (relation); if (item_kind == AS_RELATION_ITEM_KIND_CONTROL) { AsControlKind control_kind = as_relation_get_value_control_kind (relation); const char *control_str = as_control_kind_to_string (control_kind); if (control_str != NULL) recommended_controls |= parse_control_value (control_str); } } } if (supports_relations != NULL) { for (guint i = 0; i < supports_relations->len; i++) { AsRelation *relation = g_ptr_array_index (supports_relations, i); AsRelationItemKind item_kind = as_relation_get_item_kind (relation); if (item_kind == AS_RELATION_ITEM_KIND_CONTROL) { AsControlKind control_kind = as_relation_get_value_control_kind (relation); const char *control_str = as_control_kind_to_string (control_kind); if (control_str != NULL) supported_controls |= parse_control_value (control_str); } else if (item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { AsRelationCompare compare = as_relation_get_compare (relation); gint value = as_relation_get_value_int (relation); if (compare == AS_RELATION_COMPARE_LE) max_display_length = value; } } } is_mobile_friendly = calculate_is_mobile_friendly (required_controls, recommended_controls, supported_controls); if (as_search_tokens != NULL) { g_autoptr (GStrvBuilder) builder = NULL; g_auto (GStrv) strv = NULL; builder = g_strv_builder_new (); for (guint i = 0; i < as_search_tokens->len; i++) { const char *token = NULL; token = g_ptr_array_index (as_search_tokens, i); g_strv_builder_add (builder, token); } strv = g_strv_builder_end (builder); search_tokens = g_strjoinv (" ", strv); } as_keywords = as_component_get_keywords (component); if (as_keywords != NULL && as_keywords->len > 0) { keywords = g_list_store_new (GTK_TYPE_STRING_OBJECT); for (guint i = 0; i < as_keywords->len; i++) { const char *keyword = NULL; g_autoptr (GtkStringObject) keyword_obj = NULL; keyword = g_ptr_array_index (as_keywords, i); keyword_obj = gtk_string_object_new (keyword); g_list_store_append (keywords, keyword_obj); } } as_categories = as_component_get_categories (component); if (as_categories != NULL) { for (guint i = 0; i < as_categories->len; i++) { const char *name = NULL; name = g_ptr_array_index (as_categories, i); categories = bz_category_flags_add (categories, name); } } if (is_mobile_friendly) categories = bz_category_flags_add (categories, "mobile"); if (g_strcmp0 (remote_name, "flathub") == 0) { const char *verified_str = NULL; const char *method = NULL; const char *website = NULL; const char *login_name = NULL; const char *login_provider = NULL; const char *timestamp = NULL; const char *login_is_org_str = NULL; gboolean verified = FALSE; gboolean login_is_org = FALSE; GHashTable *custom_fields = NULL; custom_fields = as_component_get_custom (component); if (custom_fields != NULL) { verified_str = g_hash_table_lookup (custom_fields, "flathub::verification::verified"); method = g_hash_table_lookup (custom_fields, "flathub::verification::method"); website = g_hash_table_lookup (custom_fields, "flathub::verification::website"); login_name = g_hash_table_lookup (custom_fields, "flathub::verification::login_name"); login_provider = g_hash_table_lookup (custom_fields, "flathub::verification::login_provider"); timestamp = g_hash_table_lookup (custom_fields, "flathub::verification::timestamp"); login_is_org_str = g_hash_table_lookup (custom_fields, "flathub::verification::login_is_organization"); } verified = (verified_str != NULL && g_strcmp0 (verified_str, "true") == 0); login_is_org = (login_is_org_str != NULL && g_strcmp0 (login_is_org_str, "true") == 0); verification_status = bz_verification_status_new (); g_object_set (verification_status, "verified", verified, "method", method, "website", website, "login-name", login_name, "login-provider", login_provider, "timestamp", timestamp, "login-is-organization", login_is_org, NULL); } g_object_set ( entry, "title", title, "description", description, "long-description", long_description, "url", project_url, "search-tokens", search_tokens, "metadata-license", metadata_license, "project-license", project_license, "is-floss", is_floss, "project-group", project_group, "developer", developer, "developer-id", developer_id, "icon-paintable", icon_paintable, "mini-icon", mini_icon, "screenshot-paintables", screenshot_paintables, "screenshot-captions", screenshot_captions, "thumbnail-paintable", thumbnail_paintable, "share-urls", share_urls, "donation-url", donation_url, "ratings-summary", ratings_summary, "version-history", version_history, "light-accent-color", accent_color_light, "dark-accent-color", accent_color_dark, "required-controls", required_controls, "recommended-controls", recommended_controls, "supported-controls", supported_controls, "min-display-length", min_display_length, "max-display-length", max_display_length, "is-mobile-friendly", is_mobile_friendly, "content-rating", content_rating, "keywords", keywords, "categories", categories, "verification-status", verification_status, NULL); return TRUE; } BzEntry * bz_appstream_parser_entry_from_metainfo (GFile *metainfo_file, GFile *icon_file, GError **error) { g_autoptr (AsMetadata) mdata = as_metadata_new (); AsComponent *component = NULL; g_autofree char *xml_contents = NULL; g_autofree char *xml_path = NULL; g_autofree char *xml_dir = NULL; g_autofree char *module_dir = NULL; g_autofree char *checksum = NULL; gsize xml_length = 0; g_autoptr (BzEntry) entry = NULL; g_return_val_if_fail (G_IS_FILE (metainfo_file), NULL); xml_path = g_file_get_path (metainfo_file); if (!g_file_get_contents (xml_path, &xml_contents, &xml_length, error)) return NULL; as_metadata_parse_data (mdata, xml_contents, xml_length, AS_FORMAT_KIND_XML, error); if (*error != NULL) return NULL; component = as_metadata_get_component (mdata); if (component == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "No component found in metainfo file"); return NULL; } xml_dir = g_path_get_dirname (xml_path); module_dir = bz_dup_module_dir (); checksum = g_compute_checksum_for_string (G_CHECKSUM_MD5, xml_path, -1); entry = BZ_ENTRY (g_object_new (BZ_TYPE_FLATPAK_ENTRY, NULL)); bz_appstream_parser_populate_entry ( entry, component, xml_dir, "local-preview", module_dir, checksum, as_component_get_id (component), BZ_ENTRY_KIND_APPLICATION, NULL); g_object_set (entry, "remote-repo-name", "local-preview", NULL); if (icon_file != NULL) { g_autoptr (GFile) cache_into = NULL; cache_into = g_file_new_build_filename ( module_dir, checksum, "icon-paintable.png", NULL); g_object_set ( entry, "icon-paintable", GDK_PAINTABLE (bz_async_texture_new_lazy (icon_file, cache_into)), NULL); } return g_steal_pointer (&entry); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-appstream-parser.h�������������������������������������������������0000664�0000000�0000000�00000003232�15234476640�0022125�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-appstream-parser.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include <appstream.h> #include <glib-object.h> G_BEGIN_DECLS gboolean bz_appstream_parser_populate_entry (BzEntry *entry, AsComponent *component, const char *appstream_dir, const char *remote_name, const char *module_dir, const char *unique_id_checksum, const char *id, guint kinds, GError **error); BzEntry * bz_appstream_parser_entry_from_metainfo (GFile *metainfo_file, GFile *icon_file, GError **error); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article-list-view.c������������������������������������������������0000664�0000000�0000000�00000017776�15234476640�0022220�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-article-list-view.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <libdex.h> #include "bz-article-list-view.h" #include "bz-article-tile.h" #include "bz-curated-article.h" #include "bz-curated-articles-info.h" #include "bz-dynamic-list-view.h" #include "env.h" #include "global-net.h" #include "bz-parser.h" #include "bz-yaml-parser.h" struct _BzArticleListView { AdwBin parent_instance; BzCuratedArticlesInfo *articles; GtkWidget *list_view; }; G_DEFINE_FINAL_TYPE (BzArticleListView, bz_article_list_view, ADW_TYPE_BIN) enum { PROP_0, PROP_ARTICLES, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * load_articles_fiber (BzCuratedArticlesInfo *info); static void load_articles_then (DexFuture *future, BzArticleListView *self); static void bz_article_list_view_dispose (GObject *object) { BzArticleListView *self = BZ_ARTICLE_LIST_VIEW (object); g_clear_object (&self->articles); G_OBJECT_CLASS (bz_article_list_view_parent_class)->dispose (object); } static void bz_article_list_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzArticleListView *self = BZ_ARTICLE_LIST_VIEW (object); switch (prop_id) { case PROP_ARTICLES: g_value_set_object (value, bz_article_list_view_get_articles (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_article_list_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzArticleListView *self = BZ_ARTICLE_LIST_VIEW (object); switch (prop_id) { case PROP_ARTICLES: bz_article_list_view_set_articles (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void on_bind_widget (BzDynamicListView *list_view, GtkWidget *widget, GObject *object, BzArticleListView *self) { if (!BZ_IS_ARTICLE_TILE (widget) || self->articles == NULL) return; g_object_bind_property (self->articles, "aspect-ratio", BZ_ARTICLE_TILE (widget), "aspect-ratio", G_BINDING_SYNC_CREATE); } static void bz_article_list_view_class_init (BzArticleListViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_article_list_view_dispose; object_class->get_property = bz_article_list_view_get_property; object_class->set_property = bz_article_list_view_set_property; props[PROP_ARTICLES] = g_param_spec_object ( "articles", NULL, NULL, BZ_TYPE_CURATED_ARTICLES_INFO, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_DYNAMIC_LIST_VIEW); g_type_ensure (BZ_TYPE_ARTICLE_TILE); } static void bz_article_list_view_init (BzArticleListView *self) { self->list_view = g_object_new ( BZ_TYPE_DYNAMIC_LIST_VIEW, "hexpand", TRUE, "scroll", FALSE, "noscroll-kind", BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX, "child-type", "BzArticleTile", "child-prop", "article", "margin-top", 12, NULL); g_signal_connect (self->list_view, "bind-widget", G_CALLBACK (on_bind_widget), self); adw_bin_set_child (ADW_BIN (self), self->list_view); } GtkWidget * bz_article_list_view_new (BzCuratedArticlesInfo *articles) { return g_object_new ( BZ_TYPE_ARTICLE_LIST_VIEW, "articles", articles, NULL); } void bz_article_list_view_set_articles (BzArticleListView *self, BzCuratedArticlesInfo *articles) { g_autoptr (DexFuture) future = NULL; g_return_if_fail (BZ_IS_ARTICLE_LIST_VIEW (self)); g_return_if_fail (articles == NULL || BZ_IS_CURATED_ARTICLES_INFO (articles)); g_clear_object (&self->articles); if (articles != NULL) self->articles = g_object_ref (articles); g_object_set (self->list_view, "model", NULL, NULL); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ARTICLES]); if (articles == NULL) return; future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) load_articles_fiber, g_object_ref (articles), g_object_unref); future = dex_future_then ( future, (DexFutureCallback) load_articles_then, g_object_ref (self), g_object_unref); dex_future_disown (g_steal_pointer (&future)); } BzCuratedArticlesInfo * bz_article_list_view_get_articles (BzArticleListView *self) { g_return_val_if_fail (BZ_IS_ARTICLE_LIST_VIEW (self), NULL); return self->articles; } static DexFuture * load_articles_fiber (BzCuratedArticlesInfo *info) { g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (BzYamlParser) parser = NULL; g_autoptr (GHashTable) results = NULL; g_autoptr (GListStore) store = NULL; const char *uri = NULL; GListModel *fallback = NULL; GValue *value = NULL; GPtrArray *list = NULL; uri = bz_curated_articles_info_get_uri (info); fallback = bz_curated_articles_info_get_list (info); if (uri == NULL) goto use_fallback; bytes = dex_await_boxed (bz_fetch_uri_contents (uri), &local_error); if (bytes == NULL) { g_warning ("Failed to fetch articles from %s: %s", uri, local_error->message); goto use_fallback; } g_type_ensure (BZ_TYPE_CURATED_ARTICLE); parser = bz_yaml_parser_new_for_resource_schema ( "/io/github/kolunmi/Bazaar/article-list-schema.xml"); results = bz_parser_process_bytes (BZ_PARSER (parser), bytes, &local_error); if (results == NULL) { g_warning ("Failed to parse articles yaml: %s", local_error->message); goto use_fallback; } value = g_hash_table_lookup (results, "/"); list = g_value_get_boxed (value); store = g_list_store_new (BZ_TYPE_CURATED_ARTICLE); for (guint i = 0; i < list->len; i++) { GHashTable *item = g_value_get_boxed (g_ptr_array_index (list, i)); GValue *v = g_hash_table_lookup (item, "/"); BzCuratedArticle *article = g_value_get_object (v); g_list_store_append (store, article); } return dex_future_new_take_object (g_steal_pointer (&store)); use_fallback: return dex_future_new_take_object ( fallback != NULL ? g_object_ref (fallback) : (GListModel *) g_list_store_new (BZ_TYPE_CURATED_ARTICLE)); } static void load_articles_then (DexFuture *future, BzArticleListView *self) { g_autoptr (GError) local_error = NULL; const GValue *value = NULL; GListModel *model = NULL; value = dex_future_get_value (future, &local_error); if (value == NULL) { g_warning ("Failed to load articles: %s", local_error->message); return; } model = g_value_get_object (value); g_object_set (self->list_view, "model", model, NULL); } ��bazaar-org-bazaar-917017d/src/bz-article-list-view.h������������������������������������������������0000664�0000000�0000000�00000002462�15234476640�0022207�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-article-list-view.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-curated-articles-info.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_ARTICLE_LIST_VIEW (bz_article_list_view_get_type ()) G_DECLARE_FINAL_TYPE (BzArticleListView, bz_article_list_view, BZ, ARTICLE_LIST_VIEW, AdwBin) GtkWidget * bz_article_list_view_new (BzCuratedArticlesInfo *articles); BzCuratedArticlesInfo * bz_article_list_view_get_articles (BzArticleListView *self); void bz_article_list_view_set_articles (BzArticleListView *self, BzCuratedArticlesInfo *articles); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article-tile.blp���������������������������������������������������0000664�0000000�0000000�00000003267�15234476640�0021553�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzArticleTile: $BzListTile { overflow: hidden; activated => $tile_clicked_cb(); halign: fill; width-request: 275; accessibility { described-by: description; } child: Box { orientation: vertical; styles [ "rich-tile-card", ] Box picture_box { styles [ "rich-screenshot-box", ] Image { icon-name: "image-missing-symbolic"; pixel-size: 96; halign: center; valign: center; hexpand: true; visible: bind picture.visible inverted; } $BzAspectPicture picture { hexpand: true; ratio: bind try{$get_aspect_ratio(template.aspect-ratio) as <float>, 1.77}; paintable: bind $get_image(template.article as <$BzCuratedArticle>.image) as <$GdkPaintable>; } } Box { margin-start: 12; margin-end: 12; margin-top: 12; margin-bottom: 12; orientation: vertical; spacing: 5; height-request: 60; Label title { css-name: "app-tile-title"; styles [ "heading", ] ellipsize: end; xalign: 0; label: bind template.article as <$BzCuratedArticle>.title; max-width-chars: 18; } Label description { css-name: "app-tile-description"; xalign: 0.0; yalign: 0.0; wrap: true; wrap-mode: word_char; ellipsize: end; vexpand: true; lines: 2; max-width-chars: 15; single-line-mode: true; label: bind template.article as <$BzCuratedArticle>.subtitle; height-request: 36; styles [ "dimmed", ] } } }; }�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article-tile.c�����������������������������������������������������0000664�0000000�0000000�00000015162�15234476640�0021215�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-article-tile.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define BAZAAR_MODULE "article-tile" #include "config.h" #include "bz-article-list-view.h" #include "bz-article-tile.h" #include "bz-article.h" #include "bz-aspect-picture.h" #include "bz-async-texture.h" #include "bz-curated-article.h" #include "bz-curated-articles-info.h" #include "io.h" struct _BzArticleTile { BzListTile parent_instance; BzCuratedArticle *article; float aspect_ratio; GBinding *aspect_ratio_binding; GtkWidget *picture_box; GtkWidget *picture; }; G_DEFINE_FINAL_TYPE (BzArticleTile, bz_article_tile, BZ_TYPE_LIST_TILE); enum { PROP_0, PROP_ARTICLE, PROP_ASPECT_RATIO, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_article_tile_dispose (GObject *object) { BzArticleTile *self = BZ_ARTICLE_TILE (object); g_clear_object (&self->article); g_clear_object (&self->aspect_ratio_binding); G_OBJECT_CLASS (bz_article_tile_parent_class)->dispose (object); } static void bz_article_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzArticleTile *self = BZ_ARTICLE_TILE (object); switch (prop_id) { case PROP_ARTICLE: g_value_set_object (value, bz_article_tile_get_article (self)); break; case PROP_ASPECT_RATIO: g_value_set_float (value, self->aspect_ratio); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_article_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzArticleTile *self = BZ_ARTICLE_TILE (object); switch (prop_id) { case PROP_ARTICLE: bz_article_tile_set_article (self, g_value_get_object (value)); break; case PROP_ASPECT_RATIO: self->aspect_ratio = g_value_get_float (value); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ASPECT_RATIO]); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void tile_clicked_cb (GtkButton *button, BzArticleTile *self) { GtkWidget *nav_view = NULL; AdwNavigationPage *page = NULL; if (self->article == NULL) return; nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); if (nav_view == NULL) return; page = bz_article_new (self->article); adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), page); } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, const char *value) { return value == NULL; } static float get_aspect_ratio (gpointer object, float ratio) { return ratio > 0.0f ? ratio : 1.77f; } static BzAsyncTexture * get_image (gpointer object, const char *uri) { g_autoptr (GFile) source = NULL; g_autoptr (GFile) cache_file = NULL; g_autofree char *cache_dir = NULL; g_autofree char *checksum = NULL; g_autofree char *cache_path = NULL; if (uri == NULL) return NULL; source = g_file_new_for_uri (uri); checksum = g_compute_checksum_for_string (G_CHECKSUM_MD5, uri, -1); cache_dir = bz_dup_module_dir (); cache_path = g_build_filename (cache_dir, checksum, NULL); cache_file = g_file_new_for_path (cache_path); return bz_async_texture_new_lazy (source, cache_file); } static void bz_article_tile_class_init (BzArticleTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_article_tile_set_property; object_class->get_property = bz_article_tile_get_property; object_class->dispose = bz_article_tile_dispose; props[PROP_ARTICLE] = g_param_spec_object ( "article", NULL, NULL, BZ_TYPE_CURATED_ARTICLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ASPECT_RATIO] = g_param_spec_float ( "aspect-ratio", NULL, NULL, 0.0f, G_MAXFLOAT, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LIST_TILE); g_type_ensure (BZ_TYPE_ASYNC_TEXTURE); g_type_ensure (BZ_TYPE_ASPECT_PICTURE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-article-tile.ui"); gtk_widget_class_bind_template_callback (widget_class, tile_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, get_image); gtk_widget_class_bind_template_callback (widget_class, get_aspect_ratio); gtk_widget_class_bind_template_child (widget_class, BzArticleTile, picture_box); gtk_widget_class_bind_template_child (widget_class, BzArticleTile, picture); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_article_tile_init (BzArticleTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_article_tile_new (void) { return g_object_new (BZ_TYPE_ARTICLE_TILE, NULL); } BzCuratedArticle * bz_article_tile_get_article (BzArticleTile *self) { g_return_val_if_fail (BZ_IS_ARTICLE_TILE (self), NULL); return self->article; } void bz_article_tile_set_article (BzArticleTile *self, BzCuratedArticle *article) { g_return_if_fail (BZ_IS_ARTICLE_TILE (self)); g_clear_object (&self->article); if (article != NULL) self->article = g_object_ref (article); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ARTICLE]); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article-tile.h�����������������������������������������������������0000664�0000000�0000000�00000002322�15234476640�0021214�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-article-tile.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-curated-article.h" #include "bz-list-tile.h" G_BEGIN_DECLS #define BZ_TYPE_ARTICLE_TILE (bz_article_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzArticleTile, bz_article_tile, BZ, ARTICLE_TILE, BzListTile) GtkWidget * bz_article_tile_new (void); BzCuratedArticle * bz_article_tile_get_article (BzArticleTile *self); void bz_article_tile_set_article (BzArticleTile *self, BzCuratedArticle *article); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article.blp��������������������������������������������������������0000664�0000000�0000000�00000004153�15234476640�0020613�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzArticle: Adw.NavigationPage { child: Adw.ToolbarView { [top] Adw.HeaderBar { overflow: hidden; [title] Revealer { reveal-child: bind $is_scrolled_down(main_scroll.vadjustment as <Adjustment>.value) as <bool>; transition-type: slide_up; transition-duration: 500; overflow: visible; child: Label { label: bind template.article as <$BzCuratedArticle>.title; styles ["title"] }; } } content: Adw.ViewStack stack { hexpand: true; vexpand: true; Adw.ViewStackPage { name: "loading"; child: Adw.Spinner { hexpand: true; vexpand: true; halign: center; valign: center; width-request: 64; height-request: 64; }; } Adw.ViewStackPage { name: "content"; child: ScrolledWindow main_scroll { hexpand: true; vexpand: true; hscrollbar-policy: never; child: Adw.Clamp { margin-top: 20; margin-bottom: 50; margin-start: 20; margin-end: 20; maximum-size: 800; child: Box { orientation: vertical; Label { label: bind template.article as <$BzCuratedArticle>.title; wrap: true; wrap-mode: word_char; margin-bottom: 12; selectable: true; xalign: 0; styles [ "title-1", ] } $BgeMarkdownRender render { styles [ "article", ] spacing: 12; hexpand: true; bind-inline-uri => $markdown_bind_inline_uri(template); } }; }; }; } Adw.ViewStackPage { name: "error"; child: Adw.StatusPage { icon-name: "computer-fail-symbolic"; title: _("Failed to Load Article"); }; } }; }; }���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article.c����������������������������������������������������������0000664�0000000�0000000�00000036421�15234476640�0020263�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-article.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <bge.h> #include <libdex.h> #include "bz-app-tile.h" #include "bz-application-map-factory.h" #include "bz-application.h" #include "bz-article.h" #include "bz-aspect-picture.h" #include "bz-async-texture.h" #include "bz-dynamic-list-view.h" #include "env.h" #include "global-net.h" #include "io.h" #include "bz-rich-app-tile.h" #include "bz-screenshot-page.h" #include "bz-state-info.h" #include "util.h" #include "bz-window.h" struct _BzArticle { AdwNavigationPage parent_instance; BzCuratedArticle *article; GCancellable *cancellable; AdwStyleManager *style_manager; GListStore *screenshot_textures; GListStore *screenshot_captions; /* Template widgets */ AdwViewStack *stack; BgeMarkdownRender *render; }; G_DEFINE_FINAL_TYPE (BzArticle, bz_article, ADW_TYPE_NAVIGATION_PAGE) enum { PROP_0, PROP_ARTICLE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void dark_changed (BzArticle *self, GParamSpec *pspec, AdwStyleManager *mgr); static void load_markdown (BzArticle *self); static void load_markdown_then (DexFuture *future, BzArticle *self); static GtkWidget * markdown_bind_inline_uri (BzArticle *self, const char *title, const char *src, BgeMarkdownRender *markdown); static gboolean is_scrolled_down (gpointer object, double value); static GtkWidget * build_appstream_wrap_box (const char *remainder); static void screenshot_clicked (GtkButton *button, gpointer user_data); static GtkWidget * build_screenshot_box (BzArticle *self, const char *title, GFile *file); static void hook_tile_bind_widget (BzDynamicListView *list_view, GtkWidget *widget, GObject *object, gpointer user_data); static BzEntryGroup * parse_hook_group (const char *item); static void bz_article_dispose (GObject *object) { BzArticle *self = BZ_ARTICLE (object); g_signal_handlers_disconnect_by_func ( self->style_manager, dark_changed, self); if (self->cancellable != NULL) { g_cancellable_cancel (self->cancellable); g_clear_object (&self->cancellable); } g_clear_object (&self->article); g_clear_object (&self->style_manager); g_clear_object (&self->screenshot_textures); g_clear_object (&self->screenshot_captions); G_OBJECT_CLASS (bz_article_parent_class)->dispose (object); } static void bz_article_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzArticle *self = BZ_ARTICLE (object); switch (prop_id) { case PROP_ARTICLE: g_value_set_object (value, self->article); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_article_class_init (BzArticleClass *klass) { GObjectClass *object_class = NULL; GtkWidgetClass *widget_class = NULL; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_article_dispose; object_class->get_property = bz_article_get_property; props[PROP_ARTICLE] = g_param_spec_object ( "article", NULL, NULL, BZ_TYPE_CURATED_ARTICLE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-article.ui"); gtk_widget_class_bind_template_child (widget_class, BzArticle, stack); gtk_widget_class_bind_template_child (widget_class, BzArticle, render); gtk_widget_class_bind_template_callback (widget_class, markdown_bind_inline_uri); gtk_widget_class_bind_template_callback (widget_class, is_scrolled_down); } static void bz_article_init (BzArticle *self) { gtk_widget_init_template (GTK_WIDGET (self)); self->style_manager = g_object_ref ( adw_style_manager_get_default ()); g_signal_connect_swapped ( self->style_manager, "notify::dark", G_CALLBACK (dark_changed), self); bge_markdown_render_set_dark ( self->render, adw_style_manager_get_dark (self->style_manager)); self->screenshot_textures = g_list_store_new (BZ_TYPE_ASYNC_TEXTURE); self->screenshot_captions = g_list_store_new (GTK_TYPE_STRING_OBJECT); } AdwNavigationPage * bz_article_new (BzCuratedArticle *article) { BzArticle *self = NULL; const char *title = NULL; g_return_val_if_fail (article == NULL || BZ_IS_CURATED_ARTICLE (article), NULL); self = g_object_new (BZ_TYPE_ARTICLE, NULL); if (article != NULL) { self->article = g_object_ref (article); title = bz_curated_article_get_title (article); adw_navigation_page_set_title (ADW_NAVIGATION_PAGE (self), title != NULL ? title : ""); load_markdown (self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ARTICLE]); return ADW_NAVIGATION_PAGE (self); } static void dark_changed (BzArticle *self, GParamSpec *pspec, AdwStyleManager *mgr) { bge_markdown_render_set_dark (self->render, adw_style_manager_get_dark (mgr)); } static void load_markdown (BzArticle *self) { const char *uri = NULL; g_autoptr (DexFuture) future = NULL; if (self->article == NULL) return; uri = bz_curated_article_get_uri (self->article); if (uri == NULL) { adw_view_stack_set_visible_child_name (self->stack, "error"); return; } adw_view_stack_set_visible_child_name (self->stack, "loading"); self->cancellable = g_cancellable_new (); future = bz_fetch_uri_contents (uri); future = dex_future_then ( future, (DexFutureCallback) load_markdown_then, g_object_ref (self), g_object_unref); dex_future_disown (g_steal_pointer (&future)); } static void load_markdown_then (DexFuture *future, BzArticle *self) { g_autoptr (GError) local_error = NULL; const GValue *value = NULL; g_autoptr (GBytes) bytes = NULL; gconstpointer data = NULL; gsize size = 0; if (g_cancellable_is_cancelled (self->cancellable)) return; value = dex_future_get_value (future, &local_error); if (value == NULL) { g_warning ("Failed to load article markdown: %s", local_error != NULL ? local_error->message : "unknown error"); adw_view_stack_set_visible_child_name (self->stack, "error"); return; } bytes = g_value_dup_boxed (value); data = g_bytes_get_data (bytes, &size); bge_markdown_render_set_markdown (self->render, (const char *) data); adw_view_stack_set_visible_child_name (self->stack, "content"); } static gboolean is_scrolled_down (gpointer object, double value) { return value > 50.0; } static void hook_tile_bind_widget (BzDynamicListView *list_view, GtkWidget *widget, GObject *object, gpointer user_data) { BzEntryGroup *group = BZ_ENTRY_GROUP (object); const char *icon_uri = NULL; icon_uri = g_object_get_data (object, "bz-hook-icon-uri"); if (g_object_get_data (object, "bz-hook-app") != NULL) { gtk_actionable_set_action_name (GTK_ACTIONABLE (widget), "window.activate-hook-app"); gtk_actionable_set_action_target (GTK_ACTIONABLE (widget), "s", bz_entry_group_get_id (group)); if (icon_uri != NULL) { g_autoptr (GFile) icon_file = NULL; g_autoptr (BzAsyncTexture) texture = NULL; icon_file = g_file_new_for_uri (icon_uri); texture = bz_async_texture_new_lazy (icon_file, NULL); bz_app_tile_set_icon_override (BZ_APP_TILE (widget), GDK_PAINTABLE (texture)); } } } static BzEntryGroup * parse_hook_group (const char *item) { g_autoptr (GUri) uri = NULL; g_autoptr (GHashTable) params = NULL; g_autoptr (GError) local_error = NULL; const char *id = NULL; const char *title = NULL; const char *subtitle = NULL; const char *icon_uri = NULL; BzEntryGroup *group = NULL; uri = g_uri_parse (item, G_URI_FLAGS_NONE, &local_error); if (uri == NULL) return NULL; params = g_uri_parse_params ( g_uri_get_query (uri), -1, "&", G_URI_PARAMS_NONE, &local_error); if (params == NULL) return NULL; id = g_hash_table_lookup (params, "id"); title = g_hash_table_lookup (params, "title"); subtitle = g_hash_table_lookup (params, "subtitle"); icon_uri = g_hash_table_lookup (params, "icon"); group = bz_entry_group_new_manual (id, title, subtitle); if (group != NULL) { g_object_set_data (G_OBJECT (group), "bz-hook-app", GINT_TO_POINTER (TRUE)); if (icon_uri != NULL) g_object_set_data_full (G_OBJECT (group), "bz-hook-icon-uri", g_strdup (icon_uri), g_free); } return group; } static GtkWidget * build_appstream_wrap_box (const char *remainder) { g_auto (GStrv) items = NULL; guint n_items = 0; g_autoptr (GListStore) groups = NULL; GtkWidget *list_view = NULL; items = g_strsplit (remainder, ",", -1); n_items = g_strv_length (items); groups = g_list_store_new (BZ_TYPE_ENTRY_GROUP); for (guint i = 0; i < n_items; i++) { const char *item = items[i]; if (g_str_has_prefix (item, "appstream://")) { g_autoptr (GtkStringObject) string = NULL; g_autoptr (BzEntryGroup) group = NULL; string = gtk_string_object_new (item + strlen ("appstream://")); group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (bz_state_info_get_default ()), g_steal_pointer (&string)); if (group != NULL) g_list_store_append (groups, group); } else if (g_str_has_prefix (item, "bazaar-hook://")) { g_autoptr (BzEntryGroup) group = NULL; group = parse_hook_group (item); if (group != NULL) g_list_store_append (groups, group); } } list_view = GTK_WIDGET (bz_dynamic_list_view_new ()); gtk_widget_set_hexpand (list_view, TRUE); g_signal_connect (list_view, "bind-widget", G_CALLBACK (hook_tile_bind_widget), NULL); g_object_set ( list_view, "scroll", FALSE, "noscroll-kind", BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX, "child-type", "BzAppTile", "child-prop", "group", "column-spacing", 12, "row-spacing", 12, "model", groups, NULL); if (g_list_model_get_n_items (G_LIST_MODEL (groups)) == 1) { GtkWidget *clamp = NULL; clamp = GTK_WIDGET (adw_clamp_new ()); g_object_set ( clamp, "maximum-size", 375, "hexpand", TRUE, "margin-top", 12, "margin-bottom", 12, "child", list_view, NULL); return clamp; } gtk_widget_set_margin_top (list_view, 12); gtk_widget_set_margin_bottom (list_view, 12); return list_view; } static void screenshot_clicked (GtkButton *button, gpointer user_data) { BzArticle *self = user_data; guint index = 0; GtkWidget *root = NULL; BzScreenshotPage *page = NULL; index = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (button), "bz-screenshot-index")); root = GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (button))); if (!BZ_IS_WINDOW (root)) return; page = BZ_SCREENSHOT_PAGE (bz_screenshot_page_new ( G_LIST_MODEL (self->screenshot_textures), G_LIST_MODEL (self->screenshot_captions), index, GTK_WIDGET (button))); bz_window_open_screenshot_page (BZ_WINDOW (root), page); } static GtkWidget * build_screenshot_box (BzArticle *self, const char *title, GFile *file) { g_autoptr (BzAsyncTexture) texture = NULL; GtkWidget *picture = NULL; GtkWidget *box = NULL; GtkWidget *button = NULL; guint index = 0; texture = bz_async_texture_new_lazy (file, NULL); picture = bz_aspect_picture_new (); bz_aspect_picture_set_paintable (BZ_ASPECT_PICTURE (picture), GDK_PAINTABLE (texture)); bz_aspect_picture_set_ratio (BZ_ASPECT_PICTURE (picture), 0.0); gtk_widget_set_hexpand (picture, TRUE); gtk_widget_set_halign (picture, GTK_ALIGN_FILL); if (title != NULL) gtk_accessible_update_property (GTK_ACCESSIBLE (picture), GTK_ACCESSIBLE_PROPERTY_LABEL, title, -1); index = g_list_model_get_n_items (G_LIST_MODEL (self->screenshot_textures)); g_list_store_append (self->screenshot_textures, texture); { g_autoptr (GtkStringObject) caption_obj = NULL; caption_obj = gtk_string_object_new (title != NULL ? title : ""); g_list_store_append (self->screenshot_captions, caption_obj); } button = gtk_button_new (); gtk_widget_add_css_class (button, "article-image-button"); gtk_widget_set_hexpand (button, TRUE); gtk_widget_set_halign (button, GTK_ALIGN_FILL); gtk_button_set_child (GTK_BUTTON (button), picture); g_object_set_data (G_OBJECT (button), "bz-screenshot-index", GUINT_TO_POINTER (index)); g_signal_connect (button, "clicked", G_CALLBACK (screenshot_clicked), self); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_widget_set_margin_top (box, 15); gtk_widget_set_margin_bottom (box, 15); gtk_box_append (GTK_BOX (box), button); if (title != NULL) { GtkWidget *caption = NULL; caption = gtk_label_new (title); gtk_widget_add_css_class (caption, "caption"); gtk_widget_add_css_class (caption, "dimmed"); gtk_label_set_xalign (GTK_LABEL (caption), 0.5); gtk_box_append (GTK_BOX (box), caption); } return box; } static GtkWidget * markdown_bind_inline_uri (BzArticle *self, const char *title, const char *src, BgeMarkdownRender *markdown) { g_autoptr (GFile) file = NULL; if (src == NULL) return NULL; if (g_str_has_prefix (src, "appstream://") || g_str_has_prefix (src, "bazaar-hook://")) return build_appstream_wrap_box (src); file = g_file_new_for_uri (src); if (file != NULL) return build_screenshot_box (self, title, file); return NULL; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-article.h����������������������������������������������������������0000664�0000000�0000000�00000002024�15234476640�0020260�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-article.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-curated-article.h" G_BEGIN_DECLS #define BZ_TYPE_ARTICLE (bz_article_get_type ()) G_DECLARE_FINAL_TYPE (BzArticle, bz_article, BZ, ARTICLE, AdwNavigationPage) AdwNavigationPage * bz_article_new (BzCuratedArticle *article); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-aspect-picture.c���������������������������������������������������0000664�0000000�0000000�00000023747�15234476640�0021577�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-aspect-picture.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-aspect-picture.h" #include <math.h> struct _BzAspectPicture { GtkWidget parent_instance; GdkPaintable *paintable; double ratio; }; G_DEFINE_FINAL_TYPE (BzAspectPicture, bz_aspect_picture, GTK_TYPE_WIDGET) enum { PROP_0, PROP_PAINTABLE, PROP_RATIO, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void on_invalidate_contents (BzAspectPicture *self, GdkPaintable *paintable); static void on_invalidate_size (BzAspectPicture *self, GdkPaintable *paintable); static void bz_aspect_picture_dispose (GObject *object) { BzAspectPicture *self = BZ_ASPECT_PICTURE (object); if (self->paintable != NULL) { g_signal_handlers_disconnect_by_func (self->paintable, on_invalidate_contents, self); g_signal_handlers_disconnect_by_func (self->paintable, on_invalidate_size, self); } g_clear_object (&self->paintable); G_OBJECT_CLASS (bz_aspect_picture_parent_class)->dispose (object); } static void bz_aspect_picture_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAspectPicture *self = BZ_ASPECT_PICTURE (object); switch (prop_id) { case PROP_PAINTABLE: g_value_set_object (value, self->paintable); break; case PROP_RATIO: g_value_set_double (value, self->ratio); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_aspect_picture_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzAspectPicture *self = BZ_ASPECT_PICTURE (object); switch (prop_id) { case PROP_PAINTABLE: bz_aspect_picture_set_paintable (self, g_value_get_object (value)); break; case PROP_RATIO: bz_aspect_picture_set_ratio (self, g_value_get_double (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static GtkSizeRequestMode bz_aspect_picture_get_request_mode (GtkWidget *widget) { return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } static void bz_aspect_picture_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BzAspectPicture *self = BZ_ASPECT_PICTURE (widget); *minimum = 0; *natural = 0; *minimum_baseline = -1; *natural_baseline = -1; if (orientation == GTK_ORIENTATION_HORIZONTAL) { *minimum = 1; *natural = 160; } else { if (self->ratio == 0.0) { int base = (for_size > 0) ? for_size : 160; int w, h = 0; if (self->paintable != NULL) { w = gdk_paintable_get_intrinsic_width (self->paintable); h = gdk_paintable_get_intrinsic_height (self->paintable); if (w > 0 && h > 0) { *minimum = (int) round (((double) base * h) / w); *natural = *minimum; } else { *minimum = base; *natural = base; } } else { *minimum = base; *natural = base; } } else { int base = 0; int h = 0; base = (for_size > 0) ? for_size : 160; h = (int) round ((double) base / self->ratio); *minimum = h; *natural = h; } } } static void bz_aspect_picture_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzAspectPicture *self = BZ_ASPECT_PICTURE (widget); int widget_width = 0; int widget_height = 0; double paintable_width = 0.0; double paintable_height = 0.0; double scale_x = 0.0; double scale_y = 0.0; double scale = 0.0; double draw_width = 0.0; double draw_height = 0.0; double x = 0.0; double y = 0.0; GskRoundedRect clip; if (self->paintable == NULL) return; widget_width = gtk_widget_get_width (widget); widget_height = gtk_widget_get_height (widget); if (widget_width <= 0 || widget_height <= 0) return; paintable_width = gdk_paintable_get_intrinsic_width (self->paintable); paintable_height = gdk_paintable_get_intrinsic_height (self->paintable); if (paintable_width <= 0 || paintable_height <= 0) { paintable_width = widget_width; paintable_height = widget_height; } scale_x = (double) widget_width / paintable_width; scale_y = (double) widget_height / paintable_height; scale = MAX (scale_x, scale_y); draw_width = paintable_width * scale; draw_height = paintable_height * scale; x = ((double) widget_width - draw_width) / 2.0; y = ((double) widget_height - draw_height) / 2.0; gsk_rounded_rect_init_from_rect (&clip, &GRAPHENE_RECT_INIT (0, 0, widget_width, widget_height), 0.0); gtk_snapshot_push_rounded_clip (snapshot, &clip); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y)); gdk_paintable_snapshot (self->paintable, snapshot, draw_width, draw_height); gtk_snapshot_pop (snapshot); } static void bz_aspect_picture_class_init (BzAspectPictureClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_aspect_picture_dispose; object_class->get_property = bz_aspect_picture_get_property; object_class->set_property = bz_aspect_picture_set_property; widget_class->get_request_mode = bz_aspect_picture_get_request_mode; widget_class->measure = bz_aspect_picture_measure; widget_class->snapshot = bz_aspect_picture_snapshot; gtk_widget_class_set_css_name (widget_class, "aspectpicture"); props[PROP_PAINTABLE] = g_param_spec_object ("paintable", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_RATIO] = g_param_spec_double ("ratio", NULL, NULL, 0.000, G_MAXDOUBLE, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_aspect_picture_init (BzAspectPicture *self) { self->ratio = 0; } GtkWidget * bz_aspect_picture_new (void) { return g_object_new (BZ_TYPE_ASPECT_PICTURE, NULL); } void bz_aspect_picture_set_paintable (BzAspectPicture *self, GdkPaintable *paintable) { g_return_if_fail (BZ_IS_ASPECT_PICTURE (self)); g_return_if_fail (paintable == NULL || GDK_IS_PAINTABLE (paintable)); if (self->paintable == paintable) return; if (self->paintable != NULL) { g_signal_handlers_disconnect_by_func (self->paintable, on_invalidate_contents, self); g_signal_handlers_disconnect_by_func (self->paintable, on_invalidate_size, self); } g_clear_object (&self->paintable); if (paintable != NULL) { self->paintable = g_object_ref (paintable); g_signal_connect_swapped (self->paintable, "invalidate-contents", G_CALLBACK (on_invalidate_contents), self); g_signal_connect_swapped (self->paintable, "invalidate-size", G_CALLBACK (on_invalidate_size), self); } gtk_widget_queue_resize (GTK_WIDGET (self)); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PAINTABLE]); } GdkPaintable * bz_aspect_picture_get_paintable (BzAspectPicture *self) { g_return_val_if_fail (BZ_IS_ASPECT_PICTURE (self), NULL); return self->paintable; } void bz_aspect_picture_set_ratio (BzAspectPicture *self, double ratio) { g_return_if_fail (BZ_IS_ASPECT_PICTURE (self)); g_return_if_fail (ratio >= 0.0); if (self->ratio == ratio) return; self->ratio = ratio; gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RATIO]); } double bz_aspect_picture_get_ratio (BzAspectPicture *self) { g_return_val_if_fail (BZ_IS_ASPECT_PICTURE (self), 16.0 / 9.0); return self->ratio; } static void on_invalidate_contents (BzAspectPicture *self, GdkPaintable *paintable) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void on_invalidate_size (BzAspectPicture *self, GdkPaintable *paintable) { gtk_widget_queue_resize (GTK_WIDGET (self)); } �������������������������bazaar-org-bazaar-917017d/src/bz-aspect-picture.h���������������������������������������������������0000664�0000000�0000000�00000002560�15234476640�0021572�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-aspect-picture.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_ASPECT_PICTURE (bz_aspect_picture_get_type ()) G_DECLARE_FINAL_TYPE (BzAspectPicture, bz_aspect_picture, BZ, ASPECT_PICTURE, GtkWidget) GtkWidget * bz_aspect_picture_new (void); void bz_aspect_picture_set_paintable (BzAspectPicture *self, GdkPaintable *paintable); GdkPaintable * bz_aspect_picture_get_paintable (BzAspectPicture *self); void bz_aspect_picture_set_ratio (BzAspectPicture *self, double ratio); double bz_aspect_picture_get_ratio (BzAspectPicture *self); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-async-texture.c����������������������������������������������������0000664�0000000�0000000�00000105020�15234476640�0021443�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-async-texture.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::ASYNC-TEXTURE" #define MAX_CONCURRENT_IO 8 #define MAX_CONCURRENT_GLYCIN 32 #define CACHE_INVALID_AGE (G_TIME_SPAN_DAY * 1) #define HTTP_TIMEOUT_SECONDS 5 #define MAX_LOAD_RETRIES 3 #define RETRY_INTERVAL_SECONDS 1 #define TEXTURE_LINGER_SECONDS 2 #include "config.h" #include <glycin-gtk4-2/glycin-gtk4.h> #include <libdex.h> #include "bz-async-texture.h" #include "bz-download-worker.h" #include "env.h" #include "io.h" #include "util.h" BZ_DEFINE_DATA ( cache_entry, CacheEntry, { GdkTexture *texture; DexFuture *linger_timeout; }, BZ_RELEASE_DATA (texture, g_object_unref); BZ_RELEASE_DATA (linger_timeout, dex_unref)); static GMutex texture_cache_mutex = { 0 }; static GHashTable *texture_cache = NULL; static void texture_cache_ensure (void); static DexFuture * linger_timeout_finally (DexFuture *future, char *uri); static GdkTexture * texture_cache_acquire (const char *uri); static void texture_cache_store (const char *uri, GdkTexture *texture); static void texture_cache_release (const char *uri); BZ_DEFINE_DATA ( load, Load, { GFile *source; char *source_uri; GFile *cache_into; char *cache_into_path; GCancellable *cancellable; int retries; GWeakRef self; }, BZ_RELEASE_DATA (source, g_object_unref); BZ_RELEASE_DATA (source_uri, g_free); BZ_RELEASE_DATA (cache_into, g_object_unref); BZ_RELEASE_DATA (cache_into_path, g_free); BZ_RELEASE_DATA (cancellable, g_object_unref); g_weak_ref_clear (&self->self);) struct _BzAsyncTexture { GObject parent_instance; GFile *source; char *source_uri; GFile *cache_into; char *cache_into_path; gboolean lazy; int width; int height; DexFuture *task; GCancellable *cancellable; int retries; DexFuture *retry_future; GdkPaintable *paintable; GMutex mutex; gboolean cache_acquired; }; static void paintable_iface_init (GdkPaintableInterface *iface); G_DEFINE_TYPE_WITH_CODE ( BzAsyncTexture, bz_async_texture, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (GDK_TYPE_PAINTABLE, paintable_iface_init)) enum { PROP_0, PROP_SOURCE, PROP_CACHE_INTO, PROP_LOADED, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static BzAsyncTexture * bz_async_texture_new_internal (GFile *source, GFile *cache_into, int width, int height, gboolean lazy); static DexFuture * load_fiber_work (LoadData *data); static DexFuture * load_finally (DexFuture *future, LoadData *data); static void maybe_load (BzAsyncTexture *self); static DexFuture * retry_cb (DexFuture *future, LoadData *data); static gboolean idle_notify (BzAsyncTexture *self); static GMutex debug_n_textures_mutex = { 0 }; static gsize debug_n_textures = 0; static void bz_async_texture_dispose (GObject *object) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (object); if (self->cancellable != NULL) g_cancellable_cancel (self->cancellable); dex_clear (&self->task); g_clear_object (&self->cancellable); dex_clear (&self->retry_future); g_clear_object (&self->source); if (self->cache_acquired && self->source_uri != NULL) { texture_cache_release (self->source_uri); self->cache_acquired = FALSE; } g_clear_pointer (&self->source_uri, g_free); g_clear_object (&self->cache_into); g_clear_pointer (&self->cache_into_path, g_free); g_clear_object (&self->paintable); g_mutex_clear (&self->mutex); if (!g_log_writer_default_would_drop (G_LOG_LEVEL_DEBUG, G_LOG_DOMAIN)) { g_mutex_lock (&debug_n_textures_mutex); debug_n_textures--; g_debug ("%zu %s object(s) in memory", debug_n_textures, g_type_name (BZ_TYPE_ASYNC_TEXTURE)); g_mutex_unlock (&debug_n_textures_mutex); } G_OBJECT_CLASS (bz_async_texture_parent_class)->dispose (object); } static void bz_async_texture_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (object); switch (prop_id) { case PROP_SOURCE: g_value_set_object (value, bz_async_texture_get_source (self)); break; case PROP_CACHE_INTO: g_value_set_object (value, bz_async_texture_get_cache_into (self)); break; case PROP_LOADED: g_value_set_boolean (value, bz_async_texture_get_loaded (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_async_texture_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { // BzAsyncTexture *self = BZ_ASYNC_TEXTURE (object); switch (prop_id) { case PROP_SOURCE: case PROP_CACHE_INTO: case PROP_LOADED: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_async_texture_class_init (BzAsyncTextureClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_async_texture_dispose; object_class->get_property = bz_async_texture_get_property; object_class->set_property = bz_async_texture_set_property; props[PROP_SOURCE] = g_param_spec_object ( "source", NULL, NULL, G_TYPE_FILE, G_PARAM_READABLE); props[PROP_CACHE_INTO] = g_param_spec_object ( "cache-into", NULL, NULL, G_TYPE_FILE, G_PARAM_READABLE); props[PROP_LOADED] = g_param_spec_boolean ( "loaded", NULL, NULL, FALSE, G_PARAM_READABLE); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_async_texture_init (BzAsyncTexture *self) { self->retries = 0; self->paintable = NULL; self->cache_acquired = FALSE; g_mutex_init (&self->mutex); if (!g_log_writer_default_would_drop (G_LOG_LEVEL_DEBUG, G_LOG_DOMAIN)) { g_mutex_lock (&debug_n_textures_mutex); debug_n_textures++; g_mutex_unlock (&debug_n_textures_mutex); } } static void paintable_snapshot (GdkPaintable *paintable, GdkSnapshot *snapshot, double width, double height) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (paintable); g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&self->mutex); maybe_load (self); if (self->paintable != NULL) gdk_paintable_snapshot (self->paintable, snapshot, width, height); } static GdkPaintable * paintable_get_current_image (GdkPaintable *paintable) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (paintable); g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&self->mutex); maybe_load (self); if (self->paintable != NULL) return gdk_paintable_get_current_image (self->paintable); return NULL; } static GdkPaintableFlags paintable_get_flags (GdkPaintable *paintable) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (paintable); g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&self->mutex); maybe_load (self); return 0; } static int paintable_get_intrinsic_width (GdkPaintable *paintable) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (paintable); g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&self->mutex); maybe_load (self); if (self->paintable != NULL) return gdk_paintable_get_intrinsic_width (self->paintable); return self->width; } static int paintable_get_intrinsic_height (GdkPaintable *paintable) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (paintable); g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&self->mutex); maybe_load (self); if (self->paintable != NULL) return gdk_paintable_get_intrinsic_height (self->paintable); return self->height; } static double paintable_get_intrinsic_aspect_ratio (GdkPaintable *paintable) { BzAsyncTexture *self = BZ_ASYNC_TEXTURE (paintable); g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&self->mutex); maybe_load (self); if (self->paintable != NULL) return gdk_paintable_get_intrinsic_aspect_ratio (self->paintable); if (self->width > 0 && self->height > 0) return (double) self->width / (double) self->height; return 0.0; } static void paintable_iface_init (GdkPaintableInterface *iface) { iface->snapshot = paintable_snapshot; iface->get_current_image = paintable_get_current_image; iface->get_flags = paintable_get_flags; iface->get_intrinsic_width = paintable_get_intrinsic_width; iface->get_intrinsic_height = paintable_get_intrinsic_height; iface->get_intrinsic_aspect_ratio = paintable_get_intrinsic_aspect_ratio; } static BzAsyncTexture * bz_async_texture_new_internal (GFile *source, GFile *cache_into, int width, int height, gboolean lazy) { BzAsyncTexture *self = NULL; g_return_val_if_fail (G_IS_FILE (source), NULL); g_return_val_if_fail (cache_into == NULL || G_IS_FILE (cache_into), NULL); self = g_object_new (BZ_TYPE_ASYNC_TEXTURE, NULL); self->source = g_object_ref (source); self->source_uri = g_file_get_uri (source); self->cache_into = bz_object_maybe_ref (cache_into); self->cache_into_path = bz_maybe (cache_into, g_file_get_path); self->lazy = lazy; self->width = width; self->height = height; if (!lazy) maybe_load (self); return self; } BzAsyncTexture * bz_async_texture_new (GFile *source, GFile *cache_into) { return bz_async_texture_new_internal (source, cache_into, 0, 0, FALSE); } BzAsyncTexture * bz_async_texture_new_with_size (GFile *source, GFile *cache_into, int width, int height) { return bz_async_texture_new_internal (source, cache_into, width, height, FALSE); } BzAsyncTexture * bz_async_texture_new_lazy (GFile *source, GFile *cache_into) { return bz_async_texture_new_internal (source, cache_into, 0, 0, TRUE); } BzAsyncTexture * bz_async_texture_new_lazy_with_size (GFile *source, GFile *cache_into, int width, int height) { return bz_async_texture_new_internal (source, cache_into, width, height, TRUE); } GFile * bz_async_texture_get_source (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), FALSE); return self->source; } const char * bz_async_texture_get_source_uri (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), FALSE); return self->source_uri; } GFile * bz_async_texture_get_cache_into (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), FALSE); return self->cache_into; } const char * bz_async_texture_get_cache_into_path (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), FALSE); return self->cache_into_path; } int bz_async_texture_get_width (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), 0); return self->width; } int bz_async_texture_get_height (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), 0); return self->height; } gboolean bz_async_texture_get_loaded (BzAsyncTexture *self) { g_autoptr (GMutexLocker) locker = NULL; g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), FALSE); locker = g_mutex_locker_new (&self->mutex); return GDK_IS_TEXTURE (self->paintable); } GdkTexture * bz_async_texture_dup_texture (BzAsyncTexture *self) { g_autoptr (GMutexLocker) locker = NULL; g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), NULL); locker = g_mutex_locker_new (&self->mutex); if (GDK_IS_TEXTURE (self->paintable)) return (GdkTexture *) g_object_ref (self->paintable); else return NULL; } DexFuture * bz_async_texture_dup_future (BzAsyncTexture *self) { g_autoptr (GMutexLocker) locker = NULL; g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), NULL); locker = g_mutex_locker_new (&self->mutex); maybe_load (self); if (self->task != NULL) return dex_ref (self->task); else if (GDK_IS_TEXTURE (self->paintable)) return dex_future_new_for_object (self->paintable); else return dex_future_new_reject ( G_IO_ERROR, G_IO_ERROR_FAILED, "texture is in an invalid state"); } void bz_async_texture_ensure (BzAsyncTexture *self) { g_autoptr (GMutexLocker) locker = NULL; g_return_if_fail (BZ_IS_ASYNC_TEXTURE (self)); locker = g_mutex_locker_new (&self->mutex); maybe_load (self); } void bz_async_texture_cancel (BzAsyncTexture *self) { g_return_if_fail (BZ_IS_ASYNC_TEXTURE (self)); if (self->cancellable != NULL) g_cancellable_cancel (self->cancellable); dex_clear (&self->task); g_clear_object (&self->cancellable); self->retries = G_MAXINT; } gboolean bz_async_texture_is_loading (BzAsyncTexture *self) { g_return_val_if_fail (BZ_IS_ASYNC_TEXTURE (self), FALSE); return self->task != NULL && dex_future_is_pending (self->task); } static void maybe_load (BzAsyncTexture *self) { g_autoptr (LoadData) data = NULL; g_autoptr (DexFuture) future = NULL; if (GDK_IS_TEXTURE (self->paintable) || (self->task != NULL && dex_future_is_pending (self->task)) || self->retries >= MAX_LOAD_RETRIES) return; if (!self->cache_acquired) { g_autoptr (GdkTexture) cached = NULL; cached = texture_cache_acquire (self->source_uri); if (cached != NULL) { g_clear_object (&self->paintable); self->paintable = (GdkPaintable *) g_object_ref (cached); self->cache_acquired = TRUE; g_idle_add_full ( G_PRIORITY_DEFAULT_IDLE, (GSourceFunc) idle_notify, g_object_ref (self), g_object_unref); return; } } if (self->cancellable != NULL) g_cancellable_cancel (self->cancellable); dex_clear (&self->task); g_clear_object (&self->cancellable); self->cancellable = g_cancellable_new (); data = load_data_new (); data->source = g_object_ref (self->source); data->source_uri = g_strdup (self->source_uri); data->cache_into = bz_object_maybe_ref (self->cache_into); data->cache_into_path = bz_maybe_strdup (self->cache_into_path); data->cancellable = g_object_ref (self->cancellable); data->retries = self->retries; g_weak_ref_init (&data->self, self); future = dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) load_fiber_work, load_data_ref (data), load_data_unref); future = dex_future_finally ( future, (DexFutureCallback) load_finally, load_data_ref (data), load_data_unref); self->task = g_steal_pointer (&future); } static DexFuture * load_fiber_work (LoadData *data) { static GMutex queueing_mutex = { 0 }; static guint concurrent_io = MAX_CONCURRENT_IO; static guint io_queued[MAX_CONCURRENT_IO] = { 0 }; static BzGuard *io_gates[MAX_CONCURRENT_IO] = { 0 }; static GMutex io_mutexes[MAX_CONCURRENT_IO] = { 0 }; static guint concurrent_glycin = 0; static guint glycin_queued[MAX_CONCURRENT_GLYCIN] = { 0 }; static BzGuard *glycin_gates[MAX_CONCURRENT_GLYCIN] = { 0 }; static GMutex glycin_mutexes[MAX_CONCURRENT_GLYCIN] = { 0 }; GFile *source = data->source; char *source_uri = data->source_uri; GFile *cache_into = data->cache_into; char *cache_into_path = data->cache_into_path; GCancellable *cancellable = data->cancellable; gboolean result = FALSE; g_autoptr (GError) local_error = NULL; g_autoptr (GMutexLocker) locker = NULL; g_autoptr (BzGuard) slot_guard = NULL; guint slot_queued = G_MAXUINT; gboolean is_http = FALSE; g_autoptr (GDateTime) now = NULL; g_autofree char *async_tex_data_path = NULL; g_autoptr (GFile) async_tex_data_file = NULL; g_autoptr (GdkTexture) texture = NULL; g_autoptr (GlyFrame) frame = NULL; locker = g_mutex_locker_new (&queueing_mutex); if (concurrent_glycin == 0) { /* Ensure we don't overload the system with work; aim for # of logical processors divided by 2 See: https://github.com/bazaar-org/bazaar/issues/497 https://docs.gtk.org/glib/func.get_num_processors.html Eva Thu, 23 Oct 2025 14:19:44 -0700 */ concurrent_glycin = MIN ( MAX_CONCURRENT_GLYCIN, MAX (1, g_get_num_processors () / 2)); g_debug ("Allowing %d concurrent texture glycin", concurrent_glycin); } g_clear_pointer (&locker, g_mutex_locker_free); #define FIND_LOCK(name, _idx) \ G_STMT_START \ { \ locker = g_mutex_locker_new (&queueing_mutex); \ \ for (guint i = 0; i < concurrent_##name; i++) \ { \ if (name##_queued[i] < slot_queued) \ { \ slot_queued = name##_queued[i]; \ (_idx) = i; \ } \ } \ \ name##_queued[(_idx)]++; \ g_clear_pointer (&locker, g_mutex_locker_free); \ } \ G_STMT_END #define FINISH_LOCK(name, _idx) \ G_STMT_START \ { \ locker = g_mutex_locker_new (&queueing_mutex); \ name##_queued[(_idx)]--; \ g_clear_pointer (&locker, g_mutex_locker_free); \ } \ G_STMT_END #define RATE_LIMIT_BEGIN(name) \ G_STMT_START \ { \ guint _slot_index = 0; \ \ FIND_LOCK (name, _slot_index); \ BZ_BEGIN_GUARD_WITH_CONTEXT (&slot_guard, \ &name##_mutexes[_slot_index], \ &name##_gates[_slot_index]); \ FINISH_LOCK (name, _slot_index); \ } \ G_STMT_END #define RATE_LIMIT_END() bz_clear_guard (&slot_guard) is_http = g_str_has_prefix (source_uri, "http"); now = g_date_time_new_now_utc (); if (cache_into != NULL) { async_tex_data_path = g_strdup_printf ("%s.bz-async-texture-data", cache_into_path); async_tex_data_file = g_file_new_for_path (async_tex_data_path); } if (cache_into != NULL) { RATE_LIMIT_BEGIN (io); if (g_file_query_exists (cache_into, NULL) && g_file_query_exists (async_tex_data_file, NULL)) { g_autoptr (GBytes) bytes = NULL; g_autoptr (GVariant) variant = NULL; GTimeSpan age_span = 0; g_autoptr (GlyLoader) loader = NULL; g_autoptr (GlyImage) image = NULL; bytes = g_file_load_bytes (async_tex_data_file, NULL, NULL, &local_error); if (bytes != NULL) variant = g_variant_new_from_bytes (G_VARIANT_TYPE ("a{sv}"), bytes, FALSE); if (variant != NULL) { gint64 birth_unix_stamp = 0; g_autoptr (GDateTime) birth_date_time = NULL; if (g_variant_lookup ( variant, "birth-unix-stamp", "x", &birth_unix_stamp)) { birth_date_time = g_date_time_new_from_unix_utc (birth_unix_stamp); age_span = g_date_time_difference (now, birth_date_time); } else local_error = g_error_new (G_IO_ERROR, G_IO_ERROR_NOT_FOUND, "key \"birth-unix-stamp\" was not found"); } if (variant != NULL && age_span > 0) { if (age_span < CACHE_INVALID_AGE) { RATE_LIMIT_END (); RATE_LIMIT_BEGIN (glycin); loader = gly_loader_new (cache_into); /* We assume we exported this file, so uhhh it is safe to not use sandboxing, since it is faster :-) */ gly_loader_set_sandbox_selector (loader, GLY_SANDBOX_SELECTOR_NOT_SANDBOXED); image = gly_loader_load (loader, &local_error); if (image != NULL) frame = gly_image_next_frame (image, &local_error); RATE_LIMIT_END (); RATE_LIMIT_BEGIN (io); } else g_debug ("Metadata file %s for cached texture at %s indicates this resource is too old (GTimeSpan: %zu), " "reaping and fetching from original source at %s instead", async_tex_data_path, cache_into_path, age_span, source_uri); } else { g_warning ("Couldn't load associated metadata file %s for cached texture at %s, " "reaping and fetching from original source at %s instead: %s", async_tex_data_path, cache_into_path, source_uri, local_error != NULL ? local_error->message : "variant parse failed"); g_clear_pointer (&local_error, g_error_free); } if (frame == NULL) { if (local_error != NULL) g_warning ("An attempt to revive cached texture at %s has failed, " "reaping and fetching from original source at %s instead: %s", cache_into_path, source_uri, local_error->message); g_clear_pointer (&local_error, g_error_free); if (!g_file_delete (cache_into, NULL, &local_error)) { g_warning ("Couldn't reap cached texture at %s, this " "might lead to unexpected behavior: %s", cache_into_path, local_error->message); g_clear_pointer (&local_error, g_error_free); } } } RATE_LIMIT_END (); } if (frame == NULL) { g_autoptr (GFile) load_file = NULL; g_autoptr (GlyLoader) loader = NULL; g_autoptr (GlyImage) image = NULL; if (cache_into != NULL) { g_autoptr (GFile) parent = NULL; gboolean reconstruct = FALSE; parent = g_file_get_parent (cache_into); RATE_LIMIT_BEGIN (io); if (g_file_query_exists (parent, NULL)) { GFileType parent_type = G_FILE_TYPE_UNKNOWN; parent_type = g_file_query_file_type (parent, G_FILE_QUERY_INFO_NONE, NULL); if (parent_type != G_FILE_TYPE_DIRECTORY) { reconstruct = TRUE; result = g_file_delete (parent, cancellable, &local_error); if (!result) return dex_future_new_for_error (g_steal_pointer (&local_error)); } } else reconstruct = TRUE; if (reconstruct) { result = g_file_make_directory_with_parents ( parent, cancellable, &local_error); if (!result) { if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_EXISTS)) g_clear_pointer (&local_error, g_error_free); else return dex_future_new_for_error (g_steal_pointer (&local_error)); } } RATE_LIMIT_END (); } if (is_http) { if (cache_into != NULL) load_file = g_object_ref (cache_into); else { g_autofree char *basename = NULL; g_autofree char *tmpl = NULL; g_autoptr (GFileIOStream) io = NULL; RATE_LIMIT_BEGIN (io); basename = g_file_get_basename (source); tmpl = g_strdup_printf ("XXXXXX-%s", basename); load_file = g_file_new_tmp (tmpl, &io, &local_error); if (load_file == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); g_io_stream_close (G_IO_STREAM (io), NULL, NULL); RATE_LIMIT_END (); } result = dex_await ( dex_future_first ( bz_download_worker_invoke ( bz_download_worker_get_default (), source, load_file), /* increase the timeout as more failures stack up */ dex_timeout_new_seconds ((data->retries + 1) * HTTP_TIMEOUT_SECONDS), NULL), &local_error); if (!result) return dex_future_new_for_error (g_steal_pointer (&local_error)); } else { if (cache_into != NULL) { RATE_LIMIT_BEGIN (io); result = g_file_copy ( source, cache_into, G_FILE_COPY_OVERWRITE | G_FILE_COPY_ALL_METADATA, cancellable, NULL, NULL, &local_error); if (!result) return dex_future_new_for_error (g_steal_pointer (&local_error)); RATE_LIMIT_END (); load_file = g_object_ref (cache_into); } else load_file = g_object_ref (source); } RATE_LIMIT_BEGIN (glycin); loader = gly_loader_new (load_file); #ifdef SANDBOXED_LIBFLATPAK gly_loader_set_sandbox_selector (loader, GLY_SANDBOX_SELECTOR_NOT_SANDBOXED); #endif image = gly_loader_load (loader, &local_error); if (is_http && cache_into == NULL) /* delete tmp file */ g_file_delete (load_file, NULL, NULL); if (image == NULL || local_error != NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); frame = gly_image_next_frame (image, &local_error); if (frame == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); RATE_LIMIT_END (); if (async_tex_data_file != NULL) { g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (GFileOutputStream) output = NULL; builder = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}")); g_variant_builder_add ( builder, "{sv}", "birth-unix-stamp", g_variant_new_int64 (g_date_time_to_unix (now))); variant = g_variant_builder_end (builder); bytes = g_variant_get_data_as_bytes (variant); RATE_LIMIT_BEGIN (io); output = g_file_replace ( async_tex_data_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error); if (output != NULL) { gssize bytes_written = 0; bytes_written = g_output_stream_write_bytes (G_OUTPUT_STREAM (output), bytes, NULL, &local_error); if (bytes_written > 0) g_output_stream_close (G_OUTPUT_STREAM (output), NULL, &local_error); } RATE_LIMIT_END (); if (local_error != NULL) g_warning ("Failed to write async-tex cache metadata to %s ;" "The image will be fully reloaded next time: %s", async_tex_data_path, local_error->message); g_clear_pointer (&local_error, g_error_free); } } texture = gly_gtk_frame_get_texture (frame); if (texture == NULL) return dex_future_new_reject ( G_IO_ERROR, G_IO_ERROR_FAILED, "texture loading failed"); return dex_future_new_for_object (texture); } static DexFuture * load_finally (DexFuture *future, LoadData *data) { g_autoptr (GError) local_error = NULL; g_autoptr (BzAsyncTexture) self = NULL; g_autoptr (GMutexLocker) locker = NULL; bz_weak_get_or_return_reject (self, &data->self); locker = g_mutex_locker_new (&self->mutex); dex_clear (&self->task); if (dex_future_is_resolved (future)) { GdkTexture *texture = NULL; texture = g_value_get_object (dex_future_get_value (future, NULL)); g_clear_object (&self->paintable); self->paintable = g_object_ref (GDK_PAINTABLE (texture)); if (!self->cache_acquired) { texture_cache_store (self->source_uri, texture); self->cache_acquired = TRUE; } g_idle_add_full ( G_PRIORITY_DEFAULT_IDLE, (GSourceFunc) idle_notify, g_object_ref (self), g_object_unref); return dex_future_new_for_object (self->paintable); } else { dex_future_get_value (future, &local_error); if (self->retries < MAX_LOAD_RETRIES) { if (self->retries == MAX_LOAD_RETRIES - 1) g_warning ("Loading %s failed: %s. Retrying in %d seconds. This will " "be the last retry, after which this texture will remain invalid", self->source_uri, local_error != NULL ? local_error->message : "unknown error", RETRY_INTERVAL_SECONDS); else g_warning ("Loading %s failed: %s. Retrying in %d seconds. Retries left: %d", self->source_uri, local_error != NULL ? local_error->message : "unknown error", RETRY_INTERVAL_SECONDS, MAX_LOAD_RETRIES - self->retries); self->retries++; dex_clear (&self->retry_future); self->retry_future = dex_future_then ( dex_timeout_new_seconds (RETRY_INTERVAL_SECONDS), (DexFutureCallback) retry_cb, load_data_ref (data), load_data_unref); } return dex_ref (future); } } static DexFuture * retry_cb (DexFuture *future, LoadData *data) { g_autoptr (BzAsyncTexture) self = NULL; g_autoptr (GMutexLocker) locker = NULL; bz_weak_get_or_return_reject (self, &data->self); locker = g_mutex_locker_new (&self->mutex); dex_clear (&self->retry_future); maybe_load (self); return NULL; } static gboolean idle_notify (BzAsyncTexture *self) { g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LOADED]); gdk_paintable_invalidate_contents (GDK_PAINTABLE (self)); gdk_paintable_invalidate_size (GDK_PAINTABLE (self)); return G_SOURCE_REMOVE; } static void texture_cache_ensure (void) { if (texture_cache == NULL) texture_cache = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, cache_entry_data_unref); } static DexFuture * linger_timeout_finally (DexFuture *future, char *uri) { g_mutex_lock (&texture_cache_mutex); texture_cache_ensure (); g_hash_table_remove (texture_cache, uri); g_debug ("Texture cache: evicted '%s' after linger (table size: %u)", uri, g_hash_table_size (texture_cache)); g_mutex_unlock (&texture_cache_mutex); return dex_future_new_true (); } static GdkTexture * texture_cache_acquire (const char *uri) { g_autoptr (GMutexLocker) locker = NULL; CacheEntryData *data = NULL; locker = g_mutex_locker_new (&texture_cache_mutex); texture_cache_ensure (); data = g_hash_table_lookup (texture_cache, uri); if (data != NULL) { dex_clear (&data->linger_timeout); return g_object_ref (data->texture); } else return NULL; } static void texture_cache_store (const char *uri, GdkTexture *texture) { g_autoptr (CacheEntryData) data = NULL; g_mutex_lock (&texture_cache_mutex); texture_cache_ensure (); data = cache_entry_data_new (); data->texture = g_object_ref (texture); g_hash_table_replace ( texture_cache, g_strdup (uri), cache_entry_data_ref (data)); g_mutex_unlock (&texture_cache_mutex); } static void texture_cache_release (const char *uri) { g_autoptr (GMutexLocker) locker = NULL; CacheEntryData *data = NULL; g_autoptr (DexFuture) future = NULL; locker = g_mutex_locker_new (&texture_cache_mutex); texture_cache_ensure (); data = g_hash_table_lookup (texture_cache, uri); if (data == NULL) return; dex_clear (&data->linger_timeout); future = dex_timeout_new_seconds (TEXTURE_LINGER_SECONDS); future = dex_future_finally ( future, (DexFutureCallback) linger_timeout_finally, g_strdup (uri), g_free); data->linger_timeout = dex_ref (future); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-async-texture.h����������������������������������������������������0000664�0000000�0000000�00000004520�15234476640�0021453�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-async-texture.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include <libdex.h> G_BEGIN_DECLS #define BZ_TYPE_ASYNC_TEXTURE (bz_async_texture_get_type ()) G_DECLARE_FINAL_TYPE (BzAsyncTexture, bz_async_texture, BZ, ASYNC_TEXTURE, GObject) BzAsyncTexture * bz_async_texture_new (GFile *source, GFile *cache_into); BzAsyncTexture * bz_async_texture_new_with_size (GFile *source, GFile *cache_into, int width, int height); BzAsyncTexture * bz_async_texture_new_lazy (GFile *source, GFile *cache_into); BzAsyncTexture * bz_async_texture_new_lazy_with_size (GFile *source, GFile *cache_into, int width, int height); GFile * bz_async_texture_get_source (BzAsyncTexture *self); const char * bz_async_texture_get_source_uri (BzAsyncTexture *self); GFile * bz_async_texture_get_cache_into (BzAsyncTexture *self); const char * bz_async_texture_get_cache_into_path (BzAsyncTexture *self); int bz_async_texture_get_width (BzAsyncTexture *self); int bz_async_texture_get_height (BzAsyncTexture *self); gboolean bz_async_texture_get_loaded (BzAsyncTexture *self); GdkTexture * bz_async_texture_dup_texture (BzAsyncTexture *self); DexFuture * bz_async_texture_dup_future (BzAsyncTexture *self); void bz_async_texture_ensure (BzAsyncTexture *self); void bz_async_texture_cancel (BzAsyncTexture *self); gboolean bz_async_texture_is_loading (BzAsyncTexture *self); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-auth-state.c�������������������������������������������������������0000664�0000000�0000000�00000034215�15234476640�0020716�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-auth-state.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <libsecret/secret.h> #include "bz-async-texture.h" #include "bz-auth-state.h" #define SECRET_SCHEMA_NAME "io.github.kolunmi.Bazaar.FlathubAuth" #define SECRET_LABEL "Flathub Authentication" struct _BzAuthState { GObject parent_instance; char *name; char *token; char *profile_icon_url; GDateTime *token_expires; BzAsyncTexture *paintable; gboolean loading; guint expiration_timeout_id; }; G_DEFINE_FINAL_TYPE (BzAuthState, bz_auth_state, G_TYPE_OBJECT) enum { PROP_0, PROP_NAME, PROP_TOKEN, PROP_PROFILE_ICON_URL, PROP_AUTHENTICATED, PROP_PAINTABLE, N_PROPS }; static GParamSpec *properties[N_PROPS]; static const SecretSchema * get_secret_schema (void) { static const SecretSchema schema = { SECRET_SCHEMA_NAME, SECRET_SCHEMA_NONE, { { "service", SECRET_SCHEMA_ATTRIBUTE_STRING }, { "NULL", 0 }, } }; return &schema; } static gboolean on_token_expired (gpointer user_data) { BzAuthState *self = BZ_AUTH_STATE (user_data); self->expiration_timeout_id = 0; bz_auth_state_clear (self); return G_SOURCE_REMOVE; } static void schedule_token_expiration (BzAuthState *self) { GDateTime *now; gint64 seconds_until_expiration; if (self->expiration_timeout_id != 0) g_source_remove (self->expiration_timeout_id); self->expiration_timeout_id = 0; if (self->token_expires == NULL) return; now = g_date_time_new_now_utc (); seconds_until_expiration = g_date_time_difference (self->token_expires, now) / G_TIME_SPAN_SECOND; g_date_time_unref (now); if (seconds_until_expiration <= 0) { bz_auth_state_clear (self); return; } if (seconds_until_expiration > G_MAXUINT / 1000) self->expiration_timeout_id = g_timeout_add_seconds (G_MAXUINT / 1000, on_token_expired, self); else self->expiration_timeout_id = g_timeout_add_seconds (seconds_until_expiration, on_token_expired, self); } static void save_to_secrets (BzAuthState *self) { GHashTable *attributes; GError *error = NULL; g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autofree char *serialized = NULL; if (self->loading) return; attributes = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); g_hash_table_insert (attributes, g_strdup ("service"), g_strdup ("flathub")); builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT); if (self->name != NULL) g_variant_builder_add (builder, "{sv}", "name", g_variant_new_string (self->name)); if (self->token != NULL) g_variant_builder_add (builder, "{sv}", "token", g_variant_new_string (self->token)); if (self->token_expires != NULL) { g_autofree char *expires = g_date_time_format_iso8601 (self->token_expires); g_variant_builder_add (builder, "{sv}", "token-expires", g_variant_new_string (expires)); } if (self->profile_icon_url != NULL) g_variant_builder_add (builder, "{sv}", "profile-icon-url", g_variant_new_string (self->profile_icon_url)); variant = g_variant_builder_end (builder); serialized = g_variant_print (variant, FALSE); secret_password_storev_sync ( get_secret_schema (), attributes, NULL, SECRET_LABEL, serialized, NULL, &error); g_hash_table_unref (attributes); if (error != NULL) { g_warning ("Failed to save authentication to secrets: %s", error->message); g_error_free (error); } } static void load_from_secrets (BzAuthState *self) { GHashTable *attributes; GError *error = NULL; g_autofree char *secret = NULL; attributes = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); g_hash_table_insert (attributes, g_strdup ("service"), g_strdup ("flathub")); secret = secret_password_lookupv_sync ( get_secret_schema (), attributes, NULL, &error); g_hash_table_unref (attributes); if (error != NULL) { if (!g_error_matches (error, SECRET_ERROR, SECRET_ERROR_NO_SUCH_OBJECT)) g_warning ("Failed to load authentication from secrets: %s", error->message); g_error_free (error); return; } if (secret != NULL) { g_autoptr (GVariant) variant = NULL; g_autoptr (GVariantIter) iter = NULL; variant = g_variant_parse (G_VARIANT_TYPE_VARDICT, secret, NULL, NULL, &error); if (error != NULL) { g_warning ("Failed to parse secret: %s", error->message); g_error_free (error); return; } if (variant != NULL) { iter = g_variant_iter_new (variant); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "name") == 0) { g_clear_pointer (&self->name, g_free); self->name = g_variant_dup_string (value, NULL); } else if (g_strcmp0 (key, "token") == 0) { g_clear_pointer (&self->token, g_free); self->token = g_variant_dup_string (value, NULL); } else if (g_strcmp0 (key, "token-expires") == 0) { g_autoptr (GDateTime) dt = g_date_time_new_from_iso8601 (g_variant_get_string (value, NULL), NULL); if (dt != NULL) { g_clear_pointer (&self->token_expires, g_date_time_unref); self->token_expires = g_steal_pointer (&dt); } } else if (g_strcmp0 (key, "profile-icon-url") == 0) { g_clear_pointer (&self->profile_icon_url, g_free); self->profile_icon_url = g_variant_dup_string (value, NULL); g_clear_object (&self->paintable); if (self->profile_icon_url != NULL && self->profile_icon_url[0] != '\0') { g_autoptr (GFile) file = g_file_new_for_uri (self->profile_icon_url); self->paintable = bz_async_texture_new (file, NULL); } } } } } if (self->token_expires != NULL) { GDateTime *now = g_date_time_new_now_utc (); if (g_date_time_compare (now, self->token_expires) >= 0) { g_date_time_unref (now); bz_auth_state_clear (self); return; } g_date_time_unref (now); schedule_token_expiration (self); } } static void clear_secrets (BzAuthState *self) { gboolean result = FALSE; g_autoptr (GError) local_error = NULL; g_autoptr (GHashTable) attributes = NULL; attributes = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); g_hash_table_replace (attributes, g_strdup ("service"), g_strdup ("flathub")); result = secret_password_clearv_sync ( get_secret_schema (), attributes, NULL, &local_error); if (!result) g_warning ("Failed to clear auth values from secrets: %s", local_error->message); } static void bz_auth_state_dispose (GObject *object) { BzAuthState *self = BZ_AUTH_STATE (object); g_clear_handle_id (&self->expiration_timeout_id, g_source_remove); g_clear_pointer (&self->name, g_free); g_clear_pointer (&self->token, g_free); g_clear_pointer (&self->profile_icon_url, g_free); g_clear_pointer (&self->token_expires, g_date_time_unref); g_clear_object (&self->paintable); G_OBJECT_CLASS (bz_auth_state_parent_class)->dispose (object); } static void bz_auth_state_finalize (GObject *object) { BzAuthState *self = BZ_AUTH_STATE (object); g_clear_pointer (&self->name, g_free); g_clear_pointer (&self->token, g_free); g_clear_pointer (&self->profile_icon_url, g_free); g_clear_pointer (&self->token_expires, g_date_time_unref); G_OBJECT_CLASS (bz_auth_state_parent_class)->finalize (object); } static void bz_auth_state_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzAuthState *self = BZ_AUTH_STATE (object); switch (prop_id) { case PROP_NAME: g_value_set_string (value, self->name); break; case PROP_TOKEN: g_value_set_string (value, self->token); break; case PROP_PROFILE_ICON_URL: g_value_set_string (value, self->profile_icon_url); break; case PROP_AUTHENTICATED: g_value_set_boolean (value, bz_auth_state_is_authenticated (self)); break; case PROP_PAINTABLE: g_value_set_object (value, bz_auth_state_get_paintable (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_auth_state_class_init (BzAuthStateClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_auth_state_dispose; object_class->finalize = bz_auth_state_finalize; object_class->get_property = bz_auth_state_get_property; properties[PROP_NAME] = g_param_spec_string ( "name", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); properties[PROP_TOKEN] = g_param_spec_string ( "token", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); properties[PROP_PROFILE_ICON_URL] = g_param_spec_string ( "profile-icon-url", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); properties[PROP_AUTHENTICATED] = g_param_spec_boolean ( "authenticated", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); properties[PROP_PAINTABLE] = g_param_spec_object ( "paintable", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, N_PROPS, properties); } static void bz_auth_state_init (BzAuthState *self) { self->loading = TRUE; load_from_secrets (self); self->loading = FALSE; } BzAuthState * bz_auth_state_new (void) { return g_object_new (BZ_TYPE_AUTH_STATE, NULL); } const char * bz_auth_state_get_name (BzAuthState *self) { g_return_val_if_fail (BZ_IS_AUTH_STATE (self), NULL); return self->name; } const char * bz_auth_state_get_token (BzAuthState *self) { g_return_val_if_fail (BZ_IS_AUTH_STATE (self), NULL); return self->token; } const char * bz_auth_state_get_profile_icon_url (BzAuthState *self) { g_return_val_if_fail (BZ_IS_AUTH_STATE (self), NULL); return self->profile_icon_url; } gboolean bz_auth_state_is_authenticated (BzAuthState *self) { g_return_val_if_fail (BZ_IS_AUTH_STATE (self), FALSE); return self->token != NULL && self->token[0] != '\0'; } GdkPaintable * bz_auth_state_get_paintable (BzAuthState *self) { g_return_val_if_fail (BZ_IS_AUTH_STATE (self), NULL); return (GdkPaintable *) self->paintable; } void bz_auth_state_set_authenticated (BzAuthState *self, const char *name, const char *token, GDateTime *token_expires, const char *profile_icon_url) { gboolean was_authenticated = FALSE; gboolean name_changed = FALSE; gboolean token_changed = FALSE; gboolean icon_changed = FALSE; g_return_if_fail (BZ_IS_AUTH_STATE (self)); was_authenticated = bz_auth_state_is_authenticated (self); if (g_strcmp0 (self->name, name) != 0) { g_clear_pointer (&self->name, g_free); self->name = g_strdup (name); name_changed = TRUE; } if (g_strcmp0 (self->token, token) != 0) { g_clear_pointer (&self->token, g_free); self->token = g_strdup (token); token_changed = TRUE; } g_clear_pointer (&self->token_expires, g_date_time_unref); if (token_expires != NULL) self->token_expires = g_date_time_ref (token_expires); if (g_strcmp0 (self->profile_icon_url, profile_icon_url) != 0) { g_clear_pointer (&self->profile_icon_url, g_free); self->profile_icon_url = g_strdup (profile_icon_url); icon_changed = TRUE; g_clear_object (&self->paintable); if (profile_icon_url != NULL && profile_icon_url[0] != '\0') { g_autoptr (GFile) file = g_file_new_for_uri (profile_icon_url); self->paintable = bz_async_texture_new (file, NULL); } g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_PAINTABLE]); } if (name_changed) g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_NAME]); if (token_changed) g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_TOKEN]); if (icon_changed) g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_PROFILE_ICON_URL]); if (!!was_authenticated != !!bz_auth_state_is_authenticated (self)) g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_AUTHENTICATED]); schedule_token_expiration (self); save_to_secrets (self); } void bz_auth_state_clear (BzAuthState *self) { g_return_if_fail (BZ_IS_AUTH_STATE (self)); g_clear_handle_id (&self->expiration_timeout_id, g_source_remove); clear_secrets (self); bz_auth_state_set_authenticated (self, NULL, NULL, NULL, NULL); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-auth-state.h�������������������������������������������������������0000664�0000000�0000000�00000003206�15234476640�0020717�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-auth-state.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gdk/gdk.h> #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_AUTH_STATE (bz_auth_state_get_type ()) G_DECLARE_FINAL_TYPE (BzAuthState, bz_auth_state, BZ, AUTH_STATE, GObject) BzAuthState *bz_auth_state_new (void); const char * bz_auth_state_get_name (BzAuthState *self); const char * bz_auth_state_get_token (BzAuthState *self); const char * bz_auth_state_get_profile_icon_url (BzAuthState *self); gboolean bz_auth_state_is_authenticated (BzAuthState *self); GdkPaintable * bz_auth_state_get_paintable (BzAuthState *self); void bz_auth_state_set_authenticated (BzAuthState *self, const char *name, const char *token, GDateTime *token_expires, const char *profile_icon_url); void bz_auth_state_clear (BzAuthState *self); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-backend-notification.txt�������������������������������������������0000664�0000000�0000000�00000001337�15234476640�0023306�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=backend_notification parent-prefix=g parent-name=object author=AUTOGEN enum=bz backend_notification_kind error tell_incoming replace_entry invalidate_remotes remote_sync_start remote_sync_finish install_done update_done remove_done external_change present_id include="bz-entry.h" property=kind BzBackendNotificationKind BZ_TYPE_BACKEND_NOTIFICATION_KIND enum property=error char G_TYPE_STRING string property=n_incoming int G_TYPE_INT int property=entry BzEntry BZ_TYPE_ENTRY object property=version char G_TYPE_STRING string property=remote_name char G_TYPE_STRING string property=generic_id char G_TYPE_STRING string property=unique_id char G_TYPE_STRING string property=was_rebased gboolean G_TYPE_BOOLEAN boolean �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-backend-transaction-op-payload.txt���������������������������������0000664�0000000�0000000�00000000464�15234476640�0025210�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=backend_transaction_op_payload parent-prefix=g parent-name=object author=AUTOGEN include="bz-entry.h" property=name char G_TYPE_STRING string property=entry BzEntry BZ_TYPE_ENTRY object property=download_size guint64 G_TYPE_UINT64 uint64 property=installed_size guint64 G_TYPE_UINT64 uint64 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-backend-transaction-op-progress-payload.txt������������������������0000664�0000000�0000000�00000001035�15234476640�0027045�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=backend_transaction_op_progress_payload parent-prefix=g parent-name=object author=AUTOGEN include="bz-backend-transaction-op-payload.h" property=op BzBackendTransactionOpPayload BZ_TYPE_BACKEND_TRANSACTION_OP_PAYLOAD object property=status char G_TYPE_STRING string property=is_estimating gboolean G_TYPE_BOOLEAN boolean property=progress double G_TYPE_DOUBLE double property=total_progress double G_TYPE_DOUBLE double property=bytes_transferred guint64 G_TYPE_UINT64 uint64 property=start_time guint64 G_TYPE_UINT64 uint64 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-backend.c����������������������������������������������������������0000664�0000000�0000000�00000022621�15234476640�0020224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-backend.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-backend.h" #include "bz-transaction.h" G_DEFINE_INTERFACE (BzBackend, bz_backend, G_TYPE_OBJECT) static DexChannel * bz_backend_real_create_notification_channel (BzBackend *self) { return NULL; } static DexFuture * bz_backend_real_load_local_package (BzBackend *self, GFile *file, GCancellable *cancellable) { return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unimplemented"); } static DexFuture * bz_backend_real_retrieve_remote_entries (BzBackend *self, GCancellable *cancellable) { return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unimplemented"); } static DexFuture * bz_backend_real_retrieve_install_ids (BzBackend *self, GCancellable *cancellable) { return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unimplemented"); } static DexFuture * bz_backend_real_retrieve_update_ids (BzBackend *self, GCancellable *cancellable) { return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unimplemented"); } static DexFuture * bz_backend_real_list_repositories (BzBackend *self, GCancellable *cancellable) { return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unimplemented"); } static DexFuture * bz_backend_real_schedule_transaction (BzBackend *self, BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals, DexChannel *channel, GCancellable *cancellable) { return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Unimplemented"); } static gboolean bz_backend_real_cancel_task_for_entry (BzBackend *self, BzEntry *entry) { return FALSE; } static void bz_backend_default_init (BzBackendInterface *iface) { iface->create_notification_channel = bz_backend_real_create_notification_channel; iface->load_local_package = bz_backend_real_load_local_package; iface->retrieve_remote_entries = bz_backend_real_retrieve_remote_entries; iface->retrieve_install_ids = bz_backend_real_retrieve_install_ids; iface->retrieve_update_ids = bz_backend_real_retrieve_update_ids; iface->list_repositories = bz_backend_real_list_repositories; iface->schedule_transaction = bz_backend_real_schedule_transaction; iface->cancel_task_for_entry = bz_backend_real_cancel_task_for_entry; } DexChannel * bz_backend_create_notification_channel (BzBackend *self) { g_return_val_if_fail (BZ_IS_BACKEND (self), NULL); return BZ_BACKEND_GET_IFACE (self)->create_notification_channel (self); } DexFuture * bz_backend_load_local_package (BzBackend *self, GFile *file, GCancellable *cancellable) { dex_return_error_if_fail (BZ_IS_BACKEND (self)); dex_return_error_if_fail (G_IS_FILE (file)); dex_return_error_if_fail (cancellable == NULL || G_IS_CANCELLABLE (self)); return BZ_BACKEND_GET_IFACE (self)->load_local_package (self, file, cancellable); } DexFuture * bz_backend_retrieve_remote_entries (BzBackend *self, GCancellable *cancellable) { dex_return_error_if_fail (BZ_IS_BACKEND (self)); dex_return_error_if_fail (cancellable == NULL || G_IS_CANCELLABLE (self)); return BZ_BACKEND_GET_IFACE (self)->retrieve_remote_entries (self, cancellable); } DexFuture * bz_backend_retrieve_install_ids (BzBackend *self, GCancellable *cancellable) { dex_return_error_if_fail (BZ_IS_BACKEND (self)); return BZ_BACKEND_GET_IFACE (self)->retrieve_install_ids (self, cancellable); } DexFuture * bz_backend_retrieve_update_ids (BzBackend *self, GCancellable *cancellable) { dex_return_error_if_fail (BZ_IS_BACKEND (self)); return BZ_BACKEND_GET_IFACE (self)->retrieve_update_ids (self, cancellable); } DexFuture * bz_backend_list_repositories (BzBackend *self, GCancellable *cancellable) { dex_return_error_if_fail (BZ_IS_BACKEND (self)); dex_return_error_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); return BZ_BACKEND_GET_IFACE (self)->list_repositories (self, cancellable); } DexFuture * bz_backend_schedule_transaction (BzBackend *self, BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals, DexChannel *channel, GCancellable *cancellable) { dex_return_error_if_fail (BZ_IS_BACKEND (self)); dex_return_error_if_fail ((installs != NULL && n_installs > 0) || (updates != NULL && n_updates > 0) || (removals != NULL && n_removals)); if (installs != NULL) { for (guint i = 0; i < n_installs; i++) dex_return_error_if_fail (BZ_IS_ENTRY (installs[i])); } if (updates != NULL) { for (guint i = 0; i < n_updates; i++) dex_return_error_if_fail (BZ_IS_ENTRY (updates[i])); } if (removals != NULL) { for (guint i = 0; i < n_removals; i++) dex_return_error_if_fail (BZ_IS_ENTRY (removals[i])); } return BZ_BACKEND_GET_IFACE (self)->schedule_transaction ( self, installs, n_installs, updates, n_updates, removals, n_removals, channel, cancellable); } DexFuture * bz_backend_merge_and_schedule_transactions (BzBackend *self, GListModel *transactions, DexChannel *channel, GCancellable *cancellable) { guint n_items = 0; g_autoptr (GPtrArray) installs_pa = NULL; g_autoptr (GPtrArray) updates_pa = NULL; g_autoptr (GPtrArray) removals_pa = NULL; dex_return_error_if_fail (G_IS_LIST_MODEL (transactions)); n_items = g_list_model_get_n_items (transactions); dex_return_error_if_fail (n_items > 0); installs_pa = g_ptr_array_new_with_free_func (g_object_unref); updates_pa = g_ptr_array_new_with_free_func (g_object_unref); removals_pa = g_ptr_array_new_with_free_func (g_object_unref); for (guint i = 0; i < n_items; i++) { g_autoptr (BzTransaction) transaction = NULL; GListModel *installs = NULL; GListModel *updates = NULL; GListModel *removals = NULL; guint n_installs = 0; guint n_updates = 0; guint n_removals = 0; transaction = g_list_model_get_item (transactions, i); installs = bz_transaction_get_installs (transaction); updates = bz_transaction_get_updates (transaction); removals = bz_transaction_get_removals (transaction); if (installs != NULL) n_installs = g_list_model_get_n_items (installs); if (updates != NULL) n_updates = g_list_model_get_n_items (updates); if (removals != NULL) n_removals = g_list_model_get_n_items (removals); for (guint j = 0; j < n_installs; j++) g_ptr_array_add (installs_pa, g_list_model_get_item (installs, j)); for (guint j = 0; j < n_updates; j++) g_ptr_array_add (updates_pa, g_list_model_get_item (updates, j)); for (guint j = 0; j < n_removals; j++) g_ptr_array_add (removals_pa, g_list_model_get_item (removals, j)); } return bz_backend_schedule_transaction ( self, (BzEntry **) installs_pa->pdata, installs_pa->len, (BzEntry **) updates_pa->pdata, updates_pa->len, (BzEntry **) removals_pa->pdata, removals_pa->len, channel, cancellable); } gboolean bz_backend_cancel_task_for_entry (BzBackend *self, BzEntry *entry) { g_return_val_if_fail (BZ_IS_BACKEND (self), FALSE); g_return_val_if_fail (BZ_IS_ENTRY (entry), FALSE); return BZ_BACKEND_GET_IFACE (self)->cancel_task_for_entry (self, entry); } ���������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-backend.h����������������������������������������������������������0000664�0000000�0000000�00000010376�15234476640�0020235�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-backend.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> #include "bz-entry.h" G_BEGIN_DECLS #define BZ_TYPE_BACKEND (bz_backend_get_type ()) G_DECLARE_INTERFACE (BzBackend, bz_backend, BZ, BACKEND, GObject) struct _BzBackendInterface { GTypeInterface parent_iface; DexChannel *(*create_notification_channel) (BzBackend *self); /* DexFuture* -> char*|BzEntry* */ DexFuture *(*load_local_package) (BzBackend *self, GFile *file, GCancellable *cancellable); /* DexFuture* -> gboolean */ DexFuture *(*retrieve_remote_entries) (BzBackend *self, GCancellable *cancellable); /* DexFuture* -> GHashTable* */ DexFuture *(*retrieve_install_ids) (BzBackend *self, GCancellable *cancellable); /* DexFuture* -> GPtrArray* -> char* */ DexFuture *(*retrieve_update_ids) (BzBackend *self, GCancellable *cancellable); /* DexFuture* -> GListModel* (of BzRepository objects) */ DexFuture *(*list_repositories) (BzBackend *self, GCancellable *cancellable); /* DexFuture* -> gboolean */ DexFuture *(*schedule_transaction) (BzBackend *self, BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals, DexChannel *channel, GCancellable *cancellable); gboolean (*cancel_task_for_entry) (BzBackend *self, BzEntry *entry); }; DexChannel * bz_backend_create_notification_channel (BzBackend *self); DexFuture * bz_backend_load_local_package (BzBackend *self, GFile *file, GCancellable *cancellable); DexFuture * bz_backend_retrieve_remote_entries (BzBackend *self, GCancellable *cancellable); DexFuture * bz_backend_retrieve_install_ids (BzBackend *self, GCancellable *cancellable); DexFuture * bz_backend_retrieve_update_ids (BzBackend *self, GCancellable *cancellable); DexFuture * bz_backend_list_repositories (BzBackend *self, GCancellable *cancellable); DexFuture * bz_backend_schedule_transaction (BzBackend *self, BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals, DexChannel *channel, GCancellable *cancellable); DexFuture * bz_backend_merge_and_schedule_transactions (BzBackend *self, GListModel *transactions, DexChannel *channel, GCancellable *cancellable); gboolean bz_backend_cancel_task_for_entry (BzBackend *self, BzEntry *entry); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-banner-view.blp����������������������������������������������������0000664�0000000�0000000�00000002051�15234476640�0021400�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzBannerView: Adw.Bin { hexpand: true; vexpand: false; margin-top: 20; child: Box box { hexpand: true; vexpand: false; halign: fill; valign: fill; height-request: bind try {$get_height(template.banner as <$BzCuratedBanner>.height), 250}; overflow: hidden; css-name: "banner"; styles ["card"] Picture picture { css-name: "image"; hexpand: true; alternative-text: bind template.banner as <$BzCuratedBanner>.image as <$BzCuratedImageInfo>.alt; visible: bind $invert_boolean($is_null(template.banner as <$BzCuratedBanner>.image) as <bool>) as <bool>; paintable: bind $get_image(template.banner as <$BzCuratedBanner>.image) as <$GdkPaintable>; can-shrink: bind template.banner as <$BzCuratedBanner>.image as <$BzCuratedImageInfo>.can-shrink; content-fit: bind template.banner as <$BzCuratedBanner>.image as <$BzCuratedImageInfo>.fit; halign: bind template.banner as <$BzCuratedBanner>.image as <$BzCuratedImageInfo>.halign; } }; }���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-banner-view.c������������������������������������������������������0000664�0000000�0000000�00000020667�15234476640�0021062�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-banner-view.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-banner-view.h" #include "bz-async-texture.h" #include "bz-curated-image-info.h" struct _BzBannerView { AdwBin parent_instance; BzCuratedBanner *banner; AdwStyleManager *style_manager; GtkCssProvider *css_provider; char *instance_class; /* Template widgets */ GtkBox *box; GtkPicture *picture; }; G_DEFINE_FINAL_TYPE (BzBannerView, bz_banner_view, ADW_TYPE_BIN) enum { PROP_0, PROP_BANNER, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void dark_changed (BzBannerView *self, GParamSpec *pspec, AdwStyleManager *mgr); static void refresh_background_color (BzBannerView *self, AdwStyleManager *mgr); static BzAsyncTexture * choose_image (const char *default_variant_uri, const char *light_variant_uri, const char *dark_variant_uri); static void bz_banner_view_dispose (GObject *object) { BzBannerView *self = BZ_BANNER_VIEW (object); g_signal_handlers_disconnect_by_func ( self->style_manager, dark_changed, self); if (self->css_provider != NULL) { gtk_style_context_remove_provider_for_display ( gtk_widget_get_display (GTK_WIDGET (self)), GTK_STYLE_PROVIDER (self->css_provider)); g_clear_object (&self->css_provider); } g_clear_pointer (&self->instance_class, g_free); g_clear_object (&self->banner); g_clear_object (&self->style_manager); G_OBJECT_CLASS (bz_banner_view_parent_class)->dispose (object); } static void bz_banner_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzBannerView *self = BZ_BANNER_VIEW (object); switch (prop_id) { case PROP_BANNER: g_value_set_object (value, bz_banner_view_get_banner (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_banner_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzBannerView *self = BZ_BANNER_VIEW (object); switch (prop_id) { case PROP_BANNER: bz_banner_view_set_banner (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static BzAsyncTexture * get_image (gpointer object, BzCuratedImageInfo *info) { const char *image = NULL; const char *light_image = NULL; const char *dark_image = NULL; if (!BZ_IS_CURATED_IMAGE_INFO (info)) return NULL; image = bz_curated_image_info_get_uri (info); light_image = bz_curated_image_info_get_light_uri (info); dark_image = bz_curated_image_info_get_dark_uri (info); return choose_image (image, light_image, dark_image); } static int get_height (gpointer object, int value) { if (value == 0) return 250; return CLAMP (value, 150, 400); } static void bz_banner_view_class_init (BzBannerViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_banner_view_dispose; object_class->get_property = bz_banner_view_get_property; object_class->set_property = bz_banner_view_set_property; props[PROP_BANNER] = g_param_spec_object ( "banner", NULL, NULL, BZ_TYPE_CURATED_BANNER, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_ASYNC_TEXTURE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-banner-view.ui"); gtk_widget_class_bind_template_child (widget_class, BzBannerView, picture); gtk_widget_class_bind_template_child (widget_class, BzBannerView, box); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, get_image); gtk_widget_class_bind_template_callback (widget_class, get_height); } static void dark_changed (BzBannerView *self, GParamSpec *pspec, AdwStyleManager *mgr) { refresh_background_color (self, mgr); if (self->banner != NULL) g_object_notify (G_OBJECT (self->banner), "image"); } static void bz_banner_view_init (BzBannerView *self) { gtk_widget_init_template (GTK_WIDGET (self)); self->style_manager = g_object_ref ( adw_style_manager_get_default ()); g_signal_connect_swapped ( self->style_manager, "notify::dark", G_CALLBACK (dark_changed), self); } GtkWidget * bz_banner_view_new (BzCuratedBanner *banner) { return g_object_new ( BZ_TYPE_BANNER_VIEW, "banner", banner, NULL); } void bz_banner_view_set_banner (BzBannerView *self, BzCuratedBanner *banner) { g_return_if_fail (BZ_IS_BANNER_VIEW (self)); g_return_if_fail (banner == NULL || BZ_IS_CURATED_BANNER (banner)); g_clear_object (&self->banner); if (banner != NULL) { self->banner = g_object_ref (banner); refresh_background_color (self, NULL); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_BANNER]); } BzCuratedBanner * bz_banner_view_get_banner (BzBannerView *self) { g_return_val_if_fail (BZ_IS_BANNER_VIEW (self), NULL); return self->banner; } static void refresh_background_color (BzBannerView *self, AdwStyleManager *mgr) { g_autofree char *css = NULL; g_autofree char *light_color = NULL; g_autofree char *dark_color = NULL; const char *color = NULL; if (self->banner == NULL) return; if (mgr == NULL) mgr = adw_style_manager_get_default (); g_object_get ( self->banner, "light-color", &light_color, "dark-color", &dark_color, NULL); color = adw_style_manager_get_dark (mgr) ? dark_color : light_color; if (color == NULL) return; if (self->instance_class == NULL) { self->instance_class = g_strdup_printf ( "bz-banner-%p", (void *) self); gtk_widget_add_css_class (GTK_WIDGET (self->box), "card"); gtk_widget_add_css_class (GTK_WIDGET (self->box), self->instance_class); } css = g_strdup_printf (".card.%s { background: %s; }", self->instance_class, color); if (self->css_provider == NULL) { self->css_provider = gtk_css_provider_new (); gtk_style_context_add_provider_for_display ( gtk_widget_get_display (GTK_WIDGET (self->box)), GTK_STYLE_PROVIDER (self->css_provider), GTK_STYLE_PROVIDER_PRIORITY_USER); } gtk_css_provider_load_from_string (self->css_provider, css); } static BzAsyncTexture * choose_image (const char *default_variant_uri, const char *light_variant_uri, const char *dark_variant_uri) { gboolean is_dark = FALSE; const char *uri = NULL; g_autoptr (GFile) source = NULL; is_dark = adw_style_manager_get_dark (adw_style_manager_get_default ()); if (is_dark) uri = dark_variant_uri; else uri = light_variant_uri; if (uri == NULL) uri = default_variant_uri; if (uri == NULL) return NULL; source = g_file_new_for_uri (uri); return bz_async_texture_new_lazy (source, NULL); } �������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-banner-view.h������������������������������������������������������0000664�0000000�0000000�00000002312�15234476640�0021052�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-banner-view.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-curated-banner.h" G_BEGIN_DECLS #define BZ_TYPE_BANNER_VIEW (bz_banner_view_get_type ()) G_DECLARE_FINAL_TYPE (BzBannerView, bz_banner_view, BZ, BANNER_VIEW, AdwBin) GtkWidget * bz_banner_view_new (BzCuratedBanner *banner); void bz_banner_view_set_banner (BzBannerView *self, BzCuratedBanner *banner); BzCuratedBanner * bz_banner_view_get_banner (BzBannerView *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-blocklist-condition-match-envvar.txt�������������������������������0000664�0000000�0000000�00000000263�15234476640�0025573�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=blocklist_condition_match_envvar parent-prefix=g parent-name=object author=AUTOGEN property=var char G_TYPE_STRING string property=regex char G_TYPE_STRING string ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-blocklist-condition-match-locale.txt�������������������������������0000664�0000000�0000000�00000000214�15234476640�0025525�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=blocklist_condition_match_locale parent-prefix=g parent-name=object author=AUTOGEN property=regex char G_TYPE_STRING string ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-blocklist-condition.txt��������������������������������������������0000664�0000000�0000000�00000001060�15234476640�0023176�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=blocklist_condition parent-prefix=g parent-name=object author=AUTOGEN enum=bz blocklist_condition_post_process_kind identity invert include="bz-blocklist-condition-match-envvar.h" include="bz-blocklist-condition-match-locale.h" property=match_envvar BzBlocklistConditionMatchEnvvar BZ_TYPE_BLOCKLIST_CONDITION_MATCH_ENVVAR object property=match_locale BzBlocklistConditionMatchLocale BZ_TYPE_BLOCKLIST_CONDITION_MATCH_LOCALE object property=post_process BzBlocklistConditionPostProcessKind BZ_TYPE_BLOCKLIST_CONDITION_POST_PROCESS_KIND enum ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-blocklist.txt������������������������������������������������������0000664�0000000�0000000�00000000740�15234476640�0021216�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=blocklist parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-blocklist-condition.h" ensure=BZ_TYPE_BLOCKLIST_CONDITION property=priority int G_TYPE_INT int property=conditions GListModel G_TYPE_LIST_MODEL object property=allow GListModel G_TYPE_LIST_MODEL object property=allow_regex GListModel G_TYPE_LIST_MODEL object property=block GListModel G_TYPE_LIST_MODEL object property=block_regex GListModel G_TYPE_LIST_MODEL object ��������������������������������bazaar-org-bazaar-917017d/src/bz-bulk-install-dialog-result.txt�������������������������������������0000664�0000000�0000000�00000000333�15234476640�0024400�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=bulk_install_dialog_result parent-prefix=g parent-name=object author=AUTOGEN include="bz-entry.h" property=entries GListModel G_TYPE_LIST_MODEL object property=confirmed gboolean G_TYPE_BOOLEAN boolean �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-bundle-install-dialog.blp������������������������������������������0000664�0000000�0000000�00000043126�15234476640�0023345�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzBundleInstallDialog: Adw.Dialog { content-width: 500; content-height: 520; width-request: 360; height-request: 294; Adw.Breakpoint { condition ("max-width: 400px") setters { install_label.visible: false; install_icon.visible: true; } } child: Adw.NavigationView nav_view { Adw.NavigationPage { tag: "main"; title: _("Bundle Installation"); child: Adw.ToolbarView { [top] Adw.HeaderBar { title-widget: Label { label: _("Bundle Installation"); }; show-title: false; } content: Stack main_stack { StackPage { name: "carousel"; child: Adw.Carousel carousel { interactive: false; spacing: 64; ScrolledWindow { hscrollbar-policy: never; hexpand: true; valign: fill; Box { orientation: vertical; spacing: 16; valign: start; halign: fill; hexpand: true; margin-top: 24; margin-bottom: 24; margin-start: 24; margin-end: 24; Box { orientation: bind $get_header_orientation(template.runtime-repo) as <Gtk.Orientation>; spacing: 16; halign: fill; valign: start; Image icon { paintable: bind template.entry as <$BzEntry>.icon-paintable; visible: bind $invert_boolean( $is_null(template.entry as <$BzEntry>.icon-paintable) as <bool> ) as <bool>; use-fallback: true; pixel-size: 96; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; valign: center; styles [ "icon-dropshadow", ] } Image { icon-name: "application-x-executable"; pixel-size: 96; visible: bind $invert_boolean(icon.visible) as <bool>; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; valign: center; styles [ "icon-dropshadow", ] } Box { orientation: vertical; spacing: 2; valign: center; hexpand: true; Label { label: bind template.entry as <$BzEntry>.title; selectable: true; wrap: true; wrap-mode: word_char; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; xalign: 0; styles [ "title-3", ] } Label { label: bind template.entry as <$BzEntry>.developer; selectable: true; wrap: true; wrap-mode: word_char; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; xalign: 0; visible: bind $not($is_empty_string(template.entry as <$BzEntry>.developer) as <bool>) as <bool>; styles [ "dim-label", ] } Label { label: bind $get_version(template.entry as <$BzEntry>.version-history); selectable: true; visible: bind $not( $is_empty_string($get_version(template.entry as <$BzEntry>.version-history) as <string>) as <bool> ) as <bool>; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; xalign: 0; styles [ "dim-label", "caption", ] } } Button { styles [ "suggested-action", "pill", ] valign: center; halign: center; visible: bind $is_null(template.runtime-repo) as <bool>; label: C_("Install Controls", "Install"); clicked => $install_cb(template); } Box { visible: bind $not($is_null(template.runtime-repo) as <bool>) as <bool>; Button install_label { styles [ "suggested-action", "pill", ] valign: center; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; label: C_("Install Controls", "Install"); clicked => $install_cb(template); } Button install_icon { styles [ "suggested-action", "circular", "circular-download-pill", ] valign: center; visible: false; halign: bind $get_header_halign(template.runtime-repo) as <Gtk.Align>; icon-name: "folder-download-symbolic"; clicked => $install_cb(template); } } } Adw.PreferencesGroup { margin-top: 12; Adw.ActionRow { [prefix] Image { icon-name: "drive-harddisk-symbolic"; valign: center; styles [ "circular-lozenge", "grey", ] } title: bind $get_disk_title(template.entry as <$BzEntry>.installed-size); subtitle: _("Additional dependencies may take extra space"); } Adw.ActionRow { [prefix] Image safety_icon { icon-name: bind $get_safety_icon_name(template.entry as <$BzEntry>); valign: center; styles [ "circular-lozenge", ] } [suffix] Image { icon-name: "go-next-symbolic"; } title: bind $get_safety_rating_label(template.entry); subtitle: bind $get_safety_subtitle(template.entry); subtitle-lines: 1; activatable: true; activated => $permission_cb(); } } Box { orientation: vertical; spacing: 4; visible: bind $not($is_null(template.runtime-repo) as <bool>) as <bool>; Label { label: _( "Installing this app may require adding a new software source. Other apps from this source will show up in Bazaar.\n\nOnly add this source if you're sure you trust it." ); wrap: true; wrap-mode: word_char; selectable: true; halign: start; margin-bottom: 6; styles [ "body", ] } Adw.PreferencesGroup { Adw.ActionRow { activatable: bind $not( $is_null(template.runtime-repo as <$BzFlatpakRepo>.homepage) as <bool> ) as <bool>; activated => $repo_cb(); child: Box { margin-top: 8; margin-bottom: 8; margin-start: 8; margin-end: 16; spacing: 8; Image bundle_image { pixel-size: 48; } Box { orientation: vertical; spacing: 4; hexpand: true; Label { label: bind template.runtime-repo as <$BzFlatpakRepo>.title; halign: start; ellipsize: end; styles [ "heading", ] } Label { label: bind template.runtime-repo as <$BzFlatpakRepo>.description; wrap: true; halign: start; wrap-mode: word_char; lines: 2; ellipsize: end; } Label { halign: start; label: bind $format_url(template.runtime-repo as <$BzFlatpakRepo>.url); ellipsize: end; styles [ "accent", "caption", ] } } Image { icon-name: "external-link-symbolic"; margin-start: 8; visible: bind $not( $is_null(template.runtime-repo as <$BzFlatpakRepo>.homepage) as <bool> ) as <bool>; } }; } } } } } Box page_progress { orientation: vertical; spacing: 12; valign: center; halign: fill; margin-top: 24; margin-bottom: 24; margin-start: 48; margin-end: 48; Image loading_icon { paintable: bind template.entry as <$BzEntry>.icon-paintable; visible: bind $invert_boolean( $is_null(template.entry as <$BzEntry>.icon-paintable) as <bool> ) as <bool>; pixel-size: 128; margin-bottom: 12; styles [ "icon-dropshadow", ] } Image { icon-name: "application-x-executable"; pixel-size: 128; visible: bind $invert_boolean(loading_icon.visible) as <bool>; margin-bottom: 12; styles [ "icon-dropshadow", ] } Label { label: bind template.entry as <$BzEntry>.title; selectable: true; wrap: true; wrap-mode: word_char; halign: center; styles [ "title-3", ] } ProgressBar progress_bar { margin-top: 16; pulse-step: 0.05; width-request: 250; } } ScrolledWindow page_finish { Box { orientation: vertical; spacing: 8; valign: center; halign: fill; margin-top: 24; margin-bottom: 24; margin-start: 24; margin-end: 24; Image end_icon { paintable: bind template.entry as <$BzEntry>.icon-paintable; visible: bind $invert_boolean( $is_null(template.entry as <$BzEntry>.icon-paintable) as <bool> ) as <bool>; pixel-size: 128; margin-bottom: 12; styles [ "icon-dropshadow", ] } Image { icon-name: "application-x-executable"; pixel-size: 128; visible: bind $invert_boolean(end_icon.visible) as <bool>; margin-bottom: 12; styles [ "icon-dropshadow", ] } Label { label: bind template.entry as <$BzEntry>.title; selectable: true; wrap: true; wrap-mode: word_char; halign: center; styles [ "title-3", ] } Label { label: _("Successfully Installed!"); selectable: true; halign: center; margin-bottom: 16; margin-top: 8; styles [ "dim-label", ] } Box { width-request: 40; orientation: vertical; spacing: 8; margin-top: 8; halign: center; Button open_btn { styles [ "suggested-action", "pill", ] halign: fill; // TRANSLATORS: Button to launch an installed app label: _("Open"); clicked => $run_cb(template); } Button show_in_store_btn { styles [ "pill", ] halign: fill; label: _("Show App Details"); clicked => $show_cb(template); } } } } }; } StackPage { name: "installed"; child: Box { orientation: vertical; spacing: 8; valign: center; halign: fill; margin-top: 24; margin-bottom: 24; margin-start: 24; margin-end: 24; Image installed_icon { paintable: bind template.entry as <$BzEntry>.icon-paintable; visible: bind $invert_boolean( $is_null(template.entry as <$BzEntry>.icon-paintable) as <bool> ) as <bool>; pixel-size: 128; margin-bottom: 12; } Image { icon-name: "application-x-executable"; pixel-size: 128; visible: bind $invert_boolean(installed_icon.visible) as <bool>; margin-bottom: 12; } Label { label: bind template.entry as <$BzEntry>.title; selectable: true; wrap: true; wrap-mode: word_char; halign: center; styles [ "title-3", ] } Label { label: _("Already Installed"); selectable: true; styles [ "dim-label", "caption", ] halign: center; } Box { orientation: vertical; spacing: 8; margin-top: 24; halign: center; Button { styles [ "suggested-action", "pill", ] halign: fill; // TRANSLATORS: Button to launch an installed app label: _("Open"); clicked => $run_cb(template); } Button { styles [ "pill", ] halign: fill; label: _("Show App Details"); clicked => $show_cb(template); } } }; } StackPage { name: "error"; child: Adw.StatusPage error_status { icon-name: "sad-computer-symbolic"; title: _("Installation Failed"); }; } }; }; } }; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-bundle-install-dialog.c��������������������������������������������0000664�0000000�0000000�00000041747�15234476640�0023021�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-bundle-install-dialog.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-app-permissions.h" #include "bz-app-size-dialog.h" #include "bz-application-map-factory.h" #include "bz-application.h" #include "bz-async-texture.h" #include "bz-bundle-install-dialog.h" #include "context-tile-callbacks.h" #include "env.h" #include "bz-flatpak-repo.h" #include "bz-release.h" #include "safety-calculator.h" #include "bz-safety-dialog.h" #include "bz-state-info.h" #include "template-callbacks.h" #include "util.h" struct _BzBundleInstallDialog { AdwDialog parent_instance; BzStateInfo *state; BzEntry *entry; BzFlatpakRepo *runtime_repo; AdwNavigationView *nav_view; GtkStack *main_stack; AdwCarousel *carousel; GtkWidget *page_progress; GtkWidget *page_finish; GtkProgressBar *progress_bar; AdwStatusPage *error_status; GtkImage *safety_icon; GtkImage *bundle_image; guint pulse_source_id; }; G_DEFINE_FINAL_TYPE (BzBundleInstallDialog, bz_bundle_install_dialog, ADW_TYPE_DIALOG); enum { PROP_0, PROP_STATE, PROP_ENTRY, PROP_RUNTIME_REPO, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * install_fiber (GWeakRef *wr); static void bz_bundle_install_dialog_dispose (GObject *object) { BzBundleInstallDialog *self = BZ_BUNDLE_INSTALL_DIALOG (object); g_clear_handle_id (&self->pulse_source_id, g_source_remove); g_clear_pointer (&self->state, g_object_unref); g_clear_pointer (&self->entry, g_object_unref); g_clear_pointer (&self->runtime_repo, g_object_unref); G_OBJECT_CLASS (bz_bundle_install_dialog_parent_class)->dispose (object); } static void bz_bundle_install_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzBundleInstallDialog *self = BZ_BUNDLE_INSTALL_DIALOG (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, bz_bundle_install_dialog_get_state (self)); break; case PROP_ENTRY: g_value_set_object (value, bz_bundle_install_dialog_get_entry (self)); break; case PROP_RUNTIME_REPO: g_value_set_object (value, bz_bundle_install_dialog_get_runtime_repo (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_bundle_install_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzBundleInstallDialog *self = BZ_BUNDLE_INSTALL_DIALOG (object); switch (prop_id) { case PROP_STATE: bz_bundle_install_dialog_set_state (self, g_value_get_object (value)); break; case PROP_ENTRY: bz_bundle_install_dialog_set_entry (self, g_value_get_object (value)); break; case PROP_RUNTIME_REPO: bz_bundle_install_dialog_set_runtime_repo (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean pulse_progress_bar (gpointer user_data) { BzBundleInstallDialog *self = BZ_BUNDLE_INSTALL_DIALOG (user_data); gtk_progress_bar_pulse (self->progress_bar); return G_SOURCE_CONTINUE; } static char * get_version (gpointer object, GListModel *version_history) { g_autoptr (BzRelease) release = NULL; if (version_history == NULL || g_list_model_get_n_items (version_history) == 0) return NULL; release = g_list_model_get_item (version_history, 0); return g_strdup (bz_release_get_version (release)); } static char * get_disk_title (gpointer object, guint64 installed_size) { g_autofree char *size_str = NULL; if (installed_size == 0) return g_strdup (_ ("Unknown install size")); size_str = g_format_size (installed_size); return g_strdup_printf (_ ("About %s to install"), size_str); } static char * get_safety_subtitle (gpointer object, BzEntry *entry) { g_autoptr (GListModel) model = NULL; g_autoptr (GString) result = NULL; guint n_items = 0; guint n_picked = 0; guint n_total = 0; if (entry == NULL) return g_strdup (_ ("N/A")); model = bz_safety_calculator_analyze_entry (entry); n_items = g_list_model_get_n_items (model); result = g_string_new (NULL); for (guint i = 0; i < n_items; i++) { g_autoptr (BzSafetyRow) row = g_list_model_get_item (model, i); BzImportance importance = BZ_IMPORTANCE_UNIMPORTANT; g_autofree char *title = NULL; g_object_get (row, "importance", &importance, "title", &title, NULL); if (importance <= BZ_IMPORTANCE_UNIMPORTANT || title == NULL) continue; n_total++; if (n_picked < 2) { if (n_picked > 0) g_string_append (result, ", "); g_string_append (result, title); n_picked++; } } if (n_picked == 0) return g_strdup (_ ("No special permissions")); if (n_total > 2) g_string_append (result, ", …"); return g_string_free (g_steal_pointer (&result), FALSE); } static char * get_safety_icon_name (gpointer object, BzEntry *entry) { BzImportance importance; if (entry == NULL) return g_strdup ("app-safety-unknown-symbolic"); importance = bz_safety_calculator_calculate_rating (entry); switch (importance) { case BZ_IMPORTANCE_UNIMPORTANT: case BZ_IMPORTANCE_NEUTRAL: case BZ_IMPORTANCE_INFORMATION: return g_strdup ("app-safety-ok-symbolic"); case BZ_IMPORTANCE_WARNING: return g_strdup ("permissions-warning-symbolic"); case BZ_IMPORTANCE_IMPORTANT: return g_strdup ("app-safety-unsafe-symbolic"); default: return g_strdup ("app-safety-unknown-symbolic"); } } static char * format_url (gpointer object, const char *url) { g_autoptr (GUri) uri = NULL; const char *host = NULL; if (url == NULL || (uri = g_uri_parse (url, G_URI_FLAGS_NONE, NULL)) == NULL || (host = g_uri_get_host (uri)) == NULL) return g_strdup (url); return g_strdup (host); } static GtkAlign get_header_halign (gpointer object, BzFlatpakRepo *runtime_repo) { return runtime_repo != NULL ? GTK_ALIGN_FILL : GTK_ALIGN_CENTER; } static GtkOrientation get_header_orientation (gpointer object, BzFlatpakRepo *runtime_repo) { return runtime_repo != NULL ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL; } static void install_cb (BzBundleInstallDialog *self, GtkButton *button) { if (self->entry == NULL || self->state == NULL) return; adw_carousel_scroll_to (self->carousel, self->page_progress, TRUE); self->pulse_source_id = g_timeout_add (80, pulse_progress_bar, self); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) install_fiber, bz_track_weak (self), bz_weak_release)); } static void run_cb (BzBundleInstallDialog *self, GtkButton *button) { const char *id = NULL; if (self->entry == NULL) return; id = bz_entry_get_id (self->entry); gtk_widget_activate_action (GTK_WIDGET (self), "window.launch-group", "s", id); } static void show_cb (BzBundleInstallDialog *self, GtkButton *button) { const char *id = NULL; if (self->entry == NULL) return; id = bz_entry_get_id (self->entry); adw_dialog_close (ADW_DIALOG (gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_DIALOG))); gtk_widget_activate_action (GTK_WIDGET (self), "window.show-group", "s", id); } static void permission_cb (AdwActionRow *row, BzBundleInstallDialog *self) { AdwNavigationPage *page = NULL; if (self->entry == NULL) return; page = bz_safety_dialog_page_new (self->entry); adw_navigation_view_push (self->nav_view, page); } static void repo_cb (AdwActionRow *row, BzBundleInstallDialog *self) { if (self->runtime_repo != NULL) gtk_uri_launcher_launch ( gtk_uri_launcher_new (bz_flatpak_repo_get_homepage (self->runtime_repo)), NULL, NULL, NULL, NULL); } static void bz_bundle_install_dialog_class_init (BzBundleInstallDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_bundle_install_dialog_set_property; object_class->get_property = bz_bundle_install_dialog_get_property; object_class->dispose = bz_bundle_install_dialog_dispose; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_RUNTIME_REPO] = g_param_spec_object ( "runtime-repo", NULL, NULL, BZ_TYPE_FLATPAK_REPO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-bundle-install-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); bz_widget_class_bind_all_context_tile_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, nav_view); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, main_stack); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, carousel); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, page_progress); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, page_finish); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, progress_bar); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, error_status); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, safety_icon); gtk_widget_class_bind_template_child (widget_class, BzBundleInstallDialog, bundle_image); gtk_widget_class_bind_template_callback (widget_class, install_cb); gtk_widget_class_bind_template_callback (widget_class, run_cb); gtk_widget_class_bind_template_callback (widget_class, show_cb); gtk_widget_class_bind_template_callback (widget_class, repo_cb); gtk_widget_class_bind_template_callback (widget_class, permission_cb); gtk_widget_class_bind_template_callback (widget_class, get_version); gtk_widget_class_bind_template_callback (widget_class, get_disk_title); gtk_widget_class_bind_template_callback (widget_class, get_safety_subtitle); gtk_widget_class_bind_template_callback (widget_class, get_safety_icon_name); gtk_widget_class_bind_template_callback (widget_class, format_url); gtk_widget_class_bind_template_callback (widget_class, get_header_halign); gtk_widget_class_bind_template_callback (widget_class, get_header_orientation); } static void bz_bundle_install_dialog_init (BzBundleInstallDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } static void bz_bundle_install_dialog_update_visible_page (BzBundleInstallDialog *self) { if (self->entry == NULL) return; if (bz_entry_is_installed (self->entry)) gtk_stack_set_visible_child_name (self->main_stack, "installed"); else gtk_stack_set_visible_child_name (self->main_stack, "carousel"); } BzBundleInstallDialog * bz_bundle_install_dialog_new (void) { return g_object_new (BZ_TYPE_BUNDLE_INSTALL_DIALOG, NULL); } BzStateInfo * bz_bundle_install_dialog_get_state (BzBundleInstallDialog *self) { g_return_val_if_fail (BZ_IS_BUNDLE_INSTALL_DIALOG (self), NULL); return self->state; } BzEntry * bz_bundle_install_dialog_get_entry (BzBundleInstallDialog *self) { g_return_val_if_fail (BZ_IS_BUNDLE_INSTALL_DIALOG (self), NULL); return self->entry; } BzFlatpakRepo * bz_bundle_install_dialog_get_runtime_repo (BzBundleInstallDialog *self) { g_return_val_if_fail (BZ_IS_BUNDLE_INSTALL_DIALOG (self), NULL); return self->runtime_repo; } void bz_bundle_install_dialog_set_state (BzBundleInstallDialog *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_BUNDLE_INSTALL_DIALOG (self)); g_return_if_fail (state == NULL || BZ_IS_STATE_INFO (state)); if (state == self->state) return; g_clear_pointer (&self->state, g_object_unref); if (state != NULL) self->state = g_object_ref (state); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } void bz_bundle_install_dialog_set_entry (BzBundleInstallDialog *self, BzEntry *entry) { BzImportance importance = 0; const char *style = NULL; g_return_if_fail (BZ_IS_BUNDLE_INSTALL_DIALOG (self)); g_return_if_fail (entry == NULL || BZ_IS_ENTRY (entry)); if (entry == self->entry) return; g_clear_pointer (&self->entry, g_object_unref); if (entry != NULL) self->entry = g_object_ref (entry); bz_bundle_install_dialog_update_visible_page (self); if (self->entry != NULL) { importance = bz_safety_calculator_calculate_rating (self->entry); style = bz_safety_style_for_importance (importance); gtk_widget_add_css_class (GTK_WIDGET (self->safety_icon), style); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENTRY]); } void bz_bundle_install_dialog_set_runtime_repo (BzBundleInstallDialog *self, BzFlatpakRepo *runtime_repo) { g_return_if_fail (BZ_IS_BUNDLE_INSTALL_DIALOG (self)); g_return_if_fail (runtime_repo == NULL || BZ_IS_FLATPAK_REPO (runtime_repo)); if (runtime_repo == self->runtime_repo) return; g_set_object (&self->runtime_repo, runtime_repo); if (self->bundle_image != NULL) { const char *icon_url = NULL; icon_url = runtime_repo != NULL ? bz_flatpak_repo_get_icon (runtime_repo) : NULL; if (icon_url != NULL) { g_autoptr (BzAsyncTexture) async_tex = NULL; async_tex = bz_async_texture_new (g_file_new_for_uri (icon_url), NULL); gtk_image_set_from_paintable (self->bundle_image, GDK_PAINTABLE (async_tex)); } else gtk_image_set_from_icon_name (self->bundle_image, "application-x-executable"); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RUNTIME_REPO]); } static DexFuture * install_fiber (GWeakRef *wr) { g_autoptr (BzBundleInstallDialog) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (BzTransaction) transaction = NULL; g_autoptr (BzTransactionManager) ts_manager = NULL; gboolean success = FALSE; g_autofree char *error_message = NULL; bz_weak_get_or_return_reject (self, wr); if (self->entry == NULL || self->state == NULL) return dex_future_new_false (); transaction = bz_transaction_new_full ( &self->entry, 1, NULL, 0, NULL, 0); ts_manager = g_object_ref (bz_state_info_get_transaction_manager (self->state)); dex_await ( bz_transaction_manager_add ( ts_manager, transaction), &local_error); g_object_get (transaction, "success", &success, "error", &error_message, NULL); g_clear_handle_id (&self->pulse_source_id, g_source_remove); if (local_error != NULL || !success) { const char *description = local_error != NULL ? local_error->message : error_message; adw_status_page_set_description (self->error_status, description); gtk_stack_set_visible_child_name (self->main_stack, "error"); } else adw_carousel_scroll_to (self->carousel, self->page_finish, TRUE); return dex_future_new_true (); } /* End of bz-bundle-install-dialog.c */ �������������������������bazaar-org-bazaar-917017d/src/bz-bundle-install-dialog.h��������������������������������������������0000664�0000000�0000000�00000003547�15234476640�0023022�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-bundle-install-dialog.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-entry.h" #include "bz-flatpak-repo.h" #include "bz-state-info.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_BUNDLE_INSTALL_DIALOG (bz_bundle_install_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzBundleInstallDialog, bz_bundle_install_dialog, BZ, BUNDLE_INSTALL_DIALOG, AdwDialog) BzBundleInstallDialog * bz_bundle_install_dialog_new (void); BzStateInfo * bz_bundle_install_dialog_get_state (BzBundleInstallDialog *self); BzEntry * bz_bundle_install_dialog_get_entry (BzBundleInstallDialog *self); BzFlatpakRepo * bz_bundle_install_dialog_get_runtime_repo (BzBundleInstallDialog *self); void bz_bundle_install_dialog_set_state (BzBundleInstallDialog *self, BzStateInfo *state); void bz_bundle_install_dialog_set_entry (BzBundleInstallDialog *self, BzEntry *entry); void bz_bundle_install_dialog_set_runtime_repo (BzBundleInstallDialog *self, BzFlatpakRepo *runtime_repo); G_END_DECLS /* End of bz-bundle-install-dialog.h */ ���������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-category-flags.c���������������������������������������������������0000664�0000000�0000000�00000012356�15234476640�0021550�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-category-flags.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-category-flags.h" static const struct { const char *name; BzCategoryFlags flag; } name_flag_map[] = { { "audiovideo", BZ_CATEGORY_FLAGS_AUDIOVIDEO }, { "development", BZ_CATEGORY_FLAGS_DEVELOPMENT }, { "education", BZ_CATEGORY_FLAGS_EDUCATION }, { "game", BZ_CATEGORY_FLAGS_GAME }, { "graphics", BZ_CATEGORY_FLAGS_GRAPHICS }, { "network", BZ_CATEGORY_FLAGS_NETWORK }, { "office", BZ_CATEGORY_FLAGS_OFFICE }, { "science", BZ_CATEGORY_FLAGS_SCIENCE }, { "system", BZ_CATEGORY_FLAGS_SYSTEM }, { "utility", BZ_CATEGORY_FLAGS_UTILITY }, { "trending", BZ_CATEGORY_FLAGS_TRENDING }, { "popular", BZ_CATEGORY_FLAGS_POPULAR }, { "recently-added", BZ_CATEGORY_FLAGS_RECENTLY_ADDED }, { "recently-updated", BZ_CATEGORY_FLAGS_RECENTLY_UPDATED }, { "mobile", BZ_CATEGORY_FLAGS_MOBILE }, { "adwaita", BZ_CATEGORY_FLAGS_ADWAITA }, { "kde", BZ_CATEGORY_FLAGS_KDE }, }; GType bz_category_flags_get_type (void) { static gsize g_define_type_id = 0; if (g_once_init_enter (&g_define_type_id)) { static const GFlagsValue values[] = { { BZ_CATEGORY_FLAGS_NONE, "BZ_CATEGORY_FLAGS_NONE", "none" }, { BZ_CATEGORY_FLAGS_AUDIOVIDEO, "BZ_CATEGORY_FLAGS_AUDIOVIDEO", "audiovideo" }, { BZ_CATEGORY_FLAGS_DEVELOPMENT, "BZ_CATEGORY_FLAGS_DEVELOPMENT", "development" }, { BZ_CATEGORY_FLAGS_EDUCATION, "BZ_CATEGORY_FLAGS_EDUCATION", "education" }, { BZ_CATEGORY_FLAGS_GAME, "BZ_CATEGORY_FLAGS_GAME", "game" }, { BZ_CATEGORY_FLAGS_GRAPHICS, "BZ_CATEGORY_FLAGS_GRAPHICS", "graphics" }, { BZ_CATEGORY_FLAGS_NETWORK, "BZ_CATEGORY_FLAGS_NETWORK", "network" }, { BZ_CATEGORY_FLAGS_OFFICE, "BZ_CATEGORY_FLAGS_OFFICE", "office" }, { BZ_CATEGORY_FLAGS_SCIENCE, "BZ_CATEGORY_FLAGS_SCIENCE", "science" }, { BZ_CATEGORY_FLAGS_SYSTEM, "BZ_CATEGORY_FLAGS_SYSTEM", "system" }, { BZ_CATEGORY_FLAGS_UTILITY, "BZ_CATEGORY_FLAGS_UTILITY", "utility" }, { BZ_CATEGORY_FLAGS_TRENDING, "BZ_CATEGORY_FLAGS_TRENDING", "trending" }, { BZ_CATEGORY_FLAGS_POPULAR, "BZ_CATEGORY_FLAGS_POPULAR", "popular" }, { BZ_CATEGORY_FLAGS_RECENTLY_ADDED, "BZ_CATEGORY_FLAGS_RECENTLY_ADDED", "recently-added" }, { BZ_CATEGORY_FLAGS_RECENTLY_UPDATED, "BZ_CATEGORY_FLAGS_RECENTLY_UPDATED", "recently-updated" }, { BZ_CATEGORY_FLAGS_MOBILE, "BZ_CATEGORY_FLAGS_MOBILE", "mobile" }, { BZ_CATEGORY_FLAGS_ADWAITA, "BZ_CATEGORY_FLAGS_ADWAITA", "adwaita" }, { BZ_CATEGORY_FLAGS_KDE, "BZ_CATEGORY_FLAGS_KDE", "kde" }, { 0, NULL, NULL } }; GType type = g_flags_register_static ("BzCategoryFlags", values); g_once_init_leave (&g_define_type_id, type); } return g_define_type_id; } BzCategoryFlags bz_category_flags_add (BzCategoryFlags flags, const char *name) { g_autofree char *lower = NULL; if (name == NULL) return flags; lower = g_ascii_strdown (name, -1); for (gsize i = 0; i < G_N_ELEMENTS (name_flag_map); i++) { if (g_strcmp0 (name_flag_map[i].name, lower) == 0) return flags | name_flag_map[i].flag; } return flags; } gboolean bz_category_flags_has_name (BzCategoryFlags flags, const char *name) { for (gsize i = 0; i < G_N_ELEMENTS (name_flag_map); i++) { if (g_strcmp0 (name_flag_map[i].name, name) == 0) return (flags & name_flag_map[i].flag) != 0; } return FALSE; } BzCategoryFlags bz_category_flags_from_name (const char *name) { g_autofree char *lower = g_ascii_strdown (name, -1); for (gsize i = 0; i < G_N_ELEMENTS (name_flag_map); i++) if (g_strcmp0 (name_flag_map[i].name, lower) == 0) return name_flag_map[i].flag; return BZ_CATEGORY_FLAGS_NONE; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-category-flags.h���������������������������������������������������0000664�0000000�0000000�00000004072�15234476640�0021551�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-category-flags.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_CATEGORY_FLAGS (bz_category_flags_get_type ()) typedef enum { BZ_CATEGORY_FLAGS_NONE = 0, BZ_CATEGORY_FLAGS_AUDIOVIDEO = 1 << 0, BZ_CATEGORY_FLAGS_DEVELOPMENT = 1 << 1, BZ_CATEGORY_FLAGS_EDUCATION = 1 << 2, BZ_CATEGORY_FLAGS_GAME = 1 << 3, BZ_CATEGORY_FLAGS_GRAPHICS = 1 << 4, BZ_CATEGORY_FLAGS_NETWORK = 1 << 5, BZ_CATEGORY_FLAGS_OFFICE = 1 << 6, BZ_CATEGORY_FLAGS_SCIENCE = 1 << 7, BZ_CATEGORY_FLAGS_SYSTEM = 1 << 8, BZ_CATEGORY_FLAGS_UTILITY = 1 << 9, BZ_CATEGORY_FLAGS_TRENDING = 1 << 10, BZ_CATEGORY_FLAGS_POPULAR = 1 << 11, BZ_CATEGORY_FLAGS_RECENTLY_ADDED = 1 << 12, BZ_CATEGORY_FLAGS_RECENTLY_UPDATED = 1 << 13, BZ_CATEGORY_FLAGS_MOBILE = 1 << 14, BZ_CATEGORY_FLAGS_ADWAITA = 1 << 15, BZ_CATEGORY_FLAGS_KDE = 1 << 16, } BzCategoryFlags; GType bz_category_flags_get_type (void); BzCategoryFlags bz_category_flags_add (BzCategoryFlags flags, const char *name); gboolean bz_category_flags_has_name (BzCategoryFlags flags, const char *name); BzCategoryFlags bz_category_flags_from_name (const char *name); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-category-tile.blp��������������������������������������������������0000664�0000000�0000000�00000001433�15234476640�0021736�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzCategoryTile: Button { styles [ "card", "category-tile", ] child: Box { margin-start: 16; margin-end: 16; margin-top: 24; margin-bottom: 24; orientation: vertical; spacing: 12; valign: center; halign: center; Image { pixel-size: 48; icon-name: bind template.category as <$BzFlathubCategory>.icon-name; visible: bind $invert_boolean($is_null(template.category as <$BzFlathubCategory>.icon-name) as <bool>) as <bool>; styles [ "icon-dropshadow", ] } Label { css-name: "category-tile-label"; halign: center; xalign: 0.5; label: bind template.category as <$BzFlathubCategory>.short-name; wrap: true; wrap-mode: word_char; } }; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-category-tile.c����������������������������������������������������0000664�0000000�0000000�00000010753�15234476640�0021410�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-category-tile.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-category-tile.h" struct _BzCategoryTile { GtkButton parent_instance; BzFlathubCategory *category; }; G_DEFINE_FINAL_TYPE (BzCategoryTile, bz_category_tile, GTK_TYPE_BUTTON); enum { PROP_0, PROP_CATEGORY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_category_tile_dispose (GObject *object) { BzCategoryTile *self = BZ_CATEGORY_TILE (object); g_clear_object (&self->category); G_OBJECT_CLASS (bz_category_tile_parent_class)->dispose (object); } static void bz_category_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzCategoryTile *self = BZ_CATEGORY_TILE (object); switch (prop_id) { case PROP_CATEGORY: g_value_set_object (value, bz_category_tile_get_category (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_category_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzCategoryTile *self = BZ_CATEGORY_TILE (object); switch (prop_id) { case PROP_CATEGORY: bz_category_tile_set_category (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static void bz_category_tile_class_init (BzCategoryTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_category_tile_set_property; object_class->get_property = bz_category_tile_get_property; object_class->dispose = bz_category_tile_dispose; props[PROP_CATEGORY] = g_param_spec_object ( "category", NULL, NULL, BZ_TYPE_FLATHUB_CATEGORY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-category-tile.ui"); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); } static void bz_category_tile_init (BzCategoryTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); gtk_widget_add_css_class (GTK_WIDGET (self), "category-tile"); } GtkWidget * bz_category_tile_new (void) { return g_object_new (BZ_TYPE_CATEGORY_TILE, NULL); } BzFlathubCategory * bz_category_tile_get_category (BzCategoryTile *self) { g_return_val_if_fail (BZ_IS_CATEGORY_TILE (self), NULL); return self->category; } void bz_category_tile_set_category (BzCategoryTile *self, BzFlathubCategory *category) { const char *category_name; g_autofree char *css_class = NULL; g_return_if_fail (BZ_IS_CATEGORY_TILE (self)); g_clear_object (&self->category); if (category != NULL) { self->category = g_object_ref (category); category_name = bz_flathub_category_get_name (category); if (category_name != NULL) { g_autofree char *lowercase_name = g_ascii_strdown (category_name, -1); css_class = g_strdup_printf ("category-%s", lowercase_name); g_strdelimit (css_class, " &/", '-'); gtk_widget_add_css_class (GTK_WIDGET (self), css_class); } } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CATEGORY]); }���������������������bazaar-org-bazaar-917017d/src/bz-category-tile.h����������������������������������������������������0000664�0000000�0000000�00000002356�15234476640�0021415�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-category-tile.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-flathub-category.h" G_BEGIN_DECLS #define BZ_TYPE_CATEGORY_TILE (bz_category_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzCategoryTile, bz_category_tile, BZ, CATEGORY_TILE, GtkButton) GtkWidget * bz_category_tile_new (void); BzFlathubCategory * bz_category_tile_get_category (BzCategoryTile *self); void bz_category_tile_set_category (BzCategoryTile *self, BzFlathubCategory *category); G_END_DECLS����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-content-provider.c�������������������������������������������������0000664�0000000�0000000�00000044466�15234476640�0022152�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-content-provider.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::CONTENT-PROVIDER" #include "config.h" #include <gtk/gtk.h> #include <libdex.h> #include "bz-content-provider.h" #include "env.h" #include "io.h" #include "util.h" struct _BzContentProvider { GObject parent_instance; GListModel *input_files; BzParser *parser; GListStore *input_mirror; GHashTable *input_tracking; GListStore *outputs; GtkFlattenListModel *impl_model; }; static void list_model_iface_init (GListModelInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzContentProvider, bz_content_provider, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, list_model_iface_init)) enum { PROP_0, PROP_INPUT_FILES, PROP_PARSER, PROP_HAS_INPUTS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; BZ_DEFINE_DATA ( input_init, InputInit, { GFile *file; }, BZ_RELEASE_DATA (file, g_object_unref)) static DexFuture * input_init_fiber (InputInitData *data); BZ_DEFINE_DATA ( input_load, InputLoad, { GFile *file; BzParser *parser; }, BZ_RELEASE_DATA (file, g_object_unref); BZ_RELEASE_DATA (parser, g_object_unref)) static DexFuture * input_load_fiber (InputLoadData *data); BZ_DEFINE_DATA ( input_tracking, InputTracking, { GMutex mutex; GWeakRef self; char *path; GFileMonitor *monitor; GListStore *output; DexFuture *init; DexFuture *task; }, g_mutex_clear (&self->mutex); g_weak_ref_clear (&self->self); BZ_RELEASE_DATA (path, g_free); BZ_RELEASE_DATA (monitor, g_object_unref); BZ_RELEASE_DATA (output, g_object_unref); BZ_RELEASE_DATA (init, dex_unref); BZ_RELEASE_DATA (task, dex_unref)) static DexFuture * input_init_finally (DexFuture *future, InputTrackingData *data); static DexFuture * input_load_finally (DexFuture *future, InputTrackingData *data); static void impl_model_changed (BzContentProvider *self, guint position, guint removed, guint added, GListModel *impl_model); static void input_files_changed (BzContentProvider *self, guint position, guint removed, guint added, GListModel *input_files); static void input_file_changed_on_disk (InputTrackingData *data, GFile *file, GFile *other_file, GFileMonitorEvent event_type, GFileMonitor *monitor); static gboolean commence_reload (InputTrackingData *data); static void bz_content_provider_dispose (GObject *object) { BzContentProvider *self = BZ_CONTENT_PROVIDER (object); g_clear_object (&self->input_files); g_clear_object (&self->parser); g_clear_object (&self->input_mirror); g_clear_pointer (&self->input_tracking, g_hash_table_unref); g_clear_object (&self->outputs); g_clear_object (&self->impl_model); G_OBJECT_CLASS (bz_content_provider_parent_class)->dispose (object); } static void bz_content_provider_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzContentProvider *self = BZ_CONTENT_PROVIDER (object); switch (prop_id) { case PROP_INPUT_FILES: g_value_set_object (value, bz_content_provider_get_input_files (self)); break; case PROP_PARSER: g_value_set_object (value, bz_content_provider_get_parser (self)); break; case PROP_HAS_INPUTS: g_value_set_boolean (value, bz_content_provider_get_has_inputs (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_content_provider_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzContentProvider *self = BZ_CONTENT_PROVIDER (object); switch (prop_id) { case PROP_INPUT_FILES: bz_content_provider_set_input_files (self, g_value_get_object (value)); break; case PROP_PARSER: bz_content_provider_set_parser (self, g_value_get_object (value)); break; case PROP_HAS_INPUTS: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_content_provider_class_init (BzContentProviderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_content_provider_set_property; object_class->get_property = bz_content_provider_get_property; object_class->dispose = bz_content_provider_dispose; props[PROP_INPUT_FILES] = g_param_spec_object ( "input-files", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_PARSER] = g_param_spec_object ( "parser", NULL, NULL, BZ_TYPE_PARSER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_HAS_INPUTS] = g_param_spec_boolean ( "has-inputs", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_content_provider_init (BzContentProvider *self) { self->input_mirror = g_list_store_new (G_TYPE_FILE); self->input_tracking = g_hash_table_new_full ( g_direct_hash, g_direct_equal, g_object_unref, input_tracking_data_unref); self->outputs = g_list_store_new (G_TYPE_LIST_MODEL); self->impl_model = gtk_flatten_list_model_new (g_object_ref (G_LIST_MODEL (self->outputs))); g_signal_connect_swapped ( self->impl_model, "items-changed", G_CALLBACK (impl_model_changed), self); } static GType list_model_get_item_type (GListModel *list) { return G_TYPE_OBJECT; } static guint list_model_get_n_items (GListModel *list) { BzContentProvider *self = BZ_CONTENT_PROVIDER (list); return g_list_model_get_n_items (G_LIST_MODEL (self->impl_model)); } static gpointer list_model_get_item (GListModel *list, guint position) { BzContentProvider *self = BZ_CONTENT_PROVIDER (list); return g_list_model_get_item (G_LIST_MODEL (self->impl_model), position); } static void list_model_iface_init (GListModelInterface *iface) { iface->get_item_type = list_model_get_item_type; iface->get_n_items = list_model_get_n_items; iface->get_item = list_model_get_item; } BzContentProvider * bz_content_provider_new (void) { return g_object_new (BZ_TYPE_CONTENT_PROVIDER, NULL); } void bz_content_provider_set_input_files (BzContentProvider *self, GListModel *input_files) { guint old_length = 0; g_return_if_fail (BZ_IS_CONTENT_PROVIDER (self)); g_return_if_fail (input_files == NULL || G_IS_LIST_MODEL (input_files)); if (self->input_files != NULL) { old_length = g_list_model_get_n_items (self->input_files); g_signal_handlers_disconnect_by_func ( self->input_files, input_files_changed, self); } g_clear_object (&self->input_files); g_hash_table_remove_all (self->input_tracking); g_list_store_remove_all (self->input_mirror); g_list_store_remove_all (self->outputs); if (input_files != NULL) { self->input_files = g_object_ref (input_files); g_signal_connect_swapped ( input_files, "items-changed", G_CALLBACK (input_files_changed), self); input_files_changed ( self, 0, old_length, g_list_model_get_n_items (input_files), input_files); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INPUT_FILES]); } GListModel * bz_content_provider_get_input_files (BzContentProvider *self) { g_return_val_if_fail (BZ_IS_CONTENT_PROVIDER (self), NULL); return self->input_files; } void bz_content_provider_set_parser (BzContentProvider *self, BzParser *parser) { GHashTableIter iter = { 0 }; g_return_if_fail (BZ_IS_CONTENT_PROVIDER (self)); g_return_if_fail (parser == NULL || BZ_IS_PARSER (parser)); g_clear_object (&self->parser); if (parser != NULL) self->parser = g_object_ref (parser); g_hash_table_iter_init (&iter, self->input_tracking); for (;;) { GFile *file = NULL; InputTrackingData *data = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &file, (gpointer *) &data)) break; commence_reload (data); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PARSER]); } BzParser * bz_content_provider_get_parser (BzContentProvider *self) { g_return_val_if_fail (BZ_IS_CONTENT_PROVIDER (self), NULL); return self->parser; } gboolean bz_content_provider_get_has_inputs (BzContentProvider *self) { g_return_val_if_fail (BZ_IS_CONTENT_PROVIDER (self), FALSE); return self->input_files != NULL && g_list_model_get_n_items (self->input_files) > 0 && g_list_model_get_n_items (G_LIST_MODEL (self)) > 0; } static void impl_model_changed (BzContentProvider *self, guint position, guint removed, guint added, GListModel *impl_model) { g_list_model_items_changed ( G_LIST_MODEL (self), position, removed, added); } static void input_files_changed (BzContentProvider *self, guint position, guint removed, guint added, GListModel *input_files) { gboolean emit_has_inputs = FALSE; g_autofree GFile **additions = NULL; g_autofree GListStore **new_outputs = NULL; emit_has_inputs = g_list_model_get_n_items (input_files) == 0 || g_list_model_get_n_items (G_LIST_MODEL (self->input_mirror)) == 0; if (removed > 0) { for (guint i = 0; i < removed; i++) { g_autoptr (GFile) removal = NULL; InputTrackingData *data = NULL; removal = g_list_model_get_item ( G_LIST_MODEL (self->input_mirror), position + i); data = g_hash_table_lookup (self->input_tracking, removal); g_assert (data != NULL); g_mutex_lock (&data->mutex); dex_clear (&data->task); g_mutex_unlock (&data->mutex); g_hash_table_remove (self->input_tracking, removal); } } if (added > 0) { additions = g_malloc0_n (added, sizeof (*additions)); for (guint i = 0; i < added; i++) additions[i] = g_list_model_get_item ( G_LIST_MODEL (self->input_files), position + i); new_outputs = g_malloc0_n (added, sizeof (*new_outputs)); for (guint i = 0; i < added; i++) new_outputs[i] = g_list_store_new (G_TYPE_OBJECT); } g_list_store_splice (self->input_mirror, position, removed, (gpointer *) additions, added); g_list_store_splice (self->outputs, position, removed, (gpointer *) new_outputs, added); for (guint i = 0; i < added; i++) { g_autoptr (InputInitData) init_data = NULL; g_autoptr (InputTrackingData) tracking_data = NULL; g_autoptr (DexFuture) future = NULL; init_data = input_init_data_new (); init_data->file = g_object_ref (additions[i]); future = dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) input_init_fiber, input_init_data_ref (init_data), input_init_data_unref); tracking_data = input_tracking_data_new (); g_mutex_init (&tracking_data->mutex); g_weak_ref_init (&tracking_data->self, self); tracking_data->path = g_file_get_path (additions[i]); tracking_data->output = g_steal_pointer (&new_outputs[i]); g_mutex_lock (&tracking_data->mutex); future = dex_future_finally ( future, (DexFutureCallback) input_init_finally, input_tracking_data_ref (tracking_data), input_tracking_data_unref); tracking_data->init = g_steal_pointer (&future); g_mutex_unlock (&tracking_data->mutex); g_hash_table_replace ( self->input_tracking, g_steal_pointer (&additions[i]), input_tracking_data_ref (tracking_data)); } if (emit_has_inputs) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_INPUTS]); } static void input_file_changed_on_disk (InputTrackingData *data, GFile *file, GFile *other_file, GFileMonitorEvent event_type, GFileMonitor *monitor) { if (event_type == G_FILE_MONITOR_EVENT_CHANGED || event_type == G_FILE_MONITOR_EVENT_CREATED || event_type == G_FILE_MONITOR_EVENT_DELETED) g_idle_add_full ( G_PRIORITY_DEFAULT, (GSourceFunc) commence_reload, input_tracking_data_ref (data), input_tracking_data_unref); } static DexFuture * input_init_fiber (InputInitData *data) { GFile *file = data->file; g_autoptr (GError) local_error = NULL; g_autoptr (GFileMonitor) monitor = NULL; monitor = g_file_monitor_file ( file, G_FILE_MONITOR_NONE, NULL, &local_error); if (monitor == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); return dex_future_new_for_object (monitor); } static DexFuture * input_init_finally (DexFuture *future, InputTrackingData *data) { g_autoptr (BzContentProvider) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GMutexLocker) locker = NULL; const GValue *value = NULL; locker = g_mutex_locker_new (&data->mutex); dex_clear (&data->init); bz_weak_get_or_return_reject (self, &data->self); g_list_store_remove_all (data->output); value = dex_future_get_value (future, &local_error); if (value != NULL) { data->monitor = g_value_dup_object (value); g_signal_connect_swapped ( data->monitor, "changed", G_CALLBACK (input_file_changed_on_disk), data); g_clear_pointer (&locker, g_mutex_locker_free); commence_reload (data); } else g_warning ("Could not init object watch at path %s: %s", data->path, local_error->message); return NULL; } static DexFuture * input_load_fiber (InputLoadData *data) { GFile *file = data->file; BzParser *parser = data->parser; g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (GHashTable) parse_results = NULL; GObject *object = NULL; bytes = dex_await_boxed (dex_file_load_contents_bytes (file), &local_error); if (bytes == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); parse_results = bz_parser_process_bytes (parser, bytes, &local_error); if (parse_results == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); object = g_value_get_object (g_hash_table_lookup (parse_results, "/")); if (object == NULL) return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Parser returned invalid results"); return dex_future_new_for_object (object); } static DexFuture * input_load_finally (DexFuture *future, InputTrackingData *data) { g_autoptr (BzContentProvider) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GMutexLocker) locker = NULL; const GValue *value = NULL; locker = g_mutex_locker_new (&data->mutex); g_list_store_remove_all (data->output); bz_weak_get_or_return_reject (self, &data->self); value = dex_future_get_value (future, &local_error); if (value != NULL) g_list_store_append (data->output, g_value_get_object (value)); else if (local_error->domain != G_IO_ERROR) g_warning ("Could not load object at path %s: %s", data->path, local_error->message); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_INPUTS]); return NULL; } static gboolean commence_reload (InputTrackingData *data) { g_autoptr (BzContentProvider) self = NULL; g_autoptr (GMutexLocker) locker = NULL; g_autoptr (InputLoadData) load_data = NULL; g_autoptr (DexFuture) future = NULL; locker = g_mutex_locker_new (&data->mutex); dex_clear (&data->task); self = g_weak_ref_get (&data->self); if (self == NULL) goto done; if (self->parser == NULL) goto done; load_data = input_load_data_new (); load_data->file = g_file_new_for_path (data->path); load_data->parser = g_object_ref (self->parser); future = dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) input_load_fiber, input_load_data_ref (load_data), input_load_data_unref); future = dex_future_finally ( future, (DexFutureCallback) input_load_finally, input_tracking_data_ref (data), input_tracking_data_unref); data->task = g_steal_pointer (&future); done: return G_SOURCE_REMOVE; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-content-provider.h�������������������������������������������������0000664�0000000�0000000�00000003010�15234476640�0022133�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-content-provider.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-parser.h" G_BEGIN_DECLS #define BZ_TYPE_CONTENT_PROVIDER (bz_content_provider_get_type ()) G_DECLARE_FINAL_TYPE (BzContentProvider, bz_content_provider, BZ, CONTENT_PROVIDER, GObject) BzContentProvider * bz_content_provider_new (void); void bz_content_provider_set_input_files (BzContentProvider *self, GListModel *input_files); GListModel * bz_content_provider_get_input_files (BzContentProvider *self); void bz_content_provider_set_parser (BzContentProvider *self, BzParser *parser); BzParser * bz_content_provider_get_parser (BzContentProvider *self); gboolean bz_content_provider_get_has_inputs (BzContentProvider *self); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-context-row.c������������������������������������������������������0000664�0000000�0000000�00000005422�15234476640�0021126�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-context-row.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-context-row.h" GType bz_importance_get_type (void) { static GType type = 0; if (G_UNLIKELY (type == 0)) { static const GEnumValue values[] = { { BZ_IMPORTANCE_UNIMPORTANT, "BZ_IMPORTANCE_UNIMPORTANT", "unimportant" }, { BZ_IMPORTANCE_NEUTRAL, "BZ_IMPORTANCE_NEUTRAL", "neutral" }, { BZ_IMPORTANCE_INFORMATION, "BZ_IMPORTANCE_INFORMATION", "information" }, { BZ_IMPORTANCE_WARNING, "BZ_IMPORTANCE_WARNING", "warning" }, { BZ_IMPORTANCE_IMPORTANT, "BZ_IMPORTANCE_IMPORTANT", "important" }, { 0, NULL, NULL } }; type = g_enum_register_static ("BzImportance", values); } return type; } const gchar * bz_context_row_importance_to_css_class (BzImportance importance) { switch (importance) { case BZ_IMPORTANCE_UNIMPORTANT: return "green"; case BZ_IMPORTANCE_NEUTRAL: return "grey"; case BZ_IMPORTANCE_INFORMATION: return "yellow"; case BZ_IMPORTANCE_WARNING: return "orange"; case BZ_IMPORTANCE_IMPORTANT: return "red"; default: return "grey"; } } AdwActionRow * bz_context_row_new (const gchar *icon_name, BzImportance importance, const gchar *title, const gchar *subtitle) { AdwActionRow *row; GtkWidget *icon; const gchar *css_class; g_return_val_if_fail (icon_name != NULL, NULL); g_return_val_if_fail (title != NULL, NULL); row = ADW_ACTION_ROW (adw_action_row_new ()); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (row), title); if (subtitle != NULL) adw_action_row_set_subtitle (row, subtitle); icon = gtk_image_new_from_icon_name (icon_name); gtk_widget_set_valign (icon, GTK_ALIGN_CENTER); gtk_widget_add_css_class (icon, "circular-lozenge"); css_class = bz_context_row_importance_to_css_class (importance); gtk_widget_add_css_class (icon, css_class); adw_action_row_add_prefix (row, icon); return row; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-context-row.h������������������������������������������������������0000664�0000000�0000000�00000002527�15234476640�0021136�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-context-row.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS typedef enum { BZ_IMPORTANCE_UNIMPORTANT, BZ_IMPORTANCE_NEUTRAL, BZ_IMPORTANCE_INFORMATION, BZ_IMPORTANCE_WARNING, BZ_IMPORTANCE_IMPORTANT, } BzImportance; #define BZ_TYPE_IMPORTANCE (bz_importance_get_type ()) GType bz_importance_get_type (void) G_GNUC_CONST; AdwActionRow * bz_context_row_new (const gchar *icon_name, BzImportance importance, const gchar *title, const gchar *subtitle); const gchar * bz_context_row_importance_to_css_class (BzImportance importance); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-context-tile.blp���������������������������������������������������0000664�0000000�0000000�00000001300�15234476640�0021576�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzContextTile: Button { styles [ "context-tile", "flat", ] focusable: false; halign: center; Box { orientation: vertical; spacing: 4; hexpand: true; Button ring_button { styles [ "lozenge-ring-button", ] halign: center; valign: center; margin-bottom: 4; child: Box lozenge { styles [ "lozenge", ] halign: center; }; accessibility { described-by: label; } } Label label { styles [ "context-tile-text", ] justify: center; wrap: true; wrap-mode: word_char; xalign: 0.5; } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-context-tile.c�����������������������������������������������������0000664�0000000�0000000�00000016752�15234476640�0021264�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-context-tile.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-context-tile.h" #include <glib/gi18n.h> struct _BzContextTile { GtkButton parent_instance; char *lozenge_style; /* Template widgets */ GtkButton *ring_button; GtkBox *lozenge; GtkLabel *label; }; G_DEFINE_FINAL_TYPE (BzContextTile, bz_context_tile, GTK_TYPE_BUTTON) enum { PROP_0, PROP_LOZENGE_CHILD, PROP_LABEL, PROP_LOZENGE_STYLE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_context_tile_dispose (GObject *object) { BzContextTile *self = BZ_CONTEXT_TILE (object); g_clear_pointer (&self->lozenge_style, g_free); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_CONTEXT_TILE); G_OBJECT_CLASS (bz_context_tile_parent_class)->dispose (object); } static void bz_context_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzContextTile *self = BZ_CONTEXT_TILE (object); switch (prop_id) { case PROP_LOZENGE_CHILD: g_value_set_object (value, bz_context_tile_get_lozenge_child (self)); break; case PROP_LABEL: g_value_set_string (value, bz_context_tile_get_label (self)); break; case PROP_LOZENGE_STYLE: g_value_set_string (value, bz_context_tile_get_lozenge_style (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_context_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzContextTile *self = BZ_CONTEXT_TILE (object); switch (prop_id) { case PROP_LOZENGE_CHILD: bz_context_tile_set_lozenge_child (self, g_value_get_object (value)); break; case PROP_LABEL: bz_context_tile_set_label (self, g_value_get_string (value)); break; case PROP_LOZENGE_STYLE: bz_context_tile_set_lozenge_style (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_context_tile_class_init (BzContextTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_context_tile_set_property; object_class->get_property = bz_context_tile_get_property; object_class->dispose = bz_context_tile_dispose; props[PROP_LOZENGE_CHILD] = g_param_spec_object ( "lozenge-child", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_LABEL] = g_param_spec_string ( "label", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_LOZENGE_STYLE] = g_param_spec_string ( "lozenge-style", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-context-tile.ui"); gtk_widget_class_bind_template_child (widget_class, BzContextTile, lozenge); gtk_widget_class_bind_template_child (widget_class, BzContextTile, label); gtk_widget_class_bind_template_child (widget_class, BzContextTile, ring_button); } static void on_enter_notify (GtkEventController *controller, gpointer user_data) { g_autoptr (GdkCursor) cursor = gdk_cursor_new_from_name ("pointer", NULL); gtk_widget_set_cursor (GTK_WIDGET (user_data), cursor); } static void on_leave_notify (GtkEventController *controller, gpointer user_data) { gtk_widget_set_cursor (GTK_WIDGET (user_data), NULL); } static void on_ring_button_clicked (GtkButton *ring_button, gpointer user_data) { BzContextTile *self = BZ_CONTEXT_TILE (user_data); g_signal_emit_by_name (self, "clicked"); } static void bz_context_tile_init (BzContextTile *self) { GtkEventController *enter_leave = gtk_event_controller_motion_new (); gtk_widget_init_template (GTK_WIDGET (self)); g_signal_connect (self->ring_button, "clicked", G_CALLBACK (on_ring_button_clicked), self); g_signal_connect (enter_leave, "enter", G_CALLBACK (on_enter_notify), GTK_WIDGET (self)); g_signal_connect (enter_leave, "leave", G_CALLBACK (on_leave_notify), GTK_WIDGET (self)); gtk_widget_add_controller (GTK_WIDGET (self), enter_leave); } BzContextTile * bz_context_tile_new (void) { return g_object_new (BZ_TYPE_CONTEXT_TILE, NULL); } GtkWidget * bz_context_tile_get_lozenge_child (BzContextTile *self) { g_return_val_if_fail (BZ_IS_CONTEXT_TILE (self), NULL); return gtk_widget_get_first_child (GTK_WIDGET (self->lozenge)); } void bz_context_tile_set_lozenge_child (BzContextTile *self, GtkWidget *child) { GtkWidget *old_child; g_return_if_fail (BZ_IS_CONTEXT_TILE (self)); old_child = gtk_widget_get_first_child (GTK_WIDGET (self->lozenge)); if (old_child == child) return; if (old_child != NULL) gtk_box_remove (self->lozenge, old_child); if (child != NULL) gtk_box_append (self->lozenge, child); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LOZENGE_CHILD]); } const char * bz_context_tile_get_label (BzContextTile *self) { g_return_val_if_fail (BZ_IS_CONTEXT_TILE (self), NULL); return gtk_label_get_label (self->label); } void bz_context_tile_set_label (BzContextTile *self, const char *label) { g_return_if_fail (BZ_IS_CONTEXT_TILE (self)); if (g_strcmp0 (gtk_label_get_label (self->label), label) == 0) return; gtk_label_set_label (self->label, label); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LABEL]); } const char * bz_context_tile_get_lozenge_style (BzContextTile *self) { g_return_val_if_fail (BZ_IS_CONTEXT_TILE (self), NULL); return self->lozenge_style; } void bz_context_tile_set_lozenge_style (BzContextTile *self, const char *style) { g_return_if_fail (BZ_IS_CONTEXT_TILE (self)); if (style != NULL && *style == '\0') style = NULL; if (g_strcmp0 (self->lozenge_style, style) == 0) return; if (self->lozenge_style != NULL) gtk_widget_remove_css_class (GTK_WIDGET (self->lozenge), self->lozenge_style); g_clear_pointer (&self->lozenge_style, g_free); if (style != NULL) { self->lozenge_style = g_strdup (style); gtk_widget_add_css_class (GTK_WIDGET (self->lozenge), self->lozenge_style); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LOZENGE_STYLE]); } ����������������������bazaar-org-bazaar-917017d/src/bz-context-tile.h�����������������������������������������������������0000664�0000000�0000000�00000003112�15234476640�0021253�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-context-tile.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_CONTEXT_TILE (bz_context_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzContextTile, bz_context_tile, BZ, CONTEXT_TILE, GtkButton) BzContextTile *bz_context_tile_new (void); GtkWidget *bz_context_tile_get_lozenge_child (BzContextTile *self); void bz_context_tile_set_lozenge_child (BzContextTile *self, GtkWidget *child); const char *bz_context_tile_get_label (BzContextTile *self); void bz_context_tile_set_label (BzContextTile *self, const char *label); const char *bz_context_tile_get_lozenge_style (BzContextTile *self); void bz_context_tile_set_lozenge_style (BzContextTile *self, const char *style); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-country-data-point.txt���������������������������������������������0000664�0000000�0000000�00000000257�15234476640�0022774�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=country_data_point parent-prefix=g parent-name=object author=AUTOGEN property=country_code char G_TYPE_STRING string property=downloads guint G_TYPE_UINT uint �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-country.txt��������������������������������������������������������0000664�0000000�0000000�00000000434�15234476640�0020733�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=country parent-prefix=g parent-name=object author=AUTOGEN property=name char G_TYPE_STRING string property=iso_code char G_TYPE_STRING string property=coordinates GVariant G_TYPE_VARIANT variant g_variant_unref g_variant_ref property=value double G_TYPE_DOUBLE double ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-app-tile.c�������������������������������������������������0000664�0000000�0000000�00000011042�15234476640�0021770�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-curated-app-tile.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-curated-app-tile.h" #include "bz-app-tile.h" struct _BzCuratedAppTile { AdwBin parent_instance; BzEntryGroup *group; }; G_DEFINE_FINAL_TYPE (BzCuratedAppTile, bz_curated_app_tile, ADW_TYPE_BIN); enum { PROP_0, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_CLICKED, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void bz_curated_app_tile_dispose (GObject *object) { BzCuratedAppTile *self = BZ_CURATED_APP_TILE (object); g_clear_pointer (&self->group, g_object_unref); G_OBJECT_CLASS (bz_curated_app_tile_parent_class)->dispose (object); } static void bz_curated_app_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzCuratedAppTile *self = BZ_CURATED_APP_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_curated_app_tile_get_group (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_curated_app_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzCuratedAppTile *self = BZ_CURATED_APP_TILE (object); switch (prop_id) { case PROP_GROUP: bz_curated_app_tile_set_group (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void clicked_cb (BzCuratedAppTile *self, BzAppTile *tile) { g_signal_emit (self, signals[SIGNAL_CLICKED], 0, NULL); } static void bz_curated_app_tile_class_init (BzCuratedAppTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_curated_app_tile_set_property; object_class->get_property = bz_curated_app_tile_get_property; object_class->dispose = bz_curated_app_tile_dispose; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_CLICKED] = g_signal_new ( "clicked", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 1, BZ_TYPE_ENTRY); g_signal_set_va_marshaller ( signals[SIGNAL_CLICKED], G_TYPE_FROM_CLASS (klass), g_cclosure_marshal_VOID__VOIDv); gtk_widget_class_set_css_name (widget_class, "app-tile"); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-curated-app-tile.ui"); gtk_widget_class_bind_template_callback (widget_class, clicked_cb); } static void bz_curated_app_tile_init (BzCuratedAppTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } BzCuratedAppTile * bz_curated_app_tile_new (void) { return g_object_new (BZ_TYPE_CURATED_APP_TILE, NULL); } BzEntryGroup * bz_curated_app_tile_get_group (BzCuratedAppTile *self) { g_return_val_if_fail (BZ_IS_CURATED_APP_TILE (self), NULL); return self->group; } void bz_curated_app_tile_set_group (BzCuratedAppTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_CURATED_APP_TILE (self)); g_clear_pointer (&self->group, g_object_unref); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } /* End of bz-curated-app-tile.c */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-appids-info.txt��������������������������������������������0000664�0000000�0000000�00000000235�15234476640�0023065�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_appids_info parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> property=list GListModel G_TYPE_LIST_MODEL object �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-article.txt������������������������������������������������0000664�0000000�0000000�00000000414�15234476640�0022276�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_article parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> property=title char G_TYPE_STRING string property=subtitle char G_TYPE_STRING string property=image char G_TYPE_STRING string property=uri char G_TYPE_STRING string ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-articles-info.txt������������������������������������������0000664�0000000�0000000�00000000424�15234476640�0023413�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_articles_info parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-curated-article.h" property=list GListModel G_TYPE_LIST_MODEL object property=uri char G_TYPE_STRING string property=aspect_ratio float G_TYPE_FLOAT float ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-banner.txt�������������������������������������������������0000664�0000000�0000000�00000000516�15234476640�0022123�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_banner parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-curated-image-info.h" property=image BzCuratedImageInfo BZ_TYPE_CURATED_IMAGE_INFO object property=light_color char G_TYPE_STRING string property=dark_color char G_TYPE_STRING string property=height int G_TYPE_INT int ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-featured-carousel.txt��������������������������������������0000664�0000000�0000000�00000000430�15234476640�0024263�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_featured_carousel parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-curated-appids-info.h" property=appids BzCuratedAppidsInfo BZ_TYPE_CURATED_APPIDS_INFO object property=disable_auto_rotate gboolean G_TYPE_BOOLEAN boolean ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-image-info.txt���������������������������������������������0000664�0000000�0000000�00000000651�15234476640�0022671�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_image_info parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> property=uri char G_TYPE_STRING string property=alt char G_TYPE_STRING string property=light_uri char G_TYPE_STRING string property=dark_uri char G_TYPE_STRING string property=can_shrink gboolean G_TYPE_BOOLEAN boolean property=fit GtkContentFit GTK_TYPE_CONTENT_FIT enum property=halign GtkAlign GTK_TYPE_ALIGN enum ���������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-markdown-info.txt������������������������������������������0000664�0000000�0000000�00000000202�15234476640�0023421�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_markdown_info parent-prefix=g parent-name=object author=AUTOGEN property=string char G_TYPE_STRING string ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-row.txt����������������������������������������������������0000664�0000000�0000000�00000001004�15234476640�0021456�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_row parent-prefix=g parent-name=object author=AUTOGEN include="bz-curated-section.h" include="bz-curated-featured-carousel.h" include="bz-curated-banner.h" include="bz-curated-articles-info.h" property=section BzCuratedSection BZ_TYPE_CURATED_SECTION object property=featured_carousel BzCuratedFeaturedCarousel BZ_TYPE_CURATED_FEATURED_CAROUSEL object property=banner BzCuratedBanner BZ_TYPE_CURATED_BANNER object property=articles BzCuratedArticlesInfo BZ_TYPE_CURATED_ARTICLES_INFO object ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-section.txt������������������������������������������������0000664�0000000�0000000�00000001035�15234476640�0022317�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=curated_section parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-entry-group.h" include="bz-curated-appids-info.h" include="bz-curated-markdown-info.h" property=title char G_TYPE_STRING string property=subtitle BzCuratedMarkdownInfo BZ_TYPE_CURATED_MARKDOWN_INFO object property=appids BzCuratedAppidsInfo BZ_TYPE_CURATED_APPIDS_INFO object property=list_type char G_TYPE_STRING string property=enable_bulk_install gboolean G_TYPE_BOOLEAN boolean property=overflow_count int G_TYPE_INT int ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-view.blp���������������������������������������������������0000664�0000000�0000000�00000004470�15234476640�0021571�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzCuratedView: Adw.Bin { child: Adw.BreakpointBin { width-request: 360; height-request: 100; Adw.Breakpoint { condition ("max-width: 700px") setters { content_box.margin-start: 10; content_box.margin-end: 10; } } child: Adw.ViewStack stack { enable-transitions: true; transition-duration: 400; Adw.ViewStackPage { name: "empty"; child: Adw.StatusPage { icon-name: "star-outline-rounded-symbolic"; title: _("No Curation"); description: _( "There is no curation information provided on this system. You can still browse apps on Flathub" ); child: Button { label: _("Browse Flathub"); halign: center; clicked => $browse_flathub_cb(template); styles [ "pill", ] }; }; } Adw.ViewStackPage { name: "offline"; child: Adw.StatusPage { icon-name: "connected-squares-x"; title: _("Offline"); }; } Adw.ViewStackPage { name: "content"; child: ScrolledWindow { hscrollbar-policy: never; child: Adw.ClampScrollable { maximum-size: 1500; tightening-threshold: 1400; child: ListView content_box { css-name: "curated-list-view"; overflow: visible; model: NoSelection { model: bind template.state as <$BzStateInfo>.curated-provider; }; margin-start: 30; margin-end: 30; margin-bottom: 50; factory: BuilderListItemFactory { template ListItem { activatable: false; selectable: false; focusable: false; child: $BzDynamicListView { hexpand: true; scroll: false; noscroll-kind: list-box; child-type: "BzRowView"; child-prop: "row"; model: bind template.item as <$BzRootCuratedConfig>.rows; }; } }; }; }; }; } }; }; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-view.c�����������������������������������������������������0000664�0000000�0000000�00000017275�15234476640�0021245�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-curated-view.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-curated-row.h" #include "bz-curated-view.h" #include "bz-dynamic-list-view.h" #include "bz-entry-group.h" #include "bz-root-curated-config.h" #include "bz-row-view.h" struct _BzCuratedView { AdwBin parent_instance; BzStateInfo *state; BzContentProvider *curated_provider; GPtrArray *css_providers; /* Template widgets */ AdwViewStack *stack; }; G_DEFINE_FINAL_TYPE (BzCuratedView, bz_curated_view, ADW_TYPE_BIN) enum { PROP_0, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_BROWSE_FLATHUB, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void items_changed (BzCuratedView *self, guint position, guint removed, guint added, GListModel *model); static void online_changed (BzCuratedView *self, GParamSpec *pspec, BzStateInfo *info); static void set_page (BzCuratedView *self); static void release_css_provider (gpointer ptr); static void bz_curated_view_dispose (GObject *object) { BzCuratedView *self = BZ_CURATED_VIEW (object); if (self->state != NULL) g_signal_handlers_disconnect_by_func ( self->state, online_changed, self); if (self->curated_provider != NULL) g_signal_handlers_disconnect_by_func ( self->curated_provider, items_changed, self); g_clear_object (&self->state); g_clear_object (&self->curated_provider); g_clear_pointer (&self->css_providers, g_ptr_array_unref); G_OBJECT_CLASS (bz_curated_view_parent_class)->dispose (object); } static void bz_curated_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzCuratedView *self = BZ_CURATED_VIEW (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, bz_curated_view_get_state (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_curated_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzCuratedView *self = BZ_CURATED_VIEW (object); switch (prop_id) { case PROP_STATE: bz_curated_view_set_state (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void browse_flathub_cb (BzCuratedView *self, GtkButton *button) { g_signal_emit (self, signals[SIGNAL_BROWSE_FLATHUB], 0); } static void bz_curated_view_class_init (BzCuratedViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_curated_view_dispose; object_class->get_property = bz_curated_view_get_property; object_class->set_property = bz_curated_view_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_BROWSE_FLATHUB] = g_signal_new ( "browse-flathub", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_ensure (BZ_TYPE_ROW_VIEW); g_type_ensure (BZ_TYPE_ROOT_CURATED_CONFIG); g_type_ensure (BZ_TYPE_CURATED_ROW); g_type_ensure (BZ_TYPE_DYNAMIC_LIST_VIEW); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-curated-view.ui"); gtk_widget_class_bind_template_child (widget_class, BzCuratedView, stack); gtk_widget_class_bind_template_callback (widget_class, browse_flathub_cb); } static void bz_curated_view_init (BzCuratedView *self) { self->css_providers = g_ptr_array_new_with_free_func (release_css_provider); gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_curated_view_new (void) { return g_object_new (BZ_TYPE_CURATED_VIEW, NULL); } void bz_curated_view_set_state (BzCuratedView *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_CURATED_VIEW (self)); g_return_if_fail (state == NULL || BZ_IS_STATE_INFO (state)); if (self->state != NULL) g_signal_handlers_disconnect_by_func ( self->state, online_changed, self); if (self->curated_provider != NULL) { g_signal_handlers_disconnect_by_func ( self->curated_provider, items_changed, self); items_changed ( self, 0, g_list_model_get_n_items (G_LIST_MODEL (self->curated_provider)), 0, G_LIST_MODEL (self->curated_provider)); } g_clear_object (&self->state); g_clear_object (&self->curated_provider); if (state != NULL) { self->state = g_object_ref (state); g_signal_connect_swapped ( state, "notify::online", G_CALLBACK (online_changed), self); g_object_get ( state, "curated-provider", &self->curated_provider, NULL); if (self->curated_provider != NULL) { items_changed ( self, 0, 0, g_list_model_get_n_items (G_LIST_MODEL (self->curated_provider)), G_LIST_MODEL (self->curated_provider)); g_signal_connect_swapped ( self->curated_provider, "items-changed", G_CALLBACK (items_changed), self); } } else set_page (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } BzStateInfo * bz_curated_view_get_state (BzCuratedView *self) { g_return_val_if_fail (BZ_IS_CURATED_VIEW (self), NULL); return self->state; } static void items_changed (BzCuratedView *self, guint position, guint removed, guint added, GListModel *model) { set_page (self); } static void online_changed (BzCuratedView *self, GParamSpec *pspec, BzStateInfo *info) { set_page (self); } static void set_page (BzCuratedView *self) { const char *page = NULL; if (self->state != NULL && !bz_state_info_get_online (self->state)) page = "offline"; else if (self->curated_provider != NULL && g_list_model_get_n_items (G_LIST_MODEL (self->curated_provider)) > 0) page = "content"; else page = "empty"; adw_view_stack_set_visible_child_name (self->stack, page); } static void release_css_provider (gpointer ptr) { GtkCssProvider *provider = ptr; gtk_style_context_remove_provider_for_display ( gdk_display_get_default (), GTK_STYLE_PROVIDER (provider)); g_object_unref (provider); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-curated-view.h�����������������������������������������������������0000664�0000000�0000000�00000002320�15234476640�0021233�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-curated-view.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-content-provider.h" #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_CURATED_VIEW (bz_curated_view_get_type ()) G_DECLARE_FINAL_TYPE (BzCuratedView, bz_curated_view, BZ, CURATED_VIEW, AdwBin) GtkWidget * bz_curated_view_new (void); void bz_curated_view_set_state (BzCuratedView *self, BzStateInfo *state); BzStateInfo * bz_curated_view_get_state (BzCuratedView *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-data-graph.c�������������������������������������������������������0000664�0000000�0000000�00000117563�15234476640�0020657�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-data-graph.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <adwaita.h> #include "bz-data-graph.h" #include "bz-data-point.h" #include <math.h> #define LABEL_MARGIN 75.0 #define LABEL_MARGIN_RIGHT 35.0 #define TICK_LENGTH 5.0 struct _BzDataGraph { GtkWidget parent_instance; GListModel *model; char *independent_axis_label; char *dependent_axis_label; char *tooltip_prefix; int independent_decimals; int dependent_decimals; double transition_progress; double rounded_axis_max; AdwStyleManager *style_manager; GskPath *path; GskPathMeasure *path_measure; GskRenderNode *other; GskRenderNode *graph; GskRenderNode *overlay; gboolean wants_animate_open; GtkEventController *motion; double motion_x; double motion_y; GtkGesture *gesture; GtkWidget *tooltip_box; GtkWidget *tooltip_label1; GtkWidget *tooltip_prefix_label; GtkWidget *tooltip_label2; int allocated_width; int allocated_height; }; G_DEFINE_FINAL_TYPE (BzDataGraph, bz_data_graph, GTK_TYPE_WIDGET) enum { PROP_0, PROP_MODEL, PROP_INDEPENDENT_AXIS_LABEL, PROP_DEPENDENT_AXIS_LABEL, PROP_TOOLTIP_PREFIX, PROP_INDEPENDENT_DECIMALS, PROP_DEPENDENT_DECIMALS, PROP_TRANSITION_PROGRESS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void items_changed (GListModel *model, guint position, guint removed, guint added, BzDataGraph *self); static void refresh_path (BzDataGraph *self, double width, double height); static double calculate_axis_tick_value (double value, gboolean round_up); static void on_style_changed (BzDataGraph *self, GParamSpec *pspec, AdwStyleManager *style_manager); static void refresh_graph (BzDataGraph *self); static void refresh_overlay (BzDataGraph *self); static void bz_data_graph_dispose (GObject *object) { BzDataGraph *self = BZ_DATA_GRAPH (object); if (self->model != NULL) g_signal_handlers_disconnect_by_func ( self->model, items_changed, self); g_signal_handlers_disconnect_by_func (self->style_manager, on_style_changed, self); g_clear_object (&self->model); g_clear_pointer (&self->independent_axis_label, g_free); g_clear_pointer (&self->dependent_axis_label, g_free); g_clear_pointer (&self->tooltip_prefix, g_free); g_clear_pointer (&self->path, gsk_path_unref); g_clear_pointer (&self->path_measure, gsk_path_measure_unref); g_clear_pointer (&self->other, gsk_render_node_unref); g_clear_pointer (&self->graph, gsk_render_node_unref); g_clear_pointer (&self->overlay, gsk_render_node_unref); if (self->tooltip_box != NULL) gtk_widget_unparent (self->tooltip_box); G_OBJECT_CLASS (bz_data_graph_parent_class)->dispose (object); } static void bz_data_graph_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzDataGraph *self = BZ_DATA_GRAPH (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, bz_data_graph_get_model (self)); break; case PROP_INDEPENDENT_AXIS_LABEL: g_value_set_string (value, bz_data_graph_get_independent_axis_label (self)); break; case PROP_DEPENDENT_AXIS_LABEL: g_value_set_string (value, bz_data_graph_get_dependent_axis_label (self)); break; case PROP_TOOLTIP_PREFIX: g_value_set_string (value, bz_data_graph_get_tooltip_prefix (self)); break; case PROP_INDEPENDENT_DECIMALS: g_value_set_int (value, bz_data_graph_get_independent_decimals (self)); break; case PROP_DEPENDENT_DECIMALS: g_value_set_int (value, bz_data_graph_get_dependent_decimals (self)); break; case PROP_TRANSITION_PROGRESS: g_value_set_double (value, bz_data_graph_get_transition_progress (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_data_graph_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzDataGraph *self = BZ_DATA_GRAPH (object); switch (prop_id) { case PROP_MODEL: bz_data_graph_set_model (self, g_value_get_object (value)); break; case PROP_INDEPENDENT_AXIS_LABEL: bz_data_graph_set_independent_axis_label (self, g_value_get_string (value)); break; case PROP_DEPENDENT_AXIS_LABEL: bz_data_graph_set_dependent_axis_label (self, g_value_get_string (value)); break; case PROP_TOOLTIP_PREFIX: bz_data_graph_set_tooltip_prefix (self, g_value_get_string (value)); break; case PROP_INDEPENDENT_DECIMALS: bz_data_graph_set_independent_decimals (self, g_value_get_int (value)); break; case PROP_DEPENDENT_DECIMALS: bz_data_graph_set_dependent_decimals (self, g_value_get_int (value)); break; case PROP_TRANSITION_PROGRESS: bz_data_graph_set_transition_progress (self, g_value_get_double (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_data_graph_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BzDataGraph *self = BZ_DATA_GRAPH (widget); GtkRequisition natural_size = { 0 }; graphene_point_t card_position = { 0 }; if (width != self->allocated_width || height != self->allocated_height) { refresh_path ( self, (double) width - LABEL_MARGIN - LABEL_MARGIN_RIGHT, (double) height - LABEL_MARGIN); refresh_graph (self); refresh_overlay (self); self->allocated_width = width; self->allocated_height = height; } gtk_widget_get_preferred_size (self->tooltip_box, NULL, &natural_size); if (self->motion_x > width / 2.0) card_position.x = self->motion_x - natural_size.width - 10.0; else card_position.x = self->motion_x + 10.0; card_position.y = self->motion_y + 10.0; gtk_widget_allocate ( self->tooltip_box, natural_size.width, natural_size.height, baseline, gsk_transform_translate (NULL, &card_position)); gtk_widget_queue_draw (widget); } static void on_style_changed (BzDataGraph *self, GParamSpec *pspec, AdwStyleManager *style_manager) { refresh_graph (self); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void bz_data_graph_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzDataGraph *self = BZ_DATA_GRAPH (widget); if (self->path == NULL) return; if (self->graph != NULL) gtk_snapshot_append_node (snapshot, self->graph); if (self->other != NULL) { GdkRGBA widget_color = { 0 }; gtk_widget_get_color (widget, &widget_color); if (self->other != NULL) { graphene_rect_t bounds = { 0 }; gsk_render_node_get_bounds (self->other, &bounds); gtk_snapshot_push_mask (snapshot, GSK_MASK_MODE_ALPHA); gtk_snapshot_append_node (snapshot, self->other); gtk_snapshot_pop (snapshot); gtk_snapshot_append_color (snapshot, &widget_color, &bounds); gtk_snapshot_pop (snapshot); } } if (self->overlay != NULL) { gtk_snapshot_append_node (snapshot, self->overlay); /* tooltip card */ gtk_widget_snapshot_child (GTK_WIDGET (self), self->tooltip_box, snapshot); } if (self->wants_animate_open) { AdwAnimationTarget *transition_target = NULL; AdwSpringParams *transition_spring = NULL; g_autoptr (AdwAnimation) transition = NULL; self->wants_animate_open = FALSE; transition_target = adw_property_animation_target_new (G_OBJECT (self), "transition-progress"); transition_spring = adw_spring_params_new (1.0, 1.0, 80.0); transition = adw_spring_animation_new (GTK_WIDGET (self), 0.0, 1.0, transition_spring, transition_target); adw_spring_animation_set_epsilon (ADW_SPRING_ANIMATION (transition), 0.000001); adw_animation_play (transition); } } static void bz_data_graph_class_init (BzDataGraphClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_data_graph_dispose; object_class->get_property = bz_data_graph_get_property; object_class->set_property = bz_data_graph_set_property; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_INDEPENDENT_AXIS_LABEL] = g_param_spec_string ( "independent-axis-label", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_DEPENDENT_AXIS_LABEL] = g_param_spec_string ( "dependent-axis-label", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TOOLTIP_PREFIX] = g_param_spec_string ( "tooltip-prefix", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_INDEPENDENT_DECIMALS] = g_param_spec_int ( "independent-decimals", NULL, NULL, -1, 4, (int) 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_DEPENDENT_DECIMALS] = g_param_spec_int ( "dependent-decimals", NULL, NULL, -1, 4, (int) 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TRANSITION_PROGRESS] = g_param_spec_double ( "transition-progress", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); widget_class->size_allocate = bz_data_graph_size_allocate; widget_class->snapshot = bz_data_graph_snapshot; } static void update_cursor (BzDataGraph *self, gdouble x, gdouble y) { double widget_width = gtk_widget_get_width (GTK_WIDGET (self)); double widget_height = gtk_widget_get_height (GTK_WIDGET (self)); if (x >= LABEL_MARGIN && y >= 0.0 && x < widget_width - LABEL_MARGIN_RIGHT && y < widget_height - LABEL_MARGIN) gtk_widget_set_cursor_from_name (GTK_WIDGET (self), "crosshair"); else gtk_widget_set_cursor (GTK_WIDGET (self), NULL); refresh_overlay (self); gtk_widget_queue_allocate (GTK_WIDGET (self)); } static void motion_enter (BzDataGraph *self, gdouble x, gdouble y, GtkEventControllerMotion *controller) { self->motion_x = x; self->motion_y = y; update_cursor (self, x, y); } static void motion_event (BzDataGraph *self, gdouble x, gdouble y, GtkEventControllerMotion *controller) { self->motion_x = x; self->motion_y = y; update_cursor (self, x, y); } static void motion_leave (BzDataGraph *self, GtkEventControllerMotion *controller) { self->motion_x = -1.0; self->motion_y = -1.0; update_cursor (self, -1.0, -1.0); } static void gesture_begin (BzDataGraph *self, double start_x, double start_y, GtkGestureDrag *gesture) { self->motion_x = start_x; self->motion_y = start_y; gtk_widget_queue_draw (GTK_WIDGET (self)); } static void gesture_update (BzDataGraph *self, double offset_x, double offset_y, GtkGestureDrag *gesture) { double start_x, start_y; gtk_gesture_drag_get_start_point (gesture, &start_x, &start_y); self->motion_x = start_x + offset_x; self->motion_y = start_y + offset_y; gtk_widget_queue_draw (GTK_WIDGET (self)); } static void gesture_end (BzDataGraph *self, double offset_x, double offset_y, GtkGestureDrag *gesture) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void bz_data_graph_init (BzDataGraph *self) { GtkWidget *inner_box = NULL; GtkWidget *label2_box = NULL; GtkWidget *icon_image = NULL; self->style_manager = adw_style_manager_get_default (); g_signal_connect_swapped (self->style_manager, "notify::dark", G_CALLBACK (on_style_changed), self); g_signal_connect_swapped (self->style_manager, "notify::accent-color", G_CALLBACK (on_style_changed), self); self->motion = gtk_event_controller_motion_new (); g_signal_connect_swapped (self->motion, "enter", G_CALLBACK (motion_enter), self); g_signal_connect_swapped (self->motion, "motion", G_CALLBACK (motion_event), self); g_signal_connect_swapped (self->motion, "leave", G_CALLBACK (motion_leave), self); gtk_widget_add_controller (GTK_WIDGET (self), self->motion); self->gesture = gtk_gesture_drag_new (); gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (self->gesture), TRUE); g_signal_connect_swapped (self->gesture, "drag-begin", G_CALLBACK (gesture_begin), self); g_signal_connect_swapped (self->gesture, "drag-update", G_CALLBACK (gesture_update), self); g_signal_connect_swapped (self->gesture, "drag-end", G_CALLBACK (gesture_end), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (self->gesture)); self->motion_x = -1.0; self->motion_y = -1.0; self->rounded_axis_max = 0.0; self->tooltip_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_add_css_class (self->tooltip_box, "card"); gtk_widget_add_css_class (self->tooltip_box, "floating-tooltip"); inner_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_widget_set_margin_start (inner_box, 12); gtk_widget_set_margin_end (inner_box, 12); gtk_widget_set_margin_top (inner_box, 12); gtk_widget_set_margin_bottom (inner_box, 12); self->tooltip_label1 = gtk_label_new (""); gtk_widget_add_css_class (self->tooltip_label1, "heading"); gtk_label_set_xalign (GTK_LABEL (self->tooltip_label1), 0.0); gtk_box_append (GTK_BOX (inner_box), self->tooltip_label1); label2_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); icon_image = gtk_image_new_from_icon_name ("square-filled-symbolic"); gtk_widget_add_css_class (icon_image, "accent"); gtk_box_append (GTK_BOX (label2_box), icon_image); self->tooltip_prefix_label = gtk_label_new (""); gtk_widget_add_css_class (self->tooltip_prefix_label, "body"); gtk_widget_add_css_class (self->tooltip_prefix_label, "dim-label"); gtk_label_set_xalign (GTK_LABEL (self->tooltip_prefix_label), 0.0); gtk_box_append (GTK_BOX (label2_box), self->tooltip_prefix_label); self->tooltip_label2 = gtk_label_new (""); gtk_widget_add_css_class (self->tooltip_label2, "monospace"); gtk_widget_add_css_class (self->tooltip_label2, "dimmed"); gtk_label_set_xalign (GTK_LABEL (self->tooltip_label2), 0.0); gtk_box_append (GTK_BOX (label2_box), self->tooltip_label2); gtk_box_append (GTK_BOX (inner_box), label2_box); gtk_box_append (GTK_BOX (self->tooltip_box), inner_box); gtk_widget_set_parent (self->tooltip_box, GTK_WIDGET (self)); } GtkWidget * bz_data_graph_new (void) { return g_object_new (BZ_TYPE_DATA_GRAPH, NULL); } GListModel * bz_data_graph_get_model (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), NULL); return self->model; } const char * bz_data_graph_get_independent_axis_label (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), NULL); return self->independent_axis_label; } const char * bz_data_graph_get_dependent_axis_label (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), NULL); return self->dependent_axis_label; } const char * bz_data_graph_get_tooltip_prefix (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), NULL); return self->tooltip_prefix; } int bz_data_graph_get_independent_decimals (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), 0); return self->independent_decimals; } int bz_data_graph_get_dependent_decimals (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), 0); return self->dependent_decimals; } double bz_data_graph_get_transition_progress (BzDataGraph *self) { g_return_val_if_fail (BZ_IS_DATA_GRAPH (self), 0.0); return self->transition_progress; } void bz_data_graph_set_model (BzDataGraph *self, GListModel *model) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); if (self->model != NULL) g_signal_handlers_disconnect_by_func ( self->model, items_changed, self); g_clear_object (&self->model); if (model != NULL) self->model = g_object_ref (model); self->allocated_width = -1; self->allocated_height = -1; gtk_widget_queue_allocate (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); } void bz_data_graph_set_independent_axis_label (BzDataGraph *self, const char *independent_axis_label) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); g_clear_pointer (&self->independent_axis_label, g_free); if (independent_axis_label != NULL) self->independent_axis_label = g_strdup (independent_axis_label); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INDEPENDENT_AXIS_LABEL]); } void bz_data_graph_set_dependent_axis_label (BzDataGraph *self, const char *dependent_axis_label) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); g_clear_pointer (&self->dependent_axis_label, g_free); if (dependent_axis_label != NULL) self->dependent_axis_label = g_strdup (dependent_axis_label); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEPENDENT_AXIS_LABEL]); } void bz_data_graph_set_tooltip_prefix (BzDataGraph *self, const char *tooltip_prefix) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); g_clear_pointer (&self->tooltip_prefix, g_free); if (tooltip_prefix != NULL) self->tooltip_prefix = g_strdup (tooltip_prefix); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TOOLTIP_PREFIX]); } void bz_data_graph_set_independent_decimals (BzDataGraph *self, int independent_decimals) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); self->independent_decimals = CLAMP (independent_decimals, -1, 4); gtk_widget_queue_allocate (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INDEPENDENT_DECIMALS]); } void bz_data_graph_set_dependent_decimals (BzDataGraph *self, int dependent_decimals) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); self->dependent_decimals = CLAMP (dependent_decimals, -1, 4); gtk_widget_queue_allocate (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEPENDENT_DECIMALS]); } void bz_data_graph_set_transition_progress (BzDataGraph *self, double transition_progress) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); self->transition_progress = transition_progress; refresh_graph (self); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_PROGRESS]); } void bz_data_graph_animate_open (BzDataGraph *self) { g_return_if_fail (BZ_IS_DATA_GRAPH (self)); self->wants_animate_open = TRUE; gtk_widget_queue_draw (GTK_WIDGET (self)); } static void items_changed (GListModel *model, guint position, guint removed, guint added, BzDataGraph *self) { gtk_widget_queue_allocate (GTK_WIDGET (self)); } static double calculate_axis_tick_value (double value, gboolean round_up) { double exponent = 0.0; double fraction = 0.0; double rounded_axis_fraction = 0.0; exponent = floor (log10 (value)); fraction = value / pow (10, exponent); if (round_up) { if (fraction <= 1.0) rounded_axis_fraction = 1.0; else if (fraction <= 2.0) rounded_axis_fraction = 2.0; else if (fraction <= 5.0) rounded_axis_fraction = 5.0; else rounded_axis_fraction = 10.0; } else if (fraction < 1.5) rounded_axis_fraction = 1.0; else if (fraction < 3.0) rounded_axis_fraction = 2.0; else if (fraction < 7.0) rounded_axis_fraction = 5.0; else rounded_axis_fraction = 10.0; return rounded_axis_fraction * pow (10, exponent); } static void refresh_path (BzDataGraph *self, double width, double height) { guint n_items = 0; double min_independent = 0.0; double max_independent = 0.0; double max_dependent = 0.0; PangoContext *pango = NULL; PangoFontMetrics *metrics = NULL; double font_height = 0.0; int independent_label_step = 0; g_autoptr (GskPathBuilder) curve_builder = NULL; g_autoptr (GtkSnapshot) snapshot = NULL; g_autoptr (GskPathBuilder) grid_builder = NULL; g_autoptr (GskPath) grid = NULL; g_autoptr (GskStroke) grid_stroke = NULL; double rounded_axis_max = 0.0; double tick_spacing = 0.0; int num_ticks = 0; g_clear_pointer (&self->path, gsk_path_unref); g_clear_pointer (&self->path_measure, gsk_path_measure_unref); g_clear_pointer (&self->other, gsk_render_node_unref); if (self->model == NULL) return; if (width < LABEL_MARGIN || height < LABEL_MARGIN) return; n_items = g_list_model_get_n_items (self->model); if (n_items <= 1) return; for (guint i = 0; i < n_items; i++) { g_autoptr (BzDataPoint) point = NULL; double independent = 0.0; double dependent = 0.0; point = g_list_model_get_item (self->model, i); independent = bz_data_point_get_independent (point); dependent = bz_data_point_get_dependent (point); if (i == 0) { min_independent = independent; max_independent = independent; max_dependent = dependent; } else { min_independent = MIN (independent, min_independent); max_independent = MAX (independent, max_independent); max_dependent = MAX (dependent, max_dependent); } } rounded_axis_max = calculate_axis_tick_value (max_dependent, TRUE); pango = gtk_widget_get_pango_context (GTK_WIDGET (self)); metrics = pango_context_get_metrics (pango, NULL, NULL); font_height = (double) (int) PANGO_PIXELS_CEIL (pango_font_metrics_get_height (metrics)); g_clear_pointer (&metrics, pango_font_metrics_unref); num_ticks = MIN (5, floor (height / (font_height + 25.0))); if (num_ticks < 2) num_ticks = 2; tick_spacing = calculate_axis_tick_value (rounded_axis_max / (double) num_ticks, FALSE); if (tick_spacing == 0.0) tick_spacing = 1.0; rounded_axis_max = ceil (max_dependent / tick_spacing) * tick_spacing; self->rounded_axis_max = rounded_axis_max; independent_label_step = MAX (1, n_items / MAX (1, floor (width / MAX (font_height + 10.0, LABEL_MARGIN)))) * 1.5; curve_builder = gsk_path_builder_new (); snapshot = gtk_snapshot_new (); grid_builder = gsk_path_builder_new (); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (LABEL_MARGIN, 0.0)); for (guint i = 0; i < n_items; i++) { g_autoptr (BzDataPoint) point = NULL; double independent = 0.0; double dependent = 0.0; double x = 0.0; double y = 0.0; point = g_list_model_get_item (self->model, i); independent = bz_data_point_get_independent (point); dependent = bz_data_point_get_dependent (point); x = (independent - min_independent) / (max_independent - min_independent) * width; y = (1.0 - dependent / rounded_axis_max) * height; if (i == 0) gsk_path_builder_move_to (curve_builder, x, y); else gsk_path_builder_line_to (curve_builder, x, y); if (i % independent_label_step == 0) { const char *label = NULL; char buf[32] = { 0 }; g_autoptr (PangoLayout) layout = NULL; PangoRectangle extents; label = bz_data_point_get_label (point); if (label == NULL) { switch (self->independent_decimals) { case 0: g_snprintf (buf, sizeof (buf), "%d", (int) round (independent)); break; case 1: g_snprintf (buf, sizeof (buf), "%.1f", independent); break; case 2: g_snprintf (buf, sizeof (buf), "%.2f", independent); break; case 3: g_snprintf (buf, sizeof (buf), "%.3f", independent); break; default: g_snprintf (buf, sizeof (buf), "%f", independent); break; } label = buf; } layout = pango_layout_new (pango); pango_layout_set_text (layout, label, -1); pango_layout_get_pixel_extents (layout, NULL, &extents); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, height + LABEL_MARGIN / 10.0)); gtk_snapshot_rotate (snapshot, -LABEL_MARGIN_RIGHT); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (-extents.width, 0)); gtk_snapshot_append_layout (snapshot, layout, &(GdkRGBA){ 1.0, 1.0, 1.0, 1.0 }); gtk_snapshot_restore (snapshot); gsk_path_builder_move_to (grid_builder, x, height); gsk_path_builder_line_to (grid_builder, x, height + TICK_LENGTH); } } gsk_path_builder_move_to (grid_builder, 0.0, height); gsk_path_builder_line_to (grid_builder, width, height); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (-LABEL_MARGIN * 0.75, -font_height / 2.0)); for (double value = 0.0; value <= rounded_axis_max; value += tick_spacing) { char buf[32] = { 0 }; g_autoptr (PangoLayout) layout = NULL; double y_pos = (1.0 - value / rounded_axis_max) * height; switch (self->dependent_decimals) { case 0: g_snprintf (buf, sizeof (buf), "%d", (int) round (value)); break; case 1: g_snprintf (buf, sizeof (buf), "%.1f", value); break; case 2: g_snprintf (buf, sizeof (buf), "%.2f", value); break; case 3: g_snprintf (buf, sizeof (buf), "%.3f", value); break; default: g_snprintf (buf, sizeof (buf), "%f", value); break; } layout = pango_layout_new (pango); pango_layout_set_text (layout, buf, -1); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (0, y_pos)); gtk_snapshot_append_layout (snapshot, layout, &(GdkRGBA){ 1.0, 1.0, 1.0, 1.0 }); gtk_snapshot_restore (snapshot); gsk_path_builder_move_to (grid_builder, -TICK_LENGTH, y_pos); gsk_path_builder_line_to (grid_builder, 0.0, y_pos); } gtk_snapshot_restore (snapshot); gsk_path_builder_move_to (grid_builder, 0.0, 0.0); gsk_path_builder_line_to (grid_builder, 0.0, height); grid = gsk_path_builder_to_path (grid_builder); grid_stroke = gsk_stroke_new (1.0); gtk_snapshot_append_stroke (snapshot, grid, grid_stroke, &(GdkRGBA){ 1.0, 1.0, 1.0, 1.0 }); gtk_snapshot_restore (snapshot); self->path = gsk_path_builder_to_path (curve_builder); self->path_measure = gsk_path_measure_new (self->path); self->other = gtk_snapshot_to_node (snapshot); } static void refresh_graph (BzDataGraph *self) { double widget_width = 0.0; double widget_height = 0.0; AdwStyleManager *style_manager = NULL; g_autoptr (GdkRGBA) accent_color = NULL; GdkRGBA widget_color = { 0 }; g_autoptr (GskPath) transitioning = NULL; g_autoptr (GskStroke) stroke = NULL; g_autoptr (GtkSnapshot) snapshot = NULL; if (self->path == NULL) { g_clear_pointer (&self->graph, gsk_render_node_unref); return; } widget_width = gtk_widget_get_width (GTK_WIDGET (self)); (void) widget_width; widget_height = gtk_widget_get_height (GTK_WIDGET (self)); style_manager = adw_style_manager_get_default (); accent_color = adw_style_manager_get_accent_color_rgba (style_manager); gtk_widget_get_color (GTK_WIDGET (self), &widget_color); if (self->transition_progress > 0.0 && self->transition_progress < 1.0) { GskPathPoint point0 = { 0 }; double path_distance = 0.0; GskPathPoint point1 = { 0 }; g_autoptr (GskPathBuilder) builder = NULL; gsk_path_get_start_point (self->path, &point0); path_distance = gsk_path_measure_get_length (self->path_measure) * self->transition_progress; gsk_path_measure_get_point (self->path_measure, path_distance, &point1); builder = gsk_path_builder_new (); gsk_path_builder_add_segment (builder, self->path, &point0, &point1); transitioning = gsk_path_builder_to_path (builder); } stroke = gsk_stroke_new (3.0); gsk_stroke_set_line_cap (stroke, GSK_LINE_CAP_ROUND); snapshot = gtk_snapshot_new (); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (LABEL_MARGIN, 0.0)); if (self->transition_progress > 0.0) { g_autoptr (GskPathBuilder) builder = NULL; GskPathPoint point0 = { 0 }; GskPathPoint point1 = { 0 }; graphene_point_t start_position = { 0 }; graphene_point_t end_position = { 0 }; g_autoptr (GskPath) path = NULL; const GskColorStop gradient_stops[] = { { 0.0, { .red = accent_color->red, .green = accent_color->green, .blue = accent_color->blue, .alpha = 0.75, }, }, { 1.0, { .red = accent_color->red, .green = accent_color->green, .blue = accent_color->blue, .alpha = 0.0, }, }, }; const GskColorStop hfadeout_mask_stops[] = { { 0.0, { .red = 0.0, .green = 0.0, .blue = 0.0, .alpha = 1.0, }, }, { 0.75, { .red = 0.0, .green = 0.0, .blue = 0.0, .alpha = 1.0, }, }, { 1.0, { .red = 0.0, .green = 0.0, .blue = 0.0, .alpha = 0.0, }, }, }; gtk_snapshot_append_stroke ( snapshot, transitioning != NULL ? transitioning : self->path, stroke, accent_color); /* Gradient under the graph line */ builder = gsk_path_builder_new (); gsk_path_get_start_point ( transitioning != NULL ? transitioning : self->path, &point0); gsk_path_point_get_position ( &point0, transitioning != NULL ? transitioning : self->path, &start_position); gsk_path_get_end_point ( transitioning != NULL ? transitioning : self->path, &point1); gsk_path_point_get_position ( &point1, transitioning != NULL ? transitioning : self->path, &end_position); gsk_path_builder_move_to (builder, start_position.x, start_position.y); gsk_path_builder_add_segment ( builder, transitioning != NULL ? transitioning : self->path, &point0, &point1); gsk_path_builder_move_to (builder, end_position.x, end_position.y); /* close the loop for `gtk_snapshot_push_fill` */ gsk_path_builder_line_to (builder, end_position.x, widget_height - LABEL_MARGIN); gsk_path_builder_line_to (builder, start_position.x, widget_height - LABEL_MARGIN); gsk_path_builder_line_to (builder, start_position.x, start_position.y); path = gsk_path_builder_to_path (builder); gtk_snapshot_push_fill ( snapshot, path, GSK_FILL_RULE_WINDING); gtk_snapshot_push_mask (snapshot, GSK_MASK_MODE_ALPHA); gtk_snapshot_append_linear_gradient ( snapshot, &GRAPHENE_RECT_INIT ( 0.0, 0.0, end_position.x, widget_height - LABEL_MARGIN), &GRAPHENE_POINT_INIT (0.0, 0.0), &GRAPHENE_POINT_INIT (end_position.x, 0.0), hfadeout_mask_stops, G_N_ELEMENTS (hfadeout_mask_stops)); gtk_snapshot_pop (snapshot); /* Push Mask (mask) */ gtk_snapshot_append_linear_gradient ( snapshot, &GRAPHENE_RECT_INIT ( 0.0, 0.0, end_position.x, widget_height - LABEL_MARGIN), &GRAPHENE_POINT_INIT (0.0, 0.0), &GRAPHENE_POINT_INIT (0.0, widget_height - LABEL_MARGIN), gradient_stops, G_N_ELEMENTS (gradient_stops)); gtk_snapshot_pop (snapshot); /* Push Mask (image) */ gtk_snapshot_pop (snapshot); /* Push Fill */ } gtk_snapshot_restore (snapshot); g_clear_pointer (&self->graph, gsk_render_node_unref); self->graph = gtk_snapshot_to_node (snapshot); } static void refresh_overlay (BzDataGraph *self) { double widget_width = 0.0; double widget_height = 0.0; GdkRGBA widget_color = { 0 }; AdwStyleManager *style_manager = NULL; g_autoptr (GdkRGBA) accent_color = NULL; guint n_items = 0; guint hovered_idx = 0; g_autoptr (BzDataPoint) point = NULL; g_autoptr (GskStroke) crosshair_stroke = NULL; double graph_height = 0.0; double graph_width = 0.0; double fraction = 0.0; double point_x = 0.0; double point_y = 0.0; GskRoundedRect rounded_rect = { { { 0 } } }; GdkRGBA line_color = { 0 }; double rounded_axis_max = 0.0; const char *prefix = NULL; g_autofree char *line2_text = NULL; g_autoptr (GtkSnapshot) snapshot = NULL; if (self->path == NULL) { g_clear_pointer (&self->overlay, gsk_render_node_unref); return; } widget_width = gtk_widget_get_width (GTK_WIDGET (self)); widget_height = gtk_widget_get_height (GTK_WIDGET (self)); if (self->motion_x < LABEL_MARGIN || self->motion_y < 0.0 || self->motion_x >= widget_width - LABEL_MARGIN_RIGHT || self->motion_y >= widget_height - LABEL_MARGIN) { g_clear_pointer (&self->overlay, gsk_render_node_unref); return; } gtk_widget_get_color (GTK_WIDGET (self), &widget_color); style_manager = adw_style_manager_get_default (); accent_color = adw_style_manager_get_accent_color_rgba (style_manager); n_items = g_list_model_get_n_items (self->model); graph_width = widget_width - LABEL_MARGIN - LABEL_MARGIN_RIGHT; fraction = (self->motion_x - LABEL_MARGIN) / graph_width; hovered_idx = floor ((double) n_items * fraction); if (hovered_idx >= n_items) hovered_idx = n_items - 1; point = g_list_model_get_item (self->model, hovered_idx); if (self->rounded_axis_max > 0.0) rounded_axis_max = self->rounded_axis_max; else { double max_dependent = 0.0; for (guint i = 0; i < n_items; i++) { g_autoptr (BzDataPoint) p = g_list_model_get_item (self->model, i); double dep = bz_data_point_get_dependent (p); if (i == 0 || dep > max_dependent) max_dependent = dep; } rounded_axis_max = calculate_axis_tick_value (max_dependent, TRUE); } snapshot = gtk_snapshot_new (); graph_height = widget_height - LABEL_MARGIN; point_x = ((double) hovered_idx / (double) (n_items - 1)) * graph_width + LABEL_MARGIN; point_y = (1.0 - bz_data_point_get_dependent (point) / rounded_axis_max) * graph_height; line_color = widget_color; line_color.alpha = 0.5; crosshair_stroke = gsk_stroke_new (1.0); #define APPEND_LINE(x0, y0, x1, y1, color) \ G_STMT_START \ { \ g_autoptr (GskPathBuilder) builder = NULL; \ g_autoptr (GskPath) path = NULL; \ \ builder = gsk_path_builder_new (); \ gsk_path_builder_move_to (builder, (x0), (y0)); \ gsk_path_builder_line_to (builder, (x1), (y1)); \ \ path = gsk_path_builder_to_path (builder); \ gtk_snapshot_append_stroke (snapshot, path, crosshair_stroke, (color)); \ } \ G_STMT_END APPEND_LINE (self->motion_x, 0.0, self->motion_x, widget_height - LABEL_MARGIN, &line_color); #undef APPEND_LINE gsk_rounded_rect_init_from_rect ( &rounded_rect, &GRAPHENE_RECT_INIT (point_x - 4.0, point_y - 4.0, 8.0, 8.0), 4.0); gtk_snapshot_push_rounded_clip (snapshot, &rounded_rect); gtk_snapshot_append_color (snapshot, accent_color, &rounded_rect.bounds); gtk_snapshot_pop (snapshot); g_clear_pointer (&self->overlay, gsk_render_node_unref); self->overlay = gtk_snapshot_to_node (snapshot); gtk_label_set_label (GTK_LABEL (self->tooltip_label1), bz_data_point_get_label (point)); prefix = self->tooltip_prefix != NULL ? self->tooltip_prefix : ""; gtk_label_set_label (GTK_LABEL (self->tooltip_prefix_label), prefix); line2_text = g_strdup_printf ("%'.0f", bz_data_point_get_dependent (point)); gtk_label_set_label (GTK_LABEL (self->tooltip_label2), line2_text); } ���������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-data-graph.h�������������������������������������������������������0000664�0000000�0000000�00000004613�15234476640�0020653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-data-graph.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_DATA_GRAPH (bz_data_graph_get_type ()) G_DECLARE_FINAL_TYPE (BzDataGraph, bz_data_graph, BZ, DATA_GRAPH, GtkWidget) GtkWidget * bz_data_graph_new (void); GListModel * bz_data_graph_get_model (BzDataGraph *self); const char * bz_data_graph_get_independent_axis_label (BzDataGraph *self); const char * bz_data_graph_get_dependent_axis_label (BzDataGraph *self); int bz_data_graph_get_independent_decimals (BzDataGraph *self); int bz_data_graph_get_dependent_decimals (BzDataGraph *self); double bz_data_graph_get_transition_progress (BzDataGraph *self); void bz_data_graph_set_model (BzDataGraph *self, GListModel *model); void bz_data_graph_set_independent_axis_label (BzDataGraph *self, const char *independent_axis_label); void bz_data_graph_set_dependent_axis_label (BzDataGraph *self, const char *dependent_axis_label); void bz_data_graph_set_independent_decimals (BzDataGraph *self, int independent_decimals); void bz_data_graph_set_dependent_decimals (BzDataGraph *self, int dependent_decimals); const char *bz_data_graph_get_tooltip_prefix (BzDataGraph *self); void bz_data_graph_set_tooltip_prefix (BzDataGraph *self, const char *tooltip_prefix); void bz_data_graph_set_transition_progress (BzDataGraph *self, double transition_progress); void bz_data_graph_animate_open (BzDataGraph *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-data-point.txt�����������������������������������������������������0000664�0000000�0000000�00000000326�15234476640�0021270�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=data_point parent-prefix=g parent-name=object author=AUTOGEN property=independent double G_TYPE_DOUBLE double property=dependent double G_TYPE_DOUBLE double property=label char G_TYPE_STRING string ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-decorated-screenshot.blp�������������������������������������������0000664�0000000�0000000�00000000417�15234476640�0023274�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzDecoratedScreenshot: Button { halign: center; focus-on-click: false; styles [ "flat", "decorated-screenshot" ] child: Gtk.Picture { paintable: bind template.async-texture; content-fit: contain; halign: center; }; }�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-decorated-screenshot.c���������������������������������������������0000664�0000000�0000000�00000011666�15234476640�0022751�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-decorated-screenshot.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-decorated-screenshot.h" #include "bz-screenshot.h" #include <glib/gi18n.h> struct _BzDecoratedScreenshot { GtkButton parent_instance; BzAsyncTexture *async_texture; /* Template widgets */ }; G_DEFINE_FINAL_TYPE (BzDecoratedScreenshot, bz_decorated_screenshot, GTK_TYPE_BUTTON) enum { PROP_0, PROP_ASYNC_TEXTURE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_decorated_screenshot_dispose (GObject *object) { BzDecoratedScreenshot *self = BZ_DECORATED_SCREENSHOT (object); g_clear_pointer (&self->async_texture, g_object_unref); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_DECORATED_SCREENSHOT); G_OBJECT_CLASS (bz_decorated_screenshot_parent_class)->dispose (object); } static void bz_decorated_screenshot_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzDecoratedScreenshot *self = BZ_DECORATED_SCREENSHOT (object); switch (prop_id) { case PROP_ASYNC_TEXTURE: g_value_set_object (value, bz_decorated_screenshot_get_async_texture (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_decorated_screenshot_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzDecoratedScreenshot *self = BZ_DECORATED_SCREENSHOT (object); switch (prop_id) { case PROP_ASYNC_TEXTURE: bz_decorated_screenshot_set_async_texture (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_decorated_screenshot_class_init (BzDecoratedScreenshotClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_decorated_screenshot_set_property; object_class->get_property = bz_decorated_screenshot_get_property; object_class->dispose = bz_decorated_screenshot_dispose; props[PROP_ASYNC_TEXTURE] = g_param_spec_object ( "async-texture", NULL, NULL, BZ_TYPE_ASYNC_TEXTURE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-decorated-screenshot.ui"); } static void on_enter_notify (GtkEventController *controller, gpointer user_data) { g_autoptr (GdkCursor) cursor = gdk_cursor_new_from_name ("pointer", NULL); gtk_widget_set_cursor (GTK_WIDGET (user_data), cursor); } static void on_leave_notify (GtkEventController *controller, gpointer user_data) { gtk_widget_set_cursor (GTK_WIDGET (user_data), NULL); } static void bz_decorated_screenshot_init (BzDecoratedScreenshot *self) { GtkEventController *enter_leave = gtk_event_controller_motion_new (); gtk_widget_init_template (GTK_WIDGET (self)); g_signal_connect (enter_leave, "enter", G_CALLBACK (on_enter_notify), GTK_WIDGET (self)); g_signal_connect (enter_leave, "leave", G_CALLBACK (on_leave_notify), GTK_WIDGET (self)); gtk_widget_add_controller (GTK_WIDGET (self), enter_leave); } BzDecoratedScreenshot * bz_decorated_screenshot_new (void) { return g_object_new (BZ_TYPE_DECORATED_SCREENSHOT, NULL); } BzAsyncTexture * bz_decorated_screenshot_get_async_texture (BzDecoratedScreenshot *self) { g_return_val_if_fail (BZ_IS_DECORATED_SCREENSHOT (self), NULL); return self->async_texture; } void bz_decorated_screenshot_set_async_texture (BzDecoratedScreenshot *self, BzAsyncTexture *async_texture) { g_return_if_fail (BZ_IS_DECORATED_SCREENSHOT (self)); g_clear_pointer (&self->async_texture, g_object_unref); if (async_texture != NULL) self->async_texture = g_object_ref (async_texture); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ASYNC_TEXTURE]); } /* End of bz-decorated-screenshot.c */ ��������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-decorated-screenshot.h���������������������������������������������0000664�0000000�0000000�00000002561�15234476640�0022750�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-decorated-screenshot.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-async-texture.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_DECORATED_SCREENSHOT (bz_decorated_screenshot_get_type ()) G_DECLARE_FINAL_TYPE (BzDecoratedScreenshot, bz_decorated_screenshot, BZ, DECORATED_SCREENSHOT, GtkButton) BzDecoratedScreenshot * bz_decorated_screenshot_new (void); BzAsyncTexture * bz_decorated_screenshot_get_async_texture (BzDecoratedScreenshot *self); void bz_decorated_screenshot_set_async_texture (BzDecoratedScreenshot *self, BzAsyncTexture *async_texture); G_END_DECLS /* End of bz-decorated-screenshot.h */ �����������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-developer-badge.blp������������������������������������������������0000664�0000000�0000000�00000003115�15234476640�0022212�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzDeveloperBadge: Box { orientation: horizontal; spacing: 3; halign: start; visible: bind $invert_boolean($is_null(template.entry as <$BzEntry>.developer) as <bool>) as <bool>; Label developer_label { label: bind $get_developer_link(template.entry, template.entry as <$BzEntry>.verification-status) as <string>; use-markup: true; xalign: 0.0; wrap: true; lines: 3; ellipsize: end; wrap-mode: word_char; natural-wrap-mode: word; selectable: true; styles [ "app-developer", ] } MenuButton info_button { icon-name: bind $get_icon_name(template.entry as <$BzEntry>.verification-status) as <string>; popover: popover; visible: bind $invert_boolean($is_null(template.entry as <$BzEntry>.verification-status) as <bool>) as <bool>; styles [ "developer-badge", ] has-tooltip: true; tooltip-text: bind $get_verified_tooltip(template.entry as <$BzEntry>.verification-status) as <string>; EventControllerMotion { enter => $on_info_button_enter(); leave => $on_info_button_leave(); } } } Popover popover { has-arrow: true; position: right; child: Box { orientation: vertical; margin-top: 12; margin-bottom: 12; margin-start: 12; margin-end: 12; Label popover_label { label: bind $get_popover_text(template.entry, template.entry as <$BzEntry>.verification-status) as <string>; wrap: true; xalign: 0.0; max-width-chars: 40; use-markup: true; activate-link => $on_popover_label_activate_link(); } }; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-developer-badge.c��������������������������������������������������0000664�0000000�0000000�00000032010�15234476640�0021653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-developer-badge.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-developer-badge.h" #include "bz-verification-status.h" struct _BzDeveloperBadge { GtkBox parent_instance; BzEntry *entry; GtkLabel *developer_label; GtkMenuButton *info_button; GtkPopover *popover; GtkLabel *popover_label; }; G_DEFINE_FINAL_TYPE (BzDeveloperBadge, bz_developer_badge, GTK_TYPE_BOX) enum { PROP_0, PROP_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static char * get_developer_name (gpointer object, GObject *entry) { if (entry == NULL || !BZ_IS_ENTRY (entry)) return NULL; return g_strdup (bz_entry_get_developer (BZ_ENTRY (entry))); } static char * get_icon_name (gpointer object, GObject *status) { gboolean verified = FALSE; if (status == NULL) return g_strdup ("info-outline-symbolic"); g_object_get (status, "verified", &verified, NULL); return g_strdup (verified ? "verified-checkmark-symbolic" : "info-outline-symbolic"); } static char * get_verified_tooltip (gpointer object, GObject *status) { gboolean verified = FALSE; if (status == NULL) return g_strdup (_ ("Not Verified")); g_object_get (status, "verified", &verified, NULL); return g_strdup (verified ? _ ("Verified") : _ ("Not Verified")); } static char * format_app_id (const char *app_id) { return g_strdup_printf ("<b>%s</b>", app_id); } static char * format_website_url (const char *website) { return g_strdup_printf ("<b><a href='https://%s' title='https://%s'>%s</a></b>", website, website, website); } static char * format_provider_name (const char *login_provider) { if (g_strcmp0 (login_provider, "github") == 0) return g_strdup ("GitHub"); else if (g_strcmp0 (login_provider, "gitlab") == 0) return g_strdup ("GitLab"); else if (g_strcmp0 (login_provider, "gnome") == 0) return g_strdup ("GNOME GitLab"); else if (g_strcmp0 (login_provider, "kde") == 0) return g_strdup ("KDE GitLab"); else return g_strdup (login_provider); } static char * format_provider_url (const char *login_provider, const char *login_name) { if (g_strcmp0 (login_provider, "github") == 0) return g_strdup_printf ("https://github.com/%s", login_name); else if (g_strcmp0 (login_provider, "gitlab") == 0) return g_strdup_printf ("https://gitlab.com/%s", login_name); else if (g_strcmp0 (login_provider, "gnome") == 0) return g_strdup_printf ("https://gitlab.gnome.org/%s", login_name); else if (g_strcmp0 (login_provider, "kde") == 0) return g_strdup_printf ("https://invent.kde.org/%s", login_name); else return NULL; } static char * get_developer_link (gpointer object, BzEntry *entry, BzVerificationStatus *status) { const char *dev = NULL; const char *method = NULL; const char *login_name = NULL; const char *login_provider = NULL; const char *website = NULL; gboolean verified = FALSE; g_autofree char *escaped_dev = NULL; if (entry == NULL || !BZ_IS_ENTRY (entry)) return NULL; dev = bz_entry_get_developer (entry); if (dev == NULL) return NULL; escaped_dev = g_markup_escape_text (dev, -1); if (status == NULL) return g_steal_pointer (&escaped_dev); g_object_get (status, "verified", &verified, "method", &method, "login-name", &login_name, "login-provider", &login_provider, "website", &website, NULL); if (!verified) return g_steal_pointer (&escaped_dev); if (g_strcmp0 (method, "login_provider") == 0 && login_name != NULL && login_provider != NULL) { g_autofree char *url = NULL; url = format_provider_url (login_provider, login_name); if (url != NULL) return g_strdup_printf ("<a href='%s' title='%s'>%s</a>", url, url, escaped_dev); } if (g_strcmp0 (method, "website") == 0 && website != NULL && *website != '\0') return g_strdup_printf ("<a href='https://%s' title='https://%s'>%s</a>", website, website, escaped_dev); return g_steal_pointer (&escaped_dev); } static char * get_popover_text (gpointer object, GObject *entry_obj, GObject *status_obj) { BzVerificationStatus *status = NULL; const char *app_id = NULL; const char *website = NULL; const char *method = NULL; const char *login_name = NULL; const char *login_provider = NULL; gboolean verified = FALSE; g_autofree char *formatted_app_id = NULL; g_autofree char *formatted_website = NULL; g_autofree char *provider_name = NULL; if (entry_obj == NULL || !BZ_IS_ENTRY (entry_obj)) return g_strdup (_ ("Developer information not available.")); app_id = bz_entry_get_id (BZ_ENTRY (entry_obj)); formatted_app_id = format_app_id (app_id); if (status_obj == NULL) return g_strdup_printf (_ ("The ownership of the %s app ID has not been verified and it may be a community package."), formatted_app_id); status = BZ_VERIFICATION_STATUS (status_obj); g_object_get (status, "verified", &verified, "method", &method, "website", &website, "login-name", &login_name, "login-provider", &login_provider, NULL); if (!verified) return g_strdup_printf (_ ("The ownership of the %s app ID has not been verified and it may be a community package."), formatted_app_id); if (g_strcmp0 (method, "manual") == 0) return g_strdup_printf (_ ("The ownership of the %s app ID has been manually verified by the Flathub team."), formatted_app_id); if (g_strcmp0 (method, "login_provider") == 0 && login_name != NULL && login_provider != NULL) { g_autofree char *url = NULL; g_autofree char *linked_name = NULL; provider_name = format_provider_name (login_provider); url = format_provider_url (login_provider, login_name); if (url != NULL) linked_name = g_strdup_printf ("<a href='%s' title='%s'>%s</a>", url, url, login_name); else linked_name = g_strdup (login_name); return g_strdup_printf (_ ("The ownership of the %1$s app ID has been verified by <b>%2$s</b> on <b>%3$s</b>."), formatted_app_id, linked_name, provider_name); } if (website != NULL && *website != '\0') { formatted_website = format_website_url (website); return g_strdup_printf (_ ("The ownership of the %1$s app ID has been verified using %2$s."), formatted_app_id, formatted_website); } return g_strdup_printf (_ ("The ownership of the %s app ID has been verified."), formatted_app_id); } static void on_info_button_enter (GtkEventControllerMotion *controller, gdouble x, gdouble y, gpointer user_data) { GtkWidget *widget = GTK_WIDGET (user_data); gtk_widget_set_cursor_from_name (widget, "pointer"); } static void on_info_button_leave (GtkEventControllerMotion *controller, gpointer user_data) { GtkWidget *widget = GTK_WIDGET (user_data); gtk_widget_set_cursor (widget, NULL); } static gboolean on_popover_label_activate_link (GtkLabel *label, const char *uri, BzDeveloperBadge *self) { gtk_popover_popdown (self->popover); return FALSE; } static void bz_developer_badge_dispose (GObject *object) { BzDeveloperBadge *self = BZ_DEVELOPER_BADGE (object); g_clear_object (&self->entry); G_OBJECT_CLASS (bz_developer_badge_parent_class)->dispose (object); } static void bz_developer_badge_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzDeveloperBadge *self = BZ_DEVELOPER_BADGE (object); switch (prop_id) { case PROP_ENTRY: g_value_set_object (value, bz_developer_badge_get_entry (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_developer_badge_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzDeveloperBadge *self = BZ_DEVELOPER_BADGE (object); switch (prop_id) { case PROP_ENTRY: bz_developer_badge_set_entry (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_developer_badge_class_init (BzDeveloperBadgeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_developer_badge_dispose; object_class->get_property = bz_developer_badge_get_property; object_class->set_property = bz_developer_badge_set_property; props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-developer-badge.ui"); gtk_widget_class_bind_template_child (widget_class, BzDeveloperBadge, developer_label); gtk_widget_class_bind_template_child (widget_class, BzDeveloperBadge, info_button); gtk_widget_class_bind_template_child (widget_class, BzDeveloperBadge, popover); gtk_widget_class_bind_template_child (widget_class, BzDeveloperBadge, popover_label); gtk_widget_class_bind_template_callback (widget_class, on_info_button_enter); gtk_widget_class_bind_template_callback (widget_class, on_info_button_leave); gtk_widget_class_bind_template_callback (widget_class, on_popover_label_activate_link); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, get_developer_name); gtk_widget_class_bind_template_callback (widget_class, get_developer_link); gtk_widget_class_bind_template_callback (widget_class, get_icon_name); gtk_widget_class_bind_template_callback (widget_class, get_verified_tooltip); gtk_widget_class_bind_template_callback (widget_class, get_popover_text); } static void bz_developer_badge_init (BzDeveloperBadge *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_developer_badge_new (void) { return g_object_new (BZ_TYPE_DEVELOPER_BADGE, NULL); } BzEntry * bz_developer_badge_get_entry (BzDeveloperBadge *self) { g_return_val_if_fail (BZ_IS_DEVELOPER_BADGE (self), NULL); return self->entry; } void bz_developer_badge_set_entry (BzDeveloperBadge *self, BzEntry *entry) { BzVerificationStatus *status = NULL; gboolean verified = FALSE; g_return_if_fail (BZ_IS_DEVELOPER_BADGE (self)); g_return_if_fail (entry == NULL || BZ_IS_ENTRY (entry)); if (g_set_object (&self->entry, entry)) { gtk_widget_remove_css_class (GTK_WIDGET (self), "verified"); gtk_widget_remove_css_class (GTK_WIDGET (self), "dimmed"); if (entry != NULL) { g_object_get (entry, "verification-status", &status, NULL); if (status != NULL) { g_object_get (status, "verified", &verified, NULL); g_object_unref (status); } gtk_widget_add_css_class (GTK_WIDGET (self), verified ? "verified" : "dimmed"); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENTRY]); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-developer-badge.h��������������������������������������������������0000664�0000000�0000000�00000002335�15234476640�0021667�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-developer-badge.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_DEVELOPER_BADGE (bz_developer_badge_get_type ()) G_DECLARE_FINAL_TYPE (BzDeveloperBadge, bz_developer_badge, BZ, DEVELOPER_BADGE, GtkButton) GtkWidget *bz_developer_badge_new (void); BzEntry *bz_developer_badge_get_entry (BzDeveloperBadge *self); void bz_developer_badge_set_entry (BzDeveloperBadge *self, BzEntry *entry); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-donations-dialog.blp�����������������������������������������������0000664�0000000�0000000�00000006243�15234476640�0022425�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzDonationsDialog: Adw.Dialog { width-request: 450; follows-content-size: true; child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: ScrolledWindow { hscrollbar-policy: never; vscrollbar-policy: automatic; propagate-natural-height: true; min-content-height: 500; child: Box { orientation: vertical; Box { orientation: vertical; margin-start: 40; margin-end: 40; margin-top: 20; margin-bottom: 20; Label title { styles [ "title-1", ] wrap: true; justify: center; margin-bottom: 5; } Label subtitle { styles [ "dimmed", ] wrap: true; justify: center; margin-bottom: 15; } $BzAppstreamDescriptionRender { vexpand: true; appstream-description: bind template.release-notes; } Button release_button { styles [ "pill", ] margin-top: 15; margin-start: 25; margin-end: 20; margin-bottom: 15; halign: center; has-tooltip: true; clicked => $release_page_clicked(template); child: Box { orientation: horizontal; spacing: 10; Label { label: _("Full Release Notes"); wrap: true; wrap-mode: word_char; justify: right; } Image { icon-name: "external-link-symbolic"; } }; } } Adw.Bin { styles [ "bz-donations-dialog", ] child: Box { orientation: vertical; margin-start: 25; margin-end: 25; margin-top: 20; margin-bottom: 20; Label { styles [ "title-1", ] margin-top: 10; margin-bottom: 20; halign: center; wrap: true; justify: center; label: _("This release was made possible by users like you!"); } Label { margin-bottom: 20; wrap: true; justify: center; use-markup: true; label: _("I love making Bazaar, but I cannot do it alone. Help support further development by donating on Ko-Fi."); } Button donate_button { styles [ "pill", ] margin-start: 20; margin-end: 20; margin-bottom: 20; halign: center; has-tooltip: true; child: Adw.ButtonContent { label: _("Donate to Bazaar"); icon-name: "heart-filled-symbolic"; }; clicked => $donate_clicked(template); } }; } }; }; }; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-donations-dialog.c�������������������������������������������������0000664�0000000�0000000�00000021672�15234476640�0022075�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-donations-dialog.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include <xmlb.h> #include "bz-appstream-description-render.h" #include "bz-donations-dialog.h" #include "template-callbacks.h" struct _BzDonationsDialog { AdwDialog parent_instance; char *release_notes; char *release_url; AdwBreakpoint *breakpoint; /* Template widgets */ GtkLabel *title; GtkLabel *subtitle; GtkButton *release_button; GtkButton *donate_button; }; G_DEFINE_FINAL_TYPE (BzDonationsDialog, bz_donations_dialog, ADW_TYPE_DIALOG); enum { PROP_0, PROP_RELEASE_NOTES, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static const char *bz_donations_dialog_get_release_notes (BzDonationsDialog *self); static void bz_donations_dialog_dispose (GObject *object) { BzDonationsDialog *self = BZ_DONATIONS_DIALOG (object); g_clear_pointer (&self->release_notes, g_free); g_clear_pointer (&self->release_url, g_free); g_clear_object (&self->breakpoint); G_OBJECT_CLASS (bz_donations_dialog_parent_class)->dispose (object); } static void bz_donations_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzDonationsDialog *self = BZ_DONATIONS_DIALOG (object); switch (prop_id) { case PROP_RELEASE_NOTES: g_value_set_string (value, bz_donations_dialog_get_release_notes (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void donate_clicked (BzDonationsDialog *self, GtkButton *button) { g_app_info_launch_default_for_uri ( DONATE_LINK, NULL, NULL); } static void release_page_clicked (BzDonationsDialog *self, GtkButton *button) { if (self->release_url != NULL) g_app_info_launch_default_for_uri (self->release_url, NULL, NULL); } static void on_map (BzDonationsDialog *self, gpointer user_data) { GtkRoot *root = NULL; gtk_widget_grab_focus (GTK_WIDGET (self->release_button)); root = gtk_widget_get_root (GTK_WIDGET (self)); if (root == NULL || self->breakpoint == NULL) return; adw_application_window_add_breakpoint (ADW_APPLICATION_WINDOW (root), g_object_ref (self->breakpoint)); } static void bz_donations_dialog_class_init (BzDonationsDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->get_property = bz_donations_dialog_get_property; object_class->dispose = bz_donations_dialog_dispose; props[PROP_RELEASE_NOTES] = g_param_spec_string ( "release-notes", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_APPSTREAM_DESCRIPTION_RENDER); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-donations-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzDonationsDialog, title); gtk_widget_class_bind_template_child (widget_class, BzDonationsDialog, subtitle); gtk_widget_class_bind_template_child (widget_class, BzDonationsDialog, release_button); gtk_widget_class_bind_template_child (widget_class, BzDonationsDialog, donate_button); gtk_widget_class_bind_template_callback (widget_class, donate_clicked); gtk_widget_class_bind_template_callback (widget_class, release_page_clicked); } static void bz_donations_dialog_init (BzDonationsDialog *self) { g_autoptr (GBytes) release_notes_bytes = NULL; g_autoptr (GError) error = NULL; g_autoptr (XbBuilderSource) source = NULL; g_autoptr (XbBuilder) builder = NULL; g_autoptr (XbSilo) silo = NULL; g_autoptr (XbNode) release_node = NULL; g_autoptr (XbNode) url_node = NULL; g_autoptr (XbNode) description_node = NULL; const char *version = NULL; const char *date = NULL; const char *url = NULL; AdwBreakpointCondition *condition = NULL; gtk_widget_init_template (GTK_WIDGET (self)); gtk_widget_set_tooltip_text (GTK_WIDGET (self->release_button), RELEASE_PAGE); gtk_widget_set_tooltip_text (GTK_WIDGET (self->donate_button), DONATE_LINK); condition = adw_breakpoint_condition_new_length ( ADW_BREAKPOINT_CONDITION_MAX_WIDTH, 500, ADW_LENGTH_UNIT_PX); self->breakpoint = adw_breakpoint_new (condition); adw_breakpoint_add_setter (self->breakpoint, G_OBJECT (self), "width-request", &(GValue){ G_TYPE_INT, { { .v_int = 350 } } }); g_signal_connect (self, "map", G_CALLBACK (on_map), NULL); release_notes_bytes = g_resources_lookup_data ( "/io/github/kolunmi/Bazaar/release-notes.xml", G_RESOURCE_LOOKUP_FLAGS_NONE, &error); if (release_notes_bytes == NULL) { g_warning ("Failed to load release notes: %s", error->message); return; } source = xb_builder_source_new (); if (!xb_builder_source_load_bytes (source, release_notes_bytes, XB_BUILDER_SOURCE_FLAG_LITERAL_TEXT, &error)) { g_warning ("Failed to load release notes into xmlb: %s", error->message); return; } builder = xb_builder_new (); xb_builder_import_source (builder, source); silo = xb_builder_compile (builder, XB_BUILDER_COMPILE_FLAG_NONE, NULL, &error); if (silo == NULL) { g_warning ("Failed to compile release notes silo: %s", error->message); return; } release_node = xb_silo_query_first (silo, "release", &error); if (release_node == NULL) { g_warning ("Failed to find release node: %s", error != NULL ? error->message : "no error"); g_clear_error (&error); return; } version = xb_node_get_attr (release_node, "version"); date = xb_node_get_attr (release_node, "date"); if (version != NULL) { g_autofree char *title_str = NULL; /* Translators: the %s format specifier will be something along the lines of "0.7.6" etc */ title_str = g_strdup_printf (_ ("What's New in %s?"), version); gtk_label_set_label (self->title, title_str); } if (date != NULL) { g_autofree char *date_full = NULL; g_autoptr (GDateTime) dt = NULL; g_autofree char *subtitle_str = NULL; date_full = g_strdup_printf ("%sT00:00:00Z", date); dt = g_date_time_new_from_iso8601 (date_full, NULL); if (dt != NULL) { /* Translators: this is a release date label, like "Released February 9, 2026" */ subtitle_str = g_date_time_format (dt, _ ("Released %B %-e, %Y")); if (subtitle_str != NULL) gtk_label_set_label (self->subtitle, subtitle_str); } } url_node = xb_silo_query_first (silo, "release/url[@type='details']", &error); if (url_node != NULL) { url = xb_node_get_text (url_node); if (url != NULL) self->release_url = g_strdup (url); } else g_clear_error (&error); description_node = xb_silo_query_first (silo, "release/description", &error); if (description_node != NULL) { self->release_notes = xb_node_export (description_node, XB_NODE_EXPORT_FLAG_INCLUDE_SIBLINGS, &error); if (self->release_notes == NULL) { g_warning ("Failed to export description node: %s", error->message); g_clear_error (&error); } } else { g_warning ("Failed to find description node: %s", error != NULL ? error->message : "no error"); g_clear_error (&error); } if (self->release_notes != NULL) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RELEASE_NOTES]); } AdwDialog * bz_donations_dialog_new (void) { return g_object_new (BZ_TYPE_DONATIONS_DIALOG, NULL); } static const char * bz_donations_dialog_get_release_notes (BzDonationsDialog *self) { g_return_val_if_fail (BZ_IS_DONATIONS_DIALOG (self), NULL); return self->release_notes; } /* End of bz-donations-dialog.c */ ����������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-donations-dialog.h�������������������������������������������������0000664�0000000�0000000�00000002102�15234476640�0022065�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-donations-dialog.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_DONATIONS_DIALOG (bz_donations_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzDonationsDialog, bz_donations_dialog, BZ, DONATIONS_DIALOG, AdwDialog) AdwDialog * bz_donations_dialog_new (void); G_END_DECLS /* End of bz-donations-dialog.h */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-download-worker.c��������������������������������������������������0000664�0000000�0000000�00000040723�15234476640�0021756�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-download-worker.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-download-worker.h" #include "env.h" #include "util.h" struct _BzDownloadWorker { GObject parent_instance; char *name; GSubprocess *subprocess; GHashTable *waiting; GMutex read_mutex; DexFuture *task; BzGuard *write_gate; GMutex write_mutex; }; static void initable_iface_init (GInitableIface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzDownloadWorker, bz_download_worker, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init)); enum { PROP_0, PROP_NAME, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * monitor_worker_fiber (GWeakRef *wr); BZ_DEFINE_DATA ( invoke_worker, InvokeWorker, { GWeakRef *self; DexPromise *promise; GFile *src; GFile *dest; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (promise, dex_unref); BZ_RELEASE_DATA (src, g_object_unref); BZ_RELEASE_DATA (dest, g_object_unref)); static DexFuture * invoke_worker_fiber (InvokeWorkerData *data); static void terminate (BzDownloadWorker *self); static void plumb_data_input_stream_read_line_async (GDataInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); static char * plumb_data_input_stream_read_line_finish (GDataInputStream *stream, GAsyncResult *result, gpointer user_data); static GMutex default_worker_mutex = { 0 }; static GPtrArray *default_workers = NULL; static guint next_default_worker = 0; static void bz_download_worker_dispose (GObject *object) { BzDownloadWorker *self = BZ_DOWNLOAD_WORKER (object); terminate (self); dex_clear (&self->task); g_clear_object (&self->subprocess); g_mutex_clear (&self->write_mutex); bz_clear_guard (&self->write_gate); g_mutex_clear (&self->read_mutex); g_clear_pointer (&self->waiting, g_hash_table_unref); g_clear_pointer (&self->name, g_free); G_OBJECT_CLASS (bz_download_worker_parent_class)->dispose (object); } static void bz_download_worker_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzDownloadWorker *self = BZ_DOWNLOAD_WORKER (object); switch (prop_id) { case PROP_NAME: g_value_set_string (value, bz_download_worker_get_name (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_download_worker_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzDownloadWorker *self = BZ_DOWNLOAD_WORKER (object); switch (prop_id) { case PROP_NAME: bz_download_worker_set_name (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_download_worker_class_init (BzDownloadWorkerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_download_worker_set_property; object_class->get_property = bz_download_worker_get_property; object_class->dispose = bz_download_worker_dispose; props[PROP_NAME] = g_param_spec_string ( "name", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_download_worker_init (BzDownloadWorker *self) { g_mutex_init (&self->read_mutex); g_mutex_init (&self->write_mutex); self->waiting = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, dex_unref); } static gboolean bz_download_worker_initable_init (GInitable *initable, GCancellable *cancellable, GError **error) { BzDownloadWorker *self = BZ_DOWNLOAD_WORKER (initable); self->subprocess = g_subprocess_new ( G_SUBPROCESS_FLAGS_STDIN_PIPE | G_SUBPROCESS_FLAGS_STDOUT_PIPE, error, DL_WORKER_BIN_NAME, NULL); if (self->subprocess == NULL) return FALSE; self->task = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) monitor_worker_fiber, bz_track_weak (self), bz_weak_release); return TRUE; } static void initable_iface_init (GInitableIface *iface) { iface->init = bz_download_worker_initable_init; } BzDownloadWorker * bz_download_worker_new (const char *name, GError **error) { return g_initable_new ( BZ_TYPE_DOWNLOAD_WORKER, NULL, error, "name", name, NULL); } const char * bz_download_worker_get_name (BzDownloadWorker *self) { g_return_val_if_fail (BZ_IS_DOWNLOAD_WORKER (self), NULL); return self->name; } void bz_download_worker_set_name (BzDownloadWorker *self, const char *name) { g_return_if_fail (BZ_IS_DOWNLOAD_WORKER (self)); g_clear_pointer (&self->name, g_free); if (name != NULL) self->name = g_strdup (name); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NAME]); } DexFuture * bz_download_worker_invoke (BzDownloadWorker *self, GFile *src, GFile *dest) { g_autoptr (DexPromise) promise = NULL; g_autoptr (InvokeWorkerData) data = NULL; dex_return_error_if_fail (BZ_IS_DOWNLOAD_WORKER (self)); dex_return_error_if_fail (G_IS_FILE (src)); dex_return_error_if_fail (G_IS_FILE (dest)); promise = dex_promise_new (); data = invoke_worker_data_new (); data->self = bz_track_weak (self); data->promise = dex_ref (promise); data->src = g_object_ref (src); data->dest = g_object_ref (dest); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) invoke_worker_fiber, invoke_worker_data_ref (data), invoke_worker_data_unref)); return DEX_FUTURE (g_steal_pointer (&promise)); } BzDownloadWorker * bz_download_worker_get_default (void) { g_autoptr (GMutexLocker) locker = NULL; BzDownloadWorker *ret = NULL; locker = g_mutex_locker_new (&default_worker_mutex); if (default_workers == NULL) { default_workers = g_ptr_array_new_with_free_func (g_object_unref); for (guint i = 0; i < bz_get_n_download_workers (); i++) { g_autoptr (GError) local_error = NULL; g_autoptr (BzDownloadWorker) worker = NULL; worker = bz_download_worker_new ("default", &local_error); if (worker == NULL) g_warning ("FATAL!!! The default download worker could not be spawned: %s", local_error->message); g_assert (worker != NULL); g_ptr_array_add (default_workers, g_steal_pointer (&worker)); } } /* Check if any of the subprocesses need to be recreated */ for (guint i = 0; i < default_workers->len; i++) { BzDownloadWorker **loc = NULL; loc = (BzDownloadWorker **) &g_ptr_array_index (default_workers, i); if (g_subprocess_get_identifier ((*loc)->subprocess) == NULL) { g_autoptr (GError) local_error = NULL; g_autoptr (BzDownloadWorker) worker = NULL; g_clear_object (loc); worker = bz_download_worker_new ("default", &local_error); if (worker == NULL) g_warning ("FATAL!!! The default download worker could not be spawned: %s", local_error->message); g_assert (worker != NULL); *loc = g_steal_pointer (&worker); } } ret = g_ptr_array_index (default_workers, next_default_worker); next_default_worker = (next_default_worker + 1) % default_workers->len; return ret; } void bz_reap_default_download_workers (void) { g_autoptr (GMutexLocker) locker = NULL; locker = g_mutex_locker_new (&default_worker_mutex); if (default_workers == NULL) return; for (guint i = 0; i < default_workers->len; i++) { BzDownloadWorker *worker = NULL; worker = g_ptr_array_index (default_workers, i); g_subprocess_force_exit (worker->subprocess); } g_clear_pointer (&default_workers, g_ptr_array_unref); next_default_worker = 0; } static DexFuture * monitor_worker_fiber (GWeakRef *wr) { g_autoptr (BzDownloadWorker) self = NULL; g_autoptr (GInputStream) input_stream = NULL; g_autoptr (GDataInputStream) subprocess_stdout = NULL; bz_weak_get_or_return_reject (self, wr); input_stream = g_object_ref (g_subprocess_get_stdout_pipe (self->subprocess)); subprocess_stdout = g_data_input_stream_new (g_object_ref (input_stream)); g_clear_object (&self); for (;;) { g_autoptr (GError) local_error = NULL; g_autofree char *line = NULL; line = dex_await_string ( dex_async_pair_new ( subprocess_stdout, &DEX_ASYNC_PAIR_INFO_STRING ( plumb_data_input_stream_read_line_async, plumb_data_input_stream_read_line_finish)), &local_error); if (line == NULL) { if (local_error != NULL) g_warning ("Could not read stdout from download worker subprocess: %s", local_error->message); goto err; } do { g_autoptr (GVariant) variant = NULL; g_autofree char *dest_path = NULL; gboolean success = FALSE; DexPromise *promise = NULL; if (line == NULL) { line = g_data_input_stream_read_line_utf8 (subprocess_stdout, NULL, NULL, &local_error); if (line == NULL) { if (local_error != NULL) g_warning ("Could not read stdout from download worker subprocess: %s", local_error->message); goto err; } } variant = g_variant_parse (G_VARIANT_TYPE ("(sb)"), line, NULL, NULL, &local_error); if (variant == NULL) { g_warning ("Could not interpret stdout from download worker subprocess: %s", local_error->message); goto err; } g_variant_get (variant, "(sb)", &dest_path, &success); bz_weak_get_or_return_reject (self, wr); g_mutex_lock (&self->read_mutex); promise = g_hash_table_lookup (self->waiting, dest_path); if (promise != NULL) { if (success) dex_promise_resolve_boolean (promise, TRUE); else dex_promise_reject ( promise, g_error_new (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "The subprocess reported an error downloading '%s'", dest_path)); promise = NULL; g_hash_table_remove (self->waiting, dest_path); } g_mutex_unlock (&self->read_mutex); g_clear_object (&self); g_clear_pointer (&line, g_free); } while (g_input_stream_has_pending (input_stream)); } return dex_future_new_true (); err: bz_weak_get_or_return_reject (self, wr); /* give up on this subprocess and wait to be disposed */ g_mutex_lock (&self->read_mutex); terminate (self); g_mutex_unlock (&self->read_mutex); return dex_future_new_false (); } static DexFuture * invoke_worker_fiber (InvokeWorkerData *data) { DexPromise *promise = data->promise; GFile *src = data->src; GFile *dest = data->dest; g_autoptr (BzDownloadWorker) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (BzGuard) guard = NULL; g_autofree char *src_uri = NULL; g_autofree char *dest_path = NULL; DexPromise *existing = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (GString) output = NULL; g_autoptr (GOutputStream) stdin_stream = NULL; gint64 bytes_written = -1; src_uri = g_file_get_uri (src); dest_path = g_file_get_path (dest); bz_weak_get_or_return_reject (self, data->self); g_mutex_lock (&self->read_mutex); existing = g_hash_table_lookup (self->waiting, dest_path); if (existing != NULL) { dex_promise_reject ( existing, g_error_new (G_IO_ERROR, G_IO_ERROR_CANCELLED, "The operation was replaced")); existing = NULL; } g_hash_table_replace (self->waiting, g_strdup (dest_path), dex_ref (promise)); g_mutex_unlock (&self->read_mutex); variant = g_variant_new ("(ss)", src_uri, dest_path); output = g_string_new (NULL); output = g_variant_print_string (variant, g_steal_pointer (&output), TRUE); g_string_append_c (output, '\n'); stdin_stream = g_object_ref (g_subprocess_get_stdin_pipe (self->subprocess)); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->write_mutex, &self->write_gate); g_clear_object (&self); bytes_written = dex_await_int64 ( dex_future_first ( dex_output_stream_write ( stdin_stream, output->str, output->len, G_PRIORITY_DEFAULT_IDLE), dex_ref (promise), NULL), &local_error); bz_clear_guard (&guard); /* Check if we've been cancelled */ if (!dex_future_is_pending (DEX_FUTURE (promise))) return dex_future_new_false (); if (bytes_written < 0) { bz_weak_get_or_return_reject (self, data->self); g_mutex_lock (&self->read_mutex); g_hash_table_remove (self->waiting, dest_path); dex_promise_reject (promise, g_steal_pointer (&local_error)); g_mutex_unlock (&self->read_mutex); g_clear_object (&self); } return dex_future_new_true (); } static void terminate (BzDownloadWorker *self) { GHashTableIter waiting_iter = { 0 }; g_hash_table_iter_init (&waiting_iter, self->waiting); for (;;) { g_autofree char *dest_path = NULL; g_autoptr (DexPromise) promise = NULL; if (!g_hash_table_iter_next ( &waiting_iter, (gpointer *) &dest_path, (gpointer *) &promise)) break; g_hash_table_iter_steal (&waiting_iter); dex_promise_reject ( promise, g_error_new (G_IO_ERROR, G_IO_ERROR_CANCELLED, "The subprocess was terminated")); } } static void plumb_data_input_stream_read_line_async (GDataInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_data_input_stream_read_line_async ( stream, G_PRIORITY_DEFAULT_IDLE, cancellable, callback, user_data); } static char * plumb_data_input_stream_read_line_finish (GDataInputStream *stream, GAsyncResult *result, gpointer user_data) { return g_data_input_stream_read_line_finish_utf8 ( stream, result, NULL, user_data); } /* End of bz-download-worker.c */ ���������������������������������������������bazaar-org-bazaar-917017d/src/bz-download-worker.h��������������������������������������������������0000664�0000000�0000000�00000003046�15234476640�0021760�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-download-worker.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> G_BEGIN_DECLS #define BZ_TYPE_DOWNLOAD_WORKER (bz_download_worker_get_type ()) G_DECLARE_FINAL_TYPE (BzDownloadWorker, bz_download_worker, BZ, DOWNLOAD_WORKER, GObject) BzDownloadWorker * bz_download_worker_new (const char *name, GError **error); const char * bz_download_worker_get_name (BzDownloadWorker *self); void bz_download_worker_set_name (BzDownloadWorker *self, const char *name); DexFuture * bz_download_worker_invoke (BzDownloadWorker *self, GFile *src, GFile *dest); BzDownloadWorker * bz_download_worker_get_default (void); void bz_reap_default_download_workers (void); G_END_DECLS /* End of bz-download-worker.h */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-dynamic-list-view.c������������������������������������������������0000664�0000000�0000000�00000066431�15234476640�0022211�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-dynamic-list-view.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-dynamic-list-view.h" #include "bz-marshalers.h" G_DEFINE_ENUM_TYPE ( BzDynamicListViewKind, bz_dynamic_list_view_kind, G_DEFINE_ENUM_VALUE (BZ_DYNAMIC_LIST_VIEW_KIND_HBOX, "h-box"), G_DEFINE_ENUM_VALUE (BZ_DYNAMIC_LIST_VIEW_KIND_VBOX, "v-box"), G_DEFINE_ENUM_VALUE (BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX, "list-box"), G_DEFINE_ENUM_VALUE (BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX, "flow-box"), G_DEFINE_ENUM_VALUE (BZ_DYNAMIC_LIST_VIEW_KIND_CAROUSEL, "carousel")) struct _BzDynamicListView { AdwBin parent_instance; GListModel *model; gboolean scroll; BzDynamicListViewKind noscroll_kind; GType child_type; char *child_prop; char *object_prop; guint max_children_per_line; guint row_spacing; guint column_spacing; char *child_type_string; GtkScrolledWindow *scrolled_window; GPtrArray *box_children; }; G_DEFINE_FINAL_TYPE (BzDynamicListView, bz_dynamic_list_view, ADW_TYPE_BIN); enum { PROP_0, PROP_MODEL, PROP_SCROLL, PROP_NOSCROLL_KIND, PROP_CHILD_TYPE, PROP_CHILD_PROP, PROP_OBJECT_PROP, PROP_MAX_CHILDREN_PER_LINE, PROP_VADJUSTMENT, PROP_ROW_SPACING, PROP_COLUMN_SPACING, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_BIND_WIDGET, SIGNAL_UNBIND_WIDGET, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void refresh (BzDynamicListView *self); static void list_item_factory_setup (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory); static void list_item_factory_teardown (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory); static void list_item_factory_bind (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory); static void list_item_factory_unbind (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory); static GtkWidget * create_child_widget (GObject *object, BzDynamicListView *self); static void items_changed (GListModel *model, guint position, guint removed, guint added, BzDynamicListView *self); static void bz_dynamic_list_view_dispose (GObject *object) { BzDynamicListView *self = BZ_DYNAMIC_LIST_VIEW (object); if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_clear_object (&self->model); g_clear_pointer (&self->child_prop, g_free); g_clear_pointer (&self->object_prop, g_free); g_clear_pointer (&self->child_type_string, g_free); g_clear_pointer (&self->box_children, g_ptr_array_unref); G_OBJECT_CLASS (bz_dynamic_list_view_parent_class)->dispose (object); } static void bz_dynamic_list_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzDynamicListView *self = BZ_DYNAMIC_LIST_VIEW (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, bz_dynamic_list_view_get_model (self)); break; case PROP_SCROLL: g_value_set_boolean (value, bz_dynamic_list_view_get_scroll (self)); break; case PROP_NOSCROLL_KIND: g_value_set_enum (value, bz_dynamic_list_view_get_noscroll_kind (self)); break; case PROP_CHILD_TYPE: g_value_set_string (value, bz_dynamic_list_view_get_child_type (self)); break; case PROP_CHILD_PROP: g_value_set_string (value, bz_dynamic_list_view_get_child_prop (self)); break; case PROP_OBJECT_PROP: g_value_set_string (value, bz_dynamic_list_view_get_object_prop (self)); break; case PROP_MAX_CHILDREN_PER_LINE: g_value_set_uint (value, bz_dynamic_list_view_get_max_children_per_line (self)); break; case PROP_VADJUSTMENT: g_value_set_object (value, bz_dynamic_list_view_get_vadjustment (self)); break; case PROP_ROW_SPACING: g_value_set_uint (value, bz_dynamic_list_view_get_row_spacing (self)); break; case PROP_COLUMN_SPACING: g_value_set_uint (value, bz_dynamic_list_view_get_column_spacing (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_dynamic_list_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzDynamicListView *self = BZ_DYNAMIC_LIST_VIEW (object); switch (prop_id) { case PROP_MODEL: bz_dynamic_list_view_set_model (self, g_value_get_object (value)); break; case PROP_SCROLL: bz_dynamic_list_view_set_scroll (self, g_value_get_boolean (value)); break; case PROP_NOSCROLL_KIND: bz_dynamic_list_view_set_noscroll_kind (self, g_value_get_enum (value)); break; case PROP_CHILD_TYPE: bz_dynamic_list_view_set_child_type (self, g_value_get_string (value)); break; case PROP_CHILD_PROP: bz_dynamic_list_view_set_child_prop (self, g_value_get_string (value)); break; case PROP_OBJECT_PROP: bz_dynamic_list_view_set_object_prop (self, g_value_get_string (value)); break; case PROP_MAX_CHILDREN_PER_LINE: bz_dynamic_list_view_set_max_children_per_line (self, g_value_get_uint (value)); break; case PROP_ROW_SPACING: bz_dynamic_list_view_set_row_spacing (self, g_value_get_uint (value)); break; case PROP_COLUMN_SPACING: bz_dynamic_list_view_set_column_spacing (self, g_value_get_uint (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_dynamic_list_view_class_init (BzDynamicListViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_dynamic_list_view_set_property; object_class->get_property = bz_dynamic_list_view_get_property; object_class->dispose = bz_dynamic_list_view_dispose; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_SCROLL] = g_param_spec_boolean ( "scroll", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_NOSCROLL_KIND] = g_param_spec_enum ( "noscroll-kind", NULL, NULL, BZ_TYPE_DYNAMIC_LIST_VIEW_KIND, BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_MAX_CHILDREN_PER_LINE] = g_param_spec_uint ( "max-children-per-line", NULL, NULL, 1, G_MAXUINT, 4, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ROW_SPACING] = g_param_spec_uint ( "row-spacing", NULL, NULL, 0, G_MAXUINT, 11, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_COLUMN_SPACING] = g_param_spec_uint ( "column-spacing", NULL, NULL, 0, G_MAXUINT, 11, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_CHILD_TYPE] = g_param_spec_string ( "child-type", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_CHILD_PROP] = g_param_spec_string ( "child-prop", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_OBJECT_PROP] = g_param_spec_string ( "object-prop", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_VADJUSTMENT] = g_param_spec_object ( "vadjustment", NULL, NULL, GTK_TYPE_ADJUSTMENT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_BIND_WIDGET] = g_signal_new ( "bind-widget", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, bz_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 1, GTK_TYPE_WIDGET); g_signal_set_va_marshaller ( signals[SIGNAL_BIND_WIDGET], G_TYPE_FROM_CLASS (klass), bz_marshal_VOID__OBJECT_OBJECTv); signals[SIGNAL_UNBIND_WIDGET] = g_signal_new ( "unbind-widget", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, bz_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 1, GTK_TYPE_WIDGET); g_signal_set_va_marshaller ( signals[SIGNAL_UNBIND_WIDGET], G_TYPE_FROM_CLASS (klass), bz_marshal_VOID__OBJECT_OBJECTv); } static void bz_dynamic_list_view_init (BzDynamicListView *self) { self->child_type = G_TYPE_INVALID; self->noscroll_kind = BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX; self->max_children_per_line = 4; self->row_spacing = 11; self->column_spacing = 11; self->box_children = g_ptr_array_new (); } BzDynamicListView * bz_dynamic_list_view_new (void) { return g_object_new (BZ_TYPE_DYNAMIC_LIST_VIEW, NULL); } GListModel * bz_dynamic_list_view_get_model (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), NULL); return self->model; } gboolean bz_dynamic_list_view_get_scroll (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), FALSE); return self->scroll; } BzDynamicListViewKind bz_dynamic_list_view_get_noscroll_kind (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), FALSE); return self->noscroll_kind; } const char * bz_dynamic_list_view_get_child_type (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), NULL); return self->child_type_string; } const char * bz_dynamic_list_view_get_child_prop (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), NULL); return self->child_prop; } const char * bz_dynamic_list_view_get_object_prop (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), NULL); return self->object_prop; } guint bz_dynamic_list_view_get_max_children_per_line (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), 4); return self->max_children_per_line; } GtkAdjustment * bz_dynamic_list_view_get_vadjustment (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), NULL); if (self->scrolled_window == NULL) return NULL; return gtk_scrolled_window_get_vadjustment (self->scrolled_window); } void bz_dynamic_list_view_set_model (BzDynamicListView *self, GListModel *model) { g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_clear_object (&self->model); if (model != NULL) self->model = g_object_ref (model); refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); } void bz_dynamic_list_view_set_scroll (BzDynamicListView *self, gboolean scroll) { g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); self->scroll = scroll; refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SCROLL]); } void bz_dynamic_list_view_set_noscroll_kind (BzDynamicListView *self, BzDynamicListViewKind noscroll_kind) { g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); g_return_if_fail (noscroll_kind >= 0 && noscroll_kind < BZ_DYNAMIC_LIST_VIEW_N_KINDS); self->noscroll_kind = noscroll_kind; refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NOSCROLL_KIND]); } void bz_dynamic_list_view_set_child_type (BzDynamicListView *self, const char *child_type) { GType type = G_TYPE_INVALID; g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); if (child_type != NULL) { type = g_type_from_name (child_type); g_return_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET)); } g_clear_pointer (&self->child_type_string, g_free); self->child_type = type; if (child_type != NULL) self->child_type_string = g_strdup (child_type); refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_TYPE]); } void bz_dynamic_list_view_set_child_prop (BzDynamicListView *self, const char *child_prop) { g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); g_clear_pointer (&self->child_prop, g_free); if (child_prop != NULL) self->child_prop = g_strdup (child_prop); refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_PROP]); } void bz_dynamic_list_view_set_object_prop (BzDynamicListView *self, const char *object_prop) { g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); g_clear_pointer (&self->object_prop, g_free); if (object_prop != NULL) self->object_prop = g_strdup (object_prop); refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_OBJECT_PROP]); } void bz_dynamic_list_view_set_max_children_per_line (BzDynamicListView *self, guint max_children) { GtkWidget *child; g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); g_return_if_fail (max_children > 0); self->max_children_per_line = max_children; child = adw_bin_get_child (ADW_BIN (self)); if (child != NULL && self->noscroll_kind == BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX && !self->scroll) { gtk_flow_box_set_max_children_per_line (GTK_FLOW_BOX (child), max_children); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MAX_CHILDREN_PER_LINE]); } guint bz_dynamic_list_view_get_row_spacing (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), 5); return self->row_spacing; } guint bz_dynamic_list_view_get_column_spacing (BzDynamicListView *self) { g_return_val_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self), 5); return self->column_spacing; } void bz_dynamic_list_view_set_row_spacing (BzDynamicListView *self, guint row_spacing) { GtkWidget *child; g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); self->row_spacing = row_spacing; child = adw_bin_get_child (ADW_BIN (self)); if (child != NULL && self->noscroll_kind == BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX && !self->scroll) { gtk_flow_box_set_row_spacing (GTK_FLOW_BOX (child), row_spacing); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ROW_SPACING]); } void bz_dynamic_list_view_set_column_spacing (BzDynamicListView *self, guint column_spacing) { GtkWidget *child; g_return_if_fail (BZ_IS_DYNAMIC_LIST_VIEW (self)); self->column_spacing = column_spacing; child = adw_bin_get_child (ADW_BIN (self)); if (child != NULL && self->noscroll_kind == BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX && !self->scroll) { gtk_flow_box_set_column_spacing (GTK_FLOW_BOX (child), column_spacing); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COLUMN_SPACING]); } static void refresh (BzDynamicListView *self) { if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); self->scrolled_window = NULL; g_ptr_array_set_size (self->box_children, 0); adw_bin_set_child (ADW_BIN (self), NULL); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VADJUSTMENT]); if (self->model == NULL || self->child_prop == NULL || self->child_type == G_TYPE_INVALID) return; if (self->scroll) { GtkWidget *window = NULL; GtkNoSelection *selection = NULL; GtkListItemFactory *factory = NULL; GtkWidget *view = NULL; window = gtk_scrolled_window_new (); selection = gtk_no_selection_new (g_object_ref (self->model)); factory = gtk_signal_list_item_factory_new (); view = gtk_list_view_new (GTK_SELECTION_MODEL (selection), factory); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_widget_add_css_class (view, "navigation-sidebar"); gtk_list_view_set_single_click_activate (GTK_LIST_VIEW (view), TRUE); g_signal_connect_swapped (factory, "setup", G_CALLBACK (list_item_factory_setup), self); g_signal_connect_swapped (factory, "teardown", G_CALLBACK (list_item_factory_teardown), self); g_signal_connect_swapped (factory, "bind", G_CALLBACK (list_item_factory_bind), self); g_signal_connect_swapped (factory, "unbind", G_CALLBACK (list_item_factory_unbind), self); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (window), view); self->scrolled_window = GTK_SCROLLED_WINDOW (window); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VADJUSTMENT]); adw_bin_set_child (ADW_BIN (self), window); } else { switch (self->noscroll_kind) { case BZ_DYNAMIC_LIST_VIEW_KIND_HBOX: case BZ_DYNAMIC_LIST_VIEW_KIND_VBOX: { GtkWidget *widget = NULL; if (self->noscroll_kind == BZ_DYNAMIC_LIST_VIEW_KIND_VBOX) widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); else widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); g_signal_connect ( self->model, "items-changed", G_CALLBACK (items_changed), self); adw_bin_set_child (ADW_BIN (self), widget); items_changed (self->model, 0, 0, g_list_model_get_n_items (self->model), self); } break; case BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX: { GtkWidget *widget = NULL; widget = gtk_list_box_new (); gtk_list_box_set_selection_mode ( GTK_LIST_BOX (widget), GTK_SELECTION_NONE); gtk_list_box_bind_model ( GTK_LIST_BOX (widget), self->model, (GtkListBoxCreateWidgetFunc) create_child_widget, self, NULL); adw_bin_set_child (ADW_BIN (self), widget); } break; case BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX: { GtkWidget *widget = NULL; widget = gtk_flow_box_new (); gtk_flow_box_set_homogeneous (GTK_FLOW_BOX (widget), TRUE); gtk_flow_box_set_max_children_per_line (GTK_FLOW_BOX (widget), self->max_children_per_line); gtk_flow_box_set_row_spacing (GTK_FLOW_BOX (widget), self->row_spacing); gtk_flow_box_set_column_spacing (GTK_FLOW_BOX (widget), self->column_spacing); gtk_flow_box_set_selection_mode (GTK_FLOW_BOX (widget), GTK_SELECTION_NONE); gtk_flow_box_bind_model ( GTK_FLOW_BOX (widget), self->model, (GtkFlowBoxCreateWidgetFunc) create_child_widget, self, NULL); adw_bin_set_child (ADW_BIN (self), widget); } break; case BZ_DYNAMIC_LIST_VIEW_KIND_CAROUSEL: { GtkWidget *widget = NULL; widget = adw_carousel_new (); adw_carousel_set_allow_scroll_wheel (ADW_CAROUSEL (widget), FALSE); g_signal_connect ( self->model, "items-changed", G_CALLBACK (items_changed), self); adw_bin_set_child (ADW_BIN (self), widget); items_changed (self->model, 0, 0, g_list_model_get_n_items (self->model), self); } break; case BZ_DYNAMIC_LIST_VIEW_N_KINDS: default: g_assert_not_reached (); } } } static void list_item_factory_setup (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory) { GtkWidget *child = NULL; child = g_object_new (self->child_type, NULL); gtk_list_item_set_child (item, child); } static void list_item_factory_teardown (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory) { gtk_list_item_set_child (item, NULL); } static void list_item_factory_bind (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory) { GObject *object = NULL; GtkWidget *child = NULL; object = gtk_list_item_get_item (item); child = gtk_list_item_get_child (item); gtk_list_item_set_focusable (item, FALSE); gtk_list_item_set_selectable (item, FALSE); gtk_list_item_set_activatable (item, FALSE); if (self->object_prop != NULL) { GBinding *binding = NULL; binding = g_object_bind_property ( object, self->object_prop, child, self->child_prop, G_BINDING_SYNC_CREATE); g_object_set_data_full ( G_OBJECT (item), "binding", binding, g_object_unref); } else g_object_set (child, self->child_prop, object, NULL); g_signal_emit (self, signals[SIGNAL_BIND_WIDGET], 0, child, object); } static void list_item_factory_unbind (BzDynamicListView *self, GtkListItem *item, GtkSignalListItemFactory *factory) { GtkWidget *child = NULL; GBinding *binding = NULL; g_autoptr (GObject) object = NULL; child = gtk_list_item_get_child (item); binding = g_object_steal_data (G_OBJECT (item), "binding"); if (binding != NULL) { object = g_binding_dup_source (binding); g_binding_unbind (binding); g_object_unref (binding); } else { g_object_get (child, self->child_prop, &object, NULL); g_object_set (child, self->child_prop, NULL, NULL); } g_signal_emit (self, signals[SIGNAL_UNBIND_WIDGET], 0, child, object); } static GtkWidget * create_child_widget (GObject *object, BzDynamicListView *self) { GtkWidget *widget = NULL; widget = g_object_new (self->child_type, NULL); if (self->object_prop != NULL) g_object_bind_property ( object, self->object_prop, widget, self->child_prop, G_BINDING_SYNC_CREATE); else g_object_set (widget, self->child_prop, object, NULL); gtk_widget_set_receives_default (widget, TRUE); g_signal_emit (self, signals[SIGNAL_BIND_WIDGET], 0, widget, object); switch (self->noscroll_kind) { case BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX: { GtkWidget *child = NULL; child = gtk_list_box_row_new (); gtk_widget_add_css_class (GTK_WIDGET (child), "disable-adw-flow-box-styling"); gtk_widget_set_focusable (GTK_WIDGET (child), FALSE); gtk_list_box_row_set_selectable (GTK_LIST_BOX_ROW (child), FALSE); gtk_list_box_row_set_child (GTK_LIST_BOX_ROW (child), widget); return child; } case BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX: { GtkWidget *child = NULL; child = gtk_flow_box_child_new (); gtk_widget_add_css_class (GTK_WIDGET (child), "disable-adw-flow-box-styling"); gtk_widget_set_focusable (GTK_WIDGET (child), FALSE); gtk_flow_box_child_set_child (GTK_FLOW_BOX_CHILD (child), widget); return child; } case BZ_DYNAMIC_LIST_VIEW_KIND_HBOX: case BZ_DYNAMIC_LIST_VIEW_KIND_VBOX: case BZ_DYNAMIC_LIST_VIEW_KIND_CAROUSEL: case BZ_DYNAMIC_LIST_VIEW_N_KINDS: default: return widget; } } static void items_changed (GListModel *model, guint position, guint removed, guint added, BzDynamicListView *self) { GtkWidget *bin_child = NULL; bin_child = adw_bin_get_child (ADW_BIN (self)); for (guint i = 0; i < removed; i++) { switch (self->noscroll_kind) { case BZ_DYNAMIC_LIST_VIEW_KIND_HBOX: case BZ_DYNAMIC_LIST_VIEW_KIND_VBOX: { GtkWidget *child = NULL; child = g_ptr_array_index (self->box_children, position); gtk_box_remove (GTK_BOX (bin_child), g_steal_pointer (&child)); g_ptr_array_remove_index (self->box_children, position); } break; case BZ_DYNAMIC_LIST_VIEW_KIND_CAROUSEL: adw_carousel_remove ( ADW_CAROUSEL (bin_child), adw_carousel_get_nth_page (ADW_CAROUSEL (bin_child), position)); break; case BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX: case BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX: case BZ_DYNAMIC_LIST_VIEW_N_KINDS: default: g_assert_not_reached (); } } for (guint i = 0; i < added; i++) { g_autoptr (GObject) object = NULL; GtkWidget *widget = NULL; object = g_list_model_get_item (model, position + i); widget = create_child_widget (object, self); switch (self->noscroll_kind) { case BZ_DYNAMIC_LIST_VIEW_KIND_HBOX: case BZ_DYNAMIC_LIST_VIEW_KIND_VBOX: { if (position + i < self->box_children->len) { GtkWidget *sibling = NULL; sibling = g_ptr_array_index (self->box_children, position + i); gtk_box_insert_child_after (GTK_BOX (bin_child), widget, sibling); } else gtk_box_append (GTK_BOX (bin_child), widget); } break; case BZ_DYNAMIC_LIST_VIEW_KIND_CAROUSEL: adw_carousel_insert (ADW_CAROUSEL (bin_child), widget, position + i); break; case BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX: case BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX: case BZ_DYNAMIC_LIST_VIEW_N_KINDS: default: g_assert_not_reached (); } } } /* End of bz-dynamic-list-view.c */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-dynamic-list-view.h������������������������������������������������0000664�0000000�0000000�00000006674�15234476640�0022221�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-dynamic-list-view.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS typedef enum { BZ_DYNAMIC_LIST_VIEW_KIND_HBOX, BZ_DYNAMIC_LIST_VIEW_KIND_VBOX, BZ_DYNAMIC_LIST_VIEW_KIND_LIST_BOX, BZ_DYNAMIC_LIST_VIEW_KIND_FLOW_BOX, BZ_DYNAMIC_LIST_VIEW_KIND_CAROUSEL, /*< private >*/ BZ_DYNAMIC_LIST_VIEW_N_KINDS, } BzDynamicListViewKind; GType bz_dynamic_list_view_kind_get_type (void); #define BZ_TYPE_DYNAMIC_LIST_VIEW_KIND (bz_dynamic_list_view_kind_get_type ()) #define BZ_TYPE_DYNAMIC_LIST_VIEW (bz_dynamic_list_view_get_type ()) G_DECLARE_FINAL_TYPE (BzDynamicListView, bz_dynamic_list_view, BZ, DYNAMIC_LIST_VIEW, AdwBin) BzDynamicListView * bz_dynamic_list_view_new (void); GListModel * bz_dynamic_list_view_get_model (BzDynamicListView *self); gboolean bz_dynamic_list_view_get_scroll (BzDynamicListView *self); BzDynamicListViewKind bz_dynamic_list_view_get_noscroll_kind (BzDynamicListView *self); const char * bz_dynamic_list_view_get_child_type (BzDynamicListView *self); const char * bz_dynamic_list_view_get_child_prop (BzDynamicListView *self); const char * bz_dynamic_list_view_get_object_prop (BzDynamicListView *self); void bz_dynamic_list_view_set_model (BzDynamicListView *self, GListModel *model); void bz_dynamic_list_view_set_scroll (BzDynamicListView *self, gboolean scroll); void bz_dynamic_list_view_set_noscroll_kind (BzDynamicListView *self, BzDynamicListViewKind noscroll_kind); void bz_dynamic_list_view_set_child_type (BzDynamicListView *self, const char *child_type); void bz_dynamic_list_view_set_child_prop (BzDynamicListView *self, const char *child_prop); void bz_dynamic_list_view_set_object_prop (BzDynamicListView *self, const char *object_prop); guint bz_dynamic_list_view_get_max_children_per_line (BzDynamicListView *self); void bz_dynamic_list_view_set_max_children_per_line (BzDynamicListView *self, guint max_children); guint bz_dynamic_list_view_get_row_spacing (BzDynamicListView *self); void bz_dynamic_list_view_set_row_spacing (BzDynamicListView *self, guint row_spacing); guint bz_dynamic_list_view_get_column_spacing (BzDynamicListView *self); void bz_dynamic_list_view_set_column_spacing (BzDynamicListView *self, guint column_spacing); GtkAdjustment *bz_dynamic_list_view_get_vadjustment (BzDynamicListView *self); G_END_DECLS /* End of bz-dynamic-list-view.h */ ��������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-cache-manager.c����������������������������������������������0000664�0000000�0000000�00000071055�15234476640�0022454�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-cache-manager.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::ENTRY-CACHE" #define BAZAAR_MODULE "entry-cache" #define MAX_CONCURRENT_WRITES 16 #define WATCH_CLEANUP_INTERVAL_MSEC 5000 #include <malloc.h> #include "bz-entry-cache-manager.h" #include "env.h" #include "bz-flatpak-entry.h" #include "io.h" #include "bz-serializable.h" #include "util.h" /* clang-format off */ G_DEFINE_QUARK (bz-entry-cache-error-quark, bz_entry_cache_error); /* clang-format on */ struct _BzEntryCacheManager { GObject parent_instance; GMutex mutex; guint living_entries; DexScheduler *scheduler; guint64 memory_usage; DexPromise *init; GHashTable *alive_hash; GHashTable *writing_hash; GHashTable *reading_hash; BzGuard *ongoing_gates[MAX_CONCURRENT_WRITES]; GMutex ongoing_mutexes[MAX_CONCURRENT_WRITES]; guint ongoing_queued[MAX_CONCURRENT_WRITES]; GMutex ongoing_queueing_mutex; BzGuard *alive_gate; GMutex alive_mutex; BzGuard *reading_gate; GMutex reading_mutex; BzGuard *writing_gate; GMutex writing_mutex; DexFuture *watch_task; }; G_DEFINE_FINAL_TYPE (BzEntryCacheManager, bz_entry_cache_manager, G_TYPE_OBJECT); enum { PROP_0, PROP_LIVING_ENTRIES, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * watch_init_fiber (GWeakRef *wr); static DexFuture * watch_cb (DexFuture *future, GWeakRef *wr); static DexFuture * watch_work_fiber (GWeakRef *wr); static DexFuture * notify_props_fiber (GWeakRef *wr); BZ_DEFINE_DATA ( living_entry, LivingEntry, { GWeakRef wr; BzGuard *gate; GMutex mutex; GTimer *cached; }, BZ_RELEASE_DATA (gate, bz_guard_destroy); g_mutex_clear (&self->mutex); g_weak_ref_clear (&self->wr); BZ_RELEASE_DATA (cached, g_timer_destroy)); BZ_DEFINE_DATA ( write_task, WriteTask, { GWeakRef *self; char *unique_id_checksum; BzEntry *entry; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (unique_id_checksum, g_free); BZ_RELEASE_DATA (entry, g_object_unref);) static DexFuture * write_task_fiber (WriteTaskData *data); BZ_DEFINE_DATA ( read_task, ReadTask, { GWeakRef *self; char *unique_id_checksum; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (unique_id_checksum, g_free)) static DexFuture * read_task_fiber (ReadTaskData *data); static DexFuture * enumerate_disk_fiber (GWeakRef *wr); static void bz_entry_cache_manager_dispose (GObject *object) { BzEntryCacheManager *self = BZ_ENTRY_CACHE_MANAGER (object); g_mutex_clear (&self->mutex); dex_clear (&self->scheduler); dex_clear (&self->watch_task); g_clear_pointer (&self->init, dex_unref); g_clear_pointer (&self->alive_hash, g_hash_table_unref); g_clear_pointer (&self->writing_hash, g_hash_table_unref); g_clear_pointer (&self->reading_hash, g_hash_table_unref); for (guint i = 0; i < G_N_ELEMENTS (self->ongoing_gates); i++) g_clear_pointer (&self->ongoing_gates[i], bz_guard_destroy); for (guint i = 0; i < G_N_ELEMENTS (self->ongoing_mutexes); i++) g_mutex_clear (&self->ongoing_mutexes[i]); g_mutex_clear (&self->ongoing_queueing_mutex); g_clear_pointer (&self->alive_gate, bz_guard_destroy); g_clear_pointer (&self->reading_gate, bz_guard_destroy); g_clear_pointer (&self->writing_gate, bz_guard_destroy); g_mutex_clear (&self->alive_mutex); g_mutex_clear (&self->reading_mutex); g_mutex_clear (&self->writing_mutex); G_OBJECT_CLASS (bz_entry_cache_manager_parent_class)->dispose (object); } static void bz_entry_cache_manager_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzEntryCacheManager *self = BZ_ENTRY_CACHE_MANAGER (object); switch (prop_id) { case PROP_LIVING_ENTRIES: g_value_set_uint (value, bz_entry_cache_manager_get_living_entries (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_cache_manager_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzEntryCacheManager *self = BZ_ENTRY_CACHE_MANAGER (object); (void) self; switch (prop_id) { case PROP_LIVING_ENTRIES: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_cache_manager_class_init (BzEntryCacheManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_entry_cache_manager_set_property; object_class->get_property = bz_entry_cache_manager_get_property; object_class->dispose = bz_entry_cache_manager_dispose; props[PROP_LIVING_ENTRIES] = g_param_spec_uint ( "living-entries", NULL, NULL, 0, G_MAXUINT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_entry_cache_manager_init (BzEntryCacheManager *self) { g_mutex_init (&self->mutex); self->scheduler = dex_thread_pool_scheduler_new (); self->init = dex_promise_new (); self->alive_hash = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, living_entry_data_unref); self->writing_hash = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, dex_unref); self->reading_hash = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, dex_unref); for (guint i = 0; i < G_N_ELEMENTS (self->ongoing_mutexes); i++) g_mutex_init (&self->ongoing_mutexes[i]); g_mutex_init (&self->ongoing_queueing_mutex); g_mutex_init (&self->alive_mutex); g_mutex_init (&self->reading_mutex); g_mutex_init (&self->writing_mutex); self->watch_task = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) watch_init_fiber, bz_track_weak (self), bz_weak_release); } BzEntryCacheManager * bz_entry_cache_manager_new (void) { return g_object_new (BZ_TYPE_ENTRY_CACHE_MANAGER, NULL); } guint bz_entry_cache_manager_get_living_entries (BzEntryCacheManager *self) { g_autoptr (GMutexLocker) locker = NULL; g_return_val_if_fail (BZ_IS_ENTRY_CACHE_MANAGER (self), 0); locker = g_mutex_locker_new (&self->mutex); return self->living_entries; } DexFuture * bz_entry_cache_manager_add (BzEntryCacheManager *self, BzEntry *entry) { g_autoptr (WriteTaskData) data = NULL; g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (BZ_IS_ENTRY_CACHE_MANAGER (self)); dex_return_error_if_fail (BZ_IS_ENTRY (entry)); dex_return_error_if_fail (!bz_entry_is_holding (entry)); data = write_task_data_new (); data->self = bz_track_weak (self); data->unique_id_checksum = g_strdup (bz_entry_get_unique_id_checksum (entry)); data->entry = g_object_ref (entry); future = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) write_task_fiber, write_task_data_ref (data), write_task_data_unref); return g_steal_pointer (&future); } DexFuture * bz_entry_cache_manager_get (BzEntryCacheManager *self, const char *unique_id) { g_autoptr (ReadTaskData) data = NULL; g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (BZ_IS_ENTRY_CACHE_MANAGER (self)); dex_return_error_if_fail (unique_id != NULL); data = read_task_data_new (); data->self = bz_track_weak (self); data->unique_id_checksum = g_compute_checksum_for_string (G_CHECKSUM_MD5, unique_id, -1); future = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) read_task_fiber, read_task_data_ref (data), read_task_data_unref); return g_steal_pointer (&future); } DexFuture * bz_entry_cache_manager_get_by_checksum (BzEntryCacheManager *self, const char *unique_id_checksum) { g_autoptr (ReadTaskData) data = NULL; g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (BZ_IS_ENTRY_CACHE_MANAGER (self)); dex_return_error_if_fail (unique_id_checksum != NULL); data = read_task_data_new (); data->self = bz_track_weak (self); data->unique_id_checksum = g_strdup (unique_id_checksum); future = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) read_task_fiber, read_task_data_ref (data), read_task_data_unref); return g_steal_pointer (&future); } DexFuture * bz_entry_cache_manager_enumerate_disk (BzEntryCacheManager *self) { g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (BZ_IS_ENTRY_CACHE_MANAGER (self)); future = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) enumerate_disk_fiber, bz_track_weak (self), bz_weak_release); return g_steal_pointer (&future); } static DexFuture * write_task_fiber (WriteTaskData *data) { g_autoptr (BzEntryCacheManager) self = NULL; char *unique_id_checksum = data->unique_id_checksum; BzEntry *entry = data->entry; g_autoptr (GError) local_error = NULL; g_autoptr (BzGuard) slot_guard = NULL; g_autoptr (BzGuard) other_guard = NULL; g_autoptr (GMutexLocker) locker = NULL; guint slot_queued = G_MAXUINT; guint slot_index = 0; DexFuture *writing_future = NULL; g_autoptr (LivingEntryData) living = NULL; g_autoptr (DexPromise) promise = NULL; g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (GBytes) bytes = NULL; gsize bytes_size = 0; gconstpointer bytes_data = 0; g_autofree char *main_cache = NULL; g_autoptr (GFile) parent_file = NULL; g_autofree char *save_file_path = NULL; g_autoptr (GFile) save_file = NULL; gsize existing_contents_size = 0; g_autofree char *existing_contents = NULL; g_autoptr (GFileOutputStream) output = NULL; gssize bytes_written = 0; gboolean result = FALSE; g_autoptr (GError) ret_error = NULL; bz_weak_get_or_return_reject (self, data->self); if (!BZ_IS_FLATPAK_ENTRY (entry)) return dex_future_new_reject ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_CACHE_FAILED, "Entry with unique ID checksum '%s' cannot be " "cached because it is not a flatpak entry", unique_id_checksum); /* Rate limit to reduce competition for resources * when refresh triggers a flood of requests * * Here we make sure to pick the slot with the * least tasks waiting in line */ locker = g_mutex_locker_new (&self->ongoing_queueing_mutex); for (guint i = 0; i < G_N_ELEMENTS (self->ongoing_gates); i++) { if (self->ongoing_queued[i] < slot_queued) { slot_queued = self->ongoing_queued[i]; slot_index = i; } } self->ongoing_queued[slot_index]++; g_clear_pointer (&locker, g_mutex_locker_free); BZ_BEGIN_GUARD_WITH_CONTEXT (&slot_guard, &self->ongoing_mutexes[slot_index], &self->ongoing_gates[slot_index]); locker = g_mutex_locker_new (&self->ongoing_queueing_mutex); self->ongoing_queued[slot_index]--; g_clear_pointer (&locker, g_mutex_locker_free); dex_await (dex_ref (self->init), NULL); BZ_BEGIN_GUARD_WITH_CONTEXT (&other_guard, &self->writing_mutex, &self->writing_gate); { writing_future = g_hash_table_lookup (self->writing_hash, unique_id_checksum); if (writing_future != NULL) return dex_future_new_reject ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_CACHE_FAILED, "Entry with unique ID '%s' is already being cached right now", unique_id_checksum); promise = dex_promise_new (); g_hash_table_replace (self->writing_hash, g_strdup (unique_id_checksum), dex_ref (promise)); } bz_clear_guard (&other_guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&other_guard, &self->alive_mutex, &self->alive_gate); { living = g_hash_table_lookup (self->alive_hash, unique_id_checksum); if (living != NULL) living_entry_data_ref (living); else { living = living_entry_data_new (); g_weak_ref_init (&living->wr, NULL); g_mutex_init (&living->mutex); living->cached = g_timer_new (); g_hash_table_replace (self->alive_hash, g_strdup (unique_id_checksum), living_entry_data_ref (living)); } } bz_clear_guard (&other_guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&other_guard, &living->mutex, &living->gate); { builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT); bz_serializable_serialize (BZ_SERIALIZABLE (entry), builder); variant = g_variant_builder_end (builder); bytes = g_variant_get_data_as_bytes (variant); bytes_data = g_bytes_get_data (bytes, &bytes_size); main_cache = bz_dup_module_dir (); parent_file = g_file_new_for_path (main_cache); result = g_file_make_directory_with_parents (parent_file, NULL, &local_error); if (!result) { if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_EXISTS)) g_clear_pointer (&local_error, g_error_free); else { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_CACHE_FAILED, "Failed to make parent directory '%s' when caching '%s': %s", main_cache, unique_id_checksum, local_error->message); goto done; } } save_file_path = g_build_filename (main_cache, unique_id_checksum, NULL); save_file = g_file_new_for_path (save_file_path); result = g_file_get_contents ( save_file_path, &existing_contents, &existing_contents_size, NULL); /* Only write if the file has definitely changed */ if (!result || existing_contents_size != bytes_size || memcmp (existing_contents, bytes_data, bytes_size) != 0) { output = g_file_replace ( save_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error); if (output == NULL) { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_CACHE_FAILED, "Failed to open write stream when caching '%s': %s", unique_id_checksum, local_error->message); goto done; } bytes_written = g_output_stream_write_bytes (G_OUTPUT_STREAM (output), bytes, NULL, &local_error); if (bytes_written < 0) { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_CACHE_FAILED, "Failed to write data to stream when caching '%s': %s", unique_id_checksum, local_error->message); goto done; } result = g_output_stream_close (G_OUTPUT_STREAM (output), NULL, &local_error); if (!result) { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_CACHE_FAILED, "Failed to close stream when caching '%s': %s", unique_id_checksum, local_error->message); goto done; } } g_timer_start (living->cached); } done: bz_clear_guard (&slot_guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&other_guard, &self->writing_mutex, &self->writing_gate); { if (ret_error != NULL) dex_promise_reject (promise, g_error_copy (ret_error)); else dex_promise_resolve_boolean (promise, TRUE); g_hash_table_remove (self->writing_hash, unique_id_checksum); } bz_clear_guard (&other_guard); if (ret_error != NULL) return dex_future_new_for_error (g_steal_pointer (&ret_error)); else return dex_future_new_true (); } static DexFuture * read_task_fiber (ReadTaskData *data) { g_autoptr (BzEntryCacheManager) self = NULL; char *unique_id_checksum = data->unique_id_checksum; g_autoptr (GError) local_error = NULL; g_autoptr (BzGuard) guard = NULL; g_autoptr (GMutexLocker) locker = NULL; g_autoptr (DexFuture) writing_future = NULL; g_autoptr (LivingEntryData) living = NULL; DexFuture *reading_future = NULL; g_autoptr (DexPromise) promise = NULL; g_autofree char *main_cache = NULL; g_autofree char *path = NULL; g_autoptr (GFile) file = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (BzFlatpakEntry) entry = NULL; gboolean result = FALSE; g_autoptr (GError) ret_error = NULL; bz_weak_get_or_return_reject (self, data->self); dex_await (dex_ref (self->init), NULL); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->writing_mutex, &self->writing_gate); { writing_future = g_hash_table_lookup (self->writing_hash, unique_id_checksum); if (writing_future != NULL) { dex_ref (writing_future); bz_clear_guard (&guard); dex_await (g_steal_pointer (&writing_future), NULL); } } bz_clear_guard (&guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->reading_mutex, &self->reading_gate); { reading_future = g_hash_table_lookup (self->reading_hash, unique_id_checksum); if (reading_future != NULL) return dex_ref (reading_future); promise = dex_promise_new (); g_hash_table_replace (self->reading_hash, g_strdup (unique_id_checksum), dex_ref (promise)); } bz_clear_guard (&guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->alive_mutex, &self->alive_gate); { living = g_hash_table_lookup (self->alive_hash, unique_id_checksum); if (living != NULL) { g_autoptr (BzEntry) living_entry = NULL; living_entry_data_ref (living); bz_clear_guard (&guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &living->mutex, &living->gate); living_entry = g_weak_ref_get (&living->wr); if (living_entry != NULL) { bz_clear_guard (&guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->reading_mutex, &self->reading_gate); { g_hash_table_remove (self->reading_hash, unique_id_checksum); } bz_clear_guard (&guard); dex_promise_resolve_object (promise, g_object_ref (living_entry)); return dex_future_new_for_object (living_entry); } } else { living = living_entry_data_new (); g_weak_ref_init (&living->wr, NULL); g_mutex_init (&living->mutex); living->cached = g_timer_new (); g_hash_table_replace (self->alive_hash, g_strdup (unique_id_checksum), living_entry_data_ref (living)); bz_clear_guard (&guard); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &living->mutex, &living->gate); } } /* living data was guarded */ main_cache = bz_dup_module_dir (); path = g_build_filename (main_cache, unique_id_checksum, NULL); file = g_file_new_for_path (path); bytes = g_file_load_bytes (file, NULL, NULL, &local_error); if (bytes == NULL) { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_DECACHE_FAILED, "Failed to de-cache variant from file: %s", local_error->message); goto done; } variant = g_variant_new_from_bytes (G_VARIANT_TYPE_VARDICT, bytes, FALSE); if (variant == NULL) { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_DECACHE_FAILED, "Failed to interpret variant from %s: %s", path, local_error->message); goto done; } entry = g_object_new (BZ_TYPE_FLATPAK_ENTRY, NULL); result = bz_serializable_deserialize (BZ_SERIALIZABLE (entry), variant, &local_error); if (!result) { ret_error = g_error_new ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_DECACHE_FAILED, "Failed to deserialize entry from %s: %s", path, local_error->message); goto done; } g_weak_ref_init (&living->wr, entry); done: BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->reading_mutex, &self->reading_gate); { if (ret_error != NULL) dex_promise_reject (promise, g_error_copy (ret_error)); else dex_promise_resolve_object (promise, g_object_ref (entry)); g_hash_table_remove (self->reading_hash, unique_id_checksum); } bz_clear_guard (&guard); if (ret_error != NULL) return dex_future_new_for_error (g_steal_pointer (&ret_error)); else return dex_future_new_for_object (entry); } static DexFuture * enumerate_disk_fiber (GWeakRef *wr) { g_autoptr (BzEntryCacheManager) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (BzGuard) guard = NULL; g_autoptr (GHashTable) set = NULL; g_autofree char *main_cache = NULL; g_autoptr (GFile) main_cache_file = NULL; g_autoptr (GFileEnumerator) enumerator = NULL; bz_weak_get_or_return_reject (self, wr); set = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->alive_mutex, &self->alive_gate); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->reading_mutex, &self->reading_gate); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard, &self->writing_mutex, &self->writing_gate); main_cache = bz_dup_module_dir (); if (!g_file_test (main_cache, G_FILE_TEST_EXISTS)) goto done; main_cache_file = g_file_new_for_path (main_cache); enumerator = g_file_enumerate_children ( main_cache_file, G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "," G_FILE_ATTRIBUTE_STANDARD_NAME "," G_FILE_ATTRIBUTE_STANDARD_TYPE, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &local_error); if (enumerator == NULL) return dex_future_new_reject ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_ENUMERATE_FAILED, "Could not initialize directory enumerator at %s: %s", main_cache, local_error->message); for (;;) { g_autoptr (GFileInfo) info = NULL; g_autoptr (GFile) child = NULL; g_autofree char *basename = NULL; info = g_file_enumerator_next_file (enumerator, NULL, &local_error); if (info == NULL) { if (local_error != NULL) return dex_future_new_reject ( BZ_ENTRY_CACHE_ERROR, BZ_ENTRY_CACHE_ERROR_ENUMERATE_FAILED, "Could not enumerate children of cache directory at %s: %s", main_cache, local_error->message); else break; } child = g_file_enumerator_get_child (enumerator, info); if (g_file_info_get_is_symlink (info) || g_file_info_get_file_type (info) != G_FILE_TYPE_REGULAR) continue; basename = g_file_get_basename (child); if (basename != NULL) g_hash_table_replace (set, g_steal_pointer (&basename), NULL); } done: return dex_future_new_take_boxed (G_TYPE_HASH_TABLE, g_steal_pointer (&set)); } static DexFuture * watch_init_fiber (GWeakRef *wr) { g_autoptr (BzEntryCacheManager) self = NULL; bz_weak_get_or_return_reject (self, wr); // bz_discard_module_dir (); dex_promise_resolve_boolean (self->init, TRUE); return dex_future_finally_loop ( dex_timeout_new_msec (WATCH_CLEANUP_INTERVAL_MSEC), (DexFutureCallback) watch_cb, bz_track_weak (self), bz_weak_release); } static DexFuture * watch_cb (DexFuture *future, GWeakRef *wr) { g_autoptr (BzEntryCacheManager) self = NULL; bz_weak_get_or_return_reject (self, wr); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) watch_work_fiber, bz_track_weak (self), bz_weak_release); } static DexFuture * watch_work_fiber (GWeakRef *wr) { g_autoptr (BzEntryCacheManager) self = NULL; g_autoptr (BzGuard) guard0 = NULL; GHashTableIter iter = { 0 }; g_autoptr (GTimer) timer = NULL; guint total = 0; guint active = 0; guint alive = 0; guint pruned = 0; bz_weak_get_or_return_reject (self, wr); timer = g_timer_new (); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard0, &self->alive_mutex, &self->alive_gate); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard0, &self->reading_mutex, &self->reading_gate); BZ_BEGIN_GUARD_WITH_CONTEXT (&guard0, &self->writing_mutex, &self->writing_gate); g_hash_table_iter_init (&iter, self->alive_hash); for (;;) { char *unique_id_checksum = NULL; LivingEntryData *living = NULL; g_autoptr (BzGuard) guard1 = NULL; g_autoptr (BzEntry) entry = NULL; if (!g_hash_table_iter_next (&iter, (gpointer *) &unique_id_checksum, (gpointer *) &living)) break; total++; if (g_hash_table_contains (self->reading_hash, unique_id_checksum) || g_hash_table_contains (self->writing_hash, unique_id_checksum)) { active++; continue; } BZ_BEGIN_GUARD_WITH_CONTEXT (&guard1, &living->mutex, &living->gate); entry = g_weak_ref_get (&living->wr); if (entry != NULL) alive++; else { bz_clear_guard (&guard1); g_hash_table_iter_remove (&iter); pruned++; } } bz_clear_guard (&guard0); #ifdef __GLIBC__ malloc_trim (0); #endif g_debug ("Sweep report: finished in %.4f seconds, including time to acquire guards\n" " Out of a total of %d entries considered:\n" " %d were skipped due to active tasks being associated with them\n" " %d application entries were otherwise kept alive\n" " %d entries were forgotten by the application and were pruned\n" " Another sweep will take place in %d msec", g_timer_elapsed (timer, NULL), total, active, alive, pruned, WATCH_CLEANUP_INTERVAL_MSEC); g_mutex_lock (&self->mutex); self->living_entries = active + alive; g_mutex_unlock (&self->mutex); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) notify_props_fiber, bz_track_weak (self), bz_weak_release)); return dex_timeout_new_msec (WATCH_CLEANUP_INTERVAL_MSEC); } static DexFuture * notify_props_fiber (GWeakRef *wr) { g_autoptr (BzEntryCacheManager) self = NULL; bz_weak_get_or_return_reject (self, wr); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LIVING_ENTRIES]); return dex_future_new_true (); } /* End of bz-entry-cache-manager.c */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-cache-manager.h����������������������������������������������0000664�0000000�0000000�00000003650�15234476640�0022455�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-cache-manager.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> #include "bz-entry.h" G_BEGIN_DECLS #define BZ_ENTRY_CACHE_ERROR (bz_entry_cache_error_quark ()) GQuark bz_entry_cache_error_quark (void); typedef enum { BZ_ENTRY_CACHE_ERROR_CACHE_FAILED = 0, BZ_ENTRY_CACHE_ERROR_DECACHE_FAILED, BZ_ENTRY_CACHE_ERROR_ENUMERATE_FAILED, } BzEntry_CacheError; #define BZ_TYPE_ENTRY_CACHE_MANAGER (bz_entry_cache_manager_get_type ()) G_DECLARE_FINAL_TYPE (BzEntryCacheManager, bz_entry_cache_manager, BZ, ENTRY_CACHE_MANAGER, GObject) BzEntryCacheManager * bz_entry_cache_manager_new (void); guint bz_entry_cache_manager_get_living_entries (BzEntryCacheManager *self); DexFuture * bz_entry_cache_manager_add (BzEntryCacheManager *self, BzEntry *entry); DexFuture * bz_entry_cache_manager_get (BzEntryCacheManager *self, const char *unique_id); DexFuture * bz_entry_cache_manager_get_by_checksum (BzEntryCacheManager *self, const char *unique_id_checksum); DexFuture * bz_entry_cache_manager_enumerate_disk (BzEntryCacheManager *self); G_END_DECLS /* End of bz-entry-cache-manager.h */ ����������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-group-util.c�������������������������������������������������0000664�0000000�0000000�00000010034�15234476640�0022076�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-group-util.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <adwaita.h> #include <glib/gi18n.h> #include "bz-entry-group-util.h" #include "error.h" BzEntry * bz_entry_group_find_entry (BzEntryGroup *group, gboolean (*test) (BzEntry *entry), GtkWidget *window, GError **error) { g_autoptr (GListModel) model = NULL; guint n_items = 0; g_autoptr (GPtrArray) candidates = NULL; g_return_val_if_fail (BZ_IS_ENTRY_GROUP (group), NULL); model = dex_await_object (bz_entry_group_dup_all_into_store (group), error); if (model == NULL) return NULL; n_items = g_list_model_get_n_items (model); candidates = g_ptr_array_new_with_free_func (g_object_unref); for (guint i = 0; i < n_items; i++) { g_autoptr (BzEntry) entry = NULL; entry = g_list_model_get_item (model, i); if (bz_entry_is_installed (entry) && (test == NULL || test (entry))) g_ptr_array_add (candidates, g_steal_pointer (&entry)); } if (candidates->len == 0) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, "BUG: No entry candidates satisfied this test condition"); return NULL; } else if (candidates->len == 1) return g_ptr_array_steal_index_fast (candidates, 0); else if (window != NULL) { AdwDialog *alert = NULL; g_autofree char *response = NULL; alert = adw_alert_dialog_new (NULL, NULL); adw_alert_dialog_set_prefer_wide_layout (ADW_ALERT_DIALOG (alert), TRUE); adw_alert_dialog_format_heading ( ADW_ALERT_DIALOG (alert), _ ("Choose an Installation")); adw_alert_dialog_format_body ( ADW_ALERT_DIALOG (alert), _ ("You have multiple versions of this app installed. Which " "one would you like to proceed with?")); adw_alert_dialog_add_responses ( ADW_ALERT_DIALOG (alert), "cancel", _ ("Cancel"), NULL); adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (alert), "cancel"); adw_alert_dialog_set_response_appearance ( ADW_ALERT_DIALOG (alert), "cancel", ADW_RESPONSE_DESTRUCTIVE); for (guint i = 0; i < candidates->len; i++) { BzEntry *entry = NULL; const char *unique_id = NULL; entry = g_ptr_array_index (candidates, i); unique_id = bz_entry_get_unique_id (entry); adw_alert_dialog_add_responses ( ADW_ALERT_DIALOG (alert), unique_id, unique_id, NULL); if (i == 0) adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (alert), unique_id); } adw_dialog_present (alert, GTK_WIDGET (window)); response = dex_await_string ( bz_make_alert_dialog_future (ADW_ALERT_DIALOG (alert)), NULL); if (response != NULL) { for (guint i = 0; i < candidates->len; i++) { BzEntry *entry = NULL; const char *unique_id = NULL; entry = g_ptr_array_index (candidates, i); unique_id = bz_entry_get_unique_id (entry); if (g_strcmp0 (unique_id, response) == 0) return g_object_ref (entry); } } } return NULL; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-group-util.h�������������������������������������������������0000664�0000000�0000000�00000002123�15234476640�0022103�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-group-util.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-entry.h" #include <gtk/gtk.h> G_BEGIN_DECLS BzEntry * bz_entry_group_find_entry (BzEntryGroup *group, gboolean (*test) (BzEntry *entry), GtkWidget *window, GError **error); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-group.c������������������������������������������������������0000664�0000000�0000000�00000166237�15234476640�0021144�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-group.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::ENTRY-GROUP" #define BAZAAR_MODULE "entry-group" #include "bz-entry-group.h" #include "env.h" #include "io.h" #include "bz-size-result.h" #include "util.h" typedef enum { ENTRY_INSTALLABLE = 1 << 0, ENTRY_INSTALLABLE_AVAILABLE = 1 << 1, ENTRY_UPDATABLE = 1 << 2, ENTRY_UPDATABLE_AVAILABLE = 1 << 3, ENTRY_REMOVABLE = 1 << 4, ENTRY_REMOVABLE_AVAILABLE = 1 << 5, } EntryStateFlags; struct _BzEntryGroup { GObject parent_instance; BzApplicationMapFactory *factory; GtkStringList *unique_ids; GtkStringList *installed_versions; GArray *state_flags; char *id; char *title; char *developer; char *description; GIcon *mini_icon; gboolean is_floss; char *light_accent_color; char *dark_accent_color; gboolean is_flathub; gboolean is_verified; char *search_tokens; char *eol; guint64 installed_size; GtkStringList *addon_group_ids; int n_addons; char *donation_url; BzCategoryFlags categories; int content_age_rating; int max_usefulness; int installable; int updatable; int removable; int installable_available; int updatable_available; int removable_available; gboolean read_only; gboolean searchable; gboolean is_addon; guint64 user_data_size; guint64 cache_size; DexFuture *user_data_size_future; DexFuture *reap_user_data_future; DexFuture *reap_cache_future; GWeakRef ui_entry; BzResult *standalone_ui_entry; GMutex mutex; }; G_DEFINE_FINAL_TYPE (BzEntryGroup, bz_entry_group, G_TYPE_OBJECT) enum { PROP_0, PROP_MODEL, PROP_ADDONS_MODEL, PROP_INSTALLED_VERSIONS, PROP_ID, PROP_TITLE, PROP_DEVELOPER, PROP_DESCRIPTION, PROP_MINI_ICON, PROP_IS_FLOSS, PROP_LIGHT_ACCENT_COLOR, PROP_DARK_ACCENT_COLOR, PROP_IS_FLATHUB, PROP_IS_VERIFIED, PROP_SEARCH_TOKENS, PROP_UI_ENTRY, PROP_EOL, PROP_INSTALLED_SIZE, PROP_N_ADDONS, PROP_DONATION_URL, PROP_CATEGORIES, PROP_INSTALLABLE, PROP_UPDATABLE, PROP_REMOVABLE, PROP_INSTALLABLE_AND_AVAILABLE, PROP_UPDATABLE_AND_AVAILABLE, PROP_REMOVABLE_AND_AVAILABLE, PROP_USER_DATA_SIZE, PROP_CACHE_SIZE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void installed_changed (BzEntryGroup *self, GParamSpec *pspec, BzEntry *entry); static void holding_changed (BzEntryGroup *self, GParamSpec *pspec, BzEntry *entry); static DexFuture * dup_all_into_store_fiber (BzEntryGroup *self); static DexFuture * user_data_size_then (DexFuture *future, GWeakRef *wr); static void check_user_data_size (BzEntryGroup *self); static void bz_entry_group_dispose (GObject *object) { BzEntryGroup *self = BZ_ENTRY_GROUP (object); dex_clear (&self->user_data_size_future); dex_clear (&self->reap_user_data_future); dex_clear (&self->reap_cache_future); g_clear_object (&self->factory); g_clear_object (&self->unique_ids); g_clear_object (&self->installed_versions); g_clear_pointer (&self->state_flags, g_array_unref); g_clear_pointer (&self->id, g_free); g_clear_pointer (&self->title, g_free); g_clear_pointer (&self->developer, g_free); g_clear_pointer (&self->description, g_free); g_clear_pointer (&self->light_accent_color, g_free); g_clear_pointer (&self->dark_accent_color, g_free); g_clear_object (&self->mini_icon); g_clear_pointer (&self->search_tokens, g_free); g_clear_pointer (&self->eol, g_free); g_clear_pointer (&self->donation_url, g_free); g_weak_ref_clear (&self->ui_entry); g_clear_object (&self->standalone_ui_entry); g_mutex_clear (&self->mutex); G_OBJECT_CLASS (bz_entry_group_parent_class)->dispose (object); } static void bz_entry_group_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzEntryGroup *self = BZ_ENTRY_GROUP (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, bz_entry_group_get_model (self)); break; case PROP_ADDONS_MODEL: g_value_set_object (value, bz_entry_group_get_addon_group_ids (self)); break; case PROP_INSTALLED_VERSIONS: g_value_set_object (value, bz_entry_group_get_installed_versions (self)); break; case PROP_ID: g_value_set_string (value, bz_entry_group_get_id (self)); break; case PROP_TITLE: g_value_set_string (value, bz_entry_group_get_title (self)); break; case PROP_DEVELOPER: g_value_set_string (value, bz_entry_group_get_developer (self)); break; case PROP_DESCRIPTION: g_value_set_string (value, bz_entry_group_get_description (self)); break; case PROP_MINI_ICON: g_value_set_object (value, bz_entry_group_get_mini_icon (self)); break; case PROP_IS_FLOSS: g_value_set_boolean (value, bz_entry_group_get_is_floss (self)); break; case PROP_LIGHT_ACCENT_COLOR: g_value_set_string (value, bz_entry_group_get_light_accent_color (self)); break; case PROP_DARK_ACCENT_COLOR: g_value_set_string (value, bz_entry_group_get_dark_accent_color (self)); break; case PROP_IS_FLATHUB: g_value_set_boolean (value, bz_entry_group_get_is_flathub (self)); break; case PROP_IS_VERIFIED: g_value_set_boolean (value, bz_entry_group_get_is_verified (self)); break; case PROP_SEARCH_TOKENS: g_value_set_boxed (value, bz_entry_group_get_search_tokens (self)); break; case PROP_EOL: g_value_set_string (value, bz_entry_group_get_eol (self)); break; case PROP_INSTALLED_SIZE: g_value_set_uint64 (value, bz_entry_group_get_installed_size (self)); break; case PROP_N_ADDONS: g_value_set_int (value, bz_entry_group_get_n_addons (self)); break; case PROP_DONATION_URL: g_value_set_string (value, bz_entry_group_get_donation_url (self)); break; case PROP_CATEGORIES: g_value_set_uint (value, self->categories); break; case PROP_UI_ENTRY: g_value_take_object (value, bz_entry_group_dup_ui_entry (self)); break; case PROP_INSTALLABLE: g_value_set_int (value, bz_entry_group_get_installable (self)); break; case PROP_UPDATABLE: g_value_set_int (value, bz_entry_group_get_updatable (self)); break; case PROP_REMOVABLE: g_value_set_int (value, bz_entry_group_get_removable (self)); break; case PROP_INSTALLABLE_AND_AVAILABLE: g_value_set_int (value, bz_entry_group_get_installable_and_available (self)); break; case PROP_UPDATABLE_AND_AVAILABLE: g_value_set_int (value, bz_entry_group_get_updatable_and_available (self)); break; case PROP_REMOVABLE_AND_AVAILABLE: g_value_set_int (value, bz_entry_group_get_removable_and_available (self)); break; case PROP_USER_DATA_SIZE: g_value_set_uint64 (value, bz_entry_group_get_user_data_size (self)); break; case PROP_CACHE_SIZE: g_value_set_uint64 (value, bz_entry_group_get_cache_size (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_group_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { // BzEntryGroup *self = BZ_ENTRY_GROUP (object); switch (prop_id) { case PROP_MODEL: case PROP_ADDONS_MODEL: case PROP_ID: case PROP_TITLE: case PROP_DEVELOPER: case PROP_DESCRIPTION: case PROP_MINI_ICON: case PROP_IS_FLOSS: case PROP_LIGHT_ACCENT_COLOR: case PROP_DARK_ACCENT_COLOR: case PROP_IS_FLATHUB: case PROP_IS_VERIFIED: case PROP_SEARCH_TOKENS: case PROP_EOL: case PROP_UI_ENTRY: case PROP_INSTALLABLE: case PROP_UPDATABLE: case PROP_REMOVABLE: case PROP_INSTALLABLE_AND_AVAILABLE: case PROP_UPDATABLE_AND_AVAILABLE: case PROP_REMOVABLE_AND_AVAILABLE: case PROP_USER_DATA_SIZE: case PROP_CACHE_SIZE: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_group_class_init (BzEntryGroupClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_entry_group_set_property; object_class->get_property = bz_entry_group_get_property; object_class->dispose = bz_entry_group_dispose; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE); props[PROP_ADDONS_MODEL] = g_param_spec_object ( "addons-model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE); props[PROP_INSTALLED_VERSIONS] = g_param_spec_object ( "installed-versions", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE); props[PROP_ID] = g_param_spec_string ( "id", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_TITLE] = g_param_spec_string ( "title", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_DEVELOPER] = g_param_spec_string ( "developer", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_DESCRIPTION] = g_param_spec_string ( "description", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_MINI_ICON] = g_param_spec_object ( "mini-icon", NULL, NULL, G_TYPE_ICON, G_PARAM_READABLE); props[PROP_IS_FLOSS] = g_param_spec_boolean ( "is-floss", NULL, NULL, FALSE, G_PARAM_READABLE); props[PROP_LIGHT_ACCENT_COLOR] = g_param_spec_string ( "light-accent-color", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_DARK_ACCENT_COLOR] = g_param_spec_string ( "dark-accent-color", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_IS_FLATHUB] = g_param_spec_boolean ( "is-flathub", NULL, NULL, FALSE, G_PARAM_READABLE); props[PROP_IS_VERIFIED] = g_param_spec_boolean ( "is-verified", NULL, NULL, FALSE, G_PARAM_READABLE); props[PROP_SEARCH_TOKENS] = g_param_spec_string ( "search-tokens", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_EOL] = g_param_spec_string ( "eol", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_INSTALLED_SIZE] = g_param_spec_uint64 ( "installed-size", NULL, NULL, 0, G_MAXUINT64, 0, G_PARAM_READABLE); props[PROP_N_ADDONS] = g_param_spec_int ( "n-addons", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_DONATION_URL] = g_param_spec_string ( "donation-url", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_CATEGORIES] = g_param_spec_uint ( "categories", NULL, NULL, 0, G_MAXUINT, BZ_CATEGORY_FLAGS_NONE, G_PARAM_READABLE); props[PROP_UI_ENTRY] = g_param_spec_object ( "ui-entry", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READABLE); props[PROP_INSTALLABLE] = g_param_spec_int ( "installable", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_UPDATABLE] = g_param_spec_int ( "updatable", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_REMOVABLE] = g_param_spec_int ( "removable", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_INSTALLABLE_AND_AVAILABLE] = g_param_spec_int ( "installable-and-available", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_UPDATABLE_AND_AVAILABLE] = g_param_spec_int ( "updatable-and-available", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_REMOVABLE_AND_AVAILABLE] = g_param_spec_int ( "removable-and-available", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READABLE); props[PROP_USER_DATA_SIZE] = g_param_spec_uint64 ( "user-data-size", NULL, NULL, 0, G_MAXUINT64, 0, G_PARAM_READABLE); props[PROP_CACHE_SIZE] = g_param_spec_uint64 ( "cache-size", NULL, NULL, 0, G_MAXUINT64, 0, G_PARAM_READABLE); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_entry_group_init (BzEntryGroup *self) { self->unique_ids = gtk_string_list_new (NULL); self->installed_versions = gtk_string_list_new (NULL); self->state_flags = g_array_new (FALSE, TRUE, sizeof (gint32)); self->max_usefulness = -1; g_weak_ref_init (&self->ui_entry, NULL); self->standalone_ui_entry = NULL; g_mutex_init (&self->mutex); } BzEntryGroup * bz_entry_group_new (BzApplicationMapFactory *factory) { BzEntryGroup *group = NULL; g_return_val_if_fail (BZ_IS_APPLICATION_MAP_FACTORY (factory), NULL); group = g_object_new (BZ_TYPE_ENTRY_GROUP, NULL); group->factory = g_object_ref (factory); return group; } BzEntryGroup * bz_entry_group_new_for_single_entry (BzEntry *entry) { BzEntryGroup *group = NULL; const char *id = NULL; const char *unique_id = NULL; const char *title = NULL; const char *developer = NULL; const char *description = NULL; GIcon *mini_icon = NULL; const char *search_tokens = NULL; gboolean is_floss = FALSE; const char *light_accent_color = NULL; const char *dark_accent_color = NULL; gboolean is_flathub = FALSE; gboolean is_verified = FALSE; const char *eol = NULL; guint64 installed_size = 0; const char *donation_url = NULL; BzCategoryFlags entry_categories = BZ_CATEGORY_FLAGS_NONE; DexFuture *future = NULL; g_return_val_if_fail (BZ_IS_ENTRY (entry), NULL); group = g_object_new (BZ_TYPE_ENTRY_GROUP, NULL); id = bz_entry_get_id (entry); unique_id = bz_entry_get_unique_id (entry); title = bz_entry_get_title (entry); developer = bz_entry_get_developer (entry); description = bz_entry_get_description (entry); mini_icon = bz_entry_get_mini_icon (entry); search_tokens = bz_entry_get_search_tokens (entry); is_floss = bz_entry_get_is_foss (entry); light_accent_color = bz_entry_get_light_accent_color (entry); dark_accent_color = bz_entry_get_dark_accent_color (entry); is_flathub = bz_entry_get_is_flathub (entry); is_verified = bz_entry_is_verified (entry); eol = bz_entry_get_eol (entry); installed_size = bz_entry_get_installed_size (entry); donation_url = bz_entry_get_donation_url (entry); entry_categories = bz_entry_get_category_flags (entry); if (id != NULL) group->id = g_strdup (id); if (title != NULL) group->title = g_strdup (title); if (developer != NULL) group->developer = g_strdup (developer); if (description != NULL) group->description = g_strdup (description); if (mini_icon != NULL) group->mini_icon = g_object_ref (mini_icon); if (search_tokens != NULL) group->search_tokens = g_strdup (search_tokens); group->is_floss = is_floss; if (light_accent_color != NULL) group->light_accent_color = g_strdup (light_accent_color); if (dark_accent_color != NULL) group->dark_accent_color = g_strdup (dark_accent_color); group->is_flathub = is_flathub; group->is_verified = is_verified; if (eol != NULL) group->eol = g_strdup (eol); group->installed_size = installed_size; if (donation_url != NULL) group->donation_url = g_strdup (donation_url); group->categories = entry_categories; if (unique_id != NULL) gtk_string_list_append (group->unique_ids, unique_id); future = dex_future_new_for_object (entry); group->standalone_ui_entry = bz_result_new (future); dex_unref (future); return group; } BzEntryGroup * bz_entry_group_new_manual (const char *id, const char *title, const char *subtitle) { BzEntryGroup *group = g_object_new (BZ_TYPE_ENTRY_GROUP, NULL); if (id != NULL) group->id = g_strdup (id); if (title != NULL) group->title = g_strdup (title); if (subtitle != NULL) group->description = g_strdup (subtitle); return group; } GMutexLocker * bz_entry_group_lock (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return g_mutex_locker_new (&self->mutex); } GListModel * bz_entry_group_get_model (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return G_LIST_MODEL (self->unique_ids); } GListModel * bz_entry_group_get_installed_versions (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return G_LIST_MODEL (self->installed_versions); } const char * bz_entry_group_get_id (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->id; } const char * bz_entry_group_get_title (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->title; } const char * bz_entry_group_get_developer (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->developer; } const char * bz_entry_group_get_description (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->description; } GIcon * bz_entry_group_get_mini_icon (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->mini_icon; } gboolean bz_entry_group_get_is_floss (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); return self->is_floss; } const char * bz_entry_group_get_light_accent_color (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->light_accent_color; } const char * bz_entry_group_get_dark_accent_color (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->dark_accent_color; } gboolean bz_entry_group_get_is_flathub (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); return self->is_flathub; } gboolean bz_entry_group_get_is_verified (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); return self->is_verified; } gboolean bz_entry_group_get_is_mobile_friendly (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); return (self->categories & BZ_CATEGORY_FLAGS_MOBILE) != 0; } const char * bz_entry_group_get_search_tokens (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->search_tokens; } const char * bz_entry_group_get_eol (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->eol; } guint64 bz_entry_group_get_installed_size (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->installed_size; } GListModel * bz_entry_group_get_addon_group_ids (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); if (self->addon_group_ids == NULL) return NULL; return G_LIST_MODEL (self->addon_group_ids); } void bz_entry_group_append_addon_group_id (BzEntryGroup *self, const char *id) { g_return_if_fail (BZ_IS_ENTRY_GROUP (self)); g_return_if_fail (id != NULL); if (self->addon_group_ids == NULL) self->addon_group_ids = gtk_string_list_new (NULL); if (gtk_string_list_find (self->addon_group_ids, id) != G_MAXUINT) return; gtk_string_list_append (self->addon_group_ids, id); } int bz_entry_group_get_n_addons (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->n_addons; } const char * bz_entry_group_get_donation_url (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); return self->donation_url; } gboolean bz_entry_group_has_category (BzEntryGroup *self, const char *name) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); return bz_category_flags_has_name (self->categories, name); } BzCategoryFlags bz_entry_group_get_categories (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), BZ_CATEGORY_FLAGS_NONE); return self->categories; } int bz_entry_group_get_content_age_rating (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->content_age_rating; } guint64 bz_entry_group_get_user_data_size (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); check_user_data_size (self); return self->user_data_size; } guint64 bz_entry_group_get_cache_size (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); check_user_data_size (self); return self->cache_size; } BzResult * bz_entry_group_dup_ui_entry (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); if (self->standalone_ui_entry != NULL) return g_object_ref (self->standalone_ui_entry); if (g_list_model_get_n_items (G_LIST_MODEL (self->unique_ids)) > 0) { g_autoptr (BzResult) result = NULL; result = g_weak_ref_get (&self->ui_entry); if (result == NULL) { g_autoptr (GtkStringObject) id = NULL; id = g_list_model_get_item (G_LIST_MODEL (self->unique_ids), 0); result = bz_application_map_factory_convert_one (self->factory, g_steal_pointer (&id)); if (result == NULL) return NULL; g_weak_ref_set (&self->ui_entry, result); } return g_steal_pointer (&result); } else return NULL; } char * bz_entry_group_dup_ui_entry_id (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); if (g_list_model_get_n_items (G_LIST_MODEL (self->unique_ids)) > 0) { g_autoptr (GtkStringObject) id = NULL; id = g_list_model_get_item (G_LIST_MODEL (self->unique_ids), 0); return g_strdup (gtk_string_object_get_string (id)); } else return NULL; } int bz_entry_group_get_installable (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); if (self->read_only) return 0; return self->installable; } int bz_entry_group_get_updatable (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->updatable; } int bz_entry_group_get_removable (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); if (self->read_only) return 0; return self->removable; } int bz_entry_group_get_installable_and_available (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->installable_available; } int bz_entry_group_get_updatable_and_available (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->updatable_available; } int bz_entry_group_get_removable_and_available (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), 0); return self->removable_available; } gboolean bz_entry_group_is_searchable (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), TRUE); return self->searchable; } gboolean bz_entry_group_is_addon (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); return self->is_addon; } void bz_entry_group_add (BzEntryGroup *self, BzEntry *entry, BzEntry *runtime, gboolean ignore_eol) { g_autoptr (GMutexLocker) locker = NULL; const char *unique_id = NULL; const char *installed_version = NULL; gint usefulness = 0; const char *eol = NULL; const char *title = NULL; const char *developer = NULL; const char *description = NULL; GIcon *mini_icon = NULL; const char *search_tokens = NULL; gboolean is_floss = FALSE; const char *light_accent_color = NULL; const char *dark_accent_color = NULL; gboolean is_flathub = FALSE; gboolean is_verified = FALSE; guint64 installed_size = 0; GListModel *addons = NULL; int n_addons = 0; const char *donation_url = NULL; BzCategoryFlags entry_categories = BZ_CATEGORY_FLAGS_NONE; guint existing = 0; gboolean is_searchable = FALSE; AsContentRating *content_rating = NULL; gboolean is_addon = FALSE; gint32 state_flags = 0; g_return_if_fail (BZ_IS_ENTRY_GROUP (self)); g_return_if_fail (BZ_IS_ENTRY (entry)); g_return_if_fail (runtime == NULL || BZ_IS_ENTRY (runtime)); locker = g_mutex_locker_new (&self->mutex); is_addon = bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_ADDON); if (is_addon) self->is_addon = TRUE; if (self->id == NULL) { self->id = g_strdup (bz_entry_get_id (entry)); self->read_only = g_strcmp0 (self->id, g_application_get_application_id (g_application_get_default ())) == 0; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ID]); } unique_id = bz_entry_get_unique_id (entry); installed_version = bz_entry_get_installed_version (entry); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLED_VERSIONS]); if (!ignore_eol) { eol = bz_entry_get_eol (entry); if (eol == NULL && runtime != NULL) eol = bz_entry_get_eol (runtime); if (eol != NULL) { g_clear_pointer (&self->eol, g_free); self->eol = g_strdup (eol); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_EOL]); } } title = bz_entry_get_title (entry); description = bz_entry_get_description (entry); installed_size = bz_entry_get_installed_size (entry); is_flathub = bz_entry_get_is_flathub (entry); is_floss = bz_entry_get_is_foss (entry); if (is_addon) // You would not see any addon when the filter is on without this. is_verified = TRUE; if (!is_addon) { developer = bz_entry_get_developer (entry); mini_icon = bz_entry_get_mini_icon (entry); search_tokens = bz_entry_get_search_tokens (entry); light_accent_color = bz_entry_get_light_accent_color (entry); dark_accent_color = bz_entry_get_dark_accent_color (entry); is_verified = bz_entry_is_verified (entry); donation_url = bz_entry_get_donation_url (entry); entry_categories = bz_entry_get_category_flags (entry); content_rating = bz_entry_get_content_rating (entry); addons = bz_entry_get_addons (entry); is_searchable = bz_entry_is_searchable (entry); if (addons != NULL) n_addons = g_list_model_get_n_items (addons); } usefulness = bz_entry_calc_usefulness (entry); existing = gtk_string_list_find (self->unique_ids, unique_id); if (usefulness >= self->max_usefulness) { if (existing != G_MAXUINT) { gtk_string_list_remove (self->unique_ids, existing); gtk_string_list_remove (self->installed_versions, existing); } gtk_string_list_splice (self->unique_ids, 0, 0, (const char *const[]) { unique_id, NULL }); gtk_string_list_splice (self->installed_versions, 0, 0, (const char *const[]) { installed_version != NULL ? installed_version : "", NULL }); if (title != NULL) { g_clear_pointer (&self->title, g_free); self->title = g_strdup (title); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); } if (description != NULL) { g_clear_pointer (&self->description, g_free); self->description = g_strdup (description); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DESCRIPTION]); } if (installed_size != self->installed_size) { self->installed_size = installed_size; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLED_SIZE]); } if (!!is_flathub != !!self->is_flathub) { self->is_flathub = is_flathub; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_IS_FLATHUB]); } if (!!is_floss != !!self->is_floss) { self->is_floss = is_floss; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_IS_FLOSS]); } if (!!is_verified != !!self->is_verified) { self->is_verified = is_verified; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_IS_VERIFIED]); } if (!is_addon) { if (developer != NULL) { g_clear_pointer (&self->developer, g_free); self->developer = g_strdup (developer); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEVELOPER]); } if (mini_icon != NULL) { g_clear_object (&self->mini_icon); self->mini_icon = g_object_ref (mini_icon); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MINI_ICON]); } if (search_tokens != NULL) { g_clear_pointer (&self->search_tokens, g_free); self->search_tokens = g_strdup (search_tokens); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SEARCH_TOKENS]); } if (light_accent_color != NULL) { g_clear_pointer (&self->light_accent_color, g_free); self->light_accent_color = g_strdup (light_accent_color); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LIGHT_ACCENT_COLOR]); } if (dark_accent_color != NULL) { g_clear_pointer (&self->dark_accent_color, g_free); self->dark_accent_color = g_strdup (dark_accent_color); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DARK_ACCENT_COLOR]); } if (n_addons != self->n_addons) { self->n_addons = n_addons; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_N_ADDONS]); } if (donation_url != NULL) { g_clear_pointer (&self->donation_url, g_free); self->donation_url = g_strdup (donation_url); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DONATION_URL]); } if (entry_categories != BZ_CATEGORY_FLAGS_NONE) { self->categories = entry_categories; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CATEGORIES]); } if (content_rating != NULL) self->content_age_rating = as_content_rating_get_minimum_age (content_rating); } self->max_usefulness = usefulness; } else { if (existing == G_MAXUINT) { gtk_string_list_append (self->unique_ids, unique_id); gtk_string_list_append (self->installed_versions, installed_version != NULL ? installed_version : ""); } if (title != NULL && self->title == NULL) { self->title = g_strdup (title); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); } if (description != NULL && self->description == NULL) { self->description = g_strdup (description); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DESCRIPTION]); } if (installed_size > 0 && self->installed_size == 0) { self->installed_size = installed_size; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLED_SIZE]); } if (!is_addon) { if (developer != NULL && self->developer == NULL) { self->developer = g_strdup (developer); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEVELOPER]); } if (mini_icon != NULL && self->mini_icon == NULL) { self->mini_icon = g_object_ref (mini_icon); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MINI_ICON]); } if (search_tokens != NULL && self->search_tokens == NULL) { self->search_tokens = g_strdup (search_tokens); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SEARCH_TOKENS]); } if (light_accent_color != NULL && self->light_accent_color == NULL) { self->light_accent_color = g_strdup (light_accent_color); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LIGHT_ACCENT_COLOR]); } if (dark_accent_color != NULL && self->dark_accent_color == NULL) { self->dark_accent_color = g_strdup (dark_accent_color); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DARK_ACCENT_COLOR]); } if (donation_url != NULL && self->donation_url == NULL) { self->donation_url = g_strdup (donation_url); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DONATION_URL]); } } } if (existing != G_MAXUINT) { gint32 previous_state_flags = 0; /* revert the old state if we are replacing */ previous_state_flags = g_array_index (self->state_flags, gint32, existing); if (previous_state_flags & ENTRY_INSTALLABLE) self->installable--; if (previous_state_flags & ENTRY_INSTALLABLE_AVAILABLE) self->installable_available--; if (previous_state_flags & ENTRY_UPDATABLE) self->updatable--; if (previous_state_flags & ENTRY_UPDATABLE_AVAILABLE) self->updatable_available--; if (previous_state_flags & ENTRY_REMOVABLE) self->removable--; if (previous_state_flags & ENTRY_REMOVABLE_AVAILABLE) self->removable_available--; } if (bz_entry_is_installed (entry)) { self->removable++; state_flags |= ENTRY_REMOVABLE; if (!bz_entry_is_holding (entry)) { self->removable_available++; state_flags |= ENTRY_REMOVABLE_AVAILABLE; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE_AND_AVAILABLE]); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE]); } else { if (bz_entry_is_reinstallable (entry)) { self->installable++; state_flags |= ENTRY_INSTALLABLE; if (!bz_entry_is_holding (entry)) { self->installable_available++; state_flags |= ENTRY_INSTALLABLE_AVAILABLE; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE_AND_AVAILABLE]); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE]); } } if (existing != G_MAXUINT) g_array_index (self->state_flags, gint32, existing) = state_flags; else g_array_append_val (self->state_flags, state_flags); if (!is_addon && is_searchable) self->searchable = TRUE; } void bz_entry_group_connect_living (BzEntryGroup *self, BzEntry *entry) { g_autoptr (GMutexLocker) locker = NULL; g_return_if_fail (BZ_IS_ENTRY_GROUP (self)); g_return_if_fail (BZ_IS_ENTRY (entry)); locker = g_mutex_locker_new (&self->mutex); g_signal_handlers_disconnect_by_func (entry, installed_changed, self); g_signal_handlers_disconnect_by_func (entry, holding_changed, self); g_signal_connect_object (entry, "notify::installed", G_CALLBACK (installed_changed), self, G_CONNECT_SWAPPED); g_signal_connect_object (entry, "notify::holding", G_CALLBACK (holding_changed), self, G_CONNECT_SWAPPED); } DexFuture * bz_entry_group_dup_all_into_store (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); /* _must_ be the main scheduler since invocations * of BzApplicationMapFactory functions expect this */ return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) dup_all_into_store_fiber, g_object_ref (self), g_object_unref); } static void installed_changed (BzEntryGroup *self, GParamSpec *pspec, BzEntry *entry) { g_autoptr (GMutexLocker) locker = NULL; gboolean reinstallable = FALSE; const char *unique_id = NULL; const char *version = NULL; guint index = 0; gint32 state_flags = 0; locker = g_mutex_locker_new (&self->mutex); reinstallable = bz_entry_is_reinstallable (entry); unique_id = bz_entry_get_unique_id (entry); version = bz_entry_get_installed_version (entry); index = gtk_string_list_find (self->unique_ids, unique_id); if (index == G_MAXUINT) return; state_flags = g_array_index (self->state_flags, gint32, index); gtk_string_list_splice (self->installed_versions, index, 1, (const char *const[]) { version != NULL ? version : "", NULL }); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLED_VERSIONS]); if (bz_entry_is_installed (entry)) { if (state_flags & ENTRY_INSTALLABLE) { self->installable--; state_flags &= ~ENTRY_INSTALLABLE; } if (!(state_flags & ENTRY_REMOVABLE)) { self->removable++; state_flags |= ENTRY_REMOVABLE; } if (!bz_entry_is_holding (entry)) { if (state_flags & ENTRY_INSTALLABLE_AVAILABLE) { self->installable_available--; state_flags &= ~ENTRY_INSTALLABLE_AVAILABLE; } if (!(state_flags & ENTRY_REMOVABLE_AVAILABLE)) { self->removable_available++; state_flags |= ENTRY_REMOVABLE_AVAILABLE; } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE_AND_AVAILABLE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE_AND_AVAILABLE]); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE]); } else { if (state_flags & ENTRY_REMOVABLE) { self->removable--; state_flags &= ~ENTRY_REMOVABLE; } if (reinstallable) { if (!(state_flags & ENTRY_INSTALLABLE)) { self->installable++; state_flags |= ENTRY_INSTALLABLE; } } if (!bz_entry_is_holding (entry)) { if (state_flags & ENTRY_REMOVABLE_AVAILABLE) { self->removable_available--; state_flags &= ~ENTRY_REMOVABLE_AVAILABLE; } if (reinstallable) { if (!(state_flags & ENTRY_INSTALLABLE_AVAILABLE)) { self->installable_available++; state_flags |= ENTRY_INSTALLABLE_AVAILABLE; } } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE_AND_AVAILABLE]); if (reinstallable) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE_AND_AVAILABLE]); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE]); if (reinstallable) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE]); } g_array_index (self->state_flags, gint32, index) = state_flags; dex_clear (&self->user_data_size_future); dex_clear (&self->reap_cache_future); self->user_data_size = 0; self->cache_size = 0; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USER_DATA_SIZE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CACHE_SIZE]); } static void holding_changed (BzEntryGroup *self, GParamSpec *pspec, BzEntry *entry) { g_autoptr (GMutexLocker) locker = NULL; gboolean reinstallable = FALSE; const char *unique_id = NULL; guint index = 0; gint32 state_flags = 0; locker = g_mutex_locker_new (&self->mutex); reinstallable = bz_entry_is_reinstallable (entry); unique_id = bz_entry_get_unique_id (entry); index = gtk_string_list_find (self->unique_ids, unique_id); if (index == G_MAXUINT) return; state_flags = g_array_index (self->state_flags, gint32, index); if (bz_entry_is_holding (entry)) { if (bz_entry_is_installed (entry)) { if (state_flags & ENTRY_REMOVABLE_AVAILABLE) { self->removable_available--; state_flags &= ~ENTRY_REMOVABLE_AVAILABLE; } } else { if (state_flags & ENTRY_INSTALLABLE_AVAILABLE) { self->installable_available--; state_flags &= ~ENTRY_INSTALLABLE_AVAILABLE; } } } else { if (bz_entry_is_installed (entry)) { if (!(state_flags & ENTRY_REMOVABLE_AVAILABLE)) { self->removable_available++; state_flags |= ENTRY_REMOVABLE_AVAILABLE; } } else if (reinstallable) { if (!(state_flags & ENTRY_INSTALLABLE_AVAILABLE)) { self->installable_available++; state_flags |= ENTRY_INSTALLABLE_AVAILABLE; } } } g_array_index (self->state_flags, gint32, index) = state_flags; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE_AND_AVAILABLE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE_AND_AVAILABLE]); } static DexFuture * dup_all_into_store_fiber (BzEntryGroup *self) { g_autoptr (GPtrArray) futures = NULL; guint n_items = 0; g_autoptr (GListStore) store = NULL; guint n_resolved = 0; futures = g_ptr_array_new_with_free_func (dex_unref); n_items = g_list_model_get_n_items (G_LIST_MODEL (self->unique_ids)); for (guint i = 0; i < n_items; i++) { g_autoptr (GtkStringObject) string = NULL; g_autoptr (BzResult) result = NULL; string = g_list_model_get_item (G_LIST_MODEL (self->unique_ids), i); result = bz_application_map_factory_convert_one (self->factory, g_steal_pointer (&string)); g_ptr_array_add (futures, bz_result_dup_future (result)); } dex_await (dex_future_allv ( (DexFuture *const *) futures->pdata, futures->len), NULL); store = g_list_store_new (BZ_TYPE_ENTRY); for (guint i = 0; i < futures->len; i++) { DexFuture *future = NULL; future = g_ptr_array_index (futures, i); if (dex_future_is_resolved (future)) { BzEntry *entry = NULL; entry = g_value_get_object (dex_future_get_value (future, NULL)); bz_entry_group_connect_living (self, entry); g_list_store_append (store, entry); } } n_resolved = g_list_model_get_n_items (G_LIST_MODEL (store)); if (n_resolved == 0) { g_warning ("No entries for %s were able to be resolved", self->id); return dex_future_new_reject ( G_IO_ERROR, G_IO_ERROR_UNKNOWN, "No entries for %s were able to be resolved", self->id); } if (n_resolved != n_items) g_warning ("Some entries for %s failed to resolve", self->id); return dex_future_new_for_object (store); } static DexFuture * reap_user_data_then (DexFuture *future, GWeakRef *wr) { g_autoptr (BzEntryGroup) self = NULL; bz_weak_get_or_return_reject (self, wr); dex_clear (&self->reap_user_data_future); self->user_data_size = 0; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USER_DATA_SIZE]); return dex_future_new_true (); } DexFuture * bz_entry_group_reap_user_data (BzEntryGroup *self) { dex_return_error_if_fail (BZ_IS_ENTRY_GROUP (self)); dex_return_error_if_fail (self->id != NULL); if (self->reap_user_data_future != NULL) return dex_ref (self->reap_user_data_future); self->reap_user_data_future = dex_future_then ( bz_reap_user_data_dex (self->id), (DexFutureCallback) reap_user_data_then, bz_track_weak (self), bz_weak_release); return dex_ref (self->reap_user_data_future); } static DexFuture * reap_user_cache_then (DexFuture *future, GWeakRef *wr) { g_autoptr (BzEntryGroup) self = NULL; bz_weak_get_or_return_reject (self, wr); dex_clear (&self->reap_cache_future); self->cache_size = 0; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CACHE_SIZE]); return dex_future_new_true (); } DexFuture * bz_entry_group_reap_user_cache (BzEntryGroup *self) { g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), NULL); g_return_val_if_fail (self->id != NULL, NULL); if (self->reap_cache_future != NULL) return dex_ref (self->reap_cache_future); self->reap_cache_future = dex_future_then ( bz_reap_user_cache_dex (self->id), (DexFutureCallback) reap_user_cache_then, bz_track_weak (self), bz_weak_release); return dex_ref (self->reap_cache_future); } static DexFuture * user_data_size_then (DexFuture *future, GWeakRef *wr) { g_autoptr (BzEntryGroup) self = NULL; g_autoptr (GError) error = NULL; g_autoptr (BzSizeResult) sizes = NULL; guint64 new_user_data_size = 0; guint64 new_cache_size = 0; bz_weak_get_or_return_reject (self, wr); sizes = g_value_dup_object (dex_future_get_value (future, &error)); if (error != NULL || sizes == NULL) { g_clear_error (&error); return dex_future_new_true (); } new_user_data_size = bz_size_result_get_user_data_size (sizes); new_cache_size = bz_size_result_get_cache_size (sizes); if (new_user_data_size != self->user_data_size) { self->user_data_size = new_user_data_size; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USER_DATA_SIZE]); } if (new_cache_size != self->cache_size) { self->cache_size = new_cache_size; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CACHE_SIZE]); } return dex_future_new_true (); } static void check_user_data_size (BzEntryGroup *self) { g_autoptr (DexFuture) future = NULL; if (self->user_data_size_future != NULL || self->id == NULL) return; if (self->reap_user_data_future != NULL || self->reap_cache_future != NULL) return; future = bz_get_user_sizes_dex (self->id); future = dex_future_then ( future, (DexFutureCallback) user_data_size_then, bz_track_weak (self), bz_weak_release); self->user_data_size_future = g_steal_pointer (&future); } void bz_entry_group_serialize (BzEntryGroup *self, GVariantBuilder *builder) { guint n_ids = 0; g_variant_builder_add (builder, "{sv}", "id", g_variant_new_string (self->id ? self->id : "")); g_variant_builder_add (builder, "{sv}", "title", g_variant_new_string (self->title ? self->title : "")); if (self->developer != NULL) g_variant_builder_add (builder, "{sv}", "developer", g_variant_new_string (self->developer)); if (self->description != NULL) g_variant_builder_add (builder, "{sv}", "description", g_variant_new_string (self->description)); if (self->search_tokens != NULL) g_variant_builder_add (builder, "{sv}", "search-tokens", g_variant_new_string (self->search_tokens)); if (self->eol != NULL) g_variant_builder_add (builder, "{sv}", "eol", g_variant_new_string (self->eol)); if (self->light_accent_color != NULL) g_variant_builder_add (builder, "{sv}", "light-accent-color", g_variant_new_string (self->light_accent_color)); if (self->dark_accent_color != NULL) g_variant_builder_add (builder, "{sv}", "dark-accent-color", g_variant_new_string (self->dark_accent_color)); if (self->donation_url != NULL) g_variant_builder_add (builder, "{sv}", "donation-url", g_variant_new_string (self->donation_url)); g_variant_builder_add (builder, "{sv}", "is-floss", g_variant_new_boolean (self->is_floss)); g_variant_builder_add (builder, "{sv}", "is-flathub", g_variant_new_boolean (self->is_flathub)); g_variant_builder_add (builder, "{sv}", "is-verified", g_variant_new_boolean (self->is_verified)); g_variant_builder_add (builder, "{sv}", "is-addon", g_variant_new_boolean (self->is_addon)); g_variant_builder_add (builder, "{sv}", "searchable", g_variant_new_boolean (self->searchable)); g_variant_builder_add (builder, "{sv}", "read-only", g_variant_new_boolean (self->read_only)); g_variant_builder_add (builder, "{sv}", "installed-size", g_variant_new_uint64 (self->installed_size)); g_variant_builder_add (builder, "{sv}", "n-addons", g_variant_new_int32 (self->n_addons)); g_variant_builder_add (builder, "{sv}", "categories", g_variant_new_uint32 (self->categories)); g_variant_builder_add (builder, "{sv}", "content-age-rating", g_variant_new_int32 (self->content_age_rating)); g_variant_builder_add (builder, "{sv}", "max-usefulness", g_variant_new_int32 (self->max_usefulness)); n_ids = g_list_model_get_n_items (G_LIST_MODEL (self->unique_ids)); if (n_ids > 0) { g_autoptr (GVariantBuilder) ids_b = NULL; g_autoptr (GVariantBuilder) iv_b = NULL; g_autoptr (GVariantBuilder) sf_b = NULL; ids_b = g_variant_builder_new (G_VARIANT_TYPE ("as")); iv_b = g_variant_builder_new (G_VARIANT_TYPE ("as")); sf_b = g_variant_builder_new (G_VARIANT_TYPE ("ai")); for (guint i = 0; i < n_ids; i++) { g_autoptr (GtkStringObject) s = NULL; g_autoptr (GtkStringObject) iv = NULL; gint32 flags = 0; s = g_list_model_get_item (G_LIST_MODEL (self->unique_ids), i); iv = g_list_model_get_item (G_LIST_MODEL (self->installed_versions), i); flags = g_array_index (self->state_flags, gint32, i); g_variant_builder_add (ids_b, "s", gtk_string_object_get_string (s)); g_variant_builder_add (iv_b, "s", iv != NULL ? gtk_string_object_get_string (iv) : ""); g_variant_builder_add (sf_b, "i", flags); } g_variant_builder_add (builder, "{sv}", "unique-ids", g_variant_builder_end (ids_b)); g_variant_builder_add (builder, "{sv}", "installed-versions", g_variant_builder_end (iv_b)); g_variant_builder_add (builder, "{sv}", "state-flags", g_variant_builder_end (sf_b)); } if (self->addon_group_ids != NULL) { guint n_addon_ids = 0; n_addon_ids = g_list_model_get_n_items (G_LIST_MODEL (self->addon_group_ids)); if (n_addon_ids > 0) { g_autoptr (GVariantBuilder) addon_b = NULL; addon_b = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_addon_ids; i++) { g_autoptr (GtkStringObject) s = NULL; s = g_list_model_get_item (G_LIST_MODEL (self->addon_group_ids), i); g_variant_builder_add (addon_b, "s", gtk_string_object_get_string (s)); } g_variant_builder_add (builder, "{sv}", "addon-group-ids", g_variant_builder_end (addon_b)); } } if (self->mini_icon != NULL) { g_autoptr (GVariant) icon_variant = NULL; icon_variant = g_icon_serialize (self->mini_icon); if (icon_variant != NULL) g_variant_builder_add (builder, "{sv}", "mini-icon", icon_variant); } } gboolean bz_entry_group_deserialize (BzEntryGroup *self, GVariant *import) { g_autoptr (GVariantIter) iter = NULL; iter = g_variant_iter_new (import); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "id") == 0) self->id = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "title") == 0) self->title = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "developer") == 0) self->developer = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "description") == 0) self->description = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "search-tokens") == 0) self->search_tokens = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "eol") == 0) self->eol = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "light-accent-color") == 0) self->light_accent_color = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "dark-accent-color") == 0) self->dark_accent_color = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "donation-url") == 0) self->donation_url = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "is-floss") == 0) self->is_floss = g_variant_get_boolean (value); else if (g_strcmp0 (key, "is-flathub") == 0) self->is_flathub = g_variant_get_boolean (value); else if (g_strcmp0 (key, "is-verified") == 0) self->is_verified = g_variant_get_boolean (value); else if (g_strcmp0 (key, "is-addon") == 0) self->is_addon = g_variant_get_boolean (value); else if (g_strcmp0 (key, "searchable") == 0) self->searchable = g_variant_get_boolean (value); else if (g_strcmp0 (key, "read-only") == 0) self->read_only = g_variant_get_boolean (value); else if (g_strcmp0 (key, "installed-size") == 0) self->installed_size = g_variant_get_uint64 (value); else if (g_strcmp0 (key, "n-addons") == 0) self->n_addons = g_variant_get_int32 (value); else if (g_strcmp0 (key, "categories") == 0) self->categories = g_variant_get_uint32 (value); else if (g_strcmp0 (key, "content-age-rating") == 0) self->content_age_rating = g_variant_get_int32 (value); else if (g_strcmp0 (key, "max-usefulness") == 0) self->max_usefulness = g_variant_get_int32 (value); else if (g_strcmp0 (key, "unique-ids") == 0) { g_autoptr (GVariantIter) ids_iter = NULL; g_autofree char *uid = NULL; ids_iter = g_variant_iter_new (value); while (g_variant_iter_next (ids_iter, "s", &uid)) gtk_string_list_append (self->unique_ids, uid); } else if (g_strcmp0 (key, "installed-versions") == 0) { g_autoptr (GVariantIter) iv_iter = NULL; g_autofree char *iv = NULL; iv_iter = g_variant_iter_new (value); while (g_variant_iter_next (iv_iter, "s", &iv)) gtk_string_list_append (self->installed_versions, iv); } else if (g_strcmp0 (key, "state-flags") == 0) { g_autoptr (GVariantIter) sf_iter = NULL; gint32 flags = 0; sf_iter = g_variant_iter_new (value); while (g_variant_iter_next (sf_iter, "i", &flags)) g_array_append_val (self->state_flags, flags); } else if (g_strcmp0 (key, "addon-group-ids") == 0) { g_autoptr (GVariantIter) addon_iter = NULL; g_autofree char *addon_id = NULL; addon_iter = g_variant_iter_new (value); while (g_variant_iter_next (addon_iter, "s", &addon_id)) bz_entry_group_append_addon_group_id (self, addon_id); } else if (g_strcmp0 (key, "mini-icon") == 0) self->mini_icon = g_icon_deserialize (value); } if (self->id != NULL) self->read_only = g_strcmp0 ( self->id, g_application_get_application_id (g_application_get_default ())) == 0; return self->id != NULL; } gboolean bz_entry_group_reconcile_with_installed_set (BzEntryGroup *self, GHashTable *installed_set) { g_autoptr (GMutexLocker) locker = NULL; guint n_ids = 0; gboolean any_installed = FALSE; g_return_val_if_fail (BZ_IS_ENTRY_GROUP (self), FALSE); g_return_val_if_fail (installed_set != NULL, FALSE); locker = g_mutex_locker_new (&self->mutex); self->installable = 0; self->removable = 0; self->installable_available = 0; self->removable_available = 0; n_ids = g_list_model_get_n_items (G_LIST_MODEL (self->unique_ids)); for (guint i = 0; i < n_ids; i++) { g_autoptr (GtkStringObject) uid_obj = NULL; const char *uid = NULL; gint32 flags = 0; uid_obj = g_list_model_get_item (G_LIST_MODEL (self->unique_ids), i); uid = gtk_string_object_get_string (uid_obj); if (g_hash_table_contains (installed_set, uid)) { flags |= ENTRY_REMOVABLE | ENTRY_REMOVABLE_AVAILABLE; self->removable++; self->removable_available++; any_installed = TRUE; } else { flags |= ENTRY_INSTALLABLE | ENTRY_INSTALLABLE_AVAILABLE; self->installable++; self->installable_available++; } g_array_index (self->state_flags, gint32, i) = flags; } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE_AND_AVAILABLE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLABLE_AND_AVAILABLE]); return any_installed; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-group.h������������������������������������������������������0000664�0000000�0000000�00000011073�15234476640�0021134�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-group.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-application-map-factory.h" #include "bz-entry.h" #include "bz-result.h" G_BEGIN_DECLS #define BZ_TYPE_ENTRY_GROUP (bz_entry_group_get_type ()) G_DECLARE_FINAL_TYPE (BzEntryGroup, bz_entry_group, BZ, ENTRY_GROUP, GObject) BzEntryGroup * bz_entry_group_new (BzApplicationMapFactory *factory); BzEntryGroup * bz_entry_group_new_for_single_entry (BzEntry *entry); BzEntryGroup * bz_entry_group_new_manual (const char *id, const char *title, const char *subtitle); /* Only necessary if reading props from another thread, writing is always prohibited */ GMutexLocker * bz_entry_group_lock (BzEntryGroup *self); GListModel * bz_entry_group_get_model (BzEntryGroup *self); GListModel * bz_entry_group_get_installed_versions (BzEntryGroup *self); const char * bz_entry_group_get_id (BzEntryGroup *self); const char * bz_entry_group_get_title (BzEntryGroup *self); const char * bz_entry_group_get_developer (BzEntryGroup *self); const char * bz_entry_group_get_description (BzEntryGroup *self); GIcon * bz_entry_group_get_mini_icon (BzEntryGroup *self); gboolean bz_entry_group_get_is_floss (BzEntryGroup *self); const char * bz_entry_group_get_light_accent_color (BzEntryGroup *self); const char * bz_entry_group_get_dark_accent_color (BzEntryGroup *self); gboolean bz_entry_group_get_is_flathub (BzEntryGroup *self); gboolean bz_entry_group_get_is_verified (BzEntryGroup *self); gboolean bz_entry_group_get_is_mobile_friendly (BzEntryGroup *self); const char * bz_entry_group_get_search_tokens (BzEntryGroup *self); const char * bz_entry_group_get_eol (BzEntryGroup *self); guint64 bz_entry_group_get_installed_size (BzEntryGroup *self); GListModel * bz_entry_group_get_addon_group_ids (BzEntryGroup *self); void bz_entry_group_append_addon_group_id (BzEntryGroup *self, const char *id); int bz_entry_group_get_n_addons (BzEntryGroup *self); const char * bz_entry_group_get_donation_url (BzEntryGroup *self); gboolean bz_entry_group_has_category (BzEntryGroup *self, const char *name); BzCategoryFlags bz_entry_group_get_categories (BzEntryGroup *self); int bz_entry_group_get_content_age_rating (BzEntryGroup *self); BzResult * bz_entry_group_dup_ui_entry (BzEntryGroup *self); char * bz_entry_group_dup_ui_entry_id (BzEntryGroup *self); int bz_entry_group_get_installable (BzEntryGroup *self); int bz_entry_group_get_updatable (BzEntryGroup *self); int bz_entry_group_get_removable (BzEntryGroup *self); int bz_entry_group_get_installable_and_available (BzEntryGroup *self); int bz_entry_group_get_updatable_and_available (BzEntryGroup *self); int bz_entry_group_get_removable_and_available (BzEntryGroup *self); gboolean bz_entry_group_is_searchable (BzEntryGroup *self); gboolean bz_entry_group_is_addon (BzEntryGroup *self); guint64 bz_entry_group_get_user_data_size (BzEntryGroup *self); guint64 bz_entry_group_get_cache_size (BzEntryGroup *self); DexFuture * bz_entry_group_reap_user_data (BzEntryGroup *self); DexFuture * bz_entry_group_reap_user_cache (BzEntryGroup *self); void bz_entry_group_add (BzEntryGroup *self, BzEntry *entry, BzEntry *runtime, gboolean ignore_eol); void bz_entry_group_connect_living (BzEntryGroup *self, BzEntry *entry); DexFuture * bz_entry_group_dup_all_into_store (BzEntryGroup *self); void bz_entry_group_serialize (BzEntryGroup *self, GVariantBuilder *builder); gboolean bz_entry_group_deserialize (BzEntryGroup *self, GVariant *import); gboolean bz_entry_group_reconcile_with_installed_set (BzEntryGroup *self, GHashTable *installed_set); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-inspector.blp������������������������������������������������0000664�0000000�0000000�00000004533�15234476640�0022337�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzEntryInspector: Adw.Window { title: "Entry Inspector"; default-width: 600; default-height: 800; width-request: 300; height-request: 600; Adw.ToolbarView { top-bar-style: raised_border; bottom-bar-style: raised_border; reveal-bottom-bars: false; content: Box { orientation: vertical; spacing: 5; Label { xalign: 0.0; label: bind template.result as <$BzResult>.message as <string>; } Label { styles [ "heading", ] xalign: 0.0; selectable: true; label: bind template.result as <$BzResult>.object as <$BzEntry>.title; } Label { xalign: 0.0; selectable: true; label: bind template.result as <$BzResult>.object as <$BzEntry>.unique_id; } Label { xalign: 0.0; selectable: true; label: bind template.result as <$BzResult>.object as <$BzEntry>.unique_id_checksum; } Label { xalign: 0.0; selectable: true; label: bind template.result as <$BzResult>.object as <$BzEntry>.id; } Box { orientation: horizontal; spacing: 5; Image { pixel-size: 16; paintable: bind template.result as <$BzResult>.object as <$BzEntry>.icon-paintable; } Image { pixel-size: 32; paintable: bind template.result as <$BzResult>.object as <$BzEntry>.icon-paintable; } Image { pixel-size: 64; paintable: bind template.result as <$BzResult>.object as <$BzEntry>.icon-paintable; } Image { pixel-size: 128; paintable: bind template.result as <$BzResult>.object as <$BzEntry>.icon-paintable; } } Box { orientation: horizontal; Button { label: "Serialize"; clicked => $gen_serialized(template); } CheckButton convert_to_json { label: "Convert to JSON"; active: true; } } ScrolledWindow { propagate-natural-height: true; child: $GtkSourceView { styles [ "monospace", ] // wrap-mode: word_char; buffer: $GtkSourceBuffer text_buffer {}; }; } }; [top] Adw.HeaderBar top_header_bar {} } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-inspector.c��������������������������������������������������0000664�0000000�0000000�00000014462�15234476640�0022006�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-inspector.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <gtksourceview/gtksource.h> #include <json-glib/json-glib.h> #include "bz-entry-inspector.h" #include "bz-entry.h" #include "bz-serializable.h" struct _BzEntryInspector { AdwWindow parent_instance; BzResult *result; /* Template widgets */ GtkSourceBuffer *text_buffer; GtkCheckButton *convert_to_json; }; G_DEFINE_FINAL_TYPE (BzEntryInspector, bz_entry_inspector, ADW_TYPE_WINDOW); enum { PROP_0, PROP_RESULT, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_entry_inspector_dispose (GObject *object) { BzEntryInspector *self = BZ_ENTRY_INSPECTOR (object); g_clear_pointer (&self->result, g_object_unref); G_OBJECT_CLASS (bz_entry_inspector_parent_class)->dispose (object); } static void bz_entry_inspector_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzEntryInspector *self = BZ_ENTRY_INSPECTOR (object); switch (prop_id) { case PROP_RESULT: g_value_set_object (value, bz_entry_inspector_get_result (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_inspector_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzEntryInspector *self = BZ_ENTRY_INSPECTOR (object); switch (prop_id) { case PROP_RESULT: bz_entry_inspector_set_result (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void gen_serialized (BzEntryInspector *self, GtkButton *button) { if (bz_result_get_resolved (self->result)) { BzEntry *entry = NULL; g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autofree char *string = NULL; entry = bz_result_get_object (self->result); builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT); bz_serializable_serialize (BZ_SERIALIZABLE (entry), builder); variant = g_variant_builder_end (builder); if (gtk_check_button_get_active (self->convert_to_json)) { g_autoptr (JsonNode) node = NULL; g_autoptr (JsonGenerator) generator = NULL; GtkSourceLanguageManager *lang_mgr = NULL; GtkSourceLanguage *language = NULL; node = json_gvariant_serialize (variant); generator = json_generator_new (); json_generator_set_pretty (generator, TRUE); json_generator_set_root (generator, node); string = json_generator_to_data (generator, NULL); lang_mgr = gtk_source_language_manager_get_default (); language = gtk_source_language_manager_get_language (lang_mgr, "json"); gtk_source_buffer_set_language (self->text_buffer, language); } else { string = g_variant_print (variant, FALSE); gtk_source_buffer_set_language (self->text_buffer, NULL); } gtk_text_buffer_set_text (GTK_TEXT_BUFFER (self->text_buffer), string, -1); } else { gtk_source_buffer_set_language (self->text_buffer, NULL); gtk_text_buffer_set_text ( GTK_TEXT_BUFFER (self->text_buffer), "!!! The entry has not resolved", -1); } } static void bz_entry_inspector_class_init (BzEntryInspectorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_entry_inspector_set_property; object_class->get_property = bz_entry_inspector_get_property; object_class->dispose = bz_entry_inspector_dispose; props[PROP_RESULT] = g_param_spec_object ( "result", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-entry-inspector.ui"); gtk_widget_class_bind_template_child (widget_class, BzEntryInspector, text_buffer); gtk_widget_class_bind_template_child (widget_class, BzEntryInspector, convert_to_json); gtk_widget_class_bind_template_callback (widget_class, gen_serialized); } static void bz_entry_inspector_init (BzEntryInspector *self) { GtkSourceStyleSchemeManager *scheme_mgr = NULL; GtkSourceStyleScheme *scheme = NULL; gtk_widget_init_template (GTK_WIDGET (self)); scheme_mgr = gtk_source_style_scheme_manager_get_default (); scheme = gtk_source_style_scheme_manager_get_scheme (scheme_mgr, "Adwaita-dark"); gtk_source_buffer_set_style_scheme (self->text_buffer, scheme); } BzEntryInspector * bz_entry_inspector_new (void) { return g_object_new (BZ_TYPE_ENTRY_INSPECTOR, NULL); } BzResult * bz_entry_inspector_get_result (BzEntryInspector *self) { g_return_val_if_fail (BZ_IS_ENTRY_INSPECTOR (self), NULL); return self->result; } void bz_entry_inspector_set_result (BzEntryInspector *self, BzResult *result) { g_return_if_fail (BZ_IS_ENTRY_INSPECTOR (self)); g_clear_pointer (&self->result, g_object_unref); if (result != NULL) self->result = g_object_ref (result); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RESULT]); } /* End of bz-entry-inspector.c */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-inspector.h��������������������������������������������������0000664�0000000�0000000�00000002400�15234476640�0022000�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-inspector.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-result.h" G_BEGIN_DECLS #define BZ_TYPE_ENTRY_INSPECTOR (bz_entry_inspector_get_type ()) G_DECLARE_FINAL_TYPE (BzEntryInspector, bz_entry_inspector, BZ, ENTRY_INSPECTOR, AdwWindow) BzEntryInspector * bz_entry_inspector_new (void); BzResult * bz_entry_inspector_get_result (BzEntryInspector *self); void bz_entry_inspector_set_result (BzEntryInspector *self, BzResult *result); G_END_DECLS /* End of bz-entry-inspector.h */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-selection-row.blp��������������������������������������������0000664�0000000�0000000�00000001063�15234476640�0023116�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzEntrySelectionRow: Adw.ActionRow { activatable-widget: radio; [prefix] CheckButton radio { valign: center; } [suffix] Image { visible: bind template.repository as <$BzRepository>.is-user; icon-name: "person-symbolic"; has-tooltip: true; tooltip-text: _("For This User Only"); } title: bind template.repository as <$BzRepository>.title; subtitle: bind $get_subtitle(template.entry as <$BzFlatpakEntry>.flatpak-version, template.repository as <$BzRepository>.is-user) as <string>; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-selection-row.c����������������������������������������������0000664�0000000�0000000�00000011457�15234476640�0022573�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-selection-row.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-entry-selection-row.h" #include "bz-flatpak-entry.h" #include "template-callbacks.h" struct _BzEntrySelectionRow { AdwActionRow parent_instance; GtkCheckButton *radio; BzFlatpakEntry *entry; BzRepository *repository; }; G_DEFINE_FINAL_TYPE (BzEntrySelectionRow, bz_entry_selection_row, ADW_TYPE_ACTION_ROW) enum { PROP_0, PROP_ENTRY, PROP_REPOSITORY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_entry_selection_row_dispose (GObject *object) { BzEntrySelectionRow *self = BZ_ENTRY_SELECTION_ROW (object); g_clear_object (&self->entry); g_clear_object (&self->repository); G_OBJECT_CLASS (bz_entry_selection_row_parent_class)->dispose (object); } static void bz_entry_selection_row_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzEntrySelectionRow *self = BZ_ENTRY_SELECTION_ROW (object); switch (prop_id) { case PROP_ENTRY: g_value_set_object (value, self->entry); break; case PROP_REPOSITORY: g_value_set_object (value, self->repository); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_selection_row_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzEntrySelectionRow *self = BZ_ENTRY_SELECTION_ROW (object); switch (prop_id) { case PROP_ENTRY: g_clear_object (&self->entry); self->entry = g_value_dup_object (value); break; case PROP_REPOSITORY: g_clear_object (&self->repository); self->repository = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * get_subtitle (gpointer object, const char *version, gboolean is_user) { const char *scope = is_user ? _ ("this user") : _ ("all users"); return g_strdup_printf ("%s • %s", version, scope); } static void bz_entry_selection_row_class_init (BzEntrySelectionRowClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_entry_selection_row_dispose; object_class->get_property = bz_entry_selection_row_get_property; object_class->set_property = bz_entry_selection_row_set_property; props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_FLATPAK_ENTRY, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_REPOSITORY] = g_param_spec_object ( "repository", NULL, NULL, BZ_TYPE_REPOSITORY, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_REPOSITORY); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-entry-selection-row.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_callback (widget_class, get_subtitle); gtk_widget_class_bind_template_child (widget_class, BzEntrySelectionRow, radio); } static void bz_entry_selection_row_init (BzEntrySelectionRow *self) { gtk_widget_init_template (GTK_WIDGET (self)); } BzEntrySelectionRow * bz_entry_selection_row_new (BzFlatpakEntry *entry, BzRepository *repository) { g_return_val_if_fail (BZ_IS_ENTRY (entry), NULL); return g_object_new (BZ_TYPE_ENTRY_SELECTION_ROW, "entry", entry, "repository", repository, NULL); } GtkCheckButton * bz_entry_selection_row_get_radio (BzEntrySelectionRow *self) { g_return_val_if_fail (BZ_IS_ENTRY_SELECTION_ROW (self), NULL); return self->radio; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry-selection-row.h����������������������������������������������0000664�0000000�0000000�00000002402�15234476640�0022566�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry-selection-row.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-flatpak-entry.h" #include "bz-repository.h" G_BEGIN_DECLS #define BZ_TYPE_ENTRY_SELECTION_ROW (bz_entry_selection_row_get_type ()) G_DECLARE_FINAL_TYPE (BzEntrySelectionRow, bz_entry_selection_row, BZ, ENTRY_SELECTION_ROW, AdwActionRow) BzEntrySelectionRow * bz_entry_selection_row_new (BzFlatpakEntry *entry, BzRepository *repository); GtkCheckButton * bz_entry_selection_row_get_radio (BzEntrySelectionRow *self); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry.c������������������������������������������������������������0000664�0000000�0000000�00000264174�15234476640�0020011�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ /* TODO: clean this mess up */ #define G_LOG_DOMAIN "BAZAAR::ENTRY" #define BAZAAR_MODULE "entry" #include <json-glib/json-glib.h> #include "bz-app-permissions.h" #include "bz-async-texture.h" #include "bz-category-flags.h" #include "bz-country-data-point.h" #include "bz-data-point.h" #include "bz-entry.h" #include "env.h" #include "global-net.h" #include "io.h" #include "bz-release.h" #include "bz-repository.h" #include "bz-serializable.h" #include "bz-url.h" #include "util.h" #include "bz-verification-status.h" G_DEFINE_FLAGS_TYPE ( BzEntryKind, bz_entry_kind, G_DEFINE_ENUM_VALUE (BZ_ENTRY_KIND_APPLICATION, "application"), G_DEFINE_ENUM_VALUE (BZ_ENTRY_KIND_RUNTIME, "runtime"), G_DEFINE_ENUM_VALUE (BZ_ENTRY_KIND_ADDON, "addon")) G_DEFINE_FLAGS_TYPE ( BzControlType, bz_control_type, G_DEFINE_ENUM_VALUE (BZ_CONTROL_NONE, "none"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_POINTING, "pointing"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_KEYBOARD, "keyboard"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_CONSOLE, "console"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_TABLET, "tablet"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_TOUCH, "touch"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_GAMEPAD, "gamepad"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_TV_REMOTE, "tv-remote"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_VOICE, "voice"), G_DEFINE_ENUM_VALUE (BZ_CONTROL_VISION, "vision")) G_DEFINE_ENUM_TYPE ( BzRelationType, bz_relation_type, G_DEFINE_ENUM_VALUE (BZ_RELATION_REQUIRES, "requires"), G_DEFINE_ENUM_VALUE (BZ_RELATION_RECOMMENDS, "recommends"), G_DEFINE_ENUM_VALUE (BZ_RELATION_SUPPORTS, "supports")) typedef struct { gint hold; gboolean installed; char *installed_version; gboolean reinstallable; gboolean searchable; guint kinds; GListModel *addons; char *id; char *unique_id; char *unique_id_checksum; char *title; char *eol; char *description; char *long_description; char *remote_repo_name; char *url; guint64 size; guint64 installed_size; GdkPaintable *icon_paintable; GIcon *mini_icon; GdkPaintable *remote_repo_icon; char *search_tokens; char *metadata_license; char *project_license; gboolean is_floss; char *project_group; char *developer; char *developer_id; GListModel *developer_apps; GListModel *similar_apps; GListModel *screenshot_paintables; GListModel *screenshot_captions; GdkPaintable *thumbnail_paintable; GListModel *share_urls; char *donation_url; char *ratings_summary; GListModel *version_history; char *light_accent_color; char *dark_accent_color; gboolean is_mobile_friendly; guint required_controls; guint recommended_controls; guint supported_controls; gint min_display_length; gint max_display_length; AsContentRating *content_rating; GListModel *keywords; BzCategoryFlags categories; BzAppPermissions *permissions; gboolean is_flathub; BzVerificationStatus *verification_status; GListModel *download_stats; GListModel *download_stats_per_country; int recent_downloads; int total_downloads; int favorites_count; GHashTable *flathub_prop_queries; } BzEntryPrivate; G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (BzEntry, bz_entry, G_TYPE_OBJECT); enum { PROP_0, PROP_HOLDING, PROP_INSTALLED, PROP_INSTALLED_VERSION, PROP_REINSTALLABLE, PROP_SEARCHABLE, PROP_KINDS, PROP_ADDONS, PROP_ID, PROP_UNIQUE_ID, PROP_UNIQUE_ID_CHECKSUM, PROP_TITLE, PROP_EOL, PROP_DESCRIPTION, PROP_DOWNLOAD_STATS_PER_COUNTRY, PROP_LONG_DESCRIPTION, PROP_REMOTE_REPO_NAME, PROP_URL, PROP_SIZE, PROP_INSTALLED_SIZE, PROP_ICON_PAINTABLE, PROP_MINI_ICON, PROP_SEARCH_TOKENS, PROP_REMOTE_REPO_ICON, PROP_METADATA_LICENSE, PROP_PROJECT_LICENSE, PROP_IS_FLOSS, PROP_PROJECT_GROUP, PROP_DEVELOPER, PROP_DEVELOPER_ID, PROP_DEVELOPER_APPS, PROP_SIMILAR_APPS, PROP_SCREENSHOT_PAINTABLES, PROP_SCREENSHOT_CAPTIONS, PROP_THUMBNAIL_PAINTABLE, PROP_SHARE_URLS, PROP_DONATION_URL, PROP_RATINGS_SUMMARY, PROP_VERSION_HISTORY, PROP_IS_FLATHUB, PROP_VERIFICATION_STATUS, PROP_DOWNLOAD_STATS, PROP_RECENT_DOWNLOADS, PROP_TOTAL_DOWNLOADS, PROP_FAVORITES_COUNT, PROP_LIGHT_ACCENT_COLOR, PROP_DARK_ACCENT_COLOR, PROP_IS_MOBILE_FRIENDLY, PROP_REQUIRED_CONTROLS, PROP_RECOMMENDED_CONTROLS, PROP_SUPPORTED_CONTROLS, PROP_MIN_DISPLAY_LENGTH, PROP_MAX_DISPLAY_LENGTH, PROP_CONTENT_RATING, PROP_KEYWORDS, PROP_CATEGORIES, PROP_PERMISSIONS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; BZ_DEFINE_DATA ( query_flathub, QueryFlathub, { GWeakRef self; int prop; char *id; char *developer; }, g_weak_ref_clear (&self->self); BZ_RELEASE_DATA (id, g_free); BZ_RELEASE_DATA (developer, g_free)); static DexFuture * query_flathub_fiber (QueryFlathubData *data); static DexFuture * query_flathub_then (DexFuture *future, QueryFlathubData *data); static void query_flathub (BzEntry *self, int prop); static void download_stats_per_day_foreach (JsonObject *object, const gchar *member_name, JsonNode *member_node, GListStore *store); static void download_stats_per_country_foreach (JsonObject *object, const gchar *member_name, JsonNode *member_node, GListStore *store); static gboolean maybe_save_paintable (BzEntryPrivate *priv, const char *key, GdkPaintable *paintable, GVariantBuilder *builder); static GdkPaintable * make_async_texture (GVariant *parse); static void clear_entry (BzEntry *self); static void bz_entry_dispose (GObject *object) { BzEntry *self = BZ_ENTRY (object); clear_entry (self); G_OBJECT_CLASS (bz_entry_parent_class)->dispose (object); } static void bz_entry_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzEntry *self = BZ_ENTRY (object); BzEntryPrivate *priv = bz_entry_get_instance_private (self); switch (prop_id) { case PROP_HOLDING: g_value_set_boolean (value, bz_entry_is_holding (self)); break; case PROP_INSTALLED: g_value_set_boolean (value, priv->installed); break; case PROP_INSTALLED_VERSION: g_value_set_string (value, priv->installed_version); break; case PROP_REINSTALLABLE: g_value_set_boolean (value, priv->reinstallable); break; case PROP_SEARCHABLE: g_value_set_boolean (value, priv->searchable); break; case PROP_ADDONS: g_value_set_object (value, priv->addons); break; case PROP_KINDS: g_value_set_flags (value, priv->kinds); break; case PROP_ID: g_value_set_string (value, priv->id); break; case PROP_UNIQUE_ID: g_value_set_string (value, priv->unique_id); break; case PROP_UNIQUE_ID_CHECKSUM: g_value_set_string (value, priv->unique_id_checksum); break; case PROP_TITLE: g_value_set_string (value, priv->title); break; case PROP_EOL: g_value_set_string (value, priv->eol); break; case PROP_DESCRIPTION: g_value_set_string (value, priv->description); break; case PROP_LONG_DESCRIPTION: g_value_set_string (value, priv->long_description); break; case PROP_REMOTE_REPO_NAME: g_value_set_string (value, priv->remote_repo_name); break; case PROP_URL: g_value_set_string (value, priv->url); break; case PROP_SIZE: g_value_set_uint64 (value, priv->size); break; case PROP_INSTALLED_SIZE: g_value_set_uint64 (value, priv->installed_size); break; case PROP_ICON_PAINTABLE: g_value_set_object (value, priv->icon_paintable); break; case PROP_MINI_ICON: g_value_set_object (value, priv->mini_icon); break; case PROP_SEARCH_TOKENS: g_value_set_boxed (value, priv->search_tokens); break; case PROP_REMOTE_REPO_ICON: g_value_set_object (value, priv->remote_repo_icon); break; case PROP_METADATA_LICENSE: g_value_set_string (value, priv->metadata_license); break; case PROP_PROJECT_LICENSE: g_value_set_string (value, priv->project_license); break; case PROP_IS_FLOSS: g_value_set_boolean (value, priv->is_floss); break; case PROP_PROJECT_GROUP: g_value_set_string (value, priv->project_group); break; case PROP_DEVELOPER: g_value_set_string (value, priv->developer); break; case PROP_DEVELOPER_ID: g_value_set_string (value, priv->developer_id); break; case PROP_DEVELOPER_APPS: query_flathub (self, PROP_DEVELOPER_APPS); g_value_set_object (value, priv->developer_apps); break; case PROP_SIMILAR_APPS: query_flathub (self, PROP_SIMILAR_APPS); g_value_set_object (value, priv->similar_apps); break; case PROP_SCREENSHOT_PAINTABLES: g_value_set_object (value, priv->screenshot_paintables); break; case PROP_SCREENSHOT_CAPTIONS: g_value_set_object (value, priv->screenshot_captions); break; case PROP_THUMBNAIL_PAINTABLE: g_value_set_object (value, priv->thumbnail_paintable); break; case PROP_SHARE_URLS: g_value_set_object (value, priv->share_urls); break; case PROP_DONATION_URL: g_value_set_string (value, priv->donation_url); break; case PROP_RATINGS_SUMMARY: g_value_set_string (value, priv->ratings_summary); break; case PROP_VERSION_HISTORY: g_value_set_object (value, priv->version_history); break; case PROP_LIGHT_ACCENT_COLOR: g_value_set_string (value, priv->light_accent_color); break; case PROP_DARK_ACCENT_COLOR: g_value_set_string (value, priv->dark_accent_color); break; case PROP_IS_MOBILE_FRIENDLY: g_value_set_boolean (value, priv->is_mobile_friendly); break; case PROP_REQUIRED_CONTROLS: g_value_set_flags (value, priv->required_controls); break; case PROP_RECOMMENDED_CONTROLS: g_value_set_flags (value, priv->recommended_controls); break; case PROP_SUPPORTED_CONTROLS: g_value_set_flags (value, priv->supported_controls); break; case PROP_MIN_DISPLAY_LENGTH: g_value_set_int (value, priv->min_display_length); break; case PROP_MAX_DISPLAY_LENGTH: g_value_set_int (value, priv->max_display_length); break; case PROP_CONTENT_RATING: g_value_set_object (value, priv->content_rating); break; case PROP_KEYWORDS: g_value_set_object (value, priv->keywords); break; case PROP_CATEGORIES: g_value_set_uint (value, priv->categories); break; case PROP_PERMISSIONS: g_value_set_object (value, priv->permissions); break; case PROP_IS_FLATHUB: g_value_set_boolean (value, priv->is_flathub); break; case PROP_VERIFICATION_STATUS: g_value_set_object (value, priv->verification_status); break; case PROP_DOWNLOAD_STATS: query_flathub (self, PROP_DOWNLOAD_STATS); g_value_set_object (value, priv->download_stats); break; case PROP_DOWNLOAD_STATS_PER_COUNTRY: query_flathub (self, PROP_DOWNLOAD_STATS_PER_COUNTRY); g_value_set_object (value, priv->download_stats_per_country); break; case PROP_RECENT_DOWNLOADS: query_flathub (self, PROP_RECENT_DOWNLOADS); g_value_set_int (value, priv->recent_downloads); break; case PROP_TOTAL_DOWNLOADS: query_flathub (self, PROP_TOTAL_DOWNLOADS); g_value_set_int (value, priv->total_downloads); break; case PROP_FAVORITES_COUNT: query_flathub (self, PROP_FAVORITES_COUNT); g_value_set_int (value, priv->favorites_count); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzEntry *self = BZ_ENTRY (object); BzEntryPrivate *priv = bz_entry_get_instance_private (self); switch (prop_id) { case PROP_INSTALLED: priv->installed = g_value_get_boolean (value); break; case PROP_INSTALLED_VERSION: g_clear_pointer (&priv->installed_version, g_free); priv->installed_version = g_value_dup_string (value); break; case PROP_REINSTALLABLE: priv->reinstallable = g_value_get_boolean (value); break; case PROP_SEARCHABLE: priv->searchable = g_value_get_boolean (value); break; case PROP_ADDONS: g_clear_object (&priv->addons); priv->addons = g_value_dup_object (value); break; case PROP_KINDS: priv->kinds = g_value_get_flags (value); break; case PROP_ID: g_clear_pointer (&priv->id, g_free); priv->id = g_value_dup_string (value); break; case PROP_UNIQUE_ID: g_clear_pointer (&priv->unique_id, g_free); priv->unique_id = g_value_dup_string (value); break; case PROP_UNIQUE_ID_CHECKSUM: g_clear_pointer (&priv->unique_id_checksum, g_free); priv->unique_id_checksum = g_value_dup_string (value); break; case PROP_TITLE: g_clear_pointer (&priv->title, g_free); priv->title = g_value_dup_string (value); break; case PROP_EOL: g_clear_pointer (&priv->eol, g_free); priv->eol = g_value_dup_string (value); break; case PROP_DESCRIPTION: g_clear_pointer (&priv->description, g_free); priv->description = g_value_dup_string (value); break; case PROP_LONG_DESCRIPTION: g_clear_pointer (&priv->long_description, g_free); priv->long_description = g_value_dup_string (value); break; case PROP_REMOTE_REPO_NAME: g_clear_pointer (&priv->remote_repo_name, g_free); priv->remote_repo_name = g_value_dup_string (value); priv->is_flathub = g_strcmp0 (priv->remote_repo_name, "flathub") == 0; g_object_notify_by_pspec (object, props[PROP_IS_FLATHUB]); break; case PROP_URL: g_clear_pointer (&priv->url, g_free); priv->url = g_value_dup_string (value); break; case PROP_SIZE: priv->size = g_value_get_uint64 (value); break; case PROP_INSTALLED_SIZE: priv->installed_size = g_value_get_uint64 (value); break; case PROP_ICON_PAINTABLE: g_clear_object (&priv->icon_paintable); priv->icon_paintable = g_value_dup_object (value); break; case PROP_MINI_ICON: g_clear_object (&priv->mini_icon); priv->mini_icon = g_value_dup_object (value); break; case PROP_SEARCH_TOKENS: g_clear_pointer (&priv->search_tokens, g_free); priv->search_tokens = g_value_dup_string (value); break; case PROP_REMOTE_REPO_ICON: g_clear_object (&priv->remote_repo_icon); priv->remote_repo_icon = g_value_dup_object (value); break; case PROP_METADATA_LICENSE: g_clear_pointer (&priv->metadata_license, g_free); priv->metadata_license = g_value_dup_string (value); break; case PROP_PROJECT_LICENSE: g_clear_pointer (&priv->project_license, g_free); priv->project_license = g_value_dup_string (value); break; case PROP_IS_FLOSS: priv->is_floss = g_value_get_boolean (value); break; case PROP_PROJECT_GROUP: g_clear_pointer (&priv->project_group, g_free); priv->project_group = g_value_dup_string (value); break; case PROP_DEVELOPER: g_clear_pointer (&priv->developer, g_free); priv->developer = g_value_dup_string (value); break; case PROP_DEVELOPER_ID: g_clear_pointer (&priv->developer_id, g_free); priv->developer_id = g_value_dup_string (value); break; case PROP_DEVELOPER_APPS: g_clear_object (&priv->developer_apps); priv->developer_apps = g_value_dup_object (value); break; case PROP_SIMILAR_APPS: g_clear_object (&priv->similar_apps); priv->similar_apps = g_value_dup_object (value); break; case PROP_SCREENSHOT_PAINTABLES: g_clear_object (&priv->screenshot_paintables); priv->screenshot_paintables = g_value_dup_object (value); break; case PROP_SCREENSHOT_CAPTIONS: g_clear_object (&priv->screenshot_captions); priv->screenshot_captions = g_value_dup_object (value); break; case PROP_THUMBNAIL_PAINTABLE: g_clear_object (&priv->thumbnail_paintable); priv->thumbnail_paintable = g_value_dup_object (value); break; case PROP_SHARE_URLS: g_clear_object (&priv->share_urls); priv->share_urls = g_value_dup_object (value); break; case PROP_DONATION_URL: g_clear_pointer (&priv->donation_url, g_free); priv->donation_url = g_value_dup_string (value); break; case PROP_RATINGS_SUMMARY: g_clear_pointer (&priv->ratings_summary, g_free); priv->ratings_summary = g_value_dup_string (value); break; case PROP_VERSION_HISTORY: g_clear_object (&priv->version_history); priv->version_history = g_value_dup_object (value); break; case PROP_LIGHT_ACCENT_COLOR: g_clear_pointer (&priv->light_accent_color, g_free); priv->light_accent_color = g_value_dup_string (value); break; case PROP_DARK_ACCENT_COLOR: g_clear_pointer (&priv->dark_accent_color, g_free); priv->dark_accent_color = g_value_dup_string (value); break; case PROP_IS_MOBILE_FRIENDLY: priv->is_mobile_friendly = g_value_get_boolean (value); break; case PROP_REQUIRED_CONTROLS: priv->required_controls = g_value_get_flags (value); break; case PROP_RECOMMENDED_CONTROLS: priv->recommended_controls = g_value_get_flags (value); break; case PROP_SUPPORTED_CONTROLS: priv->supported_controls = g_value_get_flags (value); break; case PROP_MIN_DISPLAY_LENGTH: priv->min_display_length = g_value_get_int (value); break; case PROP_MAX_DISPLAY_LENGTH: priv->max_display_length = g_value_get_int (value); break; case PROP_CONTENT_RATING: g_clear_object (&priv->content_rating); priv->content_rating = g_value_dup_object (value); break; case PROP_KEYWORDS: g_clear_object (&priv->keywords); priv->keywords = g_value_dup_object (value); break; case PROP_CATEGORIES: priv->categories = g_value_get_uint (value); break; case PROP_PERMISSIONS: g_clear_object (&priv->permissions); priv->permissions = g_value_dup_object (value); break; case PROP_IS_FLATHUB: priv->is_flathub = g_value_get_boolean (value); break; case PROP_VERIFICATION_STATUS: g_clear_object (&priv->verification_status); priv->verification_status = g_value_dup_object (value); break; case PROP_DOWNLOAD_STATS: case PROP_DOWNLOAD_STATS_PER_COUNTRY: { if (prop_id == PROP_DOWNLOAD_STATS) { g_clear_object (&priv->download_stats); priv->download_stats = g_value_dup_object (value); } else { g_clear_object (&priv->download_stats_per_country); priv->download_stats_per_country = g_value_dup_object (value); } } break; case PROP_RECENT_DOWNLOADS: priv->recent_downloads = g_value_get_int (value); break; case PROP_TOTAL_DOWNLOADS: priv->total_downloads = g_value_get_int (value); break; case PROP_FAVORITES_COUNT: priv->favorites_count = g_value_get_int (value); break; case PROP_HOLDING: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_entry_class_init (BzEntryClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_entry_set_property; object_class->get_property = bz_entry_get_property; object_class->dispose = bz_entry_dispose; props[PROP_HOLDING] = g_param_spec_boolean ( "holding", NULL, NULL, FALSE, G_PARAM_READABLE); props[PROP_INSTALLED] = g_param_spec_boolean ( "installed", NULL, NULL, FALSE, G_PARAM_READWRITE); props[PROP_INSTALLED_VERSION] = g_param_spec_string ( "installed-version", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_REINSTALLABLE] = g_param_spec_boolean ( "reinstallable", NULL, NULL, TRUE, G_PARAM_READWRITE); props[PROP_SEARCHABLE] = g_param_spec_boolean ( "searchable", NULL, NULL, TRUE, G_PARAM_READWRITE); props[PROP_ADDONS] = g_param_spec_object ( "addons", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_KINDS] = g_param_spec_flags ( "kinds", NULL, NULL, BZ_TYPE_ENTRY_KIND, 0, G_PARAM_READWRITE); props[PROP_ID] = g_param_spec_string ( "id", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_UNIQUE_ID] = g_param_spec_string ( "unique-id", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_UNIQUE_ID_CHECKSUM] = g_param_spec_string ( "unique-id-checksum", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_TITLE] = g_param_spec_string ( "title", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_EOL] = g_param_spec_string ( "eol", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_DESCRIPTION] = g_param_spec_string ( "description", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_LONG_DESCRIPTION] = g_param_spec_string ( "long-description", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_URL] = g_param_spec_string ( "url", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_REMOTE_REPO_NAME] = g_param_spec_string ( "remote-repo-name", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_SIZE] = g_param_spec_uint64 ( "size", NULL, NULL, 0, G_MAXUINT64, 0, G_PARAM_READWRITE); props[PROP_INSTALLED_SIZE] = g_param_spec_uint64 ( "installed-size", NULL, NULL, 0, G_MAXUINT64, 0, G_PARAM_READWRITE); props[PROP_ICON_PAINTABLE] = g_param_spec_object ( "icon-paintable", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE); props[PROP_MINI_ICON] = g_param_spec_object ( "mini-icon", NULL, NULL, G_TYPE_ICON, G_PARAM_READWRITE); props[PROP_SEARCH_TOKENS] = g_param_spec_string ( "search-tokens", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_REMOTE_REPO_ICON] = g_param_spec_object ( "remote-repo-icon", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE); props[PROP_METADATA_LICENSE] = g_param_spec_string ( "metadata-license", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_PROJECT_LICENSE] = g_param_spec_string ( "project-license", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_IS_FLOSS] = g_param_spec_boolean ( "is-floss", NULL, NULL, FALSE, G_PARAM_READWRITE); props[PROP_PROJECT_GROUP] = g_param_spec_string ( "project-group", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_DEVELOPER] = g_param_spec_string ( "developer", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_DEVELOPER_ID] = g_param_spec_string ( "developer-id", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_DEVELOPER_APPS] = g_param_spec_object ( "developer-apps", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_SIMILAR_APPS] = g_param_spec_object ( "similar-apps", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_SCREENSHOT_PAINTABLES] = g_param_spec_object ( "screenshot-paintables", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_SCREENSHOT_CAPTIONS] = g_param_spec_object ( "screenshot-captions", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_THUMBNAIL_PAINTABLE] = g_param_spec_object ( "thumbnail-paintable", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE); props[PROP_SHARE_URLS] = g_param_spec_object ( "share-urls", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_DONATION_URL] = g_param_spec_string ( "donation-url", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_RATINGS_SUMMARY] = g_param_spec_string ( "ratings-summary", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_VERSION_HISTORY] = g_param_spec_object ( "version-history", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_LIGHT_ACCENT_COLOR] = g_param_spec_string ( "light-accent-color", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_DARK_ACCENT_COLOR] = g_param_spec_string ( "dark-accent-color", NULL, NULL, NULL, G_PARAM_READWRITE); props[PROP_IS_MOBILE_FRIENDLY] = g_param_spec_boolean ( "is-mobile-friendly", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_REQUIRED_CONTROLS] = g_param_spec_flags ( "required-controls", NULL, NULL, BZ_TYPE_CONTROL_TYPE, BZ_CONTROL_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_RECOMMENDED_CONTROLS] = g_param_spec_flags ( "recommended-controls", NULL, NULL, BZ_TYPE_CONTROL_TYPE, BZ_CONTROL_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_SUPPORTED_CONTROLS] = g_param_spec_flags ( "supported-controls", NULL, NULL, BZ_TYPE_CONTROL_TYPE, BZ_CONTROL_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_MIN_DISPLAY_LENGTH] = g_param_spec_int ( "min-display-length", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_MAX_DISPLAY_LENGTH] = g_param_spec_int ( "max-display-length", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_CONTENT_RATING] = g_param_spec_object ( "content-rating", NULL, NULL, AS_TYPE_CONTENT_RATING, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_KEYWORDS] = g_param_spec_object ( "keywords", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_CATEGORIES] = g_param_spec_uint ( "categories", NULL, NULL, 0, G_MAXUINT, BZ_CATEGORY_FLAGS_NONE, G_PARAM_READWRITE); props[PROP_PERMISSIONS] = g_param_spec_object ( "permissions", NULL, NULL, BZ_TYPE_APP_PERMISSIONS, G_PARAM_READWRITE); props[PROP_IS_FLATHUB] = g_param_spec_boolean ( "is-flathub", NULL, NULL, FALSE, G_PARAM_READWRITE); props[PROP_VERIFICATION_STATUS] = g_param_spec_object ( "verification-status", NULL, NULL, BZ_TYPE_VERIFICATION_STATUS, G_PARAM_READWRITE); props[PROP_DOWNLOAD_STATS] = g_param_spec_object ( "download-stats", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_DOWNLOAD_STATS_PER_COUNTRY] = g_param_spec_object ( "download-stats-per-country", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_RECENT_DOWNLOADS] = g_param_spec_int ( "recent-downloads", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE); props[PROP_TOTAL_DOWNLOADS] = g_param_spec_int ( "total-downloads", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE); props[PROP_FAVORITES_COUNT] = g_param_spec_int ( "favorites-count", NULL, NULL, -1, G_MAXINT, -1, G_PARAM_READWRITE); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_entry_init (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); priv->hold = 0; priv->reinstallable = TRUE; priv->searchable = TRUE; priv->favorites_count = -1; } static void bz_entry_real_serialize (BzSerializable *serializable, GVariantBuilder *builder) { BzEntry *self = BZ_ENTRY (serializable); BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_variant_builder_add (builder, "{sv}", "installed", g_variant_new_boolean (priv->installed)); if (priv->installed_version != NULL) g_variant_builder_add (builder, "{sv}", "installed-version", g_variant_new_string (priv->installed_version)); g_variant_builder_add (builder, "{sv}", "kinds", g_variant_new_uint32 (priv->kinds)); g_variant_builder_add (builder, "{sv}", "reinstallable", g_variant_new_boolean (priv->reinstallable)); g_variant_builder_add (builder, "{sv}", "searchable", g_variant_new_boolean (priv->searchable)); if (priv->addons != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->addons); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_items; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (priv->addons, i); g_variant_builder_add (sub_builder, "s", gtk_string_object_get_string (string)); } g_variant_builder_add (builder, "{sv}", "addons", g_variant_builder_end (sub_builder)); } } if (priv->id != NULL) g_variant_builder_add (builder, "{sv}", "id", g_variant_new_string (priv->id)); if (priv->unique_id != NULL) g_variant_builder_add (builder, "{sv}", "unique-id", g_variant_new_string (priv->unique_id)); if (priv->unique_id_checksum != NULL) g_variant_builder_add (builder, "{sv}", "unique-id-checksum", g_variant_new_string (priv->unique_id_checksum)); if (priv->title != NULL) g_variant_builder_add (builder, "{sv}", "title", g_variant_new_string (priv->title)); if (priv->eol != NULL) g_variant_builder_add (builder, "{sv}", "eol", g_variant_new_string (priv->eol)); if (priv->description != NULL) g_variant_builder_add (builder, "{sv}", "description", g_variant_new_string (priv->description)); if (priv->long_description != NULL) g_variant_builder_add (builder, "{sv}", "long-description", g_variant_new_string (priv->long_description)); if (priv->remote_repo_name != NULL) g_variant_builder_add (builder, "{sv}", "remote-repo-name", g_variant_new_string (priv->remote_repo_name)); if (priv->url != NULL) g_variant_builder_add (builder, "{sv}", "url", g_variant_new_string (priv->url)); if (priv->size > 0) g_variant_builder_add (builder, "{sv}", "size", g_variant_new_uint64 (priv->size)); if (priv->installed_size > 0) g_variant_builder_add (builder, "{sv}", "installed-size", g_variant_new_uint64 (priv->installed_size)); if (priv->icon_paintable != NULL) maybe_save_paintable (priv, "icon-paintable", priv->icon_paintable, builder); if (priv->mini_icon != NULL) { g_autoptr (GVariant) serialized = NULL; serialized = g_icon_serialize (priv->mini_icon); g_variant_builder_add (builder, "{sv}", "mini-icon", serialized); } if (priv->remote_repo_icon != NULL) maybe_save_paintable (priv, "remote-repo-icon", priv->remote_repo_icon, builder); if (priv->search_tokens != NULL) g_variant_builder_add (builder, "{sv}", "search-tokens", g_variant_new_string (priv->search_tokens)); if (priv->metadata_license != NULL) g_variant_builder_add (builder, "{sv}", "metadata-license", g_variant_new_string (priv->metadata_license)); if (priv->project_license != NULL) g_variant_builder_add (builder, "{sv}", "project-license", g_variant_new_string (priv->project_license)); g_variant_builder_add (builder, "{sv}", "is-floss", g_variant_new_boolean (priv->is_floss)); if (priv->project_group != NULL) g_variant_builder_add (builder, "{sv}", "project-group", g_variant_new_string (priv->project_group)); if (priv->developer != NULL) g_variant_builder_add (builder, "{sv}", "developer", g_variant_new_string (priv->developer)); if (priv->developer_id != NULL) g_variant_builder_add (builder, "{sv}", "developer-id", g_variant_new_string (priv->developer_id)); if (priv->screenshot_paintables != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->screenshot_paintables); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}")); for (guint i = 0; i < n_items; i++) { g_autoptr (GdkPaintable) paintable = NULL; g_autofree char *key = NULL; paintable = g_list_model_get_item (priv->screenshot_paintables, i); key = g_strdup_printf ("screenshot_%d.png", i); maybe_save_paintable (priv, key, paintable, sub_builder); } g_variant_builder_add (builder, "{sv}", "screenshot-paintables", g_variant_builder_end (sub_builder)); } } if (priv->screenshot_captions != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->screenshot_captions); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_items; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (priv->screenshot_captions, i); g_variant_builder_add (sub_builder, "s", gtk_string_object_get_string (string)); } g_variant_builder_add (builder, "{sv}", "screenshot-captions", g_variant_builder_end (sub_builder)); } } if (priv->thumbnail_paintable != NULL) maybe_save_paintable (priv, "thumbnail-paintable", priv->thumbnail_paintable, builder); if (priv->share_urls != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->share_urls); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ss)")); for (guint i = 0; i < n_items; i++) { g_autoptr (BzUrl) url = NULL; const char *id = NULL; const char *url_str = NULL; url = g_list_model_get_item (priv->share_urls, i); id = bz_url_get_id (url); url_str = bz_url_get_url (url); g_variant_builder_add (sub_builder, "(ss)", id ? id : "", url_str ? url_str : ""); } g_variant_builder_add (builder, "{sv}", "share-urls", g_variant_builder_end (sub_builder)); } } if (priv->donation_url != NULL) g_variant_builder_add (builder, "{sv}", "donation-url", g_variant_new_string (priv->donation_url)); if (priv->version_history != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->version_history); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(mstmsms)")); for (guint i = 0; i < n_items; i++) { g_autoptr (BzRelease) release = NULL; guint64 timestamp = 0; const char *url = NULL; const char *version = NULL; const char *description = NULL; release = g_list_model_get_item (priv->version_history, i); timestamp = bz_release_get_timestamp (release); url = bz_release_get_url (release); version = bz_release_get_version (release); description = bz_release_get_description (release); g_variant_builder_add ( sub_builder, "(mstmsms)", description, timestamp, url, version); } g_variant_builder_add (builder, "{sv}", "version-history", g_variant_builder_end (sub_builder)); } } if (priv->light_accent_color != NULL) g_variant_builder_add (builder, "{sv}", "light-accent-color", g_variant_new_string (priv->light_accent_color)); if (priv->dark_accent_color != NULL) g_variant_builder_add (builder, "{sv}", "dark-accent-color", g_variant_new_string (priv->dark_accent_color)); g_variant_builder_add (builder, "{sv}", "is-mobile-friendly", g_variant_new_boolean (priv->is_mobile_friendly)); if (priv->required_controls != BZ_CONTROL_NONE) g_variant_builder_add (builder, "{sv}", "required-controls", g_variant_new_uint32 (priv->required_controls)); if (priv->recommended_controls != BZ_CONTROL_NONE) g_variant_builder_add (builder, "{sv}", "recommended-controls", g_variant_new_uint32 (priv->recommended_controls)); if (priv->supported_controls != BZ_CONTROL_NONE) g_variant_builder_add (builder, "{sv}", "supported-controls", g_variant_new_uint32 (priv->supported_controls)); if (priv->min_display_length > 0) g_variant_builder_add (builder, "{sv}", "min-display-length", g_variant_new_int32 (priv->min_display_length)); if (priv->max_display_length > 0) g_variant_builder_add (builder, "{sv}", "max-display-length", g_variant_new_int32 (priv->max_display_length)); if (priv->content_rating != NULL) { const gchar *kind = as_content_rating_get_kind (priv->content_rating); g_autoptr (GVariantBuilder) sub_builder = NULL; g_autofree const gchar **rating_ids = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ss)")); rating_ids = as_content_rating_get_all_rating_ids (); for (gsize i = 0; rating_ids[i] != NULL; i++) { AsContentRatingValue value = as_content_rating_get_value (priv->content_rating, rating_ids[i]); const gchar *value_str = as_content_rating_value_to_string (value); if (value != AS_CONTENT_RATING_VALUE_UNKNOWN) g_variant_builder_add (sub_builder, "(ss)", rating_ids[i], value_str); } g_variant_builder_add (builder, "{sv}", "content-rating-kind", g_variant_new_string (kind ? kind : "oars-1.1")); g_variant_builder_add (builder, "{sv}", "content-rating-values", g_variant_builder_end (sub_builder)); } if (priv->keywords != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->keywords); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_items; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (priv->keywords, i); g_variant_builder_add (sub_builder, "s", gtk_string_object_get_string (string)); } g_variant_builder_add (builder, "{sv}", "keywords", g_variant_builder_end (sub_builder)); } } if (priv->categories != BZ_CATEGORY_FLAGS_NONE) g_variant_builder_add (builder, "{sv}", "categories", g_variant_new_uint32 (priv->categories)); if (priv->verification_status != NULL) { gboolean verified = FALSE; g_autofree char *method = NULL; g_autofree char *website = NULL; g_autofree char *login_name = NULL; g_autofree char *login_provider = NULL; g_autofree char *timestamp = NULL; gboolean login_is_organization = FALSE; g_object_get (priv->verification_status, "verified", &verified, "method", &method, "website", &website, "login-name", &login_name, "login-provider", &login_provider, "timestamp", ×tamp, "login-is-organization", &login_is_organization, NULL); g_variant_builder_add (builder, "{sv}", "verification-verified", g_variant_new_boolean (verified)); if (method != NULL) g_variant_builder_add (builder, "{sv}", "verification-method", g_variant_new_string (method)); if (website != NULL) g_variant_builder_add (builder, "{sv}", "verification-website", g_variant_new_string (website)); if (login_name != NULL) g_variant_builder_add (builder, "{sv}", "verification-login-name", g_variant_new_string (login_name)); if (login_provider != NULL) g_variant_builder_add (builder, "{sv}", "verification-login-provider", g_variant_new_string (login_provider)); if (timestamp != NULL) g_variant_builder_add (builder, "{sv}", "verification-timestamp", g_variant_new_string (timestamp)); g_variant_builder_add (builder, "{sv}", "verification-login-is-organization", g_variant_new_boolean (login_is_organization)); } if (priv->permissions != NULL) { bz_app_permissions_serialize (priv->permissions, builder); } g_variant_builder_add (builder, "{sv}", "is-flathub", g_variant_new_boolean (priv->is_flathub)); if (priv->is_flathub) { if (priv->flathub_prop_queries != NULL) { if (g_hash_table_contains (priv->flathub_prop_queries, GINT_TO_POINTER (PROP_DOWNLOAD_STATS)) && priv->download_stats != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (priv->download_stats); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ddms)")); for (guint i = 0; i < n_items; i++) { g_autoptr (BzDataPoint) point = NULL; double independent = 0.0; double dependent = 0.0; const char *label = NULL; point = g_list_model_get_item (priv->download_stats, i); independent = bz_data_point_get_independent (point); dependent = bz_data_point_get_dependent (point); label = bz_data_point_get_label (point); g_variant_builder_add (sub_builder, "(ddms)", independent, dependent, label); } g_variant_builder_add (builder, "{sv}", "download-stats", g_variant_builder_end (sub_builder)); } } if (g_hash_table_contains (priv->flathub_prop_queries, GINT_TO_POINTER (PROP_RECENT_DOWNLOADS))) g_variant_builder_add (builder, "{sv}", "recent-downloads", g_variant_new_int32 (priv->recent_downloads)); if (g_hash_table_contains (priv->flathub_prop_queries, GINT_TO_POINTER (PROP_FAVORITES_COUNT))) g_variant_builder_add (builder, "{sv}", "favorites-count", g_variant_new_int32 (priv->favorites_count)); } } } static gboolean bz_entry_real_deserialize (BzSerializable *serializable, GVariant *import, GError **error) { BzEntry *self = BZ_ENTRY (serializable); BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_autoptr (GVariantIter) iter = NULL; clear_entry (self); iter = g_variant_iter_new (import); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "installed") == 0) priv->installed = g_variant_get_boolean (value); else if (g_strcmp0 (key, "installed-version") == 0) priv->installed_version = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "kinds") == 0) priv->kinds = g_variant_get_uint32 (value); else if (g_strcmp0 (key, "reinstallable") == 0) priv->reinstallable = g_variant_get_boolean (value); else if (g_strcmp0 (key, "searchable") == 0) priv->searchable = g_variant_get_boolean (value); else if (g_strcmp0 (key, "addons") == 0) { g_autoptr (GListStore) store = NULL; g_autoptr (GVariantIter) addon_iter = NULL; store = g_list_store_new (GTK_TYPE_STRING_OBJECT); addon_iter = g_variant_iter_new (value); for (;;) { g_autofree char *unique_id = NULL; g_autoptr (GtkStringObject) string = NULL; if (!g_variant_iter_next (addon_iter, "s", &unique_id)) break; string = gtk_string_object_new (unique_id); g_list_store_append (store, string); } priv->addons = G_LIST_MODEL (g_steal_pointer (&store)); } else if (g_strcmp0 (key, "id") == 0) priv->id = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "unique-id") == 0) priv->unique_id = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "unique-id-checksum") == 0) priv->unique_id_checksum = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "title") == 0) priv->title = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "eol") == 0) priv->eol = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "description") == 0) priv->description = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "long-description") == 0) priv->long_description = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "remote-repo-name") == 0) priv->remote_repo_name = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "url") == 0) priv->url = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "size") == 0) priv->size = g_variant_get_uint64 (value); else if (g_strcmp0 (key, "installed-size") == 0) priv->installed_size = g_variant_get_uint64 (value); else if (g_strcmp0 (key, "icon-paintable") == 0) priv->icon_paintable = make_async_texture (value); else if (g_strcmp0 (key, "mini-icon") == 0) priv->mini_icon = g_icon_deserialize (value); else if (g_strcmp0 (key, "remote-repo-icon") == 0) priv->remote_repo_icon = make_async_texture (value); else if (g_strcmp0 (key, "search-tokens") == 0) priv->search_tokens = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "metadata-license") == 0) priv->metadata_license = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "project-license") == 0) priv->project_license = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "is-floss") == 0) priv->is_floss = g_variant_get_boolean (value); else if (g_strcmp0 (key, "developer") == 0) priv->developer = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "developer-id") == 0) priv->developer_id = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "screenshot-paintables") == 0) { g_autoptr (GListStore) store = NULL; g_autoptr (GVariantIter) screenshot_iter = NULL; store = g_list_store_new (BZ_TYPE_ASYNC_TEXTURE); screenshot_iter = g_variant_iter_new (value); for (;;) { g_autofree char *basename = NULL; g_autoptr (GVariant) screenshot = NULL; g_autoptr (GdkPaintable) texture = NULL; if (!g_variant_iter_next (screenshot_iter, "{sv}", &basename, &screenshot)) break; texture = make_async_texture (screenshot); g_list_store_append (store, texture); } priv->screenshot_paintables = G_LIST_MODEL (g_steal_pointer (&store)); } else if (g_strcmp0 (key, "screenshot-captions") == 0) { g_autoptr (GListStore) store = NULL; g_autoptr (GVariantIter) caption_iter = NULL; store = g_list_store_new (GTK_TYPE_STRING_OBJECT); caption_iter = g_variant_iter_new (value); for (;;) { g_autofree char *caption = NULL; g_autoptr (GtkStringObject) string = NULL; if (!g_variant_iter_next (caption_iter, "s", &caption)) break; string = gtk_string_object_new (caption); g_list_store_append (store, string); } priv->screenshot_captions = G_LIST_MODEL (g_steal_pointer (&store)); } else if (g_strcmp0 (key, "thumbnail-paintable") == 0) priv->thumbnail_paintable = make_async_texture (value); else if (g_strcmp0 (key, "share-urls") == 0) { g_autoptr (GListStore) store = NULL; g_autoptr (GVariantIter) url_iter = NULL; store = g_list_store_new (BZ_TYPE_URL); url_iter = g_variant_iter_new (value); for (;;) { g_autofree char *id = NULL; g_autofree char *url_str = NULL; g_autoptr (BzUrl) url = NULL; if (!g_variant_iter_next (url_iter, "(ss)", &id, &url_str)) break; url = bz_url_new (); bz_url_set_id (url, id); bz_url_set_url (url, url_str); g_list_store_append (store, url); } priv->share_urls = G_LIST_MODEL (g_steal_pointer (&store)); } else if (g_strcmp0 (key, "donation-url") == 0) priv->donation_url = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "version-history") == 0) { g_autoptr (GListStore) store = NULL; g_autoptr (GVariantIter) version_iter = NULL; store = g_list_store_new (BZ_TYPE_RELEASE); version_iter = g_variant_iter_new (value); for (;;) { guint64 timestamp = 0; g_autofree char *url = NULL; g_autofree char *description = NULL; g_autofree char *version = NULL; g_autoptr (BzRelease) release = NULL; if (!g_variant_iter_next (version_iter, "(mstmsms)", &description, ×tamp, &url, &version)) break; release = bz_release_new (); bz_release_set_timestamp (release, timestamp); bz_release_set_url (release, url); bz_release_set_version (release, version); bz_release_set_description (release, description); g_list_store_append (store, release); } priv->version_history = G_LIST_MODEL (g_steal_pointer (&store)); } else if (g_strcmp0 (key, "light-accent-color") == 0) priv->light_accent_color = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "dark-accent-color") == 0) priv->dark_accent_color = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "is-mobile-friendly") == 0) priv->is_mobile_friendly = g_variant_get_boolean (value); else if (g_strcmp0 (key, "required-controls") == 0 && g_variant_is_of_type (value, G_VARIANT_TYPE_UINT32)) priv->required_controls = g_variant_get_uint32 (value); else if (g_strcmp0 (key, "recommended-controls") == 0 && g_variant_is_of_type (value, G_VARIANT_TYPE_UINT32)) priv->recommended_controls = g_variant_get_uint32 (value); else if (g_strcmp0 (key, "supported-controls") == 0 && g_variant_is_of_type (value, G_VARIANT_TYPE_UINT32)) priv->supported_controls = g_variant_get_uint32 (value); else if (g_strcmp0 (key, "min-display-length") == 0) priv->min_display_length = g_variant_get_int32 (value); else if (g_strcmp0 (key, "max-display-length") == 0) priv->max_display_length = g_variant_get_int32 (value); else if (g_strcmp0 (key, "content-rating-kind") == 0) { g_autofree gchar *kind = NULL; kind = g_variant_dup_string (value, NULL); if (priv->content_rating == NULL) priv->content_rating = as_content_rating_new (); as_content_rating_set_kind (priv->content_rating, kind); } else if (g_strcmp0 (key, "content-rating-values") == 0) { g_autoptr (GVariantIter) rating_iter = NULL; if (priv->content_rating == NULL) priv->content_rating = as_content_rating_new (); rating_iter = g_variant_iter_new (value); for (;;) { g_autofree gchar *rating_id = NULL; g_autofree gchar *rating_value_str = NULL; AsContentRatingValue rating_value; if (!g_variant_iter_next (rating_iter, "(ss)", &rating_id, &rating_value_str)) break; rating_value = as_content_rating_value_from_string (rating_value_str); if (rating_value != AS_CONTENT_RATING_VALUE_UNKNOWN) as_content_rating_set_value (priv->content_rating, rating_id, rating_value); } } else if (g_strcmp0 (key, "keywords") == 0) { g_autoptr (GListStore) store = NULL; g_autoptr (GVariantIter) keywords_iter = NULL; store = g_list_store_new (GTK_TYPE_STRING_OBJECT); keywords_iter = g_variant_iter_new (value); for (;;) { g_autofree char *keyword = NULL; g_autoptr (GtkStringObject) string = NULL; if (!g_variant_iter_next (keywords_iter, "s", &keyword)) break; string = gtk_string_object_new (keyword); g_list_store_append (store, string); } priv->keywords = G_LIST_MODEL (g_steal_pointer (&store)); } else if (g_strcmp0 (key, "categories") == 0) priv->categories = g_variant_get_uint32 (value); else if (g_strcmp0 (key, "verification-verified") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "verified", g_variant_get_boolean (value), NULL); } else if (g_strcmp0 (key, "verification-method") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "method", g_variant_get_string (value, NULL), NULL); } else if (g_strcmp0 (key, "verification-website") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "website", g_variant_get_string (value, NULL), NULL); } else if (g_strcmp0 (key, "verification-login-name") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "login-name", g_variant_get_string (value, NULL), NULL); } else if (g_strcmp0 (key, "verification-login-provider") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "login-provider", g_variant_get_string (value, NULL), NULL); } else if (g_strcmp0 (key, "verification-timestamp") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "timestamp", g_variant_get_string (value, NULL), NULL); } else if (g_strcmp0 (key, "verification-login-is-organization") == 0) { if (priv->verification_status == NULL) priv->verification_status = bz_verification_status_new (); g_object_set (priv->verification_status, "login-is-organization", g_variant_get_boolean (value), NULL); } else if (g_strcmp0 (key, "is-flathub") == 0) priv->is_flathub = g_variant_get_boolean (value); else if (g_str_has_prefix (key, "permissions-")) { continue; } } if (priv->permissions == NULL) priv->permissions = bz_app_permissions_new (); if (!bz_app_permissions_deserialize (priv->permissions, import, error)) { g_warning ("Failed to deserialize app permissions"); } return TRUE; } void bz_entry_hold (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_if_fail (BZ_IS_ENTRY (self)); priv = bz_entry_get_instance_private (self); if (++priv->hold == 1) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HOLDING]); } void bz_entry_release (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_if_fail (BZ_IS_ENTRY (self)); priv = bz_entry_get_instance_private (self); if (--priv->hold == 0) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HOLDING]); } gboolean bz_entry_is_holding (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); return priv->hold > 0; } gboolean bz_entry_is_installed (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); return priv->installed; } void bz_entry_set_installed (BzEntry *self, gboolean installed) { BzEntryPrivate *priv = NULL; g_return_if_fail (BZ_IS_ENTRY (self)); priv = bz_entry_get_instance_private (self); priv->installed = installed; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLED]); } const char * bz_entry_get_installed_version (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->installed_version; } void bz_entry_set_installed_version (BzEntry *self, const char *version) { BzEntryPrivate *priv = NULL; g_return_if_fail (BZ_IS_ENTRY (self)); priv = bz_entry_get_instance_private (self); g_clear_pointer (&priv->installed_version, g_free); priv->installed_version = g_strdup (version); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INSTALLED_VERSION]); } gboolean bz_entry_is_of_kinds (BzEntry *self, guint kinds) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); return (priv->kinds & kinds) == kinds; } gboolean bz_entry_is_reinstallable (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), TRUE); priv = bz_entry_get_instance_private (self); return priv->reinstallable; } gboolean bz_entry_is_searchable (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), TRUE); priv = bz_entry_get_instance_private (self); return priv->searchable; } void bz_entry_append_addon (BzEntry *self, const char *id) { BzEntryPrivate *priv = NULL; g_autoptr (GtkStringObject) string = NULL; g_return_if_fail (BZ_IS_ENTRY (self)); g_return_if_fail (id != NULL); priv = bz_entry_get_instance_private (self); string = gtk_string_object_new (id); if (priv->addons == NULL) { priv->addons = (GListModel *) g_list_store_new (GTK_TYPE_STRING_OBJECT); g_list_store_append (G_LIST_STORE (priv->addons), string); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ADDONS]); } else g_list_store_append (G_LIST_STORE (priv->addons), string); } GListModel * bz_entry_get_addons (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->addons; } const char * bz_entry_get_id (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->id; } const char * bz_entry_get_unique_id (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->unique_id; } const char * bz_entry_get_unique_id_checksum (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->unique_id_checksum; } const char * bz_entry_get_title (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->title; } const char * bz_entry_get_developer (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->developer; } gboolean bz_entry_is_verified (BzEntry *self) { BzEntryPrivate *priv = NULL; gboolean verified = FALSE; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); if (priv->verification_status != NULL) g_object_get (priv->verification_status, "verified", &verified, NULL); return verified; } const char * bz_entry_get_eol (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), 0); priv = bz_entry_get_instance_private (self); return priv->eol; } const char * bz_entry_get_description (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->description; } const char * bz_entry_get_long_description (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->long_description; } const char * bz_entry_get_remote_repo_name (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->remote_repo_name; } guint64 bz_entry_get_size (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), 0); priv = bz_entry_get_instance_private (self); return priv->size; } guint64 bz_entry_get_installed_size (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), 0); priv = bz_entry_get_instance_private (self); return priv->installed_size; } GdkPaintable * bz_entry_get_icon_paintable (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->icon_paintable; } GListModel * bz_entry_get_screenshot_paintables (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->screenshot_paintables; } GIcon * bz_entry_get_mini_icon (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->mini_icon; } const char * bz_entry_get_search_tokens (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->search_tokens; } GListModel * bz_entry_get_share_urls (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->share_urls; } const char * bz_entry_get_url (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->url; } const char * bz_entry_get_donation_url (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->donation_url; } BzRepository * bz_entry_get_repository (BzEntry *self, GListModel *repos) { BzEntryPrivate *priv = NULL; guint n_repos = 0; g_auto (GStrv) parts = NULL; const char *scope = NULL; const char *repo_name = NULL; gboolean is_user = FALSE; priv = bz_entry_get_instance_private (self); if (priv->unique_id == NULL) return NULL; parts = g_strsplit (priv->unique_id, "::", -1); if (g_strv_length (parts) < 3) return NULL; scope = parts[0]; repo_name = parts[1]; is_user = g_strcmp0 (scope, "FLATPAK-USER") == 0; n_repos = g_list_model_get_n_items (repos); for (guint i = 0; i < n_repos; i++) { g_autoptr (BzRepository) repo = g_list_model_get_item (repos, i); const char *name = bz_repository_get_name (repo); gboolean repo_is_user = bz_repository_get_is_user (repo); if (repo_is_user == is_user && g_strcmp0 (name, repo_name) == 0) return g_object_ref (repo); } return NULL; } gboolean bz_entry_get_is_foss (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); return priv->is_floss; } const char * bz_entry_get_light_accent_color (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->light_accent_color; } const char * bz_entry_get_dark_accent_color (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); priv = bz_entry_get_instance_private (self); return priv->dark_accent_color; } gboolean bz_entry_get_is_mobile_friendly (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); return priv->is_mobile_friendly; } guint bz_entry_get_required_controls (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), BZ_CONTROL_NONE); return priv->required_controls; } guint bz_entry_get_recommended_controls (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), BZ_CONTROL_NONE); return priv->recommended_controls; } guint bz_entry_get_supported_controls (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), BZ_CONTROL_NONE); return priv->supported_controls; } gboolean bz_entry_has_control (BzEntry *self, BzControlType control, BzRelationType relation) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); switch (relation) { case BZ_RELATION_REQUIRES: return (priv->required_controls & control) != 0; case BZ_RELATION_RECOMMENDS: return (priv->recommended_controls & control) != 0; case BZ_RELATION_SUPPORTS: return (priv->supported_controls & control) != 0; default: return FALSE; } } gint bz_entry_get_min_display_length (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), 0); return priv->min_display_length; } gint bz_entry_get_max_display_length (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), 0); return priv->max_display_length; } gboolean bz_entry_supports_form_factor (BzEntry *self, guint available_controls, gint display_length) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); if (priv->required_controls != BZ_CONTROL_NONE) { if ((priv->required_controls & available_controls) != priv->required_controls) return FALSE; } if (priv->min_display_length > 0 && display_length < priv->min_display_length) return FALSE; if (priv->max_display_length > 0 && display_length > priv->max_display_length) return FALSE; return TRUE; } AsContentRating * bz_entry_get_content_rating (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_return_val_if_fail (BZ_IS_ENTRY (self), NULL); return priv->content_rating; } BzCategoryFlags bz_entry_get_category_flags (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), BZ_CATEGORY_FLAGS_NONE); priv = bz_entry_get_instance_private (self); return priv->categories; } gboolean bz_entry_get_is_flathub (BzEntry *self) { BzEntryPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); return priv->is_flathub; } gint bz_entry_calc_usefulness (BzEntry *self) { BzEntryPrivate *priv = NULL; gint score = 0; g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); priv = bz_entry_get_instance_private (self); score += priv->is_flathub ? 1000 : 0; score += priv->title != NULL ? 5 : 0; score += priv->description != NULL ? 1 : 0; score += priv->long_description != NULL ? 5 : 0; score += priv->url != NULL ? 1 : 0; score += priv->size > 0 ? 1 : 0; score += priv->icon_paintable != NULL ? 15 : 0; score += priv->remote_repo_icon != NULL ? 1 : 0; score += priv->metadata_license != NULL ? 1 : 0; score += priv->project_license != NULL ? 1 : 0; score += priv->project_group != NULL ? 1 : 0; score += priv->developer != NULL ? 1 : 0; score += priv->developer_id != NULL ? 1 : 0; score += priv->screenshot_paintables != NULL ? 5 : 0; score += priv->share_urls != NULL ? 5 : 0; score -= priv->eol != NULL ? 500 : 0; return score; } void bz_entry_serialize (BzEntry *self, GVariantBuilder *builder) { g_return_if_fail (BZ_IS_ENTRY (self)); g_return_if_fail (builder != NULL); return bz_entry_real_serialize (BZ_SERIALIZABLE (self), builder); } gboolean bz_entry_deserialize (BzEntry *self, GVariant *import, GError **error) { g_return_val_if_fail (BZ_IS_ENTRY (self), FALSE); g_return_val_if_fail (import != NULL, FALSE); return bz_entry_real_deserialize (BZ_SERIALIZABLE (self), import, error); } GIcon * bz_load_mini_icon_sync (const char *unique_id_checksum, const char *path) { guint icon_size = 0; g_autofree char *main_cache = NULL; g_autofree char *mini_icon_basename = NULL; g_autofree char *mini_icon_path = NULL; g_autoptr (GBytes) bytes = NULL; cairo_surface_t *surface_in = NULL; int width = 0; int height = 0; cairo_surface_t *surface_out = NULL; cairo_t *cairo = NULL; g_autoptr (GFile) parent_file = NULL; g_autoptr (GFile) mini_icon_file = NULL; g_autoptr (GIcon) mini_icon = NULL; icon_size = bz_get_desktop_search_provider_icon_size (); main_cache = bz_dup_module_dir (); mini_icon_basename = g_strdup_printf ("%s-%ux%u", unique_id_checksum, icon_size, icon_size); mini_icon_path = g_build_filename (main_cache, mini_icon_basename, NULL); if (g_file_test (mini_icon_path, G_FILE_TEST_EXISTS)) /* Assume the icon left behind by last writer */ goto done; surface_in = cairo_image_surface_create_from_png (path); width = cairo_image_surface_get_width (surface_in); height = cairo_image_surface_get_height (surface_in); surface_out = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, icon_size, icon_size); cairo = cairo_create (surface_out); cairo_scale (cairo, (double) icon_size / (double) width, (double) icon_size / (double) height); cairo_set_source_surface (cairo, surface_in, 0, 0); cairo_paint (cairo); cairo_restore (cairo); parent_file = g_file_new_for_path (main_cache); g_file_make_directory_with_parents (parent_file, NULL, NULL); cairo_surface_flush (surface_out); cairo_surface_write_to_png (surface_out, mini_icon_path); cairo_destroy (cairo); cairo_surface_destroy (surface_in); cairo_surface_destroy (surface_out); done: mini_icon_file = g_file_new_for_path (mini_icon_path); mini_icon = g_file_icon_new (mini_icon_file); return g_steal_pointer (&mini_icon); } static void query_flathub (BzEntry *self, int prop) { BzEntryPrivate *priv = NULL; g_autoptr (QueryFlathubData) data = NULL; g_autoptr (DexFuture) future = NULL; gboolean is_download_stat = FALSE; gboolean is_similar_apps = FALSE; priv = bz_entry_get_instance_private (self); is_download_stat = (prop == PROP_DOWNLOAD_STATS || prop == PROP_DOWNLOAD_STATS_PER_COUNTRY || prop == PROP_RECENT_DOWNLOADS || prop == PROP_TOTAL_DOWNLOADS); is_similar_apps = (prop == PROP_SIMILAR_APPS); if (!is_download_stat && !is_similar_apps && !priv->is_flathub) return; if (priv->id == NULL) return; if (priv->flathub_prop_queries == NULL) priv->flathub_prop_queries = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, dex_unref); else if (g_hash_table_contains (priv->flathub_prop_queries, GINT_TO_POINTER (prop))) return; data = query_flathub_data_new (); g_weak_ref_init (&data->self, self); data->prop = prop; data->id = g_strdup (priv->id); data->developer = g_strdup (priv->developer); future = dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) query_flathub_fiber, query_flathub_data_ref (data), query_flathub_data_unref); future = dex_future_then ( future, (DexFutureCallback) query_flathub_then, query_flathub_data_ref (data), query_flathub_data_unref); g_hash_table_replace ( priv->flathub_prop_queries, GINT_TO_POINTER (prop), g_steal_pointer (&future)); } static gint compare_dates (BzDataPoint *a, BzDataPoint *b) { double date_a = bz_data_point_get_independent (a); double date_b = bz_data_point_get_independent (b); return (date_a > date_b) - (date_a < date_b); } static DexFuture * query_flathub_fiber (QueryFlathubData *data) { int prop = data->prop; char *id = data->id; char *developer = data->developer; g_autoptr (GError) local_error = NULL; g_autofree char *request = NULL; g_autoptr (JsonNode) node = NULL; switch (prop) { case PROP_DOWNLOAD_STATS: case PROP_DOWNLOAD_STATS_PER_COUNTRY: case PROP_RECENT_DOWNLOADS: case PROP_TOTAL_DOWNLOADS: request = g_strdup_printf ("/stats/%s?all=false&days=175", id); break; case PROP_DEVELOPER_APPS: request = g_strdup_printf ("/collection/developer/%s", developer); break; case PROP_FAVORITES_COUNT: request = g_strdup_printf ("/favorites/%s/count", id); break; case PROP_SIMILAR_APPS: request = g_strdup_printf ("/similar/%s", id); break; default: g_assert_not_reached (); return NULL; } if (prop == PROP_SIMILAR_APPS) node = dex_await_boxed (bz_query_bazaar_json (request), &local_error); else node = dex_await_boxed (bz_query_flathub_v2_json (request), &local_error); if (node == NULL) { if (!g_error_matches (local_error, DEX_ERROR, DEX_ERROR_FIBER_CANCELLED)) g_warning ("Could not retrieve property %s for %s from flathub: %s", props[prop]->name, id, local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } switch (prop) { case PROP_DOWNLOAD_STATS: { JsonObject *root = NULL; JsonObject *per_day = NULL; g_autoptr (GListStore) store = NULL; if (!JSON_NODE_HOLDS_OBJECT (node)) return dex_future_new_for_error ( g_error_new (G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Unexpected JSON response format")); root = json_node_get_object (node); per_day = json_object_get_object_member (root, "installs_per_day"); store = g_list_store_new (BZ_TYPE_DATA_POINT); json_object_foreach_member ( per_day, (JsonObjectForeach) download_stats_per_day_foreach, store); g_list_store_sort (store, (GCompareDataFunc) compare_dates, NULL); return dex_future_new_for_object (store); } break; case PROP_DOWNLOAD_STATS_PER_COUNTRY: { JsonObject *per_country = NULL; g_autoptr (GListStore) store = NULL; if (!JSON_NODE_HOLDS_OBJECT (node)) return dex_future_new_for_error ( g_error_new (G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Unexpected JSON response format")); per_country = json_object_get_object_member ( json_node_get_object (node), "installs_per_country"); store = g_list_store_new (BZ_TYPE_COUNTRY_DATA_POINT); json_object_foreach_member ( per_country, (JsonObjectForeach) download_stats_per_country_foreach, store); return dex_future_new_for_object (store); } break; case PROP_RECENT_DOWNLOADS: { int recent_downloads = 0; if (!JSON_NODE_HOLDS_OBJECT (node)) return dex_future_new_for_int (0); if (json_object_has_member (json_node_get_object (node), "installs_last_month")) recent_downloads = json_object_get_int_member (json_node_get_object (node), "installs_last_month"); return dex_future_new_for_int (recent_downloads); } break; case PROP_TOTAL_DOWNLOADS: { int total_downloads = 0; if (!JSON_NODE_HOLDS_OBJECT (node)) return dex_future_new_for_int (0); if (json_object_has_member (json_node_get_object (node), "installs_total")) total_downloads = json_object_get_int_member (json_node_get_object (node), "installs_total"); return dex_future_new_for_int (total_downloads); } break; case PROP_DEVELOPER_APPS: { JsonObject *response_obj = NULL; JsonArray *apps_array = NULL; g_autoptr (GtkStringList) app_ids = NULL; response_obj = json_node_get_object (node); apps_array = json_object_get_array_member (response_obj, "hits"); app_ids = gtk_string_list_new (NULL); for (guint i = 0; i < json_array_get_length (apps_array); i++) { JsonObject *app_obj = json_array_get_object_element (apps_array, i); const char *app_id = json_object_get_string_member (app_obj, "app_id"); if (app_id != NULL) gtk_string_list_append (app_ids, app_id); } return dex_future_new_for_object (app_ids); } break; case PROP_FAVORITES_COUNT: { int favorites_count = 0; if (json_object_has_member (json_node_get_object (node), "favorites_count")) favorites_count = json_object_get_int_member (json_node_get_object (node), "favorites_count"); return dex_future_new_for_int (favorites_count); } break; case PROP_SIMILAR_APPS: { JsonArray *array = NULL; g_autoptr (GtkStringList) app_ids = NULL; if (!JSON_NODE_HOLDS_ARRAY (node)) return dex_future_new_for_error ( g_error_new (G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Unexpected JSON response format")); array = json_node_get_array (node); app_ids = gtk_string_list_new (NULL); for (guint i = 0; i < json_array_get_length (array); i++) { const char *app_id = json_array_get_string_element (array, i); if (app_id != NULL) gtk_string_list_append (app_ids, app_id); } return dex_future_new_for_object (app_ids); } break; default: g_assert_not_reached (); return NULL; } } static DexFuture * query_flathub_then (DexFuture *future, QueryFlathubData *data) { g_autoptr (BzEntry) self = NULL; int prop = data->prop; const GValue *value = NULL; self = g_weak_ref_get (&data->self); if (self == NULL) return NULL; value = dex_future_get_value (future, NULL); g_object_set_property (G_OBJECT (self), props[prop]->name, value); return NULL; } static void download_stats_per_day_foreach (JsonObject *object, const gchar *member_name, JsonNode *member_node, GListStore *store) { double independent = 0; double dependent = 0; g_autoptr (BzDataPoint) point = NULL; g_autoptr (GDateTime) date = NULL; g_autofree char *formatted_label = NULL; g_autofree char *iso_with_tz = NULL; dependent = json_node_get_int (member_node); iso_with_tz = g_strdup_printf ("%sT00:00:00Z", member_name); date = g_date_time_new_from_iso8601 (iso_with_tz, NULL); formatted_label = g_date_time_format (date, "%-d %b"); independent = (double) g_date_time_to_unix (date); point = g_object_new ( BZ_TYPE_DATA_POINT, "independent", independent, "dependent", dependent, "label", formatted_label, NULL); g_list_store_append (store, point); } static void download_stats_per_country_foreach (JsonObject *object, const gchar *member_name, JsonNode *member_node, GListStore *store) { guint downloads = 0; g_autoptr (BzCountryDataPoint) point = NULL; downloads = json_node_get_int (member_node); point = g_object_new ( BZ_TYPE_COUNTRY_DATA_POINT, "country-code", member_name, "downloads", downloads, NULL); g_list_store_append (store, point); } static gboolean maybe_save_paintable (BzEntryPrivate *priv, const char *key, GdkPaintable *paintable, GVariantBuilder *builder) { g_autoptr (GError) local_error = NULL; const char *source_uri = NULL; const char *cache_into_path = NULL; int width = 0; int height = 0; g_autoptr (GdkTexture) texture = NULL; g_autoptr (GFile) save_file = NULL; gboolean result = FALSE; if (!BZ_IS_ASYNC_TEXTURE (paintable)) { return FALSE; } source_uri = bz_async_texture_get_source_uri (BZ_ASYNC_TEXTURE (paintable)); cache_into_path = bz_async_texture_get_cache_into_path (BZ_ASYNC_TEXTURE (paintable)); width = bz_async_texture_get_width (BZ_ASYNC_TEXTURE (paintable)); height = bz_async_texture_get_height (BZ_ASYNC_TEXTURE (paintable)); if (cache_into_path == NULL) goto done; if (bz_async_texture_get_loaded (BZ_ASYNC_TEXTURE (paintable))) texture = bz_async_texture_dup_texture (BZ_ASYNC_TEXTURE (paintable)); else goto done; save_file = g_file_new_for_path (cache_into_path); if (!g_file_query_exists (save_file, NULL)) { g_autoptr (GFile) parent_file = NULL; g_autoptr (GBytes) png_bytes = NULL; g_autoptr (GFileOutputStream) output = NULL; gssize bytes_written = 0; parent_file = g_file_get_parent (save_file); result = g_file_make_directory_with_parents ( parent_file, NULL, &local_error); if (!result) { if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_EXISTS)) g_clear_pointer (&local_error, g_error_free); else { g_warning ("Couldn't serialize texture to %s: %s\n", cache_into_path, local_error->message); goto done; } } png_bytes = gdk_texture_save_to_png_bytes (texture); if (png_bytes == NULL) goto done; output = g_file_replace ( save_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error); if (output == NULL) { g_warning ("Couldn't serialize texture to %s: %s\n", cache_into_path, local_error->message); goto done; } bytes_written = g_output_stream_write_bytes ( G_OUTPUT_STREAM (output), png_bytes, NULL, &local_error); if (bytes_written < 0) { g_warning ("Couldn't serialize texture to %s: %s\n", cache_into_path, local_error->message); goto done; } result = g_output_stream_close (G_OUTPUT_STREAM (output), NULL, &local_error); if (!result) { g_warning ("Couldn't serialize texture to %s: %s\n", cache_into_path, local_error->message); goto done; } } done: g_variant_builder_add (builder, "{sv}", key, g_variant_new ("(smsii)", source_uri, cache_into_path, width, height)); return TRUE; } static GdkPaintable * make_async_texture (GVariant *parse) { g_autofree char *source = NULL; g_autofree char *cache_into = NULL; int width = 0; int height = 0; g_autoptr (GFile) source_file = NULL; g_autoptr (GFile) cache_into_file = NULL; g_autoptr (BzAsyncTexture) texture = NULL; g_variant_get (parse, "(smsii)", &source, &cache_into, &width, &height); source_file = g_file_new_for_uri (source); if (cache_into != NULL) cache_into_file = g_file_new_for_path (cache_into); if (width > 0 && height > 0) texture = bz_async_texture_new_lazy_with_size (source_file, cache_into_file, width, height); else texture = bz_async_texture_new_lazy (source_file, cache_into_file); return GDK_PAINTABLE (g_steal_pointer (&texture)); } static void clear_entry (BzEntry *self) { BzEntryPrivate *priv = bz_entry_get_instance_private (self); g_clear_pointer (&priv->flathub_prop_queries, g_hash_table_unref); g_clear_object (&priv->addons); g_clear_pointer (&priv->id, g_free); g_clear_pointer (&priv->unique_id, g_free); g_clear_pointer (&priv->unique_id_checksum, g_free); g_clear_pointer (&priv->installed_version, g_free); g_clear_pointer (&priv->title, g_free); g_clear_pointer (&priv->eol, g_free); g_clear_pointer (&priv->description, g_free); g_clear_pointer (&priv->long_description, g_free); g_clear_pointer (&priv->remote_repo_name, g_free); g_clear_pointer (&priv->url, g_free); g_clear_object (&priv->icon_paintable); g_clear_object (&priv->mini_icon); g_clear_object (&priv->remote_repo_icon); g_clear_pointer (&priv->search_tokens, g_free); g_clear_pointer (&priv->metadata_license, g_free); g_clear_pointer (&priv->project_license, g_free); g_clear_pointer (&priv->project_group, g_free); g_clear_pointer (&priv->developer, g_free); g_clear_pointer (&priv->developer_id, g_free); g_clear_object (&priv->developer_apps); g_clear_object (&priv->similar_apps); g_clear_object (&priv->screenshot_paintables); g_clear_object (&priv->screenshot_captions); g_clear_object (&priv->thumbnail_paintable); g_clear_object (&priv->share_urls); g_clear_pointer (&priv->donation_url, g_free); g_clear_pointer (&priv->ratings_summary, g_free); g_clear_object (&priv->version_history); g_clear_pointer (&priv->light_accent_color, g_free); g_clear_pointer (&priv->dark_accent_color, g_free); g_clear_object (&priv->verification_status); g_clear_object (&priv->download_stats); g_clear_object (&priv->download_stats_per_country); g_clear_object (&priv->content_rating); g_clear_object (&priv->keywords); g_clear_object (&priv->permissions); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-entry.h������������������������������������������������������������0000664�0000000�0000000�00000012402�15234476640�0017777�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-entry.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <appstream.h> #include <gtk/gtk.h> #include <libdex.h> #include "bz-category-flags.h" #include "bz-repository.h" G_BEGIN_DECLS typedef enum { BZ_ENTRY_KIND_APPLICATION = 1 << 0, BZ_ENTRY_KIND_RUNTIME = 1 << 1, BZ_ENTRY_KIND_ADDON = 1 << 2, } BzEntryKind; GType bz_entry_kind_get_type (void); #define BZ_TYPE_ENTRY_KIND (bz_entry_kind_get_type ()) typedef enum { BZ_CONTROL_NONE = 0, BZ_CONTROL_POINTING = 1 << 0, BZ_CONTROL_KEYBOARD = 1 << 1, BZ_CONTROL_CONSOLE = 1 << 2, BZ_CONTROL_TABLET = 1 << 3, BZ_CONTROL_TOUCH = 1 << 4, BZ_CONTROL_GAMEPAD = 1 << 5, BZ_CONTROL_TV_REMOTE = 1 << 6, BZ_CONTROL_VOICE = 1 << 7, BZ_CONTROL_VISION = 1 << 8, } BzControlType; GType bz_control_type_get_type (void); #define BZ_TYPE_CONTROL_TYPE (bz_control_type_get_type ()) typedef enum { BZ_RELATION_REQUIRES, BZ_RELATION_RECOMMENDS, BZ_RELATION_SUPPORTS, } BzRelationType; GType bz_relation_type_get_type (void); #define BZ_TYPE_RELATION_TYPE (bz_relation_type_get_type ()) #define BZ_TYPE_ENTRY (bz_entry_get_type ()) G_DECLARE_DERIVABLE_TYPE (BzEntry, bz_entry, BZ, ENTRY, GObject) struct _BzEntryClass { GObjectClass parent_class; }; void bz_entry_hold (BzEntry *self); void bz_entry_release (BzEntry *self); gboolean bz_entry_is_holding (BzEntry *self); gboolean bz_entry_is_installed (BzEntry *self); const char * bz_entry_get_installed_version (BzEntry *self); void bz_entry_set_installed_version (BzEntry *self, const char *version); void bz_entry_set_installed (BzEntry *self, gboolean installed); gboolean bz_entry_is_reinstallable (BzEntry *self); gboolean bz_entry_is_searchable (BzEntry *self); gboolean bz_entry_is_of_kinds (BzEntry *self, guint kinds); void bz_entry_append_addon (BzEntry *self, const char *id); GListModel * bz_entry_get_addons (BzEntry *self); const char * bz_entry_get_id (BzEntry *self); const char * bz_entry_get_unique_id (BzEntry *self); const char * bz_entry_get_unique_id_checksum (BzEntry *self); const char * bz_entry_get_title (BzEntry *self); const char * bz_entry_get_developer (BzEntry *self); GList * bz_entry_get_developer_apps (BzEntry *self); const char * bz_entry_get_eol (BzEntry *self); const char * bz_entry_get_description (BzEntry *self); gboolean bz_entry_is_verified (BzEntry *self); const char * bz_entry_get_long_description (BzEntry *self); const char * bz_entry_get_remote_repo_name (BzEntry *self); guint64 bz_entry_get_size (BzEntry *self); guint64 bz_entry_get_installed_size (BzEntry *self); GdkPaintable * bz_entry_get_icon_paintable (BzEntry *self); GListModel * bz_entry_get_screenshot_paintables (BzEntry *self); GIcon * bz_entry_get_mini_icon (BzEntry *self); const char * bz_entry_get_search_tokens (BzEntry *self); GListModel * bz_entry_get_share_urls (BzEntry *self); const char * bz_entry_get_url (BzEntry *self); const char * bz_entry_get_donation_url (BzEntry *self); BzRepository * bz_entry_get_repository (BzEntry *self, GListModel *repos); gboolean bz_entry_get_is_foss (BzEntry *self); const char * bz_entry_get_light_accent_color (BzEntry *self); const char * bz_entry_get_dark_accent_color (BzEntry *self); gboolean bz_entry_get_is_flathub (BzEntry *self); gboolean bz_entry_get_is_mobile_friendly (BzEntry *self); guint bz_entry_get_required_controls (BzEntry *self); guint bz_entry_get_recommended_controls (BzEntry *self); guint bz_entry_get_supported_controls (BzEntry *self); gboolean bz_entry_has_control (BzEntry *self, BzControlType control, BzRelationType relation); gint bz_entry_get_min_display_length (BzEntry *self); gint bz_entry_get_max_display_length (BzEntry *self); gboolean bz_entry_supports_form_factor (BzEntry *self, guint available_controls, gint display_length); gint bz_entry_get_age_rating (BzEntry *self); AsContentRating * bz_entry_get_content_rating (BzEntry *self); BzCategoryFlags bz_entry_get_category_flags (BzEntry *self); gint bz_entry_calc_usefulness (BzEntry *self); void bz_entry_serialize (BzEntry *self, GVariantBuilder *builder); gboolean bz_entry_deserialize (BzEntry *self, GVariant *import, GError **error); GIcon * bz_load_mini_icon_sync (const char *unique_id_checksum, const char *path); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-error-dialog.blp���������������������������������������������������0000664�0000000�0000000�00000003121�15234476640�0021550�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzErrorDialog: Adw.Dialog { content-width: 500; content-height: 400; child: Adw.ToastOverlay toast_overlay { child: Adw.ToolbarView { [top] Adw.HeaderBar {} content: Box { orientation: vertical; spacing: 0; margin-start: 24; margin-end: 24; margin-top: 12; margin-bottom: 24; Label error_title { halign: center; styles [ "title-1", ] } Box { orientation: horizontal; spacing: 6; margin-top: 12; margin-bottom: 6; Label { label: _("Details"); halign: start; hexpand: true; styles [ "heading", ] } Button copy_button { icon-name: "edit-copy-symbolic"; // TRANSLATORS: tooltip for a button that copies text to the clipboard tooltip-text: _("Copy"); clicked => $on_copy_button_clicked(); styles [ "flat", ] } } ScrolledWindow { vexpand: true; hscrollbar-policy: automatic; vscrollbar-policy: automatic; TextView text_view { editable: false; wrap-mode: word_char; monospace: true; left-margin: 6; right-margin: 6; top-margin: 6; bottom-margin: 6; styles [ "card", ] } } }; }; }; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-error-dialog.c�����������������������������������������������������0000664�0000000�0000000�00000006016�15234476640�0021223�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-error-dialog.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <adwaita.h> #include <glib/gi18n.h> #include "bz-error-dialog.h" struct _BzErrorDialog { AdwDialog parent_instance; AdwToastOverlay *toast_overlay; GtkLabel *error_title; GtkTextView *text_view; }; G_DEFINE_FINAL_TYPE (BzErrorDialog, bz_error_dialog, ADW_TYPE_DIALOG) static void on_copy_button_clicked (GtkButton *button, BzErrorDialog *self) { GtkTextBuffer *buffer = NULL; GtkTextIter start = { 0 }; GtkTextIter end = { 0 }; g_autofree char *text = NULL; GdkClipboard *clipboard = NULL; g_autoptr (AdwToast) toast = NULL; buffer = gtk_text_view_get_buffer (self->text_view); gtk_text_buffer_get_bounds (buffer, &start, &end); text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); clipboard = gdk_display_get_clipboard (gdk_display_get_default ()); gdk_clipboard_set_text (clipboard, text); toast = adw_toast_new (_ ("Copied!")); adw_toast_set_timeout (toast, 2); adw_toast_overlay_add_toast (self->toast_overlay, g_steal_pointer (&toast)); } static void bz_error_dialog_class_init (BzErrorDialogClass *klass) { GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-error-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, BzErrorDialog, toast_overlay); gtk_widget_class_bind_template_child (widget_class, BzErrorDialog, error_title); gtk_widget_class_bind_template_child (widget_class, BzErrorDialog, text_view); gtk_widget_class_bind_template_callback (widget_class, on_copy_button_clicked); } static void bz_error_dialog_init (BzErrorDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } BzErrorDialog * bz_error_dialog_new (const char *title, const char *text) { BzErrorDialog *self; GtkTextBuffer *buffer; GtkTextIter iter; g_return_val_if_fail (title != NULL, NULL); g_return_val_if_fail (text != NULL, NULL); self = g_object_new (BZ_TYPE_ERROR_DIALOG, NULL); gtk_label_set_text (self->error_title, title); buffer = gtk_text_view_get_buffer (self->text_view); gtk_text_buffer_get_start_iter (buffer, &iter); gtk_text_buffer_insert (buffer, &iter, text, -1); return self; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-error-dialog.h�����������������������������������������������������0000664�0000000�0000000�00000002070�15234476640�0021224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-error-dialog.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_ERROR_DIALOG (bz_error_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzErrorDialog, bz_error_dialog, BZ, ERROR_DIALOG, AdwDialog) BzErrorDialog *bz_error_dialog_new (const char *title, const char *text); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-exponential-function.txt�������������������������������������������0000664�0000000�0000000�00000000264�15234476640�0023402�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=exponential_function parent-prefix=g parent-name=object author=AUTOGEN property=factor double G_TYPE_DOUBLE double property=y_intercept double G_TYPE_DOUBLE double ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-fading-clamp.c�����������������������������������������������������0000664�0000000�0000000�00000026323�15234476640�0021162�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-fading-clamp.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <bge.h> #include "bz-fading-clamp.h" #include "util.h" #define FADE_HEIGHT 75 #define CLAMP_LEEWAY 100 struct _BzFadingClamp { GtkWidget parent_instance; BgeAnimation *animation; GtkWidget *child; int max_height; int min_max_height; int current_height; int allocated_width; gboolean will_change; }; enum { PROP_0, PROP_CHILD, PROP_MAX_HEIGHT, PROP_MIN_MAX_HEIGHT, PROP_WILL_CHANGE, N_PROPS }; static GParamSpec *properties[N_PROPS]; G_DEFINE_TYPE (BzFadingClamp, bz_fading_clamp, GTK_TYPE_WIDGET) static void animate (BzFadingClamp *self, const char *key, double value, gpointer user_data) { self->current_height = round (value); gtk_widget_queue_resize (GTK_WIDGET (self)); } static void bz_fading_clamp_update_will_change (BzFadingClamp *self) { gboolean new_value = FALSE; int natural_height; int width; if (self->child) { if (self->allocated_width > 0) width = self->allocated_width; else gtk_widget_measure (self->child, GTK_ORIENTATION_HORIZONTAL, -1, NULL, &width, NULL, NULL); gtk_widget_measure (self->child, GTK_ORIENTATION_VERTICAL, width, NULL, &natural_height, NULL, NULL); new_value = natural_height > self->min_max_height + CLAMP_LEEWAY; } if (self->will_change != new_value) { self->will_change = new_value; g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_WILL_CHANGE]); } } static void bz_fading_clamp_dispose (GObject *object) { BzFadingClamp *self = BZ_FADING_CLAMP (object); g_clear_object (&self->animation); g_clear_pointer (&self->child, gtk_widget_unparent); G_OBJECT_CLASS (bz_fading_clamp_parent_class)->dispose (object); } static void bz_fading_clamp_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFadingClamp *self = BZ_FADING_CLAMP (object); switch (prop_id) { case PROP_CHILD: g_value_set_object (value, self->child); break; case PROP_MAX_HEIGHT: g_value_set_int (value, self->max_height); break; case PROP_MIN_MAX_HEIGHT: g_value_set_int (value, self->min_max_height); break; case PROP_WILL_CHANGE: g_value_set_boolean (value, self->will_change); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_fading_clamp_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFadingClamp *self = BZ_FADING_CLAMP (object); switch (prop_id) { case PROP_CHILD: bz_fading_clamp_set_child (self, g_value_get_object (value)); break; case PROP_MAX_HEIGHT: bz_fading_clamp_set_max_height (self, g_value_get_int (value)); break; case PROP_MIN_MAX_HEIGHT: self->min_max_height = g_value_get_int (value); bz_fading_clamp_update_will_change (self); gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MIN_MAX_HEIGHT]); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static GtkSizeRequestMode bz_fading_clamp_get_request_mode (GtkWidget *widget) { return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } static void bz_fading_clamp_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { int target_height = 0; BzFadingClamp *self = BZ_FADING_CLAMP (widget); if (!self->child) { *minimum = 0; *natural = 0; return; } if (orientation == GTK_ORIENTATION_HORIZONTAL) gtk_widget_measure (self->child, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline); else { gtk_widget_measure (self->child, GTK_ORIENTATION_VERTICAL, for_size, minimum, natural, minimum_baseline, natural_baseline); if (*natural <= self->max_height + CLAMP_LEEWAY) target_height = *natural; else target_height = self->max_height; bz_fading_clamp_update_will_change (self); if (!bge_animation_has_key (self->animation, "height")) self->current_height = target_height; *minimum = self->current_height; *natural = self->current_height; } } static void bz_fading_clamp_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BzFadingClamp *self = BZ_FADING_CLAMP (widget); if (self->allocated_width != width) { self->allocated_width = width; bz_fading_clamp_update_will_change (self); } if (self->child) { int child_height = 0; int natural_height = 0; gtk_widget_measure (self->child, GTK_ORIENTATION_VERTICAL, width, NULL, &natural_height, NULL, NULL); if (natural_height > height) child_height = natural_height; else child_height = height; gtk_widget_allocate (self->child, width, child_height, baseline, NULL); } } static void bz_fading_clamp_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzFadingClamp *self = BZ_FADING_CLAMP (widget); int width, height, natural_height; int gradient_start; graphene_rect_t gradient_rect; GskColorStop stops[2]; graphene_point_t start_point, end_point; int effective_fade_height; float stop_offset; if (!self->child || !gtk_widget_get_visible (self->child)) return; width = gtk_widget_get_width (widget); height = gtk_widget_get_height (widget); if (height <= 0) return; gtk_widget_measure (self->child, GTK_ORIENTATION_VERTICAL, width, NULL, &natural_height, NULL, NULL); if (natural_height <= height) { gtk_widget_snapshot_child (widget, self->child, snapshot); return; } effective_fade_height = MIN (natural_height - height, FADE_HEIGHT); gtk_snapshot_push_mask (snapshot, GSK_MASK_MODE_ALPHA); gradient_start = height - effective_fade_height; graphene_rect_init (&gradient_rect, 0, 0, width, height); stop_offset = CLAMP ((float) gradient_start / height, 0.0f, 1.0f); stops[0] = (GskColorStop){ stop_offset, { 1, 1, 1, 1 } }; stops[1] = (GskColorStop){ 1.0, { 1, 1, 1, 0 } }; graphene_point_init (&start_point, 0, 0); graphene_point_init (&end_point, 0, height); gtk_snapshot_append_linear_gradient (snapshot, &gradient_rect, &start_point, &end_point, stops, 2); gtk_snapshot_pop (snapshot); gtk_widget_snapshot_child (widget, self->child, snapshot); gtk_snapshot_pop (snapshot); } static void bz_fading_clamp_class_init (BzFadingClampClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_fading_clamp_dispose; object_class->get_property = bz_fading_clamp_get_property; object_class->set_property = bz_fading_clamp_set_property; widget_class->get_request_mode = bz_fading_clamp_get_request_mode; widget_class->measure = bz_fading_clamp_measure; widget_class->size_allocate = bz_fading_clamp_size_allocate; widget_class->snapshot = bz_fading_clamp_snapshot; properties[PROP_CHILD] = g_param_spec_object ("child", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); properties[PROP_MAX_HEIGHT] = g_param_spec_int ("max-height", NULL, NULL, 0, G_MAXINT, 300, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); properties[PROP_MIN_MAX_HEIGHT] = g_param_spec_int ("min-max-height", NULL, NULL, 0, G_MAXINT, 150, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); properties[PROP_WILL_CHANGE] = g_param_spec_boolean ("will-change", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, N_PROPS, properties); } static void bz_fading_clamp_init (BzFadingClamp *self) { self->animation = bge_animation_new (GTK_WIDGET (self)); self->max_height = 300; self->min_max_height = 150; self->current_height = CLAMP_LEEWAY; self->allocated_width = 0; self->will_change = FALSE; } GtkWidget * bz_fading_clamp_new (void) { return g_object_new (BZ_TYPE_FADING_CLAMP, NULL); } void bz_fading_clamp_set_child (BzFadingClamp *self, GtkWidget *child) { g_return_if_fail (BZ_IS_FADING_CLAMP (self)); g_return_if_fail (child == NULL || GTK_IS_WIDGET (child)); if (self->child == child) return; g_clear_pointer (&self->child, gtk_widget_unparent); if (child) { self->child = child; gtk_widget_set_parent (child, GTK_WIDGET (self)); self->current_height = 0; } bz_fading_clamp_update_will_change (self); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_CHILD]); gtk_widget_queue_resize (GTK_WIDGET (self)); } GtkWidget * bz_fading_clamp_get_child (BzFadingClamp *self) { g_return_val_if_fail (BZ_IS_FADING_CLAMP (self), NULL); return self->child; } void bz_fading_clamp_set_max_height (BzFadingClamp *self, int max_height) { int natural_height = 0; int target_height = 0; int width = 0; g_return_if_fail (BZ_IS_FADING_CLAMP (self)); if (self->max_height == max_height) return; self->max_height = max_height; if (self->child) { if (self->allocated_width > 0) width = self->allocated_width; else gtk_widget_measure (self->child, GTK_ORIENTATION_HORIZONTAL, -1, NULL, &width, NULL, NULL); gtk_widget_measure (self->child, GTK_ORIENTATION_VERTICAL, width, NULL, &natural_height, NULL, NULL); if (natural_height <= max_height + CLAMP_LEEWAY) target_height = natural_height; else target_height = max_height; } else target_height = max_height; bge_animation_add_spring ( self->animation, "height", self->current_height, target_height, 1.25, 1.0, 800.0, (BgeAnimationCallback) animate, NULL, NULL, NULL); bz_fading_clamp_update_will_change (self); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MAX_HEIGHT]); } int bz_fading_clamp_get_max_height (BzFadingClamp *self) { g_return_val_if_fail (BZ_IS_FADING_CLAMP (self), 0); return self->max_height; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-fading-clamp.h�����������������������������������������������������0000664�0000000�0000000�00000002522�15234476640�0021162�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-fading-clamp.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_FADING_CLAMP (bz_fading_clamp_get_type ()) G_DECLARE_FINAL_TYPE (BzFadingClamp, bz_fading_clamp, BZ, FADING_CLAMP, GtkWidget) GtkWidget *bz_fading_clamp_new (void); GtkWidget *bz_fading_clamp_get_child (BzFadingClamp *self); void bz_fading_clamp_set_child (BzFadingClamp *self, GtkWidget *child); int bz_fading_clamp_get_max_height (BzFadingClamp *self); void bz_fading_clamp_set_max_height (BzFadingClamp *self, int max_height); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorite-button.blp������������������������������������������������0000664�0000000�0000000�00000002060�15234476640�0022313�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzFavoriteButton: Button { styles [ "small-pill", "suggested-action", "favorite", ] margin-top: 8; valign: start; halign: start; has-tooltip: true; tooltip-text: _("Favorite Count"); visible: bind template.entry as <$BzEntry>.is-flathub; clicked => $button_clicked_cb() swapped; child: Stack stack { transition-type: crossfade; StackPage { name: "content"; child: Box box { Image icon { icon-name: "bookmark-outline-symbolic"; } Revealer count_revealer { reveal-child: bind $is_positive(template.entry as <$BzEntry>.favorites-count) as <bool>; transition-type: slide_left; child: Label count_label { margin-start: 4; label: bind $format_favorites_count(template.entry as <$BzEntry>.favorites-count) as <string>; }; } }; } StackPage { name: "spinner"; child: Adw.Spinner { halign: center; width-request: 16; }; } }; }��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorite-button.c��������������������������������������������������0000664�0000000�0000000�00000031441�15234476640�0021765�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-favorite-button.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include <json-glib/json-glib.h> #include "bz-entry.h" #include "env.h" #include "error.h" #include "bz-favorite-button.h" #include "global-net.h" #include "bz-state-info.h" struct _BzFavoriteButton { GtkButton parent_instance; BzEntry *entry; BzStateInfo *state; GtkBox *box; GtkImage *icon; GtkRevealer *count_revealer; GtkLabel *count_label; GtkStack *stack; gboolean is_favorited; }; G_DEFINE_FINAL_TYPE (BzFavoriteButton, bz_favorite_button, GTK_TYPE_BUTTON) enum { PROP_0, PROP_ENTRY, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * fetch_favorite_status_fiber (BzFavoriteButton *button); static DexFuture * toggle_favorite_fiber (BzFavoriteButton *button); static void button_clicked_cb (BzFavoriteButton *self, GtkButton *button); static void update_icon (BzFavoriteButton *self); static void update_count (BzFavoriteButton *self); static void on_login_button_clicked (GtkButton *button, GtkPopover *popover); static void show_login_popover (BzFavoriteButton *self); static gboolean is_positive (gpointer object, int value); static char * format_favorites_count (gpointer object, int count); static void bz_favorite_button_dispose (GObject *object) { BzFavoriteButton *self = BZ_FAVORITE_BUTTON (object); g_clear_object (&self->entry); g_clear_object (&self->state); G_OBJECT_CLASS (bz_favorite_button_parent_class)->dispose (object); } static void bz_favorite_button_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFavoriteButton *self = BZ_FAVORITE_BUTTON (object); switch (prop_id) { case PROP_ENTRY: g_value_set_object (value, bz_favorite_button_get_entry (self)); break; case PROP_STATE: g_value_set_object (value, bz_favorite_button_get_state (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_favorite_button_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFavoriteButton *self = BZ_FAVORITE_BUTTON (object); switch (prop_id) { case PROP_ENTRY: bz_favorite_button_set_entry (self, g_value_get_object (value)); break; case PROP_STATE: bz_favorite_button_set_state (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_favorite_button_class_init (BzFavoriteButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_favorite_button_dispose; object_class->get_property = bz_favorite_button_get_property; object_class->set_property = bz_favorite_button_set_property; props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-favorite-button.ui"); gtk_widget_class_bind_template_child (widget_class, BzFavoriteButton, box); gtk_widget_class_bind_template_child (widget_class, BzFavoriteButton, icon); gtk_widget_class_bind_template_child (widget_class, BzFavoriteButton, count_revealer); gtk_widget_class_bind_template_child (widget_class, BzFavoriteButton, count_label); gtk_widget_class_bind_template_child (widget_class, BzFavoriteButton, stack); gtk_widget_class_bind_template_callback (widget_class, is_positive); gtk_widget_class_bind_template_callback (widget_class, format_favorites_count); gtk_widget_class_bind_template_callback (widget_class, button_clicked_cb); } static void bz_favorite_button_init (BzFavoriteButton *self) { gtk_widget_init_template (GTK_WIDGET (self)); self->is_favorited = FALSE; } GtkWidget * bz_favorite_button_new (void) { return g_object_new (BZ_TYPE_FAVORITE_BUTTON, NULL); } void bz_favorite_button_set_entry (BzFavoriteButton *self, BzEntry *entry) { g_return_if_fail (BZ_IS_FAVORITE_BUTTON (self)); g_return_if_fail (entry == NULL || BZ_IS_ENTRY (entry)); if (g_set_object (&self->entry, entry)) { update_count (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENTRY]); if (self->state != NULL && self->entry != NULL) { dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) fetch_favorite_status_fiber, g_object_ref (self), g_object_unref)); } } } BzEntry * bz_favorite_button_get_entry (BzFavoriteButton *self) { g_return_val_if_fail (BZ_IS_FAVORITE_BUTTON (self), NULL); return self->entry; } void bz_favorite_button_set_state (BzFavoriteButton *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_FAVORITE_BUTTON (self)); g_return_if_fail (state == NULL || BZ_IS_STATE_INFO (state)); if (g_set_object (&self->state, state)) { g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); if (self->state != NULL && self->entry != NULL) { dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) fetch_favorite_status_fiber, g_object_ref (self), g_object_unref)); } } } BzStateInfo * bz_favorite_button_get_state (BzFavoriteButton *self) { g_return_val_if_fail (BZ_IS_FAVORITE_BUTTON (self), NULL); return self->state; } static gboolean is_positive (gpointer object, int value) { return value > 0; } static char * format_favorites_count (gpointer object, int count) { if (count >= 1000000) return g_strdup_printf ("%.1fM", count / 1000000.0); else if (count >= 1000) return g_strdup_printf ("%.1fK", count / 1000.0); else return g_strdup_printf ("%d", count); } static void update_icon (BzFavoriteButton *self) { if (self->is_favorited) gtk_image_set_from_icon_name (self->icon, "bookmark-filled-symbolic"); else gtk_image_set_from_icon_name (self->icon, "bookmark-outline-symbolic"); } static void update_count (BzFavoriteButton *self) { int count = 0; if (self->entry != NULL) g_object_get (self->entry, "favorites-count", &count, NULL); gtk_revealer_set_reveal_child (self->count_revealer, count > 0); if (count > 0) { g_autofree char *formatted = format_favorites_count (NULL, count); gtk_label_set_label (self->count_label, formatted); } } static DexFuture * fetch_favorite_status_fiber (BzFavoriteButton *button) { g_autoptr (GError) local_error = NULL; g_autoptr (JsonNode) node = NULL; g_autofree char *request = NULL; BzAuthState *auth_state = NULL; const char *token = NULL; const char *app_id = NULL; if (button->state == NULL || button->entry == NULL) return NULL; auth_state = bz_state_info_get_auth_state (button->state); if (!bz_auth_state_is_authenticated (auth_state)) return NULL; token = bz_auth_state_get_token (auth_state); if (token == NULL) return NULL; g_object_get (button->entry, "id", &app_id, NULL); request = g_strdup_printf ("/favorites/%s", app_id); node = dex_await_boxed ( bz_query_flathub_v2_json_authenticated (request, token), &local_error); if (local_error == NULL && node != NULL && JSON_NODE_HOLDS_VALUE (node)) { button->is_favorited = json_node_get_boolean (node); update_icon (button); } return NULL; } static DexFuture * toggle_favorite_fiber (BzFavoriteButton *button) { g_autoptr (GError) local_error = NULL; g_autofree char *request = NULL; BzAuthState *auth_state = NULL; const char *token = NULL; const char *app_id = NULL; int current_count = 0; if (button->state == NULL || button->entry == NULL) goto err; auth_state = bz_state_info_get_auth_state (button->state); if (!bz_auth_state_is_authenticated (auth_state)) goto err; token = bz_auth_state_get_token (auth_state); if (token == NULL) goto err; g_object_get (button->entry, "id", &app_id, "favorites-count", ¤t_count, NULL); if (button->is_favorited) request = g_strdup_printf ("/favorites/%s/remove", app_id); else request = g_strdup_printf ("/favorites/%s/add", app_id); if (button->is_favorited) dex_await ( bz_query_flathub_v2_json_authenticated_delete (request, token), &local_error); else dex_await ( bz_query_flathub_v2_json_authenticated_post (request, token), &local_error); if (local_error != NULL) { GtkWidget *window = NULL; gtk_stack_set_visible_child_name (button->stack, "content"); window = gtk_widget_get_ancestor (GTK_WIDGET (button), GTK_TYPE_WINDOW); if (window != NULL) bz_show_error_for_widget (window, _ ("Failed to update favorite"), local_error->message); } else { button->is_favorited = !button->is_favorited; g_object_set (button->entry, "favorites-count", button->is_favorited ? current_count + 1 : current_count - 1, NULL); update_icon (button); update_count (button); gtk_stack_set_visible_child_name (button->stack, "content"); } return NULL; err: gtk_stack_set_visible_child_name (button->stack, "content"); return NULL; } static void on_login_button_clicked (GtkButton *button, GtkPopover *popover) { gtk_popover_popdown (popover); } static void show_login_popover (BzFavoriteButton *self) { GtkWidget *popover; GtkWidget *box; GtkWidget *label; GtkWidget *button; popover = gtk_popover_new (); gtk_widget_set_parent (popover, GTK_WIDGET (self)); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_widget_set_margin_top (box, 6); gtk_widget_set_margin_bottom (box, 6); gtk_widget_set_margin_start (box, 6); gtk_widget_set_margin_end (box, 6); label = gtk_label_new (_ ("Log in with Flathub to manage favorites")); gtk_label_set_wrap (GTK_LABEL (label), TRUE); gtk_label_set_max_width_chars (GTK_LABEL (label), 17); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); gtk_box_append (GTK_BOX (box), label); button = gtk_button_new_with_label (_ ("Log In")); gtk_widget_add_css_class (button, "suggested-action"); gtk_actionable_set_action_name (GTK_ACTIONABLE (button), "app.flathub-login"); g_signal_connect (button, "clicked", G_CALLBACK (on_login_button_clicked), popover); gtk_box_append (GTK_BOX (box), button); gtk_popover_set_child (GTK_POPOVER (popover), box); gtk_popover_popup (GTK_POPOVER (popover)); } static void button_clicked_cb (BzFavoriteButton *self, GtkButton *button) { BzAuthState *auth_state = NULL; if (self->state == NULL) return; auth_state = bz_state_info_get_auth_state (self->state); if (!bz_auth_state_is_authenticated (auth_state)) { show_login_popover (self); return; } gtk_stack_set_visible_child_name (self->stack, "spinner"); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) toggle_favorite_fiber, g_object_ref (self), g_object_unref)); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorite-button.h��������������������������������������������������0000664�0000000�0000000�00000002650�15234476640�0021772�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-favorite-button.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include "bz-state-info.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_FAVORITE_BUTTON (bz_favorite_button_get_type ()) G_DECLARE_FINAL_TYPE (BzFavoriteButton, bz_favorite_button, BZ, FAVORITE_BUTTON, GtkButton) GtkWidget * bz_favorite_button_new (void); void bz_favorite_button_set_entry (BzFavoriteButton *self, BzEntry *entry); BzEntry * bz_favorite_button_get_entry (BzFavoriteButton *self); void bz_favorite_button_set_state (BzFavoriteButton *self, BzStateInfo *state); BzStateInfo * bz_favorite_button_get_state (BzFavoriteButton *self); G_END_DECLS ����������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorites-page.blp�������������������������������������������������0000664�0000000�0000000�00000005252�15234476640�0022105�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzFavoritesPage: Adw.NavigationPage { title: _("Favorites"); Adw.ToolbarView { [top] Adw.HeaderBar { [end] Button install_all_button { styles [ "flat", ] has-tooltip: true; tooltip-text: _("Install All"); icon-name: "list-add-symbolic"; sensitive: bind $invert_boolean($is_empty(template.favorites) as <bool>) as <bool>; clicked => $install_all_cb() swapped; } } content: Adw.BreakpointBin { width-request: 360; height-request: 100; child: Adw.ViewStack stack { enable-transitions: true; transition-duration: 400; Adw.ViewStackPage { name: "loading"; child: Adw.Spinner { halign: fill; valign: center; width-request: 64; height-request: 64; margin-bottom: 18; }; } Adw.ViewStackPage { name: "empty"; child: Adw.StatusPage { icon-name: "starred-symbolic"; title: _("No Favorites"); description: _("Applications you mark as favorite will appear here"); }; } Adw.ViewStackPage { name: "content"; child: ScrolledWindow { hscrollbar-policy: never; child: Adw.ClampScrollable { maximum-size: 650; child: ListView list_view { styles [ "navigation-sidebar", "installed-list-view", "no-vertical-margin" ] margin-start: 25; margin-end: 25; overflow: visible; model: NoSelection { model: bind template.model; }; factory: BuilderListItemFactory { template ListItem { activatable: true; selectable: false; focusable: true; child: Revealer { reveal-child: true; overflow: visible; child: $BzFavoritesTile { group: bind template.item as <$BzEntryGroup>; activated => $tile_activated_cb(); unfavorited => $unfavorite_cb(); }; }; } }; }; }; }; } }; Adw.Breakpoint { condition ("max-width: 700px") setters { list_view.margin-start: 8; list_view.margin-end: 8; } } }; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorites-page.c���������������������������������������������������0000664�0000000�0000000�00000031043�15234476640�0021547�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-favorites-page.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include <json-glib/json-glib.h> #include "bz-application-map-factory.h" #include "env.h" #include "error.h" #include "bz-favorites-page.h" #include "bz-favorites-tile.h" #include "global-net.h" #include "io.h" #include "util.h" struct _BzFavoritesPage { AdwNavigationPage parent_instance; BzStateInfo *state; GListModel *model; GListModel *favorites; gboolean show_sidebar; AdwViewStack *stack; }; G_DEFINE_FINAL_TYPE (BzFavoritesPage, bz_favorites_page, ADW_TYPE_NAVIGATION_PAGE) enum { PROP_0, PROP_STATE, PROP_MODEL, PROP_FAVORITES, PROP_SHOW_SIDEBAR, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * fetch_favorites_fiber (GWeakRef *wr); static void favorites_changed (BzFavoritesPage *self, guint position, guint removed, guint added, GListModel *model); static void set_page (BzFavoritesPage *self); static void bz_favorites_page_dispose (GObject *object) { BzFavoritesPage *self = BZ_FAVORITES_PAGE (object); if (self->favorites != NULL) g_signal_handlers_disconnect_by_func (self->favorites, favorites_changed, self); g_clear_object (&self->favorites); g_clear_object (&self->model); g_clear_object (&self->state); G_OBJECT_CLASS (bz_favorites_page_parent_class)->dispose (object); } static void bz_favorites_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFavoritesPage *self = BZ_FAVORITES_PAGE (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, self->state); break; case PROP_MODEL: g_value_set_object (value, self->model); break; case PROP_FAVORITES: g_value_set_object (value, self->favorites); break; case PROP_SHOW_SIDEBAR: g_value_set_boolean (value, self->show_sidebar); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_favorites_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFavoritesPage *self = BZ_FAVORITES_PAGE (object); switch (prop_id) { case PROP_STATE: self->state = g_value_dup_object (value); break; case PROP_SHOW_SIDEBAR: self->show_sidebar = g_value_get_boolean (value); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SHOW_SIDEBAR]); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_favorites_page_constructed (GObject *object) { BzFavoritesPage *self = BZ_FAVORITES_PAGE (object); g_autoptr (DexFuture) future = NULL; G_OBJECT_CLASS (bz_favorites_page_parent_class)->constructed (object); future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) fetch_favorites_fiber, bz_track_weak (self), bz_weak_release); dex_future_disown (g_steal_pointer (&future)); } static gboolean is_zero (gpointer object, int value) { return value == 0; } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_empty (gpointer object, GListModel *model) { if (model == NULL) return TRUE; return g_list_model_get_n_items (model) == 0; } static gboolean is_favorited (GListModel *favorites, BzEntryGroup *group) { if (favorites == NULL || group == NULL) return FALSE; return g_list_store_find (G_LIST_STORE (favorites), group, NULL); } static void tile_activated_cb (BzFavoritesTile *tile) { BzEntryGroup *group = NULL; g_assert (BZ_IS_FAVORITES_TILE (tile)); group = bz_favorites_tile_get_group (tile); if (group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (tile), "window.show-group", "s", bz_entry_group_get_id (group)); } static void unfavorite_cb (BzFavoritesTile *tile, BzEntryGroup *group, gpointer user_data) { BzFavoritesPage *self = NULL; guint position = 0; g_assert (BZ_IS_FAVORITES_TILE (tile)); g_assert (BZ_IS_ENTRY_GROUP (group)); self = BZ_FAVORITES_PAGE (gtk_widget_get_ancestor (GTK_WIDGET (tile), BZ_TYPE_FAVORITES_PAGE)); if (self == NULL) return; if (self->favorites == NULL) return; if (g_list_store_find (G_LIST_STORE (self->favorites), group, &position)) { g_list_store_remove (G_LIST_STORE (self->favorites), position); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FAVORITES]); } } static void install_all_cb (BzFavoritesPage *self, GtkButton *button) { GVariantBuilder builder = G_VARIANT_BUILDER_INIT (G_VARIANT_TYPE ("as")); guint n_items = 0; g_return_if_fail (BZ_IS_FAVORITES_PAGE (self)); if (self->model == NULL || self->favorites == NULL) return; n_items = g_list_model_get_n_items (self->favorites); for (guint i = 0; i < n_items; i++) { g_autoptr (BzEntryGroup) group = NULL; group = g_list_model_get_item (self->favorites, i); if (!is_favorited (self->favorites, group)) continue; g_variant_builder_add (&builder, "s", bz_entry_group_get_id (group)); } gtk_widget_activate_action (GTK_WIDGET (self), "window.bulk-install", "as", &builder); } static void bz_favorites_page_class_init (BzFavoritesPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_favorites_page_dispose; object_class->constructed = bz_favorites_page_constructed; object_class->get_property = bz_favorites_page_get_property; object_class->set_property = bz_favorites_page_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_FAVORITES] = g_param_spec_object ( "favorites", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_SHOW_SIDEBAR] = g_param_spec_boolean ( "show-sidebar", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_FAVORITES_TILE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-favorites-page.ui"); gtk_widget_class_bind_template_child (widget_class, BzFavoritesPage, stack); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_empty); gtk_widget_class_bind_template_callback (widget_class, tile_activated_cb); gtk_widget_class_bind_template_callback (widget_class, unfavorite_cb); gtk_widget_class_bind_template_callback (widget_class, install_all_cb); } static void bz_favorites_page_init (BzFavoritesPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_favorites_page_new (BzStateInfo *state) { return g_object_new (BZ_TYPE_FAVORITES_PAGE, "state", state, NULL); } static void favorites_changed (BzFavoritesPage *self, guint position, guint removed, guint added, GListModel *model) { set_page (self); } static void set_page (BzFavoritesPage *self) { if (self->favorites != NULL && g_list_model_get_n_items (self->favorites) > 0) adw_view_stack_set_visible_child_name (self->stack, "content"); else adw_view_stack_set_visible_child_name (self->stack, "empty"); } static int compare_entry_groups_by_title (BzEntryGroup *group_a, BzEntryGroup *group_b) { const char *title_a = bz_entry_group_get_title (group_a); const char *title_b = bz_entry_group_get_title (group_b); return g_utf8_collate (title_a, title_b); } static DexFuture * fetch_favorites_fiber (GWeakRef *wr) { g_autoptr (BzFavoritesPage) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GtkStringList) id_list = NULL; g_autoptr (GListModel) model = NULL; g_autoptr (GListStore) sorted_store = NULL; g_autoptr (GListStore) favorites_store = NULL; g_autoptr (JsonNode) node = NULL; BzApplicationMapFactory *factory = NULL; BzAuthState *auth_state = NULL; const char *token = NULL; JsonArray *array = NULL; guint n_favorites = 0; guint n_items = 0; self = g_weak_ref_get (wr); if (self == NULL) return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_CANCELLED, "Page destroyed"); id_list = gtk_string_list_new (NULL); auth_state = bz_state_info_get_auth_state (self->state); token = bz_auth_state_get_token (auth_state); if (token != NULL && bz_auth_state_is_authenticated (auth_state)) { node = dex_await_boxed ( bz_query_flathub_v2_json_authenticated ("/favorites", token), &local_error); if (node == NULL) { g_warning ("Failed to fetch favorites from Flathub: %s", local_error->message); goto done; } if (!JSON_NODE_HOLDS_ARRAY (node)) { g_warning ("Unexpected response format from Flathub favorites API"); goto done; } array = json_node_get_array (node); n_favorites = json_array_get_length (array); for (guint i = 0; i < n_favorites; i++) { JsonObject *favorite_obj = NULL; const char *app_id = NULL; favorite_obj = json_array_get_object_element (array, i); app_id = json_object_get_string_member (favorite_obj, "app_id"); if (app_id != NULL) gtk_string_list_append (id_list, app_id); } } done: factory = bz_state_info_get_application_factory (self->state); model = bz_application_map_factory_generate (factory, G_LIST_MODEL (id_list)); sorted_store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); favorites_store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); n_items = g_list_model_get_n_items (model); for (guint i = 0; i < n_items; i++) { g_autoptr (BzEntryGroup) group = g_list_model_get_item (model, i); g_list_store_append (sorted_store, group); g_list_store_append (favorites_store, group); } g_list_store_sort (sorted_store, (GCompareDataFunc) compare_entry_groups_by_title, NULL); g_clear_object (&self->model); self->model = G_LIST_MODEL (g_steal_pointer (&sorted_store)); if (self->favorites != NULL) g_signal_handlers_disconnect_by_func (self->favorites, favorites_changed, self); g_clear_object (&self->favorites); self->favorites = G_LIST_MODEL (g_steal_pointer (&favorites_store)); g_signal_connect_swapped (self->favorites, "items-changed", G_CALLBACK (favorites_changed), self); set_page (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FAVORITES]); return dex_future_new_true (); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorites-page.h���������������������������������������������������0000664�0000000�0000000�00000002100�15234476640�0021544�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-favorites-page.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_FAVORITES_PAGE (bz_favorites_page_get_type ()) G_DECLARE_FINAL_TYPE (BzFavoritesPage, bz_favorites_page, BZ, FAVORITES_PAGE, AdwNavigationPage) GtkWidget *bz_favorites_page_new (BzStateInfo *state); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorites-tile.blp�������������������������������������������������0000664�0000000�0000000�00000007200�15234476640�0022121�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzFavoritesTile: $BzListTile { accessibility { labelled-by: title_label; described-by: description_label; } child: Box { orientation: horizontal; spacing: 10; $BzTransactIcon { margin-start: 10; margin-top: 10; margin-bottom: 10; width-request: 48; height-request: 48; info: $BzTransactIconInfo { group: bind template.group as <$BzEntryGroup>; paintable: bind template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; }; } Box { orientation: vertical; valign: center; spacing: 4; Label title_label { xalign: 0.0; ellipsize: end; single-line-mode: true; has-tooltip: true; tooltip-text: bind template.group as <$BzEntryGroup>.id; label: bind template.group as <$BzEntryGroup>.title; } Label description_label { halign: start; label: bind template.group as <$BzEntryGroup>.description; xalign: 0.0; ellipsize: end; single-line-mode: true; styles ["dim-label", "caption"] } } Button support_button { styles [ "circular", "flat", "suggested-action", "support" ] has-tooltip: true; tooltip-text: _("Support This Application"); width-request: 32; height-request: 32; valign: center; icon-name: "heart-filled-symbolic"; visible: bind $invert_boolean($is_null(template.group as <$BzEntryGroup>.donation-url) as <bool>) as <bool>; clicked => $support_cb() swapped; } Box { orientation: horizontal; spacing: 8; margin-end: 8; hexpand: true; halign: end; Button install_remove_button { styles [ "flat", ] width-request: 32; height-request: 32; valign: center; has-tooltip: true; visible: bind $invert_boolean($logical_and($is_zero(template.group as <$BzEntryGroup>.removable) as <bool>, $is_zero(template.group as <$BzEntryGroup>.installable) as <bool>) as <bool>) as <bool>; tooltip-text: bind $get_install_remove_tooltip(template.group as <$BzEntryGroup>.removable) as <string>; sensitive: bind $switch_bool( template.group as <$BzEntryGroup>.removable, $invert_boolean($is_zero(template.group as <$BzEntryGroup>.removable-and-available) as <bool>) as <bool>, $invert_boolean($is_zero(template.group as <$BzEntryGroup>.installable-and-available) as <bool>) as <bool>, ) as <bool>; icon-name: bind $get_install_remove_icon(template.group as <$BzEntryGroup>.removable) as <string>; clicked => $install_remove_cb() swapped; } Stack unfavorite_stack { transition-type: crossfade; StackPage { name: "button"; child: Button unfavorite_button { styles [ "flat", ] width-request: 32; height-request: 32; valign: center; has-tooltip: true; tooltip-text: _("Remove From Favorites"); icon-name: "bookmark-filled-symbolic"; clicked => $unfavorite_cb() swapped; }; } StackPage { name: "spinner"; child: Adw.Spinner { halign: center; width-request: 16; }; } } Image { pixel-size: 14; icon-name: "go-next-symbolic"; margin-end: 4; styles ["dimmed"] } } }; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorites-tile.c���������������������������������������������������0000664�0000000�0000000�00000024444�15234476640�0021577�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-favorites-tile.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-entry-group-util.h" #include "bz-entry-group.h" #include "env.h" #include "error.h" #include "bz-favorites-page.h" #include "bz-favorites-tile.h" #include "global-net.h" #include "bz-state-info.h" #include "bz-window.h" struct _BzFavoritesTile { BzListTile parent_instance; BzEntryGroup *group; GtkLabel *title_label; GtkLabel *description_label; GtkButton *install_remove_button; GtkButton *support_button; GtkButton *unfavorite_button; GtkStack *unfavorite_stack; }; G_DEFINE_FINAL_TYPE (BzFavoritesTile, bz_favorites_tile, BZ_TYPE_LIST_TILE) enum { PROP_0, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_UNFAVORITED, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void install_remove_cb (BzFavoritesTile *self, GtkButton *button); static void support_cb (BzFavoritesTile *self, GtkButton *button); static DexFuture * unfavorite_fiber (BzFavoritesTile *tile); static void unfavorite_cb (BzFavoritesTile *self, GtkButton *button); static void bz_favorites_tile_dispose (GObject *object) { BzFavoritesTile *self = BZ_FAVORITES_TILE (object); g_clear_object (&self->group); G_OBJECT_CLASS (bz_favorites_tile_parent_class)->dispose (object); } static void bz_favorites_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFavoritesTile *self = BZ_FAVORITES_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_favorites_tile_get_group (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_favorites_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFavoritesTile *self = BZ_FAVORITES_TILE (object); switch (prop_id) { case PROP_GROUP: bz_favorites_tile_set_group (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_zero (gpointer object, int value) { return value == 0; } static char * get_install_remove_tooltip (gpointer object, int removable) { if (removable > 0) return g_strdup (C_("Install Controls", "Uninstall")); else return g_strdup (C_("Install Controls", "Install")); } static char * get_install_remove_icon (gpointer object, int removable) { if (removable > 0) return g_strdup ("user-trash-symbolic"); else return g_strdup ("document-save-symbolic"); } static gboolean switch_bool (gpointer object, gboolean condition, gboolean true_value, gboolean false_value) { return condition ? true_value : false_value; } static gboolean logical_and (gpointer object, gboolean value1, gboolean value2) { return value1 && value2; } static void bz_favorites_tile_class_init (BzFavoritesTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_favorites_tile_dispose; object_class->get_property = bz_favorites_tile_get_property; object_class->set_property = bz_favorites_tile_set_property; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_UNFAVORITED] = g_signal_new ( "unfavorited", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, BZ_TYPE_ENTRY_GROUP); g_type_ensure (BZ_TYPE_LIST_TILE); g_type_ensure (BZ_TYPE_ENTRY_GROUP); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-favorites-tile.ui"); gtk_widget_class_bind_template_child (widget_class, BzFavoritesTile, title_label); gtk_widget_class_bind_template_child (widget_class, BzFavoritesTile, description_label); gtk_widget_class_bind_template_child (widget_class, BzFavoritesTile, install_remove_button); gtk_widget_class_bind_template_child (widget_class, BzFavoritesTile, support_button); gtk_widget_class_bind_template_child (widget_class, BzFavoritesTile, unfavorite_button); gtk_widget_class_bind_template_child (widget_class, BzFavoritesTile, unfavorite_stack); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, switch_bool); gtk_widget_class_bind_template_callback (widget_class, logical_and); gtk_widget_class_bind_template_callback (widget_class, get_install_remove_tooltip); gtk_widget_class_bind_template_callback (widget_class, get_install_remove_icon); gtk_widget_class_bind_template_callback (widget_class, install_remove_cb); gtk_widget_class_bind_template_callback (widget_class, unfavorite_cb); gtk_widget_class_bind_template_callback (widget_class, support_cb); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_favorites_tile_init (BzFavoritesTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_favorites_tile_new (void) { return g_object_new (BZ_TYPE_FAVORITES_TILE, NULL); } void bz_favorites_tile_set_group (BzFavoritesTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_FAVORITES_TILE (self)); g_return_if_fail (group == NULL || BZ_IS_ENTRY_GROUP (group)); g_clear_object (&self->group); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } BzEntryGroup * bz_favorites_tile_get_group (BzFavoritesTile *self) { g_return_val_if_fail (BZ_IS_FAVORITES_TILE (self), NULL); return self->group; } static void install_remove_cb (BzFavoritesTile *self, GtkButton *button) { int removable = 0; if (self->group == NULL) return; removable = bz_entry_group_get_removable (self->group); if (removable > 0) gtk_widget_activate_action (GTK_WIDGET (self), "window.remove-group", "(sb)", bz_entry_group_get_id (self->group), FALSE); else gtk_widget_activate_action (GTK_WIDGET (self), "window.install-group", "(sb)", bz_entry_group_get_id (self->group), TRUE); } static void support_cb (BzFavoritesTile *self, GtkButton *button) { const char *url = NULL; if (self->group == NULL) return; url = bz_entry_group_get_donation_url (self->group); if (url == NULL) return; g_app_info_launch_default_for_uri (url, NULL, NULL); } static DexFuture * unfavorite_fiber (BzFavoritesTile *tile) { g_autoptr (GError) local_error = NULL; g_autoptr (BzStateInfo) state = NULL; g_autofree char *request = NULL; BzFavoritesPage *page = NULL; BzAuthState *auth_state = NULL; const char *token = NULL; const char *app_id = NULL; GtkWidget *revealer = NULL; GtkWidget *row = NULL; revealer = gtk_widget_get_parent (GTK_WIDGET (tile)); row = gtk_widget_get_parent (GTK_WIDGET (revealer)); page = BZ_FAVORITES_PAGE (gtk_widget_get_ancestor (GTK_WIDGET (tile), BZ_TYPE_FAVORITES_PAGE)); if (page == NULL) return NULL; g_object_get (page, "state", &state, NULL); if (state == NULL) return NULL; auth_state = bz_state_info_get_auth_state (state); token = bz_auth_state_get_token (auth_state); if (token == NULL || !bz_auth_state_is_authenticated (auth_state)) return NULL; app_id = bz_entry_group_get_id (tile->group); request = g_strdup_printf ("/favorites/%s/remove", app_id); dex_await ( bz_query_flathub_v2_json_authenticated_delete (request, token), &local_error); if (local_error != NULL) { GtkWidget *window = NULL; gtk_stack_set_visible_child_name (tile->unfavorite_stack, "button"); window = gtk_widget_get_ancestor (GTK_WIDGET (tile), GTK_TYPE_WINDOW); if (window != NULL) bz_show_error_for_widget (window, _("Failed to remove favorite"), local_error->message); } else { gtk_widget_set_overflow (revealer, GTK_OVERFLOW_HIDDEN); gtk_revealer_set_reveal_child (GTK_REVEALER (revealer), FALSE); gtk_widget_add_css_class (row, "hidden"); g_signal_emit (tile, signals[SIGNAL_UNFAVORITED], 0, tile->group); } return NULL; } static void unfavorite_cb (BzFavoritesTile *self, GtkButton *button) { gtk_stack_set_visible_child_name (self->unfavorite_stack, "spinner"); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) unfavorite_fiber, g_object_ref (self), g_object_unref)); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-favorites-tile.h���������������������������������������������������0000664�0000000�0000000�00000002373�15234476640�0021601�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-favorites-tile.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-list-tile.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_FAVORITES_TILE (bz_favorites_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzFavoritesTile, bz_favorites_tile, BZ, FAVORITES_TILE, BzListTile) GtkWidget * bz_favorites_tile_new (void); void bz_favorites_tile_set_group (BzFavoritesTile *self, BzEntryGroup *group); BzEntryGroup * bz_favorites_tile_get_group (BzFavoritesTile *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-carousel-view.c�������������������������������������������0000664�0000000�0000000�00000012632�15234476640�0023220�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-featured-carousel-view.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-featured-carousel-view.h" #include "bz-application.h" #include "bz-curated-appids-info.h" #include "bz-featured-carousel.h" struct _BzFeaturedCarouselView { AdwBin parent_instance; BzCuratedFeaturedCarousel *carousel; }; G_DEFINE_FINAL_TYPE (BzFeaturedCarouselView, bz_featured_carousel_view, ADW_TYPE_BIN) enum { PROP_0, PROP_CAROUSEL, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_featured_carousel_view_dispose (GObject *object) { BzFeaturedCarouselView *self = BZ_FEATURED_CAROUSEL_VIEW (object); g_clear_object (&self->carousel); G_OBJECT_CLASS (bz_featured_carousel_view_parent_class)->dispose (object); } static void bz_featured_carousel_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFeaturedCarouselView *self = BZ_FEATURED_CAROUSEL_VIEW (object); switch (prop_id) { case PROP_CAROUSEL: g_value_set_object (value, bz_featured_carousel_view_get_carousel (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_featured_carousel_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFeaturedCarouselView *self = BZ_FEATURED_CAROUSEL_VIEW (object); switch (prop_id) { case PROP_CAROUSEL: bz_featured_carousel_view_set_carousel (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_featured_carousel_view_class_init (BzFeaturedCarouselViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_featured_carousel_view_dispose; object_class->get_property = bz_featured_carousel_view_get_property; object_class->set_property = bz_featured_carousel_view_set_property; props[PROP_CAROUSEL] = g_param_spec_object ( "carousel", NULL, NULL, BZ_TYPE_CURATED_FEATURED_CAROUSEL, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_FEATURED_CAROUSEL); } static void bz_featured_carousel_view_init (BzFeaturedCarouselView *self) { } GtkWidget * bz_featured_carousel_view_new (BzCuratedFeaturedCarousel *carousel) { return g_object_new ( BZ_TYPE_FEATURED_CAROUSEL_VIEW, "carousel", carousel, NULL); } void bz_featured_carousel_view_set_carousel (BzFeaturedCarouselView *self, BzCuratedFeaturedCarousel *carousel) { BzCuratedAppidsInfo *appids = NULL; GListModel *list = NULL; g_return_if_fail (BZ_IS_FEATURED_CAROUSEL_VIEW (self)); g_return_if_fail (carousel == NULL || BZ_IS_CURATED_FEATURED_CAROUSEL (carousel)); g_clear_object (&self->carousel); adw_bin_set_child (ADW_BIN (self), NULL); if (carousel != NULL) { self->carousel = g_object_ref (carousel); appids = bz_curated_featured_carousel_get_appids (carousel); if (appids != NULL) list = bz_curated_appids_info_get_list (appids); if (list != NULL) { BzStateInfo *info = NULL; BzApplicationMapFactory *factory = NULL; g_autoptr (GListModel) groups = NULL; BzFeaturedCarousel *carousel_w = NULL; gboolean disable_auto_rotate = FALSE; info = bz_state_info_get_default (); factory = bz_state_info_get_application_factory (info); groups = bz_application_map_factory_generate (factory, list); g_object_get (carousel, "disable-auto-rotate", &disable_auto_rotate, NULL); carousel_w = bz_featured_carousel_new (); bz_featured_carousel_set_model (carousel_w, groups); g_object_set (carousel_w, "auto-rotate", !disable_auto_rotate, NULL); gtk_widget_set_margin_top (GTK_WIDGET (carousel_w), 20); gtk_widget_set_margin_bottom (GTK_WIDGET (carousel_w), 12); adw_bin_set_child (ADW_BIN (self), GTK_WIDGET (carousel_w)); } } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CAROUSEL]); } BzCuratedFeaturedCarousel * bz_featured_carousel_view_get_carousel (BzFeaturedCarouselView *self) { g_return_val_if_fail (BZ_IS_FEATURED_CAROUSEL_VIEW (self), NULL); return self->carousel; } ������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-carousel-view.h�������������������������������������������0000664�0000000�0000000�00000002576�15234476640�0023233�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-featured-carousel-view.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-curated-featured-carousel.h" G_BEGIN_DECLS #define BZ_TYPE_FEATURED_CAROUSEL_VIEW (bz_featured_carousel_view_get_type ()) G_DECLARE_FINAL_TYPE (BzFeaturedCarouselView, bz_featured_carousel_view, BZ, FEATURED_CAROUSEL_VIEW, AdwBin) GtkWidget * bz_featured_carousel_view_new (BzCuratedFeaturedCarousel *carousel); void bz_featured_carousel_view_set_carousel (BzFeaturedCarouselView *self, BzCuratedFeaturedCarousel *carousel); BzCuratedFeaturedCarousel * bz_featured_carousel_view_get_carousel (BzFeaturedCarouselView *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-carousel.blp����������������������������������������������0000664�0000000�0000000�00000003431�15234476640�0022600�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzFeaturedCarousel: Box { orientation: vertical; spacing: 12; EventControllerFocus { enter => $on_focus_enter_cb(template); leave => $on_focus_leave_cb(template); } Overlay { [overlay] Button previous_button { halign: start; valign: center; width-request: 48; height-request: 48; margin-start: 12; icon-name: "go-previous-symbolic"; visible: bind $is_gt(selection.n-items, 1); clicked => $previous_button_clicked_cb(); styles [ "circular", "flat", "image-button", ] accessibility { label: _("Previous"); } } [overlay] Button next_button { halign: end; valign: center; width-request: 48; height-request: 48; margin-end: 12; icon-name: "go-next-symbolic"; visible: bind $is_gt(selection.n-items, 1); clicked => $next_button_clicked_cb(); styles [ "circular", "flat", "image-button", ] accessibility { label: _("Next"); } } child: $BgeCarousel carousel { styles [ "card", "featured-carousel" ] notify::has-focus => $carousel_focus_cb(); allow-mouse-drag: true; allow-overshoot: false; allow-scroll-wheel: true; allow-raise: false; create-widget => $on_create_widget(template); remove-widget => $on_remove_widget(template); focusable: true; model: SingleSelection selection { autoselect: true; model: bind template.model; notify::selected => $on_notify_selected(template); // notify::n-items => $on_notify_n_items(template); }; }; } EventControllerKey { key-pressed => $key_pressed_cb(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-carousel.c������������������������������������������������0000664�0000000�0000000�00000033465�15234476640�0022257�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-featured-carousel.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <bge.h> #include "bz-entry-group.h" #include "bz-featured-carousel.h" #include "bz-featured-tile.h" #include "template-callbacks.h" #define FEATURED_ROTATE_TIME 5 #define MANUAL_ROTATE_RECOVER_TIME 7.5 struct _BzFeaturedCarousel { GtkBox parent_instance; GListModel *model; gboolean auto_rotate; guint rotation_timer_source; GTimer *time_since_manual_rotate; gboolean has_focus; BgeCarousel *carousel; GtkSingleSelection *selection; GtkButton *next_button; GtkButton *previous_button; }; G_DEFINE_FINAL_TYPE (BzFeaturedCarousel, bz_featured_carousel, GTK_TYPE_BOX) enum { PROP_0, PROP_MODEL, PROP_AUTO_ROTATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { NULL, }; static void update_buttons_for_tile (BzFeaturedCarousel *self) { GtkWidget *child = NULL; const char *class_name = NULL; guint index = 0; index = gtk_single_selection_get_selected (self->selection); child = bge_carousel_get_nth_page (self->carousel, index); if (child == NULL) return; class_name = gtk_widget_has_css_class (child, "flathub-lotion") ? "flathub-lotion" : "flathub-gunmetal"; gtk_widget_remove_css_class (GTK_WIDGET (self->next_button), "flathub-lotion"); gtk_widget_remove_css_class (GTK_WIDGET (self->next_button), "flathub-gunmetal"); gtk_widget_remove_css_class (GTK_WIDGET (self->previous_button), "flathub-lotion"); gtk_widget_remove_css_class (GTK_WIDGET (self->previous_button), "flathub-gunmetal"); gtk_widget_add_css_class (GTK_WIDGET (self->next_button), class_name); gtk_widget_add_css_class (GTK_WIDGET (self->previous_button), class_name); } static void on_style_changed (AdwStyleManager *style_manager, GParamSpec *pspec, BzFeaturedCarousel *self) { g_idle_add_once ((GSourceOnceFunc) update_buttons_for_tile, self); } static void announce_selected_entry (BzFeaturedCarousel *self) { guint index = 0; g_autoptr (BzEntryGroup) group = NULL; const char *title = NULL; const char *description = NULL; g_autofree char *message = NULL; index = gtk_single_selection_get_selected (self->selection); group = g_list_model_get_item (G_LIST_MODEL (self->selection), index); if (group == NULL) return; title = bz_entry_group_get_title (group); description = bz_entry_group_get_description (group); message = g_strdup_printf ("%s. %s", title != NULL ? title : "", description != NULL ? description : ""); gtk_accessible_announce (GTK_ACCESSIBLE (self), message, GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM); } static void carousel_focus_cb (BgeCarousel *self, GParamSpec *pspec, BzFeaturedCarousel *carousel) { if (gtk_widget_has_focus (GTK_WIDGET (self))) announce_selected_entry (carousel); } static void on_focus_enter_cb (BzFeaturedCarousel *self) { self->has_focus = TRUE; } static void on_focus_leave_cb (BzFeaturedCarousel *self) { self->has_focus = FALSE; } static void on_notify_selected (BzFeaturedCarousel *self, GParamSpec *pspec, GtkSingleSelection *selection) { g_timer_start (self->time_since_manual_rotate); update_buttons_for_tile (self); } static void show_relative_page (BzFeaturedCarousel *self, gint delta, gboolean use_custom_spring) { guint n_pages; guint current_page; guint new_page; GtkSettings *settings = NULL; gboolean reduced_motion = FALSE; settings = gtk_widget_get_settings (GTK_WIDGET (self)); g_object_get (settings, "gtk-interface-reduced-motion", &reduced_motion, NULL); if (reduced_motion && use_custom_spring) return; n_pages = g_list_model_get_n_items (G_LIST_MODEL (self->selection)); if (n_pages == 0) return; current_page = gtk_single_selection_get_selected (self->selection); new_page = (n_pages + current_page + delta) % n_pages; g_signal_handlers_block_by_func (self->selection, on_notify_selected, self); gtk_single_selection_set_selected (self->selection, new_page); g_signal_handlers_unblock_by_func (self->selection, on_notify_selected, self); if (self->has_focus) announce_selected_entry (self); update_buttons_for_tile (self); } static gboolean rotate_cb (gpointer user_data) { BzFeaturedCarousel *self = BZ_FEATURED_CAROUSEL (user_data); double elapsed = 0.0; if (!self->auto_rotate) return G_SOURCE_CONTINUE; if (self->has_focus) return G_SOURCE_CONTINUE; elapsed = g_timer_elapsed (self->time_since_manual_rotate, NULL); if (elapsed > MANUAL_ROTATE_RECOVER_TIME) show_relative_page (self, +1, TRUE); return G_SOURCE_CONTINUE; } static void next_button_clicked_cb (GtkButton *button, gpointer user_data) { BzFeaturedCarousel *self; self = BZ_FEATURED_CAROUSEL (user_data); show_relative_page (self, +1, FALSE); } static void previous_button_clicked_cb (GtkButton *button, gpointer user_data) { BzFeaturedCarousel *self; self = BZ_FEATURED_CAROUSEL (user_data); show_relative_page (self, -1, FALSE); } static void tile_clicked_cb (BzFeaturedTile *tile, gpointer user_data) { BzEntryGroup *group = NULL; group = bz_featured_tile_get_group (tile); gtk_widget_activate_action (GTK_WIDGET (user_data), "window.show-group", "s", bz_entry_group_get_id (group)); } static gboolean key_pressed_cb (GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, BzFeaturedCarousel *self) { if (gtk_widget_is_visible (GTK_WIDGET (self->previous_button)) && gtk_widget_is_sensitive (GTK_WIDGET (self->previous_button)) && ((gtk_widget_get_direction (GTK_WIDGET (self->previous_button)) == GTK_TEXT_DIR_LTR && keyval == GDK_KEY_Left) || (gtk_widget_get_direction (GTK_WIDGET (self->previous_button)) == GTK_TEXT_DIR_RTL && keyval == GDK_KEY_Right))) { gtk_widget_activate (GTK_WIDGET (self->previous_button)); return GDK_EVENT_STOP; } if (gtk_widget_is_visible (GTK_WIDGET (self->next_button)) && gtk_widget_is_sensitive (GTK_WIDGET (self->next_button)) && ((gtk_widget_get_direction (GTK_WIDGET (self->next_button)) == GTK_TEXT_DIR_LTR && keyval == GDK_KEY_Right) || (gtk_widget_get_direction (GTK_WIDGET (self->next_button)) == GTK_TEXT_DIR_RTL && keyval == GDK_KEY_Left))) { gtk_widget_activate (GTK_WIDGET (self->next_button)); return GDK_EVENT_STOP; } switch (keyval) { case GDK_KEY_Return: case GDK_KEY_KP_Enter: case GDK_KEY_ISO_Enter: case GDK_KEY_space: case GDK_KEY_KP_Space: { GtkWidget *tile = NULL; tile = bge_carousel_get_nth_page (self->carousel, gtk_single_selection_get_selected (self->selection)); if (tile != NULL) g_signal_emit_by_name (tile, "clicked"); return GDK_EVENT_STOP; } default: break; } return GDK_EVENT_PROPAGATE; } static void bz_featured_carousel_dispose (GObject *object) { BzFeaturedCarousel *self = BZ_FEATURED_CAROUSEL (object); g_signal_handlers_disconnect_by_func (adw_style_manager_get_default (), on_style_changed, self); g_clear_handle_id (&self->rotation_timer_source, g_source_remove); g_clear_pointer (&self->time_since_manual_rotate, g_timer_destroy); g_clear_object (&self->model); G_OBJECT_CLASS (bz_featured_carousel_parent_class)->dispose (object); } static void bz_featured_carousel_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFeaturedCarousel *self; self = BZ_FEATURED_CAROUSEL (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, bz_featured_carousel_get_model (self)); break; case PROP_AUTO_ROTATE: g_value_set_boolean (value, self->auto_rotate); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void bz_featured_carousel_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFeaturedCarousel *self; self = BZ_FEATURED_CAROUSEL (object); switch (prop_id) { case PROP_MODEL: bz_featured_carousel_set_model (self, g_value_get_object (value)); break; case PROP_AUTO_ROTATE: self->auto_rotate = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static GtkWidget * on_create_widget (BzFeaturedCarousel *self, BzEntryGroup *group, BgeCarousel *carousel) { BzFeaturedTile *tile = NULL; tile = bz_featured_tile_new (group); gtk_widget_set_hexpand (GTK_WIDGET (tile), TRUE); gtk_widget_set_vexpand (GTK_WIDGET (tile), TRUE); gtk_widget_set_can_focus (GTK_WIDGET (tile), FALSE); g_signal_connect (tile, "clicked", G_CALLBACK (tile_clicked_cb), self); return GTK_WIDGET (tile); } static void on_remove_widget (BzFeaturedCarousel *self, BzFeaturedTile *tile, BzEntryGroup *group, BgeCarousel *carousel) { } static void bz_featured_carousel_class_init (BzFeaturedCarouselClass *klass) { GObjectClass *object_class; GtkWidgetClass *widget_class; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->get_property = bz_featured_carousel_get_property; object_class->set_property = bz_featured_carousel_set_property; object_class->dispose = bz_featured_carousel_dispose; props[PROP_MODEL] = g_param_spec_object ("model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); props[PROP_AUTO_ROTATE] = g_param_spec_boolean ("auto-rotate", NULL, NULL, TRUE, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-featured-carousel.ui"); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_GROUP); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzFeaturedCarousel, carousel); gtk_widget_class_bind_template_child (widget_class, BzFeaturedCarousel, selection); gtk_widget_class_bind_template_child (widget_class, BzFeaturedCarousel, next_button); gtk_widget_class_bind_template_child (widget_class, BzFeaturedCarousel, previous_button); gtk_widget_class_bind_template_callback (widget_class, on_create_widget); gtk_widget_class_bind_template_callback (widget_class, on_remove_widget); gtk_widget_class_bind_template_callback (widget_class, on_notify_selected); gtk_widget_class_bind_template_callback (widget_class, next_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, previous_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, carousel_focus_cb); gtk_widget_class_bind_template_callback (widget_class, on_focus_enter_cb); gtk_widget_class_bind_template_callback (widget_class, on_focus_leave_cb); gtk_widget_class_bind_template_callback (widget_class, key_pressed_cb); } static void bz_featured_carousel_init (BzFeaturedCarousel *self) { gtk_widget_init_template (GTK_WIDGET (self)); self->auto_rotate = TRUE; self->rotation_timer_source = g_timeout_add_seconds ( FEATURED_ROTATE_TIME, rotate_cb, self); self->time_since_manual_rotate = g_timer_new (); g_signal_connect (adw_style_manager_get_default (), "notify::dark", G_CALLBACK (on_style_changed), self); } BzFeaturedCarousel * bz_featured_carousel_new (void) { return g_object_new (BZ_TYPE_FEATURED_CAROUSEL, NULL); } GListModel * bz_featured_carousel_get_model (BzFeaturedCarousel *self) { g_return_val_if_fail (BZ_IS_FEATURED_CAROUSEL (self), NULL); return self->model; } void bz_featured_carousel_set_model (BzFeaturedCarousel *self, GListModel *model) { g_return_if_fail (BZ_IS_FEATURED_CAROUSEL (self)); g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); if (model != NULL && model == self->model) return; g_clear_object (&self->model); if (model != NULL) self->model = g_object_ref (model); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-carousel.h������������������������������������������������0000664�0000000�0000000�00000002343�15234476640�0022253�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-featured-carousel.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_FEATURED_CAROUSEL (bz_featured_carousel_get_type ()) G_DECLARE_FINAL_TYPE (BzFeaturedCarousel, bz_featured_carousel, BZ, FEATURED_CAROUSEL, GtkBox) BzFeaturedCarousel *bz_featured_carousel_new (void); GListModel *bz_featured_carousel_get_model (BzFeaturedCarousel *self); void bz_featured_carousel_set_model (BzFeaturedCarousel *self, GListModel *model); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-tile.blp��������������������������������������������������0000664�0000000�0000000�00000003554�15234476640�0021726�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzFeaturedTile: Button { styles [ "featured-tile", ] Overlay { [overlay] Image { halign: end; valign: start; icon-name: "app-installed-symbolic"; icon-size: normal; visible: bind template.group as <$BzEntryGroup>.removable; margin-top: 12; margin-end: 12; } Box content_box { halign: center; orientation: horizontal; margin-start: 10; margin-end: 10; Box { orientation: vertical; valign: center; margin-top: 50; margin-bottom: 50; Image image { paintable: bind template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; margin-bottom: 12; pixel-size: 128; styles [ "icon-dropshadow", ] } Label title { xalign: 0.5; halign: center; ellipsize: end; label: bind template.group as <$BzEntryGroup>.title; styles [ "title-1", ] } Adw.Clamp { maximum-size: 350; tightening-threshold: 350; Box { orientation: vertical; Label description { ellipsize: end; xalign: 0.5; lines: 1; justify: center; label: bind template.group as <$BzEntryGroup>.description; wrap: true; wrap-mode: word_char; styles [ "caption", ] } } } } $BzScreenshot screenshot { visible: bind $invert_boolean(template.narrow) as <bool>; paintable: bind template.first-screenshot; rounded-corners: true; top-half: true; valign: end; margin-top: 20; } } } } ����������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-tile.c����������������������������������������������������0000664�0000000�0000000�00000035213�15234476640�0021370�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-featured-tile.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-featured-tile.h" #include "bz-entry.h" #include "bz-group-tile-css-watcher.h" #include "bz-screenshot.h" #include "util.h" #define BZ_TYPE_FEATURED_TILE_LAYOUT (bz_featured_tile_layout_get_type ()) G_DECLARE_FINAL_TYPE (BzFeaturedTileLayout, bz_featured_tile_layout, BZ, FEATURED_TILE_LAYOUT, GtkLayoutManager) struct _BzFeaturedTileLayout { GtkLayoutManager parent_instance; gboolean narrow_mode; GtkWidget *content_box; int last_width; }; G_DEFINE_FINAL_TYPE (BzFeaturedTileLayout, bz_featured_tile_layout, GTK_TYPE_LAYOUT_MANAGER) enum { LAYOUT_SIGNAL_NARROW_MODE_CHANGED, LAYOUT_SIGNAL_LAST }; static guint layout_signals[LAYOUT_SIGNAL_LAST] = { 0 }; static void bz_featured_tile_layout_measure (GtkLayoutManager *layout_manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { GtkWidget *child; *minimum = 0; *natural = 0; *minimum_baseline = -1; *natural_baseline = -1; for (child = gtk_widget_get_first_child (widget); child != NULL; child = gtk_widget_get_next_sibling (child)) { int child_min; int child_nat; if (!gtk_widget_should_layout (child)) continue; gtk_widget_measure (child, orientation, for_size, &child_min, &child_nat, NULL, NULL); *minimum = MAX (*minimum, child_min); *natural = MAX (*natural, child_nat); } } static void bz_featured_tile_layout_allocate (GtkLayoutManager *layout_manager, GtkWidget *widget, gint width, gint height, gint baseline) { BzFeaturedTileLayout *self; GtkWidget *child; gboolean narrow_mode; int spacing; const int NARROW_THRESHOLD = 950; const int MIN_SPACING = 15; const int MAX_SPACING = 128; const int MAX_WIDTH = 1300; self = BZ_FEATURED_TILE_LAYOUT (layout_manager); narrow_mode = (width < NARROW_THRESHOLD); if (self->content_box != NULL && self->last_width != width) { self->last_width = width; if (narrow_mode) { spacing = 100; } else { if (width < NARROW_THRESHOLD) spacing = MIN_SPACING; else if (width >= MAX_WIDTH) spacing = MAX_SPACING; else spacing = MIN_SPACING + ((width - NARROW_THRESHOLD) * (MAX_SPACING - MIN_SPACING)) / (MAX_WIDTH - NARROW_THRESHOLD); } gtk_box_set_spacing (GTK_BOX (self->content_box), spacing); } for (child = gtk_widget_get_first_child (widget); child != NULL; child = gtk_widget_get_next_sibling (child)) { if (gtk_widget_should_layout (child)) gtk_widget_allocate (child, width, height, -1, NULL); } if (self->narrow_mode != narrow_mode) { self->narrow_mode = narrow_mode; g_signal_emit (self, layout_signals[LAYOUT_SIGNAL_NARROW_MODE_CHANGED], 0, self->narrow_mode); } } static void bz_featured_tile_layout_class_init (BzFeaturedTileLayoutClass *klass) { GtkLayoutManagerClass *layout_manager_class; layout_manager_class = GTK_LAYOUT_MANAGER_CLASS (klass); layout_manager_class->measure = bz_featured_tile_layout_measure; layout_manager_class->allocate = bz_featured_tile_layout_allocate; layout_signals[LAYOUT_SIGNAL_NARROW_MODE_CHANGED] = g_signal_new ("narrow-mode-changed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); } static void bz_featured_tile_layout_init (BzFeaturedTileLayout *self) { self->last_width = -1; } struct _BzFeaturedTile { GtkButton parent_instance; BzEntryGroup *group; gboolean narrow_mode; guint refresh_id; BzGroupTileCssWatcher *css; GtkWidget *stack; GtkWidget *image; GtkWidget *title; GtkWidget *description; GtkWidget *screenshot; GtkWidget *content_box; GdkPaintable *first_screenshot; gboolean has_screenshot; DexFuture *ui_entry_resolve; }; G_DEFINE_FINAL_TYPE (BzFeaturedTile, bz_featured_tile, GTK_TYPE_BUTTON) enum { PROP_0, PROP_GROUP, PROP_FIRST_SCREENSHOT, PROP_HAS_SCREENSHOT, PROP_NARROW, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { NULL, }; static void bz_featured_tile_refresh (BzFeaturedTile *self); static void update_screenshot (BzFeaturedTile *self); static gboolean bz_featured_tile_refresh_idle_cb (GWeakRef *wr) { g_autoptr (BzFeaturedTile) self = NULL; self = g_weak_ref_get (wr); if (self == NULL) goto done; self->refresh_id = 0; bz_featured_tile_refresh (self); done: return G_SOURCE_REMOVE; } static void schedule_refresh (BzFeaturedTile *self) { if (self->refresh_id != 0) return; self->refresh_id = g_idle_add_full ( G_PRIORITY_DEFAULT, (GSourceFunc) bz_featured_tile_refresh_idle_cb, bz_track_weak (self), bz_weak_release); } static void bz_featured_tile_layout_narrow_mode_changed_cb (GtkLayoutManager *layout_manager, gboolean narrow_mode, gpointer user_data) { BzFeaturedTile *self; self = BZ_FEATURED_TILE (user_data); if (self->narrow_mode != narrow_mode) { self->narrow_mode = narrow_mode; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NARROW]); schedule_refresh (self); } } static inline void notify_properties (BzFeaturedTile *self, gboolean has_screenshot) { if (self->has_screenshot != has_screenshot) { self->has_screenshot = has_screenshot; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_SCREENSHOT]); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FIRST_SCREENSHOT]); } static DexFuture * ui_entry_resolved_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzFeaturedTile) self = NULL; const GValue *value = NULL; gboolean has_screenshot = FALSE; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, NULL); if (value != NULL) { BzEntry *ui_entry = NULL; g_autoptr (GListModel) screenshots = NULL; ui_entry = g_value_get_object (value); g_object_get (ui_entry, "screenshot-paintables", &screenshots, NULL); if (screenshots != NULL && g_list_model_get_n_items (screenshots) > 0) { self->first_screenshot = g_list_model_get_item (screenshots, 0); has_screenshot = TRUE; } } dex_clear (&self->ui_entry_resolve); notify_properties (self, has_screenshot); return NULL; } /* FIXME: duplicate code from rich-app-tile */ static void update_screenshot (BzFeaturedTile *self) { g_autoptr (BzResult) ui_entry_result = NULL; g_autoptr (GListModel) screenshots = NULL; dex_clear (&self->ui_entry_resolve); g_clear_object (&self->first_screenshot); if (self->group == NULL) { notify_properties (self, FALSE); return; } ui_entry_result = bz_entry_group_dup_ui_entry (self->group); self->ui_entry_resolve = dex_future_finally ( bz_result_dup_future (ui_entry_result), (DexFutureCallback) ui_entry_resolved_finally, bz_track_weak (self), bz_weak_release); } static void bz_featured_tile_refresh (BzFeaturedTile *self) { gtk_label_set_wrap (GTK_LABEL (self->description), self->narrow_mode); gtk_label_set_lines (GTK_LABEL (self->description), self->narrow_mode ? 2 : 1); update_screenshot (self); } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static int get_start_margin (gpointer object, gboolean narrow) { return narrow ? 20 : 50; } static void bz_featured_tile_dispose (GObject *object) { BzFeaturedTile *self; self = BZ_FEATURED_TILE (object); g_clear_handle_id (&self->refresh_id, g_source_remove); if (self->group != NULL) g_signal_handlers_disconnect_by_func (self->group, schedule_refresh, self); g_clear_object (&self->group); g_clear_object (&self->css); g_clear_object (&self->first_screenshot); G_OBJECT_CLASS (bz_featured_tile_parent_class)->dispose (object); } static void bz_featured_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFeaturedTile *self; self = BZ_FEATURED_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_featured_tile_get_group (self)); break; case PROP_FIRST_SCREENSHOT: g_value_set_object (value, self->first_screenshot); break; case PROP_HAS_SCREENSHOT: g_value_set_boolean (value, self->has_screenshot); break; case PROP_NARROW: g_value_set_boolean (value, self->narrow_mode); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void bz_featured_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFeaturedTile *self; self = BZ_FEATURED_TILE (object); switch (prop_id) { case PROP_GROUP: bz_featured_tile_set_group (self, g_value_get_object (value)); break; case PROP_FIRST_SCREENSHOT: case PROP_HAS_SCREENSHOT: case PROP_NARROW: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void bz_featured_tile_class_init (BzFeaturedTileClass *klass) { GObjectClass *object_class; GtkWidgetClass *widget_class; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_featured_tile_dispose; object_class->get_property = bz_featured_tile_get_property; object_class->set_property = bz_featured_tile_set_property; props[PROP_GROUP] = g_param_spec_object ("group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); props[PROP_FIRST_SCREENSHOT] = g_param_spec_object ("first-screenshot", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_HAS_SCREENSHOT] = g_param_spec_boolean ("has-screenshot", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_NARROW] = g_param_spec_boolean ("narrow", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_SCREENSHOT); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-featured-tile.ui"); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, get_start_margin); gtk_widget_class_bind_template_child (widget_class, BzFeaturedTile, image); gtk_widget_class_bind_template_child (widget_class, BzFeaturedTile, title); gtk_widget_class_bind_template_child (widget_class, BzFeaturedTile, description); gtk_widget_class_bind_template_child (widget_class, BzFeaturedTile, screenshot); gtk_widget_class_bind_template_child (widget_class, BzFeaturedTile, content_box); gtk_widget_class_set_css_name (widget_class, "featured-tile"); gtk_widget_class_set_layout_manager_type (widget_class, BZ_TYPE_FEATURED_TILE_LAYOUT); } static void bz_featured_tile_init (BzFeaturedTile *self) { GtkLayoutManager *layout_manager; BzFeaturedTileLayout *tile_layout; gtk_widget_init_template (GTK_WIDGET (self)); self->css = bz_group_tile_css_watcher_new (); bz_group_tile_css_watcher_set_widget (self->css, GTK_WIDGET (self)); layout_manager = gtk_widget_get_layout_manager (GTK_WIDGET (self)); g_warn_if_fail (layout_manager != NULL); tile_layout = BZ_FEATURED_TILE_LAYOUT (layout_manager); tile_layout->content_box = self->content_box; g_signal_connect_object (layout_manager, "narrow-mode-changed", G_CALLBACK (bz_featured_tile_layout_narrow_mode_changed_cb), self, 0); } BzFeaturedTile * bz_featured_tile_new (BzEntryGroup *group) { return g_object_new (BZ_TYPE_FEATURED_TILE, "group", group, NULL); } BzEntryGroup * bz_featured_tile_get_group (BzFeaturedTile *self) { g_return_val_if_fail (BZ_IS_FEATURED_TILE (self), NULL); return self->group; } void bz_featured_tile_set_group (BzFeaturedTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_FEATURED_TILE (self)); g_return_if_fail (group == NULL || BZ_IS_ENTRY_GROUP (group)); g_clear_handle_id (&self->refresh_id, g_source_remove); if (self->group != NULL) g_signal_handlers_disconnect_by_func (self->group, schedule_refresh, self); g_clear_object (&self->group); if (group != NULL) { self->group = g_object_ref (group); g_signal_connect_swapped (group, "notify", G_CALLBACK (schedule_refresh), self); schedule_refresh (self); } bz_group_tile_css_watcher_set_group (self->css, group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-featured-tile.h����������������������������������������������������0000664�0000000�0000000�00000002333�15234476640�0021372�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-featured-tile.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_FEATURED_TILE (bz_featured_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzFeaturedTile, bz_featured_tile, BZ, FEATURED_TILE, GtkButton) BzFeaturedTile *bz_featured_tile_new (BzEntryGroup *group); BzEntryGroup *bz_featured_tile_get_group (BzFeaturedTile *self); void bz_featured_tile_set_group (BzFeaturedTile *self, BzEntryGroup *group); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-finished-search-query.txt������������������������������������������0000664�0000000�0000000�00000000470�15234476640�0023427�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=finished_search_query parent-prefix=g parent-name=object author=AUTOGEN property=interpreted_query char G_TYPE_STRING string property=results GPtrArray G_TYPE_PTR_ARRAY boxed g_ptr_array_unref g_ptr_array_ref property=n_results guint G_TYPE_UINT uint property=elapsed double G_TYPE_DOUBLE double ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-auth-provider.txt������������������������������������������0000664�0000000�0000000�00000000251�15234476640�0023441�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=flathub_auth_provider parent-prefix=g parent-name=object author=AUTOGEN property=method char G_TYPE_STRING string property=name char G_TYPE_STRING string �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-category-section.blp���������������������������������������0000664�0000000�0000000�00000002047�15234476640�0024072�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzFlathubCategorySection : Box { orientation: vertical; spacing: 10; visible: bind $invert_boolean($is_null(template.category as <$BzFlathubCategory>) as <bool>) as <bool>; margin-bottom: 12; Label section_title { styles [ "title-1", ] visible: bind template.has-title as <bool>; xalign: 0.0; hexpand: true; margin-start: 3; margin-end: 3; margin-bottom: 5; ellipsize: end; } $BzDynamicListView section_list { styles [ "flathub-page-section", ] hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; row-spacing: bind $get_spacing(template.compact) as <int>; column-spacing: bind $get_spacing(template.compact) as <int>; bind-widget => $bind_widget_cb(); unbind-widget => $unbind_widget_cb(); } Button more_button { styles [ "pill", ] can-shrink: true; halign: center; valign: center; margin-top: 5; clicked => $on_more_button_clicked(); } }�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-category-section.c�����������������������������������������0000664�0000000�0000000�00000025343�15234476640�0023543�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-category-section.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-apps-page.h" #include "bz-entry-group.h" #include "bz-flathub-category-section.h" #include "bz-flathub-category.h" #include "bz-flathub-page.h" struct _BzFlathubCategorySection { GtkBox parent_instance; GtkLabel *section_title; GtkWidget *section_list; GtkButton *more_button; BzFlathubCategory *category; gboolean compact; gboolean has_title; guint min_items; GtkSliceListModel *slice_model; }; G_DEFINE_FINAL_TYPE (BzFlathubCategorySection, bz_flathub_category_section, GTK_TYPE_BOX) enum { PROP_0, PROP_CATEGORY, PROP_COMPACT, PROP_HAS_TITLE, PROP_MIN_ITEMS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void tile_clicked (BzEntryGroup *group, GtkButton *button) { gtk_widget_activate_action (GTK_WIDGET (button), "window.show-group", "s", bz_entry_group_get_id (group)); } static void on_more_button_clicked (GtkButton *button, BzFlathubCategorySection *self) { GtkWidget *flathub_page = NULL; GtkWidget *nav_view = NULL; AdwNavigationPage *apps_page = NULL; if (self->category == NULL) return; flathub_page = gtk_widget_get_ancestor (GTK_WIDGET (self), BZ_TYPE_FLATHUB_PAGE); if (flathub_page == NULL) return; nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); if (nav_view == NULL) return; apps_page = bz_apps_page_new_from_category (self->category); if (apps_page == NULL) return; adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), apps_page); } static void bind_widget_cb (BzFlathubCategorySection *self, GtkWidget *tile, BzEntryGroup *group, GtkWidget *view) { g_signal_connect_swapped (tile, "clicked", G_CALLBACK (tile_clicked), group); } static void unbind_widget_cb (BzFlathubCategorySection *self, GtkWidget *tile, BzEntryGroup *group, GtkWidget *view) { g_signal_handlers_disconnect_by_func (tile, G_CALLBACK (tile_clicked), group); } static int get_spacing (gpointer object, gboolean compact) { return compact ? 9 : 11; } static void update_model (BzFlathubCategorySection *self) { GtkExpression *expression; guint max_items; if (self->category == NULL) return; max_items = self->compact ? 6 : 12; max_items = MAX (max_items, self->min_items); if (self->slice_model != NULL) { gtk_slice_list_model_set_size (self->slice_model, max_items); return; } expression = gtk_property_expression_new (BZ_TYPE_FLATHUB_CATEGORY, NULL, "applications"); self->slice_model = gtk_slice_list_model_new (NULL, 0, max_items); gtk_expression_bind (expression, self->slice_model, "model", self->category); g_object_set (self->section_list, "model", self->slice_model, NULL); } static void bz_flathub_category_section_dispose (GObject *object) { BzFlathubCategorySection *self = BZ_FLATHUB_CATEGORY_SECTION (object); g_clear_object (&self->category); g_clear_object (&self->slice_model); G_OBJECT_CLASS (bz_flathub_category_section_parent_class)->dispose (object); } static void bz_flathub_category_section_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFlathubCategorySection *self = BZ_FLATHUB_CATEGORY_SECTION (object); switch (prop_id) { case PROP_CATEGORY: g_value_set_object (value, bz_flathub_category_section_get_category (self)); break; case PROP_COMPACT: g_value_set_boolean (value, bz_flathub_category_section_get_compact (self)); break; case PROP_HAS_TITLE: g_value_set_boolean (value, self->has_title); break; case PROP_MIN_ITEMS: g_value_set_uint (value, bz_flathub_category_section_get_min_items (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flathub_category_section_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFlathubCategorySection *self = BZ_FLATHUB_CATEGORY_SECTION (object); switch (prop_id) { case PROP_CATEGORY: bz_flathub_category_section_set_category (self, g_value_get_object (value)); break; case PROP_COMPACT: bz_flathub_category_section_set_compact (self, g_value_get_boolean (value)); break; case PROP_HAS_TITLE: self->has_title = g_value_get_boolean (value); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_TITLE]); break; case PROP_MIN_ITEMS: bz_flathub_category_section_set_min_items (self, g_value_get_uint (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static void bz_flathub_category_section_class_init (BzFlathubCategorySectionClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_flathub_category_section_dispose; object_class->get_property = bz_flathub_category_section_get_property; object_class->set_property = bz_flathub_category_section_set_property; props[PROP_CATEGORY] = g_param_spec_object ( "category", NULL, NULL, BZ_TYPE_FLATHUB_CATEGORY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_COMPACT] = g_param_spec_boolean ( "compact", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_HAS_TITLE] = g_param_spec_boolean ( "has-title", NULL, NULL, TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_MIN_ITEMS] = g_param_spec_uint ( "min-items", NULL, NULL, 0, G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-flathub-category-section.ui"); gtk_widget_class_bind_template_child (widget_class, BzFlathubCategorySection, section_title); gtk_widget_class_bind_template_child (widget_class, BzFlathubCategorySection, section_list); gtk_widget_class_bind_template_child (widget_class, BzFlathubCategorySection, more_button); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, on_more_button_clicked); gtk_widget_class_bind_template_callback (widget_class, bind_widget_cb); gtk_widget_class_bind_template_callback (widget_class, unbind_widget_cb); gtk_widget_class_bind_template_callback (widget_class, get_spacing); } static void bz_flathub_category_section_init (BzFlathubCategorySection *self) { self->compact = FALSE; self->has_title = TRUE; self->min_items = 0; gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_flathub_category_section_new (void) { return g_object_new (BZ_TYPE_FLATHUB_CATEGORY_SECTION, NULL); } void bz_flathub_category_section_set_category (BzFlathubCategorySection *self, BzFlathubCategory *category) { const char *display_name; g_autofree char *more_label = NULL; g_return_if_fail (BZ_IS_FLATHUB_CATEGORY_SECTION (self)); g_return_if_fail (category == NULL || BZ_IS_FLATHUB_CATEGORY (category)); if (self->category == category) return; g_clear_object (&self->category); g_clear_object (&self->slice_model); if (category != NULL) { self->category = g_object_ref (category); display_name = bz_flathub_category_get_display_name (category); gtk_label_set_text (self->section_title, display_name); more_label = g_strdup (bz_flathub_category_get_more_of_name (category)); gtk_button_set_label (self->more_button, more_label); update_model (self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CATEGORY]); } BzFlathubCategory * bz_flathub_category_section_get_category (BzFlathubCategorySection *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY_SECTION (self), NULL); return self->category; } void bz_flathub_category_section_set_compact (BzFlathubCategorySection *self, gboolean compact) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY_SECTION (self)); if (self->compact == compact) return; self->compact = compact; update_model (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COMPACT]); } gboolean bz_flathub_category_section_get_compact (BzFlathubCategorySection *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY_SECTION (self), FALSE); return self->compact; } void bz_flathub_category_section_set_min_items (BzFlathubCategorySection *self, guint min_items) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY_SECTION (self)); if (self->min_items == min_items) return; self->min_items = min_items; update_model (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MIN_ITEMS]); } guint bz_flathub_category_section_get_min_items (BzFlathubCategorySection *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY_SECTION (self), 0); return self->min_items; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-category-section.h�����������������������������������������0000664�0000000�0000000�00000003524�15234476640�0023545�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-category-section.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-flathub-category.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_FLATHUB_CATEGORY_SECTION (bz_flathub_category_section_get_type ()) G_DECLARE_FINAL_TYPE (BzFlathubCategorySection, bz_flathub_category_section, BZ, FLATHUB_CATEGORY_SECTION, GtkBox) GtkWidget *bz_flathub_category_section_new (void); void bz_flathub_category_section_set_category (BzFlathubCategorySection *self, BzFlathubCategory *category); BzFlathubCategory *bz_flathub_category_section_get_category (BzFlathubCategorySection *self); void bz_flathub_category_section_set_compact (BzFlathubCategorySection *self, gboolean compact); gboolean bz_flathub_category_section_get_compact (BzFlathubCategorySection *self); void bz_flathub_category_section_set_min_items (BzFlathubCategorySection *self, guint min_items); guint bz_flathub_category_section_get_min_items (BzFlathubCategorySection *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-category.c�������������������������������������������������0000664�0000000�0000000�00000067231�15234476640�0022103�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-category.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "appstream.h" #include "bz-flathub-category.h" #include "bz-flathub-sub-category.h" #include "bz-serializable.h" struct _BzFlathubCategory { GObject parent_instance; BzApplicationMapFactory *map_factory; char *name; GListModel *applications; GListModel *quality_applications; int total_entries; gboolean is_spotlight; GListModel *subcategories; }; static void serializable_iface_init (BzSerializableInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzFlathubCategory, bz_flathub_category, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (BZ_TYPE_SERIALIZABLE, serializable_iface_init)); enum { PROP_0, PROP_MAP_FACTORY, PROP_NAME, PROP_DISPLAY_NAME, PROP_SHORT_NAME, PROP_IS_XDG, PROP_SHOW_IN_LIST, PROP_SYMBOLIC_ICON_NAME, PROP_ICON_NAME, PROP_APPLICATIONS, PROP_QUALITY_APPLICATIONS, PROP_TOTAL_ENTRIES, PROP_IS_SPOTLIGHT, PROP_SUBCATEGORIES, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void clear (BzFlathubCategory *self); typedef struct { const char *id; const char *display_name; const char *short_name; const char *more_of_name; gboolean is_xdg; gboolean show_in_list; const char *icon_name; const char *symbolic_icon_name; const void *subcategories; } CategoryInfo; typedef struct { const char *display_name; const char *category_id; } Subcategory; static const Subcategory audiovideo_subcategories[] = { { N_ ("Editing"), "AudioVideoEditing" }, { N_ ("Midi"), "Midi" }, { N_ ("Mixer"), "Mixer" }, { N_ ("Music"), "Music" }, { N_ ("Player"), "Player" }, { N_ ("Recorder"), "Recorder" }, { N_ ("Sequencer"), "Sequencer" }, { N_ ("Tuner"), "Tuner" }, { N_ ("TV"), "TV" }, { NULL, NULL } }; static const Subcategory game_subcategories[] = { { N_ ("Emulation"), "Emulator" }, { N_ ("Action"), "ActionGame" }, { N_ ("Adventure"), "AdventureGame" }, { N_ ("Arcade"), "ArcadeGame" }, { N_ ("Blocks"), "BlocksGame" }, { N_ ("Board"), "BoardGame" }, { N_ ("Card"), "CardGame" }, { N_ ("Kids"), "KidsGame" }, { N_ ("Logic"), "LogicGame" }, { N_ ("Role Playing"), "RolePlaying" }, { N_ ("Shooter"), "Shooter" }, { N_ ("Simulation"), "Simulation" }, { N_ ("Sports"), "SportsGame" }, { N_ ("Strategy"), "StrategyGame" }, { NULL, NULL } }; static const Subcategory network_subcategories[] = { { N_ ("Browsers"), "WebBrowser" }, { N_ ("Chat"), "Chat" }, { N_ ("Mail"), "Email" }, { N_ ("File Sharing"), "FileTransfer"}, { NULL, NULL } }; static const CategoryInfo category_info[] = { { "audiovideo", N_ ("Audio & Video"), N_ ("Media"), N_ ("More Audio & Video"), TRUE, TRUE, "io.github.kolumni.Bazaar.Audiovideo", "video-reel2-symbolic", audiovideo_subcategories }, { "development", N_ ("Developer Tools"), N_ ("Develop"), N_ ("More Developer Tools"), TRUE, TRUE, "io.github.kolumni.Bazaar.Develop", "code-symbolic", NULL }, { "education", N_ ("Education"), N_ ("Learn"), N_ ("More Education"), TRUE, TRUE, "io.github.kolumni.Bazaar.Learn", "open-book-symbolic", NULL }, { "game", N_ ("Gaming"), N_ ("Play"), N_ ("More Gaming"), TRUE, TRUE, "io.github.kolumni.Bazaar.Play", "gamepad-symbolic", game_subcategories }, { "graphics", N_ ("Graphics & Photography"), N_ ("Create"), N_ ("More Graphics & Photography"), TRUE, TRUE, "io.github.kolumni.Bazaar.Create", "paintbrush-symbolic", NULL }, { "network", N_ ("Networking"), N_ ("Internet"), N_ ("More Networking"), TRUE, TRUE, "io.github.kolumni.Bazaar.Network", "globe-symbolic", network_subcategories }, { "office", N_ ("Productivity"), N_ ("Work"), N_ ("More Productivity"), TRUE, TRUE, "io.github.kolumni.Bazaar.Work", "meeting-symbolic", NULL }, { "science", N_ ("Science"), N_ ("Science"), N_ ("More Science"), TRUE, TRUE, "io.github.kolumni.Bazaar.Science", "applications-science-symbolic", NULL }, { "system", N_ ("System"), N_ ("System"), N_ ("More System"), TRUE, TRUE, "io.github.kolumni.Bazaar.System", "applications-system-symbolic", NULL }, { "utility", N_ ("Utilities"), N_ ("Tools"), N_ ("More Utilities"), TRUE, TRUE, "io.github.kolumni.Bazaar.Utilities", "applications-utilities-symbolic", NULL }, { "trending", N_ ("Trending"), N_ ("Trending"), N_ ("More Trending"), FALSE, TRUE, "io.github.kolumni.Bazaar.Trending", "", NULL }, { "popular", N_ ("Popular"), N_ ("Popular"), N_ ("More Popular"), FALSE, TRUE, "io.github.kolumni.Bazaar.Popular", "", NULL }, { "recently-added", N_ ("Recently Added"), N_ ("New"), N_ ("More New"), FALSE, TRUE, "io.github.kolumni.Bazaar.New", "", NULL }, { "recently-updated", N_ ("Recently Updated"), N_ ("Updated"), N_ ("More Updated"), FALSE, TRUE, "io.github.kolumni.Bazaar.Updated", "", NULL }, { "mobile", N_ ("Mobile"), N_ ("Mobile"), N_ ("More Mobile"), FALSE, TRUE, "io.github.kolumni.Bazaar.Mobile", "", NULL }, { "adwaita", N_ ("Adwaita"), N_ ("Adwaita"), N_ ("More Adwaita"), FALSE, TRUE, "io.github.kolumni.Bazaar.Adwaita", "", NULL }, { "kde", N_ ("KDE Apps"), N_ ("KDE Apps"), N_ ("More KDE Apps"), FALSE, TRUE, "io.github.kolumni.Bazaar.Kde", "", NULL }, { "game-only", N_ ("Games"), N_ ("Games"), N_ ("More Games"), FALSE, FALSE, "", "", NULL }, { "emulators", N_ ("Emulators"), N_ ("Emulators"), N_ ("More Emulators"), FALSE, FALSE, "", "", NULL }, { "launchers", N_ ("Launchers"), N_ ("Launchers"), N_ ("More Game Launchers"), FALSE, FALSE, "", "", NULL }, { "game-tools", N_ ("Game Tools"), N_ ("Game Tools"), N_ ("More Game Tools"), FALSE, FALSE, "", "", NULL }, { NULL, NULL, NULL, NULL, FALSE, FALSE, NULL, NULL, NULL } }; static const CategoryInfo * get_category_info (const char *category_id) { for (int i = 0; category_info[i].id != NULL; i++) { if (g_strcmp0 (category_info[i].id, category_id) == 0) return &category_info[i]; } return NULL; } static GListModel * create_subcategories (const Subcategory *subcategories) { GListStore *store; store = g_list_store_new (BZ_TYPE_FLATHUB_SUB_CATEGORY); for (gsize i = 0; subcategories[i].display_name != NULL; i++) g_list_store_append (store, g_object_new (BZ_TYPE_FLATHUB_SUB_CATEGORY, "name", _ (subcategories[i].display_name), "id", subcategories[i].category_id, NULL)); return G_LIST_MODEL (store); } static void bz_flathub_category_dispose (GObject *object) { BzFlathubCategory *self = BZ_FLATHUB_CATEGORY (object); clear (self); G_OBJECT_CLASS (bz_flathub_category_parent_class)->dispose (object); } static void bz_flathub_category_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFlathubCategory *self = BZ_FLATHUB_CATEGORY (object); switch (prop_id) { case PROP_MAP_FACTORY: g_value_set_object (value, bz_flathub_category_get_map_factory (self)); break; case PROP_NAME: g_value_set_string (value, bz_flathub_category_get_name (self)); break; case PROP_APPLICATIONS: g_value_take_object (value, bz_flathub_category_dup_applications (self)); break; case PROP_QUALITY_APPLICATIONS: g_value_take_object (value, bz_flathub_category_dup_quality_applications (self)); break; case PROP_DISPLAY_NAME: g_value_set_string (value, bz_flathub_category_get_display_name (self)); break; case PROP_SHORT_NAME: g_value_set_string (value, bz_flathub_category_get_short_name (self)); break; case PROP_IS_XDG: g_value_set_boolean (value, bz_flathub_category_get_is_xdg (self)); break; case PROP_SHOW_IN_LIST: g_value_set_boolean (value, bz_flathub_category_get_show_in_list (self)); break; case PROP_SYMBOLIC_ICON_NAME: g_value_set_string (value, bz_flathub_category_get_symbolic_icon_name (self)); break; case PROP_ICON_NAME: g_value_set_string (value, bz_flathub_category_get_icon_name (self)); break; case PROP_TOTAL_ENTRIES: g_value_set_int (value, bz_flathub_category_get_total_entries (self)); break; case PROP_IS_SPOTLIGHT: g_value_set_boolean (value, bz_flathub_category_get_is_spotlight (self)); break; case PROP_SUBCATEGORIES: g_value_set_object (value, bz_flathub_category_get_subcategories (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flathub_category_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFlathubCategory *self = BZ_FLATHUB_CATEGORY (object); switch (prop_id) { case PROP_MAP_FACTORY: bz_flathub_category_set_map_factory (self, g_value_get_object (value)); break; case PROP_NAME: bz_flathub_category_set_name (self, g_value_get_string (value)); break; case PROP_APPLICATIONS: bz_flathub_category_set_applications (self, g_value_get_object (value)); break; case PROP_QUALITY_APPLICATIONS: bz_flathub_category_set_quality_applications (self, g_value_get_object (value)); break; case PROP_TOTAL_ENTRIES: bz_flathub_category_set_total_entries (self, g_value_get_int (value)); break; case PROP_IS_SPOTLIGHT: bz_flathub_category_set_is_spotlight (self, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flathub_category_class_init (BzFlathubCategoryClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_flathub_category_set_property; object_class->get_property = bz_flathub_category_get_property; object_class->dispose = bz_flathub_category_dispose; props[PROP_MAP_FACTORY] = g_param_spec_object ( "map-factory", NULL, NULL, BZ_TYPE_APPLICATION_MAP_FACTORY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_NAME] = g_param_spec_string ( "name", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_DISPLAY_NAME] = g_param_spec_string ( "display-name", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_SHORT_NAME] = g_param_spec_string ( "short-name", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_IS_XDG] = g_param_spec_boolean ( "is-xdg", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_SHOW_IN_LIST] = g_param_spec_boolean ( "show-in-list", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_SYMBOLIC_ICON_NAME] = g_param_spec_string ( "symbolic-icon-name", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_ICON_NAME] = g_param_spec_string ( "icon-name", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_APPLICATIONS] = g_param_spec_object ( "applications", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_QUALITY_APPLICATIONS] = g_param_spec_object ( "quality-applications", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TOTAL_ENTRIES] = g_param_spec_int ( "total-entries", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_IS_SPOTLIGHT] = g_param_spec_boolean ( "is-spotlight", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_SUBCATEGORIES] = g_param_spec_object ( "subcategories", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_flathub_category_init (BzFlathubCategory *self) { } static void bz_flathub_category_real_serialize (BzSerializable *serializable, GVariantBuilder *builder) { BzFlathubCategory *self = BZ_FLATHUB_CATEGORY (serializable); if (self->name != NULL) g_variant_builder_add (builder, "{sv}", "name", g_variant_new_string (self->name)); if (self->applications != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (self->applications); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_items; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (self->applications, i); g_variant_builder_add (sub_builder, "s", gtk_string_object_get_string (string)); } g_variant_builder_add (builder, "{sv}", "applications", g_variant_builder_end (sub_builder)); } } if (self->quality_applications != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (self->quality_applications); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_items; i++) { g_autoptr (GtkStringObject) string = NULL; string = g_list_model_get_item (self->quality_applications, i); g_variant_builder_add (sub_builder, "s", gtk_string_object_get_string (string)); } g_variant_builder_add (builder, "{sv}", "quality-applications", g_variant_builder_end (sub_builder)); } } g_variant_builder_add (builder, "{sv}", "total-entries", g_variant_new_int32 (self->total_entries)); g_variant_builder_add (builder, "{sv}", "is-spotlight", g_variant_new_boolean (self->is_spotlight)); } static gboolean bz_flathub_category_real_deserialize (BzSerializable *serializable, GVariant *import, GError **error) { BzFlathubCategory *self = BZ_FLATHUB_CATEGORY (serializable); g_autoptr (GVariantIter) iter = NULL; clear (self); iter = g_variant_iter_new (import); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; /* TODO automate this, this is awful */ if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "name") == 0) bz_flathub_category_set_name (self, g_variant_get_string (value, NULL)); else if (g_strcmp0 (key, "applications") == 0) { g_autoptr (GtkStringList) list = NULL; g_autoptr (GVariantIter) list_iter = NULL; list = gtk_string_list_new (NULL); list_iter = g_variant_iter_new (value); for (;;) { g_autofree char *id = NULL; if (!g_variant_iter_next (list_iter, "s", &id)) break; gtk_string_list_append (list, id); } self->applications = (GListModel *) g_steal_pointer (&list); } else if (g_strcmp0 (key, "quality-applications") == 0) { g_autoptr (GtkStringList) list = NULL; g_autoptr (GVariantIter) list_iter = NULL; list = gtk_string_list_new (NULL); list_iter = g_variant_iter_new (value); for (;;) { g_autofree char *id = NULL; if (!g_variant_iter_next (list_iter, "s", &id)) break; gtk_string_list_append (list, id); } self->quality_applications = (GListModel *) g_steal_pointer (&list); } else if (g_strcmp0 (key, "total-entries") == 0) self->total_entries = g_variant_get_int32 (value); else if (g_strcmp0 (key, "is-spotlight") == 0) self->is_spotlight = g_variant_get_boolean (value); } return TRUE; } static void serializable_iface_init (BzSerializableInterface *iface) { iface->serialize = bz_flathub_category_real_serialize; iface->deserialize = bz_flathub_category_real_deserialize; } BzFlathubCategory * bz_flathub_category_new (void) { return g_object_new (BZ_TYPE_FLATHUB_CATEGORY, NULL); } BzApplicationMapFactory * bz_flathub_category_get_map_factory (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); return self->map_factory; } const char * bz_flathub_category_get_name (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); return self->name; } GListModel * bz_flathub_category_dup_applications (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); if (self->applications != NULL) { if (self->map_factory != NULL) return bz_application_map_factory_generate ( self->map_factory, G_LIST_MODEL (self->applications)); else return G_LIST_MODEL (g_object_ref (self->applications)); } else return NULL; } GListModel * bz_flathub_category_dup_quality_applications (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); if (self->quality_applications != NULL) { if (self->map_factory != NULL) return bz_application_map_factory_generate ( self->map_factory, G_LIST_MODEL (self->quality_applications)); else return G_LIST_MODEL (g_object_ref (self->quality_applications)); } else return NULL; } int bz_flathub_category_get_total_entries (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), 0); return self->total_entries; } gboolean bz_flathub_category_get_is_spotlight (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), FALSE); return self->is_spotlight; } void bz_flathub_category_set_map_factory (BzFlathubCategory *self, BzApplicationMapFactory *map_factory) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY (self)); g_return_if_fail (map_factory == NULL || BZ_IS_APPLICATION_MAP_FACTORY (map_factory)); g_clear_object (&self->map_factory); if (map_factory != NULL) self->map_factory = g_object_ref (map_factory); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MAP_FACTORY]); } void bz_flathub_category_set_name (BzFlathubCategory *self, const char *name) { const CategoryInfo *info; g_return_if_fail (BZ_IS_FLATHUB_CATEGORY (self)); g_clear_pointer (&self->name, g_free); self->name = g_strdup (name); info = get_category_info (name); if (info != NULL && info->subcategories != NULL) { g_clear_object (&self->subcategories); self->subcategories = create_subcategories ((const Subcategory *) info->subcategories); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SUBCATEGORIES]); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NAME]); } void bz_flathub_category_set_applications (BzFlathubCategory *self, GListModel *applications) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY (self)); g_clear_pointer (&self->applications, g_object_unref); if (applications != NULL) self->applications = g_object_ref (applications); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APPLICATIONS]); } void bz_flathub_category_set_quality_applications (BzFlathubCategory *self, GListModel *applications) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY (self)); g_clear_pointer (&self->quality_applications, g_object_unref); if (applications != NULL) self->quality_applications = g_object_ref (applications); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_QUALITY_APPLICATIONS]); } void bz_flathub_category_set_total_entries (BzFlathubCategory *self, int total_entries) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY (self)); if (self->total_entries == total_entries) return; self->total_entries = total_entries; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TOTAL_ENTRIES]); } void bz_flathub_category_set_is_spotlight (BzFlathubCategory *self, gboolean is_spotlight) { g_return_if_fail (BZ_IS_FLATHUB_CATEGORY (self)); if (self->is_spotlight == is_spotlight) return; self->is_spotlight = is_spotlight; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_IS_SPOTLIGHT]); } const char * bz_flathub_category_get_display_name (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); info = get_category_info (self->name); return info ? _ (info->display_name) : self->name; } const char * bz_flathub_category_get_short_name (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); info = get_category_info (self->name); return info ? _ (info->short_name) : self->name; } const char * bz_flathub_category_get_more_of_name (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); info = get_category_info (self->name); return info ? _ (info->more_of_name) : self->name; } gboolean bz_flathub_category_get_is_xdg (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), FALSE); info = get_category_info (self->name); return info ? info->is_xdg : FALSE; } gboolean bz_flathub_category_get_show_in_list (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), FALSE); info = get_category_info (self->name); return info ? info->show_in_list : FALSE; } const char * bz_flathub_category_get_symbolic_icon_name (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); info = get_category_info (self->name); return info ? info->symbolic_icon_name : NULL; } const char * bz_flathub_category_get_icon_name (BzFlathubCategory *self) { const CategoryInfo *info; g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); info = get_category_info (self->name); return info ? info->icon_name : NULL; } GListModel * bz_flathub_category_get_subcategories (BzFlathubCategory *self) { g_return_val_if_fail (BZ_IS_FLATHUB_CATEGORY (self), NULL); return self->subcategories; } static void clear (BzFlathubCategory *self) { g_clear_pointer (&self->map_factory, g_object_unref); g_clear_pointer (&self->name, g_free); g_clear_pointer (&self->applications, g_object_unref); g_clear_pointer (&self->quality_applications, g_object_unref); g_clear_object (&self->subcategories); } static const char * bz_flathub_category_map_appstream_id (const char *as_category_id) { g_autofree char *lowercase = NULL; const CategoryInfo *info = NULL; g_return_val_if_fail (as_category_id != NULL, NULL); lowercase = g_ascii_strdown (as_category_id, -1); info = get_category_info (lowercase); return info ? info->id : NULL; } GListModel * bz_flathub_category_list_from_appstream (GPtrArray *as_categories) { g_autoptr (GListStore) categories = NULL; g_return_val_if_fail (as_categories != NULL, NULL); if (as_categories->len == 0) return NULL; categories = g_list_store_new (BZ_TYPE_FLATHUB_CATEGORY); for (guint i = 0; i < as_categories->len; i++) { const char *category_id = NULL; const char *mapped_id = NULL; category_id = (const char *) g_ptr_array_index (as_categories, i); if (category_id == NULL) continue; mapped_id = bz_flathub_category_map_appstream_id (category_id); if (mapped_id != NULL) { g_autoptr (BzFlathubCategory) category = NULL; category = bz_flathub_category_new (); bz_flathub_category_set_name (category, mapped_id); g_list_store_append (categories, category); } } if (g_list_model_get_n_items (G_LIST_MODEL (categories)) == 0) return NULL; return G_LIST_MODEL (g_steal_pointer (&categories)); } /* End of bz-flathub-category.c */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-category.h�������������������������������������������������0000664�0000000�0000000�00000006071�15234476640�0022103�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-category.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-application-map-factory.h" G_BEGIN_DECLS #define BZ_TYPE_FLATHUB_CATEGORY (bz_flathub_category_get_type ()) G_DECLARE_FINAL_TYPE (BzFlathubCategory, bz_flathub_category, BZ, FLATHUB_CATEGORY, GObject) BzFlathubCategory * bz_flathub_category_new (void); BzApplicationMapFactory * bz_flathub_category_get_map_factory (BzFlathubCategory *self); const char * bz_flathub_category_get_name (BzFlathubCategory *self); GListModel * bz_flathub_category_dup_applications (BzFlathubCategory *self); GListModel * bz_flathub_category_dup_quality_applications (BzFlathubCategory *self); void bz_flathub_category_set_map_factory (BzFlathubCategory *self, BzApplicationMapFactory *map_factory); void bz_flathub_category_set_name (BzFlathubCategory *self, const char *name); void bz_flathub_category_set_applications (BzFlathubCategory *self, GListModel *applications); void bz_flathub_category_set_quality_applications (BzFlathubCategory *self, GListModel *applications); const char * bz_flathub_category_get_display_name (BzFlathubCategory *self); const char * bz_flathub_category_get_short_name (BzFlathubCategory *self); const char * bz_flathub_category_get_more_of_name (BzFlathubCategory *self); gboolean bz_flathub_category_get_is_xdg (BzFlathubCategory *self); gboolean bz_flathub_category_get_show_in_list (BzFlathubCategory *self); const char * bz_flathub_category_get_symbolic_icon_name (BzFlathubCategory *self); const char * bz_flathub_category_get_icon_name (BzFlathubCategory *self); int bz_flathub_category_get_total_entries (BzFlathubCategory *self); void bz_flathub_category_set_total_entries (BzFlathubCategory *self, int total_entries); gboolean bz_flathub_category_get_is_spotlight (BzFlathubCategory *self); void bz_flathub_category_set_is_spotlight (BzFlathubCategory *self, gboolean is_spotlight); GListModel * bz_flathub_category_get_subcategories (BzFlathubCategory *self); GListModel * bz_flathub_category_list_from_appstream (GPtrArray *as_categories); G_END_DECLS /* End of bz-flathub-category.h */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-page.blp���������������������������������������������������0000664�0000000�0000000�00000057137�15234476640�0021541�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzFlathubPage: Adw.Bin { child: Adw.BreakpointBin { width-request: 360; height-request: 100; child: Adw.BreakpointBin { width-request: 360; height-request: 100; child: Adw.ViewStack stack { enable-transitions: true; transition-duration: 400; Adw.ViewStackPage { name: "empty"; child: Adw.StatusPage { icon-name: "flathub-symbolic"; title: _("Flathub Not Added"); description: _("The Flathub remote was not found on any of your Flatpak installations"); }; } Adw.ViewStackPage { name: "offline"; child: Adw.StatusPage { icon-name: "connected-squares-x"; title: _("Can't Reach Flathub"); description: _("You can still manage and search for apps."); child: Box offline_buttons { halign: center; spacing: 12; Button { label: _("Search Apps"); halign: center; clicked => $open_search_cb(template); styles ["pill"] } Button { styles ["pill"] halign: center; sensitive: bind $invert_boolean(template.state as <$BzStateInfo>.syncing as <bool>) as <bool>; label: _("Reconnect"); action-name: "app.sync-remotes"; } }; }; } Adw.ViewStackPage { name: "content"; child: ScrolledWindow { styles [ "transparent", ] hscrollbar-policy: never; child: Adw.ClampScrollable { maximum-size: 1500; tightening-threshold: 1400; child: Viewport { child: Box content_box { margin-start: 30; margin-end: 30; margin-top: 5; margin-bottom: 50; orientation: vertical; spacing: 15; $BzFeaturedCarousel { styles [ "flathub-page-section", ] margin-top: 16; margin-bottom: 3; hexpand: true; model: bind template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.apps_of_the_week; } Box section_toggles_box { halign: center; width-request: 800; Adw.ToggleGroup section_toggles { hexpand: true; halign: fill; homogeneous: true; styles [ "round", "huge" ] Adw.Toggle { label: _("Trending"); name: "trending"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "trending") as <$BzFlathubCategory>) as <bool>) as <bool>; } Adw.Toggle { label: _("Popular"); name: "popular"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "popular") as <$BzFlathubCategory>) as <bool>) as <bool>; } Adw.Toggle { label: _("New"); name: "recently-added"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "recently-added") as <$BzFlathubCategory>) as <bool>) as <bool>; } Adw.Toggle { label: _("Updated"); name: "recently-updated"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "recently-updated") as <$BzFlathubCategory>) as <bool>) as <bool>; } } } Adw.ViewStack sections_stack { enable-transitions: true; transition-duration: 300; visible-child-name: bind section_toggles.active-name bidirectional; Adw.ViewStackPage { name: "trending"; title: _("Trending"); child: $BzFlathubCategorySection section_trending { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "trending") as <$BzFlathubCategory>; min-items: 12; has-title: false; }; } Adw.ViewStackPage { name: "recently-updated"; title: _("Recently Updated"); child: $BzFlathubCategorySection section_recently_updated { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "recently-updated") as <$BzFlathubCategory>; min-items: 12; has-title: false; }; } Adw.ViewStackPage { name: "recently-added"; title: _("Recently Added"); child: $BzFlathubCategorySection section_recently_added { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "recently-added") as <$BzFlathubCategory>; min-items: 12; has-title: false; }; } Adw.ViewStackPage { name: "popular"; title: _("Popular"); child: $BzFlathubCategorySection section_popular { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "popular") as <$BzFlathubCategory>; min-items: 12; has-title: false; }; } } $BzFlathubCategorySection section_productivity { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "office") as <$BzFlathubCategory>; } Box { orientation: vertical; spacing: 10; margin-top: 16; margin-bottom: 20; Label { styles [ "title-1", ] xalign: 0.0; hexpand: true; margin-start: 3; margin-end: 3; margin-bottom: 5; ellipsize: end; label: _("App of the Day"); } $BzFeaturedCarousel { styles [ "flathub-page-section", ] hexpand: true; model: SliceListModel { offset: 0; size: 1; model: bind template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.apps_of_the_day_week; }; } } $BzFlathubCategorySection section_graphics { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "graphics") as <$BzFlathubCategory>; } $BzFlathubCategorySection section_audiovideo { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "audiovideo") as <$BzFlathubCategory>; } Box otg_box { visible: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "mobile") as <$BzFlathubCategory>) as <bool>) as <bool>; margin-top: 8; margin-bottom: 20; styles [ "sp-section", "otg", "card", ] Box otg_padding_box { orientation: horizontal; margin-start: 24; margin-end: 24; margin-top: 24; margin-bottom: 24; Box otg_title_box { orientation: vertical; spacing: 12; width-request: 285; valign: center; Image otg_image { icon-name: "on-the-go-symbolic"; can-target: false; pixel-size: 256; margin-bottom: 10; halign: start; styles [ "sp-section-image", ] } Label otg_title { label: _("On the Go"); halign: start; wrap: true; wrap-mode: word_char; styles [ "sp-section-title", "title-1", ] } Label otg_subtitle { label: _("Apps for your Linux phones and tablets"); halign: start; wrap: true; wrap-mode: word_char; } Button otg_more_button_top { styles [ "pill", ] label: _("More Mobile Apps"); halign: start; valign: center; clicked => $show_more_mobile_cb(template); } } $BzDynamicListView otg_list { styles [ "flathub-page-section", ] hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; max-children-per-line: 3; model: SliceListModel otg_slice { offset: 0; size: 9; model: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "mobile") as <$BzFlathubCategory>.applications; }; bind-widget => $bind_widget_cb(template); unbind-widget => $unbind_widget_cb(template); } Button otg_more_button_bottom { styles [ "pill", ] visible: false; label: _("More Mobile Apps"); halign: center; valign: center; margin-bottom: 12; clicked => $show_more_mobile_cb(template); } } } $BzFlathubCategorySection section_education { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "education") as <$BzFlathubCategory>; } $BzFlathubCategorySection section_network { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "network") as <$BzFlathubCategory>; } Box { visible: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "game") as <$BzFlathubCategory>) as <bool>) as <bool>; orientation: vertical; margin-top: 8; margin-bottom: 20; spacing: 10; styles [ "sp-section", "wlg", "card", ] Box gaming_padding_box { orientation: vertical; margin-start: 24; margin-end: 24; margin-top: 24; margin-bottom: 24; Box { orientation: vertical; spacing: 12; width-request: 285; margin-bottom: 12; valign: center; Image { icon-name: "we-love-games-symbolic"; can-target: false; pixel-size: 256; margin-bottom: 10; halign: center; styles [ "sp-section-image", ] } Label { label: _("We​ ♥​ Games"); halign: center; justify: center; wrap: true; wrap-mode: word_char; styles [ "sp-section-title", "title-1", ] } Label { label: _("Games and apps to run your favorite titles"); halign: center; justify: center; wrap: true; wrap-mode: word_char; } } Box game_section_toggles_box { halign: center; width-request: 800; margin-bottom: 20; margin-top: 8; Adw.ToggleGroup game_section_toggles { hexpand: true; halign: fill; homogeneous: true; styles [ "round", "huge" ] Adw.Toggle { label: _("Games"); name: "game"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "game") as <$BzFlathubCategory>) as <bool>) as <bool>; } Adw.Toggle { label: _("Emulators"); name: "emulators"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "emulators") as <$BzFlathubCategory>) as <bool>) as <bool>; } Adw.Toggle { label: _("Launchers"); name: "launchers"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "launchers") as <$BzFlathubCategory>) as <bool>) as <bool>; } Adw.Toggle { label: _("Tools"); name: "game-tools"; enabled: bind $invert_boolean($is_null($get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "game-tools") as <$BzFlathubCategory>) as <bool>) as <bool>; } } } Adw.ViewStack game_sections_stack { enable-transitions: true; transition-duration: 300; visible-child-name: bind game_section_toggles.active-name bidirectional; Adw.ViewStackPage { name: "game"; child: Box { orientation: vertical; $BzDynamicListView game_list { styles [ "flathub-page-section", ] hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; max-children-per-line: 4; model: SliceListModel game_slice { offset: 0; size: 12; model: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "game-only") as <$BzFlathubCategory>.applications; }; bind-widget => $bind_widget_cb(template); unbind-widget => $unbind_widget_cb(template); } Button { styles [ "pill", ] label: _("More Games"); halign: center; valign: center; margin-top: 12; margin-bottom: 12; clicked => $show_more_gaming_cb(template); } }; } Adw.ViewStackPage { name: "emulators"; child: $BzFlathubCategorySection emulators_section { has-title: false; category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "emulators") as <$BzFlathubCategory>; }; } Adw.ViewStackPage { name: "launchers"; child: $BzFlathubCategorySection launchers_section { has-title: false; category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "launchers") as <$BzFlathubCategory>; }; } Adw.ViewStackPage { name: "game-tools"; child: $BzFlathubCategorySection game_tools_section { has-title: false; category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "game-tools") as <$BzFlathubCategory>; }; } } } } $BzFlathubCategorySection section_development { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "development") as <$BzFlathubCategory>; } $BzFlathubCategorySection section_science { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "science") as <$BzFlathubCategory>; } $BzFlathubCategorySection section_system { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "system") as <$BzFlathubCategory>; } $BzFlathubCategorySection section_utility { category: bind $get_category_by_name_cb(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories, "utility") as <$BzFlathubCategory>; } }; }; }; }; } }; Adw.Breakpoint { condition ("max-width: 1250sp") setters { otg_list.max-children-per-line: 2; otg_slice.size: 6; } } Adw.Breakpoint { condition ("max-width: 700px") setters { offline_buttons.orientation: vertical; content_box.margin-start: 10; content_box.margin-end: 10; otg_padding_box.margin-start: 6; otg_padding_box.margin-end: 6; otg_padding_box.margin-bottom: 6; gaming_padding_box.margin-start: 6; gaming_padding_box.margin-end: 6; gaming_padding_box.margin-bottom: 6; section_toggles.homogeneous: false; game_section_toggles.homogeneous: false; section_trending.compact: true; section_popular.compact: true; section_recently_added.compact: true; section_recently_updated.compact: true; section_productivity.compact: true; section_graphics.compact: true; section_audiovideo.compact: true; section_education.compact: true; section_network.compact: true; section_development.compact: true; section_science.compact: true; section_system.compact: true; section_utility.compact: true; emulators_section.compact: true; launchers_section.compact: true; game_tools_section.compact: true; game_list.max-children-per-line: 2; game_slice.size: 6; otg_slice.size: 6; } } }; Adw.Breakpoint { condition ("max-width: 970sp") setters { section_toggles_box.width-request: -1; game_section_toggles_box.width-request: -1; otg_padding_box.orientation: vertical; otg_padding_box.spacing: 6; otg_title_box.halign: center; otg_title_box.width-request: -1; otg_title.justify: center; otg_subtitle.justify: center; otg_image.halign: center; otg_image.margin-top: 15; otg_image.margin-bottom: 5; otg_title.halign: center; otg_subtitle.halign: center; otg_more_button_bottom.visible: true; otg_more_button_top.visible: false; } } }; }���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-page.c�����������������������������������������������������0000664�0000000�0000000�00000023777�15234476640�0021211�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-page.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-app-tile.h" #include "bz-apps-page.h" #include "bz-dynamic-list-view.h" #include "bz-entry-group.h" #include "bz-featured-carousel.h" #include "bz-flathub-category-section.h" #include "bz-flathub-category.h" #include "bz-flathub-page.h" #include "bz-section-view.h" struct _BzFlathubPage { AdwBin parent_instance; BzStateInfo *state; /* Template widgets */ AdwViewStack *stack; }; G_DEFINE_FINAL_TYPE (BzFlathubPage, bz_flathub_page, ADW_TYPE_BIN) enum { PROP_0, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_OPEN_SEARCH, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static BzFlathubCategory * get_category_by_name (GListModel *categories, const char *name); static void invalidating_state_changed (BzFlathubPage *self, GParamSpec *pspec, BzStateInfo *info); static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static void tile_clicked (BzEntryGroup *group, GtkButton *button); static void show_more_clicked (BzFlathubPage *self, GtkButton *button, const char *category_name); static void bz_flathub_page_dispose (GObject *object) { BzFlathubPage *self = BZ_FLATHUB_PAGE (object); if (self->state != NULL) g_signal_handlers_disconnect_by_func (self->state, invalidating_state_changed, self); g_clear_object (&self->state); G_OBJECT_CLASS (bz_flathub_page_parent_class)->dispose (object); } static void bz_flathub_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFlathubPage *self = BZ_FLATHUB_PAGE (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, bz_flathub_page_get_state (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flathub_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFlathubPage *self = BZ_FLATHUB_PAGE (object); switch (prop_id) { case PROP_STATE: bz_flathub_page_set_state (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bind_widget_cb (BzFlathubPage *self, BzAppTile *tile, BzEntryGroup *group, BzDynamicListView *view) { g_signal_connect_swapped (tile, "clicked", G_CALLBACK (tile_clicked), group); } static void unbind_widget_cb (BzFlathubPage *self, BzAppTile *tile, BzEntryGroup *group, BzDynamicListView *view) { g_signal_handlers_disconnect_by_func (tile, G_CALLBACK (tile_clicked), group); } static void show_more_mobile_cb (BzFlathubPage *self, GtkButton *button) { show_more_clicked (self, button, "mobile"); } static void show_more_gaming_cb (BzFlathubPage *self, GtkButton *button) { show_more_clicked (self, button, "game"); } static BzFlathubCategory * get_category_by_name (GListModel *categories, const char *name) { guint n_items; guint i; if (categories == NULL) return NULL; n_items = g_list_model_get_n_items (categories); for (i = 0; i < n_items; i++) { g_autoptr (BzFlathubCategory) category = g_list_model_get_item (categories, i); const char *category_name; category_name = bz_flathub_category_get_name (category); if (g_strcmp0 (category_name, name) == 0) return g_object_ref (category); } return NULL; } static gpointer get_category_by_name_cb (gpointer object, gpointer categories_obj, const char *name) { return get_category_by_name (G_LIST_MODEL (categories_obj), name); } static void open_search_cb (BzFlathubPage *self, GtkButton *button) { g_signal_emit (self, signals[SIGNAL_OPEN_SEARCH], 0); } static void show_group_action (GtkWidget *widget, BzEntryGroup *group) { gtk_widget_activate_action (widget, "window.show-group", "s", bz_entry_group_get_id (group)); } static void bz_flathub_page_class_init (BzFlathubPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_flathub_page_dispose; object_class->get_property = bz_flathub_page_get_property; object_class->set_property = bz_flathub_page_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_OPEN_SEARCH] = g_signal_new ( "open-search", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_ensure (BZ_TYPE_SECTION_VIEW); g_type_ensure (BZ_TYPE_FLATHUB_CATEGORY_SECTION); g_type_ensure (BZ_TYPE_FLATHUB_CATEGORY); g_type_ensure (BZ_TYPE_DYNAMIC_LIST_VIEW); g_type_ensure (BZ_TYPE_APP_TILE); g_type_ensure (BZ_TYPE_FEATURED_CAROUSEL); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-flathub-page.ui"); gtk_widget_class_bind_template_child (widget_class, BzFlathubPage, stack); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, bind_widget_cb); gtk_widget_class_bind_template_callback (widget_class, unbind_widget_cb); gtk_widget_class_bind_template_callback (widget_class, get_category_by_name_cb); gtk_widget_class_bind_template_callback (widget_class, show_more_mobile_cb); gtk_widget_class_bind_template_callback (widget_class, show_more_gaming_cb); gtk_widget_class_bind_template_callback (widget_class, open_search_cb); } static void bz_flathub_page_init (BzFlathubPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_flathub_page_new (void) { return g_object_new (BZ_TYPE_FLATHUB_PAGE, NULL); } void bz_flathub_page_set_state (BzFlathubPage *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_FLATHUB_PAGE (self)); g_return_if_fail (state == NULL || BZ_IS_STATE_INFO (state)); if (self->state != NULL) g_signal_handlers_disconnect_by_func (self->state, invalidating_state_changed, self); g_clear_object (&self->state); if (state != NULL) { self->state = g_object_ref (state); g_signal_connect_swapped ( state, "notify::flathub", G_CALLBACK (invalidating_state_changed), self); g_signal_connect_swapped ( state, "notify::has-flathub", G_CALLBACK (invalidating_state_changed), self); g_signal_connect_swapped ( state, "notify::online", G_CALLBACK (invalidating_state_changed), self); } invalidating_state_changed (self, NULL, state); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } BzStateInfo * bz_flathub_page_get_state (BzFlathubPage *self) { g_return_val_if_fail (BZ_IS_FLATHUB_PAGE (self), NULL); return self->state; } static void show_more_clicked (BzFlathubPage *self, GtkButton *button, const char *category_name) { g_autoptr (BzFlathubCategory) category = NULL; GtkWidget *nav_view = NULL; AdwNavigationPage *apps_page = NULL; category = get_category_by_name ( bz_flathub_state_get_categories ( bz_state_info_get_flathub (self->state)), category_name); if (category == NULL) return; apps_page = bz_apps_page_new_from_category (category); nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); g_assert (nav_view != NULL); adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), apps_page); } static void tile_clicked (BzEntryGroup *group, GtkButton *button) { show_group_action (GTK_WIDGET (button), group); } static void invalidating_state_changed (BzFlathubPage *self, GParamSpec *pspec, BzStateInfo *info) { BzFlathubState *flathub = NULL; gboolean has_repo = FALSE; const char *page = NULL; if (self->state != NULL) { flathub = bz_state_info_get_flathub (self->state); has_repo = bz_state_info_get_has_flathub (self->state); } if (flathub != NULL && has_repo) page = "content"; else if (!has_repo) page = "empty"; else page = "offline"; adw_view_stack_set_visible_child_name (self->stack, page); } �bazaar-org-bazaar-917017d/src/bz-flathub-page.h�����������������������������������������������������0000664�0000000�0000000�00000002257�15234476640�0021204�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-page.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_FLATHUB_PAGE (bz_flathub_page_get_type ()) G_DECLARE_FINAL_TYPE (BzFlathubPage, bz_flathub_page, BZ, FLATHUB_PAGE, AdwBin) GtkWidget * bz_flathub_page_new (void); void bz_flathub_page_set_state (BzFlathubPage *self, BzStateInfo *state); BzStateInfo * bz_flathub_page_get_state (BzFlathubPage *self); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-state.c����������������������������������������������������0000664�0000000�0000000�00000100570�15234476640�0021400�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-state.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::FLATHUB" #define COLLECTION_FETCH_SIZE 192 #define CATEGORY_FETCH_SIZE 48 #define QUALITY_MODERATION_PAGE_SIZE 300 #define KEYWORD_SEARCH_PAGE_SIZE 48 #define ADWAITA_URL "https://arewelibadwaitayet.com" #include <json-glib/json-glib.h> #include <libdex.h> #include "env.h" #include "bz-flathub-category.h" #include "bz-flathub-state.h" #include "global-net.h" #include "io.h" #include "bz-serializable.h" #include "util.h" struct _BzFlathubState { GObject parent_instance; char *for_day; BzApplicationMapFactory *map_factory; char *app_of_the_day; GtkStringList *apps_of_the_week; GListStore *categories; DexFuture *initializing; }; typedef enum { QUALITY_MODE_NONE, QUALITY_MODE_FIRST, QUALITY_MODE_RANDOM } QualityMode; static void serializable_iface_init (BzSerializableInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzFlathubState, bz_flathub_state, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (BZ_TYPE_SERIALIZABLE, serializable_iface_init)) static GListModel *bz_flathub_state_dup_apps_of_the_day_week (BzFlathubState *self); enum { PROP_0, PROP_FOR_DAY, PROP_MAP_FACTORY, PROP_APP_OF_THE_DAY, PROP_APP_OF_THE_DAY_GROUP, PROP_APPS_OF_THE_WEEK, PROP_APPS_OF_THE_DAY_WEEK, PROP_CATEGORIES, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * initialize_fiber (GWeakRef *wr); static DexFuture * initialize_finally (DexFuture *future, GWeakRef *wr); static void notify_all (BzFlathubState *self); static void clear (BzFlathubState *self); static void bz_flathub_state_dispose (GObject *object) { BzFlathubState *self = BZ_FLATHUB_STATE (object); dex_clear (&self->initializing); g_clear_pointer (&self->map_factory, g_object_unref); clear (self); G_OBJECT_CLASS (bz_flathub_state_parent_class)->dispose (object); } static void bz_flathub_state_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFlathubState *self = BZ_FLATHUB_STATE (object); switch (prop_id) { case PROP_FOR_DAY: g_value_set_string (value, bz_flathub_state_get_for_day (self)); break; case PROP_MAP_FACTORY: g_value_set_object (value, bz_flathub_state_get_map_factory (self)); break; case PROP_APP_OF_THE_DAY: g_value_set_string (value, bz_flathub_state_get_app_of_the_day (self)); break; case PROP_APP_OF_THE_DAY_GROUP: g_value_take_object (value, bz_flathub_state_dup_app_of_the_day_group (self)); break; case PROP_APPS_OF_THE_WEEK: g_value_take_object (value, bz_flathub_state_dup_apps_of_the_week (self)); break; case PROP_APPS_OF_THE_DAY_WEEK: g_value_take_object (value, bz_flathub_state_dup_apps_of_the_day_week (self)); break; case PROP_CATEGORIES: g_value_set_object (value, bz_flathub_state_get_categories (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flathub_state_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFlathubState *self = BZ_FLATHUB_STATE (object); switch (prop_id) { case PROP_FOR_DAY: dex_future_disown (bz_flathub_state_set_for_day (self, g_value_get_string (value))); break; case PROP_MAP_FACTORY: bz_flathub_state_set_map_factory (self, g_value_get_object (value)); break; case PROP_APP_OF_THE_DAY: case PROP_APP_OF_THE_DAY_GROUP: case PROP_APPS_OF_THE_WEEK: case PROP_APPS_OF_THE_DAY_WEEK: case PROP_CATEGORIES: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flathub_state_class_init (BzFlathubStateClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_flathub_state_set_property; object_class->get_property = bz_flathub_state_get_property; object_class->dispose = bz_flathub_state_dispose; props[PROP_FOR_DAY] = g_param_spec_string ( "for-day", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_MAP_FACTORY] = g_param_spec_object ( "map-factory", NULL, NULL, BZ_TYPE_APPLICATION_MAP_FACTORY, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_APP_OF_THE_DAY] = g_param_spec_string ( "app-of-the-day", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_APP_OF_THE_DAY_GROUP] = g_param_spec_object ( "app-of-the-day-group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_APPS_OF_THE_WEEK] = g_param_spec_object ( "apps-of-the-week", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_APPS_OF_THE_DAY_WEEK] = g_param_spec_object ( "apps-of-the-day-week", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_CATEGORIES] = g_param_spec_object ( "categories", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_flathub_state_init (BzFlathubState *self) { } static void bz_flathub_state_real_serialize (BzSerializable *serializable, GVariantBuilder *builder) { BzFlathubState *self = BZ_FLATHUB_STATE (serializable); if (self->initializing != NULL && dex_future_is_pending (self->initializing)) return; if (self->for_day != NULL) g_variant_builder_add (builder, "{sv}", "for-day", g_variant_new_string (self->for_day)); if (self->app_of_the_day != NULL) g_variant_builder_add (builder, "{sv}", "app-of-the-day", g_variant_new_string (self->app_of_the_day)); if (self->apps_of_the_week != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (G_LIST_MODEL (self->apps_of_the_week)); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < n_items; i++) { const char *string = NULL; string = gtk_string_list_get_string (self->apps_of_the_week, i); g_variant_builder_add (sub_builder, "s", string); } g_variant_builder_add (builder, "{sv}", "apps-of-the-week", g_variant_builder_end (sub_builder)); } } if (self->categories != NULL) { guint n_items = 0; n_items = g_list_model_get_n_items (G_LIST_MODEL (self->categories)); if (n_items > 0) { g_autoptr (GVariantBuilder) sub_builder = NULL; sub_builder = g_variant_builder_new (G_VARIANT_TYPE ("av")); for (guint i = 0; i < n_items; i++) { g_autoptr (BzFlathubCategory) category = NULL; g_autoptr (GVariantBuilder) category_builder = NULL; category = g_list_model_get_item (G_LIST_MODEL (self->categories), i); category_builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT); bz_serializable_serialize (BZ_SERIALIZABLE (category), category_builder); g_variant_builder_add (sub_builder, "v", g_variant_builder_end (category_builder)); } g_variant_builder_add (builder, "{sv}", "categories", g_variant_builder_end (sub_builder)); } } } static gboolean bz_flathub_state_real_deserialize (BzSerializable *serializable, GVariant *import, GError **error) { BzFlathubState *self = BZ_FLATHUB_STATE (serializable); gboolean result = FALSE; g_autoptr (GVariantIter) iter = NULL; if (self->initializing != NULL && !dex_future_is_pending (self->initializing)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_BUSY, "Cannot perform serialization operations while initializing!"); return FALSE; } clear (self); iter = g_variant_iter_new (import); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; /* TODO automate this, this is awful */ if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "for-day") == 0) self->for_day = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "app-of-the-day") == 0) self->app_of_the_day = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "apps-of-the-week") == 0) { g_autoptr (GtkStringList) list = NULL; g_autoptr (GVariantIter) list_iter = NULL; list = gtk_string_list_new (NULL); list_iter = g_variant_iter_new (value); for (;;) { g_autofree char *id = NULL; if (!g_variant_iter_next (list_iter, "s", &id)) break; gtk_string_list_append (list, id); } self->apps_of_the_week = g_steal_pointer (&list); } else if (g_strcmp0 (key, "categories") == 0) { g_autoptr (GListStore) categories = NULL; g_autoptr (GVariantIter) categories_iter = NULL; categories = g_list_store_new (BZ_TYPE_FLATHUB_CATEGORY); categories_iter = g_variant_iter_new (value); for (;;) { g_autoptr (GVariant) category_import = NULL; g_autoptr (BzFlathubCategory) category = NULL; if (!g_variant_iter_next (categories_iter, "v", &category_import)) break; category = bz_flathub_category_new (); result = bz_serializable_deserialize ( BZ_SERIALIZABLE (category), category_import, error); if (!result) return FALSE; g_object_bind_property (self, "map-factory", category, "map-factory", G_BINDING_SYNC_CREATE); g_list_store_append (categories, category); } self->categories = g_steal_pointer (&categories); } } notify_all (self); return TRUE; } static void serializable_iface_init (BzSerializableInterface *iface) { iface->serialize = bz_flathub_state_real_serialize; iface->deserialize = bz_flathub_state_real_deserialize; } BzFlathubState * bz_flathub_state_new (void) { return g_object_new (BZ_TYPE_FLATHUB_STATE, NULL); } const char * bz_flathub_state_get_for_day (BzFlathubState *self) { g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); return self->for_day; } BzApplicationMapFactory * bz_flathub_state_get_map_factory (BzFlathubState *self) { g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); return self->map_factory; } const char * bz_flathub_state_get_app_of_the_day (BzFlathubState *self) { g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); if (self->initializing != NULL && dex_future_is_pending (self->initializing)) return NULL; return self->app_of_the_day; } BzEntryGroup * bz_flathub_state_dup_app_of_the_day_group (BzFlathubState *self) { g_autoptr (GtkStringObject) string = NULL; g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); if (self->initializing != NULL && dex_future_is_pending (self->initializing)) return NULL; g_return_val_if_fail (self->map_factory != NULL, NULL); string = gtk_string_object_new (self->app_of_the_day); return bz_application_map_factory_convert_one (self->map_factory, string); } GListModel * bz_flathub_state_dup_apps_of_the_week (BzFlathubState *self) { g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); if (self->initializing != NULL && dex_future_is_pending (self->initializing)) return NULL; if (self->apps_of_the_week != NULL) { if (self->map_factory != NULL) return bz_application_map_factory_generate ( self->map_factory, G_LIST_MODEL (self->apps_of_the_week)); else return G_LIST_MODEL (g_object_ref (self->apps_of_the_week)); } else return NULL; } GListModel * bz_flathub_state_dup_apps_of_the_day_week (BzFlathubState *self) { g_autoptr (GtkStringList) combined_list = NULL; g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); if (self->initializing != NULL && dex_future_is_pending (self->initializing)) return NULL; combined_list = gtk_string_list_new (NULL); if (self->app_of_the_day != NULL) gtk_string_list_append (combined_list, self->app_of_the_day); if (self->apps_of_the_week != NULL) { guint n_items = g_list_model_get_n_items (G_LIST_MODEL (self->apps_of_the_week)); for (guint i = 0; i < n_items; i++) { const char *app_id = gtk_string_list_get_string (self->apps_of_the_week, i); gtk_string_list_append (combined_list, app_id); } } if (self->map_factory != NULL) return bz_application_map_factory_generate (self->map_factory, G_LIST_MODEL (combined_list)); else return G_LIST_MODEL (g_object_ref (combined_list)); } GListModel * bz_flathub_state_get_categories (BzFlathubState *self) { g_return_val_if_fail (BZ_IS_FLATHUB_STATE (self), NULL); if (self->initializing != NULL && dex_future_is_pending (self->initializing)) return NULL; return G_LIST_MODEL (self->categories); } DexFuture * bz_flathub_state_set_for_day (BzFlathubState *self, const char *for_day) { dex_return_error_if_fail (BZ_IS_FLATHUB_STATE (self)); dex_clear (&self->initializing); clear (self); if (for_day != NULL) { g_autoptr (DexFuture) future = NULL; self->for_day = g_strdup (for_day); self->apps_of_the_week = gtk_string_list_new (NULL); self->categories = g_list_store_new (BZ_TYPE_FLATHUB_CATEGORY); future = dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) initialize_fiber, bz_track_weak (self), bz_weak_release); future = dex_future_finally ( future, (DexFutureCallback) initialize_finally, bz_track_weak (self), bz_weak_release); self->initializing = g_steal_pointer (&future); return dex_ref (self->initializing); } else { notify_all (self); return dex_future_new_false (); } } DexFuture * bz_flathub_state_update_to_today (BzFlathubState *self) { g_autoptr (GDateTime) datetime = NULL; g_autofree gchar *for_day = NULL; dex_return_error_if_fail (BZ_IS_FLATHUB_STATE (self)); datetime = g_date_time_new_now_utc (); for_day = g_date_time_format (datetime, "%F"); g_debug ("Syncing with flathub for day: %s", for_day); return bz_flathub_state_set_for_day (self, for_day); } void bz_flathub_state_set_map_factory (BzFlathubState *self, BzApplicationMapFactory *map_factory) { g_return_if_fail (BZ_IS_FLATHUB_STATE (self)); g_return_if_fail (map_factory == NULL || BZ_IS_APPLICATION_MAP_FACTORY (map_factory)); g_clear_object (&self->map_factory); if (map_factory != NULL) self->map_factory = g_object_ref (map_factory); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MAP_FACTORY]); } static gboolean is_kde_plasma (void) { const char *desktop = g_getenv ("XDG_CURRENT_DESKTOP"); if (desktop == NULL) return FALSE; return g_str_equal (desktop, "KDE") || g_strstr_len (desktop, -1, "KDE") != NULL; } static void add_category (BzFlathubState *self, const char *name, JsonNode *node, GHashTable *quality_set, gboolean is_json_object, QualityMode quality_mode, gboolean is_spotlight) { JsonObject *object = NULL; JsonObjectIter iter = { 0 }; JsonArray *hits_array = NULL; const char *key = NULL; const char *app = NULL; g_autoptr (BzFlathubCategory) category = NULL; g_autoptr (GtkStringList) store = NULL; g_autoptr (GtkStringList) quality_store = NULL; g_autoptr (GPtrArray) quality_apps = NULL; guint app_count = 0; guint quality_count = 0; guint random_index = 0; guint i = 0; int total_entries = 0; category = bz_flathub_category_new (); store = gtk_string_list_new (NULL); quality_store = gtk_string_list_new (NULL); bz_flathub_category_set_name (category, name); bz_flathub_category_set_is_spotlight (category, is_spotlight); bz_flathub_category_set_applications (category, G_LIST_MODEL (store)); object = json_node_get_object (node); if (is_json_object) { if (quality_mode == QUALITY_MODE_RANDOM) quality_apps = g_ptr_array_new_with_free_func (g_free); json_object_iter_init (&iter, object); while (json_object_iter_next (&iter, &key, NULL)) { gtk_string_list_append (store, key); if (g_hash_table_contains (quality_set, key)) { if (quality_mode == QUALITY_MODE_RANDOM) g_ptr_array_add (quality_apps, g_strdup (key)); else if (quality_mode == QUALITY_MODE_FIRST) gtk_string_list_append (quality_store, key); } app_count++; } total_entries = json_object_get_size (object); } else { if (quality_mode == QUALITY_MODE_RANDOM) quality_apps = g_ptr_array_new_with_free_func (g_free); hits_array = json_object_get_array_member (object, "hits"); app_count = json_array_get_length (hits_array); for (i = 0; i < app_count; i++) { JsonObject *element = NULL; const char *app_id = NULL; element = json_array_get_object_element (hits_array, i); app_id = json_object_get_string_member (element, "app_id"); gtk_string_list_append (store, app_id); if (g_hash_table_contains (quality_set, app_id)) { if (quality_mode == QUALITY_MODE_RANDOM) g_ptr_array_add (quality_apps, g_strdup (app_id)); else if (quality_mode == QUALITY_MODE_FIRST) gtk_string_list_append (quality_store, app_id); } } total_entries = json_object_get_int_member (object, "totalHits"); } if (quality_mode == QUALITY_MODE_RANDOM && quality_apps != NULL) { quality_count = MIN (7, quality_apps->len); for (i = 0; i < quality_count; i++) { random_index = g_random_int_range (0, quality_apps->len); app = g_ptr_array_index (quality_apps, random_index); gtk_string_list_append (quality_store, app); g_ptr_array_remove_index_fast (quality_apps, random_index); } } bz_flathub_category_set_total_entries (category, total_entries); bz_flathub_category_set_quality_applications (category, G_LIST_MODEL (quality_store)); g_list_store_append (self->categories, category); } static DexFuture * initialize_fiber (GWeakRef *wr) { g_autoptr (BzFlathubState) self = NULL; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; gboolean is_kde = is_kde_plasma (); g_autoptr (GHashTable) quality_set = NULL; g_autoptr (DexFuture) aotd_f = NULL; g_autoptr (DexFuture) aotw_f = NULL; g_autoptr (DexFuture) categories_f = NULL; g_autoptr (DexFuture) updated_f = NULL; g_autoptr (DexFuture) added_f = NULL; g_autoptr (DexFuture) popular_f = NULL; g_autoptr (DexFuture) trending_f = NULL; g_autoptr (DexFuture) mobile_f = NULL; g_autoptr (DexFuture) passing_f = NULL; g_autoptr (DexFuture) adwaita_f = NULL; g_autoptr (DexFuture) toolkit_f = NULL; g_autoptr (DexFuture) emulators_f = NULL; g_autoptr (DexFuture) launchers_f = NULL; g_autoptr (DexFuture) game_tools_f = NULL; g_autoptr (DexFuture) game_only_f = NULL; bz_weak_get_or_return_reject (self, wr); quality_set = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); #define ADD_REQUEST(_var, ...) \ G_STMT_START \ { \ g_autofree char *_request = NULL; \ \ _request = g_strdup_printf (__VA_ARGS__); \ (_var) = bz_query_flathub_v2_json_take (g_steal_pointer (&_request)); \ if (!dex_await (dex_ref ((_var)), &local_error)) \ { \ g_warning ("Failed to complete request to flathub: %s", local_error->message); \ return dex_future_new_for_error (g_steal_pointer (&local_error)); \ } \ } \ G_STMT_END if (is_kde) ADD_REQUEST (toolkit_f, "/collection/developer/kde?locale=en"); else { adwaita_f = bz_https_query_json (ADWAITA_URL "/api/apps"); if (!dex_await (dex_ref (adwaita_f), &local_error)) { g_warning ("Failed to complete request to arewelibadwaitayet: %s", local_error->message); g_clear_error (&local_error); adwaita_f = NULL; } } ADD_REQUEST (passing_f, "/quality-moderation/passing-apps?page=1&page_size=%d", QUALITY_MODERATION_PAGE_SIZE); ADD_REQUEST (aotd_f, "/app-picks/app-of-the-day/%s", self->for_day); ADD_REQUEST (aotw_f, "/app-picks/apps-of-the-week/%s", self->for_day); ADD_REQUEST (categories_f, "/collection/category"); ADD_REQUEST (updated_f, "/collection/recently-updated?page=0&per_page=%d", COLLECTION_FETCH_SIZE); ADD_REQUEST (added_f, "/collection/recently-added?page=0&per_page=%d", COLLECTION_FETCH_SIZE); ADD_REQUEST (popular_f, "/collection/popular?page=0&per_page=%d", COLLECTION_FETCH_SIZE); ADD_REQUEST (trending_f, "/collection/trending?page=0&per_page=%d", COLLECTION_FETCH_SIZE); ADD_REQUEST (mobile_f, "/collection/mobile?page=0&per_page=%d", CATEGORY_FETCH_SIZE); ADD_REQUEST (game_only_f, "/collection/category/game?exclude_subcategories=emulator&exclude_subcategories=packageManager&exclude_subcategories=utility&exclude_subcategories=network&exclude_subcategories=gameTool&exclude_subcategories=launcherStore&sort_by=trending&page=0&per_page=%d", CATEGORY_FETCH_SIZE); ADD_REQUEST (emulators_f, "/collection/category/game/subcategories?subcategory=emulator&sort_by=trending&page=0&per_page=%d", CATEGORY_FETCH_SIZE); ADD_REQUEST (launchers_f, "/collection/category/game/subcategories?subcategory=packageManager&subcategory=launcherStore&sort_by=trending&page=0&per_page=%d", CATEGORY_FETCH_SIZE); ADD_REQUEST (game_tools_f, "/collection/category/game/subcategories?subcategory=utility&subcategory=network&subcategory=gameTool&sort_by=trending&page=0&per_page=%d", CATEGORY_FETCH_SIZE); #undef ADD_REQUEST #define GET_BOXED(_future) g_value_get_boxed (dex_future_get_value ((_future), NULL)) { JsonObject *object = NULL; JsonArray *array = NULL; guint length = 0; object = json_node_get_object (GET_BOXED (passing_f)); array = json_object_get_array_member (object, "apps"); length = json_array_get_length (array); for (guint i = 0; i < length; i++) { const char *app_id = NULL; app_id = json_array_get_string_element (array, i); g_hash_table_replace (quality_set, g_strdup (app_id), NULL); } } { JsonObject *object = NULL; object = json_node_get_object (GET_BOXED (aotd_f)); self->app_of_the_day = g_strdup (json_object_get_string_member (object, "app_id")); } { JsonObject *object = NULL; JsonArray *array = NULL; guint length = 0; object = json_node_get_object (GET_BOXED (aotw_f)); array = json_object_get_array_member (object, "apps"); length = json_array_get_length (array); for (guint i = 0; i < length; i++) { JsonObject *element = NULL; element = json_array_get_object_element (array, i); gtk_string_list_append ( self->apps_of_the_week, json_object_get_string_member (element, "app_id")); } } add_category (self, "trending", GET_BOXED (trending_f), quality_set, FALSE, QUALITY_MODE_NONE, TRUE); add_category (self, "popular", GET_BOXED (popular_f), quality_set, FALSE, QUALITY_MODE_NONE, TRUE); add_category (self, "recently-added", GET_BOXED (added_f), quality_set, FALSE, QUALITY_MODE_NONE, TRUE); add_category (self, "recently-updated", GET_BOXED (updated_f), quality_set, FALSE, QUALITY_MODE_NONE, TRUE); add_category (self, "mobile", GET_BOXED (mobile_f), quality_set, FALSE, QUALITY_MODE_NONE, TRUE); add_category (self, "game-only", GET_BOXED (game_only_f), quality_set, FALSE, QUALITY_MODE_NONE, FALSE); add_category (self, "emulators", GET_BOXED (emulators_f), quality_set, FALSE, QUALITY_MODE_NONE, FALSE); add_category (self, "launchers", GET_BOXED (launchers_f), quality_set, FALSE, QUALITY_MODE_NONE, FALSE); add_category (self, "game-tools", GET_BOXED (game_tools_f), quality_set, FALSE, QUALITY_MODE_NONE, FALSE); { static const char *categories[] = { "audiovideo", "development", "education", "game", "graphics", "network", "office", "science", "system", "utility" }; g_autoptr (GPtrArray) category_futures = NULL; category_futures = g_ptr_array_new_with_free_func (dex_unref); for (guint i = 0; i < G_N_ELEMENTS (categories); i++) { g_autofree char *request = NULL; g_autoptr (DexFuture) future = NULL; request = g_strdup_printf ( "/collection/category/%s?page=0&per_page=%d", categories[i], CATEGORY_FETCH_SIZE); future = bz_query_flathub_v2_json_take (g_steal_pointer (&request)); result = dex_await (dex_ref (future), &local_error); if (!result) { g_warning ("Failed to complete request to flathub: %s", local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } g_ptr_array_add (category_futures, dex_ref (future)); } for (guint i = 0; i < G_N_ELEMENTS (categories); i++) { DexFuture *future = NULL; JsonNode *node = NULL; future = g_ptr_array_index (category_futures, i); node = GET_BOXED (future); add_category (self, categories[i], node, quality_set, FALSE, QUALITY_MODE_FIRST, FALSE); } } if (is_kde) add_category (self, "kde", GET_BOXED (toolkit_f), quality_set, FALSE, QUALITY_MODE_RANDOM, FALSE); else if (adwaita_f != NULL) add_category (self, "adwaita", GET_BOXED (adwaita_f), quality_set, TRUE, QUALITY_MODE_RANDOM, FALSE); return dex_future_new_true (); } static DexFuture * initialize_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzFlathubState) self = NULL; bz_weak_get_or_return_reject (self, wr); if (dex_future_is_resolved (future)) { guint n_categories = 0; n_categories = g_list_model_get_n_items (G_LIST_MODEL (self->categories)); for (guint i = 0; i < n_categories; i++) { g_autoptr (BzFlathubCategory) category = NULL; category = g_list_model_get_item (G_LIST_MODEL (self->categories), i); g_object_bind_property (self, "map-factory", category, "map-factory", G_BINDING_SYNC_CREATE); } g_debug ("Done syncing flathub state; notifying property listeners..."); notify_all (self); } else clear (self); return dex_ref (future); } static DexFuture * search_collection_fiber (char *route) { g_autoptr (GError) local_error = NULL; g_autoptr (GtkStringList) results = NULL; g_autoptr (JsonNode) node = NULL; g_autofree char *request = NULL; JsonObject *object = NULL; JsonArray *array = NULL; guint length = 0; request = g_strdup_printf ("%s&page=1&per_page=%d&locale=en", route, KEYWORD_SEARCH_PAGE_SIZE); node = dex_await_boxed ( bz_query_flathub_v2_json_take ( g_steal_pointer (&request)), &local_error); if (node == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); results = gtk_string_list_new (NULL); object = json_node_get_object (node); array = json_object_get_array_member (object, "hits"); length = json_array_get_length (array); for (guint i = 0; i < length; i++) { JsonObject *element = NULL; const char *app_id = NULL; element = json_array_get_object_element (array, i); app_id = json_object_get_string_member (element, "app_id"); gtk_string_list_append (results, app_id); } return dex_future_new_take_object (g_steal_pointer (&results)); } static DexFuture * search_collection_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzFlathubState) self = NULL; const GValue *value = NULL; GListModel *model = NULL; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, NULL); if (value == NULL) return dex_ref (future); model = g_value_get_object (value); if (self->map_factory != NULL) return dex_future_new_take_object ( bz_application_map_factory_generate (self->map_factory, model)); return dex_ref (future); } DexFuture * bz_flathub_state_search_collection (BzFlathubState *self, const char *route) { g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (BZ_IS_FLATHUB_STATE (self)); dex_return_error_if_fail (route != NULL); future = dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) search_collection_fiber, g_strdup (route), g_free); future = dex_future_finally ( future, (DexFutureCallback) search_collection_finally, bz_track_weak (self), bz_weak_release); return g_steal_pointer (&future); } static void notify_all (BzFlathubState *self) { g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FOR_DAY]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APP_OF_THE_DAY]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APP_OF_THE_DAY_GROUP]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APPS_OF_THE_WEEK]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APPS_OF_THE_DAY_WEEK]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CATEGORIES]); } static void clear (BzFlathubState *self) { g_clear_pointer (&self->for_day, g_free); g_clear_pointer (&self->app_of_the_day, g_free); g_clear_pointer (&self->apps_of_the_week, g_object_unref); g_clear_pointer (&self->categories, g_object_unref); } /* End of bz-flathub-state.c */ ����������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-state.h����������������������������������������������������0000664�0000000�0000000�00000004101�15234476640�0021376�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flathub-state.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-application-map-factory.h" #include "bz-entry-group.h" G_BEGIN_DECLS #define BZ_TYPE_FLATHUB_STATE (bz_flathub_state_get_type ()) G_DECLARE_FINAL_TYPE (BzFlathubState, bz_flathub_state, BZ, FLATHUB_STATE, GObject) BzFlathubState * bz_flathub_state_new (void); DexFuture * bz_flathub_state_set_for_day (BzFlathubState *self, const char *for_day); void bz_flathub_state_set_map_factory (BzFlathubState *self, BzApplicationMapFactory *map_factory); const char * bz_flathub_state_get_for_day (BzFlathubState *self); BzApplicationMapFactory * bz_flathub_state_get_map_factory (BzFlathubState *self); const char * bz_flathub_state_get_app_of_the_day (BzFlathubState *self); BzEntryGroup * bz_flathub_state_dup_app_of_the_day_group (BzFlathubState *self); GListModel * bz_flathub_state_dup_apps_of_the_week (BzFlathubState *self); GListModel * bz_flathub_state_get_categories (BzFlathubState *self); gboolean bz_flathub_state_get_has_connection_error (BzFlathubState *self); DexFuture * bz_flathub_state_update_to_today (BzFlathubState *self); DexFuture * bz_flathub_state_search_collection (BzFlathubState *self, const char *route); G_END_DECLS /* End of bz-flathub-state.h */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flathub-sub-category.txt�������������������������������������������0000664�0000000�0000000�00000000244�15234476640�0023256�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=flathub_sub_category parent-prefix=g parent-name=object author=AUTOGEN property=name char G_TYPE_STRING string property=id char G_TYPE_STRING string ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-bundle-result.txt������������������������������������������0000664�0000000�0000000�00000000414�15234476640�0023433�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=flatpak_bundle_result parent-prefix=g parent-name=object author=AUTOGEN include="bz-flatpak-entry.h" include="bz-flatpak-repo.h" property=entry BzFlatpakEntry BZ_TYPE_FLATPAK_ENTRY object property=runtime_repo BzFlatpakRepo BZ_TYPE_FLATPAK_REPO object ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-entry.c����������������������������������������������������0000664�0000000�0000000�00000066571�15234476640�0021432�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flatpak-entry.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::FLATPAK-ENTRY" #define BAZAAR_MODULE "entry" #include "config.h" #include <glib/gi18n.h> #include <xmlb.h> #include "bz-app-permissions.h" #include "bz-application-map-factory.h" #include "bz-application.h" #include "bz-appstream-parser.h" #include "bz-flatpak-private.h" #include "io.h" #include "bz-result.h" #include "bz-serializable.h" #include "bz-state-info.h" #define VERSION_SUFFIX_REGEX "\\s+[0-9][0-9.]*\\s*$" struct _BzFlatpakEntry { BzEntry parent_instance; gboolean user; gboolean is_bundle; gboolean is_installed_ref; char *flatpak_name; char *flatpak_id; char *flatpak_version; char *application_name; char *application_runtime; char *application_command; char *runtime_name; char *addon_extension_of_ref; char *bundle_path; BzResult *runtime_result; FlatpakRef *ref; }; static void serializable_iface_init (BzSerializableInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzFlatpakEntry, bz_flatpak_entry, BZ_TYPE_ENTRY, G_IMPLEMENT_INTERFACE (BZ_TYPE_SERIALIZABLE, serializable_iface_init)) enum { PROP_0, PROP_USER, PROP_FLATPAK_NAME, PROP_IS_BUNDLE, PROP_BUNDLE_PATH, PROP_FLATPAK_ID, PROP_FLATPAK_VERSION, PROP_APPLICATION_NAME, PROP_APPLICATION_RUNTIME, PROP_APPLICATION_COMMAND, PROP_RUNTIME_NAME, PROP_RUNTIME_RESULT, PROP_ADDON_OF_REF, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void clear_entry (BzFlatpakEntry *self); static void apply_icon_theme (BzFlatpakEntry *self); static void bz_flatpak_entry_dispose (GObject *object) { BzFlatpakEntry *self = BZ_FLATPAK_ENTRY (object); clear_entry (self); g_clear_object (&self->ref); G_OBJECT_CLASS (bz_flatpak_entry_parent_class)->dispose (object); } static void bz_flatpak_entry_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFlatpakEntry *self = BZ_FLATPAK_ENTRY (object); switch (prop_id) { case PROP_USER: g_value_set_boolean (value, self->user); break; case PROP_FLATPAK_ID: g_value_set_string (value, self->flatpak_id); break; case PROP_FLATPAK_NAME: g_value_set_string (value, self->flatpak_name); break; case PROP_FLATPAK_VERSION: g_value_set_string (value, self->flatpak_version); break; case PROP_APPLICATION_NAME: g_value_set_string (value, self->application_name); break; case PROP_IS_BUNDLE: g_value_set_boolean (value, self->is_bundle); break; case PROP_BUNDLE_PATH: g_value_set_string (value, self->bundle_path); break; case PROP_APPLICATION_RUNTIME: g_value_set_string (value, self->application_runtime); break; case PROP_APPLICATION_COMMAND: g_value_set_string (value, self->application_command); break; case PROP_RUNTIME_NAME: g_value_set_string (value, self->runtime_name); break; case PROP_RUNTIME_RESULT: g_value_take_object (value, bz_flatpak_entry_dup_runtime_result (self)); break; case PROP_ADDON_OF_REF: g_value_set_string (value, self->addon_extension_of_ref); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flatpak_entry_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { // BzFlatpakEntry *self = BZ_FLATPAK_ENTRY (object); switch (prop_id) { case PROP_USER: case PROP_FLATPAK_NAME: case PROP_FLATPAK_ID: case PROP_FLATPAK_VERSION: case PROP_APPLICATION_NAME: case PROP_IS_BUNDLE: case PROP_APPLICATION_RUNTIME: case PROP_APPLICATION_COMMAND: case PROP_RUNTIME_NAME: case PROP_ADDON_OF_REF: case PROP_BUNDLE_PATH: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_flatpak_entry_class_init (BzFlatpakEntryClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_flatpak_entry_set_property; object_class->get_property = bz_flatpak_entry_get_property; object_class->dispose = bz_flatpak_entry_dispose; props[PROP_USER] = g_param_spec_boolean ( "user", NULL, NULL, FALSE, G_PARAM_READABLE); props[PROP_FLATPAK_NAME] = g_param_spec_string ( "flatpak-name", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_FLATPAK_ID] = g_param_spec_string ( "flatpak-id", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_FLATPAK_VERSION] = g_param_spec_string ( "flatpak-version", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_APPLICATION_NAME] = g_param_spec_string ( "application-name", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_IS_BUNDLE] = g_param_spec_boolean ( "is-bundle", NULL, NULL, FALSE, G_PARAM_READABLE); props[PROP_BUNDLE_PATH] = g_param_spec_string ( "bundle-path", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_APPLICATION_RUNTIME] = g_param_spec_string ( "application-runtime", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_APPLICATION_COMMAND] = g_param_spec_string ( "application-command", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_RUNTIME_NAME] = g_param_spec_string ( "runtime-name", NULL, NULL, NULL, G_PARAM_READABLE); props[PROP_RUNTIME_RESULT] = g_param_spec_object ( "runtime", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_ADDON_OF_REF] = g_param_spec_string ( "addon-extension-of-ref", NULL, NULL, NULL, G_PARAM_READABLE); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_flatpak_entry_init (BzFlatpakEntry *self) { } static void bz_flatpak_entry_real_serialize (BzSerializable *serializable, GVariantBuilder *builder) { BzFlatpakEntry *self = BZ_FLATPAK_ENTRY (serializable); g_variant_builder_add (builder, "{sv}", "user", g_variant_new_boolean (self->user)); g_variant_builder_add (builder, "{sv}", "is-bundle", g_variant_new_boolean (self->is_bundle)); g_variant_builder_add (builder, "{sv}", "is-installed-ref", g_variant_new_boolean (self->is_installed_ref)); if (self->bundle_path != NULL) g_variant_builder_add (builder, "{sv}", "bundle-path", g_variant_new_string (self->bundle_path)); if (self->flatpak_name != NULL) g_variant_builder_add (builder, "{sv}", "flatpak-name", g_variant_new_string (self->flatpak_name)); if (self->flatpak_id != NULL) g_variant_builder_add (builder, "{sv}", "flatpak-id", g_variant_new_string (self->flatpak_id)); if (self->flatpak_version != NULL) g_variant_builder_add (builder, "{sv}", "flatpak-version", g_variant_new_string (self->flatpak_version)); if (self->application_name != NULL) g_variant_builder_add (builder, "{sv}", "application-name", g_variant_new_string (self->application_name)); if (self->application_runtime != NULL) g_variant_builder_add (builder, "{sv}", "application-runtime", g_variant_new_string (self->application_runtime)); if (self->application_command != NULL) g_variant_builder_add (builder, "{sv}", "application-command", g_variant_new_string (self->application_command)); if (self->runtime_name != NULL) g_variant_builder_add (builder, "{sv}", "runtime-name", g_variant_new_string (self->runtime_name)); if (self->addon_extension_of_ref != NULL) g_variant_builder_add (builder, "{sv}", "addon-extension-of-ref", g_variant_new_string (self->addon_extension_of_ref)); bz_entry_serialize (BZ_ENTRY (self), builder); } static gboolean bz_flatpak_entry_real_deserialize (BzSerializable *serializable, GVariant *import, GError **error) { BzFlatpakEntry *self = BZ_FLATPAK_ENTRY (serializable); g_autoptr (GVariantIter) iter = NULL; clear_entry (self); iter = g_variant_iter_new (import); for (;;) { g_autofree char *key = NULL; g_autoptr (GVariant) value = NULL; if (!g_variant_iter_next (iter, "{sv}", &key, &value)) break; if (g_strcmp0 (key, "user") == 0) self->user = g_variant_get_boolean (value); else if (g_strcmp0 (key, "is-bundle") == 0) self->is_bundle = g_variant_get_boolean (value); else if (g_strcmp0 (key, "is-installed-ref") == 0) self->is_installed_ref = g_variant_get_boolean (value); else if (g_strcmp0 (key, "bundle-path") == 0) self->bundle_path = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "flatpak-name") == 0) self->flatpak_name = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "flatpak-id") == 0) self->flatpak_id = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "flatpak-version") == 0) self->flatpak_version = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "application-name") == 0) self->application_name = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "application-runtime") == 0) self->application_runtime = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "application-command") == 0) self->application_command = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "runtime-name") == 0) self->runtime_name = g_variant_dup_string (value, NULL); else if (g_strcmp0 (key, "addon-extension-of-ref") == 0) self->addon_extension_of_ref = g_variant_dup_string (value, NULL); } if (self->is_installed_ref) apply_icon_theme (self); return bz_entry_deserialize (BZ_ENTRY (self), import, error); } static void serializable_iface_init (BzSerializableInterface *iface) { iface->serialize = bz_flatpak_entry_real_serialize; iface->deserialize = bz_flatpak_entry_real_deserialize; } BzResult * bz_flatpak_entry_dup_runtime_result (BzFlatpakEntry *self) { BzStateInfo *state = NULL; BzApplicationMapFactory *factory = NULL; g_autofree char *runtime_unique_id = NULL; g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); state = bz_state_info_get_default (); if (self->runtime_result != NULL) return g_object_ref (self->runtime_result); if (self->application_runtime == NULL) return NULL; factory = bz_state_info_get_entry_factory (state); if (factory == NULL) return NULL; runtime_unique_id = g_strdup_printf ("FLATPAK-SYSTEM::flathub::runtime/%s", self->application_runtime); self->runtime_result = bz_application_map_factory_convert_one ( factory, gtk_string_object_new (runtime_unique_id)); return self->runtime_result != NULL ? g_object_ref (self->runtime_result) : NULL; } BzFlatpakEntry * bz_flatpak_entry_new_for_ref (FlatpakRef *ref, FlatpakRemote *remote, gboolean user, AsComponent *component, const char *appstream_dir, GError **error) { g_autoptr (BzFlatpakEntry) self = NULL; GBytes *bytes = NULL; g_autoptr (GKeyFile) key_file = NULL; gboolean result = FALSE; guint kinds = 0; g_autofree char *module_dir = NULL; const char *id = NULL; g_autofree char *unique_id = NULL; g_autofree char *unique_id_checksum = NULL; guint64 download_size = 0; guint64 installed_size = 0; const char *title = NULL; const char *eol = NULL; const char *remote_name = NULL; g_autoptr (GdkPaintable) icon_paintable = NULL; g_autoptr (BzAppPermissions) permissions = NULL; gboolean searchable = FALSE; gboolean reinstallable = FALSE; g_return_val_if_fail (FLATPAK_IS_REF (ref), NULL); g_return_val_if_fail (FLATPAK_IS_REMOTE_REF (ref) || FLATPAK_IS_BUNDLE_REF (ref) || FLATPAK_IS_INSTALLED_REF (ref), NULL); g_return_val_if_fail (component == NULL || appstream_dir != NULL || FLATPAK_IS_BUNDLE_REF (ref) || FLATPAK_IS_INSTALLED_REF (ref), NULL); self = g_object_new (BZ_TYPE_FLATPAK_ENTRY, NULL); self->user = user; self->is_bundle = FLATPAK_IS_BUNDLE_REF (ref); self->is_installed_ref = FLATPAK_IS_INSTALLED_REF (ref); self->ref = g_object_ref (ref); if (FLATPAK_IS_BUNDLE_REF (ref)) { GFile *file = NULL; file = flatpak_bundle_ref_get_file (FLATPAK_BUNDLE_REF (ref)); if (file != NULL) self->bundle_path = g_file_get_path (file); } key_file = g_key_file_new (); if (FLATPAK_IS_REMOTE_REF (ref)) bytes = flatpak_remote_ref_get_metadata (FLATPAK_REMOTE_REF (ref)); else if (FLATPAK_IS_BUNDLE_REF (ref)) bytes = flatpak_bundle_ref_get_metadata (FLATPAK_BUNDLE_REF (ref)); else if (FLATPAK_IS_INSTALLED_REF (ref)) bytes = flatpak_installed_ref_load_metadata (FLATPAK_INSTALLED_REF (ref), NULL, error); result = g_key_file_load_from_bytes ( key_file, bytes, G_KEY_FILE_NONE, error); if (!result) return NULL; #define GET_STRING(member, group_name, key) \ G_STMT_START \ { \ self->member = g_key_file_get_string ( \ key_file, group_name, key, error); \ if (self->member == NULL) \ return NULL; \ } \ G_STMT_END if (!g_log_writer_default_would_drop (G_LOG_LEVEL_DEBUG, G_LOG_DOMAIN)) { gsize n_groups = 0; g_auto (GStrv) groups = NULL; g_print ("Debug Key File Data for %s - groups:\n", flatpak_ref_get_name (ref)); groups = g_key_file_get_groups (key_file, &n_groups); for (gsize i = 0; i < n_groups; i++) { gsize n_keys = 0; g_auto (GStrv) keys = NULL; g_print (" group %s\n", groups[i]); keys = g_key_file_get_keys (key_file, groups[i], &n_keys, NULL); for (gsize j = 0; j < n_keys; j++) { g_autofree char *value = NULL; value = g_key_file_get_value (key_file, groups[i], keys[j], NULL); g_print (" %s=%s\n", keys[j], value); } } } if (g_key_file_has_group (key_file, "Application")) { kinds |= BZ_ENTRY_KIND_APPLICATION; GET_STRING (application_name, "Application", "name"); GET_STRING (application_runtime, "Application", "runtime"); if (g_key_file_has_key (key_file, "Application", "command", NULL)) GET_STRING (application_command, "Application", "command"); } if (g_key_file_has_group (key_file, "ExtensionOf")) { kinds |= BZ_ENTRY_KIND_ADDON; GET_STRING (addon_extension_of_ref, "ExtensionOf", "ref"); } if (g_key_file_has_group (key_file, "Runtime")) { kinds |= BZ_ENTRY_KIND_RUNTIME; GET_STRING (runtime_name, "Runtime", "name"); } #undef GET_STRING // if (kinds == 0) // { // g_set_error (error, G_IO_ERROR, G_IO_ERROR_UNKNOWN, // "Key file presented no useful information"); // return NULL; // } module_dir = bz_dup_module_dir (); self->flatpak_name = g_strdup (flatpak_ref_get_name (ref)); self->flatpak_id = flatpak_ref_format_ref (ref); self->flatpak_version = g_strdup (flatpak_ref_get_branch (ref)); id = flatpak_ref_get_name (ref); unique_id = bz_flatpak_ref_format_unique (ref, user); unique_id_checksum = g_compute_checksum_for_string (G_CHECKSUM_MD5, unique_id, -1); if (remote != NULL) remote_name = flatpak_remote_get_name (remote); else if (FLATPAK_IS_BUNDLE_REF (ref)) remote_name = flatpak_bundle_ref_get_origin (FLATPAK_BUNDLE_REF (ref)); else if (FLATPAK_IS_INSTALLED_REF (ref)) remote_name = flatpak_installed_ref_get_origin (FLATPAK_INSTALLED_REF (ref)); if (FLATPAK_IS_REMOTE_REF (ref)) download_size = flatpak_remote_ref_get_download_size (FLATPAK_REMOTE_REF (ref)); else if (FLATPAK_IS_BUNDLE_REF (ref)) { g_autoptr (GFileInfo) file_info = NULL; GFile *bundle_file = flatpak_bundle_ref_get_file (FLATPAK_BUNDLE_REF (ref)); file_info = g_file_query_info (bundle_file, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, NULL, NULL); if (file_info != NULL) download_size = g_file_info_get_size (file_info); } if (FLATPAK_IS_REMOTE_REF (ref)) installed_size = flatpak_remote_ref_get_installed_size (FLATPAK_REMOTE_REF (ref)); else if (FLATPAK_IS_BUNDLE_REF (ref)) installed_size = flatpak_bundle_ref_get_installed_size (FLATPAK_BUNDLE_REF (ref)); else if (FLATPAK_IS_INSTALLED_REF (ref)) installed_size = flatpak_installed_ref_get_installed_size (FLATPAK_INSTALLED_REF (ref)); if (component != NULL) { result = bz_appstream_parser_populate_entry (BZ_ENTRY (self), component, appstream_dir, remote_name, module_dir, unique_id_checksum, id, kinds, error); if (!result) return NULL; } g_object_get (self, "icon-paintable", &icon_paintable, NULL); if (icon_paintable == NULL) { if (FLATPAK_IS_BUNDLE_REF (ref)) { for (int size = 128; size > 0; size -= 64) { g_autoptr (GBytes) icon_bytes = NULL; GdkTexture *texture = NULL; icon_bytes = flatpak_bundle_ref_get_icon (FLATPAK_BUNDLE_REF (ref), size); if (icon_bytes == NULL) continue; texture = gdk_texture_new_from_bytes (icon_bytes, NULL); /* don't error out even if loading fails */ if (texture != NULL) { icon_paintable = (GdkPaintable *) g_steal_pointer (&texture); break; } } } else if (FLATPAK_IS_INSTALLED_REF (ref)) apply_icon_theme (self); } g_object_get (self, "title", &title, NULL); if (title == NULL) { if (self->application_name != NULL) title = self->application_name; else if (self->runtime_name != NULL) title = self->runtime_name; else title = self->flatpak_id; } if ((kinds & BZ_ENTRY_KIND_RUNTIME) && !(kinds & BZ_ENTRY_KIND_ADDON) && self->flatpak_version != NULL) { static GRegex *version_regex = NULL; g_autofree char *stripped_title = NULL; if (g_once_init_enter_pointer (&version_regex)) { g_autoptr (GRegex) re = NULL; /* GNOME runtimes have the flatpak version at the end whilst others don't. */ re = g_regex_new (VERSION_SUFFIX_REGEX, 0, 0, NULL); g_once_init_leave_pointer (&version_regex, g_steal_pointer (&re)); } stripped_title = g_regex_replace (version_regex, title, -1, 0, "", 0, NULL); title = g_strdup_printf ("%s %s", stripped_title, self->flatpak_version); } if (FLATPAK_IS_REMOTE_REF (ref)) eol = flatpak_remote_ref_get_eol (FLATPAK_REMOTE_REF (ref)); else if (FLATPAK_IS_INSTALLED_REF (ref)) eol = flatpak_installed_ref_get_eol (FLATPAK_INSTALLED_REF (ref)); permissions = bz_app_permissions_new_from_metadata (key_file, error); if (permissions == NULL) return NULL; searchable = !FLATPAK_IS_INSTALLED_REF (ref); reinstallable = !FLATPAK_IS_INSTALLED_REF (ref); g_object_set ( self, "kinds", kinds, "id", id, "unique-id", unique_id, "unique-id-checksum", unique_id_checksum, "title", title, "eol", eol, "remote-repo-name", remote_name, "size", download_size, "installed-size", installed_size, "icon-paintable", icon_paintable, "permissions", permissions, "searchable", searchable, "reinstallable", reinstallable, NULL); return g_steal_pointer (&self); } char * bz_flatpak_ref_parts_format_unique (const char *origin, const char *fmt, gboolean user) { return g_strdup_printf ( "FLATPAK-%s::%s::%s", user ? "USER" : "SYSTEM", origin != NULL ? origin : "bundle", fmt); } char * bz_flatpak_ref_format_unique (FlatpakRef *ref, gboolean user) { g_autofree char *fmt = NULL; const char *origin = NULL; fmt = flatpak_ref_format_ref (FLATPAK_REF (ref)); if (FLATPAK_IS_REMOTE_REF (ref)) origin = flatpak_remote_ref_get_remote_name (FLATPAK_REMOTE_REF (ref)); else if (FLATPAK_IS_INSTALLED_REF (ref)) origin = flatpak_installed_ref_get_origin (FLATPAK_INSTALLED_REF (ref)); return bz_flatpak_ref_parts_format_unique (origin, fmt, user); } FlatpakRef * bz_flatpak_entry_get_ref (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); if (self->ref == NULL) self->ref = flatpak_ref_parse (self->flatpak_id, NULL); return self->ref; } char * bz_flatpak_id_format_unique (const char *flatpak_id, gboolean user) { g_autoptr (FlatpakRef) ref = NULL; ref = flatpak_ref_parse (flatpak_id, NULL); if (ref == NULL) return NULL; return bz_flatpak_ref_format_unique (ref, user); } gboolean bz_flatpak_entry_is_user (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), FALSE); return self->user; } const char * bz_flatpak_entry_get_flatpak_name (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->flatpak_name; } const char * bz_flatpak_entry_get_flatpak_id (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->flatpak_id; } const char * bz_flatpak_entry_get_flatpak_version (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->flatpak_version; } const char * bz_flatpak_entry_get_application_name (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->application_name; } const char * bz_flatpak_entry_get_application_runtime (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->application_runtime; } const char * bz_flatpak_entry_get_runtime_name (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->runtime_name; } const char * bz_flatpak_entry_get_addon_extension_of_ref (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->addon_extension_of_ref; } gboolean bz_flatpak_entry_is_bundle (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), FALSE); return self->is_bundle; } gboolean bz_flatpak_entry_is_installed_ref (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), FALSE); return self->is_installed_ref; } const char * bz_flatpak_entry_get_bundle_path (BzFlatpakEntry *self) { g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), NULL); return self->bundle_path; } gboolean bz_flatpak_entry_launch (BzFlatpakEntry *self, BzFlatpakInstance *flatpak, GError **error) { FlatpakRef *ref = NULL; #ifdef SANDBOXED_LIBFLATPAK g_autofree char *fmt = NULL; g_autofree char *cmdline = NULL; #else FlatpakInstallation *installation = NULL; #endif g_return_val_if_fail (BZ_IS_FLATPAK_ENTRY (self), FALSE); g_return_val_if_fail (BZ_IS_FLATPAK_INSTANCE (flatpak), FALSE); ref = bz_flatpak_entry_get_ref (self); #ifdef SANDBOXED_LIBFLATPAK fmt = flatpak_ref_format_ref (FLATPAK_REF (ref)); if (g_file_test ("/run/systemd", G_FILE_TEST_EXISTS)) cmdline = g_strdup_printf ("flatpak-spawn --host systemd-run --user --pipe flatpak run %s", fmt); else cmdline = g_strdup_printf ("flatpak-spawn --host flatpak run %s", fmt); return g_spawn_command_line_async (cmdline, error); #else installation = self->user ? bz_flatpak_instance_get_user_installation (flatpak) : bz_flatpak_instance_get_system_installation (flatpak); /* async? */ return flatpak_installation_launch ( installation, flatpak_ref_get_name (ref), flatpak_ref_get_arch (ref), flatpak_ref_get_branch (ref), flatpak_ref_get_commit (ref), NULL, error); #endif } static void clear_entry (BzFlatpakEntry *self) { g_clear_pointer (&self->flatpak_name, g_free); g_clear_pointer (&self->flatpak_id, g_free); g_clear_pointer (&self->flatpak_version, g_free); g_clear_pointer (&self->application_name, g_free); g_clear_pointer (&self->application_runtime, g_free); g_clear_pointer (&self->application_command, g_free); g_clear_pointer (&self->runtime_name, g_free); g_clear_pointer (&self->addon_extension_of_ref, g_free); g_clear_pointer (&self->bundle_path, g_free); g_clear_object (&self->runtime_result); } static void apply_icon_theme (BzFlatpakEntry *self) { FlatpakRef *ref = NULL; BzStateInfo *state = NULL; const char *icon_name = NULL; GtkIconTheme *theme = NULL; ref = bz_flatpak_entry_get_ref (self); state = bz_state_info_get_default (); icon_name = flatpak_ref_get_name (ref); theme = self->user ? bz_state_info_get_user_icon_theme (state) : bz_state_info_get_system_icon_theme (state); if (theme != NULL) { g_autoptr (GtkIconPaintable) paintable = NULL; paintable = gtk_icon_theme_lookup_icon ( theme, icon_name, NULL, 128, 1, GTK_TEXT_DIR_NONE, 0); if (paintable != NULL) g_object_set ( self, "icon-paintable", paintable, NULL); } } ���������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-entry.h����������������������������������������������������0000664�0000000�0000000�00000004155�15234476640�0021425�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flatpak-entry.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include "bz-flatpak-instance.h" #include "bz-result.h" G_BEGIN_DECLS #define BZ_TYPE_FLATPAK_ENTRY (bz_flatpak_entry_get_type ()) G_DECLARE_FINAL_TYPE (BzFlatpakEntry, bz_flatpak_entry, BZ, FLATPAK_ENTRY, BzEntry) char * bz_flatpak_id_format_unique (const char *flatpak_id, gboolean user); gboolean bz_flatpak_entry_is_user (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_flatpak_name (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_flatpak_id (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_flatpak_version (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_application_name (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_application_runtime (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_runtime_name (BzFlatpakEntry *self); BzResult * bz_flatpak_entry_dup_runtime_result (BzFlatpakEntry *self); gboolean bz_flatpak_entry_is_bundle (BzFlatpakEntry *self); gboolean bz_flatpak_entry_is_installed_ref (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_bundle_path (BzFlatpakEntry *self); const char * bz_flatpak_entry_get_addon_extension_of_ref (BzFlatpakEntry *self); gboolean bz_flatpak_entry_launch (BzFlatpakEntry *self, BzFlatpakInstance *flatpak, GError **error); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-instance.c�������������������������������������������������0000664�0000000�0000000�00000346475�15234476640�0022101�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flatpak-instance.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::FLATPAK" #define BAZAAR_MODULE "flatpak" #include <malloc.h> #include <xmlb.h> #include "config.h" #include "bz-backend-notification.h" #include "bz-backend-transaction-op-payload.h" #include "bz-backend-transaction-op-progress-payload.h" #include "bz-backend.h" #include "bz-flatpak-bundle-result.h" #include "bz-flatpak-private.h" #include "bz-flatpak-repo.h" #include "bz-repository.h" #include "env.h" #include "global-net.h" #include "io.h" #include "util.h" /* clang-format off */ G_DEFINE_QUARK (bz-flatpak-error-quark, bz_flatpak_error); /* clang-format on */ struct _BzFlatpakInstance { GObject parent_instance; DexScheduler *scheduler; FlatpakInstallation *system; FlatpakInstallation *system_interactive; GFileMonitor *system_events; int system_mute; FlatpakInstallation *user; FlatpakInstallation *user_interactive; GFileMonitor *user_events; int user_mute; GMutex mute_mutex; GMutex notif_mutex; GPtrArray *notif_channels; DexFuture *notif_send; GMutex transactions_mutex; /* BzEntry* -> GPtrArray* -> GCancellable* */ GHashTable *ongoing_cancellables; }; static void backend_iface_init (BzBackendInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzFlatpakInstance, bz_flatpak_instance, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (BZ_TYPE_BACKEND, backend_iface_init)); BZ_DEFINE_DATA ( init, Init, { BzFlatpakInstance *self; }, BZ_RELEASE_DATA (self, g_object_unref)) static DexFuture * init_fiber (InitData *data); BZ_DEFINE_DATA ( check_has_flathub, CheckHasFlathub, { GWeakRef *self; GCancellable *cancellable; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (cancellable, g_object_unref)); static DexFuture * check_has_flathub_fiber (CheckHasFlathubData *data); BZ_DEFINE_DATA ( ensure_flathub, EnsureFlathub, { GWeakRef *self; GCancellable *cancellable; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (cancellable, g_object_unref)); static DexFuture * ensure_flathub_fiber (EnsureFlathubData *data); BZ_DEFINE_DATA ( load_local_ref, LoadLocalRef, { GWeakRef *self; GCancellable *cancellable; GFile *file; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (cancellable, g_object_unref); BZ_RELEASE_DATA (file, g_object_unref)); static DexFuture * load_local_ref_fiber (LoadLocalRefData *data); DexFuture * bz_flatpak_repo_new_from_url (const char *url, GCancellable *cancellable); BZ_DEFINE_DATA ( gather_refs, GatherRefs, { GWeakRef *self; GCancellable *cancellable; guint total; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (cancellable, g_object_unref)); static DexFuture * retrieve_remote_refs_fiber (GatherRefsData *data); static DexFuture * retrieve_installs_fiber (GatherRefsData *data); static DexFuture * retrieve_updates_fiber (GatherRefsData *data); BZ_DEFINE_DATA ( list_repos, ListRepos, { GWeakRef *self; GCancellable *cancellable; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (cancellable, g_object_unref)); static DexFuture * list_repositories_fiber (ListReposData *data); static DexFuture * ensure_runtime_remote_fiber (BzFlatpakInstance *self, FlatpakInstallation *installation, const char *bundle_path, GCancellable *cancellable); BZ_DEFINE_DATA ( retrieve_refs_for_remote, RetrieveRefsForRemote, { GatherRefsData *parent; FlatpakInstallation *installation; FlatpakRemote *remote; }, BZ_RELEASE_DATA (parent, gather_refs_data_unref); BZ_RELEASE_DATA (installation, g_object_unref); BZ_RELEASE_DATA (remote, g_object_unref)); static DexFuture * retrieve_refs_for_remote_fiber (RetrieveRefsForRemoteData *data); static DexFuture * retrieve_refs_for_enumerable_remote (BzFlatpakInstance *self, GCancellable *cancellable, const char *remote_name, FlatpakInstallation *installation, FlatpakRemote *remote); static DexFuture * retrieve_refs_for_noenumerable_remote (BzFlatpakInstance *self, GCancellable *cancellable, const char *remote_name, FlatpakInstallation *installation, FlatpakRemote *remote); BZ_DEFINE_DATA ( transaction, Transaction, { GWeakRef *self; GMutex mutex; GCancellable *cancellable; GPtrArray *installs; GPtrArray *updates; GPtrArray *removals; DexChannel *channel; GPtrArray *send_futures; GHashTable *ref_to_entry_hash; GHashTable *op_to_progress_hash; GHashTable *rebased_refs; guint unidentified_op_cnt; }, BZ_RELEASE_DATA (self, bz_weak_release); g_mutex_clear (&self->mutex); BZ_RELEASE_DATA (cancellable, g_object_unref); BZ_RELEASE_DATA (installs, g_ptr_array_unref); BZ_RELEASE_DATA (updates, g_ptr_array_unref); BZ_RELEASE_DATA (removals, g_ptr_array_unref); BZ_RELEASE_DATA (channel, dex_unref); BZ_RELEASE_DATA (send_futures, g_ptr_array_unref); BZ_RELEASE_DATA (ref_to_entry_hash, g_hash_table_unref); BZ_RELEASE_DATA (op_to_progress_hash, g_hash_table_unref) BZ_RELEASE_DATA (rebased_refs, g_hash_table_unref)); static DexFuture * transaction_fiber (TransactionData *data); BZ_DEFINE_DATA ( transaction_job, TransactionJob, { TransactionData *parent; FlatpakTransaction *transaction; }, BZ_RELEASE_DATA (parent, transaction_data_unref); BZ_RELEASE_DATA (transaction, g_object_unref)); static DexFuture * transaction_job_fiber (TransactionJobData *data); static void transaction_new_operation (FlatpakTransaction *object, FlatpakTransactionOperation *operation, FlatpakTransactionProgress *progress, TransactionData *data); static void transaction_operation_done (FlatpakTransaction *object, FlatpakTransactionOperation *operation, gchar *commit, gint result, TransactionData *data); static gboolean transaction_operation_error (FlatpakTransaction *object, FlatpakTransactionOperation *operation, GError *error, gint details, TransactionData *data); static gboolean transaction_ready (FlatpakTransaction *object, TransactionData *data); static BzFlatpakEntry * find_entry_from_operation (TransactionData *data, FlatpakTransactionOperation *operation); BZ_DEFINE_DATA ( transaction_operation, TransactionOperation, { TransactionData *parent; BzFlatpakEntry *entry; BzBackendTransactionOpPayload *op; }, BZ_RELEASE_DATA (parent, transaction_data_unref); BZ_RELEASE_DATA (entry, g_object_unref); BZ_RELEASE_DATA (op, g_object_unref)); static void transaction_progress_changed (FlatpakTransactionProgress *object, TransactionOperationData *data); BZ_DEFINE_DATA ( transaction_operation_done, TransactionOperationDone, { TransactionData *parent; FlatpakTransaction *transaction; FlatpakTransactionOperation *operation; }, BZ_RELEASE_DATA (parent, transaction_data_unref); BZ_RELEASE_DATA (transaction, g_object_unref); BZ_RELEASE_DATA (operation, g_object_unref)); static DexFuture * transaction_operation_done_fiber (TransactionOperationDoneData *data); static void installation_event (BzFlatpakInstance *self, GFile *file, GFile *other_file, GFileMonitorEvent event_type, GFileMonitor *monitor); static void send_notif (BzFlatpakInstance *self, DexChannel *channel, BzBackendNotification *notif, gboolean lock); static void send_notif_all (BzFlatpakInstance *self, BzBackendNotification *notif, gboolean lock); #define SEND_AND_RETURN_ERROR(_self, _lock, _error, ...) \ G_STMT_START \ { \ g_autofree char *_error_string = NULL; \ g_autoptr (BzBackendNotification) _notif = NULL; \ \ _error_string = g_strdup_printf (__VA_ARGS__); \ \ _notif = bz_backend_notification_new (); \ bz_backend_notification_set_kind (_notif, BZ_BACKEND_NOTIFICATION_KIND_ERROR); \ bz_backend_notification_set_error (_notif, _error_string); \ send_notif_all ((_self), _notif, (_lock)); \ \ return dex_future_new_for_error ( \ g_error_new_literal (BZ_FLATPAK_ERROR, \ (_error), \ _error_string)); \ } \ G_STMT_END BZ_DEFINE_DATA ( wait_notif, WaitNotif, { GWeakRef self; DexChannel *channel; BzBackendNotification *notif; }, g_weak_ref_clear (&self->self); BZ_RELEASE_DATA (channel, dex_unref); BZ_RELEASE_DATA (notif, g_object_unref)); static DexFuture * wait_notif_finally (DexFuture *future, WaitNotifData *data); static gint cmp_rref (FlatpakRemoteRef *a, FlatpakRemoteRef *b, GHashTable *hash); static AsComponent * parse_component_for_node (XbNode *node, GError **error); static GBytes * decompress_appstream_gz (GBytes *appstream_gz, GCancellable *cancellable, GError **error); static XbSilo * build_silo (XbBuilderSource *source, GCancellable *cancellable, GError **error); static AsComponent * extract_first_component_for_silo (XbSilo *silo, GError **error); static void bz_flatpak_instance_dispose (GObject *object) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (object); dex_clear (&self->scheduler); g_clear_object (&self->system); g_clear_object (&self->system_interactive); g_clear_object (&self->system_events); g_clear_object (&self->user); g_clear_object (&self->user_interactive); g_clear_object (&self->user_events); g_mutex_clear (&self->mute_mutex); g_clear_pointer (&self->notif_channels, g_ptr_array_unref); dex_clear (&self->notif_send); g_mutex_clear (&self->notif_mutex); g_clear_pointer (&self->ongoing_cancellables, g_hash_table_unref); g_mutex_clear (&self->transactions_mutex); G_OBJECT_CLASS (bz_flatpak_instance_parent_class)->dispose (object); } static void bz_flatpak_instance_class_init (BzFlatpakInstanceClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_flatpak_instance_dispose; } static void bz_flatpak_instance_init (BzFlatpakInstance *self) { self->scheduler = dex_thread_pool_scheduler_new (); self->system_mute = 0; self->user_mute = 0; g_mutex_init (&self->mute_mutex); self->notif_channels = g_ptr_array_new_with_free_func (dex_unref); g_mutex_init (&self->notif_mutex); self->ongoing_cancellables = g_hash_table_new_full ( g_direct_hash, g_direct_equal, g_object_unref, (GDestroyNotify) g_ptr_array_unref); g_mutex_init (&self->transactions_mutex); } static DexChannel * bz_flatpak_instance_create_notification_channel (BzBackend *backend) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (DexChannel) channel = NULL; channel = dex_channel_new (0); g_mutex_lock (&self->notif_mutex); g_ptr_array_add (self->notif_channels, dex_ref (channel)); g_mutex_unlock (&self->notif_mutex); return g_steal_pointer (&channel); } static DexFuture * bz_flatpak_instance_load_local_package (BzBackend *backend, GFile *file, GCancellable *cancellable) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (LoadLocalRefData) data = NULL; data = load_local_ref_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); data->file = g_object_ref (file); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) load_local_ref_fiber, load_local_ref_data_ref (data), load_local_ref_data_unref); } static DexFuture * bz_flatpak_instance_retrieve_remote_refs (BzBackend *backend, GCancellable *cancellable) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (GatherRefsData) data = NULL; data = gather_refs_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); data->total = 0; return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) retrieve_remote_refs_fiber, gather_refs_data_ref (data), gather_refs_data_unref); } static DexFuture * bz_flatpak_instance_retrieve_install_ids (BzBackend *backend, GCancellable *cancellable) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (GatherRefsData) data = NULL; data = gather_refs_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) retrieve_installs_fiber, gather_refs_data_ref (data), gather_refs_data_unref); } static DexFuture * bz_flatpak_instance_retrieve_update_ids (BzBackend *backend, GCancellable *cancellable) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (GatherRefsData) data = NULL; data = gather_refs_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) retrieve_updates_fiber, gather_refs_data_ref (data), gather_refs_data_unref); } static DexFuture * bz_flatpak_instance_list_repositories (BzBackend *backend, GCancellable *cancellable) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (ListReposData) data = NULL; data = list_repos_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) list_repositories_fiber, list_repos_data_ref (data), list_repos_data_unref); } static DexFuture * bz_flatpak_instance_schedule_transaction (BzBackend *backend, BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals, DexChannel *channel, GCancellable *cancellable) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); BzFlatpakEntry **installs_dup = NULL; BzFlatpakEntry **updates_dup = NULL; BzFlatpakEntry **removals_dup = NULL; g_autoptr (TransactionData) data = NULL; for (guint i = 0; i < n_installs; i++) dex_return_error_if_fail (BZ_IS_FLATPAK_ENTRY (installs[i])); for (guint i = 0; i < n_updates; i++) dex_return_error_if_fail (BZ_IS_FLATPAK_ENTRY (updates[i])); for (guint i = 0; i < n_removals; i++) dex_return_error_if_fail (BZ_IS_FLATPAK_ENTRY (removals[i])); if (n_installs > 0) { installs_dup = g_malloc0_n (n_installs, sizeof (*installs_dup)); for (guint i = 0; i < n_installs; i++) installs_dup[i] = g_object_ref (BZ_FLATPAK_ENTRY (installs[i])); } if (n_updates > 0) { updates_dup = g_malloc0_n (n_updates, sizeof (*updates_dup)); for (guint i = 0; i < n_updates; i++) updates_dup[i] = g_object_ref (BZ_FLATPAK_ENTRY (updates[i])); } if (n_removals > 0) { removals_dup = g_malloc0_n (n_removals, sizeof (*removals_dup)); for (guint i = 0; i < n_removals; i++) removals_dup[i] = g_object_ref (BZ_FLATPAK_ENTRY (removals[i])); } data = transaction_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); data->installs = installs_dup != NULL ? g_ptr_array_new_take ((gpointer *) installs_dup, n_installs, g_object_unref) : NULL; data->updates = updates_dup != NULL ? g_ptr_array_new_take ((gpointer *) updates_dup, n_updates, g_object_unref) : NULL; data->removals = removals_dup != NULL ? g_ptr_array_new_take ((gpointer *) removals_dup, n_removals, g_object_unref) : NULL; data->channel = bz_dex_maybe_ref (channel); data->send_futures = g_ptr_array_new_with_free_func (dex_unref); data->ref_to_entry_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); data->op_to_progress_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL); data->rebased_refs = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); g_mutex_init (&data->mutex); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) transaction_fiber, transaction_data_ref (data), transaction_data_unref); } static gboolean bz_flatpak_instance_cancel_task_for_entry (BzBackend *backend, BzEntry *entry) { BzFlatpakInstance *self = BZ_FLATPAK_INSTANCE (backend); g_autoptr (GMutexLocker) locker = NULL; GPtrArray *cancellables = NULL; locker = g_mutex_locker_new (&self->transactions_mutex); cancellables = g_hash_table_lookup (self->ongoing_cancellables, entry); if (cancellables == NULL) return FALSE; for (guint i = 0; i < cancellables->len; i++) { GCancellable *cancellable = NULL; cancellable = g_ptr_array_index (cancellables, i); g_cancellable_cancel (cancellable); } return TRUE; } static void backend_iface_init (BzBackendInterface *iface) { iface->create_notification_channel = bz_flatpak_instance_create_notification_channel; iface->load_local_package = bz_flatpak_instance_load_local_package; iface->retrieve_remote_entries = bz_flatpak_instance_retrieve_remote_refs; iface->retrieve_install_ids = bz_flatpak_instance_retrieve_install_ids; iface->retrieve_update_ids = bz_flatpak_instance_retrieve_update_ids; iface->list_repositories = bz_flatpak_instance_list_repositories; iface->schedule_transaction = bz_flatpak_instance_schedule_transaction; iface->cancel_task_for_entry = bz_flatpak_instance_cancel_task_for_entry; } FlatpakInstallation * bz_flatpak_instance_get_system_installation (BzFlatpakInstance *self) { g_return_val_if_fail (BZ_IS_FLATPAK_INSTANCE (self), NULL); return self->system; } FlatpakInstallation * bz_flatpak_instance_get_user_installation (BzFlatpakInstance *self) { g_return_val_if_fail (BZ_IS_FLATPAK_INSTANCE (self), NULL); return self->user; } DexFuture * bz_flatpak_instance_new (void) { g_autoptr (InitData) data = NULL; data = init_data_new (); data->self = g_object_new (BZ_TYPE_FLATPAK_INSTANCE, NULL); return dex_scheduler_spawn ( data->self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) init_fiber, init_data_ref (data), init_data_unref); } DexFuture * bz_flatpak_instance_has_flathub (BzFlatpakInstance *self, GCancellable *cancellable) { g_autoptr (CheckHasFlathubData) data = NULL; dex_return_error_if_fail (BZ_IS_FLATPAK_INSTANCE (self)); dex_return_error_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); data = check_has_flathub_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) check_has_flathub_fiber, check_has_flathub_data_ref (data), check_has_flathub_data_unref); } DexFuture * bz_flatpak_instance_ensure_has_flathub (BzFlatpakInstance *self, GCancellable *cancellable) { g_autoptr (EnsureFlathubData) data = NULL; dex_return_error_if_fail (BZ_IS_FLATPAK_INSTANCE (self)); dex_return_error_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); data = ensure_flathub_data_new (); data->self = bz_track_weak (self); data->cancellable = bz_object_maybe_ref (cancellable); return dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) ensure_flathub_fiber, ensure_flathub_data_ref (data), ensure_flathub_data_unref); } static DexFuture * init_fiber (InitData *data) { BzFlatpakInstance *self = data->self; g_autoptr (GError) local_error = NULL; g_autofree char *main_cache = NULL; bz_discard_module_dir (); self->system = flatpak_installation_new_system (NULL, &local_error); if (self->system != NULL) { g_autoptr (GFile) path = NULL; flatpak_installation_set_no_interaction (self->system, TRUE); path = flatpak_installation_get_path (self->system); self->system_interactive = flatpak_installation_new_for_path ( path, FALSE, NULL, NULL); g_assert (self->system_interactive != NULL); flatpak_installation_set_no_interaction (self->system_interactive, FALSE); self->system_events = flatpak_installation_create_monitor ( self->system, NULL, &local_error); if (self->system_events != NULL) g_signal_connect_swapped ( self->system_events, "changed", G_CALLBACK (installation_event), self); else { g_warning ("Failed to initialize event watch for system installation: %s", local_error->message); g_clear_pointer (&local_error, g_error_free); } } else { g_warning ("Failed to initialize system installation: %s", local_error->message); g_clear_pointer (&local_error, g_error_free); } #ifdef SANDBOXED_LIBFLATPAK { g_autoptr (GFile) user_installation_path = NULL; const char *home = g_get_home_dir (); g_autofree char *user_flatpak_path = g_build_filename (home, ".local", "share", "flatpak", NULL); user_installation_path = g_file_new_for_path (user_flatpak_path); self->user = flatpak_installation_new_for_path ( user_installation_path, TRUE, NULL, &local_error); } #else self->user = flatpak_installation_new_user (NULL, &local_error); #endif if (self->user != NULL) { g_autoptr (GFile) path = NULL; flatpak_installation_set_no_interaction (self->user, TRUE); path = flatpak_installation_get_path (self->user); self->user_interactive = flatpak_installation_new_for_path ( path, TRUE, NULL, NULL); g_assert (self->user_interactive != NULL); flatpak_installation_set_no_interaction (self->user_interactive, FALSE); self->user_events = flatpak_installation_create_monitor ( self->user, NULL, &local_error); if (self->user_events != NULL) g_signal_connect_swapped ( self->user_events, "changed", G_CALLBACK (installation_event), self); else { g_warning ("Failed to initialize event watch for user installation: %s", local_error->message); g_clear_pointer (&local_error, g_error_free); } } else { g_warning ("Failed to initialize user installation: %s", local_error->message); g_clear_pointer (&local_error, g_error_free); } #ifdef SANDBOXED_LIBFLATPAK if (g_getenv ("FLATPAK_BINARY") == NULL) { g_autofree char *flatpak_path = NULL; gint exit_status = 0; g_spawn_command_line_sync ("flatpak-spawn --host sh -c 'command -v flatpak'", &flatpak_path, NULL, &exit_status, NULL); if (exit_status == 0 && flatpak_path != NULL) g_setenv ("FLATPAK_BINARY", g_strstrip (flatpak_path), FALSE); else g_warning ("Failed to resolve host flatpak binary! User refs wont be updated"); } #endif if (self->system == NULL && self->user == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to initialize any flatpak installations"); return dex_future_new_for_object (self); } static DexFuture * check_has_flathub_fiber (CheckHasFlathubData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = data->cancellable; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) system_remotes = NULL; guint n_system_remotes = 0; g_autoptr (GPtrArray) user_remotes = NULL; guint n_user_remotes = 0; bz_weak_get_or_return_reject (self, data->self); if (self->system != NULL) { system_remotes = flatpak_installation_list_remotes ( self->system, cancellable, &local_error); if (system_remotes == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to enumerate remotes for system installation: %s", local_error->message); n_system_remotes = system_remotes->len; } // Downloading from user remotes in the Flatpak is unsupported. #ifndef SANDBOXED_LIBFLATPAK if (self->user != NULL) { user_remotes = flatpak_installation_list_remotes ( self->user, cancellable, &local_error); if (user_remotes == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to enumerate remotes for user installation: %s", local_error->message); n_user_remotes = user_remotes->len; } #endif for (guint i = 0; i < n_system_remotes + n_user_remotes; i++) { FlatpakRemote *remote = NULL; const char *name = NULL; if (i < n_system_remotes) remote = g_ptr_array_index (system_remotes, i); else remote = g_ptr_array_index (user_remotes, i - n_system_remotes); if (flatpak_remote_get_disabled (remote) || flatpak_remote_get_noenumerate (remote)) continue; name = flatpak_remote_get_name (remote); if (g_strcmp0 (name, "flathub") == 0) return dex_future_new_true (); } return dex_future_new_false (); } static DexFuture * ensure_flathub_fiber (EnsureFlathubData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = data->cancellable; g_autoptr (GError) local_error = NULL; g_autoptr (FlatpakRemote) remote = NULL; FlatpakInstallation *installation = NULL; gboolean result = FALSE; bz_weak_get_or_return_reject (self, data->self); #define REPO_URL "https://dl.flathub.org/repo/flathub.flatpakrepo" #ifdef SANDBOXED_LIBFLATPAK if (self->system != NULL) { remote = flatpak_installation_get_remote_by_name ( self->system, "flathub", cancellable, NULL); installation = self->system; } if (remote == NULL) return dex_future_new_true (); #else if (self->user != NULL) { remote = flatpak_installation_get_remote_by_name ( self->user, "flathub", cancellable, NULL); installation = self->user; } if (remote == NULL && self->system != NULL) { remote = flatpak_installation_get_remote_by_name ( self->system, "flathub", cancellable, NULL); if (remote != NULL) installation = self->system; } #endif if (remote != NULL) { flatpak_remote_set_disabled (remote, FALSE); flatpak_remote_set_noenumerate (remote, FALSE); flatpak_remote_set_gpg_verify (remote, TRUE); result = flatpak_installation_modify_remote ( installation, remote, cancellable, &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to modify existing system flathub remote: %s", local_error->message); } else { g_autoptr (SoupMessage) message = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (FlatpakRemote) imported = NULL; message = soup_message_new (SOUP_METHOD_GET, REPO_URL); output = g_memory_output_stream_new_resizable (); result = dex_await ( bz_send_with_global_http_session_then_splice_into (message, output), &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to retrieve flatpakrepo file from %s: %s", REPO_URL, local_error->message); bytes = g_memory_output_stream_steal_as_bytes (G_MEMORY_OUTPUT_STREAM (output)); imported = flatpak_remote_new_from_file ("flathub", bytes, &local_error); if (imported == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to construct flatpak remote from flatpakrepo file %s: %s", REPO_URL, local_error->message); flatpak_remote_set_gpg_verify (imported, TRUE); result = flatpak_installation_add_remote ( installation, imported, TRUE, cancellable, &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to add flathub to flatpak installation: %s", local_error->message); } return dex_future_new_true (); } DexFuture * bz_flatpak_repo_new_from_url (const char *url, GCancellable *cancellable) { g_autoptr (SoupMessage) message = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (GKeyFile) key_file = NULL; g_autoptr (BzFlatpakRepo) repo = NULL; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autofree char *name = NULL; char *dot = NULL; g_autofree char *title = NULL; g_autofree char *repo_url = NULL; g_autofree char *homepage = NULL; g_autofree char *comment = NULL; g_autofree char *description = NULL; g_autofree char *icon = NULL; g_autofree char *gpg_key = NULL; g_autofree char *default_branch = NULL; g_autofree char *filter = NULL; g_autoptr (GError) bool_error = NULL; gboolean gpg_verify = FALSE; name = g_path_get_basename (url); dot = strrchr (name, '.'); if (dot != NULL) *dot = '\0'; message = soup_message_new (SOUP_METHOD_GET, url); output = g_memory_output_stream_new_resizable (); result = dex_await ( bz_send_with_global_http_session_then_splice_into (message, output), &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to retrieve flatpakrepo file from %s: %s", url, local_error->message); bytes = g_memory_output_stream_steal_as_bytes (G_MEMORY_OUTPUT_STREAM (output)); key_file = g_key_file_new (); result = g_key_file_load_from_bytes (key_file, bytes, G_KEY_FILE_NONE, &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to parse flatpakrepo file from %s: %s", url, local_error->message); title = g_key_file_get_string (key_file, "Flatpak Repo", "Title", NULL); repo_url = g_key_file_get_string (key_file, "Flatpak Repo", "Url", NULL); homepage = g_key_file_get_string (key_file, "Flatpak Repo", "Homepage", NULL); comment = g_key_file_get_string (key_file, "Flatpak Repo", "Comment", NULL); description = g_key_file_get_string (key_file, "Flatpak Repo", "Description", NULL); icon = g_key_file_get_string (key_file, "Flatpak Repo", "Icon", NULL); gpg_key = g_key_file_get_string (key_file, "Flatpak Repo", "GPGKey", NULL); default_branch = g_key_file_get_string (key_file, "Flatpak Repo", "DefaultBranch", NULL); filter = g_key_file_get_string (key_file, "Flatpak Repo", "Filter", NULL); gpg_verify = g_key_file_get_boolean (key_file, "Flatpak Repo", "GPGVerify", &bool_error); if (bool_error != NULL) { gpg_verify = gpg_key != NULL; g_clear_error (&bool_error); } repo = g_object_new ( BZ_TYPE_FLATPAK_REPO, "name", name, "title", title, "url", repo_url, "homepage", homepage, "comment", comment, "description", description, "icon", icon, "gpg-key", gpg_key, "default-branch", default_branch, "filter", filter, "gpg-verify", gpg_verify, NULL); return dex_future_new_for_object (repo); } static DexFuture * load_local_ref_fiber (LoadLocalRefData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GFile *file = data->file; GCancellable *cancellable = data->cancellable; gboolean result = FALSE; g_autoptr (GError) local_error = NULL; g_autofree char *uri = NULL; g_autofree char *path = NULL; g_autofree char *runtime_repo_url = NULL; bz_weak_get_or_return_reject (self, data->self); uri = g_file_get_uri (file); path = g_file_get_path (file); if (uri == NULL) uri = g_strdup_printf ("file://%s", path); if (g_str_has_suffix (uri, ".flatpakref")) { const char *resolved_uri = NULL; g_autoptr (GKeyFile) key_file = g_key_file_new (); g_autofree char *name = NULL; if (g_str_has_prefix (uri, "flatpak+https")) resolved_uri = uri + strlen ("flatpak+"); else resolved_uri = uri; key_file = g_key_file_new (); if (g_str_has_prefix (resolved_uri, "http")) { g_autoptr (SoupMessage) message = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (GBytes) bytes = NULL; message = soup_message_new (SOUP_METHOD_GET, resolved_uri); output = g_memory_output_stream_new_resizable (); result = dex_await ( bz_send_with_global_http_session_then_splice_into (message, output), &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to retrieve flatpakref file from %s: %s", resolved_uri, local_error->message); bytes = g_memory_output_stream_steal_as_bytes (G_MEMORY_OUTPUT_STREAM (output)); result = g_key_file_load_from_bytes (key_file, bytes, G_KEY_FILE_NONE, &local_error); } else if (path != NULL) result = g_key_file_load_from_file ( key_file, path, G_KEY_FILE_NONE, &local_error); else local_error = g_error_new ( G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT, "Cannot handle URIs of this type"); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to load flatpakref '%s' into a key file: %s", uri, local_error->message); name = g_key_file_get_string (key_file, "Flatpak Ref", "Name", &local_error); if (name == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to load locate \"Name\" key in flatpakref '%s': %s", uri, local_error->message); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_PRESENT_ID); bz_backend_notification_set_generic_id (notif, name); send_notif_all (self, notif, TRUE); } return dex_future_new_take_string (g_steal_pointer (&name)); } else /* This is a bundle ref */ { g_autoptr (FlatpakBundleRef) bref = NULL; const char *name = NULL; const char *origin = NULL; FlatpakInstallation *add_to_installation = NULL; g_autoptr (FlatpakRemote) remote = NULL; g_autoptr (BzFlatpakEntry) entry = NULL; g_autoptr (BzFlatpakRepo) runtime_repo = NULL; g_autoptr (GBytes) appstream_gz = NULL; g_autoptr (GBytes) appstream = NULL; g_autoptr (AsComponent) component = NULL; g_autoptr (BzFlatpakBundleResult) bundle_result = NULL; if (path == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Cannot load '%s' as a flatpak bundle: URI is not a local file", uri); bref = flatpak_bundle_ref_new (file, &local_error); if (bref == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to load local flatpak bundle '%s': %s", path, local_error->message); name = flatpak_ref_get_name (FLATPAK_REF (bref)); origin = flatpak_bundle_ref_get_origin (bref); runtime_repo_url = flatpak_bundle_ref_get_runtime_repo_url (bref); if (runtime_repo_url != NULL) { g_autoptr (GError) repo_error = NULL; runtime_repo = dex_await_object ( bz_flatpak_repo_new_from_url (runtime_repo_url, cancellable), &repo_error); if (runtime_repo == NULL) g_warning ("Failed to parse runtime repo from %s: %s", runtime_repo_url, repo_error->message); } if (self->system != NULL) add_to_installation = self->system; else if (self->user != NULL) add_to_installation = self->user; /* First check if we already should have the origin remote installed */ if (self->system != NULL) { g_autoptr (GPtrArray) remotes = NULL; remotes = flatpak_installation_list_remotes ( self->system, NULL, NULL); if (remotes != NULL) { for (guint i = 0; i < remotes->len; i++) { FlatpakRemote *existing = NULL; const char *url = NULL; existing = g_ptr_array_index (remotes, i); url = flatpak_remote_get_url (existing); if (url != NULL && g_strcmp0 (url, origin) == 0) { remote = g_object_ref (existing); add_to_installation = NULL; break; } } } } if (self->user != NULL) { g_autoptr (GPtrArray) remotes = NULL; remotes = flatpak_installation_list_remotes ( self->user, NULL, NULL); if (remotes != NULL) { for (guint i = 0; i < remotes->len; i++) { FlatpakRemote *existing = NULL; const char *url = NULL; existing = g_ptr_array_index (remotes, i); url = flatpak_remote_get_url (existing); if (url != NULL && g_strcmp0 (url, origin) == 0) { remote = g_object_ref (existing); add_to_installation = NULL; break; } } } } if (add_to_installation != NULL) { g_autoptr (FlatpakRemote) config_remote = NULL; g_autofree char *remote_name = NULL; /* Configure and sync the new remote */ remote_name = g_strdup_printf ("%s-bazaar-origin", name); config_remote = flatpak_remote_new (remote_name); flatpak_remote_set_url (config_remote, origin); flatpak_remote_set_disabled (config_remote, FALSE); flatpak_remote_set_noenumerate (config_remote, FALSE); flatpak_remote_set_gpg_verify (config_remote, TRUE); result = flatpak_installation_add_remote ( add_to_installation, config_remote, FALSE, cancellable, NULL); if (result) { { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_INVALIDATE_REMOTES); send_notif_all (self, notif, TRUE); } remote = flatpak_installation_get_remote_by_name ( add_to_installation, remote_name, cancellable, NULL); if (remote != NULL) { { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_START); bz_backend_notification_set_remote_name (notif, remote_name); send_notif_all (self, notif, TRUE); } result = dex_await ( retrieve_refs_for_enumerable_remote ( self, cancellable, remote_name, add_to_installation, remote), NULL); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_FINISH); bz_backend_notification_set_remote_name (notif, remote_name); send_notif_all (self, notif, TRUE); } } } } appstream_gz = flatpak_bundle_ref_get_appstream (bref); if (appstream_gz != NULL) { appstream = decompress_appstream_gz (appstream_gz, NULL, &local_error); if (appstream == NULL) { g_warning ("Failed to decompress AppStream data: %s", local_error->message); g_clear_error (&local_error); } else { g_autoptr (XbBuilderSource) source = NULL; source = xb_builder_source_new (); if (!xb_builder_source_load_bytes (source, appstream, XB_BUILDER_SOURCE_FLAG_LITERAL_TEXT, &local_error)) { g_warning ("Failed to load AppStream bytes into xmlb: %s", local_error->message); g_clear_error (&local_error); } else { g_autoptr (XbSilo) silo = NULL; silo = build_silo (source, NULL, &local_error); if (silo == NULL) { g_warning ("Failed to compile xmlb silo: %s", local_error->message); g_clear_error (&local_error); } else { component = extract_first_component_for_silo (silo, &local_error); if (component == NULL && local_error != NULL) { g_warning ("Failed to parse component: %s", local_error->message); g_clear_error (&local_error); } } } } } entry = bz_flatpak_entry_new_for_ref ( FLATPAK_REF (bref), remote, FALSE, component, NULL, &local_error); if (entry == NULL) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to parse information from flatpak bundle '%s': %s", path, local_error->message); bundle_result = g_object_new (BZ_TYPE_FLATPAK_BUNDLE_RESULT, "entry", entry, "runtime-repo", runtime_repo, NULL); return dex_future_new_for_object (g_steal_pointer (&bundle_result)); } } static DexFuture * retrieve_remote_refs_fiber (GatherRefsData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = data->cancellable; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) system_remotes = NULL; guint n_system_remotes = 0; g_autoptr (GPtrArray) user_remotes = NULL; guint n_user_remotes = 0; g_autoptr (GHashTable) blocked_names_hash = NULL; g_autoptr (GPtrArray) jobs = NULL; g_autoptr (GPtrArray) job_names = NULL; g_autoptr (DexFuture) future = NULL; gboolean result = FALSE; g_autoptr (GString) error_string = NULL; bz_weak_get_or_return_reject (self, data->self); if (self->system != NULL) { system_remotes = flatpak_installation_list_remotes ( self->system, cancellable, &local_error); if (system_remotes == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to enumerate remotes for system installation: %s", local_error->message); n_system_remotes = system_remotes->len; } if (self->user != NULL) { user_remotes = flatpak_installation_list_remotes ( self->user, cancellable, &local_error); if (user_remotes == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to enumerate remotes for user installation: %s", local_error->message); n_user_remotes = user_remotes->len; } if (n_user_remotes + n_system_remotes == 0) return dex_future_new_true (); jobs = g_ptr_array_new_with_free_func (dex_unref); job_names = g_ptr_array_new_with_free_func (g_free); for (guint i = 0; i < n_system_remotes + n_user_remotes; i++) { FlatpakInstallation *installation = NULL; FlatpakRemote *remote = NULL; const char *name = NULL; g_autoptr (RetrieveRefsForRemoteData) job_data = NULL; g_autoptr (DexFuture) job_future = NULL; if (i < n_system_remotes) { installation = self->system; remote = g_ptr_array_index (system_remotes, i); } else { installation = self->user; remote = g_ptr_array_index (user_remotes, i - n_system_remotes); } name = flatpak_remote_get_name (remote); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_START); bz_backend_notification_set_remote_name (notif, name); send_notif_all (self, notif, TRUE); } job_data = retrieve_refs_for_remote_data_new (); job_data->parent = gather_refs_data_ref (data); job_data->installation = g_object_ref (installation); job_data->remote = g_object_ref (remote); job_future = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) retrieve_refs_for_remote_fiber, retrieve_refs_for_remote_data_ref (job_data), retrieve_refs_for_remote_data_unref); g_ptr_array_add (jobs, g_steal_pointer (&job_future)); g_ptr_array_add (job_names, g_strdup (name)); } if (jobs->len == 0) return dex_future_new_true (); result = dex_await (dex_future_allv ( (DexFuture *const *) jobs->pdata, jobs->len), NULL); if (!result) error_string = g_string_new ("No remotes could be synchronized:\n\n"); for (guint i = 0; i < jobs->len; i++) { DexFuture *job_future = NULL; char *name = NULL; job_future = g_ptr_array_index (jobs, i); name = g_ptr_array_index (job_names, i); dex_future_get_value (job_future, &local_error); if (local_error != NULL) { if (error_string == NULL) error_string = g_string_new ("Some remotes couldn't be fully sychronized:\n"); g_string_append_printf (error_string, "\n%s failed because: %s\n", name, local_error->message); } g_clear_pointer (&local_error, g_error_free); } if (result) { if (error_string != NULL) return dex_future_new_take_string ( g_string_free_and_steal (g_steal_pointer (&error_string))); else return dex_future_new_true (); } else return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "%s", error_string->str); } static DexFuture * retrieve_refs_for_enumerable_remote (BzFlatpakInstance *self, GCancellable *cancellable, const char *remote_name, FlatpakInstallation *installation, FlatpakRemote *remote) { g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autoptr (GFile) appstream_dir = NULL; g_autofree char *appstream_dir_path = NULL; g_autofree char *appstream_xml_path = NULL; g_autoptr (GFile) appstream_xml = NULL; g_autoptr (XbBuilderSource) source = NULL; g_autoptr (XbSilo) silo = NULL; g_autoptr (XbNode) root = NULL; g_autoptr (GPtrArray) children = NULL; g_autoptr (GHashTable) component_hash = NULL; g_autoptr (GPtrArray) refs = NULL; g_debug ("Remote '%s' is enumerable, listing all remote refs", remote_name); result = flatpak_installation_update_remote_sync ( installation, remote_name, cancellable, &local_error); if (!result) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to synchronize remote '%s': %s", remote_name, local_error->message); result = flatpak_installation_update_appstream_full_sync ( installation, remote_name, NULL, NULL, NULL, NULL, cancellable, &local_error); if (!result) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to synchronize appstream data for remote '%s': %s", remote_name, local_error->message); appstream_dir = flatpak_remote_get_appstream_dir (remote, NULL); if (appstream_dir == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to locate appstream directory for remote '%s': %s", remote_name, local_error->message); appstream_dir_path = g_file_get_path (appstream_dir); appstream_xml_path = g_build_filename (appstream_dir_path, "appstream.xml.gz", NULL); if (!g_file_test (appstream_xml_path, G_FILE_TEST_EXISTS)) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to verify existence of appstream " "bundle download at path %s for remote '%s'", appstream_xml_path, remote_name); appstream_xml = g_file_new_for_path (appstream_xml_path); source = xb_builder_source_new (); result = xb_builder_source_load_file ( source, appstream_xml, XB_BUILDER_SOURCE_FLAG_WATCH_FILE | XB_BUILDER_SOURCE_FLAG_LITERAL_TEXT, cancellable, &local_error); if (!result) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to load binary xml from appstream bundle " "download at path %s for remote '%s': %s", appstream_xml_path, remote_name, local_error->message); silo = build_silo (source, cancellable, &local_error); #ifdef __GLIBC__ /* From gnome-software/plugins/core/gs-plugin-appstream.c * * https://gitlab.gnome.org/GNOME/gnome-software/-/issues/941 * libxmlb <= 0.3.22 makes lots of temporary heap allocations parsing large XMLs * trim the heap after parsing to control RSS growth. */ malloc_trim (0); #endif if (silo == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, "Failed to compile binary xml silo from appstream bundle " "download at path %s for remote '%s': %s", appstream_xml_path, remote_name, local_error->message); root = xb_silo_get_root (silo); children = xb_node_get_children (root); component_hash = g_hash_table_new (g_str_hash, g_str_equal); for (guint i = 0; i < children->len; i++) { XbNode *component_node = NULL; AsComponent *component = NULL; const char *id = NULL; component_node = g_ptr_array_index (children, i); component = parse_component_for_node (component_node, &local_error); if (component == NULL) { SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_APPSTREAM_FAILURE, "Failed to parse appstream component from appstream bundle silo " "originating from download at path %s for remote '%s': %s", appstream_xml_path, remote_name, local_error->message); } id = as_component_get_id (component); g_hash_table_replace (component_hash, (gpointer) id, component); } refs = flatpak_installation_list_remote_refs_sync ( installation, remote_name, cancellable, &local_error); if (refs == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to enumerate refs for remote '%s': %s", remote_name, local_error->message); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_TELL_INCOMING); bz_backend_notification_set_n_incoming (notif, refs->len); send_notif_all (self, notif, TRUE); } /* Ensure the receiving side of the channel gets * runtimes first, then addons, then applications */ g_ptr_array_sort_values_with_data ( refs, (GCompareDataFunc) cmp_rref, component_hash); for (guint i = 0; i < refs->len; i++) { FlatpakRemoteRef *rref = NULL; const char *name = NULL; AsComponent *component = NULL; g_autoptr (BzFlatpakEntry) entry = NULL; rref = g_ptr_array_index (refs, i); name = flatpak_ref_get_name (FLATPAK_REF (rref)); component = g_hash_table_lookup (component_hash, name); if (component == NULL) { g_autofree char *desktop_id = NULL; desktop_id = g_strdup_printf ("%s.desktop", name); component = g_hash_table_lookup (component_hash, desktop_id); } entry = bz_flatpak_entry_new_for_ref ( FLATPAK_REF (rref), remote, installation == self->user, component, appstream_dir_path, NULL); if (entry != NULL) { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REPLACE_ENTRY); bz_backend_notification_set_entry (notif, BZ_ENTRY (entry)); send_notif_all (self, notif, TRUE); } else { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_TELL_INCOMING); bz_backend_notification_set_n_incoming (notif, -1); send_notif_all (self, notif, TRUE); } } return dex_future_new_true (); } static DexFuture * retrieve_refs_for_noenumerable_remote (BzFlatpakInstance *self, GCancellable *cancellable, const char *remote_name, FlatpakInstallation *installation, FlatpakRemote *remote) { g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) installed_apps = NULL; guint matched = 0; installed_apps = flatpak_installation_list_installed_refs_by_kind ( installation, FLATPAK_REF_KIND_APP, cancellable, &local_error); if (installed_apps == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_LOCAL_SYNCHRONIZATION_FAILURE, "Failed to enumerate installed apps for non-enumerable remote '%s': %s", remote_name, local_error->message); g_debug ("Found %u total installed apps, filtering for remote '%s'", installed_apps->len, remote_name); for (guint i = 0; i < installed_apps->len; i++) { FlatpakInstalledRef *iref = NULL; const char *ref_origin = NULL; g_autoptr (AsComponent) component = NULL; g_autoptr (BzFlatpakEntry) entry = NULL; g_autoptr (GBytes) appstream_gz = NULL; iref = g_ptr_array_index (installed_apps, i); ref_origin = flatpak_installed_ref_get_origin (iref); if (g_strcmp0 (ref_origin, remote_name) != 0) continue; matched++; appstream_gz = flatpak_installed_ref_load_appdata (iref, cancellable, NULL); if (appstream_gz != NULL) { g_autoptr (GBytes) appstream = NULL; g_autoptr (XbBuilderSource) source = NULL; g_autoptr (XbSilo) silo = NULL; g_autoptr (GError) appstream_error = NULL; appstream = decompress_appstream_gz (appstream_gz, cancellable, &appstream_error); if (appstream == NULL) { g_info ("Could not decompress appstream for installed ref: %s", appstream_error ? appstream_error->message : "unknown error"); goto create_entry; } source = xb_builder_source_new (); if (!xb_builder_source_load_bytes (source, appstream, XB_BUILDER_SOURCE_FLAG_LITERAL_TEXT, &appstream_error)) { g_info ("Could not load appstream bytes: %s", appstream_error ? appstream_error->message : "unknown error"); goto create_entry; } silo = build_silo (source, cancellable, &appstream_error); if (silo == NULL) { g_info ("Could not build silo from appstream: %s", appstream_error ? appstream_error->message : "unknown error"); goto create_entry; } component = extract_first_component_for_silo (silo, &appstream_error); if (component == NULL) { g_info ("Could not parse appstream component: %s", appstream_error ? appstream_error->message : "unknown error"); } } create_entry: entry = bz_flatpak_entry_new_for_ref ( FLATPAK_REF (iref), remote, installation == self->user, component, NULL, NULL); if (entry != NULL) { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REPLACE_ENTRY); bz_backend_notification_set_entry (notif, BZ_ENTRY (entry)); send_notif_all (self, notif, TRUE); } } g_debug ("Found %u installed apps from non-enumerable remote '%s'", matched, remote_name); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_TELL_INCOMING); bz_backend_notification_set_n_incoming (notif, matched); send_notif_all (self, notif, TRUE); } return dex_future_new_true (); } static DexFuture * retrieve_refs_for_remote_fiber (RetrieveRefsForRemoteData *data) { FlatpakInstallation *installation = data->installation; FlatpakRemote *remote = data->remote; g_autoptr (BzFlatpakInstance) self = NULL; const char *remote_name = NULL; gboolean is_noenumerate = FALSE; g_autoptr (DexFuture) ret = NULL; bz_weak_get_or_return_reject (self, data->parent->self); remote_name = flatpak_remote_get_name (remote); is_noenumerate = flatpak_remote_get_noenumerate (remote); /* the fedora flatpak repos cause too many issues */ if (strstr (remote_name, "fedora") != NULL) is_noenumerate = TRUE; #ifdef SANDBOXED_LIBFLATPAK if (is_noenumerate || installation == self->user) #else if (is_noenumerate) #endif ret = retrieve_refs_for_noenumerable_remote ( self, data->parent->cancellable, remote_name, installation, remote); else ret = retrieve_refs_for_enumerable_remote ( self, data->parent->cancellable, remote_name, installation, remote); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_FINISH); bz_backend_notification_set_remote_name (notif, remote_name); send_notif_all (self, notif, TRUE); } return g_steal_pointer (&ret); } static DexFuture * retrieve_installs_fiber (GatherRefsData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = data->cancellable; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) system_refs = NULL; guint n_system_refs = 0; g_autoptr (GPtrArray) user_refs = NULL; guint n_user_refs = 0; g_autoptr (GHashTable) ids = NULL; bz_weak_get_or_return_reject (self, data->self); if (self->system != NULL) { flatpak_installation_drop_caches ( self->system, cancellable, NULL); system_refs = flatpak_installation_list_installed_refs ( self->system, cancellable, &local_error); if (system_refs == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_LOCAL_SYNCHRONIZATION_FAILURE, "Failed to discover installed refs for system installation: %s", local_error->message); n_system_refs = system_refs->len; } if (self->user != NULL) { flatpak_installation_drop_caches ( self->user, cancellable, NULL); user_refs = flatpak_installation_list_installed_refs ( self->user, cancellable, &local_error); if (user_refs == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_LOCAL_SYNCHRONIZATION_FAILURE, "Failed to discover installed refs for user installation: %s", local_error->message); n_user_refs = user_refs->len; } ids = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); for (guint i = 0; i < n_system_refs + n_user_refs; i++) { gboolean user = FALSE; FlatpakInstalledRef *iref = NULL; const char *version = NULL; g_autofree char *unique_id = NULL; if (i < n_system_refs) { user = FALSE; iref = g_ptr_array_index (system_refs, i); } else { user = TRUE; iref = g_ptr_array_index (user_refs, i - n_system_refs); } version = flatpak_installed_ref_get_appdata_version (iref); unique_id = bz_flatpak_ref_format_unique (FLATPAK_REF (iref), user); g_hash_table_replace (ids, g_steal_pointer (&unique_id), g_strdup (version != NULL ? version : "")); } return dex_future_new_take_boxed ( G_TYPE_HASH_TABLE, g_steal_pointer (&ids)); } static gboolean should_skip_extension_ref (FlatpakInstalledRef *iref) { const gchar *ref_name = flatpak_ref_get_name (FLATPAK_REF (iref)); /* These get updated with their parents and look really bad in the UI */ return g_str_has_suffix (ref_name, ".Locale") || g_str_has_suffix (ref_name, ".Debug") || g_str_has_suffix (ref_name, ".Sources"); } static DexFuture * retrieve_updates_fiber (GatherRefsData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = data->cancellable; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) system_refs = NULL; guint n_sys_refs = 0; g_autoptr (GPtrArray) user_refs = NULL; guint n_user_refs = 0; g_autoptr (GPtrArray) ids = NULL; bz_weak_get_or_return_reject (self, data->self); if (self->system != NULL) { system_refs = flatpak_installation_list_installed_refs_for_update ( self->system, cancellable, &local_error); if (system_refs == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to discover update-elligible refs for system installation: %s", local_error->message); n_sys_refs = system_refs->len; } #ifndef SANDBOXED_LIBFLATPAK if (self->user != NULL) #else if (self->user != NULL && g_getenv ("FLATPAK_BINARY") != NULL) #endif { user_refs = flatpak_installation_list_installed_refs_for_update ( self->user, cancellable, &local_error); if (user_refs == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, "Failed to discover update-elligible refs for user installation: %s", local_error->message); n_user_refs = user_refs->len; } ids = g_ptr_array_new_with_free_func (g_free); for (guint i = 0; i < n_sys_refs + n_user_refs; i++) { gboolean user = FALSE; FlatpakInstalledRef *iref = NULL; if (i < n_sys_refs) { user = FALSE; iref = g_ptr_array_index (system_refs, i); } else { user = TRUE; iref = g_ptr_array_index (user_refs, i - n_sys_refs); } if (should_skip_extension_ref (iref)) continue; g_ptr_array_add (ids, bz_flatpak_ref_format_unique (FLATPAK_REF (iref), user)); } return dex_future_new_take_boxed ( G_TYPE_PTR_ARRAY, g_steal_pointer (&ids)); } static DexFuture * list_repositories_fiber (ListReposData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) system_repos = NULL; g_autoptr (GPtrArray) user_repos = NULL; g_autoptr (GListStore) repos = NULL; cancellable = data->cancellable; bz_weak_get_or_return_reject (self, data->self); repos = g_list_store_new (BZ_TYPE_REPOSITORY); if (self->system != NULL) { system_repos = flatpak_installation_list_remotes ( self->system, cancellable, &local_error); if (system_repos == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to enumerate remotes for system installation: %s", local_error->message); for (guint i = 0; i < system_repos->len; i++) { FlatpakRemote *remote = NULL; g_autoptr (BzRepository) repo = NULL; remote = g_ptr_array_index (system_repos, i); repo = g_object_new (BZ_TYPE_REPOSITORY, "name", flatpak_remote_get_name (remote), "title", flatpak_remote_get_title (remote), "url", flatpak_remote_get_url (remote), "is-user", FALSE, NULL); g_list_store_append (repos, repo); } } if (self->user != NULL) { user_repos = flatpak_installation_list_remotes ( self->user, cancellable, &local_error); if (user_repos == NULL) SEND_AND_RETURN_ERROR ( self, TRUE, BZ_FLATPAK_ERROR_CANNOT_INITIALIZE, "Failed to enumerate remotes for user installation: %s", local_error->message); for (guint i = 0; i < user_repos->len; i++) { FlatpakRemote *remote = NULL; g_autoptr (BzRepository) repo = NULL; remote = g_ptr_array_index (user_repos, i); repo = g_object_new (BZ_TYPE_REPOSITORY, "name", flatpak_remote_get_name (remote), "title", flatpak_remote_get_title (remote), "url", flatpak_remote_get_url (remote), "is-user", TRUE, NULL); g_list_store_append (repos, repo); } } return dex_future_new_for_object (g_steal_pointer (&repos)); } static DexFuture * ensure_runtime_remote_fiber (BzFlatpakInstance *self, FlatpakInstallation *installation, const char *bundle_path, GCancellable *cancellable) { g_autoptr (GError) local_error = NULL; g_autoptr (GFile) bundle_file = NULL; g_autoptr (FlatpakBundleRef) bundle_ref = NULL; g_autofree char *runtime_repo_url = NULL; g_autoptr (SoupMessage) message = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (FlatpakRemote) remote = NULL; g_autofree char *remote_name = NULL; g_autoptr (GKeyFile) key_file = NULL; g_autofree char *gpg_key_base64 = NULL; g_autoptr (GBytes) gpg_key_bytes = NULL; bundle_file = g_file_new_for_path (bundle_path); bundle_ref = flatpak_bundle_ref_new (bundle_file, NULL); if (bundle_ref == NULL) return dex_future_new_true (); runtime_repo_url = flatpak_bundle_ref_get_runtime_repo_url (bundle_ref); if (runtime_repo_url == NULL) return dex_future_new_true (); remote_name = g_path_get_basename (runtime_repo_url); { char *dot = strrchr (remote_name, '.'); if (dot != NULL) *dot = '\0'; } { g_autoptr (FlatpakRemote) existing = NULL; existing = flatpak_installation_get_remote_by_name ( installation, remote_name, cancellable, NULL); if (existing != NULL) return dex_future_new_true (); } message = soup_message_new (SOUP_METHOD_GET, runtime_repo_url); output = g_memory_output_stream_new_resizable (); dex_await ( bz_send_with_global_http_session_then_splice_into (message, output), &local_error); if (local_error != NULL) { g_warning ("failed to fetch %s: %s", runtime_repo_url, local_error->message); return dex_future_new_true (); } bytes = g_memory_output_stream_steal_as_bytes (G_MEMORY_OUTPUT_STREAM (output)); key_file = g_key_file_new (); if (!g_key_file_load_from_bytes (key_file, bytes, G_KEY_FILE_NONE, NULL)) return dex_future_new_true (); gpg_key_base64 = g_key_file_get_string (key_file, "Flatpak Repo", "GPGKey", NULL); if (gpg_key_base64 == NULL) return dex_future_new_true (); { gsize gpg_key_len = 0; guchar *gpg_key_data = g_base64_decode (gpg_key_base64, &gpg_key_len); gpg_key_bytes = g_bytes_new_take (gpg_key_data, gpg_key_len); } remote = flatpak_remote_new_from_file (remote_name, bytes, &local_error); if (remote == NULL) { g_warning ("failed to parse flatpakrepo from %s: %s", runtime_repo_url, local_error->message); return dex_future_new_true (); } flatpak_remote_set_gpg_verify (remote, TRUE); flatpak_remote_set_gpg_key (remote, gpg_key_bytes); if (!flatpak_installation_add_remote ( installation, remote, TRUE, cancellable, &local_error)) { g_warning ("failed to add remote '%s': %s", remote_name, local_error->message); g_clear_error (&local_error); } return dex_future_new_true (); } static DexFuture * transaction_fiber (TransactionData *data) { g_autoptr (BzFlatpakInstance) self = NULL; GCancellable *cancellable = data->cancellable; GPtrArray *installations = data->installs; GPtrArray *updates = data->updates; GPtrArray *removals = data->removals; DexChannel *channel = data->channel; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autoptr (GPtrArray) transactions = NULL; g_autoptr (GPtrArray) entries = NULL; g_autoptr (GPtrArray) jobs = NULL; g_autoptr (GHashTable) errored = NULL; bz_weak_get_or_return_reject (self, data->self); transactions = g_ptr_array_new_with_free_func (g_object_unref); entries = g_ptr_array_new_with_free_func (g_object_unref); if (installations != NULL) { for (guint i = 0; i < installations->len; i++) { BzFlatpakEntry *entry = NULL; const char *bundle_path = NULL; FlatpakInstallation *installation = NULL; entry = g_ptr_array_index (installations, i); bundle_path = bz_flatpak_entry_get_bundle_path (entry); if (bundle_path == NULL) continue; installation = bz_flatpak_entry_is_user (entry) ? self->user_interactive : self->system_interactive; if (bundle_path != NULL && installation != NULL) dex_await ( ensure_runtime_remote_fiber (self, installation, bundle_path, cancellable), NULL); } for (guint i = 0; i < installations->len; i++) { BzFlatpakEntry *entry = NULL; const char *bundle_path = NULL; FlatpakRef *ref = NULL; gboolean is_user = FALSE; g_autofree char *ref_fmt = NULL; g_autoptr (FlatpakTransaction) transaction = NULL; entry = g_ptr_array_index (installations, i); bundle_path = bz_flatpak_entry_get_bundle_path (entry); ref = bz_flatpak_entry_get_ref (entry); is_user = bz_flatpak_entry_is_user (BZ_FLATPAK_ENTRY (entry)); ref_fmt = flatpak_ref_format_ref (ref); if ((is_user && self->user == NULL) || (!is_user && self->system == NULL)) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to append the update of %s to transaction " "because its installation couldn't be found", ref_fmt); } transaction = flatpak_transaction_new_for_installation ( is_user ? self->user_interactive : self->system_interactive, cancellable, &local_error); if (transaction == NULL) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to initialize potential transaction for installation: %s", local_error->message); } if (bundle_path != NULL) /* Prioritize bundle installation */ { g_autoptr (GFile) file = NULL; file = g_file_new_for_path (bundle_path); result = flatpak_transaction_add_install_bundle ( transaction, file, NULL, &local_error); } else result = flatpak_transaction_add_install ( transaction, bz_entry_get_remote_repo_name (BZ_ENTRY (entry)), ref_fmt, NULL, &local_error); if (!result) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to append the installation of %s to transaction: %s", ref_fmt, local_error->message); } g_ptr_array_add (transactions, g_steal_pointer (&transaction)); g_ptr_array_add (entries, g_object_ref (entry)); g_hash_table_replace (data->ref_to_entry_hash, g_steal_pointer (&ref_fmt), g_object_ref (entry)); } } if (updates != NULL) { g_autoptr (FlatpakTransaction) user_transaction = NULL; g_autoptr (FlatpakTransaction) sys_transaction = NULL; for (guint i = 0; i < updates->len; i++) { BzFlatpakEntry *entry = NULL; FlatpakRef *ref = NULL; gboolean is_user = FALSE; g_autofree char *ref_fmt = NULL; FlatpakInstallation *installation = NULL; g_autoptr (FlatpakInstalledRef) iref = NULL; const char *eol_rebase = NULL; FlatpakTransaction *target_transaction = NULL; entry = g_ptr_array_index (updates, i); ref = bz_flatpak_entry_get_ref (entry); is_user = bz_flatpak_entry_is_user (BZ_FLATPAK_ENTRY (entry)); ref_fmt = flatpak_ref_format_ref (ref); if ((is_user && self->user == NULL) || (!is_user && self->system == NULL)) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to append the update of %s to transaction " "because its installation couldn't be found", ref_fmt); } installation = is_user ? self->user : self->system; if (is_user && user_transaction == NULL) user_transaction = flatpak_transaction_new_for_installation ( self->user_interactive, cancellable, &local_error); else if (!is_user && sys_transaction == NULL) sys_transaction = flatpak_transaction_new_for_installation ( self->system_interactive, cancellable, &local_error); if ((is_user && user_transaction == NULL) || (!is_user && sys_transaction == NULL)) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to initialize potential transaction for installation: %s", local_error->message); } /* Put updates in one transaction to prevent dependency race-conditions, since the update list is most likely coming from this instance */ target_transaction = is_user ? user_transaction : sys_transaction; iref = flatpak_installation_get_installed_ref ( installation, flatpak_ref_get_kind (ref), flatpak_ref_get_name (ref), flatpak_ref_get_arch (ref), flatpak_ref_get_branch (ref), cancellable, NULL); if (iref != NULL) eol_rebase = flatpak_installed_ref_get_eol_rebase (iref); if (eol_rebase != NULL) { const char *origin = NULL; static const char *empty_previous_ids[] = { NULL }; origin = flatpak_installed_ref_get_origin (iref); g_debug ("%s is end-of-life, rebasing to %s instead of updating", ref_fmt, eol_rebase); g_hash_table_add (data->rebased_refs, g_strdup (ref_fmt)); #if FLATPAK_CHECK_VERSION(1, 15, 6) result = flatpak_transaction_add_rebase_and_uninstall ( target_transaction, origin, eol_rebase, ref_fmt, NULL, empty_previous_ids, &local_error); #else result = flatpak_transaction_add_rebase ( target_transaction, origin, eol_rebase, NULL, NULL, &local_error) && flatpak_transaction_add_uninstall ( target_transaction, ref_fmt, &local_error); #endif } else result = flatpak_transaction_add_update ( target_transaction, ref_fmt, NULL, NULL, &local_error); if (!result) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to append the update of %s to transaction: %s", ref_fmt, local_error->message); } g_ptr_array_add (entries, g_object_ref (entry)); g_hash_table_replace (data->ref_to_entry_hash, g_steal_pointer (&ref_fmt), g_object_ref (entry)); } if (user_transaction != NULL) g_ptr_array_add (transactions, g_steal_pointer (&user_transaction)); if (sys_transaction != NULL) g_ptr_array_add (transactions, g_steal_pointer (&sys_transaction)); } if (removals != NULL) { for (guint i = 0; i < removals->len; i++) { BzFlatpakEntry *entry = NULL; FlatpakRef *ref = NULL; gboolean is_user = FALSE; g_autofree char *ref_fmt = NULL; g_autoptr (FlatpakTransaction) transaction = NULL; entry = g_ptr_array_index (removals, i); ref = bz_flatpak_entry_get_ref (entry); is_user = bz_flatpak_entry_is_user (BZ_FLATPAK_ENTRY (entry)); ref_fmt = flatpak_ref_format_ref (ref); if ((is_user && self->user == NULL) || (!is_user && self->system == NULL)) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to append the removal of %s to transaction " "because its installation couldn't be found", ref_fmt); } transaction = flatpak_transaction_new_for_installation ( is_user ? self->user_interactive : self->system_interactive, cancellable, &local_error); if (transaction == NULL) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to initialize potential transaction for installation: %s", local_error->message); } result = flatpak_transaction_add_uninstall ( transaction, ref_fmt, &local_error); if (!result) { dex_channel_close_send (channel); return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to append the removal of %s to transaction: %s", ref_fmt, local_error->message); } g_ptr_array_add (transactions, g_steal_pointer (&transaction)); g_ptr_array_add (entries, g_object_ref (entry)); g_hash_table_replace (data->ref_to_entry_hash, g_steal_pointer (&ref_fmt), g_object_ref (entry)); } } g_mutex_lock (&self->transactions_mutex); #define REGISTER_CANCELLABLES(entry) \ G_STMT_START \ { \ GPtrArray *cancellables = NULL; \ \ cancellables = g_hash_table_lookup (self->ongoing_cancellables, entry); \ if (cancellables != NULL) \ g_ptr_array_add (cancellables, g_object_ref (cancellable)); \ else \ { \ cancellables = g_ptr_array_new_with_free_func (g_object_unref); \ g_ptr_array_add (cancellables, g_object_ref (cancellable)); \ g_hash_table_replace (self->ongoing_cancellables, g_object_ref (entry), cancellables); \ } \ } \ G_STMT_END if (installations != NULL) { for (guint i = 0; i < installations->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (installations, i); REGISTER_CANCELLABLES (entry); } } if (removals != NULL) { for (guint i = 0; i < removals->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (removals, i); REGISTER_CANCELLABLES (entry); } } if (updates != NULL) { for (guint i = 0; i < updates->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (updates, i); REGISTER_CANCELLABLES (entry); } } #undef REGISTER_CANCELLABLES g_mutex_unlock (&self->transactions_mutex); jobs = g_ptr_array_new_with_free_func (dex_unref); for (guint i = 0; i < transactions->len; i++) { FlatpakTransaction *transaction = NULL; g_autoptr (TransactionJobData) job_data = NULL; transaction = g_ptr_array_index (transactions, i); job_data = transaction_job_data_new (); job_data->parent = transaction_data_ref (data); job_data->transaction = g_object_ref (transaction); g_ptr_array_add ( jobs, dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) transaction_job_fiber, transaction_job_data_ref (job_data), transaction_job_data_unref)); } dex_await (dex_future_all_racev ( (DexFuture *const *) jobs->pdata, jobs->len), NULL); g_mutex_lock (&self->transactions_mutex); #define UNREGISTER_CANCELLABLES(entry) \ G_STMT_START \ { \ GPtrArray *cancellables = NULL; \ \ cancellables = g_hash_table_lookup (self->ongoing_cancellables, entry); \ if (cancellables != NULL) \ { \ g_ptr_array_remove (cancellables, cancellable); \ if (cancellables->len == 0) \ g_hash_table_remove (self->ongoing_cancellables, entry); \ } \ } \ G_STMT_END if (installations != NULL) { for (guint i = 0; i < installations->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (installations, i); UNREGISTER_CANCELLABLES (entry); } } if (removals != NULL) { for (guint i = 0; i < removals->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (removals, i); UNREGISTER_CANCELLABLES (entry); } } if (updates != NULL) { for (guint i = 0; i < updates->len; i++) { BzEntry *entry = NULL; entry = g_ptr_array_index (updates, i); UNREGISTER_CANCELLABLES (entry); } } #undef UNREGISTER_CANCELLABLES g_mutex_unlock (&self->transactions_mutex); if (data->send_futures->len > 0) dex_await (dex_future_allv ( (DexFuture *const *) data->send_futures->pdata, data->send_futures->len), NULL); errored = g_hash_table_new_full ( g_direct_hash, g_direct_equal, g_object_unref, (GDestroyNotify) g_error_free); for (guint i = 0; i < jobs->len; i++) { DexFuture *job = NULL; BzEntry *entry = NULL; job = g_ptr_array_index (jobs, i); entry = g_ptr_array_index (entries, i); dex_future_get_value (job, &local_error); if (local_error != NULL) g_hash_table_replace ( errored, g_object_ref (entry), g_steal_pointer (&local_error)); } dex_channel_close_send (channel); return dex_future_new_take_boxed (G_TYPE_HASH_TABLE, g_steal_pointer (&errored)); } static DexFuture * transaction_job_fiber (TransactionJobData *data) { TransactionData *parent = data->parent; FlatpakTransaction *transaction = data->transaction; GCancellable *cancellable = parent->cancellable; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_signal_connect (transaction, "new-operation", G_CALLBACK (transaction_new_operation), parent); g_signal_connect (transaction, "operation-done", G_CALLBACK (transaction_operation_done), parent); g_signal_connect (transaction, "operation-error", G_CALLBACK (transaction_operation_error), parent); g_signal_connect (transaction, "ready", G_CALLBACK (transaction_ready), parent); result = flatpak_transaction_run (transaction, cancellable, &local_error); if (!result) return dex_future_new_reject ( BZ_FLATPAK_ERROR, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, "Failed to run flatpak transaction on installation: %s", local_error->message); return dex_future_new_true (); } static void transaction_new_operation (FlatpakTransaction *transaction, FlatpakTransactionOperation *operation, FlatpakTransactionProgress *progress, TransactionData *data) { g_autoptr (BzFlatpakInstance) self = NULL; FlatpakTransactionOperationType kind = 0; BzFlatpakEntry *entry = NULL; g_autoptr (BzBackendTransactionOpPayload) payload = NULL; g_autoptr (TransactionOperationData) operation_data = NULL; bz_weak_get_or_return (self, data->self); kind = flatpak_transaction_operation_get_operation_type (operation); if (kind == FLATPAK_TRANSACTION_OPERATION_INSTALL || kind == FLATPAK_TRANSACTION_OPERATION_UPDATE || kind == FLATPAK_TRANSACTION_OPERATION_INSTALL_BUNDLE || kind == FLATPAK_TRANSACTION_OPERATION_UNINSTALL) { g_mutex_lock (&self->mute_mutex); if (self->user_interactive == flatpak_transaction_get_installation (transaction)) self->user_mute++; else self->system_mute++; g_mutex_unlock (&self->mute_mutex); } if (data->channel == NULL) return; flatpak_transaction_progress_set_update_frequency (progress, 100); entry = find_entry_from_operation (data, operation); payload = bz_backend_transaction_op_payload_new (); bz_backend_transaction_op_payload_set_entry ( payload, BZ_ENTRY (entry)); bz_backend_transaction_op_payload_set_name ( payload, flatpak_transaction_operation_get_ref (operation)); bz_backend_transaction_op_payload_set_download_size ( payload, flatpak_transaction_operation_get_download_size (operation)); bz_backend_transaction_op_payload_set_installed_size ( payload, flatpak_transaction_operation_get_installed_size (operation)); g_mutex_lock (&data->mutex); g_ptr_array_add ( data->send_futures, dex_channel_send ( data->channel, dex_future_new_for_object (payload))); data->unidentified_op_cnt--; g_mutex_unlock (&data->mutex); g_object_set_data_full ( G_OBJECT (operation), "payload", g_object_ref (payload), g_object_unref); operation_data = transaction_operation_data_new (); operation_data->parent = transaction_data_ref (data); operation_data->entry = bz_object_maybe_ref (entry); operation_data->op = g_object_ref (payload); g_signal_connect_data ( progress, "changed", G_CALLBACK (transaction_progress_changed), transaction_operation_data_ref (operation_data), transaction_operation_data_unref_closure, G_CONNECT_DEFAULT); } static void transaction_operation_done (FlatpakTransaction *transaction, FlatpakTransactionOperation *operation, gchar *commit, gint result, TransactionData *data) { g_autoptr (GMutexLocker) locker = NULL; g_autoptr (BzFlatpakInstance) self = NULL; g_autoptr (BzBackendTransactionOpPayload) payload = NULL; g_autoptr (TransactionOperationDoneData) future_data = NULL; g_autoptr (DexFuture) future = NULL; bz_weak_get_or_return (self, data->self); locker = g_mutex_locker_new (&data->mutex); g_hash_table_replace ( data->op_to_progress_hash, g_object_ref (operation), GINT_TO_POINTER (100)); payload = g_object_steal_data (G_OBJECT (operation), "payload"); if (payload != NULL) g_ptr_array_add ( data->send_futures, dex_channel_send ( data->channel, dex_future_new_for_object (payload))); if (result == FLATPAK_TRANSACTION_RESULT_NO_CHANGE) return; future_data = transaction_operation_done_data_new (); future_data->parent = transaction_data_ref (data); future_data->transaction = g_object_ref (transaction); future_data->operation = g_object_ref (operation); future = dex_scheduler_spawn ( self->scheduler, bz_get_dex_stack_size (), (DexFiberFunc) transaction_operation_done_fiber, transaction_operation_done_data_ref (future_data), transaction_operation_done_data_unref); g_ptr_array_add (data->send_futures, g_steal_pointer (&future)); } static gboolean transaction_operation_error (FlatpakTransaction *object, FlatpakTransactionOperation *operation, GError *error, gint details, TransactionData *data) { g_autoptr (BzBackendTransactionOpPayload) payload = NULL; /* `FLATPAK_TRANSACTION_ERROR_DETAILS_NON_FATAL` is the only possible value of `details` */ g_warning ("Transaction failed to complete: %s", error->message); g_mutex_lock (&data->mutex); g_hash_table_replace ( data->op_to_progress_hash, g_object_ref (operation), GINT_TO_POINTER (100)); payload = g_object_steal_data (G_OBJECT (operation), "payload"); if (payload != NULL) { g_object_set_data_full ( G_OBJECT (payload), "error", g_strdup (error->message), g_free); g_ptr_array_add ( data->send_futures, dex_channel_send ( data->channel, dex_future_new_for_object (payload))); } g_mutex_unlock (&data->mutex); /* Don't recover for now */ return FALSE; } static gboolean transaction_ready (FlatpakTransaction *object, TransactionData *data) { g_autolist (GObject) operations = NULL; operations = flatpak_transaction_get_operations (object); g_mutex_lock (&data->mutex); data->unidentified_op_cnt += g_list_length (operations); g_mutex_unlock (&data->mutex); return TRUE; } static BzFlatpakEntry * find_entry_from_operation (TransactionData *data, FlatpakTransactionOperation *operation) { GPtrArray *related_to_ops = NULL; const char *ref_fmt = NULL; BzFlatpakEntry *entry = NULL; related_to_ops = flatpak_transaction_operation_get_related_to_ops (operation); ref_fmt = flatpak_transaction_operation_get_ref (operation); entry = g_hash_table_lookup (data->ref_to_entry_hash, ref_fmt); if (entry != NULL) return entry; if (related_to_ops != NULL) { for (guint i = 0; i < related_to_ops->len; i++) { FlatpakTransactionOperation *related_op = NULL; related_op = g_ptr_array_index (related_to_ops, i); entry = find_entry_from_operation (data, related_op); if (entry != NULL) break; } } return entry; } static void transaction_progress_changed (FlatpakTransactionProgress *progress, TransactionOperationData *data) { TransactionData *parent = data->parent; g_autoptr (BzBackendTransactionOpProgressPayload) payload = NULL; int int_progress = 0; double double_progress = 0.0; GHashTableIter iter = { 0 }; int progress_sum = 0; guint n_ops = 0; double total_progress = 0.0; g_mutex_lock (&parent->mutex); int_progress = flatpak_transaction_progress_get_progress (progress); double_progress = (double) flatpak_transaction_progress_get_progress (progress) / 100.0; g_hash_table_replace ( parent->op_to_progress_hash, g_object_ref (data->op), GINT_TO_POINTER (int_progress)); g_hash_table_iter_init (&iter, parent->op_to_progress_hash); for (;;) { gpointer key = NULL; gpointer val = NULL; if (!g_hash_table_iter_next (&iter, &key, &val)) break; progress_sum += GPOINTER_TO_INT (val); n_ops++; } total_progress = MIN ((double) progress_sum / (double) ((n_ops + parent->unidentified_op_cnt) * 100), 1.0); payload = bz_backend_transaction_op_progress_payload_new (); bz_backend_transaction_op_progress_payload_set_op ( payload, data->op); bz_backend_transaction_op_progress_payload_set_status ( payload, flatpak_transaction_progress_get_status (progress)); bz_backend_transaction_op_progress_payload_set_is_estimating ( payload, flatpak_transaction_progress_get_is_estimating (progress)); bz_backend_transaction_op_progress_payload_set_progress ( payload, double_progress); bz_backend_transaction_op_progress_payload_set_total_progress ( payload, total_progress); bz_backend_transaction_op_progress_payload_set_bytes_transferred ( payload, flatpak_transaction_progress_get_bytes_transferred (progress)); bz_backend_transaction_op_progress_payload_set_start_time ( payload, flatpak_transaction_progress_get_start_time (progress)); g_ptr_array_add ( data->parent->send_futures, dex_channel_send ( data->parent->channel, dex_future_new_for_object (payload))); g_mutex_unlock (&parent->mutex); } static DexFuture * transaction_operation_done_fiber (TransactionOperationDoneData *data) { g_autoptr (BzFlatpakInstance) self = NULL; FlatpakTransaction *transaction = data->transaction; FlatpakTransactionOperation *operation = data->operation; g_autoptr (GError) local_error = NULL; FlatpakTransactionOperationType op_type = 0; BzBackendNotificationKind notif_kind = 0; const char *origin = NULL; const char *ref = NULL; gboolean is_user = FALSE; g_autofree char *unique_id = NULL; const char *version = NULL; gboolean was_rebased = FALSE; FlatpakInstallation *installation = NULL; g_autoptr (FlatpakInstalledRef) iref = NULL; g_autoptr (FlatpakRef) parsed_ref = NULL; bz_weak_get_or_return_reject (self, data->parent->self); op_type = flatpak_transaction_operation_get_operation_type (operation); switch (op_type) { case FLATPAK_TRANSACTION_OPERATION_INSTALL: case FLATPAK_TRANSACTION_OPERATION_INSTALL_BUNDLE: notif_kind = BZ_BACKEND_NOTIFICATION_KIND_INSTALL_DONE; break; case FLATPAK_TRANSACTION_OPERATION_UPDATE: notif_kind = BZ_BACKEND_NOTIFICATION_KIND_UPDATE_DONE; break; case FLATPAK_TRANSACTION_OPERATION_UNINSTALL: notif_kind = BZ_BACKEND_NOTIFICATION_KIND_REMOVE_DONE; break; case FLATPAK_TRANSACTION_OPERATION_LAST_TYPE: default: g_assert_not_reached (); } installation = flatpak_transaction_get_installation (transaction); origin = flatpak_transaction_operation_get_remote (operation); ref = flatpak_transaction_operation_get_ref (operation); is_user = installation == self->user_interactive; unique_id = bz_flatpak_ref_parts_format_unique (origin, ref, is_user); was_rebased = g_hash_table_contains (data->parent->rebased_refs, ref); if (op_type == FLATPAK_TRANSACTION_OPERATION_INSTALL_BUNDLE) { g_autoptr (FlatpakRemote) remote = NULL; { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_INVALIDATE_REMOTES); send_notif_all (self, notif, TRUE); } remote = flatpak_installation_get_remote_by_name ( installation, origin, NULL, NULL); if (remote != NULL) { { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_START); bz_backend_notification_set_remote_name (notif, origin); send_notif_all (self, notif, TRUE); } dex_await ( retrieve_refs_for_noenumerable_remote ( self, NULL, origin, installation, remote), NULL); { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_REMOTE_SYNC_FINISH); bz_backend_notification_set_remote_name (notif, origin); send_notif_all (self, notif, TRUE); } } } if (notif_kind == BZ_BACKEND_NOTIFICATION_KIND_INSTALL_DONE || notif_kind == BZ_BACKEND_NOTIFICATION_KIND_UPDATE_DONE) { parsed_ref = flatpak_ref_parse (ref, &local_error); if (parsed_ref != NULL) { iref = flatpak_installation_get_installed_ref ( installation, flatpak_ref_get_kind (parsed_ref), flatpak_ref_get_name (parsed_ref), flatpak_ref_get_arch (parsed_ref), flatpak_ref_get_branch (parsed_ref), NULL, &local_error); if (iref != NULL) version = flatpak_installed_ref_get_appdata_version (iref); else if (local_error != NULL) { g_warning ("Failed to get installed ref for version: %s", local_error->message); g_clear_error (&local_error); } } else if (local_error != NULL) { g_warning ("Failed to parse ref for version: %s", local_error->message); g_clear_error (&local_error); } } { g_autoptr (BzBackendNotification) notif = NULL; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, notif_kind); bz_backend_notification_set_unique_id (notif, unique_id); bz_backend_notification_set_was_rebased (notif, was_rebased); if (version != NULL && *version != '\0') bz_backend_notification_set_version (notif, version); send_notif_all (self, notif, TRUE); } return dex_future_new_true (); } static void installation_event (BzFlatpakInstance *self, GFile *file, GFile *other_file, GFileMonitorEvent event_type, GFileMonitor *monitor) { gboolean emit = FALSE; g_autoptr (BzBackendNotification) notif = NULL; g_mutex_lock (&self->mute_mutex); if (monitor == self->user_events) { if (self->user_mute > 0) self->user_mute--; else emit = TRUE; } else { if (self->system_mute > 0) self->system_mute--; else emit = TRUE; } g_mutex_unlock (&self->mute_mutex); if (!emit) return; notif = bz_backend_notification_new (); bz_backend_notification_set_kind (notif, BZ_BACKEND_NOTIFICATION_KIND_EXTERNAL_CHANGE); send_notif_all (self, notif, TRUE); } static void send_notif (BzFlatpakInstance *self, DexChannel *channel, BzBackendNotification *notif, gboolean lock) { g_autoptr (GMutexLocker) locker = NULL; if (lock) locker = g_mutex_locker_new (&self->notif_mutex); if (self->notif_send == NULL || !dex_future_is_pending (self->notif_send)) { dex_clear (&self->notif_send); self->notif_send = dex_channel_send ( channel, dex_future_new_for_object (notif)); } else { g_autoptr (WaitNotifData) data = NULL; data = wait_notif_data_new (); g_weak_ref_init (&data->self, self); data->channel = dex_ref (channel); data->notif = g_object_ref (notif); self->notif_send = dex_future_finally ( g_steal_pointer (&self->notif_send), (DexFutureCallback) wait_notif_finally, wait_notif_data_ref (data), wait_notif_data_unref); } } static void send_notif_all (BzFlatpakInstance *self, BzBackendNotification *notif, gboolean lock) { g_autoptr (GMutexLocker) locker = NULL; if (lock) locker = g_mutex_locker_new (&self->notif_mutex); for (guint i = 0; i < self->notif_channels->len;) { DexChannel *channel = NULL; channel = g_ptr_array_index (self->notif_channels, i); if (dex_channel_can_send (channel)) { send_notif (self, channel, notif, FALSE); i++; } else g_ptr_array_remove_index_fast (self->notif_channels, i); } } static DexFuture * wait_notif_finally (DexFuture *future, WaitNotifData *data) { g_autoptr (BzFlatpakInstance) self = NULL; g_autoptr (GMutexLocker) locker = NULL; bz_weak_get_or_return_reject (self, &data->self); locker = g_mutex_locker_new (&self->notif_mutex); if (future == self->notif_send) dex_clear (&self->notif_send); send_notif (self, data->channel, data->notif, FALSE); return dex_future_new_true (); } static gint cmp_rref (FlatpakRemoteRef *a, FlatpakRemoteRef *b, GHashTable *hash) { FlatpakRefKind a_fkind = 0; FlatpakRefKind b_fkind = 0; AsComponent *a_comp = NULL; AsComponent *b_comp = NULL; AsComponentKind a_kind = AS_COMPONENT_KIND_UNKNOWN; AsComponentKind b_kind = AS_COMPONENT_KIND_UNKNOWN; a_fkind = flatpak_ref_get_kind (FLATPAK_REF (a)); b_fkind = flatpak_ref_get_kind (FLATPAK_REF (b)); a_comp = g_hash_table_lookup (hash, flatpak_ref_get_name (FLATPAK_REF (a))); b_comp = g_hash_table_lookup (hash, flatpak_ref_get_name (FLATPAK_REF (b))); if (a_comp == NULL) return a_fkind == FLATPAK_REF_KIND_RUNTIME ? -1 : 1; if (b_comp == NULL) return b_fkind == FLATPAK_REF_KIND_RUNTIME ? 1 : -1; a_kind = as_component_get_kind (a_comp); b_kind = as_component_get_kind (b_comp); if (a_kind == AS_COMPONENT_KIND_RUNTIME) return -1; if (b_kind == AS_COMPONENT_KIND_RUNTIME) return 1; if (a_kind == AS_COMPONENT_KIND_ADDON) return -1; if (b_kind == AS_COMPONENT_KIND_ADDON) return 1; if (a_kind == AS_COMPONENT_KIND_DESKTOP_APP || a_kind == AS_COMPONENT_KIND_CONSOLE_APP || a_kind == AS_COMPONENT_KIND_WEB_APP) return 1; if (b_kind == AS_COMPONENT_KIND_DESKTOP_APP || b_kind == AS_COMPONENT_KIND_CONSOLE_APP || b_kind == AS_COMPONENT_KIND_WEB_APP) return -1; return 0; } static AsComponent * parse_component_for_node (XbNode *node, GError **error) { g_autofree char *component_xml = NULL; g_autoptr (AsMetadata) metadata = NULL; AsComponent *component = NULL; gboolean result = FALSE; component_xml = xb_node_export (node, XB_NODE_EXPORT_FLAG_NONE, error); if (component_xml == NULL) return NULL; metadata = as_metadata_new (); result = as_metadata_parse_data ( metadata, component_xml, -1, AS_FORMAT_KIND_XML, error); if (!result) return NULL; component = as_metadata_get_component (metadata); return bz_object_maybe_ref (component); } static GBytes * decompress_appstream_gz (GBytes *appstream_gz, GCancellable *cancellable, GError **error) { g_autoptr (GZlibDecompressor) decompressor = NULL; g_autoptr (GInputStream) stream_gz = NULL; g_autoptr (GInputStream) stream_data = NULL; g_autoptr (GBytes) appstream = NULL; decompressor = g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP); stream_gz = g_memory_input_stream_new_from_bytes (appstream_gz); stream_data = g_converter_input_stream_new (stream_gz, G_CONVERTER (decompressor)); appstream = g_input_stream_read_bytes ( stream_data, 0x100000, /* 1MB */ cancellable, error); if (appstream == NULL) return NULL; return g_steal_pointer (&appstream); } static XbSilo * build_silo (XbBuilderSource *source, GCancellable *cancellable, GError **error) { g_autoptr (XbBuilder) builder = NULL; const gchar *const *locales = NULL; g_autoptr (XbSilo) silo = NULL; builder = xb_builder_new (); locales = g_get_language_names (); for (guint i = 0; locales[i] != NULL; i++) xb_builder_add_locale (builder, locales[i]); xb_builder_import_source (builder, source); silo = xb_builder_compile ( builder, XB_BUILDER_COMPILE_FLAG_NATIVE_LANGS, cancellable, error); return g_steal_pointer (&silo); } static AsComponent * extract_first_component_for_silo (XbSilo *silo, GError **error) { g_autoptr (XbNode) root = NULL; g_autoptr (GPtrArray) children = NULL; root = xb_silo_get_root (silo); children = xb_node_get_children (root); if (children == NULL || children->len == 0) return NULL; return parse_component_for_node ( g_ptr_array_index (children, 0), error); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-instance.h�������������������������������������������������0000664�0000000�0000000�00000003310�15234476640�0022060�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flatpak-instance.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> G_BEGIN_DECLS #define BZ_FLATPAK_ERROR (bz_flatpak_error_quark ()) GQuark bz_flatpak_error_quark (void); typedef enum { BZ_FLATPAK_ERROR_CANNOT_INITIALIZE = 0, BZ_FLATPAK_ERROR_LOCAL_SYNCHRONIZATION_FAILURE, BZ_FLATPAK_ERROR_REMOTE_SYNCHRONIZATION_FAILURE, BZ_FLATPAK_ERROR_TRANSACTION_FAILURE, BZ_FLATPAK_ERROR_IO_MISBEHAVIOR, BZ_FLATPAK_ERROR_APPSTREAM_FAILURE, BZ_FLATPAK_ERROR_GLYCIN_FAILURE, } BzFlatpakError; #define BZ_TYPE_FLATPAK_INSTANCE (bz_flatpak_instance_get_type ()) G_DECLARE_FINAL_TYPE (BzFlatpakInstance, bz_flatpak_instance, BZ, FLATPAK_INSTANCE, GObject) DexFuture * bz_flatpak_instance_new (void); DexFuture * bz_flatpak_instance_has_flathub (BzFlatpakInstance *self, GCancellable *cancellable); DexFuture * bz_flatpak_instance_ensure_has_flathub (BzFlatpakInstance *self, GCancellable *cancellable); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-private.h��������������������������������������������������0000664�0000000�0000000�00000003441�15234476640�0021733�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-flatpak-private.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <appstream.h> #include <flatpak.h> #include "bz-flatpak-entry.h" #include "bz-flatpak-instance.h" G_BEGIN_DECLS /* BzFlatpakInstance */ FlatpakInstallation * bz_flatpak_instance_get_system_installation (BzFlatpakInstance *self); FlatpakInstallation * bz_flatpak_instance_get_user_installation (BzFlatpakInstance *self); /* BzFlatpakEntry */ char * bz_flatpak_ref_parts_format_unique (const char *origin, const char *fmt, gboolean user); char * bz_flatpak_ref_format_unique (FlatpakRef *ref, gboolean user); BzFlatpakEntry * bz_flatpak_entry_new_for_ref (FlatpakRef *ref, FlatpakRemote *remote, gboolean user, AsComponent *component, const char *appstream_dir, GError **error); FlatpakRef * bz_flatpak_entry_get_ref (BzFlatpakEntry *self); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-flatpak-repo.txt���������������������������������������������������0000664�0000000�0000000�00000001310�15234476640�0021607�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=flatpak_repo parent-prefix=g parent-name=object author=AUTOGEN property=name char G_TYPE_STRING string property=title char G_TYPE_STRING string property=url char G_TYPE_STRING string property=homepage char G_TYPE_STRING string property=comment char G_TYPE_STRING string property=description char G_TYPE_STRING string property=icon char G_TYPE_STRING string property=gpg_key char G_TYPE_STRING string property=default_branch char G_TYPE_STRING string property=filter char G_TYPE_STRING string property=is_user gboolean G_TYPE_BOOLEAN boolean property=disabled gboolean G_TYPE_BOOLEAN boolean property=noenumerate gboolean G_TYPE_BOOLEAN boolean property=gpg_verify gboolean G_TYPE_BOOLEAN boolean ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-full-view.blp������������������������������������������������������0000664�0000000�0000000�00000105477�15234476640�0021115�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Gio 2.0; using Adw 1; template $BzFullView: Adw.Bin { child: Adw.ToolbarView { [top] Adw.HeaderBar header_bar { overflow: hidden; [title] Revealer { reveal-child: bind $is_scrolled_down(main_scroll.vadjustment as <Adjustment>.value) as <bool>; transition-type: slide_up; transition-duration: 500; overflow: visible; child: Label { label: bind template.entry-group as <$BzEntryGroup>.title; styles ["title"] }; } } content: Adw.ViewStack stack { enable-transitions: true; Adw.ViewStackPage { name: "empty"; child: Adw.StatusPage { icon-name: "sad-computer-symbolic"; title: _("No Results"); description: _("Try a different search query"); }; } Adw.ViewStackPage { name: "loading"; child: Adw.Bin {}; } Adw.ViewStackPage { name: "content"; child: Adw.BreakpointBin { width-request: 360; height-request: 100; Adw.Breakpoint { condition ("max-width: 700px") setters { context_bar.orientation: vertical; context_bar.spacing: 4; context_bar.homogeneous: false; header_box.spacing: 12; app_name_box.spacing: 0; formfactor_support_tile_wide.visible: false; formfactor_support_tile_narrow.visible: true; screenshots.compact: true; header_bar.show-title: false; link_list.dual-column: false; } } child: Adw.BreakpointBin breakpoint_bin { width-request: 360; height-request: 100; Adw.Breakpoint breakpoint { condition ("max-width: 525px") setters { top_box.margin-start: 10; top_box.margin-end: 10; bottom_box.margin-start: 10; bottom_box.margin-end: 10; bottom_box.margin-top: 5; wide_install_controls.visible: false; narrow_install_controls.visible: true; app_icon.valign: start; app_icon.pixel-size: 96; } } child: Overlay { [overlay] Box shadow_overlay { valign: start; height-request: 3; can-target: false; } child: ScrolledWindow main_scroll { child: Box main_box { orientation: vertical; vexpand: false; margin-bottom: 15; spacing: 20; Adw.Banner { title: _("This is a local preview, some details may differ from the published listing"); visible: bind $metainfo_banner_visible(template.ui-entry as <$BzResult>.object as <$BzFlatpakEntry>.remote-repo-name) as <bool>; revealed: true; button-label: _("Preview Store Appearance"); button-clicked => $preview_other_metainfo_cb(template); } Adw.Clamp { maximum-size: 910; tightening-threshold: 576; margin-top: 15; child: Box top_box { orientation: vertical; margin-start: 25; margin-end: 25; spacing: 20; Box header_box { orientation: horizontal; spacing: 20; Image app_icon { valign: center; halign: center; pixel-size: 128; paintable: bind template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; visible: bind $invert_boolean($is_null(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable) as <bool>) as <bool>; styles [ "icon-dropshadow", ] } Image fallback_icon { valign: center; halign: center; pixel-size: 128; icon-name: "application-x-executable"; visible: bind $is_null(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable) as <bool>; styles [ "icon-dropshadow", ] } Box not_icon { orientation: horizontal; baseline-position: center; halign: fill; hexpand: true; spacing: 15; Box app_name_box { orientation: vertical; valign: center; hexpand: true; spacing: 3; Label { styles [ "title-1", "app-title", ] xalign: 0.0; wrap: true; lines: 2; ellipsize: end; wrap-mode: word_char; natural-wrap-mode: word; selectable: true; label: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.title; } Box { styles [ "bz-debug", ] halign: start; orientation: horizontal; spacing: 6; visible: bind template.state as <$BzStateInfo>.debug-mode; Button { icon-name: "edit-copy-symbolic"; clicked => $copy_id_cb(template); } Label { styles [ "bz-monospace", ] selectable: true; label: bind template.entry-group as <$BzEntryGroup>.id; } Button { label: "Inspect UI Entry"; clicked => $debug_id_inspect_cb(template); } } $BzDeveloperBadge { entry: bind template.ui-entry as <$BzResult>.object as <$BzEntry>; } Box { layout-manager: Adw.WrapLayout { child-spacing: 10; line-spacing: 0; }; Button { visible: bind $invert_boolean($is_null(template.ui-entry as <$BzResult>.object as <$BzEntry>.donation-url) as <bool>) as <bool>; styles [ "small-pill", "suggested-action", "support", ] margin-top: 8; valign: start; halign: start; has-tooltip: true; tooltip-text: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.donation-url; clicked => $support_cb(template); child: Adw.ButtonContent { use-underline: true; label: _("_Support"); icon-name: "heart-filled-symbolic"; }; } $BzFavoriteButton { state: bind template.state as <$BzStateInfo>; entry: bind template.ui-entry as <$BzResult>.object as <$BzEntry>; } } } $BzInstallControls wide_install_controls { wide: true; entry-group: bind template.entry-group as <$BzEntryGroup>; state: bind template.state as <$BzStateInfo>; settings: bind template.state as <$BzStateInfo>.settings; update => $update_cb(template); } } } Box context_bar { hexpand: false; homogeneous: true; spacing: 0; orientation: horizontal; halign: fill; styles [ "app-context-bar", ] Box { homogeneous: true; $BzContextTile download_size_tile { label: bind try {$get_size_label( $is_zero(template.entry-group as <$BzEntryGroup>.removable) as <bool>, template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzFlatpakEntry>.runtime as <$BzResult>.object as <$BzEntry>.installed, template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzFlatpakEntry>.runtime as <$BzResult>.object as <$BzEntry>.size, ) as <string>, $get_size_label($is_zero(template.entry-group as <$BzEntryGroup>.removable) as <bool>,0,0) as <string>}; has-tooltip: true; tooltip-text: bind $format_size_tooltip(template.ui-entry as <$BzResult>.object as <$BzEntry>.size) as <string>; lozenge-style: "grey"; sensitive: bind $invert_boolean($is_zero($get_size_type(template.ui-entry as <$BzResult>.object as <$BzEntry>, $is_zero(template.entry-group as <$BzEntryGroup>.removable) as <bool>) as <uint64>) as <bool>) as <bool>; clicked => $size_cb(template); lozenge-child: Label { justify: center; label: bind $format_size($get_size_type(template.ui-entry as <$BzResult>.object as <$BzEntry>, $is_zero(template.entry-group as <$BzEntryGroup>.removable) as <bool>) as <uint64>) as <string>; lines: 3; ellipsize: end; halign: center; wrap: true; xalign: 0.5; use-markup: true; }; } $BzContextTile license_tile { label: bind $get_license_label(template.ui-entry as <$BzResult>.object as <$BzEntry>) as <string>; lozenge-style: bind $bool_to_string(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-floss, "grey", "warning") as <string>; clicked => $license_cb(template); has-tooltip: true; tooltip-text: bind $format_license_tooltip(template.ui-entry as <$BzResult>.object as <$BzEntry>) as <string>; lozenge-child: Box { spacing: 6; Image { icon-name: bind $get_license_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-floss, 0) as <string>; } Image { icon-name: bind $get_license_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-floss, 1) as <string>; } }; } $BzContextTile { clicked => $safety_cb(template); label: bind $get_safety_rating_label(template.ui-entry as <$BzResult>.object as <$BzEntry>) as <string>; lozenge-style: bind $get_safety_rating_style(template.ui-entry as <$BzResult>.object as <$BzEntry>) as <string>; lozenge-child: Box { spacing: 4; Image { icon-name: bind $get_safety_rating_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>,0) as <string>; visible: bind $invert_boolean($is_empty_string($get_safety_rating_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>,0) as <string>) as <bool>) as <bool>; } Image { icon-name: bind $get_safety_rating_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>,1) as <string>; visible: bind $invert_boolean($is_empty_string($get_safety_rating_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>,1) as <string>) as <bool>) as <bool>; } Image { icon-name: bind $get_safety_rating_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>,2) as <string>; visible: bind $invert_boolean($is_empty_string($get_safety_rating_icon(template.ui-entry as <$BzResult>.object as <$BzEntry>,2) as <string>) as <bool>) as <bool>; } }; } } Box { homogeneous: true; $BzContextTile formfactor_support_tile_wide { label: bind $get_formfactor_label(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly) as <string>; has-tooltip: true; tooltip-text: bind $get_formfactor_tooltip(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly) as <string>; clicked => $formfactor_cb(template); lozenge-style: "grey"; lozenge-child: Box { Image { visible: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly as <bool>; icon-name: "device-support-adaptive-symbolic"; pixel-size: 56; styles [ "wide-image", ] } Image { visible: bind $invert_boolean(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly) as <bool>; icon-name: "device-support-desktop-symbolic"; } }; } $BzContextTile formfactor_support_tile_narrow { label: bind $get_formfactor_label(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly) as <string>; has-tooltip: true; tooltip-text: bind $get_formfactor_tooltip(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly) as <string>; clicked => $formfactor_cb(template); lozenge-style: bind $bool_to_string(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly, "grey", "error") as <string>; visible: false; lozenge-child: Box { Image { visible: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly as <bool>; icon-name: "device-support-adaptive-symbolic"; pixel-size: 56; styles [ "wide-image", ] } Image { visible: bind $invert_boolean(template.ui-entry as <$BzResult>.object as <$BzEntry>.is-mobile-friendly) as <bool>; icon-name: "device-support-desktop-symbolic"; } }; } $BzContextTile { clicked => $age_rating_cb(template); has-tooltip: true; tooltip-text: bind $get_age_rating_tooltip(template.ui-entry as <$BzResult>.object as <$BzEntry>.content-rating) as <string>; label: bind $get_age_rating_label(template.ui-entry as <$BzResult>.object as <$BzEntry>.content-rating) as <string>; lozenge-style: bind $get_age_rating_style(template.ui-entry as <$BzResult>.object as <$BzEntry>.content-rating) as <string>; lozenge-child: Label { label: bind $format_age_rating(template.ui-entry as <$BzResult>.object as <$BzEntry>.content-rating) as <string>; hexpand: true; }; } $BzContextTile { can-target: bind $invert_boolean($is_null(template.ui-entry) as <bool>) as <bool>; sensitive: bind $invert_boolean($is_null(template.ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <bool>) as <bool>; clicked => $dl_stats_cb(template); label: _("Downloads/Month"); has-tooltip: bind $invert_boolean($is_null(template.ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <bool>) as <bool>; tooltip-text: bind $format_recent_downloads_tooltip(template.ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <string>; lozenge-style: "grey"; lozenge-child: Label { justify: center; label: bind $format_recent_downloads(template.ui-entry as <$BzResult>.object as <$BzEntry>.recent-downloads) as <string>; halign: center; use-markup: true; }; } } $BzInstallControls narrow_install_controls { wide: false; visible: false; margin-top: 6; entry-group: bind template.entry-group as <$BzEntryGroup>; state: bind template.state as <$BzStateInfo>; settings: bind template.state as <$BzStateInfo>.settings; update => $update_cb(template); } } Box { visible: bind $invert_boolean($is_null(template.entry-group as <$BzEntryGroup>.eol) as <bool>) as <bool>; orientation: vertical; spacing: 8; styles [ "card", "colored", "warning", ] Label { label: _("Stopped Receiving Core Updates"); margin-top: 8; margin-start: 8; margin-end: 8; wrap: true; wrap-mode: word_char; justify: center; styles [ "title-4", ] } Label { label: _("This app uses a runtime that no longer receives updates or security fixes. It may become unsafe to use."); margin-bottom: 8; margin-start: 8; margin-end: 8; wrap: true; wrap-mode: word_char; justify: center; } } }; } $BzScreenshotsCarousel screenshots { vexpand: true; hexpand: true; light-accent-color: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.light-accent-color; dark-accent-color: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.dark-accent-color; model: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.screenshot-paintables; captions: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.screenshot-captions; } Adw.Clamp { maximum-size: 910; tightening-threshold: 576; child: Box { orientation: vertical; Box bottom_box { orientation: vertical; valign: start; margin-start: 25; margin-end: 25; margin-bottom: 20; margin-top: 10; spacing: 15; Revealer { transition-type: slide_down; reveal-child: bind $logical_and( $logical_and($invert_boolean($is_zero(template.entry-group as <$BzEntryGroup>.user-data-size) as <bool>) as <bool>,$is_zero(template.entry-group as <$BzEntryGroup>.removable) as <bool>) as <bool>, $invert_boolean($is_zero(template.entry-group as <$BzEntryGroup>.installable-and-available) as <bool>) as <bool> ) as <bool>; visible: bind $invert_boolean($logical_and($is_zero(template.entry-group as <$BzEntryGroup>.removable) as <bool>, $is_zero(template.entry-group as <$BzEntryGroup>.installable) as <bool>) as <bool>) as <bool>; child: Box { height-request: 50; margin-bottom: 10; spacing: 12; styles [ "card", "colored", "accent", ] Label { halign: start; valign: center; xalign: 0; hexpand: true; margin-start: 12; margin-top: 12; margin-bottom: 12; label: bind $format_leftover_label(template.ui-entry as <$BzResult>.object as <$BzEntry>.title, template.entry-group as <$BzEntryGroup>.user-data-size) as <string>; use-markup: true; wrap: true; wrap-mode: word_char; justify: left; } Button { valign: center; margin-end: 8; clicked => $delete_user_data_cb(template); child: Adw.ButtonContent { icon-name: "user-trash-symbolic"; label: _("Trash Data"); }; } }; } Box { spacing: 10; orientation: vertical; Label { styles [ "title-2", ] valign: start; xalign: 0; wrap: true; wrap-mode: word_char; selectable: true; label: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.description; } $BzFadingClamp fading_clamp { max-height: bind $get_description_max_height(description_toggle.active) as <int>; min-max-height: 170; child: $BzAppstreamDescriptionRender { appstream-description: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.long-description; }; } } ToggleButton description_toggle { styles [ "circular", ] visible: bind fading_clamp.will-change; halign: center; child: Label { label: bind $get_description_toggle_text(description_toggle.active) as <string>; margin-start: 16; margin-end: 16; }; } $BzReleasesList releases_list { version-history: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.version-history; installed-versions: bind template.entry-group as <$BzEntryGroup>.installed-versions; } Box { orientation: vertical; spacing: bind $choose_int(addons_more_btn.visible, 15, 3) as <int>; Box { orientation: vertical; visible: bind $invert_boolean($is_zero(addon_model.n-items) as <int>) as <bool>; Label { styles ["heading"] halign: start; label: _("Add-ons"); margin-top: 5; margin-start: 3; } ListView { styles [ "navigation-sidebar", "installed-list-view", "full-view-addons" ] overflow: visible; model: NoSelection addon_model { model: bind $get_addon_groups(template.entry-group); }; factory: BuilderListItemFactory { template ListItem { activatable: false; selectable: false; focusable: false; child: $BzAddonTile { group: bind template.item as <$BzEntryGroup>; activated => $addon_tile_activated_cb(); }; } }; } Adw.PreferencesGroup addons_more_btn { visible: bind $should_show_addon_overflow(template.entry-group); Adw.ButtonRow { title: _("More Add-Ons"); end-icon-name: "go-next-symbolic"; activated => $install_addons_cb(template); } } } Box { orientation: vertical; Label { halign: start; label: _("Links"); margin-top: 5; margin-bottom: 8; margin-start: 3; visible: bind $logical_and( $invert_boolean($is_empty(template.ui-entry as <$BzResult>.object as <$BzEntry>.share-urls) as <bool>) as <bool>, $invert_boolean($is_zero(addon_model.n-items) as <int>) as <bool> ) as <bool>; styles [ "heading", ] } $BzShareList link_list { urls: bind template.ui-entry as <$BzResult>.object as <$BzEntry>.share-urls; dual-column: true; } } } Box { orientation: vertical; visible: bind $invert_boolean($is_zero(similar_apps_model.n-items) as <int>) as <bool>; Label { styles [ "heading", "h4", ] label: _("Similar Apps"); xalign: 0; wrap: true; wrap-mode: word_char; margin-top: 5; margin-bottom: 8; margin-start: 3; } $BzDynamicListView { hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; max-children-per-line: 3; bind-widget => $bind_app_tile_cb(template); unbind-widget => $unbind_app_tile_cb(template); model: SliceListModel similar_apps_model { offset: 0; size: 6; model: bind $get_developer_apps_entries(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.similar-apps, template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>) as <Gio.ListModel>; }; } } Box { orientation: vertical; visible: bind $invert_boolean($is_zero(other_apps_model.n-items) as <int>) as <bool>; Label { styles [ "heading", "h4", ] label: bind $format_other_apps_label(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.developer) as <string>; xalign: 0; wrap: true; wrap-mode: word_char; margin-top: 5; margin-bottom: 8; margin-start: 3; } $BzDynamicListView { hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; max-children-per-line: 3; bind-widget => $bind_app_tile_cb(template); unbind-widget => $unbind_app_tile_cb(template); model: SliceListModel other_apps_model { offset: 0; size: 6; model: bind $get_developer_apps_entries(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.developer-apps, template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>) as <Gio.ListModel>; }; } Button { visible: bind $is_longer(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.developer-apps, 6) as <bool>; clicked => $more_apps_button_clicked_cb(template); halign: center; margin-top: 15; margin-bottom: 8; child: Label { label: bind $format_more_other_apps_label(template.entry-group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.developer) as <string>; justify: center; wrap: true; wrap-mode: word_char; }; styles [ "pill", ] } } } }; } }; }; }; }; }; } }; }; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-full-view.c��������������������������������������������������������0000664�0000000�0000000�00000063424�15234476640�0020555�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-full-view.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::FULL-VIEW-WIDGET" #include <glib/gi18n.h> #include <json-glib/json-glib.h> #include "bz-addon-tile.h" #include "bz-addons-dialog.h" #include "bz-age-rating-dialog.h" #include "bz-app-size-dialog.h" #include "bz-app-tile.h" #include "bz-apps-page.h" #include "bz-appstream-description-render.h" #include "context-tile-callbacks.h" #include "bz-context-tile.h" #include "bz-developer-badge.h" #include "bz-dynamic-list-view.h" #include "bz-entry-inspector.h" #include "error.h" #include "bz-fading-clamp.h" #include "bz-favorite-button.h" #include "bz-flatpak-entry.h" #include "bz-full-view.h" #include "bz-hardware-support-dialog.h" #include "bz-install-controls.h" #include "bz-license-dialog.h" #include "bz-metainfo-preview.h" #include "bz-releases-list.h" #include "safety-calculator.h" #include "bz-safety-dialog.h" #include "bz-screenshot-page.h" #include "bz-screenshots-carousel.h" #include "bz-section-view.h" #include "bz-share-list.h" #include "spdx.h" #include "bz-state-info.h" #include "bz-stats-dialog.h" #include "template-callbacks.h" #include "util.h" #include "bz-window.h" struct _BzFullView { AdwBin parent_instance; BzStateInfo *state; BzTransactionManager *transactions; BzEntryGroup *group; DexFuture *ui_future; BzResult *ui_entry; BzResult *runtime; BzResult *group_model; gboolean show_sidebar; /* Template widgets */ GtkScrolledWindow *main_scroll; AdwViewStack *stack; GtkWidget *shadow_overlay; GtkToggleButton *description_toggle; }; G_DEFINE_FINAL_TYPE (BzFullView, bz_full_view, ADW_TYPE_BIN) enum { PROP_0, PROP_STATE, PROP_ENTRY_GROUP, PROP_UI_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_UPDATE, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void bz_full_view_dispose (GObject *object) { BzFullView *self = BZ_FULL_VIEW (object); dex_clear (&self->ui_future); g_clear_object (&self->state); g_clear_object (&self->transactions); g_clear_object (&self->group); g_clear_object (&self->ui_entry); g_clear_object (&self->runtime); g_clear_object (&self->group_model); G_OBJECT_CLASS (bz_full_view_parent_class)->dispose (object); } static void bz_full_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzFullView *self = BZ_FULL_VIEW (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, self->state); break; case PROP_ENTRY_GROUP: g_value_set_object (value, bz_full_view_get_entry_group (self)); break; case PROP_UI_ENTRY: g_value_set_object (value, self->ui_entry); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_full_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzFullView *self = BZ_FULL_VIEW (object); switch (prop_id) { case PROP_STATE: g_clear_object (&self->state); self->state = g_value_dup_object (value); break; case PROP_ENTRY_GROUP: bz_full_view_set_entry_group (self, g_value_get_object (value)); break; case PROP_UI_ENTRY: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean is_scrolled_down (gpointer object, double value) { return value > 100.0; } static char * format_as_link (gpointer object, const char *value) { if (value != NULL) return g_strdup_printf ("<a href=\"%s\" title=\"%s\">%s</a>", value, value, value); else return g_strdup (_ ("No URL")); } static gboolean has_link (gpointer object, const char *license) { if (license == NULL || *license == '\0') return FALSE; return bz_spdx_is_valid (license); } static char * pick_license_warning (gpointer object, gboolean value) { return value ? g_strdup (_ ("This app has a FLOSS license, meaning the source code can be audited for safety.")) : g_strdup (_ ("This app has a proprietary license, meaning the source code is developed privately and cannot be audited by an independent third party.")); } static char * format_other_apps_label (gpointer object, const char *developer) { if (!developer || *developer == '\0') return g_strdup (_ ("More Apps")); return g_strdup_printf (_ ("More Apps by %s"), developer); } static char * format_more_other_apps_label (gpointer object, const char *developer) { if (!developer || *developer == '\0') return g_strdup (_ ("Other Apps by this Developer")); return g_strdup_printf (_ ("Other Apps by %s"), developer); } static char * format_leftover_label (gpointer object, const char *name, guint64 size) { g_autofree char *formatted_size = NULL; formatted_size = g_format_size (size); return g_strdup_printf (_ ("%s is not installed, but it still has <b>%s</b> of data present."), name, formatted_size); } static gpointer filter_own_app_id (BzEntry *entry, GtkStringList *app_ids) { const char *own_id; g_autoptr (GtkStringList) filtered = NULL; guint n_items = 0; if (!BZ_IS_ENTRY (entry) || !GTK_IS_STRING_LIST (app_ids)) return NULL; own_id = bz_entry_get_id (entry); if (!own_id) return NULL; filtered = gtk_string_list_new (NULL); n_items = g_list_model_get_n_items (G_LIST_MODEL (app_ids)); for (guint i = 0; i < n_items; i++) { const char *id = NULL; id = gtk_string_list_get_string (app_ids, i); if (g_strcmp0 (id, own_id) != 0) gtk_string_list_append (filtered, id); } if (g_list_model_get_n_items (G_LIST_MODEL (filtered)) > 0) return g_steal_pointer (&filtered); else return NULL; } static GListModel * get_developer_apps_entries (gpointer object, GtkStringList *app_ids, BzEntry *entry) { BzFullView *self = BZ_FULL_VIEW (object); g_autoptr (GtkStringList) filtered = filter_own_app_id (BZ_ENTRY (entry), app_ids); BzApplicationMapFactory *factory; if (!filtered) return NULL; factory = bz_state_info_get_application_factory (self->state); if (!factory) return NULL; return bz_application_map_factory_generate (factory, G_LIST_MODEL (filtered)); } static void more_apps_button_clicked_cb (BzFullView *self, GtkButton *button) { g_autoptr (GListModel) model = NULL; guint n_items; g_autofree char *title = NULL; g_autofree char *subtitle = NULL; AdwNavigationPage *apps_page = NULL; GtkWidget *nav_view = NULL; g_autoptr (GListModel) app_ids = NULL; BzEntry *entry = NULL; const char *developer = NULL; g_return_if_fail (BZ_IS_FULL_VIEW (self)); g_return_if_fail (GTK_IS_BUTTON (button)); entry = bz_result_get_object (self->ui_entry); if (entry == NULL) return; g_object_get (entry, "developer-apps", &app_ids, NULL); model = bz_application_map_factory_generate ( bz_state_info_get_application_factory (self->state), app_ids); n_items = g_list_model_get_n_items (model); developer = bz_entry_get_developer (entry); if (developer != NULL && *developer != '\0') title = g_strdup_printf (_ ("Other Apps by %s"), developer); else title = g_strdup (_ ("Other Apps")); subtitle = g_strdup_printf (ngettext ("%d Application", "%d Applications", n_items), n_items); apps_page = bz_apps_page_new (title, model); bz_apps_page_set_subtitle (BZ_APPS_PAGE (apps_page), subtitle); nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); if (nav_view != NULL) adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), apps_page); } static void app_tile_clicked_cb (BzFullView *self, BzAppTile *tile) { BzEntryGroup *group = bz_app_tile_get_group (tile); bz_full_view_set_entry_group (self, group); } static void bind_app_tile_cb (BzFullView *self, BzAppTile *tile, BzEntryGroup *group, BzDynamicListView *view) { g_signal_connect_swapped (tile, "clicked", G_CALLBACK (app_tile_clicked_cb), self); } static void unbind_app_tile_cb (BzFullView *self, BzAppTile *tile, BzEntryGroup *group, BzDynamicListView *view) { g_signal_handlers_disconnect_by_func (tile, G_CALLBACK (app_tile_clicked_cb), self); } static void open_url_cb (BzFullView *self, AdwActionRow *row) { BzEntry *entry = NULL; const char *url = NULL; entry = BZ_ENTRY (bz_result_get_object (self->ui_entry)); url = bz_entry_get_url (entry); if (url != NULL && *url != '\0') g_app_info_launch_default_for_uri (url, NULL, NULL); else g_warning ("Invalid or empty URL provided for Flathub URL CB"); } static void license_cb (BzFullView *self, GtkButton *button) { AdwDialog *dialog = NULL; BzEntry *ui_entry = NULL; if (self->group == NULL) return; ui_entry = bz_result_get_object (self->ui_entry); if (ui_entry == NULL) return; dialog = bz_license_dialog_new (ui_entry); adw_dialog_present (dialog, GTK_WIDGET (self)); } static void age_rating_cb (BzFullView *self, GtkButton *button) { BzAgeRatingDialog *dialog = NULL; BzEntry *ui_entry = NULL; if (self->group == NULL) return; ui_entry = bz_result_get_object (self->ui_entry); if (ui_entry == NULL) return; dialog = bz_age_rating_dialog_new (ui_entry); adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (self)); } static void dl_stats_cb (BzFullView *self, GtkButton *button) { AdwDialog *dialog = NULL; AdwBreakpointBin *bin = NULL; BzEntry *ui_entry = NULL; if (self->group == NULL) return; ui_entry = bz_result_get_object (self->ui_entry); bin = bz_stats_dialog_new (NULL, NULL, 0); dialog = adw_dialog_new (); adw_dialog_set_content_width (dialog, 1250); adw_dialog_set_content_height (dialog, 750); adw_dialog_set_child (dialog, GTK_WIDGET (bin)); g_object_bind_property (ui_entry, "download-stats", bin, "model", G_BINDING_SYNC_CREATE); g_object_bind_property (ui_entry, "download-stats-per-country", bin, "country-model", G_BINDING_SYNC_CREATE); g_object_bind_property (ui_entry, "total-downloads", bin, "total-downloads", G_BINDING_SYNC_CREATE); adw_dialog_present (dialog, GTK_WIDGET (self)); bz_stats_dialog_animate_open (BZ_STATS_DIALOG (bin)); } static void size_cb (BzFullView *self, GtkButton *button) { AdwDialog *size_dialog = NULL; if (self->group == NULL) return; size_dialog = bz_app_size_dialog_new (self->group); adw_dialog_present (size_dialog, GTK_WIDGET (self)); } static void formfactor_cb (BzFullView *self, GtkButton *button) { AdwDialog *dialog = NULL; BzEntry *ui_entry = NULL; if (self->group == NULL) return; ui_entry = bz_result_get_object (self->ui_entry); dialog = ADW_DIALOG (bz_hardware_support_dialog_new (ui_entry)); adw_dialog_present (dialog, GTK_WIDGET (self)); } static void safety_cb (BzFullView *self, GtkButton *button) { AdwDialog *dialog = NULL; BzEntry *ui_entry = NULL; if (self->group == NULL) return; ui_entry = bz_result_get_object (self->ui_entry); if (ui_entry == NULL) return; dialog = bz_safety_dialog_new (ui_entry); adw_dialog_present (dialog, GTK_WIDGET (self)); } static void update_cb (BzFullView *self, GListModel *entries, BzInstallControls *controls) { g_signal_emit (self, signals[SIGNAL_UPDATE], 0, entries); } static DexFuture * reap_user_data_done (DexFuture *future, GWeakRef *wr) { g_autoptr (BzFullView) self = NULL; g_autoptr (GError) local_error = NULL; dex_future_get_value (future, &local_error); self = g_weak_ref_get (wr); if (self != NULL && local_error != NULL) bz_show_error_for_widget ( GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (self))), _ ("Failed to Remove User Data"), local_error->message); return dex_future_new_true (); } static void delete_user_data_cb (BzFullView *self, GtkButton *button) { g_autoptr (DexFuture) future = NULL; g_return_if_fail (BZ_IS_FULL_VIEW (self)); if (self->group == NULL) return; future = bz_entry_group_reap_user_data (self->group); if (future != NULL) dex_future_disown (dex_future_finally ( dex_ref (future), (DexFutureCallback) reap_user_data_done, bz_track_weak (self), bz_weak_release)); } static void support_cb (BzFullView *self, GtkButton *button) { BzEntry *entry = NULL; entry = bz_result_get_object (self->ui_entry); if (entry != NULL) { const char *url = NULL; url = bz_entry_get_donation_url (entry); g_app_info_launch_default_for_uri (url, NULL, NULL); } } static GListModel * get_addon_groups (BzFullView *self, BzEntryGroup *group) { BzApplicationMapFactory *factory = NULL; GListModel *ids = NULL; GListModel *groups = NULL; if (group == NULL) return NULL; ids = bz_entry_group_get_addon_group_ids (group); if (ids == NULL) return NULL; factory = bz_state_info_get_application_factory (self->state); groups = bz_application_map_factory_generate (factory, ids); if (groups == NULL) return NULL; return G_LIST_MODEL (gtk_slice_list_model_new (groups, 0, 3)); } static gboolean should_show_addon_overflow (gpointer object, BzEntryGroup *group) { GListModel *ids = NULL; if (group == NULL) return FALSE; ids = bz_entry_group_get_addon_group_ids (group); if (ids == NULL) return FALSE; return g_list_model_get_n_items (ids) > 3; } static void install_addons_cb (BzFullView *self, GtkButton *button) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.addons-group", "s", bz_entry_group_get_id (self->group)); } static void addon_tile_activated_cb (BzAddonTile *tile) { BzFullView *self = NULL; BzEntryGroup *group = NULL; AdwDialog *dialog = NULL; self = BZ_FULL_VIEW (gtk_widget_get_ancestor (GTK_WIDGET (tile), BZ_TYPE_FULL_VIEW)); group = bz_addon_tile_get_group (tile); if (group == NULL) return; dialog = bz_addons_dialog_new_single (group); adw_dialog_present (dialog, GTK_WIDGET (self)); } static int get_description_max_height (gpointer object, gboolean active) { return active ? 10000 : 170; } static char * get_description_toggle_text (gpointer object, gboolean active) { return g_strdup (active ? _ ("Show Less") : _ ("Show More")); } static gboolean metainfo_banner_visible (gpointer object, const char *remote_name) { return g_strcmp0 (remote_name, "local-preview") == 0; } static void preview_other_metainfo_cb (BzFullView *self, AdwBanner *banner) { GtkWidget *window = NULL; window = GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (self))); bz_window_push_page (BZ_WINDOW (window), create_entry_group_preview_page (self->group)); } static void copy_id_cb (BzFullView *self, GtkButton *button) { const char *id = NULL; GdkClipboard *clipboard = NULL; if (self->group == NULL) return; id = bz_entry_group_get_id (self->group); clipboard = gdk_display_get_clipboard (gdk_display_get_default ()); gdk_clipboard_set_text (clipboard, id); } static void debug_id_inspect_cb (BzFullView *self, GtkButton *button) { g_autofree char *unique_id = NULL; g_autoptr (GtkStringObject) string = NULL; g_autoptr (BzResult) result = NULL; if (self->group == NULL) return; unique_id = bz_entry_group_dup_ui_entry_id (self->group); result = bz_application_map_factory_convert_one ( bz_state_info_get_entry_factory (self->state), gtk_string_object_new (unique_id)); if (result != NULL) { BzEntryInspector *inspector = NULL; inspector = bz_entry_inspector_new (); bz_entry_inspector_set_result (inspector, result); gtk_window_present (GTK_WINDOW (inspector)); } } static void bz_full_view_class_init (BzFullViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_full_view_dispose; object_class->get_property = bz_full_view_get_property; object_class->set_property = bz_full_view_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_ENTRY_GROUP] = g_param_spec_object ( "entry-group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_UI_ENTRY] = g_param_spec_object ( "ui-entry", NULL, NULL, BZ_TYPE_RESULT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_UPDATE] = g_signal_new ( "update", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_LIST_MODEL); g_signal_set_va_marshaller ( signals[SIGNAL_UPDATE], G_TYPE_FROM_CLASS (klass), g_cclosure_marshal_VOID__OBJECTv); g_type_ensure (BZ_TYPE_APPSTREAM_DESCRIPTION_RENDER); g_type_ensure (BZ_TYPE_DEVELOPER_BADGE); g_type_ensure (BZ_TYPE_DYNAMIC_LIST_VIEW); g_type_ensure (BZ_TYPE_ENTRY); g_type_ensure (BZ_TYPE_ENTRY_GROUP); g_type_ensure (BZ_TYPE_FADING_CLAMP); g_type_ensure (BZ_TYPE_FAVORITE_BUTTON); g_type_ensure (BZ_TYPE_FLATPAK_ENTRY); g_type_ensure (BZ_TYPE_HARDWARE_SUPPORT_DIALOG); g_type_ensure (BZ_TYPE_INSTALL_CONTROLS); g_type_ensure (BZ_TYPE_SECTION_VIEW); g_type_ensure (BZ_TYPE_RELEASES_LIST); g_type_ensure (BZ_TYPE_SCREENSHOTS_CAROUSEL); g_type_ensure (BZ_TYPE_SHARE_LIST); g_type_ensure (BZ_TYPE_CONTEXT_TILE); g_type_ensure (BZ_TYPE_ADDON_TILE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-full-view.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); bz_widget_class_bind_all_context_tile_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzFullView, stack); gtk_widget_class_bind_template_child (widget_class, BzFullView, main_scroll); gtk_widget_class_bind_template_child (widget_class, BzFullView, shadow_overlay); gtk_widget_class_bind_template_child (widget_class, BzFullView, description_toggle); gtk_widget_class_bind_template_callback (widget_class, is_scrolled_down); gtk_widget_class_bind_template_callback (widget_class, age_rating_cb); gtk_widget_class_bind_template_callback (widget_class, format_as_link); gtk_widget_class_bind_template_callback (widget_class, has_link); gtk_widget_class_bind_template_callback (widget_class, format_leftover_label); gtk_widget_class_bind_template_callback (widget_class, format_other_apps_label); gtk_widget_class_bind_template_callback (widget_class, format_more_other_apps_label); gtk_widget_class_bind_template_callback (widget_class, get_developer_apps_entries); gtk_widget_class_bind_template_callback (widget_class, more_apps_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, open_url_cb); gtk_widget_class_bind_template_callback (widget_class, license_cb); gtk_widget_class_bind_template_callback (widget_class, dl_stats_cb); gtk_widget_class_bind_template_callback (widget_class, size_cb); gtk_widget_class_bind_template_callback (widget_class, formfactor_cb); gtk_widget_class_bind_template_callback (widget_class, safety_cb); gtk_widget_class_bind_template_callback (widget_class, update_cb); gtk_widget_class_bind_template_callback (widget_class, delete_user_data_cb); gtk_widget_class_bind_template_callback (widget_class, support_cb); gtk_widget_class_bind_template_callback (widget_class, pick_license_warning); gtk_widget_class_bind_template_callback (widget_class, get_addon_groups); gtk_widget_class_bind_template_callback (widget_class, should_show_addon_overflow); gtk_widget_class_bind_template_callback (widget_class, install_addons_cb); gtk_widget_class_bind_template_callback (widget_class, addon_tile_activated_cb); gtk_widget_class_bind_template_callback (widget_class, bind_app_tile_cb); gtk_widget_class_bind_template_callback (widget_class, unbind_app_tile_cb); gtk_widget_class_bind_template_callback (widget_class, get_description_max_height); gtk_widget_class_bind_template_callback (widget_class, get_description_toggle_text); gtk_widget_class_bind_template_callback (widget_class, metainfo_banner_visible); gtk_widget_class_bind_template_callback (widget_class, preview_other_metainfo_cb); gtk_widget_class_bind_template_callback (widget_class, copy_id_cb); gtk_widget_class_bind_template_callback (widget_class, debug_id_inspect_cb); } static void bz_full_view_init (BzFullView *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_full_view_new (void) { return g_object_new (BZ_TYPE_FULL_VIEW, NULL); } static DexFuture * on_ui_entry_resolved (DexFuture *future, GWeakRef *wr) { g_autoptr (BzFullView) self = NULL; BzEntry *ui_entry = NULL; g_autoptr (BzResult) runtime_result = NULL; const GValue *value = NULL; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, NULL); if (value != NULL && G_VALUE_HOLDS_OBJECT (value)) { ui_entry = g_value_get_object (value); if (BZ_IS_FLATPAK_ENTRY (ui_entry)) self->runtime = bz_flatpak_entry_dup_runtime_result (BZ_FLATPAK_ENTRY (ui_entry)); } adw_view_stack_set_visible_child_name (self->stack, "content"); return dex_future_new_for_boolean (TRUE); } void bz_full_view_set_entry_group (BzFullView *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_FULL_VIEW (self)); g_return_if_fail (group == NULL || BZ_IS_ENTRY_GROUP (group)); if (group == self->group) return; dex_clear (&self->ui_future); g_clear_object (&self->group); g_clear_object (&self->ui_entry); g_clear_object (&self->runtime); g_clear_object (&self->group_model); gtk_toggle_button_set_active (self->description_toggle, FALSE); if (group != NULL) { self->group = g_object_ref (group); self->ui_entry = bz_entry_group_dup_ui_entry (group); if (self->ui_entry != NULL && bz_result_get_resolved (self->ui_entry)) { BzEntry *entry = NULL; g_autoptr (GListStore) store = NULL; g_autoptr (DexFuture) future = NULL; g_autoptr (DexFuture) object_future = NULL; GWeakRef *wr = NULL; entry = bz_result_get_object (self->ui_entry); store = g_list_store_new (BZ_TYPE_ENTRY); g_list_store_append (store, entry); future = dex_future_new_for_object (store); self->group_model = bz_result_new (future); object_future = dex_future_new_for_object (entry); wr = bz_track_weak (self); dex_unref (on_ui_entry_resolved (object_future, wr)); bz_weak_release (wr); } else { g_autoptr (DexFuture) future = NULL; future = bz_entry_group_dup_all_into_store (group); self->group_model = bz_result_new (future); if (self->ui_entry != NULL) { g_autoptr (DexFuture) ui_future = NULL; adw_view_stack_set_visible_child_name (self->stack, "loading"); ui_future = bz_result_dup_future (self->ui_entry); ui_future = dex_future_then ( ui_future, (DexFutureCallback) on_ui_entry_resolved, bz_track_weak (self), bz_weak_release); self->ui_future = g_steal_pointer (&ui_future); } } } else adw_view_stack_set_visible_child_name (self->stack, "empty"); gtk_adjustment_set_value (gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self->main_scroll)), 0.0); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENTRY_GROUP]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_UI_ENTRY]); } BzEntryGroup * bz_full_view_get_entry_group (BzFullView *self) { g_return_val_if_fail (BZ_IS_FULL_VIEW (self), NULL); return self->group; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-full-view.h��������������������������������������������������������0000664�0000000�0000000�00000003076�15234476640�0020557�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-full-view.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-entry-group.h" #include "bz-transaction-manager.h" G_BEGIN_DECLS #define BZ_TYPE_FULL_VIEW (bz_full_view_get_type ()) G_DECLARE_FINAL_TYPE (BzFullView, bz_full_view, BZ, FULL_VIEW, AdwBin) GtkWidget * bz_full_view_new (void); void bz_full_view_set_transaction_manager (BzFullView *self, BzTransactionManager *group); BzTransactionManager * bz_full_view_get_transaction_manager (BzFullView *self); void bz_full_view_set_entry_group (BzFullView *self, BzEntryGroup *group); BzEntryGroup * bz_full_view_get_entry_group (BzFullView *self); void bz_full_view_set_debounce (BzFullView *self, gboolean debounce); gboolean bz_full_view_get_debounce (BzFullView *self); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-group-tile-css-watcher.c�������������������������������������������0000664�0000000�0000000�00000023532�15234476640�0023147�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-group-tile-css-watcher.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <adwaita.h> #include "bz-group-tile-css-watcher.h" #define LUMINANCE_THRESHOLD 130.0 struct _BzGroupTileCssWatcher { GObject parent_instance; GWeakRef widget; BzEntryGroup *group; GtkCssProvider *css; char *light_class; char *dark_class; char *light_text_class; char *dark_text_class; }; G_DEFINE_FINAL_TYPE (BzGroupTileCssWatcher, bz_group_tile_css_watcher, G_TYPE_OBJECT); enum { PROP_0, PROP_WIDGET, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void refresh (BzGroupTileCssWatcher *self); static void clear (BzGroupTileCssWatcher *self); static void bz_group_tile_css_watcher_dispose (GObject *object) { BzGroupTileCssWatcher *self = BZ_GROUP_TILE_CSS_WATCHER (object); clear (self); g_weak_ref_clear (&self->widget); g_clear_pointer (&self->group, g_object_unref); G_OBJECT_CLASS (bz_group_tile_css_watcher_parent_class)->dispose (object); } static void bz_group_tile_css_watcher_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzGroupTileCssWatcher *self = BZ_GROUP_TILE_CSS_WATCHER (object); switch (prop_id) { case PROP_WIDGET: g_value_take_object (value, bz_group_tile_css_watcher_dup_widget (self)); break; case PROP_GROUP: g_value_set_object (value, bz_group_tile_css_watcher_get_group (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_group_tile_css_watcher_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzGroupTileCssWatcher *self = BZ_GROUP_TILE_CSS_WATCHER (object); switch (prop_id) { case PROP_WIDGET: bz_group_tile_css_watcher_set_widget (self, g_value_get_object (value)); break; case PROP_GROUP: bz_group_tile_css_watcher_set_group (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_group_tile_css_watcher_class_init (BzGroupTileCssWatcherClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_group_tile_css_watcher_set_property; object_class->get_property = bz_group_tile_css_watcher_get_property; object_class->dispose = bz_group_tile_css_watcher_dispose; props[PROP_WIDGET] = g_param_spec_object ( "widget", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void dark_changed (BzGroupTileCssWatcher *self, GParamSpec *pspec, AdwStyleManager *mgr) { g_autoptr (GtkWidget) widget = NULL; gboolean is_dark; if (self->css == NULL) return; widget = g_weak_ref_get (&self->widget); if (widget == NULL) return; is_dark = adw_style_manager_get_dark (adw_style_manager_get_default ()); gtk_widget_remove_css_class (widget, self->light_class); gtk_widget_remove_css_class (widget, self->dark_class); gtk_widget_remove_css_class (widget, self->light_text_class); gtk_widget_remove_css_class (widget, self->dark_text_class); gtk_widget_add_css_class (widget, is_dark ? self->dark_class : self->light_class); gtk_widget_add_css_class (widget, is_dark ? self->dark_text_class : self->light_text_class); } static void bz_group_tile_css_watcher_init (BzGroupTileCssWatcher *self) { g_weak_ref_init (&self->widget, NULL); g_signal_connect_object ( adw_style_manager_get_default (), "notify::dark", G_CALLBACK (dark_changed), self, G_CONNECT_SWAPPED); } BzGroupTileCssWatcher * bz_group_tile_css_watcher_new (void) { return g_object_new (BZ_TYPE_GROUP_TILE_CSS_WATCHER, NULL); } GtkWidget * bz_group_tile_css_watcher_dup_widget (BzGroupTileCssWatcher *self) { g_return_val_if_fail (BZ_IS_GROUP_TILE_CSS_WATCHER (self), NULL); return g_weak_ref_get (&self->widget); } BzEntryGroup * bz_group_tile_css_watcher_get_group (BzGroupTileCssWatcher *self) { g_return_val_if_fail (BZ_IS_GROUP_TILE_CSS_WATCHER (self), NULL); return self->group; } void bz_group_tile_css_watcher_set_widget (BzGroupTileCssWatcher *self, GtkWidget *widget) { g_return_if_fail (BZ_IS_GROUP_TILE_CSS_WATCHER (self)); g_weak_ref_clear (&self->widget); if (widget != NULL) g_weak_ref_init (&self->widget, widget); refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WIDGET]); } void bz_group_tile_css_watcher_set_group (BzGroupTileCssWatcher *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_GROUP_TILE_CSS_WATCHER (self)); g_clear_pointer (&self->group, g_object_unref); if (group != NULL) self->group = g_object_ref (group); refresh (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } static gdouble get_luminance (GdkRGBA *rgba) { return (0.299 * rgba->red * 255.0) + (0.587 * rgba->green * 255.0) + (0.114 * rgba->blue * 255.0); } static gboolean color_is_light (const char *hex_color) { GdkRGBA rgba; gdouble luminance; if (hex_color == NULL || !gdk_rgba_parse (&rgba, hex_color)) return FALSE; luminance = get_luminance (&rgba); return luminance > LUMINANCE_THRESHOLD; } static void refresh (BzGroupTileCssWatcher *self) { g_autoptr (GtkWidget) widget = NULL; const char *id = NULL; const char *light_accent_color = NULL; const char *dark_accent_color = NULL; clear (self); widget = g_weak_ref_get (&self->widget); if (self->group == NULL || widget == NULL) return; id = bz_entry_group_get_id (self->group); light_accent_color = bz_entry_group_get_light_accent_color (self->group); dark_accent_color = bz_entry_group_get_dark_accent_color (self->group); if (light_accent_color != NULL || dark_accent_color != NULL) { g_autoptr (GString) fixed_id = NULL; g_autofree char *css_string = NULL; gboolean is_dark; fixed_id = g_string_new (id); g_string_replace (fixed_id, ".", "--", 0); self->light_class = g_strdup_printf ("%s-light", fixed_id->str); self->dark_class = g_strdup_printf ("%s-dark", fixed_id->str); self->light_text_class = g_strdup ( color_is_light (light_accent_color != NULL ? light_accent_color : dark_accent_color) ? "flathub-gunmetal" : "flathub-lotion"); self->dark_text_class = g_strdup ( color_is_light (dark_accent_color != NULL ? dark_accent_color : light_accent_color) ? "flathub-gunmetal" : "flathub-lotion"); css_string = g_strdup_printf ( ".%s{background-color:%s;}\n" ".%s{background-color:%s;}", self->light_class, light_accent_color != NULL ? light_accent_color : dark_accent_color, self->dark_class, dark_accent_color != NULL ? dark_accent_color : light_accent_color); self->css = gtk_css_provider_new (); gtk_css_provider_load_from_string ( self->css, css_string); gtk_style_context_add_provider_for_display ( gdk_display_get_default (), GTK_STYLE_PROVIDER (self->css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); is_dark = adw_style_manager_get_dark (adw_style_manager_get_default ()); gtk_widget_add_css_class (widget, is_dark ? self->dark_class : self->light_class); gtk_widget_add_css_class (widget, is_dark ? self->dark_text_class : self->light_text_class); } } static void clear (BzGroupTileCssWatcher *self) { g_autoptr (GtkWidget) widget = NULL; widget = g_weak_ref_get (&self->widget); if (widget != NULL) { if (self->light_class != NULL) gtk_widget_remove_css_class (widget, self->light_class); if (self->dark_class != NULL) gtk_widget_remove_css_class (widget, self->dark_class); if (self->light_text_class != NULL) gtk_widget_remove_css_class (widget, self->light_text_class); if (self->dark_text_class != NULL) gtk_widget_remove_css_class (widget, self->dark_text_class); } g_clear_pointer (&self->light_class, g_free); g_clear_pointer (&self->dark_class, g_free); g_clear_pointer (&self->light_text_class, g_free); g_clear_pointer (&self->dark_text_class, g_free); if (self->css != NULL) gtk_style_context_remove_provider_for_display ( gdk_display_get_default (), GTK_STYLE_PROVIDER (self->css)); g_clear_pointer (&self->css, g_object_unref); } /* End of bz-group-tile-css-watcher.c */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-group-tile-css-watcher.h�������������������������������������������0000664�0000000�0000000�00000003102�15234476640�0023143�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-group-tile-css-watcher.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-entry-group.h" G_BEGIN_DECLS #define BZ_TYPE_GROUP_TILE_CSS_WATCHER (bz_group_tile_css_watcher_get_type ()) G_DECLARE_FINAL_TYPE (BzGroupTileCssWatcher, bz_group_tile_css_watcher, BZ, GROUP_TILE_CSS_WATCHER, GObject) BzGroupTileCssWatcher * bz_group_tile_css_watcher_new (void); GtkWidget * bz_group_tile_css_watcher_dup_widget (BzGroupTileCssWatcher *self); BzEntryGroup * bz_group_tile_css_watcher_get_group (BzGroupTileCssWatcher *self); void bz_group_tile_css_watcher_set_widget (BzGroupTileCssWatcher *self, GtkWidget *widget); void bz_group_tile_css_watcher_set_group (BzGroupTileCssWatcher *self, BzEntryGroup *group); G_END_DECLS /* End of bz-group-tile-css-watcher.h */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hardware-support-dialog.blp����������������������������������������0000664�0000000�0000000�00000001650�15234476640�0023733�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzHardwareSupportDialog: Adw.Dialog { content-height: 530; content-width: 640; title: _("Hardware Support"); Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: ScrolledWindow { hscrollbar-policy: never; Adw.Clamp { maximum-size: 600; tightening-threshold: 400; Box { orientation: vertical; spacing: 24; margin-start: 24; margin-end: 24; margin-top: 24; margin-bottom: 24; $BzLozenge lozenge { title: _("Hardware Support"); icon-names: [ "device-supported-symbolic", ]; importance: unimportant; } ListBox list { selection-mode: none; styles [ "boxed-list", ] } } } }; } } ����������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hardware-support-dialog.c������������������������������������������0000664�0000000�0000000�00000023515�15234476640�0023404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-hardware-support-dialog.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-hardware-support-dialog.h" #include "bz-context-row.h" #include "bz-lozenge.h" #include <glib/gi18n.h> struct _BzHardwareSupportDialog { AdwDialog parent_instance; BzEntry *entry; gulong entry_notify_handler; /* Template widgets */ BzLozenge *lozenge; GtkListBox *list; }; G_DEFINE_FINAL_TYPE (BzHardwareSupportDialog, bz_hardware_support_dialog, ADW_TYPE_DIALOG) enum { PROP_0, PROP_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; typedef struct { const gchar *icon_name; const gchar *title; BzControlType control_flag; const gchar *required_subtitle; const gchar *recommended_subtitle; const gchar *supported_subtitle; const gchar *unsupported_subtitle; } ControlInfo; static const ControlInfo control_infos[] = { { "input-keyboard-symbolic", N_ ("Keyboard support"), BZ_CONTROL_KEYBOARD, N_ ("Requires keyboards"), N_ ("Recommends keyboards"), N_ ("Supports keyboards"), N_ ("Unknown support for keyboards") }, { "input-mouse-symbolic", N_ ("Mouse support"), BZ_CONTROL_POINTING, N_ ("Requires mice or pointing devices"), N_ ("Recommends mice or pointing devices"), N_ ("Supports mice or pointing devices"), N_ ("Unknown support for mice or pointing devices") }, { "device-support-touch-symbolic", N_ ("Touchscreen support"), BZ_CONTROL_TOUCH, N_ ("Requires touchscreens"), N_ ("Recommends touchscreens"), N_ ("Supports touchscreens"), N_ ("Unknown support for touchscreens") } }; static BzImportance get_control_importance (guint required_controls, guint recommended_controls, guint supported_controls, BzControlType control_flag) { if (required_controls & control_flag) return BZ_IMPORTANCE_IMPORTANT; else if (recommended_controls & control_flag) return BZ_IMPORTANCE_INFORMATION; else if (supported_controls & control_flag) return BZ_IMPORTANCE_UNIMPORTANT; else return BZ_IMPORTANCE_NEUTRAL; } static const gchar * get_subtitle_for_importance (const ControlInfo *info, BzImportance importance) { switch (importance) { case BZ_IMPORTANCE_IMPORTANT: return _ (info->required_subtitle); case BZ_IMPORTANCE_INFORMATION: return _ (info->recommended_subtitle); case BZ_IMPORTANCE_UNIMPORTANT: return _ (info->supported_subtitle); case BZ_IMPORTANCE_NEUTRAL: return _ (info->unsupported_subtitle); case BZ_IMPORTANCE_WARNING: default: g_assert_not_reached (); } } static void add_control_row (BzHardwareSupportDialog *self, const ControlInfo *info, BzImportance importance) { AdwActionRow *row; const gchar *subtitle; subtitle = get_subtitle_for_importance (info, importance); row = bz_context_row_new (info->icon_name, importance, _ (info->title), subtitle); gtk_list_box_append (self->list, GTK_WIDGET (row)); } static void update_list (BzHardwareSupportDialog *self) { GtkWidget *child; AdwActionRow *row; guint required_controls; guint recommended_controls; guint supported_controls; gboolean is_mobile_friendly; while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->list))) != NULL) gtk_list_box_remove (self->list, child); if (self->entry == NULL) return; required_controls = bz_entry_get_required_controls (self->entry); recommended_controls = bz_entry_get_recommended_controls (self->entry); supported_controls = bz_entry_get_supported_controls (self->entry); is_mobile_friendly = bz_entry_get_is_mobile_friendly (self->entry); row = bz_context_row_new ("phone-symbolic", is_mobile_friendly ? BZ_IMPORTANCE_UNIMPORTANT : BZ_IMPORTANCE_NEUTRAL, _ ("Mobile support"), is_mobile_friendly ? _ ("Works on mobile devices") : _ ("May not work well on mobile devices")); gtk_list_box_append (self->list, GTK_WIDGET (row)); row = bz_context_row_new ("device-support-desktop-symbolic", BZ_IMPORTANCE_UNIMPORTANT, _ ("Desktop support"), _ ("Works well on large screens")); gtk_list_box_append (self->list, GTK_WIDGET (row)); for (gsize i = 0; i < G_N_ELEMENTS (control_infos); i++) { BzImportance importance; importance = get_control_importance (required_controls, recommended_controls, supported_controls, control_infos[i].control_flag); add_control_row (self, &control_infos[i], importance); } } static void update_header (BzHardwareSupportDialog *self) { const gchar *icon_names[2]; g_autofree gchar *title_text = NULL; BzImportance importance; guint required_controls; gboolean is_mobile_friendly; if (self->entry == NULL) return; required_controls = bz_entry_get_required_controls (self->entry); is_mobile_friendly = bz_entry_get_is_mobile_friendly (self->entry); if (required_controls != BZ_CONTROL_NONE || !is_mobile_friendly) { icon_names[0] = "dialog-warning-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s works best on specific hardware"), bz_entry_get_title (self->entry)); importance = BZ_IMPORTANCE_NEUTRAL; } else { icon_names[0] = "device-supported-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s works on most devices"), bz_entry_get_title (self->entry)); importance = BZ_IMPORTANCE_UNIMPORTANT; } bz_lozenge_set_icon_names (self->lozenge, icon_names); bz_lozenge_set_title (self->lozenge, title_text); bz_lozenge_set_importance (self->lozenge, importance); } static void update_ui (BzHardwareSupportDialog *self) { update_list (self); update_header (self); } static void entry_notify_cb (GObject *obj, GParamSpec *pspec, gpointer user_data) { BzHardwareSupportDialog *self = BZ_HARDWARE_SUPPORT_DIALOG (user_data); update_ui (self); } static void bz_hardware_support_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzHardwareSupportDialog *self = BZ_HARDWARE_SUPPORT_DIALOG (object); switch (prop_id) { case PROP_ENTRY: self->entry = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_hardware_support_dialog_constructed (GObject *object) { BzHardwareSupportDialog *self = BZ_HARDWARE_SUPPORT_DIALOG (object); G_OBJECT_CLASS (bz_hardware_support_dialog_parent_class)->constructed (object); if (self->entry != NULL) { self->entry_notify_handler = g_signal_connect (self->entry, "notify", G_CALLBACK (entry_notify_cb), self); update_ui (self); } } static void bz_hardware_support_dialog_dispose (GObject *object) { BzHardwareSupportDialog *self = BZ_HARDWARE_SUPPORT_DIALOG (object); g_clear_signal_handler (&self->entry_notify_handler, self->entry); g_clear_object (&self->entry); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_HARDWARE_SUPPORT_DIALOG); G_OBJECT_CLASS (bz_hardware_support_dialog_parent_class)->dispose (object); } static void bz_hardware_support_dialog_class_init (BzHardwareSupportDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_hardware_support_dialog_set_property; object_class->constructed = bz_hardware_support_dialog_constructed; object_class->dispose = bz_hardware_support_dialog_dispose; props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LOZENGE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-hardware-support-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, BzHardwareSupportDialog, lozenge); gtk_widget_class_bind_template_child (widget_class, BzHardwareSupportDialog, list); } static void bz_hardware_support_dialog_init (BzHardwareSupportDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } BzHardwareSupportDialog * bz_hardware_support_dialog_new (BzEntry *entry) { return g_object_new (BZ_TYPE_HARDWARE_SUPPORT_DIALOG, "entry", entry, NULL); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hardware-support-dialog.h������������������������������������������0000664�0000000�0000000�00000002177�15234476640�0023412�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-hardware-support-dialog.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include <adwaita.h> #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_HARDWARE_SUPPORT_DIALOG (bz_hardware_support_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzHardwareSupportDialog, bz_hardware_support_dialog, BZ, HARDWARE_SUPPORT_DIALOG, AdwDialog) BzHardwareSupportDialog *bz_hardware_support_dialog_new (BzEntry *entry); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hash-table-object.txt����������������������������������������������0000664�0000000�0000000�00000000257�15234476640�0022507�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=hash_table_object parent-prefix=g parent-name=object author=AUTOGEN property=hash_table GHashTable G_TYPE_HASH_TABLE boxed g_hash_table_unref g_hash_table_ref �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hook-dialog-option.txt���������������������������������������������0000664�0000000�0000000�00000000343�15234476640�0022732�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=hook_dialog_option parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> property=id char G_TYPE_STRING string property=string char G_TYPE_STRING string property=style char G_TYPE_STRING string ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hook-dialog.txt����������������������������������������������������0000664�0000000�0000000�00000000704�15234476640�0021425�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=hook_dialog parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-hook-dialog-option.h" ensure=BZ_TYPE_HOOK_DIALOG_OPTION property=id char G_TYPE_STRING string property=title char G_TYPE_STRING string property=body char G_TYPE_STRING string property=body_use_markup gboolean G_TYPE_BOOLEAN boolean property=options GListModel G_TYPE_LIST_MODEL object property=default_response_id char G_TYPE_STRING string ������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-hook.txt�����������������������������������������������������������0000664�0000000�0000000�00000001134�15234476640�0020166�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=hook parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-hook-dialog.h" ensure=BZ_TYPE_HOOK_DIALOG ensure=BZ_TYPE_HOOK_DIALOG_OPTION enum=bz hook_signal view_app before_transaction after_transaction article_app enum=bz hook_return_status continue stop confirm deny enum=bz hook_transaction_type install update removal property=id char G_TYPE_STRING string property=when BzHookSignal BZ_TYPE_HOOK_SIGNAL enum property=dialogs GListModel G_TYPE_LIST_MODEL object property=shell char G_TYPE_STRING string property=check_appid_regex char G_TYPE_STRING string ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-inspector.blp������������������������������������������������������0000664�0000000�0000000�00000055472�15234476640�0021210�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzInspector: Adw.Window { title: "Bazaar Inspector"; default-width: 1200; default-height: 800; width-request: 600; height-request: 600; Adw.ToolbarView { top-bar-style: raised_border; bottom-bar-style: raised_border; reveal-bottom-bars: false; [top] Adw.HeaderBar { [end] MenuButton { primary: true; icon-name: "open-menu-symbolic"; has-tooltip: true; tooltip-text: _("Inspector Menu"); menu-model: inspector_menu; } } content: Paned { orientation: horizontal; start-child: ScrolledWindow { child: Box { orientation: vertical; width-request: 100; spacing: 10; Box { orientation: vertical; Box { orientation: horizontal; spacing: 10; Label { styles [ "heading" ] label: "Background Task Info:"; xalign: 0.0; } Label { label: bind template.state as <$BzStateInfo>.background-task-label as <string>; xalign: 0.0; } } Box { orientation: horizontal; spacing: 10; Label { styles [ "heading" ] label: "Active Entry Objects in Memory:"; xalign: 0.0; } Label { label: bind $format_uint(template.state as <$BzStateInfo>.cache-manager as <$BzEntryCacheManager>.living-entries) as <string>; xalign: 0.0; } } } Box { orientation: vertical; spacing: 3; CheckButton debug_mode_check { label: "Enable Global Debug Mode"; } CheckButton disable_blocklists_check { label: "Disable All Blocklists"; } } Box { orientation: vertical; spacing: 3; Label { styles [ "heading" ] label: "Active Blocklists (YAML)"; xalign: 0.0; } ScrolledWindow { propagate-natural-height: true; child: ListView { model: NoSelection { model: bind template.state as <$BzStateInfo>.blocklists; }; factory: string_list_factory; }; } } Box { orientation: vertical; spacing: 3; Label { styles [ "heading" ] label: "Active Blocklists (TXT)"; xalign: 0.0; } ScrolledWindow { propagate-natural-height: true; child: ListView { model: NoSelection { model: bind template.state as <$BzStateInfo>.txt-blocklists; }; factory: string_list_factory; }; } } Box { orientation: vertical; spacing: 3; Label { styles [ "heading" ] label: "Active Curated-Configs"; xalign: 0.0; } ScrolledWindow { propagate-natural-height: true; child: ListView { model: NoSelection { model: bind template.state as <$BzStateInfo>.curated-configs; }; factory: string_list_factory; }; } } Box { orientation: vertical; spacing: 3; Box { orientation: horizontal; spacing: 10; Label { styles [ "heading" ] label: "Max Age Rating:"; xalign: 0.0; } Label { label: bind $format_int(template.state as <$BzStateInfo>.parental-age-rating) as <string>; xalign: 0.0; } } Label { styles [ "heading" ] label: "Restricted App IDs"; xalign: 0.0; } ScrolledWindow { propagate-natural-height: true; child: ListView { model: NoSelection { model: bind template.state as <$BzStateInfo>.parental-blocked-ids; }; factory: plain_string_list_factory; }; } } }; }; end-child: Box { orientation: vertical; spacing: 8; Label { styles [ "heading" ] margin-top: 10; label: "All Entry Groups"; xalign: 0.0; } Separator { orientation: horizontal; } Expander { label: "Serialize All Entries Into File"; child: Box { margin-start: 3; margin-end: 3; margin-top: 3; margin-bottom: 3; orientation: vertical; spacing: 5; Box { orientation: horizontal; spacing: 5; Entry serialize_all_entries_path_entry { hexpand: true; placeholder-text: "Enter the path to an output file..."; } Button serialize_all_entries_btn { styles [ "suggested-action", ] label: "Go"; clicked => $serialize_all_entries_cb(template); } } ProgressBar serialize_all_entries_progress { visible: false; } }; } Separator { orientation: horizontal; } Box { orientation: horizontal; spacing: 5; CheckButton { label: "Preview"; notify::active => $preview_changed(template); } Entry search_entry { hexpand: true; margin-start: 5; margin-end: 5; margin-top: 5; margin-bottom: 5; placeholder-text: "Filter..."; changed => $entry_changed(template); } } ScrolledWindow { vscrollbar-policy: always; propagate-natural-height: true; child: ListView { model: SingleSelection groups_selection { model: FilterListModel filter_model { incremental: true; model: bind template.state as <$BzStateInfo>.all-entry-groups; }; notify::selected-item => $selected_group_changed(template); }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: Expander { styles [ "bz-monospace", ] resize-toplevel: true; label-widget: Label { label: bind template.item as <$BzEntryGroup>.id as <string>; }; child: Box { styles [ "card", ] margin-start: 3; margin-end: 3; margin-top: 3; margin-bottom: 3; halign: start; orientation: horizontal; Box { margin-start: 5; margin-end: 5; margin-top: 5; margin-bottom: 5; orientation: vertical; spacing: 2; Box { margin-start: 2; orientation: horizontal; spacing: 2; Label { styles [ "accent", ] label: bind template.item as <$BzEntryGroup>.title; } Image { gicon: bind template.item as <$BzEntryGroup>.mini-icon; } Box { styles [ "linked", ] hexpand: true; halign: end; orientation: horizontal; MenuButton { styles [ "bz-small-button", ] child: Label { styles [ "bz-monospace", ] margin-start: 2; margin-end: 2; label: "Entries"; }; popover: Popover { child: ScrolledWindow { propagate-natural-width: true; propagate-natural-height: true; child: ListView { model: NoSelection { model: bind template.item as <$BzEntryGroup>.model; }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: Box { margin-top: 1; margin-bottom: 1; orientation: horizontal; spacing: 5; Box { styles [ "linked", ] orientation: horizontal; Button { styles [ "bz-small-button", ] has-tooltip: true; tooltip-text: "Decache and Inspect"; child: Image { icon-name: "external-link-symbolic"; pixel-size: 12; }; clicked => $decache_and_inspect_cb(template); } Button { styles [ "bz-small-button", ] has-tooltip: true; tooltip-text: "Copy Unique ID"; child: Image { icon-name: "edit-copy-symbolic"; pixel-size: 12; }; clicked => $copy_unique_id_cb(template); } } Label { hexpand: true; ellipsize: end; xalign: 0.0; label: bind template.item as <$GtkStringObject>.string as <string>; selectable: true; } }; } }; }; }; }; } MenuButton { styles [ "bz-small-button", ] visible: bind $not($is_null(template.item as <$BzEntryGroup>.addons-model as <$GListModel>) as <bool>) as <bool>; child: Label { styles [ "bz-monospace", ] margin-start: 2; margin-end: 2; label: "Addons"; }; popover: Popover { child: ScrolledWindow { propagate-natural-width: true; propagate-natural-height: true; child: ListView { model: NoSelection { model: bind template.item as <$BzEntryGroup>.addons-model; }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: Label { hexpand: true; ellipsize: end; xalign: 0.0; label: bind template.item as <$GtkStringObject>.string as <string>; selectable: true; }; } }; }; }; }; } } } Separator { orientation: horizontal; } Grid { column-spacing: 2; row-spacing: 1; Label { layout { column: 0; row: 0; } label: "Developer:"; xalign: 1.0; } Label { layout { column: 1; row: 0; } styles [ "accent", ] label: bind template.item as <$BzEntryGroup>.developer; ellipsize: end; xalign: 0.5; } Label { layout { column: 0; row: 1; } label: "Description:"; xalign: 1.0; } Label { layout { column: 1; row: 1; } styles [ "accent", ] label: bind template.item as <$BzEntryGroup>.description; ellipsize: end; xalign: 0.5; } Label { layout { column: 0; row: 2; } label: "EOL:"; xalign: 1.0; } Label { layout { column: 1; row: 2; } styles [ "accent", ] label: bind template.item as <$BzEntryGroup>.eol; ellipsize: end; xalign: 0.5; } Label { layout { column: 2; row: 0; } label: "Installable:"; xalign: 1.0; } Label { layout { column: 3; row: 0; } styles [ "accent", ] label: bind $format_int(template.item as <$BzEntryGroup>.installable) as <string>; xalign: 0.0; } Label { layout { column: 2; row: 1; } label: "Installable-And-Available:"; xalign: 1.0; } Label { layout { column: 3; row: 1; } styles [ "accent", ] label: bind $format_int(template.item as <$BzEntryGroup>.installable-and-available) as <string>; xalign: 0.0; } Label { layout { column: 2; row: 2; } label: "Updatable:"; xalign: 1.0; } Label { layout { column: 3; row: 2; } styles [ "accent", ] label: bind $format_int(template.item as <$BzEntryGroup>.updatable) as <string>; xalign: 0.0; } Label { layout { column: 2; row: 3; } label: "Updatable-And-Available:"; xalign: 1.0; } Label { layout { column: 3; row: 3; } styles [ "accent", ] label: bind $format_int(template.item as <$BzEntryGroup>.updatable-and-available) as <string>; xalign: 0.0; } Label { layout { column: 2; row: 4; } label: "Removable:"; xalign: 1.0; } Label { layout { column: 3; row: 4; } styles [ "accent", ] label: bind $format_int(template.item as <$BzEntryGroup>.removable) as <string>; xalign: 0.0; } Label { layout { column: 2; row: 5; } label: "Removable-And-Available:"; xalign: 1.0; } Label { layout { column: 3; row: 5; } styles [ "accent", ] label: bind $format_int(template.item as <$BzEntryGroup>.removable-and-available) as <string>; xalign: 0.0; } } } }; }; } }; }; } }; }; } } BuilderListItemFactory string_list_factory { template ListItem { selectable: false; activatable: false; child: Box { orientation: horizontal; spacing: 10; Label { styles [ "dimmed", "bz-monospace", ] width-request: 30; label: bind $format_uint(template.position) as <string>; xalign: 1.0; } Label { styles [ "bz-monospace", ] hexpand: true; margin-top: 2; margin-bottom: 2; xalign: 0.0; selectable: true; label: bind template.item as <$GtkStringObject>.string as <string>; } Button { label: "Open"; clicked => $open_file_externally_cb(template); } }; } } BuilderListItemFactory plain_string_list_factory { template ListItem { selectable: false; activatable: false; child: Box { orientation: horizontal; spacing: 10; Label { styles [ "dimmed", "bz-monospace", ] width-request: 30; label: bind $format_uint(template.position) as <string>; xalign: 1.0; } Label { styles [ "bz-monospace", ] hexpand: true; margin-top: 2; margin-bottom: 2; xalign: 0.0; selectable: true; label: bind template.item as <$GtkStringObject>.string as <string>; } }; } } menu inspector_menu { section { item { label: "_Quit Bazaar"; action: "app.quit"; } } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-inspector.c��������������������������������������������������������0000664�0000000�0000000�00000037356�15234476640�0020656�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-inspector.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::INSPECTOR" #include <json-glib/json-glib.h> #include "config.h" #include "bz-entry-inspector.h" #include "env.h" #include "bz-inspector.h" #include "bz-serializable.h" #include "template-callbacks.h" #include "bz-window.h" struct _BzInspector { AdwWindow parent_instance; BzStateInfo *state; GBinding *debug_mode_binding; GBinding *disable_blocklists_binding; GtkWindow *preview_window; GtkCheckButton *debug_mode_check; GtkCheckButton *disable_blocklists_check; GtkEditable *serialize_all_entries_path_entry; GtkButton *serialize_all_entries_btn; GtkProgressBar *serialize_all_entries_progress; GtkEditable *search_entry; GtkFilterListModel *filter_model; GtkSingleSelection *groups_selection; }; G_DEFINE_FINAL_TYPE (BzInspector, bz_inspector, ADW_TYPE_WINDOW); enum { PROP_0, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * serialize_all_entries_fiber (BzInspector *self); static gboolean filter_func (BzEntryGroup *group, BzInspector *self); static void bz_inspector_dispose (GObject *object) { BzInspector *self = BZ_INSPECTOR (object); g_clear_pointer (&self->state, g_object_unref); g_clear_object (&self->debug_mode_binding); g_clear_object (&self->disable_blocklists_binding); if (self->preview_window != NULL) gtk_window_close (self->preview_window); g_clear_object (&self->preview_window); G_OBJECT_CLASS (bz_inspector_parent_class)->dispose (object); } static void bz_inspector_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzInspector *self = BZ_INSPECTOR (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, bz_inspector_get_state (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_inspector_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzInspector *self = BZ_INSPECTOR (object); switch (prop_id) { case PROP_STATE: bz_inspector_set_state (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void serialize_all_entries_cb (BzInspector *self, GtkButton *button) { dex_future_disown ( dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) serialize_all_entries_fiber, g_object_ref (self), g_object_unref)); } static void preview_changed (BzInspector *self, GParamSpec *pspec, GtkCheckButton *button) { if (gtk_check_button_get_active (button)) { BzWindow *window = NULL; BzEntryGroup *selected = NULL; g_assert (self->preview_window == NULL); window = bz_window_new (self->state); gtk_window_set_default_size (GTK_WINDOW (window), 750, 750); gtk_window_present (GTK_WINDOW (window)); selected = gtk_single_selection_get_selected_item (self->groups_selection); if (selected != NULL) bz_window_show_group (window, selected); self->preview_window = (GtkWindow *) g_object_ref_sink (window); } else { if (self->preview_window != NULL) gtk_window_close (self->preview_window); g_clear_object (&self->preview_window); } } static void selected_group_changed (BzInspector *self, GParamSpec *pspec, GtkSingleSelection *selection) { BzEntryGroup *group = NULL; if (self->preview_window == NULL || !gtk_widget_get_mapped (GTK_WIDGET (self->preview_window))) return; group = gtk_single_selection_get_selected_item (self->groups_selection); if (group != NULL) bz_window_show_group (BZ_WINDOW (self->preview_window), group); } static void entry_changed (BzInspector *self, GtkEditable *editable) { GtkFilter *filter = NULL; filter = gtk_filter_list_model_get_filter (self->filter_model); gtk_filter_changed (filter, GTK_FILTER_CHANGE_DIFFERENT); } static void decache_and_inspect_cb (GtkListItem *list_item, GtkButton *button) { GtkStringObject *item = NULL; BzInspector *self = NULL; g_autoptr (BzResult) result = NULL; item = gtk_list_item_get_item (list_item); self = BZ_INSPECTOR (gtk_widget_get_ancestor (GTK_WIDGET (button), BZ_TYPE_INSPECTOR)); g_assert (self != NULL); result = bz_application_map_factory_convert_one ( bz_state_info_get_entry_factory (self->state), g_object_ref (item)); if (result != NULL) { BzEntryInspector *inspector = NULL; inspector = bz_entry_inspector_new (); bz_entry_inspector_set_result (inspector, result); gtk_window_present (GTK_WINDOW (inspector)); } } static void copy_unique_id_cb (GtkListItem *list_item, GtkButton *button) { GtkStringObject *item = NULL; const char *text = NULL; GdkClipboard *clipboard = NULL; item = gtk_list_item_get_item (list_item); text = gtk_string_object_get_string (item); clipboard = gdk_display_get_clipboard (gdk_display_get_default ()); gdk_clipboard_set_text (clipboard, text); } static void open_file_externally_cb (GtkListItem *list_item, GtkButton *button) { GtkStringObject *string = NULL; const char *path = NULL; string = gtk_list_item_get_item (list_item); path = gtk_string_object_get_string (string); #if defined(DEVELOPMENT_BUILD) && defined(SANDBOXED_LIBFLATPAK) { const char *argv[] = { "flatpak-spawn", "--host", "xdg-open", NULL, NULL }; argv[3] = path; g_spawn_async (NULL, (char **) argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); } #else { g_autofree char *uri = NULL; uri = g_strdup_printf ("file://%s", path); g_app_info_launch_default_for_uri (uri, NULL, NULL); } #endif } static void bz_inspector_class_init (BzInspectorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_inspector_set_property; object_class->get_property = bz_inspector_get_property; object_class->dispose = bz_inspector_dispose; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-inspector.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzInspector, debug_mode_check); gtk_widget_class_bind_template_child (widget_class, BzInspector, disable_blocklists_check); gtk_widget_class_bind_template_child (widget_class, BzInspector, serialize_all_entries_path_entry); gtk_widget_class_bind_template_child (widget_class, BzInspector, serialize_all_entries_btn); gtk_widget_class_bind_template_child (widget_class, BzInspector, serialize_all_entries_progress); gtk_widget_class_bind_template_child (widget_class, BzInspector, search_entry); gtk_widget_class_bind_template_child (widget_class, BzInspector, filter_model); gtk_widget_class_bind_template_child (widget_class, BzInspector, groups_selection); gtk_widget_class_bind_template_callback (widget_class, serialize_all_entries_cb); gtk_widget_class_bind_template_callback (widget_class, preview_changed); gtk_widget_class_bind_template_callback (widget_class, selected_group_changed); gtk_widget_class_bind_template_callback (widget_class, decache_and_inspect_cb); gtk_widget_class_bind_template_callback (widget_class, copy_unique_id_cb); gtk_widget_class_bind_template_callback (widget_class, open_file_externally_cb); gtk_widget_class_bind_template_callback (widget_class, entry_changed); } static void on_map (BzInspector *self, GtkWidget *widget) { gtk_widget_grab_focus (GTK_WIDGET (self->search_entry)); } static void bz_inspector_init (BzInspector *self) { GtkCustomFilter *filter = NULL; g_autofree char *serialize_all_entries_output = NULL; gtk_widget_init_template (GTK_WIDGET (self)); filter = gtk_custom_filter_new ((GtkCustomFilterFunc) filter_func, self, NULL); gtk_filter_list_model_set_filter (self->filter_model, GTK_FILTER (filter)); g_signal_connect_swapped (self, "map", G_CALLBACK (on_map), self); serialize_all_entries_output = g_build_filename ( g_get_home_dir (), "BAZAAR_SERIALIZED_ENTRIES.TXT", NULL); gtk_editable_set_text ( self->serialize_all_entries_path_entry, serialize_all_entries_output); } BzInspector * bz_inspector_new (void) { return g_object_new (BZ_TYPE_INSPECTOR, NULL); } BzStateInfo * bz_inspector_get_state (BzInspector *self) { g_return_val_if_fail (BZ_IS_INSPECTOR (self), NULL); return self->state; } void bz_inspector_set_state (BzInspector *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_INSPECTOR (self)); g_clear_pointer (&self->state, g_object_unref); g_clear_pointer (&self->debug_mode_binding, g_object_unref); g_clear_pointer (&self->disable_blocklists_binding, g_object_unref); if (state != NULL) { self->state = g_object_ref (state); self->debug_mode_binding = g_object_bind_property ( state, "debug-mode", self->debug_mode_check, "active", G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE); self->disable_blocklists_binding = g_object_bind_property ( state, "disable-blocklists", self->disable_blocklists_check, "active", G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } static DexFuture * serialize_all_entries_fiber (BzInspector *self) { g_autoptr (GError) local_error = NULL; g_autoptr (BzEntryCacheManager) cache = NULL; const char *path = NULL; g_autofree char *path_clone = NULL; g_autoptr (GFile) file = NULL; g_autoptr (GHashTable) cached_set = NULL; guint cached_set_size = 0; g_autoptr (GFileOutputStream) output = NULL; GHashTableIter iter = { 0 }; if (self->state == NULL) return dex_future_new_false (); cache = bz_state_info_get_cache_manager (self->state); if (cache == NULL) return dex_future_new_false (); g_object_ref (cache); path = gtk_editable_get_text (self->serialize_all_entries_path_entry); if (path == NULL || *path == '\0') return dex_future_new_false (); path_clone = g_strdup (path); file = g_file_new_for_path (path_clone); gtk_widget_set_sensitive (GTK_WIDGET (self->serialize_all_entries_btn), FALSE); gtk_widget_set_visible (GTK_WIDGET (self->serialize_all_entries_progress), TRUE); gtk_progress_bar_set_fraction (self->serialize_all_entries_progress, 0.0); cached_set = dex_await_boxed ( bz_entry_cache_manager_enumerate_disk ( bz_state_info_get_cache_manager (self->state)), &local_error); if (cached_set == NULL) goto err; cached_set_size = g_hash_table_size (cached_set); output = dex_await_object ( dex_file_replace ( file, NULL, TRUE, G_FILE_CREATE_REPLACE_DESTINATION, G_PRIORITY_DEFAULT), &local_error); if (output == NULL) goto err; #define WRITE_STRING(_string) \ G_STMT_START \ { \ dex_await ( \ dex_output_stream_write ( \ G_OUTPUT_STREAM (output), \ (_string), \ strlen ((_string)), \ G_PRIORITY_DEFAULT), \ &local_error); \ if (local_error != NULL) \ goto err; \ } \ G_STMT_END WRITE_STRING ("[\n"); g_hash_table_iter_init (&iter, cached_set); for (guint i = 1;; i++) { char *checksum = NULL; g_autoptr (BzEntry) entry = NULL; g_autoptr (GVariantBuilder) builder = NULL; g_autoptr (GVariant) variant = NULL; g_autoptr (JsonNode) node = NULL; g_autoptr (JsonGenerator) generator = NULL; gsize length = 0; g_autofree char *string = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &checksum, NULL)) break; if (i > 1) WRITE_STRING (",\n\n"); entry = dex_await_object ( bz_entry_cache_manager_get_by_checksum ( cache, checksum), &local_error); if (entry == NULL) goto err; builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT); bz_serializable_serialize (BZ_SERIALIZABLE (entry), builder); variant = g_variant_builder_end (builder); node = json_gvariant_serialize (variant); generator = json_generator_new (); json_generator_set_pretty (generator, TRUE); json_generator_set_root (generator, node); string = json_generator_to_data (generator, &length); dex_await ( dex_output_stream_write ( G_OUTPUT_STREAM (output), string, length, G_PRIORITY_DEFAULT), &local_error); if (local_error != NULL) goto err; gtk_progress_bar_set_fraction ( self->serialize_all_entries_progress, (double) i / (double) cached_set_size); } WRITE_STRING ("\n]\n"); dex_await ( dex_output_stream_close ( G_OUTPUT_STREAM (output), G_PRIORITY_DEFAULT), NULL); gtk_widget_set_sensitive (GTK_WIDGET (self->serialize_all_entries_btn), TRUE); gtk_widget_set_visible (GTK_WIDGET (self->serialize_all_entries_progress), FALSE); return dex_future_new_true (); err: if (local_error != NULL) g_warning ("Failed to serialize: %s", local_error->message); gtk_widget_set_sensitive (GTK_WIDGET (self->serialize_all_entries_btn), TRUE); gtk_widget_set_visible (GTK_WIDGET (self->serialize_all_entries_progress), FALSE); return dex_future_new_for_error (g_steal_pointer (&local_error)); } static gboolean filter_func (BzEntryGroup *group, BzInspector *self) { const char *text = NULL; const char *id = NULL; const char *title = NULL; text = gtk_editable_get_text (self->search_entry); id = bz_entry_group_get_id (group); title = bz_entry_group_get_title (group); if (text == NULL || *text == '\0') return TRUE; if (strcasestr (id, text) != NULL) return TRUE; if (strcasestr (title, text) != NULL) return TRUE; return FALSE; } /* End of bz-inspector.c */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-inspector.h��������������������������������������������������������0000664�0000000�0000000�00000002256�15234476640�0020652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-inspector.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_INSPECTOR (bz_inspector_get_type ()) G_DECLARE_FINAL_TYPE (BzInspector, bz_inspector, BZ, INSPECTOR, AdwWindow) BzInspector * bz_inspector_new (void); BzStateInfo * bz_inspector_get_state (BzInspector *self); void bz_inspector_set_state (BzInspector *self, BzStateInfo *state); G_END_DECLS /* End of bz-inspector.h */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-install-controls.blp�����������������������������������������������0000664�0000000�0000000�00000012355�15234476640�0022502�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzInstallControls: Box { hexpand: bind $invert_boolean(template.wide) as <bool>; Stack stack { visible: bind $is_not_empty_page(stack.visible-child-name) as <bool>; transition-type: crossfade; visible-child-name: bind try { $get_visible_page(template.entry-group as <$BzEntryGroup>.installable, template.entry-group as <$BzEntryGroup>.removable, template.state as <$BzStateInfo>.available-updates, template.tracker as <$BzTransactionEntryTracker>.active as <bool> ) as <string>, $get_visible_page(template.entry-group as <$BzEntryGroup>.installable, template.entry-group as <$BzEntryGroup>.removable, template.state as <$BzStateInfo>.available-updates, false ) as <string> }; hexpand: bind $invert_boolean(template.wide) as <bool>; valign: center; StackPage install { name: "install"; child: $BgeWdgtRenderer animated_button { margin-top: 3; margin-bottom: 3; resource: "/io/github/kolunmi/Bazaar/bz-install-controls.wdgt"; reference: bind template.tracker as <$BzTransactionEntryTracker>; state: bind try { $get_install_btn_state( template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>, template.tracker as <$BzTransactionEntryTracker>.active as <bool>, template.tracker as <$BzTransactionEntryTracker>.pending as <bool>, template.tracker as <$BzTransactionEntryTracker>.progress as <double> ) as <string>, $install_btn_state_fallback() as <string>}; has-tooltip: true; hexpand: bind $invert_boolean(template.wide) as <bool>; halign: bind $choose_int(template.wide, 2, 0) as <int>; }; } StackPage open { name: "open"; child: Box { spacing: bind $choose_int(template.wide, 10, 8) as <int>; homogeneous: bind $invert_boolean(template.wide) as <bool>; halign: bind $choose_int(template.wide, 2, 0) as <int>; valign: center; margin-top: 3; margin-bottom: 3; Button open_button { styles [ "pill", ] visible: bind $invert_boolean($is_blocked(template.state as <$BzStateInfo>.parental-blocked-ids, template.entry-group as <$BzEntryGroup>) as <bool>) as <bool>; has-tooltip: true; hexpand: bind $invert_boolean(template.wide) as <bool>; label: _("_Open"); use-underline: true; sensitive: bind $invert_boolean($is_zero(template.entry-group as <$BzEntryGroup>.removable-and-available) as <bool>) as <bool>; clicked => $run_cb(template); } Button { styles [ "destructive-action", "circular", ] width-request: bind $choose_int(template.wide, 45, -1) as <int>; hexpand: bind $invert_boolean(template.wide) as <bool>; has-tooltip: bind template.wide as <bool>; tooltip-text: _("Uninstall Application"); sensitive: bind $invert_boolean($is_zero(template.entry-group as <$BzEntryGroup>.removable-and-available) as <bool>) as <bool>; clicked => $remove_cb(template); child: Box { halign: center; hexpand: true; Label { visible: bind $invert_boolean(template.wide) as <bool>; label: _("_Remove"); use-underline: true; } Image { visible: bind template.wide as <bool>; icon-name: "user-trash-symbolic"; } }; } }; } StackPage update { name: "update"; child: Box { spacing: bind $choose_int(template.wide, 10, 8) as <int>; homogeneous: bind $invert_boolean(template.wide) as <bool>; halign: bind $choose_int(template.wide, 2, 0) as <int>; valign: center; margin-top: 3; margin-bottom: 3; Button update_button { styles [ "pill", "suggested-action" ] hexpand: bind $invert_boolean(template.wide) as <bool>; label: _("Update"); clicked => $update_cb(template); } Button { styles [ "destructive-action", "circular", ] width-request: bind $choose_int(template.wide, 45, -1) as <int>; hexpand: bind $invert_boolean(template.wide) as <bool>; has-tooltip: bind template.wide as <bool>; tooltip-text: _("Uninstall Application"); sensitive: bind $invert_boolean($is_zero(template.entry-group as <$BzEntryGroup>.removable-and-available) as <bool>) as <bool>; clicked => $remove_cb(template); child: Box { halign: center; hexpand: true; Label { visible: bind $invert_boolean(template.wide) as <bool>; label: _("Remove"); } Image { visible: bind template.wide as <bool>; icon-name: "user-trash-symbolic"; } }; } }; } StackPage empty { name: "empty"; child: Adw.Bin {}; } } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-install-controls.c�������������������������������������������������0000664�0000000�0000000�00000050446�15234476640�0022152�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-install-controls.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include <bge.h> #include "bz-install-controls.h" #include "bz-state-info.h" #include "template-callbacks.h" #include "util.h" #include "progress-bar-designs/common.h" struct _BzInstallControls { GtkBox parent_instance; BzEntryGroup *group; BzStateInfo *state; GSettings *settings; gboolean wide; BzTransactionEntryTracker *tracker; GListModel *all_trackers; GtkWidget *install_button; char *install_btn_class; char *pride_class; /* Template widgets */ GtkWidget *open_button; GtkWidget *update_button; GtkWidget *animated_button; }; G_DEFINE_FINAL_TYPE (BzInstallControls, bz_install_controls, GTK_TYPE_BOX) enum { PROP_0, PROP_WIDE, PROP_ENTRY_GROUP, PROP_STATE, PROP_SETTINGS, PROP_TRACKER, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_UPDATE, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void pride_flag_changed (BzInstallControls *self, const char *key, GSettings *settings); static void ensure_draw_css (BzInstallControls *self); static void update_tracker (BzInstallControls *self) { BzTransactionManager *manager = NULL; g_autoptr (GListModel) all = NULL; const char *group_id = NULL; g_autoptr (BzTransactionEntryTracker) found = NULL; if (self->state != NULL) manager = bz_state_info_get_transaction_manager (self->state); if (manager != NULL) g_object_get (manager, "all-trackers", &all, NULL); if (self->group != NULL) group_id = bz_entry_group_get_id (self->group); if (all != NULL && group_id != NULL) { for (guint i = 0; i < g_list_model_get_n_items (all); i++) { g_autoptr (BzTransactionEntryTracker) tracker = NULL; BzEntry *entry = NULL; tracker = g_list_model_get_item (all, i); entry = bz_transaction_entry_tracker_get_entry (tracker); if (g_strcmp0 (entry != NULL ? bz_entry_get_id (entry) : NULL, group_id) == 0) { found = g_steal_pointer (&tracker); break; } } } if (g_set_object (&self->tracker, found)) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRACKER]); } static void on_all_trackers_changed (GListModel *model, guint position, guint removed, guint added, BzInstallControls *self) { update_tracker (self); } static void install_cancel_cb (BzInstallControls *self, GtkButton *button) { const char *state = NULL; if (self->group == NULL) return; state = bge_wdgt_renderer_get_state (BGE_WDGT_RENDERER (self->animated_button)); if (state == NULL) return; if (g_strcmp0 (state, "inactive") == 0) gtk_widget_activate_action (GTK_WIDGET (self), "window.install-group", "(sb)", bz_entry_group_get_id (self->group), TRUE); else gtk_widget_activate_action (GTK_WIDGET (self), "window.cancel-group", "s", bz_entry_group_get_id (self->group)); } static void remove_cb (BzInstallControls *self, GtkButton *button) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.remove-group", "(sb)", bz_entry_group_get_id (self->group), TRUE); } static void run_cb (BzInstallControls *self, GtkButton *button) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.launch-group", "s", bz_entry_group_get_id (self->group)); } static GListStore * find_matching_updates (BzInstallControls *self, GListModel *available_updates) { const char *group_id = NULL; guint n_items = 0; GListStore *store = NULL; if (self->group == NULL || available_updates == NULL) return NULL; group_id = bz_entry_group_get_id (self->group); n_items = g_list_model_get_n_items (available_updates); store = g_list_store_new (BZ_TYPE_ENTRY); for (guint i = 0; i < n_items; i++) { g_autoptr (BzEntry) entry = NULL; const char *id = NULL; entry = g_list_model_get_item (available_updates, i); id = bz_entry_get_id (entry); if (g_strcmp0 (id, group_id) == 0) g_list_store_append (store, entry); } if (g_list_model_get_n_items (G_LIST_MODEL (store)) == 0) g_clear_object (&store); return store; } static void update_cb (BzInstallControls *self, GtkButton *button) { GListModel *available_updates = NULL; g_autoptr (GListStore) store = NULL; if (self->state == NULL) return; available_updates = bz_state_info_get_available_updates (self->state); store = find_matching_updates (self, available_updates); if (store != NULL) g_signal_emit (self, signals[SIGNAL_UPDATE], 0, G_LIST_MODEL (store)); } static gboolean is_not_empty_page (gpointer object, const char *page_name) { if (page_name == NULL) return FALSE; return g_strcmp0 (page_name, "empty") != 0; } static char * get_visible_page (gpointer object, int installable, int removable, GListModel *available_updates, gboolean active) { BzInstallControls *self = BZ_INSTALL_CONTROLS (object); g_autoptr (GListStore) store = NULL; if (active) return g_strdup ("install"); if (removable > 0) { if (g_signal_has_handler_pending (self, signals[SIGNAL_UPDATE], 0, FALSE)) store = find_matching_updates (self, available_updates); return g_strdup (store != NULL ? "update" : "open"); } else if (installable > 0) return g_strdup ("install"); else return g_strdup ("empty"); } static void set_install_btn_class (BzInstallControls *self, const char *class) { if (self->install_button == NULL) return; if (self->install_btn_class != NULL && g_strcmp0 (class, self->install_btn_class) == 0) return; if (self->install_btn_class != NULL) gtk_widget_remove_css_class (self->install_button, self->install_btn_class); g_clear_pointer (&self->install_btn_class, g_free); if (class != NULL) { gtk_widget_add_css_class (self->install_button, class); self->install_btn_class = g_strdup (class); } } static char * get_install_btn_state (BzInstallControls *self, BzTransactionEntryStatus status, gboolean active, gboolean pending, double progress) { g_autofree char *state = NULL; const char *class = NULL; if ((active || pending) && status == BZ_TRANSACTION_ENTRY_STATUS_CANCELLED) { state = g_strdup ("cancelling"); class = NULL; } else if (pending || status == BZ_TRANSACTION_ENTRY_STATUS_QUEUED) { state = g_strdup ("pending"); class = NULL; } else if (!active || status == BZ_TRANSACTION_ENTRY_STATUS_DONE) { state = g_strdup ("inactive"); class = "suggested-action"; } else { state = g_strdup ("fraction"); class = NULL; } set_install_btn_class (self, class); return g_steal_pointer (&state); } static char * install_btn_state_fallback (BzInstallControls *self) { set_install_btn_class (self, "suggested-action"); return g_strdup ("inactive"); } static gboolean is_blocked (gpointer object, GListModel *parental_blocked, BzEntryGroup *group) { const char *id = NULL; if (parental_blocked == NULL || group == NULL) return FALSE; id = bz_entry_group_get_id (group); if (id == NULL) return FALSE; for (guint i = 0; i < g_list_model_get_n_items (parental_blocked); i++) { g_autoptr (GtkStringObject) obj = g_list_model_get_item (parental_blocked, i); if (strstr (gtk_string_object_get_string (obj), id) != NULL) return TRUE; } return FALSE; } static gboolean idle_grab_focus (GWeakRef *wr) { g_autoptr (BzInstallControls) self = NULL; self = g_weak_ref_get (wr); if (self == NULL) goto done; if (gtk_widget_is_visible (GTK_WIDGET (self))) { GtkWidget *target = self->install_button; if (self->group != NULL && bz_entry_group_get_removable (self->group) > 0) target = find_matching_updates (self, bz_state_info_get_available_updates (self->state)) != NULL ? self->update_button : self->open_button; gtk_widget_grab_focus (target); } done: return G_SOURCE_REMOVE; } static void bz_install_controls_dispose (GObject *object) { BzInstallControls *self = BZ_INSTALL_CONTROLS (object); if (self->settings != NULL) g_signal_handlers_disconnect_by_func ( self->settings, pride_flag_changed, self); if (self->all_trackers != NULL) g_signal_handlers_disconnect_by_func ( self->all_trackers, on_all_trackers_changed, self); g_clear_object (&self->group); g_clear_object (&self->state); g_clear_object (&self->settings); g_clear_object (&self->tracker); g_clear_object (&self->install_button); g_clear_pointer (&self->install_btn_class, g_free); g_clear_pointer (&self->pride_class, g_free); g_clear_object (&self->all_trackers); G_OBJECT_CLASS (bz_install_controls_parent_class)->dispose (object); } static void bz_install_controls_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzInstallControls *self = BZ_INSTALL_CONTROLS (object); switch (prop_id) { case PROP_WIDE: g_value_set_boolean (value, self->wide); break; case PROP_ENTRY_GROUP: g_value_set_object (value, self->group); break; case PROP_STATE: g_value_set_object (value, self->state); break; case PROP_TRACKER: g_value_set_object (value, self->tracker); break; case PROP_SETTINGS: g_value_set_object (value, self->settings); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_install_controls_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzInstallControls *self = BZ_INSTALL_CONTROLS (object); switch (prop_id) { case PROP_WIDE: bz_install_controls_set_wide (self, g_value_get_boolean (value)); break; case PROP_ENTRY_GROUP: bz_install_controls_set_entry_group (self, g_value_get_object (value)); break; case PROP_STATE: bz_install_controls_set_state (self, g_value_get_object (value)); break; case PROP_SETTINGS: { if (self->settings != NULL) g_signal_handlers_disconnect_by_func ( self->settings, pride_flag_changed, self); g_clear_object (&self->settings); self->settings = g_value_dup_object (value); if (self->settings != NULL) { g_signal_connect_swapped ( self->settings, "changed::global-progress-bar-theme", G_CALLBACK (pride_flag_changed), self); } ensure_draw_css (self); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_install_controls_class_init (BzInstallControlsClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_install_controls_dispose; object_class->get_property = bz_install_controls_get_property; object_class->set_property = bz_install_controls_set_property; props[PROP_WIDE] = g_param_spec_boolean ( "wide", NULL, NULL, TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ENTRY_GROUP] = g_param_spec_object ( "entry-group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_SETTINGS] = g_param_spec_object ( "settings", NULL, NULL, G_TYPE_SETTINGS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TRACKER] = g_param_spec_object ( "tracker", NULL, NULL, BZ_TYPE_TRANSACTION_ENTRY_TRACKER, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_UPDATE] = g_signal_new ( "update", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_LIST_MODEL); g_signal_set_va_marshaller ( signals[SIGNAL_UPDATE], G_TYPE_FROM_CLASS (klass), g_cclosure_marshal_VOID__OBJECTv); g_type_ensure (BZ_TYPE_ENTRY_GROUP); g_type_ensure (BZ_TYPE_STATE_INFO); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-install-controls.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzInstallControls, open_button); gtk_widget_class_bind_template_child (widget_class, BzInstallControls, update_button); gtk_widget_class_bind_template_child (widget_class, BzInstallControls, animated_button); gtk_widget_class_bind_template_callback (widget_class, install_cancel_cb); gtk_widget_class_bind_template_callback (widget_class, remove_cb); gtk_widget_class_bind_template_callback (widget_class, run_cb); gtk_widget_class_bind_template_callback (widget_class, update_cb); gtk_widget_class_bind_template_callback (widget_class, is_not_empty_page); gtk_widget_class_bind_template_callback (widget_class, get_visible_page); gtk_widget_class_bind_template_callback (widget_class, get_install_btn_state); gtk_widget_class_bind_template_callback (widget_class, install_btn_state_fallback); gtk_widget_class_bind_template_callback (widget_class, is_blocked); } static void bz_install_controls_init (BzInstallControls *self) { self->wide = TRUE; gtk_widget_init_template (GTK_WIDGET (self)); self->install_button = bge_wdgt_renderer_lookup_object ( BGE_WDGT_RENDERER (self->animated_button), "btn"); gtk_widget_add_css_class (self->install_button, "pill"); g_signal_connect_swapped ( self->install_button, "clicked", G_CALLBACK (install_cancel_cb), self); gtk_widget_add_css_class (self->install_button, "suggested-action"); self->install_btn_class = g_strdup ("suggested-action"); } GtkWidget * bz_install_controls_new (void) { return g_object_new (BZ_TYPE_INSTALL_CONTROLS, NULL); } gboolean bz_install_controls_get_wide (BzInstallControls *self) { g_return_val_if_fail (BZ_IS_INSTALL_CONTROLS (self), FALSE); return self->wide; } void bz_install_controls_set_wide (BzInstallControls *self, gboolean wide) { g_return_if_fail (BZ_IS_INSTALL_CONTROLS (self)); wide = !!wide; if (self->wide == wide) return; self->wide = wide; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WIDE]); } BzEntryGroup * bz_install_controls_get_entry_group (BzInstallControls *self) { g_return_val_if_fail (BZ_IS_INSTALL_CONTROLS (self), NULL); return self->group; } void bz_install_controls_set_entry_group (BzInstallControls *self, BzEntryGroup *group) { const char *title = NULL; const char *developer = NULL; g_return_if_fail (BZ_IS_INSTALL_CONTROLS (self)); if (self->group == group) return; g_clear_object (&self->group); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENTRY_GROUP]); if (group != NULL) { title = bz_entry_group_get_title (group); developer = bz_entry_group_get_developer (group); } if (self->install_button != NULL) { g_autofree char *label = NULL; if (title != NULL && developer != NULL) label = g_strdup_printf (_("Install %s from %s"), title, developer); else if (title != NULL) label = g_strdup_printf (_("Install %s"), title); if (label != NULL) gtk_accessible_update_property ( GTK_ACCESSIBLE (self->install_button), GTK_ACCESSIBLE_PROPERTY_LABEL, label, -1); } if (group != NULL) g_idle_add_full ( G_PRIORITY_DEFAULT_IDLE, (GSourceFunc) idle_grab_focus, bz_track_weak (self), bz_weak_release); update_tracker (self); } BzStateInfo * bz_install_controls_get_state (BzInstallControls *self) { g_return_val_if_fail (BZ_IS_INSTALL_CONTROLS (self), NULL); return self->state; } void bz_install_controls_set_state (BzInstallControls *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_INSTALL_CONTROLS (self)); if (self->all_trackers != NULL) { g_signal_handlers_disconnect_by_func (self->all_trackers, on_all_trackers_changed, self); g_clear_object (&self->all_trackers); } g_set_object (&self->state, state); if (state != NULL) { BzTransactionManager *mgr = NULL; mgr = bz_state_info_get_transaction_manager (state); if (mgr != NULL) g_object_get (mgr, "all-trackers", &self->all_trackers, NULL); if (self->all_trackers != NULL) g_signal_connect (self->all_trackers, "items-changed", G_CALLBACK (on_all_trackers_changed), self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); update_tracker (self); } static void pride_flag_changed (BzInstallControls *self, const char *key, GSettings *settings) { ensure_draw_css (self); } static void ensure_draw_css (BzInstallControls *self) { if (self->settings != NULL) { g_autofree char *id = NULL; g_autofree char *final_id = NULL; g_autofree char *class = NULL; id = g_settings_get_string (self->settings, "global-progress-bar-theme"); if (g_strcmp0 (id, "accent-color") != 0) final_id = g_strdup_printf ("%s-horizontal", id); else final_id = g_strdup (id); class = bz_dup_css_class_for_pride_id (final_id); if (self->pride_class != NULL && g_strcmp0 (self->pride_class, class) == 0) return; if (self->pride_class != NULL) gtk_widget_remove_css_class (self->animated_button, self->pride_class); g_clear_pointer (&self->pride_class, g_free); gtk_widget_add_css_class (self->animated_button, class); self->pride_class = g_steal_pointer (&class); } else { if (self->pride_class != NULL) gtk_widget_remove_css_class (self->animated_button, self->pride_class); g_clear_pointer (&self->pride_class, g_free); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-install-controls.h�������������������������������������������������0000664�0000000�0000000�00000003213�15234476640�0022145�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-install-controls.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-state-info.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_INSTALL_CONTROLS (bz_install_controls_get_type ()) G_DECLARE_FINAL_TYPE (BzInstallControls, bz_install_controls, BZ, INSTALL_CONTROLS, GtkBox) GtkWidget * bz_install_controls_new (void); gboolean bz_install_controls_get_wide (BzInstallControls *self); void bz_install_controls_set_wide (BzInstallControls *self, gboolean wide); BzEntryGroup * bz_install_controls_get_entry_group (BzInstallControls *self); void bz_install_controls_set_entry_group (BzInstallControls *self, BzEntryGroup *group); BzStateInfo * bz_install_controls_get_state (BzInstallControls *self); void bz_install_controls_set_state (BzInstallControls *self, BzStateInfo *state); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-install-controls.wdgt����������������������������������������������0000664�0000000�0000000�00000007605�15234476640�0022674�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������defwidget "Install Button" { reference state : "BzTransactionEntryTracker"; var progress : "gdouble"; var lbl-install : "GtkLabel"; var lbl-cancel : "GtkLabel"; var lbl-cancelling : "GtkLabel"; var stack : "GtkStack"; var btn : "GtkButton"; var flag : "GtkFixed"; var start : "gdouble"; var end : "gdouble"; var opacity : "gdouble"; var corner : "gdouble"; var outline : "GskPath"; var outline-measure : "GskPathMeasure"; var outline-width : "gdouble"; var outline-opacity : "gdouble"; init { set progress = #transition(state:progress, 1.1, 0.1, 10.0); set stack = #( transition-type = crossfade; transition-duration = 200; %set lbl-install = #child/GtkLabel(""() label = C_("Install Controls", "Install"); ); %set lbl-cancel = #child/GtkLabel(""() label = C_("Install Controls", "Cancel"); ); %set lbl-cancelling = #child/GtkLabel(""() label = C_("Install Controls", "Cancelling"); ); ); allocate stack %width%, %height%, #(); set btn = #child/(""("pill") child = stack; margin-start = 4; margin-end = 4; margin-top = 4; margin-bottom = 4; ); allocate btn %width%, %height%, #(); set flag = #child/(""("install-button-indicator") can-target = false; ); allocate flag %width%, %height%, #(); set corner = #eval(#(%height%)/2.0); set outline = #GskPath( move-to(#eval(#(%width%)/2.0), 0.0); rel-line-to(#eval(#(%width%)/2.0-#(corner)), 0.0); rel-arc-to(corner, 0.0, corner, corner); rel-line-to(0.0, #eval(#(%height%)-#(corner)*2.0)); rel-arc-to(0.0, corner, #eval(-#(corner)), corner); rel-line-to(#eval(-(#(%width%)-#(corner)*2.0)), 0.0); rel-arc-to(#eval(-#(corner)), 0.0, #eval(-#(corner)), #eval(-#(corner))); rel-line-to(0.0, #eval(-(#(%height%)-#(corner)*2.0))); rel-arc-to(0.0, #eval(-#(corner)), corner, #eval(-#(corner))); rel-line-to(#eval(#(%width%)/2.0-#(corner)), 0.0); close(); ); set outline-measure = #measure-path(outline); snapshot { do-child btn; with opacity(outline-opacity) { with stroke( #GskPath( add-segment( outline, #path-point(outline-measure, #eval((#(start)%1.0)*#(#path-length(outline-measure)))), #path-point(outline-measure, #eval((#(end)%1.0)*#(#path-length(outline-measure)))), ); ), #GskStroke(outline-width, butt, round, 0.0), ) { do-child flag; } } } } state-default "inactive" { set btn:sensitive = true; set stack:visible-child = lbl-install; set start = 0.0; set end = 0.001; set outline-width = 5.0; set outline-opacity = 0.0; transition-spring outline-width 1.0, 0.1, 15.0; transition-spring outline-opacity 1.0, 0.1, 100.0; } state "pending" { set btn:sensitive = true; set stack:visible-child = lbl-cancel; set start = #eval((#(%tick%)/3.0)%1.0); set end = #eval((#(start)+0.2)%1.0); set outline-width = 5.0; set outline-opacity = 1.0; transition-spring outline-width 1.0, 0.1, 10.0; transition-spring outline-opacity 1.0, 0.1, 10.0; } state "fraction" { set btn:sensitive = true; set stack:visible-child = lbl-cancel; set start = 0.0; set end = #eval(0.05+#(progress)*0.95); set outline-width = 5.0; set outline-opacity = 1.0; transition-spring outline-width 1.1, 0.1, 10.0; transition-spring outline-opacity 1.1, 0.1, 10.0; } state "cancelling" { set btn:sensitive = false; set stack:visible-child = lbl-cancelling; set start = 0.0; set end = 0.001; set outline-width = 0.0; set outline-opacity = 1.0; transition-spring outline-width 1.0, 0.1, 10.0; transition-spring outline-opacity 1.0, 0.1, 10.0; } } ���������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-installed-tile.blp�������������������������������������������������0000664�0000000�0000000�00000006326�15234476640�0022106�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzInstalledTile: $BzListTile { accessibility { labelled-by: title_label; described-by: description_label; } child: Box { orientation: horizontal; spacing: 10; $BzTransactIcon { margin-start: 10; margin-top: 10; margin-bottom: 10; width-request: 64; height-request: 64; valign: center; halign: center; info: $BzTransactIconInfo { group: bind template.group as <$BzEntryGroup>; paintable: bind template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; }; } Box { orientation: vertical; valign: center; spacing: 4; Label title_label { xalign: 0.0; ellipsize: end; single-line-mode: true; has-tooltip: true; tooltip-text: bind template.group as <$BzEntryGroup>.id; label: bind template.group as <$BzEntryGroup>.title; } Label description_label { halign: start; ellipsize: end; single-line-mode: true; label: bind $format_description(template.group as <$BzEntryGroup>.installed-size, template.group as <$BzEntryGroup>.installed-versions) as <string>; styles ["dimmed", "caption", "installed-size"] } Label { xalign: 0.0; ellipsize: end; single-line-mode: true; visible: bind $invert_boolean($is_null(template.group as <$BzEntryGroup>.eol) as <bool>) as <bool>; label: _("Stopped Receiving Updates"); styles ["warning", "caption"] } } Button support_button { styles [ "circular", "flat", "suggested-action", "support" ] has-tooltip: true; tooltip-text: bind template.group as <$BzEntryGroup>.donation-url; width-request: 32; height-request: 32; valign: center; icon-name: "heart-filled-symbolic"; visible: bind $invert_boolean($is_null(template.group as <$BzEntryGroup>.donation-url) as <bool>) as <bool>; clicked => $support_cb() swapped; accessibility { label: _("Donate Button"); } } Box { orientation: horizontal; spacing: 8; margin-end: 8; hexpand: true; halign: end; Button addons_button { styles [ "flat" ] tooltip-text: _("Manage Add-Ons"); visible: bind $invert_boolean($is_zero(template.group as <$BzEntryGroup>.n-addons as <int>) as <bool>) as <bool>; valign: center; icon-name: "application-x-addon-symbolic"; clicked => $install_addons_cb() swapped; } Button remove_button { styles [ "flat", ] tooltip-text: _("Remove"); valign: center; icon-name: "user-trash-symbolic"; visible: bind $invert_boolean($is_zero(template.group as <$BzEntryGroup>.removable) as <bool>) as <bool>; sensitive: bind $invert_boolean($is_zero(template.group as <$BzEntryGroup>.removable-and-available) as <bool>) as <bool>; clicked => $remove_cb() swapped; } Image { pixel-size: 14; icon-name: "go-next-symbolic"; margin-end: 4; styles ["dimmed"] } } }; }����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-installed-tile.c���������������������������������������������������0000664�0000000�0000000�00000020700�15234476640�0021543�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-installed-tile.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-addons-dialog.h" #include "bz-entry-group-util.h" #include "bz-entry-group.h" #include "env.h" #include "error.h" #include "bz-installed-tile.h" #include "bz-library-page.h" #include "bz-state-info.h" #include "bz-transact-icon.h" #include "bz-transact-icon-info.h" #include "bz-window.h" struct _BzInstalledTile { BzListTile parent_instance; BzEntryGroup *group; GtkLabel *title_label; GtkButton *support_button; GtkButton *remove_button; }; G_DEFINE_FINAL_TYPE (BzInstalledTile, bz_installed_tile, BZ_TYPE_LIST_TILE) enum { PROP_0, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_installed_tile_dispose (GObject *object) { BzInstalledTile *self = BZ_INSTALLED_TILE (object); g_clear_object (&self->group); G_OBJECT_CLASS (bz_installed_tile_parent_class)->dispose (object); } static void bz_installed_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzInstalledTile *self = BZ_INSTALLED_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_installed_tile_get_group (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_installed_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzInstalledTile *self = BZ_INSTALLED_TILE (object); switch (prop_id) { case PROP_GROUP: bz_installed_tile_set_group (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_zero (gpointer object, int value) { return value == 0; } static gboolean logical_and (gpointer object, gboolean a, gboolean b) { return a && b; } static gboolean logical_or (gpointer object, gboolean a, gboolean b) { return a || b; } static char * format_description (gpointer object, guint64 size, GListModel *versions) { g_autoptr (GString) result = NULL; g_autoptr (GString) versions_str = NULL; g_autofree char *size_str = NULL; guint n_versions = 0; result = g_string_new (NULL); if (versions != NULL) n_versions = g_list_model_get_n_items (versions); if (n_versions > 0) { versions_str = g_string_new (NULL); for (guint i = 0; i < n_versions; i++) { g_autoptr (GtkStringObject) string = NULL; const char *version = NULL; string = g_list_model_get_item (versions, i); version = gtk_string_object_get_string (string); if (version != NULL && *version != '\0') { if (versions_str->len > 0) g_string_append_c (versions_str, ' '); g_string_append (versions_str, version); } } if (versions_str->len > 0) { g_string_append (result, versions_str->str); g_string_append (result, " • "); } } size_str = g_format_size (size); g_string_append (result, size_str); return g_string_free (g_steal_pointer (&result), FALSE); } static void support_cb (BzInstalledTile *self, GtkButton *button) { const char *url = NULL; if (self->group == NULL) return; url = bz_entry_group_get_donation_url (self->group); if (url == NULL) return; g_app_info_launch_default_for_uri (url, NULL, NULL); } static void permissions_cb (BzInstalledTile *self) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.permissions", "s", bz_entry_group_get_id (self->group)); } static void install_addons_cb (BzInstalledTile *self) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.addons-group", "s", bz_entry_group_get_id (self->group)); } static void remove_cb (BzInstalledTile *self, GtkButton *button) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.remove-group", "(sb)", bz_entry_group_get_id (self->group), FALSE); } static void bz_installed_tile_class_init (BzInstalledTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_installed_tile_dispose; object_class->get_property = bz_installed_tile_get_property; object_class->set_property = bz_installed_tile_set_property; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LIST_TILE); g_type_ensure (BZ_TYPE_ENTRY_GROUP); g_type_ensure (BZ_TYPE_TRANSACT_ICON); g_type_ensure (BZ_TYPE_TRANSACT_ICON_INFO); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-installed-tile.ui"); gtk_widget_class_bind_template_child (widget_class, BzInstalledTile, title_label); gtk_widget_class_bind_template_child (widget_class, BzInstalledTile, support_button); gtk_widget_class_bind_template_child (widget_class, BzInstalledTile, remove_button); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, logical_and); gtk_widget_class_bind_template_callback (widget_class, logical_or); gtk_widget_class_bind_template_callback (widget_class, format_description); gtk_widget_class_bind_template_callback (widget_class, support_cb); gtk_widget_class_bind_template_callback (widget_class, install_addons_cb); gtk_widget_class_bind_template_callback (widget_class, remove_cb); gtk_widget_class_bind_template_callback (widget_class, permissions_cb); gtk_widget_class_install_action (widget_class, "installed-tile.install-addons", NULL, (GtkWidgetActionActivateFunc) install_addons_cb); gtk_widget_class_install_action (widget_class, "installed-tile.permissions", NULL, (GtkWidgetActionActivateFunc) permissions_cb); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_installed_tile_init (BzInstalledTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_installed_tile_new (void) { return g_object_new (BZ_TYPE_INSTALLED_TILE, NULL); } void bz_installed_tile_set_group (BzInstalledTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_INSTALLED_TILE (self)); g_return_if_fail (group == NULL || BZ_IS_ENTRY_GROUP (group)); g_clear_object (&self->group); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } BzEntryGroup * bz_installed_tile_get_group (BzInstalledTile *self) { g_return_val_if_fail (BZ_IS_INSTALLED_TILE (self), NULL); return self->group; } ����������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-installed-tile.h���������������������������������������������������0000664�0000000�0000000�00000002373�15234476640�0021556�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-installed-tile.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-list-tile.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_INSTALLED_TILE (bz_installed_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzInstalledTile, bz_installed_tile, BZ, INSTALLED_TILE, BzListTile) GtkWidget * bz_installed_tile_new (void); void bz_installed_tile_set_group (BzInstalledTile *self, BzEntryGroup *group); BzEntryGroup * bz_installed_tile_get_group (BzInstalledTile *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-internal-config.txt������������������������������������������������0000664�0000000�0000000�00000000331�15234476640�0022303�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=internal_config parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-search-bias.h" ensure=BZ_TYPE_SEARCH_BIAS property=search_biases GListModel G_TYPE_LIST_MODEL object �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-lazy-wdgt.c��������������������������������������������������������0000664�0000000�0000000�00000023000�15234476640�0020547�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-lazy-wdgt.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ /** * BzLazyWdgt: * * Initializing a BgeWdgtRenderer can be expensive, so this allows you to have a * placeholder widget until the state changes from a non-NULL value to another * non-NULL value, at which point a proper renderer will be swapped in. */ #include "bz-lazy-wdgt.h" struct _BzLazyWdgt { AdwBin parent_instance; BgeWdgtSpec *wdgt_spec; char *wdgt_resource; char *wdgt_state; GObject *wdgt_reference; gboolean activated; }; G_DEFINE_FINAL_TYPE (BzLazyWdgt, bz_lazy_wdgt, ADW_TYPE_BIN); enum { PROP_0, PROP_WDGT_SPEC, PROP_WDGT_RESOURCE, PROP_WDGT_STATE, PROP_WDGT_REFERENCE, PROP_WDGT_ACTIVATED, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void maybe_activate (BzLazyWdgt *self); static void bz_lazy_wdgt_dispose (GObject *object) { BzLazyWdgt *self = BZ_LAZY_WDGT (object); g_clear_pointer (&self->wdgt_spec, g_object_unref); g_clear_pointer (&self->wdgt_resource, g_free); g_clear_pointer (&self->wdgt_state, g_free); g_clear_pointer (&self->wdgt_reference, g_object_unref); G_OBJECT_CLASS (bz_lazy_wdgt_parent_class)->dispose (object); } static void bz_lazy_wdgt_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzLazyWdgt *self = BZ_LAZY_WDGT (object); switch (prop_id) { case PROP_WDGT_SPEC: g_value_set_object (value, bz_lazy_wdgt_get_wdgt_spec (self)); break; case PROP_WDGT_RESOURCE: g_value_set_string (value, bz_lazy_wdgt_get_wdgt_resource (self)); break; case PROP_WDGT_STATE: g_value_set_string (value, bz_lazy_wdgt_get_wdgt_state (self)); break; case PROP_WDGT_REFERENCE: g_value_set_object (value, bz_lazy_wdgt_get_wdgt_reference (self)); break; case PROP_WDGT_ACTIVATED: g_value_set_boolean (value, bz_lazy_wdgt_get_activated (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_lazy_wdgt_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzLazyWdgt *self = BZ_LAZY_WDGT (object); switch (prop_id) { case PROP_WDGT_SPEC: bz_lazy_wdgt_set_wdgt_spec (self, g_value_get_object (value)); break; case PROP_WDGT_RESOURCE: bz_lazy_wdgt_set_wdgt_resource (self, g_value_get_string (value)); break; case PROP_WDGT_STATE: bz_lazy_wdgt_set_wdgt_state (self, g_value_get_string (value)); break; case PROP_WDGT_REFERENCE: bz_lazy_wdgt_set_wdgt_reference (self, g_value_get_object (value)); break; case PROP_WDGT_ACTIVATED: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_lazy_wdgt_class_init (BzLazyWdgtClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_lazy_wdgt_set_property; object_class->get_property = bz_lazy_wdgt_get_property; object_class->dispose = bz_lazy_wdgt_dispose; props[PROP_WDGT_SPEC] = g_param_spec_object ( "wdgt-spec", NULL, NULL, BGE_TYPE_WDGT_SPEC, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_WDGT_RESOURCE] = g_param_spec_string ( "wdgt-resource", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_WDGT_STATE] = g_param_spec_string ( "wdgt-state", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_WDGT_REFERENCE] = g_param_spec_object ( "wdgt-reference", NULL, NULL, G_TYPE_OBJECT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_WDGT_ACTIVATED] = g_param_spec_boolean ( "activated", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_lazy_wdgt_init (BzLazyWdgt *self) { } BzLazyWdgt * bz_lazy_wdgt_new (void) { return g_object_new (BZ_TYPE_LAZY_WDGT, NULL); } BgeWdgtSpec * bz_lazy_wdgt_get_wdgt_spec (BzLazyWdgt *self) { g_return_val_if_fail (BZ_IS_LAZY_WDGT (self), NULL); return self->wdgt_spec; } const char * bz_lazy_wdgt_get_wdgt_resource (BzLazyWdgt *self) { g_return_val_if_fail (BZ_IS_LAZY_WDGT (self), NULL); return self->wdgt_resource; } const char * bz_lazy_wdgt_get_wdgt_state (BzLazyWdgt *self) { g_return_val_if_fail (BZ_IS_LAZY_WDGT (self), NULL); return self->wdgt_state; } GObject * bz_lazy_wdgt_get_wdgt_reference (BzLazyWdgt *self) { g_return_val_if_fail (BZ_IS_LAZY_WDGT (self), NULL); return self->wdgt_reference; } gboolean bz_lazy_wdgt_get_activated (BzLazyWdgt *self) { g_return_val_if_fail (BZ_IS_LAZY_WDGT (self), FALSE); return self->activated; } void bz_lazy_wdgt_set_wdgt_spec (BzLazyWdgt *self, BgeWdgtSpec *wdgt_spec) { g_return_if_fail (BZ_IS_LAZY_WDGT (self)); g_return_if_fail (wdgt_spec == NULL || BGE_IS_WDGT_SPEC (wdgt_spec)); if (wdgt_spec == self->wdgt_spec) return; g_clear_pointer (&self->wdgt_spec, g_object_unref); if (wdgt_spec != NULL) self->wdgt_spec = g_object_ref (wdgt_spec); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WDGT_SPEC]); } void bz_lazy_wdgt_set_wdgt_resource (BzLazyWdgt *self, const char *wdgt_resource) { g_return_if_fail (BZ_IS_LAZY_WDGT (self)); if (wdgt_resource == self->wdgt_resource || (wdgt_resource != NULL && self->wdgt_resource != NULL && g_strcmp0 (wdgt_resource, self->wdgt_resource) == 0)) return; g_clear_pointer (&self->wdgt_resource, g_free); if (wdgt_resource != NULL) self->wdgt_resource = g_strdup (wdgt_resource); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WDGT_RESOURCE]); } void bz_lazy_wdgt_set_wdgt_state (BzLazyWdgt *self, const char *wdgt_state) { g_return_if_fail (BZ_IS_LAZY_WDGT (self)); if (wdgt_state == self->wdgt_state || (wdgt_state != NULL && self->wdgt_state != NULL && g_strcmp0 (wdgt_state, self->wdgt_state) == 0)) return; g_clear_pointer (&self->wdgt_state, g_free); if (wdgt_state != NULL) { self->wdgt_state = g_strdup (wdgt_state); maybe_activate (self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WDGT_STATE]); } void bz_lazy_wdgt_set_wdgt_reference (BzLazyWdgt *self, GObject *wdgt_reference) { g_return_if_fail (BZ_IS_LAZY_WDGT (self)); g_return_if_fail (wdgt_reference == NULL || G_IS_OBJECT (wdgt_reference)); if (wdgt_reference == self->wdgt_reference) return; g_clear_pointer (&self->wdgt_reference, g_object_unref); if (wdgt_reference != NULL) self->wdgt_reference = g_object_ref (wdgt_reference); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WDGT_REFERENCE]); } void bz_lazy_wdgt_set_wdgt_resource_take (BzLazyWdgt *self, char *wdgt_resource) { g_return_if_fail (BZ_IS_LAZY_WDGT (self)); if (wdgt_resource != NULL && self->wdgt_resource != NULL && g_strcmp0 (wdgt_resource, self->wdgt_resource) == 0) { g_free (wdgt_resource); return; } g_clear_pointer (&self->wdgt_resource, g_free); if (wdgt_resource != NULL) self->wdgt_resource = wdgt_resource; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WDGT_RESOURCE]); } void bz_lazy_wdgt_set_wdgt_state_take (BzLazyWdgt *self, char *wdgt_state) { g_return_if_fail (BZ_IS_LAZY_WDGT (self)); if (wdgt_state != NULL && self->wdgt_state != NULL && g_strcmp0 (wdgt_state, self->wdgt_state) == 0) { g_free (wdgt_state); return; } g_clear_pointer (&self->wdgt_state, g_free); if (wdgt_state != NULL) { self->wdgt_state = wdgt_state; maybe_activate (self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WDGT_STATE]); } static void maybe_activate (BzLazyWdgt *self) { BgeWdgtRenderer *renderer = NULL; if (self->activated) return; renderer = bge_wdgt_renderer_new (); g_object_bind_property (self, "wdgt-spec", renderer, "spec", G_BINDING_SYNC_CREATE); g_object_bind_property (self, "wdgt-resource", renderer, "resource", G_BINDING_SYNC_CREATE); g_object_bind_property (self, "wdgt-state", renderer, "state", G_BINDING_SYNC_CREATE); g_object_bind_property (self, "wdgt-reference", renderer, "reference", G_BINDING_SYNC_CREATE); adw_bin_set_child (ADW_BIN (self), GTK_WIDGET (renderer)); self->activated = TRUE; } /* End of bz-lazy-wdgt.c */ bazaar-org-bazaar-917017d/src/bz-lazy-wdgt.h��������������������������������������������������������0000664�0000000�0000000�00000004361�15234476640�0020565�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-lazy-wdgt.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include <bge.h> G_BEGIN_DECLS #define BZ_TYPE_LAZY_WDGT (bz_lazy_wdgt_get_type ()) G_DECLARE_FINAL_TYPE (BzLazyWdgt, bz_lazy_wdgt, BZ, LAZY_WDGT, AdwBin) BzLazyWdgt * bz_lazy_wdgt_new (void); BgeWdgtSpec * bz_lazy_wdgt_get_wdgt_spec (BzLazyWdgt *self); const char * bz_lazy_wdgt_get_wdgt_resource (BzLazyWdgt *self); const char * bz_lazy_wdgt_get_wdgt_state (BzLazyWdgt *self); GObject * bz_lazy_wdgt_get_wdgt_reference (BzLazyWdgt *self); gboolean bz_lazy_wdgt_get_activated (BzLazyWdgt *self); void bz_lazy_wdgt_set_wdgt_spec (BzLazyWdgt *self, BgeWdgtSpec *wdgt_spec); void bz_lazy_wdgt_set_wdgt_resource (BzLazyWdgt *self, const char *wdgt_resource); void bz_lazy_wdgt_set_wdgt_state (BzLazyWdgt *self, const char *wdgt_state); void bz_lazy_wdgt_set_wdgt_reference (BzLazyWdgt *self, GObject *wdgt_reference); void bz_lazy_wdgt_set_wdgt_resource_take (BzLazyWdgt *self, char *wdgt_resource); #define bz_lazy_wdgt_set_wdgt_resource_take_printf(self, ...) bz_lazy_wdgt_set_wdgt_resource_take (self, g_strdup_printf (__VA_ARGS__)) void bz_lazy_wdgt_set_wdgt_state_take (BzLazyWdgt *self, char *wdgt_state); #define bz_lazy_wdgt_set_wdgt_state_take_printf(self, ...) bz_lazy_wdgt_set_wdgt_state_take (self, g_strdup_printf (__VA_ARGS__)) G_END_DECLS /* End of bz-lazy-wdgt.h */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-library-page.blp���������������������������������������������������0000664�0000000�0000000�00000022164�15234476640�0021550�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzLibraryPage: Adw.Bin { child: Box { orientation: vertical; Adw.Clamp search_box_clamp { margin-start: 12; margin-end: 12; margin-top: 10; margin-bottom: 10; maximum-size: 375; visible: bind template.has-apps; child: $BzSearchBar search_bar { placeholder: _("Search installed apps"); search-activated => $search_text_activate(template); search-changed => $search_text_changed(template); }; } Adw.ViewStack stack { enable-transitions: true; transition-duration: 400; Adw.ViewStackPage { name: "empty"; child: Adw.StatusPage { icon-name: "library-symbolic"; title: _("No Apps Found"); description: ""; }; } Adw.ViewStackPage { name: "no-results"; child: Adw.StatusPage { icon-name: "library-symbolic"; description: bind $no_results_found_subtitle(search_bar.text) as <string>; child: Button { styles [ "pill", ] halign: center; label: _("Search Store Instead"); clicked => $global_search_cb(template); }; }; } Adw.ViewStackPage { name: "content"; child: ScrolledWindow scroll{ hscrollbar-policy: never; child: Adw.Clamp { vexpand: true; maximum-size: 650; child: Box margin_box { orientation: vertical; margin-start: 9; margin-end: 9; margin-bottom: 30; Box non_search_content { orientation: vertical; visible: bind $is_empty_string(search_bar.text) as <bool>; Revealer { reveal-child: bind $invert_boolean($is_empty(template.state as <$BzStateInfo>.available-updates) as <bool>) as <bool>; transition-type: slide_down; child: Box { orientation: vertical; spacing: 8; margin-top: 15; Label { label: _("Pending Updates"); xalign: 0; margin-start: 12; margin-top: 15; styles [ "heading", "h4", ] } $BzUpdatesCard { state: bind template.state; update => $updates_card_update_cb(template); } }; } Revealer { reveal-child: bind $invert_boolean($is_zero(template.state as <$BzStateInfo>.transaction-manager as <$BzTransactionManager>.install-trackers as <FilterListModel>.n-items) as <bool>) as <bool>; transition-type: slide_down; child: Box { margin-top: 15; orientation: vertical; Label install_label { label: _("Downloads"); xalign: 0; margin-start: 12; styles [ "heading", "h4", ] } ListView install_list_view { styles [ "navigation-sidebar", "installed-list-view", ] model: NoSelection { model: bind template.state as <$BzStateInfo>.transaction-manager as <$BzTransactionManager>.install-trackers; }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: $BzTransactionTile { tracker: bind template.item; activated => $tile_activated_cb(); }; } }; } }; } Revealer { reveal-child: bind $invert_boolean($is_zero(template.state as <$BzStateInfo>.transaction-manager as <$BzTransactionManager>.removal-trackers as <FilterListModel>.n-items) as <bool>) as <bool>; transition-type: slide_down; child: Box { margin-top: 15; orientation: vertical; Label removal_label { label: _("Recently Uninstalled"); xalign: 0; margin-start: 12; styles [ "heading", "h4", ] } ListView removal_list_view { styles [ "navigation-sidebar", "installed-list-view", ] model: NoSelection { model: bind template.state as <$BzStateInfo>.transaction-manager as <$BzTransactionManager>.removal-trackers; }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: $BzTransactionTile { tracker: bind template.item; activated => $tile_activated_cb(); }; } }; } }; } Revealer { reveal-child: bind template.state as <$BzStateInfo>.transaction-manager as <$BzTransactionManager>.has-transactions; margin-bottom: 15; transition-type: slide_down; child: ListBox { margin-bottom: 16; margin-top: 4; margin-start: 4; margin-end: 4; selection-mode: none; styles [ "boxed-list", ] Adw.ButtonRow { title: _("Clear Finished Tasks"); activated => $clear_tasks_cb(template); styles [ "error", ] } }; } Box { margin-start: 12; margin-end: 4; Label { label: bind $format_install_count(filter_model.n-items) as <string>; xalign: 0; visible: bind template.has-apps; hexpand: true; margin-top: 4; styles [ "heading", "h4", ] } MenuButton { icon-name: "sliders-horizontal-symbolic"; popover: sort_popover; tooltip-text: _("Sort Options"); styles ["flat"] } } } ListView list_view { styles [ "navigation-sidebar", "installed-list-view", "installed-section" ] visible: bind template.has-apps; model: NoSelection { model: FilterListModel filter_model { filter: CustomFilter filter {}; model: SortListModel sort_model { sorter: CustomSorter sorter {}; model: bind template.model; }; notify::n-items => $n_filtered_items_changed(template); }; }; factory: BuilderListItemFactory { template ListItem { activatable: false; selectable: false; focusable: false; child: $BzInstalledTile { group: bind template.item as <$BzEntryGroup>; activated => $tile_activated_cb(); }; } }; } }; }; }; } } }; } Popover sort_popover { child: Box { orientation: vertical; spacing: 6; margin-top: 8; margin-bottom: 8; margin-start: 8; margin-end: 16; Label { label: _("Sort By"); wrap: true; wrap-mode: word_char; xalign: 0; margin-start: 28; styles [ "heading", "h4", "dimmed" ] } CheckButton sort_name { label: _("Name"); active: true; toggled => $sort_changed_cb(template); } CheckButton sort_size { label: _("Size"); group: sort_name; toggled => $sort_changed_cb(template); } }; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-library-page.c�����������������������������������������������������0000664�0000000�0000000�00000045735�15234476640�0021226�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-library-page.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-entry-group.h" #include "bz-installed-tile.h" #include "bz-library-page.h" #include "bz-search-bar.h" #include "bz-section-view.h" #include "template-callbacks.h" #include "bz-transaction-tile.h" #include "bz-updates-card.h" #include "util.h" struct _BzLibraryPage { AdwBin parent_instance; GListModel *model; BzTransactionManager *transactions; BzStateInfo *state; /* Template widgets */ AdwViewStack *stack; BzSearchBar *search_bar; GtkScrolledWindow *scroll; GtkFilterListModel *filter_model; GtkCustomFilter *filter; GtkListView *list_view; GtkSortListModel *sort_model; GtkCustomSorter *sorter; GtkCheckButton *sort_name; GtkCheckButton *sort_size; }; G_DEFINE_FINAL_TYPE (BzLibraryPage, bz_library_page, ADW_TYPE_BIN) enum { PROP_0, PROP_MODEL, PROP_TRANSACTIONS, PROP_STATE, PROP_HAS_APPS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_UPDATE, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static void items_changed (BzLibraryPage *self, guint position, guint removed, guint added, GListModel *model); static void has_transactions_changed (BzLibraryPage *self, GParamSpec *pspec, BzTransactionManager *transactions); static void set_page (BzLibraryPage *self); static gboolean set_page_idle_cb (BzLibraryPage *self); static gboolean filter (BzEntryGroup *group, BzLibraryPage *self); static void bz_library_page_dispose (GObject *object) { BzLibraryPage *self = BZ_LIBRARY_PAGE (object); if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); if (self->transactions != NULL) g_signal_handlers_disconnect_by_func (self->transactions, has_transactions_changed, self); g_clear_object (&self->model); g_clear_object (&self->transactions); g_clear_object (&self->state); G_OBJECT_CLASS (bz_library_page_parent_class)->dispose (object); } static void bz_library_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzLibraryPage *self = BZ_LIBRARY_PAGE (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, bz_library_page_get_model (self)); break; case PROP_TRANSACTIONS: g_value_set_object (value, bz_library_page_get_transactions (self)); break; case PROP_STATE: g_value_set_object (value, bz_library_page_get_state (self)); break; case PROP_HAS_APPS: { guint n_apps = 0; if (self->model != NULL) n_apps = g_list_model_get_n_items (self->model); g_value_set_boolean (value, n_apps > 0); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_library_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzLibraryPage *self = BZ_LIBRARY_PAGE (object); switch (prop_id) { case PROP_MODEL: bz_library_page_set_model (self, g_value_get_object (value)); break; case PROP_TRANSACTIONS: bz_library_page_set_transactions (self, g_value_get_object (value)); break; case PROP_STATE: bz_library_page_set_state (self, g_value_get_object (value)); break; case PROP_HAS_APPS: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * no_results_found_subtitle (gpointer object, const char *search_text) { if (search_text == NULL || *search_text == '\0') return g_strdup (""); return g_strdup_printf (_ ("No matches found for \"%s\" in the list of installed apps"), search_text); } static char * format_update_count (gpointer object, GListModel *updates) { guint n_updates = 0; if (updates == NULL) return g_strdup (""); n_updates = g_list_model_get_n_items (updates); return g_strdup_printf (ngettext ("%u Available Update", "%u Available Updates", n_updates), n_updates); } static char * format_install_count (gpointer object, gint n_items) { return g_strdup_printf (ngettext ("%u Installed App", "%u Installed Apps", n_items), n_items); } static void tile_activated_cb (BzListTile *tile) { BzLibraryPage *self = NULL; BzEntryGroup *group = NULL; g_assert (BZ_IS_LIST_TILE (tile)); self = (BzLibraryPage *) gtk_widget_get_ancestor (GTK_WIDGET (tile), BZ_TYPE_LIBRARY_PAGE); if (self == NULL) return; if (BZ_IS_INSTALLED_TILE (tile)) { group = bz_installed_tile_get_group (BZ_INSTALLED_TILE (tile)); } else if (BZ_IS_TRANSACTION_TILE (tile)) { BzTransactionEntryTracker *tracker = NULL; BzEntry *entry = NULL; tracker = bz_transaction_tile_get_tracker (BZ_TRANSACTION_TILE (tile)); if (tracker == NULL) return; entry = bz_transaction_entry_tracker_get_entry (tracker); group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (self->state), gtk_string_object_new (bz_entry_get_id (entry))); } else return; if (group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.show-group", "s", bz_entry_group_get_id (group)); } static void search_text_changed (BzLibraryPage *self, BzSearchBar *search_bar) { gtk_filter_changed (GTK_FILTER (self->filter), GTK_FILTER_CHANGE_DIFFERENT); set_page (self); } static void search_text_activate (BzLibraryPage *self, BzSearchBar *search_bar) { const char *text = NULL; text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); if (text != NULL && *text != '\0') gtk_widget_activate_action (GTK_WIDGET (self), "app.search", "s", text); gtk_editable_set_text (GTK_EDITABLE (self->search_bar), ""); } static void reset_search_cb (BzLibraryPage *self, GtkButton *button) { gtk_editable_set_text (GTK_EDITABLE (self->search_bar), ""); } static void n_filtered_items_changed (BzLibraryPage *self, GParamSpec *pspec, GtkFilterListModel *model) { set_page (self); } static void clear_tasks_cb (BzLibraryPage *self) { BzTransactionManager *manager = NULL; if (self->state == NULL) return; manager = bz_state_info_get_transaction_manager (self->state); if (manager != NULL) bz_transaction_manager_clear_finished (manager); } static void updates_card_update_cb (BzLibraryPage *self, GListModel *entries, BzUpdatesCard *card) { g_signal_emit (self, signals[SIGNAL_UPDATE], 0, entries); } static void global_search_cb (BzLibraryPage *self, GtkButton *button) { const char *text = NULL; text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); if (text != NULL && *text != '\0') gtk_widget_activate_action (GTK_WIDGET (self), "app.search", "s", text); gtk_editable_set_text (GTK_EDITABLE (self->search_bar), ""); } static int sort_func (BzEntryGroup *a, BzEntryGroup *b, BzLibraryPage *self) { if (gtk_check_button_get_active (self->sort_size)) { guint64 size_a = 0; guint64 size_b = 0; size_a = bz_entry_group_get_installed_size (a); size_b = bz_entry_group_get_installed_size (b); return size_a > size_b ? -1 : size_a < size_b ? 1 : 0; } return g_utf8_collate (bz_entry_group_get_title (a), bz_entry_group_get_title (b)); } static void sort_changed_cb (BzLibraryPage *self, GtkCheckButton *button) { gtk_sorter_changed (GTK_SORTER (self->sorter), GTK_SORTER_CHANGE_DIFFERENT); } static void bz_library_page_class_init (BzLibraryPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_library_page_dispose; object_class->get_property = bz_library_page_get_property; object_class->set_property = bz_library_page_set_property; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TRANSACTIONS] = g_param_spec_object ( "transactions", NULL, NULL, BZ_TYPE_TRANSACTION_MANAGER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_HAS_APPS] = g_param_spec_boolean ( "has-apps", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_UPDATE] = g_signal_new ( "update", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_LIST_MODEL); g_signal_set_va_marshaller ( signals[SIGNAL_UPDATE], G_TYPE_FROM_CLASS (klass), g_cclosure_marshal_VOID__OBJECTv); g_type_ensure (BZ_TYPE_SECTION_VIEW); g_type_ensure (BZ_TYPE_ENTRY_GROUP); g_type_ensure (BZ_TYPE_INSTALLED_TILE); g_type_ensure (BZ_TYPE_TRANSACTION_TILE); g_type_ensure (BZ_TYPE_UPDATES_CARD); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-library-page.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, stack); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, search_bar); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, scroll); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, filter_model); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, filter); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, list_view); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, sort_model); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, sorter); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, sort_name); gtk_widget_class_bind_template_child (widget_class, BzLibraryPage, sort_size); gtk_widget_class_bind_template_callback (widget_class, no_results_found_subtitle); gtk_widget_class_bind_template_callback (widget_class, format_update_count); gtk_widget_class_bind_template_callback (widget_class, format_install_count); gtk_widget_class_bind_template_callback (widget_class, tile_activated_cb); gtk_widget_class_bind_template_callback (widget_class, reset_search_cb); gtk_widget_class_bind_template_callback (widget_class, search_text_changed); gtk_widget_class_bind_template_callback (widget_class, search_text_activate); gtk_widget_class_bind_template_callback (widget_class, n_filtered_items_changed); gtk_widget_class_bind_template_callback (widget_class, clear_tasks_cb); gtk_widget_class_bind_template_callback (widget_class, updates_card_update_cb); gtk_widget_class_bind_template_callback (widget_class, global_search_cb); gtk_widget_class_bind_template_callback (widget_class, sort_changed_cb); } static void bz_library_page_init (BzLibraryPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); gtk_custom_filter_set_filter_func ( self->filter, (GtkCustomFilterFunc) filter, self, NULL); gtk_custom_sorter_set_sort_func ( self->sorter, (GCompareDataFunc) sort_func, self, NULL); } GtkWidget * bz_library_page_new (void) { return g_object_new (BZ_TYPE_LIBRARY_PAGE, NULL); } void bz_library_page_set_model (BzLibraryPage *self, GListModel *model) { g_return_if_fail (BZ_IS_LIBRARY_PAGE (self)); g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_clear_object (&self->model); if (model != NULL) { self->model = g_object_ref (model); g_signal_connect_swapped (model, "items-changed", G_CALLBACK (items_changed), self); } g_idle_add_full ( G_PRIORITY_DEFAULT, (GSourceFunc) set_page_idle_cb, g_object_ref (self), g_object_unref); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_APPS]); } GListModel * bz_library_page_get_model (BzLibraryPage *self) { g_return_val_if_fail (BZ_IS_LIBRARY_PAGE (self), NULL); return self->model; } void bz_library_page_set_transactions (BzLibraryPage *self, BzTransactionManager *transactions) { g_return_if_fail (BZ_IS_LIBRARY_PAGE (self)); g_return_if_fail (transactions == NULL || BZ_IS_TRANSACTION_MANAGER (transactions)); if (self->transactions != NULL) g_signal_handlers_disconnect_by_func (self->transactions, has_transactions_changed, self); g_clear_object (&self->transactions); if (transactions != NULL) { self->transactions = g_object_ref (transactions); g_signal_connect_swapped ( transactions, "notify::has-transactions", G_CALLBACK (has_transactions_changed), self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSACTIONS]); } BzTransactionManager * bz_library_page_get_transactions (BzLibraryPage *self) { g_return_val_if_fail (BZ_IS_LIBRARY_PAGE (self), NULL); return self->transactions; } void bz_library_page_set_state (BzLibraryPage *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_LIBRARY_PAGE (self)); g_return_if_fail (state == NULL || BZ_IS_STATE_INFO (state)); g_clear_object (&self->state); if (state != NULL) self->state = g_object_ref (state); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } BzStateInfo * bz_library_page_get_state (BzLibraryPage *self) { g_return_val_if_fail (BZ_IS_LIBRARY_PAGE (self), NULL); return self->state; } gboolean bz_library_page_ensure_active (BzLibraryPage *self, const char *initial) { const char *text = NULL; g_return_val_if_fail (BZ_IS_LIBRARY_PAGE (self), FALSE); text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); if (text != NULL && *text != '\0' && gtk_widget_has_focus (GTK_WIDGET (self->search_bar))) return FALSE; gtk_widget_grab_focus (GTK_WIDGET (self->search_bar)); gtk_editable_set_text (GTK_EDITABLE (self->search_bar), initial); if (initial != NULL) gtk_editable_set_position (GTK_EDITABLE (self->search_bar), g_utf8_strlen (initial, -1)); return TRUE; } void bz_library_page_reset_search (BzLibraryPage *self) { GtkAdjustment *vadjustment = NULL; g_return_if_fail (BZ_IS_LIBRARY_PAGE (self)); vadjustment = gtk_scrolled_window_get_vadjustment (self->scroll); gtk_adjustment_set_value (vadjustment, 0.0); gtk_editable_set_text (GTK_EDITABLE (self->search_bar), ""); } static void items_changed (BzLibraryPage *self, guint position, guint removed, guint added, GListModel *model) { set_page (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_APPS]); } static void has_transactions_changed (BzLibraryPage *self, GParamSpec *pspec, BzTransactionManager *transactions) { set_page (self); } static void set_page (BzLibraryPage *self) { guint n_apps = 0; guint n_filtered = 0; gboolean has_transactions = FALSE; const char *message = NULL; const char *search_text = NULL; search_text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); if (self->model != NULL) { n_apps = g_list_model_get_n_items (self->model); n_filtered = g_list_model_get_n_items (G_LIST_MODEL (self->filter_model)); } if (self->state != NULL) { BzTransactionManager *manager = NULL; manager = bz_state_info_get_transaction_manager (self->state); has_transactions = bz_transaction_manager_get_has_transactions (manager); } if (n_apps == 0 && !has_transactions) { gtk_editable_set_text (GTK_EDITABLE (self->search_bar), ""); adw_view_stack_set_visible_child_name (self->stack, "empty"); } else if (n_apps > 0 && n_filtered == 0) adw_view_stack_set_visible_child_name (self->stack, "no-results"); else adw_view_stack_set_visible_child_name (self->stack, "content"); if (search_text && *search_text) { message = n_filtered == 0 ? _ ("No applications found") : g_strdup_printf (ngettext ("One application found", "%u applications found", n_filtered), n_filtered); gtk_accessible_announce (GTK_ACCESSIBLE (self), message, GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH); } } static gboolean set_page_idle_cb (BzLibraryPage *self) { set_page (self); return G_SOURCE_REMOVE; } static gboolean filter (BzEntryGroup *group, BzLibraryPage *self) { const char *id = NULL; const char *title = NULL; const char *text = NULL; if (bz_entry_group_is_addon (group)) return FALSE; id = bz_entry_group_get_id (group); title = bz_entry_group_get_title (group); text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); if (text != NULL && *text != '\0') return strcasestr (id, text) != NULL || strcasestr (title, text) != NULL; else return TRUE; } �����������������������������������bazaar-org-bazaar-917017d/src/bz-library-page.h�����������������������������������������������������0000664�0000000�0000000�00000003341�15234476640�0021216�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-library-page.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_LIBRARY_PAGE (bz_library_page_get_type ()) G_DECLARE_FINAL_TYPE (BzLibraryPage, bz_library_page, BZ, LIBRARY_PAGE, AdwBin) GtkWidget * bz_library_page_new (void); void bz_library_page_set_model (BzLibraryPage *self, GListModel *model); GListModel * bz_library_page_get_model (BzLibraryPage *self); void bz_library_page_set_transactions (BzLibraryPage *self, BzTransactionManager *transactions); BzTransactionManager * bz_library_page_get_transactions (BzLibraryPage *self); void bz_library_page_set_state (BzLibraryPage *self, BzStateInfo *state); BzStateInfo * bz_library_page_get_state (BzLibraryPage *self); gboolean bz_library_page_ensure_active (BzLibraryPage *self, const char *initial); void bz_library_page_reset_search (BzLibraryPage *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-license-dialog.blp�������������������������������������������������0000664�0000000�0000000�00000006214�15234476640�0022047�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzLicenseDialog: Adw.Bin { child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: Adw.Clamp { maximum-size: 600; child: Box { orientation: vertical; margin-top: 6; margin-bottom: 18; margin-start: 18; margin-end: 18; Box { orientation: vertical; margin-bottom: 16; valign: center; vexpand: true; $BzLozenge { visible: bind template.entry as <$BzEntry>.is-floss as <bool>; title: bind $get_label_cb(template.entry as <$BzEntry>) as <string>; icon-names: [ "heart-outline-thick-symbolic", "community-symbolic", "thumbs-up-outline-symbolic", ]; importance: unimportant; } $BzLozenge { visible: bind $invert_boolean(template.entry as <$BzEntry>.is-floss as <bool>) as <bool>; title: bind $get_label_cb(template.entry as <$BzEntry>) as <string>; icon-names: [ "hand-openyay-symbolic", "proprietary-code-symbolic", "license-symbolic", ]; importance: information; } } Box { orientation: vertical; spacing: 6; margin-bottom: 12; Label { label: bind $get_license_info(template.entry as <$BzEntry>) as <string>; valign: start; margin-bottom: 18; margin-start: 18; margin-end: 18; use-markup: true; xalign: 0.50; wrap: true; wrap-mode: word_char; justify: center; } Button { styles [ "pill", ] visible: bind template.entry as <$BzEntry>.is-floss as <bool>; clicked => $contribute_cb(template); tooltip-text: bind $get_involved_tooltip(template.entry) as <string>; halign: center; child: Box { orientation: horizontal; spacing: 10; Label { label: _("Get Involved"); wrap: true; wrap-mode: word_char; justify: right; } Image { icon-name: "external-link-symbolic"; } }; } Button { styles [ "pill", ] visible: bind $should_show_eula(template.entry as <$BzEntry>) as <bool>; clicked => $eula_cb(template); tooltip-text: bind $eula_tooltip(template.entry) as <string>; halign: center; child: Box { orientation: horizontal; spacing: 10; Label { label: _("Learn More"); wrap: true; wrap-mode: word_char; justify: right; } Image { icon-name: "external-link-symbolic"; } }; } } }; }; }; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-license-dialog.c���������������������������������������������������0000664�0000000�0000000�00000022501�15234476640�0021511�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-license-dialog.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <adwaita.h> #include <glib/gi18n.h> #include "bz-entry.h" #include "bz-license-dialog.h" #include "bz-lozenge.h" #include "spdx.h" #include "bz-url.h" struct _BzLicenseDialog { AdwBin parent_instance; BzEntry *entry; }; G_DEFINE_FINAL_TYPE (BzLicenseDialog, bz_license_dialog, ADW_TYPE_BIN) enum { PROP_0, PROP_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { NULL }; static void bz_license_dialog_dispose (GObject *object) { BzLicenseDialog *self = NULL; self = BZ_LICENSE_DIALOG (object); g_clear_object (&self->entry); G_OBJECT_CLASS (bz_license_dialog_parent_class)->dispose (object); } static void bz_license_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzLicenseDialog *self = NULL; self = BZ_LICENSE_DIALOG (object); switch (prop_id) { case PROP_ENTRY: g_value_set_object (value, self->entry); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_license_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzLicenseDialog *self = NULL; self = BZ_LICENSE_DIALOG (object); switch (prop_id) { case PROP_ENTRY: g_clear_object (&self->entry); self->entry = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static char * get_label_cb (gpointer object, BzEntry *entry) { g_autofree char *license = NULL; gboolean is_floss = FALSE; if (entry == NULL) return g_strdup (""); g_object_get ( entry, "is-floss", &is_floss, "project-license", &license, NULL); if (license == NULL || *license == '\0') return g_strdup (_ ("Unknown License")); if (is_floss) return g_strdup (_ ("Community Built")); if (bz_spdx_is_proprietary (license)) return g_strdup (_ ("Proprietary")); return g_strdup (_ ("Special License")); } static char * get_involved_tooltip (gpointer object, BzEntry *entry) { g_autoptr (GListModel) share_urls = NULL; g_autoptr (BzUrl) first_url = NULL; const char *url = NULL; if (entry == NULL) return NULL; g_object_get (entry, "share-urls", &share_urls, NULL); if (share_urls == NULL || g_list_model_get_n_items (share_urls) < 1) return NULL; first_url = g_list_model_get_item (share_urls, 1); url = bz_url_get_url (first_url); if (url != NULL && *url != '\0') return g_strdup (url); return NULL; } static char * format_license_link (const char *license) { g_autofree char *license_name = NULL; g_autofree char *license_url = NULL; if (!bz_spdx_is_valid (license)) return g_strdup (license); license_name = bz_spdx_get_name (license); if (license_name == NULL || *license_name == '\0') { g_clear_pointer (&license_name, g_free); license_name = g_strdup (license); } license_url = bz_spdx_get_url (license); return g_strdup_printf ("<a href=\"%s\">%s</a>", license_url, license_name); } static char * get_license_info (gpointer object, BzEntry *entry) { g_autofree char *license = NULL; gboolean is_floss = FALSE; g_autofree char *link = NULL; if (entry == NULL) return g_strdup (""); g_object_get ( entry, "is-floss", &is_floss, "project-license", &license, NULL); if (license == NULL || *license == '\0') { if (is_floss) return g_strdup (_ ("This app is developed in the open by an international community.\n\n" "You can participate and help make it even better.")); else return g_strdup (_ ("The license of this app is not known")); } if (is_floss) { link = format_license_link (license); return g_strdup_printf (_ ("This app is developed in the open by an international community, " "and released under the %s license.\n\n" "You can participate and help make it even better."), link); } if (bz_spdx_is_proprietary (license)) { return g_strdup (_ ("This app is not developed in the open, so only its developers know how it works. " "It may be insecure in ways that are hard to detect, and it may change without oversight.\n\n" "You may or may not be able to contribute to this app.")); } link = format_license_link (license); return g_strdup_printf (_ ("This app is developed under the special license %s.\n\n" "You may or may not be able to contribute to this app."), link); } static void contribute_cb (BzLicenseDialog *self) { g_autoptr (GListModel) share_urls = NULL; g_autoptr (BzUrl) first_url = NULL; const char *url = NULL; g_object_get (self->entry, "share-urls", &share_urls, NULL); if (share_urls == NULL || g_list_model_get_n_items (share_urls) < 1) return; first_url = g_list_model_get_item (share_urls, 1); url = bz_url_get_url (first_url); if (url != NULL && *url != '\0') g_app_info_launch_default_for_uri (url, NULL, NULL); } static char * get_eula_url (BzEntry *entry) { g_autofree char *license = NULL; const char *url = NULL; if (entry == NULL) return NULL; g_object_get (entry, "project-license", &license, NULL); if (license == NULL || !g_str_has_prefix (license, "LicenseRef-proprietary=")) return NULL; url = license + strlen ("LicenseRef-proprietary="); return (*url != '\0') ? g_strdup (url) : NULL; } static gboolean should_show_eula (gpointer object, BzEntry *entry) { g_autofree char *url = get_eula_url (entry); return url != NULL; } static char * eula_tooltip (gpointer object, BzEntry *entry) { return get_eula_url (entry); } static void eula_cb (BzLicenseDialog *self) { g_autofree char *url = get_eula_url (self->entry); if (url != NULL) g_app_info_launch_default_for_uri (url, NULL, NULL); } static void bz_license_dialog_class_init (BzLicenseDialogClass *klass) { GObjectClass *object_class = NULL; GtkWidgetClass *widget_class = NULL; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_license_dialog_dispose; object_class->get_property = bz_license_dialog_get_property; object_class->set_property = bz_license_dialog_set_property; props[PROP_ENTRY] = g_param_spec_object ( "entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LOZENGE); gtk_widget_class_set_template_from_resource ( widget_class, "/io/github/kolunmi/Bazaar/bz-license-dialog.ui"); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, get_label_cb); gtk_widget_class_bind_template_callback (widget_class, get_license_info); gtk_widget_class_bind_template_callback (widget_class, get_involved_tooltip); gtk_widget_class_bind_template_callback (widget_class, should_show_eula); gtk_widget_class_bind_template_callback (widget_class, eula_tooltip); gtk_widget_class_bind_template_callback (widget_class, contribute_cb); gtk_widget_class_bind_template_callback (widget_class, eula_cb); } static void bz_license_dialog_init (BzLicenseDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } AdwDialog * bz_license_dialog_new (BzEntry *entry) { BzLicenseDialog *widget = NULL; AdwDialog *dialog = NULL; widget = g_object_new (BZ_TYPE_LICENSE_DIALOG, "entry", entry, NULL); dialog = adw_dialog_new (); adw_dialog_set_content_width (dialog, 425); adw_dialog_set_child (dialog, GTK_WIDGET (widget)); return dialog; } AdwNavigationPage * bz_license_page_new (BzEntry *entry) { BzLicenseDialog *widget = NULL; AdwNavigationPage *page = NULL; widget = g_object_new (BZ_TYPE_LICENSE_DIALOG, "entry", entry, NULL); page = adw_navigation_page_new (GTK_WIDGET (widget), _ ("License")); adw_navigation_page_set_tag (page, "license"); return page; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-license-dialog.h���������������������������������������������������0000664�0000000�0000000�00000002130�15234476640�0021512�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-license-dialog.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_LICENSE_DIALOG (bz_license_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzLicenseDialog, bz_license_dialog, BZ, LICENSE_DIALOG, AdwBin) AdwDialog * bz_license_dialog_new (BzEntry *entry); AdwNavigationPage * bz_license_page_new (BzEntry *entry); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-linear-function.txt������������������������������������������������0000664�0000000�0000000�00000000256�15234476640�0022327�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=linear_function parent-prefix=g parent-name=object author=AUTOGEN property=slope double G_TYPE_DOUBLE double property=y_intercept double G_TYPE_DOUBLE double ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-list-tile.c��������������������������������������������������������0000664�0000000�0000000�00000014716�15234476640�0020551�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-list-tile.c * * Copyright 2025 Hari Rana <theevilskeleton@riseup.net> * * 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 <http://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-list-tile.h" typedef struct { GtkWidget *child; } BzListTilePrivate; G_DEFINE_TYPE_WITH_PRIVATE (BzListTile, bz_list_tile, GTK_TYPE_WIDGET) enum { PROP_0, PROP_CHILD, LAST_PROP }; static GParamSpec *props[LAST_PROP]; enum { ACTIVATED, LAST_SIGNAL }; static guint signals[LAST_SIGNAL] = { 0, }; static void on_gesture_click_released (BzListTile *self, gint n_press, gdouble x, gdouble y, GtkGestureClick *gesture); static void bz_list_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzListTile *self = BZ_LIST_TILE (object); switch (prop_id) { case PROP_CHILD: g_value_set_object (value, bz_list_tile_get_child (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_list_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzListTile *self = BZ_LIST_TILE (object); switch (prop_id) { case PROP_CHILD: bz_list_tile_set_child (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_list_tile_dispose (GObject *object) { BzListTile *self = BZ_LIST_TILE (object); BzListTilePrivate *priv = bz_list_tile_get_instance_private (self); g_clear_pointer (&priv->child, gtk_widget_unparent); G_OBJECT_CLASS (bz_list_tile_parent_class)->dispose (object); } static void bz_list_tile_class_init (BzListTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->get_property = bz_list_tile_get_property; object_class->set_property = bz_list_tile_set_property; object_class->dispose = bz_list_tile_dispose; /** * BzListTile:child: * * The child widget. */ props[PROP_CHILD] = g_param_spec_object ("child", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); /** * BzListTile::activated: * * This signal is emitted after the tile has been activated. */ signals[ACTIVATED] = g_signal_new ("activated", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); { g_autoptr (GtkShortcutAction) activate_action = NULL; const guint activate_keyvals[] = { GDK_KEY_space, GDK_KEY_KP_Space, GDK_KEY_Return, GDK_KEY_ISO_Enter, GDK_KEY_KP_Enter, }; activate_action = gtk_signal_action_new ("activated"); for (size_t i = 0; i < G_N_ELEMENTS (activate_keyvals); i++) { g_autoptr (GtkShortcut) activate_shortcut = NULL; activate_shortcut = gtk_shortcut_new (gtk_keyval_trigger_new (activate_keyvals[i], 0), g_object_ref (activate_action)); gtk_widget_class_add_shortcut (widget_class, activate_shortcut); } } gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); } static void bz_list_tile_init (BzListTile *self) { GtkGesture *gesture_click; gtk_widget_add_css_class (GTK_WIDGET (self), "card"); gtk_widget_add_css_class (GTK_WIDGET (self), "activatable"); gesture_click = gtk_gesture_click_new (); g_signal_connect_swapped (gesture_click, "released", G_CALLBACK (on_gesture_click_released), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (gesture_click)); gtk_widget_set_focusable (GTK_WIDGET (self), TRUE); gtk_widget_set_receives_default (GTK_WIDGET (self), TRUE); } /** * bz_list_tile_new: * * Create a new #BzListTile. * * Returns: (transfer full): a newly created #BzListTile */ BzListTile * bz_list_tile_new (void) { return g_object_new (BZ_TYPE_LIST_TILE, NULL); } /** * bz_list_tile_get_child: * @self: a #BzListTile * * Get the child associated with @self. * * Returns: (transfer none) (nullable): the child */ GtkWidget * bz_list_tile_get_child (BzListTile *self) { BzListTilePrivate *priv; g_assert (BZ_IS_LIST_TILE (self)); priv = bz_list_tile_get_instance_private (self); return priv->child; } /** * bz_list_tile_set_child: * @self: a #BzListTile * @child: (transfer none): the child * * Set the child to associate with @self. */ void bz_list_tile_set_child (BzListTile *self, GtkWidget *child) { BzListTilePrivate *priv; g_assert (BZ_IS_LIST_TILE (self)); priv = bz_list_tile_get_instance_private (self); /* Since this is not a library, there is no point in safeguarding it */ priv->child = child; gtk_widget_set_parent (child, GTK_WIDGET (self)); } static void on_gesture_click_released (BzListTile *self, gint n_press, gdouble x, gdouble y, GtkGestureClick *gesture) { if (gtk_widget_contains (GTK_WIDGET (self), x, y)) { gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED); g_signal_emit (self, signals[ACTIVATED], 0); } else { gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_DENIED); } } ��������������������������������������������������bazaar-org-bazaar-917017d/src/bz-list-tile.h��������������������������������������������������������0000664�0000000�0000000�00000002336�15234476640�0020551�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-list-tile.h * * Copyright 2025 Hari Rana <theevilskeleton@riseup.net> * * 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 <http://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_LIST_TILE (bz_list_tile_get_type()) G_DECLARE_DERIVABLE_TYPE (BzListTile, bz_list_tile, BZ, LIST_TILE, GtkWidget) struct _BzListTileClass { GtkWidgetClass parent_class; }; BzListTile *bz_list_tile_new (void); GtkWidget *bz_list_tile_get_child (BzListTile *self); void bz_list_tile_set_child (BzListTile *self, GtkWidget *child); G_END_DECLS��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-login-page.blp�����������������������������������������������������0000664�0000000�0000000�00000006052�15234476640�0021212�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Gdk 4.0; using Adw 1; template $BzLoginPage: Adw.NavigationPage { title: _("Connect to Flathub"); child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: Stack main_stack { transition-type: crossfade; StackPage { name: "loading"; child: Adw.Spinner { hexpand: true; vexpand: true; halign: center; valign: center; width-request: 64; height-request: 64; }; } StackPage { name: "error"; child: Adw.StatusPage error_status_page { icon-name: "computer-fail-symbolic"; title: _("Something Went Wrong"); }; } StackPage { name: "start"; child: Adw.Clamp { child: Adw.StatusPage { icon-name: "flathub-symbolic"; title: _("Connect to Flathub"); description: _("Log in to sync your favorited apps across devices"); child: Adw.PreferencesGroup provider_preferences_group { margin-start: 10; margin-end: 10; hexpand: true; halign: fill; }; }; }; } StackPage { name: "browser"; child: ScrolledWindow browser_scroll { vexpand: true; }; } StackPage { name: "finish"; child: ScrolledWindow { hscrollbar-policy: never; child: Adw.Clamp { maximum-size: 600; child: Box { orientation: vertical; vexpand: true; halign: center; valign: center; Box { orientation: vertical; spacing: 15; halign: center; valign: center; Adw.Avatar { size: 96; show-initials: true; text: bind template.auth-state as <$BzAuthState>.name; custom-image: bind try { $choose_object(template.auth-state as <$BzAuthState>.paintable as <$BzAsyncTexture>.loaded, template.auth-state as <$BzAuthState>.paintable , null as <Gdk.Paintable>), null as <Gdk.Paintable>}; } Label { halign: center; label: bind $format_greeting(template.auth-state as <$BzAuthState>.name as <string>) as <string>; wrap: true; wrap-mode: word_char; justify: center; styles [ "title-1", ] } } Box { orientation: horizontal; spacing: 10; halign: center; margin-top: 20; Button { label: _("Finish"); clicked => $on_close_clicked(); styles [ "pill", ] } } }; }; }; } }; }; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-login-page.c�������������������������������������������������������0000664�0000000�0000000�00000054124�15234476640�0020662�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-login-page.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include <json-glib/json-glib.h> #include <libsoup/soup.h> #include <webkit/webkit.h> #include "bz-auth-state.h" #include "bz-flathub-auth-provider.h" #include "global-net.h" #include "bz-login-page.h" #include "template-callbacks.h" #include "util.h" struct _BzLoginPage { AdwNavigationPage parent_instance; BzAuthState *auth_state; WebKitWebView *webview; gboolean webkit_loaded; SoupSession *session; SoupCookieJar *cookie_jar; GList *providers; BzFlathubAuthProvider *current_provider; char *auth_redirect_url; char *session_cookie; GDateTime *session_cookie_expires; gboolean oauth_completed; GtkStack *main_stack; AdwStatusPage *error_status_page; AdwPreferencesGroup *provider_preferences_group; GtkScrolledWindow *browser_scroll; }; G_DEFINE_FINAL_TYPE (BzLoginPage, bz_login_page, ADW_TYPE_NAVIGATION_PAGE) enum { PROP_0, PROP_AUTH_STATE, N_PROPS }; static GParamSpec *properties[N_PROPS]; static WebKitNetworkSession * get_shared_network_session (void) { static WebKitNetworkSession *shared_session = NULL; if (g_once_init_enter (&shared_session)) { g_autofree char *data_dir = NULL; g_autoptr (WebKitNetworkSession) session = NULL; data_dir = g_build_filename (g_get_user_data_dir (), "io.github.kolunmi.Bazaar", "webkit-data", NULL); session = webkit_network_session_new (data_dir, NULL); g_once_init_leave (&shared_session, g_steal_pointer (&session)); } return shared_session; } static void show_error_take (BzLoginPage *self, char *message) { g_autofree char *escaped_message = NULL; gtk_stack_set_visible_child_name (self->main_stack, "error"); escaped_message = g_markup_escape_text (message, -1); adw_status_page_set_description (self->error_status_page, escaped_message); g_free (message); } static JsonObject * parse_json_response (GBytes *bytes, GError **error) { gboolean result = FALSE; g_autoptr (JsonParser) parser = NULL; JsonNode *root = NULL; parser = json_parser_new (); result = json_parser_load_from_data ( parser, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes), error); if (!result) return NULL; root = json_parser_get_root (parser); return json_node_dup_object (root); } static SoupMessage * create_flathub_request (const char *method, const char *route) { g_autofree char *url = NULL; g_autoptr (SoupMessage) msg = NULL; url = g_strdup_printf ("https://flathub.org/api/v2%s", route); msg = soup_message_new (method, url); soup_message_headers_append (soup_message_get_request_headers (msg), "accept", "application/json"); return g_steal_pointer (&msg); } static void load_webkit_library (BzLoginPage *self) { WebKitNetworkSession *network_session = NULL; if (self->webkit_loaded) return; network_session = get_shared_network_session (); self->webview = g_object_new ( WEBKIT_TYPE_WEB_VIEW, "network-session", network_session, NULL); gtk_scrolled_window_set_child ( self->browser_scroll, GTK_WIDGET (self->webview)); self->webkit_loaded = TRUE; } static void on_user_info_loaded (GObject *source_object, GAsyncResult *res, GWeakRef *wr); static void on_oauth_complete (GObject *source_object, GAsyncResult *res, GWeakRef *wr); static void complete_oauth (BzLoginPage *self, const char *code, const char *state, const char *error) { g_autoptr (JsonBuilder) builder = NULL; g_autoptr (JsonGenerator) generator = NULL; g_autofree char *route = NULL; g_autofree char *json_data = NULL; g_autoptr (SoupMessage) msg = NULL; gtk_stack_set_visible_child_name (self->main_stack, "loading"); builder = json_builder_new (); json_builder_begin_object (builder); if (error != NULL) { json_builder_set_member_name (builder, "state"); json_builder_add_string_value (builder, state); json_builder_set_member_name (builder, "error"); json_builder_add_string_value (builder, error); } else { json_builder_set_member_name (builder, "code"); json_builder_add_string_value (builder, code); json_builder_set_member_name (builder, "state"); json_builder_add_string_value (builder, state); } json_builder_end_object (builder); generator = json_generator_new (); json_generator_set_root (generator, json_builder_get_root (builder)); json_data = json_generator_to_data (generator, NULL); route = g_strdup_printf ("/auth/login/%s", bz_flathub_auth_provider_get_method (self->current_provider)); msg = soup_message_new ("POST", g_strdup_printf ("https://flathub.org/api/v2%s", route)); soup_message_headers_append (soup_message_get_request_headers (msg), "accept", "application/json"); soup_message_headers_append (soup_message_get_request_headers (msg), "Content-Type", "application/json"); soup_message_set_request_body_from_bytes (msg, "application/json", g_bytes_new (json_data, strlen (json_data))); soup_session_send_and_read_async ( self->session, msg, G_PRIORITY_DEFAULT, NULL, (GAsyncReadyCallback) on_oauth_complete, bz_track_weak (self)); } static gboolean on_decide_policy (BzLoginPage *self, WebKitPolicyDecision *decision, WebKitPolicyDecisionType decision_type, WebKitWebView *webview) { WebKitNavigationAction *nav_action = NULL; WebKitURIRequest *request = NULL; const char *uri = NULL; g_autoptr (GUri) parsed_uri = NULL; g_autoptr (GHashTable) params = NULL; const char *code = NULL; const char *state = NULL; const char *error = NULL; if (decision_type != WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION) return FALSE; nav_action = webkit_navigation_policy_decision_get_navigation_action ( WEBKIT_NAVIGATION_POLICY_DECISION (decision)); request = webkit_navigation_action_get_request (nav_action); uri = webkit_uri_request_get_uri (request); if (uri == NULL || strstr (uri, "flathub.org") == NULL || strstr (uri, "/login/") == NULL) return FALSE; parsed_uri = g_uri_parse (uri, G_URI_FLAGS_NONE, NULL); if (parsed_uri == NULL) return FALSE; params = g_uri_parse_params (g_uri_get_query (parsed_uri), -1, "&", G_URI_PARAMS_NONE, NULL); if (params == NULL) return FALSE; code = g_hash_table_lookup (params, "code"); state = g_hash_table_lookup (params, "state"); error = g_hash_table_lookup (params, "error"); if ((code != NULL && state != NULL && !self->oauth_completed) || (error != NULL && state != NULL && !self->oauth_completed)) { self->oauth_completed = TRUE; webkit_policy_decision_ignore (decision); complete_oauth (self, code, state, error); return TRUE; } return FALSE; } static void get_user_info (BzLoginPage *self) { g_autoptr (SoupMessage) msg = NULL; msg = create_flathub_request ("GET", "/auth/userinfo"); soup_session_send_and_read_async ( self->session, msg, G_PRIORITY_DEFAULT, NULL, (GAsyncReadyCallback) on_user_info_loaded, bz_track_weak (self)); } static void on_oauth_complete (GObject *source_object, GAsyncResult *res, GWeakRef *wr) { g_autoptr (BzLoginPage) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (JsonObject) obj = NULL; const char *status = NULL; g_autoslist (SoupCookie) cookies = NULL; self = g_weak_ref_get (wr); if (self == NULL) goto done; bytes = soup_session_send_and_read_finish ( SOUP_SESSION (source_object), res, &local_error); if (bytes == NULL) { g_warning ("OAuth complete error: %s", local_error->message); show_error_take (self, g_strdup_printf ("Error: %s", local_error->message)); goto done; } obj = parse_json_response (bytes, &local_error); if (obj == NULL) { g_warning ("Failed to parse OAuth response: %s", local_error->message); show_error_take (self, g_strdup_printf ("Error: %s", local_error->message)); goto done; } status = json_object_get_string_member (obj, "status"); cookies = soup_cookie_jar_all_cookies (self->cookie_jar); for (GSList *l = cookies; l != NULL; l = l->next) { SoupCookie *cookie = l->data; if (g_strcmp0 (soup_cookie_get_name (cookie), "session") == 0) { g_clear_pointer (&self->session_cookie, g_free); self->session_cookie = g_strdup (soup_cookie_get_value (cookie)); g_clear_pointer (&self->session_cookie_expires, g_date_time_unref); self->session_cookie_expires = g_date_time_ref (soup_cookie_get_expires (cookie)); } } if (g_strcmp0 (status, "ok") == 0 || g_strcmp0 (status, "success") == 0) get_user_info (self); else show_error_take (self, g_strdup ("Authentication failed")); done: bz_weak_release (wr); } static void on_user_info_loaded (GObject *source_object, GAsyncResult *res, GWeakRef *wr) { g_autoptr (BzLoginPage) self = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (GError) error = NULL; g_autoptr (JsonObject) obj = NULL; JsonObject *default_account = NULL; const char *displayname = NULL; const char *avatar_url = NULL; self = g_weak_ref_get (wr); if (self == NULL) goto done; if (self->webview != NULL) webkit_web_view_load_uri (self->webview, "about:blank"); bytes = soup_session_send_and_read_finish (SOUP_SESSION (source_object), res, &error); if (error != NULL) { g_warning ("User info load error: %s", error->message); show_error_take (self, g_strdup_printf ("Error: %s", error->message)); goto done; } obj = parse_json_response (bytes, &error); if (obj == NULL) { g_warning ("Failed to parse user info: %s", error->message); show_error_take (self, g_strdup_printf ("Error: %s", error->message)); goto done; } displayname = json_object_get_string_member (obj, "displayname"); if (json_object_has_member (obj, "default_account")) { default_account = json_object_get_object_member (obj, "default_account"); if (displayname == NULL && json_object_has_member (default_account, "login")) displayname = json_object_get_string_member (default_account, "login"); if (json_object_has_member (default_account, "avatar")) avatar_url = json_object_get_string_member (default_account, "avatar"); } if (displayname == NULL) displayname = "N/A"; if (self->auth_state != NULL) bz_auth_state_set_authenticated (self->auth_state, displayname, self->session_cookie, self->session_cookie_expires, avatar_url); gtk_stack_set_visible_child_name (self->main_stack, "finish"); done: bz_weak_release (wr); } static void on_login_response (GObject *source_object, GAsyncResult *res, GWeakRef *wr) { g_autoptr (BzLoginPage) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (JsonObject) obj = NULL; const char *redirect = NULL; self = g_weak_ref_get (wr); if (self == NULL) goto done; bytes = soup_session_send_and_read_finish ( SOUP_SESSION (source_object), res, &local_error); if (bytes == NULL) { show_error_take (self, g_strdup_printf ("Error: %s", local_error->message)); goto done; } obj = parse_json_response (bytes, &local_error); if (obj == NULL) { show_error_take (self, g_strdup_printf ("Error: %s", local_error->message)); goto done; } redirect = json_object_get_string_member (obj, "redirect"); if (redirect == NULL) { show_error_take (self, g_strdup ("Error: No redirect URL received")); goto done; } g_clear_pointer (&self->auth_redirect_url, g_free); self->auth_redirect_url = g_strdup (redirect); load_webkit_library (self); g_signal_connect_swapped ( self->webview, "decide-policy", G_CALLBACK (on_decide_policy), self); gtk_stack_set_visible_child_name (self->main_stack, "browser"); webkit_web_view_load_uri (self->webview, self->auth_redirect_url); done: bz_weak_release (wr); } static void on_provider_row_activated (BzLoginPage *self, GtkButton *button) { BzFlathubAuthProvider *provider = NULL; g_autoptr (SoupMessage) msg = NULL; g_autofree char *route = NULL; provider = g_object_get_data (G_OBJECT (button), "provider"); if (provider == NULL) return; self->current_provider = provider; self->oauth_completed = FALSE; gtk_stack_set_visible_child_name (self->main_stack, "loading"); route = g_strdup_printf ("/auth/login/%s", bz_flathub_auth_provider_get_method (provider)); msg = create_flathub_request ("GET", route); soup_session_send_and_read_async ( self->session, msg, G_PRIORITY_DEFAULT, NULL, (GAsyncReadyCallback) on_login_response, bz_track_weak (self)); } static void on_providers_loaded (GObject *source_object, GAsyncResult *res, GWeakRef *wr) { g_autoptr (BzLoginPage) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; g_autoptr (JsonParser) parser = NULL; JsonNode *root; JsonArray *array; self = g_weak_ref_get (wr); if (self == NULL) goto done; bytes = soup_session_send_and_read_finish (SOUP_SESSION (source_object), res, &local_error); if (bytes == NULL) { show_error_take (self, g_strdup_printf ("Error loading providers: %s", local_error->message)); goto done; } parser = json_parser_new (); if (!json_parser_load_from_data (parser, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes), &local_error)) { show_error_take (self, g_strdup_printf ("Error parsing providers: %s", local_error->message)); goto done; } root = json_parser_get_root (parser); array = json_node_get_array (root); for (guint i = 0; i < json_array_get_length (array); i++) { JsonObject *provider_obj = NULL; g_autoptr (BzFlathubAuthProvider) provider = NULL; const char *method = NULL; const char *name = NULL; GtkWidget *row = NULL; GtkWidget *prefix_icon = NULL; GtkWidget *suffix_icon = NULL; g_autofree char *icon_name = NULL; provider_obj = json_array_get_object_element (array, i); provider = bz_flathub_auth_provider_new (); method = json_object_get_string_member (provider_obj, "method"); name = json_object_get_string_member (provider_obj, "name"); row = adw_action_row_new (); icon_name = g_strdup_printf ("io.github.kolunmi.Bazaar.%s", method); bz_flathub_auth_provider_set_name (provider, name); bz_flathub_auth_provider_set_method (provider, method); self->providers = g_list_append (self->providers, g_object_ref (provider)); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (row), name); prefix_icon = gtk_image_new_from_icon_name (icon_name); gtk_image_set_icon_size (GTK_IMAGE (prefix_icon), GTK_ICON_SIZE_LARGE); gtk_widget_add_css_class (prefix_icon, "lowres-icon"); adw_action_row_add_prefix (ADW_ACTION_ROW (row), prefix_icon); suffix_icon = gtk_image_new_from_icon_name ("go-next-symbolic"); adw_action_row_add_suffix (ADW_ACTION_ROW (row), suffix_icon); g_object_set_data_full (G_OBJECT (row), "provider", g_object_ref (provider), g_object_unref); gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), true); g_signal_connect_swapped (row, "activated", G_CALLBACK (on_provider_row_activated), self); adw_preferences_group_add (self->provider_preferences_group, row); } gtk_stack_set_visible_child_name (self->main_stack, "start"); done: bz_weak_release (wr); } static void load_providers (BzLoginPage *self) { g_autoptr (SoupMessage) msg = NULL; gtk_stack_set_visible_child_name (self->main_stack, "loading"); msg = create_flathub_request ("GET", "/auth/login"); soup_session_send_and_read_async ( self->session, msg, G_PRIORITY_DEFAULT, NULL, (GAsyncReadyCallback) on_providers_loaded, bz_track_weak (self)); } static void on_close_clicked (GtkButton *button, BzLoginPage *self) { GtkWidget *navigation_view = NULL; navigation_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); if (navigation_view != NULL) adw_navigation_view_pop (ADW_NAVIGATION_VIEW (navigation_view)); } static void bz_login_page_dispose (GObject *object) { BzLoginPage *self = BZ_LOGIN_PAGE (object); g_clear_object (&self->auth_state); g_clear_object (&self->session); g_clear_object (&self->cookie_jar); g_clear_pointer (&self->session_cookie_expires, g_date_time_unref); g_clear_pointer (&self->auth_redirect_url, g_free); g_clear_pointer (&self->session_cookie, g_free); if (self->providers != NULL) { g_list_free_full (self->providers, (GDestroyNotify) g_object_unref); self->providers = NULL; } G_OBJECT_CLASS (bz_login_page_parent_class)->dispose (object); } static void bz_login_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzLoginPage *self = BZ_LOGIN_PAGE (object); switch (prop_id) { case PROP_AUTH_STATE: g_value_set_object (value, self->auth_state); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_login_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzLoginPage *self = BZ_LOGIN_PAGE (object); switch (prop_id) { case PROP_AUTH_STATE: g_set_object (&self->auth_state, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * format_greeting (gpointer object, const char *name) { if (name == NULL || name[0] == '\0') return g_strdup (" "); return g_strdup_printf (_ ("Hello, %s!"), name); } static void bz_login_page_class_init (BzLoginPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_login_page_dispose; object_class->get_property = bz_login_page_get_property; object_class->set_property = bz_login_page_set_property; properties[PROP_AUTH_STATE] = g_param_spec_object ( "auth-state", NULL, NULL, BZ_TYPE_AUTH_STATE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, N_PROPS, properties); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-login-page.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzLoginPage, main_stack); gtk_widget_class_bind_template_child (widget_class, BzLoginPage, error_status_page); gtk_widget_class_bind_template_child (widget_class, BzLoginPage, provider_preferences_group); gtk_widget_class_bind_template_child (widget_class, BzLoginPage, browser_scroll); gtk_widget_class_bind_template_callback (widget_class, on_close_clicked); gtk_widget_class_bind_template_callback (widget_class, format_greeting); } static void bz_login_page_init (BzLoginPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); self->session = soup_session_new (); soup_session_set_proxy_resolver (self->session, bz_get_default_proxy_resolver ()); self->cookie_jar = soup_cookie_jar_new (); soup_cookie_jar_set_accept_policy (self->cookie_jar, SOUP_COOKIE_JAR_ACCEPT_ALWAYS); soup_session_add_feature (self->session, SOUP_SESSION_FEATURE (self->cookie_jar)); self->webkit_loaded = FALSE; self->oauth_completed = FALSE; load_providers (self); } AdwNavigationPage * bz_login_page_new (BzAuthState *auth_state) { return g_object_new (BZ_TYPE_LOGIN_PAGE, "auth-state", auth_state, NULL); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-login-page.h�������������������������������������������������������0000664�0000000�0000000�00000002041�15234476640�0020656�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-login-page.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-auth-state.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_LOGIN_PAGE (bz_login_page_get_type ()) G_DECLARE_FINAL_TYPE (BzLoginPage, bz_login_page, BZ, LOGIN_PAGE, AdwNavigationPage) AdwNavigationPage *bz_login_page_new (BzAuthState *auth_state); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-lozenge.c����������������������������������������������������������0000664�0000000�0000000�00000023762�15234476640�0020307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-lozenge.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <gtk/gtk.h> #include "bz-context-row.h" #include "bz-lozenge.h" struct _BzLozenge { GtkBox parent_instance; gchar *title; gchar *label; gchar **icon_names; BzImportance importance; GtkWidget *icon_box; GtkWidget *label_widget; GtkWidget *title_label; }; G_DEFINE_FINAL_TYPE (BzLozenge, bz_lozenge, GTK_TYPE_BOX) enum { PROP_0, PROP_TITLE, PROP_LABEL, PROP_ICON_NAMES, PROP_IMPORTANCE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { NULL }; static void bz_lozenge_rebuild (BzLozenge *self); static void bz_lozenge_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzLozenge *self = NULL; self = BZ_LOZENGE (object); switch (prop_id) { case PROP_TITLE: g_value_set_string (value, self->title); break; case PROP_LABEL: g_value_set_string (value, self->label); break; case PROP_ICON_NAMES: g_value_set_boxed (value, self->icon_names); break; case PROP_IMPORTANCE: g_value_set_enum (value, self->importance); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_lozenge_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzLozenge *self = NULL; self = BZ_LOZENGE (object); switch (prop_id) { case PROP_TITLE: bz_lozenge_set_title (self, g_value_get_string (value)); break; case PROP_LABEL: bz_lozenge_set_label (self, g_value_get_string (value)); break; case PROP_ICON_NAMES: bz_lozenge_set_icon_names (self, g_value_get_boxed (value)); break; case PROP_IMPORTANCE: bz_lozenge_set_importance (self, g_value_get_enum (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_lozenge_dispose (GObject *object) { BzLozenge *self = NULL; self = BZ_LOZENGE (object); g_clear_pointer (&self->title, g_free); g_clear_pointer (&self->label, g_free); g_clear_pointer (&self->icon_names, g_strfreev); g_clear_pointer (&self->icon_box, gtk_widget_unparent); g_clear_pointer (&self->label_widget, gtk_widget_unparent); g_clear_pointer (&self->title_label, gtk_widget_unparent); G_OBJECT_CLASS (bz_lozenge_parent_class)->dispose (object); } static void bz_lozenge_class_init (BzLozengeClass *klass) { GObjectClass *object_class = NULL; object_class = G_OBJECT_CLASS (klass); object_class->get_property = bz_lozenge_get_property; object_class->set_property = bz_lozenge_set_property; object_class->dispose = bz_lozenge_dispose; props[PROP_TITLE] = g_param_spec_string ("title", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_LABEL] = g_param_spec_string ("label", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ICON_NAMES] = g_param_spec_boxed ("icon-names", NULL, NULL, G_TYPE_STRV, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_IMPORTANCE] = g_param_spec_enum ("importance", NULL, NULL, BZ_TYPE_IMPORTANCE, BZ_IMPORTANCE_NEUTRAL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_lozenge_init (BzLozenge *self) { GtkWidget *container = NULL; self->importance = BZ_IMPORTANCE_NEUTRAL; gtk_orientable_set_orientation (GTK_ORIENTABLE (self), GTK_ORIENTATION_VERTICAL); gtk_box_set_spacing (GTK_BOX (self), 12); gtk_widget_set_halign (GTK_WIDGET (self), GTK_ALIGN_CENTER); container = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_widget_set_halign (container, GTK_ALIGN_CENTER); gtk_box_append (GTK_BOX (self), container); self->icon_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_widget_set_halign (self->icon_box, GTK_ALIGN_CENTER); gtk_box_append (GTK_BOX (container), self->icon_box); self->label_widget = gtk_label_new (NULL); gtk_widget_set_halign (self->label_widget, GTK_ALIGN_CENTER); gtk_widget_add_css_class (self->label_widget, "circular-lozenge"); gtk_widget_add_css_class (self->label_widget, "large"); gtk_box_append (GTK_BOX (container), self->label_widget); self->title_label = gtk_label_new (NULL); gtk_label_set_justify (GTK_LABEL (self->title_label), GTK_JUSTIFY_CENTER); gtk_label_set_wrap (GTK_LABEL (self->title_label), TRUE); gtk_label_set_wrap_mode (GTK_LABEL (self->title_label), PANGO_WRAP_WORD_CHAR); gtk_label_set_xalign (GTK_LABEL (self->title_label), 0.5); gtk_widget_add_css_class (self->title_label, "title-2"); gtk_box_append (GTK_BOX (self), self->title_label); bz_lozenge_rebuild (self); } GtkWidget * bz_lozenge_new (void) { return g_object_new (BZ_TYPE_LOZENGE, NULL); } void bz_lozenge_set_title (BzLozenge *self, const gchar *title) { g_return_if_fail (BZ_IS_LOZENGE (self)); if (g_strcmp0 (self->title, title) == 0) return; g_clear_pointer (&self->title, g_free); self->title = g_strdup (title); bz_lozenge_rebuild (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); } const gchar * bz_lozenge_get_title (BzLozenge *self) { g_return_val_if_fail (BZ_IS_LOZENGE (self), NULL); return self->title; } void bz_lozenge_set_label (BzLozenge *self, const gchar *label) { g_return_if_fail (BZ_IS_LOZENGE (self)); if (g_strcmp0 (self->label, label) == 0) return; g_clear_pointer (&self->label, g_free); self->label = g_strdup (label); bz_lozenge_rebuild (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LABEL]); } const gchar * bz_lozenge_get_label (BzLozenge *self) { g_return_val_if_fail (BZ_IS_LOZENGE (self), NULL); return self->label; } void bz_lozenge_set_icon_names (BzLozenge *self, const gchar *const *icon_names) { g_return_if_fail (BZ_IS_LOZENGE (self)); g_clear_pointer (&self->icon_names, g_strfreev); self->icon_names = g_strdupv ((gchar **) icon_names); bz_lozenge_rebuild (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_NAMES]); } gchar ** bz_lozenge_get_icon_names (BzLozenge *self) { g_return_val_if_fail (BZ_IS_LOZENGE (self), NULL); return g_strdupv (self->icon_names); } void bz_lozenge_set_importance (BzLozenge *self, BzImportance importance) { g_return_if_fail (BZ_IS_LOZENGE (self)); if (self->importance == importance) return; self->importance = importance; bz_lozenge_rebuild (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_IMPORTANCE]); } BzImportance bz_lozenge_get_importance (BzLozenge *self) { g_return_val_if_fail (BZ_IS_LOZENGE (self), BZ_IMPORTANCE_NEUTRAL); return self->importance; } static void bz_lozenge_rebuild (BzLozenge *self) { GtkWidget *child = NULL; const gchar *css_class = NULL; g_return_if_fail (BZ_IS_LOZENGE (self)); while ((child = gtk_widget_get_first_child (self->icon_box)) != NULL) gtk_box_remove (GTK_BOX (self->icon_box), child); if (self->icon_names != NULL && self->icon_names[0] != NULL) { gtk_widget_set_visible (self->icon_box, TRUE); gtk_widget_set_visible (self->label_widget, FALSE); css_class = bz_context_row_importance_to_css_class (self->importance); for (gsize i = 0; self->icon_names[i] != NULL; i++) { GtkWidget *icon = NULL; icon = gtk_image_new_from_icon_name (self->icon_names[i]); gtk_image_set_pixel_size (GTK_IMAGE (icon), 24); gtk_widget_set_halign (icon, GTK_ALIGN_CENTER); gtk_widget_add_css_class (icon, "circular-lozenge"); gtk_widget_add_css_class (icon, css_class); gtk_widget_add_css_class (icon, "large"); gtk_box_append (GTK_BOX (self->icon_box), icon); } } else if (self->label != NULL && *self->label != '\0') { const gchar *new_classes[3] = { "circular-lozenge", "large", NULL }; gtk_widget_set_visible (self->icon_box, FALSE); gtk_widget_set_visible (self->label_widget, TRUE); gtk_label_set_markup (GTK_LABEL (self->label_widget), self->label); gtk_widget_set_css_classes (self->label_widget, new_classes); css_class = bz_context_row_importance_to_css_class (self->importance); gtk_widget_add_css_class (self->label_widget, css_class); } else { gtk_widget_set_visible (self->icon_box, FALSE); gtk_widget_set_visible (self->label_widget, FALSE); } if (self->title != NULL && *self->title != '\0') { gtk_label_set_text (GTK_LABEL (self->title_label), self->title); gtk_widget_set_visible (self->title_label, TRUE); } else { gtk_widget_set_visible (self->title_label, FALSE); } } ��������������bazaar-org-bazaar-917017d/src/bz-lozenge.h����������������������������������������������������������0000664�0000000�0000000�00000003130�15234476640�0020277�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-lozenge.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-context-row.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_LOZENGE (bz_lozenge_get_type ()) G_DECLARE_FINAL_TYPE (BzLozenge, bz_lozenge, BZ, LOZENGE, GtkBox) GtkWidget *bz_lozenge_new (void); void bz_lozenge_set_title (BzLozenge *self, const gchar *title); const gchar * bz_lozenge_get_title (BzLozenge *self); void bz_lozenge_set_label (BzLozenge *self, const gchar *label); const gchar * bz_lozenge_get_label (BzLozenge *self); void bz_lozenge_set_icon_names (BzLozenge *self, const gchar *const *icon_names); gchar ** bz_lozenge_get_icon_names (BzLozenge *self); void bz_lozenge_set_importance (BzLozenge *self, BzImportance importance); BzImportance bz_lozenge_get_importance (BzLozenge *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-main-config.txt����������������������������������������������������0000664�0000000�0000000�00000001527�15234476640�0021423�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=main_config parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-hook.h" include="bz-search-bias.h" ensure=BZ_TYPE_HOOK ensure=BZ_TYPE_HOOK_DIALOG ensure=BZ_TYPE_HOOK_DIALOG_OPTION ensure=BZ_TYPE_SEARCH_BIAS property=txt_blocklist_paths GListModel G_TYPE_LIST_MODEL object property=blocklist_version int G_TYPE_INT int property=yaml_blocklist_paths GListModel G_TYPE_LIST_MODEL object property=curated_config_version int G_TYPE_INT int property=curated_config_paths GListModel G_TYPE_LIST_MODEL object property=override_eol_markings GListModel G_TYPE_LIST_MODEL object property=hooks GListModel G_TYPE_LIST_MODEL object property=search_biases GListModel G_TYPE_LIST_MODEL object property=start_on_curated gboolean G_TYPE_BOOLEAN boolean property=hide_auto_update_options gboolean G_TYPE_BOOLEAN boolean �������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-malcontent-service.c�����������������������������������������������0000664�0000000�0000000�00000015401�15234476640�0022435�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-malcontent-service.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <appstream.h> #include <libmalcontent/malcontent.h> #include <unistd.h> #include "bz-malcontent-service.h" struct _BzMalcontentService { GObject parent_instance; MctManager *manager; BzStateInfo *state; GDBusConnection *bus; MctAppFilter *filter; gulong changed_id; }; G_DEFINE_FINAL_TYPE (BzMalcontentService, bz_malcontent_service, G_TYPE_OBJECT) static void fetch_blocked_ids (BzMalcontentService *self); static void apply_filter (BzMalcontentService *self, MctAppFilter *filter); static void on_filter_loaded (GObject *source, GAsyncResult *result, gpointer user_data); static void on_filter_changed (MctManager *manager, guint64 user_id, gpointer user_data); static void bz_malcontent_service_dispose (GObject *object) { BzMalcontentService *self = NULL; self = BZ_MALCONTENT_SERVICE (object); g_signal_handler_disconnect (self->manager, self->changed_id); g_clear_object (&self->manager); g_clear_object (&self->state); g_clear_object (&self->bus); g_clear_pointer (&self->filter, mct_app_filter_unref); G_OBJECT_CLASS (bz_malcontent_service_parent_class)->dispose (object); } static void bz_malcontent_service_class_init (BzMalcontentServiceClass *klass) { G_OBJECT_CLASS (klass)->dispose = bz_malcontent_service_dispose; } static void bz_malcontent_service_init (BzMalcontentService *self) { } BzMalcontentService * bz_malcontent_service_new (GDBusConnection *bus, BzStateInfo *state) { BzMalcontentService *self = NULL; self = g_object_new (BZ_TYPE_MALCONTENT_SERVICE, NULL); self->state = g_object_ref (state); self->bus = g_object_ref (bus); self->manager = mct_manager_new (bus); self->changed_id = g_signal_connect (self->manager, "app-filter-changed", G_CALLBACK (on_filter_changed), self); return self; } void bz_malcontent_service_start (BzMalcontentService *self) { mct_manager_get_app_filter_async (self->manager, getuid (), MCT_MANAGER_GET_VALUE_FLAGS_INTERACTIVE, NULL, on_filter_loaded, self); } static void fetch_blocked_ids (BzMalcontentService *self) { g_autoptr (GError) local_error = NULL; g_autoptr (GVariant) result = NULL; g_autoptr (GVariant) prop = NULL; g_autoptr (GVariant) filter_tuple = NULL; g_autoptr (GtkStringList) blocked = NULL; g_autofree char *object_path = NULL; gboolean is_allowlist = FALSE; GVariantIter *iter = NULL; const char *ref = NULL; object_path = g_strdup_printf ("/org/freedesktop/Accounts/User%d", (int) getuid ()); result = g_dbus_connection_call_sync ( self->bus, "org.freedesktop.Accounts", object_path, "org.freedesktop.DBus.Properties", "Get", g_variant_new ("(ss)", "com.endlessm.ParentalControls.AppFilter", "AppFilter"), G_VARIANT_TYPE ("(v)"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &local_error); if (result == NULL) { g_warning ("failed to fetch malcontent AppFilter from D-Bus: %s", local_error->message); return; } prop = g_variant_get_child_value (result, 0); filter_tuple = g_variant_get_variant (prop); g_variant_get (filter_tuple, "(bas)", &is_allowlist, &iter); blocked = gtk_string_list_new (NULL); while (g_variant_iter_next (iter, "s", &ref)) gtk_string_list_append (blocked, ref); g_variant_iter_free (iter); bz_state_info_set_parental_blocked_ids (self->state, G_LIST_MODEL (blocked)); } static void apply_filter (BzMalcontentService *self, MctAppFilter *filter) { const char *const *oars_sections = NULL; int max_age = -1; g_clear_pointer (&self->filter, mct_app_filter_unref); self->filter = mct_app_filter_ref (filter); oars_sections = mct_app_filter_get_oars_sections (self->filter); for (gsize i = 0; oars_sections[i] != NULL; i++) { MctAppFilterOarsValue filter_value; int section_age; filter_value = mct_app_filter_get_oars_value (self->filter, oars_sections[i]); if (filter_value == MCT_APP_FILTER_OARS_VALUE_UNKNOWN) continue; section_age = as_content_rating_attribute_to_csm_age (oars_sections[i], (AsContentRatingValue) filter_value); if (section_age > max_age) max_age = section_age; } bz_state_info_set_parental_age_rating (self->state, max_age); fetch_blocked_ids (self); } static void on_filter_loaded (GObject *source, GAsyncResult *result, gpointer user_data) { BzMalcontentService *self = NULL; g_autoptr (MctAppFilter) filter = NULL; g_autoptr (GError) local_error = NULL; self = user_data; filter = mct_manager_get_app_filter_finish (self->manager, result, &local_error); if (filter != NULL) apply_filter (self, filter); else g_warning ("Failed to load malcontent app filter: %s", local_error->message); } static void on_filter_changed (MctManager *manager, guint64 user_id, gpointer user_data) { BzMalcontentService *self = NULL; self = user_data; if (user_id != (guint64) getuid ()) return; mct_manager_get_app_filter_async (self->manager, getuid (), MCT_MANAGER_GET_VALUE_FLAGS_NONE, NULL, on_filter_loaded, self); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-malcontent-service.h�����������������������������������������������0000664�0000000�0000000�00000002330�15234476640�0022437�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-malcontent-service.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-state-info.h" #include <appstream.h> #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_MALCONTENT_SERVICE bz_malcontent_service_get_type () G_DECLARE_FINAL_TYPE (BzMalcontentService, bz_malcontent_service, BZ, MALCONTENT_SERVICE, GObject) BzMalcontentService * bz_malcontent_service_new (GDBusConnection *bus, BzStateInfo *state); void bz_malcontent_service_start (BzMalcontentService *self); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-marshalers.list����������������������������������������������������0000664�0000000�0000000�00000002625�15234476640�0021531�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# see glib-genmarshal(1) for a detailed description of the file format, # possible parameter types are: # VOID indicates no return type, or no extra # parameters. if VOID is used as the parameter # list, no additional parameters may be present. # BOOLEAN for boolean types (gboolean) # CHAR for signed char types (char) # UCHAR for unsigned char types (guchar) # INT for signed integer types (int) # UINT for unsigned integer types (guint) # LONG for signed long integer types (glong) # ULONG for unsigned long integer types (gulong) # INT64 for signed 64bit integer types (gint64) # UINT64 for unsigned 64bit integer types (guint64) # ENUM for enumeration types (int) # FLAGS for flag enumeration types (guint) # FLOAT for single-precision float types (float) # DOUBLE for double-precision float types (double) # STRING for string types (char *) # BOXED for boxed (anonymous but reference counted) types (GBoxed*) # PARAM for GParamSpec or derived types (GParamSpec*) # POINTER for anonymous pointer types (gpointer) # OBJECT for GObject or derived types (GObject*) # VARIANT for GVariant types (GVariant*) # NONE deprecated alias for VOID # BOOL deprecated alias for BOOLEAN VOID:OBJECT,OBJECT VOID:OBJECT,BOXED �����������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-metainfo-preview-page.blp������������������������������������������0000664�0000000�0000000�00000004325�15234476640�0023364�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; Adw.NavigationPage page { title: _("Metainfo Preview"); child: Adw.ToolbarView { [top] Adw.HeaderBar {} content: Adw.BreakpointBin bp_bin { width-request: 360; height-request: 100; child: ScrolledWindow { vexpand: true; child: Box content_box { orientation: vertical; valign: start; spacing: 60; margin-top: 24; margin-bottom: 24; margin-start: 24; margin-end: 24; Adw.Clamp { maximum-size: 1500; tightening-threshold: 1400; child: Box { spacing: 10; orientation: vertical; $BzFeaturedCarousel carousel {} Label section_title { styles [ "title-1", ] xalign: 0.0; hexpand: true; margin-start: 3; margin-end: 3; margin-bottom: 5; margin-top: 12; ellipsize: end; label: _("Metainfo Preview"); } $BzDynamicListView section_list { styles [ "flathub-page-section", ] hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzAppTile"; child-prop: "group"; row-spacing: 11; column-spacing: 11; } }; } Adw.Clamp { maximum-size: 1000; child: $BzDynamicListView rich_section_list { styles [ "flathub-page-section", ] hexpand: true; scroll: false; noscroll-kind: flow-box; child-type: "BzRichAppTile"; child-prop: "group"; }; } }; }; Adw.Breakpoint { condition ("max-width: 700px") setters { section_list.row-spacing: 9; section_list.column-spacing: 9; content_box.margin-start: 10; content_box.margin-end: 10; } } }; }; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-metainfo-preview.c�������������������������������������������������0000664�0000000�0000000�00000025124�15234476640�0022117�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-metainfo-preview.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-application-map-factory.h" #include "bz-application.h" #include "bz-dynamic-list-view.h" #include "bz-entry-group.h" #include "bz-featured-carousel.h" #include "bz-flathub-category.h" #include "bz-metainfo-preview.h" #include "bz-rich-app-tile.h" #include "bz-state-info.h" #include "error.h" #include "util.h" BZ_DEFINE_DATA ( open_metainfo, OpenMetainfo, { DexPromise *promise; GFile *metainfo_file; GtkWindow *parent_window; }, BZ_RELEASE_DATA (promise, dex_unref); BZ_RELEASE_DATA (metainfo_file, g_object_unref); BZ_RELEASE_DATA (parent_window, g_object_unref)) static DexFuture * on_icon_prompt_finally (DexFuture *future, OpenMetainfoData *data); static void on_icon_chosen (GtkFileDialog *dialog, GAsyncResult *result, OpenMetainfoData *data); static BzMetainfoPickResult * bz_metainfo_pick_result_copy (BzMetainfoPickResult *result); static void append_quality_apps (BzFlathubState *flathub, const char *category_name, guint count, GListStore *destination); GType bz_metainfo_pick_result_get_type (void) { static GType type = 0; if (type == 0) type = g_boxed_type_register_static ( "BzMetainfoPickResult", (GBoxedCopyFunc) bz_metainfo_pick_result_copy, (GBoxedFreeFunc) bz_metainfo_pick_result_free); return type; } void bz_metainfo_pick_result_free (BzMetainfoPickResult *result) { g_clear_object (&result->metainfo_file); g_clear_object (&result->icon_file); g_free (result); } DexFuture * bz_metainfo_preview_open_file (GFile *metainfo_file, GtkWindow *parent_window) { g_autoptr (DexPromise) promise = dex_promise_new (); g_autoptr (DexFuture) alert_future = NULL; AdwDialog *alert = NULL; OpenMetainfoData *data = NULL; g_assert (metainfo_file != NULL); data = open_metainfo_data_new (); data->promise = dex_ref (promise); data->metainfo_file = g_object_ref (metainfo_file); data->parent_window = parent_window != NULL ? g_object_ref (parent_window) : NULL; alert = adw_alert_dialog_new (NULL, NULL); adw_alert_dialog_format_heading (ADW_ALERT_DIALOG (alert), _ ("Add Icon to Metainfo Preview?")); adw_alert_dialog_format_body ( ADW_ALERT_DIALOG (alert), _ ("Metainfo files don't include app icons by themselves. Would you like to select one manually?")); adw_alert_dialog_add_responses ( ADW_ALERT_DIALOG (alert), "skip", _ ("Skip"), "select", _ ("Select Icon"), NULL); adw_alert_dialog_set_response_appearance ( ADW_ALERT_DIALOG (alert), "select", ADW_RESPONSE_SUGGESTED); adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (alert), "select"); adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (alert), "skip"); adw_dialog_present ( alert, parent_window != NULL ? GTK_WIDGET (parent_window) : NULL); alert_future = bz_make_alert_dialog_future (ADW_ALERT_DIALOG (alert)); alert_future = dex_future_then ( g_steal_pointer (&alert_future), (DexFutureCallback) on_icon_prompt_finally, data, (GDestroyNotify) open_metainfo_data_unref); dex_future_disown (g_steal_pointer (&alert_future)); return DEX_FUTURE (g_steal_pointer (&promise)); } static BzMetainfoPickResult * bz_metainfo_pick_result_copy (BzMetainfoPickResult *result) { BzMetainfoPickResult *copy = NULL; copy = g_new0 (BzMetainfoPickResult, 1); copy->metainfo_file = result->metainfo_file ? g_object_ref (result->metainfo_file) : NULL; copy->icon_file = result->icon_file ? g_object_ref (result->icon_file) : NULL; return copy; } static DexFuture * on_icon_prompt_finally (DexFuture *future, OpenMetainfoData *data) { g_autoptr (GError) local_error = NULL; const GValue *value = NULL; const char *response = NULL; value = dex_future_get_value (future, &local_error); response = value != NULL ? g_value_get_string (value) : NULL; if (g_strcmp0 (response, "select") == 0) { g_autoptr (GtkFileDialog) icon_dialog = NULL; g_autoptr (GtkFileFilter) filter = NULL; g_autoptr (GListStore) filters = NULL; icon_dialog = gtk_file_dialog_new (); gtk_file_dialog_set_title (icon_dialog, _ ("Select Icon")); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _ ("Image Files")); gtk_file_filter_add_pattern (filter, "*.png"); gtk_file_filter_add_pattern (filter, "*.svg"); gtk_file_filter_add_pattern (filter, "*.jpg"); gtk_file_filter_add_pattern (filter, "*.jpeg"); filters = g_list_store_new (GTK_TYPE_FILE_FILTER); g_list_store_append (filters, filter); gtk_file_dialog_set_filters (icon_dialog, G_LIST_MODEL (filters)); gtk_file_dialog_open ( icon_dialog, data->parent_window, NULL, (GAsyncReadyCallback) on_icon_chosen, open_metainfo_data_ref (data)); } else { BzMetainfoPickResult *pick = NULL; pick = g_new0 (BzMetainfoPickResult, 1); pick->metainfo_file = g_object_ref (data->metainfo_file); pick->icon_file = NULL; dex_promise_resolve_boxed ( data->promise, bz_metainfo_pick_result_get_type (), g_steal_pointer (&pick)); } return dex_future_new_true (); } static void on_icon_chosen (GtkFileDialog *dialog, GAsyncResult *result, OpenMetainfoData *data) { g_autoptr (OpenMetainfoData) owned_data = data; g_autoptr (GFile) icon_file = NULL; BzMetainfoPickResult *pick = NULL; icon_file = gtk_file_dialog_open_finish (dialog, result, NULL); pick = g_new0 (BzMetainfoPickResult, 1); pick->metainfo_file = g_object_ref (owned_data->metainfo_file); pick->icon_file = g_steal_pointer (&icon_file); dex_promise_resolve_boxed ( owned_data->promise, bz_metainfo_pick_result_get_type (), g_steal_pointer (&pick)); } static void append_quality_apps (BzFlathubState *flathub, const char *category_name, guint count, GListStore *destination) { GListModel *categories = NULL; guint n_categories = 0; if (flathub == NULL) return; categories = bz_flathub_state_get_categories (flathub); n_categories = categories != NULL ? g_list_model_get_n_items (categories) : 0; for (guint i = 0; i < n_categories; i++) { g_autoptr (BzFlathubCategory) category = NULL; category = g_list_model_get_item (categories, i); if (g_strcmp0 (bz_flathub_category_get_name (category), category_name) == 0) { g_autoptr (GListModel) quality_apps = NULL; guint n_quality_apps = 0; guint n_pick = 0; guint offset = 0; quality_apps = bz_flathub_category_dup_quality_applications (category); n_quality_apps = quality_apps != NULL ? g_list_model_get_n_items (quality_apps) : 0; n_pick = MIN (count, n_quality_apps); if (n_quality_apps > 0) offset = g_random_int_range (0, n_quality_apps); for (guint j = 0; j < n_pick; j++) { g_autoptr (GObject) picked_obj = NULL; guint index = (offset + j) % n_quality_apps; picked_obj = g_list_model_get_item (quality_apps, index); if (BZ_IS_ENTRY_GROUP (picked_obj)) g_list_store_append (destination, BZ_ENTRY_GROUP (picked_obj)); } break; } } } AdwNavigationPage * create_entry_group_preview_page (BzEntryGroup *group) { g_autoptr (GtkBuilder) builder = NULL; AdwNavigationPage *page = NULL; BzFeaturedCarousel *carousel = NULL; GtkWidget *section_list = NULL; GtkWidget *rich_section_list = NULL; g_autoptr (GListStore) store = NULL; g_autoptr (GListStore) section_store = NULL; g_autoptr (GListStore) rich_section_store = NULL; BzStateInfo *state = NULL; BzFlathubState *flathub = NULL; builder = gtk_builder_new_from_resource ( "/io/github/kolunmi/Bazaar/bz-metainfo-preview-page.ui"); page = ADW_NAVIGATION_PAGE (gtk_builder_get_object (builder, "page")); carousel = BZ_FEATURED_CAROUSEL (gtk_builder_get_object (builder, "carousel")); section_list = GTK_WIDGET (gtk_builder_get_object (builder, "section_list")); rich_section_list = GTK_WIDGET (gtk_builder_get_object (builder, "rich_section_list")); state = bz_state_info_get_default (); flathub = bz_state_info_get_flathub (state); store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); g_list_store_append (store, group); append_quality_apps (flathub, "utility", 4, store); bz_featured_carousel_set_model (carousel, G_LIST_MODEL (store)); section_store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); append_quality_apps (flathub, "utility", 11, section_store); g_list_store_insert ( section_store, MIN (1, g_list_model_get_n_items (G_LIST_MODEL (section_store))), group); g_object_set (section_list, "model", G_LIST_MODEL (section_store), NULL); rich_section_store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); append_quality_apps (flathub, "utility", 5, rich_section_store); g_list_store_insert ( rich_section_store, MIN (1, g_list_model_get_n_items (G_LIST_MODEL (rich_section_store))), group); g_object_set (rich_section_list, "model", G_LIST_MODEL (rich_section_store), NULL); g_object_ref (page); return page; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-metainfo-preview.h�������������������������������������������������0000664�0000000�0000000�00000002455�15234476640�0022126�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-metainfo-preview.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include <gio/gio.h> #include <gtk/gtk.h> #include <libdex.h> #include "bz-entry-group.h" G_BEGIN_DECLS typedef struct { GFile *metainfo_file; GFile *icon_file; } BzMetainfoPickResult; void bz_metainfo_pick_result_free (BzMetainfoPickResult *result); GType bz_metainfo_pick_result_get_type (void); DexFuture * bz_metainfo_preview_open_file (GFile *metainfo_file, GtkWindow *parent_window); AdwNavigationPage * create_entry_group_preview_page (BzEntryGroup *group); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-newline-parser.c���������������������������������������������������0000664�0000000�0000000�00000011250�15234476640�0021564�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-newline-parser.c * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::NEWLINE-TXT-PARSER" #include "config.h" #include "bz-hash-table-object.h" #include "bz-newline-parser.h" #include "bz-parser.h" struct _BzNewlineParser { GObject parent_instance; gboolean comments; guint max_lines; }; static void parser_iface_init (BzParserInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzNewlineParser, bz_newline_parser, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (BZ_TYPE_PARSER, parser_iface_init)) static void destroy_gvalue (GValue *value); static void bz_newline_parser_dispose (GObject *object) { BzNewlineParser *self = BZ_NEWLINE_PARSER (object); (void) self; G_OBJECT_CLASS (bz_newline_parser_parent_class)->dispose (object); } static void bz_newline_parser_class_init (BzNewlineParserClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_newline_parser_dispose; } static void bz_newline_parser_init (BzNewlineParser *self) { } static GHashTable * bz_newline_parser_real_process_bytes (BzParser *iface_self, GBytes *bytes, GError **error) { BzNewlineParser *self = BZ_NEWLINE_PARSER (iface_self); gsize size = 0; const guchar *data = NULL; g_autofree char *contents = NULL; g_autoptr (GHashTable) set = NULL; guint n_ids = 0; char *beg = NULL; char *end = NULL; g_autoptr (BzHashTableObject) obj = NULL; GValue *value = NULL; g_autoptr (GHashTable) ret = NULL; g_return_val_if_fail (BZ_IS_NEWLINE_PARSER (self), NULL); g_return_val_if_fail (bytes != NULL, NULL); data = g_bytes_get_data (bytes, &size); contents = g_memdup2 (data, size + 1); contents[size] = '\0'; set = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); for (beg = contents, end = g_utf8_strchr (beg, -1, '\n'); beg != NULL && *beg != '\0'; beg = end + 1, end = g_utf8_strchr (beg, -1, '\n')) { g_autofree char *line = NULL; if (end == NULL) g_warning ("Data has no terminating newline"); if ((self->comments && g_str_has_prefix (beg, "#")) || (end != NULL && end - beg <= 1) || (end == NULL && *beg == '\0')) { if (end != NULL) continue; else break; } if (end != NULL) line = g_strndup (beg, end - beg); else line = g_strdup (beg); if (g_hash_table_contains (set, line)) g_warning ("Duplicate line %s detected in data", line); else g_hash_table_replace (set, g_steal_pointer (&line), NULL); if (end == NULL) break; if (self->max_lines > 0 && ++n_ids > self->max_lines) { g_warning ("Data has a lot of lines, automatically " "truncating to %d", self->max_lines); break; } } obj = bz_hash_table_object_new (); bz_hash_table_object_set_hash_table (obj, set); value = g_new0 (typeof (*value), 1); g_value_init (value, G_TYPE_OBJECT); g_value_set_object (value, obj); ret = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) destroy_gvalue); g_hash_table_replace (ret, g_strdup ("/"), g_steal_pointer (&value)); return g_steal_pointer (&ret); } static void parser_iface_init (BzParserInterface *iface) { iface->process_bytes = bz_newline_parser_real_process_bytes; } BzNewlineParser * bz_newline_parser_new (gboolean comments, guint max_lines) { BzNewlineParser *parser = NULL; parser = g_object_new (BZ_TYPE_NEWLINE_PARSER, NULL); parser->comments = comments; parser->max_lines = max_lines; return parser; } static void destroy_gvalue (GValue *value) { g_value_unset (value); g_free (value); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-newline-parser.h���������������������������������������������������0000664�0000000�0000000�00000002060�15234476640�0021570�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-newline-parser.h * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gio/gio.h> G_BEGIN_DECLS #define BZ_TYPE_NEWLINE_PARSER (bz_newline_parser_get_type ()) G_DECLARE_FINAL_TYPE (BzNewlineParser, bz_newline_parser, BZ, NEWLINE_PARSER, GObject) BzNewlineParser * bz_newline_parser_new (gboolean comments, guint max_lines); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-parser.c�����������������������������������������������������������0000664�0000000�0000000�00000002665�15234476640�0020137�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-parser.c * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-parser.h" G_DEFINE_INTERFACE (BzParser, bz_parser, G_TYPE_OBJECT) static GHashTable * bz_parser_real_process_bytes (BzParser *self, GBytes *bytes, GError **error) { return NULL; } static void bz_parser_default_init (BzParserInterface *iface) { iface->process_bytes = bz_parser_real_process_bytes; } GHashTable * bz_parser_process_bytes (BzParser *self, GBytes *bytes, GError **error) { g_return_val_if_fail (BZ_IS_PARSER (self), NULL); g_return_val_if_fail (bytes != NULL, NULL); return BZ_PARSER_GET_IFACE (self)->process_bytes ( self, bytes, error); } ���������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-parser.h�����������������������������������������������������������0000664�0000000�0000000�00000002372�15234476640�0020137�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-parser.h * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_PARSER (bz_parser_get_type ()) G_DECLARE_INTERFACE (BzParser, bz_parser, BZ, PARSER, GObject) struct _BzParserInterface { GTypeInterface parent_iface; GHashTable *(*process_bytes) (BzParser *self, GBytes *bytes, GError **error); }; GHashTable * bz_parser_process_bytes (BzParser *self, GBytes *bytes, GError **error); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-preferences-dialog.blp���������������������������������������������0000664�0000000�0000000�00000007240�15234476640�0022726�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzPreferencesDialog: Adw.PreferencesDialog { content-height: 500; search-enabled: true; width-request: 350; height-request: 100; Adw.Breakpoint { condition ("max-width: 625sp") setters { flag_buttons_box.max-children-per-line: 6; } } Adw.PreferencesPage { title: _("Preferences"); use-underline: true; banner: Adw.Banner { sensitive: bind $invert_boolean(template.state as <$BzStateInfo>.syncing as <bool>) as <bool>; revealed: bind template.state as <$BzStateInfo>.metered_connection as <bool>; title: _("Network connection is metered — automatic store data refresh is paused"); button-label: _("Refresh Manually"); action-name: "app.sync-remotes"; }; Adw.PreferencesGroup auto_updates_group { title: _("App Updates"); visible: bind try {$logical_or($invert_boolean(template.state as <$BzStateInfo>.main-config as <$BzMainConfig>.hide-auto-update-options) as <bool>, automatic_updates_check.active), true}; description: _ ("Auto-updates will pause on metered networks or when power saving is on to save data and battery."); Adw.ActionRow automatic_updates_row { title: _("_Automatic"); subtitle: _("Automatically check for and download app updates"); use-underline: true; activatable-widget: automatic_updates_check; [prefix] CheckButton automatic_updates_check { toggled => $auto_updates_toggled_cb(); } } Adw.ActionRow manual_updates_row { title: _("_Manual"); subtitle: _("Checking for and downloading app updates must be done manually"); use-underline: true; activatable-widget: manual_updates_check; [prefix] CheckButton manual_updates_check { active: bind automatic_updates_check.active inverted; group: automatic_updates_check; toggled => $auto_updates_toggled_cb(); } } } Adw.PreferencesGroup { visible: bind auto_updates_group.visible; Adw.SwitchRow auto_notif_switch { use-underline: true; title: _("Automatic Update _Notifications"); subtitle: _("Notify when updates have been automatically installed"); } } Adw.PreferencesGroup { title: _("Content Filters"); Adw.SwitchRow only_foss_switch { title: _("_Free Software Only"); subtitle: _("Hide proprietary apps when browsing and searching"); use-underline: true; } Adw.SwitchRow only_flathub_switch { title: _("F_lathub Results Only"); subtitle: _("Limit search and browse results to apps only available on Flathub"); use-underline: true; } Adw.SwitchRow only_verified_switch { title: _("_Verified Results Only"); subtitle: _("Hide results that are not verified on Flathub"); use-underline: true; } Adw.SwitchRow hide_eol_switch { title: _("Hide _End-of-Life Apps"); subtitle: _("Hide apps which are no longer supported by their developers"); use-underline: true; } } Adw.PreferencesGroup { title: _("Progress Bar Theme"); Adw.ActionRow { child: Box { margin-top: 6; margin-bottom: 6; halign: center; FlowBox flag_buttons_box { styles [ "accent-button-box", ] orientation: horizontal; column-spacing: 4; row-spacing: 4; halign: center; homogeneous: true; max-children-per-line: 11; selection-mode: none; } }; } } } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-preferences-dialog.c�����������������������������������������������0000664�0000000�0000000�00000030732�15234476640�0022375�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-preferences-dialog.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-preferences-dialog.h" #include <gio/gio.h> #include <glib/gi18n.h> #include <libdex.h> #include "env.h" #include "template-callbacks.h" #include "util.h" typedef struct { const char *id; const char *style_class; const char *tooltip; } BarTheme; static const BarTheme bar_themes[] = { { "accent-color", "accent-color-theme", N_ ("Accent Color") }, { "pride-rainbow-flag", "pride-rainbow-flag-theme", N_ ("Pride Colors") }, { "lesbian-pride-flag", "lesbian-pride-flag-theme", N_ ("Lesbian Pride Colors") }, { "gay-pride-flag", "gay-pride-flag-theme", N_ ("Male Homosexual Pride Colors") }, { "transgender-flag", "transgender-flag-theme", N_ ("Transgender Pride Colors") }, { "nonbinary-flag", "nonbinary-flag-theme", N_ ("Nonbinary Pride Colors") }, { "bisexual-flag", "bisexual-flag-theme", N_ ("Bisexual Pride Colors") }, { "asexual-flag", "asexual-flag-theme", N_ ("Asexual Pride Colors") }, { "pansexual-flag", "pansexual-flag-theme", N_ ("Pansexual Pride Colors") }, { "aromantic-flag", "aromantic-flag-theme", N_ ("Aromantic Pride Colors") }, { "genderfluid-flag", "genderfluid-flag-theme", N_ ("Genderfluid Pride Colors") }, { "polysexual-flag", "polysexual-flag-theme", N_ ("Polysexual Pride Colors") }, { "omnisexual-flag", "omnisexual-flag-theme", N_ ("Omnisexual Pride Colors") }, { "aroace-flag", "aroace-flag-theme", N_ ("Aroace Pride Colors") }, { "agender-flag", "agender-flag-theme", N_ ("Agender Pride Colors") }, { "genderqueer-flag", "genderqueer-flag-theme", N_ ("Genderqueer Pride Colors") }, { "intersex-flag", "intersex-flag-theme", N_ ("Intersex Pride Colors") }, { "demigender-flag", "demigender-flag-theme", N_ ("Demigender Pride Colors") }, { "biromantic-flag", "biromantic-flag-theme", N_ ("Biromantic Pride Colors") }, { "disability-flag", "disability-flag-theme", N_ ("Disability Pride Colors") }, { "femboy-flag", "femboy-flag-theme", N_ ("Femboy Pride Colors") }, { "neutrois-flag", "neutrois-flag-theme", N_ ("Neutrois Pride Colors") }, }; struct _BzPreferencesDialog { AdwPreferencesDialog parent_instance; BzStateInfo *state; GSettings *settings; /* Template widgets */ GtkCheckButton *automatic_updates_check; AdwSwitchRow *auto_notif_switch; AdwSwitchRow *only_foss_switch; AdwSwitchRow *only_flathub_switch; AdwSwitchRow *only_verified_switch; GtkFlowBox *flag_buttons_box; AdwSwitchRow *hide_eol_switch; GtkToggleButton *flag_buttons[G_N_ELEMENTS (bar_themes)]; }; G_DEFINE_FINAL_TYPE (BzPreferencesDialog, bz_preferences_dialog, ADW_TYPE_PREFERENCES_DIALOG) enum { PROP_0, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bind_settings (BzPreferencesDialog *self); static void create_flag_buttons (BzPreferencesDialog *self); static void request_autostart (gboolean enable); static DexFuture * request_autostart_fiber (gpointer user_data); static void bz_preferences_dialog_dispose (GObject *object) { BzPreferencesDialog *self = BZ_PREFERENCES_DIALOG (object); g_clear_object (&self->state); g_clear_object (&self->settings); G_OBJECT_CLASS (bz_preferences_dialog_parent_class)->dispose (object); } static void flag_button_toggled (GtkToggleButton *button, BzPreferencesDialog *self) { const char *theme_id = NULL; if (!gtk_toggle_button_get_active (button)) return; theme_id = g_object_get_data (G_OBJECT (button), "theme-id"); if (theme_id != NULL) { g_settings_set_string (self->settings, "global-progress-bar-theme", theme_id); } } static void global_progress_theme_settings_changed (BzPreferencesDialog *self, const char *key, GSettings *settings) { const char *theme = NULL; theme = g_settings_get_string (self->settings, "global-progress-bar-theme"); for (guint i = 0; i < G_N_ELEMENTS (bar_themes); i++) { if (g_strcmp0 (theme, bar_themes[i].id) == 0) { gtk_toggle_button_set_active (self->flag_buttons[i], TRUE); break; } } } static void create_flag_buttons (BzPreferencesDialog *self) { GtkToggleButton *first_button = NULL; for (guint i = 0; i < G_N_ELEMENTS (bar_themes); i++) { GtkToggleButton *button = NULL; button = GTK_TOGGLE_BUTTON (gtk_toggle_button_new ()); gtk_widget_set_tooltip_text (GTK_WIDGET (button), Q_ (bar_themes[i].tooltip)); gtk_widget_add_css_class (GTK_WIDGET (button), "accent-button"); gtk_widget_add_css_class (GTK_WIDGET (button), bar_themes[i].style_class); g_object_set_data_full (G_OBJECT (button), "theme-id", g_strdup (bar_themes[i].id), g_free); if (i == 0) { first_button = button; } else { gtk_toggle_button_set_group (button, first_button); } g_signal_connect (button, "toggled", G_CALLBACK (flag_button_toggled), self); self->flag_buttons[i] = button; gtk_flow_box_append (self->flag_buttons_box, GTK_WIDGET (button)); } } static void bind_settings (BzPreferencesDialog *self) { if (self->settings == NULL) return; /* Bind all boolean settings to their respective switches */ g_settings_bind (self->settings, "show-only-foss", self->only_foss_switch, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind (self->settings, "show-only-flathub", self->only_flathub_switch, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind (self->settings, "show-only-verified", self->only_verified_switch, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind (self->settings, "hide-eol", self->hide_eol_switch, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind (self->settings, "auto-update", self->automatic_updates_check, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind (self->settings, "auto-update-notifications", self->auto_notif_switch, "active", G_SETTINGS_BIND_DEFAULT); g_signal_connect_object ( self->settings, "changed::global-progress-bar-theme", G_CALLBACK (global_progress_theme_settings_changed), self, G_CONNECT_SWAPPED); global_progress_theme_settings_changed (self, "global-progress-bar-theme", self->settings); } static void bz_preferences_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzPreferencesDialog *self = BZ_PREFERENCES_DIALOG (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, self->state); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_preferences_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { switch (prop_id) { case PROP_STATE: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static DexFuture * request_autostart_fiber (gpointer user_data) { gboolean enable = GPOINTER_TO_INT (user_data); g_autoptr (GDBusConnection) bus = NULL; g_autoptr (GError) error = NULL; g_autoptr (GVariant) reply = NULL; g_autofree char *token = NULL; GVariant *options = NULL; static guint request_count = 0; bus = dex_await_object (dex_bus_get (G_BUS_TYPE_SESSION), &error); if (bus == NULL) { g_warning ("Could not connect to session bus: %s", error->message); return dex_future_new_for_error (g_steal_pointer (&error)); } token = g_strdup_printf ("bazaar_autostart_%u", request_count++); options = g_variant_new_parsed ( "{'handle_token': <%s>, 'reason': <%s>, " "'autostart': <%b>, 'dbus-activatable': <false>, " "'commandline': <['bazaar-daemon', '--no-window']>}", token, _ ("Bazaar needs to run in the background to check for app updates"), enable); reply = dex_await_variant ( dex_dbus_connection_call ( bus, "org.freedesktop.portal.Desktop", "/org/freedesktop/portal/desktop", "org.freedesktop.portal.Background", "RequestBackground", g_variant_new ("(s@a{sv})", "", options), NULL, G_DBUS_CALL_FLAGS_NONE, -1), &error); if (reply == NULL) { g_warning ("Failed to call RequestBackground: %s", error->message); return dex_future_new_for_error (g_steal_pointer (&error)); } return dex_future_new_true (); } static void request_autostart (gboolean enable) { dex_future_disown ( dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), request_autostart_fiber, GINT_TO_POINTER (enable), NULL)); } static void auto_updates_toggled_cb (GtkCheckButton *button, BzPreferencesDialog *self) { request_autostart (gtk_check_button_get_active (self->automatic_updates_check)); } static void bz_preferences_dialog_class_init (BzPreferencesDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_preferences_dialog_set_property; object_class->get_property = bz_preferences_dialog_get_property; object_class->dispose = bz_preferences_dialog_dispose; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-preferences-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, only_foss_switch); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, only_flathub_switch); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, only_verified_switch); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, flag_buttons_box); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, hide_eol_switch); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, automatic_updates_check); gtk_widget_class_bind_template_child (widget_class, BzPreferencesDialog, auto_notif_switch); gtk_widget_class_bind_template_callback (widget_class, auto_updates_toggled_cb); } static void bz_preferences_dialog_init (BzPreferencesDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); create_flag_buttons (self); } AdwDialog * bz_preferences_dialog_new (BzStateInfo *state) { BzPreferencesDialog *dialog = NULL; g_return_val_if_fail (BZ_IS_STATE_INFO (state), NULL); dialog = g_object_new (BZ_TYPE_PREFERENCES_DIALOG, NULL); dialog->state = g_object_ref (state); g_object_get (state, "settings", &dialog->settings, NULL); bind_settings (dialog); g_object_notify_by_pspec (G_OBJECT (dialog), props[PROP_STATE]); return ADW_DIALOG (dialog); } ��������������������������������������bazaar-org-bazaar-917017d/src/bz-preferences-dialog.h�����������������������������������������������0000664�0000000�0000000�00000002115�15234476640�0022374�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-preferences-dialog.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_PREFERENCES_DIALOG (bz_preferences_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzPreferencesDialog, bz_preferences_dialog, BZ, PREFERENCES_DIALOG, AdwPreferencesDialog) AdwDialog * bz_preferences_dialog_new (BzStateInfo *state); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-pride-flag-config.txt����������������������������������������������0000664�0000000�0000000�00000000340�15234476640�0022501�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=pride_flag_config parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-pride-flag-spec.h" ensure=BZ_TYPE_PRIDE_FLAG_SPEC property=flag_specs GListModel G_TYPE_LIST_MODEL object ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-pride-flag-spec.txt������������������������������������������������0000664�0000000�0000000�00000000631�15234476640�0022171�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=pride_flag_spec parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-pride-flag-stripe-spec.h" ensure=BZ_TYPE_PRIDE_FLAG_STRIPE_SPEC property=id char G_TYPE_STRING string property=name char G_TYPE_STRING string property=homogeneous gboolean G_TYPE_BOOLEAN boolean property=direction char G_TYPE_STRING string property=stripes GListModel G_TYPE_LIST_MODEL object �������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-pride-flag-stripe-spec.txt�����������������������������������������0000664�0000000�0000000�00000000300�15234476640�0023466�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=pride_flag_stripe_spec parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> property=rgba char G_TYPE_STRING string property=size double G_TYPE_DOUBLE double ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-progress-bar.blp���������������������������������������������������0000664�0000000�0000000�00000000137�15234476640�0021574�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzProgressBar: Adw.Bin { child: ProgressBar bar {}; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-progress-bar.c�����������������������������������������������������0000664�0000000�0000000�00000011654�15234476640�0021247�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-progress-bar.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-progress-bar.h" struct _BzProgressBar { AdwBin parent_instance; double fraction; AdwAnimation *animation; /* Template widgets */ GtkProgressBar *bar; }; G_DEFINE_FINAL_TYPE (BzProgressBar, bz_progress_bar, ADW_TYPE_BIN) enum { PROP_0, PROP_FRACTION, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_progress_bar_dispose (GObject *object) { BzProgressBar *self = BZ_PROGRESS_BAR (object); g_clear_object (&self->animation); G_OBJECT_CLASS (bz_progress_bar_parent_class)->dispose (object); } static void bz_progress_bar_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzProgressBar *self = BZ_PROGRESS_BAR (object); switch (prop_id) { case PROP_FRACTION: g_value_set_double (value, bz_progress_bar_get_fraction (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_progress_bar_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzProgressBar *self = BZ_PROGRESS_BAR (object); switch (prop_id) { case PROP_FRACTION: bz_progress_bar_set_fraction (self, g_value_get_double (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_progress_bar_class_init (BzProgressBarClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_progress_bar_dispose; object_class->get_property = bz_progress_bar_get_property; object_class->set_property = bz_progress_bar_set_property; props[PROP_FRACTION] = g_param_spec_double ( "fraction", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-progress-bar.ui"); gtk_widget_class_bind_template_child (widget_class, BzProgressBar, bar); } static void bz_progress_bar_init (BzProgressBar *self) { AdwAnimationTarget *target = NULL; AdwSpringParams *spring = NULL; gtk_widget_init_template (GTK_WIDGET (self)); target = adw_property_animation_target_new (G_OBJECT (self->bar), "fraction"); spring = adw_spring_params_new (1.0, 0.5, 200.0); self->animation = adw_spring_animation_new ( GTK_WIDGET (self), 0.0, 0.0, spring, target); adw_spring_animation_set_epsilon ( ADW_SPRING_ANIMATION (self->animation), 0.00025); } GtkWidget * bz_progress_bar_new (void) { return g_object_new (BZ_TYPE_PROGRESS_BAR, NULL); } void bz_progress_bar_set_fraction (BzProgressBar *self, double fraction) { double last = 0.0; double current = 0.0; g_return_if_fail (BZ_IS_PROGRESS_BAR (self)); last = self->fraction; self->fraction = CLAMP (fraction, 0.0, 1.0); current = gtk_progress_bar_get_fraction (self->bar); if (self->fraction < last || G_APPROX_VALUE (last, self->fraction, 0.001)) { adw_animation_reset (self->animation); gtk_progress_bar_set_fraction (self->bar, self->fraction); } else { adw_spring_animation_set_value_from ( ADW_SPRING_ANIMATION (self->animation), current); adw_spring_animation_set_value_to ( ADW_SPRING_ANIMATION (self->animation), self->fraction); adw_spring_animation_set_initial_velocity ( ADW_SPRING_ANIMATION (self->animation), adw_spring_animation_get_velocity ( ADW_SPRING_ANIMATION (self->animation))); adw_animation_play (self->animation); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FRACTION]); } double bz_progress_bar_get_fraction (BzProgressBar *self) { g_return_val_if_fail (BZ_IS_PROGRESS_BAR (self), 0.0); return self->fraction; } ������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-progress-bar.h�����������������������������������������������������0000664�0000000�0000000�00000002230�15234476640�0021242�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-progress-bar.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_PROGRESS_BAR (bz_progress_bar_get_type ()) G_DECLARE_FINAL_TYPE (BzProgressBar, bz_progress_bar, BZ, PROGRESS_BAR, AdwBin) GtkWidget * bz_progress_bar_new (void); void bz_progress_bar_set_fraction (BzProgressBar *self, double fraction); double bz_progress_bar_get_fraction (BzProgressBar *self); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-release.txt��������������������������������������������������������0000664�0000000�0000000�00000000420�15234476640�0020643�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=release parent-prefix=g parent-name=object author=AUTOGEN include=<gio/gio.h> property=description char G_TYPE_STRING string property=timestamp guint64 G_TYPE_UINT64 uint64 property=url char G_TYPE_STRING string property=version char G_TYPE_STRING string ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-releases-dialog.blp������������������������������������������������0000664�0000000�0000000�00000001303�15234476640�0022222�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzReleasesDialog: Adw.Dialog { title: _("Version History"); content-width: 550; content-height: 600; child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: true; } content: ScrolledWindow { propagate-natural-height: true; vexpand: true; hscrollbar-policy: never; child: Adw.Clamp { maximum-size: 500; tightening-threshold: 600; margin-top: 24; margin-bottom: 24; margin-start: 12; margin-end: 12; child: ListBox releases_box { styles ["boxed-list"] valign: start; selection-mode: none; }; }; }; }; }�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-releases-list.blp��������������������������������������������������0000664�0000000�0000000�00000001121�15234476640�0021734�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzReleasesList: Adw.Bin { visible: false; child: Box { orientation: vertical; spacing: 12; ListBox preview_box { styles [ "boxed-list", ] selection-mode: none; valign: start; } ListBox show_all_box { visible: false; styles [ "boxed-list", ] selection-mode: none; Adw.ButtonRow { title: _("_Version History"); use-underline: true; activated => $show_all_releases_cb(); end-icon-name: "go-next-symbolic"; } } }; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-releases-list.c����������������������������������������������������0000664�0000000�0000000�00000043636�15234476640�0021422�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-releases-list.c * * Copyright 2025 Alexander Vanhee, Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-appstream-description-render.h" #include "bz-fading-clamp.h" #include "bz-release.h" #include "bz-releases-list.h" #include "template-callbacks.h" /* Dialog structure */ typedef struct { /* Template widgets */ AdwDialog parent_instance; GtkListBox *releases_box; GListModel *installed_versions; } BzReleasesDialog; typedef struct { AdwDialogClass parent_class; } BzReleasesDialogClass; static GType bz_releases_dialog_get_type (void) G_GNUC_CONST; G_DEFINE_TYPE (BzReleasesDialog, bz_releases_dialog, ADW_TYPE_DIALOG) /* Main widget structure */ struct _BzReleasesList { AdwBin parent_instance; GListModel *version_history; GListModel *installed_versions; /* Template widgets */ GtkListBox *preview_box; GtkBox *show_all_box; }; G_DEFINE_FINAL_TYPE (BzReleasesList, bz_releases_list, ADW_TYPE_BIN) enum { PROP_0, PROP_VERSION_HISTORY, PROP_INSTALLED_VERSIONS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static gboolean is_version_installed (GListModel *installed_versions, const char *version) { guint n_items = 0; if (!installed_versions || !version) return FALSE; n_items = g_list_model_get_n_items (installed_versions); for (guint i = 0; i < n_items; i++) { g_autoptr (GObject) item = NULL; item = g_list_model_get_item (installed_versions, i); if (GTK_IS_STRING_OBJECT (item)) { const char *installed_version = NULL; installed_version = gtk_string_object_get_string (GTK_STRING_OBJECT (item)); if (installed_version != NULL && g_strcmp0 (installed_version, version) == 0) return TRUE; } } return FALSE; } // From gs-common.c static char * format_timestamp (guint64 unix_time) { g_autoptr (GDateTime) then = NULL; g_autoptr (GDateTime) now = NULL; gint days, weeks, months, years; if (unix_time == 0) return NULL; then = g_date_time_new_from_unix_utc (unix_time); now = g_date_time_new_now_local (); if (then == NULL || now == NULL) return NULL; days = (gint) (g_date_time_difference (now, then) / G_TIME_SPAN_DAY); weeks = days / 7; months = days / 30; years = weeks / 52; if (days < 1) /* Translators: something happened less than a day ago */ return g_strdup (_ ("Today")); else if (days < 2) /* Translators: something happened more than a day ago but less than 2 days ago */ return g_strdup (_ ("Yesterday")); else if (days < 15) /* Translators: something happened days ago */ return g_strdup_printf (ngettext ("%d day ago", "%d days ago", days), days); else if (weeks < 8) /* Translators: something happened weeks ago */ return g_strdup_printf (ngettext ("%d week ago", "%d weeks ago", weeks), weeks); else if (years < 1) /* Translators: something happened months ago */ return g_strdup_printf (ngettext ("%d month ago", "%d months ago", months), months); else /* Translators: something happened years ago */ return g_strdup_printf (ngettext ("%d year ago", "%d years ago", years), years); } static char * format_timestamp_tooltip (guint64 unix_time) { g_autoptr (GDateTime) then = NULL; if (unix_time == 0) return NULL; then = g_date_time_new_from_unix_utc (unix_time); if (then == NULL) return NULL; /* TRANSLATORS: This is the date string with: day number, month name, year. i.e. "22 March 2026" */ return g_date_time_format (then, _ ("%e %B %Y")); } static GtkWidget * create_release_row (const char *version, const char *description, guint64 timestamp, const char *url, gboolean use_clamp, GListModel *installed_versions) { AdwActionRow *row = NULL; GtkBox *content_box = NULL; GtkBox *header_box = NULL; GtkLabel *version_label = NULL; GtkLabel *date_label = NULL; GtkLabel *installed_label = NULL; BzAppstreamDescriptionRender *description_widget = NULL; BzFadingClamp *fading_clamp = NULL; GtkBox *more_info_box = NULL; GtkLabel *more_info_label = NULL; GtkImage *more_info_icon = NULL; g_autofree char *date_str = NULL; g_autofree char *date_tooltip = NULL; g_autofree char *version_text = NULL; g_autofree char *markup = NULL; date_str = format_timestamp (timestamp); row = ADW_ACTION_ROW (adw_action_row_new ()); gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), FALSE); content_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 3)); gtk_widget_set_margin_top (GTK_WIDGET (content_box), 15); gtk_widget_set_margin_bottom (GTK_WIDGET (content_box), 15); gtk_widget_set_margin_start (GTK_WIDGET (content_box), 15); gtk_widget_set_margin_end (GTK_WIDGET (content_box), 15); header_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8)); gtk_widget_set_size_request (GTK_WIDGET (header_box), -1, 24); version_text = g_strdup_printf (_ ("Version %s"), version); version_label = GTK_LABEL (gtk_label_new (version_text)); gtk_widget_add_css_class (GTK_WIDGET (version_label), "accent"); gtk_widget_add_css_class (GTK_WIDGET (version_label), "heading"); gtk_label_set_ellipsize (version_label, PANGO_ELLIPSIZE_END); gtk_widget_set_halign (GTK_WIDGET (version_label), GTK_ALIGN_START); gtk_box_append (header_box, GTK_WIDGET (version_label)); if (is_version_installed (installed_versions, version)) { installed_label = GTK_LABEL (gtk_label_new (_ ("Installed"))); gtk_widget_add_css_class (GTK_WIDGET (installed_label), "lozenge"); gtk_widget_add_css_class (GTK_WIDGET (installed_label), "small"); gtk_widget_set_halign (GTK_WIDGET (installed_label), GTK_ALIGN_START); gtk_widget_set_hexpand (GTK_WIDGET (installed_label), TRUE); gtk_box_append (header_box, GTK_WIDGET (installed_label)); } else { gtk_widget_set_hexpand (GTK_WIDGET (version_label), TRUE); } date_label = GTK_LABEL (gtk_label_new (date_str ? date_str : "")); gtk_widget_add_css_class (GTK_WIDGET (date_label), "dim-label"); gtk_widget_set_halign (GTK_WIDGET (date_label), GTK_ALIGN_END); date_tooltip = format_timestamp_tooltip (timestamp); if (date_tooltip != NULL) gtk_widget_set_tooltip_text (GTK_WIDGET (date_label), date_tooltip); gtk_box_append (header_box, GTK_WIDGET (date_label)); gtk_box_append (content_box, GTK_WIDGET (header_box)); if (description != NULL && *description) { description_widget = bz_appstream_description_render_new (); bz_appstream_description_render_set_appstream_description (description_widget, description); if (use_clamp) { fading_clamp = BZ_FADING_CLAMP (bz_fading_clamp_new ()); bz_fading_clamp_set_max_height (fading_clamp, 270); bz_fading_clamp_set_child (fading_clamp, GTK_WIDGET (description_widget)); gtk_widget_set_margin_top (GTK_WIDGET (fading_clamp), 10); gtk_box_append (content_box, GTK_WIDGET (fading_clamp)); } else { gtk_widget_set_margin_top (GTK_WIDGET (description_widget), 10); gtk_box_append (content_box, GTK_WIDGET (description_widget)); } } else { GtkLabel *fallback_label = NULL; fallback_label = GTK_LABEL (gtk_label_new (_ ("No details for this release"))); gtk_widget_set_margin_top (GTK_WIDGET (fallback_label), 5); gtk_label_set_selectable (fallback_label, TRUE); gtk_widget_add_css_class (GTK_WIDGET (fallback_label), "dim-label"); gtk_label_set_xalign (fallback_label, 0.0); gtk_label_set_wrap (fallback_label, TRUE); gtk_box_append (content_box, GTK_WIDGET (fallback_label)); } if (!use_clamp && url && *url) { more_info_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4)); markup = g_markup_printf_escaped ("<a href=\"%s\" title=\"%s\">%s</a>", url, url, _ ("Get More Information")); more_info_label = GTK_LABEL (gtk_label_new (NULL)); gtk_label_set_markup (more_info_label, markup); gtk_widget_set_tooltip_text (GTK_WIDGET (more_info_label), url); gtk_box_append (more_info_box, GTK_WIDGET (more_info_label)); more_info_icon = GTK_IMAGE (gtk_image_new_from_icon_name ("external-link-symbolic")); gtk_image_set_pixel_size (more_info_icon, 12); gtk_widget_add_css_class (GTK_WIDGET (more_info_icon), "accent"); gtk_box_append (more_info_box, GTK_WIDGET (more_info_icon)); gtk_box_append (content_box, GTK_WIDGET (more_info_box)); } gtk_list_box_row_set_child (GTK_LIST_BOX_ROW (row), GTK_WIDGET (content_box)); return GTK_WIDGET (row); } static void bz_releases_dialog_dispose (GObject *object) { BzReleasesDialog *self = (BzReleasesDialog *) object; g_clear_object (&self->installed_versions); G_OBJECT_CLASS (bz_releases_dialog_parent_class)->dispose (object); } static void bz_releases_dialog_class_init (BzReleasesDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_releases_dialog_dispose; gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-releases-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, BzReleasesDialog, releases_box); } static void bz_releases_dialog_init (BzReleasesDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_releases_dialog_new (GListModel *version_history, GListModel *installed_versions) { BzReleasesDialog *dialog = NULL; guint n_items = 0; dialog = g_object_new (bz_releases_dialog_get_type (), NULL); if (installed_versions) dialog->installed_versions = g_object_ref (installed_versions); if (version_history == NULL) return GTK_WIDGET (dialog); n_items = g_list_model_get_n_items (version_history); for (guint i = 0; i < n_items; i++) { g_autoptr (BzRelease) release = NULL; const char *version = NULL; const char *description = NULL; const char *url = NULL; guint64 timestamp = 0; GtkWidget *row = NULL; release = g_list_model_get_item (version_history, i); if (release == NULL) continue; version = bz_release_get_version (release); description = bz_release_get_description (release); url = bz_release_get_url (release); timestamp = bz_release_get_timestamp (release); row = create_release_row (version, description, timestamp, url, FALSE, dialog->installed_versions); gtk_list_box_append (dialog->releases_box, row); } return GTK_WIDGET (dialog); } static void clear_preview_box (BzReleasesList *self) { GtkWidget *child = NULL; g_return_if_fail (BZ_IS_RELEASES_LIST (self)); while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->preview_box))) != NULL) { if (child == GTK_WIDGET (self->show_all_box)) break; gtk_list_box_remove (self->preview_box, child); } } static void populate_preview_box (BzReleasesList *self) { guint n_items = 0; g_return_if_fail (BZ_IS_RELEASES_LIST (self)); clear_preview_box (self); if (self->version_history == NULL) { gtk_widget_set_visible (GTK_WIDGET (self->show_all_box), FALSE); return; } n_items = g_list_model_get_n_items (self->version_history); if (n_items == 0) { gtk_widget_set_visible (GTK_WIDGET (self->show_all_box), FALSE); return; } if (n_items > 0) { g_autoptr (BzRelease) release = NULL; const char *version = NULL; const char *description = NULL; guint64 timestamp = 0; GtkWidget *row = NULL; release = g_list_model_get_item (self->version_history, 0); if (release != NULL) { version = bz_release_get_version (release); description = bz_release_get_description (release); timestamp = bz_release_get_timestamp (release); row = create_release_row (version, description, timestamp, NULL, TRUE, self->installed_versions); gtk_list_box_insert (self->preview_box, row, 0); } } gtk_widget_set_visible (GTK_WIDGET (self->show_all_box), n_items > 0); } static void show_all_releases_cb (AdwButtonRow *button, BzReleasesList *self) { GtkWidget *dialog = NULL; GtkRoot *root = NULL; g_return_if_fail (BZ_IS_RELEASES_LIST (self)); root = gtk_widget_get_root (GTK_WIDGET (self)); if (root == NULL) return; dialog = bz_releases_dialog_new (self->version_history, self->installed_versions); adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (root)); } static void bz_releases_list_dispose (GObject *object) { BzReleasesList *self = BZ_RELEASES_LIST (object); g_clear_object (&self->version_history); g_clear_object (&self->installed_versions); G_OBJECT_CLASS (bz_releases_list_parent_class)->dispose (object); } static void bz_releases_list_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzReleasesList *self = BZ_RELEASES_LIST (object); switch (prop_id) { case PROP_VERSION_HISTORY: g_value_set_object (value, self->version_history); break; case PROP_INSTALLED_VERSIONS: g_value_set_object (value, self->installed_versions); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_releases_list_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzReleasesList *self = BZ_RELEASES_LIST (object); switch (prop_id) { case PROP_VERSION_HISTORY: bz_releases_list_set_version_history (self, g_value_get_object (value)); break; case PROP_INSTALLED_VERSIONS: g_clear_object (&self->installed_versions); self->installed_versions = g_value_dup_object (value); populate_preview_box (self); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_releases_list_class_init (BzReleasesListClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_releases_list_dispose; object_class->get_property = bz_releases_list_get_property; object_class->set_property = bz_releases_list_set_property; props[PROP_VERSION_HISTORY] = g_param_spec_object ("version-history", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_INSTALLED_VERSIONS] = g_param_spec_object ("installed-versions", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_RELEASE); g_type_ensure (BZ_TYPE_APPSTREAM_DESCRIPTION_RENDER); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-releases-list.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzReleasesList, preview_box); gtk_widget_class_bind_template_child (widget_class, BzReleasesList, show_all_box); gtk_widget_class_bind_template_callback (widget_class, show_all_releases_cb); } static void bz_releases_list_init (BzReleasesList *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_releases_list_new (void) { return g_object_new (BZ_TYPE_RELEASES_LIST, NULL); } void bz_releases_list_set_version_history (BzReleasesList *self, GListModel *version_history) { g_return_if_fail (BZ_IS_RELEASES_LIST (self)); g_return_if_fail (version_history == NULL || G_IS_LIST_MODEL (version_history)); if (self->version_history == version_history) return; g_clear_object (&self->version_history); if (version_history != NULL) { self->version_history = g_object_ref (version_history); populate_preview_box (self); gtk_widget_set_visible (GTK_WIDGET (self), g_list_model_get_n_items (version_history) > 0); } else { clear_preview_box (self); gtk_widget_set_visible (GTK_WIDGET (self), FALSE); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VERSION_HISTORY]); } GListModel * bz_releases_list_get_version_history (BzReleasesList *self) { g_return_val_if_fail (BZ_IS_RELEASES_LIST (self), NULL); return self->version_history; } ��������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-releases-list.h����������������������������������������������������0000664�0000000�0000000�00000002525�15234476640�0021417�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-releases-list.h * * Copyright 2025 Alexander Vanhee, Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_RELEASES_LIST (bz_releases_list_get_type ()) G_DECLARE_FINAL_TYPE (BzReleasesList, bz_releases_list, BZ, RELEASES_LIST, AdwBin) GtkWidget * bz_releases_list_new (void); GtkWidget * bz_releases_dialog_new (GListModel *version_history, GListModel *installed_versions); void bz_releases_list_set_version_history (BzReleasesList *self, GListModel *version_history); GListModel * bz_releases_list_get_version_history (BzReleasesList *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-repository.txt�����������������������������������������������������0000664�0000000�0000000�00000000366�15234476640�0021453�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=repository parent-prefix=g parent-name=object author=AUTOGEN property=is_user gboolean G_TYPE_BOOLEAN boolean property=title char G_TYPE_STRING string property=url char G_TYPE_STRING string property=name char G_TYPE_STRING string ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-result.c�����������������������������������������������������������0000664�0000000�0000000�00000016666�15234476640�0020167�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-result.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-result.h" struct _BzResult { GObject parent_instance; DexFuture *finally; GObject *object; GError *error; GTimer *timer; char *non_error_msg; }; G_DEFINE_FINAL_TYPE (BzResult, bz_result, G_TYPE_OBJECT); enum { PROP_0, PROP_PENDING, PROP_RESOLVED, PROP_REJECTED, PROP_OBJECT, PROP_MESSAGE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * future_finally (DexFuture *future, BzResult *self); static void bz_result_dispose (GObject *object) { BzResult *self = BZ_RESULT (object); dex_clear (&self->finally); g_clear_object (&self->object); g_clear_pointer (&self->error, g_error_free); g_clear_pointer (&self->timer, g_timer_destroy); g_clear_pointer (&self->non_error_msg, g_free); G_OBJECT_CLASS (bz_result_parent_class)->dispose (object); } static void bz_result_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzResult *self = BZ_RESULT (object); switch (prop_id) { case PROP_PENDING: g_value_set_boolean (value, bz_result_get_pending (self)); break; case PROP_RESOLVED: g_value_set_boolean (value, bz_result_get_resolved (self)); break; case PROP_REJECTED: g_value_set_boolean (value, bz_result_get_rejected (self)); break; case PROP_OBJECT: g_value_set_object (value, bz_result_get_object (self)); break; case PROP_MESSAGE: g_value_set_string (value, bz_result_get_message (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_result_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { // BzResult *self = BZ_RESULT (object); switch (prop_id) { case PROP_PENDING: case PROP_RESOLVED: case PROP_REJECTED: case PROP_OBJECT: case PROP_MESSAGE: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_result_class_init (BzResultClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_result_set_property; object_class->get_property = bz_result_get_property; object_class->dispose = bz_result_dispose; props[PROP_PENDING] = g_param_spec_boolean ( "pending", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_RESOLVED] = g_param_spec_boolean ( "resolved", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_REJECTED] = g_param_spec_boolean ( "rejected", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_OBJECT] = g_param_spec_object ( "object", NULL, NULL, G_TYPE_OBJECT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_MESSAGE] = g_param_spec_string ( "message", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_result_init (BzResult *self) { } BzResult * bz_result_new (DexFuture *future) { BzResult *self = NULL; DexFutureStatus status = DEX_FUTURE_STATUS_PENDING; g_return_val_if_fail (DEX_IS_FUTURE (future), NULL); self = g_object_new (BZ_TYPE_RESULT, NULL); status = dex_future_get_status (future); switch (status) { case DEX_FUTURE_STATUS_PENDING: self->timer = g_timer_new (); self->finally = dex_future_finally ( dex_ref (future), (DexFutureCallback) future_finally, g_object_ref (self), g_object_unref); break; case DEX_FUTURE_STATUS_RESOLVED: self->object = g_value_dup_object (dex_future_get_value (future, NULL)); self->non_error_msg = g_strdup ("Object was already successfully resolved"); break; case DEX_FUTURE_STATUS_REJECTED: { g_autoptr (GError) local_error = NULL; dex_future_get_value (future, &local_error); self->error = g_error_copy (local_error); } break; default: g_assert_not_reached (); } return self; } gboolean bz_result_get_pending (BzResult *self) { g_return_val_if_fail (BZ_IS_RESULT (self), FALSE); return self->finally != NULL; } gboolean bz_result_get_resolved (BzResult *self) { g_return_val_if_fail (BZ_IS_RESULT (self), FALSE); return self->object != NULL; } gboolean bz_result_get_rejected (BzResult *self) { g_return_val_if_fail (BZ_IS_RESULT (self), FALSE); return self->error != NULL; } gpointer bz_result_get_object (BzResult *self) { g_return_val_if_fail (BZ_IS_RESULT (self), NULL); return self->object; } const char * bz_result_get_message (BzResult *self) { g_return_val_if_fail (BZ_IS_RESULT (self), NULL); if (self->error != NULL) return self->error->message; else return self->non_error_msg; } DexFuture * bz_result_dup_future (BzResult *self) { g_return_val_if_fail (BZ_IS_RESULT (self), NULL); if (self->finally != NULL) return dex_ref (self->finally); else if (self->object != NULL) return dex_future_new_for_object (self->object); else if (self->error != NULL) return dex_future_new_for_error (g_error_copy (self->error)); else return NULL; } static DexFuture * future_finally (DexFuture *future, BzResult *self) { g_autoptr (GError) local_error = NULL; const GValue *value = NULL; dex_clear (&self->finally); g_timer_stop (self->timer); value = dex_future_get_value (future, &local_error); if (value != NULL) { self->object = g_value_dup_object (value); self->non_error_msg = g_strdup_printf ( "Successfully resolved object in %f seconds", g_timer_elapsed (self->timer, NULL)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_OBJECT]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MESSAGE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RESOLVED]); } else { self->error = g_error_copy (local_error); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MESSAGE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REJECTED]); } return dex_ref (future); } /* End of bz-result.c */ ��������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-result.h�����������������������������������������������������������0000664�0000000�0000000�00000002433�15234476640�0020157�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-result.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> G_BEGIN_DECLS #define BZ_TYPE_RESULT (bz_result_get_type ()) G_DECLARE_FINAL_TYPE (BzResult, bz_result, BZ, RESULT, GObject) BzResult * bz_result_new (DexFuture *future); gboolean bz_result_get_pending (BzResult *self); gboolean bz_result_get_resolved (BzResult *self); gboolean bz_result_get_rejected (BzResult *self); gpointer bz_result_get_object (BzResult *self); const char * bz_result_get_message (BzResult *self); DexFuture * bz_result_dup_future (BzResult *self); G_END_DECLS /* End of bz-result.h */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-rich-app-tile.blp��������������������������������������������������0000664�0000000�0000000�00000014263�15234476640�0021631�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzRichAppTile: $BzListTile { overflow: hidden; activated => $tile_clicked_cb(); accessibility { described-by: description; } child: Box { orientation: vertical; styles [ "rich-tile-card", ] $BzThemedEntryGroupRect picture_box { height-request: 200; styles [ "rich-screenshot-box", ] group: bind template.group as <$BzEntryGroup>; child: Box { margin-start: 12; margin-end: 12; margin-top: 12; margin-bottom: 12; Image { icon-name: "image-missing-symbolic"; pixel-size: 96; halign: center; valign: center; hexpand: true; visible: bind screenshot.visible inverted; } $BzRoundedPicture screenshot { halign: center; hexpand: true; valign: center; paintable: bind template.ui-entry as <$BzEntry>.thumbnail-paintable; radius: 6; visible: bind $invert_boolean($is_null(template.ui-entry as <$BzEntry>.thumbnail-paintable) as <bool>) as <bool>; } }; } Box { margin-start: 12; margin-end: 12; margin-top: 12; margin-bottom: 12; orientation: horizontal; spacing: 15; height-request: 64; $BzTransactIcon { valign: center; halign: center; width-request: 64; height-request: 64; info: $BzTransactIconInfo transact_icon_info { group: bind template.group as <$BzEntryGroup>; paintable: bind template.ui_entry as <$BzEntry>.icon-paintable; }; } Box { valign: center; hexpand: true; orientation: vertical; spacing: 5; Box { spacing: 6; Label title { css-name: "app-tile-title"; styles [ "heading", ] xalign: 0.0; ellipsize: end; label: bind template.group as <$BzEntryGroup>.title; max-width-chars: 18; } Image { styles [ "verified", ] visible: bind template.group as <$BzEntryGroup>.is-verified; icon-name: "verified-checkmark-symbolic"; pixel-size: 14; accessibility { label: _("Verified"); } } } Label description { visible: bind $is_null(template.group as <$BzEntryGroup>.eol) as <bool>; css-name: "app-tile-description"; xalign: 0.0; yalign: 0.0; wrap: true; wrap-mode: word_char; ellipsize: end; vexpand: true; lines: 2; max-width-chars: 15; single-line-mode: true; label: bind template.group as <$BzEntryGroup>.description; styles [ "dimmed", ] } Label { visible: bind $invert_boolean($is_null(template.group as <$BzEntryGroup>.eol) as <bool>) as <bool>; css-name: "app-tile-description"; xalign: 0.0; yalign: 0.0; wrap: true; wrap-mode: word_char; ellipsize: end; vexpand: true; lines: 2; max-width-chars: 15; single-line-mode: true; label: _("Stopped Receiving Updates"); styles [ "warning", ] } } Stack action_stack { transition-type: crossfade; valign: center; hhomogeneous: false; interpolate-size: true; visible-child-name: bind try { $get_visible_page( template.group as <$BzEntryGroup>.installable, template.group as <$BzEntryGroup>.removable, template.removable-at-start as <bool>, template.tracker as <$BzTransactionEntryTracker>, template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus> ) as <string>, $get_visible_page( template.group as <$BzEntryGroup>.installable, template.group as <$BzEntryGroup>.removable, template.removable-at-start as <bool>, null as <$BzTransactionEntryTracker>, null as <$BzTransactionEntryStatus> ) as <string> }; StackPage { name: "get"; child: Button get_button { sensitive: bind $invert_boolean( $is_zero(template.group as <$BzEntryGroup>.installable-and-available) as <bool> ) as <bool>; styles [ "medium-pill", ] valign: center; clicked => $install_button_clicked_cb(template); }; } StackPage { name: "open"; child: Button { sensitive: bind $invert_boolean( $is_zero(template.group as <$BzEntryGroup>.removable-and-available) as <bool> ) as <bool>; styles [ "medium-pill", ] // TRANSLATORS: Button to launch an installed app label: _("Open"); valign: center; clicked => $run_button_clicked_cb(template); }; } StackPage { name: "uninstall"; child: Button { sensitive: bind $invert_boolean( $is_zero(template.group as <$BzEntryGroup>.removable-and-available) as <bool> ) as <bool>; styles [ "circular", ] icon-name: "user-trash-symbolic"; has-tooltip: true; tooltip-text: _("Uninstall"); valign: center; clicked => $remove_button_clicked_cb(template); }; } StackPage { name: "cancel"; child: Button { styles [ "circular", ] icon-name: "cross-large-circle-filled-symbolic"; has-tooltip: true; tooltip-text: _("Cancel"); valign: center; clicked => $cancel_button_clicked_cb(template); }; } StackPage { name: "empty"; child: Box {}; } } } }; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-rich-app-tile.c����������������������������������������������������0000664�0000000�0000000�00000033774�15234476640�0021306�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-rich-app-tile.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-rich-app-tile.h" #include "bz-application.h" #include "bz-entry.h" #include "bz-rounded-picture.h" #include "bz-themed-entry-group-rect.h" #include "bz-transact-icon.h" #include "util.h" #include <glib/gi18n.h> struct _BzRichAppTile { BzListTile parent_instance; BzEntryGroup *group; BzEntry *ui_entry; DexFuture *ui_entry_resolve; gboolean removable_at_start; BzTransactionEntryTracker *tracker; GListModel *all_trackers; GtkWidget *picture_box; GtkWidget *get_button; BzTransactIconInfo *transact_icon_info; GtkWidget *action_stack; }; G_DEFINE_FINAL_TYPE (BzRichAppTile, bz_rich_app_tile, BZ_TYPE_LIST_TILE); enum { PROP_0, PROP_GROUP, PROP_UI_ENTRY, PROP_REMOVABLE_AT_START, PROP_TRACKER, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void update_ui_entry (BzRichAppTile *self); static void update_tracker (BzRichAppTile *self) { BzTransactionManager *manager = NULL; g_autoptr (GListModel) all = NULL; const char *group_id = NULL; g_autoptr (BzTransactionEntryTracker) found = NULL; manager = bz_state_info_get_transaction_manager (bz_state_info_get_default ()); if (manager != NULL) g_object_get (manager, "all-trackers", &all, NULL); if (self->group != NULL) group_id = bz_entry_group_get_id (self->group); if (all != NULL && group_id != NULL) { for (guint i = 0; i < g_list_model_get_n_items (all); i++) { g_autoptr (BzTransactionEntryTracker) tracker = NULL; BzEntry *entry = NULL; tracker = g_list_model_get_item (all, i); entry = bz_transaction_entry_tracker_get_entry (tracker); if (g_strcmp0 (entry != NULL ? bz_entry_get_id (entry) : NULL, group_id) == 0) { found = g_steal_pointer (&tracker); break; } } } if (g_set_object (&self->tracker, found)) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRACKER]); } static void on_all_trackers_changed (GListModel *model, guint position, guint removed, guint added, BzRichAppTile *self) { update_tracker (self); } static DexFuture * ui_entry_resolved_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzRichAppTile) self = NULL; const GValue *value = NULL; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, NULL); if (value != NULL) { BzEntry *ui_entry = g_value_get_object (value); g_set_object (&self->ui_entry, ui_entry); } else { g_clear_object (&self->ui_entry); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_UI_ENTRY]); return NULL; } static void update_ui_entry (BzRichAppTile *self) { g_autoptr (BzResult) ui_entry_result = NULL; dex_clear (&self->ui_entry_resolve); if (self->ui_entry != NULL) { g_clear_object (&self->ui_entry); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_UI_ENTRY]); } ui_entry_result = bz_entry_group_dup_ui_entry (self->group); self->ui_entry_resolve = dex_future_finally ( bz_result_dup_future (ui_entry_result), (DexFutureCallback) ui_entry_resolved_finally, bz_track_weak (self), bz_weak_release); } static void bz_rich_app_tile_dispose (GObject *object) { BzRichAppTile *self = BZ_RICH_APP_TILE (object); if (self->all_trackers != NULL) { g_signal_handlers_disconnect_by_func (self->all_trackers, on_all_trackers_changed, self); g_clear_object (&self->all_trackers); } g_clear_object (&self->group); g_clear_object (&self->ui_entry); g_clear_object (&self->tracker); dex_clear (&self->ui_entry_resolve); G_OBJECT_CLASS (bz_rich_app_tile_parent_class)->dispose (object); } static void bz_rich_app_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzRichAppTile *self = BZ_RICH_APP_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_rich_app_tile_get_group (self)); break; case PROP_UI_ENTRY: g_value_set_object (value, self->ui_entry); break; case PROP_REMOVABLE_AT_START: g_value_set_boolean (value, self->removable_at_start); break; case PROP_TRACKER: g_value_set_object (value, self->tracker); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_rich_app_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzRichAppTile *self = BZ_RICH_APP_TILE (object); switch (prop_id) { case PROP_GROUP: bz_rich_app_tile_set_group (self, g_value_get_object (value)); break; case PROP_UI_ENTRY: case PROP_REMOVABLE_AT_START: case PROP_TRACKER: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void tile_clicked_cb (GtkButton *button, BzRichAppTile *self) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.show-group", "s", bz_entry_group_get_id (self->group)); } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_zero (gpointer object, int value) { return value == 0; } static char * get_visible_page (gpointer object, int installable, int removable, gboolean removable_at_start, BzTransactionEntryTracker *tracker, BzTransactionEntryStatus status) { if (tracker != NULL && (bz_transaction_entry_tracker_get_active (tracker) || bz_transaction_entry_tracker_get_pending (tracker)) && status != BZ_TRANSACTION_ENTRY_STATUS_CANCELLED && status != BZ_TRANSACTION_ENTRY_STATUS_DONE) return g_strdup ("cancel"); if (removable > 0) return g_strdup (removable_at_start ? "uninstall" : "open"); if (installable > 0) return g_strdup ("get"); return g_strdup ("empty"); } static void install_button_clicked_cb (BzRichAppTile *self, GtkButton *button) { gtk_widget_activate_action (GTK_WIDGET (self), "window.install-group", "(sb)", bz_entry_group_get_id (self->group), TRUE); } static void remove_button_clicked_cb (BzRichAppTile *self, GtkButton *button) { gtk_widget_activate_action (GTK_WIDGET (self), "window.remove-group", "(sb)", bz_entry_group_get_id (self->group), FALSE); } static void run_button_clicked_cb (BzRichAppTile *self, GtkButton *button) { gtk_widget_activate_action (GTK_WIDGET (self), "window.launch-group", "s", bz_entry_group_get_id (self->group)); } static void cancel_button_clicked_cb (BzRichAppTile *self, GtkButton *button) { if (self->group == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.cancel-group", "s", bz_entry_group_get_id (self->group)); } static void bz_rich_app_tile_class_init (BzRichAppTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_rich_app_tile_set_property; object_class->get_property = bz_rich_app_tile_get_property; object_class->dispose = bz_rich_app_tile_dispose; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_UI_ENTRY] = g_param_spec_object ( "ui-entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_REMOVABLE_AT_START] = g_param_spec_boolean ( "removable-at-start", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_TRACKER] = g_param_spec_object ( "tracker", NULL, NULL, BZ_TYPE_TRANSACTION_ENTRY_TRACKER, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_TRANSACT_ICON); g_type_ensure (BZ_TYPE_LIST_TILE); g_type_ensure (BZ_TYPE_ROUNDED_PICTURE); g_type_ensure (BZ_TYPE_THEMED_ENTRY_GROUP_RECT); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-rich-app-tile.ui"); gtk_widget_class_bind_template_callback (widget_class, tile_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, get_visible_page); gtk_widget_class_bind_template_callback (widget_class, install_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, remove_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, run_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, cancel_button_clicked_cb); gtk_widget_class_bind_template_child (widget_class, BzRichAppTile, picture_box); gtk_widget_class_bind_template_child (widget_class, BzRichAppTile, get_button); gtk_widget_class_bind_template_child (widget_class, BzRichAppTile, transact_icon_info); gtk_widget_class_bind_template_child (widget_class, BzRichAppTile, action_stack); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_rich_app_tile_init (BzRichAppTile *self) { BzStateInfo *state = NULL; BzTransactionManager *manager = NULL; const char *get_label = NULL; gtk_widget_init_template (GTK_WIDGET (self)); /* Translators: If you can't find a short enough translation, use "/" to use an icon instead. */ get_label = _ ("Get"); if (get_label != NULL && *get_label != '\0' && g_strcmp0 (get_label, "/") != 0) gtk_button_set_label (GTK_BUTTON (self->get_button), get_label); else gtk_button_set_icon_name (GTK_BUTTON (self->get_button), "folder-download-symbolic"); state = bz_state_info_get_default (); manager = bz_state_info_get_transaction_manager (state); if (manager != NULL) g_object_get (manager, "all-trackers", &self->all_trackers, NULL); if (self->all_trackers != NULL) g_signal_connect (self->all_trackers, "items-changed", G_CALLBACK (on_all_trackers_changed), self); update_tracker (self); } GtkWidget * bz_rich_app_tile_new (void) { return g_object_new (BZ_TYPE_RICH_APP_TILE, NULL); } BzEntryGroup * bz_rich_app_tile_get_group (BzRichAppTile *self) { g_return_val_if_fail (BZ_IS_RICH_APP_TILE (self), NULL); return self->group; } void bz_rich_app_tile_set_group (BzRichAppTile *self, BzEntryGroup *group) { const char *title = NULL; gboolean verified = FALSE; gboolean removable_at_start = FALSE; g_autofree char *label = NULL; g_return_if_fail (BZ_IS_RICH_APP_TILE (self)); g_clear_object (&self->group); if (group != NULL) { self->group = g_object_ref (group); title = bz_entry_group_get_title (self->group); verified = bz_entry_group_get_is_verified (self->group); removable_at_start = bz_entry_group_get_removable (self->group) != 0; if (self->removable_at_start != removable_at_start) { self->removable_at_start = removable_at_start; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REMOVABLE_AT_START]); } if (verified) { label = g_strdup_printf ("%s, %s", title, _ ("Verified")); gtk_accessible_update_property (GTK_ACCESSIBLE (self), GTK_ACCESSIBLE_PROPERTY_LABEL, label, -1); } else { gtk_accessible_update_property (GTK_ACCESSIBLE (self), GTK_ACCESSIBLE_PROPERTY_LABEL, title, -1); } } update_ui_entry (self); update_tracker (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } void bz_rich_app_tile_focus_action_button (BzRichAppTile *self) { GtkWidget *visible_child = NULL; g_return_if_fail (BZ_IS_RICH_APP_TILE (self)); visible_child = gtk_stack_get_visible_child (GTK_STACK (self->action_stack)); if (visible_child != NULL) gtk_widget_grab_focus (visible_child); } /* End of bz-rich-app-tile.c */ ����bazaar-org-bazaar-917017d/src/bz-rich-app-tile.h����������������������������������������������������0000664�0000000�0000000�00000002542�15234476640�0021300�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-rich-app-tile.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "adwaita.h" #include <gtk/gtk.h> #include "bz-entry-group.h" #include "bz-list-tile.h" G_BEGIN_DECLS #define BZ_TYPE_RICH_APP_TILE (bz_rich_app_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzRichAppTile, bz_rich_app_tile, BZ, RICH_APP_TILE, BzListTile) GtkWidget * bz_rich_app_tile_new (void); BzEntryGroup * bz_rich_app_tile_get_group (BzRichAppTile *self); void bz_rich_app_tile_set_group (BzRichAppTile *self, BzEntryGroup *group); void bz_rich_app_tile_focus_action_button (BzRichAppTile *self); G_END_DECLS /* End of bz-rich-app-tile.h */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-root-blocklist.txt�������������������������������������������������0000664�0000000�0000000�00000000321�15234476640�0022172�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=root_blocklist parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-blocklist.h" ensure=BZ_TYPE_BLOCKLIST property=blocklists GListModel G_TYPE_LIST_MODEL object ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-root-curated-config.txt��������������������������������������������0000664�0000000�0000000�00000000333�15234476640�0023101�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=root_curated_config parent-prefix=g parent-name=object author=AUTOGEN include="bz-curated-row.h" property=templates GListModel G_TYPE_LIST_MODEL object property=rows GListModel G_TYPE_LIST_MODEL object �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-rounded-picture.c��������������������������������������������������0000664�0000000�0000000�00000021644�15234476640�0021752�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-rounded-picture.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-rounded-picture.h" struct _BzRoundedPicture { GtkWidget parent_instance; GdkPaintable *paintable; double radius; }; G_DEFINE_FINAL_TYPE (BzRoundedPicture, bz_rounded_picture, GTK_TYPE_WIDGET) enum { PROP_0, PROP_PAINTABLE, PROP_RADIUS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { NULL }; static void invalidate_contents (BzRoundedPicture *self, GdkPaintable *paintable) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void invalidate_size (BzRoundedPicture *self, GdkPaintable *paintable) { gtk_widget_queue_resize (GTK_WIDGET (self)); } static void bz_rounded_picture_dispose (GObject *object) { BzRoundedPicture *self = BZ_ROUNDED_PICTURE (object); if (self->paintable != NULL) { g_signal_handlers_disconnect_by_func (self->paintable, invalidate_contents, self); g_signal_handlers_disconnect_by_func (self->paintable, invalidate_size, self); } g_clear_object (&self->paintable); G_OBJECT_CLASS (bz_rounded_picture_parent_class)->dispose (object); } static void bz_rounded_picture_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzRoundedPicture *self = BZ_ROUNDED_PICTURE (object); switch (prop_id) { case PROP_PAINTABLE: g_value_set_object (value, self->paintable); break; case PROP_RADIUS: g_value_set_double (value, self->radius); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_rounded_picture_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzRoundedPicture *self = BZ_ROUNDED_PICTURE (object); switch (prop_id) { case PROP_PAINTABLE: bz_rounded_picture_set_paintable (self, g_value_get_object (value)); break; case PROP_RADIUS: bz_rounded_picture_set_radius (self, g_value_get_double (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_rounded_picture_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BzRoundedPicture *self = BZ_ROUNDED_PICTURE (widget); *minimum = 0; *natural = 0; if (self->paintable == NULL) return; if (orientation == GTK_ORIENTATION_HORIZONTAL) { *natural = gdk_paintable_get_intrinsic_width (self->paintable); } else { *natural = gdk_paintable_get_intrinsic_height (self->paintable); } } static void bz_rounded_picture_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzRoundedPicture *self = BZ_ROUNDED_PICTURE (widget); int widget_width; int widget_height; double paintable_width; double paintable_height; double paintable_aspect; double widget_aspect; double scale; double draw_width, draw_height; double x, y; GskRoundedRect rect; GskShadow shadow; if (self->paintable == NULL) return; widget_width = gtk_widget_get_width (widget); widget_height = gtk_widget_get_height (widget); if (widget_width <= 0 || widget_height <= 0) return; paintable_width = gdk_paintable_get_intrinsic_width (self->paintable); paintable_height = gdk_paintable_get_intrinsic_height (self->paintable); if (paintable_width <= 0 || paintable_height <= 0) { paintable_width = widget_width; paintable_height = widget_height; } paintable_aspect = paintable_width / paintable_height; widget_aspect = (double) widget_width / (double) widget_height; if (widget_aspect > paintable_aspect) { scale = (double) widget_height / paintable_height; draw_height = widget_height; draw_width = paintable_width * scale; } else { scale = (double) widget_width / paintable_width; draw_width = widget_width; draw_height = paintable_height * scale; } x = (widget_width - draw_width) / 2.0; y = (widget_height - draw_height) / 2.0; shadow.color.red = 0.0; shadow.color.green = 0.0; shadow.color.blue = 0.0; shadow.color.alpha = 0.35; shadow.dx = 0.0; shadow.dy = 2.0; shadow.radius = 16.0; gtk_snapshot_push_shadow (snapshot, &shadow, 1); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y)); gsk_rounded_rect_init_from_rect (&rect, &GRAPHENE_RECT_INIT (0, 0, draw_width, draw_height), self->radius); gtk_snapshot_push_rounded_clip (snapshot, &rect); gdk_paintable_snapshot (self->paintable, snapshot, draw_width, draw_height); gtk_snapshot_pop (snapshot); gtk_snapshot_pop (snapshot); } static void bz_rounded_picture_class_init (BzRoundedPictureClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_rounded_picture_dispose; object_class->get_property = bz_rounded_picture_get_property; object_class->set_property = bz_rounded_picture_set_property; widget_class->measure = bz_rounded_picture_measure; widget_class->snapshot = bz_rounded_picture_snapshot; props[PROP_PAINTABLE] = g_param_spec_object ("paintable", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_RADIUS] = g_param_spec_double ("radius", NULL, NULL, 0.0, G_MAXDOUBLE, 12.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_rounded_picture_init (BzRoundedPicture *self) { self->radius = 12.0; } GtkWidget * bz_rounded_picture_new (void) { return g_object_new (BZ_TYPE_ROUNDED_PICTURE, NULL); } void bz_rounded_picture_set_paintable (BzRoundedPicture *self, GdkPaintable *paintable) { g_return_if_fail (BZ_IS_ROUNDED_PICTURE (self)); g_return_if_fail (paintable == NULL || GDK_IS_PAINTABLE (paintable)); if (self->paintable == paintable) return; if (self->paintable != NULL) { g_signal_handlers_disconnect_by_func (self->paintable, invalidate_contents, self); g_signal_handlers_disconnect_by_func (self->paintable, invalidate_size, self); } g_clear_object (&self->paintable); if (paintable != NULL) { self->paintable = g_object_ref (paintable); g_signal_connect_swapped (self->paintable, "invalidate-contents", G_CALLBACK (invalidate_contents), self); g_signal_connect_swapped (self->paintable, "invalidate-size", G_CALLBACK (invalidate_size), self); } gtk_widget_queue_resize (GTK_WIDGET (self)); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PAINTABLE]); } GdkPaintable * bz_rounded_picture_get_paintable (BzRoundedPicture *self) { g_return_val_if_fail (BZ_IS_ROUNDED_PICTURE (self), NULL); return self->paintable; } void bz_rounded_picture_set_radius (BzRoundedPicture *self, double radius) { g_return_if_fail (BZ_IS_ROUNDED_PICTURE (self)); if (self->radius == radius) return; self->radius = radius; gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RADIUS]); } double bz_rounded_picture_get_radius (BzRoundedPicture *self) { g_return_val_if_fail (BZ_IS_ROUNDED_PICTURE (self), 0.0); return self->radius; } ��������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-rounded-picture.h��������������������������������������������������0000664�0000000�0000000�00000002611�15234476640�0021750�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-rounded-picture.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_ROUNDED_PICTURE (bz_rounded_picture_get_type ()) G_DECLARE_FINAL_TYPE (BzRoundedPicture, bz_rounded_picture, BZ, ROUNDED_PICTURE, GtkWidget) GtkWidget * bz_rounded_picture_new (void); void bz_rounded_picture_set_paintable (BzRoundedPicture *self, GdkPaintable *paintable); GdkPaintable * bz_rounded_picture_get_paintable (BzRoundedPicture *self); void bz_rounded_picture_set_radius (BzRoundedPicture *self, double radius); double bz_rounded_picture_get_radius (BzRoundedPicture *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-row-view.c���������������������������������������������������������0000664�0000000�0000000�00000011213�15234476640�0020407�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-row-view.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-row-view.h" #include "bz-article-list-view.h" #include "bz-banner-view.h" #include "bz-curated-articles-info.h" #include "bz-curated-banner.h" #include "bz-curated-featured-carousel.h" #include "bz-curated-row.h" #include "bz-curated-section.h" #include "bz-entry-group.h" #include "bz-featured-carousel-view.h" #include "bz-section-view.h" struct _BzRowView { AdwBin parent_instance; BzCuratedRow *row; }; G_DEFINE_FINAL_TYPE (BzRowView, bz_row_view, ADW_TYPE_BIN) enum { PROP_0, PROP_ROW, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_row_view_dispose (GObject *object) { BzRowView *self = BZ_ROW_VIEW (object); g_clear_object (&self->row); G_OBJECT_CLASS (bz_row_view_parent_class)->dispose (object); } static void bz_row_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzRowView *self = BZ_ROW_VIEW (object); switch (prop_id) { case PROP_ROW: g_value_set_object (value, bz_row_view_get_row (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_row_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzRowView *self = BZ_ROW_VIEW (object); switch (prop_id) { case PROP_ROW: bz_row_view_set_row (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_row_view_class_init (BzRowViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_row_view_dispose; object_class->get_property = bz_row_view_get_property; object_class->set_property = bz_row_view_set_property; props[PROP_ROW] = g_param_spec_object ( "row", NULL, NULL, BZ_TYPE_CURATED_ROW, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_SECTION_VIEW); g_type_ensure (BZ_TYPE_FEATURED_CAROUSEL_VIEW); g_type_ensure (BZ_TYPE_BANNER_VIEW); g_type_ensure (BZ_TYPE_ARTICLE_LIST_VIEW); } static void bz_row_view_init (BzRowView *self) { } GtkWidget * bz_row_view_new (BzCuratedRow *row) { return g_object_new ( BZ_TYPE_ROW_VIEW, "row", row, NULL); } void bz_row_view_set_row (BzRowView *self, BzCuratedRow *row) { BzCuratedSection *section = NULL; BzCuratedFeaturedCarousel *carousel = NULL; BzCuratedBanner *banner = NULL; BzCuratedArticlesInfo *articles = NULL; GtkWidget *child = NULL; g_return_if_fail (BZ_IS_ROW_VIEW (self)); g_return_if_fail (row == NULL || BZ_IS_CURATED_ROW (row)); g_clear_object (&self->row); adw_bin_set_child (ADW_BIN (self), NULL); if (row != NULL) { self->row = g_object_ref (row); section = bz_curated_row_get_section (row); carousel = bz_curated_row_get_featured_carousel (row); banner = bz_curated_row_get_banner (row); articles = bz_curated_row_get_articles (row); if (section != NULL) child = bz_section_view_new (section); else if (carousel != NULL) child = bz_featured_carousel_view_new (carousel); else if (banner != NULL) child = bz_banner_view_new (banner); else if (articles != NULL) child = bz_article_list_view_new (articles); } if (child != NULL) adw_bin_set_child (ADW_BIN (self), child); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ROW]); } BzCuratedRow * bz_row_view_get_row (BzRowView *self) { g_return_val_if_fail (BZ_IS_ROW_VIEW (self), NULL); return self->row; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-row-view.h���������������������������������������������������������0000664�0000000�0000000�00000002210�15234476640�0020411�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-row-view.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-curated-row.h" G_BEGIN_DECLS #define BZ_TYPE_ROW_VIEW (bz_row_view_get_type ()) G_DECLARE_FINAL_TYPE (BzRowView, bz_row_view, BZ, ROW_VIEW, AdwBin) GtkWidget * bz_row_view_new (BzCuratedRow *row); void bz_row_view_set_row (BzRowView *self, BzCuratedRow *row); BzCuratedRow * bz_row_view_get_row (BzRowView *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-safety-dialog.blp��������������������������������������������������0000664�0000000�0000000�00000011572�15234476640�0021723�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzSafetyDialog: Adw.Bin { child: Adw.ToolbarView { [top] Adw.HeaderBar { show-title: false; } content: Adw.Carousel carousel { interactive: false; allow-scroll-wheel: false; allow-mouse-drag: false; allow-long-swipes: false; hexpand: true; ScrolledWindow { hscrollbar-policy: never; hexpand: true; sensitive: bind $is_page(carousel.position, 0) as <bool>; Box global_box { orientation: vertical; spacing: 12; margin-start: 18; margin-end: 18; margin-top: 18; margin-bottom: 18; $BzLozenge { title: _("Arbitrary Permissions"); icon-names: [ "earth-symbolic", ]; importance: important; margin-bottom: 8; } Label { wrap: true; xalign: 0; use-markup: true; margin-bottom: 18; margin-start: 18; margin-end: 18; selectable: true; label: _("This app has a permission that indirectly allows it to grant itself <b>any other permission it wants</b>, bypassing the Flatpak sandbox.\n\nIt can therefore do anything a privileged, non-sandboxed application can do, such as accessing all your files and connecting to the internet.\n\nViewing the other permissions may still give a better idea of what the app is likely to do."); } Button other_permissions_button { label: _("View Other Permissions"); clicked => $next_page(template); margin-bottom: 12; halign: center; hexpand: true; styles ["pill"] } } } ScrolledWindow { hscrollbar-policy: never; hexpand: true; sensitive: bind $is_page(carousel.position, 1) as <bool>; Adw.Clamp { maximum-size: 640; tightening-threshold: 400; Box { orientation: vertical; spacing: 24; margin-start: 24; margin-end: 24; margin-top: 24; margin-bottom: 24; $BzLozenge lozenge { title: _("Safe"); icon-names: [ "app-safety-ok-symbolic", ]; importance: unimportant; } ListBox permissions_list { selection-mode: none; styles [ "boxed-list", ] } Adw.PreferencesGroup { margin-top: 10; title: _("Details"); Adw.ActionRow license_row { title: _("License"); subtitle: bind template.entry as <$BzEntry>.project-license; subtitle-selectable: true; visible: bind $not($is_empty_string(license_row.subtitle) as <bool>) as <bool>; styles [ "property", ] } Adw.ActionRow { title: _("App ID"); subtitle: bind template.entry as <$BzEntry>.id; subtitle-selectable: true; styles [ "property", ] } Adw.ActionRow { title: _("SDK"); subtitle: bind template.entry as <$BzFlatpakEntry>.runtime as <$BzResult>.object as <$BzEntry>.title; subtitle-selectable: true; has-tooltip: true; tooltip-text: bind template.entry as <$BzFlatpakEntry>.application-runtime; visible: bind $invert_boolean( $is_null(template.entry as <$BzFlatpakEntry>.runtime as <$BzResult>.object) as <bool> ) as <bool>; styles [ "property", ] [suffix] MenuButton { visible: bind $invert_boolean($is_null(template.entry as <$BzEntry>.eol) as <bool>) as <bool>; styles [ "error", "flat", ] valign: center; icon-name: "dialog-warning-symbolic"; popover: Popover { child: Label { margin-top: 8; margin-bottom: 8; margin-start: 8; margin-end: 8; max-width-chars: 35; wrap: true; label: _( "This app uses an outdated version of the software platform (SDK) and might contain bugs or security vulnerabilities which will not be fixed." ); }; }; } } } } } } }; }; } ��������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-safety-dialog.c����������������������������������������������������0000664�0000000�0000000�00000030473�15234476640�0021371�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-safety-dialog.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-app-permissions.h" #include "bz-context-row.h" #include "bz-entry.h" #include "bz-lozenge.h" #include "safety-calculator.h" #include "bz-safety-dialog.h" #include "bz-safety-row.h" #include "template-callbacks.h" #define ANIMATION_DURATION 300 struct _BzSafetyDialog { AdwBin parent_instance; BzEntry *entry; gboolean has_sandbox_escape; AdwAnimation *width_animation; AdwAnimation *height_animation; BzLozenge *lozenge; GtkListBox *permissions_list; AdwCarousel *carousel; GtkBox *global_box; GtkButton *other_permissions_button; }; G_DEFINE_FINAL_TYPE (BzSafetyDialog, bz_safety_dialog, ADW_TYPE_BIN) enum { PROP_0, PROP_ENTRY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void update_permissions_list (BzSafetyDialog *self); static void animate_to_page (BzSafetyDialog *self, guint page_index); static void bz_safety_dialog_dispose (GObject *object) { BzSafetyDialog *self = BZ_SAFETY_DIALOG (object); g_clear_object (&self->entry); g_clear_object (&self->width_animation); g_clear_object (&self->height_animation); G_OBJECT_CLASS (bz_safety_dialog_parent_class)->dispose (object); } static void bz_safety_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSafetyDialog *self = BZ_SAFETY_DIALOG (object); switch (prop_id) { case PROP_ENTRY: g_value_set_object (value, self->entry); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_safety_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzSafetyDialog *self; self = BZ_SAFETY_DIALOG (object); switch (prop_id) { case PROP_ENTRY: g_clear_object (&self->entry); self->entry = g_value_dup_object (value); update_permissions_list (self); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void get_target_size (BzSafetyDialog *self, guint page_index, int *out_width, int *out_height) { if (page_index == 0) { int nat = 0; *out_width = 450; gtk_widget_measure (GTK_WIDGET (self->global_box), GTK_ORIENTATION_VERTICAL, *out_width, NULL, &nat, NULL, NULL); *out_height = CLAMP (nat + 48, 100, 600); } else { *out_width = 640; *out_height = 576; } } static void animate_to_page (BzSafetyDialog *self, guint page_index) { AdwDialog *dialog = NULL; int target_width = 0; int target_height = 0; int cur_w = 0; int cur_h = 0; dialog = ADW_DIALOG (gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_DIALOG)); if (dialog == NULL) return; if (self->width_animation == NULL || self->height_animation == NULL) return; get_target_size (self, page_index, &target_width, &target_height); cur_w = adw_dialog_get_content_width (dialog); cur_h = adw_dialog_get_content_height (dialog); adw_animation_skip (self->width_animation); adw_animation_skip (self->height_animation); adw_timed_animation_set_duration (ADW_TIMED_ANIMATION (self->width_animation), ANIMATION_DURATION); adw_timed_animation_set_duration (ADW_TIMED_ANIMATION (self->height_animation), ANIMATION_DURATION); adw_timed_animation_set_value_from (ADW_TIMED_ANIMATION (self->width_animation), cur_w); adw_timed_animation_set_value_to (ADW_TIMED_ANIMATION (self->width_animation), target_width); adw_timed_animation_set_value_from (ADW_TIMED_ANIMATION (self->height_animation), cur_h); adw_timed_animation_set_value_to (ADW_TIMED_ANIMATION (self->height_animation), target_height); adw_animation_play (self->width_animation); adw_animation_play (self->height_animation); } static void on_dialog_map (BzSafetyDialog *self) { AdwDialog *dialog = NULL; int target_width = 0; int target_height = 0; guint page_index = self->has_sandbox_escape ? 0 : 1; dialog = ADW_DIALOG (gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_DIALOG)); if (dialog == NULL) return; if (page_index == 1) { GtkWidget *page = NULL; page = gtk_widget_get_last_child (GTK_WIDGET (self->carousel)); adw_carousel_scroll_to (self->carousel, page, FALSE); } else gtk_widget_grab_focus (GTK_WIDGET (self->other_permissions_button)); get_target_size (self, page_index, &target_width, &target_height); adw_dialog_set_content_width (dialog, target_width); adw_dialog_set_content_height (dialog, target_height); } static void next_page (BzSafetyDialog *self, GtkButton *button) { GtkWidget *page = NULL; page = gtk_widget_get_last_child (GTK_WIDGET (self->carousel)); adw_carousel_scroll_to (self->carousel, page, TRUE); animate_to_page (self, 1); } static gboolean is_page (gpointer object, gdouble position, gint target) { return fabs (position - (gdouble) target) < 0.5 || fabs (position - round (position)) > 0.01; } static void bz_safety_dialog_class_init (BzSafetyDialogClass *klass) { GObjectClass *object_class; GtkWidgetClass *widget_class; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_safety_dialog_dispose; object_class->get_property = bz_safety_dialog_get_property; object_class->set_property = bz_safety_dialog_set_property; props[PROP_ENTRY] = g_param_spec_object ("entry", NULL, NULL, BZ_TYPE_ENTRY, G_PARAM_READWRITE); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LOZENGE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-safety-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzSafetyDialog, lozenge); gtk_widget_class_bind_template_child (widget_class, BzSafetyDialog, permissions_list); gtk_widget_class_bind_template_child (widget_class, BzSafetyDialog, carousel); gtk_widget_class_bind_template_child (widget_class, BzSafetyDialog, global_box); gtk_widget_class_bind_template_child (widget_class, BzSafetyDialog, other_permissions_button); gtk_widget_class_bind_template_callback (widget_class, next_page); gtk_widget_class_bind_template_callback (widget_class, is_page); } static void bz_safety_dialog_init (BzSafetyDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } AdwDialog * bz_safety_dialog_new (BzEntry *entry) { BzSafetyDialog *widget = NULL; AdwDialog *dialog = NULL; AdwAnimationTarget *width_target = NULL; AdwAnimationTarget *height_target = NULL; widget = g_object_new (BZ_TYPE_SAFETY_DIALOG, NULL); dialog = adw_dialog_new (); adw_dialog_set_content_height (dialog, 576); adw_dialog_set_content_width (dialog, 640); adw_dialog_set_child (dialog, GTK_WIDGET (widget)); width_target = adw_property_animation_target_new (G_OBJECT (dialog), "content-width"); widget->width_animation = adw_timed_animation_new (GTK_WIDGET (widget), 0, 0, ANIMATION_DURATION, width_target); height_target = adw_property_animation_target_new (G_OBJECT (dialog), "content-height"); widget->height_animation = adw_timed_animation_new (GTK_WIDGET (widget), 0, 0, ANIMATION_DURATION, height_target); g_object_set (widget, "entry", entry, NULL); g_signal_connect_swapped (widget, "map", G_CALLBACK (on_dialog_map), widget); return dialog; } AdwNavigationPage * bz_safety_dialog_page_new (BzEntry *entry) { BzSafetyDialog *widget = NULL; AdwNavigationPage *page = NULL; widget = g_object_new (BZ_TYPE_SAFETY_DIALOG, "entry", entry, NULL); page = adw_navigation_page_new (GTK_WIDGET (widget), _ ("Safety")); adw_navigation_page_set_tag (page, "safety"); return page; } static void update_permissions_list (BzSafetyDialog *self) { const char *icon_names[2]; const char *app_name = NULL; g_autofree char *title_text = NULL; BzImportance importance = BZ_IMPORTANCE_UNIMPORTANT; GtkWidget *child = NULL; g_autoptr (GListModel) model = NULL; guint n_items = 0; g_autoptr (BzAppPermissions) permissions = NULL; BzAppPermissionsFlags perm_flags = BZ_APP_PERMISSIONS_FLAGS_NONE; while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->permissions_list))) != NULL) gtk_list_box_remove (self->permissions_list, child); if (self->entry == NULL) return; g_object_get (self->entry, "permissions", &permissions, NULL); if (permissions != NULL) perm_flags = bz_app_permissions_get_flags (permissions); self->has_sandbox_escape = (perm_flags & BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX) != 0; app_name = bz_entry_get_title (self->entry); model = bz_safety_calculator_analyze_entry (self->entry); importance = bz_safety_calculator_calculate_rating (self->entry); n_items = g_list_model_get_n_items (model); for (gint level = BZ_IMPORTANCE_IMPORTANT; level >= BZ_IMPORTANCE_UNIMPORTANT; level--) { for (gint j = 0; j < n_items; j++) { g_autoptr (BzSafetyRow) row_data = NULL; AdwActionRow *row = NULL; BzImportance row_importance = 0; row_data = g_list_model_get_item (model, j); row_importance = bz_safety_row_get_importance (row_data); if (row_importance != level) continue; row = bz_context_row_new (bz_safety_row_get_icon_name (row_data), bz_safety_row_get_importance (row_data), bz_safety_row_get_title (row_data), bz_safety_row_get_subtitle (row_data)); gtk_list_box_append (self->permissions_list, GTK_WIDGET (row)); } } switch (importance) { case BZ_IMPORTANCE_UNIMPORTANT: icon_names[0] = "app-safety-ok-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s is Safe"), app_name); break; case BZ_IMPORTANCE_NEUTRAL: icon_names[0] = "app-safety-ok-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s has no Unsafe Permissions"), app_name); break; case BZ_IMPORTANCE_INFORMATION: icon_names[0] = "app-safety-ok-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s is Probably Safe"), app_name); break; case BZ_IMPORTANCE_WARNING: icon_names[0] = "app-safety-unknown-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s is Possibly Unsafe"), app_name); break; case BZ_IMPORTANCE_IMPORTANT: icon_names[0] = "app-safety-unsafe-symbolic"; icon_names[1] = NULL; title_text = g_strdup_printf (_ ("%s is Unsafe"), app_name); break; default: g_assert_not_reached (); } bz_lozenge_set_icon_names (self->lozenge, icon_names); bz_lozenge_set_title (self->lozenge, title_text); bz_lozenge_set_importance (self->lozenge, importance); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-safety-dialog.h����������������������������������������������������0000664�0000000�0000000�00000002145�15234476640�0021371�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-safety-dialog.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include <adwaita.h> G_BEGIN_DECLS G_BEGIN_DECLS #define BZ_TYPE_SAFETY_DIALOG (bz_safety_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzSafetyDialog, bz_safety_dialog, BZ, SAFETY_DIALOG, AdwBin) AdwDialog * bz_safety_dialog_new (BzEntry *entry); AdwNavigationPage * bz_safety_dialog_page_new (BzEntry *entry); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-safety-row.txt�����������������������������������������������������0000664�0000000�0000000�00000000444�15234476640�0021331�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=safety_row parent-prefix=g parent-name=object author=AUTOGEN include="bz-context-row.h" property=importance BzImportance BZ_TYPE_IMPORTANCE enum property=title char G_TYPE_STRING string property=subtitle char G_TYPE_STRING string property=icon_name char G_TYPE_STRING string ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshot-page.blp������������������������������������������������0000664�0000000�0000000�00000012064�15234476640�0022257�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzScreenshotPage: Adw.Bin { child: Adw.BreakpointBin { width-request: 360; height-request: 100; Adw.Breakpoint { condition ("max-width: 700px") setters { mobile_caption_box.margin-bottom: 70; } } child: Adw.ToastOverlay toast_overlay { child: Adw.ToolbarView { top-bar-style: flat; extend-content-to-top-edge: true; styles [ "view-dark", ] [top] Adw.HeaderBar header_bar { styles [ "flat", "header-osd", ] show-end-title-buttons: false; show-start-title-buttons: false; show-back-button: false; show-title: false; [start] Button back_button { icon-name: "go-previous-symbolic"; tooltip-text: _("Back"); clicked => $back_clicked() swapped; styles [ "flat", ] } } content: Overlay { [overlay] Box { orientation: horizontal; halign: start; valign: end; margin-bottom: 12; margin-start: 12; spacing: 6; Box navigation_controls { orientation: horizontal; spacing: 6; visible: bind $has_multiple_screenshots(template.screenshots) as <bool>; styles [ "osd-box", ] Button previous_button { icon-name: "go-previous-symbolic"; tooltip-text: _("Previous Screenshot"); clicked => $previous_clicked() swapped; styles [ "flat", ] } Button next_button { icon-name: "go-next-symbolic"; tooltip-text: _("Next Screenshot"); clicked => $next_clicked() swapped; styles [ "flat", ] } } Box { styles [ "osd-box", ] Button copy_button { icon-name: "edit-copy-symbolic"; tooltip-text: _("Copy Image"); clicked => $copy_clicked() swapped; styles [ "flat", ] } } } [overlay] Revealer { halign: center; valign: end; reveal-child: bind $is_valid_string(template.current-caption) as <bool>; transition-type: crossfade; can-target: false; child: Box mobile_caption_box { margin-bottom: 12; styles [ "osd-box", ] Label { halign: center; hexpand: true; label: bind template.current-caption; height-request: 34; justify: center; max-width-chars: 30; wrap: true; margin-start: 8; margin-end: 8; wrap-mode: word_char; styles [ "heading" ] } }; } [overlay] Box { orientation: horizontal; halign: end; valign: end; margin-bottom: 12; margin-end: 12; Box zoom_controls { orientation: horizontal; styles [ "osd-box", ] Revealer { reveal-child: bind template.is-zoomed as <bool>; transition-type: slide_right; Button reset_zoom_button { icon-name: "zoom-original-symbolic"; tooltip-text: _("Reset View"); clicked => $reset_zoom_clicked() swapped; styles [ "flat", ] } } Button zoom_out_button { icon-name: "zoom-minus-symbolic"; tooltip-text: _("Zoom Out"); clicked => $zoom_out_clicked() swapped; styles [ "flat", ] } Button zoom_in_button { icon-name: "zoom-plus-symbolic"; tooltip-text: _("Zoom In"); clicked => $zoom_in_clicked() swapped; styles [ "flat", ] } } } child: Adw.Carousel carousel { can-focus: false; interactive: bind $invert_boolean(template.is-zoomed) as <bool>; allow-scroll-wheel: bind $invert_boolean(template.is-zoomed) as <bool>; allow-mouse-drag: bind $invert_boolean(template.is-zoomed) as <bool>; allow-long-swipes: false; notify::position => $on_carousel_position_changed(); }; }; }; }; }; }����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshot-page.c��������������������������������������������������0000664�0000000�0000000�00000074143�15234476640�0021732�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-screenshot-page.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-screenshot-page.h" #include "bz-screenshot.h" #include "bz-zoom.h" #include <glib/gi18n.h> #define MOUSE_BACK_BUTTON 8 #define SPRING_DAMPING_RATIO 1.05 #define SPRING_MASS 1.0 #define SPRING_STIFFNESS 1000.0 #define FADE_DURATION_MS 350 struct _BzScreenshotPage { AdwBin parent_instance; AdwCarousel *carousel; AdwToastOverlay *toast_overlay; GListModel *screenshots; GListModel *captions; guint current_index; guint initial_index; gboolean is_zoomed; gboolean reduce_motion; GtkWidget *source_widget; GdkTexture *source_texture; graphene_rect_t source_bounds_at_map; AdwAnimation *animation; double animation_progress; gboolean closing; }; G_DEFINE_FINAL_TYPE (BzScreenshotPage, bz_screenshot_page, ADW_TYPE_BIN) enum { PROP_0, PROP_SCREENSHOTS, PROP_CURRENT_INDEX, PROP_CURRENT_CAPTION, PROP_IS_ZOOMED, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static GdkTexture *render_widget_to_texture (GtkWidget *widget); static void on_animation_value (AdwAnimation *animation, GParamSpec *pspec, BzScreenshotPage *self); static void on_fade_animation_value (AdwAnimation *animation, GParamSpec *pspec, BzScreenshotPage *self); static void on_close_animation_done (AdwAnimation *animation, BzScreenshotPage *self); static void on_zoom_level_changed (BzZoom *zoom, GParamSpec *pspec, BzScreenshotPage *self); static void update_is_zoomed (BzScreenshotPage *self); static BzZoom *get_current_zoom (BzScreenshotPage *self, GtkScrolledWindow **scrolled_window); static void populate_carousel (BzScreenshotPage *self); static gboolean on_key_pressed (GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, BzScreenshotPage *self); static void on_button_pressed (GtkGestureClick *gesture, int n_press, double x, double y, BzScreenshotPage *self); static void on_swipe (BzScreenshotPage *self, gdouble vel_x, gdouble vel_y); static gboolean on_scroll (BzScreenshotPage *self, gdouble dx, gdouble dy, GtkEventControllerScroll *controller); static void bz_screenshot_page_map (GtkWidget *widget) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (widget); AdwAnimationTarget *target = NULL; AdwSpringParams *params = NULL; GtkSettings *settings = NULL; GtkReducedMotion reduced_motion = GTK_REDUCED_MOTION_NO_PREFERENCE; GTK_WIDGET_CLASS (bz_screenshot_page_parent_class)->map (widget); settings = gtk_widget_get_settings (widget); g_object_get (settings, "gtk-interface-reduced-motion", &reduced_motion, NULL); self->reduce_motion = reduced_motion != GTK_REDUCED_MOTION_NO_PREFERENCE; self->closing = FALSE; if (self->reduce_motion) { self->animation_progress = 1.0; g_clear_object (&self->source_texture); gtk_widget_set_opacity (widget, 0.0); target = adw_callback_animation_target_new ( (AdwAnimationTargetFunc) gtk_widget_queue_draw, self, NULL); self->animation = adw_timed_animation_new (widget, 0.0, 1.0, FADE_DURATION_MS, target); g_signal_connect (self->animation, "notify::value", G_CALLBACK (on_fade_animation_value), self); adw_animation_play (self->animation); return; } if (self->source_widget != NULL) { self->source_texture = render_widget_to_texture (self->source_widget); if (!gtk_widget_compute_bounds (self->source_widget, widget, &self->source_bounds_at_map)) graphene_rect_init (&self->source_bounds_at_map, 0, 0, gtk_widget_get_width (widget), gtk_widget_get_height (widget)); gtk_widget_set_opacity (self->source_widget, 0.0); } self->animation_progress = 0.0; target = adw_callback_animation_target_new ((AdwAnimationTargetFunc) gtk_widget_queue_draw, self, NULL); params = adw_spring_params_new (SPRING_DAMPING_RATIO, SPRING_MASS, SPRING_STIFFNESS); self->animation = adw_spring_animation_new (widget, 0.0, 1.0, params, target); adw_spring_animation_set_clamp (ADW_SPRING_ANIMATION (self->animation), TRUE); adw_spring_animation_set_epsilon (ADW_SPRING_ANIMATION (self->animation), 0.0001); adw_spring_animation_set_initial_velocity (ADW_SPRING_ANIMATION (self->animation), -1.2); g_signal_connect (self->animation, "notify::value", G_CALLBACK (on_animation_value), self); adw_animation_play (self->animation); } static void bz_screenshot_page_unmap (GtkWidget *widget) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (widget); if (self->source_widget != NULL && !self->closing) gtk_widget_set_opacity (self->source_widget, 1.0); GTK_WIDGET_CLASS (bz_screenshot_page_parent_class)->unmap (widget); } static void bz_screenshot_page_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (widget); double progress = 0.0; int width = 0; int height = 0; float rev = 0.0f; float x = 0.0f; float y = 0.0f; float w = 0.0f; float h = 0.0f; graphene_rect_t lerped; graphene_rect_t source_bounds; progress = self->animation_progress; width = gtk_widget_get_width (widget); height = gtk_widget_get_height (widget); if (self->source_texture == NULL || progress >= 1.0) { GTK_WIDGET_CLASS (bz_screenshot_page_parent_class)->snapshot (widget, snapshot); return; } if (self->source_widget != NULL && !gtk_widget_compute_bounds (self->source_widget, widget, &source_bounds)) source_bounds = self->source_bounds_at_map; else if (self->source_widget == NULL) source_bounds = self->source_bounds_at_map; rev = (float) (1.0 - progress); x = source_bounds.origin.x * rev + 0.0f * (float) progress; y = source_bounds.origin.y * rev + 0.0f * (float) progress; w = source_bounds.size.width * rev + (float) width * (float) progress; h = source_bounds.size.height * rev + (float) height * (float) progress; graphene_rect_init (&lerped, x, y, w, h); gtk_snapshot_push_clip (snapshot, &lerped); gtk_snapshot_push_cross_fade (snapshot, progress); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y)); gtk_snapshot_scale (snapshot, w / source_bounds.size.width, h / source_bounds.size.height); gdk_paintable_snapshot (GDK_PAINTABLE (self->source_texture), snapshot, source_bounds.size.width, source_bounds.size.height); gtk_snapshot_restore (snapshot); gtk_snapshot_pop (snapshot); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y)); gtk_snapshot_scale (snapshot, w / (float) width, h / (float) height); GTK_WIDGET_CLASS (bz_screenshot_page_parent_class)->snapshot (widget, snapshot); gtk_snapshot_restore (snapshot); gtk_snapshot_pop (snapshot); gtk_snapshot_pop (snapshot); } static void back_clicked (BzScreenshotPage *self) { AdwAnimationTarget *target = NULL; AdwSpringParams *params = NULL; GtkWidget *parent = NULL; if (self->closing) return; if (self->source_widget != NULL) { self->closing = TRUE; gtk_widget_set_can_target (GTK_WIDGET (self), FALSE); if (self->animation != NULL) { g_signal_handlers_disconnect_by_func (self->animation, on_animation_value, self); g_signal_handlers_disconnect_by_func (self->animation, on_fade_animation_value, self); g_clear_object (&self->animation); } target = adw_callback_animation_target_new ( (AdwAnimationTargetFunc) gtk_widget_queue_draw, self, NULL); if (self->reduce_motion) { self->animation = adw_timed_animation_new ( GTK_WIDGET (self), gtk_widget_get_opacity (GTK_WIDGET (self)), 0.0, FADE_DURATION_MS, target); g_signal_connect (self->animation, "notify::value", G_CALLBACK (on_fade_animation_value), self); } else { params = adw_spring_params_new (SPRING_DAMPING_RATIO, SPRING_MASS, SPRING_STIFFNESS); self->animation = adw_spring_animation_new ( GTK_WIDGET (self), self->animation_progress, 0.0, params, target); adw_spring_animation_set_clamp (ADW_SPRING_ANIMATION (self->animation), TRUE); adw_spring_animation_set_epsilon (ADW_SPRING_ANIMATION (self->animation), 0.0001); adw_spring_animation_set_initial_velocity (ADW_SPRING_ANIMATION (self->animation), -1.2); g_signal_connect (self->animation, "notify::value", G_CALLBACK (on_animation_value), self); } g_signal_connect (self->animation, "done", G_CALLBACK (on_close_animation_done), self); adw_animation_play (self->animation); } else { if (self->source_widget != NULL) gtk_widget_set_opacity (self->source_widget, 1.0); parent = gtk_widget_get_parent (GTK_WIDGET (self)); if (parent != NULL) gtk_overlay_remove_overlay (GTK_OVERLAY (parent), GTK_WIDGET (self)); } } static void zoom_in_clicked (BzScreenshotPage *self) { BzZoom *zoom = NULL; zoom = get_current_zoom (self, NULL); if (zoom != NULL) bz_zoom_zoom_in (zoom); } static void zoom_out_clicked (BzScreenshotPage *self) { BzZoom *zoom = NULL; zoom = get_current_zoom (self, NULL); if (zoom != NULL) bz_zoom_zoom_out (zoom); } static void reset_zoom_clicked (BzScreenshotPage *self) { BzZoom *zoom = NULL; zoom = get_current_zoom (self, NULL); if (zoom != NULL) bz_zoom_reset (zoom); } static void previous_clicked (BzScreenshotPage *self) { guint n_pages = 0; GtkWidget *page = NULL; n_pages = adw_carousel_get_n_pages (self->carousel); if (n_pages == 0) return; if (self->current_index > 0) page = adw_carousel_get_nth_page (self->carousel, self->current_index - 1); else page = adw_carousel_get_nth_page (self->carousel, n_pages - 1); if (page != NULL) adw_carousel_scroll_to (self->carousel, page, TRUE); } static void next_clicked (BzScreenshotPage *self) { guint n_pages = 0; GtkWidget *page = NULL; n_pages = adw_carousel_get_n_pages (self->carousel); if (n_pages == 0) return; if (self->current_index < n_pages - 1) page = adw_carousel_get_nth_page (self->carousel, self->current_index + 1); else page = adw_carousel_get_nth_page (self->carousel, 0); if (page != NULL) adw_carousel_scroll_to (self->carousel, page, TRUE); } static void on_carousel_position_changed (AdwCarousel *carousel, GParamSpec *pspec, BzScreenshotPage *self) { GtkScrolledWindow *old_scrolled_window = NULL; BzZoom *old_zoom = NULL; BzZoom *new_zoom = NULL; guint new_index = 0; guint n_pages = 0; new_index = (guint) round (adw_carousel_get_position (carousel)); n_pages = adw_carousel_get_n_pages (carousel); if (new_index == self->current_index || new_index >= n_pages) return; old_zoom = get_current_zoom (self, &old_scrolled_window); if (old_zoom != NULL) { g_signal_handlers_disconnect_by_func (old_zoom, on_zoom_level_changed, self); bz_zoom_reset (old_zoom); gtk_scrolled_window_set_policy (old_scrolled_window, GTK_POLICY_NEVER, GTK_POLICY_NEVER); } self->current_index = new_index; new_zoom = get_current_zoom (self, NULL); g_assert (new_zoom != NULL); g_signal_connect (new_zoom, "notify::zoom-level", G_CALLBACK (on_zoom_level_changed), self); update_is_zoomed (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_INDEX]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_CAPTION]); } static void copy_clicked (BzScreenshotPage *self) { g_autoptr (BzAsyncTexture) async_texture = NULL; g_autoptr (GdkTexture) texture = NULL; GdkClipboard *clipboard = NULL; AdwToast *toast = NULL; guint n_items = 0; guint actual_index = 0; if (self->screenshots == NULL) return; n_items = g_list_model_get_n_items (self->screenshots); if (n_items == 0) return; actual_index = (self->initial_index + self->current_index) % n_items; async_texture = g_list_model_get_item (self->screenshots, actual_index); if (async_texture == NULL) return; texture = bz_async_texture_dup_texture (async_texture); if (texture == NULL) return; clipboard = gdk_display_get_clipboard (gdk_display_get_default ()); gdk_clipboard_set_texture (clipboard, texture); toast = adw_toast_new (_ ("Copied!")); adw_toast_set_timeout (toast, 1); adw_toast_overlay_add_toast (self->toast_overlay, toast); } static void on_zoom_level_changed (BzZoom *zoom, GParamSpec *pspec, BzScreenshotPage *self) { update_is_zoomed (self); } static gboolean has_multiple_screenshots (GObject *object, GListModel *screenshots, gpointer user_data) { if (screenshots == NULL) return FALSE; return g_list_model_get_n_items (screenshots) > 1; } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_valid_string (gpointer object, const char *value) { return value != NULL && *value != '\0'; } static void bz_screenshot_page_dispose (GObject *object) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (object); g_clear_object (&self->screenshots); g_clear_object (&self->captions); g_clear_object (&self->source_texture); g_clear_object (&self->animation); G_OBJECT_CLASS (bz_screenshot_page_parent_class)->dispose (object); } static void bz_screenshot_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (object); switch (prop_id) { case PROP_SCREENSHOTS: g_value_set_object (value, self->screenshots); break; case PROP_CURRENT_INDEX: g_value_set_uint (value, self->current_index); break; case PROP_CURRENT_CAPTION: { const char *caption = NULL; caption = bz_screenshot_page_get_current_caption (self); g_value_set_string (value, caption); } break; case PROP_IS_ZOOMED: g_value_set_boolean (value, self->is_zoomed); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_screenshot_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (object); switch (prop_id) { case PROP_SCREENSHOTS: g_set_object (&self->screenshots, g_value_get_object (value)); break; case PROP_CURRENT_INDEX: self->initial_index = g_value_get_uint (value); break; case PROP_CURRENT_CAPTION: case PROP_IS_ZOOMED: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_screenshot_page_constructed (GObject *object) { BzScreenshotPage *self = BZ_SCREENSHOT_PAGE (object); BzZoom *first_zoom = NULL; G_OBJECT_CLASS (bz_screenshot_page_parent_class)->constructed (object); populate_carousel (self); self->current_index = 0; first_zoom = get_current_zoom (self, NULL); if (first_zoom != NULL) g_signal_connect (first_zoom, "notify::zoom-level", G_CALLBACK (on_zoom_level_changed), self); update_is_zoomed (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_CAPTION]); } static void bz_screenshot_page_class_init (BzScreenshotPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_screenshot_page_dispose; object_class->constructed = bz_screenshot_page_constructed; object_class->get_property = bz_screenshot_page_get_property; object_class->set_property = bz_screenshot_page_set_property; widget_class->map = bz_screenshot_page_map; widget_class->unmap = bz_screenshot_page_unmap; widget_class->snapshot = bz_screenshot_page_snapshot; props[PROP_SCREENSHOTS] = g_param_spec_object ( "screenshots", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_CURRENT_INDEX] = g_param_spec_uint ( "current-index", NULL, NULL, 0, G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); props[PROP_CURRENT_CAPTION] = g_param_spec_string ( "current-caption", NULL, NULL, NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_IS_ZOOMED] = g_param_spec_boolean ( "is-zoomed", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_ZOOM); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-screenshot-page.ui"); gtk_widget_class_bind_template_child (widget_class, BzScreenshotPage, carousel); gtk_widget_class_bind_template_child (widget_class, BzScreenshotPage, toast_overlay); gtk_widget_class_bind_template_callback (widget_class, back_clicked); gtk_widget_class_bind_template_callback (widget_class, zoom_in_clicked); gtk_widget_class_bind_template_callback (widget_class, zoom_out_clicked); gtk_widget_class_bind_template_callback (widget_class, on_carousel_position_changed); gtk_widget_class_bind_template_callback (widget_class, reset_zoom_clicked); gtk_widget_class_bind_template_callback (widget_class, copy_clicked); gtk_widget_class_bind_template_callback (widget_class, previous_clicked); gtk_widget_class_bind_template_callback (widget_class, next_clicked); gtk_widget_class_bind_template_callback (widget_class, has_multiple_screenshots); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_valid_string); } static void bz_screenshot_page_init (BzScreenshotPage *self) { GtkEventController *key_controller = NULL; GtkEventController *scroll = NULL; GtkGesture *swipe = NULL; GtkGesture *click = NULL; gtk_widget_init_template (GTK_WIDGET (self)); key_controller = gtk_event_controller_key_new (); gtk_event_controller_set_propagation_phase (key_controller, GTK_PHASE_CAPTURE); g_signal_connect (key_controller, "key-pressed", G_CALLBACK (on_key_pressed), self); gtk_widget_add_controller (GTK_WIDGET (self), key_controller); swipe = gtk_gesture_swipe_new (); gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (swipe), GTK_PHASE_CAPTURE); g_signal_connect_swapped (swipe, "swipe", G_CALLBACK (on_swipe), self); gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (swipe), TRUE); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (swipe)); click = gtk_gesture_click_new (); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (click), 0); gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (click), GTK_PHASE_CAPTURE); g_signal_connect (click, "pressed", G_CALLBACK (on_button_pressed), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (click)); scroll = gtk_event_controller_scroll_new (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL); gtk_event_controller_set_propagation_phase (scroll, GTK_PHASE_BUBBLE); g_signal_connect_swapped (scroll, "scroll", G_CALLBACK (on_scroll), self); gtk_widget_add_controller (GTK_WIDGET (self), scroll); } const char * bz_screenshot_page_get_current_caption (BzScreenshotPage *self) { g_autoptr (GtkStringObject) caption_obj = NULL; guint n_items = 0; guint actual_index = 0; g_return_val_if_fail (BZ_IS_SCREENSHOT_PAGE (self), NULL); if (self->captions == NULL) return ""; n_items = g_list_model_get_n_items (self->captions); if (n_items == 0) return ""; actual_index = (self->initial_index + self->current_index) % n_items; caption_obj = g_list_model_get_item (self->captions, actual_index); if (caption_obj == NULL) return ""; return gtk_string_object_get_string (caption_obj); } void bz_screenshot_page_set_captions (BzScreenshotPage *self, GListModel *captions) { g_return_if_fail (BZ_IS_SCREENSHOT_PAGE (self)); g_set_object (&self->captions, captions); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_CAPTION]); } void bz_screenshot_page_close (BzScreenshotPage *self) { g_return_if_fail (BZ_IS_SCREENSHOT_PAGE (self)); back_clicked (self); } gboolean bz_screenshot_page_is_closing (BzScreenshotPage *self) { return self->closing; } AdwBin * bz_screenshot_page_new (GListModel *screenshots, GListModel *captions, guint initial_index, GtkWidget *source_widget) { BzScreenshotPage *page = NULL; page = g_object_new ( BZ_TYPE_SCREENSHOT_PAGE, "screenshots", screenshots, "current-index", initial_index, NULL); page->source_widget = source_widget; if (captions != NULL) bz_screenshot_page_set_captions (page, captions); return ADW_BIN (page); } static GdkTexture * render_widget_to_texture (GtkWidget *widget) { g_autoptr (GtkWidgetPaintable) paintable = NULL; g_autoptr (GtkSnapshot) snapshot = NULL; g_autoptr (GskRenderNode) node = NULL; GtkNative *native = NULL; GdkTexture *texture = NULL; paintable = GTK_WIDGET_PAINTABLE (gtk_widget_paintable_new (widget)); snapshot = gtk_snapshot_new (); gdk_paintable_snapshot (GDK_PAINTABLE (paintable), snapshot, gdk_paintable_get_intrinsic_width (GDK_PAINTABLE (paintable)), gdk_paintable_get_intrinsic_height (GDK_PAINTABLE (paintable))); node = gtk_snapshot_to_node (snapshot); native = gtk_widget_get_native (widget); if (node != NULL && native != NULL) texture = gsk_renderer_render_texture ( gtk_native_get_renderer (native), node, NULL); return texture; } static void on_animation_value (AdwAnimation *animation, GParamSpec *pspec, BzScreenshotPage *self) { self->animation_progress = adw_animation_get_value (animation); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void on_fade_animation_value (AdwAnimation *animation, GParamSpec *pspec, BzScreenshotPage *self) { gtk_widget_set_opacity (GTK_WIDGET (self), adw_animation_get_value (animation)); } static void on_close_animation_done (AdwAnimation *animation, BzScreenshotPage *self) { GtkWidget *parent = NULL; if (self->source_widget != NULL) gtk_widget_set_opacity (self->source_widget, 1.0); parent = gtk_widget_get_parent (GTK_WIDGET (self)); if (parent != NULL) gtk_overlay_remove_overlay (GTK_OVERLAY (parent), GTK_WIDGET (self)); } static void populate_carousel (BzScreenshotPage *self) { guint n_items = 0; guint i = 0; if (self->screenshots == NULL) return; n_items = g_list_model_get_n_items (self->screenshots); if (n_items == 0) return; for (guint offset = 0; offset < n_items; offset++) { g_autoptr (BzAsyncTexture) async_texture = NULL; GtkWidget *scrolled_window = NULL; GtkWidget *zoom_widget = NULL; GtkWidget *screenshot = NULL; i = (self->initial_index + offset) % n_items; async_texture = g_list_model_get_item (self->screenshots, i); if (async_texture == NULL) continue; screenshot = bz_screenshot_new (); bz_screenshot_set_paintable (BZ_SCREENSHOT (screenshot), GDK_PAINTABLE (async_texture)); bz_screenshot_set_rounded_corners (BZ_SCREENSHOT (screenshot), FALSE); gtk_widget_set_margin_top (screenshot, 25); gtk_widget_set_margin_bottom (screenshot, 25); gtk_widget_set_margin_start (screenshot, 25); gtk_widget_set_margin_end (screenshot, 25); zoom_widget = bz_zoom_new (); bz_zoom_set_child (BZ_ZOOM (zoom_widget), screenshot); scrolled_window = gtk_scrolled_window_new (); gtk_widget_set_hexpand (scrolled_window, TRUE); gtk_widget_set_vexpand (scrolled_window, TRUE); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_NEVER); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolled_window), zoom_widget); adw_carousel_append (self->carousel, scrolled_window); } } static void update_is_zoomed (BzScreenshotPage *self) { GtkWidget *screenshot = NULL; BzZoom *zoom = NULL; GtkScrolledWindow *scrolled_window = NULL; double zoom_level = 0.0; gboolean was_zoomed = FALSE; was_zoomed = self->is_zoomed; zoom = get_current_zoom (self, &scrolled_window); if (zoom != NULL) { g_object_get (zoom, "zoom-level", &zoom_level, NULL); screenshot = bz_zoom_get_child (zoom); if (screenshot != NULL) bz_screenshot_set_filter ( BZ_SCREENSHOT (screenshot), zoom_level <= 4.5 ? GSK_SCALING_FILTER_TRILINEAR : GSK_SCALING_FILTER_NEAREST); } self->is_zoomed = zoom != NULL && bz_zoom_is_transformed (zoom); if (was_zoomed != self->is_zoomed) { g_object_notify_by_pspec (G_OBJECT (self), props[PROP_IS_ZOOMED]); if (self->is_zoomed) gtk_scrolled_window_set_policy (scrolled_window, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); else gtk_scrolled_window_set_policy (scrolled_window, GTK_POLICY_NEVER, GTK_POLICY_NEVER); } } static BzZoom * get_current_zoom (BzScreenshotPage *self, GtkScrolledWindow **scrolled_window) { guint n_pages = 0; GtkWidget *page = NULL; GtkWidget *zoom = NULL; n_pages = adw_carousel_get_n_pages (self->carousel); if (self->current_index >= n_pages) return NULL; page = adw_carousel_get_nth_page (self->carousel, self->current_index); if (page == NULL) return NULL; zoom = gtk_scrolled_window_get_child (GTK_SCROLLED_WINDOW (page)); if (zoom != NULL) { if (scrolled_window != NULL) *scrolled_window = (GtkScrolledWindow *) page; return BZ_ZOOM (zoom); } else return NULL; } static gboolean on_key_pressed (GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, BzScreenshotPage *self) { if (keyval == GDK_KEY_Left) { previous_clicked (self); return TRUE; } else if (keyval == GDK_KEY_Right) { next_clicked (self); return TRUE; } return FALSE; } static void on_button_pressed (GtkGestureClick *gesture, int n_press, double x, double y, BzScreenshotPage *self) { if (gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture)) == MOUSE_BACK_BUTTON) back_clicked (self); } static void on_swipe (BzScreenshotPage *self, gdouble vel_x, gdouble vel_y) { if (vel_y < -500.0 || vel_y > 500.0) back_clicked (self); } static gboolean on_scroll (BzScreenshotPage *self, gdouble dx, gdouble dy, GtkEventControllerScroll *controller) { GdkEvent *event = NULL; GdkDevice *device = NULL; GdkInputSource source = 0; event = gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (controller)); device = gdk_event_get_device (event); source = gdk_device_get_source (device); if (source == GDK_SOURCE_TOUCHPAD && (dy < -2.0 || dy > 2.0)) back_clicked (self); return GDK_EVENT_PROPAGATE; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshot-page.h��������������������������������������������������0000664�0000000�0000000�00000003025�15234476640�0021726�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-screenshot-page.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-async-texture.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_SCREENSHOT_PAGE (bz_screenshot_page_get_type ()) G_DECLARE_FINAL_TYPE (BzScreenshotPage, bz_screenshot_page, BZ, SCREENSHOT_PAGE, AdwBin) AdwBin * bz_screenshot_page_new (GListModel *screenshots, GListModel *captions, guint initial_index, GtkWidget *source_widget); void bz_screenshot_page_set_captions (BzScreenshotPage *self, GListModel *captions); const char * bz_screenshot_page_get_current_caption (BzScreenshotPage *self); void bz_screenshot_page_close (BzScreenshotPage *self); gboolean bz_screenshot_page_is_closing (BzScreenshotPage *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshot.c�������������������������������������������������������0000664�0000000�0000000�00000037474�15234476640�0021026�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-screenshot.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-screenshot.h" #include "bz-async-texture.h" #define TOP_HALF_FIXED_WIDTH 650 #define TOP_HALF_FIXED_HEIGHT 265 struct _BzScreenshot { GtkWidget parent_instance; GdkPaintable *paintable; double focus_x; double focus_y; gboolean rounded_corners; gboolean top_half; GskScalingFilter filter; }; G_DEFINE_FINAL_TYPE (BzScreenshot, bz_screenshot, GTK_TYPE_WIDGET) enum { PROP_0, PROP_PAINTABLE, PROP_FOCUS_X, PROP_FOCUS_Y, PROP_ROUNDED_CORNERS, PROP_TOP_HALF, PROP_FILTER, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void invalidate_contents (BzScreenshot *self, GdkPaintable *paintable); static void invalidate_size (BzScreenshot *self, GdkPaintable *paintable); static void async_loaded (BzScreenshot *self, GParamSpec *pspec, BzAsyncTexture *texture); static void bz_screenshot_dispose (GObject *object) { BzScreenshot *self = BZ_SCREENSHOT (object); if (self->paintable != NULL) { g_signal_handlers_disconnect_by_func (self->paintable, invalidate_contents, self); g_signal_handlers_disconnect_by_func (self->paintable, invalidate_size, self); g_signal_handlers_disconnect_by_func (self->paintable, async_loaded, self); } g_clear_object (&self->paintable); G_OBJECT_CLASS (bz_screenshot_parent_class)->dispose (object); } static void bz_screenshot_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzScreenshot *self = BZ_SCREENSHOT (object); switch (prop_id) { case PROP_PAINTABLE: g_value_set_object (value, bz_screenshot_get_paintable (self)); break; case PROP_FOCUS_X: g_value_set_double (value, bz_screenshot_get_focus_x (self)); break; case PROP_FOCUS_Y: g_value_set_double (value, bz_screenshot_get_focus_y (self)); break; case PROP_ROUNDED_CORNERS: g_value_set_boolean (value, bz_screenshot_get_rounded_corners (self)); break; case PROP_TOP_HALF: g_value_set_boolean (value, bz_screenshot_get_top_half (self)); break; case PROP_FILTER: g_value_set_enum (value, bz_screenshot_get_filter (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_screenshot_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzScreenshot *self = BZ_SCREENSHOT (object); switch (prop_id) { case PROP_PAINTABLE: bz_screenshot_set_paintable (self, g_value_get_object (value)); break; case PROP_FOCUS_X: bz_screenshot_set_focus_x (self, g_value_get_double (value)); break; case PROP_FOCUS_Y: bz_screenshot_set_focus_y (self, g_value_get_double (value)); break; case PROP_ROUNDED_CORNERS: bz_screenshot_set_rounded_corners (self, g_value_get_boolean (value)); break; case PROP_TOP_HALF: bz_screenshot_set_top_half (self, g_value_get_boolean (value)); break; case PROP_FILTER: bz_screenshot_set_filter (self, g_value_get_enum (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static GtkSizeRequestMode bz_screenshot_get_request_mode (GtkWidget *widget) { BzScreenshot *self = BZ_SCREENSHOT (widget); if (self->top_half) return GTK_SIZE_REQUEST_CONSTANT_SIZE; return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } static void bz_screenshot_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BzScreenshot *self = BZ_SCREENSHOT (widget); if (self->paintable == NULL) return; if (self->top_half) { if (orientation == GTK_ORIENTATION_HORIZONTAL) { *minimum = TOP_HALF_FIXED_WIDTH; *natural = TOP_HALF_FIXED_WIDTH; } else { *minimum = TOP_HALF_FIXED_HEIGHT; *natural = TOP_HALF_FIXED_HEIGHT; } } else { if (orientation == GTK_ORIENTATION_VERTICAL) { int intrinsic_height; double intrinsic_aspect_ratio; intrinsic_height = gdk_paintable_get_intrinsic_height (self->paintable); intrinsic_aspect_ratio = gdk_paintable_get_intrinsic_aspect_ratio (self->paintable); if (for_size >= 0 && intrinsic_aspect_ratio > 0.0) { double result; result = ceil ((double) for_size / intrinsic_aspect_ratio); *minimum = (int) MIN (intrinsic_height, result); *natural = (int) MIN (intrinsic_height, result); } else { *minimum = 0; *natural = intrinsic_height; } } else { *minimum = 0; *natural = gdk_paintable_get_intrinsic_width (self->paintable); } } } static void bz_screenshot_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzScreenshot *self; int widget_width; int widget_height; double paintable_aspect; double scaled_w, scaled_h; double x, y; GskRoundedRect rect; self = BZ_SCREENSHOT (widget); if (self->paintable == NULL) return; widget_width = gtk_widget_get_width (widget); widget_height = gtk_widget_get_height (widget); paintable_aspect = gdk_paintable_get_intrinsic_aspect_ratio (self->paintable); if (self->top_half) { int paintable_width = gdk_paintable_get_intrinsic_width (self->paintable); if (paintable_width > TOP_HALF_FIXED_WIDTH) scaled_w = TOP_HALF_FIXED_WIDTH; else scaled_w = paintable_width > 0 ? paintable_width : TOP_HALF_FIXED_WIDTH; if (paintable_aspect > 0.0) scaled_h = scaled_w / paintable_aspect; else scaled_h = widget_height * 2.0; x = (widget_width - scaled_w) / 2.0; y = 0; } else { if (paintable_aspect > 0.0) { scaled_w = widget_width; scaled_h = scaled_w / paintable_aspect; if (scaled_h > widget_height) { scaled_h = widget_height; scaled_w = scaled_h * paintable_aspect; } } else { scaled_w = widget_width; scaled_h = widget_height; } x = (widget_width - scaled_w) / 2.0; y = (widget_height - scaled_h) / 2.0; } if (self->rounded_corners) { rect.corner[0].width = 10.0; rect.corner[0].height = 10.0; rect.corner[1].width = 10.0; rect.corner[1].height = 10.0; rect.corner[2].width = 10.0; rect.corner[2].height = 10.0; rect.corner[3].width = 10.0; rect.corner[3].height = 10.0; if (self->top_half) { rect.bounds = GRAPHENE_RECT_INIT (x, y, scaled_w, scaled_h); gtk_snapshot_push_rounded_clip (snapshot, &rect); gtk_snapshot_push_clip (snapshot, &GRAPHENE_RECT_INIT (0, 0, widget_width, widget_height)); } else { rect.bounds = GRAPHENE_RECT_INIT (0, 0, widget_width, widget_height); gtk_snapshot_push_rounded_clip (snapshot, &rect); } } gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y)); /* TODO: doesn't handle all cases properly */ if (self->filter == GSK_SCALING_FILTER_NEAREST && BZ_IS_ASYNC_TEXTURE (self->paintable)) { g_autoptr (GdkTexture) texture = NULL; texture = bz_async_texture_dup_texture (BZ_ASYNC_TEXTURE (self->paintable)); if (texture != NULL) gtk_snapshot_append_scaled_texture ( snapshot, texture, self->filter, &GRAPHENE_RECT_INIT (0.0, 0.0, scaled_w, scaled_h)); } else if (self->filter == GSK_SCALING_FILTER_NEAREST && GDK_IS_TEXTURE (self->paintable)) gtk_snapshot_append_scaled_texture ( snapshot, GDK_TEXTURE (self->paintable), self->filter, &GRAPHENE_RECT_INIT (0.0, 0.0, scaled_w, scaled_h)); else gdk_paintable_snapshot (self->paintable, snapshot, scaled_w, scaled_h); if (self->rounded_corners) { gtk_snapshot_pop (snapshot); if (self->top_half) gtk_snapshot_pop (snapshot); } } static void bz_screenshot_class_init (BzScreenshotClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_screenshot_dispose; object_class->get_property = bz_screenshot_get_property; object_class->set_property = bz_screenshot_set_property; props[PROP_PAINTABLE] = g_param_spec_object ( "paintable", NULL, NULL, GDK_TYPE_PAINTABLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_FOCUS_X] = g_param_spec_double ( "focus-x", NULL, NULL, -1.0, G_MAXDOUBLE, -1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_FOCUS_Y] = g_param_spec_double ( "focus-y", NULL, NULL, -1.0, G_MAXDOUBLE, -1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ROUNDED_CORNERS] = g_param_spec_boolean ( "rounded-corners", NULL, NULL, TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TOP_HALF] = g_param_spec_boolean ( "top-half", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_FILTER] = g_param_spec_enum ( "filter", NULL, NULL, GSK_TYPE_SCALING_FILTER, GSK_SCALING_FILTER_TRILINEAR, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); widget_class->get_request_mode = bz_screenshot_get_request_mode; widget_class->measure = bz_screenshot_measure; widget_class->snapshot = bz_screenshot_snapshot; } static void bz_screenshot_init (BzScreenshot *self) { self->focus_x = -1.0; self->focus_y = -1.0; self->rounded_corners = TRUE; self->top_half = FALSE; self->filter = GSK_SCALING_FILTER_TRILINEAR; } GtkWidget * bz_screenshot_new (void) { return g_object_new (BZ_TYPE_SCREENSHOT, NULL); } void bz_screenshot_set_paintable (BzScreenshot *self, GdkPaintable *paintable) { g_return_if_fail (BZ_IS_SCREENSHOT (self)); g_return_if_fail (paintable == NULL || GDK_IS_PAINTABLE (paintable)); if (self->paintable != NULL) { g_signal_handlers_disconnect_by_func (self->paintable, invalidate_contents, self); g_signal_handlers_disconnect_by_func (self->paintable, invalidate_size, self); g_signal_handlers_disconnect_by_func (self->paintable, async_loaded, self); } g_clear_object (&self->paintable); if (paintable != NULL) { self->paintable = g_object_ref (paintable); g_signal_connect_swapped (paintable, "invalidate-contents", G_CALLBACK (invalidate_contents), self); g_signal_connect_swapped (paintable, "invalidate-size", G_CALLBACK (invalidate_size), self); if (BZ_IS_ASYNC_TEXTURE (paintable)) g_signal_connect_swapped (paintable, "notify::loaded", G_CALLBACK (async_loaded), self); } gtk_widget_queue_resize (GTK_WIDGET (self)); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PAINTABLE]); } GdkPaintable * bz_screenshot_get_paintable (BzScreenshot *self) { g_return_val_if_fail (BZ_IS_SCREENSHOT (self), NULL); return self->paintable; } void bz_screenshot_set_focus_x (BzScreenshot *self, double focus_x) { g_return_if_fail (BZ_IS_SCREENSHOT (self)); self->focus_x = focus_x; gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FOCUS_X]); } double bz_screenshot_get_focus_x (BzScreenshot *self) { g_return_val_if_fail (BZ_IS_SCREENSHOT (self), 0.0); return self->focus_x; } void bz_screenshot_set_focus_y (BzScreenshot *self, double focus_y) { g_return_if_fail (BZ_IS_SCREENSHOT (self)); self->focus_y = focus_y; gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FOCUS_Y]); } double bz_screenshot_get_focus_y (BzScreenshot *self) { g_return_val_if_fail (BZ_IS_SCREENSHOT (self), 0.0); return self->focus_y; } void bz_screenshot_set_rounded_corners (BzScreenshot *self, gboolean rounded_corners) { g_return_if_fail (BZ_IS_SCREENSHOT (self)); if (self->rounded_corners == rounded_corners) return; self->rounded_corners = rounded_corners; gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ROUNDED_CORNERS]); } gboolean bz_screenshot_get_rounded_corners (BzScreenshot *self) { g_return_val_if_fail (BZ_IS_SCREENSHOT (self), TRUE); return self->rounded_corners; } void bz_screenshot_set_top_half (BzScreenshot *self, gboolean top_half) { g_return_if_fail (BZ_IS_SCREENSHOT (self)); if (self->top_half == top_half) return; self->top_half = top_half; gtk_widget_queue_resize (GTK_WIDGET (self)); gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TOP_HALF]); } gboolean bz_screenshot_get_top_half (BzScreenshot *self) { g_return_val_if_fail (BZ_IS_SCREENSHOT (self), FALSE); return self->top_half; } void bz_screenshot_set_filter (BzScreenshot *self, GskScalingFilter filter) { g_return_if_fail (BZ_IS_SCREENSHOT (self)); if (self->filter == filter) return; self->filter = filter; gtk_widget_queue_draw (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FILTER]); } GskScalingFilter bz_screenshot_get_filter (BzScreenshot *self) { g_return_val_if_fail (BZ_IS_SCREENSHOT (self), FALSE); return self->filter; } static void invalidate_contents (BzScreenshot *self, GdkPaintable *paintable) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void invalidate_size (BzScreenshot *self, GdkPaintable *paintable) { gtk_widget_queue_resize (GTK_WIDGET (self)); } static void async_loaded (BzScreenshot *self, GParamSpec *pspec, BzAsyncTexture *texture) { gtk_widget_queue_draw (GTK_WIDGET (self)); gtk_widget_queue_resize (GTK_WIDGET (self)); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshot.h�������������������������������������������������������0000664�0000000�0000000�00000003744�15234476640�0021024�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-screenshot.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_SCREENSHOT (bz_screenshot_get_type ()) G_DECLARE_FINAL_TYPE (BzScreenshot, bz_screenshot, BZ, SCREENSHOT, GtkWidget) GtkWidget * bz_screenshot_new (void); void bz_screenshot_set_paintable (BzScreenshot *self, GdkPaintable *paintable); GdkPaintable * bz_screenshot_get_paintable (BzScreenshot *self); void bz_screenshot_set_focus_x (BzScreenshot *self, double focus_x); double bz_screenshot_get_focus_x (BzScreenshot *self); void bz_screenshot_set_focus_y (BzScreenshot *self, double focus_y); double bz_screenshot_get_focus_y (BzScreenshot *self); void bz_screenshot_set_rounded_corners (BzScreenshot *self, gboolean rounded_corners); gboolean bz_screenshot_get_rounded_corners (BzScreenshot *self); void bz_screenshot_set_top_half (BzScreenshot *self, gboolean top_half); gboolean bz_screenshot_get_top_half (BzScreenshot *self); void bz_screenshot_set_filter (BzScreenshot *self, GskScalingFilter filter); GskScalingFilter bz_screenshot_get_filter (BzScreenshot *self); G_END_DECLS ����������������������������bazaar-org-bazaar-917017d/src/bz-screenshots-carousel.blp�������������������������������������������0000664�0000000�0000000�00000005456�15234476640�0023352�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; template $BzScreenshotsCarousel: Gtk.Widget { valign: start; accessibility { label: _("Screenshots Carousel"); } styles [ "screenshot-carousel", "frame", "carousel-box", ] layout-manager: Gtk.BinLayout {}; Gtk.Overlay { halign: fill; child: Gtk.Box { orientation: vertical; halign: fill; $BgeCarousel carousel { vexpand: true; hexpand: true; height-request: bind $get_carousel_height(template.compact) as <int>; allow-mouse-drag: true; allow-overshoot: true; allow-scroll-wheel: true; allow-raise: bind $invert_boolean(template.compact) as <bool>; create-widget => $on_create_widget(template); remove-widget => $on_remove_widget(template); model: SingleSelection selection { autoselect: true; model: bind template.model; notify::selected => $on_notify_selected(template); notify::model => $on_notify_model(template); }; } }; [overlay] Gtk.Revealer prev_button_revealer { transition-type: crossfade; reveal-child: false; halign: start; valign: center; can-focus: false; Gtk.Button prev_button { icon-name: "go-previous-symbolic"; valign: center; halign: start; clicked => $on_prev_clicked() swapped; styles [ "circular", "osd", ] } } [overlay] Gtk.Revealer next_button_revealer { transition-type: crossfade; reveal-child: false; halign: end; valign: center; can-focus: false; Gtk.Button next_button { icon-name: "go-next-symbolic"; valign: center; clicked => $on_next_clicked() swapped; styles [ "circular", "osd", ] } } [overlay] Gtk.Box no_screenshots_overlay { orientation: vertical; halign: center; valign: center; spacing: 12; visible: bind $is_empty(template.model) as <bool>; Gtk.Image { icon-name: "image-missing-symbolic"; pixel-size: 96; styles [ "dim-label", ] } Gtk.Label { label: _("No Screenshots"); styles [ "dim-label", "title-2", ] } } [overlay] Box { styles [ "osd-box", "pip-button", ] margin-end: 8; margin-bottom: 8; halign: end; valign: end; can-focus: false; visible: bind $not($is_empty(template.model) as <bool>) as <bool>; Gtk.Button { icon-name: "pip-out-symbolic"; tooltip-text: _("Open Screenshot Viewer"); clicked => $on_expand_clicked() swapped; styles [ "flat", ] } } } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshots-carousel.c���������������������������������������������0000664�0000000�0000000�00000053022�15234476640�0023007�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-screenshots-carousel.c * * Copyright 2025 Alexander Vanhee * * Adapted from gs-screenshot-carousel.c * * Copyright (C) 2013-2016 Richard Hughes <richard@hughsie.com> * Copyright (C) 2013 Matthias Clasen <mclasen@redhat.com> * Copyright (C) 2015-2019 Kalev Lember <klember@redhat.com> * Copyright (C) 2019 Joaquim Rocha <jrocha@endlessm.com> * Copyright (C) 2021 Adrien Plazas <adrien.plazas@puri.sm> * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <adwaita.h> #include <bge.h> #include <glib/gi18n.h> #include "bz-decorated-screenshot.h" #include "bz-screenshots-carousel.h" #include "bz-screenshot-page.h" #include "template-callbacks.h" #include "bz-window.h" #define LIGHT_CLASS "screenshot-carousel-light" #define DARK_CLASS "screenshot-carousel-dark" #define LIGHT_MIX_PERCENTAGE 15 #define DARK_MIX_PERCENTAGE 4 struct _BzScreenshotsCarousel { GtkWidget parent_instance; BgeCarousel *carousel; // GtkWidget *carousel_indicator; GtkButton *prev_button; GtkWidget *prev_button_revealer; GtkButton *next_button; GtkWidget *next_button_revealer; GtkSingleSelection *selection; GListModel *model; GListModel *captions; gboolean compact; char *light_accent_color; char *dark_accent_color; char *widget_css_class; GtkCssProvider *css; gulong items_changed_id; }; G_DEFINE_FINAL_TYPE (BzScreenshotsCarousel, bz_screenshots_carousel, GTK_TYPE_WIDGET) enum { PROP_0, PROP_MODEL, PROP_CAPTIONS, PROP_COMPACT, PROP_LIGHT_ACCENT_COLOR, PROP_DARK_ACCENT_COLOR, N_PROPS }; static GParamSpec *properties[N_PROPS]; static void refresh_css (BzScreenshotsCarousel *self); static void clear_css (BzScreenshotsCarousel *self); static void update_button_visibility (BzScreenshotsCarousel *self) { gdouble position; guint n_pages; if (!self->carousel) return; position = gtk_single_selection_get_selected (self->selection); n_pages = g_list_model_get_n_items (G_LIST_MODEL (self->selection)); if (n_pages == 0) { gtk_revealer_set_reveal_child (GTK_REVEALER (self->prev_button_revealer), FALSE); gtk_revealer_set_reveal_child (GTK_REVEALER (self->next_button_revealer), FALSE); return; } gtk_revealer_set_reveal_child (GTK_REVEALER (self->prev_button_revealer), position >= 0.5); gtk_revealer_set_reveal_child (GTK_REVEALER (self->next_button_revealer), position < n_pages - 1.5); } static void carousel_navigate (BzScreenshotsCarousel *self, AdwNavigationDirection direction) { guint n_children = 0; gdouble position = 0.0; n_children = g_list_model_get_n_items (G_LIST_MODEL (self->selection)); position = gtk_single_selection_get_selected (self->selection); position += (direction == ADW_NAVIGATION_DIRECTION_BACK) ? -1 : 1; position = round (position); position = MIN (position, n_children - 1); position = MAX (0, position); gtk_single_selection_set_selected (self->selection, position); } static void on_prev_clicked (BzScreenshotsCarousel *self) { if (!self->carousel) return; carousel_navigate (self, ADW_NAVIGATION_DIRECTION_BACK); } static void on_next_clicked (BzScreenshotsCarousel *self) { if (!self->carousel) return; carousel_navigate (self, ADW_NAVIGATION_DIRECTION_FORWARD); } static void on_notify_selected (BzScreenshotsCarousel *self) { update_button_visibility (self); } static void on_notify_model (BzScreenshotsCarousel *self) { guint n_items = g_list_model_get_n_items (G_LIST_MODEL (self->selection)); if (!self->compact && n_items >= 3) gtk_single_selection_set_selected (self->selection, 1); update_button_visibility (self); } static void open_screenshot_at_index (BzScreenshotsCarousel *self, guint index) { BzScreenshotPage *page = NULL; GtkWidget *picture = NULL; GtkWidget *child = NULL; GtkWidget *root = NULL; guint n_items; if (!self->model) return; n_items = g_list_model_get_n_items (self->model); if (index >= n_items) return; child = bge_carousel_get_nth_page (self->carousel, index); if (child != NULL) picture = gtk_widget_get_first_child (child); root = GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (self))); if (!BZ_IS_WINDOW (root)) return; page = BZ_SCREENSHOT_PAGE (bz_screenshot_page_new (self->model, self->captions, index, picture)); bz_window_open_screenshot_page (BZ_WINDOW (root), page); } static void on_screenshot_clicked (BzDecoratedScreenshot *screenshot, BzScreenshotsCarousel *self) { BzAsyncTexture *async_texture = NULL; guint index = 0; guint n_items = 0; if (!self->model) return; async_texture = bz_decorated_screenshot_get_async_texture (screenshot); if (async_texture == NULL) return; n_items = g_list_model_get_n_items (self->model); for (guint i = 0; i < n_items; i++) { g_autoptr (BzAsyncTexture) item = NULL; item = g_list_model_get_item (self->model, i); if (item == async_texture) { index = i; break; } } open_screenshot_at_index (self, index); } static void on_expand_clicked (BzScreenshotsCarousel *self) { gdouble position; guint index; guint n_pages; if (!self->carousel || !self->model) return; n_pages = g_list_model_get_n_items (G_LIST_MODEL (self->selection)); if (n_pages == 0) return; position = gtk_single_selection_get_selected (self->selection); index = (guint) round (position); index = MIN (index, n_pages - 1); open_screenshot_at_index (self, index); } static int get_carousel_height (BzScreenshotsCarousel *self) { return self->compact ? 250 : 375; } static void on_screenshot_focus_changed (BzDecoratedScreenshot *screenshot, GParamSpec *pspec, BzScreenshotsCarousel *self) { if (!self->carousel) return; if (gtk_widget_has_focus (GTK_WIDGET (screenshot))) { BzAsyncTexture *texture = NULL; guint n_items = 0; texture = bz_decorated_screenshot_get_async_texture (screenshot); n_items = g_list_model_get_n_items (self->model); for (guint i = 0; i < n_items; i++) { g_autoptr (BzAsyncTexture) item = NULL; item = g_list_model_get_item (self->model, i); if (item == texture) { gtk_single_selection_set_selected (self->selection, i); break; } } } } static GtkWidget * on_create_widget (BzScreenshotsCarousel *self, BzAsyncTexture *item, BgeCarousel *carousel) { GtkWidget *screenshot = NULL; g_autofree char *caption = NULL; const char *shot_caption = NULL; guint n_items = 0; guint index = 0; screenshot = g_object_new (BZ_TYPE_DECORATED_SCREENSHOT, "async-texture", item, NULL); n_items = g_list_model_get_n_items (self->model); for (index = 0; index < n_items; index++) { g_autoptr (BzAsyncTexture) it = NULL; it = g_list_model_get_item (self->model, index); if (it == item) break; } if (self->captions != NULL && index < g_list_model_get_n_items (self->captions)) { g_autoptr (GtkStringObject) caption_obj = NULL; caption_obj = g_list_model_get_item (self->captions, index); if (caption_obj != NULL) shot_caption = gtk_string_object_get_string (caption_obj); } if (shot_caption != NULL && *shot_caption != '\0') caption = g_strdup_printf (_ ("Screenshot %u %s"), index + 1, shot_caption); else caption = g_strdup_printf (_ ("Screenshot %u"), index + 1); gtk_accessible_update_property (GTK_ACCESSIBLE (screenshot), GTK_ACCESSIBLE_PROPERTY_LABEL, caption, -1); g_signal_connect (screenshot, "clicked", G_CALLBACK (on_screenshot_clicked), self); g_signal_connect (screenshot, "notify::has-focus", G_CALLBACK (on_screenshot_focus_changed), self); return screenshot; } static void on_remove_widget (BzScreenshotsCarousel *self, BzDecoratedScreenshot *screenshot, BzAsyncTexture *item, BgeCarousel *carousel) { } static void dark_changed (BzScreenshotsCarousel *self, GParamSpec *pspec, AdwStyleManager *mgr) { gboolean is_dark; if (self->css == NULL) return; is_dark = adw_style_manager_get_dark (adw_style_manager_get_default ()); gtk_widget_remove_css_class (GTK_WIDGET (self), LIGHT_CLASS); gtk_widget_remove_css_class (GTK_WIDGET (self), DARK_CLASS); gtk_widget_add_css_class (GTK_WIDGET (self), is_dark ? DARK_CLASS : LIGHT_CLASS); } static void bz_screenshots_carousel_dispose (GObject *object) { BzScreenshotsCarousel *self = BZ_SCREENSHOTS_CAROUSEL (object); GtkWidget *root_child = gtk_widget_get_first_child (GTK_WIDGET (self)); if (self->model && self->items_changed_id) { g_signal_handler_disconnect (self->model, self->items_changed_id); self->items_changed_id = 0; } g_clear_object (&self->model); g_clear_object (&self->captions); clear_css (self); g_clear_pointer (&self->light_accent_color, g_free); g_clear_pointer (&self->dark_accent_color, g_free); g_clear_pointer (&self->widget_css_class, g_free); if (root_child != NULL) gtk_widget_unparent (root_child); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_SCREENSHOTS_CAROUSEL); G_OBJECT_CLASS (bz_screenshots_carousel_parent_class)->dispose (object); } static void bz_screenshots_carousel_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzScreenshotsCarousel *self = BZ_SCREENSHOTS_CAROUSEL (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, self->model); break; case PROP_CAPTIONS: g_value_set_object (value, self->captions); break; case PROP_COMPACT: g_value_set_boolean (value, self->compact); break; case PROP_LIGHT_ACCENT_COLOR: g_value_set_string (value, self->light_accent_color); break; case PROP_DARK_ACCENT_COLOR: g_value_set_string (value, self->dark_accent_color); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_screenshots_carousel_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzScreenshotsCarousel *self = BZ_SCREENSHOTS_CAROUSEL (object); switch (prop_id) { case PROP_MODEL: bz_screenshots_carousel_set_model (self, g_value_get_object (value)); break; case PROP_CAPTIONS: bz_screenshots_carousel_set_captions (self, g_value_get_object (value)); break; case PROP_COMPACT: bz_screenshots_carousel_set_compact (self, g_value_get_boolean (value)); break; case PROP_LIGHT_ACCENT_COLOR: bz_screenshots_carousel_set_light_accent_color (self, g_value_get_string (value)); break; case PROP_DARK_ACCENT_COLOR: bz_screenshots_carousel_set_dark_accent_color (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_screenshots_carousel_class_init (BzScreenshotsCarouselClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_screenshots_carousel_dispose; object_class->get_property = bz_screenshots_carousel_get_property; object_class->set_property = bz_screenshots_carousel_set_property; properties[PROP_MODEL] = g_param_spec_object ("model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); properties[PROP_CAPTIONS] = g_param_spec_object ("captions", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); properties[PROP_COMPACT] = g_param_spec_boolean ("compact", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); properties[PROP_LIGHT_ACCENT_COLOR] = g_param_spec_string ("light-accent-color", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); properties[PROP_DARK_ACCENT_COLOR] = g_param_spec_string ("dark-accent-color", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, N_PROPS, properties); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-screenshots-carousel.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzScreenshotsCarousel, carousel); gtk_widget_class_bind_template_child (widget_class, BzScreenshotsCarousel, prev_button); gtk_widget_class_bind_template_child (widget_class, BzScreenshotsCarousel, prev_button_revealer); gtk_widget_class_bind_template_child (widget_class, BzScreenshotsCarousel, next_button); gtk_widget_class_bind_template_child (widget_class, BzScreenshotsCarousel, next_button_revealer); gtk_widget_class_bind_template_child (widget_class, BzScreenshotsCarousel, selection); gtk_widget_class_bind_template_callback (widget_class, on_prev_clicked); gtk_widget_class_bind_template_callback (widget_class, on_next_clicked); gtk_widget_class_bind_template_callback (widget_class, on_notify_selected); gtk_widget_class_bind_template_callback (widget_class, on_notify_model); gtk_widget_class_bind_template_callback (widget_class, on_create_widget); gtk_widget_class_bind_template_callback (widget_class, on_remove_widget); gtk_widget_class_bind_template_callback (widget_class, on_expand_clicked); gtk_widget_class_bind_template_callback (widget_class, get_carousel_height); gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); gtk_widget_class_set_css_name (widget_class, "screenshot-carousel"); } static void bz_screenshots_carousel_init (BzScreenshotsCarousel *self) { gtk_widget_init_template (GTK_WIDGET (self)); g_signal_connect_object ( adw_style_manager_get_default (), "notify::dark", G_CALLBACK (dark_changed), self, G_CONNECT_SWAPPED); } GtkWidget * bz_screenshots_carousel_new (void) { return g_object_new (BZ_TYPE_SCREENSHOTS_CAROUSEL, NULL); } void bz_screenshots_carousel_set_model (BzScreenshotsCarousel *self, GListModel *model) { g_return_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self)); g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); if (self->model == model) return; if (self->model && self->items_changed_id) { g_signal_handler_disconnect (self->model, self->items_changed_id); self->items_changed_id = 0; } g_clear_object (&self->model); if (model) { self->model = g_object_ref (model); gtk_single_selection_set_selected (self->selection, 0); } g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MODEL]); } GListModel * bz_screenshots_carousel_get_model (BzScreenshotsCarousel *self) { g_return_val_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self), NULL); return self->model; } void bz_screenshots_carousel_set_captions (BzScreenshotsCarousel *self, GListModel *captions) { g_clear_object (&self->captions); if (captions) self->captions = g_object_ref (captions); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_CAPTIONS]); } void bz_screenshots_carousel_set_compact (BzScreenshotsCarousel *self, gboolean compact) { g_return_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self)); if (self->compact == compact) return; self->compact = compact; g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COMPACT]); } gboolean bz_screenshots_carousel_get_compact (BzScreenshotsCarousel *self) { g_return_val_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self), FALSE); return self->compact; } void bz_screenshots_carousel_set_light_accent_color (BzScreenshotsCarousel *self, const char *color) { g_return_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self)); if (color == self->light_accent_color || (color != NULL && g_strcmp0 (self->light_accent_color, color) == 0)) return; g_clear_pointer (&self->light_accent_color, g_free); if (color != NULL) self->light_accent_color = g_strdup (color); refresh_css (self); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_LIGHT_ACCENT_COLOR]); } const char * bz_screenshots_carousel_get_light_accent_color (BzScreenshotsCarousel *self) { g_return_val_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self), NULL); return self->light_accent_color; } void bz_screenshots_carousel_set_dark_accent_color (BzScreenshotsCarousel *self, const char *color) { g_return_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self)); if (color == self->dark_accent_color || (color != NULL && g_strcmp0 (self->dark_accent_color, color) == 0)) return; g_clear_pointer (&self->dark_accent_color, g_free); if (color != NULL) self->dark_accent_color = g_strdup (color); refresh_css (self); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_DARK_ACCENT_COLOR]); } const char * bz_screenshots_carousel_get_dark_accent_color (BzScreenshotsCarousel *self) { g_return_val_if_fail (BZ_IS_SCREENSHOTS_CAROUSEL (self), NULL); return self->dark_accent_color; } static void refresh_css (BzScreenshotsCarousel *self) { g_autofree char *css_string = NULL; g_autofree char *light_bg = NULL; g_autofree char *dark_bg = NULL; gboolean is_dark; clear_css (self); if (self->light_accent_color == NULL && self->dark_accent_color == NULL) return; self->widget_css_class = g_strdup_printf ("screenshot-carousel-%p", (void *) self); gtk_widget_add_css_class (GTK_WIDGET (self), self->widget_css_class); if (self->light_accent_color != NULL && self->dark_accent_color != NULL) light_bg = g_strdup_printf ("color-mix(in srgb, %s %d%%, rgb(255,255,255))", self->light_accent_color, LIGHT_MIX_PERCENTAGE); else if (self->light_accent_color != NULL) light_bg = g_strdup (self->light_accent_color); else if (self->dark_accent_color != NULL) light_bg = g_strdup_printf ("color-mix(in srgb, %s %d%%, rgb(255,255,255))", self->dark_accent_color, LIGHT_MIX_PERCENTAGE); if (self->light_accent_color != NULL && self->dark_accent_color != NULL) dark_bg = g_strdup_printf ("color-mix(in srgb, %s %d%%, rgb(29,29,32))", self->dark_accent_color, DARK_MIX_PERCENTAGE); else if (self->dark_accent_color != NULL) dark_bg = g_strdup (self->dark_accent_color); else if (self->light_accent_color != NULL) dark_bg = g_strdup_printf ("color-mix(in srgb, %s %d%%, rgb(29,29,32))", self->light_accent_color, DARK_MIX_PERCENTAGE); css_string = g_strdup_printf ( ".%s.%s{background-color:%s;}\n" ".%s.%s{background-color:%s;}", self->widget_css_class, LIGHT_CLASS, light_bg, self->widget_css_class, DARK_CLASS, dark_bg); self->css = gtk_css_provider_new (); gtk_css_provider_load_from_string (self->css, css_string); gtk_style_context_add_provider_for_display ( gdk_display_get_default (), GTK_STYLE_PROVIDER (self->css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); is_dark = adw_style_manager_get_dark (adw_style_manager_get_default ()); gtk_widget_add_css_class (GTK_WIDGET (self), is_dark ? DARK_CLASS : LIGHT_CLASS); } static void clear_css (BzScreenshotsCarousel *self) { gtk_widget_remove_css_class (GTK_WIDGET (self), LIGHT_CLASS); gtk_widget_remove_css_class (GTK_WIDGET (self), DARK_CLASS); if (self->widget_css_class != NULL) { gtk_widget_remove_css_class (GTK_WIDGET (self), self->widget_css_class); g_clear_pointer (&self->widget_css_class, g_free); } if (self->css != NULL) gtk_style_context_remove_provider_for_display ( gdk_display_get_default (), GTK_STYLE_PROVIDER (self->css)); g_clear_pointer (&self->css, g_object_unref); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-screenshots-carousel.h���������������������������������������������0000664�0000000�0000000�00000004143�15234476640�0023014�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-screenshots-carousel.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_SCREENSHOTS_CAROUSEL (bz_screenshots_carousel_get_type ()) G_DECLARE_FINAL_TYPE (BzScreenshotsCarousel, bz_screenshots_carousel, BZ, SCREENSHOTS_CAROUSEL, GtkWidget) GtkWidget * bz_screenshots_carousel_new (void); void bz_screenshots_carousel_set_model (BzScreenshotsCarousel *self, GListModel *model); GListModel * bz_screenshots_carousel_get_model (BzScreenshotsCarousel *self); void bz_screenshots_carousel_set_captions (BzScreenshotsCarousel *self, GListModel *captions); void bz_screenshots_carousel_set_compact (BzScreenshotsCarousel *self, gboolean compact); gboolean bz_screenshots_carousel_get_compact (BzScreenshotsCarousel *self); void bz_screenshots_carousel_set_light_accent_color (BzScreenshotsCarousel *self, const char *color); const char * bz_screenshots_carousel_get_light_accent_color (BzScreenshotsCarousel *self); void bz_screenshots_carousel_set_dark_accent_color (BzScreenshotsCarousel *self, const char *color); const char * bz_screenshots_carousel_get_dark_accent_color (BzScreenshotsCarousel *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-bar.blp�����������������������������������������������������0000664�0000000�0000000�00000002114�15234476640�0021172�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzSearchBar: Widget { height-request: 40; accessible-role: search_box; styles [ "search-box", ] layout-manager: BoxLayout { spacing: 8; }; Image search_icon { icon-name: "system-search-symbolic"; accessible-role: presentation; } Text search_text { hexpand: true; placeholder-text: bind template.placeholder; activate => $text_activated_cb(template); changed => $text_changed_cb(template); } Adw.Spinner search_busy { visible: bind template.busy; width-request: 16; height-request: 16; } Adw.Bin end_widget_bin { EventControllerFocus { enter => $end_widget_focus_enter_cb(template); leave => $end_widget_focus_leave_cb(template); } } Button clear_button { icon-name: "edit-clear"; valign: center; focusable: false; visible: bind $has_text_cb(search_text.text); clicked => $clear_text_cb(template); styles [ "flat", "circular", "searchbar-button", ] accessibility { label: _("Clear Search"); } } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-bar.c�������������������������������������������������������0000664�0000000�0000000�00000025042�15234476640�0020644�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * bz-search-bar.c * * Copyright 2026 Zelda Ahmed <zoeyahmed10@proton.me> * * 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 <http://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-search-bar.h" struct _BzSearchBar { GtkWidget parent_instance; GtkImage *search_icon; GtkText *search_text; AdwSpinner *search_busy; GtkButton *clear_button; AdwBin *end_widget_bin; gboolean busy; gchar *placeholder; }; static void bz_search_bar_accessible_init (GtkAccessibleInterface *iface); static void bz_search_bar_editable_init (GtkEditableInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE (BzSearchBar, bz_search_bar, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE, bz_search_bar_editable_init) G_IMPLEMENT_INTERFACE (GTK_TYPE_ACCESSIBLE, bz_search_bar_accessible_init)) enum { PROP_0, PROP_BUSY, PROP_PLACEHOLDER, PROP_END_WIDGET, N_PROPS }; enum { SIGNAL_SEARCH_ACTIVATED, SIGNAL_SEARCH_CHANGED, N_SIGNALS }; static guint signals[N_SIGNALS]; static GParamSpec *properties[N_PROPS]; static void text_activated_cb (BzSearchBar *self, GtkText *text) { g_signal_emit (self, signals[SIGNAL_SEARCH_ACTIVATED], 0); } static void text_changed_cb (BzSearchBar *self, GtkText *text) { g_signal_emit (self, signals[SIGNAL_SEARCH_CHANGED], 0); } static gboolean has_text_cb (BzSearchBar *self, GtkButton *clear_button, const gchar *value) { const gchar *text; if (!self->search_text) return FALSE; text = gtk_editable_get_text (GTK_EDITABLE (self->search_text)); return strlen (text) != 0; } static void clear_text_cb (BzSearchBar *self, GtkButton *clear_button) { gtk_editable_set_text (GTK_EDITABLE (self->search_text), ""); } static gboolean bz_search_bar_grab_focus (GtkWidget *widget) { BzSearchBar *self = BZ_SEARCH_BAR (widget); return gtk_widget_grab_focus (GTK_WIDGET (self->search_text)); } static gboolean bz_search_bar_focus (GtkWidget *widget, GtkDirectionType direction) { BzSearchBar *self = BZ_SEARCH_BAR (widget); return gtk_widget_child_focus (GTK_WIDGET (self->search_text), direction); } static void end_widget_focus_enter_cb (BzSearchBar *self) { gtk_widget_add_css_class (GTK_WIDGET (self), "hide-focus"); } static void end_widget_focus_leave_cb (BzSearchBar *self) { gtk_widget_remove_css_class (GTK_WIDGET (self), "hide-focus"); } BzSearchBar * bz_search_bar_new (void) { return g_object_new (BZ_TYPE_SEARCH_BAR, NULL); } static void bz_search_bar_dispose (GObject *object) { BzSearchBar *self = BZ_SEARCH_BAR (object); gtk_editable_finish_delegate (GTK_EDITABLE (self)); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_SEARCH_BAR); G_OBJECT_CLASS (bz_search_bar_parent_class)->dispose (object); } static void bz_search_bar_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSearchBar *self = BZ_SEARCH_BAR (object); if (gtk_editable_delegate_get_property (object, prop_id, value, pspec)) return; switch (prop_id) { case PROP_BUSY: g_value_set_boolean (value, bz_search_bar_get_busy (self)); break; case PROP_END_WIDGET: g_value_set_object (value, bz_search_bar_get_end_widget (self)); break; case PROP_PLACEHOLDER: g_value_set_string (value, bz_search_bar_get_placeholder (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_search_bar_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzSearchBar *self = BZ_SEARCH_BAR (object); if (gtk_editable_delegate_set_property (object, prop_id, value, pspec)) { if (prop_id == N_PROPS + GTK_EDITABLE_PROP_EDITABLE) { gtk_accessible_update_property (GTK_ACCESSIBLE (self->search_text), GTK_ACCESSIBLE_PROPERTY_READ_ONLY, !g_value_get_boolean (value), -1); } return; } switch (prop_id) { case PROP_BUSY: bz_search_bar_set_busy (self, g_value_get_boolean (value)); break; case PROP_END_WIDGET: bz_search_bar_set_end_widget (self, GTK_WIDGET (g_value_get_object (value))); break; case PROP_PLACEHOLDER: bz_search_bar_set_placeholder (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_search_bar_class_init (BzSearchBarClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-search-bar.ui"); object_class->dispose = bz_search_bar_dispose; object_class->get_property = bz_search_bar_get_property; object_class->set_property = bz_search_bar_set_property; widget_class->grab_focus = bz_search_bar_grab_focus; widget_class->focus = bz_search_bar_focus; properties[PROP_BUSY] = g_param_spec_boolean ("busy", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); properties[PROP_END_WIDGET] = g_param_spec_object ("end-widget", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); properties[PROP_PLACEHOLDER] = g_param_spec_string ("placeholder", NULL, NULL, "", G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); signals[SIGNAL_SEARCH_ACTIVATED] = g_signal_new ( "search-activated", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0); signals[SIGNAL_SEARCH_CHANGED] = g_signal_new ( "search-changed", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0); g_object_class_install_properties (object_class, N_PROPS, properties); gtk_editable_install_properties (object_class, N_PROPS); gtk_widget_class_bind_template_child (widget_class, BzSearchBar, search_icon); gtk_widget_class_bind_template_child (widget_class, BzSearchBar, search_text); gtk_widget_class_bind_template_child (widget_class, BzSearchBar, search_busy); gtk_widget_class_bind_template_child (widget_class, BzSearchBar, clear_button); gtk_widget_class_bind_template_child (widget_class, BzSearchBar, end_widget_bin); gtk_widget_class_bind_template_callback (widget_class, text_activated_cb); gtk_widget_class_bind_template_callback (widget_class, text_changed_cb); gtk_widget_class_bind_template_callback (widget_class, has_text_cb); gtk_widget_class_bind_template_callback (widget_class, clear_text_cb); gtk_widget_class_bind_template_callback (widget_class, end_widget_focus_enter_cb); gtk_widget_class_bind_template_callback (widget_class, end_widget_focus_leave_cb); } static GtkEditable * bz_search_bar_get_delegate (GtkEditable *editable) { return GTK_EDITABLE (BZ_SEARCH_BAR (editable)->search_text); } static void bz_search_bar_editable_init (GtkEditableInterface *iface) { iface->get_delegate = bz_search_bar_get_delegate; } static gboolean bz_search_bar_accessible_get_platform_state (GtkAccessible *self, GtkAccessiblePlatformState state) { return gtk_editable_delegate_get_accessible_platform_state (GTK_EDITABLE (self), state); } static void bz_search_bar_accessible_init (GtkAccessibleInterface *iface) { GtkAccessibleInterface *parent_iface = g_type_interface_peek_parent (iface); iface->get_at_context = parent_iface->get_at_context; iface->get_platform_state = bz_search_bar_accessible_get_platform_state; } static void bz_search_bar_init (BzSearchBar *self) { gtk_widget_init_template (GTK_WIDGET (self)); gtk_editable_init_delegate (GTK_EDITABLE (self)); } gboolean bz_search_bar_get_busy (BzSearchBar *self) { g_return_val_if_fail (BZ_IS_SEARCH_BAR (self), FALSE); return self->busy; } void bz_search_bar_set_busy (BzSearchBar *self, gboolean busy) { g_return_if_fail (BZ_IS_SEARCH_BAR (self)); if (self->busy == busy) return; self->busy = busy; g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_BUSY]); } GtkWidget * bz_search_bar_get_end_widget (BzSearchBar *self) { g_return_val_if_fail (BZ_IS_SEARCH_BAR (self), NULL); return adw_bin_get_child (self->end_widget_bin); } void bz_search_bar_set_end_widget (BzSearchBar *self, GtkWidget *widget) { GtkWidget *end_widget; g_return_if_fail (BZ_IS_SEARCH_BAR (self)); g_return_if_fail (!widget || GTK_IS_WIDGET (widget)); end_widget = adw_bin_get_child (self->end_widget_bin); if (end_widget == widget) return; adw_bin_set_child (self->end_widget_bin, widget); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_END_WIDGET]); } const gchar * bz_search_bar_get_placeholder (BzSearchBar *self) { g_return_val_if_fail (BZ_IS_SEARCH_BAR (self), NULL); if (!self->search_text) return NULL; return gtk_text_get_placeholder_text (self->search_text); } void bz_search_bar_set_placeholder (BzSearchBar *self, const gchar *text) { g_return_if_fail (BZ_IS_SEARCH_BAR (self)); if (g_strcmp0 (bz_search_bar_get_placeholder (self), text) == 0) return; gtk_text_set_placeholder_text (self->search_text, text); gtk_accessible_update_property (GTK_ACCESSIBLE (self), GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER, text, -1); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_PLACEHOLDER]); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-bar.h�������������������������������������������������������0000664�0000000�0000000�00000002745�15234476640�0020656�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * bz-search-bar.h * * Copyright 2026 Zelda Ahmed <zoeyahmed10@proton.me> * * 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 <http://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_SEARCH_BAR (bz_search_bar_get_type ()) G_DECLARE_FINAL_TYPE (BzSearchBar, bz_search_bar, BZ, SEARCH_BAR, GtkWidget) BzSearchBar * bz_search_bar_new (void); gboolean bz_search_bar_get_busy (BzSearchBar *self); void bz_search_bar_set_busy (BzSearchBar *self, gboolean busy); GtkWidget * bz_search_bar_get_end_widget (BzSearchBar *self); void bz_search_bar_set_end_widget (BzSearchBar *self, GtkWidget *widget); const gchar * bz_search_bar_get_placeholder (BzSearchBar *self); void bz_search_bar_set_placeholder (BzSearchBar *self, const gchar *text); G_END_DECLS ���������������������������bazaar-org-bazaar-917017d/src/bz-search-bias.txt����������������������������������������������������0000664�0000000�0000000�00000000722�15234476640�0021411�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=search_bias parent-prefix=g parent-name=object author=AUTOGEN include=<gtk/gtk.h> include="bz-linear-function.h" include="bz-exponential-function.h" property=regex char G_TYPE_STRING string property=convert_to char G_TYPE_STRING string property=linear_boost BzLinearFunction BZ_TYPE_LINEAR_FUNCTION object property=exponential_boost BzExponentialFunction BZ_TYPE_EXPONENTIAL_FUNCTION object property=boost_appids GListModel G_TYPE_LIST_MODEL object ����������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-engine.c����������������������������������������������������0000664�0000000�0000000�00000065313�15234476640�0021352�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-engine.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::SEARCH-ENGINE" #include "bz-search-engine.h" #include "bz-entry-group.h" #include "bz-finished-search-query.h" #include "bz-search-result.h" #include "env.h" #include "util.h" struct _BzSearchEngine { GObject parent_instance; GListModel *model; GListModel *biases; GPtrArray *biases_mirror; }; G_DEFINE_FINAL_TYPE (BzSearchEngine, bz_search_engine, G_TYPE_OBJECT); enum { PROP_0, PROP_MODEL, PROP_BIASES, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void biases_changed (BzSearchEngine *self, guint position, guint removed, guint added, GListModel *model); static double test_strings (const char *query, const char *against, gssize accept_min_size); typedef struct { guint idx; double val; } Score; static gint cmp_scores (Score *a, Score *b); enum { LINEAR, EXPONENTIAL, }; BZ_DEFINE_DATA ( bias, Bias, { gboolean invalid; GRegex *regex; char *convert_to; GHashTable *boost; int boost_kind; union { struct { double slope; double y_intercept; } linear_boost; struct { double factor; double y_intercept; } exponential_boost; }; }, BZ_RELEASE_DATA (regex, g_regex_unref); BZ_RELEASE_DATA (convert_to, g_free); BZ_RELEASE_DATA (boost, g_hash_table_unref)); BZ_DEFINE_DATA ( query_task, QueryTask, { char **terms; GPtrArray *snapshot; GPtrArray *biases; }, BZ_RELEASE_DATA (terms, g_strfreev); BZ_RELEASE_DATA (snapshot, g_ptr_array_unref); BZ_RELEASE_DATA (biases, g_ptr_array_unref)) static DexFuture * query_task_fiber (QueryTaskData *data); BZ_DEFINE_DATA ( query_sub_task, QuerySubTask, { char *query_utf8; GPtrArray *shallow_mirror; double threshold; guint work_offset; guint work_length; GPtrArray *active_biases; }, BZ_RELEASE_DATA (query_utf8, g_free); BZ_RELEASE_DATA (shallow_mirror, g_ptr_array_unref); BZ_RELEASE_DATA (active_biases, g_ptr_array_unref)); static DexFuture * query_sub_task_fiber (QuerySubTaskData *data); static inline GUnicodeType utf8_char_class (const char *s, gunichar *ch_out); static inline const char * utf8_skip_to_next_of_class (const char **s, GUnicodeType class, gsize *read_utf8); static void bz_search_engine_dispose (GObject *object) { BzSearchEngine *self = BZ_SEARCH_ENGINE (object); if (self->biases != NULL) g_signal_handlers_disconnect_by_func (self->biases, biases_changed, self); g_clear_object (&self->model); g_clear_object (&self->biases); g_clear_pointer (&self->biases_mirror, g_ptr_array_unref); G_OBJECT_CLASS (bz_search_engine_parent_class)->dispose (object); } static void bz_search_engine_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSearchEngine *self = BZ_SEARCH_ENGINE (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, bz_search_engine_get_model (self)); break; case PROP_BIASES: g_value_set_object (value, bz_search_engine_get_biases (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_search_engine_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzSearchEngine *self = BZ_SEARCH_ENGINE (object); switch (prop_id) { case PROP_MODEL: bz_search_engine_set_model (self, g_value_get_object (value)); break; case PROP_BIASES: bz_search_engine_set_biases (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_search_engine_class_init (BzSearchEngineClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_search_engine_set_property; object_class->get_property = bz_search_engine_get_property; object_class->dispose = bz_search_engine_dispose; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_BIASES] = g_param_spec_object ( "biases", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_search_engine_init (BzSearchEngine *self) { self->biases_mirror = g_ptr_array_new_with_free_func (bias_data_unref); } BzSearchEngine * bz_search_engine_new (void) { return g_object_new (BZ_TYPE_SEARCH_ENGINE, NULL); } GListModel * bz_search_engine_get_biases (BzSearchEngine *self) { g_return_val_if_fail (BZ_IS_SEARCH_ENGINE (self), NULL); return self->biases; } void bz_search_engine_set_biases (BzSearchEngine *self, GListModel *biases) { g_return_if_fail (BZ_IS_SEARCH_ENGINE (self)); g_return_if_fail (biases == NULL || G_IS_LIST_MODEL (biases)); if (self->biases != NULL) g_signal_handlers_disconnect_by_func (self->biases, biases_changed, self); g_clear_object (&self->biases); g_ptr_array_set_size (self->biases_mirror, 0); if (biases != NULL) { guint n_biases = 0; self->biases = g_object_ref (biases); n_biases = g_list_model_get_n_items (biases); biases_changed (self, 0, 0, n_biases, biases); g_signal_connect_swapped ( biases, "items-changed", G_CALLBACK (biases_changed), self); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_BIASES]); } GListModel * bz_search_engine_get_model (BzSearchEngine *self) { g_return_val_if_fail (BZ_IS_SEARCH_ENGINE (self), NULL); return self->model; } void bz_search_engine_set_model (BzSearchEngine *self, GListModel *model) { g_return_if_fail (BZ_IS_SEARCH_ENGINE (self)); g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); g_clear_object (&self->model); if (model != NULL) self->model = g_object_ref (model); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); } DexFuture * bz_search_engine_query (BzSearchEngine *self, const char *const *terms) { guint n_groups = 0; dex_return_error_if_fail (BZ_IS_SEARCH_ENGINE (self)); dex_return_error_if_fail (terms != NULL && *terms != NULL); if (self->model != NULL) n_groups = g_list_model_get_n_items (self->model); if (self->model == NULL || n_groups == 0 || **terms == '\0') { g_autoptr (GPtrArray) results = NULL; g_autoptr (BzFinishedSearchQuery) finished = NULL; results = g_ptr_array_new_with_free_func (g_object_unref); g_ptr_array_set_size (results, n_groups); for (guint i = 0; i < results->len; i++) { g_autoptr (BzEntryGroup) group = NULL; g_autoptr (BzSearchResult) result = NULL; group = g_list_model_get_item (self->model, i); result = bz_search_result_new (); bz_search_result_set_group (result, group); bz_search_result_set_original_index (result, i); g_ptr_array_index (results, i) = g_steal_pointer (&result); } finished = bz_finished_search_query_new (); bz_finished_search_query_set_interpreted_query (finished, ""); bz_finished_search_query_set_results (finished, results); bz_finished_search_query_set_n_results (finished, n_groups); bz_finished_search_query_set_elapsed (finished, 0.0); return dex_future_new_for_object (finished); } else { g_autoptr (GPtrArray) snapshot = NULL; g_autoptr (QueryTaskData) data = NULL; snapshot = g_ptr_array_new_with_free_func (g_object_unref); g_ptr_array_set_size (snapshot, n_groups); for (guint i = 0; i < snapshot->len; i++) g_ptr_array_index (snapshot, i) = g_list_model_get_item (self->model, i); data = query_task_data_new (); data->terms = g_strdupv ((gchar **) terms); data->snapshot = g_steal_pointer (&snapshot); data->biases = g_ptr_array_ref (self->biases_mirror); return dex_scheduler_spawn ( dex_thread_pool_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) query_task_fiber, query_task_data_ref (data), query_task_data_unref); } } static void biases_changed (BzSearchEngine *self, guint position, guint removed, guint added, GListModel *model) { g_autoptr (GPtrArray) new_mirror = NULL; /* Since `self->biases_mirror` is used in other threads, it should be immutable after its construction; so we have to make a new mirror upon every change */ new_mirror = g_ptr_array_new_with_free_func (bias_data_unref); g_ptr_array_set_size (new_mirror, self->biases_mirror->len + added - removed); #define COPY_OVER(_old_idx, _new_idx, _len) \ for (guint _i = 0; _i < (_len); _i++) \ { \ BiasData *_data = NULL; \ BiasData **_loc = NULL; \ \ _data = g_ptr_array_index (self->biases_mirror, (_old_idx) + _i); \ _loc = (BiasData **) &g_ptr_array_index (new_mirror, (_new_idx) + _i); \ *_loc = bias_data_ref (_data); \ } COPY_OVER (0, 0, position); COPY_OVER (position + removed, position + added, self->biases_mirror->len - (position + removed)); #undef COPY_OVER for (guint i = 0; i < added; i++) { g_autoptr (GError) local_error = NULL; BiasData **loc = NULL; g_autoptr (BzSearchBias) bias = NULL; const char *regex_string = NULL; const char *convert_to = NULL; GListModel *boost_appids = NULL; BzLinearFunction *linear_function = NULL; BzExponentialFunction *exponential_function = NULL; g_autoptr (GRegex) regex = NULL; g_autoptr (GHashTable) boost = NULL; g_autoptr (BiasData) data = NULL; loc = (BiasData **) &g_ptr_array_index (new_mirror, position + i); bias = g_list_model_get_item (model, position + i); regex_string = bz_search_bias_get_regex (bias); convert_to = bz_search_bias_get_convert_to (bias); boost_appids = bz_search_bias_get_boost_appids (bias); linear_function = bz_search_bias_get_linear_boost (bias); exponential_function = bz_search_bias_get_exponential_boost (bias); #define SKIP() \ G_STMT_START \ { \ g_autoptr (BiasData) _data = NULL; \ \ _data = bias_data_new (); \ _data->invalid = TRUE; \ *loc = bias_data_ref (_data); \ } \ G_STMT_END if (regex_string == NULL || (convert_to == NULL && (boost_appids == NULL || (linear_function == NULL && exponential_function == NULL)))) { g_critical ("Bias is incomplete! Skipping..."); SKIP (); continue; } if (linear_function != NULL && exponential_function != NULL) { g_critical ("Search bias can only have one boost function! Skipping..."); SKIP (); continue; } regex = g_regex_new ( regex_string, G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &local_error); if (regex == NULL) { g_critical ("Bias regex \"%s\" is invalid: %s", regex_string, local_error->message); SKIP (); continue; } #undef SKIP if (boost_appids != NULL) { guint n_appids = 0; n_appids = g_list_model_get_n_items (boost_appids); if (n_appids > 0) { boost = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); for (guint j = 0; j < n_appids; j++) { g_autoptr (GtkStringObject) string = NULL; const char *appid = NULL; string = g_list_model_get_item (boost_appids, j); appid = gtk_string_object_get_string (string); g_hash_table_replace (boost, g_strdup (appid), NULL); } } } data = bias_data_new (); data->regex = g_regex_ref (regex); data->convert_to = bz_maybe_strdup (convert_to); data->boost = bz_maybe_ref (boost, g_hash_table_ref); if (linear_function != NULL) { data->boost_kind = LINEAR; data->linear_boost.slope = bz_linear_function_get_slope (linear_function); data->linear_boost.y_intercept = bz_linear_function_get_y_intercept (linear_function); } if (exponential_function != NULL) { data->boost_kind = EXPONENTIAL; data->exponential_boost.factor = bz_exponential_function_get_factor (exponential_function); data->exponential_boost.y_intercept = bz_exponential_function_get_y_intercept (exponential_function); } *loc = bias_data_ref (data); } g_clear_pointer (&self->biases_mirror, g_ptr_array_unref); self->biases_mirror = g_steal_pointer (&new_mirror); } static DexFuture * query_task_fiber (QueryTaskData *data) { char **terms = data->terms; GPtrArray *shallow_mirror = data->snapshot; GPtrArray *biases = data->biases; g_autoptr (GError) local_error = NULL; gboolean result = FALSE; g_autoptr (GTimer) timer = NULL; g_autofree char *query_utf8 = NULL; guint n_sub_tasks = 0; guint scores_per_task = 0; g_autoptr (GPtrArray) active_biases = NULL; g_autoptr (GPtrArray) sub_futures = NULL; g_autoptr (GArray) scores = NULL; g_autoptr (GPtrArray) results = NULL; g_autoptr (BzFinishedSearchQuery) finished = NULL; timer = g_timer_new (); query_utf8 = g_strjoinv (" ", terms); n_sub_tasks = MAX (1, MIN (shallow_mirror->len / 512, g_get_num_processors ())); scores_per_task = shallow_mirror->len / n_sub_tasks; active_biases = g_ptr_array_new_with_free_func (bias_data_unref); for (guint i = 0; i < biases->len; i++) { BiasData *bias = NULL; bias = g_ptr_array_index (biases, i); if (bias->invalid) continue; if (!g_regex_match (bias->regex, query_utf8, G_REGEX_MATCH_DEFAULT, NULL)) continue; if (bias->convert_to != NULL) { g_autofree char *tmp = NULL; tmp = g_regex_replace ( bias->regex, query_utf8, -1, 0, bias->convert_to, G_REGEX_MATCH_DEFAULT, NULL); if (tmp != NULL) { g_clear_pointer (&query_utf8, g_free); query_utf8 = g_steal_pointer (&tmp); } } g_ptr_array_add (active_biases, bias_data_ref (bias)); } sub_futures = g_ptr_array_new_with_free_func (dex_unref); for (guint i = 0; i < n_sub_tasks; i++) { g_autoptr (QuerySubTaskData) sub_data = NULL; g_autoptr (DexFuture) future = NULL; sub_data = query_sub_task_data_new (); sub_data->query_utf8 = g_strdup (query_utf8); sub_data->shallow_mirror = g_ptr_array_ref (shallow_mirror); sub_data->threshold = 1.0; sub_data->work_offset = i * scores_per_task; sub_data->work_length = scores_per_task; sub_data->active_biases = g_ptr_array_ref (active_biases); if (i >= n_sub_tasks - 1) sub_data->work_length += shallow_mirror->len % n_sub_tasks; future = dex_scheduler_spawn ( dex_thread_pool_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) query_sub_task_fiber, query_sub_task_data_ref (sub_data), query_sub_task_data_unref); g_ptr_array_add (sub_futures, g_steal_pointer (&future)); } result = dex_await (dex_future_allv ( (DexFuture *const *) sub_futures->pdata, sub_futures->len), &local_error); if (!result) return dex_future_new_for_error (g_steal_pointer (&local_error)); scores = g_array_new (FALSE, FALSE, sizeof (Score)); for (guint i = 0; i < sub_futures->len; i++) { DexFuture *future = NULL; GArray *scores_out = NULL; future = g_ptr_array_index (sub_futures, i); scores_out = g_value_get_boxed (dex_future_get_value (future, NULL)); if (scores_out->len > 0) g_array_append_vals (scores, scores_out->data, scores_out->len); } if (scores->len > 0) g_array_sort (scores, (GCompareFunc) cmp_scores); results = g_ptr_array_new_with_free_func (g_object_unref); g_ptr_array_set_size (results, scores->len); for (guint i = 0; i < scores->len; i++) { Score *score = NULL; BzEntryGroup *group = NULL; g_autoptr (BzSearchResult) search_result = NULL; score = &g_array_index (scores, Score, i); group = g_ptr_array_index (shallow_mirror, score->idx); search_result = bz_search_result_new (); bz_search_result_set_group (search_result, group); bz_search_result_set_original_index (search_result, score->idx); bz_search_result_set_score (search_result, score->val); g_ptr_array_index (results, i) = g_steal_pointer (&search_result); } finished = bz_finished_search_query_new (); bz_finished_search_query_set_interpreted_query (finished, query_utf8); bz_finished_search_query_set_results (finished, results); bz_finished_search_query_set_n_results (finished, results->len); bz_finished_search_query_set_elapsed (finished, g_timer_elapsed (timer, NULL)); return dex_future_new_for_object (finished); } static DexFuture * query_sub_task_fiber (QuerySubTaskData *data) { GPtrArray *shallow_mirror = data->shallow_mirror; char *query_utf8 = data->query_utf8; double threshold = data->threshold; guint work_offset = data->work_offset; guint work_length = data->work_length; GPtrArray *active_biases = data->active_biases; g_autoptr (GArray) scores_out = NULL; scores_out = g_array_new (FALSE, FALSE, sizeof (Score)); for (guint i = 0; i < work_length; i++) { g_autoptr (GMutexLocker) locker = NULL; BzEntryGroup *group = NULL; const char *id = NULL; const char *title = NULL; double score = 0.0; group = g_ptr_array_index (shallow_mirror, work_offset + i); locker = bz_entry_group_lock (group); if (!bz_entry_group_is_searchable (group)) continue; id = bz_entry_group_get_id (group); title = bz_entry_group_get_title (group); if ((id != NULL && g_strcmp0 (query_utf8, id) == 0) || (title != NULL && strcasecmp (query_utf8, title) == 0)) score = (double) G_MAXINT; else { const char *developer = NULL; const char *description = NULL; const char *search_tokens = NULL; developer = bz_entry_group_get_developer (group); description = bz_entry_group_get_description (group); search_tokens = bz_entry_group_get_search_tokens (group); #define EVALUATE_STRING(_s, _accept_min_size) \ ((_s) != NULL \ ? (test_strings (query_utf8, (_s), (_accept_min_size))) \ : 0.0) score += EVALUATE_STRING (title, 2) * 2.0; score += EVALUATE_STRING (developer, 2) * 1.0; score += EVALUATE_STRING (description, 3) * 1.0; score += EVALUATE_STRING (search_tokens, -1) * 1.5; #undef EVALUATE_STRING } for (guint j = 0; j < active_biases->len; j++) { BiasData *bias = NULL; bias = g_ptr_array_index (active_biases, j); if (bias->boost == NULL) continue; if (!g_hash_table_contains (bias->boost, id)) continue; switch (bias->boost_kind) { case LINEAR: score = bias->linear_boost.slope * score + bias->linear_boost.y_intercept; break; case EXPONENTIAL: score = pow (bias->exponential_boost.factor, score) * bias->exponential_boost.y_intercept; break; default: break; } } if (score > threshold) { Score append = { 0 }; append.idx = work_offset + i; append.val = score; g_array_append_val (scores_out, append); } } return dex_future_new_take_boxed (G_TYPE_ARRAY, g_steal_pointer (&scores_out)); } #define UTF8_FOREACH_FORWARD(_var, _s) \ for (const char *_var = (_s); \ _var != NULL && *_var != '\0'; \ _var = g_utf8_next_char (_var)) #define UTF8_FOREACH_FORWARD_WITH_END(_var, _s, _end) \ for (const char *_var = (_s); \ _var != NULL && *_var != '\0' && _var < (_end); \ _var = g_utf8_next_char (_var)) #define UTF8_FOREACH_BACKWARD(_var, _s, _start) \ for (const char *_var = (_s); \ _var != NULL && _var >= (_start); \ _var = g_utf8_prev_char (_var)) #define UTF8_FOREACH_TOKEN_FORWARDS(_start_var, _end_var, _s, _token_len) \ for (const char *_start_var = (_s), *_end_var = utf8_skip_to_next_of_class (&_start_var, G_UNICODE_SPACE_SEPARATOR, (_token_len)); \ _start_var != NULL && *_start_var != '\0'; \ _start_var = _end_var, _end_var = utf8_skip_to_next_of_class (&_start_var, G_UNICODE_SPACE_SEPARATOR, (_token_len))) static double test_strings (const char *query, const char *against, gssize accept_min_size) { double score = 0.0; gsize query_tok_utf8_len = 0; gsize against_tok_utf8_len = 0; UTF8_FOREACH_TOKEN_FORWARDS (query_tok_start, query_tok_end, query, &query_tok_utf8_len) { gboolean query_token_has_match = FALSE; UTF8_FOREACH_TOKEN_FORWARDS (against_tok_start, against_tok_end, against, &against_tok_utf8_len) { gboolean match = FALSE; gsize consumed = 0; if (accept_min_size > 0 && against_tok_utf8_len < accept_min_size) continue; UTF8_FOREACH_FORWARD_WITH_END (against_ptr, against_tok_start, against_tok_end) { const char *against_check_ptr = NULL; gunichar against_ch = 0; if (query_tok_utf8_len > against_tok_utf8_len - consumed) break; match = TRUE; against_check_ptr = against_ptr; against_ch = g_unichar_tolower (g_utf8_get_char (against_ptr)); UTF8_FOREACH_FORWARD_WITH_END (query_ptr, query_tok_start, query_tok_end) { gunichar query_ch = 0; query_ch = g_unichar_tolower (g_utf8_get_char (query_ptr)); if (against_ch != query_ch) { match = FALSE; break; } against_check_ptr = g_utf8_next_char (against_check_ptr); against_ch = g_unichar_tolower (g_utf8_get_char (against_check_ptr)); } if (match) break; else consumed++; } if (match) { score += (double) (query_tok_utf8_len * query_tok_utf8_len) / (double) against_tok_utf8_len; query_token_has_match = TRUE; } } if (!query_token_has_match) { score = 0.0; break; } } return score; } static inline GUnicodeType utf8_char_class (const char *s, gunichar *ch_out) { gunichar ch = 0; GUnicodeType cl = 0; ch = g_utf8_get_char (s); cl = g_unichar_type (ch); if (ch_out != NULL) *ch_out = ch; return cl; } static inline const char * utf8_skip_to_next_of_class (const char **s, GUnicodeType class, gsize *read_utf8) { gboolean skipped = FALSE; if (read_utf8 != NULL) *read_utf8 = 0; UTF8_FOREACH_FORWARD (p, *s) { if (utf8_char_class (p, NULL) == class) { if (skipped) return p; } else { if (!skipped) { *s = p; skipped = TRUE; } if (read_utf8 != NULL) (*read_utf8)++; } } /* return the end of the string if nothing was found */ return *s + strlen (*s); } static gint cmp_scores (Score *a, Score *b) { return (b->val - a->val < 0.0) ? -1 : 1; } /* End of bz-search-engine.c */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-engine.h����������������������������������������������������0000664�0000000�0000000�00000002774�15234476640�0021361�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-engine.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include <libdex.h> G_BEGIN_DECLS #define BZ_TYPE_SEARCH_ENGINE (bz_search_engine_get_type ()) G_DECLARE_FINAL_TYPE (BzSearchEngine, bz_search_engine, BZ, SEARCH_ENGINE, GObject) BzSearchEngine * bz_search_engine_new (void); GListModel * bz_search_engine_get_model (BzSearchEngine *self); void bz_search_engine_set_model (BzSearchEngine *self, GListModel *model); GListModel * bz_search_engine_get_biases (BzSearchEngine *self); void bz_search_engine_set_biases (BzSearchEngine *self, GListModel *biases); DexFuture * bz_search_engine_query (BzSearchEngine *self, const char *const *terms); G_END_DECLS /* End of bz-search-engine.h */ ����bazaar-org-bazaar-917017d/src/bz-search-filter-popover.blp������������������������������������������0000664�0000000�0000000�00000003255�15234476640�0023412�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzSearchFilterPopover: Gtk.Popover { child: ScrolledWindow { propagate-natural-height: true; propagate-natural-width: true; child: Box { orientation: vertical; spacing: 12; margin-top: 12; margin-bottom: 12; margin-start: 12; margin-end: 12; Label { label: _("Filters"); halign: start; styles [ "heading", ] } Adw.WrapBox { justify: fill; child-spacing: 6; line-spacing: 6; natural-line-length: 320; justify-last-line: false; Button verified_button { name: "verified"; label: _("_Verified"); clicked => $on_filter_button_clicked(); use-underline: true; } Button free_button { name: "free"; label: _("_Free/Open"); clicked => $on_filter_button_clicked(); use-underline: true; } Button non_eol_button { name: "non-eol"; label: _("Non-_EOL"); clicked => $on_filter_button_clicked(); use-underline: true; tooltip-text: _("Filter out End-of-Life apps"); } Button mobile_button { name: "mobile"; label: _("_Mobile Friendly"); clicked => $on_filter_button_clicked(); use-underline: true; } } Label { label: _("Categories"); halign: start; styles [ "heading", ] } Adw.WrapBox wrap_box { justify: fill; child-spacing: 6; line-spacing: 6; natural-line-length: 320; } }; }; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-filter-popover.c��������������������������������������������0000664�0000000�0000000�00000040426�15234476640�0023060�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-filter-popover.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-application.h" #include "bz-category-flags.h" #include "bz-flathub-category.h" #include "bz-flathub-state.h" #include "bz-search-filter-popover.h" #include "bz-state-info.h" struct _BzSearchFilterPopover { GtkPopover parent_instance; BzCategoryFlags selected_categories; gboolean only_verified; gboolean only_free; gboolean only_non_eol; gboolean only_mobile; gboolean has_active_filters; gboolean state_forced_verified; gboolean state_forced_free; gboolean state_forced_non_eol; AdwWrapBox *wrap_box; GtkWidget *verified_button; GtkWidget *free_button; GtkWidget *non_eol_button; GtkWidget *mobile_button; }; G_DEFINE_FINAL_TYPE (BzSearchFilterPopover, bz_search_filter_popover, GTK_TYPE_POPOVER) enum { PROP_0, PROP_SELECTED_CATEGORIES, PROP_ONLY_VERIFIED, PROP_ONLY_FREE, PROP_ONLY_NON_EOL, PROP_ONLY_MOBILE, PROP_HAS_ACTIVE_FILTERS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void update_has_active_filters (BzSearchFilterPopover *self); static void apply_filter_button (BzSearchFilterPopover *self, guint prop, gboolean value, gboolean from_state); static void sync_from_state (BzSearchFilterPopover *self, const char *property); static void on_state_setting_changed (BzSearchFilterPopover *self, GParamSpec *pspec, BzStateInfo *state); static void on_state_flathub_changed (BzSearchFilterPopover *self, GParamSpec *pspec, BzStateInfo *state); static void on_category_button_clicked (GtkButton *button, gpointer user_data); static void rebuild_category_buttons (BzSearchFilterPopover *self); static void on_filter_button_clicked (GtkButton *button, gpointer user_data); static void bz_search_filter_popover_dispose (GObject *object) { BzSearchFilterPopover *self = BZ_SEARCH_FILTER_POPOVER (object); BzStateInfo *state = NULL; state = bz_state_info_get_default (); if (state != NULL) g_signal_handlers_disconnect_by_data (state, self); gtk_widget_dispose_template (GTK_WIDGET (object), BZ_TYPE_SEARCH_FILTER_POPOVER); G_OBJECT_CLASS (bz_search_filter_popover_parent_class)->dispose (object); } static void bz_search_filter_popover_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSearchFilterPopover *self = BZ_SEARCH_FILTER_POPOVER (object); switch (prop_id) { case PROP_SELECTED_CATEGORIES: g_value_set_flags (value, self->selected_categories); break; case PROP_ONLY_VERIFIED: g_value_set_boolean (value, self->only_verified); break; case PROP_ONLY_FREE: g_value_set_boolean (value, self->only_free); break; case PROP_ONLY_NON_EOL: g_value_set_boolean (value, self->only_non_eol); break; case PROP_ONLY_MOBILE: g_value_set_boolean (value, self->only_mobile); break; case PROP_HAS_ACTIVE_FILTERS: g_value_set_boolean (value, self->has_active_filters); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_search_filter_popover_class_init (BzSearchFilterPopoverClass *klass) { GObjectClass *object_class = NULL; GtkWidgetClass *widget_class = NULL; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_search_filter_popover_dispose; object_class->get_property = bz_search_filter_popover_get_property; props[PROP_SELECTED_CATEGORIES] = g_param_spec_flags ( "selected-categories", NULL, NULL, BZ_TYPE_CATEGORY_FLAGS, BZ_CATEGORY_FLAGS_NONE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ONLY_VERIFIED] = g_param_spec_boolean ( "only-verified", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ONLY_FREE] = g_param_spec_boolean ( "only-free", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ONLY_NON_EOL] = g_param_spec_boolean ( "only-non-eol", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_ONLY_MOBILE] = g_param_spec_boolean ( "only-mobile", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_HAS_ACTIVE_FILTERS] = g_param_spec_boolean ( "has-active-filters", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-search-filter-popover.ui"); gtk_widget_class_bind_template_child (widget_class, BzSearchFilterPopover, wrap_box); gtk_widget_class_bind_template_child (widget_class, BzSearchFilterPopover, verified_button); gtk_widget_class_bind_template_child (widget_class, BzSearchFilterPopover, free_button); gtk_widget_class_bind_template_child (widget_class, BzSearchFilterPopover, non_eol_button); gtk_widget_class_bind_template_child (widget_class, BzSearchFilterPopover, mobile_button); gtk_widget_class_bind_template_callback (widget_class, on_filter_button_clicked); } static void bz_search_filter_popover_init (BzSearchFilterPopover *self) { BzStateInfo *state = NULL; gtk_widget_init_template (GTK_WIDGET (self)); state = bz_state_info_get_default (); g_signal_connect_swapped (state, "notify::show-only-verified", G_CALLBACK (on_state_setting_changed), self); g_signal_connect_swapped (state, "notify::show-only-foss", G_CALLBACK (on_state_setting_changed), self); g_signal_connect_swapped (state, "notify::hide-eol", G_CALLBACK (on_state_setting_changed), self); g_signal_connect_swapped (state, "notify::flathub", G_CALLBACK (on_state_flathub_changed), self); sync_from_state (self, NULL); rebuild_category_buttons (self); } GtkWidget * bz_search_filter_popover_new (void) { return g_object_new (BZ_TYPE_SEARCH_FILTER_POPOVER, NULL); } BzCategoryFlags bz_search_filter_popover_get_selected_categories (BzSearchFilterPopover *self) { g_return_val_if_fail (BZ_IS_SEARCH_FILTER_POPOVER (self), BZ_CATEGORY_FLAGS_NONE); return self->selected_categories; } gboolean bz_search_filter_popover_get_only_verified (BzSearchFilterPopover *self) { g_return_val_if_fail (BZ_IS_SEARCH_FILTER_POPOVER (self), FALSE); return self->only_verified; } gboolean bz_search_filter_popover_get_only_free (BzSearchFilterPopover *self) { g_return_val_if_fail (BZ_IS_SEARCH_FILTER_POPOVER (self), FALSE); return self->only_free; } gboolean bz_search_filter_popover_get_only_non_eol (BzSearchFilterPopover *self) { g_return_val_if_fail (BZ_IS_SEARCH_FILTER_POPOVER (self), FALSE); return self->only_non_eol; } gboolean bz_search_filter_popover_get_only_mobile (BzSearchFilterPopover *self) { g_return_val_if_fail (BZ_IS_SEARCH_FILTER_POPOVER (self), FALSE); return self->only_mobile; } void bz_search_filter_popover_clear (BzSearchFilterPopover *self) { GtkWidget *child = NULL; g_return_if_fail (BZ_IS_SEARCH_FILTER_POPOVER (self)); if (!self->state_forced_verified) apply_filter_button (self, PROP_ONLY_VERIFIED, FALSE, FALSE); if (!self->state_forced_free) apply_filter_button (self, PROP_ONLY_FREE, FALSE, FALSE); if (!self->state_forced_non_eol) apply_filter_button (self, PROP_ONLY_NON_EOL, FALSE, FALSE); apply_filter_button (self, PROP_ONLY_MOBILE, FALSE, FALSE); for (child = gtk_widget_get_first_child (GTK_WIDGET (self->wrap_box)); child != NULL; child = gtk_widget_get_next_sibling (child)) gtk_widget_remove_css_class (child, "accent"); if (self->selected_categories != BZ_CATEGORY_FLAGS_NONE) { self->selected_categories = BZ_CATEGORY_FLAGS_NONE; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_CATEGORIES]); update_has_active_filters (self); } } static void update_has_active_filters (BzSearchFilterPopover *self) { gboolean active = FALSE; active = (self->only_verified && !self->state_forced_verified) || (self->only_free && !self->state_forced_free) || (self->only_non_eol && !self->state_forced_non_eol) || self->only_mobile || self->selected_categories != BZ_CATEGORY_FLAGS_NONE; if (self->has_active_filters == active) return; self->has_active_filters = active; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_ACTIVE_FILTERS]); } static void apply_filter_button (BzSearchFilterPopover *self, guint prop, gboolean value, gboolean from_state) { struct { guint prop; gboolean *field; GtkWidget **button; } map[] = { { PROP_ONLY_VERIFIED, &self->only_verified, &self->verified_button }, { PROP_ONLY_FREE, &self->only_free, &self->free_button }, { PROP_ONLY_NON_EOL, &self->only_non_eol, &self->non_eol_button }, { PROP_ONLY_MOBILE, &self->only_mobile, &self->mobile_button }, }; for (guint i = 0; i < G_N_ELEMENTS (map); i++) { if (map[i].prop != prop) continue; if (*map[i].field != value) { *map[i].field = value; g_object_notify_by_pspec (G_OBJECT (self), props[prop]); } if (value) gtk_widget_add_css_class (*map[i].button, "accent"); else gtk_widget_remove_css_class (*map[i].button, "accent"); if (from_state) gtk_widget_set_sensitive (*map[i].button, !value); return; } } static void sync_from_state (BzSearchFilterPopover *self, const char *property) { BzStateInfo *state = NULL; state = bz_state_info_get_default (); if (state == NULL) return; if (property == NULL || g_strcmp0 (property, "show-only-verified") == 0) { g_object_get (state, "show-only-verified", &self->state_forced_verified, NULL); apply_filter_button (self, PROP_ONLY_VERIFIED, self->state_forced_verified, TRUE); } if (property == NULL || g_strcmp0 (property, "show-only-foss") == 0) { g_object_get (state, "show-only-foss", &self->state_forced_free, NULL); apply_filter_button (self, PROP_ONLY_FREE, self->state_forced_free, TRUE); } if (property == NULL || g_strcmp0 (property, "hide-eol") == 0) { g_object_get (state, "hide-eol", &self->state_forced_non_eol, NULL); apply_filter_button (self, PROP_ONLY_NON_EOL, self->state_forced_non_eol, TRUE); } update_has_active_filters (self); } static void on_state_setting_changed (BzSearchFilterPopover *self, GParamSpec *pspec, BzStateInfo *state) { sync_from_state (self, pspec->name); } static void on_state_flathub_changed (BzSearchFilterPopover *self, GParamSpec *pspec, BzStateInfo *state) { rebuild_category_buttons (self); } static void on_filter_button_clicked (GtkButton *button, gpointer user_data) { BzSearchFilterPopover *self = BZ_SEARCH_FILTER_POPOVER (user_data); const char *name = NULL; name = gtk_widget_get_name (GTK_WIDGET (button)); if (g_str_equal (name, "verified")) apply_filter_button (self, PROP_ONLY_VERIFIED, !self->only_verified, FALSE); else if (g_str_equal (name, "free")) apply_filter_button (self, PROP_ONLY_FREE, !self->only_free, FALSE); else if (g_str_equal (name, "non-eol")) apply_filter_button (self, PROP_ONLY_NON_EOL, !self->only_non_eol, FALSE); else if (g_str_equal (name, "mobile")) apply_filter_button (self, PROP_ONLY_MOBILE, !self->only_mobile, FALSE); update_has_active_filters (self); } static void on_category_button_clicked (GtkButton *button, gpointer user_data) { BzSearchFilterPopover *self = BZ_SEARCH_FILTER_POPOVER (user_data); BzCategoryFlags flag = BZ_CATEGORY_FLAGS_NONE; flag = (BzCategoryFlags) GPOINTER_TO_SIZE ( g_object_get_data (G_OBJECT (button), "category-flag")); self->selected_categories ^= flag; if (self->selected_categories & flag) gtk_widget_add_css_class (GTK_WIDGET (button), "accent"); else gtk_widget_remove_css_class (GTK_WIDGET (button), "accent"); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_CATEGORIES]); update_has_active_filters (self); } static void rebuild_category_buttons (BzSearchFilterPopover *self) { g_autoptr (BzFlathubState) flathub = NULL; g_autoptr (GListModel) categories = NULL; BzStateInfo *state = NULL; GtkWidget *child = NULL; while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->wrap_box))) != NULL) adw_wrap_box_remove (self->wrap_box, child); state = bz_state_info_get_default (); if (state == NULL) return; g_object_get (state, "flathub", &flathub, NULL); if (flathub == NULL) return; g_object_get (flathub, "categories", &categories, NULL); if (categories == NULL) return; for (guint i = 0; i < g_list_model_get_n_items (categories); i++) { g_autoptr (BzFlathubCategory) category = NULL; const char *name = NULL; const char *label = NULL; const char *icon = NULL; GtkWidget *button = NULL; GtkWidget *content = NULL; BzCategoryFlags flag = BZ_CATEGORY_FLAGS_NONE; category = g_list_model_get_item (categories, i); if (!bz_flathub_category_get_is_xdg (category)) continue; name = bz_flathub_category_get_name (category); label = bz_flathub_category_get_short_name (category); icon = bz_flathub_category_get_symbolic_icon_name (category); flag = bz_category_flags_from_name (name); content = g_object_new (ADW_TYPE_BUTTON_CONTENT, "label", label, "icon-name", icon ? icon : "", NULL); button = gtk_button_new (); gtk_button_set_child (GTK_BUTTON (button), content); gtk_accessible_update_property (GTK_ACCESSIBLE (button), GTK_ACCESSIBLE_PROPERTY_LABEL, label, -1); g_object_set_data (G_OBJECT (button), "category-flag", GSIZE_TO_POINTER ((gsize) flag)); if (self->selected_categories & flag) gtk_widget_add_css_class (button, "accent"); g_signal_connect (button, "clicked", G_CALLBACK (on_category_button_clicked), self); adw_wrap_box_append (self->wrap_box, button); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-filter-popover.h��������������������������������������������0000664�0000000�0000000�00000003074�15234476640�0023063�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-filter-popover.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-category-flags.h" #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_SEARCH_FILTER_POPOVER (bz_search_filter_popover_get_type ()) G_DECLARE_FINAL_TYPE (BzSearchFilterPopover, bz_search_filter_popover, BZ, SEARCH_FILTER_POPOVER, GtkPopover) GtkWidget * bz_search_filter_popover_new (void); BzCategoryFlags bz_search_filter_popover_get_selected_categories (BzSearchFilterPopover *self); gboolean bz_search_filter_popover_get_only_verified (BzSearchFilterPopover *self); gboolean bz_search_filter_popover_get_only_free (BzSearchFilterPopover *self); gboolean bz_search_filter_popover_get_only_non_eol (BzSearchFilterPopover *self); gboolean bz_search_filter_popover_get_only_mobile (BzSearchFilterPopover *self); void bz_search_filter_popover_clear (BzSearchFilterPopover *self); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-page.blp����������������������������������������������������0000664�0000000�0000000�00000023436�15234476640�0021354�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzSearchPage: Adw.Bin { child: Adw.BreakpointBin { width-request: 360; height-request: 100; Adw.Breakpoint { condition ("max-width: 1000sp") setters { grid_view.min-columns: 2; grid_view.max-columns: 2; clamp_scrollable.maximum-size: 700; } } Adw.Breakpoint { condition ("max-width: 700sp") setters { empty_box.margin-start: 10; empty_box.margin-end: 10; empty_box.margin-top: 5; search_box_clamp.margin-start: 12; search_box_clamp.margin-end: 12; grid_view.min-columns: 1; grid_view.max-columns: 1; clamp_scrollable.maximum-size: 400; } } child: Box { orientation: vertical; Adw.Clamp search_box_clamp { margin-start: 12; margin-end: 12; margin-top: 10; margin-bottom: 10; maximum-size: 375; child: $BzSearchBar search_bar { placeholder: _("Search Apps, Games, Software"); search-activated => $search_activate(template); search-changed => $search_changed(template); end-widget: MenuButton filter_button { visible: bind $is_valid_string(search_bar.text) as <bool>; icon-name: "sliders-horizontal-symbolic"; tooltip-text: _("Search Filters"); valign: center; popover: $BzSearchFilterPopover filter_popover { notify::has-active-filters => $has_active_filters_cb(); }; styles [ "flat", "circular", "searchbar-button", ] accessibility { label: _("Filters"); } }; }; } Adw.Clamp { margin-start: 12; margin-end: 12; maximum-size: 375; child: Box { margin-start: 12; margin-end: 12; margin-top: 6; margin-bottom: 6; styles [ "bz-debug", ] orientation: vertical; spacing: 5; visible: bind template.state as <$BzStateInfo>.debug_mode; Box { orientation: horizontal; spacing: 10; Label { label: "Interpreted Query:"; } Label { styles [ "caption-heading", ] label: bind template.current-query as <$BzFinishedSearchQuery>.interpreted-query; } } Box { orientation: horizontal; spacing: 10; Label { label: "# of Results:"; } Label { styles [ "caption-heading", ] label: bind $format_uint(template.current-query as <$BzFinishedSearchQuery>.n-results as <uint>) as <string>; } } Box { orientation: horizontal; spacing: 10; Label { label: "Seconds Elapsed:"; } Label { styles [ "caption-heading", ] label: bind $format_double(template.current-query as <$BzFinishedSearchQuery>.elapsed as <double>) as <string>; } } }; } Stack search_stack { transition-type: crossfade; StackPage { name: "empty"; child: Box { orientation: vertical; vexpand: true; ScrolledWindow { hscrollbar-policy: never; vexpand: true; visible: bind $invert_boolean($is_empty(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories) as <bool>) as <bool>; child: Adw.Clamp { maximum-size: 1000; tightening-threshold: 900; child: Box empty_box { margin-start: 30; margin-end: 30; margin-top: 16; margin-bottom: 50; orientation: vertical; $BzSearchPillList { margin-bottom: 25; activated => $pill_list_cb(template); } Label { label: _("Browse Categories"); halign: start; margin-bottom: 12; margin-start: 4; wrap: true; wrap-mode: word_char; styles [ "heading", ] } $BzDynamicListView { styles [ "flathub-page-section", ] hexpand: true; max-children-per-line: 4; scroll: false; noscroll-kind: flow-box; child-type: "BzCategoryTile"; child-prop: "category"; model: FilterListModel visible_categories { filter: CustomFilter categories_filter {}; model: bind template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories; }; bind-widget => $bind_category_tile_cb(template); unbind-widget => $unbind_category_tile_cb(template); } Adw.StatusPage { visible: bind $is_empty(template.state as <$BzStateInfo>.flathub as <$BzFlathubState>.categories) as <bool>; hexpand: true; vexpand: true; icon-name: "system-search-symbolic"; title: _("Categories Unavailable"); description: _("Search for apps using the search bar above."); } }; }; } }; } StackPage { name: "results"; child: Box content_box { orientation: horizontal; visible: bind $invert_boolean($is_null(grid_view.model as <SingleSelection>.selected-item) as <bool>) as <bool>; ScrolledWindow entry_grid_scroll { hexpand: true; vexpand: true; hscrollbar-policy: never; child: Adw.ClampScrollable clamp_scrollable { maximum-size: 1000; tightening-threshold: 900; child: GridView grid_view { styles [ "search-grid", ] min-columns: 3; max-columns: 3; factory: BuilderListItemFactory { template ListItem { child: Box { orientation: vertical; spacing: 5; $BzRichAppTile { group: bind template.item as <$BzSearchResult>.group as <$BzEntryGroup>; focusable: false; } Box { styles [ "bz-debug", ] visible: bind template.item as <$BzSearchResult>.state as <$BzStateInfo>.debug_mode; orientation: vertical; spacing: 2; Box { orientation: horizontal; spacing: 10; Label { label: "Result Score:"; } Label { styles [ "caption-heading", ] label: bind $format_double(template.item as <$BzSearchResult>.score as <double>) as <string>; } } Separator { margin-bottom: 5; } Box { orientation: horizontal; spacing: 10; Label { styles [ "bz-monospace", ] hexpand: true; xalign: 0.0; label: bind template.item as <$BzSearchResult>.group as <$BzEntryGroup>.id; selectable: true; wrap: true; wrap-mode: char; } Button { icon-name: "edit-copy-symbolic"; clicked => $copy_id_cb(template); } } Box { orientation: horizontal; spacing: 10; Button { hexpand: true; halign: end; label: "Inspect UI Entry"; clicked => $debug_id_inspect_cb(template); } } } }; } }; }; }; } }; } StackPage { name: "no-results"; child: Adw.StatusPage { vexpand: true; icon-name: "edit-find-symbolic"; title: _("No Applications Found"); description: bind $no_results_found_subtitle(search_bar.text) as <string>; }; } } }; }; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-page.c������������������������������������������������������0000664�0000000�0000000�00000065331�15234476640�0021021�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-page.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-apps-page.h" #include "bz-async-texture.h" #include "bz-category-tile.h" #include "bz-dynamic-list-view.h" #include "bz-entry-inspector.h" #include "bz-finished-search-query.h" #include "bz-group-tile-css-watcher.h" #include "bz-rich-app-tile.h" #include "bz-screenshot.h" #include "bz-search-bar.h" #include "bz-search-filter-popover.h" #include "bz-search-page.h" #include "bz-search-pill-list.h" #include "bz-search-result.h" #include "template-callbacks.h" #include "util.h" struct _BzSearchPage { AdwBin parent_instance; BzStateInfo *state; BzEntryGroup *selected; gboolean remove; gboolean search_in_progress; BzFinishedSearchQuery *current_query; BzContentProvider *blocklists_provider; BzContentProvider *txt_blocklists_provider; GListStore *search_model; GtkSelectionModel *selection_model; guint search_update_timeout; DexFuture *search_query; /* Template widgets */ BzSearchBar *search_bar; GtkBox *content_box; GtkStack *search_stack; GtkGridView *grid_view; GtkWidget *filter_button; BzSearchFilterPopover *filter_popover; GtkCustomFilter *categories_filter; }; G_DEFINE_FINAL_TYPE (BzSearchPage, bz_search_page, ADW_TYPE_BIN) enum { PROP_0, PROP_STATE, PROP_TEXT, PROP_CURRENT_QUERY, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void grid_activate (GtkGridView *grid_view, guint position, BzSearchPage *self); static void invalidating_state_prop_changed (BzSearchPage *self, GParamSpec *pspec, BzStateInfo *info); static void blocklists_items_changed (BzSearchPage *self, guint position, guint removed, guint added, GListModel *model); static DexFuture * search_query_then (DexFuture *future, GWeakRef *wr); static void update_filter (BzSearchPage *self); static void emit_idx (BzSearchPage *self, GListModel *model, guint selected_idx); static gboolean bz_search_page_grab_focus (GtkWidget *widget) { BzSearchPage *self = BZ_SEARCH_PAGE (widget); return gtk_widget_grab_focus (GTK_WIDGET (self->search_bar)); } static void bz_search_page_dispose (GObject *object) { BzSearchPage *self = BZ_SEARCH_PAGE (object); if (self->state != NULL) g_signal_handlers_disconnect_by_func (self->state, invalidating_state_prop_changed, self); if (self->blocklists_provider != NULL) g_signal_handlers_disconnect_by_func (self->blocklists_provider, blocklists_items_changed, self); if (self->txt_blocklists_provider != NULL) g_signal_handlers_disconnect_by_func (self->txt_blocklists_provider, blocklists_items_changed, self); g_clear_handle_id (&self->search_update_timeout, g_source_remove); dex_clear (&self->search_query); g_clear_object (&self->state); g_clear_object (&self->selected); g_clear_object (&self->current_query); g_clear_object (&self->blocklists_provider); g_clear_object (&self->txt_blocklists_provider); g_clear_object (&self->search_model); g_clear_object (&self->selection_model); G_OBJECT_CLASS (bz_search_page_parent_class)->dispose (object); } static void bz_search_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSearchPage *self = BZ_SEARCH_PAGE (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, bz_search_page_get_state (self)); break; case PROP_TEXT: g_value_set_string (value, bz_search_page_get_text (self)); break; case PROP_CURRENT_QUERY: g_value_set_object (value, self->current_query); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_search_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzSearchPage *self = BZ_SEARCH_PAGE (object); switch (prop_id) { case PROP_STATE: bz_search_page_set_state (self, g_value_get_object (value)); break; case PROP_TEXT: bz_search_page_set_text (self, g_value_get_string (value)); break; case PROP_CURRENT_QUERY: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_zero (gpointer object, int value) { return value == 0; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_empty (gpointer object, GListModel *model) { if (model == NULL) return TRUE; return g_list_model_get_n_items (model) == 0; } static gboolean is_valid_string (gpointer object, const char *value) { return value != NULL && *value != '\0'; } static char * idx_to_string (gpointer object, guint value) { return g_strdup_printf ("%d", value + 1); } static char * score_to_string (gpointer object, double value) { return g_strdup_printf ("%0.1f", value); } static char * no_results_found_subtitle (gpointer object, const char *search_text) { if (search_text == NULL || *search_text == '\0') return g_strdup (""); return g_strdup_printf (_ ("No results found for \"%s\" in Flathub"), search_text); } static void has_active_filters_cb (BzSearchFilterPopover *filter_popover, GParamSpec *pspec, BzSearchPage *self) { gboolean active = FALSE; g_object_get (filter_popover, "has-active-filters", &active, NULL); if (active) gtk_widget_add_css_class (self->filter_button, "accent"); else gtk_widget_remove_css_class (self->filter_button, "accent"); } static void pill_list_cb (BzSearchPage *self, const char *label, GtkWidget *pill_list) { bz_search_page_set_text (self, label); update_filter (self); } static void category_clicked (BzFlathubCategory *category, GtkButton *button) { GtkWidget *self = NULL; GtkWidget *nav_view = NULL; AdwNavigationPage *apps_page = NULL; self = gtk_widget_get_ancestor (GTK_WIDGET (button), BZ_TYPE_SEARCH_PAGE); g_assert (self != NULL); nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); g_assert (nav_view != NULL); apps_page = bz_apps_page_new_from_category (category); adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), apps_page); } static void bind_category_tile_cb (BzSearchPage *self, BzCategoryTile *tile, BzFlathubCategory *category, BzDynamicListView *view) { g_signal_connect_swapped (tile, "clicked", G_CALLBACK (category_clicked), category); } static void search_changed (BzSearchPage *self, GtkEditable *editable) { const char *text = NULL; text = gtk_editable_get_text (editable); g_clear_handle_id (&self->search_update_timeout, g_source_remove); if (text == NULL || *text == '\0') update_filter (self); else { self->search_update_timeout = g_timeout_add_once ( 300, (GSourceOnceFunc) update_filter, self); bz_search_bar_set_busy (BZ_SEARCH_BAR (editable), TRUE); } } static void search_activate (BzSearchPage *self, BzSearchBar *search_bar) { GtkSelectionModel *model = NULL; guint n_items = 0; model = gtk_grid_view_get_model (self->grid_view); n_items = g_list_model_get_n_items (G_LIST_MODEL (model)); bz_search_bar_set_busy (self->search_bar, FALSE); if (n_items > 0) { GtkWidget *cell = NULL; GtkWidget *box = NULL; GtkWidget *tile = NULL; gtk_widget_activate_action (GTK_WIDGET (self->grid_view), "list.scroll-to-item", "u", 0); cell = gtk_widget_get_first_child (GTK_WIDGET (self->grid_view)); if (cell != NULL) box = gtk_widget_get_first_child (cell); if (box != NULL) tile = gtk_widget_get_first_child (box); if (BZ_IS_RICH_APP_TILE (tile)) bz_rich_app_tile_focus_action_button (BZ_RICH_APP_TILE (tile)); } } static void unbind_category_tile_cb (BzSearchPage *self, BzCategoryTile *tile, BzFlathubCategory *category, BzDynamicListView *view) { g_signal_handlers_disconnect_by_func (tile, category_clicked, category); } static void reset_search_cb (BzSearchPage *self, GtkButton *button) { bz_search_page_set_text (self, ""); bz_search_filter_popover_clear (self->filter_popover); bz_search_page_refresh (self); } static void copy_id_cb (GtkListItem *list_item, GtkButton *button) { BzSearchResult *result = NULL; BzEntryGroup *group = NULL; const char *id = NULL; GdkClipboard *clipboard = NULL; result = gtk_list_item_get_item (list_item); group = bz_search_result_get_group (result); id = bz_entry_group_get_id (group); clipboard = gdk_display_get_clipboard (gdk_display_get_default ()); gdk_clipboard_set_text (clipboard, id); } static void debug_id_inspect_cb (GtkListItem *list_item, GtkButton *button) { BzSearchResult *search_result = NULL; BzStateInfo *state = NULL; BzEntryGroup *group = NULL; g_autofree char *unique_id = NULL; g_autoptr (BzResult) result = NULL; search_result = gtk_list_item_get_item (list_item); state = bz_search_result_get_state (search_result); if (state == NULL) return; group = bz_search_result_get_group (search_result); unique_id = bz_entry_group_dup_ui_entry_id (group); result = bz_application_map_factory_convert_one ( bz_state_info_get_entry_factory (state), gtk_string_object_new (unique_id)); if (result != NULL) { BzEntryInspector *inspector = NULL; inspector = bz_entry_inspector_new (); bz_entry_inspector_set_result (inspector, result); gtk_window_present (GTK_WINDOW (inspector)); } } static void bz_search_page_class_init (BzSearchPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_search_page_dispose; object_class->get_property = bz_search_page_get_property; object_class->set_property = bz_search_page_set_property; widget_class->grab_focus = bz_search_page_grab_focus; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TEXT] = g_param_spec_string ( "text", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_CURRENT_QUERY] = g_param_spec_object ( "current-query", NULL, NULL, BZ_TYPE_FINISHED_SEARCH_QUERY, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_ASYNC_TEXTURE); g_type_ensure (BZ_TYPE_CATEGORY_TILE); g_type_ensure (BZ_TYPE_DYNAMIC_LIST_VIEW); g_type_ensure (BZ_TYPE_GROUP_TILE_CSS_WATCHER); g_type_ensure (BZ_TYPE_RICH_APP_TILE); g_type_ensure (BZ_TYPE_SCREENSHOT); g_type_ensure (BZ_TYPE_SEARCH_RESULT); g_type_ensure (BZ_TYPE_SEARCH_PILL_LIST); g_type_ensure (BZ_TYPE_SEARCH_FILTER_POPOVER); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-search-page.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, search_bar); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, content_box); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, search_stack); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, grid_view); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, filter_button); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, filter_popover); gtk_widget_class_bind_template_child (widget_class, BzSearchPage, categories_filter); gtk_widget_class_bind_template_callback (widget_class, bind_category_tile_cb); gtk_widget_class_bind_template_callback (widget_class, unbind_category_tile_cb); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_empty); gtk_widget_class_bind_template_callback (widget_class, has_active_filters_cb); gtk_widget_class_bind_template_callback (widget_class, is_valid_string); gtk_widget_class_bind_template_callback (widget_class, idx_to_string); gtk_widget_class_bind_template_callback (widget_class, score_to_string); gtk_widget_class_bind_template_callback (widget_class, reset_search_cb); gtk_widget_class_bind_template_callback (widget_class, pill_list_cb); gtk_widget_class_bind_template_callback (widget_class, no_results_found_subtitle); gtk_widget_class_bind_template_callback (widget_class, copy_id_cb); gtk_widget_class_bind_template_callback (widget_class, debug_id_inspect_cb); gtk_widget_class_bind_template_callback (widget_class, search_activate); gtk_widget_class_bind_template_callback (widget_class, search_changed); } static void bz_search_page_init (BzSearchPage *self) { self->search_model = g_list_store_new (BZ_TYPE_SEARCH_RESULT); gtk_widget_init_template (GTK_WIDGET (self)); /* TODO: move all this to blueprint */ self->selection_model = GTK_SELECTION_MODEL (gtk_no_selection_new (NULL)); gtk_no_selection_set_model (GTK_NO_SELECTION (self->selection_model), G_LIST_MODEL (self->search_model)); gtk_grid_view_set_model (self->grid_view, self->selection_model); g_signal_connect (self->grid_view, "activate", G_CALLBACK (grid_activate), self); g_signal_connect_swapped (self->filter_popover, "notify::selected-categories", G_CALLBACK (update_filter), self); g_signal_connect_swapped (self->filter_popover, "notify::only-verified", G_CALLBACK (update_filter), self); g_signal_connect_swapped (self->filter_popover, "notify::only-free", G_CALLBACK (update_filter), self); g_signal_connect_swapped (self->filter_popover, "notify::only-non-eol", G_CALLBACK (update_filter), self); g_signal_connect_swapped (self->filter_popover, "notify::only-mobile", G_CALLBACK (update_filter), self); gtk_custom_filter_set_filter_func ( self->categories_filter, (GtkCustomFilterFunc) bz_flathub_category_get_show_in_list, NULL, NULL); } GtkWidget * bz_search_page_new (GListModel *model, const char *initial) { BzSearchPage *self = NULL; self = g_object_new ( BZ_TYPE_SEARCH_PAGE, "model", model, NULL); if (initial != NULL) gtk_editable_set_text (GTK_EDITABLE (self->search_bar), initial); return GTK_WIDGET (self); } BzEntryGroup * bz_search_page_get_selected (BzSearchPage *self, gboolean *remove) { g_return_val_if_fail (BZ_IS_SEARCH_PAGE (self), NULL); if (remove != NULL) *remove = self->remove; return self->selected; } void bz_search_page_set_state (BzSearchPage *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_SEARCH_PAGE (self)); if (self->state != NULL) g_signal_handlers_disconnect_by_func (self->state, invalidating_state_prop_changed, self); g_clear_object (&self->state); if (self->blocklists_provider != NULL) g_signal_handlers_disconnect_by_func (self->blocklists_provider, blocklists_items_changed, self); g_clear_object (&self->blocklists_provider); if (self->txt_blocklists_provider != NULL) g_signal_handlers_disconnect_by_func (self->txt_blocklists_provider, blocklists_items_changed, self); g_clear_object (&self->txt_blocklists_provider); if (state != NULL) { self->state = g_object_ref (state); g_signal_connect_swapped ( state, "notify::disable-blocklists", G_CALLBACK (invalidating_state_prop_changed), self); g_signal_connect_swapped ( state, "notify::hide-eol", G_CALLBACK (invalidating_state_prop_changed), self); g_signal_connect_swapped ( state, "notify::show-only-foss", G_CALLBACK (invalidating_state_prop_changed), self); g_signal_connect_swapped ( state, "notify::show-only-flathub", G_CALLBACK (invalidating_state_prop_changed), self); g_signal_connect_swapped ( state, "notify::show-only-verified", G_CALLBACK (invalidating_state_prop_changed), self); g_signal_connect_swapped ( state, "notify::parental-age-rating", G_CALLBACK (invalidating_state_prop_changed), self); g_object_get ( state, "blocklists-provider", &self->blocklists_provider, "txt-blocklists-provider", &self->txt_blocklists_provider, NULL); if (self->blocklists_provider != NULL) g_signal_connect_data ( self->blocklists_provider, "items-changed", G_CALLBACK (blocklists_items_changed), self, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); if (self->txt_blocklists_provider != NULL) g_signal_connect_data ( self->txt_blocklists_provider, "items-changed", G_CALLBACK (blocklists_items_changed), self, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } BzStateInfo * bz_search_page_get_state (BzSearchPage *self) { g_return_val_if_fail (BZ_IS_SEARCH_PAGE (self), NULL); return self->state; } void bz_search_page_set_text (BzSearchPage *self, const char *text) { g_return_if_fail (BZ_IS_SEARCH_PAGE (self)); gtk_editable_set_text (GTK_EDITABLE (self->search_bar), text); if (text != NULL) gtk_editable_set_position (GTK_EDITABLE (self->search_bar), g_utf8_strlen (text, -1)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TEXT]); } const char * bz_search_page_get_text (BzSearchPage *self) { g_return_val_if_fail (BZ_IS_SEARCH_PAGE (self), NULL); return gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); } void bz_search_page_refresh (BzSearchPage *self) { g_return_if_fail (BZ_IS_SEARCH_PAGE (self)); update_filter (self); } gboolean bz_search_page_ensure_active (BzSearchPage *self, const char *initial) { gboolean result = FALSE; g_return_val_if_fail (BZ_IS_SEARCH_PAGE (self), FALSE); result = gtk_widget_grab_focus (GTK_WIDGET (self)); bz_search_page_set_text (self, initial); return result; } static void grid_activate (GtkGridView *grid_view, guint position, BzSearchPage *self) { GtkSelectionModel *model = NULL; model = gtk_grid_view_get_model (self->grid_view); emit_idx (self, G_LIST_MODEL (model), position); } static void invalidating_state_prop_changed (BzSearchPage *self, GParamSpec *pspec, BzStateInfo *info) { update_filter (self); } static void blocklists_items_changed (BzSearchPage *self, guint position, guint removed, guint added, GListModel *model) { update_filter (self); } static DexFuture * search_query_then (DexFuture *future, GWeakRef *wr) { g_autoptr (BzSearchPage) self = NULL; g_autoptr (GPtrArray) filtered = NULL; BzFinishedSearchQuery *finished = NULL; GPtrArray *results = NULL; guint old_length = 0; const char *page_name = NULL; BzCategoryFlags categories = BZ_CATEGORY_FLAGS_NONE; gboolean only_verified = FALSE; gboolean only_free = FALSE; gboolean only_non_eol = FALSE; gboolean only_mobile = FALSE; const char *search_text = NULL; bz_weak_get_or_return_reject (self, wr); finished = g_value_get_object (dex_future_get_value (future, NULL)); results = bz_finished_search_query_get_results (finished); categories = bz_search_filter_popover_get_selected_categories (self->filter_popover); only_verified = bz_search_filter_popover_get_only_verified (self->filter_popover); only_free = bz_search_filter_popover_get_only_free (self->filter_popover); only_non_eol = bz_search_filter_popover_get_only_non_eol (self->filter_popover); only_mobile = bz_search_filter_popover_get_only_mobile (self->filter_popover); filtered = g_ptr_array_new_with_free_func (g_object_unref); search_text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); for (guint i = 0; i < results->len; i++) { BzSearchResult *result = g_ptr_array_index (results, i); BzEntryGroup *group = bz_search_result_get_group (result); if (self->state != NULL) /* This is for debug mode */ bz_search_result_set_state (result, self->state); if (categories != BZ_CATEGORY_FLAGS_NONE && !(bz_entry_group_get_categories (group) & categories)) continue; if (only_verified && !bz_entry_group_get_is_verified (group)) continue; if (only_free && !bz_entry_group_get_is_floss (group)) continue; if (only_non_eol && bz_entry_group_get_eol (group)) continue; if (only_mobile && !bz_entry_group_get_is_mobile_friendly (group)) continue; g_ptr_array_add (filtered, g_object_ref (result)); } old_length = g_list_model_get_n_items (G_LIST_MODEL (self->search_model)); g_list_store_splice ( self->search_model, 0, old_length, (gpointer *) filtered->pdata, filtered->len); bz_search_bar_set_busy (self->search_bar, FALSE); if (filtered->len > 0) { page_name = "results"; gtk_widget_activate_action (GTK_WIDGET (self->grid_view), "list.scroll-to-item", "u", 0); } else page_name = (search_text != NULL && *search_text) ? "no-results" : "empty"; if (search_text && *search_text) { const char *message = NULL; message = filtered->len == 0 ? _ ("No applications found") : g_strdup_printf ( ngettext ("One application found", "%u applications found", filtered->len), filtered->len); gtk_accessible_announce (GTK_ACCESSIBLE (self), message, GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM); } self->current_query = g_object_ref (finished); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_QUERY]); gtk_stack_set_visible_child_name (self->search_stack, page_name); dex_clear (&self->search_query); return NULL; } static void update_filter (BzSearchPage *self) { BzSearchEngine *engine = NULL; const char *search_text = NULL; g_autoptr (GStrvBuilder) builder = NULL; guint n_terms = 0; g_auto (GStrv) terms = NULL; g_autoptr (DexFuture) future = NULL; g_autofree gchar **tokens = NULL; g_clear_handle_id (&self->search_update_timeout, g_source_remove); dex_clear (&self->search_query); g_clear_object (&self->current_query); self->current_query = bz_finished_search_query_new (); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_QUERY]); bz_search_bar_set_busy (self->search_bar, FALSE); if (self->state == NULL) return; engine = bz_state_info_get_search_engine (self->state); if (engine == NULL) return; search_text = gtk_editable_get_text (GTK_EDITABLE (self->search_bar)); if (search_text == NULL || *search_text == '\0') { g_list_store_remove_all (self->search_model); gtk_stack_set_visible_child_name (self->search_stack, "empty"); return; } builder = g_strv_builder_new (); tokens = g_strsplit_set (search_text, " \t\n", -1); for (gchar **token = tokens; *token != NULL; token++) { if (**token != '\0') { g_strv_builder_take (builder, *token); n_terms++; } else g_free (*token); } if (n_terms == 0) { g_list_store_remove_all (self->search_model); gtk_stack_set_visible_child_name (self->search_stack, "empty"); return; } terms = g_strv_builder_end (builder); self->search_in_progress = TRUE; future = bz_search_engine_query ( engine, (const char *const *) terms); bz_search_bar_set_busy (self->search_bar, dex_future_is_pending (future)); future = dex_future_then ( future, (DexFutureCallback) search_query_then, bz_track_weak (self), bz_weak_release); self->search_query = g_steal_pointer (&future); } static void emit_idx (BzSearchPage *self, GListModel *model, guint selected_idx) { g_autoptr (BzSearchResult) result = NULL; BzEntryGroup *group = NULL; result = g_list_model_get_item (G_LIST_MODEL (model), selected_idx); group = bz_search_result_get_group (result); gtk_widget_activate_action (GTK_WIDGET (self), "window.show-group", "s", bz_entry_group_get_id (group)); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-page.h������������������������������������������������������0000664�0000000�0000000�00000003323�15234476640�0021017�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-page.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" G_BEGIN_DECLS #define BZ_TYPE_SEARCH_PAGE (bz_search_page_get_type ()) G_DECLARE_FINAL_TYPE (BzSearchPage, bz_search_page, BZ, SEARCH_PAGE, AdwBin) GtkWidget * bz_search_page_new (GListModel *model, const char *initial); void bz_search_page_set_state (BzSearchPage *self, BzStateInfo *state); BzStateInfo * bz_search_page_get_state (BzSearchPage *self); void bz_search_page_set_text (BzSearchPage *self, const char *text); const char * bz_search_page_get_text (BzSearchPage *self); BzEntryGroup * bz_search_page_get_selected (BzSearchPage *self, gboolean *remove); BzEntryGroup * bz_search_page_get_previewing (BzSearchPage *self); void bz_search_page_refresh (BzSearchPage *self); gboolean bz_search_page_ensure_active (BzSearchPage *self, const char *initial); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-pill-list.c�������������������������������������������������0000664�0000000�0000000�00000013601�15234476640�0022007�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-pill-list.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-search-pill-list.h" struct _BzSearchPillList { GtkBox parent_instance; }; G_DEFINE_FINAL_TYPE (BzSearchPillList, bz_search_pill_list, GTK_TYPE_BOX) enum { SIGNAL_ACTIVATED, LAST_SIGNAL }; static guint signals[LAST_SIGNAL]; static void pill_button_clicked_cb (BzSearchPillList *self, GtkButton *button); static void bz_search_pill_list_class_init (BzSearchPillListClass *klass) { signals[SIGNAL_ACTIVATED] = g_signal_new ("activated", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); } static void bz_search_pill_list_init (BzSearchPillList *self) { GtkLayoutManager *layout = NULL; static const char *pills[] = { /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Browser"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Video"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Music"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Office"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("PDF"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Calendar"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Messaging"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Paint"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("VPN"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Torrent"), /* Translators: Search suggestion: the english text will be used for the search regardless of what you put here, so don't worry about the string yielding poor search results. Focus on correctness and friendliness, etc */ N_ ("Emulator"), /* This array MUST be NULL terminated */ NULL }; gtk_orientable_set_orientation (GTK_ORIENTABLE (self), GTK_ORIENTATION_HORIZONTAL); layout = GTK_LAYOUT_MANAGER (adw_wrap_layout_new ()); adw_wrap_layout_set_child_spacing (ADW_WRAP_LAYOUT (layout), 10); adw_wrap_layout_set_line_spacing (ADW_WRAP_LAYOUT (layout), 8); adw_wrap_layout_set_justify (ADW_WRAP_LAYOUT (layout), ADW_JUSTIFY_FILL); gtk_widget_set_layout_manager (GTK_WIDGET (self), layout); for (guint i = 0; pills[i] != NULL; i++) { GtkWidget *button = NULL; button = gtk_button_new_with_label (Q_ (pills[i])); gtk_widget_add_css_class (button, "small-pill"); gtk_widget_add_css_class (button, "search-pill"); g_signal_connect_swapped (button, "clicked", G_CALLBACK (pill_button_clicked_cb), self); g_object_set_data_full (G_OBJECT (button), "search-token", g_strdup (pills[i]), g_free); gtk_box_append (GTK_BOX (self), button); } } GtkWidget * bz_search_pill_list_new (void) { return g_object_new (BZ_TYPE_SEARCH_PILL_LIST, NULL); } static void pill_button_clicked_cb (BzSearchPillList *self, GtkButton *button) { const char *search_token = NULL; search_token = g_object_get_data (G_OBJECT (button), "search-token"); g_signal_emit (self, signals[SIGNAL_ACTIVATED], 0, search_token); } �������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-pill-list.h�������������������������������������������������0000664�0000000�0000000�00000002011�15234476640�0022005�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-search-pill-list.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_SEARCH_PILL_LIST (bz_search_pill_list_get_type ()) G_DECLARE_FINAL_TYPE (BzSearchPillList, bz_search_pill_list, BZ, SEARCH_PILL_LIST, GtkBox) GtkWidget *bz_search_pill_list_new (void); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-search-result.txt��������������������������������������������������0000664�0000000�0000000�00000000541�15234476640�0022010�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=search_result parent-prefix=g parent-name=object author=AUTOGEN include="bz-state-info.h" property=group BzEntryGroup BZ_TYPE_ENTRY_GROUP object property=original_index guint G_TYPE_UINT uint property=score double G_TYPE_DOUBLE double property=title_markup char G_TYPE_STRING string property=state BzStateInfo BZ_TYPE_STATE_INFO object ���������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-section-view.blp���������������������������������������������������0000664�0000000�0000000�00000005314�15234476640�0021604�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Gio 2.0; using Adw 1; template $BzSectionView: Adw.Bin { margin-top: 16; child: Box { hexpand: true; vexpand: true; halign: fill; valign: fill; orientation: vertical; spacing: 4; Label { visible: bind $invert_boolean($is_null_string(template.section as <$BzCuratedSection>.title as <string>) as <bool>) as <bool>; label: bind template.section as <$BzCuratedSection>.title as <string>; halign: start; xalign: 0; styles [ "title-1", ] } Box { hexpand: true; vexpand: true; visible: bind $invert_boolean($is_null(template.section as <$BzCuratedSection>.subtitle) as <bool>) as <bool>; margin-bottom: 2; $BgeMarkdownRender subtitle { hexpand: true; vexpand: true; wrap-tables: false; markdown: bind template.section as <$BzCuratedSection>.subtitle as <$BzCuratedMarkdownInfo>.string as <string>; } } Box { hexpand: true; vexpand: true; visible: bind $invert_boolean($is_null(template.section as <$BzCuratedSection>.appids) as <bool>) as <bool>; orientation: vertical; spacing: 10; margin-top: 10; margin-bottom: 16; $BzDynamicListView list { hexpand: true; scroll: false; column-spacing: 10; noscroll-kind: flow-box; child-type: bind try{$get_child_type(template.section as <$BzCuratedSection>.list-type) as <string>,"BzAppTile"}; child-prop: "group"; model: SliceListModel slice { model: bind $convert_to_groups( template.section as <$BzCuratedSection>.appids as <$BzCuratedAppidsInfo>.list ) as <Gio.ListModel>; offset: 0; size: bind $get_slice_length(template.section as <$BzCuratedSection>.overflow-count, template.section as <$BzCuratedSection>.enable-bulk-install); }; } Button { styles [ "pill", ] margin-start: 25; margin-end: 25; margin-top: 12; halign: center; visible: bind $show_more_visible(template.section as <$BzCuratedSection>.enable-bulk-install as <bool>, template.section as <$BzCuratedSection>.appids as <$BzCuratedAppidsInfo>.list, template.section as <$BzCuratedSection>.overflow-count); label: _("Show More"); clicked => $show_more_clicked(template); } Button { styles [ "pill", ] margin-start: 25; margin-end: 25; margin-top: 12; halign: center; visible: bind template.section as <$BzCuratedSection>.enable-bulk-install as <bool>; label: _("Install All"); clicked => $install_all_clicked(template); } } }; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-section-view.c�����������������������������������������������������0000664�0000000�0000000�00000020775�15234476640�0021261�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-section-view.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <bge.h> #include "bz-application.h" #include "bz-apps-page.h" #include "bz-curated-section.h" #include "bz-dynamic-list-view.h" #include "bz-entry-group.h" #include "bz-rich-app-tile.h" #include "bz-section-view.h" #include "bz-window.h" struct _BzSectionView { AdwBin parent_instance; BzCuratedSection *section; /* Template widgets */ BgeMarkdownRender *subtitle; }; G_DEFINE_FINAL_TYPE (BzSectionView, bz_section_view, ADW_TYPE_BIN) enum { PROP_0, PROP_SECTION, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_section_view_dispose (GObject *object) { BzSectionView *self = BZ_SECTION_VIEW (object); g_clear_object (&self->section); G_OBJECT_CLASS (bz_section_view_parent_class)->dispose (object); } static void bz_section_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSectionView *self = BZ_SECTION_VIEW (object); switch (prop_id) { case PROP_SECTION: g_value_set_object (value, bz_section_view_get_section (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_section_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzSectionView *self = BZ_SECTION_VIEW (object); switch (prop_id) { case PROP_SECTION: bz_section_view_set_section (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_null_string (gpointer object, const char *value) { return value == NULL; } static char * get_child_type (gpointer object, const char *list_type) { if (list_type != NULL && g_strcmp0 (list_type, "rich") == 0) return g_strdup ("BzRichAppTile"); return g_strdup ("BzAppTile"); } static guint get_slice_length (gpointer object, guint overflow_count, gboolean install_all_visible) { if (overflow_count == 0 || install_all_visible) return 20; return MIN (overflow_count, 20); } static gboolean show_more_visible (gpointer object, gboolean enable_bulk_install, GListModel *full_model, guint overflow_count) { if (enable_bulk_install || full_model == NULL) return FALSE; return g_list_model_get_n_items (full_model) > (overflow_count == 0 ? 20 : MIN (overflow_count, 20)); } static GListModel * convert_to_groups (gpointer object, GListModel *value) { BzStateInfo *info = NULL; BzApplicationMapFactory *factory = NULL; info = bz_state_info_get_default (); factory = bz_state_info_get_application_factory (info); return bz_application_map_factory_generate (factory, value); } static void install_all_clicked (BzSectionView *self, GtkButton *button) { GtkWidget *window = NULL; BzCuratedAppidsInfo *appids = NULL; GListModel *list = NULL; guint n_appids = 0; BzStateInfo *info = NULL; BzApplicationMapFactory *factory = NULL; g_autoptr (GListModel) groups = NULL; window = gtk_widget_get_ancestor (GTK_WIDGET (self), BZ_TYPE_WINDOW); if (window == NULL) return; /* If the button is visible and the user clicked it, this must be non-null */ appids = bz_curated_section_get_appids (self->section); list = bz_curated_appids_info_get_list (appids); if (list == NULL) return; n_appids = g_list_model_get_n_items (list); if (n_appids == 0) return; /* TODO: bind state via object properties */ info = bz_state_info_get_default (); factory = bz_state_info_get_application_factory (info); groups = bz_application_map_factory_generate (factory, list); /* TODO: use signals to chain up the blueprints; it is cleaner, but more work... :( */ bz_window_bulk_install (BZ_WINDOW (window), groups); } static void show_more_clicked (BzSectionView *self, GtkButton *button) { BzCuratedAppidsInfo *appids = NULL; GListModel *list = NULL; g_autoptr (GListModel) groups = NULL; BzStateInfo *info = NULL; BzApplicationMapFactory *factory = NULL; AdwNavigationPage *apps_page = NULL; GtkWidget *nav_view = NULL; const char *title = NULL; if (self->section == NULL) return; appids = bz_curated_section_get_appids (self->section); list = bz_curated_appids_info_get_list (appids); if (list == NULL) return; info = bz_state_info_get_default (); factory = bz_state_info_get_application_factory (info); groups = bz_application_map_factory_generate (factory, list); title = bz_curated_section_get_title (self->section); apps_page = bz_apps_page_new (title, groups); nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); if (nav_view != NULL) adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), apps_page); } static void bz_section_view_class_init (BzSectionViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_section_view_dispose; object_class->get_property = bz_section_view_get_property; object_class->set_property = bz_section_view_set_property; props[PROP_SECTION] = g_param_spec_object ( "section", NULL, NULL, BZ_TYPE_CURATED_SECTION, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_DYNAMIC_LIST_VIEW); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-section-view.ui"); gtk_widget_class_bind_template_child (widget_class, BzSectionView, subtitle); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_null_string); gtk_widget_class_bind_template_callback (widget_class, get_child_type); gtk_widget_class_bind_template_callback (widget_class, convert_to_groups); gtk_widget_class_bind_template_callback (widget_class, install_all_clicked); gtk_widget_class_bind_template_callback (widget_class, show_more_clicked); gtk_widget_class_bind_template_callback (widget_class, get_slice_length); gtk_widget_class_bind_template_callback (widget_class, show_more_visible); } static void bz_section_view_init (BzSectionView *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_section_view_new (BzCuratedSection *section) { return g_object_new ( BZ_TYPE_SECTION_VIEW, "section", section, NULL); } void bz_section_view_set_section (BzSectionView *self, BzCuratedSection *section) { g_return_if_fail (BZ_IS_SECTION_VIEW (self)); g_return_if_fail (section == NULL || BZ_IS_CURATED_SECTION (section)); g_clear_object (&self->section); if (section != NULL) self->section = g_object_ref (section); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SECTION]); } BzCuratedSection * bz_section_view_get_section (BzSectionView *self) { g_return_val_if_fail (BZ_IS_SECTION_VIEW (self), NULL); return self->section; } ���bazaar-org-bazaar-917017d/src/bz-section-view.h�����������������������������������������������������0000664�0000000�0000000�00000002334�15234476640�0021255�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-section-view.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-curated-section.h" G_BEGIN_DECLS #define BZ_TYPE_SECTION_VIEW (bz_section_view_get_type ()) G_DECLARE_FINAL_TYPE (BzSectionView, bz_section_view, BZ, SECTION_VIEW, AdwBin) GtkWidget * bz_section_view_new (BzCuratedSection *section); void bz_section_view_set_section (BzSectionView *self, BzCuratedSection *section); BzCuratedSection * bz_section_view_get_section (BzSectionView *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-serializable.c�����������������������������������������������������0000664�0000000�0000000�00000003776�15234476640�0021315�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-serializable.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "bz-serializable.h" G_DEFINE_INTERFACE (BzSerializable, bz_serializable, G_TYPE_OBJECT) static void bz_serializable_real_serialize (BzSerializable *self, GVariantBuilder *builder) { return; } static gboolean bz_serializable_real_deserialize (BzSerializable *self, GVariant *import, GError **error) { return TRUE; } static void bz_serializable_default_init (BzSerializableInterface *iface) { iface->serialize = bz_serializable_real_serialize; iface->deserialize = bz_serializable_real_deserialize; } void bz_serializable_serialize (BzSerializable *self, GVariantBuilder *builder) { g_return_if_fail (BZ_IS_SERIALIZABLE (self)); g_return_if_fail (builder != NULL); BZ_SERIALIZABLE_GET_IFACE (self)->serialize ( self, builder); } gboolean bz_serializable_deserialize (BzSerializable *self, GVariant *import, GError **error) { g_return_val_if_fail (BZ_IS_SERIALIZABLE (self), FALSE); g_return_val_if_fail (import != NULL, FALSE); return BZ_SERIALIZABLE_GET_IFACE (self)->deserialize ( self, import, error); } ��bazaar-org-bazaar-917017d/src/bz-serializable.h�����������������������������������������������������0000664�0000000�0000000�00000003026�15234476640�0021306�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-serializable.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_SERIALIZABLE (bz_serializable_get_type ()) G_DECLARE_INTERFACE (BzSerializable, bz_serializable, BZ, SERIALIZABLE, GObject) struct _BzSerializableInterface { GTypeInterface parent_iface; void (*serialize) (BzSerializable *self, GVariantBuilder *builder); gboolean (*deserialize) (BzSerializable *self, GVariant *import, GError **error); }; void bz_serializable_serialize (BzSerializable *self, GVariantBuilder *builder); gboolean bz_serializable_deserialize (BzSerializable *self, GVariant *import, GError **error); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-share-list.c�������������������������������������������������������0000664�0000000�0000000�00000027604�15234476640�0020716�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-share-list.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-share-list.h" #include "bz-url.h" #include "bz-window.h" struct _BzShareList { GtkBox parent_instance; GListModel *urls; gboolean dual_column; }; G_DEFINE_FINAL_TYPE (BzShareList, bz_share_list, GTK_TYPE_BOX) enum { PROP_0, PROP_URLS, PROP_DUAL_COLUMN, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; typedef struct { const char *id; const char *display_name; const char *icon_name; } UrlInfo; static const UrlInfo url_info[] = { { "flathub", NC_ ("Project URL Type", "Flathub Page"), "flathub-symbolic" }, { "homepage", NC_ ("Project URL Type", "Project Website"), "globe-symbolic" }, { "bugtracker", NC_ ("Project URL Type", "Issue Tracker"), "computer-fail-symbolic" }, { "faq", NC_ ("Project URL Type", "FAQ"), "help-faq-symbolic" }, { "help", NC_ ("Project URL Type", "Help"), "help-browser-symbolic" }, { "donation", NC_ ("Project URL Type", "Donate"), "heart-filled-symbolic" }, { "translate", NC_ ("Project URL Type", "Translate"), "translations-symbolic" }, { "contact", NC_ ("Project URL Type", "Contact"), "mail-send-symbolic" }, { "vcs-browser", NC_ ("Project URL Type", "Source Code"), "code-symbolic" }, { "contribute", NC_ ("Project URL Type", "Contribute"), "system-users-symbolic" }, { "manifest", NC_ ("Project URL Type", "Manifest"), "shoe-box-symbolic" }, { NULL, NULL, NULL } }; static void populate_urls (BzShareList *self); static GtkListBox *create_list_box (void); static AdwActionRow *create_url_action_row (BzShareList *self, BzUrl *url_item); static void copy_cb (BzShareList *self, GtkButton *button); static void follow_link_cb (BzShareList *self, GtkWidget *widget); static void bz_share_list_dispose (GObject *object) { BzShareList *self = BZ_SHARE_LIST (object); g_clear_object (&self->urls); G_OBJECT_CLASS (bz_share_list_parent_class)->dispose (object); } static void bz_share_list_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzShareList *self = BZ_SHARE_LIST (object); switch (prop_id) { case PROP_URLS: g_value_set_object (value, self->urls); break; case PROP_DUAL_COLUMN: g_value_set_boolean (value, self->dual_column); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_share_list_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzShareList *self = BZ_SHARE_LIST (object); switch (prop_id) { case PROP_URLS: g_clear_object (&self->urls); self->urls = g_value_dup_object (value); populate_urls (self); break; case PROP_DUAL_COLUMN: self->dual_column = g_value_get_boolean (value); populate_urls (self); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_share_list_class_init (BzShareListClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_share_list_dispose; object_class->get_property = bz_share_list_get_property; object_class->set_property = bz_share_list_set_property; props[PROP_URLS] = g_param_spec_object ( "urls", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_DUAL_COLUMN] = g_param_spec_boolean ( "dual-column", NULL, NULL, FALSE, G_PARAM_READWRITE); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_URL); } static void bz_share_list_init (BzShareList *self) { gtk_orientable_set_orientation (GTK_ORIENTABLE (self), GTK_ORIENTATION_VERTICAL); } GtkWidget * bz_share_list_new (void) { return g_object_new (BZ_TYPE_SHARE_LIST, NULL); } static void populate_urls (BzShareList *self) { GtkWidget *child = NULL; guint n_items = 0; guint left_count = 0; guint right_count = 0; while ((child = gtk_widget_get_first_child (GTK_WIDGET (self))) != NULL) gtk_box_remove (GTK_BOX (self), child); if (!self->urls) return; n_items = g_list_model_get_n_items (self->urls); if (!self->dual_column || n_items <= 1) { GtkListBox *list_box = NULL; list_box = create_list_box (); gtk_widget_set_hexpand (GTK_WIDGET (list_box), TRUE); for (guint i = 0; i < n_items; i++) { g_autoptr (BzUrl) url_item = NULL; AdwActionRow *action_row = NULL; url_item = g_list_model_get_item (self->urls, i); action_row = create_url_action_row (self, url_item); gtk_list_box_append (list_box, GTK_WIDGET (action_row)); } gtk_box_append (GTK_BOX (self), GTK_WIDGET (list_box)); } else { GtkBox *columns_box = NULL; GtkListBox *left_box = NULL; GtkListBox *right_box = NULL; left_count = (n_items + 1) / 2; right_count = n_items / 2; columns_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12)); gtk_widget_set_hexpand (GTK_WIDGET (columns_box), TRUE); gtk_box_set_homogeneous (columns_box, TRUE); left_box = create_list_box (); gtk_widget_set_hexpand (GTK_WIDGET (left_box), TRUE); for (guint i = 0; i < left_count; i++) { g_autoptr (BzUrl) url_item = NULL; AdwActionRow *action_row = NULL; url_item = g_list_model_get_item (self->urls, i); action_row = create_url_action_row (self, url_item); gtk_list_box_append (left_box, GTK_WIDGET (action_row)); } right_box = create_list_box (); gtk_widget_set_hexpand (GTK_WIDGET (right_box), TRUE); for (guint i = 0; i < right_count; i++) { g_autoptr (BzUrl) url_item = NULL; AdwActionRow *action_row = NULL; url_item = g_list_model_get_item (self->urls, left_count + i); action_row = create_url_action_row (self, url_item); gtk_list_box_append (right_box, GTK_WIDGET (action_row)); } gtk_box_append (columns_box, GTK_WIDGET (left_box)); gtk_box_append (columns_box, GTK_WIDGET (right_box)); gtk_box_append (GTK_BOX (self), GTK_WIDGET (columns_box)); } } static GtkListBox * create_list_box (void) { GtkListBox *list_box = NULL; list_box = GTK_LIST_BOX (gtk_list_box_new ()); gtk_list_box_set_selection_mode (list_box, GTK_SELECTION_NONE); gtk_widget_add_css_class (GTK_WIDGET (list_box), "boxed-list"); gtk_widget_set_valign (GTK_WIDGET (list_box), GTK_ALIGN_START); return list_box; } static AdwActionRow * create_url_action_row (BzShareList *self, BzUrl *url_item) { const char *url_string = NULL; const char *id = NULL; const char *display = NULL; AdwActionRow *action_row = NULL; GtkImage *suffix_icon = NULL; GtkBox *suffix_box = NULL; GtkButton *copy_button = NULL; GtkSeparator *separator = NULL; const UrlInfo *info = NULL; url_string = bz_url_get_url (url_item); id = bz_url_get_id (url_item); display = (g_str_has_prefix (url_string, "http://") || g_str_has_prefix (url_string, "https://")) ? strstr (url_string, "://") + 3 : url_string; for (int i = 0; url_info[i].id != NULL; i++) { if (g_strcmp0 (url_info[i].id, id) == 0) { info = &url_info[i]; break; } } action_row = ADW_ACTION_ROW (adw_action_row_new ()); adw_preferences_row_set_use_markup (ADW_PREFERENCES_ROW (action_row), FALSE); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (action_row), info ? g_dpgettext2 (NULL, "Project URL Type", info->display_name) : url_string); adw_action_row_set_subtitle (action_row, display); adw_action_row_set_subtitle_lines (action_row, 1); gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (action_row), TRUE); g_object_set_data_full (G_OBJECT (action_row), "url", g_strdup (url_string), g_free); g_signal_connect_swapped (action_row, "activated", G_CALLBACK (follow_link_cb), self); if (info != NULL && info->icon_name != NULL && info->icon_name[0] != '\0') { GtkImage *prefix_icon = NULL; prefix_icon = GTK_IMAGE (gtk_image_new_from_icon_name (info->icon_name)); gtk_image_set_icon_size (prefix_icon, GTK_ICON_SIZE_NORMAL); adw_action_row_add_prefix (action_row, GTK_WIDGET (prefix_icon)); } suffix_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4)); gtk_widget_set_valign (GTK_WIDGET (suffix_box), GTK_ALIGN_CENTER); copy_button = GTK_BUTTON (gtk_button_new_from_icon_name ("edit-copy-symbolic")); gtk_widget_set_tooltip_text (GTK_WIDGET (copy_button), _ ("Copy Link")); gtk_button_set_has_frame (copy_button, FALSE); g_object_set_data_full (G_OBJECT (copy_button), "url", g_strdup (url_string), g_free); g_signal_connect_swapped (copy_button, "clicked", G_CALLBACK (copy_cb), self); separator = GTK_SEPARATOR (gtk_separator_new (GTK_ORIENTATION_VERTICAL)); gtk_widget_set_margin_top (GTK_WIDGET (separator), 6); gtk_widget_set_margin_bottom (GTK_WIDGET (separator), 6); suffix_icon = GTK_IMAGE (gtk_image_new_from_icon_name ("external-link-symbolic")); gtk_image_set_icon_size (suffix_icon, GTK_ICON_SIZE_NORMAL); gtk_widget_set_margin_start (GTK_WIDGET (suffix_icon), 8); gtk_widget_set_margin_end (GTK_WIDGET (suffix_icon), 4); gtk_box_append (suffix_box, GTK_WIDGET (copy_button)); gtk_box_append (suffix_box, GTK_WIDGET (separator)); gtk_box_append (suffix_box, GTK_WIDGET (suffix_icon)); adw_action_row_add_suffix (action_row, GTK_WIDGET (suffix_box)); return action_row; } static void copy_cb (BzShareList *self, GtkButton *button) { const char *link = NULL; GdkClipboard *clipboard = NULL; AdwToast *toast = NULL; GtkWidget *ancestor = NULL; link = g_object_get_data (G_OBJECT (button), "url"); clipboard = gdk_display_get_clipboard (gdk_display_get_default ()); gdk_clipboard_set_text (clipboard, link); toast = adw_toast_new (_ ("Copied!")); adw_toast_set_timeout (toast, 1); ancestor = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_TOAST_OVERLAY); if (ancestor != NULL) { adw_toast_overlay_add_toast (ADW_TOAST_OVERLAY (ancestor), toast); return; } } static void follow_link_cb (BzShareList *self, GtkWidget *widget) { const char *link = NULL; link = g_object_get_data (G_OBJECT (widget), "url"); g_app_info_launch_default_for_uri (link, NULL, NULL); } ����������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-share-list.h�������������������������������������������������������0000664�0000000�0000000�00000001736�15234476640�0020721�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-share-list.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_SHARE_LIST (bz_share_list_get_type ()) G_DECLARE_FINAL_TYPE (BzShareList, bz_share_list, BZ, SHARE_LIST, GtkBox) GtkWidget * bz_share_list_new (void); G_END_DECLS ����������������������������������bazaar-org-bazaar-917017d/src/bz-size-result.txt����������������������������������������������������0000664�0000000�0000000�00000000264�15234476640�0021517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=size_result parent-prefix=g parent-name=object author=AUTOGEN property=user_data_size guint64 G_TYPE_UINT64 uint64 property=cache_size guint64 G_TYPE_UINT64 uint64 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-state-info.txt�����������������������������������������������������0000664�0000000�0000000�00000006447�15234476640�0021313�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=state_info parent-prefix=g parent-name=object author=AUTOGEN include="bz-application-map-factory.h" include="bz-auth-state.h" include="bz-backend.h" include="bz-content-provider.h" include="bz-entry-cache-manager.h" include="bz-flathub-state.h" include="bz-internal-config.h" include="bz-main-config.h" include="bz-search-engine.h" include="bz-transaction-manager.h" property=all_entries GListModel G_TYPE_LIST_MODEL object property=all_entry_groups GListModel G_TYPE_LIST_MODEL object property=filtered_entry_groups GListModel G_TYPE_LIST_MODEL object property=all_installed_entry_groups GListModel G_TYPE_LIST_MODEL object property=all_user_data_entry_groups GListModel G_TYPE_LIST_MODEL object property=allow_manual_sync gboolean G_TYPE_BOOLEAN boolean property=application_factory BzApplicationMapFactory BZ_TYPE_APPLICATION_MAP_FACTORY object property=auth_state BzAuthState BZ_TYPE_AUTH_STATE object property=available_updates GListModel G_TYPE_LIST_MODEL object property=backend BzBackend BZ_TYPE_BACKEND object property=background_task_label char G_TYPE_STRING string property=blocklists GListModel G_TYPE_LIST_MODEL object property=blocklists_provider BzContentProvider BZ_TYPE_CONTENT_PROVIDER object property=busy gboolean G_TYPE_BOOLEAN boolean property=busy_progress double G_TYPE_DOUBLE double property=busy_progress_label char G_TYPE_STRING string property=busy_step_label char G_TYPE_STRING string property=cache_manager BzEntryCacheManager BZ_TYPE_ENTRY_CACHE_MANAGER object property=checking_for_updates gboolean G_TYPE_BOOLEAN boolean property=curated_configs GListModel G_TYPE_LIST_MODEL object property=curated_provider BzContentProvider BZ_TYPE_CONTENT_PROVIDER object property=debug_mode gboolean G_TYPE_BOOLEAN boolean property=disable_blocklists gboolean G_TYPE_BOOLEAN boolean property=donation_prompt_dismissed gboolean G_TYPE_BOOLEAN boolean property=entry_factory BzApplicationMapFactory BZ_TYPE_APPLICATION_MAP_FACTORY object property=flathub BzFlathubState BZ_TYPE_FLATHUB_STATE object property=has_flathub gboolean G_TYPE_BOOLEAN boolean property=have_connection gboolean G_TYPE_BOOLEAN boolean property=hide_eol gboolean G_TYPE_BOOLEAN boolean property=internal_config BzInternalConfig BZ_TYPE_INTERNAL_CONFIG object property=main_config BzMainConfig BZ_TYPE_MAIN_CONFIG object property=metered_connection gboolean G_TYPE_BOOLEAN boolean property=recently_synced gboolean G_TYPE_BOOLEAN boolean property=online gboolean G_TYPE_BOOLEAN boolean property=repositories GListModel G_TYPE_LIST_MODEL object property=search_engine BzSearchEngine BZ_TYPE_SEARCH_ENGINE object property=settings GSettings G_TYPE_SETTINGS object property=show_only_flathub gboolean G_TYPE_BOOLEAN boolean property=show_only_foss gboolean G_TYPE_BOOLEAN boolean property=show_only_verified gboolean G_TYPE_BOOLEAN boolean property=syncing gboolean G_TYPE_BOOLEAN boolean property=system_icon_theme GtkIconTheme GTK_TYPE_ICON_THEME object property=transaction_manager BzTransactionManager BZ_TYPE_TRANSACTION_MANAGER object property=txt_blocklists GListModel G_TYPE_LIST_MODEL object property=txt_blocklists_provider BzContentProvider BZ_TYPE_CONTENT_PROVIDER object property=user_icon_theme GtkIconTheme GTK_TYPE_ICON_THEME object property=parental_blocked_ids GListModel G_TYPE_LIST_MODEL object property=parental_age_rating int G_TYPE_INT int �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-stats-dialog.blp���������������������������������������������������0000664�0000000�0000000�00000004701�15234476640�0021562�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzStatsDialog: Adw.BreakpointBin { width-request: 360; height-request: 450; child: Adw.ToolbarView { bottom-bar-style: raised_border; [top] Adw.HeaderBar { title-widget: Adw.ViewSwitcher switcher_title { visible: bind $logical_and($model_has_enough_points(template.model) as <bool>, $invert_boolean($is_null(template.country-model) as <bool>) as <bool>) as <bool>; stack: stack; policy: wide; }; } content: Box { orientation: vertical; Adw.ViewStack stack { vexpand: true; Adw.ViewStackPage { name: "graph"; // TRANSLATORS: page in the statistics dialog title: _("Timeline"); icon-name: "graph2-symbolic"; visible: bind $model_has_enough_points(template.model) as <bool>; child: Box { orientation: vertical; Label { label: bind $format_total_downloads(template.total-downloads) as <string>; halign: end; hexpand: true; margin-end: 34; margin-bottom: 2; styles ["dimmed"] } $BzDataGraph graph { model: bind template.model; // TRANSLATORS: label prefix shown in graph tooltips, for example: "Installs: 42" tooltip-prefix: _("Installs:"); vexpand: true; hexpand: true; } }; } Adw.ViewStackPage { name: "map"; // TRANSLATORS: page in the statistics dialog title: _("World"); icon-name: "globe-symbolic"; child: Box { orientation: vertical; margin-top:10; margin-bottom: 10; $BzWorldMap world_map { model: bind template.country-model; vexpand: true; } Label { label: _("Since 4/15/2024"); halign: center; styles [ "dimmed", "caption" ] } }; } } Adw.ViewSwitcherBar switcher_bar { visible: bind $invert_boolean($is_null(template.country-model) as <bool>) as <bool>; stack: stack; } }; }; Adw.Breakpoint { condition ("max-width: 450sp") setters { switcher_title.stack: null; switcher_bar.reveal: true; } } }���������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-stats-dialog.c�����������������������������������������������������0000664�0000000�0000000�00000013560�15234476640�0021232�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-stats-dialog.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-data-graph.h" #include "bz-stats-dialog.h" #include "template-callbacks.h" #include "bz-world-map.h" struct _BzStatsDialog { AdwBreakpointBin parent_instance; GListModel *model; GListModel *country_model; int total_downloads; /* Template widgets */ AdwViewStack *stack; BzDataGraph *graph; BzWorldMap *world_map; }; G_DEFINE_FINAL_TYPE (BzStatsDialog, bz_stats_dialog, ADW_TYPE_BREAKPOINT_BIN) enum { PROP_0, PROP_MODEL, PROP_COUNTRY_MODEL, PROP_TOTAL_DOWNLOADS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_stats_dialog_dispose (GObject *object) { BzStatsDialog *self = BZ_STATS_DIALOG (object); g_clear_object (&self->model); g_clear_object (&self->country_model); G_OBJECT_CLASS (bz_stats_dialog_parent_class)->dispose (object); } static void bz_stats_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzStatsDialog *self = BZ_STATS_DIALOG (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, self->model); break; case PROP_COUNTRY_MODEL: g_value_set_object (value, self->country_model); break; case PROP_TOTAL_DOWNLOADS: g_value_set_int (value, self->total_downloads); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_stats_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzStatsDialog *self = BZ_STATS_DIALOG (object); switch (prop_id) { case PROP_MODEL: g_clear_object (&self->model); self->model = g_value_dup_object (value); break; case PROP_COUNTRY_MODEL: g_clear_object (&self->country_model); self->country_model = g_value_dup_object (value); break; case PROP_TOTAL_DOWNLOADS: self->total_downloads = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * format_total_downloads (gpointer object, int value) { if (value <= 0) return g_strdup ("---"); if (value >= 1000000) /* Translators: M is the suffix for millions */ return g_strdup_printf (_ ("%.2fM Total Installs"), value / 1000000.0); else if (value >= 1000) /* Translators: K is the suffix for thousands*/ return g_strdup_printf (_ ("%.2fK Total Installs"), value / 1000.0); else return g_strdup_printf (_ ("%'d Total Installs"), value); } static gboolean model_has_enough_points (gpointer object, GListModel *model) { if (model == NULL) return FALSE; return g_list_model_get_n_items (model) >= 10; } static void bz_stats_dialog_class_init (BzStatsDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_stats_dialog_dispose; object_class->get_property = bz_stats_dialog_get_property; object_class->set_property = bz_stats_dialog_set_property; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_COUNTRY_MODEL] = g_param_spec_object ( "country-model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE); props[PROP_TOTAL_DOWNLOADS] = g_param_spec_int ( "total-downloads", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_DATA_GRAPH); g_type_ensure (BZ_TYPE_WORLD_MAP); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-stats-dialog.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_callback (widget_class, format_total_downloads); gtk_widget_class_bind_template_callback (widget_class, model_has_enough_points); gtk_widget_class_bind_template_child (widget_class, BzStatsDialog, stack); gtk_widget_class_bind_template_child (widget_class, BzStatsDialog, graph); gtk_widget_class_bind_template_child (widget_class, BzStatsDialog, world_map); } static void bz_stats_dialog_init (BzStatsDialog *self) { gtk_widget_init_template (GTK_WIDGET (self)); } AdwBreakpointBin * bz_stats_dialog_new (GListModel *model, GListModel *country_model, int total_downloads) { BzStatsDialog *stats_dialog = NULL; stats_dialog = g_object_new ( BZ_TYPE_STATS_DIALOG, "model", model, "country-model", country_model, "total-downloads", total_downloads, NULL); return ADW_BREAKPOINT_BIN (stats_dialog); } void bz_stats_dialog_animate_open (BzStatsDialog *self) { g_return_if_fail (BZ_IS_STATS_DIALOG (self)); bz_data_graph_animate_open (self->graph); } ������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-stats-dialog.h�����������������������������������������������������0000664�0000000�0000000�00000002245�15234476640�0021235�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-stats-dialog.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_STATS_DIALOG (bz_stats_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzStatsDialog, bz_stats_dialog, BZ, STATS_DIALOG, AdwBreakpointBin) AdwBreakpointBin * bz_stats_dialog_new (GListModel *model, GListModel *country_model, int total_downloads); void bz_stats_dialog_animate_open (BzStatsDialog *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-subcategory-list.c�������������������������������������������������0000664�0000000�0000000�00000024570�15234476640�0022142�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-subcategory-list.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include <libdex.h> #include "bz-apps-page.h" #include "bz-flathub-state.h" #include "bz-flathub-sub-category.h" #include "bz-subcategory-list.h" #include "util.h" #include "bz-window.h" struct _BzSubcategoryList { GtkBox parent_instance; BzFlathubCategory *category; BzFlathubState *flathub_state; DexFuture *task; }; G_DEFINE_FINAL_TYPE (BzSubcategoryList, bz_subcategory_list, GTK_TYPE_BOX); enum { PROP_0, PROP_CATEGORY, PROP_FLATHUB_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * search_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzSubcategoryList) self = NULL; g_autoptr (GError) local_error = NULL; GtkRoot *root = NULL; const GValue *value = NULL; bz_weak_get_or_return_reject (self, wr); root = gtk_widget_get_root (GTK_WIDGET (self)); value = dex_future_get_value (future, &local_error); if (value != NULL) { GListModel *model = NULL; guint n_items = 0; model = g_value_get_object (value); n_items = g_list_model_get_n_items (model); if (n_items <= 1) { AdwToast *toast = adw_toast_new (_ ("No Results Found")); bz_window_add_toast (BZ_WINDOW (root), toast); } else { const char *subcategory_name = NULL; g_autofree char *subtitle = NULL; AdwNavigationPage *apps_page = NULL; GtkWidget *nav_view = NULL; subcategory_name = g_object_get_data (G_OBJECT (self), "current-subcategory"); subtitle = g_strdup_printf (_ ("%d Applications"), n_items); apps_page = bz_apps_page_new (subcategory_name, model); bz_apps_page_set_subtitle (BZ_APPS_PAGE (apps_page), subtitle); nav_view = gtk_widget_get_ancestor (GTK_WIDGET (self), ADW_TYPE_NAVIGATION_VIEW); adw_navigation_view_push (ADW_NAVIGATION_VIEW (nav_view), apps_page); } } else { AdwToast *toast = adw_toast_new (_ ("Search failed")); bz_window_add_toast (BZ_WINDOW (root), toast); g_warning ("Search failed: %s", local_error->message); } dex_clear (&self->task); return dex_future_new_true (); } static void subcategory_button_clicked_cb (BzSubcategoryList *self, GtkButton *button) { g_autoptr (DexFuture) future = NULL; const char *category = NULL; const char *label = NULL; g_autofree char *route = NULL; g_return_if_fail (BZ_IS_SUBCATEGORY_LIST (self)); g_return_if_fail (GTK_IS_BUTTON (button)); if (self->flathub_state == NULL) return; if (self->category == NULL) return; if (self->task != NULL) return; category = bz_flathub_category_get_name (self->category); if (category == NULL || *category == '\0') return; label = gtk_button_get_label (button); if (label == NULL || *label == '\0') return; g_object_set_data_full (G_OBJECT (self), "current-subcategory", g_strdup (label), g_free); route = g_strdup (g_object_get_data (G_OBJECT (button), "subcategory-id")); if (route == NULL) return; future = bz_flathub_state_search_collection (self->flathub_state, route); future = dex_future_finally ( future, (DexFutureCallback) search_finally, bz_track_weak (self), bz_weak_release); self->task = g_steal_pointer (&future); } static void rebuild_subcategories (BzSubcategoryList *self) { GtkWidget *child; GListModel *subcategories; guint n_items; dex_clear (&self->task); while ((child = gtk_widget_get_first_child (GTK_WIDGET (self))) != NULL) gtk_box_remove (GTK_BOX (self), child); if (self->category == NULL) { gtk_widget_set_visible (GTK_WIDGET (self), FALSE); return; } subcategories = bz_flathub_category_get_subcategories (self->category); if (subcategories == NULL) { gtk_widget_set_visible (GTK_WIDGET (self), FALSE); return; } n_items = g_list_model_get_n_items (subcategories); if (n_items == 0) { gtk_widget_set_visible (GTK_WIDGET (self), FALSE); return; } gtk_widget_set_visible (GTK_WIDGET (self), TRUE); for (guint i = 0; i < n_items; i++) { g_autoptr (BzFlathubSubCategory) subcategory = NULL; const char *label = NULL; const char *subcat_id = NULL; const char *category = NULL; g_autofree char *route = NULL; GtkWidget *button = NULL; subcategory = g_list_model_get_item (subcategories, i); if (subcategory == NULL) continue; label = bz_flathub_sub_category_get_name(subcategory); subcat_id = bz_flathub_sub_category_get_id(subcategory); category = bz_flathub_category_get_name (self->category); route = g_strdup_printf ("/collection/category/%s/subcategories?subcategory=%s", category, subcat_id); button = gtk_button_new_with_label (label); gtk_widget_add_css_class (button, "small-pill"); g_object_set_data_full (G_OBJECT (button), "subcategory-id", g_steal_pointer (&route), g_free); g_signal_connect_swapped (button, "clicked", G_CALLBACK (subcategory_button_clicked_cb), self); gtk_box_append (GTK_BOX (self), button); } } static void bz_subcategory_list_dispose (GObject *object) { BzSubcategoryList *self = BZ_SUBCATEGORY_LIST (object); dex_clear (&self->task); g_clear_object (&self->category); g_clear_object (&self->flathub_state); G_OBJECT_CLASS (bz_subcategory_list_parent_class)->dispose (object); } static void bz_subcategory_list_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzSubcategoryList *self = BZ_SUBCATEGORY_LIST (object); switch (prop_id) { case PROP_CATEGORY: g_value_set_object (value, bz_subcategory_list_get_category (self)); break; case PROP_FLATHUB_STATE: g_value_set_object (value, bz_subcategory_list_get_flathub_state (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_subcategory_list_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzSubcategoryList *self = BZ_SUBCATEGORY_LIST (object); switch (prop_id) { case PROP_CATEGORY: bz_subcategory_list_set_category (self, g_value_get_object (value)); break; case PROP_FLATHUB_STATE: bz_subcategory_list_set_flathub_state (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_subcategory_list_class_init (BzSubcategoryListClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_subcategory_list_set_property; object_class->get_property = bz_subcategory_list_get_property; object_class->dispose = bz_subcategory_list_dispose; props[PROP_CATEGORY] = g_param_spec_object ( "category", NULL, NULL, BZ_TYPE_FLATHUB_CATEGORY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_FLATHUB_STATE] = g_param_spec_object ( "flathub-state", NULL, NULL, BZ_TYPE_FLATHUB_STATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_subcategory_list_init (BzSubcategoryList *self) { GtkLayoutManager *layout; gtk_orientable_set_orientation (GTK_ORIENTABLE (self), GTK_ORIENTATION_HORIZONTAL); gtk_widget_set_visible (GTK_WIDGET (self), FALSE); layout = GTK_LAYOUT_MANAGER (adw_wrap_layout_new ()); adw_wrap_layout_set_child_spacing (ADW_WRAP_LAYOUT (layout), 8); adw_wrap_layout_set_line_spacing (ADW_WRAP_LAYOUT (layout), 8); gtk_widget_set_layout_manager (GTK_WIDGET (self), layout); } GtkWidget * bz_subcategory_list_new (void) { return g_object_new (BZ_TYPE_SUBCATEGORY_LIST, NULL); } BzFlathubCategory * bz_subcategory_list_get_category (BzSubcategoryList *self) { g_return_val_if_fail (BZ_IS_SUBCATEGORY_LIST (self), NULL); return self->category; } void bz_subcategory_list_set_category (BzSubcategoryList *self, BzFlathubCategory *category) { g_return_if_fail (BZ_IS_SUBCATEGORY_LIST (self)); g_return_if_fail (category == NULL || BZ_IS_FLATHUB_CATEGORY (category)); g_clear_object (&self->category); if (category != NULL) self->category = g_object_ref (category); rebuild_subcategories (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CATEGORY]); } BzFlathubState * bz_subcategory_list_get_flathub_state (BzSubcategoryList *self) { g_return_val_if_fail (BZ_IS_SUBCATEGORY_LIST (self), NULL); return self->flathub_state; } void bz_subcategory_list_set_flathub_state (BzSubcategoryList *self, BzFlathubState *flathub_state) { g_return_if_fail (BZ_IS_SUBCATEGORY_LIST (self)); g_return_if_fail (flathub_state == NULL || BZ_IS_FLATHUB_STATE (flathub_state)); g_clear_object (&self->flathub_state); if (flathub_state != NULL) self->flathub_state = g_object_ref (flathub_state); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FLATHUB_STATE]); } ����������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-subcategory-list.h�������������������������������������������������0000664�0000000�0000000�00000003005�15234476640�0022135�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-subcategory-list.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-flathub-category.h" #include "bz-flathub-state.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_SUBCATEGORY_LIST (bz_subcategory_list_get_type ()) G_DECLARE_FINAL_TYPE (BzSubcategoryList, bz_subcategory_list, BZ, SUBCATEGORY_LIST, GtkBox) GtkWidget *bz_subcategory_list_new (void); BzFlathubCategory *bz_subcategory_list_get_category (BzSubcategoryList *self); void bz_subcategory_list_set_category (BzSubcategoryList *self, BzFlathubCategory *category); BzFlathubState *bz_subcategory_list_get_flathub_state (BzSubcategoryList *self); void bz_subcategory_list_set_flathub_state (BzSubcategoryList *self, BzFlathubState *flathub_state); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-themed-entry-group-rect.c������������������������������������������0000664�0000000�0000000�00000017060�15234476640�0023330�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-themed-entry-group-rect.c * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <adwaita.h> #include "bz-themed-entry-group-rect.h" struct _BzThemedEntryGroupRect { GtkWidget parent_instance; GtkWidget *child; BzEntryGroup *group; }; G_DEFINE_FINAL_TYPE (BzThemedEntryGroupRect, bz_themed_entry_group_rect, GTK_TYPE_WIDGET); enum { PROP_0, PROP_CHILD, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_themed_entry_group_rect_dispose (GObject *object) { BzThemedEntryGroupRect *self = BZ_THEMED_ENTRY_GROUP_RECT (object); g_clear_pointer (&self->child, gtk_widget_unparent); g_clear_pointer (&self->group, g_object_unref); G_OBJECT_CLASS (bz_themed_entry_group_rect_parent_class)->dispose (object); } static void bz_themed_entry_group_rect_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzThemedEntryGroupRect *self = BZ_THEMED_ENTRY_GROUP_RECT (object); switch (prop_id) { case PROP_CHILD: g_value_set_object (value, bz_themed_entry_group_rect_get_child (self)); break; case PROP_GROUP: g_value_set_object (value, bz_themed_entry_group_rect_get_group (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_themed_entry_group_rect_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzThemedEntryGroupRect *self = BZ_THEMED_ENTRY_GROUP_RECT (object); switch (prop_id) { case PROP_CHILD: bz_themed_entry_group_rect_set_child (self, g_value_get_object (value)); break; case PROP_GROUP: bz_themed_entry_group_rect_set_group (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_themed_entry_group_rect_allocate (GtkWidget *widget, int width, int height, int baseline) { BzThemedEntryGroupRect *self = BZ_THEMED_ENTRY_GROUP_RECT (widget); if (self->child != NULL) gtk_widget_allocate (self->child, width, height, baseline, NULL); gtk_widget_queue_draw (widget); } static void bz_themed_entry_group_rect_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzThemedEntryGroupRect *self = BZ_THEMED_ENTRY_GROUP_RECT (widget); double widget_width = 0.0; double widget_height = 0.0; const char *light_color = NULL; const char *dark_color = NULL; GdkRGBA light_rgba = { 0 }; GdkRGBA dark_rgba = { 0 }; gboolean is_dark = FALSE; widget_width = (double) gtk_widget_get_width (widget); widget_height = (double) gtk_widget_get_height (widget); if (self->group != NULL) { light_color = bz_entry_group_get_light_accent_color (self->group); dark_color = bz_entry_group_get_dark_accent_color (self->group); } if (light_color != NULL) gdk_rgba_parse (&light_rgba, light_color); else gdk_rgba_parse (&light_rgba, "#ebebed"); if (dark_color != NULL) gdk_rgba_parse (&dark_rgba, dark_color); else gdk_rgba_parse (&dark_rgba, "#2e2e32"); is_dark = adw_style_manager_get_dark (adw_style_manager_get_default ()); gtk_snapshot_push_opacity (snapshot, 0.70); gtk_snapshot_append_color ( snapshot, is_dark ? &dark_rgba : &light_rgba, &GRAPHENE_RECT_INIT (0.0, 0.0, widget_width, widget_height)); gtk_snapshot_pop (snapshot); if (self->child != NULL) gtk_widget_snapshot_child (widget, self->child, snapshot); } static void bz_themed_entry_group_rect_class_init (BzThemedEntryGroupRectClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_themed_entry_group_rect_set_property; object_class->get_property = bz_themed_entry_group_rect_get_property; object_class->dispose = bz_themed_entry_group_rect_dispose; widget_class->size_allocate = bz_themed_entry_group_rect_allocate; widget_class->snapshot = bz_themed_entry_group_rect_snapshot; props[PROP_CHILD] = g_param_spec_object ( "child", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void dark_changed (BzThemedEntryGroupRect *self, GParamSpec *pspec, AdwStyleManager *mgr) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void bz_themed_entry_group_rect_init (BzThemedEntryGroupRect *self) { g_signal_connect_object ( adw_style_manager_get_default (), "notify::dark", G_CALLBACK (dark_changed), self, G_CONNECT_SWAPPED); } GtkWidget * bz_themed_entry_group_rect_new (void) { return g_object_new (BZ_TYPE_THEMED_ENTRY_GROUP_RECT, NULL); } BzEntryGroup * bz_themed_entry_group_rect_get_group (BzThemedEntryGroupRect *self) { g_return_val_if_fail (BZ_IS_THEMED_ENTRY_GROUP_RECT (self), NULL); return self->group; } void bz_themed_entry_group_rect_set_group (BzThemedEntryGroupRect *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_THEMED_ENTRY_GROUP_RECT (self)); g_clear_pointer (&self->group, g_object_unref); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } GtkWidget * bz_themed_entry_group_rect_get_child (BzThemedEntryGroupRect *self) { g_return_val_if_fail (BZ_IS_THEMED_ENTRY_GROUP_RECT (self), NULL); return self->child; } void bz_themed_entry_group_rect_set_child (BzThemedEntryGroupRect *self, GtkWidget *child) { g_return_if_fail (BZ_THEMED_ENTRY_GROUP_RECT (self)); g_return_if_fail (child == NULL || GTK_IS_WIDGET (child)); if (self->child == child) return; if (child != NULL) g_return_if_fail (gtk_widget_get_parent (child) == NULL); g_clear_pointer (&self->child, gtk_widget_unparent); self->child = child; if (child != NULL) gtk_widget_set_parent (child, GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD]); } /* End of bz-themed-entry-group-rect.c */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-themed-entry-group-rect.h������������������������������������������0000664�0000000�0000000�00000003100�15234476640�0023323�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-themed-entry-group-rect.h * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "bz-entry-group.h" G_BEGIN_DECLS #define BZ_TYPE_THEMED_ENTRY_GROUP_RECT (bz_themed_entry_group_rect_get_type ()) G_DECLARE_FINAL_TYPE (BzThemedEntryGroupRect, bz_themed_entry_group_rect, BZ, THEMED_ENTRY_GROUP_RECT, GtkWidget) GtkWidget * bz_themed_entry_group_rect_new (void); BzEntryGroup * bz_themed_entry_group_rect_get_group (BzThemedEntryGroupRect *self); void bz_themed_entry_group_rect_set_group (BzThemedEntryGroupRect *self, BzEntryGroup *group); GtkWidget * bz_themed_entry_group_rect_get_child (BzThemedEntryGroupRect *self); void bz_themed_entry_group_rect_set_child (BzThemedEntryGroupRect *self, GtkWidget *child); G_END_DECLS /* End of bz-themed-entry-group-rect.h */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transact-icon-info.txt���������������������������������������������0000664�0000000�0000000�00000000552�15234476640�0022727�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=transact_icon_info parent-prefix=g parent-name=object author=AUTOGEN include="bz-state-info.h" property=state BzStateInfo BZ_TYPE_STATE_INFO object property=group BzEntryGroup BZ_TYPE_ENTRY_GROUP object property=paintable GdkPaintable GDK_TYPE_PAINTABLE object property=tracker BzTransactionEntryTracker BZ_TYPE_TRANSACTION_ENTRY_TRACKER object ������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transact-icon.c����������������������������������������������������0000664�0000000�0000000�00000036543�15234476640�0021412�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transact-icon.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <bge.h> #include "bz-application.h" #include "bz-lazy-wdgt.h" #include "bz-transact-icon.h" #include "progress-bar-designs/common.h" struct _BzTransactIcon { AdwBin parent_instance; BzTransactIconInfo *info; GSettings *settings; BzTransactionManager *ts_manager; GListModel *trackers; BzTransactionEntryTracker *tracker; char *pride_class; BzLazyWdgt *wdgt; }; G_DEFINE_FINAL_TYPE (BzTransactIcon, bz_transact_icon, ADW_TYPE_BIN); enum { PROP_0, PROP_INFO, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void apply_state (BzTransactIcon *self); static void update_tracker (BzTransactIcon *self); static void check_tracker (BzTransactIcon *self); static void ensure_draw_css (BzTransactIcon *self); static void update_icon (BzTransactIcon *self); static void info_state_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactIconInfo *info); static void info_group_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactIconInfo *info); static void info_paintable_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactIconInfo *info); static void trackers_items_changed (BzTransactIcon *self, guint position, guint removed, guint added, GListModel *model); static void tracker_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactionEntryTracker *tracker); static void pride_flag_changed (BzTransactIcon *self, const char *key, GSettings *settings); static gboolean next_frame_tick_cb (GtkWidget *widget, GdkFrameClock *frame_clock, char *apply_state); static void bz_transact_icon_dispose (GObject *object) { BzTransactIcon *self = BZ_TRANSACT_ICON (object); if (self->info != NULL) { g_signal_handlers_disconnect_by_func ( self->info, info_state_notify, self); g_signal_handlers_disconnect_by_func ( self->info, info_group_notify, self); g_signal_handlers_disconnect_by_func ( self->info, info_paintable_notify, self); } g_clear_pointer (&self->info, g_object_unref); if (self->trackers != NULL) g_signal_handlers_disconnect_by_func ( self->trackers, trackers_items_changed, self); if (self->tracker != NULL) g_signal_handlers_disconnect_by_func ( self->tracker, tracker_notify, self); if (self->settings != NULL) g_signal_handlers_disconnect_by_func ( self->settings, pride_flag_changed, self); g_clear_object (&self->settings); g_clear_object (&self->ts_manager); g_clear_object (&self->trackers); g_clear_object (&self->tracker); g_clear_pointer (&self->pride_class, g_free); G_OBJECT_CLASS (bz_transact_icon_parent_class)->dispose (object); } static void bz_transact_icon_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzTransactIcon *self = BZ_TRANSACT_ICON (object); switch (prop_id) { case PROP_INFO: g_value_set_object (value, bz_transact_icon_get_info (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_transact_icon_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzTransactIcon *self = BZ_TRANSACT_ICON (object); switch (prop_id) { case PROP_INFO: bz_transact_icon_set_info (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_transact_icon_class_init (BzTransactIconClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_transact_icon_set_property; object_class->get_property = bz_transact_icon_get_property; object_class->dispose = bz_transact_icon_dispose; props[PROP_INFO] = g_param_spec_object ( "info", NULL, NULL, BZ_TYPE_TRANSACT_ICON_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_transact_icon_init (BzTransactIcon *self) { GtkWidget *placeholder_icon = NULL; self->wdgt = bz_lazy_wdgt_new (); bz_lazy_wdgt_set_wdgt_resource (self->wdgt, "/io/github/kolunmi/Bazaar/bz-transact-icon.wdgt"); g_object_bind_property (self, "info", self->wdgt, "wdgt-reference", G_BINDING_DEFAULT); adw_bin_set_child (ADW_BIN (self), GTK_WIDGET (self->wdgt)); placeholder_icon = gtk_image_new (); gtk_widget_add_css_class (placeholder_icon, "icon-dropshadow"); g_object_bind_property (self, "height-request", placeholder_icon, "pixel-size", G_BINDING_SYNC_CREATE); adw_bin_set_child (ADW_BIN (self->wdgt), placeholder_icon); update_icon (self); } BzTransactIcon * bz_transact_icon_new (void) { return g_object_new (BZ_TYPE_TRANSACT_ICON, NULL); } BzTransactIconInfo * bz_transact_icon_get_info (BzTransactIcon *self) { g_return_val_if_fail (BZ_IS_TRANSACT_ICON (self), NULL); return self->info; } void bz_transact_icon_set_info (BzTransactIcon *self, BzTransactIconInfo *info) { g_return_if_fail (BZ_IS_TRANSACT_ICON (self)); g_return_if_fail (info == NULL || BZ_IS_TRANSACT_ICON_INFO (info)); if (info == self->info) return; if (self->info != NULL) { g_signal_handlers_disconnect_by_func ( self->info, info_state_notify, self); g_signal_handlers_disconnect_by_func ( self->info, info_group_notify, self); g_signal_handlers_disconnect_by_func ( self->info, info_paintable_notify, self); } g_clear_pointer (&self->info, g_object_unref); if (info != NULL) { self->info = g_object_ref (info); g_signal_connect_swapped (self->info, "notify::state", G_CALLBACK (info_state_notify), self); g_signal_connect_swapped (self->info, "notify::group", G_CALLBACK (info_group_notify), self); g_signal_connect_swapped (self->info, "notify::paintable", G_CALLBACK (info_paintable_notify), self); } apply_state (self); update_icon (self); bz_transact_icon_info_set_state ( info, bz_state_info_get_default ()); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INFO]); } static void apply_state (BzTransactIcon *self) { if (self->trackers != NULL) g_signal_handlers_disconnect_by_func ( self->trackers, trackers_items_changed, self); if (self->tracker != NULL) g_signal_handlers_disconnect_by_func ( self->tracker, tracker_notify, self); if (self->settings != NULL) g_signal_handlers_disconnect_by_func ( self->settings, pride_flag_changed, self); g_clear_object (&self->settings); g_clear_object (&self->ts_manager); g_clear_object (&self->trackers); g_clear_object (&self->tracker); if (self->info != NULL) { BzStateInfo *state = NULL; state = bz_transact_icon_info_get_state (self->info); if (state != NULL) { g_object_get ( state, "transaction-manager", &self->ts_manager, "settings", &self->settings, NULL); if (self->ts_manager != NULL) { g_object_get ( self->ts_manager, "all-trackers", &self->trackers, NULL); if (self->trackers != NULL) g_signal_connect_swapped ( self->trackers, "items-changed", G_CALLBACK (trackers_items_changed), self); } if (self->settings != NULL) { g_signal_connect_swapped ( self->settings, "changed::global-progress-bar-theme", G_CALLBACK (pride_flag_changed), self); } } } update_tracker (self); ensure_draw_css (self); } static void update_tracker (BzTransactIcon *self) { g_autoptr (BzTransactionEntryTracker) found = NULL; if (self->trackers != NULL) { BzEntryGroup *group = NULL; group = bz_transact_icon_info_get_group (self->info); if (group != NULL) { const char *id = NULL; guint n_trackers = 0; id = bz_entry_group_get_id (group); n_trackers = g_list_model_get_n_items (self->trackers); for (guint i = 0; i < n_trackers; i++) { g_autoptr (BzTransactionEntryTracker) tracker = NULL; BzEntry *entry = NULL; tracker = g_list_model_get_item (self->trackers, i); entry = bz_transaction_entry_tracker_get_entry (tracker); if (entry == NULL) continue; if (g_strcmp0 (bz_entry_get_id (entry), id) == 0) { found = g_steal_pointer (&tracker); break; } } } } bz_transact_icon_info_set_tracker (self->info, found); if (found != self->tracker) { if (self->tracker != NULL) g_signal_handlers_disconnect_by_func ( self->tracker, tracker_notify, self); g_clear_object (&self->tracker); if (found != NULL) { self->tracker = g_object_ref (found); g_signal_connect_swapped (self->tracker, "notify::active", G_CALLBACK (tracker_notify), self); g_signal_connect_swapped (self->tracker, "notify::pending", G_CALLBACK (tracker_notify), self); g_signal_connect_swapped (self->tracker, "notify::status", G_CALLBACK (tracker_notify), self); } check_tracker (self); } } static void check_tracker (BzTransactIcon *self) { const char *state = NULL; if (self->tracker != NULL) { gboolean active = FALSE; gboolean pending = FALSE; BzTransactionEntryStatus status = 0; active = bz_transaction_entry_tracker_get_active (self->tracker); pending = bz_transaction_entry_tracker_get_pending (self->tracker); status = bz_transaction_entry_tracker_get_status (self->tracker); if ((active || pending) && status == BZ_TRANSACTION_ENTRY_STATUS_CANCELLED) state = "inactive"; else if (pending || status == BZ_TRANSACTION_ENTRY_STATUS_QUEUED) state = "pending"; else if (!active || status == BZ_TRANSACTION_ENTRY_STATUS_DONE) state = "inactive"; else state = "fraction"; } else state = "inactive"; if (!bz_lazy_wdgt_get_activated (self->wdgt)) { /* Ensure smooth animation from idle; hacky but if we schedule the state change on the next animation tick, then it will appear to smoothly animate from the placeholder */ bz_lazy_wdgt_set_wdgt_state (self->wdgt, "inactive"); gtk_widget_add_tick_callback ( GTK_WIDGET (self), (GtkTickCallback) next_frame_tick_cb, g_strdup (state), g_free); } else bz_lazy_wdgt_set_wdgt_state (self->wdgt, state); update_icon (self); ensure_draw_css (self); } static void ensure_draw_css (BzTransactIcon *self) { GtkWidget *renderer = NULL; g_autoptr (GtkWidget) widget = NULL; g_autofree char *id = NULL; g_autofree char *class = NULL; renderer = adw_bin_get_child (ADW_BIN (self->wdgt)); if (!BGE_IS_WDGT_RENDERER (renderer)) return; widget = bge_wdgt_renderer_lookup_object (BGE_WDGT_RENDERER (renderer), "flag"); if (self->settings == NULL) { if (self->pride_class != NULL) gtk_widget_remove_css_class (widget, self->pride_class); g_clear_pointer (&self->pride_class, g_free); return; } id = g_settings_get_string (self->settings, "global-progress-bar-theme"); class = bz_dup_css_class_for_pride_id (id); if (self->pride_class != NULL && g_strcmp0 (self->pride_class, class) == 0) return; if (self->pride_class != NULL) gtk_widget_remove_css_class (widget, self->pride_class); g_clear_pointer (&self->pride_class, g_free); gtk_widget_add_css_class (widget, class); self->pride_class = g_steal_pointer (&class); } static void update_icon (BzTransactIcon *self) { GtkWidget *renderer = NULL; g_autoptr (GtkWidget) icon = NULL; GdkPaintable *paintable = NULL; renderer = adw_bin_get_child (ADW_BIN (self->wdgt)); if (BGE_IS_WDGT_RENDERER (renderer)) icon = bge_wdgt_renderer_lookup_object (BGE_WDGT_RENDERER (renderer), "icon"); else icon = g_object_ref (renderer); if (self->info != NULL) paintable = bz_transact_icon_info_get_paintable (self->info); if (paintable != NULL) gtk_image_set_from_paintable (GTK_IMAGE (icon), paintable); else gtk_image_set_from_icon_name (GTK_IMAGE (icon), "application-x-executable"); } static void info_state_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactIconInfo *info) { apply_state (self); } static void info_group_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactIconInfo *info) { update_tracker (self); } static void info_paintable_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactIconInfo *info) { update_icon (self); } static void trackers_items_changed (BzTransactIcon *self, guint position, guint removed, guint added, GListModel *model) { update_tracker (self); } static void tracker_notify (BzTransactIcon *self, GParamSpec *pspec, BzTransactionEntryTracker *tracker) { check_tracker (self); } static void pride_flag_changed (BzTransactIcon *self, const char *key, GSettings *settings) { ensure_draw_css (self); } static gboolean next_frame_tick_cb (GtkWidget *widget, GdkFrameClock *frame_clock, char *apply_state) { BzTransactIcon *self = BZ_TRANSACT_ICON (widget); bz_lazy_wdgt_set_wdgt_state (self->wdgt, apply_state); return G_SOURCE_REMOVE; } /* End of bz-transact-icon.c */ �������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transact-icon.h����������������������������������������������������0000664�0000000�0000000�00000002355�15234476640�0021411�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transact-icon.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-transact-icon-info.h" G_BEGIN_DECLS #define BZ_TYPE_TRANSACT_ICON (bz_transact_icon_get_type ()) G_DECLARE_FINAL_TYPE (BzTransactIcon, bz_transact_icon, BZ, TRANSACT_ICON, AdwBin) BzTransactIcon * bz_transact_icon_new (void); BzTransactIconInfo * bz_transact_icon_get_info (BzTransactIcon *self); void bz_transact_icon_set_info (BzTransactIcon *self, BzTransactIconInfo *info); G_END_DECLS /* End of bz-transact-icon.h */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transact-icon.wdgt�������������������������������������������������0000664�0000000�0000000�00000005713�15234476640�0022130�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������defwidget "Transact Icon" { reference info : "BzTransactIconInfo"; var progress : "gdouble"; var icon-scale : "gdouble"; var flag : "GtkFixed"; var icon : "GtkImage"; var start : "gdouble"; var end : "gdouble"; var path : "GskPath"; var path-measure : "GskPathMeasure"; var path-width : "gdouble"; var path-opacity : "gdouble"; init { set progress = #transition(info:tracker:progress, 1.1, 0.1, 10.0); set flag = #child/(""("transact-icon-flag") can-target = false;); allocate flag #eval(#(%width%)+#(path-width)*2.0), #eval(#(%height%)+#(path-width)*2.0), #(translate(#GraphenePoint(#eval(-#(path-width)), #eval(-#(path-width))));); set icon = #child/(""("icon-dropshadow") pixel-size = #ifelse(#<(%height%, 1), 1, %height%); ); allocate icon %width%, %height%, #(); set path = #GskPath( add-circle( #GraphenePoint(#eval(#(%width%)/2.0), #eval(#(%height%)/2.0)), #eval(#(%height%)/2.0), ); ); set path-measure = #measure-path(path); snapshot { save { move translate(#GraphenePoint(#eval((#(%width%)/2.0)*(1.0-#(icon-scale))), #eval((#(%height%)/2.0)*(1.0-#(icon-scale))))); move scale(icon-scale, icon-scale); do-child icon; } save { move translate(#GraphenePoint(0.0, %height%)); move rotate(-90.0); with opacity(path-opacity) { with stroke( #GskPath( add-segment( path, #path-point(path-measure, #eval((#(start)%1.0)*#(#path-length(path-measure)))), #path-point(path-measure, #eval((#(end)%1.0)*#(#path-length(path-measure)))), ); ), #GskStroke(path-width, round, round, 0.0), ) { move rotate(90.0); move translate(#GraphenePoint(0.0, #eval(-#(%height%)))); do-child flag; } } } } } state-default "inactive" { set icon-scale = 1.0; transition-spring icon-scale 1.0, 0.1, 15.0; set start = 0.0; set end = 1.0; set path-opacity = 0.0; transition-spring path-opacity 1.0, 0.1, 10.0; set path-width = 3.0; transition-spring path-width 1.0, 0.1, 5.0; } state "pending" { set icon-scale = 0.6; transition-spring icon-scale 1.0, 0.1, 15.0; set start = #eval((#(%tick%)*0.5)%1.0); set end = #eval(#(start)+0.2); set path-opacity = 1.0; transition-spring path-opacity 1.0, 0.1, 5.0; set path-width = 3.0; transition-spring path-width 1.0, 0.1, 5.0; } state "fraction" { set icon-scale = 0.6; transition-spring icon-scale 1.0, 0.1, 15.0; set start = 0.0; set end = #eval(0.05+#(progress)*0.95); set path-opacity = 1.0; transition-spring path-opacity 1.0, 0.1, 5.0; set path-width = 3.0; transition-spring path-width 1.0, 0.1, 5.0; } } �����������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-dialog-result.txt��������������������������������������0000664�0000000�0000000�00000000424�15234476640�0024325�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=transaction_dialog_result parent-prefix=g parent-name=object author=AUTOGEN include="bz-entry.h" property=selected_entry BzEntry BZ_TYPE_ENTRY object property=delete_user_data gboolean G_TYPE_BOOLEAN boolean property=confirmed gboolean G_TYPE_BOOLEAN boolean ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-dialog.c�����������������������������������������������0000664�0000000�0000000�00000053655�15234476640�0022432�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-dialog.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-application.h" #include "bz-entry-selection-row.h" #include "env.h" #include "error.h" #include "bz-flatpak-entry.h" #include "safety-calculator.h" #include "bz-state-info.h" #include "bz-transaction-dialog.h" #include "bz-transaction-list-dialog.h" #include "util.h" static gboolean should_skip_entry (BzEntry *entry, gboolean remove) { gboolean is_installed; if (bz_entry_is_holding (entry)) return TRUE; if (!remove && !bz_entry_is_reinstallable (entry)) return TRUE; is_installed = bz_entry_is_installed (entry); return (!remove && is_installed) || (remove && !is_installed); } static GtkWidget * create_entry_radio_button (BzEntry *entry, GtkWidget **out_radio) { BzStateInfo *state_info = NULL; GListModel *repositories = NULL; g_autoptr (BzRepository) repo = NULL; BzEntrySelectionRow *row = NULL; GtkCheckButton *radio = NULL; state_info = bz_state_info_get_default (); repositories = bz_state_info_get_repositories (state_info); if (repositories != NULL) repo = bz_entry_get_repository (entry, repositories); row = bz_entry_selection_row_new (BZ_FLATPAK_ENTRY (entry), repo); radio = bz_entry_selection_row_get_radio (row); if (out_radio != NULL) *out_radio = GTK_WIDGET (radio); return GTK_WIDGET (row); } static GPtrArray * create_entry_radio_buttons (AdwAlertDialog *alert, GListStore *store, gboolean remove) { g_autoptr (GPtrArray) radios = NULL; GtkWidget *container = NULL; container = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); radios = g_ptr_array_new (); if (store != NULL) { guint n_total_entries = g_list_model_get_n_items (G_LIST_MODEL (store)); if (n_total_entries > 1) { GtkWidget *listbox = NULL; GtkCheckButton *first_valid_radio = NULL; GtkCheckButton *dummy_radio = NULL; listbox = gtk_list_box_new (); gtk_list_box_set_selection_mode (GTK_LIST_BOX (listbox), GTK_SELECTION_NONE); gtk_widget_add_css_class (listbox, "boxed-list"); dummy_radio = GTK_CHECK_BUTTON (gtk_check_button_new ()); for (guint i = 0; i < n_total_entries; i++) { g_autoptr (BzEntry) entry = NULL; GtkWidget *row = NULL; GtkWidget *radio = NULL; gboolean should_skip = FALSE; entry = g_list_model_get_item (G_LIST_MODEL (store), i); should_skip = should_skip_entry (entry, remove); row = create_entry_radio_button (entry, &radio); g_ptr_array_add (radios, radio); gtk_check_button_set_group (GTK_CHECK_BUTTON (radio), dummy_radio); if (should_skip) { gtk_widget_set_sensitive (row, FALSE); gtk_widget_set_sensitive (radio, FALSE); } else { if (first_valid_radio == NULL) { gtk_check_button_set_active (GTK_CHECK_BUTTON (radio), TRUE); first_valid_radio = (GtkCheckButton *) radio; } } gtk_list_box_append (GTK_LIST_BOX (listbox), row); } gtk_box_append (GTK_BOX (container), listbox); } } if (remove) { GtkWidget *listbox = NULL; GtkWidget *keep_data_row = NULL; GtkWidget *delete_data_row = NULL; GtkWidget *keep_radio = NULL; GtkWidget *delete_radio = NULL; listbox = gtk_list_box_new (); gtk_list_box_set_selection_mode (GTK_LIST_BOX (listbox), GTK_SELECTION_NONE); gtk_widget_add_css_class (listbox, "boxed-list"); keep_data_row = adw_action_row_new (); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (keep_data_row), _ ("Keep User Data")); adw_action_row_set_subtitle (ADW_ACTION_ROW (keep_data_row), _ ("Allow restoring personal settings & content")); keep_radio = gtk_check_button_new (); gtk_widget_set_valign (keep_radio, GTK_ALIGN_CENTER); gtk_check_button_set_active (GTK_CHECK_BUTTON (keep_radio), TRUE); adw_action_row_add_prefix (ADW_ACTION_ROW (keep_data_row), keep_radio); adw_action_row_set_activatable_widget (ADW_ACTION_ROW (keep_data_row), keep_radio); gtk_list_box_append (GTK_LIST_BOX (listbox), keep_data_row); delete_data_row = adw_action_row_new (); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (delete_data_row), _ ("Delete All Data")); adw_action_row_set_subtitle (ADW_ACTION_ROW (delete_data_row), _ ("Permanently erase user data to save space")); delete_radio = gtk_check_button_new (); gtk_widget_set_valign (delete_radio, GTK_ALIGN_CENTER); gtk_check_button_set_group (GTK_CHECK_BUTTON (delete_radio), GTK_CHECK_BUTTON (keep_radio)); adw_action_row_add_prefix (ADW_ACTION_ROW (delete_data_row), delete_radio); adw_action_row_set_activatable_widget (ADW_ACTION_ROW (delete_data_row), delete_radio); gtk_list_box_append (GTK_LIST_BOX (listbox), delete_data_row); g_ptr_array_add (radios, keep_radio); g_ptr_array_add (radios, delete_radio); gtk_box_append (GTK_BOX (container), listbox); } adw_alert_dialog_set_extra_child (alert, container); return g_steal_pointer (&radios); } static void configure_install_dialog (AdwAlertDialog *alert, const char *title, const char *id, gboolean has_multiple_entries) { g_autofree char *heading = NULL; heading = g_strdup_printf (_ ("Install %s?"), title); adw_alert_dialog_set_heading (alert, heading); if (has_multiple_entries) adw_alert_dialog_set_body (alert, _ ("Select which version to install. May install additional shared components")); else adw_alert_dialog_set_body (alert, _ ("May install additional shared components")); adw_alert_dialog_add_responses (alert, "cancel", _ ("_Cancel"), "install", _ ("_Install"), NULL); adw_alert_dialog_set_response_appearance (alert, "install", ADW_RESPONSE_SUGGESTED); adw_alert_dialog_set_default_response (alert, "install"); adw_alert_dialog_set_close_response (alert, "cancel"); } static void configure_remove_dialog (AdwAlertDialog *alert, const char *title, const char *id, gboolean has_multiple_entries) { g_autofree char *heading = NULL; g_autofree char *body = NULL; heading = g_strdup_printf (_ ("Remove %s?"), title); if (has_multiple_entries) body = g_strdup (_ ("Select which version to remove.")); else body = g_strdup_printf (_ ("It will not be possible to use %s after it is uninstalled."), title); adw_alert_dialog_set_heading (alert, heading); adw_alert_dialog_set_body (alert, body); adw_alert_dialog_add_responses (alert, "cancel", _ ("_Cancel"), "remove", _ ("_Remove"), NULL); adw_alert_dialog_set_response_appearance (alert, "remove", ADW_RESPONSE_DESTRUCTIVE); adw_alert_dialog_set_default_response (alert, "remove"); adw_alert_dialog_set_close_response (alert, "cancel"); } static void configure_high_risk_warning_dialog (AdwAlertDialog *alert, const char *title, BzHighRiskGroup risk_groups) { g_autofree char *heading = NULL; g_autofree char *body = NULL; heading = g_strdup_printf (_ ("“%s” is High Risk"), title); if (risk_groups & BZ_HIGH_RISK_GROUP_DISK) { body = g_strdup (_ ("This app has full access to your system, including all " "<b>your files, browser history, saved passwords</b>, and " "more. It also has access to the internet, meaning it " "could send your data to outside parties.\n\n" "Because the app is proprietary, it can not be audited " "for what it does with these permissions.")); } else if (risk_groups & BZ_HIGH_RISK_GROUP_X11) { body = g_strdup (_ ("This app uses the legacy X11 windowing system, which " "allows it to <b>record all keystrokes, capture screenshots, " "and monitor other applications</b>. It also has access " "to the internet, meaning it could send your data to " "outside parties.\n\n" "Because the app is proprietary, it can not be audited " "for what it does with these permissions.")); } adw_alert_dialog_set_heading (alert, heading); adw_alert_dialog_set_body (alert, body); adw_alert_dialog_set_body_use_markup (alert, TRUE); adw_alert_dialog_set_prefer_wide_layout (alert, TRUE); adw_alert_dialog_add_responses (alert, "cancel", _ ("_Cancel"), "install", _ ("_Install Anyway"), NULL); adw_alert_dialog_set_response_appearance (alert, "install", ADW_RESPONSE_DESTRUCTIVE); adw_alert_dialog_set_default_response (alert, "cancel"); adw_alert_dialog_set_close_response (alert, "cancel"); } static BzHighRiskGroup get_entry_high_risk_groups (BzEntry *entry) { if (bz_entry_get_is_foss (entry)) return BZ_HIGH_RISK_GROUP_NONE; return bz_safety_calculator_get_high_risk_groups (entry); } BZ_DEFINE_DATA ( show_dialog, ShowDialog, { GtkWidget *parent; BzEntry *entry; BzEntryGroup *group; gboolean remove; gboolean auto_confirm; }, BZ_RELEASE_DATA (entry, g_object_unref); BZ_RELEASE_DATA (group, g_object_unref)) static DexFuture * show_dialog_fiber (ShowDialogData *data) { g_autoptr (GError) local_error = NULL; g_autoptr (GListStore) store = NULL; const char *title = NULL; const char *id = NULL; g_autoptr (AdwDialog) alert = NULL; g_autoptr (AdwDialog) risk_alert = NULL; g_autoptr (GPtrArray) radios = NULL; g_autofree char *dialog_response = NULL; g_autofree char *risk_response = NULL; g_autoptr (BzTransactionDialogResult) result = NULL; g_autoptr (BzEntry) check_entry = NULL; BzHighRiskGroup risk_groups = BZ_HIGH_RISK_GROUP_NONE; guint n_total_entries = 0; gboolean confirmed = 0; result = bz_transaction_dialog_result_new (); if (data->group != NULL) { store = dex_await_object (bz_entry_group_dup_all_into_store (data->group), &local_error); if (store == NULL) { bz_show_error_for_widget (data->parent, _ ("Failed to load transaction dialog"), local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } for (guint i = g_list_model_get_n_items (G_LIST_MODEL (store)); i > 0; i--) { g_autoptr (BzEntry) entry = NULL; entry = g_list_model_get_item (G_LIST_MODEL (store), i - 1); if (!bz_entry_is_reinstallable (entry) && (!data->remove || !bz_entry_is_installed (entry))) g_list_store_remove (store, i - 1); } title = bz_entry_group_get_title (data->group); id = bz_entry_group_get_id (data->group); n_total_entries = g_list_model_get_n_items (G_LIST_MODEL (store)); if (n_total_entries > 0) check_entry = g_list_model_get_item (G_LIST_MODEL (store), 0); } else { title = bz_entry_get_title (data->entry); id = bz_entry_get_id (data->entry); check_entry = g_object_ref (data->entry); } if (!data->remove && check_entry != NULL) risk_groups = get_entry_high_risk_groups (check_entry); if (risk_groups != BZ_HIGH_RISK_GROUP_NONE) { risk_alert = g_object_ref_sink (adw_alert_dialog_new (NULL, NULL)); configure_high_risk_warning_dialog (ADW_ALERT_DIALOG (risk_alert), title, risk_groups); adw_dialog_present (risk_alert, data->parent); risk_response = dex_await_string ( bz_make_alert_dialog_future (ADW_ALERT_DIALOG (risk_alert)), &local_error); if (risk_response == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); if (g_strcmp0 (risk_response, "install") != 0) { bz_transaction_dialog_result_set_confirmed (result, FALSE); return dex_future_new_for_object (result); } data->auto_confirm = TRUE; } alert = g_object_ref_sink (adw_alert_dialog_new (NULL, NULL)); if (data->remove) configure_remove_dialog (ADW_ALERT_DIALOG (alert), title, id, n_total_entries > 1); else configure_install_dialog (ADW_ALERT_DIALOG (alert), title, id, n_total_entries > 1); radios = create_entry_radio_buttons (ADW_ALERT_DIALOG (alert), store, data->remove); if (!data->remove && data->auto_confirm && radios->len <= 1) { dialog_response = g_strdup ("install"); g_ptr_array_set_size (radios, 0); g_clear_object (&alert); } else if (data->remove && data->auto_confirm && radios->len <= 1) { dialog_response = g_strdup ("remove"); g_ptr_array_set_size (radios, 0); g_clear_object (&alert); } else { adw_dialog_present (alert, data->parent); dialog_response = dex_await_string ( bz_make_alert_dialog_future (ADW_ALERT_DIALOG (alert)), &local_error); if (dialog_response == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); if (data->remove && radios->len >= 2) { GtkCheckButton *delete_radio = g_ptr_array_index (radios, radios->len - 1); bz_transaction_dialog_result_set_delete_user_data (result, gtk_check_button_get_active (delete_radio)); } } confirmed = (g_strcmp0 (dialog_response, "install") == 0) || (g_strcmp0 (dialog_response, "remove") == 0); bz_transaction_dialog_result_set_confirmed (result, confirmed); if (!confirmed) return dex_future_new_for_object (result); if (data->group != NULL) { guint n_entries = g_list_model_get_n_items (G_LIST_MODEL (store)); for (guint i = 0; i < MIN (n_entries, radios->len); i++) { GtkCheckButton *check = g_ptr_array_index (radios, i); if (gtk_check_button_get_active (check)) { g_autoptr (BzEntry) entry = NULL; entry = g_list_model_get_item (G_LIST_MODEL (store), i); bz_transaction_dialog_result_set_selected_entry (result, entry); break; } } if (bz_transaction_dialog_result_get_selected_entry (result) == NULL && n_entries > 0) { g_autoptr (BzEntry) entry = NULL; entry = g_list_model_get_item (G_LIST_MODEL (store), 0); bz_transaction_dialog_result_set_selected_entry (result, entry); } } else bz_transaction_dialog_result_set_selected_entry (result, data->entry); return dex_future_new_for_object (result); } DexFuture * bz_transaction_dialog_show (GtkWidget *parent, BzEntry *entry, BzEntryGroup *group, gboolean remove, gboolean auto_confirm) { g_autoptr (ShowDialogData) data = NULL; g_return_val_if_fail (GTK_IS_WIDGET (parent), NULL); g_return_val_if_fail (entry != NULL || group != NULL, NULL); data = show_dialog_data_new (); data->parent = parent; data->entry = bz_object_maybe_ref (entry); data->group = bz_object_maybe_ref (group); data->remove = remove; data->auto_confirm = auto_confirm; return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) show_dialog_fiber, g_steal_pointer (&data), show_dialog_data_unref); } BZ_DEFINE_DATA ( bulk_install_dialog, BulkInstallDialog, { GtkWidget *parent; GListModel *groups; }, BZ_RELEASE_DATA (groups, g_object_unref)); static DexFuture * bulk_install_dialog_fiber (BulkInstallDialogData *data) { g_autoptr (GError) local_error = NULL; g_autoptr (BzBulkInstallDialogResult) result = NULL; g_autoptr (GPtrArray) resolved_entries = NULL; g_autoptr (GListStore) entries_store = NULL; AdwDialog *dialog = NULL; g_autofree char *dialog_response = NULL; g_autofree char *heading = NULL; guint n_groups = 0; gboolean confirmed = FALSE; result = bz_bulk_install_dialog_result_new (); resolved_entries = g_ptr_array_new_with_free_func (g_object_unref); if (data->groups == NULL) { bz_bulk_install_dialog_result_set_confirmed (result, FALSE); return dex_future_new_for_object (result); } n_groups = g_list_model_get_n_items (data->groups); for (guint i = 0; i < n_groups; i++) { g_autoptr (BzEntryGroup) group = NULL; g_autoptr (GListStore) store = NULL; g_autoptr (BzEntry) entry = NULL; group = g_list_model_get_item (data->groups, i); if (bz_entry_group_get_removable (group) > 0) continue; store = dex_await_object (bz_entry_group_dup_all_into_store (group), &local_error); if (store == NULL || g_list_model_get_n_items (G_LIST_MODEL (store)) == 0) continue; entry = g_list_model_get_item (G_LIST_MODEL (store), 0); if (entry == NULL) continue; if (bz_entry_is_installed (entry) || bz_entry_is_holding (entry)) continue; g_ptr_array_add (resolved_entries, g_object_ref (entry)); } if (resolved_entries->len == 0) { g_autoptr (AdwDialog) info_alert = NULL; info_alert = g_object_ref_sink (adw_alert_dialog_new ( _ ("All apps are already installed"), NULL)); adw_alert_dialog_add_response (ADW_ALERT_DIALOG (info_alert), "ok", _ ("_OK")); adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (info_alert), "ok"); adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (info_alert), "ok"); adw_dialog_present (info_alert, data->parent); dex_await (bz_make_alert_dialog_future (ADW_ALERT_DIALOG (info_alert)), NULL); bz_bulk_install_dialog_result_set_confirmed (result, FALSE); return dex_future_new_for_object (result); } entries_store = g_list_store_new (BZ_TYPE_ENTRY); for (guint i = 0; i < resolved_entries->len; i++) g_list_store_append (entries_store, g_ptr_array_index (resolved_entries, i)); heading = g_strdup_printf (ngettext ("Install %u App?", "Install %u Apps?", resolved_entries->len), resolved_entries->len); dialog = bz_transaction_list_dialog_new ( G_LIST_MODEL (entries_store), heading, _ ("The following will be installed. Additional shared components may also be installed"), _ ("%d addons will be installed."), _ ("Additionally, addons will be installed."), _ ("_Cancel"), _ ("_Install All")); adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "confirm"); adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (dialog), "cancel"); adw_dialog_present (dialog, data->parent); dialog_response = dex_await_string ( bz_make_alert_dialog_future (ADW_ALERT_DIALOG (dialog)), &local_error); if (dialog_response == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); confirmed = bz_transaction_list_dialog_was_confirmed ( BZ_TRANSACTION_LIST_DIALOG (dialog)); bz_bulk_install_dialog_result_set_confirmed (result, confirmed); if (confirmed) { g_autoptr (GListStore) store = NULL; store = g_list_store_new (BZ_TYPE_ENTRY); for (guint i = 0; i < resolved_entries->len; i++) { BzEntry *entry = g_ptr_array_index (resolved_entries, i); g_list_store_append (store, entry); } bz_bulk_install_dialog_result_set_entries (result, G_LIST_MODEL (store)); } return dex_future_new_for_object (result); } DexFuture * bz_bulk_install_dialog_show (GtkWidget *parent, GListModel *groups) { g_autoptr (BulkInstallDialogData) data = NULL; g_return_val_if_fail (GTK_IS_WIDGET (parent), NULL); g_return_val_if_fail (G_IS_LIST_MODEL (groups), NULL); data = bulk_install_dialog_data_new (); data->parent = parent; data->groups = g_object_ref (groups); return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) bulk_install_dialog_fiber, g_steal_pointer (&data), bulk_install_dialog_data_unref); } �����������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-dialog.h�����������������������������������������������0000664�0000000�0000000�00000002542�15234476640�0022424�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-dialog.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-bulk-install-dialog-result.h" #include "bz-entry-group.h" #include "bz-transaction-dialog-result.h" G_BEGIN_DECLS DexFuture *bz_transaction_dialog_show (GtkWidget *parent, BzEntry *entry, BzEntryGroup *group, gboolean remove, gboolean auto_confirm); DexFuture *bz_bulk_install_dialog_show (GtkWidget *parent, GListModel *groups); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-entry-tracker.txt��������������������������������������0000664�0000000�0000000�00000001302�15234476640�0024340�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=transaction_entry_tracker parent-prefix=g parent-name=object author=AUTOGEN enum=bz transaction_entry_kind install update removal enum=bz transaction_entry_status queued ongoing done cancelled include=<gtk/gtk.h> include="bz-entry.h" property=entry BzEntry BZ_TYPE_ENTRY object property=current_ops GListModel G_TYPE_LIST_MODEL object property=finished_ops GListModel G_TYPE_LIST_MODEL object property=kind BzTransactionEntryKind BZ_TYPE_TRANSACTION_ENTRY_KIND enum property=status BzTransactionEntryStatus BZ_TYPE_TRANSACTION_ENTRY_STATUS enum property=progress double G_TYPE_DOUBLE double property=pending gboolean G_TYPE_BOOLEAN boolean property=active gboolean G_TYPE_BOOLEAN boolean ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-list-dialog.blp����������������������������������������0000664�0000000�0000000�00000004273�15234476640�0023726�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzTransactionListDialog: Adw.AlertDialog { extra-child: ScrolledWindow { width-request: 300; propagate-natural-height: true; overflow: hidden; vexpand: true; hscrollbar-policy: never; child: Box { orientation: vertical; spacing: 5; ListView list_view { styles [ "navigation-sidebar", ] model: NoSelection selection_model {}; factory: BuilderListItemFactory { template ListItem { activatable: false; child: Box { orientation: horizontal; margin-top: 5; margin-bottom: 5; spacing: 6; Image { icon-size: large; paintable: bind template.item as <$BzEntry>.icon-paintable; visible: bind $invert_boolean($is_null(template.item as <$BzEntry>.icon-paintable) as <bool>) as <bool>; } Image { icon-size: large; icon-name: "application-x-executable"; visible: bind $is_null(template.item as <$BzEntry>.icon-paintable) as <bool>; } Box { orientation: vertical; spacing: 3; Label { styles [ "heading", ] hexpand: true; xalign: 0.0; ellipsize: end; single-line-mode: true; label: bind template.item as <$BzEntry>.title; } Label { styles [ "dimmed", ] hexpand: true; xalign: 0.0; wrap: true; wrap-mode: word_char; single-line-mode: true; selectable: true; label: bind template.item as <$BzEntry>.id; } } }; } }; } Label secondary_label { styles [ "dimmed", ] visible: false; wrap: true; justify: center; } }; }; }�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-list-dialog.c������������������������������������������0000664�0000000�0000000�00000013477�15234476640�0023401�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-list-dialog.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-entry.h" #include "bz-transaction-list-dialog.h" struct _BzTransactionListDialog { AdwAlertDialog parent_instance; GListModel *entries; gboolean confirmed; GtkFilterListModel *app_filter; /* Template widgets */ GtkNoSelection *selection_model; GtkLabel *secondary_label; }; G_DEFINE_FINAL_TYPE (BzTransactionListDialog, bz_transaction_list_dialog, ADW_TYPE_ALERT_DIALOG) static gboolean match_for_app (BzEntry *item, gpointer user_data); static void on_response (AdwAlertDialog *alert, gchar *response, BzTransactionListDialog *self); static void bz_transaction_list_dialog_dispose (GObject *object) { BzTransactionListDialog *self = BZ_TRANSACTION_LIST_DIALOG (object); g_clear_object (&self->entries); g_clear_object (&self->app_filter); G_OBJECT_CLASS (bz_transaction_list_dialog_parent_class)->dispose (object); } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static void bz_transaction_list_dialog_class_init (BzTransactionListDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_transaction_list_dialog_dispose; gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-transaction-list-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, BzTransactionListDialog, selection_model); gtk_widget_class_bind_template_child (widget_class, BzTransactionListDialog, secondary_label); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); } static void bz_transaction_list_dialog_init (BzTransactionListDialog *self) { GtkCustomFilter *filter = NULL; gtk_widget_init_template (GTK_WIDGET (self)); g_signal_connect (self, "response", G_CALLBACK (on_response), self); filter = gtk_custom_filter_new ((GtkCustomFilterFunc) match_for_app, NULL, NULL); self->app_filter = gtk_filter_list_model_new (NULL, GTK_FILTER (filter)); gtk_no_selection_set_model (self->selection_model, G_LIST_MODEL (self->app_filter)); } static void on_response (AdwAlertDialog *alert, gchar *response, BzTransactionListDialog *self) { self->confirmed = g_strcmp0 (response, "confirm") == 0; } AdwDialog * bz_transaction_list_dialog_new (GListModel *entries, const gchar *heading, const gchar *body, const gchar *body_no_apps, const gchar *secondary_label, const gchar *cancel_label, const gchar *confirm_label) { BzTransactionListDialog *dialog = NULL; guint n_total = 0; guint n_apps = 0; guint n_other = 0; g_return_val_if_fail (G_IS_LIST_MODEL (entries), NULL); dialog = g_object_new (BZ_TYPE_TRANSACTION_LIST_DIALOG, NULL); dialog->entries = g_object_ref (entries); gtk_filter_list_model_set_model (dialog->app_filter, entries); adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "cancel", cancel_label); adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "confirm", confirm_label); adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dialog), "confirm", ADW_RESPONSE_SUGGESTED); adw_alert_dialog_set_heading (ADW_ALERT_DIALOG (dialog), heading); n_total = g_list_model_get_n_items (entries); n_apps = g_list_model_get_n_items (G_LIST_MODEL (dialog->app_filter)); n_other = n_total - n_apps; if (n_total > 0) { if (n_apps == 0 && body_no_apps != NULL) { g_autofree char *formatted_body = NULL; formatted_body = g_strdup_printf (body_no_apps, n_other); adw_alert_dialog_set_body (ADW_ALERT_DIALOG (dialog), formatted_body); adw_alert_dialog_set_extra_child (ADW_ALERT_DIALOG (dialog), NULL); } else { adw_alert_dialog_set_body (ADW_ALERT_DIALOG (dialog), body); if (n_other > 0 && secondary_label != NULL) { g_autofree char *formatted_label = NULL; formatted_label = g_strdup_printf (secondary_label, n_other); gtk_label_set_label (dialog->secondary_label, formatted_label); gtk_widget_set_visible (GTK_WIDGET (dialog->secondary_label), TRUE); } } } return ADW_DIALOG (dialog); } gboolean bz_transaction_list_dialog_was_confirmed (BzTransactionListDialog *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_LIST_DIALOG (self), FALSE); return self->confirmed; } static gboolean match_for_app (BzEntry *item, gpointer user_data) { return bz_entry_is_of_kinds (item, BZ_ENTRY_KIND_APPLICATION); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-list-dialog.h������������������������������������������0000664�0000000�0000000�00000002775�15234476640�0023405�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-list-dialog.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_TRANSACTION_LIST_DIALOG (bz_transaction_list_dialog_get_type ()) G_DECLARE_FINAL_TYPE (BzTransactionListDialog, bz_transaction_list_dialog, BZ, TRANSACTION_LIST_DIALOG, AdwAlertDialog) AdwDialog * bz_transaction_list_dialog_new (GListModel *entries, const gchar *heading, const gchar *body, const gchar *body_no_apps, const gchar *secondary_label, const gchar *cancel_label, const gchar *confirm_label); gboolean bz_transaction_list_dialog_was_confirmed (BzTransactionListDialog *self); G_END_DECLS ���bazaar-org-bazaar-917017d/src/bz-transaction-manager.c����������������������������������������������0000664�0000000�0000000�00000065010�15234476640�0022571�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-manager.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::TRANSACTIONS" #include "config.h" #include <glib/gi18n.h> #include "bz-backend-transaction-op-payload.h" #include "bz-backend-transaction-op-progress-payload.h" #include "env.h" #include "bz-marshalers.h" #include "bz-transaction-manager.h" #include "util.h" /* clang-format off */ G_DEFINE_QUARK (bz-transaction-mgr-error-quark, bz_transaction_mgr_error); /* clang-format on */ enum { HOOK_CONTINUE, HOOK_STOP, HOOK_CONFIRM, HOOK_DENY, }; static inline void finish_queued_schedule_data (gpointer ptr); BZ_DEFINE_DATA ( queued_schedule, QueuedSchedule, { GWeakRef *self; BzTransaction *transaction; DexPromise *promise; GTimer *timer; }, finish_queued_schedule_data (self);) struct _BzTransactionManager { GObject parent_instance; BzMainConfig *config; BzBackend *backend; gboolean paused; GListStore *transactions; double current_progress; gboolean pending; QueuedScheduleData *current; DexFuture *loop; GtkFlattenListModel *all_trackers; GtkFilterListModel *install_trackers; GtkFilterListModel *removal_trackers; GQueue queue; }; G_DEFINE_FINAL_TYPE (BzTransactionManager, bz_transaction_manager, G_TYPE_OBJECT) enum { PROP_0, PROP_CONFIG, PROP_BACKEND, PROP_PAUSED, PROP_TRANSACTIONS, PROP_HAS_TRANSACTIONS, PROP_ACTIVE, PROP_PENDING, PROP_CURRENT_PROGRESS, PROP_INSTALL_TRACKERS, PROP_REMOVAL_TRACKERS, PROP_ALL_TRACKERS, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_SUCCESS, SIGNAL_FAILURE, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static DexFuture * transaction_fiber (QueuedScheduleData *data); static DexFuture * transaction_finally (DexFuture *future, QueuedScheduleData *data); static DexFuture * then_loop_cb (DexFuture *future, GWeakRef *wr); static DexFuture * dispatch_next (BzTransactionManager *self); static void bz_transaction_manager_dispose (GObject *object) { BzTransactionManager *self = BZ_TRANSACTION_MANAGER (object); g_clear_object (&self->config); g_clear_object (&self->backend); g_clear_object (&self->transactions); g_queue_clear_full (&self->queue, queued_schedule_data_unref); g_clear_pointer (&self->current, queued_schedule_data_unref); dex_clear (&self->loop); G_OBJECT_CLASS (bz_transaction_manager_parent_class)->dispose (object); } static void bz_transaction_manager_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzTransactionManager *self = BZ_TRANSACTION_MANAGER (object); switch (prop_id) { case PROP_CONFIG: g_value_set_boxed (value, bz_transaction_manager_get_config (self)); break; case PROP_BACKEND: g_value_set_object (value, bz_transaction_manager_get_backend (self)); break; case PROP_PAUSED: g_value_set_boolean (value, bz_transaction_manager_get_paused (self)); break; case PROP_TRANSACTIONS: g_value_set_object (value, self->transactions); break; case PROP_HAS_TRANSACTIONS: g_value_set_boolean (value, bz_transaction_manager_get_has_transactions (self)); break; case PROP_ACTIVE: g_value_set_boolean (value, bz_transaction_manager_get_active (self)); break; case PROP_PENDING: g_value_set_boolean (value, bz_transaction_manager_get_pending (self)); break; case PROP_CURRENT_PROGRESS: g_value_set_double (value, self->current_progress); break; case PROP_INSTALL_TRACKERS: g_value_set_object (value, self->install_trackers); break; case PROP_REMOVAL_TRACKERS: g_value_set_object (value, self->removal_trackers); break; case PROP_ALL_TRACKERS: g_value_set_object (value, self->all_trackers); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_transaction_manager_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzTransactionManager *self = BZ_TRANSACTION_MANAGER (object); switch (prop_id) { case PROP_CONFIG: bz_transaction_manager_set_config (self, g_value_get_boxed (value)); break; case PROP_BACKEND: bz_transaction_manager_set_backend (self, g_value_get_object (value)); break; case PROP_PAUSED: bz_transaction_manager_set_paused (self, g_value_get_boolean (value)); break; case PROP_TRANSACTIONS: case PROP_HAS_TRANSACTIONS: case PROP_ACTIVE: case PROP_PENDING: case PROP_CURRENT_PROGRESS: case PROP_INSTALL_TRACKERS: case PROP_REMOVAL_TRACKERS: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean filter_install_trackers (gpointer item, gpointer user_data) { BzTransactionEntryTracker *tracker = NULL; BzTransactionEntryKind kind = 0; tracker = BZ_TRANSACTION_ENTRY_TRACKER (item); if (tracker == NULL) return FALSE; kind = bz_transaction_entry_tracker_get_kind (tracker); return kind == BZ_TRANSACTION_ENTRY_KIND_INSTALL || kind == BZ_TRANSACTION_ENTRY_KIND_UPDATE; } static gboolean filter_removal_trackers (gpointer item, gpointer user_data) { BzTransactionEntryTracker *tracker = NULL; tracker = BZ_TRANSACTION_ENTRY_TRACKER (item); if (tracker == NULL) return FALSE; return bz_transaction_entry_tracker_get_kind (tracker) == BZ_TRANSACTION_ENTRY_KIND_REMOVAL; } static gpointer get_trackers_model (gpointer item, gpointer user_data) { BzTransaction *transaction = NULL; g_autoptr (GListModel) trackers = NULL; transaction = BZ_TRANSACTION (item); if (transaction == NULL) return NULL; trackers = g_object_ref (bz_transaction_get_trackers (transaction)); g_object_unref (item); return g_steal_pointer (&trackers); } static void bz_transaction_manager_class_init (BzTransactionManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_transaction_manager_dispose; object_class->get_property = bz_transaction_manager_get_property; object_class->set_property = bz_transaction_manager_set_property; props[PROP_CONFIG] = g_param_spec_object ( "config", NULL, NULL, BZ_TYPE_MAIN_CONFIG, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_BACKEND] = g_param_spec_object ( "backend", NULL, NULL, BZ_TYPE_BACKEND, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_PAUSED] = g_param_spec_boolean ( "paused", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_TRANSACTIONS] = g_param_spec_object ( "transactions", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_HAS_TRANSACTIONS] = g_param_spec_boolean ( "has-transactions", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_ACTIVE] = g_param_spec_boolean ( "active", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_PENDING] = g_param_spec_boolean ( "pending", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_CURRENT_PROGRESS] = g_param_spec_double ( "current-progress", NULL, NULL, 0.0, 1.0, 0.0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_INSTALL_TRACKERS] = g_param_spec_object ( "install-trackers", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_REMOVAL_TRACKERS] = g_param_spec_object ( "removal-trackers", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_ALL_TRACKERS] = g_param_spec_object ( "all-trackers", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_SUCCESS] = g_signal_new ( "success", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, BZ_TYPE_TRANSACTION, 0); g_signal_set_va_marshaller ( signals[SIGNAL_SUCCESS], G_TYPE_FROM_CLASS (klass), bz_marshal_VOID__OBJECT_BOXEDv); signals[SIGNAL_FAILURE] = g_signal_new ( "failure", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, BZ_TYPE_TRANSACTION, 0); g_signal_set_va_marshaller ( signals[SIGNAL_FAILURE], G_TYPE_FROM_CLASS (klass), g_cclosure_marshal_VOID__OBJECTv); } static void bz_transaction_manager_init (BzTransactionManager *self) { GtkCustomFilter *install_filter; GtkCustomFilter *removal_filter; GtkMapListModel *map_model; self->transactions = g_list_store_new (BZ_TYPE_TRANSACTION); g_queue_init (&self->queue); map_model = gtk_map_list_model_new ( g_object_ref (G_LIST_MODEL (self->transactions)), get_trackers_model, NULL, NULL); self->all_trackers = gtk_flatten_list_model_new (G_LIST_MODEL (map_model)); install_filter = gtk_custom_filter_new ( filter_install_trackers, NULL, NULL); self->install_trackers = gtk_filter_list_model_new ( g_object_ref (G_LIST_MODEL (self->all_trackers)), GTK_FILTER (install_filter)); removal_filter = gtk_custom_filter_new ( filter_removal_trackers, NULL, NULL); self->removal_trackers = gtk_filter_list_model_new ( g_object_ref (G_LIST_MODEL (self->all_trackers)), GTK_FILTER (removal_filter)); } BzTransactionManager * bz_transaction_manager_new (void) { return g_object_new (BZ_TYPE_TRANSACTION_MANAGER, NULL); } void bz_transaction_manager_set_config (BzTransactionManager *self, BzMainConfig *config) { g_return_if_fail (BZ_IS_TRANSACTION_MANAGER (self)); g_clear_object (&self->config); if (config != NULL) self->config = g_object_ref (config); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CONFIG]); } BzMainConfig * bz_transaction_manager_get_config (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), NULL); return self->config; } void bz_transaction_manager_set_backend (BzTransactionManager *self, BzBackend *backend) { g_return_if_fail (BZ_IS_TRANSACTION_MANAGER (self)); g_return_if_fail (backend == NULL || BZ_IS_BACKEND (backend)); g_clear_object (&self->backend); if (backend != NULL) self->backend = g_object_ref (backend); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_BACKEND]); } BzBackend * bz_transaction_manager_get_backend (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), NULL); return self->backend; } void bz_transaction_manager_set_paused (BzTransactionManager *self, gboolean paused) { g_return_if_fail (BZ_IS_TRANSACTION_MANAGER (self)); if (!!self->paused == !!paused) return; self->paused = paused; if (!paused) dex_future_disown (dispatch_next (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PAUSED]); } gboolean bz_transaction_manager_get_paused (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), FALSE); return self->paused; } gboolean bz_transaction_manager_get_active (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), FALSE); return self->loop != NULL; } gboolean bz_transaction_manager_get_pending (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), FALSE); return self->loop != NULL && self->pending; } gboolean bz_transaction_manager_get_has_transactions (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), FALSE); return g_list_model_get_n_items (G_LIST_MODEL (self->transactions)) > 0; } GListModel * bz_transaction_manager_get_all_trackers (BzTransactionManager *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_MANAGER (self), NULL); return G_LIST_MODEL (self->all_trackers); } DexFuture * bz_transaction_manager_add (BzTransactionManager *self, BzTransaction *transaction) { g_autoptr (QueuedScheduleData) data = NULL; dex_return_error_if_fail (BZ_IS_TRANSACTION_MANAGER (self)); dex_return_error_if_fail (self->backend != NULL); dex_return_error_if_fail (BZ_IS_TRANSACTION (transaction)); bz_transaction_hold (transaction); if (self->queue.length > 0) { BzTransaction *to_merge[2] = { 0 }; g_autoptr (BzTransaction) new_transaction = NULL; guint position = 0; data = g_queue_pop_head (&self->queue); g_list_store_find (self->transactions, data->transaction, &position); g_assert (position != G_MAXUINT); to_merge[0] = g_steal_pointer (&data->transaction); to_merge[1] = g_object_ref (transaction); new_transaction = bz_transaction_new_merged (to_merge, G_N_ELEMENTS (to_merge)); g_list_store_splice (self->transactions, position, 1, (gpointer *) &new_transaction, 1); for (guint i = 0; i < G_N_ELEMENTS (to_merge); i++) g_object_unref (to_merge[i]); data->transaction = g_steal_pointer (&new_transaction); } else { data = queued_schedule_data_new (); data->self = bz_track_weak (self); data->transaction = g_object_ref (transaction); data->promise = dex_promise_new_cancellable (); g_list_store_insert (self->transactions, 0, transaction); } g_queue_push_head (&self->queue, queued_schedule_data_ref (data)); if (self->loop == NULL && !self->paused) dex_future_disown (dispatch_next (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_TRANSACTIONS]); return dex_ref (data->promise); } void bz_transaction_manager_cancel_current (BzTransactionManager *self) { g_return_if_fail (BZ_IS_TRANSACTION_MANAGER (self)); if (self->current == NULL) return; dex_promise_reject ( self->current->promise, g_error_new (G_IO_ERROR, G_IO_ERROR_CANCELLED, "Cancelled by API")); g_object_set ( self->current->transaction, "status", "Cancelled", "progress", 1.0, "finished", TRUE, "success", FALSE, "error", "Cancelled by API", NULL); g_clear_pointer (&self->current, queued_schedule_data_unref); dex_clear (&self->loop); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ACTIVE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); } void bz_transaction_manager_clear_finished (BzTransactionManager *self) { guint n_items = 0; gboolean had_items = FALSE; g_return_if_fail (BZ_IS_TRANSACTION_MANAGER (self)); n_items = g_list_model_get_n_items (G_LIST_MODEL (self->transactions)); had_items = n_items > 0; for (guint i = 0; i < n_items;) { g_autoptr (BzTransaction) transaction = NULL; gboolean finished = FALSE; transaction = g_list_model_get_item (G_LIST_MODEL (self->transactions), i); g_object_get (transaction, "finished", &finished, NULL); if (finished) { g_list_store_remove (self->transactions, i); n_items--; } else i++; } if (had_items && n_items == 0) g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_TRANSACTIONS]); } static DexFuture * transaction_fiber (QueuedScheduleData *data) { g_autoptr (BzTransactionManager) self = NULL; BzTransaction *transaction = data->transaction; DexPromise *promise = data->promise; g_autoptr (GError) local_error = NULL; g_autoptr (GListStore) store = NULL; g_autoptr (DexChannel) channel = NULL; g_autoptr (DexFuture) future = NULL; g_autoptr (GHashTable) op_set = NULL; g_autoptr (GHashTable) pending_set = NULL; g_autoptr (GHashTable) errored = NULL; GHashTableIter iter = { 0 }; bz_weak_get_or_return_reject (self, data->self); g_object_set ( transaction, "status", "Starting up...", "progress", 0.0, NULL); self->current_progress = 0.0; self->pending = TRUE; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ACTIVE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_PROGRESS]); store = g_list_store_new (BZ_TYPE_TRANSACTION); g_list_store_append (store, transaction); channel = dex_channel_new (0); future = bz_backend_merge_and_schedule_transactions ( self->backend, G_LIST_MODEL (store), channel, dex_promise_get_cancellable (promise)); op_set = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL); pending_set = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL); for (;;) { g_autoptr (GObject) object = NULL; object = dex_await_object (dex_channel_receive (channel), NULL); if (object == NULL) break; if (BZ_IS_BACKEND_TRANSACTION_OP_PAYLOAD (object)) { if (g_hash_table_contains (op_set, object)) { g_autofree char *error = NULL; error = g_object_steal_data (object, "error"); if (error != NULL) bz_transaction_error_out_task ( transaction, BZ_BACKEND_TRANSACTION_OP_PAYLOAD (object), error); else bz_transaction_finish_task ( transaction, BZ_BACKEND_TRANSACTION_OP_PAYLOAD (object)); g_hash_table_remove (op_set, object); if (g_hash_table_contains (pending_set, object)) { g_hash_table_remove (pending_set, object); self->pending = g_hash_table_size (pending_set) == g_hash_table_size (op_set); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); } } else { bz_transaction_add_task ( transaction, BZ_BACKEND_TRANSACTION_OP_PAYLOAD (object)); g_hash_table_replace (op_set, g_object_ref (object), NULL); } } else if (BZ_IS_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD (object)) { const char *status = NULL; gboolean is_estimating = FALSE; double total_progress = 0.0; bz_transaction_update_task ( transaction, BZ_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD (object)); status = bz_backend_transaction_op_progress_payload_get_status ( BZ_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD (object)); is_estimating = bz_backend_transaction_op_progress_payload_get_is_estimating ( BZ_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD (object)); total_progress = bz_backend_transaction_op_progress_payload_get_total_progress ( BZ_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD (object)); g_object_set ( transaction, "pending", is_estimating, "status", status, "progress", total_progress, NULL); self->current_progress = total_progress; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_PROGRESS]); if (is_estimating && !g_hash_table_contains (pending_set, object)) { g_hash_table_replace (pending_set, g_object_ref (object), NULL); self->pending = g_hash_table_size (pending_set) == g_hash_table_size (op_set); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); } else if (!is_estimating && g_hash_table_contains (pending_set, object)) { g_hash_table_remove (pending_set, object); self->pending = g_hash_table_size (pending_set) == g_hash_table_size (op_set); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); } } } /* Finish off tasks that may not have received a final update */ g_hash_table_iter_init (&iter, op_set); for (;;) { BzBackendTransactionOpPayload *payload = NULL; gpointer dummy = NULL; if (!g_hash_table_iter_next ( &iter, (gpointer *) &payload, (gpointer *) &dummy)) break; bz_transaction_error_out_task (transaction, payload, "Cancelled"); } errored = dex_await_boxed (g_steal_pointer (&future), &local_error); if (local_error != NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); if (errored != NULL && g_hash_table_size (errored) > 0) { GHashTableIter errored_iter = { 0 }; gpointer key = NULL; gpointer val = NULL; g_hash_table_iter_init (&errored_iter, errored); g_hash_table_iter_next (&errored_iter, &key, &val); return dex_future_new_for_error (g_error_copy ((GError *) val)); } return dex_future_new_true (); } static DexFuture * transaction_finally (DexFuture *future, QueuedScheduleData *data) { g_autoptr (BzTransactionManager) self = NULL; g_autoptr (GError) local_error = NULL; BzTransaction *transaction = data->transaction; DexPromise *promise = data->promise; GTimer *timer = data->timer; const GValue *value = NULL; g_autofree char *status = NULL; bz_weak_get_or_return_reject (self, data->self); g_timer_stop (timer); status = g_strdup_printf ( _ ("Finished in %.02f seconds"), g_timer_elapsed (data->timer, NULL)); value = dex_future_get_value (future, &local_error); g_object_set ( transaction, "status", status, "progress", 1.0, "success", value != NULL, "error", local_error != NULL ? local_error->message : NULL, "finished", TRUE, NULL); self->current_progress = 1.0; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CURRENT_PROGRESS]); if (value != NULL) { g_signal_emit (self, signals[SIGNAL_SUCCESS], 0, transaction); dex_promise_resolve_boolean (promise, TRUE); } else { g_warning ("Transaction failed to complete: %s", local_error->message); g_signal_emit (self, signals[SIGNAL_FAILURE], 0, transaction); dex_promise_resolve_boolean (promise, FALSE); } return dex_future_new_true (); } static DexFuture * then_loop_cb (DexFuture *future, GWeakRef *wr) { g_autoptr (BzTransactionManager) self = NULL; bz_weak_get_or_return_reject (self, wr); g_clear_pointer (&self->current, queued_schedule_data_unref); return dispatch_next (self); } static DexFuture * dispatch_next (BzTransactionManager *self) { g_autoptr (QueuedScheduleData) data = NULL; g_autoptr (DexFuture) future = NULL; if (self->queue.length == 0 || self->paused) { dex_clear (&self->loop); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ACTIVE]); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_PENDING]); if (self->queue.length == 0) return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "No more futures in queue"); if (self->paused) return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Paused"); } if (self->current != NULL) { QueuedScheduleData *peek = NULL; peek = g_queue_peek_head (&self->queue); return dex_ref (peek->promise); } data = g_queue_pop_tail (&self->queue); g_clear_pointer (&data->timer, g_timer_destroy); data->timer = g_timer_new (); future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) transaction_fiber, queued_schedule_data_ref (data), queued_schedule_data_unref); future = dex_future_finally ( future, (DexFutureCallback) transaction_finally, queued_schedule_data_ref (data), queued_schedule_data_unref); future = dex_future_first ( future, dex_ref (data->promise), NULL); self->current = queued_schedule_data_ref (data); if (self->loop == NULL) self->loop = dex_future_then_loop ( dex_ref (future), (DexFutureCallback) then_loop_cb, bz_track_weak (self), bz_weak_release); return dex_ref (future); } static inline void finish_queued_schedule_data (gpointer ptr) { QueuedScheduleData *data = ptr; g_clear_pointer (&data->self, bz_weak_release); if (data->transaction != NULL) bz_transaction_release (data->transaction); g_clear_object (&data->transaction); if (data->promise != NULL && dex_future_is_pending (DEX_FUTURE (data->promise))) dex_promise_reject ( data->promise, g_error_new (G_IO_ERROR, G_IO_ERROR_CANCELLED, "User data was destroyed")); dex_clear (&data->promise); g_clear_pointer (&data->timer, g_timer_destroy); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-manager.h����������������������������������������������0000664�0000000�0000000�00000005043�15234476640�0022576�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-manager.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-backend.h" #include "bz-main-config.h" #include "bz-transaction.h" G_BEGIN_DECLS #define BZ_TRANSACTION_MGR_ERROR (bz_transaction_mgr_error_quark ()) GQuark bz_transaction_mgr_error_quark (void); typedef enum { BZ_TRANSACTION_MGR_ERROR_CANCELLED_BY_HOOK = 0, } BzTransaction_MgrError; #define BZ_TYPE_TRANSACTION_MANAGER (bz_transaction_manager_get_type ()) G_DECLARE_FINAL_TYPE (BzTransactionManager, bz_transaction_manager, BZ, TRANSACTION_MANAGER, GObject) BzTransactionManager * bz_transaction_manager_new (void); void bz_transaction_manager_set_config (BzTransactionManager *self, BzMainConfig *config); BzMainConfig * bz_transaction_manager_get_config (BzTransactionManager *self); void bz_transaction_manager_set_backend (BzTransactionManager *self, BzBackend *backend); BzBackend * bz_transaction_manager_get_backend (BzTransactionManager *self); void bz_transaction_manager_set_paused (BzTransactionManager *self, gboolean paused); gboolean bz_transaction_manager_get_paused (BzTransactionManager *self); gboolean bz_transaction_manager_get_active (BzTransactionManager *self); gboolean bz_transaction_manager_get_pending (BzTransactionManager *self); gboolean bz_transaction_manager_get_has_transactions (BzTransactionManager *self); GListModel * bz_transaction_manager_get_all_trackers (BzTransactionManager *self); G_GNUC_WARN_UNUSED_RESULT DexFuture * bz_transaction_manager_add (BzTransactionManager *self, BzTransaction *transaction); void bz_transaction_manager_cancel_current (BzTransactionManager *self); void bz_transaction_manager_clear_finished (BzTransactionManager *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-task.txt�����������������������������������������������0000664�0000000�0000000�00000000656�15234476640�0022523�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=transaction_task parent-prefix=g parent-name=object author=AUTOGEN include="bz-backend-transaction-op-payload.h" include="bz-backend-transaction-op-progress-payload.h" property=op BzBackendTransactionOpPayload BZ_TYPE_BACKEND_TRANSACTION_OP_PAYLOAD object property=last_progress BzBackendTransactionOpProgressPayload BZ_TYPE_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD object property=error char G_TYPE_STRING string ����������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-tile.blp�����������������������������������������������0000664�0000000�0000000�00000032653�15234476640�0022456�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzTransactionTile: $BzListTile { child: Adw.Bin { child: Box { orientation: vertical; Box { orientation: horizontal; spacing: 10; margin-top: 10; margin-bottom: 10; margin-start: 10; margin-end: 4; Image { paintable: bind $get_main_icon(template.tracker) as <$GdkPaintable>; pixel-size: 64; valign: start; halign: start; styles [ "icon-dropshadow", ] } Box { valign: center; orientation: vertical; Label { styles [ "transaction-tile-title", ] hexpand: true; ellipsize: end; xalign: 0.0; label: bind template.tracker as <$BzTransactionEntryTracker>.entry as <$BzEntry>.title as <string>; } Revealer progress_bars_revealer { reveal-child: bind $list_has_items(template.tracker as <$BzTransactionEntryTracker>.current-ops) as <bool>; transition-type: slide_down; styles [ "no-min-height", ] child: ListView { styles [ "navigation-sidebar", "installed-list-view", "user-data-list-view" ] visible: bind $invert_boolean($is_transaction_tracker_removal(template.tracker) as <bool>) as <bool>; model: NoSelection { model: bind template.tracker as <$BzTransactionEntryTracker>.current-ops; }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: Box { orientation: vertical; spacing: 3; $BzProgressBar { hexpand: "true"; fraction: bind template.item as <$BzTransactionTask>.last-progress as <$BzBackendTransactionOpProgressPayload>.progress; } Label { styles [ "dimmed", "caption-heading", ] hexpand: true; xalign: 0; ellipsize: end; single-line-mode: true; label: bind $format_download_progress(template.item as <$BzTransactionTask>.last-progress as <$BzBackendTransactionOpProgressPayload>.bytes-transferred, template.item as <$BzTransactionTask>.op as <$BzBackendTransactionOpPayload>.download-size) as <string>; } }; } }; }; } Revealer { reveal-child: bind progress_bars_revealer.reveal-child inverted; child: Box { orientation: horizontal; layout-manager: Adw.WrapLayout { child-spacing: 4; line-spacing: 0; }; Box { visible: bind $is_entry_addon(template.tracker) as <bool>; halign: start; spacing: 4; margin-top: 8; styles [ "green", "colored", "small-pill", "download-size-pill", ] Image { icon-name: "puzzle-piece-symbolic"; pixel-size: 12; } Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: _("App Add-On"); } } Box { visible: bind $is_both($is_entry_runtime(template.tracker) as <bool>, $invert_boolean($is_entry_addon(template.tracker) as <bool>) as <bool>) as <bool>; halign: start; spacing: 4; margin-top: 8; styles [ "blue", "colored", "small-pill", "download-size-pill", ] Image { icon-name: "application-x-sharedlib-symbolic"; pixel-size: 12; } Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: _("Runtime"); } } Box { visible: bind $is_queued(template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>) as <bool>; halign: start; spacing: 4; margin-top: 8; styles [ "grey", "colored", "small-pill", "download-size-pill", ] Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: _("In Queue"); } } Box { visible: bind $is_completed(template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>) as <bool>; halign: start; spacing: 4; margin-top: 8; styles [ "grey", "colored", "small-pill", "download-size-pill", ] Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: _("Done"); } } Box { visible: bind $is_cancelled(template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>) as <bool>; halign: start; spacing: 4; margin-top: 8; styles [ "grey", "colored", "small-pill", "download-size-pill", ] Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: _("Cancelled"); } } Box { visible: bind $is_transaction_tracker_errored(template.tracker as <$BzTransactionEntryTracker>.finished-ops) as <bool>; halign: start; spacing: 4; margin-top: 8; styles [ "error", "colored", "small-pill", "download-size-pill", ] Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: _("Error"); } } Box { halign: start; spacing: 4; margin-top: 8; styles [ "installed-pill", "small-pill", "download-size-pill", ] visible: bind $logical_and($is_transaction_tracker_removal(template.tracker) as <bool>, $is_completed(template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>) as <bool>) as <bool>; Label { styles [ "caption-heading", ] valign: center; xalign: 0.0; label: bind $format_removal_size(template.tracker as <$BzTransactionEntryTracker>.entry as <$BzEntry>.installed-size) as <string>; } } }; } } Box { orientation: horizontal; spacing: 5; Button { visible: bind $is_both( $is_both( $is_both($is_entry_application(template.tracker as <$BzTransactionEntryTracker>) as <bool>, $is_completed(template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>) as <bool>) as <bool>, $is_transaction_tracker_install(template.tracker as <$BzTransactionEntryTracker>) as <bool> ) as <bool>, template.tracker as <$BzTransactionEntryTracker>.entry as <$BzEntry>.installed as <bool> ) as <bool>; valign: center; // TRANSLATORS: Button to launch an installed app label: _("Open"); clicked => $run_cb(template); styles [ "medium-pill", ] } Button { visible: bind $is_ongoing(template.tracker as <$BzTransactionEntryTracker>.status as <$BzTransactionEntryStatus>) as <bool>; icon-name: "media-playback-stop-symbolic"; has-tooltip: true; valign: center; tooltip-text: _("Cancel Transaction"); clicked => $cancel_cb(template); styles [ "flat", ] } ToggleButton toggle { sensitive: bind $invert_boolean($is_empty(template.tracker as <$BzTransactionEntryTracker>.finished-ops) as <bool>) as <bool>; tooltip-text: _("Show Details"); child: Image { pixel-size: 14; icon-name: "go-next-symbolic"; styles [ "accent", ] }; valign: center; styles [ "flat", "circular", "ops-toggle", ] } } } Revealer { reveal-child: bind toggle.active; child: Box { orientation: vertical; styles [ "operations", ] Separator {} ListView { styles [ "navigation-sidebar", "installed-list-view", ] model: NoSelection { model: bind template.tracker as <$BzTransactionEntryTracker>.finished-ops; }; factory: BuilderListItemFactory { template ListItem { activatable: false; child: Box { orientation: horizontal; spacing: 10; margin-start: 7; margin-end: 7; Image { styles [ "success", ] valign: center; icon-name: "check-plain-symbolic"; visible: bind $is_null(template.item as <$BzTransactionTask>.error) as <bool>; } Image { styles [ "error", ] valign: center; icon-name: "cross-large-circle-filled-symbolic"; visible: bind $invert_boolean($is_null(template.item as <$BzTransactionTask>.error) as <bool>) as <bool>; } Box { valign: center; orientation: horizontal; spacing: 5; hexpand: true; Label { styles [ "dimmed", ] valign: center; hexpand: true; xalign: 0.0; ellipsize: end; single-line-mode: true; label: bind template.item as <$BzTransactionTask>.op as <$BzBackendTransactionOpPayload>.name; visible: bind $is_null(template.item as <$BzTransactionTask>.error) as <bool>; } Label { styles [ "error", ] valign: center; hexpand: true; xalign: 0.0; ellipsize: end; single-line-mode: true; label: bind template.item as <$BzTransactionTask>.op as <$BzBackendTransactionOpPayload>.name; visible: bind $invert_boolean($is_null(template.item as <$BzTransactionTask>.error) as <bool>) as <bool>; has-tooltip: true; tooltip-text: bind template.item as <$BzTransactionTask>.error as <string>; } Button { icon-name: "info-outline-symbolic"; clicked => $error_clicked_cb(template); visible: bind $invert_boolean($is_null(template.item as <$BzTransactionTask>.error) as <bool>) as <bool>; has-tooltip: true; tooltip-text: _("Show Error Info"); styles [ "error", "flat", ] } } }; } }; } }; } }; }; } �������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-tile.c�������������������������������������������������0000664�0000000�0000000�00000030655�15234476640�0022123�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-tile.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <glib/gi18n.h> #include "bz-application.h" #include "bz-entry-group.h" #include "bz-entry.h" #include "bz-error-dialog.h" #include "error.h" #include "bz-flatpak-entry.h" #include "bz-list-tile.h" #include "bz-state-info.h" #include "template-callbacks.h" #include "bz-transaction-tile.h" #include "bz-window.h" struct _BzTransactionTile { BzListTile parent_instance; BzTransactionEntryTracker *tracker; }; G_DEFINE_FINAL_TYPE (BzTransactionTile, bz_transaction_tile, BZ_TYPE_LIST_TILE); enum { PROP_0, PROP_TRACKER, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_transaction_tile_dispose (GObject *object) { BzTransactionTile *self = BZ_TRANSACTION_TILE (object); g_clear_pointer (&self->tracker, g_object_unref); G_OBJECT_CLASS (bz_transaction_tile_parent_class)->dispose (object); } static void bz_transaction_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzTransactionTile *self = BZ_TRANSACTION_TILE (object); switch (prop_id) { case PROP_TRACKER: g_value_set_object (value, bz_transaction_tile_get_tracker (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_transaction_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzTransactionTile *self = BZ_TRANSACTION_TILE (object); switch (prop_id) { case PROP_TRACKER: bz_transaction_tile_set_tracker (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * format_removal_size (gpointer object, guint64 value) { g_autofree char *size = NULL; size = g_format_size (value); return g_strdup_printf (_ ("%s Freed"), size); } static char * format_download_progress (gpointer object, guint64 bytes_transferred, guint64 total_size) { g_autofree char *downloaded_str = NULL; g_autofree char *total_str = NULL; downloaded_str = g_format_size (bytes_transferred); if (total_size == (guint64) -1) return g_strdup_printf ("%s", downloaded_str); else { total_str = g_format_size (total_size); return g_strdup_printf ("%s / %s", downloaded_str, total_str); } } static gboolean is_transaction_type (gpointer object, BzTransactionEntryTracker *tracker, int type) { if (tracker == NULL) return FALSE; return bz_transaction_entry_tracker_get_kind (tracker) == type; } static gboolean is_transaction_tracker_install (gpointer object, BzTransactionEntryTracker *tracker) { return is_transaction_type (object, tracker, BZ_TRANSACTION_ENTRY_KIND_INSTALL); } static gboolean is_transaction_tracker_update (gpointer object, BzTransactionEntryTracker *tracker) { return is_transaction_type (object, tracker, BZ_TRANSACTION_ENTRY_KIND_UPDATE); } static gboolean is_transaction_tracker_removal (gpointer object, BzTransactionEntryTracker *tracker) { return is_transaction_type (object, tracker, BZ_TRANSACTION_ENTRY_KIND_REMOVAL); } static gboolean is_transaction_tracker_errored (gpointer object, GListModel *finished_ops) { guint n_items = 0; if (finished_ops == NULL) return FALSE; n_items = g_list_model_get_n_items (finished_ops); for (guint i = 0; i < n_items; i++) { g_autoptr (BzTransactionTask) task = NULL; task = g_list_model_get_item (finished_ops, i); if (bz_transaction_task_get_error (task) != NULL) return TRUE; } return FALSE; } static gboolean list_has_items (gpointer object, GListModel *model) { if (model == NULL) return FALSE; return g_list_model_get_n_items (model) > 0; } static gboolean is_queued (gpointer object, BzTransactionEntryStatus status) { return status == BZ_TRANSACTION_ENTRY_STATUS_QUEUED; } static gboolean is_ongoing (gpointer object, BzTransactionEntryStatus status) { return status == BZ_TRANSACTION_ENTRY_STATUS_ONGOING; } static gboolean is_completed (gpointer object, BzTransactionEntryStatus status) { return status == BZ_TRANSACTION_ENTRY_STATUS_DONE; } static gboolean is_cancelled (gpointer object, BzTransactionEntryStatus status) { return status == BZ_TRANSACTION_ENTRY_STATUS_CANCELLED; } static gboolean is_both (gpointer object, gboolean first, gboolean second) { return first && second; } static GdkPaintable * get_main_icon (gpointer object, BzTransactionEntryTracker *tracker) { BzEntry *entry = NULL; GdkPaintable *icon_paintable = NULL; if (tracker == NULL) goto return_generic; entry = bz_transaction_entry_tracker_get_entry (tracker); if (entry == NULL) goto return_generic; icon_paintable = bz_entry_get_icon_paintable (entry); if (icon_paintable != NULL) return g_object_ref (icon_paintable); return_generic: return (GdkPaintable *) gtk_icon_theme_lookup_icon ( gtk_icon_theme_get_for_display (gdk_display_get_default ()), "application-x-executable", NULL, 64, 1, gtk_widget_get_default_direction (), GTK_ICON_LOOKUP_NONE); } static gboolean is_entry_kind (gpointer object, BzTransactionEntryTracker *tracker, int kind) { BzEntry *entry = NULL; if (tracker == NULL) return FALSE; entry = bz_transaction_entry_tracker_get_entry (tracker); if (entry == NULL) return FALSE; return bz_entry_is_of_kinds (entry, kind); } static gboolean is_entry_application (gpointer object, BzTransactionEntryTracker *tracker) { return is_entry_kind (object, tracker, BZ_ENTRY_KIND_APPLICATION); } static gboolean is_entry_runtime (gpointer object, BzTransactionEntryTracker *tracker) { return is_entry_kind (object, tracker, BZ_ENTRY_KIND_RUNTIME); } static gboolean is_entry_addon (gpointer object, BzTransactionEntryTracker *tracker) { return is_entry_kind (object, tracker, BZ_ENTRY_KIND_ADDON); } static void run_cb (BzTransactionTile *self, GtkButton *button) { BzTransactionEntryTracker *tracker = NULL; BzEntry *entry = NULL; tracker = bz_transaction_tile_get_tracker (self); if (tracker == NULL) return; entry = bz_transaction_entry_tracker_get_entry (tracker); if (entry == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.launch-group", "s", bz_entry_get_id (entry)); } static void cancel_cb (BzTransactionTile *self, GtkButton *button) { BzTransactionEntryTracker *tracker = NULL; BzEntry *entry = NULL; tracker = bz_transaction_tile_get_tracker (self); if (tracker == NULL) return; entry = bz_transaction_entry_tracker_get_entry (tracker); if (entry == NULL) return; gtk_widget_activate_action (GTK_WIDGET (self), "window.cancel-group", "s", bz_entry_get_id (entry)); } static void error_clicked_cb (GtkListItem *item, GtkButton *button, BzTransactionTile *self) { BzTransactionTask *task = NULL; const char *error = NULL; const char *name = NULL; BzErrorDialog *dialog = NULL; task = gtk_list_item_get_item (item); if (task == NULL) return; error = bz_transaction_task_get_error (task); if (error == NULL) return; name = bz_backend_transaction_op_payload_get_name ( bz_transaction_task_get_op (task)); if (name != NULL) { g_autofree char *body = NULL; body = g_strdup_printf ("%s: %s", name, error); dialog = bz_error_dialog_new (_ ("Transaction Error"), body); } else dialog = bz_error_dialog_new (_ ("Transaction Error"), error); adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (self)); } static void bz_transaction_tile_class_init (BzTransactionTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->set_property = bz_transaction_tile_set_property; object_class->get_property = bz_transaction_tile_get_property; object_class->dispose = bz_transaction_tile_dispose; props[PROP_TRACKER] = g_param_spec_object ( "tracker", NULL, NULL, BZ_TYPE_TRANSACTION_ENTRY_TRACKER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LIST_TILE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-transaction-tile.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_callback (widget_class, format_removal_size); gtk_widget_class_bind_template_callback (widget_class, format_download_progress); gtk_widget_class_bind_template_callback (widget_class, get_main_icon); gtk_widget_class_bind_template_callback (widget_class, is_entry_application); gtk_widget_class_bind_template_callback (widget_class, is_entry_runtime); gtk_widget_class_bind_template_callback (widget_class, is_entry_addon); gtk_widget_class_bind_template_callback (widget_class, is_transaction_tracker_install); gtk_widget_class_bind_template_callback (widget_class, is_transaction_tracker_update); gtk_widget_class_bind_template_callback (widget_class, is_transaction_tracker_removal); gtk_widget_class_bind_template_callback (widget_class, is_transaction_tracker_errored); gtk_widget_class_bind_template_callback (widget_class, list_has_items); gtk_widget_class_bind_template_callback (widget_class, is_queued); gtk_widget_class_bind_template_callback (widget_class, is_ongoing); gtk_widget_class_bind_template_callback (widget_class, is_completed); gtk_widget_class_bind_template_callback (widget_class, is_cancelled); gtk_widget_class_bind_template_callback (widget_class, is_both); gtk_widget_class_bind_template_callback (widget_class, run_cb); gtk_widget_class_bind_template_callback (widget_class, cancel_cb); gtk_widget_class_bind_template_callback (widget_class, error_clicked_cb); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_transaction_tile_init (BzTransactionTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } BzTransactionTile * bz_transaction_tile_new (void) { return g_object_new (BZ_TYPE_TRANSACTION_TILE, NULL); } BzTransactionEntryTracker * bz_transaction_tile_get_tracker (BzTransactionTile *self) { g_return_val_if_fail (BZ_IS_TRANSACTION_TILE (self), NULL); return self->tracker; } void bz_transaction_tile_set_tracker (BzTransactionTile *self, BzTransactionEntryTracker *tracker) { g_return_if_fail (BZ_IS_TRANSACTION_TILE (self)); g_clear_pointer (&self->tracker, g_object_unref); if (tracker != NULL) self->tracker = g_object_ref (tracker); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRACKER]); } /* End of bz-transaction-tile.c */ �����������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction-tile.h�������������������������������������������������0000664�0000000�0000000�00000002511�15234476640�0022116�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction-tile.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-transaction-entry-tracker.h" G_BEGIN_DECLS #define BZ_TYPE_TRANSACTION_TILE (bz_transaction_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzTransactionTile, bz_transaction_tile, BZ, TRANSACTION_TILE, BzListTile) BzTransactionTile * bz_transaction_tile_new (void); BzTransactionEntryTracker * bz_transaction_tile_get_tracker (BzTransactionTile *self); void bz_transaction_tile_set_tracker (BzTransactionTile *self, BzTransactionEntryTracker *tracker); G_END_DECLS /* End of bz-transaction-tile.h */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction.c������������������������������������������������������0000664�0000000�0000000�00000065526�15234476640�0021175�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ /* TODO: This file probably needs to be rewritten */ #include "config.h" #include <glib/gi18n.h> #include "bz-transaction.h" typedef struct { GListStore *installs; GListStore *updates; GListStore *removals; char *name; gboolean pending; GListStore *current_tasks; GListStore *finished_tasks; GListStore *trackers; char *status; double progress; gboolean finished; gboolean success; char *error; } BzTransactionPrivate; G_DEFINE_TYPE_WITH_PRIVATE (BzTransaction, bz_transaction, G_TYPE_OBJECT) enum { PROP_0, PROP_NAME, PROP_INSTALLS, PROP_UPDATES, PROP_REMOVALS, PROP_PENDING, PROP_CURRENT_OPS, PROP_FINISHED_OPS, PROP_TRACKERS, PROP_STATUS, PROP_PROGRESS, PROP_FINISHED, PROP_SUCCESS, PROP_ERROR, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void finish (BzTransactionPrivate *priv); static gboolean find_payload_eq_func (BzTransactionTask *task, gpointer none, BzBackendTransactionOpPayload *payload); static gboolean find_entry_eq_func (BzTransactionEntryTracker *tracker, gpointer none, BzEntry *entry); static gboolean find_and_maybe_transfer (GListStore *from, GListStore *to, gpointer lookup, GEqualFuncFull eql, gpointer *out); static void tracker_update (BzTransactionPrivate *priv, BzBackendTransactionOpPayload *payload, BzBackendTransactionOpProgressPayload *progress_payload, gboolean transfer, gboolean set_done); static void bz_transaction_dispose (GObject *object) { BzTransaction *self = BZ_TRANSACTION (object); BzTransactionPrivate *priv = bz_transaction_get_instance_private (self); g_clear_pointer (&priv->name, g_free); g_clear_object (&priv->installs); g_clear_object (&priv->updates); g_clear_object (&priv->removals); g_clear_object (&priv->current_tasks); g_clear_object (&priv->finished_tasks); g_clear_object (&priv->trackers); g_clear_pointer (&priv->status, g_free); g_clear_pointer (&priv->error, g_free); G_OBJECT_CLASS (bz_transaction_parent_class)->dispose (object); } static void bz_transaction_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzTransaction *self = BZ_TRANSACTION (object); BzTransactionPrivate *priv = bz_transaction_get_instance_private (self); switch (prop_id) { case PROP_NAME: g_value_set_string (value, priv->name); break; case PROP_INSTALLS: g_value_set_object (value, priv->installs); break; case PROP_UPDATES: g_value_set_object (value, priv->updates); break; case PROP_REMOVALS: g_value_set_object (value, priv->removals); break; case PROP_PENDING: g_value_set_boolean (value, priv->pending); break; case PROP_CURRENT_OPS: g_value_set_object (value, priv->current_tasks); break; case PROP_FINISHED_OPS: g_value_set_object (value, priv->finished_tasks); break; case PROP_TRACKERS: g_value_set_object (value, priv->trackers); break; case PROP_STATUS: g_value_set_string (value, priv->status); break; case PROP_PROGRESS: g_value_set_double (value, priv->progress); break; case PROP_FINISHED: g_value_set_boolean (value, priv->finished); break; case PROP_SUCCESS: g_value_set_boolean (value, priv->success); break; case PROP_ERROR: g_value_set_string (value, priv->error); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_transaction_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzTransaction *self = BZ_TRANSACTION (object); BzTransactionPrivate *priv = bz_transaction_get_instance_private (self); switch (prop_id) { case PROP_NAME: g_clear_pointer (&priv->name, g_free); priv->name = g_value_dup_string (value); break; case PROP_INSTALLS: g_clear_object (&priv->installs); priv->installs = g_value_dup_object (value); break; case PROP_UPDATES: g_clear_object (&priv->updates); priv->updates = g_value_dup_object (value); break; case PROP_REMOVALS: g_clear_object (&priv->removals); priv->removals = g_value_dup_object (value); break; case PROP_PENDING: priv->pending = g_value_get_boolean (value); break; case PROP_STATUS: g_clear_pointer (&priv->status, g_free); priv->status = g_value_dup_string (value); break; case PROP_PROGRESS: priv->progress = g_value_get_double (value); break; case PROP_FINISHED: priv->finished = g_value_get_boolean (value); if (priv->finished) finish (priv); break; case PROP_SUCCESS: priv->success = g_value_get_boolean (value); break; case PROP_ERROR: g_clear_pointer (&priv->error, g_free); priv->error = g_value_dup_string (value); break; case PROP_CURRENT_OPS: case PROP_FINISHED_OPS: case PROP_TRACKERS: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_transaction_class_init (BzTransactionClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_transaction_set_property; object_class->get_property = bz_transaction_get_property; object_class->dispose = bz_transaction_dispose; props[PROP_NAME] = g_param_spec_string ( "name", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_INSTALLS] = g_param_spec_object ( "installs", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_UPDATES] = g_param_spec_object ( "updates", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_REMOVALS] = g_param_spec_object ( "removals", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_PENDING] = g_param_spec_boolean ( "pending", NULL, NULL, TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_CURRENT_OPS] = g_param_spec_object ( "current-ops", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_FINISHED_OPS] = g_param_spec_object ( "finished-ops", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_TRACKERS] = g_param_spec_object ( "trackers", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); props[PROP_STATUS] = g_param_spec_string ( "status", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_PROGRESS] = g_param_spec_double ( "progress", NULL, NULL, 0.0, 1.0, 0.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_FINISHED] = g_param_spec_boolean ( "finished", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_SUCCESS] = g_param_spec_boolean ( "success", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_ERROR] = g_param_spec_string ( "error", NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); } static void bz_transaction_init (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_autoptr (GDateTime) now = NULL; priv = bz_transaction_get_instance_private (self); now = g_date_time_new_now_local (); priv->name = g_date_time_format (now, "%X"); priv->installs = g_list_store_new (BZ_TYPE_ENTRY); priv->updates = g_list_store_new (BZ_TYPE_ENTRY); priv->removals = g_list_store_new (BZ_TYPE_ENTRY); priv->pending = TRUE; priv->current_tasks = g_list_store_new (BZ_TYPE_TRANSACTION_TASK); priv->finished_tasks = g_list_store_new (BZ_TYPE_TRANSACTION_TASK); priv->trackers = g_list_store_new (BZ_TYPE_TRANSACTION_ENTRY_TRACKER); priv->status = g_strdup (_ ("Pending")); priv->success = TRUE; } BzTransaction * bz_transaction_new_full (BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals) { g_autoptr (BzTransaction) self = NULL; BzTransactionPrivate *priv = NULL; g_return_val_if_fail ((installs != NULL && n_installs > 0) || (updates != NULL && n_updates > 0) || (removals != NULL && n_removals > 0), NULL); for (guint i = 0; i < n_installs; i++) g_return_val_if_fail (BZ_IS_ENTRY (installs[i]), NULL); for (guint i = 0; i < n_updates; i++) g_return_val_if_fail (BZ_IS_ENTRY (updates[i]), NULL); for (guint i = 0; i < n_removals; i++) g_return_val_if_fail (BZ_IS_ENTRY (removals[i]), NULL); self = g_object_new (BZ_TYPE_TRANSACTION, NULL); priv = bz_transaction_get_instance_private (self); #define ADD_ENTRY(type, entry, transaction_type) \ G_STMT_START \ { \ g_autoptr (BzTransactionEntryTracker) tracker = NULL; \ g_autoptr (GListStore) current_ops = NULL; \ g_autoptr (GListStore) finished_ops = NULL; \ \ g_list_store_append (priv->type, (entry)); \ \ tracker = bz_transaction_entry_tracker_new (); \ current_ops = g_list_store_new (BZ_TYPE_TRANSACTION_TASK); \ finished_ops = g_list_store_new (BZ_TYPE_TRANSACTION_TASK); \ \ bz_transaction_entry_tracker_set_entry (tracker, (entry)); \ bz_transaction_entry_tracker_set_current_ops (tracker, G_LIST_MODEL (current_ops)); \ bz_transaction_entry_tracker_set_finished_ops (tracker, G_LIST_MODEL (finished_ops)); \ bz_transaction_entry_tracker_set_kind (tracker, transaction_type); \ bz_transaction_entry_tracker_set_status (tracker, BZ_TRANSACTION_ENTRY_STATUS_QUEUED); \ bz_transaction_entry_tracker_set_pending (tracker, TRUE); \ if ((transaction_type) == BZ_TRANSACTION_ENTRY_KIND_REMOVAL) \ bz_transaction_entry_tracker_set_active (tracker, TRUE); \ \ g_list_store_append (priv->trackers, tracker); \ } \ G_STMT_END for (guint i = 0; i < n_installs; i++) ADD_ENTRY (installs, installs[i], BZ_TRANSACTION_ENTRY_KIND_INSTALL); for (guint i = 0; i < n_updates; i++) ADD_ENTRY (updates, updates[i], BZ_TRANSACTION_ENTRY_KIND_UPDATE); for (guint i = 0; i < n_removals; i++) ADD_ENTRY (removals, removals[i], BZ_TRANSACTION_ENTRY_KIND_REMOVAL); #undef ADD_ENTRY return g_steal_pointer (&self); } BzTransaction * bz_transaction_new_merged (BzTransaction **transactions, guint n_transactions) { g_autoptr (GPtrArray) installs_pa = NULL; g_autoptr (GPtrArray) updates_pa = NULL; g_autoptr (GPtrArray) removals_pa = NULL; g_return_val_if_fail (transactions != NULL, NULL); g_return_val_if_fail (n_transactions >= 2, NULL); installs_pa = g_ptr_array_new_with_free_func (g_object_unref); updates_pa = g_ptr_array_new_with_free_func (g_object_unref); removals_pa = g_ptr_array_new_with_free_func (g_object_unref); for (guint i = 0; i < n_transactions; i++) { GListModel *installs = NULL; GListModel *updates = NULL; GListModel *removals = NULL; guint n_installs = 0; guint n_updates = 0; guint n_removals = 0; installs = bz_transaction_get_installs (transactions[i]); updates = bz_transaction_get_updates (transactions[i]); removals = bz_transaction_get_removals (transactions[i]); if (installs != NULL) n_installs = g_list_model_get_n_items (installs); if (updates != NULL) n_updates = g_list_model_get_n_items (updates); if (removals != NULL) n_removals = g_list_model_get_n_items (removals); for (guint j = 0; j < n_installs; j++) g_ptr_array_add (installs_pa, g_list_model_get_item (installs, j)); for (guint j = 0; j < n_updates; j++) g_ptr_array_add (updates_pa, g_list_model_get_item (updates, j)); for (guint j = 0; j < n_removals; j++) g_ptr_array_add (removals_pa, g_list_model_get_item (removals, j)); } return bz_transaction_new_full ( (BzEntry **) installs_pa->pdata, installs_pa->len, (BzEntry **) updates_pa->pdata, updates_pa->len, (BzEntry **) removals_pa->pdata, removals_pa->len); } GListModel * bz_transaction_get_installs (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_TRANSACTION (self), NULL); priv = bz_transaction_get_instance_private (self); return G_LIST_MODEL (priv->installs); } GListModel * bz_transaction_get_updates (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_TRANSACTION (self), NULL); priv = bz_transaction_get_instance_private (self); return G_LIST_MODEL (priv->updates); } GListModel * bz_transaction_get_removals (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_TRANSACTION (self), NULL); priv = bz_transaction_get_instance_private (self); return G_LIST_MODEL (priv->removals); } GListModel * bz_transaction_get_trackers (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_return_val_if_fail (BZ_IS_TRANSACTION (self), NULL); priv = bz_transaction_get_instance_private (self); return G_LIST_MODEL (priv->trackers); } void bz_transaction_hold (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_return_if_fail (BZ_IS_TRANSACTION (self)); priv = bz_transaction_get_instance_private (self); #define HOLD_MODEL(_model) \ if ((_model) != NULL) \ { \ guint n_items = 0; \ \ n_items = g_list_model_get_n_items (G_LIST_MODEL ((_model))); \ for (guint i = 0; i < n_items; i++) \ { \ g_autoptr (BzEntry) entry = NULL; \ \ entry = g_list_model_get_item (G_LIST_MODEL ((_model)), i); \ bz_entry_hold (entry); \ } \ } HOLD_MODEL (priv->installs); HOLD_MODEL (priv->updates); HOLD_MODEL (priv->removals); #undef HOLD_MODEL } void bz_transaction_release (BzTransaction *self) { BzTransactionPrivate *priv = NULL; g_return_if_fail (BZ_IS_TRANSACTION (self)); priv = bz_transaction_get_instance_private (self); #define RELEASE_MODEL(_model) \ if ((_model) != NULL) \ { \ guint n_items = 0; \ \ n_items = g_list_model_get_n_items (G_LIST_MODEL ((_model))); \ for (guint i = 0; i < n_items; i++) \ { \ g_autoptr (BzEntry) entry = NULL; \ \ entry = g_list_model_get_item (G_LIST_MODEL ((_model)), i); \ bz_entry_release (entry); \ } \ } RELEASE_MODEL (priv->installs); RELEASE_MODEL (priv->updates); RELEASE_MODEL (priv->removals); #undef RELEASE_MODEL } void bz_transaction_add_task (BzTransaction *self, BzBackendTransactionOpPayload *payload) { BzTransactionPrivate *priv = NULL; g_autoptr (BzTransactionTask) task = NULL; BzEntry *entry = NULL; g_autoptr (BzTransactionEntryTracker) tracker = NULL; gboolean result = FALSE; g_return_if_fail (BZ_IS_TRANSACTION (self)); g_return_if_fail (BZ_IS_BACKEND_TRANSACTION_OP_PAYLOAD (payload)); priv = bz_transaction_get_instance_private (self); task = bz_transaction_task_new (); bz_transaction_task_set_op (task, payload); g_list_store_append (priv->current_tasks, task); entry = bz_backend_transaction_op_payload_get_entry (payload); result = find_and_maybe_transfer ( priv->trackers, NULL, entry, (GEqualFuncFull) find_entry_eq_func, (gpointer *) &tracker); if (result) { GListModel *current_ops = NULL; if (bz_transaction_entry_tracker_get_kind (tracker) == BZ_TRANSACTION_ENTRY_KIND_UPDATE) bz_backend_transaction_op_payload_set_download_size (payload, (guint64) -1); current_ops = bz_transaction_entry_tracker_get_current_ops (tracker); g_list_store_append (G_LIST_STORE (current_ops), task); g_object_notify (G_OBJECT (tracker), "current-ops"); } } void bz_transaction_update_task (BzTransaction *self, BzBackendTransactionOpProgressPayload *payload) { BzTransactionPrivate *priv = NULL; BzBackendTransactionOpPayload *op = NULL; g_autoptr (BzTransactionTask) task = NULL; gboolean result = FALSE; g_return_if_fail (BZ_IS_TRANSACTION (self)); g_return_if_fail (BZ_IS_BACKEND_TRANSACTION_OP_PROGRESS_PAYLOAD (payload)); priv = bz_transaction_get_instance_private (self); op = bz_backend_transaction_op_progress_payload_get_op (payload); result = find_and_maybe_transfer ( priv->current_tasks, NULL, op, (GEqualFuncFull) find_payload_eq_func, (gpointer *) &task); if (result) bz_transaction_task_set_last_progress (task, payload); tracker_update (priv, op, payload, FALSE, FALSE); } void bz_transaction_finish_task (BzTransaction *self, BzBackendTransactionOpPayload *payload) { BzTransactionPrivate *priv = NULL; g_return_if_fail (BZ_IS_TRANSACTION (self)); g_return_if_fail (BZ_IS_BACKEND_TRANSACTION_OP_PAYLOAD (payload)); priv = bz_transaction_get_instance_private (self); find_and_maybe_transfer ( priv->current_tasks, priv->finished_tasks, payload, (GEqualFuncFull) find_payload_eq_func, NULL); tracker_update (priv, payload, NULL, TRUE, FALSE); } void bz_transaction_error_out_task (BzTransaction *self, BzBackendTransactionOpPayload *payload, const char *message) { BzTransactionPrivate *priv = NULL; gboolean result = FALSE; g_autoptr (BzTransactionTask) task = NULL; g_return_if_fail (BZ_IS_TRANSACTION (self)); g_return_if_fail (BZ_IS_BACKEND_TRANSACTION_OP_PAYLOAD (payload)); g_return_if_fail (message != NULL); priv = bz_transaction_get_instance_private (self); result = find_and_maybe_transfer ( priv->current_tasks, priv->finished_tasks, payload, (GEqualFuncFull) find_payload_eq_func, (gpointer *) &task); if (result) bz_transaction_task_set_error (task, message); tracker_update (priv, payload, NULL, TRUE, TRUE); } static void finish (BzTransactionPrivate *priv) { guint n_trackers = 0; n_trackers = g_list_model_get_n_items (G_LIST_MODEL (priv->trackers)); for (guint i = 0; i < n_trackers; i++) { g_autoptr (BzTransactionEntryTracker) tracker = NULL; tracker = g_list_model_get_item (G_LIST_MODEL (priv->trackers), i); bz_transaction_entry_tracker_set_active (tracker, FALSE); bz_transaction_entry_tracker_set_pending (tracker, FALSE); if (bz_transaction_entry_tracker_get_status (tracker) == BZ_TRANSACTION_ENTRY_STATUS_CANCELLED) continue; bz_transaction_entry_tracker_set_status ( tracker, priv->success ? BZ_TRANSACTION_ENTRY_STATUS_DONE : BZ_TRANSACTION_ENTRY_STATUS_CANCELLED); } } static gboolean find_payload_eq_func (BzTransactionTask *task, gpointer none, BzBackendTransactionOpPayload *payload) { return bz_transaction_task_get_op (task) == payload; } static gboolean find_entry_eq_func (BzTransactionEntryTracker *tracker, gpointer none, BzEntry *entry) { return bz_transaction_entry_tracker_get_entry (tracker) == entry; } /* This kinda sucks */ static gboolean find_and_maybe_transfer (GListStore *from, GListStore *to, gpointer lookup, GEqualFuncFull eql, gpointer *out) { guint op_pos = 0; gboolean found = FALSE; g_autoptr (GObject) object = NULL; found = g_list_store_find_with_equal_func_full (from, NULL, eql, lookup, &op_pos); if (!found) return FALSE; object = g_list_model_get_item (G_LIST_MODEL (from), op_pos); if (to != NULL) { /* transfer if `to` is provided */ g_list_store_remove (from, op_pos); g_list_store_append (to, object); } if (out != NULL) *out = g_steal_pointer (&object); return TRUE; } static void tracker_update (BzTransactionPrivate *priv, BzBackendTransactionOpPayload *payload, BzBackendTransactionOpProgressPayload *progress_payload, gboolean transfer, gboolean set_done) { BzEntry *entry = NULL; g_autoptr (BzTransactionEntryTracker) tracker = NULL; gboolean result = FALSE; entry = bz_backend_transaction_op_payload_get_entry (payload); result = find_and_maybe_transfer ( priv->trackers, NULL, entry, (GEqualFuncFull) find_entry_eq_func, (gpointer *) &tracker); if (result) { BzTransactionEntryStatus existing_status = 0; existing_status = bz_transaction_entry_tracker_get_status (tracker); if (transfer) { GListModel *from = NULL; GListModel *to = NULL; if (set_done) { bz_transaction_entry_tracker_set_active (tracker, FALSE); bz_transaction_entry_tracker_set_status (tracker, BZ_TRANSACTION_ENTRY_STATUS_DONE); bz_transaction_entry_tracker_set_pending (tracker, FALSE); } from = bz_transaction_entry_tracker_get_current_ops (tracker); to = bz_transaction_entry_tracker_get_finished_ops (tracker); result = find_and_maybe_transfer ( G_LIST_STORE (from), G_LIST_STORE (to), payload, (GEqualFuncFull) find_payload_eq_func, NULL); g_object_notify (G_OBJECT (tracker), "current-ops"); g_object_notify (G_OBJECT (tracker), "finished-ops"); } else { if (progress_payload != NULL) { double progress = 0.0; double scaled = 0.0; gboolean estimating = FALSE; progress = bz_backend_transaction_op_progress_payload_get_total_progress (progress_payload); scaled = progress >= 1.0 ? 1.0 : progress * 0.9; estimating = bz_backend_transaction_op_progress_payload_get_is_estimating (progress_payload); g_object_set (tracker, "progress", scaled, "pending", estimating && progress == 0.0, NULL); } bz_transaction_entry_tracker_set_active (tracker, TRUE); if (existing_status != BZ_TRANSACTION_ENTRY_STATUS_CANCELLED) bz_transaction_entry_tracker_set_status (tracker, BZ_TRANSACTION_ENTRY_STATUS_ONGOING); } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-transaction.h������������������������������������������������������0000664�0000000�0000000�00000004745�15234476640�0021176�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-transaction.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry.h" #include "bz-transaction-entry-tracker.h" #include "bz-transaction-task.h" G_BEGIN_DECLS #define BZ_TYPE_TRANSACTION (bz_transaction_get_type ()) G_DECLARE_DERIVABLE_TYPE (BzTransaction, bz_transaction, BZ, TRANSACTION, GObject) struct _BzTransactionClass { GObjectClass parent_class; }; BzTransaction * bz_transaction_new_full (BzEntry **installs, guint n_installs, BzEntry **updates, guint n_updates, BzEntry **removals, guint n_removals); BzTransaction * bz_transaction_new_merged (BzTransaction **transactions, guint n_transactions); GListModel * bz_transaction_get_installs (BzTransaction *self); GListModel * bz_transaction_get_updates (BzTransaction *self); GListModel * bz_transaction_get_removals (BzTransaction *self); GListModel * bz_transaction_get_trackers (BzTransaction *self); void bz_transaction_hold (BzTransaction *self); void bz_transaction_release (BzTransaction *self); void bz_transaction_add_task (BzTransaction *self, BzBackendTransactionOpPayload *payload); void bz_transaction_update_task (BzTransaction *self, BzBackendTransactionOpProgressPayload *payload); void bz_transaction_finish_task (BzTransaction *self, BzBackendTransactionOpPayload *payload); void bz_transaction_error_out_task (BzTransaction *self, BzBackendTransactionOpPayload *payload, const char *message); G_END_DECLS ���������������������������bazaar-org-bazaar-917017d/src/bz-updates-card.blp���������������������������������������������������0000664�0000000�0000000�00000001527�15234476640�0021546�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzUpdatesCard: Adw.Bin { child: ListBox { selection-mode: none; margin-start: 4; margin-end: 4; margin-bottom: 4; styles [ "boxed-list", ] Adw.ExpanderRow expander_row { title: bind $format_update_count(template.state as <$BzStateInfo>.available-updates) as <string>; notify::expanded => $on_expander_expanded_cb(); [suffix] Box { height-request: 60; Button { label: _("_Update All"); use-underline: true; valign: center; clicked => $update_all_cb(); styles [ "suggested-action", ] } } } }; } FilterListModel runtimes_filter_model { filter: CustomFilter runtimes_filter {}; model: bind template.state as <$BzStateInfo>.available-updates; }�������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-updates-card.c�����������������������������������������������������0000664�0000000�0000000�00000036132�15234476640�0021213�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-updates-card.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-entry.h" #include "bz-release.h" #include "bz-releases-list.h" #include "template-callbacks.h" #include "bz-updates-card.h" struct _BzUpdatesCard { AdwBin parent_instance; BzStateInfo *state; /* Template widgets */ AdwExpanderRow *expander_row; GtkCustomFilter *runtimes_filter; GtkFilterListModel *runtimes_filter_model; GPtrArray *app_rows; GtkWidget *runtimes_row; gboolean has_closed; }; G_DEFINE_FINAL_TYPE (BzUpdatesCard, bz_updates_card, ADW_TYPE_BIN) enum { PROP_0, PROP_STATE, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; enum { SIGNAL_UPDATE, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL]; static char *format_update_count (gpointer object, GListModel *updates); static void update_all_cb (GtkButton *button, BzUpdatesCard *self); static void update_runtimes_cb (GtkButton *button, BzUpdatesCard *self); static void on_expander_expanded_cb (AdwExpanderRow *row, GParamSpec *pspec, BzUpdatesCard *self); static gboolean filter_runtimes (BzEntry *entry, BzUpdatesCard *self); static void on_available_updates_changed (BzUpdatesCard *self, GParamSpec *pspec, BzStateInfo *state); static void on_runtimes_changed (GtkFilterListModel *model, guint position, guint removed, guint added, BzUpdatesCard *self); static void on_update_single_cb (GtkButton *button, BzEntry *entry) { BzUpdatesCard *self = NULL; g_autoptr (GListStore) store = NULL; self = BZ_UPDATES_CARD (gtk_widget_get_ancestor (GTK_WIDGET (button), BZ_TYPE_UPDATES_CARD)); store = g_list_store_new (BZ_TYPE_ENTRY); g_list_store_append (store, entry); g_signal_emit (self, signals[SIGNAL_UPDATE], 0, store); } static void on_version_history_cb (GtkButton *button, BzEntry *entry) { GtkRoot *root = NULL; g_autoptr (GListModel) history = NULL; GtkWidget *dialog = NULL; root = gtk_widget_get_root (GTK_WIDGET (button)); if (root == NULL) return; g_object_get (entry, "version-history", &history, NULL); dialog = bz_releases_dialog_new (history, NULL); adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (root)); } static GtkWidget * build_app_row (BzEntry *entry, BzUpdatesCard *self) { AdwActionRow *row = NULL; GtkWidget *icon = NULL; GtkWidget *history_button = NULL; GtkWidget *update_button = NULL; GdkPaintable *paintable = NULL; g_autoptr (GListModel) history = NULL; g_autofree char *installed_ver = NULL; const char *new_ver = NULL; // This will probably the same as the installed version if using cache... g_autofree char *subtitle = NULL; row = ADW_ACTION_ROW (adw_action_row_new ()); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (row), bz_entry_get_title (entry)); g_object_get (entry, "icon-paintable", &paintable, NULL); icon = paintable != NULL ? gtk_image_new_from_paintable (paintable) : gtk_image_new_from_icon_name ("application-x-executable"); g_clear_object (&paintable); gtk_image_set_pixel_size (GTK_IMAGE (icon), 48); gtk_widget_set_size_request (icon, 48, 48); gtk_widget_set_margin_top (icon, 6); gtk_widget_set_margin_bottom (icon, 6); gtk_widget_set_valign (icon, GTK_ALIGN_CENTER); gtk_widget_add_css_class (icon, "icon-dropshadow"); adw_action_row_add_prefix (row, icon); g_object_get (entry, "version-history", &history, "installed-version", &installed_ver, NULL); if (history != NULL && g_list_model_get_n_items (history) > 0 && installed_ver != NULL) { g_autoptr (BzRelease) first = g_list_model_get_item (history, 0); new_ver = bz_release_get_version (first); if (new_ver != NULL) { if (g_strcmp0 (installed_ver, new_ver) != 0) subtitle = g_strdup_printf ("%s → %s", installed_ver, new_ver); else subtitle = g_strdup (new_ver); adw_action_row_set_subtitle (row, subtitle); } } history_button = gtk_button_new_from_icon_name ("view-list-bullet-symbolic"); gtk_widget_set_valign (history_button, GTK_ALIGN_CENTER); gtk_widget_set_tooltip_text (history_button, _ ("Version History")); gtk_widget_add_css_class (history_button, "flat"); gtk_widget_set_visible (history_button, history != NULL && g_list_model_get_n_items (history) > 0); g_signal_connect_data (history_button, "clicked", G_CALLBACK (on_version_history_cb), g_object_ref (entry), (GClosureNotify) g_object_unref, 0); adw_action_row_add_suffix (row, history_button); update_button = gtk_button_new_with_label (_ ("Update")); gtk_widget_set_valign (update_button, GTK_ALIGN_CENTER); g_signal_connect_data (update_button, "clicked", G_CALLBACK (on_update_single_cb), g_object_ref (entry), (GClosureNotify) g_object_unref, 0); adw_action_row_add_suffix (row, update_button); return GTK_WIDGET (row); } static GtkWidget * build_runtimes_row (BzUpdatesCard *self) { AdwActionRow *row = NULL; GtkWidget *update_button = NULL; row = ADW_ACTION_ROW (adw_action_row_new ()); gtk_widget_set_visible (GTK_WIDGET (row), FALSE); update_button = gtk_button_new_with_label (_ ("Update")); gtk_widget_set_valign (update_button, GTK_ALIGN_CENTER); g_signal_connect (update_button, "clicked", G_CALLBACK (update_runtimes_cb), self); adw_action_row_add_suffix (row, update_button); return GTK_WIDGET (row); } static void on_runtimes_changed (GtkFilterListModel *model, guint position, guint removed, guint added, BzUpdatesCard *self) { guint n_items = 0; g_autofree char *title = NULL; if (self->runtimes_row == NULL) return; n_items = g_list_model_get_n_items (G_LIST_MODEL (model)); gtk_widget_set_visible (self->runtimes_row, n_items > 0); if (n_items == 0) return; title = g_strdup_printf (ngettext ("%u Runtime Update", "%u Runtime Updates", n_items), n_items); adw_preferences_row_set_title (ADW_PREFERENCES_ROW (self->runtimes_row), title); } static void repopulate_expander_row (BzUpdatesCard *self) { GListModel *updates = NULL; guint n_items = 0; guint i = 0; for (i = 0; i < self->app_rows->len; i++) adw_expander_row_remove (self->expander_row, g_ptr_array_index (self->app_rows, i)); g_ptr_array_set_size (self->app_rows, 0); if (self->runtimes_row != NULL) { adw_expander_row_remove (self->expander_row, self->runtimes_row); self->runtimes_row = NULL; } if (self->state == NULL) return; updates = bz_state_info_get_available_updates (self->state); if (updates == NULL) return; n_items = g_list_model_get_n_items (updates); for (i = 0; i < n_items; i++) { g_autoptr (BzEntry) entry = NULL; GtkWidget *row = NULL; entry = g_list_model_get_item (updates, i); if (entry == NULL || !BZ_IS_ENTRY (entry)) continue; if (!bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_APPLICATION)) continue; row = build_app_row (entry, self); adw_expander_row_add_row (self->expander_row, row); g_ptr_array_add (self->app_rows, row); } self->runtimes_row = build_runtimes_row (self); adw_expander_row_add_row (self->expander_row, self->runtimes_row); on_runtimes_changed (self->runtimes_filter_model, 0, 0, 0, self); if (!self->has_closed) adw_expander_row_set_expanded (self->expander_row, n_items <= 3); } static void on_available_updates_changed (BzUpdatesCard *self, GParamSpec *pspec, BzStateInfo *state) { gtk_filter_changed (GTK_FILTER (self->runtimes_filter), GTK_FILTER_CHANGE_DIFFERENT); repopulate_expander_row (self); } static void bz_updates_card_dispose (GObject *object) { BzUpdatesCard *self = BZ_UPDATES_CARD (object); g_clear_object (&self->state); g_clear_pointer (&self->app_rows, g_ptr_array_unref); gtk_widget_dispose_template (GTK_WIDGET (self), BZ_TYPE_UPDATES_CARD); G_OBJECT_CLASS (bz_updates_card_parent_class)->dispose (object); } static void bz_updates_card_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzUpdatesCard *self = BZ_UPDATES_CARD (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, bz_updates_card_get_state (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_updates_card_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzUpdatesCard *self = BZ_UPDATES_CARD (object); switch (prop_id) { case PROP_STATE: bz_updates_card_set_state (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_updates_card_class_init (BzUpdatesCardClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_updates_card_dispose; object_class->get_property = bz_updates_card_get_property; object_class->set_property = bz_updates_card_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); signals[SIGNAL_UPDATE] = g_signal_new ( "update", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_LIST_MODEL); g_signal_set_va_marshaller ( signals[SIGNAL_UPDATE], G_TYPE_FROM_CLASS (klass), g_cclosure_marshal_VOID__OBJECTv); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-updates-card.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzUpdatesCard, expander_row); gtk_widget_class_bind_template_child (widget_class, BzUpdatesCard, runtimes_filter); gtk_widget_class_bind_template_child (widget_class, BzUpdatesCard, runtimes_filter_model); gtk_widget_class_bind_template_callback (widget_class, format_update_count); gtk_widget_class_bind_template_callback (widget_class, update_all_cb); gtk_widget_class_bind_template_callback (widget_class, on_expander_expanded_cb); } static void bz_updates_card_init (BzUpdatesCard *self) { gtk_widget_init_template (GTK_WIDGET (self)); self->app_rows = g_ptr_array_new (); gtk_custom_filter_set_filter_func ( self->runtimes_filter, (GtkCustomFilterFunc) filter_runtimes, self, NULL); g_signal_connect (self->runtimes_filter_model, "items-changed", G_CALLBACK (on_runtimes_changed), self); } GtkWidget * bz_updates_card_new (void) { return g_object_new (BZ_TYPE_UPDATES_CARD, NULL); } void bz_updates_card_set_state (BzUpdatesCard *self, BzStateInfo *state) { g_return_if_fail (BZ_IS_UPDATES_CARD (self)); g_return_if_fail (state == NULL || BZ_IS_STATE_INFO (state)); g_clear_object (&self->state); if (state != NULL) { self->state = g_object_ref (state); g_signal_connect_object (state, "notify::available-updates", G_CALLBACK (on_available_updates_changed), self, G_CONNECT_SWAPPED); } gtk_filter_changed (GTK_FILTER (self->runtimes_filter), GTK_FILTER_CHANGE_DIFFERENT); repopulate_expander_row (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STATE]); } BzStateInfo * bz_updates_card_get_state (BzUpdatesCard *self) { g_return_val_if_fail (BZ_IS_UPDATES_CARD (self), NULL); return self->state; } static char * format_update_count (gpointer object, GListModel *updates) { guint n_updates = 0; if (updates == NULL) return g_strdup (""); n_updates = g_list_model_get_n_items (updates); return g_strdup_printf (ngettext ("%u Available Update", "%u Available Updates", n_updates), n_updates); } static void update_all_cb (GtkButton *button, BzUpdatesCard *self) { GListModel *updates = NULL; g_return_if_fail (GTK_IS_BUTTON (button)); g_return_if_fail (BZ_IS_UPDATES_CARD (self)); if (self->state == NULL) return; updates = bz_state_info_get_available_updates (self->state); if (updates == NULL) return; g_signal_emit (self, signals[SIGNAL_UPDATE], 0, updates); } static void update_runtimes_cb (GtkButton *button, BzUpdatesCard *self) { GListModel *runtimes = NULL; g_autoptr (GListStore) store = NULL; guint n_items = 0; runtimes = G_LIST_MODEL (self->runtimes_filter_model); n_items = g_list_model_get_n_items (runtimes); if (n_items == 0) return; store = g_list_store_new (BZ_TYPE_ENTRY); for (guint i = 0; i < n_items; i++) { g_autoptr (BzEntry) entry = g_list_model_get_item (runtimes, i); if (entry != NULL) g_list_store_append (store, entry); } g_signal_emit (self, signals[SIGNAL_UPDATE], 0, store); } static void on_expander_expanded_cb (AdwExpanderRow *row, GParamSpec *pspec, BzUpdatesCard *self) { if (!adw_expander_row_get_expanded (row)) self->has_closed = TRUE; } static gboolean filter_runtimes (BzEntry *entry, BzUpdatesCard *self) { g_return_val_if_fail (BZ_IS_ENTRY (entry), FALSE); return bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_RUNTIME) || bz_entry_is_of_kinds (entry, BZ_ENTRY_KIND_ADDON); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-updates-card.h�����������������������������������������������������0000664�0000000�0000000�00000002262�15234476640�0021215�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-updates-card.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-state-info.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_UPDATES_CARD (bz_updates_card_get_type ()) G_DECLARE_FINAL_TYPE (BzUpdatesCard, bz_updates_card, BZ, UPDATES_CARD, AdwBin) GtkWidget * bz_updates_card_new (void); void bz_updates_card_set_state (BzUpdatesCard *self, BzStateInfo *state); BzStateInfo * bz_updates_card_get_state (BzUpdatesCard *self); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-url.txt������������������������������������������������������������0000664�0000000�0000000�00000000222�15234476640�0020025�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=url parent-prefix=g parent-name=object author=AUTOGEN property=id char G_TYPE_STRING string property=url char G_TYPE_STRING string ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-user-data-page.blp�������������������������������������������������0000664�0000000�0000000�00000003252�15234476640�0021766�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzUserDataPage: Adw.NavigationPage { title: _("Manage Leftover User Data"); Adw.ToolbarView { [top] Adw.HeaderBar {} content: Adw.ViewStack stack { enable-transitions: true; transition-duration: 400; Adw.ViewStackPage { name: "loading"; child: Adw.Spinner { halign: fill; valign: center; width-request: 64; height-request: 64; margin-bottom: 18; }; } Adw.ViewStackPage { name: "empty"; child: Adw.StatusPage { icon-name: "user-trash-symbolic"; title: _("No Leftover User Data Found"); description: _("Personal data left behind by apps that were removed will show up here"); }; } Adw.ViewStackPage { name: "content"; child: ScrolledWindow { hscrollbar-policy: never; child: Adw.ClampScrollable { maximum-size: 650; child: ListView list_view { styles [ "navigation-sidebar", "user-data-list-view", ] overflow: visible; model: NoSelection { model: bind template.model; }; factory: BuilderListItemFactory { template ListItem { activatable: false; selectable: false; focusable: false; child: $BzUserDataTile { group: bind template.item as <$BzEntryGroup>; }; } }; }; }; }; } }; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-user-data-page.c���������������������������������������������������0000664�0000000�0000000�00000025436�15234476640�0021443�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-user-data-page.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-application-map-factory.h" #include "bz-user-data-page.h" #include "bz-user-data-tile.h" #include "bz-window.h" #include "env.h" #include "io.h" #include "util.h" struct _BzUserDataPage { AdwNavigationPage parent_instance; BzStateInfo *state; GListModel *model; AdwToast *toast; guint toast_count; /* Template widgets */ AdwViewStack *stack; }; G_DEFINE_FINAL_TYPE (BzUserDataPage, bz_user_data_page, ADW_TYPE_NAVIGATION_PAGE) enum { PROP_0, PROP_STATE, PROP_MODEL, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static DexFuture * fetch_user_data_fiber (GWeakRef *wr); static void items_changed (BzUserDataPage *self, guint position, guint removed, guint added, GListModel *model); static void toast_dismissed_cb (BzUserDataPage *self, AdwToast *toast); static void set_page (BzUserDataPage *self); static void bz_user_data_page_dispose (GObject *object) { BzUserDataPage *self = BZ_USER_DATA_PAGE (object); if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_clear_object (&self->model); g_clear_object (&self->state); G_OBJECT_CLASS (bz_user_data_page_parent_class)->dispose (object); } static void bz_user_data_page_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzUserDataPage *self = BZ_USER_DATA_PAGE (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, self->state); break; case PROP_MODEL: g_value_set_object (value, self->model); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_user_data_page_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzUserDataPage *self = BZ_USER_DATA_PAGE (object); switch (prop_id) { case PROP_STATE: self->state = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_user_data_page_constructed (GObject *object) { BzUserDataPage *self = BZ_USER_DATA_PAGE (object); g_autoptr (DexFuture) future = NULL; G_OBJECT_CLASS (bz_user_data_page_parent_class)->constructed (object); future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) fetch_user_data_fiber, bz_track_weak (self), bz_weak_release); dex_future_disown (g_steal_pointer (&future)); } static gboolean is_zero (gpointer object, int value) { return value == 0; } static void bz_user_data_page_class_init (BzUserDataPageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_user_data_page_dispose; object_class->constructed = bz_user_data_page_constructed; object_class->get_property = bz_user_data_page_get_property; object_class->set_property = bz_user_data_page_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_USER_DATA_TILE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-user-data-page.ui"); gtk_widget_class_bind_template_child (widget_class, BzUserDataPage, stack); gtk_widget_class_bind_template_callback (widget_class, is_zero); } static void bz_user_data_page_init (BzUserDataPage *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_user_data_page_new (BzStateInfo *state) { return g_object_new (BZ_TYPE_USER_DATA_PAGE, "state", state, NULL); } void bz_user_data_page_remove_group (BzUserDataPage *self, BzEntryGroup *group) { guint n_items, i; g_autofree char *title = NULL; g_autofree char *message = NULL; if (self->model == NULL) return; title = g_strdup (bz_entry_group_get_title (group)); n_items = g_list_model_get_n_items (self->model); for (i = 0; i < n_items; i++) { g_autoptr (BzEntryGroup) item = g_list_model_get_item (self->model, i); if (item == group) { g_list_store_remove (G_LIST_STORE (self->model), i); break; } } self->toast_count++; message = self->toast_count > 1 ? g_strdup_printf (ngettext ("Trashed User Data for %u App", "Trashed User Data for %u Apps", self->toast_count), self->toast_count) : g_strdup_printf (_ ("Trashed User Data for %s"), title); if (self->toast == NULL) { self->toast = adw_toast_new (message); g_object_add_weak_pointer (G_OBJECT (self->toast), (gpointer *) &self->toast); g_signal_connect_swapped (self->toast, "dismissed", G_CALLBACK (toast_dismissed_cb), self); bz_window_add_toast ( BZ_WINDOW (gtk_widget_get_root (GTK_WIDGET (self))), self->toast); } else adw_toast_set_title (self->toast, message); } static void items_changed (BzUserDataPage *self, guint position, guint removed, guint added, GListModel *model) { set_page (self); } static void toast_dismissed_cb (BzUserDataPage *self, AdwToast *toast) { self->toast_count = 0; } static void set_page (BzUserDataPage *self) { if (self->model != NULL && g_list_model_get_n_items (G_LIST_MODEL (self->model)) > 0) adw_view_stack_set_visible_child_name (self->stack, "content"); else adw_view_stack_set_visible_child_name (self->stack, "empty"); } static int compare_entry_groups_by_title (BzEntryGroup *group_a, BzEntryGroup *group_b) { const char *title_a = bz_entry_group_get_title (group_a); const char *title_b = bz_entry_group_get_title (group_b); return g_utf8_collate (title_a, title_b); } static DexFuture * fetch_user_data_fiber (GWeakRef *wr) { g_autoptr (BzUserDataPage) self = NULL; g_autoptr (GHashTable) ids_hash = NULL; g_autoptr (GError) local_error = NULL; GHashTableIter iter = { 0 }; g_autoptr (GtkStringList) id_list = NULL; BzApplicationMapFactory *factory = NULL; g_autoptr (GListStore) sorted_store = NULL; GListModel *installed_groups = NULL; g_autoptr (GHashTable) installed_ids = NULL; const char *own_id = NULL; guint n_items = 0; self = g_weak_ref_get (wr); if (self == NULL) return dex_future_new_reject (G_IO_ERROR, G_IO_ERROR_CANCELLED, "Page destroyed"); own_id = g_application_get_application_id (g_application_get_default ()); installed_groups = bz_state_info_get_all_installed_entry_groups (self->state); installed_ids = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); if (installed_groups != NULL) { guint n_installed = g_list_model_get_n_items (installed_groups); for (guint i = 0; i < n_installed; i++) { g_autoptr (BzEntryGroup) group = NULL; const char *id = NULL; group = g_list_model_get_item (installed_groups, i); id = bz_entry_group_get_id (group); if (id != NULL) g_hash_table_replace (installed_ids, g_strdup (id), NULL); } } ids_hash = dex_await_boxed ( bz_get_user_data_ids_dex (), &local_error); if (ids_hash == NULL) { g_warning ("Failed to enumerate user data directories: %s", local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } id_list = gtk_string_list_new (NULL); g_hash_table_iter_init (&iter, ids_hash); for (;;) { char *app_id = NULL; if (!g_hash_table_iter_next (&iter, (gpointer *) &app_id, NULL)) break; if (!g_hash_table_contains (installed_ids, app_id) && g_strcmp0 (app_id, own_id) != 0) gtk_string_list_append (id_list, app_id); } factory = bz_state_info_get_application_factory (self->state); sorted_store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); n_items = g_list_model_get_n_items (G_LIST_MODEL (id_list)); for (guint i = 0; i < n_items; i++) { GtkStringObject *str_obj = NULL; g_autofree char *id_copy = NULL; g_autoptr (BzEntryGroup) group = NULL; str_obj = g_list_model_get_item (G_LIST_MODEL (id_list), i); id_copy = g_strdup (gtk_string_object_get_string (str_obj)); group = bz_application_map_factory_convert_one (factory, str_obj); if (group == NULL) group = bz_entry_group_new_manual (id_copy, id_copy, NULL); g_list_store_append (sorted_store, group); } g_list_store_sort (sorted_store, (GCompareDataFunc) compare_entry_groups_by_title, NULL); if (self->model != NULL) g_signal_handlers_disconnect_by_func (self->model, items_changed, self); g_clear_object (&self->model); self->model = G_LIST_MODEL (g_steal_pointer (&sorted_store)); g_signal_connect_swapped (self->model, "items-changed", G_CALLBACK (items_changed), self); set_page (self); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MODEL]); return dex_future_new_true (); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-user-data-page.h���������������������������������������������������0000664�0000000�0000000�00000002263�15234476640�0021441�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-user-data-page.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-state-info.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_USER_DATA_PAGE (bz_user_data_page_get_type ()) G_DECLARE_FINAL_TYPE (BzUserDataPage, bz_user_data_page, BZ, USER_DATA_PAGE, AdwNavigationPage) GtkWidget * bz_user_data_page_new (BzStateInfo *state); void bz_user_data_page_remove_group (BzUserDataPage *self, BzEntryGroup *group); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-user-data-tile.blp�������������������������������������������������0000664�0000000�0000000�00000005257�15234476640�0022016�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzUserDataTile: Adw.Bin { child: Revealer revealer { transition-type: slide_down; reveal-child: true; child: Adw.Bin { accessibility { labelled-by: title_label; described-by: description_label; } margin-bottom: 5; margin-start: 4; margin-end: 4; margin-top: 5; styles [ "card", ] child: Box { orientation: horizontal; spacing: 10; Picture icon_picture { margin-start: 10; margin-top: 10; margin-bottom: 10; height-request: 64; width-request: 64; paintable: bind template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable; visible: bind try {$invert_boolean($is_null(template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable) as <bool>) as <bool>, false}; styles [ "icon-dropshadow", ] } Image fallback_icon { margin-start: 10; margin-top: 10; margin-bottom: 10; height-request: 64; width-request: 64; pixel-size: 64; icon-name: "application-x-executable"; visible: bind icon_picture.visible inverted; styles [ "icon-dropshadow", ] } Box { orientation: vertical; valign: center; spacing: 4; Label title_label { xalign: 0.0; ellipsize: end; single-line-mode: true; has-tooltip: true; tooltip-text: bind template.group as <$BzEntryGroup>.id; label: bind template.group as <$BzEntryGroup>.title; } Label description_label { halign: start; label: bind $format_size(template.group as <$BzEntryGroup>.user-data-size as <uint64>) as <string>; styles [ "caption-heading", ] } } Box { hexpand: true; valign: center; halign: end; spacing: 8; margin-end: 16; Button { styles [ "flat", ] tooltip-text: _("Open User Data Folder"); icon-name: "folder-open-symbolic"; clicked => $folder_cb() swapped; } Button { styles [ "flat", "destructive-action", ] tooltip-text: _("Trash User Data"); icon-name: "user-trash-symbolic"; clicked => $remove_cb() swapped; } } }; }; }; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-user-data-tile.c���������������������������������������������������0000664�0000000�0000000�00000015413�15234476640�0021456�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-user-data-tile.c * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-entry-group.h" #include "bz-state-info.h" #include "bz-user-data-page.h" #include "bz-user-data-tile.h" #include "env.h" #include "error.h" #include "util.h" struct _BzUserDataTile { BzListTile parent_instance; BzEntryGroup *group; GtkRevealer *revealer; }; G_DEFINE_FINAL_TYPE (BzUserDataTile, bz_user_data_tile, ADW_TYPE_BIN) enum { PROP_0, PROP_GROUP, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_user_data_tile_dispose (GObject *object) { BzUserDataTile *self = BZ_USER_DATA_TILE (object); g_clear_object (&self->group); G_OBJECT_CLASS (bz_user_data_tile_parent_class)->dispose (object); } static void bz_user_data_tile_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzUserDataTile *self = BZ_USER_DATA_TILE (object); switch (prop_id) { case PROP_GROUP: g_value_set_object (value, bz_user_data_tile_get_group (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_user_data_tile_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzUserDataTile *self = BZ_USER_DATA_TILE (object); switch (prop_id) { case PROP_GROUP: bz_user_data_tile_set_group (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_zero (gpointer object, int value) { return value == 0; } static char * format_size (gpointer object, guint64 value) { return g_format_size (value); } static void revealed_cb (GtkRevealer *revealer, GParamSpec *pspec, BzUserDataTile *self) { BzUserDataPage *page; if (gtk_revealer_get_child_revealed (revealer)) return; page = BZ_USER_DATA_PAGE ( gtk_widget_get_ancestor (GTK_WIDGET (self), BZ_TYPE_USER_DATA_PAGE)); if (page != NULL) bz_user_data_page_remove_group (page, self->group); g_signal_handlers_disconnect_by_func (revealer, revealed_cb, self); } static DexFuture * reap_user_data_done (DexFuture *future, GWeakRef *wr) { g_autoptr (BzUserDataTile) self = NULL; g_autoptr (GError) local_error = NULL; dex_future_get_value (future, &local_error); self = g_weak_ref_get (wr); if (self == NULL) return dex_future_new_true (); if (local_error != NULL) bz_show_error_for_widget ( GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (self))), _ ("Failed to Remove User Data"), local_error->message); else { g_signal_connect (self->revealer, "notify::child-revealed", G_CALLBACK (revealed_cb), self); gtk_revealer_set_reveal_child (self->revealer, FALSE); } return dex_future_new_true (); } static void folder_cb (BzUserDataTile *self, GtkButton *button) { gtk_widget_activate_action (GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (self))), "window.open-user-data-folder", "s", bz_entry_group_get_id (self->group)); } static void remove_cb (BzUserDataTile *self, GtkButton *button) { g_autoptr (DexFuture) future = NULL; if (self->group == NULL) return; future = bz_entry_group_reap_user_data (self->group); if (future != NULL) dex_future_disown (dex_future_finally ( dex_ref (future), (DexFutureCallback) reap_user_data_done, bz_track_weak (self), bz_weak_release)); } static void bz_user_data_tile_class_init (BzUserDataTileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_user_data_tile_dispose; object_class->get_property = bz_user_data_tile_get_property; object_class->set_property = bz_user_data_tile_set_property; props[PROP_GROUP] = g_param_spec_object ( "group", NULL, NULL, BZ_TYPE_ENTRY_GROUP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_LIST_TILE); g_type_ensure (BZ_TYPE_ENTRY_GROUP); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-user-data-tile.ui"); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, format_size); gtk_widget_class_bind_template_callback (widget_class, folder_cb); gtk_widget_class_bind_template_callback (widget_class, remove_cb); gtk_widget_class_bind_template_child (widget_class, BzUserDataTile, revealer); gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_BUTTON); } static void bz_user_data_tile_init (BzUserDataTile *self) { gtk_widget_init_template (GTK_WIDGET (self)); } GtkWidget * bz_user_data_tile_new (void) { return g_object_new (BZ_TYPE_USER_DATA_TILE, NULL); } void bz_user_data_tile_set_group (BzUserDataTile *self, BzEntryGroup *group) { g_return_if_fail (BZ_IS_USER_DATA_TILE (self)); g_return_if_fail (group == NULL || BZ_IS_ENTRY_GROUP (group)); g_clear_object (&self->group); if (group != NULL) self->group = g_object_ref (group); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_GROUP]); } BzEntryGroup * bz_user_data_tile_get_group (BzUserDataTile *self) { g_return_val_if_fail (BZ_IS_USER_DATA_TILE (self), NULL); return self->group; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-user-data-tile.h���������������������������������������������������0000664�0000000�0000000�00000002363�15234476640�0021463�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-user-data-tile.h * * Copyright 2025 Adam Masciola, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-list-tile.h" #include <adwaita.h> G_BEGIN_DECLS #define BZ_TYPE_USER_DATA_TILE (bz_user_data_tile_get_type ()) G_DECLARE_FINAL_TYPE (BzUserDataTile, bz_user_data_tile, BZ, USER_DATA_TILE, AdwBin) GtkWidget * bz_user_data_tile_new (void); void bz_user_data_tile_set_group (BzUserDataTile *self, BzEntryGroup *group); BzEntryGroup * bz_user_data_tile_get_group (BzUserDataTile *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-verification-status.txt��������������������������������������������0000664�0000000�0000000�00000000651�15234476640�0023234�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=bz name=verification_status parent-prefix=g parent-name=object author=AUTOGEN property=verified gboolean G_TYPE_BOOLEAN boolean property=method char G_TYPE_STRING string property=website char G_TYPE_STRING string property=login_name char G_TYPE_STRING string property=login_provider char G_TYPE_STRING string property=timestamp char G_TYPE_STRING string property=login_is_organization gboolean G_TYPE_BOOLEAN boolean ���������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-window.blp���������������������������������������������������������0000664�0000000�0000000�00000027314�15234476640�0020503�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Gio 2.0; using Gdk 4.0; using Adw 1; template $BzWindow: Adw.ApplicationWindow { title: bind $format_title(navigation_view.visible-page as <Adw.NavigationPage>.title); default-width: 1220; default-height: 900; width-request: 360; height-request: 294; ShortcutController { Shortcut { trigger: "Escape"; action: "action(escape)"; } Shortcut { trigger: "Back"; action: "action(escape)"; } Shortcut { trigger: "BackSpace"; action: "action(escape)"; } Shortcut { trigger: "<ctrl>g"; action: "action(escape)"; } } content: Gtk.Overlay window_overlay { child: Adw.ToolbarView { content: Adw.BreakpointBin split_breakpoint_bin { width-request: 360; height-request: 450; child: Adw.ToastOverlay toasts { child: Adw.NavigationView navigation_view { pop-on-escape: false; Adw.NavigationPage { tag: "main"; title: _("Bazaar"); child: Adw.ToolbarView toolbar_view { top-bar-style: flat; bottom-bar-style: flat; reveal-bottom-bars: false; content: Stack main_stack { StackPage { name: "loading"; child: Box { halign: fill; valign: center; orientation: vertical; spacing: 6; tooltip-text: bind template.state as <$BzStateInfo>.background-task-label; Adw.Spinner { width-request: 64; height-request: 64; margin-bottom: 18; } Label { label: _("Refreshing"); wrap: true; justify: center; margin-bottom: 24; styles [ "title-3", ] } }; } StackPage { name: "main"; child: Adw.ViewStack main_view_stack { Adw.ViewStackPage { name: "browse"; title: _("Curated"); icon-name: "star-outline-rounded-symbolic"; visible: bind template.state as <$BzStateInfo>.curated-provider as <$BzContentProvider>.has-inputs; child: $BzCuratedView browse { state: bind template.state as <$BzStateInfo>; browse-flathub => $browse_flathub_cb(template); }; } Adw.ViewStackPage { name: "flathub"; title: _("Explore"); icon-name: "explore-symbolic"; child: $BzFlathubPage { state: bind template.state as <$BzStateInfo>; open-search => $open_search_cb(template); }; } Adw.ViewStackPage { name: "installed"; // Translators: . title: _("Library"); icon-name: "library-symbolic"; badge-number: bind template.state as <$BzStateInfo>.available-updates as <Gio.ListStore>.n-items; needs-attention: bind template.state as <$BzStateInfo>.available-updates as <Gio.ListStore>.n-items; child: $BzLibraryPage library_page { state: bind template.state; transactions: bind template.state as <$BzStateInfo>.transaction-manager; model: bind template.state as <$BzStateInfo>.all-installed-entry-groups; update => $update_cb(template); }; } Adw.ViewStackPage { name: "search"; title: _("Search"); icon-name: "system-search-symbolic"; child: $BzSearchPage search_page { state: bind template.state; }; } }; } }; [top] Box { orientation: vertical; Adw.HeaderBar top_header_bar { [start] Box { styles [ "bz-debug", ] orientation: horizontal; spacing: 6; visible: bind template.state as <$BzStateInfo>.debug-mode; Button { has-tooltip: true; tooltip-text: "Open Bazaar Inspector"; icon-name: "bug-symbolic"; action-name: "app.bazaar-inspector"; } } [start] MenuButton { visible: bind try {template.state as <$BzStateInfo>.auth-state as <$BzAuthState>.authenticated, false}; menu-model: account_menu; styles [ "circular", "flat", ] child: Adw.Avatar { size: 24; show-initials: true; text: bind template.state as <$BzStateInfo>.auth-state as <$BzAuthState>.name; custom-image: bind try { $choose_object(template.state as <$BzStateInfo>.auth-state as <$BzAuthState>.paintable as <$BzAsyncTexture>.loaded, template.state as <$BzStateInfo>.auth-state as <$BzAuthState>.paintable , null as <Gdk.Paintable>), null as <Gdk.Paintable>}; }; } [start] Revealer { transition-type: crossfade; transition-duration: 750; margin-start: 8; reveal-child: bind $logical_and($invert_boolean(template.state as <$BzStateInfo>.busy) as <bool>, $invert_boolean($is_null(template.state as <$BzStateInfo>.background-task-label) as <bool>) as <bool>) as <bool>; child: Adw.Spinner { width-request: 16; height-request: 16; has-tooltip: true; tooltip-text: bind template.state as <$BzStateInfo>.background-task-label; }; } [title] Box { Adw.ViewSwitcher { stack: main_view_stack; policy: wide; visible: bind $invert_boolean(template.state as <$BzStateInfo>.busy) as <bool>; } Label { label: _("Bazaar"); visible: bind template.state as <$BzStateInfo>.busy as <bool>; styles [ "title", ] } } [end] MenuButton { primary: true; icon-name: "open-menu-symbolic"; has-tooltip: true; tooltip-text: _("Main Menu"); menu-model: primary_menu; } } Adw.Banner { styles [ "bz-donations-banner", ] revealed: bind $invert_boolean(template.state as <$BzStateInfo>.donation-prompt-dismissed as <bool>) as <bool>; title: _("You are running a new version of Bazaar!"); button-label: _("See What's New"); action-name: "app.donate"; } Adw.Banner { sensitive: bind $invert_boolean(template.state as <$BzStateInfo>.syncing as <bool>) as <bool>; revealed: bind $logical_and($invert_boolean(template.state as <$BzStateInfo>.metered_connection as <bool>) as <bool>, $logical_and(template.state as <$BzStateInfo>.have_connection as <bool>, $invert_boolean(template.state as <$BzStateInfo>.online as <bool>) as <bool>) as <bool>) as <bool>; title: _("You have a network connection but are viewing a cached version of Flathub"); button-label: _("Refresh Manually"); button-clicked => $sync_cb(template); } Adw.Banner { sensitive: bind $invert_boolean(template.state as <$BzStateInfo>.syncing as <bool>) as <bool>; revealed: bind $logical_and( $invert_boolean(template.state as <$BzStateInfo>.recently-synced as <bool>) as <bool>, $logical_and(template.state as <$BzStateInfo>.metered_connection as <bool>, template.state as <$BzStateInfo>.have_connection as <bool>) as <bool> ) as <bool>; title: _("Network connection is metered — automatic refreshes disabled"); button-label: _("Refresh Manually"); button-clicked => $sync_cb(template); } } [bottom] Adw.ViewSwitcherBar { stack: main_view_stack; reveal: true; visible: bind $invert_boolean(template.state as <$BzStateInfo>.busy) as <bool>; } }; } Adw.NavigationPage { tag: "view"; title: bind full_view.entry-group as <$BzEntryGroup>.title as <string>; child: $BzFullView full_view { state: bind template.state; update => $update_cb(template); }; } }; }; Adw.Breakpoint { condition ("max-width: 700px") setters { top_header_bar.title-widget: null; toolbar_view.reveal-bottom-bars: true; } apply => $breakpoint_apply_cb(template); unapply => $breakpoint_unapply_cb(template); } }; }; }; } menu primary_menu { section { item { label: _("_Donate to Bazaar"); action: "app.donate"; } } section { item { label: _("_Refresh"); action: "app.sync-remotes"; } item { label: _("_Login With Flathub"); action: "app.flathub-login"; hidden-when: "action-disabled"; } item { label: _("_Manage Leftover User Data"); action: "window.user-data"; } } section { item { label: _("_Preferences"); action: "app.preferences"; } item { label: _("_Keyboard Shortcuts"); action: "app.shortcuts"; } item { label: _("_About Bazaar"); action: "app.about"; } } section { item { label: _("_Quit Bazaar"); action: "app.quit"; } } } menu debug_menu { section { item { label: "Open Bazaar Inspector"; action: "app.bazaar-inspector"; } } } menu account_menu { section { item { label: _("Favorites"); action: "app.flathub-favorites"; } } section { item { label: _("Log Out"); action: "app.flathub-logout"; } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-window.c�����������������������������������������������������������0000664�0000000�0000000�00000123335�15234476640�0020150�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-window.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ // This file is an utter mess #include "config.h" #include <glib/gi18n.h> #include "bz-addons-dialog.h" #include "bz-application.h" #include "bz-curated-view.h" #include "bz-entry-group-util.h" #include "bz-entry-group.h" #include "env.h" #include "error.h" #include "bz-flathub-page.h" #include "bz-flatpak-entry.h" #include "bz-full-view.h" #include "hooks.h" #include "io.h" #include "bz-library-page.h" #include "bz-progress-bar.h" #include "bz-screenshot-page.h" #include "bz-search-bar.h" #include "bz-search-page.h" #include "template-callbacks.h" #include "bz-transaction-dialog.h" #include "bz-transaction-manager.h" #include "bz-user-data-page.h" #include "util.h" #include "bz-window.h" struct _BzWindow { AdwApplicationWindow parent_instance; BzStateInfo *state; GtkEventController *key_controller; BzScreenshotPage *screenshot_page; gboolean breakpoint_applied; /* Template widgets */ AdwNavigationView *navigation_view; BzFullView *full_view; BzSearchPage *search_page; BzLibraryPage *library_page; AdwToastOverlay *toasts; AdwViewStack *main_view_stack; GtkStack *main_stack; GtkOverlay *window_overlay; }; G_DEFINE_FINAL_TYPE (BzWindow, bz_window, ADW_TYPE_APPLICATION_WINDOW) enum { PROP_0, PROP_STATE, PROP_COMPACT, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; BZ_DEFINE_DATA ( transact, Transact, { GWeakRef *self; BzEntry *entry; BzEntryGroup *group; gboolean remove; gboolean auto_confirm; GtkWidget *source; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (entry, g_object_unref); BZ_RELEASE_DATA (group, g_object_unref); BZ_RELEASE_DATA (source, g_object_unref)) static DexFuture * transact_fiber (TransactData *data); BZ_DEFINE_DATA ( bulk_install, BulkInstall, { GWeakRef *self; GListModel *groups; }, BZ_RELEASE_DATA (self, bz_weak_release); BZ_RELEASE_DATA (groups, g_object_unref)) static DexFuture * bulk_install_fiber (BulkInstallData *data); static DexFuture * transact (BzEntry *entry, gboolean remove, GtkWidget *source); static void try_transact (BzWindow *self, BzEntry *entry, BzEntryGroup *group, gboolean remove, gboolean auto_confirm, GtkWidget *source); static void search (BzWindow *self, const char *text); static void bulk_install (BzWindow *self, BzEntry **installs, guint n_installs); static void set_page (BzWindow *self); static void emit_hook_disown (BzWindow *self, BzHookSignal signal, BzEntryGroup *group); static void bz_window_dispose (GObject *object) { BzWindow *self = BZ_WINDOW (object); g_clear_object (&self->state); G_OBJECT_CLASS (bz_window_parent_class)->dispose (object); } static void bz_window_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzWindow *self = BZ_WINDOW (object); switch (prop_id) { case PROP_STATE: g_value_set_object (value, self->state); break; case PROP_COMPACT: g_value_set_boolean (value, self->breakpoint_applied); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_window_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { // BzWindow *self = BZ_WINDOW (object); switch (prop_id) { case PROP_STATE: default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static char * list_length (gpointer object, GListModel *model) { if (model == NULL) return g_strdup (0); return g_strdup_printf ("%u", g_list_model_get_n_items (model)); } static void update_cb (BzWindow *self, GListModel *entries, GtkWidget *widget) { g_autoptr (BzTransaction) transaction = NULL; guint n_updates = 0; g_autofree BzEntry **updates_buf = NULL; GListModel *available_updates = NULL; g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (G_IS_LIST_MODEL (entries)); n_updates = g_list_model_get_n_items (entries); if (n_updates == 0) return; updates_buf = g_malloc_n (n_updates, sizeof (*updates_buf)); for (guint i = 0; i < n_updates; i++) updates_buf[i] = g_list_model_get_item (entries, i); transaction = bz_transaction_new_full ( NULL, 0, updates_buf, n_updates, NULL, 0); dex_future_disown (bz_transaction_manager_add ( bz_state_info_get_transaction_manager (self->state), transaction)); available_updates = bz_state_info_get_available_updates (self->state); if (G_IS_LIST_STORE (available_updates)) { GListStore *store = G_LIST_STORE (available_updates); guint n_available = g_list_model_get_n_items (available_updates); for (guint i = n_available; i > 0; i--) { guint current_size = 0; guint idx = 0; g_autoptr (BzEntry) available_entry = NULL; const char *available_id = NULL; idx = i - 1; current_size = g_list_model_get_n_items (available_updates); if (idx >= current_size) continue; available_entry = g_list_model_get_item (available_updates, idx); available_id = bz_entry_get_id (available_entry); for (guint j = 0; j < n_updates; j++) { if (g_strcmp0 (available_id, bz_entry_get_id (updates_buf[j])) == 0) { g_list_store_remove (store, idx); break; } } } } g_object_notify (G_OBJECT (self->state), "available-updates"); for (guint i = 0; i < n_updates; i++) g_object_unref (updates_buf[i]); } void bz_window_show_app_id (BzWindow *self, const char *app_id) { g_autoptr (BzEntryGroup) group = NULL; g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (app_id != NULL); group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (self->state), gtk_string_object_new (app_id)); if (group != NULL) bz_window_show_group (self, group); } static void page_toggled_cb (BzWindow *self, GParamSpec *pspec, AdwToggleGroup *toggles) { set_page (self); } static void browse_flathub_cb (BzWindow *self, BzCuratedView *widget) { adw_view_stack_set_visible_child_name (self->main_view_stack, "flathub"); } static void open_search_cb (BzWindow *self, BzSearchPage *widget) { adw_view_stack_set_visible_child_name (self->main_view_stack, "search"); } static void breakpoint_apply_cb (BzWindow *self, AdwBreakpoint *breakpoint) { self->breakpoint_applied = TRUE; gtk_widget_add_css_class (GTK_WIDGET (self), "narrow"); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COMPACT]); } static void breakpoint_unapply_cb (BzWindow *self, AdwBreakpoint *breakpoint) { self->breakpoint_applied = FALSE; gtk_widget_remove_css_class (GTK_WIDGET (self), "narrow"); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COMPACT]); } static void sync_cb (BzWindow *self, GtkButton *button) { g_action_group_activate_action ( G_ACTION_GROUP (g_application_get_default ()), "sync-remotes", NULL); } static void transactions_clear_cb (BzWindow *self, GtkButton *button) { bz_transaction_manager_clear_finished ( bz_state_info_get_transaction_manager (self->state)); } static void action_escape (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); GListModel *stack = NULL; guint n_pages = 0; if (self->screenshot_page != NULL) { if (!bz_screenshot_page_is_closing (self->screenshot_page)) { bz_screenshot_page_close (self->screenshot_page); return; } } stack = adw_navigation_view_get_navigation_stack (self->navigation_view); n_pages = g_list_model_get_n_items (stack); adw_navigation_view_pop (self->navigation_view); if (n_pages <= 2) set_page (self); } static char * format_progress (gpointer object, double value) { return g_strdup_printf ("%.0f%%", 100.0 * value); } static char * format_title (gpointer object, const char *title) { if (title == NULL || *title == '\0' || g_strcmp0 (title, _ ("Bazaar")) == 0) return g_strdup (_ ("Bazaar")); /* Translators: %s is the title of the current page */ return g_strdup_printf (_ ("Bazaar — %s"), title); } static BzEntryGroup * resolve_group_from_parameter (BzWindow *self, GVariant *parameter, gboolean *auto_confirm) { const char *id = NULL; g_variant_get (parameter, "(&sb)", &id, auto_confirm); return bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (self->state), gtk_string_object_new (id)); } static void action_install_group (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); g_autoptr (BzEntryGroup) group = NULL; gboolean auto_confirm = FALSE; group = resolve_group_from_parameter (self, parameter, &auto_confirm); if (group != NULL) try_transact (self, NULL, group, FALSE, auto_confirm, NULL); } static void action_remove_group (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); g_autoptr (BzEntryGroup) group = NULL; gboolean auto_confirm = FALSE; group = resolve_group_from_parameter (self, parameter, &auto_confirm); if (group != NULL) try_transact (self, NULL, group, TRUE, auto_confirm, NULL); } static void action_cancel_group (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); const char *id = NULL; BzTransactionManager *manager = NULL; BzBackend *backend = NULL; GListModel *trackers = NULL; guint n_items = 0; id = g_variant_get_string (parameter, NULL); manager = bz_state_info_get_transaction_manager (self->state); if (manager == NULL) return; backend = bz_state_info_get_backend (self->state); if (backend == NULL) return; trackers = bz_transaction_manager_get_all_trackers (manager); n_items = g_list_model_get_n_items (trackers); for (guint i = 0; i < n_items; i++) { g_autoptr (BzTransactionEntryTracker) tracker = NULL; BzEntry *entry = NULL; const char *entry_id = NULL; tracker = g_list_model_get_item (trackers, i); entry = bz_transaction_entry_tracker_get_entry (tracker); if (entry == NULL) continue; entry_id = bz_entry_get_id (entry); if (g_strcmp0 (entry_id, id) == 0) { if (bz_backend_cancel_task_for_entry (backend, entry)) g_object_set (tracker, "status", BZ_TRANSACTION_ENTRY_STATUS_CANCELLED, NULL); break; } } } static void parent_ui_entry_show_group_cb (BzAddonsDialog *dialog, GParamSpec *pspec, BzWindow *self) { BzEntry *entry = NULL; g_autoptr (BzEntryGroup) group = NULL; entry = bz_addons_dialog_get_parent_entry (dialog); if (entry == NULL) return; group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (bz_window_get_state_info (self)), gtk_string_object_new (bz_entry_get_id (entry))); if (group == NULL) return; bz_window_show_group (self, group); } static void action_show_group (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); const char *id = NULL; g_autoptr (BzEntryGroup) group = NULL; id = g_variant_get_string (parameter, NULL); group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (self->state), gtk_string_object_new (id)); if (group == NULL) return; if (bz_entry_group_is_addon (group)) { AdwDialog *dialog = NULL; dialog = bz_addons_dialog_new_single (group); g_signal_connect_object (dialog, "notify::parent-ui-entry", G_CALLBACK (parent_ui_entry_show_group_cb), self, 0); parent_ui_entry_show_group_cb (BZ_ADDONS_DIALOG (dialog), NULL, self); adw_dialog_present (dialog, GTK_WIDGET (self)); } else bz_window_show_group (self, group); } static void action_addons_group (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); const char *id = NULL; g_autoptr (BzEntryGroup) group = NULL; AdwDialog *addons_dialog = NULL; id = g_variant_get_string (parameter, NULL); group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (self->state), gtk_string_object_new (id)); if (group == NULL) return; addons_dialog = bz_addons_dialog_new (group); adw_dialog_present (addons_dialog, GTK_WIDGET (self)); } static void action_bulk_install (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); g_autoptr (GListStore) ids = NULL; g_autoptr (GListModel) groups = NULL; GVariantIter iter = { 0 }; const char *id = NULL; ids = g_list_store_new (GTK_TYPE_STRING_OBJECT); g_variant_iter_init (&iter, parameter); while (g_variant_iter_next (&iter, "&s", &id)) { g_autoptr (GtkStringObject) string = gtk_string_object_new (id); g_list_store_append (ids, string); } groups = bz_application_map_factory_generate ( bz_state_info_get_application_factory (self->state), G_LIST_MODEL (ids)); if (groups != NULL && g_list_model_get_n_items (groups) > 0) bz_window_bulk_install (self, groups); } static void action_user_data (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); AdwNavigationPage *user_data_page = NULL; user_data_page = ADW_NAVIGATION_PAGE (bz_user_data_page_new (self->state)); adw_navigation_view_push (self->navigation_view, user_data_page); } static void action_open_flathub_page (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); adw_navigation_view_pop_to_tag (self->navigation_view, "main"); adw_view_stack_set_visible_child_name (self->main_view_stack, "flathub"); } static void action_open_library (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); adw_navigation_view_pop_to_tag (self->navigation_view, "main"); adw_view_stack_set_visible_child_name (self->main_view_stack, "installed"); bz_library_page_reset_search (self->library_page); } static DexFuture * launch_group_fiber (BzEntryGroup *group) { g_autoptr (GError) local_error = NULL; g_autoptr (GListStore) store = NULL; GtkWidget *window = NULL; BzStateInfo *state = NULL; state = bz_state_info_get_default (); window = GTK_WIDGET (gtk_application_get_active_window ( GTK_APPLICATION (g_application_get_default ()))); store = dex_await_object ( bz_entry_group_dup_all_into_store (group), &local_error); if (store == NULL) { if (window != NULL) bz_show_error_for_widget (window, _ ("Failed to launch application"), local_error->message); return dex_future_new_for_error (g_steal_pointer (&local_error)); } for (guint i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (store)); i++) { g_autoptr (BzEntry) entry = NULL; const char *ref = NULL; gboolean result = FALSE; entry = g_list_model_get_item (G_LIST_MODEL (store), i); if (!BZ_IS_FLATPAK_ENTRY (entry) || !bz_entry_is_installed (entry)) continue; ref = bz_flatpak_entry_get_addon_extension_of_ref (BZ_FLATPAK_ENTRY (entry)); if (ref != NULL) { g_auto (GStrv) parts = NULL; BzApplicationMapFactory *factory = NULL; g_autoptr (BzEntryGroup) parent = NULL; parts = g_strsplit (ref, "/", -1); if (parts[0] != NULL && parts[1] != NULL) { factory = bz_state_info_get_application_factory (state); parent = bz_application_map_factory_convert_one ( factory, gtk_string_object_new (parts[1])); if (parent != NULL) return launch_group_fiber (parent); } } result = bz_flatpak_entry_launch ( BZ_FLATPAK_ENTRY (entry), BZ_FLATPAK_INSTANCE (bz_state_info_get_backend (state)), &local_error); if (!result && window != NULL) bz_show_error_for_widget (window, _ ("Failed to launch application"), local_error->message); return result ? dex_future_new_true () : dex_future_new_for_error (g_steal_pointer (&local_error)); } return dex_future_new_false (); } static void action_launch_group (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); const char *id = NULL; g_autoptr (BzEntryGroup) group = NULL; id = g_variant_get_string (parameter, NULL); group = bz_application_map_factory_convert_one ( bz_state_info_get_application_factory (self->state), gtk_string_object_new (id)); if (group == NULL) return; dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) launch_group_fiber, g_object_ref (group), g_object_unref)); } static void action_activate_hook_app (GtkWidget *widget, const char *action_name, GVariant *parameter) { BzWindow *self = BZ_WINDOW (widget); const char *id = NULL; g_autoptr (BzEntryGroup) group = NULL; id = g_variant_get_string (parameter, NULL); group = bz_entry_group_new_manual (id, NULL, NULL); emit_hook_disown (self, BZ_HOOK_SIGNAL_ARTICLE_APP, group); } static void action_open_user_data_folder (GtkWidget *widget, const char *action_name, GVariant *parameter) { const char *id = NULL; g_autofree char *path = NULL; g_autoptr (GFile) file = NULL; g_autoptr (GtkFileLauncher) launcher = NULL; id = g_variant_get_string (parameter, NULL); if (id == NULL) return; path = bz_dup_user_data_path (id); file = g_file_new_for_path (path); launcher = gtk_file_launcher_new (file); gtk_file_launcher_launch (launcher, GTK_WINDOW (widget), NULL, NULL, NULL); } static void bz_window_class_init (BzWindowClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_window_dispose; object_class->get_property = bz_window_get_property; object_class->set_property = bz_window_set_property; props[PROP_STATE] = g_param_spec_object ( "state", NULL, NULL, BZ_TYPE_STATE_INFO, G_PARAM_READABLE); props[PROP_COMPACT] = g_param_spec_boolean ( "compact", NULL, NULL, FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); g_type_ensure (BZ_TYPE_SEARCH_BAR); g_type_ensure (BZ_TYPE_SEARCH_PAGE); g_type_ensure (BZ_TYPE_PROGRESS_BAR); g_type_ensure (BZ_TYPE_CURATED_VIEW); g_type_ensure (BZ_TYPE_FULL_VIEW); g_type_ensure (BZ_TYPE_LIBRARY_PAGE); g_type_ensure (BZ_TYPE_FLATHUB_PAGE); gtk_widget_class_set_template_from_resource (widget_class, "/io/github/kolunmi/Bazaar/bz-window.ui"); bz_widget_class_bind_all_util_callbacks (widget_class); gtk_widget_class_bind_template_child (widget_class, BzWindow, navigation_view); gtk_widget_class_bind_template_child (widget_class, BzWindow, full_view); gtk_widget_class_bind_template_child (widget_class, BzWindow, toasts); gtk_widget_class_bind_template_child (widget_class, BzWindow, search_page); gtk_widget_class_bind_template_child (widget_class, BzWindow, library_page); gtk_widget_class_bind_template_child (widget_class, BzWindow, main_view_stack); gtk_widget_class_bind_template_child (widget_class, BzWindow, main_stack); gtk_widget_class_bind_template_child (widget_class, BzWindow, window_overlay); gtk_widget_class_bind_template_callback (widget_class, list_length); gtk_widget_class_bind_template_callback (widget_class, update_cb); gtk_widget_class_bind_template_callback (widget_class, page_toggled_cb); gtk_widget_class_bind_template_callback (widget_class, breakpoint_apply_cb); gtk_widget_class_bind_template_callback (widget_class, breakpoint_unapply_cb); gtk_widget_class_bind_template_callback (widget_class, sync_cb); gtk_widget_class_bind_template_callback (widget_class, transactions_clear_cb); gtk_widget_class_bind_template_callback (widget_class, browse_flathub_cb); gtk_widget_class_bind_template_callback (widget_class, open_search_cb); gtk_widget_class_bind_template_callback (widget_class, format_progress); gtk_widget_class_bind_template_callback (widget_class, format_title); gtk_widget_class_install_action (widget_class, "escape", NULL, action_escape); gtk_widget_class_install_action (widget_class, "window.user-data", NULL, action_user_data); gtk_widget_class_install_action (widget_class, "window.open-library", NULL, action_open_library); gtk_widget_class_install_action (widget_class, "window.open-flathub-page", NULL, action_open_flathub_page); gtk_widget_class_install_action (widget_class, "window.install-group", "(sb)", action_install_group); gtk_widget_class_install_action (widget_class, "window.remove-group", "(sb)", action_remove_group); gtk_widget_class_install_action (widget_class, "window.cancel-group", "s", action_cancel_group); gtk_widget_class_install_action (widget_class, "window.show-group", "s", action_show_group); gtk_widget_class_install_action (widget_class, "window.addons-group", "s", action_addons_group); gtk_widget_class_install_action (widget_class, "window.bulk-install", NULL, action_bulk_install); gtk_widget_class_install_action (widget_class, "window.launch-group", "s", action_launch_group); gtk_widget_class_install_action (widget_class, "window.activate-hook-app", "s", action_activate_hook_app); gtk_widget_class_install_action (widget_class, "window.open-user-data-folder", "s", action_open_user_data_folder); gtk_widget_class_add_binding_action (widget_class, GDK_KEY_d, GDK_CONTROL_MASK, "window.open-library", NULL); gtk_widget_class_add_binding_action (widget_class, GDK_KEY_w, GDK_CONTROL_MASK, "window.close", NULL); gtk_widget_class_add_binding_action (widget_class, GDK_KEY_e, GDK_CONTROL_MASK, "window.open-flathub-page", NULL); } static gboolean key_pressed (BzWindow *self, guint keyval, guint keycode, GdkModifierType state, GtkEventControllerKey *controller) { gunichar unichar = 0; char buf[32] = { 0 }; const char *visible_child_name = NULL; gboolean was_deeper = FALSE; /* Ignore if this is a modifier-shortcut of some sort */ if (state & ~(GDK_NO_MODIFIER_MASK | GDK_SHIFT_MASK)) return FALSE; if (self->screenshot_page != NULL) return FALSE; unichar = gdk_keyval_to_unicode (keyval); if (unichar == 0 || !g_unichar_isgraph (unichar)) return FALSE; g_unichar_to_utf8 (unichar, buf); was_deeper = g_list_model_get_n_items ( adw_navigation_view_get_navigation_stack (self->navigation_view)) > 1; adw_navigation_view_pop_to_tag (self->navigation_view, "main"); visible_child_name = adw_view_stack_get_visible_child_name (self->main_view_stack); if (!was_deeper && g_strcmp0 (visible_child_name, "installed") == 0) return bz_library_page_ensure_active (self->library_page, buf); else { adw_view_stack_set_visible_child_name (self->main_view_stack, "search"); return bz_search_page_ensure_active (self->search_page, buf); } } static void bz_window_init (BzWindow *self) { gtk_widget_init_template (GTK_WIDGET (self)); #ifdef DEVELOPMENT_BUILD gtk_widget_add_css_class (GTK_WIDGET (self), "devel"); #endif adw_view_stack_set_visible_child_name (self->main_view_stack, "flathub"); self->key_controller = gtk_event_controller_key_new (); g_signal_connect_swapped (self->key_controller, "key-pressed", G_CALLBACK (key_pressed), self); gtk_widget_add_controller (GTK_WIDGET (self), self->key_controller); } static void app_busy_changed (BzWindow *self, GParamSpec *pspec, BzStateInfo *info) { bz_search_page_refresh (self->search_page); set_page (self); } static void has_inputs_changed (BzWindow *self, GParamSpec *pspec, BzContentProvider *provider) { if (!bz_content_provider_get_has_inputs (provider)) adw_view_stack_set_visible_child_name (self->main_view_stack, "flathub"); } static DexFuture * transact_fiber (TransactData *data) { g_autoptr (GError) local_error = NULL; g_autoptr (BzEntry) selected_entry = NULL; g_autoptr (DexFuture) transact_future = NULL; g_autofree char *id_dup = NULL; BzMainConfig *config = NULL; GListModel *hooks = NULL; gboolean delete_user_data = FALSE; GdkDisplay *display = NULL; GdkSeat *seat = NULL; GdkDevice *keyboard = NULL; GdkModifierType modifiers = GDK_NO_MODIFIER_MASK; // Get ID early before any async operations if (data->group != NULL) id_dup = g_strdup (bz_entry_group_get_id (data->group)); else id_dup = g_strdup (bz_entry_get_id (data->entry)); /* Prevent Bazaar from being removed by itself */ if (data->remove) { const char *bazaar_id = NULL; bazaar_id = g_application_get_application_id (g_application_get_default ()); if (g_strcmp0 (id_dup, bazaar_id) == 0) { GtkWidget *window = NULL; window = GTK_WIDGET (gtk_application_get_active_window (GTK_APPLICATION (g_application_get_default ()))); bz_show_error_for_widget (window, _ ("You can't remove Bazaar from Bazaar!"), _ ("You can't remove Bazaar from Bazaar!")); return dex_future_new_false (); } } config = bz_state_info_get_main_config (bz_state_info_get_default ()); if (config != NULL) hooks = bz_main_config_get_hooks (config); #define RUN_HOOK(_signal) \ G_STMT_START \ { \ if (hooks != NULL && \ !dex_await ( \ bz_run_hook_emission ( \ hooks, (_signal), \ data->remove \ ? BZ_HOOK_TRANSACTION_TYPE_REMOVAL \ : BZ_HOOK_TRANSACTION_TYPE_INSTALL, \ id_dup, NULL), \ &local_error)) \ return dex_future_new_for_error (g_steal_pointer (&local_error)); \ } \ G_STMT_END RUN_HOOK (BZ_HOOK_SIGNAL_BEFORE_TRANSACTION); display = gdk_display_get_default (); seat = gdk_display_get_default_seat (display); keyboard = gdk_seat_get_keyboard (seat); if (keyboard != NULL) modifiers = gdk_device_get_modifier_state (keyboard); if (modifiers & GDK_SHIFT_MASK) /* Holding shift while invoking a transaction skips the dialog and assumes the first valid entry */ { if (data->group != NULL) { g_autoptr (GListModel) store = NULL; guint n_items = 0; store = dex_await_object ( bz_entry_group_dup_all_into_store (data->group), &local_error); if (store == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); n_items = g_list_model_get_n_items (store); for (guint i = 0; i < n_items; i++) { g_autoptr (BzEntry) entry = NULL; gboolean installed = FALSE; entry = g_list_model_get_item (store, i); installed = bz_entry_is_installed (entry); if ((data->remove && installed) || (!data->remove && !installed)) { selected_entry = g_steal_pointer (&entry); break; } } if (selected_entry == NULL) return dex_future_new_false (); } else selected_entry = g_object_ref (data->entry); } else { g_autoptr (BzTransactionDialogResult) dialog_result = NULL; // Show the dialog dialog_result = dex_await_object ( bz_transaction_dialog_show ( GTK_WIDGET (gtk_application_get_active_window ( GTK_APPLICATION (g_application_get_default ()))), data->entry, data->group, data->remove, data->auto_confirm), &local_error); if (dialog_result == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); if (!bz_transaction_dialog_result_get_confirmed (dialog_result)) return dex_future_new_false (); selected_entry = g_object_ref ( bz_transaction_dialog_result_get_selected_entry (dialog_result)); delete_user_data = bz_transaction_dialog_result_get_delete_user_data ( dialog_result); } // Perform the transaction transact_future = transact ( selected_entry, data->remove, data->source); if (!dex_await (g_steal_pointer (&transact_future), &local_error)) return dex_future_new_for_error (g_steal_pointer (&local_error)); // Handle user data deletion if (delete_user_data) { if (data->group != NULL) bz_entry_group_reap_user_data (data->group); else dex_future_disown (bz_reap_user_data_dex (id_dup)); } RUN_HOOK (BZ_HOOK_SIGNAL_AFTER_TRANSACTION); #undef RUN_HOOK return dex_future_new_true (); } BzWindow * bz_window_new (BzStateInfo *state) { BzWindow *window = NULL; BzMainConfig *config = NULL; g_return_val_if_fail (BZ_IS_STATE_INFO (state), NULL); window = g_object_new (BZ_TYPE_WINDOW, NULL); window->state = g_object_ref (state); config = bz_state_info_get_main_config (state); if (config != NULL && bz_main_config_get_start_on_curated (config)) { BzContentProvider *curated_provider = NULL; curated_provider = bz_state_info_get_curated_provider (state); if (curated_provider != NULL && g_list_model_get_n_items (G_LIST_MODEL (curated_provider)) > 0) adw_view_stack_set_visible_child_name (window->main_view_stack, "browse"); } g_signal_connect_object (state, "notify::busy", G_CALLBACK (app_busy_changed), window, G_CONNECT_SWAPPED); /* these seem unsafe but BzApplication never * changes the objects we are connecting to */ g_signal_connect_object (bz_state_info_get_curated_provider (state), "notify::has-inputs", G_CALLBACK (has_inputs_changed), window, G_CONNECT_SWAPPED); g_object_notify_by_pspec (G_OBJECT (window), props[PROP_STATE]); set_page (window); return window; } void bz_window_search (BzWindow *self, const char *text) { g_return_if_fail (BZ_IS_WINDOW (self)); search (self, text); } void bz_window_show_entry (BzWindow *self, BzEntry *entry) { g_autoptr (BzEntryGroup) group = NULL; g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (BZ_IS_ENTRY (entry)); group = bz_entry_group_new_for_single_entry (entry); bz_window_show_group (self, group); } void bz_window_show_group (BzWindow *self, BzEntryGroup *group) { GListModel *stack = NULL; gboolean in_stack = FALSE; g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (BZ_IS_ENTRY_GROUP (group)); bz_full_view_set_entry_group (self->full_view, group); emit_hook_disown (self, BZ_HOOK_SIGNAL_VIEW_APP, group); stack = adw_navigation_view_get_navigation_stack (self->navigation_view); for (guint i = 0; i < g_list_model_get_n_items (stack); i++) { g_autoptr (AdwNavigationPage) page = NULL; page = g_list_model_get_item (stack, i); if (g_strcmp0 (adw_navigation_page_get_tag (page), "view") == 0) { in_stack = TRUE; adw_navigation_view_pop_to_page (self->navigation_view, page); break; } } if (!in_stack) adw_navigation_view_push_by_tag (self->navigation_view, "view"); } void bz_window_add_toast (BzWindow *self, AdwToast *toast) { g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (ADW_IS_TOAST (toast)); adw_toast_overlay_add_toast (self->toasts, toast); } void bz_window_push_page (BzWindow *self, AdwNavigationPage *page) { g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (ADW_IS_NAVIGATION_PAGE (page)); adw_navigation_view_push (self->navigation_view, page); } void bz_window_open_screenshot_page (BzWindow *self, BzScreenshotPage *page) { g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (BZ_IS_SCREENSHOT_PAGE (page)); if (self->screenshot_page != NULL) return; self->screenshot_page = page; g_signal_connect_swapped (page, "destroy", G_CALLBACK (g_nullify_pointer), &self->screenshot_page); gtk_overlay_add_overlay (self->window_overlay, GTK_WIDGET (page)); } void bz_window_bulk_install (BzWindow *self, GListModel *groups) { g_autoptr (BulkInstallData) data = NULL; g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (G_IS_LIST_MODEL (groups)); data = bulk_install_data_new (); data->self = bz_track_weak (self); data->groups = g_object_ref (groups); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) bulk_install_fiber, bulk_install_data_ref (data), bulk_install_data_unref)); } BzStateInfo * bz_window_get_state_info (BzWindow *self) { g_return_val_if_fail (BZ_IS_WINDOW (self), NULL); return self->state; } static DexFuture * transact (BzEntry *entry, gboolean remove, GtkWidget *source) { g_autoptr (BzTransaction) transaction = NULL; if (remove) transaction = bz_transaction_new_full ( NULL, 0, NULL, 0, &entry, 1); else transaction = bz_transaction_new_full ( &entry, 1, NULL, 0, NULL, 0); return bz_transaction_manager_add ( bz_state_info_get_transaction_manager (bz_state_info_get_default ()), transaction); } static void try_transact (BzWindow *self, BzEntry *entry, BzEntryGroup *group, gboolean remove, gboolean auto_confirm, GtkWidget *source) { g_autoptr (TransactData) data = NULL; g_return_if_fail (entry != NULL || group != NULL); if (bz_state_info_get_busy (self->state)) { adw_toast_overlay_add_toast ( self->toasts, adw_toast_new_format (_ ("Can't do that right now!"))); return; } data = transact_data_new (); data->self = bz_track_weak (self); data->entry = bz_object_maybe_ref (entry); data->group = bz_object_maybe_ref (group); data->remove = remove; data->auto_confirm = auto_confirm; data->source = bz_object_maybe_ref (source); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) transact_fiber, transact_data_ref (data), transact_data_unref)); } static void bulk_install (BzWindow *self, BzEntry **installs, guint n_installs) { g_autoptr (BzTransaction) transaction = NULL; g_return_if_fail (BZ_IS_WINDOW (self)); g_return_if_fail (installs != NULL); g_return_if_fail (n_installs > 0); if (bz_state_info_get_busy (self->state)) { adw_toast_overlay_add_toast ( self->toasts, adw_toast_new_format (_ ("Can't do that right now!"))); return; } transaction = bz_transaction_new_full ( installs, n_installs, NULL, 0, NULL, 0); dex_future_disown (bz_transaction_manager_add ( bz_state_info_get_transaction_manager (self->state), transaction)); } static DexFuture * bulk_install_fiber (BulkInstallData *data) { g_autoptr (BzWindow) self = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (BzBulkInstallDialogResult) result = NULL; GListModel *entries = NULL; guint n_installs = 0; g_autofree BzEntry **installs_buf = NULL; bz_weak_get_or_return_reject (self, data->self); result = dex_await_object ( bz_bulk_install_dialog_show (GTK_WIDGET (self), data->groups), &local_error); if (result == NULL) return dex_future_new_for_error (g_steal_pointer (&local_error)); if (!bz_bulk_install_dialog_result_get_confirmed (result)) return dex_future_new_false (); entries = bz_bulk_install_dialog_result_get_entries (result); n_installs = g_list_model_get_n_items (entries); if (n_installs == 0) return dex_future_new_false (); installs_buf = g_malloc_n (n_installs, sizeof (*installs_buf)); for (guint i = 0; i < n_installs; i++) installs_buf[i] = g_list_model_get_item (entries, i); bulk_install (self, installs_buf, n_installs); for (guint i = 0; i < n_installs; i++) g_object_unref (installs_buf[i]); return dex_future_new_true (); } static void search (BzWindow *self, const char *initial) { if (initial != NULL && *initial != '\0') bz_search_page_set_text (self->search_page, initial); adw_view_stack_set_visible_child_name (self->main_view_stack, "search"); adw_navigation_view_pop_to_tag (self->navigation_view, "main"); gtk_widget_grab_focus (GTK_WIDGET (self->search_page)); } static void set_page (BzWindow *self) { const char *selected_navigation_page_name = NULL; if (self->state == NULL) return; if (bz_state_info_get_busy (self->state)) { gtk_stack_set_visible_child_name (self->main_stack, "loading"); adw_navigation_view_pop_to_tag (self->navigation_view, "main"); } else gtk_stack_set_visible_child_name (self->main_stack, "main"); selected_navigation_page_name = adw_navigation_view_get_visible_page_tag (self->navigation_view); if (g_strcmp0 (selected_navigation_page_name, "view") != 0) bz_full_view_set_entry_group (self->full_view, NULL); } static void emit_hook_disown (BzWindow *self, BzHookSignal signal, BzEntryGroup *group) { BzMainConfig *config = NULL; GListModel *hooks = NULL; if (self->state == NULL) return; config = bz_state_info_get_main_config (self->state); if (config == NULL) return; hooks = bz_main_config_get_hooks (config); if (hooks == NULL) return; dex_future_disown (bz_run_hook_emission ( hooks, signal, 0, NULL, group)); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-window.h�����������������������������������������������������������0000664�0000000�0000000�00000003553�15234476640�0020154�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-window.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include "bz-state-info.h" #include "bz-screenshot-page.h" G_BEGIN_DECLS #define BZ_TYPE_WINDOW (bz_window_get_type ()) G_DECLARE_FINAL_TYPE (BzWindow, bz_window, BZ, WINDOW, AdwApplicationWindow) BzWindow * bz_window_new (BzStateInfo *state); void bz_window_search (BzWindow *self, const char *text); void bz_window_push_update_dialog (BzWindow *self); void bz_window_show_entry (BzWindow *self, BzEntry *entry); void bz_window_show_group (BzWindow *self, BzEntryGroup *group); void bz_window_show_app_id (BzWindow *self, const char *app_id); void bz_window_push_page (BzWindow *self, AdwNavigationPage *page); void bz_window_add_toast (BzWindow *self, AdwToast *toast); void bz_window_open_screenshot_page (BzWindow *self, BzScreenshotPage *page); void bz_window_bulk_install (BzWindow *self, GListModel *groups); BzStateInfo * bz_window_get_state_info (BzWindow *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-world-map-parser.c�������������������������������������������������0000664�0000000�0000000�00000007731�15234476640�0022036�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-world-map-parser.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <gio/gio.h> #include "bz-country.h" #include "bz-world-map-parser.h" struct _BzWorldMapParser { GObject parent_instance; GListStore *countries; }; G_DEFINE_FINAL_TYPE (BzWorldMapParser, bz_world_map_parser, G_TYPE_OBJECT) static const char *get_translated_name (GVariant *translations, const char *fallback_name); static void bz_world_map_parser_dispose (GObject *object) { BzWorldMapParser *self = BZ_WORLD_MAP_PARSER (object); g_clear_object (&self->countries); G_OBJECT_CLASS (bz_world_map_parser_parent_class)->dispose (object); } static void bz_world_map_parser_class_init (BzWorldMapParserClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_world_map_parser_dispose; } static void bz_world_map_parser_init (BzWorldMapParser *self) { self->countries = g_list_store_new (BZ_TYPE_COUNTRY); } BzWorldMapParser * bz_world_map_parser_new (void) { return g_object_new (BZ_TYPE_WORLD_MAP_PARSER, NULL); } gboolean bz_world_map_parser_load_from_resource (BzWorldMapParser *self, const char *resource_path, GError **error) { g_autoptr (GBytes) bytes = NULL; g_autoptr (GVariant) data = NULL; GVariantIter iter = { 0 }; const char *name = NULL; const char *iso_code = NULL; GVariant *translations = NULL; GVariant *coordinates = NULL; g_return_val_if_fail (BZ_IS_WORLD_MAP_PARSER (self), FALSE); g_return_val_if_fail (resource_path != NULL, FALSE); bytes = g_resources_lookup_data (resource_path, G_RESOURCE_LOOKUP_FLAGS_NONE, error); if (bytes == NULL) return FALSE; data = g_variant_new_from_bytes (G_VARIANT_TYPE ("a(ssa{ss}aaa(dd))"), bytes, TRUE); g_list_store_remove_all (self->countries); g_variant_iter_init (&iter, data); while (g_variant_iter_next (&iter, "(&s&s@a{ss}@aaa(dd))", &name, &iso_code, &translations, &coordinates)) { g_autoptr (BzCountry) country = NULL; const char *display_name = NULL; display_name = get_translated_name (translations, name); country = bz_country_new (); bz_country_set_name (country, display_name); bz_country_set_iso_code (country, iso_code); bz_country_set_coordinates (country, coordinates); g_list_store_append (self->countries, country); g_variant_unref (translations); g_variant_unref (coordinates); } return TRUE; } GListModel * bz_world_map_parser_get_countries (BzWorldMapParser *self) { g_return_val_if_fail (BZ_IS_WORLD_MAP_PARSER (self), NULL); return G_LIST_MODEL (self->countries); } static const char * get_translated_name (GVariant *translations, const char *fallback_name) { const char *const *language_names = NULL; language_names = g_get_language_names (); for (guint i = 0; language_names[i] != NULL; i++) { const char *translated = NULL; if (g_variant_lookup (translations, language_names[i], "&s", &translated)) return translated; } return fallback_name; } ���������������������������������������bazaar-org-bazaar-917017d/src/bz-world-map-parser.h�������������������������������������������������0000664�0000000�0000000�00000002575�15234476640�0022044�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-world-map-parser.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib-object.h> G_BEGIN_DECLS #define BZ_TYPE_WORLD_MAP_PARSER (bz_world_map_parser_get_type ()) G_DECLARE_FINAL_TYPE (BzWorldMapParser, bz_world_map_parser, BZ, WORLD_MAP_PARSER, GObject) BzWorldMapParser *bz_world_map_parser_new (void); gboolean bz_world_map_parser_load_from_resource (BzWorldMapParser *self, const char *resource_path, GError **error); GListModel *bz_world_map_parser_get_countries (BzWorldMapParser *self); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-world-map.c��������������������������������������������������������0000664�0000000�0000000�00000054061�15234476640�0020542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-world-map.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include <adwaita.h> #include "bz-country-data-point.h" #include "bz-country.h" #include "bz-world-map-parser.h" #include "bz-world-map.h" #define OPACITY_MULTIPLIER 2 struct _BzWorldMap { GtkWidget parent_instance; BzWorldMapParser *parser; GListModel *countries; GListModel *model; double min_lon; double max_lon; double min_lat; double max_lat; GskPath **country_paths; guint *path_to_country; guint n_paths; gboolean cache_valid; int last_width; int last_height; GtkEventController *motion; GtkGesture *gesture; double offset_x; double offset_y; double scale; int hovered_country; double motion_x; double motion_y; guint max_downloads; GtkWidget *tooltip_box; GtkWidget *tooltip_label1; GtkWidget *tooltip_prefix_label; GtkWidget *tooltip_label2; }; G_DEFINE_FINAL_TYPE (BzWorldMap, bz_world_map, GTK_TYPE_WIDGET) enum { PROP_0, PROP_MODEL, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; static guint get_downloads_for_country (BzWorldMap *self, const char *iso_code) { guint n_items = 0; if (self->model == NULL) return 0; n_items = g_list_model_get_n_items (self->model); for (guint i = 0; i < n_items; i++) { g_autoptr (BzCountryDataPoint) point = g_list_model_get_item (self->model, i); const char *country_code = bz_country_data_point_get_country_code (point); if (g_strcmp0 (country_code, iso_code) == 0) return bz_country_data_point_get_downloads (point); } return 0; } static void calculate_max_downloads (BzWorldMap *self) { guint n_items = 0; self->max_downloads = 0; if (self->model == NULL) return; n_items = g_list_model_get_n_items (self->model); for (guint i = 0; i < n_items; i++) { g_autoptr (BzCountryDataPoint) point = g_list_model_get_item (self->model, i); guint downloads = bz_country_data_point_get_downloads (point); if (downloads > self->max_downloads) self->max_downloads = downloads; } } static void calculate_bounds (BzWorldMap *self) { guint n_items = 0; if (self->countries == NULL) return; n_items = g_list_model_get_n_items (self->countries); self->min_lon = 180.0; self->max_lon = -180.0; self->min_lat = 90.0; self->max_lat = -90.0; for (guint i = 0; i < n_items; i++) { g_autoptr (BzCountry) country = g_list_model_get_item (self->countries, i); GVariant *coordinates = bz_country_get_coordinates (country); GVariantIter poly_iter, ring_iter, point_iter; GVariant *polygon = NULL; GVariant *ring = NULL; double lon, lat; if (coordinates == NULL) continue; g_variant_iter_init (&poly_iter, coordinates); while ((polygon = g_variant_iter_next_value (&poly_iter))) { g_variant_iter_init (&ring_iter, polygon); while ((ring = g_variant_iter_next_value (&ring_iter))) { g_variant_iter_init (&point_iter, ring); while (g_variant_iter_next (&point_iter, "(dd)", &lon, &lat)) { if (lon < self->min_lon) self->min_lon = lon; if (lon > self->max_lon) self->max_lon = lon; if (lat < self->min_lat) self->min_lat = lat; if (lat > self->max_lat) self->max_lat = lat; } g_clear_pointer (&ring, g_variant_unref); } g_clear_pointer (&polygon, g_variant_unref); } } } static void project_point (BzWorldMap *self, double lon, double lat, double width, double height, double *x, double *y) { double lon_range = self->max_lon - self->min_lon; double lat_range = self->max_lat - self->min_lat; *x = ((lon - self->min_lon) / lon_range) * width; *y = height - ((lat - self->min_lat) / lat_range) * height; } static void calculate_transform (BzWorldMap *self, double widget_width, double widget_height, double map_width, double map_height) { double scale_x = widget_width / map_width; double scale_y = widget_height / map_height; self->scale = MIN (scale_x, scale_y); self->offset_x = (widget_width - map_width * self->scale) / 2.0; self->offset_y = (widget_height - map_height * self->scale) / 2.0; } static void build_paths (BzWorldMap *self, double width, double height) { guint n_items = 0; guint path_index = 0; if (self->countries == NULL) return; if (self->country_paths != NULL) { for (guint i = 0; i < self->n_paths; i++) g_clear_pointer (&self->country_paths[i], gsk_path_unref); g_clear_pointer (&self->country_paths, g_free); } g_clear_pointer (&self->path_to_country, g_free); n_items = g_list_model_get_n_items (self->countries); self->n_paths = 0; for (guint i = 0; i < n_items; i++) { g_autoptr (BzCountry) country = NULL; GVariant *coordinates = NULL; GVariantIter poly_iter = { 0 }; GVariant *polygon = NULL; country = g_list_model_get_item (self->countries, i); coordinates = bz_country_get_coordinates (country); if (coordinates == NULL) continue; g_variant_iter_init (&poly_iter, coordinates); while ((polygon = g_variant_iter_next_value (&poly_iter))) { self->n_paths += g_variant_n_children (polygon); g_clear_pointer (&polygon, g_variant_unref); } } self->country_paths = g_new0 (GskPath *, self->n_paths); self->path_to_country = g_new0 (guint, self->n_paths); for (guint i = 0; i < n_items; i++) { g_autoptr (BzCountry) country = NULL; GVariant *coordinates = NULL; GVariantIter poly_iter = { 0 }; GVariant *polygon = NULL; country = g_list_model_get_item (self->countries, i); coordinates = bz_country_get_coordinates (country); if (coordinates == NULL) continue; g_variant_iter_init (&poly_iter, coordinates); while ((polygon = g_variant_iter_next_value (&poly_iter))) { GVariantIter ring_iter = { 0 }; GVariant *ring = NULL; g_variant_iter_init (&ring_iter, polygon); while ((ring = g_variant_iter_next_value (&ring_iter))) { g_autoptr (GskPathBuilder) builder = NULL; GVariantIter point_iter = { 0 }; double lon = 0.0; double lat = 0.0; gboolean first = TRUE; builder = gsk_path_builder_new (); g_variant_iter_init (&point_iter, ring); while (g_variant_iter_next (&point_iter, "(dd)", &lon, &lat)) { double x = 0.0; double y = 0.0; project_point (self, lon, lat, width, height, &x, &y); if (first) { gsk_path_builder_move_to (builder, x, y); first = FALSE; } else { gsk_path_builder_line_to (builder, x, y); } } gsk_path_builder_close (builder); self->country_paths[path_index] = gsk_path_builder_to_path (builder); self->path_to_country[path_index] = i; path_index++; g_clear_pointer (&ring, g_variant_unref); } g_clear_pointer (&polygon, g_variant_unref); } } self->cache_valid = TRUE; } static void invalidate_cache (BzWorldMap *self) { self->cache_valid = FALSE; gtk_widget_queue_draw (GTK_WIDGET (self)); } static void on_style_changed (AdwStyleManager *style_manager, GParamSpec *pspec, BzWorldMap *self) { invalidate_cache (self); } static void update_hovered_country (BzWorldMap *self, double x, double y) { double map_x; double map_y; map_x = (x - self->offset_x) / self->scale; map_y = (y - self->offset_y) / self->scale; self->motion_x = x; self->motion_y = y; self->hovered_country = -1; for (guint i = 0; i < self->n_paths; i++) { if (gsk_path_in_fill (self->country_paths[i], &GRAPHENE_POINT_INIT (map_x, map_y), GSK_FILL_RULE_WINDING)) { self->hovered_country = self->path_to_country[i]; break; } } } static void motion_event (BzWorldMap *self, gdouble x, gdouble y, GtkEventControllerMotion *controller) { int old_hovered; old_hovered = self->hovered_country; update_hovered_country (self, x, y); if (old_hovered != self->hovered_country || self->hovered_country >= 0) gtk_widget_queue_draw (GTK_WIDGET (self)); } static void motion_leave (BzWorldMap *self, GtkEventControllerMotion *controller) { if (self->hovered_country != -1) { self->hovered_country = -1; self->motion_x = -1.0; self->motion_y = -1.0; gtk_widget_queue_draw (GTK_WIDGET (self)); } } static void gesture_begin (BzWorldMap *self, double start_x, double start_y, GtkGestureDrag *gesture) { update_hovered_country (self, start_x, start_y); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void gesture_update (BzWorldMap *self, double offset_x, double offset_y, GtkGestureDrag *gesture) { double start_x; double start_y; gtk_gesture_drag_get_start_point (gesture, &start_x, &start_y); update_hovered_country (self, start_x + offset_x, start_y + offset_y); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void gesture_end (BzWorldMap *self, double offset_x, double offset_y, GtkGestureDrag *gesture) { gtk_widget_queue_draw (GTK_WIDGET (self)); } static void bz_world_map_dispose (GObject *object) { BzWorldMap *self = BZ_WORLD_MAP (object); g_signal_handlers_disconnect_by_func (adw_style_manager_get_default (), on_style_changed, self); if (self->country_paths != NULL) { for (guint i = 0; i < self->n_paths; i++) g_clear_pointer (&self->country_paths[i], gsk_path_unref); g_free (self->country_paths); self->country_paths = NULL; } if (self->path_to_country != NULL) { g_free (self->path_to_country); self->path_to_country = NULL; } if (self->tooltip_box != NULL) gtk_widget_unparent (self->tooltip_box); g_clear_object (&self->countries); g_clear_object (&self->model); G_OBJECT_CLASS (bz_world_map_parent_class)->dispose (object); } static void bz_world_map_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzWorldMap *self = BZ_WORLD_MAP (object); switch (prop_id) { case PROP_MODEL: g_value_set_object (value, self->model); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_world_map_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzWorldMap *self = BZ_WORLD_MAP (object); switch (prop_id) { case PROP_MODEL: g_clear_object (&self->model); self->model = g_value_dup_object (value); calculate_max_downloads (self); gtk_widget_queue_draw (GTK_WIDGET (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_world_map_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BzWorldMap *self = BZ_WORLD_MAP (widget); if (width == self->last_width && height == self->last_height) return; self->last_width = width; self->last_height = height; invalidate_cache (self); } static void bz_world_map_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzWorldMap *self = BZ_WORLD_MAP (widget); double widget_width = gtk_widget_get_width (widget); double widget_height = gtk_widget_get_height (widget); AdwStyleManager *style_manager = adw_style_manager_get_default (); g_autoptr (GdkRGBA) accent_color = adw_style_manager_get_accent_color_rgba (style_manager); GdkRGBA stroke_color = { 0 }; g_autoptr (GskStroke) stroke = gsk_stroke_new (0.5); g_autoptr (GskStroke) hover_stroke = gsk_stroke_new (1.5); double map_width = 1000.0; double map_height = 500.0; if (self->countries == NULL) return; gtk_widget_get_color (widget, &stroke_color); stroke_color.alpha = 0.3; if (!self->cache_valid) build_paths (self, map_width, map_height); calculate_transform (self, widget_width, widget_height, map_width, map_height); gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (self->offset_x, self->offset_y)); gtk_snapshot_scale (snapshot, self->scale, self->scale); for (guint i = 0; i < self->n_paths; i++) { guint country_idx = self->path_to_country[i]; g_autoptr (BzCountry) country = g_list_model_get_item (self->countries, country_idx); const char *iso_code = bz_country_get_iso_code (country); guint downloads = get_downloads_for_country (self, iso_code); GdkRGBA fill_color = *accent_color; if (self->max_downloads > 0 && downloads > 0) { double ratio = (double) downloads / (double) self->max_downloads; fill_color.alpha = CLAMP (ratio * OPACITY_MULTIPLIER, 0.1, 1.0); } else { fill_color.alpha = 0.0; } gtk_snapshot_append_fill (snapshot, self->country_paths[i], GSK_FILL_RULE_WINDING, &fill_color); gtk_snapshot_append_stroke (snapshot, self->country_paths[i], stroke, &stroke_color); } gtk_snapshot_restore (snapshot); if (self->hovered_country >= 0) { GdkRGBA hover_color = stroke_color; hover_color.alpha = 1.0; gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (self->offset_x, self->offset_y)); gtk_snapshot_scale (snapshot, self->scale, self->scale); for (guint i = 0; i < self->n_paths; i++) { if (self->path_to_country[i] == (guint) self->hovered_country) { gtk_snapshot_append_stroke (snapshot, self->country_paths[i], hover_stroke, &hover_color); } } gtk_snapshot_restore (snapshot); } if (self->hovered_country >= 0 && self->motion_x >= 0.0 && self->motion_y >= 0.0) { g_autoptr (BzCountry) country = g_list_model_get_item (self->countries, self->hovered_country); const char *iso_code = bz_country_get_iso_code (country); guint download_number = get_downloads_for_country (self, iso_code); const char *country_name = bz_country_get_name (country); g_autofree char *label1_text = g_strdup_printf ("<b>%s</b>", country_name); g_autofree char *label2_text = g_strdup_printf ("%'u", download_number); GtkRequisition natural_size; double card_x = 0.0; double card_y = 0.0; gtk_label_set_markup (GTK_LABEL (self->tooltip_label1), label1_text); /* Translators: As in, "1 Install" / "100 Installs" */ gtk_label_set_text (GTK_LABEL (self->tooltip_prefix_label), ngettext ("Install", "Installs", download_number)); gtk_label_set_text (GTK_LABEL (self->tooltip_label2), label2_text); gtk_widget_get_preferred_size (self->tooltip_box, NULL, &natural_size); gtk_widget_allocate (self->tooltip_box, natural_size.width, natural_size.height, -1, NULL); if (self->motion_x > widget_width / 2.0) card_x = self->motion_x - natural_size.width - 10.0; else card_x = self->motion_x + 10.0; card_y = self->motion_y + 10.0; gtk_snapshot_save (snapshot); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (card_x, card_y)); gtk_widget_snapshot_child (widget, self->tooltip_box, snapshot); gtk_snapshot_restore (snapshot); } } static void bz_world_map_class_init (BzWorldMapClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_world_map_dispose; object_class->get_property = bz_world_map_get_property; object_class->set_property = bz_world_map_set_property; props[PROP_MODEL] = g_param_spec_object ( "model", NULL, NULL, G_TYPE_LIST_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); widget_class->snapshot = bz_world_map_snapshot; widget_class->size_allocate = bz_world_map_size_allocate; } static void bz_world_map_init (BzWorldMap *self) { AdwStyleManager *style_manager = adw_style_manager_get_default (); g_autoptr (GError) error = NULL; GtkWidget *inner_box = NULL; GtkWidget *label2_box = NULL; self->parser = bz_world_map_parser_new (); self->hovered_country = -1; self->motion_x = -1.0; self->motion_y = -1.0; self->max_downloads = 0; self->motion = gtk_event_controller_motion_new (); g_signal_connect_swapped (self->motion, "motion", G_CALLBACK (motion_event), self); g_signal_connect_swapped (self->motion, "leave", G_CALLBACK (motion_leave), self); gtk_widget_add_controller (GTK_WIDGET (self), self->motion); self->gesture = gtk_gesture_drag_new (); gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (self->gesture), TRUE); g_signal_connect_swapped (self->gesture, "drag-begin", G_CALLBACK (gesture_begin), self); g_signal_connect_swapped (self->gesture, "drag-update", G_CALLBACK (gesture_update), self); g_signal_connect_swapped (self->gesture, "drag-end", G_CALLBACK (gesture_end), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (self->gesture)); self->tooltip_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_add_css_class (self->tooltip_box, "floating-tooltip"); gtk_widget_add_css_class (self->tooltip_box, "card"); inner_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_widget_set_margin_start (inner_box, 12); gtk_widget_set_margin_end (inner_box, 12); gtk_widget_set_margin_top (inner_box, 12); gtk_widget_set_margin_bottom (inner_box, 12); self->tooltip_label1 = gtk_label_new (""); gtk_widget_add_css_class (self->tooltip_label1, "heading"); gtk_label_set_xalign (GTK_LABEL (self->tooltip_label1), 0.0); gtk_label_set_use_markup (GTK_LABEL (self->tooltip_label1), TRUE); gtk_box_append (GTK_BOX (inner_box), self->tooltip_label1); label2_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); self->tooltip_label2 = gtk_label_new (""); gtk_widget_add_css_class (self->tooltip_label2, "monospace"); gtk_label_set_xalign (GTK_LABEL (self->tooltip_label2), 0.0); gtk_box_append (GTK_BOX (label2_box), self->tooltip_label2); self->tooltip_prefix_label = gtk_label_new (""); gtk_widget_add_css_class (self->tooltip_prefix_label, "body"); gtk_widget_add_css_class (self->tooltip_prefix_label, "dim-label"); gtk_label_set_xalign (GTK_LABEL (self->tooltip_prefix_label), 0.0); gtk_box_append (GTK_BOX (label2_box), self->tooltip_prefix_label); gtk_box_append (GTK_BOX (inner_box), label2_box); gtk_box_append (GTK_BOX (self->tooltip_box), inner_box); gtk_widget_set_parent (self->tooltip_box, GTK_WIDGET (self)); g_signal_connect (style_manager, "notify::dark", G_CALLBACK (on_style_changed), self); g_signal_connect (style_manager, "notify::accent-color", G_CALLBACK (on_style_changed), self); if (bz_world_map_parser_load_from_resource (self->parser, "/io/github/kolunmi/Bazaar/countries.gvariant", &error)) { self->countries = g_object_ref (bz_world_map_parser_get_countries (self->parser)); calculate_bounds (self); g_clear_object (&self->parser); } else { g_warning ("BzWorldMap: Failed to load countries: %s", error->message); g_clear_object (&self->parser); } } GtkWidget * bz_world_map_new (void) { return g_object_new (BZ_TYPE_WORLD_MAP, NULL); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-world-map.h��������������������������������������������������������0000664�0000000�0000000�00000002162�15234476640�0020542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-world-map.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_WORLD_MAP (bz_world_map_get_type ()) G_DECLARE_FINAL_TYPE (BzWorldMap, bz_world_map, BZ, WORLD_MAP, GtkWidget) GtkWidget * bz_world_map_new (void); GListModel * bz_world_map_get_model (BzWorldMap *self); void bz_world_map_set_model (BzWorldMap *self, GListModel *model); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-yaml-parser.c������������������������������������������������������0000664�0000000�0000000�00000122200�15234476640�0021063�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-yaml-parser.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::YAML" #include "config.h" #include <gtk/gtk.h> #include <xmlb.h> #include <yaml.h> #include "bz-parser.h" #include "bz-yaml-parser.h" #include "util.h" /* clang-format off */ G_DEFINE_QUARK (bz-yaml-error-quark, bz_yaml_error); /* clang-format on */ static void deinit_schema_node (gpointer data); BZ_DEFINE_DATA ( schema_node, SchemaNode, { int kind; union { struct { char *vtype; } scalar; struct { GType type; GHashTable *type_hints; } object; struct { SchemaNodeData *child; } list; struct { GHashTable *children; } mappings; }; }, deinit_schema_node (self);) struct _BzYamlParser { GObject parent_instance; SchemaNodeData *schema; }; static void parser_iface_init (BzParserInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzYamlParser, bz_yaml_parser, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (BZ_TYPE_PARSER, parser_iface_init)) enum { KIND_SCALAR, KIND_OBJECT, KIND_LIST, KIND_MAPPINGS, }; static SchemaNodeData * compile_schema (XbNode *node); static gboolean parse (BzYamlParser *self, yaml_parser_t *parser, yaml_event_t *event, gboolean parse_first, gboolean toplevel, SchemaNodeData *schema, GHashTable *output, GHashTable *anchors, GPtrArray *path_stack, GError **error); static GObject * parse_object (BzYamlParser *self, yaml_parser_t *parser, yaml_event_t *event, GType object_gtype, GHashTable *type_hints, GHashTable *anchors, const char *prop_path, GError **error); static char * join_path_stack (GPtrArray *path_stack); static void destroy_gvalue (GValue *value); static GValue * make_gvalue_alloc (GType type); static GValue * copy_gvalue_alloc (GValue *value); static void bz_yaml_parser_dispose (GObject *object) { BzYamlParser *self = BZ_YAML_PARSER (object); g_clear_pointer (&self->schema, schema_node_data_unref); G_OBJECT_CLASS (bz_yaml_parser_parent_class)->dispose (object); } static void bz_yaml_parser_class_init (BzYamlParserClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = bz_yaml_parser_dispose; g_type_ensure (GTK_TYPE_STRING_OBJECT); } static void bz_yaml_parser_init (BzYamlParser *self) { } static GHashTable * bz_yaml_parser_real_process_bytes (BzParser *iface_self, GBytes *bytes, GError **error) { BzYamlParser *self = BZ_YAML_PARSER (iface_self); g_autoptr (GError) local_error = NULL; gsize bytes_size = 0; const guchar *bytes_data = NULL; yaml_parser_t parser = { 0 }; yaml_event_t event = { 0 }; g_autoptr (GHashTable) output = NULL; g_autoptr (GHashTable) anchors = NULL; g_autoptr (GPtrArray) path_stack = NULL; gboolean result = FALSE; g_return_val_if_fail (BZ_IS_YAML_PARSER (self), NULL); g_return_val_if_fail (bytes != NULL, NULL); bytes_data = g_bytes_get_data (bytes, &bytes_size); yaml_parser_initialize (&parser); yaml_parser_set_input_string (&parser, bytes_data, bytes_size); output = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) destroy_gvalue); anchors = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) destroy_gvalue); path_stack = g_ptr_array_new_with_free_func (g_free); result = parse ( self, &parser, &event, TRUE, TRUE, self->schema, output, anchors, path_stack, &local_error); yaml_parser_delete (&parser); if (result) return g_steal_pointer (&output); else { g_propagate_error (error, g_steal_pointer (&local_error)); return NULL; } } static void parser_iface_init (BzParserInterface *iface) { iface->process_bytes = bz_yaml_parser_real_process_bytes; } BzYamlParser * bz_yaml_parser_new_for_resource_schema (const char *path) { g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; const char *resource_data = NULL; g_autoptr (XbSilo) silo = NULL; g_autoptr (XbNode) root = NULL; g_autoptr (SchemaNodeData) schema = NULL; g_autoptr (BzYamlParser) parser = NULL; g_return_val_if_fail (path != NULL, NULL); bytes = g_resources_lookup_data ( path, G_RESOURCE_LOOKUP_FLAGS_NONE, &local_error); if (bytes == NULL) g_critical ("Could not load internal resource: %s", local_error->message); g_assert (bytes != NULL); resource_data = g_bytes_get_data (bytes, NULL); silo = xb_silo_new_from_xml (resource_data, &local_error); if (silo == NULL) g_critical ("Could not parse internal xml resource: %s", local_error->message); g_assert (silo != NULL); root = xb_silo_get_root (silo); parser = g_object_new (BZ_TYPE_YAML_PARSER, NULL); parser->schema = compile_schema (root); return g_steal_pointer (&parser); } static SchemaNodeData * compile_schema (XbNode *node) { const char *element = NULL; g_autoptr (SchemaNodeData) schema = NULL; element = xb_node_get_element (node); schema = schema_node_data_new (); #define ERROR_OUT(...) \ G_STMT_START \ { \ g_critical ("Fatal: internal schema: " __VA_ARGS__); \ g_assert (FALSE); \ } \ G_STMT_END if (g_strcmp0 (element, "scalar") == 0) { const char *type = NULL; type = xb_node_get_attr (node, "type"); if (type == NULL) ERROR_OUT ("scalar must have a type"); if (!g_variant_type_is_basic ((const GVariantType *) type)) ERROR_OUT ("invalid variant type for scalar '%s'", type); schema->kind = KIND_SCALAR; schema->scalar.vtype = g_strdup (type); } else if (g_strcmp0 (element, "object") == 0) { const char *class = NULL; GType gtype = G_TYPE_INVALID; g_autoptr (GTypeClass) gtype_class = NULL; XbNode *child = NULL; class = xb_node_get_attr (node, "class"); if (class == NULL) ERROR_OUT ("object must have a class"); gtype = g_type_from_name (class); if (gtype == G_TYPE_INVALID || !g_type_is_a (gtype, G_TYPE_OBJECT)) ERROR_OUT ("'%s' is not a valid object class", class); schema->kind = KIND_OBJECT; schema->object.type = gtype; schema->object.type_hints = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, NULL); gtype_class = g_type_class_ref (gtype); child = xb_node_get_child (node); while (child != NULL) { const char *child_element = NULL; const char *name = NULL; GParamSpec *property = NULL; const char *typehint_name = NULL; GType typehint_gtype = G_TYPE_INVALID; XbNode *next = NULL; child_element = xb_node_get_element (child); if (g_strcmp0 (child_element, "typehint") != 0) ERROR_OUT ("\"typehint\" is the only valid child element of \"object\""); name = xb_node_get_attr (child, "name"); if (name == NULL) ERROR_OUT ("typehint must have a name"); /* TODO: implement recursive checking */ if (strchr (name, '.') == NULL) { property = g_object_class_find_property (G_OBJECT_CLASS (gtype_class), name); if (property == NULL) ERROR_OUT ("typehint property '%s' is invalid", name); } typehint_name = xb_node_get_attr (child, "type"); if (typehint_name == NULL) ERROR_OUT ("typehint must have a type"); typehint_gtype = g_type_from_name (typehint_name); if (typehint_gtype == G_TYPE_INVALID || !g_type_is_a (typehint_gtype, G_TYPE_OBJECT)) ERROR_OUT ("'%s' is not a valid object class", typehint_name); g_hash_table_replace ( schema->object.type_hints, g_strdup (name), GSIZE_TO_POINTER (typehint_gtype)); next = xb_node_get_next (child); g_object_unref (child); child = next; } } else if (g_strcmp0 (element, "list") == 0) { g_autoptr (XbNode) child = NULL; child = xb_node_get_child (node); if (child == NULL) ERROR_OUT ("list must have a child"); schema->kind = KIND_LIST; schema->list.child = compile_schema (child); } else if (g_strcmp0 (element, "mappings") == 0) { XbNode *child = NULL; schema->kind = KIND_MAPPINGS; schema->mappings.children = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, schema_node_data_unref); child = xb_node_get_child (node); while (child != NULL) { const char *child_element = NULL; const char *key = NULL; g_autoptr (XbNode) child_child = NULL; XbNode *next = NULL; child_element = xb_node_get_element (child); if (g_strcmp0 (child_element, "mapping") != 0) ERROR_OUT ("\"mapping\" is the only valid child element of \"mappings\""); key = xb_node_get_attr (child, "key"); if (key == NULL) ERROR_OUT ("mapping must have a key"); child_child = xb_node_get_child (child); if (child == NULL) ERROR_OUT ("mapping must have a child"); g_hash_table_replace ( schema->mappings.children, g_strdup (key), compile_schema (child_child)); next = xb_node_get_next (child); g_object_unref (child); child = next; } } else ERROR_OUT ("unrecognized element '%s'", element); #undef ERROR_OUT return g_steal_pointer (&schema); } static gboolean parse (BzYamlParser *self, yaml_parser_t *parser, yaml_event_t *event, gboolean parse_first, gboolean toplevel, SchemaNodeData *schema, GHashTable *output, GHashTable *anchors, GPtrArray *path_stack, GError **error) { if (parse_first && !yaml_parser_parse (parser, event)) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_INVALID_YAML, "Failed to parse YAML at line %zu, column %zu: %s", parser->problem_mark.line, parser->problem_mark.column, parser->problem); return FALSE; } #define NEXT_EVENT() \ G_STMT_START \ { \ yaml_event_delete (event); \ if (!yaml_parser_parse (parser, event)) \ { \ g_set_error ( \ error, \ BZ_YAML_ERROR, \ BZ_YAML_ERROR_INVALID_YAML, \ "Failed to parse YAML at line %zu, column %zu: %s", \ parser->problem_mark.line, \ parser->problem_mark.column, \ parser->problem); \ return FALSE; \ } \ } \ G_STMT_END #define EXPECT(event_type, string_type) \ if (event->type != (event_type)) \ { \ g_set_error ( \ error, \ BZ_YAML_ERROR, \ BZ_YAML_ERROR_DOES_NOT_CONFORM, \ "Failed to validate YAML against schema at line %zu, column %zu: " \ "expected " string_type " here", \ event->start_mark.line, \ event->start_mark.column); \ yaml_event_delete (event); \ return FALSE; \ } #define TRY_ALIAS(var, gtype, string_type) \ if (event->type == YAML_ALIAS_EVENT) \ { \ GValue *_value = NULL; \ \ _value = g_hash_table_lookup ( \ anchors, \ event->data.alias.anchor); \ if (_value == NULL) \ { \ g_set_error ( \ error, \ BZ_YAML_ERROR, \ BZ_YAML_ERROR_INVALID_YAML, \ "Failed to resolve YAML alias at line %zu, column %zu: " \ "the anchor \"%s\" does not yet exist", \ event->start_mark.line, \ event->start_mark.column, \ (const char *) event->data.alias.anchor); \ yaml_event_delete (event); \ return FALSE; \ } \ \ if (!G_VALUE_HOLDS (_value, (gtype))) \ { \ g_set_error ( \ error, \ BZ_YAML_ERROR, \ BZ_YAML_ERROR_DOES_NOT_CONFORM, \ "Failed to validate YAML against schema at line %zu, column %zu: " \ "the alias needs to be of type " string_type " here", \ event->start_mark.line, \ event->start_mark.column); \ yaml_event_delete (event); \ return FALSE; \ } \ \ (var) = copy_gvalue_alloc (_value); \ } if (toplevel) { EXPECT (YAML_STREAM_START_EVENT, "start of stream"); NEXT_EVENT (); EXPECT (YAML_DOCUMENT_START_EVENT, "start of document"); NEXT_EVENT (); } switch (schema->kind) { case KIND_SCALAR: { GValue *value = NULL; TRY_ALIAS (value, G_TYPE_VARIANT, "scalar"); if (value != NULL) { GVariant *variant = NULL; variant = g_value_get_variant (value); if (!g_variant_type_equal ( g_variant_get_type (variant), (const GVariantType *) schema->scalar.vtype)) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_DOES_NOT_CONFORM, "Failed to validate YAML against schema at line %zu, column %zu: " "the alias needs to be of scalar type %s here", event->start_mark.line, event->start_mark.column, schema->scalar.vtype); destroy_gvalue (value); yaml_event_delete (event); return FALSE; } } else { g_autofree char *anchor = NULL; g_autoptr (GVariant) variant = NULL; EXPECT (YAML_SCALAR_EVENT, "scalar"); anchor = bz_maybe_strdup ((const char *) event->data.scalar.anchor); if (g_variant_type_equal ((const GVariantType *) schema->scalar.vtype, G_VARIANT_TYPE_STRING)) variant = g_variant_new_string ((const char *) event->data.scalar.value); else { g_autoptr (GError) local_error = NULL; variant = g_variant_parse ( (const GVariantType *) schema->scalar.vtype, (const char *) event->data.scalar.value, NULL, NULL, &local_error); if (variant == NULL) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_BAD_SCALAR, "Failed to parse scalar variant at line %zu, column %zu: " "%s", event->start_mark.line, event->start_mark.column, local_error->message); yaml_event_delete (event); return FALSE; } } value = make_gvalue_alloc (G_TYPE_VARIANT); g_value_set_variant (value, g_steal_pointer (&variant)); if (anchor != NULL) g_hash_table_replace ( anchors, g_steal_pointer (&anchor), copy_gvalue_alloc (value)); } g_hash_table_replace (output, join_path_stack (path_stack), value); } break; case KIND_OBJECT: { g_autoptr (GObject) object = NULL; GValue *value = NULL; TRY_ALIAS (value, schema->object.type, "object"); if (value == NULL) { object = parse_object ( self, parser, event, schema->object.type, schema->object.type_hints, anchors, NULL, error); if (object == NULL) /* event is already cleaned up */ return FALSE; value = make_gvalue_alloc (schema->object.type); g_value_set_object (value, object); } g_hash_table_replace (output, join_path_stack (path_stack), value); } break; case KIND_LIST: { GValue *value = NULL; TRY_ALIAS (value, G_TYPE_PTR_ARRAY, "list"); if (value == NULL) { g_autofree char *anchor = NULL; g_autoptr (GPtrArray) list = NULL; EXPECT (YAML_SEQUENCE_START_EVENT, "list"); anchor = bz_maybe_strdup ((const char *) event->data.sequence_start.anchor); list = g_ptr_array_new_with_free_func ((GDestroyNotify) destroy_gvalue); for (;;) { g_autoptr (GHashTable) list_output = NULL; g_autoptr (GPtrArray) list_path_stack = NULL; gboolean result = FALSE; GValue *append = NULL; NEXT_EVENT (); if (event->type == YAML_SEQUENCE_END_EVENT) break; list_output = g_hash_table_new_full ( g_str_hash, g_str_equal, g_free, (GDestroyNotify) destroy_gvalue); list_path_stack = g_ptr_array_new_with_free_func (g_free); result = parse ( self, parser, event, FALSE, FALSE, schema->list.child, list_output, anchors, list_path_stack, error); if (!result) /* event is already cleaned up */ return FALSE; append = make_gvalue_alloc (G_TYPE_HASH_TABLE); g_value_set_boxed (append, list_output); g_ptr_array_add (list, append); } value = make_gvalue_alloc (G_TYPE_PTR_ARRAY); g_value_set_boxed (value, list); if (anchor != NULL) g_hash_table_replace ( anchors, g_steal_pointer (&anchor), copy_gvalue_alloc (value)); } g_hash_table_replace (output, join_path_stack (path_stack), value); } break; case KIND_MAPPINGS: { EXPECT (YAML_MAPPING_START_EVENT, "mappings"); for (;;) { g_autofree char *key = NULL; SchemaNodeData *map_schema = NULL; gboolean result = FALSE; NEXT_EVENT (); if (event->type == YAML_MAPPING_END_EVENT) break; EXPECT (YAML_SCALAR_EVENT, "scalar key"); key = g_strdup ((const char *) event->data.scalar.value); map_schema = g_hash_table_lookup (schema->mappings.children, key); if (map_schema == NULL) { g_autofree char *path = NULL; path = join_path_stack (path_stack); g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_DOES_NOT_CONFORM, "Failed to validate YAML against schema at line %zu, column %zu: " "key '%s' shouldn't exist at path %s", event->start_mark.line, event->start_mark.column, key, path); yaml_event_delete (event); return FALSE; } g_ptr_array_add (path_stack, g_steal_pointer (&key)); result = parse ( self, parser, event, TRUE, FALSE, map_schema, output, anchors, path_stack, error); if (!result) /* event is already cleaned up */ return FALSE; g_ptr_array_set_size (path_stack, path_stack->len - 1); } } break; default: g_assert_not_reached (); } if (toplevel) { NEXT_EVENT (); EXPECT (YAML_DOCUMENT_END_EVENT, "end of document"); NEXT_EVENT (); EXPECT (YAML_STREAM_END_EVENT, "end of stream"); } yaml_event_delete (event); return TRUE; } static GObject * parse_object (BzYamlParser *self, yaml_parser_t *parser, yaml_event_t *event, GType object_gtype, GHashTable *type_hints, GHashTable *anchors, const char *prop_path, GError **error) { GValue *value = NULL; g_autofree char *object_anchor = NULL; g_autoptr (GTypeClass) gtype_class = NULL; g_autoptr (GObject) object = NULL; TRY_ALIAS (value, object_gtype, "object mapping"); if (value != NULL) { object = g_value_dup_object (value); destroy_gvalue (value); return g_steal_pointer (&object); } EXPECT (YAML_MAPPING_START_EVENT, "object mapping"); object_anchor = bz_maybe_strdup ((const char *) event->data.mapping_start.anchor); gtype_class = g_type_class_ref (object_gtype); object = g_object_new (object_gtype, NULL); for (;;) { g_autofree char *property = NULL; GParamSpec *spec = NULL; NEXT_EVENT (); if (event->type == YAML_MAPPING_END_EVENT) break; EXPECT (YAML_SCALAR_EVENT, "scalar key"); property = g_strdup ((const char *) event->data.scalar.value); spec = g_object_class_find_property (G_OBJECT_CLASS (gtype_class), property); if (spec == NULL) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_DOES_NOT_CONFORM, "Failed to validate YAML against schema at line %zu, column %zu: " "property '%s' doesn't exist on type %s", event->start_mark.line, event->start_mark.column, property, g_type_name (object_gtype)); yaml_event_delete (event); return FALSE; } NEXT_EVENT (); if (g_type_is_a (spec->value_type, G_TYPE_LIST_MODEL)) { g_autofree char *replace_prop_path = NULL; GType element_gtype = 0; g_autoptr (GListModel) list = NULL; if (prop_path != NULL) replace_prop_path = g_strdup_printf ("%s.%s", prop_path, property); element_gtype = GPOINTER_TO_SIZE (g_hash_table_lookup ( type_hints, replace_prop_path != NULL ? replace_prop_path : property)); TRY_ALIAS (value, G_TYPE_LIST_MODEL, "mappings"); if (value != NULL) { list = g_value_dup_object (value); if (!G_IS_LIST_MODEL (list) || g_list_model_get_item_type (list) != element_gtype) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_DOES_NOT_CONFORM, "Failed to validate YAML against schema at line %zu, column %zu: " "the alias needs to be a list of object type %s here", event->start_mark.line, event->start_mark.column, g_type_name (element_gtype)); destroy_gvalue (value); yaml_event_delete (event); return FALSE; } } else { g_autofree char *anchor = NULL; EXPECT (YAML_SEQUENCE_START_EVENT, "sequence"); anchor = bz_maybe_strdup ((const char *) event->data.sequence_start.anchor); if (element_gtype == GTK_TYPE_STRING_OBJECT) { list = (GListModel *) gtk_string_list_new (NULL); for (;;) { NEXT_EVENT (); if (event->type == YAML_SEQUENCE_END_EVENT) break; EXPECT (YAML_SCALAR_EVENT, "scalar list value"); gtk_string_list_append ( GTK_STRING_LIST (list), (const char *) event->data.scalar.value); } } else { if (element_gtype == 0) element_gtype = G_TYPE_OBJECT; list = (GListModel *) g_list_store_new (element_gtype); for (;;) { g_autoptr (GObject) child_object = NULL; NEXT_EVENT (); if (event->type == YAML_SEQUENCE_END_EVENT) break; child_object = parse_object ( self, parser, event, element_gtype, type_hints, anchors, replace_prop_path != NULL ? replace_prop_path : property, error); if (child_object == NULL) /* event is already cleaned up */ return FALSE; g_list_store_append (G_LIST_STORE (list), child_object); } } if (anchor != NULL) { value = make_gvalue_alloc (G_TYPE_LIST_MODEL); g_value_set_object (value, list); g_hash_table_replace ( anchors, g_steal_pointer (&anchor), value); } } g_object_set (object, property, list, NULL); } else if (g_type_is_a (spec->value_type, G_TYPE_OBJECT)) { g_autofree char *replace_prop_path = NULL; g_autoptr (GObject) prop_object = NULL; if (prop_path != NULL) replace_prop_path = g_strdup_printf ("%s.%s", prop_path, property); prop_object = parse_object ( self, parser, event, spec->value_type, type_hints, anchors, replace_prop_path != NULL ? replace_prop_path : property, error); if (prop_object == NULL) /* event is already cleaned up */ return FALSE; g_object_set (object, property, prop_object, NULL); } else if (g_type_is_a (spec->value_type, G_TYPE_ENUM)) { g_autoptr (GEnumClass) class = NULL; GEnumValue *enum_value = NULL; TRY_ALIAS (value, spec->value_type, "scalar enum value"); if (value != NULL) { g_object_set_property (object, property, value); destroy_gvalue (value); } else { g_autofree char *anchor = NULL; EXPECT (YAML_SCALAR_EVENT, "scalar enum value"); anchor = bz_maybe_strdup ((const char *) event->data.scalar.anchor); class = g_type_class_ref (spec->value_type); enum_value = g_enum_get_value_by_nick ( class, (const char *) event->data.scalar.value); if (enum_value == NULL) enum_value = g_enum_get_value_by_name ( class, (const char *) event->data.scalar.value); if (enum_value == NULL) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_BAD_SCALAR, "Failed to parse scalar enum at line %zu, column %zu: " "'%s' does not exist in type %s", event->start_mark.line, event->start_mark.column, (const char *) event->data.scalar.value, g_type_name (spec->value_type)); yaml_event_delete (event); return FALSE; } if (anchor != NULL) { value = make_gvalue_alloc (spec->value_type); g_value_set_enum (value, enum_value->value); g_hash_table_replace ( anchors, g_steal_pointer (&anchor), value); } g_object_set (object, property, enum_value->value, NULL); } } else { g_autoptr (GError) local_error = NULL; const GVariantType *vtype = NULL; g_autoptr (GVariant) variant = NULL; TRY_ALIAS (value, spec->value_type, "scalar"); if (value != NULL) { g_object_set_property (object, property, value); destroy_gvalue (value); } else { g_autofree char *anchor = NULL; if (spec->value_type == G_TYPE_STRING && event->type == YAML_MAPPING_START_EVENT) { /* Handle optional translated strings */ const char *const *langs = NULL; g_autofree char *english = NULL; anchor = bz_maybe_strdup ((const char *) event->data.mapping_start.anchor); langs = g_get_language_names (); for (;;) { g_autofree char *code = NULL; NEXT_EVENT (); if (event->type == YAML_MAPPING_END_EVENT) break; EXPECT (YAML_SCALAR_EVENT, "scalar key language code"); if (variant != NULL) continue; code = g_strdup ((const char *) event->data.scalar.value); NEXT_EVENT (); EXPECT (YAML_SCALAR_EVENT, "scalar translated string"); if (g_strv_contains (langs, code)) variant = g_variant_new_string ((const char *) event->data.scalar.value); else if (english == NULL && g_strcmp0 (code, "en") == 0) english = g_strdup ((const char *) event->data.scalar.value); } if (variant == NULL) variant = g_variant_new_string (english != NULL ? english : "NULL"); } else { EXPECT (YAML_SCALAR_EVENT, "scalar value"); anchor = bz_maybe_strdup ((const char *) event->data.scalar.anchor); switch (spec->value_type) { case G_TYPE_BOOLEAN: vtype = G_VARIANT_TYPE_BOOLEAN; break; case G_TYPE_INT: vtype = G_VARIANT_TYPE_INT32; break; case G_TYPE_INT64: vtype = G_VARIANT_TYPE_INT64; break; case G_TYPE_UINT: vtype = G_VARIANT_TYPE_UINT32; break; case G_TYPE_UINT64: vtype = G_VARIANT_TYPE_UINT64; break; case G_TYPE_DOUBLE: case G_TYPE_FLOAT: vtype = G_VARIANT_TYPE_DOUBLE; break; case G_TYPE_STRING: default: vtype = G_VARIANT_TYPE_STRING; break; } if (g_variant_type_equal (vtype, G_VARIANT_TYPE_STRING)) variant = g_variant_new_string ((const char *) event->data.scalar.value); else { variant = g_variant_parse ( vtype, (const char *) event->data.scalar.value, NULL, NULL, &local_error); if (variant == NULL) { g_set_error ( error, BZ_YAML_ERROR, BZ_YAML_ERROR_BAD_SCALAR, "Failed to parse scalar variant at line %zu, column %zu: %s", event->start_mark.line, event->start_mark.column, local_error->message); yaml_event_delete (event); return FALSE; } } } if (anchor != NULL) value = make_gvalue_alloc (spec->value_type); switch (spec->value_type) { case G_TYPE_BOOLEAN: g_object_set (object, property, g_variant_get_boolean (variant), NULL); if (anchor != NULL) g_value_set_boolean (value, g_variant_get_boolean (variant)); break; case G_TYPE_INT: g_object_set (object, property, g_variant_get_int32 (variant), NULL); if (anchor != NULL) g_value_set_int (value, g_variant_get_int32 (variant)); break; case G_TYPE_INT64: g_object_set (object, property, g_variant_get_int64 (variant), NULL); if (anchor != NULL) g_value_set_int64 (value, g_variant_get_int64 (variant)); break; case G_TYPE_UINT: g_object_set (object, property, g_variant_get_uint32 (variant), NULL); if (anchor != NULL) g_value_set_uint (value, g_variant_get_uint32 (variant)); break; case G_TYPE_UINT64: g_object_set (object, property, g_variant_get_uint64 (variant), NULL); if (anchor != NULL) g_value_set_uint64 (value, g_variant_get_uint64 (variant)); break; case G_TYPE_DOUBLE: case G_TYPE_FLOAT: g_object_set (object, property, g_variant_get_double (variant), NULL); if (anchor != NULL) g_value_set_double (value, g_variant_get_double (variant)); break; case G_TYPE_STRING: default: g_object_set (object, property, g_variant_get_string (variant, NULL), NULL); if (anchor != NULL) g_value_set_string (value, g_variant_get_string (variant, NULL)); break; } if (anchor != NULL) g_hash_table_replace ( anchors, g_steal_pointer (&anchor), value); } } } if (object_anchor != NULL) { value = make_gvalue_alloc (G_TYPE_LIST_MODEL); g_value_set_object (value, object); g_hash_table_replace ( anchors, g_steal_pointer (&object_anchor), value); } return g_steal_pointer (&object); } static char * join_path_stack (GPtrArray *path_stack) { GString *string = NULL; if (path_stack->len == 0) return g_strdup ("/"); string = g_string_new (NULL); for (guint i = 0; i < path_stack->len; i++) { const char *component = NULL; component = g_ptr_array_index (path_stack, i); g_string_append_printf (string, "/%s", component); } return g_string_free_and_steal (string); } static void destroy_gvalue (GValue *value) { g_value_unset (value); g_free (value); } static GValue * make_gvalue_alloc (GType type) { GValue *ret = NULL; ret = g_new0 (typeof (*ret), 1); g_value_init (ret, type); return ret; } static GValue * copy_gvalue_alloc (GValue *value) { GValue *ret = NULL; ret = g_new0 (typeof (*ret), 1); g_value_init (ret, value->g_type); g_value_copy (value, ret); return ret; } static void deinit_schema_node (gpointer data) { SchemaNodeData *self = data; switch (self->kind) { case KIND_SCALAR: g_clear_pointer (&self->scalar.vtype, g_free); break; case KIND_OBJECT: g_clear_pointer (&self->object.type_hints, g_hash_table_unref); break; case KIND_LIST: g_clear_pointer (&self->list.child, schema_node_data_unref); break; case KIND_MAPPINGS: g_clear_pointer (&self->mappings.children, g_hash_table_unref); break; default: g_assert_not_reached (); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-yaml-parser.h������������������������������������������������������0000664�0000000�0000000�00000002332�15234476640�0021073�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-yaml-parser.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gio/gio.h> G_BEGIN_DECLS #define BZ_YAML_ERROR (bz_yaml_error_quark ()) GQuark bz_yaml_error_quark (void); typedef enum { BZ_YAML_ERROR_INVALID_YAML = 0, BZ_YAML_ERROR_DOES_NOT_CONFORM, BZ_YAML_ERROR_BAD_SCALAR, } BzYamlError; #define BZ_TYPE_YAML_PARSER (bz_yaml_parser_get_type ()) G_DECLARE_FINAL_TYPE (BzYamlParser, bz_yaml_parser, BZ, YAML_PARSER, GObject) BzYamlParser * bz_yaml_parser_new_for_resource_schema (const char *path); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-zoom.c�������������������������������������������������������������0000664�0000000�0000000�00000061232�15234476640�0017622�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-zoom.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <adwaita.h> #include <math.h> #include "bz-zoom.h" #define OVERPAN_FACTOR 0.5 struct _BzZoom { GtkWidget parent_instance; GtkWidget *child; double zoom_level; double min_zoom; double max_zoom; double pan_x; double pan_y; double mouse_x; double mouse_y; double gesture_start_zoom; double drag_start_x; double drag_start_y; gboolean is_dragging; AdwAnimation *zoom_animation; double target_zoom; double target_pan_x; double target_pan_y; double start_zoom; double start_pan_x; double start_pan_y; GtkGesture *zoom_gesture; GtkGesture *drag_gesture; GtkEventController *scroll_controller; GtkEventController *motion_controller; GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; GtkScrollablePolicy hscroll_policy; GtkScrollablePolicy vscroll_policy; }; static void scrollable_iface_init (GtkScrollableInterface *iface); G_DEFINE_FINAL_TYPE_WITH_CODE ( BzZoom, bz_zoom, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, scrollable_iface_init)); enum { PROP_0, PROP_CHILD, PROP_ZOOM_LEVEL, PROP_MIN_ZOOM, PROP_MAX_ZOOM, LAST_PROP, PROP_HADJUSTMENT, PROP_VADJUSTMENT, PROP_HSCROLL_POLICY, PROP_VSCROLL_POLICY, }; static GParamSpec *props[LAST_PROP] = { 0 }; static void bz_zoom_constrain_pan (BzZoom *self); static void bz_zoom_zoom_at_point (BzZoom *self, double zoom_factor, double center_x, double center_y); static void on_adjustment_value_changed (BzZoom *self, GParamSpec *pspec, GtkAdjustment *adjustment); static void bz_zoom_dispose (GObject *object) { BzZoom *self; self = BZ_ZOOM (object); if (self->hadjustment != NULL) g_signal_handlers_disconnect_by_func ( self->hadjustment, on_adjustment_value_changed, self); g_clear_object (&self->hadjustment); if (self->vadjustment != NULL) g_signal_handlers_disconnect_by_func ( self->vadjustment, on_adjustment_value_changed, self); g_clear_object (&self->vadjustment); g_clear_pointer (&self->child, gtk_widget_unparent); g_clear_object (&self->zoom_animation); G_OBJECT_CLASS (bz_zoom_parent_class)->dispose (object); } static void bz_zoom_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzZoom *self; self = BZ_ZOOM (object); switch (prop_id) { case PROP_CHILD: g_value_set_object (value, bz_zoom_get_child (self)); break; case PROP_ZOOM_LEVEL: g_value_set_double (value, bz_zoom_get_zoom_level (self)); break; case PROP_MIN_ZOOM: g_value_set_double (value, bz_zoom_get_min_zoom (self)); break; case PROP_MAX_ZOOM: g_value_set_double (value, bz_zoom_get_max_zoom (self)); break; case PROP_HADJUSTMENT: g_value_set_object (value, self->hadjustment); break; case PROP_VADJUSTMENT: g_value_set_object (value, self->vadjustment); break; case PROP_HSCROLL_POLICY: g_value_set_enum (value, self->hscroll_policy); break; case PROP_VSCROLL_POLICY: g_value_set_enum (value, self->vscroll_policy); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_zoom_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzZoom *self; self = BZ_ZOOM (object); switch (prop_id) { case PROP_CHILD: bz_zoom_set_child (self, g_value_get_object (value)); break; case PROP_ZOOM_LEVEL: bz_zoom_set_zoom_level (self, g_value_get_double (value)); break; case PROP_MIN_ZOOM: bz_zoom_set_min_zoom (self, g_value_get_double (value)); break; case PROP_MAX_ZOOM: bz_zoom_set_max_zoom (self, g_value_get_double (value)); break; case PROP_HADJUSTMENT: if (self->hadjustment != NULL) g_signal_handlers_disconnect_by_func ( self->hadjustment, on_adjustment_value_changed, self); g_clear_object (&self->hadjustment); self->hadjustment = g_value_dup_object (value); if (self->hadjustment != NULL) { g_signal_connect_swapped ( self->hadjustment, "notify::value", G_CALLBACK (on_adjustment_value_changed), self); self->pan_x = -gtk_adjustment_get_value (self->hadjustment); } bz_zoom_constrain_pan (self); gtk_widget_queue_draw (GTK_WIDGET (self)); break; case PROP_VADJUSTMENT: if (self->vadjustment != NULL) g_signal_handlers_disconnect_by_func ( self->vadjustment, on_adjustment_value_changed, self); g_clear_object (&self->vadjustment); self->vadjustment = g_value_dup_object (value); if (self->vadjustment != NULL) { g_signal_connect_swapped ( self->vadjustment, "notify::value", G_CALLBACK (on_adjustment_value_changed), self); self->pan_y = -gtk_adjustment_get_value (self->vadjustment); } bz_zoom_constrain_pan (self); gtk_widget_queue_draw (GTK_WIDGET (self)); break; case PROP_HSCROLL_POLICY: self->hscroll_policy = g_value_get_enum (value); break; case PROP_VSCROLL_POLICY: self->vscroll_policy = g_value_get_enum (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void on_motion (BzZoom *self, double x, double y, GtkEventControllerMotion *controller) { self->mouse_x = x; self->mouse_y = y; } static void on_zoom_begin (BzZoom *self, GdkEventSequence *sequence, GtkGesture *gesture) { self->gesture_start_zoom = self->zoom_level; } static void on_zoom_changed (BzZoom *self, double scale, GtkGesture *gesture) { double target_zoom; double zoom_factor; double center_x; double center_y; target_zoom = self->gesture_start_zoom * scale; if (self->zoom_level > 0) zoom_factor = target_zoom / self->zoom_level; else zoom_factor = 1.0; gtk_gesture_get_bounding_box_center (gesture, ¢er_x, ¢er_y); bz_zoom_zoom_at_point (self, zoom_factor, center_x, center_y); } static gboolean on_scroll (BzZoom *self, double dx, double dy, GtkEventControllerScroll *controller) { GdkEvent *event; GdkDevice *device; GdkInputSource source; double zoom_factor; event = gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (controller)); if (event == NULL) return GDK_EVENT_PROPAGATE; device = gdk_event_get_device (event); if (device == NULL) return GDK_EVENT_PROPAGATE; source = gdk_device_get_source (device); if (source != GDK_SOURCE_MOUSE) return GDK_EVENT_PROPAGATE; zoom_factor = dy < 0 ? 1.1 : 0.9; bz_zoom_zoom_at_point (self, zoom_factor, self->mouse_x, self->mouse_y); return GDK_EVENT_STOP; } static void on_drag_begin (BzZoom *self, double start_x, double start_y, GtkGesture *gesture) { if (!bz_zoom_is_transformed (self)) { gtk_gesture_set_state (gesture, GTK_EVENT_SEQUENCE_DENIED); return; } self->drag_start_x = self->pan_x; self->drag_start_y = self->pan_y; self->is_dragging = TRUE; } static void on_drag_update (BzZoom *self, double offset_x, double offset_y, GtkGesture *gesture) { if (!self->is_dragging) return; self->pan_x = self->drag_start_x + offset_x; self->pan_y = self->drag_start_y + offset_y; bz_zoom_constrain_pan (self); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void on_drag_end (BzZoom *self, double offset_x, double offset_y, GtkGesture *gesture) { self->is_dragging = FALSE; } static void bz_zoom_snapshot (GtkWidget *widget, GtkSnapshot *snapshot) { BzZoom *self; int width; int height; GskTransform *transform; graphene_point_t point; self = BZ_ZOOM (widget); width = gtk_widget_get_width (widget); height = gtk_widget_get_height (widget); if (width <= 0 || height <= 0) return; transform = NULL; graphene_point_init (&point, width / 2.0 + self->pan_x, height / 2.0 + self->pan_y); transform = gsk_transform_translate (transform, &point); /* See bz_zoom_size_allocate */ // transform = gsk_transform_scale (transform, self->zoom_level, self->zoom_level); graphene_point_init ( &point, -(width * self->zoom_level) / 2.0, -(height * self->zoom_level) / 2.0); transform = gsk_transform_translate (transform, &point); gtk_snapshot_save (snapshot); gtk_snapshot_transform (snapshot, transform); if (self->child) gtk_widget_snapshot_child (widget, self->child, snapshot); gtk_snapshot_restore (snapshot); gsk_transform_unref (transform); } static void bz_zoom_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline) { BzZoom *self; self = BZ_ZOOM (widget); if (self->child) gtk_widget_measure (self->child, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline); else { *minimum = 0; *natural = 0; } } static void bz_zoom_size_allocate (GtkWidget *widget, int width, int height, int baseline) { BzZoom *self; self = BZ_ZOOM (widget); if (self->child) /* TODO: maybe add a property to control whether the child is artificially scaled? */ gtk_widget_allocate ( self->child, self->zoom_level * width, self->zoom_level * height, baseline, NULL); bz_zoom_constrain_pan (self); } static void bz_zoom_class_init (BzZoomClass *klass) { GObjectClass *object_class; GtkWidgetClass *widget_class; object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); object_class->dispose = bz_zoom_dispose; object_class->get_property = bz_zoom_get_property; object_class->set_property = bz_zoom_set_property; widget_class->snapshot = bz_zoom_snapshot; widget_class->measure = bz_zoom_measure; widget_class->size_allocate = bz_zoom_size_allocate; props[PROP_CHILD] = g_param_spec_object ( "child", NULL, NULL, GTK_TYPE_WIDGET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_ZOOM_LEVEL] = g_param_spec_double ( "zoom-level", NULL, NULL, 0.1, 10.0, 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_MIN_ZOOM] = g_param_spec_double ( "min-zoom", NULL, NULL, 0.1, 1.0, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); props[PROP_MAX_ZOOM] = g_param_spec_double ( "max-zoom", NULL, NULL, 1.0, 10.0, 5.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, props); g_object_class_override_property (object_class, PROP_HADJUSTMENT, "hadjustment"); g_object_class_override_property (object_class, PROP_VADJUSTMENT, "vadjustment"); g_object_class_override_property (object_class, PROP_HSCROLL_POLICY, "hscroll-policy"); g_object_class_override_property (object_class, PROP_VSCROLL_POLICY, "vscroll-policy"); } static void bz_zoom_init (BzZoom *self) { self->zoom_level = 1.0; self->min_zoom = 1.0; self->max_zoom = 5.0; self->pan_x = 0.0; self->pan_y = 0.0; self->mouse_x = 0.0; self->mouse_y = 0.0; self->gesture_start_zoom = 1.0; self->is_dragging = FALSE; self->zoom_gesture = gtk_gesture_zoom_new (); g_signal_connect_swapped (self->zoom_gesture, "begin", G_CALLBACK (on_zoom_begin), self); g_signal_connect_swapped (self->zoom_gesture, "scale-changed", G_CALLBACK (on_zoom_changed), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (self->zoom_gesture)); self->drag_gesture = gtk_gesture_drag_new (); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (self->drag_gesture), GDK_BUTTON_PRIMARY); g_signal_connect_swapped (self->drag_gesture, "drag-begin", G_CALLBACK (on_drag_begin), self); g_signal_connect_swapped (self->drag_gesture, "drag-update", G_CALLBACK (on_drag_update), self); g_signal_connect_swapped (self->drag_gesture, "drag-end", G_CALLBACK (on_drag_end), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (self->drag_gesture)); self->scroll_controller = gtk_event_controller_scroll_new (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL | GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL); g_signal_connect_swapped (self->scroll_controller, "scroll", G_CALLBACK (on_scroll), self); gtk_widget_add_controller (GTK_WIDGET (self), self->scroll_controller); self->motion_controller = gtk_event_controller_motion_new (); g_signal_connect_swapped (self->motion_controller, "motion", G_CALLBACK (on_motion), self); gtk_widget_add_controller (GTK_WIDGET (self), self->motion_controller); gtk_widget_set_focusable (GTK_WIDGET (self), TRUE); } static gboolean scrollable_get_border (GtkScrollable *scrollable, GtkBorder *border) { return FALSE; } static void scrollable_iface_init (GtkScrollableInterface *iface) { iface->get_border = scrollable_get_border; } GtkWidget * bz_zoom_new (void) { return g_object_new (BZ_TYPE_ZOOM, NULL); } GtkWidget * bz_zoom_get_child (BzZoom *self) { g_return_val_if_fail (BZ_IS_ZOOM (self), NULL); return self->child; } void bz_zoom_set_child (BzZoom *self, GtkWidget *child) { g_return_if_fail (BZ_IS_ZOOM (self)); g_return_if_fail (child == NULL || GTK_IS_WIDGET (child)); if (self->child == child) return; g_clear_pointer (&self->child, gtk_widget_unparent); self->child = child; if (self->child) gtk_widget_set_parent (self->child, GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD]); } double bz_zoom_get_zoom_level (BzZoom *self) { g_return_val_if_fail (BZ_IS_ZOOM (self), 1.0); return self->zoom_level; } void bz_zoom_set_zoom_level (BzZoom *self, double zoom_level) { double new_zoom; g_return_if_fail (BZ_IS_ZOOM (self)); new_zoom = CLAMP (zoom_level, self->min_zoom, self->max_zoom); if (fabs (new_zoom - self->zoom_level) < 0.001) return; self->zoom_level = new_zoom; bz_zoom_constrain_pan (self); gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ZOOM_LEVEL]); } gboolean bz_zoom_is_transformed (BzZoom *self) { g_return_val_if_fail (BZ_IS_ZOOM (self), FALSE); return fabs (self->zoom_level - 1.0) >= 0.001 || fabs (self->pan_x) >= 0.5 || fabs (self->pan_y) >= 0.5; } double bz_zoom_get_min_zoom (BzZoom *self) { g_return_val_if_fail (BZ_IS_ZOOM (self), 1); return self->min_zoom; } void bz_zoom_set_min_zoom (BzZoom *self, double min_zoom) { g_return_if_fail (BZ_IS_ZOOM (self)); self->min_zoom = min_zoom; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MIN_ZOOM]); } double bz_zoom_get_max_zoom (BzZoom *self) { g_return_val_if_fail (BZ_IS_ZOOM (self), 5.0); return self->max_zoom; } void bz_zoom_set_max_zoom (BzZoom *self, double max_zoom) { g_return_if_fail (BZ_IS_ZOOM (self)); self->max_zoom = max_zoom; g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MAX_ZOOM]); } static void bz_zoom_constrain_pan (BzZoom *self) { int widget_width; int widget_height; double overpan_x; double overpan_y; double range_x; double range_y; double max_pan_x; double max_pan_y; widget_width = gtk_widget_get_width (GTK_WIDGET (self)); widget_height = gtk_widget_get_height (GTK_WIDGET (self)); if (widget_width <= 0 || widget_height <= 0) return; overpan_x = widget_width * OVERPAN_FACTOR; overpan_y = widget_height * OVERPAN_FACTOR; range_x = MAX (0, (widget_width * self->zoom_level - widget_width) / 2.0); range_y = MAX (0, (widget_height * self->zoom_level - widget_height) / 2.0); max_pan_x = range_x + overpan_x; max_pan_y = range_y + overpan_y; self->pan_x = CLAMP (self->pan_x, -max_pan_x, max_pan_x); self->pan_y = CLAMP (self->pan_y, -max_pan_y, max_pan_y); if (self->hadjustment != NULL) g_signal_handlers_block_by_func ( self->hadjustment, on_adjustment_value_changed, self); if (self->vadjustment != NULL) g_signal_handlers_block_by_func ( self->vadjustment, on_adjustment_value_changed, self); if (self->hadjustment != NULL) g_object_set ( self->hadjustment, "lower", -max_pan_x, "value", -self->pan_x, "upper", max_pan_x + overpan_x, "page-size", overpan_x, "page-increment", max_pan_x / 4.0, NULL); if (self->vadjustment != NULL) g_object_set ( self->vadjustment, "lower", -max_pan_y, "value", -self->pan_y, "upper", max_pan_y + overpan_y, "page-size", overpan_y, "page-increment", max_pan_y / 4.0, NULL); if (self->hadjustment != NULL) g_signal_handlers_unblock_by_func ( self->hadjustment, on_adjustment_value_changed, self); if (self->vadjustment != NULL) g_signal_handlers_unblock_by_func ( self->vadjustment, on_adjustment_value_changed, self); } static void bz_zoom_zoom_at_point (BzZoom *self, double zoom_factor, double center_x, double center_y) { double old_zoom; double new_zoom; int widget_width; int widget_height; double widget_center_x; double widget_center_y; double old_content_x; double old_content_y; double zoom_ratio; double new_content_x; double new_content_y; old_zoom = self->zoom_level; new_zoom = old_zoom * zoom_factor; new_zoom = CLAMP (new_zoom, self->min_zoom, self->max_zoom); if (fabs (new_zoom - old_zoom) < 0.001) return; widget_width = gtk_widget_get_width (GTK_WIDGET (self)); widget_height = gtk_widget_get_height (GTK_WIDGET (self)); widget_center_x = widget_width / 2.0; widget_center_y = widget_height / 2.0; old_content_x = center_x - widget_center_x - self->pan_x; old_content_y = center_y - widget_center_y - self->pan_y; zoom_ratio = new_zoom / old_zoom; new_content_x = old_content_x * zoom_ratio; new_content_y = old_content_y * zoom_ratio; self->zoom_level = new_zoom; self->pan_x = center_x - widget_center_x - new_content_x; self->pan_y = center_y - widget_center_y - new_content_y; bz_zoom_constrain_pan (self); gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ZOOM_LEVEL]); } static void on_animation_value (double value, BzZoom *self) { self->zoom_level = self->start_zoom + (self->target_zoom - self->start_zoom) * value; self->pan_x = self->start_pan_x + (self->target_pan_x - self->start_pan_x) * value; self->pan_y = self->start_pan_y + (self->target_pan_y - self->start_pan_y) * value; bz_zoom_constrain_pan (self); gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ZOOM_LEVEL]); } static void on_adjustment_value_changed (BzZoom *self, GParamSpec *pspec, GtkAdjustment *adjustment) { if (self->zoom_animation != NULL) adw_animation_skip (self->zoom_animation); if (self->hadjustment != NULL) self->pan_x = -gtk_adjustment_get_value (self->hadjustment); if (self->vadjustment != NULL) self->pan_y = -gtk_adjustment_get_value (self->vadjustment); gtk_widget_queue_draw (GTK_WIDGET (self)); } static void bz_zoom_animate_to (BzZoom *self, double target_zoom, double target_pan_x, double target_pan_y) { AdwAnimationTarget *target; if (self->zoom_animation) adw_animation_skip (self->zoom_animation); self->start_zoom = self->zoom_level; self->start_pan_x = self->pan_x; self->start_pan_y = self->pan_y; self->target_zoom = target_zoom; self->target_pan_x = target_pan_x; self->target_pan_y = target_pan_y; target = adw_callback_animation_target_new ((AdwAnimationTargetFunc) on_animation_value, self, NULL); self->zoom_animation = adw_timed_animation_new (GTK_WIDGET (self), 0, 1, 150, target); adw_timed_animation_set_easing (ADW_TIMED_ANIMATION (self->zoom_animation), ADW_EASE_OUT_CUBIC); adw_animation_play (self->zoom_animation); } void bz_zoom_zoom_in (BzZoom *self) { int width; int height; double old_zoom; double new_zoom; double widget_center_x; double widget_center_y; double center_x; double center_y; double old_content_x; double old_content_y; double zoom_ratio; double new_content_x; double new_content_y; double new_pan_x; double new_pan_y; g_return_if_fail (BZ_IS_ZOOM (self)); width = gtk_widget_get_width (GTK_WIDGET (self)); height = gtk_widget_get_height (GTK_WIDGET (self)); center_x = width / 2.0; center_y = height / 2.0; old_zoom = self->zoom_level; new_zoom = old_zoom * 1.2; new_zoom = CLAMP (new_zoom, self->min_zoom, self->max_zoom); if (fabs (new_zoom - old_zoom) < 0.001) return; widget_center_x = width / 2.0; widget_center_y = height / 2.0; old_content_x = center_x - widget_center_x - self->pan_x; old_content_y = center_y - widget_center_y - self->pan_y; zoom_ratio = new_zoom / old_zoom; new_content_x = old_content_x * zoom_ratio; new_content_y = old_content_y * zoom_ratio; new_pan_x = center_x - widget_center_x - new_content_x; new_pan_y = center_y - widget_center_y - new_content_y; bz_zoom_animate_to (self, new_zoom, new_pan_x, new_pan_y); } void bz_zoom_zoom_out (BzZoom *self) { int width; int height; double old_zoom; double new_zoom; double widget_center_x; double widget_center_y; double center_x; double center_y; double old_content_x; double old_content_y; double zoom_ratio; double new_content_x; double new_content_y; double new_pan_x; double new_pan_y; g_return_if_fail (BZ_IS_ZOOM (self)); width = gtk_widget_get_width (GTK_WIDGET (self)); height = gtk_widget_get_height (GTK_WIDGET (self)); center_x = width / 2.0; center_y = height / 2.0; old_zoom = self->zoom_level; new_zoom = old_zoom * 0.8; new_zoom = CLAMP (new_zoom, self->min_zoom, self->max_zoom); if (fabs (new_zoom - old_zoom) < 0.001) return; widget_center_x = width / 2.0; widget_center_y = height / 2.0; old_content_x = center_x - widget_center_x - self->pan_x; old_content_y = center_y - widget_center_y - self->pan_y; zoom_ratio = new_zoom / old_zoom; new_content_x = old_content_x * zoom_ratio; new_content_y = old_content_y * zoom_ratio; new_pan_x = center_x - widget_center_x - new_content_x; new_pan_y = center_y - widget_center_y - new_content_y; bz_zoom_animate_to (self, new_zoom, new_pan_x, new_pan_y); } void bz_zoom_reset (BzZoom *self) { g_return_if_fail (BZ_IS_ZOOM (self)); bz_zoom_animate_to (self, 1.0, 0.0, 0.0); } void bz_zoom_fit_to_window (BzZoom *self) { g_return_if_fail (BZ_IS_ZOOM (self)); bz_zoom_animate_to (self, 1.0, 0.0, 0.0); } /* End of bz-zoom.c */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/bz-zoom.h�������������������������������������������������������������0000664�0000000�0000000�00000003263�15234476640�0017627�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-zoom.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define BZ_TYPE_ZOOM (bz_zoom_get_type ()) G_DECLARE_FINAL_TYPE (BzZoom, bz_zoom, BZ, ZOOM, GtkWidget) GtkWidget *bz_zoom_new (void); GtkWidget *bz_zoom_get_child (BzZoom *self); void bz_zoom_set_child (BzZoom *self, GtkWidget *child); double bz_zoom_get_zoom_level (BzZoom *self); void bz_zoom_set_zoom_level (BzZoom *self, double zoom_level); double bz_zoom_get_min_zoom (BzZoom *self); void bz_zoom_set_min_zoom (BzZoom *self, double min_zoom); double bz_zoom_get_max_zoom (BzZoom *self); void bz_zoom_set_max_zoom (BzZoom *self, double max_zoom); gboolean bz_zoom_is_transformed (BzZoom *self); void bz_zoom_zoom_in (BzZoom *self); void bz_zoom_zoom_out (BzZoom *self); void bz_zoom_reset (BzZoom *self); void bz_zoom_fit_to_window (BzZoom *self); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/context-tile-callbacks.c����������������������������������������������0000664�0000000�0000000�00000030441�15234476640�0022557�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* context-tile-callbacks.c * * Copyright 2026 Eva M, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <appstream.h> #include <glib/gi18n.h> #include <gtk/gtk.h> #include <math.h> #include "context-tile-callbacks.h" #include "bz-entry.h" #include "safety-calculator.h" #include "spdx.h" static char * format_with_small_suffix (char *number, const char *suffix) { char *dot = g_strrstr (number, "."); if (dot != NULL) { char *end = dot; while (*(end + 1) != '\0') end++; while (end > dot && *end == '0') *end-- = '\0'; if (end == dot) *dot = '\0'; } return g_strdup_printf ("%s\xC2\xA0<span font_size='x-small'>%s</span>", number, suffix); } static char * format_favorites_count (gpointer object, int favorites_count) { if (favorites_count < 0) return g_strdup (" "); return g_strdup_printf ("%d", favorites_count); } static char * format_recent_downloads (gpointer object, int value) { double result; int digits; if (value <= 0) return g_strdup (_ ("---")); if (value >= 1000000) { result = value / 1000000.0; digits = (int) log10 (result) + 1; /* Translators: M is the suffix for millions */ return g_strdup_printf (_ ("%.*fM"), 3 - digits, result); } else if (value >= 1000) { result = value / 1000.0; digits = (int) log10 (result) + 1; /* Translators: K is the suffix for thousands*/ return g_strdup_printf (_ ("%.*fK"), 3 - digits, result); } else return g_strdup_printf ("%'d", value); } static char * format_recent_downloads_tooltip (gpointer object, int value) { return g_strdup_printf (_ ("%d downloads in the last month"), value); } static char * format_size (gpointer object, guint64 value) { g_autofree char *size_str = g_format_size (value); char *space = g_strrstr (size_str, "\xC2\xA0"); char *decimal = NULL; int digits = 0; if (value == 0) return g_strdup (_ ("N/A")); if (space != NULL) { *space = '\0'; for (char *p = size_str; *p != '\0' && *p != '.'; p++) if (g_ascii_isdigit (*p)) digits++; if (digits >= 3) { decimal = g_strrstr (size_str, "."); if (decimal != NULL) *decimal = '\0'; } return format_with_small_suffix (size_str, space + 2); } return g_strdup (size_str); } static char * get_size_label (gpointer object, gboolean is_installable, gboolean runtime_installed, guint64 runtime_size) { if (is_installable && !runtime_installed && runtime_size > 0) { g_autofree char *size_str = g_format_size (runtime_size); // TRANSLATORS: %s is a formatted file size, for example: "128 MB" return g_strdup_printf (_ ("+%s Runtime"), size_str); } return g_strdup (is_installable ? _ ("Download") : _ ("Installed")); } static guint64 get_size_type (gpointer object, BzEntry *entry, gboolean is_installable) { if (entry == NULL) return 0; return is_installable ? bz_entry_get_size (entry) : bz_entry_get_installed_size (entry); } static char * format_size_tooltip (gpointer object, guint64 value) { g_autofree char *size_str = NULL; if (value == 0) return g_strdup (_ ("Size information unavailable")); size_str = g_format_size (value); return g_strdup_printf (_ ("Download size of %s"), size_str); } static char * format_age_rating (gpointer object, AsContentRating *content_rating) { guint age; if (content_rating == NULL) return g_strdup ("?"); age = as_content_rating_get_minimum_age (content_rating); if (age < 3) age = 3; /* Translators: Age rating format, e.g. "12+" for ages 12 and up */ return g_strdup_printf (_ ("%d+"), age); } static char * get_age_rating_label (gpointer object, AsContentRating *content_rating) { guint age; if (content_rating == NULL) return g_strdup (_ ("Age Rating")); age = as_content_rating_get_minimum_age (content_rating); if (age == 0) return g_strdup (_ ("All Ages")); else return g_strdup (_ ("Age Rating")); } static char * get_age_rating_tooltip (gpointer object, AsContentRating *content_rating) { guint age; if (content_rating == NULL) return g_strdup (_ ("Age rating information unavailable")); age = as_content_rating_get_minimum_age (content_rating); if (age == 0) return g_strdup (_ ("Suitable for all ages")); return g_strdup_printf (_ ("Suitable for ages %d and up"), age); } static char * get_age_rating_style (gpointer object, AsContentRating *content_rating) { guint age; if (content_rating == NULL) return g_strdup ("grey"); age = as_content_rating_get_minimum_age (content_rating); if (age >= 18) return g_strdup ("error"); else if (age >= 15) return g_strdup ("orange"); else if (age >= 12) return g_strdup ("warning"); else return g_strdup ("grey"); } static char * format_license_tooltip (gpointer object, BzEntry *entry) { const char *license; gboolean is_floss = FALSE; g_autofree char *name = NULL; if (entry == NULL) return g_strdup (_ ("Unknown")); g_object_get (entry, "is-floss", &is_floss, "project-license", &license, NULL); if (license == NULL || *license == '\0') return g_strdup (_ ("Unknown")); if (is_floss && bz_spdx_is_valid (license)) { name = bz_spdx_get_name (license); return g_strdup_printf (_ ("Free software licensed under %s"), (name != NULL && *name != '\0') ? name : license); } if (is_floss) return g_strdup (_ ("Free software")); if (bz_spdx_is_proprietary (license)) return g_strdup (_ ("Proprietary Software")); name = bz_spdx_get_name (license); return g_strdup_printf (_ ("Special License: %s"), (name != NULL && *name != '\0') ? name : license); } static char * get_license_label (gpointer object, BzEntry *entry) { const char *license; gboolean is_floss = FALSE; if (entry == NULL) return g_strdup (_ ("Unknown")); g_object_get (entry, "is-floss", &is_floss, "project-license", &license, NULL); if (is_floss) /* TRANSLATORS: You can omit the "software" part if your translation makes it obvious we're talking about "libre" and not "gratis"*/ return g_strdup (_ ("Free Software")); if (license == NULL || *license == '\0') return g_strdup (_ ("Unknown")); if (bz_spdx_is_proprietary (license)) return g_strdup (_ ("Proprietary")); return g_strdup (_ ("Special License")); } static char * get_license_icon (gpointer object, gboolean is_floss, int index) { const char *icons[][2] = { { "license-symbolic", "proprietary-code-symbolic" }, { "community-symbolic", "license-symbolic" } }; return g_strdup (icons[is_floss ? 1 : 0][index]); } static char * get_formfactor_label (gpointer object, gboolean is_mobile_friendly) { return g_strdup (is_mobile_friendly ? _ ("Adaptive") : _ ("Desktop Only")); } static char * get_formfactor_tooltip (gpointer object, gboolean is_mobile_friendly) { return g_strdup (is_mobile_friendly ? _ ("Works on desktop, tablets, and phones") : _ ("May not work on mobile devices")); } static char * get_safety_rating_icon (gpointer object, BzEntry *entry, int index) { char *icon = NULL; BzImportance importance = 0; if (entry == NULL) return g_strdup ("app-safety-unknown-symbolic"); if (index < 0 || index > 2) return NULL; if (index == 0) { importance = bz_safety_calculator_calculate_rating (entry); switch (importance) { case BZ_IMPORTANCE_UNIMPORTANT: case BZ_IMPORTANCE_NEUTRAL: return g_strdup ("app-safety-ok-symbolic"); case BZ_IMPORTANCE_INFORMATION: case BZ_IMPORTANCE_WARNING: return NULL; case BZ_IMPORTANCE_IMPORTANT: return g_strdup ("dialog-warning-symbolic"); default: return NULL; } } icon = bz_safety_calculator_get_top_icon (entry, index - 1); return icon; } const char * bz_safety_style_for_importance (BzImportance importance) { switch (importance) { case BZ_IMPORTANCE_UNIMPORTANT: case BZ_IMPORTANCE_NEUTRAL: return "grey"; case BZ_IMPORTANCE_INFORMATION: return "warning"; case BZ_IMPORTANCE_WARNING: return "orange"; case BZ_IMPORTANCE_IMPORTANT: return "error"; default: return "grey"; } } static char * get_safety_rating_style (gpointer object, BzEntry *entry) { if (entry == NULL) return g_strdup ("grey"); return g_strdup (bz_safety_style_for_importance ( bz_safety_calculator_calculate_rating (entry))); } static char * get_safety_rating_label (gpointer object, BzEntry *entry) { BzImportance importance; if (entry == NULL) return g_strdup (_ ("N/A")); importance = bz_safety_calculator_calculate_rating (entry); switch (importance) { case BZ_IMPORTANCE_UNIMPORTANT: // TRANSLATORS: short app safety rating label return g_strdup (_ ("Safe")); case BZ_IMPORTANCE_NEUTRAL: // TRANSLATORS: short app safety rating label return g_strdup (_ ("Low Risk")); case BZ_IMPORTANCE_INFORMATION: // TRANSLATORS: short app safety rating label return g_strdup (_ ("Low Risk")); case BZ_IMPORTANCE_WARNING: // TRANSLATORS: short app safety rating label return g_strdup (_ ("Medium Risk")); case BZ_IMPORTANCE_IMPORTANT: // TRANSLATORS: short app safety rating label return g_strdup (_ ("High Risk")); default: return g_strdup (_ ("N/A")); } } void bz_widget_class_bind_all_context_tile_callbacks (GtkWidgetClass *widget_class) { g_return_if_fail (GTK_IS_WIDGET_CLASS (widget_class)); gtk_widget_class_bind_template_callback (widget_class, format_favorites_count); gtk_widget_class_bind_template_callback (widget_class, format_recent_downloads); gtk_widget_class_bind_template_callback (widget_class, format_recent_downloads_tooltip); gtk_widget_class_bind_template_callback (widget_class, format_size); gtk_widget_class_bind_template_callback (widget_class, get_size_label); gtk_widget_class_bind_template_callback (widget_class, get_size_type); gtk_widget_class_bind_template_callback (widget_class, format_size_tooltip); gtk_widget_class_bind_template_callback (widget_class, format_age_rating); gtk_widget_class_bind_template_callback (widget_class, get_age_rating_label); gtk_widget_class_bind_template_callback (widget_class, get_age_rating_tooltip); gtk_widget_class_bind_template_callback (widget_class, get_age_rating_style); gtk_widget_class_bind_template_callback (widget_class, format_license_tooltip); gtk_widget_class_bind_template_callback (widget_class, get_license_label); gtk_widget_class_bind_template_callback (widget_class, get_license_icon); gtk_widget_class_bind_template_callback (widget_class, get_formfactor_label); gtk_widget_class_bind_template_callback (widget_class, get_formfactor_tooltip); gtk_widget_class_bind_template_callback (widget_class, get_safety_rating_icon); gtk_widget_class_bind_template_callback (widget_class, get_safety_rating_style); gtk_widget_class_bind_template_callback (widget_class, get_safety_rating_label); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/context-tile-callbacks.h����������������������������������������������0000664�0000000�0000000�00000001750�15234476640�0022565�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* context-tile-callbacks.h * * Copyright 2026 Eva M, Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> #include "safety-calculator.h" void bz_widget_class_bind_all_context_tile_callbacks (GtkWidgetClass *widget_class); const char * bz_safety_style_for_importance (BzImportance importance); ������������������������bazaar-org-bazaar-917017d/src/curated-config-schema.xml���������������������������������������������0000664�0000000�0000000�00000000530�15234476640�0022725�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <object class="BzRootCuratedConfig"> <typehint name="rows" type="BzCuratedRow"/> <typehint name="rows.section.appids.list" type="GtkStringObject"/> <typehint name="rows.featured-carousel.appids.list" type="GtkStringObject"/> <typehint name="rows.articles.list" type="BzCuratedArticle"/> </object> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/dl-worker.c�����������������������������������������������������������0000664�0000000�0000000�00000013354�15234476640�0020135�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* dl-worker.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::DL-WORKER-SUBPROCESS" #include "env.h" #include "global-net.h" #include "util.h" BZ_DEFINE_DATA ( main, Main, { GMainLoop *loop; GIOChannel *stdout_channel; }, BZ_RELEASE_DATA (loop, g_main_loop_unref); BZ_RELEASE_DATA (stdout_channel, g_io_channel_unref)); BZ_DEFINE_DATA ( download, Download, { char *src; char *dest; GIOChannel *stdout_channel; }, BZ_RELEASE_DATA (src, g_free); BZ_RELEASE_DATA (dest, g_free); BZ_RELEASE_DATA (stdout_channel, g_io_channel_unref)); static DexFuture * read_stdin (MainData *data); static DexFuture * download_fiber (DownloadData *data); int main (int argc, char *argv[]) { g_autoptr (GIOChannel) stdout_channel = NULL; g_autoptr (GMainLoop) main_loop = NULL; g_autoptr (MainData) data = NULL; g_autoptr (DexFuture) future = NULL; g_log_writer_default_set_use_stderr (TRUE); dex_init (); stdout_channel = g_io_channel_unix_new (STDOUT_FILENO); g_assert (g_io_channel_set_encoding (stdout_channel, NULL, NULL)); g_io_channel_set_buffered (stdout_channel, FALSE); main_loop = g_main_loop_new (NULL, FALSE); data = main_data_new (); data->loop = g_main_loop_ref (main_loop); data->stdout_channel = g_io_channel_ref (stdout_channel); future = dex_scheduler_spawn ( dex_thread_pool_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) read_stdin, main_data_ref (data), main_data_unref); g_main_loop_run (main_loop); return EXIT_SUCCESS; } static DexFuture * read_stdin (MainData *data) { g_autoptr (GIOChannel) stdin_channel = NULL; stdin_channel = g_io_channel_unix_new (STDIN_FILENO); for (;;) { g_autoptr (GError) local_error = NULL; g_autofree char *string = NULL; char *newline = NULL; g_autoptr (GVariant) variant = NULL; g_autofree char *src_uri = NULL; g_autofree char *dest_path = NULL; g_autoptr (DownloadData) dl_data = NULL; g_io_channel_read_line ( stdin_channel, &string, NULL, NULL, &local_error); if (string == NULL) { if (local_error != NULL) g_warning ("FATAL: Failure reading stdin channel: %s", local_error->message); g_main_loop_quit (data->loop); return NULL; } newline = g_utf8_strchr (string, -1, '\n'); if (newline != NULL) *newline = '\0'; variant = g_variant_parse ( G_VARIANT_TYPE ("(ss)"), string, NULL, NULL, &local_error); if (variant == NULL) { g_warning ("Failure parsing variant text '%s' into structure: %s\n", string, local_error->message); g_main_loop_quit (data->loop); continue; } g_variant_get (variant, "(ss)", &src_uri, &dest_path); dl_data = download_data_new (); dl_data->src = g_steal_pointer (&src_uri); dl_data->dest = g_steal_pointer (&dest_path); dl_data->stdout_channel = g_io_channel_ref (data->stdout_channel); dex_future_disown (dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) download_fiber, download_data_ref (dl_data), download_data_unref)); } return NULL; } static DexFuture * download_fiber (DownloadData *data) { gboolean success = FALSE; g_autoptr (GError) local_error = NULL; g_autoptr (GFile) dest_file = NULL; g_autoptr (GFileOutputStream) dest_output = NULL; g_autoptr (SoupMessage) message = NULL; SoupMessageHeaders *headers = NULL; g_autoptr (GVariant) variant = NULL; g_autofree char *output = NULL; g_autofree char *output_plus_nl = NULL; dest_file = g_file_new_for_path (data->dest); dest_output = g_file_replace ( dest_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error); if (dest_output == NULL) { g_warning ("%s", local_error->message); goto done; } message = soup_message_new (SOUP_METHOD_GET, data->src); headers = soup_message_get_request_headers (message); soup_message_headers_append (headers, "Accept", "*/*"); soup_message_headers_append (headers, "User-Agent", "Bazaar"); success = dex_await (bz_send_with_global_http_session_then_splice_into ( message, G_OUTPUT_STREAM (dest_output)), &local_error); if (!success) { g_warning ("%s", local_error->message); goto done; } done: variant = g_variant_new ("(sb)", data->dest, success); output = g_variant_print (variant, TRUE); output_plus_nl = g_strdup_printf ("%s\n", output); g_io_channel_write_chars (data->stdout_channel, output_plus_nl, -1, NULL, NULL); return dex_future_new_true (); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/env.c�����������������������������������������������������������������0000664�0000000�0000000�00000010603�15234476640�0017011�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* env.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <libdex.h> #include "env.h" gsize bz_get_dex_stack_size (void) { static guint64 stack_size = 0; if (g_once_init_enter (&stack_size)) { const char *envvar = NULL; guint64 value = 0; /* Ensure we have enough space for gtk/glycin Some routines try to optimize by putting stuff on the stack, see https://gitlab.gnome.org/GNOME/libdex/-/issues/27#note_2582332 2025-10-21 22:47:02 eva */ value = MAX (8388608, dex_get_min_stack_size ()); envvar = g_getenv ("BAZAAR_DEX_STACK_SIZE"); if (envvar != NULL) { g_autoptr (GError) local_error = NULL; g_autoptr (GVariant) variant = NULL; variant = g_variant_parse ( G_VARIANT_TYPE_UINT64, envvar, NULL, NULL, &local_error); if (variant != NULL) { guint64 parse_result = 0; parse_result = g_variant_get_uint64 (variant); if (parse_result < dex_get_min_stack_size ()) g_warning ("BAZAAR_DEX_STACK_SIZE must be greater than %zu on this system", dex_get_min_stack_size ()); else value = parse_result; } else g_warning ("BAZAAR_DEX_STACK_SIZE is invalid: %s", local_error->message); } g_once_init_leave (&stack_size, value); } return stack_size; } guint64 bz_get_n_download_workers (void) { static guint64 n_dl_workers = 0; if (g_once_init_enter (&n_dl_workers)) { const char *envvar = NULL; guint64 value = 0; value = 8; envvar = g_getenv ("BAZAAR_N_DOWNLOAD_WORKERS"); if (envvar != NULL) { g_autoptr (GError) local_error = NULL; g_autoptr (GVariant) variant = NULL; variant = g_variant_parse ( G_VARIANT_TYPE_UINT64, envvar, NULL, NULL, &local_error); if (variant != NULL) { guint64 parse_result = 0; parse_result = g_variant_get_uint64 (variant); if (parse_result == 0) g_warning ("BAZAAR_N_DOWNLOAD_WORKERS must be greater than 0"); else value = parse_result; } else g_warning ("BAZAAR_N_DOWNLOAD_WORKERS is invalid: %s", local_error->message); } g_once_init_leave (&n_dl_workers, value); } return n_dl_workers; } guint bz_get_desktop_search_provider_icon_size (void) { static guint64 icon_size = 0; if (g_once_init_enter (&icon_size)) { const char *envvar = NULL; guint64 value = 0; /* default 24x24 for the gnome-shell search provider */ value = 24; envvar = g_getenv ("BAZAAR_DESKTOP_SEARCH_PROVIDER_ICON_SIZE"); if (envvar != NULL) { g_autoptr (GError) local_error = NULL; g_autoptr (GVariant) variant = NULL; variant = g_variant_parse ( G_VARIANT_TYPE_UINT64, envvar, NULL, NULL, &local_error); if (variant != NULL) { guint64 parse_result = 0; parse_result = g_variant_get_uint64 (variant); if (parse_result == 0 || parse_result > 256) g_warning ("BAZAAR_DESKTOP_SEARCH_PROVIDER_ICON_SIZE must be " "greater than 0 but no greater than 256"); else value = parse_result; } else g_warning ("BAZAAR_DESKTOP_SEARCH_PROVIDER_ICON_SIZE is invalid: %s", local_error->message); } g_once_init_leave (&icon_size, value); } return (guint) icon_size; } �����������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/env.h�����������������������������������������������������������������0000664�0000000�0000000�00000001657�15234476640�0017027�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* env.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib.h> G_BEGIN_DECLS gsize bz_get_dex_stack_size (void); guint64 bz_get_n_download_workers (void); guint bz_get_desktop_search_provider_icon_size (void); G_END_DECLS ���������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/error.c���������������������������������������������������������������0000664�0000000�0000000�00000007455�15234476640�0017365�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* error.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <adwaita.h> #include <glib/gi18n.h> #include "bz-error-dialog.h" #include "error.h" #include "bz-window.h" static void show_alert (GtkWidget *widget, const char *title, const char *text); static void await_alert_response (AdwAlertDialog *alert, gchar *response, DexPromise *promise); static void unref_dex_closure (gpointer data, GClosure *closure); void bz_show_error_for_widget (GtkWidget *widget, const char *title, const char *text) { g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (text != NULL); show_alert (widget, title, text); } static void on_toast_button_clicked (AdwToast *toast, GtkWidget *widget) { BzErrorDialog *dialog; const char *title = NULL; const char *text = NULL; if (!GTK_IS_WIDGET (widget)) return; title = g_object_get_data (G_OBJECT (toast), "title"); text = g_object_get_data (G_OBJECT (toast), "text"); dialog = bz_error_dialog_new (title ? title : _ ("Details"), text ? text : ""); adw_dialog_present (ADW_DIALOG (dialog), widget); } static void show_alert (GtkWidget *widget, const char *title, const char *text) { BzWindow *window = NULL; AdwToast *toast = NULL; g_autofree char *toast_title = NULL; window = BZ_WINDOW (gtk_widget_get_ancestor (widget, BZ_TYPE_WINDOW)); if (window == NULL) return; toast_title = g_strdup_printf ("%s", title); toast = adw_toast_new (toast_title); adw_toast_set_button_label (toast, _ ("Details")); adw_toast_set_priority (toast, ADW_TOAST_PRIORITY_HIGH); adw_toast_set_timeout (toast, 5); g_object_set_data_full (G_OBJECT (toast), "title", g_strdup (title), g_free); g_object_set_data_full (G_OBJECT (toast), "text", g_strdup (text), g_free); g_signal_connect (toast, "button-clicked", G_CALLBACK (on_toast_button_clicked), widget); bz_window_add_toast (window, toast); } DexFuture * bz_make_alert_dialog_future (AdwAlertDialog *dialog) { g_autoptr (DexPromise) promise = NULL; dex_return_error_if_fail (ADW_IS_ALERT_DIALOG (dialog)); promise = dex_promise_new (); g_signal_connect_data ( dialog, "response", G_CALLBACK (await_alert_response), dex_ref (promise), unref_dex_closure, G_CONNECT_DEFAULT); return DEX_FUTURE (g_steal_pointer (&promise)); } static void await_alert_response (AdwAlertDialog *alert, gchar *response, DexPromise *promise) { dex_promise_resolve_string (promise, g_strdup (response)); } static void unref_dex_closure (gpointer data, GClosure *closure) { DexPromise *promise = data; if (dex_future_is_pending (DEX_FUTURE (promise))) dex_promise_reject ( promise, g_error_new ( DEX_ERROR, DEX_ERROR_UNKNOWN, "The signal was disconnected")); dex_unref (promise); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/error.h���������������������������������������������������������������0000664�0000000�0000000�00000002021�15234476640�0017352�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* error.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <adwaita.h> #include <libdex.h> G_BEGIN_DECLS void bz_show_error_for_widget (GtkWidget *widget, const char *title, const char *text); DexFuture * bz_make_alert_dialog_future (AdwAlertDialog *dialog); G_END_DECLS ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/gen_gobject.sh��������������������������������������������������������0000775�0000000�0000000�00000047663�15234476640�0020702�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # gen_gobject.sh # author: kolunmi die() { echo "Usage: $0 [--header|--code] [spec] [output]" 1>&2 echo " [--header|--code] whether to output the header (.h) or code (.c)" 1>&2 echo " [spec] spec keyfile" 1>&2 echo " [output] output file" 1>&2 echo "" 1>&2 echo " The spec file should contain these keys:" 1>&2 echo " [prefix] lower case prefix, EX: my" 1>&2 echo " [name] lower case class name, EX: class" 1>&2 echo " [parent-prefix] prefix of parent class, EX: g" 1>&2 echo " [parent-name] name of parent class, EX: object" 1>&2 echo " [author] author name, EX: <your name>" 1>&2 echo " [include] #include for the header file (can have multiple)" 1>&2 echo " EX: <gtk/gtk.h>" 1>&2 echo " EX: \"my-other-class.h\"" 1>&2 echo " [enum] declare an enum type (can have multiple)" 1>&2 echo " EX: my fruit_type apple orange pear" 1>&2 echo " [ensure] ensure another type (can have multiple), EX: GTK_TYPE_WIDGET" 1>&2 echo " [property] property spec (can have multiple), EX: (see below)" 1>&2 echo "" 1>&2 echo " The properties are parsed with the form:" 1>&2 echo " [name] [ctype] [gtype] [spec-type] [free (optional)] [ref (optional)]" 1>&2 echo " EX: my_widget GtkWidget GTK_TYPE_WIDGET object" 1>&2 echo " EX: my_string char G_TYPE_STRING string" 1>&2 echo " EX: my_int int G_TYPE_INT int" 1>&2 echo " EX: my_ptr_array GPtrArray G_TYPE_PTR_ARRAY boxed g_ptr_array_unref g_ptr_array_ref" 1>&2 echo "" 1>&2 echo "$@, aborting!" 1>&2 exit 1 } if [ "$#" -ne 3 ]; then die wrong number of args fi OUTPUT_TYPE="$1" SPEC_FILE="$2" OUTPUT_FILE="$3" if [ -z "$OUTPUT_TYPE" ] || [ -z "$SPEC_FILE" ] || [ -z "$OUTPUT_FILE" ]; then die one or more args are empty fi case "$OUTPUT_TYPE" in --header|--code) ;; *) die arg 1 must be '--header' or '--code' ;; esac if ! [ -f "$SPEC_FILE" ]; then die "$SPEC_FILE isn't a file" fi # if [ -e "$OUTPUT_FILE" ]; then # die "$OUTPUT_FILE already exists" # fi unset PREF unset NAME unset PAR_PREF unset PAR_NAME unset AUTHOR unset INCLUDES unset ENSURES unset ENUMS unset PROPS while IFS= read -r line; do [ -z "$line" ] && continue KEY="${line%%=*}" VAL="${line#*=}" case "$KEY" in prefix) PREF="$VAL" ;; name) NAME="$VAL" ;; parent-prefix) PAR_PREF="$VAL" ;; parent-name) PAR_NAME="$VAL" ;; author) AUTHOR="$VAL" ;; include) if [ -n "$INCLUDES" ]; then INCLUDES="${INCLUDES} #include ${VAL}" else INCLUDES="#include ${VAL}" fi ;; enum) if [ -n "$ENUMS" ]; then ENUMS="${ENUMS} ${VAL}" else ENUMS="$VAL" fi ;; ensure) if [ -n "$ENSURES" ]; then ENSURES="${ENSURES} g_type_ensure (${VAL});" else ENSURES=" g_type_ensure (${VAL});" fi ;; property) if [ -n "$PROPS" ]; then PROPS="${PROPS} ${VAL}" else PROPS="$VAL" fi ;; *) die "unknown key '${KEY}' in ${SPEC_FILE}" ;; esac done < "$SPEC_FILE" if [ -z "$PREF" ] || [ -z "$NAME" ] || [ -z "$PAR_PREF" ] || [ -z "$PAR_NAME" ] || [ -z "$AUTHOR" ] || [ -z "$PROPS" ]; then die "one or more params in $SPEC_FILE are empty" fi case "$OUTPUT_TYPE" in --header) H_FILE="$OUTPUT_FILE" C_FILE="${OUTPUT_FILE%\.h}.c" ;; --code) H_FILE="${OUTPUT_FILE%\.c}.h" C_FILE="$OUTPUT_FILE" ;; esac to_upper() { echo "$1" | tr '[a-z]' '[A-Z]' } to_pascal() { echo "$1" | sed 's/[^_]\+/\L\u&/g' | tr -d '_' } to_hyphened() { echo "$1" | tr '_' '-' } SNAKE="${PREF}_${NAME}" MACRO_PREF="$(to_upper "${PREF}")" MACRO_NAME="$(to_upper "${NAME}")" MACRO="${MACRO_PREF}_${MACRO_NAME}" TYPE="${MACRO_PREF}_TYPE_${MACRO_NAME}" PASCAL="$(to_pascal "${SNAKE}")" HYPHEN_NAME="$(to_hyphened "${NAME}")" HYPHEN="$(to_hyphened "${PREF}")-${HYPHEN_NAME}" PAR_SNAKE="${PAR_PREF}_${PAR_NAME}" PAR_MACRO_PREF="$(to_upper "${PAR_PREF}")" PAR_MACRO_NAME="$(to_upper "${PAR_NAME}")" PAR_MACRO="${PAR_MACRO_PREF}_${PAR_MACRO_NAME}" PAR_TYPE="${PAR_MACRO_PREF}_TYPE_${PAR_MACRO_NAME}" PAR_PASCAL="$(to_pascal "${PAR_SNAKE}")" PAR_HYPHEN_NAME="$(to_hyphened "${PAR_NAME}")" PAR_HYPHEN="$(to_hyphened "${PAR_PREF}")-${PAR_HYPHEN_NAME}" YEAR="$(date +'%Y')" print_enums () { HEADER="$1" [ -z "$ENUMS" ] && return if [ "$HEADER" = header ]; then while IFS= read -r line; do set -- $line LOC_PREF="$1" LOC_NAME="$2" LOC_SNAKE="${LOC_PREF}_${LOC_NAME}" LOC_SNAKE_UPPER="$(to_upper "$LOC_SNAKE")" LOC_TYPE="$(to_upper "$LOC_PREF")_TYPE_$(to_upper "$LOC_NAME")" LOC_PASCAL="$(to_pascal "${LOC_SNAKE}")" shift 2 printf 'typedef enum\n{\n' for enum in "$@"; do LOC_ENUM_SYMBOL="${LOC_SNAKE_UPPER}_$(to_upper "$enum")" printf ' %s,\n' "$LOC_ENUM_SYMBOL" done printf '} %s;\n' "$LOC_PASCAL" printf 'GType %s_get_type (void);\n' "$LOC_SNAKE" printf '#define %s (%s_get_type ())\n\n' "$LOC_TYPE" "$LOC_SNAKE" done <<EOF $ENUMS EOF else while IFS= read -r line; do set -- $line LOC_PREF="$1" LOC_NAME="$2" LOC_SNAKE="${LOC_PREF}_${LOC_NAME}" LOC_SNAKE_UPPER="$(to_upper "$LOC_SNAKE")" LOC_TYPE="$(to_upper "$LOC_PREF")_TYPE_$(to_upper "$LOC_NAME")" LOC_PASCAL="$(to_pascal "${LOC_SNAKE}")" shift 2 printf 'G_DEFINE_ENUM_TYPE (\n' printf ' %s,\n' "$LOC_PASCAL" printf ' %s' "$LOC_SNAKE" for enum in "$@"; do LOC_ENUM_SYMBOL="${LOC_SNAKE_UPPER}_$(to_upper "$enum")" LOC_ENUM_NICK="$(to_hyphened "$enum")" printf ',\n G_DEFINE_ENUM_VALUE (%s, "%s")' "$LOC_ENUM_SYMBOL" "$LOC_ENUM_NICK" done printf ');\n\n' done <<EOF $ENUMS EOF fi } print_struct () { while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" printf ' %s ' "$LOC_CTYPE" case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) ;; *) printf '*' esac printf "%s;\n" "$LOC_NAME" done <<EOF $PROPS EOF } print_prop_enums () { printf ' PROP_0,\n\n' while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" printf ' PROP_%s,\n' "$(to_upper $LOC_NAME)" done <<EOF $PROPS EOF printf '\n LAST_PROP\n' } print_dispose () { while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" LOC_FREE="$5" case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) ;; *) printf ' g_clear_pointer (&self->%s, ' "${LOC_NAME}" if [ -n "$LOC_FREE" ]; then printf "$LOC_FREE" else case "$LOC_PTYPE" in string) printf 'g_free' ;; *) printf 'g_object_unref' ;; esac fi printf ');\n' ;; esac done <<EOF $PROPS EOF } print_get_property () { while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" printf ' case PROP_%s:\n' "$(to_upper $LOC_NAME)" printf ' g_value_set_%s (value, %s_get_%s (self));\n' "$LOC_PTYPE" "$SNAKE" "$LOC_NAME" printf ' break;\n' done <<EOF $PROPS EOF } print_set_property () { while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" printf ' case PROP_%s:\n' "$(to_upper $LOC_NAME)" printf ' %s_set_%s (self, g_value_get_%s (value));\n' "$SNAKE" "$LOC_NAME" "$LOC_PTYPE" printf ' break;\n' done <<EOF $PROPS EOF } print_init_properties () { while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" printf ' props[PROP_%s] =\n' "$(to_upper $LOC_NAME)" printf ' g_param_spec_%s (\n' "$LOC_PTYPE" printf ' "%s",\n' "$(to_hyphened "$LOC_NAME")" printf ' NULL, NULL,' case "$LOC_PTYPE" in uchar|uint|ulong|uint64|unichar) printf '\n 0, G_MAX%s, 0,\n' "$(to_upper "$LOC_PTYPE")" ;; char|int|long|int64) printf '\n G_MIN%s, G_MAX%s, 0,\n' "$(to_upper "$LOC_PTYPE")" "$(to_upper "$LOC_PTYPE")" ;; float|double) printf '\n G_MININT, G_MAXINT, 0.0,\n' "$(to_upper "$LOC_PTYPE")" ;; boolean) printf ' FALSE,\n' ;; string) printf ' NULL,\n' ;; enum) printf '\n %s, 0,\n' "$LOC_GTYPE" ;; variant) printf '\n G_VARIANT_TYPE_ANY, NULL,\n' ;; *) printf '\n %s,\n' "$LOC_GTYPE" ;; esac printf ' G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);\n\n' done <<EOF $PROPS EOF } print_functions () { HEADER="$1" printf '%s *\n%s_new (void)' "$PASCAL" "$SNAKE" if [ "$HEADER" = header ]; then printf ';\n\n' else printf '{\n return g_object_new (%s, NULL);\n}\n\n' "$TYPE" fi } print_get_property_methods () { HEADER="$1" while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" case "$LOC_PTYPE" in string) printf 'const ' ;; esac printf '%s' "$LOC_CTYPE" case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) ;; *) printf ' *' esac printf '\n%s_get_%s (%s *self)' "$SNAKE" "$LOC_NAME" "$PASCAL" if [ "$HEADER" = header ]; then printf ';\n\n' else printf '{\n g_return_val_if_fail (%s_IS_%s (self), ' "$MACRO_PREF" "$MACRO_NAME" case "$LOC_PTYPE" in uchar|uint|ulong|uint64|unichar|char|int|long|int64|enum) printf '0' ;; float|double) printf '0.0' ;; boolean) printf 'FALSE' ;; *) printf 'NULL' ;; esac printf ');\n' printf ' return self->%s;\n' "$LOC_NAME" printf '}\n\n' fi done <<EOF $PROPS EOF } print_set_property_methods () { HEADER="$1" TAKE="$2" while IFS= read -r line; do set -- $line LOC_NAME="$1" LOC_CTYPE="$2" LOC_GTYPE="$3" LOC_PTYPE="$4" LOC_FREE="$5" LOC_REF="$6" if [ "$TAKE" = take ]; then case "$LOC_PTYPE" in string) ;; *) continue ;; esac fi if [ "$TAKE" = take ]; then printf 'void\n%s_set_%s_take (%s *self,\n ' "$SNAKE" "$LOC_NAME" "$PASCAL" else printf 'void\n%s_set_%s (%s *self,\n ' "$SNAKE" "$LOC_NAME" "$PASCAL" case "$LOC_PTYPE" in string) printf 'const ' ;; esac fi printf '%s ' "$LOC_CTYPE" case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) ;; *) printf '*' ;; esac printf '%s)' "$LOC_NAME" if [ "$HEADER" = header ]; then printf ';\n\n' if [ "$TAKE" = take ]; then case "$LOC_PTYPE" in string) printf '#define %s_set_%s_take_printf(self, ...) %s_set_%s_take (self, g_strdup_printf (__VA_ARGS__))\n\n' "$SNAKE" "$LOC_NAME" "$SNAKE" "$LOC_NAME" ;; esac fi else printf '{\n g_return_if_fail (%s_IS_%s (self));\n\n' "$MACRO_PREF" "$MACRO_NAME" printf ' if (' case "$LOC_PTYPE" in boolean) printf '!!%s == !!self->%s' "$LOC_NAME" "$LOC_NAME" ;; string) if [ "$TAKE" = take ]; then printf '%s != NULL && self->%s != NULL && g_strcmp0(%s, self->%s) == 0' "$LOC_NAME" "$LOC_NAME" "$LOC_NAME" "$LOC_NAME" else printf '%s == self->%s || (%s != NULL && self->%s != NULL && g_strcmp0(%s, self->%s) == 0)' "$LOC_NAME" "$LOC_NAME" "$LOC_NAME" "$LOC_NAME" "$LOC_NAME" "$LOC_NAME" fi ;; *) printf '%s == self->%s' "$LOC_NAME" "$LOC_NAME" ;; esac if [ "$TAKE" = take ]; then printf '){\n ' case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) ;; *) if [ -n "$LOC_FREE" ]; then printf "$LOC_FREE" else case "$LOC_PTYPE" in string) printf 'g_free' ;; *) printf 'g_object_unref' ;; esac fi printf ' (%s);\n' "$LOC_NAME" ;; esac printf ' return;\n }\n\n' else printf ')\n return;\n\n' fi case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) ;; *) printf ' g_clear_pointer (&self->%s, ' "$LOC_NAME" if [ -n "$LOC_FREE" ]; then printf "$LOC_FREE" else case "$LOC_PTYPE" in string) printf 'g_free' ;; *) printf 'g_object_unref' ;; esac fi printf ');\n' printf ' if (%s != NULL)\n ' "$LOC_NAME" ;; esac if [ "$TAKE" = take ]; then printf ' self->%s = %s' "$LOC_NAME" "$LOC_NAME" else printf ' self->%s = ' "$LOC_NAME" if [ -n "$LOC_REF" ]; then printf '%s (%s)' "$LOC_REF" "$LOC_NAME" else case "$LOC_PTYPE" in char|uchar|boolean|int|uint|long|ulong|int64|uint64|unichar|enum|flags|float|double) printf '%s' "$LOC_NAME" ;; string) printf 'g_strdup (%s)' "$LOC_NAME" ;; *) printf 'g_object_ref (%s)' "$LOC_NAME" ;; esac fi fi printf ';\n\n' printf ' g_object_notify_by_pspec (G_OBJECT (self), props[PROP_%s]);\n' "$(to_upper $LOC_NAME)" printf '}\n\n' fi done <<EOF $PROPS EOF } [ "$OUTPUT_TYPE" = --header ] && cat > "$H_FILE" <<EOF /* $H_FILE * * Copyright $YEAR $AUTHOR * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib-object.h> $INCLUDES G_BEGIN_DECLS $(print_enums header) #define $TYPE (${SNAKE}_get_type ()) G_DECLARE_FINAL_TYPE ($PASCAL, $SNAKE, $MACRO_PREF, $MACRO_NAME, $PAR_PASCAL) $(print_functions header) $(print_get_property_methods header) $(print_set_property_methods header) $(print_set_property_methods header take) G_END_DECLS /* End of $H_FILE */ EOF [ "$OUTPUT_TYPE" = --code ] && cat > "$C_FILE" <<EOF /* $C_FILE * * Copyright $YEAR $AUTHOR * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "$H_FILE" $(print_enums) struct _${PASCAL} { $PAR_PASCAL parent_instance; $(print_struct) }; G_DEFINE_FINAL_TYPE ($PASCAL, $SNAKE, $PAR_TYPE); enum { $(print_prop_enums) }; static GParamSpec *props[LAST_PROP] = { 0 }; static void ${SNAKE}_dispose (GObject *object) { $PASCAL *self = $MACRO (object); $(print_dispose) G_OBJECT_CLASS (${SNAKE}_parent_class)->dispose (object); } static void ${SNAKE}_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { $PASCAL *self = $MACRO (object); switch (prop_id) { $(print_get_property) default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void ${SNAKE}_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { $PASCAL *self = $MACRO (object); switch (prop_id) { $(print_set_property) default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void ${SNAKE}_class_init (${PASCAL}Class *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); $ENSURES object_class->set_property = ${SNAKE}_set_property; object_class->get_property = ${SNAKE}_get_property; object_class->dispose = ${SNAKE}_dispose; $(print_init_properties) g_object_class_install_properties (object_class, LAST_PROP, props); } static void ${SNAKE}_init (${PASCAL} *self) { } $(print_functions) $(print_get_property_methods) $(print_set_property_methods) $(print_set_property_methods '' take) /* End of $C_FILE */ EOF exit 0 �����������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/global-net.c����������������������������������������������������������0000664�0000000�0000000�00000027352�15234476640�0020256�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* global-net.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::GLOBAL-NET" #include "config.h" #include <json-glib/json-glib.h> #include <libproxy/proxy.h> #include "env.h" #include "global-net.h" #include "util.h" BZ_DEFINE_DATA ( http_request, HttpRequest, { SoupMessage *message; GOutputStream *splice_into; gboolean close_output; }, BZ_RELEASE_DATA (message, g_object_unref); BZ_RELEASE_DATA (splice_into, g_object_unref)); static DexFuture * http_send_fiber (HttpRequestData *data); static void http_send_and_splice_finish (GObject *object, GAsyncResult *result, gpointer user_data); static DexFuture * query_json_source_then (DexFuture *future, GOutputStream *output_stream); static DexFuture * send (SoupMessage *message, GOutputStream *splice_into, gboolean close_output); static DexFuture * query_uri_json_with_method (const char *uri, const char *method, const char *token); GProxyResolver * bz_get_default_proxy_resolver (void) { static GProxyResolver *resolver = NULL; if (g_once_init_enter_pointer (&resolver)) { pxProxyFactory *factory = NULL; g_auto (GStrv) proxies = NULL; g_autoptr (GProxyResolver) resolver_instance = NULL; factory = px_proxy_factory_new (); /* blocking */ proxies = px_proxy_factory_get_proxies (factory, DONATE_LINK); g_clear_pointer (&factory, px_proxy_factory_free); resolver_instance = g_simple_proxy_resolver_new ( proxies != NULL && *proxies != NULL ? proxies[0] : NULL, NULL); g_once_init_leave_pointer (&resolver, g_steal_pointer (&resolver_instance)); } return resolver; } DexFuture * bz_send_with_global_http_session (SoupMessage *message) { dex_return_error_if_fail (SOUP_IS_MESSAGE (message)); return send (message, NULL, FALSE); } DexFuture * bz_send_with_global_http_session_then_splice_into (SoupMessage *message, GOutputStream *output) { dex_return_error_if_fail (SOUP_IS_MESSAGE (message)); dex_return_error_if_fail (G_IS_OUTPUT_STREAM (output)); return send (message, output, TRUE); } DexFuture * bz_https_query_json (const char *uri) { g_autoptr (GError) local_error = NULL; g_autoptr (SoupMessage) message = NULL; SoupMessageHeaders *headers = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (uri != NULL); message = soup_message_new (SOUP_METHOD_GET, uri); headers = soup_message_get_request_headers (message); soup_message_headers_append (headers, "User-Agent", "Bazaar"); output = g_memory_output_stream_new_resizable (); future = send (message, output, TRUE); future = dex_future_then ( future, (DexFutureCallback) query_json_source_then, g_object_ref (output), g_object_unref); return g_steal_pointer (&future); } DexFuture * bz_query_flathub_v2_json (const char *request) { g_autofree char *uri = NULL; dex_return_error_if_fail (request != NULL); uri = g_strdup_printf ("https://flathub.org/api/v2%s", request); return query_uri_json_with_method (uri, SOUP_METHOD_GET, NULL); } DexFuture * bz_query_flathub_v2_json_take (char *request) { DexFuture *future = NULL; dex_return_error_if_fail (request != NULL); future = bz_query_flathub_v2_json (request); g_free (request); return future; } DexFuture * bz_query_flathub_v2_json_authenticated (const char *request, const char *token) { g_autofree char *uri = NULL; dex_return_error_if_fail (request != NULL); uri = g_strdup_printf ("https://flathub.org/api/v2%s", request); return query_uri_json_with_method (uri, SOUP_METHOD_GET, token); } DexFuture * bz_query_flathub_v2_json_authenticated_post (const char *request, const char *token) { g_autofree char *uri = NULL; dex_return_error_if_fail (request != NULL); uri = g_strdup_printf ("https://flathub.org/api/v2%s", request); return query_uri_json_with_method (uri, SOUP_METHOD_POST, token); } DexFuture * bz_query_flathub_v2_json_authenticated_delete (const char *request, const char *token) { g_autofree char *uri = NULL; dex_return_error_if_fail (request != NULL); uri = g_strdup_printf ("https://flathub.org/api/v2%s", request); return query_uri_json_with_method (uri, SOUP_METHOD_DELETE, token); } DexFuture * bz_query_bazaar_json (const char *request) { g_autofree char *uri = NULL; dex_return_error_if_fail (request != NULL); uri = g_strdup_printf ("https://usebazaar.org%s", request); return query_uri_json_with_method (uri, SOUP_METHOD_GET, NULL); } static DexFuture * query_uri_json_with_method (const char *uri, const char *method, const char *token) { g_autoptr (SoupMessage) message = NULL; SoupMessageHeaders *headers = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (DexFuture) future = NULL; message = soup_message_new (method, uri); headers = soup_message_get_request_headers (message); soup_message_headers_append (headers, "User-Agent", "Bazaar"); if (token != NULL && token[0] != '\0') { g_autofree char *cookie_value = NULL; cookie_value = g_strdup_printf ("session=%s", token); soup_message_headers_append (headers, "Cookie", cookie_value); } output = g_memory_output_stream_new_resizable (); future = send (message, output, TRUE); future = dex_future_then ( future, (DexFutureCallback) query_json_source_then, g_object_ref (output), g_object_unref); return g_steal_pointer (&future); } static DexFuture * http_send_fiber (HttpRequestData *data) { static SoupSession *session = NULL; SoupMessage *message = data->message; GOutputStream *splice_into = data->splice_into; gboolean close_output = data->close_output; GOutputStreamSpliceFlags splice_flags = G_OUTPUT_STREAM_SPLICE_NONE; g_autoptr (DexPromise) promise = NULL; if (g_once_init_enter_pointer (&session)) { g_autoptr (SoupSession) session_instance = NULL; session_instance = soup_session_new (); soup_session_set_proxy_resolver (session_instance, bz_get_default_proxy_resolver ()); g_once_init_leave_pointer (&session, g_steal_pointer (&session_instance)); } splice_flags = G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE; if (close_output) splice_flags |= G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET; promise = dex_promise_new_cancellable (); soup_session_send_and_splice_async ( session, message, splice_into, splice_flags, G_PRIORITY_DEFAULT_IDLE, dex_promise_get_cancellable (promise), http_send_and_splice_finish, dex_ref (promise)); return DEX_FUTURE (g_steal_pointer (&promise)); } static void http_send_and_splice_finish (GObject *object, GAsyncResult *result, gpointer user_data) { DexPromise *promise = user_data; g_autoptr (GError) local_error = NULL; gssize bytes_written = 0; g_assert (SOUP_IS_SESSION (object)); g_assert (G_IS_ASYNC_RESULT (result)); g_assert (DEX_IS_PROMISE (promise)); bytes_written = soup_session_send_and_splice_finish (SOUP_SESSION (object), result, &local_error); if (bytes_written >= 0) { g_debug ("Spliced %zu bytes from http reply into output stream", bytes_written); dex_promise_resolve_uint64 (promise, bytes_written); } else { g_debug ("Could not splice http reply into output stream: %s", local_error->message); dex_promise_reject (promise, g_steal_pointer (&local_error)); } dex_unref (promise); } static DexFuture * query_json_source_then (DexFuture *future, GOutputStream *output_stream) { g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) bytes = NULL; gsize bytes_size = 0; gconstpointer bytes_data = NULL; g_autoptr (JsonParser) parser = NULL; gboolean result = FALSE; JsonNode *node = NULL; bytes = g_memory_output_stream_steal_as_bytes ( G_MEMORY_OUTPUT_STREAM (output_stream)); bytes_data = g_bytes_get_data (bytes, &bytes_size); if (bytes_size == 0) return dex_future_new_take_boxed (JSON_TYPE_NODE, json_node_new (JSON_NODE_NULL)); parser = json_parser_new_immutable (); result = json_parser_load_from_data (parser, bytes_data, bytes_size, &local_error); if (!result) return dex_future_new_for_error (g_steal_pointer (&local_error)); node = json_parser_get_root (parser); return dex_future_new_take_boxed (JSON_TYPE_NODE, json_node_ref (node)); } static DexFuture * send (SoupMessage *message, GOutputStream *splice_into, gboolean close_output) { g_autoptr (HttpRequestData) data = NULL; g_autoptr (DexFuture) future = NULL; data = http_request_data_new (); data->message = g_object_ref (message); data->splice_into = bz_object_maybe_ref (splice_into); data->close_output = close_output; future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) http_send_fiber, http_request_data_ref (data), http_request_data_unref); return g_steal_pointer (&future); } static DexFuture * fetch_uri_contents_then (DexFuture *future, GOutputStream *output) { return dex_future_new_take_boxed ( G_TYPE_BYTES, g_memory_output_stream_steal_as_bytes ( G_MEMORY_OUTPUT_STREAM (output))); } DexFuture * bz_fetch_uri_contents (const char *uri) { g_autoptr (SoupMessage) message = NULL; SoupMessageHeaders *headers = NULL; g_autoptr (GOutputStream) output = NULL; g_autoptr (DexFuture) future = NULL; dex_return_error_if_fail (uri != NULL); if (g_str_has_prefix (uri, "http://") || g_str_has_prefix (uri, "https://")) { message = soup_message_new (SOUP_METHOD_GET, uri); if (message == NULL) return dex_future_new_reject ( G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT, "could not construct a request for uri %s", uri); headers = soup_message_get_request_headers (message); soup_message_headers_append (headers, "User-Agent", "Bazaar"); output = g_memory_output_stream_new_resizable (); future = bz_send_with_global_http_session_then_splice_into (message, output); future = dex_future_then ( future, (DexFutureCallback) fetch_uri_contents_then, g_object_ref (output), g_object_unref); return g_steal_pointer (&future); } else { g_autoptr (GFile) file = NULL; file = g_file_new_for_uri (uri); return dex_file_load_contents_bytes (file); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/global-net.h����������������������������������������������������������0000664�0000000�0000000�00000003460�15234476640�0020255�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* global-net.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> #include <libsoup/soup.h> G_BEGIN_DECLS GProxyResolver * bz_get_default_proxy_resolver (void); DexFuture * bz_send_with_global_http_session (SoupMessage *message); DexFuture * bz_send_with_global_http_session_then_splice_into (SoupMessage *message, GOutputStream *output); DexFuture * bz_https_query_json (const char *uri); DexFuture * bz_query_flathub_v2_json (const char *request); DexFuture * bz_query_flathub_v2_json_authenticated (const char *request, const char *token); DexFuture * bz_query_flathub_v2_json_authenticated_post (const char *request, const char *token); DexFuture * bz_query_flathub_v2_json_authenticated_delete (const char *request, const char *token); DexFuture * bz_query_flathub_v2_json_take (char *request); DexFuture * bz_query_bazaar_json (const char *request); DexFuture * bz_fetch_uri_contents (const char *uri); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/hooks.c���������������������������������������������������������������0000664�0000000�0000000�00000052254�15234476640�0017354�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hooks.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::HOOKS" #include <adwaita.h> #include "env.h" #include "error.h" #include "hooks.h" #include "util.h" BZ_DEFINE_DATA ( execute_hook, ExecuteHook, { BzHook *hook; BzHookTransactionType ts_type; char *ts_appid; BzEntryGroup *group; }, BZ_RELEASE_DATA (hook, g_object_unref); BZ_RELEASE_DATA (ts_appid, g_free); BZ_RELEASE_DATA (group, g_object_unref)) BZ_DEFINE_DATA ( run_emission, RunEmission, { GListModel *hooks; BzHookSignal signal; BzHookTransactionType ts_type; char *ts_appid; BzEntryGroup *group; }, BZ_RELEASE_DATA (hooks, g_object_unref); BZ_RELEASE_DATA (ts_appid, g_free); BZ_RELEASE_DATA (group, g_object_unref)) BZ_DEFINE_DATA ( dialog, Dialog, { char *id; AdwDialog *dialog; }, BZ_RELEASE_DATA (id, g_free); BZ_RELEASE_DATA (dialog, g_object_unref)); static DexFuture * execute_hook_fiber (ExecuteHookData *data); static DexFuture * run_emission_fiber (RunEmissionData *data); DexFuture * bz_execute_hook (BzHook *hook, BzHookTransactionType ts_type, const char *ts_appid, BzEntryGroup *group) { g_autoptr (ExecuteHookData) data = NULL; dex_return_error_if_fail (BZ_IS_HOOK (hook)); data = execute_hook_data_new (); data->hook = g_object_ref (hook); data->ts_type = ts_type; data->ts_appid = bz_maybe_strdup (ts_appid); data->group = bz_object_maybe_ref (group); return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) execute_hook_fiber, execute_hook_data_ref (data), execute_hook_data_unref); } DexFuture * bz_run_hook_emission (GListModel *hooks, BzHookSignal signal, BzHookTransactionType ts_type, const char *ts_appid, BzEntryGroup *group) { g_autoptr (RunEmissionData) data = NULL; dex_return_error_if_fail (G_IS_LIST_MODEL (hooks)); data = run_emission_data_new (); data->hooks = g_object_ref (hooks); data->signal = signal; data->ts_type = ts_type; data->ts_appid = bz_maybe_strdup (ts_appid); data->group = bz_object_maybe_ref (group); return dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) run_emission_fiber, execute_hook_data_ref (data), execute_hook_data_unref); } static DexFuture * execute_hook_fiber (ExecuteHookData *data) { BzHook *hook = data->hook; BzHookTransactionType ts_type = data->ts_type; char *ts_appid = data->ts_appid; BzEntryGroup *group = data->group; BzHookSignal signal = 0; g_autoptr (GEnumClass) signal_enum_class = NULL; g_autoptr (GEnumClass) ts_type_enum_class = NULL; GEnumValue *signal_enum = NULL; GEnumValue *ts_type_enum = NULL; g_autoptr (GDateTime) date = NULL; g_autofree char *timestamp_sec = NULL; g_autofree char *timestamp_usec = NULL; const char *id = NULL; const char *shell = NULL; g_autoptr (GPtrArray) dialogs = NULL; g_autoptr (DialogData) current_dialog = NULL; gboolean hook_aborted = FALSE; gboolean finish = FALSE; signal = bz_hook_get_when (hook); switch (signal) { case BZ_HOOK_SIGNAL_BEFORE_TRANSACTION: case BZ_HOOK_SIGNAL_AFTER_TRANSACTION: dex_return_error_if_fail (ts_appid != NULL); break; case BZ_HOOK_SIGNAL_VIEW_APP: case BZ_HOOK_SIGNAL_ARTICLE_APP: default: dex_return_error_if_fail (BZ_IS_ENTRY_GROUP (group)); break; } signal_enum_class = g_type_class_ref (BZ_TYPE_HOOK_SIGNAL); ts_type_enum_class = g_type_class_ref (BZ_TYPE_HOOK_TRANSACTION_TYPE); signal_enum = g_enum_get_value (signal_enum_class, signal); ts_type_enum = g_enum_get_value (ts_type_enum_class, ts_type); date = g_date_time_new_now_utc (); timestamp_sec = g_strdup_printf ("%zu", g_date_time_to_unix (date)); timestamp_usec = g_strdup_printf ("%zu", g_date_time_to_unix_usec (date)); id = bz_hook_get_id (hook); shell = bz_hook_get_shell (hook); if (shell == NULL) { g_warning ("Main Config: hook definition must have shell code, skipping this hook"); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } dialogs = g_ptr_array_new_with_free_func (dialog_data_unref); if (bz_hook_get_dialogs (hook) != NULL) { GListModel *config_dialogs = NULL; guint n_dialogs = 0; config_dialogs = bz_hook_get_dialogs (hook); n_dialogs = g_list_model_get_n_items (config_dialogs); for (guint i = 0; i < n_dialogs; i++) { g_autoptr (BzHookDialog) config_dialog = NULL; const char *dialog_id = NULL; const char *dialog_title = NULL; const char *dialog_body = NULL; gboolean dialog_body_use_markup = FALSE; const char *dialog_default_response = NULL; g_autoptr (AdwDialog) dialog = NULL; guint n_opts = 0; g_autoptr (DialogData) dialog_data = NULL; config_dialog = g_list_model_get_item (config_dialogs, i); dialog_id = bz_hook_dialog_get_id (config_dialog); dialog_title = bz_hook_dialog_get_title (config_dialog); dialog_body = bz_hook_dialog_get_body (config_dialog); dialog_body_use_markup = bz_hook_dialog_get_body_use_markup (config_dialog); dialog_default_response = bz_hook_dialog_get_default_response_id (config_dialog); if (dialog_title == NULL || dialog_body == NULL) { g_warning ("Main Config: dialog definition must have a title and body, skipping this hook"); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } if (dialog_default_response == NULL) { g_warning ("Main Config: dialog definition must have a default response, skipping this hook"); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } dialog = g_object_ref_sink (adw_alert_dialog_new (dialog_title, dialog_body)); if (bz_hook_dialog_get_options (config_dialog) != NULL) { GListModel *config_opts = NULL; guint n_options = 0; config_opts = bz_hook_dialog_get_options (config_dialog); n_options = g_list_model_get_n_items (config_opts); for (guint j = 0; j < n_options; j++) { g_autoptr (BzHookDialogOption) config_opt = NULL; const char *opt_id = NULL; const char *opt_string = NULL; const char *opt_style = NULL; config_opt = g_list_model_get_item (config_opts, j); opt_id = bz_hook_dialog_option_get_id (config_opt); if (opt_id == NULL) { g_warning ("Main Config: dialog option definition must have an id, skipping this hook"); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } opt_string = bz_hook_dialog_option_get_string (config_opt); if (opt_string == NULL) { g_warning ("Main Config: dialog option definition must have a string, skipping this hook"); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } opt_style = bz_hook_dialog_option_get_style (config_opt); adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), opt_id, opt_string); if (opt_style != NULL) { AdwResponseAppearance appearance = ADW_RESPONSE_DEFAULT; if (g_strcmp0 (opt_style, "suggested") == 0) appearance = ADW_RESPONSE_SUGGESTED; else if (g_strcmp0 (opt_style, "destructive") == 0) appearance = ADW_RESPONSE_DESTRUCTIVE; else g_warning ("Main Config: dialog option definition appearance can be " "\"suggested\" or \"destructive\". \"%s\" is invalid.", opt_style); adw_alert_dialog_set_response_appearance ( ADW_ALERT_DIALOG (dialog), opt_id, appearance); } n_opts++; } } if (n_opts == 0) { g_warning ("Main Config: dialog definition must have options, skipping this hook"); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } adw_alert_dialog_set_body_use_markup ( ADW_ALERT_DIALOG (dialog), dialog_body_use_markup); adw_alert_dialog_set_default_response ( ADW_ALERT_DIALOG (dialog), dialog_default_response); dialog_data = dialog_data_new (); dialog_data->id = dialog_id != NULL ? g_strdup (dialog_id) : NULL; dialog_data->dialog = g_steal_pointer (&dialog); g_ptr_array_add (dialogs, g_steal_pointer (&dialog_data)); } } for (guint stage = 0;; stage++) { g_autoptr (GError) local_error = NULL; g_autoptr (GSubprocessLauncher) launcher = NULL; g_autofree char *stage_str = NULL; const char *hook_stage = NULL; g_autoptr (GSubprocess) subprocess = NULL; gboolean result = FALSE; GInputStream *stdout_pipe = NULL; g_autoptr (GBytes) stdout_bytes = NULL; gsize stdout_size = 0; gconstpointer stdout_data = NULL; g_autofree char *stdout_str = NULL; char *stdout_newline = NULL; launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE); g_subprocess_launcher_set_cwd (launcher, g_get_home_dir ()); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_INITIATED_UNIX_STAMP", timestamp_sec, TRUE); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_INITIATED_UNIX_STAMP_USEC", timestamp_usec, TRUE); stage_str = g_strdup_printf ("%d", stage); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_STAGE_IDX", stage_str, TRUE); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_ID", id, TRUE); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_TYPE", signal_enum->value_nick, TRUE); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_WAS_ABORTED", hook_aborted ? "true" : "false", TRUE); switch (signal) { case BZ_HOOK_SIGNAL_BEFORE_TRANSACTION: case BZ_HOOK_SIGNAL_AFTER_TRANSACTION: g_subprocess_launcher_setenv (launcher, "BAZAAR_TS_APPID", ts_appid, TRUE); g_subprocess_launcher_setenv (launcher, "BAZAAR_TS_TYPE", ts_type_enum->value_nick, TRUE); break; case BZ_HOOK_SIGNAL_VIEW_APP: case BZ_HOOK_SIGNAL_ARTICLE_APP: default: g_subprocess_launcher_setenv (launcher, "BAZAAR_APPID", bz_entry_group_get_id (group), TRUE); break; } if (finish) hook_stage = "teardown"; else if (hook_aborted) hook_stage = "catch"; else if (stage == 0) hook_stage = "setup"; else if (current_dialog != NULL) { GApplication *application = NULL; GtkWindow *window = NULL; g_autofree char *response = NULL; hook_stage = "teardown-dialog"; application = g_application_get_default (); window = gtk_application_get_active_window (GTK_APPLICATION (application)); if (window != NULL) { adw_dialog_present (current_dialog->dialog, GTK_WIDGET (window)); response = dex_await_string ( bz_make_alert_dialog_future (ADW_ALERT_DIALOG (current_dialog->dialog)), &local_error); if (response == NULL) g_warning ("Failed to resolve response from dialog " "\"%s\", assuming default response \"%s\": %s", current_dialog->id, adw_alert_dialog_get_default_response ( ADW_ALERT_DIALOG (current_dialog->dialog)), local_error->message); g_clear_pointer (&local_error, g_error_free); } else g_warning ("A window was not available to present dialog " "\"%s\" on, assuming default response \"%s\"", current_dialog->id, adw_alert_dialog_get_default_response ( ADW_ALERT_DIALOG (current_dialog->dialog))); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_DIALOG_ID", current_dialog->id, TRUE); g_subprocess_launcher_setenv ( launcher, "BAZAAR_HOOK_DIALOG_RESPONSE_ID", response != NULL ? response : adw_alert_dialog_get_default_response ( ADW_ALERT_DIALOG (current_dialog->dialog)), TRUE); g_clear_pointer (¤t_dialog, dialog_data_unref); } else if (dialogs->len > 0) { hook_stage = "setup-dialog"; current_dialog = g_ptr_array_steal_index (dialogs, 0); g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_DIALOG_ID", current_dialog->id, TRUE); } else hook_stage = "action"; g_subprocess_launcher_setenv (launcher, "BAZAAR_HOOK_STAGE", hook_stage, TRUE); subprocess = g_subprocess_launcher_spawn ( launcher, &local_error, "/bin/sh", "-c", shell, NULL); if (subprocess == NULL) { g_warning ("Hook failed to spawn, abandoning it now: %s", local_error->message); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } result = dex_await ( dex_subprocess_wait_check (subprocess), &local_error); if (!result) { g_warning ("Hook failed to exit cleanly, abandoning it now: %s", local_error->message); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } stdout_pipe = g_subprocess_get_stdout_pipe (subprocess); stdout_bytes = g_input_stream_read_bytes (stdout_pipe, 1024, NULL, &local_error); if (!stdout_bytes) { g_warning ("Failed to read stdout pipe of hook, abandoning it now: %s", local_error->message); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } stdout_data = g_bytes_get_data (stdout_bytes, &stdout_size); stdout_str = g_malloc (stdout_size + 1); memcpy (stdout_str, stdout_data, stdout_size); stdout_str[stdout_size] = '\0'; stdout_newline = strchr (stdout_str, '\n'); if (stdout_newline != NULL) *stdout_newline = '\0'; if (g_strcmp0 (hook_stage, "setup") == 0) { if (g_strcmp0 (stdout_str, "ok") == 0) continue; else if (g_strcmp0 (stdout_str, "pass") == 0) return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } else if (g_strcmp0 (hook_stage, "setup-dialog") == 0) { if (g_strcmp0 (stdout_str, "ok") == 0) continue; else if (g_strcmp0 (stdout_str, "pass") == 0) { g_clear_pointer (¤t_dialog, dialog_data_unref); continue; } } else if (g_strcmp0 (hook_stage, "teardown-dialog") == 0) { if (g_strcmp0 (stdout_str, "ok") == 0) continue; else if (g_strcmp0 (stdout_str, "abort") == 0) { hook_aborted = TRUE; continue; } } else if (g_strcmp0 (hook_stage, "catch") == 0) { if (g_strcmp0 (stdout_str, "recover") == 0) { hook_aborted = FALSE; continue; } else if (g_strcmp0 (stdout_str, "abort") == 0) { finish = TRUE; continue; } } else if (g_strcmp0 (hook_stage, "action") == 0) { finish = TRUE; continue; } else if (g_strcmp0 (hook_stage, "teardown") == 0) { if (g_strcmp0 (stdout_str, "continue") == 0) return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); else if (g_strcmp0 (stdout_str, "stop") == 0) return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_STOP); else if (g_strcmp0 (stdout_str, "confirm") == 0) return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONFIRM); else if (g_strcmp0 (stdout_str, "deny") == 0) return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_DENY); } else g_assert_not_reached (); g_warning ("Received invalid response from hook for stage \"%s\", abandoning it now", hook_stage); return dex_future_new_for_int (BZ_HOOK_RETURN_STATUS_CONTINUE); } } static DexFuture * run_emission_fiber (RunEmissionData *data) { GListModel *hooks = data->hooks; BzHookSignal signal = data->signal; BzHookTransactionType ts_type = data->ts_type; char *ts_appid = data->ts_appid; BzEntryGroup *group = data->group; guint n_hooks = 0; n_hooks = g_list_model_get_n_items (hooks); for (guint i = 0; i < n_hooks; i++) { g_autoptr (BzHook) hook = NULL; BzHookSignal when = 0; hook = g_list_model_get_item (hooks, i); when = bz_hook_get_when (hook); if (when == signal) { const char *check_appid_regex = NULL; BzHookReturnStatus hook_result = BZ_HOOK_RETURN_STATUS_CONTINUE; check_appid_regex = bz_hook_get_check_appid_regex (hook); if (check_appid_regex != NULL) { GRegex *regex = NULL; regex = g_object_get_data (G_OBJECT (hook), "check-appid-regex"); if (regex == NULL) { g_autoptr (GError) local_error = NULL; regex = g_regex_new ( check_appid_regex, G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &local_error); if (regex != NULL) g_object_set_data_full ( G_OBJECT (hook), "check-appid-regex", regex, (GDestroyNotify) g_regex_unref); else g_warning ("Hook check-appid-regex property '%s' " "is an invalid regex string: %s", check_appid_regex, local_error->message); } if (regex != NULL && !g_regex_match (regex, ts_appid, G_REGEX_MATCH_DEFAULT, NULL)) continue; } hook_result = dex_await_int ( bz_execute_hook (hook, ts_type, ts_appid, group), NULL); if (hook_result == BZ_HOOK_RETURN_STATUS_CONFIRM || hook_result == BZ_HOOK_RETURN_STATUS_STOP) break; else if (hook_result == BZ_HOOK_RETURN_STATUS_DENY) return dex_future_new_reject ( G_IO_ERROR, G_IO_ERROR_UNKNOWN, "Prevented by a configured hook"); } } return dex_future_new_true (); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/hooks.h���������������������������������������������������������������0000664�0000000�0000000�00000002435�15234476640�0017355�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hooks.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-entry-group.h" #include "bz-hook.h" G_BEGIN_DECLS DexFuture * bz_execute_hook (BzHook *hook, BzHookTransactionType ts_type, const char *ts_appid, BzEntryGroup *group); DexFuture * bz_run_hook_emission (GListModel *hooks, BzHookSignal signal, BzHookTransactionType ts_type, const char *ts_appid, BzEntryGroup *group); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/����������������������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0017170�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Adwaita.svg����������������������������0000664�0000000�0000000�00000000562�15234476640�0026031�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path opacity="0.95" d="M6.3999 54.0696H73.9319V121.602L6.3999 54.0696Z" fill="white"/> <path opacity="0.75" d="M121.6 6.40015H73.9304V54.0697L121.6 6.40015Z" fill="white"/> <path opacity="0.4" d="M73.9304 54.0696H109.683V89.8218L73.9304 54.0696Z" fill="white"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Audiovideo.svg�������������������������0000664�0000000�0000000�00000035210�15234476640�0026545�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="128" height="128" viewBox="0 0 128 128" fill="none" version="1.1" id="svg15" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs15"> <linearGradient id="linearGradient38"> <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop38" /> <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop39" /> </linearGradient> <linearGradient id="linearGradient36"> <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop36" /> <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop37" /> </linearGradient> <linearGradient xlink:href="#linearGradient1059" id="linearGradient1063" x1="32" y1="284" x2="32" y2="220" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.82142825,0,0,0.82142825,5.4285929,-147.28564)" /> <linearGradient id="linearGradient1059"> <stop style="stop-color:#a347ba;stop-opacity:1" offset="0" id="stop1055" /> <stop style="stop-color:#613583;stop-opacity:1" offset="1" id="stop1057" /> </linearGradient> <clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"> <path id="path27" style="opacity:1;vector-effect:none;fill:#e4e6e8;stroke-width:6;marker:none;marker-start:none;marker-mid:none;marker-end:none" d="M 14.914341,-9.8323163 94.588644,36.167663 98.616437,29.191321 18.942134,-16.808658 Z" /> </clipPath> <clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"> <path style="opacity:1;vector-effect:none;fill:#e4e6e8;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" d="M -1.0856586,17.880497 78.588644,63.880475 82.616438,56.904132 9.8703354,14.904152 C 6.4944689,12.955094 0.81469089,14.588995 -1.0856586,17.880497 Z" id="path28" /> </clipPath> <radialGradient xlink:href="#linearGradient36" id="radialGradient37" cx="48.571297" cy="88.666283" fx="48.571297" fy="88.666283" r="12" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.7504071,4.5430831e-7,-1.7666665e-7,1.5008635,-36.019525,-44.07601)" /> <radialGradient xlink:href="#linearGradient36" id="radialGradient38" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.7504071,4.5430831e-7,-1.7666665e-7,1.5008635,11.980475,-43.07601)" cx="48.571297" cy="88.666283" fx="48.571297" fy="88.666283" r="12" /> <radialGradient xlink:href="#linearGradient38" id="radialGradient39" cx="67" cy="46.26923" fx="67" fy="46.26923" r="22" gradientTransform="matrix(1.5447005,-0.04827177,0.04545443,1.4545454,-38.598082,-16.066489)" gradientUnits="userSpaceOnUse" /> <radialGradient xlink:href="#linearGradient38" id="radialGradient40" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.5447005,-0.04827177,0.04545443,1.4545454,9.401918,-16.066489)" cx="67" cy="46.26923" fx="67" fy="46.26923" r="22" /> </defs> <mask id="mask0_63_353" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="52" y="54" width="24" height="13"> <path d="M52.4287 54.9282H75.5716V66.4997H52.4287V54.9282Z" fill="white" id="path14" /> </mask> <rect style="display:inline;vector-effect:none;fill:#422863;fill-opacity:1;stroke:none;stroke-width:6.50655;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" id="rect1092" width="91.999962" height="66.057907" x="12.000038" y="22" rx="8" ry="8" /> <rect ry="7.9999995" rx="7.9999995" y="18.618126" x="12.000019" height="67.381874" width="91.999962" id="rect1094" style="display:inline;vector-effect:none;fill:url(#linearGradient1063);fill-opacity:1;stroke:none;stroke-width:6.57143;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" /> <path style="opacity:1;vector-effect:none;fill:#e4e6e8;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" d="M 12.000042,24.085705 H 104 V 16.030118 H 20.000039 c -3.898115,0 -7.999997,4.254888 -7.999997,8.055587 z" id="path26" /> <path id="rect995" clip-path="url(#clipPath28)" style="display:inline;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" d="m 17.100294,-5.5599844 -11.3526797,-6.446e-4 -2.05e-4,33.941762 11.3536557,-10e-4 z M 38.750929,6.9400153 27.39825,6.9393706 l -2.05e-4,33.9417624 11.353656,-10e-4 z m 21.650635,12.4999997 -11.352679,-6.45e-4 -2.05e-4,33.941763 11.353656,-10e-4 z m 21.650636,12.5 -11.35268,-6.45e-4 -2.05e-4,33.941762 11.353656,-10e-4 z" transform="rotate(-29.999999,17.036268,-3.4351499)" /> <path id="rect20" style="opacity:1;vector-effect:none;fill:#e4e6e8;stroke-width:6;marker:none;marker-start:none;marker-mid:none;marker-end:none" d="M 12.000042,24.030117 H 104 v 8.055586 H 12.000042 Z" /> <path id="rect1009" clip-path="url(#clipPath27)" style="display:inline;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" d="m 21.747409,0.66832025 2.05e-4,-33.94176225 11.352679,6.45e-4 7.72e-4,33.94007053 z M 43.398044,13.16832 l 2.05e-4,-33.941762 11.35268,6.44e-4 7.71e-4,33.940071 z m 21.650635,12.5 2.05e-4,-33.9417626 11.35268,6.447e-4 7.71e-4,33.9400709 z m 21.650636,12.499999 2.05e-4,-33.9417619 11.352679,6.448e-4 7.72e-4,33.9400711 z" transform="matrix(0.86602541,0.49999999,0.49999999,-0.86602541,4.0000019,8.057911)" /> <path style="display:inline;fill:#c0bfbc;fill-opacity:1;stroke:none;stroke-width:0.333333px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 12.000019,21.282961 c 0,-2.66797 2.74463,-5.33333 5.33333,-5.33333 0,0 10.66666,10.58931 10.66666,10.66666 v 5.33334 h -15.99999 z" id="path1021" clip-path="none" /> <path id="rect1033" clip-path="none" style="display:inline;vector-effect:none;fill:#77767b;stroke-width:0.25;stroke-linecap:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:new" d="M 12.000037,32.030121 H 104 V 34.03012 H 12.000037 Z" /> <path id="path1037" d="m 103.36418,32.030121 -1.01647,1.99999 H 89.000011 l 1.271169,-1.99999 z" style="display:inline;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" clip-path="none" /> <path style="display:inline;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 78.243004,32.030121 -1.016467,1.99999 H 63.878835 l 1.27117,-1.99999 z" id="path1039" clip-path="none" /> <path id="path1041" d="m 53.243011,32.030121 -1.016467,1.99999 H 38.878841 l 1.27117,-1.99999 z" style="display:inline;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" clip-path="none" /> <path style="display:inline;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 28.381248,32.030121 -1.01646,1.99999 h -13.34771 l 1.27117,-1.99999 z" id="path1043" clip-path="none" /> <path id="path1023" style="display:inline;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;opacity:0.4" d="M 40 42.029297 L 40 54.029297 L 26 54.029297 C 24.98258 54.029297 24 54.920907 24 56.029297 L 92 56.029297 C 92 54.964957 91.06158 54.029297 90 54.029297 L 76 54.029297 L 76 42.029297 L 74 42.029297 L 74 54.029297 L 42 54.029297 L 42 42.029297 L 40 42.029297 z M 24 72.029297 C 24 72.998547 25.01451 74.029297 26 74.029297 L 90 74.029297 C 91.08713 74.029297 92 73.083427 92 72.029297 L 24 72.029297 z " /> <g id="g34" style="fill:#e57a0a;fill-opacity:1"> <path style="display:inline;vector-effect:none;fill:#e57a0a;fill-opacity:1;stroke:none;stroke-width:6.51673;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" d="m 1240.4664,784.33261 v 206.06818 l 64.8001,21.60001 -0.2282,-219.94711 a 40.011985,40.011985 134.97024 0 1 40.0119,-40.05351 l 115.4424,-1.3e-4 a 39.396045,39.396045 44.999966 0 1 39.3961,39.39604 V 948.57422 L 1563.6777,1008 1564,1012.0008 V 783.65921 a 95.658583,95.658583 45.00005 0 0 -95.6584,-95.65858 l -131.5428,-2.3e-4 a 96.332214,96.332214 135.00005 0 0 -96.3324,96.33221 z" transform="matrix(0.18518484,0,0,0.18518484,-169.71557,-85.407212)" id="path32" /> <circle style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#e57a0a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.27351;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;stop-color:#000000" id="circle32" cx="54" cy="100" r="18" /> <circle style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#e57a0a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.27351;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;stop-color:#000000" id="circle33" cx="102" cy="100" r="18" /> </g> <g id="g40" style="fill:#f5c211"> <path style="display:inline;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:6.51673;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" d="m 1240.4664,784.33261 v 206.06818 l 64.8001,21.60001 -0.2282,-219.94711 a 40.011985,40.011985 134.97024 0 1 40.0119,-40.05351 l 115.4424,-1.3e-4 a 39.396045,39.396045 44.999966 0 1 39.3961,39.39604 V 948.57422 L 1563.6777,1008 1564,1012.0008 V 783.65921 a 95.658583,95.658583 45.00005 0 0 -95.6584,-95.65858 l -131.5428,-2.3e-4 a 96.332214,96.332214 135.00005 0 0 -96.3324,96.33221 z" transform="matrix(0.18518484,0,0,0.18518484,-169.71557,-87.407212)" id="path18891" /> <circle style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#f5c211;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.27351;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;stop-color:#000000" id="circle5315" cx="54" cy="98" r="18" /> <circle style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#f5c211;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.27351;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;stop-color:#000000" id="circle28" cx="102" cy="98" r="18" /> </g> <circle style="font-variation-settings:normal;display:inline;vector-effect:none;fill:url(#radialGradient37);fill-rule:evenodd;stroke:none;stroke-width:0.849007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;stop-color:#000000;opacity:0.5" id="circle29" cx="52" cy="94" r="12" /> <circle style="font-variation-settings:normal;display:inline;vector-effect:none;fill:url(#radialGradient38);fill-rule:evenodd;stroke:none;stroke-width:0.849007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new;stop-color:#000000;opacity:0.5" id="circle37" cx="100" cy="95" r="12" /> <path style="opacity:0.4;fill:none;stroke:url(#radialGradient39);stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none" d="M 104,44 H 79 c 0,0 -14.823223,-0.242641 -15,16 v 19" id="path38" /> <path style="opacity:0.4;fill:none;stroke:url(#radialGradient40);stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none" d="M 112,58 V 79" id="path39" /> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Create.svg�����������������������������0000664�0000000�0000000�00000014534�15234476640�0025666�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <linearGradient id="a" gradientTransform="matrix(0.25 0 0 0.244048 -0.499619 50.195877)" gradientUnits="userSpaceOnUse" x1="48" x2="464" y1="44" y2="44"> <stop offset="0" stop-color="#babdb6"/> <stop offset="0.0416667" stop-color="#f6f5f4"/> <stop offset="0.0833333" stop-color="#d5d3cf"/> <stop offset="0.916667" stop-color="#deddda"/> <stop offset="0.958333" stop-color="#f6f5f4"/> <stop offset="1" stop-color="#babdb6"/> </linearGradient> <linearGradient id="b" gradientTransform="matrix(-0.471598 0 0 0.471598 569.325439 -130.366928)" gradientUnits="userSpaceOnUse" x1="953.275024" x2="944.207458" y1="350.855988" y2="359.923553"> <stop offset="0" stop-color="#e9b96e"/> <stop offset="1" stop-color="#dc9321"/> </linearGradient> <linearGradient id="c" gradientTransform="matrix(-0.358336 0 0 0.358336 230.872086 1.097)" gradientUnits="userSpaceOnUse" x1="418.838409" x2="433.349823" y1="227" y2="212.868271"> <stop offset="0" stop-color="#9a9996"/> <stop offset="0.415508" stop-color="#c0bfbc"/> <stop offset="1" stop-color="#deddda"/> </linearGradient> <radialGradient id="d" cx="450.948059" cy="225.394623" gradientTransform="matrix(-0.658592 0 0 0.658592 370.111938 -72.351868)" gradientUnits="userSpaceOnUse" r="39.999989"> <stop offset="0" stop-color="#5b5b5b"/> <stop offset="0.634455" stop-color="#262e39"/> <stop offset="1" stop-color="#113f78"/> </radialGradient> <filter id="e" height="100%" width="100%" x="0%" y="0%"> <feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/> </filter> <mask id="f"> <g filter="url(#e)"> <rect fill-opacity="0.3" height="128" width="128"/> </g> </mask> <clipPath id="g"> <rect height="152" width="192"/> </clipPath> <linearGradient id="h" gradientUnits="userSpaceOnUse" x1="19.25" x2="54.820038" y1="55.999985" y2="91.570023"> <stop offset="0" stop-color="#dc8add"/> <stop offset="1" stop-color="#103c72"/> </linearGradient> <radialGradient id="i" cx="67.502945" cy="244.504639" gradientTransform="matrix(1.001091 -0.00000013 0.00000014 0.81247 -0.576645 -108.652573)" gradientUnits="userSpaceOnUse" r="11.077337"> <stop offset="0" stop-color="#113f78" stop-opacity="0"/> <stop offset="0.786035" stop-color="#113f78" stop-opacity="0.105882"/> <stop offset="1" stop-color="#103c72"/> </radialGradient> <mask id="j"> <g filter="url(#e)"> <rect fill-opacity="0.2" height="128" width="128"/> </g> </mask> <clipPath id="k"> <rect height="152" width="192"/> </clipPath> <path d="m 24 123 v 1 h 16 v -1 z m 64 0 v 1 h 16 v -1 z m 0 0" fill="#9a9996"/> <path d="m 88 124 v -4 l -24 -96 v 4 z" fill="#77767b" fill-rule="evenodd"/> <path d="m 40 124 v -4 l 24 -96 v 4 z" fill="#77767b" fill-rule="evenodd"/> <path d="m 64 4 c -2.90625 0.003906 -5.417969 2.027344 -6.039062 4.867188 l -0.003907 -0.003907 l -33.957031 114.136719 h 16 l 24 -101 l 24 101 h 16 l -33.992188 -114.285156 l -0.007812 0.011718 c -0.671875 -2.773437 -3.148438 -4.722656 -6 -4.726562 z m 0 5 c 1.65625 0 3 1.34375 3 3 s -1.34375 3 -3 3 s -3 -1.34375 -3 -3 s 1.34375 -3 3 -3 z m 0 0" fill="#c0bfbc"/> <path d="m 20 30 h 88 c 4.417969 0 8 3.582031 8 8 v 66 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -66 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/> <path d="m 20 20 h 88 c 4.417969 0 8 3.582031 8 8 v 72 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -72 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#f6f5f4"/> <path d="m 128 36 l -48.90625 48.910156 c -2.199219 2.285156 -5.84375 2.324219 -8.085938 0.082032 c -2.242187 -2.242188 -2.203124 -5.886719 0.082032 -8.085938 l 41.132812 -41.132812 c 4.898438 -4.203126 11.777344 -3.773438 15.777344 0.226562 z m 0 0" fill="url(#b)"/> <path d="m 90.683594 59.585938 c 5.148437 0.003906 7.6875 6.257812 3.996094 9.847656 l -19.066407 21.058594 c -2.785156 2.828124 -7.339843 2.847656 -10.144531 0.039062 c -2.804688 -2.804688 -2.785156 -7.359375 0.042969 -10.140625 l 21.058593 -19.066406 c 1.078126 -1.113281 2.5625 -1.738281 4.113282 -1.738281 z m 0 0" fill="url(#c)"/> <path d="m 72 68 c 8.835938 0 16 7.164062 16 16 s -7.164062 16 -16 16 h -16 v -16 c 0 -8.835938 7.164062 -16 16 -16 z m 0 0" fill="url(#d)"/> <g clip-path="url(#g)" mask="url(#f)" transform="matrix(1 0 0 1 -8 -16)"> <path d="m 72.003906 95 c 0 -1.65625 1.339844 -2.996094 2.996094 -2.996094 s 2.996094 1.339844 2.996094 2.996094 s -1.339844 2.996094 -2.996094 2.996094 s -2.996094 -1.339844 -2.996094 -2.996094 z m 0 0" fill="#ffffff"/> </g> <path d="m 12 39.867188 v 24 c 2.003906 -1.125 4.425781 -1.488282 6.671875 -1.003907 s 4.304687 1.8125 5.667969 3.664063 c 1.761718 2.390625 2.3125 5.460937 2.457031 8.429687 c 0.144531 2.964844 -0.066406 5.957031 0.394531 8.894531 c 0.628906 3.996094 2.539063 7.792969 5.410156 10.648438 c 2.867188 2.855469 6.6875 4.753906 10.703126 5.269531 c 2.609374 0.335938 5.253906 0.203125 7.886718 0.210938 l 4.808594 0.019531 c 0 -0.441406 0 -0.886719 0 -1.328125 c 0 -0.222656 0 -0.449219 0 -0.671875 c -2.035156 -0.476562 -4.085938 -0.863281 -6.15625 -1.160156 c -1.339844 -0.191406 -2.695312 -0.34375 -3.996094 -0.734375 c -1.300781 -0.386719 -2.5625 -1.023438 -3.460937 -2.039063 c -0.757813 -0.855468 -1.226563 -1.941406 -1.429688 -3.066406 c -0.207031 -1.121094 -0.152343 -2.28125 0.046875 -3.402344 c 0.40625 -2.246094 1.390625 -4.339844 2.132813 -6.5 c 2.398437 -6.988281 2.167969 -14.796875 -0.375 -21.730468 c -2.804688 -7.644532 -8.546875 -14.3125 -16.011719 -17.5625 c -4.605469 -2.007813 -9.78125 -2.6875 -14.75 -1.9375 z m 0 0" fill="url(#h)"/> <path d="m 46.90625 96.375 l 4.285156 3.605469 l 18.808594 0.019531 l -2 -3 c -3.144531 -4.714844 -9.132812 -9 -12 -9 c 0 6 -5.5625 9.097656 -9.09375 8.375 z m 0 0" fill="url(#i)"/> <g clip-path="url(#k)" mask="url(#j)" transform="matrix(1 0 0 1 -8 -16)"> <path d="m 35 128 l -0.621094 2 h 16.054688 l 0.523437 -1.972656 z m 57.988281 0 l 0.5 2 h 16.132813 l -0.621094 -2 z m 0 0"/> </g> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Develop.svg����������������������������0000664�0000000�0000000�00000005362�15234476640�0026060�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="12" x2="116" y1="64" y2="64"> <stop offset="0" stop-color="#77767b"/> <stop offset="0.05" stop-color="#c0bfbc"/> <stop offset="0.1" stop-color="#9a9996"/> <stop offset="0.899999" stop-color="#9a9996"/> <stop offset="0.95" stop-color="#c0bfbc"/> <stop offset="1" stop-color="#77767b"/> </linearGradient> <filter id="b" height="100%" width="100%" x="0%" y="0%"> <feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/> </filter> <mask id="c"> <g filter="url(#b)"> <rect fill-opacity="0.05" height="128" width="128"/> </g> </mask> <radialGradient id="d" cx="63.999996" cy="194.190475" gradientTransform="matrix(4.727273 -0.00000079 0.0000003 1.636364 -230.545471 -205.766182)" gradientUnits="userSpaceOnUse" r="44"> <stop offset="0" stop-color="#ffffff"/> <stop offset="1" stop-color="#ffffff" stop-opacity="0.094118"/> </radialGradient> <clipPath id="e"> <rect height="152" width="192"/> </clipPath> <path d="m 20 22 h 88 c 4.417969 0 8 3.582031 8 8 v 78 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -78 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/> <path d="m 20 12 h 88 c 4.417969 0 8 3.582031 8 8 v 80 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -80 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#deddda"/> <path d="m 20 104 h 88 c 2.210938 0 4 -1.789062 4 -4 v -80 c 0 -2.210938 -1.789062 -4 -4 -4 h -88 c -2.210938 0 -4 1.789062 -4 4 v 80 c 0 2.210938 1.789062 4 4 4 z m 0 0" fill="#241f31"/> <g clip-path="url(#e)" mask="url(#c)" transform="matrix(1 0 0 1 -8 -16)"> <path d="m 116 116 h -88 v -78 h 88 z m 0 0" fill="url(#d)"/> </g> <path d="m 24 28 h 28 v 4 h -28 z m 0 0" fill="#ff7800"/> <path d="m 24 36 h 16 v 4 h -16 z m 0 0" fill="#deddda"/> <path d="m 32 44 h 42 v 4 h -42 z m 0 0" fill="#3584e4"/> <path d="m 32 52 h 22 v 4 h -22 z m 0 0" fill="#deddda"/> <path d="m 40 60 h 36 v 4 h -36 z m 0 0" fill="#deddda"/> <path d="m 40 68 h 20 v 4 h -20 z m 0 0" fill="#8ff0a4"/> <path d="m 48 76 h 24 v 4 h -24 z m 0 0" fill="#ff7800"/> <path d="m 24 84 h 32 v 4 h -32 z m 0 0" fill="#deddda"/> <path d="m 24 92 h 18 v 4 h -18 z m 0 0" fill="#3584e4"/> <path d="m 32 76 h 14 v 4 h -14 z m 0 0" fill="#8ff0a4"/> <path d="m 62 68 h 20 v 4 h -20 z m 0 0" fill="#deddda"/> <path d="m 78 60 h 18 v 4 h -18 z m 0 0" fill="#3584e4"/> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Kde.svg��������������������������������0000664�0000000�0000000�00000003064�15234476640�0025162�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M72.9494 7.34277L53.962 9.16041V87.3425L72.7483 84.5142V51.1804L98.0007 88.1522L117.798 81.8883L91.9393 46.3319L118 12.7957L97.7996 8.15112L72.7483 41.686L72.9494 7.34277ZM29.9097 26.3951C29.6953 26.4171 29.4882 26.512 29.3272 26.674L21.875 34.1249C21.5616 34.4391 21.5026 34.9263 21.7336 35.3068L30.4586 49.6767C28.9111 52.2783 27.6708 55.0833 26.7844 58.0423L10.7667 61.374C10.3211 61.4662 10 61.8612 10 62.3185V72.8558C10 73.3015 10.3049 73.6875 10.7343 73.7913L26.281 77.5913C27.11 81.0184 28.3947 84.2671 30.0927 87.2531L21.094 100.976C20.8429 101.359 20.8954 101.864 21.2197 102.187L28.6694 109.638C28.9827 109.951 29.4718 110.012 29.8539 109.782L43.9552 101.218C46.7252 102.816 49.7124 104.074 52.8696 104.927L56.1598 120.746C56.2524 121.195 56.6486 121.513 57.103 121.513H67.6418C68.0848 121.513 68.4714 121.211 68.5772 120.776L72.4525 104.925C75.707 104.046 78.785 102.737 81.6224 101.066L95.5188 110.178C95.9009 110.429 96.4062 110.379 96.7306 110.055L104.183 102.604C104.498 102.289 104.554 101.801 104.323 101.422L99.25 93.0615L97.6088 93.5804C97.3696 93.6559 97.1087 93.5672 96.9679 93.3585C96.9679 93.3585 93.7323 88.6217 89.5533 82.5058C84.5577 92.2829 74.394 98.98 62.6571 98.98C45.982 98.98 32.4629 85.4606 32.4629 68.7846C32.4629 56.5171 39.7799 45.967 50.2839 41.2409V33.4515C48.3722 34.1202 46.524 34.9265 44.7686 35.8827C44.7674 35.8815 44.7661 35.8784 44.7611 35.8739L30.5378 26.5451C30.3462 26.4198 30.1241 26.373 29.9097 26.3951Z" fill="#FCFCFC"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Learn.svg������������������������������0000664�0000000�0000000�00000022530�15234476640�0025517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg height="128px" viewBox="0 0 128 128" width="128px" version="1.1" id="svg7" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs7"> <linearGradient id="linearGradient27"> <stop style="stop-color:#865e3c;stop-opacity:1;" offset="0" id="stop27" /> <stop style="stop-color:#865e3c;stop-opacity:0.38039634;" offset="1" id="stop28" /> </linearGradient> <linearGradient xlink:href="#linearGradient2177" id="linearGradient1510" gradientUnits="userSpaceOnUse" x1="2" y1="-300" x2="112" y2="-300" gradientTransform="matrix(1.0181818,0,0,1,5.9636398,172)" /> <linearGradient y2="-212.00002" y1="-212.00002" x2="111.99999" x1="-7.0000001e-06" gradientUnits="userSpaceOnUse" id="linearGradient2177"> <stop stop-color="#77767b" offset="0" id="stop2165" style="stop-color:#865e3c;stop-opacity:1" /> <stop stop-color="#c0bfbc" offset=".03571429" id="stop2167" style="stop-color:#b5835a;stop-opacity:1" /> <stop stop-color="#9a9996" offset=".07136531" id="stop2169" style="stop-color:#865e3c;stop-opacity:1" /> <stop stop-color="#9a9996" offset=".9285714" id="stop2171" style="stop-color:#865e3c;stop-opacity:1" /> <stop stop-color="#c0bfbc" offset=".96428573" id="stop2173" style="stop-color:#b5835a;stop-opacity:1" /> <stop stop-color="#77767b" offset="1" id="stop2175" style="stop-color:#865e3c;stop-opacity:1" /> </linearGradient> <linearGradient xlink:href="#linearGradient2163" id="linearGradient2288" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.5090909,0,0,-0.48684211,30.98182,-20.21053)" x1="1.9999964" y1="-296.21622" x2="127.71429" y2="-296.21622" /> <linearGradient y2="-212.00002" y1="-212.00002" x2="111.99999" x1="-7.0000001e-06" gradientUnits="userSpaceOnUse" id="linearGradient2163"> <stop stop-color="#77767b" offset="0" id="stop2151" style="stop-color:#865e3c;stop-opacity:1" /> <stop stop-color="#c0bfbc" offset="0.03125" id="stop2153" style="stop-color:#b5835a;stop-opacity:1" /> <stop stop-color="#9a9996" offset="0.125" id="stop2155" style="stop-color:#865e3c;stop-opacity:1" /> <stop stop-color="#9a9996" offset="0.85714287" id="stop2157" style="stop-color:#865e3c;stop-opacity:1" /> <stop stop-color="#c0bfbc" offset="0.9285714" id="stop2159" style="stop-color:#b5835a;stop-opacity:1" /> <stop stop-color="#77767b" offset="1" id="stop2161" style="stop-color:#865e3c;stop-opacity:1" /> </linearGradient> <filter style="color-interpolation-filters:sRGB" id="filter24" x="-0.24741168" y="-0.38097845" width="1.4948234" height="1.7619569"> <feGaussianBlur stdDeviation="9.1480715" id="feGaussianBlur24" /> </filter> <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"> <rect style="display:inline;fill:#26a169;fill-opacity:1;stroke-width:0.999997;enable-background:new" y="26.000002" x="16" width="96" height="74" fill="#deddda" id="rect26" /> </clipPath> <linearGradient xlink:href="#linearGradient27" id="linearGradient28" x1="60" y1="110" x2="60" y2="104" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,4)" /> </defs> <rect ry="8" y="-116" x="8" width="112" transform="scale(1,-1)" rx="8" height="76" fill="url(#linearGradient1674)" id="rect1458" style="display:inline;fill:url(#linearGradient1510);stroke-width:1;enable-background:new" /> <path id="rect2282" style="display:inline;fill:url(#linearGradient2288);stroke-width:0.999995;enable-background:new" d="m 32,104 v 11 c 0,4.432 4,5 4,5 h 56 c 3.724893,0 4,-4 4,-4 v -12 z" /> <rect ry="5" style="display:inline;fill:#b5835a;stroke-width:1;enable-background:new" y="-116" x="32" width="63.999996" rx="5" height="11.999998" fill="#deddda" id="rect2147" transform="scale(1,-1)" /> <rect ry="7.9999986" style="display:inline;fill:#b5835a;stroke-width:1;enable-background:new" y="20" x="-120" width="112" rx="8" height="92" fill="#deddda" id="rect1460" transform="scale(-1,1)" /> <rect style="display:inline;fill:#297e5d;fill-opacity:1;stroke-width:0.999997;enable-background:new" y="30.000002" x="16" width="96" height="74" fill="#deddda" id="rect2092" /> <path style="font-weight:bold;font-size:160px;line-height:1.25;font-family:Karumbi;-inkscape-font-specification:Karumbi;opacity:0.8;fill:#ffffff" d="m 40.559861,69.546645 q 1.28,-2.56 3.04,-4.8 1.92,-2.24 6.56,-6.72 4.8,-4.48 8.64,-6.88 4,-2.4 5.92,-2.56 1.92,-0.16 3.2,0.64 2.72,1.76 1.6,5.28 1.12,-0.8 2.08,-1.44 0.96,-0.8 2.4,-0.96 1.6,-0.32 2.72,0.8 1.12,0.96 0.8,2.88 -1.6,5.92 -3.36,10.72 -1.6,4.8 -0.96,7.84 0.64,3.04 4.64,3.84 4,0.64 13.92,-1.6 1.6,-0.16 2.56,0.64 0.96,0.8 1.12,1.92 0.16,1.12 -0.64,2.24 -0.64,1.12 -2.88,1.76 -5.76,1.44 -11.52,1.44 -5.6,0.16 -8.64,-1.6 -2.88,-1.6 -4.16,-4.32 -1.92,-4.32 0.48,-13.28 -2.4,2.4 -5.76,6.08 -3.36,3.68 -4.8,5.12 -1.44,1.28 -2.72,2.4 -1.12,0.96 -4,1.76 -2.72,0.8 -5.44,0.64 -2.56,-0.16 -4.48,-1.76 -1.92,-1.6 -1.76,-4.48 0.16,-3.04 1.44,-5.6 z m 21.92,-9.76 q -1.76,-0.16 -2.72,-1.44 -4,3.2 -8.32,7.36 -4.32,4 -5.76,8.96 6.4,1.76 14.72,-9.76 2.24,-3.2 4.64,-5.76 -0.96,0.32 -2.56,0.64 z" id="text26" aria-label="a" /> <path style="display:inline;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 87.757359,71.75736 28.284271,-28.28427 2.12132,-0.70711 2.12132,2.12132 L 120,48 92,76 86.343145,75 v -1.82843 z" id="path2116" /> <path style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 86.757359,68.75736 28.284271,-28.28427 3.12132,0.29289 2.12132,2.12132 L 120,46 92,74 87,73 87.37868,71.87868 Z" id="path2110" /> <path style="display:inline;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 92,71 25,-26 -1.95837,-4.52691 3.12132,0.29289 2.12132,2.12132 L 120,46 92,74 87,73 86.757359,68.75736 88,72 Z" id="path2114" /> <path style="display:inline;fill:none;stroke:url(#linearGradient28);stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;enable-background:new" d="M 38,110 H 90" id="path2185" /> <g id="g2207" transform="rotate(45,300.28918,92.183341)" style="display:inline;enable-background:new"> <path style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 145.65502,265.77144 12.02082,-12.02082 3.12132,0.29289 1.41421,1.41421 -0.28427,3.1127 -11.73655,11.73655 h -5 l 0.37868,-2.12132 z" id="path2110-3" /> <path style="display:inline;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 150.19055,267.30697 8.73655,-9.73655 -1.25126,-3.8198 3.12132,0.29289 1.41421,1.41421 -0.28427,3.1127 -11.73655,11.73655 h -5 l 0.46447,-4.53553 0.53553,3.53553 z" id="path2114-1" /> </g> <path id="rect9" style="fill:#ffffff;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter24)" d="m 22.626953,37.410156 v 6.1875 h 32.351563 v -6.1875 z M 62.224609,40 v 2.007812 h 14.84961 V 40 Z m 21.390625,0 v 1.476562 h 7.601563 V 40 Z m -43.664062,7.132812 v 4.066407 h 15.203125 v -4.066407 z m 37.123047,1.414063 v 3.005859 h 7.072265 v -3.005859 z m -57.097657,4.951172 v 2.474609 H 30.40625 v -2.474609 z m 34.292969,1.767578 v 4.310547 H 93.9375 v -4.310547 z m -26.691406,6.1875 v 5.302734 h 29.34375 v -5.302734 z m 49.673828,9.722656 V 73 h 9.091797 v -1.824219 z m -48.4375,5.832031 v 1.591797 H 39.244141 V 77.007812 Z M 56.039062,83 v 4.615234 H 82 V 83 Z m 30.050782,0 v 4.261719 H 108.7168 V 83 Z m -65.052735,4.085938 v 0.882812 h 14.140625 v -0.882812 z m 13.78711,6.009765 v 1.943359 h 36.59375 v -1.943359 z" clip-path="url(#clipPath26)" transform="translate(0,4)" /> <rect style="display:inline;fill:#865e3c;fill-opacity:1;stroke-width:0.999998;enable-background:new" y="28" x="-112" width="96" height="2.0000019" fill="#deddda" id="rect2143" transform="scale(-1,1)" /> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Mobile.svg�����������������������������0000664�0000000�0000000�00000025513�15234476640�0025671�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M89.8928 84.2678H37.1785C32.3263 84.2678 28.3928 88.2013 28.3928 93.0535V117.214C28.3928 122.066 32.3263 126 37.1785 126H89.8928C94.745 126 98.6785 122.066 98.6785 117.214V93.0535C98.6785 88.2013 94.745 84.2678 89.8928 84.2678Z" fill="#464153"/> <path d="M94.2857 38.1428H32.7857C27.9335 38.1428 24 42.0763 24 46.9285V117.214C24 122.066 27.9335 126 32.7857 126H94.2857C99.1379 126 103.071 122.066 103.071 117.214V46.9285C103.071 42.0763 99.1379 38.1428 94.2857 38.1428Z" fill="url(#paint0_linear_163_672)"/> <path d="M94.2857 3H32.7857C27.9335 3 24 6.9335 24 11.7857V104.036C24 108.888 27.9335 112.821 32.7857 112.821H94.2857C99.1379 112.821 103.071 108.888 103.071 104.036V11.7857C103.071 6.9335 99.1379 3 94.2857 3Z" fill="url(#paint1_linear_163_672)"/> <path d="M94.2856 7.39282H32.7857C30.3596 7.39282 28.3928 9.35957 28.3928 11.7857V104.036C28.3928 106.462 30.3596 108.428 32.7857 108.428H94.2856C96.7117 108.428 98.6785 106.462 98.6785 104.036V11.7857C98.6785 9.35957 96.7117 7.39282 94.2856 7.39282Z" fill="#3D3846"/> <path d="M81.1071 15.0804C82.3201 15.0804 83.3035 14.097 83.3035 12.8839C83.3035 11.6709 82.3201 10.6875 81.1071 10.6875C79.894 10.6875 78.9106 11.6709 78.9106 12.8839C78.9106 14.097 79.894 15.0804 81.1071 15.0804Z" fill="#9A9996"/> <path d="M67.9286 11.7856H59.1429C58.5364 11.7856 58.0447 12.2773 58.0447 12.8839C58.0447 13.4904 58.5364 13.9821 59.1429 13.9821H67.9286C68.5351 13.9821 69.0268 13.4904 69.0268 12.8839C69.0268 12.2773 68.5351 11.7856 67.9286 11.7856Z" fill="#9A9996"/> <path d="M39.375 3H34.9822V7.39286H39.375V3Z" fill="#C0BFBC"/> <path d="M39.375 108.428H34.9822V112.821H39.375V108.428Z" fill="#DEDDDA"/> <path d="M39.375 126H34.9822V112.821H39.375V126Z" fill="#77767B"/> <path d="M92.0891 3H87.6963V7.39286H92.0891V3Z" fill="#DEDDDA"/> <path d="M92.0891 108.428H87.6963V112.821H92.0891V108.428Z" fill="#C0BFBC"/> <path d="M92.0891 126H87.6963V112.821H92.0891V126Z" fill="#77767B"/> <path d="M66.2813 116.116H60.7902C59.2739 116.116 58.0447 117.345 58.0447 118.862C58.0447 120.378 59.2739 121.607 60.7902 121.607H66.2813C67.7976 121.607 69.0268 120.378 69.0268 118.862C69.0268 117.345 67.7976 116.116 66.2813 116.116Z" fill="#241F31"/> <path d="M58.1004 118.312C58.0648 118.489 58.0447 118.673 58.0447 118.861C58.0447 120.382 59.2692 121.607 60.7902 121.607H66.2813C67.8023 121.607 69.0268 120.382 69.0268 118.861C69.0268 118.673 69.0067 118.489 68.971 118.312C68.7182 119.569 67.6144 120.509 66.2813 120.509H60.7902C59.4571 120.509 58.3533 119.569 58.1004 118.312Z" fill="#9A9996"/> <path d="M44.3168 117.214C43.8799 117.214 43.4609 117.388 43.1519 117.697C42.843 118.006 42.6694 118.425 42.6694 118.862C42.6694 119.299 42.843 119.718 43.1519 120.027C43.4609 120.335 43.8799 120.509 44.3168 120.509C44.7537 120.509 45.1727 120.335 45.4816 120.027C45.7905 119.718 45.9641 119.299 45.9641 118.862C45.9641 118.425 45.7905 118.006 45.4816 117.697C45.1727 117.388 44.7537 117.214 44.3168 117.214ZM48.7096 117.214C48.2727 117.214 47.8537 117.388 47.5448 117.697C47.2358 118.006 47.0623 118.425 47.0623 118.862C47.0623 119.299 47.2358 119.718 47.5448 120.027C47.8537 120.335 48.2727 120.509 48.7096 120.509C49.1465 120.509 49.5655 120.335 49.8744 120.027C50.1834 119.718 50.3569 119.299 50.3569 118.862C50.3569 118.425 50.1834 118.006 49.8744 117.697C49.5655 117.388 49.1465 117.214 48.7096 117.214ZM53.1025 117.214C52.6656 117.214 52.2466 117.388 51.9376 117.697C51.6287 118.006 51.4551 118.425 51.4551 118.862C51.4551 119.299 51.6287 119.718 51.9376 120.027C52.2466 120.335 52.6656 120.509 53.1025 120.509C53.5394 120.509 53.9584 120.335 54.2673 120.027C54.5762 119.718 54.7498 119.299 54.7498 118.862C54.7498 118.425 54.5762 118.006 54.2673 117.697C53.9584 117.388 53.5394 117.214 53.1025 117.214Z" fill="#241F31"/> <path d="M73.9686 120.509C74.8784 120.509 75.6159 119.771 75.6159 118.862C75.6159 117.952 74.8784 117.214 73.9686 117.214C73.0588 117.214 72.3213 117.952 72.3213 118.862C72.3213 119.771 73.0588 120.509 73.9686 120.509Z" fill="#241F31"/> <path d="M78.3617 120.509C79.2715 120.509 80.009 119.771 80.009 118.862C80.009 117.952 79.2715 117.214 78.3617 117.214C77.4519 117.214 76.7144 117.952 76.7144 118.862C76.7144 119.771 77.4519 120.509 78.3617 120.509Z" fill="#241F31"/> <path d="M82.7545 120.509C83.6643 120.509 84.4018 119.771 84.4018 118.862C84.4018 117.952 83.6643 117.214 82.7545 117.214C81.8447 117.214 81.1072 117.952 81.1072 118.862C81.1072 119.771 81.8447 120.509 82.7545 120.509Z" fill="#241F31"/> <path d="M45.8697 118.31C45.7565 118.632 45.5464 118.91 45.2682 119.107C44.9901 119.305 44.6576 119.41 44.3168 119.411C43.9764 119.411 43.6443 119.305 43.3662 119.109C43.0882 118.913 42.8777 118.635 42.7638 118.315C42.7016 118.49 42.6697 118.675 42.6694 118.862C42.6694 119.298 42.843 119.717 43.1519 120.026C43.4609 120.335 43.8799 120.509 44.3168 120.509C44.7537 120.509 45.1727 120.335 45.4816 120.026C45.7905 119.717 45.9641 119.298 45.9641 118.862C45.9643 118.674 45.9323 118.487 45.8697 118.31ZM50.2626 118.31C50.1494 118.632 49.9392 118.91 49.6611 119.107C49.3829 119.305 49.0505 119.41 48.7096 119.411C48.3692 119.411 48.0372 119.305 47.7591 119.109C47.481 118.913 47.2706 118.635 47.1567 118.315C47.0945 118.49 47.0626 118.675 47.0623 118.862C47.0623 119.298 47.2358 119.717 47.5448 120.026C47.8537 120.335 48.2727 120.509 48.7096 120.509C49.1465 120.509 49.5655 120.335 49.8744 120.026C50.1834 119.717 50.3569 119.298 50.3569 118.862C50.3571 118.674 50.3252 118.487 50.2626 118.31ZM54.6554 118.31C54.5422 118.632 54.3321 118.91 54.0539 119.107C53.7758 119.305 53.4434 119.41 53.1025 119.411C52.7621 119.411 52.43 119.305 52.152 119.109C51.8739 118.913 51.6634 118.635 51.5495 118.315C51.4874 118.49 51.4554 118.675 51.4551 118.862C51.4551 119.298 51.6287 119.717 51.9376 120.026C52.2466 120.335 52.6656 120.509 53.1025 120.509C53.5394 120.509 53.9584 120.335 54.2673 120.026C54.5762 119.717 54.7498 119.298 54.7498 118.862C54.75 118.674 54.7181 118.487 54.6554 118.31Z" fill="#9A9996"/> <path d="M75.5216 118.31C75.4084 118.632 75.1982 118.91 74.9201 119.107C74.6419 119.305 74.3095 119.41 73.9686 119.411C73.6282 119.411 73.2962 119.305 73.0181 119.109C72.74 118.913 72.5296 118.635 72.4157 118.315C72.3535 118.49 72.3216 118.675 72.3213 118.862C72.3213 119.298 72.4948 119.717 72.8038 120.026C73.1127 120.335 73.5317 120.509 73.9686 120.509C74.4055 120.509 74.8245 120.335 75.1334 120.026C75.4424 119.717 75.6159 119.298 75.6159 118.862C75.6161 118.674 75.5842 118.487 75.5216 118.31ZM79.9144 118.31C79.8012 118.632 79.5911 118.91 79.3129 119.107C79.0348 119.305 78.7024 119.41 78.3615 119.411C78.0211 119.411 77.689 119.305 77.411 119.109C77.1329 118.913 76.9224 118.635 76.8085 118.315C76.7464 118.49 76.7144 118.675 76.7141 118.862C76.7141 119.298 76.8877 119.717 77.1966 120.026C77.5056 120.335 77.9246 120.509 78.3615 120.509C78.7984 120.509 79.2174 120.335 79.5263 120.026C79.8352 119.717 80.0088 119.298 80.0088 118.862C80.009 118.674 79.9771 118.487 79.9144 118.31ZM84.3073 118.31C84.1941 118.632 83.9839 118.91 83.7058 119.107C83.4276 119.305 83.0952 119.41 82.7543 119.411C82.414 119.411 82.0819 119.305 81.8038 119.109C81.5257 118.913 81.3153 118.635 81.2014 118.315C81.1392 118.49 81.1073 118.675 81.107 118.862C81.107 119.298 81.2806 119.717 81.5895 120.026C81.8984 120.335 82.3174 120.509 82.7543 120.509C83.1912 120.509 83.6102 120.335 83.9192 120.026C84.2281 119.717 84.4016 119.298 84.4016 118.862C84.4018 118.674 84.3699 118.487 84.3073 118.31Z" fill="#9A9996"/> <path d="M43.768 98.5445C47.4072 98.5445 50.3573 95.5944 50.3573 91.9552C50.3573 88.3161 47.4072 85.366 43.768 85.366C40.1288 85.366 37.1787 88.3161 37.1787 91.9552C37.1787 95.5944 40.1288 98.5445 43.768 98.5445Z" fill="#F8E45C"/> <path d="M63.5358 98.5445C67.175 98.5445 70.1251 95.5944 70.1251 91.9552C70.1251 88.3161 67.175 85.366 63.5358 85.366C59.8967 85.366 56.9465 88.3161 56.9465 91.9552C56.9465 95.5944 59.8967 98.5445 63.5358 98.5445Z" fill="#33D17A"/> <path d="M83.3036 98.5445C86.9428 98.5445 89.8929 95.5944 89.8929 91.9552C89.8929 88.3161 86.9428 85.366 83.3036 85.366C79.6645 85.366 76.7144 88.3161 76.7144 91.9552C76.7144 95.5944 79.6645 98.5445 83.3036 98.5445Z" fill="#ED333B"/> <path d="M43.768 77.6786C47.4072 77.6786 50.3573 74.7284 50.3573 71.0893C50.3573 67.4501 47.4072 64.5 43.768 64.5C40.1288 64.5 37.1787 67.4501 37.1787 71.0893C37.1787 74.7284 40.1288 77.6786 43.768 77.6786Z" fill="#ED333B"/> <path d="M63.5358 77.6786C67.175 77.6786 70.1251 74.7284 70.1251 71.0893C70.1251 67.4501 67.175 64.5 63.5358 64.5C59.8967 64.5 56.9465 67.4501 56.9465 71.0893C56.9465 74.7284 59.8967 77.6786 63.5358 77.6786Z" fill="#62A0EA"/> <path d="M83.3036 77.6786C86.9428 77.6786 89.8929 74.7284 89.8929 71.0893C89.8929 67.4501 86.9428 64.5 83.3036 64.5C79.6645 64.5 76.7144 67.4501 76.7144 71.0893C76.7144 74.7284 79.6645 77.6786 83.3036 77.6786Z" fill="#33D17A"/> <path d="M43.768 56.8124C47.4072 56.8124 50.3573 53.8622 50.3573 50.2231C50.3573 46.5839 47.4072 43.6338 43.768 43.6338C40.1288 43.6338 37.1787 46.5839 37.1787 50.2231C37.1787 53.8622 40.1288 56.8124 43.768 56.8124Z" fill="#33D17A"/> <path d="M63.5358 56.8124C67.175 56.8124 70.1251 53.8622 70.1251 50.2231C70.1251 46.5839 67.175 43.6338 63.5358 43.6338C59.8967 43.6338 56.9465 46.5839 56.9465 50.2231C56.9465 53.8622 59.8967 56.8124 63.5358 56.8124Z" fill="#DEDDDA"/> <path d="M83.3036 56.8124C86.9428 56.8124 89.8929 53.8622 89.8929 50.2231C89.8929 46.5839 86.9428 43.6338 83.3036 43.6338C79.6645 43.6338 76.7144 46.5839 76.7144 50.2231C76.7144 53.8622 79.6645 56.8124 83.3036 56.8124Z" fill="#F8E45C"/> <path d="M43.768 35.9464C47.4072 35.9464 50.3573 32.9963 50.3573 29.3571C50.3573 25.7179 47.4072 22.7678 43.768 22.7678C40.1288 22.7678 37.1787 25.7179 37.1787 29.3571C37.1787 32.9963 40.1288 35.9464 43.768 35.9464Z" fill="#62A0EA"/> <path d="M63.5358 35.9464C67.175 35.9464 70.1251 32.9963 70.1251 29.3571C70.1251 25.7179 67.175 22.7678 63.5358 22.7678C59.8967 22.7678 56.9465 25.7179 56.9465 29.3571C56.9465 32.9963 59.8967 35.9464 63.5358 35.9464Z" fill="#ED333B"/> <path d="M83.3036 35.9464C86.9428 35.9464 89.8929 32.9963 89.8929 29.3571C89.8929 25.7179 86.9428 22.7678 83.3036 22.7678C79.6645 22.7678 76.7144 25.7179 76.7144 29.3571C76.7144 32.9963 79.6645 35.9464 83.3036 35.9464Z" fill="#DEDDDA"/> <defs> <linearGradient id="paint0_linear_163_672" x1="24" y1="113.449" x2="103.071" y2="113.449" gradientUnits="userSpaceOnUse"> <stop stop-color="#3D3846"/> <stop offset="0.0454546" stop-color="#9A9996"/> <stop offset="0.0909091" stop-color="#5E5C64"/> <stop offset="0.909091" stop-color="#5E5C64"/> <stop offset="0.953418" stop-color="#9A9996"/> <stop offset="1" stop-color="#3D3846"/> </linearGradient> <linearGradient id="paint1_linear_163_672" x1="-0.709803" y1="-5.78571" x2="95.2534" y2="82.9788" gradientUnits="userSpaceOnUse"> <stop stop-color="#DEDDDA"/> <stop offset="0.339439" stop-color="#77767B"/> <stop offset="0.72" stop-color="#C0BFBC"/> <stop offset="1" stop-color="#77767B"/> </linearGradient> </defs> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Network.svg����������������������������0000664�0000000�0000000�00000005755�15234476640�0026121�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M122 65.4499C122 80.9651 115.837 95.8448 104.866 106.816C93.8949 117.787 79.0152 123.95 63.5 123.95C55.8177 123.95 48.2106 122.437 41.113 119.497C34.0155 116.557 27.5665 112.248 22.1342 106.816C16.702 101.383 12.3929 94.9345 9.45304 87.8369C6.51313 80.7394 5 73.1323 5 65.4499C5 57.7676 6.51315 50.1605 9.45305 43.063C12.393 35.9654 16.702 29.5164 22.1343 24.0842C27.5665 18.652 34.0155 14.3429 41.113 11.403C48.2106 8.4631 55.8177 6.94995 63.5 6.94995C79.0152 6.94995 93.8949 13.1133 104.866 24.0842C115.837 35.0551 122 49.9348 122 65.4499Z" fill="#5E5C64"/> <path d="M122 63.5C122 79.0152 115.837 93.8949 104.866 104.866C93.8949 115.837 79.0152 122 63.5 122C55.8177 122 48.2106 120.487 41.113 117.547C34.0155 114.607 27.5665 110.298 22.1343 104.866C16.702 99.4335 12.393 92.9845 9.45305 85.887C6.51315 78.7895 5 71.1823 5 63.5C5 55.8177 6.51313 48.2106 9.45304 41.113C12.3929 34.0155 16.702 27.5665 22.1342 22.1343C27.5665 16.702 34.0155 12.393 41.113 9.45305C48.2106 6.51315 55.8177 5 63.5 5C79.0152 5 93.8949 11.1634 104.866 22.1343C115.837 33.1051 122 47.9848 122 63.5Z" fill="url(#paint0_radial_63_357)"/> <path d="M111.275 63.4999C111.275 37.1145 89.8855 15.7249 63.5001 15.7249C37.1147 15.7249 15.7251 37.1145 15.7251 63.4999C15.7251 89.8853 37.1147 111.275 63.5001 111.275C89.8855 111.275 111.275 89.8853 111.275 63.4999Z" fill="#F6F5F4"/> <path d="M63.5 85.9252C75.885 85.9252 85.925 75.8852 85.925 63.5002C85.925 51.1152 75.885 41.0752 63.5 41.0752C51.115 41.0752 41.075 51.1152 41.075 63.5002C41.075 75.8852 51.115 85.9252 63.5 85.9252Z" fill="#F6F5F4" stroke="#C0BFBC" stroke-width="3.9" stroke-linecap="round" stroke-linejoin="round"/> <path d="M60.575 41.0752L63.5 21.5752L66.425 41.0752H60.575Z" fill="#C0BFBC"/> <path d="M41.1111 65.3019L21.6111 62.3769L41.1111 59.4519V65.3019Z" fill="#C0BFBC"/> <path d="M85.9121 65.7772L105.412 62.8522L85.9121 59.9272V65.7772Z" fill="#C0BFBC"/> <path d="M61.1685 85.915L64.0935 105.415L67.0185 85.915H61.1685Z" fill="#C0BFBC"/> <path d="M56.7161 70.5048L70.5046 56.7163L32.4673 32.4675L56.7161 70.5048Z" fill="#ED333B"/> <path d="M56.7161 70.5049L70.5046 56.7163L94.5327 94.533L56.7161 70.5049Z" fill="#3584E4"/> <path d="M56.7161 70.5048L63.6103 63.6106L32.4673 32.4675L56.7161 70.5048Z" fill="#A51D2D"/> <path d="M56.7161 70.5046L63.6103 63.6104L94.5327 94.5328L56.7161 70.5046Z" fill="#1755A1"/> <path d="M63.5001 66.9126C65.3848 66.9126 66.9126 65.3848 66.9126 63.5001C66.9126 61.6155 65.3848 60.0876 63.5001 60.0876C61.6155 60.0876 60.0876 61.6155 60.0876 63.5001C60.0876 65.3848 61.6155 66.9126 63.5001 66.9126Z" fill="#F6F5F4"/> <defs> <radialGradient id="paint0_radial_63_357" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(64.0225 62.525) scale(58.5)"> <stop stop-color="#1A5FB4"/> <stop offset="0.73913" stop-color="#9A9996"/> <stop offset="0.895652" stop-color="#DEDDDA"/> <stop offset="1" stop-color="#9A9996"/> </radialGradient> </defs> </svg> �������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.New.svg��������������������������������0000664�0000000�0000000�00000005010�15234476640�0025201�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="128" height="128" viewBox="0 0 128 128" fill="none" version="1.1" id="svg4" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs4" /> <path id="path9" mask="none" style="fill:#e5a50a;stroke:#e5a50a;stroke-width:2;stroke-dasharray:none;stroke-opacity:1" d="M 98.704657,115.84252 63.999965,91.000045 29.51959,115.93104 42.784746,75.563338 8.0559887,47.159383 52.547079,47.301099 63.975889,9.421805 l 10.995736,37.455157 45.028255,0.1392 -34.459238,27.861056 z" /> <path id="path2016" mask="none" style="fill:#f6d32d;stroke-width:10.4425" d="M 98.704657,111.84252 63.999965,87.000045 29.51959,111.93104 42.784746,71.563338 8.0559887,46.159383 50.547079,46.301099 63.975889,5.4218055 76.971625,45.876962 l 43.028255,0.1392 -34.459238,24.861056 z" /> <path style="opacity:0.2;fill:#f9f06b;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 29.519544,111.93103 63.975935,5.421772 64,87 Z" id="path4" /> <path style="opacity:0.3;fill:#e5a50a;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 99,112 64,63 8.0559887,46.159383 Z" id="path5" /> <path style="opacity:0.4;fill:#f5c211;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 98.555119,111.37717 64.024065,6.745371 64,87 Z" id="path7" /> <path id="path8" style="opacity:0.4;fill:#f8e45c;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 64.011719,46.158203 8.0566406,46.160156 64,63 64.0078,62.998 Z" /> <path id="path6" style="opacity:0.2;fill:#f9f06b;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 64.007812,62.994141 -0.01562,0.0039 -35,48.999999 L 64,86.654297 Z" /> <path id="path10" style="opacity:0.4;fill:#f9f06b;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 63.982422,46.158203 55.955078,0.002 L 63.994141,63 l -0.0078,-0.002 z m -13.019531,0 -3.876953,11.75 -39.0292974,-11.75 z" /> <path id="path11" style="opacity:0.4;fill:#f6d32d;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 64.023438,6.7460938 64.007812,63.009766 98.554688,111.37695 Z M 64,86.662109 V 87 l 18.308594,12.91602 z" /> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Play.svg�������������������������������0000664�0000000�0000000�00000014165�15234476640�0025370�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <linearGradient id="a" gradientUnits="userSpaceOnUse"> <stop offset="0" stop-color="#9a9996"/> <stop offset="1" stop-color="#9a9996" stop-opacity="0"/> </linearGradient> <linearGradient id="b" gradientTransform="matrix(0 -1.333333 -1.333333 0 414.662385 134.674892)" x1="38" x2="50" xlink:href="#a" y1="248" y2="248"/> <linearGradient id="c" gradientTransform="matrix(0 -1.333333 -1.333333 0 374.778504 134.674892)" x1="38" x2="50" xlink:href="#a" y1="248" y2="248"/> <path d="m 89.175781 41.980469 l 6.082031 7.5625 l 22.648438 -4.671875 l 9.875 47.90625 c 1.488281 7.234375 -2.171875 14.546875 -8.851562 17.695312 c -6.679688 3.148438 -14.648438 1.316406 -19.28125 -4.433594 l -35.40625 -44 z m 0 0" fill="#deddda"/> <path d="m 39.175781 41.980469 l -6.082031 7.5625 l -22.648438 -4.671875 l -9.875 47.90625 c -1.488281 7.234375 2.171876 14.546875 8.851563 17.695312 c 6.679687 3.148438 14.648437 1.316406 19.28125 -4.433594 l 35.40625 -44 z m 0 0" fill="#deddda"/> <path d="m 41.113281 28.007812 h 46 v 32 h -46 z m 0 0" fill="#deddda"/> <path d="m 60.445312 59.289062 l -31.984374 39.75 c -3.859376 4.78125 -10.117188 6.929688 -16.101563 5.527344 s -10.632813 -6.105468 -11.96875 -12.105468 l -0.066406 0.316406 c -1.484375 7.234375 2.171875 14.546875 8.855469 17.695312 c 6.679687 3.148438 14.648437 1.316406 19.28125 -4.433594 l 35.402343 -44 z m 7.101563 0 l -3.421875 2.75 l 35.40625 44 c 4.632812 5.75 12.601562 7.582032 19.28125 4.433594 c 6.683594 -3.148437 10.339844 -10.460937 8.851562 -17.695312 l -0.0625 -0.316406 c -1.335937 6 -5.988281 10.703124 -11.96875 12.105468 c -5.984374 1.402344 -12.242187 -0.746094 -16.101562 -5.527344 z m 0 0" fill="#5e5c64" fill-opacity="0.235294"/> <g fill="#c0bfbc"> <path d="m 54.113281 49.007812 c 0 12.152344 -9.851562 22 -22 22 c -12.152343 0 -22 -9.847656 -22 -22 c 0 -12.148437 9.847657 -22 22 -22 c 12.148438 0 22 9.851563 22 22 z m 0 0"/> <path d="m 46.113281 32.007812 h 36 v 52 h -36 z m 0 0"/> <path d="m 118.113281 49.007812 c 0 12.152344 -9.851562 22 -22 22 c -12.152343 0 -22 -9.847656 -22 -22 c 0 -12.148437 9.847657 -22 22 -22 c 12.148438 0 22 9.851563 22 22 z m 0 0"/> <path d="m 57.996094 80.007812 c 0 7.667969 -6.214844 13.882813 -13.882813 13.882813 s -13.886719 -6.214844 -13.886719 -13.882813 c 0 -7.667968 6.21875 -13.882812 13.886719 -13.882812 s 13.882813 6.214844 13.882813 13.882812 z m 0 0"/> <path d="m 97.996094 80.007812 c 0 7.667969 -6.214844 13.882813 -13.882813 13.882813 s -13.886719 -6.214844 -13.886719 -13.882813 c 0 -7.667968 6.21875 -13.882812 13.886719 -13.882812 s 13.882813 6.214844 13.882813 13.882812 z m 0 0"/> </g> <path d="m 46.113281 32.007812 h 36 v 48 h -36 z m 0 0" fill="#f6f5f4"/> <path d="m 57.996094 78.007812 c 0 7.667969 -6.214844 13.882813 -13.882813 13.882813 s -13.886719 -6.214844 -13.886719 -13.882813 c 0 -7.667968 6.21875 -13.882812 13.886719 -13.882812 s 13.882813 6.214844 13.882813 13.882812 z m 0 0" fill="#f6f5f4"/> <path d="m 97.996094 78.007812 c 0 7.667969 -6.214844 13.882813 -13.882813 13.882813 s -13.886719 -6.214844 -13.886719 -13.882813 c 0 -7.667968 6.21875 -13.882812 13.886719 -13.882812 s 13.882813 6.214844 13.882813 13.882812 z m 0 0" fill="#f6f5f4"/> <path d="m 54.113281 47.007812 c 0 12.152344 -9.851562 22 -22 22 c -12.152343 0 -22 -9.847656 -22 -22 c 0 -12.148437 9.847657 -22 22 -22 c 12.148438 0 22 9.851563 22 22 z m 0 0" fill="#f6f5f4"/> <path d="m 118.113281 47.007812 c 0 12.152344 -9.851562 22 -22 22 c -12.152343 0 -22 -9.847656 -22 -22 c 0 -12.148437 9.847657 -22 22 -22 c 12.148438 0 22 9.851563 22 22 z m 0 0" fill="#f6f5f4"/> <path d="m 29.996094 36.007812 c -1.109375 0 -2 0.890626 -2 2 v 6 h -6 c -1.109375 0 -2 0.890626 -2 2 v 4 c 0 1.109376 0.890625 2 2 2 h 6 v 6 c 0 1.109376 0.890625 2 2 2 h 4 c 1.109375 0 2 -0.890624 2 -2 v -6 h 6 c 1.109375 0 2 -0.890624 2 -2 v -4 c 0 -1.109374 -0.890625 -2 -2 -2 h -6 v -6 c 0 -1.109374 -0.890625 -2 -2 -2 z m 0 0" fill="#3d3846"/> <path d="m 29.996094 34.007812 c -1.109375 0 -2 0.890626 -2 2 v 6 h -6 c -1.109375 0 -2 0.890626 -2 2 v 4 c 0 1.109376 0.890625 2 2 2 h 6 v 6 c 0 1.109376 0.890625 2 2 2 h 4 c 1.109375 0 2 -0.890624 2 -2 v -6 h 6 c 1.109375 0 2 -0.890624 2 -2 v -4 c 0 -1.109374 -0.890625 -2 -2 -2 h -6 v -6 c 0 -1.109374 -0.890625 -2 -2 -2 z m 0 0" fill="#5e5c64"/> <path d="m 109.996094 50.007812 v 2 c 0 3.324219 -2.675782 6 -6 6 c -3.324219 0 -6 -2.675781 -6 -6 v -2 z m 0 0" fill="#c01c28"/> <path d="m 97.996094 50.007812 c 0 3.3125 2.6875 6 6 6 s 6 -2.6875 6 -6 s -2.6875 -6 -6 -6 s -6 2.6875 -6 6 z m 0 0" fill="#ed333b"/> <path d="m 93.996094 42.007812 v 2 c 0 3.324219 -2.675782 6 -6 6 c -3.324219 0 -6 -2.675781 -6 -6 v -2 z m 0 0" fill="#1a5fb4"/> <path d="m 81.996094 42.007812 c 0 3.3125 2.6875 6 6 6 s 6 -2.6875 6 -6 s -2.6875 -6 -6 -6 s -6 2.6875 -6 6 z m 0 0" fill="#3584e4"/> <path d="m 54.113281 78.007812 c 0 5.523438 -4.480469 10 -10 10 c -5.523437 0 -10 -4.476562 -10 -10 c 0 -5.523437 4.476563 -10 10 -10 c 5.519531 0 10 4.476563 10 10 z m 0 0" fill="#241f31"/> <path d="m 94.113281 78.007812 c 0 5.523438 -4.480469 10 -10 10 c -5.523437 0 -10 -4.476562 -10 -10 c 0 -5.523437 4.476563 -10 10 -10 c 5.519531 0 10 4.476563 10 10 z m 0 0" fill="#241f31"/> <path d="m 54.113281 76.007812 c 0 5.523438 -4.480469 10 -10 10 c -5.523437 0 -10 -4.476562 -10 -10 c 0 -5.523437 4.476563 -10 10 -10 c 5.519531 0 10 4.476563 10 10 z m 0 0" fill="#3d3846"/> <path d="m 94.113281 76.007812 c 0 5.523438 -4.480469 10 -10 10 c -5.523437 0 -10 -4.476562 -10 -10 c 0 -5.523437 4.476563 -10 10 -10 c 5.519531 0 10 4.476563 10 10 z m 0 0" fill="#3d3846"/> <path d="m 83.996094 68.007812 c -4.417969 0 -8 3.582032 -8 8 c 0 4.417969 3.582031 8 8 8 c 4.417968 0 8 -3.582031 8 -8 c 0 -4.417968 -3.582032 -8 -8 -8 z m 0 0" fill="url(#b)"/> <path d="m 44.113281 68.007812 c -4.417969 0 -8 3.582032 -8 8 c 0 4.417969 3.582031 8 8 8 s 8 -3.582031 8 -8 c 0 -4.417968 -3.582031 -8 -8 -8 z m 0 0" fill="url(#c)"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Popular.svg����������������������������0000664�0000000�0000000�00000007512�15234476640�0026103�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0_163_646" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="16" y="0" width="96" height="95"> <path d="M63.9993 0C37.4894 0 16 20.2027 16 45.1253C16.0115 55.0542 21.919 66.4177 32.3169 76.8154L50.3947 94.5571H78.3561L95.7462 76.7157C105.254 67.2071 111.98 55.0057 112 45.1253C112 20.2027 90.5092 0 63.9993 0Z" fill="white"/> </mask> <g mask="url(#mask0_163_646)"> <path d="M63.9993 0C37.4893 0 16 20.2027 16 45.1253C16.0115 55.0542 21.0148 64.5521 25.9437 72.5763L42.5071 103.721H85.4915L102.119 72.4564C106.984 64.5359 111.977 55.0057 111.999 45.1253C111.999 20.2027 90.5092 0 63.9993 0Z" fill="url(#paint0_radial_163_646)"/> <path d="M62.5664 0C62.5664 0 36.3 16.3421 36.3 41.7429C36.3 61.3704 59.4744 103.721 59.4744 103.721H66.8648C66.8648 103.721 68.7748 61.3704 68.7748 41.7429C68.7748 16.3421 62.5664 0 62.5664 0Z" fill="url(#paint1_radial_163_646)"/> <path d="M62.5421 0.142706C50.783 0.340719 39.1471 4.56768 30.3038 11.8551C21.4576 19.1411 15.4742 29.4297 13.7204 40.3622C11.9437 51.4414 14.5328 63.0918 20.8773 72.5762L48.0979 103.721H57.3138L38.2115 81.1851C32.0504 73.9179 26.0727 66.2735 23.0294 57.4317C19.9875 48.5898 19.9259 38.8427 23.0337 30.0224C25.8766 22.0021 31.1056 14.9161 38.1012 9.6042C45.1184 4.3182 53.6004 1.0342 62.5421 0.141357V0.142706Z" fill="url(#paint2_radial_163_646)"/> <path d="M62.7914 0.169638C73.837 -1.91421 85.6734 -0.0378028 95.3822 5.33548C105.091 10.7088 112.579 19.5291 116 29.621C118.47 36.9461 118.844 44.7535 117.085 52.2577C115.303 59.7568 111.451 66.6824 105.918 72.3378L89.8615 103.482H70.6862L89.7899 71.6333C93.8992 64.781 97.7521 57.6162 98.9986 49.8371C100.245 42.0581 98.947 33.9813 95.5971 26.772C89.618 13.9079 77.2055 3.84298 62.7928 0.170987L62.7914 0.169638Z" fill="url(#paint3_radial_163_646)"/> </g> <path d="M53.4942 113.899V122.803C53.4926 123.39 53.607 123.971 53.8307 124.513C54.0545 125.056 54.3832 125.548 54.798 125.963C55.2128 126.378 55.7054 126.707 56.2477 126.931C56.79 127.155 57.3711 127.269 57.9578 127.268H70.0423C72.516 127.268 73.9868 125.222 74.506 122.803V113.899H53.4942Z" fill="#E5A50A"/> <path d="M53.4942 111.989V120.894C53.4928 121.48 53.6073 122.061 53.8311 122.604C54.0549 123.146 54.3837 123.638 54.7984 124.053C55.2132 124.468 55.7058 124.797 56.248 125.02C56.7902 125.244 57.3712 125.359 57.9578 125.357H70.0423C72.516 125.357 73.9868 123.312 74.506 120.894V111.99L53.4942 111.989Z" fill="#E5A50A"/> <path d="M66.8655 111.989V125.357H70.0423C72.516 125.357 73.9868 123.312 74.506 120.894V111.99L66.8655 111.989Z" fill="#F3AF0B"/> <defs> <radialGradient id="paint0_radial_163_646" cx="0" cy="0" r="1" gradientTransform="matrix(0.228477 73.2059 -68.8401 0.190429 63.5051 34.302)" gradientUnits="userSpaceOnUse"> <stop stop-color="white"/> <stop offset="0.519" stop-color="white"/> <stop offset="0.734" stop-color="#CFCFCF"/> <stop offset="1" stop-color="#DCDCDC"/> </radialGradient> <radialGradient id="paint1_radial_163_646" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(60.7909 28.5261) scale(77.4763 77.0489)"> <stop stop-color="#ED686F"/> <stop offset="0.865" stop-color="#A51D2D"/> <stop offset="1" stop-color="#E01B24"/> </radialGradient> <radialGradient id="paint2_radial_163_646" cx="0" cy="0" r="1" gradientTransform="matrix(18.1818 84.0491 -53.6353 10.2548 39.009 18.1545)" gradientUnits="userSpaceOnUse"> <stop stop-color="#ED686F"/> <stop offset="0.911" stop-color="#A51D2D"/> <stop offset="1" stop-color="#E01B24"/> </radialGradient> <radialGradient id="paint3_radial_163_646" cx="0" cy="0" r="1" gradientTransform="matrix(-18.1818 84.0491 53.6353 10.2548 87.786 17.9161)" gradientUnits="userSpaceOnUse"> <stop stop-color="#ED686F"/> <stop offset="0.911" stop-color="#A51D2D"/> <stop offset="1" stop-color="#E01B24"/> </radialGradient> </defs> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Science.svg����������������������������0000664�0000000�0000000�00000056626�15234476640�0026044�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="128" height="128" viewBox="0 0 128 128" fill="none" version="1.1" id="svg35" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs35"> <linearGradient id="linearGradient41"> <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop41" /> <stop style="stop-color:#ffffff;stop-opacity:0.59226412;" offset="1" id="stop42" /> </linearGradient> <clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"> <path id="path36" d="m 52.218314,6.00103 c -1.539651,-0.0204 -2.554714,0.50293 -3.259361,1.28705 -0.704636,0.78405 -1.080179,1.88075 -1.080179,2.99185 0,1.1112 0.375543,2.20784 1.080179,2.99194 0.704647,0.78412 1.71971,1.30878 3.259361,1.28701 0.596478,-0.008 1.084356,0.47321 1.084359,1.06974 v 31.27782 c 4e-6,0.2286 -0.07322,0.45119 -0.208928,0.63515 L 23.172432,88.14773 c -5.03e-4,7.6e-4 -0.001,0.001 -0.002,0.002 -1.584091,2.39264 -1.933179,5.40515 -1.95979,7.96457 v 0.004 c -2.1e-5,0.002 2.1e-5,0.004 0,0.006 0.005,8.86974 7.174927,16.0356 16.046057,16.0356 h 53.486849 c 8.8738,0 16.044772,-7.17027 16.045942,-16.04397 -0.007,-2.82242 -0.49265,-5.62802 -1.97021,-7.97704 -9.971282,-13.53236 -19.941622,-27.0653 -29.912872,-40.59772 -0.13575,-0.18403 -0.20895,-0.40672 -0.20888,-0.6354 V 15.62806 c 10e-6,-0.59653 0.48788,-1.07782 1.08436,-1.06973 2.40019,0.0329 4.33954,-1.87832 4.33954,-4.27897 0,-2.40065 -1.93937,-4.31292 -4.33954,-4.27891 -0.005,3e-5 -0.01,3e-5 -0.0145,0 H 52.232971 c -0.0049,3e-5 -0.0097,3e-5 -0.01456,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#99c1f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> </clipPath> <clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"> <path id="path39" clip-path="none" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.322;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#99c1f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 50,8 c -2.216,0 -4,1.784 -4,4 0,2.216 1.784,4 4,4 h 2 V 48 L 23.788194,88.799806 C 20,94 19.875993,97.969115 20,103.5 v 0.004 c -2.2e-5,0.002 2.3e-5,0.004 0,0.006 0.0051,9.12045 7.377893,16.49 16.5,16.49 h 55 c 9.12485,0 16.49879,-7.3733 16.5,-16.49805 0.71769,-7.465658 -2.36777,-12.567654 -6.39048,-18.273159 C 92.991037,72.981294 84.783727,59.920781 76,48 V 16 h 2 c 2.216,0 4,-1.784 4,-4 0,-2.216 -1.784,-4 -4,-4 z" /> </clipPath> <radialGradient xlink:href="#linearGradient41" id="radialGradient42" cx="49.709709" cy="66.530579" fx="49.709709" fy="66.530579" r="16.5" gradientTransform="matrix(1.4069825,-3.7673017e-5,1.2020518e-4,4.4889443,-8.23898,-209.96815)" gradientUnits="userSpaceOnUse" /> <radialGradient xlink:href="#linearGradient41" id="radialGradient43" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4069825,-3.7673017e-5,1.2020518e-4,4.4889443,-9.315121,-211.96815)" cx="57.024899" cy="49.448219" fx="57.024899" fy="49.448219" r="16.5" /> </defs> <path id="path1" clip-path="none" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#99c1f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 62,8 c -2.216,0 -4,1.784 -4,4 0,2.216 1.784,4 4,4 h 2 V 48 L 35.788194,88.799806 C 32,94 31.875993,97.969115 32,103.5 v 0.004 c -2.2e-5,0.002 2.3e-5,0.004 0,0.006 0.0051,9.12045 7.377893,16.49 16.5,16.49 h 55 c 9.12485,0 16.49879,-7.3733 16.5,-16.49805 0.71769,-7.465658 -2.36777,-12.567654 -6.39048,-18.273159 C 104.99104,72.981294 96.78373,59.920781 88,48 V 16 h 2 c 2.216,0 4,-1.784 4,-4 0,-2.216 -1.784,-4 -4,-4 z" /> <path id="rect44" style="fill:#e5a50a;fill-opacity:1;stroke:none;stroke-width:0.999998;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none" d="m 9.9589844,10.008896 c -0.1622951,0.0026 -0.3255895,0.02387 -0.484375,0.06641 -0.423335,0.113446 -0.795638,0.363203 -1.0625,0.710937 C 8.1457134,11.133974 8,11.560821 8,11.99913 V 120.0089 c 0.0048,1.10387 0.894968,1.99023 2,1.99023 h 64 c 1.105032,0 1.995238,-0.88636 2,-1.99023 L 11.714844,11.003036 c -0.219099,-0.379589 -0.55797,-0.676015 -0.962891,-0.84375 -0.253075,-0.104835 -0.522477,-0.154722 -0.7929686,-0.15039 z M 24,65.99913 l 26,42 H 24 Z" /> <path d="M 76,120.0089 11.715231,9.004458 C 11.496132,8.624869 11.157764,8.328198 10.752843,8.160463 10.347923,7.992727 9.898977,7.963302 9.475549,8.07674 9.052214,8.190186 8.678139,8.440159 8.411277,8.787893 8.144881,9.135628 8,9.561691 8,10 V 120.0089 Z M 50,104 H 24 V 62 Z" fill="#f6d32d" id="path2" style="fill:#f8e45c;stroke-width:0.999997" /> <g id="g1" style="stroke:#f5c211"> <path d="M 13.8639,117.5 H 8" stroke="#b38108" stroke-width="1.17286" id="path3" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 13.8639,99.907 H 8" stroke="#b38108" stroke-width="1.17286" id="path4" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 13.8639,82.3141 H 8" stroke="#b38108" stroke-width="1.17286" id="path5" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 13.8639,64.7213 H 8" stroke="#b38108" stroke-width="1.17286" id="path6" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 13.8639,47.1286 H 8" stroke="#b38108" stroke-width="1.17286" id="path7" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 13.8639,29.5358 H 8" stroke="#b38108" stroke-width="1.17286" id="path8" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,113.981 H 8" stroke="#b38108" stroke-width="1.17285" id="path10" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,110.463 H 8" stroke="#b38108" stroke-width="1.17285" id="path11" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,106.944 H 8" stroke="#b38108" stroke-width="1.17285" id="path12" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,103.426 H 8" stroke="#b38108" stroke-width="1.17285" id="path13" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,96.3883 H 8" stroke="#b38108" stroke-width="1.17285" id="path14" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,92.8698 H 8" stroke="#b38108" stroke-width="1.17285" id="path15" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,89.3515 H 8" stroke="#b38108" stroke-width="1.17285" id="path16" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,85.8329 H 8" stroke="#b38108" stroke-width="1.17285" id="path17" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,78.7955 H 8" stroke="#b38108" stroke-width="1.17285" id="path18" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,75.2772 H 8" stroke="#b38108" stroke-width="1.17285" id="path19" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,71.7587 H 8" stroke="#b38108" stroke-width="1.17285" id="path20" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,68.2399 H 8" stroke="#b38108" stroke-width="1.17285" id="path21" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,61.203 H 8" stroke="#b38108" stroke-width="1.17285" id="path22" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,57.6845 H 8" stroke="#b38108" stroke-width="1.17285" id="path23" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,54.1657 H 8" stroke="#b38108" stroke-width="1.17285" id="path24" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,50.6471 H 8" stroke="#b38108" stroke-width="1.17285" id="path25" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,43.6102 H 8" stroke="#b38108" stroke-width="1.17285" id="path26" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,40.0914 H 8" stroke="#b38108" stroke-width="1.17285" id="path27" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,36.5729 H 8" stroke="#b38108" stroke-width="1.17285" id="path28" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,33.0543 H 8" stroke="#b38108" stroke-width="1.17285" id="path29" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,26.0172 H 8" stroke="#b38108" stroke-width="1.17285" id="path30" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,22.4987 H 8" stroke="#b38108" stroke-width="1.17285" id="path31" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,18.9801 H 8" stroke="#b38108" stroke-width="1.17285" id="path32" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> <path d="M 11.5182,15.4616 H 8" stroke="#b38108" stroke-width="1.17285" id="path33" style="stroke-width:1;stroke-dasharray:none;stroke:#f5c211" /> </g> <path id="path1255" clip-path="none" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#99c1f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 62,8 c -2.216,0 -4,1.784 -4,4 0,2.216 1.784,4 4,4 h 2 V 48 L 35.788194,88.799806 C 32,94 31.875993,97.969115 32,103.5 v 0.004 c -2.2e-5,0.002 2.3e-5,0.004 0,0.006 0.0051,9.12045 7.377893,16.49 16.5,16.49 h 55 c 9.12485,0 16.49879,-7.3733 16.5,-16.49805 0.71769,-7.465658 -2.36777,-12.567654 -6.39048,-18.273159 C 104.99104,72.981294 96.78373,59.920781 88,48 V 16 h 2 c 2.216,0 4,-1.784 4,-4 0,-2.216 -1.784,-4 -4,-4 z" /> <path d="M 72,47 H 82 M 72,43 H 82 M 72,39 H 82 M 68,35 H 80 M 72,31 H 82 M 72,27 H 82 M 72,23 H 82 M 68,19 h 10" style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.519685" id="path1259" clip-path="url(#clipPath38)" transform="translate(12)" /> <path style="opacity:0.8;fill:none;stroke:url(#radialGradient43);stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none" d="M 90.92386,10 H 63.076141" id="path42" /> <path id="path37" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#26a269;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 94.64453,80.691406 C 89.43563,80.518324 82.75519,82.625977 76,84.601562 v 27.197268 h 24.67773 c 6.17597,0 11.06668,-4.88623 11.07618,-11.0586 -0.41045,-6.834077 -5.97622,-11.297717 -9.625,-16.751949 -1.76361,-2.267487 -4.35904,-3.193025 -7.48438,-3.296875 z" /> <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#33d17a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 49.376666,83.988397 c -3.648789,5.454232 -9.213212,9.917672 -9.623659,16.751753 0.0095,6.17237 4.900254,11.05802 11.07622,11.05802 h 49.847543 c 6.18003,0 11.07343,-4.89254 11.07624,-11.07259 -0.24965,-6.611914 -5.8874,-11.661514 -9.62732,-16.737183 -11.53251,13.015262 -43.523002,-11.862022 -52.749024,0 z" id="path1265" /> <path id="path40" clip-path="none" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#62a0ea;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 120.08008,102.38086 c -0.0172,0.36796 -0.0436,0.74129 -0.0801,1.12109 C 119.99879,112.6267 112.62485,120 103.5,120 h -55 c -9.122107,0 -16.4949,-7.36978 -16.5,-16.49023 2.3e-5,-0.002 -2.2e-5,-0.004 0,-0.006 V 103.5 c -0.0079,-0.35143 -0.01453,-0.69562 -0.01953,-1.03516 -0.01875,0.96755 -0.0043,1.97204 0.01953,3.03516 v 0.004 c -2.2e-5,0.002 2.3e-5,0.004 0,0.006 0.0051,9.12022 7.377893,16.49 16.5,16.49 h 55 c 9.12485,0 16.49879,-7.3733 16.5,-16.49805 0.10455,-1.08758 0.12809,-2.12466 0.0801,-3.12109 z" /> <path style="opacity:0.4;fill:none;stroke:url(#radialGradient42);stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none" d="m 49.25,95.375 22.625,-39" id="path41" /> <path id="path43" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#99c1f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 57.003906,80.6875 c -3.189261,0.08016 -5.836489,0.998757 -7.626953,3.300781 -3.648789,5.454232 -9.2126,9.917872 -9.623047,16.751949 0.0095,6.17237 4.900206,11.0586 11.076172,11.0586 H 76 100.67773 c 0.386,0 0.7675,-0.0193 1.14258,-0.0566 0.37468,-0.0373 0.74345,-0.0933 1.10547,-0.16602 0.49361,-0.0992 0.9693,-0.24107 1.43555,-0.40234 0.2184,-0.0755 0.43871,-0.14592 0.65039,-0.23438 8e-4,-3.3e-4 0.001,-0.002 0.002,-0.002 0.33062,-0.13825 0.654,-0.29263 0.9668,-0.46094 0.001,-6.9e-4 0.003,-0.001 0.004,-0.002 0.0395,-0.0213 0.076,-0.0466 0.11523,-0.0684 0.58237,-0.32298 1.13453,-0.69212 1.64453,-1.11133 10e-4,-0.001 0.002,-0.003 0.004,-0.004 0.27135,-0.22327 0.53094,-0.45901 0.77929,-0.70704 0.001,-0.001 0.003,-0.003 0.004,-0.004 0.0235,-0.0235 0.0432,-0.0506 0.0664,-0.0742 0.46964,-0.47808 0.89943,-0.99616 1.27539,-1.55469 10e-4,-0.002 0.003,-0.004 0.004,-0.006 0.03,-0.0447 0.0546,-0.0935 0.084,-0.13867 0.16452,-0.25276 0.32299,-0.50847 0.46679,-0.77539 0.33795,-0.62726 0.61852,-1.29281 0.83204,-1.98828 0.21372,-0.69613 0.36054,-1.42345 0.43554,-2.17383 0.037,-0.3702 0.0579,-0.74805 0.0586,-1.12891 -3e-4,-0.005 3e-4,-0.0106 0,-0.0156 -0.24904,-6.590629 -5.85188,-11.628281 -9.5918,-16.687501 -0.0109,-0.01624 -0.0223,-0.03257 -0.0332,-0.04883 -1.76361,-2.267487 -4.35904,-3.193025 -7.48438,-3.296875 C 89.43563,80.518324 82.75519,82.625978 76,84.601562 v 0.144532 C 69.139089,82.748422 62.319341,80.553903 57.003906,80.6875 Z" /> </svg> ����������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.System.svg�����������������������������0000664�0000000�0000000�00000016400�15234476640�0025741�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="262.5" y2="232"> <stop offset="0" stop-color="#9a9996"/> <stop offset="1" stop-color="#77767b"/> </linearGradient> <radialGradient id="b" cx="-243.066583" cy="-74.599978" gradientUnits="userSpaceOnUse" r="28.266656"> <stop offset="0" stop-color="#d5d3cf"/> <stop offset="1" stop-color="#949390"/> </radialGradient> <linearGradient id="c" gradientUnits="userSpaceOnUse" x1="203.999985" x2="267.999985" y1="-64" y2="-64"> <stop offset="0" stop-color="#d5d3cf"/> <stop offset="1" stop-color="#f6f5f4"/> </linearGradient> <g stroke-width="8"> <path d="m 67 122 h -6 l -2 -16 h 10 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round"/> <path d="m 61 10 h 6 l 2 16 h -10 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round"/> <path d="m 667.000092 291.999908 h -6 l -2 -16 h 10 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0 1 -1 0 299.999908 -598.000092)"/> <path d="m 661.000092 179.999908 h 6 l 2 16 h -10 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0 1 -1 0 299.999908 -598.000092)"/> <path d="m 666.999051 291.998922 l -5.999272 -0.00042 l -2.001544 -15.998026 l 9.999915 0.000049 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.5 0.866025 -0.866025 -0.5 600.381916 -391.041005)"/> <path d="m 661.001107 180.000804 l 5.999273 0.000419 l 2.001544 15.998026 l -10.003298 0.001905 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.5 0.866025 -0.866025 -0.5 600.381916 -391.041005)"/> <path d="m 667.000347 291.998468 l -5.999273 0.00042 l -2.002482 -16.00035 l 10.003298 0.001905 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.866025 0.5 -0.5 -0.866025 757.040822 -61.618176)"/> <path d="m 660.999745 180.00119 l 5.999273 -0.00042 l 2.002481 16.00035 l -10.003298 -0.001904 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.866025 0.5 -0.5 -0.866025 757.040822 -61.618176)"/> <path d="m 666.999018 291.999047 l -5.999273 -0.00042 l -2.001544 -15.998026 l 10.003298 -0.001904 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.866025 0.5 -0.5 0.866025 -393.040914 -470.382008)"/> <path d="m 661.001074 180.000929 l 5.999273 0.00042 l 2.001543 15.998025 l -10.003298 0.001905 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.866025 0.5 -0.5 0.866025 -393.040914 -470.382008)"/> <path d="m 667.00038 291.998593 l -5.999273 0.00042 l -2.002481 -16.00035 l 10.003298 0.001905 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.5 0.866025 -0.866025 0.5 -63.618084 -627.040914)"/> <path d="m 660.999779 180.001315 l 5.999272 -0.00042 l 1.999099 15.998397 l -9.999915 0.000049 z m 0 0" fill="#9a9996" stroke="#9a9996" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.5 0.866025 -0.866025 0.5 -63.618084 -627.040914)"/> <path d="m 67 120 h -6 l -2 -16 h 10 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round"/> <path d="m 61 8 h 6 l 2 16 h -10 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round"/> <path d="m 667.000092 291.999908 h -6 l -2 -16 h 10 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0 1 -1 0 299.999908 -600.000092)"/> <path d="m 661.000092 179.999908 h 6 l 2 16 h -10 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0 1 -1 0 299.999908 -600.000092)"/> <path d="m 666.999051 291.998922 l -5.999272 -0.00042 l -2.001544 -15.998026 l 9.999915 0.000049 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.5 0.866025 -0.866025 -0.5 600.381916 -393.041005)"/> <path d="m 661.001107 180.000804 l 5.999273 0.000419 l 2.001544 15.998026 l -10.003298 0.001905 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.5 0.866025 -0.866025 -0.5 600.381916 -393.041005)"/> <path d="m 667.000347 291.998468 l -5.999273 0.00042 l -2.002482 -16.00035 l 10.003298 0.001905 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.866025 0.5 -0.5 -0.866025 757.040822 -63.618176)"/> <path d="m 660.999745 180.00119 l 5.999273 -0.00042 l 2.002481 16.00035 l -10.003298 -0.001904 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(-0.866025 0.5 -0.5 -0.866025 757.040822 -63.618176)"/> <path d="m 666.999018 291.999047 l -5.999273 -0.00042 l -2.001544 -15.998026 l 10.003298 -0.001904 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.866025 0.5 -0.5 0.866025 -393.040914 -472.382008)"/> <path d="m 661.001074 180.000929 l 5.999273 0.00042 l 2.001543 15.998025 l -10.003298 0.001905 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.866025 0.5 -0.5 0.866025 -393.040914 -472.382008)"/> <path d="m 667.00038 291.998593 l -5.999273 0.00042 l -2.002481 -16.00035 l 10.003298 0.001905 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.5 0.866025 -0.866025 0.5 -63.618084 -629.040914)"/> <path d="m 660.999779 180.001315 l 5.999272 -0.00042 l 1.999099 15.998397 l -9.999915 0.000049 z m 0 0" fill="#f6f5f4" stroke="#f6f5f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0.5 0.866025 -0.866025 0.5 -63.618084 -629.040914)"/> </g> <path d="m 100 238 c 0 19.882812 -16.117188 36 -36 36 s -36 -16.117188 -36 -36 s 16.117188 -36 36 -36 s 36 16.117188 36 36 z m 0 0" fill="none" stroke="url(#a)" stroke-width="24" transform="matrix(1 0 0 1 0 -172)"/> <path d="m 102 64 c 0 20.988281 -17.011719 38 -38 38 s -38 -17.011719 -38 -38 s 17.011719 -38 38 -38 s 38 17.011719 38 38 z m 0 0" fill="none" stroke="#f6f5f4" stroke-width="20"/> <path d="m -209.5 -64 c 0 14.636719 -11.863281 26.5 -26.5 26.5 s -26.5 -11.863281 -26.5 -26.5 s 11.863281 -26.5 26.5 -26.5 s 26.5 11.863281 26.5 26.5 z m 0 0" fill="none" stroke="url(#b)" stroke-linecap="square" stroke-linejoin="round" stroke-width="5" transform="matrix(0 -1 -1 0 0 -172)"/> <path d="m 268 -64 c 0 17.671875 -14.328125 32 -32 32 s -32 -14.328125 -32 -32 s 14.328125 -32 32 -32 s 32 14.328125 32 32 z m 0 0" fill="none" stroke="url(#c)" stroke-linecap="square" stroke-linejoin="round" stroke-width="8" transform="matrix(0 1 -1 0 0 -172)"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Trending.svg���������������������������0000664�0000000�0000000�00000030062�15234476640�0026227�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="128" height="128" viewBox="0 0 128 128" fill="none" version="1.1" id="svg22" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <g id="g29" transform="matrix(1.1054942,0,0,1.1054942,-3.6317307,-6.6576791)" style="stroke-width:0.904573"> <path opacity="0.154797" d="M 109.77912,10.541422 C 105.20955,6.7078031 98.576734,5.6399497 91.082754,7.5315008 83.588768,9.4230595 75.729233,14.148844 68.92842,20.85252 l 0.02436,0.02044 c -0.980446,0.85371 -1.909289,1.792625 -2.772498,2.821338 L 41.735774,52.825602 c -8.88432,10.587727 -7.512993,26.263673 3.074657,35.147928 l 0.0011,9e-4 c 10.58765,8.884255 26.263596,7.512928 35.147915,-3.074799 L 104.40393,55.768328 c 0.86321,-1.028713 1.62659,-2.106472 2.29709,-3.220256 l 0.0188,0.01575 c 5.42146,-7.862155 8.71097,-16.423504 9.27214,-24.132622 0.56125,-7.709061 -1.64283,-14.055711 -6.21281,-17.889777 z" fill="#000000" id="path1" style="stroke-width:0.904573" /> <path d="m 78.8693,100.249 c 0,10.73 -12.6133,25.726 -12.6133,25.726 0,0 -12.6134,-14.972 -12.6134,-25.726 0,-4.5958 5.647,-8.3215 12.6134,-8.3215 6.9661,0 12.6133,3.7257 12.6133,8.3215 z" fill="url(#paint0_linear_163_603)" id="path3" style="fill:url(#paint0_linear_163_603);stroke-width:0.904573" transform="rotate(40.000512,74.171532,64.740275)" mask="url(#mask27)" /> <path d="m 66.2562,112.625 c 13.3255,0 24.1278,-7.127 24.1278,-15.9182 0,-8.7913 -10.8023,-15.918 -24.1278,-15.918 -13.3254,0 -24.1278,7.1267 -24.1278,15.918 0,8.7912 10.8024,15.9182 24.1278,15.9182 z" fill="url(#paint1_radial_163_603)" id="path4" style="fill:url(#paint1_radial_163_603);stroke-width:0.904573" transform="rotate(40.000512,74.171532,64.740275)" mask="url(#mask26)" /> <path d="m 66.2559,106.183 c 7.9322,0 14.3625,-4.242 14.3625,-9.4756 0,-5.2331 -6.4303,-9.4755 -14.3625,-9.4755 -7.9323,0 -14.3626,4.2424 -14.3626,9.4755 0,5.2336 6.4303,9.4756 14.3626,9.4756 z" fill="url(#paint2_radial_163_603)" id="path5" style="fill:url(#paint2_radial_163_603);stroke-width:0.904573" transform="rotate(40.000512,74.171532,64.740275)" mask="url(#mask25)" /> <path d="m 66.256,100.049 c 2.7975,0 5.0653,-1.4964 5.0653,-3.342 0,-1.8456 -2.2678,-3.3418 -5.0653,-3.3418 -2.7975,0 -5.0653,1.4962 -5.0653,3.3418 0,1.8456 2.2678,3.342 5.0653,3.342 z" fill="#ffffff" id="path6" transform="rotate(40.000512,74.171532,64.740275)" mask="url(#mask24)" style="stroke-width:0.904573" /> <path d="m 100.78366,20.163742 -3.1e-4,-2.57e-4 C 90.228485,11.306741 74.492241,12.683342 65.635498,23.238207 L 41.191567,52.36882 c -8.856743,10.554864 -7.48027,26.291261 3.074594,35.148004 l 3.06e-4,2.57e-4 c 10.554864,8.856744 26.291237,7.479989 35.14798,-3.074875 L 103.85838,55.311593 c 8.85674,-10.554864 7.48014,-26.291108 -3.07472,-35.147851 z" fill="#f6f5f4" id="path7" style="stroke-width:0.904573" /> <path d="m 64,64 c 5.610927,4.708212 13.97622,3.976348 18.684368,-1.634502 C 87.39258,56.754571 86.660793,48.389342 81.049866,43.68113 75.438939,38.972917 67.07371,39.704705 62.365498,45.315632 57.65735,50.926482 58.389073,59.291788 64,64 Z" fill="#ffffff" id="path8" style="stroke-width:0.904573" /> <path d="m 66.407819,61.130214 c 4.025916,3.378206 10.028186,2.8532 13.406456,-1.172793 3.378207,-4.025916 2.853124,-10.02825 -1.172792,-13.406456 -4.025993,-3.37827 -10.02825,-2.853124 -13.406456,1.172792 -3.378271,4.025993 -2.853201,10.028186 1.172792,13.406457 z" fill="#5e5c64" id="path9" style="stroke-width:0.904573" /> <path d="m 100.78373,20.163806 c -1.543336,-1.295038 -3.196629,-2.365386 -4.919488,-3.228062 6.731118,9.06511 6.632078,21.819996 -0.95759,30.864845 L 70.462978,76.930896 c -7.589409,9.044542 -20.133363,11.356718 -30.229253,6.301514 1.171951,1.581283 2.525821,3.018886 4.032819,4.284736 10.587651,8.884255 26.263725,7.512775 35.14798,-3.074876 L 103.8582,55.311964 c 8.88444,-10.587881 7.51318,-26.263903 -3.07447,-35.148158 z" fill="#c0bfbc" fill-opacity="0.17" id="path10" style="stroke-width:0.904573" /> <path d="M 109.63422,9.9844804 C 105.01999,6.1129131 98.322258,5.0343724 90.754748,6.9443233 83.187231,8.8542818 75.250613,13.626346 68.383074,20.395696 l 38.161136,32.021577 c 5.47424,-7.938746 8.79584,-16.583607 9.36268,-24.367936 0.56685,-7.784336 -1.65841,-14.193022 -6.27267,-18.0648566 z" fill="#ed333b" id="path11" style="stroke-width:0.904573" /> <path d="m 40.43961,59.068672 -2.860129,8.474669 c -1.030879,3.05462 -3.157537,5.618585 -5.968977,7.19634 -2.811364,1.57782 -6.107659,2.057116 -9.252457,1.346371 L 10.477566,73.39858 C 9.5661019,73.192476 8.7230787,72.755304 8.0295302,72.128953 7.3353389,71.503368 6.8141096,70.709617 6.5159282,69.823671 6.217104,68.93849 6.1517261,67.990726 6.3251409,67.072326 c 0.172772,-0.917634 0.5794976,-1.776023 1.180587,-2.492205 l 2.9227861,-3.483178 c 1.190456,-1.418704 2.664813,-2.571506 4.328406,-3.384326 1.663528,-0.812744 3.479189,-1.267425 5.329535,-1.334534 l 17.863644,-0.64755 c 0.409258,-0.01479 0.815938,0.06994 1.185262,0.246958 0.369324,0.177014 0.690107,0.440967 0.934963,0.769269 0.244857,0.328302 0.406316,0.711031 0.470661,1.115528 0.06427,0.404434 0.02957,0.818377 -0.101375,1.206384 z" fill="#000000" fill-opacity="0.0937181" id="path12" style="stroke-width:0.904573" /> <path d="m 41.389661,57.936467 -2.86013,8.474669 c -1.030879,3.05462 -3.157536,5.618585 -5.968977,7.19634 -2.811364,1.577819 -6.107659,2.057116 -9.252457,1.346371 L 11.427616,72.266375 C 10.516152,72.06027 9.6731289,71.623098 8.9795804,70.996747 8.2853891,70.371162 7.7641598,69.577412 7.4659784,68.691466 7.1671542,67.806285 7.1017763,66.85852 7.2751911,65.94012 c 0.172772,-0.917634 0.5794976,-1.776022 1.180587,-2.492204 l 2.9227859,-3.483178 c 1.190392,-1.418627 2.664813,-2.571506 4.328406,-3.384327 1.663593,-0.81282 3.479189,-1.267424 5.329536,-1.334533 l 17.863643,-0.647551 c 0.409259,-0.01479 0.815938,0.06995 1.185262,0.246959 0.369324,0.177014 0.690172,0.44089 0.935028,0.769192 0.244856,0.328302 0.406251,0.711107 0.470661,1.115529 0.06427,0.404433 0.02951,0.818452 -0.101439,1.20646 z" fill="#B0AFAC" id="path13" style="fill:#edeceb;fill-opacity:1;stroke-width:0.904573" /> <path d="m 73.094155,86.469586 -7.849417,4.288084 c -2.829154,1.54566 -4.984921,4.085199 -6.05056,7.127882 -1.065715,3.042618 -0.96547,6.372008 0.280589,9.345688 l 4.709772,11.23366 c 0.361463,0.86203 0.937756,1.61582 1.675091,2.19015 0.736692,0.57509 1.609271,0.9509 2.53361,1.09079 0.923697,0.14066 1.868188,0.0403 2.742145,-0.29028 0.874081,-0.32915 1.648658,-0.87887 2.249671,-1.59512 l 2.922786,-3.48317 c 1.190456,-1.41871 2.069359,-3.07129 2.580906,-4.85081 0.511483,-1.77945 0.644399,-3.64601 0.388675,-5.48036 L 76.813847,88.341681 c -0.05649,-0.405611 -0.210631,-0.791464 -0.449005,-1.124379 -0.238452,-0.33298 -0.554093,-0.603061 -0.919923,-0.787194 -0.36583,-0.184134 -0.77078,-0.276687 -1.180306,-0.269822 -0.409449,0.0069 -0.81108,0.112973 -1.170458,0.3093 z" fill="#000000" fill-opacity="0.0937181" id="path14" style="stroke-width:0.904573" /> <path d="m 57.148063,75.057421 c 0.659764,-0.786262 0.557148,-1.958475 -0.229038,-2.618175 -0.786262,-0.659765 -1.958411,-0.557225 -2.618175,0.229037 L 34.195011,96.629054 c -0.659507,0.785956 -0.556968,1.958105 0.229294,2.617869 0.786185,0.6597 1.958411,0.557225 2.617918,-0.228731 z" fill="#deddda" id="path15" style="stroke-width:0.904573" /> <path d="m 112.62321,13.647259 c -2.38201,9.779511 -7.72747,20.696735 -15.225219,31.095024 l 9.369799,7.86234 c 4.77769,-6.928799 7.91626,-14.426004 8.96776,-21.421859 1.05146,-6.995793 -0.0378,-13.132868 -3.11234,-17.535505 z" fill="#e01b24" id="path16" style="stroke-width:0.904573" /> <path d="m 74.044205,85.337381 -7.849416,4.288084 c -2.829155,1.54566 -4.984922,4.085198 -6.05056,7.127882 -1.065715,3.04262 -0.965471,6.372003 0.280588,9.345693 l 4.709773,11.23365 c 0.361462,0.86203 0.937755,1.61583 1.67509,2.19015 0.736693,0.57509 1.609271,0.95091 2.533611,1.0908 0.923697,0.14065 1.868187,0.0403 2.742145,-0.29028 0.87408,-0.32916 1.648657,-0.87887 2.24967,-1.59512 l 2.922787,-3.48318 c 1.190455,-1.4187 2.069358,-3.07129 2.580905,-4.85081 0.511483,-1.77944 0.644463,-3.64608 0.388675,-5.48035 L 77.763897,87.209476 c -0.05649,-0.405611 -0.210631,-0.791465 -0.449005,-1.12438 -0.238451,-0.332979 -0.554028,-0.603137 -0.919858,-0.78727 -0.36583,-0.184134 -0.770844,-0.276611 -1.180306,-0.269822 -0.40945,0.0069 -0.811145,0.11305 -1.170523,0.309377 z" fill="#ffffff" id="path17" style="fill:#f6f5f4;fill-opacity:1;stroke-width:0.904573" /> </g> <defs id="defs22"> <linearGradient id="paint0_linear_163_603" x1="66.2411" y1="98.0348" x2="66.2411" y2="131.728" gradientUnits="userSpaceOnUse"> <stop stop-color="#E01B24" id="stop17" /> <stop offset="1" stop-color="#E01B24" stop-opacity="0" id="stop18" /> </linearGradient> <radialGradient id="paint1_radial_163_603" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(24.1281,0,0,15.9182,66.2568,96.7072)"> <stop stop-color="#E5A50A" id="stop19" /> <stop offset="1" stop-color="#E5A50A" stop-opacity="0" id="stop20" /> </radialGradient> <radialGradient id="paint2_radial_163_603" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(14.3625,0,0,9.4755,66.2548,96.7066)"> <stop stop-color="white" id="stop21" /> <stop offset="1" stop-color="white" stop-opacity="0" id="stop22" /> </radialGradient> <mask maskUnits="userSpaceOnUse" id="mask24"> <g id="g25" transform="rotate(-40.000512,74.171532,64.740275)"> <path d="m 54.945393,94.961032 c -6.897185,8.219598 -26.198807,11.599348 -26.198807,11.599348 0,0 -0.03843,-19.576951 6.874178,-27.814931 2.954155,-3.520561 9.675065,-2.744538 15.011367,1.733232 5.336302,4.477771 7.267416,10.96179 4.313262,14.482351 z" fill="#ffffff" id="path24" /> </g> </mask> <mask maskUnits="userSpaceOnUse" id="mask25"> <g id="g26" transform="rotate(-40.000512,74.171532,64.740275)"> <path d="m 54.945393,94.961032 c -6.897185,8.219598 -26.198807,11.599348 -26.198807,11.599348 0,0 -0.03843,-19.576951 6.874178,-27.814931 2.954155,-3.520561 9.675065,-2.744538 15.011367,1.733232 5.336302,4.477771 7.267416,10.96179 4.313262,14.482351 z" fill="#ffffff" id="path25" /> </g> </mask> <mask maskUnits="userSpaceOnUse" id="mask26"> <g id="g27" transform="rotate(-40.000512,74.171532,64.740275)"> <path d="m 54.945393,94.961032 c -6.897185,8.219598 -26.198807,11.599348 -26.198807,11.599348 0,0 -0.03843,-19.576951 6.874178,-27.814931 2.954155,-3.520561 9.675065,-2.744538 15.011367,1.733232 5.336302,4.477771 7.267416,10.96179 4.313262,14.482351 z" fill="#ffffff" id="path26" /> </g> </mask> <mask maskUnits="userSpaceOnUse" id="mask27"> <g id="g28" transform="rotate(-40.000512,74.171532,64.740275)"> <path d="m 54.945393,94.961032 c -6.897185,8.219598 -26.198807,11.599348 -26.198807,11.599348 0,0 -0.03843,-19.576951 6.874178,-27.814931 2.954155,-3.520561 9.675065,-2.744538 15.011367,1.733232 5.336302,4.477771 7.267416,10.96179 4.313262,14.482351 z" fill="#ffffff" id="path27" /> </g> </mask> </defs> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Updated.svg����������������������������0000664�0000000�0000000�00000003231�15234476640�0026041�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M63.5475 126.608C97.0473 126.608 124.204 99.4514 124.204 65.9515C124.204 32.4517 97.0473 5.29468 63.5475 5.29468C30.0476 5.29468 2.89062 32.4517 2.89062 65.9515C2.89062 99.4514 30.0476 126.608 63.5475 126.608Z" fill="url(#paint0_linear_164_3)"/> <path d="M63.5475 122.895C97.0473 122.895 124.204 95.7377 124.204 62.2379C124.204 28.738 97.0473 1.58105 63.5475 1.58105C30.0476 1.58105 2.89062 28.738 2.89062 62.2379C2.89062 95.7377 30.0476 122.895 63.5475 122.895Z" fill="url(#paint1_linear_164_3)"/> <path d="M63.5475 123.795C97.0473 123.795 124.204 96.6376 124.204 63.1378C124.204 29.6379 97.0473 2.48096 63.5475 2.48096C30.0476 2.48096 2.89062 29.6379 2.89062 63.1378C2.89062 96.6376 30.0476 123.795 63.5475 123.795Z" fill="url(#paint2_linear_164_3)"/> <path d="M42.3027 65.8508L58.5327 82.0808L91.7326 48.8809" stroke="#8FF0A4" stroke-width="16.2344" stroke-linecap="round"/> <defs> <linearGradient id="paint0_linear_164_3" x1="16.2899" y1="107.732" x2="128.153" y2="107.732" gradientUnits="userSpaceOnUse"> <stop stop-color="#26A269"/> <stop offset="0.285848" stop-color="#1EEF8F"/> <stop offset="1" stop-color="#165F3D"/> </linearGradient> <linearGradient id="paint1_linear_164_3" x1="76.7017" y1="7.8156" x2="76.7017" y2="71.674" gradientUnits="userSpaceOnUse"> <stop stop-color="#F9EF69"/> <stop offset="1" stop-color="#F5C211"/> </linearGradient> <linearGradient id="paint2_linear_164_3" x1="58.533" y1="82.0809" x2="110.607" y2="2.29958" gradientUnits="userSpaceOnUse"> <stop stop-color="#26A269"/> <stop offset="1" stop-color="#F9F06B"/> </linearGradient> </defs> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Utilities.svg��������������������������0000664�0000000�0000000�00000013556�15234476640�0026441�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M29.1431 8.13061V26.941L37.0716 28.1072V6.96436L29.1431 8.13061Z" fill="#ED333B"/> <path d="M50.2856 3L37.2417 5.00666C36.4584 5.12724 35.7442 5.52415 35.2282 6.12558C34.7123 6.72702 34.4286 7.49327 34.4285 8.28571V26.7857C34.4286 27.5782 34.7123 28.3444 35.2282 28.9458C35.7442 29.5473 36.4584 29.9442 37.2417 30.0648L50.2856 32.0714H50.9463V3H50.2856Z" fill="#F66151"/> <path d="M50.2856 3V32.0714V32.7321H119V32.0714V13.5714C119 10.7677 117.886 8.07883 115.904 6.0963C113.921 4.11377 111.232 3 108.429 3H50.2856Z" fill="#3584E4"/> <path d="M9.41207 13.4638L16.5893 11.8918V23.1794L9.41207 21.6074C9.01749 21.521 8.65904 21.2534 8.40047 20.8523C8.14191 20.4512 8 19.9426 8 19.4169V15.6544C8 15.1287 8.14191 14.62 8.40047 14.2189C8.65904 13.8178 9.01749 13.5502 9.41207 13.4638Z" fill="#9A9996"/> <path d="M29.1737 6.24877L18.5408 7.88419C17.8136 7.99605 17.1504 8.36455 16.6712 8.92301C16.1921 9.48147 15.9287 10.193 15.9287 10.9288V24.1431C15.9287 24.8789 16.1921 25.5905 16.6712 26.1489C17.1504 26.7074 17.8136 27.0759 18.5408 27.1877L29.1737 28.8232C29.4968 28.8729 29.8269 28.8521 30.1412 28.7623C30.4555 28.6725 30.7467 28.5158 30.9948 28.303C31.243 28.0901 31.4421 27.8261 31.5786 27.5291C31.7152 27.232 31.7859 26.909 31.7859 26.5821V8.48985C31.7859 8.16294 31.7152 7.8399 31.5786 7.54287C31.4421 7.24583 31.243 6.98184 30.9948 6.76897C30.7467 6.55611 30.4555 6.39941 30.1412 6.30962C29.8269 6.21983 29.4968 6.19907 29.1737 6.24877Z" fill="#F66151"/> <path d="M59.1008 44.4159L59.213 44.6404C59.7235 45.6614 59.9893 46.7872 59.9893 47.9288C59.9893 49.0703 59.7235 50.1962 59.213 51.2172L59.1008 51.4416C59.0074 51.6284 58.9633 51.8359 58.9727 52.0445C58.9821 52.2531 59.0446 52.4559 59.1544 52.6335C59.2642 52.8111 59.4175 52.9577 59.5999 53.0594C59.7823 53.1611 59.9877 53.2145 60.1965 53.2145H71.4286V42.6431H60.1965C59.9877 42.6431 59.7823 42.6964 59.5999 42.7981C59.4175 42.8998 59.2642 43.0464 59.1544 43.2241C59.0446 43.4017 58.9821 43.6044 58.9727 43.813C58.9633 44.0216 59.0074 44.2292 59.1008 44.4159Z" fill="#F66151"/> <path d="M50.2856 32.0715C50.2856 37.91 55.0186 42.643 60.8571 42.643H63.4999H64.8214C65.5512 42.643 66.1428 43.2346 66.1428 43.9644V51.893C66.1428 52.6228 65.5512 53.2144 64.8214 53.2144C64.4255 53.2144 64.2701 53.7278 64.5994 53.9474L70.3819 57.802L74.0714 92.8573V95.5001H87.2856V92.8573L92.5714 42.643V32.0715H50.2856Z" fill="#1C71D8"/> <path d="M92.5714 32.0715C89.7677 32.0715 87.0788 33.1853 85.0963 35.1678C83.1138 37.1504 82 39.8392 82 42.643L87.2857 92.8573V95.5001H97.8571V92.8573L92.987 46.5853C92.9346 46.0879 92.9874 45.5851 93.1419 45.1094C93.2964 44.6338 93.5491 44.1959 93.8837 43.8242C94.2183 43.4524 94.6273 43.1552 95.0842 42.9517C95.5411 42.7482 96.0356 42.643 96.5357 42.643H108.429C114.267 42.643 119 37.91 119 32.0715H92.5714Z" fill="#1A5FB4"/> <path d="M66.1429 92.8572C62.7941 92.857 59.6124 94.3197 57.4323 96.8615L48.4411 107.345C46.2206 109.934 45 113.232 45 116.643V119.286C45 122.205 47.3665 124.571 50.2857 124.571H100.5C103.419 124.571 105.786 122.205 105.786 119.286V111.357V98.1429C105.786 96.741 105.229 95.3966 104.238 94.4053C103.246 93.4141 101.902 92.8572 100.5 92.8572H66.1429Z" fill="#3584E4"/> <path d="M70.382 57.8017L69.8099 57.4203L63.5 53.2141H71.4286V58.4998L70.382 57.8017Z" fill="#1C71D8"/> <path d="M46.044 111.357C45.3638 113.037 45.0095 114.831 45 116.643V119.286C45 122.205 47.3665 124.571 50.2857 124.571H100.5C103.419 124.571 105.786 122.205 105.786 119.286V111.357H46.044Z" fill="#1A5FB4"/> <path d="M72.9589 82.2858L70.3816 57.8015L70.3822 57.8019C72.1532 58.9483 73.6453 60.4765 74.749 62.2743C75.8527 64.0722 76.5402 66.0943 76.7611 68.1923L77.6913 77.0291C77.7611 77.6924 77.6907 78.3629 77.4847 78.9972C77.2787 79.6315 76.9416 80.2154 76.4954 80.7111C76.0492 81.2067 75.5038 81.603 74.8945 81.8743C74.2853 82.1456 73.6258 82.2858 72.9589 82.2858Z" fill="#1A5FB4"/> <path d="M64.8214 36.0359H72.75C73.4821 36.0359 74.0714 36.6252 74.0714 37.3573C74.0714 38.0894 73.4821 38.6787 72.75 38.6787H64.8214C64.0894 38.6787 63.5 38.0894 63.5 37.3573C63.5 36.6252 64.0894 36.0359 64.8214 36.0359Z" fill="#1A5FB4"/> <path d="M38.393 8.94653H46.3215C47.0536 8.94653 47.643 9.53589 47.643 10.268C47.643 11 47.0536 11.5894 46.3215 11.5894H38.393C37.6609 11.5894 37.0715 11 37.0715 10.268C37.0715 9.53589 37.6609 8.94653 38.393 8.94653Z" fill="#241F31" fill-opacity="0.344048"/> <path d="M38.393 16.2144H46.3215C47.0536 16.2144 47.643 16.8037 47.643 17.5358C47.643 18.2679 47.0536 18.8572 46.3215 18.8572H38.393C37.6609 18.8572 37.0715 18.2679 37.0715 17.5358C37.0715 16.8037 37.6609 16.2144 38.393 16.2144Z" fill="#241F31" fill-opacity="0.344048"/> <path d="M38.393 23.4822H46.3215C47.0536 23.4822 47.643 24.0715 47.643 24.8036C47.643 25.5357 47.0536 26.125 46.3215 26.125H38.393C37.6609 26.125 37.0715 25.5357 37.0715 24.8036C37.0715 24.0715 37.6609 23.4822 38.393 23.4822Z" fill="#241F31" fill-opacity="0.344048"/> <path d="M19.8927 20.1787H27.8213C28.5534 20.1787 29.1427 20.7681 29.1427 21.5001C29.1427 22.2322 28.5534 22.8216 27.8213 22.8216H19.8927C19.1606 22.8216 18.5713 22.2322 18.5713 21.5001C18.5713 20.7681 19.1606 20.1787 19.8927 20.1787Z" fill="#241F31" fill-opacity="0.344048"/> <path d="M19.8927 12.2502H27.8213C28.5534 12.2502 29.1427 12.8396 29.1427 13.5717C29.1427 14.3037 28.5534 14.8931 27.8213 14.8931H19.8927C19.1606 14.8931 18.5713 14.3037 18.5713 13.5717C18.5713 12.8396 19.1606 12.2502 19.8927 12.2502Z" fill="#241F31" fill-opacity="0.344048"/> <path d="M113.714 14.2321C113.714 15.8092 113.088 17.3217 111.972 18.4368C110.857 19.552 109.345 20.1785 107.768 20.1785C106.191 20.1785 104.678 19.552 103.563 18.4368C102.448 17.3217 101.821 15.8092 101.821 14.2321C101.821 12.655 102.448 11.1425 103.563 10.0273C104.678 8.91214 106.191 8.28564 107.768 8.28564C109.345 8.28564 110.857 8.91214 111.972 10.0273C113.088 11.1425 113.714 12.655 113.714 14.2321Z" fill="#1C71D8"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolumni.Bazaar.Work.svg�������������������������������0000664�0000000�0000000�00000020454�15234476640�0025403�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg height="128px" viewBox="0 0 128 128" width="128px" version="1.1" id="svg19" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs19"> <radialGradient xlink:href="#linearGradient1608" id="radialGradient5732" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.84852825,0,-8.5608048)" cx="-239.48822" cy="-51.803455" fx="-239.48822" fy="-51.803455" r="11.785111" /> <linearGradient id="linearGradient1608"> <stop style="stop-color:#f9bbe8;stop-opacity:1" offset="0" id="stop1604" /> <stop style="stop-color:#f26b9e;stop-opacity:1" offset="1" id="stop1606" /> </linearGradient> <linearGradient xlink:href="#linearGradient1005" id="linearGradient5734" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.18399251,0.36798506,0.18399251,0.36798507,68.781941,0.707405)" x1="128.81717" y1="-97.698288" x2="158.51802" y2="-127.39915" /> <linearGradient id="linearGradient1005"> <stop id="stop1001" offset="0" style="stop-color:#d0bb8e;stop-opacity:1" /> <stop id="stop1003" offset="1" style="stop-color:#ffffff;stop-opacity:1" /> </linearGradient> <linearGradient xlink:href="#linearGradient5674" id="linearGradient5736" gradientUnits="userSpaceOnUse" x1="-253.63036" y1="-64.517502" x2="-230.06013" y2="-64.517502" gradientTransform="matrix(0.84852828,0,0,1,187.21253,166.5175)" /> <linearGradient id="linearGradient5674"> <stop style="stop-color:#9a9996;stop-opacity:1" offset="0" id="stop5670" /> <stop id="stop5676" offset="0.5" style="stop-color:#deddda;stop-opacity:1" /> <stop style="stop-color:#c0bfbc;stop-opacity:1" offset="1" id="stop5672" /> </linearGradient> </defs> <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="20.00001801213" x2="108.00010899163" y1="88.00001906939" y2="88.00001906939" gradientTransform="translate(12)"> <stop offset="0" stop-color="#1a5fb4" id="stop1" /> <stop offset="0.0340909" stop-color="#1c71d8" id="stop2" /> <stop offset="0.0681818" stop-color="#3584e4" id="stop3" /> <stop offset="0.931818" stop-color="#3584e4" id="stop4" /> <stop offset="0.965909" stop-color="#1c71d8" id="stop5" /> <stop offset="1" stop-color="#1a5fb4" id="stop6" /> </linearGradient> <linearGradient id="b" gradientTransform="matrix(0.272543,0,0,0.295903,13.85959,50.447067)" gradientUnits="userSpaceOnUse" x1="88.574776" x2="367.430145" y1="1.578945" y2="1.578945"> <stop offset="0" stop-color="#1a5fb4" id="stop7" /> <stop offset="0.0263158" stop-color="#3584e4" id="stop8" /> <stop offset="0.973324" stop-color="#3584e4" id="stop9" /> <stop offset="1" stop-color="#1a5fb4" id="stop10" /> </linearGradient> <path d="M 40.722656,44 H 111.27734 C 116.09375,44 120,47.90625 120,52.722656 V 111.27734 C 120,116.09375 116.09375,120 111.27734,120 H 40.722656 C 35.90625,120 32,116.09375 32,111.27734 V 52.722656 C 32,47.90625 35.90625,44 40.722656,44 Z m 0,0" fill="url(#a)" id="path10" style="fill:url(#a)" /> <path d="M 40.722656,8 H 111.27734 C 116.09375,8 120,11.90625 120,16.722656 V 87.277344 C 120,92.09375 116.09375,96 111.27734,96 H 40.722656 C 35.90625,96 32,92.09375 32,87.277344 V 16.722656 C 32,11.90625 35.90625,8 40.722656,8 Z m 0,0" fill="#62a0ea" id="path11" /> <path d="m 60,80 h 32 c 2.21094,0 4,1.789062 4,4 v 22 c 0,2.21094 -1.78906,4 -4,4 H 60 c -2.210938,0 -4,-1.78906 -4,-4 V 84 c 0,-2.210938 1.789062,-4 4,-4 z m 0,0" fill="#62a0ea" id="path12" /> <path d="m 42,14 h 68 c 2.21094,0 4,1.789062 4,4 v 68 c 0,2.210938 -1.78906,4 -4,4 H 42 c -2.210938,0 -4,-1.789062 -4,-4 V 18 c 0,-2.210938 1.789062,-4 4,-4 z m 0,0" fill="url(#b)" id="path13" style="fill:url(#b)" /> <path d="m 60,84 h 32 c 2.21094,0 4,1.789062 4,4 v 12 c 0,2.21094 -1.78906,4 -4,4 H 60 c -2.210938,0 -4,-1.78906 -4,-4 V 88 c 0,-2.210938 1.789062,-4 4,-4 z m 0,0" fill="#deddda" id="path14" /> <path d="M 42.203125,20 C 41,20 40.023438,21.03125 40.023438,22.304688 l -0.0625,66.773437 c 0,0 1.039062,0.582031 2.039062,0.582031 H 56 V 96 h 40 v -6.339844 h 14 c 1,0 2.01172,-0.566406 2.01172,-0.566406 l -0.0664,-66.789062 C 111.94531,21.03125 110.96875,20 109.76563,20 Z m 0,0" fill="#ffffff" id="path15" /> <path d="m 52,68 6,6 10,-10" fill="none" stroke="#3d3846" stroke-width="4" id="path16" /> <path d="m 76,40 h 24 v 4 H 76 Z m 0,0" fill="#c0bfbc" id="path17" /> <path d="m 76,68 h 24 v 4 H 76 Z m 0,0" fill="#c0bfbc" id="path18" /> <path d="m 52,40 6,6 10,-10" fill="none" stroke="#3d3846" stroke-width="4" id="path19" /> <g style="fill:#5e5c64;stroke-width:1.08559" id="g5716" transform="matrix(0.6000001,0.70710678,0.6000001,-0.70710678,-187.21253,166.5175)"> <g id="g5712" style="fill:#5e5c64;fill-opacity:1" transform="translate(1.4142136,-1.4142136)"> <rect style="opacity:1;fill:#f26b9e;fill-opacity:1;stroke:none;stroke-width:2.17119;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect5710" width="23.570223" height="8.0000019" x="-253.63036" y="-66.517502" transform="rotate(-135)" /> </g> <ellipse style="opacity:1;fill:url(#radialGradient5732);fill-opacity:1;stroke:none;stroke-width:2.17119;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="ellipse5714" cx="-241.84525" cy="-56.517502" transform="rotate(-135)" rx="11.785111" ry="10" /> </g> <path id="path5718" d="m 18.000002,7.85786 -9.999999,14.142133 19.999998,4e-6 z" style="display:inline;vector-effect:none;fill:url(#linearGradient5734);fill-opacity:1;stroke:none;stroke-width:12.4899;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" /> <path style="display:inline;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:12.4899;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" d="m 18,7.857858 -4.343147,6.142143 8.686294,-5e-6 z" id="path5720" /> <path style="display:inline;fill:#f6d32d;fill-opacity:1;stroke:none;stroke-width:0.506438px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 26.000002,21.928939 -15.999999,-1e-6 v 77.951849 h 15.999999 z" id="path5722" /> <path style="display:inline;fill:#f9f06b;fill-opacity:1;stroke:none;stroke-width:0.358106px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 13.99999,21.928941 -5.999988,-1.3e-5 3e-6,77.951838 h 5.999989 z" id="path5724" /> <path style="display:inline;fill:#e5a50a;fill-opacity:1;stroke:none;stroke-width:0.358106px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new" d="m 22.000008,21.928942 6.000001,-1.4e-5 3e-6,77.951838 -6.000007,7e-6 z" id="path5726" /> <rect transform="scale(-1,1)" y="98" x="-28" height="8.0000019" width="20" id="rect5728" style="fill:url(#linearGradient5736);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolunmi.Bazaar.github.svg�����������������������������0000664�0000000�0000000�00000002773�15234476640�0025747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M100 11.9999H28C19.1634 11.9999 12 19.1633 12 27.9999V100C12 108.837 19.1634 116 28 116H100C108.837 116 116 108.837 116 100V27.9999C116 19.1633 108.837 11.9999 100 11.9999Z" fill="#F6F5F4"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M64.0339 23C41.3432 23 23 41.5624 23 64.5267C23 82.8832 34.7531 98.4217 51.0578 103.921C53.0964 104.335 53.8431 103.028 53.8431 101.928C53.8431 100.966 53.7759 97.6657 53.7759 94.2274C42.3612 96.7029 39.9842 89.2771 39.9842 89.2771C38.1498 84.4644 35.4318 83.2275 35.4318 83.2275C31.6958 80.6836 35.7039 80.6836 35.7039 80.6836C39.8482 80.9586 42.0227 84.9462 42.0227 84.9462C45.6907 91.2709 51.6013 89.4838 53.9791 88.3836C54.3185 85.7022 55.4062 83.8459 56.5611 82.8149C47.4571 81.8522 37.8785 78.2772 37.8785 62.3262C37.8785 57.7885 39.508 54.076 42.0899 51.1887C41.6826 50.1577 40.2555 45.8942 42.4981 40.188C42.4981 40.188 45.9628 39.0877 53.775 44.4506C57.1197 43.5416 60.569 43.0792 64.0339 43.0753C67.4986 43.0753 71.0305 43.557 74.292 44.4506C82.105 39.0877 85.5697 40.188 85.5697 40.188C87.8123 45.8942 86.3845 50.1577 85.9771 51.1887C88.6271 54.076 90.1893 57.7885 90.1893 62.3262C90.1893 78.2772 80.6108 81.783 71.4387 82.8149C72.9338 84.121 74.224 86.5957 74.224 90.5149C74.224 96.0836 74.1568 100.553 74.1568 101.927C74.1568 103.028 74.9043 104.335 76.942 103.922C93.2467 98.4208 105 82.8832 105 64.5267C105.067 41.5624 86.6566 23 64.0339 23Z" fill="#24292F"/> </svg> �����bazaar-org-bazaar-917017d/src/icons/io.github.kolunmi.Bazaar.gitlab.svg�����������������������������0000664�0000000�0000000�00000004035�15234476640�0025720�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M100 11.9999H28C19.1634 11.9999 12 19.1633 12 27.9999V100C12 108.837 19.1634 116 28 116H100C108.837 116 116 108.837 116 100V27.9999C116 19.1633 108.837 11.9999 100 11.9999Z" fill="#F6F5F4"/> <path d="M104.405 55.6105L104.29 55.3108L92.9099 25.6185C92.6825 25.0368 92.2735 24.5468 91.7412 24.2083C91.2106 23.8681 90.5883 23.7077 89.9572 23.7412C89.3297 23.7747 88.7268 24.0038 88.235 24.3952C87.7467 24.79 87.3942 25.3242 87.2285 25.927L79.5445 49.4443H48.4562L40.7722 25.927C40.6065 25.3242 40.254 24.7901 39.7657 24.3952C39.2738 24.0038 38.671 23.7747 38.0434 23.7412C37.4124 23.7077 36.7901 23.8681 36.2595 24.2083C35.7271 24.5468 35.3182 25.0368 35.0908 25.6185L23.7103 55.3126L23.5957 55.6105C20.2235 64.4067 23.0968 74.3506 30.6063 80.0302C30.6203 80.0391 30.6327 80.0496 30.6468 80.0602L30.7473 80.136L48.0824 93.1136L56.6566 99.6041L61.8745 103.549C63.1313 104.501 64.8694 104.501 66.1263 103.549L71.3441 99.6041L79.9165 93.1136L97.3539 80.0602C97.3698 80.0479 97.3839 80.0373 97.3997 80.0249C104.904 74.3453 107.775 64.405 104.405 55.6105Z" fill="#E24329"/> <path d="M104.405 55.6105L104.29 55.3108C98.6442 56.4707 93.444 58.8593 88.9913 62.1909C88.919 62.2438 75.4602 72.4221 64.0003 81.0861C72.5093 87.5203 79.9165 93.1136 79.9165 93.1136L97.3539 80.0602C97.3697 80.0479 97.3839 80.0373 97.3997 80.0249C104.904 74.3453 107.775 64.405 104.405 55.6105Z" fill="#FC6D26"/> <path d="M48.0824 93.1136L56.6566 99.6041L61.8744 103.549C63.1313 104.501 64.8694 104.501 66.1262 103.549L71.344 99.6041L79.9165 93.1136C79.9165 93.1136 72.5093 87.5203 64.0003 81.0861C55.4896 87.5203 48.0824 93.1136 48.0824 93.1136Z" fill="#FCA326"/> <path d="M39.0076 62.1909C34.5566 58.861 29.3582 56.4707 23.7103 55.3126L23.5957 55.6105C20.2235 64.4067 23.0968 74.3506 30.6062 80.0302C30.6203 80.039 30.6327 80.0496 30.6468 80.0602L30.7473 80.136L48.0824 93.1136C48.0824 93.1136 55.4896 87.5203 64.0003 81.0861C52.5405 72.4221 39.0799 62.2438 39.0076 62.1909Z" fill="#FC6D26"/> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolunmi.Bazaar.gnome.svg������������������������������0000664�0000000�0000000�00000002411�15234476640�0025557�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_7_44)"> <path d="M100 11.9999H28C19.1634 11.9999 12 19.1633 12 27.9999V100C12 108.837 19.1634 116 28 116H100C108.837 116 116 108.837 116 100V27.9999C116 19.1633 108.837 11.9999 100 11.9999Z" fill="white"/> <path d="M89.2362 24C72.5903 24 69.4677 47.7044 78.832 47.7044C88.1949 47.7044 105.883 24 89.2362 24Z" fill="black"/> <path d="M61.596 44.7671C66.582 45.0715 72.0524 25.7433 62.6813 26.9589C53.3137 28.1745 56.6081 44.4627 61.596 44.7671Z" fill="black"/> <path d="M38.7456 56.7773C42.2917 55.2166 39.2023 39.952 33.1724 44.115C27.1451 48.2787 35.1995 58.3372 38.7456 56.7773Z" fill="black"/> <path d="M48.7371 48.7874C52.9585 47.9269 53.1899 30.6146 45.6619 33.7203C38.1326 36.8267 44.5191 49.6493 48.7371 48.7874Z" fill="black"/> <path d="M70.7803 87.5298C71.5293 93.2488 66.584 96.0731 61.7408 92.3863C46.3229 80.6501 87.2686 74.7952 84.5696 58.7614C82.3293 45.4524 41.4858 49.5498 36.8348 70.3744C33.6866 84.4593 49.7939 104 66.6009 104C74.8691 104 84.4059 96.5358 86.1901 87.08C87.5528 79.8694 70.1551 82.7587 70.7803 87.5298Z" fill="black"/> </g> <defs> <clipPath id="clip0_7_44"> <rect width="128" height="128" fill="white"/> </clipPath> </defs> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolunmi.Bazaar.google.svg�����������������������������0000664�0000000�0000000�00000002635�15234476640�0025736�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M100 11.9999H28C19.1634 11.9999 12 19.1633 12 27.9999V100C12 108.837 19.1634 116 28 116H100C108.837 116 116 108.837 116 100V27.9999C116 19.1633 108.837 11.9999 100 11.9999Z" fill="#F6F5F4"/> <path d="M99.27 63.0001C99.27 60.6708 99.0555 58.3956 98.6592 56.1895H95.8647H84.9634H64.7297V69.8107H85.2637C83.9315 74.5258 81.1298 78.5581 77.3832 81.3422C77.173 87.8944 81.871 89.5383 87.9784 89.7728C94.9621 83.1837 99.27 73.6322 99.27 63.0001Z" fill="#3284FF"/> <path d="M65.1725 41.5948C70.3349 41.5948 74.9849 43.4636 78.5869 46.5754L88.3927 36.6297C82.2696 30.6574 74.0031 27.0001 64.7298 27.0001C50.909 27.0001 38.5855 35.118 32.5874 46.9334C33.3871 55.7758 39.2853 55.441 44.6252 56.1111C47.7027 47.6497 55.8816 41.5948 65.1725 41.5948Z" fill="#FF3424"/> <path d="M32.8126 79.5016C43.4993 80.4337 45.7054 76.3772 44.4204 70.2672C43.7137 68.1311 43.3246 65.8541 43.3246 63.4868C43.3246 60.8983 43.7871 58.416 44.6252 56.1111L32.5874 46.9335C30.1319 51.7707 28.7299 57.2237 28.7299 63.0001C28.7299 68.9499 30.2178 74.5569 32.8126 79.5016Z" fill="#FFBB00"/> <path d="M44.4205 70.267L32.8127 79.5014C38.8903 91.0804 51.0793 99.0001 64.7299 99.0001C73.7944 99.0001 81.8993 95.5081 87.9784 89.7729L77.3832 81.342C73.9727 83.8761 69.782 85.3783 65.1726 85.3783C55.6651 85.3783 47.3241 79.0389 44.4205 70.267Z" fill="#26B14C"/> </svg> ���������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/io.github.kolunmi.Bazaar.kde.svg��������������������������������0000664�0000000�0000000�00000003417�15234476640�0025224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M100 11.9999H28C19.1634 11.9999 12 19.1633 12 27.9999V100C12 108.837 19.1634 116 28 116H100C108.837 116 116 108.837 116 100V27.9999C116 19.1633 108.837 11.9999 100 11.9999Z" fill="#1D99F3"/> <path d="M70.1316 24L57.1219 25.2454V78.8155L69.994 76.8776V54.0378L87.2966 79.3702L100.861 75.0781L83.1437 50.7158L101 27.7374L87.159 24.5552L69.9943 47.5326L70.1316 24ZM40.6417 37.0542C40.4948 37.0696 40.3529 37.1344 40.2426 37.2451L35.1366 42.3502C34.9219 42.5655 34.8814 42.8994 35.0397 43.1601L41.0178 53.006C39.9575 54.7885 39.1077 56.7105 38.5003 58.7379L27.5254 61.0207C27.22 61.084 27 61.3545 27 61.6679V68.8879C27 69.1932 27.2089 69.4577 27.5031 69.5288L38.1555 72.1325C38.7235 74.4807 39.6038 76.7067 40.7672 78.7526L34.6013 88.1549C34.4293 88.4177 34.4653 88.7638 34.6875 88.9851L39.7917 94.0903C40.0064 94.3044 40.3416 94.3463 40.6034 94.189L50.2654 88.321C52.1633 89.4161 54.21 90.278 56.3732 90.8625L58.6276 101.701C58.691 102.009 58.9625 102.227 59.2738 102.227H66.4947C66.7983 102.227 67.0632 102.019 67.1356 101.722L69.7909 90.8605C72.0208 90.2587 74.1298 89.3617 76.0741 88.2168L85.5955 94.4598C85.8573 94.6322 86.2036 94.5977 86.4258 94.3756L91.5319 89.2705C91.7478 89.0545 91.7865 88.7207 91.6278 88.4607L88.1519 82.7323L87.0274 83.0879C86.8635 83.1397 86.6847 83.0785 86.5883 82.9358C86.5883 82.9358 84.3712 79.6904 81.5079 75.4996C78.085 82.1986 71.1211 86.7876 63.0793 86.7876C51.6537 86.7876 42.3908 77.5244 42.3908 66.0983C42.3908 57.6929 47.4043 50.4641 54.6013 47.2259V41.8885C53.2915 42.3468 52.0252 42.8993 50.8225 43.5545C50.8225 43.5545 50.8207 43.5514 50.8173 43.5484L41.0718 37.1566C40.9405 37.0708 40.7884 37.0366 40.6415 37.0517L40.6417 37.0542Z" fill="#FCFCFC"/> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/�������������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0020736�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/�����������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0022376�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/app-installed-symbolic.svg���������������������0000664�0000000�0000000�00000001435�15234476640�0027476�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="M7.883 0a8.04 8.04 0 0 0-.963.074 7.988 7.988 0 0 0-4.604 2.291 8.014 8.014 0 0 0-1.228 9.666 8.008 8.008 0 0 0 9.016 3.686 8.004 8.004 0 0 0 5.892-7.752 1 1 0 1 0-1.998.01 5.987 5.987 0 0 1-4.42 5.812 5.995 5.995 0 0 1-6.764-2.766 5.993 5.993 0 0 1 .922-7.248 5.991 5.991 0 0 1 7.239-.984 1 1 0 1 0 .992-1.736A7.96 7.96 0 0 0 7.883 0m7.209 2.002a1 1 0 0 0-.844.338L7.951 9.535 5.707 7.291a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.416l3 3a1 1 0 0 0 1.46-.049l7-8a1 1 0 0 0-.093-1.412 1 1 0 0 0-.568-.244" style="color:#000;fill:#222;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:26.4;-inkscape-stroke:none"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/app-safety-ok-symbolic.svg���������������������0000664�0000000�0000000�00000001255�15234476640�0027421�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="M4 0C2.355 0 1 1.355 1 3v4c0 1.833.88 3.574 2.125 4.984s2.876 2.517 4.615 2.983a1 1 0 0 0 .52 0c1.74-.466 3.37-1.572 4.615-2.983S15 8.834 15 7V3c0-1.645-1.355-3-3-3zm0 2h8c.191 0 .365.051.514.137a1 1 0 0 0-.301.246L7.477 8.41l-1.71-2.05a1 1 0 0 0-1.408-.128 1 1 0 0 0-.127 1.409l2.5 3a1 1 0 0 0 1.555-.024L13 4.62V7c0 1.167-.62 2.524-1.625 3.662-.937 1.061-2.188 1.868-3.375 2.252-1.187-.384-2.438-1.19-3.375-2.252C3.62 9.524 3 8.167 3 7V3c0-.571.429-1 1-1" color="#000" style="-inkscape-stroke:none"/> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/app-safety-unknown-symbolic.svg����������������0000664�0000000�0000000�00000002562�15234476640�0030511�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m8 0c-1.1458 0-2.292 0.43452-3.1621 1.3047l-3.5352 3.5352c-1.7364 1.7364-1.7364 4.582 0 6.3223l3.5352 3.5352c1.7403 1.7403 4.5839 1.7364 6.3203 0l3.5391-3.5352c1.7364-1.7403 1.7364-4.582 0-6.3223l-3.5391-3.5352c-0.86821-0.87015-2.0124-1.3047-3.1582-1.3047zm0 1.9668c0.63177 4.849e-4 1.2636 0.248 1.7559 0.74219l3.5391 3.5332c0.98449 0.9845 0.98449 2.5272 0 3.5117l-3.5391 3.5391c-0.98448 0.98449-2.5272 0.98449-3.5117 0l-3.5391-3.5352c-0.98448-0.9845-0.98448-2.5311 0-3.5156l3.5391-3.5371c0.49224-0.49225 1.1241-0.73877 1.7559-0.73828zm-0.011719 1.0156c-0.38404 1.606e-4 -0.77102 0.072757-1.1367 0.22656-1.1172 0.46094-1.8516 1.5586-1.8516 2.7695h2c0-0.40625 0.24219-0.76953 0.61719-0.92188 0.375-0.15625 0.80082-0.074215 1.0898 0.21484 0.28906 0.28906 0.37109 0.71488 0.21875 1.0898-0.15625 0.375-0.51953 0.61719-0.92578 0.61719-0.55078 0-1 0.44922-1 1v2h2v-1.1797c0.78516-0.28125 1.4414-0.87498 1.7734-1.6719 0.46094-1.1172 0.20312-2.4141-0.65234-3.2695-0.53516-0.53516-1.2422-0.83594-1.9688-0.87109-0.054688-0.00293-0.1092-0.0039262-0.16406-0.0039062zm0.011719 7.9961c-0.55078 0-1 0.44922-1 1 0 0.55078 0.44922 1 1 1s1-0.44922 1-1c0-0.55078-0.44922-1-1-1z"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/app-safety-unsafe-symbolic.svg�����������������0000664�0000000�0000000�00000001561�15234476640�0030271�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m8 0c-1.1458 0-2.292 0.43649-3.1621 1.3066l-3.5352 3.5352c-1.7364 1.7364-1.7364 4.58 0 6.3203l3.5352 3.5352c1.7403 1.7403 4.5839 1.7364 6.3203 0l3.5391-3.5352c1.7364-1.7403 1.7364-4.58 0-6.3203l-3.5391-3.5352c-0.8682-0.87016-2.0124-1.3066-3.1582-1.3066zm0 1.9668c0.63178 4.862e-4 1.2636 0.248 1.7559 0.74219l3.5391 3.5352c0.98449 0.9845 0.98449 2.5272 0 3.5117l-3.5391 3.5391c-0.98449 0.98449-2.5272 0.98449-3.5117 0l-3.5391-3.5352c-0.98449-0.9845-0.98449-2.5311 0-3.5156l3.5391-3.5391c0.49224-0.49224 1.1241-0.73877 1.7559-0.73828zm-1 2.0137v5h2v-5h-2zm1 6c-0.55078 0-1 0.44922-1 1 0 0.55078 0.44922 1 1 1s1-0.44922 1-1c0-0.55078-0.44922-1-1-1z"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/auditable-code-symbolic.svg��������������������0000664�0000000�0000000�00000002422�15234476640�0027600�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m4.9844 0.0010525c-1.6447 0-3 1.3553-3 3v9c0 1.6447 1.3553 3 3 3h3.7188a4.5 4.5 0 0 1-1.418-2h-2.3008c-0.57129 0-1-0.4287-1-1v-9c0-0.5713 0.42871-1 1-1h4v1.5c0 1 0.5 1.5 1.5 1.5h1.5v2.0234a4.5 4.5 0 0 1 2 0.71289v-3.2363a1.0001 1.0001 0 0 0-0.29297-0.70703l-3.5-3.5a1.0001 1.0001 0 0 0-0.70703-0.29297zm0.03125 2.998v1h3v-1zm0 2v1h3v-1zm0 2v1h3.6855a4.5 4.5 0 0 1 2.3145-0.96484v-0.0352zm6.5 1c-1.9211 0-3.5 1.5788-3.5 3.5 0 1.9212 1.5789 3.5 3.5 3.5 0.59974 0 1.1648-0.15566 1.6602-0.42578h2e-3l1.1309 1.1328c0.39051 0.39042 1.0236 0.39042 1.4141 0 0.39042-0.39051 0.39042-1.0236 0-1.4141l-1.1328-1.1309v-2e-3c0.27012-0.49541 0.42578-1.0604 0.42578-1.6602 0-1.9212-1.5789-3.5-3.5-3.5zm-6.5 1v1h2.2676a4.5 4.5 0 0 1 0.49609-1zm6.5 1c0.84027 0 1.5 0.65973 1.5 1.5 0 0.40549-0.15478 0.7676-0.4082 1.0352-0.0106 8e-3 -0.02105 0.0167-0.03125 0.0254-9e-3 0.0102-0.01709 0.0206-0.02539 0.0312-0.2676 0.25342-0.62967 0.4082-1.0352 0.4082-0.84027 0-1.5-0.65973-1.5-1.5s0.65973-1.5 1.5-1.5zm-6.5 1v1h2.0352a4.5 4.5 0 0 1-0.03516-0.5 4.5 4.5 0 0 1 0.03516-0.5z" fill="#222"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/bookmark-filled-symbolic.svg�������������������0000664�0000000�0000000�00000000747�15234476640�0030010�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5.019531 0 c -1.332031 0 -2.273437 0.816406 -2.644531 1.554688 c -0.371094 0.738281 -0.355469 1.445312 -0.355469 1.445312 l 0.03125 12.472656 l 5.996094 -2.402344 l 6.003906 2.402344 l -0.03125 -12.476562 c 0 -0.003906 0.011719 -0.707032 -0.355469 -1.441406 c -0.371093 -0.738282 -1.3125 -1.554688 -2.644531 -1.554688 z m 0 0" fill="#222222"/></svg> �������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/bookmark-outline-symbolic.svg������������������0000664�0000000�0000000�00000001247�15234476640�0030224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5.019531 0 c -1.332031 0 -2.273437 0.816406 -2.644531 1.554688 c -0.371094 0.738281 -0.355469 1.445312 -0.355469 1.445312 l 0.03125 12.472656 l 5.996094 -2.402344 l 6.003906 2.402344 l -0.03125 -12.476562 c 0 -0.003906 0.011719 -0.707032 -0.355469 -1.441406 c -0.371093 -0.738282 -1.3125 -1.554688 -2.644531 -1.554688 z m 0 2 h 6 c 0.695313 0.011719 1.003907 0.367188 1 1 l 0.023438 9.519531 l -3.996094 -1.601562 l -4.003906 1.601562 l -0.023438 -9.523437 c -0.007812 -0.648438 0.398438 -0.996094 1 -0.996094 z m 0 0" fill="#222222"/></svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/bug-symbolic.svg�������������������������������0000664�0000000�0000000�00000003514�15234476640�0025516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5 0 c -0.550781 0 -1 0.449219 -1 1 c 0 0.691406 0.386719 1.285156 0.800781 1.605469 c -0.503906 0.671875 -0.800781 1.5 -0.800781 2.394531 h -1 v -1 h -2 v 1 c 0 0.832031 0.5625 1.523438 1.050781 1.769531 c 0.492188 0.246094 0.949219 0.230469 0.949219 0.230469 h 1 v 1 h -3 v 2 h 3 v 1 h -1 s -0.457031 -0.015625 -0.949219 0.230469 c -0.488281 0.246093 -1.050781 0.9375 -1.050781 1.769531 v 3 h 2 v -3 h 1.128906 c 0.449219 1.71875 2.015625 3 3.871094 3 c 1.851562 0 3.421875 -1.28125 3.871094 -3 h 1.128906 v 3 h 2 v -3 c 0 -0.832031 -0.5625 -1.523438 -1.054688 -1.769531 c -0.488281 -0.246094 -0.945312 -0.230469 -0.945312 -0.230469 h -1 v -1 h 3 v -2 h -3 v -1 h 1 s 0.457031 0.015625 0.945312 -0.230469 c 0.492188 -0.246093 1.054688 -0.9375 1.054688 -1.769531 v -1 h -2 v 1 h -1 c 0 -0.894531 -0.296875 -1.722656 -0.800781 -2.394531 c 0.410156 -0.320313 0.800781 -0.914063 0.800781 -1.605469 c 0 -0.550781 -0.449219 -1 -1 -1 s -1 0.449219 -1 1 c -0.238281 0 -0.464844 0.085938 -0.648438 0.238281 c -0.421874 -0.152343 -0.878906 -0.238281 -1.351562 -0.238281 c -0.476562 0 -0.929688 0.085938 -1.355469 0.238281 c -0.179687 -0.152343 -0.40625 -0.238281 -0.644531 -0.238281 c 0 -0.550781 -0.449219 -1 -1 -1 z m 2.96875 5.03125 h 0.0625 c 0.535156 0 0.96875 0.433594 0.96875 0.96875 v 3.0625 c 0 0.535156 -0.433594 0.96875 -0.96875 0.96875 h -0.0625 c -0.539062 0 -0.96875 -0.433594 -0.96875 -0.96875 v -3.0625 c 0 -0.535156 0.429688 -0.96875 0.96875 -0.96875 z m 0 6 h 0.0625 c 0.535156 0 0.96875 0.433594 0.96875 0.96875 v 0.0625 c 0 0.535156 -0.433594 0.96875 -0.96875 0.96875 h -0.0625 c -0.539062 0 -0.96875 -0.433594 -0.96875 -0.96875 v -0.0625 c 0 -0.535156 0.429688 -0.96875 0.96875 -0.96875 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/check-plain-symbolic.svg�����������������������0000664�0000000�0000000�00000001336�15234476640�0027117�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 13.753906 4.65625 c 0.175782 -0.199219 0.261719 -0.460938 0.246094 -0.722656 c -0.019531 -0.265625 -0.140625 -0.511719 -0.339844 -0.6875 c -0.199218 -0.175782 -0.460937 -0.265625 -0.726562 -0.246094 c -0.265625 0.015625 -0.511719 0.140625 -0.6875 0.339844 l -6.296875 7.195312 l -2.242188 -2.246094 c -0.390625 -0.390624 -1.023437 -0.390624 -1.414062 0 c -0.1875 0.1875 -0.292969 0.445313 -0.292969 0.710938 s 0.105469 0.519531 0.292969 0.707031 l 3 3 c 0.195312 0.195313 0.464843 0.300781 0.742187 0.292969 c 0.273438 -0.011719 0.535156 -0.132812 0.71875 -0.34375 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/circle-filled-symbolic.svg���������������������0000664�0000000�0000000�00000000405�15234476640�0027433�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 1 c -3.855469 0 -7 3.144531 -7 7 s 3.144531 7 7 7 s 7 -3.144531 7 -7 s -3.144531 -7 -7 -7 z m 0 0" fill="#222222"/></svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/code-symbolic.svg������������������������������0000664�0000000�0000000�00000001406�15234476640�0025651�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 10 4 v 1 c 0 0.257812 0.128906 0.527344 0.3125 0.71875 l 2.25 2.28125 l -2.25 2.28125 c -0.183594 0.191406 -0.3125 0.460938 -0.3125 0.71875 v 1 h 1 c 0.308594 0 0.550781 -0.089844 0.75 -0.28125 l 3.65625 -3.71875 l -3.65625 -3.71875 c -0.199219 -0.191406 -0.441406 -0.28125 -0.75 -0.28125 z m 0 0"/><path d="m 6 4 v 1 c 0 0.257812 -0.128906 0.527344 -0.3125 0.71875 l -2.25 2.28125 l 2.25 2.28125 c 0.183594 0.191406 0.3125 0.460938 0.3125 0.71875 v 1 h -1 c -0.308594 0 -0.550781 -0.089844 -0.75 -0.28125 l -3.65625 -3.71875 l 3.65625 -3.71875 c 0.199219 -0.191406 0.441406 -0.28125 0.75 -0.28125 z m 0 0"/></g></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/community-symbolic.svg�������������������������0000664�0000000�0000000�00000002625�15234476640�0026767�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16px" height="16px" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> <path d="m10.086 0c0.54687 0.019531 1.0859 0.18359 1.5586 0.49219 0.94922 0.61719 1.4648 1.7266 1.3359 2.8477-0.13281 1.1211-0.89453 2.0781-1.957 2.4609-0.51953 0.1875-1.0898-0.078125-1.2773-0.59766-0.19141-0.51953 0.07813-1.0938 0.59766-1.2812 0.35938-0.12891 0.60547-0.44531 0.64844-0.81641 0.04297-0.37109-0.125-0.73438-0.44141-0.94141s-0.72266-0.21875-1.0508-0.03125c-0.48047 0.27734-1.0938 0.11328-1.3672-0.36719-0.27344-0.48047-0.10937-1.0898 0.36719-1.3672 0.49219-0.28125 1.0391-0.41406 1.5859-0.39844zm-5.0859 2c1.6406 0 3 1.3516 3 2.9922s-1.3594 2.9883-3 2.9883-3-1.3477-3-2.9883 1.3594-2.9922 3-2.9922zm0 2c-0.56641 0-1 0.4375-1 0.99219s0.43359 0.98828 1 0.98828 1-0.43359 1-0.98828-0.43359-0.99219-1-0.99219zm6.1992 3c2.0859 0 3.8008 1.707 3.8008 3.7891v1.2109c0 0.55078-0.44922 1-1 1s-1-0.44922-1-1v-1.2109c0-0.99609-0.79297-1.7891-1.8008-1.7891h-1.1992c-0.55078 0-1-0.44922-1-1s0.44922-1 1-1zm-5 2c2.0859 0 3.8008 1.707 3.8008 3.7891v1.2109c0 0.55078-0.44922 1-1 1s-1-0.44922-1-1v-1.2109c0-0.99609-0.79297-1.7891-1.8008-1.7891h-2.3984c-1.0117 0-1.8008 0.79297-1.8008 1.7891v1.2109c0 0.55078-0.44922 1-1 1s-1-0.44922-1-1v-1.2109c0-2.082 1.7148-3.7891 3.8008-3.7891z"/> </svg> �����������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/connected-squares-x-symbolic.svg���������������0000664�0000000�0000000�00000002254�15234476640�0030631�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#2e3436"><path d="m 15 10 c 0.265625 0 0.519531 0.105469 0.707031 0.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 l -1.292969 1.292969 l 1.292969 1.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 s -1.023437 0.390625 -1.414062 0 l -1.292969 -1.292969 l -1.292969 1.292969 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 s -0.390625 -1.023437 0 -1.414062 l 1.292969 -1.292969 l -1.292969 -1.292969 c -0.390625 -0.390625 -0.390625 -1.023437 0 -1.414062 c 0.1875 -0.1875 0.441406 -0.292969 0.707031 -0.292969 s 0.519531 0.105469 0.707031 0.292969 l 1.292969 1.292969 l 1.292969 -1.292969 c 0.1875 -0.1875 0.441406 -0.292969 0.707031 -0.292969 z m 0 0"/><path d="m 6 0 c -0.554688 0 -1 0.445312 -1 1 v 3 c 0 0.554688 0.445312 1 1 1 h 1 v 2 h -7 v 2 h 2 v 2 h -1 c -0.554688 0 -1 0.445312 -1 1 v 3 c 0 0.554688 0.445312 1 1 1 h 4 c 0.554688 0 1 -0.445312 1 -1 v -3 c 0 -0.554688 -0.445312 -1 -1 -1 h -1 v -2 h 12 v -2 h -7 v -2 h 1 c 0.554688 0 1 -0.445312 1 -1 v -3 c 0 -0.554688 -0.445312 -1 -1 -1 z m 0 0" fill-opacity="0.34902"/></g></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/copy-symbolic.svg������������������������������0000664�0000000�0000000�00000001367�15234476640�0025717�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 0 3 c 0 -1.644531 1.355469 -3 3 -3 h 5 c 1.644531 0 3 1.355469 3 3 c 0 0.550781 -0.449219 1 -1 1 s -1 -0.449219 -1 -1 c 0 -0.570312 -0.429688 -1 -1 -1 h -5 c -0.570312 0 -1 0.429688 -1 1 v 5 c 0 0.570312 0.429688 1 1 1 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 c -1.644531 0 -3 -1.355469 -3 -3 z m 5 5 c 0 -1.644531 1.355469 -3 3 -3 h 5 c 1.644531 0 3 1.355469 3 3 v 5 c 0 1.644531 -1.355469 3 -3 3 h -5 c -1.644531 0 -3 -1.355469 -3 -3 z m 2 0 v 5 c 0 0.570312 0.429688 1 1 1 h 5 c 0.570312 0 1 -0.429688 1 -1 v -5 c 0 -0.570312 -0.429688 -1 -1 -1 h -5 c -0.570312 0 -1 0.429688 -1 1 z m 0 0" fill="#222222"/></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/cross-large-circle-filled-symbolic.svg���������0000664�0000000�0000000�00000001620�15234476640�0031652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 0.03125 c -4.421875 0 -8 3.578125 -8 8 s 3.578125 8 8 8 s 8 -3.578125 8 -8 s -3.578125 -8 -8 -8 z m -3 4 c 0.265625 0 0.519531 0.105469 0.707031 0.292969 l 2.292969 2.292969 l 2.292969 -2.292969 c 0.1875 -0.1875 0.441406 -0.292969 0.707031 -0.292969 s 0.519531 0.105469 0.707031 0.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 l -2.292969 2.292969 l 2.292969 2.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 s -1.023437 0.390625 -1.414062 0 l -2.292969 -2.292969 l -2.292969 2.292969 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 s -0.390625 -1.023437 0 -1.414062 l 2.292969 -2.292969 l -2.292969 -2.292969 c -0.390625 -0.390625 -0.390625 -1.023437 0 -1.414062 c 0.1875 -0.1875 0.441406 -0.292969 0.707031 -0.292969 z m 0 0" fill="#222222"/></svg> ����������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/delay-symbolic.svg�����������������������������0000664�0000000�0000000�00000002160�15234476640�0026033�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 8.023438 4.996094 c -0.554688 0 -1 0.449218 -1 1 v 3 c 0 0.554687 0.445312 1 1 1 h 2 c 0.550781 0 1 -0.445313 1 -1 c 0 -0.550782 -0.449219 -1 -1 -1 h -1 v -2 c 0 -0.550782 -0.449219 -1 -1 -1 z m 0 0"/><path d="m 8.019531 -0.00390625 c -4.140625 0 -7.609375 3.17968725 -7.9687498 7.30078125 c -0.3593752 4.125 2.5039068 7.859375 6.5781248 8.578125 c 4.078125 0.71875 8.046875 -1.808594 9.117188 -5.808594 l -1.933594 -0.519531 c -0.804688 3.015625 -3.761719 4.898437 -6.835938 4.355469 c -3.070312 -0.539063 -5.207031 -3.320313 -4.933593 -6.429688 c 0.273437 -3.109375 2.855469 -5.476562 5.976562 -5.476562 z m 0 0"/><path d="m 10.089844 0.269531 l -0.519532 1.933594 c 1.019532 0.269531 1.945313 0.804687 2.691407 1.550781 l 1.414062 -1.414062 c -0.992187 -0.992188 -2.230469 -1.707032 -3.585937 -2.070313 z m 0 0"/><path d="m 14.945312 3.996094 l -1.730468 1 c 0.527344 0.914062 0.804687 1.945312 0.804687 3 h 2 c 0 -1.402344 -0.371093 -2.785156 -1.074219 -4 z m 0 0"/></g></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/device-support-adaptive-symbolic.svg�����������0000664�0000000�0000000�00000001540�15234476640�0031502�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"> <path d="M44.004 25c-1.662 0-3 1.338-3 3v6c0 1.662 1.338 3 3 3h12c1.662 0 3-1.338 3-3v-6c0-1.662-1.338-3-3-3zm-36.5.002a2.517 2.517 0 0 0-2.5 2.5v10c0 1.368 1.132 2.5 2.5 2.5h5c1.368 0 2.5-1.132 2.5-2.5v-10c0-1.368-1.132-2.5-2.5-2.5zm15 1a2.517 2.517 0 0 0-2.5 2.5V37h2v-8.5c0-.294.206-.5.5-.5h11.004c.295 0 .5.206.5.5V37h2v-8.498c0-1.367-1.132-2.5-2.5-2.5zm21.5.998h12c.554 0 1 .446 1 1v6c0 .554-.446 1-1 1h-12c-.554 0-1-.446-1-1v-6c0-.554.446-1 1-1m-36.5.002h.5c0 .554.446 1 1 1h2c.554 0 1-.446 1-1h.5c.294 0 .5.206.5.5v10c0 .294-.206.5-.5.5h-5a.478.478 0 0 1-.5-.5v-10c0-.294.206-.5.5-.5M18.004 38a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2zm29 0a2 2 0 0 0-2 2h10a2 2 0 0 0-2-2z" style="fill:#222"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/device-support-desktop-symbolic.svg������������0000664�0000000�0000000�00000001037�15234476640�0031357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 3 0 c -1.660156 0 -3 1.339844 -3 3 v 7 c 0 1.660156 1.339844 3 3 3 h 10 c 1.660156 0 3 -1.339844 3 -3 v -7 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 2 h 10 c 0.554688 0 1 0.445312 1 1 v 7 c 0 0.554688 -0.445312 1 -1 1 h -10 c -0.554688 0 -1 -0.445312 -1 -1 v -7 c 0 -0.554688 0.445312 -1 1 -1 z m 2 12 c -1.105469 0 -2 0.894531 -2 2 h 10 c 0 -1.105469 -0.894531 -2 -2 -2 z m 0 0" fill="#2e3436"/> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/device-support-touch-symbolic.svg��������������0000664�0000000�0000000�00000002120�15234476640�0031022�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M6.957 3.016a1 1 0 0 0-.293.056 1 1 0 0 0-.182.086 1 1 0 0 0-.082.057 1 1 0 0 0-.21.213 1 1 0 0 0-.165.36 1 1 0 0 0-.017.099A1 1 0 0 0 6 4v8.383l-2.553-1.278A1 1 0 0 0 2.4 12.801l3.979 2.982.021.018a1 1 0 0 0 .03.02 1 1 0 0 0 .047.03 1 1 0 0 0 .035.02 1 1 0 0 0 .045.023 1 1 0 0 0 .054.026 1 1 0 0 0 .037.015 1 1 0 0 0 .063.022 1 1 0 0 0 .03.008 1 1 0 0 0 .05.012 1 1 0 0 0 .059.011 1 1 0 0 0 .025.004 1 1 0 0 0 .082.006A1 1 0 0 0 7 16h5s.459.014.947-.23C13.436 15.525 14 14.833 14 14v-4a1 1 0 0 0-.758-.97l-4-1A1 1 0 0 0 9 8H8V4a1 1 0 0 0-.049-.295 1 1 0 0 0-.135-.267 1 1 0 0 0-.06-.079 1 1 0 0 0-.227-.195 1 1 0 0 0-.088-.047 1 1 0 0 0-.091-.04 1 1 0 0 0-.096-.03 1 1 0 0 0-.098-.022 1 1 0 0 0-.199-.01z"/> <path fill="#222" fill-opacity=".5" d="M7 0C4.802 0 3 1.803 3 4c0 1.467.812 2.743 2 3.44V4c0-1.09.909-2 2-2s2 .91 2 2v3a1 1 0 0 1 .242.03l.256.064C10.405 6.358 11 5.25 11 4c0-2.197-1.803-4-4-4"/> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/device-supported-symbolic.svg������������������0000664�0000000�0000000�00000001550�15234476640�0030221�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16px" height="16px" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> <path d="m8 0c-4.41 0-8 3.59-8 8 0 4.41 3.59 8 8 8 4.41 0 8-3.59 8-8 0-4.41-3.59-8-8-8zm0 2c3.332 0 6 2.668 6 6 0 3.332-2.668 6-6 6-3.332 0-6-2.668-6-6 0-3.332 2.668-6 6-6zm3.498 2.502c-0.032982 1.525e-4 -0.066407 0.0024415-0.099609 0.0058594v-0.0039063c-0.26172 0.027344-0.50391 0.16016-0.67188 0.36328l-3.8008 4.6445-1.7188-1.7188c-0.39062-0.39062-1.0234-0.39062-1.4141 0-0.39062 0.39062-0.39062 1.0234 0 1.4141l2.5 2.5c0.19922 0.19922 0.47656 0.30469 0.75781 0.29297 0.28125-0.015625 0.54297-0.14844 0.72266-0.36719l4.5-5.5c0.34766-0.42578 0.28516-1.0547-0.14063-1.4062-0.18115-0.14697-0.40389-0.22568-0.63476-0.22461z"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/download-plus-symbolic.svg���������������������0000664�0000000�0000000�00000003440�15234476640�0027527�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg height="16px" viewBox="0 0 16 16" width="16px" version="1.1" id="svg1" sodipodi:docname="folder-download-symbolic.svg" inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs1" /> <sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:zoom="35.57631" inkscape:cx="5.7200986" inkscape:cy="8.0109489" inkscape:window-width="1920" inkscape:window-height="1043" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg1" /> <path d="m 8 0 c -0.550781 0 -1 0.449219 -1 1 v 8.585938 l -2.292969 -2.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 4 4 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 4 -4 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 l -2.292969 2.292969 v -8.585938 c 0 -0.550781 -0.449219 -1 -1 -1 z m -6 14 v 2 h 12 v -2 z m 0 0" fill="#2e3436" id="path1" /> <path d="m 13.668638,0 v 1.8343254 h 1.83432 V 3.668635 h -1.83432 v 1.834324 h -1.83432 V 3.668635 H 10 V 1.8343254 h 1.834318 V 0 Z" id="path3" style="fill:#2e3436;fill-opacity:1;stroke-width:0.917162" sodipodi:nodetypes="ccccccccccccc" /> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/drive-harddisk-symbolic.svg��������������������0000664�0000000�0000000�00000001214�15234476640�0027634�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 4 0 c -1.644531 0 -3 1.355469 -3 3 v 10 c 0 1.644531 1.355469 3 3 3 h 8 c 1.644531 0 3 -1.355469 3 -3 v -10 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 8 c 0.570312 0 1 0.429688 1 1 v 9 c 0 0.570312 -0.429688 1 -1 1 h -8 c -0.554688 0 -1 -0.445312 -1 -1 v -9 c 0 -0.554688 0.445312 -1 1 -1 z m 4 1 c -2.210938 0 -4 1.789062 -4 4 v 4 h 4 c 2.5 0 4 -1.789062 4 -4 s -1.789062 -4 -4 -4 z m 0 2 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#2e3436"/> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/earth-symbolic.svg�����������������������������0000664�0000000�0000000�00000004330�15234476640�0026041�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 7.890625 0 c -4.375 0 -7.890625 3.625 -7.890625 8 c 0 4.417969 3.582031 8 8 8 s 8 -3.582031 8 -8 s -3.582031 -8 -8 -8 c -0.035156 0 -0.070312 0 -0.109375 0 z m -1.964844 2.460938 c 0.234375 0.019531 0.4375 0.171874 0.523438 0.390624 c 0.011719 0.226563 -0.160157 0.421876 -0.386719 0.4375 c -0.226562 0 -0.410156 0.183594 -0.410156 0.410157 v 1.183593 c 0 0.441407 -0.359375 0.800782 -0.800782 0.800782 c -0.4375 0 -0.792968 0.355468 -0.796874 0.796875 c 0 0.4375 -0.355469 0.796875 -0.796876 0.796875 c -0.441406 0 -0.796874 0.355468 -0.796874 0.796875 c 0 0.441406 0.355468 0.796875 0.796874 0.796875 c 0.441407 0 0.800782 0.355468 0.796876 0.800781 v 2.855469 c -1.28125 -1.136719 -2.015626 -2.765625 -2.019532 -4.476563 c 0.003906 -1.492187 0.566406 -2.929687 1.570313 -4.027343 l 0.050781 -0.050782 c 0.234375 -0.25 0.492188 -0.480468 0.765625 -0.683594 l 0.039063 -0.03125 c 0.449218 -0.332031 0.941406 -0.601562 1.464843 -0.796874 z m 4.53125 0.433593 h 0.589844 c 0.484375 0.28125 0.921875 0.628907 1.304687 1.035157 c -0.03125 0.007812 -0.066406 0.011718 -0.105468 0.011718 h -1.789063 c -0.289062 0 -0.523437 -0.234375 -0.523437 -0.523437 c 0 -0.292969 0.234375 -0.523438 0.523437 -0.523438 z m -2.050781 0.871094 c 0.320312 0 0.578125 0.257813 0.578125 0.582031 v 0.632813 c 0 0.320312 -0.257813 0.582031 -0.578125 0.582031 s -0.582031 -0.261719 -0.582031 -0.582031 v -0.632813 c 0 -0.324218 0.261719 -0.582031 0.582031 -0.582031 z m 2.289062 0.671875 h 2.085938 c 0.761719 1 1.1875 2.21875 1.214844 3.476562 c -0.125 0.105469 -0.277344 0.164063 -0.441406 0.167969 l -1.128907 -0.007812 c -0.671875 0 -1.21875 0.546875 -1.21875 1.21875 v 1.347656 c 0.003907 0.441406 -0.355469 0.796875 -0.796875 0.796875 c -0.441406 0.003906 -0.800781 -0.355469 -0.800781 -0.796875 v -0.871094 c 0.09375 -0.3125 -0.085937 -0.636719 -0.394531 -0.730469 c -0.402344 0 -0.730469 -0.324218 -0.730469 -0.726562 v -1.238281 c -0.035156 -0.472657 0.320313 -0.882813 0.789063 -0.917969 c 0.394531 0 0.710937 -0.316406 0.710937 -0.710938 v -0.300781 c 0.003906 -0.390625 0.320313 -0.707031 0.710937 -0.710937 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/edit-clear-all-symbolic.svg��������������������0000664�0000000�0000000�00000002313�15234476640�0027514�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#2e3436"> <path d="m 2 0 c -1.109375 0 -2 0.890625 -2 2 v 6 c 0 1.109375 0.890625 2 2 2 v -8 h 8 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 0"/> <path d="m 8 6 c -1.109375 0 -2 0.890625 -2 2 v 6 c 0 1.109375 0.890625 2 2 2 h 6 c 1.109375 0 2 -0.890625 2 -2 v -6 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0.003906 2 h 1 h 0.03125 c 0.253906 0.011719 0.507813 0.128906 0.6875 0.3125 l 1.28125 1.28125 l 1.308594 -1.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -1.28125 1.28125 l 1.25 1.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -1.28125 -1.28125 l -1.28125 1.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -0.996094 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 1.277344 -1.25 l -1.277344 -1.28125 c -0.210937 -0.195312 -0.304687 -0.46875 -0.28125 -0.75 z m 0 0"/> <path d="m 5 3 c -1.109375 0 -2 0.890625 -2 2 v 6 c 0 1.109375 0.890625 2 2 2 v -8 h 8 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 0"/> </g> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/execute-to-symbolic.svg������������������������0000664�0000000�0000000�00000000622�15234476640�0027020�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 2 2.996094 v 10 h 1 c 0.175781 0 0.347656 -0.039063 0.5 -0.125 l 7 -4 c 0.308594 -0.171875 0.46875 -0.523438 0.46875 -0.875 c 0 -0.351563 -0.160156 -0.703125 -0.46875 -0.875 l -7 -4 c -0.152344 -0.085938 -0.324219 -0.125 -0.5 -0.125 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/explore-symbolic.svg���������������������������0000664�0000000�0000000�00000002124�15234476640�0026413�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 0 c -4.40625 0 -7.99609375 3.59375 -7.99609375 8 s 3.58984375 8 7.99609375 8 s 7.996094 -3.59375 7.996094 -8 s -3.589844 -8 -7.996094 -8 z m 0 2 c 3.324219 0 5.996094 2.675781 5.996094 6 s -2.671875 6 -5.996094 6 s -5.996094 -2.675781 -5.996094 -6 s 2.671875 -6 5.996094 -6 z m 3.40625 2 c -0.089844 -0.003906 -0.191406 0.015625 -0.289062 0.058594 l -4.507813 2.0625 c -0.21875 0.097656 -0.394531 0.273437 -0.496094 0.492187 l -2.058593 4.511719 c -0.238282 0.519531 0.296874 1.054688 0.816406 0.816406 l 4.511718 -2.058594 c 0.21875 -0.101562 0.394532 -0.277343 0.492188 -0.496093 l 2.0625 -4.507813 c 0.191406 -0.425781 -0.125 -0.859375 -0.53125 -0.878906 z m -3.410156 3 c 0.253906 0 0.511718 0.101562 0.703125 0.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 c -0.386719 0.386719 -1.019531 0.386719 -1.410157 0 c -0.386718 -0.390625 -0.386718 -1.023437 0 -1.414062 c 0.195313 -0.191407 0.453126 -0.292969 0.707032 -0.292969 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/external-link-symbolic.svg���������������������0000664�0000000�0000000�00000002424�15234476640�0027515�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 3 2 c -1.664062 0 -3 1.339844 -3 3 v 8 c 0 1.660156 1.335938 3 3 3 h 8 c 1.660156 0 3 -1.339844 3 -3 v -4 c 0 -0.550781 -0.449219 -1 -1 -1 s -1 0.449219 -1 1 v 4 c 0 0.554688 -0.445312 1 -1 1 h -8 c -0.554688 0 -1 -0.445312 -1 -1 v -8 c 0 -0.554688 0.445312 -1 1 -1 h 4 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 7 -2 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 2.582031 l -5.289062 5.289062 c -0.390625 0.394532 -0.390625 1.027344 0 1.417969 s 1.023437 0.390625 1.414062 0 l 5.292969 -5.292969 v 2.585938 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -5 c 0 -0.085938 -0.011719 -0.171875 -0.035156 -0.257812 c -0.023438 -0.085938 -0.054688 -0.167969 -0.101563 -0.242188 c -0.042969 -0.074219 -0.09375 -0.144531 -0.15625 -0.207031 c -0.015625 -0.011719 -0.03125 -0.023438 -0.046875 -0.035157 c -0.054687 -0.050781 -0.117187 -0.09375 -0.183594 -0.128906 c -0.035156 -0.019531 -0.074218 -0.035156 -0.113281 -0.0468748 c -0.050781 -0.0234374 -0.101562 -0.0390624 -0.15625 -0.0507812 c -0.039062 -0.0117188 -0.082031 -0.015625 -0.121093 -0.0195312 c -0.03125 -0.00781255 -0.058594 -0.00781255 -0.085938 -0.0117188 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/eye-outline-filled-symbolic.svg����������������0000664�0000000�0000000�00000001540�15234476640�0030432�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 0.0625 8.375 c -0.0429688 0.164062 -0.0429688 0.339844 0 0.503906 c 0.941406 3.605469 4.199219 6.117188 7.9375 6.121094 c 3.742188 -0.003906 7.003906 -2.527344 7.9375 -6.140625 c 0.042969 -0.167969 0.042969 -0.339844 0 -0.503906 c -0.933594 -3.574219 -4.175781 -6.351563 -7.9375 -6.355469 c -3.769531 0.003906 -7.015625 2.792969 -7.9375 6.375 z m 13.9375 0.484375 v -0.5 c -0.703125 2.730469 -3.164062 4.636719 -6 4.640625 c -2.832031 -0.003906 -5.292969 -1.902344 -6 -4.625 v 0.5 c 0.707031 -2.742188 3.210938 -4.871094 6 -4.875 c 2.78125 0.003906 5.289062 2.121094 6 4.859375 z m 0 0"/><path d="m 11 8.5 c 0 1.65625 -1.34375 3 -3 3 s -3 -1.34375 -3 -3 s 1.34375 -3 3 -3 s 3 1.34375 3 3 z m 0 0"/></g></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/flathub-symbolic.svg���������������������������0000664�0000000�0000000�00000003716�15234476640�0026372�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> <path fill="#222222" d="M15.2044 12.0127C15.2044 12.3707 14.9162 12.6589 14.5582 12.6589H9.38855C9.03056 12.6589 8.74236 12.3707 8.74236 12.0127C8.74236 11.6547 9.03056 11.3665 9.38855 11.3665H14.5582C14.9162 11.3665 15.2044 11.6547 15.2044 12.0127ZM11.9734 8.78169C12.3314 8.78169 12.6196 9.06989 12.6196 9.42789V14.5975C12.6196 14.9555 12.3314 15.2437 11.9734 15.2437C11.6154 15.2437 11.3272 14.9555 11.3272 14.5975V9.42789C11.3272 9.06989 11.6154 8.78169 11.9734 8.78169ZM15.4682 2.7602L14.7971 2.37273L10.9349 0.142914C10.7732 0.0495562 10.5898 0.000409928 10.4031 0.000409941C10.2163 0.000409954 10.0329 0.0495593 9.87121 0.142917C9.70951 0.236275 9.57523 0.370552 9.48187 0.532252C9.38851 0.693953 9.33937 0.877379 9.33937 1.06409V1.83902V6.29866C9.33937 6.48537 9.38851 6.6688 9.48187 6.8305C9.57523 6.9922 9.70951 7.12647 9.87121 7.21983C10.0329 7.31319 10.2163 7.36234 10.4031 7.36234C10.5898 7.36234 10.7732 7.31319 10.9349 7.21983L11.606 6.83237L15.4682 4.60255C15.6299 4.50919 15.7641 4.37492 15.8575 4.21322C15.9509 4.05152 16 3.86809 16 3.68137C16 3.49466 15.9509 3.31123 15.8575 3.14953C15.7641 2.98783 15.6299 2.85356 15.4682 2.7602ZM2.09684 8.62922H5.21448C6.20143 8.62922 6.99599 9.42378 6.99599 10.4107V13.5284C6.99599 14.5153 6.20143 15.3099 5.21448 15.3099H2.09684C1.10988 15.3099 0.315331 14.5153 0.315331 13.5284V10.4107C0.315331 9.42378 1.10988 8.62922 2.09684 8.62922ZM7.36598 3.68299C7.36598 4.65978 6.97795 5.59656 6.28726 6.28725C5.59656 6.97795 4.65978 7.36598 3.68299 7.36598C2.7062 7.36598 1.76942 6.97795 1.07872 6.28726C0.388027 5.59656 3.88651e-07 4.65978 0 3.68299C-2.13823e-08 3.19933 0.0952622 2.72041 0.28035 2.27357C0.465437 1.82673 0.736725 1.42072 1.07872 1.07872C1.42072 0.736725 1.82673 0.465438 2.27357 0.28035C2.72041 0.0952622 3.19933 -2.13823e-08 3.68299 0C4.65978 1.0364e-06 5.59656 0.388027 6.28726 1.07872C6.97795 1.76942 7.36598 2.7062 7.36598 3.68299Z"/> </svg> ��������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/flatpak-symbolic.svg���������������������������0000664�0000000�0000000�00000001324�15234476640�0026360�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 7.804688 0.0195312 c -0.128907 0.0273438 -0.25 0.0742188 -0.359376 0.1484378 l -6 4 c -0.277343 0.183593 -0.445312 0.496093 -0.445312 0.832031 v 6 c 0 0.335938 0.167969 0.648438 0.445312 0.832031 l 6 4 c 0.335938 0.222657 0.773438 0.222657 1.109376 0 l 6 -4 c 0.277343 -0.183593 0.445312 -0.496093 0.445312 -0.832031 v -6 c 0 -0.335938 -0.167969 -0.648438 -0.445312 -0.832031 l -6 -4 c -0.21875 -0.1484378 -0.492188 -0.199219 -0.75 -0.1484378 z m 0.195312 2.1796878 v 6.800781 l 5 -3.332031 v 4.796875 l -5 3.335937 v -4.800781 l -5 -3.332031 v -0.132813 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/folder-download-symbolic.svg�������������������0000664�0000000�0000000�00000001166�15234476640�0030022�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 8 0 c -0.550781 0 -1 0.449219 -1 1 v 8.585938 l -2.292969 -2.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 4 4 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 4 -4 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 l -2.292969 2.292969 v -8.585938 c 0 -0.550781 -0.449219 -1 -1 -1 z m -6 14 v 2 h 12 v -2 z m 0 0" fill="#2e3436"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/gamepad-symbolic.svg���������������������������0000664�0000000�0000000�00000002377�15234476640�0026345�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 4 2 c -1.597656 0 -2.644531 0.664062 -3 2 l -0.738281 8.324219 c -0.261719 1.59375 1.738281 2.175781 2.738281 1.175781 l 2.75 -4.5 h 4.5 l 2.75 4.5 c 1 1 3 0.527344 2.738281 -1.175781 l -0.738281 -8.324219 c -0.214844 -1.203125 -1.402344 -2.03125 -2.972656 -2.027344 z m 0.25 2 h 0.5 c 0.136719 0 0.25 0.113281 0.25 0.25 v 0.75 h 0.75 c 0.136719 0 0.25 0.113281 0.25 0.25 v 0.5 c 0 0.136719 -0.113281 0.25 -0.25 0.25 h -0.75 v 0.75 c 0 0.136719 -0.113281 0.25 -0.25 0.25 h -0.5 c -0.140625 0 -0.25 -0.113281 -0.25 -0.25 v -0.75 h -0.75 c -0.140625 0 -0.25 -0.113281 -0.25 -0.25 v -0.5 c 0 -0.136719 0.109375 -0.25 0.25 -0.25 h 0.75 v -0.75 c 0 -0.136719 0.109375 -0.25 0.25 -0.25 z m 5.765625 -0.113281 c 0.59375 0 1.078125 0.484375 1.078125 1.082031 s -0.484375 1.082031 -1.078125 1.082031 c -0.597656 0 -1.082031 -0.484375 -1.082031 -1.082031 s 0.484375 -1.082031 1.082031 -1.082031 z m 2.96875 2.019531 c 0.597656 0 1.082031 0.484375 1.082031 1.078125 c 0 0.597656 -0.484375 1.082031 -1.082031 1.082031 c -0.59375 0 -1.078125 -0.484375 -1.078125 -1.082031 c 0 -0.59375 0.484375 -1.078125 1.078125 -1.078125 z m 0 0" fill="#222222"/></svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/globe-symbolic.svg�����������������������������0000664�0000000�0000000�00000005270�15234476640�0026032�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 7.519531 -0.00390625 c -4.128906 0 -7.4999998 3.37109425 -7.4999998 7.50000025 s 3.3710938 7.5 7.4999998 7.5 c 4.128907 0 7.5 -3.371094 7.5 -7.5 s -3.371093 -7.50000025 -7.5 -7.50000025 z m 0 2.00000025 c 0.253907 0 0.503907 0.023437 0.75 0.054687 c 0.191407 0.261719 0.382813 0.59375 0.550781 1.027344 c 0.105469 0.277344 0.203126 0.585937 0.289063 0.917969 h -3.179687 c 0.085937 -0.332032 0.183593 -0.640625 0.289062 -0.917969 c 0.167969 -0.433594 0.359375 -0.765625 0.546875 -1.027344 c 0.25 -0.03125 0.496094 -0.054687 0.753906 -0.054687 z m -2.089843 0.40625 c -0.046876 0.109375 -0.101563 0.203125 -0.144532 0.316406 c -0.148437 0.386719 -0.269531 0.820312 -0.378906 1.277344 h -1.621094 c 0.574219 -0.691406 1.300782 -1.246094 2.144532 -1.59375 z m 4.175781 0 c 0.847656 0.347656 1.574219 0.902344 2.144531 1.59375 h -1.617188 c -0.109374 -0.457032 -0.230468 -0.890625 -0.378906 -1.277344 c -0.042968 -0.113281 -0.097656 -0.207031 -0.148437 -0.316406 z m -6.984375 2.59375 h 2.085937 c -0.097656 0.628906 -0.148437 1.300781 -0.167969 2 h -2.484374 c 0.066406 -0.714844 0.257812 -1.390625 0.566406 -2 z m 3.097656 0 h 3.597656 c 0.105469 0.617187 0.160156 1.292968 0.183594 2 h -3.960938 c 0.023438 -0.707032 0.078126 -1.382813 0.179688 -2 z m 4.613281 0 h 2.082031 c 0.3125 0.609375 0.503907 1.285156 0.566407 2 h -2.480469 c -0.019531 -0.699219 -0.070312 -1.371094 -0.167969 -2 z m -8.277343 3 h 2.484374 c 0.019532 0.699218 0.070313 1.375 0.167969 2 h -2.085937 c -0.308594 -0.609375 -0.5 -1.285156 -0.566406 -2 z m 3.484374 0 h 3.960938 c -0.023438 0.707031 -0.078125 1.382812 -0.183594 2 h -3.597656 c -0.101562 -0.617188 -0.15625 -1.292969 -0.179688 -2 z m 4.960938 0 h 2.480469 c -0.0625 0.714844 -0.253907 1.390625 -0.566407 2 h -2.082031 c 0.097657 -0.625 0.148438 -1.300782 0.167969 -2 z m -7.214844 3 h 1.621094 c 0.109375 0.457031 0.230469 0.890625 0.378906 1.273437 c 0.042969 0.117188 0.097656 0.210938 0.144532 0.320313 c -0.84375 -0.347656 -1.570313 -0.902344 -2.144532 -1.59375 z m 2.644532 0 h 3.179687 c -0.085937 0.332031 -0.183594 0.640625 -0.289063 0.917968 c -0.167968 0.433594 -0.359374 0.765626 -0.550781 1.027344 c -0.246093 0.03125 -0.496093 0.054688 -0.75 0.054688 c -0.253906 0 -0.503906 -0.023438 -0.75 -0.054688 c -0.191406 -0.261718 -0.382812 -0.59375 -0.550781 -1.027344 c -0.105469 -0.277343 -0.203125 -0.585937 -0.289062 -0.917968 z m 4.203124 0 h 1.617188 c -0.570312 0.691406 -1.296875 1.246094 -2.144531 1.59375 c 0.050781 -0.109375 0.105469 -0.203125 0.148437 -0.320313 c 0.148438 -0.382812 0.269532 -0.816406 0.378906 -1.273437 z m 0 0" fill="#222222"/></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/go-previous-symbolic.svg�����������������������0000664�0000000�0000000�00000001176�15234476640�0027222�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 12 2 c 0 -0.265625 -0.105469 -0.519531 -0.292969 -0.707031 c -0.390625 -0.390625 -1.023437 -0.390625 -1.414062 0 l -6 6 c -0.1875 0.1875 -0.292969 0.441406 -0.292969 0.707031 s 0.105469 0.519531 0.292969 0.707031 l 6 6 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 c 0.1875 -0.1875 0.292969 -0.441406 0.292969 -0.707031 s -0.105469 -0.519531 -0.292969 -0.707031 l -5.292969 -5.292969 l 5.292969 -5.292969 c 0.1875 -0.1875 0.292969 -0.441406 0.292969 -0.707031 z m 0 0" fill="#2e3436"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/graph2-symbolic.svg����������������������������0000664�0000000�0000000�00000001076�15234476640�0026125�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 3 -0.0234375 l -3 3.9999995 h 2 v 9.023438 v 0.019531 v 0.980469 h 10 v 1.976562 l 4 -3 l -4 -3 v 2.023438 h -7.128906 l 2.664062 -4 h 4.03125 l 3.292969 -5.488281 c 0.28125 -0.472657 0.128906 -1.085938 -0.34375 -1.367188 c -0.226563 -0.140625 -0.5 -0.179687 -0.757813 -0.113281 c -0.257812 0.0625 -0.480468 0.226562 -0.613281 0.457031 l -2.710937 4.511719 h -3.96875 l -2.464844 3.699219 v -5.722657 h 2 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/hand-openyay-symbolic.svg����������������������0000664�0000000�0000000�00000001416�15234476640�0027334�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 0 c 0.554688 0 1 0.445312 1 1 v 6.5 s 0 0.5 0.5 0.5 s 0.5 -0.5 0.5 -0.5 v -4.5 c 0 -0.554688 0.445312 -1 1 -1 s 1 0.445312 1 1 v 8.5 c 0 0.5 0.5 0.5 0.5 0.5 l 1.792969 -1.707031 c 0.1875 -0.195313 0.445312 -0.300781 0.714843 -0.300781 c 1.085938 0.082031 1.148438 1.265624 0.699219 1.714843 l -3 3 c -0.707031 0.792969 -1.757812 1.289063 -2.707031 1.292969 h -6 c -3 0 -3 -3 -3 -3 v -8 c 0 -0.554688 0.445312 -1 1 -1 s 1 0.445312 1 1 v 3.5 s 0 0.5 0.5 0.5 s 0.5 -0.5 0.5 -0.5 v -6.5 c 0 -0.554688 0.445312 -1 1 -1 s 1 0.445312 1 1 v 5.5 s 0 0.5 0.5 0.5 s 0.5 -0.5 0.5 -0.5 v -6.5 c 0 -0.554688 0.445312 -1 1 -1 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/heart-filled-symbolic.svg����������������������0000664�0000000�0000000�00000001125�15234476640�0027275�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 11.40625 1.964844 c -0.972656 -0.027344 -1.921875 0.324218 -2.640625 0.984375 l -0.753906 0.675781 l -0.757813 -0.675781 c -1 -0.898438 -2.402344 -1.191407 -3.675781 -0.769531 c -1.277344 0.417968 -2.230469 1.488281 -2.5 2.804687 s 0.183594 2.675781 1.1875 3.566406 l 5.746094 5.117188 l 5.742187 -5.117188 c 1.171875 -1.011719 1.601563 -2.640625 1.082032 -4.097656 c -0.519532 -1.457031 -1.882813 -2.445313 -3.429688 -2.488281 z m 0 0" fill="#222222"/></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/heart-outline-thick-symbolic.svg���������������0000664�0000000�0000000�00000002327�15234476640�0030622�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 11.40625 1.964844 c -0.972656 -0.027344 -1.921875 0.324218 -2.640625 0.984375 l -0.753906 0.675781 l -0.757813 -0.675781 c -0.996094 -0.898438 -2.402344 -1.191407 -3.675781 -0.769531 c -1.277344 0.417968 -2.230469 1.488281 -2.5 2.804687 s 0.183594 2.675781 1.1875 3.566406 l 5.746094 5.117188 l 5.742187 -5.117188 c 1.171875 -1.011719 1.601563 -2.640625 1.082032 -4.097656 c -0.519532 -1.457031 -1.882813 -2.445313 -3.429688 -2.488281 z m -6.515625 1.953125 c 0.296875 0.019531 0.609375 0.140625 1.027344 0.519531 l 0.003906 0.003906 l 2.089844 1.863282 l 2.097656 -1.871094 l 0.011719 -0.011719 c 0.332031 -0.304687 0.773437 -0.46875 1.230468 -0.457031 c 0.890626 0.023437 1.363282 0.5 1.601563 1.160156 c 0.234375 0.65625 0.167969 1.328125 -0.503906 1.910156 l -0.011719 0.011719 l -4.425781 3.945313 l -4.417969 -3.9375 l -0.003906 -0.003907 c -0.5625 -0.496093 -0.652344 -0.859375 -0.65625 -1.25 c 0 -0.390625 0.179687 -0.855469 0.507812 -1.226562 c 0.332032 -0.367188 0.773438 -0.601563 1.160156 -0.644531 c 0.097657 -0.011719 0.191407 -0.015626 0.289063 -0.011719 z m 0 0" fill="#222222"/></svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/horizontal-arrows-disabled-symbolic.svg��������0000664�0000000�0000000�00000002645�15234476640�0032216�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 11.011719 1 c -0.253907 -0.003906 -0.511719 0.089844 -0.710938 0.28125 c -0.394531 0.386719 -0.402343 1.019531 -0.019531 1.417969 l 1.269531 1.300781 h -4.550781 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 4.550781 l -1.269531 1.300781 c -0.382812 0.398438 -0.375 1.03125 0.019531 1.417969 c 0.398438 0.382812 1.03125 0.375 1.414063 -0.019531 l 2.917968 -3 c 0.378907 -0.390625 0.378907 -1.007813 0 -1.394531 l -2.917968 -3 c -0.191406 -0.199219 -0.445313 -0.300782 -0.703125 -0.304688 z m -6.027344 6 c -0.253906 0.003906 -0.507813 0.105469 -0.703125 0.300781 l -2.917969 3 c -0.375 0.390625 -0.375 1.007813 0 1.398438 l 2.917969 3 c 0.386719 0.394531 1.019531 0.402343 1.414062 0.015625 c 0.398438 -0.382813 0.40625 -1.015625 0.019532 -1.414063 l -1.265625 -1.300781 h 4.550781 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -4.550781 l 1.265625 -1.300781 c 0.386718 -0.398438 0.378906 -1.03125 -0.019532 -1.417969 c -0.195312 -0.191406 -0.453124 -0.285156 -0.710937 -0.28125 z m 0 0" fill-opacity="0.34902" fill-rule="evenodd"/><path d="m 11 11 h 1.375 l 1.125 1.09375 l 1.09375 -1.09375 h 1.40625 v 1.46875 l -1.09375 1.0625 l 1.09375 1.0625 v 1.40625 h -1.4375 l -1.0625 -1.0625 l -1.0625 1.0625 h -1.4375 v -1.40625 l 1.0625 -1.0625 l -1.0625 -1.0625 z m 0 0"/></g></svg> �������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/image-missing-symbolic.svg���������������������0000664�0000000�0000000�00000001522�15234476640�0027467�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 4 1 c -1.644531 0 -3 1.355469 -3 3 v 1 h 1 v -1 c 0 -1.109375 0.890625 -2 2 -2 h 1 v -1 z m 2 0 v 1 h 4 v -1 z m 5 0 v 1 h 1 c 1.109375 0 2 0.890625 2 2 v 1 h 1 v -1 c 0 -1.644531 -1.355469 -3 -3 -3 z m -5 4 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m -5 1 v 4 h 1 v -4 z m 13 0 v 4 h 1 v -4 z m -4.5 2 l -2 2 l -1.5 -1 l -2 2 v 0.5 c 0 0.5 0.5 0.5 0.5 0.5 h 7 s 0.472656 -0.035156 0.5 -0.5 v -1 z m -8.5 3 v 1 c 0 1.644531 1.355469 3 3 3 h 1 v -1 h -1 c -1.109375 0 -2 -0.890625 -2 -2 v -1 z m 13 0 v 1 c 0 1.109375 -0.890625 2 -2 2 h -1 v 1 h 1 c 1.644531 0 3 -1.355469 3 -3 v -1 z m -8 3 v 1 h 4 v -1 z m 0 0" fill="#2e3434" fill-opacity="0.34902"/> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/left-large-symbolic.svg������������������������0000664�0000000�0000000�00000000743�15234476640�0026764�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 10.292969 1.292969 l -6 6 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 6 6 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 s 0.390625 -1.023437 0 -1.414062 l -5.292969 -5.292969 l 5.292969 -5.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 z m 0 0" fill="#222222" fill-rule="evenodd"/></svg> �����������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/library-symbolic.svg���������������������������0000664�0000000�0000000�00000002110�15234476640�0026374�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 1.5 2 h 2 c 0.277344 0 0.5 0.222656 0.5 0.5 v 12 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -2 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -12 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0"/><path d="m 5.5 4 h 1 c 0.277344 0 0.5 0.222656 0.5 0.5 v 10 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -1 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -10 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0"/><path d="m 8.5 3 h 1 c 0.277344 0 0.5 0.222656 0.5 0.5 v 11 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -1 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -11 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0"/><path d="m 10.707031 1.460938 l 0.964844 -0.261719 c 0.265625 -0.070313 0.539063 0.089843 0.613281 0.355469 l 3.363282 12.558593 c 0.070312 0.265625 -0.085938 0.539063 -0.355469 0.609375 l -0.964844 0.261719 c -0.265625 0.070313 -0.539063 -0.089844 -0.613281 -0.355469 l -3.363282 -12.554687 c -0.070312 -0.269531 0.085938 -0.542969 0.355469 -0.613281 z m 0 0"/></g></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/license-symbolic.svg���������������������������0000664�0000000�0000000�00000005641�15234476640�0026366�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 -0.0117188 c -0.550781 0 -1 0.4492188 -1 0.9999998 v 14 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -14 c 0 -0.550781 -0.449219 -0.9999998 -1 -0.9999998 z m 0 0"/><path d="m 4 13.988281 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 8 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 0 0"/><path d="m 8.035156 -0.0117188 c -0.394531 0.00781255 -0.746094 0.2460938 -0.902344 0.6093748 c -0.238281 0.566406 -0.875 0.933594 -1.882812 1.152344 c -1.007812 0.222656 -2.253906 0.238281 -3.25 0.238281 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 c 1.003906 0 2.367188 0.003907 3.675781 -0.28125 c 0.875 -0.191406 1.695313 -0.648437 2.382813 -1.277343 c 0.6875 0.632812 1.496094 1.09375 2.355468 1.285156 c 1.273438 0.285156 2.585938 0.273437 3.585938 0.273437 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 c -1 0 -2.1875 -0.007812 -3.152344 -0.226562 c -0.960937 -0.214844 -1.589844 -0.570313 -1.890625 -1.203125 c -0.167969 -0.355469 -0.527343 -0.5781252 -0.921875 -0.5703128 z m 0 0"/><path d="m 3 3.988281 c -0.222656 0 -0.417969 0.148438 -0.480469 0.363281 l -2 7 c -0.066406 0.234376 0.042969 0.480469 0.261719 0.585938 c 1.394531 0.679688 2.933594 0.765625 4.445312 -0.003906 c 0.210938 -0.109375 0.320313 -0.351563 0.253907 -0.582032 l -2 -7 c -0.0625 -0.214843 -0.257813 -0.363281 -0.480469 -0.363281 z m 0 2.320313 l 1.378906 4.832031 c -0.949218 0.378906 -1.851562 0.355469 -2.761718 0 z m 0 0"/><path d="m 13 3.988281 c -0.222656 0 -0.417969 0.148438 -0.480469 0.363281 l -2 7 c -0.066406 0.234376 0.042969 0.480469 0.261719 0.585938 c 1.394531 0.679688 2.933594 0.765625 4.445312 -0.003906 c 0.210938 -0.109375 0.320313 -0.351563 0.253907 -0.582032 l -2 -7 c -0.0625 -0.214843 -0.257813 -0.363281 -0.480469 -0.363281 z m 0 2.320313 l 1.378906 4.832031 c -0.949218 0.378906 -1.851562 0.355469 -2.761718 0 z m 0 0"/><path d="m 1.4375 10.589844 c -0.496094 -0.242188 -1.09375 -0.035156 -1.335938 0.460937 c -0.117187 0.238281 -0.132812 0.511719 -0.0468745 0.765625 c 0.0859375 0.25 0.2695315 0.457032 0.5078125 0.570313 c 1.503906 0.730469 3.253906 0.828125 4.890625 -0.007813 c 0.492187 -0.25 0.6875 -0.851562 0.4375 -1.34375 c -0.121094 -0.238281 -0.328125 -0.417968 -0.582031 -0.5 c -0.253906 -0.082031 -0.527344 -0.058594 -0.765625 0.0625 c -1.121094 0.574219 -2.027344 0.515625 -3.105469 -0.007812 z m 0 0"/><path d="m 11.4375 10.589844 c -0.496094 -0.242188 -1.09375 -0.035156 -1.335938 0.460937 c -0.117187 0.238281 -0.132812 0.511719 -0.046874 0.765625 c 0.085937 0.25 0.269531 0.457032 0.507812 0.570313 c 1.503906 0.730469 3.253906 0.828125 4.890625 -0.007813 c 0.492187 -0.25 0.6875 -0.851562 0.4375 -1.34375 c -0.121094 -0.238281 -0.328125 -0.417968 -0.582031 -0.5 c -0.253906 -0.082031 -0.527344 -0.058594 -0.765625 0.0625 c -1.121094 0.574219 -2.027344 0.515625 -3.105469 -0.007812 z m 0 0"/></svg> �����������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/media-playback-pause-symbolic.svg��������������0000664�0000000�0000000�00000001007�15234476640�0030712�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#2e3436"> <path d="m 3 1 h 3 c 0.550781 0 1 0.449219 1 1 v 12 c 0 0.550781 -0.449219 1 -1 1 h -3 c -0.550781 0 -1 -0.449219 -1 -1 v -12 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0"/> <path d="m 10 1 h 3 c 0.550781 0 1 0.449219 1 1 v 12 c 0 0.550781 -0.449219 1 -1 1 h -3 c -0.550781 0 -1 -0.449219 -1 -1 v -12 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0"/> </g> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/media-playback-start-symbolic.svg��������������0000664�0000000�0000000�00000001052�15234476640�0030732�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 2 2.5 v 11 c 0 1.5 1.269531 1.492188 1.269531 1.492188 h 0.128907 c 0.246093 0.003906 0.488281 -0.050782 0.699218 -0.171876 l 9.796875 -5.597656 c 0.433594 -0.242187 0.65625 -0.734375 0.65625 -1.226562 c 0 -0.492188 -0.222656 -0.984375 -0.65625 -1.222656 l -9.796875 -5.597657 c -0.210937 -0.121093 -0.453125 -0.175781 -0.699218 -0.175781 h -0.128907 s -1.269531 0 -1.269531 1.5 z m 0 0" fill="#2e3436"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/media-playback-stop-symbolic.svg���������������0000664�0000000�0000000�00000000531�15234476640�0030563�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 3.5 2 h 9 c 0.828125 0 1.5 0.671875 1.5 1.5 v 9 c 0 0.828125 -0.671875 1.5 -1.5 1.5 h -9 c -0.828125 0 -1.5 -0.671875 -1.5 -1.5 v -9 c 0 -0.828125 0.671875 -1.5 1.5 -1.5 z m 0 0" fill="#2e3436"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/meeting-symbolic.svg���������������������������0000664�0000000�0000000�00000001070�15234476640�0026364�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 6 1 c -0.554688 0 -1 0.445312 -1 1 v 1 h -2.8125 c -1.207031 0 -2.1875 0.800781 -2.1875 2 v 7.976562 c 0 1.199219 0.980469 2 2.1875 2 h 11.625 c 1.203125 0 2.1875 -1.019531 2.1875 -2.21875 v -7.539062 c 0 -1.199219 -0.984375 -2.21875 -2.1875 -2.21875 h -2.8125 v -1 c 0 -0.554688 -0.445312 -1 -1 -1 z m 0 1 h 4 v 1 h -4 z m -4 3 h 12 v 2 h -12 z m 0 3 h 4 c 0 1 1 1 1 1 h 2 s 1 0 1 -1 h 4 v 5 h -12 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/newspaper-symbolic.svg�������������������������0000664�0000000�0000000�00000001530�15234476640�0026741�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 0 2.992188 v 9 c 0 2.199218 1.800781 4 4 4 h 9 v -0.035157 c 1.71875 -0.25 3.039062 -1.765625 3 -3.539062 v -5.425781 c 0 -1.65625 -1.34375 -3 -3 -3 h -2 v -1 c 0 -1.65625 -1.34375 -3.0000005 -3 -3.0000005 h -5 c -1.65625 0 -3 1.3437505 -3 3.0000005 z m 3 -1 h 5 c 0.550781 0 1 0.449218 1 1 v 9.445312 c 0 0.558594 0.136719 1.082031 0.367188 1.554688 h -5.367188 c -1.117188 0 -2 -0.882813 -2 -2 v -9 c 0 -0.550782 0.449219 -1 1 -1 z m 0 1 v 2 h 5 v -2 z m 0 3 v 1 h 5 v -1 z m 8 0 h 2 c 0.550781 0 1 0.449218 1 1 v 5.46875 c 0.019531 0.835937 -0.621094 1.503906 -1.457031 1.527343 c -0.863281 -0.007812 -1.542969 -0.683593 -1.542969 -1.550781 z m -8 2 v 1 h 5 v -1 z m 0 2 v 1 h 5 v -1 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/on-the-go-symbolic.svg�������������������������0000664�0000000�0000000�00000010337�15234476640�0026537�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg id="svg12" width="91" height="31" version="1.1" viewBox="0 0 91 31" xmlns="http://www.w3.org/2000/svg"> <path id="path24" d="m80.168 5.291c-1.8903 0-3.4395 1.5492-3.4395 3.4395v18.521c0 1.8903 1.5492 3.4395 3.4395 3.4395h6.6152c1.8902 0 3.4395-1.5492 3.4395-3.4395v-18.521c0-1.8902-1.5493-3.4395-3.4395-3.4395zm0 1.5879h6.6152c1.0322 1e-7 1.8516 0.81928 1.8516 1.8516v18.521c0 1.0323-0.81932 1.8516-1.8516 1.8516h-6.6152c-1.0324 0-1.8516-0.81923-1.8516-1.8516v-18.521c0-1.0323 0.81922-1.8516 1.8516-1.8516z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path23" d="m80.17 7.6738c-0.5845 0-1.0586 0.47409-1.0586 1.0586 0 0.58451 0.47409 1.0566 1.0586 1.0566s1.0566-0.47213 1.0566-1.0566c0-0.5845-0.47214-1.0586-1.0566-1.0586z"/> <path id="path22" d="m81.492 28.047a0.26458 0.26458 0 0 0-0.26562 0.26367 0.26458 0.26458 0 0 0 0.26562 0.26367h3.9688a0.26458 0.26458 0 0 0 0.26367-0.26367 0.26458 0.26458 0 0 0-0.26367-0.26367z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path21" d="m61.648 1.3223c-1.8903 0-3.4395 1.5492-3.4395 3.4395v22.49c0 1.8903 1.5492 3.4395 3.4395 3.4395h7.9375c1.8902 0 3.4395-1.5492 3.4395-3.4395v-22.49c0-1.8902-1.5493-3.4395-3.4395-3.4395zm0 1.5879h7.9375c1.0322 0 1.8516 0.81928 1.8516 1.8516v22.49c0 1.0323-0.81932 1.8516-1.8516 1.8516h-7.9375c-1.0324 0-1.8516-0.81923-1.8516-1.8516v-22.49c0-1.0323 0.81922-1.8516 1.8516-1.8516z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path20" d="m63.633 28.047a0.26458 0.26458 0 0 0-0.26562 0.26367 0.26458 0.26458 0 0 0 0.26562 0.26367h3.9688a0.26458 0.26458 0 0 0 0.26367-0.26367 0.26458 0.26458 0 0 0-0.26367-0.26367z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path19" d="m64.162 3.4395a0.79375 0.79375 0 0 0-0.79492 0.79492 0.79375 0.79375 0 0 0 0.79492 0.79297h2.9102a0.79375 0.79375 0 0 0 0.79297-0.79297 0.79375 0.79375 0 0 0-0.79297-0.79492z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path18" d="m19.314 0c-1.8903 0-3.4395 1.5492-3.4395 3.4395v23.812c0 1.8902 1.5492 3.4395 3.4395 3.4395h31.75c1.8902 0 3.4395-1.5493 3.4395-3.4395v-23.812c0-1.8902-1.5493-3.4395-3.4395-3.4395zm0 1.5879h31.75c1.0322 0 1.8516 0.8193 1.8516 1.8516v23.812c0 1.0322-0.81936 1.8516-1.8516 1.8516h-31.75c-1.0323 0-1.8516-0.81936-1.8516-1.8516v-9.2598c-0.7306 0-1.3223-0.59362-1.3223-1.3242v-5.291c0-0.7306 0.59167-1.3223 1.3223-1.3223v-6.6152c0-1.0323 0.81922-1.8516 1.8516-1.8516z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path17" d="m17.463 10.055c-0.7306 0-1.3223 0.59166-1.3223 1.3223v5.291c0 0.7306 0.59167 1.3242 1.3223 1.3242 0.7307 0 1.3223-0.59362 1.3223-1.3242v-5.291c0-0.7306-0.59156-1.3223-1.3223-1.3223z"/> <path id="path16" d="m33.205 28.047a0.26458 0.26458 0 0 0-0.26367 0.26367 0.26458 0.26458 0 0 0 0.26367 0.26367h3.9688a0.26458 0.26458 0 0 0 0.26367-0.26367 0.26458 0.26458 0 0 0-0.26367-0.26367z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path15" d="m3.4395 9.2598c-1.8902 0-3.4395 1.5493-3.4395 3.4395v14.553c0 1.8903 1.5493 3.4395 3.4395 3.4395h5.293c1.8902 0 3.4395-1.5492 3.4395-3.4395v-14.553c0-1.8902-1.5492-3.4395-3.4395-3.4395zm2.6465 0.5293c0.5845 0 1.0586 0.47409 1.0586 1.0586h1.5879c1.0323 0 1.8516 0.81936 1.8516 1.8516v14.553c0 1.0323-0.81926 1.8516-1.8516 1.8516h-5.293c-1.0323 0-1.8516-0.81922-1.8516-1.8516v-14.553c0-1.0322 0.8193-1.8516 1.8516-1.8516h1.5879c0-0.5845 0.47409-1.0586 1.0586-1.0586z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> <path id="path14" d="m6.0859 9.7891c-0.5845 0-1.0586 0.47409-1.0586 1.0586s0.47409 1.0586 1.0586 1.0586 1.0586-0.47409 1.0586-1.0586c0-0.5845-0.47409-1.0586-1.0586-1.0586z"/> <path id="path13" d="m4.1016 28.047a0.26458 0.26458 0 0 0-0.26562 0.26367 0.26458 0.26458 0 0 0 0.26562 0.26367h3.9688a0.26458 0.26458 0 0 0 0.26367-0.26367 0.26458 0.26458 0 0 0-0.26367-0.26367z" stop-color="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"/> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/open-book-symbolic.svg�������������������������0000664�0000000�0000000�00000002227�15234476640�0026632�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 3 1 c -1.644531 0 -3 1.355469 -3 3 v 7 c 0 1.644531 1.355469 3 3 3 h 3 c 0.5625 0 1 0.4375 1 1 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 c 0 -1.644531 -1.355469 -3 -3 -3 h -3 c -0.566406 0 -1 -0.4375 -1 -1 v -7 c 0 -0.5625 0.433594 -1 1 -1 h 3 c 0.5625 0 1 0.4375 1 1 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 0"/><path d="m 7 4 v 10 h 2 v -10 z m 0 0"/><path d="m 10 1 c -1.644531 0 -3 1.355469 -3 3 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 c 0 -0.5625 0.433594 -1 1 -1 h 3 c 0.5625 0 1 0.4375 1 1 v 7 c 0 0.5625 -0.4375 1 -1 1 h -3 c -1.644531 0 -3 1.355469 -3 3 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 c 0 -0.5625 0.433594 -1 1 -1 h 3 c 1.644531 0 3 -1.355469 3 -3 v -7 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 0"/><path d="m 3 4 h 3 v 1 h -3 z m 0 0"/><path d="m 3 6 h 3 v 1 h -3 z m 0 0"/><path d="m 3 8 h 3 v 1 h -3 z m 0 0"/><path d="m 10 4 h 3 v 1 h -3 z m 0 0"/><path d="m 10 6 h 3 v 1 h -3 z m 0 0"/><path d="m 10 8 h 2 v 1 h -2 z m 0 0"/></g></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/paintbrush-symbolic.svg������������������������0000664�0000000�0000000�00000001067�15234476640�0027121�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="15.976562px" viewBox="0 0 16 15.976562" width="16px"><g fill="#222222"><path d="m 9 10.976562 c 0 2.210938 -1.792969 4.011719 -4 4 h -4 v -4 c 0 -2.210937 1.789062 -4 4 -4 c 2.207031 0 4 1.789063 4 4 z m 0 0"/><path d="m 14.40625 0.0273438 c -0.386719 0.0078124 -0.757812 0.1718752 -1.03125 0.4492182 l -5.800781 5.773438 c 0.90625 0.476562 1.644531 1.214844 2.121093 2.121094 l 5.800782 -5.769532 c 0.980468 -0.957031 0.277344 -2.617187 -1.089844 -2.5742182 z m 0 0"/></g></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/parent-symbolic.svg����������������������������0000664�0000000�0000000�00000002576�15234476640�0026241�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5.5 -0.00390625 c -1.382812 0 -2.5 1.12109425 -2.5 2.50000025 c 0 1.382812 1.117188 2.5 2.5 2.5 c 1.378906 0 2.5 -1.117188 2.5 -2.5 c 0 -1.378906 -1.121094 -2.50000025 -2.5 -2.50000025 z m 7 5.00000025 c -1.386719 0 -2.5 1.117187 -2.5 2.5 c 0 1.386718 1.113281 2.5 2.5 2.5 s 2.5 -1.113282 2.5 -2.5 c 0 -1.382813 -1.113281 -2.5 -2.5 -2.5 z m -8.5 1 c -0.265625 0.003906 -0.519531 0.105468 -0.707031 0.292968 l -3 3 c -0.3906252 0.390626 -0.3906252 1.027344 0 1.414063 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 1.542969 -1.542969 l -0.25 1.765625 v 4.070313 c 0 0.554687 0.449219 1 1 1 s 1 -0.445313 1 -1 v -2.5 s 0 -0.5 0.5 -0.5 s 0.5 0.5 0.5 0.5 v 2.5 c 0 0.554687 0.449219 1 1 1 s 1 -0.445313 1 -1 v -3.285156 l 0.085938 0.191406 c 0.179687 0.402344 0.597656 0.640625 1.035156 0.585937 c 0.152344 0.292969 0.433594 0.515625 0.878906 0.507813 h 1 v 2 c 0 0.773437 0.835938 1.253906 1.5 0.867187 c 0.667969 0.382813 1.5 -0.097656 1.5 -0.867187 v -0.132813 c 0.867188 0.5 1.847656 -0.441406 1.386719 -1.328125 l -0.949219 -1.8125 c -0.351562 -0.609375 -0.597656 -0.726562 -1.4375 -0.726562 h -3 c -0.042969 0 -0.074219 0.019531 -0.117188 0.023437 l -1.96875 -4.425781 c -0.160156 -0.363281 -0.519531 -0.597656 -0.914062 -0.597656 z m 0 0" fill="#222222"/></svg> ����������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/people-symbolic.svg����������������������������0000664�0000000�0000000�00000001551�15234476640�0026224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5 1 c -1.378906 0 -2.5 1.121094 -2.5 2.5 c 0 1.382812 1.121094 2.5 2.5 2.5 c 1.382812 0 2.5 -1.117188 2.5 -2.5 c 0 -1.378906 -1.117188 -2.5 -2.5 -2.5 z m 6 3 c -1.378906 0 -2.5 1.121094 -2.5 2.5 c 0 1.382812 1.121094 2.5 2.5 2.5 c 1.382812 0 2.5 -1.117188 2.5 -2.5 c 0 -1.378906 -1.117188 -2.5 -2.5 -2.5 z m -8 3 c -1.660156 0 -3 1.339844 -3 3 v 2 c 0 0.554688 0.445312 1 1 1 h 4.078125 c 0 -2.042969 1.578125 -3.734375 3.578125 -3.90625 c -0.589844 -0.535156 -0.984375 -1.257812 -1.109375 -2.042969 c -0.175781 -0.03125 -0.359375 -0.050781 -0.546875 -0.050781 z m 6 3 c -1.660156 0 -3 1.339844 -3 3 v 2 c 0 0.554688 0.445312 1 1 1 h 8 c 0.554688 0 1 -0.445312 1 -1 v -2 c 0 -1.660156 -1.335938 -3 -3 -3 z m 0 0" fill="#222222"/></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������permissions-legacy-windowing-system-symbolic.svg����������������������������������������������������0000664�0000000�0000000�00000001252�15234476640�0034021�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�bazaar-org-bazaar-917017d/src/icons/scalable/actions�������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#222222"> <path d="m 2.035156 7.007812 c -0.53125 0 -1.03125 0.421876 -1.03125 1 v 7.011719 h 8.011719 v -3.984375 h -2 v 1.984375 h -4.011719 v -2.996093 h 2.015625 v -3.015626 z m 0 0"/> <path d="m 8.019531 1.007812 c -0.53125 0 -1.03125 0.421876 -1.03125 1 v 7.011719 h 8.011719 v -7.042969 c 0 -0.578124 -0.519531 -0.96875 -1.019531 -0.96875 z m 0.96875 3.015626 h 4.011719 v 2.996093 h -4.011719 z m 0 0"/> </g> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/permissions-microphone-symbolic.svg������������0000664�0000000�0000000�00000000751�15234476640�0031455�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M8 0C6.34 0 5 1.34 5 3v5c0 1.66 1.34 3 3 3s3-1.34 3-3V3c0-1.66-1.34-3-3-3m0 2c.555 0 1 .445 1 1v5c0 .555-.445 1-1 1s-1-.445-1-1V3c0-.555.445-1 1-1M2 7v1.012c0 2.965 2.164 5.43 5 5.906V16h2v-2.082c2.836-.477 5-2.941 5-5.906V7h-1.5v1.012c0 2.5-1.992 4.488-4.5 4.488s-4.5-1.988-4.5-4.488V7zm0 0"/> </svg> �����������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/permissions-sandboxed-symbolic.svg�������������0000664�0000000�0000000�00000002212�15234476640�0031253�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m8 0.28516c-0.40302 0-0.80646 0.10423-1.166 0.3125l-4.668 2.6875-0.0019531 0.0019532c-0.72031 0.41908-1.1613 1.1934-1.1621 2.0254v5.375c8.469e-4 0.83202 0.4418 1.6063 1.1621 2.0254l0.0019531 0.001953 4.668 2.6875c0.72039 0.41728 1.6162 0.41685 2.3359-0.001953l4.6641-2.6855 0.001954-0.001953c0.72027-0.41903 1.1613-1.1934 1.1621-2.0254v-5.375c-8.47e-4 -0.83202-0.4418-1.6063-1.1621-2.0254l-0.001954-0.0019532-4.6641-2.6855c-0.36052-0.20975-0.76548-0.31445-1.1699-0.31445zm0 1.998c0.056066 0 0.11213 0.014709 0.16406 0.044922l0.0019531 0.0019531 3.8145 2.1973-3.9805 2.3203-3.9805-2.3203 3.8145-2.1973 0.0019531-0.0019531c0.05193-0.030212 0.108-0.044922 0.16406-0.044922zm-4.998 3.9707 3.998 2.3301v4.6055l-3.8301-2.2051c-0.10324-0.060057-0.16719-0.17082-0.16797-0.29688v-4.4336zm9.9961 0v4.4316c-1.29e-4 0.12684-0.06422 0.23847-0.16797 0.29883l-3.8301 2.2051v-4.6055l3.998-2.3301z" color="#000000" style="-inkscape-stroke:none"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/permissions-screen-contents-symbolic.svg�������0000664�0000000�0000000�00000001063�15234476640�0032421�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M4 1C2.34 1 1 2.34 1 4v6c0 1.66 1.34 3 3 3h8c1.66 0 3-1.34 3-3V4c0-1.66-1.34-3-3-3zm0 2h8c.555 0 1 .445 1 1v6c0 .555-.445 1-1 1H4c-.555 0-1-.445-1-1V4c0-.555.445-1 1-1m6.5 1s-.5 0-.5.5v.988s0 .5.5.5h1s.5 0 .5-.5v-.984s0-.5-.5-.5zm-6 1S4 5 4 5.5v4c0 .5.5.5.5.5h4c.5 0 .5-.5.5-.5v-4C9 5 8.563 5 8.5 5zM5 7h3v2H5zm3 7c-5 0-5 1-5 1 0 1 1 1 1 1h8c1 0 1-1 1-1s0-1-5-1m0 0"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/permissions-system-devices-symbolic.svg��������0000664�0000000�0000000�00000002147�15234476640�0032257�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m8.0312 0.99609c-0.031 0-0.066562-9.375e-5 -0.10156 0.0039062a1.002 1.002 0 0 0-0.91797 0.99219l-0.0078126 1.0078h-1.9883l0.019531-0.98047a1.009 1.009 0 0 0-0.3125-0.74609 0.98 0.98 0 0 0-0.76172-0.26953 0.995 0.995 0 0 0-0.92578 0.98047l-0.023437 1.2773a3.302 3.302 0 0 0-2.0117 3.0469v4.3867c0 1.375 0.83153 2.5469 2.0195 3.0469v1.2578a1 1 0 1 0 2 0v-1h1.9805v1c0 0.55 0.45 1 1 1 0.55 0 1-0.45 1-1v-1h2v1c0 0.55 0.45 1 1 1s1-0.45 1-1v-1.2656c1.18-0.507 2-1.6751 2-3.0391v-4.3848c0-1.368-0.8201-2.5331-1.9961-3.0371l0.011719-1.2637a1.007 1.007 0 0 0-1.0859-1.0098 0.996 0.996 0 0 0-0.91406 0.99219l-0.011719 1.0078h-1.9961l0.0078125-0.99219c4e-3 -0.551-0.43447-0.99972-0.98047-1.0117h-0.0039062zm-3.7227 4.0039h0.0019531 7.3848c0.722 0 1.3047 0.58159 1.3047 1.3086v3.6914c0 0.484-0.406 1-1 1h-4-3.9805c-0.551 0-1.0195-0.453-1.0195-1v-3.6895c0-0.728 0.58159-1.3105 1.3086-1.3105z" fill="#222"/> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/permissions-warning-symbolic.svg���������������0000664�0000000�0000000�00000001561�15234476640�0030757�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m8 0c-1.1458 0-2.292 0.43649-3.1621 1.3066l-3.5352 3.5352c-1.7364 1.7364-1.7364 4.58 0 6.3203l3.5352 3.5352c1.7403 1.7403 4.5839 1.7364 6.3203 0l3.5391-3.5352c1.7364-1.7403 1.7364-4.58 0-6.3203l-3.5391-3.5352c-0.8682-0.87016-2.0124-1.3066-3.1582-1.3066zm0 1.9668c0.63178 4.862e-4 1.2636 0.248 1.7559 0.74219l3.5391 3.5352c0.98449 0.9845 0.98449 2.5272 0 3.5117l-3.5391 3.5391c-0.98449 0.98449-2.5272 0.98449-3.5117 0l-3.5391-3.5352c-0.98449-0.9845-0.98449-2.5311 0-3.5156l3.5391-3.5391c0.49224-0.49224 1.1241-0.73877 1.7559-0.73828zm-1 2.0137v5h2v-5h-2zm1 6c-0.55078 0-1 0.44922-1 1 0 0.55078 0.44922 1 1 1s1-0.44922 1-1c0-0.55078-0.44922-1-1-1z"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/person-symbolic.svg����������������������������0000664�0000000�0000000�00000000602�15234476640�0026242�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 1 c -1.65625 0 -3 1.34375 -3 3 s 1.34375 3 3 3 s 3 -1.34375 3 -3 s -1.34375 -3 -3 -3 z m -1.5 7 c -2.492188 0 -4.5 2.007812 -4.5 4.5 v 1.5 c 0 1 1 1 1 1 h 10 s 1 0 1 -1 v -1.5 c 0 -2.492188 -2.007812 -4.5 -4.5 -4.5 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/pip-out-symbolic.svg���������������������������0000664�0000000�0000000�00000001707�15234476640�0026340�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#222222"> <path d="m 0 3.992188 c 0 -1.644532 1.355469 -3 3 -3 h 8 c 1.644531 0 3 1.355468 3 3 v 3 h -2 v -3 c 0 -0.5625 -0.4375 -1 -1 -1 h -8 c -0.5625 0 -1 0.4375 -1 1 v 5 c 0 0.5625 0.4375 1 1 1 h 3 v 2 h -3 c -1.644531 0 -3 -1.355469 -3 -3 z m 0 0"/> <path d="m 10 8.992188 c -1.089844 0 -2 0.910156 -2 2 v 2 c 0 1.089843 0.910156 2 2 2 h 4 c 1.089844 0 2 -0.910157 2 -2 v -2 c 0 -1.089844 -0.910156 -2 -2 -2 z m 0 2 h 4 v 2 h -4 z m 0 0" fill-opacity="0.34902"/> <path d="m 3 4 v 3.5 c 0 0.277344 0.222656 0.5 0.5 0.5 s 0.5 -0.222656 0.5 -0.5 v -1.792969 l 3.144531 3.144531 c 0.195313 0.195313 0.515625 0.195313 0.707031 0 c 0.195313 -0.191406 0.195313 -0.511718 0 -0.707031 l -3.144531 -3.144531 h 1.792969 c 0.277344 0 0.5 -0.222656 0.5 -0.5 s -0.222656 -0.5 -0.5 -0.5 z m 0 0"/> </g> </svg>���������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/power-profile-performance-symbolic.svg���������0000664�0000000�0000000�00000002263�15234476640�0032032�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#222222"> <path d="m 16 9.972656 c 0 -2.855468 -1.515625 -5.539062 -4 -6.972656 c -2.472656 -1.429688 -5.527344 -1.429688 -8 0 c -2.484375 1.433594 -4 4.117188 -4 6.972656 c 0 0.550782 0.449219 1 1 1 h 1 c 0.550781 0 1 -0.449218 1 -1 c -0.03125 -0.433594 -0.335938 -0.796875 -0.761719 -0.898437 c 0.285157 -1.78125 1.1875 -3.433594 2.761719 -4.339844 c 1.859375 -1.074219 4.140625 -1.074219 6 0 c 1.574219 0.90625 2.476562 2.558594 2.761719 4.339844 c -0.425781 0.101562 -0.730469 0.464843 -0.761719 0.898437 c 0 0.550782 0.449219 1 1 1 h 1 c 0.550781 0 1 -0.449218 1 -1 z m 0 0"/> <path d="m 11 5.667969 l -4.480469 4.972656 c -0.007812 0.007813 -0.015625 0.015625 -0.023437 0.027344 c -0.125 0.136719 -0.226563 0.292969 -0.308594 0.460937 c -0.472656 1 -0.046875 2.191406 0.949219 2.667969 c 0.996093 0.472656 2.191406 0.046875 2.664062 -0.949219 c 0.070313 -0.148437 0.121094 -0.304687 0.152344 -0.464844 h 0.003906 l 0.007813 -0.054687 l 0.007812 -0.042969 c 0.003906 -0.011718 0.003906 -0.023437 0.003906 -0.035156 z m 0 0"/> </g> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/proprietary-code-symbolic.svg������������������0000664�0000000�0000000�00000002413�15234476640�0030226�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="m4.9844 0.0019531c-1.6447 0-3 1.3553-3 3v9c0 1.6447 1.3553 3 3 3h2.0156v-2h-2.0156c-0.57129 0-1-0.4287-1-1v-9c0-0.5713 0.42871-1 1-1h4v1.5c0 1 0.5 1.5 1.5 1.5h1.5v0.99805h2v-1.498c-5.1e-5 -0.2652-0.10543-0.51952-0.29297-0.70703l-3.5-3.5c-0.18751-0.18754-0.44183-0.29292-0.70703-0.29297h-4.5zm0.03125 2.998v1h3v-1h-3zm0 2v1h1.9844 1.0156v-1h-3zm6.9844 1.9941c-0.51812 0-1.0362 0.1346-1.5 0.40234-0.92637 0.53485-1.4986 1.5243-1.5 2.5938v0.0039062 1.0059c-0.55588 0.0173-1 0.46515-1 1.0254v2.9688c0 0.5225 0.50255 1 1 1h6c0.51481 0 1-0.45904 1-1v0.17383c0.01922-0.11219 0.01919-0.2257 0-0.33789v-2.8047c0-0.56024-0.44412-1.008-1-1.0254v-1.0098c-1e-3 -1.0695-0.57363-2.0589-1.5-2.5938-0.46375-0.26774-0.98188-0.40234-1.5-0.40234zm-6.9844 0.0058594v1h2.9844v-1h-2.9844zm6.9844 1.6367c0.25203 0 0.50427 0.064703 0.73047 0.19531 0.45239 0.26119 0.73047 0.74326 0.73047 1.2656v0.89648h-2.9219v-0.89648-0.003906c1e-3 -0.52125 0.27892-1.001 0.73047-1.2617 0.2262-0.1305 0.47844-0.19531 0.73047-0.19531zm-6.9844 0.36328v1h1.9844v-1h-1.9844zm0 2v1h1.9844v-1h-1.9844z"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/puzzle-piece-symbolic.svg����������������������0000664�0000000�0000000�00000001203�15234476640�0027346�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 6.5 1 c -0.832031 0 -1.5 0.667969 -1.5 1.5 v 1.5 h -3 c -0.554688 0 -1 0.445312 -1 1 v 3 h 1.5 c 0.832031 0 1.5 0.667969 1.5 1.5 s -0.667969 1.5 -1.5 1.5 h -1.5 v 3 c 0 0.554688 0.445312 1 1 1 h 3 v -1.5 c 0 -0.832031 0.667969 -1.5 1.5 -1.5 s 1.5 0.667969 1.5 1.5 v 1.5 h 3 c 0.554688 0 1 -0.445312 1 -1 v -3 h 1.5 c 0.832031 0 1.5 -0.667969 1.5 -1.5 s -0.667969 -1.5 -1.5 -1.5 h -1.5 v -3 c 0 -0.554688 -0.445312 -1 -1 -1 h -3 v -1.5 c 0 -0.832031 -0.667969 -1.5 -1.5 -1.5 z m 0 0" fill="#222222"/></svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/���������������������������������������0000775�0000000�0000000�00000000000�15234476640�0024045�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/advertising-none-symbolic.svg����������0000664�0000000�0000000�00000001572�15234476640�0031666�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M12.986.014a1 1 0 0 0-.807.443C10.743 2.599 7.206 3.729 5.05 3.961l-.027.002L1.53.469.469 1.53l14 14 1.062-1.062-1.521-1.522V9.168l1.734-.693a.423.423 0 0 0 .266-.395V6.947a.42.42 0 0 0-.266-.392l-1.734-.696V1.014a1 1 0 0 0-.71-.957 1 1 0 0 0-.314-.043m-.977 3.474v7.46L6.773 5.712c1.686-.343 3.641-1.011 5.236-2.225m-10.857.727a2.013 2.013 0 0 0-1.142 1.8v3a2.02 2.02 0 0 0 1.996 2.004l1.15.003.194.002.681 3.2a1 1 0 0 0 1.188.77 1 1 0 0 0 .77-1.188l-.57-2.68c1.106.157 2.49.526 3.759 1.115L6.15 9.213a16.5 16.5 0 0 0-.887-.123c-.08-.008-.17-.013-.254-.02v-.998l-1-1V9.03c-.308-.004-.615-.005-.846-.006l-1.15-.006c-.014 0-.004.01-.004-.003v-3h.941z" color="#000" style="-inkscape-stroke:none"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/advertising-symbolic.svg���������������0000664�0000000�0000000�00000001605�15234476640�0030726�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M12.987.014a1 1 0 0 0-.807.444C10.744 2.6 7.207 3.73 5.051 3.962c-.433.046-1.338.052-1.89.052H2.01c-1.093 0-2 .908-2 2v3c0 1.092.904 2 1.996 2.004l1.15.004.193.002.682 3.2a1 1 0 0 0 1.187.769 1 1 0 0 0 .77-1.188l-.57-2.68c2.171.31 5.404 1.421 6.761 3.446a1 1 0 0 0 1.83-.557V9.17l1.735-.694a.423.423 0 0 0 .266-.394V6.948a.42.42 0 0 0-.266-.393L14.01 5.86V1.014a1 1 0 0 0-.708-.957 1 1 0 0 0-.315-.043M12.01 3.49v8.055c-2.104-1.6-4.836-2.25-6.746-2.454-.079-.008-.169-.013-.254-.019V5.969c.085-.006.175-.01.254-.02 1.91-.205 4.643-.86 6.746-2.46m-8 2.52v3.02c-.308-.003-.615-.004-.845-.005l-1.15-.006c-.015 0-.005.01-.005-.004v-3h1.15c.233 0 .541-.002.85-.006z" color="#000" style="-inkscape-stroke:none"/> </svg> ���������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/alcohol-use-none-symbolic.svg����������0000664�0000000�0000000�00000001337�15234476640�0031561�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" fill-opacity=".349" d="m4.06 5 5 5H10l2-2V5z"/> <path d="m4.29 0-.235.672a30.488 30.488 0 0 0-.559 1.764L1.53.469.47 1.53l14 14 1.062-1.062-4.463-4.463c.33-.25.616-.534.85-.838A5.253 5.253 0 0 0 13 6c0-1.521-.292-2.742-1.041-5.283L11.749 0zm1.46 2h4.438c.498 1.76.812 2.916.812 4 0 .52-.205 1.346-.668 1.95a2.636 2.636 0 0 1-.684.636l-4.48-4.479c.11-.55.287-1.2.582-2.107M3.002 6.065A5.258 5.258 0 0 0 4.078 9.13 4.746 4.746 0 0 0 7 10.908v3.108l-2.004.005.008 2 6-.02-.008-1.942-.056-.057-1.94.004v-1.944z" style="-inkscape-stroke:none"/> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/alcohol-use-symbolic.svg���������������0000664�0000000�0000000�00000001247�15234476640�0030624�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="m4.29 0-.235.672C3.036 3.61 3 4.68 3 6c0 .94.296 2.098 1.078 3.13A4.746 4.746 0 0 0 7 10.909v3.106l-2.004.006.008 2 6-.02-.008-2L9 14.006v-3.098c1.29-.237 2.286-.917 2.918-1.74A5.253 5.253 0 0 0 13 6c0-1.521-.292-2.742-1.041-5.283L11.749 0zm1.46 2h4.438c.499 1.76.812 2.916.812 4 0 .52-.205 1.347-.668 1.95C9.87 8.55 9.221 9 8 9c-1.211 0-1.86-.461-2.328-1.078S5 6.464 5 6c0-1.166.078-1.932.75-4" color="#000" style="-inkscape-stroke:none"/> <path fill-opacity=".35" d="M4 5h8v3l-2 2H6L4 8z"/> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/audio-chat-none-symbolic.svg�����������0000664�0000000�0000000�00000001152�15234476640�0031357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="M8 0C6.34 0 5 1.34 5 3v.941L1.53.471.468 1.529l14 14 1.062-1.06-2.793-2.791A5.945 5.945 0 0 0 14 8.012V7h-1.5v1.012a4.48 4.48 0 0 1-.824 2.603l-1.092-1.091A2.98 2.98 0 0 0 11 8V3c0-1.66-1.34-3-3-3m0 2c.555 0 1 .445 1 1v4.94l-2-2V3c0-.555.445-1 1-1M2 7v1.012c0 2.964 2.164 5.43 5 5.906V16h2v-2.082c.5-.084.978-.23 1.428-.43l-1.164-1.164A4.59 4.59 0 0 1 8 12.5a4.466 4.466 0 0 1-4.5-4.488V7zm3.004 1.065a2.991 2.991 0 0 0 2.932 2.931z"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/audio-chat-symbolic.svg����������������0000664�0000000�0000000�00000000751�15234476640�0030426�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M8 0C6.34 0 5 1.34 5 3v5c0 1.66 1.34 3 3 3s3-1.34 3-3V3c0-1.66-1.34-3-3-3m0 2c.555 0 1 .445 1 1v5c0 .555-.445 1-1 1s-1-.445-1-1V3c0-.555.445-1 1-1M2 7v1.012c0 2.965 2.164 5.43 5 5.906V16h2v-2.082c2.836-.477 5-2.941 5-5.906V7h-1.5v1.012c0 2.5-1.992 4.488-4.5 4.488s-4.5-1.988-4.5-4.488V7zm0 0"/> </svg> �����������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/contacts-symbolic.svg������������������0000664�0000000�0000000�00000002020�15234476640�0030215�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M5 0C3.707 0 2.594.84 2.176 2H1v2h1v1H1v2h1v1H1v2h1v1H1v2h1.176c.418 1.16 1.531 2 2.824 2h7c1.645 0 3-1.355 3-3V3c0-1.644-1.355-3-3-3zm0 2h7c.57 0 .887.441 1 1v9c0 .57-.43 1-1 1H5c-.555 0-1-.445-1-1V3c0-.555.445-1 1-1m3.527 2c-.082 0-.16.004-.242.012a3.507 3.507 0 0 0-3.258 3.934 3.513 3.513 0 0 0 3.489 3.062c.847-.004 1.64-.278 1.64-.278l-.312-.949s-.707.227-1.332.227h-.004A2.496 2.496 0 0 1 6.019 7.82a2.496 2.496 0 0 1 1.868-2.738 2.79 2.79 0 0 1 1.808.164c.528.242.89.629 1.004 1.059.125.464.086.968-.086 1.277-.097.176-.402.351-.613.426v-.5c0-.825-.676-1.5-1.5-1.5S7 6.683 7 7.508c0 .82.676 1.5 1.5 1.5.176 0 .344-.04.5-.094v.043l.45.047c.94.097 1.69-.317 2.038-.934.348-.62.356-1.36.176-2.023-.207-.785-.816-1.371-1.555-1.707A3.717 3.717 0 0 0 8.523 4zM8.5 7.008c.281 0 .5.215.5.5 0 .281-.219.5-.5.5s-.5-.219-.5-.5c0-.285.219-.5.5-.5"/> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/drug-use-none-symbolic.svg�������������0000664�0000000�0000000�00000001701�15234476640�0031074�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <g fill="#222"> <path d="M11.002 1c-1.026 0-2.052.39-2.83 1.168l-3.47 3.47 5.66 5.66 3.47-3.472a4.016 4.016 0 0 0 .002-5.66A3.992 3.992 0 0 0 11.002 1m0 1.982a2 2 0 0 1 1.418.598 1.977 1.977 0 0 1-.002 2.832l-2.264 2.266-2.832-2.832 2.264-2.264a2 2 0 0 1 1.416-.6m-7.363 3.72-1.41 1.41a4.016 4.016 0 0 0 0 5.66 4.016 4.016 0 0 0 5.66 0l1.41-1.41-1.414-1.415-1.41 1.41a1.977 1.977 0 0 1-2.832 0 1.977 1.977 0 0 1 0-2.831l1.41-1.41z" color="#000" style="-inkscape-stroke:none;paint-order:markers stroke fill"/> <path fill-opacity=".333" d="m4.692 5.647 5.66 5.66 3.48-3.48a4.017 4.017 0 0 0 .001-5.661 4.017 4.017 0 0 0-5.66.001z" color="#000" style="-inkscape-stroke:none;paint-order:markers stroke fill"/> <path d="M1.53.47.469 1.53l14 14 1.062-1.061z"/> </g> </svg> ���������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/drug-use-symbolic.svg������������������0000664�0000000�0000000�00000001526�15234476640�0030144�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M11.002 1c-1.026 0-2.052.39-2.83 1.168L2.229 8.111a4.016 4.016 0 0 0 0 5.66 4.016 4.016 0 0 0 5.66 0l5.943-5.945a4.016 4.016 0 0 0 .002-5.66A3.992 3.992 0 0 0 11.002 1m0 1.982a2 2 0 0 1 1.418.598 1.977 1.977 0 0 1-.002 2.832l-2.264 2.266-2.832-2.832 2.264-2.264a2 2 0 0 1 1.416-.6M5.908 7.26l2.832 2.832-2.265 2.265a1.977 1.977 0 0 1-2.832 0 1.977 1.977 0 0 1 0-2.832z" color="#000" style="-inkscape-stroke:none;paint-order:markers stroke fill"/> <path fill="#222" fill-opacity=".333" d="m4.692 5.647 5.66 5.66 3.48-3.48a4.017 4.017 0 0 0 .001-5.661 4.017 4.017 0 0 0-5.66.001z" color="#000" style="-inkscape-stroke:none;paint-order:markers stroke fill"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/gambling-none-symbolic.svg�������������0000664�0000000�0000000�00000001027�15234476640�0031122�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="M1.53.47.468 1.53l14 14 1.062-1.061-.943-.944c.26-.442.412-.957.412-1.51v-8.03A2.98 2.98 0 0 0 12.016 1H3.984c-.553 0-1.07.15-1.513.412zM11.5 3a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M1 4.06v7.956A2.98 2.98 0 0 0 3.984 15h7.956L1 4.061zm7.102 2.37a1.5 1.5 0 0 1 1.406 2.017L7.582 6.523a1.49 1.49 0 0 1 .52-.093M4.5 10a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3"/> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/gambling-symbolic.svg������������������0000664�0000000�0000000�00000000750�15234476640�0030167�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M12.016 1A2.98 2.98 0 0 1 15 3.984v8.032A2.98 2.98 0 0 1 12.016 15H3.985A2.98 2.98 0 0 1 1 12.016V3.984A2.98 2.98 0 0 1 3.985 1zM11.5 3a1.5 1.5 0 1 0 .001 3 1.5 1.5 0 0 0 0-3M8.102 6.43c-.832 0-1.5.672-1.5 1.5s.668 1.5 1.5 1.5a1.5 1.5 0 0 0 0-3M4.5 10a1.5 1.5 0 1 0 .001 3 1.5 1.5 0 0 0 0-3"/> </svg> ������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/human-remains-symbolic.svg�������������0000664�0000000�0000000�00000000614�15234476640�0031152�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="m11.125 1.25-.844 2.188-1.844-.75-.75 1.874 1.875.75-2.187 5.75C5.082 11.54 3.832 13.027 3 14H1.469v1.063h13V14h-.719c-.414-.988-1.914-2.605-4.219-3l1.906-4.969 2.25.907.75-1.844-2.28-.907L13 2zm0 0"/> </svg> ��������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/messaging-none-symbolic.svg������������0000664�0000000�0000000�00000001005�15234476640�0031313�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M1.53.47.47 1.53l14 14 1.06-1.06-1.95-1.95A3.015 3.015 0 0 0 14.998 10V5c0-1.645-1.355-3-3-3h-8c-.284 0-.559.042-.82.117L1.53.471zM5.06 4H12c.571 0 1 .429 1 1v5a.973.973 0 0 1-.943.996zm-3.943.178A2.943 2.943 0 0 0 .998 5v5c0 1.645 1.356 3 3 3h1v3l3-3h1.941l-2-2H4c-.57 0-1-.429-1-1V6.059z" style="-inkscape-stroke:none"/> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/messaging-symbolic.svg�����������������0000664�0000000�0000000�00000000656�15234476640�0030371�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M3.999 2c-1.645 0-3 1.355-3 3v5c0 1.645 1.355 3 3 3h1v3l3-3h4c1.645 0 3-1.355 3-3V5c0-1.645-1.355-3-3-3zm0 2h8c.571 0 1 .429 1 1v5c0 .571-.429 1-1 1h-8c-.571 0-1-.429-1-1V5c0-.571.429-1 1-1" color="#000" style="-inkscape-stroke:none"/> </svg> ����������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/money-none-symbolic.svg����������������0000664�0000000�0000000�00000001146�15234476640�0030473�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="m1.531.469-1.06 1.06L2.85 3.91l1.41 1.418a.985.985 0 0 1 .005-.004L5.94 7h-.003L9 10.063v-.004l.941.941h-.004l1.868 1.867h.004l2.662 2.662 1.06-1.06-2.396-2.397c.53-.537.861-1.268.861-2.076A3.01 3.01 0 0 0 11 7H9V5h4V3H9V1H7v2H5c-.281 0-.557.042-.82.117zM6.063 5H7v.938zm-3.97.277A2.99 2.99 0 0 0 5 8.992v.012h.82zM10.064 9H11a.98.98 0 0 1 .996.996.994.994 0 0 1-.26.678L10.062 9zM7 10.184V11H3v2h4v2h2v-2h.82z" style="fill:#222"/> </svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/money-symbolic.svg���������������������0000664�0000000�0000000�00000000762�15234476640�0027541�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M7 1v2H5a2.996 2.996 0 0 0 0 5.992v.012h2v2H3v2h4v2h2v-2h2v-.012a3.01 3.01 0 0 0 2.996-2.996A3.01 3.01 0 0 0 11 7H9V5h4V3H9V1zM5.04 5H7v2H5.105a9.66 9.66 0 0 1-.109-.012.992.992 0 0 1-.863-1.492c.18-.309.504-.5.863-.5a.08.08 0 0 0 .043 0zM9 9h2c.563 0 .996.434.996.996s-.434.996-.996.996l-2 .012zm0 0"/> </svg> ��������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/nudity-none-symbolic.svg���������������0000664�0000000�0000000�00000001310�15234476640�0030651�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="m1.531.469-1.06 1.06 2.498 2.498v.004l5.785 5.782.744.744s-.002 0-.002.002l1.473 1.472v-.004l3.502 3.502 1.06-1.06-3.111-3.112c.634-.634 1.049-1.67 1.049-2.845 0-1.933-1.117-3.5-2.5-3.5v-4h-8v.894L1.53.47zM6.97 4.512c.883 0 1.652.504 2.176 1.234.523.73.824 1.703.824 2.766 0 .128-.006.254-.016.379L8.92 7.857c-.091-.602-.304-1.132-.588-1.529-.383-.539-.86-.816-1.363-.816a.501.501 0 0 1 0-1zm-4 1.644v9.856h4v-4.45l.363-.105c.207-.059.415-.172.606-.336zm5.586 5.582a3.042 3.042 0 0 1-.586.387v3.887h3v-1.856z" style="fill:#222"/> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/nudity-symbolic.svg��������������������0000664�0000000�0000000�00000000760�15234476640�0027724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M2.969 1.012v15h4v-4.45l.363-.105c.84-.234 1.637-1.422 1.637-2.945 0-.871-.254-1.649-.637-2.184-.383-.539-.86-.816-1.363-.816a.501.501 0 0 1 0-1c.883 0 1.652.504 2.176 1.234.523.73.824 1.703.824 2.766 0 1.668-.809 3.023-2 3.613v3.887h3v-4c1.383 0 2.5-1.567 2.5-3.5 0-1.934-1.117-3.5-2.5-3.5v-4zm0 0"/> </svg> ����������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/smoking-none-symbolic.svg��������������0000664�0000000�0000000�00000000743�15234476640�0031015�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill-opacity=".35" d="M3 0v.5C3 2.98 5.02 5 7.5 5h3c.832 0 1.5.664 1.5 1.5V7h3v-.5C15 4.02 12.98 2 10.5 2h-3C6.664 2 6 1.332 6 .5V0Zm0 0" style="fill:#222"/> <path d="m1.531.469-1.06 1.06 14 14 1.06-1.06L13 11.938V8h-1v2.938l-1-1V8H9.062L1.532.469zM0 8v4h8.906l-4-4zm14 0v4h1V8z" style="fill:#222"/> </svg> �����������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/smoking-symbolic.svg�������������������0000664�0000000�0000000�00000000655�15234476640�0030062�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill-opacity=".35" d="M3 .012v.5c0 2.48 2.02 4.5 4.5 4.5h3c.832 0 1.5.664 1.5 1.5v.5h3v-.5c0-2.48-2.02-4.5-4.5-4.5h-3c-.836 0-1.5-.668-1.5-1.5v-.5zm0 0" style="fill:#222"/> <path d="M0 8.012v4h11v-4zm12 0v4h1v-4zm2 0v4h1v-4z" style="fill:#222"/> </svg> �����������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/social-info-symbolic.svg���������������0000664�0000000�0000000�00000001755�15234476640�0030620�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M3 2C1.356 2 0 3.356 0 5v6c0 1.645 1.356 3 3 3h10c1.645 0 3-1.355 3-3V5c0-1.644-1.355-3-3-3zm0 2h10c.57 0 1 .43 1 1v6c0 .57-.43 1-1 1H3c-.57 0-1-.43-1-1V5c0-.57.43-1 1-1m7.516.98a.557.557 0 0 0-.555.555c0 .305.25.555.555.555h1.898c.305 0 .55-.25.55-.555a.553.553 0 0 0-.55-.555zM6.5 5A2.507 2.507 0 0 0 4 7.5c0 .332.156.629.281.934C3.551 8.867 3 9.59 3 10.5a.499.499 0 1 0 1 0c0-.664.418-1.21 1.004-1.418a.483.483 0 0 0 .309-.313.496.496 0 0 0-.06-.437A1.501 1.501 0 0 1 5 7.5C5 6.664 5.664 6 6.5 6a1.49 1.49 0 0 1 1.242 2.332.509.509 0 0 0-.058.437c.05.149.164.266.312.313.59.207 1.024.758 1.004 1.406a.5.5 0 0 0 1 .024c.023-.926-.543-1.649-1.285-2.082C8.84 8.129 9 7.832 9 7.5 9 6.125 7.875 5 6.5 5m3.984 1.984a.52.52 0 0 0-.523.52c0 .289.234.523.523.523h1.961a.52.52 0 0 0 .52-.523c0-.29-.23-.52-.52-.52z"/> </svg> �������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/strong-language-none-symbolic.svg������0000664�0000000�0000000�00000000657�15234476640�0032447�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="m1.531.469-1.06 1.06 14 14 1.06-1.06-1.035-1.035a1.5 1.5 0 0 0-1.426-1.426L12.062 11H14V2h-2v8.938l-1-1V9h-.938L9 7.937V7h2V5H9V2H7v3h-.938L5 3.937V2H3.062L1.532.469zM1 5v2h2v2H1v2h2v3h2v-3h2v3h2v-1.879L5.879 9H5v-.879L1.879 5z" style="fill:#222"/> </svg> ���������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/strong-language-symbolic.svg�����������0000664�0000000�0000000�00000000537�15234476640�0031507�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="M3 2v3H1v2h2v2H1v2h2v3h2v-3h2v3h2v-3h2V9H9V7h2V5H9V2H7v3H5V2zm9 0v9h2V2zM5 7h2v2H5zm8 5a1.5 1.5 0 0 0-1.5 1.5 1.5 1.5 0 0 0 3 0A1.5 1.5 0 0 0 13 12" style="fill:#222"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/violence-none-symbolic.svg�������������0000664�0000000�0000000�00000001017�15234476640�0031145�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path d="m1.531.469-1.06 1.06 6.154 6.155L10 11.062a25.453 25.453 0 0 0 .002-.001l4.469 4.468 1.06-1.06-4.363-4.364a25.453 25.453 0 0 0 1.395-1.293L9.027 5.277 7.686 6.623zm12.754.125a1.504 1.504 0 0 0-1.015.441L9.734 4.57l1.414 1.414 2.536-2.535a1.501 1.501 0 1 0 .601-2.855M5.562 8.746l-5.019 5.02c.559.554 3.766 1.096 8.219-1.82z" style="fill:#222"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/ratings/violence-symbolic.svg������������������0000664�0000000�0000000�00000000551�15234476640�0030212�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- SPDX-License-Identifier: CC0-1.0 SPDX-FileCopyrightText: 2024 GNOME Foundation, Inc. --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#222" d="M14.285.594a1.504 1.504 0 0 0-1.015.441L9.734 4.57l1.414 1.414 2.536-2.535a1.501 1.501 0 1 0 .601-2.855M9.027 5.277.543 13.766c.707.703 5.656 1.41 12.02-4.954zm0 0"/> </svg> �������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/regex-symbolic.svg�����������������������������0000664�0000000�0000000�00000001172�15234476640�0026051�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 7.9375 2 l 0.785156 2.980469 l -2.222656 -1.980469 l -1.480469 2.625 l 2.957031 0.886719 l -2.976562 0.863281 l 1.457031 2.667969 l 2.257813 -2 l -0.777344 2.957031 h 3.351562 l -0.71875 -2.871094 l 2.179688 1.972656 l 1.5 -2.644531 l -2.878906 -0.898437 l 2.980468 -0.746094 l -1.476562 -2.644531 l -2.355469 1.90625 l 0.769531 -3.074219 z m -5.4375 9 c -0.828125 0 -1.5 0.671875 -1.5 1.5 s 0.671875 1.5 1.5 1.5 s 1.5 -0.671875 1.5 -1.5 s -0.671875 -1.5 -1.5 -1.5 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/right-large-symbolic.svg�����������������������0000664�0000000�0000000�00000000744�15234476640�0027150�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5.707031 1.292969 l 6 6 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 l -6 6 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 s -0.390625 -1.023437 0 -1.414062 l 5.292969 -5.292969 l -5.292969 -5.292969 c -0.390625 -0.390625 -0.390625 -1.023437 0 -1.414062 s 1.023437 -0.390625 1.414062 0 z m 0 0" fill="#222222" fill-rule="evenodd"/></svg> ����������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/sad-computer-symbolic.svg����������������������0000664�0000000�0000000�00000002224�15234476640�0027341�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 12 1 c 1.664062 0 3 1.339844 3 3 v 6 c 0 1.660156 -1.335938 3 -3 3 h -8 c -1.660156 0 -3 -1.339844 -3 -3 v -6 c 0 -1.660156 1.339844 -3 3 -3 z m 0 2 h -8 c -0.554688 0 -1 0.445312 -1 1 v 6 c 0 0.554688 0.445312 1 1 1 h 8 c 0.554688 0 1 -0.445312 1 -1 v -6 c 0 -0.554688 -0.445312 -1 -1 -1 z m 0 0"/><path d="m 8 14 c -5 0 -5 1 -5 1 c 0 1 1 1 1 1 h 8 c 1 0 1 -1 1 -1 s 0 -1 -5 -1 z m 0 0"/><path d="m 6 4 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 4 0 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m -2 3 c -1.429688 0 -2.75 0.761719 -3.464844 2 c -0.136718 0.238281 -0.054687 0.546875 0.183594 0.683594 c 0.238281 0.136718 0.546875 0.054687 0.683594 -0.183594 c 0.535156 -0.929688 1.523437 -1.5 2.597656 -1.5 s 2.0625 0.570312 2.597656 1.5 c 0.136719 0.238281 0.445313 0.320312 0.683594 0.183594 c 0.238281 -0.136719 0.320312 -0.445313 0.183594 -0.683594 c -0.714844 -1.238281 -2.035156 -2 -3.464844 -2 z m 0 0"/></g></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/school-symbolic.svg����������������������������0000664�0000000�0000000�00000002013�15234476640�0026221�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 6.96875 2.96875 l -6.46875 3.5 l 6.5 4.09375 l 5.800781 -3.53125 h 0.203125 v 2.871094 c 0 0.03125 -0.003906 0.066406 -0.003906 0.101562 s 0 0.070313 0.003906 0.105469 v 0.914063 c 0.03125 0.695312 0.445313 1.210937 0.804688 1.554687 c 0.359375 0.339844 0.714844 0.535156 0.714844 0.535156 l 0.484374 -0.875 s -0.25 -0.140625 -0.511718 -0.386719 c -0.253906 -0.242187 -0.460938 -0.550781 -0.488282 -0.84375 c 0.554688 -0.003906 1 -0.453124 0.996094 -1.003906 c 0 -0.554687 -0.445312 -1.003906 -1 -1.003906 v -2.96875 h -1.3125 z m 0.03125 3.03125 c 0.550781 0 1 0.222656 1 0.5 s -0.449219 0.5 -1 0.5 s -1 -0.222656 -1 -0.5 s 0.449219 -0.5 1 -0.5 z m -3.96875 3.421875 c -0.011719 0.089844 -0.03125 0.179687 -0.03125 0.273437 c 0 1.824219 1.789062 3.304688 4 3.304688 s 4 -1.480469 4 -3.304688 c 0 -0.070312 -0.027344 -0.136718 -0.03125 -0.207031 l -3.96875 2.511719 z m 0 0" fill="#222222"/></svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/server-pick-symbolic.svg�����������������������0000664�0000000�0000000�00000001652�15234476640�0027174�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 3 0 c -1.109375 0 -2 0.890625 -2 2 v 7 c 0 1.109375 0.890625 2 2 2 h 1 v 1 h -3 v 1 h 8.671875 l 1 -1 h -5.671875 v -1 h 1 c 1.105469 0 2 -0.890625 2 -2 v -7 c 0 -1.109375 -0.894531 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 v 7 c 0 1.109375 0.890625 2 2 2 h 3 c 1.105469 0 2 -0.890625 2 -2 v -7 c 0 -1.109375 -0.894531 -2 -2 -2 z m -8 2 h 3 v 1 h -3 z m 8 0 h 3 v 1 h -3 z m -8 2 h 3 v 5 h -3 z m 8 0 h 3 v 5 h -3 z m -7 1 v 1 h 1 v -1 z m 8 0 v 1 h 1 v -1 z m 0.503906 7 c -0.257812 0 -0.515625 0.097656 -0.710937 0.292969 l -2 2 c -0.183594 0.1875 -0.289063 0.441406 -0.285157 0.707031 h -0.007812 v 1 h 6.003906 v -1 h -0.007812 c 0.003906 -0.265625 -0.101563 -0.519531 -0.285156 -0.707031 l -2 -2 c -0.195313 -0.195313 -0.453126 -0.292969 -0.707032 -0.292969 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/share-alt-symbolic.svg�������������������������0000664�0000000�0000000�00000001571�15234476640�0026622�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 5.96875 7.96875 c 0 1.640625 -1.328125 2.96875 -2.96875 2.96875 s -2.96875 -1.328125 -2.96875 -2.96875 s 1.328125 -2.96875 2.96875 -2.96875 s 2.96875 1.328125 2.96875 2.96875 z m 0 0"/><path d="m 15.9375 12.96875 c 0 1.640625 -1.328125 2.96875 -2.96875 2.96875 s -2.96875 -1.328125 -2.96875 -2.96875 s 1.328125 -2.96875 2.96875 -2.96875 s 2.96875 1.328125 2.96875 2.96875 z m 0 0"/><path d="m 15.9375 2.96875 c 0 1.640625 -1.328125 2.96875 -2.96875 2.96875 s -2.96875 -1.328125 -2.96875 -2.96875 s 1.328125 -2.96875 2.96875 -2.96875 s 2.96875 1.328125 2.96875 2.96875 z m 0 0"/><path d="m 12.613281 2.144531 l -11.867187 5.78125 l 11.855468 5.96875 l 0.898438 -1.789062 l -8.246094 -4.148438 l 8.234375 -4.011719 z m 0 0"/></g></svg> ���������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/share-symbolic.svg�����������������������������0000664�0000000�0000000�00000002175�15234476640�0026045�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 4 5.992188 h 1 c 0.257812 0 0.527344 -0.128907 0.71875 -0.3125 l 1.28125 -1.28125 v 6.59375 h 2 v -6.59375 l 1.28125 1.28125 c 0.191406 0.183593 0.410156 0.3125 0.71875 0.3125 h 1 v -1 c 0 -0.308594 -0.089844 -0.550782 -0.28125 -0.75 l -3.71875 -3.65625 l -3.71875 3.65625 c -0.191406 0.199218 -0.28125 0.441406 -0.28125 0.75 z m 0 0"/><path d="m 1.003906 11.964844 c 0 1.664062 1.371094 3.035156 3.035156 3.035156 h 7.917969 c 1.664063 0 3.03125 -1.371094 3.03125 -3.035156 v -1.972656 h -2 v 1.972656 c 0 0.589844 -0.441406 1.035156 -1.03125 1.035156 h -7.917969 c -0.589843 0 -1.035156 -0.445312 -1.035156 -1.035156 v -1.972656 h -2 z m 0 0"/><path d="m 4.039062 6.960938 c -1.664062 0 -3.035156 1.367187 -3.035156 3.03125 v 1.976562 h 2 v -1.976562 c 0 -0.589844 0.445313 -1.03125 1.035156 -1.03125 h 0.960938 v -2 z m 6.960938 0 v 2 h 0.957031 c 0.589844 0 1.03125 0.441406 1.03125 1.03125 v 1.976562 h 2 v -1.976562 c 0 -1.664063 -1.367187 -3.03125 -3.03125 -3.03125 z m 0 0"/></g></svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/shoe-box-symbolic.svg��������������������������0000664�0000000�0000000�00000001170�15234476640�0026461�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 2 1 c -1.109375 0 -2 0.890625 -2 2 v 2 c 0 0.75 0.40625 1.398438 1.015625 1.742188 c -0.011719 0.085937 -0.015625 0.171874 -0.015625 0.257812 v 7 c 0 1.109375 0.890625 2 2 2 h 10 c 1.109375 0 2 -0.890625 2 -2 v -7 c 0 -0.085938 -0.003906 -0.171875 -0.015625 -0.257812 c 0.609375 -0.34375 1.015625 -0.992188 1.015625 -1.742188 v -2 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 2 h 12 v 2 h -12 z m 1 4 h 10 v 7 h -10 z m 0 0" fill="#2e3436"/><path d="m 6 8 h 4 v 1 h -4 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/sidebar-show-symbolic.svg����������������������0000664�0000000�0000000�00000001142�15234476640�0027323�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#2e3436"> <path d="m 6.5 14 v -12 h -5 v 12 z m 0 0" fill-opacity="0.34902"/> <path d="m 3 1 c -1.644531 0 -3 1.355469 -3 3 v 8 c 0 1.644531 1.355469 3 3 3 h 10 c 1.644531 0 3 -1.355469 3 -3 v -8 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 10 c 0.570312 0 1 0.429688 1 1 v 8 c 0 0.570312 -0.429688 1 -1 1 h -10 c -0.570312 0 -1 -0.429688 -1 -1 v -8 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0"/> <path d="m 6 2 h 1 v 12 h -1 z m 0 0"/> </g> </svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/sliders-horizontal-symbolic.svg����������������0000664�0000000�0000000�00000001767�15234476640�0030605�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 11.5 1 c -1.921875 0 -3.5 1.578125 -3.5 3.5 s 1.578125 3.5 3.5 3.5 s 3.5 -1.578125 3.5 -3.5 s -1.578125 -3.5 -3.5 -3.5 z m 0 2 c 0.839844 0 1.5 0.660156 1.5 1.5 s -0.660156 1.5 -1.5 1.5 s -1.5 -0.660156 -1.5 -1.5 s 0.660156 -1.5 1.5 -1.5 z m 0 0"/><path d="m 4.5 8 c -1.921875 0 -3.5 1.578125 -3.5 3.5 s 1.578125 3.5 3.5 3.5 c 1.386719 0 2.59375 -0.820312 3.15625 -2 h 5.84375 c 0.832031 0 1.5 -0.667969 1.5 -1.5 s -0.667969 -1.5 -1.5 -1.5 h -5.84375 c -0.5625 -1.179688 -1.769531 -2 -3.15625 -2 z m 0 2 c 0.839844 0 1.5 0.660156 1.5 1.5 s -0.660156 1.5 -1.5 1.5 s -1.5 -0.660156 -1.5 -1.5 s 0.660156 -1.5 1.5 -1.5 z m 0 0"/><path d="m 2.5 3 c -0.832031 0 -1.5 0.667969 -1.5 1.5 s 0.667969 1.5 1.5 1.5 h 4.765625 c -0.171875 -0.480469 -0.261719 -0.988281 -0.265625 -1.5 c 0 -0.511719 0.09375 -1.019531 0.265625 -1.5 z m 0 0" fill-opacity="0.34902"/></g></svg> ���������bazaar-org-bazaar-917017d/src/icons/scalable/actions/smartphone2-symbolic.svg�����������������������0000664�0000000�0000000�00000001016�15234476640�0027176�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5 0 c -1.644531 0 -3 1.355469 -3 3 v 10 c 0 1.644531 1.355469 3 3 3 h 6 c 1.644531 0 3 -1.355469 3 -3 v -10 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 1 c 0 0.554688 0.445312 1 1 1 h 2 c 0.554688 0 1 -0.445312 1 -1 h 1 c 0.570312 0 1 0.429688 1 1 v 10 c 0 0.554688 -0.445312 1 -1 1 h -6 c -0.554688 0 -1 -0.445312 -1 -1 v -10 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/software-update-available-symbolic.svg���������0000664�0000000�0000000�00000002151�15234476640�0031765�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 8 0 c -0.257812 0 -0.511719 0.0976562 -0.707031 0.292969 l -1.707031 1.707031 h -2.585938 c -0.550781 0 -1 0.449219 -1 1 v 2.585938 l -1.707031 1.707031 c -0.3906252 0.390625 -0.3906252 1.023437 0 1.414062 l 1.707031 1.707031 v 2.585938 c 0 0.550781 0.449219 1 1 1 h 2.585938 l 1.707031 1.707031 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 1.707031 -1.707031 h 2.585938 c 0.550781 0 1 -0.449219 1 -1 v -2.585938 l 1.707031 -1.707031 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 l -1.707031 -1.707031 v -2.585938 c 0 -0.550781 -0.449219 -1 -1 -1 h -2.585938 l -1.707031 -1.707031 c -0.195312 -0.1953128 -0.449219 -0.292969 -0.707031 -0.292969 z m 0 5 c 0.257812 0 0.511719 0.097656 0.707031 0.292969 l 2 2 c 0.183594 0.1875 0.289063 0.441406 0.285157 0.707031 h 0.007812 v 1 h -2 v 2 h -2 v -2 h -2 v -1 h 0.007812 c -0.003906 -0.265625 0.101563 -0.519531 0.285157 -0.707031 l 2 -2 c 0.195312 -0.195313 0.449219 -0.292969 0.707031 -0.292969 z m 0 0" fill="#2e3436"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/square-filled-symbolic.svg���������������������0000664�0000000�0000000�00000000476�15234476640�0027502�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 13 2 h -10 c -0.550781 0 -1 0.449219 -1 1 v 10 c 0 0.550781 0.449219 1 1 1 h 10 c 0.550781 0 1 -0.449219 1 -1 v -10 c 0 -0.550781 -0.449219 -1 -1 -1 z m 0 0" fill="#222222"/></svg> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/star-outline-rounded-symbolic.svg��������������0000664�0000000�0000000�00000002632�15234476640�0031025�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 0 c -0.429688 0 -0.8125 0.273438 -0.949219 0.683594 l -1.449219 4.339844 l -4.589843 -0.015626 c -0.4375 0 -0.828125 0.28125 -0.9609378 0.695313 c -0.1328124 0.417969 0.0195313 0.871094 0.3789068 1.125 l 3.625 2.554687 l -1.5 4.285157 c -0.140626 0.40625 -0.011719 0.855469 0.328124 1.121093 c 0.335938 0.261719 0.804688 0.285157 1.164063 0.050782 l 4.003906 -2.59375 l 3.898438 2.589844 c 0.355469 0.234374 0.824219 0.21875 1.164062 -0.046876 c 0.339844 -0.261718 0.472657 -0.714843 0.332031 -1.117187 l -1.503906 -4.289063 l 3.644532 -2.578124 c 0.351562 -0.25 0.503906 -0.703126 0.371093 -1.113282 c -0.128906 -0.414062 -0.511719 -0.695312 -0.945312 -0.699218 l -4.660157 -0.015626 l -1.402343 -4.285156 c -0.132813 -0.410156 -0.515625 -0.68749975 -0.949219 -0.691406 z m -0.007812 4.1875 l 0.683593 2.097656 c 0.136719 0.410156 0.515625 0.6875 0.945313 0.6875 l 2.253906 0.007813 l -1.703125 1.203125 c -0.363281 0.257812 -0.511719 0.726562 -0.363281 1.148437 l 0.765625 2.191407 l -1.964844 -1.304688 c -0.332031 -0.21875 -0.761719 -0.222656 -1.097656 -0.007812 l -2.101563 1.363281 l 0.785156 -2.242188 c 0.148438 -0.421875 -0.003906 -0.890625 -0.367187 -1.148437 l -1.652344 -1.164063 l 2.144531 0.007813 c 0.429688 0 0.816407 -0.277344 0.949219 -0.683594 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/starred-symbolic.svg���������������������������0000664�0000000�0000000�00000001317�15234476640�0026404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 8 0 c -0.429688 0 -0.8125 0.273438 -0.949219 0.683594 l -1.449219 4.339844 l -4.589843 -0.015626 c -0.980469 -0.003906 -1.382813 1.257813 -0.582031 1.820313 l 3.625 2.554687 l -1.5 4.285157 c -0.316407 0.902343 0.6875 1.691406 1.492187 1.171875 l 4.003906 -2.59375 l 3.894531 2.585937 c 0.800782 0.53125 1.816407 -0.257812 1.5 -1.160156 l -1.503906 -4.289063 l 3.644532 -2.578124 c 0.789062 -0.5625 0.394531 -1.808594 -0.574219 -1.8125 l -4.660157 -0.015626 l -1.402343 -4.285156 c -0.132813 -0.410156 -0.515625 -0.68749975 -0.949219 -0.691406 z m 0 0" fill="#2e3436"/> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/thumbs-up-outline-symbolic.svg�����������������0000664�0000000�0000000�00000003270�15234476640�0030341�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 0 15 c 0 0.550781 0.449219 1 1 1 h 11 c 1.011719 0 1.78125 -0.8125 1.980469 -1.800781 l 1 -4.96875 c 0.011719 -0.066407 0.019531 -0.132813 0.019531 -0.199219 v -2.0625 c 0 -1.074219 -0.847656 -2 -2 -2 h -3.402344 l 0.996094 1.113281 l 0.398438 -3.46875 l -0.027344 0.144531 c 0.375 -1.394531 -0.664063 -2.757812 -1.964844 -2.757812 h -2 c -0.398438 0 -0.757812 0.234375 -0.917969 0.601562 l -3.039062 7 l 0.914062 -0.601562 h -2.957031 c -0.550781 0 -1 0.449219 -1 1 z m 3.957031 -6 c 0.398438 0 0.761719 -0.234375 0.917969 -0.601562 l 3.042969 -7 l -0.917969 0.601562 h 2 c -0.039062 0 -0.054688 -0.007812 -0.054688 -0.007812 s 0 0 0.003907 0.003906 c 0.003906 0 0.003906 0.003906 0.007812 0.003906 c 0 0 0.003907 0.003906 0.003907 0.003906 c 0.003906 0 0.003906 0.003906 0.007812 0.003906 c 0.003906 0.003907 0.007812 0.007813 0.011719 0.007813 c 0.046875 0.046875 0.09375 0.078125 0.054687 0.226563 c -0.015625 0.046874 -0.023437 0.09375 -0.027344 0.144531 l -0.402343 3.46875 c -0.03125 0.28125 0.058593 0.566406 0.246093 0.777343 c 0.191407 0.214844 0.460938 0.335938 0.746094 0.335938 h 3.402344 c 0.03125 0 0.011719 0 0.003906 -0.007812 c -0.007812 -0.003907 -0.007812 -0.007813 -0.003906 0 v 0.007812 v 2.0625 l 0.019531 -0.199219 l -1 4.972657 c -0.027343 0.128906 -0.078125 0.191406 -0.09375 0.207031 c -0.003906 0.003906 -0.003906 0.003906 -0.003906 0.003906 s -0.003906 0 -0.003906 0.003906 c 0 0 0.003906 0 0.003906 -0.003906 h 0.003906 s 0 -0.003906 0.003907 -0.003906 c 0.011718 -0.003907 0.039062 -0.011719 0.070312 -0.011719 h -11 l 1 1 v -7 l -1 1 z m 0 0"/></svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/timer-sand-symbolic.svg������������������������0000664�0000000�0000000�00000001057�15234476640�0027004�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 0.0195312 0.996094 v 2 h 1.9999998 v 2.46875 l 3 2.5 v 0.0625 l -3 2.5 v 2.46875 h -1.9999998 v 2 h 14.9999998 v -2 h -2 v -2.46875 l -3 -2.5 v -0.0625 l 3 -2.5 v -2.46875 h 2 v -2 z m 3.9999998 2 h 7 v 1.53125 l -3 2.5 v 1.9375 l 3 2.5 v 1.53125 h -1 l -2.5 -2.1875 l -2.5 2.1875 h -1 v -1.53125 l 3 -2.5 v -1.9375 l -3 -2.5 z m 0 0"/><path d="m 6.019531 4.996094 h 3 l -1.5 1.3125 z m 0 0"/></g></svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/translations-symbolic.svg����������������������0000664�0000000�0000000�00000001206�15234476640�0027456�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 2 1 v 14 h 2 v -5 h 2.382812 l 0.722657 1.445312 c 0.171875 0.339844 0.515625 0.554688 0.894531 0.554688 h 5 c 0.554688 0 1 -0.449219 1 -1 v -7 c 0 -0.550781 -0.445312 -1 -1 -1 h -3.378906 l -0.726563 -1.449219 c -0.167969 -0.335937 -0.515625 -0.550781 -0.894531 -0.550781 z m 2 2 h 3.382812 l 0.722657 1.445312 c 0.171875 0.339844 0.515625 0.554688 0.894531 0.554688 h 3 v 5 h -3.378906 l -0.726563 -1.449219 c -0.167969 -0.335937 -0.515625 -0.550781 -0.894531 -0.550781 h -3 z m 0 0" fill="#222222"/></svg> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/user-trash-symbolic.svg������������������������0000664�0000000�0000000�00000002050�15234476640�0027030�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <g fill="#2e3436"> <path d="m 1 3 h 14 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 s 0.449219 -1 1 -1 z m 0 0"/> <path d="m 4 4 v -1.5 c 0 -1.386719 1.113281 -2.5 2.5 -2.5 h 2.980469 c 1.382812 0 2.5 1.113281 2.5 2.5 v 1.5 h -2 v -1.5 c 0 -0.269531 -0.230469 -0.5 -0.5 -0.5 h -2.980469 c -0.269531 0 -0.5 0.230469 -0.5 0.5 v 1.5 z m 0 0"/> <path d="m 4 4 v 9 c 0 0.546875 0.453125 1 1 1 h 6 c 0.546875 0 1 -0.453125 1 -1 v -9 h 2 v 9 c 0 1.660156 -1.339844 3 -3 3 h -6 c -1.660156 0 -3 -1.339844 -3 -3 v -9 z m 0 0"/> <path d="m 7 7 v 5 c 0 0.277344 -0.222656 0.5 -0.5 0.5 s -0.5 -0.222656 -0.5 -0.5 v -5 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 s 0.5 0.222656 0.5 0.5 z m 0 0"/> <path d="m 10 7 v 5 c 0 0.277344 -0.222656 0.5 -0.5 0.5 s -0.5 -0.222656 -0.5 -0.5 v -5 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 s 0.5 0.222656 0.5 0.5 z m 0 0"/> </g> </svg> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/verified-checkmark-symbolic.svg����������������0000664�0000000�0000000�00000003061�15234476640�0030461�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5.210938 1.269531 c 0.703124 -0.808593 1.71875 -1.269531 2.789062 -1.269531 c 1.113281 0 2.109375 0.492188 2.785156 1.269531 c 1.070313 -0.074219 2.117188 0.316407 2.871094 1.074219 c 0.757812 0.753906 1.148438 1.800781 1.074219 2.867188 c 0.808593 0.703124 1.269531 1.71875 1.269531 2.789062 s -0.464844 2.085938 -1.269531 2.789062 c 0.074219 1.066407 -0.316407 2.113282 -1.074219 2.867188 c -0.753906 0.757812 -1.800781 1.148438 -2.871094 1.074219 c -0.699218 0.808593 -1.714844 1.269531 -2.785156 1.269531 s -2.085938 -0.460938 -2.789062 -1.269531 c -1.066407 0.074219 -2.113282 -0.316407 -2.867188 -1.074219 c -0.757812 -0.753906 -1.148438 -1.800781 -1.074219 -2.867188 c -0.808593 -0.703124 -1.269531 -1.71875 -1.269531 -2.789062 c 0 -1.113281 0.492188 -2.109375 1.269531 -2.789062 c -0.074219 -1.066407 0.316407 -2.113282 1.074219 -2.867188 c 0.753906 -0.757812 1.800781 -1.148438 2.867188 -1.074219 z m 5.75 5.242188 c 0.136718 -0.179688 0.160156 -0.414063 0.070312 -0.621094 c -0.089844 -0.203125 -0.285156 -0.339844 -0.507812 -0.359375 c -0.222657 -0.023438 -0.4375 0.082031 -0.5625 0.265625 l -2.65625 3.714844 l -1.332032 -1.332031 c -0.242187 -0.226563 -0.621094 -0.21875 -0.855468 0.015624 c -0.234376 0.234376 -0.238282 0.613282 -0.015626 0.855469 l 1.847657 1.84375 c 0.128906 0.128907 0.304687 0.195313 0.484375 0.179688 c 0.179687 -0.015625 0.347656 -0.109375 0.453125 -0.253907 z m 0 0" fill="#222222" fill-rule="evenodd"/></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/video-reel2-symbolic.svg�����������������������0000664�0000000�0000000�00000000771�15234476640�0027060�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 0 0 v 16 h 2 v -2 h 12 v 2 h 2 v -16 h -2 v 2 h -12 v -2 z m 2 4 h 12 v 8 h -12 z m 0 0"/><path d="m 7 5 c 0.195312 0 0.386719 0.058594 0.554688 0.167969 l 3 2 c 0.589843 0.394531 0.589843 1.269531 0 1.664062 l -3 2 c -0.167969 0.109375 -0.359376 0.167969 -0.554688 0.167969 c 0 0 -1.003906 0 -1 -1 v -4 c -0.003906 -1 1 -1 1 -1 z m 0 0"/></g></svg> �������bazaar-org-bazaar-917017d/src/icons/scalable/actions/view-more-horizontal-symbolic.svg��������������0000664�0000000�0000000�00000001027�15234476640�0031037�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 2 6.007812 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 6 0 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 6 0 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 0 0" fill="#2e3436"/> </svg> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/view-more-symbolic.svg�������������������������0000664�0000000�0000000�00000000763�15234476640�0026656�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg"> <path d="m 7.996094 0 c -1.105469 0 -2 0.894531 -2 2 s 0.894531 2 2 2 c 1.101562 0 2 -0.894531 2 -2 s -0.898438 -2 -2 -2 z m 0 6 c -1.105469 0 -2 0.894531 -2 2 s 0.894531 2 2 2 c 1.101562 0 2 -0.894531 2 -2 s -0.898438 -2 -2 -2 z m 0 6 c -1.105469 0 -2 0.894531 -2 2 s 0.894531 2 2 2 c 1.101562 0 2 -0.894531 2 -2 s -0.898438 -2 -2 -2 z m 0 0" fill="#2e3436"/> </svg> �������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/we-love-games-symbolic.svg���������������������0000664�0000000�0000000�00000017135�15234476640�0027415�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg id="svg1" version="1.1" viewBox="0 0 102.29 30.745" xmlns="http://www.w3.org/2000/svg"> <g id="layer1" transform="translate(-50.535 -124.88)" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"> <path id="path13" d="m75.207 136.27c-0.24511-9e-3 -0.48771-4e-5 -0.72656 0.0176h-18.209c-1.9099-0.0372-3.5946 1.4141-3.8398 3.3086-0.62078 4.1593-1.2425 8.3192-1.8633 12.479a0.79383 0.79383 0 0 0-2e-3 0.0156c-0.13042 1.0125 0.20554 1.9266 0.80469 2.5234 0.59914 0.5968 1.402 0.89753 2.2168 0.97461 0.81475 0.0771 1.6609-0.0668 2.4004-0.46289 0.72402-0.38777 1.3494-1.0492 1.6094-1.9356 0.33568-0.76614 0.66792-1.5276 1.0859-2.1074 0.42483-0.5893 0.89456-0.97857 1.6074-1.1465 1.565-0.26769 3.2645-0.10387 5.0586-0.15429h5.1934a0.79383 0.79383 0 0 0 0.03711-2e-3c0.83257-0.0396 1.4807 0.25991 2.0586 0.78907s1.0482 1.3015 1.3535 2.1016c0.28888 0.79106 0.76384 1.5517 1.4453 2.1191 0.65785 0.5478 1.5471 0.87577 2.5195 0.79492 2.1206 0.19891 3.7997-1.8958 3.2383-3.9141-0.59989-4.0191-1.2009-8.0376-1.8008-12.057-0.14017-1.2965-0.9388-2.2547-1.8984-2.7617-0.71397-0.37725-1.5103-0.55253-2.2891-0.58203zm-0.07813 1.5898c0.58728 0.0241 1.1751 0.15579 1.627 0.39453 0.60243 0.31831 0.97571 0.7446 1.0605 1.5293a0.79383 0.79383 0 0 0 0.0039 0.0312c0.6037 4.0447 1.2088 8.09 1.8125 12.135a0.79383 0.79383 0 0 0 0.02539 0.11328c0.29057 0.95333-0.58338 2.0786-1.5859 1.957a0.79383 0.79383 0 0 0-0.18945 0c-0.56664 0.0675-1.0131-0.10425-1.4297-0.45117-0.41662-0.34693-0.76737-0.88529-0.97266-1.4512a0.79383 0.79383 0 0 0-0.0039-0.0117c-0.37416-0.98038-0.94545-1.9579-1.7656-2.709-0.82017-0.75106-1.9262-1.2639-3.2051-1.2031h-5.1562a0.79383 0.79383 0 0 0-0.02344 0c-1.6708 0.0488-3.4707-0.14684-5.3398 0.17968a0.79383 0.79383 0 0 0-0.04102 8e-3c-1.1451 0.26399-1.9751 0.97758-2.5488 1.7734-0.57373 0.79584-0.93805 1.6816-1.2754 2.4512a0.79383 0.79383 0 0 0-0.03906 0.10937c-0.12671 0.46476-0.41801 0.78371-0.84375 1.0117s-0.98373 0.33009-1.5 0.28125c-0.51627-0.0488-0.9717-0.24621-1.2461-0.51953-0.2744-0.27332-0.42834-0.59929-0.35156-1.1953 0.62078-4.1593 1.2425-8.3192 1.8633-12.479a0.79383 0.79383 0 0 0 2e-3 -0.0156c0.13453-1.0394 1.1865-1.9442 2.2344-1.9238a0.79383 0.79383 0 0 0 0.01563 0h18.225a0.79383 0.79383 0 0 0 0.06641-4e-3c0.19057-0.016 0.38627-0.0197 0.58203-0.0117z" fill="currentColor" stop-color="#000000"/> <path id="path11" d="m55.99 142.11a0.79375 0.79375 0 0 0-0.79297 0.79492 0.79375 0.79375 0 0 0 0.79297 0.79297h1.8516v-1.5879zm3.4395 0v1.5879h1.8516a0.79375 0.79375 0 0 0 0.79492-0.79297 0.79375 0.79375 0 0 0-0.79492-0.79492z" fill="currentColor" stop-color="#000000"/> <path id="path9" d="m58.637 139.46a0.79375 0.79375 0 0 0-0.79492 0.79297v5.291a0.79375 0.79375 0 0 0 0.79492 0.79492 0.79375 0.79375 0 0 0 0.79297-0.79492v-5.291a0.79375 0.79375 0 0 0-0.79297-0.79297z" fill="currentColor" stop-color="#000000"/> <path id="path30" d="m111.82 143.43a0.79375 0.79375 0 0 0-0.79493 0.79297 0.79375 0.79375 0 0 0 0.79493 0.79297h1.8516v-1.5859zm3.4394 0v1.5859h1.8516a0.79375 0.79375 0 0 0 0.79297-0.79297 0.79375 0.79375 0 0 0-0.79297-0.79297z" fill="currentColor" stop-color="#000000"/> <path id="path28" d="m114.46 140.79a0.79375 0.79375 0 0 0-0.79297 0.79297v5.293a0.79375 0.79375 0 0 0 0.79297 0.79297 0.79375 0.79375 0 0 0 0.79492-0.79297v-5.293a0.79375 0.79375 0 0 0-0.79492-0.79297z" fill="currentColor" stop-color="#000000"/> <path id="path8" d="m69.881 141.71a1.1906 1.1906 0 0 0-1.1914 1.1895 1.1906 1.1906 0 0 0 1.1914 1.1914 1.1906 1.1906 0 0 0 1.1914-1.1914 1.1906 1.1906 0 0 0-1.1914-1.1895z" fill="currentColor" stroke-width="1.5875"/> <path id="path7" d="m74.643 141.71a1.1906 1.1906 0 0 0-1.1895 1.1895 1.1906 1.1906 0 0 0 1.1895 1.1914 1.1906 1.1906 0 0 0 1.1914-1.1914 1.1906 1.1906 0 0 0-1.1914-1.1895z" fill="currentColor" stroke-width="1.5875"/> <path id="path6" d="m72.262 139.33a1.1906 1.1906 0 0 0-1.1895 1.1894 1.1906 1.1906 0 0 0 1.1895 1.1914 1.1906 1.1906 0 0 0 1.1914-1.1914 1.1906 1.1906 0 0 0-1.1914-1.1894z" fill="currentColor" stroke-width="6"/> <path id="path5" d="m72.262 144.09a1.1906 1.1906 0 0 0-1.1895 1.1914 1.1906 1.1906 0 0 0 1.1895 1.1894 1.1906 1.1906 0 0 0 1.1914-1.1894 1.1906 1.1906 0 0 0-1.1914-1.1914z" fill="currentColor" stroke-width="6"/> <path id="path27" d="m111.82 134.97c-1.8918 0-3.4395 1.5476-3.4395 3.4394v13.758c0 1.8918 1.5477 3.4394 3.4395 3.4394h37.57c1.8918 0 3.4395-1.5476 3.4394-3.4394v-13.758c0-1.8918-1.5476-3.4394-3.4394-3.4394zm0 1.5859h37.57c1.0398 0 1.8516 0.81373 1.8516 1.8535v13.758c0 1.0398-0.81178 1.8516-1.8516 1.8516h-37.57c-1.0398 0-1.8535-0.81178-1.8535-1.8516v-13.758c0-1.0398 0.81374-1.8535 1.8535-1.8535z" fill="currentColor" stop-color="#000000"/> <path id="path26" d="m121.34 137.35c-1.3055 0-2.3809 1.0754-2.3809 2.3809v11.113c0 1.3055 1.0754 2.3809 2.3809 2.3809h18.521c1.3055 0 2.3809-1.0754 2.3809-2.3809v-11.113c0-1.3055-1.0754-2.3809-2.3809-2.3809zm0 1.5879h18.521c0.45346 0 0.79297 0.33952 0.79297 0.79297v11.113c0 0.45346-0.33951 0.79297-0.79297 0.79297h-18.521c-0.45347 0-0.79297-0.3395-0.79297-0.79297v-11.113c0-0.45346 0.3395-0.79297 0.79297-0.79297z" fill="currentColor" stop-color="#000000"/> <path id="path25" d="m144.49 142.77a1.1906 1.1906 0 0 0-1.1914 1.1894 1.1906 1.1906 0 0 0 1.1914 1.1914 1.1906 1.1906 0 0 0 1.1894-1.1914 1.1906 1.1906 0 0 0-1.1894-1.1894z" fill="currentColor" stroke-width="1.5875"/> <path id="path24" d="m149.26 142.77a1.1906 1.1906 0 0 0-1.1914 1.1894 1.1906 1.1906 0 0 0 1.1914 1.1914 1.1906 1.1906 0 0 0 1.1914-1.1914 1.1906 1.1906 0 0 0-1.1914-1.1894z" fill="currentColor" stroke-width="1.5875"/> <path id="path23" d="m146.88 140.39a1.1906 1.1906 0 0 0-1.1914 1.1914 1.1906 1.1906 0 0 0 1.1914 1.1914 1.1906 1.1906 0 0 0 1.1894-1.1914 1.1906 1.1906 0 0 0-1.1894-1.1914z" fill="currentColor" stroke-width="6"/> <path id="path22" d="m146.88 145.15a1.1906 1.1906 0 0 0-1.1914 1.1894 1.1906 1.1906 0 0 0 1.1914 1.1914 1.1906 1.1906 0 0 0 1.1894-1.1914 1.1906 1.1906 0 0 0-1.1894-1.1894z" fill="currentColor" stroke-width="6"/> <path id="path21" d="m87.43 124.88c-1.7044 0-3.1035 1.4937-3.1035 3.3144v24.115c0 1.8208 1.3991 3.3144 3.1035 3.3144h11.703c3.6216-2e-5 6.5742-3.1525 6.5742-7.0215v-20.408c0-1.8208-1.3992-3.3144-3.1035-3.3144zm0 1.6406h15.174c0.87432 0 1.5664 0.7398 1.5664 1.6738v20.408c0 2.9822-2.2456 5.3809-5.0371 5.3809h-11.703c-0.87432 0-1.5664-0.7398-1.5664-1.6738v-24.115c0-0.93403 0.69209-1.6738 1.5664-1.6738z" fill="currentColor" stop-color="#000000"/> <path id="path19" d="m88.27 145.28a0.79375 0.79375 0 0 0-0.79297 0.79297 0.79375 0.79375 0 0 0 0.79297 0.79492h1.8516v-1.5879zm3.4395 0v1.5879h1.8516a0.79375 0.79375 0 0 0 0.79492-0.79492 0.79375 0.79375 0 0 0-0.79492-0.79297z" fill="currentColor" stop-color="#000000"/> <path id="path17" d="m90.916 142.64a0.79375 0.79375 0 0 0-0.79492 0.79492v5.291a0.79375 0.79375 0 0 0 0.79492 0.79297 0.79375 0.79375 0 0 0 0.79297-0.79297v-5.291a0.79375 0.79375 0 0 0-0.79297-0.79492z" fill="currentColor" stop-color="#000000"/> <path id="path16" d="m98.059 145.94a1.1906 1.1906 0 0 0-1.1895 1.1914 1.1906 1.1906 0 0 0 1.1895 1.1895 1.1906 1.1906 0 0 0 1.1914-1.1895 1.1906 1.1906 0 0 0-1.1914-1.1914z" fill="currentColor" stroke-width="1.5875"/> <path id="path15" d="m100.97 143.56a1.1906 1.1906 0 0 0-1.1895 1.1914 1.1906 1.1906 0 0 0 1.1895 1.1895 1.1906 1.1906 0 0 0 1.1914-1.1895 1.1906 1.1906 0 0 0-1.1914-1.1914z" fill="currentColor" stroke-width="1.5875"/> <path id="path14" d="m89.063 128.09c-0.86574 0-1.5859 0.7202-1.5859 1.5859v8.4668c0 0.86575 0.72018 1.5879 1.5859 1.5879h11.906c0.86575 0 1.5879-0.72213 1.5879-1.5879v-8.4668c0-0.86575-0.72215-1.5859-1.5879-1.5859zm0 1.5859h11.906v8.4668h-11.906z" fill="currentColor" stop-color="#000000"/> </g> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/zoom-minus-symbolic.svg������������������������0000664�0000000�0000000�00000001337�15234476640�0027057�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 10.875 10.0625 c -0.8125 0.148438 -1.105469 1.160156 -0.5 1.71875 l 3 3 c 0.957031 0.9375 2.363281 -0.5 1.40625 -1.4375 l -3 -3 c -0.234375 -0.238281 -0.578125 -0.347656 -0.90625 -0.28125 z m 0 0"/><path d="m 6.570312 0.0625 c -3.578124 0 -6.4999995 2.921875 -6.4999995 6.5 s 2.9218755 6.5 6.4999995 6.5 c 3.578126 0 6.5 -2.921875 6.5 -6.5 s -2.921874 -6.5 -6.5 -6.5 z m 0 2 c 2.496094 0 4.5 2.003906 4.5 4.5 c 0 2.5 -2.003906 4.5 -4.5 4.5 c -2.496093 0 -4.5 -2 -4.5 -4.5 c 0 -2.496094 2.003907 -4.5 4.5 -4.5 z m 0 0"/><path d="m 3.570312 5.5625 v 2 h 6 v -2 z m 0 0"/></g></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/icons/scalable/actions/zoom-plus-symbolic.svg�������������������������0000664�0000000�0000000�00000001403�15234476640�0026701�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 10.875 10.0625 c -0.8125 0.148438 -1.105469 1.160156 -0.5 1.71875 l 3 3 c 0.957031 0.9375 2.363281 -0.5 1.40625 -1.4375 l -3 -3 c -0.234375 -0.238281 -0.578125 -0.347656 -0.90625 -0.28125 z m 0 0"/><path d="m 6.570312 0.0625 c -3.578124 0 -6.4999995 2.921875 -6.4999995 6.5 s 2.9218755 6.5 6.4999995 6.5 c 3.578126 0 6.5 -2.921875 6.5 -6.5 s -2.921874 -6.5 -6.5 -6.5 z m 0 2 c 2.496094 0 4.5 2.003906 4.5 4.5 c 0 2.5 -2.003906 4.5 -4.5 4.5 c -2.496093 0 -4.5 -2 -4.5 -4.5 c 0 -2.496094 2.003907 -4.5 4.5 -4.5 z m 0 0"/><path d="m 5.570312 3.5625 v 2 h -2 v 2 h 2 v 2 h 2 v -2 h 2 v -2 h -2 v -2 z m 0 0"/></g></svg> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/internal-config-schema.xml��������������������������������������������0000664�0000000�0000000�00000000321�15234476640�0023110�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <object class="BzInternalConfig"> <typehint name="search-biases" type="BzSearchBias"/> <typehint name="search-biases.boost-appids" type="GtkStringObject"/> </object> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/internal-config.yaml��������������������������������������������������0000664�0000000�0000000�00000003523�15234476640�0022023�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������search-biases: # Brief regex review: # `^` indicates the beginning of the string # `$` indicates the end of the string # `\b` indicates a word boundary # `(?i)` means case insensitive - regex: ^(?i)browser$ convert-to: web browser boost-appids: - app.zen_browser.zen - io.github.ungoogled_software.ungoogled_chromium - org.chromium.Chromium - org.gnome.Epiphany - org.kde.falkon - org.mozilla.firefox - org.torproject.torbrowser-launcher linear-boost: slope: 1.333 y-intercept: 40.0 - regex: \b(?i)vm\b convert-to: virtual machine boost-appids: - org.virt_manager.virt-manager - org.gnome.Boxes linear-boost: slope: 1.0 y-intercept: 50.0 - regex: \b(?i)ide\b convert-to: develop boost-appids: - com.visualstudio.code - com.vscodium.codium - dev.zed.Zed - org.gnome.Builder - org.kde.kdevelop linear-boost: slope: 1.0 y-intercept: 10.0 - regex: \b(?i)daw\b boost-appids: # these don't normally show, despite being DAWs - fm.reaper.Reaper - io.lmms.LMMS linear-boost: slope: 1.0 y-intercept: 20.0 - regex: (?i)\bimage\seditors?\b boost-appids: - org.gimp.GIMP - com.github.PintaProject.Pinta - org.kde.krita linear-boost: slope: 1.0 y-intercept: 200.0 - regex: \b(?i)photoshop\b boost-appids: - org.gimp.GIMP linear-boost: slope: 1.0 y-intercept: 20.0 - regex: \b(?i)illustrator\b boost-appids: - org.inkscape.Inkscape linear-boost: slope: 1.0 y-intercept: 20.0 - regex: \b(?i)dl\b convert-to: download - regex: \b(?i)yt\b convert-to: youtube - regex: \b(?i)vids?\b convert-to: video - regex: \b(?i)mc\b convert-to: minecraft �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/io.c������������������������������������������������������������������0000664�0000000�0000000�00000031661�15234476640�0016637�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* io.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "io.h" #include "env.h" #include "bz-size-result.h" static DexFuture * reap_file_fiber (GFile *file); static DexFuture * reap_path_fiber (char *path); static DexFuture * reap_app_dir_fiber (char *path); static DexFuture * file_measure_disk_usage_dex (GFile *file); static DexFuture * get_user_sizes_fiber (char *app_id); static DexFuture * get_all_user_data_ids_fiber (void); char * bz_dup_user_data_path (const char *app_id) { g_return_val_if_fail (app_id != NULL, NULL); return g_build_filename (g_get_home_dir (), ".var", "app", app_id, NULL); } char * bz_dup_user_cache_path (const char *app_id) { g_return_val_if_fail (app_id != NULL, NULL); return g_build_filename (g_get_home_dir (), ".var", "app", app_id, "cache", NULL); } DexScheduler * bz_get_io_scheduler (void) { static DexScheduler *scheduler = NULL; if (g_once_init_enter_pointer (&scheduler)) g_once_init_leave_pointer (&scheduler, dex_thread_pool_scheduler_new ()); return scheduler; } void bz_reap_file (GFile *file) { g_autoptr (GError) local_error = NULL; g_autofree gchar *uri = NULL; g_autoptr (GFileEnumerator) enumerator = NULL; gboolean result = FALSE; g_return_if_fail (G_IS_FILE (file)); uri = g_file_get_uri (file); if (uri == NULL) uri = g_file_get_path (file); enumerator = g_file_enumerate_children ( file, G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "," G_FILE_ATTRIBUTE_STANDARD_NAME "," G_FILE_ATTRIBUTE_STANDARD_TYPE "," G_FILE_ATTRIBUTE_TIME_MODIFIED, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &local_error); if (enumerator == NULL) { if (!g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) g_warning ("failed to reap cache directory '%s': %s", uri, local_error->message); g_clear_pointer (&local_error, g_error_free); return; } for (;;) { g_autoptr (GFileInfo) info = NULL; g_autoptr (GFile) child = NULL; GFileType file_type = G_FILE_TYPE_UNKNOWN; info = g_file_enumerator_next_file (enumerator, NULL, &local_error); if (info == NULL) { if (local_error != NULL) g_warning ("failed to enumerate cache directory '%s': %s", uri, local_error->message); g_clear_pointer (&local_error, g_error_free); break; } child = g_file_enumerator_get_child (enumerator, info); file_type = g_file_info_get_file_type (info); if (!g_file_info_get_is_symlink (info) && file_type == G_FILE_TYPE_DIRECTORY) bz_reap_file (child); else { result = g_file_delete (child, NULL, &local_error); if (!result) { g_warning ("failed to reap cache directory '%s': %s", uri, local_error->message); g_clear_pointer (&local_error, g_error_free); } } } result = g_file_enumerator_close (enumerator, NULL, &local_error); if (!result) { g_warning ("failed to reap cache directory '%s': %s", uri, local_error->message); g_clear_pointer (&local_error, g_error_free); } result = g_file_delete (file, NULL, &local_error); if (!result) { g_warning ("failed to reap cache directory '%s': %s", uri, local_error->message); g_clear_pointer (&local_error, g_error_free); } } void bz_reap_path (const char *path) { g_autoptr (GFile) file = NULL; g_return_if_fail (path != NULL); file = g_file_new_for_path (path); bz_reap_file (file); } static void trash_file_callback (GObject *object, GAsyncResult *result, gpointer user_data) { g_autoptr (DexPromise) promise = user_data; g_autoptr (GError) error = NULL; if (g_file_trash_finish (G_FILE (object), result, &error)) dex_promise_resolve_boolean (promise, TRUE); else dex_promise_reject (promise, g_steal_pointer (&error)); } static DexFuture * trash_file_dex (GFile *file) { DexPromise *promise = dex_promise_new_cancellable (); g_file_trash_async (file, G_PRIORITY_DEFAULT, dex_promise_get_cancellable (promise), trash_file_callback, dex_ref (promise)); return DEX_FUTURE (promise); } static DexFuture * reap_app_dir_fiber (char *path) { g_autoptr (GFile) file = NULL; g_autoptr (DexFuture) trash_future = NULL; g_autoptr (GError) error = NULL; gboolean result = FALSE; file = g_file_new_for_path (path); trash_future = trash_file_dex (file); result = dex_await_boolean (dex_ref (trash_future), &error); if (!result) { if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) return dex_future_new_true (); g_warning ("failed to trash directory '%s': %s", path, error->message); return dex_future_new_for_error (g_steal_pointer (&error)); } return dex_future_new_true (); } static DexFuture * reap_user_data_fiber (char *app_id) { g_autofree char *path = bz_dup_user_data_path (app_id); return reap_app_dir_fiber (path); } static DexFuture * reap_user_cache_fiber (char *app_id) { g_autofree char *path = bz_dup_user_cache_path (app_id); bz_reap_path (path); return dex_future_new_true (); } DexFuture * bz_reap_file_dex (GFile *file) { dex_return_error_if_fail (G_IS_FILE (file)); return dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) reap_file_fiber, g_object_ref (file), g_object_unref); } DexFuture * bz_reap_path_dex (const char *path) { dex_return_error_if_fail (path != NULL); return dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) reap_path_fiber, g_strdup (path), g_free); } DexFuture * bz_reap_user_data_dex (const char *app_id) { dex_return_error_if_fail (app_id != NULL); return dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) reap_user_data_fiber, g_strdup (app_id), g_free); } DexFuture * bz_reap_user_cache_dex (const char *app_id) { dex_return_error_if_fail (app_id != NULL); return dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) reap_user_cache_fiber, g_strdup (app_id), g_free); } DexFuture * bz_get_user_sizes_dex (const char *app_id) { dex_return_error_if_fail (app_id != NULL); return dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) get_user_sizes_fiber, g_strdup (app_id), g_free); } DexFuture * bz_get_user_data_ids_dex (void) { return dex_scheduler_spawn ( bz_get_io_scheduler (), bz_get_dex_stack_size (), (DexFiberFunc) get_all_user_data_ids_fiber, NULL, NULL); } static DexFuture * get_user_sizes_fiber (char *app_id) { g_autofree char *user_data_path = NULL; g_autofree char *user_cache_path = NULL; g_autoptr (GFile) data_file = NULL; g_autoptr (GFile) cache_file = NULL; g_autoptr (GPtrArray) futures = NULL; g_autoptr (GError) error = NULL; guint64 user_data_size = 0; guint64 cache_size = 0; user_data_path = bz_dup_user_data_path (app_id); user_cache_path = bz_dup_user_cache_path (app_id); data_file = g_file_new_for_path (user_data_path); cache_file = g_file_new_for_path (user_cache_path); futures = g_ptr_array_new_with_free_func (dex_unref); g_ptr_array_add (futures, file_measure_disk_usage_dex (data_file)); g_ptr_array_add (futures, file_measure_disk_usage_dex (cache_file)); dex_await (dex_future_allv ( (DexFuture *const *) futures->pdata, futures->len), NULL); user_data_size = dex_await_uint64 (dex_ref (g_ptr_array_index (futures, 0)), &error); if (error != NULL) { g_clear_error (&error); user_data_size = 0; } cache_size = dex_await_uint64 (dex_ref (g_ptr_array_index (futures, 1)), &error); if (error != NULL) { g_clear_error (&error); cache_size = 0; } return dex_future_new_take_object ( g_object_new (BZ_TYPE_SIZE_RESULT, "user-data-size", user_data_size, "cache-size", cache_size, NULL)); } static void measure_disk_usage_callback (GObject *object, GAsyncResult *result, gpointer user_data) { g_autoptr (DexPromise) promise = user_data; g_autoptr (GError) error = NULL; guint64 disk_usage = 0; if (g_file_measure_disk_usage_finish (G_FILE (object), result, &disk_usage, NULL, NULL, &error)) dex_promise_resolve_uint64 (promise, disk_usage); else if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) dex_promise_resolve_uint64 (promise, 0); else dex_promise_reject (promise, g_steal_pointer (&error)); } static DexFuture * file_measure_disk_usage_dex (GFile *file) { DexPromise *promise = NULL; promise = dex_promise_new_cancellable (); g_file_measure_disk_usage_async ( file, G_FILE_MEASURE_NONE, G_PRIORITY_DEFAULT, dex_promise_get_cancellable (promise), NULL, NULL, measure_disk_usage_callback, dex_ref (promise)); return DEX_FUTURE (promise); } static DexFuture * get_all_user_data_ids_fiber (void) { g_autofree char *var_app_path = NULL; g_autoptr (GFile) var_app_dir = NULL; g_autoptr (DexFuture) enumerator_future = NULL; g_autoptr (GFileEnumerator) enumerator = NULL; g_autoptr (GError) error = NULL; GHashTable *ids = NULL; var_app_path = g_build_filename (g_get_home_dir (), ".var", "app", NULL); var_app_dir = g_file_new_for_path (var_app_path); ids = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); enumerator_future = dex_file_enumerate_children ( var_app_dir, G_FILE_ATTRIBUTE_STANDARD_NAME "," G_FILE_ATTRIBUTE_STANDARD_TYPE, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, G_PRIORITY_DEFAULT); enumerator = dex_await_object (dex_ref (enumerator_future), &error); if (enumerator == NULL) { if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) return dex_future_new_take_boxed (G_TYPE_HASH_TABLE, ids); g_hash_table_unref (ids); return dex_future_new_for_error (g_steal_pointer (&error)); } for (;;) { g_autoptr (DexFuture) next_future = NULL; g_autolist (GFileInfo) infos = NULL; next_future = dex_file_enumerator_next_files (enumerator, 10, G_PRIORITY_DEFAULT); infos = dex_await_boxed (dex_ref (next_future), &error); if (infos == NULL) { if (error != NULL) { g_hash_table_unref (ids); return dex_future_new_for_error (g_steal_pointer (&error)); } break; } for (GList *l = infos; l != NULL; l = l->next) { GFileInfo *info = l->data; GFileType file_type = g_file_info_get_file_type (info); if (file_type == G_FILE_TYPE_DIRECTORY) { const char *app_id = g_file_info_get_name (info); g_hash_table_insert (ids, g_strdup (app_id), NULL); } } } return dex_future_new_take_boxed (G_TYPE_HASH_TABLE, ids); } char * bz_dup_root_cache_dir (void) { GApplication *application = NULL; const char *user_cache = NULL; const char *id = NULL; user_cache = g_get_user_cache_dir (); application = g_application_get_default (); if (application != NULL) id = g_application_get_application_id (application); if (id == NULL) id = "io.github.kolunmi.Bazaar"; return g_build_filename (user_cache, id, NULL); } char * bz_dup_cache_dir (const char *submodule) { g_autofree char *root_cache_dir = NULL; g_return_val_if_fail (submodule != NULL, NULL); root_cache_dir = bz_dup_root_cache_dir (); return g_build_filename (root_cache_dir, submodule, NULL); } static DexFuture * reap_file_fiber (GFile *file) { bz_reap_file (file); return dex_future_new_true (); } static DexFuture * reap_path_fiber (char *path) { bz_reap_path (path); return dex_future_new_true (); } �������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/io.h������������������������������������������������������������������0000664�0000000�0000000�00000005040�15234476640�0016634�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* io.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gio/gio.h> #include <libdex.h> G_BEGIN_DECLS char * bz_dup_user_data_path (const char *app_id); char * bz_dup_user_cache_path (const char *app_id); DexScheduler * bz_get_io_scheduler (void); void bz_reap_file (GFile *file); void bz_reap_path (const char *path); DexFuture * bz_reap_file_dex (GFile *file); DexFuture * bz_reap_path_dex (const char *path); DexFuture * bz_reap_user_data_dex (const char *app_id); DexFuture * bz_reap_user_cache_dex (const char *app_id); DexFuture * bz_get_user_sizes_dex (const char *app_id); DexFuture * bz_get_user_data_ids_dex (void); char * bz_dup_root_cache_dir (void); char * bz_dup_cache_dir (const char *submodule); #define bz_dup_module_dir() bz_dup_cache_dir (BAZAAR_MODULE) #define bz_discard_path(_path) \ G_STMT_START \ { \ if (g_file_test ((_path), G_FILE_TEST_IS_DIR)) \ bz_reap_path ((_path)); \ else if (g_file_test ((_path), G_FILE_TEST_EXISTS)) \ { \ g_autoptr (GFile) file = NULL; \ \ file = g_file_new_for_path ((_path)); \ g_file_delete (file, NULL, NULL); \ } \ } \ G_STMT_END #define bz_discard_module_dir() \ G_STMT_START \ { \ g_autofree char *_path = NULL; \ \ _path = bz_dup_module_dir (); \ bz_discard_path (_path); \ } \ G_STMT_END G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/main-config-schema.xml������������������������������������������������0000664�0000000�0000000�00000001166�15234476640�0022230�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <object class="BzMainConfig"> <typehint name="txt-blocklist-paths" type="GtkStringObject"/> <typehint name="yaml-blocklist-paths" type="GtkStringObject"/> <typehint name="curated-config-paths" type="GtkStringObject"/> <typehint name="override-eol-markings" type="GtkStringObject"/> <typehint name="hooks" type="BzHook"/> <typehint name="hooks.dialogs" type="BzHookDialog"/> <typehint name="hooks.dialogs.options" type="BzHookDialogOption"/> <typehint name="search-biases" type="BzSearchBias"/> <typehint name="search-biases.boost-appids" type="GtkStringObject"/> </object> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/main.c����������������������������������������������������������������0000664�0000000�0000000�00000003663�15234476640�0017155�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* main.c * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::MAIN" #include "config.h" #include <bge.h> #include <glib/gi18n.h> #include <libdex.h> #include "bz-application.h" #include "refresh-worker.h" #include "update-worker.h" int main (int argc, char *argv[]) { int result = 0; if (argc > 1 && g_strcmp0 (argv[1], "--version") == 0) { g_print ("%s\n", PACKAGE_VCS_VERSION); return 0; } dex_init (); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); /* Init Bazaar GTK Extensions */ bge_init (); if (argc > 1 && g_strcmp0 (argv[1], REFRESH_WORKER_CLI_OPTION) == 0) result = run_refresh_worker (argc, argv); else if (argc > 1 && g_strcmp0 (argv[1], UPDATE_WORKER_CLI_OPTION) == 0) result = run_update_worker (argc, argv); else { g_autoptr (BzApplication) app = NULL; app = g_object_new ( BZ_TYPE_APPLICATION, "application-id", APPLICATION_ID, "flags", G_APPLICATION_HANDLES_COMMAND_LINE, "resource-base-path", "/io/github/kolunmi/Bazaar", NULL); result = g_application_run (G_APPLICATION (app), argc, argv); } return result; } �����������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/meson.build�����������������������������������������������������������0000664�0000000�0000000�00000023656�15234476640�0020233�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������math = cc.find_library('m', required: false) xmllint = find_program('xmllint', required: true) gtk_dep = dependency('gtk4', version: '>= 4.22.1') libadwaita_dep = dependency('libadwaita-1', version: '>= 1.8') libdex_dep = dependency('libdex-1', version: '>= 1.0.0') flatpak_dep = dependency('flatpak', version: '>= 1.9') appstream_dep = dependency('appstream', version: '>= 1.0') xmlb_dep = dependency('xmlb', version: '>= 0.3.4') yaml_dep = dependency('yaml-0.1', version: '>= 0.2.5') libsoup_dep = dependency('libsoup-3.0', version: '>= 3.6.0') json_glib_dep = dependency('json-glib-1.0', version: '>= 1.10.0') glycin_dep = dependency('glycin-2', version: '>= 2.0') glycin_gtk4_dep = dependency('glycin-gtk4-2', version: '>= 2.0') webkit_dep = dependency('webkitgtk-6.0', version: '>= 2.50.2') libsecret_dep = dependency('libsecret-1', version: '>= 0.20') libproxy_dep = dependency('libproxy-1.0', version: '>= 0.5') malcontent_dep = dependency('malcontent-0', version: '>= 0.12.0') gtksourceview_dep = dependency('gtksourceview-5', version: '>= 5.17') libsystemd_dep = dependency('libsystemd', version: '>= 245') dl_worker_sources = [ 'env.c', 'global-net.c', 'dl-worker.c', ] dl_worker_deps = [ math, libdex_dep, libsoup_dep, json_glib_dep, libproxy_dep, ] dl_worker_exe = executable(dl_worker_bin_name, dl_worker_sources, dependencies: dl_worker_deps, install: true, ) daemon_sources = [ 'bazaar-daemon.c', 'search-index.c', ] daemon_exe = executable(daemon_bin_name, daemon_sources, dependencies: [libsystemd_dep], install: true, ) marshalers = gnome.genmarshal('bz-marshalers', sources: 'bz-marshalers.list', prefix: 'bz_marshal', valist_marshallers: true, ) bz_sources = files( 'bz-addon-tile.c', 'bz-addons-dialog.c', 'bz-age-rating-dialog.c', 'bz-all-apps-page.c', 'bz-app-permissions.c', 'bz-app-size-dialog.c', 'bz-app-tile.c', 'bz-application-map-factory.c', 'bz-application.c', 'bz-apps-page.c', 'bz-appstream-description-render.c', 'bz-appstream-parser.c', 'bz-article-list-view.c', 'bz-article-tile.c', 'bz-article.c', 'bz-aspect-picture.c', 'bz-async-texture.c', 'bz-auth-state.c', 'bz-backend.c', 'bz-banner-view.c', 'bz-bundle-install-dialog.c', 'bz-category-flags.c', 'bz-category-tile.c', 'bz-content-provider.c', 'bz-context-row.c', 'bz-context-tile.c', 'bz-curated-view.c', 'bz-data-graph.c', 'bz-decorated-screenshot.c', 'bz-developer-badge.c', 'bz-donations-dialog.c', 'bz-download-worker.c', 'bz-dynamic-list-view.c', 'bz-entry-cache-manager.c', 'bz-entry-group-util.c', 'bz-entry-group.c', 'bz-entry-inspector.c', 'bz-entry-selection-row.c', 'bz-entry.c', 'bz-error-dialog.c', 'bz-fading-clamp.c', 'bz-favorite-button.c', 'bz-favorites-page.c', 'bz-favorites-tile.c', 'bz-featured-carousel-view.c', 'bz-featured-carousel.c', 'bz-featured-tile.c', 'bz-flathub-category-section.c', 'bz-flathub-category.c', 'bz-flathub-category.c', 'bz-flathub-page.c', 'bz-flathub-state.c', 'bz-flatpak-entry.c', 'bz-flatpak-instance.c', 'bz-full-view.c', 'bz-group-tile-css-watcher.c', 'bz-hardware-support-dialog.c', 'bz-inspector.c', 'bz-install-controls.c', 'bz-installed-tile.c', 'bz-lazy-wdgt.c', 'bz-library-page.c', 'bz-license-dialog.c', 'bz-list-tile.c', 'bz-login-page.c', 'bz-lozenge.c', 'bz-malcontent-service.c', 'bz-metainfo-preview.c', 'bz-newline-parser.c', 'bz-parser.c', 'bz-preferences-dialog.c', 'bz-progress-bar.c', 'bz-releases-list.c', 'bz-result.c', 'bz-rich-app-tile.c', 'bz-rounded-picture.c', 'bz-row-view.c', 'bz-safety-dialog.c', 'bz-screenshot-page.c', 'bz-screenshot.c', 'bz-screenshots-carousel.c', 'bz-search-bar.c', 'bz-search-engine.c', 'bz-search-filter-popover.c', 'bz-search-page.c', 'bz-search-pill-list.c', 'bz-section-view.c', 'bz-serializable.c', 'bz-share-list.c', 'bz-stats-dialog.c', 'bz-subcategory-list.c', 'bz-themed-entry-group-rect.c', 'bz-transact-icon.c', 'bz-transaction-dialog.c', 'bz-transaction-list-dialog.c', 'bz-transaction-manager.c', 'bz-transaction-tile.c', 'bz-transaction.c', 'bz-updates-card.c', 'bz-user-data-page.c', 'bz-user-data-tile.c', 'bz-window.c', 'bz-world-map-parser.c', 'bz-world-map.c', 'bz-yaml-parser.c', 'bz-zoom.c', 'context-tile-callbacks.c', 'env.c', 'error.c', 'global-net.c', 'hooks.c', 'io.c', 'refresh-worker.c', 'safety-calculator.c', 'search-index-write.c', 'spdx.c', 'template-callbacks.c', 'update-worker.c', ) subdir('progress-bar-designs') bz_deps = [ # Bazaar GTK Extensions; see ../bge/ bge_dep, math, gtk_dep, libadwaita_dep, flatpak_dep, appstream_dep, xmlb_dep, yaml_dep, libsoup_dep, json_glib_dep, libdex_dep, glycin_dep, glycin_gtk4_dep, webkit_dep, libsecret_dep, libproxy_dep, malcontent_dep, gtksourceview_dep, ] gen_gobject = find_program('./gen_gobject.sh') gen_gobject_header = generator( gen_gobject, output: '@BASENAME@.h', arguments: ['--header', '@INPUT@', '@OUTPUT@'], ) gen_gobject_code = generator( gen_gobject, output: '@BASENAME@.c', arguments: ['--code', '@INPUT@', '@OUTPUT@'], ) gobject_specs = files( 'bz-age-rating-attribute.txt', 'bz-backend-notification.txt', 'bz-backend-transaction-op-payload.txt', 'bz-backend-transaction-op-progress-payload.txt', 'bz-blocklist-condition-match-envvar.txt', 'bz-blocklist-condition-match-locale.txt', 'bz-blocklist-condition.txt', 'bz-blocklist.txt', 'bz-bulk-install-dialog-result.txt', 'bz-country-data-point.txt', 'bz-country.txt', 'bz-curated-appids-info.txt', 'bz-curated-article.txt', 'bz-curated-articles-info.txt', 'bz-curated-banner.txt', 'bz-curated-featured-carousel.txt', 'bz-curated-image-info.txt', 'bz-curated-markdown-info.txt', 'bz-curated-row.txt', 'bz-curated-section.txt', 'bz-data-point.txt', 'bz-exponential-function.txt', 'bz-finished-search-query.txt', 'bz-flathub-auth-provider.txt', 'bz-flathub-sub-category.txt', 'bz-flatpak-repo.txt', 'bz-flatpak-bundle-result.txt', 'bz-hash-table-object.txt', 'bz-hook-dialog-option.txt', 'bz-hook-dialog.txt', 'bz-hook.txt', 'bz-internal-config.txt', 'bz-linear-function.txt', 'bz-main-config.txt', 'bz-pride-flag-config.txt', 'bz-pride-flag-spec.txt', 'bz-pride-flag-stripe-spec.txt', 'bz-release.txt', 'bz-repository.txt', 'bz-root-blocklist.txt', 'bz-root-curated-config.txt', 'bz-safety-row.txt', 'bz-search-bias.txt', 'bz-search-result.txt', 'bz-size-result.txt', 'bz-state-info.txt', 'bz-transact-icon-info.txt', 'bz-transaction-dialog-result.txt', 'bz-transaction-entry-tracker.txt', 'bz-transaction-task.txt', 'bz-url.txt', 'bz-verification-status.txt', ) gen_gobject_srcs = [] foreach f : gobject_specs header = gen_gobject_header.process(f) code = gen_gobject_code.process(f) gen_gobject_srcs += [header, code] endforeach generated_gobjects = declare_dependency( sources: gen_gobject_srcs, ) bz_deps += [ generated_gobjects ] blueprints = custom_target('blueprints', input: files( 'bz-addon-tile.blp', 'bz-addons-dialog.blp', 'bz-age-rating-dialog.blp', 'bz-all-apps-page.blp', 'bz-app-size-dialog.blp', 'bz-app-tile.blp', 'bz-apps-page.blp', 'bz-appstream-description-render.blp', 'bz-article.blp', 'bz-article-tile.blp', 'bz-banner-view.blp', 'bz-bundle-install-dialog.blp', 'bz-category-tile.blp', 'bz-context-tile.blp', 'bz-curated-view.blp', 'bz-decorated-screenshot.blp', 'bz-developer-badge.blp', 'bz-donations-dialog.blp', 'bz-entry-inspector.blp', 'bz-entry-selection-row.blp', 'bz-error-dialog.blp', 'bz-favorite-button.blp', 'bz-favorites-page.blp', 'bz-favorites-tile.blp', 'bz-featured-carousel.blp', 'bz-featured-tile.blp', 'bz-flathub-category-section.blp', 'bz-flathub-page.blp', 'bz-full-view.blp', 'bz-hardware-support-dialog.blp', 'bz-inspector.blp', 'bz-install-controls.blp', 'bz-installed-tile.blp', 'bz-library-page.blp', 'bz-license-dialog.blp', 'bz-login-page.blp', 'bz-metainfo-preview-page.blp', 'bz-preferences-dialog.blp', 'bz-progress-bar.blp', 'bz-releases-dialog.blp', 'bz-releases-list.blp', 'bz-rich-app-tile.blp', 'bz-safety-dialog.blp', 'bz-screenshot-page.blp', 'bz-screenshots-carousel.blp', 'bz-search-filter-popover.blp', 'bz-search-bar.blp', 'bz-search-page.blp', 'bz-section-view.blp', 'bz-stats-dialog.blp', 'bz-transaction-list-dialog.blp', 'bz-transaction-tile.blp', 'bz-updates-card.blp', 'bz-user-data-page.blp', 'bz-user-data-tile.blp', 'bz-window.blp', 'shortcuts-dialog.blp', ), output: '.', command: [ find_program('blueprint-compiler', version: '>= 0.20.0'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@' ], ) release_notes = custom_target('release-notes.xml', output: 'release-notes.xml', input: meson.project_source_root() / 'data' / 'io.github.kolunmi.Bazaar.metainfo.xml.in', command: [ 'sh', '-c', xmllint.full_path() + ' --xpath "//releases/release[1]" "$1" > "$2"', '--', '@INPUT@', '@OUTPUT@', ], ) countries_gvariant = custom_target( 'countries-gvariant', input: files('../scripts/countries.json.in'), output: 'countries.gvariant', command: [ python3, meson.project_source_root() / 'scripts' / 'countries.py', '@INPUT@', meson.project_source_root() / 'po' / 'LINGUAS', '@OUTPUT@', ], ) bz_sources += gnome.compile_resources('bz-resources', 'bazaar.gresource.xml', c_name: 'bz', source_dir: meson.current_build_dir(), dependencies: [blueprints, release_notes, countries_gvariant], ) executable(bazaar_bin_name, bz_sources + ['main.c'], marshalers, dependencies: bz_deps, install: true, ) ����������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/pride-flag-config-schema.xml������������������������������������������0000664�0000000�0000000�00000000320�15234476640�0023305�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <object class="BzPrideFlagConfig"> <typehint name="flag-specs" type="BzPrideFlagSpec"/> <typehint name="flag-specs.stripes" type="BzPrideFlagStripeSpec"/> </object> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/�������������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0022115�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/common.h�����������������������������������������0000664�0000000�0000000�00000001442�15234476640�0023557�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* progress-bar-designs/common.h * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "pride/pride.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/meson.build��������������������������������������0000664�0000000�0000000�00000000020�15234476640�0024247�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������subdir('pride') ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/pride/�������������������������������������������0000775�0000000�0000000�00000000000�15234476640�0023220�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/pride/meson.build��������������������������������0000664�0000000�0000000�00000000044�15234476640�0025360�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bz_sources += files( 'pride.c', ) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/pride/pride-flags.yaml���������������������������0000664�0000000�0000000�00000016215�15234476640�0026306�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������flag-specs: - # the internal ID of the flag; this should match the gsettings file at # /data/io.github.kolunmi.Bazaar.gschema.xml id: "pride-rainbow-flag" # the user-facing name name: "Pride Rainbow Flag" # (optional) set to true if the flag is homogeneous, or put more # shrimply(đź¦) each stripe has the same vertical size homogeneous: true # the direction in which the stripes are drawn (css format) direction: to bottom # list of stripe specs stripes: &pride-rainbow-flag-stripes - # all stripes must provide the `rgba` field, which will is the color of # the stripe. Many formats are supported for this; here is a snippet # from the GDK source, listing the formats: # # - A standard name (Taken from the CSS specification). # - A hexadecimal value in the form “#rgb”, “#rrggbb”, # “#rrrgggbbb” or ”#rrrrggggbbbb” # - A hexadecimal value in the form “#rgba”, “#rrggbbaa”, # or ”#rrrrggggbbbbaaaa” # - A RGB color in the form “rgb(r,g,b)” (In this case the color # will have full opacity) # - A RGBA color in the form “rgba(r,g,b,a)” # - A HSL color in the form "hsl(hue, saturation, lightness)" # - A HSLA color in the form "hsla(hue, saturation, lightness, alpha)" # # for more information, see # https://docs.gtk.org/gdk4/method.RGBA.parse.html rgba: "#E40303" # if the above `homogeneous` field is set to `true`, then this field can # be omitted. otherwise, this value is a floating point number from 0.0 # to 1.0 representing the size of this stripe as a percentage of the # flag's pixel height in the UI. so if this strip should take up 20% of # the vertical space, put `0.2`, as shown here. Since the `homogeneous` # field was set to `true` on this flag, this is ignored size: 0.2 - rgba: "#FF8C00" - rgba: "#FFED00" - rgba: "#008026" - rgba: "#24408E" - rgba: "#732982" - id: "lesbian-pride-flag" name: "Lesbian Pride Flag" homogeneous: true direction: to bottom stripes: &lesbian-flag-stripes - rgba: "#D62800" - rgba: "#EF7627" - rgba: "#FF9B56" - rgba: "#FFFFFF" - rgba: "#D162A4" - rgba: "#B55690" - rgba: "#A30262" - id: "gay-pride-flag" name: "Gay Pride Flag" homogeneous: true direction: to bottom stripes: &gay-pride-flag-stripes - rgba: "#018E71" - rgba: "#21CFAC" - rgba: "#9AE9C3" - rgba: "#FFFFFF" - rgba: "#7CAFE4" - rgba: "#4F47CC" - rgba: "#3C1379" - id: "transgender-flag" name: "Transgender Flag" homogeneous: true direction: to bottom stripes: &transgender-flag-stripes - rgba: "#5BCEFA" - rgba: "#F5A9B8" - rgba: "#FFFFFF" - rgba: "#F5A9B8" - rgba: "#5BCEFA" - id: "nonbinary-flag" name: "Nonbinary Flag" homogeneous: true direction: to bottom stripes: &nonbinary-flag-stripes - rgba: "#FCF434" - rgba: "#FFFFFF" - rgba: "#9C59D1" - rgba: "#2C2C2C" - id: "bisexual-flag" name: "Bisexual Flag" direction: to bottom stripes: &bisexual-flag-stripes - rgba: "#D60270" size: 0.4 - rgba: "#9B4F96" size: 0.2 - rgba: "#0038A8" size: 0.4 - id: "asexual-flag" name: "Asexual Flag" homogeneous: true direction: to bottom stripes: &asexual-flag-stripes - rgba: "#000000" - rgba: "#A3A3A3" - rgba: "#FFFFFF" - rgba: "#810081" - id: "pansexual-flag" name: "Pansexual Flag" homogeneous: true direction: to bottom stripes: &pansexual-flag-stripes - rgba: "#FF218C" - rgba: "#FFD800" - rgba: "#21B1FF" - id: "aromantic-flag" name: "Aromantic Flag" homogeneous: true direction: to bottom stripes: &aromantic-flag-stripes - rgba: "#3DA542" - rgba: "#A7D379" - rgba: "#FFFFFF" - rgba: "#A9A9A9" - rgba: "#000000" - id: "genderfluid-flag" name: "Genderfluid Flag" homogeneous: true direction: to bottom stripes: &genderfluid-flag-stripes - rgba: "#FF76A4" - rgba: "#FFFFFF" - rgba: "#C011D7" - rgba: "#000000" - rgba: "#2F3CBE" - id: "polysexual-flag" name: "Polysexual Flag" homogeneous: true direction: to bottom stripes: &polysexual-flag-stripes - rgba: "#F61CB9" - rgba: "#07D569" - rgba: "#1C92F6" - id: "omnisexual-flag" name: "Omnisexual Flag" homogeneous: true direction: to bottom stripes: &omnisexual-flag-stripes - rgba: "#FF9CCE" - rgba: "#FF52BF" - rgba: "#200044" - rgba: "#675FFF" - rgba: "#8DA7FF" - id: "aroace-flag" name: "Aroace Flag" homogeneous: true direction: to bottom stripes: &aroace-flag-stripes - rgba: "#E28C00" - rgba: "#ECCD00" - rgba: "#FFFFFF" - rgba: "#62AEDC" - rgba: "#203856" - id: "agender-flag" name: "Agender Flag" homogeneous: true direction: to bottom stripes: &agender-flag-stripes - rgba: "#000000" - rgba: "#BCC4C7" - rgba: "#FFFFFF" - rgba: "#B7F684" - rgba: "#FFFFFF" - rgba: "#BCC4C7" - rgba: "#000000" - id: "genderqueer-flag" name: "Genderqueer Flag" homogeneous: true direction: to bottom stripes: &genderqueer-flag-stripes - rgba: "#B57EDC" - rgba: "#FFFFFF" - rgba: "#4A8123" - id: "intersex-flag" name: "Intersex Flag" direction: to bottom stripes: &intersex-flag-stripes - rgba: "#FFD800" size: 0.4 - rgba: "#7902AA" size: 0.2 - rgba: "#FFD800" size: 0.4 - id: "demigender-flag" name: "Demigender Flag" homogeneous: true direction: to bottom stripes: &demigender-flag-stripes - rgba: "#7F7F7F" - rgba: "#C3C3C3" - rgba: "#FBFF74" - rgba: "#FFFFFF" - rgba: "#FBFF74" - rgba: "#C3C3C3" - rgba: "#7F7F7F" - id: "biromantic-flag" name: "Biromantic Flag" homogeneous: true direction: to bottom stripes: &biromantic-flag-stripes - rgba: "#8869A5" - rgba: "#D8A7D8" - rgba: "#FFFFFF" - rgba: "#FDB18D" - rgba: "#151638" - id: "disability-flag" name: "Disability Flag" homogeneous: true direction: to bottom stripes: &disability-flag-stripes - rgba: "#595959" - rgba: "#CF7280" - rgba: "#EEDE77" - rgba: "#E8E8E8" - rgba: "#7BC2E0" - rgba: "#3BB07D" - rgba: "#595959" - id: "femboy-flag" name: "Femboy Flag" homogeneous: true direction: to bottom stripes: &femboy-flag-stripes - rgba: "#D460A7" - rgba: "#E4ADCD" - rgba: "#FFFFFF" - rgba: "#57CEF8" - rgba: "#FFFFFF" - rgba: "#E4ADCD" - rgba: "#D460A7" - id: "neutrois-flag" name: "Neutrois Flag" homogeneous: true direction: to bottom stripes: &neutrois-flag-stripes - rgba: "rgb(255,255,255)" - rgba: "rgb(31,159,0)" - rgba: "rgb(0,0,0)" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/progress-bar-designs/pride/pride.c������������������������������������0000664�0000000�0000000�00000017773�15234476640�0024506�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* progress-bar-designs/pride/pride.c * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "bz-parser.h" #include "bz-pride-flag-config.h" #include "bz-yaml-parser.h" #include "pride.h" static void generate_flag_css (GString *css, const char *id, const char *direction, gboolean homogeneous, GListModel *stripes); GtkStyleProvider * bz_get_pride_style_provider (void) { static GtkCssProvider *provider = NULL; if (g_once_init_enter_pointer (&provider)) { g_autoptr (GError) local_error = NULL; g_autoptr (GBytes) config_bytes = NULL; g_autoptr (BzYamlParser) parser = NULL; g_autoptr (GHashTable) parse_results = NULL; g_autoptr (BzPrideFlagConfig) config = NULL; g_autoptr (GtkCssProvider) tmp = NULL; config_bytes = g_resources_lookup_data ( "/io/github/kolunmi/Bazaar/pride-flags.yaml", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); g_assert (config_bytes != NULL); g_type_ensure (BZ_TYPE_PRIDE_FLAG_CONFIG); g_type_ensure (BZ_TYPE_PRIDE_FLAG_SPEC); g_type_ensure (BZ_TYPE_PRIDE_FLAG_STRIPE_SPEC); parser = bz_yaml_parser_new_for_resource_schema ( "/io/github/kolunmi/Bazaar/pride-flag-config-schema.xml"); parse_results = bz_parser_process_bytes ( BZ_PARSER (parser), config_bytes, &local_error); if (parse_results == NULL) g_critical ("Could not parse internal 'pride-flags.yaml': %s", local_error->message); g_assert (parse_results != NULL); config = g_value_dup_object (g_hash_table_lookup (parse_results, "/")); tmp = gtk_css_provider_new (); if (config != NULL) { GListModel *flag_specs = NULL; flag_specs = bz_pride_flag_config_get_flag_specs (config); if (flag_specs != NULL) { g_autoptr (GString) css = NULL; guint n_flag_specs = 0; css = g_string_new (NULL); n_flag_specs = g_list_model_get_n_items (flag_specs); for (guint i = 0; i < n_flag_specs; i++) { g_autoptr (BzPrideFlagSpec) flag_spec = NULL; const char *id = NULL; const char *name = NULL; gboolean homogeneous = FALSE; GListModel *stripes = NULL; const char *direction = NULL; flag_spec = g_list_model_get_item (flag_specs, i); id = bz_pride_flag_spec_get_id (flag_spec); name = bz_pride_flag_spec_get_name (flag_spec); homogeneous = bz_pride_flag_spec_get_homogeneous (flag_spec); stripes = bz_pride_flag_spec_get_stripes (flag_spec); direction = bz_pride_flag_spec_get_direction (flag_spec); if (id == NULL) { g_critical ("Flag spec with index %d lacks an id, skipping it", i); continue; } if (name == NULL) { g_critical ("Flag spec \"%s\" lacks an name, skipping it", id); continue; } if (stripes == NULL) { g_critical ("Flag spec \"%s\" lacks a strip list, skipping it", id); continue; } if (direction == NULL) direction = "to bottom"; generate_flag_css (css, id, direction, homogeneous, stripes); { g_autofree char *horizontal_id = NULL; const char *horizontal_direction = NULL; horizontal_id = g_strdup_printf ("%s-horizontal", id); if (g_strcmp0 (direction, "to bottom") == 0) horizontal_direction = "to right"; else if (g_strcmp0 (direction, "to top") == 0) horizontal_direction = "to left"; else if (g_strcmp0 (direction, "to left") == 0) horizontal_direction = "to top"; else if (g_strcmp0 (direction, "to right") == 0) horizontal_direction = "to bottom"; else horizontal_direction = "to right"; generate_flag_css (css, horizontal_id, horizontal_direction, homogeneous, stripes); } } if (css->len > 0) gtk_css_provider_load_from_string (tmp, css->str); } } g_once_init_leave_pointer (&provider, g_steal_pointer (&tmp)); } return GTK_STYLE_PROVIDER (provider); } char * bz_dup_css_class_for_pride_id (const char *id) { g_return_val_if_fail (id != NULL, NULL); return g_strdup_printf ("%s-theme", id); } static void generate_flag_css (GString *css, const char *id, const char *direction, gboolean homogeneous, GListModel *stripes) { g_autoptr (GString) stripe_css = NULL; guint n_stripes = 0; double cur_offset = 0.0; gboolean skip = FALSE; stripe_css = g_string_new (NULL); g_string_append_printf (stripe_css, ".%s-theme { ", id); g_string_append_printf (stripe_css, "--flag-gradient: linear-gradient(%s", direction); n_stripes = g_list_model_get_n_items (stripes); for (guint j = 0; j < n_stripes; j++) { g_autoptr (BzPrideFlagStripeSpec) stripe_spec = NULL; const char *rgba_spec = NULL; double size = 0.0; GdkRGBA rgba = { 0 }; stripe_spec = g_list_model_get_item (stripes, j); rgba_spec = bz_pride_flag_stripe_spec_get_rgba (stripe_spec); size = bz_pride_flag_stripe_spec_get_size (stripe_spec); if (rgba_spec == NULL) { g_critical ("Flag spec \"%s\" has a stripe spec which lacks an rgba spec, skipping it", id); skip = TRUE; break; } if (!gdk_rgba_parse (&rgba, rgba_spec)) { g_critical ("Flag spec \"%s\" has a stripe spec which has an invalid rgba spec, skipping it", id); skip = TRUE; break; } if (!homogeneous && (size <= 0.0 || size > 1.0)) { g_critical ("Flag spec \"%s\" has a stripe spec which has an out of bounds size, skipping it", id); skip = TRUE; break; } g_string_append_printf (stripe_css, ", %s %d%%", rgba_spec, (int) round (cur_offset * 100.0)); cur_offset += homogeneous ? 1.0 / (double) n_stripes : size; if (cur_offset > 1.0) { g_critical ("Flag spec \"%s\" has a stripe spec which exceeds the height of the flag, skipping it", id); skip = TRUE; break; } g_string_append_printf (stripe_css, ", %s %d%%", rgba_spec, (int) round (cur_offset * 100.0)); } if (skip) return; g_string_append (stripe_css, "); }\n"); g_string_append_len (css, stripe_css->str, stripe_css->len); } �����bazaar-org-bazaar-917017d/src/progress-bar-designs/pride/pride.h������������������������������������0000664�0000000�0000000�00000001657�15234476640�0024505�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* progress-bar-designs/pride/pride.h * * Copyright 2025 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS GtkStyleProvider * bz_get_pride_style_provider (void); char * bz_dup_css_class_for_pride_id (const char *id); G_END_DECLS ���������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/refresh-worker.c������������������������������������������������������0000664�0000000�0000000�00000010523�15234476640�0021167�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* refresh-worker.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::REFRESH-WORKER" #include "bz-backend-notification.h" #include "bz-backend.h" #include "bz-entry-cache-manager.h" #include "bz-flatpak-instance.h" #include "env.h" #include "util.h" #include "refresh-worker.h" BZ_DEFINE_DATA ( main, Main, { GMainLoop *loop; int rv; }, BZ_RELEASE_DATA (loop, g_main_loop_unref)); static DexFuture * run (MainData *data); int run_refresh_worker (int argc, char *argv[]) { g_autoptr (GMainLoop) main_loop = NULL; g_autoptr (MainData) data = NULL; g_autoptr (DexFuture) future = NULL; main_loop = g_main_loop_new (NULL, FALSE); data = main_data_new (); data->loop = g_main_loop_ref (main_loop); data->rv = EXIT_SUCCESS; future = dex_scheduler_spawn ( dex_scheduler_get_default (), bz_get_dex_stack_size (), (DexFiberFunc) run, main_data_ref (data), main_data_unref); g_main_loop_run (main_loop); return data->rv; } static DexFuture * run (MainData *data) { gboolean result = FALSE; g_autoptr (GError) local_error = NULL; g_autoptr (BzEntryCacheManager) cache = NULL; g_autoptr (BzFlatpakInstance) flatpak = NULL; g_autoptr (DexChannel) channel = NULL; g_autoptr (GHashTable) installed_set = NULL; g_autoptr (DexFuture) all_notifs = NULL; guint n_notifs = 0; g_autoptr (GPtrArray) write_backs = NULL; cache = bz_entry_cache_manager_new (); flatpak = dex_await_object ( bz_flatpak_instance_new (), &local_error); if (flatpak == NULL) goto err; channel = bz_backend_create_notification_channel (BZ_BACKEND (flatpak)); if (channel == NULL) goto err; result = dex_await ( bz_backend_retrieve_remote_entries ( BZ_BACKEND (flatpak), NULL), &local_error); if (!result) goto err; installed_set = dex_await_boxed ( bz_backend_retrieve_install_ids ( BZ_BACKEND (flatpak), NULL), &local_error); if (installed_set == NULL) goto err; all_notifs = dex_channel_receive_all (channel); n_notifs = dex_future_set_get_size (DEX_FUTURE_SET (all_notifs)); write_backs = g_ptr_array_new_with_free_func (dex_unref); for (guint i = 0; i < n_notifs; i++) { DexFuture *future = NULL; g_autoptr (BzBackendNotification) notif = NULL; BzBackendNotificationKind kind = 0; future = dex_future_set_get_future_at ( DEX_FUTURE_SET (all_notifs), i); notif = dex_await_object (dex_ref (future), NULL); if (notif == NULL) continue; kind = bz_backend_notification_get_kind (notif); if (kind == BZ_BACKEND_NOTIFICATION_KIND_REPLACE_ENTRY) { BzEntry *entry = NULL; const char *unique_id = NULL; entry = bz_backend_notification_get_entry (notif); unique_id = bz_entry_get_unique_id (entry); bz_entry_set_installed (entry, g_hash_table_contains (installed_set, unique_id)); g_ptr_array_add ( write_backs, bz_entry_cache_manager_add (cache, entry)); } } if (write_backs->len > 0) dex_await ( dex_future_allv ( (DexFuture *const *) write_backs->pdata, write_backs->len), NULL); data->rv = EXIT_SUCCESS; g_main_loop_quit (data->loop); return dex_future_new_true (); err: if (local_error != NULL) g_critical ("Unable to complete refresh: %s", local_error->message); data->rv = EXIT_FAILURE; g_main_loop_quit (data->loop); return dex_future_new_false (); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/refresh-worker.h������������������������������������������������������0000664�0000000�0000000�00000001562�15234476640�0021177�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* refresh-worker.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib.h> G_BEGIN_DECLS int run_refresh_worker (int argc, char *argv[]); G_END_DECLS ����������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/release-notes.xml.in��������������������������������������������������0000664�0000000�0000000�00000000000�15234476640�0021740�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/safety-calculator.c���������������������������������������������������0000664�0000000�0000000�00000064574�15234476640�0021663�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* safety-calculator.c * * Copyright 2026 Alexander Vanhee * Copyright (C) 2022 Red Hat <www.redhat.com> * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include <glib/gi18n.h> #include "bz-app-permissions.h" #include "bz-context-row.h" #include "safety-calculator.h" #include "bz-safety-row.h" static char * format_bus_policy_title (const BzBusPolicy *bus_policy); static const char * format_bus_policy_subtitle (const BzBusPolicy *bus_policy); static void add_row_if_permission (GListStore *store, gboolean has_permission, BzImportance item_rating, const char *icon_name_with_permission, const char *title_with_permission, const char *description_with_permission, const char *icon_name_without_permission, const char *title_without_permission, const char *description_without_permission); static gboolean lookup_well_known_bus_policy (const char *bus_name, const char **out_title, const char **out_description); GListModel * bz_safety_calculator_analyze_entry (BzEntry *entry) { GListStore *store = NULL; BzAppPermissions *permissions = NULL; BzAppPermissionsFlags perm_flags = BZ_APP_PERMISSIONS_FLAGS_NONE; gboolean is_verified = FALSE; gboolean is_foss = FALSE; const GPtrArray *filesystem_read = NULL; const GPtrArray *filesystem_full = NULL; const BzBusPolicy *const *bus_policies = NULL; size_t n_bus_policies = 0; gboolean has_system_tray = FALSE; BzImportance fs_importance = BZ_IMPORTANCE_WARNING; guint i = 0; g_return_val_if_fail (BZ_IS_ENTRY (entry), NULL); store = g_list_store_new (BZ_TYPE_SAFETY_ROW); is_verified = bz_entry_is_verified (entry); is_foss = bz_entry_get_is_foss (entry); g_object_get (entry, "permissions", &permissions, NULL); if (permissions != NULL) perm_flags = bz_app_permissions_get_flags (permissions); fs_importance = (perm_flags & BZ_APP_PERMISSIONS_FLAGS_NETWORK) ? BZ_IMPORTANCE_WARNING : BZ_IMPORTANCE_INFORMATION; if (permissions == NULL) { add_row_if_permission (store, TRUE, BZ_IMPORTANCE_WARNING, "channel-insecure-symbolic", _ ("Unknown Permissions"), _ ("Permissions are missing for this app."), NULL, NULL, NULL); } else { filesystem_read = bz_app_permissions_get_filesystem_read (permissions); filesystem_full = bz_app_permissions_get_filesystem_full (permissions); bus_policies = bz_app_permissions_get_bus_policies (permissions, &n_bus_policies); add_row_if_permission (store, bz_app_permissions_is_empty (permissions), BZ_IMPORTANCE_UNIMPORTANT, "permissions-sandboxed-symbolic", _ ("No Permissions"), _ ("App is fully sandboxed"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_NETWORK) != 0, BZ_IMPORTANCE_INFORMATION, "network-wireless-symbolic", _ ("Network Access"), _ ("Can access the internet"), "network-wireless-disabled-symbolic", _ ("No Network Access"), _ ("Cannot access the internet")); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_DEVICES) != 0, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_NETWORK) ? BZ_IMPORTANCE_WARNING : BZ_IMPORTANCE_INFORMATION, "camera-photo-symbolic", _ ("User Device Access"), _ ("Can access devices such as webcams or gaming controllers"), "camera-disabled-symbolic", _ ("No User Device Access"), _ ("Cannot access devices such as webcams or gaming controllers")); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_INPUT_DEVICES) != 0, BZ_IMPORTANCE_INFORMATION, "input-keyboard-symbolic", _ ("Input Device Access"), _ ("Can access input devices"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_AUDIO_DEVICES) != 0, BZ_IMPORTANCE_INFORMATION, "permissions-microphone-symbolic", _ ("Microphone Access and Audio Playback"), _ ("Can listen using microphones and play audio without asking permission"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_SYSTEM_DEVICES) != 0, BZ_IMPORTANCE_WARNING, "permissions-system-devices-symbolic", _ ("System Device Access"), _ ("Can access system devices which require elevated permissions"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_SCREEN) != 0, BZ_IMPORTANCE_WARNING, "permissions-screen-contents-symbolic", _ ("Screen Contents Access"), _ ("Can access the contents of the screen or other windows"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_X11) != 0, BZ_IMPORTANCE_IMPORTANT, "permissions-legacy-windowing-system-symbolic", _ ("Legacy Windowing System"), _ ("Always uses a legacy windowing system (X11)"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX) != 0, BZ_IMPORTANCE_IMPORTANT, "earth-symbolic", _ ("Arbitrary Permissions"), _ ("Can acquire arbitrary permissions"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_SETTINGS) != 0, BZ_IMPORTANCE_WARNING, "emblem-system-symbolic", _ ("User Settings"), _ ("Can access and change user settings"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL) != 0, BZ_IMPORTANCE_IMPORTANT, "drive-harddisk-symbolic", _ ("Full File System Read/Write Access"), _ ("Can read and write all data on the file system"), NULL, NULL, NULL); add_row_if_permission (store, ((perm_flags & BZ_APP_PERMISSIONS_FLAGS_HOME_FULL) != 0 && !(perm_flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL)), BZ_IMPORTANCE_IMPORTANT, "user-home-symbolic", _ ("Home Folder Read/Write Access"), _ ("Can read and write all data in your home directory"), NULL, NULL, NULL); add_row_if_permission (store, ((perm_flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ) != 0 && !(perm_flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL)), BZ_IMPORTANCE_IMPORTANT, "folder-symbolic", _ ("Full File System Read Access"), _ ("Can read all data on the file system"), NULL, NULL, NULL); add_row_if_permission (store, ((perm_flags & BZ_APP_PERMISSIONS_FLAGS_HOME_READ) != 0 && !(perm_flags & (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL | BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ))), BZ_IMPORTANCE_IMPORTANT, "user-home-symbolic", _ ("Home Folder Read Access"), _ ("Can read all data in your home directory"), NULL, NULL, NULL); add_row_if_permission (store, ((perm_flags & BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL) != 0 && !(perm_flags & (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL | BZ_APP_PERMISSIONS_FLAGS_HOME_FULL))), fs_importance, "folder-download-symbolic", _ ("Download Folder Read/Write Access"), _ ("Can read and write all data in your downloads directory"), NULL, NULL, NULL); add_row_if_permission (store, ((perm_flags & BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_READ) != 0 && !(perm_flags & (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL | BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ | BZ_APP_PERMISSIONS_FLAGS_HOME_FULL | BZ_APP_PERMISSIONS_FLAGS_HOME_READ))), fs_importance, "folder-download-symbolic", _ ("Download Folder Read Access"), _ ("Can read all data in your downloads directory"), NULL, NULL, NULL); for (i = 0; filesystem_full != NULL && i < filesystem_full->len; i++) { const BzFilesystemPath *path = g_ptr_array_index (filesystem_full, i); g_autofree char *fs_title = bz_filesystem_path_to_display_string (path); const char *fs_icon = bz_filesystem_path_to_icon_name (path); if (perm_flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL) continue; if ((perm_flags & BZ_APP_PERMISSIONS_FLAGS_HOME_FULL) && path->type == BZ_FILESYSTEM_PATH_HOME_SUBDIR) continue; add_row_if_permission (store, TRUE, fs_importance, fs_icon, fs_title, _ ("Can read and write all data in the directory"), NULL, NULL, NULL); } for (i = 0; filesystem_read != NULL && i < filesystem_read->len; i++) { const BzFilesystemPath *path = g_ptr_array_index (filesystem_read, i); g_autofree char *fs_title = bz_filesystem_path_to_display_string (path); const char *fs_icon = bz_filesystem_path_to_icon_name (path); if (perm_flags & BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL) continue; if ((perm_flags & (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ | BZ_APP_PERMISSIONS_FLAGS_HOME_FULL | BZ_APP_PERMISSIONS_FLAGS_HOME_READ)) && path->type == BZ_FILESYSTEM_PATH_HOME_SUBDIR) continue; add_row_if_permission (store, TRUE, fs_importance, fs_icon, fs_title, _ ("Can read all data in the directory"), NULL, NULL, NULL); } add_row_if_permission (store, !(perm_flags & (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL | BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ | BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_OTHER | BZ_APP_PERMISSIONS_FLAGS_HOME_FULL | BZ_APP_PERMISSIONS_FLAGS_HOME_READ | BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_FULL | BZ_APP_PERMISSIONS_FLAGS_DOWNLOADS_READ)) && filesystem_read == NULL && filesystem_full == NULL, BZ_IMPORTANCE_UNIMPORTANT, "folder-symbolic", _ ("No File System Access"), _ ("Cannot access the file system at all"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS) != 0, BZ_IMPORTANCE_WARNING, "emblem-system-symbolic", _ ("Uses System Services"), _ ("Can request data from non-portal system services"), NULL, NULL, NULL); add_row_if_permission (store, (perm_flags & BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS) != 0, BZ_IMPORTANCE_WARNING, "emblem-system-symbolic", _ ("Uses Session Services"), _ ("Can request data from non-portal session services"), NULL, NULL, NULL); for (i = 0; i < n_bus_policies; i++) { const BzBusPolicy *policy = bus_policies[i]; const char *well_known_title = NULL; const char *well_known_desc = NULL; g_autofree char *bus_title = NULL; const char *bus_description = NULL; gboolean is_system_tray = FALSE; is_system_tray = g_str_equal (policy->bus_name, "org.kde.StatusNotifierWatcher") || g_str_equal (policy->bus_name, "com.canonical.indicator.application"); if (is_system_tray && has_system_tray) // if not filtered, then there would be 2 entries for tray icon continue; if (is_system_tray) has_system_tray = TRUE; if (lookup_well_known_bus_policy (policy->bus_name, &well_known_title, &well_known_desc)) { bus_title = g_strdup (well_known_title); bus_description = well_known_desc; } else { bus_title = format_bus_policy_title (policy); bus_description = format_bus_policy_subtitle (policy); } add_row_if_permission (store, TRUE, BZ_IMPORTANCE_WARNING, "emblem-system-symbolic", bus_title, bus_description, NULL, NULL, NULL); } add_row_if_permission (store, !(perm_flags & (BZ_APP_PERMISSIONS_FLAGS_SYSTEM_BUS | BZ_APP_PERMISSIONS_FLAGS_SESSION_BUS | BZ_APP_PERMISSIONS_FLAGS_BUS_POLICY_OTHER)) && n_bus_policies == 0, BZ_IMPORTANCE_UNIMPORTANT, "emblem-system-symbolic", _ ("No Service Access"), _ ("Cannot access non-portal session or system services at all"), NULL, NULL, NULL); } add_row_if_permission (store, is_verified, BZ_IMPORTANCE_UNIMPORTANT, "verified-checkmark-symbolic", _ ("Verified App Developer"), _ ("The developer of this app has been verified to be who they say they are"), NULL, NULL, NULL); if (!is_foss) { add_row_if_permission (store, TRUE, BZ_IMPORTANCE_INFORMATION, "proprietary-code-symbolic", _ ("Proprietary Code"), _ ("The source code is not public, so it cannot be independently audited and might be unsafe"), NULL, NULL, NULL); } else { add_row_if_permission (store, FALSE, BZ_IMPORTANCE_NEUTRAL, NULL, NULL, NULL, "auditable-code-symbolic", _ ("Auditable Code"), _ ("The source code is public and can be independently audited, which makes the app more likely to be safe")); } g_clear_object (&permissions); return G_LIST_MODEL (store); } char * bz_safety_calculator_get_top_icon (BzEntry *entry, int index) { g_autoptr (GListModel) model = NULL; const char *icons[2] = { NULL, NULL }; guint icon_count = 0; guint n_items = 0; BzImportance priorities[] = { BZ_IMPORTANCE_IMPORTANT, BZ_IMPORTANCE_WARNING, BZ_IMPORTANCE_INFORMATION }; g_return_val_if_fail (BZ_IS_ENTRY (entry), NULL); if (index < 0 || index > 1) return NULL; model = bz_safety_calculator_analyze_entry (entry); n_items = g_list_model_get_n_items (model); for (guint priority_idx = 0; priority_idx < 3 && icon_count < 2; priority_idx++) { BzImportance current_priority = priorities[priority_idx]; for (guint i = 0; i < n_items && icon_count < 2; i++) { g_autoptr (BzSafetyRow) row = g_list_model_get_item (model, i); BzImportance importance = BZ_IMPORTANCE_UNIMPORTANT; const char *icon_name = NULL; gboolean duplicate = FALSE; g_object_get (row, "importance", &importance, "icon-name", &icon_name, NULL); if (importance != current_priority) continue; if (icon_name == NULL || *icon_name == '\0') continue; for (guint j = 0; j < icon_count; j++) { if (g_strcmp0 (icons[j], icon_name) == 0) { duplicate = TRUE; break; } } if (!duplicate) { icons[icon_count] = icon_name; icon_count++; } } } if (icon_count == 0 || icons[index] == NULL) return NULL; return g_strdup (icons[index]); } BzImportance bz_safety_calculator_calculate_rating (BzEntry *entry) { g_autoptr (GListModel) model = NULL; BzImportance max_rating = BZ_IMPORTANCE_UNIMPORTANT; guint n_items = 0; guint i = 0; gboolean is_foss = FALSE; g_return_val_if_fail (BZ_IS_ENTRY (entry), BZ_IMPORTANCE_UNIMPORTANT); model = bz_safety_calculator_analyze_entry (entry); n_items = g_list_model_get_n_items (model); is_foss = bz_entry_get_is_foss (entry); for (i = 0; i < n_items; i++) { g_autoptr (BzSafetyRow) row = g_list_model_get_item (model, i); BzImportance rating = BZ_IMPORTANCE_UNIMPORTANT; g_object_get (row, "importance", &rating, NULL); max_rating = MAX (max_rating, rating); } if (is_foss && max_rating == BZ_IMPORTANCE_WARNING) { max_rating = BZ_IMPORTANCE_INFORMATION; } if (is_foss && max_rating == BZ_IMPORTANCE_IMPORTANT) { max_rating = BZ_IMPORTANCE_WARNING; } return max_rating; } BzHighRiskGroup bz_safety_calculator_get_high_risk_groups (BzEntry *entry) { BzAppPermissions *permissions = NULL; BzAppPermissionsFlags perm_flags = BZ_APP_PERMISSIONS_FLAGS_NONE; BzHighRiskGroup result = BZ_HIGH_RISK_GROUP_NONE; g_return_val_if_fail (BZ_IS_ENTRY (entry), BZ_HIGH_RISK_GROUP_NONE); g_object_get (entry, "permissions", &permissions, NULL); if (permissions == NULL) return BZ_HIGH_RISK_GROUP_NONE; perm_flags = bz_app_permissions_get_flags (permissions); if (perm_flags & BZ_APP_PERMISSIONS_FLAGS_X11) result |= BZ_HIGH_RISK_GROUP_X11; if (perm_flags & (BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_FULL | BZ_APP_PERMISSIONS_FLAGS_FILESYSTEM_READ | BZ_APP_PERMISSIONS_FLAGS_HOME_FULL | BZ_APP_PERMISSIONS_FLAGS_HOME_READ | BZ_APP_PERMISSIONS_FLAGS_ESCAPE_SANDBOX)) result |= BZ_HIGH_RISK_GROUP_DISK; g_clear_object (&permissions); return result; } static char * format_bus_policy_title (const BzBusPolicy *bus_policy) { if (bus_policy->bus_type == G_BUS_TYPE_SYSTEM) { return g_strdup_printf (_ ("Use the %s System Service"), bus_policy->bus_name); } else if (bus_policy->bus_type == G_BUS_TYPE_SESSION) { return g_strdup_printf (_ ("Use the %s Session Service"), bus_policy->bus_name); } else { return g_strdup_printf (_ ("Use the %s Service"), bus_policy->bus_name); } } static const char * format_bus_policy_subtitle (const BzBusPolicy *bus_policy) { switch (bus_policy->permission) { case BZ_BUS_POLICY_PERMISSION_SEE: return _ ("Can see the non-portal service"); case BZ_BUS_POLICY_PERMISSION_TALK: return _ ("Can talk to the non-portal service"); case BZ_BUS_POLICY_PERMISSION_OWN: return _ ("Can own the non-portal service"); case BZ_BUS_POLICY_PERMISSION_NONE: case BZ_BUS_POLICY_PERMISSION_UNKNOWN: default: g_assert_not_reached (); } } static gboolean lookup_well_known_bus_policy (const char *bus_name, const char **out_title, const char **out_description) { if (g_str_equal (bus_name, "com.canonical.AppMenu.Registrar")) { *out_title = _ ("Global Menu Integration"); *out_description = _ ("Can display its menus in a global menu bar"); return TRUE; } if (g_str_equal (bus_name, "org.kde.kconfig.notify")) { *out_title = _ ("KDE Settings Integration"); *out_description = _ ("Can detect when KDE desktop settings change"); return TRUE; } if (g_str_equal (bus_name, "org.kde.KGlobalSettings")) { *out_title = _ ("KDE Global Settings"); *out_description = _ ("Can read KDE desktop preferences like fonts and colors"); return TRUE; } if (g_str_equal (bus_name, "org.freedesktop.secrets")) { *out_title = _ ("Secret Storage Service"); *out_description = _ ("Can store and retrieve its own passwords using the system keyring"); return TRUE; } if (g_str_equal (bus_name, "org.freedesktop.Notifications")) { *out_title = _ ("Desktop Notifications Service"); *out_description = _ ("Can send desktop notifications"); return TRUE; } if (g_str_equal (bus_name, "org.kde.StatusNotifierWatcher") || g_str_equal (bus_name, "com.canonical.indicator.application")) { *out_title = _ ("System Tray Integration"); *out_description = _ ("Can display an icon in the system tray"); return TRUE; } if (g_str_equal (bus_name, "org.kde.kdeconnect")) { *out_title = _ ("KDE Connect Integration"); *out_description = _ ("Can interact with devices paired via KDE Connect"); return TRUE; } return FALSE; } static void add_row_if_permission (GListStore *store, gboolean has_permission, BzImportance item_rating, const char *icon_name_with_permission, const char *title_with_permission, const char *description_with_permission, const char *icon_name_without_permission, const char *title_without_permission, const char *description_without_permission) { BzSafetyRow *row = NULL; if (!has_permission && title_without_permission == NULL) return; row = bz_safety_row_new (); g_object_set (row, "importance", has_permission ? item_rating : BZ_IMPORTANCE_UNIMPORTANT, "icon-name", has_permission ? icon_name_with_permission : icon_name_without_permission, "title", has_permission ? title_with_permission : title_without_permission, "subtitle", has_permission ? description_with_permission : description_without_permission, NULL); g_list_store_append (store, row); g_object_unref (row); } ������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/safety-calculator.h���������������������������������������������������0000664�0000000�0000000�00000002632�15234476640�0021653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* safety-calculator.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include "bz-context-row.h" #include "bz-entry.h" #include "bz-safety-row.h" #include <gio/gio.h> G_BEGIN_DECLS typedef enum { BZ_HIGH_RISK_GROUP_NONE = 0, BZ_HIGH_RISK_GROUP_X11 = 1 << 0, BZ_HIGH_RISK_GROUP_DISK = 1 << 1, } BzHighRiskGroup; #define BZ_TYPE_HIGH_RISK_GROUP (bz_high_risk_group_get_type ()) GListModel * bz_safety_calculator_analyze_entry (BzEntry *entry); BzImportance bz_safety_calculator_calculate_rating (BzEntry *entry); char * bz_safety_calculator_get_top_icon (BzEntry *entry, int index); BzHighRiskGroup bz_safety_calculator_get_high_risk_groups (BzEntry *entry); G_END_DECLS ������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/search-index-write.c��������������������������������������������������0000664�0000000�0000000�00000011501�15234476640�0021721�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* search-index-write.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #define G_LOG_DOMAIN "BAZAAR::SEARCH-INDEX-WRITE" #define BAZAAR_MODULE "search-index-writer" #include "bz-entry-group.h" #include "search-index-write.h" #define INDEX_MAGIC "BZSI" #define INDEX_VERSION 1 #define DESCRIPTION_MAX_LEN 200 static gboolean write_string (GDataOutputStream *out, const char *str, gsize max_len, GError **error); static gboolean entry_group_is_eligible (BzEntryGroup *group); static const char *entry_group_icon_path (BzEntryGroup *group); gboolean bz_write_search_index (GListModel *groups, const char *out_path, GError **error) { g_autofree char *tmp_path = NULL; g_autoptr (GFile) tmp_file = NULL; g_autoptr (GFile) final_file = NULL; g_autoptr (GOutputStream) base_out = NULL; g_autoptr (GDataOutputStream) out = NULL; guint n_groups = 0; guint32 count = 0; gboolean result = FALSE; g_return_val_if_fail (G_IS_LIST_MODEL (groups), FALSE); g_return_val_if_fail (out_path != NULL, FALSE); tmp_path = g_strdup_printf ("%s.tmp", out_path); tmp_file = g_file_new_for_path (tmp_path); base_out = G_OUTPUT_STREAM (g_file_replace ( tmp_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, error)); if (base_out == NULL) return FALSE; out = g_data_output_stream_new (base_out); g_data_output_stream_set_byte_order (out, G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN); if (!g_output_stream_write_all (G_OUTPUT_STREAM (out), INDEX_MAGIC, 4, NULL, NULL, error)) return FALSE; if (!g_data_output_stream_put_uint32 (out, INDEX_VERSION, NULL, error)) return FALSE; n_groups = g_list_model_get_n_items (groups); for (guint i = 0; i < n_groups; i++) { g_autoptr (BzEntryGroup) group = g_list_model_get_item (groups, i); if (entry_group_is_eligible (group)) count++; } if (!g_data_output_stream_put_uint32 (out, count, NULL, error)) return FALSE; for (guint i = 0; i < n_groups; i++) { g_autoptr (BzEntryGroup) group = g_list_model_get_item (groups, i); const char *icon_path = NULL; if (!entry_group_is_eligible (group)) continue; icon_path = entry_group_icon_path (group); if (!write_string (out, bz_entry_group_get_id (group), 0, error) || !write_string (out, bz_entry_group_get_title (group), 0, error) || !write_string (out, bz_entry_group_get_developer (group), 0, error) || !write_string (out, bz_entry_group_get_description (group), DESCRIPTION_MAX_LEN, error) || !write_string (out, bz_entry_group_get_search_tokens (group), 0, error) || !write_string (out, icon_path, 0, error)) return FALSE; } if (!g_output_stream_close (G_OUTPUT_STREAM (out), NULL, error)) return FALSE; final_file = g_file_new_for_path (out_path); result = g_file_move ( tmp_file, final_file, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, error); return result; } static gboolean write_string (GDataOutputStream *out, const char *str, gsize max_len, GError **error) { gsize len = 0; if (str != NULL) { len = strlen (str); if (max_len > 0 && len > max_len) len = max_len; } if (!g_data_output_stream_put_uint32 (out, (guint32) len, NULL, error)) return FALSE; if (len > 0) return g_output_stream_write_all (G_OUTPUT_STREAM (out), str, len, NULL, NULL, error); return TRUE; } static gboolean entry_group_is_eligible (BzEntryGroup *group) { return bz_entry_group_is_searchable (group) && !bz_entry_group_is_addon (group) && bz_entry_group_get_removable (group) == 0 && bz_entry_group_get_eol (group) == NULL; } static const char * entry_group_icon_path (BzEntryGroup *group) { GIcon *icon = NULL; icon = bz_entry_group_get_mini_icon (group); if (icon == NULL || !G_IS_FILE_ICON (icon)) return NULL; return g_file_peek_path (g_file_icon_get_file (G_FILE_ICON (icon))); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/search-index-write.h��������������������������������������������������0000664�0000000�0000000�00000002261�15234476640�0021731�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* search-index-write.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gio/gio.h> G_BEGIN_DECLS /* * HEADER: * char[4] "BZSI" * uint32 version * uint32 entry count * * CONTENT: * id * title * developer * description (cut off) * search_tokens * icon_path * * with strings as uint32 length + uint8[] bytes * */ gboolean bz_write_search_index (GListModel *groups, const char *out_path, GError **error); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/search-index.c��������������������������������������������������������0000664�0000000�0000000�00000016330�15234476640�0020576�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* search-index.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include "search-index.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <sys/stat.h> #define INDEX_MAGIC "BZSI" static int read_u32 (FILE *f, unsigned int *out); static char *read_field (FILE *f); static void free_entries (SearchIndexEntry *entries, unsigned int count); static double score_field (const char *term, const char *field, double weight); static double score_entry (const SearchIndexEntry *e, const char *const *terms, int n_terms); static int cmp_matches (const void *a, const void *b); SearchIndex * search_index_open (const char *path) { FILE *f = NULL; char magic[4] = { 0 }; unsigned int version = 0; unsigned int count = 0; SearchIndexEntry *entries = NULL; SearchIndex *idx = NULL; struct stat st = { 0 }; unsigned int i = 0; f = fopen (path, "rb"); if (f == NULL) return NULL; if (fread (magic, 1, 4, f) != 4 || memcmp (magic, INDEX_MAGIC, 4) != 0) { fclose (f); return NULL; } if (read_u32 (f, &version) < 0 || read_u32 (f, &count) < 0) { fclose (f); return NULL; } entries = calloc (count, sizeof (SearchIndexEntry)); if (entries == NULL) { fclose (f); return NULL; } for (i = 0; i < count; i++) { entries[i].id = read_field (f); entries[i].title = read_field (f); entries[i].developer = read_field (f); entries[i].description = read_field (f); entries[i].search_tokens = read_field (f); entries[i].icon_path = read_field (f); if (entries[i].id == NULL || entries[i].title == NULL) { free_entries (entries, count); fclose (f); return NULL; } } fclose (f); idx = calloc (1, sizeof (SearchIndex)); if (idx == NULL) { free_entries (entries, count); return NULL; } idx->path = strdup (path); idx->entries = entries; idx->count = count; if (stat (path, &st) == 0) idx->mtime = st.st_mtime; return idx; } void search_index_close (SearchIndex *idx) { if (idx == NULL) return; free_entries (idx->entries, idx->count); free (idx->path); free (idx); } int search_index_reload_if_stale (SearchIndex **idx_ptr) { struct stat st = { 0 }; SearchIndex *idx = NULL; SearchIndex *fresh = NULL; idx = *idx_ptr; if (idx == NULL) return 0; if (stat (idx->path, &st) != 0) return 0; if (st.st_mtime == idx->mtime) return 0; fresh = search_index_open (idx->path); if (fresh == NULL) return 0; search_index_close (idx); *idx_ptr = fresh; return 1; } size_t search_index_query (SearchIndex *idx, const char *const *terms, int n_terms, SearchIndexMatch *out, size_t max_results) { size_t n_matches = 0; unsigned int i = 0; double score = 0.0; if (idx == NULL || n_terms <= 0) return 0; for (i = 0; i < idx->count && n_matches < max_results * 8; i++) { score = score_entry (&idx->entries[i], terms, n_terms); if (score > 0.0 && n_matches < max_results * 8) { if (n_matches < max_results) { out[n_matches].entry = &idx->entries[i]; out[n_matches].score = score; } n_matches++; } } if (n_matches > max_results) n_matches = max_results; qsort (out, n_matches, sizeof (SearchIndexMatch), cmp_matches); return n_matches; } const SearchIndexEntry * search_index_find (SearchIndex *idx, const char *id) { unsigned int i = 0; if (idx == NULL || id == NULL) return NULL; for (i = 0; i < idx->count; i++) { if (strcmp (idx->entries[i].id, id) == 0) return &idx->entries[i]; } return NULL; } static int read_u32 (FILE *f, unsigned int *out) { unsigned char b[4] = { 0 }; if (fread (b, 1, 4, f) != 4) return -1; *out = (unsigned int) b[0] | ((unsigned int) b[1] << 8) | ((unsigned int) b[2] << 16) | ((unsigned int) b[3] << 24); return 0; } static char * read_field (FILE *f) { unsigned int len = 0; char *str = NULL; if (read_u32 (f, &len) < 0) return NULL; if (len == 0) return NULL; str = malloc (len + 1); if (str == NULL) return NULL; if (fread (str, 1, len, f) != len) { free (str); return NULL; } str[len] = '\0'; return str; } static void free_entries (SearchIndexEntry *entries, unsigned int count) { unsigned int i = 0; if (entries == NULL) return; for (i = 0; i < count; i++) { free (entries[i].id); free (entries[i].title); free (entries[i].developer); free (entries[i].description); free (entries[i].search_tokens); free (entries[i].icon_path); } free (entries); } static double score_field (const char *term, const char *field, double weight) { const char *hit = NULL; size_t term_len = 0; size_t field_len = 0; if (field == NULL || term == NULL || *term == '\0') return 0.0; hit = strcasestr (field, term); if (hit == NULL) return 0.0; term_len = strlen (term); field_len = strlen (field); if (field_len == 0) return 0.0; return weight * ((double) (term_len * term_len) / (double) field_len); } static double score_entry (const SearchIndexEntry *e, const char *const *terms, int n_terms) { double total = 0.0; int i = 0; const char *term = NULL; double term_score = 0.0; for (i = 0; i < n_terms; i++) { term = terms[i]; term_score = 0.0; if (term == NULL || *term == '\0') continue; term_score += score_field (term, e->title, 2.0); term_score += score_field (term, e->developer, 1.0); term_score += score_field (term, e->description, 1.0); term_score += score_field (term, e->search_tokens, 1.5); if (term_score <= 0.0) return 0.0; total += term_score; } return total; } static int cmp_matches (const void *a, const void *b) { const SearchIndexMatch *ma = a; const SearchIndexMatch *mb = b; if (mb->score > ma->score) return 1; if (mb->score < ma->score) return -1; return 0; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/search-index.h��������������������������������������������������������0000664�0000000�0000000�00000003220�15234476640�0020575�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* search-index.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <stddef.h> #include <time.h> typedef struct { char *id; char *title; char *developer; char *description; char *search_tokens; char *icon_path; } SearchIndexEntry; typedef struct { char *path; time_t mtime; SearchIndexEntry *entries; unsigned int count; } SearchIndex; typedef struct { const SearchIndexEntry *entry; double score; } SearchIndexMatch; SearchIndex * search_index_open (const char *path); void search_index_close (SearchIndex *idx); int search_index_reload_if_stale (SearchIndex **idx); size_t search_index_query (SearchIndex *idx, const char *const *terms, int n_terms, SearchIndexMatch *out, size_t max_results); const SearchIndexEntry * search_index_find (SearchIndex *idx, const char *id); ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/shell-search-provider-dbus-interfaces.xml�����������������������������0000664�0000000�0000000�00000003503�15234476640�0026056�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <!-- This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see <http://www.gnu.org/licenses/>. --> <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> <interface name='org.gnome.Shell.SearchProvider2'> <method name='GetInitialResultSet'> <arg type='as' name='Terms' direction='in' /> <arg type='as' name='Results' direction='out' /> </method> <method name = 'GetSubsearchResultSet'> <arg type='as' name='PreviousResults' direction='in' /> <arg type='as' name='Terms' direction='in' /> <arg type='as' name='Results' direction='out' /> </method> <method name = 'GetResultMetas'> <arg type='as' name='Results' direction='in' /> <arg type='aa{sv}' name='Metas' direction='out' /> </method> <method name = 'ActivateResult'> <arg type='s' name='Result' direction='in' /> <arg type='as' name='Terms' direction='in' /> <arg type='u' name='Timestamp' direction='in' /> </method> <method name = 'LaunchSearch'> <arg type='as' name='Terms' direction='in' /> <arg type='u' name='Timestamp' direction='in' /> </method> </interface> </node> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/shortcuts-dialog.blp��������������������������������������������������0000664�0000000�0000000�00000002626�15234476640�0022055�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; Adw.ShortcutsDialog shortcuts_dialog { Adw.ShortcutsSection navigation_section { title: C_("shortcut window", "Navigation"); Adw.ShortcutsItem { title: C_("shortcut window", "Open Explore Page"); action-name: "window.open-flathub-page"; accelerator: "<Control>e"; } Adw.ShortcutsItem { title: C_("shortcut window", "Open Library Page"); action-name: "window.open-library"; accelerator: "<Control>d"; } Adw.ShortcutsItem { title: C_("shortcut window", "Open Search Page"); action-name: "app.search('')"; } } Adw.ShortcutsSection remotes_section { title: C_("shortcut window", "Remotes"); Adw.ShortcutsItem { title: C_("shortcut window", "Sync Remotes"); action-name: "app.sync-remotes"; } } Adw.ShortcutsSection general_section { title: C_("shortcut window", "General"); Adw.ShortcutsItem { title: C_("shortcut window", "Open Preferences"); action-name: "app.preferences"; } Adw.ShortcutsItem { title: C_("shortcut window", "Show Shortcuts"); action-name: "app.shortcuts"; } Adw.ShortcutsItem { title: C_("shortcut window", "Close Window"); action-name: "window.quit"; accelerator: "<Control>w"; } Adw.ShortcutsItem { title: C_("shortcut window", "Quit Bazaar"); action-name: "app.quit"; } } }����������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/spdx.c����������������������������������������������������������������0000664�0000000�0000000�00000003170�15234476640�0017200�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* spdx.c * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <appstream.h> #include "spdx.h" gboolean bz_spdx_is_valid (const char *license_id) { g_autofree char *url = NULL; g_return_val_if_fail (license_id != NULL, FALSE); url = as_get_license_url (license_id); return url != NULL; } char * bz_spdx_get_url (const char *license_id) { g_return_val_if_fail (license_id != NULL, NULL); return as_get_license_url (license_id); } char * bz_spdx_get_name (const char *license_id) { char *result = NULL; g_return_val_if_fail (license_id != NULL, NULL); if (bz_spdx_is_proprietary (license_id)) return g_strdup ("Proprietary"); result = as_license_to_spdx_id (license_id); if (result == NULL) return g_strdup (license_id); return result; } gboolean bz_spdx_is_proprietary (const char *license_id) { g_return_val_if_fail (license_id != NULL, FALSE); return g_str_has_prefix (license_id, "LicenseRef-proprietary"); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/spdx.h����������������������������������������������������������������0000664�0000000�0000000�00000002000�15234476640�0017174�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* spdx.h * * Copyright 2025 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib.h> G_BEGIN_DECLS gboolean bz_spdx_is_valid (const char *license_id); char * bz_spdx_get_url (const char *license_id); char * bz_spdx_get_name (const char *license_id); gboolean bz_spdx_is_proprietary (const char *license_id); G_END_DECLS bazaar-org-bazaar-917017d/src/style.css�������������������������������������������������������������0000664�0000000�0000000�00000051342�15234476640�0017734�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������:root { --hc-border: color(srgb 0 0 0.023 / 50%); } @media (prefers-color-scheme: dark) { :root { --hc-border: color(srgb 1 1 1 / 50%); } } .bz-monospace { font-size: smaller; font-family: monospace; } .bz-small-button { padding: 1px; margin: 0; } .bz-small-button > * { margin: 0; padding: 0; } .bz-debug { background: linear-gradient(to top, #ffaf4c, #ffc04c); border-color: black; border-radius: 6px; border-style: solid; border-width: 1px; color: black; padding: 3px; } .bz-debug button { border-color: black; border-style: dashed; border-width: 1px; border-radius: 3px; padding-top: 0px; padding-bottom: 0px; padding-left: 2px; padding-right: 2px; } .bz-donations-dialog { background: linear-gradient(to bottom left, #1f2d8f, #159eff); color: white; } .bz-donations-banner { --banner-color: var(--accent-bg-color); } .updates-amount { background-color: white; color: var(--accent-bg-color); font-size: 0.60em; border-radius: 9999px; font-weight: 900; } .updates-amount-border { background-color: var(--accent-bg-color); border-radius: 9999px; } .search-box { outline: 0 solid transparent; outline-offset: 6px; transition-property: outline, outline-offset; transition-duration: 200ms; padding: 0px 12px; border-radius: 9999px; background-color: var(--card-bg-color); } .search-box:focus-within { outline-color: color-mix(in srgb, var(--accent-color), transparent); outline-offset: 0; outline-width: 2px; } .search-box.hide-focus:focus-within { outline-color: transparent; } @media (prefers-color-scheme: light) { .search-box { background-color: var(--shade-color); } } @media (prefers-contrast: more) { .search-box { box-shadow: inset 0 0 0 1px var(--hc-border); } .search-box:focus-within { box-shadow: none; outline-color: var(--accent-color); } } .search-box > text placeholder { opacity: 0.55; } .searchbar-button, .searchbar-button > button { min-height: 24px; min-width: 24px; } .search-pill { font-weight: 450; } .search-grid { background-color: var(--window-bg-color); } .search-grid > child { padding: 0; margin: 6px 6px; border-radius: 12px; transition: background-color 200ms; } .narrow .search-grid > child { margin: 6px 12px; } .card-row-btn { border-radius: 0; } .screenshot { border-radius: 20px; } .browser-banner { border-radius: 25px; background-color: transparent; } .browser-banner-title { font-size: 3.2em; font-weight: bolder; } .browser-banner-subtitle { font-size: 2.0em; font-weight: bold; } .browser-banner-description { font-size: 1.33em; font-weight: normal; } .installed-size { font-weight: 500; } .verified { color: @blue_2; } .app-developer link{ color: @blue_2; text-decoration: none; } .support { --accent-fg-color : #f06292; --accent-bg-color : alpha(#f06292, 0.25); --accent-color : #f06292; } .favorite { --accent-fg-color: @accent_bg_color; --accent-bg-color : alpha(@accent_bg_color, 0.25); --accent-color: @accent_color; } .favorite * { --accent-fg-color: @accent_fg_color; --accent-bg-color: @accent_bg_color; --accent-color: @accent_color; } .orange { --accent-fg-color: @orange_5; --accent-color: alpha(@orange_5, 0.25); --accent-bg-color: @orange_5; } .green { --accent-fg-color : #8ff0a4; --accent-bg-color : alpha(#2ec27e, 0.25); --accent-color : #8ff0a4; } .blue { --accent-fg-color : #99c1f1; --accent-bg-color : alpha(#1a5fb4, 0.25); --accent-color : #99c1f1; } .dark-blue { --accent-fg-color : #99c1f1; --accent-bg-color : #1a5fb4; --accent-color : #99c1f1; } @media (prefers-color-scheme: light) { .green { --accent-fg-color : #2ec27e; --accent-bg-color : alpha(#8ff0a4, 0.25); --accent-color : #2ec27e; } .blue { --accent-fg-color : #1a5fb4; --accent-bg-color : alpha(#99c1f1, 0.25); --accent-color : #1a5fb4; } .dark-blue { --accent-fg-color : #1C71D8; --accent-bg-color : #1C71D8; --accent-color : #1C71D8; } } .grey { --accent-color: alpha(@window_fg_color,0.75); --accent-bg-color: @window_fg_color; } .grey.colored { --accent-fg-color : @window_fg_color; --accent-bg-color : alpha(@window_fg_color,0.05); --accent-color : alpha(@window_fg_color,0.75); } @media (prefers-contrast: more) { .circular-lozenge { box-shadow: inset 0 0 0 1px; } } .circular-lozenge.green, .lozenge.green { color: @green_5; background-color: alpha(@green_3, .25); } .circular-lozenge.yellow, .lozenge.yellow { color: #ae7b03; background: alpha(@yellow_5, .25); } .circular-lozenge.orange, .lozenge.orange { color: @orange_5; background-color: alpha(@orange_4, .25); } .circular-lozenge.red, .lozenge.red { color: @red_4; background-color: alpha(@red_2, .25); } .circular-lozenge.grey, .lozenge.grey { color: #323237; background-color: color-mix(in srgb, var(--window-fg-color) 10%, transparent); } @media (prefers-color-scheme: dark) { .circular-lozenge.green, .lozenge.green { color: @green_1; background-color: alpha(@green_4, .25); } .circular-lozenge.yellow, .lozenge.yellow { color: @yellow_2; background: alpha(#cd9309, .25); } .circular-lozenge.orange, .lozenge.orange { color: @orange_1; } .circular-lozenge.red, .lozenge.red { color: #ff7b63; } .circular-lozenge.grey, .lozenge.grey { color: @window_fg_color; } } .floating-tooltip { background-color: var(--dialog-bg-color); } .floating-tooltip .monospace { font-size: 1em; } .flathub { --accent-color: alpha(@window_fg_color,0.75); --accent-bg-color: @window_fg_color; } .flathub-lotion { color: #fafafa; } .flathub-gunmetal { color: #251f32; } @media (prefers-color-scheme: dark) { .flathub { --accent-color: alpha(#fafafa,0.75); --accent-bg-color: #7847b8; } } .lozenge { font-size: 18px; font-weight: bold; border-radius: 99999px; padding: 5px 11px; min-width: 18px; min-height: 22px; color: var(--accent-color); background-color: alpha(var(--accent-bg-color),0.15); transition: background-color 150ms ease; } .lozenge.small { padding: 1px 9px; font-size: 12px; font-weight: bold; } .lozenge-ring-button { padding: 0; border-radius: 999999px; background: transparent; } .circular-lozenge { font-weight: bold; border-radius: 99999px; padding: 9px 11px; min-width: 18px; min-height: 22px; color: var(--accent-color); background-color: alpha(var(--accent-bg-color),0.15); } .circular-lozenge.large { font-size: 24px; padding: 15px 18px; min-width: 24px; min-height: 30px; } button.context-tile:hover .lozenge { background-color: alpha(var(--accent-bg-color),0.25); } button.context-tile:active .lozenge { background-color: alpha(var(--accent-bg-color),0.35); } .small-pill { padding: 2px 12px; border-radius: 99999px; } @media (prefers-contrast: more) { .small-pill { box-shadow: inset 0 0 0 1px; } .small-pill:focus-within { box-shadow: none; } } .medium-pill { border-radius: 99999px; } .colored { background-color: var(--accent-bg-color); color: var(--accent-color); } .card.colored { background-color: alpha(var(--accent-bg-color),0.15); color: var(--accent-color); } .small-pill.dimmed { background-color: alpha(@theme_fg_color, 0.15); } .small-pill.error { background-color: alpha(@error_bg_color, 0.15); } .installed-pill { background-color: alpha(@success_bg_color, 0.15); color: @success_color; font-weight: 500; font-size: 0.9em; padding: 2px 7px 2px 4.5px; } .circular-download-pill { padding: 5px; } .sp-section .installed-pill { background-color: alpha(@window_fg_color, 0.10); color: alpha(@window_fg_color, 0.75); } .download-size-pill{ padding: 2px 8px; } .flathub-page-section { border-radius: 10px; } .transaction-list-view row { margin: 0; padding: 0; } window.narrow .app-title { font-size: 16pt; } .developer-badge > button { padding: 0; background-color: transparent; } .developer-badge:focus > button { border-radius: 5px; } window.narrow .app-developer { font-size: small; } .context-tile { box-shadow: none; padding: 4px; } button.context-tile { background-color: transparent; } .context-tile-text { font-size: 10pt; font-weight: 500; } .wide-image { margin-top: -28px; margin-bottom: -28px; } .featured-carousel { outline-offset: 2px; } .screenshot-carousel.frame { border-width: 1px 0; } .screenshot-carousel button{ margin: 12px; } .carousel-box { background-color: var(--view-bg-color); } toggle-group.huge, toggle-group.huge * { border-radius: 9999px; } .huge > toggle { padding: 3px 12px; } .otg { background: linear-gradient(to right, #2f3d9f, #682889); } .wlg { background: linear-gradient(to right, #821756, #136673); } .sp-section .card:not(:hover):not(:active) { background: transparent; } .sp-section .card { box-shadow: none; } @media (prefers-color-scheme: light) { .otg { background: linear-gradient(to right, #c6eaf8, #c4f3c9); } .wlg { background: linear-gradient(to right, #fdcde0, #b0e5f0); } .sp-section .card:hover { background: rgba(255, 255, 255, 0.50); } .sp-section .card:active { background: rgba(255, 255, 255, 0.75); } } @media (prefers-contrast: more) { .card.category-tile, .card.app-tile { box-shadow: inset 0 0 0 1px var(--hc-border); } .card.category-tile:focus-within, .card.app-tile :focus-within { box-shadow: none; outline-color: var(--accent-color); } } .sp-section-image { margin-top: -95px; margin-bottom: -95px; } .sp-section-title { font-size: 3.5em; } .decorated-screenshot { margin: 0; padding: 0; background-color: transparent; } .indicator-box button { margin: 0 4px 4px 0; } .pip-button.osd-box { padding: 0; } .pip-button > button { margin: 5px; } window, headerbar, .global-search { transition: background-color 0.2s ease; } .header-osd windowcontrols button image { background-color: rgba(0, 0, 0, 0.65); color: white; background-image: none; } .osd-box { border-radius: 12px; background-color: rgba(0, 0, 0, 0.65); padding: 6px; color: white; } .view-dark { background-color: black; color: white; } .header-osd box.horizontal:not(.end) { background-color: rgba(0, 0, 0, 0.65); border-radius: 10px; } .accent-button { border-radius: 9999px; padding: 3px; background: var(--flag-gradient, var(--accent-bg-color)); min-width: 32px; min-height: 32px; outline: none; background-clip: content-box; background-origin: content-box; box-shadow: none; transition: transform 0.3s ease; } .accent-button.horizontal { transform: rotate(-90deg); } .accent-button-box > flowboxchild { padding: 0; background-color: transparent; } .accent-button:checked { box-shadow: 0 0 0 3px var(--accent-bg-color); } .accent-button:focus:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 30%, transparent); } .accent-button:checked:focus:focus-visible { box-shadow: 0 0 0 3px var(--accent-bg-color), 0 0 0 6px color-mix(in srgb, var(--accent-color) 30%, transparent); } /* Category buttons styling modified from GNOME Software*/ .category-tile { font-weight: 700; font-size: 13pt; color: white; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); padding-left: 32px; padding-right: 32px; outline-offset: 2px; } @media (prefers-contrast: more) { .category-tile { box-shadow: none; } } window.narrow .category-tile { font-size: 14pt; padding-left: 24px; padding-right: 24px; } /* All background gradients are at 135deg for consistency */ .category-tile.category-recently-updated { background: linear-gradient(135deg, #f9ef69, #26a269); color: #0c3020; text-shadow: 0 1px rgba(255, 255, 255, 0.35); } .category-tile.category-recently-updated:hover { background: linear-gradient(135deg, shade(#f9ef69, 1.1), shade(#26a269, 1.1)); } .category-tile.category-recently-updated:active { background: linear-gradient(135deg, shade(#f9ef69, 0.95), shade(#26a269, 0.95)); } .category-tile.category-recently-added { background: linear-gradient(135deg, #99a3eb, #495ade); } .category-tile.category-recently-added:hover { background: linear-gradient(135deg, shade(#99a3eb, 1.1), shade(#495ade, 1.1)); } .category-tile.category-recently-added:active { background: linear-gradient(135deg, shade(#99a3eb, .95), shade(#495ade, .95)); } .category-tile.category-trending { background: linear-gradient(135deg, #99c1f1, #3584e4); } .category-tile.category-trending:hover { background: linear-gradient(135deg, shade(#99c1f1, 1.1), shade(#3584e4, 1.1)); } .category-tile.category-trending:active { background: linear-gradient(135deg, shade(#99c1f1, .95), shade(#3584e4, .95)); } .category-tile.category-popular { background: linear-gradient(135deg, #f7ef74, #ffbf6f); color: rgba(0, 0, 0, 0.8); text-shadow: 0 1px rgba(255, 255, 255, 0.35); } .category-tile.category-popular:hover { background: linear-gradient(135deg, shade(#f7ef74, 1.1), shade(#ffbf6f, 1.1)); } .category-tile.category-popular:active { background: linear-gradient(135deg, shade(#f7ef74, .95), shade(#ffbf6f, .95)); } .category-tile.category-mobile { background: linear-gradient(135deg, #c6eaf8, #c4f3c9); color: rgba(0, 0, 0, 0.8); text-shadow: 0 1px rgba(255, 255, 255, 0.35); } .category-tile.category-mobile:hover { background: linear-gradient(135deg, shade(#c6eaf8, 1.05), shade(#c4f3c9, 1.05)); } .category-tile.category-mobile:active { background: linear-gradient(135deg, shade(#c6eaf8, .95), shade(#c4f3c9, .95)); } .category-tile.category-graphics { background: linear-gradient(135deg, #ce8cd7 0%, #2861c6 100%); } .category-tile.category-graphics:hover { background: linear-gradient(135deg, shade(#ce8cd7, 1.07) 0%, shade(#2861c6, 1.1) 100%); } .category-tile.category-graphics:active { background: linear-gradient(135deg, shade(#ce8cd7, .95) 0%, shade(#2861c6, .95) 100%); } .category-tile.category-development { background: linear-gradient(135deg, #444449 30%, #333337 100%); } .category-tile.category-development:hover { background: linear-gradient(135deg, shade(#444449, 1.13) 30%, shade(#333337, 1.13) 100%); } .category-tile.category-development:active { background: linear-gradient(135deg, shade(#444449, .95) 30%, shade(#333337, .95) 100%); } .category-tile.category-education { background: linear-gradient(135deg, #2ec27e 30%, #27a66c 100%); } .category-tile.category-education:hover { background: linear-gradient(135deg, shade(#2ec27e, 1.06) 30%, shade(#27a66c, 1.06) 100%); } .category-tile.category-education:active { background: linear-gradient(135deg, shade(#2ec27e, .95) 30%, shade(#27a66c, .95) 100%); } .category-tile.category-game { background: linear-gradient(135deg, #f9e2a7 0%, #eb5ec3 50%, #6d53e0 100%); color: #393484; text-shadow: 0 1px rgba(255, 255, 255, 0.35); } .category-tile.category-game:hover { background: linear-gradient(135deg, shade(#f9e2a7, 1.07) 0%, shade(#eb5ec3, 1.07) 50%, shade(#6d53e0, 1.07) 100%); } .category-tile.category-game:active { background: linear-gradient(135deg, shade(#f9e2a7, .97) 0%, shade(#eb5ec3, .95) 50%, shade(#6d53e0, 1.07) 100%); } .category-tile.category-network { background: linear-gradient(135deg, #ff6b35, #ed333b); } .category-tile.category-network:hover { background: linear-gradient(135deg, shade(#ff6b35, 1.1), shade(#ed333b, 1.1)); } .category-tile.category-network:active { background: linear-gradient(135deg, shade(#ff6b35, .95), shade(#ed333b, .95)); } .category-tile.category-office { padding: 1px; color: #1c71d8; text-shadow: 0 1px rgba(255, 255, 255, 0.35); background-color: #fdf8d7; background-image: linear-gradient(#deddda 1px, transparent 1px), linear-gradient(90deg, #deddda 1px, transparent 1px); background-size: 10px 10px, 10px 10px; background-position: -1px -4px, center -1px; } .category-tile.category-office:hover { background-color: shade(#fdf8d7, 1.05); background-image: linear-gradient(shade(#deddda, 1.04) 1px, transparent 1px), linear-gradient(90deg, shade(#deddda, 1.04) 1px, transparent 1px); } .category-tile.category-office:active { background-color: shade(#fdf8d7, .93); background-image: linear-gradient(shade(#deddda, .97) 1px, transparent 1px), linear-gradient(90deg, shade(#deddda, .97) 1px, transparent 1px); } .category-tile.category-audiovideo { background: linear-gradient(135deg, #ffcd3c 0%, #ff6b35 100%); } .category-tile.category-audiovideo:hover { background: linear-gradient(135deg, shade(#ffcd3c, 1.08) 0%, shade(#ff6b35, 1.08) 100%); } .category-tile.category-audiovideo:active { background: linear-gradient(135deg, shade(#ffcd3c, .95) 0%, shade(#ff6b35, .95) 100%); } .category-tile.category-science { background: linear-gradient(135deg, #8ff0a4 0%, #1c71d8 100%); } .category-tile.category-science:hover { background: linear-gradient(135deg, shade(#8ff0a4, 1.1) 0%, shade(#1c71d8, 1.1) 100%); } .category-tile.category-science:active { background: linear-gradient(135deg, shade(#8ff0a4, .95) 0%, shade(#1c71d8, .95) 100%); } .category-tile.category-system { background: linear-gradient(135deg, #6c757d 0%, #495057 100%); } .category-tile.category-system:hover { background: linear-gradient(135deg, shade(#6c757d, 1.15) 0%, shade(#495057, 1.15) 100%); } .category-tile.category-system:active { background: linear-gradient(135deg, shade(#6c757d, .95) 0%, shade(#495057, .95) 100%); } .category-tile.category-utility { color: #ee5f50; text-shadow: 0 1px rgba(255, 255, 255, 0.35); background: linear-gradient(135deg, #f6f5f4 0%, #deddda 100%); } .category-tile.category-utility:hover { background: linear-gradient(135deg, shade(#f6f5f4, 1.05) 0%, shade(#deddda, 1.05) 100%); } .category-tile.category-utility:active { background: linear-gradient(135deg, shade(#f6f5f4, .95) 0%, shade(#deddda, .95) 100%); } .category-tile.category-adwaita { text-shadow: 0 1px rgba(255, 255, 255, 0.35); background: linear-gradient(45deg, #1c71d8 0%, #57e289 100%); } .category-tile.category-adwaita:hover { background: linear-gradient(45deg, shade(#1c71d8, 1.15) 0%, shade(#57e289, 1.15) 100%); } .category-tile.category-adwaita:active { background: linear-gradient(45deg, shade(#1c71d8, .95) 0%, shade(#57e289, .95) 100%); } .category-tile.category-kde { text-shadow: 0 1px rgba(255, 255, 255, 0.35); background: linear-gradient(135deg, #3584e4 0%, #704dac 100%); } .category-tile.category-kde:hover { background: linear-gradient(135deg, shade(#3584e4, 1.08) 0%, shade(#704dac, 1.08) 100%); } .category-tile.category-kde:active { background: linear-gradient(135deg, shade(#3584e4, .95) 0%, shade(#704dac, .95) 100%); } .category-tile.category-adwaita image, .category-tile.category-kde image { -gtk-icon-shadow: none; } .installed-list-view > * { padding: 0; transition: background-color 200ms; min-height: 0; margin: 5px 4.5px; } .installed-section { padding-top: 0; } .narrow .installed-list-view > * { margin: 4px 4.5px; } .narrow .full-view-addons > * { margin: 5px 0px; } .full-view-addons > * { margin: 5px 0px; } .full-view-addons { margin: 0px; } .no-vertical-margin > row.hidden { margin-top: 0px; margin-bottom: 0px; } .no-vertical-margin > row:not(.hidden) { margin-bottom: 6px; } .user-data-list-view > * { margin: 0; } .user-data-list-view row { min-height: 0; } .no-min-height { min-height: 0; } .transaction-tile-title { font-size: 1.05em; font-weight: 450; } .operations { background-color: rgba(255, 255, 255, 0.040); border-radius: 0px 0px 12px 12px; } @media (prefers-color-scheme: light) { .operations { background-color: rgba(0, 0, 0, 0.050); } } .ops-toggle { transition: transform 200ms ease; transform: rotate(90deg); } .ops-toggle:checked, .ops-toggle.rotated { transform: rotate(270deg); } .disable-adw-flow-box-styling { background-color: transparent; box-shadow: none; padding: 0; } curated-list-view, curated-list-view list { background: var(--bg-color); } .article-image-button { padding: 10px; background-color: transparent; transition: transform 350ms ease; } .article-image-button:hover { transform: scale(1.03); } .code-block { border-color: alpha(currentColor, 0.05); } .article .title-2 { font-size: 1.50em; } .markdown-table { border-top: 1px solid alpha(currentColor, 0.15); border-left: 1px solid alpha(currentColor, 0.15); } .markdown-table > label { padding: 8px 14px; border-right: 1px solid alpha(currentColor, 0.15); border-bottom: 1px solid alpha(currentColor, 0.15); } .markdown-table > label.row-odd { background-color: alpha(currentColor, 0.08); } .install-button-indicator { background: var(--flag-gradient, var(--accent-bg-color)); border-radius: 9999px; } .transact-icon-flag { background: var(--flag-gradient, var(--accent-bg-color)); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/template-callbacks.c��������������������������������������������������0000664�0000000�0000000�00000013662�15234476640�0021761�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* template-callbacks.c * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "template-callbacks.h" #include "util.h" static gboolean invert_boolean (gpointer object, gboolean value) { return !value; } /* Let's try to use this more for conciseness */ static gboolean not (gpointer object, gboolean value) { return invert_boolean (object, value); } static gboolean is_zero (gpointer object, int value) { return value == 0; } static gboolean is_double_zero (gpointer object, double value) { return value == 0.0; } static gboolean is_null (gpointer object, GObject *value) { return value == NULL; } static gboolean is_gt (gpointer object, int value1, int value2) { return value1 > value2; } static gboolean is_lt (gpointer object, int value1, int value2) { return value1 < value2; } static gboolean is_ge (gpointer object, int value1, int value2) { return value1 >= value2; } static gboolean is_le (gpointer object, int value1, int value2) { return value1 <= value2; } static gboolean logical_and (gpointer object, gboolean value1, gboolean value2) { return value1 && value2; } static gboolean logical_or (gpointer object, gboolean value1, gboolean value2) { return value1 || value2; } static gboolean is_positive (gpointer object, int value) { return value >= 0; } static gboolean is_empty (gpointer object, GListModel *model) { return model == NULL || g_list_model_get_n_items (model) == 0; } static gboolean is_empty_string (gpointer object, const char *str) { return str == NULL || *str == '\0'; } static gboolean is_longer (gpointer object, GListModel *model, int value) { return model != NULL && g_list_model_get_n_items (model) > value; } static char * bool_to_string (gpointer object, gboolean condition, char *if_true, char *if_false) { return g_strdup (condition ? if_true : if_false); } static gpointer choose_object (gpointer object, gboolean condition, gpointer if_true, gpointer if_false) { return condition ? bz_object_maybe_ref (if_true) : bz_object_maybe_ref (if_false); } static int choose_int (gpointer object, gboolean condition, int if_true, int if_false) { return condition ? if_true : if_false; } static guint choose_uint (gpointer object, gboolean condition, guint if_true, guint if_false) { return condition ? if_true : if_false; } static gint64 choose_int64 (gpointer object, gboolean condition, gint64 if_true, gint64 if_false) { return condition ? if_true : if_false; } static guint64 choose_uint64 (gpointer object, gboolean condition, guint64 if_true, guint64 if_false) { return condition ? if_true : if_false; } static char * format_int (gpointer object, gint integer) { return g_strdup_printf ("%d", integer); } static char * format_uint (gpointer object, guint uint) { return g_strdup_printf ("%u", uint); } static char * format_double (gpointer object, double number) { return g_strdup_printf ("%f", number); } void bz_widget_class_bind_all_util_callbacks (GtkWidgetClass *widget_class) { g_return_if_fail (GTK_IS_WIDGET_CLASS (widget_class)); gtk_widget_class_bind_template_callback (widget_class, invert_boolean); gtk_widget_class_bind_template_callback (widget_class, not); gtk_widget_class_bind_template_callback (widget_class, is_zero); gtk_widget_class_bind_template_callback (widget_class, is_double_zero); gtk_widget_class_bind_template_callback (widget_class, is_null); gtk_widget_class_bind_template_callback (widget_class, is_gt); gtk_widget_class_bind_template_callback (widget_class, is_lt); gtk_widget_class_bind_template_callback (widget_class, is_ge); gtk_widget_class_bind_template_callback (widget_class, is_le); gtk_widget_class_bind_template_callback (widget_class, logical_and); gtk_widget_class_bind_template_callback (widget_class, logical_or); gtk_widget_class_bind_template_callback (widget_class, is_positive); gtk_widget_class_bind_template_callback (widget_class, is_empty); gtk_widget_class_bind_template_callback (widget_class, is_empty_string); gtk_widget_class_bind_template_callback (widget_class, is_longer); gtk_widget_class_bind_template_callback (widget_class, bool_to_string); gtk_widget_class_bind_template_callback (widget_class, choose_object); gtk_widget_class_bind_template_callback (widget_class, choose_int); gtk_widget_class_bind_template_callback (widget_class, choose_uint); gtk_widget_class_bind_template_callback (widget_class, choose_int64); gtk_widget_class_bind_template_callback (widget_class, choose_uint64); gtk_widget_class_bind_template_callback (widget_class, format_int); gtk_widget_class_bind_template_callback (widget_class, format_uint); gtk_widget_class_bind_template_callback (widget_class, format_double); } ������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/template-callbacks.h��������������������������������������������������0000664�0000000�0000000�00000001543�15234476640�0021761�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* template-callbacks.h * * Copyright 2026 Eva M * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <gtk/gtk.h> void bz_widget_class_bind_all_util_callbacks (GtkWidgetClass *widget_class); �������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/update-worker.c�������������������������������������������������������0000664�0000000�0000000�00000030106�15234476640�0021012�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* update-worker.c * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #define G_LOG_DOMAIN "BAZAAR::UPDATE-WORKER" #include "config.h" #include <flatpak/flatpak.h> #include <gio/gio.h> #include <glib.h> #include <glib/gi18n.h> #include "update-worker.h" #define DAILY_WINDOW_START_HOUR 6 #define DAILY_WINDOW_SPREAD_HOURS 6 static gboolean network_is_metered (void); static gboolean power_saver_is_enabled (void); static gboolean due_for_daily_check (GSettings *settings); static gboolean should_skip_extension_ref (FlatpakInstalledRef *iref); static gboolean on_operation_error (FlatpakTransaction *transaction, FlatpakTransactionOperation *operation, GError *error, int details, gpointer user_data); static void update_installation (FlatpakInstallation *installation, GHashTable *titles_out); static void send_update_notification (GHashTable *titles); int run_update_worker (int argc, char *argv[]) { g_autoptr (GSettings) settings = NULL; g_autoptr (GError) local_error = NULL; g_autoptr (FlatpakInstallation) system_inst = NULL; g_autoptr (GHashTable) titles = NULL; gboolean auto_update = FALSE; gboolean auto_update_notifications = FALSE; g_autoptr (GDateTime) now = NULL; settings = g_settings_new (APPLICATION_ID); auto_update = g_settings_get_boolean (settings, "auto-update"); auto_update_notifications = g_settings_get_boolean (settings, "auto-update-notifications"); if (!auto_update) { g_debug ("Skipping update check: auto-update is disabled\n"); return EXIT_SUCCESS; } if (!due_for_daily_check (settings)) return EXIT_SUCCESS; if (network_is_metered ()) { g_debug ("Skipping update check: network is metered\n"); return EXIT_SUCCESS; } if (power_saver_is_enabled ()) { g_debug ("Skipping update check: power saver is enabled\n"); return EXIT_SUCCESS; } titles = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); system_inst = flatpak_installation_new_system (NULL, &local_error); if (system_inst == NULL) { g_warning ("Failed to open system installation: %s", local_error->message); g_clear_error (&local_error); } else { flatpak_installation_set_no_interaction (system_inst, TRUE); update_installation (system_inst, titles); } #ifndef SANDBOXED_LIBFLATPAK { g_autoptr (FlatpakInstallation) user_inst = NULL; user_inst = flatpak_installation_new_user (NULL, &local_error); if (user_inst == NULL) { g_warning ("Failed to open user installation: %s", local_error->message); g_clear_error (&local_error); } else { flatpak_installation_set_no_interaction (user_inst, TRUE); update_installation (user_inst, titles); } } #endif now = g_date_time_new_now_local (); g_settings_set_int64 (settings, "last-update-check", g_date_time_to_unix (now)); if (g_hash_table_size (titles) == 0) { g_print ("No apps needed auto updating\n"); return EXIT_SUCCESS; } if (auto_update_notifications) send_update_notification (titles); return EXIT_SUCCESS; } /* * Updates try to run once per day at a randomized hour between 6:00 and * 11:00 local time, to avoid every client updating at once. If more than a * day has passed since the last check then the randomization is skipped and * the check runs as soon as it's past 6:00. * * This logic is copied from GNOME Software. */ static gboolean due_for_daily_check (GSettings *settings) { gint64 last_check_unix = 0; gint hour_offset = 0; g_autoptr (GDateTime) now = NULL; g_autoptr (GDateTime) now_mid = NULL; gint now_hour = 0; gint year = 0, month = 0, day = 0; GTimeSpan day_interval = 0; last_check_unix = g_settings_get_int64 (settings, "last-update-check"); hour_offset = g_settings_get_int (settings, "update-check-hour-offset"); if (hour_offset < 0) { hour_offset = g_random_int_range (0, DAILY_WINDOW_SPREAD_HOURS); g_settings_set_int (settings, "update-check-hour-offset", hour_offset); } now = g_date_time_new_now_local (); if (last_check_unix == 0) return TRUE; { g_autoptr (GDateTime) last_check = NULL; g_autoptr (GDateTime) last_check_mid = NULL; last_check = g_date_time_new_from_unix_local (last_check_unix); if (last_check == NULL) return TRUE; g_date_time_get_ymd (last_check, &year, &month, &day); last_check_mid = g_date_time_new_local (year, month, day, 0, 0, 0); g_date_time_get_ymd (now, &year, &month, &day); now_mid = g_date_time_new_local (year, month, day, 0, 0, 0); day_interval = g_date_time_difference (now_mid, last_check_mid); } if (day_interval < G_TIME_SPAN_DAY) { g_debug ("Skipping update check: already checked today\n"); return FALSE; } now_hour = g_date_time_get_hour (now); if (day_interval < 2 * G_TIME_SPAN_DAY && now_hour < DAILY_WINDOW_START_HOUR + hour_offset) { g_debug ("Skipping update check: too early in the day\n"); return FALSE; } if (day_interval >= 2 * G_TIME_SPAN_DAY && now_hour < DAILY_WINDOW_START_HOUR) { g_debug ("Skipping update check: too early in the day\n"); return FALSE; } return TRUE; } static gboolean network_is_metered (void) { GNetworkMonitor *monitor = NULL; monitor = g_network_monitor_get_default (); if (monitor == NULL) return FALSE; return g_network_monitor_get_network_metered (monitor); } static gboolean power_saver_is_enabled (void) { g_autoptr (GPowerProfileMonitor) monitor = NULL; monitor = g_power_profile_monitor_dup_default (); if (monitor == NULL) return FALSE; return g_power_profile_monitor_get_power_saver_enabled (monitor); } static gboolean should_skip_extension_ref (FlatpakInstalledRef *iref) { const char *ref_name = NULL; ref_name = flatpak_ref_get_name (FLATPAK_REF (iref)); return g_str_has_suffix (ref_name, ".Locale") || g_str_has_suffix (ref_name, ".Debug") || g_str_has_suffix (ref_name, ".Sources"); } static gboolean on_operation_error (FlatpakTransaction *transaction, FlatpakTransactionOperation *operation, GError *error, int details, gpointer user_data) { const char *ref = NULL; ref = flatpak_transaction_operation_get_ref (operation); g_warning ("Update failed for %s: %s", ref, error->message); return TRUE; } static void update_installation (FlatpakInstallation *installation, GHashTable *titles_out) { g_autoptr (GError) local_error = NULL; g_autoptr (GPtrArray) update_refs = NULL; g_autoptr (FlatpakTransaction) transaction = NULL; gboolean added_any = FALSE; gboolean ran = FALSE; update_refs = flatpak_installation_list_installed_refs_for_update ( installation, NULL, &local_error); if (update_refs == NULL) { g_warning ("Failed to list updates: %s", local_error->message); return; } if (update_refs->len == 0) return; transaction = flatpak_transaction_new_for_installation (installation, NULL, &local_error); if (transaction == NULL) { g_warning ("Failed to create transaction: %s", local_error->message); return; } g_signal_connect (transaction, "operation-error", G_CALLBACK (on_operation_error), NULL); for (guint i = 0; i < update_refs->len; i++) { FlatpakInstalledRef *iref = NULL; g_autofree char *ref_fmt = NULL; const char *title = NULL; iref = g_ptr_array_index (update_refs, i); if (should_skip_extension_ref (iref)) continue; ref_fmt = flatpak_ref_format_ref (FLATPAK_REF (iref)); title = flatpak_installed_ref_get_appdata_name (iref); if (title == NULL) title = flatpak_ref_get_name (FLATPAK_REF (iref)); g_hash_table_replace (titles_out, g_strdup (ref_fmt), g_strdup (title)); if (flatpak_transaction_add_update (transaction, ref_fmt, NULL, NULL, &local_error)) added_any = TRUE; else { g_warning ("Failed to queue update for %s: %s", ref_fmt, local_error->message); g_clear_error (&local_error); } } if (!added_any) return; ran = flatpak_transaction_run (transaction, NULL, &local_error); if (!ran && local_error != NULL) g_warning ("Transaction did not complete cleanly: %s", local_error->message); } static void send_update_notification (GHashTable *titles) { g_autoptr (GDBusConnection) conn = NULL; g_autoptr (GError) error = NULL; g_autoptr (GString) body = NULL; g_autoptr (GPtrArray) updated = NULL; g_autofree char *summary = NULL; GVariantBuilder notification = { 0 }; GHashTableIter iter = { 0 }; gpointer ref_key = NULL; gpointer title_val = NULL; guint n_updated = 0; body = g_string_new (NULL); updated = g_ptr_array_new (); g_hash_table_iter_init (&iter, titles); while (g_hash_table_iter_next (&iter, &ref_key, &title_val)) g_ptr_array_add (updated, title_val); n_updated = updated->len; if (n_updated == 0) return; conn = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); if (conn == NULL) { g_warning ("Unable to reach session bus for update notification: %s", error->message); return; } summary = g_strdup_printf ( ngettext ("%u App Updated", "%u Apps Updated", n_updated), n_updated); if (n_updated == 1) g_string_append_printf (body, _ ("%s has been updated."), (const char *) g_ptr_array_index (updated, 0)); else if (n_updated == 2) g_string_append_printf (body, _ ("%s and %s have been updated."), (const char *) g_ptr_array_index (updated, 0), (const char *) g_ptr_array_index (updated, 1)); else if (n_updated >= 3) g_string_append_printf (body, _ ("Includes %s, %s and %s."), (const char *) g_ptr_array_index (updated, 0), (const char *) g_ptr_array_index (updated, 1), (const char *) g_ptr_array_index (updated, 2)); g_variant_builder_init (¬ification, G_VARIANT_TYPE_VARDICT); g_variant_builder_add (¬ification, "{sv}", "title", g_variant_new_string (summary)); g_variant_builder_add (¬ification, "{sv}", "body", g_variant_new_string (body->str)); g_variant_builder_add (¬ification, "{sv}", "priority", g_variant_new_string ("normal")); g_dbus_connection_call_sync ( conn, "org.freedesktop.portal.Desktop", "/org/freedesktop/portal/desktop", "org.freedesktop.portal.Notification", "AddNotification", g_variant_new ("(sa{sv})", "bazaar-update", ¬ification), NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); if (error != NULL) g_warning ("Failed to send update notification: %s", error->message); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/update-worker.h�������������������������������������������������������0000664�0000000�0000000�00000001572�15234476640�0021024�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* update-worker.h * * Copyright 2026 Alexander Vanhee * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <glib.h> G_BEGIN_DECLS int run_update_worker (int argc, char *argv[]); G_END_DECLS ��������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/src/util.h����������������������������������������������������������������0000664�0000000�0000000�00000021471�15234476640�0017210�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* util.h * * Copyright 2025 Adam Masciola * * 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 <https://www.gnu.org/licenses/>. * * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once #include <libdex.h> #define bz_maybe(_ptr, _func) ((_ptr) != NULL ? (_func) ((_ptr)) : NULL) #define bz_maybe_strdup(_ptr) bz_maybe (_ptr, g_strdup) #define bz_maybe_ref(_ptr, _ref) ((typeof (_ptr)) bz_maybe (_ptr, _ref)) #define bz_object_maybe_ref(_obj) bz_maybe_ref ((_obj), g_object_ref) #define bz_dex_maybe_ref(_obj) bz_maybe_ref ((_obj), dex_ref) #define BZ_RELEASE_DATA(name, unref) \ if ((unref) != NULL) \ { \ g_clear_pointer (&self->name, (unref)); \ } #define BZ_RELEASE_UTAG(name, remove) \ if ((remove) != NULL) \ { \ g_clear_handle_id (&self->name, (remove)); \ } /* va args = releases */ #define BZ_DEFINE_DATA(name, Name, layout, ...) \ typedef struct _##Name##Data Name##Data; \ struct _##Name##Data \ { \ gatomicrefcount rc; \ struct layout; \ }; \ G_GNUC_UNUSED \ static inline Name##Data * \ name##_data_new (void) \ { \ Name##Data *data = NULL; \ data = g_new0 (typeof (*data), 1); \ g_atomic_ref_count_init (&data->rc); \ return data; \ } \ G_GNUC_UNUSED \ static inline Name##Data * \ name##_data_ref (gpointer ptr) \ { \ Name##Data *self = ptr; \ g_atomic_ref_count_inc (&self->rc); \ return self; \ } \ G_GNUC_UNUSED \ static void \ name##_data_deinit (gpointer ptr) \ { \ Name##Data *self = ptr; \ __VA_ARGS__ \ } \ G_GNUC_UNUSED \ static void \ name##_data_unref (gpointer ptr) \ { \ Name##Data *self = ptr; \ if (g_atomic_ref_count_dec (&self->rc)) \ { \ name##_data_deinit (self); \ g_free (self); \ } \ } \ G_GNUC_UNUSED \ static void \ name##_data_unref_closure (gpointer data, \ GClosure *closure) \ { \ name##_data_unref (data); \ } \ G_DEFINE_AUTOPTR_CLEANUP_FUNC (Name##Data, name##_data_unref); /* Be careful with deadlocks */ typedef DexFuture BzGuard; static inline void bz_guard_destroy (BzGuard *guard) { if (dex_future_is_pending (guard)) dex_promise_resolve_boolean (DEX_PROMISE (guard), TRUE); dex_unref (guard); } G_DEFINE_AUTOPTR_CLEANUP_FUNC (BzGuard, bz_guard_destroy); #define bz_clear_guard(_pp) g_clear_pointer (_pp, bz_guard_destroy) #define BZ_BEGIN_GUARD_WITH_CONTEXT(_guard, _mutex, _gate) \ G_STMT_START \ { \ g_autoptr (GMutexLocker) _locker = NULL; \ g_autoptr (DexFuture) _wait = NULL; \ \ _locker = g_mutex_locker_new (_mutex); \ if (*(_guard) == NULL) \ *(_guard) = (DexFuture *) dex_promise_new (); \ if (*(_gate) != NULL) \ { \ if (dex_future_is_pending (*(_gate))) \ _wait = g_steal_pointer (_gate); \ else \ dex_clear (_gate); \ } \ *(_gate) = dex_ref (*(_guard)); \ g_clear_pointer (&_locker, g_mutex_locker_free); \ \ if (_wait != NULL) \ dex_await (g_steal_pointer (&_wait), NULL); \ } \ G_STMT_END #define BZ_BEGIN_GUARD(_guard) \ G_STMT_START \ { \ static GMutex _mutex = { 0 }; \ static BzGuard *_gate = NULL; \ BZ_BEGIN_GUARD_WITH_CONTEXT (_guard, &_mutex, &_gate); \ } \ G_STMT_END /* Use with dex_scheduler_spawn */ G_GNUC_UNUSED static GWeakRef * bz_track_weak (gpointer object) { GWeakRef *wr = NULL; if (object == NULL) return NULL; wr = g_new0 (typeof (*wr), 1); g_weak_ref_init (wr, object); return wr; } G_GNUC_UNUSED static void bz_weak_release (gpointer ptr) { GWeakRef *wr = ptr; g_weak_ref_clear (wr); g_free (wr); } #define bz_weak_get_or_return(self, wr) \ G_STMT_START \ { \ (self) = g_weak_ref_get (wr); \ if ((self) == NULL) \ return; \ } \ G_STMT_END #define bz_weak_get_or_return_reject(self, wr) \ G_STMT_START \ { \ (self) = g_weak_ref_get (wr); \ if ((self) == NULL) \ return dex_future_new_reject ( \ G_IO_ERROR, \ G_IO_ERROR_CANCELLED, \ "Object was discarded"); \ } \ G_STMT_END G_GNUC_UNUSED static void _bz_debug_print_when_disposed_cb (gpointer ptr); BZ_DEFINE_DATA ( _bz_debug_dispose_cb, _BzDebugDisposeCb, { GType type; const char *loc; guint64 time; }, _bz_debug_print_when_disposed_cb (self);) G_GNUC_UNUSED static void _bz_debug_print_when_disposed_cb (gpointer ptr) { _BzDebugDisposeCbData *data = ptr; g_print ("%zu OBJECT DISPOSE: type %s; from %s at %zu\n", g_get_monotonic_time (), g_type_name (data->type), data->loc, data->time); } #define BZ_DEBUG_PRINT_WHEN_DISPOSED(_object) \ G_STMT_START \ { \ g_autoptr (_BzDebugDisposeCbData) _data = NULL; \ \ _data = _bz_debug_dispose_cb_data_new (); \ _data->type = G_OBJECT_TYPE (_object); \ _data->loc = G_STRLOC; \ _data->time = g_get_monotonic_time (); \ \ g_object_set_data_full ( \ G_OBJECT (_object), \ "BZ_DEBUG_PRINT_WHEN_DISPOSED", \ _bz_debug_dispose_cb_data_ref (_data), \ _bz_debug_dispose_cb_data_unref); \ } \ G_STMT_END �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-917017d/version.sh����������������������������������������������������������������0000775�0000000�0000000�00000001171�15234476640�0017312�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh INSTR="$1" VERSION=0.9.2 CACHE_VERSION=1 case "$INSTR" in get-version) echo "${VERSION}" ;; get-vcs) VCS_VERSION="$(git -C "$MESON_SOURCE_ROOT" describe --always --dirty)" if [ -n "$VCS_VERSION" ]; then echo "${VERSION} (vcs=${VCS_VERSION})" else echo "${VERSION}" fi ;; get-gh-release) TAG="v${VERSION}" echo "https://github.com/bazaar-org/bazaar/releases/tag/${TAG}" ;; get-cache) echo "${CACHE_VERSION}" ;; *) echo invalid arguments 1>&2 exit 1 ;; esac ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������